저번에 AMF Selection에 이어서 AMF에 대해 더 알아보겠다.
AMF 공부하다보니 액세스망 말고 코어망 관련해서 일해보고 싶은 생각이 든다. 사실 뭐든 새로운 걸 해보고 싶다는 꽤 됐다. RAN 쪽은 이제 걸음마도 아니고 이제 보행기 타고 다니는 수준이지만, 도파민이 부족해서 그런가? 늘 새로운 걸 하고 싶음!! 새롭기보다는 많은 걸 경험해보고 싶다. 하지만 나는 지금 하는 거나 잘해야하고 더 깊은 공부가 필요하다는 걸 안다...ㅋ
- Dynamic AMF Selection for Mobility
SA UE는 첫 망에 접속 시, AMF를 select 하게 된다. 그러나, UE가 계속 그 자리에 있느냐? 그건 아니기 때문에 기존의 Tracking Area 를 벗어나게 되면, gNB는 UE에게 다른 AMF로 붙어라~ 라고 할 것이다.
이 과정에서 Mobility Registration Update가 트리거 된다. gNB는 단말의 새로운 위치 정보나 현재 네트워크 혼잡도 등의 조건을 실시간 반영하여 최적의 AMF를 Reselection 한다.
아직 KT만 SA 상용화가 진행되었고, 실제로 SA 사용률이 얼마나 될지는 모르겠으나, 이러한 동적 AMF 선택을 통해 5G 서비스를 끊임없이 누릴 수 있는 것이다. - Redundancy and Failover
앞에서 끊임없는 5G를 서비스 한다고 했는데, 만약에 AMF가 장애가 발생하거나 트래픽이 몰린다면 대참사다. 그래서 AMF에 문제가 생겼을 때 gNB는 바로 다른 AMF를 사용할 수 있게 경로를 전환하는 'Failover'를 수행한다.
gNB는 아무렇게나 AMF를 고르는 것이 아니라, 단말의 새로운 위치(TAI), 기존 할당된 GUAMI, 그리고 단말이 요구하는 서비스 슬라이스 정보(S-NSSAI)를 조합하여 최적의 AMF를 찾아낸다.
만약 기지국이 처음에 가용한 AMF를 잘못 지정하더라도, 코어 망에서 NAS Reroute 메커니즘이 작동하여 올바른 AMF로 메시지를 다시 토스해주기 때문에 끊김 없는 전환이 가능하다!
단말은 RRC Connection Complete 메시지를 올릴 때, gNB에 이전에 접속했던 AMF 정보를 알려주기도 한다. 기지국은 이 정보를 바탕으로 단말이 붙을 기존 AMF vs 새 AMF를 결정한다.
1단계: 단말이 던진 단서, GUAMI 파싱
단말은 RRC Connection Complete 메시지 내부의 NAS PDU에 자신이 기억하는 AMF 정보를 담아 보낸다. 이 정보는 GUAMI(Globally Unique AMF Identifier)라는 필드에 캡슐화되어 기지국에 전달된다.
- PLMN ID: 단말의 홈 네트워크(국가 및 통신사 식별자)
- AMF Region ID: 단말이 속한 특정 지역(Region)
- AMF Set ID: 해당 지역 내에서 묶여 있는 AMF 그룹(Set)
- AMF Pointer: 그 그룹 안에서 단말이 실제로 접속했던 '특정 AMF'의 고유 번호
2단계: 기지국의 꼼꼼한 유효성 검사 (Verification)
GUAMI를 받아 든 기지국이 단말이 찍어준 AMF가 지금 당장 통신 가능한지 검사한다.
- Reachability (도달 가능성): 해당 AMF가 현재 죽지 않고 살아있어 연결이 가능한가?
- Location (위치 적합성): 단말이 이동한 현재의 트래킹 영역(TAI)을 이 AMF가 커버할 수 있는가?
- Slicing (슬라이스 매칭): 단말이 요청한 5G 네트워크 슬라이스 요구사항(NSSAI)을 이 AMF가 지원하는가?
3단계: 기지국의 선택 (Accept or Override?)
- 검사 통과 (Valid & Available): 단말이 제안한 AMF가 가용하다면, 기지국은 해당 AMF로 NAS 시그널링을 포워딩하고 연결을 맺는다. (기존 관계가 유지되어 가장 빠름)
- 검사 탈락 (Invalid or Policy Mismatch): 만약 지정된 AMF가 과부하로 죽었거나, 단말의 새 위치를 지원하지 않거나, 네트워크 슬라이싱 정책에 맞지 않는다면 기지국은 과감히 단말의 의견을 무시(Override)한다. 그리고 5G 망의 브레인 역할을 하는 NRF(Network Repository Function)에 질의하여, 현재 단말의 위치와 슬라이스 요구사항, 그리고 로드 밸런싱 조건에 가장 완벽하게 부합하는 '새로운 AMF'를 동적으로 찾아낸다.
4단계: N2 인터페이스를 통한 코어망 노크
AMF가 최종 결정되면 기지국은 본격적으로 코어 망과의 통신 창구인 N2 인터페이스를 연다.
- Initial UE Message 전송: 기지국은 선택된 AMF로 Initial UE Message를 보내는데, 이 안에는 단말의 등록 요청이 담긴 NAS PDU와 기지국이 파악한 단말의 컨텍스트 정보가 포함되어있다.
- AMF의 컨텍스트 핸들링:
- 기존 AMF가 선택된 경우: AMF가 복잡한 절차를 생략하고 세션을 신속하게 재확립(Reestablish)한다.
- 새로운 AMF가 선택된 경우: 새 AMF는 이전에 단말이 쓰던 예전 AMF를 찾아가 단말의 정보(Context Retrieval)를 복사해오거나, 아예 처음부터 새로운 등록 프로세스(Fresh Registration)를 시작한다.
결국 단말은 자기가 처음에 RRC Connection Complete에 어떤 AMF를 적어 보냈든 상관없이, 최종적으로 망이 점지해 준(Selected) AMF를 자신의 서빙(Serving) AMF로 군말 없이 받아들이고 5G 서비스를 이용한다.
만약 RRC Connection Complete 메시지에 AMF 정보가 전혀 없다면 어떻게 될까?
보통 다음과 같은 상황일 때 벌어지는 일이다.
- 스마트폰을 켜고 5G 망에 완전히 처음 접속할 때
- 비행기 모드를 아주 오래 켜두었거나 오랫동안 망을 떠나 있어서 기존 AMF가 단말 정보(Context)를 지워버렸을 때
- LTE(4G) 망을 쓰다가 5G 망으로 갓 넘어왔을 때 (RAT Transition)
- 핸드오버나 AMF 재배치 등 네트워크가 시켜서 강제로 초기화되었을 때
1단계: 5G의 인력소, NRF(Network Repository Function)에 질의하기
기지국은 5G 코어의 모든 네트워크 기능(NF) 정보가 모여있는 NRF에 "지금 이 단말을 받아줄 수 있는 가용한 AMF 리스트 좀 뽑아달라"고 쿼리(Query)를 날린다. NRF는 세가지 조건을 필터링한다.
- 단말의 현재 위치: 단말이 서 있는 트래킹 영역(TA)을 담당하는 AMF인가?
- 슬라이스 요구사항: 단말이 원하는 서비스(예: 초고속 다운로드가 필요한 eMBB, 초저지연이 필요한 URLLC 등)의 슬라이스 정보(NSSAI)를 지원할 수 있는 능력이 있는가?
- AMF 기능(Capability): 해당 단말의 특수 기능이나 프로토콜을 처리할 수 있는 하드웨어적 스펙을 갖추었는가?
2단계: 기지국의 자체 점수 매기기 (최종 선택)
NRF가 Available List을 넘겨주면, 기지국은 다음과 같은 요소를 고려해서 AMF를 고른다.
- 로드 밸런싱(Load Balancing): 트래픽을 고려하여 유저들을 분산시킨다.
- 통신사 커스텀 정책: 통신사(오퍼레이터)가 미리 설정해 둔 우선순위나 룰(Preferred AMF List)이 있다면 이를 우선 반영한다. 만약 마땅한 AMF가 하나도 없다면 미리 지정된 디폴트 AMF로 연결하는 Fallback 메커니즘도 작동한다.
3단계: N2 Initial UE Message 전송
AMF가 결정되면 기지국은 해당 AMF로 N2 Initial UE Message를 보낸다. 여기에는 단말이 보냈던 최초 등록 요청서(NAS PDU)와 함께 단말의 스펙, 위치 정보, NSSAI 등이 포함되어있다.
새로운 AMF는 이때부터 단말 Context를 새로 파고, 진짜 이 망에 가입된 사용자가 맞는지 확인하는 인증(Authentication) 및 등록 과정을 거친다.
그런데, 기지국이 현재 위치나 슬라이스 조건에 맞는 AMF를 단 하나도 찾지 못하는 대참사가 발생하면?
- 기지국은 단말의 등록 시도를 과감히 거절(Reject)한다. (제가 얼마 전 겪은 일입니다..)
- 단말에 Redirection 메시지를 보내 다른 TA로 보내버린다.
자세한 시그널링 메시지가 궁금하다면 늘 그랬듯이 https://www.sharetechnote.com/html/5G/5G_Core_AMF.html 여기를 참고하면 된다.
다음 포스팅에서는 AMF 다음으로 중요한(?) 데이터 세션 관리자, SMF(Session Management Function)에 대해 자세히 알아보겠다.
'공부 > 통신' 카테고리의 다른 글
| 009. SA Subscription Management - UDM (0) | 2026.07.12 |
|---|---|
| 008. PDU Session Establishment : SMF (0) | 2026.07.04 |
| 006. SA Registration Procedure - AMF Selection (+추가) (0) | 2026.06.22 |
| 005. SA Registration Procedure - AMF의 역할 (0) | 2026.06.14 |
| 004. TS 23.501 5GS Architecture & Flow (0) | 2026.05.31 |