208
1 IP version 6 Architecture and Protocol Hiroshi Esaki, Ph.D The University of Tokyo, WIDE Project <[email protected]>

1 IP version 6 Architecture and Protocol Hiroshi Esaki, Ph.D The University of Tokyo, WIDE Project

  • View
    218

  • Download
    1

Embed Size (px)

Citation preview

Page 1: 1 IP version 6 Architecture and Protocol Hiroshi Esaki, Ph.D The University of Tokyo, WIDE Project

1

IP version 6 Architecture and Protocol

Hiroshi Esaki, Ph.D The University of Tokyo,

WIDE Project <[email protected]>

Page 2: 1 IP version 6 Architecture and Protocol Hiroshi Esaki, Ph.D The University of Tokyo, WIDE Project

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

Page 3: 1 IP version 6 Architecture and Protocol Hiroshi Esaki, Ph.D The University of Tokyo, WIDE Project

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

Page 4: 1 IP version 6 Architecture and Protocol Hiroshi Esaki, Ph.D The University of Tokyo, WIDE Project

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.

Page 5: 1 IP version 6 Architecture and Protocol Hiroshi Esaki, Ph.D The University of Tokyo, WIDE Project

5

IP ; Internet Protocol

• IP packet

• IP/TCP

IPTCPAPP

IP IPTCPAPP

net-A net-B

Source Addr. Destination Addr. Data

net-C

Page 6: 1 IP version 6 Architecture and Protocol Hiroshi Esaki, Ph.D The University of Tokyo, WIDE Project

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)

Page 7: 1 IP version 6 Architecture and Protocol Hiroshi Esaki, Ph.D The University of Tokyo, WIDE Project

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

Page 8: 1 IP version 6 Architecture and Protocol Hiroshi Esaki, Ph.D The University of Tokyo, WIDE Project

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

Page 9: 1 IP version 6 Architecture and Protocol Hiroshi Esaki, Ph.D The University of Tokyo, WIDE Project

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

Page 10: 1 IP version 6 Architecture and Protocol Hiroshi Esaki, Ph.D The University of Tokyo, WIDE Project

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.

Page 11: 1 IP version 6 Architecture and Protocol Hiroshi Esaki, Ph.D The University of Tokyo, WIDE Project

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

Page 12: 1 IP version 6 Architecture and Protocol Hiroshi Esaki, Ph.D The University of Tokyo, WIDE Project

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

Page 13: 1 IP version 6 Architecture and Protocol Hiroshi Esaki, Ph.D The University of Tokyo, WIDE Project

13

Short Term Solutionsusing IPv4

Page 14: 1 IP version 6 Architecture and Protocol Hiroshi Esaki, Ph.D The University of Tokyo, WIDE Project

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)

Page 15: 1 IP version 6 Architecture and Protocol Hiroshi Esaki, Ph.D The University of Tokyo, WIDE Project

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

Page 16: 1 IP version 6 Architecture and Protocol Hiroshi Esaki, Ph.D The University of Tokyo, WIDE Project

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

Page 17: 1 IP version 6 Architecture and Protocol Hiroshi Esaki, Ph.D The University of Tokyo, WIDE Project

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

Page 18: 1 IP version 6 Architecture and Protocol Hiroshi Esaki, Ph.D The University of Tokyo, WIDE Project

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

Page 19: 1 IP version 6 Architecture and Protocol Hiroshi Esaki, Ph.D The University of Tokyo, WIDE Project

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

Page 20: 1 IP version 6 Architecture and Protocol Hiroshi Esaki, Ph.D The University of Tokyo, WIDE Project

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)

Page 21: 1 IP version 6 Architecture and Protocol Hiroshi Esaki, Ph.D The University of Tokyo, WIDE Project

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)

Page 22: 1 IP version 6 Architecture and Protocol Hiroshi Esaki, Ph.D The University of Tokyo, WIDE Project

22

Variable Length Subnet Mask

• VLSM (Variable Length Subnet Mask)

• Super-Netting

• Routing Information<Network ID , Prefix Length , Next Hop Node>

– Best-Match archiving

Page 23: 1 IP version 6 Architecture and Protocol Hiroshi Esaki, Ph.D The University of Tokyo, WIDE Project

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

Page 24: 1 IP version 6 Architecture and Protocol Hiroshi Esaki, Ph.D The University of Tokyo, WIDE Project

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

