Podcast
Questions and Answers
What does a protocol specification typically define?
What does a protocol specification typically define?
Which of the following protocols is documented in RFC 2616?
Which of the following protocols is documented in RFC 2616?
What is the primary function of the GET method in HTTP?
What is the primary function of the GET method in HTTP?
What type of connection does HTTP support, where the server keeps the TCP connection open?
What type of connection does HTTP support, where the server keeps the TCP connection open?
Signup and view all the answers
What is the purpose of the HEAD method in HTTP?
What is the purpose of the HEAD method in HTTP?
Signup and view all the answers
What is the meaning of the 200 OK response code in HTTP?
What is the meaning of the 200 OK response code in HTTP?
Signup and view all the answers
Which of the following is an example of a proprietary protocol?
Which of the following is an example of a proprietary protocol?
Signup and view all the answers
What is the underlying transport protocol used by HTTP?
What is the underlying transport protocol used by HTTP?
Signup and view all the answers
What is the HTTP error code indicating that the server could not understand the request?
What is the HTTP error code indicating that the server could not understand the request?
Signup and view all the answers
What is the main purpose of First-party Cookies?
What is the main purpose of First-party Cookies?
Signup and view all the answers
What is the function of a Web Cache?
What is the function of a Web Cache?
Signup and view all the answers
What is the protocol used for transferring or sending emails through a server?
What is the protocol used for transferring or sending emails through a server?
Signup and view all the answers
What is the purpose of the Domain Name System (DNS)?
What is the purpose of the Domain Name System (DNS)?
Signup and view all the answers
What is the function of Host Aliasing?
What is the function of Host Aliasing?
Signup and view all the answers
What is the purpose of Top Level Domain (TLD) DNS Servers?
What is the purpose of Top Level Domain (TLD) DNS Servers?
Signup and view all the answers
What is the total number of Root DNS Servers?
What is the total number of Root DNS Servers?
Signup and view all the answers
What is the purpose of authoritative DNS servers?
What is the purpose of authoritative DNS servers?
Signup and view all the answers
What information does a DNS reply message contain?
What information does a DNS reply message contain?
Signup and view all the answers
What is the function of the TTL field in a resource record?
What is the function of the TTL field in a resource record?
Signup and view all the answers
What is the primary function of DHCP?
What is the primary function of DHCP?
Signup and view all the answers
What is the purpose of FTP?
What is the purpose of FTP?
Signup and view all the answers
What is the primary function of SMB?
What is the primary function of SMB?
Signup and view all the answers
What is the purpose of Content Distribution Networks (CDNs)?
What is the purpose of Content Distribution Networks (CDNs)?
Signup and view all the answers
What is DASH commonly used for?
What is DASH commonly used for?
Signup and view all the answers
What is the primary function of a server in a client-server architecture?
What is the primary function of a server in a client-server architecture?
Signup and view all the answers
What is the key difference between a client-server architecture and a peer-to-peer architecture?
What is the key difference between a client-server architecture and a peer-to-peer architecture?
Signup and view all the answers
What is the purpose of a port number in process communication?
What is the purpose of a port number in process communication?
Signup and view all the answers
What is the role of a socket in process communication?
What is the role of a socket in process communication?
Signup and view all the answers
What is the primary function of the application layer protocol?
What is the primary function of the application layer protocol?
Signup and view all the answers
What is a process in the context of network applications?
What is a process in the context of network applications?
Signup and view all the answers
What is required for a process on one host to send packets to a process on another host?
What is required for a process on one host to send packets to a process on another host?
Signup and view all the answers
What is the initiator of communication in a network application?
What is the initiator of communication in a network application?
Signup and view all the answers
Study Notes
Client-Server Model
- In a client-server architecture, there is an always-on host known as the Server, which handles requests from multiple other hosts known as Clients.
- Clients do not communicate directly with each other.
- The Server has a fixed address known as an IP address.
- Data centers are used to host many servers, as a single-server host might not handle all client requests.
Peer-to-Peer Architecture
- In a P2P architecture, there is little to no dependence on dedicated servers in data centers.
- The application relies on direct communication between intermittently connected hosts, known as Peers.
- It is called peer-to-peer because the peers communicate without the need for a dedicated server intermediary.
Processes
- A process can be thought of as a program running within an end system.
- Processes on the same end system communicate through inter-process communication.
- Processes on two different end systems communicate by exchanging messages across the computer network.
- A network application comprises pairs of processes exchanging messages over a network.
- In each pair, one process is the Client, while the other is the Server.
- The initiator of communication is labeled as the client, and the one waiting to be contacted to initiate the session is the server.
Process Communication
- For a process on one host to send packets to a process on another host, the receiving process must have an address.
- To identify the receiving process, two pieces of information are required: the address of the host (IP Address) and an identifier for the receiving process on the destination host (Port Number).
Sockets
- When two processes communicate by sending messages to each other, these messages are relayed through the underlying network.
- Each process interacts with the network via a software interface known as a Socket.
- This Socket, sometimes referred to as the Application Programming Interface (API), serves as the intermediary between the application layer and the transport layer of the network.
Application Layer Protocols
- The application layer protocol outlines how processes within applications, operating on different systems, communicate by exchanging messages.
- It specifies the types of messages exchanged, the syntax of the message, the semantics of the fields, and the rules for determining when and how a process sends messages and responds to messages.
- Some application layer protocols are documented in RFCs, making them open or publicly available.
- Some protocols are proprietary and intentionally not available in the public domain.
Web and HTTP
- HTTP (Hypertext Transfer Protocol) uses a web address or Uniform Resource Locator (URL) to reference web servers.
- On the client side, web browsers like Chrome or Firefox implement HTTP.
- On the server side, HTTP is implemented by web servers such as Apache and Microsoft Internet Information Server (MIIS).
- HTTP uses Transmission Control Protocol (TCP) as its underlying transport protocol.
- HTTP supports both non-persistent and persistent connections.
HTTP Request Messages
- GET method retrieves data from a web server.
- POST method sends data to the server.
- HEAD method is often used by app developers for debugging purposes.
- PUT method is often used alongside web publishing tools.
- DELETE method enables the removal of an object from a web server.
HTTP Response Messages
- 200 OK - Request successful; information returned in response.
- 301 Moved Permanently - Requested object permanently moved; new URL specified in Location header of response.
- 400 Bad Request - Generic error code indicating server could not understand request.
- 404 Not Found - Requested document does not exist on server.
- 505 HTTP Version Not Supported - Requested HTTP protocol version not supported by server.
HTTP Cookies
- Websites use Cookies to retain information about a user, particularly their browser, across transactions.
- Cookies store user state on a website between HTTP interactions.
- They track a user's browsing behavior for purposes like personalized advertising.
- First-party Cookies are created and used on a single domain.
- Third-party Cookies are created on one domain and shared across all third-party domains that use the same tracking code.
Web Caching
- A Web Cache, also known as a proxy server, is a network entity that satisfies HTTP requests on behalf of an origin Web server.
- It maintains its own disk storage, storing copies of recently requested objects.
- It functions as both a client and a server.
- Web Caching is used to improve user-perceived performance and decrease the load on both the origin server and institutional access links.
Email Application Protocols
- Email application protocols use the store-and-forward method for sending, storing, and retrieving electronic messages.
- Simple Mail Transfer Protocol (SMTP) is used for transferring or sending emails through the server.
- Post Office Protocol (POP) and Internet Message Access Protocol (IMAP) are used for retrieving, downloading, or synchronizing emails from the server.
DNS
- Domain Name System (DNS) is a directory service that translates hostnames to IP addresses.
- It operates as a distributed database implemented in a hierarchy of DNS servers.
- It is an application layer protocol that allows hosts to query the distributed database.
- DNS provides services such as Host Aliasing, Mail Server Aliasing, and Load Distribution.
DNS Servers
- There are three classes of DNS Servers: Root DNS Servers, Top Level Domain or TLD DNS Servers, and Authoritative DNS Servers.
- Root DNS Servers – there are 13 root DNS servers, labeled A to M, serving the DNS root zone, with hundreds of redundant root servers.
- Top Level Domain or TLD DNS Servers – these servers manage top-level domains such as .org, .com, .net, .edu, and .gov, and all the country top-level domains such as .ph, .kr, .uk, .us, etc.
- Authoritative DNS Servers – every organization with publicly accessible hosts on the Internet must provide publicly accessible DNS records that map the hostnames to IP addresses.
DNS Resource Records
- DNS servers implementing the distributed database store Resource Records (RRs), including mappings of hostnames to IP addresses.
- Each DNS reply message contains one or more resource records.
- An RR contains Name, Value, Type, and TTL fields.
- TTL, or Time to Live, of the resource record, specifies when a resource should be removed from a cache.
- Name and Value fields vary based on the Type of record.
Other Application Protocols
- Dynamic Host Configuration Protocol (DHCP) is known as the plug-and-play protocol due to its capability to automate network-related tasks when connecting a host to a network.
- File Transfer Protocol (FTP) is used for transferring files between local and remote file systems.
- Server Message Block (SMB) facilitates the sharing of access to files, printers, and other resources on a network.
- It serves as an inter-process communication mechanism.
Video Streaming and CDNs
- Dynamic, Adaptive Streaming over HTTP (DASH) is a streaming protocol that enables the delivery of multimedia content, such as videos, over the internet.
- Content Distribution Networks (CDNs) are networks of servers distributed across various locations to deliver web content to users.
Studying That Suits You
Use AI to generate personalized quizzes and flashcards to suit your learning preferences.
Description
Understand the difference between client-server and peer-to-peer architecture in computer networks, including the role of servers and clients.