Network/핸드오버2010. 2. 21. 14:34
반응형

1. 개요

FMIPv6(fast handover for MIPv6) 프로토콜은 MIPv6 스택을 가지고 있는 MN이 MIPv6 절차를 수행하는 데 있어 서비스 단절을 최소화하기 위한 방법으로 제안되었다. 이러한 메커니즘이 없다면 MN이 새로 접속하는 지점에서 nCoA(new care of address)를 생성하기 전까지 패킷을 송수신할 수 없게 된다. 이는 VoIP(voice over IP)와 같은 실시간 서비스에 있어 치명적일 수밖에 없다. FMIPv6의 기본적인 개념은 링크 계층에서 핸드오버 이벤트를 예측하거나 응답할 수 있도록 하는 것이다. 이전 액세스 라우터와 새로운 액세스 라우터 사이에 터널링을 형성함으로써 미리 MIP 등록절차를 HA나 CN으로 제공하는 것이 가능하다. 이는 MN이 새로운 AP나 라우터에 연결하자마자 바로 데이터 전송이 가능하도록 함으로써 끊김없는 세션이 가능하도록 한다. 따라서 VoIP와 같은 실시간 서비스가 MIP 등록절차 완료될 때까지 지체되는 일이 없도록 할 수 있다. 본 문서에서는 IEEE 802.11 기반에서 FMIPv6 적용을 여러 시나리오를 통해 설명한다. 이를 위해 IEEE 802.11에 대해 간략히 소개하고, FMIPv6 기본 절차에 대해 설명하며 IEEE 802.11 기반의 FMIPv6 적용 시나리오를 크게 세가지로 구분하여 각 시나리오에 따른 메시지 절차에 대해 설명한다.

 

2. IEEE 802.11에서 FMIPv6

2.1. 용어

다음은 802.11에서 사용되는 용어를 정리한 것이며 그림 1은 IEEE 802.11 무선랜의 구조를 나타낸 것이다.

• AP : Access point의 약자로 association을 맺은 STA(station)에 distribution 서비스를 제공하는 엔티티를 말한다.

• Association : AP와 STA 간에 설립된 서비스를 말하며 DS(distribution service)로 STA 접속을 가능하게 한다.

• BSS : Basic service set의 약자로 하나의 coordination 기능에 의해 제어되는 STA 집합을 말한다. 여기서 coordination 기능은 하나의 AP로 중앙집중식 혹은 애드혹 네트워크처럼 분산화시키게 된다.

• DS : Distribution system의 약자로 ESS(extended service set) 생성을 위해 BSS와 LAN을 연결시키는 시스템을 말한다.

• ESS : Extended service set의 약자로 하나 이상 연결된 BSS와 LAN을 연결한 집합을 말한다. ESS는 DS에 의해 연결된 여러 AP로 구성될 수 있다. 이는 하나 이상의 IP 서브넷을 구성할 수 있다.

• STA : Station의 약자로 IEEE 802.11 MAC, PHY 인터페이스를 가진 디바이스를 말한다.

 

  그림 1. IEEE 802.11 무선 LAN 구조

2.2. IEEE 802.11에서 MIPv6를 위한 구조

이번 소절에서는 AP, AR(access router), 그리고 IP 서브넷에 대해 살펴본다. IEEE 802.11에는 infrastructure 모드와 ad-hoc 모드 두 가지가 존재하는데 본 문서에서는 infrastructure 모드를 기준으로 설명한다. 일반적으로 STA는 하나의 AP와 association을 맺게 된다. 그러나 실제 구현 시에는 하나가 아닌 여러 AP와 association 과정을 맺을 수 있다. 액세스 기술에 관계없이 핸드오버는 AR나 서브넷의 변화없이도 가능하다. 그림 2는 두 개의 서브넷으로 구성된 802.11의 네트워크 구조를 나타내고 있다. 각 서브넷은 세 개의 AR와 다섯 개의 AP로 구성되어 있다. 그림에서 AP들은 일종의 릴레이로 동작을 하게 되며 802.11 프레임이 무선구간과 서브넷 구간 사이를 지나가게 된다. AP들은 일반적으로 특정 spanning tree 알고리즘을 사용하지 않으나 모든 트래픽을 릴레이하는 단순한 브릿지보다는 더 많은 기능을 가지고 있다. 특정 AP와 association 과정을 맺은 STA로 향하는 프레임만 전송하게 된다. 각 서브넷은 하나의 LAN 혹은 VLAN의 최상단에 존재하게 되며 그림 1에서 AP6-10은 서브넷 1과 VLAN으로 연결될 수 없다고 가정한다. AP1에서 AP2로 핸드오버하는 것은 AR의 변화가 필요없다. 이유는 모든 세 개의 AR가 AP1-5에 연결된 어떠한 STA로부터도 접속 가능한 같은 링크내에 속하기 때문이다. 그러므로 AP1에서 AP2로 핸드오버하는 것은 IP 계층의 핸드오버를 필요로 하지 않는다. 하지만 AP5에서 AP6으로 핸드오버하는 것은 AR의 변화를 필요로 하며 IP 계층의 핸드오버를 수반하게 된다. 그림 3은 각 AP가 하나의 AR에 통합된 802.11 네트워크 구조를 나타낸다. 이런 경우 AP의 모든 변화는 필연적으로 AR의 변화를 가져온다. 이러한 구조에서 AR는 AP와 링크 계층 식별자를 공유할 수 있게 된다.

 

