330 likes | 392 Views
IPv6. Sirak Kaewjamnong Computer Networks. Agenda. IPv4’s limitations? Protocol Features Addressing IPv4 V.S. IPv6 functional comparison IPv6 Standards Conclusion. IPv4’s Limitations. Two driving factors : addressing and routing Addressing : address depletion concerns
E N D
IPv6 Sirak Kaewjamnong Computer Networks
Agenda • IPv4’s limitations? • Protocol Features • Addressing • IPv4 V.S. IPv6 functional comparison • IPv6 Standards • Conclusion
IPv4’s Limitations • Two driving factors : addressing and routing • Addressing : address depletion concerns • Internet exhaust the IPv4 address space between 2005 and 2011 [RFC1752]. • Routing : routing table explosion • Currently ~120K entries in core router • More factors... • Opportunity to optimized on many years of deployment experience • New features needed : multimedia, security, mobile, etc..
Key Issues The new protocol MUST • Support large global internetworks • A clear way to transition IPv4 based networks
What is IPv6? • IPv6 is short for "Internet Protocol Version 6". • IPv6 is the "next generation" protocol designed by the IETF to replace the current version Internet Protocol, IP Version 4
History of the IPv6 Effort (1) • 1990 : IETF defined a new version of IP, generally called IP Next Generation or IPng • Spring 1992 : IAB proposed the OSI CLNP (Connectionless Network Protocol). Finally rejected by IETF and working groups • Feb 1992: 4 proposals for IPng • CNAT, IP Encaps, Nimrod, Simple CLNP
History of the IPv6 Effort (2) • March 1992: merging • IP Encaps to IPAE (IP Address Encapsulation) • Simple CLNP to TUBA (TCP and UDP with bigger Address) • Dec 1992: 3 more proposals for IPng • PIP (P Internet Protocol), SIP (Simple IP), and TP/IX • Fall 1993 : resolution to 3 possibilities : • TUBA • TP/IX => CATNIP (Common Architecture for the Next Generation Internet Protocol) • SIP+IP encaps+PIP=> SIPP (Simple Internet Protocol Plus) • Jul 1994 : SIPP was chosen, known as IPv6
IPV6 Key Advantages • 128 bit fix length IP address • Real time support • Self-configuration of workstations or auto configuration • Security features • Support mobile workstations • Protocol remains the same principle • IPv4 compatibility
IPV6 Address Representation • Hexadecimal values of the eight 16-bit pieces x:x:x:x:x:x:x:x • Example FEDC:BA98:7654:3210:FEDC:BA98:7654:3210 1080:0:0:0:8:800:200C:417A • Compressed form: "::" indicates multiple groups of 16-bits of zeros. 1080:0:0:0:8:800:200C:417A 1080::8:800:200C:417A FF01:0:0:0:0:0:0:101 FF01::101 0:0:0:0:0:0:0:1 ::1 0:0:0:0:0:0:0:0 ::
IPV6 Address Representation(cont) • Mixed environment of IPv4 and IPv6 address IPv4-compatible IPv6 address technique for hosts and routers to dynamically tunnel IPv6 packets over IPv4 routing infrastructure 0:0:0:0:0:0:13.1.68.3 => :: 13.1.68.3 IPv4-mapped IPv6 address represent the addresses of IPv4-only nodes (those that do not support IPv6) as IPv6 addresses IPv4-only IPv6-compatible addresses are sometimes used/shown for sockets created by an IPv6-enabled daemon, but only binding to an IPv4 address. These addresses are defined with a special prefix of length 96 (a.b.c.d is the IPv4 address): 0:0:0:0:0:FFFF:129.144.52.38/96 => :: FFFF:129.144.52.38/96 http://www.tldp.org/HOWTO/Linux+IPv6-HOWTO/x324.html
Format Prefix • Format Prefix : • Leading bits indicate specific type of an IPv6 address • The variable-length field • Represented by the notation: IPv6-address/prefix-length Example : the 60-bit prefix 12AB00000000CD3 12AB:0000:0000:CD30:0000:0000:0000:0000/60 12AB::CD30:0:0:0:0/60 12AB:0:0:CD30::/60
Type of Addresses Three type of addresses • UNICAST : defines a single interface A packet sent to a unicast address is delivered to the interface identified by that address. • ANYCAST : defines a set of interfaces A packet sent to an anycast address is delivered to one of the interfaces • MULTICAST : defines a set of interfaces A packet sent to a multicast address is delivered to all interfaces identified by that address
Address Types • Unspecified address, 0:0:0:0:0:0:0:0 or :: • Loopback address, 0:0:0:0:0:0:0:1 of ::1 • Global address, 2000::/3 and E000::/3 currently only 2000::/3 is being assigned • Link local address, FE80::/64 • Site local address, FEC0::/10
Address Registries Address registries for IPv6 are the same one as for IPv4, ARIN,RIPE and APNIC. • Only large network providers will ever obtain addresses directly from the registries, such as UNINET : one such provider in Thailand • If a /35 prefix is allocates, the registry internally will reserve a /32. • The basic unit of assignment to any organization is a /48 prefix
P3 P1 x2 X1 P2 P4 S2 S1 P6 S3 P5 S4 S5 S6 Aggregatable Unicast Address Three level hierarchy: • Public Topology : providers and exchanges who provide public Internet transit services (P1, P2, P3, P4, X1, X2, P5 and P6) • Site Topology : does not provide public transit service to nodes outside of the site (S1, S2, S3, S4, S5 and S6) • Interface Identifier: interfaces on links
Aggregatable Unicast Address 3 13 8 24 16 64 bits FP TLA ID RES NLA ID SLA ID Interface ID Public Topology Site Topology Interface Identifier FP=Format Prefix= 001 TLA= Top Level Aggregation RES= Reserved NLA=Next-Level Aggregation SLA=Site-Level Aggregation
Header Comparison • Removed (6) • ID, Flags, frag offset • TOS, hlen • header checksum • Changed: (3) • total length=> payload • protocol => next header • TTL=> hop limit • Added: (2) • Traffic class • flow label • Expanded • address 32 bits to 128 bits 0 15 16 31 vers hlen TOS total length identification flags frag offset TTL protocol header checksum source address destination address options and padding 20 bytes IPv4 vers traffic class flow label pay load length next header hop limit source address destination address 40 bytes IPv6
IPv6 Node Configuration • Ethernet address is an IEEE EUI-48 • Node address is an IEEE EUI-64 • EUI-48 can be converted into an EUI-64 by inserting the bits FF FE between the 3 rd and 4th octets EUI-48EUI-64 00:06:5B:DA:45:AD = 00:06:5B:FF:FE:DA:45:AD
Router adv. Auto configuration “Plug and play” feature • Stateless mode :via ICMP (no server required) • Stateful server mode : via DHCP Prefix 4c00::/80 IPv6 Address 4c00::A0:C9FF:EF1E:A5B6 Link Address 00:A0:C9:1E:A5:B6 00:A0:C9:1E:A5:B6 DHCP request DHCP server DHCP response 4c00::A0:C9FF:FE1E:A5B6
Multimedia Support • Applications reserve resources in advancevia Flow Label All packets belonging to the same flow must be sent with the same source/destination address, priority, and flow label Workstation Flow1 File Server PC Multimedia Server Flow2
Security • Authentication/Confidential • Authentication: • MD5 based • Confidential : • payload encryption • Cipher Block Chaining mode of the Data Encryption Standard (DES-CBC)
Support Protocols • ICMPv6 [RFC1885] • DHCPv6 • DNS extensions to support IPv6 [RFC1886] • Routing Protocols • RIPv6 [RFC2080] • OSPFv6 • IDRP • IS-IS • Cisco EIGRP
Transition Strategy • Dual Stack • run both IPv4 and IPv6 • Tunneling • IPv6 packet over IPv4 infrastructure • Header Translation • IPv4-only by header translation
Dual Stack • Dual stack hosts support both IPv4 and IPv6 • Determine stack via DNS Application TCP IPv6 IPv4 Ethernet IPV6 Dual stack host IPv4
Tunneling: automatic tunneling • Encapsulate IPv6 packet in IPv4 • Rely on IPv4-compatible IPv6 address IPv4/6 host IPv6 host IPv4 Network 2.3.4.5 ::1.2.3.4 R1 R2 2.3.4.5 2.3.4.5 ::2.3.4.5 4 hl TOS len frag id frag ofs TTL prot checksum src: 1.2.3.4 dst: 2.3.4.5 6 traffic flow label payload len next hops src = ::1.2.3.4 (IPv4-compatible IPv6 adr) dest = ::2.3.4.5 (IPv4-compatible IPv6 adr) payload 6 traffic flow label payload len next hops src = ::1.2.3.4 (IPv4-compatible IPv6 adr) dst = ::2.3.4.5 (IPv4-compatible IPv6 adr) payload 4 hl TOS len frag id frag ofs TTL prot checksum src: 1.2.3.4 dst: 2.3.4.5 6 traffic flow label payload len next hops src = ::1.2.3.4 (IPv4-compatible IPv6 adr) dst = ::2.3.4.5 (IPv4-compatible IPv6 adr) payload
Tunneling : configured tunneling • Encapsulate IPv6 packet in IPv4 • Rely on IPv6-only address IPv6 host IPv4 Network IPv6 host :: 2:3:4:5 ::1:2:3:4 IPv6 address (IPv4-compatible address are unavailable) R1 R2 ::2:3:4:5 R2 ::2:3:4:5 6 traffic flow label payload len next hops src = ::1:2:3:4 (IPv6 adr) dst = ::2:3:4:5 (IPv6 adr) payload 4 hl TOS len frag id frag ofs TTL prot checksum src = R1 dst =R2 6 traffic flow label payload len next hops src =::1:2:3:4 (IPv6 adr) dst = ::2:3:4:5 (IPv6 adr) payload 6 traffic flow label payload len next hops src = ::1:2:3:4 (IPv6 adr) dst = ::2:3:4:5 (IPv6 adr) payload
Header Translation • Full IPv6 system • need to support few IPv4-only systems • rely on IPv4-mapped IPv6 address IPv4 host IPv6 Network IPv6 host 2.3.4.5 ::1:2:3:4 R1 R2 2.3.4.5 ::2.3.4.5 ::2:3:4:5 6 traffic flow label payload len next hops src = ::1:2:3:4 (IPv6 adr) dst = ::2.3.4.5 (IPv6 adr) payload 6 traffic flow label payload len next hops src = ::1:2:3:4 (IPv6 adr) dst = ::2.3.4.5 (IPv6 adr) payload 4 hl TOS len frag id frag ofs TTL prot checksum src = R1 dst =R2 payload
Migration Steps • Upgrade DNS servers to handle IPv6 Address • Introduce dual stack systems that support IPv4 and IPv6 • Rely on tunnels to connect IPv6 networks separated by IPv4 networks • Remove support for IPv4 • Rely on header translation for IPv4-only systems
Conclusion • IPv6 will provide for future Internet growth and enhancement • IPv6 : • solve the Internet scaling problem • support large hierarchical address • provide a flexible transition mechanism • interoperate with IPv4 • provide a platform for new Internet functionality