Скачать презентацию Introduction to IPv 6 Outline n n Скачать презентацию Introduction to IPv 6 Outline n n

827bd5b2534c1ae91d059590fd4a2f8a.ppt

  • Количество слайдов: 120

Introduction to IPv 6 Introduction to IPv 6

Outline n n n Protocol Background Technology Highlights Enhanced Capabilities Transition Issues Next Steps Outline n n n Protocol Background Technology Highlights Enhanced Capabilities Transition Issues Next Steps

Background Background

Why a New IP? n 1991 – ALE WG studied projections about address consumption Why a New IP? n 1991 – ALE WG studied projections about address consumption rate showed exhaustion by 2008. n Bake-off in mid-1994 selected approach of a new protocol over multiple layers of encapsulation.

What Ever Happened to IPv 5? 0 IP (deprecated) IP IPv 4 ST March What Ever Happened to IPv 5? 0 IP (deprecated) IP IPv 4 ST March 1977 version 1 January 1978 version (deprecated) 2 February 1978 version A (deprecated) 3 February 1978 version B (deprecated) 4 September 1981 version (current widespread) 5 Stream Transport (not a new IP, little use) 6 IPv 6 December 1998 version (formerly SIP, SIPP) 7 CATNIP IPng evaluation (formerly TP/IX; deprecated) 8 Pip IPng evaluation (deprecated) 9 TUBA IPng evaluation (deprecated) 10 -15 unassigned

What about technologies & efforts to slow the consumption rate? n Dial-access / PPP What about technologies & efforts to slow the consumption rate? n Dial-access / PPP / DHCP n n Strict allocation policies n n Reduced allocation rates by policy of ‘current-need’ vs. previous policy based on ‘projected-maximum-size’. CIDR n n Provides temporary allocation aligned with actual endpoint use. Aligns routing table size with needs-based address allocation policy. Additional enforced aggregation actually lowered routing table growth rate to linear for a few years. NAT n Hides many nodes behind limited set of public addresses.

What did intense conservation efforts of the last 5 years buy us? n Actual What did intense conservation efforts of the last 5 years buy us? n Actual allocation history n n n 1981 – IPv 4 protocol published 1985 ~ 1/16 total space 1990 ~ 1/8 total space 1995 ~ 1/4 total space 2000 ~ 1/2 total space The lifetime-extending efforts & technologies delivered the ability to absorb the dramatic growth in consumer demand during the late 90’s. In short they bought – TIME –

Would increased use of NATs be adequate? n NO! n NAT enforces a ‘client-server’ Would increased use of NATs be adequate? n NO! n NAT enforces a ‘client-server’ application model where the server has topological constraints. Ø Ø n n n They won’t work for peer-to-peer or devices that are “called” by others (e. g. , IP phones) They inhibit deployment of new applications and services, because all NATs in the path have to be upgraded BEFORE the application can be deployed. NAT compromises the performance, robustness, and security of the Internet. NAT increases complexity and reduces manageability of the local network. Public address consumption is still rising even with current NAT deployments.

What were the goals of a new IP design? n Expectation of a resurgence What were the goals of a new IP design? n Expectation of a resurgence of “always-on” technologies n n x. DSL, cable, Ethernet-to-the-home, Cell-phones, etc. Expectation of new users with multiple devices. n n China, India, etc. as new growth Consumer appliances as network devices n n (1015 endpoints) Expectation of millions of new networks. n Expanded competition and structured delegation. n (1012 sites)

Return to an End-to-End Architecture New Technologies/Applications for Home Users ‘Always-on’—Cable, DSL, Ethernet@home, Wireless, Return to an End-to-End Architecture New Technologies/Applications for Home Users ‘Always-on’—Cable, DSL, Ethernet@home, Wireless, … Always-on Devices Need an Address When You Call Them Global Addressing Realm

Why is a larger address space needed? n Overall Internet is still growing its Why is a larger address space needed? n Overall Internet is still growing its user base n n : ~550 million users by 2005 Users expanding their connected device count n n n n ~320 million users in 2000 405 million mobile phones in 2000, over 1 billion by 2005 UMTS Release 5 is Internet Mobility, ~ 300 M new Internet connected ~1 Billion cars in 2010 15% likely to use GPS and locality based Yellow Page services Billions of new Internet appliances for Home users Always-On ; Consumer simplicity required Emerging population/geopolitical & economic drivers n n MIT, Xerox, & Apple each have more address space than all of China Moving to an e-Economy requires Global Internet accessibility

Why Was 128 Bits Chosen as the IPv 6 Address Size? Proposals for fixed-length, Why Was 128 Bits Chosen as the IPv 6 Address Size? Proposals for fixed-length, 64 -bit addresses n n n Accommodates 1012 sites, 1015 nodes, at. 0001 allocation efficiency (3 orders of mag. more than IPng requirement) Minimizes growth of per-packet header overhead Efficient for software processing on current CPU hardware Proposals for variable-length, up to 160 bits n n n Compatible with deployed OSI NSAP addressing plans Accommodates auto-configuration using IEEE 802 addresses Sufficient structure for projected number of service providers Settled on fixed-length, 128 -bit addresses n (340, 282, 366, 920, 938, 463, 374, 607, 431, 768, 211, 456 in all!)

Benefits of 128 bit Addresses n n Room for many levels of structured hierarchy Benefits of 128 bit Addresses n n Room for many levels of structured hierarchy and routing aggregation Easy address auto-configuration Easier address management and delegation than IPv 4 Ability to deploy end-to-end IPsec (NATs removed as unnecessary)

Incidental Benefits of New Deployment n Chance to eliminate some complexity in IP header Incidental Benefits of New Deployment n Chance to eliminate some complexity in IP header n n Chance to upgrade functionality n n improve per-hop processing multicast, Qo. S, mobility Chance to include new features n binding updates

