500 likes | 664 Views
Next Generation IP (IPv6). IPv4 Doomsday ?. Approx. 27% remain unallocated. Size of the Internet. Distribution Statement A: Cleared for Public Release; Distribution is unlimited. CIDR deployment. No Growth. Linear Growth. Exponential Growth. Exponential Growth - CIDR breaking down.
E N D
IPv4 Doomsday ? Approx. 27% remain unallocated Size of the Internet Distribution Statement A: Cleared for Public Release; Distribution is unlimited.
CIDR deployment No Growth Linear Growth Exponential Growth Exponential Growth - CIDR breaking down http://www.telstra.net/ops/bgptable.html Internet BGP Routing Table Distribution Statement A: Cleared for Public Release; Distribution is unlimited.
78 Top Level IPv6 ISPs in 26 Countries Distribution Statement A: Cleared for Public Release; Distribution is unlimited.
78 Top Level IPv6 ISPsin 22 months Distribution Statement A: Cleared for Public Release; Distribution is unlimited.
Top Level IPv6 ISPs • American Registry for Internet Numbers (ARIN). (15) • ESNET(US), vBNS(US), CANET3(CA), VRIO(US), CISCO(US), QWEST(US), DEFENSENET(US), ABOVENET(US), SPRINT(US), UNAM(MX), GBLX(US), STEALTH (US), NET-CW-10BLK(US), ABILENE(US), and HURRICANE(US). • Asian Pacific Network Information Centre (APNIC). (29) • WIDE(JP), NUS(SG), CONNECT(AU), KIX(KR), NTT(JP), JENS(JP), ETRI(KR), HINET(TW), IIJ(JP), IMNET(JP), CERNET(CN), INFOWEB(JP), BIGLOBE(JP), 6DION (JP), DACOM-BORONET(KR), ODN(JP), KOLNET(KR), TANET(TW), HANANET(KR), SONYTELECOM(JP), TTNET(JP), CCCN (JP), KORNET(KR), NGINET (KR), INFOSHERE(JP), OMP(JP), and ZAMA (JP), SHTELCOMNET(KR), and HKNET(HK). • Reseaux IP Europeans Network Coordination Centre (RIPE NCC). (34) • UUNET(EU), SPACENET(DE), SURFNET(NL), BT(UK), SWITCH(CH), ACONET(AT), JANET(UK), DFN(DE), FREENET(RU), GRNET(GR), ECRC(DE), TRMD(DE), RENATER(FR), NACAMAR(DE), EUNET(EU), GIGABELL(DE), XLINK(DE), TELECOM(FR), RCCN(PT), SWIPNET(SE), ICM(PL), BELNET(BE), SUNET(SE), CSELT(IT), TELIANET (SE), TELEDANMARK (DK), ROSNIIROS(RU), CYFRONET(PL), INTOUCH(NL), TELIVO(FI), DIGITAL(SE), EASYNET(UK), UNINETT(NO), and FUNET(FI). Distribution Statement A: Cleared for Public Release; Distribution is unlimited.
Why a New IP? • 1991 – ALE WG studied projections about address consumption rate showed exhaustion by 2008. • Bake-off in mid-1994 selected approach of a new protocol over multiple layers of encapsulation.
What Ever Happened to IPv5? 0 IP March 1977 version (deprecated) 1 IP January 1978 version (deprecated) 2 IP February 1978 version A (deprecated) 3 IP February 1978 version B (deprecated) 4 IPv4 September 1981 version (current widespread) 5 ST Stream Transport (not a new IP, little use) 6 IPv6 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? • Dial-access / PPP / DHCP • Provides temporary allocation aligned with actual endpoint use. • Strict allocation policies • Reduced allocation rates by policy of ‘current-need’ vs. previous policy based on ‘projected-maximum-size’. • CIDR • 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 • Hides many nodes behind limited set of public addresses.
What did intense conservation efforts of the last 5 years buy us? • Actual allocation history • 1981 – IPv4 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? • NO! • NAT enforces a ‘client-server’ application model where the server has topological constraints. • 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? • Expectation of a resurgence of “always-on” technologies • xDSL, cable, Ethernet-to-the-home, Cell-phones, etc. • Expectation of new users with multiple devices. • China, India, etc. as new growth • Consumer appliances as network devices • (1015 endpoints) • Expectation of millions of new networks. • Expanded competition and structured delegation. • (1012 sites)
Always-on Devices Need an Address When You Call Them Global Addressing Realm Return to an End-to-End Architecture New Technologies/Applications for Home Users ‘Always-on’—Cable, DSL, Ethernet@home, Wireless,…
Why is a larger address space needed? • Overall Internet is still growing its user base • ~320 million users in 2000 : ~550 million users by 2005 • Users expanding their connected device count • 405 million mobile phones in 2000, over 1 billion by 2005 • UMTS Release 5 is Internet Mobility, ~ 300M 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 • 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 Chosenas the IPv6 Address Size? Proposals for fixed-length, 64-bit addresses • 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 • 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 • (340,282,366,920,938,463,463,374,607,431,768,211,456 in all!)
Benefits of128 bit Addresses • Room for many levels of structured hierarchy and routing aggregation • Easy address auto-configuration • Easier address management and delegation than IPv4 • Ability to deploy end-to-end IPsec(NATs removed as unnecessary)
Incidental Benefits ofNew Deployment • Chance to eliminate some complexity in IP header • improve per-hop processing • Chance to upgrade functionality • multicast, QoS, mobility • Chance to include new features • binding updates
Summary of Main IPv6 Benefits • 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
IPv6 Advanced Features • 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)
IPv6 Markets • Home Networking • Set-top box/Cable/xDSL/Ether@Home • Residential Voice over IP gateway • Gaming (10B$ market) • Sony, Sega, Nintendo, Microsoft • Mobile devices • Consumer PC • Consumer Devices • Sony (Mar/01 - …energetically introducing IPv6 technology into hardware products …) • Enterprise PC • Service Providers • Regional ISP, Carriers, Mobile ISP, and Greenfield ISP’s
Address Complexity • IPv6 has many different kinds of addresses • unicast, anycast, multicast, link-local, site-local, loopback, IPv4-embedded, care-of, manually-assigned, DHCP-assigned, self-assigned, solicited-node, and more… • most of this complexity is also present in IPv4,just never written down in one place • a result of 20 years of protocol evolution • one simplification: no broadcast addresses in IPv6! • uses multicast to achieve same effects
3 m n o p 125-mnop 010 Registry ID Provider ID Subscriber ID Subnet ID Interface ID IPv6 Addresses • Classless addressing/routing (similar to CIDR) • Notation: x:x:x:x:x:x:x:x (x = 16-bit hex number) • contiguous 0s are compressed: 47CD::A456:0124 • IPv6 compatible IPv4 address: ::128.42.1.87 • Address assignment • provider-based (can’t change provider easily) • geographic
Prefix 0000 0000 0000 0001 0000 001 0000 010 0000 011 0000 1 0001 001 010 011 100 101 110 1110 1111 0 1111 10 1111 110 1111 1110 0 1111 1110 10 1111 1110 11 1111 1111 Use Reserved Unassigned Reserved for NSAP Allocation Reserved for IPX Allocation Unassigned Unassigned Unassigned Unassigned Provider-Based Unicast Address IPV4-like Unassigned Reserved for Geographic-Based Unicast Addresses Unassigned Unassigned Unassigned Unassigned Unassigned Unassigned Unassigned Link Local Use Addresses no global uniqueness Site Local Use Addresses no global uniqueness Multicast Addresses
IPv6 Header Prio- rity FlowLabel (24) Ver- sion • 40-byte “base” header • Extension headers (fixed order, mostly fixed length) • fragmentation • source routing • authentication and security • other options HopLimit NextHeader PayloadLen SourceAddress DestinationAddress Next header/data
Routing • Same “longest-prefix match” routing as IPv4 CIDR • Straightforward changes to existing IPv4 routing protocols to handle bigger addresses • unicast: OSPF, RIP-II, IS-IS, BGP4+, … • multicast: MOSPF, PIM, … • Use of Routing header with anycast addresses allows routing packets through particular regions • e.g., for provider selection, policy, performance, etc.
S A B D Example of Using the Routing Header
S A B D Example of Using the Routing Header
S A B D Example of Using the Routing Header
S A B D Example of Using the Routing Header
Transition • Gradual Transition with IPV4 and IPV6 • Dual Stack - (both supported on some nodes) • Tunneling • When v6 passes through v4 network • Encapsulate v6 inside v4 packet with a v6 router as a destination • destination router then sends v6 packet • lose QoS and other desirable features in v4 segment
Tunneling B Z IPV4 IPV4 B Z B Z B B IPV6=D IPV4=Z IPV6=C IPV4=Y IPV6=B IPV6=A
IPv6 Sockets programming • New address family: AF_INET6 • New address data type: in6_addr • New address structure: sockaddr_in6
in6_addr struct in6_addr { uint8_t s6_addr[16]; };
sockaddr_in6 struct sockaddr_in6 { uint8_t sin6_len; sa_family_t sin6_family; in_port_t sin6_port; uint32_t sin6_flowinfo; struct in6_addr sin6_addr; };
Dual Server • In the future it will be important to create servers that handle both IPv4 and IPv6. • The work is handled by the O.S. (which contains protocol stacks for both v4 and v6): • automatic creation of IPv6 address from an IPv4 client (IPv4-mapped IPv6 address).
IPv4 client IPv6 client TCP TCP IPv4 IPv4 IPv6 IPv6 Datalink Datalink IPv6 server IPv4-mapped IPv6 address TCP Datalink
IPv6 Clients • If an IPv6 client specifies an IPv4 address for the server, the kernel detects and talks IPv4 to the server. • DNS support for IPv6 addresses can make everything work. • gethostbyname() returns an IPv4 mapped IPv6 address for hosts that only support IPv4.
IPv6 - IPv4 Programming • The kernel does the work, we can assume we are talking IPv6 to everyone! • In case we really want to know, there are some macros that determine the type of an IPv6 address. • We can find out if we are talking to an IPv4 client or server by checking whether the address is an IPv4 mapped address.
Overview • IPv4 • class D addresses • demonstrated with Mbone (uses tunneling) • Place least significant 23 bits of IP number in last 23 bits of ETH/FDDI address • MSB on in Ethernet indicates multicast • Integral part of IPv6 • problem is making it scale
Link-State Multicast • Each host on a LAN periodically announces the groups it belongs to (IGMP). • Augment update message (LSP) to include set of groups that have members on a particular LAN. • Each router uses Dijkstra's algorithm to compute shortest-path spanning tree for each source/group pair. • Each router caches tree for currently active source/group pairs.
source B R1 R2 A R3 R4 R5 C R6 R7 B source R1 B R2 A R1 R2 A R3 R4 R5 R3 R4 R5 C C R6 R7 R6 R7 B R1 R2 A R3 R4 R5 C R6 R7 source Link State multicastExample
Distance-Vector Multicast Reverse Path Broadcast (RPB) • Each router already knows that shortest path to destination S goes through router N. • When receive multicast packet from S, forward on all outgoing links (except the one on which the packet arrived), iff packet arrived from N. • Eliminate duplicate broadcast packets by only letting “parent” for LAN (relative to S) forward • shortest path to S (learn via distance vector) • smallest address to break ties
Reverse Path Multicast (RPM) • Goal: Prune networks that have no hosts in group G • Step 1: Determine of LAN is a leaf with no members in G • leaf if parent is only router on the LAN • determine if any hosts are members of G using IGMP • Step 2: Propagate “no members of G here” information • augment <Destination, Cost> update sent to neighbors with set of groups for which this network is interested in receiving multicast packets. • only happens with multicast address becomes active.
RP RP Join R3 R2 R4 R3 R2 R4 Join R1 R5 R1 R5 (a) (b) RP RP R3 R2 R4 R3 R2 R4 Join Join Join R1 R5 R1 R5 (c) (d) RP = Rendezvous point Shared tree Source-specific tree for source R1 Create forwarding entry for shared tree PIM Dense Mode
Sparse Mode PIM RP G RP G G R3 R2 R4 RP G G R1 R5 G Host
Open Questions • ATM LANE? • Reliable Multicast • BGP? Exterior routing protocols