• 沒有找到結果。

Socket-Layer Translator and SIPv6 Translator

N/A
N/A
Protected

Academic year: 2022

Share "Socket-Layer Translator and SIPv6 Translator"

Copied!
72
0
0

加載中.... (立即查看全文)

全文

(1)

IPv6/IPv4 Translation for SIP Applications-

Socket-Layer Translator and SIPv6 Translator

Whai Whai - - En Chen En Chen

Research Assistant Professor

Department of Computer Science and Information Engineering National Chiao Tung University

wechen@csie.nctu.edu.tw

(2)

Outline

„

Introduction to IPv6 Transition Mechanisms

„

Socket-layer Translator

„

SIPv6 Translator

„

Conclusion

(3)

IPv4–to–IPv6 Transition Strategy

„

Dual Stack

„

Reduce the cost invested in transition by running both IPv4/IPv6 protocols on the same machine .

„

Tunneling

„

Reduce the cost in wiring by re-using current IPv4 routing infrastructures as a virtual link.

„„

Translation Translation

„

Allow IPv6 realm to access the rich contents already developed

on IPv4 applications

(4)

Dual Stack (RFC 2893)

傳輸層 (TCP/UDP) IPv4

網路介面層 應用層

IPv6

Dual-stack

•Dual Stack表示同時裝有IPv4與IPv6兩個通訊協定 堆疊。

•當兩台機器通訊時,可以使用IPv4通訊,或是IPv6 通訊。

•當IPv6已經廣泛地被使用時,就可以移除IPv4通訊 協定,而全面使用IPv6協定。

(5)

Dual Stack Example

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

„如果所有的機器都是Dual Stack,還需要其他的轉換機制嗎?

Host Router

(6)

6to4 Tunnel (RFC 3056)

IPv6 IPv4 Network

IPv6 Network 6to4

Router2 6to4

Router1

131.243.129.44 140.110.199.250 Network prefix:

2002:83F3:812C::/48

Network prefix:

2002:8C6E:C7FA::/48

= =

E0 E0

router2#

interface Ethernet0

ip address 140.110.199.250 255.255.255.0 ipv6 address 2002:8C6E:C7FA:1::/64 eui-64 interface Tunnel0

no ip address

ipv6 unnumbered Ethernet0 tunnel source Ethernet0 tunnel mode ipv6ip 6to4 ipv6 route 2002::/16 Tunnel0

6to4 Tunnel:

Is an automatic tunnel method

– Gives a prefix to the attached IPv6 network – 2002::/16 assigned to 6to4

Requires one global IPv4 address on each site

(7)

6to4 Tunnel Example

IPv6 IPv4 Network

IPv6 Network 6to4

Router2 6to4

Router1

131.243.129.44 140.110.199.250 Network prefix:

2002:83F3:812C::/48

Network prefix:

2002:8C6E:C7FA::/48

E0 E0

2002:83F3:812C:1::3

2002:8C6E:C7FA:2::5

IPv6 SRC 2002:83F3:812C:1::3

IPv6 SRC 2002:83F3:812C:1::3

DataData IPv6 DEST 2002:8C6E:C7FA:2::5

IPv6 DEST 2002:8C6E:C7FA:2::5

IPv6 SRC 2002:83F3:812C:1::3

IPv6 SRC 2002:83F3:812C:1::3

DataData IPv6 DEST 2002:8C6E:C7FA:2::5

IPv6 DEST 2002:8C6E:C7FA:2::5 IPv6 SRC

2002:83F3:812C:1::3 IPv6 SRC 2002:83F3:812C:1::3

DataData IPv6 DEST 2002:8C6E:C7FA:2::5

IPv6 DEST 2002:8C6E:C7FA:2::5

IPv4 SRC 131.243.129.44

IPv4 SRC 131.243.129.44

IPv4 DEST 140.110.199.250

IPv4 DEST 140.110.199.250

(8)

Address Translations

Bump-In-the-Stack Bump-In-the-Application

(9)

Key Components for BIS/BIA

Extension Name Resolver

Address Mapper

Translator (Function

Mapper)

Translation Middleware

BIS or BIA Functions

(10)

BIS/BIA name resolving flow

(11)

BIS/BIA Translation flow

(12)

Introduction to NAT-PT

„

NATPT (Network Address Translation and Protocol Translation)

„

Translate IPv6 to IPv4 headers, and vice versa.

„

Also includes ICMP headers

„

NAPTPT (NATPT with Port translation)

„

Network Address and Protocol Translation with Port Translation

„

Various IPv6 clients can utilize one IP to connect Internet

