unit7 - WCU Computer Science

Download Report

Transcript unit7 - WCU Computer Science

CSC 600
Internetworking
with
TCP/IP
Unit 7: IPv6
(ch. 33)
Dr. Cheer-Sun Yang
Spring 2001
IP v6 - Version Number
•
•
•
•
IP v 1-3 defined and replaced
IP v4 - current version
IP v5 - streams protocol
IP v6 - replacement for IP v4
– During development it was called IPng
– Next Generation
Why Change IP?
• New computer and communication
technologies
• New applications – VoIP requires real-time
data delivery
• Increase in size and load – too many hosts!
Why Change IP?
• Address space exhaustion
– Two level addressing (network and host) wastes space
– Network addresses used even if not connected to
Internet
– Growth of networks and the Internet
– Extended use of TCP/IP
– Single address per host
• Requirements for new types of service
Why Change IP?
• New technologies : since 1970s,
– processor performance has increased over two
orders of magnitude
– Memory sizes have increased by over a factor of 100
– Network bandwidth of the Internet backbone has
risen by a factor of 7000
– LAN technologies have emerged
• Increase in size – the number of hosts has risen
from a handful to 56 million; the current 32-bit IP
address space cannot accommodate projected
growth of the global Internet beyond 2002.
IPv6 RFCs
• 1752 - Recommendations for the IP Next
Generation Protocol
• 2460 - Overall specification
• 2373 - addressing structure
• Others : 2462, 2463, 2464, 2374, 2375,
2526, etc.
IPv6 Enhancements (1)
• Expanded address space
– 128 bit
• Improved option mechanism
– Separate optional headers between IPv6 header and
transport layer header
– Most are not examined by intermediate routes
• Improved speed and simplified router processing
• Easier to extend options
• Address autoconfiguration
– Dynamic assignment of addresses
IPv6 Enhancements (2)
• Increased addressing flexibility
– Anycast - delivered to one of a set of nodes
– Improved scalability of multicast addresses
• Support for resource allocation
–
–
–
–
Replaces type of service
Labeling of packets to particular traffic flow
Allows special handling
e.g. real time video
Structure
Base Header
• Alignment has been changed from 32-bit to
64-bit multiples.
• The header length has been eliminated and
the datagram length field has been replaced
by a PAYLOAD LENGTH field.
• The size of source and destination address
fields has been increased to 16 octets each.
Base Header (cont’d)
• Fragmentation information has been removed out
of fixed fields into an extension header.
• The TIME-TO-LIVE field has been rep[laced by a
HOP LIMIT field.
• The SERVICE TYPE is renamed to be a
TRAFFIC CLASS field, and extended with a
FLOW LABEL field.
• The PROTOCOL field has been replaced by the
type of the next header.
Extension Headers
• Hop-by-Hop Options
– Require processing at each router
• Routing
– Similar to v4 source routing
•
•
•
•
Fragment
Authentication
Encapsulating security payload
Destination options
– For destination node
Extension Headers (cont’d)
• IPv6 extension headers are similar to IPv4
options. Each datagram includes extension
headers for only those facilities that the
datagram uses.
IP v6 Header
IP v6 Header Fields (1)
• Version
– 6
• Traffic Class
– Classes or priorities of packet
– Still under development
– See RFC 2460
• Flow Label
– Used by hosts requesting special handling
• Payload length
– Includes all extension headers plus user data
IP v6 Header Fields (2)
• Next Header
– Identifies type of header
• Extension or next layer up
• Source Address
• Destination address
IPv6 Base Header
From now on, they can’t call me
Junior!
Fragmentation Header
• Fragmentation only allowed at source
• No fragmentation at intermediate routers
• Node must perform path discovery to find
smallest MTU of intermediate networks
• Source fragments to match MTU
• Otherwise limit to 1280 octets
Fragmentation Header Fields
•
•
•
•
•
•
Next Header
Reserved
Fragmentation offset
Reserved
More flag
Identification
End-to-End Fragmentation
• An internet protocol that uses end-to-end
fragmentation requires a sender to discover the
path MTU to each destination, and to fragment
any outgoing datagram that is larger than the path
MTU. End-to-end fragmentation does not
accommodate route changes.
• To solve the problem of route changes that affect
the path MTU, IPv6 includes a new ICMP error
message. When a route discovers that
fragmentation is needed, it sends the message back
to the source. The source will fragment the
datagrams based on the new minimum MTU.
Source Routing Header
• List of one or more intermediate nodes to be
visited
• Next Header
• Header extension length
• Routing type
• Segments left
– i.e. number of nodes still to be visited
IPv6 Options
Hop-by-Hop Options
• Next header
• Header extension length
• Options
– Jumbo payload
• Over 216 = 65,535 octets
– Router alert
• Tells the router that the contents of this packet is of
interest to the router
• Provides support for RSPV (chapter 16)
Destination Options
• Same format as Hop-by-Hop options header
IPv6 Addresses
• 128 bits long
• Assigned to interface
• Single interface may have multiple unicast
addresses
• Three types of address
Types of address
• Unicast
– Single interface
• Anycast
– Set of interfaces (typically different nodes)
– Delivered to any one interface
– the “nearest”
• Multicast
– Set of interfaces
– Delivered to all interfaces identified
Aggregatable Global
Unicast Address Structure
Interface Identifier
Multicasting
• Addresses that refer to group of hosts on
one or more networks
• Uses
–
–
–
–
–
Multimedia “broadcast”
Teleconferencing
Database
Distributed computing
Real time workgroups
Group Membership in IPv6
• Multicast addresses are used to define a group of
hosts instead of one.
• All use the prefix 11111111 in the first field.
• The second field is a flag that defines the group
address as either permanent or transient.
• The third field is a SCOPE field which indicates
the scope to be node local(0001), link local
(0010), site local(0101), organizational local
(1000), or global(1110).
ICMP v6
• Function of IGMP included in ICMP v6
• New group membership termination
message to allow host to leave group