TCP/IP Protocols: Ibrahim I. Banat, Computer Science, AL-Hussein Bin Talal University, Maan-Jordan
TCP/IP Protocols: Ibrahim I. Banat, Computer Science, AL-Hussein Bin Talal University, Maan-Jordan
Introduction to TCP/IP
By definition, TCP/IP is a suite of protocols that allow any system to connect to any other system using any network topology. TCP/IP allows computers of different systems and architectures to communicate with one another without limitations. For example, your Dell PC at home running Windows XP can communicate with an IBM Unix Class Server in Bangalore running AIX UNIX using TCP/IP. Before the advent of the Internet, companies used a hierarchical system for their network communications (see Figure 1). This hierarchical system was a single large system, sometimes called a mainframe, which acted as a host in the network. Nodes, either dumb terminals or line printers, would connect to a device called a communications controller, which would act as the intermediary between the host and the nodes. The host would communicate through the communications controller, and the communications controller would relay the messages to the nodes.
Figure 1: The Hierarchical Network Architecture, a.k.a. the mainframe architecture (Hall, 3) In this illustration, the dumb terminals communicate through the communications controller. The communications controller actually communicates with the mainframe, or host, and relays the messages back to the dumb terminals.
The problem with this method is many of these systems used proprietary network architectures and protocols. For example, IBM and DEC, two leading mainframe computer manufacturers, use different architectures and protocols. All the equipment used in this architecture had to be from the same manufacturer. Plus, it was difficult to interact with other networks of different architectures. National defense required a need for sharing computer resources without boundaries. In 1969, ARPANET was created by the United States Defense Advanced Research Project Agency. In order for computer resources to be able to share information without boundaries, TCP/IP was launched in 1973 as a standard form of communication. As illustrated in Figure 2, TCP/IP allowed all devices to be treated as fully functional, selfaware network end-points, capable of communicating with any other device directly, without having to talk to a central host first (Hall, 4).
Figure 2: The Open Network Architecture with TCP/IP, a.k.a. the anarchical architecture (Hall, 4)
Use of TCP/IP
How is TCP/IP used today? It is used in two types of communication: Internet communication and Internetwork communication. Internet communication is communication throughout the global network of TCP/IP-based systems. Internetwork communication is communication within the Local Area Network (LAN) or Wide Area Network (WAN). Examples of Internet communication E-mail TCP/IP contains protocols to allow a node to send and receive e-mail. Web browsing TCP/IP protocols are used to allow a node to use a web browser to go to a particular web site. Sending and Receiving files TCP/IP protocols are used to allow a node to connect to a machine and either upload (send) files to the machine or download (receive) files from the machine. Examples of Internetwork communication Architecture-independent communication The LAN or WAN does not have to have the same manufacturers for all the devices, the same architecture, or the same operating systems on each device. By using TCP/IP, machines of different architectures, such as mainframes and personal computers, or machines running different operating systems, such as Windows and Linux, can communicate with one another.
How It Works
TCP/IP is actually a software-based suite of protocols that perform different types of communication, such as sending e-mail. Each protocol communicates on a port, which is an open line on which the particular traffic communicates. If a machine wants to act as a host, also known as a server, for a particular kind of communication, the server will have a port open that will allow any requests to connect to it. Figure 3 illustrates how client and server communication works in TCP/IP communication.
Figure 3: Simple Illustration of how TCP/IP communication works, using web browsing as an example.
TCP/IP Architecture
There are three layers in the TCP/IP Architecture model, which is displayed in Figure 4:
Figure 4: The TCP/IP Architecture Model.
Internet The Internet layer is responsible for tracking the addresses of devices on the network, determining how IP datagrams are to be delivered, and sending IP packets from one host
to another across a specific segment (Hall, 10). Example protocols in the TCP/IP suite that operate in the Internet layer is ICMP (Internet Control Message Protocol), which is a protocol for error-reporting, and ARP (Address Resolution Protocol), which is a protocol that builds address mappings whenever address conversion is required (Hall, 18). Transport The Transport layer is where the communication occurs. There are two protocols that are used for communication: TCP and UDP. TCP provides a highly monitored and reliable transport service, while UDP provides a simple transport with no error-correcting or flow-control services (Hall, 10). The terms used when describing TCP and UDP are connection and connectionless protocols. Connection, which is TCP, means that the destination computer has to acknowledge the sending computer before the sending computer can send the message. Connectionless, which is UDP, means that the sending computer can send the message regardless of whether the sending computer received an acknowledgement from the receiving computer or not. Application The application layer provides the end-user applications with access to the data being passed across the transport protocols (Hall, 11). These applications include: Simple Message Transfer Protocol (SMTP), a protocol that sends e-mail; Post Office Protocol 3 (POP3), a protocol that receives e-mail; Hypertext Transfer Protocol (HTTP), a protocol that allows computers to access data stored on a web server; and File Transfer Protocol (FTP), a protocol that allows computers to upload and download files to and from a server.
Network Layer ARP - Address Resolution Protocol enables the packaging of IP data into ethernet packages. It is the system and messaging protocol that is used to find the ethernet (hardware) address from a specific IP number. Without this protocol, the ethernet package could not be generated from the IP package, because the ethernet address could not be determined. IP - Internet Protocol. Except for ARP and RARP all protocols' data packets will be packaged into an IP data packet. IP provides the mechanism to use software to address and manage data packets being sent to computers. RARP - Reverse address resolution protocol is used to allow a computer without a local permanent data storage media to determine its IP address from its ethernet address.
Transport Layer TCP - A reliable connection oriented protocol used to control the management of application level services between computers. It is used for transport by some applications. UDP - An unreliable connection less protocol used to control the management of application level services between computers. It is used for transport by some applications which must provide their own reliability. ICMP - Internet control message protocol (ICMP) provides management and error reporting to help manage the process of sending data between computers. (Management). This protocol is used to report connection status back to computers that are trying to connect other computers. For example, it may report that a destination host is not reachable.
IGMP - Internet Group Management Protocol used to support multicasting. IGMP messages are used by multicast routers to track group memberships on each of its networks.
Application Layer FTP - File Transfer Protocol allows file transfer between two computers with login required. TFTP - Trivial File Transfer Protocol allows file transfer between two computers with no login required. It is limited, and is intended for diskless stations. NFS - Network File System is a protocol that allows UNIX and Linux systems remotely mount each other's file systems. SNMP - Simple Network Management Protocol is used to manage all types of network elements based on various data sent and received. SMTP - Simple Mail Transfer Protocol is used to transport mail. Simple Mail Transport Protocol is used on the internet, it is not a transport layer protocol but is an application layer protocol. HTTP - Hypertext Transfer Protocol is used to transport HTML pages from web servers to web browsers. The protocol used to communicate between web servers and web browser software clients. BOOTP - Bootstrap protocol is used to assign an IP address to diskless computers and tell it what server and file to load which will provide it with an operating system. DHCP - Dynamic host configuration protocol is a method of assigning and controlling the IP addresses of computers on a given network. It is a server based service that automatically assigns IP numbers when a computer boots. This way the IP address of a computer does not need to be assigned manually. This makes changing networks easier to manage. DHCP can perform all the functions of BOOTP. BGP - Border Gateway Protocol. When two systems are using BGP, they establish a TCP connection, then send each other their BGP routing tables. BGP uses distance vectoring. It detects failures by sending periodic keep alive messages to its neighbors every 30 seconds. It exchanges information about reachable networks with other BGP systems including the full path of systems that are between them. Described by RFC 1267, 1268, and 1497. EGP - Exterior Gateway Protocol is used between routers of different systems. IGP - Interior Gateway Protocol. The name used to describe the fact that each system on the internet can choose its own routing protocol. RIP and OSPF are interior gateway protocols. RIP - Routing Information Protocol is used to dynamically update router tables on WANs or the internet. A distance-vector algorithm is used to calculate the best route for a packet. RFC 1058, 1388 (RIP2). OSPF - Open Shortest Path First dynamic routing protocol. A link state protocol rather than a distance vector protocol. It tests the status of its link to each of its neighbors and sends the acquired information to them. POP3 - Post Office Protocol version 3 is used by clients to access an internet mail server to get mail. It is not a transport layer protocol. IMAP4 - Internet Mail Access Protocol version 4 is the replacement for POP3. Telnet is used to remotely open a session on another computer. It relies on TCP for transport and is defined by RFC854.
Bandwidth Control BAP - Bandwidth Allocation Protocol is a bandwidth control protocol for PPP connections. It works with BACP. BACP - Bandwidth Allocation Control Protocol.
TCP/IP by Function Packaging and Low Level IP - Internet Protocol. Except for ARP and RARP all protocols' data packets will be packaged into an IP data packet. IP provides the mechanism to use software to address and manage data packets being sent to computers. SLIP - Serial Line Internet Protocol. This protocol places data packets into data frames in preparation for transport across network hardware media. This protocol is used for sending data across serial lines. There is no error correction, addressing or packet identification. There is no authentication or negotiation capabilities with SLIP. SLIP will only support transport of IP packets. CSLIP - Compressed SLIP is essentially data compression of the SLIP protocol. It uses Van Jacobson compression to drastically reduce the overhead of packet overhead. This may also be used with PPP and called CPPP. PPP - Point to Point Protocol is a form of serial line data encapsulation that is an improvement over SLIP which provides serial bi-directional communication. It is much like SLIP but can support AppleTalk, IPX, TCP/IP, and NetBEUI along with TCP/IP which is supported by SLIP. It can negociate connection parameters such as speed along with the ability to support PAP and CHAP user authentication. Ethernet - Ethernet is not really called a protocol. There are also many types of ethernet. The most common ethernet which is used to control the handling of data at the lowest layer of the network model is 802.3 ethernet. 802.3 ethernet privides a means of encapsulating data frames to be sent between computers. It specifies how network data collisions are handled along with hardware addressing of network cards.
Transport and Basic Functions TCP - A reliable connection oriented protocol used to control the management of application level services between computers. It is used for transport by some applications. UDP - An unreliable connection less protocol used to control the management of application level services between computers. It is used for transport by some applications which must provide their own reliability.
Network Management SNMP - Simple Network Management Protocol is used to manage all types of network elements based on various data sent and received. ICMP - Internet control message protocol provides management and error reporting to help manage the process of sending data between computers. (Management). This protocol is used to report connection status back to computers that are trying to connect other computers. For example, it may report that a destination host is not reachable. This protocol is required for basic TCP/IP operations. ARP - Address Resolution Protocol enables the packaging of IP data into ethernet packages. It is the system and messaging protocol that is used to find the ethernet (hardware) address from a specific IP number. Without this protocol, the ethernet package could not be generated from the IP package, because the ethernet address could not be determined. protocol is used to report connection status back to computers that are trying to connect other computers. For example, it may report that a destination host is not reachable. This protocol is required for basic TCP/IP operations.
Host Management BOOTP - Bootstrap protocol is used to assign an IP address to diskless computers and tell it what server and file to load which will provide it with an operating system. DHCP - Dynamic host configuration protocol is a method of assigning and controlling the IP addresses of computers on a given network. It is a server based service that automatically assigns IP numbers when a computer boots. This way the IP address of a computer does not need to be assigned manually. This makes changing networks easier to manage. DHCP can perform all the functions of BOOTP. RARP - Reverse address resolution protocol is used to allow a computer without a local permanent data storage media to determine its IP address from its ethernet address.
Mail Protocols SMTP - Simple Mail Transfer Protocol is used to transport mail. Simple Mail Transport Protocol is used on the internet, it is not a transport layer protocol but is an application layer protocol. POP3 - Post Office Protocol version 3 is used by clients to access an internet mail server to get mail. It is not a transport layer protocol. IMAP4 - Internet Mail Access Protocol version 4 is the replacement for POP3.
Multicasting Protocols IGMP - Internet Group Management Protocol used to support multicasting. IGMP messages are used by multicast routers to track group memberships on each of its networks.
Routing Protocols BGP - Border Gateway Protocol. When two systems are using BGP, they establish a TCP connection, then send each other their BGP routing tables. BGP uses distance vectoring. It detects failures by sending periodic keep alive messages to its neighbors every 30 seconds. It exchanges information about reachable networks with other BGP systems including the full path of systems that are between them. Described by RFC 1267, 1268, and 1497 EGP - Exterior Gateway Protocol is used between routers of different systems. IGP - Interior Gateway Protocol. The name used to describe the fact that each system on the internet can choose its own routing protocol. RIP and OSPF are interior gateway protocols. RIP - Routing Information Protocol is used to dynamically update router tables on WANs or the internet. OSPF - Open Shortest Path First dynamic routing protocol. A link state protocol rather than a distance vector protocol. It tests the status of its link to each of its neighbors and sends the acquired information to them.
References
Hall, Eric (2000). Internet Core Protocols. Sebastopol, CA, USA: OReilly and Associates. Webopedia (2005). ARPANET. Retrieved 9 October 2005 from http://www.webopedia.com/TERM/A/ARPANET.html. http://www.comptechdoc.org/independent/networking/protocol/protnet.html