„

ALG (Application Layer Gateway)

„

ALG assists NAT to deal with upper-layer protocols

„

Translate Upper-layer protocols (such as: DNS, FTP)

„

Also called DNS_ALG and FTP ALG

(13)

Network Architecture for IPv6 Translation

IPv4 Network

Translator Translator

IPv6 Network

UA1

DNS-ALG DNS DNS

UA2 DNS2

DNS1

3ffe:3600:1::3

3ffe:3600:1::2

140.113.87.2 140.113.87.1

The NAT-PT translator configuration

•Address Pool: 140.113.87.51-60

•NAT-PT Prefix: 3ffe:3600:2::/96 The NAT

The NAT--PT translator configurationPT translator configuration

•Address Pool: 140.113.87.51-60

•NAT-PT Prefix: 3ffe:3600:2::/96 ua2.ipv4.nctu.edu.tw ua1.ipv6.nctu.edu.tw

(14)

NAT-PT operations with DNS-ALG (IPv6ÆIPv4)

UA1 DNS1 DNS2 UA2

DNS Query (AAAA)

DNS Response (AAAA)

DNS Query (AAAA)

DNS Response (AAAA)

DNS Query (A) DNS Response (A)

ICMPv6 Message (MAC Address Query)

ARP Message (MAC Address Query) ICMPv6 Message (MAC Address Response)

ARP Message (MAC Address Response)

DNS-ALG

NAT-PT +

IPv6 Packet

IPv4 Packet

1.1 1.2

1.4 1.5 1.7

1.8

1.9 1.10

1.3

1.6

1.11 1.12

1.13 1.14

IPv6 Network IPv4 Network

(15)

NAT-PT operations with DNS-ALG (IPv4ÆIPv6)

ICMPv6 Message (MAC Address Response)

UA1

DNS-ALG

NAT-PT + DNS2 UA2

DNS1

DNS Response (A) 2.3

2.6

ICMPv6 Message (MAC Address Query)

ARP Message (MAC Address Query) ARP Message (MAC Address Response)

DNS Query (A) DNS Query (A)

DNS Query (AAAA)

DNS Response (A) DNS Response (AAAA)

IPv4 Packet

IPv6 Packet

2.1 2.2

2.4 2.5

2.7 2.8

2.9

2.10 2.12 2.11

2.13 2.14

IPv4 Network

IPv6 Network

(16)

SIIT (Stateless IP/ICMP Translation)

RFC 2765

(17)

Translating from IPv4 to IPv6

Data

Transport Layer Header

IPv4 Header

Data

Transport Layer Header

Fragment Header (If Present)

IPv6

Header

(18)

Translating IPv4 Headers into IPv6 Headers - If IPv4 DF is set.

IPv6 in NAT-PT Mapping table Destination Address

High-order 96 bits = IPv6 prefix

Low-order 32 bits = IPv4 source address Source Address

IPv4 TTL - 1 Hop Limit

IPv4 Protocol field Next Header

IPv4 Total length – IPv4 IHL Payload Length

0 Flow Label

0 Traffic Class

6 Version

Value IPv6 Header Fields

(19)

Translating IPv4 Headers into IPv6 Headers - If IPv4 DF is set.

Version IHL [4] TOS [8]

Identification [16]

Total Length [16]

Fragment Offset [13]

0

DFMF

TTL [8] Protocol [8] Header Checksum [16]

Source Address [32]

Destination Address [32]

Version Traffic Class [8]

Payload Length [16]

Flow Label [20]

Max. Hop [8]

Next Header [8]

Source Address [128]

Destination Address [128]

IPv4 Header

IPv6

Header

(20)

Translating IPv4 Headers into IPv6 Headers - If IPv4 DF is not set.

Fragment Header Next Header

IPv4 Total length – IPv4 IHL + 8 (Fragment Header) Payload Length

Value IPv6 Header Fields

IPv4 Fragment Offset field Fragment Offset

IPv4 Protocol field Next Header

High-order 16 bits = 0

Low-order 16 bits = IPv4 Identification Identification

IPv4 More Fragment(MF) bit M Flag

Value Fragment Header

(21)

Next Header [8] Res. [8] Fragment Offset [13]

Res. MF

Identification [32]

Translating IPv4 Headers into IPv6 Headers - If IPv4 DF is not set.

Version IHL [4] TOS [8]

Identification [16]

Total Length [16]

Fragment Offset [13]

0

DFMF

TTL [8] Protocol [8] Header Checksum [16]

Source Address [32]

Destination Address [32]

Version Traffic Class [8]

Payload Length [16]

