본문

RFC5949 : Fast Handovers for Proxy Mobile IPv6 #2. 절차

프로토콜 동작 설명

FMIPv6에는 두가지 동작 모드가 존재한다. predictive 모드에서는 양방향 터널이 nMAG에 MN이 진입하기 전에 설립된다. reactive모드에서는 이 터널이 nMAG에 진입한 후에 설립된다. MN의 핸드오버 과정에서 일어나는 패킷유실(특히 양쪽 모두로부터 끊어진 시점에서)을 최소화하기 위하여, MN 으로 향하는 패킷은 패킷 포워딩이 수행되는 시점에 따라 pMAG, nMAG에서 버퍼링되어야 한다. 따라서 MN이 접속하는 모든 MAG은, MN을 위한 패킷을 저장할 충분한 공간의 버퍼를 가지고 있어야 한다. 버퍼의 크기와 버퍼를 비울 시점에 대한 사항은 RFC5568의 Section 5.4에 기재되어 있다. 단, 문서에 작성된 프로토코의 작동에 대한 상헤는 LMA에 투명하기 때문에 LMA이 변경될 필요는 없다.


MIPv6과 다르게, PMIPv6 도메인 내에서의 MN은 IP 이동성 신호와는 관련이 없다. 따라서, predictive fast 핸드오버가 효과적으로 동작하기 위하여, MN이 하위 계층의 정보를 충분히 짧은 간격으로 AN에게 전달 할 수 있는 능력이 필요하며, 또한 AN은 핸드오버의 발생을 pMAG에게 적절한 타이밍으로 보낼 수 있어야 한다. [그림 2]에 predictive 모드에서의 순서가 나타나 있다.



[그림 2] Proactive Fast Handover for PMIPv6의 과정


절차 (각 사항은 해당 기술에 한정적이며, 따라서 이 문서에서는 다루지 않는다):

(a). MN은 핸드오버가 곧 다가온다는 사실을 알아채고 자신의 MN-ID와 (MN이 이동할)nAP-ID를 보고한다. MN-ID는 NAI, 링크 계층 주소, 혹은 다른 ID가 될 수 있지만, MAG은 이 주소를 MN-ID로서 NAI에 매핑시킬 수 있어야 한다. 몇몇 경우엔,pAN이 nAP-ID를 결정해줄 수 있다. .

(b). MN이 현재 위치한 pAN는 MN의 핸드오버를, MN-ID와 nAP-ID의 정보를 가지고 pMAG에 전달한다. 

(c). RFC5568에서의 [AP-ID, AR-Info] 튜플을 만드는것과 비슷한 과정을 통하여, pMAG은 nAP-ID로부터 nMAG의 정보를 얻는다. pMAG은 HI메시지를 nMAG으로 전송한다. HI메시지의 P플래그가 설정되고 MN-ID와 HNP, 현재 MN이 위치한 지역 이동성 anchor의 주소가 기재되어야 한다 만약 링크 계층 MN-ID가 유효하다면 이 또한 기재되어야 한다. MN의 Link-local Address ID또한 기재될 수 있다. 

(d). nMAG은 p플래그가 설정된,HAck메시지를 pMAG에게 되돌려준다. 

(e). (c) 과정 이후에 버퍼링 또는 포워딩 하길 원하는 경우, nMAG은 pMAG에 향하는 HI 메시지의 U 혹은 F 플래그를 사용하여, 각각 그 이후에, 혹은 적당한 시점에 버퍼링/포워딩 하도록 설정할 수 있다..

(f). 만약 F 플래그가 이전 과정에서 설정되었다면, 양방향 터널이 pMAG과 nMAG사이에 설정되고, MN을 향하는 패킷은 이 터널을 통해 pMAG에서 nMAG으로 전송된다 decapsulation이후 패킷들은 nMAG에서 버퍼링될 수 있다. 만약 nAN과 nMAG이 이미 설정되어 있는 경우라면, 이 패킷들은 nAN에 포워딩된다.

(g). 네트워크측에서 핸드오버가 준비되면, MN의 nAN으로의 핸드오버가 시작된다. 

(h). MN은 nAN으로 물리계층에서 접속이 이루어지고, 이는 (성립되어있지 않다면) nAN과 nMAG간의 링크계층 연결을 성립시킨다. IP계층의 연결설정이 이때 (ex, PPP IPv6 Control Protocol) 혹은 이후에(ex, statueful/stateless address autoconfiguration)이루어질 수 있다. 이 과정은 RFC5568의 Unsolicitated Neighbor Advertisement(UNA)의 과정을 대체한다. 만약 nMAG이 유효한 새로운 링크 계층 MN-ID를 nAN을 통해서 얻게되고 유효한 이전의 링크 계층 MM-ID를 (c)과정을 통하여 pMAG에서 얻을 수 있게 된다면, 이 ID들은 핸드오버 이전과 이후에 동일한 인터페이스를 가지는지 확인하기 위해 비교되어야 한다. MN과 nMAG가 PPP로 연결되고 동일한 인터페이스를 통해 핸드오버가 이루어진다면, nMAG은 동일한 인터페이스 식별자가 MN의 link-local 주소((c)단계에서 pMAG으로부터로 전송되어 Configure-Request/Ack 교환단계에서 MN으로 보내진다)인지 확인해야한다.