Summary of Main IPv 6 Benefits n n n Expanded addressing capabilities Structured hierarchy Summary of Main IPv 6 Benefits n n n Expanded addressing capabilities Structured hierarchy to manage routing table growth Serverless autoconfiguration and reconfiguration Streamlined header format and flow identification Improved support for options / extensions

IPv 6 Advanced Features n n n Source address selection Mobility - More efficient IPv 6 Advanced Features n n n Source address selection Mobility - More efficient and robust mechanisms Security - Built-in, strong IP-layer encryption and authentication Quality of Service Privacy Extensions for Stateless Address Autoconfiguration (RFC 3041)

IPv 6 Markets n Home Networking n n n Gaming (10 B$ market) n IPv 6 Markets n Home Networking n n n Gaming (10 B$ market) n n n Sony, Sega, Nintendo, Microsoft Mobile devices Consumer PC Consumer Devices n n Set-top box/Cable/x. DSL/Ether@Home Residential Voice over IP gateway Sony (Mar/01 - …energetically introducing IPv 6 technology into hardware products …) Enterprise PC Service Providers n Regional ISP, Carriers, Mobile ISP, and Greenfield ISP’s

IPv 6 Markets n Academic NRN: n n Geographies & Politics: n n Internet-II IPv 6 Markets n Academic NRN: n n Geographies & Politics: n n Internet-II (Abilene, v. BNS+), Canarie*3, Renater-II, Surfnet, DFN, CERNET, … 6 REN/6 TAP Prime Minister of Japan called for IPv 6 (taxes reduction) EEC summit PR advertised IPv 6 as the way to go for Europe China Vice minister of MII deploying IPv 6 with the intent to take a leadership position and create a market force Wireless (PDA, Mobile, Car, . . . ): n n n Multiple phases before deployment RFP -> Integration -> trial -> commercial Requires ‘client devices’, eg. IPv 6 handset ?

Outline n n n Protocol Background Technology Highlights Enhanced Capabilities Transition Issues Next Steps Outline n n n Protocol Background Technology Highlights Enhanced Capabilities Transition Issues Next Steps

A new Header A new Header

The IPv 6 Header 40 Octets, 8 fields 0 4 Version 12 Class 16 The IPv 6 Header 40 Octets, 8 fields 0 4 Version 12 Class 16 24 31 Flow Label Payload Length Next Header 128 bit Source Address 128 bit Destination Address Hop Limit

The IPv 4 Header 20 octets + options : 13 fields, including 3 flag The IPv 4 Header 20 octets + options : 13 fields, including 3 flag bits 0 4 Ver 8 IHL 16 Service Type Identifier Time to Live 24 Total Length Flags Protocol Fragment Offset Header Checksum 32 bit Source Address 32 bit Destination Address Options and Padding shaded fields are absent from IPv 6 header 31

Summary of Header Changes between IPv 4 & IPv 6 Streamlined n Ø Ø Summary of Header Changes between IPv 4 & IPv 6 Streamlined n Ø Ø Ø n Revised Ø Ø n Fragmentation fields moved out of base header IP options moved out of base header Header Checksum eliminated Header Length field eliminated Length field excludes IPv 6 header Alignment changed from 32 to 64 bits Time to Live ’ Hop Limit Protocol ’ Next Header Precedence & TOS ’ Traffic Class Addresses increased 32 bits ’ 128 bits Extended 1. Flow Label field added

Extension Headers IPv 6 header TCP header + data next header = TCP IPv Extension Headers IPv 6 header TCP header + data next header = TCP IPv 6 header Routing header TCP header + data next header = Routing next header = TCP IPv 6 header Routing header Fragment header next header = Routing next header = Fragment next header = TCP fragment of TCP header + data

Extension Headers (cont. ) n Generally processed only by node identified in IPv 6 Extension Headers (cont. ) n Generally processed only by node identified in IPv 6 Destination Address field => much lower overhead than IPv 4 options processing n n Eliminated IPv 4’s 40 -byte limit on options n n exception: Hop-by-Hop Options header in IPv 6, limit is total packet size, or Path MTU in some cases Currently defined extension headers: n Hop-by-Hop Options, Routing, Fragment, Authentication, Encryption, Destination Options

Fragment Header Next Header n n Reserved Fragment Offset Original Packet Identifier 00 M Fragment Header Next Header n n Reserved Fragment Offset Original Packet Identifier 00 M though discouraged, can use IPv 6 Fragment header to support upper layers that do not (yet) do path MTU discovery IPv 6 frag. & reasm. is an end-to-end function; routers do not fragment packets en-route if too big—they send ICMP “packet too big” instead

Routing Header Routing Header

Routing n n Same “longest-prefix match” routing as IPv 4 CIDR Straightforward changes to Routing n n Same “longest-prefix match” routing as IPv 4 CIDR Straightforward changes to existing IPv 4 routing protocols to handle bigger addresses n n n unicast: OSPF, RIP-II, IS-IS, BGP 4+, … multicast: MOSPF, PIM, … Use of Routing header with anycast addresses allows routing packets through particular regions n e. g. , for provider selection, policy, performance, etc.

Routing Header Routing Header

Example of Using the Routing Header S A B D Example of Using the Routing Header S A B D

Addressing Addressing

Some Terminology node router host link neighbors interface address a protocol module that implements Some Terminology node router host link neighbors interface address a protocol module that implements IPv 6 a node that forwards IPv 6 packets not explicitly addressed to itself any node that is not a router a communication facility or medium over which nodes can communicate at the link layer, i. e. , the layer immediately below IPv 6 nodes attached to the same link a node’s attachment to a link an IPv 6 -layer identifier for an interface or a set of interfaces