Flow Label [20]

Max. Hop [8]

Next Header [8]

Source Address [128]

Destination Address [128]

IPv4 Header

IPv6 Header

Fragment

Header

(22)

Translating ICMPv4 Headers into ICMPv6 Headers - ICMP Query Message

Silently drop

Silently drop (Undefine) Silently drop (Undefine) Silently drop (Undefine) Type = 128/129

ICMPv6(Type)

Silently drop (Single Hop) Silently drop (Single Hop)

Unknown ICMP4 types ICMP Router Solicit.(10) ICMP Router Adver.(9)

Address Mask Request(17)/ Reply(18) Timestamp Request(13) / Reply(14) Information Request(15) / Reply(16) Echo Request(8) / Reply(0)

ICMPv4(Type)

ICMP Header

Type [8] Code [8] Checksum [16]

Checksum [16]

Message Body [32]

:

Message Body [32]

:

(23)

Translating ICMPv4 Headers into ICMPv6 Headers - ICMP Error Message

Type = 4, Code=0, Pointer to the correspon. Field 0

12 (Parameter Problem)

Type = 1, Code = 4 (port unreachable) 3

Type = 2, Code = 0 (Packet too Big) 4

Type = 1, Code = 0 5

Type = 1, Code = 0 6/7/8

Type = 1, Code = 1 (Administratively Prohibited) 9/10

Type = 1, Code = 0 11/12

Type = 4, Code = 1, Pointer to 6NexHead 2

Unknow error message 11 (Time Exceed) 4 (Source Quench) 5 (Redicrect)

3 (Destination Unreachable) ICMPv4(Type)

Silently drop

Type = 3, Code=0/1

Silently drop (Obsoleted in ICMPv6) Silently drop (Single Hop)

Type = 1, Code = 0 (no route to destination) ICMPv6

0/1 0/1 Code

(24)

Translating from IPv6 to IPv4

Data

Transport Layer Header

IPv4 Header

Data

Transport Layer Header

Fragment Header (If Present)

IPv6

Header

(25)

Translating IPv6 Headers into IPv4 Headers - If there is no IPv6 Fragment header.

IPv6 Next Header Protocol

Recompute Header Checksum

IPv6 Hop Limit – 1 Time to Live

0 Fragment Offset

Destination address of IPv6 Low-order 32 bits Destination Address

IPv4 in NAT-PT Mapping table Source Address

MF = 0, DF = 1 Flags

0 Identification

Payload Length + IPv4 IHL Total Length

0 ToS and Precedence

5 (no IPv4 option) Internet H. L.

4 Version

Value IPv4 Header Fields

(26)

Translating IPv6 Headers into IPv4 Headers - If there is a IPv6 Fragment header.

Next Header in Fragment header Protocol

Fragment Offset in Fragment header Fragment Offset

MF = M in the Fragment header, DF = 1 Flags

Identification in Fragment header Identification

Payload Length - IPv4 IHL + 8(Fragment header) Total Length

Value IPv4 Header Fields

(27)

Translating ICMPv6 Headers into ICMPv4 Headers - ICMPv6 Query Message

Silently drop

Silently drop (Single Hop & Undefine) Type = 8/0

ICMPv4(Type)

Silently drop (Single Hop) Unknown ICMP6 types

Neighbor Discover messages (133 – 137) MLD Multicast Listener Query/Report/Done (130/131/132)

Echo Request(128) / Reply(129) ICMPv6(Type)

(28)

Translating ICMPv6 Headers into ICMPv4 Headers - ICMPv6 Error Message

Type =12, Code = 0 other

Type = 3, Code = 1 (host unreachable) 2

Type = 3, Code = 1 (host unreachable) 3

Type = 3, Code = 3 (port unreachable) 4

Type = 3, Code = 10 (Admin. Prohibited) 1

Unknown error message 11 (Parameter Problem) 3 (Time Exceeded) 2 (Packet Too Big)

1 (Destination Unreachable) ICMPv6(Type)

Silently drop

Type = 3, Code = 2 (protocol unreachable) Type = 11, Code = 0/1

Type = 3, Code = 4 (fragmentation needed) Type = 3, Code = 1 (host unreachable) ICMPv4

1 0/1 0 0 Code

(29)

Checksum Modification

„

Internet checksum use 16-bits 1’s complement checksum

„

2 kinds of policy

„

Re-Compute Algorithm

„

Adjustment Algorithm

Adjustment Algorithm Adjustment Algorithm Re-Compute Algorithm

Policy

Adjustment Algorithm UDP

TCP

