rotocol exist: IPv4 [3] and IPv6 [4]. At the time of writing, IPv4 is much more widely spread and used. IPv6 is a newer, upcoming protocol version which the world is transitioning towards. As you may have realised from this book's title and the number of pages we have been able to write, this transition is not quite straightforward. However, despite a few differences, the functionality of the two IP versions is very similar and in parts, the same. Therefore, the overview that this chapter gives to IP is applicable to the both versions. The Internet Protocol has two parts: the header and the payload. The header consists of fixed length binary fields that show, among other information, where the packet has Introduction Version Type of Service Total Length Identification Flags Fragment Offset Time to Live Protocol Header Checksum Source Address Destination Address Options Padding Version Traffic Class Flow Label Payload Length Next Header Hop Limit Source Address Destination Address Figure 1.2 IPv4 header [3] and IPv6 header [4]. come from (source address), where it is going to (destination address), and what is in the payload - or better put, what is the upper layer protocol. The payload can be the transport layer protocol, and the protocols and data above it, or even an IP packet. The IPv4 and IPv6 headers are depicted in Figure 1.2. IP provides an unreliable packet delivery service. Basically the main part of the service is addressing - the capability to tell where a packet should be delivered. In addition to the packet delivery, IP also performs other tasks. For instance it includes a Time To Live (TTL) field, which provides the mechanism to make sure that packets are removed from the network if they do not reach their destination due to, for instance, a loop in the net- work. Practically, this is achieved by decrementing the TTL at every hop in the network. When the TTL reaches zero the packet is discarded. There is also a simple per packet pri- oritization mechanism (Type of Service or Quality of Service). Eve