Text Representation of Addresses “Preferred” form: 1080: 0: FF: 0: 8: 800: 200 C: Text Representation of Addresses “Preferred” form: 1080: 0: FF: 0: 8: 800: 200 C: 417 A Compressed form: FF 01: 0: 0: 0: 43 becomes FF 01: : 43 IPv 4 -compatible: 0: 0: 0: 13. 1. 68. 3 or : : 13. 1. 68. 3

IPv 6 - Addressing Model Ø Addresses are assigned to interfaces No change from IPv 6 - Addressing Model Ø Addresses are assigned to interfaces No change from IPv 4 Model Ø Interface ‘expected’ to have multiple addresses Ø Addresses have scope Link Local Site Local Global Ø Addresses have lifetime Valid and Preferred lifetime Site-Local Link-Local

Types of IPv 6 Addresses n Unicast n n n Multicast n n n Types of IPv 6 Addresses n Unicast n n n Multicast n n n Address of a set of interfaces Delivery to all interfaces in the set Anycast n n n Address of a single interface Delivery to single interface Address of a set of interfaces Delivery to a single interface in the set No more broadcast addresses

Interface Address set n Loopback n n Link local Site local Auto-configured 6 to Interface Address set n Loopback n n Link local Site local Auto-configured 6 to 4 n n n (if IPv 4 public is address available) Auto-configured IPv 4 compatible n n (only assigned to a single virtual interface per node) (operationally discouraged) Solicited node Multicast All node multicast Global anonymous Global published

Source Address Selection Rules n n Rule 1: Prefer same address Rule 2: Prefer Source Address Selection Rules n n Rule 1: Prefer same address Rule 2: Prefer appropriate scope n n n Smallest matching scope Rule 3: Avoid deprecated addresses Rule 4: Prefer home addresses Rule 5: Prefer outgoing interface Rule 6: Prefer matching label from policy table n Native IPv 6 source > native IPv 6 destination 6 to 4 source > 6 to 4 destination IPv 4 -compatible source > IPv 4 -compatible destination IPv 4 -mapped source> IPv 4 -mapped destination n Local policy may override n n n Rule 7: Prefer temporary addresses Rule 8: Use longest matching prefix

Destination Address Selection Rules n n n Rule 1: Avoid unusable destinations Rule 2: Destination Address Selection Rules n n n Rule 1: Avoid unusable destinations Rule 2: Prefer matching scope Rule 3: Avoid dst with matching deprecated src address Rule 4: Prefer home addresses Rule 5: Prefer matching label from policy table n Native IPv 6 source > native IPv 6 destination 6 to 4 source > 6 to 4 destination IPv 4 -compatible source > IPv 4 -compatible destination IPv 4 -mapped source> IPv 4 -mapped destination n Local policy may override n n n n Rule 6: Prefer higher precedence Rule 7: Prefer smaller scope Rule 8: Use longest matching prefix Rule 9: Order returned by DNS

Address Type Prefixes Address type Binary prefix IPv 4 -compatible 0000. . . 0 Address Type Prefixes Address type Binary prefix IPv 4 -compatible 0000. . . 0 (96 zero bits) global unicast 001 link-local unicast 1111 1110 10 site-local unicast 1111 1110 11 multicast 1111 n n all other prefixes reserved (approx. 7/8 ths of total) anycast addresses allocated from unicast prefixes

Global Unicast Addresses 001 TLA NLA* public topology (45 bits) n n n SLA* Global Unicast Addresses 001 TLA NLA* public topology (45 bits) n n n SLA* site topology (16 bits) interface ID interface identifier (64 bits) TLA = Top-Level Aggregator NLA* = Next-Level Aggregator(s) SLA* = Site-Level Aggregator(s) all subfields variable-length, non-self-encoding (like CIDR) TLAs may be assigned to providers or exchanges

Link-Local & Site-Local Unicast Addresses Link-local addresses for use during auto-configuration and when no Link-Local & Site-Local Unicast Addresses Link-local addresses for use during auto-configuration and when no routers are present: 0 1111111010 interface ID Site-local addresses for independence from changes of TLA / NLA*: 1111111011 0 SLA* interface ID

Interface IDs Lowest-order 64 -bit field of unicast address may be assigned in several Interface IDs Lowest-order 64 -bit field of unicast address may be assigned in several different ways: n n n auto-configured from a 64 -bit EUI-64, or expanded from a 48 -bit MAC address (e. g. , Ethernet address) auto-generated pseudo-random number (to address privacy concerns) assigned via DHCP manually configured possibly other methods in the future

Some Special-Purpose Unicast Addresses n The unspecified address, used as a placeholder when no Some Special-Purpose Unicast Addresses n The unspecified address, used as a placeholder when no address is available: 0: 0: 0: 0 n The loopback address, for sending packets to self: 0: 0: 1