(i). nMAG은 MN으로 향하는 패킷을 nAN으로 포워딩한다.

(j). MN에서 나오는 패킷들은 nAN을 거쳐 nMAG으로 전송되고, nMAG은 이것을 pMAG으로 포워딩한다. pMAG은 이것을 MN이 현재 연결된 LMA로 보낸다.

(k). nMAG은 (c)에서의 정보를 활용하여 PBU를 LMA로 보낸다.(k)와 (l)은 fast 핸드오버에 속하는 과정은 아니지만 참고를 위해 삽입되었다.

(l). LMA는 PBAck를 nMAG으로 전송한다. 이 시점부터, MN으로 오고가는 패킷들은 pMAG대신 nMAG을 통하여 전송이 이루어진다.


RFC5568의 Section 4에 따르면, pMAG은 pCoA와 nCoA를 바인딩 하여 MN으로 향하는 패킷들을 nMAG으로 보내게 하고, nMAG은 MN이 진입하기 전에 nCoA로 향하는 패킷의 수신을 위해 proxy neighbor cache entry를 생성한다. 하지만 PMIPv6에서 MN가 사용하는 단 하나의 주소는 MN의 HoA이기 때문에, pMAG은 MN의 패킷을 NCoA대신 nMAG으로 포워딩한다. nMAG은 이 패킷들을 decapsulate하여 이들을 MN으로 보낸다. FMIPv4[RFC4998]은 MN이 CoA대신 HoA로 자신의 연결 주소로 사용할 때의 포워딩에 대해 정의한다. PMIPv6의 사용은 MN이 사용하는 주소가 HNP에 기반하고 있다는 사실에서, FMIPv4의 것과 비슷하다. nMAG이 링크계층 주소(MN의 LL-ID)와 HNP를(가능한 경우 MN의 link-local 주소의 interface identifier(LLA-ID) 또한) MN이 Neighbor Discovery(ND) 과정이 발생하기 이전에, HI 메시지를 통해 얻을 수 있기 때문에, link-local 주소를 위한 negithbor cache entry를 생성할 수 있고, 전체 HNP를 위한 경로도 만들 수 있다. (j)과정 이후의 MN에서 발신하는 패킷에 대해, nMAG은 이 패킷들을 (f)과정에서 설립된 터널을 통하여 pMAG으로 전송할 수 있다. PMAG은 이것을 decapsulate하고 이를 LMA로 보낸다.


패킷 포워딩에서의 문맥 이동(context transfer)의 시점은 다를 수 있다.따라서, HI, HAck메시지 내의 F 플래그와 Option Code값이 포워딩을 요청하기 위해 정의되었다. 버퍼링을 요청하기 위한 사항은 RFC5568에 이미 U 플래그로서 정의되었다. 만약 pMAG이 F 플래그가 설정된 HI메시지를 받는다면 MN을 위하여 패킷을 포워딩하기 시작한다. U 플래그가 설정된 HI메시지는 버퍼링의 시점이 포워딩의 시점이 다를 경우에는 이보다 일찍 보내질 수 있다. 만약 패킷 포워딩이 완료되었다면 pMAG은 F 플래그가 섲렁되고 Option Code값이 2로 설정된 HI값을 보낼 수 있다. 이 메시지를 통하여 양단의 AR들은 동기적으로 포워딩 터널을 끊을 수 있다. 



[그림 3] Reactive Fast Handover for PMIPv6의 과정


(a). MN은 pAN에서 nAN으로 핸드오버를 실행한다.

(b). MN은 nAN과 연결을 수립하고 이로서 nAN과 nMAG간의 연결이 수립된다. 이후의 과정을 위하여 이시점에서 MN-ID는 nMAG으로 전송된다. MN에 의해서든, nAN에 의해서든, 이전 연결에서의 AP-ID또한 역시 nMAG으로 전송되어 새 연결에서 pMAG을 식별할 수 있도록 한다. 이것은 UNA와 FBU 과정을 대체하는 과정으로 생각할 수 있다.

(c). nMAG은 HI메시지를 pMAG으로 보낸다. HI 메시지는 P플래그가 설정되고 MN-ID또한 포함되어야 한다. Context Request 옵션이 사용되어 MN에 대한 추가적인 문맥정보를 요청할 수도 있다. 

