top of page

5G User Plane Function (UPF) Offload

  • dc0149
  • 4월 29일
  • 3분 분량

5G User Plane Function (UPF) Offload for Napatech Programmable SmartNICs

with Link-Inline™ Software






Introduction


Napatech의 5G User Plane Function(UPF) 오프로드 기능은 5G 코어 소프트웨어를 컨테이너화된 환경에서 실행할 때, 5G UPF 데이터 경로 전체를 Napatech SmartNIC으로 오프로드하여 성능을 극대화하는 솔루션이고 업계 표준 API와의 완벽한 소프트웨어 호환성을 유지하면서 동작합니다. 전체 데이터 경로는 SmartNIC 내에서 In-Line 또는 "헤어핀(hairpinned)" 아키텍처로 구현되며, 초기 설정 이후에는 모든 플로우가 서버 CPU를 거치지 않고 SmartNIC에서 직접 처리됩니다. 이를 통해 시스템의 전반적인 성능과 전력 효율을 극대화하는 동시에, 지연(latency)과 호스트 자원의 사용률을 최소화할 수 있습니다.



주요 기능 (Key Features)


  • 2x100G 와이어 스피드(Wire Speed) 패킷 처리 지원

  • 최대 2억 2천만 개의 동시 플로우 처리 가능

    (구성된 액션에 따라 다르며, 플로우 방향별 메트릭 및 메타데이터 제공)

  • Cuckoo 구조를 이용해 최적화된 플로우 테이블 활용(약 90% 메모리 활용률 달성)

  • 플로우 테이블은 SmartNIC이 독립적으로 유지 관리하며,호스트 CPU 개입이 필요 없음

  • 128비트 SHA-1 해시를 이용해플로우 조회 시 뛰어난 분산(distribution) 성능 제공

  • 초당 1억 4천만 회(Lps) 플로우 조회 처리(상태 기반(stateful) 운영 기준),일반적인 패킷 크기에서도 완전한 와이어 스피드 보장

  • 지능형 메모리 액세스 최적화를 통한 성능 향상

  • FPGA 내장 플로우 캐시를 활용하여약 10,000개의 "핫 플로우"를 SDRAM 접근 없이 처리,대부분의 사용 사례에서 2x100Gbps 풀 라인레이트 지원

  • 플로우 테이블은 온보드 메모리에 전량 저장

  • 초당 300만 플로우 이상의 학습/구성 속도

  • 전용 고속 DMA 엔진을 기반으로 한 빠른 플로우 학습

  • 최대 128개 스레드/프로세스가 락리스(lockless) 방식으로병렬 학습 지원

  • 완전한 상태 기반(Stateful) 플로우 운영(플로우 레코드가 패킷 단위로 지속적으로 업데이트)

  • TCP 상태, 타임아웃, 애플리케이션 트리거에 따라 플로우 종료 지원

  • 플로우 정보 레코드를 생성하여 NetFlow/IPFIX로 활용 가능

  • 수집 가능한 메트릭: 패킷 수, 바이트 수, TCP 플래그

  • 소프트웨어 폴백(Software Fallback)을 결합할 경우패킷 손실 없이 운영 가능

  • Fast Path 포워딩 지연 시간 4μs 미만


Flow Manager

SmartNIC은 완전한 플로우 인식 기능을 갖추고 있으며,초고속 플로우 조회가 가능하고,인라인(헤어핀) 아키텍처를 통한 상태 기반(stateful) 인라인 처리를 지원합니다.


Flow Match Actions

각 플로우마다 하나 이상의 액션을 설정할 수 있으며,패킷이 해당 플로우와 일치할 경우 설정된 액션이 자동으로 실행됩니다.


Action List :


  • Drop

  • Fast forward (inline / hairpin architecture)

  • RSS (load balancing to host)

  • GTP Encapsulation/Decapsulation (1k L2, L3 or L4 setups)

  • Tunnel ID is configured per Flow

  • MBR (Maximum Bit Rate) policing

  • DSCP (Differentiated Services Code Point) tagging

  • NAT (Network Address Translation)

  • Flow mirroring


모든 액션은 Rx 플로우 테이블 정보를 기반으로 실행.


GTPU Tunnels


SmartNIC은 Up Link Tunnel 에서는 GTP Decapsulation 를, Downlink Tunnel에서는 GTP Capsulation 기능을 지원하며 모든 처리는 호스트 CPU의 개입 없이 SmartNIC 내에서 실행됩니다.


MBR Policing

SmartNIC은 Bit-Rate Control를 지원하여, 장비가 설정된 Maximum Bit Rate (MBR)를 초과하지 않도록 보장합니다.


Usage Statistics

SmartNIC은 과금(Charging) 및 네트워크 모니터링(Network Monitoring)에 필요한 데이터를 제공할 수 있도록 필요한 Counter 및 Metric 수집 기능을 지원합니다.


DSCP (QOS) Tagging


SmartNIC은 Flow별 DSCP 마킹을 지원하여, 5G QoS (Quality of Service)을 구현할 수 있습니다.

The SmartNIC enables DSCP marking on a per-flow basis, enabling full support for 5G Quality of Service (QoS).


Host CPU – SmartNIC에서 헤어핀 처리되지 않은 Flow에 대해서는 Software에서 처리합니다.


  • Load Balancer - Host App 으로 전달되는 트래픽은 Flow 정보를 기반으로 로드 밸런싱될 수 있습니다. 알려지지 않은 플로우에 속하는 패킷의 경우, 패킷 방향, Tunnel ID(TEID), 5-Tuples, QFI 등 패킷 정보를 기반으로 로드 밸런싱할 수 있습니다.


  • Flow Lookup - 모든 패킷은 SmartNIC Flow Manager에 의해 조회되며, Host App에 전달되기 전에 플로우 관련 정보로 태깅될 수 있습니다.


  • Policy Actions -  Partial(부분) Offload 를 위한 FAR(Forward Action Rule)이 적용됩니다. SmartNIC은 GTP-U Decapsulation 및 Encapsulation을 수행합니다.



NAT - SmartNIC은 uplink와 downlink 모두에서 Network Address Translation을 수행합니다.


Flow Mirroring


SmartNIC은 고성능 트래픽 Mirroring 및 Tunneling 기능을 구현하며, 플로우 매니저(Flow Manager)는 각각의 플로우에 대해 특정 액션을 적용합니다. "N3" (RAN to Core) 및 "N6" (Core to Data Networks) 인터페이스 모두 mirror feed를 통해 Tunneling되어 중앙 집중형 모니터링 시스템으로 전달될 수 있습니다.


Software & APIs


  • DPDK

    • RTE_FLOWS for industry-standard flow configuration


  • Napatech은 아래와 같은 샘플 애플리케이션을 지원합니다.

    • Software flow learning

    • Software flow lookup

    • Software exception handling

    • Software flow termination handling


Host software environment


Napatech’s 5G UPF acceleratorKubernetesDocker Orchestration 기반 컨테이너 환경에서 동작합니다.

 

Supported Hardware

  • NT400D13 2x100G

  • NT400D11 2x100G

  • NT200A02 2x100G

 
 
 

Comments


bottom of page