KR20220089045A - 사설 5g망 구축을 위한 fpga 기반 mec 데이터 플레인 시스템 - Google Patents

사설 5g망 구축을 위한 fpga 기반 mec 데이터 플레인 시스템 Download PDF

Info

Publication number
KR20220089045A
KR20220089045A KR1020200179320A KR20200179320A KR20220089045A KR 20220089045 A KR20220089045 A KR 20220089045A KR 1020200179320 A KR1020200179320 A KR 1020200179320A KR 20200179320 A KR20200179320 A KR 20200179320A KR 20220089045 A KR20220089045 A KR 20220089045A
Authority
KR
South Korea
Prior art keywords
network
gtp
traffic
engine
packet
Prior art date
Application number
KR1020200179320A
Other languages
English (en)
Other versions
KR102458785B1 (ko
Inventor
서준오
윤형철
김홍석
윤치호
Original Assignee
포인트아이 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 포인트아이 주식회사 filed Critical 포인트아이 주식회사
Priority to KR1020200179320A priority Critical patent/KR102458785B1/ko
Publication of KR20220089045A publication Critical patent/KR20220089045A/ko
Application granted granted Critical
Publication of KR102458785B1 publication Critical patent/KR102458785B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • H04L45/745Address table lookup; Address filtering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/34Circuit design for reconfigurable circuits, e.g. field programmable gate arrays [FPGA] or programmable logic devices [PLD]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4633Interconnection of networks using encapsulation techniques, e.g. tunneling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/02Capturing of monitoring data
    • H04L43/026Capturing of monitoring data using flow identification
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/02Capturing of monitoring data
    • H04L43/028Capturing of monitoring data by filtering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/24Multipath
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/12Avoiding congestion; Recovering from congestion
    • H04L47/125Avoiding congestion; Recovering from congestion by balancing the load, e.g. traffic engineering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/20Traffic policing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/2441Traffic characterised by specific attributes, e.g. priority or QoS relying on flow classification, e.g. using integrated services [IntServ]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2212/00Encapsulation of packets

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

본 발명의 일 실시예에 따른 사설 5G망 구축을 위한 FPGA 기반 MEC 데이터 플레인 시스템은 미리 설정된 트래픽 정책 룰(Traffic Policy Rule)에 따라 5G 데이터 트래픽을 로컬(Private 5G Network), 또는 컨트롤 플레인(5G-CP)과 유저 플레인(UPF)을 구비하는 퍼블릭 5G 네트워크(Public 5G Network)로 라우팅하는 MEC(Multi-access/Mobile Edge Computing) 데이터 플레인(Data Plane); 및 상기 데이터 플레인과 단말 사이에서 상기 5G 데이터 트래픽을 통신 중계하는 5G 기지국을 포함한다.

Description

사설 5G망 구축을 위한 FPGA 기반 MEC 데이터 플레인 시스템{FPGA-based MEC data plane system for building private 5G network}
본 발명의 실시예들은 Public 5G Network의 컨트롤 플레인(Control Plane), 유저 플레인(UPF: User Plane Function)을 사용하면서 5G 기지국과 MEC 데이터 플레인(Data Plane)의 로컬 구성을 토대로 Private 5G Network를 구축할 수 있는 FPGA 기반 MEC 데이터 플레인 시스템에 관한 것이다. 참고로, 상기 MEC 데이터 플레인 시스템은 MEC 라우터(Router)란 용어로 사용되는 경우가 있으나 본 명세서에서는 상기 MEC 데이터 플레인 시스템으로 단일화하여 사용하기로 한다.
이동통신 사업자들은 5G 개인향 서비스의 성장 한계에 공감하고, 5G 기업향 서비스 쪽으로 눈을 돌리고 있다. 5G 기업향 서비스는 Private 5G Network(망)을 이용해 특정 기업내 특정, 특화된 서비스를 제공하는 것으로, 국내외에서 활발히 성장, 확산되어 가고 있다.
SKT, KT는 5G 기지국에 MEC을 적용하여 통상 4단계(단말-기지국-교환국-데이터센터)의 데이터 전송 과정을 3단계(단말-기지국-교환국)로 줄여 초고속, 초저지연을 보장하고 있고, 이 기술을 이용하여 5G 기업향 서비스인 Smart Factory 플랫폼 서비스를 실시하고 있다.
과학기술정보통신부에서는 5G와 결합, 보조하는 비면허 기술을 5G 성능으로 고도화하고 저비용, 고신뢰 전용망으로 Smart Factory에 적용하여 비면허 5G 장비, 단말 시장의 선점을 기대하고 있다. 정부는 산업계 수요 및 통신 시장 경쟁 상황을 고려하여, 면허대역 특화망(Local 5G) 도입 여부를 검토하고 있다.
일본 Local 5G(2019.6), 미국 CBRS(Citizen Broadband Radio Service) 5G(2018.11), 독일 Private 5G(2019.11) 등, 기업용 사설 5G 주파수를 이용하여 자체 소유의 Private 5G망을 구축하려는 국가와 기업들이 늘어나고 있고, 또한 이를 정부 차원에서 5G 시장의 성장 및 선점을 위해 전략적으로 육성하고 있다. 독일에서 5G 기반 제조업 고도화를 추진하는 5G ACIA(Alliance for Connected Industries and Automation)를 출범(2018.4)하여 이동통신사를 벗어나 독자적인 5G망을 구축하고 있다.
이러한 5G 기반 시스템은 TaaS(Telco as a Service)를 근간으로 하여 x86 Generic Server를 사용한 가상화 및 클라우드 네이티브 향으로 제작되고 있고, 이러한 환경에서의 초고속, 초저지연 패킷 처리가 핵심 기술 요소이다. 그러나, 트래픽 처리량이 CPU 코어 수, NIC 대역/카드 수와 선형적으로 비례하지 않으며, DPDK(Intel Data Plane Development Kit), SR-IOV(Single Root I/O Virtualization), VM CPU pinning과 같은 성능 튜닝을 거쳐도 목표로 한 성능치를 크게 만족시키지 못하고 있다.
관련 선행기술로는 대한민국 공개특허공보 제10-2018-0119162호(발명의 명칭: 모바일 엣지에서의 컴퓨팅을 위한 플랫폼, 공개일자: 2018.11.01.)가 있다.
본 발명의 일 실시예는 Public 5G Network의 컨트롤 플레인(Control Plane), 유저 플레인(UPF: User Plane Function)을 사용하면서 5G 기지국과 MEC 데이터 플레인(Data Plane)의 로컬 구성을 토대로 Private 5G Network를 구축할 수 있는 사설 5G망 구축을 위한 FPGA 기반 MEC 데이터 플레인 시스템을 제공한다.
본 발명이 해결하고자 하는 과제는 이상에서 언급한 과제(들)로 제한되지 않으며, 언급되지 않은 또 다른 과제(들)은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
본 발명의 일 실시예에 따른 사설 5G망 구축을 위한 FPGA 기반 MEC 데이터 플레인 시스템은 미리 설정된 트래픽 정책 룰(Traffic Policy Rule)에 따라 5G 데이터 트래픽을 로컬(Private 5G Network), 또는 컨트롤 플레인(5G-CP)과 유저 플레인(UPF)을 구비하는 퍼블릭 5G 네트워크(Public 5G Network)로 라우팅하는 MEC(Multi-access/Mobile Edge Computing) 데이터 플레인(Data Plane); 및 상기 데이터 플레인과 단말 사이에서 상기 5G 데이터 트래픽을 통신 중계하는 5G 기지국을 포함한다.
상기 MEC 데이터 플레인은 상기 트래픽 정책 룰에 따라 상기 5G 데이터 트래픽의 패킷 전송경로가 상기 단말에서 상기 로컬로 정해진 경우, 상기 단말로부터 전송된 GTP 패킷을 디캡슐레이션(GTP Decapsulation) 하여 페이로드(Payload)만 상기 로컬로 전송하는 업링크 트래픽 필터(Uplink Traffic Filter) 처리부; 및 상기 트래픽 정책 룰에 따라 상기 5G 데이터 트래픽의 패킷 전송경로가 상기 로컬에서 상기 단말로 정해진 경우, 상기 로컬로부터 전송된 패킷을 GTP 패킷으로 인캡슐레이션(GTP Encapsulation) 하여 상기 단말로 전송하는 다운링크 트래픽 필터(Downlink Traffic Filter) 처리부를 포함할 수 있다.
상기 업링크 트래픽 필터 처리부는 상기 트래픽 정책 룰에 따라 상기 5G 데이터 트래픽의 패킷 전송경로가 상기 단말에서 상기 퍼블릭 5G 네트워크로 정해진 경우, 상기 단말로부터 전송된 GTP 패킷을 바이패스(Bypass) 하여 상기 퍼블릭 5G 네트워크로 전송하고, 상기 다운링크 트래픽 필터 처리부는 상기 트래픽 정책 룰에 따라 상기 5G 데이터 트래픽의 패킷 전송경로가 상기 퍼블릭 5G 네트워크에서 상기 단말로 정해진 경우, 상기 퍼블릭 5G 네트워크로부터 전송된 GTP 패킷을 바이패스(Bypass) 하여 상기 단말로 전송할 수 있다.
본 발명의 일 실시예에 따른 사설 5G망 구축을 위한 FPGA 기반 MEC 데이터 플레인 시스템은 상기 트래픽 정책 룰을 FPGA(Field Programming Gate Array) 칩의 내부 메모리에 적재하며, 상기 FPGA 칩을 이용하여 패킷 가속화 기능을 구현하기 위한 FPGA 카드를 더 포함할 수 있다.
상기 FPGA 카드는 상기 트래픽 정책 룰을 참조하여 상기 5G 데이터 트래픽의 패킷을 목적지, 액션(Action)별로 분류하고 상기 패킷에 대해 어떠한 액션을 수행할지를 결정하는 필터 엔진; 상기 필터 엔진에 의해 결정된 액션에 따라 상기 패킷을 조작하는 상기 에디팅 엔진; 및 상기 필터 엔진에 의해 결정된 목적지에 따라 상기 패킷을 전달하는 패킷 라우팅 엔진을 포함할 수 있다.
상기 FPGA 카드는 상기 패킷을 읽어 헤더(Header)를 디코딩(Decoding)하여 상기 에디팅 엔진에서 필요한 필드 정보를 추출하는 파서(Parser) 엔진; 및 상기 FPGA 칩의 내부 메모리에 적재된 상기 트래픽 정책 룰을 참조하여 저지연의 폴리시 룩업 오퍼레이션(Policy Lookup Operation)을 수행하는 트래픽 폴리시 엔진을 더 포함하고, 상기 필터 엔진은 상기 트래픽 폴리시 엔진의 폴리시 룩업 오퍼레이션에 따라 상기 패킷에 대한 액션(GTP 인캡슐레이션, GTP 디캡슐레이션, 바이패스)을 결정하여 상기 에디팅 엔진으로 처리를 넘길 수 있다.
상기 에디팅 엔진은 상기 필터 엔진에서 GTP 인캡슐레이션에 관한 액션이 결정된 경우, 상기 파서 엔진에 의해 추출된 필드 정보 및 상기 트래픽 폴리시 엔진의 GTP 인캡슐레이션 테이블에 설정되어 있는 상기 필드 정보의 값을 참조하여 상기 패킷에 대해 GTP 인캡슐레이션을 진행하고, 상기 필터 엔진에서 GTP 디캡슐레이션에 관한 액션이 결정된 경우, 상기 필드 정보 및 상기 트래픽 폴리시 엔진의 GTP 디캡슐레이션 테이블에 설정되어 있는 상기 필드 정보의 값을 참조하여 상기 패킷에 대해 GTP 디캡슐레이션을 진행하며, 상기 필터 엔진에서 바이패스에 관한 액션이 결정된 경우, 상기 패킷에 대해 GTP 인캡슐레이션 또는 GTP 디캡슐레이션을 진행하지 않고 바이패스로 처리할 수 있다.
상기 FPGA 카드는 상기 FPGA 카드로 들어오거나 나가는 패킷을 카운팅하고 통계화하여 각 포트별, 연동 시스템별로 트래픽 통계를 산출하고, 네트워크 부하 분산을 통한 지연 최소화 및 성능 최적화를 위하여 상기 산출된 트래픽 통계를 라우팅 정책에 반영하는 트래픽 통계 엔진을 더 포함할 수 있다.
상기 에디팅 엔진은 프로토콜 조작 엔진으로서 GTP 터널링 엔진을 서브 클래스(Sub Class)로 구비하고, 상기 GTP 터널링 엔진은 상기 트래픽 정책 룰을 참조하여 상기 단말에서 수신된 패킷의 목적지를 구분하여 GTP 디캡슐레이션을 진행하는 GTP 디캡슐레이터(Decapsulator); 및 상기 트래픽 정책 룰을 참조하여 상기 Private 5G Network(프라이빗 5G 네트워크)에서 수신된 패킷의 발신지를 구분하여 GTP 인캡슐레이션을 진행하는 GTP 인캡슐레이터(Encapsulator)를 포함할 수 있다.
상기 GTP 인캡슐레이터는 발신지 IP(Src IP), 목적지 IP(Dst IP), 프로토콜 아이디(Protocol ID), 발신지 포트(Src Port) 및 목적지 포트(Dst Port)를 포함하는 5-튜플(Tuple)을 GTP 인캡슐레이션 테이블(터널 엔드포인트 아이디, 단말 IP 정보를 포함하는 매핑 테이블)과 비교하여 GTP 터널 필드(정보)를 설정하되, 상기 GTP 터널 정보는 상기 퍼블릭 5G 네트워크의 컨트롤 플레인(5G-CP) 또는 기지국(gNodeB)에서 결정하여 상기 유저 플레인(UPF)에서 사용하지만, 상기 FPGA 기반 MEC 데이터 플레인 시스템은 상기 컨트롤 플레인(5G-CP)을 연동하지 않기 때문에 상기 퍼블릭 5G 네트워크의 유저 플레인(UPF)에서 상기 단말로 전송되는 패킷에서 상기 GTP 터널 정보를 추출하여 러닝(Learning)하는 과정이 필요하며, 상기 추출된 GTP 터널 정보는 상기 GTP 인캡슐레이션 테이블에 반영되어 상기 프라이빗 5G 네트워크의 다운링크 시 사용될 수 있다.
기타 실시예들의 구체적인 사항들은 상세한 설명 및 첨부 도면들에 포함되어 있다.
본 발명의 일 실시예에 따르면, Public 5G Network의 컨트롤 플레인(Control Plane), 유저 플레인(UPF: User Plane Function)을 사용하면서 5G 기지국과 MEC 데이터 플레인(Data Plane)의 로컬 구성을 토대로 Private 5G Network를 구축할 수 있다.
본 발명의 일 실시예에 따르면, 5G 초저지연 Edge Computing을 위한 FPGA 기반 MEC Data Plane으로 Private 5G Network를 간단하고 저비용으로 구축할 수 있다.
도 1은 본 발명의 일 실시예에 따른 사설 5G망 구축을 위한 FPGA 기반 MEC 데이터 플레인 시스템의 네트워크 구성을 도시한 도면이다.
도 2는 도 1의 MEC 데이터 플레인을 통한 5G 패킷 라우팅 과정을 도시한 도면이다.
도 3은 본 발명의 트래픽 정책 룰에 따른 업링크 트래픽의 일례를 도시한 도면이다.
도 4는 본 발명의 트래픽 정책 룰에 따른 다운링크 트래픽의 일례를 도시한 도면이다.
도 5는 본 발명의 다른 실시예에 따른 사설 5G망 구축을 위한 FPGA 기반 MEC 데이터 플레인 시스템의 네트워크 구성을 도시한 도면이다.
도 6은 도 5의 FPGA 카드의 상세 구성을 설명하기 위해 도시한 블록도이다.
도 7은 GTP 터널 사용 구간과 패킷 처리의 일례를 도시한 도면이다.
도 8은 본 발명의 다른 실시예에 있어서 외부 시스템 연동을 위한 Traffic Policy/Card Interface를 설명하기 위해 도시한 도면이다.
도 9 내지 도 11은 라우팅이 결정되지 않은 패킷의 처리 및 패킷 덤프의 기능을 설명하기 위해 도시한 도면이다.
도 12는 GTP 인캡슐레이션 방법을 상세히 설명하기 위해 도시한 도면이다.
도 13은 GTP 인캡슐레이션 테이블의 설정에 관한 일례를 도시한 도면이다.
본 발명의 이점 및/또는 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나, 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 것이며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하며, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성요소를 지칭한다.
또한, 이하 실시되는 본 발명의 바람직한 실시예는 본 발명을 이루는 기술적 구성요소를 효율적으로 설명하기 위해 각각의 시스템 기능구성에 기 구비되어 있거나, 또는 본 발명이 속하는 기술분야에서 통상적으로 구비되는 시스템 기능 구성은 가능한 생략하고, 본 발명을 위해 추가적으로 구비되어야 하는 기능 구성을 위주로 설명한다. 만약 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자라면, 하기에 도시하지 않고 생략된 기능 구성 중에서 종래에 기 사용되고 있는 구성요소의 기능을 용이하게 이해할 수 있을 것이며, 또한 상기와 같이 생략된 구성 요소와 본 발명을 위해 추가된 구성 요소 사이의 관계도 명백하게 이해할 수 있을 것이다.
또한, 이하의 설명에 있어서, 신호 또는 정보의 "전송", "통신", "송신", "수신" 기타 이와 유사한 의미의 용어는 일 구성요소에서 다른 구성요소로 신호 또는 정보가 직접 전달되는 것뿐만이 아니라 다른 구성요소를 거쳐 전달되는 것도 포함한다. 특히 신호 또는 정보를 일 구성요소로 "전송" 또는 "송신"한다는 것은 그 신호 또는 정보의 최종 목적지를 지시하는 것이고 직접적인 목적지를 의미하는 것이 아니다. 이는 신호 또는 정보의 "수신"에 있어서도 동일하다.
이하에서는 첨부된 도면을 참조하여 본 발명의 실시예들을 상세히 설명하기로 한다.
도 1은 본 발명의 일 실시예에 따른 사설 5G망 구축을 위한 FPGA 기반 MEC 데이터 플레인 시스템의 네트워크 구성을 도시한 도면이다.
도 1을 참조하면, 본 발명의 일 실시예에 따른 사설 5G망 구축을 위한 FPGA 기반 MEC 데이터 플레인 시스템(100)은 MEC(Multi-access/Mobile Edge Computing) 데이터 플레인(Data Plane)(110), 5G 기지국(120), 단말(130), 유저 플레인(UPF)(140), 컨트롤 플레인(5G-CP)(150), 및 5G 기지국(160)을 포함하여 구성될 수 있다.
여기서, 상기 MEC 데이터 플레인(110), 상기 5G 기지국(120), 상기 단말(130)은 프라이빗 5G 네트워크(Private 5G Network)(101), 즉 로컬(Local)에 위치하고, 상기 유저 플레인(UPF)(140), 상기 컨트롤 플레인(5G-CP)(150), 상기 5G 기지국(160)은 퍼블릭 5G 네트워크(Public 5G Network)(102)에 위치하는 것이 바람직하다. 아울러, MEC 플랫폼이 상기 Private 5G Network(101) 및 상기 Public 5G Network(102)에 각각 위치할 수 있다.
상기 MEC 데이터 플레인(110)은 미리 설정된 트래픽 정책 룰(Traffic Policy Rule)에 따라 5G 데이터 트래픽을 로컬(Private 5G Network, 101), 또는 Public 5G Network(102)로 라우팅하는 역할을 수행할 수 있다.
이를 위해, 상기 MEC 데이터 플레인(110)은 도 2에 도시된 바와 같이 업링크 트래픽 필터(Uplink Traffic Filter) 처리부(111), 및 다운링크 트래픽 필터(Downlink Traffic Filter) 처리부(112)를 포함할 수 있다. 참고로, 도 2는 도 1의 MEC 데이터 플레인(110)을 통한 5G 패킷 라우팅 과정을 도시한 도면이다.
상기 업링크 트래픽 필터 처리부(111)는 도 3을 더 참조하여 설명하면, 상기 트래픽 정책 룰에 따라 상기 5G 데이터 트래픽의 패킷 전송경로가 상기 단말(130)에서 상기 로컬, 즉 Private 5G Network(101)로 정해진 경우(1 -> 2), 상기 단말(130)로부터 전송된 GTP 패킷을 디캡슐레이션(GTP Decapsulation) 하여 Private Network Application(113)으로 전달함으로써 페이로드(Payload)만 상기 로컬(Private 5G Network)(101)로 전송할 수 있다. 참고로, 도 3은 본 발명의 트래픽 정책 룰에 따른 업링크 트래픽의 일례를 도시한 도면이다.
상기 업링크 트래픽 필터 처리부(111)는 상기 트래픽 정책 룰에 따라 상기 5G 데이터 트래픽의 패킷 전송경로가 상기 단말(130)에서 상기 Public 5G Network(102)로 정해진 경우(1 -> 3), 상기 단말(130)로부터 전송된 GTP 패킷을 바이패스(Bypass) 하여 Public Network 5G CN (UPF)(114)로 전달함으로써 상기 GTP 패킷을 그대로 상기 Public 5G Network(102)로 전송할 수 있다.
상기 다운링크 트래픽 필터 처리부(112)는 도 4를 더 참조하여 설명하면, 상기 트래픽 정책 룰에 따라 상기 5G 데이터 트래픽의 패킷 전송경로가 상기 로컬(Private 5G Network)(101)에서 상기 단말(130)로 정해진 경우(4 -> 6), 상기 로컬(Private 5G Network)(101)로부터 전송된 패킷을 GTP 패킷으로 인캡슐레이션(GTP Encapsulation) 하여 상기 단말(130)로 전송할 수 있다. 참고로, 도 4는 본 발명의 트래픽 정책 룰에 따른 다운링크 트래픽의 일례를 도시한 도면이다.
상기 다운링크 트래픽 필터 처리부(112)는 상기 트래픽 정책 룰에 따라 상기 5G 데이터 트래픽의 패킷 전송경로가 상기 Public 5G Network(102)에서 상기 단말(130)로 정해진 경우(5 -> 6), 상기 Public 5G Network(102)로부터 전송된 GTP 패킷을 바이패스(Bypass) 하여 상기 단말(130)로 전송할 수 있다.
상기 5G 기지국(120)은 상기 MEC 데이터 플레인(110)과 상기 단말(130) 사이에서 상기 5G 데이터 트래픽을 통신 중계하는 역할을 수행할 수 있다. 여기서, 상기 단말(130)은 모바일 단말기, 센서, 로봇, 카메라 등과 같이 기업, 공장, 공항 등에 설치되어 사무 자동화 및 공장 자동화 등에 기여하는 장치를 통칭할 수 있다.
도 5는 본 발명의 다른 실시예에 따른 사설 5G망 구축을 위한 FPGA 기반 MEC 데이터 플레인 시스템의 네트워크 구성을 도시한 도면이다.
도 5를 참조하면, 본 발명의 다른 실시예에 따른 사설 5G망 구축을 위한 FPGA 기반 MEC 데이터 플레인 시스템(500)은 MEC 데이터 플레인(510), 5G 기지국(520), 단말(530), 및 FPGA 카드(540)를 포함하며, 이러한 구성요소들은 Private 5G Network(501)에 위치할 수 있다. 아울러, 도면에는 도시되어 있지 않지만 Public 5G Network(502)에 위치하는 유저 플레인(UPF), 컨트롤 플레인(5G-CP), 및 5G 기지국을 더 포함하여 구성될 수 있다.
여기서, 상기 FPGA 카드(540)를 제외한 나머지 구성요소들은 모두 도 1의 그것들과 동일 또는 유사하다. 따라서 본 실시예에서는 상기 FPGA 카드(540)를 중심으로 그 구성 및 작용효과 등에 대해 구체적으로 설명하기로 한다.
상기 FPGA 카드(540)는 상기 트래픽 정책 룰을 FPGA(Field Programming Gate Array) 칩의 내부 메모리에 적재하며, 상기 FPGA 칩을 이용하여 패킷 가속화 기능을 구현하기 위한 기능을 수행할 수 있다.
이를 위해, 상기 FPGA 카드(540)는 도 6에 도시된 바와 같이 파서(Parser) 엔진(610), 필터(Filter) 엔진(620), 에디팅(Editing) 엔진(630), 패킷 라우팅 엔진(640), 트래픽 폴리시(Traffic Policy) 엔진(650), 및 트래픽 통계 엔진(660)을 포함할 수 있다. 참고로, 도 6은 도 5의 FPGA 카드(540)의 상세 구성을 설명하기 위해 도시한 블록도이다.
상기 파서 엔진(610)은 최초로 상기 패킷을 읽어 헤더(Header)를 디코딩(Decoding)하여 상기 필터 엔진(620) 및 상기 에디팅 엔진(630)에서 필요한 필드 정보를 추출할 수 있다. 상기 파서 엔진(610)은 상기 패킷에 대해 ReadOnly 모드로 동작하며, 수정하는 절차가 엔진상에 존재하여서는 안된다. 상기 추출되는 필드 정보는 DstMAC, SrcMAC, Ether Type, IP, GTP 등을 포함할 수 있다.
상기 파서 엔진(610)은 패킷 Parser Flow에 정의된 각 Section 별로 구현될 수 있으며, 정의된 Section에서 다음 Section으로 천이 동작을 수행 및 관리할 수 있다. 또한, 상기 파서 엔진(610)은 다른 엔진에서 사용되어질 필드를 튜플(Tuple)로 정의하고 관리할 수 있으며, Map을 선언하여 다른 엔진에서 사용될 룩업 테이블(Lookup Table)을 정의할 수 있다.
상기 필터 엔진(620)은 상기 Parser 엔진(610)에서 추출된 필드 정보를 분류 조건으로 사용하는 업링크 필터(Uplink Filter), 다운링크 필터(Downlink Filter)와 같은 다양한 Filter로 정의될 수 있다.
상기 필터 엔진(620)은 상기 트래픽 정책 룰을 참조하여 상기 5G 데이터 트래픽의 패킷을 목적지, 액션(Action)별로 분류하고 상기 패킷에 대해 어떠한 액션을 수행할지를 결정할 수 있다. 즉, 상기 필터 엔진(620)은 인입된 패킷에 대하여 상기 트래픽 정책 룰, 즉 Traffic Policy에 의해 정의된 Rule을 따라 Private 5G Network(601) 또는 Public 5G Network(602)로 보낼 패킷인지를 분류할 수 있다.
상기 Traffic Policy에 의해 IP, Port 등의 조건으로 분류된 패킷은 정의된 Action, 예를 들면 GTP Encapsulation, GTP Decapsulation, Bypass 등으로 후술하는 에디팅 엔진(620)에서 수정되고, 이후 라우팅 처리할 수 있다.
상기 필터 엔진(620)은 상기 패킷을 분류하기 위한 세 가지 방식의 검색 기법(Classifier Search 기법), 즉 EXACT MATCH, LONGEST PREFIX MATCH, DIRECT MATCH 등을 제공할 수 있다. 상기 EXACT MATCH 기법은 비교 필드와 정확히 일치한 패킷에 대해서 동작하는 것이고, 상기 LONGEST PREFIX MATCH 기법은 일치하는 부분이 가장 긴 것을 찾아서 IP 라우팅 테이블 검색에 사용하는 것을 말하며, 상기 DIRECT MATCH 기법은 작은 테이블을 메모리상에서 직접 Access 하여 검색하는 기법을 말한다.
상기 필터 엔진(620)은 Uplink Filter, Downlink Filter와 같은 목적에 따른 다수의 Filter로 설정될 수 있으며, Filter의 Attribute는 MEC 규격(ESTI GS MEC011 - Edge Platform Application Enablement)을 토대로 설정될 수 있다.
상기 에디팅 엔진(630)은 상기 필터 엔진(620)에 의해 결정된 액션에 따라 상기 패킷을 조작하는 역할을 수행할 수 있다. 예를 들어, 상기 에디팅 엔진(630)은 상기 필터 엔진(620)에서 GTP 인캡슐레이션에 관한 액션이 결정된 경우, 상기 파서 엔진(610)에 의해 추출된 필드 정보 및 상기 트래픽 폴리시 엔진(650)의 GTP 인캡슐레이션 테이블에 설정되어 있는 상기 필드 정보의 값을 참조하여 상기 패킷에 대해 GTP 인캡슐레이션을 진행할 수 있다.
다른 예로, 상기 필터 엔진(620)에서 GTP 디캡슐레이션에 관한 액션이 결정된 경우, 상기 에디팅 엔진(630)은 상기 필드 정보 및 상기 트래픽 폴리시 엔진(650)의 GTP 디캡슐레이션 테이블에 설정되어 있는 상기 필드 정보의 값을 참조하여 상기 패킷에 대해 GTP 디캡슐레이션을 진행할 수 있다.
또 다른 예로, 상기 필터 엔진(620)에서 바이패스에 관한 액션이 결정된 경우, 상기 에디팅 엔진(630)은 상기 패킷에 대해 GTP 인캡슐레이션 또는 GTP 디캡슐레이션을 진행하지 않고 바이패스로 처리함으로써 목적지에 GTP 패킷을 그대로 전송할 수 있다.
한편, 상기 에디팅 엔진(620)은 프로토콜 조작 엔진으로서 GTP 터널링 엔진(미도시)을 서브 클래스(Sub Class)로 구비할 수 있다. 상기 GTP 터널링 엔진은 상기 에디팅 엔진(620)을 고도화하여 개발할 수 있다.
상기 GTP 터널링 엔진은 도 7에 도시된 바와 같이, Private 5G Network(501) 및 Public 5G Network(502)에서 사용되는 GTP 패킷을 IP 패킷으로 변환하는 역할을 수행할 수 있다. 즉, 단말(530)에서 전송된 패킷은 ULCL(UpLink Classifier)를 통하여 Private 5G Network(501) 또는 Public 5G Network(502)의 목적지를 구분하여, GTP Decapsulation 과정을 수행할 수 있다. 참고로, 도 7은 GTP 터널 사용 구간과 패킷 처리의 일례를 도시한 도면이다.
이를 위해, 상기 GTP 터널링 엔진은 GTP 디캡슐레이터(Decapsulator) 및 GTP 인캡슐레이터(Encapsulator)를 포함하여 구성될 수 있다. 상기 GTP 디캡슐레이터는 상기 트래픽 정책 룰을 참조하여 상기 단말(530)에서 수신된 패킷의 목적지를 구분하여 GTP 디캡슐레이션을 진행할 수 있다. 상기 GTP 인캡슐레이터(ENcapsulator)는 상기 트래픽 정책 룰을 참조하여 Private 5G Network(501)에서 수신된 패킷의 발신지를 구분하여 GTP 인캡슐레이션을 진행할 수 있다.
상기 GTP 인캡슐레이터는 발신지 IP(Src IP), 목적지 IP(Dst IP), 프로토콜 아이디(Protocol ID), 발신지 포트(Src Port) 및 목적지 포트(Dst Port)를 포함하는 5-튜플(Tuple)을 GTP 인캡슐레이션 테이블(터널 엔드포인트 아이디, 단말 IP 정보를 포함하는 매핑 테이블)과 비교하여 GTP 터널 필드(정보)를 설정할 수 있다.
단말(530)은 응용별로 각기 다른 GTP 터널(tunnel)을 가지고 있고 이에 대한 단말(530)의 GTP 터널 정보는 다운링크 시 단말(530)로 데이터를 전송하기 위해 반드시 필요한 요소이다. 상기 GTP 터널 정보는 5G Control Plane 또는 gNodeB에서 결정하여 Data Plane에서 사용하지만, 본 발명의 시스템은 Control Plane(5G-CP)을 연동하지 않기 때문에, 도 12에 도시된 바와 같이 Public 5G Network(502)의 Data Plane(UPF: User Plane Function)에서 단말(530)로 전송되는 패킷에서 상기 GTP 터널 정보(TEID)를 추출하여 학습(Learning)하는 과정이 필요하다. 상기 추출된 GTP 터널 정보는 후술하는 트래픽 폴리시 엔진(650)의 GTP 인캡슐레이션 테이블(GTP Encap Table)에 반영되어 Private 5G Network(501)의 다운링크 시 사용될 수 있다. 참고로, 도 13은 GTP 인캡슐레이션 테이블의 설정에 관한 일례를 도시한 도면이다. 상기 TEID는 단말 IP, 프로토콜 ID별로 다르고 업링크, 다운링크가 별도로 관리한다. 특히 GTP 인캡슐레이션을 위한 TEID는 5G UPF -> 5G gNodeB(기지국) 방향에서 GTP 패킷에서 Type, Protocol ID, TEID, GTP 패킷 Format 등의 정보를 추출하여 테이블로 관리하도록 한다.
상기 패킷 라우팅 엔진(640)은 상기 필터 엔진(620)에 의해 결정된 목적지에 따라 상기 패킷을 전달하는 역할을 수행할 수 있다. 다시 말해, 상기 필터 엔진(620)에서 목적지, 액션별로 분류된 패킷은 상기 패킷 라우팅 엔진(640)의 pipeline으로 전달되고, 이에 따라 상기 패킷 라우팅 엔진(640)은 결정된 패킷 목적지에 따라 적합한 네크워크 인터페이스(Interface)를 선택하여 패킷을 순차적으로 전달할 수 있다.
상기 패킷 라우팅 엔진(640)은 목적지별로 네크워크 인터페이스 테이블을 관리할 수 있으며, TX를 병렬로 처리하기 위한 Multi TX Queue를 지원하며, 전송 우선순위에 따른 Port/Queue 전송 스케줄을 관리하고, 패킷 처리수/크기 등의 통계를 관리할 수 있다.
상기 트래픽 폴리시 엔진(650)은 상기 FPGA 칩의 내부 메모리에 적재된 상기 트래픽 정책 룰을 참조하여, 저지연의 폴리시 룩업 오퍼레이션(Policy Lookup Operation)을 수행할 수 있다. 이에 따라, 상기 필터 엔진(620)은 상기 트래픽 폴리시 엔진(650)의 폴리시 룩업 오퍼레이션에 따라 상기 패킷에 대한 액션(GTP 인캡슐레이션, GTP 디캡슐레이션, 바이패스)을 결정하여 상기 에디팅 엔진(630)으로 처리를 넘길 수 있다.
상기 트래픽 폴리시 엔진(650)의 Rule은 크게 업링크 트래픽 폴리시(Uplink Traffic Policy)와 다운링크 트래픽 폴리시(Downlink Traffic Policy)로 구분되고, 각 Rule에 의해 처리될 수 있다.
상기 업링크 트래픽 폴리시의 예를 들어 보면, IP=100.100.100.10, PORT=5000 인 패킷에 대해 단말(530)에서 Private 5G Network(501)로 전송되는 패킷으로 분류하며, 이때 ACTION은 'FORWARD_GTP_DECAP'을 수행한다. 상기 다운링크 트래픽 폴리시의 예를 들어 보면, IP=200.200.200.10, PORT=2000인 패킷에 대해 Private 5G Network(501)에서 단말(530)로 전송되는 패킷으로 분류하며, 이때 ACTION은 'FORWARD_GTP_ENCAP'을 수행한다.
상기 트래픽 통계 엔진(660)은 상기 FPGA 카드(540)로 들어오거나 나가는 패킷을 카운팅하고 통계화하여 각 포트별, 연동 시스템별로 트래픽 통계를 산출하고, 네트워크 부하 분산을 통한 지연 최소화 및 성능 최적화를 위하여 상기 산출된 트래픽 통계를 라우팅 정책에 반영할 수 있다.
여기서, 통계 수집 항목으로는 In 패킷 수, In Byte 수, Out 패킷 수, Out Byte 수, Drop 패킷 수, Drop Byte 수 등을 포함할 수 있으며, 통계 산출 대상으로는 전체 시스템, 연동 시스템 및 포트 인터페이스(Port Interface) 등을 포함할 수 있다. 산출된 통계는 라우팅 Rule에 자동 또는 수동으로 적용되어, 부하가 적은 장비나 포트로 트래픽 부하가 분산되도록 처리될 수 있다.
한편, 어떤 패킷은 라우팅이 결정되지 않았을 경우가 발생할 수 있으며, 이러한 경우 어떻게 처리하는지에 대하여 도 9 내지 도 11을 참조하여 자세히 설명하기로 한다.
먼저 도 9 및 도 10을 참조하면, 라우팅이 결정되지 않은 패킷에 대해 FPGA 카드 내부와 호스트(Host) 간의 내/외부 통신을 위한 PCI(e) Driver(Network Driver)를 통해 상기 호스트로 전달하여 Unknown Packet Processing에 의한 패킷 처리를 하도록 할 수 있다. 이때 패킷 가속화 처리를 위해 Driver 및 Host는 Intel DPDK(Data Plane Development Kit)를 적용할 수 있다. 이후, 패킷의 라우팅이 결정되면 상기 FPGA 카드 내부 정책(Traffic Policy)을 설정하여 향후 동일 패킷을 수신할 경우 상기 FPGA 카드 내부에서 처리하도록 할 수 있다. 다음으로 도 9 및 도 11을 참조하면, 운용 기능으로 패킷 덤프(Packet Dump)를 할 수 있는 기능을 제공할 수 있으며, 이러한 기능을 도 11의 Packet Dump Processing에 의해 처리될 수 있다. 상기 패킷 덤프 프로세싱은 Card O&M에서 수행될 수 있다.
도 8은 본 발명의 다른 실시예에 있어서 외부 시스템 연동을 위한 Traffic Policy/Card Interface를 설명하기 위해 도시한 도면이다.
도 8을 참조하면, 트래픽 폴리시 인터페이스(Traffic Policy Interface)(820)는 외부 시스템(MEC Application)과 Mp2 인터페이스로 연동하여 트래픽 폴리시를 설정하고 관리하는 역할을 수행할 수 있다. 이때, 상기 외부 시스템 연동을 위한 Mp2 인터페이스는 HTTP 기반의 RESTful API(JSON)로 구현될 수 있으며, 연결 관리를 위한 Keep Alive Check 기능 및 Request Message에 대한 Timeout 기능을 제공할 수 있다.
상기 트래픽 폴리시 인터페이스(820)는 Traffic Rule/Filter의 설정 및 관리를 위한 API를 제공할 수 있다. 상기 Traffic Rule/Filter의 설정 및 관리를 위한 API는 생성, 변경, 삭제, 조회와 관련한 Request 및 Response API를 포함할 수 있으며, 실패 응답에 대한 명확한 Error Code/Description을 구현 가능하고, 각 기능별 무결성 체크를 수행할 수 있다. 해당 정책은 그대로 FPGA 카드(540)의 Traffic Policy(541)로 적용되기 때문에 엄격한 무결성 체크가 필요하다. 예컨대, Traffic Policy Rule에 특정 Filter가 사용 중인데, 해당 Filter를 삭제하려고 할 경우는 실패 처리를 한다.
상기 트래픽 폴리시 인터페이스(820)는 클라이언트 등록 및 관리 기능을 제공할 수 있다. 즉, 상기 트래픽 폴리시 인터페이스(820)는 등록된 Client에 대해서만 연동할 수 있는 기능, 클라이언트 IP/Port에 따른 생성, 변경, 삭제, 조회 기능을 제공할 수 있으며, 아울러 각 기능별 무결성 체크 기능을 제공할 수 있다.
한편, 패킷이 들어올 때마다 Policy/Filter Lookup이 이루어지므로, Policy/Filter를 본 발명의 시스템 Host OS상에 보관을 할 경우 처리 성능이 크게 저하될 수 있다. 따라서, 본 실시예에서는 Policy/Filter 등의 정책은 FPGA 칩상 메모리에 직접 저장이 필요하다.
카드 인터페이스(Card Interface) 모듈(810)은 FPGA Card(540)와 연동하여 Traffic Policy Rule/Filter를 생성, 조회, 수정, 삭제할 수 있으며, 카드상태 조회, Traffic 통계 수집을 위한 Interface 역할을 수행할 수 있다.
이를 위해, 상기 카드 인터페이스 모듈(810)은 Traffic Rule/Filter API, Card/Port 상태 조회 API, 및 Traffic Statistics 조회 API를 제공할 수 있다. 상기 Traffic Rule/Filter API는 상기 FPGA Card(540)의 Traffic Policy 엔진(650)과 연동하여 Traffic Policy Rule/Filter를 생성, 조회, 수정, 삭제할 수 있다. 상기 Card/Port 상태 조회 API는 Card 및 Port 정상, 비정상 여부를 조회할 수 있는 API이고, 상기 Traffic Statistics 조회 API는 상기 FPGA Card(540)의 Traffic 통계 엔진(660)과 연동하여 트래픽 통계 정보를 수집 및 조회할 수 있다.
이상에서 설명된 장치는 하드웨어 구성 요소, 소프트웨어 구성 요소, 및/또는 하드웨어 구성 요소 및 소프트웨어 구성 요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치 및 구성 요소는, 예를 들어, 프로세서, 컨트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPA(field programmable array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 애플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 컨트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.
이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.
그러므로, 다른 구현들, 다른 실시예들 및 청구범위와 균등한 것들도 후술하는 청구범위의 범위에 속한다.
101, 501: Private 5G Network
102, 502: Public 5G Network
110, 510: MEC 데이터 플레인
111: Uplink Traffic Filter 처리부
112: Downlink Traffic Filter 처리부
120, 520: 5G 기지국
130, 530: 단말
140: UPF
150: 5G-CP
540: FPGA 카드
610: 파서 엔진
620: 필터 엔진
630: 에디팅 엔진
640: 패킷 라우팅 엔진
650: 트래픽 폴리시 엔진
660: 트래픽 통계 엔진
810: 카드 인터페이스 모듈
820: 트래픽 폴리시 인터페이스

Claims (10)

  1. 미리 설정된 트래픽 정책 룰(Traffic Policy Rule)에 따라 5G 데이터 트래픽을 로컬(Private 5G Network), 또는 컨트롤 플레인(5G-CP)과 유저 플레인(UPF)을 구비하는 퍼블릭 5G 네트워크(Public 5G Network)로 라우팅하는 MEC(Multi-access/Mobile Edge Computing) 데이터 플레인(Data Plane); 및
    상기 데이터 플레인과 단말 사이에서 상기 5G 데이터 트래픽을 통신 중계하는 5G 기지국
    을 포함하는 것을 특징으로 하는 사설 5G망 구축을 위한 FPGA 기반 MEC 데이터 플레인 시스템.
  2. 제1항에 있어서,
    상기 MEC 데이터 플레인은
    상기 트래픽 정책 룰에 따라 상기 5G 데이터 트래픽의 패킷 전송경로가 상기 단말에서 상기 로컬로 정해진 경우, 상기 단말로부터 전송된 GTP 패킷을 디캡슐레이션(GTP Decapsulation) 하여 페이로드(Payload)만 상기 로컬로 전송하는 업링크 트래픽 필터(Uplink Traffic Filter) 처리부; 및
    상기 트래픽 정책 룰에 따라 상기 5G 데이터 트래픽의 패킷 전송경로가 상기 로컬에서 상기 단말로 정해진 경우, 상기 로컬로부터 전송된 패킷을 GTP 패킷으로 인캡슐레이션(GTP Encapsulation) 하여 상기 단말로 전송하는 다운링크 트래픽 필터(Downlink Traffic Filter) 처리부
    를 포함하는 것을 특징으로 하는 사설 5G망 구축을 위한 FPGA 기반 MEC 데이터 플레인 시스템.
  3. 제2항에 있어서,
    상기 업링크 트래픽 필터 처리부는
    상기 트래픽 정책 룰에 따라 상기 5G 데이터 트래픽의 패킷 전송경로가 상기 단말에서 상기 퍼블릭 5G 네트워크로 정해진 경우, 상기 단말로부터 전송된 GTP 패킷을 바이패스(Bypass) 하여 상기 퍼블릭 5G 네트워크로 전송하고,
    상기 다운링크 트래픽 필터 처리부는
    상기 트래픽 정책 룰에 따라 상기 5G 데이터 트래픽의 패킷 전송경로가 상기 퍼블릭 5G 네트워크에서 상기 단말로 정해진 경우, 상기 퍼블릭 5G 네트워크로부터 전송된 GTP 패킷을 바이패스(Bypass) 하여 상기 단말로 전송하는 것을 특징으로 하는 사설 5G망 구축을 위한 FPGA 기반 MEC 데이터 플레인 시스템.
  4. 제1항에 있어서,
    상기 트래픽 정책 룰을 FPGA(Field Programming Gate Array) 칩의 내부 메모리에 적재하며, 상기 FPGA 칩을 이용하여 패킷 가속화 기능을 구현하기 위한 FPGA 카드
    를 더 포함하는 것을 특징으로 하는 사설 5G망 구축을 위한 FPGA 기반 MEC 데이터 플레인 시스템.
  5. 제4항에 있어서,
    상기 FPGA 카드는
    상기 트래픽 정책 룰을 참조하여 상기 5G 데이터 트래픽의 패킷을 목적지, 액션(Action)별로 분류하고 상기 패킷에 대해 어떠한 액션을 수행할지를 결정하는 필터 엔진;
    상기 필터 엔진에 의해 결정된 액션에 따라 상기 패킷을 조작하는 상기 에디팅 엔진; 및
    상기 필터 엔진에 의해 결정된 목적지에 따라 상기 패킷을 전달하는 패킷 라우팅 엔진
    을 포함하는 것을 특징으로 하는 사설 5G망 구축을 위한 FPGA 기반 MEC 데이터 플레인 시스템.
  6. 제5항에 있어서,
    상기 FPGA 카드는
    상기 패킷을 읽어 헤더(Header)를 디코딩(Decoding)하여 상기 에디팅 엔진에서 필요한 필드 정보를 추출하는 파서(Parser) 엔진; 및
    상기 FPGA 칩의 내부 메모리에 적재된 상기 트래픽 정책 룰을 참조하여 저지연의 폴리시 룩업 오퍼레이션(Policy Lookup Operation)을 수행하는 트래픽 폴리시 엔진
    을 더 포함하고,
    상기 필터 엔진은
    상기 트래픽 폴리시 엔진의 폴리시 룩업 오퍼레이션에 따라 상기 패킷에 대한 액션(GTP 인캡슐레이션, GTP 디캡슐레이션, 바이패스)을 결정하여 상기 에디팅 엔진으로 처리를 넘기는 것을 특징으로 하는 사설 5G망 구축을 위한 FPGA 기반 MEC 데이터 플레인 시스템.
  7. 제6항에 있어서,
    상기 에디팅 엔진은
    상기 필터 엔진에서 GTP 인캡슐레이션에 관한 액션이 결정된 경우, 상기 파서 엔진에 의해 추출된 필드 정보 및 상기 트래픽 폴리시 엔진의 GTP 인캡슐레이션 테이블에 설정되어 있는 상기 필드 정보의 값을 참조하여 상기 패킷에 대해 GTP 인캡슐레이션을 진행하고,
    상기 필터 엔진에서 GTP 디캡슐레이션에 관한 액션이 결정된 경우, 상기 필드 정보 및 상기 트래픽 폴리시 엔진의 GTP 디캡슐레이션 테이블에 설정되어 있는 상기 필드 정보의 값을 참조하여 상기 패킷에 대해 GTP 디캡슐레이션을 진행하며,
    상기 필터 엔진에서 바이패스에 관한 액션이 결정된 경우, 상기 패킷에 대해 GTP 인캡슐레이션 또는 GTP 디캡슐레이션을 진행하지 않고 바이패스로 처리하는 것을 특징으로 하는 사설 5G망 구축을 위한 FPGA 기반 MEC 데이터 플레인 시스템.
  8. 제5항에 있어서,
    상기 FPGA 카드는
    상기 FPGA 카드로 들어오거나 나가는 패킷을 카운팅하고 통계화하여 각 포트별, 연동 시스템별로 트래픽 통계를 산출하고, 네트워크 부하 분산을 통한 지연 최소화 및 성능 최적화를 위하여 상기 산출된 트래픽 통계를 라우팅 정책에 반영하는 트래픽 통계 엔진
    을 더 포함하는 것을 특징으로 하는 사설 5G망 구축을 위한 FPGA 기반 MEC 데이터 플레인 시스템.
  9. 제5항에 있어서,
    상기 에디팅 엔진은
    프로토콜 조작 엔진으로서 GTP 터널링 엔진을 서브 클래스(Sub Class)로 구비하고,
    상기 GTP 터널링 엔진은
    상기 트래픽 정책 룰을 참조하여 상기 단말에서 수신된 패킷의 목적지를 구분하여 GTP 디캡슐레이션을 진행하는 GTP 디캡슐레이터(Decapsulator); 및
    상기 트래픽 정책 룰을 참조하여 상기 Private 5G Network(프라이빗 5G 네트워크)에서 수신된 패킷의 발신지를 구분하여 GTP 인캡슐레이션을 진행하는 GTP 인캡슐레이터(Encapsulator)
    를 포함하는 것을 특징으로 하는 사설 5G망 구축을 위한 FPGA 기반 MEC 데이터 플레인 시스템.
  10. 제9항에 있어서,
    상기 GTP 인캡슐레이터는
    발신지 IP(Src IP), 목적지 IP(Dst IP), 프로토콜 아이디(Protocol ID), 발신지 포트(Src Port) 및 목적지 포트(Dst Port)를 포함하는 5-튜플(Tuple)을 GTP 인캡슐레이션 테이블(터널 엔드포인트 아이디, 단말 IP 정보를 포함하는 매핑 테이블)과 비교하여 GTP 터널 필드(정보)를 설정하되,
    상기 GTP 터널 정보는 상기 퍼블릭 5G 네트워크의 컨트롤 플레인(5G-CP) 또는 기지국(gNodeB)에서 결정하여 상기 유저 플레인(UPF)에서 사용하지만, 상기 FPGA 기반 MEC 데이터 플레인 시스템은 상기 컨트롤 플레인(5G-CP)을 연동하지 않기 때문에 상기 퍼블릭 5G 네트워크의 유저 플레인(UPF)에서 상기 단말로 전송되는 패킷에서 상기 GTP 터널 정보를 추출하여 러닝(Learning)하는 과정이 필요하며, 상기 추출된 GTP 터널 정보는 상기 GTP 인캡슐레이션 테이블에 반영되어 상기 프라이빗 5G 네트워크의 다운링크 시 사용되는 것을 특징으로 하는 사설 5G망 구축을 위한 FPGA 기반 MEC 데이터 플레인 시스템.
KR1020200179320A 2020-12-21 2020-12-21 사설 5g망 구축을 위한 fpga 기반 mec 데이터 플레인 시스템 KR102458785B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200179320A KR102458785B1 (ko) 2020-12-21 2020-12-21 사설 5g망 구축을 위한 fpga 기반 mec 데이터 플레인 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200179320A KR102458785B1 (ko) 2020-12-21 2020-12-21 사설 5g망 구축을 위한 fpga 기반 mec 데이터 플레인 시스템

Publications (2)

Publication Number Publication Date
KR20220089045A true KR20220089045A (ko) 2022-06-28
KR102458785B1 KR102458785B1 (ko) 2022-10-25

Family

ID=82268418

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200179320A KR102458785B1 (ko) 2020-12-21 2020-12-21 사설 5g망 구축을 위한 fpga 기반 mec 데이터 플레인 시스템

Country Status (1)

Country Link
KR (1) KR102458785B1 (ko)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200032665A (ko) * 2018-09-18 2020-03-26 주식회사 케이티 저지연 엣지 로밍 서비스를 제공하기 위한 데이터 패킷의 처리 방법 및 그 시스템
KR20200109303A (ko) * 2017-12-15 2020-09-22 아이디에이씨 홀딩스, 인크. 향상된 nef 기능, mec 및 5g 통합

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200109303A (ko) * 2017-12-15 2020-09-22 아이디에이씨 홀딩스, 인크. 향상된 nef 기능, mec 및 5g 통합
KR20200032665A (ko) * 2018-09-18 2020-03-26 주식회사 케이티 저지연 엣지 로밍 서비스를 제공하기 위한 데이터 패킷의 처리 방법 및 그 시스템

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
‘5G: Data Plane UPF (User Plane Function)’, Netmanias' ONE-SHOT, 2018.12.17.* *
‘Deep Learning at the Mobile Edge: Opportunities for 5G Networks’, Applied Science, 2020.06.* *
‘저지연 엣지 로밍 서비스를 제공하기 위한 데이터 패킷의 처리 방법 및 그 시스템’, 한국통신학회지35(11), pp.46-54, 2018.10.31.* *

Also Published As

Publication number Publication date
KR102458785B1 (ko) 2022-10-25

Similar Documents

Publication Publication Date Title
CN113934660B (zh) 加速网络分组处理
US10237177B2 (en) Transfer device and transfer system
US10237230B2 (en) Method and system for inspecting network traffic between end points of a zone
US9860156B2 (en) Accessing local network resources in a multi-interface system
US9325524B2 (en) Overlay network capable of supporting storage area network (SAN) traffic
US20220209993A1 (en) CLOUD SCALE MULTI-TENANCY FOR RDMA OVER CONVERGED ETHERNET (RoCE)
US20160301603A1 (en) Integrated routing method based on software-defined network and system thereof
WO2015058698A1 (en) Data forwarding
US7881324B2 (en) Steering data communications packets for transparent bump-in-the-wire processing among multiple data processing applications
CN104168223A (zh) 用于确定分组优先级的方法和系统
US9847940B2 (en) Control method, packet processing device, and storage medium
US11588665B2 (en) VXLAN packet encapsulation and policy execution method, and VXLAN device and system
US11496599B1 (en) Efficient flow management utilizing control packets
WO2015058699A1 (en) Data forwarding
CN105340217A (zh) 一种报文处理方法、装置及系统
KR101477012B1 (ko) Sdn 스위칭 방법, 장치, 시스템 및 컴퓨터 판독 가능한 기록 매체
KR101729944B1 (ko) Sdn 기반의 멀티 테넌트 지원 네트워크 시스템의 ip 주소 제공 방법
US8675669B2 (en) Policy homomorphic network extension
WO2024093478A1 (zh) 基于策略路由的数据处理方法和装置、设备和存储介质
KR102458785B1 (ko) 사설 5g망 구축을 위한 fpga 기반 mec 데이터 플레인 시스템
CN115529180A (zh) IPSec加解密卸载方法
US9998376B2 (en) Control device, communication system, control method, and non-transitory recording medium
KR101729945B1 (ko) Sdn 기반의 네트워크 시스템의 멀티 테넌트 지원 방법
KR101740456B1 (ko) IoT 환경의 소프트웨어 정의 네트워크 기반의 패킷 포워딩 방법
KR101806376B1 (ko) Ip 주소 제공하는 sdn 기반의 멀티 테넌트 지원 네트워크 시스템

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right