# The Internet Protocol¶

Warning

This chapter is work-in-progress and may contain vastly incomplete information.

The Internet Protocols (or short: IP) are what most of the Internet is currently running on. It has been specified as Internet Protocol version 4 (or short: IPv4) in RFC 791 in 1981 and re-newed as Internet Protocol version 6 (or short: IPv6) in RFC 2460 in 1998.

This section will only go into the very basics. If you want to know more details, for example about more advanced routing, I can recommend the great book [TIAIP]. I will only put down a few bullet points with respect to IP addresses.

• IPv4 addresses consist of 32 bits and look like this, for example: 127.0.0.1 (a loopback address), 10.190.239.10 (a site-local address from one of the three site-local subnets), 141.1.1.1 (a globally unique address).
• IPv6 addresess consist of 128 bits and look like this, for example: ::1 (the loopback address), fe80::1 (a link-local address), 2001:db8::1 (a globally unique address).
• IP addresses are split into subnets. A subnet or prefix is a consecutive range of IP addresses which has a size of a power of two. The prefix length is the number of leading bits in the IP address which consitute the subnet. For example, the address range 2001:db8::0 through 2001:db8::f (16 addresses in total) can be written as 2001:db8::/124: The first 124 bits are fixed and the last four bits are variable and thus constitute the addresses in the subnet. This works for both IPv4 and IPv6.
• A single address is equivalent to a subnet with a prefix length equal to the address length. For example 127.0.0.1/32 is equivalent to 127.0.0.1 and fe80::1/128 is equivalent to fe80::1.
• The Internet consists of many connected nodes, each having an IP address (either or both of IPv4 and IPv6).
• To reach node $$A$$ from node $$B$$, data usually travels over many other nodes (hops). Routers are nodes which decide where to send a packet based on the destination IP address (possibly among other criteria).
 [TIAIP] The Internet and its Protocols