ICMPv6 Header ÍÎ ICMPv4 Header IPv6 Header ÍÎ IPv4 Header

Case

(30)

Socket-Layer Translator

(31)

System Architecture of SLT and ALGs

Microsoft Winsock Component

Windows XP/2003

NDIS Driver Framework PC Hardware

TCP/IPv6 Base Service

UDP/IPv6 Base Service

TCP/IPv4 Base Service

UDP/IPv4 Base Service

ALGs ALG Manager

Function Mapper Name Resolver

Address Mapper

Other Applications

HTTP TELNET DNS FTP SIP a

b c

d

3 1

e

4 2

5

(32)

System Architecture of SLT and ALGs

a b

c d

e

3 2 1

4

5 6

(33)

Example of UDP Call Flow

(34)

Example of TCP Call Flow

(35)

Development Status

„

Socket-layer Translator can translate most Winsock applications using NAT-friendly protocol

„

FTP-ALG and SIP-ALG can translate FTP and SIP applications respectively.

„

Tested Applications

„

NAT-friendly: Netscape (HTTP), Telnet

„

DNS

„

FTP: CuteFTP, FileZilla, SmartFTP

„

SIP: CCL SkinUA 0.8

(36)

Snapshot of TELNET and Analyzer

(37)

Snapshot of NETSCAPE and Analyzer

(38)

Snapshot of FileZilla and Analyzer

(39)

Compare IPv4 and IPv6 FTP Commands

229 Entering…(|||<port>|) RFC-2428 EPSV

227 Entering…(a1,a2,a3,a4,p1,p2) RFC-959 PASV

200 OK EPRT |<net-prt>|<addr>|<port>|

RFC-2428

200 OK PORT a1,a2,a3,a4,p1,p2

RFC-959

Successful Response FTP Command

Item

Reference

(40)

Performance Evaluation of SLT and FTP-ALG

„

Client

„

OS: Windows XP SP1

„

FTP Client

„

SmartFTP IPv4 mode

„

SmartFTP IPv6 mode

„

SmartFTP IPv4 mode with SLT and FTP-ALG

„

Actions: Download files with size from 10KB to 2G

„

Server

„

OS: linux Fedora Core 1

„

FTP Server: vsftpd

(41)

Transmission Delay (sec)

Size

Mode

10KB 100KB 1MB 10MB 100MB 500MB 1GB 2GB

IPv4 1 1 1 1 10 49 101 204

IPv6 1 1 1 1 10 52 105 215

SLT 1 1 1 1 11 53 108 219

(42)

Transmission Delay

-30 20 70 120 170 220

size 10K 100K 1M 10M 100M 500M 1G 2G

File Size (Byte)

Delay (sec)

pure ipv6 pure ipv4 Socket-layer Translator

(43)

Performance Test (FTP) cont.

Difference among Three Modes

0 2 4 6 8 10 12 14 16

10K 100K 1M 10M 100M 500M 1G 2G

File Size (Byte)

Difference (sec) IPv6-IPv4

SLT-IPv4 SLT-IPv6

(44)

Comparison of Transition Mechanisms

Mechanisms

Items Manual Modification BIA BIS Socket-layer Translator Source Codes Required Not required Not required Not required

Applicability Modified codes All socket-based programs

All IP-based Programs

All socket-based programs

P2P Security Support Yes Yes No Yes

Translation of NAT

friendly protocols Yes Yes Yes Yes

Support of SIP and

FTP Yes No No Yes

(45)

SIPv6 Translator

(46)

Abstract

„

Since Voice over IP (VoIP) phones can efficiently utilize the network and save a lot of money for users, there are increasingly people employ

personal computers, notebooks, and PDA with VoIP Phone to communicate with each other.

„

VoIP is a peer-to-peer service, and connecting through Internet requires large number of global Internet identifiers.

„

Though network address translation (NAT) can help to reduce the address requirements, NAT cannot offer incoming calls directly.

„

IPv6 provides large addressing space and is the best choice for VoIP phones.

„

However, VoIPv6 phones should be able to communicate with existing VoIPv4 systems.

„

Consequently, we will propose an VoIPv6 translator to connect VoIPv6

phones with popular Internet.

(47)

Proposed VoIPv6 Solutions

„

Since IP addresses are not enough for peer-to-peer service such as VoIP, the IPv6 is the best answer for next generation Internet.

„

Though VoIPv6 phones hold global identifications, VoIPv6 phones cannot directly connect VoIPv4 phones through Internet.

„

Therefore this paper proposed an NAT-PT translator with SIP-ALG to assist VoIPv6 phones in communicating with VoIPv4 phones.

