88
1 國國國國國國國國國國國國國國 Internet Protocol Version 6 (IPv6) 國國國國國國國國國國國國 國國國國國 E-mail: [email protected]

Internet Protocol Version 6 (IPv6)

Embed Size (px)

DESCRIPTION

Internet Protocol Version 6 (IPv6). 國立清華大學資訊工程學系 黃能富教授 E-mail: [email protected]. 大綱. IPv6 Introduction Routing and Addressing Plug and Play Security/QoS Supports IPv4/Ipv6 Transition Mechanisms. IPv6 Applications. Home Appliance Controllers VoIP /Video Streaming - PowerPoint PPT Presentation

Citation preview

Page 1: Internet Protocol Version 6 (IPv6)

1國立清華大學資訊系黃能富教授

Internet Protocol Version 6(IPv6)

國立清華大學資訊工程學系 黃能富教授E-mail: [email protected]

Page 2: Internet Protocol Version 6 (IPv6)

2國立清華大學資訊系黃能富教授

大綱 IPv6 Introduction Routing and Addressing Plug and Play Security/QoS Supports IPv4/Ipv6 Transition Mechanisms

Page 3: Internet Protocol Version 6 (IPv6)

3國立清華大學資訊系黃能富教授

IPv6 Applications

Home Appliance Controllers VoIP/Video Streaming Remote Controllers 3G/4G Games Home Automation Others

Page 4: Internet Protocol Version 6 (IPv6)

4國立清華大學資訊系黃能富教授

IP 位址需求無所不在

Page 5: Internet Protocol Version 6 (IPv6)

5國立清華大學資訊系黃能富教授

The Design of IPv6 The Internet could not have been so successful in

the past years if IPv4 had contained any major flaw.

IPv4 was a very good design, and IPv6 should indeed keep most of its characteristics.

It could have been sufficient to simply increase the size of addresses and to keep everything else unchanged.

However, 10 years of experience brought lessons. IPv6 is built on this additional knowledge. It is not

a simple derivation of IPv4, but a definitive improvement.

Page 6: Internet Protocol Version 6 (IPv6)

6國立清華大學資訊系黃能富教授

IPv6Header Format

4 4 8 3 13 位元Version IHL ToS Total length

Identifier Flags Fragment offset

Time to live Protocol Header checksum

Source IP address (32 bits)

Destination IP address (32 bits)

Options + Padding

Data (不固定長度)

4 4 8 8 8 位元Version Prio Flow Label

Payload Length Next Header Hop Limit

Source IP address (128 位元)

Destination IP address (128位元)IPv6 Header

IPv4 Header

Page 7: Internet Protocol Version 6 (IPv6)

7國立清華大學資訊系黃能富教授

A Comparison of Two Headers

Six fields were suppressed:– Header Length, Type of Service, Identification,

Flags, Fragment Offset, Header Checksum. Three fields were renamed:

– Length, Protocol Type, Time to Live The option mechanism was entirely revised.

– Source Routing– Route Recording

Two new fields were added:– Priority and Flow Label (to handle the real-time

traffic).

Page 8: Internet Protocol Version 6 (IPv6)

8國立清華大學資訊系黃能富教授

A Comparison of Two Headers

Three major simplifications– Assign a fixed format to all

headers (40 bytes)– Remove the header checksum– Remove the hop-by-hop

segmentation procedure

Page 9: Internet Protocol Version 6 (IPv6)

9國立清華大學資訊系黃能富教授

From Options to Extension Headers Hop-by-Hop options header Routing header Fragment header Authentication header Encrypted security payload Destination options header

IPv6 HeaderNext Header=TCPTCP Header

IPv6 HeaderNext Header=Routing

TCP HeaderRouting HeaderNext Header=TCP

IPv6 HeaderNext Header=Routing

Fragment ofTCP Header

Routing HeaderNext Header=Fragment

Fragment HeaderNext Header=TCP

Page 10: Internet Protocol Version 6 (IPv6)

10國立清華大學資訊系黃能富教授

Routing HeaderNext

HeaderRouting Type

= 0Num address

<= 24Next Addr

Reserved Strict/ Loose bit mask

Address[0] (IPv6 address, 128 bits)

Address[1]

Address[Num Addrs -1]

Page 11: Internet Protocol Version 6 (IPv6)

11國立清華大學資訊系黃能富教授

Fragment Header

IPv6header

fragmentheader 1

First 1400 octets

IPv6header

fragmentheader 2

Last 1400 octets

Next Header Reserved Fragment Offset Res MIdentifier

Frame Length = 2800 octets

More

Page 12: Internet Protocol Version 6 (IPv6)

