next up previous contents index
Next: IP addressing Up: The Internet Protocol Suite Previous: Basic Network Description

TCP/IP Protocol Suite Implementation Model


In the previous section, the TCP/IP protocol suite was discussed as if the protocol layers were just black boxes, e.g. LAN, IP, UPL (Upper Protocol Layers). Even when shown as part of a node. In a TCP/IP protocol suite implementation it is necessary to open up the black boxes and look inside.

The  protocol entities on a host as described previously are not the actual protocol handling functions that do the dirty work. E.g. the IP entity in an  implementation of the TCP/IP protocol suite consists of an IP  protocol handling function, an ICMPgif protocol handling function and an IGMP protocol handling functiongif. But only the IP protocol handling function provides the IP unreliable network service, ICMP and IGMP handling functions make use of this service for their own communication. In the IETF it is convention to place support protocols (e.g. ICMP, IGMP and ARP) in the same layer as the protocol used to transport them.

In this section, each layer and the TCP/IP protocol handling functions within it are discussed to show their functionality in the  TCP/IP suite of protocols.

Figure: TCP/IP protocol implementation model

In Figure gif an overview is given of the main protocols used in the TCP/IP protocol suite and the relations between them. The lines between the boxes indicate which protocols are used ``on the way out'' to the physical network. E.g. FTP uses TCP which uses IP which uses the Network interface which uses the network's physical medium. The path used by protocols involved in  multicasting are emphasized, because later the focus will be on those paths.

Network Interface Layer

In this layer, the TCP/IP protocol defines the first step in the  abstraction from the physical network. The  Address Resolution Protocol (ARP) and its counterpart  Reverse ARP (RARP) provide the conversion functions from IP to  LAN address and visa versa respectively. ARP and RARP are usually placed on this level, because each LAN has its own method of addressing hosts connected to it. Reverse ARP is used to help workstations with no local storage to get their IP address. This is not very relevant to the problem in this thesis, so this will not be discussed further.

ARP on the other hand is going to be very important as a basis to understand the resolution of multicast addresses. ARP will be discussed in more detail in Section gif.

Another property of this layer is that it defines some capabilities or services for the Internet Layer to use: Frame size, addressing capabilities (unicast, multicast, broadcast),  Quality of Service ( QoS) parameters, etc.

Internet Layer

The Internet Layer provides a similar service as the Network Interface Layer, but this time defined independent of the capabilities of the lower layer. That means that additional protocols might be needed at this level (or below this level; ARP is placed in the NI layer, because it is very specific to the IP protocol layer as well as the type of LAN used).

The  Internet Protocol provides a single  address space of 32 bits to higher layers. In section gif, a detailed description is given of the IP address space. The IP address space is completely independent of the LAN, thanks to the local address resolution provided by ARP.

No guarantees are provided for the delivery of packets; duplication in the network, packet-loss, corruption and out of order delivery of packets may occur. Any form of reliability must be provided by higher layers.

An important function of this layer is the  routing function of IP. Internetworks are typically connected in a maze like structure with routers as intermediate nodes and the physical networks between them (see also Figure gif in Section gif). When there is more than one unique route to chose from, the best route must be chosen for the  packets to reach the destination address.

Besides the Internet Protocol (IP), two additional support protocols are considered to be part of the Internet Protocol layer;   Internet Control Message Protocol ( ICMP) and  Internet Group Management Protocol ( IGMP). ICMP is used to exchange error messages and (traffic) control messages. IGMP is used to administrate subscriptions to  multicast host groups and exchanging membership information with multicast routers. A more detailed description of IGMP will be given when IP multicasting is explained in Chapter 3.

Transport Protocols

Two  Transport Protocols are defined in the TCP/IP protocol suite;  Transmission Control Protocol ( TCP) and  User Datagram Protocol ( UDP). TCP is the most complex protocol of the two, it offers a connection oriented, reliable FIFO (First In, First Out) data-stream transmission service. For unicast transmissions over a relatively short time period, TCP is ideal.

UDP offers only port numbers and an optional checksum in addition to IP's unreliable datagram service. This simplicity makes it necessary for applications using UDP services to perform their own checks and recovery solutions in case of errors (packet-loss, out of order delivery, etc.).

Application Protocols

Transport protocols only transport data without any structure, application protocols typically add structure to the stream of data. Usually  Application Protocols are integrated into real applications, causing the applications to be identified with the protocol. Examples of Application Protocols are the File Transfer Protocol (FTP), Telnet, Network File System (NFS), Service Message Block (SMB), etc.

next up previous contents index
Next: IP addressing Up: The Internet Protocol Suite Previous: Basic Network Description

Simon Oosthoek
Wed Jul 9 20:08:23 CEST 1997