그림 2. 두 개의 서브넷으로 구성된 802.11 네트워크 구조



  그림 3. AR과 AP가 통합된 802.11 네트워크 구조

2.3. IEEE 802.11에서의 핸드오버 절차 및 특징

IEEE 802.11에서 핸드오버는 STA가 현재의 association을 다른 AP로 이동시킬 때 발생한다. 즉, STA가 다른 AP로 이동하게 될 때 수반되는데 그 과정은 다음과 같으며 그림 4는 IEEE 802.11에서의 핸드오버 절차를 나타낸 것이다.

1. STA는 현재의 AP에 접속된 상태에서 RSSI(received signal strength indication)가 점점 약해지는 것을 통해 새로운 AP로의 핸드오버가 필요하다는 것을 알게 된다.

2. STA는 주변에 있는 AP들을 스캐닝하여 각 AP의 링크 정보(ex> RSSI)를 알게 된다.

3. STA는 이 중 하나의 AP를 선택하여 해당 AP와 물리 및 링크 계층 타이밍 등의 동기화 과정을 수행하고 연결을 맺는다.

4. STA는 새로운 AP로 authentication을 요청한다.

5. STA는 인증 절차를 거친 후, 새로운 AP와 re-association을 요청한다. 이 때 re-association 요청은 이전 AP의 MAC 주소를 포함한다.

6. 만약 MAC security enhancement 표준인 802.11i의 절차가 수행되어야 한다면, STA와 AP는 새로 맺은 re-association을 인증하기 위해 IEEE 802.1X EAP-on-LAN(EAPOL : extensible authentication protocol over LAN) 절차를 수행해야 한다.

7. 새로운 AP가 이더넷 브릿지의 테이블 업데이트를 위해 링크 계층 업데이트 프레임(Layer 2 update frame)을 전송한다. 이 프레임은 STA가 새롭게 association 한 후의 MAC 주소와 같은 MAC source 주소를 이용해 전송된다. 이 프레임을 수신한 AP나 브릿지 등의 layer-2 디바이스들은 STA의 새로운 위치를 업데이트한다.

 

 

그림 4. 802.11에서의 핸드오버 절차




1~2번 절차는 현재의 AP 무선 상태가 좋지 않을 때 이웃한 AP들을 스캐닝하는 단계이다. 이러한 절차는 만약 AP의 상태가 불안정하다면, 일반 데이터 전송을 같이 수행하는 STA가 데이터 수신 및 핸드오버를 수행하는 데 영향을 줄 수 있다. STA가 스캐닝 과정을 거치기에 앞서 전력 절약 모드(power-save mode)로 진입하기 때문이다. 이는 패킷 손실을 유발시킬 수 있고, 전력 절약 모드 동안에 수신한 패킷들을 저장한 버퍼에서의 패킷 손실을 가져올 수 있다. 3번 절차는 STA가 여러 AP 중에서 가장 수신율이 좋고 전송속도를 높일 수 있는 AP를 선택하는 단계이며 링크 상태는 예측 불가능한 것이기에 이 단계에서 선택한 AP가 최적의 AP라고 할 수는 없다.