12國立清華大學資訊系黃能富教授

IPv6 Addressing Three categories of IPv6 addresses:

– Unicast– Multicast– Anycast

Notation of IPv6 Addresses: – Write 128 bits as eight 16-bit integers separated by

colons– Example: FEDC:BA98:7654:3210:FEDC:BA98:7654:3210– A set of consecutive null 16-bit numbers can be

replaced by two colons– Example: 1080:0:0:0:8:800:200C:417A =>

1080::8:800:200C:417A

Page 13: Internet Protocol Version 6 (IPv6)

13國立清華大學資訊系黃能富教授

Addressing Some Addresses formats

– Provider Addresses– Link Local Addresses– Site Local Addresses – Multicast Addresses– Anycast Addresses

H

Internet

LAN

R

R

LAN

LAN

H H

H

H

Link

Link Link

Site

Site

Site ( 公司或組織)

Page 14: Internet Protocol Version 6 (IPv6)

14國立清華大學資訊系黃能富教授

sitetopology(16 bits)

interfaceidentifier(64 bits)

publictopology(45 bits)

interface IDSLA*NLA*TLA001

Global Unicast Addresses

TLA = Top-Level AggregatorNLA* = Next-Level Aggregator(s)SLA* = Site-Level Aggregator(s)

all subfields variable-length, non-self-encoding (like CIDR)

TLAs may be assigned to providers or exchanges

Page 15: Internet Protocol Version 6 (IPv6)

15國立清華大學資訊系黃能富教授

Link-local addresses for use during auto-configuration and when no routers are present:

Site-local addresses for independence from changes of TLA / NLA*:

Link-Local 及 Site-Local位址

1111111010 0 interface ID

1111111011 0 interface IDSLA*

Page 16: Internet Protocol Version 6 (IPv6)

16國立清華大學資訊系黃能富教授

Interface IDsLowest-order 64-bit field of unicast address may be assigned in several different ways:

auto-configured from a 64-bit EUI-64, or expanded from a 48-bit MAC address (e.g., Ethernet address)

auto-generated pseudo-random number (to address privacy concerns)

assigned via DHCPmanually configuredpossibly other methods in the future

Page 17: Internet Protocol Version 6 (IPv6)

17國立清華大學資訊系黃能富教授

TheEvolutionof ICMP

The ICMP for IPv4 was streamlined, and was made more complete by incorporating the multicast control functions of the IPv4 Group Membership Protocol.

ICMP Type Meaning1 Destination Unreachable2 Packet Too Big3 Time Exceeded4 Parameter Problem

128 Echo Request129 Echo Reply130 Group Membership Query131 Group Membership Report132 Group Membership Termination133 Router Solicitation134 Router Advertisement135 Neighbor Solicitation136 Neighbor Advertisement137 Redirect

Page 18: Internet Protocol Version 6 (IPv6)

18國立清華大學資訊系黃能富教授

IPv6 Routing As in IPv4, IPv6 supports IGP and EGP routing

protocols:–IGP for within an autonomous system are

•RIPng (RFC 2080)•OSPFv3 (RFC 2740)•Integrated IS-ISv6 (draft-ietf-isis-ipv6-02.txt)

–EGP for peering between autonomous systems•MP-BGP4 (RFC 2858 and RFC 2545)

BGP4+–Added IPv6 address-family–Added IPv6 transport–Runs within the same process - only one AS supported–All generic BGP functionality works as for IPv4–Added functionality to route-maps and prefix-lists

Page 19: Internet Protocol Version 6 (IPv6)

19國立清華大學資訊系黃能富教授

Plug-and-Play -- Auto-configuration

Autoconfiguration means that a computer will automatically discover and register the parameters that it needs to use in order to connect to the Internet.

One should be able to change addresses dynamically as one changes providers.

Addresses would be assigned to interfaces for a limited lifetime.

Two modes for address configuration– Stateless mode – Stateful mode (using an IPv6 version of DHCP)

Page 20: Internet Protocol Version 6 (IPv6)

20國立清華大學資訊系黃能富教授

Link State Addresses When an interface is initialized, the host

can build up a link local address for this interface by concatenating the well-known link local prefix and a unique token (48-bit Ethernet address).

A typical link local address: FE80:0:0:0:0:XXXX:XXXX:XXXX Link local address can only be used on

the local link.

Page 21: Internet Protocol Version 6 (IPv6)

21國立清華大學資訊系黃能富教授

Stateless Autoconfiguration IPv6 nodes join the all nodes multicast group

by programming their interfaces to receive all the packets for the address = FF02::1.

Send a solicitation message to the routers on the link, using the all routers address, FF02::2.

Routers reply with a router advertisement message.

