Socket Programming with TCP

A process sends messages into, and receives messages from, the network through a software interface called a socket. We said that each process was analogous to a house and the process’s socket is analogous to a door. As show in figure, the socket is the door between the application process and TCP. The application developer has…

P2P Internet Telephony with Skype

Skype is an immensely popular P2P application, often with seven or eight million users connected to it at any one time. In addition to providing PC-to-PC Internet telephony service, Skype offers PC-to-phone telephony service, phone-to-PC telephony service, and PC-to-PC video conferencing service.   Skype uses P2P techniques in a number of innovative ways, nicely illustrating…

DNS—The Internet’s Directory Service

The Domain Name System (DNS) is a hierarchical and decentralized naming system for computers, services, or other resources connected to the Internet or a private network. It associates various information with domain names assigned to each of the participating entities. Most prominently, it translates more readily memorized domain names to the numerical IP addresses needed…

Simple Mail Transfer Protocol

Simple Mail Transfer Protocol (SMTP) is the principal application-layer protocol for Internet electronic mail. It uses the reliable data transfer service of TCP to transfer mail from the sender’s mail server to the recipient’s mail server. Simple Mail Transfer Protocol As with most application-layer protocols, SMTP has two sides: a client side, which executes on…

File Transfer Protocol

The File Transfer Protocol (FTP) is a standard network protocol used for the transfer of computer files between a client and server on a computer network. File Transfer Protocol   As shown in Figure, the user interacts with FTP through an FTP user agent. The user first provides the hostname of the remote host, causing…

Hyper Text Transfer Protocol

The HyperText Transfer Protocol (HTTP), the Web’s application-layer protocol, is at the heart of the Web. HTTP defines how Web clients request Web pages from Web servers and how servers transfer Web pages to clients. When a user requests a Web page (for example, clicks on a hyperlink), the browser sends HTTP request messages for…

Principles of Network Applications

The application layer is where network applications and their application-layer protocols reside. The Internet’s application layer includes many protocols, such as the HTTP protocol (which provides for Web document request and transfer), SMTP (which provides for the transfer of e-mail messages), and FTP (which provides for the transfer of files between two end systems). We’ll…