Podcast
Questions and Answers
What characteristic distinguishes TCP from UDP?
What characteristic distinguishes TCP from UDP?
Which type of data transfer is characterized as loss-tolerant?
Which type of data transfer is characterized as loss-tolerant?
Which type of service does TCP offer that is not provided by UDP?
Which type of service does TCP offer that is not provided by UDP?
In the context of Internet transport protocols, which application does not require loss tolerance?
In the context of Internet transport protocols, which application does not require loss tolerance?
Signup and view all the answers
Which characteristic is NOT provided by UDP?
Which characteristic is NOT provided by UDP?
Signup and view all the answers
Which HTTP method is typically used to retrieve data from a server?
Which HTTP method is typically used to retrieve data from a server?
Signup and view all the answers
In an HTTP response, what component is typically included to indicate the status of the request?
In an HTTP response, what component is typically included to indicate the status of the request?
Signup and view all the answers
Which of the following is NOT a characteristic of the HTTP protocol?
Which of the following is NOT a characteristic of the HTTP protocol?
Signup and view all the answers
Which application layer protocol is most commonly used for transferring files?
Which application layer protocol is most commonly used for transferring files?
Signup and view all the answers
What technique does HTTP utilize to display web objects requested by a client?
What technique does HTTP utilize to display web objects requested by a client?
Signup and view all the answers
Match the following network applications with their primary functionalities:
Match the following network applications with their primary functionalities:
Signup and view all the answers
Match the following application types with their transport service requirements:
Match the following application types with their transport service requirements:
Signup and view all the answers
Match the following streaming services with their content type:
Match the following streaming services with their content type:
Signup and view all the answers
Match the following applications with their tolerance to data loss:
Match the following applications with their tolerance to data loss:
Signup and view all the answers
Match the following network functions with their primary characteristics:
Match the following network functions with their primary characteristics:
Signup and view all the answers
TCP provides reliable transport while UDP provides unreliable transport.
TCP provides reliable transport while UDP provides unreliable transport.
Signup and view all the answers
Real-time audio and video transmission are considered loss-tolerant services.
Real-time audio and video transmission are considered loss-tolerant services.
Signup and view all the answers
The transmission of email requires a loss-tolerant service.
The transmission of email requires a loss-tolerant service.
Signup and view all the answers
UDP offers flow control and congestion control mechanisms.
UDP offers flow control and congestion control mechanisms.
Signup and view all the answers
Text messaging is an example of a service that can operate without loss.
Text messaging is an example of a service that can operate without loss.
Signup and view all the answers
Some applications, like ______, allow users to send both text and multimedia messages.
Some applications, like ______, allow users to send both text and multimedia messages.
Signup and view all the answers
Applications such as ______ rely on real-time video for communication.
Applications such as ______ rely on real-time video for communication.
Signup and view all the answers
P2P file sharing is a method that allows users to share files directly with one another over the ______.
P2P file sharing is a method that allows users to share files directly with one another over the ______.
Signup and view all the answers
Certain applications, like ______, require a minimum amount of throughput for effective use.
Certain applications, like ______, require a minimum amount of throughput for effective use.
Signup and view all the answers
Some apps, such as ______, can tolerate some loss of data during transmission.
Some apps, such as ______, can tolerate some loss of data during transmission.
Signup and view all the answers
Study Notes
Internet Transport Protocols Services
- TCP service: Reliable transport between sending and receiving processes. Features: flow control, congestion control. No timing, throughput guarantee, security or connection setup.
- UDP service: Unreliable data transfer between sending and receiving processes. Does not provide reliability, flow control, congestion control, timing, throughput guarantee, security, or connection setup.
Internet Transport Protocols Services
- Application layer protocols can use either TCP or UDP services, depending on the needs of the application.
- TCP is used for reliable data transfer, while UDP is used for unreliable data transfer.
Application Layer: Overview
- Network applications follow principles of networking such as the use of client-server, peer-to-peer, and content distribution networks.
- Applications use different layered protocols for communication, including TCP, UDP, and HTTP.
Web and HTTP
- A web page consists of web objects, which can be stored on different web servers. These objects can include files such as HTML, JPEG, Java applets, audio files, and more.
- Each object can be addressed using a URL, which includes the host name and path name.
HTTP Overview
- HTTP (Hypertext Transfer Protocol) is the application layer protocol used by the World Wide Web.
- HTTP uses a client/server model, where the client (web browser) requests web objects from the server (web server).
- The server sends the requested objects back to the client, using the HTTP protocol.
HTTP Overview (Continued)
- HTTP uses TCP for connection establishment and data transfer.
- HTTP is stateless, meaning that the server doesn't retain any information about past client requests.
- Many applications use HTTP, including social networking, e-mail, text messaging, Internet search, and many more.
What Transport Service Does An App Need?
- Different applications have different needs for data integrity, throughput, timing, and security.
- Some applications require 100% reliable data transfer, while others can tolerate some data loss.
- Some applications require a minimum amount of throughput to be effective, while others can make use of whatever throughput they get.
- Some applications require low delay, while others can tolerate higher delays.
- Some applications require security features such as encryption and data integrity.
Transport Service Requirements: Common Apps
- Different applications require different transport services based on their needs. These needs can be categorized by data loss, throughput, and time sensitivity.
Application Layer
- Network applications examples: Social networking, voice over IP (e.g., Skype), text messaging, real-time video conferencing, e-mail, Internet search, multi-user network games, remote login, streaming stored video (YouTube, Hulu, Netflix), P2P file sharing
Transport Service Requirements
- Data integrity is important for apps like file transfer and web transactions.
- Throughpt: Multimedia apps need high throughput to be effective.
- Timing is important for apps such as Internet telephony and interactive games.
- Security: Security features such as encryption and data integrity can improve user privacy.
Internet Transport Protocols
- File Transfer/Download: FTP (File Transfer Protocol) uses TCP
- E-mail: SMTP (Simple Mail Transfer Protocol) uses TCP
- Web Documents: HTTP (Hypertext Transfer Protocol) uses TCP
- Internet Telephony: SIP (Session Initiation Protocol) and RTP (Real-time Transport Protocol) can use TCP or UDP
- Streaming Audio/Video: Proprietary HTTP protocols or DASH (Dynamic Adaptive Streaming over HTTP) can use TCP or UDP
- Interactive Games: WOW, FPS, and other proprietary protocols can use TCP or UDP
Web and HTTP
- Web pages can be stored across different Web servers.
- Web pages consist of objects that can be HTML files, JPEG images, Java applets, audio files, etc.
- Web pages have a base HTML file that includes referenced objects which use URLs to identify them.
HTTP Overview
- HTTP stands for Hypertext Transfer Protocol.
- HTTP protocol operates in a client-server model.
- Client: sends requests to the server, receives objects, and displays them.
- Server: sends objects to the client in response to requests.
HTTP Methods
- GET: sends data to the server and includes user data in the URL.
- PUT: uploads a new file (object) and completely replaces the file at the specified URL.
- POST: uploads new content in the entity body of the HTTP request message.
HTTP Response Message
- Status line: contains the protocol, status code, and phrase.
- Header lines: including Date, Server, Last-Modified, ETag, Accept-Ranges, Content-Length, Keep-Alive, Connection, and Content-Type.
- Data: the requested object, e.g., an HTML file.
DNS: Distributed, Hierarchical Database
- DNS is responsible for translating hostnames to IP addresses.
- DNS is decentralized to avoid single points of failure and improve scalability.
- Root DNS servers are the top-level domain (TLD) servers that manage the entire DNS system.
- TLD servers are authoritative servers for specific top-level domains, such as .com, .org, .net, etc.
- Local DNS name servers are managed by ISPs, act as proxies, and cache recent name-to-address translations.
Iterated vs Recursive Queries
- Iterated query: the client is given a list of servers to contact to resolve a specific hostname.
- Recursive query: the client asks the server to resolve the entire query and return the answer.
Internet Transport Protocols Services
- TCP provides reliable data transfer with extra features such as flow control, congestion control, and connection setup. It guarantees the delivery of data packets.
- UDP sacrifices reliability and connection setup to prioritize speed. It prioritizes sending data packets quickly without guaranteeing their successful delivery.
- The choice between TCP and UDP depends on the application's needs.
Application Layer Protocols
- Application layer protocols build on top of transport protocols like TCP and UDP.
- Examples include FTP for file transfer, SMTP for email, HTTP for web documents, SIP for internet telephony, and proprietary protocols for streaming audio/video and interactive games.
Application Layer: Overview
- Application layer protocols are responsible for providing network applications like P2P, video streaming, and content distribution networks.
- The Domain Name System (DNS) maps human-readable hostnames (like example.com) to numerical IP addresses that computers understand.
Web and HTTP
- Web pages consist of objects, including HTML files, images, java applets, and audio files, each independently addressable by a URL.
- HTTP protocol facilitates communication between web browsers (clients) and web servers.
HTTP Overview
- HTTP uses TCP for secure and reliable data transfer.
- It follows a client-server model where clients request web objects, and the server responds with the requested data.
- HTTP is stateless, meaning that servers do not retain information about previous client requests.
HTTP Methods
- GET requests retrieve data from the server, sending query data within the URL.
- PUT requests upload new data to the server, replacing or updating existing files.
HTTP Response Status Codes
- Status codes indicate the outcome of the client's request.
- Examples include 200 (OK), 301 (Moved Permanently), 400 (Bad Request), 404 (Not Found), and 505 (HTTP Version Not Supported).
Maintaining User/Server State: Cookies
- Cookies store user preferences and session information, providing a stateful protocol despite HTTP's inherently stateless nature.
DNSSEC
- DNSSEC provides security features like authentication and message integrity to safeguard against DNS spoofing attacks.
- ICANN manages the root DNS domain.
TLD: Authoritative Servers
- Top-Level Domain (TLD) servers manage specific domain extensions like .com, .org, .net, .edu, and country code domains.
- Authoritative DNS servers are responsible for the hostname-to-IP mapping for organizations.
Local DNS Name Servers
- Each ISP has a local DNS server that acts as a proxy, forwarding requests to other servers in the hierarchy and storing recent translations in its cache.
DNS Name Resolution: Iterated Query
- Hosts send queries to their local DNS server, which iteratively contacts other servers until finding the authoritative server for the requested name.
- The requested server provides the IP address, and this information travels back through the query chain.
DNS Name Resolution: Recursive Query
- Hosts can request recursive resolution, where the contacted server takes on the responsibility of finding the correct IP address and returning it to the initial requester.
Network Apps
- Social networking, voice over IP, text messaging and real-time video conferencing are examples of network applications
- Other common apps include: email, internet search, multi-user games, remote login, streaming stored video, P2P file sharing
Application Transport Service Requirements
- Data integrity: Some apps require 100% reliable data transfer. Examples include file transfer and web transactions.
- Throughput: Some apps require a minimum amount of throughput to be effective. Examples include multimedia applications.
- Timing: Some applications require low delay to be effective. Examples include internet telephony and interactive games.
- Security: Apps often require encryption, data integrity, and other security measures to protect information.
HTTP Connections
- Non-persistent HTTP: A TCP connection opens for each object sent and closes after the transaction. This leads to more overhead and latency
- Persistent HTTP: A TCP connection is opened once and can be used to send multiple objects. This reduces overhead and latency.
Non-Persistent HTTP Example
- A client requests a webpage containing text and images from a server
- The client opens a TCP connection to the server
- The client sends an HTTP request message
- The server receives the request and sends a response including the web page
- The client receives the response, displays the web page, and may then request additional images by sending another HTTP request.
HTTP Response Message Codes
- 200 OK: The request succeeded and the object is included in the response message.
- 301 Moved Permanently: The requested object has moved and the new location is provided in the response.
- 400 Bad Request: The request message was not understood by the server.
- 404 Not Found: The requested document was not found on the server.
- 505 HTTP Version Not Supported: The server does not support the HTTP version used in the request message.
Maintaining User/Server State
- HTTP is a stateless protocol.
- Server-side websites maintain state using cookies, allowing them to keep track of user sessions and activities.
- Cookies are small pieces of information that a website stores on the user's computer to identify them and track their activity.
Cookies: Components
- Cookie header line of HTTP response message: This line contains the cookie information sent from the server to the client.
- Cookie header line in next HTTP request message: This line contains the cookie information sent from the client to the server.
- Cookie file kept on user’s host: This file stores cookies managed by the user’s browser.
DNS Services and Structure
- DNS is a distributed, hierarchical database that translates hostnames to IP addresses. It also provides other services like host aliasing and load distribution.
- DNS servers are organized in a hierarchical structure with root servers at the top, then top-level domain (TLD) servers, and finally authoritative servers for specific domains.
DNS Functionality
- When a client requests the IP address for a hostname, it queries the root server to find the TLD server
- The client then queries the TLD server to obtain the authoritative server for the domain
- Finally, the client queries the authoritative server to obtain the IP address associated with the requested hostname.
Root Name Servers Importance
- The root name servers are essential for the functioning of the internet.
- They provide the starting point for DNS resolution and act as contact points for name servers that cannot resolve names on their own.
Studying That Suits You
Use AI to generate personalized quizzes and flashcards to suit your learning preferences.
Related Documents
Description
This quiz covers the fundamental concepts of Internet transport protocols, specifically focusing on TCP and UDP services. It explains their characteristics, including reliability and application layer usage, as well as their role in network applications and web communications.