KR20210064983A - Open fronthaul network system and method for timestamping packet of the same - Google Patents

Open fronthaul network system and method for timestamping packet of the same Download PDF

Info

Publication number
KR20210064983A
KR20210064983A KR1020190153831A KR20190153831A KR20210064983A KR 20210064983 A KR20210064983 A KR 20210064983A KR 1020190153831 A KR1020190153831 A KR 1020190153831A KR 20190153831 A KR20190153831 A KR 20190153831A KR 20210064983 A KR20210064983 A KR 20210064983A
Authority
KR
South Korea
Prior art keywords
packet
network
switch
module
gtp
Prior art date
Application number
KR1020190153831A
Other languages
Korean (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 KR1020190153831A priority Critical patent/KR20210064983A/en
Publication of KR20210064983A publication Critical patent/KR20210064983A/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04JMULTIPLEX COMMUNICATION
    • H04J3/00Time-division multiplex systems
    • H04J3/02Details
    • H04J3/06Synchronising arrangements
    • H04J3/0635Clock or time synchronisation in a network
    • H04J3/0638Clock or time synchronisation among nodes; Internode synchronisation
    • H04J3/0658Clock or time synchronisation among packet nodes
    • H04J3/0661Clock or time synchronisation among packet nodes using timestamps
    • H04J3/0667Bidirectional timestamps, e.g. NTP or PTP for compensation of clock drift and for compensation of propagation delays
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04JMULTIPLEX COMMUNICATION
    • H04J14/00Optical multiplex systems
    • H04J14/02Wavelength-division multiplex systems
    • H04J14/0227Operation, administration, maintenance or provisioning [OAMP] of WDM networks, e.g. media access, routing or wavelength allocation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04JMULTIPLEX COMMUNICATION
    • H04J3/00Time-division multiplex systems
    • H04J3/02Details
    • H04J3/06Synchronising arrangements
    • H04J3/0635Clock or time synchronisation in a network
    • H04J3/0638Clock or time synchronisation among nodes; Internode synchronisation
    • H04J3/0658Clock or time synchronisation among packet nodes
    • H04J3/0661Clock or time synchronisation among packet nodes using timestamps
    • H04J3/067Details of the timestamp structure
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/70Virtual switches

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

The present invention relates to an open fronthaul network system including a time synchronization module that synchronizes a packet time with a time stamp value of a network device, and a method for granting a packet time stamp thereof, wherein even if an overflow occurs in a register of an elapsed time counter of a switch processor, a time stamp is allowed to be granted to a packet to achieve an UTC-format nanosecond-level accuracy at a hard-layer level by correcting thereof. The open fronthaul network system comprises: a plurality of RRHs; an RAN equipment; a plurality of OLTs; and a mobile communication core network.

Description

오픈 프론트홀 네트워크 시스템 및 그 패킷 타임 스탬프 부여 방법{OPEN FRONTHAUL NETWORK SYSTEM AND METHOD FOR TIMESTAMPING PACKET OF THE SAME}OPEN FRONTHAUL NETWORK SYSTEM AND METHOD FOR TIMESTAMPING PACKET OF THE SAME

본 발명은 오픈 프론트홀 네트워크 시스템 및 이를 이용하는 네트워크 패킷 처리 방법에 관한 것이다The present invention relates to an open fronthaul network system and a network packet processing method using the same.

이동통신 기술의 발전에 따라, 대용량의 트래픽을 고속으로 처리하는 4세대 이동통신에 이어서, 대용량의 트래픽을 저지연으로 유지하면서, 고속으로 처리하면서도, 사물 인터넷과 같은 대량의 디바이스가 연결되는 5세대 이동통신 기술이 개발되고 있다.With the development of mobile communication technology, following the 4th generation mobile communication that processes large-capacity traffic at high speed, the 5th generation, which maintains high-speed processing of large-capacity traffic with low latency, and connects a large number of devices such as the Internet of Things Mobile communication technology is being developed.

특히, 이동통신 엑세스 네트워크를 통해 고속/저지연 무선전송 및 대량의 디바이스 동시 접속 서비스의 원할한 제공을 위해서 유무선 백홀, 미드홀 및 프론트홀에 대한 연구가 활발이 이루어지고 있으나, 이러한 요구사항을 만족하려면, 막대한 5G 프론트홀 구축 비용, 기존 무선 접속 네트워크(RAN; Radio Access Network) 장비 벤더 고유의 홀 규격을 기반으로 한 독과점으로 인하여 막대한 5G RAN 구축 시 많은 비용이 요구된다.In particular, research on wired and wireless backhaul, midhaul, and fronthaul is being actively conducted to smoothly provide high-speed/low-latency wireless transmission and simultaneous access to a large number of devices through a mobile communication access network. In order to do this, a huge 5G fronthaul construction cost and a monopoly based on the existing Radio Access Network (RAN) equipment vendor's own hall standard require a lot of cost to build a 5G RAN.

따라서, 종래와 같이, RAN 장비 벤더가 벤더 고유의 프론트홀 규격을 사용시 신규벤더 진입이 거의 불가능하였으며, 기존 RAN 벤더에 의한 독과점으로 인하여 막대한 5G RAN 구축비용을 초래하는 문제점이 있었으며, 이를 벤더에 종속되지 않으면서도, 다양한 네트워크 기능을 소프트웨어로 구현할 수 있는 기술이 요구되고 있다.Therefore, as in the prior art, when a RAN equipment vendor uses a vendor-specific fronthaul standard, it is almost impossible to enter a new vendor, and there is a problem in that it causes a huge 5G RAN construction cost due to a monopoly by the existing RAN vendor. However, there is a demand for a technology that can implement various network functions through software.

한편, 모바일 네트워크의 품질 모니터링은 항상 중요하며, 모니터링 장치 양단에서의 시간 동기화는 분석 시스템의 정확도가 향상되므로, 중요한 기술 요소 중 하나이다.On the other hand, quality monitoring of a mobile network is always important, and time synchronization at both ends of the monitoring device improves the accuracy of the analysis system, and thus is one of the important technical factors.

하지만, 품질 모니터링 장치에서 시간 동기화를 제공하기 위하여는 고가의 네트워크 카드(Network Interface Card)를 사용하여 되는 문제점이 있었다.However, in order to provide time synchronization in the quality monitoring device, there is a problem in that an expensive network card (Network Interface Card) is used.

또한, 모바일 네트워크가 MEC(Mobile Edge Computing)으로 발전하면서 엣지에서 가입자의 트래픽을 판단하기 위해서는 가입자의 패킷에서 src/dst IP를 모두 취득하여만 한다.In addition, as the mobile network develops into MEC (Mobile Edge Computing), in order to determine the subscriber's traffic at the edge, all src/dst IPs must be acquired from the subscriber's packet.

하지만, 종래의 시스템은 엣지에서 터널 IP(GTP Outer IPs)만 매칭이 가능하였으므로, 엣지 클라우드에서 내부 트래픽의 형태에 따른 트래픽 분산(Traffic Steering)이 불가능하였으며, 모든 트래픽을 엣지클라우드를 거치게 하고 있고, 이로 인해 불필요하 엣지 트래픽이 발생하여 많은 비용 발생을 초래하고 있었고, GTP Outer로만 로드밸런싱 시 기지국 단위로만 밸런싱되어, 이는 밸런싱의 쏠림 현상이 발생하는 문제점이 있었다.However, since the conventional system was able to match only tunnel IPs (GTP Outer IPs) at the edge, it was impossible to distribute traffic according to the type of internal traffic in the edge cloud (Traffic Steering), and all traffic goes through the edge cloud, Due to this, unnecessary edge traffic was generated, which caused a lot of cost, and when load balancing only with the GTP Outer, only the base station was balanced, which caused a problem of concentration of balancing.

또한, 5G 네트워크가 도입되면서, EPC 기능들이 재구성되어 5GC 네트워크 기능 (NF)들로 맵핑된다. 제어 평면에서는 EPC MME의 인증, 접속 제어, 이동성 제어 기능이 5GC Access and Mobility Management Function (AMF)으로, EPC MME와 GW-C의 세션 관리 기능이 5GC Session Management Function (SMF)로 재구성되었다.Also, with the introduction of 5G networks, EPC functions are reconfigured and mapped to 5GC network functions (NFs). In the control plane, the authentication, access control, and mobility control functions of the EPC MME are reconfigured into the 5GC Access and Mobility Management Function (AMF), and the session management functions of the EPC MME and GW-C are reconfigured into the 5GC Session Management Function (SMF).

사용자 평면(user plane)과 제어 평면(control pane)이 분리되면서, 품질 모니터링 장치에서 GTP 사용자 평면 패킷과 GTP 제어 평면 패킷을 연동하여 함께 전달이 필요한 문제점이 대두되었다.As the user plane and the control pane are separated, a problem that the quality monitoring device needs to link the GTP user plane packet and the GTP control plane packet and transmit them together has emerged.

네트워크 기능 (NF)들로 맵핑된다. 제어 평면에서는 EPC MME의 인증, 접속 제어, 이동성 제어 기능이 5GC Access and Mobility Management Function (AMF)으로, EPC MME와 GW-C의 세션 관리 기능이 5GC Session Management Function (SMF)로 재구성되었다.mapped to network functions (NFs). In the control plane, the authentication, access control, and mobility control functions of the EPC MME are reconfigured into the 5GC Access and Mobility Management Function (AMF), and the session management functions of the EPC MME and GW-C are reconfigured into the 5GC Session Management Function (SMF).

사용자 평면과 제어 평면이 분리되면서, 품질 모니터링 장치에서 GTP 사용자 평면 패킷과 GTP 제어 평면 패킷을 연동하여 함께 전달이 필요한 문제점이 대두되었다.As the user plane and the control plane are separated, a problem that the quality monitoring device needs to link the GTP user plane packet and the GTP control plane packet and transmit them together has emerged.

네트워크 가상화 (Network Virtualization, NV)는 기본 네트워크 하드웨어에서 분리된 논리적 가상 네트워크를 생성함으로써, 네트워크가 점차 가상 환경과 보다 효과적으로 통합되고 지원될 수 있도록 하는 기능으로 정의된다. Network Virtualization (NV) is defined as a function that allows the network to be more effectively integrated and supported with the virtual environment by creating a logical virtual network separated from the underlying network hardware.

최근 네트워크에서 가상화 기술은 빠른 속도로 채택되었다. 네트워크 가상화는 일반적으로 하드웨어로부터 물리적 네트워크와 분리되어 독립적으로 실행되는 논리적 가상 네트워크로써, 하드웨어를 통하여 제공되었던 네트워킹 연결 및 서비스를 추상화한다. Virtualization technology has been rapidly adopted in recent networks. Network virtualization is a logical virtual network that is executed independently from a physical network from hardware, and abstracts networking connections and services provided through hardware.

가상화는 네트워크에 적용될 때, 하드웨어 및 소프트웨어 네트워킹 리소스(스위치, 라우터 등)에 대하여, 논리적 소프트웨어 기반 뷰(view)를 생성한다. When applied to a network, virtualization creates a logical software-based view of hardware and software networking resources (switches, routers, etc.).

물리적 네트워킹 장치는 단순히 패킷 전달을 담당하는 반면, 가상 네트워크(소프트웨어)는 네트워크 서비스 및 기본 네트워크 리소스를 쉽게 배포 및 관리 할 수 있는 지능적인 추상화를 제공한다. 결과적으로, 네트워크 가상화는 가상화된 환경을 더 잘 지원하도록 네트워크를 조절할 수 있다.Physical networking devices are simply responsible for forwarding packets, while virtual networks (software) provide an intelligent abstraction that makes it easy to deploy and manage network services and underlying network resources. As a result, network virtualization can adapt the network to better support virtualized environments.

가상화를 통하여, 소프트웨어 기반 컴퓨팅 및 스토리지 리소스의 효율성과 민첩성을 활용할 수 있다. Through virtualization, you can leverage the efficiency and agility of software-based computing and storage resources.

네트워크가 더 큰 가상화로 옮겨가고 있으나, 최근에는 소프트웨어 정의 네트워킹 (SDN)과 네트워크 기능 가상화 (NFV)에 의하여 제안된 바와 같이, 제어 및 전달 평면을 실제로 분리함으로써 네트워크 가상화가 더욱 발전했다.Networks are moving towards greater virtualization, but more recently network virtualization has advanced further by actually separating the control and delivery planes, as suggested by Software Defined Networking (SDN) and Network Functions Virtualization (NFV).

네트워크 가상화는 기본 하드웨어와 독립적인 단일 스위치 또는 스위치 세트에서 다양한 가상 네트워크 토폴로지를 지원해야 한다. 가상 네트워크 구성 요소는 물리적 리소스를 사용하므로, 슬라이스(slice)로 정의된다. 이러한 슬라이스는 L2 테넌트 스위치, L3 테넌트 라우터 또는 다양한 가상 슬라이스를 함께 연결하는 집계(aggregate) 라우터를 나타낼 수 있다. 각 슬라이스에는 자체 관리 권한이 있으며 각 슬라이스의 관리자는 물리적 스위치 또는 라우터처럼 구성해야 한다. 이러한 슬라이스의 요구사항은 논리적 슬라이스 또는 가상 랜(VLAN)을 사용하여 각 슬라이스를 설계에 따라 가상으로 다른 슬라이스에 연결할 수 있어야 하며, 동일한 하드웨어 스위치에 효율적으로 매핑되어야 한다는 것이다.Network virtualization must support multiple virtual network topologies on a single switch or set of switches independent of the underlying hardware. Since virtual network components use physical resources, they are defined as slices. These slices may represent L2 tenant switches, L3 tenant routers, or aggregate routers connecting various virtual slices together. Each slice has its own management rights, and the administrator of each slice must configure it like a physical switch or router. The requirement for these slices is that each slice can be connected to another slice virtually by design using logical slices or virtual LANs (VLANs), and must be efficiently mapped to the same hardware switch.

슬라이드의 요구사항을 만족하는 가장 직접적인 방법은 네트워크 슬라이스 상호 연결마다 물리적 루프백 포트(physical loopback port)를 예약하는 것이다. 그러나 이러한 방법은 물리적 루프백 포트의 수가 제한된 수로만 사용할 수 있으며, 케이블 등을 관리하기가 어려워지는 등 많은 문제가 있었다.The most direct way to satisfy the requirements of the slide is to reserve a physical loopback port for each network slice interconnect. However, this method has many problems, such as being able to use only a limited number of physical loopback ports, and making it difficult to manage cables and the like.

본 발명은 유무선 네트워크에 Network dis-aggregation을 적용하여, 벤더에 종속되지 않으면서도, 다양한 네트워크 기능을 소프트웨어로 구현할 수 있는 오픈 프론트홀 네트워크 시스템 및 제공하고자 한다.An object of the present invention is to provide an open fronthaul network system and an open fronthaul network system that can implement various network functions in software without being dependent on a vendor by applying network dis-aggregation to a wired/wireless network.

또한, 본 발명은 레지스터의 저장 공간 크기가 적은 스위치 레벨에서도 정확한 하드웨어 시간 동기화 기능을 제공할 수 있는 네트워크 패킷 중개 장치 및 그 패킷 타임 스탬프 부여 방법을 제공하고자 한다.Another object of the present invention is to provide a network packet intermediary apparatus capable of providing an accurate hardware time synchronization function even at a switch level with a small register storage space size, and a packet time stamping method thereof.

또한, 본 발명은 GTP 사용자 평면 패킷과 GTP 제어 평면 패킷을 연동하여 함께 분석 장치에 전달할 수 있는 네트워크 패킷 중개 장치 및 그 GTP 상관관계 부여 방법을 제공하고자 한다.Another object of the present invention is to provide a network packet intermediary device capable of interlocking a GTP user plane packet and a GTP control plane packet and delivering the same to an analysis device, and a GTP correlation method thereof.

또한, 본 발명은 스위치 수준에서도 패킷의 GTP Outer 정보 뿐 만 아니라, GTP Inner 정보를 추출하여 심층 패킷의 매칭을 제공할 수 있는 네트워크 패킷 중개 장치 및 그 심층 패킷 매칭 방법을 제공하고자 한다.In addition, an object of the present invention is to provide a network packet intermediary apparatus capable of providing deep packet matching by extracting GTP inner information as well as GTP outer information of a packet at the switch level, and a deep packet matching method thereof.

또한, 본 발명은 제한된 수의 물리적 루프백 포트와 상관없이, 복잡한 케이블 관리 없이, 복수의 가상 네트워크를 취급할 수 있는 유무선 통합 네트워크 패킷 중개 장치 및 그 가상 라우터 슬라이싱 방법을 제공하고자 한다.Another object of the present invention is to provide a wired/wireless integrated network packet brokering device capable of handling a plurality of virtual networks without complicated cable management, regardless of a limited number of physical loopback ports, and a virtual router slicing method thereof.

본 발명의 일 실시예에 따른 네트워크 패킷 중개 장치는, 무선 엑세스 네트워크 또는 유선 엑세스 네트워크인 복수의 레거시 네트워크에 연결된 복수의 오픈플로우(openflow) 에지 스위치로서, 상기 복수의 오픈플로우 에지 스위치는 스위치 그룹에 속하는 상기 복수의 오픈플로우 에지 스위치의 정보를 취득하는 SDN(Software Defined Network) 제어기; A network packet brokering apparatus according to an embodiment of the present invention is a plurality of openflow edge switches connected to a plurality of legacy networks that are wireless access networks or wired access networks, wherein the plurality of openflow edge switches are connected to a switch group. a software defined network (SDN) controller for acquiring information on the plurality of openflow edge switches belonging to;

상기 복수의 스위치 중 적어도 일부의 스위치를 포함하는 스위치 군을 가상 라우터로 취급하여, 상기 스위치 군 중 어느 한 스위치에 인입되는 패킷에 대한 라우팅 정보를 생성하는 레거시 라우터 컨테이너; 및a legacy router container that treats a switch group including at least some of the plurality of switches as a virtual router, and generates routing information for a packet arriving at any one of the switch groups; and

네트워크 어플리케이션 모듈은 상기 제어기를 통하여, 요청에 따라 패킷의 조작과 흐름을 제어하는 기능을 수행하는 모듈들을 포함하는 네트워크 어플리케이션 모듈을 포함하는 네트워크 패킷 중개 장치로서,The network application module is a network packet intermediary device including a network application module including modules that perform a function of controlling the operation and flow of packets according to a request through the controller,

상기 레거시 라우팅 컨테이너가, 상기 제어기의 플로우 처리 문의 메시지에 대한 레거시 라우팅 정보를 상기 적어도 하나의 가상 라우터의 정보를 기초로 생성하는 상기 복수의 오픈플로우 스위치에 연결된 복수의 네트워크 디바이스를 상기 가상 라우터에 직접 연결된 외부 네트워크 정보로 맵핑하는 것이며,The legacy routing container directs a plurality of network devices connected to the plurality of OpenFlow switches for generating legacy routing information for a flow processing inquiry message of the controller based on the information of the at least one virtual router to the virtual router. It maps to the connected external network information,

상기 네트워크 어플리케이션 모듈은 네트워크 디바이스의 타임스탬프 값으로 패킷의 시각을 동기화하는, 시각 동기화 모듈을 포함하고, The network application module includes a time synchronization module for synchronizing the time of the packet with the timestamp value of the network device,

상기 네트워크 패킷 중개 장치 프로세서를 더 포함하며, 상기 스위치는 프로세서를 더 포함하며, 상기 네트워크 패킷 중개 장치의 프로세서는 시각값을 회신하는 클럭을 포함하고, 스위치의 프로세서는 프로세서 내에 기준 시간으로부터 경과된 시간 파라미터를 저장하는 레지스터를 포함하며, 상기 시각 동기화 모듈은 상기 스위치가 패킷의 타임 스탬프 부여 요청을 받는 경우, 기준 시간스위치의 프로세서의 레지스터로부터 시간 파라미터의 오버플로우을 보정하여 패킷에 타임 스탬프를 저장하는 것이다.The network packet relay device further includes a processor, the switch further includes a processor, the processor of the network packet relay device includes a clock for returning a time value, and the processor of the switch includes a time elapsed from a reference time in the processor. a register for storing a parameter, wherein the time synchronization module stores the time stamp in the packet by correcting the overflow of the time parameter from the register of the processor of the reference time switch when the switch receives a request for time stamping of the packet .

본 발명의 일 실시예에 따른 네트워크 패킷 중개 장치의 제어기는, 상기 연결된 무선 엑세스 네트워크의 원격 무선 장비(RRH, Remote Radio Head)를 상기 가상 라우터에 직접 연결된 외부 네트워크 정보로 맵핑하는 가상 무선망 제어 모듈을 더 포함할 수 있다.The controller of the network packet intermediary apparatus according to an embodiment of the present invention is a virtual radio network control module that maps a remote radio head (RRH) of the connected radio access network to external network information directly connected to the virtual router. may further include.

본 발명의 일 실시예에 따른 네트워크 패킷 중개 장치의 제어기는, 상기 연결된 유선 액세스 네트워크의 광 회선 단말(OLT; Optical Line Terminal)를 상기 가상 라우터에 직접 연결된 외부 네트워크 정보로 맵핑하는 가상 유선망 제어 모듈을 더 포함할 수 있다.The controller of the network packet intermediary apparatus according to an embodiment of the present invention comprises a virtual wired network control module that maps an optical line terminal (OLT) of the connected wired access network to external network information directly connected to the virtual router. may include more.

본 발명의 일 실시예에 따른 네트워크 패킷 중개 장치의 제어기는, 상기 연결된 무선 액세스 네트워크의 디지털 처리장치(DU, Digital Unit)를 상기 가상 라우터에 직접 연결된 외부 네트워크 정보로 맵핑하는 분산 무선망 제어 모듈을 더 포함할 수 있다.The controller of the network packet intermediary apparatus according to an embodiment of the present invention comprises a distributed radio network control module that maps a digital unit (DU) of the connected radio access network to external network information directly connected to the virtual router. may include more.

본 발명의 일 실시예에 따른 네트워크 패킷 중개 장치의 패킷 타임 스탬프 부여 방법은, 네트워크 패킷 중개 장치의 프로세서의 클럭을 스위치가 취득하는 단계;In accordance with an embodiment of the present invention, there is provided a method for granting a packet time stamp of a network packet mediation device, comprising: acquiring, by a switch, a clock of a processor of the network packet mediation device;

스위치의 기준 시간 파라미터 Tb을 취득한 클럭으로 갱신하는 단계; updating the reference time parameter Tb of the switch with the obtained clock;

스위치가 패킷의 타임 스탬프 부여 요청을 받는 단계;receiving, by the switch, a time stamp request of the packet;

시각 동기화 모듈이 스위치의 전 경과시간 파라미터 Tp를 현 경과시간 파라미터 Tc로 갱신하는 단계;updating, by the time synchronization module, the previous elapsed time parameter Tp of the switch to the current elapsed time parameter Tc;

시각 동기화 모듈이 스위치로부터 파라미터 Tb 기준 경과한 시간값을 파라미터 Tc으로 취득하는 단계;acquiring, by the time synchronization module, an elapsed time value based on the parameter Tb from the switch as a parameter Tc;

시각 동기화 모듈이 파라미터 Tc와 파라미터 Tp의 크기를 비교하는 단계;comparing, by the time synchronization module, magnitudes of the parameter Tc and the parameter Tp;

시각 동기화 모듈이 파라미터 Tc가 파라미터 Tp보다 작은 경우, 파라미터 Tb를 파라미터 Tp 및 보정값의 합만큼 가산하여 갱신하는 단계;updating, by the time synchronization module, when the parameter Tc is smaller than the parameter Tp by adding the parameter Tb by the sum of the parameter Tp and the correction value;

시각 동기화 모듈이 파라미터 Tc가 파라미터 Tp보다 크거나 같은 경우, 파라미터 Tb를 파라미터 Tp만큼 가산하여 갱신하는 단계; 및updating, by the time synchronization module, adding the parameter Tb by the parameter Tp when the parameter Tc is greater than or equal to the parameter Tp; and

시각 동기화 모듈이 스위치가 파라미터 Tb를 패킷에 타임 스탬프로 저장하는 단계;를 포함할 수 있다.The time synchronization module may include, by the switch, storing the parameter Tb in the packet as a time stamp.

본 발명의 일 실시예에 따른 네트워크 패킷 중개 장치의 패킷 타임 스탬프 부여 방법은, IEEE 1588 PTP(Precision Time Protocol) 동기화 프로토콜을 이용하는 것일 수 있다.The packet time stamping method of the network packet intermediary apparatus according to an embodiment of the present invention may use an IEEE 1588 Precision Time Protocol (PTP) synchronization protocol.

본 발명의 일 실시예에 따른 네트워크 패킷 중개 장치의 패킷 타임 스탬프 부여 방법은, 상기 파라미터 Tp 및 파라미터 Tc는 상기 스위치의 프로세서의 레지스터에 저장하는 것일 수 있다.In the packet time stamping method of the network packet brokering apparatus according to an embodiment of the present invention, the parameter Tp and the parameter Tc may be stored in a register of a processor of the switch.

본 발명의 일 실시예에 따른 네트워크 패킷 중개 장치의 패킷 타임 스탬프 부여 방법은, 상기 레지스터의 저장 단위는 48 비트일 수 있다.In the method for providing a packet time stamp by a network packet broker according to an embodiment of the present invention, the storage unit of the register may be 48 bits.

본 발명의 일 실시예에 따른 네트워크 패킷 중개 장치의 패킷 타임 스탬프 부여 방법은, 상기 패킷에 타임 스탬프로 저장하는 단계에서, 타임 스탬프 저장 단위가 64비트인 것일 수 있다.In the method for providing a packet time stamp by a network packet brokerage apparatus according to an embodiment of the present invention, in the step of storing the packet as a time stamp, the time stamp storage unit may be 64 bits.

본 발명의 일 실시예에 따른 네트워크 패킷 중개 장치의 패킷 타임 스탬프 부여 방법은, 상기 갱신하는 단계의 보정값이 상기 레지스터의 저장 단위의 최대값일 수 있다.In the method for assigning a packet time stamp of a network packet brokerage apparatus according to an embodiment of the present invention, the correction value in the updating step may be the maximum value of the storage unit of the register.

본 발명의 일 실시예에 따른 네트워크 패킷 중개 장치의 패킷 타임 스탬프 부여 방법은, 상기 갱신하는 단계의 보정값이 4,294,967,294인 것일 수 있다.In the method for providing a packet time stamp by a network packet broker according to an embodiment of the present invention, the correction value of the updating step may be 4,294,967,294.

본 발명의 일 실시예에 따른 네트워크 패킷 중개 장치는, 무선 엑세스 네트워크 또는 유선 엑세스 네트워크인 복수의 레거시 네트워크에 연결된 복수의 오픈플로우(openflow) 에지 스위치로서, 상기 복수의 오픈플로우 에지 스위치는 스위치 그룹에 속하는 상기 복수의 오픈플로우 에지 스위치의 정보를 취득하는 SDN(Software Defined Network) 제어기; A network packet brokering apparatus according to an embodiment of the present invention is a plurality of openflow edge switches connected to a plurality of legacy networks that are wireless access networks or wired access networks, wherein the plurality of openflow edge switches are connected to a switch group. a software defined network (SDN) controller for acquiring information on the plurality of openflow edge switches belonging to;

상기 복수의 스위치 중 적어도 일부의 스위치를 포함하는 스위치 군을 가상 라우터로 취급하여, 상기 스위치 군 중 어느 한 스위치에 인입되는 패킷에 대한 라우팅 정보를 생성하는 레거시 라우터 컨테이너; 및a legacy router container that treats a switch group including at least some of the plurality of switches as a virtual router, and generates routing information for a packet arriving at any one of the switch groups; and

네트워크 어플리케이션 모듈은 상기 제어기를 통하여, 요청에 따라 패킷의 조작과 흐름을 제어하는 기능을 수행하는 모듈들을 포함하는 네트워크 어플리케이션 모듈을 포함하는 네트워크 패킷 중개 장치로서,The network application module is a network packet intermediary device including a network application module including modules that perform a function of controlling the operation and flow of packets according to a request through the controller,

상기 레거시 라우팅 컨테이너가, 상기 제어기의 플로우 처리 문의 메시지에 대한 레거시 라우팅 정보를 상기 적어도 하나의 가상 라우터의 정보를 기초로 생성하는 상기 복수의 오픈플로우 스위치에 연결된 복수의 네트워크 디바이스를 상기 가상 라우터에 직접 연결된 외부 네트워크 정보로 맵핑하는 것이며,The legacy routing container directs a plurality of network devices connected to the plurality of OpenFlow switches for generating legacy routing information for a flow processing inquiry message of the controller based on the information of the at least one virtual router to the virtual router. It maps to the connected external network information,

상기 네트워크 어플리케이션 모듈은 플로우 패킷의 GTP-C 패킷과 GTP-U 패킷이 동일한 유출 포트로 전달될 수 있도록 연동하는, GTP 상관 관계 모듈을 포함할 수 있다.The network application module may include a GTP correlation module that interworks so that a GTP-C packet and a GTP-U packet of a flow packet can be delivered to the same outgoing port.

본 발명의 일 실시예에 따른 GTP 상관 관계 모듈은, 구독자 IMSI를 저장하는 구독자 테이블 및 구독자 세션 정보를 저장하는 GTP 세션 테이블을 저장하는 저장부;A GTP correlation module according to an embodiment of the present invention includes: a storage unit for storing a subscriber table for storing subscriber IMSI and a GTP session table for storing subscriber session information;

상기 스위치의 포트부로부터 GTP 유저 평면 패킷을 전달 받아 미리 지정된 스위치의 포트부로 전달하고, 상기 저장부에서 상기 GTP 유저 평면 패킷의 GTPU TEID를 검색하여 상기 GTP 유저 평면 패킷의 유출 포트를 저장부에 연결하여 저장하는, GTP 유저 평면 전달 모듈; 및The GTP user plane packet is received from the port unit of the switch and transferred to the port unit of the switch designated in advance, the GTPU TEID of the GTP user plane packet is retrieved from the storage unit, and the outflow port of the GTP user plane packet is connected to the storage unit to store, GTP user plane delivery module; and

상기 스위치의 포트부로부터 GTP 제어 평면 패킷을 전달 받아, 상기 저장부에서 상기 GTP 제어 평면 패킷의 GTPU TEID와 연결된 GTP 유저 평면 패킷의 유출 포트를 검색하여, 상기 검색된 유출 포트와 동일한 상기 스위치의 포트부로 전달 받은 GTP 제어 평면 패킷을 전달하는, GTP 제어 평면 전달 모듈;을 포함할 수 있다.The GTP control plane packet is received from the port unit of the switch, the storage unit searches for the outgoing port of the GTP user plane packet connected to the GTPU TEID of the GTP control plane packet, and the port of the switch is identical to the searched outgoing port. and a GTP control plane forwarding module that forwards the received GTP control plane packet.

본 발명의 일 실시예에 따른 네트워크 패킷 중개 장치는 프로세서를 더 포함하고, GTP 상관관계 모듈의 저장부는 프로세서에 위치하는 것일 수 있다.The network packet mediation apparatus according to an embodiment of the present invention may further include a processor, and the storage unit of the GTP correlation module may be located in the processor.

본 발명의 일 실시예에 따른 GTP 상관관계 모듈의 저장부는 IMSI 테이블, MME 컨텍스트 테이블 및 SGW 컨텍스트 테이블을 포함하고,The storage unit of the GTP correlation module according to an embodiment of the present invention includes an IMSI table, an MME context table, and an SGW context table,

GTP 상관관계 모듈의 저장부의 구독자 테이블은 IMSI 테이블이며, The subscriber table of the storage of the GTP correlation module is an IMSI table,

GTP 상관관계 모듈의 저장부의 GTP 세션 테이블은 MME 컨텍스트 테이블및 SGW 컨텍스트 테이블을 포함하고,The GTP session table of the storage of the GTP correlation module includes an MME context table and an SGW context table,

GTP 상관관계 모듈의 저장부의 GTP 세션 테이블은 IMSI 테이블, MME 컨텍스트 테이블 및 SGW 컨텍스트 테이블의 상관관계를 저장하는 상관관계 테이블을 더 포함할 수 있다.The GTP session table of the storage unit of the GTP correlation module may further include a correlation table that stores correlations between the IMSI table, the MME context table, and the SGW context table.

본 발명의 일 실시예에 따른 GTP 상관관계 모듈의 저장부의 상관관계 테이블은 제1 상관관계 테이블, 제2 상관관계 테이블, 제3 상관관계 테이블 및 제4 상관관계 테이블을 포함할 수 있다.The correlation table of the storage unit of the GTP correlation module according to an embodiment of the present invention may include a first correlation table, a second correlation table, a third correlation table, and a fourth correlation table.

본 발명의 일 실시예에 따른 네트워크 패킷 중개 장치의 GTP 상관관계 부여 방법은, 상기 스위치의 포트부로부터 GTP 유저 평면 패킷을 전달 받아 미리 지정된 스위치의 포트부로 전달하고, 상기 저장부에서 상기 GTP 유저 평면 패킷의 GTPU TEID를 검색하여 상기 GTP 유저 평면 패킷의 유출 포트를 저장부에 연결하여 저장하는, GTP 유저 평면 전달 단계; 및In the method for assigning GTP correlation of a network packet intermediary device according to an embodiment of the present invention, a GTP user plane packet is received from a port unit of the switch and transferred to a predetermined port unit of a switch, and the GTP user plane packet is transmitted from the storage unit a GTP user plane forwarding step of retrieving the GTPU TEID of the packet and storing the outgoing port of the GTP user plane packet by connecting to a storage unit; and

상기 스위치의 포트부로부터 GTP 제어 평면 패킷을 전달 받아, 상기 저장부에서 상기 GTP 제어 평면 패킷의 GTPU TEID와 연결된 GTP 유저 평면 패킷의 유출 포트를 검색하여, 상기 검색된 유출 포트와 동일한 상기 스위치의 포트부로 전달 받은 GTP 제어 평면 패킷을 전달하는, GTP 제어 평면 전달 단계;를 포함할 수 있다.The GTP control plane packet is received from the port unit of the switch, the storage unit searches for the outgoing port of the GTP user plane packet connected to the GTPU TEID of the GTP control plane packet, and the port of the switch is identical to the searched outgoing port. and a GTP control plane forwarding step of forwarding the received GTP control plane packet.

본 발명의 일 실시예에 따른 네트워크 패킷 중개 장치의 GTP 상관관계 부여 방법은, GTP 상관관계 모듈이 MME 컨텍스트 테이블에서, MME IP 주소를 키로 하고, MME IP, 베어러 ID 및 시퀀스를 포함하는 베어러 ID 셋 및 MME S11 TEID를 값으로 하는 레코드를 생성하는 단계;In the method for granting GTP correlation of a network packet intermediary device according to an embodiment of the present invention, the GTP correlation module uses the MME IP address as a key in the MME context table, and the bearer ID set including the MME IP, the bearer ID and the sequence and generating a record having the MME S11 TEID as a value;

GTP 상관관계 모듈이 SGW 컨텍스트 테이블에서, SGW IP 주소를 키로 하는 레코드를 생성하는 단계;generating, by the GTP correlation module, a record using the SGW IP address as a key in the SGW context table;

GTP 상관관계 모듈이 SGW 컨텍스트 테이블에서, SGW IP 주소를 키로 하는 레코드를 검색하여, SGW S11 TEID 및 SGW S1U TEID를 갱신하는 단계;The GTP correlation module searches the SGW context table for a record having the SGW IP address as a key, and updates the SGW S11 TEID and the SGW S1U TEID;

GTP 상관관계 모듈이 제1 상관관계 테이블에서, MME S11 TEID를 키로 하고, IMSI 컨텍스트 및 SGW S11 TEID 컨텍스트를 값으로 갖는 레코드를 생성하는 단계;generating, by the GTP correlation module, a record in the first correlation table with the MME S11 TEID as a key and the IMSI context and the SGW S11 TEID context as values;

GTP 상관관계 모듈이 제2 상관관계 테이블에서, SGW S11 TEID를 키로 하고, MME S11 컨텍스트를 값으로 갖는 레코드를 생성하는 단계;generating, by the GTP correlation module, a record in the second correlation table with the SGW S11 TEID as a key and the MME S11 context as a value;

GTP 상관관계 모듈이 제3 상관관계 테이블에서, SGW S11 TEID를 키로 하고, SGW S11 TEID 컨텍스트를 값으로 갖는 레코드를 생성하는 단계;generating, by the GTP correlation module, a record in the third correlation table with the SGW S11 TEID as a key and the SGW S11 TEID context as a value;

GTP 상관관계 모듈이 제4 상관관계 테이블에서, eNB TEID 및 eNB IP를 키로 하고, SGW S1U TEID 컨텍스트 값으로 갖는 레코드를 생성하는 단계;generating, by the GTP correlation module, a record in the fourth correlation table with the eNB TEID and the eNB IP as the keys and having the SGW S1U TEID context value;

GTP 상관관계 모듈이 MME 컨텍스트 테이블에서, MME IP 주소를 키로 하는 레코드의 MME IP, 베어러 ID 및 시퀀스를 포함하는 베어러 ID 셋 및 eNB S1U TEID 값을 갱신하는 단계; 및updating, by the GTP correlation module, the bearer ID set and eNB S1U TEID values including the MME IP, bearer ID and sequence of a record using the MME IP address as a key in the MME context table; and

GTP 상관관계 모듈이 IMSI 테이블에서, IMSI를 키로 하고, MME IP, 베어러 ID 및 시퀀스를 포함하는 베어러 ID 셋을 값으로 하는 레코드를 생성하는 단계;를 포함할 수 있다.generating, by the GTP correlation module, a record in the IMSI table with the IMSI as the key and the bearer ID set including the MME IP, bearer ID, and sequence as a value;

본 발명의 일 실시예에 따른 유무선 통합 네트워크 패킷 중개 장치는, 무선 엑세스 네트워크 또는 유선 엑세스 네트워크인 복수의 레거시 네트워크에 연결된 복수의 오픈플로우(openflow) 에지 스위치로서, 상기 복수의 오픈플로우 에지 스위치는 스위치 그룹에 속하는 상기 복수의 오픈플로우 에지 스위치의 정보를 취득하는 SDN(Software Defined Network) 제어기; A wired/wireless integrated network packet brokerage device according to an embodiment of the present invention is a plurality of openflow edge switches connected to a plurality of legacy networks that are wireless access networks or wired access networks, wherein the plurality of openflow edge switches are switches. a Software Defined Network (SDN) controller that acquires information on the plurality of openflow edge switches belonging to a group;

상기 복수의 스위치 중 적어도 일부의 스위치를 포함하는 스위치 군을 가상 라우터로 취급하여, 상기 스위치 군 중 어느 한 스위치에 인입되는 패킷에 대한 라우팅 정보를 생성하는 레거시 라우터 컨테이너; 및a legacy router container that treats a switch group including at least some of the plurality of switches as a virtual router, and generates routing information for a packet arriving at any one of the switch groups; and

네트워크 어플리케이션 모듈은 상기 제어기를 통하여, 요청에 따라 패킷의 조작과 흐름을 제어하는 기능을 수행하는 모듈들을 포함하는 네트워크 어플리케이션 모듈을 포함하는 네트워크 패킷 중개 장치로서,The network application module is a network packet intermediary device including a network application module including modules that perform a function of controlling the operation and flow of packets according to a request through the controller,

상기 레거시 라우팅 컨테이너가, 상기 제어기의 플로우 처리 문의 메시지에 대한 레거시 라우팅 정보를 상기 적어도 하나의 가상 라우터의 정보를 기초로 생성하는 상기 복수의 오픈플로우 스위치에 연결된 복수의 네트워크 디바이스를 상기 가상 라우터에 직접 연결된 외부 네트워크 정보로 맵핑하는 것이며,The legacy routing container directs a plurality of network devices connected to the plurality of OpenFlow switches for generating legacy routing information for a flow processing inquiry message of the controller based on the information of the at least one virtual router to the virtual router. It maps to the connected external network information,

상기 네트워크 어플리케이션 모듈은 플로우 패킷의 GTP-C 패킷과 GTP-U 패킷이 동일한 유출 포트로 전달될 수 있도록 연동하는, GTP 상관 관계 모듈을 포함하고,The network application module includes a GTP correlation module that interworks so that a GTP-C packet and a GTP-U packet of a flow packet can be delivered to the same outgoing port,

상기 네트워크 어플리케이션 모듈은 플로우 패킷의 GTP 헤더 또는 VxLAN 헤더를 추출, 수정, 제거 또는 삽입하는, 심층 패킷 매칭 모듈;을 포함하며, The network application module extracts, modifies, removes or inserts a GTP header or a VxLAN header of a flow packet, a deep packet matching module; includes;

상기 GTP 상관관계 모듈은 GTP 세션 트래킹 모듈, GTP 유저 평면 전달 모듈 및 저장부를 포함하고,The GTP correlation module includes a GTP session tracking module, a GTP user plane forwarding module, and a storage unit,

심층 패킷 매칭 모듈은 GTP 상관관계 모듈을 제어하여 GTP 제어 평면 패킷과 GTP 유저 평면 패킷을 매칭하는 것일 수 있다.The deep packet matching module may control the GTP correlation module to match the GTP control plane packet and the GTP user plane packet.

본 발명의 일 실시예에 따른 네트워크 패킷 중개 장치의 심층 패킷 매칭 방법 심층 패킷 매칭 모듈이 스위치의 인입 포트부로 부터 패킷을 입력 받는 단계;Deep packet matching method of a network packet intermediary apparatus according to an embodiment of the present invention Deep packet matching module receiving a packet from the incoming port unit of the switch;

스위치의 패킷 파싱 모듈이 입력받은 패킷으로부터 심층 패킷 정보를 추출하는 인입 패킷 파싱 단계;An incoming packet parsing step of extracting deep packet information from the packet received by the packet parsing module of the switch;

심층 패킷 매칭 모듈이 획득한 정보로 패킷을 처리하는 인입 패킷 파이프라인 단계;An incoming packet pipeline step of processing a packet with the information obtained by the deep packet matching module;

심층 패킷 매칭 모듈이 획득한 패킷의 정보로 부터 패킷의 종류를 구별하는 단계;distinguishing a packet type from the packet information obtained by the deep packet matching module;

구별된 패킷의 종류가 GTP 제어 평면 패킷인 경우, GTP 세션 트래킹 모듈이 패킷에 매칭되는 흐름을 GTP 제어 평면 유출 테이블에 질의하여 패킷을 보낼 유출 포트부 또는 유출 포트 그룹을 획득하는 GTP 제어 평면 패킷 처리 단계; 및When the type of the distinguished packet is a GTP control plane packet, the GTP session tracking module queries the GTP control plane outflow table for a flow matching the packet to obtain the outgoing port part or outgoing port group to which the packet is sent. GTP control plane packet processing step; and

구별된 패킷의 종류가 GTP 유저 평면 패킷인 경우, GTP 유저 평면 전달 모듈이 패킷에 매칭되는 흐름을 GTP 유저 평면 유출 테이블에 질의하여 패킷을 처리하는 유출 패킷 파이프라인 단계;를 포함하는 네트워크 패킷 중개 장치의 심층 패킷 매칭 방법.Network packet intermediary apparatus comprising a; when the type of the distinguished packet is a GTP user plane packet, the GTP user plane forwarding module queries the GTP user plane outflow table for a flow matching the packet to process the packet; of deep packet matching methods.

본 발명의 일 실시예에 따른 인입 패킷 파싱 단계는, 패킷 파싱 모듈이 인입 패킷에서 인입 포트 정보를 추출하는 인입 포트 파싱 단계;The parsing of an incoming packet according to an embodiment of the present invention includes: an incoming port parsing step in which the packet parsing module extracts incoming port information from the incoming packet;

*패킷 파싱 모듈이 인입 패킷에서 Ethernet 프로토콜 정보를 추출하는 Ethernet 프로토콜 파싱 단계;*Ethernet protocol parsing step in which the packet parsing module extracts Ethernet protocol information from the incoming packet;

추출된 Ethernet 프로토콜 정보가 VLAN인 경우, 패킷 파싱 모듈이 인입 패킷에서 VLAN 정보를 추출하는 VLAN 파싱 단계;If the extracted Ethernet protocol information is VLAN, the packet parsing module performs a VLAN parsing step of extracting VLAN information from the incoming packet;

추출된 Ethernet 프로토콜 정보가 IPv4인 경우, 패킷 파싱 모듈이 인입 패킷에서 IPv4 정보를 추출하는 IPv4 파싱 단계;an IPv4 parsing step of extracting, by the packet parsing module, IPv4 information from an incoming packet when the extracted Ethernet protocol information is IPv4;

추출된 IPv4 프로토콜의 종류가 TCP인 경우, 패킷 파싱 모듈이 인입 패킷에서 TCP 정보를 추출하는 TCP 파싱 단계;a TCP parsing step of extracting, by a packet parsing module, TCP information from an incoming packet when the extracted IPv4 protocol type is TCP;

추출된 IPv4 프로토콜의 종류가 IMCP인 경우, 패킷 파싱 모듈이 인입 패킷에서 IMCP 정보를 추출하는 IMCP 파싱 단계;an IMCP parsing step of extracting, by a packet parsing module, IMCP information from an incoming packet when the extracted IPv4 protocol type is IMCP;

추출된 IPv4 프로토콜의 종류가 SCTP 인 경우, 패킷 파싱 모듈(250)이 인입 패킷에서 SCTP 정보를 추출하는 SCTP 파싱 단계;an SCTP parsing step of extracting, by the packet parsing module 250, SCTP information from an incoming packet when the extracted IPv4 protocol type is SCTP;

패킷 파싱 모듈이 인입 패킷에서 UDP 프로토콜 번호 정보를 추출하는 UDP 파싱 단계;UDP parsing step in which the packet parsing module extracts UDP protocol number information from the incoming packet;

추출된 UDP 프로토콜 번호가 VxLAN인 경우, 패킷 파싱 모듈이 인입 패킷에서 VxLAN 정보를 추출하는 VxLAN 파싱 단계;when the extracted UDP protocol number is VxLAN, a VxLAN parsing step in which the packet parsing module extracts VxLAN information from the incoming packet;

추출된 UDP 프로토콜 번호가 GTP인 경우, 패킷 파싱 모듈이 인입 패킷에서 GTP 정보를 추출하는 GTP 파싱 단계;GTP parsing step of extracting GTP information from the incoming packet by the packet parsing module when the extracted UDP protocol number is GTP;

패킷 파싱 모듈이 인입 패킷에서 inner Ether 정보를 추출하는 inner Ether 파싱 단계;an inner Ether parsing step in which the packet parsing module extracts inner Ether information from an incoming packet;

패킷 파싱 모듈이 인입 패킷에서 inner IPv4 정보를 추출하는 inner IPv4 파싱 단계; 및an inner IPv4 parsing step in which the packet parsing module extracts inner IPv4 information from the incoming packet; and

패킷 파싱 모듈이 인입 패킷에서 inner TCP 및 inner UDP 정보를 추출하는 inner TCP/UDP 파싱 단계;를 포함할 수 있다.an inner TCP/UDP parsing step in which the packet parsing module extracts inner TCP and inner UDP information from the incoming packet; may include.

본 발명의 일 실시예에 따른 인입 파이프라인 단계는, 심층 패킷 매칭 모듈이 인입 물리 포트를 매치 액션 테이블에서 사용되는 논리 포트로 변환하는 인입 포트 매핑 단계;An incoming pipeline step according to an embodiment of the present invention comprises: an incoming port mapping step in which the deep packet matching module converts an incoming physical port into a logical port used in a match action table;

심층 패킷 매칭 모듈이 인입 패킷에서 추출된 GTP 정보에 대응하는 패킷의 처리를 유출 포트 매치 액션 테이블에 저장하는 GTP 필터 적용 단계; 및GTP filter application step of the deep packet matching module storing the processing of the packet corresponding to the GTP information extracted from the incoming packet in the outgoing port match action table; and

심층 패킷 매칭 모듈이 인입 패킷에서 추출된 Inner IPv4 정보가 존재하면, 추출된 Inner IPv4 정보에 대응하는 패킷의 처리를 유출 포트 매치 액션 테이블에 저장하는 Inner IPv4 필터 적용 단계;를 포함할 수 있다.When the deep packet matching module has inner IPv4 information extracted from the incoming packet, the inner IPv4 filter application step of storing the processing of the packet corresponding to the extracted inner IPv4 information in the outgoing port match action table; may include.

본 발명의 일 실시예에 따른 상기 유출 패킷 파싱 단계는, 심층 패킷 매칭 모듈이 유출 패킷에서 인입 포트 필터 번호를 추출하는 인입 포트 필터 번호 파싱 단계;The outgoing packet parsing step according to an embodiment of the present invention comprises: an incoming port filter number parsing step in which the deep packet matching module extracts the incoming port filter number from the outgoing packet;

심층 패킷 매칭 모듈이 유출 패킷에서 추출된 인입 포트 필터 번호를 정책 관리자 모듈에 질의하는 인입 포트 필터 매칭 단계;Ingress port filter matching step in which the deep packet matching module queries the policy manager module for the incoming port filter number extracted from the outgoing packet;

매칭된 인입 포트 필터 번호가 존재하면, 정책 관리자 모듈에서 매칭된 인입 포트 액션을 추출하는 단계;if the matched incoming port filter number exists, extracting the matched incoming port action from the policy manager module;

심층 패킷 매칭 모듈이 유출 패킷에서 GTP 필터 번호를 추출하는 GTP 필터 번호 파싱 단계;GTP filter number parsing step in which the deep packet matching module extracts the GTP filter number from the outgoing packet;

심층 패킷 매칭 모듈이 유출 패킷에서 추출된 GTP 필터 번호를 정책 관리자 모듈에 질의하는 GTP 필터 매칭 단계;GTP filter matching step in which the deep packet matching module queries the policy manager module for the GTP filter number extracted from the outgoing packet;

매칭된 GTP 필터 번호가 존재하면, 정책 관리자 모듈에서 매칭된 GTP 액션을 추출하는 단계;if the matched GTP filter number exists, extracting the matched GTP action from the policy manager module;

심층 패킷 매칭 모듈이 유출 패킷에서 Inner IPv4 정보를 추출하는 Inner IPv4 파싱 단계;Inner IPv4 parsing step in which the deep packet matching module extracts inner IPv4 information from the outgoing packet;

심층 패킷 매칭 모듈이 유출 패킷에서 추출된 Inner IPv4 정보를 정책 관리자 모듈에 질의하는 Inner IPv4 매칭 단계;Inner IPv4 matching step in which the deep packet matching module queries the policy manager module for inner IPv4 information extracted from outgoing packets;

매칭된 Inner IPv4 정보가 존재하면, 정책 관리자 모듈에서 매칭된 Inner IPv4 액션을 추출하는 단계; 및if the matched inner IPv4 information exists, extracting the matched inner IPv4 action from the policy manager module; and

심층 패킷 매칭 모듈이 유출 패킷과 추출된 모든 액션 리스트 쌍을 GTP 유저 평면 유출 포트 매치 액션 테이블에 저장하는 액션 리스트 생성 단계;를 포함할 수 있다.The deep packet matching module generates an outgoing packet and all the extracted action list pairs in the GTP user plane outgoing port match action table creating an action list.

본 발명의 일 실시예에 따른 네트워크 패킷 중개 장치는 유무선 접속 네트워크에 대하여, SDN(Software Defined Network) 기반으로, 공히 Network dis-aggregation을 적용하여, 무선 접속 네트워크에 대하여 BBU 와 RRH를 분리하면서도, RAN 프로토콜 레이어 추상화하며, 엑세스 장비별 서비스 체이닝을 통하여 기존 벤더락인 프로토콜과의 상호 호환성 제공이 가능하게 하고, 오픈 하드웨어/소프트웨어 기반의 다양한 기능 분할을 제공할 수 있다.A network packet brokerage apparatus according to an embodiment of the present invention applies Network dis-aggregation to a wired/wireless access network based on SDN (Software Defined Network), and separates the BBU and RRH for the wireless access network while separating the RAN By abstracting the protocol layer, it is possible to provide mutual compatibility with the existing vendor lock-in protocol through service chaining for each access device, and to provide various functional divisions based on open hardware/software.

또한, 본 발명의 일 실시예에 따른 네트워크 패킷 중개 장치는, 네트워크 디바이스의 타임스탬프 값으로 패킷의 시각을 동기화하는, 시각 동기화 모듈을 포함하여, 이를 이용한 패킷 타임 스탬프 부여 방법은 스위치의 프로세서의 경과 시간 카운터의 레지스터의 오퍼플로우가 발생하더라도 이를 보정하여 하드레어 레벨에서 UTC(Coordinated Universal Time) 형식 나노세컨드 수준의 정확도를 갖는 타임스탬프를 패킷에 부여할 수 있다.In addition, the network packet intermediary apparatus according to an embodiment of the present invention includes a time synchronization module that synchronizes the time of the packet with the timestamp value of the network device. Even if an overflow of the register of the time counter occurs, it can be corrected to give the packet a timestamp with an accuracy of the UTC (Coordinated Universal Time) format nanosecond level at the hard-rare level.

또한, 본 발명의 일 실시예에 따른 네트워크 패킷 중개 장치는, 플로우 패킷의 GTP-C 패킷과 GTP-U 패킷이 동일한 유출 포트로 전달될 수 있도록 연동하는, GTP 상관 관계 모듈을 포함하여, 이를 이용한 GTP 상관관계 부여 방법은, GTP 제어 평면 패킷과 GTP 유저 평면 패킷이 동일한 유출 포트로 전달될 수 있도록 상관관계를 부여할 수 있다.In addition, the network packet intermediary apparatus according to an embodiment of the present invention includes a GTP correlation module that interworks so that a GTP-C packet and a GTP-U packet of a flow packet can be delivered to the same outgoing port, and uses the same. The GTP correlation method may provide correlation so that the GTP control plane packet and the GTP user plane packet can be delivered to the same outgoing port.

또한, 본 발명의 일 실시예에 따른 네트워크 패킷 중개 장치는, GTP 상관관계 모듈을 제어하여 GTP 제어 평면 패킷과 GTP 유저 평면 패킷을 매칭하는 심층 패킷 매칭 모듈을 포함하여, 이를 이용한 GTP 심층 패킷 매칭 방법은, 스위치 레벨에서 심층 단계의 패킷 정보를 추출하여, GTP 제어 평면 패킷과 GTP 유저 평면 패킷의 플로우를 매칭시킬 수 있다.In addition, the network packet intermediary apparatus according to an embodiment of the present invention includes a deep packet matching module for matching a GTP control plane packet and a GTP user plane packet by controlling the GTP correlation module, and a GTP deep packet matching method using the same can extract deep-level packet information at the switch level to match the flow of GTP control plane packets and GTP user plane packets.

또한, 본 발명의 일 실시예에 따른 네트워크 패킷 중개 장치는, 가상랜을 변환(translation)함과 동시에 하드웨어 스위치 내부에서 사용되지 않는 MAC 루프백 채널을 사용하여 가상 L2 / L3 슬라이스 간의 상호 연결을 효율적으로 관리함으로써, 제한된 수의 물리적 루프백 포트와 상관없이, 복잡한 케이블 관리 없이, 복수의 가상 네트워크를 취급할 수 있다.In addition, the network packet intermediary device according to an embodiment of the present invention converts a virtual LAN and at the same time efficiently performs interconnection between virtual L2 / L3 slices using a MAC loopback channel that is not used inside a hardware switch. By managing, it is possible to handle multiple virtual networks, independent of a limited number of physical loopback ports, and without complicated cable management.

도 1은 본 발명의 일 실시예에 따른 네트워크 패킷 중개 시스템의 블록 구성도(block diagram),
도 2는 본 발명의 다른 실시예에 따른 네트워크 패킷 중개 장치의 블록 구성도,
도 3은 본 발명의 다른 실시예에 따른 네트워크 패킷 중개 시스템의 블록 구성도,
도 4는 본 발명의 또 다른 실시예에 따른 네트워크 패킷 중개 시스템의 블록 구성도,
도 5는 네트워크 패킷 중개 장치의 SDN 제어기의 블록 구성의 일 실시예,
도 6은 네트워크 패킷 중개 장치의 스위치의 블록 구성의 일 실시예,
도 7은 플로우 엔트리의 필드 테이블 및 플로우 엔트리에 따른 동작 종류를 나타내는 동작 테이블,
도 8은 그룹 및 미터 테이블의 필드 테이블,
도 9는 본 발명의 일 실시예에 따른 라우팅 시스템을 포함하는 네트워크 시스템의 블록 구성도,
도 10은 본 발명의 일 실시예에 따른 레거시 라우팅 컨테어너의 블록 구성도,
도 11은 도 9의 네트워크 시스템의 가상화한 블록 구성도,
도 12는 SDN 제어기의 플로우에 대한 레거시 라우팅 여부 판단 방법에 대한 순서도,
도 13은 본 발명의 일 실시예에 따른 통합 라우팅 방법에 따른 신호 흐름도,
도 14는 본 발명의 다른 실시예에 따른 통합 라우팅 방법에 따른 신호 흐름도,
도 15는 본 발명의 일 실시예에 따른 플로우 테이블,
도 16은 본 발명의 일 실시예에 따른 네트워크 어플리케이션 모듈을 도시,
도 17은 본 발명의 일 실시예에 따른 네트워크 패킷 중개 장치의 제어부의 블록 구성도,
도 18은 본 발명의 일 실시예에 따른 패킷의 타임 스탬프 부여 방법의 일 실시예를 도시,
도 19는 본 발명의 일 실시예에 따른 패킷 구조에 따른 타임 스탬프 부여 방법의 일 실시예를 도시,
도 20은 본 발명의 일 실시예에 따른 패킷 구조에 따른 타임 스탬프 부여 방법의 일 실시예를 도시,
도 21은 본 발명의 일 실시예에 따른 네트워크 패킷 중개 장치가 무선 셀룰러 네트워크 아키텍처에 연결된 예를 도시한 것,
도 22는 본 발명의 일 실시예에 따른 이동통신망에서의 사용자 단말의 접속 절차를 개략적으로 도시,
도 23은 본 발명의 일 실시예에 따른 네트워크 패킷 중개 장치의 구조를 도시,
도 24는 본 발명의 일 실시예에 따른 GTP 상관관계 모듈의 저장부의 일 실시예를 도시,
도 25는 본 발명의 일 실시예에 따른 GTP-U 패킷에 매칭되는 GTP-C 패킷의 패킷 출력 포트를 획득하는 방법을 도시,
도 26는 본 발명의 또 다른 실시예에 따른 GTP-U 패킷에 매칭되는 GTP-C 패킷의 패킷 출력 포트를 획득하는 방법을 도시,
도 27은 본 발명의 일 실시예에 따른 네트워크 패킷 중개 장치의 심층 패킷 매칭 모듈이 패킷을 처리하는 구조를 도시,
도 28은 본 발명의 일 실시예에 따른 네트워크 패킷 중개 장치의 심층 패킷 매칭 방법을 도시,
도 29는 본 발명의 일 실시예에 따른 인입 패킷 파싱 단계를 도시,
도 30은 본 발명의 일 실시예에 따른 심층 패킷 매칭 모듈의 인입 파이프라인 단계를 도시,
도 31은 본 발명의 일 실시예에 따른 유출 패킷 파싱 단계를 도시,
도 32는 본 발명의 일 실시예에 따른 네트워크 패킷 중개장치의 가상 슬라이스 토폴로지를 도시,
도 33은 본 발명의 일 실시예에 따른 네트워크 패킷 중개장치의 가상 슬라이스 토폴로지의 슬라이드 별 네트워크 구성을 도시,
도 34는 본 발명의 일 실시예에 따른 네트워크 패킷 중개장치의 가상 슬라이스 토폴로지의 슬라이드 별 가상랜 연결의 변환을 도시,
도 35는 본 발명의 일 실시예에 따른 네트워크 패킷 중개장치의 가상 슬라이스 토폴로지가 가상랜이 변환되어 연결된 것을 도시하였다.
1 is a block diagram of a network packet mediation system according to an embodiment of the present invention;
2 is a block diagram of a network packet intermediary apparatus according to another embodiment of the present invention;
3 is a block diagram of a network packet mediation system according to another embodiment of the present invention;
4 is a block diagram of a network packet mediation system according to another embodiment of the present invention;
5 is an embodiment of a block configuration of an SDN controller of a network packet intermediary apparatus;
6 is an embodiment of a block configuration of a switch of a network packet intermediary apparatus;
7 is an operation table showing a field table of a flow entry and an operation type according to the flow entry;
8 is a field table of group and meter tables;
9 is a block diagram of a network system including a routing system according to an embodiment of the present invention;
10 is a block diagram of a legacy routing container according to an embodiment of the present invention;
11 is a virtualized block diagram of the network system of FIG. 9;
12 is a flowchart for a method of determining whether legacy routing for a flow of an SDN controller;
13 is a signal flow diagram according to an integrated routing method according to an embodiment of the present invention;
14 is a signal flow diagram according to an integrated routing method according to another embodiment of the present invention;
15 is a flow table according to an embodiment of the present invention;
16 shows a network application module according to an embodiment of the present invention;
17 is a block diagram of a control unit of a network packet intermediary apparatus according to an embodiment of the present invention;
18 shows an embodiment of a method for time stamping a packet according to an embodiment of the present invention;
19 shows an embodiment of a method for assigning a time stamp according to a packet structure according to an embodiment of the present invention;
20 illustrates an embodiment of a method for assigning a time stamp according to a packet structure according to an embodiment of the present invention;
21 shows an example in which a network packet intermediary apparatus is connected to a wireless cellular network architecture according to an embodiment of the present invention;
22 schematically shows an access procedure of a user terminal in a mobile communication network according to an embodiment of the present invention;
23 shows the structure of a network packet intermediary apparatus according to an embodiment of the present invention;
24 shows an embodiment of a storage unit of a GTP correlation module according to an embodiment of the present invention;
25 is a diagram illustrating a method of obtaining a packet output port of a GTP-C packet matching a GTP-U packet according to an embodiment of the present invention;
26 shows a method of obtaining a packet output port of a GTP-C packet matching a GTP-U packet according to another embodiment of the present invention;
27 is a diagram illustrating a structure in which a deep packet matching module of a network packet intermediary apparatus processes a packet according to an embodiment of the present invention;
28 shows a deep packet matching method of a network packet intermediary apparatus according to an embodiment of the present invention;
29 shows an incoming packet parsing step according to an embodiment of the present invention;
30 shows an incoming pipeline stage of a deep packet matching module according to an embodiment of the present invention;
31 shows an outgoing packet parsing step according to an embodiment of the present invention;
32 shows a virtual slice topology of a network packet broker according to an embodiment of the present invention;
33 is a diagram illustrating a network configuration for each slide of a virtual slice topology of a network packet broker according to an embodiment of the present invention;
34 is a diagram showing the conversion of virtual LAN connections for each slide in the virtual slice topology of the network packet broker according to an embodiment of the present invention;
FIG. 35 is a diagram illustrating a virtual slice topology of a network packet broker according to an embodiment of the present invention in which a virtual LAN is converted and connected.

이하, 도면을 참조하여 본 발명을 보다 상세하게 설명한다.Hereinafter, the present invention will be described in more detail with reference to the drawings.

제 1, 제 2등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제 1 구성요소는 제 2 구성요소로 명명될 수 있고, 유사하게 제 2 구성요소도 제 1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.The terms first, second, etc. may be used to describe various elements, but the elements should not be limited by the terms. The above terms are used only for the purpose of distinguishing one component from another. For example, without departing from the scope of the present invention, a first component may be referred to as a second component, and similarly, a second component may also be referred to as a first component. and/or includes a combination of a plurality of related listed items or any of a plurality of related listed items.

어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. 또한 네트워크 상의 제1 구성요소와 제2 구성요소가 연결되어 있거나 접속되어 있다는 것은, 유선 또는 무선으로 제1 구성요소와 제2 구성요소 사이에 데이터를 주고 받을 수 있음을 의미한다.When a component is referred to as being “connected” or “connected” to another component, it is understood that the other component may be directly connected or connected to the other component, but other components may exist in between. it should be On the other hand, when it is mentioned that a certain element is "directly connected" or "directly connected" to another element, it should be understood that the other element does not exist in the middle. Also, when the first component and the second component on the network are connected or connected, it means that data can be exchanged between the first component and the second component by wire or wirelessly.

또한, 이하의 설명에서 사용되는 구성요소에 대한 접미사 "모듈" 및 "부"는 단순히 본 명세서 작성의 용이함 만이 고려되어 부여되는 것으로서, 그 자체로 특별히 중요한 의미 또는 역할을 부여하는 것은 아니다. 따라서, 상기 "모듈" 및 "부"는 서로 혼용되어 사용될 수도 있다.In addition, the suffixes "module" and "part" for the components used in the following description are given simply considering the ease of writing the present specification, and do not give a particularly important meaning or role per se. Accordingly, the terms “module” and “unit” may be used interchangeably.

이와 같은 구성요소들은 실제 응용에서 구현될 때 필요에 따라 2 이상의 구성요소가 하나의 구성요소로 합쳐지거나, 혹은 하나의 구성요소가 2 이상의 구성요소로 세분되어 구성될 수 있다. 도면 전체를 통하여 동일하거나 유사한 구성요소에 대해서는 동일한 도면 부호를 부여하였고, 동일한 도면 부호를 가지는 구성요소에 대한 자세한 설명은 전술한 구성요소에 대한 설명으로 대체되어 생략될 수 있다.When these components are implemented in an actual application, two or more components may be combined into one component, or one component may be subdivided into two or more components as needed. The same reference numerals are assigned to the same or similar components throughout the drawings, and detailed descriptions of the components having the same reference numerals may be omitted instead of being replaced with the descriptions of the above-described components.

도 1을 참조하면, 본 발명의 일 실시예에 따른 네트워크 패킷 중개 시스템(Network Packer Broker System)은 무선 단말의 데이터를 송수신하는 복수의 원격 무선 장비(RRH, 2); 무선 단말의 데이터를 송수신하여, 프레임에 MAC 주소가 할당된, RAN(Radio Access Network) 장비(3); 복수의 광 회선 단말(OLT, 4); 및 이동 통신 코어망(5); 상기 이동 통신 코어망(5)에 연결된 네트워크 패킷 중개 장치(Network Packer Broker, 6)를 포함할 수 있다. Referring to Figure 1, a network packet brokerage system according to an embodiment of the present invention (Network Packer Broker System) is a plurality of remote wireless equipment (RRH, 2) for transmitting and receiving data of a wireless terminal; RAN (Radio Access Network) equipment 3, which transmits and receives data of a radio terminal, and a MAC address is assigned to a frame; a plurality of optical line terminals (OLT, 4); and a mobile communication core network 5; It may include a network packet broker (Network Packer Broker, 6) connected to the mobile communication core network (5).

도 2를 참조하면, 본 발명의 일 실시예에 따른 네트워크 패킷 중개 장치(6)는 상기 원격 무선 장비와 이더넷으로 연결, 상기 RAN 장비와 이더넷으로 연결 또는 상기 광 회선 단말과 수동 광통신망(PON; Passive Optical Network)으로 연결된 복수의 오픈플로우(openflow) 에지 스위치(20); 상기 복수의 오픈플로우 에지 스위치의 정보를 취득하는 SDN(Software Defined Network) 제어기(10); 상기 SDN 제어기를 통하여 네트워크 상 다양한 기능을 호출 시 수행하는 네트워크 어플리케이션 모듈(40);및 상기 복수의 스위치 중 적어도 일부의 스위치를 포함하는 스위치 군을 가상 라우터로 취급하여, 상기 스위치 군 중 어느 한 스위치에 인입되는 패킷에 대한 라우팅 정보를 생성하는 레거시 라우터 컨테이너(300);를 포함할 수 있다. 상기 레거시 라우팅 컨테이너(300)가, 상기 제어기의 플로우 처리 문의 메시지에 대한 레거시 라우팅 정보를 상기 적어도 하나의 가상 라우터의 정보를 기초로 생성하는 상기 복수의 오픈플로우 스위치(20)에 연결된 복수의 네트워크 디바이스를 상기 가상 라우터에 직접 연결된 외부 네트워크 정보로 맵핑하는 것일 수 있다.Referring to FIG. 2 , the network packet intermediary device 6 according to an embodiment of the present invention is connected to the remote radio equipment by Ethernet, the RAN equipment and Ethernet, or the optical line terminal and a passive optical communication network (PON); A plurality of openflow (openflow) edge switches 20 connected by a Passive Optical Network; a Software Defined Network (SDN) controller 10 for acquiring information on the plurality of openflow edge switches; A network application module 40 that performs various functions on a network through the SDN controller when calling; and a switch group including at least some switches among the plurality of switches is treated as a virtual router, and any one switch in the switch group It may include a; legacy router container 300 for generating routing information for the incoming packet. A plurality of network devices connected to the plurality of openflow switches 20 in which the legacy routing container 300 generates legacy routing information for a flow processing inquiry message of the controller based on the information of the at least one virtual router may be mapped to external network information directly connected to the virtual router.

SDN 제어기(controller)(10)는 SDN 시스템을 제어하는 일종의 지휘 컴퓨터로서, 다양하고 복잡한 기능들, 예를 들어, 라우팅, 정책 선언, 및 보안 체크 등을 할 수 있다. SDN 제어기(10)는 하위 계층의 복수의 스위치(20)에서 발생하는 패킷의 플로우를 정의할 수 있다. SDN 제어기(10)는 네트워크 정책 상 허용되는 플로우에 대해 네트워크 토폴로지 등을 참조하여 플로우가 경유할 경로(데이터 경로)를 계산한 후, 경로 상의 스위치에 상기 플로우의 엔트리가 설정되도록 할 수 있다. SDN 제어기(10)는 특정 프로토콜, 예를 들어, 오픈플로우 프로토콜을 이용하여 스위치(20)와 통신할 수 있다. SDN 제어기(10)와 스위치(20)의 통신 채널은 SSL에 의해 암호화 될 수 있다. SDN 제어기(10)는 네트워크 패킷 중개 장치(6)에 물리적으로 포함되거나, 외부 장치로서 네트워크 패킷 중개 장치(6)에 연결될 수 있다.The SDN controller 10 is a kind of command computer for controlling the SDN system, and may perform various and complex functions, for example, routing, policy declaration, and security check. The SDN controller 10 may define a flow of packets generated in a plurality of switches 20 of a lower layer. The SDN controller 10 may calculate a path (data path) through which the flow will pass by referring to the network topology for a flow permitted by the network policy, and then set the entry of the flow to a switch on the path. The SDN controller 10 may communicate with the switch 20 using a specific protocol, for example, the OpenFlow protocol. A communication channel between the SDN controller 10 and the switch 20 may be encrypted by SSL. The SDN controller 10 may be physically included in the network packet mediation device 6 or may be connected to the network packet mediation device 6 as an external device.

가상화된 네트워크 기능으로 ETSI(유럽전기통신표준협회)에서 발행한 NFV 관련 백서에서 정의된 네트워크 기능 가상화(Network Function Virtualiztion; NFV)가 있다. 본 명세서에서 네트워크 기능(NF)은 네트워크 기능 가상화(NFV)와 혼용하여 사용될 수 있다. NFV는 테넌트(tenant)별 필요한 L4-7 서비스 연결을 동적으로 생성하여 필요한 네트워크 기능을 제공하거나, DDoS 공격의 경우 정책 기반으로 필요한 방화벽, IPS 및 DPI 기능 등을 일련의 서비스 체이닝으로 빠르게 제공되는데 이용될 수 있다. 또한 NFV는 방화벽이나 IDS/IPS를 쉽게 온오프 할 수 있으며, 자동으로 프로비저닝(provisioning)할 수 있다. NFV는 오버 프로비저닝의 필요성도 줄일 수 있다.As a virtualized network function, there is a Network Function Virtualization (NFV) defined in the NFV-related white paper published by ETSI (European Telecommunications Standards Institute). In this specification, network function (NF) may be used interchangeably with network function virtualization (NFV). NFV provides necessary network functions by dynamically creating necessary L4-7 service connections for each tenant, or in case of DDoS attacks, necessary firewall, IPS, and DPI functions are quickly provided through a series of service chaining based on policy. can be In addition, NFV can be easily turned on and off firewall or IDS/IPS, and can be provisioned automatically. NFV can also reduce the need for over-provisioning.

도 3을 참조하면, 네트워크 디바이스(2, 3, 4, 또는 미도시)는 스위치(20)에 연결되는 물리 또는 가상 장치로서, 데이터나 정보를 주고 받고자 하는 사용자 단말 장치, 또는 특정 기능을 수행하는 것일 수 있다. 하드웨어 관점에서, 네트워크 디바이스(30)는 PC, 클라이언트 단말기, 서버, 워크스테이션, 수퍼컴퓨터, 이동통신 단말기, 스마트폰, 스마트패드 등이 있을 수 있다. 또한 네트워크 디바이스(30)는 물리 장치 상에 생성된 가상 머신(VM)일 수 있다. Referring to FIG. 3 , a network device 2 , 3 , 4 , or not shown is a physical or virtual device connected to the switch 20 , and a user terminal device for exchanging data or information or performing a specific function. it could be From a hardware point of view, the network device 30 may be a PC, a client terminal, a server, a workstation, a supercomputer, a mobile communication terminal, a smart phone, a smart pad, or the like. Also, the network device 30 may be a virtual machine (VM) created on a physical device.

네트워크 디바이스는 네트워크 상의 여러가지 기능을 수행하는 네트워크 기능(network function)으로 지칭될 수 있다. 네트워크 기능은 안티(anti) DDoS, 침입 감지/차단(IDS/IPS), 통합 보안 서비스, 가상 사설망 서비스, 안티 바이러스, 안티 스팸, 보안 서비스, 접근관리 서비스, 방화벽, 로드 밸런싱, QoS, 비디오 최적화 등을 포함할 수 있다. 이러한 네트워크 기능은 가상화될 수 있다.A network device may be referred to as a network function that performs various functions on a network. Network functions include anti-DDoS, intrusion detection/blocking (IDS/IPS), integrated security service, virtual private network service, anti-virus, anti-spam, security service, access management service, firewall, load balancing, QoS, video optimization, etc. may include. These network functions can be virtualized.

도 4를 참조하면, 본 발명의 일 실시예에 따른 SDN 제어기(10)는, 상기 연결된 무선 엑세스 네트워크의 원격 무선 장비(RRH, 2)를 상기 가상 라우터에 직접 연결된 외부 네트워크 정보로 맵핑하는 가상 무선망 제어 모듈(150)을 더 포함할 수 있다. 본 발명의 일 실시예에 따른 SDN 제어기(10)는, 상기 연결된 무선 액세스 네트워크의 디지털 처리장치(DU, Digital Unit)를 상기 가상 라우터에 직접 연결된 외부 네트워크 정보로 맵핑하는 분산 무선망 제어 모듈(160)을 더 포함할 수 있다. 본 발명의 일 실시예에 따른 SDN 제어기(10)는, 상기 연결된 유선 액세스 네트워크의 광 회선 단말(OLT; Optical Line Terminal)를 상기 가상 라우터에 직접 연결된 외부 네트워크 정보로 맵핑하는 가상 유선망 제어 모듈(170)을 더 포함할 수 있다.Referring to FIG. 4 , the SDN controller 10 according to an embodiment of the present invention maps remote radio equipment (RRH, 2) of the connected radio access network to external network information directly connected to the virtual router. It may further include a network control module 150 . The SDN controller 10 according to an embodiment of the present invention is a distributed radio network control module 160 that maps a digital unit (DU) of the connected radio access network to external network information directly connected to the virtual router. ) may be further included. The SDN controller 10 according to an embodiment of the present invention includes a virtual wired network control module 170 that maps an optical line terminal (OLT) of the connected wired access network to external network information directly connected to the virtual router. ) may be further included.

