Notes On Chapter Twenty-Four
-- The Future IP (IPv6)
24.1 Introduction
Future of the Internet Protocol
Strengths and Limitations of IPv4
Features of IPv6
24.2 The Success of IP
IPv4 has been quite successful - surviving considerable evolutionary
change in hardware technology and network organization.
24.3 The Motivation for Change
The primary motivation for IPv6 is the perception that there are
not enough 32-bit addresses to accommodate Internet growth.
Other desires:
Ways to assure low jitter for real-time audio and video (e.g.
avoidance of route changes).
Anycast - e.g. connect me to the nearest server
Multicast and dynamic multicast group support
24.4 The Hourglass Model and Difficulty of Change
Refer to Figure 24.1 on page 407.
Although scarcity of addresses was considered a near-emergency in
1993 when work began on IPv6, the Internet is still mostly operating
with IPv4.
If IP changes, much about the Internet will have to change with it.
24.5 A Name and a Version Number
IPv4 is the "old" IP
IPv6 is the "new" IP
24.6 IPv6 Features
Connectionless like IPv4
Has max hops field
Address Size is 128 bits
Header Format is quite different
Extension Headers: Datagram consists of base header, followed
by zero or more extension headers, followed by data.
Support for Real-Time Traffic: IPv6 provides a mechanism for
sender and receiver to establish a "high-quality" path and associate
datagrams with that path.
Extensible Protocol
24.7 IPv6 Datagram Format
Refer to Figure 24.2 on page 409.
24.8 IPv6 Base Header Format
Refer to Figure 24.3 on page 410.
Refer to Figure 24.4 on page 411.
Most room in the base header is used for the source and destination
addresses.
TRAFFIC CLASS field has to do with service requirements
NEXT HEADER field is used to implement the "linked list" of extension
headers.
24.9 Implicit and Explicit Header Size
Refer to Figure 24.5 on page 411.
24.10 Fragmentation, Reassembly and Path MTU
Refer to Figure 24.6 on page 412.
There is a separate, special fragmentation header in fragments.
The unfragmentable part is the base header and headers that
control routing.
The sending host is responsible to do the fragmenting.
A router will discard an IPv6 datagram that is too big to transmit,
and send an error message to the sender.
A sender may calculate the path MTU by trial and error.
24.11 The Purpose of Multiple Headers
Datagrams can be smaller because unneeded headers are not included.
Smaller datagrams take less time to send.
A new feature can be added to the protocol without redefining the old
headers.
Adding a new (or experimental) feature just means adding a new NEXT
HEADER type and a new header format.
24.12 IPv6 Addressing
Refer to Figure 24.7 on page 415.
IPv6 addresses are hierarchical
Division between prefix and suffix 'floats' as with IPv4 CIDR.
IPv6 hierarchy can be multilevel - parts of the address to indicate
ISP, organization, site, and so forth.
Addresses are unicast, multicast, or anycast.
The idea of anycast is to deliver to exactly one of the members of
some group. This supports "replicated services."
Directed broadcast is 'gone' - it was a security problem to allow
someone outside a network to send a packet to every host on the
network - e.g. a ping.
Limited broadcast (from within) is implemented as multicast.
24.13 IPv6 Colon Hexadecimal Notation
To achieve some compactness, a colon hex form is used to write
IPv6 addresses, e.g.
69DC:8864:FFFF:FFFF:0:1280:8C0A:FFFF
Above, each segment is a hexadecimal representation of a 16-bit
section of the address.
Zero compression may be used - if there is a long run of
zero's in the address, it can be replaced with a pair of colons.
Addresses are assigned to take advantage of zero compression. For
example IPv4 addresses are mapped to all zero's, except for the last
32 bits.