Wednesday, 28 September 2011

The TCP/IP Protocol Suite

The 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. For more on the history of TCP/IP, see the sidebar “The fascinating story of TCP/IP,” later in this chapter. 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. Figure 2-7 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
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
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 is not 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 user running 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 send the requested Web page back to the browser, again via TCP. Other Application layer protocols that use TCP include Telnet (for terminal emulation), FTP (for file exchange), and SMTP (for e-mail).



UDP
The User Datagram Protocol (or UDP) is a connectionless Transport layer protocol that is used when the overhead of a connection is not required. After UDP has placed a packet on the network (via the IP protocol), it forgets about it. UDP doesn’t guarantee that the packet actually arrives at its destination. Most applications that use UDP simply wait for any replies expected as a result of packets sent via UDP. If a reply doesn’t arrive within a certain period of time, the application either sends the packet again or gives up.
Probably the best known Application layer protocol that uses UDP is DNS, the Domain Name System. When an application needs to access a domain name such as www.wiley.com, DNS sends a UDP packet to a DNS server to look up the domain. When the server finds the domain, it returns the domain’s IP address in another UDP packet.



The IPX/SPX Protocol Suite
Although TCP/IP has quickly become the protocol of choice for most networks, plenty of networks still use an alternative protocol suite called IPX/SPX. Novell originally developed the IPX/SPX suite in the 1980s for use with their NetWare servers. IPX/SPX also works with all Microsoft operating systems, with OS/2, and even with UNIX and Linux. NetWare versions 5.0 and later fully support TCP/IP, so you don’t have to
use IPX/SPX with Novell networks unless the network has a server that runs NetWare 4.x or (heaven forbid) 3.x. If your network doesn’t have one of the older NetWare servers, you’re better off using TCP/IP instead of IPX/SPX. Here are a few other points to know about IPX/SPX: 

✦ IPX stands for Internetwork Package Exchange. It’s a Network layer protocol that’s analogous to IP.
✦ SPX stands for Sequenced Package Exchange. It’s a Transport layer protocol that’s analogous to TCP.
✦ Unlike TCP/IP, IPX/SPX is not a standard protocol established by a standards group, such as IEEE. Instead, IPX/SPX is a proprietary standard developed and owned by Novell. Both IPX and IPX/SPX are registered trademarks of Novell, which is why Microsoft’s versions of IPX/SPX aren’t called simply “IPX/SPX.”


No comments:

Post a Comment