도 5를 참조하면, 본 발명의 일 실시예에 따른 SDN 제어기(10)는, 도 2를 스위치(20)와 통신하는 스위치 통신부(110), 제어부(100), 및 저장부(190)를 포함할수있다. Referring to FIG. 5 , the SDN controller 10 according to an embodiment of the present invention includes a switch communication unit 110 communicating with the switch 20 in FIG. 2 , a control unit 100 , and a storage unit 190 . can do.

도 5를 참조하면, SDN 제어기의 제어부(100)는 토폴로지 관리 모듈(120), 경로 계산 모듈(125), 엔트리 관리 모듈(135), 메시지 관리 모듈(130), 레거시 인터페이스 모듈(145) 및 API 인터페이스 모듈(146)을 더 포함할 수 있다. 각 모듈은 제어부(100) 내에 하드웨어로 구성될 수 있고, 제어부(100)와 별개의 소프트웨어로 구성될 수도 있다. 동일한 도면 부호의 구성요소에 대한 설명은 도 2를 참조한다.Referring to FIG. 5 , the control unit 100 of the SDN controller includes a topology management module 120 , a path calculation module 125 , an entry management module 135 , a message management module 130 , a legacy interface module 145 and an API. It may further include an interface module 146 . Each module may be configured as hardware in the control unit 100 , or may be configured as software separate from the control unit 100 . Reference is made to FIG. 2 for a description of the components with the same reference numerals.

