Interworking with EPC 3GPP Rel 18
3GPP Release 18에서는 **EPC(Evolved Packet Core)**와 5GC(5G Core) 간의 Interworking 기능이 더욱 정교하게 확장되었습니다. 이는 기존 LTE 기반 네트워크와 5G SA/NSA 구조 간의 연속적인 서비스 제공, 세션 유지, 핸드오버, 슬라이스 대응 등을 위해 필요합니다.
1. Interworking with EPC의 목적
LTE(EPC) ↔ 5G Core(5GC) 간의 네트워크 전환 및 공존을 지원하여 서비스 단절 없는 사용자 경험을 제공함.
2. 지원 시나리오 유형
시나리오 | 설명 |
EPS → 5GS 이동 | LTE → 5G 단말 이동 (ANDSF or mobility-triggered) |
5GS → EPS 이동 | 5G 단말이 LTE 커버리지로 이동 시 fallback |
Dual Connectivity (EN-DC) | LTE(eNB) + NR(gNB) 동시 연결 (NSA 구조) |
Interworking with shared policy & charging | PCF ↔ PCRF 연동 또는 매핑 |
3. Rel-18 주요 확장 사항
기능 | 설명 |
Common PDU Session continuity | PDU 세션을 EPC-5GC 간 유지하도록 UPF anchor 공유 또는 매핑 |
Common subscription profile | UDM(HSS 포함)이 EPS+5GC 모두를 커버하는 통합 Subscription 관리 |
Policy Interworking | PCF와 PCRF 간 policy rule 변환 또는 bridging |
QoS mapping (5QI ↔ QCI) | QoS 흐름 레벨에서 5G QoS와 LTE QoS 간 매핑 룰 강화 |
N26 Interface 활용 | AMF ↔ MME 직접 연동 (핵심: UE context handover) |
Interworking Slice mapping | S-NSSAI → APN/QCI 매핑 규칙 (Rel-18 최초 formal 정책 확장) |
4. 메시지 흐름 예시 (5GS → EPS fallback)
└── Session context 요청 ───▶ [AMF]
└── Context 전달 ──▶ [MME]
│
[SGW/PGW] ←→ [UPF]
- N26 인터페이스 활용 시 AMF ↔ MME 직접 UE 정보 전달
- PDN 연결 재수립 없이 seamless fallback 가능
5. QoS 매핑 예시
5QI | (5G)QCI | (LTE)용도 예 |
1 | 1 | VoLTE / IMS |
6 | 6 | TCP 데이터 / 일반 인터넷 |
8 | 8 | Video Streaming |
9 | 9 | Default best-effort |
6. 통합 Subscription 예시 (UDM + HSS)
"subscriberId": "imsi-001010000000001",
"eps": {
"apn": "internet",
"qci": 9,
"ambr": "10Mbps"
},
"5gs": {
"dnn": "internet",
"s-nssai": {"sst": 1, "sd": "112233"},
"5qi": 9,
"sessionType": "IPv4v6"
}
}
7. 주요 3GPP 표준 문서
문서 | 설명 |
TS 23.501 | EPC-5GC mobility & PDU interworking 구조 |
TS 23.502 | Handover 절차 상세 (N26, Session continuity) |
TS 29.212/29.514 | PCF-PCRF 간 policy 연동 방식 |
TS 23.503 | Policy interworking framework 정의 (Rel-18) |
확장 가능한 항목
- N26 기반 handover 메시지 흐름 시각화
- PCF ↔ PCRF 연동 인터페이스 정의 (OpenAPI)
- 5QI-QCI 동적 매핑 시뮬레이터 코드
- EPC ↔ 5GC Dual Stack Subscription 변환 도구
3GPP Rel-18 기준 EPC–5GC 연동(Interworking)의 장단점을 사업자, 기업 고객, 일반 개인 사용자 관점으로 각각 정리해드리겠습니다.
1. 통신사업자(MNO) 관점
장점 | 단점 |
투자 보호: 기존 LTE EPC 인프라를 그대로 활용 가능 | Dual Core 운용의 복잡성 (EPC + 5GC) |
커버리지 극대화: LTE 기반의 전국망과 5G 연동으로 품질 개선 | O&M(운영/유지보수) 비용 증가 |
이동성 보장: N26 기반 seamless handover로 사용자 이탈 방지 | Policy/QoS 변환 로직 구현 필요 (5QI-QCI 매핑 등) |
단말 호환성 확대: Non-5G 단말도 NSA 환경에서 일부 5G 혜택 가능 | 5GC 단독 기능(LADN, NWDAF 등) 적용 어려움 |
5G 도입의 유연성 확보: NSA→SA 전환 단계에서 안정적 이행 가능 | 구형 장비 호환성/지원종료 이슈 |
2. 기업 고객(예: 스마트팩토리, 공공기관 등)
장점 | 단점 |
장비 교체 부담 최소화: 일부 단말은 LTE 기반 유지 가능 | Full 5G 기능 사용 제약 (Network slicing 등) |
업무 연속성 보장: 네트워크 변경 중단 없이 서비스 운영 가능 | 특정 서비스는 여전히 EPC QoS 제약 받음 |
이중 연결 활용 가능: EN-DC로 속도와 커버리지 동시 확보 | 보안 정책 및 인증 방식 이중 적용 필요 가능성 |
Legacy 시스템과의 연동 용이 | EPC 트래픽 분석 및 통합 모니터링 어려움 |
3. 일반 개인 사용자 관점
장점 | 단점 |
속도+커버리지 조합 가능: EN-DC 환경에서 LTE + NR 동시에 활용 가능 | 실제 체감 속도 향상은 제한적일 수 있음 (NSA 한정) |
핸드오버 안정성 향상: 5G 사용 중 LTE로 이동 시 연결 끊김 최소화 | SA 단독 서비스(초저지연 등) 미지원 |
구형 단말도 5G 혜택 일부 가능 | 완전한 5G 요금제 혜택 받기 어려움 |
배터리 효율 향상 (5G fallback) | 지역에 따라 핸드오버 시 음성/데이터 순간 끊김 발생 가능 |
요약
관점 | 장점 요약 | 단점 요약 |
사업자 | 인프라 효율, 투자 보호 | 운영 복잡성 증가 |
기업 고객 | 유연한 네트워크 전환 | 일부 기능 제한 |
개인 사용자 | 속도+커버리지 조화 | SA 전용 기능은 제한 |
# 1. 슬라이스 대시보드 HTML/Python 완성본 (Streamlit 사용 예시)
import streamlit as st
import pandas as pd
import matplotlib.pyplot as plt
st.title("Network Slice SLA Dashboard")
# 슬라이스 상태 데이터
slices = pd.DataFrame({
"Slice": ["Factory", "Public Safety", "Event", "IoT", "Auto Vehicles"],
"Current Load": [68, 45, 85, 30, 95],
"Max SLA": [80, 60, 90, 50, 95]
})
# 시각화
st.bar_chart(slices.set_index("Slice"))
# 상태 판별
slices["Status"] = slices.apply(lambda row:
"Maxed" if row["Current Load"] >= row["Max SLA"] else
"Caution" if row["Current Load"] >= 0.9 * row["Max SLA"] else
"Normal", axis=1)
st.dataframe(slices)
# 2. 여러 슬라이스 병렬 비교 시뮬레이터
import datetime
def admission_decision(req, policy):
now = datetime.datetime.strptime(req["time"], "%H:%M")
start = datetime.datetime.strptime(policy["time_range"][0], "%H:%M")
end = datetime.datetime.strptime(policy["time_range"][1], "%H:%M")
return "Permit" if (
req["location"] in policy["locations"] and
req["subscription"] in policy["subscriptions"] and
start <= now <= end and
req["load"] <= policy["max_load"]
) else ("Defer" if req["load"] > policy["max_load"] else "Reject")
# 샘플 정책 및 요청
policy1 = {"locations": ["factory-a"], "subscriptions": ["premium"], "max_load": 80, "time_range": ("08:00", "20:00")}
policy2 = {"locations": ["event-hall"], "subscriptions": ["vip"], "max_load": 90, "time_range": ("10:00", "22:00")}
req1 = {"location": "factory-a", "subscription": "premium", "load": 75, "time": "09:00"}
req2 = {"location": "event-hall", "subscription": "vip", "load": 92, "time": "11:00"}
print("Decision 1:", admission_decision(req1, policy1))
print("Decision 2:", admission_decision(req2, policy2))
# 3. PDU Set 기반 정책 JSON 예시
pdu_set_policy = {
"policyRuleId": "pdu_set_policy_01",
"pduSetId": "set_ue_001",
"includedPduSessions": ["pdu1", "pdu2"],
"commonQosPolicy": {
"5qi": 9,
"gbr": "500Mbps",
"latency": "30ms"
},
"mobilityOptimization": true,
"handoverAnchorControl": "set-level",
"chargingGroup": "enterprise-premium"
}
# 4. PDU Set 기반 대시보드 UI 구성 예시
"""
- 시각화 요소:
- Set ID별로 포함된 PDU 세션 목록 (Table)
- 각 세션의 QoS 파라미터 (Bar chart)
- 전체 PDU Set에 적용된 공통 정책 (Text summary)
- UI 구성 (Streamlit 또는 Dash 추천):
- Sidebar에서 Set 선택
- Main 화면에 세션 리스트 + 공통 정책 표시
- QoS 변화 시뮬레이터 버튼 추가 (set 단위 latency/gbr 조절)
- 확장 기능:
- 사용자별 PDU Set 구성 통계 시각화
- Set 간 QoS 격차 비교
"""
# 5. PDU Set 지원 PCF 인터페이스 정의 (OpenAPI 예시)
"""
paths:
/pdu-set-policy:
post:
summary: Register or update a PDU Session Set Policy
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
pduSetId: {type: string}
includedPduSessions: {type: array, items: {type: string}}
commonQosPolicy:
type: object
properties:
5qi: {type: integer}
gbr: {type: string}
latency: {type: string}
handoverAnchorControl: {type: string}
chargingGroup: {type: string}
responses:
200:
description: Acknowledgement
content:
application/json:
schema:
type: object
properties:
result: {type: string}
"""