Does not require any servers Relatively inefficient use of the address space Lack of network access control

Page 22: Internet Protocol Version 6 (IPv6)

22國立清華大學資訊系黃能富教授

Plug-and-Play --Address Resolution

The neighbor discovery procedure offers the functions of ARP as well as those of router discovery. Defined as part of IPv6 ICMP.

Host maintains four separate caches:– The destination’s cache.– The neighbor’s cache.– The prefix list.– The router list.

Page 23: Internet Protocol Version 6 (IPv6)

23國立清華大學資訊系黃能富教授

Destination’s Cache The destination’s cache has an

entry for each destination address toward which the host recently sent packets.

It associates the IPv6 address of the destination with that of the neighbor toward which the packets were sent.

Destination Neighbor IPv6 Address (To) IPv6 Address (Via)

Page 24: Internet Protocol Version 6 (IPv6)

24國立清華大學資訊系黃能富教授

Neighbor’s Cache The neighbor’s cache has an entry for

the immediately adjacent neighbor to which packets were recently relayed.

It associates the IPv6 address of that neighbor with the corresponding media address (MAC address). Neighbor NeighborIPv6 Address MAC address

Page 25: Internet Protocol Version 6 (IPv6)

25國立清華大學資訊系黃能富教授

Prefix List and Router List

The prefix list includes the prefixes that have been recently learned from router advertisements.

The router list includes the IPv6 addresses of all routers from which advertisements have recently been received.

Page 26: Internet Protocol Version 6 (IPv6)

26國立清華大學資訊系黃能富教授

Basic Algorithm To transmit a packet, the host must first find

out the next hop for the destination. The next hop should be a neighbor directly connected to the same link as the host.

In most cases, the neighbor address will be found in the destination’s cache.

If not, the host will check whether one of the cached prefixes matches the destination address.

If this is the case, the destination is local, the next hop is the destination itself.

Page 27: Internet Protocol Version 6 (IPv6)

27國立清華大學資訊系黃能富教授

Basic Algorithm Otherwise, the destination is probably

remote. A router should be selected from the router list as the next hop.

Once the next hop has been determined, the corresponding entry is added to the destination’s cache, and the neighbor’s cache is looked up to find the media address (MAC) of that neighbor.

Page 28: Internet Protocol Version 6 (IPv6)

28國立清華大學資訊系黃能富教授

Neighbor Solicitation and Neighbor Advertisement messages (IPv6 MAC)

IPv6 source address = link local address of the interface.

Hop count = 1. IPv6 destination

address = solicited node multicast address, which is formed by cancatenating a fixed 96-bit prefix, FF02:0:0:0:0:1, and the last 32 bits of the node’s IPv6 address.

Neighbor Solicitation

Neighbor Advertisement

Type =135 Code = 0 Checksum

Reserved

Target address = Solicited Neighbor Address (IPv6)

Options ... (Source link-level address)

Type =136 Code = 0 Checksum

R S Reserved

Target address

Options ... (Source link-level address)

Page 29: Internet Protocol Version 6 (IPv6)

29國立清華大學資訊系黃能富教授

Real-time Support and Flows A flow is a sequence of packets sent from a

particular source to a particular (unicast or multicast) destination for which the source desires special handling by the intervening routers.

Flow label may be used together with routing header.

Supporting Reservations– Real-time flows– Using RSVP and Flows– Using Hop-by-Hop Options

QoS

R1

R2

R3

R4

Data

S

Page 30: Internet Protocol Version 6 (IPv6)

30

Security

Page 31: Internet Protocol Version 6 (IPv6)

31國立清華大學資訊系黃能富教授

IPv6 Security All implementations required to support

authentication and encryption headers (“IPsec”)

Authentication separates from encryption for use in situations where encryption is prohibited or prohibitively expensive

Key distribution protocols Support for manual key configuration

required

Page 32: Internet Protocol Version 6 (IPv6)

32國立清華大學資訊系黃能富教授

Authentication Header

Destination Address + SPI identifies security association state (key, lifetime, algorithm, etc.)

Provides authentication and data integrity for all fields of IPv6 packet that do not change en-route

Default algorithm is Keyed MD5

Next Header Hdr Ext Len

Security Parameters Index (SPI)

Reserved

Sequence Number

Authentication Data

Page 33: Internet Protocol Version 6 (IPv6)

33國立清華大學資訊系黃能富教授

Encapsulating Security Payload (ESP)

Payload

Next Header

Security Parameters Index (SPI)

Sequence Number

Authentication Data

Padding LengthPadding

Page 34: Internet Protocol Version 6 (IPv6)

34

Migration from Ipv4 to Ipv6

