Chapter 2 Flashcards
(87 cards)
What are networked applications?
Networked applications are software programs that run on different devices and communicate over a network using protocols.
What layer of the Internet protocol stack do networked applications operate at?
The application layer.
How do networked applications communicate?
They communicate by exchanging messages using application-layer protocols.
What is an API in the context of networked applications?
An Application Programming Interface (API) defines how software applications interact with the network.
What is the role of sockets in network communication?
A socket is an endpoint for sending and receiving messages between processes over a network.
How does a process send and receive messages in a networked application?
It uses sockets to send and receive data via transport-layer protocols like TCP or UDP.
What are the two main transport-layer protocols used by networked applications?
TCP (Transmission Control Protocol) and UDP (User Datagram Protocol).
What are the key differences between TCP and UDP?
TCP: Reliable, connection-oriented, ensures ordered and complete data delivery.
UDP: Unreliable, connectionless, faster but no guarantees on delivery.
What is a port number, and why is it important?
A port number identifies specific processes within a device, allowing multiple applications to use the network simultaneously.
What is the difference between a client and a server in a networked application?
Client: Initiates the communication (e.g., web browser).
Server: Waits for client requests and responds (e.g., web server).
What is the purpose of a socket API?
The socket API provides a programming interface for applications to use network communication without managing lower-layer details.
What are the steps involved in socket communication?
Create a socket
Bind to an address/port (server-side only)
Listen and accept connections (server-side only, for TCP)
Send and receive data
Close the socket.
What is an example of a well-known port number?
HTTP (Web) → Port 80
HTTPS (Secure Web) → Port 443
SMTP (Email) → Port 25
FTP (File Transfer) → Port 21.
What are the main types of application-layer protocols?
Request-response protocols (e.g., HTTP, DNS)
Persistent connection protocols (e.g., FTP)
Real-time streaming protocols (e.g., RTP).
Why do applications use high-level protocols instead of directly accessing the network?
High-level protocols abstract low-level details, providing a standardized and simplified way for applications to communicate over networks.
What are the four dimensions of transport services?
- Reliable Data Transfer
- Throughput Guarantees
- Timing Guarantees
- Security Services
What is reliable data transfer, and which applications require it?
Ensures that all data is delivered without errors, loss, or duplication.
- Required by: Email (SMTP), Web Browsing (HTTP), File Transfer (FTP)
What is throughput, and which applications depend on it?
The rate at which data is transferred over the network.
- Bandwidth-sensitive applications need minimum throughput (e.g., video streaming, VoIP)
- Elastic applications can adapt to varying throughput (e.g., email, file transfer).
What is timing, and which applications require it?
Ensures data is delivered within a specific delay constraint.
- Important for real-time applications like VoIP, online gaming, video conferencing.
What is security, and how do transport services support it?
Includes encryption, authentication, and integrity.
- Provided by TLS (used in HTTPS, secure email, VPNs, and banking apps).
Which transport services are provided by the Internet?
✔Reliable data transfer via TCP
✔ Connection-oriented communication (TCP)
✔ Best-effort delivery via UDP
Which transport services are NOT provided by the Internet?
✖ Guaranteed throughput
✖ Guaranteed timing (low delay/jitter)
✖ Built-in encryption (without TLS)
Which applications typically use TCP?
Web browsing (HTTP/HTTPS)
Email (SMTP, IMAP, POP3)
File transfers (FTP, SFTP)
Which applications typically use UDP?
:Applications prioritizing speed over reliability:
VoIP (Skype, Zoom)
Online gaming
DNS (Domain Name System)
Streaming video (YouTube, Netflix uses UDP for low-latency streaming)