IP version 6 1
CIDR NAT Peer-to-Peer / End-to-End & IP IPv6 2
3
Internet end-to-end model End system End system Internet Routers in the middle 4
What happen if.. nd system End system? Internet? Internet Intermediate nodes Proxy server Firewall Protocol translator 5 Dial-up
End system Enclosure by the intermediate nodes End system Internet Private Closed Network 6
For web: Client/Server Architecture is breaking Sufficient to have clients in private address spaces access servers in global address space down Global Addressing Realm Private Address Realm Private Address Realm Telephones need an address when you call them, and are therefore servers in private realm 7
Need an end to end naming and addressing architecture Global Addressing Realm Implication: IP Version 6 deployment required for continued development of Internet in Mobile Networks, 8 Developing Countries
NAT(Network Address Translation) IP (src_ip) (src_port) IP (RFC1631) (1) Private Global -DNS NAT IP - (dst_ip) (src_ip, src_port) (2) Global Private - (src_ip, src_port) (dst_ip) (*) (src_port) (i) src_ip (ii) dst_ip 9
NAT A NAT C AC AC N C N C 10
11 Traditional NAT NAT C A C C C C
Bi-directional NAT A NAT C C C 12
Twice NAT A NAT C? Nl1 Ng1 Nl1 Ng1 13
25 Business Internet Access 20 Users (Millions) 15 10 5 Fiber Fixed Wireless T1 DSL Satelitte Dial-up 0 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 Source: Banc of America Securities LLC, Industry sources, 1998 14
IP (Internet Protocol) IP : 32 bits 4x10 9 (40 ) ( 60 ) 13 Digits 1 10 Digits 10 9 Digits 1 ( ) 2x8 Digits 2,000 10 Digits 10. We Need Further Addresses x N (N=?) >> 15
IP (Internet Protocol) IP : 32 bits 4x10 9 (40 ) ( 60 ) 13 Digits 1 10 Digits 10 9 Digits 1 ( ) 2x8 Digits 2,000 10 Digits 10. We Need Further Addresses x N (N=?) >> >> 16
17
VoIP Polycomm Messenger (MS & AOL) Interactive Game Etc 19
New Object Hooked to the Internet (Nomadic / Mobile) (Wareable / Mobile) New Topological Regions Hooked to the Internet 20
GS Personal Area Network LAN ) (ITS) 21
22
23
Millions 1,400 1,200 1,000 800 600 400 200 Mobile Internet Outlook More handsets than PCs connected to the Internet by the end of 2003! Projected PCs connected to the Internet (Dataquest 10/ 98) Projected cellular subscribers (Nokia 1999) Projected Web handsets (Nokia 1999) 0 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 24
Head-mount Display for a Single Eye Single-hand Keyboard Wearable Computer By courtesy of Nikkei BP Inc. Portions where a wearable computer can be attached 25
MDF 26
SensIT Project at DARPA 27
IPv6 28
IPv6 IPv4 128bit 32bit 128bit 4,294,967,296 (40 ) 340,282,366,920,938,463,463,374,607,431,768,211,456 29
IPv6 IPv4 (cont.) IP HOST Router HOST 30
IPv6 IPv4 (cont.) ARP -> NDP IPsec IP MobileIPv6 IPsec Explicit Multicast 31
32
IPv6 128bit 16 4 : 3ffe:501:100c:e320:2e0:18ff:fe98:936d 0 3ffe:0501:100c:e320:0000:0000:0000:0001 3ffe:501:100c:e320::0001 33
IPv6 ID ( 64bit) ID ( 64bit) EUI-64 Ethernet MAC 34
IPv6 (cont.) Network Prefix Interface ID 64bit 64bit N+I Network IPv6 : 2001:218:1800::/48 IPv4 : 45.0.0.0/8 2001:218:1800:e100::/64 2001:218:1800:e200::/64 45.0.1.0/24 35
Unicast Address Anycast Address Multicast Address 36
Anycast HOST 2001::1 HOST HOST HOST 2001::1 2001::1 37
(cont.) Loopback Address ::1 IPv4 ::IPv4 address ::203.178.142.1 IPv4 ::ffff:ipv4 address ::ffff:203.178.142.1 IPv4 38
3ffe:501::/32 ISP B ISP A 3ffe:500::/24 TLA ID NLA ID A 3ffe:501:1000:/48 B 3ffe:501:2000:/48 SLA ID 39
3ffe:500::/24 ISP A 3ffe:501::/32 ISP B CC ISP D ISP E 3ffe:501:1000::/48 3ffe:501:2000::/48 3ffe:501:3000::/48 40
90000 80000 70000 60000 50000 40000 30000 20000 10000 0 Growth in BGP Route Table Source: http//www.telstra.net/ ops/bgptable.html But they cannot be relied on forever Projected routing table growth without CIDR/NAT Moore s Law and NATs make routing work today Deployment Period of CIDR 41 Jun-88 Dec-88 Jun-89 Dec-89 Jun-90 Dec-90 Jun-91 Dec-91 Jun-92 Dec-92 Jun-93 Dec-93 Jun-94 Dec-94 Jun-95 Dec-95 Jun-96 Dec-96 Jun-97 Dec-97 Jun-98 Dec-98 Jun-99 Dec-99
ISP1 Multi-Home Network 3ffe:501:1000::/48 ISP2 2001:218:1800::/48 3ffe:501:1000:1000::/64 2001:218:1800:1000::/64 42
43
IPv4 Ver HL TOS Total Length Identification Flag Fragment Offset TTL Protocol Header Checksum Source Address Destination Address Options Padding IPv6 IPv4 44
IPv6 Ver Traffic Class Payload Length Flow Label Next Hop Limit Header Source Address Destination Address IPv4 IPv6 45
IPv6 Header Next Header = TCP IPv6 Header Next Header = EXT TCP Header EXT Header Next Header = TCP TCP Header IPv6 Header EXT Header EXT Header TCP Header Next Header = EXT Next Header = EXT Next Header = TCP 46
NDP (Neighbor Discovery Protocol) 47
NDP ARP(Address Resolution Protocol) NDP(Neighbor Discovery Protocol) ICMP IP Multicast 48
NDP (cont.) 49
50
Stateless Address Auto Configuration NDP EUI-64 DNS (DHCP, Anycast) Router RA Host Host 51
draft-ietf-ipngwg-router-renum-10 52
DHCPv6 DHCP Dynamic Host Configuration Protocol IPv6 DHCP Address prefix allocation DNS 53
54
e.g., IEEE1394, Ethernet, USB, etc MPLS IP IP SOHO SOHO 55
56
IPsec keyed MD5 DES CBC 3 57
2 AH Authentication Header ESP Encapsulating Security Payload 58
DNS 59
DNS for IPv6 RFC1886, RFC2874 IPv6 AAAA A6 DNAME Inverse zone Ip6.int. (nibble boundary) Ip6.arpa. (bitlabel boundary) RR 60
61
getaddrinfo gethostbyname IPv4/IPv6 int getaddrinfo(const char *nodename, const char *servname, const struct addrinfo *hints, struct addrinfo **res) nodename: servname: ( ) hints: addrinfo res: addrinfo 62
getnameinfo gethostbyaddr IPv4/IPv6 int getnameinfo(const struct sockaddr *sa, socklen_t salen, char *host,size_t hostlen, char *serv, size_t servlen, int flags); sockaddr 63
Microsoft XP, Windows2000, Windows CE, WMT Sun Microsoft Solaris 8 Apple MAC OS X Second Edition BSD UNIX Powered by KAME NetBSD, FreeBSD, OpenBSD Linux Powered by USAGI Embedded OS TRON@ Access, KASAGO@Elmic 64
IPv6 IETF IPng WG http://playground.sun.com/ipng/ 6bone http://www.6bone.net/ IPv6.org http://www.ipv6.org/ 6bone-JP http://6bone.v6.wide.ad.jp/ KAME BSD http://www.kame.net USAGI Linux http://www.linux-ipv6.org/ Freenet6 http://www.freenet6.net/ 65
66
IPv6 ( ) End-to-End 67