이동성 관리
이동성 관리: 원칙
💡 이동 장치 = 시간에 따라 네트워크로의 접속점을 변경하는 노드
장치 이동성: 네트워크 계층의 관점
네트워크 계층의 관점에서 본 다양한 이동성 스펙트럼
물리적인 이동 장치가 네트워크 접속점을 이동할 때 그 장치가 얼마나 활성화된 상태인가에 따라 다양한 문제들을 네트워크 계층에 제기한다.
(a) 접속 네트워크 간 장치 이동성, 이동 중에는 전원을 끔
이곳에는 네트워크 사이를 물리적으로 이동하지만 이때 이동 장치의 전원을 끄고 움직이는 이동 사용자가 위치한다.
전원이 켜져 있는 동안 하나의 네트워크에만 접속하며 이동하지 않고 머물기 때문에, 네트워킹 관점에서 이 장치는 이동 중인 것, 즉 모바일
이 아니다.
(b) 하나의 동일한 무선 접속 네트워크 안에서의 장치 이동성
이동 장치는 물리적으로 이동 가능하지만 동일한 접속 네트워크에 연결된 상태를 유지한다.
이러한 장치도 네트워크 계층 관점에서는 모바일이 아니다.
또한 장치가 동일한 802.11 AP 또는 LTE 기지국과 연결된 상태로 유지되는 경우, 해당 장치는 링크 계층 관점에서도 모바일이 아니다.
네트워크 관점에서 장치 이동성에 대한 관심은 여기서부터 시작한다.
(c) 진행중인 연결을 유지하며 동일 통신 사업자 네트워크 내에서의 장치 이동성
- 이동 장치는 TCP와 같은 상위 레벨 연결을 유지하고, IP 데이터그램을 계속 보내고 받는 상태에서
- 접속 네트워크(802.11 WLAN 또는 LTE 셀)를 변경한다.
여기서 네트워크는 장치가 WLAN 또는 LTE 셀 간에 이동할 때 핸드오버(handover)
를 제공해야 한다.
(하나의 AP/기지국에서 다른 AP/기지국으로 데이터그램을 책임지고 전달하는 것)
(d) 진행 중인 연결을 유지하며 여러 통신 사업자 네트워크 간의 장치 이동성
이동 장치가 여러 사업자 네트워크들 사이를 로밍하는 경우이다.
이때 사업자들은 핸드오버를 함께 협력해서 처리해야 하므로 핸드오버 절차가 상당히 복잡해진다.
홈 네트워크 및 방문 네트워크로의 로밍
모든 셀룰러 사용자는 자신이 가입한 통신 사업자라는 ‘집’이 있으며,
HSS(Home Subscriber Service)
가 아래와 같은 가입자들에 대한 다양한 정보들을 저장하고 있음을 앞서 배웠다.
- 가입자가 접속할 수 있는 서비스에 대한 정보
- 통신에 사용되는 암호화 키
- 요금 청구 및 과금 정보
이동 장치가 홈 네트워크(home network)가 아닌 다른 셀룰러 네트워크와 연결되면,
그 장치는방문 네트워크(visited network)
에서로밍(roaming)
중이라고 한다.
이때 홈 네트워크와 방문 네트워크 간의 조정 작업이 필요하다.
이동 장치가 홈 네트워크를 갖는다
는 개념은 중요한 장점 두 가지를 제공한다.
- 홈 네트워크는 해당 장치에 대한 정보를 제공할 수 있는 단일한 위치를 제공한다.
- 로밍 중인 이동 장치와의 통신을 위한 조정 지점의 역할을 수행할 수 있다.
이동 장치로의 직접 라우팅과 간접 라우팅
이동 네트워크 구조의 요소는 다음과 같다.
이를 통해 인터넷에 연결된 한 호스트가 직면한 난제를 살펴보자.
(장치 이동성을 지원하기 위한 근본적인 문제와 기본적인 해결방안들은 셀룰러 네트워크와 인터넷 모두에 동일하게 적용할 수 있음)
호스트는 통신자(correspondent)
라고 불리며,
홈 네트워크에 있거나 방문 네트워크에 로밍 중인 어떤 이동 장치와 통신하기를 원한다.
모든 이동 장치에는 고유한 식별자가 있다고 가정한다.
- 4G LTE 셀룰러 네트워크에서 이 식별자는
IMSI(International Mobile Subscriber Identity)
와 관련 전화번호가 될 것이고,
이 정보는 SIM 카드에 저장된다. - 인터넷 사용자의 경우 이 식별자는 이동 IP 구조와 마찬가지로 홈 네트워크의 주소 범위에 있는 영구적인 IP 주소가 될 것이다.
통신자가 보낸 데이터그램이 해당 이동 장치에 도달할 수 있도록 하기 위해서 네트워크 구조에서는 세 가지의 기본적인 접근 방법이 있다.
이 중 후자의 두 가지 방법은 실제로 채택되어 사용되고 있다.
- 기존 IP 주소 인프라 활용
- 이동 장치로의 간접 라우팅
- 이동 장치로의 직접 라우팅
1️⃣ 기존 IP 주소 인프라 활용
과정
방문 네트워크에 있는 이동 장치로 라우팅하는 가장 간단한 방법은 기존의 IP 주소체계
를 사용하는 것이다.
-
방문 네트워크
는 이동 장치의 영구적인 32비트 IP 주소를 광고하여
데이터그램을 해당 이동 장치로 전달하는 데 사용할 경로가 있음을 다른 네트워크들에게 알린다.ISP
는BGP
를 통해 도달 가능한 네트워크의 CIDR화된 주소 범위를 열거하여 목적지 네트워크에 대한 경로를 광고한다.- 이때 방문 네트워크는 매우 구체적인 주소를 광고함으로써 특정 이동 장치가 자신의 네트워크에 존재한다는 사실을 다른 모든 네트워크에게 알릴 수 있다.
-
인접 네트워크들은 라우팅 정보 및 포워딩 테이블을 갱신하는 일반적인 BGP 절차를 사용해 네트워크 전체에 이 정보를 전파한다.
장점
네트워크 계층 인프라를 전혀 변경할 필요가 없다.
다른 네트워크들은 이동 장치의 위치를 알고 있으며,
포워딩 테이블들이 데이터그램을 방문 네트워크로 안내하기 때문에 데이터그램을 그 이동 장치로 쉽게 라우팅할 수 있다.
단점
확장성
네트워크 라우터는 잠재적으로 수십억 개의 이동 장치에 대한 포워딩 테이블 항목을 유지 관리해야 하고,
다른 네트워크로 로밍할 때마다 장치 관련 항목을 갱신해야 한다.
대안
좀 더 실용적이며 실제로 채택되고 있는 접근 방법은
이동 장치의 홈 네트워크를 통하여 이동성 관리 기능
을 네트워크 코어에서 네트워크 가장자리로 밀어내어 옮기는 것이다.
이동 장치의 홈 네트워크에 있는 이동성 관리 개체인 MME
는 이동 장치가 위치한 방문 네트워크를 추적할 수 있다.
(이 정보는 HSS
의 데이터베이스에 있을 수 있음)
이동 장치가 위치한 네트워크를 갱신하기 위해서는 방문 네트워크와 홈 네트워크 사이에서 동작하는 프로토콜이 필요하다.
이동 장치는 방문 네트워크의 IP 주소
가 필요하다.
여기에는
(1) 이동 장치의 홈 네트워크와 연결된 영구적인 IP 주소,
(2) 방문 네트워크의 주소 범위에서 새로운 주소의 할당
(3) NAT를 통한 IP 주소의 제공 등이 포함된다.
- (2), (3)의 경우, 이동 장치는 홈 네트워크의 HSS에 저장된 영구적인 식별자 외에 임시 식별자(새로 할당된 IP 주소)를 갖게 된다.
- NAT 주소를 사용하는 경우,
이동 장치로 향하는 데이터그램은 방문 네트워크의 NAT 게이트웨이 라우터에 도달하게 되면 NAT 주소 변환을 거쳐 해당 이동 장치로 전달된다.
그렇다면 데이터그램
은 어떻게 주소를 찾아서 이동 장치로 전달될 수 있을까?
네트워크의 모든 라우터가 아닌 홈 네트워크의 HSS만이 이동 장치의 위치를 알고 있기 때문에,
단순히 목적지 이동 장치의 영구 주소를 데이터그램의 목적지로 지정하는 것은 안 된다.
이것에 대한 해결책으로는 직접 라우팅
과 간접 라우팅
이 있다.
2️⃣ 이동 장치로의 간접 라우팅
간접 라우팅(indirect routing)
방식에서 통신자는 이동 노드가 홈 네트워크에 있는지 또는 방문 네트워크에 있는지 모르는 상태로
데이터그램의 목적지 주소를 단순히 이동 노드의 영구적인 주소로 설정한 후 네트워크로 전송한다.
즉, 송신하는 통신자는 이동 장치의 현재 이동 상태를 몰라도 되며, 이는 통신자에게 이동성에 대한 완전한 투명성을 제공한다.
홈 네트워크를 통한 재라우팅(rerouting)
-
데이터그램
은 이동 장치의 홈 네트워크로 전달된다. -
(1)
홈 네트워크 게이트웨이
는 데이터그램을 가로채서HSS
와 상의하여 이동 장치가 있는 방문 네트워크를 결정한 후
(2) 해당 데이터그램을 방문 네트워크의게이트웨이 라우터
로 전달한다.HSS
: 방문 네트워크와 상호작용하여 이동 장치의 위치를 추적하고 홈 네트워크의 게이트웨이 라우터를 관리한다.게이트웨이 라우터
: 해당 네트워크에 집이 있지만 현재 방문 네트워크에 위치해있는 장치를 목적지 주소로 하는 데이터그램이 도착하는지 확인한다.
-
방문 네트워크의
게이트웨이 라우터
는 데이터그램을 이동 장치로 전달한다.- NAT 변환이 사용된다면 방문 네트워크 게이트웨이 라우터가 NAT 변환을 수행한다.
아래의 두 가지 목표는 홈 네트워크 게이트웨이가 통신자의 원래 데이터그램을 캡슐화하여 더 큰 데이터그램에 넣게 함으로써 충족될 수 있다.
홈 네트워크 게이트웨이
는 도착한 데이터그램을방문 네트워크 게이트웨이 라우터
에게 전달해야 한다.- 데이터그램을 수신하는 애플리케이션 입장에서는 데이터그램이 홈 네트워크를 통해 전달되었다는 사실을 인식하지 않는 것이 좋기에
통신자의 데이터그램을 원래 그대로 두는 것이 바람직하다.
더 큰 데이터그램은 주소가 지정된 방문 네트워크의 게이트웨이 라우터에 전달되고,
이후 캡슐화를 해제하여 더 큰 데이터그램 내에서 원래의 데이터그램을 복원하여 이동 장치로 전달된다. (이는 위 3단계에서 진행됨)
이동 장치가 통신자에게 데이터그램을 보내는 것을 고려해보자.
그림의 맥락에서 이동 장치는 NAT 변환을 수행하기 위해 방문 게이트웨이 라우터를 통해 데이터그램을 전달해야 하는데,
방문 게이트웨이 라우터는 어떻게 데이터그램을 통신자에게 전달할까?
여기에는 아래처럼 두 가지 옵션(4a, 4b)가 있다.
- 4a : 데이터그램을 홈 게이트웨이 라우터로 다시 터널링하여 거기에서 다시 통신자에게 전달할 수 있다.
- 4b : 데이터그램은 방문 네트워크에서 통신자로 직접 전달될 수 있다. (
로컬 브레이크 아웃(local breakout)
)
이동성 지원에 필요한 네트워크 계층의 기능
✅ 이동 장치에서 방문 네트워크로의 프로토콜
이동 장치
는 방문 네트워크
와 결합해야 하며, 마찬가지로 방문 네트워크를 떠날 때 결합을 해제해야 한다.
✅ 방문 네트워크에서 홈 네트워크로의 HSS 등록 프로토콜
방문 네트워크
는 홈 네트워크의 HSS
에 이동 장치의 위치를 등록해야 하며,
HSS에서 얻은 정보를 장치 인증을 수행하는 데 사용해야 한다.
✅ 홈 네트워크 게이트웨이와 방문 네트워크 게이트웨이 라우터 사이의 데이터그램 터널링 프로토콜
송신 측은 통신자의 원래 데이터그램을 새로운 데이터그램 내에 캡슐화한 후 목적지로 전달한다.
수신 측에서는 게이트웨이 라우터에서 캡슐화 해제 및 NAT 변환을 거쳐 원래 데이터그램을 이동 장치로 전달하는 작업을 수행한다.
삼각 라우팅 문제(triangle routing problem)
간접 라우팅 방식은
이동 장치를 목적지로 하는 데이터그램은 통신자와 로밍 중인 이동 장치 사이에 훨씬 더 효율적인 경로가 있는 경우에도
일단 먼저 홈 네트워크로 전달된 다음 방문 네트워크로 전달되어야 하기 때문에 비효율성을 가지고 있다.
3️⃣ 이동 장치로의 직접 라우팅
직접 라우팅(direct routing)
방식은 간접 라우팅 방식의 삼각 라우팅 문제를 해결할 수 있으나, 추가적인 복잡도가 발생한다.
-
1, 2단계 : 통신자는 먼저 이동 장치가 위치해 있는 방문 네트워크를 발견한다.
- 이는
이동 장치의 홈 네트워크 HSS
에 질의함으로써 수행되고,
이동 장치의 방문 네트워크가 HSS에 등록되어 있는 것으로 가정한다.
- 이는
-
3단계 : 통신자는 데이터그램을 이동 장치의 방문 네트워크로 직접 터널링해서 전달한다.
문제점
-
통신자가 HSS에게 이동 장치의 방문 네트워크를 질의하기 위해서(1, 2단계),
이동 사용자 위치 파악 프로토콜
이 필요하다. -
이동 장치가 이동할 때마다 통신자를 미리 갱신해주려면 추가적인 프로토콜 매커니즘이 필요하다.
이동 장치가 한 방문 네트워크에서 다른 방문 네트워크로 이동하면
통신자는 데이터그램을 새로운 방문 네트워크로 전달해야 한다는 것을 어떻게 알 수 있을까?간접 라우팅
에서는 홈 네트워크 HSS를 갱신하고, 터널의 종단점을 새로운 방문 네트워크의 게이트웨이 라우터로 변경함으로써 문제를 쉽게 해결한다.직접 라우팅
에서 통신자는 세션이 시작될 때 HSS에게 단 한 차례만 문의하며 이후에 변화된 정보를 알기 어렵기에 문제의 해결이 쉽지 않다.