700 likes | 959 Views
QoS 보장을 위한 이기종망 (WiFi/HSPA/WiMax) 간 Vertical Handover 기술 구현과 적용 ( MIP, PMIP, MIH 중심으로 ). 2008.12.5 KTF 연구개발원 진성일 (bigstop@ktf.com). 목차. Vertical Handover 기술. II. Mobile IP. III. Proxy Mobile IP. IV. MIH. V. VHO 기술 구현시 이슈. VI. 참조. Vertical Handover 기술.
E N D
QoS 보장을 위한 이기종망(WiFi/HSPA/WiMax)간 Vertical Handover 기술 구현과 적용 ( MIP, PMIP, MIH 중심으로) 2008.12.5 KTF 연구개발원 진성일(bigstop@ktf.com)
목차 Vertical Handover기술 II. Mobile IP III. Proxy Mobile IP IV. MIH V. VHO 기술 구현시 이슈 VI. 참조
Vertical Handover(VHO)의 정의 – 1/2 VHO란? 서로 다른 유무선 Access간 단말의 서비스 및 네트워킹을 유지 시키는 Multi Access기술 이기종망간 데이터서비스의 Seamless Mobility를 의미(일반적으로 IP Mobility) Horizontal Handover의 반대말 VHO vs. Horizontal Handover
QoS 입장에서의 VHO – Seamless Mobility Host 3 Host 4 Src Addr : 1.0.0.1 Des Addr : 2.0.0.4 Router B 2.0.0.3 2.0.0.4 Host 1 Host 2 Router A 1.0.0.1 1.0.0.2 Host 5 Host 4 4.0.0.4 4.0.0.5 Router C • 일반적인 IP 환경인 위의 예제에서, Router B에 있던 Host4가 Router C로 이동하면 네트워크가 달라지므로 Host4의 IP 주소가 변경되어 Host1로 부터 전송되는 메시지를 수신하지 못한다. 그러므로, 이동하는 단말의 끊김 없는 통신을 위하여 IP가 바뀌지 않거나,application의 연속성을 보장해 줄수 있는 기술을 사용해야 한다. (KEY : IP는 변하지 않는다.) 예를 들어 와이브로 –무선랜 간 이동시 서로 다른 default Router환경 하에서 IP Address가 바뀔 수 밖에 없는 상황임
QoS 입장에서의 VHO – Seamless Mobility 란? Seamless Mobility란? 사용자 어플리케이션 세션을 유지하면서 물리적 네트웍을 전환 할 수 있는 능력으로, 지연이나 데이터 유실 없이 연속적인 서비스를 제공하여 사용자(혹은 단말)의 유무선 접속 기술에 상관없이 언제 어디서나 인터넷 서비스를 제공 받을 수 있게 만드는 기술( IP Mobility 임) Seamless Mobility의 부재시?? 이기종망간 이동시 QoS 및 네트워크 세션의 단절이 일어남. Roaming후 어플리케이션의 재실행이 필요 VPN의 재로그인 필요 Roaming중 잠재적인 데이터 손실에 노출 연결 재설정, 어플리케이션의 재실행등의 불필요한 시간 소요
VHO 기술의 두가지 관점 Mobile IP기반의 VHO Mobile IP Protocol 을 이용한 Seamless Handover 단말의 IP Address는 불변 다양한 종류의 Mobile IP방식이 존재함 COA, CCOA, FMIP(Fast Mobile IP), HMIP(Hierachical Mobile IP), Proxy Mobile IP, xGMIP등 비 Mobile IP기반의 VHO Mobile IP에 비해 IP Address가 바뀌어도(이기종망을 이동하여도) 상위 응용프로그램의 연속성을 보장해 주는 이동성 기술 기존망의 Node들은 이동성과 무관한 경우가 많음 기술개발 및 적용이 용이하며, 단말과 Contents Server간의 기술이 대부분임. Layer별로 다양한 기술들이 존재함. MOBIKE, mSCTP, HIP 등
계층별 VHO 관련 기술 정리 • MIH : Media Independent Handover • HIP : Host Identity Protocol • mSCTP : mobile SCTP
용어 정리 1/2 Home Address Mobile Node가 위치하는 네트워크와 상관없이 변경되지 않고 유지되는 Mobile Node의 IP 주소 Home Network Mobile Node의 home address와 network prefix가 일치하는 network Mobile Node의 Home Address로 수신되는 메시지는 Home Network 으로 전달됨 Foreign Network Mobile Node의 Home Network 이외의 network Mobility Agent Mobile IP를 지원하는 Agent (home agent, foreign agent)
용어 정리 2/2 Agent Advertisement 일반적인 Router Advertisement 메시지에 Mobility Agent Advertisement extension을 추가하여 생성한 advertisement 메시지 Care-of Address Mobile Node를 향하는 터널의 종점 (터널의 반대편 종점은 Home Agent가 됨) foreign agent care-of-address Mobile Node가 등록된 Foreign Agent의 주소 co-located care-of-address DHCP와 같은 방법으로 Mobile Node의 network interface에 할당된 local IP 주소
1-2. Mobile IP Concept Mobile Node Home Agent Home link Host Host Movement tunneling Mobile Node Foreign link Foreign Agent Mobile Node가 Home Network에 위치할 경우, Mobile Node와 Host간에 송수신 packet Flow Mobile Node가 Foreign Network에 위치할 경우, Mobile Node가 Host로 보내는 packet Flow Mobile Node가 Foreign Network에 위치할 경우, Host가 Mobile Node로 보내는 packet Flow
1-3. 구성요소 및 역할 Mobile node Mobile IP를 지원하는 단말 : IP(Home Address)는 변하지 않는다. HA(Home Agent) Mobile node의 care-of-address 유지 및 관리 Mobile node로 향하는 packet이 자신에게 도달할 수 있도록 reach-ability Advertisement message를 전송한다. Mobile node로 향하는 packet을 intercept하여 mobile node의 care-of-address로 tunneling해준다. FA(Foreign Agent) Mobile node가 Home Agent에게 care-of-address를 등록하는 것을 돕는다. Home Agent로 부터 tunneling된 packet을 de-tunneling하여 mobile node에게 전달한다. Mobile node에 의해 만들어진 packet을 보낼 수 있는 default router역할을 한다.
2-1. Mobility Agent Discovery Mobile Node가 어떤 Mobility Agent에 접속되어 있는지 판단 Agent Advertisements Message와 Agent Solicitations Message로 구성 • Agent Advertisements Message - Mobility Agent가 동일 네트워크 내에 모든 노드에게 자신의 상태 정보를 전송함 • Agent Solicitations Message - Mobile Node가 Advertisements Message를 얻지 못했을 때 Mobility Agent에게 Advertisements Message의 송신을 요청 Mobile Node의 home address와 Advertisements Message의 source address를 (network-prefix부분) 비교 - Move Detection
2-2. Agent Solicitations Message Format Vers = 4 IHL Type of Service Total Length IP Header Identification Flags Fragment Offset TTL = 1 Protocol = ICMP Header Checksum Source Address = mobile node’s home address Destination Address = 255.255.255.255(broadcast) or 224.0.0.2(multicast) Type = 10 Code = 0 Checksum ICMP Router Solicitation reserved
2-3. Agent Advertisements Message Format -1 Vers = 4 IHL Type of Service Total Length IP Header Identification Flags Fragment Offset TTL = 1 Protocol = ICMP Header Checksum Source Address = home and/or foreign agent’s address on this link Destination Address = 255.255.255.255(broadcast) or 224.0.0.1(multicast) Type = 9 Code Checksum Num Addrs Addr Entry Lifetime Router Address[1] ICMP Router Advertisement Preference Level[1] Router Address[2] Preference Level[2] …. Type = 16 Length Sequence Number Mobility Agent Advertisement Extension r T M G Registration Lifetime R B H F Reserved Care-of-Address[1] Care-of-Address[2] …. Prefix-length Extension(optional) Type = 19 Length Prefix-Length[1] Prefix-Length[2]
2-4. Agent Advertisements Message Format –2 • Sequence Number : 최초로 전송되는 Advertisement의 sequence number는 0 (0 ~ 0xffff) • Registration Lifetime : Mobility Agent가 허용하는 최대 등록 시간 • R bit (set 1) : FA를 통해서 Registration • B bit (set 1) : FA가 busy상태임을 표시 • H bit (set 1) : Mobility Agent가 HA 임을 나타냄 • F bit (set 1) : Mobility Agent가 FA 임을 나타냄 • M bit (set 1) : Minimal Encapsulation을 사용하여 tunneling함 • G bit (set 1) : GRE Protocol을 사용하여 tunneling함 • r bit : 0 으로 설정하여 보냄 (수신 시 해당 값은 무시됨) • T bit (set 1) : Foreign Agent의 Reverse Tunneling 지원여부 • Reserved : reserved filed (0 으로 설정하여 보냄) • Care-of Address : FA의 care-of address
2-5. Don’t hear no Advertisements Mobile Node가 Agent Solicitation Message를 broadcast 하여도 Advertisement Message를 수신하지 못할 경우, 1. Home link에 접속해있다고 생각하고, Home agent의 상태가 비정상적인 것으로 판단하여, Home link 에 접속을 시도하기 위해 ICMP Echo Request message를 날린다. - Default router로 부터 응답이 온다면, home link에 접속한 것과 같은 방법으로 통신 2. Default router로 부터 응답이 없으면, foreign link에 위치하여 있다고 판단하여, DHCP server로 부터 IP를 할당 받는다 - 성공 : 이 IP를 CCOA로 이용하여, Registration 시도 - 실패 : 운용자가 직접 CCOA로 이용할 IP를 입력해 주길 기다린다
2-6. Move Detection Using Lifetimes Agent Advertisement message의 ICMP Router Advertisement 부분의 Lifetime 필드를 이용 Mobile node가 다음 Advertisement message를 수신할 시간을 예상 예상된 시간이 지나도 Advertisement message를 받지 못하면 다른 link로 이동했다고 판단하고 Agent Solicitation message를 보내어 다른 Advertisement message를 받을 준비를 한다 Using Network-prefixes Advertisement message의 Source Address를 저장해놓았다가, 다른 IP Source Address가 들어오면, Mobile node가 이동했다고 판단 - 동일 링크에서 이동한 경우, no registration - 다른 링크로 이동한 경우, registration to Home-agent 같은 링크인지 다른 링크인지는 Agent Advertisement message의 Prefix-Lengths Extension부분을 참조하여 확인 - IF Network-prefix[i] = leftmost Prefix-Length[i] bits of Router Address[i] {same link } - Else { different link }
3-1. Registration Scenarios - 1 Mobile node Registration Request 2 1 FA HA 4 3 Registration Reply 1. Foreign link에 FA가 존재할 경우 FA의 care-of-address 를 이용하여 HA에 등록한다. * COA의 Mobile IP, PMIP 모두 비슷한 망구조임.
3-1. Registration Scenarios - 2 Registration Request 1 Mobile node HA 2 Registration Reply 2. Foreign link에 FA가 없을 경우 단말의 Collocate-care-of-address(CCOA) 이용하여 HA에 등록한다. * CCOA의 Mobile IP, mSCTP, MOBIKE, HIP등은 모두 비슷한 Network 구조로 동작함.
3-1. Registration Scenarios - 3 De-registration Request 1 Mobile node HA 2 De-registration Reply 1. Mobile node가 Home link로 돌아왔을 경우 De-registration 한다.
3-2. Registration Request message Format -1 Vers = 4 IHL Type of Service Total Length IP Header Identification Flags Fragment Offset TTL = 1 Protocol = UDP Header Checksum Source Address Destination Address Source Port Destination Port = 434 UDP Header Length Checksum Type = 1 S B D M G Lifetime r T x Fixed-Length Portion of Registration Request Mobile Node’s Home Address Home Agent Address Care-of Address Identification Mobile-Home Authentication Extension Type = 32 Length Security Parameter … . . . Index (SPI) Authenticator(Default equals Keyed MD5)
3-2. Registration Request Message Format-2 • S bit : *Simultaneous Binding 지원 여부 • B bit : Broadcast packet 전송 여부 • D bit : CCOA이용 (set 0 FA의 COA이용) • M bit : IP in IP 대신 Minimal Encapsulation 사용 • G bit : IP in IP 대신 GRE(Generic Routing Encapsulation) 사용 • r bit : reserved filed (0으로 설정하여 보냄) • T bit : FA의 Reverse Tunneling 요청 여부 • x bit : 0으로 설정하여 보냄 (의미가 없는 filed) • lifetime : 0 de-registration , 0xFFFF infinity • Home Address : 0 dynamic MIP, 0 보다 큰 값 static MIP • Identification : Request와 Reply message의 matching value mobile node와 home agent 간의 replay protection에 사용됨 • * HA의 binding table에 하나의 home address에 여러 개의 COA를 등록하는 것이 가능하다.
3-3. Registration Reply message Format-1 Type = 3 Code Lifetime Fixed-Length Portion of Registration Reply Mobile Node’s Home Address Home Agent Address Identification Request message Format과 Fixed-Length Portion of Registration Request 부분만 다르다.
3-3. Registration Reply message Format-2 Code : Registration Request의 결과 값 0 Registration 성공 1 Registration 성공 1 이상값 실패(자세한 코드 값은 RFC 3220 참조) Home Address : HA가 Mobile Node에 할당하는 Mobile IP 주소
4-1. Packet Routing to and from Mobile Node Host COA FA Router CCOA HA : Original packet : tunneled packet 1. Home Agent 는 mobile node에 대한 reach-ability를 광고한다. 2. Mobile node의 home address로 향하는 packet들을 HA가 intercept한다. 3. HA는 등록된 COA로 tunneling하여 FA로 packet을 보낸다. 4. FA는 de-tunneling 하여 해당 mobile node에 packet을 전달한다.
4-2. Forward & Reverse Tunneling Host Host Home Agent Home Agent tunneling tunneling Mobile Node Mobile Node Foreign link Foreign Agent Foreign link Foreign Agent < Forward Tunneling > < Reverse Tunneling > Mobile node에서 만들어진 packet은 FA를 통해 HA로 tunneling된다. Mobile node에서 만들어진 packet은 FA를 통해 바로 internet으로 전송된다. * MIP나 PMIP이 상용화 된다면 사업자는 Reverse tunneling 방식으로 사용할 가능성이 높다.( 과금 및 가입자 제어 이슈 때문)
4-3. Intercept packet Mobile node의 home address에 대한 reach-ability Advertisement message를 링크의 모든 노드에게 전송한다. Mobile node의 home address로 향하는 packet은 모두 HA로 보내진다. Proxy ARP Host가 mobile node의 link-layer address를 알기 위해 ARP request를 보내면, HA가 proxy 역할을 하여, mobile node대신 HA가 mobile node의 IP home address에 대응되는 link-layer address를 Host에게 보내준다. 따라서 mobile mode로 향하는 packet은 HA로 보내진다.
4-4. Mobile nodes send packet With a Foreign Agent FA에서 보내주는 packet의 source IP address나 Agent advertisement message의 default Router 주소 값을 next hop으로 정하여 그 주소로 packet을 보낸다. Without a Foreign Agent CCOA Mobile IP를 의미하며, advertisement되어지는 router address field의 값으로 packet을 보낸다. Advertisement message가 없을 때는 DHCP로 부터 할당받은 IP 주소를 CCOA로 사용하여 HA에 등록한다.
4-5. Tunneling - 1 Original IP Header Payload New IP Header Vers = 4 IHL Type of Service Total Length Identification Flags Fragment Offset TTL = 1 Protocol = 4 (IP-in-IP) Header Checksum Source Address (tunnel’s end-point) Destination Address (tunnel’s end-point) IP-in-IP Encapsulation Outer IP Header [RFC 2003] < IP-in-IP Encapsulation >
4-5. Tunneling - 2 Original IP Header Payload Modified IP Header Minimal Forwarding Header Protocol reversed Header Checksum S Minimal Forwarding Header [RFC 2004] Original Destination Address (if present) Original Source Address < Minimal Encapsulation >
4-5. Tunneling - 3 Ver Protocol Flags C R S s Recur K Offset (optional) Checksum (optional) Key (optional) Sequence Number (optional) Routing (optional) Original IP Header Payload New IP Header GRE Header GRE Header [RFC 1701] < GRE(Generic Routing Encapsulation) >
5. Example Scenarios –1 • Mobile node’s home address 129.34.78.5 • Mobile node’s home agent 129.34.78.254 • Foreign agent’s wireless address 137.0.0.11 • Foreign agent’s care-of address 9.2.20.11 • DHCP-allocated care-of address 9.2.43.94 • Mobile node’s source port 1094 • Foreign agent’s source port 1105 • Care-of address registration lifetime 60,000 seconds • Home agent-granted lifetime 35,000 seconds
5. Example Scenarios(COA)–2 (Agent Advertisement) HA Agent Advertisement message HOST MN FA IP header fiends ICMP header Router Adv Mobile Service Ext Lifetime = 60,000 COA = 9.2.20.11 S = 137.0.0.11 D = 255.255.255.255 F=1 Type = 9 Code = 16 ……..
5. Example Scenarios(COA) –3(MN FA) HA HOST MN FA SPI = 302 S = 129.34.78.5 D = 137.0.0.11 TTL = 1 Src port = 1094 Des port = 434 Type = 1 Lifetime = 60,000 COA = 9.2.20.11 HA = 129.34.78.254 MA = 129.34.78.5
5. Example Scenarios(COA) –4(FA HA) HA HOST MN FA SPI = 302 S = 9.2.20.11 D = 129.34.78.254 TTL = 64 Src port = 1105 Des port = 434 Type = 1 Lifetime = 60,000 COA = 9.2.20.11 HA = 129.34.78.254 MA = 129.34.78.5
5. Example Scenarios(COA) –5(HA FA) HA HOST MN FA SPI = 302 S = 129.34.78.254 D = 9.2.20.11 TTL = 64 Src port = 434 Des port = 1105 Type = 3 Lifetime = 35,000 HA = 129.34.78.254 MA = 129.34.78.5
5. Example Scenarios(COA) –6(FA MN) HA HOST FA MN SPI = 302 S = 137.0.0.11 D = 129.34.78.5 TTL = 1 Src port = 434 Des port = 1094 Type = 3 Lifetime = 35,000 HA = 129.34.78.254 MA = 129.34.78.5
5. Example Scenarios(CCOA) –7(MN HA) HA HOST MN IP header fiends UDP header Mobile IP message fields Authentication Ext. Type = 1 Lifetime = 65,535 COA = 9.2.43.94 HA = 129.34.78.254 MA = 129.34.78.5 D bit = 1 SPI = 302 S = 9.2.43.94 D = 129.34.78.254 TTL = 64 Src port = 1094 Des port = 434
5. Example Scenarios(CCOA) –8(HA MN) HA HOST MN SPI = 302 S = 129.34.78.254 D = 129.34.78.5 TTL = 64 Src port = 434 Des port = 1094 Type = 3 Lifetime = 35,000 COA = 9.2.43.94 HA = 129.34.78.254 MA = 129.34.78.5
PMIP 개요 PMA Operation: RFC 3344을 지원하며, 예외 사항 - No agent discovery (i.e. agent solicitation and advertisement) is supported - D-bit (De-encapsulation by MN): Registration Request에는 항상 zero로 셋팅 PMA와 HA간의 라우팅 경로의 설정, 유지 및 종료 기능 HA Operation: RFC 3344을 지원하며, 추가 사항 - 다수의 PMA로부터 오는 PRRQ들 간의 Sequencing - PRRQ의 인증(FA-HA AE or IPsec AH/ESP) - “draft-leung-mip4-proxy-mode-09.txt”정의된 Proxy Mobile IPv4 Extensions 수행 Mobile device Operation: Initial Network Access Mobile Device Mobility Sending and Receiving Packet
PMIP Extension PMIP의 Extension: • PMIPv4 Per-Node Authentication Method Extension • - Default: MN-HA Authentication Extension, RFC 3344 • - Extension: FA-HA Authentication, IPSec Authentication • Proxy Mobile IPv4 Interface ID Extension - An identifier of the interface • Proxy Mobile IPv4 Device ID Extension - Ethernet MAC address, Mobile Equipment Identifier (MEID), International Mobile Equipment Identity (IMEI), Electronic Serial Number (ESN) • Proxy Mobile IPv4 Subscriber ID Extension - International Mobile Subscriber Identity (IMSI) • PMIP Access Technology Type Extension • - 802.3, 802.11a/b/g, 802.16e, 802.16m, 3GPP EUTRAN/LTE, 3GPP UTRAN/GERAN, 3GPP2 1xRTT/HRPD, 3GPP2 UMB
Proxy Registration Request (PRRQ) 0 7 8 15 16 23 24 31 * Mobile IP NAI Extension, Revocation Support Extension, Foreign-Home Authentication Extensoion은 mandatory임
Proxy Registration Reply (PRRP) 0 7 8 15 16 23 24 31 * Mobile IP NAI Extension, Revocation Support Extension, Foreign-Home Authentication Extensoion은 mandatory임
Registration Revocation 0 7 8 15 16 23 24 31 * Mobile IP NAI Extension, Foreign-Home Authentication Extensoion은 mandatory임
Registration Revocation Acknowledge 0 7 8 15 16 23 24 31 * Mobile IP NAI Extension, Foreign-Home Authentication Extensoion은 mandatory임
Extensions (I) • Mobile IP NAI Extension • PMIPv4 Per-Node Authentication Method Extension • PMIPv4 Interface ID Extension 0 7 0 7 0 7 • PMIPv4 Device ID Extension • PMIPv4 Subscriber ID Extension • PMIPv4 Access Technology Type Extension 0 7 0 7 0 7