Multicast Address Format FP (8 bits) Flags (4 bits) Scope (4 bits) RESERVED (80 Multicast Address Format FP (8 bits) Flags (4 bits) Scope (4 bits) RESERVED (80 bits) Group ID (32 bits) 1111 000 T Lcl/Sit/Gbl MUST be 0 Locally administered n flag field n n n scope field: n n n low-order bit indicates permanent/transient group (three other flags reserved) 1 - node local 2 - link-local 5 - site-local (all other values reserved) 8 - organization-local B - community-local E - global map IPv 6 multicast addresses directly into low order 32 bits of the IEEE 802 MAC

Multicast Address Format Unicast-Prefix based FP (8 bits) n n Scope (4 bits) reserved Multicast Address Format Unicast-Prefix based FP (8 bits) n n Scope (4 bits) reserved (8 bits) plen (8 bits) Network Prefix (64 bits) Group ID (32 bits) 1111 n Flags (4 bits) 00 PT Lcl/Sit/Gbl MUST be 0 Locally administered Unicast prefix Auto configured P = 1 indicates a multicast address that is assigned based on the network prefix plen indicates the actual length of the network prefix Source-specific multicast addresses is accomplished by setting n n n P=1 plen = 0 network prefix = 0 n draft-ietf-ipngwg-uni-based-mcast-01. txt

Outline n n n Protocol Background Technology Highlights Enhanced Capabilities Transition Issues Next Steps Outline n n n Protocol Background Technology Highlights Enhanced Capabilities Transition Issues Next Steps

Security Security

IPv 6 Security n n All implementations required to support authentication and encryption headers IPv 6 Security n n All implementations required to support authentication and encryption headers (“IPsec”) Authentication separate from encryption for use in situations where encryption is prohibited or prohibitively expensive Key distribution protocols are under development (independent of IP v 4/v 6) Support for manual key configuration required

Authentication Header Next Header Hdr Ext Len Reserved Security Parameters Index (SPI) Sequence Number Authentication Header Next Header Hdr Ext Len Reserved Security Parameters Index (SPI) Sequence Number Authentication Data n n n Destination Address + SPI identifies security association state (key, lifetime, algorithm, etc. ) Provides authentication and data integrity for all fields of IPv 6 packet that do not change en-route Default algorithm is Keyed MD 5

Encapsulating Security Payload (ESP) Security Parameters Index (SPI) Sequence Number Payload Padding Length Authentication Encapsulating Security Payload (ESP) Security Parameters Index (SPI) Sequence Number Payload Padding Length Authentication Data Next Header

Quality of Service Quality of Service

IP Quality of Service Approaches Two basic approaches developed by IETF: n “Integrated Service” IP Quality of Service Approaches Two basic approaches developed by IETF: n “Integrated Service” (int-serv) n n fine-grain (per-flow), quantitative promises (e. g. , x bits per second), uses RSVP signaling “Differentiated Service” (diff-serv) n coarse-grain (per-class), qualitative promises (e. g. , higher priority), no explicit signaling

IPv 6 Support for Int-Serv 20 -bit Flow Label field to identify specific flows IPv 6 Support for Int-Serv 20 -bit Flow Label field to identify specific flows needing special Qo. S n n n each source chooses its own Flow Label values; routers use Source Addr + Flow Label to identify distinct flows Flow Label value of 0 used when no special Qo. S requested (the common case today) this part of IPv 6 is not standardized yet, and may well change semantics in the future

IPv 6 Support for Diff-Serv 8 -bit Traffic Class field to identify specific classes IPv 6 Support for Diff-Serv 8 -bit Traffic Class field to identify specific classes of packets needing special Qo. S n n n same as new definition of IPv 4 Type-of. Service byte may be initialized by source or by router enroute; may be rewritten by routers enroute traffic Class value of 0 used when no special Qo. S requested (the common case today)

Compromise n Signaled diff-serv (RFC 2998) n n uses RSVP for signaling with course-grained Compromise n Signaled diff-serv (RFC 2998) n n uses RSVP for signaling with course-grained qualitative aggregate markings allows for policy control without requiring per-router state overhead

Mobility Mobility

IPv 6 Mobility n Mobile hosts have one or more home address n n IPv 6 Mobility n Mobile hosts have one or more home address n n A Host will acquire a foreign address when it discovers it is in a foreign subnet (i. e. , not its home subnet) n n relatively stable; associated with host name in DNS uses auto-configuration to get the address registers the foreign address with a home agent, i. e, a router on its home subnet Packets sent to the mobile’s home address(es) are intercepted by home agent and forwarded to the foreign address, using encapsulation Mobile IPv 6 hosts will send binding-updates to correspondent to remove home agent from flow

Mobile IP (v 4 version) mobile host correspondent host foreign agent home location of Mobile IP (v 4 version) mobile host correspondent host foreign agent home location of mobile host

Mobile IP (v 4 version) mobile host correspondent host foreign agent home location of Mobile IP (v 4 version) mobile host correspondent host foreign agent home location of mobile host

Mobile IP (v 4 version) mobile host correspondent host foreign agent home location of Mobile IP (v 4 version) mobile host correspondent host foreign agent home location of mobile host

Mobile IP (v 4 version) mobile host correspondent host foreign agent home location of Mobile IP (v 4 version) mobile host correspondent host foreign agent home location of mobile host

Mobile IP (v 6 version) mobile host correspondent host home agent home location of Mobile IP (v 6 version) mobile host correspondent host home agent home location of mobile host

Mobile IP (v 6 version) mobile host correspondent host home agent home location of Mobile IP (v 6 version) mobile host correspondent host home agent home location of mobile host

Mobile IP (v 6 version) mobile host correspondent host home agent home location of Mobile IP (v 6 version) mobile host correspondent host home agent home location of mobile host

Mobile IP (v 6 version) mobile host correspondent host home agent home location of Mobile IP (v 6 version) mobile host correspondent host home agent home location of mobile host

Mobile IP (v 6 version) mobile host correspondent host home agent home location of Mobile IP (v 6 version) mobile host correspondent host home agent home location of mobile host

IPv 6 Routing IPv 6 Routing

RIPng n n RIPv 2, supports split-horizon with poisoned reverse RFC 2080 RIPng n n RIPv 2, supports split-horizon with poisoned reverse RFC 2080

BGP 4+ Overview n n n Added IPv 6 address-family Added IPv 6 transport BGP 4+ Overview n n n Added IPv 6 address-family Added IPv 6 transport Runs within the same process - only one AS supported All generic BGP functionality works as for IPv 4 Added functionality to route-maps and prefix-lists

IPv 6 routing n OSPF & ISIS updated for IPv 6 IPv 6 routing n OSPF & ISIS updated for IPv 6

Outline n n n Protocol Background Technology Highlights Enhanced Capabilities Transition Issues Next Steps Outline n n n Protocol Background Technology Highlights Enhanced Capabilities Transition Issues Next Steps

Porting Issues Porting Issues

Effects on higher layers n n n Changes TCP/UDP checksum “pseudo-header” Affects anything that Effects on higher layers n n n Changes TCP/UDP checksum “pseudo-header” Affects anything that reads/writes/stores/passes IP addresses (just about every higher protocol) Packet lifetime no longer limited by IP layer (it never was, anyway!) Bigger IP header must be taken into account when computing max payload sizes New DNS record type: AAAA and (new) A 6 …

Sockets API Changes n n n n Name to Address Translation Functions Address Conversion Sockets API Changes n n n n Name to Address Translation Functions Address Conversion Functions Address Data Structures Wildcard Addresses Constant Additions Core Sockets Functions Socket Options New Macros

Core Sockets Functions n Core APIs n. Use IPv 6 Family and Address Structures Core Sockets Functions n Core APIs n. Use IPv 6 Family and Address Structures nsocket() Uses PF_INET 6 n Functions that pass addresses nbind() nconnect() nsendmsg() nsendto() n Functions that return addresses naccept() nrecvfrom() nrecvmsg() ngetpeername() ngetsockname()

Name to Address Translation n getaddrinfo() n Pass in nodename and/or servicename string Can Name to Address Translation n getaddrinfo() n Pass in nodename and/or servicename string Can Be Address and/or Port n n Optional Hints for Family, Type and Protocol n n Pointer to Linked List of addrinfo structures Returned n n Flags – AI_PASSIVE, AI_CANNONNAME, AI_NUMERICHOST, AI_NUMERICSERV, AI_V 4 MAPPED, AI_ALL, AI_ADDRCONFIG Multiple Addresses to Choose From freeaddrinfo() struct addrinfo { int ai_flags; int ai_family; int getaddrinfo( int ai_socktype; IN const char FAR * nodename, int ai_protocol; IN const char FAR * servname, size_t ai_addrlen; IN const struct addrinfo FAR * hints, char *ai_canonname; OUT struct addrinfo FAR * res struct sockaddr *ai_addr; ); struct addrinfo *ai_next; };

Address to Name Translation getnameinfo() n n Pass in address (v 4 or v Address to Name Translation getnameinfo() n n Pass in address (v 4 or v 6) and port n n n Size Indicated by salen Also Size for Name and Service buffers (NI_MAXHOST, NI_MAXSERV) Flags n n n NI_NOFQDN NI_NUMERICHOST NI_NAMEREQD NI_NUMERICSERV NI_DGRAM int getnameinfo( IN const struct sockaddr FAR * sa, IN socklen_t salen, OUT char FAR * host, IN size_t hostlen, OUT char FAR * serv, IN size_t servlen, IN int flags );

Porting Environments n Node Types n n Application Types n n IPv 4 -only Porting Environments n Node Types n n Application Types n n IPv 4 -only IPv 6/IPv 4 IPv 6 -unaware IPv 6 -capable IPv 6 -required IPv 4 Mapped Addresses

Porting Issues n Running on ANY System n Including IPv 4 -only n Address Porting Issues n Running on ANY System n Including IPv 4 -only n Address Size Issues n New IPv 6 APIs for IPv 4/IPv 6 n Ordering of API Calls n User Interface Issues n Higher Layer Protocol Changes

Specific things to look for n Storing IP address in 4 bytes of an Specific things to look for n Storing IP address in 4 bytes of an array. n Use of explicit dotted decimal format in UI. n Obsolete / New: n AF_INET replaced by AF_INET 6 n SOCKADDR_IN replaced by SOCKADDR_STORAGE n IPPROTO_IP replaced by IPPROTO_IPV 6 n IP_MULTICAST_LOOP replaced by SIO_MULTIPOINT_LOOPBACK n gethostbyname replaced by getaddrinfo n gethostbyaddr replaced by getnameinfo

IPv 6 literal addresses in URL’s From RFC 2732 Literal IPv 6 Address Format IPv 6 literal addresses in URL’s From RFC 2732 Literal IPv 6 Address Format in URL's Syntax To use a literal IPv 6 address in a URL, the literal address should be enclosed in "[" and "]" characters. For example the following literal IPv 6 addresses: FEDC: BA 98: 7654: 3210 3 ffe: 2 a 00: 100: 7031: : 192. 9. 5. 5 2010: 836 B: 4179: : 836 B: 4179 n would be represented as in the following example URLs: http: //[FEDC: BA 98: 7654: 3210: FEDC: BA 98: 7654: 3210]: 80/index. html http: //[3 ffe: 2 a 00: 100: 7031: : 1] http: //[: : 192. 9. 5. 5]/ipng http: //[2010: 836 B: 4179: : 836 B: 4179]

Other Issues n Renumbering & Mobility routinely result in changing IP Addresses – n Other Issues n Renumbering & Mobility routinely result in changing IP Addresses – n n Use Names and Resolve, Don’t Cache Multihomed Servers n n n More Common with IPv 6 Try All Addresses Returned Using New IPv 6 Functionality

Porting Steps -Summary n Use IPv 4/IPv 6 Protocol/Address Family n Fix Address Structures Porting Steps -Summary n Use IPv 4/IPv 6 Protocol/Address Family n Fix Address Structures nin 6_addr nsockaddr_in 6 nsockaddr_storage n to allocate storage Fix Wildcard Address Use nin 6 addr_any, IN 6 ADDR_ANY_INIT nin 6 addr_loopback, IN 6 ADDR_LOOPBACK_INIT n Use IPv 6 Socket Options n. IPPROTO_IPV 6, n Options as Needed Use getaddrinfo() n. For Address Resolution

IPv 4 - IPv 6 Co-Existence / Transition IPv 4 - IPv 6 Co-Existence / Transition

IPv 6 Timeline (A pragmatic projection) 2000 2001 2002 2003 2004 Q Q Q IPv 6 Timeline (A pragmatic projection) 2000 2001 2002 2003 2004 Q Q Q Q 1 2 3 4 2005 2006 2007 Q Q Q Q 1 2 3 4 • Early adopter • Application porting <= Duration 3+ years => • ISP adoption <= Duration 3+ years => • Consumer adoption <= Duration 5+ years => • Enterprise adoption <= Duration 3+ years =>

Deployments n IPv 6 deployments will occur piecewise from the edge. n Core infrastructure Deployments n IPv 6 deployments will occur piecewise from the edge. n Core infrastructure only moving when significant customer usage demands it. n Platforms and products that are updated first need to address the lack of ubiquity. Whenever possible, devices and applications should be capable of both IPv 4 & IPv 6, to minimize the delays and potential failures inherent in translation points.

Impediments to IPv 6 deployment n n n Applications n Move to the new Impediments to IPv 6 deployment n n n Applications n Move to the new APIs NOW

Transition / Co-Existence Techniques A wide range of techniques have been identified and implemented, Transition / Co-Existence Techniques A wide range of techniques have been identified and implemented, basically falling into three categories: n (1) dual-stack techniques, to allow IPv 4 and IPv 6 to co-exist in the same devices and networks n (2) tunneling techniques, to avoid order dependencies when upgrading hosts, routers, or regions n (3) translation techniques, to allow IPv 6 -only devices to communicate with IPv 4 -only devices Expect all of these to be used, in combination

Dual-Stack Approach n When adding IPv 6 to a system, do not delete IPv Dual-Stack Approach n When adding IPv 6 to a system, do not delete IPv 4 n n n this multi-protocol approach is familiar and well-understood (e. g. , for Apple. Talk, IPX, etc. ) note: in most cases, IPv 6 will be bundled with new OS releases, not an extra-cost add-on Applications (or libraries) choose IP version to use n when initiating, based on DNS response: n. Prefer n n scope match first, when equal IPv 6 over IPv 4 when responding, based on version of initiating packet This allows indefinite co-existence of IPv 4 and IPv 6, and gradual app-by-app upgrades to IPv 6 usage

Tunnels to Get Through IPv 6 -Ignorant Routers n n Encapsulate IPv 6 packets Tunnels to Get Through IPv 6 -Ignorant Routers n n Encapsulate IPv 6 packets inside IPv 4 packets (or MPLS frames) Many methods exist for establishing tunnels: n n n manual configuration “tunnel brokers” (using web-based service to create a tunnel) automatic (depricated, using IPv 4 as low 32 bits of IPv 6) “ 6 -over-4” (intra-domain, using IPv 4 multicast as virtual LAN) “ 6 -to-4” (inter-domain, using IPv 4 addr as IPv 6 site prefix) Can view this as: n n IPv 6 using IPv 4 as a virtual NBMA link-layer, or an IPv 6 VPN (virtual public network), over the IPv 4 Internet

Translation n May prefer to use IPv 6 -IPv 4 protocol translation for: n Translation n May prefer to use IPv 6 -IPv 4 protocol translation for: n new kinds of Internet devices (e. g. , cell phones, cars, appliances) benefits of shedding IPv 4 stack (e. g. , serverless autoconfig) This is a simple extension to NAT techniques, to translate header format as well as addresses n n n IPv 6 nodes behind a translator get full IPv 6 functionality when talking to other IPv 6 nodes located anywhere they get the normal (i. e. , degraded) NAT functionality when talking to IPv 4 devices drawback : minimal gain over IPv 4/IPv 4 NAT approach

Tunnels n n n 6 to 4 Configured Automatic Tunnels n n n 6 to 4 Configured Automatic

6 to 4 tunnels FP (3 bits) TLA (13 bits) IPv 4 Address (32 6 to 4 tunnels FP (3 bits) TLA (13 bits) IPv 4 Address (32 bits) SLA ID (16 bits) Interface ID (64 bits) 001 0 x 0002 ISP assigned Locally administered Auto configured 2002: 8243: 1: : /48 2002: 947 A: 1: : /48 IPv 4 IPv 6 148. 122. 0. 1 130. 67. 0. 1 11. 0. 0. 1 6 to 4 prefix is 2002: : /16 + IPv 4 address. 2002: a. b. c. d: : /48 IPv 6 Internet 6 to 4 relay 2002: B 00: 1: : 1 Announces 2002: : /16 to the IPv 6 Internet

6 to 4 tunnels II Pros Cons Minimal configuration All issues that NMBA networks 6 to 4 tunnels II Pros Cons Minimal configuration All issues that NMBA networks have. Only site border router needs to know about 6 to 4 Requires relay router to reach native IPv 6 Internet Works without adjacent native IPv 6 routers Has to use 6 to 4 addresses, not native. NB: there is a draft describing how to use IPv 4 anycast to reach the relay router. (This is already supported, by our implementation. . . )

Configured tunnels 3 ffe: c 00: 2: : /48 3 ffe: c 00: 1: Configured tunnels 3 ffe: c 00: 2: : /48 3 ffe: c 00: 1: : /48 IPv 4 IPv 6 130. 67. 0. 1 -------------------|IPv 4 header|IPv 6 header IPv 6 payload| -------------------IPv 4 protocol type = 41 IPv 6 148. 122. 0. 1

Configured tunnels II Pros Cons As point to point links Has to be configured Configured tunnels II Pros Cons As point to point links Has to be configured and managed Multicast Inefficient traffic patterns Real addresses No keepalive mechanism, interface is always up

Automatic tunnels 0 IPv 4 Address (32 bits) Defined ISP assigned 148. 122. 0. Automatic tunnels 0 IPv 4 Address (32 bits) Defined ISP assigned 148. 122. 0. 1 : : 148. 122. 0. 1 130. 67. 0. 1 : : 130. 67. 0. 1 IPv 6 Connects dual stacked nodes Quite obsolete IPv 4 IPv 6 Internet

Automatic tunnels II Pros Cons Obsolete Difficult to reach the native IPv 6 Internet, Automatic tunnels II Pros Cons Obsolete Difficult to reach the native IPv 6 Internet, without injecting IPv 4 routing information in the IPv 6 routing table Useful for some other mechanisms, like BGP tunnels Has to use IPv 4 compatible addresses

Tunneling issues n n IPv 4 fragmentation needs to be reconstructed at tunnel endpoint. Tunneling issues n n IPv 4 fragmentation needs to be reconstructed at tunnel endpoint. No translation of Path MTU messages between IPv 4 & IPv 6. Translating IPv 4 ICMP messages and pass back to IPv 6 originator. May result in an inefficient topology.

Tunneling issues II n n Tunnel interface is always up. Use routing protocol to Tunneling issues II n n Tunnel interface is always up. Use routing protocol to determine link failures. Be careful with using the same IPv 4 source address for several tunneling mechanisms. Demultiplexing incoming packets is difficult.

Deployment scenarios n Many ways to deliver IPv 6 services to End Users n Deployment scenarios n Many ways to deliver IPv 6 services to End Users n n Service Providers and Enterprises may have different deployment needs IPv 6 over IPv 4 tunnels Dedicated Data Link layers for native IPv 6 n n Most important is End to End IPv 6 traffic forwarding no impact on IPv 4 traffic & revenues Dual stack Networks n IPv 6 over MPLS or IPv 4 -IPv 6 Dual Stack Routers

Media - Interface Identifier n n n IEEE interfaces - EUI-64 n MAC-address: 0050. Media - Interface Identifier n n n IEEE interfaces - EUI-64 n MAC-address: 0050. a 218. 0 c 38 n Interface ID: 250: A 2 FF: FE 18: C 38 P 2 P links (HDLC, PPP) n Interface ID: 50: A 218: C 00: D n 48 bits from the first MAC address in the box + 16 bit interface index. U/L bit off IPv 4 tunnels n Interface ID: : : a. b. c. d

Outline n n n Protocol Background Technology Highlights Enhanced Capabilities Transition Issues Next Steps Outline n n n Protocol Background Technology Highlights Enhanced Capabilities Transition Issues Next Steps

Current Status Current Status

Standards n core IPv 6 specifications are IETF Draft Standards => well-tested & stable Standards n core IPv 6 specifications are IETF Draft Standards => well-tested & stable n n other important specs are further behind on the standards track, but in good shape n n n IPv 6 base spec, ICMPv 6, Neighbor Discovery, PMTU Discovery, IPv 6 -over-Ethernet, IPv 6 -over-PPP, . . . mobile IPv 6, header compression, A 6 DNS support, . . . for up-to-date status: playground. sun. com/ipng UMTS R 5 cellular wireless standards mandate IPv 6

Implementations n Most IP stack vendors have an implementation at some stage of completeness Implementations n Most IP stack vendors have an implementation at some stage of completeness n n n some are shipping supported product today, e. g. , 3 Com, *BSD(KAME), Cisco, Epilogue, Ericsson/Telebit, IBM, Hitachi, NEC, Nortel, Sun, Trumpet others have beta releases now, supported products soon, e. g. , Compaq, HP, Linux community, Microsoft others rumored to be implementing, but status unkown (to me), e. g. , Apple, Bull, Juniper, Mentat, Novell, SGI (see playground. sun. com/ipng for most recent status reports) Good attendance at frequent testing events

IPv 6 Addresses Bootstrap phase n Where to get address space? n n n IPv 6 Addresses Bootstrap phase n Where to get address space? n n n Real IPv 6 address space now allocated by APNIC, ARIN and RIPE NCC APNIC ARIN RIPE NCC 6 Bone 2001: 0200: : /23 2001: 0400: : /23 2001: 0600: : /23 3 FFE: : /16 Have a look at www. cisco. com/ipv 6 for further information

IPv 6 Address Space Current Allocations n APNIC (whois. apnic. net) CONNECT-AU-19990916 2001: 210: IPv 6 Address Space Current Allocations n APNIC (whois. apnic. net) CONNECT-AU-19990916 2001: 210: : /35 WIDE-JP-19990813 2001: 200: : /35 NUS-SG-19990827 2001: 208: : /35 SONYTELECOM-JPNIC-JP-20001207 2001: 298: : /35 TTNET-JPNIC-JP-20001208 2001: 2 A 0: : /35 CCCN-JPNIC-JP-20001228 2001: 02 A 8: : /35 IMNET-JPNIC-JP-20000314 2001: 0248: : /35 KIX-KR-19991006 2001: 220: : /35 KORNET-KRNIC-KR-20010102 2001: 02 B 0: : /35 ETRI-KRNIC-KR-19991124 2001: 230: : /35 n NTT-JP-19990922 2001: 218: : /35 ESNET-V 6 2001: 0400: : /35 ARIN-001 2001: 0400: : /23 VBNS-IPV 6 2001: 0408: : /35 CANET 3 -IPV 6 2001: 0410: : /35 VRIO-IPV 6 -0 2001: 0418: : /35 CISCO-IPV 6 -1 2001: 0420: : /35 QWEST-IPV 6 -1 2001: 0428: : /35 DEFENSENET 2001: 0430: : /35 ABOVENET-IPV 6 2001: 0438: : /35 SPRINT-V 6 2001: 0440: : /35 UNAM-IPV 6 2001: 0448: : /35 GBLX-V 6 2001: 0450: : /35 HINET-TW-20000208 2001: 238: : /35 IIJ-JPNIC-JP-20000308 2001: 240: : /35 CERNET-CN-20000426 2001: 250: : /35 INFOWEB-JPNIC-JP-2000502 2001: 258: : /35 JENS-JP-19991027 2001: 228: : /35 BIGLOBE-JPNIC-JP-20000719 2001: 260: : /35 6 DION-JPNIC-JP-20000829 2001: 268: : /35 DACOM-BORANET-20000908 2001: 270: : /35 ODN-JPNIC-JP-20000915 2001: 278: : /35 KOLNET-KRNIC-KR-20000927 2001: 280: : /35 HANANET-KRNIC-KR-20001030 2001: 290: : /35 TANET-TWNIC-TW-20001006 2001: 288: : /35 ARIN (whois. arin. net) January 5 th, 2001

IPv 6 Address Space Current Allocations n RIPE (whois. ripe. net) EU-EUNET-20000403 2001: 0670: IPv 6 Address Space Current Allocations n RIPE (whois. ripe. net) EU-EUNET-20000403 2001: 0670: : /35 UK-BT-19990903 2001: 0618: : /35 DE-IPF-20000426 2001: 0678: : /35 CH-SWITCH-19990903 2001: 0620: : /35 DE-NACAMAR-20000403 2001: 0668: : /35 AT-ACONET-19990920 2001: 0628: : /35 DE-XLINK-20000510 2001: 0680: : /35 UK-JANET-19991019 2001: 0630: : /35 DE-DFN-19991102 2001: 0638: : /35 NL-SURFNET-19990819 2001: 0610: : /35 RU-FREENET-19991115 2001: 0640: : /35 GR-GRNET-19991208 2001: 0648: : /35 EU-UUNET-19990810 2001: 0600: : /35 DE-TRMD-20000317 2001: 0658: : /35 FR-RENATER-20000321 2001: 0660: : /35 DE-ECRC-19991223 2001: 0650: : /35 FR-TELECOM-20000623 2001: 0688: : /35 PT-RCCN-20000623 2001: 0690: : /35 SE-SWIPNET-20000828 2001: 0698: : /35 PL-ICM-20000905 2001: 06 A 0: : /35 DE-SPACE-19990812 2001: 0608: : /35 BE-BELNET-20001101 2001: 06 A 8: : /35 SE-SUNET-20001218 2001: 06 B 0: : /35 IT-CSELT-20001221 2001: 06 B 8: : /35 SE-TELIANET-20010102 2001: 06 C 0: : /35

Deployment n experimental infrastructure: the 6 bone n n production infrastructure in support of Deployment n experimental infrastructure: the 6 bone n n production infrastructure in support of education and research: the 6 ren n n for testing and debugging IPv 6 protocols and operations (see www. 6 bone. net) CAIRN, Canarie, CERNET, Chunahwa Telecom, Dante, ESnet, Internet 2, IPFNET, NTT, Renater, Singren, Sprint, SURFnet, v. BNS, WIDE (see www. 6 ren. net, www. 6 tap. net) commercial infrastructure n a few ISPs (IIJ, NTT, SURFnet, Trumpet, …) have announced commercial IPv 6 service or service trials

Deployment (cont. ) n IPv 6 address allocation n 6 bone procedure for test Deployment (cont. ) n IPv 6 address allocation n 6 bone procedure for test address space regional IP address registries (APNIC, ARIN, RIPE-NCC) for production address space deployment advocacy (a. k. a. marketing) n IPv 6 Forum: www. ipv 6 forum. com

Much Still To Do though IPv 6 today has all the functional capability of Much Still To Do though IPv 6 today has all the functional capability of IPv 4, n implementations are not as advanced (e. g. , with respect to performance, multicast support, compactness, instrumentation, etc. ) n deployment has only just begun n much work to be done moving application, middleware, and management software to IPv 6 n much training work to be done (application developers, network administrators, sales staff, …) n many of the advanced features of IPv 6 still need specification, implementation, and deployment work

Recent IPv 6 “Hot Topics” in the IETF n n n n multihoming / Recent IPv 6 “Hot Topics” in the IETF n n n n multihoming / address selection address allocation DNS discovery 3 GPP usage of IPv 6 anycast addressing scoped address architecture flow-label semantics API issues n n n enhanced router-to-host info site renumbering procedures temp. addresses for privacy inter-domain multicast routing address propagation and AAA issues of different access scenarios n n (always-on, dial-up, mobile, …) and, of course, transition / co-existence / interoperability with IPv 4 (flow label, traffic class, PMTU discovery, scoping, …) Note: this indicates vitality, not incompleteness, of IPv 6!

Next Steps Next Steps

For More Information n n http: //www. ietf. org/html. charters/ipngwgcharter. html http: //www. ietf. For More Information n n http: //www. ietf. org/html. charters/ipngwgcharter. html http: //www. ietf. org/html. charters/ngtranscharter. html http: //playground. sun. com/ipv 6/ http: //www. 6 bone. net/ngtrans/

For More Information n n http: //www. 6 bone. net http: //www. ipv 6 For More Information n n http: //www. 6 bone. net http: //www. ipv 6 forum. com http: //www. ipv 6. org http: //www. cisco. com/ipv 6/ http: //www. microsoft. com/windows 2000/librar y/howitworks/communications/networkbasics/ IPv 6. asp

For More Information n BGP 4+ References n n RFC 2858 Multiprotocol extension to For More Information n BGP 4+ References n n RFC 2858 Multiprotocol extension to BGP RFC 2545 BGP MP for IPv 6 RFC 2842 Capability negotiation RIPng RFC 2080

Other Sources of Information n Books n n n IPv 6, The New Internet Other Sources of Information n Books n n n IPv 6, The New Internet Protocol by Christian Huitema (Prentice Hall) Internetworking IPv 6 with Cisco Routers by Silvano Gai (Mc. Graw-Hill) and many more. . . (14 hits at Amazon. com)

Questions? 2213 1313_06_2000_c 2 © 2000, Cisco Systems, Inc. 119 Questions? 2213 1313_06_2000_c 2 © 2000, Cisco Systems, Inc. 119

Cisco Systems Cisco Systems