Week 02 - Ch26 - Part02 PDF
Document Details
Uploaded by LustrousSeries2639
King Fahd University of Petroleum and Minerals
Tags
Summary
These slides cover Standard Client-Server Protocols, Web Caching, and Proxy Servers, part of the Fundamentals of Computer Networks course at King Fahd University of Petroleum & Minerals. The contents detail the roles of proxy servers, basic concepts of web caching, and the client-server model for data communication in a computer network.
Full Transcript
King Fahd University of Petroleum & Minerals College of Computer Science & Engineering Information & Computer Science Department ICS 343 Fundamentals of Computer Networks Standard Client-Server Protocols These slides are based on: Chapter...
King Fahd University of Petroleum & Minerals College of Computer Science & Engineering Information & Computer Science Department ICS 343 Fundamentals of Computer Networks Standard Client-Server Protocols These slides are based on: Chapter 26, Data Communications and Networking, 5th Edition Web Caching: Proxy Servers ◼ HTTP supports proxy servers. ◼ A proxy server is a computer that keeps copies of responses to recent requests. ◼ The HTTP client sends a request to the proxy server. ◼ The proxy server checks its cache: ◼ If the response is not stored in the cache, the proxy server sends the request to the corresponding server. ◼ Incoming responses are sent to the proxy server and stored for future requests from other clients. ◼ The proxy server reduces the load on the original server, decreases traffic, and improves latency. Figure 26.9: Example of a proxy server More about Web caching ◼ Cache acts as both client and server ◼ Typically, the cache is installed by ISP (university, company, residential ISP) Why Web caching? 1. Reduce response time for client request 2. Reduce traffic on an institution’s access link Outline ◼ Introduction ◼ 26.1 World-Wide Web (WWW) and HTTP ◼ 26.2 FTP ◼ 26.3 Electronic Mail ◼ 26.5 Secure Shell (SSH) ◼ 26.6 Domain Name System (DNS) File Transfer Protocol (FTP) ◼ Helps to transfer files from one host to another. ◼ Based on client-server architecture. ◼ The two connections in FTP: ◼ The control connection remains connected during the entire interactive FTP session. ◼ The data connection is opened and then closed for each file transfer activity. It opens each time when transferring of a file is involved, and it closes when the file is transferred. ◼ Why two connections? ◼ Separation of commands and data transfer makes FTP more efficient. ◼ The control connection uses very simple rules of communication. ◼ The data connection needs more complex rules due to the variety of data types transferred. ◼ FTP uses port 21 is used for the control connection, and port 20 is used for the data connection. FTP Control connection Data connection Control Communication ◼ Network Virtual Terminal (NVT) ASCII-based command sent over the control channel. ◼ Communication is achieved through commands and responses, one command (or response) at a time. FTP Commands Some Status Code in FTP Data Connection ◼ The data connection uses the well-known port 20 at the server site. ◼ The client, not the server, issues a passive open using a temporary port. ◼ Using the PORT command, the client sends this port number to the server. ◼ The server receives the port number and issues an active open using the well-known port 20 and the received temporary port number. Data Communication ◼ File Type ◼ ASCII ◼ EBCDIC ◼ Image ◼ Data Structure ◼ File ◼ Record ◼ Page ◼ Transmission Mode ◼ Stream ◼ Block ◼ Compressed Example 26.10 Security for FTP ◼ The FTP protocol was designed when security was not a big issue. ◼ Although FTP requires a password, the password is sent in plaintext (unencrypted), which means it can be intercepted and used by an attacker. ◼ The data transfer connection also transfers data in plaintext, which is insecure. ◼ To be secure, one can add a Secure Socket Layer(SSL) between the FTP application layer and the TCP layer. ◼ In this case FTP is called SSL-FTP. Outline ◼ Introduction ◼ 26.1 World-Wide Web (WWW) and HTTP ◼ 26.2 FTP ◼ 26.3 Electronic Mail ◼ 26.5 Secure Shell (SSH) ◼ 26.6 Domain Name System (DNS) Electronic Mail (e-mail) ◼ Electronic mail (or e-mail) allows users to exchange messages. ◼ The nature of this application is different from other applications discussed so far. ◼ This means that the idea of client/server programming should be implemented in another way: using some intermediate computers (servers). E-mail Architecture: Common Scenario 1 9 2 8 3 7 4 5 6 Postal Mail vs E-mail Email Address Protocols Used in E-mails ◼ Message Transfer Agent (MTA): ◼ The formal protocol that defines the MTA client and server on the Internet is called Simple Mail Transfer Protocol (SMTP). ◼ SMTP (Push protocol) uses commands and responses to transfer messages between an MTA client and an MTA server. SMTP Commands Responses ◼ Responses are sent from the server to the client. ◼ A response is a three-digit code that may be followed by additional textual information. Responses Example Protocols used in E-mail ◼ Message Access Agent (MAA): ◼ The third stage needs a pull protocol; the client must pull messages from the server. ◼ Post Office Protocol, version 3 (POP3) ◼ Internet Mail Access Protocol, version 4 (IMAP4). POP3 ◼ A simple but limited in functionality ◼ The client POP3 software is installed on the recipient computer ◼ The server POP3 software is installed on the mail server IMAP4 ◼ IMAP4 is more powerful and more complex. ◼ The user can check the e-mail header prior to downloading ◼ User can search the contents of the e-mail for a specific string of characters prior to downloading ◼ User can partially download the e-mail ◼ Users can create, delete, or rename mailboxes on the mail server ◼ User can create a hierarchy of mailboxes in a folder for e- mail storage MIME ◼ Multipurpose Internet Mail Extensions (MIME) ◼ It is a supplementary protocol that allows non-ASCII data to be sent through email. ◼ It transforms non-ASCII data to ASCII data and vice versa. ◼ A MIME header is added to the original email header section to define the message transformation parameters. Content-Transfer-Encoding Next Lecture ◼ Introduction ◼ 26.1 World-Wide Web (WWW) and HTTP ◼ 26.2 FTP ◼ 26.3 Electronic Mail ◼ 26.5 Secure Shell (SSH) ◼ 26.6 Domain Name System (DNS) Important to do at home : - Read chapter 26 of the textbook