KR20240001195A - 셀룰러 데이터 패킷들의 라우팅을 위한 ip 네트워크들의 개선된 사용 - Google Patents

셀룰러 데이터 패킷들의 라우팅을 위한 ip 네트워크들의 개선된 사용 Download PDF

Info

Publication number
KR20240001195A
KR20240001195A KR1020237040427A KR20237040427A KR20240001195A KR 20240001195 A KR20240001195 A KR 20240001195A KR 1020237040427 A KR1020237040427 A KR 1020237040427A KR 20237040427 A KR20237040427 A KR 20237040427A KR 20240001195 A KR20240001195 A KR 20240001195A
Authority
KR
South Korea
Prior art keywords
packets
routing
network
proxy
gtp
Prior art date
Application number
KR1020237040427A
Other languages
English (en)
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 아르쿠스 인크.
Publication of KR20240001195A publication Critical patent/KR20240001195A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/565Conversion or adaptation of application format or content
    • 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
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/52Multiprotocol routers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/76Routing in software-defined topologies, e.g. routing between virtual machines
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/563Data redirection of data network streams
    • 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/08Protocols for interworking; Protocol conversion
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W28/00Network traffic management; Network resource management
    • H04W28/02Traffic management, e.g. flow control or congestion control
    • H04W28/0273Traffic management, e.g. flow control or congestion control adapting protocols for flow control or congestion control to wireless environment, e.g. adapting transmission control protocol [TCP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W88/00Devices specially adapted for wireless communication networks, e.g. terminals, base stations or access point devices
    • H04W88/18Service support devices; Network management devices
    • H04W88/182Network node acting on behalf of an other network entity, e.g. proxy
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W76/00Connection management
    • H04W76/10Connection setup
    • H04W76/12Setup of transport tunnels
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W88/00Devices specially adapted for wireless communication networks, e.g. terminals, base stations or access point devices
    • H04W88/18Service support devices; Network management devices
    • H04W88/181Transcoding devices; Rate adaptation devices

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Computer Security & Cryptography (AREA)

Abstract

셀룰러 데이터 통신 네트워크는 IP 네트워크에 의해 UPF에 연결된 BBU를 포함한다. 제1 변환 모듈은 GFP 패킷을 IP 네트워크를 통해 송신되는 IP 패킷으로 변환한다. 제2 변환 모듈은 IP 패킷들을 다시 IP 패킷들로 변환하고 IP 패킷들을 UPF로 포워딩한다. PFCP 프록시는 UPF의 제어 패킷들을 인터셉트한다. PFCP 프록시에 의해 스누핑된 정보는 UPF를 우회하여 패킷들의 라우팅을 수행하도록 변환 모듈들 및 라우팅 모듈을 프로그래밍하는 라우팅/SDN 컨트롤러에 제공된다.

Description

셀룰러 데이터 패킷들의 라우팅을 위한 IP 네트워크들의 개선된 사용
본 출원은 셀룰러 데이터 통신 네트워크로의 그리고 셀룰러 데이터 통신 네트워크로부터의 패킷들의 라우팅에 관한 것이다.
도 1a를 참조하면, 종래의 5G 셀룰러 데이터 통신 네트워크(100)에서, 사용자 장비(UE : user equipment)(102)는 라디오 안테나를 통해 패킷들을 수신하고 이들을 게이트웨이(GW)(108)를 통해 IP 네트워크(110)에 송신하는 기능들을 수행하는 gNodeB(106)의 패킷들을 송신할 수 있다. 종래의 셀룰러 데이터 통신 네트워크에서, UE(102)로부터의 패킷은 사용자 평면 기능(UPF : user plane function)(112), 즉, 처음에 패킷을 수신한 GW(108)와 연관 결합된 UPF(112)로 포워딩되어야 한다. UPF(112)는 UPF와 GW(108) 사이의 인터넷 프로토콜(IP) 네트워크(110)일 수 있는 네트워크(110)를 통해 패킷들을 수신할 수 있다. UPF(112)는 다른 IP 네트워크(114)를 통해 패킷들을 MEC(mobile edge computing) 서버(116)에 포워딩할 수 있다. MEC 서버(116)는 패킷들의 목적지, 예를 들어, 패킷들에 의해 어드레싱되는 서비스를 제공하는 서버 또는 인터넷과 같은 더 넓은 네트워크에 액세스하기 위한 게이트웨이일 수 있다.
도 1b를 참조하면, 일부 경우들에서, 패킷들은 UPF(112)와 연관 결합된 MEC 서버(116)로부터 다른 MEC 서버(118)로 리다이렉트(redirect)될 필요가 있을 수 있다. 예를 들어, GW(108)는 또한 MEC 서버(118) 및 GW(108)를 커플링하는 하나 이상의 IP 네트워크들(120)에 연결될 수 있다. MEC 서버(116)의 장애(failure) 시에, 또는 몇몇 다른 목적을 위한 리다이렉션 시에, 패킷들은 MEC 서버(118)로 리다이렉트될 수 있다. 그러나, 최신 5G 프로토콜들은 패킷들이 먼저 UPF(112)로 라우팅될 것을 요구하며, 이는 그런 다음 도 1b에 도시된 바와 같이 패킷들을 MEC 서버(118)로 포워딩할 것이다. MEC 서버(118)로부터 UE(102)로의 트래픽은 역방향 경로를 따를 수 있다. 이는 UE(102)로 그리고 그로부터 송신되는 패킷들의 레이턴시를 증가시킨다.
셀룰러 통신 네트워크에서 패킷들의 리다이렉션을 핸들링하기 위한 개선된 접근법을 제공하는 것이 본 기술분야의 진보일 것이다.
본 발명의 이점들이 용이하게 이해될 수 있도록, 상기에서 간략히 설명된 본 발명의 보다 구체적인 설명이 첨부된 도면들에 예시된 특정 실시예들을 참조하여 제공될 것이다. 이들 도면이 본 발명의 전형적인 실시예만을 도시하고 따라서 범위를 제한하는 것으로 간주되지 않는다는 것을 이해하면, 본 발명은 첨부 도면의 사용을 통해 추가적인 특이성 및 상세성으로 기술되고 설명될 것이다.
도 1a는 종래 기술에 따른 셀룰러 데이터 통신 네트워크를 통해 수신된 패킷들의 라우팅을 예시하는 개략적인 블록도이다.
도 1b는 종래 기술에 따른 셀룰러 데이터 통신 네트워크를 통해 수신된 패킷들의 재라우팅(rerouting)을 예시하는 개략적인 블록도이다.
도 2는 본 발명의 일 실시예에 따른 셀룰러 데이터 통신 네트워크를 통해 수신된 패킷들을 라우팅하기 위한 접근법을 예시하는 개략적인 블록도이다.
도 3은 본 발명의 일 실시예에 따른 셀룰러 데이터 통신 네트워크를 통해 수신된 패킷들의 라우팅을 수행하기 위한 컴포넌트들의 개략적인 블록도이다.
도 4는 본 발명의 일 실시예에 따른 PFCP 프록시에 의한 정보의 스누핑(snooping) 및 이 정보를 사용하는 변환 및 라우팅 모듈의 프로그래밍을 예시하는 개략적인 블록도이다.
도 5는 본 발명의 일 실시예에 따른 PFCP 프록시의 개략적인 블록도이다.
도 6은 본 발명의 일 실시예에 따른 PFCP 프록시와 라우팅/SDN 컨트롤러 간의 정보 교환을 예시하는 개략적인 블록도이다.
도 7은 본 발명의 실시예들에 따른 방법들을 구현하기에 적합한 컴퓨터 시스템의 개략적인 블록도이다.
본 명세서의 도면들에 개괄적으로 설명되고 예시된 본 발명의 컴포넌트들은 매우 다양한 상이한 구성들로 배열되고 설계될 수 있다는 것이 쉽게 이해될 것이다. 따라서, 도면들에 나타낸 바와 같은 본 발명의 실시예들에 대한 이하의 보다 상세한 설명은, 청구된 본 발명의 범위를 제한하도록 의도되지 않지만, 본 발명에 따라 현재 고려되는 실시예들의 특정 예들을 단지 나타낸다. 현재 설명된 실시예들은 도면들을 참조하여 가장 잘 이해될 것이며, 여기서 유사한 부분들은 전체에 걸쳐 유사한 번호들에 의해 지정된다.
본 발명에 따른 실시예들은 장치, 방법, 또는 컴퓨터 프로그램 제품으로서 구현될 수 있다. 따라서, 본 발명은 전적으로 하드웨어 실시예, 전적으로 소프트웨어 실시예(펌웨어, 상주 소프트웨어, 마이크로-코드 등을 포함함), 또는 본 명세서에서 모두 일반적으로 "모듈" 또는 "시스템"으로 지칭될 수 있는 소프트웨어 및 하드웨어 양태들을 조합하는 실시예의 형태를 취할 수 있다. 또한, 본 발명은 매체에 구현된 컴퓨터 사용 가능 프로그램 코드를 갖는 임의의 유형(tangible)의 표현 매체에 구현된 컴퓨터 프로그램 제품의 형태를 취할 수 있다.
하나 이상의 컴퓨터 사용 가능 또는 컴퓨터 판독 가능 매체의 임의의 조합이 이용될 수 있다. 예를 들어, 컴퓨터 판독 가능 매체는 휴대용 컴퓨터 디스켓, 하드 디스크, 랜덤 액세스 메모리(RAM) 디바이스, 판독 전용 메모리(ROM) 디바이스, 소거 가능한 프로그램 가능 판독 전용 메모리(EPROM 또는 플래시 메모리) 디바이스, 휴대용 컴팩트 디스크 판독 전용 메모리(CDROM), 광학 저장 디바이스 및 자기 저장 디바이스 중 하나 이상을 포함할 수 있다. 선택된 실시예들에서, 컴퓨터 판독가능 매체는 명령어 실행 시스템, 장치, 또는 디바이스에 의해 또는 이와 관련하여 사용하기 위해 프로그램을 함유, 저장, 통신, 전파, 또는 전송할 수 있는 임의의 비일시적 매체를 포함할 수 있다.
본 발명의 동작들을 수행하기 위한 컴퓨터 프로그램 코드는 Java, Smalltalk, C++ 등과 같은 객체 지향 프로그래밍 언어 및 "C" 프로그래밍 언어 또는 유사한 프로그래밍 언어들과 같은 종래의 절차적 프로그래밍 언어들을 포함하는 하나 이상의 프로그래밍 언어들의 임의의 조합으로 기록될 수 있고, 또한 HTML, XML, JSON 등과 같은 기술적 또는 마크업 언어들을 사용할 수 있다. 프로그램 코드는 전적으로 독립형 소프트웨어 패키지로서 컴퓨터 시스템 상에서, 독립형 하드웨어 유닛 상에서, 부분적으로 컴퓨터로부터 일정 거리 이격된 원격 컴퓨터 상에서, 또는 전적으로 원격 컴퓨터 또는 서버 상에서 실행될 수 있다. 후자의 시나리오에서, 원격 컴퓨터는 근거리 네트워크(LAN) 또는 광역 네트워크(WAN)를 포함하는 임의의 유형의 네트워크를 통해 컴퓨터에 연결될 수 있거나, 또는 외부 컴퓨터에 대한 연결(예를 들어, 인터넷 서비스 제공자를 사용하는 인터넷을 통해)이 이루어질 수 있다.
본 발명은 본 발명의 실시예들에 따른 방법들, 장치(시스템들) 및 컴퓨터 프로그램 제품들의 흐름도 예시들 및/또는 블록도들을 참조하여 아래에서 설명된다. 흐름도들 및/또는 블록도들의 각각의 블록, 및 흐름도들 및/또는 블록도들에서의 블록들의 조합들은 컴퓨터 프로그램 명령어들 또는 코드에 의해 구현될 수 있다는 것이 이해될 것이다. 이들 컴퓨터 프로그램 명령어들은 기계를 생산하기 위해 범용 컴퓨터, 특수 목적 컴퓨터, 또는 다른 프로그래밍가능 데이터 프로세싱 장치의 프로세서에 제공될 수 있어서, 컴퓨터 또는 다른 프로그래밍가능 데이터 프로세싱 장치의 프로세서를 통해 실행되는 명령어들은 흐름도 및/또는 블록도의 블록 또는 블록들에서 특정된 기능들/동작들을 구현하기 위한 수단을 생성한다.
이들 컴퓨터 프로그램 명령어들은 또한 컴퓨터 또는 다른 프로그램가능 데이터 프로세싱 장치가 특정 방식으로 기능하도록 지시할 수 있는 비일시적 컴퓨터 판독가능 매체에 저장될 수 있어서, 컴퓨터 판독가능 매체에 저장된 명령어들은 흐름도 및/또는 블록도의 블록 또는 블록들에서 특정된 기능/동작을 구현하는 명령어 수단을 포함하는 제조 물품을 생산한다.
컴퓨터 프로그램 명령어들은 또한 컴퓨터 또는 다른 프로그램 가능한 데이터 프로세싱 장치 상에 로딩되어 일련의 동작 단계들이 컴퓨터 또는 다른 프로그램 가능한 장치 상에서 수행되게 하여 컴퓨터 구현 프로세스를 생성할 수 있어서, 컴퓨터 또는 다른 프로그램 가능한 장치 상에서 실행되는 명령어들은 흐름도 및/또는 블록도의 블록 또는 블록들에서 특정된 기능들/동작들을 구현하기 위한 프로세스들을 제공한다.
도 2를 참조하면, 일부 실시예들에서, UE(102)로부터의 패킷들은 gNodeB(106)에 의해 수신될 때 GPRS(general packet radio service) 패킷들로서 포맷된다. gNodeB(106)는 RU(라디오 유닛(radio unit), 즉 안테나), DU(distributed Unit) 및 CU(Centralized Unit)의 기능을 제어하고, UE(102)와 네트워크(110) 사이의 패킷들의 전송을 관리할 수 있다. 그런 다음, gNodeB(106)는 GPRS 터널링 프로토콜(GTP : GPRS Tunneling Protocol) 패킷들 내에 이들 패킷들을 캡슐화할 수 있고, 그런 다음, UPF(112)에 포워딩된다. 경로(204)는 UPF(112)로 그리고 그로부터 발송되는 패킷들의 경로를 예시한다. 경로(206)는 도 1b 또는 다른 목적지에 대해서와 같이 상이한 MEC 서버(118)로 그리고 그로부터의 리다이렉트되는 패킷들의 경로를 예시한다.
gNodeB(106)에 의해 출력되는 패킷들은 변환 모듈(translation module)(208)에 의해 프로세싱될 수 있다. 예시된 실시예에서, 변환 모듈(208)은 GTP와 인터넷 프로토콜, 즉 셀룰러 데이터 네트워크에서 사용하기에 적합하지 않고 GTP가 아닌 프로토콜 사이에서 앞뒤로 변환한다. 예시된 실시예에서, 인터넷 프로토콜은 SRv6(IPv6 데이터 플레인을 통한 세그먼트 라우팅)이다. 이하의 설명에서, GTP와 SRv6 사이의 변환들에 대한 언급은 GTP와 다른 인터넷 프로토콜들 사이의 변환들로 대체될 수 있다는 것이 이해될 것이다.
변환 모듈(translation module)(208)은 gNodeB(106)와 SRv6 네트워크(210), 예를 들어, 데이터 평면 및/또는 SRv6 또는 다른 IP 프로토콜에 따라 구현된 라우팅을 갖는 네트워크 사이에 개재될 수 있다. UPF(112)는 다른 변환 모듈(212)에 의해 SRv6 네트워크(210)에 연결될 수 있다. 일부 실시예에서, 변환 모듈(208), 네트워크(210) 및 변환 모듈(208)은 공통 컴퓨팅 디바이스의 일부일 수 있고, 즉 공통 섀시(common chassis)에 장착될 수 있다는 것에 유의한다. 해당 공통 컴퓨팅 디바이스는 안테나(104) 및 gNodeB(106) 중 하나 또는 둘 모두와 같은 장소에 배치될 수 있다. 공통 컴퓨팅 디바이스는 또한 MEC 서버(116)를 포함할 수 있다.
네트워크(210)는 또한, 예컨대 인터넷 프로토콜 라우팅 모듈(216)에 의해 외부 네트워크(214)에 커플링될 수 있다. 라우팅 모듈(216)은 예시된 실시예에서 SRv6 라우터이지만, 다른 라우팅 프로토콜들을 구현하는 라우터들이 또한 사용될 수 있다. 일부 실시예에서, 라우팅 모듈(216)은 GTP 프로토콜을 구현하지 않는다. 외부 네트워크(214)는 인터넷과 같은 WAN일 수 있고, 네트워크(210)를 다른 MEC 서버(118)에 또는 UE(102)에 서비스를 제공하는 임의의 제3자 서버에 연결할 수 있다.
예시된 실시예에서, "A"로서 라벨링된 경로들(204, 206)의 부분들은 GTP 패킷들로서 포맷팅된 패킷들(이하, "A-타입 패킷들")을 전달할 수 있다. A-타입 패킷들은, 캡슐화된 페이로드 데이터에 추가하여, 내부 인터넷 프로토콜(IP) 헤더, GTP 헤더, UDP(사용자 데이터그램 프로토콜) 헤더, 및 외부 IP 헤더의 일부 또는 전부를 포함할 수 있다. 내부 IP 헤더는 UE(102) 상에서 생성된 IP 프로토콜에 따른 IP 헤더일 수 있다. 외부 IP 헤더는, gNodeB(106)에 의해 생성되고 A-타입 패킷을 네트워크(210)를 통해 UPF(112), MEC 서버(116), MEC 서버(118) 또는 외부 네트워크(214)로 라우팅하기 위한 정보를 정의하는, IP 프로토콜에 따른 IP 헤더, 또는 상이한 IP 프로토콜일 수 있다.
"B"로 라벨링된 경로들(204, 206)의 부분들은 SRv6 패킷들(이하 "B-타입 패킷들")과 같은 인터넷 프로토콜 패킷들로서 포맷팅된 패킷들을 전달할 수 있다. 이러한 패킷은 위에서 정의된 내부 IP 헤더, SRH'(segment routing header) 및 IPv6 헤더와 같은 인터넷 라우팅 헤더를 포함할 수 있다. 각각의 B-타입 패킷의 SRH'는 B-타입 패킷이 변환된 A-타입 패킷의 GTP 헤더, UDP 헤더 및 외부 IP 헤더의 일부 또는 전부로부터의 정보를 포함하도록 B-타입 패킷을 생성한 변환 모듈(208, 212)에 의해 채워(populate)질 수 있다. 특히, SRH'에 저장된 정보는 변환 모듈들(208, 212) 중 다른 하나에 의해 B-타입 패킷을 A-타입 패킷(GTP 패킷)으로 변환하기에 충분한 데이터를 포함할 수 있다. Ipv6 필드는 Ipv6와 같은 인터넷 프로토콜(IP)에 따라 포맷된 패킷일 수 있고, 소스 IP 어드레스, 목적지 IP 어드레스, 및 Ipv6 또는 다른 인터넷 프로토콜에 의해 정의된 다른 필드들에 대한 데이터를 포함하는 네트워크(210)와 같은 IP 네트워크를 통해 패킷을 라우팅하기에 충분한 정보를 포함할 수 있다. 이 정보는 B-타입 패킷이 획득된 A-타입 패킷의 외부 IP 헤더로부터 획득될 수 있다. Ipv6 패킷은 또한 A-타입 패킷으로부터의 페이로드 데이터(payload data)를 포함할 수 있다.
"C"로 라벨링된 경로들(206)의 부분들은 B-타입 패킷들과 동일한 필드 정의들을 포함하지만 SRH가 A-타입 패킷의 GTP 헤더로부터의 정보를 저장하지 않는 및/또는 SRH 필드 내의 정보를 사용하여 B-타입 패킷들로 후속하여 변환되지 않는 인터넷 프로토콜 패킷들로서 포맷된 "C-타입" 패킷들을 전달할 수 있다. 도 2에 도시된 바와 같이, MEC 서버(118)로부터 UE(102)로 발송된 패킷들은 B 타입 패킷들로서 네트워크(210)를 횡단할 수 있는 반면, UE(102)로부터 MEC 서버(118)로 발송된 패킷들은 C 타입 패킷들로서 네트워크(210)를 횡단한다.
"D"로 라벨링된 경로들(206)의 부분들은 D-타입 패킷이 획득된 C-타입 패킷의 내부 IP 헤더 및 페이로드 데이터를 포함하는 인터넷 프로토콜 패킷들로서 포맷팅된 "D-타입" 패킷들을 전달할 수 있다. 특히, D-타입 패킷은 UE(102)로부터, MEC 서버(116, 118)로부터, 또는 외부 네트워크(214)로부터 gNodeB(106)에 의해 수신되는 IP 패킷을 포함할 수 있다.
"다이렉트 인바운드 패킷(direct inbound packet)들"은 도 2의 경로(204)를 따라 좌측에서 우측으로 이동하는 패킷들과 같이 리다이렉트되지 않는 gNodeB(106)를 통과하는 패킷들일 수 있다. 다이렉트 인바운드 패킷은 UE(102)에서 gNodeB로 송신된다. gNodeB에 의해 수신된, 다이렉트 인바운드 패킷들은 D-타입 패킷들, 예를 들어, IPv4 또는 IPv6일 수 있다. gNodeB(106)에 의해 출력된, 다이렉트 인바운드 패킷들은 gNodeB(106)에 의해 변환 모듈(208)로 전송되는 A-타입 패킷들일 수 있다. 특히, A-타입 패킷은 UE(102)로부터 수신된 IP 패킷을 캡슐화한 GTP 패킷일 수 있다.
변환 모듈(208)은 A-타입 다이렉트 인바운드 패킷들을 B-타입 패킷들로 변환하고, A-타입 다이렉트 인바운드 패킷들의 외부 IP 헤더에 포함된 정보를 사용하여 B-타입 다이렉트 인바운드 패킷들을 네트워크(210)를 통해 UPF(112)로 송신한다. 전술한 바와 같이, A-타입 패킷의 GTP 필드로부터의 정보는 A-타입 패킷으로의 역변환을 가능하게 하기 위해 이로부터 획득된 B-타입 패킷의 SRH' 필드에 포함될 수 있다. 그러나, B-type 패킷 자체는 GTP 패킷이 아닌 SRv6 패킷일 수 있다. B-타입 패킷은 A-타입 패킷으로부터의 페이로드 데이터 및 내부 IP 헤더를 더 포함한다.
B-타입 다이렉트 인바운드 패킷들은 변환 모듈(212)로 라우팅될 수 있으며, 이는 B-타입 패킷들의 SRH'에 저장된 정보를 사용하여 다이렉트 인바운드 패킷들을 B-타입 패킷들로부터 A-타입 패킷들로 다시 변환한다. 특히, B-타입 패킷의 SRH' 필드 내의 데이터는 내부 IP 필드 및 B-타입 패킷의 페이로드 데이터를 포함하는 GTP 패킷의 GTP 헤더를 생성하는데 사용되며, GTP 패킷은 B-타입 다이렉트 인바운드 패킷에 대한 A-타입 다이렉트 인바운드 패킷이다.
변환 모듈(212)에 의한 전환 후에, A-타입 다이렉트 인바운드 패킷들이 UPF(112)로 송신된다. 그런 다음, UPF(112)는 다이렉트 인바운드 패킷을 디캡슐화(decapsulate)하여 내부 IP 패킷(예를 들어, UE(102)로부터 수신된 D-타입 패킷)을 획득하고, D-타입 다이렉트 인바운드 패킷들을 MEC 서버(116)로 포워딩할 수 있다.
"리다이렉트된 인바운드 패킷(redirected inbound packet)들"은, UE(102)로부터 D-타입 패킷들로서 발원(originate)되고 gNodeB(106)를 통해 송신되지만, MEC 서버(116)로부터 멀리, 예컨대, 외부 네트워크(214) 및/또는 다른 MEC 서버(118) 또는 제3자 서버로 리다이렉트되는 패킷들일 수 있다. 리다이렉트된 인바운드 패킷들은 도 2의 좌측 상부로부터 우측 하부로 경로(206)를 횡단할 수 있다. gNodeB(106)에 의해 출력되는, 리다이렉트된 인바운드 패킷들은 gNodeB(106)에 의해 변환 모듈(208)로 송신된 A-타입 패킷들일 수 있다. 변환 모듈(208)은 A-타입 리다이렉트된 인바운드 패킷들을 C-타입 패킷들로 변환하여 C-타입 리다이렉트된 인바운드 패킷들이 A-타입 리다이렉트된 인바운드 패킷들의 GTP 또는 UDP 헤더들로부터의 정보를 포함하지 않도록 한다. 변환 모듈(208)은, 예컨대 라우팅 모듈(216)에 의해, 패킷들이 리다이렉트되는 MEC 서버(118)에 C-타입 리다이렉트된 인바운드 패킷들을 송신한다. 라우팅 모듈(216)은 C-타입 리다이렉트된 인바운드 패킷들을 D-타입 패킷들로 변환하고, D-타입 리다이렉트된 인바운드 패킷들을 MEC 서버(118)에 발송한다. 상기에서 언급된 바와 같이, 변환은 C-타입 패킷에 캡슐화된 D-타입 패킷을 디캡슐화하는 것을 포함할 수 있다.
"다이렉트 아웃바운드 패킷(direct outbound packet)들"은 리다이렉트된 인바운드 패킷 또는 리다이렉트된 인바운드 패킷과 동일한 네트워크 플로우(flow)의 부분에 응답하지 않고 UPF(112)를 통과하고 gNodeB를 통해 UE(102)로 송신되는 패킷들일 수 있다. 예를 들어, MEC 서버(116)로부터의 패킷들은 다이렉트 아웃바운드 패킷들로서 UPF(112)를 통해 송신될 수 있다. 다이렉트 아웃바운드 패킷들은 도 2의 경로(204)를 따라 우측에서 좌측으로 경로(204)를 횡단할 수 있다. MEC 서버(116)로부터 UPF(112)에 의해 수신된 패킷은 D-타입 패킷일 수 있다. UPF(112)에 의해 출력되는, 다이렉트 아웃바운드 패킷들은 D-타입 패킷들을 캡슐화하고 UPF(112)에 의해 변환 모듈(212)에 송신되는 A-타입 패킷들일 수 있다. 변환 모듈(212)은 A-타입 다이렉트 아웃바운드 패킷들을 B-타입 패킷들로 전환하고, B-타입 패킷들의 IPv6 필드에 포함된 정보를 사용하여 B-타입 다이렉트 아웃바운드 패킷들을 네트워크(210)를 통해 gNodeB(106)에 송신한다. 변환은 GTP 패킷을 SRv6 패킷의 SRH' 필드 내의 GTP 패킷의 GTP 헤더로부터의 데이터를 포함하는 SRv6 패킷으로 변환하는 것을 포함할 수 있으며, SRv6 패킷은 GTP 패킷의 내부 IP 헤더 및 GTP 패킷의 페이로드 데이터를 더 포함한다.
B-타입 다이렉트 아웃바운드 패킷들은 변환 모듈(212)에 의해 변환 모듈(208)로 라우팅될 수 있으며, 이는 B-타입 패킷들의 SRH'에 저장된 정보를 사용하여 B-타입 다이렉트 아웃바운드 패킷들을 다시 A-타입 다이렉트 아웃바운드 패킷들로 전환한다. 이것은 SRv6 패킷을 B-타입 패킷의 내부 IP 헤더 및 페이로드 데이터를 캡슐화하고 SRH' 필드로부터의 데이터를 GTP 헤더에 포함하는 GTP 패킷으로 전환하는 것을 포함할 수 있다.
변환 모듈(208)에 의한 전환(conversion) 후에, A-타입 다이렉트 아웃바운드 패킷들은 gNodeB(106)에 송신된다. 그런 다음 gNodeB(106)는 D-타입 다이렉트 아웃바운드 패킷들을 획득하기 위해 A-타입 패킷들을 디캡슐화하고 D-타입 다이렉트 아웃바운드 패킷들을 UE(102)에 포워딩할 수 있다. 디캡슐화는 GTP 패킷으로부터 페이로드 데이터 및 내부 IP 헤더를 추출하는 것을 포함할 수 있다.
"리다이렉트된 아웃바운드 패킷들(redirected outbound packets)"은 리다이렉트된 인바운드 패킷들이 라우팅되었던 외부 네트워크(214) 내의 위치 또는 MEC 서버(118)로부터 발원되는 패킷들일 수 있다. 리다이렉트된 아웃바운드 패킷은 리다이렉트된 인바운드 패킷에 응답하여, 또는 리다이렉트된 인바운드 패킷과 동일한 네트워크 플로우의 부분에 송신될 수 있다. 예를 들어, 리다이렉트된 아웃바운드 패킷들은 MEC 서버(118) 또는 제3자 서버에 의해 UE(102)에 송신될 수 있다. 리다이렉트된 아웃바운드 패킷들은 도 2의 우측 하부로부터 좌측 상부로 경로(206)를 횡단할 수 있다. 리다이렉트된 아웃바운드 패킷은, 예컨대 외부 네트워크(214), 라우팅 모듈(216) 및 네트워크(210)의 일부 또는 전부에 의해 변환 모듈(208)로의 경로를 횡단할 수 있다. 라우팅 모듈(216)에 의해 수신된, 리다이렉트된 아웃바운드 패킷은 라우팅 모듈(216)에 의해 B-타입 리다이렉트된 아웃바운드 패킷으로 변환되는 D-타입 패킷일 수 있고, B-타입 리다이렉트된 아웃바운드 패킷은 네트워크(210)를 통해 변환 모듈(208)로 포워딩된다. 변환은 IP 패킷의 내부 IP 헤더 및 페이로드 데이터를 GTP 패킷으로 캡슐화하는 것을 포함할 수 있다.
변환 모듈(208)은 B-타입 리다이렉트된 아웃바운드 패킷을 A-타입 패킷으로 변환하고 A-타입 리다이렉트된 아웃바운드 패킷을 gNodeB(106)에 송신한다. B-타입에서 A-타입으로의 변환은 B-타입 패킷들의 SRH'에 저장된 정보를 이용하는 것을 포함할 수 있다. 이것은 SRv6 패킷을 B-타입 패킷의 내부 IP 헤더 및 페이로드 데이터를 캡슐화하고 SRH' 필드로부터의 데이터를 GTP 헤더에 포함하는 GTP 패킷으로 변환하는 것을 포함할 수 있다. 그런 다음, gNodeB(106)는 B-타입 리다이렉트된 아웃바운드 패킷으로부터 D-타입 리다이렉트된 아웃바운드 패킷(내부 IP 헤더 및 페이로드 데이터)을 디캡슐화하고, D-타입 리다이렉트된 아웃바운드 패킷을 UE(102)에 송신할 수 있다.
일부 실시예들에서, 사용자 평면 메시지(user plane message)는 UPF(112)와 UE(102) 사이의 세션을 수립 및 유지하기 위해 사용되는 메시지들이다. 사용자 평면 메시지들은 또한 UE(102) 및 MEC 서버(116)로의 그리고 그로부터의 패킷들의 라우팅 또는 외부 네트워크(214)로의 패킷들의 리다이렉션을 지시하기 위해 UPF(112)에 의해 송신되는 메시지들을 포함할 수 있다. 사용자 평면 메시지들은 또한 에코 요청, 에코 응답, 에러 표시, 또는 다른 사용자 평면 메시지들과 같은 5G 사용자 평면 메시지를 전달할 수 있다.
인바운드 사용자 평면 메시지들은 다이렉트 인바운드 패킷들로서 라우팅될 수 있다. UPF(112)로부터 송신된 사용자 평면 메시지들은 모든 인스턴스에서 다이렉트 아웃바운드 패킷들로 취급될 수 있다. 리다이렉션이 UPF(112)에 의해 명령된 바와 같이 발생하는 경우, 후속 인바운드 데이터 패킷들, 즉 비-사용자 평면 메시지 패킷들은 UPF(112)를 우회하여 리다이렉트된 인바운드 패킷들로서 변환 모듈(208)에 의해 라우팅될 수 있다. 변환 모듈(208)은 인바운드 패킷들의 딥 패킷 검사(deep packet inspection)를 수행함으로써 사용자 평면 메시지들을 식별할 수 있다. 이러한 라우팅을 수행하기 위한 시스템들 및 방법들이 이하에서 상세히 설명된다.
도 3을 참조하면, UE(102)와 외부 네트워크(214) 사이의 네트워크 경로는 제어 평면(300) 및 데이터 평면(302)에 대해 이해될 수 있다. 제어 평면(300)은 모듈들을 포함하고 미리 결정된 방식으로 패킷들을 송신하기 위해 데이터 평면(302)의 모듈들을 구성하는 모듈들 사이의 통신을 포함한다. 데이터 평면(302)은 모듈들을 포함하고 UE(102)와 외부 네트워크(214) 사이에서 페이로드 데이터의 패킷들을 송신하는 모듈들 사이의 통신을 포함한다. 제어 평면(300) 및 데이터 평면(302)의 모듈들은 단일 디바이스 내에서, 공통 회로 보드 또는 섀시에 커플링된 다수의 디바이스들 내에서, 또는 하나 이상의 네트워크 연결들에 의해 서로 연결된 다수의 디바이스들 내에서 구현될 수 있다. 예시된 컴포넌트들은 서버, 클라우드 컴퓨팅 플랫폼, 또는 다른 위치 상에서 실행되거나 이들 중 하나 이상의 조합에 걸쳐 분산될 수 있다.
제어 평면(300) 및 데이터 평면(302)은 또한 부분들(304 및 306)로 분할될 수 있다. 부분(304)은 패킷 라디오 타입 통신("패킷 라디오 부분(304)")에서 사용하기에 적합한 프로토콜들, 즉 GPRS, GTP, 또는 다른 셀룰러 데이터 통신 프로토콜들을 사용하는 통신에 따라 데이터 패킷들을 전달하는 것으로 이해될 수 있다. 예시된 실시예에서, 부분(304)은 셀룰러 데이터 통신을 위한 3GPP(3rd-generation partnership project) 프로토콜들을 구현하지만, 다른 셀룰러 데이터 통신 프로토콜들이 또한 사용될 수 있다.
부분(306)은 IPv6 프로토콜 또는 패킷 라디오 타입 통신("IP 부분(306)")에서 사용하도록 적응되지 않은 다른 인터넷 프로토콜과 같은 인터넷 프로토콜에 따라 데이터 패킷들을 전달하는 것으로 이해될 수 있다.
패킷 라디오 부분(304)의 제어 평면(300)은 다음과 같은 컴포넌트들을 포함할 수 있다:
Figure pct00001
인증, 핸드오버, IMS(IP Multimedia Subsystems) 및 SMS(Simple Message Service) 중 일부 또는 전부를 관리하기 위한 HSS UDM(Home Subscriber Server with Unified Data Management)(308) 또는 다른 컴포넌트.
사용자 가입에 따라 셀룰러 데이터 통신 네트워크로의 액세스를 관리하기 위한 정책 제어 기능(PCF : Policy Control Function) 및/또는 정책 및 과금 규칙 기능(PCRF : Policy and Charging Rules Function)(310).
연결 및 이동성 관리 태스크들(예를 들어, 핸드오버들)을 관리하기 위한 액세스 및 이동성 관리 기능(AMF : Access and Mobility Management Function) 및/또는 이동성 관리 엔티티(MME : Mobility Management Entity)(312) 또는 다른 컴포넌트.
UPF와의 사용자 세션들을 관리하고 인터넷 프로토콜 네트워크와 패킷 라디오 네트워크의 인터페이싱을 가능하게 하기 위한 세션 관리 기능(SMF) 및/또는 서빙 및 패킷 게이트웨이(SPGW, 예컨대 SPGW-C)(312)(본 명세서에서 "SMF(314)"로도 지칭됨) 또는 다른 컴포넌트.
SMF(314)는 GTP 세션 정보를 관리하고, 이를 AMF(312)에 제공할 수 있다. AMF(312)는 GTP 세션 정보에 따라 패킷들을 라우팅하기 위해 데이터 평면(302) 내의 컴포넌트들(아래에서 설명되는 gNodeB(106))을 프로그래밍할 수 있다.
패킷 라디오 부분(304)의 데이터 평면(302)은 다음과 같은 컴포넌트들을 포함할 수 있다:
안테나를 통해 UE(102)와 직접 통신하고 UE(102)로부터의 패킷들을 GTP 패킷들로 캡슐화하고 또한 사용자 평면 제어 프로토콜들을 구현할 수 있는 gNodeB(106) 또는 다른 하드웨어 컴포넌트.
패킷 라디오 부분(304)과 IP 부분(306) 사이를 횡단할 때 GTP와 SRv6 사이에서 패킷들을 앞뒤로 전환하기 위한 변환 모듈(208).
IP 부분(306)의 제어 평면(300)은 다음과 같은 컴포넌트들을 포함할 수 있다:
이하에서 더 상세히 설명되는 패킷 포워딩 제어 프로토콜(PFCP) 프록시(322).
도 3에 도시된 다른 컴포넌트들 및/또는 본 명세서에 설명된 네트워크들 중 임의의 네트워크의 다른 디바이스들에 라우팅 경로들을 수신 및/또는 송신하기 위한 경계 게이트웨이 프로토콜(BGP) 모듈(324) 또는 다른 컴포넌트.
GTP 연결을 종료하고 패킷 라디오 네트워크와 인터넷 프로토콜 네트워크 사이의 패킷의 송신을 관리하기 위한 평면 기능 제어 모듈(UPF N4)(326) 또는 다른 컴포넌트. UPF N4(326)는 UPF(112)와의 세션 셋업을 가능하게 한다.
IP 부분(306)의 데이터 평면(302)은 다음과 같은 컴포넌트들을 포함할 수 있다:
전술한 UPF(112).
변환 모듈(208)은 양쪽 부분들(304 및 306)에서 동작한다.
네트워크(210).
라우팅 모듈(216).
전술된 UPF(112)에 발송된 트래픽을 변환하기 위한 변환 모듈(212).
예시된 구현예에서, PFCP에 따른 패킷 포워딩 연관 결합(packet forwarding association)들은 PFCP 프록시(322)에 의해 SMF(314)와 UPF 제어 모듈(326) 사이에서 조정될 수 있다. 따라서, SMF(314) 및 UPF 제어 모듈(326)은 PFCP 프록시(322)를 통해 세션 정보를 교환할 수 있다. PFCP 프록시(322)는 이 정보를 스누핑(snoop)하고 이를 BGP 모듈(324)에 제공할 수 있다. 따라서, PFCP 프록시(322)는 UPF 제어 모듈(326)의 PFCP 구현과의 연관 결합 및 SMF(314)와의 연관 결합을 이룰 수 있다. BGP 모듈(324)은 본 명세서에서 후술되는 바와 같이 PFCP 프록시(322)에 의해 스누핑된 정보를 사용하여 GTP로부터 IP 프로토콜(예를 들어, SRv6)로 및 IP 프로토콜로부터 GTP로의 변환들을 수행하도록 데이터 평면(302)(예를 들어, 변환 모듈들(208, 212), 라우팅 모듈(216))을 프로그래밍하기 위해 스누핑된 정보를 사용할 수 있다.
PFCP를 구현하는 기존의 소프트웨어 패키지는 독점적이며 쉽게 변경되지 않는다. PFCP를 구현하기 위한 일부 오픈 소스 소프트웨어 패키지는 사용가능 하지만 애플리케이션에 통합되어야 하는 패키지로만 존재한다. 또한, UPF 제어 모듈(326)의 네트워크 스택은 쉽게 수정가능하지 않은 제3자 또는 오픈 소스 소프트웨어(예를 들어, upg-vpp(사용자 평면 게이트웨이 벡터 패킷 프로세서))에 의해 구현될 수 있다.
일부 실시예들에서, PFCP 프록시(322), BGP 모듈(324), 및 내부 라우팅 모듈(216)은 다음 중 일부 또는 전부를 수행하기 위해 이러한 컴포넌트들의 종래의 구현들에 비해 수정될 수 있다:
UPF 제어 모듈(UPF N4)(326)의 PFCP 구현과 SMF(314) 사이의 연관 결합들을 수립.
UPF 제어 모듈(326)의 PFCP 구현과 SMF(314) 사이에서 메시지들을 전송.
UE(102)의 어드레스, 원격/로컬 터널 엔드포인트(TEP) 어드레스들, 터널 엔드포인트 식별자(TEID : Tunnel Endpoint Identifier), 및 다른 정보와 같은 정보를 획득하기 위해 BGP 모듈(324)에 대한 세션 메시지들을 스누핑(snoop).
도 4는 PFCP 프록시(322) 및 BGP 모듈(324)의 예시적인 구현예를 추가로 예시한다. 종래의 5G 모바일 네트워크에서, 연관 결합(association), 예를 들어, 제어 채널이 AMF MME(312)와 UPF N4(326) 사이에 셋업될 것이다. 세션(session), 예를 들어, 사용자 평면 정보는 SMF SPGW(314)와 UPF N4(326) 사이에 수립될 것이다. 일단 SMF SPGW(314)와 UPF N4(326) 사이에 세션이 수립되면, UE(102)는 페이로드 트래픽을 발송하는 것을 개시할 수 있다. 후속하여, gNodeB(106)는 UE(102)로부터의 패킷들을 GTP 패킷들로 캡슐화하고, GTP 패킷들을 UPF(112)로 포워딩할 수 있다. 전형적인 5G 구현에서, 연관 결합(association) 및 세션(session) 요청들은 UPF N4(326)의 UDP 포트(8805)로 발송되고, UPF N4(326)로부터의 요청들에 대한 응답들은 요청들이 수신된 소스 UDP 포트로 발송될 것이다.
종래의 시스템에서, 앞서 언급된 이유들로 인해 gNodeB(106)와 UPF(112) 사이의 경로를 최적화하는 것은 어렵다: 모든 UE 트래픽은 GTP 패킷들로 캡슐화되고 UPF(112)를 통해 포워딩되어야 한다.
일부 실시예들에서, 종래의 5G 모바일 네트워크의 제한들은 SMF SPGW(314)와 UPF N4(326) 사이에 PFCP 프록시(322)를 개재함으로써 극복되어 PFCP 프록시(322)가 이들 컴포넌트들 사이에서 400 트래픽을 포워딩하도록 한다. 따라서, PFCP 프록시(322)는 SMF SPGW(314)로부터 PFCP 메시지들을 수신하고, 이들을 UPF N4(326)에 포워딩한다. 마찬가지로, PFCP 프록시(322)는 UPF N4(326)로부터 PFCP 메시지들을 수신하고 이들을 SMF SPGW(314)에 포워딩한다. 그렇게 함으로써, PFCP 프록시(322)는 사용자 평면 정보를 검색하기 위해 양방향으로 PFCP 메시지를 파싱(parse)할 수 있다.
그런 다음, PFCP 프록시(322)는 사용자 평면 정보를 PFCP 프록시(322) 외부에서 실행되는 라우팅/소프트웨어 정의 네트워크(SDN) 컨트롤러에 제공할 수 있다(402). 예시된 실시예에서, 라우팅/SDN 컨트롤러는 BGP 모듈(324)을 사용하여 구현되지만, 다른 구현예들도 사용될 수 있다. PFCP 프록시(322) 및 라우팅/SDN 컨트롤러(324)는 동일한 컴퓨팅 디바이스 또는 별개의 컴퓨팅 디바이스들 상에서 실행될 수 있다. PVCP 프록시 및 라우팅/SDN 컨트롤러(324)는 제어 평면(300), 특히 SMF SPGW-C(314) 및 UPF N4(326)의 추가적인 수정 없이 도 2에 대해 전술된 라우팅을 달성할 수 있다. 특히, SMF SPGW-C(314) 및 UPF N4(326)는 PFCP 프록시(322)의 동작이 SMF SPGW-C(314) 및 UPF N4(326)에 의해 인지가능하지 않도록 PFCP 프록시(322)를 통해 5G 세션을 수립하기 위해 정보를 교환할 수 있다.
BGP 모듈(324)은 사용자 평면 정보에 따라 데이터 평면에서 변환 모듈(208)을 프로그래밍할 수 있다(404a). 그런 다음, 변환 모듈(208)은 UPF(112)를 우회하여 BGP 모듈(324)로부터 수신된 경로에 따라 리다이렉트된 패킷들을 MEC 서버(118) 또는 외부 네트워크(214)와 같은 리다이렉션의 타겟으로 포워딩할 수 있고(406), 경로는 패킷들이 먼저 UPF(112)를 통해 라우팅되는 종래의 접근법에 비해 보다 최적화된다. BGP 모듈(324)은 또한 변환 모듈(212)을 프로그래밍하여(404b) 제어 패킷들을 UPF(112)로 라우팅하고, 라우팅 모듈(216)을 프로그래밍하여(404c) 외부 네트워크(214)에 의해 라우팅 모듈(216)에 연결된 MEC 서버(118) 또는 다른 디바이스로 및 그로부터 패킷들을 라우팅할 수 있다.
프로그래밍(404a)과 관련하여, BGP 모듈(324)은 변환 모듈(208)에 UPF(112)를 향한 루트(route)를 제공하고, 또한 전술한 바와 같이 GTP 패킷을 SRv6 패킷으로, 즉 A-타입 패킷을 B-타입 패킷으로 변환하는 방법에 관한 규칙을 제공한다. 따라서, 변환 모듈(208)이 목적지가 UPF(112)인 GTP 패킷을 수신할 때, 변환 모듈(208)은 변환을 수행하기 위해 BGP 모듈(324)로부터 수신된 규칙을 적용할 것이다.
프로그래밍(404b)과 관련하여, BGP 모듈(324)은 변환 모듈(212)에 대해 유사하거나 동일한 규칙을 제공할 수 있다. 이러한 규칙에 기초하여, 변환 모듈(212)은 SRv6 패킷들을 GTP 패킷들로 변환하고, UPF(112)로 발송된 원래의 GTP 패킷을 재생성할 수 있다. BGP 모듈(212)은 또한 gNodeB(106)를 향한 루트를 변환 모듈(212)에 제공할 수 있다. UPF(112)가 목적지가 gNodeB(106)인 GTP 패킷을 발송할 때, 변환 모듈(212)은 상기 규칙에 기초하여 GTP 패킷들을 SRv6 패킷들로 변환하고, 그런 다음 결과적인 SRv6 패킷들을 변환 모듈(208)로 포워딩할 수 있다. 변환 모듈(208)은 동일한 규칙에 기초하여 SRv6 패킷들을 다시 GTP 패킷들로 변환하고, 결과적인 GTP 패킷들을 gNodeB(106)에 포워딩할 수 있다.
UE(102)에 의해 외부 네트워크(214) 또는 외부 MEC 서버(118)를 향해 발송된 패킷들에 대해, 라우팅 모듈(216)은 외부 MEC 서버(118) 및/또는 외부 라우팅 모듈(214)로의 외부 루트를 변환 모듈(208)에 통지(announce)할 수 있다. 이것은 표준 L3VPN SRv6 방식에 기초하여 행해질 수 있다. 따라서, 변환 모듈(208)은 UE에 의해 생성된 내부 패킷에 기초하여 표준 SRv6 캡슐화를 실행할 수 있다.
프로그래밍(404c)과 관련하여, 라우팅 모듈(216)은 GTP 패킷을 프로세싱하는 능력이 결여될 수 있는 표준 SRv6 라우터를 구현할 수 있다. 따라서, 프로그래밍(404c)은 BGP 모듈(324)에 의해, GTP 정보(예를 들어, B-타입 패킷의 SRH' 헤더에 내장(embedded)될 수 있는 GTP 정보의 일부 또는 전부)를 함유하는 SRv6에 대한 특수 서비스 SID를 생성하는 것을 포함할 수 있다. 전술한 바와 같이, 네트워크(210)를 횡단하는 리다이렉트된 인바운드 패킷은 B-타입 패킷으로 포맷될 수 있다. 따라서, 프로그래밍(404c)은 라우팅 모듈(216)을 프로그래밍하여, MEC 서버(118) 또는 외부 네트워크(214)로부터 수신되고 gNodeB(106)로 어드레싱된 각각의 패킷을 캡슐화하는 Srv6 헤더의 SRH' 필드에 추가 GTP 정보를 채울 수 있다.
외부 네트워크(214) 또는 외부 MEC(118)로부터 수신되고 UE(102)로 지향된 응답들에 대해, 라우팅 모듈(216)은 응답 패킷(IPv4 또는 IPv6과 같은 IP 패킷)을 SRv6 패킷들로 캡슐화할 수 있다. 이때, 라우팅 모듈(216)은 BGP(324)에 의해 제공된 특수 서비스 SID를 사용할 수 있다. 이 SID는 SRH' 헤더에 포함될 수 있는 필요한 GTP 정보를 함유한다. 따라서, 변환 모듈(208)은 SRv6 패킷들을 GTP 패킷들로 변환하고 결과적인 GTP 패킷들을 gNodeB(106)에 발송할 수 있다.
도 5는 PFCP 프록시(322)의 예시적인 구현예를 예시한다. PFCP 프록시(322)는 5G 세션 정보를 검색하기 위해 PFCP 메시지들을 파싱할 수 있고, 아래에 개략적으로 나타낸 바와 같이 메시지들을 프로세싱하고 PFCP 메시지들을 그것들의 목적지들에 포워딩할 수 있다. 일부 실시예에서, go-pfcp 패키지는 PFCP 메시지들을 파싱하는데 사용된다. 예를 들어, 예시된 실시예에서, PFCP 프록시(322)는 PFCP 요청 수신기(500), SMF 요청 포워더(forwarder)(502), UPF 요청 포워더(504), SMF 응답 수신기(506), UPF 응답 수신기(508), SMF 응답 포워더(510), 및 UPF 응답 포워더(512)를 포함한다. 이들 컴포넌트들 각각은 PFCP 프록시(322)의 특정 포트로부터 리스닝(listen) 또는 송신하도록 할당될 수 있다. 각각의 컴포넌트의 동작을 설명하면 다음과 같다.
PFCP 메시지들을 UPF N4(326)로 포워딩할 때, PFCP 프록시(322)는 포워딩된 메시지의 IP 소스 어드레스를 PFCP 프록시의 어드레스와 함께 재기록하고, IP 목적지 어드레스를 UPF N4(326)의 어드레스로 재기록할 수 있다. PFCP 프록시(322)는 포워딩된 요청의 UDP 소스 포트를 PFCP 프록시의 포트 번호로 재기록할 수 있다. PFCP 프록시(322)에 의해 재기록 PFCP 요청은 그런 다음 UPF N4(326)로 발송될 수 있다.
PFCP 메시지를 SMF SPGW-C(314)에 포워딩할 때, PFCP 프록시(322)는 IP 소스 어드레스를 PFCP 프록시의 어드레스에 재기록하고, IP 목적지 어드레스를 SMF SPGW-C(314)의 어드레스로 재기록하고, UDP 소스 포트를 PFCP 프록시의 로컬 포트 번호에 재기록한다. 그런 다음, PFCP 프록시는 재기록된 PFCP 응답을 SMF SPGW-C(314)에 발송한다.
이러한 방식으로 메시지들(514, 516)을 재기록함으로써, SMF SPGW-C(314) 및 UPF N4(326)는 PFCP 프록시(322)와 통신하고 있다. 그러나, PFCP 프록시(322)는, MF SPGW-C(314) 및 UPF N4(326)가 PFCP 프록시(322)를 전혀 인식할 수 없도록, IP 소스/목적지 어드레스들 및 UDP 소스 포트를 덮어쓸 수 있다(overwrite).
PFCP 프록시(322)는 UDP 포트(8805)를 리스닝(listen)함으로써 PFCP 메시지를 인터셉트(intercept)한다. UDP 포트(8805)는 PFCP 메시지를 수신하기 위해 3GPP에 의해 정의된 포트이다. 따라서, UDP 포트(8805)는 다른 구성을 사용할 경우 이하의 설명 전반에 걸쳐 다른 포트로 대체될 수 있다. PFCP 프록시(322)의 컴포넌트들의 동작은 다음과 같을 수 있다:
PFCP 요청 수신기(500)는 SMF SPGW-C(314) 또는 UPF N4(326)로부터 UDP 포트(8805)로 어드레싱된 PFCP 요청 메시지들(514, 516), 즉 PFCP 메시지들을 수신하기 위해 할당된 포트를 리스닝하고, SMF SPGW-C(314)로부터의 PFCP 요청(514)의 소스 포트(예시된 예에서 포트 A)를 레코딩(record)한다. PFCP 요청 수신기(500)는 UPF N4(326)로부터의 PFCP 요청(516)의 소스 포트(예시된 예에서는 포트 B)를 추가로 레코딩할 수 있다. 메시지들(514, 516)에 대한 소스 포트들은 미리 구성될 수 있다(포트 X 및 Y 개별적으로).
SMF 요청 포워더(request forwarder)(502)는 요청(516)을 SMF SPGW-C(314)에 포워딩한다. SMF 요청 포워더(502)는 SMF 요청 포워더(502)에 의해 SMF SPGW-C(314)에 송신된 포워딩된 요청(516)에 대한 소스 포트로서 X를 사용하도록 PFCP 요청 수신기(500)에 의해 구성된다. SMF 요청 포워더(502)는 IP 목적지 어드레스를 SMF-SPGW-C(314)의 IP 어드레스로 재기록하고 IP 소스 어드레스를 PFCP 프록시(322)의 IP 어드레스로 재기록함으로써, 포워딩된 요청(516)을 추가로 수정한다.
UPF 요청 포워더(504)는 요청(514)을 UPF N4(326)에 포워딩한다. UPF 요청 포워더(504)는 UPF 요청 포워더(504)에 의해 UPF N4(326)에 송신된 포워딩된 요청(516)에 대한 소스 포트로서 Y를 사용하도록 PFCP 요청 수신기(500)에 의해 구성된다. UPF 요청 포워더(504)는 IP 목적지 어드레스를 UPF N4(326)의 IP 어드레스로서 재기록하고, IP 소스 어드레스를 PFCP 프록시(322)의 IP 어드레스로 재기록함으로써 포워딩된 요청(514)을 추가로 수정한다.
SMF 응답 수신기(506)는 포트 X로 어드레싱된 SMF SPGW-C(314)로부터의 PFCP 응답들(518)을 검출하고, 검출된 PFCP 응답들(518)을 UPF 응답 포워더(512)에 제공하도록 구성된다.
UPF 응답 수신기(508)는 포트 Y로 어드레싱된 UPF N4(326)로부터 PFCP 응답들(520)을 검출하고, 검출된 PFCP 응답들(520)을 SMF 응답 포워더(510)에 제공하도록 구성된다.
SMF 응답 포워더(510)는 PFCP 응답들(518)을 SMF SPGW-C(314)에 포워딩하도록 프로그래밍되고, 포워딩된 PFCP 응답들(518)의 소스는 UDP 포트(8805)로 설정되고 목적지는 포트 A(요청(514)의 이전에 레코딩된 소스 포트)로 설정된다. SMF 응답 포워더(510)는 IP 목적지 어드레스를 SMF SPGW-C(314)의 IP 어드레스로 재기록하고 IP 소스 어드레스를 PFCP 프록시(322)의 IP 어드레스로 재기록함으로써, 포워딩된 응답(518)을 추가로 수정한다.
UPF 응답 포워더(512)는 UPF N4(326)의 포트 Y에 PFCP 응답들(520)을 전달하도록 프로그래밍되고, 전달된 PFCP 응답들(520)의 소스는 UDP 포트(8805)로 설정되고 목적지는 포트 B(요청(516)의 이전에 레코딩된 소스 포트)로 설정된다. UPF 응답 포워더(512)는 또한 IP 목적지 어드레스를 UPF N4(326)의 IP 어드레스로 재기록하고 IP 소스 어드레스를 PFCP 프록시(322)의 IP 어드레스로 재기록함으로써 포워딩된 응답(518)을 추가로 수정한다.
도 6을 참조하면, PFCP 프록시(322)가 도 4와 관련하여 위에서 요약된 바와 같이 메시지들을 포워딩할 때, PFCP 프록시(322)는 또한 메시지들을 사용하여 생성되는 연관 결합들 및 세션들에 관한 정보를 스누핑할 수 있다. 그런 다음, 이러한 스누핑된 정보는 라우팅/SDN 컨트롤러(324)(BGP 모듈(324))에 제공될 수 있다. 예시된 실시예에서, PFCP 프록시(322)와 라우팅/SDN 컨트롤러(324) 사이의 정보의 전송은 프로세스간 통신(IPC : inter-process communication)(600)을 사용하여 수행된다. 예를 들어, gRPC(오픈 소스 RPC(remote procedure call) 시스템). SDN 컨트롤러(324)는 스누핑된 정보에 따라 라우팅 테이블(602)을 프로그래밍할 수 있다.
스누핑된 정보는 다음의 일부 또는 전부를 포함할 수 있다:
원격 터널 엔드포인트(TEP : Remote Tunnel Endpoint), 예를 들어, UPF(112)의 어드레스
로컬 TEP, 예를 들어, gNodeB(106)의 어드레스
TEID(Tunnel Endpoint Identifier)
QFI(서비스 품질(QoS) 플로우 식별자)
UE 어드레스 (UE(102)의 어드레스)
액세스 네트워크 인스턴스(Instance)
코어 네트워크 인스턴스
이 정보를 수신하면, 라우팅/SDN 컨트롤러(324)는 이 정보에 기초하여 라우팅 테이블(602)에 라우터 엔트리를 생성할 수 있다. 이러한 라우팅 엔트리들은 도 2 및 도 4와 관련하여 전술된 라우팅을 구현하기 위해 변환 모듈들(208, 212) 및 가능하게는 라우팅 모듈(216)의 라우팅을 제어하는 데 사용될 수 있다.
도 2를 다시 참조하면, 원하는 라우팅은 gNodeB(106)에 의해 UE(102)로부터 내부 IP 패킷을 수신하는 것을 포함할 수 있으며, 이는 내부 IP 패킷을 포함하는 A-타입(GTP) 패킷을 생성한다. gNodeB(106)는 BBU(106)와 UPF(112) 사이의 GTP 터널을 통해 A-타입 패킷을 UPF(112)에 송신한다. 이 GTP 터널을 정의하는 파라미터들은 앞서 열거된 스누핑된 정보, 특히 UPF(112)를 참조하는 원격 TEP 및 gNodeB(106)를 참조하는 로컬 TEP에 포함된다.
도 2와 관련하여 전술된 바와 같이, 단순히 GTP 터널을 통해 A-타입 패킷을 라우팅하기보다는, A-타입 패킷은 B- 또는 C-타입 패킷으로 변환되고 SRv6 네트워크(210)와 같은 IP 네트워크(210)를 통해 라우팅된다. IP 네트워크(210)와 GTP 터널 사이의 변환은 변환 모듈(208, 212)에 의해 관리된다. 추가적으로, 라우팅 모듈(216)은 또한 GTP 터널을 정의하는 파라미터들을 참조하여 패킷들을 라우팅할 필요가 있을 수 있다. PFCP 프록시(322)에 의해 획득된 스누핑된 정보는 라우팅/SDN 컨트롤러(324)에 제공될 수 있다. 그런 다음, 라우팅/SDN 컨트롤러(324)는 도 2와 관련하여 설명된 라우팅을 달성하기 위해 변환 모듈들(208, 212) 및 라우팅 모듈(216)을 프로그래밍할 수 있다. 변환 모듈들(208, 212) 및 라우팅 모듈(216)이 라우팅/SDN 컨트롤러(324)에 의해 어떻게 프로그래밍될 수 있는지에 대한 다양한 예들이 이하에서 설명된다.
제1 예에서, 라우팅/SDN 컨트롤러(324)는 원격 TEP를 수신하고, UPF(112)를 향한 루트를 생성 및 분배한다. 특히, 이 루트는 변환 모듈(208)에 제공될 수 있다. 루트는 GTP와 SRv6 사이의 변환을 수행하기 위해 전술한 바와 같은 프로그래밍(404a)에 추가하여 제공될 수 있다.
제2 예에서, 라우팅/SDN 컨트롤러(324)는 로컬 TEP 및 UE 어드레스를 수신하고, SRv6에 따라 이 정보에 기초하여 서비스 SID를 생성 및 분배한다. 특히, 서비스 SID는 라우팅 모듈(216)에 제공될 수 있다. 서비스 SID는 로컬 TEP에 의해 참조되는 gNodeB(106)에 의해 네트워크(210)를 통해 UE(102)로의 루트를 광고한다. QFI는 서비스 SID를 생성할 때 라우팅/SDN 컨트롤러(324)에 의해 사용될 수 있다. 이러한 제2 예는 전술한 바와 같이 프로그래밍(404c)을 수행할 때 구현될 수 있다.
제3 예에서, gNodeB(106)는 A-타입 패킷들의 목적지를 원격 TEP(UPF(112)의 터널 엔드포인트 어드레스)로 설정함으로써 UPF(112)와 수립된 GTP 터널 내에 A-타입(GTP) 패킷들을 발송할 수 있다. PFCP 프록시(322)는 GTP 터널을 셋업할 때 gNodeB(106)와 UPF(112) 사이의 제어 패킷들을 스누핑함으로써 이 원격 TEP 어드레스를 획득한다. PFCP 프록시(322)는 원격 TEP 어드레스를 라우팅/SDN 컨트롤러(324)에 제공할 수 있다.
그런 다음, 라우팅/SDN 컨트롤러(324)는 이러한 원격 TEP에 대한 라우팅 엔트리를 생성하고, 이러한 라우팅 엔트리로 변환 모듈(208)을 프로그래밍할 수 있다. 일부 실시예들에서, 라우팅/SDN 컨트롤러(324)는 라우팅 엔트리를 생성하기 위해 GTP4.D와 같은 함수를 사용할 수 있다. 라우팅 엔트리는 GTP 헤더 정보의 SRH' 헤더로의 인코딩을 포함하여, A-타입에서 B-타입 패킷으로의 변환을 정의하고, 예컨대 SRv6와 같은 세그먼트 라우팅 프로토콜에 따라 하나 이상의 SID들의 형태로, 네트워크(210)를 통해 변환 모듈(212)로의 라우팅을 정의할 수 있다.
제4 예에서, 인그레스(ingress) 프레미스 장비(PE : premise equipment)로부터 이그레스(egress) PE로의 트래픽의 라우팅은 아래에서 설명되는 바와 같이 스누핑된 정보에 기초하여 관리된다. 인그레스 PE는 예를 들어, 변환 모듈(208)일 수 있는 반면, 이그레스 PE는 외부 네트워크(214) 또는 MEC 서버(118)와 인터페이싱하기 위한 라우팅 모듈(216)이다. 역방향에서, 라우팅 모듈(216)은 인그레스 PE이고 변환 모듈(208)은 이그레스 PE이다.
L3VPN SRv6와 같은 표준 가상 사설 네트워크(VPN)에서, 인그레스 PE는 내부 패킷이 IP 네트워크로부터 수신된 패킷인 SRv6 패킷을 발송한다. SRv6 패킷의 목적지 어드레스는 이그레스 PE에 할당된 IPv6 어드레스(예를 들어, 세그먼트 식별자(SID : segment identifier))와 같은 IP 어드레스로 설정될 수 있다. 이그레스 PE는 SRv6 패킷을 수신하고, 내부 패킷을 디캡슐화하고, 내부 패킷을 내부 패킷의 목적지 어드레스로 포워딩한다. 예시된 예에서, 내부 패킷의 목적지 어드레스는 IPv6 목적지(예를 들어, SID)의 형태일 수 있다. 따라서, 이그레스 PE는 패킷이 네트워크(210)를 통해 이동하고 있는 방향에 따라 제3자 서버 또는 UE(102)일 수 있는 내부 패킷의 목적지 어드레스에 기초하여 내부 패킷을 어디로 포워딩할 지를 결정할 수 있다.
예시된 실시예에서, 이그레스 PE(예를 들어, 변환 모듈(208))는 특정 UE(102)에 도달하기 위해 내부 패킷이 포워딩되어야 하는 이용가능한 gNodeB 인스턴스들의 세트의 gNodeB(106)를 결정할 필요가 있을 수 있다. 따라서, 이그레스 PE는 UE(102)의 IP 어드레스를 해당 UE(102)가 연결된(예를 들어, TCP 또는 다른 세션이 수립된) gNodeB(106)의 로컬 TEP에 맵핑하는 라우팅 엔트리를 라우팅/SDN 컨트롤러(324)로부터 수신할 수 있다. UE(102)의 IP 어드레스와 로컬 TEP 사이의 연관 결합은 위에서 열거된 스누핑된 정보로부터 결정될 수 있다.
라우팅 엔트리는 C-타입 패킷으로부터 A-타입 패킷으로의 패킷의 변환을 수행하고, 결과적인 A-타입 패킷을 GTP 연결을 통해 gNodeB(106)에 송신할 때 gNodeB(106)의 로컬 TEP를 사용하도록 이그레스 PE에 명령할 수 있다. 예를 들어, GTP4.D(IPv4 GTP)가 사용되는 경우, 라우팅/SDN 컨트롤러(324)는 다음 IPv6 어드레스를 이그레스 PE에 제공할 수 있다:
SRv6 로케이터(Locator)(<56비트) + TEID(32비트) + QFI(8비트) + 로컬 TEP 어드레스(32비트)
"SRv6 로케이터"는 라우팅/SDN 컨트롤러(324) 상의 구성을 참조할 수 있다. SRv6 로케이터에 기초하여, 변환 모듈(208, 212)은 그것들이 수행할 변환 기능을 인식할 수 있다. 예를 들어, BGP(324)는 2001:db8::/48을 GTP와 SRv6 사이의 변환을 위한 SRv6 로케이터로서 할당할 수 있다. 이 경우, 변환 모듈(208, 212)이 GTP 패킷으로부터 SRv6 패킷을 생성할 때, 이는 2001:db8::/48을 SRv6 로케이터로서 사용하고, GTP 패킷의 TEID, QFI, TEP 어드레스를 SRH' 필드에 내장할 것이다. 변환 모듈(208, 212)이 목적지가 2001:db8::/48과 매칭하는 SRv6 패킷을 수신할 때, 변환 모듈(208, 212)은 SRv6 패킷이 GTP로 변환될 필요가 있음을 이해할 수 있다. 변환 모듈(208, 212)은 SRH' 필드로부터 TEID, QFI, TEP 어드레스를 획득하고, 그런 다음 원래의 GTP 패킷을 재생성할 수 있다. 그런 다음, GTP 패킷은 그것이 어드레싱되는 UPF(112) 또는 gNodeB(106) 중 어디로든 발송될 수 있다.
L3VPN에서의 다중경로 라벨 스위칭(MPLS)의 경우, SRv6 로케이터(locator)는 주어진 VPN을 특정하기 위해 사용될 수 있다. SRv6 L3VPN의 경우, SRv6 로케이터는 서비스 SID(IPv6 어드레스 포맷)를 특정할 수 있고 MPLS L3VPN에 대한 라벨 대신에 주어진 VPN을 특정하는데 사용될 수 있다.
로컬 TEP 어드레스는 IPv6 어드레스에 내장될 수 있다. 이 어드레스는 또한 서비스 SID로서 인그레스 PE에 통지될 수 있다. 이그레스 PE가, 목적지가 이 IPv6 어드레스와 매칭하는 패킷을 수신할 때, 이그레스 PE는 패킷을 포워딩할 gNodeB 인스턴스를 결정하고, 또한 BBU의 로컬 TEP 어드레스를 획득하고, gNodeB 인스턴스에 송신하기 위한 GTP 패킷(A-타입 패킷)을 생성할 수 있다. 라우팅/SDN 컨트롤러(324)는 이그레스 PE에게 IPv6 어드레스로부터 GTP 패킷으로의 변환을 수행하는 방법을 명령하는 GTP4.D 라우팅 규칙과 같은 라우팅 규칙으로 이그레스 PE를 프로그래밍할 수 있다.
SRv6로부터 GTP로 변환하기 위해, 이그레스 PE는 다음의 정보를 사용할 수 있다: 로컬 TEP 어드레스(gNodeB(106)의 어드레스), TEID(터널 식별자), 및 QFI(QoS 식별자). 로컬 TEP 어드레스는 GTP 패킷의 목적지 어드레스이다. TEID 및 QFI는 GTP 헤더에 내장될 필요가 있는 값이다. 따라서, 이 정보는 SRv6로부터 GTP로의 변환이 IPv6 목적지 어드레스에 반송되는 것을 가능하게 하기 위해 인그레스 PE로부터 이그레스 PE로 라우팅되는 패킷들의 IPv6 목적지 어드레스(위의 예시적인 어드레스 참조)에 내장될 수 있다.
이러한 정보(로컬 TEP 어드레스, TEID, QFI)는 PFCP 프록시(322)에 의해 획득되고, 라우팅/SDN 컨트롤러(324)에 제공되고, 그런 다음, 앞서 설명된 바와 같이 정보를 내장하고 정보를 사용하여 변환들을 수행하도록 인그레스 PE 및 이그레스 PE를 프로그래밍하기 위해 라우팅/SDN 컨트롤러(324)에 의해 사용된다. 라우팅/SDN 컨트롤러(324)는 인그레스 PE에 제공된 서비스 SID로서 내장된 정보에 포함된 IPv6 어드레스를 이용하여 VPNv4/v6 루트들을 통지함으로써 그렇게 할 수 있다. 라우팅/SDN 컨트롤러(324)는 또한 이 정보를 GTP4.E 기능을 사용하여 생성된 SRv6 로케이터의 형태로 이그레스 PE에 프로그래밍할 수 있다.
인그레스 PE가 IP 네트워크로부터 패킷을 수신할 때, 인그레스 PE는 SRv6로 IP 네트워크로부터 패킷을 캡슐화할 수 있다. 이때, 외부 IPv6 목적지 어드레스는 내장된 정보를 포함하는 상기의 서비스 SID이다. 이그레스 PE가 서비스 SID에 매칭된 외부 IPv6 목적지를 갖는 패킷을 수신할 때, 이그레스 PE는 수신된 패킷에 대해 GTP4.E 기능을 실행하여 이를 IPv6 목적지 어드레스에 내장된 TEID, QFI 및 로컬 TEP를 사용하여 GTP(A-타입) 패킷으로 변환하도록 결정할 수 있다.
제5 예에서, 라우팅 모듈(216)은 UE(102)의 IP 어드레스로 어드레싱된 패킷들을 외부 네트워크(214)로부터 수신할 수 있다. 스누핑된 정보는 gNodeB(106)의 로컬 TEP에 대한 연관 결합(association)을 제공한다. 따라서, 라우팅/SDN 컨트롤러(324)는 UE(102)의 IP 어드레스로 어드레싱된 트래픽을 gNodeB(106)로 라우팅하도록 라우팅 모듈(216)에 지시하는 라우팅 모듈(216)에 대한 루트를 통지할 수 있다. 패킷은 그런 다음, 상기에서 설명된 D, C, 및 A-타입 패킷들 사이의 변환들에 맞춰 도 2의 경로(206)에 따라 gNodeB(106)에 의해 UE(102)로 라우팅 모듈(216)에 의해 라우팅될 수 있다.
제6 예에서, 스누핑된 정보는 코어 네트워크 인스턴스를 포함할 수 있다. 이 값은 5G 코어 네트워크에서 네트워크 슬라이싱(network slicing)에 사용될 수 있다. 이 값에 기초하여, 라우팅/SDN 컨트롤러(324)는 UE 어드레스가 어느 가상 라우팅 및 포워딩(VRF : virtual routing and forwarding ) 테이블로부터 임포트(import)되어야 하는지 및 프로그래밍(404c)을 수행할 때 UE(102)로의 루트를 생성할 때 어느 VPN(VRF)을 사용할 지를 결정할 수 있다. 스누핑된 정보 내의 액세스 네트워크 인스턴스는 주어진 VRF 테이블로부터 특정 UE 어드레스를 필터링하는데 사용될 수 있다. 따라서, 라우팅/SDN 컨트롤러(324)는 스누핑된 정보에 특정된 코어 네트워크 인스턴스 및 액세스 네트워크 인스턴스에 기초하여 임포트 및/또는 필터 규칙을 특정할 수 있다.
도 7은 본 명세서에 개시된 시스템 및 방법을 구현하는데 사용될 수 있는 예시적인 컴퓨팅 디바이스(700)를 예시하는 블록도이다. 컴퓨팅 디바이스(700)는 서버, 클라이언트, 또는 임의의 다른 컴퓨팅 엔티티로서 기능할 수 있다. 컴퓨팅 디바이스는 본 명세서에서 논의된 바와 같은 다양한 기능들을 수행할 수 있고, 본 명세서에 설명된 애플리케이션 프로그램들과 같은 하나 이상의 애플리케이션 프로그램들을 실행할 수 있다. 컴퓨팅 디바이스(700)는 데스크탑 컴퓨터, 노트북 컴퓨터, 서버 컴퓨터, 핸드헬드 컴퓨터, 태블릿 컴퓨터 등과 같은 매우 다양한 컴퓨팅 디바이스들 중 임의의 것일 수 있다.
컴퓨팅 디바이스(700)는 하나 이상의 프로세서(들)(702), 하나 이상의 메모리 디바이스(들)(704), 하나 이상의 인터페이스(들)(706), 하나 이상의 대용량 저장 디바이스(들)(708), 하나 이상의 입력/출력(I/O) 디바이스(들)(710), 및 디스플레이 디바이스(730)를 포함하며, 이들 모두는 버스(712)에 커플링된다. 프로세서(들)(702)는 메모리 디바이스(들)(704) 및/또는 대용량 저장 디바이스(들)(708)에 저장된 명령어들을 실행하는 하나 이상의 프로세서 또는 컨트롤러를 포함한다. 프로세서(들)(702)는 또한 캐시 메모리와 같은 다양한 타입의 컴퓨터 판독 가능 매체를 포함할 수 있다.
메모리 디바이스(들)(704)는 휘발성 메모리(예를 들어, 랜덤 액세스 메모리(RAM)(714)) 및/또는 비휘발성 메모리(예를 들어, 판독 전용 메모리(ROM)(716))와 같은 다양한 컴퓨터 판독 가능 매체를 포함한다. 메모리 디바이스(들)(704)는 또한 플래시 메모리와 같은 재기록 가능한 ROM을 포함할 수 있다.
대용량 저장 디바이스(들)(708)는 자기 테이프, 자기 디스크, 광학 디스크, 솔리드-스테이트(solid-state) 메모리(예를 들어, 플래시 메모리) 등과 같은 다양한 컴퓨터 판독 가능 매체를 포함한다. 도 7에 도시된 바와 같이, 특정 대용량 저장 디바이스는 하드 디스크 드라이브(724)이다. 다양한 드라이브들은 또한 다양한 컴퓨터 판독 가능 매체들로부터 판독 및/또는 다양한 컴퓨터 판독 가능 매체들에 기록하는 것을 가능하게 하기 위해 대용량 저장 디바이스(들)(708)에 포함될 수 있다. 대용량 저장 디바이스(들)(708)는 착탈식 매체(726) 및/또는 비-착탈식 매체를 포함한다.
I/O 디바이스(들)(710)는 데이터 및/또는 다른 정보가 컴퓨팅 디바이스(700)에 입력되거나 그로부터 검색될 수 있게 하는 다양한 디바이스들을 포함한다. 예시적인 I/O 디바이스(들)(710)는 커서 제어 디바이스, 키보드, 키패드, 마이크로폰, 모니터 또는 다른 디스플레이 디바이스, 스피커, 프린터, 네트워크 인터페이스 카드, 모뎀, 렌즈, CCD 또는 다른 이미지 캡처 디바이스 등을 포함한다.
디스플레이 디바이스(730)는 컴퓨팅 디바이스(700)의 하나 이상의 사용자에게 정보를 디스플레이할 수 있는 임의의 유형의 디바이스를 포함한다. 디스플레이 디바이스(730)의 예들은 모니터, 디스플레이 단말, 비디오 프로젝션 디바이스 등을 포함한다.
인터페이스(들)(706)는 컴퓨팅 디바이스(700)가 다른 시스템, 디바이스 또는 컴퓨팅 환경과 상호작용할 수 있게 하는 다양한 인터페이스를 포함한다. 예시적인 인터페이스(들)(706)는 근거리 네트워크(LAN), 광역 네트워크(WAN), 무선 네트워크 및 인터넷에 대한 인터페이스와 같은 임의의 수의 상이한 네트워크 인터페이스(720)를 포함한다. 다른 인터페이스(들)는 사용자 인터페이스(718) 및 주변 디바이스 인터페이스(722)를 포함한다. 인터페이스(들)(706)는 또한 하나 이상의 사용자 인터페이스 엘리먼트(718)를 포함할 수 있다. 인터페이스(들)(706)는 또한 프린터, 포인팅 디바이스(마우스, 트랙 패드(track pad) 등), 키보드 등을 위한 인터페이스와 같은 하나 이상의 주변 인터페이스를 포함할 수 있다.
버스(712)는 프로세서(들)(702), 메모리 디바이스(들)(704), 인터페이스(들)(706), 대용량 저장 디바이스(들)(708) 및 I/O 디바이스(들)(710)가 서로 통신할 수 있게 할 뿐만 아니라 버스(712)에 커플링된 다른 디바이스들 또는 컴포넌트들과 통신할 수 있게 한다. 버스(712)는 시스템 버스, PCI 버스, IEEE 1394 버스, USB 버스 등과 같은 여러 유형의 버스 구조 중 하나 이상을 나타낸다.
예시의 목적들을 위해, 프로그램들 및 다른 실행가능 프로그램 컴포넌트들이 본 명세서에서 개별 블록들로서 도시되지만, 이러한 프로그램들 및 컴포넌트들은 컴퓨팅 디바이스(700)의 상이한 저장 컴포넌트들에 다양한 시간들에 상주할 수 있고, 프로세서(들)(702)에 의해 실행된다는 것이 이해된다. 대안적으로, 본 명세서에 설명된 시스템들 및 절차들은 하드웨어, 또는 하드웨어, 소프트웨어, 및/또는 펌웨어의 조합으로 구현될 수 있다. 예를 들어, 하나 이상의 주문형 집적 회로(ASIC)는 본 명세서에 설명된 시스템들 및 절차들 중 하나 이상을 수행하도록 프로그래밍될 수 있다.

Claims (20)

  1. 셀룰러 데이터 통신 시스템에 있어서,
    사용자 장비로부터 신호를 수신하기 위한 안테나;
    상기 안테나에 결합된 패킷 라디오 네트워크;
    인터넷 프로토콜 네트워크;
    상기 패킷 라디오 네트워크와 상기 인터넷 프로토콜 네트워크 사이에 위치된 변환 모듈(translation module);
    상기 사용자 장비와의 통신을 관리하도록 구성된 사용자 평면 기능(user plane function); 및
    상기 패킷 라디오 네트워크와 상기 사용자 평면 기능 사이에 개재된 프록시(proxy)를 포함하되, 상기 프록시는,
    상기 사용자 평면 기능로부터 그리고 상기 사용자 평면 기능으로 중 임의의 트래픽을 인터셉트(intercept)하고;
    상기 트래픽으로부터 세션 정보를 스누핑(snoop)하고; 및
    상기 세션 정보에 따라 상기 패킷 라디오 네트워크를 통해 수신된 제1 패킷들을 상기 인터넷 프로토콜 네트워크를 통해 송신되는 제2 패킷들로 변환하기 위해 상기 변환 모듈의 프로그래밍을 호출하도록 구성된, 셀룰러 데이터 통신 시스템.
  2. 제1항에 있어서, 상기 세션 정보는 상기 사용자 평면 기능에 의해 종료되는 프로토콜 터널을 기술하는 정보를 포함하고, 상기 세션 정보는 상기 사용자 평면 기능의 터널 엔드포인트(TEP) 식별자(TEID), 상기 프로토콜 터널의 로컬 TEID 및 상기 사용자 장비의 어드레스 중 임의의 것을 포함하는, 셀룰러 데이터 통신 시스템.
  3. 제2항에 있어서, 상기 로컬 TEID는 gNodeB를 참조하는, 셀룰러 데이터 통신 시스템.
  4. 제2항에 있어서, 상기 프로토콜 터널은 GTP(GPRS(general packet radio service) Tunneling Protocol) 터널인, 셀룰러 데이터 통신 시스템.
  5. 제4항에 있어서, 상기 제1 패킷들은 GTP에 따라 포맷되고, 상기 변환 모듈은 상기 제2 패킷들이 인터넷 프로토콜에 따라 포맷되도록 상기 제1 패킷들을 상기 제2 패킷들로 변환하도록 프로그래밍되는, 셀룰러 데이터 통신 시스템.
  6. 제5항에 있어서, 상기 제2 패킷들은 상기 제2 패킷들을 다시 GTP 패킷들로 전환하기에 충분한 정보를 포함하는, 셀룰러 데이터 통신 시스템.
  7. 제5항에 있어서, 상기 프록시와 상기 변환 모듈 사이에 개재된 라우팅/SDN(routing and software defined network) 컨트롤러를 더 포함하되, 상기 라우팅/SDN 컨트롤러는 상기 정보를 이용하여 상기 변환 모듈을 프로그램하도록 프로그래밍된, 셀룰러 데이터 통신 시스템.
  8. 제7항에 있어서, 상기 라우팅/SDN 컨트롤러는 경계 게이트 웨이(BGP : Border Gateway Protocol) 스피커를 포함하는, 셀룰러 데이터 통신 시스템.
  9. 제5항에 있어서, 상기 인터넷 프로토콜 네트워크를 외부 네트워크에 커플링하는 라우팅 모듈을 더 포함하고;
    상기 프록시는 상기 세션 정보에 따라 상기 라우팅 모듈의 프로그래밍을 호출하도록 추가로 프로그래밍되는, 셀룰러 데이터 통신 시스템.
  10. 제5항에 있어서,
    상기 변환 모듈은 제1 변환 모듈이고;
    상기 셀룰러 데이터 통신 시스템이 제2 변환 모듈을 더 포함하여 상기 안테나와 상기 사용자 평면 기능 사이의 경로는 상기 제1 변환 모듈, 상기 인터넷 프로토콜 네트워크, 및 상기 제2 변환 모듈을 포함하고;
    상기 프록시는 상기 세션 정보에 따라 상기 제2 변환 모듈의 프로그래밍을 호출하여 상기 제2 패킷들을 제3 패킷들로 변환하도록 구성되고, 상기 제3 패킷들은 GTP에 따라 포맷되는, 셀룰러 데이터 통신 시스템.
  11. 방법에 있어서,
    사용자 장비로부터 신호를 수신하기 위한 안테나, 상기 안테나에 결합된 패킷 라디오 네트워크, 인터넷 프로토콜 네트워크, 상기 사용자 장비와의 통신을 관리하도록 구성된 사용자 평면 기능(user plane function)을 포함하는 셀룰러 데이터 통신 시스템을 제공하는 단계;
    상기 패킷 라디오 네트워크와 상기 인터넷 프로토콜 네트워크 사이에 위치되는 변환 모듈을 제공하는 단계;
    상기 변환 모듈과 상기 안테나 사이에 개재된 프록시에 의해, 상기 사용자 평면 기능에 어드레싱된 제1 패킷들을 수신하는 단계;
    상기 프록시에 의해, 상기 제1 패킷들로부터 세션 정보를 스누핑하고, 상기 제1 패킷들을 상기 사용자 평면 기능에 포워딩하는 단계;
    상기 프록시에 의해, 상기 세션 정보에 따라 상기 변환 모듈의 프로그래밍을 호출하는 단계(invoking);
    상기 변환 모듈에 의해, 상기 패킷 라디오 네트워크로부터 제2 패킷들을 수신하는 단계;
    상기 변환 모듈에 의해, 제3 패킷들을 획득하기 위해 상기 프로그래밍에 따라 상기 제2 패킷들을 변환하는 단계; 및
    상기 인터넷 프로토콜 네트워크를 통해 상기 제3 패킷들을 송신하는 단계를 포함하는, 방법.
  12. 제11항에 있어서, 상기 세션 정보는 상기 사용자 평면 기능에 의해 종료된 프로토콜 터널을 기술하는 정보를 포함하고, 상기 세션 정보는 상기 사용자 평면 기능의 터널 엔드포인트(TEP) 식별자(TEID), 상기 프로토콜 터널의 로컬 TEID, 및 상기 사용자 장비의 어드레스 중 임의의 것을 포함하는, 방법.
  13. 제12항에 있어서, 상기 로컬 TEID는 상기 사용자 평면 기능과 상기 안테나 사이의 기저대역 유닛을 참조하는, 방법.
  14. 제12항에 있어서, 상기 프로토콜 터널은 GTP(GPRS(general packet radio service) tunneling protocol) 터널인, 방법.
  15. 제14항에 있어서, 상기 제3 패킷들을 획득하기 위해 상기 프로그래밍에 따라 상기 제2 패킷들을 변환하는 단계는, 상기 제2 패킷들을 GTP에 따른 포맷팅으로부터 인터넷 프로토콜에 따라 포맷된 상기 제3 패킷들로 변환하는 단계를 포함하는, 방법.
  16. 제14항에 있어서, 상기 제3 패킷들을 획득하기 위해 상기 프로그래밍에 따라 상기 제2 패킷들을 변환하는 단계는 상기 제2 패킷들을 GTP에 따른 포맷팅으로부터 상기 인터넷 프로토콜에 따라 포맷된 제3 패킷들로 변환하는 단계를 포함하여 상기 제3 패킷들이 상기 제3 패킷들을 다시 GTP에 따라 포맷된 제4 패킷들로 변환하기에 충분한 정보를 포함하도록 하는, 방법.
  17. 제15항에 있어서, 상기 세션 정보에 따라 상기 변환 모듈의 프로그래밍을 호출하는 단계는,
    상기 프록시에 의해, 상기 세션 정보를 상기 프록시와 상기 변환 모듈 사이에 개재된 라우팅 및 소프트웨어 정의 네트워크(routing/SDN) 컨트롤러에 제공하는 단계; 및
    상기 라우팅/SDN 컨트롤러에 의해, 상기 세션 정보를 사용하여 상기 변환 모듈을 프로그래밍하는 단계를 포함하는, 방법.
  18. 제17항에 있어서, 상기 라우팅/SDN 컨트롤러는 경계 게이트웨이 프로토콜(BGP) 스피커를 포함하는, 방법.
  19. 제17항에 있어서,
    상기 프록시에 의해, 상기 세션 정보에 따라 상기 인터넷 프로토콜 네트워크와 외부 네트워크 사이에 위치된 라우팅 모듈을 프로그래밍하는 단계를 더 포함하는, 방법.
  20. 제11항에 있어서, 상기 변환 모듈은 제1 변환 모듈이고, 상기 방법은,
    상기 인터넷 프로토콜 네트워크와 상기 사용자 평면 기능 사이에 제2 변환 모듈을 제공하는 단계; 및
    상기 프록시에 의해, 상기 제2 변환 모듈이 제3 패킷들을 제4 패킷들로 변환하기 위해 프로그램되도록 상기 세션 정보에 따라 상기 제2 변환 모듈의 프로그래밍을 호출하는 단계를 더 포함하고, 상기 제4 패킷들은 GTP에 따라 포맷되는, 방법.
KR1020237040427A 2021-04-26 2022-04-20 셀룰러 데이터 패킷들의 라우팅을 위한 ip 네트워크들의 개선된 사용 KR20240001195A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US17/240,726 2021-04-26
US17/240,726 US11632692B2 (en) 2021-04-26 2021-04-26 Use of IP networks for routing of cellular data packets
PCT/US2022/025592 WO2022231917A1 (en) 2021-04-26 2022-04-20 Improved use of ip networks for routing of cellular data packets

Publications (1)

Publication Number Publication Date
KR20240001195A true KR20240001195A (ko) 2024-01-03

Family

ID=83693714

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020237040427A KR20240001195A (ko) 2021-04-26 2022-04-20 셀룰러 데이터 패킷들의 라우팅을 위한 ip 네트워크들의 개선된 사용

Country Status (8)

Country Link
US (1) US11632692B2 (ko)
EP (1) EP4331198A1 (ko)
JP (1) JP2024517714A (ko)
KR (1) KR20240001195A (ko)
CN (1) CN117461296A (ko)
CA (1) CA3216613A1 (ko)
TW (1) TW202249463A (ko)
WO (1) WO2022231917A1 (ko)

Family Cites Families (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6249801B1 (en) 1998-07-15 2001-06-19 Radware Ltd. Load balancing
EP1332627B1 (en) * 2000-11-06 2007-10-10 Telefonaktiebolaget LM Ericsson (publ) Method and apparatus for coordinated charging of services in a multimedia session
US7298745B2 (en) 2001-11-01 2007-11-20 Intel Corporation Method and apparatus to manage packet fragmentation with address translation
US9497168B2 (en) * 2002-07-30 2016-11-15 Avaya Inc. Method and apparatus for supporting communications between a computing device within a network and an external computing device
WO2009070061A1 (en) 2007-11-30 2009-06-04 Telefonaktiebolaget L M Ericson (Publ) Method and apparatus for handling a local breakout session
US20120224536A1 (en) * 2009-11-10 2012-09-06 Nokia Siemens Networks Oy Network device in a communication network and method for providing communications traffic breakout
US8498295B1 (en) 2010-11-23 2013-07-30 Juniper Networks, Inc. Modular lightweight tunneling mechanisms for transitioning between network layer protocols
US9491686B2 (en) 2011-07-28 2016-11-08 Pulse Secure, Llc Virtual private networking with mobile communication continuity
US8914170B2 (en) 2011-12-07 2014-12-16 General Electric Company System and method for communicating data in a vehicle system
US10123368B2 (en) 2012-02-23 2018-11-06 Cisco Technology, Inc. Systems and methods for supporting multiple access point names for trusted wireless local area network
US9071609B2 (en) 2012-10-08 2015-06-30 Google Technology Holdings LLC Methods and apparatus for performing dynamic load balancing of processing resources
US9722929B2 (en) * 2013-04-08 2017-08-01 Telefonaktiebolaget Lm Ericsson (Publ) Congestion aware throughput targets
US9271197B2 (en) 2013-05-22 2016-02-23 Futurewei Technologies, Inc. System and method for distributed evolved packet core architecture
US9124525B2 (en) 2013-06-24 2015-09-01 Cisco Technology, Inc. User-equipment-initiated framed routes on customer-premises equipment for wireless wide area networks
EP2836006B1 (en) * 2013-08-09 2018-02-21 Telefonaktiebolaget LM Ericsson (publ) Controlling Transmission Control Protocol Data
US9398515B2 (en) 2013-10-17 2016-07-19 Telefonaktiebolaget L M Ericsson (Publ) VPNv4 route control for LTE X2 SON using import route maps and outbound route filtering
US9294986B2 (en) 2013-10-17 2016-03-22 Telefonaktiebolaget L M Ericsson (Publ) Topology discovery based on explicit signaling
US9632840B2 (en) 2014-04-22 2017-04-25 International Business Machines Corporation Load balancing with granularly redistributable workloads
US10051527B2 (en) 2015-02-11 2018-08-14 Futurewei Technologies, Inc. Systems and methods for evolved packet core cluster and session handling
US10404532B2 (en) 2015-04-10 2019-09-03 Comcast Cable Commnications, LLC Virtual gateway control and management
US9967184B2 (en) 2015-07-02 2018-05-08 Telefonaktiebolaget Lm Ericsson (Publ) Using border gateway protocol to expose maximum segment identifier depth to an external application
WO2018075965A1 (en) * 2016-10-20 2018-04-26 IsoNetic, Inc. Dark virtual private networks and secure services
US10305794B2 (en) 2017-03-27 2019-05-28 At&T Intellectual Property I, L.P. System for indirect border gateway protocol routing
CN110832904B (zh) 2017-05-12 2022-02-08 瑞典爱立信有限公司 本地标识符定位符网络协议(ilnp)疏导
US20200389469A1 (en) 2017-12-24 2020-12-10 Arilou Information Security Technologies Ltd. System and method for tunnel-based malware detection
WO2019127068A1 (en) 2017-12-27 2019-07-04 Intel Corporation User plane apparatus for edge computing
US11019183B2 (en) 2018-07-02 2021-05-25 Intel Corporation Network provenance with multi-interface translation
KR102545334B1 (ko) 2018-07-10 2023-06-20 리스태트 리미티드 클라우드 통신 및 글로벌 전자상거래를 위한 분산형 사이버보안 프라이버시 네트워크
WO2020084335A1 (en) 2018-10-26 2020-04-30 Telefonaktiebolaget Lm Ericsson (Publ) Using location indentifier separation protocol to implement a distributed user plane function architecture for 5g mobility
US11129061B1 (en) 2018-11-07 2021-09-21 Telefonaktiebolaget Lm Ericsson (Publ) Local identifier locator network protocol (ILNP) breakout
WO2020112817A1 (en) 2018-11-26 2020-06-04 Arrcus Inc. Logical router comprising disaggregated network elements
US11765253B2 (en) * 2019-04-19 2023-09-19 Apple Inc. Lightweight support of information centric network services in cellular network
US20220247688A1 (en) 2019-07-03 2022-08-04 Telefonaktiebolaget Lm Ericsson (Publ) Establishing a Packet Forwarding Control Protocol Session
WO2021009553A1 (en) 2019-07-18 2021-01-21 Telefonaktiebolaget Lm Ericsson (Publ) Method and system for in-band signaling in a quic session
US11791938B2 (en) 2019-09-26 2023-10-17 Nvidia Corporation Parity check decoding

Also Published As

Publication number Publication date
US20220345933A1 (en) 2022-10-27
US11632692B2 (en) 2023-04-18
CN117461296A (zh) 2024-01-26
EP4331198A1 (en) 2024-03-06
JP2024517714A (ja) 2024-04-23
WO2022231917A1 (en) 2022-11-03
TW202249463A (zh) 2022-12-16
CA3216613A1 (en) 2022-11-03

Similar Documents

Publication Publication Date Title
US10237089B2 (en) Packet tunneling method, switching device, and control device
EP2579544A1 (en) Methods and apparatus for a scalable network with efficient link utilization
KR20240000579A (ko) 셀룰러 데이터 패킷들의 라우팅을 위한 ip 네트워크들의 개선된 사용
US20220345519A1 (en) PFCP Session Load Balancer
CN104168302B (zh) 设备操控实现方法、系统和代理网关
US11632692B2 (en) Use of IP networks for routing of cellular data packets
US12063583B2 (en) Use of IP networks for routing of cellular data packets
US20220345986A1 (en) Selective Importing of UE Addresses to VRF in 5g Networks
CN117461297A (zh) 用于路由蜂窝数据数据包的ip网络的使用
CN117480855A (zh) 用于路由蜂窝数据数据包的ip网络的改进使用
CN117441377A (zh) 在5g网络中将ue地址选择性地导入vrf
CN117529709A (zh) Pfcp会话负载平衡器