Page 25: 1 IP version 6 Architecture and Protocol Hiroshi Esaki, Ph.D The University of Tokyo, WIDE Project

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

Page 26: 1 IP version 6 Architecture and Protocol Hiroshi Esaki, Ph.D The University of Tokyo, WIDE Project

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)

Page 27: 1 IP version 6 Architecture and Protocol Hiroshi Esaki, Ph.D The University of Tokyo, WIDE Project

27

Other address savings

• DHCP ; Dynamic Host Configuration Protocol• NAT ; Network Address Translation• Private IP address

Page 28: 1 IP version 6 Architecture and Protocol Hiroshi Esaki, Ph.D The University of Tokyo, WIDE Project

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

Page 29: 1 IP version 6 Architecture and Protocol Hiroshi Esaki, Ph.D The University of Tokyo, WIDE Project

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

Page 30: 1 IP version 6 Architecture and Protocol Hiroshi Esaki, Ph.D The University of Tokyo, WIDE Project

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

Page 31: 1 IP version 6 Architecture and Protocol Hiroshi Esaki, Ph.D The University of Tokyo, WIDE Project

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.

Page 32: 1 IP version 6 Architecture and Protocol Hiroshi Esaki, Ph.D The University of Tokyo, WIDE Project

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

Page 33: 1 IP version 6 Architecture and Protocol Hiroshi Esaki, Ph.D The University of Tokyo, WIDE Project

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)

Page 34: 1 IP version 6 Architecture and Protocol Hiroshi Esaki, Ph.D The University of Tokyo, WIDE Project

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

Page 35: 1 IP version 6 Architecture and Protocol Hiroshi Esaki, Ph.D The University of Tokyo, WIDE Project

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

Page 36: 1 IP version 6 Architecture and Protocol Hiroshi Esaki, Ph.D The University of Tokyo, WIDE Project

36

Detail of IPv6

Page 37: 1 IP version 6 Architecture and Protocol Hiroshi Esaki, Ph.D The University of Tokyo, WIDE Project

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

Page 38: 1 IP version 6 Architecture and Protocol Hiroshi Esaki, Ph.D The University of Tokyo, WIDE Project

38

How is IPv6 standardized ?

Page 39: 1 IP version 6 Architecture and Protocol Hiroshi Esaki, Ph.D The University of Tokyo, WIDE Project

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

Page 40: 1 IP version 6 Architecture and Protocol Hiroshi Esaki, Ph.D The University of Tokyo, WIDE Project

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

Page 41: 1 IP version 6 Architecture and Protocol Hiroshi Esaki, Ph.D The University of Tokyo, WIDE Project

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

Page 42: 1 IP version 6 Architecture and Protocol Hiroshi Esaki, Ph.D The University of Tokyo, WIDE Project

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

Page 43: 1 IP version 6 Architecture and Protocol Hiroshi Esaki, Ph.D The University of Tokyo, WIDE Project

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

Page 44: 1 IP version 6 Architecture and Protocol Hiroshi Esaki, Ph.D The University of Tokyo, WIDE Project

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)

Page 45: 1 IP version 6 Architecture and Protocol Hiroshi Esaki, Ph.D The University of Tokyo, WIDE Project

45

IPng technical requirements (RFC1726)

• Configuration– Auto-configuration / plug & play

• Open standard – Published by RFC

• Other requirements– Security– Mobile host, mobile network– Multicast

Page 46: 1 IP version 6 Architecture and Protocol Hiroshi Esaki, Ph.D The University of Tokyo, WIDE Project

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

Page 47: 1 IP version 6 Architecture and Protocol Hiroshi Esaki, Ph.D The University of Tokyo, WIDE Project

47

IPv6 Specification

Page 48: 1 IP version 6 Architecture and Protocol Hiroshi Esaki, Ph.D The University of Tokyo, WIDE Project

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

Page 49: 1 IP version 6 Architecture and Protocol Hiroshi Esaki, Ph.D The University of Tokyo, WIDE Project

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

Page 50: 1 IP version 6 Architecture and Protocol Hiroshi Esaki, Ph.D The University of Tokyo, WIDE Project

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

Page 51: 1 IP version 6 Architecture and Protocol Hiroshi Esaki, Ph.D The University of Tokyo, WIDE Project

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

