IP is a connectionless protocol. As such, it doesn’t request acknowledgements for data sent. Instead, it relies on upper-layer protocols (like TCP) to handle reliability functions. IP addresses are probably something that you’re already familiar with. More likely than not, you’ve assigned an IP address to a computer for the purpose of connecting it to the Internet, your office, or something similar. An IP address is most often displayed in what is referred to as dotted-decimal notation, for example 172.16.0.1. IP addresses are made up of two main parts – the first uniquely identifies a network, and the second uniquely identifies a host on that network. Think of this as being similar to a street address. Your house (the host) has a unique address on your road (the network).
You may also be familiar with the fact that IP uses 32-bit addresses. But what does this mean? Simple, computers do just about everything in binary, representing information as a series of 0’s and 1’s. Since an IP address is 32 bits long, it can also be represented as a series of 32 1’s and 0’s. For example, the IP address 192.168.0.1 can also be represented as:
11000000 10101000 00000000 00000001
Don’t worry just yet about how those numbers are generated. By the time you get through Chapter 5, I promise it will seem like the easiest thing in the world.
You’re probably also familiar with something called a subnet mask. The purpose of a subnet mask is to define which portion of an IP address represents the network, and which portion represents the host. For example, if I have an IP address of 10.1.1.1 and a subnet mask of 255.0.0.0, it means that the first eight bits (referred to as the first octet) represent the network, while the last 24 bits represent a host. In this case, the network ID is 10, while the Host ID is 1.1.1. In Chapter 5 we’ll delve much further into how masks work and how they’re created. For now, it’s important that you simply understand that every IP address requires a subnet mask to be able to distinguish between the network and host portions.
Every IP network requires a unique network ID, and each host on a network requires a unique host ID. That should be simple enough for now – an IP address simply gives us information as to the network on which a unique host can be found.
In order to communicate with a host on a different network, communication requires the use of routing. IP is what is referred to as a routed or routable protocol. That simply means that if a network is configured correctly, a host on one network will be able to communicate with a host on another, with routers acting as intermediaries deciding where a packet should be sent next. We’ll take a look at routing protocols in detail in Chapter 8.