도 5를 참조하면, 본 발명의 일 실시예에 따른 SDN 제어기(10)의 제어부(100)는, 네트워크 디바이스의 타임스탬프 값으로 패킷의 시각을 동기화하는, 시각 동기화 모듈(410); QoS(Quality of Service)를 제어하는, 정책 관리자 모듈(420); 및 플로우 패킷의 GTP 헤더 또는 VxLAN 헤더를 추출, 수정, 제거 또는 삽입하는, 심층 패킷 매칭 모듈(430);을 포함할 수 있다.5, the control unit 100 of the SDN controller 10 according to an embodiment of the present invention, for synchronizing the time of the packet with the timestamp value of the network device, a time synchronization module 410; a policy manager module 420 that controls QoS (Quality of Service); and a deep packet matching module 430 for extracting, modifying, removing or inserting a GTP header or a VxLAN header of a flow packet.

저장부(190)는 제어부(100)의 처리 및 제어를 위한 프로그램을 저장할 수 있다. 저장부(190)는 입력되거나 출력되는 데이터들(패킷, 메시지 등)을 임시 저장을 위한 기능을 수행할 수 있다. 저장부(190)는 플로우 엔트리를 저장하는 엔트리 데이터베이스(DB)(191)를 포함할 수 있다.The storage unit 190 may store a program for processing and control of the control unit 100 . The storage unit 190 may perform a function for temporarily storing input or output data (packets, messages, etc.). The storage unit 190 may include an entry database (DB) 191 that stores flow entries.

제어부(100)는 통상적으로 상기 각 부의 동작을 제어하여 SDN 제어기(10)의 전반적인 동작을 제어할 수 있다. 제어부(100)는 토폴로지 관리 모듈(120), 경로 계산 모듈(125), 엔트리 관리 모듈(135), API 서버 모듈(136) 및 API 파서 모듈(137) 및 메시지 관리 모듈(130)을 포함할 수 있다. 각 모듈은 제어부(100) 내에 하드웨어로 구성될 수 있고, 제어부(100)와 별개의 소프트웨어로 구성될 수도 있다.The control unit 100 may control the overall operation of the SDN controller 10 by generally controlling the operation of each unit. The control unit 100 may include a topology management module 120 , a path calculation module 125 , an entry management module 135 , an API server module 136 and an API parser module 137 , and a message management module 130 . have. Each module may be configured as hardware in the control unit 100 , or may be configured as software separate from the control unit 100 .

토폴로지 관리 모듈(120)은 스위치 통신부(110)를 통하여 수집된 스위치(20)의 접속 관계를 기초로 네트워크 토폴로지 정보를 구축 및 관리 할 수 있다. 네트워크 토폴로지 정보는 스위치들 사이의 토폴로지 및 각 스위치에 연결되어 있는 네트워크 디바이스 토폴로지를 포함할 수 있다.The topology management module 120 may build and manage network topology information based on the connection relationship of the switch 20 collected through the switch communication unit 110 . The network topology information may include a topology between switches and a topology of a network device connected to each switch.

경로 계산 모듈(125)은 토폴로지 관리 모듈(120)에서 구축된 네트워크 토폴로지 정보를 기초로 스위치 통신부(110)를 통해 수신한 패킷의 데이터 경로 및 상기 데이터 경로 상의 스위치에 실행시키는 액션 열을 구할 수 있다.The path calculation module 125 may obtain a data path of a packet received through the switch communication unit 110 and an action sequence to be executed by a switch on the data path based on the network topology information built in the topology management module 120 . .

엔트리 관리 모듈(135)는 경로 계산 모듈(125)에서 계산된 결과, QoS 등의 정책, 사용자 지시 등을 기초로 플로우 테이블, 그룹 테이블, 및 미터 테이블 등의 엔트리로서 엔트리 DB(191)에 등록할 수 있다. 엔트리 관리 모듈(135)은 스위치(20)에 미리 각 테이블의 엔트리가 등록되도록 하거나(proactive), 스위치(20)로부터의 엔트리의 추가 또는 갱신 요구에 응답(reactive)할 수 있다. 엔트리 관리 모듈(135)은 필요에 따라 또는 스위치(10)의 엔트리 소멸 메시지 등에 의해 엔트리 DB(191)의 엔트리를 변경하거나 삭제할 수 있다.The entry management module 135 registers in the entry DB 191 as entries such as a flow table, a group table, and a meter table based on the results calculated by the path calculation module 125, policies such as QoS, and user instructions. can The entry management module 135 may allow an entry of each table to be registered in the switch 20 in advance (proactive), or may respond to a request to add or update an entry from the switch 20 (reactive). The entry management module 135 may change or delete an entry in the entry DB 191 as necessary or by an entry destruction message of the switch 10 .

API 파서 모듈(137)은 맵핑된 네트워크 디바이스의 정보를 변경하는 프로시져를 해석할 수 있다.The API parser module 137 may interpret a procedure for changing information of a mapped network device.

메시지 관리 모듈(130)은 스위치 통신부(110)를 통해 수신한 메시지를 해석하거나, 스위치 통신부(110)를 통해 스위치로 전송되는 후술할 SDN 제어기-스위치 메시지를 생성할 수 있다. SDN 제어기-스위치 메시지 중 하나인 상태 변경 메시지는 엔트리 관리 모듈(135)에 따른 엔트리 또는 엔트리 DB(191)에 저장된 엔트리에 기초하여 생성될 수 있다.The message management module 130 may interpret a message received through the switch communication unit 110 or generate an SDN controller-switch message to be described later transmitted to the switch through the switch communication unit 110 . The state change message, which is one of the SDN controller-switch messages, may be generated based on an entry according to the entry management module 135 or an entry stored in the entry DB 191 .

스위치 그룹이 오픈플로우 스위치와 기존의 레거시 스위치로 구성된 경우, 토폴로지 관리 모듈(120)은 오픈플로우 스위치를 통해 레거시 스위치와의 접속 정보를 얻을 수 있다.When the switch group includes an OpenFlow switch and an existing legacy switch, the topology management module 120 may obtain connection information with the legacy switch through the OpenFlow switch.

레거시 인터페이스 모듈(145)은 레거시 라우팅 컨테이너(300)와 통신할 수 있다. 레거시 인터페이스 모듈(145)은 토폴로지 관리 모듈(120)에서 구축한 스위치 그룹의 토폴로지 정보를 레거시 라우팅 컨테이너(300)로 전송할 수 있다. 토폴로지 정보는 예를 들어, 제1 내지 제5 스위치(SW1-SW5)의 접속 관계 정보 및 제1 내지 제5 스위치(SW1-SW5)에 연결되어 있는 복수의 네트워크 디바이스의 연결 또는 접속 정보를 포함할 수 있다.The legacy interface module 145 may communicate with the legacy routing container 300 . The legacy interface module 145 may transmit topology information of the switch group built by the topology management module 120 to the legacy routing container 300 . The topology information may include, for example, connection relationship information of the first to fifth switches SW1-SW5 and connection or connection information of a plurality of network devices connected to the first to fifth switches SW1-SW5. can

메시지 관리 모듈(130)은 오픈플로우 스위치로부터 수신한 플로우 문의 메시지에 구비된 플로우의 처리 규칙을 생성할 수 없는 경우, 해당 플로우를 레거시 인터페이스 모듈(145)을 통해 레거시 라우팅 컨테이너(300)로 전송할 수 있다. 해당 플로우는 오픈플로우 스위치에서 수신한 패킷 및 패킷을 수신한 스위치의 포트 정보를 포함할 수 있다. 플로우의 처리 규칙을 생성할 수 없는 경우는 수신 패킷이 레거시 프로토콜로 구성되어 해석할 수 없는 경우, 및 경로 계산 모듈(125)이 레거시 패킷에 대한 경로를 계산할 수 없는 경우 등이 있을 수 있다.When the message management module 130 cannot create a processing rule for a flow included in the flow inquiry message received from the OpenFlow switch, the corresponding flow can be transmitted to the legacy routing container 300 through the legacy interface module 145. have. The corresponding flow may include a packet received from the OpenFlow switch and port information of the switch receiving the packet. When the flow processing rule cannot be generated, there may be a case in which a received packet is configured with a legacy protocol and cannot be interpreted, and a case in which the path calculation module 125 cannot calculate a path for the legacy packet.

스위치(20)는 오픈플로우 프로토콜을 지원하는 물리적인 스위치 또는 가상 스위치일 수 있다. 스위치(20)는 수신한 패킷을 처리하여, 네트워크 디바이스(30) 사이의 플로우를 중계할 수 있다. 이를 위해 스위치(20)는 하나의 플로우 테이블 또는 파이프라인(pipeline) 처리를 위해 다중 플로우 테이블을 구비할 수 있다.The switch 20 may be a physical switch or a virtual switch supporting the OpenFlow protocol. The switch 20 may process the received packet to relay the flow between the network devices 30 . To this end, the switch 20 may include one flow table or multiple flow tables for pipeline processing.

플로우 테이블은 네트워크 디바이스(2,3, 4 또는 미도시)의 플로우를 어떻게 처리할 지의 규칙을 정의한 플로우 엔트리를 포함할 수 있다.The flow table may include a flow entry defining a rule of how to process a flow of a network device (2, 3, 4 or not shown).

플로우(flow)는 하나의 스위치 관점에서 적어도 하나의 헤더 필드의 값을 공유하는 일련의 패킷들 또는 다중 스위치의 여러 플로우 엔트리(flow entry)들의 조합에 따른 특정 경로의 패킷 흐름을 의미할 수 있다. 오픈플로우 네트워크는 플로우 단위로 경로 제어, 장애 회복, 부하 분산 및 최적화를 행할 수 있다.A flow may mean a packet flow of a specific path according to a series of packets sharing a value of at least one header field from the viewpoint of one switch or a combination of several flow entries of multiple switches. The OpenFlow network can perform path control, fault recovery, load balancing and optimization on a per flow basis.

스위치(20)는 다중 스위치의 조합에 따른 플로우의 입구 및 출구 측 에지 스위치(edge switch)(ingress switch and egress switch)와 에지 스위치 사이의 코어 스위치(core switch)로 구분될 수 있다.The switch 20 may be divided into an ingress and egress switch of a flow according to a combination of multiple switches and a core switch between the edge switches.

도 6을 참조하면, 스위치(20)는 다른 스위치 및/또는 네트워크 디바이스와 통신하는 포트부(205), SDN 제어기(10)와 통신하는 SDN 제어기 통신부(210), 스위치 제어부(200), 및 저장부(290)를 포함할 수 있다.Referring to FIG. 6 , the switch 20 includes a port unit 205 that communicates with other switches and/or network devices, an SDN controller communication unit 210 that communicates with the SDN controller 10, a switch control unit 200, and storage part 290 may be included.

포트부(205)는 스위치 또는 네트워크 디바이스에서 유출입되는 한 쌍의 포트를 다수 구비할 수 있다. 한 쌍의 포트는 하나의 포트로 구현될 수 있다.The port unit 205 may include a plurality of a pair of ports flowing in and out from a switch or a network device. A pair of ports may be implemented as one port.

저장부(290)는 스위치 제어부(200)의 처리 및 제어를 위한 프로그램을 저장할 수 있다. 저장부(290)는 입력되거나 출력되는 데이터들(패킷, 메시지 등)을 임시 저장을 위한 기능을 수행할 수 있다. 저장부(290)는 플로우 테이블, 그룹 테이블, 및 미터 테이블 등의 테이블(291)을 구비할 수 있다. 테이블(291) 또는 테이블의 엔트리는 SDN 제어기(10)에 의해 추가, 수정, 삭제될 수 있다. 테이블 엔트리는 자체적으로 파기될 수 있다.The storage unit 290 may store a program for processing and controlling the switch control unit 200 . The storage unit 290 may perform a function for temporarily storing input or output data (packets, messages, etc.). The storage unit 290 may include a table 291 such as a flow table, a group table, and a meter table. Table 291 or entries in the table may be added, modified, or deleted by the SDN controller 10 . Table entries can be destroyed on their own.

스위치 제어부(200)는 통상적으로 상기 각 부의 동작을 제어하여 스위치(20)의 전반적인 동작을 제어할 수 있다. 제어부(210)는 테이블(291)을 관리하는 테이블 관리 모듈(240), 플로우 검색 모듈(220), 플로우 처리 모듈(230), 및 패킷 처리 모듈(235)를 포함할 수 있다. 각 모듈은 제어부(200) 내에 하드웨어로 구성될 수 있고, 제어부(200)와 별개의 소프트웨어로 구성될 수도 있다.The switch control unit 200 may control the overall operation of the switch 20 by generally controlling the operation of each unit. The controller 210 may include a table management module 240 for managing the table 291 , a flow search module 220 , a flow processing module 230 , and a packet processing module 235 . Each module may be configured as hardware in the control unit 200 , or may be configured as software separate from the control unit 200 .

테이블 관리 모듈(240)은 SDN 제어기 통신부(210)를 통해 SDN 제어기(10)로부터 수신한 엔트리를 적절한 테이블에 추가하거나, 타임 아웃(time out)된 엔트리를 주기적으로 제거할 수 있다.The table management module 240 may add an entry received from the SDN controller 10 through the SDN controller communication unit 210 to an appropriate table, or periodically remove a time-out entry.

플로우 검색 모듈(220)은 유저 트래픽으로서 수신한 패킷으로부터 플로우 정보를 추출할 수 있다. 플로우 정보는 에지 스위치의 패킷 유입 포트인 인입 포트(ingress port)의 식별 정보, 해당 스위치의 패킷 유입 포트(incoming port)의 식별 정보, 패킷 헤더 정보(송신원 및 목적지의 IP 주소, MAC 주소, 포트, 및 VLAN 정보 등), 및 메타데이터 등을 포함할 수 있다. 메타데이터는 이전 테이블에서 선택적으로 추가되거나, 다른 스위치에서 추가된 데이터일 수 있다. 플로우 검색 모듈(220)은 추출한 플로우 정보를 참조하여 테이블(291)에 수신 패킷에 대한 플로우 엔트리가 있는지 검색할 수 있다. 플로우 검색 모듈(220)은 플로우 엔트리가 검색되면, 플로우 처리 모듈(260)에 검색된 플로우 엔트리에 따라 수신 패킷을 처리하도록 요청할 수 있다. 만일 플로우 엔트리 검색이 실패하면, 플로우 검색 모듈(220)은 수신 패킷 또는 수신 패킷의 최소한의 데이터를 SDN 제어기 통신부(210)를 통해 SDN 제어기(100)로 전송할 수 있다.The flow search module 220 may extract flow information from a packet received as user traffic. The flow information includes identification information of an ingress port that is a packet ingress port of the edge switch, identification information of a packet ingress port of the corresponding switch, packet header information (the IP address of the sender and destination, MAC address, port, and VLAN information), and metadata. The metadata may be selectively added from a previous table or data added from another switch. The flow search module 220 may search whether there is a flow entry for the received packet in the table 291 with reference to the extracted flow information. When a flow entry is searched for, the flow search module 220 may request the flow processing module 260 to process a received packet according to the searched flow entry. If the flow entry search fails, the flow search module 220 may transmit the received packet or minimum data of the received packet to the SDN controller 100 through the SDN controller communication unit 210 .

플로우 처리 모듈(230)는 플로우 검색 모듈(220)에서 검색된 엔트리에 기술된 절차에 따라 패킷을 특정 포트 또는 다중 포트로 출력하거나, 드롭시키거나 또는 특정 헤더 필드를 수정하는 등의 액션을 처리할 수 있다.The flow processing module 230 may process an action such as outputting a packet to a specific port or multiple ports, dropping a packet, or modifying a specific header field according to the procedure described in the entry found in the flow search module 220. have.

플로우 처리 모듈(230)는 플로우 엔트리의 파이프라인 프로세스를 처리하거나 액션을 변경하기 위한 인스트럭션을 실행하거나 다중 플로우 테이블에서 더 이상 다음 테이블로 갈 수 없을 때 액션 세트를 실행할 수 있다.The flow processing module 230 may process the pipeline process of a flow entry, execute an instruction to change an action, or execute an action set when it can no longer go to the next table in multiple flow tables.

패킷 처리 모듈(235)은 플로우 처리 모듈(230)에 의한 처리된 패킷을 플로우 처리 모듈(230)에서 지정한 포트부(205)의 하나 또는 2 이상의 포트로 실제로 출력할 수 있다. The packet processing module 235 may actually output the packet processed by the flow processing module 230 to one or two or more ports of the port unit 205 designated by the flow processing module 230 .

도시되어 있지 않지만, 네트워크 패킷 중개 장치(6)는 가상 네트워크 디바이스, 가상 스위치 등을 생성, 변경 및 삭제하는 오케스트레이터를 더 포함할 수 있다. 오케스트레이터는 가상 네트워크 디바이스를 생성하는 경우, 가상 네트워크가 접속할 스위치의 식별 정보, 해당 스위치에 연결되는 포트 식별 정보, MAC 주소, IP 주소, 터넨트(tenant) 식별 정보 및 네트워크 식별 정보 등의 네트워크 디바이스의 정보를 SDN 제어기(10)로 제공할 수 있다.Although not shown, the network packet intermediary apparatus 6 may further include an orchestrator for creating, changing, and deleting virtual network devices, virtual switches, and the like. When the orchestrator creates a virtual network device, the network device such as identification information of a switch to which the virtual network will connect, port identification information connected to the switch, MAC address, IP address, tenant identification information, and network identification information of information may be provided to the SDN controller 10 .

SDN 제어기(10)와 스위치(20)는 다양한 정보를 주고 받는데, 이를 오픈플로우 프로토콜 메시지(openflow protocol message)라 칭한다. 이러한 오픈플로우 메시지는 SDN 제어기-스위치 메시지(controller-to-switch message), 비동기 메시지(asynchronous message), 및 대칭 메시지(symmetric message) 등의 타입이 있다. 각 메시지는 엔트리를 식별하는 트랜잭션 식별자(transaction id; xid)를 헤더에 구비할 수 있다.The SDN controller 10 and the switch 20 exchange various information, which is called an openflow protocol message. The OpenFlow message includes types such as an SDN controller-to-switch message, an asynchronous message, and a symmetric message. Each message may have a transaction identifier (transaction id; xid) in the header that identifies the entry.

SDN 제어기-스위치 메시지는 SDN 제어기(10)가 생성하여 스위치(20)에 전달하는 메시지로써, 주로 스위치(20)의 상태를 관리하거나 점검하기 위해 사용된다. SDN 제어기-스위치 메시지는 SDN 제어기(10)의 제어부(100), 특히 메시지 관리 모듈(130)에 의해 생성될 수 있다.The SDN controller-switch message is a message generated by the SDN controller 10 and delivered to the switch 20 , and is mainly used to manage or check the state of the switch 20 . The SDN controller-switch message may be generated by the control unit 100 of the SDN controller 10 , in particular the message management module 130 .

SDN 제어기-스위치 메시지는 스위치의 능력(capabilities)을 문의하는 기능(features), 스위치(20)의 구성 매개 변수 등의 설정을 문의하고 설정하기 위한 설정(configuration), 오픈플로우 테이블의 플로우/그룹/미터 엔트리들을 추가/삭제/수정하기 위한 상태 변경 메시지(modify state message), 패킷-인 메시지를 통해 스위치로부터 수신한 패킷을 해당 스위치 상의 특정한 포트로 전송하도록 하는 패킷-아웃 메시지(packet-out message) 등이 있다. 상태 변경 메시지는 플로우 테이블 변경 메시지(modify flow table message), 플로우 엔트리 변경 메시지(modify flow entry message), 그룹 엔트리 변경 메시지(modify group entry message), 포트 변경 메시지(port modification message), 및 미터 엔트리 변경 메시지(meter modification message) 등이 있다.The SDN controller-switch message is a function for querying the capabilities of the switch (features), a configuration for querying and setting settings such as configuration parameters of the switch 20, flow / group / of the openflow table A modify state message for adding/deleting/modifying meter entries, and a packet-out message for transmitting a packet received from a switch through a packet-in message to a specific port on the corresponding switch etc. State change messages include a modify flow table message, a modify flow entry message, a modify group entry message, a port modification message, and a meter entry change. message (meter modification message), and the like.

비동기 메시지는 스위치(20)가 생성하는 메시지로서, 스위치의 상태 변경 및 네트워크 이벤트 등을 SDN 제어기(10)에서 업테이트하기 위해 사용된다. 비동기 메시지는 스위치(20)의 제어부(200), 특히 플로우 검색 모듈(220)에 의해 생성될 수 있다.The asynchronous message is a message generated by the switch 20 and is used to update the state change and network events of the switch in the SDN controller 10 . The asynchronous message may be generated by the control unit 200 of the switch 20 , in particular, the flow search module 220 .

*비동기 메시지로 패킷-인 메시지(packet-in message), 플로우 삭제 메시지(flow-removed), 에러 메시지 등이 있다. 패킷-인 메시지는 스위치(20)가 SDN 제어기(10)에게 패킷을 전송하여 패킷에 대한 제어를 받기 위해 사용된다. 패킷-인 메시지는 스위치(20)가 미지의 패킷을 수신한 경우, 데이터 경로를 요구하기 위해, 오픈플로우 스위치(20)에서 SDN 제어기(10)로 전송되는 수신 패킷 또는 그 사본의 전부 또는 일부를 포함하는 메시지이다. 유입 패킷에 연관된 엔트리의 액션이 SDN 제어기로 보내라고 정해져 있을 때에도 패킷-인 메시지가 사용된다. 삭제된 플로우(flow-removed) 메시지는 플로우 테이브에서 삭제할 플로우 엔트리 정보를 SDN 제어기(10)로 전달하기 위해 사용된다. 이 메시지는 SDN 제어기(10)가 스위치(20)에 해당 플로우 엔트리 삭제를 요청하였거나 플로우 타임아웃(timeout)에 의한 플로우 만기 처리(flow expiry process)에서 발생한다.*Asynchronous messages include packet-in messages, flow-removed messages, and error messages. The packet-in message is used by the switch 20 to transmit a packet to the SDN controller 10 to receive control of the packet. In the packet-in message, when the switch 20 receives an unknown packet, all or part of a received packet or a copy thereof transmitted from the OpenFlow switch 20 to the SDN controller 10 to request a data path. message that contains Packet-in messages are also used when the action of the entry associated with the incoming packet is to be sent to the SDN controller. The deleted flow (flow-removed) message is used to deliver flow entry information to be deleted from the flow tab to the SDN controller 10 . This message occurs in the flow expiry process due to the SDN controller 10 requesting the switch 20 to delete the corresponding flow entry or due to a flow timeout.

대칭 메시지는 SDN 제어기(10) 및 스위치(20) 모두에서 생성되며, 상대방의 요청이 없어도 전송되는 특징이 있다. SDN 제어기와 스위치 간에 연결을 개시할 때 사용되는 헬로(hello), SDN 제어기 및 스위치 간 연결에 이상이 없음을 확인하기 위한 에코(echo), 및 SDN 제어기나 스위치에 의해 사용되며 문제를 반대측에 알리기 위한 에러 메시지(error message) 등을 포함할 수 있다. 에러 메시지는 대부분 SDN 제어기에 의해 개시된 요청에 따른 실패를 나타나기 위해 스위치에서 사용된다.The symmetric message is generated by both the SDN controller 10 and the switch 20, and is transmitted without a request from the other party. Hello, which is used when initiating a connection between the SDN controller and the switch, echo to confirm that there is no problem in the connection between the SDN controller and the switch, and is used by the SDN controller or switch to inform the other side of the problem. may include an error message for Error messages are mostly used by switches to indicate failures with requests initiated by the SDN controller.

패킷 파싱 모듈(250)은 패킷의 헤더를 해석하여, 패킷에 대한 하나 이상의 정보를 추출할 수 있다. The packet parsing module 250 may interpret the header of the packet to extract one or more pieces of information about the packet.

플로우 테이블은 오픈플로우의 파이프라인(pipeline)을 처리하기 위해 다중 플로우 테이블로 구성될 수 있다. 도 8을 참조하면, 플로우 테이블의 플로우 엔트리는 패킷과 매치하는 조건(대조 규칙)을 기술한 매치 필드(match fields), 우선 순위(priority), 매치되는 패킷이 있는 경우 업데이트되는 카운터(counters), 플로우 엔트리에 매치되는 패킷이 있으면 발생하는 다양한 액션들의 집합인 인스트럭션(instruction), 스위치에서 파기될 시간을 기술하는 타임아웃(timeouts), SDN 제어기에 의해 선택되어지는 오파큐(opaque) 타입으로, SDN 제어기에 의해 플로우 통계, 플로우 변경, 및 플로우 삭제를 필터하기 위해 사용될 수 있으며, 패킷 처리시 사용되지 않는 쿠키(cookie) 등의 튜플(tuple)을 포함할 수 있다. 인스트럭션(instruction)은 다른 플로우 테이블로 패킷을 전달하는 것과 같은 파이프라인 프로세싱의 변경할 수 있다. 또한 인스트럭션은 액션 셋(action set)에 액션을 더하는 액션(action)들의 집합, 또는 패킷에 바로 적용하기 위한 액션들의 리스트를 포함할 수 있다. 액션(action)은 특정 포트로 패킷을 전송하거나, TTL 필드를 감소시키는 것과 같이 패킷을 수정하는 작업을 의미한다. 액션은 플로우 엔트리와 연관된 인스트럭션 집합의 일부 또는 그룹 엔트리와 연관된 액션 버킷에 속할 수 있다. 액션 셋(action set)은 각 테이블에서 지시된 액션이 누적된 집합을 의미한다. 액션 셋은 매치되는 테이블이 없을 때 수행될 수 있다. 도 8은 플로우 엔트리에 의한 여러 패킷 처리를 예시한다.The flow table may consist of multiple flow tables to process the pipeline of OpenFlow. Referring to FIG. 8 , the flow entry of the flow table includes match fields describing a condition (matching rule) that matches a packet, a priority, and a counter that is updated when there is a matching packet. Instruction, which is a set of various actions that occur when there is a packet matching the flow entry, timeouts describing the time to be discarded at the switch, and opaque type selected by the SDN controller. SDN It may be used by the controller to filter flow statistics, flow changes, and flow deletions, and may include tuples such as cookies that are not used in packet processing. An instruction may change pipeline processing, such as forwarding a packet to another flow table. Also, the instruction may include a set of actions for adding an action to an action set, or a list of actions to be applied directly to a packet. An action refers to an operation of modifying a packet, such as transmitting a packet to a specific port or decreasing the TTL field. An action may belong to a part of an instruction set associated with a flow entry or an action bucket associated with a group entry. An action set means a set in which actions indicated in each table are accumulated. An action set can be executed when there is no matching table. 8 illustrates the processing of several packets by flow entry.

파이프라인(pipleline)은 패킷과 플로우 테이블 사이의 일련의 패킷 처리 과정을 의미한다. 스위치(20)에 패킷이 유입되면, 스위치(20)는 첫번째 플로우 테이블의 우선 순위가 높은 순서대로 패킷과 매칭되는 플로우 엔트리를 탐색한다. 매칭이 되면 해당 엔트리의 인스트럭션을 수행한다. 인스트럭션은 매칭되면 바로 수행하는 명령(apply-action), 액션 셋의 내용을 지우거나 추가/수정하는 명령(clear-action; write-action), 메타데이터(metadata) 수정 명령(write-metadata), 지정된 테이블로 메타데이터와 함께 패킷을 이동시키는 고우투 명령(goto-table) 등이 있다. 패킷과 매칭되는 플로우 엔트리가 없는 경우, 테이블 설정에 따라 패킷을 폐기(drop)하거나 SDN 제어기(10)로 패킷을 패킷-인 메시지(packet-in message)에 실어서 보낼 수 있다.A pipeline refers to a series of packet processing processes between a packet and a flow table. When a packet is introduced into the switch 20, the switch 20 searches for a flow entry matching the packet in the order of priority of the first flow table. When matching, the instruction of the corresponding entry is executed. Instruction is a command to be executed immediately upon matching (apply-action), a command to delete or add/modify the contents of an action set (clear-action; write-action), a command to modify metadata (write-metadata), and a specified Examples include goto-tables that move packets along with metadata into a table. If there is no flow entry matching the packet, the packet may be dropped according to table settings or the packet may be sent to the SDN controller 10 in a packet-in message.

