Network Protocols and Standards
A protocol is a set of rules that enables effective communications to occur. We encounter protocols every day. For example, when you pay for groceries with a check, the clerk first tells you how much the groceries cost.
You then write a check, providing information such as the date, the name of the grocery store, the amount written with numerals and spelled out, and your signature, and you give the check to the clerk.
The clerk accepts the check and asks to see your driver’s license. You show the clerk your driver’s license, and the clerk looks at it, looks at you, looks at your driver’s license again, writes the driver’s license number on the check, asks whether you’ve gained some weight since the picture was taken, and then accepts the check.
Here’s another example of an everyday protocol: making a phone call. You probably take most of the details of the phone calling protocol for granted, but it’s pretty complicated if you think about it:
- When you pick up a phone, you have to listen for a dial tone before dialing the number. If you don’t hear a dial tone, you know that either (1) someone else in your family is talking on the phone, or (2) something is wrong with your phone.
- When you hear the dial tone, you initiate the call by dialing the number of the party you want to reach. If the person you want to call is in the same area code as you, most of the time you simply dial that person’s sevendigit phone number. If the person is in a different area code, you dial a one, the three-digit area code, and the person’s seven-digit phone number.
- If you hear a series of long ringing tones, you wait until the other person answers the phone. If the phone rings a certain number of times with no answer, you hang up and try again later. If you hear a voice say, “Hello,” you can begin a conversation with the other party. If the person on the other end of the phone has never heard of you, you say, “Sorry, wrong number,” hang up, and try again.
- If you hear a voice that rambles on about how they’re not home but they want to return your call, you wait for a beep and leave a message.
- If you hear a series of short tones, you know the other person is talking to someone else on the phone. So you hang up and try again later.
- If you hear a sequence of three tones that increase in pitch, then a recorded voice that begins, “We’re sorry . . .” you know that the number you dialed is invalid. Either you dialed the number incorrectly, or the number has been disconnected.
I can go on and on, but I think you probably get the point. Exchanges such as writing checks or making phone calls follow the same rules every time they happen. Computer networks depend upon many different types of protocols in order to work. These protocols are very rigidly defined, and for good reason.
Network cards must know how to talk to other network cards in order to exchange information, operating systems must know how to talk to network cards in order to send and receive data on the network, and application programs must know how to talk to operating systems in order to know how to retrieve a file from a network server.
Protocols come in many different types. At the lowest level, protocols define exactly what type of electrical signal represents a one and what type of signal represents a zero. At the highest level, protocols allow a computer user in the United States to send an e-mail message to another computer user in New Zealand.
And in between are many other levels of protocols. Various protocols tend to be used together in matched sets called protocol suites. The two most popular protocol suites for networking are TCP/IP and IPX/SPX. TCP/IP was originally developed for UNIX networks and is the protocol of the Internet.
IPX/SPX was originally developed for NetWare networks and is still widely used for Windows networks. A third important protocol is Ethernet, a low-level protocol that’s used with both TCP/IP and IPX/SPX.
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.
Microsoft’s version of the IPX/SPX protocol goes by different names, depending on which version of Windows you’re using. You may see it called NWLink, IPX/SPX Compatible Protocol, or NWLINK IPX/SPX/NetBIOS Compatible Transport Protocol.
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.”
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.
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 below 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, 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. (Actually, the process is much more complicated than that)
Other Network Protocols
Other networks besides Ethernet, TCP/IP, and IPX/SPX are worth knowing about:
- NetBIOS: Short for Network Basic Input Output System, this is the basic application-programming interface for network services on Windows computers. It is installed automatically when you install TCP/IP, but doesn’t show up as a separate protocol when you view the network connection properties. NetBIOS is a Session layer protocol that can work with Transport layer protocols such as TCP, SPX, or NetBEUI.
- NetBEUI: Short for Network BIOS Extended User Interface, this is a Transport layer protocol that was designed for early IBM and Microsoft networks. NetBEUI is now considered obsolete.
- AppleTalk: Apple computers have their own suite of network protocols known as AppleTalk. The AppleTalk suite includes a Physical and Data Link layer protocol called LocalTalk, but can also work with standard lower level protocols, including Ethernet and Token Ring.
- SNA: Systems Network Architecture is an IBM networking architecture that dates back to the 1970s, when mainframe computers roamed the earth and PCs had barely emerged from the primordial computer soup. SNA was designed primarily to support huge terminals such as airline reservation and banking systems, with tens of thousands of terminals attached to central host computers.
Now that IBM mainframes support TCP/IP and terminal systems have all but vanished, SNA is beginning to fade away. Still, many networks that incorporate mainframe computers have to contend with SNA.
Network Standards
A standard is an agreed-upon definition of a protocol. In the early days of computer networking, each computer manufacturer developed its own networking protocols. As a result, you weren’t able to easily mix equipment from different manufacturers on a single network. Then along came standards to save the day.
Standards are industry-wide protocol definitions that are not tied to a particular manufacturer. With standard protocols, you can mix and match equipment from different vendors. As long as the equipment implements the standard protocols, it should be able to coexist on the same network.
Many organizations are involved in setting standards for networking. The five most important organizations are
- American National Standards Institute (ANSI): The official standards organization in the United States. ANSI is pronounced An-See.
- Institute of Electrical and Electronics Engineers (IEEE): An international organization that publishes several key networking standards; in particular, the official standard for the Ethernet networking system (known officially as IEEE 802.3). IEEE is pronounced Eye-triple-E.
- International Organization for Standardization (ISO): A federation of more than 100 standards organizations from throughout the world. If I had studied French in high school, I’d probably understand why the acronym for International Organization for Standardization is ISO, and not IOS.
- Internet Engineering Task Force (IETF): The organization responsible for the protocols that drive the Internet.
- World Wide Web Consortium (W3C): An international organization that handles the development of standards for the World Wide Web.