„

The target of the proposed translator should be capable of handling incoming and outgoing calls within IPv6 domain and simultaneously providing transparent translation for users.

„

The SIP-ALG should cooperate with existent modules such as

DNS-ALG and FTP-ALG.

(48)

SIP-based VoIPv6 Evolution Scenarios

IPv6 Network IPv4 Network

Scenario 1

Scenario 2

SIP-ALG / NAT-PT

Scenario 3

Scenario 4

SIPv4 UA

SIPv4 UA

SIPv4 UA

SIPv4 UA SIPv6 UA

SIPv6 UA

SIPv6 UA

SIPv6 UA

SIPv4 Server

SIPv4 Server SIPv6 Server

SIPv6 Server

SIP-ALG / NAT-PT

SIP-ALG / NAT-PT

SIP-ALG / NAT-PT

(49)

SIP UA registration while Initiating

UA3 SIP-ALG SIPv4 Server

3.1 REGISTER sip.ipv4.nctu.edu.tw Via: SIP/2.0/UDP [3ffe:3600:1::4]:5060 To: <sip:1234@ipv4.nctu.edu.tw>

From:<sip:3456@ipv4.nctu.edu.tw>

Contact:<sip:1234@ [3ffe:3600:1::3]:5060>

IPv4 Network

3.2 REGISTER sip.ipv4.nctu.edu.tw Via: SIP/2.0/UDP 140.113.87.53:5061 To: <sip:1234@ipv4.nctu.edu.tw>

From:<sip:3456@ipv4.nctu.edu.tw>

Contact:<sip:1234@ 140.113.87.52:5061>

3.3 200 OK

Via: SIP/2.0/UDP 140.113.87.53:5061 To: <sip:1234@ipv4.nctu.edu.tw>

From:<sip:3456@ipv4.nctu.edu.tw>

Contact:<sip:1234@ 140.113.87.52:5061>

3.4 200 OK

Via: SIP/2.0/UDP [3ffe:3600:1::4]:5060 To: <sip:1234@ipv4.nctu.edu.tw>

From:<sip:3456@ipv4.nctu.edu.tw>

Contact:<sip:1234@ [3ffe:3600:1::3]:5060>

IPv6 Network

(50)

(IPv4->IPv6)

UA1

SIP-ALG

NAT-PT SIPv4 Server UA2

4.1 INVITE sip:1234@sip.ipv4.nctu.edu.tw Via: SIP/2.0/UDP 140.113.87.2:5060 Contact: <sip:5678@sip.ipv4.nctu.edu.tw>

c=IN IP4 140.113.87.2 m=Audio 9000 RTP/AVP 0 4 8 4.2 INVITE sip:1234@140.113.87.52:5061

Via: SIP/2.0/UDP 140.113.87.40:5060 Via: SIP/2.0/UDP 140.113.87.2:5060 Contact: <sip:5678@sip.ipv4.nctu.edu.tw>

c=IN IP4 140.113.87.2 m=Audio 9000 RTP/AVP 0 4 8 4.3 INVITE sip:1234@[3ffe:3600:1::3]:5060

Via: SIP/2.0/UDP [3ffe:3600:2::140.113.87.40]:5060 Via: SIP/2.0/UDP 140.113.87.2:5060

Contact: <sip:5678@sip.ipv4.nctu.edu.tw>

c=IN IP6 3ffe:3600:2::140.113.87.2 m=Audio 9000 RTP/AVP 0 4 8

4.4 200 OK

Via: SIP/2.0/UDP [3ffe:3600:2::140.113.87.40]:5060 Via: SIP/2.0/UDP 140.113.87.2:5060

Contact: sip:1234@sip.ipv4.nctu.edu.tw c=IN IP6 3ffe:3600:1::3

m=Audio 9000 RTP/AVP 0

4.5 200 OK

Via: SIP/2.0/UDP 140.113.87.40:5060 Via: SIP/2.0/UDP 140.113.87.2:5060 Contact: <sip:1234@sip.ipv4.nctu.edu.tw>

c=IN IP4 140.113.87.52 m=Audio 9002 RTP/AVP 0

4.6 200 OK

Via: SIP/2.0/UDP 140.113.87.2:5060 Contact: <sip:1234@sip.ipv4.nctu.edu.tw>

c=IN IP4 140.113.87.52 m=Audio 9002 RTP/AVP 0

4.7 ACK sip:1234@sip.ipv4.nctu.edu.tw Via: SIP/2.0/UDP 140.113.87.2:5060 Contact: <sip:5678@sip.ipv4.nctu.edu.tw>

