KR20130060349A - 네트워크 시스템, 및 통신 트래픽 제어 방법 - Google Patents

네트워크 시스템, 및 통신 트래픽 제어 방법 Download PDF

Info

Publication number
KR20130060349A
KR20130060349A KR1020137010627A KR20137010627A KR20130060349A KR 20130060349 A KR20130060349 A KR 20130060349A KR 1020137010627 A KR1020137010627 A KR 1020137010627A KR 20137010627 A KR20137010627 A KR 20137010627A KR 20130060349 A KR20130060349 A KR 20130060349A
Authority
KR
South Korea
Prior art keywords
packet
storm
switch
controller
traffic
Prior art date
Application number
KR1020137010627A
Other languages
English (en)
Other versions
KR101476072B1 (ko
Inventor
시호미 사또
Original Assignee
닛본 덴끼 가부시끼가이샤
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 닛본 덴끼 가부시끼가이샤 filed Critical 닛본 덴끼 가부시끼가이샤
Publication of KR20130060349A publication Critical patent/KR20130060349A/ko
Application granted granted Critical
Publication of KR101476072B1 publication Critical patent/KR101476072B1/ko

Links

Images

Classifications

    • 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/32Flow control; Congestion control by discarding or delaying data units, e.g. packets or frames
    • H04L47/323Discarding or blocking control packets, e.g. ACK packets
    • 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]
    • 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/32Flow control; Congestion control by discarding or delaying data units, e.g. packets or frames
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/55Prevention, detection or correction of errors
    • H04L49/555Error detection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/55Prevention, detection or correction of errors
    • H04L49/557Error correction, e.g. fault recovery or fault tolerance
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0227Filtering policies
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/38Flow based routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/64Routing or path finding of packets in data switching networks using an overlay routing layer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/70Routing based on monitoring results

Abstract

오픈플로우 네트워크에서 트래픽 스톰이 발생한 경우, 플로우 단위로 원인의 프레임이 드롭되고, 무차별한 프레임의 드롭 및 포트의 다운을 수행하지 않는다. 구체적으로는, 컨트롤러는 그것의 제어 하의 각각의 스위치로부터 정기적으로 취득된 통계 데이터로부터, 단기간에 있어서의 트래픽의 증가를 검지한다. 검지한 경우, 컨트롤러는 스톰 검지 모드를 기동한다. 스톰 검지 모드에서는 샘플 패킷으로서, 미리 결정된 기간 동안 스위치로부터 무작위로 패킷이 추출된다. 컨트롤러는 이 샘플 패킷을 기초로 하여, 브로드캐스트 스톰, 멀티캐스트 스톰, 및 유니캐스트 스톰 중 어느 하나가 발생하고 있는지를 판정한다. 어느 하나가 발생하고 있을 경우, 컨트롤러는 트래픽 스톰이 발생하고 있다고 판정한다. 트래픽 스톰이 발생하고 있을 경우, 컨트롤러는 해석된 샘플 패킷의 데이터에 기초하여, 스톰의 원인인 패킷을 나타내는 룰(매치 조건)과, 그 패킷을 드롭하는 취지가 기재된 액션을 정의한 엔트리를 "FlowMod" 메시지를 사용함으로써 스위치의 포트에 설정한다.

Description