그룹 테이블은 그룹 엔트리들을 포함할 수 있다. 그룹 테이블은 플로우 엔트리에 의해 지시되어 추가적인 포워딩 방법들을 제시할 수 있다. 도 8(a)을 참조하면, 그룹 테이블의 그룹 엔트리는 다음과 같은 필드를 구비할 수 있다. 그룹 엔트리를 구분할 수 있는 그룹 식별자(group identifier), 그룹 엔트리에 정의된 액션 버킷들을 일부(select) 또는 전부(all) 수행할 것이 여부에 대한 규칙을 명시한 그룹 타입(group type), 플로우 엔트리의 카운터와 같이 통계를 위한 카운터(counters), 및 그룹을 위해 정의된 파라미터들과 연관된 액션들의 집합인 액션 버킷(action buckets)을 포함할 수 있다.The group table may contain group entries. The group table may be indicated by a flow entry to suggest additional forwarding methods. Referring to FIG. 8A , the group entry of the group table may include the following fields. A group identifier that can distinguish a group entry, a group type that specifies a rule for whether to perform some or all of the action buckets defined in the group entry, a counter of the flow entry It may include counters for statistics, and action buckets, which is a set of actions associated with parameters defined for a group.

미터 테이블(meter table)은 미터 엔트리들(meter entries)로 구성되며, 플로우 미터-당(per-flow meters)를 정의한다. 플로우 미터-당은 오픈플로우가 다양한 QoS 작동을 적용될 수 있도록 할 수 있다. 미터(meter)는 패킷의 레이트(rate of packets)를 측정 및 제어할 수 있는 일종의 스위치 요소이다. 도 8(b)를 참조하면, 미터 테이블(meter table)은 미터를 식별하는 미터 식별자(meter identifier), 밴드(band)에 지정된 속도와 패킷 동작 방법을 나타내는 미터 밴드(meter bands), 및 패킷이 미터에서 동작될 때 업데이트되는 카운터(counters) 필드들로 구성된다. 미터 밴드(meter bands)는 패킷이 어떻게 처리되는 지를 나타내는 밴드 타입(band type), 미터에 의해 미터 밴드를 선택하는데 사용되는 레이트(rate), 미터 밴드에 의해 패킷들이 처리될 때 업데이트되는 카운터(counters), 및 선택적인 아규먼트(argument)를 가지는 배드 타입들인 특정 아규먼트 타입(type specific argument)과 같은 필드들로 구성될 수 있다.A meter table is made up of meter entries and defines per-flow meters. Per flow meter-per-flow allows OpenFlow to apply various QoS operations. A meter is a kind of switch element that can measure and control the rate of packets. Referring to FIG. 8( b ), the meter table includes a meter identifier for identifying a meter, meter bands indicating a rate specified in a band and a packet operation method, and a packet It consists of counter fields that are updated when the meter is operated. The meter bands are the band type indicating how the packet is being processed, the rate used by the meter to select the meter band, and counters that are updated as packets are processed by the meter band. ), and fields such as type specific argument, which are bad types having an optional argument.

스위치 제어부(200)는 통상적으로 상기 각 부의 동작을 제어하여 스위치(20)의 전반적인 동작을 제어할 수 있다. 제어부(200)는 테이블(291)을 관리하는 테이블 관리 모듈(240), 플로우 검색 모듈(220), 플로우 처리 모듈(230), 및 패킷 처리 모듈(235)를 포함할 수 있다. 각 모듈은 제어부(200) 내에 하드웨어로 구성될 수 있고, 제어부(200)와 별개의 소프트웨어로 구성될 수도 있다.The switch control unit 200 may control the overall operation of the switch 20 by generally controlling the operation of each unit. The controller 200 may include a table management module 240 for managing the table 291 , a flow search module 220 , a flow processing module 230 , and a packet processing module 235 . Each module may be configured as hardware in the control unit 200 , or may be configured as software separate from the control unit 200 .

테이블 관리 모듈(240)은 SDN 제어기 통신부(210)를 통해 SDN 제어기(10)로부터 수신한 엔트리를 적절한 테이블에 추가하거나, 타임 아웃(time out)된 엔트리를 주기적으로 제거할 수 있다.The table management module 240 may add an entry received from the SDN controller 10 through the SDN controller communication unit 210 to an appropriate table, or periodically remove a time-out entry.

플로우 검색 모듈(220)은 유저 트래픽으로서 수신한 패킷으로부터 플로우 정보를 추출할 수 있다. 플로우 정보는 에지 스위치의 패킷 유입 포트인 입구 포트(ingress port)의 식별 정보, 해당 스위치의 패킷 유입 포트(incoming port)의 식별 정보, 패킷 헤더 정보(송신원 및 목적지의 IP 주소, MAC 주소, 포트, 및 VLAN 정보 등), 및 메타데이터 등을 포함할 수 있다. 메타데이터는 이전 테이블에서 선택적으로 추가되거나, 다른 스위치에서 추가된 데이터일 수 있다. 플로우 검색 모듈(220)은 추출한 플로우 정보를 참조하여 테이블(291)에 수신 패킷에 대한 플로우 엔트리가 있는지 검색할 수 있다. 플로우 검색 모듈(220)은 플로우 엔트리가 검색되면, 플로우 처리 모듈(260)에 검색된 플로우 엔트리에 따라 수신 패킷을 처리하도록 요청할 수 있다. 만일 플로우 엔트리 검색이 실패하면, 플로우 검색 모듈(220)은 수신 패킷 또는 수신 패킷의 최소한의 데이터를 SDN 제어기 통신부(210)를 통해 SDN 제어기(100)로 전송할 수 있다.The flow search module 220 may extract flow information from a packet received as user traffic. The flow information includes identification information of an ingress port, which is a packet ingress port of the edge switch, identification information of an incoming port of the corresponding switch, and packet header information (IP addresses, MAC addresses, ports, and VLAN information), and metadata. The metadata may be selectively added from a previous table or data added from another switch. The flow search module 220 may search whether there is a flow entry for the received packet in the table 291 with reference to the extracted flow information. When a flow entry is searched for, the flow search module 220 may request the flow processing module 260 to process a received packet according to the searched flow entry. If the flow entry search fails, the flow search module 220 may transmit the received packet or minimum data of the received packet to the SDN controller 100 through the SDN controller communication unit 210 .

플로우 처리 모듈(230)는 플로우 검색 모듈(220)에서 검색된 엔트리에 기술된 절차에 따라 패킷을 특정 포트 또는 다중 포트로 출력하거나, 드롭시키거나 또는 특정 헤더 필드를 수정하는 등의 액션을 처리할 수 있다.The flow processing module 230 may process an action such as outputting a packet to a specific port or multiple ports, dropping a packet, or modifying a specific header field according to the procedure described in the entry found in the flow search module 220. have.

플로우 처리 모듈(230)는 플로우 엔트리의 파이프라인 프로세스를 처리하거나 액션을 변경하기 위한 인스트럭션을 실행하거나 다중 플로우 테이블에서 더 이상 다음 테이블로 갈 수 없을 때 액션 세트를 실행할 수 있다.The flow processing module 230 may process the pipeline process of a flow entry, execute an instruction to change an action, or execute an action set when it can no longer go to the next table in multiple flow tables.

패킷 처리 모듈(235)은 플로우 처리 모듈(230)에 의한 처리된 패킷을 플로우 처리 모듈(230)에서 지정한 포트부(205)의 하나 또는 2 이상의 포트로 실제로 출력할 수 있다.The packet processing module 235 may actually output the packet processed by the flow processing module 230 to one or two or more ports of the port unit 205 designated by the flow processing module 230 .

도시되어 있지 않지만, SDN 네트워크 시스템은 가상 네트워크 디바이스, 가상 스위치 등을 생성, 변경 및 삭제하는 오케스트레이터를 더 포함할 수 있다. 오케스트레이터는 가상 네트워크 디바이스를 생성하는 경우, 가상 네트워크가 접속할 스위치의 식별 정보, 해당 스위치에 연결되는 포트 식별 정보, MAC 주소, IP 주소, 터넨트(tenant) 식별 정보 및 네트워크 식별 정보 등의 네트워크 디바이스의 정보를 SDN 제어기(10)로 제공할 수 있다.Although not shown, the SDN network system may further include an orchestrator for creating, changing, and deleting virtual network devices, virtual switches, and the like. When the orchestrator creates a virtual network device, the network device such as identification information of a switch to which the virtual network will connect, port identification information connected to the switch, MAC address, IP address, tenant identification information, and network identification information of information may be provided to the SDN controller 10 .

SDN 제어기(10)와 스위치(20)는 다양한 정보를 주고 받는데, 이를 오픈플로우 프로토콜 메시지(openflow protocol message)라 칭한다. 이러한 오픈플로우 메시지는 SDN 제어기-스위치 메시지(controller-to-switch message), 비동기 메시지(asynchronous message), 및 대칭 메시지(symmetric message) 등의 타입이 있다. 각 메시지는 엔트리를 식별하는 트랜잭션 식별자(transaction id; xid)를 헤더에 구비할 수 있다.The SDN controller 10 and the switch 20 exchange various information, which is called an openflow protocol message. The OpenFlow message includes types such as an SDN controller-to-switch message, an asynchronous message, and a symmetric message. Each message may have a transaction identifier (transaction id; xid) in the header that identifies the entry.

SDN 제어기-스위치 메시지는 SDN 제어기(10)가 생성하여 스위치(20)에 전달하는 메시지로써, 주로 스위치(20)의 상태를 관리하거나 점검하기 위해 사용된다. SDN 제어기-스위치 메시지는 SDN 제어기(10)의 제어부(100), 특히 메시지 관리 모듈(130)에 의해 생성될 수 있다.The SDN controller-switch message is a message generated by the SDN controller 10 and delivered to the switch 20 , and is mainly used to manage or check the state of the switch 20 . The SDN controller-switch message may be generated by the control unit 100 of the SDN controller 10 , in particular the message management module 130 .

SDN 제어기-스위치 메시지는 스위치의 능력(capabilities)을 문의하는 기능(features), 스위치(20)의 구성 매개 변수 등의 설정을 문의하고 설정하기 위한 설정(configuration), 오픈플로우 테이블의 플로우/그룹/미터 엔트리들을 추가/삭제/수정하기 위한 상태 변경 메시지(modify state message), 패킷-인 메시지를 통해 스위치로부터 수신한 패킷을 해당 스위치 상의 특정한 포트로 전송하도록 하는 패킷-아웃 메시지(packet-out message) 등이 있다. 상태 변경 메시지는 플로우 테이블 변경 메시지(modify flow table message), 플로우 엔트리 변경 메시지(modify flow entry message), 그룹 엔트리 변경 메시지(modify group entry message), 포트 변경 메시지(prot modification message), 및 미터 엔트리 변경 메시지(meter modification message) 등이 있다.The SDN controller-switch message is a function for querying the capabilities of the switch (features), a configuration for querying and setting settings such as configuration parameters of the switch 20, flow / group / of the openflow table A modify state message for adding/deleting/modifying meter entries, and a packet-out message for transmitting a packet received from a switch through a packet-in message to a specific port on the corresponding switch etc. State change messages include a modify flow table message, a modify flow entry message, a modify group entry message, a prot modification message, and a meter entry change. message (meter modification message), and the like.

비동기 메시지는 스위치(20)가 생성하는 메시지로서, 스위치의 상태 변경 및 네트워크 이벤트 등을 SDN 제어기(10)에서 업테이트하기 위해 사용된다. 비동기 메시지는 스위치(20)의 제어부(200), 특히 플로우 검색 모듈(220)에 의해 생성될 수 있다.The asynchronous message is a message generated by the switch 20 and is used to update the state change and network events of the switch in the SDN controller 10 . The asynchronous message may be generated by the control unit 200 of the switch 20 , in particular, the flow search module 220 .

*비동기 메시지로 패킷-인 메시지(packet-in message), 플로우 삭제 메시지(flow-removed), 에러 메시지 등이 있다. 패킷-인 메시지는 스위치(20)가 SDN 제어기(10)에게 패킷을 전송하여 패킷에 대한 제어를 받기 위해 사용된다. 패킷-인 메시지는 스위치(20)가 미지의 패킷을 수신한 경우, 데이터 경로를 요구하기 위해, 오픈플로우 스위치(20)에서 SDN 제어기(10)로 전송되는 수신 패킷 또는 그 사본의 전부 또는 일부를 포함하는 메시지이다. 유입 패킷에 연관된 엔트리의 액션이 SDN 제어기로 보내라고 정해져 있을 때에도 패킷-인 메시지가 사용된다. 삭제된 플로우(flow-removed) 메시지는 플로우 테이브에서 삭제할 플로우 엔트리 정보를 SDN 제어기(10)로 전달하기 위해 사용된다. 이 메시지는 SDN 제어기(10)가 스위치(20)에 해당 플로우 엔트리 삭제를 요청하였거나 플로우 타임아웃(timeout)에 의한 플로우 만기 처리(flow expiry process)에서 발생한다.*Asynchronous messages include packet-in messages, flow-removed messages, and error messages. The packet-in message is used by the switch 20 to transmit a packet to the SDN controller 10 to receive control of the packet. In the packet-in message, when the switch 20 receives an unknown packet, all or part of a received packet or a copy thereof transmitted from the OpenFlow switch 20 to the SDN controller 10 to request a data path. message that contains Packet-in messages are also used when the action of the entry associated with the incoming packet is to be sent to the SDN controller. The deleted flow (flow-removed) message is used to deliver flow entry information to be deleted from the flow tab to the SDN controller 10 . This message occurs in the flow expiry process due to the SDN controller 10 requesting the switch 20 to delete the corresponding flow entry or due to a flow timeout.

대칭 메시지는 SDN 제어기(10) 및 스위치(20) 모두에서 생성되며, 상대방의 요청이 없어도 전송되는 특징이 있다. SDN 제어기와 스위치 간에 연결을 개시할 때 사용되는 헬로(hello), SDN 제어기 및 스위치 간 연결에 이상이 없음을 확인하기 위한 에코(echo), 및 SDN 제어기나 스위치에 의해 사용되며 문제를 반대측에 알리기 위한 에러 메시지(error message) 등을 포함할 수 있다. 에러 메시지는 대부분 SDN 제어기에 의해 개시된 요청에 따른 실패를 나타나기 위해 스위치에서 사용된다.The symmetric message is generated by both the SDN controller 10 and the switch 20, and is transmitted without a request from the other party. Hello, which is used when initiating a connection between the SDN controller and the switch, echo to confirm that there is no problem in the connection between the SDN controller and the switch, and is used by the SDN controller or switch to inform the other side of the problem. may include an error message for Error messages are mostly used by switches to indicate failures with requests initiated by the SDN controller.

그룹 테이블은 그룹 엔트리들을 포함할 수 있다. 그룹 테이블은 플로우 엔트리에 의해 지시되어 추가적인 포워딩 방법들을 제시할 수 있다. 도 8(a)를 참조하면, 그룹 테이블의 그룹 엔트리는 다음과 같은 필드를 구비할 수 있다. 그룹 엔트리를 구분할 수 있는 그룹 식별자(group identifier), 그룹 엔트리에 정의된 액션 버킷들을 일부(select) 또는 전부(all) 수행할 것이 여부에 대한 규칙을 명시한 그룹 타입(group type), 플로우 엔트리의 카운터와 같이 통계를 위한 카운터(counters), 및 그룹을 위해 정의된 파라미터들과 연관된 액션들의 집합인 액션 버킷(action buckets)을 포함할 수 있다.The group table may contain group entries. The group table may be indicated by a flow entry to suggest additional forwarding methods. Referring to FIG. 8A , the group entry of the group table may include the following fields. A group identifier that can distinguish a group entry, a group type that specifies a rule for whether to perform some or all of the action buckets defined in the group entry, a counter of the flow entry It may include counters for statistics, and action buckets, which is a set of actions associated with parameters defined for a group.

미터 테이블(meter table)은 미터 엔트리들(meter entries)로 구성되며, 플로우 미터-당(per-flow meters)를 정의한다. 플로우 미터-당은 오픈플로우가 다양한 QoS 작동을 적용될 수 있도록 할 수 있다. 미터(meter)는 패킷의 레이트(rate of packets)를 측정 및 제어할 수 있는 일종의 스위치 요소이다. 도 8(b)를 참조하면, 미터 테이블(meter table)은 미터를 식별하는 미터 식별자(meter identifier), 밴드(band)에 지정된 속도와 패킷 동작 방법을 나타내는 미터 밴드(meter bands), 및 패킷이 미터에서 동작될 때 업데이트되는 카운터(counters) 필드들로 구성된다. 미터 밴드(meter bands)는 패킷이 어떻게 처리되는 지를 나타내는 밴드 타입(band type), 미터에 의해 미터 밴드를 선택하는데 사용되는 레이트(rate), 미터 밴드에 의해 패킷들이 처리될 때 업데이트되는 카운터(counters), 및 선택적인 아규먼트(argument)를 가지는 배드 타입들인 특정 아규먼트 타입(type specific argument)과 같은 필드들로 구성될 수 있다.A meter table is made up of meter entries and defines per-flow meters. Per flow meter-per-flow allows OpenFlow to apply various QoS operations. A meter is a kind of switch element that can measure and control the rate of packets. Referring to FIG. 8( b ), the meter table includes a meter identifier for identifying a meter, meter bands indicating a rate specified in a band and a packet operation method, and a packet It consists of counter fields that are updated when the meter is operated. The meter bands are the band type indicating how the packet is being processed, the rate used by the meter to select the meter band, and counters that are updated as packets are processed by the meter band. ), and fields such as type specific argument, which are bad types having an optional argument.

도 9를 참조하면, 본 발명의 일 실시예에 따른 네트워크 패킷 중개 장치(6)는 예를 들어, 제1 내지 제5 스위치(SW1-SW5, 20)를 구비하는 스위치 그룹, SDN 제어기(10), 및 레거시 라우팅 컨테이너(300)를 포함할 수 있다. 제1 내지 제5 스위치(SW1-SW5) 중 외부 네트워크와 연결된 에지 스위치인 제1 및 제3 스위치(SW1, SW3)는 오픈플로우 프로토콜을 지원하는 오픈플로우 스위치이다. 오픈플로우 스위치는 물리적인 하드웨어, 가상화된 소프트웨어, 또는 하드웨어와 소프트웨어가 혼합된 형태일 수 있다.Referring to FIG. 9 , the network packet intermediary apparatus 6 according to an embodiment of the present invention is, for example, a switch group including first to fifth switches SW1-SW5 and 20, an SDN controller 10 . , and a legacy routing container 300 . Among the first to fifth switches SW1-SW5, the first and third switches SW1 and SW3 that are edge switches connected to an external network are OpenFlow switches supporting the OpenFlow protocol. The OpenFlow switch may be in the form of physical hardware, virtualized software, or a mixture of hardware and software.

본 실시예에서, 제1 스위치(SW1)는 제11 포트(port 11)을 통해 제1 레거시 라우터(R1)에 연결된 에지 스위치이며, 제3 스위치(SW3)는 제32 및 제33 포트(port 32, port 33)를 통해 제2 및 제3 레거시 라우터(R2, R3)에 연결된 에지 스위치이다. 스위치 그룹은 제1 내지 제5 스위치에 연결된 복수의 네트워크 디바이스(2, 3, 4 또는 미도시)를 더 포함할 수 있다.In this embodiment, the first switch SW1 is an edge switch connected to the first legacy router R1 through the eleventh port (port 11), and the third switch SW3 is the third and third ports (port 32). , an edge switch connected to the second and third legacy routers R2 and R3 through port 33). The switch group may further include a plurality of network devices (2, 3, 4 or not shown) connected to the first to fifth switches.

도 10을 참조하면, 레거시 라우팅 컨테이너(300)는 SDN 인터페이스 모듈(345), 가상 라우터 생성부(320), 가상 라우터(340), 라우팅 처리부(330), 및 라우팅 테이블(335)을 포함할 수 있다.Referring to FIG. 10 , the legacy routing container 300 may include an SDN interface module 345 , a virtual router creation unit 320 , a virtual router 340 , a routing processing unit 330 , and a routing table 335 . have.

SDN 인터페이스 모듈(345)은 제어기(10)와 통신할 수 있다. 레거시 인터페이스 모듈(145) 및 SDN 인터페이스 모듈(345) 각각은 제어기(10)와 레거시 라우팅 컨테이너(300)의 인터페이스 역할을 할 수 있다. 레거시 인터페이스 모듈(145) 및 SDN 인터페이스 모듈(345)은 특정 프로토콜이나 특정 언어로 통신할 수 있다. 레거시 인터페이스 모듈(145) 및 SDN 인터페이스 모듈(345)은 제어기(10)와 레거시 라우팅 컨테이너(300)가 주고 받는 메시지를 번역하거나 해석할 수 있다.The SDN interface module 345 may communicate with the controller 10 . Each of the legacy interface module 145 and the SDN interface module 345 may serve as an interface between the controller 10 and the legacy routing container 300 . The legacy interface module 145 and the SDN interface module 345 may communicate in a specific protocol or in a specific language. The legacy interface module 145 and the SDN interface module 345 may translate or interpret messages exchanged between the controller 10 and the legacy routing container 300 .

가상 라우터 생성부(320)는 SDN 인터페이스 모듈(345)를 통해 수신한 스위치 그룹의 토폴로지 정보를 이용하여 가상 라우터(340)를 생성 및 관리할 수 있다. 가상 라우터(340)를 통해, 외부 레거시 네트워크 즉 제1 내지 제3 라우터(R1-R3)에서 스위치 그룹이 레거시 라우터로 취급될 수 있다.The virtual router generator 320 may create and manage the virtual router 340 using the topology information of the switch group received through the SDN interface module 345 . Through the virtual router 340 , a switch group may be treated as a legacy router in an external legacy network, that is, the first to third routers R1-R3.

가상 라우터 생성부(320)는 가상 라우터(340)가 스위치 그룹의 에지 스위치 즉 제1 및 제3 에지 스위치(SW1, SW3)의 에지 포트들과 대응하는 가상 라우터용 포트를 구비하도록 수 있다. 예를 들어 도 11(a)의 경우와 같이, v-R0 가상 레거시 라우터의 포트는 제1 스위치(SW1)의 제11 포트(port 11), 및 제3 스위치(SW3)의 제32 및 33 포트(port 32, port 33)의 정보를 그대로 이용할 수 있다. The virtual router creation unit 320 may enable the virtual router 340 to have ports for virtual routers corresponding to edge ports of the edge switches of the switch group, that is, the first and third edge switches SW1 and SW3. For example, as in the case of Fig. 11(a), the ports of the v-R0 virtual legacy router are the 11th port (port 11) of the first switch (SW1), and the 32 and 33 ports of the third switch (SW3) (port 32, port 33) information can be used as it is.

가상 라우터(340)의 포트는 패킷의 식별 정보에 연관될 수 있다. 패킷의 식별 정보는 패킷의 vLAN 정보, 이동통 신망을 통해 접속되는 경우 패킷에 부가되는 터널(tunnel) 아이디 등의 태그 정보일 수 있다. 이 경우 오픈플로 우 에지 스위치의 실질적인 포트 하나로 다수의 가상 라우터 포트를 생성할 수 있다. 패킷의 식별 정보에 연관 되는 가상 라우터 포트는 가상 라우터(340)가 복수의 가상 레거시 라우터로 작동하도록 하는데 기여할 수 있다. 에지 스위치의 물리적 포트(실제 포트)만으로 가상 라우터를 생성하는 경우, 물리적 포트의 수에 제한을 받게 된다. 그러나 패킷 식별 정보에 연관시키는 경우, 이러한 제약 사항이 없어진다. 또한 기존의 패킷의 레거시 네 트워크에서의 흐름과 유사하게 작동되도록 할 수 있다. 또한 사용자 또는 사용자 그룹 별로 가상의 레거시 라우 터를 구동할 수 있다. 사용자 또는 사용자 그룹은 vLAN 또는 터널 아이디와 같은 패킷 식별 정보로 구분될 수 있다. 도 11(b)를 참조하면, 스위치 그룹은 복수의 가상 레거시 라우터(v-R1, v-R2)로 가상화되며, 복수의 가상 레거시 라우터(v-R1, v-R2)의 각 포트(vp 11~13, vp 21~23)는 패킷의 식별 정보에 각각 연관될 수 있다. A port of the virtual router 340 may be associated with identification information of a packet. The identification information of the packet may be tag information such as vLAN information of the packet or a tunnel ID added to the packet when it is accessed through a mobile communication network. In this case, multiple virtual router ports can be created with one real port of the OpenFlow edge switch. The virtual router port associated with the identification information of the packet may contribute to allowing the virtual router 340 to operate as a plurality of virtual legacy routers. If a virtual router is created with only the physical ports (real ports) of the edge switch, the number of physical ports is limited. However, when associating with packet identification information, this restriction is removed. In addition, it can be made to operate similarly to the flow of existing packets in a legacy network. In addition, a virtual legacy router can be run for each user or user group. A user or group of users can be identified by packet identification information such as vLAN or tunnel ID. Referring to FIG. 11( b ), the switch group is virtualized with a plurality of virtual legacy routers (v-R1, v-R2), and each port (vp 11) of the plurality of virtual legacy routers (v-R1, v-R2) ~13, vp 21~23) may be respectively associated with identification information of the packet.

도 11(b)를 참조하면, 복수의 가상 레거시 라우터(v-R1, v-R2)와 레거시 라우터의 접속은 제1 레거시 라우터(R 1)의 하나의 실제 인터페이스가 분리된 여러개의 서브 인터페이스로 접속되거나, 제2 및 제3 레거시 라우터(R2, R3) 처럼 복수의 실제 인터페이스로 접속될 수 있다. Referring to FIG. 11B , the connection between the plurality of virtual legacy routers v-R1 and v-R2 and the legacy router is a plurality of sub-interfaces in which one real interface of the first legacy router R 1 is separated. It may be connected or may be connected to a plurality of real interfaces like the second and third legacy routers R2 and R3.

가상 라우터 생성부(320)는, 제1 내지 제3 라우터(R1-R3)가 제1 내지 제5 스위치(SW1-SW5)에 연결된 복수의 네트워크 디바이스를 가상 라우터(340)에 연결된 외부 네트워크(vN)로 취급되도록 할 수 있다. 이를 통해 레거시 네트워크는 오픈플로우 스위치 그룹의 네트워크 디바이스들에 접근할 수 있다. 도 7(a)의 경우, 가상 라우터 생 부(320)는 제0 가상 레거시 라우터(v-R0)에 제0 포트(port 0)를 생성하였다. 도 7(b)의 경우, 가상 라우터 생 성부(320)는 제1 및 제2 가상 레거시 라우터(v-R1, v-R2)에 제10 및 제20 포트(vp 10, vp 20)를 생성하였다. 생성된 각 포트(port 0, vp 10, vp 20)은 스위치 그룹의 복수의 네트워크 디바이스가 연결된 것과 같은 정보를 구비할 수 있다. 외부 네트워크(vN)은 복수의 네트워크 디바이스 전부 또는 그 일부로 구성될 수 있다. The virtual router generating unit 320 is configured to connect a plurality of network devices connected to the first to fifth switches SW1 to SW5 in which the first to third routers R1 to R3 are connected to an external network (vN) connected to the virtual router 340 . ) can be treated as This allows the legacy network to access the network devices of the OpenFlow switch group. In the case of FIG. 7A , the virtual router creation unit 320 creates a 0th port (port 0) in the 0th virtual legacy router v-R0. In the case of FIG. 7(b), the virtual router creation unit 320 has created 10th and 20th ports vp 10 and vp 20 in the first and second virtual legacy routers v-R1 and v-R2. . Each of the created ports (port 0, vp 10, vp 20) may have information such as a plurality of network devices of a switch group connected. The external network vN may consist of all or a part of a plurality of network devices.

가상 라우터용 포트(port 0, por 11v, port 32v, port 33v, vp 10~13, vp 20~23)의 정보는 레거시 라우터가 가지는 포트 정보를 가질 수 있다. 예를 들어, 가상 라우터용 포트 정보는 각 가상 라우터용 포트의 MAC 주소, IP 주소, 포트 이름, 연결되어 있는 네트워크 주소 범위, 레거시 라우터 정보를 포함하며, vLAN 범위, 터널 아이디 범위 등을 더 포함할 수 있다.이러한 포트 정보는 상술한 바와 같이 제1 및 제3 에지 스위치(SW1, SW3)의 에지 포트 정보를 상속 받거나, 가상 라우터 생성부(320)에 의해 지정될 수 있다. Information on ports for virtual routers (port 0, por 11v, port 32v, port 33v, vp 10-13, vp 20-23) may have port information of the legacy router. For example, port information for a virtual router includes the MAC address, IP address, port name, connected network address range, legacy router information of the port for each virtual router, and may further include vLAN range, tunnel ID range, etc. Such port information may inherit edge port information of the first and third edge switches SW1 and SW3 as described above, or may be designated by the virtual router creation unit 320 .

가상 라우터(340)에 생성된 가상라우터(340)에 의한 도 9의 네트워크의 데이터 평면(data plane)은 도 11(a) 또는 도 11(b)와 같이 가상화될 수 있다. 예를 들어 도 11(a)의 경우, 가상화된 네트워크는 제1 내지 제5 스위치 (SW1~SW5)가 가상 레거시 라우터(v-R0)로 가상화되고, 제0 가상 레거시 라우터(v-R0)의 제11v, 제32v, 및 제 33v 포트(port 11v, 32v, 33v)는 제1 내지 제3 레거시 라우터(R1~R3)와 연결되고, 제0 가상 레거시 라우터(v- R0)의 제0 포트(port 0)는 복수의 네트워크 디바이스의 적어도 일부인 외부 네트워크(vN)와 연결될 수 있다. The data plane of the network of FIG. 9 by the virtual router 340 created in the virtual router 340 may be virtualized as shown in FIG. 11(a) or 11(b). For example, in the case of FIG. 11( a ), in the virtualized network, the first to fifth switches SW1 to SW5 are virtualized as a virtual legacy router v-R0, and the virtualized network of the 0th virtual legacy router v-R0. The 11v, 32v, and 33v ports (port 11v, 32v, 33v) are connected to the first to third legacy routers R1 to R3, and port 0 of the 0 virtual legacy router v- R0 ( port 0) may be connected to an external network vN that is at least a part of a plurality of network devices.

라우팅 처리부(330)는 가상 라우터(340)가 생성되면 라우팅 테이블(335)을 생성할 수 있다. 라우팅 테이블(335)은 레거시 라우터에서 라우팅에 참조되기 위해 사용되는 테이블이다. 라우팅 테이블(335)은 RIB, FIB, 및 ARP 테이블 등의 일부 또는 전부로 구성될 수 있다. 라우팅 테이블(335)은 라우팅 처리부(330)에 의해 수정되거나 업데이트될 수 있다. The routing processing unit 330 may generate the routing table 335 when the virtual router 340 is created. The routing table 335 is a table used for reference for routing in the legacy router. The routing table 335 may be composed of some or all of the RIB, FIB, and ARP tables. The routing table 335 may be modified or updated by the routing processing unit 330 .

라우팅 처리부(330)는 제어기(10)에서 문의한 플로우에 대한 레거시 라우팅 경로를 생성할 수 있다. 라우팅 처리부(330)는 플로우에 구비된 오픈플로우 스위치에서 수신한 수신 패킷, 수신 패킷이 유입된 포트 정보, 가상 라우터(340) 정보, 및 라우팅 테이블(335) 등의 일부 또는 전부를 이용하여 레거시 라우팅 정보를 생성할 수 있다.The routing processing unit 330 may generate a legacy routing path for the flow inquired by the controller 10 . The routing processing unit 330 performs legacy routing using some or all of the received packet received from the OpenFlow switch provided in the flow, port information into which the received packet was introduced, virtual router 340 information, and routing table 335 , etc. information can be generated.

라우팅 처리부(330)는 레거시 라우팅을 결정하기 위해 서드 파티 라우팅 프로토콜 스택을 포함할 수 있다.The routing processing unit 330 may include a third-party routing protocol stack to determine legacy routing.

도 12는 SDN 제어기의 플로우에 대한 레거시 라우팅 여부 판단 방법에 대한 순서도이다. 12 is a flowchart for a method of determining whether legacy routing for a flow of an SDN controller is performed.

플로우에 대한 레거시 라우팅 여부 판단 방법은, 제어기(10)가 오픈플로우 스위치로부터 수신한 플로우에 대해 일반적인 SDN 제어를 할 것인지 또는 레거시 라우팅 컨테이너(300)에 플로우 제어를 문의해야 하는지를 의미한다.The legacy routing method for the flow means whether the controller 10 should perform general SDN control on the flow received from the OpenFlow switch or inquire about the flow control to the legacy routing container 300 .

도 12를 참조하면, 제어기(10)는 플로우 인입 포트가 에지 포트인지 판단한다(S510). 플로우 인입 포트가 에지 포트가 아닌 경우, 제어기(10)는 일반적인 오픈플로우 패킷에 대한 경로를 계산하는 등 SDN 기반의 플로우 제어를 할 수 있다(S590).Referring to FIG. 12 , the controller 10 determines whether the flow inlet port is an edge port (S510). When the flow inlet port is not an edge port, the controller 10 may perform SDN-based flow control, such as calculating a path for a general openflow packet (S590).

플로우 인입 포트가 에지 포트인 경우, 제어기(10)는 해당 플로우의 패킷이 해석 가능한지 판단한다(S520). 패킷을 해석할 수 없는 경우, 제어기(10)는 플로우를 레거시 라우팅 컨테이너(300)로 전달할 수 있다(S550). 패킷이 레거시 네트워크에서만 사용하는 프로토콜 메시지의 경우, SDN 기반의 일반적인 제어기는 패킷을 해석을 할 수 없기 때문이다.When the flow inlet port is an edge port, the controller 10 determines whether a packet of the corresponding flow is interpretable (S520). If the packet cannot be interpreted, the controller 10 may transfer the flow to the legacy routing container 300 (S550). This is because, in the case of a protocol message used only in a legacy network, the SDN-based general controller cannot interpret the packet.

