오늘은 SMF(Sesseion Mangement Fuction)에 대해 알아보겠다.
SMF가 다른 5G Core 요소들과 어떻게 연결되어있는지는 아래 그림을 보면 된다.

SMF의 주 역할 : 데이터 길을 뚫고 관리하기
5G 코어의 가장 큰 특징은 제어 신호(Control Plane)와 실제 데이터(User Plane)가 분리되어 있다는 점이다.
여기서 SMF는 CP에 서서, UP를 컨트롤 하고 명령하는 느낌이다.
구체적으로는 단말이 데이터 통신을 할 수 있도록 PDU 세션을 만들고(Create), 변경하고(Update), 삭제하는(Remove) 전 과정을 제어한다고 보면 된다. 또한 실질적으로 데이터를 나르는 UPF와 끊임없이 소통하며, "이 유저의 데이터는 이 경로로 이렇게 처리해라"라는 규칙(Session Context)을 주입하고 관리하는 데이터 평면의 총괄 사령관 역할을 한다.
이렇게만 말하면 "그래서 내 폰에서 구체적으로 뭐가 바뀐다는 거지?" 하고 이해가 잘 안 갈 것이다.
학교에서 대학원 통신 과목을 배웠을 때도 그랬다.ㅠㅠ 머리아픈 수식들만 가득했다..
물론 SA 라는 개념조차 학교에서 배우지 않았지만 말이다. (내가 놓쳤을지도)
어쩃든 실제로 어떻게 쓰이는지 알려주겠다.
- 세션 생성 (Create): 스마트폰에서 인터넷 창을 켜거나 앱을 실행해 처음 데이터 통신을 시도할 때, SMF가 개입해 데이터 통로를 만들어준다. 카톡에서 채팅방을 생성하는 느낌이다!
- 세션 변경 (Update): 유튜브로 동영상을 보다가 고화질(4K)로 높이거나 보이스톡(VoIP) 전화를 걸 때, 서비스 품질을 보장하기 위해 QoS 정보가 업데이트된다. 이때 SMF가 개입하여 서비스 특성에 맞는 5QI(5G QoS Identifier) 값을 할당하고 적절한 QoS Flow를 열어준다.
- 세션 삭제 (Remove): 통화를 끝내거나 앱을 완전히 종료하여 더 이상 데이터 통신이 필요 없을 때, 열려 있던 데이터 통로를 깔끔하게 닫고 자원을 회수한다.
즉, SA 단말로 데이터를 쓰는 처음과 끝, 그리고 그 사이에서 일어나는 모든 데이터 통로의 변화를 총괄한다고 보면 된다. AMF는 등록과 이동, SMF는 세션과 데이터 통로를 책임지고!
여기서 포스팅을 끝낼 수 있다면 얼마나 좋겠냐만은 ShareTechnote의 친절함으로 인해 SMF의 기능을 더 적어보겠다.
SMF의 기능
- PDU Session Establishement (23.502 - 4.3.2)
- PDU session establish, modify, release를 책임진다. (UE와 Data Network간의 논리적 연결) - IP Address Management
- UE에 IP 주소(IPv4, IPv6)를 할당하고 관리한다. - QoS Management
- UPF의 패킷들이 적절한 경로로 갈 수 있도록 트래픽과 파라미터를 모니터링한다. - Policy Control
- PCF(Policy Control Function)과 상호작용하며 정책과 요금 정책을 주고받는다. - Charging
- CHF(Charging Fucction)과의 상호작용 한다. - Downlink Data Notification
- Idle UE로 DL 데이터가 수신되면 paging 프로세스를 시작한다. - Subscription Verification
- 단말 요청이 사용자의 가입 요금제(Subscription)에 부합하는지 확인하여 규정 준수 여부를 검사한다. - Traffic usage reporting
- UPF와 소통하며 PDU session 별로 usage 데이터를 수집한다. - Packet routing and forwarding
- 각 PDU 세션에 필요한 라우팅 및 포워딩(전달) 규칙을 UPF에 설정한다. 즉, 특정 세션에 대해 들어오고 나가는 패킷을 어떻게 처리해야 하는지 UPF에게 명령한다. - Traffic steering
- PCF로부터 traffic steering(경로 유도) instruction이 포함된 정책 규칙을 수신받고, 이 규칙을 바탕으로 UPF가 적절한 트래픽 스티어링 정책을 적용하도록 설정한다. 즉, 서비스 요구사항에 따라 트래픽이 특정 네트워크 슬라이스나 특정 데이터 네트워크(DN)를 통해 라우팅되도록 UPF에게 지시한다.
자 이제, 실제 시그널링 프로세스를 알아보자!
(실무할 때 로그 분석에 도움이 되기를 바라며...)
UE-Initiated PDU Sesstion Establishment Process