Page 35: Internet Protocol Version 6 (IPv6)

35國立清華大學資訊系黃能富教授

IPv4-IPv6 Transition /Co-ExistenceA wide range of techniques have been identified and implemented, basically falling into three categories:

(1)Dual-stack techniques, to allow IPv4 and IPv6 to co-exist in the same devices and networks

(2)Tunneling techniques, to avoid order dependencies when upgrading hosts, routers, or regions

(3)Translation techniques, to allow IPv6-only devices to communicate with IPv4-only devices

Expect all of these to be used, in combination

Page 36: Internet Protocol Version 6 (IPv6)

36國立清華大學資訊系黃能富教授

Next Generation Transition

NGTRANSNGTRANS

Translator

Dual Stack

Tunneling

Page 37: Internet Protocol Version 6 (IPv6)

37國立清華大學資訊系黃能富教授

Dual Stack RFC 1933 NGTRANS draft :

Draft-ietf-ngtrans-dstm-07.txt

IPv4/IPv6IPv4/IPv6

DualStack

DualStack

IPv6IPv6

IPv4IPv4

DualStack

AIIH(DHCPv6,

DNS)

Page 38: Internet Protocol Version 6 (IPv6)

38國立清華大學資訊系黃能富教授

Dual Stack Approach

Dual stack node means:–Both IPv4 and IPv6 stacks enabled–Applications can talk to both–Choice of the IP version is based on name lookup and application preference

TCP UDP

IPv4 IPv6

Application

Data Link (Ethernet)

0x0800 0x86dd

TCP UDP

IPv4 IPv6

IPv6-enable Application

Data Link (Ethernet)

0x0800 0x86ddFrame Protocol ID

Preferred method on

Application’s servers

Page 39: Internet Protocol Version 6 (IPv6)

39國立清華大學資訊系黃能富教授

Dual Stack Mechanisms

Simple dual stack– Both IPv4 and IPv6 are directly

supported Dual Stack Transition Mechanism

(DSTM)– Temporary IPv4 addresses are

assigned when communicating with an IPv4-only host.

– Cooperation between DNS and DHCPv6

– Dynamic Tunnel Interface encapsulates the IPv4 packets

Page 40: Internet Protocol Version 6 (IPv6)

40

Dual Stack

RFC 1933 -- Transition Mechanisms for IPv6 Hosts and RoutersNGTRANS draft :

–Draft-ietf-ngtrans-dstm-07.txt

Page 41: Internet Protocol Version 6 (IPv6)

41國立清華大學資訊系黃能富教授

RFC 1933

Applications

TCP/UDP

IPV4 IPV6

Device Driver

V4/V6 network

V4/V6 network

V6 network

V6 network

V4 network

V4 network

TCP/UDP

IPV4 IPV6

Device Driver

Routing protocols

Page 42: Internet Protocol Version 6 (IPv6)

42

Draft–ietf–ngtrans–dstm-07

Dual Stack Transition Mechanism (DSTM)

Page 43: Internet Protocol Version 6 (IPv6)

43國立清華大學資訊系黃能富教授

Dual Stack Transition Mechanism

What is it for?– DSTM assures communication between IPv4

applications in IPv6 only networks and the rest of the Internet.

IPv6 only IPv4 only

?

IPv4 Applications

Page 44: Internet Protocol Version 6 (IPv6)

44國立清華大學資訊系黃能富教授

DSTM

Page 45: Internet Protocol Version 6 (IPv6)

45國立清華大學資訊系黃能富教授

DSTM: Principles

Assumes IPv4 and IPv6 stacks are available on host

IPv4 stack is configured only when one or more applications need it– A temporal IPv4 address is given to the host

All IPv4 traffic coming from the host is tunneled towards the DSTM gateway (IPv4 over IPv6).– DSTM gw encapsulates/decapsulates packets– Maintains an @v6 @v4 mapping table

Page 46: Internet Protocol Version 6 (IPv6)

46國立清華大學資訊系黃能富教授

DSTM: How it works (v6 v4)

A B C

DNS DNSDSTM

In A, the v4 address of C is used by the application, which sends v4 packet to the kernel

The interface asks DSTM Server for a v4 source address

DSTM server returns : - A temporal IPv4 address for A- IPv6 address of DSTM gateway

DSTM GW

Page 47: Internet Protocol Version 6 (IPv6)

47國立清華大學資訊系黃能富教授

A B C

A creates the IPv4 packet (A4 C4)

B decapsulates the v4 packet and send it to C4

DSTM: How it works (v6 v4)

B keeps the mapping between A4 A6 in the routing table

A tunnels the v4 packet to B using IPv6 (A6 B6)

