지난 시간에는 LTE망과 Wi-Fi망 간에 연동 구조에서 인증과 보안에 대해 살펴 보았는데요.
오늘은 단말(UE) IP 할당 절차에 대해서 설명드리겠습니다.
UE IP 주소 할당 절차
■ UE의 IP 주소는 누가 할당해 주나?
- UE는 LTE 망에 붙어 있던 Wi-Fi 망에 붙어 있던 항상 P-GW를 거치게 되고, P-GW가 UE의 IP 주소를 할당 해 줍니다.
- LTE망과 Wi-Fi망간에 핸드오버를 고려하여(핸드오버를 위해서는 UE의 IP 주소가 절대로 빠뀌면 안됨!) P-GW는 UE에 할당했던 IP 주소를 기억하고 있다가, LTE 망에서 Wi-Fi 망으로 이동 혹은 Wi-Fi 망에서 LTE 망으로 이동해도 동일 IP 주소를 UE에 전달해 줍니다. (이게 바로 IP Anchor가 해 주어야 하는 임무이지요)
■ UE가 LTE 망에 접속
- UE는 Attach Request 메시지를 시작으로 LTE 망 접속 절차를 시작하고, 접속 절차가 마무리(인증, 무선 구간 암호화/무결성 보호, eNB와 S-GW간에 GTP 터널, S-GW와 P-GW간에 GTP 터널 생성 완료)되면 P-GW는 UE가 사용할 IP 주소(1.1.1.1)를 할당하여 MME에 전달하고, MME는 UE IP 주소를 포함한 Attach Accept 메시지를 UE로 전달하게 됩니다.
- 즉, UE가 LTE 망에 접속을 하면 P-GW가 UE IP 주소를 할당하게 되는 것이죠. UE의 패킷이 인터넷으로 나갈때 IP 헤더에 포함되는 Source IP(SIP) 주소가 바로 이 UE IP 주소(1.1.1.1)가 됩니다.
■ UE가 Wi-Fi 망에 접속
- Wi-Fi 망에 접속하게 되는 경우 UE는 2개의 IP 주소를 받아오게 됩니다. 하나는 UE와 ePDG간에 IPSec 터널을 위한 IP 주소(WLAN UE's Local IP Address)이고, 또 하나는 P-GW가 할당한 그래서 인터넷으로 나갈때 보이는 IP 주소(WLAN UE's Remote IP Address)입니다. 하나하나 살펴 보면요...
1) WLAN UE's Local IP Address (IPSec Tunnel Outer IP Address)
- 먼저 UE는 Wi-Fi 망에 접속합니다. 인증/무인증 절차를 거친 후 AP는 DHCP Relay로 동작하여 외부 DHCP 서버로 부터 IP 주소(10.1.1.1)를 할당 받아 UE에 전달합니다. 혹은 외부 DHCP 서버 없이 AP가 DHCP 서버로 동작하여 UE에 IP 주소를 할당 할 수도 있습니다.
- 이 IP 주소는 IPSec 터널을 위한 주소가 됩니다. 즉, 이 주소는 Wi-Fi 망을 통해 UE와 ePDG간에 IPSec 패킷이 라우팅되는데 사용됩니다.
2) WLAN UE's Remote IP Address (IPSec Tunnel Inner IP Address)
- Wi-Fi 접속 절차가 끝난 UE는 ePDG와 IPSec 터널을 생성하기 위해 IKEv2 메시지(IKE_AUTH Request)를 ePDG로 보냅니다. ePDG는 3GPP AAA/HSS의 도움을 받아 가입자 인증(EAP-AKA)을 하게 되구요.
- 인증이 끝난 후, ePDG는 P-GW와 GRE 터널을 생성하기 위해 PMIPv6 메시지(Proxy Binding Update)를 보내게 됩니다.
- Proxy Binding Update 메시지를 수신한 P-GW는 이 UE가 LTE 망에 접속되어 있는지를 판단하여, 만약 그렇다면 LTE 망에서 할당했던 IP 주소(1.1.1.1)를 그대로 Proxy Binding Ack 메시지에 실어 ePDG로 전달합니다
- 그러면 ePDG는 IKE_AUTH Response 메시지를 통해 그 IP 주소를 UE로 전달합니다.
- 결론적으로 UE가 Wi-Fi 망에 접속하는 경우 IPSec 패킷이 Wi-Fi 망을 거쳐 UE와 ePDG간에 라우팅될 수 있도록 하기 위한 WLAN UE's Local IP 주소는 DHCP 서버/AP가 할당하고, P-GW를 통해 인터넷으로 패킷이 전송될 때 사용하게 되는 WLAN UE's Remote IP 주소는 P-GW가 할당하게 됩니다.
위 그림 하단에 UE의 Protocol Stack을 간략하게 그려 보았는데요. 단말 내 응용(Application) 계층이 바라보는 IP 주소(socket interface 상에 IP 주소)는 P-GW가 할당해 준 1.1.1.1이 되고, UE가 Wi-Fi 망에 접속하는 경우 IPSec 계층(보통 Kernel내에 driver로 구현)에서 사용하는 IPSec 터널링을 위한 Outer IP 주소는 DHCP 서버/AP가 할당해 준 10.1.1.1이 됩니다.
트래픽 흐름/패킷 헤더 관점에서 바라본 IP 주소
위 그림과 동일하지만 패킷 헤더 레벨로 다시 표현해 보았습니다.
■ UE가 LTE 망에 접속 후 UL(상향) 트래픽 흐름
트래픽 흐름 |
설명 |
UE -> eNB
|
사용자는 google에 접속하려 합니다. IP 헤더의 Source IP(SIP)는 P-GW로 부터 할당 받은 1.1.1.1이고, Destination IP(DIP)는 google이 되겠죠.
|
eNB -> S-GW
|
eNB는 UE가 보낸 패킷에 GTP 헤더를 붙입니다. GTP 터널 내 Outer IP 헤더의 SIP는 eNB, DIP는 S-GW가 됩니다. |
S-GW -> P-GW
|
S-GW는 eNB가 보낸 GTP 헤더를 제거하고 다시 자신의 GTP 헤더를 붙입니다. GTP 터널 내 Outer IP 헤더의 SIP는 S-GW, DIP는 P-GW가 됩니다. |
P-GW -> Internet
|
P-GW는 GTP 헤더를 제거하고 UE가 생성한 원래 패킷을 인터넷으로 전송합니다. 즉, SIP는 1.1.1.1, DIP는 google입니다. |
■ UE가 Wi-Fi 망에 접속 후 UL(상향) 트래픽 흐름
트래픽 흐름 |
설명 |
UE -> ePDG
|
UE의 Application/OS layer에서 붙인 IP 헤더의 SIP는 P-GW로 부터 할당 받은 1.1.1.1, DIP는 google입니다.
이 패킷은 IPSec driver layer로 내려 올 것이고, 여기서 IPSec 헤더를 붙이는데, IPSec 터널 내 Outer IP 헤더의 SIP는 DHCP/AP로 부터 할당받은 10.1.1.1이고, DIP는 ePDG가 됩니다.
|
ePDG -> P-GW
|
IPSec 터널링 패킷은 Wi-Fi 망을 통해 라우팅되어 ePDG가 수신하게 됩니다(DIP가 ePDG이므로).
ePDG는 IPSec 헤더를 제거하고, GRE 헤더를 붙이게 되며, GRE 터널 내 Outer IP 헤더의 SIP는 ePDG, DIP는 P-GW가 됩니다. |
P-GW -> Internet
|
P-GW는 GRE 헤더를 제거하고 UE가 생성한 원래 패킷을 인터넷으로 전송합니다. 즉, SIP는 1.1.1.1, DIP는 google입니다. |
정말 배울게 많습니다...b
더 열심히 할께요.
감사합니다. ^^* !!!
그렇게 찾아도 이런게 없었는데 ㅠㅠ
그리고 혹시 제가 모르는게 많아서요.. GRE or GTP tunnel, integrity protection 등등에 대한 설명이 있는 자료가 있으면 알려주실수 있으신가요??
▶ Tunnel 관련 자료
1. 이동 서비스를 위해 터널링이 필요한 이유 (1편): https://www.netmanias.com/bbs/view.php?id=blog&no=294
2. 이동 서비스를 위해 터널링이 필요한 이유 (2편): https://www.netmanias.com/bbs/view.php?id=blog&no=295
▶ GTP Tunnel 관련 자료
1. LTE의 GTP 터널 소개 I: https://www.netmanias.com/bbs/view.php?id=blog&no=229
2. LTE의 GTP 터널 소개 II: https://www.netmanias.com/bbs/view.php?id=blog&no=238
▶ Integrity Protection 관련 자료
1. LTE: 인증(EPS-AKA)과 무선구간 보안(Security): https://www.netmanias.com/bbs/view.php?id=blog&no=250
어떤 특정 주제가 아닌 LTE 기술에 대해 전반적으로 훑어 보고 싶으시다면요,
넷매나아즈 Mobile 블로그 글(https://www.netmanias.com/ko/?m=board&id=blogforum_mobile )을 먼저 보세요.
그런 후 아 대충 감 잡았다! 하시면,
Mobile 기술 문서(https://www.netmanias.com/ko/?m=board&id=techdocsforum_mobile )를 출력해서 보시기 바랍니다.
AP가 LAN을 통해 일반 ISP쪽에 연결되어 있는 경우는 LTE망과는 상관이 없는건가요?
보통 하나의 통신 사업자가 LTE망과 Wi-Fi망을 모두 가지고 있는 경우에 위와 같은 연동 모델을 제공할 수 있습니다.
LG U+ LTE 가입자가 KT AP에 붙는 경우, 아마도 LG U+ ePDG에서 연결을 거부할 것이고,
결론적으로 말씀하신 것과 같이 "LTE 망과는 상관이 없을 것"으로 예상됩니다.
글 매우 흥미롭게 잘읽고있습니다 감사합니다!
작성자님 궁금한게 한가지가 있습니다 ㅎ 글중에
Proxy Binding Update 메시지를 수신한 P-GW는 이 UE가 LTE 망에 접속되어 있는지를 판단하여, 만약 그렇다면 LTE 망에서 할당했던 IP 주소(1.1.1.1)를 그대로 Proxy Binding Ack 메시지에 실어 ePDG로 전달합니다
여기서 -> 만약 그렇지 않다면 동작과정이 어떻게 되는건가요?
만약 그렇지 않다면 동작과정이 어떻게 되는건가요?
=> 만약 그렇지 않다면 신규 가입자라 판단하고 IP 신규 할당 및 Initial Attach에 해당하는 절차를 따라갑니다.
참고로 PMIP 기반 절차 (3GPP R8) 는 실제로는 사용되지 않는 사문화된 표준이라 보시면 됩니다.
3GPP R10 에서 GTP 기반 절차가 추가되었기에 실제로는 GTP만 사용한다고 보시면 됩니다.