Computer Engineering Concepts |
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
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
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? |