Transcript Chapter 33
The Future of TCP/IP
and IPv6
Chapter 33
Introduction
• Why is TCP/IP technology important to the
evolution of the Internet?
– The Internet is the largest TCP/IP internet
– Funding for research and engineering comes from
companies that use the Internet
– Most researchers use the Internet daily and are
motivated to solve problems and extend capabilities
Why Change?
• New technology
• New applications
• Increase in size and load
– Doubling every 9 months
New Policies
• More national backbones attach
• Policies for interaction must be determined and
enforced
Motivation for Changing IPv4
• IP version 4 has remained almost unchanged since
the late 1970’s
– It has worked well
• What has changed since its inception?
–
–
–
–
–
Processor Performance - increased by 2 orders of magnitude
Memory Size - increased by over 100 times
Network Bandwidth - increase by 7000 times
LAN Technologies - emerged
Number of Hosts - > 56 million
• Most obvious need: more address space
The Name of the Next IP
• IP version 6
• Previous IP versions
– Versions 1 and 3 were never formally assigned
– Version 5 was an experimental Stream Protocol that
was probably misnamed
Features of IPv6
• IPv6 retains much of IPv6
• Categories of Changes
–
–
–
–
–
–
–
Larger Addresses - 128 bits
Extended Address Hierarchy
Flexible Header Format
New Options
Protocol Extensibility
Autoconfiguration and Network Renumbering
Preallocation of Network Resources
General Form of IPv6 Datagram
• Contains a fixed-size base header, zero or more
extension headers and data
optional
Base
Header
Extension ...
Header 1
Extension
Header N
Data...
IPv6 Base Header Format
• The base header contains less than the IP header
– Several things have been moved to extension headers
vers Class
Payload Length
Flow Label
Next hdr Hop Limit
Source Address (128 bits)
Destination Address (128 bits)
IPv6 Base Header Format
• The base header is fixed at 40 octets
• Payload Length is the size of the datagram only
– Thus, a datagram could be 64K octets
• Traffic Class is the same as the Type of Service
• Flow Label contains information that routers use
to associate a datagram with a flow and priority
– A flow consists of a path through an internet which
guarantees a quality of service
• Used to guarantee or restrict quality of service
IPv6 Extension Headers
• Compromise of generality and efficiency
– Includes mechanisms to support fragmentation, source
routing, authentication, etc.
– Putting all possible mechanisms in the datagram header
may be wasteful if not used
• Similar to options in IPv4
• Each datagram includes extension headers for only
those facilities used by the datagram
Parsing an IPv6 Datagram
• The base header and extension headers have a
Next Header field which indicates the type of
header that follows
– At intermediate routers, the base headers and the hopby-hop extension headers are examined
Fragmentation and Reassembly
• The designers of IPv6 tried to avoid fragmentation
by routers
– The source fragments the data according to one of the
following:
• It can use the guaranteed minimum MTU of 1280 octets
• It can perform Path MTU Discovery to find the minimum
MTU along the path
– When fragmentation is needed, the source inserts an
extension header after the base header in each fragment
Next Header
Reserved
Fragment Offset
Datagram Identification
RS M
Consequence of End-to-End
Fragmentation
• In IPv4, we assumed that routes can change
dynamically
• In IPv6, route changes mean that the path MTU
may be different
– If the path MTU along a new route is less than the path
MTU along the original route, either
• the intermediate router fragments the datagram
• or the original source must be notified
– A new ICMP message informs the source which can do
another path MTU discovery to refragment
IPv6 Source Routing
• An extension header is used to specify routing options
– The first four fields are fixed:
•
•
•
•
next header
header extension length
routing type - only type available is 0, loose source routing
segments left - number of addresses remaining in the list
– Type-specific data - list of addresses of routers through
which the datagram must pass
Next header Hdr Ext Len Route Type Seg Left
Type-specific data ...
IPv6 Options
• The next header field of the previous header distinguishes
between two types of extension headers
– Hop By Hop Extension Header
• Examined at each hop
– End To End Extension Header
• Interpreted only at the destination
• The format of an IPv6 option extension header
Next header
Header Len
One or more Options
IPv6 Options
• Within the options portion of the header the
options are coded as
Type (8 bits)
Length (8 bits)
Data for this option
• Where the first two bits in Type indicate
–
–
–
–
00
01
10
11
skip this option
discard datagram; do not send ICMP message
discard datagram; send ICMP message to source
discard datagram; send ICMP for non-multicast
• The third bit in Type indicates whether the option can
change in transit
IPv6 Colon Hexadecimal
Notation
• Binary and decimal notations are too cumbersome,
so addresses are represented in colon hex notation
– Zero compression replaces a string of repeated zeroes
with a pair of colons (only once in the notation)
– CIDR-like notation is used when an address is followed
by a slash and a number of bits
Three Basic IPv6 Address Types
• Destination addresses on a datagram fall into 3
categories
– Unicast - the destination is a single computer
– Anycast - the destination is a set of computers that all
share the same address, and the datagram should be
delivered to the closest one (along the shortest path)
– Multicast - the destination is a set of computers that all
share the same address, and the datagram should be
delivered to each one
Broadcast and Multicast
• Broadcasting is treated as a special form of
multicasting
• Direct communication is handled best by unicast
and group communication is handled best by
multicast and broadcast
Proposed IPv6 Address
Assignment
• How to manage address assignment?
– The large address space permits a multi-level hierarchy
as opposed to the current two-level hierarchy of
(network, host)
• How to map an address to a route (examine a
datagram and choose a path to the destination)?
• See the proposed division in Figure 33.8
Transition from IPv4
• Some of the addresses with a prefix of 0000 0000
will be used for embedded IPv4 addresses
• Why is encoding necessary?
– A computer may be upgraded before it gets an IPv6 @
– A computer running IPv6 may need to communicate
with an computer running IPv4
80 zero bits
16 bits
32 bits
0000
0000. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .0000
0000
0000
IPv4 address
0000 . . . . . . . . . . . . . . . . . . 0000
FFFF
IPv4 address
Unicast Address Hierarchy
• Three conceptual levels
– Level 1 - Globally known public topology
• Major ISPs that provide long-haul service to subscribers
• Exchanges which interconnect ISPs and individual subscribers
not specifying an ISP (allows freedom to move between ISPs)
– Level 2 - Individual site
• A set of computers and networks located at a site (implies
physically contiguous and within an organization)
– Level 3 - Individual network interface
• A single attachment between a computer and a network
Aggregatable Global Unicast
Address Structure
• Authority for assigning IPv6 addresses flows
down a hierarchy
– Each top-level organization (ISP or exchange) is
assigned a unique prefix
• Organizations which subscribe to that top-level ISP are
assigned a unique number for their site
– Managers assign numbers to each network connection
3
P
13
TLA ID
8
24
R NLA ID
top level
16
SLA
ID
site
level
64 bits
Interface ID
third level
Aggregatable Global Unicast
Address Structure
• TLA ID - top level ID assigned to the ISP or
exchange that owns the address
• NLA ID - next level ID
• SLA ID - specific site ID
• Each may be further divided as needed
Interface Identifiers
• The low-order 64 bits are large enough to
accommodate te interface hardware address
– ARP is not needed to resolve to a hardware address
– IPv6 standards specify how to encode various forms of
hardware address
• IEEE has a 64-bit address format called EUI-64
• Figure 33.12 shows how an IEEE 802 address can be encoded
in the low order 64 bits of an IPv6 address
Local Addresses
• Link-local addresses are restricted to a single
network
• Site-local addresses are restricted to a single site
• Routers do not forward datagrams with locallyscoped addresses outside the specified scope
• This gives us the concept of private addresses or
nonroutable addresses
Autoconfiguration and
Renumbering
• A host on an isolated network generates a unique
link-local address
– That address is used to discover routers and obtain sitelocal and global prefix information
• To facilitate network renumbering, routers limit
the time that a computer retains a prefix
Summary
• IPv6 retains many features of IPv4
• Some differences:
–
–
–
–
Format
Authentication is provided
Flow labeling
Datagrams are organized as a series of headers (base
and one or more extensions) followed by data
– Addresses are 128 bits long
For Next Time
• Final Exam