(d). pMAG은 P 플래그가 설정된 HAck 메시지를 nMAG으로 전송한다 HAck 메시지는 HNP와 HI메시지 내의 MN-ID에 대응하는 IPv4-MN-HoA 를 포함해야 하며, (유효한 경우)MN의 LL-ID, 그리고 현재 MN과 연계된 LMA주소를 포함해야 한다. nMAG에 의해 요청되는 context information은 반드시 포함되어야 한다. 만약 어떠한 이유때문에 요청된 context가 사용가능하지 않다면, pMAG은 HAck메시지에 Code값을 131으로 설정하여 되돌려주어야 한다. 만약 (c)단계에서 F 플래그가 HI메시지에 설정이 되고 포워딩이 어떠한 이유에서간에 수행가능하지 않는다면, pMAG은 HAck메시지의 Code값을 132로 설정하여 되돌려주어야 한다.

(e). 만약 HI메시지의 F 플래그가 (c)단계에서 설정되었다면, 양방향 터널이 pMAG과 nMAG사이에 수립되고, 이 터널을 통하여 MN을 향하는 패킷들은 pMAG에서 nMAG으로 전송된다. decapsulation이후에, 이 패킷들은 nAN을 통하여 MN으로 전달된다.

(f). MN에서 보내지는 패킷은 nAN을 통하여 nMAG으로 보내지고, nMAG은 이것을 pMAG으로 포워딩한다. pMAG은 이 패킷을 현재 MN과 연계된 LMA으로 보낸다 

(g)~(h)사이의 과정은 predictive에서의 (k)~(l) 과정과 동일하다. 


(c) 과정에서, pMAG의 IP 주소는 nMAG에 의해 풀이되어 HI 메시지가 pMAG에 보내지도록 한다. 이 정보는 nAN이나 nMAG이 접근할 수 있는 데이터베이스에 접근하여 얻을 수 있다.


더 빠른 패킷 전송

이 문서에서 기록된 프로토콜은 오직 LMA와 통신하여 얻을 수밖에 없는 정보들을 nMAG이 얻을 수 있도록 한다. 예를 들어, HNP와 MN의 IPv4-MN-HoA는 context transfer 과정을 통하여 nMAG에서 이용가능할 수 있다. 이것은 nMAG에 유리한 동갖을 수행할 수 있도록 해준다 예를들어 MN이 망에 진입 하게 되면(RS 메시지 등을 통하여) nMAG은 prefix 정보를 가진 RA를 MN에 보내야 한다. 예를 들자면, MN이 새로운 인터페이스를 사용하여 nMAG으로 진입하는 경우에, 이러한 RA의 사용이 권장된다; MN이 새로운 인터페이스에 대한 정보를 갖지고 있지 않기 때문에, HNP의 정보를 담은 RA를 받지 않는 이상 패킷을 바로 전송할 수 는 없을 것이다. 특히 reactive fast 핸드오버인 경우, nMAG은 [그림 3]의 (d)과정에서 이전 링크에 위치한 MN에 할당된 HNP에 대해 알아야 한다. 연결 두절 시간을 줄이기 위해서, nMAG은, MN이 기존과 동일한 HNP를 계속 사용한다고 가정할수 있을 것이고, 이 과정 이전에 패킷을 전송하리라고 가정할 수 있을 것이다. 하지만, 만약 pMAG으로 부터의 HAck 메시지가 다른 HNP를 반환하거나 이후의 HNP를 위한 PMIPv6 바인딩 등록이 어떠한 이유에서 실패하게 된다면, nMAG은 RA에 해당 HNP에 대한 lifetime을 0으로 하여 보냄으로서, 광고된 HNP를 포기해야 한다. 이 과정은 RFC 5213의 Section 6.12에 기술된 바와 같다.


이 문서에서 제시된 프로토콜은, 링크계층 주소가 MN과 MAG사이에 사용되었는지에 상관하지 않고 적용가능하다. MN은 연결이 변경되더라도 패킷을 송신할 수 있어야 한다. 링크 계층 주소가 사용된다면, 새로운 링크에 접속한 후 기본 라우터의 도달가능성을 확인하기 위해 MN은 Neighbor Unreachability Detection(NUD) [RFC4861] 을 사용한다. 새로운 라우터는 NUD 탐색에 응답해야 하며, 이때 자신의 링크 계층 주소를 (PMIPv6에서는 일반적인)solicitated NA를 통해 전송해야 한다. MN이 NUD를 실행하는 도중에도 패킷을 발신할 수 있도록 구현되어야 한다.

댓글

Holic Spirit :: Tistory Edition

design by tokiidesu. powerd by kakao.