802.11을 실제로 구현하는 데 있어 실시간 트래픽과 같은 어플리케이션을 송수신할 경우, 스캐닝 과정인 2번의 절차를 가장 먼저 수행할 수도 있다. 이는 핸드오버 지연시간을 상당히 줄일 수 있다. 그러나 이러한 스캐닝 과정을 너무 오랫동안 수행하게 되면 STA의 전원 소모를 가져오고 불필요하게 오랫동안 수행했던 스캐닝 정보는 쓸모없게 된다. 그래서 STA는 이전에 스캐닝을 했던 시점을 고려하여 스캐닝 과정을 선택할 수 있다.

비록 2~3번 절차가 빠르게 수행 가능하다고 할지라도 2번 절차를 수행하는 동안 발견된 새로운 AP가 3번 절차를 수행하는 동안 이용 가능할 것이라는 것을 보장할 수는 없다. 이유는 무선 환경에서의 조건이 시시각각으로 변할 수 있기 때문이다. 이후 STA는 완전히 다른 AP와 association 과정을 맺을 수도 있는 것이다. 종종 이러한 핸드오버 결정은 실제로 구현했을 시에도 나타난다. 그러나 호스트 AP 드라이버와 같은 툴들은 언제 어떤 AP와 association 과정을 맺을 것인지에 대한 선택을 할 수 있도록 제공하고 있다.

한 AP의 커버리지를 포함하는 지역은 BSS(basic service set)이라고 알려져 있다. 그리고 여러 AP들이 존재하여 동일한 ESSID를 가지게 되면서 ESS(extended service set)는 형성된다. STA는 이전 AP와 새로운 AP의 ESSID가 동일한 경우에만 re-association을 수행하게 된다. ESS 내에서 BSS의 변화는 IP 계층 핸드오버를 필요로 할 수도 있고, 필요하지 않을 수도 있다. 이는 데이터를 현재의 AP 주소와 동일한 IP 서브넷으로 전송하는 지 여부에 달려있다. 만약 IP 계층 핸드오버가 필요하다면 FMIPv6는 핸드오버에 소요되는 전체 지연시간을 줄일 수 있다. 다음 절에서는 802.11에서 수행되는 FMIPv6에서의 메시지 교환과 핸드오버 시나리오에 대해서 살펴본다.

 

2.4. FMIPv6 메시지 교환

FMIPv6는 일반적으로 proactive 방식의 핸드오버를 거치며 그림 5와 같은 메시지 절차를 통해 핸드오버를 수행한다. MN은 만약 핸드오버가 예상치 못하게 발생했을 경우, FBU(fast binding update)를 전송하기 전에 NAR로 연결될 수도 있다. 이러한 경우는 reactive 방식의 핸드오버가 수행되며 FNA는 FBU를 포함할 수 있으며 HI, HAck, FBack 등의 메시지도 포함될 수 있다.

1. MN은 이웃한 AR(access router)를 발견하기 위해 RtSolPr(router solicitation for proxy) 메시지를 통해 전송한다.

2. MN은 AP-ID, AR-info 등의 정보를 가지고 있는 PrRtAdv(proxy router advertisement) 메시지를 수신한다.

3. MN은 FBU(fast binding update) 메시지를 PAR(previous access router)로 전송한다.

4. PAR은 HI(handover initiate) 메시지를 NAR(new access router)로 전송한다.

5. NAR은 HAck(handover acknowledge) 메시지를 PAR로 전송한다.

6. PAR은 FBack(fast binding acknowledgement) 메시지를 MS로 전송한다. FBack은 만약 FBU가 이전 링크로부터 전송되었다면 이전 링크 상으로 전송할 수 있다.

7. MN은 NAR로 접속한 이후 FNA(fast neighbor advertisement) 메시지를 NAR로 전송한다.

 

그림 5. FMIPv6 핸드오버 절차




2.5. Beacon 메시지 스캐닝과 NAR 발견

RtSolPr 메시지는 하나 혹은 그 이상의 AP와 연결된 라우터에 대한 정보를 요청하게 된다. AP들은 RtSolPr 메시지 내에 있는 New Access Point Link-Layer Address Option에 나타낼 수 있으며, association을 맺은 IP 계층 정보는 PrRtAdv 메시지의 IP Address Option에 포함된다. 802.11에서 링크 계층 주소는 AP의 BSSID와 같을 수 있다. 2.3절에서 설명한 802.11 핸드오버 절차 중 2번 절차인 beacon 스캐닝 과정은 RSSI를 통해 주변에 이용가능한 AP의 리스트를 생성한다. 이러한 AP 리스트는 RtSolPr 메시지에 있는 New Access Point Link-Layer Address Option을 위해 필요한 주소를 제공한다. 이러한 이웃한 AP 리스트를 획득하기 위해 STA는 MLME-SCAN.request primitive를 불러올 필요가 있다. BSSID는 이 MLME-SCAN.request primitive를 통해 받은 AP들의 링크 계층 주소가 된다.

