Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
PMIPv6 구현기술 및 성능 테스트 Youn-Hee Han [email protected] Korea University of Technology and Education Internet Computing Laboratory http://icl.kut.ac.kr 2008년 제1차 IPv6 기술 워크샵 Outline Proxy Mobile IPv6 Overview IPv4 Support in PMIPv6 Implementation of Proxy Mobile IPv6 & IPv4 Support Experimental Results & Conclusions 2/35 Proxy Mobile IPv6 Overview 3/35 PMIPv6 Overview LMA: Local Mobility Anchor MAG: Mobile Access Gateway IP Tunnel IP-in-IP tunnel between LMA and MAG LMA Home Network MN’s Home Network (Topological Anchor Point) MAG LMA Address (LMAA) movement MN’s Home Network Prefix (MN-HNP) CAFE:2:/64 MN’ Home Address (MN-HoA) MN continues to use it as long as it roams within a same domain MAG That will be the tunnel entry-point LMM (Localized Mobility Management) Domain Proxy Binding Update (PBU) Control message sent by MAG to LMA to establish a binding between MN-HoA and Proxy-CoA Proxy Care of Address (Proxy-CoA) The address of MAG That will be the tunnel end-point 4/35 PMIPv6 Overview New entities LMA (Local Mobility Anchor) Home Agent for the mobile node in the PMIPv6 domain Assigns MN's home prefix and manages the MN's reachability state MAG (Mobile Access Gateway) Manages the mobility related signaling for a mobile node Tracking the MN’s attachment to the link and for signaling the MN's LMA LMA <MN ID# - Home Network Prefix - Tunnel ID#> 6-to-6 4-to-6 PBU Tunnel Tunnel PBU PBAck MAG 6-to-4 4-to-4 Tunnel Tunnel PBAck MAG <MN ID# - Home Network Prefix - Tunnel ID#> <Home Network Prefix – Link-specific (MAC) Address> 5/35 PMIPv6 Overview Assumptions (or Restrictions) Link between MN and MAG is a point-to-point link (not shared link) Logically exclusive layer 3 link between MN and MAG Per-MN Prefix model unique home network prefix is assigned to MN AR/MAG Point-to-point link MN Per-MN Prefix Point-to-point link ... MN Per-MN Prefix 6/35 PMIPv6 Operation Flow PBU: Proxy Binding Update PBA: Proxy Binding Ack. MN MAG MN Attachment AAA&Policy Store LMA CN AAA Query with MN-ID AAA Reply with Profile PBU with MN-ID, Home Network Prefix option, Timestamp option RA** PBA with MN-ID, Home Network Prefix option Tunnel Setup Optional DHCP Request DHCP Server DHCP Request DHCP Response DHCP Response [Proxy-CoA:LMAA][MN-HoA:CN](data) [MN-HoA:CN](data) [MN-HoA:CN](data) 7/35 PMIPv6 Features Proxy Registration LMA needs to understand the Proxy Registration RFC 3775 MIPv6 BU/BAck Reuse PBU (Proxy Binding Update) PBAck (Proxy Binding Acknowledgement) 8/35 PMIPv6 Features Home in Any Place MAG sends the RA (Router Advertisement) messages advertising MN’s home network prefix and other parameters MAG will emulate the home link on its access link. MN always obtain its “home network prefix”, any where in the network. It will ensure that MN believes it is at its home. RA Unicast RA should be UNICASTed to an MN It will contain MN’s Home Network Prefix Per-MN Prefix M:1 Tunnel LMA-MAG tunnel is a shared tunnel among many MNs. One tunnel is associated to multiple MNs’ Binding Caches. 9/35 PMIPv6 Features Any MN is just a IPv6 host Any MN is just a IPv6 host with its protocol operation consistent with the base IPv6 specification. All aspects of Neighbor Discovery Protocol will not change. IPv6 protocol parameter consideration Lower default-router list cache timeout LLA: Link Local Address (e.g., MAC Address) 10/35 IPv4 Support in PMIPv6 11/35 IPv4 Support for MIPv6 (RFC 3775) Leveraging the existing Dual Stack Mobile IPv6 (DSMIPv6) protocol Hesham Soliman (Ed.), “Mobile IPv6 support for dual stack Hosts and Routers (DSMIPv6)”, draft-ietf-mip6-nemo-v4traversal-06.txt, Nov., 2007 IPv4 CN HA Tunneled to IPv6 CoA v6 Network v4 Network Movement Tunneled to IPv4 CoA IPv4 CN v4 Network v6 Network NAT Tunneled to private IPv4 CoA Private v4 Network Movement The new WG draft for IPv4 support for PMIPv6 R. Wakikawa (Keio Univ.), S. Gundavelli (Cisco), “IPv4 Support for Proxy Mobile IPv6”, draft-ietf-netlmm-pmip6-ipv4-support-02.txt, Nov., 2007 12/35 IPv4 Support for PMIPv6 PMIPv6’s IPv4 Support [Mobility Binding] HoAv4 and HoAv6 Dual Stack MN or IPv4 MN PBU (HoAv6, Proxy CoAv6, HoAv4) Proxy CoAv6 IPv4 traffic CNv4 HoAv4 IPv6 Tunnel (LMAAv6Proxy CoAv6) Dual Stack MAG Only-IPv6 enabled (Proxy CoAv6) <MN in IPv6 domain> Dual Stack LMA Only-IPv6 enabled (LMMAv6) IPv6 traffic CNv6->HoAv6 [Mobility Binding] HoAv4 and HoAv6 Dual Stack MN or IPv4 MN PBU (HoAv6, Proxy CoAv4, HoAv4) Proxy CoAv4 IPv4 traffic CNv4 HoAv4 IPv4 Tunnel (LMAAv4Proxy CoAv4) Dual Stack MAG Only-IPv4 enabled (Proxy CoAv4) <MN in IPv4 domain> Dual Stack LMA Only-IPv4 enabled (LMAAv4) IPv6 traffic CNv6->HoAv6 13/35 IPv4 Support for PMIPv6 PMIPv6’s IPv4 Support by using DSMIPv6 proposal When MN moves to an IPv6 network IPv6 header (src=IPv6 Proxy CoA, dst=IPv6 LMMA) Proxy Binding Update MN IPv6 header (src=IPv6 LMMA, dst=IPv6 Proxy CoA) Mobility header - Proxy BU [P flag is set] Mobility header - Proxy BAck [P flag is set] Mobility Option - IPv6 Home Network Prefix (MN IPv6 HoA) - Timestamp Option - MN IPv4 HoA Option (possibly empty) Mobility Option - IPv6 Home Network Prefix (MN IPv6 HoA) - Timestamp Option - MN IPv4 HoA Ack. Option MAG LMA IPv6 binding cache entry MN’s IPv6 HoA IPv6 Proxy CoA IPv4 binding cache entry MN’s IPv4 HoA IPv6 Data Traffic IPv6 header (src=IPv6 Proxy CoA, dst=IPv6 LMMA) IPv4 Data Traffic IPv6 header (src=IPv6 Proxy CoA, dst=IPv6 LMMA) IPv6 header (src=IPv6 HoA, dst=IPv6 CN_ADDR) Payload IPv4 header (src=IPv4 HoA, dst=IPv4 CN_ADDR) Payload IPv6 Proxy CoA IPv6 header (src=IPv6 LMMA, dst=IPv6 Proxy CoA) IPv6 header (src=IPv6 CN_ADDR, dst=IPv6 HoA) Paylaod IPv6 header (src=IPv6 LMMA, dst=IPv6 Proxy CoA) IPv4 header (src=IPv4 CN_ADDR, dst=IPv4 HoA) Paylaod 14/35 IPv4 Support for PMIPv6 PMIPv6’s IPv4 Support by using DSMIPv6 proposal When MN moves to a Public IPv4 network IPv4 header (src=IPv4 Proxy CoA, dst=IPv4 LMMA) UDP header Proxy Binding Update IPv6 header (src=IPv6 Proxy CoA, dst=IPv6 LMMA) MN IPv4 header (src=IPv4 LMMA, dst=IPv4 Proxy CoA) UDP header IPv6 header (src=IPv6 LMMA, dst=IPv6 Proxy CoA) Mobility header - Proxy BU [P flag is set] Mobility header - Proxy BAck [P flag is set] Mobility Option - IPv6 Home Network Prefix (MN IPv6 HoA) - Timestamp Option - MN IPv4 HoA Option - MN IPv4 CoA Option Mobility Option - IPv6 Home Network Prefix (MN IPv6 HoA) - Timestamp Option - MN IPv4 HoA Ack. Option - NAT Detection Option MAG LMA IPv6 binding cache entry MN’s IPv6 HoA IPv4 Proxy CoA IPv4 binding cache entry MN’s IPv4 HoA IPv6 Data Traffic IPv4 header (src=IPv4 Proxy CoA, dst=IPv4 LMAA) IPv4 Data Traffic IPv4 header (src=IPv4 Proxy CoA, dst=IPv4 LMMA) IPv6 header (src=IPv6 HoA, dst=IPv6 CN_ADDR) Payload IPv4 header (src=IPv4 HoA, dst=IPv4 CN_ADDR) Payload IPv4 Proxy CoA IPv4 header (src=IPv4 LMAA, dst=IPv4 Proxy CoA) IPv6 header (src=IPv6 CN_ADDR, dst=IPv6 HoA) Payload IPv4 header (src=IPv4 LMMA, dst=IPv4 Proxy CoA) IPv4 header (src=IPv4 CN_ADDR, dst=IPv4 HoA) Payload 15/35 IPv4 Support for PMIPv6 PMIPv6’s IPv4 Support by using DSMIPv6 proposal When MN moves to a Private IPv4 network IPv4 header (src=IPv4 Proxy CoA, dst=IPv4 LMMA) UDP header UDP header Proxy Binding Update IPv6 header (src=IPv6 Proxy CoA, dst=IPv6 LMMA) MN IPv4 header (src=IPv4 LMMA, dst=IPv4 Proxy CoA) IPv6 header (src=IPv6 LMMA, dst=IPv6 Proxy CoA) Mobility header - Proxy BU [P flag is set] Mobility header - Proxy BAck [P flag is set] Mobility Option - IPv6 Home Network Prefix (MN IPv6 HoA) - Timestamp Option - MN IPv4 HoA Option - MN IPv4 CoA Option Mobility Option - IPv6 Home Network Prefix (MN IPv6 HoA) - Timestamp Option - MN IPv4 HoA Ack. Option - NAT Detection Option MAG IPv4 NAT LMA IPv6 binding cache entry MN’s IPv6 HoA IPv4 Proxy CoA IPv4 binding cache entry MN’s IPv4 HoA IPv6 Data Traffic IPv4 header (src=IPv4 Proxy CoA, dst=IPv4 LMAA) UDP header IPv6 header (src=IPv6 HoA, dst=IPv6 CN_ADDR) Payload IPv4 Data Traffic IPv4 header (src=IPv4 Proxy CoA, dst=IPv4 LMMA) UDP header IPv4 header (src=IPv4 HoA, dst=IPv4 CN_ADDR) Payload IPv4 Proxy CoA IPv4 header (src=IPv4 LMAA, dst=IPv4 Proxy CoA) UDP header IPv6 header (src=IPv6 CN_ADDR, dst=IPv6 HoA) Payload IPv4 header (src=IPv4 LMMA, dst=IPv4 Proxy CoA) UDP header IPv4 header (src=IPv4 CN_ADDR, dst=IPv4 HoA) Payload 16/35 Implementation of Proxy Mobile IPv6 & IPv4 Support 17/35 Schedule Schedule 3월 4월 5월 6월 7월 8월 30일 10월 9월 11월 20일 MIPL Mobile IPv6 코드 분석 및 Kernel 2.6.10으로의 Porting 작업 PMIPv6 구현 이슈 및 Implementation Scope 셋업 PMIPv6 구현 데모 시나리오 작성 데모 시나리오 테스트 및 디버그 중간 데모 IPv4 Support 구현 이슈 및 Implementation Scope 셋업 IPv4 Support 구현 및 PMIPv6 구현 보완 데모 시나리오 보완 최종 테스트 및 디버그 최종 보고 및 데모 18/35 실험실 테스트 베드 MAG/LMA Specification MAG (MAG1, MAG2, MAG3) • • • • • LMA • • • • CN • • • • MN • • • CPU: Intel(R) Pentium(R) 4 CPU 3.00GHz, Memory: 1GB 802.3 NIC: Marvel 88E8001 802.11 NIC: Linksys Dual-Band PCI Adapter WMP-55AG OS: Debian 3.1 sarge, kernel 2.6.10 CPU: Intel(R) Pentium(R) 4 CPU 3.00GHz Memory: 1 GB 802.3 NIC: Realtek-8139 (x 2개) , 3Com 3c905c-TX OS: Debian 3.1 sarge, kernel 2.6.10 실험실 테스트 베드 구축 모습 CPU: Intel(R) Pentium(R) 4 CPU 3.00GHz Memory: 1 GB 802.3 NIC: Marvel 88E8001 OS: Windows XP SP2 (노트북) CPU: Intel Centrino, Pentium Dual Core 1.86 GHz Memory: 2 GB OS: Windows XP SP2 19/35 Implementation Issues Issue #1. RA의 전송 시점 In the Draft… Case 1: Policy Profile에서 AAA-Reply를 통하여 제공하는 경우 MAG에서 AAA-Reply를 받은 이후 RA전송 가능 Case 2: LMA에서 PBA를 통하여 제공되는 경우 MAG에서 PBA를 받은 이후 RA전송 가능 Selected Approach LMA에서 PBA를 통하여 제공 Issue #2. PBU 갱신 시 MN 존재 유무 파악 In the Draft… Binding Cache를 갱신하기 위한 PBU를 전송하는 경우 MN의 존재를 재확인 해야 함 드래프트에 기술된 재확인 방법들 Link-layer event specific to the access technology PPP Session termination event on point-to-point link types IPv6 NUD event from IPv6 stack Absence of data traffic from MN on the link for a certain duration of time Selected Approach MAG에서 PBU에 대한 lifetime 이 끝나가게 되면 NUD를 MN에게 수행한 후 MN이 존재하는 것이 확인되면 PBU 전송 20/35 Implementation Issues Issue #3. default gateway의 변경 In the Draft… Handover 이후 MN에서 NUD과정에 따른 Default Gateway 변경 지연 드래프트에서 제안된 방법들 Lower Default-Router List Cache Time-out By using a context transfer, new MAG multicasts an RA using the link-local address that of the previous MAG and with the Router Lifetime field set to value 0. assignment of a unique link-local address for all the ARs in the PMIPv6 Network. Selected Approach 세 번째 방법의 변형 모든 AR의 link-local address는 원래대로 다르게 셋팅함 RA 메시지를 만들어 보낼 때 모든 MAG 마다 같은 link-local address를 Source Address로 셋팅해서 보냄 Issue #4. MN들에게 RA 메시지를 Unicast로 전달하는 방법 Selected Approach 특별한 기법 사용 없이 구현 가능 IP Destination: All-node Multicast Address MAC Destination: Unicast MAC Address 21/35 Implementation Issues Issue #5. WLAN에서 Peer-to-Peer 링크 구현 이슈 In the Draft… WLAN이 Peer-to-Peer 링크가 아님으로써 발생하는 문제 Selected Approach RA를 Unicast 로 전송 물리적으로 같은 서브넷에 위치한 두 Neighbor MN들이 지닌 Neighbor Cache에 대한 Status 때문에 발생하는 통신 단절 서로 다른 서브넷 Prefix를 가진 단말들끼리 Direct Communication을 위한 ARP Cache를 가지게 되면 두 단말 중 어느 한 단말이 이동하게 되면 Session이 끊어지게 됨. 테스트 결과 일반적인 데이터 통신상에서 Off-link Prefix에 대해서는 무조건 Default Router로 패킷을 보내기 때문에 문제가 없음. 하지만, Unsolicited Neighbor Advertisement 가 발생되는 경우에는 문제가 발생 Unsolicited Neighbor Advertisement가 발생되는 경우? AR/MAG Point-to-point link MN Per-MN Prefix Point-to-point link ... MN Per-MN Prefix 22/35 Implementation Issues Issue #6. IPv4-HoA 할당 방법 LMA를 통한 동적 할당 방법으로 구현 절차 IPv4 단말이 보내는 DHCP discovery을 MAG에서 Catch MAG가 이미 IPv4-HoA를 가지고 있는지 판단. MAG가 이미 IPv4-HoA를 지니고 있지 않으면 PBU-PBACK 교환을 LMA와 수행 PBU always contains “IPv4 HoA option” defined in DSMIPv6 and the option is set 0.0.0.0. PBAck contains rightful IPv4 address for the MN-NAI MAG gets an IPv4-address for the MN-NAI MAG에서 DHCP offer를 보낼 때 IPv4 HoA 를 옵션으로 넣어줌 단말이 보내는 DHCP Request를 MAG에서 Catch 다시 DHCP Ack. 보냄 23/35 Implementation Issues Issue #7. 인증 방법 및 LMA 주소 할당 방법 IEEE 802.1x EAP 인증 절차와 PMIPv6의 Policy Store 연동 방법 변경 사용자 인증을 위해 EAPoL과 MD5 프로토콜을 이용 LMA MN Policy Server (RADIUS) MAG/AP 802.1x Authenticator RAIDUS client EAPoL Start EAPoL EAP-Req Packet Identity=? Access Request Identity= ”MN-ID” EAP-Resp EAPoL Packet Identity= ”MN-ID” EAP-Resp RADIUS Access Challenge EAPoL EAP-Req Packet Challenge RADIUS EAP-Req Challenge Access Request Challenge response EAP Resp MD5 EAPoL EAP Success Packet EAPoL Packet Challenge response EAP Resp RADIUS Access Accept RADIUS EAP Success LMAA 24/35 System Block System Block Diagram LMA MAG HostAP daemon (WLAN AP functionality) PMIPv6 MAG daemon (MIPv6-MN) Netlink RtNetlink Radius Client App. DHCPv4 Link-Up Event <User> <Kernel> <Kernel> IPv6 Networking (MIPv6 patched) control Link-Up Event Processing Address Configuration PMIPv6 Routing & Tunneling App. <User> WLAN Driver IEEE 802.11 MAC Control PMIPv6 LMA daemon (MIPv6-HA) Radius Server data PBU/PBAck IPv6 ND Message Exchange Data Packet Processi ng & Routing Netlink RtNetlink IPv6 Networking (MIPv6 patched) control LAN Driver Address Configuration PMIPv6 Routing & Tunneling data PBU/PBAck Data Packet Processi ng & Routing 25/35 종합 테스트 베드 구축 종합 테스트 베드 LMA/Radius CN eth1) 192.168.2.1 3ffe:2::1/64 V4/V6 network MN has Dual Stack and both addresses are always enabled eth0) 192.168.2.2 3ffe:2::2/64 eth0) 192.168.1.1 3ffe:1::1/64 NAT 192.168.1.3 Private V4 network V6 network V4 network MAG1 eth0) 3ffe:1::2/64 /DHCP4 ra0) 192.168.101.1 3ffe:1:1::1/64 SSID: PMIP1 fe80::1 초기 실행: v6 VoD Client eth0) 10.0.0.1 MAG3 /DHCP4 MAG2 eth0) 192.168.1.2 /DHCP4 ra0) 192.168.102.1 3ffe:1:2::1/64 SSID: PMIP2 fe80::1 ra0) 10.0.1.1 3ffe:1:3::1/64 fe80::1 SSID: PMIP3 초기 실행: v4 VoD Client 26/35 종합 테스트 베드 터널 설정 LMA와 MAG 사이의 시그널링 및 터널 설정 LMA PBU PBU PBAck PBAck 6-to-6 Tunnel MAG1 PBU 4-to-6 Tunnel 6-to-4 Tunnel MAG2 PBAck 4-to-4 Tunnel 6-toudp-4 Tunnel NAT 4-toudp-4 Tunnel MAG3 27/35 IPv4 Only 테스트 베드 구축 LMA (PC0) 192.168.4.1 192.168.4.2 192.168.3.1 Subnet 4 VoD (PC4) 192.168.1.1 192.168.3.2 192.168.1.2 802.11g NAT2 NAT1 10.0.1.1 10.0.2.1 Subnet 1 10.0.1.2 10.0.1.1 10.0.2.2 MAG1 (PC1) 10.0.101.1 802.11a MAG2 (PC2) Subnet 2 10.0.102.1 10.0.1.2 Subnet 3 MAG3 (PC3) 10.0.101.1 192.168.5.1 192.168.5.2 192.168.5.1 Notebook1 192.168.5.1 Notebook1 Notebook2 Notebook1 28/35 IPv4 Only 테스트 베드 터널 설정 LMA와 MAG 사이의 시그널링 및 터널 설정 LMA PBU PBU PBAck 6-toudp-4 Tunnel MAG1 NAT 4-toudp-4 Tunnel PBU PBAck 6-toudp-4 Tunnel MAG2 NAT 4-toudp-4 Tunnel PBAck 6-toudp-4 Tunnel NAT 4-toudp-4 Tunnel MAG3 29/35 테스트 목적 및 시나리오 테스트 목적 및 시나리오 Target Goal 이동 단말이 미디어 스트리밍 서버로 부터 실시간으로 동영상을 받아 Play 하면서 서로 다른 IP Network을 움직일 때 세션이 끊기지 않음을 보임 이동 단말 (Windows XP Operating System) 에는 어떠한 변경도 하지 않음 테스트 시나리오 Case 1 CN: VLC 서버를 IPv4로 구동하여 IPv4 MN으로 Traffic 보냄 MN: VLC 클라이언트를 IPv4 로 구동 MN은 3 개의 네트워크를 차례대로 이동함 IPv6 IPv4 Private IPv4 Case 2 CN: VLC 서버를 IPv6로 구동하여 IPv6 MN에게 Traffic 보냄 MN: VLC 클라이언트를 IPv6 로 구동 MN은 3 개의 네트워크를 차례대로 이동함 IPv6 IPv4 Private IPv4 Case 3 CN: VLC 서버를 IPv4로 구동하여 IPv4 MN으로 Traffic 보냄 MN: VLC 클라이언트를 IPv4 로 구동 Private IPv4 Only Network에서 실험 30/35 Experimental Results & Conclusions 31/35 종합 테스트 베드에서의 실험 결과 Handover Latency (IPv6 네트워크로의 이동) No. 1 2 3 4 5 6 7 8 9 10 Average MAC HO latency(ms) 2 2 2 2 3 2 2 2 2 2 2 EAP Auth. (ms) 103 92 85 151 148 94 74 98 118 106 107 PBU/PBAck (ms) 24 20 19 21 21 26 20 22 19 20 21 총 응용계층 Handover Latency (ms) 151 141 133 214 226 145 134 146 170 173 163 Events UDP Thoughput 전송률 UDP Throughput Mbps 5 4.5 평균 3.0 Mbps 3.54 3 2.5 2 1.5 Handover Events 1 0.5 0 0 10 20 30 40 50 60 70 Time (sec) 80 90 100 110 32/35 종합 테스트 베드에서의 실험 결과 Packet Tracing (IPv6 네트워크로의 이동) 33/35 Private IPv4 Only 테스트 베드에서의 실험 결과 Handover Latency (Private-IPv4 네트워크로의 이동) No. Events MAC Handover latency + EAP Auth. (ms) 1 2 3 4 5 Average 92 37 116 29 65 68 DHCP, PBU/PBAck (ms) 201 118 317 220 125 196 총 응용계층 Handover Latency (ms) 293 155 433 249 190 264 UDP Thoughput 전송률 평균 1.6 Mbps Handover Events 34/35 Conclusions PMIPv6 can be a way to facilitate the deployment of IP mobility Favorable to ISPs PMIPv6 is New Idea? Absolutely No!, but new trend!. It’s a turn for the better! In the handover latency aspect, PMIPv6 has a very good performance. PMIPv6 + IPv4 support is well working. No H/W Upgrade, Just S/W issue In current system, IPv6 signaling is trivial!!! More Study and Standardization Needed Route Optimization in PMIPv6 Fast Handover in PMIPv6, Multihoming Cross-layering Issues PMIPv6 over IEEE 802.11/16/WiBro Fast Handover with leverage of IEEE 802.21 Vertical Handover based on PMIPv6 Network-based Global Mobility PMIPv6-based NeMo (MANEMO) PMIPv6-based 6LowPAN Sensor Node Mobility 35/35