Network Basics: TCP/IP Protocol Suite
TCP/IP, the protocol on which the Internet is built, is actually not a single protocol but rather an entire suite of related protocols. TCP is even older than Ethernet. It was first conceived in 1969 by the Department of Defense. Currently, the Internet Engineering Task Force, or IETF, manages the TCP/IP protocol suite.
The TCP/IP suite is based on a four-layer model of networking that is similar to the seven-layer OSI model. The following illustration shows how the TCP/IP model matches up with the OSI model and where some of the key TCP/IP protocols fit into the model.
As you can see, the lowest layer of the model, the Network Interface layer, corresponds to the OSI model’s Physical and Data Link layers. TCP/IP can run over a wide variety of Network Interface layer protocols, including Ethernet, as well as other protocols, such as Token Ring and FDDI (an older standard for fiber-optic networks).
The Application layer of the TCP/IP model corresponds to the upper three layers of the OSI model — that is, the Session, Presentation, and Application layers. Many protocols can be used at this level. A few of the most popular are HTTP, FTP, Telnet, SMTP, DNS, and SNMP.
IP, which stands for Internet Protocol, is a Network layer protocol that is responsible for delivering packets to network devices. The IP protocol uses logical IP addresses to refer to individual devices rather than physical (MAC) addresses. A protocol called ARP (for Address Resolution Protocol) handles the task of converting IP addresses to MAC addresses.
Because IP addresses consist of a network part and a host part, IP is a routable protocol. As a result, IP can forward a packet to another network if the host is not on the current network. (The ability to route packets across networks is where IP gets its name. An internet is a series of two or more connected TCP/IP networks that can be reached by routing.)
TCP, which stands for Transmission Control Protocol, is a connection-oriented Transport layer protocol. TCP lets a device reliably send a packet to another device on the same network or on a different network.
TCP ensures that each packet is delivered if at all possible. It does so by establishing a connection with the receiving device and then sending the packets. If a packet doesn’t arrive, TCP resends the packet. The connection is closed only after the packet has been successfully delivered or an unrecoverable error condition has occurred.
One key aspect of TCP is that it’s always used for one-to-one communications. In other words, TCP allows a single network device to exchange data with another single network device. TCP isn’t used to broadcast messages to multiple network recipients. Instead, the User Datagram Protocol (UDP) is used for that purpose.
Many well-known Application layer protocols rely on TCP. For example, when a web browser requests a page, the browser uses HTTP to send a request via TCP to the web server. When the web server receives the request, it uses HTTP to fulfill the request, again via TCP. Other Application layer protocols that use TCP include Telnet (for terminal emulation), FTP (for file exchange), and SMTP (for e-mail).