4.8 ACK sip:1234@140.113.87.52:5061 Via: SIP/2.0/UDP 140.113.87.40:5060 Via: SIP/2.0/UDP 140.113.87.2:5060 Contact: <sip:5678@sip.ipv4.nctu.edu.tw>

4.9 ACK sip:1234@[3ffe:3600:1::3]:5060

Via: SIP/2.0/UDP [3ffe:3600:2::140.113.87.40]:5060 Via: SIP/2.0/UDP 140.113.87.2:5060

Contact: <sip:5678@sip.ipv4.nctu.edu.tw>

IPv6 Network IPv4 Network

(51)

(IPv6->IPv4)

SIP-ALG NAT-PT

UA1 SIPv4 Server UA2

5.1 INVITE sip:5678@sip.ipv4.nctu.edu.tw Via: SIP/2.0/UDP [3ffe:3600:1::3]:5060 Contact: sip:1234@sip.ipv4.nctu.edu.tw c=IN IP6 3ffe:3600:1::3

m=Audio 9000 RTP/AVP 0 4 8

5.2 INVITE sip:5678@sip.ipv4.nctu.edu.tw Via: SIP/2.0/UDP 140.113.87.52:5061 Contact: sip:1234@sip.ipv4.nctu.edu.tw c=IN IP4 140.113.87.52

m=Audio 9004 RTP/AVP 0 4 8

5.3 INVITE sip:5678@140.113.87.2 Via: SIP/2.0/UDP 140.113.87.40:5060 Via: SIP/2.0/UDP 140.113.87.52:5061 Contact: sip:1234@sip.ipv4.nctu.edu.tw c=IN IP4 140.113.87.52

m=Audio 9004 RTP/AVP 0 4 8

5.4 200 OK

Via: SIP/2.0/UDP 140.113.87.40:5060 Via: SIP/2.0/UDP 140.113.87.52:5061 Contact: sip:5678@sip.ipv4.nctu.edu.tw c=IN IP4 140.113.87.2

m=Audio 9000 RTP/AVP 0 5.5 200 OK

Via: SIP/2.0/UDP 140.113.87.52:5061 Contact: sip:5678@sip.ipv4.nctu.edu.tw c=IN IP4 140.113.87.2

m=Audio 9000 RTP/AVP 0 5.6 200 OK

Via: SIP/2.0/UDP [3ffe:3600:1::3]:5060 Contact: sip:5678@sip.ipv4.nctu.edu.tw c=IN IP6 3ffe:3600:2::140.113.87.2 m=Audio 9000 RTP/AVP 0

5.7 ACK sip:5678@sip.ipv4.nctu.edu.tw Via: SIP/2.0/UDP [3ffe:3600:1::3]:5060

Contact: sip:1234@sip.ipv4.nctu.edu.tw 5.8 ACK sip:5678@sip.ipv4.nctu.edu.tw Via: SIP/2.0/UDP 140.113.87.52:5061 Contact: sip:1234@sip.ipv4.nctu.edu.tw

5.9 ACK sip:5678@140.113.87.2 Via: SIP/2.0/UDP 140.113.87.40:5060 Via: SIP/2.0/UDP 140.113.87.52:5061 Contact: sip:1234@sip.ipv4.nctu.edu.tw

IPv6 Network IPv4 Network

(52)

SIP Message (initiated from SIPv6 UA)

INVITE sipv4@[3ffe:3600:2::10.113.131.4]:5060SIP/2.0 Expires: 180

Content-Type: application/sdp

Via: SIP/2.0/UDP [3ffe:3600:1:0:20c:6eff:fe1e:55da]:5060;branch=1FV1xhfvxGJOK@rWckdAKOA To: <sipv4@[3ffe:3600:2::10.113.131.4]>

From: sipv6@[3ffe:3600:1:0:20c:6eff:fe1e:55da]

Call-ID:

CSeq: 100 INVITE

Contact: sipv6@[3ffe:3600:1:0:20c:6eff:fe1e:55da]:5060 Content-Length: 249

User-Agent: CCL's SIPv6 UA Accept: application/sdp v=0

o=CCL'sSIPv6UA 17045 11864 IN IP6 3ffe:3600:1:0:20c:6eff:fe1e:55da s=SIP Call

c=IN IP6 3ffe:3600:1:0:20c:6eff:fe1e:55da t=0 0

m=audio 29118RTP/AVP 0 101 a=rtpmap:0 pcmu/8000

a=rtpmap:101 telephone-event/8000

SIP Signaling

SDP

Signaling

SIP與SDP標頭中,

