터널링 원리
이동 호스트가 자신의 고유 주소를 유지하면서 인터넷 서비스를 받으려면 계속 이동하는 송수신 호스트 간의 데이터 라우팅 처리가 가장 중요하다.
상이한 전송 수단
이동 IP 프로토콜을 이해하려면 먼저 터널링 원리를 알아야 한다.
ex) 사람이 육지와 섬을 거쳐 이동하는 경우를 예로 들 수 있다.
버스와 배는 모두 네트워크 계층을 지원하는 IP 프로토콜로 버스와 배에 실려서 이동하는 홍길동은 전송 데이터로 볼 수 있다. 문제점은 홍길동 스스로 IP 프로토콜을 교체하는 작업이 추가로 이루어져야 한다.
터널링 방식
IP 프로토콜을 교체하는 방식보다 문제를 간단히 해결하는 방법은 터널링 기능을 이용하는 것이다. 터널링 방식을 사용하면 홍길동이 출발지에서 목적지까지 버스만 이용하므로, 네트워크 최종 사용자인 홍길동은 IP 프로토콜의 교체 과정에 개입하지 않는다는 장점이 있다.
중간에 있는 바다에서는 버스 회사가 배를 직접 처리하여 버스가 배를 타는 형태의 터널 기능을 지원한다. 결과적으로 홍길동은 출발지에서 버스를 타고, 도착지에서는 버스에서 내리기만 하면 된다. 홍길동이 버스를 타는 내내 잠을 자는 경우를 생각해보면 배라는 프로토콜을 전혀 이해하지 못해도 문제가 되지 않는다. 터널링이 필요한 지점의 추가 작업은 제 3자가 처리하는 구조이다. 이동 IP를 처리하는 과정에서 사용자는 터널링 관련 부분에 대한 부담이 없다.
IP터널링
컴퓨터 네트워크 환경에서 두 개의 호스트 두 개의 호스트를 연결해 통신하려면 몇 가지 선결 조건이 필요하다.
첫 번째 조건은 통신할 상대방을 다른 상대자와 구분하는 것인데, 이것이 주소 개념이 필요한 이유이다.
유선 고정망 환경으로 가정하고 발전한 기존 인터넷 주소 체계를 이동 환경에 적용하는 문제는 쉽지 않다. 기존 인터넷 환경에서 사용하는 주소 체계를 이용하여 이동 호스트의 IP주소를 처리하는 방법에는 이동한 위치에서 새로운 IP 주소를 할당하는 방식과 호스트 고유의 IP 주소를 유지하는 방식이 있다.
기존 인터넷 환경에서 IP 주소는 데이터가 목적지까지 도달하기 위한 경로를 손쉽게 처리할 수 있는 라우팅 정보를 제공한다. 따라서 IP주소가 호스트의 위치에 따라 변경되도록 하는 것이 현재의 인터넷 환경에서 적합한 방식이라고 할 수 있다. 하지만 사용자가 이동할 때마다 IP 주소를 변경하는 것은 매우 번거로운 작업이며, 현실적으로 불가능한 경우도 있다. 이런 문제를 해결하기 위해 국제 표준화 단체인 IETF에서 이동 IP에 대한 표준안을 제정하였다.
이동 호스트의 위치가 바뀌면 새로운 위치를 관장하는 에이전트 FAnew로부터 COA를 얻는다. 이 주소는 호스트의 홈 에이전트 HA에 등록되어 FAnew와 HA 사이에 터널을 형성하는데 사용된다.HA로 라우팅된 패킷을 이동 호스트에 전달하려면 새로 형성된 터널을 통해 FAnew로 전달해야한다.
이동 호스트는 네트워크에 있는 다른 호스트와 통신할 때 홈 주소를 사용한다. 구체적으로 설명하면, 이동 호스트는 IP 프로토콜의 헤더의 Source Address 필드에 표기된 주소를 자신의 홈 주소로 설정해 패킷을 전송한다. 패킷을 수신할 때는 반대로 Destination Address 필드에 자신의 홈 주소가 표기된 패킷이 전송되어 온다.
COA는 이동 호스트가 위치를 변경할 때 새로 이동한 지역에서 일시적으로 할당된 IP주소이다. 따라서 호스트가 이동할 때마다 새로운 COA가 할당되고 기존 COA는 회수되는 과정이 반복된다.
임의의 송신 호스트에서 이동 호스트까지 패킷이 전달되는 과정을 보면, 먼저 송신 호스트가 이동 호스트를 목적지 주소로 표기하여 패킷을 전송하는데, 패킷은 홈 에이전트 쪽으로 전달된다. 홈에이전트는 이동 호스트를 관장하는 포린 에이전트와 설정된 터널을 이용해 패킷을 중개하고, 포린 에이전트가 패킷을 다시 이동 호스트에 전달함으로써 데이터 전송을 완료한다.
홈 에이전트와 이동 에이전트 사이에 설정되는 터널은 원 IP 패킷을 목적지까지 전송하기 위한 중간 단계의 새로운 경로이다. 따라서 송신 호스트와 수신 호스트 사이에서 동작하는 IP프로토콜과는 별도로 추가적인 IP프로토콜을 사용해 패킷을 중개해야 한다.
터널 구간을 지나는 과정에서 라우팅 처리가 필요한데, 여기서는 IP프로토콜을 사용해야 한다. 원 IP 패킷을 데이터로 취급하는 새로운 형태의 IP 캡슐 패킷이 구성되어 전달된다. 원 패킷의 Destination Address 필드에는 이동 호스트의 홈 주소가 들어간다.
홈 에이전트에서는 원 패킷을 이동 호스트에 전달하려고 그림처럼 캡슐 패킷으로 변경하는데, 이 과정에서 새로운 IP 헤더가 추가된다. 그리고 추가된 헤더의 Destination Address 필드에는 COA가 들어간다.
Reference
쉽게 배우는 데이터 통신과 컴퓨터 네트워크
'CS > Network' 카테고리의 다른 글
[Chapter 9] TCP 프로토콜(전송 계층의 주요 기능) (0) | 2025.02.14 |
---|---|
[Chapter 8] 네트워크 계층(기타 네트워크 계층 프로토콜) (0) | 2025.02.14 |
[Chapter 8] 네트워크 계층(IPv6 헤더 구조) (0) | 2025.02.14 |
[Chapter 7] IP 프로토콜(IP 프로토콜) (0) | 2025.02.14 |
[Chapter 7] IP 프로토콜(라우팅 프로토콜) (0) | 2025.02.13 |