Beacon 메시지 스캐닝 과정은 수백 ms가 소요되고 이 시간 동안 STA가 IP 패킷을 송수신하는 것은 불가능하기 때문에, STA는 이 스캐닝 과정을 스케줄링할 필요가 있으며 이를 통해 실시간 서비스와 같은 데이터 패킷의 손실을 최소화할 수 있어야 한다. 예를 들어, 스캐닝 과정은 MN이 실시간 서비스 데이터 패킷을 수신하기 전에 네트워크에 접속한 시점에 수행하는 방법이 가능하다. 그러나 만약 스캐닝하는 시점과 핸드오버하는 시점 간의 간격이 너무 길다면 문제가 될 수 있다. 예를 들어, 이웃한 AP들로부터의 신호 세기가 갑작스럽게 변한다면 오래된 리스트로부터 최적의 AP를 찾아 핸드오버를 수행하는 것이 불가능할 수도 있다. IEEE 802.11k 태스크 그룹에서는 beacon 스캐닝 과정이 데이터 송수신과 함께 진행될 수 있도록 AP에서 버퍼링하는 기법을 도입하여 패킷 손실을 최소화할 수 있도록 하였다.

이웃한 AP들의 정보는 신호 세기와 같은 물리 계층 파라미터 외에도 RtSolPr 메시지를 통해 얻을 수 있다. 이는 현재 액세스 라우터가 이웃한 AP들의 리스트를 수신 가능하게 하고, 현재 AP에서 진행중인 데이터 통신을 방해하지 않는다. RtSolPr과 같은 요청 메시지는 MN이 액세스 라우터로 처음 진입했을 시에 전송이 되며 이후에 주기적으로 전송된다. 이는 MN이 AP-ID, AR-Info 와 같은 정보를 얻을 수 있도록 하며 무선 환경이 바뀌어 핸드오버가 필요할 경우 빠르게 반응할 수 있도록 한다. 그러나 이러한 정보는 실시간으로 신호 세기를 반영하는 것이 아니기 때문에 MN이 핸드오버를 수행하기 이전에 정확하게 다음 AP를 예측할 수는 없다. 또한, 만약 STA가 현재 접속한 네트워크의 액세스 라우터에 많은 AP가 존재한다면 PrRtAdv 메시지 안에 모든 AP들을 포함시키지 못한다.

Beacon 메시지는 모든 802.11 채널에서 반복적으로 수행되기에 beacon 메시지를 스캐닝하는데 걸리는 시간은 중요하다. 이처럼 모든 채널에서 beacon 메시지를 전송하지 않고 실시간 데이터를 전송하는 일부 채널에 있어서 선택적으로 스캐닝 절차를 수행할 수 있다면 더 빠른 핸드오버와 적은 패킷 손실을 가져올 수 있다. 이러한 사항은 802.11 스펙에서 자세히 정의하지 않고 있다.

 

2.6. 802.11에서의 FMIPv6 시나리오

본 소절에서는 802.11 절차에 있어 FMIPv6를 적용 가능한 세 가지 시나리오에 대해 설명한다. 기본적인 절차는 MN이 스캐닝을 수행한 후, NAR 정보를 얻기 위해 FMIPv6 메시지 절차를 수행한다. 이후 BU(binding update)를 수행하고 PAR이 HI 및 HAck 메시지 교환을 수행한 후 MN이 FNA를 NAR로 전송하면 802.11 핸드오버는 완료된다.

 

2.6.1. 첫 번째 시나리오

