200 likes | 441 Views
IP Version 6 The Next-Generation IP Protocol Wolfgang Effelsberg University of Mannheim. September 2001. Outline. 1. Remember IP Version 4? 2. IP Version 6 Fundamentals 3. IPv6 Header Format and Protocol Functions 4. Transition from Version 4 to Version 6. 1. Remember IP Version 4?.
E N D
IP Version 6 The Next-Generation IP Protocol Wolfgang Effelsberg University of Mannheim September 2001
Outline 1. Remember IP Version 4? 2. IP Version 6 Fundamentals 3. IPv6 Header Format and Protocol Functions 4. Transition from Version 4 to Version 6
1. Remember IP Version 4? • IP (Internet Protocol) – Layer 3 of the Internet • A datagram protocol (connectionless) • A host-to-host protocol • Handles the fragmentation of large packets • Does not do much else! No error control, no packet sequencing, no flow control, no congestion control
Addressing in IPv4 The IP address is hierachical, with the two fields netid and hostid. There is also a format for multicast (class D) 0 1 8 16 24 31 Class A Netid 0 Hostid Class B 0 Hostid 1 Netid Class C Hostid Netid 0 1 1 Class D 1 0 1 1 For reasons hard to understand, four decimal numbers are used to describe an IP address: 10.0.0.0 for Arpanet 128.10.0.0 for a large Ethernet-LAN 192.5.48.0 for a small LAN
2. IP Version 6: Fundamentals Motivation • IPv4 networks running out of addresses • No more Class B addresses available • Hierarchical addressing wastes large chunks of the address space • CIDR (classless inter-domain routing) helpful but not a long-term solution • Routing tables grow very large • More hierarchical levels desirable • Fix bugs in the IPv4 design • After many years of experience design flaws of IPv4 should be removed
History of IPv6 • 1992: IETF publishes the Call for Proposals for „IP next generation“ (Ipng) • 1994: SIPP (Simple Internet Protocol Plus) proposed by some researchers to the IETF • 1995: Internet Draft „Internet Protocol, Version 6 (IPv6)“ becomes a Proposed Standard“ (9/95) and then an RFC1883 (12/95). Early prototypes implemented. • 1996: IP Version 6 Backbone (6Bone) between some research labs, early products in the market • 1998: RFC 2460, Draft Standard • 2001: Widely implemented, but not very widely used because of considerable transition overhead for ISPs
Properties of IPv6 (1) • New addresses • Address size 128 bits (one address for each bit in the universe!) • A deeper addressing hierarchy (Top Level Aggregator = address registration authority, Next Level Aggregator = large ISP, etc.). Leeds to smaller routing tables • Automatic address configuration integrated into IP • Design bugs fixed • Fragmentation no longer supported. Replaced by „MTU discovery“ (maximum transfer unit) (!) • Header checksum removed (!) • All headers have a fixed size. Extension headers replace header options. • Hop limit replaces „time to live“
Properties of IPv6 (2) • Better support for Quality-of-Service • Flow Labels allow the marking of all packets belonging to the same flow at the IP level • Traffic Class for Differentiated Services • Full integration of IP multicast • Predefined multicast group addresses for special multicast functions • IGMP (Internet Group Management Protocol) fully integrated into ICMP (Internet Control Message Protocol) • All routers and end systems implement multicast IP. Tunnels will no longer be required. • Anycast also supported. Usage still a research issue. • IP Security • Authentication and encryption are available at the IP layer
Red: removed Green: Moved to the extension header Yellow: renamed precedence class total length payload length time to live hop limit protocol next header 3. IPv6 Header Format and Protocol Functions IPv4: 20 Bytes in 13 fields Version Hdr Len Prece- dence ToS Total Length Identification Flags Fragment Offset Time To Live Protocol Header Checksum Source Address Destination Address
Vers. Class Flow Label Payload Length Next Header Hop Limit Source Address Destination Address IPv6 Header IPv6: 40 Bytes in 8 fields
Public topology Site topology 3 13 8 24 16 001 TLA ID res. NLA ID SLAID Interface ID Aggregatable Global Unicast Address The most important of many possible IPv6 address formats • Top Level Aggregation (TLA) • Internet Naming Authority or very large ISPs with transit networks to which other ISPs are • Next Level Aggregation (NLA) • Organisation on a lower level of the hierarchy • Multiple NLA levels possible • Site Level Aggregation (SLA) • A single organisation, such as a large company
Extension Headers • Concatenation of extension headers • A small minimal header of fixed size, easy to process in routers • Flexible extensions for special purposes (such as source routing) • Eases the introduction of future extensions • Last header in the chain specifies the type of the content encapsulated in IP (e.g., TCP, UDP). • Thus the PROTOCOL TYPE field of IPv4 is no longer needed.
IPv6-Header next header = TCP TCP-Header + data IPv6-Header next header = Routing Routing-Header next header = TCP TCP-Header + data IPv6-Header next header = Routing Routing-Header next header = Fragment Fragment- Header, next header = TCP TCP-Header + data Examples for Extension Headers
3A01:203:405:1::/64, 3A01:203:405:1::1 FE80::C:D:1 3A01:203:405:1::C:D:1 3A01:203:405:1::1 Stateless Automatic Address Configuration • The router broadcasts parameters periodically to the multicast group of all hosts (router advertisement). • Each host sends a router solicitation to the multicast group of all routers, a direct answer of the router follows.
application socket interface UDP for IPv4 TCP for IPv4 UDP for IPv6 TCP for IPv6 IPv6 layer 2 link 4. Transition from Version 4 to Version 6 • Duplicate protocol stacks • UDP/IPv4 and UDP/IPv6 • TCP/IPv4 and TCP/IPv6 • All IPv6 systems must also have an IPv4 protocol stack during the transition phase.
0 ... 0 0 ... 0 IPv4 address IPv4-Compatible Address • Allows IPv6 implementations to work with old v4 addresses • Can be used by IPv6 systems to communicate with other IPv6 systems by TUNNELS
IPv4-Router hand-configurated tunnel (HostRouter or RouterRouter) Automatically config. tunnel (Router Host, Host Host) Tunneling Tunneling means the encapsulation of an IP packet into another IP packet which will have a new, different IP destination address. At the end of the tunnel the inner IP packet is removed from the „envelope“. In this way an IP packet can be transmitted over pieces of the network which it could otherwise not cross.
References • C. Huitema: IPv6 - The New Internet Protocol, second edition, Prentice Hall, 1998 • W. Stallings: IPv6: The New Internet Protocol, IEEE Communications, Vol. 34, No. 7, S. 96-108 • R. Fink: IPv6 - What and Where it is, Cisco Internet Protocol Journal, März 1999 • W. Stallings: IP Security, Cisco Internet Protocol Journal, März 2000 • T. Braun: Internet Protocols for Multimedia Communications, Part I, IEEE Multimedia, Vol. 31, No. 9, S. 85-90 • T. Braun: IPng: Neue Internet-Dienste und Virtuelle Netze, dpunkt 1999 (in German)