The Internet Protocol (IP) is the network layer of the Internet’s architecture. Combined with the Transmission Control Protocol (TCP), and commonly known as TCP/IP, it has become synonymous with the Internet. The TCP part of the protocol suite takes data from applications, segments it, and then passes it to IP. IP then defines the datagrams and the method the Internet’s routers use to route the datagrams on their way to their destination. >
IP, therefore, contains the rules that govern:
IP is a connectionless protocol; it does not try to establish a connection with the destination computer before it sends a datagram and each datagram is processed independently. Because of this, IP can’t verify that the datagram was actually delivered and delivered correctly. So in this sense, IP is unreliable because it does not guarantee delivery.
IP also chooses the path on which data is sent and characterizes how hosts and routers should process packets, how and when error messages should be generated (but without error correction), and the conditions under which packets can be discarded.
The TCP part of the Internet protocol suite provides transport services to IP. TCP ensures delivery. This separation of services allows for development of each of the protocols independently of each other, making it easier to update and improve each protocol.
IP addresses are crucial to the workings of the Internet. It’s only by the addressing scheme that users on different networks, using any of the variety of hardware and software in use, can connect with each other. And it’s how the addressing scheme of IPv4 is structured that is driving the need for IPv6.
IP addresses identify individual interfaces and the networks to which they connect; they identify the connection, not the specific computer. IPv4 addresses use a 32-bit, dotted decimal notation for address identification.
The information packets that IP transmits must have a certain format, which IP defines in datagrams. The protocol specifies the format of the datagram, which contains the IP source and destination addresses in a header. The header also contains a protocol field, which identifies the contents of the datagram.
One important fact to remember: Datagrams contain the version of IP used to create the datagram. This can have a key role in any new version because the IP version must match the one the software expects. If not, the software can reject datagrams with an unexpected version number.
Routers can be considered the intermediaries in a network communication sequence. Sometimes called gateways, routers are the devices that interconnect two networks and deliver the packets, or datagrams, to the intended IP address. Routers base datagram delivery on the network address, rather than the host address, and rely on the network to pass the datagram on to the correct host.
IP routers on a TCP/IP internet cooperate with each other to ensure that the datagram reaches a router that can deliver the datagram directly. Routing information is contained in an IP routing table on each router; the tables contain the possible destinations and each hop to the next router needed to reach them. In this way, one router can send packets to another router, which then forwards them to the next router, and so on until a router that is connected to the desired network is reached.
Routers come into play when a datagram needs to be sent to a host that is not on the same network as the sending host. This is where the header information in an IP datagram has an important role. The sender compares the destination network address to the network portion of its own address and forwards the datagram to the router that can make the right connection.
These descriptions of addresses, datagrams, and routers are basic to IP and of themselves are not exactly responsible for the need to create a new IP version. It is the size and structure of IPv4 addresses that are causing the most concern.
The next section describes in greater detail the shortcomings of IPv4 and reveals the need for IPv6.