수신 패킷이 제1 레거시 네트워크에서 제2 레거시 네트워크로 전송되는 것과 같은 레거시 패킷인 경우, SDN 기반의 제어기(10)는 유입된 레거시 패킷의 라우팅 경로를 계산할 수 없다. 따라서 레거시 패킷과 같이 제어기(10)에서 경로를 계산할 수 없는 경우, 제어기(10)는 레거시 패킷을 레거시 라우팅 컨테이너(300)으로 보내야 바람직하다. 다만 레거시 패킷의 유출될 에지 포트와 레거시 패킷의 최종 처리 방법을 알면, 플로우 수정을 통해 제어기(10)에서 레거시 패킷을 처리할 수 있다. 이에 패킷을 해석할 수 있는 경우, 제어기(10)는 해당 플로우의 경로를 계산할 수 있는지 또는 엔트리 테이블에 엔트리가 있는지 등의 플로우 경로를 검색한다(S530). 경로를 검색할 수 없으면, 제어기(10)는 해당 플로우를 레거시 라우팅 컨테이너(300)으로 전달할 수 있다(S550). 경로를 검색할 수 있으면, 제어기(10)는 패킷의 출력을 지정하는 패킷-아웃 메시지를 생성하여 패킷 문의한 오픈플로우 스위치로 전송할 수 있다(S540). 이에 대한 자세한 예는 후술한다.When the received packet is a legacy packet such as that transmitted from the first legacy network to the second legacy network, the SDN-based controller 10 cannot calculate a routing path of the introduced legacy packet. Therefore, when the controller 10 cannot calculate a path like a legacy packet, the controller 10 preferably sends the legacy packet to the legacy routing container 300 . However, if the edge port to which the legacy packet is to be leaked and the final processing method of the legacy packet are known, the controller 10 can process the legacy packet through flow modification. If it is possible to interpret the packet, the controller 10 searches for a flow path such as whether it can calculate the path of the corresponding flow or whether there is an entry in the entry table (S530). If the path cannot be searched, the controller 10 may transfer the corresponding flow to the legacy routing container 300 (S550). If the path can be searched, the controller 10 may generate a packet-out message designating the output of the packet and transmit the packet to the querying OpenFlow switch (S540). A detailed example of this will be described later.

도 13은 레거시 프로토콜 메시지를 본 발명이 적용된 SDN 기반의 네트워크에서 처리하는 흐름을 도시한다. 도 13은 그 일례로 제1 에지 스위치(SW1)에서 OSPF(Open Shortest Path First) 프로토콜의 헬로 메시지를 받은 경우이다.13 shows a flow of processing a legacy protocol message in an SDN-based network to which the present invention is applied. 13 illustrates a case in which a hello message of an Open Shortest Path First (OSPF) protocol is received from the first edge switch SW1 as an example.

본 일례는 SDN 제어기(10) 및 레거시 라우팅 컨테이너(300)에 의해 오픈플로우 스위치 그룹은 도 11(a)과 같이 가상화되어 있다고 가정한다.In this example, it is assumed that the OpenFlow switch group is virtualized by the SDN controller 10 and the legacy routing container 300 as shown in FIG. 11(a).

도 13을 참조하면, 제1 레거시 라우터(R1)와 제1 에지 스위치(SW1)가 연결되면 제1 레거시 라우터(R1)은 제1 에지 스위치(SW1)에게 OSPF 프로토콜의 헬로 메시지(Hello1)를 전송할 수 있다(S410).Referring to FIG. 13 , when the first legacy router R1 and the first edge switch SW1 are connected, the first legacy router R1 transmits the OSPF protocol hello message to the first edge switch SW1. can be (S410).

제1 에지 스위치(SW1)의 테이블(291)에 수신 패킷에 대한 플로우 엔트리가 없으므로, 제1 에지 스위치(SW1)는 알지 못하는 패킷(unkown packet)을 알리는 패킷-인 메시지를 SDN 제어기(10)로 전송한다(S420). 패킷-인 메시지는 Hello1 패킷 및 인입 포트(port 11) 정보를 구비하는 플로우를 포함하는 것이 바람직하다.Since there is no flow entry for the received packet in the table 291 of the first edge switch SW1, the first edge switch SW1 sends a packet-in message indicating an unknown packet to the SDN controller 10. It transmits (S420). The packet-in message preferably includes a Hello1 packet and a flow including incoming port (port 11) information.

SDN 제어기(10)의 메시지 관리 모듈(130)은 해당 플로우에 대한 처리 규칙을 생성할 수 있는지 판단할 수 있다(S430). 판단 방법에 대한 자세한 사항은 도 15를 참조한다. 본 예에서, OSPF 프로토콜 메시지는 SDN 제어기(10)가 해석할 수 없는 패킷이므로, SDN 제어기(10)는 레거시 라우팅 컨테이너(300)로 해당 플로우를 전달할 수 있다(S440).The message management module 130 of the SDN controller 10 may determine whether a processing rule for the corresponding flow can be generated (S430). For details on the determination method, refer to FIG. 15 . In this example, since the OSPF protocol message is a packet that the SDN controller 10 cannot interpret, the SDN controller 10 may transfer the corresponding flow to the legacy routing container 300 (S440).

레거시 라우팅 컨테이너(300)의 SDN 인터페이스 모듈(345)는 SDN 제어기(10)로부터 전달 받은 Hello1 패킷을 플로우에 구비된 제1 에지 스위치(SW1)의 인입 포트(port 11)와 대응하는 가상 라우터(340)의 포트(port 11v)로 전송할 수 있다. 가상 라우터(340)가 Hello1 패킷을 수신하면, 라우팅 처리부(330)는 라우팅 테이블(335)에 기반하여 Hello1 패킷의 레거시 라우팅 정보를 생성할 수 있다(S450). 본 실시예에서 라우팅 처리부(330)은 Hello1 메시지에 대응하는 Hello2 메시지를 생성하고, Hello2 패킷이 제1 레거시 라우터(R1)로 전송되도록 출력 포트를 제11v 포트(port 11v)로 지정하는 라우팅 경로를 생성할 수 있다. Hello2 메시지는 제1 레거시 라우터(R1)인 목적지 및 기지정된 가상 라우터 식별자를 구비한다. 레거시 라우팅 정보는 Hell2 패킷, 및 제11v 포트인 출력 포트를 포함할 수 있다. 본 실시예에서 가상 라우터(340)에 Hello1 패킷이 인입되는 것으로 기술하였지만 이에 한정되지 않고, 라우팅 처리부(330)가 가상 라우터(340)의 정보를 이용하여 레거시 라우팅 정보를 생성할 수 있다.The SDN interface module 345 of the legacy routing container 300 transmits the Hello1 packet received from the SDN controller 10 to the ingress port 11 of the first edge switch SW1 provided in the flow and the corresponding virtual router 340 ) to the port (port 11v). When the virtual router 340 receives the Hello1 packet, the routing processing unit 330 may generate legacy routing information of the Hello1 packet based on the routing table 335 ( S450 ). In this embodiment, the routing processing unit 330 generates a Hello2 message corresponding to the Hello1 message, and creates a routing path that designates an output port as the 11v port (port 11v) so that the Hello2 packet is transmitted to the first legacy router R1. can create The Hello2 message has a destination, which is the first legacy router R1, and a predefined virtual router identifier. The legacy routing information may include a Hell2 packet, and an output port that is an 11v port. Although it has been described that the Hello1 packet is received into the virtual router 340 in the present embodiment, the present invention is not limited thereto, and the routing processing unit 330 may generate legacy routing information using the information of the virtual router 340 .

SDN 인터페이스 모듈(345)는 생성된 레거시 라우팅 정보를 SDN 제어기(10)의 레거시 인터페이스 모듈(145)로 전달할 수 있다(S460). SDN 인터페이스 모듈(345) 및 레거시 인터페이스 모듈(145) 중 어느 하나는 출력 포트인 제11v 포트(port 11v)를 제1 에지 스위치(SW1)의 제11 포트(port 11)로 변환할 수 있다. 또는 제11v 포트와 제11 포트의 이름을 동일하게 하여, 포트 변환을 생략할 수 있다.The SDN interface module 345 may transfer the generated legacy routing information to the legacy interface module 145 of the SDN controller 10 (S460). Any one of the SDN interface module 345 and the legacy interface module 145 may convert an 11v port (port 11v), which is an output port, into an 11th port (port 11) of the first edge switch SW1. Alternatively, port conversion may be omitted by making the 11v port and the 11th port the same name.

SDN 제어기(10)의 경로 계산 모듈(125)은 레거시 인터페이스 모듈(145)를 통해 수신한 레거시 라우팅 정보를 이용하여 Hello2 패킷이 제1 레거시 라우터(R1)의 제11 포트(port 11)로 출력되도록 하는 경로를 설정할 수 있다(S470).The path calculation module 125 of the SDN controller 10 uses the legacy routing information received through the legacy interface module 145 to output the Hello2 packet to the 11th port (port 11) of the first legacy router R1. path can be set (S470).

메시지 관리 모듈(130)은 설정된 경로와 레거시 라우팅 정보를 이용하여, Hello2 패킷이 인입 포트인 제11 포트(port 11)로 출력되도록 하는 패킷-아웃 메시지를 생성하여 제1 레거시 라우터(R1)로 전송할 수 있다(S480).The message management module 130 generates a packet-out message for outputting the Hello2 packet to the incoming port, port 11, using the set path and legacy routing information, and transmits it to the first legacy router R1. can be (S480).

본 실시예에서, 외부 레거시 라우터의 Helle 메시지에 대응하는 것으로 서술하였지만 이에 한정되지 않는다. 예를 들어, 레거시 라우팅 컨테이너(300)는 능동적으로 에지 스위치의 에지 포트로 출력되도록 하는 OSPF 헬로 메시지를 생성하여, SDN 제어기(10)로 전송할 수 있다. 이 경우 SDN 제어기(10)는 패킷-아웃 메시지로 헬로 패킷을 오픈플로우 스위치로 전송할 수 있다. 그리고, 패킷-인 메시지에 대응하지 않는 패킷-아웃 메시지라도 오픈플로우 스위치가 패킷-아웃 메시지의 지시대로 하도록 세팅함으로써 본 실시예를 구현할 수 있다.In this embodiment, although it has been described as corresponding to the Helle message of the external legacy router, it is not limited thereto. For example, the legacy routing container 300 may generate an OSPF hello message to be actively outputted to an edge port of an edge switch and transmit it to the SDN controller 10 . In this case, the SDN controller 10 may transmit the hello packet to the OpenFlow switch as a packet-out message. In addition, this embodiment can be implemented by setting the OpenFlow switch to follow the instruction of the packet-out message even for a packet-out message that does not correspond to the packet-in message.

도 14는 일반적인 레거시 패킷이 제1 에지 스위치(SW1)에서 제3 에지 스위치(SW3)로 전송되는 경우를 도시한다.14 illustrates a case in which a general legacy packet is transmitted from the first edge switch SW1 to the third edge switch SW3.

제1 에지 스위치(SW1)은 제1 레거시 라우터(R1)로부터 목적지 IP 주소가 오픈플로우 스위치 그룹에 속하지 않는 레거시 패킷 P1을 수신하는 것으로 시작한다(S610).The first edge switch SW1 starts by receiving the legacy packet P1 whose destination IP address does not belong to the OpenFlow switch group from the first legacy router R1 (S610).

제1 에지 스위치(SW1)는 패킷 P1에 대한 플로우 엔트리가 없으므로, 패킷 P1을 SDN 제어기(10)로 전송하며 플로우 처리를 문의(패킷-인 메시지)할 수 있다(S620).Since there is no flow entry for the packet P1, the first edge switch SW1 may transmit the packet P1 to the SDN controller 10 and inquire about flow processing (packet-in message) (S620).

SDN 제어기(10)의 메시지 관리 모듈(130)은 해당 플로우에 대한 SDN 제어가 가능한지 판단할 수 있다(S630). 본 예에서, 패킷 P1은 해석 가능하나 레거시 네트워크를 향하므로, SDN 제어기(10)는 패킷 P1의 경로를 생성할 수 없다. 이에 SDN 제어기(10)는 패킷 P1 및 인입 포트인 제11 포트를 경로 계산 모듈(125)를 통해 레거시 라우팅 컨테이너(300)으로 전송할 수 있다(S640).The message management module 130 of the SDN controller 10 may determine whether SDN control for the corresponding flow is possible (S630). In this example, packet P1 is interpretable but is destined for the legacy network, so the SDN controller 10 cannot create a path for packet P1. Accordingly, the SDN controller 10 may transmit the packet P1 and the 11th port, which is an incoming port, to the legacy routing container 300 through the path calculation module 125 ( S640 ).

레거시 라우팅 컨테이너(300)의 라우팅 처리부(330)는 SDN 제어기(10)로부터 전달 받은 패킷 P1을 가상 라우터(340)의 정보 및 라우팅 테이블(335)에 기초하여 레거시 라우팅 정보를 생성할 수 있다(S650). 본 예에서 패킷 P1이 가상 라우터의 제32v 포트(port 32v)로 출력되어야 한다고 가정한다. 이 경우, 레거시 라우팅 정보는 패킷 P1에 대해 제32v 포트(port 32v)인 출력 포트, 제2 레거시 라우터(R2)의 MAC 주소인 목적지 MAC 주소, 및 제32v 포트의 MAC 주소인 소스(source) MAC 주소를 포함할 수 있다. 이러한 정보는 레거시 라우터에서 출력되는 패킷의 헤더 정보이다. 예를 들어, 제1 레거시 라우터(R1)에서 가상 레거시 라우터(v-R0)를 레거시 라우터로 보고 패킷 P1을 전송하는 경우, 패킷 P1의 헤더 정보는 다음과 같다. 소스 및 목적지 IP 주소는 패킷 P1이 생성하였을 때의 헤더 정보와 동일하므로, 본 설명에서 제하기로 한다. 패킷 P1의 소스 MAC 주소는 라우터(R1)의 출력 포트의 MAC 주소이다. 패킷 P1의 목적지 MAC 주소는 가상 레거시 라우터(v-R0)의 제11v 포트(port 11v)의 MAC 주소이다. 기존의 라우터라면, 가상 레거시 라우터(v-R0)의 제32v 포트(port 32v)로 출력되는 패킷 P1'는 다음과 같은 헤더 정보를 가질 수 있다. 패킷 P1'의 소스 MAC 주소는 가상 레거시 라우터(v-R0)의 제32v 포트(port 32v)의 MAC 주소이고, 목적지 MAC 주소는 제2 레거시 라우터의 인입 포트의 MAC가 된다. 즉 레거시 라우팅시 패킷 P1의 헤더 정보의 일부가 변하게 된다.The routing processing unit 330 of the legacy routing container 300 may generate legacy routing information based on the information of the virtual router 340 and the routing table 335 for the packet P1 received from the SDN controller 10 (S650). ). In this example, it is assumed that the packet P1 should be output to the 32v port (port 32v) of the virtual router. In this case, the legacy routing information includes an output port that is the 32v port (port 32v) for the packet P1, a destination MAC address that is the MAC address of the second legacy router R2, and a source MAC address that is the MAC address of the 32v port. It may include an address. This information is header information of a packet output from the legacy router. For example, when the first legacy router R1 sees the virtual legacy router v-R0 as the legacy router and transmits the packet P1, header information of the packet P1 is as follows. Since the source and destination IP addresses are the same as header information generated by the packet P1, they will be omitted from this description. The source MAC address of the packet P1 is the MAC address of the output port of the router R1. The destination MAC address of the packet P1 is the MAC address of the 11v port (port 11v) of the virtual legacy router (v-R0). In the case of an existing router, the packet P1' output to the 32v port (port 32v) of the virtual legacy router v-R0 may have the following header information. The source MAC address of the packet P1' is the MAC address of the 32v port (port 32v) of the virtual legacy router v-R0, and the destination MAC address becomes the MAC address of the ingress port of the second legacy router. That is, a part of header information of packet P1 is changed during legacy routing.

레거시 라우팅과 대응되도록 하기 위해, 라우팅 처리부(330)는 패킷 P1의 헤더 정보를 조정한 패킷 P1'를 생성하여 레거시 라우팅 정보에 포함시킬 수 있다. 이 경우, 동일한 패킷, 또는 목적지 주소 범위가 동일한 유사한 패킷에 대해 매번 SDN 제어기(10) 또는 레거시 라우팅 컨테이너(300)에 유입 패킷을 처리해야 한다. 따라서, 패킷이 기존의 라우팅 이후의 포맷으로 변화시키는 단계는 레거시 라우팅 컨테이너(300) 보다 패킷을 외부 레거시 네트워크로 출력하는 에지 스위치(본 예에서, 제3 에지 스위치(SW3))에서 패킷 조작을 하는 것이 바람직하다. 이를 위해, 앞서 설명한 레거시 라우팅 정보는 소스 및 목적지 MAC 주소를 포함할 수 있다. SDN 제어기(10)는 이러한 라우팅 정보를 이용하여, 제3 에지 스위치에 패킷 P1'의 헤더 정보를 변경하도록 하는 플로우 변경(flow-Mod) 메시지를 전송할 수 있다.In order to correspond to the legacy routing, the routing processing unit 330 may generate a packet P1' obtained by adjusting the header information of the packet P1 and include it in the legacy routing information. In this case, it is necessary to process the incoming packet to the SDN controller 10 or the legacy routing container 300 every time for the same packet or a similar packet having the same destination address range. Therefore, the step of changing the packet to the format after the existing routing is performed in the edge switch (in this example, the third edge switch SW3) that outputs the packet to an external legacy network rather than the legacy routing container 300. it is preferable To this end, the legacy routing information described above may include source and destination MAC addresses. The SDN controller 10 may transmit a flow-Mod message for changing the header information of the packet P1' to the third edge switch by using this routing information.

SDN 인터페이스 모듈(345)는 생성된 레거시 라우팅 정보를 SDN 제어기(10)의 레거시 인터페이스 모듈(145)로 전달할 수 있다(S660). 본 단계에서 출력 포트 맵핑되는 에지 포트로 변환될 수 있다.The SDN interface module 345 may transfer the generated legacy routing information to the legacy interface module 145 of the SDN controller 10 (S660). In this step, the output port may be converted into an edge port mapped.

SDN 제어기(10)의 경로 계산 모듈(125)은 레거시 인터페이스 모듈(145)를 통해 수신한 레거시 라우팅 정보를 이용하여 제1 에지 스위치(SW1)에서 제3 에지 스위치(SW3)의 제32 포트로 출력되도록 하는 경로를 계산할 수 있다(S670).The path calculation module 125 of the SDN controller 10 outputs from the first edge switch SW1 to the 32 port of the third edge switch SW3 using the legacy routing information received through the legacy interface module 145 . It is possible to calculate the path to be possible (S670).

메시지 관리 모듈(130)은 계산된 경로를 기초로, 제1 에지 스위치(SW1)에 패킷 P1에 대한 출력 포트를 지정하는 패킷-아웃 메시지를 전송하고(S680), 해당 경로의 오픈플로우 스위치에 플로우 변경(flow-Mod) 변경 메시지를 전송할 수 있다(S690, S700). 메시지 관리 모듈(130)은 제1 에지 스위치(SW1)로 동일한 플로우에 대한 처리를 규정하도록 플로우 변경(flow-Mod) 메시지도 전송할 수 있다.The message management module 130 transmits a packet-out message specifying an output port for the packet P1 to the first edge switch SW1 based on the calculated path (S680), and flows to the openflow switch of the corresponding path (S680). A flow-Mod change message may be transmitted (S690, S700). The message management module 130 may also transmit a flow-Mod message to the first edge switch SW1 to define processing for the same flow.

패킷 P1에 대한 플로우 처리는 레거시 플로우임을 식별할 수 있는 식별자에 기초하여 이루어 지는 것이 바람직하다. 이를 위해 제1 에지 스위치(SW1)으로 전송되는 패킷-아웃 메시지에 레거시 식별자(tunnel ID)가 부가된 패킷 P1을 포함하도록 하고, 플로우 변경 메시지는 레거시 식별자(tunnel ID)가 부가되도록 하는 플로우 엔트리를 포함하도록 할 수 있다. 각 스위치의 플로우 테이블의 일례는 도 15를 참조한다. 도 15(a)는 제1 에지 스위치(SW1)의 플로우 테이블이다. 예를 들어, 도 15(a)의 테이블 0은 제2 레거시 라우터(R2)로 향하는 플로우에 레거시 식별자로 tunnel2를 플로우에 부가하고 테이블 1로 플로우가 이동되도록 한다. 레거시 식별자는 메타필드나 다른 필드에 기입될 수 있다. 테이블 1은 tunnel2를 가지는 플로우가 제14 포트(제4 스위치(SW4)와 연결된 제1 스위치(SW1)의 포트 정보)로 출력되도록 하는 플로우 엔트리를 구비한다. 도 15(b)는 제4 스위치(SW4)의 플로우 테이블의 예시이다. 도 15(b)의 테이블은 플로우 정보 중 레거시 식별자가 tunnel2인 플로우가 제3 스위치(SW3)와 연결된 제43 포트(port 43)로 출력되도록 한다. 도 15(c)는 제3 스위치(SW3)의 플로우 테이블의 예시이다. 도 15(c)의 테이블 0은 레거시 식별자가 tunnel2인 플로우의 레거시 식별자를 제거하고 해당 플로우를 테이블 1로 이동되도록 한다. 테이블 1은 해당 플로우를 제32포트로 출력하도록 한다. 이와 같이 다중 테이블을 이용하면, 경우의 수를 줄일 수 있다. 이는 신속한 검색을 가능하게 하고, 메모리 등의 자원 소모를 줄일 수 있다.It is preferable that flow processing for the packet P1 is performed based on an identifier that can identify a legacy flow. To this end, the packet-out message transmitted to the first edge switch SW1 includes the packet P1 to which the legacy identifier (tunnel ID) is added, and the flow change message includes a flow entry that allows the legacy identifier (tunnel ID) to be added. can be included. Refer to FIG. 15 for an example of a flow table of each switch. 15A is a flow table of the first edge switch SW1. For example, in Table 0 of FIG. 15A , tunnel2 is added to the flow as a legacy identifier to the flow directed to the second legacy router R2 and the flow is moved to Table 1. Legacy identifiers can be written in metafields or other fields. Table 1 includes a flow entry that allows a flow having tunnel2 to be output to a 14th port (port information of the first switch SW1 connected to the fourth switch SW4). 15B is an example of a flow table of the fourth switch SW4. The table of FIG. 15( b ) allows a flow whose legacy identifier is tunnel2 among flow information to be output to a port 43 connected to the third switch SW3 . 15( c ) is an example of a flow table of the third switch SW3 . Table 0 of FIG. 15(c) removes the legacy identifier of the flow whose legacy identifier is tunnel2 and moves the flow to Table 1. Table 1 outputs the corresponding flow to the 32nd port. If multiple tables are used in this way, the number of cases can be reduced. This enables a quick search and can reduce resource consumption such as memory.

제1 에지 스위치(SW1)는 레거시 식별자(tunnel ID)를 패킷 P1에 부가하거나(S710), 레거시 식별자(tunnel ID)가 부가된 패킷을 코어 네트워크로 전송할 수 있다(S720). 코어 네트워크는 에지 스위치(SW1, SW3)가 아닌 오픈플로우 스위치(SW2, SW4, SW5)로 구성된 네트워크를 의미한다.The first edge switch SW1 may add a legacy identifier (tunnel ID) to the packet P1 (S710) or transmit a packet to which the legacy identifier (tunnel ID) is added to the core network (S720). The core network refers to a network composed of the open flow switches SW2, SW4, and SW5 rather than the edge switches SW1 and SW3.

코어 네트워크는 해당 플로우를 제3 에지 스위치(SW3)로 전송할 수 있다(S730). 제3 에지 스위치(SW3)는 레거시 식별자를 제거하고 지정된 포트로 패킷 P1을 출력할 수 있다(S740). 이 경우, 도 15의 플로우 테이블에 도시하지는 않았지만, 제3 스위치(SW3)의 플로우 테이블은 패킷 P1의 목적지 및 소스 MAC 주소를 변경하도록 하는 플로우 엔트리를 구비하는 것이 바람직하다.The core network may transmit the corresponding flow to the third edge switch SW3 (S730). The third edge switch SW3 may remove the legacy identifier and output the packet P1 to the designated port (S740). In this case, although not shown in the flow table of FIG. 15 , the flow table of the third switch SW3 preferably includes a flow entry for changing the destination and source MAC addresses of the packet P1.

플로우 테이블은 오픈플로우의 파이프라인(pipeline)을 처리하기 위해 다중 플로우 테이블로 구성될 수 있다. 도 8을 참조하면, 플로우 테이블의 플로우 엔트리는 패킷과 매치하는 조건(대조 규칙)을 기술한 매치 필드(match fields), 우선 순위(priority), 매치되는 패킷이 있는 경우 업데이트되는 카운터(counters), 플로우 엔트리에 매치되는 패킷이 있으면 발생하는 다양한 액션들의 집합인 인스트럭션(instruction), 스위치에서 파기될 시간을 기술하는 타임아웃(timeouts), SDN 제어기에 의해 선택되어지는 오파큐(opaque) 타입으로, SDN 제어기에 의해 플로우 통계, 플로우 변경, 및 플로우 삭제를 필터하기 위해 사용될 수 있으며, 패킷 처리시 사용되지 않는 쿠키(cookie) 등의 튜플(tuple)을 포함할 수 있다. 인스트럭션(instruction)은 다른 플로우 테이블로 패킷을 전달하는 것과 같은 파이프라인 프로세싱의 변경할 수 있다. 또한 인스트럭션은 액션 셋(action set)에 액션을 더하는 액션(action)들의 집합, 또는 패킷에 바로 적용하기 위한 액션들의 리스트를 포함할 수 있다. 액션(action)은 특정 포트로 패킷을 전송하거나, TTL 필드를 감소시키는 것과 같이 패킷을 수정하는 작업을 의미한다. 액션은 플로우 엔트리와 연관된 인스트럭션 집합의 일부 또는 그룹 엔트리와 연관된 액션 버킷에 속할 수 있다. 액션 셋(action set)은 각 테이블에서 지시된 액션이 누적된 집합을 의미한다. 액션 셋은 매치되는 테이블이 없을 때 수행될 수 있다. 도 15는 플로우 엔트리에 의한 여러 패킷 처리를 예시한다.The flow table may consist of multiple flow tables to process the pipeline of OpenFlow. Referring to FIG. 8 , the flow entry of the flow table includes match fields describing a condition (matching rule) that matches a packet, a priority, and a counter that is updated when there is a matching packet. Instruction, which is a set of various actions that occur when there is a packet matching the flow entry, timeouts describing the time to be discarded at the switch, and opaque type selected by the SDN controller. SDN It may be used by the controller to filter flow statistics, flow changes, and flow deletions, and may include tuples such as cookies that are not used in packet processing. An instruction may change pipeline processing, such as forwarding a packet to another flow table. Also, the instruction may include a set of actions for adding an action to an action set, or a list of actions to be applied directly to a packet. An action refers to an operation of modifying a packet, such as transmitting a packet to a specific port or decreasing the TTL field. An action may belong to a part of an instruction set associated with a flow entry or an action bucket associated with a group entry. An action set means a set in which actions indicated in each table are accumulated. An action set can be executed when there is no matching table. Fig. 15 illustrates various packet processing by flow entry.

도 16을 참조하면, 본 발명의 일 실시예에 따른 네트워크 어플리케이션 모듈(40)은, 네트워크 디바이스의 타임스탬프 값으로 패킷의 시각을 동기화하는, 시각 동기화 모듈(410)를 더 포함할 수 있다.Referring to FIG. 16 , the network application module 40 according to an embodiment of the present invention may further include a time synchronization module 410 that synchronizes the time of the packet with the timestamp value of the network device.

네트워크 패킷 중개 장치(6)은 프로세서(801)를 더 포함하고, 스위치(20)는 프로세서(801)를 더 포함하며, 네트워크 패킷 중개 장치(6)의 프로세서(801)는 시각값을 회신하는 클럭을 포함하고, 스위치(20)의 프로세서(801)는 프로세서 내에 기준 시간으로부터 경과된 시간 파라미터를 저장하는 레지스터를 포함하며, 시각 동기화 모듈(410)은 스위치(20)가 패킷의 타임 스탬프 부여 요청을 받는 경우, 기준 시간스위치의 프로세서의 레지스터로부터 시간 파라미터의 오버플로우을 보정하여 패킷에 타임 스탬프를 저장하는 것일 수 있다.The network packet mediation device 6 further includes a processor 801, the switch 20 further includes a processor 801, and the processor 801 of the network packet mediation device 6 returns a clock time value. The processor 801 of the switch 20 includes a register storing an elapsed time parameter from the reference time in the processor, and the time synchronization module 410 allows the switch 20 to send a request to time stamp the packet. When receiving, it may be to store the time stamp in the packet by correcting the overflow of the time parameter from the processor's register of the reference time switch.

도 16을 참조하면, 본 발명의 일 실시예에 따른 네트워크 어플리케이션 모듈(40)은, QoS(Quality of Service)를 제어하는, 정책 관리자 모듈(420)을 더 포함할 수 있다. 정책 관리자 모듈(420)은 패킷의 정보에 따라 패킷의 흐름의 처리 방식을 저장하고 제어하는 것일 수 있다.Referring to FIG. 16 , the network application module 40 according to an embodiment of the present invention may further include a policy manager module 420 for controlling Quality of Service (QoS). The policy manager module 420 may store and control a packet flow processing method according to packet information.

도 16을 참조하면, 본 발명의 일 실시예에 따른 네트워크 어플리케이션 모듈(40)은, 플로우 패킷의 GTP 헤더 또는 VxLAN 헤더를 추출, 수정, 제거 또는 삽입하는, 심층 패킷 매칭 모듈(430)을 더 포함할 수 있다.Referring to FIG. 16 , the network application module 40 according to an embodiment of the present invention further includes a deep packet matching module 430 for extracting, modifying, removing or inserting a GTP header or a VxLAN header of a flow packet. can do.

도 16을 참조하면, 본 발명의 일 실시예에 따른 네트워크 어플리케이션 모듈(40)은, 플로우 패킷의 GTP-C 패킷과 GTP-U 패킷이 동일한 유출 포트로 전달될 수 있도록 연동하는, GTP 상관 관계 모듈(440)을 더 포함할 수 있다. GTP 상관 관계 모듈(440)은 GTP-U 트래픽을 분류하며, 구체적으로 GTP-U 패킷의 Src IP (상향 링크의 eNodeB IP 및 하향 링크의 SGW IP)로 GTP-U TEID를 식별하여 하나의 IMSI에 맵핑하는 것일 수 있다. 또한, GTP 상관 관계 모듈(440)은 패킷의 eNB IP 및 S1-U SGW GTP-U 인터페이스 터널 ID로 상향 링크 GTP-U 트래픽을 식별하고 S1-U eNodeB GTP-U 인터페이스 터널 ID를 가진 SGW IP로 하향 링크 트래픽을 식별하여, 둘 다 하나의 IMSI에 맵핑시킬 수 있다.Referring to FIG. 16 , the network application module 40 according to an embodiment of the present invention interworks so that a GTP-C packet and a GTP-U packet of a flow packet can be delivered to the same outgoing port, a GTP correlation module 440 may be further included. The GTP correlation module 440 classifies the GTP-U traffic, and specifically identifies the GTP-U TEID as the Src IP of the GTP-U packet (eNodeB IP of uplink and SGW IP of downlink) to one IMSI. It could be mapping. In addition, the GTP correlation module 440 identifies the uplink GTP-U traffic with the eNB IP and S1-U SGW GTP-U interface tunnel ID of the packet, and identifies the uplink GTP-U traffic with the SGW IP with the S1-U eNodeB GTP-U interface tunnel ID. By identifying downlink traffic, both can be mapped to one IMSI.

도 16을 참조하면, 본 발명의 일 실시예에 따른 네트워크 어플리케이션 모듈(40)은, 하나 이상의 가상 네트워크를 생성, 변경 및 처리 작업을 수행하는 네트워크 슬라이싱 모듈(470)을 더 포함할 수 있다.Referring to FIG. 16 , the network application module 40 according to an embodiment of the present invention may further include a network slicing module 470 that creates, changes, and processes one or more virtual networks.

상기 네트워크 슬라이싱 모듈(470)은, 상기 스위치 중 어느 하나 또는 상기 스위치군 중 어느 하나에 대하여, 상기 레거시 라우팅 컨테이너를 하나 이상 생성하여, 상기 스위치의 포트 중 어느 하나의 포트를 가상 포트로 할당하고, 가상랜을 할당 및 변환된 가상랜을 할당하는 것일 수 있다.The network slicing module 470 creates one or more legacy routing containers for any one of the switches or any one of the switch group, and allocates any one of the ports of the switch as a virtual port, Allocating a virtual LAN and allocating a converted virtual LAN may be performed.

도 16을 참조하면, 본 발명의 일 실시예에 따른 네트워크 어플리케이션 모듈(40)은, 맵핑된 네트워크 디바이스의 정보를 변경하는 프로시져를 해석하는 API 파서 모듈(450)을 더 포함할 수 있다.Referring to FIG. 16 , the network application module 40 according to an embodiment of the present invention may further include an API parser module 450 for interpreting a procedure for changing information of a mapped network device.

도 16을 참조하면, 본 발명의 일 실시예에 따른 네트워크 어플리케이션 모듈(40)은, 맵핑된 네트워크 디바이스의 정보를 변경하는 프로시져에 따른 작업을 수행하는 API 서버 모듈(460)을 더 포함할 수 있다.Referring to FIG. 16 , the network application module 40 according to an embodiment of the present invention may further include an API server module 460 that performs an operation according to a procedure for changing information of a mapped network device. .

도 16을 참조하면, 본 발명의 일 실시예에 따른 네트워크 어플리케이션 모듈(40)은, 하나 이상의 가상 네트워크를 생성, 변경 및 처리 작업을 수행하는 네트워크 슬라이싱 모듈(470)을 더 포함할 수 있다.Referring to FIG. 16 , the network application module 40 according to an embodiment of the present invention may further include a network slicing module 470 that creates, changes, and processes one or more virtual networks.

도 16을 참조하면, 본 발명의 일 실시예에 따른 네트워크 어플리케이션 모듈(40)은, 스위치(20)의 포트(205)를 제어하는 포트 관리자 모듈(480)을 더 포함할 수 있다.Referring to FIG. 16 , the network application module 40 according to an embodiment of the present invention may further include a port manager module 480 for controlling the port 205 of the switch 20 .

포트 관리자 모듈(480)는 스위치의 포트(205)를 인입(ingress), 유출(egress) 및 전달(transit) 상태로 설정하고, 포트를 단일 또는 군(group)으로 설정하는 것일 수 있다.The port manager module 480 may be configured to set the port 205 of the switch to ingress, egress, and transit states, and set ports as a single or a group.

도 17을 참조하면, 본 발명의 본 발명의 일 실시예에 따른 네트워크 패킷 중개 장치(6)의 제어부(800)는 프로세서(801), 메모리(803), 영구 저장 장치(805), 송수신기(802), 버스 시스템(804) 및 I/O 유닛(806)를 포함할 수 있 다. 본 예시적인 실시예에 따르면, 프로세서(801)는 마이크로 프로세서, 마이크로제어기, 복합 명령어 세트 컴퓨팅 마이크로프로세서, 축소된 명령어 세트 컴퓨팅 마이크로프로세서, 매우 긴 명령어 워드 마이크로프로세서, 명시적 병렬 명령어 컴퓨팅 마이크로프로세서, 그래픽 프로세서, 디지털 신호 프로세서, 집적 회로, 주문형 집적 회로, 또는 임의의 다른 타입의 유사한 및/또는 적절한 처리 회로와 같지만, 이에 한정되지 않는 임의의 타입의 물리적 계산 회로 또는 하드웨어일 수 있다. 프로세서(801)는 또한 범용 또는 프로그램 가능 로직 디바이스 또는 어레이, 주문형 집적 회로, 단일 칩 컴퓨터, 스마트 카드 등과 같은 내장형 제어기를 포함할 수 있다.Referring to FIG. 17 , the control unit 800 of the network packet intermediary device 6 according to an embodiment of the present invention includes a processor 801 , a memory 803 , a persistent storage device 805 , and a transceiver 802 . ), a bus system 804 and an I/O unit 806 . In accordance with this exemplary embodiment, processor 801 is a microprocessor, microcontroller, complex instruction set computing microprocessor, reduced instruction set computing microprocessor, very long instruction word microprocessor, explicit parallel instruction computing microprocessor, graphics It may be any type of physical computing circuitry or hardware, such as, but not limited to, a processor, digital signal processor, integrated circuit, application specific integrated circuit, or any other type of similar and/or suitable processing circuitry. Processor 801 may also include an embedded controller, such as a general purpose or programmable logic device or array, application specific integrated circuit, single chip computer, smart card, or the like.

