2011년 4월 9일 토요일

[RFC3775] Mobility Support in IPv6

IETF RFC 3775               Mobility Support in IPv6(MIPv6)

0. 3계층 연결성을 제공하기 위한 Mobile IPv6 (MIPv6) 
MIPv6는 3계층에서 이동 노드에게 이동성을 제공하는 기술이다. MIPv6의 기본 동작은 단말이 외부 네트워크로 이동하였을 때, 외부 네트워크에서 사용할 임시 IPv6 주소인 Care-of Address (CoA)를 생성한다. 이동 노드는 자신의 홈 네트워크에 존재하는 라우터인 홈 에이전트 (Home Agent, HA)에게 CoA를 등록하는 방식이다. 이동 노드가 이동하면서 바뀌는 CoA로 3 계층 연결을 유지하고 이동 노드의 영구적인 IPv6 주소인 Home Address (HoA)로 상위 계층의 연결을 유지하는 개념이다. 이동 노드가 네트워크를 이동하면서 바뀌는 CoA와 HoA를 자신의 홈 네트워크에 존재하는 HA에게 등록하고 HA가 이 주소들을 유지 및 갱신함으로써 이동 노드에게 이동에 관계없는 연결성을 제공한다. 주요 객체와 동작 과정은 다음과 같다.

1 MIPv6 프로토콜의 주요 객체 

MIPv6 프로토콜의 주요 객체는 다음과 같이 세 가지로 구분된다. 
? 이동 노드 (Mobile Node, MN) MIPv6 프로토콜을 지원하는 호스트나 라우터로써, 네트워크를 이동할 수 있는 노드를 의미한다. 이동 노드는 홈 네트워크에서 자신의 영구적인 IPv6 주소인 HoA를 얻으며, 방문한 외부 네트워크에서 CoA를 생성한다. 3계층 연결을 유지하기 위하여 이동 노드는 자신의 HA에게 HoA와 CoA를 등록하여야 한다.
홈 에이전트 (Home Agent, HA) 
이동 노드의 홈 네트워크에 존재하는 라우터로써, 이동 노드의 HoA와 CoA에 대한 바인딩을 유지 및 관리한다. 이동 노드가 홈 네트워크를 떠나 외부 네트워크로 이동하였을 때, 홈 에이전트는 이동 노드의 HoA로 향하는 모든 패킷들을 이동 노드를 대신하여 가로채고 이동 노드의 현재 위치인 CoA로 전달해주는 역할을 수행한다.  

? 상대 노드 (Correspondent Node, CN) 이동 노드와 통신 중인 상대 노드로써, 이동 노드 또는 정적인 호스트나 라우터이다.

2 Mobile IPv6의 기본 동작 

MIPv6에서 이동 노드가 홈 네트워크에서 외부 네트워크로 이동하였을 경우, 이동 노드는 자신이 현재 외부 네트워크로 이동하였음을 탐지한다. 이동 탐지(Movement Detection)은 이동 노드가 3계층 핸드오버를 탐지하는 것이다. 기존 액세스 라우터와의 연결이 끊겼음을 탐지하거나, 새로운 액세스 라우터로부터 광고 메시지를 수신하였을 경우 이동 노드는 3계층 핸드오버를 탐지하게 된다. 

이동 단말이 3계층 핸드오버를 탐지하였을 때, 이동 노드는 새로운 액세스 라우터의 프리픽스(Prefix)정보를 사용하여 새로운 서브넷에서 사용할 CoA를 생성한다. CoA를 생성하는 방법은 Stateful Address Autoconfiguration 방법과 Stateless Address Autoconfiguration 방법이 있다. 이러한 과정을 주소 설정(IP Address Configuration)이라고 한다.
이동 노드가 CoA를 생성한 뒤, 자신의 홈 네트워크에 있는 HA에게 자신의 새로운 CoA를 알려줘야 한다. 이 과정을 위치 등록(Location Update)이라고 하는데, 이 과정은 HA에게만 아니라 현재 자신과 통신 중인 모든 상대 노드들에게로의 위치 등록 과정도 포함한다. 먼저, 이동 노드는 자신의 HoA와 CoA를 포함하는 Binding Update 메시지를 자신의 HA에게 보낸다. HA는 이동 노드의 두 주소를 Binding Cache에 저장한다. HA는 Binding이 성공적으로 저장되었음을 알려주기 위하여 Binding Acknowledgement 메시지를 이동 노드에게 보낸다. 이 후 이동 노드의 HoA로 수신되는 모든 패킷들은 홈 에이전트가 가로채어 이동 노드의 현재 CoA로 터널링(Tunneling)하여 전달한다.
이동 노드는 HA에게 위치 등록을 완료한 후, 상대 노드들에게 위치 등록을 할 수 있게 된다. 상대 노드에게 위치 등록을 하지 않고 통신하는 경우, 상대 노드들은 이동 노드의 HoA에게로 패킷을 전달하고 HA가 패킷들을 가로채어 CoA로전달한다. 이동 노드가 상대 노드에게 패킷을 보낼 때는 역방향으로 전달된다. 이를 Reverse Tunneling이라고 한다. 이동 노드가 HA를 경유하지 않고 상대 노드와의 직접 통신하는 것을Route Optimization 이라고 한다.

Route Optimization은 상대 노드와 이동 노드간의 경로는 HA와 이동 노드간의 경로와는 달리 안전하지 않기 때문에 상대 노드와 이동 노드간의 Return Routability Procedure라는 인증절차를 수행해야 한다. 이동 노드와 상대 노드는 Return Routability Procedure를 통하여 이 후 메시지를 인증할 수 있는 키를 공유하게 된다. Return Routability Procedure가 완료된 후, 키를 이용한 Binding Update메시지를 상대노드에게로 보내게 되며, 상대 노드는 키를 이용하여 Binding Update 메시지를 인증하게 된다. 상대 노드가 이동 노드의 HoA와 CoA를 Binding Cache에 저장한 후, 상대 노드와 이동 노드간의 교환되는 모든 패킷들을 이동 노드의 HA를 경유하지 않고 이동 노드에게 직접적으로 전달된다. 그림 [1]은 지금까지 설명했던 MIPv6의 기본 동작 과정을 그림으로 보여주고 있다.


댓글 없음:

댓글 쓰기