TCP/IP Internet Layer Protocols Since TCP/IP is a suite of protocols, each layer of the TCP/IP stack has various protocols associated with that specific layer. The Internet Layer is responsible for the addressing and routing of the information on the network topology. There are five basic protocols for the Internet Layer: Internet Protocol (IP) Internet Protocol Security (IPSec) Internet Control Message Protocol (ICMP) Explicit Congestion Notification (ECN) Internet Group Management Protocol (IGMP) Let’s look at each of these protocols in a little more detail. Internet Protocol (IP) The IP Protocol is the major protocol of the TCP/IP suite. The Internet Layer of the TCP/IP Stack encapsulates the data (datagram). Included in the encapsulation part of the Header is the IP Address of the source and destination host. Other metadata is included for routing purposes such as the Time-To-Live (TTL). NOTE: The TTL is a counter which is decremented by one at each routing device. If the information is queued in a router longer than a second, the TTL can be decremented by the number of seconds in the queue. The TTL is a necessary part of the IP Header. When a counter reaches zero the encapsulated data is discarded and an error message is returned to the sender that the information was undeliverable. If the TTL values were not used, data could bounce around the Internet causing congestion or a loss of bandwidth. The IP Addressing is responsible for routing by using Netmasking and CIDR. IP by itself is a connectionless protocol. A connectionless protocol is one which sends data to a host, but requires no verification of receipt. TCP, or Transmission Control Protocol, is a connection based protocol which does require receipt. IP is commonly used for multicast purposes which are covered later in the article under the “Internet Group Management Protocol (IGMP)” section. Internet Protocol Security (IPSec) IPSec is a security protocol used to create secure connections over a TCP/IP network, even the Internet. IPSec manages authentication and encryption of data between two hosts. Since IPSec operates at the Internet Layer, upper layer applications and protocols do not need to be specifically written to use IPSec. IPSec handles all the connections and the data stream between hosts, so the application does not need to know any specifics. As far as the application or protocol is concerned, the connection is a standard connection between two hosts. Once the data is sent or received by the Internet Layer, the data is encrypted/decrypted before the data is passed to the upper layers and used by the application/protocol. IPSec is used for lower layer tunneling such as Layer 2 Tunneling Protocol (L2TP) in the TCP/IP Network Layer Protocols. Internet Control Message Protocol (ICMP) ICMP is used to send messages between hosts. Most ICMP messages are error messages such as when a TTL reaches zero and is considered undeliverable. Another message example is a Source Quench. This message means that the receiving host is being overloaded with frames and is asking the sending host to reduce the number of frames being sent. The Source Quench is a reason that data transfers are sent at varying speeds and most transfers are not a constant speed. Explicit Congestion Notification (ECN) Networks can become overloaded and bandwidth reduced at times. For hosts which support ECN, a message can be sent to a transmitting host that the network is becoming congested. When this occurs the sending host can reduce transmission rates so the network does not become fully congested. When bandwidth becomes too low frames can be dropped to alleviate the bandwidth shortage. ECN prepares the sending/receiving hosts that the rate needs to decrease or frames will be lost. An ECN message may be sent by the receiving host, or any router between the endpoint hosts. If ECN were not enabled, the sending host would receive an ICMP message that the packet was undeliverable. In this case, the transmitting host may slow down the transmission rate, but it may not until enough messages are received by the host. With ECN, bandwidth can be managed better on a network when congestion occurs. ECN provides that fewer frames are dropped or retransmitted by alerting hosts to congestion. Internet Group Management Protocol (IGMP) The Internet provides multicast abilities such as with streaming video or audio. For example, a server streams audio such as Internet radio broadcasts. Listeners at various locations can “tune in” and listen to the broadcast. The problem here can arise that not every TCP/IP network in the world has a listener on it. This means that the broadcast does not need to be forwarded to each host on the Internet causing congestion and bandwidth loss. The basic way it works is that a “listener” sets up their application, usually a browser, to accept the broadcast. When the broadcast is accepted, then the host IP Address is part of the Broadcast Group. When the group membership is accepted each host (router) between the “listener” and the “broadcaster” is set up to allow the multicast to pass through to the “listener”. IGMP then allows the multicasts to only pass through routers to active listeners to prevent a loss of bandwidth by allowing the multicast everywhere. ------------------------------------------------------------------------------------------------------ TCP/IP is a suite that is made up of many protocols which not only accounts for transmission and receiving of frames, but control of the transmissions themselves. TCP/IP manages itself to reduce problems that may occur on a network or on the Internet. It should be apparent why TCP/IP is used by the Internet and how the Internet can function as well as it does.