네트워크 시스템, 및 통신 트래픽 제어 방법{NETWORK SYSTEM AND METHOD FOR CONTROLLING COMMUNICATION TRAFFIC}
본 발명은 네트워크 시스템에 관한 것으로, 특히 오픈플로우(OpenFlow) 호환가능 디바이스에 야기되는 트래픽 스톰(traffic storm)의 제어를 행하는 네트워크 시스템에 관한 것이다.
네트워크 통신의 경로 제어 기술 중 하나로서, 송신기의 제어 프로토콜로서 오픈플로우 기술을 사용한 경로 제어 기술이 연구되어 있다. 오픈플로우 기술의 상세사항은, 비특허 문헌 1 및 2에 기술될 것이다. 오픈플로우 기술에 기초하여 경로 제어가 행해지는 네트워크를, 오픈플로우 네트워크라 칭한다.
오픈플로우 네트워크에서는, OFC(OpenFlow Controller)와 같은 컨트롤러(Controller)가, OFS(OpenFlow Switch) 등의 스위치의 플로우 테이블(Flow Table)을 조작함으로써 스위치들 각각의 거동을 제어한다. 컨트롤러와 스위치는, 컨트롤러가 오픈플로우 프로토콜에 따른 제어 메시지를 사용하여 스위치를 제어하기 위해 사용되는 시큐어 채널(Secure Channel)에 의해 접속되어 있다.
오픈플로우 네트워크에 있어서의 스위치는, 오픈플로우 네트워크를 형성하고, 컨트롤러의 제어 하에 있는 에지 스위치(edge switch) 및 코어 스위치(core switch)이다. 오픈플로우 네트워크에 있어서의 입력측 에지 스위치에 의한 패킷(통신 데이터)의 수신으로부터 출력측 에지 스위치로부터의 패킷의 송신까지의 패킷에 대한 일련의 흐름의 단계들을 플로우(Flow)라 칭한다.
플로우 테이블이란, 미리 결정된 룰(매치 조건)에 따른 패킷군(패킷 시퀀스(sequence))에 수행되어야 할 미리 결정된 액션(처리 내용)을 정의한 플로우 엔트리(Flow entry)가 등록된 테이블이다.
플로우 엔트리의 룰은 패킷의 각 프로토콜층의 헤더(header) 영역에 포함되는 수신처 어드레스(Destination Address), 송신원 어드레스(Source Address), 수신처 포트(Destination Port), 및 송신원 포트(Source Port) 중 어느 하나 또는 모두의 다양한 조합에 기초하여 정의되고 식별 가능하다. 상기 어드레스들은, MAC 어드레스(Media Access Control Address) 및 IP 어드레스(Internet Protocol Address)를 포함하는 것에 유의해야 한다. 또한, 상기 외에, 입구 포트(Ingress Port)의 데이터도 플로우 엔트리의 룰로서 사용될 수 있다.
플로우 엔트리의 액션은, "특정한 포트에 출력한다", "드롭(dropping)", 및 "헤더를 재기입한다"와 같은 동작을 나타낸다. 예를 들어, 스위치는 플로우 엔트리의 액션에 출력 포트의 식별 데이터(출력 포트 번호 등)가 나타나 있으면, 이 식별 데이터에 대응하는 포트에 패킷을 출력하고, 출력 포트의 식별 데이터가 도시되어 있지 않으면, 스위치는 패킷을 드롭 또는 파기한다. 또는, 스위치는 플로우 엔트리의 액션에 헤더 데이터가 나타나 있으면, 헤더 데이터를 기초로 하여 패킷의 헤더를 재기입한다.
오픈플로우 네트워크에 있어서의 스위치는, 플로우 테이블에 등록된 플로우 엔트리의 룰에 따른 패킷군에 플로우 엔트리의 액션을 수행한다.
일반적으로, 메쉬(mesh : 격자, 또는 그물코)형 토폴로지(topology)와 같은 네트워크에서는, 경로가 루프를 구성할 가능성이 있다.
예를 들어, 도 1에 도시한 바와 같이, 메쉬형 토폴로지의 네트워크에서 경로 제어가 잘못 수행되면, 브로드캐스트에 의해 패킷(또는 프레임)이 송신된 경우 루프가 형성되고, 더 증식하여, 대역이 압박되어 통신에 영향을 미친다. 프레임이란 OSI 참조 모델의 데이터 링크층에 있어서의 통신 데이터의 전송 단위임을 유의해야 한다. 패킷이란, OSI 참조 모델의 네트워크층에 있어서의 통신 데이터의 전송 단위이다.
전술한 문제를 해결하기 위한 종래의 기술로서, 브로드캐스트 프레임이 임계값에 달했을 때, 임계값을 초과한 프레임이 드롭되거나, 또는 대응하는 포트가 다 운(Down)되는 기술이 알려져 있다.
그러나 전술한 기술이 오픈플로우 네트워크에 적용된 경우, 본래는 전송되어야 할 프레임이 드롭되거나 포트가 다운되어 전송되지 않을 가능성이 있다.
관련된 기술로서, 특허 문헌 1(일본 특허 공개 공보 제2006-352263A호)에 통신 제어 방법 및 이 방법을 사용하는 통신 디바이스가 개시되어 있다. 이 관련 기술에서는, 서브넷 내의 중계 스위치에 접속된 복수의 엔드 호스트 사이에서 데이터의 송신 및 수신을 행하는 통신 시스템에 있어서, 중계 스위치의 L2 레벨에서의 오접속으로 인해 야기된 패킷 루프의 통신 장애를 회복하는 통신 제어 방법은 통신하고자 하는 하나의 엔드 호스트의 소스 MAC 어드레스 이외의 MAC 어드레스를 사용함으로써 패킷을 연속하여 송신하고, 이를 통해 패킷 루프를 정지시켜, 목적지의 엔드 호스트의 MAC 어드레스를 목적지 MAC 어드레스로서 사용함으로써 패킷 데이터를 송신하는 것을 포함한다.
또한, 특허 문헌 2(일본 특허 공개 공보 평11-112544A호)에 LAN(Local Area Network) 스위치가 개시되어 있다. 이 관련 기술에서는, 스위치 장치에서 VLAN(Virtual LAN) 기능을 갖는 LAN 스위치가 VLAN 멀티캐스트 프레임 카운트부와 수신 프레임 파기부를 구비하고 있다. VLAN 멀티캐스트 프레임 카운트부는, 매 단위 시간당의 값이 미리 결정된 임계값 이상이 되는 VLAN 브로드캐스트 멀티캐스트 카운터가 있는 경우에 VLAN의 VLAN 리미터 플래그를 설정할 수 있다. 수신 프레임 파기부는, 수신 프레임의 수신처 어드레스가 브로드캐스트 어드레스 또는 멀티캐스트 어드레스이고, 수신 프레임이 VLAN 리미터 플래그가 설정된 VLAN에 대응하고 있는 경우에 수신 프레임을 파기한다.
일본 특허 공개 공보 제2006-352263A호 일본 특허 공개 공보 평11-112544A호
"The OpenFlow Switch Consortium", [online] (URL : http://www.openflowswitch.org/) "OpenFlow Switch Specification, Version 1.0.0", [online], December 31, 2009 (URL : http://www.openflowswitch.org/documents/openflow-spec-v1.0.0.pdf)
오픈플로우(OpenFlow) 네트워크와 같은 자유도가 높은 라우팅 환경에 있어서는, 네트워크 구축을 하는 자가 라우팅을 잘못 설정할 가능성이 있다.
오픈플로우 네트워크에서는, 모든 플로우에 대한 경로가 다양한 키의 조합에 기초하여 선택되기 때문에, 설정을 통해 루프를 형성하는 것은 용이하다. 그로 인해, 라우팅의 오설정을 통해, 의도하지 않게 루프가 형성될 가능성이 있다.
루프를 갖는 오픈플로우 네트워크에 있어서, 트래픽 스톰(브로드캐스트 스톰, 멀티캐스트 스톰, 및 유니캐스트 스톰 중 어느 하나)이 발생한 경우, 종래의 기술을 사용함으로써 해결을 도모하면, 원래 파기되지 않아야 할 패킷(또는 프레임)이 드롭되거나, 그 드롭이 포트 자체의 다운을 통해 다른 통신에 영향을 미칠 가능성이 있다.
본 발명의 목적은, 오픈플로우 네트워크에서 트래픽 스톰이 발생한 경우, 플로우 단위로 원인의 패킷이 드롭되고, 무차별한 패킷의 드롭 및 포트 자체의 다운을 피하는 네트워크 시스템을 제공하는 것이다.
본 발명에 따른 네트워크 시스템은, 내부의 플로우 테이블에 등록된 엔트리에 기초하여 패킷을 전송하도록 구성된 스위치와, 스위치에의 패킷 샘플링의 결과로서, 샘플링된 패킷이 트래픽 스톰의 원인이라고 판정된 경우, 패킷을 지정하는 매치 조건과 패킷을 드롭하는 액션을 정의한 드롭용 엔트리를, 상기 스위치에 대하여 설정하도록 구성된 컨트롤러를 포함한다. 스위치는 트래픽 스톰이 발생한 경우, 드롭용 엔트리에 기초하여 플로우 단위로 원인으로서의 패킷을 드롭한다.
통신 트래픽 제어 방법에서는, 내부의 플로우 테이블에 등록된 엔트리에 기초하여 패킷이 전송된다. 또한, 컨트롤러에 있어서, 스위치에 대한 패킷 샘플링의 결과로서, 샘플링된 패킷이 트래픽 스톰의 원인이라고 판정된 경우, 패킷을 지정하는 매치 조건과 패킷을 드롭하는 액션을 정의한 드롭용 엔트리가, 상기 스위치에 설정된다. 또한, 트래픽 스톰이 발생한 경우, 드롭용 엔트리에 기초하여 플로우 단위로 원인으로서의 패킷이 드롭된다.
본 발명에 따른 프로그램은, 전술한 통신 트래픽 제어 방법에 있어서의 컨트롤러로서의 처리를, 컴퓨터에 실행시키기 위한 프로그램이다. 본 발명에 따른 프로그램은 기억 장치 및 기억 매체에 저장될 수도 있음을 유의해야 한다.
포트의 UP(접속 상태)을 유지함으로써, 루프 환경에 있어서도, 오픈플로우 제어 내에서 패킷이 루프하지 않고, 정상적으로 전송되는 패킷이 존재할 경우, 루프는 그 패킷에 영향을 주지 않는다.
도 1은 종래의 네트워크 시스템에 있어서의 과제를 도시하는 도면이다.
도 2는 본 발명에 따른 네트워크 시스템의 구성예를 도시하는 도면이다.
도 3은 본 발명에 따른 네트워크 시스템의 예시적인 실시예를 도시하는 도면이다.
도 4a는 본 발명에 따른 네트워크 시스템의 동작을 도시하는 흐름도이다.
도 4b는 본 발명에 따른 네트워크 시스템의 동작을 도시하는 흐름도이다.
도 5는 본 발명에 따른 컨트롤러의 구성예를 도시하는 도면이다.
[예시적인 실시예]
이하에, 본 발명의 실시예들이 첨부 도면을 참조하여 설명될 것이다.
(시스템 구성)
도 2에 도시한 바와 같이, 본 발명에 따른 네트워크 시스템은, 스위치들 (SW)[10(10-i, i=1~n : n은 스위치수)], 컨트롤러(20) 및 단말기(30)를 포함한다.
스위치들[10(10-i, i=1~n)] 및 컨트롤러(20)는 오픈플로우 네트워크를 형성한다. 스위치들[10(10-i, i=1~n)]는 오픈플로우 네트워크의 노드(node)들이다.
스위치[10(10-i, i=1~n)]는 내부에 플로우 테이블을 갖고, 플로우 테이블에 등록된 엔트리에 따라서 패킷을 전송한다.
또한, 스위치[10(10-i, i=1~n)]는 정기적으로, 전송 패킷의 통계 데이터를 컨트롤러(20)에 통지한다.
스위치[10(10-i, i=1~n)]는 포트마다 프로토콜(TCP, UDP, ICMP 등) 단위, 또는 액션 단위로 통계 데이터를 계산하여, 통계 데이터로서 그것을 보유한다. 컨트롤러(20)와 스위치[10(10-i, i=1~n)] 사이에서의 메시지의 송신 및 수신의 통계는 통계 데이터이다. 컨트롤러(20)와 스위치[10(10-i, i=1~n)] 사이에서는, 오픈플로우 프로토콜에서 규정된 메시지를 사용함으로써 통신이 수행된다. 이하, 오픈플로우 프로토콜에서 규정된 메시지를, 오픈플로우 프로토콜 메시지(OpenFlow Protocol Message)라 칭한다.
또한, 스위치[10(10-i, i=1~n)]는 오픈플로우 네트워크에서 트래픽 스톰(브로드캐스트 스톰, 멀티캐스트 스톰 및 유니캐스트 스톰 중 어느 하나)이 발생한 경우, 플로우 단위로 원인으로서의 패킷(또는 프레임)을 드롭 또는 파기하고, 무차별한 패킷의 드롭이나 포트의 다운을 수행하지 않는다. 유니캐스트 스톰은, 플로우 테이블에 미등록된 엔트리에 대응하는 패킷의 스톰임을 유의해야 한다.
여기에서는, 스위치[10(10-i, i=1-4)]로서, 스위치(10-1; SW1), 스위치(10-2; SW2), 스위치(10-3; SW3) 및 스위치(10-4; SW4)가 도시된다.
컨트롤러(20)는 정기적으로, 제어 하의 스위치[10(10-i, i=1~n)]의 각각으로부터 전송 패킷의 통계 데이터를 취득하고, 통계 데이터로부터 단기간에 있어서의 트래픽의 증가를 검지한다.
또한, 컨트롤러(20)는 트래픽의 증가를 검지한 경우, 스톰 검지 모드를 기동한다. 컨트롤러(20)는, 스톰 검지 모드에서는 미리 결정된 기간 동안, 무작위로 스위치(10)로부터 전송되어 온 패킷을 추출한다. 여기에서는, 무작위로 추출된 패킷을 샘플 패킷이라 칭한다. 즉, 컨트롤러(20)는 스톰 검지 모드에 있어서, 패킷 샘플링을 수행한다.
또한, 컨트롤러(20)는 이 샘플 패킷으로부터 스위치(10)로 전송되는 방대한 양의 패킷이 트래픽 스톰에 관련되었는지 판정한다.
또한, 컨트롤러(20)는 패킷이 트래픽 스톰 내에 있는 경우, 해석된 샘플 패킷의 데이터로부터 스톰을 야기하는 패킷을 지정하는 매치 조건과, 그 패킷을 드롭하는 액션이 정의된 엔트리를 "FlowMod" 메시지에 의해 스위치(10)의 포트에 대하여 설정한다.
"FlowMod" 메시지는, 오픈플로우 프로토콜 메세지 중 하나이고, 컨트롤러로부터 스위치의 플로우 테이블에 엔트리를 등록 및 변경하기 위한 메시지이다. 즉, 컨트롤러(20)는 스위치(10)에 대해 "FlowMod" 메시지를 송신함으로써, 스위치(10)의 플로우 테이블에 엔트리를 등록·변경한다.
단말기(30)는 스위치[10(10-i, i=1~n)] 중 어느 하나와 접속되어 있고, 오픈플로우 네트워크 내에 트래픽 스톰을 야기하는 ARP(Address Resolution Protocol) 패킷을 송신한다. 즉, 단말기(30)는 오픈플로우 네트워크에 패킷의 플러딩(Flooding) 등을 수행한다.
[예시화된 하드웨어]
스위치[10(10-i, i=1~n)]의 예로서, 오픈플로우 스위치가 상정되고 있다. 오픈플로우 스위치의 예로서, 네트워크 스위치(network switch), 멀티 레이어 스위치(multi-layer switch) 등이 생각될 수 있다. 멀티 레이어 스위치는, 서포트되는 OSI 참조 모델의 층마다, 상세하게 분류되어 있다. 주요한 종별로서는, 네트워크층(제3층)의 데이터를 읽는 레이어 3 스위치, 트랜스포트층(제4층)의 데이터를 읽는 레이어 4 스위치, 어플리케이션층(제7층)의 데이터를 읽는 레이어 7 스위치(어플리케이션 스위치)가 있다. 오픈플로우 네트워크에서는, 일반적인 라우터 및 스위칭 허브와 같은 중계 장치가 오픈플로우 스위치로서 사용될 수도 있음에 유의해야 한다. 또한, 스위치[10(10-i, i=1~n)]는 물리 머신 위에 구축된 가상 스위치라도 좋다. 또한, 스위치[10(10-i, i=1~n)]의 대체 예로서, 라우터(router), 프록시(proxy), 게이트웨이(gateway), 파이어월(firewall), 로드 밸런서(load balancer)(부하 분산 장치), 대역 제어 장치(패킷 쉐이퍼(packet shaper)), 시큐리티 감시 제어 장치(SCADA(Supervisory Control And Data Acquisition)), 게이트키퍼(gatekeeper), 기지국(base station), 액세스 포인트(AP; Access Point), 통신 위성(CS; Communication Satellite) 및 복수의 통신 포트를 갖는 컴퓨터가 생각될 수 있다.
컨트롤러(20)의 예로서, PC(퍼스널 컴퓨터), 어플라이언스(appliance), 워크스테이션, 메인 프레임, 및 슈퍼컴퓨터와 같은 컴퓨터가 상정된다. 또한, 컨트롤러(20)는 물리 머신 위에 구축된 가상 머신(VM; Virtual Machine)일 수도 있다.
단말기(30)의 예로서, 전술한 컴퓨터, 및 휴대 전화기, 카 내비게이션 시스템, 휴대형 게임기, 가정용 게임기, 가젯 백(gadget bag)(전자 및 전기 디바이스), 쌍방향 텔레비전(Interactive TV), 디지털 튜너, 디지털 리코더, 데이터 가전(information home electronics)(가정용 정보 어플라이언스(information home appliance)), OA(Office Automation) 디바이스 등이 생각될 수 있다. 단말기(30)는 차량, 선박, 및 항공기와 같은 이동체에 탑재될 수 있다.
각각의 스위치[10(10-i, i=1~n)], 컨트롤러(20) 및 단말기(30)를 접속하는 네트워크의 예로서, LAN(Local Area Network)이 상정되고 있다. 다른 예로서, 인터넷, 무선 LAN(Wireless LAN), WAN(Wide Area Network), 백본(Backbone), CATV(community antenna television system) 회선, 유선 전화망, 휴대 전화망, WiMAX(IEEE 802.16a), 3G(3rd Generation), 전용회선(leased circuit), IrDA(Infrared Data Association), Bluetooth(등록 상표), 시리얼 통신 회선, 데이타 버스 등도 생각될 수 있다.
도시되지 않았지만, 각각의 스위치[10(10-i, i=1~n)], 컨트롤러(20) 및 단말기(30)는 프로그램을 기초로 구동하여 주어진 처리를 수행하는 프로세서와, 프로그램 및 각종 데이터를 기억하는 메모리와, 통신용 인터페이스(I/F : interface)에 의해 실현된다.
전술한 프로세서의 예로서, CPU(Central Processing Unit), 마이크로프로세서(microprocessor), 마이크로컨트롤러 또는 전용의 기능을 갖는 반도체 집적 회로[Integrated Circuit(IC)] 등이 생각될 수 있다.
전술한 메모리의 예로서, RAM(Random Access Memory), ROM(Read Only Memory), EEPROM(Electrically Erasable and Programmable Read Only Memory) 및 플래시 메모리와 같은 반도체 메모리 디바이스, HDD(Hard Disk Drive) 및 SSD(Solid State Drive)와 같은 보조 메모리 장치, DVD(Digital Versatile Disk) 와 같은 리무버블 디스크, SD 메모리 카드(Secure Digital memory card)와 같은 기억 매체(미디어) 등이 생각될 수 있다. 또는 DAS(Direct Attached Storage), FC-SAN(Fibre Channel-Storage Area Network), NAS(Network Attached Storage), IP-SAN(IP-Storage Area Network) 등을 사용한 기억 장치가 사용될 수 있다.
전술한 통신용 인터페이스의 예로서, 네트워크 통신에 대응한 기판(마더보드, I/O 보드) 및 칩과 같은 반도체 집적 회로, NIC(Network Interface Card)와 같은 네트워크 어댑터, 및 비슷한 확장 카드 및 안테나와 같은 통신 장치, 접속구(커넥터)와 같은 통신 포트 등이 생각될 수 있다.
그러나, 본 발명은 이들 예에 한정되지 않는다.
[구현예]
도 3에 도시한 바와 같이, 스위치(10-1; SW1), 스위치(10-2; SW2) 및 스위치(10-3; SW3)에 의해 루프가 구성되는 네트워크 구성이 예로서 설명될 것이다.
도 3에 도시한 바와 같이, 이 네트워크 구성에 있어서, 단말기(30)가 스위치(10-4; SW4)와 접속되어 있고, 스위치(10-4; SW4)는 스위치(10-2; SW2)와 접속되어 있다.
또한, 이 네트워크 구성에 있어서, 컨트롤러(20)는 시큐어 채널(Secure Channel)에 의해 스위치[10(10-i, i=1~n)]의 각각과 접속되어, 각 스위치(10)를 제어한다.
이 상태에 있어서, 단말기(30)는 트래픽 스톰을 야기하는 ARP 패킷을 송신한다.
[기본 동작]
도 4a 및 도 4b를 참조하여, 본 발명에 따른 네트워크 시스템의 각 장치의 동작이 설명될 것이다.
(1) 스텝 S101
컨트롤러(20)는 일정 간격으로(정기적으로), 각 제어 대상으로서 스위치(10)의 모든 포트에 대해 통계 데이터를 취득한다. 예를 들어, 컨트롤러(20)는 미리 결정된 오픈플로우 프로토콜 메세지를 각 제어되는 시스템의 스위치(10)로 송신함으로써, 스위치(10)의 통계 데이터를 취득할 수 있다. 컨트롤러(20)는 스위치(10) 전체의 통계 데이터뿐만 아니라, 어느 정도 선정된 통계 데이터를 취득하기 위하여 통계 데이터 요구 메시지를 선택할 수 있다. 스위치(10)는 컨트롤러(20)로부터의 통계 데이터 요구 메시지에 응하여, 통계 데이터를 컨트롤러(20)에 통지한다. 통계 데이터의 요소로서, 통계 데이터의 식별 데이터(통계 데이터가 취득된 시간대 등), 스위치 식별 데이터(IP 어드레스 등), 포트 식별 데이터(포트 번호 등), 매치 조건(패킷 식별 데이터), 패킷 수(패킷 유출량/유입량), 바이트수(데이터 크기), 송신 및 수신 된 패킷의 프로토콜, 실행된 액션 등이 생각될 수 있다. 스위치 식별 데이터 및 포트 식별 데이터는, 매치 조건에 포함되어 있을 수 있다. 그러나, 실제로는 본 발명은 이들의 예에 한정되지 않는다.
(2) 스텝 S102
컨트롤러(20)는 제어 대상의 스위치(10)에서 트래픽 스톰이 발생한 경우, 스톰이 발생한 스위치의 포트의 통계 데이터로부터 시간마다(일정 기간/단위 시간당)의 전송 패킷 수의 차분이 설정 임계값을 초과하고, 패킷 수가 선형적으로 단조 증가하고 있는지 판정한다. 여기에서는, 컨트롤러(20)는 패킷 수를 카운트하고, 현재의 패킷 수와 이전의 패킷 수와의 차분이 설정 임계값을 넘어 증가하고 있는지 판정한다.
(3) 스텝 S103
컨트롤러(20)는 현재의 패킷 수와 전회의 패킷 수와의 차분이 설정 임계값을 넘어 증가하고 있을 경우, 이전에 설정된 스톰 검지 모드 종료로부터 소정 시간(예를 들어 1시간)이 지났는지 판정한다.
(4) 스텝 S104
컨트롤러(20)는 이전에 설정된 스톰 검지 모드 종료 시로부터 소정 시간이 지난 경우, 스톰 검지 모드를 기동한다.
(5) 스텝 S105
컨트롤러(20)는 스위치(10)에 무작위로 선택된 패킷의 카피(샘플 패킷)를 컨트롤러(20)에 전송하도록 요구함으로써, 패킷 샘플링을 수행한다. 컨트롤러(20)는 이 패킷 샘플링을 통해 높은 확률로 ARP 패킷을 검지한다.
(6) 스텝 S106
컨트롤러(20)는 패킷 샘플링의 결과로부터, 브로드캐스트 스톰, 멀티캐스트 스톰, 또는 유니캐스트 스톰을 판정한다. 여기에서는, 컨트롤러(20)는 패킷 샘플링의 결과로부터, ARP 패킷의 브로드캐스트 스톰으로 인해 트래픽 내에 스톰이 야기되는 것을 지정한다.
(7) 스텝 S107
컨트롤러(20)는 이 ARP 패킷의 정보를 기초로 하여, 이 ARP 패킷의 주어진 처리(액션)로서 "파기 처리(드롭 액션)"가 정의된 엔트리를 "FlowMod" 메시지에 의해 대응 스위치(10)의 대응 포트에 설정한다.
(8) 스텝 S108
스위치(10)는 이 "FlowMod" 메시지의 내용에 응하여, 플로우 테이블에, 이 ARP 패킷의 미리 결정된 처리(액션)로서 "드롭 액션"이 정의된 엔트리를 등록하고, 엔트리의 매치 조건(룰)에 대응하는 ARP 패킷을 드롭하고, 그것을 전송하지 않는다. 따라서, ARP 패킷만 소멸하고, 네트워크는 브로드캐스트 스톰으로부터 복귀한다.
(9) 스텝 S109
컨트롤러(20)는 "FlowMod" 메시지를 스위치(10)로 송신한 이후로, 미리 결정된 기간 동안, 스위치(10)의 포트를 감시한다.
(10) 스텝 S110
컨트롤러(20)는 스위치(10)의 큐 내에서 또는 미리 결정된 시간마다 전송 패킷 수가 설정된 임계값을 하회하고 있는지 판정한다.
(11) 스텝 S111
컨트롤러(20)는 상태가 브로드캐스트 스톰, 멀티캐스트 스톰, 또는 유니캐스트 스톰 중 어느 것도 아닌 경우, 또는 스위치(10)의 큐 내에 또는 미리 결정된 시간마다 전송 패킷 수가 설정된 임계값 이상일 경우, 알람(Alarm) 등에 의해 미리 결정된 목적지에 경고를 통지한다. 또한, 컨트롤러(20)는 경로 제어를 수행하여, 스위치(10)에 의한 패킷 전송을 제한한다. 예를 들어, 컨트롤러(20)는 해당 스위치(10)를 피하여 다른 스위치(10)를 경유하는 경로를, 그 경로상의 스위치(10)에 설정하고, 해당 스위치(10)에 의한 패킷 전송을 제한한다.
(12) 스텝 S112
컨트롤러(20)는 해당 스위치(10)의 큐 내에 또는 미리 결정된 시간마다 전송 패킷 수가 설정된 임계값을 하회한 경우, 트래픽 스톰이 해소되었다고 판정하여, 스톰 검지 모드를 종료한다.
또, 컨트롤러(20)는 트래픽 스톰이 해소되었다고 판정하여 스톰 검지 모드를 종료한 경우, "FlowMod" 메시지("드롭 액션"이 지정된 "FlowMod" 메시지)에 의해 등록된 엔트리를, 해당 스위치(10)의 플로우 테이블로부터 삭제할 수 있음을 유의해야 한다.
본 발명은, 전술한 네트워크 구성 이외의 루프 구성 또는 브로드캐스트에 한정되지 않는 트래픽 증가에 의한 네트워크 부하(멀티캐스트/유니캐스트 스톰)에 있어서도 유효하다.
또한, "FlowMod" 메시지에 의해 스톰 대상 패킷을 조작하기 때문에, 그 액션의 내용은 드롭에 한하지 않고, 네트워크의 관리자가 액션을 선택할 수 있다. 예를 들어, "FlowMod" 메시지에, 스톰 대상 패킷이 특정한 스위치로 전송되는 내용이 정의될 수 있다.
[컨트롤러의 구성]
도 5를 참조하여, 컨트롤러(20) 구성의 상세사항이 설명될 것이다.
컨트롤러(20)는 통계 데이터 취득부(21), 패킷 샘플링 개시부(22), 패킷 샘플링 종료부(23), 스톰 판정부(24) 및 스톰 검지부(25)를 구비한다.
통계 데이터 취득부(21)는, 정기적으로 스위치(10)로부터 전송 패킷의 통계 데이터를 취득한다.
패킷 샘플링 개시부(22)는 통계 데이터로부터 전송 패킷의 증가량이 설정 임계값을 초과하였다는 취지를 검지한 경우, 이전의 패킷 샘플링의 종료로부터 소정 시간이 지나면, 스위치(10)에 대한 패킷 샘플링을 개시한다.
패킷 샘플링 종료부(23)는 통계 데이터로부터 전송 패킷의 증가량이 설정 임계값을 하회한다는 취지를 검지한 스위치(10)의 패킷 샘플링을 종료한다.
스톰 판정부(24)는 패킷 샘플링의 결과로부터, 상태가 브로드캐스트 스톰, 멀티캐스트 스톰, 및 유니캐스트 스톰 중 어느 하나에 있는지 판정한다.
스톰 검지부(25)는 상태가 브로드캐스트 스톰, 멀티캐스트 스톰, 또는 유니캐스트 스톰 중 어느 하나일 경우, 샘플링한 패킷이 트래픽 스톰의 원인이라고 판정한다.
(정리)
전술한 대로, 본 발명은 오픈플로우 네트워크에서 트래픽 스톰이 발생한 경우, 플로우 단위로 원인인 패킷을 드롭하고, 무차별한 패킷의 드롭 및 포트 자체의 다운을 수행하지 않는다.
컨트롤러가 정기적으로 취득된 제어 하의 개별 스위치의 통계 데이터로부터, 트래픽의 단기간에 있어서의 증가를 검지한다. 컨트롤러는 트래픽의 증가를 검지한 경우, 스톰 검지 모드를 기동한다. 스톰 검지 모드에서는 미리 결정된 기간 동안, 스위치로부터 무작위로 패킷(샘플 패킷)이 추출된다. 컨트롤러는, 이 샘플 패킷으로부터 스위치에 의해 전송되는 방대한 양의 패킷이 브로드캐스트 스톰, 멀티캐스트 스톰, 또는 유니캐스트 스톰인지 판정한다. 컨트롤러는, 패킷이 트래픽 스톰일 경우, 해석된 샘플 패킷의 정보로부터 스톰을 야기하는 패킷 데이터, 및 그 패킷이 드롭되는 액션이 정의된 엔트리를 "FlowMod" 메시지에 의해 스위치의 포트에 대하여 설정한다.
본 발명에서는, 포트의 UP 상태(접속 상태)를 유지함으로써, 루프 환경에 있어서도 오픈플로우 제어에 의해 루프를 형성하지 않고, 정상적으로 전송되는 패킷에 영향을 주지 않는다.
따라서, 오픈플로우의 특성을 손상시키는 일 없이, 오픈플로우의 특성을 사용함으로써, 원인으로서의 패킷의 드롭이 가능하다. 또한, 본 발명을 구현하는 데 있어서, 추가되는 디바이스는 없으며, 기존의 오픈플로우 환경에서 수행될 수 있다.
(부기)
상기 예시적인 실시예의 일부 또는 전부는, 이하의 부기와 같이 기재하는 것도 가능하다. 단, 실제로는 본 발명은 이하의 기재 예에 한정되지 않는다.
(부기 1)
컨트롤러는, 플로우 테이블에 등록된 엔트리에 기초하여 패킷을 전송하는 스위치를 감시하고, 스위치에 패킷 샘플링을 수행하는 부분과, 스위치의 패킷 샘플링의 결과로서, 샘플링된 패킷이 트래픽 스톰의 원인이라고 판정된 경우, 패킷을 지정하는 매치 조건과 패킷을 드롭하는 액션이 정의된 드롭용 엔트리를, 스위치에 대하여 설정하고, 스위치 상에서 트래픽 스톰이 발생한 경우, 드롭용 엔트리에 기초하여 플로우 단위로 원인인 패킷을 드롭하도록 제어하는 부분을 포함한다.
본 발명의 예시적인 실시예가 상세하게 설명되었지만, 실제로는 본 발명은 전술한 예시적인 실시예에 한정되는 것은 아니고, 본 발명의 범위를 일탈하지 않는 변경들이 본 발명에 포함된다.
본 출원은 일본 특허 출원 제2010-242248호에 기초하는 우선권을 주장하는 것이며, 그것의 개시 내용은 인용에 의해 본 출원에 포함된다.

Claims (8)

  1. 네트워크 시스템으로서,
    내부의 플로우 테이블에 등록된 엔트리에 기초하여 패킷을 전송하도록 구성된 스위치; 및
    상기 스위치에 대한 패킷 샘플링의 결과로서, 샘플링된 패킷이 트래픽 스톰(traffic storm)의 원인인 것으로 판정된 경우, 상기 패킷을 지정하는 매치 조건과 상기 패킷을 드롭하는 액션을 정의하는 드롭용 엔트리(drop entry)를, 상기 스위치에 대하여 설정하도록 구성된 컨트롤러
    를 포함하고,
    상기 스위치는, 상기 트래픽 스톰이 발생한 경우, 상기 드롭용 엔트리에 기초하여, 플로우 단위로 원인으로서의 패킷을 드롭하는 네트워크 시스템.
  2. 제1항에 있어서,
    상기 컨트롤러는,
    정기적으로 상기 스위치로부터 전송 패킷의 통계 데이터를 취득하는 수단;
    상기 통계 데이터로부터, 전송 패킷의 증가량이 설정 임계값을 초과한다고 검지된 경우에는, 전회의 패킷 샘플링의 종료부터 미리 결정된 시간이 경과하면, 상기 스위치에 대한 패킷 샘플링을 개시하는 수단; 및
    상기 통계 데이터로부터, 전송 패킷의 증가량이 상기 설정 임계값을 하회한다고 검지된 경우에는, 상기 스위치에 대한 패킷 샘플링을 종료하는 수단
    을 포함하는 네트워크 시스템.
  3. 제1항 또는 제2항에 있어서,
    상기 컨트롤러는,
    상기 패킷 샘플링의 결과로부터, 네트워크 상태가 브로드캐스트 스톰, 멀티캐스트 스톰 또는 유니캐스트 스톰 중 어느 하나에 있는지를 판정하는 수단; 및
    브로드캐스트 스톰, 멀티캐스트 스톰 또는 유니캐스트 스톰 중 어느 하나인 경우, 샘플링된 패킷이 트래픽 스톰의 원인인 것으로 판정하는 수단
    을 포함하는 네트워크 시스템.
  4. 제1항 내지 제3항 중 어느 한 항에 따른 네트워크 시스템에서 사용되는 컨트롤러.
  5. 통신 트래픽 제어 방법으로서,
    스위치에 의해, 내부의 플로우 테이블에 등록된 엔트리에 기초하여 패킷을 전송하는 단계;
    컨트롤러에 의해, 상기 스위치에 대한 패킷 샘플링의 결과로서, 샘플링된 패킷이 트래픽 스톰의 원인인 것으로 판정된 경우, 상기 패킷을 지정하는 매치 조건과 상기 패킷을 드롭하는 액션을 정의하는 드롭용 엔트리를, 상기 스위치에 대하여 설정하는 단계; 및
    상기 스위치에 의해, 상기 트래픽 스톰이 발생한 경우, 상기 드롭용 엔트리에 기초하여 플로우 단위로 원인으로서의 패킷을 드롭하는 단계
    를 포함하는 통신 트래픽 제어 방법.
  6. 제5항에 있어서,
    상기 컨트롤러에 의해, 정기적으로 상기 스위치로부터 전송 패킷의 통계 데이터를 취득하는 단계;
    상기 통계 데이터로부터, 전송 패킷의 증가량이 설정 임계값을 초과한다고 검지된 경우에는, 상기 컨트롤러에서, 전회의 패킷 샘플링의 종료부터 미리 결정된 시간이 경과하면, 상기 스위치에 대한 패킷 샘플링을 개시하는 단계; 및
    상기 통계 데이터로부터, 전송 패킷의 증가량이 상기 설정 임계값을 하회한다고 검지된 경우에는, 상기 컨트롤러에서, 상기 스위치에 대한 패킷 샘플링을 종료하는 단계
    를 더 포함하는 통신 트래픽 제어 방법.
  7. 제5항 또는 제6항에 있어서,
    상기 컨트롤러에서, 상기 패킷 샘플링의 결과로부터, 네트워크 상태가 브로드캐스트 스톰, 멀티캐스트 스톰 또는 유니캐스트 스톰 중 어느 하나에 있는지를 판정하는 단계; 및
    상기 컨트롤러에서, 브로드캐스트 스톰, 멀티캐스트 스톰 또는 유니캐스트 스톰 중 어느 하나인 경우, 샘플링된 패킷이 트래픽 스톰의 원인인 것으로 판정하는 단계
    를 더 포함하는 통신 트래픽 제어 방법.
  8. 제5항 내지 제7항 중 어느 한 항에 따른 통신 트래픽 제어 방법에서의 상기 컨트롤러의 처리를 컴퓨터에 실행시키기 위한 프로그램을 저장하는 기억 매체.
KR1020137010627A 2010-10-28 2011-09-12 네트워크 시스템, 및 통신 트래픽 제어 방법 KR101476072B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2010242248 2010-10-28
JPJP-P-2010-242248 2010-10-28
PCT/JP2011/070726 WO2012056816A1 (ja) 2010-10-28 2011-09-12 ネットワークシステム、及び通信トラフィック制御方法

Publications (2)

Publication Number Publication Date
KR20130060349A true KR20130060349A (ko) 2013-06-07
KR101476072B1 KR101476072B1 (ko) 2014-12-23

Family

ID=

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101589553B1 (ko) * 2015-01-27 2016-01-28 아토리서치(주) 소프트웨어 정의 네트워크에서의 QoS 보장을 위한 대역폭 제어 방법 및 장치

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101589553B1 (ko) * 2015-01-27 2016-01-28 아토리서치(주) 소프트웨어 정의 네트워크에서의 QoS 보장을 위한 대역폭 제어 방법 및 장치

Also Published As

Publication number Publication date
WO2012056816A1 (ja) 2012-05-03
CN103181128A (zh) 2013-06-26
US20130188489A1 (en) 2013-07-25
RU2576480C2 (ru) 2016-03-10
EP2634977A4 (en) 2015-01-07
RU2013119723A (ru) 2014-12-10
CA2814830A1 (en) 2012-05-03
TW201225587A (en) 2012-06-16
JP5510687B2 (ja) 2014-06-04
JPWO2012056816A1 (ja) 2014-03-20
TWI456950B (zh) 2014-10-11
EP2634977A1 (en) 2013-09-04

Similar Documents

Publication Publication Date Title
JP5510687B2 (ja) ネットワークシステム、及び通信トラフィック制御方法
JP6609024B2 (ja) ネットワーク中で、トラフィックを監視する方法、および、装置
US10623314B2 (en) Switch system, and monitoring centralized control method
CN105262683B (zh) 网络系统和路由控制方法
US8863269B2 (en) Frontend system and frontend processing method
KR101627475B1 (ko) 스위치 시스템, 스위치 제어 방법 및 기억 매체
US9843496B2 (en) Communication system, control apparatus, and network topology management method
JP5233504B2 (ja) 経路制御装置およびパケット廃棄方法
US9276852B2 (en) Communication system, forwarding node, received packet process method, and program
US9391895B2 (en) Network system and switching method thereof
WO2013115177A1 (ja) ネットワークシステム、及びトポロジー管理方法
KR101579014B1 (ko) 부하 저감 시스템, 및 부하 저감 방법
US9319334B2 (en) Apparatus and method for controlling congestion in a communication network
KR101494565B1 (ko) 네트워크 시스템, 패킷 처리 방법 및 기억 매체
US20150085666A1 (en) Communication Apparatus, Control Apparatus, Communication System, Communication Method, Method for Controlling Communication Apparatus, and Program
KR101476072B1 (ko) 네트워크 시스템, 및 통신 트래픽 제어 방법

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: 20171114

Year of fee payment: 4

LAPS Lapse due to unpaid annual fee