320 likes | 460 Views
Mobile IPv6 Development Trend. Jun-Hyun, Moon Computer Communications LAB., Kwangwoon University imp@kw.ac.kr. Content. 서론 MIPv6 개요 MIPv6 구현 요구사항 MIPv6 구현 사례 상호 운용성 및 적응성 테스트 및 기타 도구 MIPv6 도입 활성화를 위한 관련 프로젝트. 서론. 무선통신기술의 발전으로 이동 단말의 및 User 증가
E N D
Mobile IPv6 Development Trend Jun-Hyun, Moon Computer Communications LAB., Kwangwoon University imp@kw.ac.kr
Content • 서론 • MIPv6 개요 • MIPv6 구현 요구사항 • MIPv6 구현 사례 • 상호 운용성 및 적응성 테스트 및 기타 도구 • MIPv6 도입 활성화를 위한 관련 프로젝트
서론 • 무선통신기술의 발전으로 이동 단말의 및 User 증가 • Mobile Node가 Identifier로 IP Address를 사용 • Data-Link Layer(801.11, air, etc.)에 독립적으로 자신이 사용하던 Service를 계속 사용 가능 • To solve global roaming problem • IPv4는 늘어나는 Mobile Node의 주소요구량을 충족시킬 수 없음 • 새로운 Internet 주소 체계인 IPv6 도입이 시급함 • MIPv6 Feature • IPv6 + Mobility • Neighbor Discovery • Address auto-configuration • Destination option – IPv4에서 필요한 signal message가 불필요 • Routing optimization
MIPv6 개요 • MIPv6 구성 요소 및 용어 정의 • Mobile Node (MN) • 자신의 Network Access Point를 바꾸는 Host and Router • Correspondent Node (CN) • MN과 통신하고 있는 Host and Router • Home Network (HN) • MN이 이동하기 전에 Home-Link의 Prefix를 따르는 Home Address를 가지고 통신하고 있던 Network • Home Agent (HA) • MN의 Home Network에 있는 Router 중 MN의 등록 정보를 가지고 있어 MN이 Home Network를 떠나 있을 경우 MN의 현재 위치로 Datagram을 보내주는 Router
MIPv6 개요 (cont.) • MIPv6 구성 요소 및 용어 정의 (cont.) • COA (Care of Address) • MN이 외부 Network로 이동하였을 경우 IPv6의 Address auto-configuration으로 획득한 주소로 MN이 현재 위치한 Network의 Prefix Information을 갖으며, MN에서 전송하는 모든 Packet은 이 Address를 IPv6 Header의 근원지를 Address로 설정 • Binding • MN이 외부 Network을 이동하였을 경우 Home Agent에 등록하는 COA와 해당 Node의 Home Address를 매치시켜 놓는 것으로 일정 Lifetime 내에 갱신되지 않으면 무효화됨
MIPv6 개요 (cont.) • MIPv6에서 새롭게 정의된 Option and Message • IPv6 Node들이 MN과 통신하면서 MN의 Binding Information (BI)을 동적으로 알아내고 저장하기 위해서 사용되는 New Destination Option – Piggybacking or Stand-alone • Binding Update (BU) • MN이 Home Agent와 CN에게 자신의 COA를 알리기 위해 사용 • Binding Acknowledgement (BA) • HA는 MN에게 BU에 대한 응답으로 BA를 전송 • Binding Request (BR) • CN이 MN에게 BU를 요구할 때 전송 • MN은 Binding Information의 Lifetime이 종료되기 전에 새로운 BU를 전송해야 하는데, 활발히 Data를 주고 받는 CN이 Timer가 거의 종료하려 할 때까지 MN으로부터 BU를 받지 못한 경우에 MN에게 BR을 보내 BU를 요구
MIPv6 개요 (cont.) • MIPv6에서 새롭게 정의된 Option and Message (cont.) • IPv6 Node가 Tunneling을 사용하지 않고 TCP 연결과 같은 상위 계층 연결을 유지하기 위해 사용하는 Destination Option • Home Address Option • MN이 외부 Network에서 CN과 통신할 때 Datagram의 근원지 주소로 자신의 COA를 사용 • Home Address Option에 자신의 Home Address를 넣어서 Datagram을 수신한 CN측에서 근원지 주소와 Home Address Option내의 Address를 교체함으로써 TCP 연결과 같이 Address와 Port Pair로 Connection을 구별하는 상위 계층의 연결을 유지할 수 있을 뿐만 아니라 Firewall과 같은 Ingress Filtering이 구현된 망도 무리 없이 통과 가능
MIPv6 개요 (cont.) • MIPv6에서 새롭게 정의된 Option and Message (cont.) • ICMPv6 message • IPv6에서 MN이 외부 Network으로 이동해 있는 동안 HN이 재구성되어 HA가 바뀌는 경우 MN이 동적으로 HA 주소를 알아내기 위해 사용 • HN에 BI를 등록하고자 하는 MN이 현재 HN에서 HA의 역할을 수행하는 Router를 찾기 위해 사용 • Home Agent Address Discovery Request • MN이 Mobile IPv6 Home-Agents Anycast 주소를 목적지 주소로 설정하여 ICMP 메시지를 전송하면 HN에서 HA기능을 수행하는 Router 중 하나가 수신 • Home Agents Address Discovery Reply • Home Agent Address Discovery Request를 받은 HA는 Home Agent Address Discovery Reply 메시지에 HN에서 HA 역할을 수행하는 모든 Router의 Information 담아 응답 • HN에 있는 모든 HA들은 각 HA들이 주기적으로 전송하는 Router Advertisement message를 통해 HA List를 만들어 유지할 수 있음
MIPv6 개요 (cont.) • Protocol 개요 • IP 계층 Routing • Destination Subnet Prefix에 따라 이루어짐 • Node가 다른 Subnet으로 이동한 경우 Packet 수신 불가 • 다른 Subnet에서도 통신을 계속하고 싶은 겨우 Network을 옮길 때마다 IP Address 그 Network의 Prefix를 갖도록 수정해야 함 • 기존의 Address를 이용해서 통신을 가능하기 위해서 Mobility를 지원하는 Mobile IP라는 Protocol이 필요함 • MIPv6의 경우 Address auto-configuration이나 Neighbor Discovery등을 이용하여 IPv4 보다 손쉽게 Mobility를 지원
MIPv6 개요 (cont.) • Protocol 개요(cont.) • Mobile IPv6 기본 동작
MIPv6 개요 (cont.) • Protocol 개요(cont.) • Movement Detection • MN이 이동한 후에 RA (Router Advertisement) message의 Prefix Information과 NUD (Neighbor Unreachable Detection) Mechanism을 사용하여 MN이 이동하였음을 감지 • MN은 필요에 따라 Router Solicitation message를 사용하여 Router Advertisement message를 유도 • COA Acquisition & Binding Update • 이동이 감지된 후에 Address auto-configuration 방법으로 COA를 획득하고 그 Address를 HA 및 자신이 통신하고 있던 모든 CN에게 BU message를 이용하여 알림 • HA는 그 BU message에 대한 Reply로 BA message를 전송하고 BI를 유지
MIPv6 개요 (cont.) • Protocol 개요(cont.) • Datagram Transport • MN이 외부 Network에 있을 때 MN과 처음으로 통신을 원하는 CN은 MN이 이동하였음을 알지 못하기 때문에 Destination Address를 MN의 Home Address로 설정하여 일반적인 방법으로 Packet을 전송 • MN이 이동하였음을 알게 된 HA는 Proxy Neighbor Discovery기능을 사용하여 MN의 새로운 MAC Address를 HN의 모든 CN에게 알리고 MN으로 가는 모든 Packet을 가로채어 현재 MN위치로 Tunneling함 • Tunneling된 Packet을 받은 MN은 Packet을 전송한 CN이 BI를 갖고 있지 않다고 판단하고 CN으로 BU를 전송하여 자신의 COA를 알림
MIPv6 개요 (cont.) • Protocol 개요(cont.) • Router Optimization • CN은 BI을 저장하고 다음부터는 그 BI 사용하여 HA를 거치지 않고 직접 통신 가능 • HA를 거치지 않고 통신할 수 있는 기능은 MIPv4에서는 기본 Spec에서 다루지 않고 경로최적화를 위한 별도의 Protocol을 제시 • MIPv6에서는 기본 Spec에 포함 • MN을 Destination으로 하는 모든 Packet들이 HA를 지나야만 했던 상황에서 발생활 수 있었던 여러 가지 Problem 해결 • HN Congestion • HA Down -> Network Disable • Triangle Routing Problem
MIPv6 개요 (cont.) • Protocol 개요(cont.) • Mobile IPv6 기본 동작
MIPv6 개요 (cont.) • Protocol 개요(cont.) • Home Subnet Renumbering • IPv6 Neighbor Discovery Mechanism • Network Prefix가 바뀌는 경우 그 Subnet의 모든 Node들이 새로운 Address를 자동으로 생성 • MN이 외부 Network으로 이동한 경우, HA는 자신이 관리하고 있는 모든 MN들로 Router Advertisement Multicast Packet을 Tunneling하여 새로운 Prefix Information을 알림 • 이 Information을 받은 MN은 새로운 Home Address를 설정하고 BU를 보내 BI를 갱신
MIPv6 개요 (cont.) • Smooth Handoff • MN이 A망에서 B망으로 이동하여 Service를 받던 중에 다시 임의의 다른 망으로 이동하였을 경우에 이동을 감지한 후 새로운 COA를 획득하여 BU가 일어나서 정상적으로 Service를 받게 되기까지 기간, 즉 Handoff 동안에 MN으로 Packet을 보내는 CN은 MN이 아직 B에 있는 것으로 인식하기 때문에 B 망으로 전송한다. 이때 B망의 한 Agent가 이 Packet을 버리지 않고 MN까지 전송해 주어 Packet Loss를 줄여주는 방식 • MN은 망 B의 Router로 BU를 전송하여 그 Router가 MN의 이전 COA에 대한 임시 Agent 역할을 수행하도록 함 • 따라서 이전 COA로 오는 모든 Packet을 이 Router가 가로채어 새로운 COA로 IPv6 Encapsulation을 사용하여 Tunneling함 • 이 Tunneling된 Packet을 받은 MN은 CN으로 BU를 BI를 갱신
MIPv6 개요 (cont.) • Smooth Handoff (cont.) • Smooth Handoff의 Signaling Packet 흐름
MIPv6 구현 요구사항 • MN과 통신하는 CN이 지녀야 할 기능 • Binding Update처리 능력 • MN의 새로운 COA를 위한 BU가 도착할 때마다 자신의 Destination cache를 생성하거나 변경할 수 있어야 함 • Home Address Option능력 • Home Address Destination Option을 가진 Datagram을 받으면 IPv6 Header의 Source Address Field에 있는 Address와 이 Option의 주소를 교체해서 상위 계층으로 전송해야 함
MIPv6 구현 요구사항 (cont.) • HA가 지녀야 할 기능 • Proxy Neighbor Discovery기능 • MN으로부터 BU를 받은 HA는 Proxy Neighbor Discovery 기능을 사용하여 MN 대신 MN의 새로운 MAC Address를 Home Network의 모든 CN으로 전송함 • IPv6 Encapsulation수행 능력 • Proxy Neighbor Discovery 기능을 사용함으로써 MN을 Destination으로 하는 모든 Packet은 HA에서 Intercept 가능 • HA는 Intercept된 Packet을 Destination을 MN의 COA로 설정하고 Source를 HA의 IP Address로 설정된 IPv6 Header로 Encapsulation하여 전송 • Home Agent Address Request/Reply • MN이 HN에서 HA의 Address를 알고자 할 때, 모든 HA들의 List 정보를 담아 Reply해 주어야 함
MIPv6 구현 요구사항 (cont.) • MN이 지녀야 할 기능 • IPv6 De-capsulation수행 능력 • MN의 BI를 모르는 CN이 MN을 Destination으로 하여 보낸 Packet을 HA가 Intercept하여 Tunneling으로 전송하였을 경우, 그 Packet을 De-capsulation하여 상위 계층으로 올려 보내야 함 • Binding Update/Request/Acknowledgement Option처리 능력 • MN은 언제 새로운 COA가 필요한 지를 탐지하는 기능과 언제 HA와 CN으로 BU를 전송할 지를 결정하는 기능을 가져야 함 • HA로 전송하는 BU에는 A 플래그를 1로 세팅하여 BA를 요청 • 이런 BU를 받은 HA는 BA로 응답 • MN과 통신하는 CN이 저장하고 있는 MN의 BI의 Lifetime이 종료하려 할 때까지 새로운 BU가 오지 않으면 MN으로 BR을 전송하여 BU를 보내줄 것을 요청 • BR을 받은 MN은 BU로 응답
MIPv6 구현 요구사항 (cont.) • MN이 지녀야 할 기능 (cont.) • Home Agent Address Request/Reply message처리 능력 • MN이 HN에서 HA역할을 하는 Router의 Address를 알아내기 위하여 Dynamic Home Agent Address Discovery Mechanism을 사용 • Smooth Handoff를 지원하기 위해서는 MN이 이전에 통신하던 Network에서 HA 역할을 수행하는 Router를 알아내야 하므로, Dynamic Home Agent Address Discovery Mechanism을 수행하는데 필요한 두 개의 ICMP message를 처리 가능해야 함
MIPv6 구현 사례 • MIPL (Mobile IPv6 for Linux) • HUT (Helsinki University of Technology) S/W Development Project의 일환 • Linux Based Mobile IPv6 System • Mobility Support In IPv6 (draft-ietf-mobile-ipv6-14) • IPsec Protocol • IPv6를 사용하는 응용들이 상위계층에 대한 투명한 이동성 제공 • MIPL Code Package • Version 0.9 (mipv6-0.9-v2.4.7) • Red-Hat 6.1, 6.2, 7.0 System에서 Test • Kernel Version 2.4.4.~2.4.7 에서 동작 확인 • Kernel Module, Kernel Patch, Userspace Program for Kernel Install and Lineup • 수정된 Router Advertisement Daemon (radvd) 포함
MIPv6 구현 사례 (cont.) • MIPL (Mobile IPv6 for Linux) (cont.) • MIPL 구현 기능 • HA/MN/CN의 기본 기능 구현 • 문제점과 제한점 • MN과 CN사의의 Dynamic Key 생성 불가 • Signaling Option의 Piggybacking이 Packet 내에 100 bytes 가량의 여유공간을 예약하여 사용됨 • BU Packet의 Lifetime 및 이동 감지 Mechanism이 불완전하고 단지 ‘moderated’ eager cell switching 만이 구현됨 • Router Solicitation message의 간격 조절이 불완전 • MN에서 CN으로 Packet을 Tunneling을 위한 Reverse Tunneling 구현이 필요 • HA가 Home Link에 있는 MN에게 여러 개의 유효주소 배분 불가 • Mobile Prefix Advertisement 의 전송 및 MN의 Home Address의 충돌을 막기 위한 필요한 Proxy DAD Mechanism의 구현이 필요
MIPv6 구현 사례 (cont.) • MSR Mobile IPv6 • MicroSoft 사에서 LandMARC2000 Project의 일환 • Lancaster 대학의 연구진들과 함께 개발한 Windows2000기반의 Mobile IPv6 • MSR IPv6 Stack, Version 1.4를 기반으로 개발 • 특징 • IETF에서 정의한 MN, CN, HA의 기능을 그대로 구현 • MN이 여러 개의 Home Address를 가질 수 있음 • MIPv6 Configuration을 위해 Power가 꺼진 동안에도 지워지지 않는 Memory를 지원하여 Power-Off후에도 COA를 기억 가능 • MN은 RA (Router Advertisement) Message와 Neighbor Discovery Mechanism으로 이동하였음을 감지 • Hand-off 시간은 Network Adapter와 Driver에 의존적 • Home Agent Discovery Message, Smooth Hand-off 미지원
MIPv6 구현 사례 (cont.) • KAME • 일본의 7개의 기업체가 연합하여 FreeBSD 기반의 IPv6/IPsec Stack을 개발하여 제공하려는 의도로 진행 • ATM, Mobility, Queuing 등의 Protocol들도 함께 개발 • Ericsson의 Mobile-IPv6 Code를 통합하여 IPv6 Mobility 제공 • draft-ietf-mobileip-ipv6-13 Spec에 따라 CN/MN/HA를 구현 • Mobile IPv6의 CN은 Destination Option Header에 Home Address Option을 지원 • 다른 Sub-option들은 지원하지 않음 • Dynamic Home Agent Address Discovery와 Home Subnet Renumbering 등의 지원이 필요 • IPsec과의 연동 등 앞으로 해결해야 할 과제
MIPv6 구현 사례 (cont.) • NEC • ‘NEC MobileIPv6 Implementation’ KAME 위에서 완전한 Mobile IPv6 기능을 제공하는 것을 목표로 함 • KAME를 기반으로 구현, KAME에 Patch하는 형태로 설치 • NEC의 CN은 BI를 유지하는 캐쉬를 가지고 있으며 Binding Message를 처리 가능 • MN으로 Packet을 전송하고자 할 때 Routing Header를 사용하고 IPsec Packet을 처리 가능 • HA는 Proxy Neighbor Discovery Mechanism을 사용하여 외부 망으로 옮긴 MN을 Destination Address로 갖는 Packet들을 Intercept하고 MN으로 Tunneling하여 전송 • Multi Home Address, Smooth Handoff의 구현이 필요 • HN의 Prefix Address가 변경되었을 경우 HA는 이 정보를 MN으로 보내고 MN은 그 Prefix에 맞는 Home Address를 다시 설정함
MIPv6 구현 사례 (cont.) • National University of Singapore • IETF의 draft-ietf-mobleip-ipv6-04 Spec을 기반으로 구현 • Route Optimization과 Security 기능 등 미구현 • Linux Kernel Patch File과 HA Daemon Program, MN의 Daemon Program 등으로 구성 • Linux Kernel Version 2.1.59 기반으로 구현됨 • CMU Monarch Project • Carnegie Mellon 대학에서 수행하고 있는 Monarch Project • IETF의 draft-ietf-mobleip-ipv6-03 Spec을 기반으로 구현 • Package는 FreeBSD 환경에서 구현된 INRIA의 IPv6 Stack에 대한 Kernel Patch File과 Mobile IPv6 Daemon으로 구성됨
MIPv6 구현 사례 (cont.) • Nokia • MN이 Wireless Access Point 사이를 이동하는 동안에도 지속적으로 연결을 유지할 수 있어 IP Multimedia Service가 가능한 Mobile IPv6를 최초로 개발 • Madrid에서 열린 Global IPv6 Forum에서의 시연을 통해 MIPv6가 IP Telephony에서 Real-time Audio Traffic의 질을 개선하면서 Smooth Handover를 가능하게 하는지를 보여줌 • Ericsson • Ericsson Radio에서 개발한 Mobile IPv6 HA/CN/MN은 KAME IPv6에 포함되어 공개, Ericsson Telebit에서 Mobile IPv6 (HA) Router 개발 • IETF의 draft-ietf-mobleip-ipv6-13 Spec을 기반으로 구현 • Ericsson Telebit의 AXI462 Router에 “Add on Home Agent Demo Version”으로 구현될 예정
MIPv6 구현 사례 (cont.) • MIPL/MSR Mobile IPv6/KAME/NEC 비교
상호 운용성 및 적응성 테스트 및 기타 도구 • TAHI (Test and Verification for IPv6) Project • IPv6 Interoperability and Conformance Test Tool • HA과 CN은 Test가능, MN은 Test 불가능함 • Connectathon • S/W와 H/W의 Interoperability를 Test하는 Forum • Vendor들이 자신들이 개발한 제품들에 대한 Interoperability를 Test하기 위한 기회의 장 제공 • MobiWan : ns-2 extensions to study mobility in Wide-Area IPv5 Networks • IPv6에서 Mobility를 제공하기 위해 제안 되는 다양한 Protocol들의 동작과 성능을 검증하기 위해 ns-2 Simulator를 확장한 결과물 중에 하나임
MIPv6 도입 활성화를 위한 관련 프로젝트 • Moby Dick • 목적 • 많은 IP 기반 응용들을 Seamless하게 Access 할 수 있도록 하는 것 • Handover가 발생하는 동안 또는 그 이후에 AAA같은 인증문제나 QoS 지원문제, 요금부과 문제에 대한 Seamless Handover를 가능하게 하기 위한 무선 인터넷 접근 구조를 제안하는 것 • 망 운영자나 제조업자, ISP 그리고 무선 Access 망과 Backbone망 기술 및 Service들에 대한 Content 제공자들에게 새로운 산업적 기회를 제공하는 것이며, IETF와 IRTF와 같은 표준화 단체에 기고하는 것 • 종단간 QoS 구조와 Mobile-IPv6, AAA Framework이 지원되는 IPv6 기반의 이동성을 정의, 구현, 검증하는 역할을 함
MIPv6 도입 활성화를 위한 관련 프로젝트 (cont.) • WINE GLASS • 목적 • Mobile, Satellite, Personal Communication Domain에서 그 장점들을 이끌어내어 널리 사용되도록 하는 것 • 글로벌 연결성 보장, 언제 어디서나 무선 멀티미디어 통신과 서비스에 접근 가능하게 하는 것 • UMTS 기반의 무선 인터넷 구조에서 Mobility와 QoS를 지원하기 위한 새로운 진보된 IP 기반의 기술들을 개발할 때까지 그런 혁신적인 기술들과 응용들을 검사하고 평가하고 Test하는 수단으로 사용됨 • 이 프로젝트의 결과로 얻어진 진보된 기술과 적용될 아이디어 및 QoS 보장 응용 서비스들은 3GPP, SMG, IETF 등의 표준화 단체에 기고됨