In the follwoing TCP/IP protocol stack table, I list all the protocols according to their functions in mapping to the OSI reference model.
OSI model Protocol Stack
Application Layer Protocols
The Bootstrap Protocol (BOOTP) is a networking protocol that configures a computer that is booted for the first time with following details.
- IP address
- net mask
- the address of a default router
- the address of a name server.
It get above details from Bootstrap Server. When a computer boots its operating system it broadcasts BOOTP messages onto the network to request an IP address from a BOOTP Server which is configure to assigns an IP address based on the request from a pool of addresses.
BOOTP server received request on UPD port no 67 and Client received response from server on UPD port no 68.
Dynamic Host Configuration Protocol (DHCP)
The Dynamic Host Configuration Protocol (DHCP) is a networking protocol that provides static and dynamic address allocation . DHCP server has a pool of available addresses. When a request arrives, DHCP server pulls out the next available address and assigns it to the client for a negotiable time period. A DHCP server enables computers to request IP addresses and networking parameters automatically, reducing the need for a network administrator or a user to configure these settings manually.
The DHCP server stores the configuration information in a database that includes:
- Valid IP addresses, maintained in a pool for assignment to clients, as well as excluded addresses.
- Reserved IP addresses associated with particular DHCP clients. This allows consistent assignment of a single IP address to a single DHCP client.
- The lease duration, or the length of time for which the IP address can be used before a lease renewal is required.
A DHCP-enabled client, upon accepting a lease offer, receives:
- A valid IP address for the subnet to which it is connecting with additional parameters such as gateway, dns, domain name.
Domain Name System (DNS)
The Domain Name System (DNS) is a a hierarchical naming system. DNS is used to resolve human-readable hostnames like www.example.com into machine-readable IP addresses like 126.96.36.199.
DNS has two independent aspects:
1. It specifies the name syntax and rules for delegating authority over names. The basic syntax is: local.group.site
2. It specifies the implementation of a distributed computing system that efficiently maps names to addresses.
In the DNS naming scheme, a decentralized and hierarchical mechanism is used by the delegating authority for parts of the namespace and distributing responsibility for mapping names and addresses. The naming scheme of DNS is used to assign network device names globally and is implemented by geographically distributed sets of severs to names to addresses.
File Transfer Protocol (FTP)
File Transfer Protocol (FTP) enables file sharing between hosts. FTP uses two communications channels between client and server: a command channel for controlling the conversation and a data channel for transmitting file content.
. The command channel uses an image of the TELNET protocol to exchange commands and messages between hosts.
The key functions of FTP are:
1) to promote sharing of files (computer programs and/or
2) to encourage indirect or implicit (via programs) use of
3) to shield a user from variations in file storage systems
among hosts; and
4) to transfer data reliably and efficiently.
FTP, though usable directly by a user at a terminal, is designed mainly for use by programs. FTP control frames are TELNET exchanges and can contain TELNET commands and option negotiation.
FTP users may authenticate themselves with a clear-text in the form of a username and password. But some server allow anonymously authentication means they can login without username and password. now a days. FTP uses SSL/TCL(FTPS) and Secure File Transfer Protocol(SFTP) for secure transfers of files.
Hypertext Transfer Protocol (HTTP)
Hypertext Transfer Protocol (HTTP) is an application layer protocol for transferring files like text, sound, images, video and other multimedia files on the World Wide Web. It is developed by Tim Berners-Lee in 1989 at CERN. HTTP is a stateless protocol. The communication usually takes place over TCP/IP, but any reliable transport can be used. The default port for TCP/IP is 80, but other ports can also be used.
HTTP work as client server model for example a client uses web browser for requesting some specific information from server and server returns a response message to the client. Information is exchanged between clients and servers in the form of Hypertext documents, from which HTTP gets its name. Hypertext is structured text that uses logical links, or hyperlinks, between nodes containing text. Hypertext documents can be manipulated using the Hypertext Markup Language (HTML). Using HTTP and HTML, clients can request different kinds of content (such as text, images, video, and application data) from web and application servers that host the content.
Secure Hypertext Transfer Protocol (S-HTTP)
Secure HTTP (S-HTTP) provides secure communication mechanisms between an HTTP client-server. It is a secure message-oriented communications protocol designed for use in conjunction with HTTP. It supports end-to-end secure transactions i.e Data will be not sent over the network in the clear text. S-HTTP provides full flexibility of cryptographic algorithms, modes and parameters. It support cryptography, digital signature and confidentiality.
S-HTTP provide three way to protect massage : signature, authentication, and encryption. Secure HTTP provides a means to verify message integrity and sender authenticity for a message via the computation of a Message Authentication Code (MAC), computed as a keyed hash over the document using a shared secret.
Internet Message Access Protocol (IMAP)
IMAP is a email protocol used to access e-mail messages directly on the server. IMAP clients actually create a "local store" so you can copying, moving, reading, and deleting messages, even when you aren't connected to the server/internet. When you connected with internet than IMAP client Synchronize with email server. An IMAP server listens on port number 143. IMAP over SSL (IMAPS) listens on port number 993.
The advantage of IMAP is that you can create multiple directories to store your email in, directly on the server. IMAP support multiple logins; this allows the end user to simultaneously connect to the email server with different devices like pc, mobile, ipad etc.
IMAP support authentication but with clear text. it means that anyone can steal a password by using protocol analyzer, but now a day's IMAP with SSL support is also popular.
IMAP was developed at Stanford University in 1986.