Page 52: 1 IP version 6 Architecture and Protocol Hiroshi Esaki, Ph.D The University of Tokyo, WIDE Project

52

Terminology

Page 53: 1 IP version 6 Architecture and Protocol Hiroshi Esaki, Ph.D The University of Tokyo, WIDE Project

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

Page 54: 1 IP version 6 Architecture and Protocol Hiroshi Esaki, Ph.D The University of Tokyo, WIDE Project

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

Page 55: 1 IP version 6 Architecture and Protocol Hiroshi Esaki, Ph.D The University of Tokyo, WIDE Project

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

Page 56: 1 IP version 6 Architecture and Protocol Hiroshi Esaki, Ph.D The University of Tokyo, WIDE Project

56

Address Architecture

Page 57: 1 IP version 6 Architecture and Protocol Hiroshi Esaki, Ph.D The University of Tokyo, WIDE Project

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

Page 58: 1 IP version 6 Architecture and Protocol Hiroshi Esaki, Ph.D The University of Tokyo, WIDE Project

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

Page 59: 1 IP version 6 Architecture and Protocol Hiroshi Esaki, Ph.D The University of Tokyo, WIDE Project

59

IPv6 Addres Structure (cont.)

Interface ID

64bit 64bit

Network Prefix

Page 60: 1 IP version 6 Architecture and Protocol Hiroshi Esaki, Ph.D The University of Tokyo, WIDE Project

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

Page 61: 1 IP version 6 Architecture and Protocol Hiroshi Esaki, Ph.D The University of Tokyo, WIDE Project

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 し

Page 62: 1 IP version 6 Architecture and Protocol Hiroshi Esaki, Ph.D The University of Tokyo, WIDE Project

62

What is Anycast

HOSTHOST

HOST

HOST

2001::1

2001::1

2001::1

Page 63: 1 IP version 6 Architecture and Protocol Hiroshi Esaki, Ph.D The University of Tokyo, WIDE Project

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

Page 64: 1 IP version 6 Architecture and Protocol Hiroshi Esaki, Ph.D The University of Tokyo, WIDE Project

64

Scope (cont.)

HOST HOST

Router

HOST

Link-local

Link-local

Site-local

Site-local

Global

Page 65: 1 IP version 6 Architecture and Protocol Hiroshi Esaki, Ph.D The University of Tokyo, WIDE Project

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

Page 66: 1 IP version 6 Architecture and Protocol Hiroshi Esaki, Ph.D The University of Tokyo, WIDE Project

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

Page 67: 1 IP version 6 Architecture and Protocol Hiroshi Esaki, Ph.D The University of Tokyo, WIDE Project

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

Page 68: 1 IP version 6 Architecture and Protocol Hiroshi Esaki, Ph.D The University of Tokyo, WIDE Project

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

Page 69: 1 IP version 6 Architecture and Protocol Hiroshi Esaki, Ph.D The University of Tokyo, WIDE Project

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

Page 70: 1 IP version 6 Architecture and Protocol Hiroshi Esaki, Ph.D The University of Tokyo, WIDE Project

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

Page 71: 1 IP version 6 Architecture and Protocol Hiroshi Esaki, Ph.D The University of Tokyo, WIDE Project

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

Page 72: 1 IP version 6 Architecture and Protocol Hiroshi Esaki, Ph.D The University of Tokyo, WIDE Project

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

Page 73: 1 IP version 6 Architecture and Protocol Hiroshi Esaki, Ph.D The University of Tokyo, WIDE Project

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

Page 74: 1 IP version 6 Architecture and Protocol Hiroshi Esaki, Ph.D The University of Tokyo, WIDE Project

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

Page 75: 1 IP version 6 Architecture and Protocol Hiroshi Esaki, Ph.D The University of Tokyo, WIDE Project

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

Page 76: 1 IP version 6 Architecture and Protocol Hiroshi Esaki, Ph.D The University of Tokyo, WIDE Project

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

Page 77: 1 IP version 6 Architecture and Protocol Hiroshi Esaki, Ph.D The University of Tokyo, WIDE Project

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

Page 78: 1 IP version 6 Architecture and Protocol Hiroshi Esaki, Ph.D The University of Tokyo, WIDE Project

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

Page 79: 1 IP version 6 Architecture and Protocol Hiroshi Esaki, Ph.D The University of Tokyo, WIDE Project

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!)

