Top Banner
1 Outline • Introduction to IPv6 • Enabling SER with IPv6 • Concept of SIP Mobility • UA with SIP Mobility Support • Conclusion and Future Work
41

Outline

Jan 12, 2016

Download

Documents

aminia

Outline. Introduction to IPv6 Enabling SER with IPv6 Concept of SIP Mobility UA with SIP Mobility Support Conclusion and Future Work. SIP Mobility between IPv4 and IPv6. Che-Hua Yeh Quincy Wu. IPv6 Design Goals. Addressing and Routing Address Space Header Format - PowerPoint PPT Presentation
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Outline

1

Outline

• Introduction to IPv6

• Enabling SER with IPv6

• Concept of SIP Mobility

• UA with SIP Mobility Support

• Conclusion and Future Work

Page 2: Outline

2

SIP Mobility between IPv4 and IPv6

Che-Hua Yeh

Quincy Wu

Page 3: Outline

3

IPv6 Design Goals

• Addressing and Routing– Address Space– Header Format

• Minimizing Administrative Workload– Auto-configuration

• Multi-media Support• Security

– AH/ESP

• Mobility• Transition Mechanism

Page 4: Outline

4

IPv6 Address

• 128-bit long

• 2128 = 3.4×1038 665×1021 addresses per m2 of earth surface.

• Considering some inefficient usage (e.g. 911 prefix in telephony), it is estimated to support 8×1017 to 2×1033 addresses.

• 8×1017 1,564 address per m2.

Page 5: Outline

5

Text Representation of Addresses

• Colon-Hex 3ffe:3600:2000:800:248:54ff:fe5c:8868

• Compressed Format:3ffe:0b00:0c18:0001:0000:0000:0000:0010

becomes3ffe:b00:c18:1::10

• IPv4-compatible:– 0:0:0:0:0:0:140.110.60.46 – or ::140.110.60.46

• 6to4 Address– 2002:8C6E:3C2E::8C6E:3C2E

• 140.110.60.46 = 8C6E:3C2E

Page 6: Outline

6

Multicast Support

• Multicast is optional for IPv4. Not all routers support multicast.

• All IPv6 hosts and routers are required to support multicast.

• There are no broadcast addresses in IPv6, their function being superseded by multicast addresses.– Link-local– Site-local– Global scope

Page 7: Outline

7

IPv4 Header20 Octets+Options : 13 fields, include 3 flag bits

0 bits 31

Ver IHL Total Length

Identifier Flags Fragment Offset

32 bit Source Address

32 bit Destination Address

4 8 2416

Service Type

Options and Padding

Time to Live Header ChecksumProtocol

RemovedChanged

Page 8: Outline

8

IPv6 Header40 Octets, 8 fields0 31

Version Priority Flow Label

Payload Length Next Header Hop Limit

128 bit Source Address

128 bit Destination Address

4 12 2416

Page 9: Outline

9

IPv6 enables efficient routing

• Total IPv6 header size is only twice as large.• Most IPv6 extension headers are not examined or

processed by intermediate nodes (in contrast with IPv4, where IP options typically cause a major performance loss for the packet at every intermediate router).

• Priority and flow label can be used to identify flows even when the payload is encrypted.

Page 10: Outline

10

Application-level Security Solutions

• SSH for TELNET

• SSL for WWW

• PGP for email

The contents may be encrypted, but the traffic flow can still be observed.

IPv6 provides Network-level security.

Page 11: Outline

11

Authentication Header

– Data origin authentication• Useful in conquering DoS attack

– Connetionless integrity

Origin IP hdr TCP Data

Origin IP hdr TCP DataAH

Before applying AH

After applying AH

Authenticated

Page 12: Outline

12

Encapsulating Security Payload

Transport Mode of IPv6 Encryption

Tunnel Mode of IPv6 Encryption

IPv6 Header ESP HeaderExtension Hdr Payload

Unencrypted Encrypted

IPv6 Hdr ESP HdrExt. Hdr PayloadIPv6 Hdr ESP HdrExt. Hdr