송수신기(802)는 다른 시스템 또는 셀룰러 네트워크에서의 다른 엔티티와의 통신을 지원한다. 예를 들어, 송수신기(802)는 네트워크 인터페이스 카드 또는 네트워크를 통해 통신을 용이하게 하는 유선/무선 송수신기를 포함할 수 있다. 통신 유닛(802)은 임의의 적절한 물리적 또는 통신 링크를 통해 통신을 지원할 수 있다.The transceiver 802 supports communication with other systems or other entities in the cellular network. For example, transceiver 802 may include a network interface card or a wired/wireless transceiver that facilitates communication over a network. Communication unit 802 may support communication over any suitable physical or communication link.

메모리(803)는 휘발성 메모리 및 비휘발성 메모리일 수 있다. 다양한 컴퓨터 판독 가능 저장 매체는 메모리(803)의 메모리 요소에 저장되고 메모리(803)의 메모리 요소로부터 액세스될 수 있다. 메모리 요소는 ROM, 랜덤 액세스 메모리(Random Access Memory; RAM), EPROM(Erasable Programmable Read Only Memory), EEPROM((Electrically EPROM), 하드 드라이브, 메모리 카드를 취급하기 위한 착탈식 매체 드라이브, 메모리 스틱, 및 임의의 다른 유사한 및/또는 적절한 타입의 메모리 저장 디바이스 및/또는 저장 매체와 같이 데이터 및 기계 판독 가능 명령어를 저장하기 위한 임의의 수의 적절한 메모리 디바이스를 포함할 수 있다.The memory 803 may be a volatile memory or a non-volatile memory. Various computer-readable storage media can be stored in and accessed from memory elements of memory 803 . Memory elements include ROM, random access memory (RAM), erasable programmable read only memory (EPROM), electrically EPROM (EEPROM), hard drives, removable media drives for handling memory cards, memory sticks, and any may include any number of suitable memory devices for storing data and machine readable instructions, such as other similar and/or suitable types of memory storage devices and/or storage media.

영구 저장 장치(persistent storage)(805)는 ROM(read only memory), 하드 드라이브, 플래시 메모리 또는 광학 디스크와 같은 데이터의 장기 저장(longer-term storage)을 지원하는 하나 이상의 구성 요소 또는 디바이스를 포함할 수 있다.Persistent storage 805 may include one or more components or devices that support long-term storage of data, such as read only memory (ROM), hard drives, flash memory, or optical disks. can

I/O 유닛(806)은 데이터의 입력 및 출력을 허용한다. 예를 들어, I/O 유닛(806)은 키보드, 마우스, 키패드, 터치 스크린, 또는 다른 적절한 입력 디바이스를 통해 사용자 입력을 위한 연결(connection)을 제공할 수 있다. I/O 유닛(806)은 또한 출력을 디스플레이, 프린터 또는 다른 적절한 출력 디바이스에 송신할 수 있다.I/O unit 806 allows input and output of data. For example, I/O unit 806 may provide a connection for user input via a keyboard, mouse, keypad, touch screen, or other suitable input device. I/O unit 806 may also send output to a display, printer, or other suitable output device.

도 18은 본 발명의 일 실시예에 따른 패킷의 타임 스탬프 부여 방법의 일 실시예를 도시,18 shows an embodiment of a method for time stamping a packet according to an embodiment of the present invention;

도 18을 참조하면, 본 발명의 일 실시예에 따른, 패킷의 타임 스탬프 부여 방법은, Referring to FIG. 18 , a method for giving a time stamp of a packet according to an embodiment of the present invention includes:

네트워크 패킷 중개 장치(6)의 프로세서(801)의 클럭을 스위치(20)가 취득하는 단계(S1010);Step (S1010) the switch 20 acquires the clock of the processor 801 of the network packet intermediary device 6;

스위치(20)의 기준 시간 파라미터 Tb를 취득한 클럭으로 갱신하는 단계(S1020); updating the reference time parameter Tb of the switch 20 with the acquired clock (S1020);

스위치(20)가 패킷의 타임 스탬프 부여 요청을 받는 단계(S1030);Step (S1030) of the switch 20 receiving a request to give a time stamp of the packet;

*시각 동기화 모듈(410)이 스위치(20)의 전 경과시간 파라미터 Tp를 현 경과시간 파라미터 Tc로 갱신하는 단계(S1040);* The step of the time synchronization module 410 updating the previous elapsed time parameter Tp of the switch 20 to the current elapsed time parameter Tc (S1040);

시각 동기화 모듈(410)이 스위치(20)로부터 파라미터 Tb 기준 경과한 시간값을 파라미터 Tc으로 취득하는 단계(S1050);Step (S1050) of the time synchronization module 410 acquiring the elapsed time value based on the parameter Tb from the switch 20 as the parameter Tc;

시각 동기화 모듈(410)이 파라미터 Tc와 파라미터 Tp의 크기를 비교하는 단계(S1060);Comparing, by the time synchronization module 410, the magnitudes of the parameter Tc and the parameter Tp (S1060);

시각 동기화 모듈(410)이 파라미터 Tc가 파라미터 Tp보다 작은 경우, 파라미터 Tb를 파라미터 Tp 및 보정값의 합만큼 가산하여 갱신하는 단계(S1070);When the parameter Tc is smaller than the parameter Tp, the time synchronization module 410 adds and updates the parameter Tb by the sum of the parameter Tp and the correction value (S1070);

시각 동기화 모듈(410)이 파라미터 Tc가 파라미터 Tp보다 크거나 같은 경우, 파라미터 Tb를 파라미터 Tp만큼 가산하여 갱신하는 단계(S1080); 및When the parameter Tc is greater than or equal to the parameter Tp, the time synchronization module 410 adds and updates the parameter Tb by the parameter Tp (S1080); and

시각 동기화 모듈(410)이 스위치(20)가 파라미터 Tb를 패킷에 타임 스탬프로 저장하는 단계(S1090)를 포함할 수 있다.The time synchronization module 410 may include a step ( S1090 ) of the switch 20 storing the parameter Tb in the packet as a time stamp.

본 발명의 일 실시예에 따른 패킷의 타임 스탬프 부여 방법에 있어서, 상기패킷의 타임 스탬프 부여 방법은 IEEE 1588 PTP(Precision Time Protocol) 동기화 프로토콜을 이용하는 것일 수 있다.In the method for assigning a time stamp to a packet according to an embodiment of the present invention, the method for assigning a time stamp to the packet may be to use an IEEE 1588 Precision Time Protocol (PTP) synchronization protocol.

본 발명의 일 실시예에 따른 패킷의 타임 스탬프 부여 방법에 있어서, 파라미터 Tp 및 파라미터 Tc는 스위치(20)의 프로세서(800)의 레지스터에 저장되는 것일 수 있다.In the method for giving a time stamp of a packet according to an embodiment of the present invention, the parameter Tp and the parameter Tc may be stored in a register of the processor 800 of the switch 20 .

본 발명의 일 실시예에 따른 패킷의 타임 스탬프 부여 방법에 있어서, 상기 레지스터의 저장 단위는 64비트 미만일 수 있으며, 구체적으로, 48비트 또는 32비트일 수 있다.In the method for giving a time stamp of a packet according to an embodiment of the present invention, the storage unit of the register may be less than 64 bits, and specifically, may be 48 bits or 32 bits.

본 발명의 일 실시예에 따른 패킷의 타임 스탬프 부여 방법에 있어서, 패킷에 타임 스탬프로 저장하는 단계 (S1090)의 타임 스탬프 저장 단위는 64비트일 수 있다. 이로 인하여, 패킷에 나노초(nano sec) 단위 타임 스탬프 부여가 가능하다.In the method for assigning a time stamp to a packet according to an embodiment of the present invention, the time stamp storage unit of storing the packet as a time stamp ( S1090 ) may be 64 bits. Due to this, it is possible to give a time stamp in nanoseconds to a packet.

본 발명의 일 실시예에 따른 패킷의 타임 스탬프 부여 방법에 있어서, 갱신하는 단계(S1070)의 보정값은 상기 레지스터의 저장 단위의 최대값일 수 있다. 예를 들어, 저장 단위가 48비트인 경우, 2^48-1, 즉, 281,474,976,710,655일 수 있으며, 저장 단위가 32비트인 경우, 2^32-1, 즉, 4,294,967,294일 수 있다. 상기 보정값은 스위치의 프로세서가 통상적으로 레지스터의 저장 단위가 64비트 보다 작은 경우, 경과시간 파라미터의 오버플로우가 발생하더라도 64 비트의 나노초(nano sec) 단위의 타임 스탬프의 부여가 가능하도록 한다.In the method for assigning a time stamp to a packet according to an embodiment of the present invention, the correction value in the updating step S1070 may be the maximum value of the storage unit of the register. For example, when the storage unit is 48 bits, it may be 2^48-1, that is, 281,474,976,710,655, and when the storage unit is 32 bits, it may be 2^32-1, that is, 4,294,967,294. The correction value enables the processor of the switch to provide a 64-bit time stamp in nanosecond units even if an overflow of the elapsed time parameter occurs when the register storage unit is generally smaller than 64 bits.

본 발명의 일 실시예에 따른 패킷의 타임 스탬프 부여 방법에 있어서, 파라미터 Tp 및 파라미터 Tc는 스위치(20)의 프로세서(800)의 레지스터에 저장되는 것일 수 있다.In the method for giving a time stamp of a packet according to an embodiment of the present invention, the parameter Tp and the parameter Tc may be stored in a register of the processor 800 of the switch 20 .

도 19를 참조하면, 타임 스탬프로 저장하는 단계(S1090)에서, ERSPAN 타입의 패킷인 경우, ERSPAN 헤더의 33번째 비트부터 32비트를 타임 스탬프의 LSB 32 비트 타임 스탬프로 저장하는 것이고, Platform specific subheader의 33번째 비트부터 32비트를 타임 스탬프의 MSB 32 비트 타임 스탬프로 저장하는 것일 수 있다. 이러한 저장 방식은 기존 시스템에 사용되던 표준이므로 호환성이 좋은 장점이 있으며, 패킷 분석 장비에서 별도의 수정이 요구되지 않는다.Referring to FIG. 19 , in the step of storing as a timestamp ( S1090 ), in the case of an ERSPAN type packet, the 33 th bit to 32 bits of the ERSPAN header are stored as the LSB 32 bit timestamp of the timestamp, Platform specific subheader It may be to store the 32 bits from the 33rd bit of the MSB as a 32-bit timestamp of the timestamp. Since this storage method is a standard used in the existing system, it has the advantage of good compatibility and does not require a separate modification in the packet analysis equipment.

도 20을 참조하면, 타임 스탬프로 저장하는 단계(S1090)에서, INT(In-band Network Telemetry) 타입의 패킷인 경우, INT 헤더의 첫번째 비트부터 32비트를 타임 스탬프의 LSB 32 비트 타임 스탬프로 저장하는 것이고, 33번째 비트부터 32비트를 타임 스탬프의 LSB 32 비트 타임 스탬프로 저장하는 것일 수 있다. 이러한 저장 방식은 패킷 분석 장비에서 패킷 사이즈가 작아 처리 시 오버헤드 용량을 저감할 수 있다.Referring to FIG. 20 , in the step of storing as a timestamp ( S1090 ), in the case of an In-band Network Telemetry (INT) type packet, 32 bits from the first bit of the INT header are stored as an LSB 32-bit timestamp of the timestamp. and storing 32 bits from the 33rd bit as the LSB 32-bit timestamp of the timestamp. This storage method can reduce the overhead capacity during processing because the packet size is small in the packet analysis equipment.

도 21을 참조하면, 본 발명의 일 실시예에 따른 네트워크 패킷 중개 장치(6)는 4G LTE 또는 5G 셀룰러 네트워크 아키텍처의 각 연결단계에서 직접 또는 TAP(Test Application Protocol)을 통하여, 패킷을 전달받을 수 있다. 무선 셀룰러 네트워크 아키텍처는 UE(801), eNB(802), MME(Mobility Management Entity, 803), SGW(Serving Gateway, 805), PGW(Packet data network Gateway, 806) 및 PDN(Packet Data Network, 5)를 포함할 수 있다.Referring to FIG. 21 , the network packet intermediary device 6 according to an embodiment of the present invention may receive packets directly or through TAP (Test Application Protocol) in each connection step of the 4G LTE or 5G cellular network architecture. have. The wireless cellular network architecture includes a UE 801, an eNB 802, a Mobility Management Entity (MME, 803), a Serving Gateway (805), a Packet Data Network Gateway (PGW), and a Packet Data Network (PDN, 5). may include.

무선 셀룰러 네트워크 아키텍처에서 eNB(802)는 UE(801)와 X2 또는 Uu 인터페이스를 통해 통신할 수 있다. 또한, eNB(802)는 MME(803)와 S1AP 제어 또는 S1-MME 인터페이스를 통해 통신할 수 있다. Uu 인터페이스는 NAS(이동성(mobility) 관리, 베어러 제어), 무선 자원 제어(Radio Resource Control, RRC) 등을 위해 사용될 수 있다. S1AP 제어 인터페이스를 통해서는, EPS 베어러 설정 시 초기 단말 컨텍스트(UE context)의 전달, 이후의 이동성, 페이징(paging) 및 UE 컨텍스트 해제 등을 위해 사용될 수 있다.In a wireless cellular network architecture, the eNB 802 may communicate with the UE 801 via an X2 or Uu interface. In addition, the eNB 802 may communicate with the MME 803 through an S1AP control or S1-MME interface. The Uu interface may be used for NAS (mobility management, bearer control), radio resource control (RRC), and the like. Through the S1AP control interface, it may be used for delivery of an initial terminal context (UE context) when establishing an EPS bearer, subsequent mobility, paging, and release of the UE context.

GTP-U 인터페이스는 S1-U, S5, X2 인터페이스 상에서 사용자 트래픽을 전송하기 위해 사용될 수 있다. GTP-C 제어 인터페이스는 GTP 터널을 생성, 유지 및 삭제하기 위한 제어 메시지의 전송을 위해 사용될 수 있다.The GTP-U interface can be used to carry user traffic on the S1-U, S5, and X2 interfaces. The GTP-C control interface may be used for transmission of control messages for creating, maintaining and deleting GTP tunnels.

SGW(805)는 PGW(806)와 GTP-U 인터페이스/GTP-C 제어 인터페이스를 통해 통신하며, PGW(806)는 PDN(5)과 IP 인터페이스를 통해 통신할 수 있다.The SGW 805 communicates with the PGW 806 through a GTP-U interface/GTP-C control interface, and the PGW 806 may communicate with the PDN 5 through an IP interface.

도 22는 본 발명의 일 실시예에 따른 무선 셀룰러 네트워크에서 제어 평면에서의 IP 주소 할당 및 사용자 평면에서의 TEID 할당을 지원하기 위한 호 흐름을 도시한다.22 illustrates a call flow for supporting IP address assignment in a control plane and TEID assignment in a user plane in a wireless cellular network according to an embodiment of the present invention.

단계(S2101)에서, UE(801)는 초기 접속 요청을 하기 위해 PLMN(Public Land Mobile Network) 및 셀 탐색 과정을 거쳐 셀을 선택한다. 그리고, 선택된 셀과의 무선 링크 동기를 맞추기 위해, 기지국(802)과 RRC 연결 과정을 수행한다. RRC 연결 설정이 완료되면, UE(801)는 RRC Connection Setup Complete 메시지를 기지국(802)으로 전송한다. 이후, UE(801)는 접속 요청 메시지(Attach Request 메시지)를 MME(803)로 전송하기 위해, RRC Connection Setup Complete 메시지에 Attach Request 메시지를 포함시켜 eNodeB(802)에 전송한다. In step S2101, the UE 801 selects a cell through a Public Land Mobile Network (PLMN) and a cell search process to make an initial access request. Then, in order to synchronize the radio link with the selected cell, an RRC connection process with the base station 802 is performed. When the RRC connection setup is completed, the UE 801 transmits an RRC Connection Setup Complete message to the base station 802 . Thereafter, the UE 801 includes the Attach Request message in the RRC Connection Setup Complete message and transmits it to the eNodeB 802 in order to transmit an attachment request message (Attach Request message) to the MME 803 .

단계(S2102)에서, eNodeB(802)는 Attach 절차의 일부로서 PDN 연결을 위한 요청을 MME(803)에 송신한다. 기지국(802)은 MME(803)와의 S1 시그널링 연결을 위해, UE(801)가 접속된 셀의 셀 ID 및 트래킹 영역(Tracking Area) 정보가 포함된 Initial UE 메시지를 MME(803)로 전송한다. 여기서, 기지국(802)은 UE(101)로부터 수신된 Attach Request 메시지를 MME(803)로 전달하기 위해, Initial UE 메시지 내에 Attach Request 메시지를 포함시켜 전송한다. 이와 같이, 기지국(802)이 MME(803)로 Initial UE 메시지를 전송함에 따라, 기지국(802)과 MME(803) 사이의 S1 시그널링 연결이 수립된다.In step S2102 , the eNodeB 802 transmits a request for PDN connection to the MME 803 as part of the Attach procedure. The base station 802 transmits an Initial UE message including the cell ID and tracking area information of the cell to which the UE 801 is connected to the MME 803 for S1 signaling connection with the MME 803 . Here, the base station 802 transmits the Attach Request message received from the UE 101 to the MME 803 by including the Attach Request message in the Initial UE message. In this way, as the base station 802 transmits the Initial UE message to the MME 803, the S1 signaling connection between the base station 802 and the MME 803 is established.

단계(S2103)에서, MME(803)는 PGW-C IP 주소와 함께 Create Session Request를 서빙 게이트웨이(805)의 제어 평면 기능부(serving gateway control plane function; SGW-C)에 송신함으로써 Default Bearer 생성을 요청한다. Create Session Request에는 MME(803)의 GTP-C TEID(901)가 포함될 수 있다. SGW(805)의 제어 평면 기능부는 예를 들어 UE의 위치, 사용자 데이터 송신을 위한 최적 경로와 같은 기준에 기초하여 복수의 사용자 평면 기능부(serving gateway user plane function, SGW-U) 중 하나의 SGW-U를 선택한다. SGW-C는 SGW-U 주소의 명시된 풀(designated pool)로부터 IP 주소를 할당한다. 일부 실시예에서, 이러한 IP 주소는 또한 오퍼레이터의 네트워크 내의 다른 수단에 의해, 즉 오퍼레이터 정의 정책 또는 프로비저닝(provisioning)에 기초하여 획득될 수 있다. IP 주소가 할당되면, SGW-C(253)는 Allocate Resource Request 메시지를 송신함으로써 TEID를 할당하도록 서빙 게이트웨이 사용자 평면 기능부(SGW-U)에 요청한다. SGW-C로부터 자원 할당 요청을 수신하면, SGW-U는 GTP 사용자 평면 및 제어 평면에 대한 로컬 풀로부터 PGW(다운링크 송신을 위한 SGW-U TEID) 및 또한 eNB(업링크 송신을 위한 SGW-U TEID)로 TEID를 할당한다. SGW-U는 또한 네트워크 오퍼레이터의 정책에 기초하여 이러한 정보를 획득할 수 있다. 업링크 및 다운링크 송신을 위해 할당된 TEID는 Allocate Resource Ack에서 SGW-C로 반환(return)된다.In step S2103, the MME 803 sends a Create Session Request with the PGW-C IP address to the serving gateway control plane function (SGW-C) of the serving gateway 805 to create a Default Bearer. request. The Create Session Request may include the GTP-C TEID 901 of the MME 803 . The control plane function of the SGW 805 may be configured as an SGW of one of a plurality of serving gateway user plane functions (SGW-U) based on criteria such as, for example, the location of the UE, an optimal path for user data transmission. Select -U. The SGW-C allocates an IP address from a designated pool of SGW-U addresses. In some embodiments, this IP address may also be obtained by other means within the operator's network, ie based on operator defined policies or provisioning. When an IP address is assigned, the SGW-C 253 requests the Serving Gateway User Plane Function (SGW-U) to allocate a TEID by sending an Allocate Resource Request message. Upon receiving the resource allocation request from SGW-C, SGW-U sends PGW (SGW-U TEID for downlink transmission) and also eNB (SGW-U for uplink transmission) from local pools for GTP user plane and control plane. TEID) to assign a TEID. The SGW-U may also obtain this information based on the network operator's policy. The TEID allocated for uplink and downlink transmission is returned to the SGW-C in the Allocate Resource Ack.

단계(S2104)에서, SGW-C는 다운링크 송신을 위한 SGW-U IP 주소, SGW GTP-C TEID(902) 및 SGW GTP-U TEID(902)를 포함하는 Create Session Request를 SGW-U의 새롭게 할당된 IP 주소 및 PGW-U(256)를 향한 GTP 연결을 위한 TEID와 함께 PGW(806)의 제어 평면 기능부(PGW-C)로 송신한다. PGW-C는 IP 주소를 PGW-U 주소의 명시된 풀에 할당한다. 이러한 주소는 또한 오퍼레이터의 네트워크의 다른 수단에 의해, 즉 오퍼레이터 정의된 정책 또는 프로비저닝에 기초하여 획득될 수 있다. IP 주소가 할당되면, PGW-C는 다운링크 송신을 위한 SGW-U IP 주소 및 SGW-U TEID를 포함하는 Allocate Resource Request 메시지를 송신함으로써 TEID를 할당하도록 PGW-U에 요청한다. PGW-C로부터 자원 할당 요청을 수신하면, PGW-U는 로컬 풀로부터 TEID를 할당한다. PGW-U는 또한 네트워크 오퍼레이터의 정책에 기초하여 이러한 정보를 획득할 수 있다. 할당된 PGW-U TEID는 Allocate Resource Ack 메시지에서 PGW-C(255)로 반환된다.In step S2104, the SGW-C sends a Create Session Request including the SGW-U IP address for downlink transmission, the SGW GTP-C TEID 902 and the SGW GTP-U TEID 902 to the SGW-U. It sends to the control plane function (PGW-C) of the PGW 806 along with the assigned IP address and the TEID for the GTP connection towards the PGW-U 256. The PGW-C assigns an IP address to the specified pool of PGW-U addresses. This address may also be obtained by other means of the operator's network, ie based on operator defined policies or provisioning. When the IP address is allocated, the PGW-C requests the PGW-U to allocate a TEID by sending an Allocate Resource Request message containing the SGW-U IP address and the SGW-U TEID for downlink transmission. Upon receiving the resource allocation request from the PGW-C, the PGW-U allocates a TEID from the local pool. The PGW-U may also obtain this information based on the network operator's policy. The allocated PGW-U TEID is returned to the PGW-C 255 in the Allocate Resource Ack message.

단계(S2105)에서, 새롭게 할당된 TEID와 함께 PGW-U(256)로부터 응답을 수신하면, PGW-C(255)는 PCRF(Policy and Charging Rule Function)와 함께IP CAN(Internet Protocol connectivity access network) 세션 확립/수정(Session Establishment/Modification) 절차를 개시할 수 있다.In step S2105, upon receiving a response from the PGW-U 256 together with the newly allocated TEID, the PGW-C 255 is an IP CAN (Internet Protocol connectivity access network) with a PCRF (Policy and Charging Rule Function). A Session Establishment/Modification procedure may be initiated.

단계(S2106)에서, 응답은 PGW-U IP 주소, PGW GTP-C TEID(903) 및 PGW GTP-U TEID(903)를 포함하는 Create Session Response 메시지에서의 PGW-U TEID 및 또한 PGW-U IP 주소와 함께 SGW-C로 송신된다.In step S2106, the response is PGW-U TEID and also PGW-U IP in the Create Session Response message including PGW-U IP address, PGW GTP-C TEID 903 and PGW GTP-U TEID 903 It is sent to SGW-C with the address.

그 다음, 단계(S2107)에서, SGW-C(253)는 Modify Request 메시지를 송신함으로써 수신된 PGW-U TEID 및 PGW-U IP 주소를 SGW-U(254)로 전달한다. SGW-U(254)는 요청을 확인 응답(acknowledge)한다. Modify Request의 응답을 수신한 후, SGW-U IP 주소, SGW GTP-C TEID(904) 및 SGW GTP-U TEID(904)와 함께 Create Session Response 메시지가 MME(803)에 송신된다.Then, in step S2107, the SGW-C 253 transfers the received PGW-U TEID and PGW-U IP address to the SGW-U 254 by sending a Modify Request message. The SGW-U 254 acknowledges the request. After receiving the response of the Modify Request, a Create Session Response message is sent to the MME 803 together with the SGW-U IP address, SGW GTP-C TEID 904 and SGW GTP-U TEID 904 .

그 다음, 단계(S2108)에서, MME(803)는 eNB(802)를 통해 Attach Accept 메시지를 UE(801)에 송신한다. Attach Accept 메시지를 피기배킹(piggybacking)하는 Initial Context Setup 메시지는 SGW-U IP 주소 및 SGW-U TEID를 포함한다. MME(803)로부터 Initial Context Setup Request 메시지를 수신한 기지국(802)은, 무선 구간에서 UE(801)와의 안전한 통신을 위해 AS Security Setup 절차를 수행한다. AS Security Setup 절차를 통해 RRC 메시지는 무결성 보호 및 암호화되고, UE(801)의 사용자 트래픽도 암호화되어 전달될 수 있게 된다.Next, in step S2108 , the MME 803 transmits an Attach Accept message to the UE 801 via the eNB 802 . The Initial Context Setup message that piggybacks the Attach Accept message includes the SGW-U IP address and the SGW-U TEID. The base station 802 receiving the Initial Context Setup Request message from the MME 803 performs an AS Security Setup procedure for secure communication with the UE 801 in the radio section. Through the AS Security Setup procedure, the RRC message is integrity protected and encrypted, and user traffic of the UE 801 is also encrypted and transmitted.

그 다음, 단계(S2109)에서, AS Security Setup 절차가 완료되면, 기지국(802)은 무선 구간 베어러 설정을 위해 RRC Connection Reconfiguration 메시지를 UE(801)로 전송한다.Next, in step S2109, when the AS Security Setup procedure is completed, the base station 802 transmits an RRC Connection Reconfiguration message to the UE 801 for radio interval bearer establishment.

그 다음, 단계(S2110)에서, 이를 수신한 UE(801)는 DRB 베어러 설정을 완료한다. 이에 따라, UE(801)로부터 P-GW(806)까지의 상향링크 EPS 베어러 설정이 완료되며, UE(801)는 RRC Connection Reconfiguration 메시지를 기지국(802)으로 전송한다.Then, in step S2110, the UE 801 receiving this completes the DRB bearer establishment. Accordingly, the uplink EPS bearer setup from the UE 801 to the P-GW 806 is completed, and the UE 801 transmits an RRC Connection Reconfiguration message to the base station 802 .

그 다음, 단계(S2111)에서, AS Security Setup 절차 및 DRB 설정 절차가 완료되면, 기지국(802)은 하향링크 S1-MEC 베어러의 구성을 위해 S1 eNB TEID를 할당한다. 그리고, 이를 Initial Context Setup Response 메시지에 포함시켜 MME(803)로 전송한다.Next, in step S2111, when the AS Security Setup procedure and the DRB setup procedure are completed, the base station 802 allocates an S1 eNB TEID for the configuration of the downlink S1-MEC bearer. Then, it is included in the Initial Context Setup Response message and transmitted to the MME (803).

단계(S2112)에서, UE(801)는 Attach Complete 메시지를 MME(803)로 전달하기 위해, UL Information Transfer 메시지에 Attach Complete 메시지를 포함시켜 기지국(802)로 전송한다.In step S2112, the UE 801 transmits the Attach Complete message to the base station 802 by including the Attach Complete message in the UL Information Transfer message to deliver the Attach Complete message to the MME 803.

그 다음, 단계(S2113)에서, 이를 수신한 기지국(802)은 Attach Complete 메시지를 UL NAS Transport 메시지에 포함시켜 MME(803)로 전달한다.Next, in step S2113 , the base station 802 receiving this includes the Attach Complete message in the UL NAS Transport message and delivers it to the MME 803 .

그 다음, 단계(S2114)에서, MME(803)는 기지국(802)으로부터 S1 eNB GTP-U TEID(905)를 수신함에 따라, 이를 Modify Bearer Request 메시지에 포함시켜, SGW(804)에 전송한다.Next, in step S2114, the MME 803, upon receiving the S1 eNB GTP-U TEID 905 from the base station 802, includes it in a Modify Bearer Request message and transmits it to the SGW 804.

그 다음, 단계(S2115)에서, 이를 수신한 SGW(805)는 S1 eNB TEID를 이용하여 하향링크 S1-MEC 베어러 구성을 완료하고, Modify Bearer Request 메시지에 대한 응답으로 Modify Bearer Response 메시지를 MME(805)로 전송한다(S522). 이에 따라, 기지국(102)과 에지 서버(103) 사이에 상향링크 및 하향링크의 S1-MEC 베어러 구성이 모두 완료되어, 기지국(802)과 SGW(805) 사이의 상향링크 및 하향링크 트래픽 전송이 허용된다.Next, in step S2115, the SGW 805 that has received this completes the downlink S1-MEC bearer configuration using the S1 eNB TEID, and sends a Modify Bearer Response message to the MME 805 in response to the Modify Bearer Request message. ) to (S522). Accordingly, both the uplink and downlink S1-MEC bearer configuration between the base station 102 and the edge server 103 is completed, and the uplink and downlink traffic transmission between the base station 802 and the SGW 805 is performed. allowed

도 23을 참조하면, GTP 상관관계 모듈(440)은 GTP 세션 트래킹 모듈(4401), GTP 유저 평면 전달 모듈(4402) 및 저장부(4403)를 포함할 수 있다.Referring to FIG. 23 , the GTP correlation module 440 may include a GTP session tracking module 4401 , a GTP user plane forwarding module 4402 , and a storage unit 4403 .

GTP 세션 트래킹 모듈(4401)은, MME(803), SGW(805) 및 PGW(806) 간의 다양한 GTP-C 트랜잭션, 예를 들어, CreateSession Request(S2103, S2104), Create Session Response(S2106, S2107), ModifyBearer Request(S2114) 등을 스누핑하여, GTP-U 및 GTP-C TEID에 대한 유저 IMSI 매핑을 부여 및 유지하도록 할 수 있다. 또한, GTP 상관관계 모듈(440)은 동일한 사용자 (IMSI)에 속하는 GTP-C 메시지를 GTP-U 메시지와 동일한 포트부(205) 또는 포트 그룹으로 전송시킬 수 있다.GTP session tracking module 4401, MME 803, SGW 805, and various GTP-C transactions between PGW 806, for example, CreateSession Request (S2103, S2104), Create Session Response (S2106, S2107) , ModifyBearer Request (S2114), etc. can be snooped to grant and maintain user IMSI mapping for GTP-U and GTP-C TEIDs. Also, the GTP correlation module 440 may transmit a GTP-C message belonging to the same user (IMSI) to the same port unit 205 or port group as the GTP-U message.

GTP 세션 트래킹 모듈(4401)은 GTP 제어 평면 패킷의 정보에서 구독자 IMSI 및 구독자 세션 정보를 파싱하여, 구독자 테이블(44031) 및 GTP 세션 테이블(44032)를 각각 갱신할 수 있다. The GTP session tracking module 4401 may parse the subscriber IMSI and subscriber session information from the information of the GTP control plane packet, and update the subscriber table 44031 and the GTP session table 44032, respectively.

GTP 세션 트래킹 모듈(4401)은 동일한 사용자에 대응하는 IMSI와 연관된 TEID를 동일한 유출 포트부(25) 또는 포트 그룹으로 유출 경로 를 재지정할 수 있다.The GTP session tracking module 4401 may redirect the outflow path of the TEID associated with the IMSI corresponding to the same user to the same outflow port unit 25 or port group.

GTP 유저 평면 전달 모듈(4402)은 스위치(20)의 인입 포트부(205)로 들어온 GTP 유저 평면(GTP-U) 패킷을 GTP 상관관계 모듈(440)의 GTP 세션 테이블(44032)로부터 GTP-U TEID를 질의하여 GTP 세션 테이블(44032)의 유출 포트 정보를 갱신할 수 있다. The GTP user plane forwarding module 4402 transmits the GTP user plane (GTP-U) packets that have entered the ingress port unit 205 of the switch 20 from the GTP session table 44032 of the GTP correlation module 440 to the GTP-U. The outflow port information of the GTP session table 44032 may be updated by querying the TEID.

GTP 유저 평면 전달 모듈(4402)은 인입 패킷에서 GTP TEID 및 IP 주소를 조회하여 GTP-C 패킷인 경우, GTP 세션 트래킹 모듈(4401)로 전달할 수 있다.The GTP user plane forwarding module 4402 may search for the GTP TEID and IP address in the incoming packet and, in the case of a GTP-C packet, transmit it to the GTP session tracking module 4401 .

도 24는 본 발명의 일 실시예에 따른 GTP 상관관계 모듈의 저장부의 일 실시예를 도시한 것이다.24 shows an embodiment of the storage unit of the GTP correlation module according to an embodiment of the present invention.

GTP 상관관계 모듈(440)의 저장부(4403)는 네트워크 패킷 중개 장치(6)의 제어부(800)의 메모리(803), 더 바람직하게는 프로세서(801)에 위치할 수 있다. The storage unit 4403 of the GTP correlation module 440 may be located in the memory 803 of the control unit 800 of the network packet intermediary device 6 , more preferably, the processor 801 .

GTP 상관관계 모듈(440)의 저장부(4403)는 IMSI 테이블(44031), MME 컨텍스트 테이블(440321) 및 SGW 컨텍스트 테이블(440322)을 포함할 수 있다.The storage unit 4403 of the GTP correlation module 440 may include an IMSI table 44031 , an MME context table 440321 , and an SGW context table 440322 .

GTP 상관관계 모듈(440)의 저장부(4403)의 구독자 테이블(44031)은 IMSI 테이블(44031)일 수 있다. The subscriber table 44031 of the storage unit 4403 of the GTP correlation module 440 may be an IMSI table 44031 .

GTP 상관관계 모듈(440)의 저장부(4403)의 GTP 세션 테이블(44032)은 MME 컨텍스트 테이블(440321) 및 SGW 컨텍스트 테이블(440322)을 포함할 수 있다. The GTP session table 44032 of the storage unit 4403 of the GTP correlation module 440 may include an MME context table 440321 and an SGW context table 440322 .