Page 80: 1 IP version 6 Architecture and Protocol Hiroshi Esaki, Ph.D The University of Tokyo, WIDE Project

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.

Page 81: 1 IP version 6 Architecture and Protocol Hiroshi Esaki, Ph.D The University of Tokyo, WIDE Project

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

Page 82: 1 IP version 6 Architecture and Protocol Hiroshi Esaki, Ph.D The University of Tokyo, WIDE Project

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

Page 83: 1 IP version 6 Architecture and Protocol Hiroshi Esaki, Ph.D The University of Tokyo, WIDE Project

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

Page 84: 1 IP version 6 Architecture and Protocol Hiroshi Esaki, Ph.D The University of Tokyo, WIDE Project

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

Page 85: 1 IP version 6 Architecture and Protocol Hiroshi Esaki, Ph.D The University of Tokyo, WIDE Project

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

Page 86: 1 IP version 6 Architecture and Protocol Hiroshi Esaki, Ph.D The University of Tokyo, WIDE Project

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

Page 87: 1 IP version 6 Architecture and Protocol Hiroshi Esaki, Ph.D The University of Tokyo, WIDE Project

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

Page 88: 1 IP version 6 Architecture and Protocol Hiroshi Esaki, Ph.D The University of Tokyo, WIDE Project

88

Packet Format

Page 89: 1 IP version 6 Architecture and Protocol Hiroshi Esaki, Ph.D The University of Tokyo, WIDE Project

89

IPv4 header

Ver HL TOS Total Length

IdentificationFlagFragment Offset

TTL ProtocolHeader Checksum

Source Address

Destination Address

Options Padding

IPv4

Page 90: 1 IP version 6 Architecture and Protocol Hiroshi Esaki, Ph.D The University of Tokyo, WIDE Project

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

Page 91: 1 IP version 6 Architecture and Protocol Hiroshi Esaki, Ph.D The University of Tokyo, WIDE Project

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

Page 92: 1 IP version 6 Architecture and Protocol Hiroshi Esaki, Ph.D The University of Tokyo, WIDE Project

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

Page 93: 1 IP version 6 Architecture and Protocol Hiroshi Esaki, Ph.D The University of Tokyo, WIDE Project

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

Page 94: 1 IP version 6 Architecture and Protocol Hiroshi Esaki, Ph.D The University of Tokyo, WIDE Project

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

Page 95: 1 IP version 6 Architecture and Protocol Hiroshi Esaki, Ph.D The University of Tokyo, WIDE Project

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

Page 96: 1 IP version 6 Architecture and Protocol Hiroshi Esaki, Ph.D The University of Tokyo, WIDE Project

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]

Page 97: 1 IP version 6 Architecture and Protocol Hiroshi Esaki, Ph.D The University of Tokyo, WIDE Project

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

Page 98: 1 IP version 6 Architecture and Protocol Hiroshi Esaki, Ph.D The University of Tokyo, WIDE Project

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

Page 99: 1 IP version 6 Architecture and Protocol Hiroshi Esaki, Ph.D The University of Tokyo, WIDE Project

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

Page 100: 1 IP version 6 Architecture and Protocol Hiroshi Esaki, Ph.D The University of Tokyo, WIDE Project

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

Page 101: 1 IP version 6 Architecture and Protocol Hiroshi Esaki, Ph.D The University of Tokyo, WIDE Project

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

Page 102: 1 IP version 6 Architecture and Protocol Hiroshi Esaki, Ph.D The University of Tokyo, WIDE Project

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

Page 103: 1 IP version 6 Architecture and Protocol Hiroshi Esaki, Ph.D The University of Tokyo, WIDE Project

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

Page 104: 1 IP version 6 Architecture and Protocol Hiroshi Esaki, Ph.D The University of Tokyo, WIDE Project

104

No Next Header

• There is no extension header

• There is no payload

Page 105: 1 IP version 6 Architecture and Protocol Hiroshi Esaki, Ph.D The University of Tokyo, WIDE Project

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 ????

Page 106: 1 IP version 6 Architecture and Protocol Hiroshi Esaki, Ph.D The University of Tokyo, WIDE Project

106

Pseudo header

• Pseudo header for TCP , UDP checksu

Next Headerzero Payload Length

Source Address

Destination Address