DNS DNSDSTM

DSTM GW

Page 48: Internet Protocol Version 6 (IPv6)

48國立清華大學資訊系黃能富教授

DSTM

Page 49: Internet Protocol Version 6 (IPv6)

49國立清華大學資訊系黃能富教授

DSTM: Address Allocation Manual

– host lifetime (no DSTM server)

Dynamic– application lifetime– 2 methods

• use DHCPv6– DHCPv6 will not be ready soon !

• use RPC– Easier, RPCv6 ready– Works fine in v6 v4 case.– Can be secure*

– Security Concerns• Request for IPv4 address needs authentification• Automatic @6 @4 mapping at gw, or configured by

server?

Page 50: Internet Protocol Version 6 (IPv6)

50國立清華大學資訊系黃能富教授

IPv6 site

NFS

client

IPv4 Internet

client

v6routers

v6

v6

v6

v6

client

IPv6sites

tunnel to 6bone6to4 tunnels

web pop

DSTM: Application

ALG

v6routers

DSTM

Page 51: Internet Protocol Version 6 (IPv6)

51國立清華大學資訊系黃能富教授

DSTM vs. NAT-PT

NAT-PT has the same problems as NAT:– Translation sometimes complex (Ex.

FTP)– NAT box may need to be configured

for every new application.– NAT-PT supposes v6fied applications

• This is not the case!• In DSTM, applications can send IPv4

packets to the kernel.

Page 52: Internet Protocol Version 6 (IPv6)

52國立清華大學資訊系黃能富教授

IPv4IPv4

Tunneling RFC 2529

RFC 3056

RFC 3053

IPv4IPv4IPv6IPv6 IPv6IPv6

IPv6 IPv66over4

6to4

IPv4IPv4IPv6IPv6

IPv4/IPv6 Tunnel Broker

Page 53: Internet Protocol Version 6 (IPv6)

53國立清華大學資訊系黃能富教授

Using Tunnels for IPv6 Deployment

Many techniques are available to establish a tunnel:

–Manually configured•Manual Tunnel (RFC 2893)•GRE (RFC 2473)

–Semi-automated•Tunnel broker

–Automatic•Compatible IPv4 (RFC 2893)•6to4 (RFC 3056)•6over4•ISATAP

Page 54: Internet Protocol Version 6 (IPv6)

54

Tunneling

RFC 1933RFC 2529RFC 3053RFC 3056Draft-ietf-ngtrans-isatap-04.txt

Page 55: Internet Protocol Version 6 (IPv6)

55

RFC 1933

Transition Mechanisms for IPv6 Hosts and Routers

Page 56: Internet Protocol Version 6 (IPv6)

56國立清華大學資訊系黃能富教授

RFC1933

Configured tunnels– Connects IPv6 hosts or networks over

an existing IPv4 infrastructure– Generally used between sites

exchanging traffic regularly Automatic tunnels

– Tunnel is created then removed after use

– Requires IPv4 compatible addresses

Page 57: Internet Protocol Version 6 (IPv6)

57國立清華大學資訊系黃能富教授

Mechanism to carry IPv6 packets over IPv4 infrastructure

Encapsulate IPv6 in IPv4 Tunnel endpoints are explicitly

configured All IPv6 implementations support this

Tunnel endpoints must be dual stack nodes The IPv4 address is the endpoint for

the tunnel

Configured Tunnel

TCP/UDP

IPV4 IPV6

Device Driver

Routing protocols

Page 58: Internet Protocol Version 6 (IPv6)

58國立清華大學資訊系黃能富教授

Configured Tunnel

IPv4 TunnelIPv4 TunnelDual-stack

nodeDual-stack

node

IPv4 H IPv6 H Payload IPv6 H PayloadIPv6 H Payload

IPv6 IslandIPv6 IslandIPv6 IslandIPv6 Island IPv4 NetworksIPv4 Networks

Page 59: Internet Protocol Version 6 (IPv6)

59國立清華大學資訊系黃能富教授

Automatic Tunnel Node is assigned an IPv4

compatible address– ::140.114.1.101

If destination is an IPv4 compatible address, automatic tunneling is used (tunneling to destination)– Routing table redirects ::/96 to

automatic tunnel interface0000 IPv4 address0000 . . . . . . . . 0000

80 16 32

Page 60: Internet Protocol Version 6 (IPv6)

60國立清華大學資訊系黃能富教授

IPv6 IslandIPv6 Island

IPv4 InternetIPv4 InternetIPv4 Tunnel

IPv4 TunnelDual-stack

nodeDual-stacknode

IPv4 H IPv6 H PayloadIPv6 H Payload

0:0:0:0:0:0 IPv4 Address