GTP 상관관계 모듈(440)의 저장부(4403)의 GTP 세션 테이블(44032)은 IMSI 테이블(44031), MME 컨텍스트 테이블(440321) 및 SGW 컨텍스트 테이블(440322)의 상관관계를 저장하는 상관관계 테이블(44035)을 더 포함할 수 있다.The GTP session table 44032 of the storage unit 4403 of the GTP correlation module 440 stores the correlation between the IMSI table 44031, the MME context table 440321, and the SGW context table 440322. A correlation table ( 44035) may be further included.

GTP 상관관계 모듈(440)의 저장부(4403)의 상관관계 테이블은 제1 상관관계 테이블(440323), 제2 상관관계 테이블(440324), 제3 상관관계 테이블(440325) 및 제4 상관관계 테이블(440326)을 포함할 수 있다.The correlation table of the storage unit 4403 of the GTP correlation module 440 includes a first correlation table 440323 , a second correlation table 440324 , a third correlation table 440325 , and a fourth correlation table. (440326).

IMSI 테이블(44031)은 IMSI, 패킷 출력 포트 및 베어러 ID 셋을 포함할 수 있다. IMSI 테이블(44031)은 IMSI를 주 키(primary key)로 할 수 있다. 베어러 ID 셋은 MME IP, 베어러 ID 및 시퀀스(sequence)를 포함할 수 있다.The IMSI table 44031 may include an IMSI, a packet output port, and a bearer ID set. The IMSI table 44031 may use the IMSI as a primary key. The bearer ID set may include an MME IP, a bearer ID, and a sequence.

GTP 상관관계 모듈(440)이 MME 컨텍스트 테이블(440321)에서, MME IP 주소를 키로 하고, MME IP, 베어러 ID 및 시퀀스(sequence)을 포함하는 베어러 ID 셋 및 MME S11 TEID(901)를 값으로 하는 레코드를 생성하는 단계(S3010);GTP correlation module 440 in the MME context table 440321, with the MME IP address as the key, the bearer ID set including the MME IP, the bearer ID and the sequence, and the MME S11 TEID 901 as a value generating a record (S3010);

GTP 상관관계 모듈(440)이 SGW 컨텍스트 테이블(440322)에서, SGW IP 주소를 키로 하는 레코드를 생성하는 단계(S3020);generating, by the GTP correlation module 440, a record using the SGW IP address as a key in the SGW context table 440322 (S3020);

GTP 상관관계 모듈(440)이 SGW 컨텍스트 테이블(440322)에서, SGW IP 주소를 키로 하는 레코드를 검색하여, SGW S11 TEID (902, 904) 및 SGW S1U TEID (902)를 갱신하는 단계(S3030);The GTP correlation module 440 searches the SGW context table 440322 for a record having the SGW IP address as a key, and updates the SGW S11 TEIDs 902, 904 and the SGW S1U TEIDs 902 (S3030);

GTP 상관관계 모듈(440)이 제1 상관관계 테이블(440323)에서, MME S11 TEID를 키로 하고, IMSI 컨텍스트 및 SGW S11 TEID 컨텍스트(902, 904) 를 값으로 갖는 레코드를 생성하는 단계(S3040);Generating, by the GTP correlation module 440, a record in the first correlation table 440323 with the MME S11 TEID as the key and the IMSI context and the SGW S11 TEID context 902, 904 as values (S3040);

GTP 상관관계 모듈(440)이 제2 상관관계 테이블(440324)에서, SGW S11 TEID(902, 904) 를 키로 하고, MME S11 컨텍스트(901)를 값으로 갖는 레코드를 생성하는 단계(S3050);generating, by the GTP correlation module 440, a record having the SGW S11 TEID 902, 904 as a key and the MME S11 context 901 as a value in the second correlation table 440324 (S3050);

GTP 상관관계 모듈(440)이 제3 상관관계 테이블(440325)에서, SGW S11 TEID를 키로 하고, SGW S11 TEID 컨텍스트(902, 904)를 값으로 갖는 레코드를 생성하는 단계(S3060);generating, by the GTP correlation module 440, a record having the SGW S11 TEID as a key and the SGW S11 TEID contexts 902 and 904 as values in the third correlation table 440325 (S3060);

GTP 상관관계 모듈(440)이 제4 상관관계 테이블(440326)에서, eNB TEID(905) 및 eNB IP를 키로 하고, SGW S1U TEID 컨텍스트 값(902, 904)으로 갖는 레코드를 생성하는 단계(S3070);In the fourth correlation table 440326, the GTP correlation module 440 generates a record having the eNB TEID 905 and the eNB IP as the SGW S1U TEID context values 902 and 904 as keys (S3070) ;

GTP 상관관계 모듈(440)이 MME 컨텍스트 테이블(440321)에서, MME IP 주소를 키로 하는 레코드의 MME IP, 베어러 ID 및 시퀀스(sequence)을 포함하는 베어러 ID 셋 및 eNB S1U TEID(905) 값을 갱신하는 단계(S3080); 및The GTP correlation module 440 updates the bearer ID set and eNB S1U TEID 905 value including the MME IP, bearer ID and sequence of the record using the MME IP address as a key in the MME context table 440321. to (S3080); and

GTP 상관관계 모듈(440)이 IMSI 테이블(44031)에서, IMSI를 키로 하고, MME IP, 베어러 ID 및 시퀀스(sequence)을 포함하는 베어러 ID 셋을 값으로 하는 레코드를 생성하는 단계(S3090);The GTP correlation module 440 generates a record in the IMSI table 44031 with the IMSI as the key and the bearer ID set including the MME IP, the bearer ID and the sequence as a value (S3090);

MME 컨텍스트 테이블(440321)은 MME IP 주소, 베어러 ID 셋, MME S11 TEID 및 eNB S1U TEID를 포함할 수 있다. MME 컨텍스트 테이블(440321)은 MMP IP 주소를 주 키로 할 수 있다. MME 컨텍스트 테이블(440321)은 베어러 ID 셋을 외부 키(foreign key)로 하여 제1 상관관계 테이블(440323)에 연결될 수 있다. MME 컨텍스트 테이블(440321)은 MME S11 TEID를 외부 키(foreign key)로 하여 IMSI 테이블(44031)에 연결될 수 있다. MME 컨텍스트 테이블(440321)은 eNB S1U TEID를 외부 키로 하여 제4 상관관계 테이블(440326)에 연결될 수 있다.The MME context table 440321 may include an MME IP address, a bearer ID set, an MME S11 TEID, and an eNB S1U TEID. The MME context table 440321 may use the MMP IP address as a primary key. The MME context table 440321 may be connected to the first correlation table 440323 using the bearer ID set as a foreign key. The MME context table 440321 may be connected to the IMSI table 44031 using the MME S11 TEID as a foreign key. The MME context table 440321 may be connected to the fourth correlation table 440326 using the eNB S1U TEID as a foreign key.

SGW 컨텍스트 테이블(440322)은 SGW IP 주소, SGW S11 TEID 및 SGW S1U TEID를 포함 할 수 있다. SGW 컨텍스트 테이블(440322)은 SGW IP 주소를 주 키로 할 수 있다. SGW 컨텍스트 테이블(440322)은 SGW S11 TEID 를 외부 키(foreign key)로 하여 제2 상관관계 테이블(440324)에 연결될 수 있다. SGW 컨텍스트 테이블(440322)은 SGW S1U TEID 를 외부 키(foreign key)로 하여 제3 상관관계 테이블(440325)에 연결될 수 있다. The SGW context table 440322 may include an SGW IP address, an SGW S11 TEID, and an SGW S1U TEID. The SGW context table 440322 may use the SGW IP address as a primary key. The SGW context table 440322 may be connected to the second correlation table 440324 using the SGW S11 TEID as a foreign key. The SGW context table 440322 may be connected to the third correlation table 440325 using the SGW S1U TEID as a foreign key.

제1 상관관계 테이블(440323)은 MME S11 TEID, IMSI 컨텍스트 및 SGW S11 TEID 컨텍스트를 포함할 수 있다. 제1 상관관계 테이블(440323)은 MME S11 TEID를 주 키로 할 수 있다. 제1 상관관계 테이블(440323)과 IMSI 테이블(44031)은 제1 상관관계 테이블(440323)의 IMSI 컨텍스트와 IMSI 테이블(44031)의 베어러 ID 셋으로 상호 참조될 수 있다.The first correlation table 440323 may include an MME S11 TEID, an IMSI context, and an SGW S11 TEID context. The first correlation table 440323 may use the MME S11 TEID as a primary key. The first correlation table 440323 and the IMSI table 44031 may be cross-referenced with the IMSI context of the first correlation table 440323 and the bearer ID set of the IMSI table 44031 .

제2 상관관계 테이블(440324)은 SGW S11 TEID 및 MME S11 컨텍스트를 포함할 수 있다. 제2 상관관계 테이블(440324)은 SGW S11 TEID 를 주 키로 할 수 있다. 제1 상관관계 테이블(440323)과 제2 상관관계 테이블(440324)은 제1 상관관계 테이블(440323)의 SGW S11 TEID 컨텍스트와 제2 상관관계 테이블(440324)의 MME S11 컨텍스트로 상호 참조될 수 있다.The second correlation table 440324 may include the SGW S11 TEID and the MME S11 context. The second correlation table 440324 may use SGW S11 TEID as a primary key. The first correlation table 440323 and the second correlation table 440324 may be cross-referenced to the SGW S11 TEID context of the first correlation table 440323 and the MME S11 context of the second correlation table 440324. .

제3 상관관계 테이블(440325)은 SGW S1U TEID 및 SGW S11 TEID 컨텍스트를 포함할 수 있다. 제3 상관관계 테이블(440325)은 SGW S1U TEID 를 주 키로 할 수 있다. 제2 상관관계 테이블(440324)과 제3 상관관계 테이블(440325)은 제2 상관관계 테이블(440324)의 MME S11 컨텍스트와 제3 상관관계 테이블(440325)의 SGW S11 TEID 컨텍스트로 상호 참조될 수 있다.The third correlation table 440325 may include SGW S1U TEID and SGW S11 TEID contexts. The third correlation table 440325 may use SGW S1U TEID as a primary key. The second correlation table 440324 and the third correlation table 440325 may be cross-referenced as the MME S11 context of the second correlation table 440324 and the SGW S11 TEID context of the third correlation table 440325. .

제4 상관관계 테이블(440326)은 eNB TEID 셋 및 SGW S1U TEID 컨텍스트를 포함할 수 있다. 제4 상관관계 테이블(440326)은 eNB TEID 셋을 주 키로 할 수 있다. eNB TEID 셋은 eNB S1U TEID 및 eNB IP를 포함할 수 있다. 제3 상관관계 테이블(440325)과 제4 상관관계 테이블(440326)은 제3 상관관계 테이블(440325)의 SGW S1U TEID와 제4 상관관계 테이블(440326)의 SGW S1U TEID 컨텍스트로 상호 참조될 수 있다.The fourth correlation table 440326 may include an eNB TEID set and an SGW S1U TEID context. The fourth correlation table 440326 may use the eNB TEID set as a primary key. The eNB TEID set may include an eNB S1U TEID and an eNB IP. The third correlation table 440325 and the fourth correlation table 440326 may be cross-referenced as the SGW S1U TEID of the third correlation table 440325 and the SGW S1U TEID context of the fourth correlation table 440326. .

도 24는 본 발명의 일 실시예에 따른 GTP 상관관계 모듈의 저장부의 일 실시예를 도시,24 shows an embodiment of a storage unit of a GTP correlation module according to an embodiment of the present invention;

GTP 상관관계 모듈(440)의 저장부(4403)는 네트워크 패킷 중개 장치(6)의 제어부(800)의 메모리(803), 더 바람직하게는 프로세서(801)에 위치할 수 있다. The storage unit 4403 of the GTP correlation module 440 may be located in the memory 803 of the control unit 800 of the network packet intermediary device 6 , more preferably, the processor 801 .

GTP 상관관계 모듈(440)의 저장부(4403)는 IMSI 테이블(44031), MME 컨텍스트 테이블(440321) 및 SGW 컨텍스트 테이블(440322)을 포함할 수 있다.The storage unit 4403 of the GTP correlation module 440 may include an IMSI table 44031 , an MME context table 440321 , and an SGW context table 440322 .

GTP 상관관계 모듈(440)의 저장부(4403)의 구독자 테이블(44031)은 IMSI 테이블(44031)일 수 있다. The subscriber table 44031 of the storage unit 4403 of the GTP correlation module 440 may be an IMSI table 44031 .

GTP 상관관계 모듈(440)의 저장부(4403)의 GTP 세션 테이블(44032)은 MME 컨텍스트 테이블(440321) 및 SGW 컨텍스트 테이블(440322)을 포함할 수 있다. The GTP session table 44032 of the storage unit 4403 of the GTP correlation module 440 may include an MME context table 440321 and an SGW context table 440322 .

GTP 상관관계 모듈(440)의 저장부(4403)의 GTP 세션 테이블(44032)은 IMSI 테이블(44031), MME 컨텍스트 테이블(440321) 및 SGW 컨텍스트 테이블(440322)의 상관관계를 저장하는 상관관계 테이블(44035)을 더 포함할 수 있다.The GTP session table 44032 of the storage unit 4403 of the GTP correlation module 440 stores the correlation between the IMSI table 44031, the MME context table 440321, and the SGW context table 440322. A correlation table ( 44035) may be further included.

GTP 상관관계 모듈(440)의 저장부(4403)의 상관관계 테이블은 제1 상관관계 테이블(440323), 제2 상관관계 테이블(440324), 제3 상관관계 테이블(440325) 및 제4 상관관계 테이블(440326)을 포함할 수 있다.The correlation table of the storage unit 4403 of the GTP correlation module 440 includes a first correlation table 440323 , a second correlation table 440324 , a third correlation table 440325 , and a fourth correlation table. (440326).

IMSI 테이블(44031)은 IMSI, 패킷 출력 포트 및 베어러 ID 셋을 포함할 수 있다. IMSI 테이블(44031)은 IMSI를 주 키(primary key)로 할 수 있다. 베어러 ID 셋은 MME IP, 베어러 ID 및 시퀀스(sequence)를 포함할 수 있다.The IMSI table 44031 may include an IMSI, a packet output port, and a bearer ID set. The IMSI table 44031 may use the IMSI as a primary key. The bearer ID set may include an MME IP, a bearer ID, and a sequence.

GTP 상관관계 모듈(440)이 MME 컨텍스트 테이블(440321)에서, MME IP 주소를 키로 하고, MME IP, 베어러 ID 및 시퀀스(sequence)을 포함하는 베어러 ID 셋 및 MME S11 TEID(901)를 값으로 하는 레코드를 생성하는 단계(S3010);GTP correlation module 440 in the MME context table 440321, with the MME IP address as the key, the bearer ID set including the MME IP, the bearer ID and the sequence, and the MME S11 TEID 901 as a value generating a record (S3010);

GTP 상관관계 모듈(440)이 SGW 컨텍스트 테이블(440322)에서, SGW IP 주소를 키로 하는 레코드를 생성하는 단계(S3020);generating, by the GTP correlation module 440, a record using the SGW IP address as a key in the SGW context table 440322 (S3020);

GTP 상관관계 모듈(440)이 SGW 컨텍스트 테이블(440322)에서, SGW IP 주소를 키로 하는 레코드를 검색하여, SGW S11 TEID (902, 904) 및 SGW S1U TEID (902)를 갱신하는 단계(S3030);The GTP correlation module 440 searches the SGW context table 440322 for a record having the SGW IP address as a key, and updates the SGW S11 TEIDs 902, 904 and the SGW S1U TEIDs 902 (S3030);

GTP 상관관계 모듈(440)이 제1 상관관계 테이블(440323)에서, MME S11 TEID를 키로 하고, IMSI 컨텍스트 및 SGW S11 TEID 컨텍스트(902, 904) 를 값으로 갖는 레코드를 생성하는 단계(S3040);Generating, by the GTP correlation module 440, a record in the first correlation table 440323 with the MME S11 TEID as the key and the IMSI context and the SGW S11 TEID context 902, 904 as values (S3040);

GTP 상관관계 모듈(440)이 제2 상관관계 테이블(440324)에서, SGW S11 TEID(902, 904) 를 키로 하고, MME S11 컨텍스트(901)를 값으로 갖는 레코드를 생성하는 단계(S3050);generating, by the GTP correlation module 440, a record having the SGW S11 TEID 902, 904 as a key and the MME S11 context 901 as a value in the second correlation table 440324 (S3050);

GTP 상관관계 모듈(440)이 제3 상관관계 테이블(440325)에서, SGW S11 TEID를 키로 하고, SGW S11 TEID 컨텍스트(902, 904)를 값으로 갖는 레코드를 생성하는 단계(S3060);generating, by the GTP correlation module 440, a record having the SGW S11 TEID as a key and the SGW S11 TEID contexts 902 and 904 as values in the third correlation table 440325 (S3060);

GTP 상관관계 모듈(440)이 제4 상관관계 테이블(440326)에서, eNB TEID(905) 및 eNB IP를 키로 하고, SGW S1U TEID 컨텍스트 값(902, 904)으로 갖는 레코드를 생성하는 단계(S3070);In the fourth correlation table 440326, the GTP correlation module 440 generates a record having the eNB TEID 905 and the eNB IP as the SGW S1U TEID context values 902 and 904 as keys (S3070) ;

GTP 상관관계 모듈(440)이 MME 컨텍스트 테이블(440321)에서, MME IP 주소를 키로 하는 레코드의 MME IP, 베어러 ID 및 시퀀스(sequence)을 포함하는 베어러 ID 셋 및 eNB S1U TEID(905) 값을 갱신하는 단계(S3080); 및The GTP correlation module 440 updates the bearer ID set and eNB S1U TEID 905 value including the MME IP, bearer ID and sequence of the record using the MME IP address as a key in the MME context table 440321. to (S3080); and

GTP 상관관계 모듈(440)이 IMSI 테이블(44031)에서, IMSI를 키로 하고, MME IP, 베어러 ID 및 시퀀스(sequence)을 포함하는 베어러 ID 셋을 값으로 하는 레코드를 생성하는 단계(S3090); The GTP correlation module 440 generates a record in the IMSI table 44031 with the IMSI as the key and the bearer ID set including the MME IP, the bearer ID and the sequence as a value (S3090);

MME 컨텍스트 테이블(440321)은 MME IP 주소, 베어러 ID 셋, MME S11 TEID 및 eNB S1U TEID를 포함할 수 있다. MME 컨텍스트 테이블(440321)은 MMP IP 주소를 주 키로 할 수 있다. MME 컨텍스트 테이블(440321)은 베어러 ID 셋을 외부 키(foreign key)로 하여 제1 상관관계 테이블(440323)에 연결될 수 있다. MME 컨텍스트 테이블(440321)은 MME S11 TEID를 외부 키(foreign key)로 하여 IMSI 테이블(44031)에 연결될 수 있다. MME 컨텍스트 테이블(440321)은 eNB S1U TEID를 외부 키로 하여 제4 상관관계 테이블(440326)에 연결될 수 있다.The MME context table 440321 may include an MME IP address, a bearer ID set, an MME S11 TEID, and an eNB S1U TEID. The MME context table 440321 may use the MMP IP address as a primary key. The MME context table 440321 may be connected to the first correlation table 440323 using the bearer ID set as a foreign key. The MME context table 440321 may be connected to the IMSI table 44031 using the MME S11 TEID as a foreign key. The MME context table 440321 may be connected to the fourth correlation table 440326 using the eNB S1U TEID as a foreign key.

SGW 컨텍스트 테이블(440322)은 SGW IP 주소, SGW S11 TEID 및 SGW S1U TEID를 포함 할 수 있다. SGW 컨텍스트 테이블(440322)은 SGW IP 주소를 주 키로 할 수 있다. SGW 컨텍스트 테이블(440322)은 SGW S11 TEID 를 외부 키(foreign key)로 하여 제2 상관관계 테이블(440324)에 연결될 수 있다. SGW 컨텍스트 테이블(440322)은 SGW S1U TEID 를 외부 키(foreign key)로 하여 제3 상관관계 테이블(440325)에 연결될 수 있다. The SGW context table 440322 may include an SGW IP address, an SGW S11 TEID, and an SGW S1U TEID. The SGW context table 440322 may use the SGW IP address as a primary key. The SGW context table 440322 may be connected to the second correlation table 440324 using the SGW S11 TEID as a foreign key. The SGW context table 440322 may be connected to the third correlation table 440325 using the SGW S1U TEID as a foreign key.

제1 상관관계 테이블(440323)은 MME S11 TEID, IMSI 컨텍스트 및 SGW S11 TEID 컨텍스트를 포함할 수 있다. 제1 상관관계 테이블(440323)은 MME S11 TEID를 주 키로 할 수 있다. 제1 상관관계 테이블(440323)과 IMSI 테이블(44031)은 제1 상관관계 테이블(440323)의 IMSI 컨텍스트와 IMSI 테이블(44031)의 베어러 ID 셋으로 상호 참조될 수 있다.The first correlation table 440323 may include an MME S11 TEID, an IMSI context, and an SGW S11 TEID context. The first correlation table 440323 may use the MME S11 TEID as a primary key. The first correlation table 440323 and the IMSI table 44031 may be cross-referenced with the IMSI context of the first correlation table 440323 and the bearer ID set of the IMSI table 44031 .

제2 상관관계 테이블(440324)은 SGW S11 TEID 및 MME S11 컨텍스트를 포함할 수 있다. 제2 상관관계 테이블(440324)은 SGW S11 TEID 를 주 키로 할 수 있다. 제1 상관관계 테이블(440323)과 제2 상관관계 테이블(440324)은 제1 상관관계 테이블(440323)의 SGW S11 TEID 컨텍스트와 제2 상관관계 테이블(440324)의 MME S11 컨텍스트로 상호 참조될 수 있다.The second correlation table 440324 may include the SGW S11 TEID and the MME S11 context. The second correlation table 440324 may use SGW S11 TEID as a primary key. The first correlation table 440323 and the second correlation table 440324 may be cross-referenced to the SGW S11 TEID context of the first correlation table 440323 and the MME S11 context of the second correlation table 440324. .

제3 상관관계 테이블(440325)은 SGW S1U TEID 및 SGW S11 TEID 컨텍스트를 포함할 수 있다. 제3 상관관계 테이블(440325)은 SGW S1U TEID 를 주 키로 할 수 있다. 제2 상관관계 테이블(440324)과 제3 상관관계 테이블(440325)은 제2 상관관계 테이블(440324)의 MME S11 컨텍스트와 제3 상관관계 테이블(440325)의 SGW S11 TEID 컨텍스트로 상호 참조될 수 있다.The third correlation table 440325 may include SGW S1U TEID and SGW S11 TEID contexts. The third correlation table 440325 may use SGW S1U TEID as a primary key. The second correlation table 440324 and the third correlation table 440325 may be cross-referenced as the MME S11 context of the second correlation table 440324 and the SGW S11 TEID context of the third correlation table 440325. .

제4 상관관계 테이블(440326)은 eNB TEID 셋 및 SGW S1U TEID 컨텍스트를 포함할 수 있다. 제4 상관관계 테이블(440326)은 eNB TEID 셋을 주 키로 할 수 있다. eNB TEID 셋은 eNB S1U TEID 및 eNB IP를 포함할 수 있다. 제3 상관관계 테이블(440325)과 제4 상관관계 테이블(440326)은 제3 상관관계 테이블(440325)의 SGW S1U TEID와 제4 상관관계 테이블(440326)의 SGW S1U TEID 컨텍스트로 상호 참조될 수 있다.The fourth correlation table 440326 may include an eNB TEID set and an SGW S1U TEID context. The fourth correlation table 440326 may use the eNB TEID set as a primary key. The eNB TEID set may include an eNB S1U TEID and an eNB IP. The third correlation table 440325 and the fourth correlation table 440326 may be cross-referenced as the SGW S1U TEID of the third correlation table 440325 and the SGW S1U TEID context of the fourth correlation table 440326. .

도 26를 참조하면, GTP-U 패킷에서, Src IP가 SGW(805)의 IP 이고, DST IP가 eNB(802)의 IP이며, TEID가 SGW GTP-U TEID인 경우, GTP-U 패킷에 매칭되는 GTP-C 패킷의 패킷 출력 포트를 획득하는 과정은 다음과 같다. Referring to FIG. 26 , in the GTP-U packet, when the Src IP is the IP of the SGW 805 , the DST IP is the IP of the eNB 802 , and the TEID is the SGW GTP-U TEID, it matches the GTP-U packet The process of acquiring the packet output port of the GTP-C packet is as follows.

제4 상관관계 테이블(440326)에서, eNB(802)의 IP를 키값으로 레코드를 검색한 후, 검색된 레코드에서 SGW S1U TEID를 획득한다.In the fourth correlation table 440326, after searching for a record using the IP of the eNB 802 as a key value, the SGW S1U TEID is obtained from the searched record.

다음으로, 제3 상관관계 테이블(440325)에서, 취득한 SGW S1U TEID을 키값으로 레코드를 검색한 후, 검색된 레코드에서 SGW S11 TEID 컨텍스트를 획득한다.Next, in the third correlation table 440325 , a record is retrieved using the acquired SGW S1U TEID as a key value, and then the SGW S11 TEID context is acquired from the retrieved record.

다음으로, 제2 상관관계 테이블(440324)에서, 취득한 SGW S11 TEID 컨텍스트를 키값으로 레코드를 검색한 후, 검색된 레코드에서 MME S11 TEID 컨텍스트를 획득한다.Next, in the second correlation table 440324 , a record is retrieved using the acquired SGW S11 TEID context as a key value, and then an MME S11 TEID context is acquired from the retrieved record.

다음으로, 제1 상관관계 테이블(440323)에서, 취득한 MME S11 TEID 컨텍스트를 키값으로 레코드를 검색한 후, 검색된 레코드에서 IMSI 컨텍스트를 획득한다.Next, in the first correlation table 440323 , a record is retrieved using the acquired MME S11 TEID context as a key value, and then an IMSI context is acquired from the retrieved record.

다음으로, IMSI 테이블(44031)에서, 취득한 IMSI 컨텍스트를 키값으로 레코드를 검색한 후, 검색된 레코드에서 패킷 출력 포트를 획득한다.Next, in the IMSI table 44031, a record is retrieved using the acquired IMSI context as a key value, and then a packet output port is acquired from the retrieved record.

GTP 상관관계 모듈(440)은 GTP 세션 트래킹 모듈(4401), GTP 유저 평면 전달 모듈(4402) 및 저장부(4403)를 포함할 수 있다.The GTP correlation module 440 may include a GTP session tracking module 4401 , a GTP user plane forwarding module 4402 , and a storage 4403 .

심층 패킷 매칭 모듈(430)은 GTP 상관관계 모듈(440)을 제어하여 GTP 제어 평면 패킷과 GTP 유저 평면 패킷을 매칭할 수 있다.The deep packet matching module 430 may control the GTP correlation module 440 to match the GTP control plane packet and the GTP user plane packet.

도 27을 참조하면, GTP 상관관계 모듈(440)의 저장부(4403)는 GTP 제어 평면 흐름 테이블(44034) 및 GTP 제어 평면 상관 관계 테이블(44035)을 포함할 수 있다.Referring to FIG. 27 , the storage unit 4403 of the GTP correlation module 440 may include a GTP control plane flow table 44034 and a GTP control plane correlation table 44035 .

GTP 제어 평면 흐름 테이블(44034)은 GTP-C TEID과 유출 포트의 쌍을 저장할 수 있다.GTP control plane flow table 44034 may store GTP-C TEID and egress port pairs.

GTP 상관관계 모듈(440)의 저장부(4403)는 빠른 질의 응답 처리를 위하여, 프로세서(801) 또는 메모리(803)에 위치할 수 있으며, 바람직하게는 프로세서(801)의 레지스터에 위치할 수 있다.The storage unit 4403 of the GTP correlation module 440 may be located in the processor 801 or the memory 803, preferably in a register of the processor 801, for quick query and response processing. .

GTP 제어 평면 패킷은 GTP 제어 평면 유출 포트 매치 액션 테이블 (GTP Control plane-egress port Match Action Table,2911)에 저장된 패킷의 처리 액션에 따라 처리될 수 있으며, 초기에는 패킷이 매치 액션 테이블(2911)에 매칭되는 레코드가 존재하지 않으므로, 심층 패킷 매칭 모듈(430)이 GTP 제어 평면 흐름 테이블(44034)에 플로우를 질의하여 매치 액션 테이블(2911)을 업데이트할 수 있다. 매치 액션 테이블(2911)에서 처리된 GTP 제어 평면 패킷은 GTP 유저 평면 유출 포트 매치 액션 테이블 (GTP User plane-egress port Match Action Table,2912)에서 함께 처리될 수 있다.The GTP control plane packet may be processed according to the processing action of the packet stored in the GTP Control plane-egress port Match Action Table 2911, and initially the packet is stored in the match action table 2911. Since no matching record exists, the deep packet matching module 430 may query the GTP control plane flow table 44034 for a flow to update the match action table 2911 . The GTP control plane packets processed in the match action table 2911 may be processed together in the GTP user plane-egress port Match Action Table 2912 .

GTP 제어 평면 상관 관계 테이블(44032)은 GTP 세션 테이블(44032)일 수 있다. GTP 제어 평면 상관 관계 테이블(44032)에서 해당 GTP TEID에 대응되는 유출 포트 정보를 GTP 유저 평면 유출 포트 매치 액션 테이블(2912)에서 갱신하여 심층 패킷을 매칭할 수 있다.The GTP control plane correlation table 44032 may be a GTP session table 44032 . Deep packets may be matched by updating outgoing port information corresponding to the corresponding GTP TEID in the GTP control plane correlation table 44032 in the GTP user plane outgoing port match action table 2912 .

GTP 유저 평면 유출 포트 매치 액션 테이블(2912)에서 패킷에 매칭되는 흐름이 존재하지 않거나, 흐름에 대한 액션이 deny인 경우에는 해당 패킷은 탈락(drop)되어 처리되지 않을 수 있다.If there is no flow matching the packet in the GTP user plane outflow port match action table 2912 or the action for the flow is deny, the corresponding packet may be dropped and not processed.

도 28을 참조하면, 본 발명의 일 실시예에 따른 네트워크 패킷 중개 장치의 심층 패킷 매칭방법은 다음 단계들을 포함할 수 있다:Referring to FIG. 28 , the deep packet matching method of the network packet intermediary apparatus according to an embodiment of the present invention may include the following steps:

심층 패킷 매칭 모듈(430)이 스위치(205)의 인입 포트부(205)로 부터 패킷을 입력 받는 단계(S3010);Deep packet matching module 430 receiving a packet from the incoming port unit 205 of the switch 205 (S3010);

스위치(205)의 패킷 파싱 모듈(250)이 입력받은 패킷으로부터 심층 패킷 정보를 추출하는 인입 패킷 파싱 단계(S3020);Incoming packet parsing step of extracting deep packet information from the packet received by the packet parsing module 250 of the switch 205 (S3020);

심층 패킷 매칭 모듈(430)이 획득한 정보로 패킷을 처리하는 인입 패킷 파이프라인 단계(S3030);Incoming packet pipeline step (S3030) of processing the packet with the information obtained by the deep packet matching module 430;

심층 패킷 매칭 모듈(430)이 획득한 패킷의 정보로 부터 패킷의 종류를 구별하는 단계(S3040);distinguishing the type of packet from the packet information obtained by the deep packet matching module 430 (S3040);

구별된 패킷의 종류가 GTP 제어 평면 패킷인 경우, GTP 세션 트래킹 모듈(4401)이 패킷에 매칭되는 흐름을 GTP 제어 평면 유출 테이블(2911)에 질의하여 패킷을 보낼 유출 포트부(205) 또는 유출 포트 그룹을 획득하는 GTP 제어 평면 패킷 처리 단계(S3050); 및When the type of the distinguished packet is a GTP control plane packet, the GTP session tracking module 4401 queries the GTP control plane outflow table 2911 for a flow matching the packet, and sends the packet to the outflow port unit 205 or outflow port GTP control plane packet processing step of obtaining a group (S3050); and

구별된 패킷의 종류가 GTP 유저 평면 패킷인 경우, GTP 유저 평면 전달 모듈(4402)이 패킷에 매칭되는 흐름을 GTP 유저 평면 유출 테이블(2912)에 질의하여 패킷을 처리하는 유출 패킷 파이프라인 단계(S3060).When the type of the distinguished packet is a GTP user plane packet, the GTP user plane forwarding module 4402 queries the GTP user plane outflow table 2912 for a flow matching the packet to process the packet (S3060) ).

유출 패킷 파이프라인 단계(S3060)는 유출 패킷의 정보를 추출하여 그 패킷의 흐름 정보를 GTP 유저 평면 유출 테이블(2912)에 저장하는 유출 패킷 파싱 단계(S3061); 및 유출 패킷의 흐름 정보를 GTP 유저 평면 유출 테이블(2912)에 질의하여 그 패킷에 대한 액션을 처리하는 단계(S3602)를 포함할 수 있다.The outgoing packet pipeline step (S3060) includes an outgoing packet parsing step (S3061) of extracting outgoing packet information and storing the flow information of the packet in the GTP user plane outflow table 2912; and querying the GTP user plane outflow table 2912 for flow information of the outgoing packet to process an action on the outgoing packet ( S3602 ).

본 발명의 일 실시예에 따른 패킷 파싱 모듈(250)은 ethernet 헤더, vlan 헤더, ipv4 헤더, tcp 헤더, udp 헤더, icmp 헤더, sctp 헤더, gtp 헤더inner ether 헤더, inner ipv4 헤더,inner tcp 헤더 및 inner udp 헤더를 파싱할 수 있다.The packet parsing module 250 according to an embodiment of the present invention includes an ethernet header, vlan header, ipv4 header, tcp header, udp header, icmp header, sctp header, gtp header, inner ether header, inner ipv4 header, inner tcp header and The inner udp header can be parsed.

도 29를 참조하면 ,본 발명의 일 실시예에 따른 심층 패킷 매칭 방법의 인입 패킷 파싱 단계(S3020)는 아래 단계들을 포함할 수 있다:Referring to FIG. 29 , the incoming packet parsing step ( S3020 ) of the deep packet matching method according to an embodiment of the present invention may include the following steps:

패킷 파싱 모듈(250)이 인입 패킷에서 인입 포트 정보를 추출하는 인입 포트 파싱 단계(S1101);an incoming port parsing step in which the packet parsing module 250 extracts incoming port information from the incoming packet (S1101);

패킷 파싱 모듈(250)이 인입 패킷에서 Ethernet 프로토콜 정보를 추출하는 Ethernet 프로토콜 파싱 단계(S1102);an Ethernet protocol parsing step in which the packet parsing module 250 extracts Ethernet protocol information from an incoming packet (S1102);

추출된 Ethernet 프로토콜 정보가 VLAN인 경우, 패킷 파싱 모듈(250)이 인입 패킷에서 VLAN 정보를 추출하는 VLAN 파싱 단계(S1104);If the extracted Ethernet protocol information is VLAN, the packet parsing module 250 extracts VLAN information from the incoming packet (S1104);