含有Caller的IPv6位址, 3ffe:3600:1:0:20c:6eff:fe1e:55da

SIP的標頭中,

含有Callee的IPv6位址, 3ffe:3600:2::10.113.131.4

(53)

SIP Message ( translated by SIP-ALG)

INVITE sipv410.113.131.4:5060SIP/2.0 Expires: 180

Content-Type: application/sdp

Via: SIP/2.0/UDP 10.113.131.101:5060;branch=1FV1xhfvxGJOK@rWckdAKOA To: <sipv4@10.113.131.4>

From: sipv6@10.113.131.101 Call-ID:

CSeq: 100 INVITE

Contact: sipv6@10.113.131.101:5060 Content-Length: 196

User-Agent: CCL's SIPv6 UA Accept: application/sdp v=0

o=CCL'sSIPv6UA 17045 11864 IN IP4 10.113.131.101 s=SIP Call

c=IN IP4 10.113.131.101 t=0 0

m=audio 2918RTP/AVP 0 101 a=rtpmap:0 pcmu/8000

a=rtpmap:101 telephone-event/8000

SIP Signaling

SDP

Signaling

SIP與SDP標頭中,

Caller經過SIP-ALG轉換的IPv4位址, 10.113.131.101

SIP的標頭中,

Callee經過SIP-ALG轉換的IPv4位址, 10.113.131.4

(54)

SIPv6 UA Initiated Registration

(55)

SIPv6 UA Session Setup

(56)

Network Architecture of SIPv6 Translator

SIPv6 UA IPv6 Network

IPv4 Internet

Cell Phone

SIPv6 Translator

SIPv6 Analyzer

SIPv4 Analyzer

SIP Proxy

sip.ipv6.club.tw

Telephone CCL Vontel

SkinUA Windows Messenger 4.7

PingTel 2.1.10 IP Phone snom 200

IP Phone

Cisco 7940 Series IP Phone

Cisco 2600 Series PSTN Gateway

Vontel PSTN Gateway CCL PCA

NTP SIPv6 UA IPtel SER

(57)

SIP User Agents and SIPv6 Translator

(58)

PSTN Gateways

(59)

SIP/SDP Translation

(60)

SIPv6 UA to Pingtel (IPv6 SIP UA)

(61)

SIPv4 UA (Pingtel) to SIPv6 UA

(62)

HTTP Test

(63)

Telnet Test

(64)

Windows Messenger 4.7

„

Solution : modified “From” header field in SIP.

(65)

Cisco IP Phone 7940 Series

* 未修改SIP訊息中的From與To欄位

„

Solution : modified “From” and “To” header fields in SIP.

(66)

Cisco PSTN Gateway

* 未修改SIP訊息中的From與To欄位 * 未修改SDP訊息中的o欄位

Problem: when SIPv6 UA dials my cellular phone number, Cisco PSTN Gateway returns “200 OK” to SIPv6 UA. But SIPv6 UA

doesn’t send “ACK” to PSTN Gateway.

„

Solution : modified “From”&”To” header fields in SIP and “o” header field in SDP.

(67)

Test Results

„

Modified SIP and SDP header fields for SIP routing

„

Request-URI、Contact、Via

„

c、m

„

Success: SIP message flow is correct and RTP sessions are set up.

„

CCL SkinUA, Pingtel 2.1.10, snow 200, CCL PSTN Gateway

„

Fail: different error message for each case

„

Windows Messenger 4.7 (show Error Message in Windows Messenger but no response)

„

Cisco IP Phone 7940 Series (return “400 Bad Request”)

„

Cisco PSTN Gateway (return “400 Bad Request” and “399 Invalid

SDP Information”)

(68)

Testing Results

PingTel 2.1.10

PSTN Gateway IP Hard Phone IP Soft Phone

SDP Message SIP Message

m

Cisco PSTN Gateway

Vontel PSTN Gateway Cisco IP Phone

7940 Series snom 200 Windows Messenger

4.7.2009 CCL Skin UA

o c

To From

Via Contact

Request URI

(69)

Conclusions

„

Currently, NTP SIPv6 UA can communicate with all SIPv4 UAs and CCL PSTN gateway that are deployed in NTP VoIP platform.

„

However, NTP SIPv6 UA cannot communicate with CISCO PSTN gateway, and CCL PCA (IPv6 SIP UA) cannot communicate with CISCO PSTN gateway and Pingtel hardware-based SIP phone.

„

In next week, we will have more tests and find out the problems.

Then we will fixed the problems in one week.

„

Finally, the SIPv6 Translator can bridge the traffic between SIPv6