Automatic Tunnel

Page 61: Internet Protocol Version 6 (IPv6)

61

IPv6 Tunnel Broker

RFC 3053

Page 62: Internet Protocol Version 6 (IPv6)

62國立清華大學資訊系黃能富教授

Motivation IPv6 tunneling over the internet requires heavy

manual configuration– Network administrators are faced with overwhelming management

load – Getting connected to the IPv6 world is not an easy task for IPv6

beginners

The Tunnel Broker approach is an opportunity to solve the problem– The basic idea is to provide tunnel broker servers to automatically

manage tunnel requests coming from the users Benefits

– Stimulate the growth of IPv6 interconnected hosts– Allow to early IPv6 network providers the provision of easy access to

their IPv6 networks

Page 63: Internet Protocol Version 6 (IPv6)

63國立清華大學資訊系黃能富教授

Tunnel broker

Tunnel broker automatically manages Tunnel broker automatically manages tunnel requests coming from the userstunnel requests coming from the users– The Tunnel Broker fits well for small isolated The Tunnel Broker fits well for small isolated

IPv6 sites, especially isolated IPv6 hosts on IPv6 sites, especially isolated IPv6 hosts on the IPv4 Internetthe IPv4 Internet

Client node must be dual stack (IPv4/IPv6)Client node must be dual stack (IPv4/IPv6) The client IPv4 address must be globally The client IPv4 address must be globally

routable (no NAT)routable (no NAT) RFC 3053RFC 3053

Page 64: Internet Protocol Version 6 (IPv6)

64國立清華大學資訊系黃能富教授

DNS

伺服器

IPv4網路

隧道代理(2)

(1)

(3)

(4)

使用者

隧道終點隧道終點

隧道伺服器IPv6 IslandIPv6IPv6 over IPv4

隧道

Tunnel broker

Page 65: Internet Protocol Version 6 (IPv6)

65國立清華大學資訊系黃能富教授

Tunnel broker architecture

Page 66: Internet Protocol Version 6 (IPv6)

66國立清華大學資訊系黃能富教授

How does it work?(1)

Page 67: Internet Protocol Version 6 (IPv6)

67國立清華大學資訊系黃能富教授

How does it work?(2)

Page 68: Internet Protocol Version 6 (IPv6)

68國立清華大學資訊系黃能富教授

Translator RFC 2765 ; RFC 2766

RFC 2767

RFC 3089 ; RFC 3142

IPv6IPv6 IPv4IPv4NATPT

SIIT

IPv4 Apps

BITS

IPv6 Stack

IPv4 Apps

BITS

IPv6 Stack

IPv6Host IPv6 IPv4

IPv4Host

Socks-GatewayTCPUDP-Relay

Page 69: Internet Protocol Version 6 (IPv6)

69

IPv6/Ipv4 Translator

RFC 2765RFC 2766RFC 2767RFC 3089RFC 3142

Page 70: Internet Protocol Version 6 (IPv6)

70

Stateless IP/ICMP Translation algorithm (SIIT)

RFC 2765

Page 71: Internet Protocol Version 6 (IPv6)

71國立清華大學資訊系黃能富教授

SIIT

Page 72: Internet Protocol Version 6 (IPv6)

72國立清華大學資訊系黃能富教授

SIIT Suppress the v4 stack Translate the v6 header into a v4

header on some point of the network– Routing can direct packet to those

translation points. Translate ICMP from both worlds No State in translators ( NAT)

Page 73: Internet Protocol Version 6 (IPv6)

73國立清華大學資訊系黃能富教授

SIIT

IPv4 network

Pool of IPv4 addresses

SIIT

IPv6 host IPv4 host

Using SIIT for a single IPv6-only subnet

Page 74: Internet Protocol Version 6 (IPv6)

74國立清華大學資訊系黃能富教授

SIIT

SIIT

Pool of IPv4 addresses

IPv4 network

IPv6 host IPv4 host

Dual network

Using SIIT for an IPv6-only or dual cloud which contains some IPv6-only hosts as well as IPv4 hosts

Page 75: Internet Protocol Version 6 (IPv6)

75國立清華大學資訊系黃能富教授

SIIT Suitable for use when IPv6 side has no IPv4,

for instance, for embedded systems with stack on chip.

Ipv6 side uses special, “translatable” addresses, which preserve TCP/UDP checksum value

Translatable source address is received by the IPv6 node from a shared pool ; translatable destination address is made from IPv4 DNS entry

Page 76: Internet Protocol Version 6 (IPv6)

76

RFC 2766

Network Address Translation – Protocol Translation (NAT-PT)

Page 77: Internet Protocol Version 6 (IPv6)