추출된 Ethernet 프로토콜 정보가 IPv4인 경우, 패킷 파싱 모듈(250)이 인입 패킷에서 IPv4 정보를 추출하는 IPv4 파싱 단계(S1105);If the extracted Ethernet protocol information is IPv4, an IPv4 parsing step (S1105) in which the packet parsing module 250 extracts IPv4 information from the incoming packet;

추출된 IPv4 프로토콜의 종류가 TCP인 경우, 패킷 파싱 모듈(250)이 인입 패킷에서 TCP 정보를 추출하는 TCP 파싱 단계(S1107);When the extracted IPv4 protocol type is TCP, the packet parsing module 250 extracts TCP information from the incoming packet (S1107);

추출된 IPv4 프로토콜의 종류가 IMCP인 경우, 패킷 파싱 모듈(250)이 인입 패킷에서 IMCP 정보를 추출하는 IMCP 파싱 단계(S1108);If the extracted IPv4 protocol type is IMCP, the packet parsing module 250 extracts IMCP information from the incoming packet, IMCP parsing step (S1108);

추출된 IPv4 프로토콜의 종류가 SCTP 인 경우, 패킷 파싱 모듈(250)이 인입 패킷에서 SCTP 정보를 추출하는 SCTP 파싱 단계(S1109);When the extracted IPv4 protocol type is SCTP, the packet parsing module 250 extracts SCTP information from the incoming packet (S1109);

패킷 파싱 모듈(250)이 인입 패킷에서 UDP 프로토콜 번호 정보를 추출하는 UDP 파싱 단계(S1110);a UDP parsing step (S1110) in which the packet parsing module 250 extracts UDP protocol number information from the incoming packet;

추출된 UDP 프로토콜 번호가 VxLAN인 경우, 패킷 파싱 모듈(250)이 인입 패킷에서 VxLAN 정보를 추출하는 VxLAN 파싱 단계(S1112);when the extracted UDP protocol number is VxLAN, the packet parsing module 250 extracts VxLAN information from the incoming packet (S1112);

추출된 UDP 프로토콜 번호가 GTP인 경우, 패킷 파싱 모듈(250)이 인입 패킷에서 GTP 정보를 추출하는 GTP 파싱 단계(S1113);when the extracted UDP protocol number is GTP, the packet parsing module 250 extracts GTP information from the incoming packet (S1113);

패킷 파싱 모듈(250)이 인입 패킷에서 inner Ether 정보를 추출하는 inner Ether 파싱 단계(S1114);an inner Ether parsing step in which the packet parsing module 250 extracts inner Ether information from the incoming packet (S1114);

패킷 파싱 모듈(250)이 인입 패킷에서 inner IPv4 정보를 추출하는 inner IPv4 파싱 단계(S1115); 및an inner IPv4 parsing step in which the packet parsing module 250 extracts inner IPv4 information from the incoming packet (S1115); and

패킷 파싱 모듈(250)이 인입 패킷에서 inner TCP 및 inner UDP 정보를 추출하는 inner TCP/UDP 파싱 단계(S1116).Inner TCP/UDP parsing step in which the packet parsing module 250 extracts inner TCP and inner UDP information from the incoming packet (S1116).

인입 포트 파싱 단계(S1101)는, 패킷의 인입 메타데이터에 인입 포트 정보 전달하는 단계(S11011) 및 인입 메타데이터에 디바이스 타임스탬프 정보를 전달하는 단계(S11012)를 더 포함할 수 있다.The parsing of the incoming port ( S1101 ) may further include transmitting the incoming port information to the incoming metadata of the packet ( S11011 ) and transmitting the device timestamp information to the incoming metadata ( S11012 ).

IPv4 파싱 단계(S1105)는 src_ip, dst_ip, protocol을 인입 메타데이터의 룩업 테이블(look-up table)로 전달하는 단계(S11051)를 더 포함할 수 있다.The IPv4 parsing step (S1105) may further include a step (S11051) of transferring src_ip, dst_ip, and protocol to a look-up table of incoming metadata.

GTP 파싱 단계(S1113), Inner Ether 파싱 단계(S1114), Inner IPv4 파싱 단계(S1115) 및 Inner TCP/UDP 파싱 단계(S1116)으로 추출된 inner 정보는 모두 패킷의 오리지널 목적 주소 정보로서, 추출된 오리지널 목적 주소 정보로 엣지 클라우드에서 내부 트래픽의 형태에 따른 트래픽 분산(Traffic Steering)가 가능하며, 로드밸런싱 시 경유 주소 기준이 아닌 오리지널 목적 주소 기준으로 균형 있게 트래픽 부하를 분산할 수 있다.The inner information extracted in the GTP parsing step (S1113), Inner Ether parsing step (S1114), Inner IPv4 parsing step (S1115), and Inner TCP/UDP parsing step (S1116) are all original destination address information of the packet, and the extracted original With the destination address information, it is possible to distribute traffic according to the type of internal traffic in the edge cloud, and it is possible to distribute the traffic load in a balanced way based on the original destination address instead of the pass-through address during load balancing.

도 30을 참조하면, 본 발명의 일 실시예에 따른 심층 패킷 매칭 방법의 인입 파이프라인 단계(S3030)는 다음 단계들을 포함할 수 있다:Referring to Figure 30, the incoming pipeline step (S3030) of the deep packet matching method according to an embodiment of the present invention may include the following steps:

심층 패킷 매칭 모듈(430)이 인입 물리 포트(205)를 Match Action 테이블에서 사용되는 논리 포트로 변환하는 인입 포트 매핑 단계(S1201);Incoming port mapping step (S1201) in which the deep packet matching module 430 converts the incoming physical port 205 into a logical port used in the Match Action table;

심층 패킷 매칭 모듈(430)이 인입 패킷에서 추출된 GTP 정보에 대응하는 패킷의 처리를 유출 포트 매치 액션 테이블(2922)에 저장하는 GTP 필터 적용 단계(S1202); 및GTP filter application step (S1202) of the deep packet matching module 430 storing the processing of the packet corresponding to the GTP information extracted from the incoming packet in the outgoing port match action table 2922; and

심층 패킷 매칭 모듈(430)이 인입 패킷에서 추출된 Inner IPv4 정보가 존재하면(S1203), 추출된 Inner IPv4 정보에 대응하는 패킷의 처리를 유출 포트 매치 액션 테이블(2922)에 저장하는 Inner IPv4 필터 적용 단계(S1203); If the deep packet matching module 430 has inner IPv4 information extracted from the incoming packet (S1203), the inner IPv4 filter is applied to store the processing of the packet corresponding to the extracted inner IPv4 information in the outgoing port match action table 2922 step S1203;

Inner IPv4 필터 적용 단계(S1203)는 심층 패킷 매칭 모듈(430)이 인입 패킷에 따른 GTP 유저 평면 유출 포트 매치 액션 테이블(2911)의 액션이 replication인 경우, 패킷을 복제하여 유출 포트부(205) 또는 유출 포트 그룹으로 전달하는 리플리케이션 단계(S12031); 및In the inner IPv4 filter application step (S1203), the deep packet matching module 430 duplicates the packet when the action of the GTP user plane outgoing port match action table 2911 according to the incoming packet is replication to the outgoing port unit 205 or Replication step of forwarding to the outflow port group (S12031); and

심층 패킷 매칭 모듈(430)이 인입 패킷에 따른 GTP 유저 평면 유출 포트 매치 액션 테이블(2912)의 액션이 load balancing인 경우, 지정된 유출 포트 그룹으로 전달하는 로드 밸런싱 단계(S12032)를 포함할 수 있다.When the deep packet matching module 430 performs load balancing in the action of the GTP user plane outgoing port match action table 2912 according to the incoming packet, it may include a load balancing step (S12032) of delivering it to a designated outgoing port group.

GTP 필터 적용 단계(S1202)는 해당 패킷에 대하여 액션을 deny, permit, replication, strip_vxlan_and_permit 또는 strip_vxlan_and_replication으로 저장하는 것일 수 있다.The step of applying the GTP filter ( S1202 ) may be to store an action for the corresponding packet as deny, permit, replication, strip_vxlan_and_permit, or strip_vxlan_and_replication.

Inner IPv4 필터 적용 단계(S1203)는 해당 패킷에 대하여 액션을 deny, permit 또는 replication으로 저장하는 것일 수 있다.Inner IPv4 filter application step (S1203) may be to store the action for the corresponding packet as deny, permit, or replication.

본 발명의 일 실시 상태에 있어서, 정책 관리 모듈(420)은 패킷의 헤더에 저장된 정보를 매칭하여, 매칭되는 패킷의 흐름을 제어하는 패킷 필터를 생성, 수정 또는 처리하는 것일 수 있다.In one embodiment of the present invention, the policy management module 420 may create, modify, or process a packet filter that controls the flow of the matched packet by matching information stored in the header of the packet.

본 발명의 일 실시 상태에 있어서, 패킷 필터는 출발지(source, src) IP 매칭 필터, 도착지(destination, dst) IP 매칭 필터, TEID 매칭 필터일 수 있으며, GTP 필터 또는 IPv4 필터 일 수 잇다.In one embodiment of the present invention, the packet filter may be a source (source, src) IP matching filter, a destination (dst) IP matching filter, a TEID matching filter, and may be a GTP filter or an IPv4 filter.

본 발명의 일 실시 상태에 있어서, GTP 필터는 GTP Outer 패킷 정보를 매칭하는 것일 수 있으며, 구체적으로 패킷의 eth_type, src_mac, dst_mac, src_ip, dst_ip, ip_proto, gtp_teid, gtp_metadata, l4_src_port, l4_dst_port 또는 port_group_label을 매칭하는 것일 수 있다.In an embodiment of the present invention, the GTP filter may match GTP Outer packet information, and specifically, match eth_type, src_mac, dst_mac, src_ip, dst_ip, ip_proto, gtp_teid, gtp_metadata, l4_src_port, l4_group_label, or port of the packet. may be doing

본 발명의 일 실시 상태에 있어서, IPv4 필터는 GTP Inner 패킷 정보를 매칭하는 것일 수 있으며, 구체적으로 패킷의 src_mac, dst_mac, src_ip, dst_ip, ip_proto, l4_src_port, l4_dst_port 또는 port_group_label을 매칭하는 것일 수 있다.In an embodiment of the present invention, the IPv4 filter may match GTP inner packet information, and specifically, may match src_mac, dst_mac, src_ip, dst_ip, ip_proto, l4_src_port, l4_dst_port or port_group_label of the packet.

도 31을 참조하면, 본 발명의 일 실시예에 따른 심층 패킷 매칭 방법의 유출 패킷 파싱 단계(S3061)는 다음 단계들을 포함할 수 있다:Referring to FIG. 31 , the outgoing packet parsing step S3061 of the deep packet matching method according to an embodiment of the present invention may include the following steps:

심층 패킷 매칭 모듈(430)이 유출 패킷에서 인입 포트 필터 번호를 추출하는 인입 포트 필터 번호 파싱 단계(S1301);Ingress port filter number parsing step of the deep packet matching module 430 extracting the incoming port filter number from the outgoing packet (S1301);

심층 패킷 매칭 모듈(430)이 유출 패킷에서 추출된 인입 포트 필터 번호를 정책 관리자 모듈(420)에 질의하는 인입 포트 필터 매칭 단계(S1302);Incoming port filter matching step (S1302) in which the deep packet matching module 430 queries the policy manager module 420 for the incoming port filter number extracted from the outgoing packet;

매칭된 인입 포트 필터 번호가 존재하면, 정책 관리자 모듈(420)에서 매칭된 인입 포트 액션을 추출하는 단계(S1303);If the matched incoming port filter number exists, extracting the matched incoming port action in the policy manager module 420 (S1303);

심층 패킷 매칭 모듈(430)이 유출 패킷에서 GTP 필터 번호를 추출하는 GTP 필터 번호 파싱 단계(S1304);Deep packet matching module 430 GTP filter number parsing step of extracting the GTP filter number from the outgoing packet (S1304);

심층 패킷 매칭 모듈(430)이 유출 패킷에서 추출된 GTP 필터 번호를 정책 관리자 모듈(420)에 질의하는 GTP 필터 매칭 단계(S1305);Deep packet matching module 430 GTP filter matching step of querying the policy manager module 420 for the GTP filter number extracted from the outgoing packet (S1305);

매칭된 GTP 필터 번호가 존재하면, 정책 관리자 모듈(420)에서 매칭된 GTP 액션을 추출하는 단계(S1306);If the matched GTP filter number exists, extracting the matched GTP action in the policy manager module 420 (S1306);

심층 패킷 매칭 모듈(430)이 유출 패킷에서 Inner IPv4 정보를 추출하는 Inner IPv4 파싱 단계(S1307);Inner IPv4 parsing step in which the deep packet matching module 430 extracts Inner IPv4 information from the outgoing packet (S1307);

심층 패킷 매칭 모듈(430)이 유출 패킷에서 추출된 Inner IPv4 정보를 정책 관리자 모듈(420)에 질의하는 Inner IPv4 매칭 단계(S1308);Inner IPv4 matching step (S1308) in which the deep packet matching module 430 queries the policy manager module 420 for inner IPv4 information extracted from the outgoing packet;

매칭된 Inner IPv4 정보가 존재하면, 정책 관리자 모듈(420)에서 매칭된 Inner IPv4 액션을 추출하는 단계(S1309); 및If the matched inner IPv4 information exists, extracting the matched inner IPv4 action from the policy manager module 420 (S1309); and

심층 패킷 매칭 모듈(430)이 유출 패킷과 추출된 모든 액션 리스트 쌍을 GTP 유저 평면 유출 포트 매치 액션 테이블(2912)에 저장하는 액션 리스트 생성 단계(S1310).The deep packet matching module 430 stores the outgoing packet and all the extracted action list pairs in the GTP user plane outgoing port match action table 2912 action list generation step (S1310).

상기 본 발명은 하드웨어 또는 소프트웨어에서 구현될 수 있다. 구현은 상기 본 발명은 또한 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광 데이터 저장장치 등이 있으며, 또한 캐리어 웨이브(예를 들어 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다. 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다. 그리고 본 발명을 구현하기 위한 기능적인(functional) 프로그램, 코드 및 코드 세그먼트들은 본 발명이 속하는 기술분야의 프로그래머들에 의해 용이하게 추론될 수 있다.The present invention may be implemented in hardware or software. Implementation The present invention can also be implemented as computer-readable codes on a computer-readable recording medium. The computer-readable recording medium includes all kinds of recording devices in which data readable by a computer system is stored. Examples of the computer-readable recording medium include ROM, RAM, CD-ROM, magnetic tape, floppy disk, optical data storage device, etc., and may also be implemented in the form of a carrier wave (eg, transmission through the Internet). include In addition, the computer-readable recording medium is distributed in a computer system connected through a network, so that the computer-readable code can be stored and executed in a distributed manner. And functional programs, codes, and code segments for implementing the present invention can be easily inferred by programmers in the technical field to which the present invention pertains.

본 발명의 실시예들은 여기에 설명된 방법들 중 하나가 실행되는 프로그램가능 컴퓨터 시스템으로 운영될 수 있는, 전자적으로 판독가능한 제어 신호들을 갖는 캐리어 웨이브를 포함할 수 있다. 본 발명의 실시예들은 프로그램 코드를 갖는 컴퓨터 프로그램 제품으로서 구현될 수 있으며, 프로그램 코드는 컴퓨터 프로그램이 컴퓨터 상에서 구동될 때 방법들 중 하나를 실행하기 위하여 운영된다. 프로그램 코드는 예를 들면 기계 판독가능 캐리어 상에 저장될 수 있다. 본 발명의 일실시예는 컴퓨터 프로그램이 컴퓨터 상에 구동될 때, 여기에 설명된 방법들 중 하나를 실행하기 위한 프로그램 코드를 갖는 컴퓨터 프로그램일 수 있다. 본 발명은 위에서 설명한 방법들 중 하나를 실행하기 위한 컴퓨터, 또는 프로그램가능 논리 장치를 포함할 수 있다. 위에서 설명한 방법들의 일부 또는 모든 기능을 실행하기 위하여 프로그램가능 논리 장치(예를 들면, 필드 프로그램가능 게이트 어레이, 상보성 금속 산화물 반도체 기반 논리 회로)가 사용될 수 있다.Embodiments of the present invention may include a carrier wave having electronically readable control signals, which may be operated as a programmable computer system in which one of the methods described herein is executed. Embodiments of the present invention may be implemented as a computer program product having a program code, the program code being operative for executing one of the methods when the computer program is run on a computer. The program code may be stored on a machine readable carrier, for example. One embodiment of the present invention may be a computer program having program code for executing one of the methods described herein when the computer program is run on a computer. The invention may comprise a computer, or programmable logic device, for carrying out one of the methods described above. Programmable logic devices (eg, field programmable gate arrays, complementary metal oxide semiconductor based logic circuits) may be used to perform some or all of the functions of the methods described above.

또한, 이상에서는 본 발명의 바람직한 실시예에 대하여 도시하고 설명하였지만, 본 발명은 상술한 특정의 실시예에 한정되지 아니하며, 청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 의해 다양한 변형실시가 가능한 것은 물론이고, 이러한 변형실시들은 본 발명의 기술적 사상이나 전망으로부터 개별적으로 이해되어져 서는 안 될 것이다.In addition, although preferred embodiments of the present invention have been illustrated and described above, the present invention is not limited to the specific embodiments described above, and the technical field to which the present invention belongs without departing from the gist of the present invention as claimed in the claims In addition, various modifications may be made by those of ordinary skill in the art, and these modifications should not be individually understood from the technical spirit or prospect of the present invention.

Claims (12)

무선 단말의 데이터를 송수신하는 복수의 원격 무선 장비(RRH; Remote Radio Head);
무선 단말의 데이터를 송수신하여, 프레임에 MAC 주소가 할당된, RAN(Radio Access Network) 장비;
복수의 광 회선 단말(OLT; Optical Line Terminal); 및
이동 통신 코어망;
상기 이동 통신 코어망에 연결된 네트워크 중개 장치를 포함하는 오픈 프론트홀 네트워크 시스템으로서,
상기 네트워크 중개 장치는, 상기 원격 무선 장비와 이더넷으로 연결, 상기 RAN 장비와 이더넷으로 연결 또는 상기 광 회선 단말과 수동 광통신망(PON; Passive Optical Network)으로 연결된 복수의 오픈플로우(openflow) 에지 스위치로서,
상기 복수의 오픈플로우 에지 스위치는 스위치 그룹에 속하는 상기 복수의 오픈플로우 에지 스위치의 정보를 취득하는 SDN(Software Defined Network) 제어기;
상기 복수의 스위치 중 적어도 일부의 스위치를 포함하는 스위치 군을 가상 라우터로 취급하여, 상기 스위치 군 중 어느 한 스위치에 인입되는 패킷에 대한 라우팅 정보를 생성하는 레거시 라우터 컨테이너; 및
네트워크 어플리케이션 모듈은 상기 제어기를 통하여, 요청에 따라 패킷의 조작과 흐름을 제어하는 기능을 수행하는 모듈들을 포함하는 네트워크 어플리케이션 모듈을 포함하는 네트워크 패킷 중개 장치로서,
상기 레거시 라우팅 컨테이너가, 상기 제어기의 플로우 처리 문의 메시지에 대한 레거시 라우팅 정보를 상기 적어도 하나의 가상 라우터의 정보를 기초로 생성하는 상기 복수의 오픈플로우 스위치에 연결된 복수의 네트워크 디바이스를 상기 가상 라우터에 직접 연결된 외부 네트워크 정보로 맵핑하는 것이며,
상기 네트워크 어플리케이션 모듈은 네트워크 디바이스의 타임스탬프 값으로 패킷의 시각을 동기화하는, 시각 동기화 모듈을 포함하고,
상기 네트워크 패킷 중개 장치 프로세서를 더 포함하며, 상기 스위치는 프로세서를 더 포함하며, 상기 네트워크 패킷 중개 장치의 프로세서는 시각값을 회신하는 클럭을 포함하고, 스위치의 프로세서는 프로세서 내에 기준 시간으로부터 경과된 시간 파라미터를 저장하는 레지스터를 포함하며, 상기 시각 동기화 모듈은 상기 스위치가 패킷의 타임 스탬프 부여 요청을 받는 경우, 기준 시간스위치의 프로세서의 레지스터로부터 시간 파라미터의 오버플로우을 보정하여 패킷에 타임 스탬프를 저장하는 것인, 오픈 프론트홀 네트워크 시스템.
A plurality of remote radio equipment (RRH; Remote Radio Head) for transmitting and receiving data of the radio terminal;
RAN (Radio Access Network) equipment that transmits and receives data of a wireless terminal, and a MAC address is assigned to a frame;
a plurality of optical line terminals (OLTs); and
mobile communication core network;
An open fronthaul network system including a network intermediary device connected to the mobile communication core network,
The network intermediary device is a plurality of openflow edge switches connected to the remote wireless equipment by Ethernet, connected to the RAN equipment by Ethernet, or connected to the optical line terminal and a passive optical network (PON) by a passive optical network (PON). ,
The plurality of openflow edge switches may include a software defined network (SDN) controller configured to acquire information on the plurality of openflow edge switches belonging to a switch group;
a legacy router container that treats a switch group including at least some of the plurality of switches as a virtual router, and generates routing information for a packet arriving at any one of the switch groups; and
The network application module is a network packet intermediary device including a network application module including modules that perform a function of controlling the operation and flow of packets according to a request through the controller,
The legacy routing container directs a plurality of network devices connected to the plurality of OpenFlow switches for generating legacy routing information for a flow processing inquiry message of the controller based on the information of the at least one virtual router to the virtual router. It maps to the connected external network information,
The network application module includes a time synchronization module for synchronizing the time of the packet with the timestamp value of the network device,
The network packet relay device further includes a processor, the switch further includes a processor, the processor of the network packet relay device includes a clock for returning a time value, and the processor of the switch includes a time elapsed from a reference time in the processor. a register for storing a parameter, wherein the time synchronization module stores the time stamp in the packet by correcting the overflow of the time parameter from the register of the processor of the reference time switch when the switch receives a request for time stamping of the packet In, open fronthaul network system.
제1항에 있어서,
상기 제어기는, 상기 연결된 무선 엑세스 네트워크의 원격 무선 장비(RRH, Remote Radio Head)를 상기 가상 라우터에 직접 연결된 외부 네트워크 정보로 맵핑하는 가상 무선망 제어 모듈을 더 포함하는, 오픈 프론트홀 네트워크 시스템.
According to claim 1,
The controller further comprises a virtual radio network control module for mapping a remote radio head (RRH) of the connected radio access network to information on an external network directly connected to the virtual router.
제1항에 있어서,
상기 제어기는, 상기 연결된 유선 액세스 네트워크의 광 회선 단말(OLT; Optical Line Terminal)를 상기 가상 라우터에 직접 연결된 외부 네트워크 정보로 맵핑하는 가상 유선망 제어 모듈을 더 포함하는, 오픈 프론트홀 네트워크 시스템.
According to claim 1,
The controller further comprises a virtual wired network control module for mapping an optical line terminal (OLT) of the connected wired access network to external network information directly connected to the virtual router.
제1항에 있어서,
상기 제어기는, 상기 연결된 무선 액세스 네트워크의 디지털 처리장치(DU, Digital Unit)를 상기 가상 라우터에 직접 연결된 외부 네트워크 정보로 맵핑하는 분산 무선망 제어 모듈을 더 포함하는, 오픈 프론트홀 네트워크 시스템.
According to claim 1,
The controller further comprises a distributed radio network control module that maps a digital unit (DU) of the connected radio access network to external network information directly connected to the virtual router.
무선 단말의 데이터를 송수신하는 복수의 원격 무선 장비(RRH; Remote Radio Head);
무선 단말의 데이터를 송수신하여, 프레임에 MAC 주소가 할당된, RAN(Radio Access Network) 장비;
복수의 광 회선 단말(OLT; Optical Line Terminal); 및
이동 통신 코어망;
상기 이동 통신 코어망에 연결된 네트워크 중개 장치를 포함하는 오픈 프론트홀 네트워크 시스템으로서,
상기 네트워크 중개 장치는, 상기 원격 무선 장비와 이더넷으로 연결, 상기 RAN 장비와 이더넷으로 연결 또는 상기 광 회선 단말과 수동 광통신망(PON; Passive Optical Network)으로 연결된 복수의 오픈플로우(openflow) 에지 스위치로서,
상기 복수의 오픈플로우 에지 스위치는 스위치 그룹에 속하는 상기 복수의 오픈플로우 에지 스위치의 정보를 취득하는 SDN(Software Defined Network) 제어기;
상기 복수의 스위치 중 적어도 일부의 스위치를 포함하는 스위치 군을 가상 라우터로 취급하여, 상기 스위치 군 중 어느 한 스위치에 인입되는 패킷에 대한 라우팅 정보를 생성하는 레거시 라우터 컨테이너; 및
네트워크 어플리케이션 모듈은 상기 제어기를 통하여, 요청에 따라 패킷의 조작과 흐름을 제어하는 기능을 수행하는 모듈들을 포함하는 네트워크 어플리케이션 모듈을 포함하는 네트워크 패킷 중개 장치로서,
상기 레거시 라우팅 컨테이너가, 상기 제어기의 플로우 처리 문의 메시지에 대한 레거시 라우팅 정보를 상기 적어도 하나의 가상 라우터의 정보를 기초로 생성하는 상기 복수의 오픈플로우 스위치에 연결된 복수의 네트워크 디바이스를 상기 가상 라우터에 직접 연결된 외부 네트워크 정보로 맵핑하는 것이며,
상기 네트워크 어플리케이션 모듈은 네트워크 디바이스의 타임스탬프 값으로 패킷의 시각을 동기화하는, 시각 동기화 모듈을 포함하고,
상기 네트워크 패킷 중개 장치 프로세서를 더 포함하며, 상기 스위치는 프로세서를 더 포함하며, 상기 네트워크 패킷 중개 장치의 프로세서는 시각값을 회신하는 클럭을 포함하고, 스위치의 프로세서는 프로세서 내에 기준 시간으로부터 경과된 시간 파라미터를 저장하는 레지스터를 포함하며, 상기 시각 동기화 모듈은 상기 스위치가 패킷의 타임 스탬프 부여 요청을 받는 경우, 기준 시간스위치의 프로세서의 레지스터로부터 시간 파라미터의 오버플로우을 보정하여 패킷에 타임 스탬프를 저장하는 것인, 오픈 프론트홀 네트워크 시스템의 패킷 타임 스탬프 부여 방법.
A plurality of remote radio equipment (RRH; Remote Radio Head) for transmitting and receiving data of the radio terminal;
RAN (Radio Access Network) equipment that transmits and receives data of a wireless terminal, and a MAC address is assigned to a frame;
a plurality of optical line terminals (OLTs); and
mobile communication core network;
An open fronthaul network system including a network intermediary device connected to the mobile communication core network,
The network intermediary device is a plurality of openflow edge switches connected to the remote wireless equipment by Ethernet, connected to the RAN equipment by Ethernet, or connected to the optical line terminal and a passive optical network (PON) by a passive optical network (PON). ,
The plurality of openflow edge switches may include: a software defined network (SDN) controller configured to acquire information on the plurality of openflow edge switches belonging to a switch group;
a legacy router container that treats a switch group including at least some of the plurality of switches as a virtual router, and generates routing information for a packet arriving at any one of the switch groups; and
The network application module is a network packet intermediary device including a network application module including modules that perform a function of controlling the operation and flow of packets according to a request through the controller,
The legacy routing container directs a plurality of network devices connected to the plurality of OpenFlow switches for generating legacy routing information for a flow processing inquiry message of the controller based on the information of the at least one virtual router to the virtual router. It maps to the connected external network information,
The network application module includes a time synchronization module for synchronizing the time of the packet with the timestamp value of the network device,
The network packet relay device further includes a processor, the switch further includes a processor, the processor of the network packet relay device includes a clock for returning a time value, and the processor of the switch includes a time elapsed from a reference time in the processor. a register for storing a parameter, wherein the time synchronization module stores the time stamp in the packet by correcting the overflow of the time parameter from the register of the processor of the reference time switch when the switch receives a request for time stamping of the packet A method for giving packet timestamps in an open fronthaul network system.
제5항에 있어서,
상기 방법은,
네트워크 패킷 중개 장치의 프로세서의 클럭을 스위치가 취득하는 단계;
스위치의 기준 시간 파라미터 Tb을 취득한 클럭으로 갱신하는 단계;
스위치가 패킷의 타임 스탬프 부여 요청을 받는 단계;
시각 동기화 모듈이 스위치의 전 경과시간 파라미터 Tp를 현 경과시간 파라미터 Tc로 갱신하는 단계;
시각 동기화 모듈이 스위치로부터 파라미터 Tb 기준 경과한 시간값을 파라미터 Tc으로 취득하는 단계;
시각 동기화 모듈이 파라미터 Tc와 파라미터 Tp의 크기를 비교하는 단계;
시각 동기화 모듈이 파라미터 Tc가 파라미터 Tp보다 작은 경우, 파라미터 Tb를 파라미터 Tp 및 보정값의 합만큼 가산하여 갱신하는 단계;
시각 동기화 모듈이 파라미터 Tc가 파라미터 Tp보다 크거나 같은 경우, 파라미터 Tb를 파라미터 Tp만큼 가산하여 갱신하는 단계; 및
시각 동기화 모듈이 스위치가 파라미터 Tb를 패킷에 타임 스탬프로 저장하는 단계;를 포함하는, 오픈 프론트홀 네트워크 시스템의 패킷 타임 스탬프 부여 방법.
6. The method of claim 5,
The method is
acquiring, by the switch, a clock of the processor of the network packet intermediary device;
updating the reference time parameter Tb of the switch with the obtained clock;
receiving, by the switch, a time stamp request of the packet;
updating, by the time synchronization module, the previous elapsed time parameter Tp of the switch to the current elapsed time parameter Tc;
acquiring, by the time synchronization module, an elapsed time value based on the parameter Tb from the switch as a parameter Tc;
comparing, by the time synchronization module, magnitudes of the parameter Tc and the parameter Tp;
updating, by the time synchronization module, when the parameter Tc is smaller than the parameter Tp by adding the parameter Tb by the sum of the parameter Tp and the correction value;
updating, by the time synchronization module, adding the parameter Tb by the parameter Tp when the parameter Tc is greater than or equal to the parameter Tp; and
A method for assigning time stamps to packets in an open fronthaul network system, comprising: by the time synchronization module, the switch storing the parameter Tb in the packet as a time stamp.
제6항에 있어서,
상기 방법은 IEEE 1588 PTP(Precision Time Protocol) 동기화 프로토콜을 이용하는 것인, 오픈 프론트홀 네트워크 시스템의 패킷 타임 스탬프 부여 방법.
7. The method of claim 6,
The method is to use IEEE 1588 PTP (Precision Time Protocol) synchronization protocol, packet time stamping method in an open fronthaul network system.
제6항에 있어서,
상기 파라미터 Tp 및 파라미터 Tc는 상기 스위치의 프로세서의 레지스터에 저장하는 것인, 오픈 프론트홀 네트워크 시스템의 패킷 타임 스탬프 부여 방법.
7. The method of claim 6,
wherein the parameter Tp and the parameter Tc are stored in a register of a processor of the switch.
제6항에 있어서,
상기 레지스터의 저장 단위는 48 비트인, 오픈 프론트홀 네트워크 시스템의 패킷 타임 스탬프 부여 방법.
7. The method of claim 6,
The storage unit of the register is 48 bits, the packet time stamping method of the open fronthaul network system.
제6항에 있어서,
상기 패킷에 타임 스탬프로 저장하는 단계에서, 타임 스탬프 저장 단위는 64비트인 것인, 오픈 프론트홀 네트워크 시스템의 패킷 타임 스탬프 부여 방법.
7. The method of claim 6,
In the step of storing the time stamp in the packet, the time stamp storage unit is 64 bits.
제8항에 있어서,
상기 갱신하는 단계의 보정값은 상기 레지스터의 저장 단위의 최대값 인 것인, 오픈 프론트홀 네트워크 시스템의 패킷 타임 스탬프 부여 방법.
9. The method of claim 8,
and the correction value of the updating step is the maximum value of the storage unit of the register.
제9항에 있어서,
상기 갱신하는 단계의 보정값은 4,294,967,294인 것인, 오픈 프론트홀 네트워크 시스템의 패킷 타임 스탬프 부여 방법.
10. The method of claim 9,
The correction value of the updating step is 4,294,967,294, packet time stamping method of an open fronthaul network system.
KR1020190153831A 2019-11-26 2019-11-26 Open fronthaul network system and method for timestamping packet of the same KR20210064983A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190153831A KR20210064983A (en) 2019-11-26 2019-11-26 Open fronthaul network system and method for timestamping packet of the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190153831A KR20210064983A (en) 2019-11-26 2019-11-26 Open fronthaul network system and method for timestamping packet of the same

Publications (1)

Publication Number Publication Date
KR20210064983A true KR20210064983A (en) 2021-06-03

Family

ID=76396843

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190153831A KR20210064983A (en) 2019-11-26 2019-11-26 Open fronthaul network system and method for timestamping packet of the same

Country Status (1)

Country Link
KR (1) KR20210064983A (en)

Similar Documents

Publication Publication Date Title
US10904140B2 (en) Integrated wire and wireless network packet broker and method for GTP correlation assigning method of the same
KR102174651B1 (en) Intergrated wire and wireless network packet broker and method for timestamping packet of the same
US20230319639A1 (en) User-plane apparatus for edge computing
US9654395B2 (en) SDN-based service chaining system
EP3116177B1 (en) Service implementation method for nfv system, and communications unit
JP5719068B2 (en) Apparatus and method for implementing packet gateway user plane
CN109791482A (en) Scalable service is found in micro services environment
Jin et al. SoftCell: Taking control of cellular core networks
KR102455902B1 (en) Load balancing of wireless subscriber packet processing through multiple packet processing cores on a virtual machine platform
CN111480354A (en) Data routing in a communication system
CN110166414B (en) Communication method, device and system
KR101320538B1 (en) Method and system for implementing network intercommunication
US20220360523A1 (en) Systems and methods for user plane function ("upf") offload at configurable routing fabric
WO2016180020A1 (en) Message processing method, device and system
EP4152882A1 (en) Session establishment method, apparatus and system and computer storage medium
KR101527377B1 (en) Service chaining system based on software defined networks
Subramanya et al. A practical architecture for mobile edge computing
Chaves et al. Integrating OpenFlow to LTE: Some issues toward software-defined mobile networks
Mueller et al. Design and implementation of a carrier grade software defined telecommunication switch and controller
KR20210064986A (en) Open fronthaul network system and method for slicing virtual router of the same
CN109587826B (en) GTP data packet transmission method, related device and storage medium
KR20210064983A (en) Open fronthaul network system and method for timestamping packet of the same
KR20210064985A (en) Open fronthaul network system and method for correlating gtp packets of the same
KR20210064984A (en) Open fronthaul network system and method for matching deep packet of the same
WO2023050666A1 (en) Bare metal detection method and system, and related component