Page 107: 1 IP version 6 Architecture and Protocol Hiroshi Esaki, Ph.D The University of Tokyo, WIDE Project

107

ICMPv6

Page 108: 1 IP version 6 Architecture and Protocol Hiroshi Esaki, Ph.D The University of Tokyo, WIDE Project

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

Page 109: 1 IP version 6 Architecture and Protocol Hiroshi Esaki, Ph.D The University of Tokyo, WIDE Project

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

Page 110: 1 IP version 6 Architecture and Protocol Hiroshi Esaki, Ph.D The University of Tokyo, WIDE Project

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

Page 111: 1 IP version 6 Architecture and Protocol Hiroshi Esaki, Ph.D The University of Tokyo, WIDE Project

111

NDP(Neighbor Discovery Protocol)

Page 112: 1 IP version 6 Architecture and Protocol Hiroshi Esaki, Ph.D The University of Tokyo, WIDE Project

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

Page 113: 1 IP version 6 Architecture and Protocol Hiroshi Esaki, Ph.D The University of Tokyo, WIDE Project

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

Page 114: 1 IP version 6 Architecture and Protocol Hiroshi Esaki, Ph.D The University of Tokyo, WIDE Project

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

Page 115: 1 IP version 6 Architecture and Protocol Hiroshi Esaki, Ph.D The University of Tokyo, WIDE Project

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

Page 116: 1 IP version 6 Architecture and Protocol Hiroshi Esaki, Ph.D The University of Tokyo, WIDE Project

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

Page 117: 1 IP version 6 Architecture and Protocol Hiroshi Esaki, Ph.D The University of Tokyo, WIDE Project

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

Page 118: 1 IP version 6 Architecture and Protocol Hiroshi Esaki, Ph.D The University of Tokyo, WIDE Project

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 !!!

Page 119: 1 IP version 6 Architecture and Protocol Hiroshi Esaki, Ph.D The University of Tokyo, WIDE Project

119

Auto-configurationi.e., plug & play

Page 120: 1 IP version 6 Architecture and Protocol Hiroshi Esaki, Ph.D The University of Tokyo, WIDE Project

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

Page 121: 1 IP version 6 Architecture and Protocol Hiroshi Esaki, Ph.D The University of Tokyo, WIDE Project

121

Router renumbering

• Renumbering of network

• draft-ietf-ipngwg-router-renum-xx

• Network address in the organization (site) is automatically renumbered

Page 122: 1 IP version 6 Architecture and Protocol Hiroshi Esaki, Ph.D The University of Tokyo, WIDE Project

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

Page 123: 1 IP version 6 Architecture and Protocol Hiroshi Esaki, Ph.D The University of Tokyo, WIDE Project

123

Multi-link subnet

Page 124: 1 IP version 6 Architecture and Protocol Hiroshi Esaki, Ph.D The University of Tokyo, WIDE Project

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

Page 125: 1 IP version 6 Architecture and Protocol Hiroshi Esaki, Ph.D The University of Tokyo, WIDE Project

125

Security

Page 126: 1 IP version 6 Architecture and Protocol Hiroshi Esaki, Ph.D The University of Tokyo, WIDE Project

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

Page 127: 1 IP version 6 Architecture and Protocol Hiroshi Esaki, Ph.D The University of Tokyo, WIDE Project

127

Tow security mechanisms

• AH - Authentication Header– Authentication and integrity check

• ESP - Encapsulating Security Payload– Encrypting the data

Page 128: 1 IP version 6 Architecture and Protocol Hiroshi Esaki, Ph.D The University of Tokyo, WIDE Project

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

Page 129: 1 IP version 6 Architecture and Protocol Hiroshi Esaki, Ph.D The University of Tokyo, WIDE Project

129

Authentication Header (cont.)

• Length: Payload length

• SPI: Security parameter index

• Sequence Number

• Authentication Data

Page 130: 1 IP version 6 Architecture and Protocol Hiroshi Esaki, Ph.D The University of Tokyo, WIDE Project

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

Page 131: 1 IP version 6 Architecture and Protocol Hiroshi Esaki, Ph.D The University of Tokyo, WIDE Project

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

Page 132: 1 IP version 6 Architecture and Protocol Hiroshi Esaki, Ph.D The University of Tokyo, WIDE Project

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

Page 133: 1 IP version 6 Architecture and Protocol Hiroshi Esaki, Ph.D The University of Tokyo, WIDE Project

