for a single link is the norm, regardless of how many nodes are in that subnet. In IPv6, it is important not to count single addresses anymore, but count prefixes of /64 per link. This is quite a different philosophy from IPv4, and may be unintuitive for many. While in IPv4 the address policy was driven by conservation, in IPv6 the driver is network and numbering simplicity, with additional security considerations, as we will discuss in Chapter 3. 1.5 Transport Protocols As described previously, the IP provides unreliable packet delivery over the IP network, such as the Internet. The only multiplexing between two end points that it provides is the Introduction distinction between the different protocols it is carrying. Thus, anything else has to be provided by the upper-layer protocols. These protocols are called transport protocols, as their job is to transport the actual application payload end-to-end. The two most impor- tant transport protocols used today are User Datagram Protocol (UDP) [18] and TCP [5]. Generally, the transport protocols are IP-address family agnostic. Thus, the same protocols can be used with IPv4 and with IPv6. Of course, in practice transport protocols themselves need to be able to work with different network layers, as we shall see in Chapter 3. We will try to give a short overview of these transport protocols in this section. 1.5.1 User Datagram Protocol UDP is a very simple protocol. It only provides two services: service and connection multiplexing, and a checksum for the receiving end point to check if bit-errors have been introduced during transport. The multiplexing is done by port number fields in the UDP header - the source and the destination ports. The quintuple - source address, destination address, and protocol number in the IP header - and the source and destination port numbers in the UDP header uniquely identify the connection for the end-host. UDP does not guarantee that the packets are transported in order, or actually even that they are received by the other end at all