KR101155012B1 - Open flow network system and method of controlling the same - Google Patents
Open flow network system and method of controlling the same Download PDFInfo
- Publication number
- KR101155012B1 KR101155012B1 KR1020100117421A KR20100117421A KR101155012B1 KR 101155012 B1 KR101155012 B1 KR 101155012B1 KR 1020100117421 A KR1020100117421 A KR 1020100117421A KR 20100117421 A KR20100117421 A KR 20100117421A KR 101155012 B1 KR101155012 B1 KR 101155012B1
- Authority
- KR
- South Korea
- Prior art keywords
- flow
- information
- switch
- qos
- path
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 31
- 230000005540 biological transmission Effects 0.000 claims abstract description 18
- 238000012545 processing Methods 0.000 claims description 13
- 238000004364 calculation method Methods 0.000 claims description 6
- 238000005111 flow chemistry technique Methods 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 5
- 238000004891 communication Methods 0.000 description 4
- 230000010365 information processing Effects 0.000 description 4
- 235000008694 Humulus lupulus Nutrition 0.000 description 2
- 230000002457 bidirectional effect Effects 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 230000001186 cumulative effect Effects 0.000 description 1
- BCGWQEUPMDMJNV-UHFFFAOYSA-N imipramine Chemical compound C1CC2=CC=CC=C2N(CCCN(C)C)C2=CC=CC=C21 BCGWQEUPMDMJNV-UHFFFAOYSA-N 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/302—Route determination based on requested QoS
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/22—Alternate routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/24—Traffic characterised by specific attributes, e.g. priority or QoS
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 flow network system and a control method thereof, comprising a plurality of nodes for transmitting and receiving data, an open flow switch for relaying flow transmission and reception between the nodes, and a flow routing controller for controlling the open flow switch. In the openflow network system, the controller generates forwarding for a flow by reflecting flow information received from the openflow switch and a user's request, and forwarding information for the flow in the form of a flow entry in the openflow switch. Transmit to; The open flow switch may receive forwarding of the flow from the controller in the form of a flow entry to manage subsequent traffic based on a forwarding rule included in the entry. As a result, by dynamically assigning traffic transmission paths according to user-defined quality of service requirements and redefining flows according to network conditions, the traffic can be moved to maintain a certain level of network quality. The present invention relates to an open flow network system and a method of controlling the same.
Description
본 발명은 오픈플로우 네트워크 시스템 및 그 제어방법에 관한 것으로서, 보다 상세하게는, 사용자가 정의하는 서비스 품질 요구사항에 맞추어 동적으로 트래픽 전송경로를 할당하고 네트워크 상황에 따라 플로우를 재정의하여 트래픽을 이동시킴으로써 일정 수준 이상의 네트워크 품질을 유지할 수 있고, 동적 플로우 이동을 통해 유휴 대역을 효율적으로 이용할 수 있는 오픈플로우 네트워크 시스템 및 그 제어방법에 관한 것이다.
The present invention relates to an openflow network system and a control method thereof, and more particularly, by dynamically assigning a traffic transmission path according to a service quality requirement defined by a user and redefining the flow according to network conditions to move traffic. The present invention relates to an open flow network system capable of maintaining a certain level of network quality and efficiently using an idle band through dynamic flow movement, and a control method thereof.
오픈플로우(OpenFlow) 기술은 새로운 프로토콜들을 실제 네트워크상에서 시험하는 기술 표준으로써, 오픈플로우 기술을 이용하면 기존의 애플리케이션을 유지한 상태에서 네트워크 프로토콜을 시험할 수 있다.OpenFlow technology is a technical standard for testing new protocols over real networks. OpenFlow technology allows you to test network protocols while maintaining existing applications.
오픈플로우 기술이 적용된 네트워크 시스템은, 플로우 테이블(Flow Table), 제어기(Controller) 및 스위치 간 통신 보안을 제공하는 오픈플로우 프로토콜을 포함한다. The network system to which the open flow technology is applied includes an open flow protocol that provides communication security between a flow table, a controller, and a switch.
플로우 테이블은 스위치에 내장되어, 패킷과 트래픽을 어떻게 처리할지에 대한 룰을 정의한다. 제어기는 오픈플로우 시스템을 제어하는 일종의 지휘 컴퓨터로써, 특별히 정의된 오픈플로우 프로토콜을 이용해 스위치와 통신한다. 이 프로토콜은 SSL(Secure Socket Layer)에 의해 암호화된다.Flow tables are built into the switch and define the rules for how to handle packets and traffic. The controller is a kind of command computer that controls the OpenFlow system and communicates with the switch using a specially defined OpenFlow protocol. This protocol is encrypted by Secure Socket Layer (SSL).
오픈플로우 시스템에서는 스위치나 라우터 또는 네트워크 컨트롤러에 명령을 내릴 수 있는 API를 제공하며, 엔지니어는 이 API를 이용하여 자신만의 프로토콜을 정의할 수 있다. 예를 들면, 단순한 트래픽은 주어진 IP 주소로 정의할 수 있다.OpenFlow systems provide an API for instructing switches, routers, or network controllers, and engineers can use this API to define their own protocols. For example, simple traffic can be defined with a given IP address.
이러한 명령에 따라, 제어기는 네트워크 지식정보를 이용하여 최적화된 네트워크를 통해 경로를 설정할 수 있다. 즉, 종래의 오픈플로우 기술은, 기존의 스위치와 라우터를 이용하여 소프트웨어로 제어되는 전송 정책이 최적의 트래픽 경로를 결정한다. According to this command, the controller can establish a path through the optimized network using network knowledge information. In other words, in the conventional openflow technology, a software-controlled transmission policy determines an optimal traffic path using existing switches and routers.
한편, 화상 회의와 같은 멀티미디어 트래픽의 경우 패킷 로스에 민감하여 항상 일정량의 유휴 대역폭이 존재하여야 좋은 품질의 화상 및 음성 서비스가 가능하다. On the other hand, multimedia traffic such as video conferencing is sensitive to packet loss, so that a certain amount of idle bandwidth must always exist to enable good quality video and voice services.
따라서, 멀티미디어 트래픽을 전송하는 경우 주기적으로 사용하고 있는 네트워크 경로의 상태를 모니터링 하여 필요에 따라 우회 경로를 이용하여 트래픽을 전송하는 방법이 요구되고 있다.
Therefore, when transmitting multimedia traffic, there is a demand for a method of monitoring the state of a network path being used periodically and transmitting traffic using a bypass path as necessary.
본 발명은 상술한 문제점을 해결하기 위하여 안출된 것으로서, 사용자가 정의하는 서비스 품질 요구사항에 맞추어 동적으로 트래픽 전송경로를 할당하고, 네트워크 상황에 따라 플로우를 재정의하여 트래픽을 이동시킴으로써 일정 수준 이상의 네트워크 품질을 유지할 수 있고, 동적 플로우 이동을 통해 유휴 대역을 효율적으로 이용할 수 있는 오픈플로우 네트워크 시스템 및 그 제어방법을 제공하는데 그 기술적 과제가 있다.
SUMMARY OF THE INVENTION The present invention has been made to solve the above-mentioned problems. The present invention provides a network quality over a predetermined level by dynamically assigning traffic transmission paths according to user-defined service quality requirements, and redefining flows according to network conditions. There is a technical problem to provide an open flow network system and a method of controlling the same, which can maintain the network bandwidth and efficiently utilize the idle band through dynamic flow movement.
상술한 목적을 달성하기 위한 본 발명의 오픈플로우 네트워크 시스템은, 데이터를 송수신하는 복수개의 노드와, 상기 노드 간의 플로우 송수신을 중계하는 오픈플로우 스위치와, 상기 오픈플로우 스위치를 제어하는 플로우 라우팅 컨트롤러를 포함하는 오픈플로우 네트워크 시스템에 있어서, 상기 컨트롤러는 상기 오픈플로우 스위치로부터 수신된 플로우 정보와 사용자의 요구를 반영하여 플로우에 대한 포워딩을 생성하고, 상기 플로우에 대한 포워딩 정보를 플로우 엔트리의 형태로 상기 오픈플로우 스위치에 전송하고; 상기 오픈플로우 스위치는, 상기 컨트롤러로부터 상기 플로우에 대한 포워딩을 플로우 엔트리의 형태로 수신하여 상기 엔트리 안에 포함된 포워딩 규칙에 기반하여 이후의 트래픽을 관리하며; 상기 오픈플로우 스위치와 상기 컨트롤러는 TCP 또는 SSL 방식으로 상호 데이터를 송수신하는 것을 특징으로 한다.The openflow network system of the present invention for achieving the above object includes a plurality of nodes for transmitting and receiving data, an openflow switch for relaying flow transmission and reception between the nodes, and a flow routing controller for controlling the openflow switch. In the open flow network system, the controller generates the forwarding for the flow by reflecting the flow information received from the open flow switch and the user's request, the forwarding information for the flow in the form of a flow entry of the open flow Send to the switch; The openflow switch receives forwarding for the flow from the controller in the form of a flow entry to manage subsequent traffic based on forwarding rules included in the entry; The open flow switch and the controller is characterized in that the transmission and reception of data with each other by TCP or SSL.
그리고, 상기 플로우 엔트리는, 플로우의 목적지 및 발신지의 MAC, IP, 서비스 포트 번호를 포함하는 헤더 필드와; 지정된 포트로 포워딩을 수행하는 액션 필드를 포함할 수 있다.The flow entry may include a header field including a MAC, an IP, a service port number of a destination and an origin of the flow; It may include an action field for performing forwarding to a specified port.
삭제delete
또 다른 측면에서 볼 때, 상술한 목적을 달성하기 위한 본 발명의 오픈플로우 네트워크 시스템은, 데이터를 송수신하는 복수개의 노드와, 상기 노드 간의 플로우 송수신을 중계하는 오픈플로우 스위치를 포함하는 오픈플로우 네트워크 시스템에 있어서, 관리자로부터 입력받은 QoS 정책과 네트워크 연결 상태를 유지하는 네트워크 구성 정보가 저장된 데이터베이스를 포함하는 QoS 및 구성정보 관리기; 상기 오픈플로우 스위치와 호스트의 정보를 주기적으로 모니터링 하여 등록 및 관리하고, 수신된 이벤트 및 메시지의 종류에 따라, 수신된 패킷에 대해 선언된 QoS 프로파일에 기반하여 라우팅 경로를 설정하고 상기 설정된 경로에 포함된 오픈플로우 스위치의 플로우 엔트리를 생성하는 포워딩 및 스위치 통신기; 및 수신된 플로우에 따라 상기 QoS 라우팅 토폴로지와 일반 라우팅 토폴로지 중 어느 하나를 생성하고, 생성된 각 토폴로지에 기초하여 최단 경로를 산출하여 네트워크 구성정보 데이터베이스에 반영을 요청하는 라우팅 처리기를 포함하는 것을 특징으로 한다.In another aspect, the openflow network system of the present invention for achieving the above object, an openflow network system including a plurality of nodes for transmitting and receiving data, and an openflow switch for relaying flow transmission and reception between the nodes. A QoS and configuration information manager comprising: a database storing a QoS policy received from an administrator and network configuration information maintaining a network connection state; Periodically monitors and registers and manages information of the OpenFlow switch and the host, and sets a routing path based on the QoS profile declared for the received packet according to the received event and message type and includes the routing path in the set path. A forwarding and switch communicator for generating a flow entry of an open flow switch; And a routing processor for generating any one of the QoS routing topology and the general routing topology according to the received flow, calculating a shortest path based on each generated topology, and requesting reflection in a network configuration information database. do.
여기서, 상기 QoS 및 구성정보 관리기는, 상기 데이터베이스의 테이블을 생성하고 상기 테이블에 상기 QoS 관련 정보 및 네트워크 정보를 저장하여 관리 및 업데이트하는 QoS 적용대상 입력부; 상기 호스트와 오픈플로우 스위치 정보를 등록 및 관리하는 호스트/스위치 정보 처리부; 및 상기 플로우의 경로정보를 저장 및 관리하는 경로정보 처리부를 포함할 수 있다.The QoS and configuration information manager may include: a QoS application target input unit configured to generate a table of the database and store and manage and update the QoS related information and network information in the table; A host / switch information processor for registering and managing the host and the open flow switch information; And a route information processor configured to store and manage route information of the flow.
그리고, 상기 포워딩 및 스위치 통신기는, 오픈플로우 메시지 및 이벤트 처리부; 데이터 경로 이벤트에 기반하여 컨트롤러에 감지된 오픈플로우 스위치와 호스트를 등록하는 호스트 및 스위치 등록부; LLDP 패킷을 기반으로 물리 토폴로지를 인식하는 물리 토폴로지 획득부; 포트 상태정보를 이용하여 노드 간의 대역을 얻어오는 대역폭 측정부; 일반 플로우의 송수신을 위한 스위칭을 수행하는 L2 스위칭 처리부; 수신된 패킷에 대해 선언된 QoS 프로파일에 기반하여 라우팅 결정을 내리는 라우팅 선택부; 및 설정된 경로에 따라 포함되는 오픈플로우 스위치로 플로우 엔트리를 생성하여 전송하는 포워딩 처리부를 포함할 수 있다.The forwarding and switch communicator may include an open flow message and event processor; A host and switch register configured to register an openflow switch and a host detected by the controller based on the data path event; A physical topology acquiring unit recognizing a physical topology based on the LLDP packet; A bandwidth measuring unit for obtaining a band between nodes using port state information; An L2 switching processor configured to perform switching for transmission and reception of a general flow; A routing selector for making a routing decision based on the QoS profile declared for the received packet; And a forwarding processor configured to generate and transmit a flow entry to an open flow switch included according to a set path.
또한, 상기 라우팅 처리기는, 사용자의 네트워크 요구 사항을 반영하는 플로우를 처리하는 QoS 라우팅 토폴로지 생성부; 일반 플로우 처리를 담당하는 일반 라우팅 토폴로지 생성부; 상기 각 토폴로지에 기초하여 최단 경로를 산출하는 최단 경로 계산 처리부를 포함할 수 있다.The routing processor may further include: a QoS routing topology generator configured to process a flow reflecting a user's network requirements; A general routing topology generation unit in charge of general flow processing; It may include a shortest path calculation processing unit for calculating the shortest path based on each of the topologies.
그리고, 상기 데이터베이스에는, 최단경로(Dijkstra Path) 정보, 호스트 정보, 오픈플로우 스위치 연결정보, 오픈플로우 스위치 리스트 정보, QoS 정책정보, QoS 경로정보 및 실패한 패킷 정보중 적어도 하나 이상의 데이터가 저장될 수 있다.The database may store at least one or more of dijkstra path information, host information, open flow switch connection information, open flow switch list information, QoS policy information, QoS path information, and failed packet information. .
또한, 상기 최단경로(Dijkstra Path) 정보, QoS 정책정보, QoS 경로정보 및 실패한 패킷 정보는, 송수신 측의 MAC 주소, 송수신 측의 IP 주소, 송수신 측의 서비스 포트 번호, 데이터링크 계층에서의 타입 및 네트워크 프로토콜 번호를 포함하며, 각 정보의 속성에 따른 부가정보를 더 포함할 수 있다.In addition, the Dijkstra Path information, QoS policy information, QoS path information, and failed packet information may include the MAC address of the transmitting and receiving side, the IP address of the transmitting and receiving side, the service port number of the transmitting and receiving side, the type in the data link layer, and It includes a network protocol number, and may further include additional information according to the attribute of each information.
그리고, 상기 호스트 정보는, 상기 오픈플로우 망에 가입된 호스트의 주소정보 및 접속정보와, 수신측 및 송신측 대역폭 정보와, 호스트가 연결된 시간 및 경로 설정 시 사용 여부 정보를 포함할 수 있다.The host information may include address information and access information of a host subscribed to the open flow network, bandwidth information of a receiving side and a transmitting side, and information on whether a host is connected and whether to use it when setting a path.
또한, 상기 오픈플로우 스위치 연결정보는, 상기 오픈플로우 스위치의 주소정보 및 접속정보와, 수신측 및 송신측 대역폭 정보와, 마지막으로 패킷을 받은 시간 정보를 포함할 수 있다.In addition, the open flow switch connection information may include address information and access information of the open flow switch, reception side and transmission side bandwidth information, and last received packet information.
상술한 목적을 달성하기 위한 본 발명의 오픈플로우 네트워크 시스템의 제어방법은, 오픈프로우 네트워크 시스템의 제어방법에 있어서, 수신된 패킷의 플로우가 일반 플로우인지 QoS 플로우인지를 판단하는 단계; 상기 QoS 플로우인 경우 QoS 라우팅 토폴로지를 생성하는 단계; 상기 생성된 각 토폴로지에 기초하여 최단 경로를 설정하는 단계; 상기 최단 경로에 기초하여 플로우 엔트리를 생성하는 단계; 상기 플로우 엔트리를 오픈플로우 스위치에 전송하는 단계; 및 상기 오픈플로우 스위치에서 상기 플로우 엔트리에 포함된 포워딩 규칙에 기반하여 이후의 트래픽을 관리하는 단계를 포함한다.According to another aspect of the present invention, there is provided a method of controlling an open flow network system, the method comprising: determining whether a flow of a received packet is a general flow or a QoS flow; Creating a QoS routing topology if the QoS flow; Setting a shortest path based on each generated topology; Generating a flow entry based on the shortest path; Sending the flow entry to an openflow switch; And managing, by the open flow switch, subsequent traffic based on a forwarding rule included in the flow entry.
여기서, 상기 수신된 플로우가 일반 플로우인 경우 최단경로(Dijkstra) 라우팅 토폴로지를 생성하는 단계; 상기 생성된 각 토폴로지에 기초하여 최단 경로를 설정하는 단계; 및 상기 경로에 따라 L2 스위치를 제어하여 트래픽을 전송하는 단계를 포함할 수 있다.Here, when the received flow is a general flow, generating a shortest path (Dijkstra) routing topology; Setting a shortest path based on each generated topology; And transmitting traffic by controlling the L2 switch according to the path.
한편, 상기 오픈플로우 스위치의 포트 별 통계 자료를 주기적으로 수신하는 단계; 상기 포트별 통계 정보를 이용하여 링크 간의 대역폭을 계산하는 단계; 상기 대역폭에 따라 라우팅 플래그를 셋팅하는 단계; 기 저장된 호스트정보 및 오픈플로우 스위치의 연결정보에 포함된 상기 대역폭정보를 업데이트 하는 단계를 더 포함할 수 있다.On the other hand, periodically receiving port-specific statistical data of the open flow switch; Calculating bandwidth between links using the port-specific statistical information; Setting a routing flag according to the bandwidth; The method may further include updating the bandwidth information included in pre-stored host information and connection information of the open flow switch.
또한, 데이터 패스(datapath) 이벤트가 발생한 경우, 해당 호스트 및 오픈플로우 스위치의 연결정보를 추가 혹은 삭제하는 단계를 더 포함할 수 있다.
In addition, when a data path event occurs, the method may further include adding or deleting connection information of the corresponding host and the open flow switch.
상술한 바와 같이 본 발명의 오픈플로우 네트워크 시스템 및 그 제어방법은, 사용자가 정의하는 서비스 품질 요구사항에 맞추어 동적으로 트래픽 전송경로를 할당하고 네트워크 상황에 따라 플로우를 재정의하여 트래픽을 이동시킴으로써 일정 수준 이상의 네트워크 품질을 유지할 수 있고, 동적 플로우 이동을 통해 유휴 대역을 효율적으로 이용할 수 있다.
As described above, the open flow network system and its control method of the present invention dynamically allocate traffic transmission paths according to user-defined quality of service requirements, redefine the flow according to network conditions, and move the traffic above a certain level. Network quality can be maintained and dynamic flow movements can efficiently utilize idle bands.
도 1은 본 발명의 실시예에 따른 오픈플로우 네트워크 시스템의 구성도,
도 2는 본 발명의 실시예에 따른 오픈플로우 네트워크 시스템의 제어블럭도,
도 3은 본 발명의 실시예에 따른 오픈플로우 네트워크 시스템의 데이터베이스의 스키마 구조도,
도 4는 본 발명의 제1실시예에 따른 오픈플로우 네트워크 시스템의 제어 흐름도,
도 5는 본 발명의 제2실시예에 따른 오픈플로우 네트워크 시스템의 제어 흐름도이다.1 is a block diagram of an openflow network system according to an embodiment of the present invention;
2 is a control block diagram of an openflow network system according to an embodiment of the present invention;
3 is a schema structure diagram of a database of an openflow network system according to an embodiment of the present invention;
4 is a control flowchart of an openflow network system according to a first embodiment of the present invention;
5 is a control flowchart of an openflow network system according to a second embodiment of the present invention.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예를 보다 상세히 설명하기로 한다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings.
도 1은 본 발명의 실시예에 따른 오픈플로우 네트워크 시스템의 구성도이다.1 is a block diagram of an openflow network system according to an embodiment of the present invention.
오픈플로우 네트워크 시스템은, 데이터를 송수신하는 복수개의 노드(10)와 각 노드(10) 간의 플로우 송수신을 중계하는 오픈플로우 스위치(20)와, 오픈플로우 스위치(20)로부터 플로우 정보를 수신하여 플로우의 라우팅을 제어하는 플로우 라우팅 컨트롤러(100)를 포함한다. 여기서, 오픈플로우 스위치(20)와 플로우 라우팅 컨트롤러(100)는 TCP 또는 SSL과 같은 통신방법을 통해 정보를 교환할 수 있다.The open flow network system includes a plurality of
노드(10) 간 통신 시, 송신측 노드(10)는 오픈플로우 스위치(20) 측에 연결하고자 하는 수신측 노드(10)로 통신을 요청한다.In the communication between the
오픈플로우 스위치(20)는 송신측 노드(10)로부터 받은 데이터를 버퍼에 저장한 후, 오픈플로우 라우팅 컨트롤러(100) 측에 요청된 플로우에 대한 정보를 전송한다. 이때, 플로우에 대한 정보 교환은 오픈플로우 프로토콜을 이용하여 이루어진다. The
컨트롤러(100)는 오픈플로우 스위치(20)로부터 수신된 플로우 정보와 사용자의 요청을 반영하여 플로우에 대한 포워딩 경로를 생성한다. 오픈플로우 라우팅 컨트롤러(100)는 생성된 포워딩 경로를 오픈플로우 스위치(20)에 플로우 엔트리의 형태로 전송한다. The
플로우 엔트리를 수신한 오픈플로우 스위치(20)는 엔트리 안에 포함된 포워딩 규칙에 기반하여 이 후의 트래픽을 관리한다. 플로우 엔트리는 목적지/발신지 MAC, IP, 서비스 포트 번호 등을 포함하는 헤더 필드와 지정된 포트로 포워딩을 수행하는 액션 필드 등으로 구성된다.Receiving the flow entry, the
본 발명에서는 이와 같은 오픈플로우 네트워크 시스템에서 일반 플로우와 망 정책 관리자(110)에 의해 정의되어 차별화된 요구 사항을 보장하는 QoS 플로우를 구별하여 플로우 라우팅을 할 수 있는 시스템을 제안하고 있다. The present invention proposes a system capable of flow routing by distinguishing between a general flow and a QoS flow defined by the
도 2는 본 발명의 실시예에 따른 오픈플로우 네트워크 시스템의 제어블럭도로서, 트래픽 부하를 고려한 동적 플로우 라우팅 기능을 수행하기 위한 제어 구성을 도시한 것이다.2 is a control block diagram of an open flow network system according to an embodiment of the present invention, and shows a control configuration for performing a dynamic flow routing function in consideration of traffic load.
오픈플로우 네트워크 시스템은 QoS 및 구성정보 관리기(200), 라우팅 처리기(300), 포워딩 및 스위치 통신기(400)를 포함한다.The open flow network system includes a QoS and
QoS 및 구성정보 관리기(200)는 오픈플로우 네트워크 정책 관리자(110)로부터 입력받은 QoS 정책과 네트워크 연결 상태를 유지하는 네트워크 구성 정보가 저장되는 QoS 프로파일 및 구성 정보 데이터베이스(220)를 포함한다. The QoS and
QoS 및 구성정보 관리기(200)는 데이터베이스(220)의 테이블을 생성하고 테이블에 저장된 정보를 관리 및 업데이트하기 위해, QoS 적용대상 입력부(210), 호스트/스위치 정보 처리부(240), 경로정보 처리부(230)를 포함할 수 있다. 여기서, 데이터베이스(220)의 스키마 구조 및 필드에 대한 설명은 후술할 도 3에 대한 설명에서 상세히 서술하기로 한다.The QoS and
포워딩 및 스위치 통신기(400)는 오픈플로우 메시지 및 이벤트 처리부(410), 호스트 및 스위치 등록부(420), 물리 토폴로지 획득부(430), 대역폭 측정부(440), L2 스위칭 처리부(450), 라우팅 선택부(470), 포워딩 처리부(460)를 포함한다.The forwarding and
오픈플로우 메시지 및 이벤트 처리부(410)는 오픈플로우 프로토콜에 대한 처리 및 대응 기능을 수행한다.The open flow message and
호스트 및 스위치 등록부(420)는 데이터 패스(datapath) 이벤트에 기반하여 컨트롤러(100)에 감지된 오픈플로우 스위치(20)와 호스트를 등록한다.The host and switch
물리 토폴로지 획득부(430)는 LLDP 패킷을 기반으로 물리 토폴로지를 인식한다. The physical
대역폭 측정부(440)는 포트 상태(port_stats)를 이용하여 노드(10) 간의 대역정보를 획득한다.The
L2 스위칭 처리부(450)는 기존의 L2 스위칭 역할을 수행한다.The
라우팅 선택부(470)는 3 계층 이상의 패킷에 대해 선언된 QoS 프로파일에 기반하여 라우팅 경로를 설정한다.The
포워딩 처리부(460)는 라우팅 선택부(470)에서 설정된 경로에 따라, 경로에 포함된 오픈플로우 스위치(20) 측에 플로우 엔트리를 생성하여 전송한다.The forwarding
라우팅 처리기(300)는 QoS 라우팅 토폴로지 생성부(310), 일반 라우팅 토폴로지 생성부(320), 최단경로 계산 처리부(330)를 포함한다.The
QoS 라우팅 토폴로지 생성부(310)는 사용자의 네트워크 요구 사항을 반영하는 플로우를 처리한다. The QoS
일반 라우팅 토폴로지 생성부(320)는 QoS 라우팅이 아닌, 일반적인 플로우를 처리한다. 일반 라우팅 토폴로지 생성부(320)는 최단 거리를 검색하는 데이크스트라(Dijkstra) 알고리즘을 이용하여 일반적인 플로우를 처리할 수 있다.The general routing
최단경로 계산 처리부(330)는 각각 생성된 토폴로지에 기초하여 최단경로를 검색하고, 네트워크 구성정보 데이터베이스(220)에 검색된 최단경로의 반영을 요청한다.The shortest
도 3은 본 발명의 실시예에 따른 오픈플로우 네트워크 시스템의 데이터베이스(220)의 스키마 구조도이다.3 is a schema structure diagram of a
도 3에서 (a)는 최단경로(Dijkstra Path) 정보, (b)는 호스트 정보, (c)는 오픈플로우 스위치 연결정보, (d)는 오픈플로우 스위치 리스트 정보, (e)는 QoS 정책정보, (f)는 QoS 경로정보, (g)는 실패한 패킷 정보를 도시한 것이다.In FIG. 3, (a) shows Dijkstra Path information, (b) shows host information, (c) shows open flow switch connection information, (d) shows open flow switch list information, and (e) shows QoS policy information. (f) shows QoS path information and (g) shows failed packet information.
최단경로(Dijkstra Path) 정보(a)는 QoS 보장을 필요로 하지 않는 일반 플로우의 경로정보를 저장하는 용도로 사용된다. SM, DM은 각각 송수신 측의 MAC 주소, SP, DP는 각각 송수신 측의 IP 주소, Sp, Dp는 각각 송수신 측의 서비스 포트 번호, DLT는 데이터링크 계층에서의 타입, NWP는 네트워크 프로토콜 번호를 나타낸다. PTH는 해당 플로우가 거쳐 가야 하는 스위치(20)들의 ID를 순차적으로 포함한다. USE는 해당 경로의 사용 여부를 나타내고, EXP는 해당 경로가 마지막으로 사용된 시간을 기록한다.Dijkstra Path information (a) is used for storing path information of a general flow that does not require QoS guarantee. SM and DM are the MAC addresses of the transmitting and receiving sides, SP and DP are the IP addresses of the transmitting and receiving sides, respectively, Sp and Dp are the service port numbers of the transmitting and receiving sides, DLT is the type at the data link layer, and NWP is the network protocol number. . The PTH sequentially includes the IDs of the
호스트 정보(b)는 오픈플로우 망에 가입된 호스트의 정보를 저장하는 용도이다. MAC는 연결된 호스트의 MAC 주소, IP는 IP주소, COF는 해당 호스트가 연결된 오픈플로우 스위치(20)의 ID, CPT는 연결된 스위치(20)의 포트번호, RBW는 수신측 대역폭, TBW는 송신측 대역폭, CRT는 호스트가 연결된 시간, USE는 경로 설정 시 사용 여부를 나타낸다.The host information (b) is for storing information of hosts subscribed to the open flow network. MAC is the MAC address of the connected host, IP is the IP address, COF is the ID of the
오픈플로우 스위치 연결정보(c)는 오픈플로우 스위치가 다른 오픈플로우 스위치와 연결된 상태 정보를 나타내고, 오픈플로우 스위치(20)마다 하나의 테이블을 갖게 된다. The open flow switch connection information (c) indicates the state information in which the open flow switch is connected to another open flow switch, and has one table for each
오픈플로우 스위치 연결정보(c)에서 PT는 해당 스위치가 다른 스위치와 붙은 포트번호, COF는 해당 스위치가 연결된 다른 오픈플로우 스위치의 ID, RBW는 수신측 대역폭, TBW는 송신측 대역폭, CRT는 마지막으로 LLDP 패킷을 받은 시간으로 연결 상태를 주기적으로 확인하기 위함이다. CST는 링크의cost로 기본 값은 1이다. In OpenFlow switch connection information (c), PT is the port number to which the switch is attached to another switch, COF is the ID of the other Openflow switch to which the switch is connected, RBW is the receiving bandwidth, TBW is the sending bandwidth, and CRT is the last. This is to check the connection status periodically by the time when LLDP packet is received. CST is the cost of the link. The default value is 1.
오픈플로우 스위치 리스트 정보(d)는 오픈플로우 망에 가입된 스위치(20)의 ID를 저장한다.The open flow switch list information d stores the ID of the
QoS 정책정보(e)는 오픈플로우 망 정책 관리자(110)로부터 입력받은 QoS 적용 관련 정보를 저장하는 용도로 사용되고, 와일드 카드(*)를 지원한다. SM, DM은 각각 송수신 측의 MAC 주소, SP, DP는 각각 송수신 측의 IP 주소, Sp, Dp는 각각 송수신 측의 서비스 포트 번호, DLT는 데이터링크 계층에서의 타입, NWP는 네트워크 프로토콜 번호, PRT는 우선순위, TYP는 QoS 플로우 경로 설정 시 사용되는 라우팅 프로토콜 옵션으로 본 발명에서는 CSPF를 이용한다. CT는 제약조건의 만족시키고자 하는 임계치 값으로 주로 대역폭 정보를 이용한다. DRT는 QoS 플로우의 단/양방향 여부, STE는 해당 엔트리의 사용 상태를 나타낸다.The QoS policy information (e) is used for storing QoS application related information received from the open flow
QoS 경로정보(f)는 QoS 플로우의 경로에 대한 정보를 저장하는 용도로 사용되며, 최단경로(Dijkstra Path) 정보(a)의 스키마와 상당 부분 유사하다. SM, DM은 각각 송수신 측의 MAC 주소, SP, DP는 각각 송수신 측의 IP 주소, Sp, Dp는 각각 송수신 측의 서비스 포트 번호, DLT는 데이터링크 계층에서의 타입, NWP는 네트워크 프로토콜 번호, PRT는 우선순위, TYP는 QoS 플로우 경로 설정 시 사용되는 라우팅 프로토콜 옵션으로 본 발명에서는 CSPF를 이용한다. CT는 제약조건의 만족시키고자 하는 임계치 값으로 주로 대역폭 정보를 이용한다. QoS path information (f) is used for storing information on the path of the QoS flow, and is substantially similar to the schema of Dijkstra Path information (a). SM and DM are MAC addresses of the transmitting and receiving sides, SP and DP are IP addresses of the transmitting and receiving sides, respectively, Sp and Dp are service port numbers of the transmitting and receiving sides, DLT is the type at the data link layer, NWP is the network protocol number, and PRT. Is priority, and TYP is a routing protocol option used when establishing a QoS flow path. In the present invention, CSPF is used. The CT mainly uses bandwidth information as a threshold value to satisfy the constraint.
PTH는 해당 플로우가 거쳐 가야 하는 스위치(20)들의 ID를 순차적으로 포함한다. DRT는 QoS 플로우의 단/양방향 여부, USE는 경로 설정 시 사용 여부, EXP는 해당 경로가 마지막으로 사용된 시간을 기록한다. ABW는 이 경로의 가용 대역폭을 나타내고, CPT는 경로를 구성하는 홉 간의 링크들의 측정 여부를 리스트 형태로 나타낸다. CBW는 여러 링크들 중에 가장 작은 가용 대역폭을 임시로 저장하는 용도이며, CAY는 해당 경로가 다른 경로에 의해 침범 당했는지를 나타낸다.The PTH sequentially includes the IDs of the
실패한 패킷 정보(g)는 경로 설정 실패 시에 실패한 패킷에 대한 정보를 저장하는 용도로 사용된다. 실패한 패킷 정보(g)는 QoS 경로정보(f) 스키마의 구조와 유사하며, CRT 값으로 경로 설정 실패 시의 시간을 기록한다.The failed packet information g is used for storing information about the failed packet when the path establishment fails. The failed packet information (g) is similar to the structure of the QoS path information (f) schema, and records the time when the path establishment fails with a CRT value.
도 4는 본 발명의 제1실시예에 따른 오픈플로우 네트워크 시스템의 제어 흐름도로써, 본 시스템에서 관장하는 오픈플로우 스위치(20)로부터 메시지 또는 이벤트가 발생할 경우 처리 단계를 보여준다. 4 is a control flowchart of the openflow network system according to the first embodiment of the present invention, and shows a processing step when a message or event occurs from the
오픈플로우 메시지 또는 이벤트가 발생하면 이벤트 또는 메시지의 타입에 따라 대응하게 된다(S410). When an open flow message or event occurs, it corresponds to the type of event or message (S410).
이러한 대응은 오픈플로우 메시지 및 이벤트 처리부(410)를 호출하여 수행되고(S412), 오픈플로우 메시지 및 이벤트 처리부(410)는 오픈플로우 프로토콜에서 정의된 여러 종류의 메시지 및 타입을 판별한다(S414). 이에, 이벤트 및 메시지는, 본 시스템에서는 스위치(20)의 가입/탈퇴를 알리는 데이터 패스(datapath) 이벤트, 스위치(20)에서 컨트롤러(100)로 전송되는 패킷 입력(Packet-in) 메시지, 스위치(20)의 관리 정보 요구를 위한 Stats-request에 대한 Stats-reply 메시지를 정의하며, 오픈플로우 메시지 및 이벤트 처리부(410)는 발생된 메시지 또는 이벤트의 종류를 판별한다.This correspondence is performed by calling the open flow message and event processing unit 410 (S412), and the open flow message and
데이터 패스(datapath) 이벤트의 발생은 오픈플로우 스위치(20)가 컨트롤러(100)의 영역에 가입/탈퇴를 한다는 것을 의미한다. 이에, 호스트 및 스위치 등록부(420)를 호출한다(S420). The occurrence of a datapath event means that the
호스트 및 스위치 등록부(420)는 발생된 이벤트를 처리하여 오픈플로우 스위치(20)를 컨트롤러(100)의 영역에 가입 혹은 탈퇴 처리한다(S422). 여기서, 호스트 및 스위치 등록부(420)는 오픈플로우 스위치 리스트 데이터베이스(220)에 엔트리를 추가/삭제하고, 해당 스위치(20)를 위한 오픈플로우 스위치 연결정보 테이블을 생성하며 각 포트별로 엔트리를 생성 및 추가/삭제한다. The host and switch
패킷 입력(Packet-in) 메시지의 경우에는 여러 종류의 메시지가 캡슐화 되어 컨트롤러(100)로 전달되게 되는데, 크게 나누어 2 계층 이하의 패킷과 3 계층 이상의 정보를 포함하는 패킷으로 나누어 처리한다(S430, S450). In the case of a packet-in message, various types of messages are encapsulated and delivered to the
3계층 이상의 패킷인 경우 라우팅 선택부(470)를 호출하여 처리한다(S450).If the packet is three or more layers, the
2계층 이하의 패킷인 경우 LLDP 패킷인지 여부를 판단한다(S430).If the packet is less than two layers, it is determined whether the packet is an LLDP packet (S430).
LLDP 패킷이 아니면서 호스트정보를 포함하고 있는 경우(S432), 해당 호스트 및 스위치 등록부(420)를 호출한다(S420). 호스트 및 스위치 등록부(420)는 오픈플로우 스위치 리스트 데이터베이스(220)에 엔트리를 추가하고, 해당 스위치(20)를 위한 오픈플로우 스위치 연결정보 테이블을 생성하며 각 포트별로 엔트리를 생성 및 추가한다. If it is not an LLDP packet and contains host information (S432), the host and switch
LLDP 패킷이 아니면서 호스트정보를 포함하고 있지 아니한 경우, ARP와 같은 목적지 주소를 모르는 패킷, ICMP 등의 패킷들은 범용적으로 사용되는 스위치와 같은 방식으로 동작을 하게 된다. 이에, 일반 L2 스위칭 처리부(450)를 호출하고(S434), ARP/ICMP 등의 패킷 처리 방식으로 처리한다(S436).If it is not an LLDP packet and does not include host information, packets of unknown destination address such as ARP, and packets such as ICMP operate in the same manner as switches used in general use. Thus, the general L2
LLDP 패킷을 수신하는 경우에는 물리 토폴로지 획득부(430)를 호출하여(S440), 스위치들 간의 연결 정보를 획득한다(S442).When receiving the LLDP packet, the physical
LLDP 패킷의 chassid와 portid는 최초 LLDP 패킷을 받은 스위치의 정보를 나타내며 dpid와 inport는 최초 스위치에서 보낸 LLDP 패킷을 받은 스위치의 정보를 나타내므로, 이러한 정보를 오픈플로우 스위치 연결정보 테이블에 저장하고 경로 설정 시 다시 불러와 사용한다. 추가적으로 호스트의 정보를 얻기 위해 호스트가 어느 스위치의 몇 번 포트에 연결되어 있는지 감지하여 호스트 정보 테이블에 저장하고 변동 시 데이터베이스(220)를 업데이트 한다(S444).The chassid and portid of the LLDP packet represent the information of the switch that received the first LLDP packet, and the dpid and inport represent the information of the switch that received the LLDP packet from the original switch. Reload the poem and use it. In addition, in order to obtain the host information, the host detects how many ports are connected to which switch, stores the host information table, and updates the
Stats-reply 메시지는 스위치의 포트 별 통계 자료를 수집하기 위해 주기적으로 수신한다. 메시지 수신 시 포함된 포트별 통계 정보를 이용하여 링크 간의 대역폭을 계산한다. 대역폭 계산 방법은 이전에 보고받은 누적 바이트 수와 시간을 각각 현재 보고받은 누적 바이트 수와 시간의 차를 계산한 후 바이트 차이를 시간 차이로 나눈다. 이 값은 오픈플로우 스위치 연결정보 테이블 및 호스트 정보 테이블의 RBW, TBW에 저장되며 이 값은 각 링크의 사용 대역폭이 된다. Stats-reply messages are received periodically to collect switch-specific statistics. The bandwidth between links is calculated using statistical information for each port included in the message reception. The bandwidth calculation method calculates the difference between the cumulative number of bytes and the time reported previously, and divides the byte difference by the time difference. This value is stored in RBW and TBW of OpenFlow switch connection information table and host information table, and this value is used bandwidth of each link.
QoS 경로 상 홉 간의 가용 대역폭 계산을 위해서는 최대 지원 대역폭을 사용 대역폭으로 빼주어 계산한다. 그러나 이 값은 경로 상의 여러 링크 중 하나의 값이므로 그 경로의 가용 대역폭이라 할 수 없다. 경로의 가용 대역폭은 관련 링크들 중 최소 가용 대역폭이 되어야 하기 때문이다. 따라서 각 링크의 가용 대역폭을 전부 체크한 후 그 중 최소 가용 대역폭을 도출해야 한다. To calculate the available bandwidth between hops on the QoS path, the maximum supported bandwidth is subtracted from the used bandwidth. However, since this value is the value of one of the links on the path, it is not the available bandwidth of the path. This is because the available bandwidth of the path should be the minimum available bandwidth of the related links. Therefore, after checking all available bandwidths of each link, the minimum available bandwidth must be derived.
QoS 경로정보 테이블의 CBW는 현재까지 체크한 링크들의 가용 대역폭 중 가장 최소값을 임시로 저장하고 있다. CPT는 경로에 포함된 각 링크의 가용 대역폭 체크상태를 나타낸다. 경로에 포함된 링크가 5개이면 ‘11111’이 체크되어야 하고 2개이면 ‘11’이 된다. 링크의 순서에 따라 '1'이 체크되며 5개 링크 중 첫 번째와 세 번째 링크가 체크되었으면 ’10100‘이 된다. 포함된 모든 링크의 가용 대역폭이 체크 완료되면(즉, 모두 1) 그때 CBW는 ABW로 저장된다.The CBW of the QoS route information table temporarily stores the minimum value of the available bandwidths of the checked links. The CPT represents the available bandwidth check state of each link included in the path. If there are five links included in the path, '11111' should be checked. '1' is checked according to the link order. If the first and third of the five links are checked, it is '10100'. If the available bandwidth of all included links is checked (ie all 1s) then the CBW is stored as an ABW.
도 5는 본 발명의 제2실시예에 따른 오픈플로우 네트워크 시스템의 제어 흐름도로써, 라우팅 처리기(300)에서의 플로우 처리 방법을 예시한 것이다.5 is a control flowchart of an openflow network system according to a second embodiment of the present invention, and illustrates a flow processing method in the
3 계층 이상의 정보를 포함하는 패킷 입력(Packet-in) 메시지가 수신되었거나, 혹은, 재라우팅이 요구되는 경우(S512), 라우팅 선택부(470)가 호출된다(S512). If a packet-in message including information of three layers or more is received, or if rerouting is required (S512), the
수신된 패킷의 플로우가 일반 플로우인지 QoS 플로우인지를 판단한다(S514). It is determined whether the flow of the received packet is a general flow or a QoS flow (S514).
QoS 플로우인 경우 CSPF QoS 라우팅 토폴로지 생성부(310)를 호출하고(S520), 오픈플로우 스위치 연결 정보 테이블로부터 제약사항(CT)을 만족시키지 못하는 링크는 제거한다(S522).In the case of the QoS flow, the CSPF QoS
이 후, 새로운 토폴로지를 생성하고 최단경로 설정을 통해 경로를 생성한다(S524).Thereafter, a new topology is generated and a path is generated by setting the shortest path (S524).
여기서, 경로 설정에 성공하였는지 여부를 확인하고(S526), 경로설정에 성공한 경우 QoS 경로정보 테이블의 PTH 필드에 해당 경로를 리스트 형태로 저장한다(S528). 이에, 오픈플로우의 패킷 출력(Packet-out) 메시지를 이용하여 포워딩함으로써 경로 상의 스위치(20)마다 필요한 포워딩을 수행할 수 있게 된다(S540).Here, it is checked whether the path setting is successful (S526). If the path setting is successful, the corresponding path is stored in the PTH field of the QoS path information table in the form of a list (S528). Accordingly, forwarding is required for each
반면, 경로설정에 실패한 경우, 실패 패킷(Fail packet)정보 데이터베이스(220)에 관련 정보를 저장한다(S538).On the other hand, if the path setting fails, the relevant information is stored in the fail packet information database 220 (S538).
한편, 수신된 패킷의 플로우가 일반 플로우인 것으로 판단된 경우에는, 최단경로(Dijkstra Path) 기술을 이용한 일반 라우팅 토폴로지 생성부(320)를 호출한다(S530).On the other hand, if it is determined that the flow of the received packet is a general flow, the general routing
일반 라우팅 토폴로지 생성부(320)는 단순하게 토폴로지를 생성한 후 최단경로를 생성한다(S532).The general
여기서, 최단경로 설정에 성공하면 최단경로(Dijkstra Path) 정보 데이터베이스(220)의 PTH 필드에 해당 경로를 리스트 형태로 저장한다(S536). If the shortest path is successfully set, the path is stored in the PTH field of the Dijkstra
반면, 경로설정에 실패한 경우, 실패 패킷(Fail packet)정보 데이터베이스(220)에 관련 정보를 저장한다(S538).On the other hand, if the path setting fails, the relevant information is stored in the fail packet information database 220 (S538).
이상 설명한 바와 같이, 본 발명은 사용자가 정의하는 서비스 품질 요구사항에 맞추어 동적으로 트래픽 전송경로를 할당하고, 네트워크 상황에 따라 플로우의 재 정의를 통해 트래픽을 이동시키는 방식으로 사용자 트래픽을 관리 및 제어할 수 있다. 또한, 플로우를 구성하는 속성들, 예컨대, MAC 주소, IP 주소, 서비스 포트 번호 등을 더욱 자세히 정의 및 조합시킬 수 있는 특징이 있다. As described above, the present invention manages and controls user traffic by dynamically assigning traffic transmission paths according to user-defined quality of service requirements and moving traffic through redefinition of flows according to network conditions. Can be. In addition, there is a feature that can further define and combine attributes constituting the flow, for example, MAC address, IP address, service port number, and the like.
이에 따라, 망의 정책 관리자는 일정 수준 이상의 네트워크 품질을 요구하는 네트워크 응용을 지원하기가 수월해질 수 있으며, 동적 플로우 이동을 통해 유휴 대역을 효율적으로 이용할 수 있으므로 망 이용의 효율성을 높이는 효과를 기대할 수 있다.As a result, network policy managers can easily support network applications that require more than a certain level of network quality, and can use the idle bandwidth efficiently through dynamic flow movement, which can increase the efficiency of network utilization. have.
이와 같이, 본 발명이 속하는 기술분야의 당업자는 본 발명이 그 기술적 사상이나 필수적 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적인 것이 아닌 것으로서 이해해야만 한다. 본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 등가 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.
As such, those skilled in the art will appreciate that the present invention can be implemented in other specific forms without changing the technical spirit or essential features thereof. Therefore, the above-described embodiments are to be understood as illustrative in all respects and not as restrictive. The scope of the present invention is defined by the appended claims rather than the detailed description and all changes or modifications derived from the meaning and scope of the claims and their equivalents are to be construed as being included within the scope of the present invention do.
본 발명은 사용자가 정의하는 서비스 품질 요구사항에 맞추어 동적으로 트래픽 전송경로를 할당하고 네트워크 상황에 따라 플로우를 재정의하여 트래픽을 이동시킴으로써 일정 수준 이상의 네트워크 품질을 유지할 수 있고, 동적 플로우 이동을 통해 유휴 대역을 효율적으로 이용할 수 있는 오픈플로우 네트워크 운영에 이용할 수 있다.The present invention can maintain the network quality more than a certain level by dynamically allocating traffic transmission paths according to user-defined service quality requirements and redefining flows according to network conditions to move traffic, and moving idle bandwidth through dynamic flow movement. It can be used for open flow network operation that can be used efficiently.
10 : 노드 20 : 오픈플로우 스위치
100 : 플로우 라우팅 컨트롤러 110 : 관리자
200 : QoS 및 구성정보 관리기 210 : QoS 적용대상 입력부
220 : 데이터베이스 230 : 경로정보 처리부
240 : 호스트/스위치 정보처리부 300 : 라우팅 처리기
310 : QoS 라우팅 토폴로지 생성부
320 : 일반 라우팅 토폴리지 생성부
330 : 최단경로 계산 처리부
400 : 포워딩 및 스위치 통신기
410 : 오플 플로우 메시지 및 이벤트 처리부
420 : 호스트 및 스위치 등록부 430 : 물리 토폴로지 획득부
440 : 대역폭 측정부 450 : L2 스위칭 처리부
460 : 포워딩 처리부 470 : 라우팅 선택부10: node 20: openflow switch
100: flow routing controller 110: manager
200: QoS and configuration information manager 210: QoS application target input unit
220: database 230: route information processing unit
240: host / switch information processing unit 300: routing processor
310: QoS routing topology generation unit
320: general routing topology generation unit
330: shortest path calculation processing unit
400: Forwarding and Switch Communicator
410: overflow message and event processing unit
420: host and switch register 430: physical topology acquisition
440: bandwidth measurement unit 450: L2 switching processing unit
460: forwarding processing unit 470: routing selection unit
Claims (15)
상기 컨트롤러는 상기 오픈플로우 스위치로부터 수신된 플로우 정보와 사용자의 요구를 반영하여 플로우에 대한 포워딩을 생성하고, 상기 플로우에 대한 포워딩 정보를 플로우 엔트리의 형태로 상기 오픈플로우 스위치에 전송하고;
상기 오픈플로우 스위치는, 상기 컨트롤러로부터 상기 플로우에 대한 포워딩을 플로우 엔트리의 형태로 수신하여 상기 엔트리 안에 포함된 포워딩 규칙에 기반하여 이후의 트래픽을 관리하며;
상기 오픈플로우 스위치와 상기 컨트롤러는 TCP 또는 SSL 방식으로 상호 데이터를 송수신하는 것을 특징으로 하는 오픈프로우 네트워크 시스템.
An open flow network system including a plurality of nodes for transmitting and receiving data, an open flow switch for relaying flow transmission and reception between the nodes, and a flow routing controller for controlling the open flow switch,
The controller generates forwarding for the flow by reflecting the flow information received from the openflow switch and the user's request, and sends the forwarding information for the flow to the openflow switch in the form of a flow entry;
The openflow switch receives forwarding for the flow from the controller in the form of a flow entry to manage subsequent traffic based on forwarding rules included in the entry;
The open flow switch and the controller is an open flow network system, characterized in that for transmitting and receiving data to each other in a TCP or SSL manner.
상기 플로우 엔트리는,
플로우의 목적지 및 발신지의 MAC, IP, 서비스 포트 번호를 포함하는 헤더 필드와;
지정된 포트로 포워딩을 수행하는 액션 필드를 포함하는 것을 특징으로 하는 오픈프로우 네트워크 시스템.
The method of claim 1,
The flow entry,
A header field containing a MAC, IP, service port number of a destination and an origin of the flow;
An open PRO network system comprising an action field for performing forwarding to a designated port.
관리자로부터 입력받은 QoS 정책과 네트워크 연결 상태를 유지하는 네트워크 구성 정보가 저장된 데이터베이스를 포함하는 QoS 및 구성정보 관리기;
상기 오픈플로우 스위치와 호스트의 정보를 주기적으로 모니터링 하여 등록 및 관리하고, 수신된 이벤트 및 메시지의 종류에 따라, 수신된 패킷에 대해 선언된 QoS 프로파일에 기반하여 라우팅 경로를 설정하고 상기 설정된 경로에 포함된 오픈플로우 스위치의 플로우 엔트리를 생성하는 포워딩 및 스위치 통신기; 및
수신된 플로우에 따라 상기 QoS 라우팅 토폴로지와 일반 라우팅 토폴로지 중 어느 하나를 생성하고, 생성된 각 토폴로지에 기초하여 최단 경로를 산출하여 네트워크 구성정보 데이터베이스에 반영을 요청하는 라우팅 처리기를 포함하며;
상기 QoS 및 구성정보 관리기는, 상기 데이터베이스의 테이블을 생성하고 상기 테이블에 상기 QoS 관련 정보 및 네트워크 정보를 저장하여 관리 및 업데이트하는 QoS 적용대상 입력부; 상기 호스트와 오픈플로우 스위치 정보를 등록 및 관리하는 호스트/스위치 정보 처리부; 및 상기 플로우의 경로정보를 저장 및 관리하는 경로정보 처리부를 포함하는 것을 특징으로 하는 오픈프로우 네트워크 시스템.
An open flow network system comprising a plurality of nodes for transmitting and receiving data, and an open flow switch for relaying flow transmission and reception between the nodes,
A QoS and configuration information manager including a database storing a QoS policy received from an administrator and network configuration information maintaining a network connection state;
Periodically monitors and registers and manages information of the OpenFlow switch and the host, and sets a routing path based on the QoS profile declared for the received packet according to the received event and message type and includes the routing path in the set path. A forwarding and switch communicator for generating a flow entry of an open flow switch; And
A routing processor for generating any one of the QoS routing topology and the general routing topology according to the received flow, calculating a shortest path based on each generated topology, and requesting the network configuration information database to be reflected;
The QoS and configuration information manager may include: a QoS application object input unit which generates a table of the database, stores, manages, and updates the QoS related information and network information in the table; A host / switch information processor for registering and managing the host and the open flow switch information; And a route information processor for storing and managing route information of the flow.
상기 포워딩 및 스위치 통신기는,
오픈플로우 메시지 및 이벤트 처리부;
데이터 경로 이벤트에 기반하여 컨트롤러에 감지된 오픈플로우 스위치와 호스트를 등록하는 호스트 및 스위치 등록부;
LLDP 패킷을 기반으로 물리 토폴로지를 인식하는 물리 토폴로지 획득부;
포트 상태정보를 이용하여 노드 간의 대역을 얻어오는 대역폭 측정부;
일반 플로우의 송수신을 위한 스위칭을 수행하는 L2 스위칭 처리부;
수신된 패킷에 대해 선언된 QoS 프로파일에 기반하여 라우팅 결정을 내리는 라우팅 선택부;
설정된 경로에 따라 포함되는 오픈플로우 스위치로 플로우 엔트리를 생성하여 전송하는 포워딩 처리부를 포함하는 것을 특징으로 하는 오픈프로우 네트워크 시스템.
The method of claim 4, wherein
The forwarding and switch communicator,
An open flow message and event processor;
A host and switch register configured to register an openflow switch and a host detected by the controller based on the data path event;
A physical topology acquiring unit recognizing a physical topology based on the LLDP packet;
A bandwidth measuring unit for obtaining a band between nodes using port state information;
An L2 switching processor configured to perform switching for transmission and reception of a general flow;
A routing selector for making a routing decision based on the QoS profile declared for the received packet;
An open flow network system comprising a forwarding processing unit for generating and transmitting a flow entry to an open flow switch included according to a set path.
상기 라우팅 처리기는,
사용자의 네트워크 요구 사항을 반영하는 플로우를 처리하는 QoS 라우팅 토폴로지 생성부;
일반 플로우 처리를 담당하는 일반 라우팅 토폴로지 생성부;
상기 각 토폴로지에 기초하여 최단 경로를 산출하는 최단 경로 계산 처리부를 포함하는 것을 특징으로 하는 오픈프로우 네트워크 시스템.
The method of claim 4, wherein
The routing processor,
QoS routing topology generation unit for processing a flow reflecting a user's network requirements;
A general routing topology generation unit in charge of general flow processing;
And a shortest path calculation processor configured to calculate the shortest path based on each of the topologies.
상기 데이터베이스에는,
최단경로(Dijkstra Path) 정보, 호스트 정보, 오픈플로우 스위치 연결정보, 오픈플로우 스위치 리스트 정보, QoS 정책정보, QoS 경로정보 및 실패한 패킷 정보중 적어도 하나 이상의 데이터가 저장되는 것을 특징으로 하는 오픈프로우 네트워크 시스템.
The method of claim 4, wherein
In the database,
Open PRO network, characterized in that at least one or more of the Dijkstra Path information, host information, open flow switch connection information, open flow switch list information, QoS policy information, QoS path information and failed packet information is stored system.
상기 최단경로(Dijkstra Path) 정보, QoS 정책정보, QoS 경로정보 및 실패한 패킷 정보는,
송수신 측의 MAC 주소, 송수신 측의 IP 주소, 송수신 측의 서비스 포트 번호, 데이터링크 계층에서의 타입 및 네트워크 프로토콜 번호를 포함하며, 각 정보의 속성에 따른 부가정보를 더 포함하는 것을 특징으로 하는 오픈프로우 네트워크 시스템.
The method of claim 8,
The shortest path (Dijkstra Path) information, QoS policy information, QoS path information and failed packet information,
Open including the MAC address of the transmitting and receiving side, the IP address of the transmitting and receiving side, the service port number of the transmitting and receiving side, the type and network protocol number in the data link layer, and further comprises additional information according to the attribute of each information. Prow network system.
상기 호스트 정보는,
상기 오픈플로우 망에 가입된 호스트의 주소정보 및 접속정보와, 수신측 및 송신측 대역폭 정보와, 호스트가 연결된 시간 및 경로 설정 시 사용 여부 정보를 포함하는 것을 특징으로 하는 오픈프로우 네트워크 시스템.
The method of claim 8,
The host information is,
The open flow network system, comprising: address information and access information of a host subscribed to the open flow network, bandwidth information of a receiving side and a transmitting side, and information on whether a host is connected and whether to use it when setting a path.
상기 오픈플로우 스위치 연결정보는,
상기 오픈플로우 스위치의 주소정보 및 접속정보와, 수신측 및 송신측 대역폭 정보와, 마지막으로 패킷을 받은 시간 정보를 포함하는 것을 특징으로 하는 오픈프로우 네트워크 시스템.
The method of claim 8,
The open flow switch connection information,
And the address information and access information of the open flow switch, the reception side and the transmission side bandwidth information, and time information of the last received packet.
수신된 패킷의 플로우가 일반 플로우인지 QoS 플로우인지를 판단하는 단계;
상기 QoS 플로우인 경우 QoS 라우팅 토폴로지를 생성하는 단계;
상기 생성된 각 토폴로지에 기초하여 최단 경로를 설정하는 단계;
상기 최단 경로에 기초하여 플로우 엔트리를 생성하는 단계;
상기 플로우 엔트리를 오픈플로우 스위치에 전송하는 단계;
상기 오픈플로우 스위치에서 상기 플로우 엔트리에 포함된 포워딩 규칙에 기반하여 이후의 트래픽을 관리하는 단계; 및
데이터 패스(datapath) 이벤트가 발생한 경우, 해당 호스트 및 오픈플로우 스위치의 연결정보를 추가 혹은 삭제하는 단계를 포함하는 것을 특징으로 하는 오픈프로우 네트워크 시스템의 제어방법.
In the control method of the open PRO network system,
Determining whether the flow of the received packet is a general flow or a QoS flow;
Creating a QoS routing topology if the QoS flow;
Setting a shortest path based on each generated topology;
Generating a flow entry based on the shortest path;
Sending the flow entry to an openflow switch;
Managing subsequent traffic at the openflow switch based on a forwarding rule included in the flow entry; And
And adding or deleting connection information of a corresponding host and an open flow switch when a data path event occurs.
상기 수신된 플로우가 일반 플로우인 경우 최단경로(Dijkstra) 라우팅 토폴로지를 생성하는 단계;
상기 생성된 각 토폴로지에 기초하여 최단 경로를 설정하는 단계; 및
상기 경로에 따라 L2 스위치를 제어하여 트래픽을 전송하는 단계를 포함하는 것을 특징으로 하는 오픈프로우 네트워크 시스템의 제어방법.
The method of claim 12,
Generating a Dijkstra routing topology when the received flow is a general flow;
Setting a shortest path based on each generated topology; And
And controlling the L2 switch according to the path to transmit the traffic.
상기 오픈플로우 스위치의 포트 별 통계 자료를 주기적으로 수신하는 단계;
상기 포트별 통계 정보를 이용하여 링크 간의 대역폭을 계산하는 단계;
상기 대역폭에 따라 라우팅 플래그를 셋팅하는 단계;
기 저장된 호스트정보 및 오픈플로우 스위치의 연결정보를 업데이트 하는 단계를 더 포함하는 것을 특징으로 하는 오픈프로우 네트워크 시스템의 제어방법.
The method of claim 12,
Periodically receiving port-specific statistical data of the open flow switch;
Calculating bandwidth between links using the port-specific statistical information;
Setting a routing flag according to the bandwidth;
The method of claim 1, further comprising updating previously stored host information and connection information of the open flow switch.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020100117421A KR101155012B1 (en) | 2010-11-24 | 2010-11-24 | Open flow network system and method of controlling the same |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020100117421A KR101155012B1 (en) | 2010-11-24 | 2010-11-24 | Open flow network system and method of controlling the same |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20120055955A KR20120055955A (en) | 2012-06-01 |
KR101155012B1 true KR101155012B1 (en) | 2012-06-14 |
Family
ID=46607390
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020100117421A KR101155012B1 (en) | 2010-11-24 | 2010-11-24 | Open flow network system and method of controlling the same |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101155012B1 (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20150033498A (en) * | 2013-09-23 | 2015-04-01 | 주식회사 케이티 | Method for providing end-to-end path on mixed networks comprising circuit and packet networks, and unified software defined network controller |
KR20170014853A (en) * | 2015-07-31 | 2017-02-08 | 에스케이텔레콤 주식회사 | Method for processing traffic based on sdn |
KR101953824B1 (en) * | 2017-10-27 | 2019-03-05 | 아토리서치(주) | Apparatus for network function virtualization using software defined networking and operation method thereof |
Families Citing this family (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6163204B2 (en) * | 2012-06-14 | 2017-07-12 | テケレック・インコーポレイテッドTekelec, Inc. | Method, system, and computer-readable medium for providing an integrated OpenFlow controller for a policy and charging rules function (PCRF) |
EP2850791B1 (en) * | 2012-10-05 | 2017-11-15 | Nec Corporation | Network management |
US9197568B2 (en) | 2012-10-22 | 2015-11-24 | Electronics And Telecommunications Research Institute | Method for providing quality of service in software-defined networking based network and apparatus using the same |
US9537904B2 (en) | 2013-01-24 | 2017-01-03 | Tekelec, Inc. | Methods, systems, and computer readable media for using policy knowledge of or obtained by a policy and charging rules function (PCRF) for needs based forwarding of bearer session traffic to network nodes |
KR102087226B1 (en) * | 2013-02-14 | 2020-03-10 | 삼성전자주식회사 | Method for sharing network based on software defined network to support multiple operator |
CN105052080B (en) | 2013-02-18 | 2019-05-03 | 泰科来股份有限公司 | For providing method, system and the computer-readable medium of thinking diameter network framework |
WO2014127347A1 (en) | 2013-02-18 | 2014-08-21 | Tekelec, Inc. | Methods, systems, and computer readable media for providing a virtualized diameter network architecture and for routing traffic to dynamically instantiated diameter resource instances |
KR102158863B1 (en) * | 2013-02-20 | 2020-09-24 | 주식회사 케이티 | Method for Managed QoS of M2M System |
CN105210329B (en) | 2013-03-15 | 2019-06-04 | 慧与发展有限责任合伙企业 | Loop free hybrid network |
KR101404491B1 (en) * | 2013-06-05 | 2014-06-10 | 한국과학기술정보연구원 | System and Method for dynamic bandwidth setting of subnet based on OpenFlow network |
KR101363338B1 (en) * | 2013-08-05 | 2014-02-14 | 주식회사 파이오링크 | Method, appratus, system and computer-readable recording medium for assisting communication between terminal by using openflow |
KR101378313B1 (en) * | 2013-09-12 | 2014-03-27 | 주식회사 파이오링크 | Method, appratus, system and computer-readable recording medium for assisting communication between terminal and local host by using openflow |
KR101877595B1 (en) * | 2013-10-28 | 2018-07-12 | 주식회사 케이티 | METHOD FOR CONTROLLING QoS USING TRAFFIC PROCESSING BASED ON SERVICE |
US9577924B2 (en) | 2013-11-14 | 2017-02-21 | Electronics And Telecommunications Research Institute | SDN-based network device with extended function and method of processing packet in the same device |
US9838483B2 (en) | 2013-11-21 | 2017-12-05 | Oracle International Corporation | Methods, systems, and computer readable media for a network function virtualization information concentrator |
US11388082B2 (en) | 2013-11-27 | 2022-07-12 | Oracle International Corporation | Methods, systems, and computer readable media for diameter routing using software defined network (SDN) functionality |
KR101491948B1 (en) * | 2014-01-22 | 2015-02-09 | 고려대학교 산학협력단 | Method and apparatus for distributed mobility management |
KR101629089B1 (en) * | 2014-09-24 | 2016-06-22 | (주)유비쿼스 | Hybrid openFlow method for combining legacy switch protocol function and SDN function |
KR101598775B1 (en) | 2015-01-26 | 2016-03-02 | 아토리서치(주) | Method, apparatus and computer program for controlling multi-path transmission of packet in software defined network |
KR101660849B1 (en) * | 2015-03-06 | 2016-09-28 | 성균관대학교산학협력단 | Autonomous control method in software defined network |
US9917729B2 (en) | 2015-04-21 | 2018-03-13 | Oracle International Corporation | Methods, systems, and computer readable media for multi-layer orchestration in software defined networks (SDNs) |
US10148509B2 (en) | 2015-05-13 | 2018-12-04 | Oracle International Corporation | Methods, systems, and computer readable media for session based software defined networking (SDN) management |
KR102165197B1 (en) * | 2015-07-31 | 2020-10-13 | 에스케이텔레콤 주식회사 | Apparatus and method for processing traffic based on sdn |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100429904B1 (en) * | 2002-05-18 | 2004-05-03 | 한국전자통신연구원 | Router providing differentiated quality-of-service and fast internet protocol packet classification method for the same |
KR100503419B1 (en) * | 2002-12-23 | 2005-07-22 | 한국전자통신연구원 | Appratus for allocation resources based on path color for providing differentiated service and method thereof |
-
2010
- 2010-11-24 KR KR1020100117421A patent/KR101155012B1/en not_active IP Right Cessation
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100429904B1 (en) * | 2002-05-18 | 2004-05-03 | 한국전자통신연구원 | Router providing differentiated quality-of-service and fast internet protocol packet classification method for the same |
KR100503419B1 (en) * | 2002-12-23 | 2005-07-22 | 한국전자통신연구원 | Appratus for allocation resources based on path color for providing differentiated service and method thereof |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20150033498A (en) * | 2013-09-23 | 2015-04-01 | 주식회사 케이티 | Method for providing end-to-end path on mixed networks comprising circuit and packet networks, and unified software defined network controller |
KR102087670B1 (en) * | 2013-09-23 | 2020-04-14 | 주식회사 케이티 | Method for providing end-to-end path on mixed networks comprising circuit and packet networks, and unified software defined network controller |
KR20170014853A (en) * | 2015-07-31 | 2017-02-08 | 에스케이텔레콤 주식회사 | Method for processing traffic based on sdn |
KR102219270B1 (en) * | 2015-07-31 | 2021-02-23 | 에스케이텔레콤 주식회사 | Method for processing traffic based on sdn |
KR101953824B1 (en) * | 2017-10-27 | 2019-03-05 | 아토리서치(주) | Apparatus for network function virtualization using software defined networking and operation method thereof |
Also Published As
Publication number | Publication date |
---|---|
KR20120055955A (en) | 2012-06-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101155012B1 (en) | Open flow network system and method of controlling the same | |
US10673741B2 (en) | Control device discovery in networks having separate control and forwarding devices | |
US9253042B2 (en) | Network management | |
EP2737671B1 (en) | Method and apparatus for resilient routing of control traffic in a split-architecture system | |
US5687168A (en) | Link state routing device in ATM communication system | |
US9769054B2 (en) | Network topology discovery method and system | |
US6594268B1 (en) | Adaptive routing system and method for QOS packet networks | |
EP3384640B1 (en) | Communication among network controllers | |
JP5850068B2 (en) | Control device, communication system, communication method, and program | |
JP5488979B2 (en) | Computer system, controller, switch, and communication method | |
WO2012081145A1 (en) | Communication path control system, path control device, communication path control method, and path control program | |
CN108173766B (en) | Multi-service hierarchical topological routing method based on differentiated QoS | |
JP2014516215A (en) | Communication system, control device, processing rule setting method and program | |
JP2016519911A (en) | Computer-implemented method, computer program product and computer | |
US20150381775A1 (en) | Communication system, communication method, control apparatus, control apparatus control method, and program | |
TWI556599B (en) | Network controlling method and network controller | |
JP2015173378A (en) | Management system, management server and management method | |
JP2006174156A (en) | Network congestion scale determining method and system | |
WO2023131307A1 (en) | Microwave network root node query method and apparatus, microwave system, and storage medium | |
WO2014038143A1 (en) | Flow information collecting system, method and program | |
KR100748097B1 (en) | Route configuration method and apparatus for security of qos(quality of service) | |
Han et al. | Management information model and high-speed resource control mechanism for next generation network |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20150520 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20160406 Year of fee payment: 5 |
|
FPAY | Annual fee payment |
Payment date: 20170327 Year of fee payment: 6 |
|
LAPS | Lapse due to unpaid annual fee |