Unencrypted Encrypted

Page 13: Outline

13

At boot time, an IPv6 host build a Link-Local address,

then its global IPv6 address(es) from RA

RA indicates SUBNET PREFIX

IPv6 Auto-Configuration

• Stateless (RFC2462)–Host autonomously configures its own Link-Local address–Router solicitation are sent by booting nodes to request RAs for configuring the interfaces.

• Stateful–DHCPv6 (under definition at IETF)

• RenumberingHosts renumbering is done by modifying the RA to announce the old prefix with a short lifetime and the new prefix.

Router renumbering protocol (RFC 2894), to allow domain-interior routers to learn of prefix introduction / withdrawal

SUBNET PREFIX + MAC ADDRESS

SUBNET PREFIX + MAC ADDRESS

SUBNET PREFIX + MAC ADDRESS

SUBNET PREFIX + MAC ADDRESS

SUBNET PREFIX + MAC ADDRESS

SUBNET PREFIX + MAC ADDRESS

SUBNET PREFIX + MAC ADDRESS

SUBNET PREFIX + MAC ADDRESS

Page 14: Outline

14

Dual-Stack Approach

• When adding IPv6 to a system, do not delete IPv4– this multi-protocol approach is familiar and well-understood (e.g., for Appl

eTalk, IPX, etc.)– note: in most cases, IPv6 will be bundled with new OS releases, not an extr

a-cost add-on

• Applications (or libraries) choose IP version to use– when initiating, based on DNS response:– if (dest has AAAA or A6 record) use IPv6, else use IPv4– when responding, based on version of initiating packet

• This allows indefinite co-existence of IPv4 and IPv6, and gradual, app-by-app upgrades to IPv6 usage

DRIVER

IPv4 IPv6IPv4 IPv6

APPLICATION

TCP/UDP

Page 15: Outline

15

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 16: Outline

16

Dual Stack Approach & DNS

• In a dual stack case, an application that:–Is IPv4 and IPv6-enabled

–Asks the DNS for all types of addresses

–Chooses one address and, for example, connects to the IPv6 address

DNS Server

IPv4

IPv6

www.a.com = * ?

3ffe:b00::1

3ffe:b00::110.1.1.1

Page 17: Outline

17

Cisco IOS Dual Stack Configuration

• Cisco IOS is IPv6-enable:–If IPv4 and IPv6 are configured on one interface, the router is dual-stacked

–Telnet, Ping, Traceroute, SSH, DNS client, TFTP,…

IPv6 and IPv4 Network

Dual-Stack Router

IPv4: 140.110.199.1

IPv6: 2001:C58:213:1::/64 eui-64

router#

interface Ethernet0 ip address 140.110.199.1 255.255.255.0 ipv6 address 2001:C58:213:1::/64 eui-64

Page 18: Outline

18

IPv6 Implementation - Host

• Apple• Compaq • FreeBSD • Hitachi, Ltd.• HP• IBM

• Linux• Microsoft• Mentat • SGI• Sun• etc.

Page 19: Outline

19

IPv6 Implementation - Router

• 3Com• Cisco Systems• Hitachi, Ltd.• NTHU• Nokia• Nortel Networks• Ericsson/Telebit Communications• Juniper Networks

http://playground.sun.com/pub/ipng/html/ipng-implementations.html

Page 20: Outline

20

Technical IPv6 evolution

• 128 bit addresses in terminals for global reachability

• User friendliness: IPv6 self configuration nodes

• Simplified header for routing efficiency and performance

• Security with mandatory seamless IPSEC support of all IPv6 devices

• Bandwidth and mobility : header compression , soft-handover, and Mobile IP for computing devices

• Enhanced multicast support with increased addresses and efficient flow control

Page 21: Outline

21

• Former Prime Minister of Japan - Yoshiro Mori

• Governmental– IPv6 Council

– JGN (Japan Gigabit Network) IPv6

• Industrial– IAJapan IPv6 Deployment

Committee

