The most common kind of these is just plain old global unicast.
As with IPv4 these addresses provide information about where a network is in the internet
and the addresses are organized like CIDR with the high order bits saying information about
the particular network.
Networks are arranged in a hierarchy so if the bit string x in an address is a prefix of y
and both x and y correspond to networks then y is a subnet of x.
Commonly distinguished levels of this hierarchy are: subscribers (nontransit AS's), providers (transit AS's) (which may be directly or indirectly connected to subscribers, and backbone networks.
Issues can occur when one subscriber is connected to one or more providers.
If there are two providers X and Y, one often has three separate network addresses one for subscribers of X only, one for subscribers of Y, and one for subscribers of X and Y.
Packet Format
The IPv6 packet format actually looks a little bit simpler than the IPv4 packet:
0
4
12
16
21 31
Version
TrafficClass
FlowLabel
PayloadLen
NextHeader
HopLimit
SourceAddress
DestinationAddress
Data
Packet Format Details
Version contains 6 as this is IPv6
Traffic Class and FlowLabel are related to QoS and will be discussed later in the semester.
PayloadLen is the length of the packet excluding the header.
NextHeader replaces the IP options and Protocol of IPv4. If options are required they are carried in one or more special headers called extension headers following the IP header; otherwise, NextHeader identifies the higher-level protocol running over IP. (e.g., TCP or UDP).
HopLimit corresponds to IPv4 TTL.
Autoconfiguration
Autoconfiguration, getting a IP address when a new host is added to an IPv4 network, requires using something like DHCP and having a DHCP server.
In IPv6 this can be done without having to have a separate server in a two step process:
Obtain an interface ID that is unique on the link to which the host is attached.
Obtain the correct prefix for the subnet.
The first step can be done by using the MAC address (which will be unique) and embedding it into the IPv6 address. i.e., prepend with 1111 1110 10 enough additional 0's.
Recall this would specify an IPv6 link local address (unique to the subnet).
Just this address would be sufficient for things like printers.
To get a global address if needed, the host assumes a router on the same link will periodically broadcast the network prefix, and then the host pads with 0's and adds its MAC address.
Advanced Routing Capabilities
One possible extension header that can be used with IPv6 is a routing header.
In the absence of a routing header, routing in IPv6 is much like that in IPv4.
The routing header contains a list of nodes or other topological areas that must be visited en route to the destination.
Thus, a host might say that it wants some packet to go through a provider that is cheap or through a provider that is known to be reliable, etc.
Quiz
Which of the following is true?
Subnetting and CIDR are the same thing.
In BGP, speakers often advertise complete paths to networks.
The Exterior Gateway Protocol is a more recent replacement for BGP
NAT
One technology which is being used to try to get around the problem of 4 byte IP addresses without having
to make as big a change as IPv6 is NAT (Network Address Translation).
The idea is that each company has a single IP address for internet
traffic.
Within the company each machine gets a unique IP address, which
can be used to route traffic within the companies network.
When a packet exits the company to go to an ISP, an address
translation takes place.
Three ranges of IP address are declared as private and no packets with
these addresses are allowed on the internet:
Recall (or know for the first time) in IP a 0 octet refers to the current network, and -1 (255) is used to
broadcast to all hosts, so not all of these addresses are usable.
More on NAT
When a packet is sent through a NAT box the internal
source IP address is converted to the companies IP address.
The source port address of the packet is replaced by a new
source port. The NAT box has a table consisting of entries
(internal IP, internal source port, external source port).
When a packet comes into the NAT Box from outside the
company the reverse conversion is done.
NAT has many problems: (1) each IP no longer
corresponds to a unique machine, (2) makes internet less
connectionless, (3) network and transport layer no longer
independent, (4) some apps insert the IP address into the
data and these will fail if NAT is used (for example, FTP).
Multicast
Sometimes we would like to send data to many but not all hosts on the internet (live concert, video conferences, etc)
In which case we would like to use multicast.
IP multicast is a many-to-many model based on the concept of multicast groups.
It is sometimes called Any Source Multicast (ASM).
Each such group has its own multicast address.
Any host can send to such an address. i.e., they don't have to be members of that group.
The IP packet is just labeled with destination as the multicast address.
Different implementation of IP multicast have been done.
The original implementation of IP multicast was supplemented by a form of one-to-many multicast called Source Specific Multicast (SSM).
In this, a receiving host would specify both a multicast group and a specific sending host.
A host signals its desire to join or leave multicast groups by communicating with its local router using
the Internet Group Management Protocol (IGMP) in IPv4 or Multicast Listener Discovery in IPv6.
Multicast Addresses
In both IPv4 (first octet begins with 224) and IPv6 (top byte 255) a portion of the address space is reserved for multicast addresses.
There are 28 bits of possible multicast addresses in IPv4
Ethernet multicast addresses have 23 bits when the shared prefix is ignored.
When mapping to Ethernet the high 5 bits are ignored. So there are 32 addresses which will map to the same Ethernet multicast address.
When a host on an Ethernet joins an IP multicast group, it configures its Ethernet interface to receive any packets with the corresponding Ethernet multicast address.
The IP at the receiving layer then determines if the packet was truely destined to the multicast group to which the host belonged.
Next day we will look at some different techniques for multicast routing.