300 likes | 454 Views
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
E N D
The Future of TCP/IPand 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 Extension Header 1 Extension Header N Base Header ... Data...
IPv6 Base Header Format • The base header contains less than the IP header • Several things have been moved to extension headers vers Class Flow Label Payload Length 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 hop-by-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 RS M Datagram Identification
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 • Where the first two bits in Type indicate • 00 skip this option • 01 discard datagram; do not send ICMP message • 10 discard datagram; send ICMP message to source • 11 discard datagram; send ICMP for non-multicast • The third bit in Type indicates whether the option can change in transit Type (8 bits) Length (8 bits) Data for this option
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 32 bits 16 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 13 8 24 16 64 bits SLA ID P TLA ID R NLA ID Interface ID site level top level 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 locally-scoped 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 site-local 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