network and SIPv4 network (i.e., NTP VoIP platform), and we will

start to write down our contributions as a paper.

(70)

Reference (1)

[1]J. Postel, "Internet Protocol" , STD 5, IETF RFC 791, Sep-01-1981.

(Standard)

[2] J. Postel, "Internet Control Message Protocol" , STD 5, IETF RFC 792, Sep-01-1981. (Standard)

[3] S. Deering, R. Hinden, ” Internet Protocol, Version 6 (IPv6) Specification ”, IETF RFC-2460, 1998/12. (Draft Standard)

[4] A. Conta, S. Deering, "Internet Control Message Protocol

(ICMPv6) for the Internet Protocol Version 6 (IPv6) Specification" , IETF RFC-2463, December 1998. (Draft Standard)

[5] S. Thomson, T. Narten, "IPv6 Stateless Address

Autoconfiguration" , IETF RFC-2462, December 1998. (Draft Standard)

[6] T. Narten, E. Nordmark, W. Simpson, "Neighbor Discovery for IP Version 6 (IPv6) " , IETF RFC-2461, December 1998. (Draft

Standard)

[7]R. Draves, “ Default Address Selection for Internet Protocol version 6 (IPv6) ”, IETF RFC-3484, February 2003. (Proposed Standard) [8] Nordmark, E., "Stateless IP/ICMP Translator (SIIT)" , IETF

RFC-2765, February 2000. (Proposed Standard)

(71)

Reference (2)

[9] G. Tsirtsis, P. Srisuresh, ” Network Address Translation - Protocol Translation (NAT-PT) ”, IETF RFC-2766, 2000/2. (Proposed

Standard)

[10] Mockapetris, P., "Domain Names - Concepts and Facilities" , STD 13, IETF RFC-1034, November 1987. (Standard)

[11] Mockapetris, P., "Domain Names - Implementation and

Specification" , STD 13, IETF RFC-1035, November 1987. (Standard) [12] S. Thomson, C. Huitema, V. Ksinant, M. Souissi, "DNS Extensions

to Support IP Version 6" , IETF RFC-3596, October 2003. (Draft Standard)

[13] Srisuresh, P., Tsirtsis, G., Akkiraju, P. and A. Heffernan, "DNS extensions to Network Address Translators (DNS_ALG)" , IETF RFC- 2694, September 1999. (Informational)

[14] J. Rosenberg, H. Schulzrinne, G. Camarillo, A. Johnston, J.

Peterson, R. Sparks, M. Handley, E. Schooler, “ SIP: Session

Initiation Protocol ”, IETF RFC-3261, June 2002. (Proposed Standard) [15] Handley, M. and V. Jacobson, "SDP: Session Description Protocol" ,

IETF RFC-2327, April 1998. (Proposed Standard)

(72)

Reference (3)

[16] S. Olson, G. Camarillo, A. B. Roach, "Support for IPv6 in Session Description Protocol (SDP)" , IETF RFC-3266, June 2002. (Proposed Standard)

[17] LibPcap網站, http://www.tcpdump.org/

[18] 6WIND公司網站, http://www.6wind.com/

[19] CISCO- Implementing NAT-PT for IPv6-Cisco IOS Software Release 12.3 Mainline,

http://www.cisco.com/en/US/products/sw/iosswrel/ps5187/product s_configuration_guide_chapter09186a00801d6600.html

[20] SER網站, http://www.iptel.org/ser/

參考文獻

相關文件

mathematical statistics, statistical methods, regression, survival data analysis, categorical data analysis, multivariate statistical methods, experimental design.

™ 經由 PPP 取得網路IP、Gateway與DNS 等 設定後,並更動 Routing Table,將Default Gateway 設為由 PPP取得的 Gateway

• SIPv6 Analyzer provides several functions (e.g., SIP Viewer and RTP Spy) for the users who attempt to debug the SIP VoIP network or the SIP devices. • SIPv6 Analyzer can

„ A host connecting to the outside network is allocated an external IP address from the address pool managed by NAT... Flavors of

n Another important usage is when reserving network resources as part of a SIP session establishment... Integration of SIP Signaling and Resource

¾ PCS systems can connected to Public Switched Telephone Network (PSTN)6. ¾ Goal of PCS:enabling communications with a person at anytime, at any place and in any

To look at the most appropriate ways in which we should communicate with a person who has Autism and make it.. applicable into our day to

After having followed Kumarajiva, the Sanskrit- Chinese bilingual Chief Translator, to work in the translation centre in Ch'ang-an, Sêng-jui began to grapse more and more the