Upload
sameh-ahmed-hassan
View
218
Download
0
Embed Size (px)
Citation preview
8/10/2019 Curs_IPv6
1/120
Introduction to IPv6
8/10/2019 Curs_IPv6
2/120
Outline
Protocol Background
Technology Highlights
Enhanced Capabilities
Transition Issues
Next Steps
8/10/2019 Curs_IPv6
3/120
Background
8/10/2019 Curs_IPv6
4/120
8/10/2019 Curs_IPv6
5/120
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, littleuse)
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
8/10/2019 Curs_IPv6
6/120
What about technologies & effortsto 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 routingtable growth rate to linear for a few years.
NAT Hides many nodes behind limited set of public addresses.
8/10/2019 Curs_IPv6
7/120
What did intense conservation effortsof the last 5 years buy us? Actual allocation history
1981IPv4 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 dramaticgrowth in consumer demand during the late90s.
In short they boughtTIME
8/10/2019 Curs_IPv6
8/120
Would increased use ofNATs be adequate?
NO! NAT enforces a client-server application model where the server has
topological constraints.
They wont work for peer-to-peer or devices that are called byothers (e.g., IP phones)
They inhibit deployment of new applications and services, becauseall NATs in the path have to be upgraded BEFORE the applicationcan be deployed.
NAT compromises the performance, robustness, and security of theInternet.
NAT increases complexity and reduces manageability of the localnetwork.
Public address consumption is still rising even with current NATdeployments.
8/10/2019 Curs_IPv6
9/120
What were the goals of anew IP design?
Expectation of a resurgence of always-ontechnologies 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 (1015endpoints)
Expectation of millions of new networks. Expanded competition and structured delegation.
(1012sites)
8/10/2019 Curs_IPv6
10/120
Return to an End-to-EndArchitecture
Global
Addressing
Realm
Always-on Devices
Need an Address
When You Call Them
New Technologies/Applications for Home UsersAlways-onCable, DSL, Ethernet@home, Wireless,
8/10/2019 Curs_IPv6
11/120
Why is a larger address spaceneeded? 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
Wh W 128 Bit Ch
8/10/2019 Curs_IPv6
12/120
Why Was 128 Bits Chosenas the IPv6 Address Size?
Proposals for fixed-length, 64-bit addresses Accommodates 1012sites, 1015nodes, 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!)
8/10/2019 Curs_IPv6
13/120
Benefits of128 bit Addresses
Room for many levels of structured hierarchyand routing aggregation
Easy address auto-configuration Easier address management and delegation
than IPv4
Ability to deploy end-to-end IPsec(NATs removed as unnecessary)
8/10/2019 Curs_IPv6
14/120
Incidental Benefits ofNew Deployment
Chance to eliminate some complexity in IPheader
improve per-hop processing Chance to upgrade functionality
multicast, QoS, mobility
Chance to include new features binding updates
8/10/2019 Curs_IPv6
15/120
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
8/10/2019 Curs_IPv6
16/120
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 AddressAutoconfiguration (RFC 3041)
8/10/2019 Curs_IPv6
17/120
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 ISPs
8/10/2019 Curs_IPv6
18/120
IPv6 Markets
Academic NRN: Internet-II (Abilene, vBNS+), Canarie*3, Renater-II, Surfnet, DFN,
CERNET, 6REN/6TAP
Geographies & Politics: Prime Minister of Japan called for IPv6 (taxes reduction)
EEC summit PR advertised IPv6 as the way to go for Europe
China Vice minister of MII deploying IPv6 with the intent to take aleadership position and create a market force
Wireless (PDA, Mobile, Car,...): Multiple phases before deployment
RFP -> Integration -> trial -> commercial
Requires client devices, eg. IPv6 handset ?
8/10/2019 Curs_IPv6
19/120
Outline
Protocol Background
Technology Highlights
Enhanced Capabilities
Transition Issues
Next Steps
8/10/2019 Curs_IPv6
20/120
A new Header
8/10/2019 Curs_IPv6
21/120
0 31
Version Class Flow Label
Payload Length Next Header Hop Limit
128 bit Source Address
128 bit Destination Address
4 12 2416
The IPv6 Header40 Octets, 8 fields
8/10/2019 Curs_IPv6
22/120
0 31
Ver IHL Total Length
Identifier Flags Fragment Offset
32 bit Source Address
32 bit Destination Address
4 8 2416
Service Type
Options and Padding
Time to Live Header ChecksumProtocol
The IPv4 Header20 octets + options : 13 fields, including 3 flag bits
shaded fields are absent from IPv6 header
8/10/2019 Curs_IPv6
23/120
8/10/2019 Curs_IPv6
24/120
Extension Headers
next h eader =
TCP
TCP header + data
IPv6 header
next header =
Rout ing
TCP header + dataRouting header
next header =
TCP
IPv6 header
next header =
Rout ing
fragment of TCP
header + data
Routing header
next header =
Fragment
Fragment header
next header =
TCP
IPv6 header
8/10/2019 Curs_IPv6
25/120
Extension Headers (cont.)
Generally processed only by node identified inIPv6 Destination Address field => much loweroverhead than IPv4 options processing exception: Hop-by-Hop Options header
Eliminated IPv4s 40-byte limit on options in IPv6, limit is total packet size,
or Path MTU in some cases
Currently defined extension headers: Hop-by-Hop Options, Routing, Fragment,
Authentication, Encryption, Destination Options
8/10/2019 Curs_IPv6
26/120
Fragment Header
though discouraged, can use IPv6 Fragmentheader to support upper layers that do not (yet)do path MTU discovery
IPv6 frag. & reasm. is an end-to-end function;routers do not fragment packets en-route if toobigthey send ICMP packet too big instead
Next Header
Original Packet Identifier
Reserved Fragment Offset 0 0 M
8/10/2019 Curs_IPv6
27/120
Routing Header
8/10/2019 Curs_IPv6
28/120
8/10/2019 Curs_IPv6
29/120
Routing Header
Address[1]
Reserved
Address[0]
Next Header Hdr Ext Len Routing Type Segments Left
f
8/10/2019 Curs_IPv6
30/120
SA
B
D
Example of Using the RoutingHeader
8/10/2019 Curs_IPv6
31/120
Addressing
8/10/2019 Curs_IPv6
32/120
Some Terminology
node a protocol module that implements IPv6
router a node that forwards IPv6 packets not explicitlyaddressed to itself
host any node that is not a routerlink a communication facility or medium over which
nodes can communicate at the link layer,i.e., the layer immediately below IPv6
neighbors nodes attached to the same link
interface a nodes attachment to a linkaddress an IPv6-layer identifier for an interface or a set
of interfaces
8/10/2019 Curs_IPv6
33/120
Text Representation of Addresses
Preferred form:1080:0:FF:0:8:800:200C:417A
Compressed form: FF01:0:0:0:0:0:0:43
becomes FF01::43
IPv4-compatible: 0:0:0:0:0:0:13.1.68.3
or ::13.1.68.3
8/10/2019 Curs_IPv6
34/120
IPv6 - Addressing Model
Link-LocalSite-LocalGlobal
Addresses are assigned to interfaces
No change from IPv4 Model
Interface expected to have multiple addresses
Addresses have scope
Link Local
Site Local
Global
Addresses have lifetime
Valid and Preferred lifetime
8/10/2019 Curs_IPv6
35/120
8/10/2019 Curs_IPv6
36/120
Interface Address set Loopback
(only assigned to a single virtual interface per node)
Link local
Site local
Auto-configured 6to4 (if IPv4 public is address available)
Auto-configured IPv4 compatible (operationally discouraged)
Solicited node Multicast
All node multicast
Global anonymous
Global published
8/10/2019 Curs_IPv6
37/120
D ti ti Add S l ti
8/10/2019 Curs_IPv6
38/120
Destination Address SelectionRules
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 labelfrom policy table
Native IPv6 source > native IPv6 destination
6to4 source > 6to4 destination
IPv4-compatible source > IPv4-compatible destination
IPv4-mapped source> IPv4-mapped destination
Rule 6: Prefer higher precedence Rule 7: Prefer smaller scope
Rule 8: Use longest matching prefix Rule 9: Order returned by DNS
Local policy may override
8/10/2019 Curs_IPv6
39/120
Address Type Prefixes
Address type Binary prefix
IPv4-compatible 0000...0 (96 zero bits)
global unicast 001
link-local unicast 1111 1110 10
site-local unicast 1111 1110 11
multicast 1111 1111
all other prefixes reserved (approx. 7/8ths of total)
anycast addresses allocated from unicast prefixes
8/10/2019 Curs_IPv6
40/120
site
topology
(16 bits)
interface
identifier
(64 bits)
public
topology
(45 bits)
interface IDSLA*NLA*TLA001
Global Unicast Addresses
TLA = Top-Level AggregatorNLA* = Next-Level Aggregator(s)SLA* = Site-Level Aggregator(s)
all subfields variable-length, non-self-encoding (likeCIDR)
TLAs may be assigned to providers or exchanges
8/10/2019 Curs_IPv6
41/120
Link-local addresses for use during auto-configurationand when no routers are present:
Site-local addresses for independence from changesof TLA / NLA*:
Link-Local & Site-Local Unicast
Addresses
1111111010 0 interface ID
1111111011 0 interface IDSLA*
8/10/2019 Curs_IPv6
42/120
Interface IDs
Lowest-order 64-bit field of unicast addressmay be assigned in several different ways:
auto-configured from a 64-bit EUI-64, or expandedfrom 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 P rpose Unicast
8/10/2019 Curs_IPv6
43/120
Some Special-Purpose UnicastAddresses
The unspecified address, used as a placeholder whenno address is available:
0:0:0:0:0:0:0:0
The loopback address, for sending packets to self:
0:0:0:0:0:0:0:1
8/10/2019 Curs_IPv6
44/120
Multicast Address Format
flag field low-order bit indicates permanent/transient group
(three other flags reserved)
scope field: 1 - node local 8 - organization-local 2 - link-local B - community-local
5 - site-local E - global (all other values reserved)
map IPv6 multicast addresses directly into low order32 bits of the IEEE 802 MAC
FP (8bits) Flags (4bits) Scope (4bits) Group ID (32bits)
11111111 000T Lcl/Sit/Gbl Locally administered
RESERVED (80bits)
MUST be 0
Multicast Address Format
8/10/2019 Curs_IPv6
45/120
Multicast Address FormatUnicast-Prefix based
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 P = 1
plen = 0
network prefix = 0
draft-ietf-ipngwg-uni-based-mcast-01.txt
FP (8bits) Flags (4bits) Scope (4bits) Group ID (32bits)
11111111 00PT Lcl/Sit/Gbl Auto configured
reserved (8bits)
MUST be 0
plen (8bits)
Locallyadministered
Network Prefix(64bits)
Unicast prefix
8/10/2019 Curs_IPv6
46/120
Outline
Protocol Background
Technology Highlights
Enhanced Capabilities
Transition Issues
Next Steps
8/10/2019 Curs_IPv6
47/120
Security
8/10/2019 Curs_IPv6
48/120
IPv6 Security
All implementations required to supportauthentication and encryption headers (IPsec)
Authentication separate from encryption for usein situations where encryption is prohibited orprohibitively expensive
Key distribution protocols are under
development (independent of IP v4/v6) Support for manual key configuration required
8/10/2019 Curs_IPv6
49/120
Authentication Header
Destination Address + SPI identifies securityassociation state (key, lifetime, algorithm, etc.)
Provides authentication and data integrity for all fieldsof IPv6 packet that do not change en-route
Default algorithm is Keyed MD5
Next Header Hdr Ext Len
Security Parameters Index (SPI)
Reserved
Sequence Number
Authentication Data
8/10/2019 Curs_IPv6
50/120
Encapsulating Security Payload
(ESP)
Payload
Next Header
Security Parameters Index (SPI)
Sequence Number
Authentication Data
Padding LengthPadding
8/10/2019 Curs_IPv6
51/120
Quality of Service
8/10/2019 Curs_IPv6
52/120
IP Quality of Service Approaches
Two basic approaches developed by IETF:
Integrated Service (int-serv)
fine-grain (per-flow), quantitative promises(e.g., x bits per second), uses RSVP signaling
Differentiated Service (diff-serv)
coarse-grain (per-class), qualitative promises(e.g., higher priority), no explicit signaling
8/10/2019 Curs_IPv6
53/120
IPv6 Support for Int-Serv
20-bit Flow Label field to identify specificflows needing special QoS
each source chooses its own Flow Labelvalues; routers use Source Addr + FlowLabel to identify distinct flows
Flow Label value of 0 used when no special
QoS requested (the common case today) this part of IPv6 is not standardized yet, and
may well change semantics in the future
8/10/2019 Curs_IPv6
54/120
IPv6 Support for Diff-Serv
8-bit Traffic Class field to identify specificclasses of packets needing special QoS
same as new definition of IPv4 Type-of-Service byte
may be initialized by source or by routerenroute; may be rewritten by routers enroute
traffic Class value of 0 used when no specialQoS requested (the common case today)
8/10/2019 Curs_IPv6
55/120
Compromise
Signaled diff-serv (RFC 2998)
uses RSVP for signaling with course-grainedqualitative aggregate markings
allows for policy control without requiring per-routerstate overhead
8/10/2019 Curs_IPv6
56/120
Mobility
8/10/2019 Curs_IPv6
57/120
IPv6 Mobility Mobile hosts have one or more home address
relatively stable; associated with host name in DNS
A Host will acquire a foreign address when it discovers itis in a foreign subnet (i.e., not its home subnet)
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 mobiles home address(es) are
intercepted by home agent and forwarded to the foreignaddress, using encapsulation
Mobile IPv6 hosts will send binding-updates tocorrespondent to remove home agent from flow
8/10/2019 Curs_IPv6
58/120
Mobile IP (v4 version)
home agent
home location of mobile host
foreign agent
mobile host
correspondent
host
8/10/2019 Curs_IPv6
59/120
Mobile IP (v4 version)
home agent
home location of mobile host
foreign agent
mobile host
correspondent
host
8/10/2019 Curs_IPv6
60/120
Mobile IP (v4 version)
home agent
home location of mobile host
foreign agent
mobile host
correspondent
host
8/10/2019 Curs_IPv6
61/120
Mobile IP (v4 version)
home agent
home location of mobile host
foreign agent
mobile host
correspondent
host
8/10/2019 Curs_IPv6
62/120
Mobile IP (v6 version)
home agent
home location of mobile host
mobile host
correspondent
host
8/10/2019 Curs_IPv6
63/120
Mobile IP (v6 version)
home agent
home location of mobile host
mobile host
correspondent
host
8/10/2019 Curs_IPv6
64/120
Mobile IP (v6 version)
home agent
home location of mobile host
mobile host
correspondent
host
8/10/2019 Curs_IPv6
65/120
Mobile IP (v6 version)
home agent
home location of mobile host
mobile host
correspondent
host
8/10/2019 Curs_IPv6
66/120
Mobile IP (v6 version)
home agent
home location of mobile host
mobile host
correspondent
host
8/10/2019 Curs_IPv6
67/120
IPv6 Routing
8/10/2019 Curs_IPv6
68/120
RIPng
RIPv2, supports split-horizon withpoisoned reverse
RFC2080
8/10/2019 Curs_IPv6
69/120
BGP4+ Overview
Added IPv6 address-family
Added IPv6 transport
Runs within the same process - only oneAS supported
All generic BGP functionality works as forIPv4
Added functionality to route-maps andprefix-lists
8/10/2019 Curs_IPv6
70/120
IPv6 routing
OSPF & ISIS updated for IPv6
8/10/2019 Curs_IPv6
71/120
Outline
Protocol Background
Technology Highlights
Enhanced Capabilities
Transition Issues
Next Steps
8/10/2019 Curs_IPv6
72/120
Porting Issues
8/10/2019 Curs_IPv6
73/120
Effects on higher layers
Changes TCP/UDP checksum pseudo-header
Affects anything that reads/writes/stores/passes IPaddresses (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 whencomputing max payload sizes
New DNS record type: AAAA and (new) A6
8/10/2019 Curs_IPv6
74/120
Sockets API Changes Name to Address Translation Functions Address Conversion Functions
Address Data Structures
Wildcard Addresses
Constant Additions
Core Sockets Functions
Socket Options
New Macros
8/10/2019 Curs_IPv6
75/120
Core Sockets Functions
Core APIsUse IPv6 Family and Address Structures
socket() Uses PF_INET6
Functions that pass addressesbind()
connect()
sendmsg()sendto()
Functions that return addressesaccept()
recvfrom()
recvmsg()
getpeername()
getsockname()
8/10/2019 Curs_IPv6
76/120
Name to Address Translation getaddrinfo()
Pass in nodename and/or servicename string Can Be Address and/or Port
Optional Hints for Family, Type and Protocol FlagsAI_PASSIVE, AI_CANNONNAME, AI_NUMERICHOST,
AI_NUMERICSERV, AI_V4MAPPED, AI_ALL, AI_ADDRCONFIG
Pointer to Linked List of addrinfo structures Returned Multiple Addresses to Choose From
freeaddrinfo()
struct addrinfo {
int ai_flags;
int ai_family;
int ai_socktype;
int ai_protocol;
size_t ai_addrlen;
char *ai_canonname;
struct sockaddr *ai_addr;
struct addrinfo *ai_next;
};
int getaddrinfo(IN const char FAR * nodename,
IN const char FAR * servname,
IN const struct addrinfo FAR * hints,
OUT struct addrinfo FAR * FAR * res
);
8/10/2019 Curs_IPv6
77/120
Address to Name Translation getnameinfo()
Pass in address (v4 or v6) and port Size Indicated by salen
Also Size for Name and Service buffers (NI_MAXHOST, NI_MAXSERV)
Flags
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
);
8/10/2019 Curs_IPv6
78/120
Porting Environments Node Types
IPv4-only
IPv6-only
IPv6/IPv4
Application Types IPv6-unaware
IPv6-capable
IPv6-required
IPv4 Mapped Addresses
8/10/2019 Curs_IPv6
79/120
Porting Issues Running on ANY System
Including IPv4-only
Address Size Issues
New IPv6 APIs for IPv4/IPv6
Ordering of API Calls
User Interface Issues
Higher Layer Protocol Changes
8/10/2019 Curs_IPv6
80/120
Specific things to look for
Storing IP address in 4 bytes of an array. Use of explicit dotted decimal format in UI.
Obsolete / New:
AF_INET replaced by AF_INET6
SOCKADDR_IN replaced by SOCKADDR_STORAGE
IPPROTO_IP replaced by IPPROTO_IPV6
IP_MULTICAST_LOOP replaced by SIO_MULTIPOINT_LOOPBACK
gethostbyname replaced by getaddrinfo
gethostbyaddr replaced by getnameinfo
8/10/2019 Curs_IPv6
81/120
IPv6 literal addresses in URLs
From RFC 2732
Literal IPv6 Address Format in URL's Syntax To use a literal IPv6 address in a
URL, the literal address should be enclosed in [ and ] characters. For
example the following literal IPv6 addresses:
FEDC:BA98:7654:3210:FEDC:BA98:7654:3210
3ffe:2a00:100:7031::1
::192.9.5.5
2010:836B:4179::836B:4179
would be represented as in the following example URLs:
http://[FEDC:BA98:7654:3210:FEDC:BA98:7654:3210]:80/index.html
http://[3ffe:2a00:100:7031::1]
http://[::192.9.5.5]/ipng
http://[2010:836B:4179::836B:4179]
8/10/2019 Curs_IPv6
82/120
Other Issues
Renumbering & Mobility routinely result in changing IPAddresses
Use Names and Resolve, Dont Cache
Multihomed Servers More Common with IPv6
Try All Addresses Returned
Using New IPv6 Functionality
8/10/2019 Curs_IPv6
83/120
Porting Steps -Summary
Use IPv4/IPv6 Protocol/Address Family
Fix Address Structuresin6_addr
sockaddr_in6
sockaddr_storage to allocate storage
Fix Wildcard Address Usein6addr_any, IN6ADDR_ANY_INIT
in6addr_loopback, IN6ADDR_LOOPBACK_INIT
Use IPv6 Socket OptionsIPPROTO_IPV6, Options as Needed
Use getaddrinfo()For Address Resolution
8/10/2019 Curs_IPv6
84/120
IPv4 - IPv6Co-Existence / Transition
v me ne(A pragmatic projection)
8/10/2019 Curs_IPv6
85/120
(A pragmatic projection)
Q
1
Q
2
Q
3
Q
4
2007
Q
1
Q
2
Q
3
Q
4
2004
Q
1
Q
2
Q
3
Q
4
2003
Q
1
Q
2
Q
3
Q
4
2000
Q
1
Q
2
Q
3
Q
4
2001
Q
1
Q
2
Q
3
Q
4
2002
Q
1
Q
2
Q
3
Q
4
2005
Q
1
Q
2
Q
3
Q
4
2006
Consumer adoption
Enterprise adoption
=>adoption
8/10/2019 Curs_IPv6
86/120
8/10/2019 Curs_IPv6
87/120
Impediments to IPv6 deployment
ApplicationsApplications
Applications
Move to the new APIs NOW
8/10/2019 Curs_IPv6
88/120
Transition / Co-Existence Techniques
A wide range of techniques have been identified and implemented,basically falling into three categories:
(1) dual-stacktechniques, to allow IPv4 and IPv6 to
co-exist in the same devices and networks (2) tunnelingtechniques, to avoid order
dependencies when upgrading hosts, routers, orregions
(3) translationtechniques, to allow IPv6-onlydevices to communicate with IPv4-only devices
Expect all of these to be used, in combination
8/10/2019 Curs_IPv6
89/120
Dual-Stack Approach
When adding IPv6 to a system, do notdelete IPv4
this multi-protocol approach is familiar andwell-understood (e.g., for AppleTalk, IPX, etc.)
note: in most cases, IPv6 will be bundled withnew OS releases, not an extra-cost add-on
Applications (or libraries) choose IP version to use
when initiating, based on DNS response:
Prefer scope match first, when equal IPv6 over IPv4
when responding, based on version of initiating packet This allows indefinite co-existence of IPv4 and IPv6, and gradual
app-by-app upgrades to IPv6 usage
Tunnels to Get Through
8/10/2019 Curs_IPv6
90/120
gIPv6-Ignorant Routers Encapsulate IPv6 packets inside IPv4 packets
(or MPLS frames)
Many methods exist for establishing tunnels:
manual configuration
tunnel brokers (using web-based service to create a tunnel)
automatic (depricated, using IPv4 as low 32bits of IPv6)
6-over-4 (intra-domain, using IPv4 multicast as virtual LAN)
6-to-4 (inter-domain, using IPv4 addr as IPv6 site prefix)
Can view this as:
IPv6 using IPv4 as a virtual NBMA link-layer, or an IPv6 VPN (virtual public network), over the IPv4 Internet
8/10/2019 Curs_IPv6
91/120
8/10/2019 Curs_IPv6
92/120
Tunnels
6to4 Configured
Automatic
8/10/2019 Curs_IPv6
93/120
6to4 tunnels
IPv4IPv6 IPv6
6to4 prefix is 2002::/16 + IPv4 address.
2002:a.b.c.d::/48 IPv6 Internet6to4 relay
2002:B00:1::1
Announces 2002::/16 to the IPv6 Internet
130.67.0.1 148.122.0.1
11.0.0.1
2002:8243:1::/48
2002:947A:1::/48
FP (3bits)
TLA (13bits)
IPv4 Address (32bits)
SLA ID (16bits)
Interface ID (64bits)
001 0x0002 ISP assigned Locally administered Auto configured
8/10/2019 Curs_IPv6
94/120
6to4 tunnels II
Pros ConsMinimal configuration All issues that NMBA
networks have.
Only site border router
needs to know about 6to4
Requires relay router to
reach native IPv6 Internet
Works without adjacentnative IPv6 routers
Has to use 6to4addresses, not native.
NB: there is a draft describing how to use IPv4 anycast to reach the relay router.
(This is already supported, by our implementation...)
8/10/2019 Curs_IPv6
95/120
Configured tunnels
IPv4IPv6 IPv6
3ffe:c00:1::/48
3ffe:c00:2::/48
130.67.0.1 148.122.0.1
--------------------------------------
|IPv4 header|IPv6 header IPv6 payload|
--------------------------------------
IPv4 protocol type = 41
8/10/2019 Curs_IPv6
96/120
Configured tunnels II
Pros ConsAs point to point links Has to be configured and
managed
Multicast Inefficient traffic patterns
Real addresses No keepalive mechanism,interface is always up
8/10/2019 Curs_IPv6
97/120
Automatic tunnels
IPv4IPv6 IPv6
Connects dual stacked nodes
Quite obsoleteIPv6 Internet
130.67.0.1
::130.67.0.1
148.122.0.1
::148.122.0.1
IPv4 Address (32bits)
ISP assignedDefined
0
8/10/2019 Curs_IPv6
98/120
8/10/2019 Curs_IPv6
99/120
Tunneling issues
IPv4 fragmentation needs to be reconstructed attunnel endpoint.
No translation of Path MTU messages betweenIPv4 & IPv6.
Translating IPv4 ICMP messages and pass backto IPv6 originator.
May result in an inefficient topology.
8/10/2019 Curs_IPv6
100/120
Tunneling issues II
Tunnel interface is always up. Use routingprotocol to determine link failures.
Be careful with using the same IPv4 sourceaddress for several tunneling mechanisms.Demultiplexing incoming packets is difficult.
8/10/2019 Curs_IPv6
101/120
Deployment scenarios
Many ways to deliver IPv6 services to End Users
Most important is End to End IPv6 traffic forwarding
Service Providers and Enterprises may have
different deployment needs IPv6 over IPv4 tunnels
Dedicated Data Link layers for native IPv6
no impact on IPv4 traffic & revenues
Dual stack Networks
IPv6 over MPLS or IPv4-IPv6 Dual Stack Routers
8/10/2019 Curs_IPv6
102/120
Media - Interface Identifier
IEEE interfaces - EUI-64
MAC-address: 0050.a218.0c38
Interface ID: 250:A2FF:FE18:C38
P2P links (HDLC, PPP) Interface ID: 50:A218:C00:D
48 bits from the first MAC address in the box + 16bit interface index. U/L bit off
IPv4 tunnels Interface ID: ::a.b.c.d
8/10/2019 Curs_IPv6
103/120
Outline
Protocol Background
Technology Highlights
Enhanced Capabilities Transition Issues
Next Steps
8/10/2019 Curs_IPv6
104/120
Current Status
8/10/2019 Curs_IPv6
105/120
Standards core IPv6 specifications are IETF DraftStandards
=> well-tested & stable IPv6 base spec, ICMPv6, Neighbor Discovery, PMTU
Discovery, IPv6-over-Ethernet, IPv6-over-PPP,... other important specs are further behind on the
standards track, but in good shape mobile IPv6, header compression, A6 DNS support,...
for up-to-date status: playground.sun.com/ipng UMTS R5 cellular wireless standards mandate
IPv6
8/10/2019 Curs_IPv6
106/120
IPv6 Addresses
8/10/2019 Curs_IPv6
107/120
Bootstrap phase
Where to get address space? Real IPv6 address space now allocated
by APNIC, ARIN and RIPE NCC APNIC 2001:0200::/23 ARIN 2001:0400::/23
RIPE NCC 2001:0600::/23
6Bone 3FFE::/16Have a look at www.cisco.com/ipv6 for further information
IPv6 Address Space
8/10/2019 Curs_IPv6
108/120
Current Allocations APNIC (whois.apnic.net)
CONNECT-AU-19990916 2001:210::/35WIDE-JP-19990813 2001:200::/35
NUS-SG-19990827 2001:208::/35
KIX-KR-19991006 2001:220::/35
ETRI-KRNIC-KR-19991124 2001:230::/35
NTT-JP-19990922 2001:218::/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
6DION-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
January 5th, 2001
SONYTELECOM-JPNIC-JP-20001207 2001:298::/35
TTNET-JPNIC-JP-20001208 2001:2A0::/35CCCN-JPNIC-JP-20001228 2001:02A8::/35IMNET-JPNIC-JP-20000314 2001:0248::/35
KORNET-KRNIC-KR-20010102 2001:02B0::/35 ARIN (whois.arin.net)ESNET-V6 2001:0400::/35
ARIN-001 2001:0400::/23VBNS-IPV6 2001:0408::/35
CANET3-IPV6 2001:0410::/35
VRIO-IPV6-0 2001:0418::/35
CISCO-IPV6-1 2001:0420::/35
QWEST-IPV6-1 2001:0428::/35
DEFENSENET 2001:0430::/35ABOVENET-IPV6 2001:0438::/35
SPRINT-V6 2001:0440::/35
UNAM-IPV6 2001:0448::/35
GBLX-V6 2001:0450::/35
IPv6 Address Space
8/10/2019 Curs_IPv6
109/120
Current Allocations
RIPE (whois.ripe.net)UK-BT-19990903 2001:0618::/35
CH-SWITCH-19990903 2001:0620::/35
AT-ACONET-19990920 2001:0628::/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
EU-EUNET-20000403 2001:0670::/35
DE-IPF-20000426 2001:0678::/35
DE-NACAMAR-20000403 2001:0668::/35
DE-XLINK-20000510 2001:0680::/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:06A0::/35
DE-SPACE-19990812 2001:0608::/35
BE-BELNET-20001101 2001:06A8::/35
SE-SUNET-20001218 2001:06B0::/35
IT-CSELT-20001221 2001:06B8::/35
SE-TELIANET-20010102 2001:06C0::/35
D l t
8/10/2019 Curs_IPv6
110/120
Deployment experimental infrastructure: the 6bone
for testing and debugging IPv6 protocols andoperations (see www.6bone.net)
production infrastructure in support of education
and research: the 6ren CAIRN, Canarie, CERNET, Chunahwa Telecom,
Dante, ESnet, Internet 2, IPFNET, NTT, Renater,Singren, Sprint, SURFnet, vBNS, WIDE(see www.6ren.net, www.6tap.net)
commercial infrastructure a few ISPs (IIJ, NTT, SURFnet, Trumpet,) have
announced commercial IPv6 service or service trials
D l t ( t )
8/10/2019 Curs_IPv6
111/120
Deployment (cont.)
IPv6 address allocation
6bone procedure for test address space
regional IP address registries (APNIC, ARIN,RIPE-NCC) for production address space
deployment advocacy (a.k.a. marketing)
IPv6 Forum: www.ipv6forum.com
M h Still T D
8/10/2019 Curs_IPv6
112/120
Much Still To Do
though IPv6 today has all the functional capability of IPv4, implementations are not as advanced
(e.g., with respect to performance, multicast support,compactness, instrumentation, etc.)
deployment has only just begun much work to be done moving application, middleware,
and management software to IPv6
much training work to be done(application developers, network administrators, salesstaff,)
many of the advanced features of IPv6 still needspecification, implementation, and deployment work
Recent IPv6 Hot Topics in the
IETF
8/10/2019 Curs_IPv6
113/120
IETF multihoming / address
selection
address allocation
DNS discovery
3GPP usage of IPv6
anycast addressing
scoped addressarchitecture
flow-label semantics
API issues (flow label, traffic class, PMTU
discovery, scoping,)
enhanced router-to-host info site renumbering procedures
temp. addresses for privacy
inter-domain multicast routing
address propagation and AAA
issues of different accessscenarios (always-on, dial-up, mobile,)
and, of course, transition /co-existence / interoperabilitywith IPv4
Note: this indicates vitality, not incompleteness, of IPv6!
8/10/2019 Curs_IPv6
114/120
Next Steps
F M I f ti
8/10/2019 Curs_IPv6
115/120
For More Information
https://reader010.{domain}/reader010/html5/0605/charter.html
http://www.ietf.org/html.charters/ngtrans-charter.html
http://playground.sun.com/ipv6/
http://www.6bone.net/ngtrans/
F M I f ti
8/10/2019 Curs_IPv6
116/120
For More Information
http://www.6bone.net
http://www.ipv6forum.com
http://www.ipv6.org
http://www.cisco.com/ipv6/
http://www.microsoft.com/windows2000/librar
y/howitworks/communications/networkbasics/IPv6.asp
F M I f ti
8/10/2019 Curs_IPv6
117/120
For More Information
BGP4+ References
RFC2858 Multiprotocol extension to BGPRFC2545 BGP MP for IPv6RFC2842 Capability negotiation
RIPng RFC2080
8/10/2019 Curs_IPv6
118/120
Q ti ?
8/10/2019 Curs_IPv6
119/120
119 2000, Cisco Systems, Inc.
Questions?
22131313_06_2000_c2
8/10/2019 Curs_IPv6
120/120
Cisco Systems