Network Protocols
This section gives a brief description of a few network protocols.
Internet Protocol (IP)
This is the most basic Internet protocol: All communication on the Internet is done using this protocol.
IP provides a connectionless and unreliable packet (data in a set of bytesdatagram)delivery service for higher-level protocols such as TCP, UDP, and ICMP. The service is connectionless because each IP datagram is independent of the other datagrams. It is unreliable because, although each IP datagram contains the source address and destination address, there is no mechanism by which the source can figure out if the data reached its destination or whether data was lost or corrupted. In addition, there is no mechanism for retransmission.
Transmission Control Protocol (TCP)
This protocol rides on top of IP. Most applications on the Internet use TCP, which, in turn, uses IP. TCP is a connection-oriented and reliable protocol.
It is connection-oriented because TCP breaks the datastream into separate datagrams and uses IP to transfer the datagrams, but it keeps track of the sequence of the datagrams using sequence numbers and puts them together at the destination in the same order. It is reliable because it keeps track of which datagrams have been sent and which have been received; datagrams that are lost or corrupted are retransmitted. TCP also provides the port number information on the destination machine.
User Datagram Protocol (UDP)
This protocol also rides on top of IP. It is connectionless and unreliable, but it provides the port number information on the destination machine along with the IP information. Lost or corrupted datagrams are not retransmitted.
Hypertext Transfer Protocol (HTTP)
This protocol rides on top of TCP, which, in turn, rides on top of IP.
This protocol is used by a Web browser (client) and a Web server to communicate the transfer of information on a "request from clientresponse from server" basis. This protocol defines the type of data to be transferred defined by the Multipurpose Internet Mail Extensions (MIME) type. A server listening on port 80 generally handles HTTP client requests.
The two common HTTP commands used by clients (Web browser) for requesting information from a Web server are GET and POST.
Simple Mail Transfer Protocol (SMTP)
This protocol rides on top of TCP, which, in turn, rides on top of IP.
This protocol is used by an email client to send messages both to an email Server and between servers to transfer messages. A server (program) listening on port 25 generally handles SMTP client requests. The common SMTP commands used by an email client to send messages to an email server are HELO, MAIL From, RCPT To, DATA, <Full Stop> (that is, .), and QUIT.