(Latest Revision:
Mon Oct 21 23:57:23 PDT 2002
)
Notes On Chapter Twenty-Two
-- The Future IP (IPv6)
- 22.1 Introduction
- This chapter is about problems with IPv4 and
about how IPv6 will help solve those problems.
-
- 22.2 The Success of IP
- The Internet started using IP when there were no LAN's and the
Internet was composed of just a few point-to-point links.
- IP has accomodated all the growth in networking from that time to
now!
- IP has done extremely well.
-
- 22.3 The Motivation For Change
- The main problem with IP is that we are
quickly running out of IP addresses.
- Also to support real-time delivery of audio and
video there is a perceived need to offer more "qualities of
service."
- Additionally there is a perceived need to
accommodate new forms of addressing and routing such as
"group" addressing wherein one member of a group gets a
copy of a message -- the member that costs the least to reach.
-
- 22.4 A Name And A Version Number
- The current IP protocol is IPv4
- The new IP protocol is IPv6 (aka IPng)
-
- 22.5 Characterization Of Features In IPv6
- IPv6 addresses are four times the
length of IPv4 addresses: 128-bits
instead of 32-bits!
- IPv6 has a completely different IP header
format
- IPv6 has a mechanism that allows sender and
receiver to establish a high quality path for
sending audio or video.
- Extensible Protocol: The rules for the
IPv6 datagram allow the format to be extended easily in the future.
-
- 22.6 IPv6 Datagram Format
- There is a diagram depicting the IPv6 datagram header on page 346
of the fourth edition.
- The IPv6 datagram header begins with a base
header, followed by zero or more extension headers.
- Use of extension headers allows for many options without forcing
all datagrams to carry large headers.
- It is easy to experiment with new kinds of headers and extend the
set of header types.
-
- 22.7 IPv6 Base Header Format
- The 40-byte, 320-bit base header contains the following fields:
- VERS: 4-bits; protocol version number (6)
- PRIORITY: 8-bits; routing priority
- TRAFFIC CLASS: 8-bits; e.g. "low delay"
- FLOW LABEL: 20-bits; routing info -- a specific path
- PAYLOAD LENGTH: 16-bit; size of data part only
- NEXT HEADER: 8-bit; indicates what kind of header
comes next, or if the payload comes next and the type
of the payload.
- HOP LIMIT: 8-bit; similar to "time to live"
- SOURCE ADDRESS: 128-bit
- DESTINATION ADDRESS: 128-bit
-
- 22.8 How IPv6 Handles Multiple Headers
- Some headers are like the base header and have a fixed size.
- Other headers are variable in length and have a length field.
-
- 22.9 Fragments, Reassembly, and Path MTU
- In IPv6 fragments are marked by fields in a
special fragment extension header.
- IPv6 requires the sender to fragment
the packet.
- The sending host performs path MTU
discovery. For example, the host could send smaller and
smaller test packets to the destination until receiving
acknowledgement for one.
-
- 22.10 The Purpose Of Multiple Headers
- The advantages of the header scheme are
economy (of header
space and transmission time )
and extensibility.
- Most packets will just use the base header
and that will keep the average amount of header used in IPv6
packets to a minimum.
- On the other hand, the scheme allows the header
to be very large and to carry a great
deal of information when desired.
-
- 22.11 IPv6 Addresssing
- IPv6 addresses have a network prefix part and a
host suffix part.
- However in IPv6, there are no address classes
and you cannot tell from looking at an address where the
boundary lies between the network prefix and the host suffix. (Routing tables need to include the prefix length
information.)
- Network broadcast addresses do not exist in IPv6.
- An IPv6 addresss is:
- unicast (goes to a single
computer),
- multicast (goes to all members of a set of computers), or
- anycast (goes to the closest
member of a set.)
- Anycast can be used, for example, to get make a
database query from one of a group
of servers, print a file on one
of a group of printers, or request to download
a web page from the closest of a group of servers.
-
- 22.12 IPv6 Colon Hexadecimal Notation
- If we use dotted decimal notation for IPv6 addresses, we need to
have 16 groups of numbers -- too much. For example:
105.220.136.100.255.255.255.255.0.0.18.128.140.10.255.255
- It's a little better to write the address as 8
groups of 16-bit hexadecimal numbers:
69DC:8864:FFFF:FFFF:0:1280:8C0A:FFFF
- Using a notation called zero compression
we replace a sequence of zeros with two colons:
FF0C:0:0:0:0:0:0:B1
is shortened to:
FF0C::B1
- Many current IPv6 addresses have long runs of
zero's, so the zero compression will make them pretty easy
to write.
- IPv4 addresses will be mapped to the 32 least
significant bits of an IPv6 address with zeros in the more
significant bits.
- Of course, the computers "don't care" that the number seem long to
humans.
-
- 22.13 Summary