Menu
Log in

Computer Engineering Concepts

9.7 The TCP/IP Protocol

TCP/IP (Transmission Control Protocol / Internet Protocol) is the operating protocol of the Internet. Though the Internet and the World Wide Web concept mushroomed in the nineties, IP has been in use since the mid-seventies when the US Advanced Research Projects Agency (ARPA) developed and used IP on their military and research network, known as the ARPANET. It is this network that over time evolved into what we know as the Internet.

The Internet Protocol (IP) is a layer 3 protocol and is capable of transmitting to and through different computing hardware. All that is necessary is that the various hardware equipment are loaded with the TCP/IP protocol software. The IP portion of the TCP/IP protocol suite ensures amongst other activities the following: fragmenting and reassembly of long packets, addressing, and packet delivery.

IP is said to be a connection-less protocol, meaning that it does not provide a reliable end-to-end service; or that it does not check to see if the information sent by one device is properly received by the destination device. For this reason, IP packets are referred to as datagrams, instead of calling it a packet. IP also does not perform any flow control or sequencing of packets. All of these seemingly missing activities are taken care of by the layer 4 TCP portion of the TCP/IP protocol suite.

IP Datagram

Transmission Control Protocol (TCP) is responsible, amongst other things to ensure that information sent by the source device is received by the destination device without any loss of information. This functionality is crucial as when a stream of IP datagram traverses a network through many intermediary IP devices, any intermediary device can discard datagrams as a result of congestion or excessive data traffic in the network. Without a protocol such as TCP monitoring the overall communications process between the source and destination device, data transmission would be a ‘shot in the dark’ type scenario.

The IP datagram has the data and several pieces of information for traveling through the various networks. The components of the IP datagram are shown in figure 9.26.

IP addressing

IP addresses are 32 bits long and are logical in nature; that is IP addresses are not permanently assigned to any piece of hardware, unlike the layer two MAC address described earlier. Furthermore, IP addresses are equally subdivided into 4 sections (4 octets) using the dotted decimal notation. Within an isolated network, one that is not connected to the Internet, IP addressing can be arbitrarily chosen by the user. But if the network is ever to be linked to the Internet, then the IP addressing scheme for the local networks must be obtained from the Network Information Center (NIC), which regulates the assignment of IP addresses. Regulation of IP addressing is essential to ensure that identical addresses are not used within the Internet. The following is an example of an IP address:

Decimal:             11.2.19.18

Binary:                00001011 00000010 00010011 00010010

IP addresses are divided into two parts, designating a network portion and a host portion.  The network portion describes a particular network within the internet, while the host portion points to a particular device on that particular network. We could, for example, assign the first octet to be the network portion and the next three to be the host portion. This would mean that the total number of networks in this network cloud would be in the range of 1.0.0.0 to 126.0.0.0 or 126 networks, while there could be as high as 16,194,277 hosts spread across the 126 networks. By allowing the first two octets to designate the network and the last two octets to designate the hosts, one can increase the number of networks and reduce the number of hosts spread across the networks. Several years back, the organization that regulates IP addressing subdivided the IP addresses in terms of classes A to F. With class A having the largest amount of hosts (i.e. having only the first octet to designate the network) and class C having the largest amount of networks and having only 254 hosts (i.e. having only the last octet to designate the hosts); with classes D,E, & F reserved for future and experimental use.

Dividing the IP addresses into the network portion and the host portion is done by means of the subnet mask. The subnet mask is what informs the device, in the binary language, how many bits of the IP address conveys information about the network, and how many bits convey information about the host. If for example the network mask was:

255.0.0.0 (11111111 00000000 00000000 00000000).

Then the network device would perform an ‘AND’ operation between the network mask and the IP address to determine what the network portion is. For example:

This AND operation done by the networking device (computer, routers, etc.) would give itself the understanding that, for example, a packet with the destination address of 11.2.19.18 should be delivered to the network 11.0.0.0. Once delivered to this network, the appropriate host on that network, in this case the host with the address 11.2.19.18, would then claim the packet.

Subnetworks

Instead of utilizing a large class A addressing space as one block, or in other words instead of having a large number of hosts on one network, it is desirable to logically subdivide a large network into smaller (fewer hosts) sub-networks. Sub netting, as this function is known, is done by designating several of the bits from the host’s portion to create sub-networks, or many smaller networks. By ‘borrowing’ bits from the host’s portion and creating sub-networks, you end up with many networks with a reduced number of hosts that can be accommodated on each network.

With the increase in popularity of the internet, authorities were concerned about running out of unique addresses to provide organizations. They realized that it was a ‘waste’ of addressing space to designate a whole class A addressing space to a company that would almost certainly not make use of all of the 16 million hosts. As well, with the many subnets that came to exist within organizations, routers that keep track of all of the networks in their routing tables were simply overwhelmed with the numerous amounts of routing information. It was then necessary to devise a plan to address these issues. The outcome of this was CIDR (Classless Inter Domain Routing).

Classless Inter Domain Routing (CIDR)

CIDR simply allows network operators to aggregate all of the networks that exist within their control, such as the various networks of an organization, and to ‘advertise’ in a concise way to the outside world routers as to the existence of the numerous subnets that exist within the organization. This reduces the number of entries or tracking of the various networks that exist in the Internet that external routers need to keep in their routing table, reducing the demands put on those core routers. CIDR also takes care of the short-term concerns about running out of IP addresses by allowing the IP addressing space to be used in a much more granular and less ‘wasteful’ way. With CIDR, IP addresses are denoted using the following notation, for example:

11.2.19.18/8

This means that the last 8 bits of the addressing space is designated for hosts and the first 24 bits are designated for the networks. Of course in the long run the existing version of IP (IP version 4) would almost certainly run out of addressing space, which is why a newer version of IP (IP version 6) was developed with a much larger addressing space. Though this version is currently available, much of the world still utilizes IP version 4.


9.7 Practice Questions

1.     What layer of the OSI model does the TCP/IP protocol set operate at?

2.     Describe the format of a TCP/IP packet.

3.     Explain how IP addressing is done.

4.     Explain how IP packets are transported over different types of networks?

5.     If IP packets take different path to the destination, then what happens if one packet is lost?



GlobalEduTech Solutions

Powered by Wild Apricot Membership Software