|Introduction. Littlejohn Shinder's
develops an analogy comparing a
Network protocols are a set of rules or the logic of how a network operates. There are many different types of network protocols and they operate at different levels of the OSI Reference Model. The three protocols we quickly survey in this webpage are the following.
These are the three most standard protocol stacks used to support networking. They each have advantages and disadvantages.
NetBEUI. NetBIOS was developed by IBM and adopted by Microsoft for early LAN communications. This was the overall acronym used to denote both the API - Application Programming Interface and the network transport layer protocol.
Since then these two main functions were split into NetBIOS to refer to the API and NetBEUI to refer to the network/transport layer protocols.
NetBEUI is the simplest of the three protocol systems. Its simplicity contributes to its performance in terms of speed, but it also limits its range of functionality. Because NetBEUI doesn't contain a logical addressing scheme it cannot be used for routing from one network to another. But it works quite well within a single LAN and it is easy to set up. It can also be used in conjunction with a routable protocol if desired.
IPX/SPX. IPX works in conjunction with SPX to provide a routable network protocol. IPX operates at the network layer of the OSI Reference Model and is connectionless. SPX operates at the transport layer and provides for acknowledgements, reassembly of packets and other connection oriented activities.
Novell developed IPX/SPX to work with their NetWare servers and clients. It can also be used with other operating systems such ass Microsoft Windows. Microsoft includes an IPX/SPX compatible protocol stack called NWLink in its Windows releases, though it isn't installed by default.
Sometimes, IPX/SPX is used for internal LAN communications to increase security. Computers from outside the LAN which access it via TCP/IP cannot access computers in the LAN running IPX/SPX.
IPX operates at the network layer and is responsible for addressing and routing in order to get messages to their correct destinations. In order for protocols to be routable they must provide a means for identifying the network on which the computer resides. IPX uses a hexadecimal network number to identify the network and is assigned by the administrator.
An IPX address contains two parts, the network number and the node number. The node number identifies the specific device and is based on the MAC address. On networks that run both TCP/IP and IPX/SPX the network numbers are often developed by simply converting the IP addresses to hexadecimal.
IPX uses SAP - Service Advertising Protocol to disseminate the addresses of its network services. Each service, such a a file server, is assigned an SAP identifier. These identifiers are broadcast every 60 seconds. Routers and switches keep tables that track these identifiers and update them with each broadcast. Unfortunately, this does consume some network bandwidth as overhead. Fortunately, these identifiers are seldom broadcast across routers, though routers can be configured to share such information.
SPX operates at the transport layer and is connection oriented. This makes SPX more reliable, which is important since it handles things such as acknowledgements and error checking.
IPX gets the packets to its destination. SPX focuses on whether the packets arrive complete and in good condition. SPX handles sequencing and the number of packets transmitted. SPX guarantees delivery by verifying receipt of the data.
TCP/IP. TCP/IP is the foundation of Internet communications. It is actually much more than just TCP and IP encompassing a complete set of protocols to work with all of the layers of the OSI Reference Model.
IP operates at the network layer of the OSI Reference Model. Each device on every network on the Internet must have a unique identifying IP address. We will say much more about IP addressing in the next webpage.
TCP is the usual transport layer protocol. It is responsible for ensuring successful end to end communications. This is accomplished using things such as acknowledgements to verify that packets have arrived intact. Transport layer protocols are also used to differentiate between messages and how packets should be reassembled into the appropriate message. It usually makes use of ports to keep these messages separate.
But in reality, TCP has two different transport layer protocols, TCP - Transmission Control Protocol and UDP - User Datagram Protocol. TCP is connection oriented, while UDP is connectionless. Which is used when is an important issue to consider.
TCP is used to establish a session between sender and receiver before sending data. Acknowledgements and responses are used to establish the session. Error checking is performed. Sequencing information is also sent at this layer which also allows the receiving device to determine if packets are missing. TCP is thus more reliable than UDP, but at the cost of some extra overhead.
UDP is used when such verifying interactions are much less important, for example with some system overhead communications. Since it doesn't even transmit sequencing information it is appropriate only for messages that are small enough to be contained in one packet. It is also the case that UDP doesn't keep track of what has been sent. UDP does make use of a check sum to help ensure the original data is intact. It also makes use of port number to differentiate messages.
Because of these things UDP is faster and its header is less complex, but it is only used in very specialized instances.