77國立清華大學資訊系黃能富教授

NAT-PT NAT-PT:•stands for Network Address Translation-Protocol Translation.•translates IP address between IPv4(32bits) and IPv6(128bits).•uses a pool of IPv4 addresses and ports.•composes and manages a mapping table (IPv4 and IPv6) •is similar to NAT in IPv4 network.

SIIT:• stands for Stateless IP/ICMP Translation Algorithm.• translates between IPv4 and IPv6 packet headers

(including ICMP headers) in separate translator boxes in the network without requiring any per-connection state in those boxes.

• can be used as part of a solution that allows IPv6 hosts,which do not have a permanently assigned IPv4 addresses, to communicate with IPv4-only hosts.

Page 78: Internet Protocol Version 6 (IPv6)

78國立清華大學資訊系黃能富教授

NAT-PT

129.254.165.141 203.243.253.15 DATA

IPv4 packet

2001:203:201:200:ae01:ff10:2ecd:3ffe

2001:203:201:1:3f1e:2ea2:ff10:2f3c

DATA

IPv6 packet

32bits

128bits 128bits

32bitsNAT-PT

VerHDlen

TOS Total lenIdentification flag Fragment offset

TTL Protocol checksum

Ver Traffic Class Flow Label

Payload LengthNext

Header44Hop Limit

Next Header Reserved Fragment OffsetRes

MIdentification

IPv4 header

IPv6 headerSIIT

IPv6 fragment header

Mapping tablePool of address

Type Code checksum

ICMPv4 header

Type Code checksum

ICMPv6 header

Page 79: Internet Protocol Version 6 (IPv6)

79國立清華大學資訊系黃能富教授

Configuration Requirements

IPv4 INTERNET

TRANSLATOR6 4

Network Configuration Requirements IPv4 Interface (eth0) IPv6 Interface (eth1) IPv6 Intranet Network Prefix(::/96) Default outbound IPv6 Gateway Pool of IPv4 addresses and ports Static mapping for DNS server Support tunneling path(not yet)

IPv6 Host

IPv6 Server

DNSv6 Server

IPv6 Intranet

IPv4 Host

Local area

Dual stack Host

IPv6 Intranet

IPv6 Host

Tunneling path

Page 80: Internet Protocol Version 6 (IPv6)

80國立清華大學資訊系黃能富教授

Configuration requirements

System Requirements• NAT-PT must be border router between

only-IPv4-network and only-IPv6-network.

• It is mandatory that all requests and responses pertaining to a session be routed via the same NAT-PT router.

• NAT-PT does not apply to packets originating from or directed to dual-stack nodes that do not require packet translation.

• End-to-end network layer security is not possible.

Page 81: Internet Protocol Version 6 (IPv6)

81國立清華大學資訊系黃能富教授

Address Translation (IPv4 -> IPv6)

TRANSLATORprefix aaaa::/96

v4.etri.re.kr129.254.165.141

DNS(v4)129.254.15.15

v6.opicom.co.kr ?

DA:132.146.134.184SA:129.254.15.15

DNS responseresource data(132.146.134.180)

DA:132.146.134.180SA:129.254.165.141

v6.opicom.co.kr2001:230::1

DNS(v6)2001:230::2

DA:2001:230::2SA:aaaa::129.254.15.15

resource data(2001:230::1)

DA:2001:230::1SA:aaaa::129.254.165.141

132.146.134.184 2001:230::2

After mapping is verified either it is existed or not, DNS-ALG makes the mapping table of IPv4 inside resource data

132.146.134.180

0001132.146.134.181 0002 132.146.134.180 2001:230::1

DNS static Mapping

POOL of IPv4 ADDRESS

DA is changed to mappied addressSA is added and removed prefix/96

IPv4 IPv6

Mapping table

Page 82: Internet Protocol Version 6 (IPv6)

82國立清華大學資訊系黃能富教授

NAT-PT operations with DNS-ALG(IPv4IPv6)

V4 address pool

NAT-PT

DNS-ALG

IPv6 host

IPv4Host

IPv6 DNS

IPv4 DNS

Address allocation and create address mapping

A6 A

140.114.78.58ipv4.cs.nthu.edu.tw

3FFE:3600:B::2ipv6.cs.nthu.edu.tw

3FFE:3600:B::3ipv6DNS.cs.nthu.edu.tw

140.114.78.1ipv4DNS.cs.nthu.edu.tw

(1)

(2)

(3)

(7)

(8)

(5)

(4)

(6)

A6 A

140.114.78.51140.114.78.52140.114.78.53140.114.78.54140.114.78.55

:::

IPv4 address pool 3FFE:3600:B::2 <-> 140.114.78.51

