410 likes | 602 Views
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
E N D
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 • Minimizing Administrative Workload • Auto-configuration • Multi-media Support • Security • AH/ESP • Mobility • Transition Mechanism
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 perm2.
Text Representation of Addresses • Colon-Hex 3ffe:3600:2000:800:248:54ff:fe5c:8868 • Compressed Format: 3ffe:0b00:0c18:0001:0000:0000:0000:0010 becomes 3ffe: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
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
Changed Removed IPv4 Header20 Octets+Options : 13 fields, include 3 flag bits 0 bits 4 8 16 24 31 Ver IHL Service Type Total Length Identifier Flags Fragment Offset Time to Live Protocol Header Checksum 32 bit Source Address 32 bit Destination Address Options and Padding
IPv6 Header40 Octets, 8 fields 0 4 12 16 24 31 Version Priority Flow Label Payload Length Next Header Hop Limit 128 bit Source Address 128 bit Destination Address
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.
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.
Origin IP hdr TCP Data Authentication Header • Data origin authentication • Useful in conquering DoS attack • Connetionless integrity Before applying AH After applying AH Origin IP hdr AH TCP Data Authenticated
IPv6 Header Extension Hdr ESP Header Payload Encapsulating Security Payload Transport Mode of IPv6 Encryption Tunnel Mode of IPv6 Encryption Unencrypted Encrypted Unencrypted Encrypted IPv6 Hdr Ext. Hdr ESP Hdr IPv6 Hdr Ext. Hdr ESP Hdr Payload
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) • Renumbering Hosts 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 RA indicates SUBNET PREFIX SUBNET PREFIX + MAC ADDRESS SUBNET PREFIX + MAC ADDRESS At boot time, an IPv6 host build a Link-Local address, then its global IPv6 address(es) from RA
APPLICATION TCP/UDP IPv4 IPv6 DRIVER 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 AppleTalk, IPX, etc.) • note: in most cases, IPv6 will be bundled with new OS releases, not an extra-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
IPv6-enable Application Dual Stack Approach Application • 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 Preferred method on Application’s servers TCP UDP TCP UDP IPv4 IPv6 IPv4 IPv6 Frame Protocol ID 0x0800 0x86dd 0x0800 0x86dd Data Link (Ethernet) Data Link (Ethernet)
3ffe:b00::1 10.1.1.1 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 www.a.com = * ? IPv4 DNS Server IPv6 3ffe:b00::1
IPv6 and IPv4 Network Cisco IOS Dual Stack Configuration router# interface Ethernet0 ip address 140.110.199.1 255.255.255.0 ipv6 address 2001:C58:213:1::/64 eui-64 • 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,… Dual-Stack Router IPv4: 140.110.199.1 IPv6: 2001:C58:213:1::/64 eui-64
IPv6 Implementation - Host • Apple • Compaq • FreeBSD • Hitachi, Ltd. • HP • IBM • Linux • Microsoft • Mentat • SGI • Sun • etc.
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
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
Japan 100% IPv6 readiness by 2005 • Former Prime Minister of Japan - Yoshiro Mori • Governmental • IPv6 Council • JGN (Japan Gigabit Network) IPv6 • Industrial • IAJapan IPv6 Deployment Committee • JPNIC IPv6 project
Enabling SER with IPv6 • Option -l • Listen to specific IP addresses
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
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
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.
SIP Terminal Mobility • Pre-Call Mobility • Mid-Call Mobility
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.
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.
INVITE & RE-INVITE INVITE sip:944021117@140.113.131.7 SIP/2.0 Via: SIP/2.0/UDP 140.113.214.108:5080;branch=z9hG4bK6608 From: <sip:chyei@140.113.131.7>;tag=8653 To: <sip:944021117@140.113.131.7> Call-ID: 7557@140.113.214.108 CSeq: 20 INVITE Contact: <sip:chyei@140.113.214.108:5080> Max-Forwards: 5 User-Agent: Lab117-PoC-VoIP-UA/0.0.1 Subject: test Expires: 120 Allow: INVITE, ACK, CANCEL, BYE, OPTIONS, REFER, SUBSCRIBE, NOTIFY, MESSAGE Content-Type: application/sdp Content-Length: 235 v=0 o=userX 20000001 20000001 IN IP4 140.113.214.108 s=A call c=IN IP4 140.113.214.108 t=1099303518 1099307118 m=audio 9000 RTP/AVP 0 8 18 3 a=rtpmap:0 PCMU/8000 a=rtpmap:8 PCMA/8000 a=rtpmap:18 G729/8000 a=rtpmap:3 GSM/8000 INVITE sip:140.113.214.107 SIP/2.0 Via: SIP/2.0/UDP 140.113.214.120:5080;branch=z9hG4bK41 From: <sip:chyei@140.113.131.7>;tag=8653 To: <sip:944021117@140.113.131.7>;tag=10651 Call-ID: 7557@140.113.214.108 CSeq: 21 INVITE Contact: <sip:chyei@140.113.214.120:5080> Max-Forwards: 5 User-Agent: Lab117-PoC-VoIP-UA/0.0.1 Subject: test Content-Type: application/sdp Content-Length: 235 v=0 o=userX 20000001 20000001 IN IP4 140.113.214.108 s=A call c=IN IP4 140.113.214.120 t=1099303518 1099307118 m=audio 9000 RTP/AVP 0 8 18 3 a=rtpmap:0 PCMU/8000 a=rtpmap:8 PCMA/8000 a=rtpmap:18 G729/8000 a=rtpmap:3 GSM/8000
SIP flow From IPv6 to IPv4 (1) 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
SIP flow From IPv6 to IPv4 (2) 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 (3) 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
SIP flow From IPv6 to IPv4 (4) 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
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.