View
218
Download
1
Tags:
Embed Size (px)
Citation preview
1
IP version 6 Architecture and Protocol
Hiroshi Esaki, Ph.D The University of Tokyo,
WIDE Project <[email protected]>
2
Back GroundWhy IETF discuss IPv6 ?
• Too fast growth of the Internet in beginning of 90’s– Running out of IPv4 address
– Ad hoc protocol modification and introduction
– Growth of routing entries in the router
• New Requirements – Security
– Mobility
– Plug & Play
– Multicasting
3
Urgent Issues to Solve before IPv6 deployment
• Running out of IPv4 address
• Growth of routing entries in the router
• CIDR; Classless Inter-Domain Routing
• NAT; Network Address Translation
Short Term SolutionShort Term Solution
4
Terminology
• Node (e.g., Home, Station, Airport)– Equipment to be connected with the Internet
• Router(e.g., Station, Airport)– Node, that forwards the received the packet
(package) to the appropriate next hop node to deliver the packet to the final destination node.
• Host or End-Station (e.g., Home)– Node, rather than router
• Ordinary PC in resident or in the office is host, rather than router.
5
IP ; Internet Protocol
• IP packet
• IP/TCP
IPTCPAPP
IP IPTCPAPP
net-A net-B
Source Addr. Destination Addr. Data
net-C
6
Routing Protocol
Net1
Net2
Net3
Net4
Net1 R1 Net2 R1 Net3 R2 Net4 R3
RoutingTable
Router R1
R2
R3
• Router decides the next hop router, based on the destination IP address information in the received IP packet searching the routing table, whose entry is network prefix (network-ID)
7
IP(Internet Protocol)
• Functions– Host Identification
• 32bits(or 128bits) identifier• IP Address
– Packet forwarding• Change the datalink frame• Router / Gateway
– Packet fragmentation• Too large package is fragment
ed and re-fragmented at destination node
• Features– Non Error-free data transmis
son• Datagram transmission• Sorry, when we lost packet• But, we do best effort
– Scalability• Simple • Stateless
– Open specification• RFC791
8
The Jobs of IP – it is only two-
• Deliver the packet to the indicated destination node– Indicate the destination node(Addressing)– Relay the received packet (Routing)
• Too large packet can not transport by link– Fragment too large packet– Reassemble the fragmented packet
9
IP Addreess• Two purposes/meanings
– Identifier to recognize the destination node, uniquely
– Hint to forward the received packet to the destination node for routers (for routing)
• Address structure for scalability regarding the number of nodes in the Internet– Hierarchy IP address space – Aggregation of IP addresses
10
Address structure• Address structure for efficient use of address and routin
g process– Fixed length vs variable length
• With an information theory, we should use variable length address space according to the size/scale of the network. The network accommodating large number of nodes should have short address prefix
• But, for implementation, fixed length network prefix is easier to implement.
• So, how about other system and the Internet system – PSTN: CC(variable), TLA(variable), NLA(variable), SLA(fixed)– Internet: fixed length in old days, but variable length in these days – Broadcast(Radio/TV): undef.
11
Address Structure (Cont’)
• PSTN (E.163)CC : TLA : NLA : SLA(4 digits) : USA= 1 東京 =3 東大= 5684 1234
JPN=81 横浜 =45 片平= 986筑後 =942 羽犬塚= 53
• Internet System• Past : 8 bits boundary
• Class A (8 bits), Class B(16 bits), Class C(24 bits) • Now :
• IPv4 ; completely variable length• IPv6 ; variable length, but has boundary
12
Urgent Issues to Solve before IPv6 deploymeny
• Running out of IPv4 address
• Growth of routing entries in the router
• CIDR; Classless Inter-Domain Routing
• NAT; Network Address Translation
Short Term Solution with IPv4Short Term Solution with IPv4
13
Short Term Solutionsusing IPv4
14
1. CIDR ; deign policy
• Classless Inter-Domain Routing• RFC1519• Avoiding the run out of IPv4 address, while minimizing t
he increase of routing table entries• Use the IPv4 address, with minimizing the modification o
n the routing architecture and protocol • Co-exist with the conventional IPv4 system
– Does not need all nodes has to be CIDR-able node• This is short term solution.
– Long term solution is IPng (=IPv6)
15
Projected routing table growth without CIDR/NAT
Deployment Period of CIDR
Moore’s Law and NATsmake routing work today
Source: http//www.telstra.net/ops/bgptable.html
But they cannot berelied on forever
Explosion of routing entry
16
Features of CIDR
• IP address allocation– Hierarchical allocation– Regional and provider based address block
• Modification to the routing process– Routing protocol – Route aggregation– Routing table searching algorithm
17
Netmask and Network Prefix
• Network prefix is variable length
• Network ID is represented with prefix length
Network Prefix
1111..............11111
Host-ID
Prefix Length
mask 0000......0000
Ex. 133.201.2/24Prefix length
Network ID
18
Route Aggregation• Contiguous network address prefixes
Host ID00
Network ID
24
Host ID01
Network ID
Host ID10
Network ID
Host ID11
Network ID
C
C
C
C
Network Prefix
22
4 C
19
Example of Route Aggregation192.24.0.0 - 192.24.7.0 = 192.24.0.0/21
192.24.16.0 - 192.24.31.0 = 192.24.16.0/20
192.24.8.0 - 192.24.11.0 = 192.24.8.0/22
192.24.34.0 - 192.24.35.0 = 192.24.34.0/23
192.32.0.0 - 192.32.15.0 = 192.32.0.0/20
192.24.12.0 - 192.24.15.0 = 192.24.12.0/22
192.24.32.0 - 192.24.33.0 = 192.24.32.0/23
192.24.32.0/22192.24.0.0/19 192.32.0.0/20
192.24.32.0/22192.24.0.0/19192.32.0.0/20
RA RB
20
0 1 2 3 12345678 90123456 78901234 56789012 [1] 192.32. 0.0/20 : 11000000.00100000.0000---- --------[2] 192.24.34.0/23 : 11000000.00011000.0010001- --------[3] 192.24.32.0/23 : 11000000.00011000.0010000- --------[4] 192.24.16.0/20 : 11000000.00011000.0001---- -------- [5] 192.24. 0.0/21 : 11000000.00011000.00000--- -------- [6] 192.24. 8.0/22 : 11000000.00011000.000010-- --------[7] 192.24.12.0/22 : 11000000.00011000.000011-- --------
0 1 2 3 12345678 90123456 78901234 56789012 [1] 192.32. 0.0/20 : 11000000.00100000.0000---- --------[8] 192.24.32.0/22 : 11000000.00011000.001000-- --------[4] 192.24.16.0/20 : 11000000.00011000.0001---- -------- [5] 192.24. 0.0/21 : 11000000.00011000.00000--- -------- [9] 192.24. 8.0/21 : 11000000.00011000.00001--- --------
Aggregate; [2] + [3] = [8] (.34/23 + .32/23) [6] + [7] = [9] (.8/22 + .12/22)
Aggregate; [5] + [9] = [10] (.0/21 + .8/21)
21
0 1 2 3 12345678 90123456 78901234 56789012 [1] 192.32. 0.0/20 : 11000000.00100000.0000---- -------- [8] 192.24.32.0/22 : 11000000.00011000.000110-- -------- [4] 192.24.16.0/20 : 11000000.00011000.0001---- -------- [10] 192.24. 0.0/20 : 11000000.00011000.0000---- --------
0 1 2 3 12345678 90123456 78901234 56789012 [1] 192.32. 0.0/20 : 11000000.00100000.0000---- -------- [8] 192.24.32.0/22 : 11000000.00011000.000110-- --------[11] 192.24. 0.0/19 : 11000000.00011000.000----- --------
Aggregate; [5] + [9] = [10] (.0/21 + .8/21)
0 1 2 3 12345678 90123456 78901234 56789012 [1] 192.32. 0.0/20 : 11000000.00100000.0000---- --------[8] 192.24.32.0/22 : 11000000.00011000.001000-- --------[4] 192.24.16.0/20 : 11000000.00011000.0001---- -------- [5] 192.24. 0.0/21 : 11000000.00011000.00000--- -------- [9] 192.24. 8.0/21 : 11000000.00011000.00001--- --------
Aggregate; [4] + [10] = [11] (.16/20 + .0/20)
22
Variable Length Subnet Mask
• VLSM (Variable Length Subnet Mask)
• Super-Netting
• Routing Information<Network ID , Prefix Length , Next Hop Node>
– Best-Match archiving
23
192.24.0.0/20
Example of Super-netting
192.24.0.0/20
192.24.0.0/23 192.24.0.0/23
192.24.0.0/23
192.24.0.0/20
0 1 2 3 Next-hop 12345678 90123456 78901234 56789012 192.24.0.0/20 : 11000000.00011000.000----- -------- R1192.24.0.0/23 : 11000000.00011000.0000000- -------- R2 : : : : : : : :
R1
R2 R3
<< Routing table in R3 >>
Destination next-hop(1) 192.24.1.122 : R2 (2) 192.24.8.36 : R1
24
Modification of Routing Table Search
・ Non-CIDR Class-Full Routing Entry → Exact Matching Only three patterns; 8 bits, 16 bits, 24 bits
・ CIDR Class-Less Routing Entry Super-Netting → Best Matching
Any length of Net-Mask
25
Subnetting ・ Address = net-id (Address*netmask) + host-id
- net-id ; transmission among datalinks - host-id ; transmission within a datalink
・ Legacy IPv4 Address structure ; - Class-full Byte Boundary net-id ; Class A/B/C/D
・ Efficient Address space usage in a Class (=Address Aggregation) → variable length netmask defined in a Class
26
Subnetting
Class B : net-id subnet-id host-id
subnet mask : 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 = 255.255.255.0
Class B : net-id subnet-id host-id
subnet mask : 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 = 255.255.255.192
[ Example ] (1) Source; 140.252.1.18 (Class B), Destination; 140.252.1.5, netmask=255.255.255.0 - in same class B domain, and in same subnet (140.252.1.0/24)
=> send packet to destination node, directly. (2) Source; 140.252.1.18 (Class B), Destination; 140.252.4.5, netmask=255.255.255.0 - in same class B domain, but in different subnet (“1” vs “4”)
=> send packet to GW in the subnet (140.252.1.0/24) (3) Src; 140.252.1.18 (Class B), Dst; 192.43.235.6 (Class C), netmask=255.255.255.0 - in different class domain (“140” vs “192”)
=> send packet to GW in the subnet (140.252.1.0/24)
27
Other address savings
• DHCP ; Dynamic Host Configuration Protocol• NAT ; Network Address Translation• Private IP address
28
Private IP addresses• There are three category of nodes
– Does not need to access nodes in other sites
– Need access nodes in other sites with some limited services (e.g., ssh, ftp)
– Need full transparent connectivity with nodes in other sites
• Private IP address for nodes, that does not need to access to outside nodes with IP-level – For pure internal business
– The hosts behind very strict firewall router
29
Private IP addresses
• Reserved by IANA– Does not allocate to any organization – Can be multiple nodes, that have the same IP address
10.0.0.0 - 10.255.255.255
172.16.0.0 - 172.31.255.255
192.168.0.0 - 192.168.255.255
30
NAT(Network Address Translation)・ Translate the IP header using the table, whose entry is source IP address and source port number (RFC1631) (1) Private → Global - DNS : resolve the global IP address of destination node - destination IP address (dst_IP) is an entry key of table rewrite (src_IP, src_port) of outgoing packet (2) Global → Private - received packet
(src_IP, src_port) is as is (dst_IP, dst_port) is rewritten
(*) Functions of port number (src_port) multiplexing src_IP in private network
31
NAT
NATA C
CA CN
A C N C
input output Address Port Address Portsrc dst src dst src dst src dstA ー ー ー ー ー ーN
A→N
N→A
Source Addr.
Destination Addr.
32
Traditional NAT
NATA C
Private net. Internet
AC
Src_IP
Dst_IP Basic NAT
100200
Src port number
Dst port numberCN
100200
200100
NC
CA
200100
A→N
N→A
AC
Src_IP
Dst_IP
100200
Src port number
Dst port number
CN
150200
200150
NC
CA
200100
A→N、100→150
N→A150→100
NAPT
33
Bi-directional NAT
NATA C
Private net. Internet
AC
Src_IP
Dst_IP
100200
Src Port Number
Dst port number
CN
100200
200100
NC
CA
200100
A→N
N→A
DNS (1) IP address for Host A ?
(2) IP address is “N”
(3)
(4)
34
Twice NAT
NATA C
Private net. Internet
ANl1
Ng1C
Nl1A
CNg1
DNS(1) IP address for Host C ?
(2) IP address is “N1”
(3)
(4)
A→NgNl1→C
Ng→AC→Nl1
Src_IP
Dst_IP
35
Summary - Short term solution with IPv4 -
• CIDR – Can be useful even with IPv6
• We need an efficient routing table searching
• Private IP Address – Can be useful even with IPv6
– It is different from NAT with IPv6
• DHCP – Do not we need DHCP, because of RA ?
• NAT – We need NAT for inter-networking with IPv4 and IPv6
– We do not need with “native” IPv6
36
Detail of IPv6
37
- Contents -• How has IPv6 been standardized • Summary of IPv6 • IPv6 Address Architecture• Packet format• ICMPv6• NDP• Auto-configuration• Security• Mobility• API (Application Interface) • Deployment of IPv6
38
How is IPv6 standardized ?
39
Why we need IPng ?
• Too fast growth of Internet– Running out of IPv4 address
– Ad hoc functional modification
– Explosion of routing table entry
• New requirements– Security and privacy
– Mobility
– Plug and Play
– Multicasting
40
IPng Requirements
• Scalability– All “object” can be connected to the Internet– Re-design of core IP protocol
• New requirements from the market– Voice communication (i.e., VoIP)– Video communication
• Transition and deployment of IPv6
41
Selection of IPng
• IP Next Generation
• IP succeeding IPv4 – Technical Discussion initiated in 1991.– Protocol architecture has been selected in 1994.
• IPng has been named as IPv6
42
Where had we discussed.
• IETF– Internet Engineering Task Force– IAB(Internet Architecture Board) and
IESG(Internet Engineering Steering Group) examines the technical specification
– Open discussion– Mailing lists– RFC , Internet-draft
43
IPng Selection Matrices (RFC1726)
• Fundamental requirements– Simple protocol structure
– Single protocol
– Can be useful for long term
– Can be used widely
– Open and distributed operation
44
IPng technical requirements (RFC1726)
• Scalability – Accommodate more than 1012 hosts– Accommodate more than 109 networks
• Topology-free – Does not assume particular topology
• Robust service– Network service , routing, control and management
• Transition and deployment planning– Easier transition and deployment of IPv6 from IPv4
• Independent from datalink (media)
45
IPng technical requirements (RFC1726)
• Configuration– Auto-configuration / plug & play
• Open standard – Published by RFC
• Other requirements– Security– Mobile host, mobile network– Multicast
46
History of IPng
• 1991; IAB announced draft architecture rejected by IETF community
• 1992; Established IPng Working Group– TUBA(TCP and UDP over Bigger Address)– CATNIP(Common Architecture for the Internet)– SIPP(Simple Internet Protocol Plus)
• 1994; Decide IPng to be based on SIPP • 1995; IPv6 architecture and protocol baseline
47
IPv6 Specification
48
IPv6 vs. IPv4
• Enlargement of IP address space– 32 bits 128 bits
• 32bit 4,294,967,296 (4 Billion)• 128bit
340,282,366,920,938,463,463,374,607,431,768,211,456
• Address architecture– Hierarchical – Scope of address– Flexible address type definition
• Multicast function is built-in– Broadcast is a part of multicast
49
IPv6 vs. IPv4 (cont.)
• High throughput– Simplified header format
• Remove unused field in IPv4
• Fixed length header length
• Remove “checksum” field
• Remove IP header option
– Router does not care fragmentation • Only end-host does care
RouterHOST HOST
50
IPv6 vs. IPv4 (cont.)
• Address binding/resolution between link layer and network (IP) layer– ARP(Address Resolution Protocol)
NDP(Neighbor Discovery Protocol)– Detection of un-reachability
• Security is inherit– IPsec is mandatory option
• Flexible IP extension function/header• MobileIPv6• IPsec• Explicit Multicast
51
IPv6; go back to Internet’s original architecture
• Enlargement of IP address space– Return to the End-to-End model ;-)
• Aggregatable address structure • New requirements
– Multicast– MobileIP– IPsec
• Plug & Play– Standard address auto-configuration– Router and host renumbering
52
Terminology
53
Definition of Terminology
• IPv6 Node– Device and equipment install the IPv6 protocol stack
• IPv6 Router– Node, relaying the IPv6 packet toward the destination
IPv6 address to itself
• IPv6 Host– IPv6 Node, rather than IPv6 router
• Link – Digital data transmission media among nodes
54
Definition of terminology (cont.)
• Neighbor– Nodes, connected to the same link
• IPv6 packet– IPv6 header + payload
• MTU– Maximum Transmission Unit
• Path MTU– Minimum MTU along the path from source node to
destination node
55
Definition of Terminology (cont.)
• Interface– The interconnection point between node and
link
• IPv6 address– Identifier to recognize the interface
• Dual Stack– Node, installing both IPv4 and IPv6 protocol
stacks
56
Address Architecture
57
IPv6 Address Representation
• Represents 128bit address with hex (“0”-”f”)
• Each block of 4 hex is divided by “:”– Ex., 3ffe:501:100c:e320:2e0:18ff:fe98:936d
• Contiguous “0” can be omitted – 3ffe:0501:100c:e320:0000:0000:0000:0001 →
3ffe:501:100c:e320::0001
58
IPv6 Address Structure
• Divided into “network-prefix” and “interface-id”. – Network prefix (upper 64bit)
• It is allocated based on the aggregatable address structure
– Host ID (lower 64bit)• EUI-64• For Ethernet , it can be generated from MAC addr
ess
59
IPv6 Addres Structure (cont.)
Interface ID
64bit 64bit
Network Prefix
60
Address Types
• Unicast Address– Allocated to a single interface in the Internet
• Anycast Address– Allocated to multiple interfaces, but delivered t
o only one interface among those interfaces
• Multicast Address– Allocated to multiple interfaces, and delivered t
o all of these interfaces
61
Address Type (cont.)• Loopback Address
– Representing it’s interface ::1
• IPv4 compatible – ::IPv4 address– ::203.178.142.1– Used for automatic tunneling
• IPv4 mapped address – ::ffff:IPv4 address– ::ffff:203.178.142.1– Representing a node, which have only IPv4 protocol sta
ck し
62
What is Anycast
HOSTHOST
HOST
HOST
2001::1
2001::1
2001::1
63
Address Scope
• Global address– Unique IP address in the global Internet space
• Link-Local address– Available only on the same link– fe80::1
• Site-Local address– Available only in the same site– fc00::1000:0:0:0:1
64
Scope (cont.)
HOST HOST
Router
HOST
Link-local
Link-local
Site-local
Site-local
Global
65
Aggregatable Address Structure
Defined by RFC2374 Address allocation along with the network
topology
FP TLA ID RE NLA ID SLA ID Interface ID
3 13 8 24 16 64
FP Format PrefixRE ReservedTLA ID Top-Level Aggregation IdentifierNLA ID Next-Level Aggregation IdentifierSLA ID Site-Level Aggregation Identifier
66
Format Prefix
Type Prefix ratio
Reserved 0000 0000 1/256Unassigned 0000 0001 1/256Reserved for NSAP Allocation 0000 001 1/128Reserved for IPX Allocation 0000 010 1/128Unassigned 0000 011 1/128Unassigned 0000 1 1/32Unassigned 0001 1/16Aggregatable Global Unicast Address
001 1/8Unassigned 010 1/8Unassigned 011 1/8Unassigned 100 1/8Unassigned 101 1/8
67
Format Prefix (cont.)
Type Prefix ratio
Unassigned 110 1/8Unassigned 1110 1/16Unassigned 1111 0 1/32Unassigned 1111 10 1/64Unassigned 1111 110 1/128Unassigned 1111 1110 0 1/512Link-Local Unicast Address 1111 1110 10 1/1024Site-Local Unicast Address 1111 1110 11 1/1024Multicast Address 1111 1111 1/256
68
Address Allocation Rule
ISP A
ISP B
Site A Site B
3ffe:500::/24
3ffe:501::/32
3ffe:501:1000:/48 3ffe:501:2000:/48
TLA IDNLA ID
SLA ID
69
TLA (Top Level Aggregator)
TLA ID RE
3 13 8 24
NLA IDFP
TLA ID
3 13 13 19
NLA IDFP SubTLAID
Defined by RFC
Practical allocation
RIRs (ARIN, RIPE, APNIC) allocates have /29 address space Exchange default-free routing information
70
NLA (Next Level Aggregator)
• ISP or site allocated by TLA
• Can define any size of subnet
• Can define /30 ~ /48 address space
TLA ID RE
3 13 8 24
NLA IDFP
TLA ID NLA IDFP SubTLAID
Defined by RFC
Practical allocation 3 13 13 19
71
SLA (Site Level Aggregator)
• Organization allocated from NLA
• Have /49 ~ /64 address space
TLA ID NLA IDFP SubTLAID
3 13 13 19 16
SLA ID
72
What TLA provider required ?
• Has to start the IPv6 service within three months
• Provide the transition service, i.e., can not be a leaf site
• Provide registry service• Report the registry information to the
corresponding RIR • Pay registration fee to IANA
73
TLA(sTLA) allocation statistics
• APNIC 29 organization• RIPE 33 organization• ARIN 16 organization
• In Japan 14 organization– WIDE, NTT, IIJ, InfoWeb, JENS, BIGLOBE,
DION, ODN, SonyTelecom, TTnet, CCCN, IMNET, OMP, InfoSphere
74
Ethernet and IPv6 Address
• Interface ID could be generated from it’s MAC address
• EUI-64– 00:e0:18:98:93:6d (MAC address)
→ 3ffe:501:100c:e320:2e0:18ff:fe98:936d
75
Other Unicast Address
• Link Local Addressfe80::2e0:18ff:fe98:936d
• Site Local Addressfec0:: 2e0:18ff:fe98:936d
111111101010 bits 64 bits
00000.........000056 bits
interface Id
111111101110 bits 64 bits
00000..038 bits 16 bits
interface Id
Subnet ID
76
Anycast Address
• A part of Unicast Address
• Multiple node in the Internet has the same anycast address
• IP packet is delivered to only one node having the corresponding anycast address
77
Multicast Address
111111118 bits 112 bits
flgs scope4 4
group ID
0 reserved1 node-local scope2 link-local scope5 site-local scope8 organization-local scopeE global scopeF 予約
0000 permanent well-known address 0001 temporal address
78
Well-known IPv6 addresses
FF00:0:0:0:0:0:0:0 reservedFF01:0:0:0:0:0:0:0 reserved :FF0F:0:0:0:0:0:0:0 reservedFF01:0:0:0:0:0:0:1 all nodes in nodeFF02:0:0:0:0:0:0:1 all IPv6 node in linkFF01:0:0:0:0:0:0:2 all IPv6 router in nodeFF02:0:0:0:0:0:0:2 all IPv6 router in linkFF02:0:0:0:0:0:0:C DHCP server and relay agentFF02:0:0:0:0:1:x:x Solicited address
79
Example; communication to all IPv6 node in the link
% ping6 ff02::1%eth0PING ff02::1(ff02::1) from fe80::2e0:18ff:fe98:936d eth0: 56 data bytes64 bytes from ::1: icmp_seq=0 hops=64 time=1.2 ms64 bytes from fe80::2d0:b7ff:fe9a:6f27: icmp_seq=0 hops=64 time=1.3 ms (DUP!)64 bytes from fe80::2e0:18ff:fe01:81f7: icmp_seq=0 hops=64 time=1.4 ms (DUP!)64 bytes from fe80::2d0:b7ff:fe9a:6b58: icmp_seq=0 hops=64 time=1.7 ms (DUP!)64 bytes from fe80::2e0:18ff:fea8:c706: icmp_seq=0 hops=64 time=1.8 ms (DUP!)64 bytes from fe80::240:26ff:fe66:a4: icmp_seq=0 hops=64 time=1.8 ms (DUP!)64 bytes from fe80::200:86ff:fe42:55ff: icmp_seq=0 hops=64 time=1.9 ms (DUP!)64 bytes from fe80::2e0:18ff:fea8:34c8: icmp_seq=0 hops=64 time=2.2 ms (DUP!)64 bytes from fe80::210:4bff:fe92:cc93: icmp_seq=0 hops=64 time=2.2 ms (DUP!)64 bytes from fe80::250:70ff:fe01:d2c8: icmp_seq=0 hops=64 time=2.3 ms (DUP!)64 bytes from fe80::2a0:ccff:fe73:34f7: icmp_seq=0 hops=64 time=2.4 ms (DUP!)64 bytes from fe80::2e0:18ff:fea8:4e0a: icmp_seq=0 hops=64 time=2.6 ms (DUP!)
80
Example; communication to all IPv6 node with –w option
• sekiya@ns1[~]% ping6 -w ff02::1%fxp0• PING6(2096=40+8+2048 bytes) fe80::210:f3ff:fe03:5445%fxp0 --> ff02::1%fxp0• 40 bytes from fe80::210:f3ff:fe03:5445%lo0: ns1.jp.interop.net.• 27 bytes from fe80::2b0:d0ff:fee1:2b20%fxp0: cdn1• 42 bytes from fe80::206:29ff:fe1f:8d41%fxp0: samba.jp.interop.net.• 49 bytes from fe80::210:f3ff:fe03:5360%fxp0: dhcp2.server.jp.interop.net.• 42 bytes from fe80::210:f3ff:fe03:52c2%fxp0: dhcp1.jp.interop.net.• 41 bytes from fe80::210:f3ff:fe03:5451%fxp0: smtp.jp.interop.net.• 47 bytes from fe80::206:29ff:fe1f:8eaa%fxp0: tt1.server.jp.interop.net.• 49 bytes from fe80::2e0:81ff:fe10:9462%fxp0: probe.server.jp.interop.net.• 40 bytes from fe80::210:f3ff:fe03:5366%fxp0: www.jp.interop.net.• 54 bytes from fe80::250:bdff:fe00:177%fxp0: hotserver2.server.jp.interop.net.• 50 bytes from fe80::210:f3ff:fe03:5433%fxp0: kame02.server.jp.interop.net.• 50 bytes from fe80::210:f3ff:fe03:53c9%fxp0: kame09.server.jp.interop.net.
81
IPv6 addresses each node has
Link local IPv6 address for each interfaceGlobal Unicast address(es)Loop back addressAll node multicast addressSolicited node multicast address Multicast address, that node belongs to
82
Example; IP addresses for Node (NetBSD)
de0: flags=8863<UP,BROADCAST,NOTRAILERS,RUNNING,SIMPLEX,MULTICAST> mtu 1500
address: 00:00:f8:03:db:34
media: Ethernet autoselect
status: active
inet 203.178.138.146 netmask 0xfffffff8 broadcast 203.178.138.151
inet6 fe80::200:f8ff:fe03:db34%de0 prefixlen 64 scopeid 0x2
inet6 2001:200:0:4400:200:f8ff:fe03:db34 prefixlen 64
inet6 2001:200:0:4400::1 prefixlen 64
inet6 fec0::4401:0:0:1:1 prefixlen 64
lo0: flags=8009<UP,LOOPBACK,MULTICAST> mtu 33228
inet 127.0.0.1 netmask 0xff000000
inet6 ::1 prefixlen 128
inet6 fe80::1%lo0 prefixlen 64 scopeid 0x4
83
Multicast addresses, joining to the multicast (Linux)
% netstat -g
Interface RefCnt Group
--------------- ------ ---------------------
lo 1 ff02::1
eth0 1 ff02::9 <- RIPng
eth0 3 ff02::1:ff98:936d <- Solicited Multicast
eth0 1 ff02::1 <- All node Multicast
eth0 1 ff02::2 <- All router Multicast
84
IPv6 routing protocol
2001:200:160::/48 fe80::2e0:18ff:fe98:a28d%pvc0 UG1 0 0 9180 pvc02001:200:161::/48 fe80::2e0:18ff:fe98:a28d%pvc0 UG1 0 0 9180 pvc02001:200:162::/48 fe80::2e0:18ff:fe98:a28d%pvc0 UG1 0 9 9180 pvc02001:200:180::/48 fe80::2e0:18ff:fe98:a28d%pvc0 UG1 0 0 9180 pvc02001:200:180:2::/64 fe80::2e0:18ff:fe98:a28d%pvc0 UG1 0 3 9180 pvc02001:200:180:3::/64 fe80::2e0:18ff:fe98:a28d%pvc0 UG1 0 0 9180 pvc02001:200:1a8:300::/64 fe80::2e0:18ff:fe98:a28d%pvc0 UG1 0 0 9180 pvc02001:200:1a8:a00::/64 fe80::2e0:18ff:fe98:a28d%pvc0 UG1 0 0 9180 pvc02001:200:1a8:88d0::/64 fe80::2e0:18ff:fe98:a28d%pvc0 UG1 0 0 9180 pvc02001:200:1a8:8940::/64 fe80::2e0:18ff:fe98:a28d%pvc0 UG1 0 0 9180 pvc02001:200:200::/40 fe80::2e0:18ff:fe98:a28d%pvc0 UG1 0 0 9180 pvc02001:200:300::/40 fe80::2e0:18ff:fe98:a28d%pvc0 UG1 0 0 9180 pvc02001:200:500::/40 fe80::2e0:18ff:fe98:a28d%pvc0 UG1 0 0 9180 pvc02001:200:600::/40 fe80::2e0:18ff:fe98:a28d%pvc0 UG1 0 0 9180 pvc02001:200:800::/40 fe80::2e0:18ff:fe98:a28d%pvc0 UG1 0 0 9180 pvc02001:200:900::/40 fe80::2e0:18ff:fe98:a28d%pvc0 UG1 0 0 9180 pvc02001:208::/35 fe80::2e0:18ff:fe98:a28d%pvc0 UG1 0 0 9180 pvc02001:218::/35 fe80::2e0:18ff:fe98:a28d%pvc0 UG1 0 10 9180 pvc0
85
Route information aggregation
ISP AISP A
ISP BISP B
C C ISP DISP D ISP EISP E
3ffe:500::/24
3ffe:501::/32
3ffe:501:1000::/48 3ffe:501:2000::/48 3ffe:501:3000::/48
86
Multi-Homing
ISP1
ISP2
Multi-Home Network 3ffe:501:1000::/48
2001:218:1800::/48
3ffe:501:1000:1000::/64 2001:218:1800:1000::/64
87
Issue of multi-homing
• Aggregation is mandatory for NLA TLA routing information advertisement
• Multi-homing belonging to different TLA would be difficult….
• draft-ietf-ipngwg-ipv6-2260-01– Tunneling among the Edge routers
88
Packet Format
89
IPv4 header
Ver HL TOS Total Length
IdentificationFlagFragment Offset
TTL ProtocolHeader Checksum
Source Address
Destination Address
Options Padding
IPv4
90
IPv6 header
Ver Traffic Class Flow Label
Payload LengthNext HeaderHop Limit
Source Address
Destination Address
IPv6
• Red colored fields experiences name change from IPv4 to IPv6
• Fixed length header length
91
IPv6 header field
• Version version = 6• Traffic Class for diff-serv code • Flow Label Flow label (real-time)
• Payload Length payload length ( Bytes )
• Next Header inform the next herder (RFC1700)• Hop Limit decremented at each router• Source Address• Destination Address
92
Extension header
Next Header = TCP
Next Header = TCP
IPv6 Header TCP Header
IPv6 Header
Next Header = EXT
EXT Header TCP Header
• Hop-by-Hop Option
• detail should be defined
• End host option
• Option ID is on the table
• Routing header
• Fragment header
• Authentication header
• ESP header encripted
Next Header = EXT
IPv6 Header
Next Header = EXT
EXT Header TCP HeaderEXT Header
Next Header = TCP
93
Extension (cont.)
• Order is recommended– Efficient processing– Has to be processed, even with different order
• Thru-option and – Hop-by-hop option– End-host option
• Erroneous header ICMP packet transmission or silent discard
• Length of extension header has 8bits alignment
94
Hop-by-Hop Option
• All node on the path from source node to destination node have to process
• One or more than one option is included
Next Header Hdr Ext Len Option
Option Option
8bit 8bit
TLV format for extension field
Option Type Option Len Option Data
00 do not discard the packet01 discard the packet10 discard the packet to send ICMP error packet11 discard the packet to send ICMP error packet,if it is not multicast packet
0 do not rewrite along the path1 Can be rewritten along the path
Option type
Option Length in octed
96
Routing header
• Source node indicates the intermediate node– Only type 0 is defined (loose)
Next Header Hdr Ext Len Routing Type Segment Left
Reserved
Address[0]
Address[1]
Address[n]
97
Routing header
• Hdr Ext Len– Length of extension header– Unit is 8 octets (64 bits)
• Routing Type– Only Type 0, at this time
• Segment Left– Remaining intermediate nodes
98
Processing of routing header
• Processing at each node, indicated by routing header– Segment Left > Hdr Ext Len / 2
• Error message is sent to the source node
– Segment Left = 0• Final destination
– Segment Left < Hdr Ext Len / 2• Destination address is rewritten using the routing header infromatio
nIPv6
• Does not apply to multicast address
99
Processing of routing header (cont.)
IPv6Header
RoutingHeader
Payload
Destination IP header in the routing Header are pop up tothe destination IPv6 addrwssin IPv6 header field
100
No fragmentation at the intermediate node (i.e., router)
• Router does not take care of fragmentation
• Only source node does fragmentation
• High speed packet transmission
• Source node does fragmentation with extension header
• Source node runs path MTU discovery
101
Fragment header
• Source node does fragmentation when the packet is larger than the path MTU
• 8 octets boundary
– Fragment Offset – M - More bit
1: continue fragment packet , 0: last (fragmented) packet
– Identification; identifier generated by source node
Next Header Reserved Fragment Offset Re M
Identification
102
Fragmentation option
H0
H0
0 F1 F2
M=1FO=0
M=1FO=F1
M=0FO=F2
Next Header Reserved Fragment Offset Re M
Identification
op
t1
H0 op
t2
H0 op
t3
103
End-host option• Inform the transparent information from the
source node to destination node at the end-host
Next Header Hdr Ext Len Option
Option Option
8bit 8bit
104
No Next Header
• There is no extension header
• There is no payload
105
Flow label…… ?????
• Source node generates in random– 20 bits– Indicates and recognizes data-flow
• Intermediate node may refer to – QoS/CoS indicated by flow label ??? – Realtime communication ????– High throughput using flow label ????
106
Pseudo header
• Pseudo header for TCP , UDP checksu
Next Headerzero Payload Length
Source Address
Destination Address
107
ICMPv6
108
ICMPv6
• Internet Control Message Protocol for IPv6
• Control and management for IP– Error indication– Indication of communication status
• Applications using the ICMP – ping, traceroute
109
ICMPv6 packet format0 1 2 30 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 Type Code checksum
Message Body
Type ValueType Semantics 1 Destination unreachable2 Packet is too big3 Time exceeded 4 Parameter problem 128 Echo request 129 Echo reply
110
Path MTU discovery protocol
• Discover the Path MTU, dynamically– MTU of the first link is the initial MTU size
– When the source node receives “Too Big Message” of ICMP error message, decrease the MTU size
– Investigate with given interval (e.g., 10 min.)
src dstrouter router router
Path MTU Discovery
111
NDP(Neighbor Discovery Protocol)
112
NDP Functions
• ARP(Address Resolution Protocol) NDP(Neighbor Discovery Protocol)
• Implement as ICMP• Mapping and binding between IP and link
– Discover the neighbor node– Detect un-reachability of neighbor node– DAD (Duplicated Address Detection)– Use the multicast service
113
NDP Functions (cont.)
• Auto-configuration (Plug & Play)– Router discovery– Detect router type– Automatic address generation
• Reachability – Detection of reachability– Detection of un-reachability
• Redirection
114
NDP Message Types
• Router Solicitation– Query to router by node– Query to the Solicited Address (multicast address)
• Router Advertisement– Network prefix, address configuration information, hop-limit
• Neighbor Solicitation– Query of link layer address (with link local address)
• Neighbor Advertisement– Reply to the neighbor solicitation
• Redirect– Indicate better intermediate node
115
Solicited Multicast Address
eth0 link_type: Ethernet MAC address 00:E0:18:98:93:6D
inet address:203.178.143.49 broadcast:203.178.143.255 mask:255.255.255.0
inet6 address: fe80::2e0:18ff:fe98:936d/10 scope: link
inet6 address: 3ffe:505:d::1/64 scope: global
inet6 address: 3ffe:505:d:1000:2e0:18ff:fe98:936d/64 scope: global
inet6 address: 3ffe:501:100c:d210:2e0:18ff:fe98:936d/64 scope: global
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packet:11876764 error:6 loss:0 overrun:4 frame:0
TX packet:9069672 erro:0 loss:0 overrun:0 carrier:0
Collisions:0 TX :100
interruption:11
116
Example of NDP operation
tcpdump: listening on fxp0
09:52:22.010035 2001:218:1800:c050:210:f3ff:fe03:5445 > ff02::1:ff00:567: icmp6: neighbor sol: who has 2001:218:1800:c050::567
09:52:23.010035 2001:218:1800:c050:210:f3ff:fe03:5445 > ff02::1:ff00:567: icmp6: neighbor sol: who has 2001:218:1800:c050::567
09:52:24.010037 2001:218:1800:c050:210:f3ff:fe03:5445 > ff02::1:ff00:567: icmp6: neighbor sol: who has 2001:218:1800:c050::567
09:52:24.010399 fe80::200:87ff:fe28:e090 > 2001:218:1800:c050:210:f3ff:fe03:5445 : icmp6: neighbor adv: tgt is fe80::200:87ff:fe28:e090
117
NDP state transition
PROBE DELAY
NONE
INCOMPLETE REACHABLE STALE
Rcv link layer address (without solicitation)
Rcv link layer address(without solicitation)
Expire the timerFor reach
Confirm reachability
Confirm reachability
Send packet
Rcv NA(w/ solicit)
Waiting packet reception
Send NS(multicast)
Too many retransmission
Send NS(multicast)
Too many retransmission
Expire DELAY_FIRST_PROBE_TIME
118
Solicited Address
• IP address to resolve the link layer address
• 2001:218:1800:c050::1234:5678– Query to “ff02::1:ff34:5678” regarding the link
layer address– Node with “2001:218:1800:c050::1234:5678”
replies to “ff02::1:ff34:5678” query
HOST HOST
2001:218:1800:c050::1234:5678
Who has ff02::1:ff34:5678 ?
I have it !!!
119
Auto-configurationi.e., plug & play
120
Host auto-configuration
• Stateless Address Auto Configuration
• Auto-configure; IP address and route(s)
• Implement as an NDP
• EUI-64 for host-idRouter
Host Host
RA
Plug&Play
121
Router renumbering
• Renumbering of network
• draft-ietf-ipngwg-router-renum-xx
• Network address in the organization (site) is automatically renumbered
122
DHCP
• DHCP ; Dynamic Host Configuration Protocol
• It is said that we do not need DHCP for IPv6.
• But, we need DHCP, anyway……– Address prefix allocation– Indication of DNS server’s IP address
123
Multi-link subnet
124
Multi-Link Subnet
• Bridging the various types links – e.g., IEEE1394, Ethernet, USB, etc
• Does not use the abstracted link or sub-layer, such as MPLS. Just, do the media conversion among the different links
• Especially, useful for SOHO environment – SOHO network with router-less
125
Security
126
What IPsec provides
• Framework is independent from individual algorithm, and the algorithm should be portable
• IPv6 specifies default algorithms– keyed MD5 , DES CBC ,…
• Three functions– Authentication– Integrity – Encryption
127
Tow security mechanisms
• AH - Authentication Header– Authentication and integrity check
• ESP - Encapsulating Security Payload– Encrypting the data
128
Authentication Header (AH)
• AH - Authentication Header• Authentication and Integrity check of IPv6 packet
Next Header Length
Authentication Data
Reserved
Security Parameters Index (SPI)
Sequence Number
129
Authentication Header (cont.)
• Length: Payload length
• SPI: Security parameter index
• Sequence Number
• Authentication Data
130
Security Parameters Index
• Source and destination nodes establish the security association (SA), before start the communication. SPI is specified by the destination node
• SA and SPI define the following information– Encryption algorithm
– Operational mode
– Key
– Key length
131
Encryption Security Payload(ESP)
Security Parameters Index (SPI)
Sequence Number
Initialization Vector (variable len)
Payload Data (variable len)
Padding (0-255byte)
Authentication Data (variable len)
Pad Len NH
132
ESP – Transport mode
• Payload of IP packet is encrypted
IP Hdr Ext Hdr TCP DataBofore ESP
After ESP IP Hdr Ext Hdr ESP TCP DataESPAuth
encrypted
Authenticated, integrity check
133
Transport mode
Internet
IP Payload
IP ESP
IP Payload
IP ESP
134
ESP – tunnel mode
• Whole of IP packet is encrypted
IP Hdr Ext Hdr TCP DataESP 前
ESP 後 IP Hdr Ext Hdr ESP TCP Data ESPAuthIP Hdr Ext Hdr
encrypted
Authentication / integrity check
135
Tunnel mode
Internet
IP1 Payload
IP2 IP1 ESP
IPsec-GW IPsec-GW
IP2 IP1 ESP
IP1 Payload
136
Key Management……
• Out of scope for core IPv6 specification…..– Use of IKE or manual setting– Discussing new and efficient algorithm
• Requirements– Manual key distribution– Multiple SA’s must be able to defined among th
e source and destination nodes– Can be User oriented, host oriented
137
Mobility
138
Mobile IPv6
• draft-ietf-mobileip-ipv6-xx
• IPv6 address does not change, even when the node connect to the different network segment– Cell-phone type gear – Continue the TCP session, even during the
mobile
139
Mobile IPv6 terminology
• Mobile Node (MN)– The node mobile among the different network
• Home Link– Home network link where Mobile Node exists
• Home Address– IP address obtained in the Home Link
• Care of Address– IP address obtained in the mobile network
140
Mobile IPv6 terminology (cont.)
• Home Agent (HA)– Router sitting in the Home Link
• Correspondent Node (CN)– Node communicate with the Mobile Node
• binding– Operation to bind between Home Address and
Care of Address
141
Mobile IP operational example
Home Agent
move
Mobile Node
tunnel
Mobile Node
142
Binding in MIP
IPv6Header
Home AddressOption
AuthenticationHeader
BindingUpdateOption
IPv6Header
RoutingHeader
AuthenticationHeader
BindingAcknowledgement
OptionPayload
Payload
Binding Update
Binding Acknowledgement
Source Address:care-of address
to inform the recipient of that packet of the mobile
node’s home address
authenticatethis packet
includingBinding Information
Destination Address:
MN’s home address
to deliver the packet to the mobile node through the
care-of address
143
Deploymeny of IPv6 to IPv4
144
IPv6 transition
IPv6 introduction
145
Deployment of IPv6 into IPv4 world
• IPv4 and IPv6 can not directly communicate
• Will IPv6 and IPv4 networks operated independent ???? IPv6 network will be Dual Stack Network
• IPv6 includes IPv4 function ;-)
• New area for the Internet will use IPv6 but, also with IPv4(maybe with NAT)
146
Legacy IPv6 deployment senario
IPv6 Network
IPv4 Network
IPv6 over IPv4 Tunnel
IPv4 over IPv6 Tunnel
IPv6 island Inter-network of IPv6 Islands
IPv4/IPv6 mixing IPv6 is major
147
Tools and technology for IPv6 deployment
• Dual stack– Implement both IPv4 and IPv6 protocol stack
• IPv6 in IPv4 tunneling– Overlay the IPv6 network over legacy IPv4 network,
i.e., 6-Bone.
– Encapsulated networking
• Translator– Internetworking between IPv4 host and IPv6 host
– Perform packet format translation
148
Dual Stack
• Install both IPv6 and IPv4 stacks in a single node
• According to the destination node’s IP version, select the protocol version (IPv4 or IPv6) – If it is IPv4,
→ Use IPv4– If it is IPv6 or IPv6/IPv4(dual stack),
→ Use IPv6
149
IPv6 in IPv4 Tunneling
• Interconnect two IPv6 sites using the virtual link over IPv4 network
• IPv6 packet is encapsulated into IPv4 packet, using the IP encapsulation technique.
IPv6 site IPv6 siteIPv4 Internet
IPv6 packet IPv6 packetIPv6 packet
IPv4 packet
150
Tunneling of IPv6 packet over IPv4 (IPv6 in IPv4)
payload
TCP or UDP
IPv6 header
IPv4 header
payload
TCP or UDP
IPv6 Header
151
Translator
• IPv4 packet and IPv6 packet is mutually translated – Translated at IP layer (NAT-PT)– Translated at transport layer (FAITH)– Translated at application layer (SOCKS64)
IPv6HOST
IPv6HOST
IPv4HOST
IPv4HOST
IPv6 Packet IPv4 Packet
Tra
nsl
ator
152
IPv4 / IPv6 translation• BIS (Bump-in-the-Stack)• BIA (Bump-in-the-Application)• 6-to-4 • SIIT • NAT-PT/NAPT-PT• SOCKS• Tunnel broker• ISATAP• DSTM (Dual Stack Transition Mechanism)
153Bump in the stack (BIS) software structure
TCP/IPv4
IPv4 Applications
Network Card
Network Card Driver
ExtendedNameResolver
AddressMapper
Translator
IPv6
Legacy API
154
IPv4 Application
TCP/IPv4
ExtensionName
Resolver
AddressMapper Translator
Driver
“Host6”
①
②
③
④
③
⑤
⑥
⑦
⑧ ⑨
⑩
⑪
⑫
⑬
①② : DNS Query “A” for host6③ : DNS Query “AAAA” & “A” for host6④ : Only “AAAA” Reply ⑤ : Request IPv4 Address for “AAAA”⑥⑦⑧ : Reply the mapped “A” record⑨⑩ : IPv4 packet ⑪ : “ A” ?⑫ : “ AAAA” for “A” ⑬⑭ : IPv6 packet ⑮⑯ : IPv4 packet
⑭ ⑭
⑬
⑮
⑯
155
IPv4 Application
TCP/IPv4
ExtensionName
Resolver
AddressMapper Translator
Driver
“Host6”
⑥
⑦
②
③
⑧
① : IPv6 packet② : “ AAAA” ?③ :“ A” for “AAAA”④⑤⑥⑦ : IPv4 packet⑧ : IPv6 packet
① ①
⑧
④
⑤
156
IPv4 / IPv6 Translation• BIS (Bump-in-the-Stack)• BIA (Bump-in-the-Application)• 6-to-4 • SIIT • NAT-PT/NAPT-PT• SOCKS• Tunnel Broker• ISATAP• DSTM (Dual Stack Transition Mechanism)
157BIA (Bump in the Application) software structure
IPv4 Applications
Network Card
NameResolver
AddressMapper
FunctionMapper
IPv4 Socket API
Socket API (IPv4, IPv6)IPv6 Socket API
158
IPv4 Application
TCP/IPv4 Socket
NameResolver
AddressMapper
FunctionMapper
TCP/IPv6
“Host6”
⑥
⑦
⑧⑫
⑨⑬
⑩
① : IPv4 Query② : “ AAAA” ?③ :“ A” for “AAAA”④⑤ : “ AAAA” ”A”⑥ : IPv4 Reply⑦ : IPv4 API socket call⑧⑨ : “ AAAA” for “A” ⑩⑪ : IPv6 API socket call ⑫⑬ : “ AAAA” for “A” ⑭ : IPv4 API socket call
⑪ ⑪
⑩
④
⑤
①
①
② ②③③
⑥
⑦
⑭
⑭
159
IPv4 Application
TCP/IPv4 Socket
NameResolver
AddressMapper
FunctionMapper
TCP/IPv6
“Host6”
⑤
②⑥
③⑦
⑧
① : IPv6 socket call② : “ AAAA” ?③ :“ A” for “AAAA”④⑤ : IPv4 socket call⑥⑦ : “ AAAA” for “A” ⑧ : IPv6 API socket call
① ①
⑧
⑤
④
④
160
IPv4 / IPv6 Translation• BIS (Bump-in-the-Stack)• BIA (Bump-in-the-Application)• 6-to-4
– Automatic p2p tunnel (IPv6 in IPv4) over IPv4 cloud– IPv6 site has both IPv4 address (V4ADDR) and IPv6 Prefix(2002::/16)
• V4ADDR (put in NLA field) is for routing of IPv6-in-IPv4 packet– IPv6 node has 6-to-4 virtual interface– IPv6node has 2002:V4ADDR::/48 – Protocol ID field in IPv4 header is set to ”41”
• SIIT • NAT-PT/NAPT-PT• SOCKS• Tunnel broker• ISATAP• DSTM (Dual Stack Transition Mechanism)
161
6-to-4 Address Format
| 3 | 13 | 32 | 16 | 64 bits |+---+------+-----------+--------+--------------------------------+|FP | TLA | V4ADDR | SLA ID | Interface ID ||001|0x0002| | | |+---+------+-----------+--------+--------------------------------+
Format Prefix : 001 TLA 値 : 0x0002 NLA 値 : V4ADDR
162
IP v4 Internet
6-to-4router1
6-to-4Router 2
6-to-4 site(2002:c001:0203::/48) 6-to-4 site
(2002:09fe:fdfc::/48)
9.254.253.252
192.1.2.3
: IPv4 network
: IPv6 network (6-to-4 site)
6-to-4host“host2”
6-to-4host“host1”
2002:09fe:fdfc::00072002:c001:0203::0080
dst= 2002:09fe:fdfc::0007src= 2002:c001:0203::0080
dst= 2002:09fe:fdfc::0007src= 2002:c001:0203::0080
dst= 9.254.253.252src= 192.1.2.3
Create IP v4 header using “V4ADDR”
163
IP v4 Internet
6-to-4Router 1
Relay router
6-to-4 site(2002:c001:0203::/48)
6-to-4 site2002:09fe:fdfc::/48
9.254.253.252192.1.2.3
: IPv4 network
: IPv6 network (6-to-4 site): IPv6 Native network
IPv6 host“host3”
6-to-4host“host1”
2001:0600::c002
2002:c001:0203::0080
dst= 2001:0600::c002src= 2002:c001:0203::0080
dst= 2001:0600::c002src= 2002:c001:0203::0080
dst= 9.254.253.252src= 192.1.2.3
Tunnel toward “9.254.253.252”
Native IPv6 site(2001:0600::/48)
6-to-4 サイト同士の接続概念図
164
IPv4 / IPv6 translation• BIS (Bump-in-the-Stack)• BIA (Bump-in-the-Application)• 6-to-4 • SIIT (Stateless IP/ICMP Translation)• NAT-PT/NAPT-PT• SOCKS• Tunnel Broker• ISATAP• DSTM (Dual Stack Transition Mechanism)
165
Translation Router
IPv4 network
IPv6 network
“host1”
“host2”
DNSserver
DNSserver
Protocol translation
(IPv6IPv4)
①②
③④
① : DNS Query : “host2” ?② : “ host2” is “203.1.2.3”(A record)
203.1.2.3
2001:0080::12340::ffff:0:45.3.2.1
③ : IPv6 packet dst=“0::ffff:203.1.2.3” (IPv4-mapped address) src=“0::ffff:0:45:3:2:1” (IPv4-translated address)
④ : IPv4 packet dst=“203.1.2.3” src=“45:3:2:1”
166
Translation router
IPv4 network
IPv6 network
“host1”
“host2”
DNSserver
DNS server
Protocol translatoin
(IPv6IPv4)
①②③
① : DNS Query : “host1” ?② : “ host1” is “45.3.2.1”(A record)
203.1.2.32001:0080::12340::ffff:0:45.3.2.1
④ : IPv6 packet dst=“0::ffff:0:45:3:2:1” (IPv4-translated address) src=“0::ffff:203.1.2.3” (IPv4-mapped address)
③ : IPv4 packet dst=“45:3:2:1” src=“203.1.2.3”
④
167
IPv4 / IPv6 translation• BIS (Bump-in-the-Stack)• BIA (Bump-in-the-Application)• 6-to-4 • SIIT • NAT-PT/NAPT-PT• SOCKS• Tunnel Broker• ISATAP• DSTM (Dual Stack Transition Mechanism)
168
NAT - PTRouterV6 host
V4 host
① ②
③④
DNS Query/Reply for “v4 ホスト”
“ A”
DNS Query/Reply for “v4 ホスト”
“ A”
src=“AAAA”(v6 host)dst=PREFIX:”A”
src=Mapped IPv4dst=”A”
src= ”A”dst= Mapped IPv4src=PREFIX:”A”
dst=”AAAA”(v6 host)
<< Mapping Table >>
From “ AAAA ” to “A” Mapped IPv4
<< Mapping Table >>
From “ AAAA ” to “A” Mapped IPv4
NAT-PT
169
NAT - PTrouterV6 Host
V4 Host
① ②
③④
DNS Query/Reply for “v4 ホスト”
“ A”
DNS Query/Reply for “v4 ホスト”
“ A”
src=“AAAA”(v6 host), prt=S1dst=PREFIX:”A”, prt=D1
src=Mapped IPv4, prt=S2dst=”A”, prt=D1
src= ”A”, prt=D1dst= Mapped IPv4, prt=S2src=PREFIX:”A”, prt=D1
dst=”AAAA”(v6 host), prt=S1
<< Mapping Table >>From “ AAAA ” to “A” Mapped IPv4From S1 to S2
<< Mapping Table >>From “ AAAA ” to “A” Mapped IPv4From S1 to S2
NAPT-PT
170
NAT - PTrouter
V6 HostWEB server
V4 host
①②
③ ④
DNS Query/Reply for “v6 server”
“ A”
DNS Query/Reply for “v6 server”
“ A”
src=“AAAA”, prt=S1dst=PREFIX:a.b.c.d, prt=80
src=“a.b.c.d”, prt=S2dst=”A”, prt=80
src= ”A”, prt=80dst=a.b.c.d, prt=S1
src=“AAAA”, prt=80dst=PREFIX:a.b.c.d, prt=S1
<< Mapping Table >>
From “ A” to “ AAAA ”
<< Mapping Table >>
From “ A” to “ AAAA ”
NAPT-PT(IPv4 IPv6)
171
IPv4 / IPv6 translation• BIS (Bump-in-the-Stack)• BIA (Bump-in-the-Application)• 6-to-4 • SIIT • NAT-PT/NAPT-PT• SOCKS• Tunnel Broker• ISATAP• DSTM (Dual Stack Transition Mechanism)
172
Application
SOCKS Lib
Socket DNS
IPv6
Network I/F
*Gateway*
Socket DNS
IPv6
Network I/F
Application
Socket DNS
IPv6
Network I/F
IPv4
Client C Gateway G(Server)
Destination D
Normal Connection(Data-Only)
Socksifed Connection(Data + Control)
Sam
e A
PI
IPv6 and IPv4 internetworking using SOCKS
173
IPv4-IPv6 相互接続• BIS (Bump-in-the-Stack)• BIA (Bump-in-the-Application)• 6-to-4 • SIIT • NAT-PT/NAPT-PT• SOCKS• Tunnel Broker• ISATAP• DSTM (Dual Stack Transition Mechanism)
174
Dual-StackUser-Node
TunnelBroker
DNSTunnelServer
TunnelServer
TunnelServer
IPv6-over-IPv4 Tunnel
: Control Information: Data (Tunnel)
175
IPv4 / IPv6 translation• BIS (Bump-in-the-Stack)• BIA (Bump-in-the-Application)• 6-to-4 • SIIT • NAT-PT/NAPT-PT• SOCKS• Tunnel broker• ISATAP• DSTM (Dual Stack Transition Mechanism)
176ISATAP EUI-64 Format
|0 2|2 3|3 3|4 6||0 3|4 1|2 9|0 3|+------------------------+--------+--------+------------------------+| OUI ("00-00-5E"+u+g) | TYPE | TSE | TSD |+------------------------+--------+--------+------------------------+
OUI IANA's OUI: 00-00-5E TYPE Type field; indicates how (TSE, TSD) are interpreted (1 octet) TSE Type-Specific Extension (1 octet) TSD Type-Specific Data (3 octets)
TYPE (TSE, TSD) Interpretation ---- ------------------------- 00-FD RESERVED for future IANA use FE (TSE, TSD) together contain an embedded IPv4 address FF TSD is interpreted based on TSE as follows:
TSE TSD Interpretation --- ------------------ 00-FD RESERVED for future IANA use FE TSD contains 24-bit EUI-48 interface id FF RESERVED by IEEE/RAC
177
Example of ISATAP Address Format
| 3| 13 | 8 | 24 | 16 | 8 | 8 | 8 | 8 | 32 bits |+--+-----+---+--------+--------+---+---+---+---+---+---+---+----+|FP| TLA |RES| NLA | SLA | 0x| 0x| 0x| 0x| IPv4 Address || | ID | | ID | ID | 00| 00| 5E| FE| of Endpoint |+--+-----+---+--------+--------+--------------------------------+
178
IPv4 / IPv6 translation• BIS (Bump-in-the-Stack)• BIA (Bump-in-the-Application)• 6-to-4 • SIIT • NAT-PT/NAPT-PT• SOCKS• Tunnel broker• ISATAP• DSTM (Dual Stack Transition Mechanism)
179
DSTMBorderRouter
DHCPV6server
DSTMEnd node
IPv4-in-IPv6
IPv6 AddressIPv4 AddressDSTM border router IPv6 Addr.DNS server IPv4 Addess
IPv6 site(No IPv4 routing)IPv4 site
180
IPv6 routing protocols
• RIP RIPng
• BGP4 BGP4+
• OSPFv2 OSPFv3
• IS-IS IS-IS for IPv6
181
DNS for IPv6
• RFC1886, RFC2874• Introduce new RR (Resource Recode) for IPv6
– AAAA
– A6 (experimental)
– DNAME
• Inverse zone– Ip6.int. (nibble boundary)
does not use…due to use of “.int” as gTLD
– Ip6.arpa. (bitlabel boundary)
182
Example of DNS zone file (1)
$ORIGIN .$TTL 3600 ; 1 hourlinux-ipv6.org IN SOA linux6.nezu.wide.ad.jp. sekiya.linux-ipv6.org. ( 43 ; serial 1800 ; refresh (30 minutes) 900 ; retry (15 minutes) 172800 ; expire (2 days) 10800 ; minimum (3 hours) ) NS shaku.sfc.wide.ad.jp. NS linux6.nezu.wide.ad.jp. A 203.178.142.218 MX 5 linux6.nezu.wide.ad.jp. AAAA 2001:200:0:1c01:2b0:d0ff:fe23:d5e5 A6 0 2001:200:0:1c01:2b0:d0ff:fe23:d5e5
183
Example of DNS zone file (2)
$TTL 3600 ; 1 hourd.0.0.0.5.0.5.0.e.f.f.3.IP6.INT IN SOA chiharu.netvillage.ne.jp. sekiya.v6.linux.or.jp. ( 100091601 ; serial 3600 ; refresh (1 hour) 900 ; retry (15 minutes) 3600000 ; expire (5 weeks 6 days 16 hours) 3600 ; minimum (1 hour) ) NS chiharu.netvillage.ne.jp. NS shaku.sfc.wide.ad.jp.$ORIGIN d.0.0.0.5.0.5.0.e.f.f.3.IP6.INT.1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0 PTR shaku.v6.linux.or.jp.d.6.3.9.8.9.e.f.f.f.1.8.0.e.2.0.0.0.0.1 PTR shaku.v6.linux.or.jp.1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.3 PTR chiharu.v6.linux.or.jp.1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.4 PTR ipsmg.v6.linux.or.jp.
184
APIApplication Interface
Basic socket API(RFC2553)
Advanced socketAPI(RFC2292)
185
Socket interface for IPv6• Socket Interface
– De Facto interface for data communication using TCP/IP– Developed for UNIX system in beginning of 1980’s. Socket
is used not only by UNIX, but also by other operating system
– Applications using the socket interface has high portability among different platform
• We need the same application portability for IPv6 system.– RFC2553 (Basic Socket Interface Extensions for IPv6)– RFC2292 (Advanced Socket API for IPv6)
186
IPv6 Basic Socket API
RFC2553: Basic Socket Interface Extensions for IPv6• Application using the legacy API should work on IPv6 pl
atform– Support of Raw socket and advanced control especially for IPv6
is provided by Advanced socket API
• Legacy application should work on IPv6 with minimum software modification
• Should be available for both IPv6 and IPv4 environments• 64 bits alignment • Multi-Thread
187
Basic API compoments
• Core socket routines
• Address data struct
• Name – Address translation routines
• Address translation routines
188
Core Socket Routines• socket(), bind(), connect(), accept(), listen()• Protocol family ; PF_INET6• Address family ; AF_INET6• Address struct
struct in6_addr {
union {
uint8_t __S6_u8[16];
uint16_t __S6_u16[8];
uint32_t __S6_u32[4];
} __S6_un;
#define s6_addr __S6_un.__S6_u8
189
• IPv6 Socket address
struct sockaddr_in6 { sa_family_t sin6_family; /* AF_INET6 */ in_port_t sin6_port; /* port number *
/ uint32_t sin6_flowinfo; /* flow label */ struct in6_addr sin6_addr; /* IPv6 address
*/ uint32_t sin6_scope_id; /* scope id */};
190
• IPv4: int s; struct sin_addr sn; s = socket(PF_INET, SOCK_STREAM, 0); /* set sn */ connect(s, (struct sockaddr*)sn, sizeof(sn)); /* ... */
• IPv6: int s; struct sin6_addr sn; s = socket(PF_INET6, SOCK_STREAM, 0); /* set sn */ connect(s, (struct sockaddr*)sn, sizeof(sn)); /* ... */
191
Name IP address-- protocol independent--
• Name → Address int getaddrinfo(const char *nodename, const char *servname,
const struct addrinfo *hints, struct addrinfo **res);
• Address → Name int getnameinfo(const struct sockaddr *sa, socklen_t salen, char *host, size_t hostlen, char *serv, size_t servlen, int flags);
192
getaddrinfo()
int getaddrinfo(const char *nodename, const char *servname, const struct addrinfo *hints, struct addrinfo **res);struct addrinfo { int ai_flags; /* flag */ int ai_family; /* protocol family PF_xx */ int ai_socktype; /* socket type SOCK_xx */ int ai_protocol; /* protocol, for IP IPPROTO_xxx */ size_t ai_addrlen; /* address length */ char *ai_canonname; /* cannonical name */ struct sockaddr *ai_addr; /* socket address */ struct addrinfo *ai_next; /* next link */};
• Replace of “get{host,ipnode}byname()”• Protocol independent function
193
getnameinfo()
int getnameinfo(const struct sockaddr *sa, socklen_t salen, char *host, size_t hostlen, char *serv, size_t servlen, int flags);
#define NI_MAXHOST 1025#define NI_MAXSERV 32
• Replace “get{host,ipnode}byaddr()”
194
Summary of Basic Socket API
• RFC2553: Basic Socket Interface Extensions for IPv6 – PF_INET/AF_INET → PF_INET6/AF_INET6– in_addr{} → in6_addr{}– sockaddr_in{} → sockaddr_in6{}
• Programming, that is protocol independent– getaddrinfo()– getnameinfo()
195
Standadization (IETF)• IETF; Internet Engineering Task Force http://playground.sun.com/pub/ipng/html/ipng-main.html
– IPv6 WG : IPv6 system http://www.ietf.org/html.charters/ipngwg-charter.html– Ngtrans WG : transition from IPv4 to IPv6 http://www.ietf.org/html.charters/ngtrans-charter.html
• RFCs ・ Draft Standard : 5 本 ・ Proposed Standard : 28 本 ・ Informational : 6 本 ・ Experimental : 2 本 ・ Historical : 12 本
196
RFC & Internet-Draft(1)• IPv6 Specification
– S. Deering, R. Hinden, Internet Protocol, Version 6 (IPv6) Specification , RFC 2460, December 1998.
• Addressing– R. Hinden, S. Deering, IP Version 6 Addressing Architec
ture , RFC 2373, July 1998. – R. Hinden, S. Deering, IP Version 6 Addressing Architec
ture , Internet Draft, , draft-ietf-ipngwg-addr-arch-v3-02.txt , October 2000.
– IAB, IESG, IPv6 Address Allocation Management , RFC 1881, December 1995.
– Y. Rekhter, T. Li, An Architecture for IPv6 Unicast Address Allocation , RFC 1887, December 1995.
– R. Hinden, M. O'Dell, S. Deering, An IPv6 Aggregatable Global Unicast Address Format , RFC 2374 , July 1998.
197
RFC & Internet-Draft (2)• Addressing
– R.Hinden, Proposed TLA and NLA Assignment Rules , RFC 2450 , December 1998.
– R. Hinden, S. Deering, R. Fink, T. Hain, Initial IPv6 Sub-TLA ID Assignments , RFC2928 , September 2000.
– R. Hinden, R. Fink, J. Postel, IPv6 Testing Address Allocation , RFC2471 , December 1998.
– D. Harrington, Link Local Addressing and Name Resolution in IPv6 , Internet Draft, draft-ietf-ipngwg-linkname-01.txt , January 1997.
– R. Hinden, S. Deering, IPv6 Multicast Address Assignments , RFC 2375 , July 1998.
– M. Crawford, A. Mankin, T. Narten, J. W. Stewart, L. Zhang, Separating Identifiers and Locators in Addresses: An Analysis of the GSE Proposal for IPv6 , Internet Draft , draft-ietf-ipngwg-esd-analysis-06.txt , December 1999.
198
RFC & Internet-Draft (3)• Addressing
– D. Johnson, S. Deering, Reserved IPv6 Subnet Anycast Addresses , RFC2526 , March 1999.
– M. Blanchet, A method for flexible IPv6 address assignments , Internet Draft , draft-ietf-ipngwg-ipaddressassign-01.txt ,November 2000.
– R. Hinden, B. Carpenter, L. Masinter, Format for Literal IPv6 Addresses in URL's , RFC 2732 , December 1999.
– T. Jinmei, A. Onoe, An Extension of Format for IPv6 Scoped Addresses , Internet Draft, draft-ietf-ipngwg-scopedaddr-format-01.txt , March 2000.
– S. Deering, B. Haberman, B. Zill, IP Version 6 Scoped Address Architecture , Internet Draft, draft-ietf-ipngwg-scoping-arch-00.txt , March 2000.
– B. Haberman, D. Thaler, Unicast-Prefix-based IPv6 Multicast Addresses , Internet Draft, draft-ietf-ipngwg-uni-based-mcast-00.txt , September 2000.
199
RFC & Internet-Draft (4)• Multihoming
– R. Draves, Default Address Selection for IPv6 , Internet Draft, draft-ietf-ipngwg-default-addr-select-02.txt , November 2000.
– J. Yu, IPv6 Multihoming with Route Aggregation , Internet Draft, draft-ietf-ipngwg-ipv6multihome-with-aggr-01.txt , August 2000.
– F. Dupont, Multihomed routing domain issues for IPv6 aggregatable scheme , Internet Draft, draft-ietf-ipngwg-multi-isp-00.txt , September 1999.
• Internet Control Message Protocol– A. Conta, S. Deering, Internet Control Message Protocol (ICMPv6) f
or the Internet Protocol Version 6 (IPv6) , RFC2463, December 1998.
– A. Conta, S. Deering, Internet Control Message Protocol (ICMPv6) for the Internet Protocol Version 6 (IPv6) , Internet Draft , draft-ietf-ipngwg-icmp-v3-00.txt"> Internet Control , June 1999.
200
RFC & Internet-Draft (5)• Hop by Hop Options
– C. Partridge, A. Jackson, IPv6 Router Alert Option , RFC2711 , October 1999.
– D. Borman, S. Deering, R. Hinden, IPv6 Jumbograms , RFC2675, , August 1999.
• Multicast– S. Deering, W. Fenner, B. Haberman, Multicast Listener Discovery
(MLD) for IPv6 , RFC2710 , October 1999.
• Path MTU Discovery– J. McCann, S. Deering, J. Mogul, Path MTU Discovery for IP version
6 , RFC1981, August 1996.
• Header Compression – M. Degermark, B. Nordgren, S. Pink, IP Header Compression , RFC
2507 , February 1999. – M. Engan, S. Casner, C. Bormann, IP Header Compression over PP
P , RFC2509, , February 1999. – S. Casner, V. Jacobson, Compressing IP/UDP/RTP Headers for Lo
w-Speed Serial Links , RFC2508, , February 1999.
201
RFC & Internet-Draft (6)• Packet Tunneling
– A. Conta, S. Deering, Generic Packet Tunneling in IPv6 Specification , RFC2473 , December 1998.
• Domain Name System– S. Thomson, C. Huitema, DNS Extensions to support IP version 6 ,
RFC 1886, December 1995.– M. Crawford, C. Huitema, S. Thomson, DNS Extensions to Support I
Pv6 Address Aggregation and Renumbering , RFC2878, July 2000. – M. Crawford, IPv6 Node Information Queries , Internet Draft, draft-ie
tf-ipngwg-icmp-name-lookups-07.txt , August 2000. – M. Crawford, Discovery of Resource Records Designating IPv6 Addr
ess prefixes , Internet Draft, draft-ietf-ipngwg-prefix-rr-disc-00.txt , November 2000.
• Transition Mechanisms– R. Gilligan, E. Nordmark, Transition Mechanisms for IPv6 Hosts and
Routers , RFC2893, August 2000. – D. Haskin, R. Callon, Routing Aspects Of IPv6 Transition , RFC 218
5, September 1997.
202
RFC & Internet-Draft (7)• Transition Mechanisms
– B. Carpenter, K. Moore, Connection of IPv6 Domains via IPv4 Clouds without Explicit Tunnels , Internet Draft, draft-ietf-ngtrans-6to4-07.txt , September 2000.
• Routing– G. Malkin, R. Minnear, RIPng for IPv6 , RFC 2080 , January 1997. – R. Coltun, D. Ferguson, J. Moy, OSPF for IPv6 , RFC 2740 , Decem
ber 1999. – T. Bates, R. Chandra, D. Katz, Y. Rekhter, RFC2283, Multiprotocol
Extensions for BGP-4 , February 1998. – R. Minnear, R. Hinden, IGRPng for IPv6 , Internet Draft, draft-minne
ar-igrpng-00.txt , November 1996. – B. Haberman, Routing of Scoped Addresses in the Internet Protoco
l Version 6 (IPv6) , Internet Draft, draft-ietf-ipngwg-scoped-routing-03.txt , February 2000.
203
RFC & Internet-Draft (8)• Renumbering
– M. Crawford, Router Renumbering for IPv6 , RFC2894 , August 2000.
• Security– IPng w.g. Co-Chairs, Statement on IPv6 Address Privacy , Novembe
r 6, 1999. – S. Kent, R. Atkinson, Security Architecture for the Internet Protocol
, RFC 2401 , November 1998. – S. Kent, R. Atkinson, IP Authentication Header , RFC 2402 , Nove
mber 1998. – S. Kent, R. Atkinson, IP Encapsulating Security Payload (ESP) , RFC
2406 , November 1998. – P. Metzger, W. Simpson, IP Authentication using Keyed MD5 , RFC
1828, , August 1995. – P. Karn, P. Metzger, W. Simpson, The ESP DES-CBC Transform , R
FC 1829 , August 1995.
204
RFC & Internet-Draft (9)• Neighbor Discovery
– T. Narten, E. Nordmark, W. Simpson, Neighbor Discovery for IP Version 6 (IPv6) , RFC2461 , December 1998.
– E. Nordmark, Site prefixes in Neighbor Discovery , Internet Draft, draft-ietf-ipngwg-site-prefixes-04.txt , March 2000.
– A. Conta, R. Duggal, Extensions to IPv6 Neighbor Discovery for Inverse Discovery , Internet Draft, draft-ietf-ion-ipv6-ind-05.txt , November 2000
• Auto Configuration– S. Thompson, T. Narten, IPv6 Stateless Address Autoconfiguration , RFC2
462 , December 1998. – T. Narten, Privacy Extensions for Stateless Address Autoconfiguration in IP
v6 , Internet Draft, draft-ietf-ipngwg-addrconf-privacy-04.txt, November 2000.
– J. Bound, Dynamic Host Configuration Protocol for IPv6 (DHCPv6) , Internet Draft, draft-ietf-dhc-dhcpv6-16.txt ,November 2000.
– C. Perkins, Extensions for DHCPv6 , Internet Draft, draft-ietf-dhc-dhcpv6exts-13.txt , May 2000.
– D. Thaler, Analysis of DNS Server Discovery Mechanisms for IPv6 , Internet Draft, draft-ietf-ipngwg-dns-discovery-00.txt , November 2000.
205
RFC & Internet-Draft (10)• Program Interfaces
– R. Gilligan, S. Thomson, J. Bound, W. Stevens, Basic Socket Interface Extensions for IPv6 , RFC2553 , March 1999.
– R. Gilligan, S. Thomson, J. Bound, W. Stevens, Basic Socket Interface Extensions for IPv6 , Internet Draft, draft-ietf-ipngwg-rfc2553bis-01.txt, October 2000.
– W. Stevens, M. Thomas, Advanced Sockets API for IPv6 RFC 2292, , February 1998.
– W. Stevens, M. Thomas, Advanced Sockets API for IPv6 Internet Draft, draft-ietf-ipngwg-rfc2292bis-02.txt , November2000.
• OSI NSAP Mapping– J. Bound, B. Carpenter, D. Harrington, J. Houldsworth, A. Lloyd, OS
I NSAPs and IPv6 , RFC1888 , August 1996.
• Mobility– D. Johnson, C. Perkins, Mobility Support in IPv6 , Internet Draft, dr
aft-ietf-mobileip-ipv6-13.txt , November 2000.
206
RFC & Internet-Draft (11)• IPv6 over Different Media
– M. Crawford, A Method for the Tranmission of IPv6 Packets over Ethernet Networks , RFC2464 , December 1998.
– M. Crawford, A Method for the Tranmission of IPv6 Packets over FDDI Networks , RFC2467 , December 1998.
– M. Crawford, T. Narten, S. Thomas, A Method for the Tranmission of IPv6 Packets over Token Ring Networks , RFC2470, December 1998.
– B. Carpenter, C. Jung, Transmission of IPv6 Packets over IPv4 Domains without Explicit Tunnels , RFC2529 , March1999.
– I. Souvatzis, A Method for the Transmission of IPv6 Packets over ARCnet Networks , RFC2497 , January 1999.
– D. Haskin, E. Allen, IP Version 6 over PPP , RFC2472 , December 1998. – G. Armitage, P. Schulter, M. Jork, G. Harter, IPv6 over Non-Broadcast Multi
ple Access (NBMA) networks , RFC2491, January 1999. – G. Armitage, M. Jork, P. Schulter, G. Harter, IPv6 over ATM Networks , RFC
2492, January 1999. – A. Conta, A. Malis, M. Mueller, Transmision of IPv6 Packets over Frame R
elay Networks Specification , RFC 2590 , May 1999. – D. Thaler, Transmission of IPv6 Packets over IEEE 1294 Networks , Intern
et Draft, draft-ietf-ipngwg-ipngwg-1394-00.txt, November 2000.
207
RFC & Internet-Draft (12)• Network Management
– B. Haberman, IP Version 6 Management Information Base for the Multicast Listener Discovery Protocol , Internet Draft,draft-ietf-ipngwg-mld-mib-05.txt , October 2000.
– M. Daniele, B. Haberman, S. Routhier, J. Schoenwaelder, Textual Conventions for Internet Network Addresses ,RFC2851 , June 2000.
– D. Haskin, S. Onishi, Management Information Base for IP Version 6: Textual Conventions and General Group , RFC2465, December 1998.
– D. Haskin, S. Onishi, Management Information Base for IP Version 6: ICMPv6 Group , RFC2466 , December 1998.
– M. Daniele, IPv6 Management Information Base for the Transmission Control Protocol , RFC2452 , December 1998.
– M. Daniele, IPv6 Management Information Base for the User Datagram Protocol , RFC2454 , December 1998.
• IAB Case for IPv6– S. King, R. Fax, D. Haskin, W. Ling, T. Meehan, R. Fink, C. Perkins,
The Case for IPv6 , Internet Draft, draft-iab-case-for-ipv6-05.txt , June 2000.
208
RFC & Internet-Draft (13)• IPng Area Directors Recommendation
– S. Bradner, A. Mankin, The Recommendation for the IP Next Generation Protocol , RFC 1752, January 1995.