첫 번째 시나리오는 그림 6과 같은 메시지 절차를 거치는 FMIPv6 predictive 핸드오버 모드이다. 이 시나리오에서 STA는 핸드오버 이전에 스캐닝과 FBU 전송을 수행할 수 있다. FNA 메시지만 핸드오버 이후에 수행된다. 이 시나리오 동작은 L2 메시지인 스캐닝과 L3 메시지인 RtsolPr, PrRtAdv, FBU, HI, HACK, FBack 메시지 동작이 STA 제어 하에 개별적으로 수행될 수 있는 것이 장점이다. 핸드오버를 수행하기 이전에 Probe request/response 메시지와 RtSolPr/PrRtAdv 메시지 절차를 수행할 수 있기 때문에 beacon 메시지를 통한 스캐닝 절차에 있어 서비스가 단절되는 시간을 최소화할 수 있다. 하지만 RtSolPr/PrRtAdv 메시지 절차 수행이 더디게 될 시 패킷 손실을 유발할 수 있다. 또한, 만약 스캐닝과 핸드오버 절차 사이의 시간 간격이 벌어지게 된다면 FBU 메시지는 본래의 구실을 할 수 없게 된다. 이러한 predictive 방식의 핸드오버를 수행하는 데 있어 MN이 항상 FBU를 보낸 후 새로운 AP로 접속하는 것을 보장할 수는 없다. 이유는 AP의 무선 자원이 항상 할당 가능한 상태는 될 수 없으며 NAR로 접속이 불가능하기 때문이다. 이러할 경우 핸드오버 절차는 reactive 방식으로 핸드오버를 수행하게 된다.

 

그림 6. 802.11에서의 FMIPv6 적용을 위한 첫 번째 시나리오



2.6.2. 두 번째 시나리오

두 번째 시나리오는 그림 7과 같이 FMIPv6 reactive 핸드오버 모드로서 predictive 모드로 핸드오버를 수행하던 MN이 패킷 손실, 무선 자원 한계 등의 문제가 발생했을 경우 수행되는 핸드오버 절차이다. 이 시나리오에서는 MN이 핸드오버를 위해 NAR의 링크 계층 주소를 획득할 필요가 있다. 이는 RtSolPr/PrRtAdv 메시지 절차를 통해 얻게 되며 이로써 MN이 새로운 서브넷으로 핸드오버를 완료한 후 FBU를 캡슐화한 FNA 메시지를 전송할 수 있게 된다.

 

    그림 7. 802.11에서의 FMIPv6 적용을 위한 두 번째 시나리오

2.6.3. 세 번째 시나리오

세 번째 시나리오는 그림 8과 같이 MN이 핸드오버를 수행하기 이전에 NAR에 대한 어떠한 정보도 얻지 못했을 경우이다. 이 시나리오는 철저히 reactive 방식의 핸드오버 절차가 수행되며 L2 핸드오버 절차 수행을 완료한 이후 L3 핸드오버 절차가 수행된다. 이후 FBU를 캡슐화한 FNA 메시지를 NAR로 전송함으로써 핸드오버 절차 수행이 완료된다. 이 시나리오는 핸드오버 수행하기 이전에 NAR의 링크 계층 정보를 알 수 없을 때 적절한 시나리오이다. 예를 들어 MN이 핸드오버 수행하기 이전에 스캐닝 절차를 수행할 수 없을 때와 같은 경우이다. 반면 NAR의 링크 계층 정보를 임의의 다른 수단을 통해서 인지한 경우는 RA나 RS 메시지 절차를 거치지 않고 핸드오버를 수행할 수 있다. 예를 들어 AP가 AR의 역할을 하는 경우 가능할 수 있다. 따라서 AP가 AR의 역할을 하는 네트워크 내에서 MN이 핸드오버를 수행하고자 할 때는 이러한 정보를 MN이 인지하고 있어야 한다.

 

그림 8. 802.11에서의 FMIPv6 적용을 위한 세 번째 시나리오



2.7. 보안 고려사항

FMIPv6 스펙에서 요구하고 있는 보안 고려사항이 적용된다. 특히 PAR은 사용자 트래픽을 전송하기 전에 FBU 메시지에 대한 사용자 인증을 수행해야만 한다. 만약 이러한 새로운 AP의 association 절차 수행에 있어 이러한 상호간 인증절차는 보호되지 않는다면 임의의 AP가 MN에게 FBU를 PAR로 전송할 수 있기에 이는 반드시 필요한 사항이다. 또한, 악의를 가진 노드에 의해서 layer-2 update frame이 전송된다면 사용자 트래픽이 다른 노드로 redirect되어 서비스 단절을 가져올 수 있다.

 

반응형
Posted by pmj0403