810 likes | 1.06k Views
Why IPv6?. 1981 - IPv4 protocol published 1985 ~ 1/16 of total space 1990 ~ 1/8 of total space 1995 ~ 1/3 of total space 2000 ~ 1/2 of total space 2002.5 ~ 2/3 of total space. IP Address Allocation History. This despite increasingly intense conservation efforts: PPP / DHCP address sharing
E N D
1981 - IPv4 protocol published 1985 ~ 1/16 of total space 1990 ~ 1/8 of total space 1995 ~ 1/3 of total space 2000 ~ 1/2 of total space 2002.5 ~ 2/3 of total space IP Address Allocation History • This despite increasingly intense conservation efforts: • PPP / DHCP address sharing • NAT (network address translation) • CIDR (classless inter-domain routing) • plus some address reclamation • Theoretical limit of 32-bit space: ~4 billion devices • Practical limit of 32-bit space: ~250 million devices (RFC 3194)
Users on the Internet – September 2002 • CAN/US 182.67M • Europe 190.92M • Asia/Pac 187.24M • Latin Am 33.35M • Africa 6.31M • Mid-east 5.12M --------------------------- • Total 605.6 M Thanks to Vint Cerf, WorldCom, and www.nua.com
Internet User Trends Source: Nua Internet Surveys + Vint Cerf predictions
More Predictions… 605 Million users Source: Cerf, based on www.nw.com + Ericsson
Running Out of Addresses • Even if every company used only 1 address by fully utilising NATs (Network Address Translation)… • …we would be out of addresses in the next 3-5 years • This point is sometimes hotly debated and disagreed with! • Slower that Y2K problem, but a surer one
More IPv4 Pain • Argh, NATs • Peer-to-peer is difficult • NAT security record is dubious • Management is a pain • Security is an optional add-on • QoS (Quality of Service) is rare and not real-time • Routing tables too large and routing process slow • Mobility is a pain • While peer-to-peer mobility is the future of Internet • Device auto configuration is rare • DHCP & address ownership does not work across organisational boundaries • Using external agents for auto configuration is a non-starter
US versus ROW • US accounts for 90% of address allocation • Some universities in US have more allocated addresses than the whole of Asia • While US is very appreciated for starting and running the Internet the “Rest of the World” is not seen as an equivalent partner • Reliance on US organisations may be politically or legally difficult, at times, for large governmental Internet projects
6 Benefits of IPv6 • Address depletion solved • International misallocation solved • End-to-end communication restored • Scoped addresses & address selection possible • More efficient forwarding and fast routing • Built-in security and mobility
Who’s Doing IPv6? • More places than you would think! • Japanese city of Kyoto (now) • JANET (Joint Academic Network) in UK • US Department of Defense • June 13th 2003 decision made by Pentagon (http://story.news.yahoo.com/news?tmpl=story&cid=1509&ncid=738&e=6&u=/afp/20030613/tc_afp/us_military_internet) • Planning and preparation in 2003-7 • Transition in 2008 • Completion in 2010
Networking Today • Severe shortage of IP addresses • Limits growth for existing users • Hinders use for new users • Routing table explosion • Management nightmare • No support for new applications • Mobility, QoS, etc… • Drive for commercialization killed network exp.
What is IPv6 • IETF standard for the next generation IP • AKA IPng • Design goals • Address the failings of IPv4 • Namely: • Scalability • Efficiency • Extensibility
IP and Scalability… • IPv4 lacks scalability due to addressing • 32 bits address space (4.4 Bn addresses) • Most addresses allocated to US • More addresses, please! • Individually address all mobile handsets • Growth of “always on”, globally addressable devices • Peer-to-peer computing, e.g. ICQ, video/VoIP • Home networking appliances, pervasive computing devices
IPv6 – Size Matters… • Extended address space • 128 bits long • Unicast, Multicast or Anycast formats • Written in hex notation as 16-bit integers • E.g. 2001:630:80:0:0:0:0:1 • 3.4 x 1038 Addresses • 6.7 x 1023 Addresses / m2 on the earth
IPv6 Addressing Model • Addresses are assigned to interfaces • Interfaces can have multiple addresses • Addresses are formed through the combination of: • Routing Prefix – where you are connected to • Interface ID – who you are
Aggregatable Addresses Format prefix 3 bits (001) Reserved 8 bits Prefix length 13 24 16 64 TLA NLA SLA Interface ID 2001:0630:0080:7030:0000:0000:0000:0001/64 TLA Top Level Aggregation identifier NLA Next Level Aggregation identifier SLA Site Level Aggregation identifier IPv6 terminology can drop a single string of all 0s… 2001:630:80:7030::1/64 2001:630:80:7030::/64 loopback ::1unspecified ::0IPv4 Compatible::148.88.8.6
IPv6 General Concepts • Improved routing techniques • Aggregated routing entries designed to reduce routing table sizes • Multicast supported as native communication mode • Authentication and privacy capabilities • Authentication header • Transport + Tunnel Mode
Deployment Issues:Transitioning to IPv6… Contrary to popular belief, IPv6 is not backward compatible…
Compatibility Issues • Introduce IPv6 connectivity into the IPv4 world • IPv6 hosts must be able to communicate with each other across IPv4 nets • As native IPv6 networks become commonplace • IPv4 hosts will need to communicate with each other across IPv6 networks • IPv6 hosts will need to communicate with IPv4 hosts • What about dual stacks?
Plugging it Together… • Three broad categories • Tunnelling (6to4, 6over4, Tunnel brokers, Teredo, ISATAP) • Allowing hosts that support IPv6 to talk IPv6 to other IPv6 hosts • Translation (SIIT, NAT-PT, SOCKS, BIS) • Translation between the two • Dual Stack (DSTM)
Dual IP Stacks • Simplest method: Both stacks in parallel in hosts and routers • Upgrade routers, and host OS • Host upgrade can be gradual • Application support: • Existing applications continue to run • IPv6 applications (experimental or not…) can be introduced • Interoperation of v4 and v6 is another issue • Applications to be modified to handle both?
Dual IP Stacks (2) • Issues • Solution does not scale: • New IPv6 hosts that need IPv4 compatibility will quickly eat up IPv4 address space • Two IP routing tables will place a burden on routers • Entire path dual stack? • No real stimulus for moving to IPv6
Dual Stack Transition Mechanism (DSTM) • Addresses problem of new dual stack hosts exhausting sparse IPv4 address space • Allows IPv6 hosts to temporarily acquire an IPv4 global address • Uses a DHCPv6 server within each domain • Assigns IPv4 address on temporary basis • In instances where IPv6 hosts remain online, temporary assignment becomes permanent… i.e. does not eradicate the problem altogether
Tunnelling • Common mechanism, where one protocol is encapsulated in another • IPv6 over IPv4 tunnelling • Used to transport IPv6 packets over networks that can only understand IPv4 • Normally the most common transition mechanism adopted in early stages • 6BONE is an example of a virtual overlay network of interconnected IPv6 over IPv4 tunnels • Can work in a variety of ways: host to router, router to router, router to host, host to host
Tunnelling (2) • IPv6 over IPv4 tunnels are classified as either configured or automatic, depending on the way the IPv4 address of the endpoint is determined • Approaches • 6to4 – popular, automatic, router to router • 6over4 – single site, relies on IPv4 multicast • Teredo – connectivity to v4 hosts behind NAT • ISATAP – site based, where v6 host and gateway are separated • Tunnel brokers – (web-based) mechanism for obtaining a tunnel
Translation Tools • Translation necessary for IPv6-only and IPv4-only hosts to communicate, should be done near network edge • Translates packets from one protocol to another, taking form of header processing • Can take place at a number of layers • IP layer • Transport layer • Application layer
Translation Tools (2) • Series of tools available • SIIT – translates between IPv4 and IPv6 headers using a translation algorithm located in the network • NAT-PT– maintains a pool of unique v4 add. that it dynamically allocates to v6 nodes • BIS – takes NAT-PT with SIIT functionality and moves it to the OS protocol stack within each host • SOCKS – application layer IPv6/IPv4 gateway based on SOCKS, translating between two terminated v4 and v6 connections
The IPv6 Operations IETF Working Group (v6ops) • Ngtrans group closed, replaced by v6ops • More “operationally oriented” wg • Operating the “combined net” + avoiding a division • Develop guidelines: • Operation of shared v4/v6 Internet • How to deploy v6 into both v4-only and new installations • Why? • V6 is deploying today • V6 has been hiding in a corner of the IETF • Timescales: Oct 2002 – Aug 2003
The bigger questions • How long will deployment take? • 2 addressing modes co-existing • 5/ 10 / 15 years? • What support do we have now? • Hosts • Routers • Applications • ISPs
A Full IPv6 Service? • Production service needs commercial code • Stability, reliability issues • On backbone • Possible now • Hardware-enabled? • Applications • Perhaps some way off yet
A Full IPv6 Service? (2) • Do we have a significant driver? • Less demand where IPv4 address space seen as being sufficient • Users will not demand "IPv6" but demand IPv6-based applications • IPv4 address exhaustion? • Major network infrastructure deployment (e.g., 3G) • Significant research activities in UK and Europe • Universities, NRENs, Consortiums • UK IPv6 Task Force
Features of IPv6 • New header format • Large address space • Efficient and hierarchical addressing and routing infrastructure • Stateless and stateful address configuration • Built-in security • Better support for QoS • New protocol for neighboring node interaction • Extensibility
Feature IPv4 IPv6 Address length 32 bits 128 bits IPSec support Optional Required QoS support Some Better Fragmentation Hosts and routers Hosts only Packet size 576 bytes 1280 bytes Checksum in header Yes No Options in header Yes No Link-layer address resolution ARP (broadcast) Multicast Neighbor Discovery Messages Multicast membership IGMP Multicast Listener Discovery (MLD) Router Discovery Optional Required Uses broadcasts Yes No Configuration Manual, DHCP Automatic, DHCP DNS name queries Uses A records Uses AAAA records DNS reverse queries Uses IN-ADDR.ARPA Uses IP6.INT
Neighbors IPv6 Terminology Host Host Host Bridge Intra-subnet router Router LAN segment Link Subnet Additional subnets Network
The IPv6 Address Space • 128-bit address space • 2128 possible addresses • 340,282,366,920,938,463,463,374,607,431,768,211,456 addresses (3.4 x 1038) • 6.65 x 1023 addresses per square meter of Earth’s surface • 128 bits were chosen to allow multiple levels of hierarchy and flexibility in designing hierarchical addressing and routing • Typical unicast IPv6 address: • 64 bits for subnet ID, 64 bits for interface ID
IPv6 Address Syntax • IPv6 address in binary form: 0010000111011010000000001101001100000000000000000010111100111011 0000001010101010000000001111111111111110001010001001110001011010 • Divided along 16-bit boundaries: 0010000111011010 0000000011010011 0000000000000000 0010111100111011 0000001010101010 0000000011111111 1111111000101000 1001110001011010 • Each 16-bit block is converted to hexadecimal and delimited with colons: 21DA:00D3:0000:2F3B:02AA:00FF:FE28:9C5A • Suppress leading zeros within each 16-bit block: 21DA:D3:0:2F3B:2AA:FF:FE28:9C5A
Compressing Zeros • Some IPv6 addresses contain long sequences of zeros • A single contiguous sequence of 16-bit blocks set to 0 can be compressed to “::” (double-colon) • Example: • FE80:0:0:0:2AA:FF:FE9A:4CA2 becomes FE80::2AA:FF:FE9A:4CA2 • FF02:0:0:0:0:0:0:2 becomes FF02::2 • Cannot use zero compression to include part of a 16-bit block • FF02:30:0:0:0:0:0:5 does not become FF02:3::5.
IPv6 Prefixes • Prefix is the part of the address where the bits have fixed values or are the bits of a route or subnet identifier • IPv6 subnets or routes always uses address/prefix-length notation • CIDR notation • Examples: • 21DA:D3::/48 for a route • 21DA:D3:0:2F3B::/64 for a subnet • No more dotted decimal subnet masks!
Types of IPv6 Addresses • Unicast • Address of a single interface • One-to-one delivery to single interface • Multicast • Address of a set of interfaces • One-to-many delivery to all interfaces in the set • Anycast • Address of a set of interfaces • One-to-one-of-many delivery to a single interface in the set that is closest • No more broadcast addresses
Unicast IPv6 Addresses • Aggregatable global unicast addresses (AGUA) • Link-local addresses • Site-local addresses (not SLA – see later) • Special addresses • Compatibility addresses • NSAP addresses (Network Service Access Point)
Aggregatable Global Unicast Addresses • Top-Level Aggregation ID (TLA ID) • Next-Level Aggregation ID (NLA ID) • Site-Level Aggregation ID (SLA ID) • Interface ID 13 bits 8 bits 24 bits 16 bits 64 bits 001 TLA ID Res NLA ID SLA ID Interface ID
Topologies Within Global Addresses • Public Topology • Site Topology • Interface ID 001 TLA ID Res NLA ID SLA ID Interface ID 16 bits 48 bits 64 bits Site Topology Interface Identifier Public Topology
Efficient Header Construction • IPv4 contains many redundant features… • Variable length IP header options • IP header checksum • …some inefficient ones… • Packet fragmentation • … and some omitted • Packet classification • All of which impact network performance
What’s missing? • The IPv6 protocol header is streamlined for the common-case… • Fixed format header (no options) • No checksum - left to transport and data link layers, no need to check/recalculate each hop • No fragmentation (except at source) • Agree path MTU at the source using Path MTU discovery
What’s new • Revised fields • Payload length vs. Total length • Next Header vs. Protocol type • Hop Limit vs. TTL • New fields • Traffic Class: • To support differentiated services (e.g. prioritised best effort queuing) • Flow Label: • Along with source address, allows identification of packets which are part of a ‘flow’
Extensible headers • Custom headers for specialist functionality… • Fragmentation Headers • Routing Headers • Destination Options • Hop by Hop Headers • Authentication and ESP