Outline
Post on 12-Jan-2016
38 Views
Preview:
DESCRIPTION
Transcript
1
Outline
• Introduction to IPv6
• Enabling SER with IPv6
• Concept of SIP Mobility
• UA with SIP Mobility Support
• Conclusion and Future Work
2
SIP Mobility between IPv4 and IPv6
Che-Hua Yeh
Quincy Wu
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
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.
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
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
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
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
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.
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.
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
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
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
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
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
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
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
18
IPv6 Implementation - Host
• Apple• Compaq • FreeBSD • Hitachi, Ltd.• HP• IBM
• Linux• Microsoft• Mentat • SGI• Sun• etc.
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
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
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
22
Enabling SER with IPv6
• Option -l– Listen to specific IP addresses
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
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
25
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.
27
SIP Terminal Mobility
• Pre-Call Mobility
• Mid-Call Mobility
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
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.
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
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.
32
INVITE & RE-INVITE
INVITE sip:944021117@140.113.131.7 SIP/2.0Via: SIP/2.0/UDP 140.113.214.108:5080;branch=z9hG4bK6608From: <sip:chyei@140.113.131.7>;tag=8653To: <sip:944021117@140.113.131.7>Call-ID: 7557@140.113.214.108CSeq: 20 INVITEContact: <sip:chyei@140.113.214.108: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:chyei@140.113.131.7>;tag=8653To: <sip:944021117@140.113.131.7>;tag=10651Call-ID: 7557@140.113.214.108CSeq: 21 INVITEContact: <sip:chyei@140.113.214.120: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
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:944021306@pc1.ipv6.club.tw SIP/2.0 From: <sip:944021306@MH.ipv6.club.tw>;tag=1b4a5d0-4d83718c-13c4-12b85-7a4492cc-12b85 To: <sip:944021321@CH.ipv6.club.tw> Call-ID: 1b4b430-4d83718c-13c4-12b85-6424e357-12b85@pc1.ipv6.club.tw CSeq: 1 INVITE Via: SIP/2.0/UDP [2001:238:202:0:20c:6eff:fe49:1b98]:5060;branch=z9hG4bK-12b85-49201a2-b7b0f65 Contact: <sip:944021321@MH.ipv6.club.tw> 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
34
SIP/2.0 200 OK From: <sip:944021306@MH.ipv6.club.tw>;tag=1b4a5d0-4d83718c-13c4-12b85-7a4492cc-12b85 To: <sip:944021321@CH.ipv6.club.tw>;tag=1959798-5983718c-13c4-1509-710d8373-1509 Call-ID: 1b4b430-4d83718c-13c4-12b85-6424e357-12b85@pc1.ipv6.club.tw CSeq: 1 INVITE Via: SIP/2.0/UDP [2001:238:202:0:20c:6eff:fe49:1b98]:5060;branch=z9hG4bK-12b85-49201a2-b7b0f65 Contact: <sip:944021306@CH.ipv6.club.tw> 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
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:944021306@pc1.ipv6.club.tw SIP/2.0 From: <sip:944021306@MH.ipv6.club.tw>;tag=1b4a5d0-4d83718c-13c4-12b85-7a4492cc-12b85 To: <sip:944021321@CH.ipv6.club.tw>;tag=1959798-5983718c-13c4-1509-710d8373-1509 Call-ID: 1b4b430-4d83718c-13c4-12b85-6424e357-12b85@pc1.ipv6.club.tw CSeq: 2 INVITE Via: SIP/2.0/UDP 140.113.131.77:5060;branch=z9hG4bK-12bb0-492a907-7462ee53 Max-Forwards: 70 Contact: <sip:944021321@MH.ipv6.club.tw> 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
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:944021306@MH.ipv6.club.tw>;tag=1b4a5d0-4d83718c-13c4-12b85-7a4492cc-12b85 To: <sip:944021321@CH.ipv6.club.tw>;tag=1959798-5983718c-13c4-1509-710d8373-1509 Call-ID: 1b4b430-4d83718c-13c4-12b85-6424e357-12b85@pc1.ipv6.club.tw CSeq: 2 INVITE Via: SIP/2.0/UDP 140.113.131.77:5060;branch=z9hG4bK-12bb0-492a907-7462ee53 Contact: <sip:944021306@CH.ipv6.club.tw> 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
37
Current Result
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
39
Appendix
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
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.
top related