– JPNIC IPv6 project

100% IPv6 readiness by 2005

Japan

Page 22: Outline

22

Enabling SER with IPv6

• Option -l– Listen to specific IP addresses

Page 23: Outline

23

Listening to IPv6

root@sip# ser -l [2001:e10:6840:20:204:75ff:fede:188d] -P /var/run/ser.pid

Listening on

udp: [2001:e10:6840:20:204:75ff:fede:188d] [2001:E10:6840:20:204:75

tcp: [2001:e10:6840:20:204:75ff:fede:188d] [2001:E10:6840:20:204:75

Aliases:

tcp: sip:5060

udp: sip:5060

Page 24: Outline

24

Listening to both IPv4/IPv6

root@sip# ser -l [2001:e10:6840:20:204:75ff:fede:188d] -l 163.22.20.159 -P /var/run/ser.pid

Listening on

udp: [2001:e10:6840:20:204:75ff:fede:188d] [2001:E10:6840:20:204:75

udp: 163.22.20.159 [163.22.20.159]:5060

tcp: [2001:e10:6840:20:204:75ff:fede:188d] [2001:E10:6840:20:204:75

tcp: 163.22.20.159 [163.22.20.159]:5060

Aliases:

tcp: sip:5060

udp: sip:5060

Page 25: Outline

25

Page 26: Outline

26

4 types of SIP Mobility

• Terminal mobility is the capability to keep a session alive after the terminal device moves to a different IP subnet.

• Session mobility is the capability to maintain a session while the user is changing the terminal device.

• Personal mobility allows a user to become reachable at different terminal devices by the same logical address.

• Service mobility is the capability to access the user’s services (e.g. address book, speed dialing, buddy lists) while the user is moving or changing devices and network service providers.

Page 27: Outline

27

SIP Terminal Mobility

• Pre-Call Mobility

• Mid-Call Mobility

Page 28: Outline

28

Pre-Call Mobility

MH moves

REGISTER

302 Moved Temporarily

180 Ringing

200 OK

Media Session

200 OK

200 OK

INVITE

ACK

INVITE

ACK

Step 1

Step 2

SIP Server Mobile NodeCorrespondent Node

Step 0

Mobile Node

REGISTER

Step 3

Page 29: Outline

29

Pre-Call Mobility (cont.)

• Step 0. MH at its home network registers following standard SIP registration procedure.

• Step 1. MH moves from its home network to a visited network and acquires a new IP address from the visited network. Then MH sends a SIP REGISTER request to the SIP server to update its contact address.

• Step 2. When a Correspondent Host (CH) wants to contact the MH, it sends a SIP INVITE request to the SIP server. The SIP server sends a SIP response 302 Moved Temporarily (which contains the new contact address of the MH) to the CH.

• Step 3. Upon receipt of the SIP 302 response from the SIP server, the CH sends a new SIP INVITE request to the MH according to the new contact address which it receives in the response. Then after MH answers the call, the media transmission is established through standard SIP call setup procedure.

Page 30: Outline

30

Mid-Call Mobility

MH moves

Step 1. re-INVITE

Step 2. 200 OK

Step 3. ACK

Step 4. Media Session

SIP session

Correspondent Node Mobile Node Mobile Node

Page 31: Outline

31

Mid-Call Mobility (cont.)

• Step 1. During a SIP multimedia session, the MH moves from the previous network to the current network and acquires a new IP address. Then MH sends a SIP re-INVITE request to CH. In this request, the Contact field in the SIP header and the SDP connection address field are updated to the MH’s new IP address.

• Step 2. When the CH receives re-INVITE request, it replies a SIP 200 OK response right away.

• Step 3. The MH replies with an SIP ACK message to notify the CH that it has received the SIP 200 OK response.

• Step 4. The CH modifies the session parameters according to the new connection address in the SDP content, and then the media data transmission is re-established between the CH and the MH.

Page 32: Outline

32

INVITE & RE-INVITE

INVITE sip:[email protected] SIP/2.0Via: SIP/2.0/UDP 140.113.214.108:5080;branch=z9hG4bK6608From: <sip:[email protected]>;tag=8653To: <sip:[email protected]>Call-ID: [email protected]: 20 INVITEContact: <sip:[email protected]:5080>Max-Forwards: 5User-Agent: Lab117-PoC-VoIP-UA/0.0.1Subject: testExpires: 120Allow: INVITE, ACK, CANCEL, BYE, OPTIONS, REFER, SUBSCRIBE, NOTIFY, MESSAGEContent-Type: application/sdpContent-Length: 235

v=0o=userX 20000001 20000001 IN IP4 140.113.214.108s=A callc=IN IP4 140.113.214.108t=1099303518 1099307118m=audio 9000 RTP/AVP 0 8 18 3a=rtpmap:0 PCMU/8000a=rtpmap:8 PCMA/8000a=rtpmap:18 G729/8000a=rtpmap:3 GSM/8000

INVITE sip:140.113.214.107 SIP/2.0Via: SIP/2.0/UDP 140.113.214.120:5080;branch=z9hG4bK41From: <sip:[email protected]>;tag=8653To: <sip:[email protected]>;tag=10651Call-ID: [email protected]: 21 INVITEContact: <sip:[email protected]:5080>Max-Forwards: 5User-Agent: Lab117-PoC-VoIP-UA/0.0.1Subject: testContent-Type: application/sdpContent-Length: 235

v=0o=userX 20000001 20000001 IN IP4 140.113.214.108s=A callc=IN IP4 140.113.214.120t=1099303518 1099307118m=audio 9000 RTP/AVP 0 8 18 3a=rtpmap:0 PCMU/8000a=rtpmap:8 PCMA/8000a=rtpmap:18 G729/8000a=rtpmap:3 GSM/8000

Page 33: Outline

33

SIP flow From IPv6 to IPv4 (1)

MH CH

INVITE

ACK

INVITE

180 Ringing

Media transfering

200 OK

ACK

Handover to IPv4

Media transfering

100 Trying

200 OK

INVITE sip:[email protected] SIP/2.0 From: <sip:[email protected]>;tag=1b4a5d0-4d83718c-13c4-12b85-7a4492cc-12b85 To: <sip:[email protected]> Call-ID: [email protected] CSeq: 1 INVITE Via: SIP/2.0/UDP [2001:238:202:0:20c:6eff:fe49:1b98]:5060;branch=z9hG4bK-12b85-49201a2-b7b0f65 Contact: <sip:[email protected]> Content-Type: application/SDP Content-Length: 283 v=0 o=rv-test-app 20000001 20000001 IN IP6 2001:238:202:0:20c:6eff:fe40:d95d s=A call c=IN IP6 2001:0238:0202:0000:020c:6eff:fe49:1b98 t=1099303518 1099307118 m=audio 5004 RTP/AVP 0 8 18 3 a=rtpmap:0 PCMU/8000

Page 34: Outline

34

SIP/2.0 200 OK From: <sip:[email protected]>;tag=1b4a5d0-4d83718c-13c4-12b85-7a4492cc-12b85 To: <sip:[email protected]>;tag=1959798-5983718c-13c4-1509-710d8373-1509 Call-ID: [email protected] CSeq: 1 INVITE Via: SIP/2.0/UDP [2001:238:202:0:20c:6eff:fe49:1b98]:5060;branch=z9hG4bK-12b85-49201a2-b7b0f65 Contact: <sip:[email protected]> Content-Type: application/SDP Content-Length: 283 v=0 o=rv-test-app 20000001 20000001 IN IP6 2001:238:202:0:20c:6eff:fe40:d95d s=A call c=IN IP6 2001:0238:0202:0000:020c:6eff:fe40:d95d t=1099303518 1099307118 m=audio 5006 RTP/AVP 0 8 18 3 a=rtpmap:0 PCMU/8000

SIP flow From IPv6 to IPv4 (2)

MH CH

INVITE

ACK

INVITE

180 Ringing

Media transfering

200 OK

ACK

Handover to IPv4

Media transfering

100 Trying

200 OK

Page 35: Outline

35

SIP flow From IPv6 to IPv4 (3)

MH CH

INVITE

ACK

INVITE

180 Ringing

Media transfering

200 OK

ACK

Handover to IPv4

Media transfering

100 Trying

200 OK

INVITE sip:[email protected] SIP/2.0 From: <sip:[email protected]>;tag=1b4a5d0-4d83718c-13c4-12b85-7a4492cc-12b85 To: <sip:[email protected]>;tag=1959798-5983718c-13c4-1509-710d8373-1509 Call-ID: [email protected] CSeq: 2 INVITE Via: SIP/2.0/UDP 140.113.131.77:5060;branch=z9hG4bK-12bb0-492a907-7462ee53 Max-Forwards: 70 Contact: <sip:[email protected]> Content-Type: application/SDP Content-Length: 239 v=0 o=rv-test-app 20000001 20000002 IN IP4 140.113.131.77 s=A call c=IN IP4 140.113.131.77 t=1099303518 1099307118 m=audio 5006 RTP/AVP 0 8 18 3 a=rtpmap:0 PCMU/8000

Page 36: Outline

36

SIP flow From IPv6 to IPv4 (4)

MH CH

INVITE

ACK

INVITE

180 Ringing

Media transfering

200 OK

ACK

Handover to IPv4

Media transfering

100 Trying

200 OK

SIP/2.0 200 OK From: <sip:[email protected]>;tag=1b4a5d0-4d83718c-13c4-12b85-7a4492cc-12b85 To: <sip:[email protected]>;tag=1959798-5983718c-13c4-1509-710d8373-1509 Call-ID: [email protected] CSeq: 2 INVITE Via: SIP/2.0/UDP 140.113.131.77:5060;branch=z9hG4bK-12bb0-492a907-7462ee53 Contact: <sip:[email protected]> Content-Type: application/SDP Content-Length: 239 v=0 o=rv-test-app 20000001 20000002 IN IP4 140.113.131.77 s=A call c=IN IP4 140.113.131.89 t=1099303518 1099307118 m=audio 5008 RTP/AVP 0 8 18 3 a=rtpmap:0 PCMU/8000

Page 37: Outline

37

Current Result

Page 38: Outline

38

The Architecture of RADVISION SIP UA

User Interface module

RADVISION SIP module

Multimedia Control module

RTP Core module

UDP

SIP Mobility module

IPHelper API

RADVISION SIP UA

IPv6 IPv4

DNS Client

Page 39: Outline

39

Appendix

Page 40: Outline

40

The process flow of SIP terminal mobility

User Interface module

RADVISION SIP module

Multimedia Control module

RTP Core module

UDP

SIP Mobility module

IPHelper API

RADVISION SIP UA

IPv6 IPv4

DNS Client

4

5

1

63

2 7 8

9

Page 41: Outline

41

The process flow of SIP terminal mobility

• Step 1. The RADVISION SIP module setup a call following the standard SIP call setup procedure.

• Step 2. After the UA has received the SIP 200 OK response from the CH, it follows the standard SIP procedure to send SIP ACK to the CH.

• Step 3. The RADVISION SIP module instructs Multimedia Control Module to start RTP sessions.

• Step 4. The modification of IP addresses causes IPHelper API to trigger the event which activates the callback function in SIP Mobility module.

• Step 5. The SIP Mobility module instructs the RADVISION SIP module to execute the SIP terminal mobility procedure.

• Step 6. The RADVISION SIP module instructs the Multimedia Control module to suspend the RTP session.

• Step 7. Meanwhile, the RADVISION SIP module will send a SIP re-INVITE request to the CH.

• Step 8. After the UA has received the SIP 200 OK response from the CH, it follows the standard SIP procedure to send SIP ACK to the CH.

• Step 9. After the re-INVITE request completes, the RADVISION SIP module instructs Multimedia Control Module to resume RTP sessions.