KR101679224B1 - Network system based on sdn capable traffice distribution - Google Patents

Network system based on sdn capable traffice distribution Download PDF

Info

Publication number
KR101679224B1
KR101679224B1 KR1020140166816A KR20140166816A KR101679224B1 KR 101679224 B1 KR101679224 B1 KR 101679224B1 KR 1020140166816 A KR1020140166816 A KR 1020140166816A KR 20140166816 A KR20140166816 A KR 20140166816A KR 101679224 B1 KR101679224 B1 KR 101679224B1
Authority
KR
South Korea
Prior art keywords
network
traffic
controller
information
entry
Prior art date
Application number
KR1020140166816A
Other languages
Korean (ko)
Other versions
KR20160063158A (en
Inventor
박성용
사이키아 딥죠이티
공석환
김창우
Original Assignee
쿨클라우드(주)
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 쿨클라우드(주) filed Critical 쿨클라우드(주)
Priority to KR1020140166816A priority Critical patent/KR101679224B1/en
Publication of KR20160063158A publication Critical patent/KR20160063158A/en
Application granted granted Critical
Publication of KR101679224B1 publication Critical patent/KR101679224B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W28/00Network traffic management; Network resource management
    • H04W28/02Traffic management, e.g. flow control or congestion control
    • H04W28/08Load balancing or load distribution
    • H04W28/084Load balancing or load distribution among network function virtualisation [NFV] entities; among edge computing entities, e.g. multi-access edge computing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4633Interconnection of networks using encapsulation techniques, e.g. tunneling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/12Avoiding congestion; Recovering from congestion
    • H04L47/125Avoiding congestion; Recovering from congestion by balancing the load, e.g. traffic engineering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/2491Mapping quality of service [QoS] requirements between different networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/60Software-defined switches
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W28/00Network traffic management; Network resource management
    • H04W28/02Traffic management, e.g. flow control or congestion control
    • H04W28/0268Traffic management, e.g. flow control or congestion control using specific QoS parameters for wireless networks, e.g. QoS class identifier [QCI] or guaranteed bit rate [GBR]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W28/00Network traffic management; Network resource management
    • H04W28/02Traffic management, e.g. flow control or congestion control
    • H04W28/08Load balancing or load distribution
    • H04W28/086Load balancing or load distribution among access entities
    • H04W28/0866Load balancing or load distribution among access entities between wireless and wire-based access points, e.g. via LTE and via DSL connected access points

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

본 발명은 SDN(Software Defined Network) 기반의 네트워크로서 서비스별 품질을 보장하는 선택적인 트래픽 분배가 가능한 네트워크 시스템에 관한 것으로, 본 네트워크 시스템은 서비스별로 효율적인 네트워크 사용이 가능하여 전체적으로 네트워크의 사용 효율을 높이고 사용자 경험의 만족도를 높일 수 있다.The present invention relates to a network system based on SDN (Software Defined Network) and capable of selectively distributing traffic to guarantee service quality, and the network system can efficiently use the network for each service, The satisfaction of the user experience can be increased.

Description

SDN 기반의 트래픽 분배 가능한 네트워크 시스템 {NETWORK SYSTEM BASED ON SDN CAPABLE TRAFFICE DISTRIBUTION}[0001] NETWORK SYSTEM BASED ON SDN CAPABLE TRAFFICE DISTRIBUTION [0002]

본 발명은 SDN(Software Defined Network) 기반의 네트워크로서 서비스별 품질을 보장하는 선택적인 트래픽 분배가 가능한 네트워크 시스템에 관한 것으로, 본 네트워크 시스템은 서비스별로 효율적인 네트워크 사용이 가능하여 전체적으로 네트워크의 사용 효율을 높이고 사용자 경험의 만족도를 높일 수 있다.The present invention relates to a network system based on SDN (Software Defined Network) and capable of selectively distributing traffic to guarantee service quality, and the network system can efficiently use the network for each service, The satisfaction of the user experience can be increased.

2 이상의 네트워크에 선택저으로 트래픽 분배를 하기 위해 디바이스의 IP를 기반으로 할 수 있는데,이와 같은 경우 디바이스의 IP를 기반으로 분류를 하기 때문에 서비스의 구체적인 특성에 기반한 것이 아닌 대략적인 전체 서비스의 네트워크 상태를 기반으로 한다. 모바일을 통해 다양한 서비스를 받는 사용자의 경우, 트래픽 분배의 효과를 얻기 어려운 점이 있다. 또한 VoIP와 같이 실시간성의 서비스의 경우, 품질 보장이 매우 중요한 요소가 되므로, 실질적인 트래픽 분배의 효과를 얻기 위해서는 이러한 요소가 고려되어야 한다.In order to distribute the traffic to the selected 2 or more networks, the IP of the device may be based. In this case, since the classification is performed based on the IP of the device, the approximate network status . In the case of users receiving various services through mobile, it is difficult to obtain the effect of traffic distribution. In case of real-time service such as VoIP, quality assurance becomes a very important factor. Therefore, these factors must be considered in order to obtain the effect of actual traffic distribution.

1. OpenFlow Switch Specification version 1.4.0(Wire Protocol 0x05), October 14, 2013 [https://www.opennetworking.org/images/stories/downloads/sdn-resources/onf-specifications/openflow/openflow-spec-v1.4.0.pdf]1. OpenFlow Switch Specification version 1.4.0 (Wire Protocol 0x05), October 14, 2013 [https://www.opennetworking.org/images/stories/downloads/sdn-resources/onf-specifications/openflow/openflow-spec- v1.4.0.pdf] 2. Software-Defined Networking: The New Norm for Netwrks, ONF White Paper, April 13, 2012 [https://www.opennetworking.org/images/stories/downloads/sdn-resources/white-papers/wp-sdn-newnorm.pdf]2. Software-Defined Networking: The New Norm for Netwrks, ONF White Paper, April 13, 2012 [https://www.opennetworking.org/images/stories/downloads/sdn-resources/white-papers/wp-sdn- newnorm.pdf] 3. ETSI GS NFV 002 v1.1.1 (2013-10)3. ETSI GS NFV 002 v1.1.1 (2013-10) [http://www.etsi.org/deliver/etsi_gs/NFV/001_099/002/01.01.01_60/gs_NFV002v010101p.pdf][http://www.etsi.org/deliver/etsi_gs/NFV/001_099/002/01.01.01_60/gs_NFV002v010101p.pdf]

본 발명의 목적은 SDN을 활용하여 서비스별로 품질을 보장할 수 있는 트래픽 분배가 가능한 네트워크 시스템을 제공하는데 있다. 또한 서비스 체인닝에 필요한 테이블의 크기를 최소화할 수 있는 서비스 체이닝 제공 방법을 제공하는 데 있다. 아울러 개별 사용자 마다의 서비스 체인 룰을 적용하는 것이 아닌, 각각의 서비스 체인 리스트(NF 리스트; NFv 리스트)에 아이디를 적용 및 관리하여, 서비스 체이닝 룰이 보다 쉽고 효율적으로 기능하도록 한다.It is an object of the present invention to provide a network system capable of distributing traffic that can guarantee quality by service using SDN. The present invention also provides a service chaining method capable of minimizing the size of a table required for service chaining. In addition, the service chain rule is applied and managed to each service chain list (NF list: NFv list), rather than applying the service chain rule for each individual user, so that the service chaining rule functions more easily and efficiently.

본 발명에 따른 네트워크 시스템은, 이동 단말과 연결된 무선 엑세스 망; 상기 무선 엑세스 망의 트래픽을 제1 및 제2 네트워크 중 어느 하나로 전송하는 SDN(Software Defined Network) 기반의 코어망; 및 상기 코어망으로부터 트래픽을 수신하여, 상기 수신한 트래픽의 정보로부터 적어도 서비스 종류를 포함하는 서비스 정보를 추출하여, 상기 추출된 서비스 정보를 포함하는 트래픽 분배용 자료에 기초하여 상기 코어망이 상기 제1 및 제2 네트워크 중 어느 하나로 상기 트래픽을 전송하도록 트래픽 제어하는 SDN 기반의 제어기를 포함할 수 있다.A network system according to the present invention includes: a wireless access network connected to a mobile terminal; A core network based on SDN (Software Defined Network) for transmitting traffic of the radio access network to one of first and second networks; And a control unit for receiving traffic from the core network, extracting service information including at least a service type from the received traffic information, and transmitting, based on traffic distribution data including the extracted service information, Based controller for traffic control to transmit the traffic to either one of the first network and the second network.

또한, 상기 추출된 서비스 정보는 QoS 정책을 포함할 수 있다. 또한, 상기 제어기는 상기 코어망으르부터 상기 코어망과 상기 제1 및 제2 네트워크 사이의 트래픽 통계 정보를 수신하고, 상기 트래픽 분배용 자료는 상기 수신한 트래픽 통계 정보를 더 포함할 수 있다.In addition, the extracted service information may include a QoS policy. In addition, the controller receives traffic statistical information between the core network and the first and second networks from the core network, and the traffic distribution data may further include the received traffic statistical information.

또한, 상기 무선 엑세스 망은 이동 단말이 접속하면, 상기 접속한 이동 단말의 유저 IP, 및 TEID를 포함하는 단말 정보를 상기 제어기로 전송하고, 상기 제어기는 상기 무선 엑세스 망으로부터 수신한 상기 단말 정보를 이용하여 단말 정보 DB를 구축하고, 상기 트래픽 분배용 자료는 상기 전송된 단말 정보를 포함할 수 있다. 또한, 상기 무선 엑세스 망은 이동 단말이 해지하면, 상기 해지된 이동 단말의 정보를 상기 제어기로 전송하고, 상기 제어기는 상기 해지된 단말 정보를 수신하면, 상기 해지된 단말 정보를 상기 단말 정보 DB에서 삭제할 수 있다.The wireless access network transmits terminal information including a user IP and a TEID of the connected mobile terminal to the controller when the mobile terminal accesses the terminal, and the controller transmits the terminal information received from the wireless access network to the controller And the traffic distribution data may include the transmitted terminal information. In addition, when the mobile access terminal terminates the wireless access network, the controller transmits information of the terminated mobile terminal to the controller. When the controller receives the terminated terminal information, the controller transmits the terminated terminal information to the terminal information DB Can be deleted.

또한, 상기 제어기는 상기 해지된 이동 단말과 관련된 엔트리를 있는 경우 상기 관련된 엔트리를 엔트리 DB에서 삭제하고, 상기 해지 이동 단말과 관련된 엔트리가 상기 코어망의 엔트리 테이블에서 삭제되도록 하는 메시지를 상기 코어망으로 전송할 수 있다.The controller deletes the associated entry from the entry DB if there is an entry related to the revoked mobile terminal and transmits a message to the core network to delete the entry related to the revoked mobile terminal from the entry table of the core network. Lt; / RTI >

또한, 상기 제1 네트워크는 모바일 네트워크이고, 상기 제2 네트워크는 IP 네트워크이고, 상기 코어망은 트래픽의 GTP 헤더를 제거 또는 변경하거나, 트래픽에 GTP 헤더를 추가할 수 있는 기능을 구비할 수 있다. 또한, 상기 서비스 종류는 상기 트래픽의 GTP 헤더의 외부 목적지 IP 주소 및 이동 단말 패킷의 목적기 IP 주소 중 적어도 어느 하나에 기초하여 추출될 수 있다. 또한, 상기 코어망은 상기 제어기로부터 상기 제2 네트워크로 상기 이동 단말의 트래픽을 전송하라는 지시를 받은 경우, 상기 이동 단말 트래픽의 GTP 헤더를 제거하고 상기 GTP 헤더가 제거된 이동 단말 트래픽을 상기 제2 네트워크로 전송할 수 있다. 또한, 상기 코어망은 상기 제2 네트워크로부터 트래픽이 유입되는 경우, 상기 제2 네트워크 트래픽에 GTP 헤더를 추가하여 상기 GTP 헤더가 추가된 제2 네트워크 트래픽을 상기 무선 엑세스 망으로 전송할 수 있다.Also, the first network may be a mobile network, the second network may be an IP network, and the core network may have a function of removing or changing GTP headers of traffic, or adding GTP headers to the traffic. The service type may be extracted based on at least one of an external destination IP address of the GTP header of the traffic and a destination IP address of the mobile terminal packet. In addition, when the core network receives an instruction to transmit traffic of the mobile terminal from the controller to the second network, the core network removes the GTP header of the mobile terminal traffic and transmits the removed mobile terminal traffic to the second Network. The core network may transmit a second network traffic to which the GTP header is added to the wireless access network by adding a GTP header to the second network traffic when traffic is received from the second network.

또한, 상기 GTP 헤더 추가는, 상기 코어망에서 상기 코어망의 엔트리 테이블의 상기 제2 네트워크 트패픽의 플로우 정보에 부합하는 엔트리의 인스트럭션 실행에 의한 추가 및 상기 제2 네트워크 트래픽을 상기 코어망으로부터 수신한 상기 제어기가 상기 제2 네트워크 트래픽의 정보로부터 GTP 헤더를 추가하도록 상기 코어망에 지시하는 지시 메시지에 의한 상기 코어망에서의 추가 중 어느 하나일 수 있다.The addition of the GTP header may include adding an entry corresponding to the flow information of the second network traffic of the entry table of the core network in the core network by executing an instruction and receiving the second network traffic from the core network And an addition in the core network by an instruction message indicating that the controller adds the GTP header from the information of the second network traffic to the core network.

본 발명에 따르면, 서비스별 트래픽 분류와 품질 보장이 가능하여, 사용자의 만족도를 높일 수 있다. 서비스별 고효율이 네트워크 사용이 가능하며, 이로 인해 전체 네트워크의 자원 활용도를 높일 수 있다. 또한 트래픽을 모니터링함으로써, 트래픽의 사용 패턴 모니터링, 빅데이터와의 연동 가능성, 및 과금 시스템과의 연계성을 높일 수 있다.According to the present invention, traffic classification and quality assurance can be performed for each service, thereby improving the user's satisfaction. High efficiency per service can be used in the network, which can increase resource utilization of the entire network. In addition, by monitoring the traffic, it is possible to monitor the usage pattern of the traffic, the possibility of interworking with the big data, and the connection with the billing system.

도 1은 본 발명의 일실시예에 따른 SDN 네트워크 시스템의 블록 구성도(block diagram),
도 2는 도 1의 네트워크 시스템의 제어기의 블록 구성도,
도 3은 도 1의 네트워크 시스템의 스위치의 블록 구성도,
도 4는 플로우 엔트리의 필드 테이블 및 플로우 엔트리에 따른 동작 종류를 나타내는 동작 테이블,
도 5는 그룹 및 미터 테이블의 필드 테이블,
도 6은 본 발명의 일 실시예에 따른 이동 네트워크 시스템의 블록 구성도,
도 7은 본 발명의 다른 실시예에 따른 제어기의 블록 구성도, 및
도 8 내지 도 10은 도 6의 이동 네트워크 시스템에서의 신호 흐름도이다.
1 is a block diagram of an SDN network system according to an embodiment of the present invention;
2 is a block diagram of a controller of the network system of FIG. 1;
FIG. 3 is a block diagram of a switch of the network system of FIG. 1,
4 is an operation table showing a field table of a flow entry and an operation type according to a flow entry,
5 shows the field table of the group and meter tables,
6 is a block diagram of a mobile network system according to an embodiment of the present invention.
7 is a block diagram of a controller according to another embodiment of the present invention, and Fig.
8 to 10 are signal flow diagrams in the mobile network system of Fig.

이하, 도면을 참조하여 본 발명을 보다 상세하게 설명한다.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 components, but the components should not be limited by the terms. The terms are used only for the purpose of distinguishing one component from another. For example, without departing from the scope of the present invention, the first component may be referred to as a second component, and similarly, the second component may also be referred to as a first component. And / or < / RTI > includes any combination of a plurality of related listed items or any of a plurality of related listed items.

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

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

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

도 1은 본 발명의 일실시예에 따른 SDN 네트워크 시스템의 블록 구성도(block diagram), 도 2는 도 1의 네트워크 시스템의 제어기의 블록 구성도, 도 3은 도 1의 네트워크 시스템의 스위치의 블록 구성도, 도 4는 플로우 엔트리의 필드 테이블 및 플로우 엔트리에 따른 동작 종류를 나타내는 동작 테이블, 도 5는 그룹 및 미터 테이블의 필드 테이블이다.FIG. 1 is a block diagram of an SDN network system according to an embodiment of the present invention. FIG. 2 is a block diagram of a controller of the network system of FIG. 1. FIG. 3 is a block diagram of a switch of a network system of FIG. 4 is an operation table showing a field table of a flow entry and an operation type according to a flow entry, and Fig. 5 is a field table of a group and a meter table.

도 1을 참조하면, 본 발명에 일 실시예에 따른 SDN 네트워크 시스템은 제어기(contoller)(10), 복수의 스위치(20) 및 복수의 네트워크 디바이스(30)를 포함할 수 있다.Referring to FIG. 1, an SDN network system according to an embodiment of the present invention may include a controller 10, a plurality of switches 20, and a plurality of network devices 30.

네트워크 디바이스(30)는 데이터나 정보를 주고 받고자 하는 사용자 단말 장치, 또는 특정 기능을 수행하는 물리 장치 또는 가상 장치를 포함할 수 있다. 하드웨어 관점에서, 네트워크 디바이스(30)는 PC, 클라이언트 단말기, 서버, 워크스테이션, 수퍼컴퓨터, 이동통신 단말기, 스마트폰, 스마트패드 등이 있을 수 있다. 또한 네트워크 디바이스(30)는 물리 장치 상에 생성된 가상 머신(VM)일 수 있다. The network device 30 may include a user terminal device for exchanging data or information, or a physical device or a virtual device for performing a specific function. From a hardware standpoint, 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. The network device 30 may also be a virtual machine (VM) created on a physical device.

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

가상화된 네트워크 기능으로 ETSI(유럽전기통신표준협회)에서 발행한 NFV 관련 백서(비특허문헌 3 참조)에서 정의된 네트워크 기능 가상화(Network Function Virtualiztion; NFV)가 있다. 본 명세서에서 네트워크 기능(NF)은 네트워크 기능 가상화(NFV)와 혼용하여 사용될 수 있다. NFV는 테넌트(tenant)별 필요한 L4-7 서비스 연결을 동적으로 생성하여 필요한 네트워크 기능을 제공하거나, DDoS 공격의 경우 정책 기반으로 필요한 방화벽, IPS 및 DPI 기능 등을 일련의 서비스 체이닝으로 빠르게 제공되는데 이용될 수 있다. 또한 NFV는 방화벽이나 IDS/IPS를 쉽게 온오프 할 수 있으며, 자동으로 프로비저닝(provisioning)할 수 있다. NFV는 오버 프로비저닝의 필요성도 줄일 수 있다.There is a network function virtualization (NFV) defined in a white paper on NFV issued by the European Telecommunications Standards Institute (ETSI) (see non-patent reference 3) as a virtualized network function. The network function (NF) may be used herein in combination with network function virtualization (NFV). NFV provides necessary network functions by dynamically generating necessary L4-7 service connection for each tenant, and provides firewall, IPS and DPI functions necessary for policy-based DDoS attacks quickly through a series of service chaining . NFVs can also easily turn on and off firewalls or IDS / IPS and provision them automatically. NFV can also reduce the need for overprovisioning.

제어기(controller)(10)는 SDN 시스템을 제어하는 일종의 지휘 컴퓨터로서, 다양하고 복잡한 기능들, 예를 들어, 라우팅, 정책 선언, 및 보안 체크 등을 할 수 있다. 제어기(10)는 하위 계층의 복수의 스위치(20)에서 발생하는 패킷의 플로우를 정의할 수 있다. 제어기(10)는 네트워크 정책 상 허용되는 플로우에 대해 네트워크 토폴로지 등을 참조하여 플로우가 경유할 경로(데이터 경로)를 계산한 후, 경로 상의 스위치에 상기 플로우의 엔트리가 설정되도록 할 수 있다. 제어기(10)는 특정 프로토콜, 예를 들어, 오픈플로우 프로토콜을 이용하여 스위치(20)와 통신할 수 있다. 제어기(10)와 스위치(20)의 통신 채널은 SSL에 의해 암호화 될 수 있다.A controller 10 is a kind of command computer that controls the SDN system and can perform various complex functions such as routing, policy declaration, and security check. The controller 10 can define the flow of packets occurring in the plurality of switches 20 in the lower layer. The controller 10 may calculate a path (data path) to be flowed by referring to a network topology or the like with respect to a flow allowed in the network policy, and then set an entry of the flow on a switch on the path. The controller 10 may communicate with the switch 20 using a specific protocol, e.g., an open flow protocol. The communication channel between the controller 10 and the switch 20 can be encrypted by SSL.

도 2를 참조하면, 제어기(10)는 스위치(20)와 통신하는 스위치 통신부(110), 제어부(100), 및 저장부(190)를 포함할 수 있다.2, the controller 10 may include a switch communication unit 110, a control unit 100, and a storage unit 190, which communicate with the switch 20.

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

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

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

경로 계산 모듈(125)은 토폴로지 관리 모듈(120)에서 구축된 네트워크 토폴로지 정보를 기초로 스위치 통신부(110)를 통해 수신한 패킷의 데이터 경로 및 상기 데이터 경로 상의 스위치에 실행시키는 액션 열을 구할 수 있다.The path calculation module 125 can obtain the data path of the packet received through the switch communication unit 110 and the action column to be executed by the switch on the data path based on the network topology information established 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 the entry in the entry DB 191 as an entry such as a flow table, a group table, and a meter table based on the result calculated by the route calculation module 125, a policy such as QoS, . The entry management module 135 may proactively register an entry in each table in the switch 20 and react to an addition or update request of an entry from the switch 20. [ The entry management module 135 may change or delete entries in the entry DB 191 as needed or in accordance with an entry disappearance message of the switch 10. [

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

스위치(20)는 오픈플로우 프로토콜을 지원하는 물리적인 스위치 또는 가상 스위치일 수 있다. 스위치(20)는 수신한 패킷을 처리하여, 네트워크 디바이스(30) 사이의 플로우를 중계할 수 있다. 이를 위해 스위치(20)는 하나의 플로우 테이블 또는 비특허문헌 1에 상술되어 있는 파이프라인(pipeline) 처리를 위해 다중 플로우 테이블을 구비할 수 있다.The switch 20 may be a physical switch or a virtual switch supporting an open flow protocol. The switch 20 can process the received packet and relay the flow between the network devices 30. [ To this end, the switch 20 may comprise a single flow table or a multiple flow table for pipeline processing as described in non-patent document 1. [

플로우 테이블은 네트워크 디바이스(30)의 플로우를 어떻게 처리할 지의 규칙을 정의한 플로우 엔트리를 포함할 수 있다.The flow table may include a flow entry defining rules for how to handle the flow of network device 30. [

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

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

도 3을 참조하면, 스위치(20)는 다른 스위치 및/또는 네트워크 디바이스와 통신하는 포트부(205), 제어기(10)와 통신하는 제어기 통신부(210), 스위치 제어부(200), 및 저장부(290)를 포함할 수 있다.3, the switch 20 includes a port portion 205 for communicating with other switches and / or network devices, a controller communication portion 210 for communicating with the controller 10, a switch control portion 200, and a storage portion 290).

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

저장부(290)는 스위치 제어부(210)의 처리 및 제어를 위한 프로그램을 저장할 수 있다. 저장부(290)는 입력되거나 출력되는 데이터들(패킷, 메시지 등)을 임시 저장을 위한 기능을 수행할 수 있다. 저장부(290)는 플로우 테이블, 그룹 테이블, 및 미터 테이블 등의 테이블(291)을 구비할 수 있다. 테이블(230) 또는 테이블의 엔트리는 제어기(10)에 의해 추가, 수정, 삭제될 수 있다. 테이블 엔트리는 자체적으로 파기될 수 있다.The storage unit 290 may store a program for processing and controlling the switch control unit 210. [ 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. Entries in the table 230 or table may be added, modified, or deleted by the controller 10. The table entry can be destroyed by itself.

플로우 테이블은 오픈플로우의 파이프라인(pipeline)을 처리하기 위해 다중 플로우 테이블로 구성될 수 있다. 도 4를 참조하면, 플로우 테이블의 플로우 엔트리는 패킷과 매치하는 조건(대조 규칙)을 기술한 매치 필드(match fields), 우선 순위(priority), 매치되는 패킷이 있는 경우 업데이트되는 카운터(counters), 플로우 엔트리에 매치되는 패킷이 있으면 발생하는 다양한 액션들의 집합인 인스트럭션(instruction), 스위치에서 파기될 시간을 기술하는 타임아웃(timeouts), 제어기에 의해 선택되어지는 오파큐(opaque) 타입으로, 제어기에 의해 플로우 통계, 플로우 변경, 및 플로우 삭제를 필터하기 위해 사용될 수 있으며, 패킷 처리시 사용되지 않는 쿠키(cookie) 등의 튜플(tuple)을 포함할 수 있다. 인스트럭션(instruction)은 다른 플로우 테이블로 패킷을 전달하는 것과 같은 파이프라인 프로세싱의 변경할 수 있다. 또한 인스트럭션은 액션 셋(action set)에 액션을 더하는 액션(action)들의 집합, 또는 패킷에 바로 적용하기 위한 액션들의 리스트를 포함할 수 있다. 액션(action)은 특정 포트로 패킷을 전송하거나, TTL 필드를 감소시키는 것과 같이 패킷을 수정하는 작업을 의미한다. 액션은 플로우 엔트리와 연관된 인스트럭션 집합의 일부 또는 그룹 엔트리와 연관된 액션 버킷에 속할 수 있다. 액션 셋(action set)은 각 테이블에서 지시된 액션이 누적된 집합을 의미한다. 액션 셋은 매치되는 테이블이 없을 때 수행될 수 있다. 도 5는 플로우 엔트리에 의한 여러 패킷 처리를 예시한다.The flow table can be composed of multiple flow tables to handle the pipeline of open flows. 4, a flow entry of a flow table includes match fields describing conditions (matching rules) to match a packet, a priority, counters to be updated when there are packets to be matched, An instruction that is a set of various actions that occurs when there is a packet matched to a flow entry, timeouts that describe the time to be discarded in the switch, and an opaque type that is selected by the controller. Can be used to filter flow statistics, flow changes, and flow deletions, and can 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. The instructions may also include a collection of actions to add an action to an action set, or a list of actions to apply directly to a packet. An action is an operation that modifies a packet, such as sending a packet to a specific port or decreasing the TTL field. The action may be part of an instruction set associated with the flow entry or belonging to an action bucket associated with the group entry. An action set is an aggregated set of actions indicated in each table. An action set can be performed when no table is matched. 5 illustrates various packet processing by a flow entry.

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

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

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

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

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

플로우 검색 모듈(220)은 유저 트래픽으로서 수신한 패킷으로부터 플로우 정보를 추출할 수 있다. 플로우 정보는 에지 스위치의 패킷 유입 포트인 입구 포트(ingress port)의 식별 정보, 해당 스위치의 패킷 유입 포트(incoming port)의 식별 정보, 패킷 헤더 정보(송신원 및 목적지의 IP 주소, MAC 주소, 포트, 및 VLAN 정보 등), 및 메타데이터 등을 포함할 수 있다. 메타데이터는 이전 테이블에서 선택적으로 추가되거나, 다른 스위치에서 추가된 데이터일 수 있다. 플로우 검색 모듈(220)은 추출한 플로우 정보를 참조하여 테이블(291)에 수신 패킷에 대한 플로우 엔트리가 있는지 검색할 수 있다. 플로우 검색 모듈(220)은 플로우 엔트리가 검색되면, 플로우 처리 모듈(260)에 검색된 플로우 엔트리에 따라 수신 패킷을 처리하도록 요청할 수 있다. 만일 플로우 엔트리 검색이 실패하면, 플로우 검색 모듈(220)은 수신 패킷 또는 수신 패킷의 최소한의 데이터를 제어기 통신부(210)를 통해 제어기(100)로 전송할 수 있다.The flow search module 220 may extract flow information from the received packet as user traffic. The flow information includes identification information of an ingress port as a packet inflow port of the edge switch, identification information of an incoming port of the switch of the switch, packet header information (IP address of the source and destination, MAC address, port, And VLAN information, etc.), metadata, and the like. The metadata may be optionally added in the previous table or may be data added in another switch. The flow search module 220 can search the table 291 for a flow entry for a received packet by referring to the extracted flow information. The flow search module 220 may request the flow processing module 260 to process the received packet according to the retrieved flow entry, if a flow entry is found. If the flow entry search fails, the flow search module 220 may transmit the minimum data of the received packet or the received packet to the controller 100 through the 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 it, or modifying a specific header field, in accordance with the procedure described in the entry retrieved from the flow search module 220 have.

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

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

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

제어기(10)와 스위치(20)는 다양한 정보를 주고 받는데, 이를 오픈플로우 프로토콜 메시지(openflow protocol message)라 칭한다. 이러한 오픈플로우 메시지는 제어기-스위치 메시지(controller-to-switch message), 비동기 메시지(asynchronous message), 및 대칭 메시지(symmetric message) 등의 타입이 있다. 각 메시지는 엔트리를 식별하는 트랜잭션 식별자(transaction id; xid)를 헤더에 구비할 수 있다.The controller 10 and the switch 20 exchange various information, which is called an open flow protocol message. Such an open flow message may be of a type such as a 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.

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

제어기-스위치 메시지는 스위치의 능력(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 controller-switch message includes features inquiring about the capabilities of the switch, configuration for inquiring and setting the settings of the configuration parameters of the switch 20, flow / group / meter of the open flow table, A modify state message for adding / deleting / modifying entries, a packet-out message for transmitting a packet received from the switch through a packet-in message to a specific port on the switch, and the like . The state change message includes 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. Message (meter modification message).

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

비동기 메시지로 패킷-인 메시지(packet-in message), 플로우 삭제 메시지(flow-removed), 에러 메시지 등이 있다. 패킷-인 메시지는 스위치(20)가 제어기(10)에게 패킷을 전송하여 패킷에 대한 제어를 받기 위해 사용된다. 패킷-인 메시지는 스위치(20)가 미지의 패킷을 수신한 경우, 데이터 경로를 요구하기 위해, 오픈플로우 스위치(20)에서 제어기(10)로 전송되는 수신 패킷 또는 그 사본의 전부 또는 일부를 포함하는 메시지이다. 유입 패킷에 연관된 엔트리의 액션이 제어기로 보내라고 정해져 있을 때에도 패킷-인 메시지가 사용된다. 삭제된 플로우(flow-removed) 메시지는 플로우 테이브에서 삭제할 플로우 엔트리 정보를 제어기(10)로 전달하기 위해 사용된다. 이 메시지는 제어기(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 send a packet to the controller 10 to receive control of the packet. The packet-in message includes all or part of the received packet, or a copy thereof, sent from the open flow switch 20 to the controller 10 to request the data path when the switch 20 receives an unknown packet Message. A packet-in message is used even when the action of the entry associated with the incoming packet is determined to be sent to the controller. The deleted flow-removed message is used to forward the flow entry information to the controller 10 to be deleted from the flow table. This message occurs when the controller 10 requests the switch 20 to delete the corresponding flow entry or in a flow expiry process by a flow timeout.

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

도 6은 본 발명의 일 실시예에 따른 이동 네트워크 시스템의 블록 구성도, 도 7은 본 발명의 다른 실시예에 따른 제어기의 블록 구성도, 도 8 내지 도 10은 도 6의 이동 네트워크 시스템에서의 신호 흐름도이다. 도 1 내지 도 5를 참조한다.FIG. 6 is a block diagram of a mobile network system according to an embodiment of the present invention. FIG. 7 is a block diagram of a controller according to another embodiment of the present invention. FIGS. 8 to 10 are diagrams Fig. Please refer to Figs. 1 to 5.

도 6을 참조하면, 이동 네트워크 시스템은 이동 단말(30), 무선 엑세스 망, SDN(Software Defined Network) 기반의 코어망, 및 SDN 기반의 제어기(10)를 포함할 수 있다. 동일하거나 유사한 구성요소에 대한 자세한 설명은 도 1 내지 도 5를 참조한다.Referring to FIG. 6, the mobile network system may include a mobile terminal 30, a wireless access network, a core network based on a SDN (Software Defined Network), and an SDN-based controller 10. Reference is made to Figs. 1 to 5 for a detailed description of the same or similar components.

이동 단말(30)은 도 1의 네트워크 디바이스에 대응할 수 있다. 다만 이동 통신 네트워크인 면에서, 이동 단말(30)은 이동통신 단말기 또는 스마트폰이거나, 이동 통신 모듈 또는 무선 통신 모듈을 구비한 피씨, 노트, 스마트 패드 등인 것이 바람직하다.The mobile terminal 30 may correspond to the network device of Fig. However, in terms of a mobile communication network, the mobile terminal 30 is preferably a mobile communication terminal or a smart phone, a PC, a notebook, or a smart pad equipped with a mobile communication module or a wireless communication module.

무선 엑세스 망(Radio Access Network)은 기지국(40) 그 자체이거나 기지국 제어기, 라디오 네트워크 제어기, 릴레이 노드 등과 같은 다른 기지국 및/또는 네트워크 요소를 더 포함할 수 있다. 기지국(40)은 셀이라고 칭하는 특정 영역 내에서 무선 신호를 송수신하도록 구성될 수 있다. 셀은 복수의 셀 섹터로 세분될 수 있다.The radio access network may be the base station 40 itself or may further include other base stations and / or network elements such as base station controllers, radio network controllers, relay nodes, and the like. The base station 40 may be configured to transmit and receive wireless signals within a specific area referred to as a cell. The cell may be subdivided into a plurality of cell sectors.

이동 네트워크 시스템은 다중 접근 시스템일 수 있고, CDMA, TDMA, FDMA, OFDMA, SC-FDMA 등과 같은 하나 이상의 채널 접근 방식을 이용할 수 있다. 예를 들면, 무선 엑세스 망 내의 기지국(40)과 이동 단말(30)은 광대역 CDMA(WCDMA)를 이용하여 무선 인터페이스를 확립하는 범용 이동통신 시스템(UMTS) 지상 라디오 액세스(UTRA)와 같은 무선 기술을 구현할 수 있다. WCDMA는 고속 패킷 액세스(HSPA) 또는 진화형 HSPA(HSPA+)와 같은 통신 프로토콜을 포함할 수 있다. HSPA는 고속 다운 링크 패킷 액세스(HSDPA) 또는 고속 업링크 패킷 액세스(HSUPA)를 포함할 수 있다. 다른 실시형태에 있어서, 기지국(40)과 이동 단말(30)은 롱텀 에볼루션(LTE) 및/또는 LTE-어드밴스드(LTE-A)를 이용하여 무선 인터페이스를 확립하는 진화형 UMTS 지상 라디오 액세스(E-UTRA)와 같은 무선 기술을 구현할 수 있다.The mobile network system may be a multiple access system and may employ one or more channel approaches such as CDMA, TDMA, FDMA, OFDMA, SC-FDMA, and the like. For example, the base station 40 and the mobile terminal 30 in the wireless access network may use a wireless technology such as Universal Mobile Telecommunications System (UMTS) terrestrial radio access (UTRA) to establish a wireless interface using wideband CDMA (WCDMA) Can be implemented. WCDMA may include communications protocols such as High Speed Packet Access (HSPA) or Evolved HSPA (HSPA +). The HSPA may include high speed downlink packet access (HSDPA) or high speed uplink packet access (HSUPA). In another embodiment, the base station 40 and the mobile terminal 30 may use an evolutionary UMTS terrestrial radio access (E-UTRA) system that establishes a wireless interface using Long Term Evolution (LTE) and / or LTE- ). ≪ / RTI >

다른 실시형태에 있어서, 기지국(40)과 이동 단말(30)은 IEEE 802.16(즉, WiMAX(Worldwide Interoperability for Microwave Access)), CDMA2000, CDMA2000 1X, CDMA2000 EV-DO, 잠정 표준 2000(IS-2000), 잠정 표준 95(IS-95), 잠정 표준 856(IS-856), 글로벌 이동통신 시스템(GSM), EDGE(Enhanced Data rates for GSM Evolution), GSM EDGE(GERAN) 등과 같은 무선 기술을 구현할 수 있다.In other embodiments, the base station 40 and the mobile terminal 30 may communicate with each other using IEEE 802.16 (i.e., Worldwide Interoperability for Microwave Access), CDMA2000, CDMA2000 1X, CDMA2000 EV-DO, (GSM), Enhanced Data Rates for GSM Evolution (EDGE), GSM EDGE (GERAN), and the like. .

기지국(40)은 무선 라우터, 홈 노드 B, 홈 e노드 B, 또는 접근점일 수 있고, 사업장, 홈, 자동차, 캠퍼스 등과 같은 국소 지역에서 무선 접속을 가능하게 하는 임의의 적당한 무선 엑세스 망을 이용할 수 있다. 일실시형태에 있어서, 기지국(40)과 이동 단말(30)은 IEEE 802.11과 같은 무선 기술을 구현하여 무선 근거리 통신망(WLAN)을 확립할 수 있다. 다른 실시형태에 있어서, 기지국(40)과 이동 단말(30)은 IEEE 802.15와 같은 무선 기술을 구현하여 무선 개인 통신망(WPAN)을 확립할 수 있다. 또 다른 실시형태에 있어서, 기지국(40)과 이동 단말(30)은 셀룰러 기반 무선 엑세스 망(예를 들면, WCDMA, CDMA2000, GSM, LTE, LTE-A 등)를 이용하여 피코셀 또는 펨토셀을 확립할 수 있다.The base station 40 may be a wireless router, a home Node B, a home eNode B, or an access point and may use any suitable wireless access network that enables wireless connectivity in a local area such as a business premises, home, automobile, campus, have. In one embodiment, the base station 40 and the mobile terminal 30 may implement a wireless technology such as IEEE 802.11 to establish a wireless local area network (WLAN). In another embodiment, the base station 40 and the mobile terminal 30 may implement a wireless technology such as IEEE 802.15 to establish a wireless personal communication network (WPAN). In another embodiment, the base station 40 and the mobile terminal 30 establish a picocell or femtocell using a cellular based wireless access network (e.g., WCDMA, CDMA2000, GSM, LTE, LTE-A, can do.

기지국(40)은 SDN 에이전트를 탑재할 수 있다. 기지국(40)은 오픈플로우 규약으로 제어기(10) 또는 코어 망의 오픈플로우 스위치(20)와 통신할 수 있다. 기지국(40)은 도 1 및 도 3의 스위치의 기능 또는 구성요소를 가지거나 더 추가된 기능 또는 요소를 가질 수 있다.The base station 40 may mount an SDN agent. The base station 40 can communicate with the controller 10 or the open flow switch 20 of the core network in the open flow protocol. The base station 40 may have the functions or components of the switches of Figs. 1 and 3, or may have additional functions or elements.

기지국(40)은 이동 단말(30)이 무선 엑세스 망에 접속하거나 해지(detach)하는 경우, 단말 정보를 제어기(10)에 전송할 수 있다. 단말 정보는 유저 IP 주소, 및 터널 아이디(TEID)를 포함할 수 있다.The base station 40 may transmit the terminal information to the controller 10 when the mobile terminal 30 accesses or detaches the wireless access network. The terminal information may include a user IP address, and a tunnel ID (TEID).

무선 엑세스 망은 코어 망(core network)과 통신하고, 코어 망은 하나 이상의 이동 단말(30)에게 음성, 데이터, 애플리케이션 및/또는 인터넷을 통한 음성 프로토콜(voice over internet protocol; VoIP) 서비스를 제공하도록 구성된 임의 유형의 네트워크일 수 있다. 예를 들면, 코어 망은 호출 제어, 빌링(billing) 서비스, 모바일 위치 기반 서비스, 선불 통화, 인터넷 접속, 영상 분배 등을 제공할 수 있고, 또한 사용자 인증과 같은 고급 보안 기능을 수행할 수 있다. 비록 도 6에 도시되어 있지 않지만, 무선 엑세스 망 또는 코어 망과 동일한 무선 엑세스 망 또는 다른 무선 엑세스 망을 이용하는 다른 무선 엑세스 망과 직접 또는 간접 통신을 할 수 있다. 예를 들면, E-UTRA 무선 기술을 이용하는 무선 엑세스 망에 접속되는 것 외에, 코어 망은 GSM 무선 기술을 이용하는 다른 무선 엑세스 망(도시 생략됨)과도 통신할 수 있다.The wireless access network communicates with a core network and the core network provides voice over data, applications, and / or voice over internet protocol (VoIP) services to one or more mobile terminals 30 Lt; / RTI > may be any type of network configured. For example, the core network can provide call control, billing services, mobile location-based services, prepaid calling, internet access, image distribution, and can perform advanced security functions such as user authentication. Although not shown in FIG. 6, the radio access network can directly or indirectly communicate with another radio access network using the same radio access network or another radio access network as the radio access network or the core network. For example, in addition to being connected to a wireless access network using E-UTRA wireless technology, the core network may also communicate with other wireless access networks (not shown) using GSM wireless technology.

코어 망은 이동 단말(30)이 PSTN, 인터넷 및 기타 네트워크에 접속하게 하는 게이트웨이로서 기능할 수 있다. PSTN은 재래식 전화 서비스(plain old telephone service; POTS)를 제공하는 회선 교환식 전화망을 포함할 수 있다. 기타 네트워크는 다른 서비스 공급자에 의해 소유되거나 운용되는 유선 또는 무선 통신 네트워크를 포함할 수 있다. 기타 네트워크는 다른 무선 엑세스 망에 접속된 다른 코어 네트워크를 포함할 수 있다. The core network may function as a gateway for the mobile terminal 30 to connect to the PSTN, the Internet and other networks. The PSTN may include a circuit switched telephone network providing a plain old telephone service (POTS). Other networks may include wired or wireless communication networks owned or operated by other service providers. Other networks may include other core networks connected to other radio access networks.

본 실시예에서, 코어 망은 SDN 기반의 오픈플로우 규약을 만족하는 오픈플로우 스위치(20)를 포함할 수 있다. 오픈플로우 스위치(20)에 대한 자세한 설명은 도 1 또는 도 3의 내용을 참조한다. 또한, 코어 망에 접속된 네트워크는 모바일 네트워크 및 IP 네트워크로 가정하고 설명하기로 한다.In this embodiment, the core network may include an open flow switch 20 that satisfies the SDN-based open flow protocol. For details of the open flow switch 20, refer to FIG. 1 or FIG. It is assumed that the network connected to the core network is a mobile network and an IP network.

무선 엑세스 망이 EUTRAN(Evolved Universal Terrestrial Radio Access Network)를 포함하는 LTE 시스템을 이용하는 경우, 오픈플로우 스위치(20)는 서빙 게이트웨이(S-GW) 및 패킷 데이터 네트워크(PDN) 게이트웨이(P-GW) 중 적어도 어느 하나로 운영되거나 각 게이트웨이의 적어도 일부 기능을 수행할 수 있다. 오픈플로우 스위치(20)는 서빙 게이트웨이 및 PDN 게이트웨이 기능의 두 스위치로 구성될 수 있다. 기지국(40)은 LTE 시스템에서 eNode B(eNB)로 명명될 수 있다. 이하 무선 엑세스 망이 LTE 시스템을 이용하는 것으로 가정하고 설명한다. 스위치(20)와 기지국은 GTP 터널을 통해 패킷이 송수신될 수 있다.When the wireless access network uses an LTE system including an Evolved Universal Terrestrial Radio Access Network (EUTRAN), the open flow switch 20 can be switched between the serving gateway S-GW and the packet data network PDN gateway P- Or at least some of the functions of each gateway. The open flow switch 20 may be composed of two switches, serving gateway and PDN gateway functions. The base station 40 may be named eNode B (eNB) in the LTE system. Hereinafter, it is assumed that the wireless access network uses the LTE system. The switch 20 and the base station can transmit and receive packets through the GTP tunnel.

오픈플로우 스위치(20)의 포트부(205)는 무선 엑세스 망(기지국(40)), 모바일 네트워크, 및 IP 네트워크와 패킷을 송수신하는 복수의 포트를 구비할 수 있다.The port portion 205 of the open flow switch 20 may include a radio access network (base station 40), a mobile network, and a plurality of ports for transmitting and receiving packets with the IP network.

제어기(10)는 SDN 기반 또는 SDN 에이전트가 탑재된 구성요소와 통신하며, 해당 구성요소를 제어할 수 있다. 본 실시예에서 제어기(10)는 무선 엑세스 망의 기지국(40) 및 코어 망의 오픈플로우 스위치(20)와 오픈플로우 규약으로 통신할 수 있다. 기지국(40)과 제어기(10)의 통신은 직접 이루어 지는 것으로 도면에 도시하였지만, 이에 한정하지 않는다. 예를 들어 기지국(40)과 제어기(10)는 오픈플로우 스위치(20)를 경유하여 통신할 수 있다. 도 7을 참조하면, 제어기(10)는 통신부(110), 제어부(100), 및 저장부(190)를 포함할 수 있다. 본 실시예에 따른 제어기(10)는 도 1 및 도 2의 제어기의 기능 또는 구성요소를 그대로 가지거나 추가로 가질 수 있다. 이에 관련 기능 또는 요소에 대한 자세한 설명은 도 1 및 도 2의 내용으로 대체한다.The controller 10 communicates with the SDN-based or SDN agent-mounted component and can control the component. In this embodiment, the controller 10 can communicate with the base station 40 of the radio access network and the open flow switch 20 of the core network in an open flow protocol. Although the communication between the base station 40 and the controller 10 is directly shown, it is not limited thereto. For example, the base station 40 and the controller 10 can communicate via the open flow switch 20. Referring to FIG. 7, the controller 10 may include a communication unit 110, a control unit 100, and a storage unit 190. The controller 10 according to the present embodiment may have or additionally have the functions or components of the controllers of Figs. The detailed description of the related functions or elements will be replaced with the contents of FIG. 1 and FIG.

제어기(10)의 제어부(100)는 복수의 무선 엑세스 망, 복수의 코어 망, 및 복수의 이동 단말의 토폴로지 정보를 구축하여, 구축된 네트워크 토폴로지 정보를 기초로 패킷의 데이터 경로를 계산하고, 데이터 경로 상의 무선 엑세스 망 또는 코어 망에 패킷이 계산된 데이터 경로에 따라 이동하도록 제어할 수 있다.The controller 100 of the controller 10 constructs topology information of a plurality of radio access networks, a plurality of core networks, and a plurality of mobile terminals, calculates a data path of a packet based on the constructed network topology information, It is possible to control the packet to move along the calculated data path to the radio access network or the core network on the path.

제어기(10)의 통신부(110)는 오픈플로우 규약에 따른 채널을 통해 기지국(40) 및 오픈플로우 스위치(20)와 패킷을 송수신할 수 있다.The communication unit 110 of the controller 10 can transmit and receive a packet to and from the base station 40 and the open flow switch 20 through a channel according to the open flow protocol.

제어기(10)의 저장부(190)는 엔트리 DB(191), 단말 정보 DB(193), 서비스 정보 DB(195), 및 모니터링 DB(197)를 포함할 수 있다.The storage unit 190 of the controller 10 may include an entry DB 191, a terminal information DB 193, a service information DB 195, and a monitoring DB 197.

제어부(100)는 단말 정보 DB(193)를 통해 기지국(40)으로부터 수신한 단말 정보를 DB로 저장 및 관리 할 수 있다. 제어부(100)는 서비스 정보 DB(195)를 통해 웹, 게임, FTP, VoIP 등과 같은 서비스의 종류, 각 서비스 마다의 QoS와 같은 정책 등의 서비스 정보를 DB로 저장 및 관리 할 수 있다. 서비스 종류는 이동 단말 패킷의 목적지 IP 주소, 또는 GTP 헤더의 외부 목적지 주소 등을 이용하여 추출될 수 있다. QoS 정책은 VoIP와 같은 실시간성이 중요한 서비스의 경우에 모바일 네트워크를 선호하도록 하고, FTP와 같이 비실시간성이면서 대역폭에 민감한 서비스의 경우에 IP 네트워크를 선호하도록 지정될 수 있다. 제어부(100)는 엔트리 DB(191)를 통해 이동 단말(30)의 서비스별 플로우 테이블의 정보를 DB로 저장 및 관리할 수 있다. 제어부(100)는 모니터링 DB(197)를 통해 스위치(20)에 의해 모니터링된 오픈플로우 스위치(20)에 연결된 모바일 네트워크와 IP 네트워크 포트를 통해 유입 또는/및 유출되는 트래픽의 통계 정보를 DB로 저장 및 관리할 수 있다.트래픽 통계 정보는 사용자 별 과금 시스템과의 연계를 쉽게 할 수 있다.The control unit 100 can store and manage the terminal information received from the base station 40 through the terminal information DB 193 as a DB. The control unit 100 can store and manage service information such as policies such as the types of services such as web, game, FTP, and VoIP, and QoS for each service through the service information DB 195. The service type can be extracted using a destination IP address of a mobile terminal packet or an external destination address of a GTP header. A QoS policy may be designated to favor a mobile network in the case of a service in which real-time property is important, such as VoIP, and an IP network in the case of a non-real-time bandwidth-sensitive service such as FTP. The control unit 100 can store and manage the information of the flow table for each service of the mobile terminal 30 in the DB through the entry DB 191. [ The control unit 100 stores statistical information of traffic flowing in and out of the mobile network connected to the open flow switch 20 monitored by the switch 20 and the IP network port through the monitoring DB 197 And traffic statistics information can be easily linked with a user-specific billing system.

도 8 내지 도 10을 참조하면, 기지국(40)에 이동 단말(30)이 접속하면(S410), 기지국(40)은 단말 정보를 제어기(10)로 전송할 수 있다(S415). 단말 정보는 오픈플로우 스위치(20)를 통해 기지국(40)에서 제어기(10)로 전송될 수도 있다. 단말 정보는 유저 IP 주소 및 터널 ID(TEID)를 포함할 수 있다.8-10, when the mobile terminal 30 is connected to the base station 40 (S410), the base station 40 can transmit the terminal information to the controller 10 (S415). The terminal information may be transmitted from the base station 40 to the controller 10 via the open flow switch 20. [ The terminal information may include a user IP address and a tunnel ID (TEID).

제어기(10)는 기지국(40)으로부터 수신한 단말 정보를 이용하여 단말 정보 DB(193)를 구축하거나 수정 등의 업데이트를 할 수 있다(S420).The controller 10 can update or update the terminal information DB 193 using terminal information received from the base station 40 (S420).

이동 단말(30)이 발생한 패킷을 기지국(40)에 전송하면, 기지국(40)은 GTP 헤더를 구성한 후, 수신한 사용자 패킷에 GTP 헤더를 추가하여 GTP 터널을 통해 오픈플로우 스위치(20)로 전송할 수 있다(S425). GTP 헤더는 S1 GTP 헤더 및 S5 GTP 헤더 중 적어도 S1 GTP 헤더를 포함할 수 있다. GTP 헤더는 외부 소스 및 목적지 IP 주소를 포함할 수 있다. 기지국(40)은 GTP 헤더의 외부 목적지 IP 주소를 이동 단말 패킷의 목적지 IP 주소와 동일하게 설정하거나, 오픈플로우 스위치(20)의 IP 주소로 설정할 수 있다.After transmitting the packet generated by the mobile terminal 30 to the base station 40, the base station 40 constructs the GTP header, adds the GTP header to the received user packet, and transmits the packet to the open flow switch 20 through the GTP tunnel (S425). The GTP header may include at least an S1 GTP header among the S1 GTP header and the S5 GTP header. The GTP header may include an external source and a destination IP address. The base station 40 may set the external destination IP address of the GTP header to be the same as the destination IP address of the mobile terminal packet or set the IP address of the open flow switch 20.

오픈플로우 스위치(20)는 기지국(40)으로부터 수신한 GTP 헤더가 추가된 GTP-패킷의 플로우 정보를 추출하여, 해당 플로우 정보에 부합하는 플로우 엔트리가 있는지 플로우 테이블을 검색할 수 있다. 검색 결과 부합하는 플로우 엔트리가 없는 경우, 오픈플로우 스위치(20)는 해당 GTP-패킷을 패킷-인 메시지에 캡슐화하여 제어기(10)로 전송할 수 있다(S430).The open flow switch 20 can extract the flow information of the GTP packet added with the GTP header received from the base station 40 and search the flow table for a flow entry matching the flow information. If there is no flow entry matching the search result, the open flow switch 20 may encapsulate the GTP-packet into a packet-in message and send it to the controller 10 (S430).

제어기(10)는 수신한 패킷-인 메시지에 포함된 GTP-패킷으로부터 서비스 종류, QoS 정책 등의 서비스 정보를 추출할 수 있다. 제어기(10)는 GTP-패킷의 유저 IP 주소, GTP 헤더의 외부 IP 주소, 및 이동 단말 패킷의 목적지 IP 주소 중 적어도 어느 하나를 이용하여 서비스 종류를 추출할 수 있다. 제어기(10)는 추출한 서비스 종류, 해당 서비스의 QoS 정책 등을 포함하는 서비스 정보, 해당 GTP-패킷과 연관된 단말 정보 또는 유저 정보, 및 모니터링 DB(197)의 트래픽 통계 정보 중 적어도 어느 하나를 이용하여 GTP-패킷이 전송될 네트워크를 판단할 수 있다(S435). 단말 정보 또는 유저 정보는 터널 아이디를 통해 추출될 수 있다. 이러한 트래픽 분배는 서비스 종류별로 가능하여 서비스별 품질을 동적으로 보장할 수 있음과 동시에 사용자 경험을 증진시킬 수 있다.The controller 10 can extract service information such as a service type and a QoS policy from the GTP-packet included in the received packet-in message. The controller 10 can extract the service type using at least one of the user IP address of the GTP-packet, the external IP address of the GTP header, and the destination IP address of the mobile terminal packet. The controller 10 uses at least one of service information including the extracted service type, QoS policy of the corresponding service, terminal information or user information associated with the corresponding GTP-packet, and traffic statistics information of the monitoring DB 197 The network to which the GTP-packet is to be transmitted may be determined (S435). The terminal information or the user information can be extracted through the tunnel ID. Such traffic distribution can be performed for each type of service, thereby dynamically ensuring the quality of each service and improving the user experience.

제어기(10)는 트래픽 분배 결정을 하면, 해당 트래픽이 결정된 네트워크로 전송되도록 엔트리 DB(191)를 업데이트할 수 있다. 제어기(10)는 업데이트된 엔트리 DB를 기초로, 오픈플로우 스위치(20)가 해당 트래픽을 결정된 네트워크로 전송하도록 패킷-아웃 메시지를 오픈플로우 스위치(20)로 전송할 수 있다(S440). 아울러 오픈플로우 스위치(20)의 플로우 테이블이 변경되도록 플로우 변경 메시지(flow-mod msg.)를 전송할 수 있다(S440).When the controller 10 makes the traffic distribution decision, it can update the entry DB 191 so that the traffic is transmitted to the determined network. The controller 10 may transmit a packet-out message to the open flow switch 20 so that the open flow switch 20 transmits the traffic to the determined network based on the updated entry DB (S440). In addition, a flow change message (flow-mode msg.) May be transmitted so that the flow table of the open flow switch 20 is changed (S440).

오픈플로우 스위치(20)는 패킷-아웃 메시지 또는 플로우 테이블에 기초하여 GTP-패킷을 모바일 또는 IP 네트워크 중 어느 하나로 전송할 수 있다.The open flow switch 20 may transmit the GTP-packet to either the mobile or the IP network based on the packet-out message or the flow table.

GTP-패킷이 모바일 네트워크로 향하도록 지정된 경우, 오픈플로우 스위치(20)는 모바일 네트워크로 GTP-패킷을 전송하고, 서비스 요청에 대응하는 응답 트래픽(하향 패킷)을 모바일 네트워크로부터 수신할 수 있다(S445). 오픈플로우 스위치(20)는 수신한 응답 트래픽을 이동 단말(30)에 전송할 수 있다(S450). 오픈플로우 스위치(20)는 GTP 헤더를 디캡(decapsulation; 제거)할 필요가 없어, 처리 속도를 향상시키고 동작 처리 또는 메모리 등의 자원 소모를 줄일 수 있다.If the GTP-packet is directed to the mobile network, the open flow switch 20 may transmit the GTP-packet to the mobile network and receive response traffic (downstream packet) corresponding to the service request from the mobile network ). The open flow switch 20 can transmit the received response traffic to the mobile terminal 30 (S450). The open flow switch 20 does not need to decapsulate (remove) the GTP header, thereby improving the processing speed and reducing resource consumption such as operation processing or memory.

GTP-패킷이 IP 네트워크로 향하도록 지정된 경우, 오픈플로우 스위치(20)는 해당 트래픽의 GTP 헤더를 제거하고(S460), GTP 헤더가 제거된 이동 단말 패킷을 IP 네트워크로 전송할 수 있다(S465). 오픈플로우 스위치(20)는 IP 네트워크로부터 이동 단말의 서비스 요청 트래픽에 대한 액크(ACK) 또는 응답 트래픽 등(하향 패킷)을 수신할 수 있다(S470). 하향 패킷을 수신하면, 오픈플로우 스위치(20)는 GTP 헤더를 구성하여 수신한 하향 패킷에 GTP 헤더를 추가하고(S475), GTP 헤더가 추가된 GTP-하향 패킷을 기지국(40)으로 전송할 수 있다(S480).When the GTP-packet is designated to be directed to the IP network, the open flow switch 20 removes the GTP header of the corresponding traffic (S460), and transmits the GTP header-removed mobile terminal packet to the IP network (S465). The open flow switch 20 may receive acknowledgment (ACK) or response traffic (downlink packet) for the service request traffic of the mobile terminal from the IP network (S470). Upon receiving the downlink packet, the open flow switch 20 constructs a GTP header, adds a GTP header to the received downlink packet (S475), and transmits the GTP-down packet to which the GTP header is added to the base station 40 (S480).

이동 단말(30)이 기지국(40)에서 접속 해제 하면(S510), 기지국(40)은 해당 이동 단말(30)의 단말 정보를 제어기(10)로 전송할 수 있다(S515).When the mobile terminal 30 disconnects from the base station 40 in step S510, the base station 40 may transmit the terminal information of the mobile terminal 30 to the controller 10 in step S515.

해제 단말 정보를 수시하면, 제어기(10)는 해당 단말 정보와 연관된 엔트리가 있는지 엔트리 DB(191)를 검색할 수 있다. 연관된 엔트리가 존재하면, 제어기(10)는 해당 엔트리를 엔트리 DB(191)에서 삭제할 수 있다. 제어기(10)는 해당 엔트리가 오픈플로우 스위치(20)의 플로우 테이블에서 삭제되도록 하는 플로우 변경 메시지(flow-Mod msg.)를 오픈플로우 스위치(20)로 전송할 수 있다(S525). 제어기(10)는 해당 단말 정보를 단말 정보 DB(193)에서 삭제할 수 있다(S530).
Upon receipt of the release terminal information, the controller 10 can search the entry DB 191 for an entry associated with the terminal information. If there is an associated entry, the controller 10 may delete the entry in the entry DB 191. The controller 10 may transmit a flow change message (flow-Mod msg.) To the open flow switch 20 so that the corresponding entry is deleted from the flow table of the open flow switch 20 (S525). The controller 10 can delete the corresponding terminal information from the terminal information DB 193 (S530).

상기 본 발명은 하드웨어 또는 소프트웨어에서 구현될 수 있다. 구현은 상기 본 발명은 또한 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광 데이터 저장장치 등이 있으며, 또한 캐리어 웨이브(예를 들어 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다. 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다. 그리고 본 발명을 구현하기 위한 기능적인(functional) 프로그램, 코드 및 코드 세그먼트들은 본 발명이 속하는 기술분야의 프로그래머들에 의해 용이하게 추론될 수 있다.The present invention can be implemented in hardware or software. The present invention can also be embodied as computer readable code on a computer readable recording medium. A computer-readable recording medium includes all kinds of recording apparatuses in which data that can be read by a computer system is stored. Examples of the computer-readable recording medium include a ROM, a RAM, a CD-ROM, a magnetic tape, a floppy disk, an optical data storage device, and the like, and may be implemented in the form of a carrier wave (for example, transmission via the Internet) . The computer readable recording medium may also be distributed over a networked computer system so that 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 skilled in the art 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 with a programmable computer system in which one of the methods described herein is implemented. Embodiments of the present invention may be implemented as a computer program product having program code, wherein the program code is operated to execute one of the methods when the computer program is run on a computer. The program code may be stored on, for example, a machine readable carrier. One embodiment of the 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 present invention may include a computer, or programmable logic device, for performing one of the methods described above. A programmable logic device (e.g., a field programmable gate array, a complementary metal oxide semiconductor based logic circuit) may be used to perform some or all of the functions described above.

또한, 이상에서는 본 발명의 바람직한 실시예에 대하여 도시하고 설명하였지만, 본 발명은 상술한 특정의 실시예에 한정되지 아니하며, 청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 의해 다양한 변형실시가 가능한 것은 물론이고, 이러한 변형실시들은 본 발명의 기술적 사상이나 전망으로부터 개별적으로 이해되어져서는 안 될 것이다.While the present invention has been particularly shown and described with reference to exemplary embodiments thereof, it is to be understood that the invention is not limited to the disclosed exemplary embodiments, but, on the contrary, It will be understood by those skilled in the art that various changes and modifications may be made by those skilled in the art without departing from the spirit and scope of the present invention.

10: 제어기 20: SDN 스위치
30: 이동 단말 40: 기지국
100: 제어부 110: 스위치 통신부
190: 저장부 200: 제어부
205: 포트부 210: 제어기 통신부
290: 저장부
10: controller 20: SDN switch
30: mobile terminal 40: base station
100: control unit 110: switch communication unit
190: storage unit 200:
205: port unit 210: controller communication unit
290:

Claims (11)

이동 단말과 연결된 무선 엑세스 망;
상기 무선 엑세스 망의 트래픽을 제1 및 제2 네트워크 중 어느 하나로 전송하는 SDN(Software Defined Network) 기반의 코어망; 및
상기 코어망으로부터 트래픽을 수신하여, 상기 수신한 트래픽의 정보로부터 적어도 서비스 종류를 포함하는 서비스 정보를 추출하여, 상기 추출된 서비스 정보를 포함하는 트래픽 분배용 자료에 기초하여 상기 코어망이 상기 제1 및 제2 네트워크 중 어느 하나로 상기 트래픽을 전송하도록 트래픽 제어하는 SDN 기반의 제어기를 포함하고,
상기 제1 네트워크는 모바일 네트워크이고, 상기 제2 네트워크는 IP 네트워크이고,
상기 코어망은 트래픽의 GTP 헤더를 제거 또는 변경하거나, 트래픽에 GTP 헤더를 추가할 수 있는 기능을 구비하고,
상기 코어망은 상기 제어기로부터 상기 제2 네트워크로 상기 이동 단말의 트래픽을 전송하라는 지시를 받은 경우, 상기 이동 단말 트래픽의 GTP 헤더를 제거하고 상기 GTP 헤더가 제거된 이동 단말 트래픽을 상기 제2 네트워크로 전송하고,
상기 GTP 헤더 추가는,
상기 코어망에서 상기 코어망의 엔트리 테이블의 상기 제2 네트워크 트패픽의 플로우 정보에 부합하는 엔트리의 인스트럭션 실행에 의한 추가 및
상기 제2 네트워크 트래픽을 상기 코어망으로부터 수신한 상기 제어기가 상기 제2 네트워크 트래픽의 정보로부터 GTP 헤더를 추가하도록 상기 코어망에 지시하는 지시 메시지에 의한 상기 코어망에서의 추가 중 어느 하나인, 네트워크 시스템.
A wireless access network connected to a mobile terminal;
A core network based on SDN (Software Defined Network) for transmitting traffic of the radio access network to one of first and second networks; And
The method comprising the steps of: receiving traffic from the core network, extracting service information including at least a service type from information of the received traffic, determining, based on traffic distribution data including the extracted service information, And an SDN-based controller for traffic control to transmit the traffic to either the first network or the second network,
The first network is a mobile network, the second network is an IP network,
The core network has a function of removing or changing the GTP header of the traffic or adding a GTP header to the traffic,
Wherein the core network removes the GTP header of the mobile terminal traffic and transmits the removed mobile terminal traffic to the second network when the controller is instructed to transmit traffic of the mobile terminal to the second network Lt; / RTI &
The GTP header addition may include:
An addition by an instruction execution of an entry corresponding to the flow information of the second network traffic of the entry table of the core network in the core network,
Which is one of the additions in the core network by an instruction message instructing the core network to add the GTP header from the information of the second network traffic, system.
제 1 항에 있어서,
상기 추출된 서비스 정보는 QoS 정책을 포함하는, 네트워크 시스템.
The method according to claim 1,
Wherein the extracted service information comprises a QoS policy.
제 1 항에 있어서,
상기 제어기는 상기 코어망으르부터 상기 코어망과 상기 제1 및 제2 네트워크 사이의 트래픽 통계 정보를 수신하고,
상기 트래픽 분배용 자료는 상기 수신한 트래픽 통계 정보를 더 포함하는, 네트워크 시스템.
The method according to claim 1,
Wherein the controller receives traffic statistical information between the core network and the first and second networks from the core network,
And the traffic distribution data further includes the received traffic statistical information.
제 1 항에 있어서,
상기 무선 엑세스 망은 이동 단말이 접속하면, 상기 접속한 이동 단말의 유저 IP, 및 TEID를 포함하는 단말 정보를 상기 제어기로 전송하고,
상기 제어기는 상기 무선 엑세스 망으로부터 수신한 상기 단말 정보를 이용하여 단말 정보 DB를 구축하고,
상기 트래픽 분배용 자료는 상기 전송된 단말 정보를 포함하는, 네트워크 시스템.
The method according to claim 1,
Wherein the wireless access network transmits terminal information including a user IP and a TEID of the connected mobile terminal to the controller when the mobile terminal accesses the terminal,
The controller establishes a terminal information DB using the terminal information received from the radio access network,
And the traffic distribution data includes the transmitted terminal information.
제 4 항에 있어서,
상기 무선 엑세스 망은 이동 단말이 해지하면, 상기 해지된 이동 단말의 정보를 상기 제어기로 전송하고,
상기 제어기는 상기 해지된 단말 정보를 수신하면, 상기 해지된 단말 정보를 상기 단말 정보 DB에서 삭제하는, 네트워크 시스템.
5. The method of claim 4,
Wherein the wireless access network transmits information of the released mobile terminal to the controller when the mobile terminal terminates,
And the controller deletes the revoked terminal information from the terminal information DB upon receiving the revoked terminal information.
제 5 항에 있어서,
상기 제어기는 상기 해지된 이동 단말과 관련된 엔트리를 있는 경우 상기 관련된 엔트리를 엔트리 DB에서 삭제하고, 상기 해지 이동 단말과 관련된 엔트리가 상기 코어망의 엔트리 테이블에서 삭제되도록 하는 메시지를 상기 코어망으로 전송하는, 네트워크 시스템.
6. The method of claim 5,
The controller deletes the associated entry from the entry DB when there is an entry related to the revoked mobile terminal and transmits a message to the core network to delete an entry related to the revoked mobile terminal from the entry table of the core network , Network system.
삭제delete 제 1 항에 있어서,
상기 서비스 종류는 상기 트래픽의 GTP 헤더의 외부 목적지 IP 주소 및 이동 단말 패킷의 목적기 IP 주소 중 적어도 어느 하나에 기초하여 추출되는, 네트워크 시스템.
The method according to claim 1,
Wherein the service type is extracted based on at least one of an external destination IP address of a GTP header of the traffic and a destination IP address of a mobile terminal packet.
삭제delete 제 1 항에 있어서,
상기 코어망은 상기 제2 네트워크로부터 트래픽이 유입되는 경우, 상기 제2 네트워크 트래픽에 GTP 헤더를 추가하여 상기 GTP 헤더가 추가된 제2 네트워크 트래픽을 상기 무선 엑세스 망으로 전송하는, 네트워크 시스템.
The method according to claim 1,
Wherein the core network adds a GTP header to the second network traffic when traffic is received from the second network, and transmits the second network traffic to which the GTP header is added to the wireless access network.
삭제delete
KR1020140166816A 2014-11-26 2014-11-26 Network system based on sdn capable traffice distribution KR101679224B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020140166816A KR101679224B1 (en) 2014-11-26 2014-11-26 Network system based on sdn capable traffice distribution

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020140166816A KR101679224B1 (en) 2014-11-26 2014-11-26 Network system based on sdn capable traffice distribution

Publications (2)

Publication Number Publication Date
KR20160063158A KR20160063158A (en) 2016-06-03
KR101679224B1 true KR101679224B1 (en) 2016-11-24

Family

ID=56192393

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140166816A KR101679224B1 (en) 2014-11-26 2014-11-26 Network system based on sdn capable traffice distribution

Country Status (1)

Country Link
KR (1) KR101679224B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102477931B1 (en) 2021-11-17 2022-12-15 주식회사 와이엘아이티 SDN Platform and SDC Platform Automation system and the method using it

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102010250B1 (en) * 2017-03-15 2019-10-21 한국전자통신연구원 Mobile communication network based on software-defined networking transport network
CN114467281A (en) * 2019-07-31 2022-05-10 现代自动车株式会社 SDN-based vehicle-mounted network intrusion response method and system using same

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100818303B1 (en) 2006-09-29 2008-03-31 한국전자통신연구원 Method for predicting traffic characteristics and traffic estimation devices for the wired and wireless networks

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100818303B1 (en) 2006-09-29 2008-03-31 한국전자통신연구원 Method for predicting traffic characteristics and traffic estimation devices for the wired and wireless networks

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102477931B1 (en) 2021-11-17 2022-12-15 주식회사 와이엘아이티 SDN Platform and SDC Platform Automation system and the method using it

Also Published As

Publication number Publication date
KR20160063158A (en) 2016-06-03

Similar Documents

Publication Publication Date Title
US9654395B2 (en) SDN-based service chaining system
KR101703088B1 (en) Aggregated routing method based on sdn and system thereof
CN109889443B (en) Cloud computing system and method for implementing control plane of Evolved Packet Core (EPC) in cloud computing system
US9497661B2 (en) Implementing EPC in a cloud computer with openflow data plane
AU2012303738B2 (en) Implementing a 3G packet core in a cloud computer with openflow data and control planes
EP3140964B1 (en) Implementing a 3g packet core in a cloud computer with openflow data and control planes
KR101803332B1 (en) Network system for internet of things
KR101746105B1 (en) Openflow switch capable of service chaining
KR101527377B1 (en) Service chaining system based on software defined networks
JP6480452B2 (en) Packet processing method and apparatus
JP6472876B2 (en) Computer program, apparatus and storage medium
KR101679224B1 (en) Network system based on sdn capable traffice distribution
KR20180058594A (en) Software Defined Network/Test Access Port Application
KR20180058592A (en) Software Defined Network Controller
KR101767472B1 (en) Method for changing data path by sdn-based controller
KR101739097B1 (en) Service chaining method in openflow switch
KR101739100B1 (en) Method of controlling openflow switch capable of service chaining and controller thereof
KR20180058593A (en) Software Defined Network Whitebox Switch
KR101707073B1 (en) Error detection network system based on sdn
KR20160063164A (en) Method for changing network interface by sdn-based mobile terminal
KR20160063161A (en) Network system capable changing traffic path between heterogeneous networks
JP6932118B2 (en) Packet processing method and equipment

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20191106

Year of fee payment: 4