133

Transport mode

Internet

IP Payload

IP ESP

IP Payload

IP ESP

Page 134: 1 IP version 6 Architecture and Protocol Hiroshi Esaki, Ph.D The University of Tokyo, WIDE Project

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

Page 135: 1 IP version 6 Architecture and Protocol Hiroshi Esaki, Ph.D The University of Tokyo, WIDE Project

135

Tunnel mode

Internet

IP1 Payload

IP2 IP1 ESP

IPsec-GW IPsec-GW

IP2 IP1 ESP

IP1 Payload

Page 136: 1 IP version 6 Architecture and Protocol Hiroshi Esaki, Ph.D The University of Tokyo, WIDE Project

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

Page 137: 1 IP version 6 Architecture and Protocol Hiroshi Esaki, Ph.D The University of Tokyo, WIDE Project

137

Mobility

Page 138: 1 IP version 6 Architecture and Protocol Hiroshi Esaki, Ph.D The University of Tokyo, WIDE Project

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

Page 139: 1 IP version 6 Architecture and Protocol Hiroshi Esaki, Ph.D The University of Tokyo, WIDE Project

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

Page 140: 1 IP version 6 Architecture and Protocol Hiroshi Esaki, Ph.D The University of Tokyo, WIDE Project

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

Page 141: 1 IP version 6 Architecture and Protocol Hiroshi Esaki, Ph.D The University of Tokyo, WIDE Project

141

Mobile IP operational example

Home Agent

move

Mobile Node

tunnel

Mobile Node

Page 142: 1 IP version 6 Architecture and Protocol Hiroshi Esaki, Ph.D The University of Tokyo, WIDE Project

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

Page 143: 1 IP version 6 Architecture and Protocol Hiroshi Esaki, Ph.D The University of Tokyo, WIDE Project

143

Deploymeny of IPv6 to IPv4

Page 144: 1 IP version 6 Architecture and Protocol Hiroshi Esaki, Ph.D The University of Tokyo, WIDE Project

144

IPv6 transition

IPv6 introduction

Page 145: 1 IP version 6 Architecture and Protocol Hiroshi Esaki, Ph.D The University of Tokyo, WIDE Project

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)

Page 146: 1 IP version 6 Architecture and Protocol Hiroshi Esaki, Ph.D The University of Tokyo, WIDE Project

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

Page 147: 1 IP version 6 Architecture and Protocol Hiroshi Esaki, Ph.D The University of Tokyo, WIDE Project

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

Page 148: 1 IP version 6 Architecture and Protocol Hiroshi Esaki, Ph.D The University of Tokyo, WIDE Project

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

Page 149: 1 IP version 6 Architecture and Protocol Hiroshi Esaki, Ph.D The University of Tokyo, WIDE Project

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

Page 150: 1 IP version 6 Architecture and Protocol Hiroshi Esaki, Ph.D The University of Tokyo, WIDE Project

150

Tunneling of IPv6 packet over IPv4 (IPv6 in IPv4)

payload

TCP or UDP

IPv6 header

IPv4 header

payload

TCP or UDP

IPv6 Header

Page 151: 1 IP version 6 Architecture and Protocol Hiroshi Esaki, Ph.D The University of Tokyo, WIDE Project

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

Page 152: 1 IP version 6 Architecture and Protocol Hiroshi Esaki, Ph.D The University of Tokyo, WIDE Project

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)

Page 153: 1 IP version 6 Architecture and Protocol Hiroshi Esaki, Ph.D The University of Tokyo, WIDE Project

153Bump in the stack (BIS) software structure

TCP/IPv4

IPv4 Applications

Network Card

Network Card Driver

ExtendedNameResolver

AddressMapper

Translator

IPv6

Legacy API

Page 154: 1 IP version 6 Architecture and Protocol Hiroshi Esaki, Ph.D The University of Tokyo, WIDE Project

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

⑭ ⑭

Page 155: 1 IP version 6 Architecture and Protocol Hiroshi Esaki, Ph.D The University of Tokyo, WIDE Project

155

IPv4 Application

TCP/IPv4

ExtensionName

Resolver

AddressMapper Translator

Driver

“Host6”

① : IPv6 packet② : “ AAAA” ?③ :“ A” for “AAAA”④⑤⑥⑦ : IPv4 packet⑧ : IPv6 packet

