소개
이 문서에서는 Cisco CUPS 제품에서 사용할 수 있는 FAR 버퍼링 제한 기능의 개념, 구현 및 혜택에 대해 설명합니다.
사전 요구 사항
요구 사항
다음 주제에 대한 지식을 보유하고 있으면 유용합니다.
- LTE(Long Term Evolution) 이동성
- 컨트롤 플레인 및 CUPS(사용자 플레인 기능) 아키텍처
사용되는 구성 요소
이 문서는 특정 소프트웨어 및 하드웨어 버전으로 한정되지 않습니다.
이 문서의 정보는 특정 랩 환경의 디바이스를 토대로 작성되었습니다. 이 문서에 사용된 모든 디바이스는 초기화된(기본) 컨피그레이션으로 시작되었습니다. 현재 네트워크가 작동 중인 경우 모든 명령의 잠재적인 영향을 미리 숙지하시기 바랍니다.
환경
환경
FAR의 기본 개념
FAR(Forwarding Action Rule)은 해당 PDR(Packet Detection Rule)과 일치하는 패킷에 대해 SGW(Serving Gateway)-U 또는 PGW(PDN Gateway)-U)가 수행해야 하는 작업을 지정합니다. FAR에 지정된 가능한 작업은 다음과 같습니다.
- 패킷을 지정된 대상(예: 인터넷/PDN(Packet Data Network) 또는 eNodeB)에 전달합니다.
- 패킷 삭제
- 패킷을 복제합니다(합법적 감청 또는 트래픽 미러링 용도로 사용됨).
- 패킷을 버퍼링합니다. 이 경우 관련 버퍼링 작업 규칙은 버퍼링 및 컨트롤 플레인 기능 알림을 위한 매개변수를 지정할 수 있습니다.
기본적으로 FAR을 사용하면 컨트롤 플레인이 사용자 플레인 트래픽 흐름과 정책 적용을 원격으로 동적으로 관리할 수 있습니다. 이는 CUPS 아키텍처의 유연성과 확장성 혜택의 핵심입니다.
배경 정보
UE(User Equipment)가 아이들(idle) 상태가 되면, MME(Mobility Management Entity)는 UE에 대한 모든 S1-U 베어러를 해제하기 위해 SGW-C에 Release Access Bearer Request를 전송한다. 동시에 SGW-C는 모든 다운링크 패킷을 삭제하고 베어러 상태를 유휴 상태로 업데이트하도록 SGW-U에 알립니다. 이때 사용자 평면 기능은 기본적으로 다운링크 데이터를 특정 한도로 버퍼링하기 시작합니다.
모든 사용자 평면들이 응답한 후, 제어 평면은 가입자 컨텍스트를 업데이트하고 베어러들이 해제되었음을 MME에 알린다. 이 절차를 수행하면 가입자 비활성화 중에 필요한 모든 사용 가능한 리소스가 확보됩니다. 이러한 메커니즘은 네트워크에서 UE 상태 천이 및 리소스 활용을 효율적으로 관리하는 데 도움이 된다.
문제/장애 설명
일반적인 시나리오에서, UE가 유휴 상태로 갈 때마다, 사용자 평면 기능은 다운링크 데이터의 버퍼링을 시작한다. CUPS 플랫폼에서는 기본적으로 FAR당 최대 5개의 패킷이 버퍼링됩니다. SGW-U에서 첫 번째 다운링크 데이터 패킷을 수신하면, SGW-C는 다운링크(DL) 트래픽을 수락하기 위해 UE의 가용성을 확인하기 위해 페이징을 시작하기 위해 MME에 다운링크 데이터 통지(DDN) 요청을 전송한다. 페이징이 성공하면 MME는 SGW-C에 Modify Bearer Request를 전송합니다. 그러면 SGW-U는 이미 대기열에 있는 데이터 패킷을 디버퍼링(de-buffer)하고 이전처럼 DL 패킷 포워딩을 시작합니다.
어떤 이유로 인해 SGW-U에서 이 5개의 패킷 버퍼 제한 임계값에 도달하기 전에 MME가 UE를 페이징할 수 없거나 MME가 UE로부터 페이징 성공 응답을 가져올 수 없는 경우, 다운링크 방향에서 DDN 버퍼 오버플로 드롭 패킷이 증가하는 것을 볼 수 있습니다. 이로 인해 최종 사용자의 모바일 데이터 서비스 품질이 저하될 수 있으며, 전체 네트워크 성능 및 사용자 환경에 영향을 미칠 수 있습니다.
DDN 성공 시나리오 통화 흐름
DDN 성공 시나리오 통화 흐름
- MME는 해당 UE에 대한 모든 베어러의 다운링크 원격 터널 엔드포인트 식별자(TEID)를 해제하기 위해 SGW-C에 해제 액세스 베어러 요청을 전송한다.
- Release Access Bearer 요청이 도착하면 SGW-C는 모든 PDN에 대한 Sx Modification Request에서 FAR with apply action을 버퍼로 업데이트하여 동일한 SGW-U에 알립니다.
- SGW-U는 해당 PDN을 위해 SGW-U에서 버퍼링을 적용한 후 Sx Modification 응답을 전송한다.
- SGW-C는 MME에 Release Access Bearer 응답을 전송합니다.
- SGW-U에 도착하는 첫 번째 다운링크 데이터는 SGW-C로 Sx 보고 요청(다운링크 데이터 보고로서의 보고 유형)을 트리거합니다.
- Sx 보고 요청 메시지의 도달 시, SGW-C는 MME를 향해 DDN 요청 메시지를 개시한다.
- SGW-C는 SGW-U로 Sx 보고 응답 메시지를 전송합니다.
- MME는 UE로 페이징 요청을 보낼 수 있으면 DDN 승인 메시지에서 원인을 '요청 수락'으로 설정하고 SGW-C로 보낸다.
- 성공적인 페이징에서, MME는 SGW에서 S1-U 연결을 설정하는 eNodeB TEID가 있는 S-GW에 Modify Bearer 요청을 전송한다.
- SGW-C는 새로운 TEID 정보에 대해 업데이트된 FAR이 포함된 Sx Modification Request를 SGW-U에 전송합니다. SGW-U는 이제 버퍼링된 모든 데이터를 eNodeB를 통해 UE에 전달할 수 있다.
- SGW-U는 SGW-C에 Sx Modification 응답을 전송합니다.
DDN 실패 시나리오 통화 흐름
DDN 실패 시나리오 통화 흐름
- MME는 해당 UE에 대한 모든 베어러의 다운링크 원격 TEID를 해제하기 위해 SGW-C에 Release Access Bearer 요청을 전송한다.
- Release Access Bearer 요청이 도착하면 SGW-C는 모든 PDN에 대한 Sx Modification Request에서 Apply Action을 버퍼로 FAR을 업데이트하여 SGW-U에 동일하게 알립니다.
- SGW-U는 해당 PDN을 위해 SGW-U에서 버퍼링을 적용한 후 Sx Modification 응답을 전송한다.
- SGW-C는 MME에 Release Access Bearer 응답을 전송합니다.
- SGW-U에 도착하는 첫 번째 다운링크 데이터는 SGW-C로 Sx 보고 요청(다운링크 데이터 보고로서의 보고 유형)을 트리거합니다.
- Sx 보고 요청 메시지의 도달 시, SGW-C는 MME를 향해 DDN 요청 메시지를 개시한다.
- SGW-C는 SGW-U로 Sx 보고 응답 메시지를 전송합니다.
- MME가 UE를 페이징할 수 없는 경우, DDN 요청을 관련 원인과 함께 거부할 수 있다.
또는
MME가 DDN 요청을 수락하는 경우, UE가 페이징에 응답하지 않았음을 SGW-C에 표시하기 위해 DDN 실패 표시를 나중에 전송합니다.
- SGW-C가 DDN 실패를 수신했고, 따라서 즉시 다음 DDN 전송을 중지하기 위해 SGW-C는 DDN 실패 타이머를 시작합니다. SGW-C는 버퍼링된 패킷을 폐기하기 위해 DROBU(Drop Buffered) 플래그가 포함된 Sx Modification Request를 전송하고 후속 패킷을 폐기하기 위해 Action을 'drop'으로 적용합니다.
- SGW-U는 SGW-C에 Sx Modification Response를 전송합니다.
- DDN 장애 타이머 만료 시 SGW-C는 버퍼링을 다시 시작하기 위해 Apply Action을 버퍼로 사용하여 Sx 수정을 시작합니다.
- DDN Success Scenario(DDN 성공 시나리오) 통화 흐름의 3단계부터 추가 단계가 진행됩니다.
솔루션 개요
사용자 평면에서 FAR당 버퍼링된 패킷 수는 Cisco CUPS 제어 평면에서 구성할 수 있습니다. 따라서 ACS(Active Charging Service) 하위 시스템에서 사용 가능한 CLI buffering-limit far-max-packets <num>을 통해 이 5개의 패킷 버퍼 제한을 극복할 수 있습니다. 서비스 사업자는 통화 모델에 따라 FAR 버퍼 제한을 제어하여 QoS(Quality of Service)를 최적화하고 패킷 삭제를 줄여 UE 경험을 개선하고 전체 네트워크 성능을 개선하기 위해 1~128 범위의 값을 결정할 수 있습니다.
설정
local]hostname# configure
[local]hostname(config)# active-charging service ecs
[local]hostname(config-acs)# buffering-limit far-max-packets <num>
[local]hostname(config-acs)# end
[local]hostname#
[local]hostname# push config-to-up all
확인
show user-plane-service statistics drop-counter
Packet Drop Data Statistics:
-----------------------------------------------
NAT packets processing failure:
NAT on demand handling: 0
IP allocation is in progress: 0
ICMP Packet translation: 0
Invalid Callid: 0
Invalid Header: 0
ICMP Payload Parse Failure: 0
FIREWALL packets processing failure:
Policy not found: 0
No Matching GX rule found: 32362
Flow apply action:
Discard: 0
Readdress Failure: 0
Redirect-URL: 0
Packet exceeds the MTU size: 1007742185
Failure in processing FAR Buffer packets: 21
FAR Apply Action Drop: 28792512
Traffic Steering Failure: 0
QER Gate Status Closed: 0
Content-filtering Discard Action: 0
IP Header Validation Failed: 6020295
ADF level failure:
UL TEID/QFI key mismatch: 0
DL TFT mismatch: 0
DL QFI mismatch: 0
URL Blacklisting Discard Action: 0
DDN buffer overflow drop packets: 11
APN AMBR Packets Drop: 5
ITC Packets Drop: 263040006
ACL Drop: 31149173
CC Dropped Packets: 1513522
FastPath Misc Drops:
Overload Protection: 0
Invalid Client: 0
Stream ID 0: 0
Invalid Stream ID: 145
OHR Mismatch Packet Drops: 7091753
'DDN buffer overflow drop packets' 카운터를 기본 buffering-limit far-max-packets 값(5개)과 비교합니다. 이 값은 동일한 통화 모델 버전 및 기간을 사용하는 5보다 큰 다른 값과 비교합니다. 값이 5보다 크면 이 카운터가 감소해야 합니다.
관련 정보