::::

IPv6 <-> IPv4 Address Mapping Table IPv4 Host think it’s

communicating with 140.114.78.51

IPv6 Host think it’s communicating with 3FFE:3600:b::140.114.78.58

Final Result

Page 83: Internet Protocol Version 6 (IPv6)

83國立清華大學資訊系黃能富教授

TRANSLATORprefix aaaa::/96

132.146.134.184 2001:230::2

132.146.134.180 0001

132.146.134.181 0002 132.146.134.180 2001:230::1

DNS static Mapping

POOL of IPv4 ADDRESS

SA is changed to mappied addressDA is added and removed prefix/96

After mapping is verified either it is existed or not, NAT-PT makes the mapping table of IPv6 source address

v4.etri.re.kr129.254.165.141

DNS(v4)129.254.15.15

DA:129.254.15.15SA:132.146.134.184

resource data(129.254.165.141)

DA:129.254.165.141SA:132.146.134.180

v6.opicom.co.kr2001:230::1

DNS(v6)2001:230::2

v4.etri.re.kr ?

DA:aaaa::129.254.15.15SA:2001:230::2

resource data(aaaa::129.254.165.141)

DA:aaaa::129.254.165.141SA:2001:230::1

IPv4 IPv6

Mapping table

Address Translation (IPv6 -> IPv4)

Page 84: Internet Protocol Version 6 (IPv6)

84國立清華大學資訊系黃能富教授

NAT-PT operations with DNS-ALG(IPv6IPv4)

V4 address pool

NAT-PT

DNS-ALG

IPv6 host

IPv4Host

IPv6 DNS

IPv4 DNS

Address allocation(get IPv6 prefix)

A6 A

140.114.78.58ipv4.cs.nthu.edu.tw

3FFE:3600:B::2ipv6.cs.nthu.edu.tw

3FFE:3600:B::3ipv6DNS.cs.nthu.edu.tw

140.114.78.1ipv4DNS.cs.nthu.edu.tw

(1)

(2)

(3)

(8)

(7)

(9)

(5)

(4)

(6)

A6 A

140.114.78.51140.114.78.52140.114.78.53140.114.78.54140.114.78.55

:::

3FFE:3600:B::2 <-> 140.114.78.51::::

IPv6 <-> IPv4 Address Mapping Table IPv6 Host think it’s

communicating with 3FFE:3600:b::140.114.78.58

IPv4 Host think it’s communicating with 140.114.78.51

Final Result

Page 85: Internet Protocol Version 6 (IPv6)

85國立清華大學資訊系黃能富教授

• IPv4/IPv6 Translation Features • can translate IPv4/IPv6

Header,Protocol.• support NAT-PT & SIIT• is bi-direction between IPv4 and

IPv6.• uses pool of addresses and ports. • support DNS-ALG & FTP-ALG. • support Translation Manager.

• Switch NAT-PT to NAPT-PT.• Basic network tools support

• netstat, ifconfig, route, etc.• ping6, telnet6, ftp6, etc.

• Embedded Linux kernel 2.4.4

TCP/UDPTCP/UDP

FTP-ALGFTP-ALG

DNS-ALG

DNS-ALG

socketsocket

…..…..

IPv6/IPv4 Translation ManagerIPv6/IPv4 Translation Manager

IPv6IPv6 IPv4IPv4

NIC(eth1)NIC(eth1) NIC(eth0)NIC(eth0)

NA(P)T-PT

NA(P)T-PT

Addr. Pool(IPv4)

Addr. Pool(IPv4)

IPv6/IPv4mapping

table

IPv6/IPv4mapping

table

(PT)SIIT(PT)SIIT

Implementation

Page 86: Internet Protocol Version 6 (IPv6)

86國立清華大學資訊系黃能富教授

IPv4 connection

IPv6 connection

Today

IPv4 INTERNETOCEAN

Trend and Plan

There are all IPv4 ISLAND

ROUTER

ROUTER

NATGive me

address

Page 87: Internet Protocol Version 6 (IPv6)

87國立清華大學資訊系黃能富教授

IPv4 connection

IPv6 connection

Tomorrow

IPv4 INTERNETOCEAN

TRANSLATOR

TRANSLATOR

TRANSLATOR

Trend and Plan

There are some IPv6 ISLAND

Page 88: Internet Protocol Version 6 (IPv6)

88國立清華大學資訊系黃能富教授

IPv4 connection

IPv6connection

The day after tomorrow

IPv6 INTERNETOCEAN

TRANSLATOR

TRANSLATOR

TRANSLATOR

There are some IPv4 ISLAND

Translator is still there

Trend and Plan