① ①

Page 156: 1 IP version 6 Architecture and Protocol Hiroshi Esaki, Ph.D The University of Tokyo, WIDE Project

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)

Page 157: 1 IP version 6 Architecture and Protocol Hiroshi Esaki, Ph.D The University of Tokyo, WIDE Project

157BIA (Bump in the Application) software structure

IPv4 Applications

Network Card

NameResolver

AddressMapper

FunctionMapper

IPv4 Socket API

Socket API (IPv4, IPv6)IPv6 Socket API

Page 158: 1 IP version 6 Architecture and Protocol Hiroshi Esaki, Ph.D The University of Tokyo, WIDE Project

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

⑪ ⑪

② ②③③

Page 159: 1 IP version 6 Architecture and Protocol Hiroshi Esaki, Ph.D The University of Tokyo, WIDE Project

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

① ①

Page 160: 1 IP version 6 Architecture and Protocol Hiroshi Esaki, Ph.D The University of Tokyo, WIDE Project

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)

Page 161: 1 IP version 6 Architecture and Protocol Hiroshi Esaki, Ph.D The University of Tokyo, WIDE Project

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

Page 162: 1 IP version 6 Architecture and Protocol Hiroshi Esaki, Ph.D The University of Tokyo, WIDE Project

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”

Page 163: 1 IP version 6 Architecture and Protocol Hiroshi Esaki, Ph.D The University of Tokyo, WIDE Project

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 サイト同士の接続概念図

Page 164: 1 IP version 6 Architecture and Protocol Hiroshi Esaki, Ph.D The University of Tokyo, WIDE Project

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)

Page 165: 1 IP version 6 Architecture and Protocol Hiroshi Esaki, Ph.D The University of Tokyo, WIDE Project

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”

Page 166: 1 IP version 6 Architecture and Protocol Hiroshi Esaki, Ph.D The University of Tokyo, WIDE Project

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”

Page 167: 1 IP version 6 Architecture and Protocol Hiroshi Esaki, Ph.D The University of Tokyo, WIDE Project

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)

Page 168: 1 IP version 6 Architecture and Protocol Hiroshi Esaki, Ph.D The University of Tokyo, WIDE Project

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

Page 169: 1 IP version 6 Architecture and Protocol Hiroshi Esaki, Ph.D The University of Tokyo, WIDE Project

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

Page 170: 1 IP version 6 Architecture and Protocol Hiroshi Esaki, Ph.D The University of Tokyo, WIDE Project

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)

Page 171: 1 IP version 6 Architecture and Protocol Hiroshi Esaki, Ph.D The University of Tokyo, WIDE Project

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)

Page 172: 1 IP version 6 Architecture and Protocol Hiroshi Esaki, Ph.D The University of Tokyo, WIDE Project

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

Page 173: 1 IP version 6 Architecture and Protocol Hiroshi Esaki, Ph.D The University of Tokyo, WIDE Project

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)

Page 174: 1 IP version 6 Architecture and Protocol Hiroshi Esaki, Ph.D The University of Tokyo, WIDE Project

174

Dual-StackUser-Node

TunnelBroker

DNSTunnelServer

TunnelServer

TunnelServer

IPv6-over-IPv4 Tunnel

: Control Information: Data (Tunnel)

Page 175: 1 IP version 6 Architecture and Protocol Hiroshi Esaki, Ph.D The University of Tokyo, WIDE Project

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)

Page 176: 1 IP version 6 Architecture and Protocol Hiroshi Esaki, Ph.D The University of Tokyo, WIDE Project

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

Page 177: 1 IP version 6 Architecture and Protocol Hiroshi Esaki, Ph.D The University of Tokyo, WIDE Project

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 |+--+-----+---+--------+--------+--------------------------------+

Page 178: 1 IP version 6 Architecture and Protocol Hiroshi Esaki, Ph.D The University of Tokyo, WIDE Project

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)

Page 179: 1 IP version 6 Architecture and Protocol Hiroshi Esaki, Ph.D The University of Tokyo, WIDE Project

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

Page 180: 1 IP version 6 Architecture and Protocol Hiroshi Esaki, Ph.D The University of Tokyo, WIDE Project

180

IPv6 routing protocols

• RIP RIPng

• BGP4 BGP4+

• OSPFv2 OSPFv3

