The Internet Protocol: Introduction to IPV4
We're finally at the very core of the Internet. This lesson contains an introduction to the Internet protocol!
The Internet Protocol (IP) is the network layer protocol of the TCP/IP protocol suite. The flexibility of IP and its ability to use various types of underlying data link layer technologies is one of its key advantages. The current version of IP is version 4 and is specified in RFC 791. We first describe this version and later touch upon IP version 6, which is expected to replace IP version 4 in the not so distant future.
IP Version 4
The design of IP version 4 was based on the following assumptions:
- IP should provide an unreliable connectionless service.
- IP operates with the datagram transmission mode
- IP hosts must have fixed size 32-bit addresses
- IP must be compatible with a variety of data link layers
- IP hosts should be able to exchange variable-length packets
IP Addresses
The addresses are an important part of any network layer protocol. IPv4 addresses are written as 32 bit numbers in dotted-decimal format, such as a sequence of four integers separated by dots. Dotted decimal is a format imposed upon the 32-bit numbers for relatively easier human readability. For example:
- 1.2.3.4 corresponds to 00000001000000100000001100000100
- 127.0.0.1 corresponds to 01111111000000000000000000000001
- 255.255.255.255 corresponds to 11111111111111111111111111111111
Multihoming
An IPv4 address is used to identify an interface on a router or an interface on a host. Recall network interfaces from the physical communication media chapter.
A router has thus as many IPv4 addresses as the number of interfaces that it has in the data link layer. Most hosts have a single data link layer interface and thus have a single IPv4 address. However, with the growth of wireless more and more hosts have several data link layer interfaces (for example, an Ethernet interface and a WiFi interface). These hosts are said to be multihomed. A multihomed host with two interfaces has thus two IPv4 addresses.
Address Assignment
Appropriate network layer address allocation is key to the efficiency and scalability of the Internet.
A naive allocation scheme would be to provide an IPv4 address to each host when the host is attached to the Internet on a first come, first served basis. With this solution, a host in Belgium could have address 2.3.4.5 while another host located in Africa would use address 2.3.4.6. Unfortunately, this would force all routers to maintain a specific route towards all Billion hosts on the Internet, which is not scalable. Hence, it’s important to minimize the number of routes that are stored on each router.
Subnetting
One solution is that routers should only maintain routes towards blocks of addresses and not towards individual hosts. For this, blocks of IP addresses are assigned to ISPs. The ISPs assign sub blocks of the assigned address space in a hierarchical manner. These sub blocks of IP addresses are called subnets.
A typical subnet groups all the hosts that are part of the same enterprise. An enterprise network is usually composed of several LANs interconnected by routers. A small block of addresses ...