고속도로를 뚫는 과정에 비유를 하겠다.
Step 1~3: 단말의 노크와 사령관의 등장
- 1. PDU Session Establishment Request: 단말이 데이터 길 뚫어달라며 SST(Slice/Service Type), SSC(Session and Service Continuity) Mode 등의 파라미터를 담아 AMF에 요청을 던진다.
- 2. SMF Selection: AMF가 단말의 요청 사항을 보고 이 세션을 가장 잘 관리해 줄 SMF를 선택한다.
- 3. Nsmf_PDUSession_CreateSMContext Request: AMF가 선택된 SMF에게 "이 유저 세션 관리할 방(Context) 하나 파줘!"라며 서비스 기반 인터페이스(SBI) 메시지를 보낸다.
Step 4~6: 뒷조사(?)와 본인 인증
- 4. Subscription Retrieval: 요청을 받은 SMF는 곧바로 가입자 DB인 UDM으로 달려가, 이 가입자가 해당 슬라이스를 쓸 권한이 있는지, 요금제 한도는 얼마인지 구독 정보(Subscription)를 읽어온다.
- 5. Nsmf_PDUSession_CreateSMContext Response: 가입자 정보 확인이 끝나면, SMF는 AMF에게 "방 잘 만들었어!"라고 응답을 준다.
- 6. PDU Session Authentication/Authorization: 필요에 따라 이 단말이 진짜 정당한 권한을 가진 유저가 맞는지 추가적인 인증 및 허가 절차를 거친다.
Step 7~10: 정책 수립과 일꾼(UPF) 부려먹기
- 7a & 7b. PCF Selection & Policy Association: SMF가 정책 제어 노드인 PCF를 선택하고 연결한다. 여기서 이 세션에 적용할 데이터 우선순위(QoS)와 요금 부과(Charging) 규칙을 전달받는다.
- 8. UPF Selection: 가입자 정보와 정책을 다 쥐게 된 SMF는 여기서 실제 패킷을 날라줄 가장 가까운 일꾼 장비인 UPF를 고른다
- 9. SMF-initiated SM Policy Association Modification: (Optional) 고른 UPF의 상태나 기지국 조건에 맞춰 PCF와 맺었던 정책 내용을 살짝 수정한다..
- 10a & 10b. N4 Session Establishment Request/Response: [매우 중요] SMF가 드디어 UPF에게 N4 interface를 통해 *"이 유저 패킷은 이렇게 처리해라"*라며 라우팅 규칙(PDR, FAR 등)을 주입하고, UPF는 완벽하게 준비되었다고 응답한다.
Step 11~14: 기지국 자원 할당과 마침내 데이터 개통!
- 11. Namf_Communication_N1N2MessageTransfer: SMF가 AMF에게 "코어망 쪽 준비는 다 끝났으니, 이제 기지국이랑 단말 구간 길 뚫으라고 전해줘" 하며 무선 구간에 필요한 가이드라인(QoS Profile 등)을 전달한다.
- 12. N2 PDU Session Request (NAS msg): AMF가 기지국(RAN)에 N2 interface로 이 명령을 전달한다. 이 안에는 단말에게 전해줄 PDU Session Establishment Accept 메시지도 숨겨져 있다.
- 13. AN-specific Resource Setup: 기지국이 단말과 무선 자원(DRB)을 할당하며 무선 고속도로를 깔고, 단말에게 최종적으로 "축하합니다! 5G 데이터 길이 개통되었습니다(Accept)" 메시지를 전달한다.
- 14. N2 PDU Session Response: 기지국이 AMF에게 "무선 구간까지 완벽하게 개통 완료했습니다!"라고 최종 성공 보고를 올린다.
'공부 > 통신' 카테고리의 다른 글
| 009. SA Subscription Management - UDM (0) | 2026.07.12 |
|---|---|
| 007. SA Registration Procedure - AMF 최종 (0) | 2026.06.28 |
| 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 |