• IS-IS IS-IS for IPv6

Page 181: 1 IP version 6 Architecture and Protocol Hiroshi Esaki, Ph.D The University of Tokyo, WIDE Project

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)

Page 182: 1 IP version 6 Architecture and Protocol Hiroshi Esaki, Ph.D The University of Tokyo, WIDE Project

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

Page 183: 1 IP version 6 Architecture and Protocol Hiroshi Esaki, Ph.D The University of Tokyo, WIDE Project

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.

Page 184: 1 IP version 6 Architecture and Protocol Hiroshi Esaki, Ph.D The University of Tokyo, WIDE Project

184

APIApplication Interface

Basic socket API(RFC2553)

Advanced socketAPI(RFC2292)

Page 185: 1 IP version 6 Architecture and Protocol Hiroshi Esaki, Ph.D The University of Tokyo, WIDE Project

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)

Page 186: 1 IP version 6 Architecture and Protocol Hiroshi Esaki, Ph.D The University of Tokyo, WIDE Project

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

Page 187: 1 IP version 6 Architecture and Protocol Hiroshi Esaki, Ph.D The University of Tokyo, WIDE Project

187

Basic API compoments

• Core socket routines

• Address data struct

• Name – Address translation routines

• Address translation routines

Page 188: 1 IP version 6 Architecture and Protocol Hiroshi Esaki, Ph.D The University of Tokyo, WIDE Project

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

Page 189: 1 IP version 6 Architecture and Protocol Hiroshi Esaki, Ph.D The University of Tokyo, WIDE Project

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 */};

Page 190: 1 IP version 6 Architecture and Protocol Hiroshi Esaki, Ph.D The University of Tokyo, WIDE Project

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)); /* ... */

Page 191: 1 IP version 6 Architecture and Protocol Hiroshi Esaki, Ph.D The University of Tokyo, WIDE Project

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);

Page 192: 1 IP version 6 Architecture and Protocol Hiroshi Esaki, Ph.D The University of Tokyo, WIDE Project

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

Page 193: 1 IP version 6 Architecture and Protocol Hiroshi Esaki, Ph.D The University of Tokyo, WIDE Project

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()”

Page 194: 1 IP version 6 Architecture and Protocol Hiroshi Esaki, Ph.D The University of Tokyo, WIDE Project

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()

Page 195: 1 IP version 6 Architecture and Protocol Hiroshi Esaki, Ph.D The University of Tokyo, WIDE Project

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 本

Page 196: 1 IP version 6 Architecture and Protocol Hiroshi Esaki, Ph.D The University of Tokyo, WIDE Project

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.

Page 197: 1 IP version 6 Architecture and Protocol Hiroshi Esaki, Ph.D The University of Tokyo, WIDE Project

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.

Page 198: 1 IP version 6 Architecture and Protocol Hiroshi Esaki, Ph.D The University of Tokyo, WIDE Project

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.

Page 199: 1 IP version 6 Architecture and Protocol Hiroshi Esaki, Ph.D The University of Tokyo, WIDE Project

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.

Page 200: 1 IP version 6 Architecture and Protocol Hiroshi Esaki, Ph.D The University of Tokyo, WIDE Project

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.

Page 201: 1 IP version 6 Architecture and Protocol Hiroshi Esaki, Ph.D The University of Tokyo, WIDE Project

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.

Page 202: 1 IP version 6 Architecture and Protocol Hiroshi Esaki, Ph.D The University of Tokyo, WIDE Project

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.

Page 203: 1 IP version 6 Architecture and Protocol Hiroshi Esaki, Ph.D The University of Tokyo, WIDE Project

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.

Page 204: 1 IP version 6 Architecture and Protocol Hiroshi Esaki, Ph.D The University of Tokyo, WIDE Project

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.

Page 205: 1 IP version 6 Architecture and Protocol Hiroshi Esaki, Ph.D The University of Tokyo, WIDE Project

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.

Page 206: 1 IP version 6 Architecture and Protocol Hiroshi Esaki, Ph.D The University of Tokyo, WIDE Project

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.

Page 207: 1 IP version 6 Architecture and Protocol Hiroshi Esaki, Ph.D The University of Tokyo, WIDE Project

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.

Page 208: 1 IP version 6 Architecture and Protocol Hiroshi Esaki, Ph.D The University of Tokyo, WIDE Project

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.