KR20150068451A - 통신 노드, 통신 시스템, 제어 장치, 패킷 전송 방법 및 프로그램 - Google Patents

통신 노드, 통신 시스템, 제어 장치, 패킷 전송 방법 및 프로그램 Download PDF

Info

Publication number
KR20150068451A
KR20150068451A KR1020157011971A KR20157011971A KR20150068451A KR 20150068451 A KR20150068451 A KR 20150068451A KR 1020157011971 A KR1020157011971 A KR 1020157011971A KR 20157011971 A KR20157011971 A KR 20157011971A KR 20150068451 A KR20150068451 A KR 20150068451A
Authority
KR
South Korea
Prior art keywords
entry
packet
matching
matching condition
destination
Prior art date
Application number
KR1020157011971A
Other languages
English (en)
Other versions
KR101707355B1 (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 KR20150068451A publication Critical patent/KR20150068451A/ko
Application granted granted Critical
Publication of KR101707355B1 publication Critical patent/KR101707355B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • H04L45/745Address table lookup; Address filtering
    • 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/4604LAN interconnection over a backbone network, e.g. Internet, Frame Relay
    • H04L12/462LAN interconnection over a bridge based backbone
    • H04L12/4625Single bridge functionality, e.g. connection of two networks over a single bridge
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • H04L45/08Learning-based routing, e.g. using neural networks or artificial intelligence
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/28Routing or path finding of packets in data switching networks using route fault recovery
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/36Backward learning
    • 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
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers

Abstract

본 발명은 집중 제어형 네트워크에서의 통신 노드에 유지되는 엔트리의 수를 줄이고 제어 장치의 부하를 경감시킨다. 통신 노드는 적어도 수신처 어드레스를 포함하는 매칭 조건이 해당 매칭 조건에 매칭되는 패킷의 출력 수신처와 연관되는 제1 엔트리를 저장하는 제1 테이블; 선정된 매칭 조건을 갖는 제2 엔트리를 저장하는 제2 테이블; 제1 테이블의, 수신된 패킷의 송신원과 수신 포트의 세트를, 매칭 조건과 출력 수신처로서, 각각 등록하는 수신처 학습부; 및 수신 패킷에 매칭하는 매칭 조건을 갖는 엔트리가 제1 및 제2 테이블 각각으로부터 발견된 경우에, 제1 테이블에서 결정된 출력 수신처에 패킷을 전송하는 패킷 처리부를 포함한다. 패킷 처리부는 수신 패킷에 매칭하는 매칭 조건을 갖는 엔트리가 발견되지 않은 경우에, 제3 엔트리에 따라 수신 패킷을 브로드캐스트한다.

Description

통신 노드, 통신 시스템, 제어 장치, 패킷 전송 방법 및 프로그램{COMMUNICATION NODE, COMMUNICATION SYSTEM, CONTROL DEVICE, PACKET TRANSFER METHOD, AND PROGRAM}
(관련 출원에 관한 참조)
본 발명은 2012년 10월 10일자로 출원된 일본 특허 출원 제2012-224713호의 우선권에 기초하고 그 이익을 청구하는 것으로, 그 전체 개시 내용은 본 명세서에서 참조로서 결합된다.
본 발명은 통신 노드, 통신 시스템, 제어 장치, 패킷 전송 방법 및 프로그램에 관한 것으로, 제어 장치에 의해 집중적으로 제어되는 통신 노드, 통신 시스템, 제어 장치, 패킷 전송 방법 및 프로그램에 관한 것이다.
최근 들어, 오픈 플로우(OpenFlow)라고 하는 기술이 제안되고 있다(비특허문헌 1 및 2 참조). 오픈 플로우는 통신을 엔드 투 엔드(end-to-end) 플로우로서 처리하고, 각 플로우마다 경로 제어, 장해 회복, 부하 분산 및 최적화를 행한다. 비특허문헌 2에 명시되어 있는 오픈 플로우 스위치는, 오픈 플로우 컨트롤러와 통신하기 위한 시큐어 채널을 포함하고 오픈 플로우 컨트롤러로부터 적절하게 첨부 또는 재기입된 플로우 테이블에 따라 동작한다. 플로우 테이블에서, 각 플로우마다, 패킷 헤더와 매칭하는 매칭 조건(Match Fields), 플로우 통계 정보(카운터), 및 처리 내용을 정의한 인스트럭션(Instructions)의 세트가 정의된다(비특허문헌 2의 "4.1 Flow Table"의 섹션 참조).
예를 들어, 오픈 플로우 스위치는 패킷을 수신하면, 플로우 테이블로부터, 수신 패킷의 헤더 정보와 매칭되는 매칭 조건(비특허문헌 2의 "4.3 Match Fields" 참조)을 갖는 엔트리를 검색한다. 검색의 결과, 수신 패킷과 매칭되는 엔트리가 발견된 경우, 오픈 플로우 스위치는 플로우 통계 정보(카운터)을 갱신하고, 수신 패킷에 대하여 해당 엔트리의 인스트럭션 필드에 기술된 처리 내용(지정 포트로부터의 패킷 송신, 플러딩(flooding), 폐기 등)을 실시한다. 한편, 검색의 결과, 수신 패킷과 매칭되는 엔트리가 발견되지 않을 경우, 오픈 플로우 스위치는 시큐어 채널을 통해 오픈 플로우 컨트롤러에게 엔트리 설정을 요구, 즉, 수신 패킷을 처리하기 위한 제어 정보의 송신 요구(패킷 인 메시지)를 송신한다. 오픈 플로우 스위치는 처리 내용을 정의하는 플로우 엔트리를 수신하여 플로우 테이블을 갱신한다. 상술한 바와 같이, 오픈 플로우 스위치는 플로우 테이블에 저장된 엔트리를 제어 정보로서 사용하여 패킷 전송을 행한다.
Nick McKeown 외, "OpenFlow: Enabling Innovation in Campus Networks", [online], [2012년 10월 4일 검색], 인터넷 <URL: http://www.openflow.org/documents/openflow-wp-latest.pdf> "OpenFlow Switch Specification" Version 1.1.0 Implemented(Wire Protocol 0x02), [online], [2012년 10월 4일 검색], 인터넷 <URL: http://www.openflow.org/documents/openflow-spec-V1.1.0.pdf>
이하의 분석은 본 발명에 의해 제공된 것이다. 또한, 상기 선행 기술문헌의 각 개시는 본 명세서에서 참조로서 결합된다. 비특허문헌 1 및 2의 오픈 플로우로 대표되는 집중 제어형 네트워크에서, 플로우가 추가될 때마다, 경로상의 스위치와 같은 통신 노드에 엔트리를 설정할 필요가 있다. 그 결과, 접속 단말기와 통신 수신처의 조합의 증가에 따라 플로우 엔트리의 수가 증가하고, 제어 장치(20)의 부하도 증가한다고 하는 문제점이 있다.
개개의 통신 노드에 의해 유지되는 엔트리 수의 증가는 컨트롤러(제어 장치)의 부하의 증가 이외에, 통신 노드의 엔트리 검색에 걸리는 시간량을 증가시키고, 응답 성능에도 영향을 미친다. 유사하게, 각각의 통신 노드에 의해 유지되는 엔트리의 수의 증가는 통신 노드들을 관리하는 제어 장치(20)의 부하도 증가시킨다. 따라서, 통신 노드에 의해 유지되는 엔트리의 수를 최소한으로 유지하기 위한 요구가 있다.
본 발명은 집중 제어형 네트워크에서의 통신 노드에 의해 유지되는 엔트리의 수의 삭감 및 제어 장치의 부하 경감에 기여할 수 있는 통신 노드, 통신 시스템, 제어 장치, 패킷 전송 방법 및 프로그램을 제공하는 것을 목적으로 한다.
제1 양상에 따르면, 적어도 수신처 어드레스를 포함하는 매칭 조건이, 해당 매칭 조건에 매칭되는 패킷의 출력 수신처와 연관되는, 제1 엔트리를 저장하는 제1 테이블; 선정된 제어 장치에 의해 설정된 매칭 조건을 갖는 제2 엔트리를 저장하는 제2 테이블; 수신된 패킷의 송신원과 수신 포트의 세트를, 제1 테이블에서, 매칭 조건과 출력 수신처로서 각각 등록하는 수신처 학습부; 및 수신된 패킷에 매칭되는 매칭 조건을 갖는 엔트리가 제1 및 제2 테이블 각각으로부터 발견된 경우에, 제1 테이블에서 결정된 출력 수신처에 패킷을 전송하고, 제1 및 제2 테이블 중 적어도 한쪽에서 수신된 패킷에 매칭되는 매칭 조건을 갖는 엔트리가 발견되지 않을 경우, 제어 장치에 의해 설정된 제3 엔트리에 따라 수신된 패킷을 브로드캐스트하는 패킷 처리부를 포함하는 통신 노드가 제공된다.
제2 양상에 따르면, 적어도 수신처 어드레스를 포함하는 매칭 조건이, 해당 매칭 조건에 매칭되는 패킷의 출력 수신처와 연관되는, 제1 엔트리를 저장하는 제1 테이블; 선정된 매칭 조건을 갖는 제2 엔트리를 저장하는 제2 테이블; 수신된 패킷의 송신원과 수신 포트의 세트를, 제1 테이블에서, 매칭 조건과 출력 수신처로서 각각 등록하는 수신처 학습부; 및 수신된 패킷에 매칭되는 매칭 조건을 갖는 엔트리가 제1 및 제2 테이블 각각으로부터 발견된 경우에, 제1 테이블에서 결정된 출력 수신처에 패킷을 전송하고, 제1 및 제2 테이블 중 적어도 한쪽에서 수신된 패킷에 매칭되는 매칭 조건을 갖는 엔트리가 발견되지 않을 경우, 제3 엔트리에 따라 수신된 패킷을 브로드캐스트하는 패킷 처리부를 포함하는 복수의 통신 노드와; 복수의 통신 노드에 의해 구성되는 네트워크에서 브로드캐스트 경로를 계산하고, 브로드캐스트 경로에 따라 통신 노드의 적어도 제2 테이블에 엔트리를 설정하는 제어 장치를 포함하는 통신 시스템이 제공된다.
제3 양상에 따르면, 통신 노드의 테이블에 엔트리를 설정하는 제어 장치가 제공된다.
제4 양상에 따르면, 적어도 수신처 어드레스를 포함하는 매칭 조건이, 해당 매칭 조건에 매칭되는 패킷의 출력 수신처와 연관되는, 제1 엔트리를 저장하는 제1 테이블; 선정된 매칭 조건을 갖는 제2 엔트리를 저장하는 제2 테이블; 수신된 패킷의 송신원과 수신 포트의 세트를, 제1 테이블에서, 매칭 조건과 출력 수신처로서 각각 등록하는 수신처 학습부; 및 패킷 처리부를 포함하는 통신 노드가, 수신된 패킷에 매칭되는 매칭 조건을 갖는 엔트리가 제1 및 제2 테이블 각각으로부터 발견된 경우에, 제1 테이블에서 결정된 출력 수신처에 패킷을 전송하는 스텝과; 통신 노드가, 제1 및 제2 테이블 중 적어도 한쪽에서 수신된 패킷에 매칭되는 매칭 조건을 갖는 엔트리가 발견되지 않을 경우, 제3 엔트리에 따라 수신된 패킷을 브로드캐스트하는 스텝을 포함하는 패킷 전송 방법이 제공된다. 이 방법은, 수신된 패킷에 매칭되는 매칭 조건을 갖는 엔트리를 따라 수신된 패킷을 처리하는 통신 노드인 특정한 기계에 관련된다.
제5 양상에 따르면, 적어도 수신처 어드레스를 포함하는 매칭 조건이, 해당 매칭 조건에 매칭되는 패킷의 출력 수신처와 연관되는, 제1 엔트리를 저장하는 제1 테이블; 선정된 매칭 조건을 갖는 제2 엔트리를 저장하는 제2 테이블; 수신된 패킷의 송신원과 수신 포트의 세트를, 제1 테이블에서, 매칭 조건과 출력 수신처로서 각각 등록하는 수신처 학습부; 및 패킷 처리부를 포함하는 통신 노드에 탑재된 컴퓨터에, 수신된 패킷에 매칭되는 매칭 조건을 갖는 엔트리가 제1 및 제2 테이블 각각으로부터 발견된 경우에, 제1 테이블에서 결정된 출력 수신처에 패킷을 전송하는 처리와; 제1 및 제2 테이블 중 적어도 한쪽에서 수신된 패킷에 매칭되는 매칭 조건을 갖는 엔트리가 발견되지 않을 경우, 제3 엔트리에 따라 수신된 패킷을 브로드캐스트하는 처리를 실행시키는 프로그램이 제공된다. 또한, 이 프로그램은 컴퓨터 판독가능(비-일시적) 기억 매체에 저장될 수 있다. 즉, 본 발명은 컴퓨터 프로그램 제품으로서 구현될 수 있다.
본 발명에 따르면, 집중 제어형 네트워크에서의 통신 노드에 보유된 엔트리의 수와 제어 장치의 부하를 줄일 수 있다.
도 1은 일 실시 형태의 구성을 나타내는 도면이다.
도 2는 일 실시 형태의 동작을 설명하기 위한 도면이다.
도 3은 제1 실시 형태의 통신 시스템의 구성을 나타내는 도면이다.
도 4는 제1 실시 형태의 통신 노드의 상세 구성을 나타내는 블록도이다.
도 5는 제1 실시 형태의 동작(토폴로지 검색)을 설명하기 위한 도면이다.
도 6은 제1 실시 형태의 동작(경로 계산)을 설명하기 위한 도면이다.
도 7은 제1 실시 형태의 동작(수신처 학습)을 설명하기 위한 도면이다.
도 8은 제1 실시 형태의 동작(패킷 전송)을 설명하기 위한 도면이다.
도 9는 제1 실시 형태의 동작(장해 복구)을 설명하기 위한 도면이다.
첫번째로, 본 발명의 일 실시 형태의 개요에 대해서 도면을 참조하여 설명할 것이다. 이 개요에서의 도면 참조 부호는 이해를 돕기 위한 일례로서 각 요소에 편의상 부여한 것이며, 본 발명을 도면에 나타낸 형태에 한정하려는 것은 아니라는 것에 유의하라.
본 출원에 개시된 일 실시 형태는, 도 1에 나타낸 바와 같이, 제1 및 제2 테이블(11, 12), 수신처 학습부(13) 및 패킷 처리부(14)를 포함하는 통신 노드(10)와 제어 장치(20)를 포함하는 구성으로 실현될 수 있다.
제1 테이블(11)은, 적어도 수신처 어드레스를 포함하는 매칭 조건이 이 매칭 조건과 매칭하는 패킷의 출력 수신처와 연관되는 제1 엔트리를 저장한다. 제2 테이블(12)은 송신원 어드레스를 매칭 조건으로 갖는 제2 엔트리를 저장한다. 여기에서는, 제어 장치(20)가 단말기 A 내지 C가 접속되어 있다는 것을 검출하고, 단말기 A 내지 C의 어드레스를 송신원 어드레스로 갖는 제2 엔트리가 제2 테이블(12)에 설정되어 있다고 상정된다.
수신처 학습부(13)는 수신 패킷의 송신원과 수신 포트의 세트를, 매칭 조건이 제1 테이블(11)에서의 출력 수신처와 연관되는 제1 엔트리로서 등록한다.
패킷 처리부(14)는 제1 및 제2 테이블(11, 12) 각각으로부터 수신 패킷과 매칭되는 매칭 조건을 갖는 엔트리가 발견된 경우에, 제1 테이블에서 결정된 출력 수신처에 패킷을 전송하고, 제1 및 제2 테이블 중 적어도 한쪽에서 수신 패킷과 매칭되는 매칭 조건을 갖는 어떠한 엔트리도 발견되지 않을 경우, 제어 장치(20)에 의해 설정된 제3 엔트리에 따라 수신 패킷을 브로드캐스트한다. 또한, 제3 엔트리는 제2 테이블(12)에, 제2 엔트리보다도 하위의 우선도가 적용되도록 저장할 수도 있고, 제2 테이블(12) 이후에 참조되어야 할 제3 테이블에 저장할 수도 있다.
예를 들어, 도 2에 나타낸 바와 같이, 복수의 통신 노드(10)에 의해 구성된 네트워크에, 단말기 A 내지 C가 접속되어 있는 경우에, 단말기 C은 단말기 A에 패킷을 송신한다. 도 2의 파선은 제어 장치(20)에 의해 계산된 브로드캐스트/멀티캐스트 경로(이하, BCMC 경로라고 칭함)를 나타낸다.
통신 노드(10)는 단말기 C로부터의 패킷을 수신하지만, 제1 테이블(11)은 단말기 C로부터의 패킷에 매칭되는 매칭 조건을 갖는 엔트리를 가지고 있지 않기 때문에(패킷이 아직 학습되지 않았기 때문에), 통신 노드(10)는 도 2에 나타낸 브로드캐스트 경로를 실현하는 제3 엔트리에 따라 수신 패킷을 송신한다.
전송 경로상의 통신 노드(10)의 수신처 학습부(13)는, 브로드캐스트 경로를 따라 전송되는 단말기 C로부터 단말기 A로의 패킷을 수신하면, 수신 패킷의 송신원(단말기 C)과 수신 포트(단말기 C로부터의 패킷의 수신 포트)의 세트를, 제1 테이블(11)에서의 매칭 조건과 출력 수신처로서 갖는 제1 엔트리로서 등록한다.
다음으로, 브로드캐스트된 패킷을 수신한 단말기 A가 단말기 C에 응답 패킷을 송신하면, 경로상의 통신 노드(10)의 제1 테이블(11)에는, 단말기 C의 수신처 어드레스를 매칭 조건으로 하고, 단말기 C로부터 패킷을 수신한 포트를 출력 수신처로 하는 제1 엔트리가 등록되어 있기 때문에, 통신 노드(10)는 제1 엔트리를 찾았다고 판정한다. 또한, 통신 노드(10)의 제2 테이블에는, 전술한 바와 같이, 제어 장치(20)에 의해, 송신원의 단말기 A를 매칭 조건으로 하는 제2 엔트리가 등록되어 있기 때문에, 통신 노드(10)는 제2 엔트리를 찾았다고 판정한다. 그 결과, 단말기 A로부터 단말기 C로의 응답 패킷은 단말기 C에 유니캐스트 전송된다.
전송의 과정에서, 통신 노드(10)의 수신처 학습부(13)는 응답 패킷의 송신원(단말기 A)과 수신 포트(단말기 A로부터의 패킷의 수신 포트)의 세트를, 제1 테이블(11)에서의 매칭 조건과 출력 수신처로서 갖는 제1 엔트리로서 등록한다. 그 결과, 단말기 C로부터 단말기 A로의 후속 패킷은 제1 엔트리 및 제2 엔트리와 일치할 것이며, 유니캐스트 전송될 것이다.
상술한 바와 같이, 집중 제어형 네트워크를 사용하여, 레이어 2 스위칭과 같은 전송 조작이 실현되어, 경로상의 전송 노드에 의해 유지되는 엔트리의 수 및 제어 장치(20)의 부하가 줄어든다.
[제1 실시 형태]
다음으로, 제1 실시 형태에 대해서 도면을 참조하여 설명할 것이다. 도 3은 제1 실시 형태의 통신 시스템의 구성을 나타낸 도면이다. 도 3은 데이터 전송 링크를 통해 접속된 통신 노드(1021 내지 1024)와 제어 링크를 통해 통신 노드(1021 내지 1024)를 제어하는 제어 장치(101)를 포함하는 구성을 나타낸다. 또한, 통신 노드(1021)에는 단말기(1031)가 접속되고, 통신 노드(1024)에는 단말기(1032)가 접속된다.
제어 장치(101)는 통신 노드(1021 내지 1024)에 의해 구성되는 네트워크 토폴로지에 기초하여 BCMC 경로를 계산한다. 또한, 제어 장치(101)는 통신 노드(1021 내지 1024)에 대하여 비특허문헌 2의 오픈 플로우 프로토콜을 사용하여, 상기 계산한 BCMC 경로를 실현하는 엔트리를 설정한다. 제어 장치(101)는 통신 노드(1021 내지 1024)의 제1 테이블에 미스 히트 엔트리를 등록하고, 통신 노드(1021 내지 1024)의 제2 테이블에 기지의 송신원을 판별하기 위한 엔트리(송신원 MAC 엔트리)와 브로드캐스트 엔트리를 등록한다. 구체적인 내용은 통신 노드(1021 내지 1024)의 상세 구성과 함께 후술될 것이다. 또한, 상술한 제어 장치(20)는 비특허문헌 1 및 2의 오픈 플로우 컨트롤러를 기초로 사용하여, 후술하는 엔트리 조작 기능을 부가함으로써 실현될 수 있다.
단말기(1031, 1032)는 통신 노드(1021 내지 1024)에 의해 구성되는 네트워크를 통해 통신하는 퍼스널 컴퓨터 및 각종 모바일 단말기이다.
도 4는 제1 실시 형태의 통신 노드의 상세 구성을 나타내는 블록도이다. 이하, 통신 노드(1021 내지 1024)는 특별히 서로 구별하지 않을 경우, "통신 노드(102)"로서 참조된다.
도 4에 나타낸 바와 같이, 통신 노드(102)는 제어 장치(101)와 제어 메시지를 교환하는 프로토콜 제어부(103), 입력 포트(104), 테이블 기억부(105) 및 출력 포트(112)를 포함한다. 도 4에서는, 설명을 간단하게 하기 위해서, 도 1에 나타낸 수신처 학습부(13)와 패킷 처리부(14)가 생략되어 있지만, 통신 노드(102)에서의 패킷 처리는 테이블 기억부(105)에 기억된 2개 테이블(Table 0(부호(106)), Table 1(부호(109)))의 검색 결과에 의해 결정된다. 또한, 통신 노드(102)는 수신 패킷에 따라 Table 0(부호(106))에 수신처 어드레스와 출력 포트를 연관시킨 엔트리(수신처 MAC 엔트리)를 등록하는 학습 기능을 포함한다.
테이블 기억부(105)는 파이프라인 처리되는 Table 0(부호(106))과 Table 1(부호(109))을 기억한다. 파이프라인 처리에서, 복수의 테이블은 소정의 순서로 참조되고, 필요에 따라 패킷 데이터 및 메타데이터를 재기입하면서, 각 테이블의 엔트리의 매칭 조건과 매칭되며, 적어도 하나의 처리 액션을 결정한다(비특허문헌 2의 "4.1.1 Pipeline Processing" 참조).
본 실시 형태에서, Table 0(부호(106))가 먼저 참조된 다음에 Table 1(부호(109))이 참조된다. 따라서, 입력 포트(104)가 패킷을 수신하면, 먼저 Table 0(부호(106))에서 수신 패킷과 매칭되는 매칭 조건을 갖는 엔트리를 검색한다.
도 4의 예에서, Table 0(부호(106))에는 Dst MAC(destination MAC) 엔트리(107)와 미스 히트 엔트리(108)가 저장되어 있다.
Dst MAC 엔트리(107)는 상술한 제1 엔트리에 대응하고, 동작 중에, 통신 노드(102)의 수신처 학습부(도시하지 않음)에 의해 설정된다. 예를 들어, 송신원 MAC(Media Access Control) 어드레스(Src MAC)가 X, 수신처 MAC 어드레스(Dst MAC)가 Y, VLAN ID(Virtual Local Area Network ID)가 Z인 패킷(이하, {Src MAC: X, Dst MAC: Y, VID: Z}라고 칭함)이 입력 포트 A에 의해 수신될 경우, 통신 노드의 수신처 학습부는 Table 0(부호(106))에 이하와 같은 엔트리를 추가한다.
매칭 조건: Dst MAC=X 이고 VID=Z
인스트럭션: Write-Metadata=1
: Write-Action=(OUTPUT=A)
: Goto Table=1
여기서, "Write-Metadata"는 메타데이터로서, Dst MAC 엔트리의 매칭 조건에 히트한 것을 나타내는 플래그 "1"를 세우는 처리를 지시하는 것이다. 또한, "Write-Action(OUTPUT=A)"은 출력 포트(112) 중 포트 A로부터 대상 패킷을 전송하는 것을 지시하는 것이다. 또한, "Goto Table=1"은 Table 1(부호(109))을 참조하여 엔트리를 검색하는 것을 지시하는 것이다.
미스 히트 엔트리(108)는 동작 개시시에 컨트롤러에 의해 설정되는 엔트리(제4 엔트리)이다. 이 엔트리는 수신 패킷이 학습 완료된 어느 쪽의 Dst MAC 엔트리(107)에도 히트하지 않았을 경우에, Table 1(부호(109))을 참조하여 엔트리를 검색하는 것을 지시하는 것이다.
또한, 도 4의 예에서, Table 1(부호(109))에는 Src MAC 엔트리(110)와 브로드캐스트 엔트리(111)가 저장되어 있다.
Src MAC 엔트리(110)는 상술한 제2 엔트리에 상당하고, 동작 중에, 제어 장치(101)에 의해 설정된다. 예를 들어, 제어 장치(101)가 유저(단말기)의 위치{Y의 MAC 어드레스와 Z의 VID를 갖는 유저가 통신 노드의 포트 B에 접속되어 있다}를 인식했을 경우, 제어 장치(101)는 통신 노드(102)에 Src MAC 엔트리(110)로서, 이하와 같은 엔트리를 설정한다.
매칭 조건: Metadata=1이고 Inport=B이고 Src MAC=Y이며 VID=Z
인스트럭션: 없음
상술한 바와 같이, Dst MAC 엔트리(107)와 Src MAC 엔트리(110)의 설정으로 인해, 통신 노드(102)는 Dst MAC 엔트리(107) 및 Src MAC 엔트리(110)에 히트한 패킷에 대해서, Dst MAC 엔트리(107)에서 "Write-Action"으로서 설정된 포트 A로부터의 유니캐스트 전송 동작을 행한다.
또한, Src MAC 엔트리(110)의 임의의 1개 이상의 매칭 조건(Src MAC, 입력 포트(Inport) 및 VID)이 생략될 수 있다. 이러한 조건들 중 어느 것도 매칭 조건으로 간주되지 않을 경우, 이하와 같은 Src MAC 엔트리(110)가 설정된다.
매칭 조건: Metadata=1
인스트럭션: 없음
이 경우, Dst MAC 엔트리(107)에 히트했다고 하는 사실만으로, Dst MAC 엔트리(107)에서 "Write-Action"으로서 설정된 포트 A로부터의 유니캐스트 전송 동작이 행해지게 된다.
브로드캐스트 엔트리(111)는 동작 개시시에 컨트롤러에 의해 설정되는 엔트리(제3 엔트리)이다. 브로드캐스트 엔트리(111)는 어느 쪽의 Src MAC 엔트리(110)에도 히트하지 않은 패킷(Dst MAC 엔트리(107)에 히트하지 않고, Metadata에 플래그 "1"이 세워지지 않았을 경우도 포함함)을 제어 장치(101)에 의해 설정된 브로드캐스트 경로를 통해 전송한다.
상술한 바와 같이, 통신 노드(102)의 패킷 처리부(도시하지 않음)는 계속해서 테이블 기억부(105)의 Table 0(부호(106))과, Table 1(부호(109))을 순서대로 참조하고, 결정된 포트에 패킷을 출력한다.
통신 노드(102)의 패킷 처리부(도시하지 않음)의 동작에 대해서, 구체적인 예를 나타내서 설명할 것이다. 이하, Table 0(부호(106))과 Table 1(부호(109))에는, 다음과 같이 Dst MAC 엔트리(107)와 Src MAC 엔트리(110)가 설정되어 있다고 상정된다.
[Dst MAC 엔트리]
매칭 조건: Dst MAC=X이고 VID=Z
인스트럭션: Write-Metadata=1
: Write-Action(OUTPUT=A)
: Goto Table=1
[Src MAC 엔트리]
매칭 조건: Metadata=1이고 Inport=B이고 Src MAC=Y이며 VID=Z
인스트럭션: 없음
(1) Dst MAC 엔트리(107)와 Src MAC 엔트리(110) 어느 것도 히트하지 않은 경우:
통신 노드(102)의 패킷 처리부(도시하지 않음)는 Table 0(부호(106))에서 입력 포트 B로부터 수신된 패킷과 매칭되는 매칭 조건을 갖는 엔트리를 검색한다. Dst MAC 엔트리(107)가 존재하고 있지 않기 때문에, 미스 히트 엔트리(108)에 히트 하고, Metadata에 플래그를 세우지 않고, Table 1(부호(109))의 검색을 개시한다. Table 1(부호(109))의 검색에서도, 수신된 패킷과 매칭되는 매칭 조건을 갖는 Src MAC 엔트리(110)가 존재하고 있지 않기 때문에, 브로드캐스트 엔트리(111)에 히트하고 패킷은 브로드캐스트된다.
(2) Dst MAC 엔트리(107)에 히트하고 Src MAC 엔트리(110)에 히트하지 않은 경우:
통신 노드(102)의 패킷 처리부(도시하지 않음)는 Table 0(부호(106))에서, 입력 포트 B로부터 수신된 패킷과 매칭되는 매칭 조건을 갖는 엔트리를 검색한다. 수신 패킷과 매칭되는 Dst MAC 엔트리(107)를 발견했기 때문에, 패킷 처리부(도시하지 않음)는 인스트럭션 필드의 내용(Write-Metadata=1, Write-Action(OUTPUT=A))을 실행한 후에, Table 1(부호(109))의 검색을 개시한다. 그러나, Table 1(부호(109))의 검색의 결과, 수신 패킷과 매칭되는 매칭 조건을 갖는 Src MAC 엔트리(110)가 존재하고 있지 않기 때문에, 브로드캐스트 엔트리(111)에 히트하고 패킷은 브로드캐스트 된다.
(3) Dst MAC 엔트리(107)에 히트하지 않고 Src MAC 엔트리(110)에 히트한 경우:
통신 노드(102)의 패킷 처리부(도시하지 않음)는 Table 0(부호(106))에서, 입력 포트 B로부터 수신된 패킷과 매칭되는 매칭 조건을 갖는 엔트리를 검색한다. Dst MAC 엔트리(107)가 존재하고 있지 않기 때문에, 미스 히트 엔트리(108)에 히트 하고, Metadata에 플래그를 세우지 않고, Table 1(부호(109))의 검색을 개시한다. Table 1(부호(109))은 수신 패킷의 Src MAC 어드레스와 매칭되는 매칭 조건을 갖는 Src MAC 엔트리(110)를 가지고 있지만, Metadata에 어떠한 플래그도 세워져 있지 않기 때문에, 매칭되지 않는 것으로 간주된다. 최종적으로, 브로드캐스트 엔트리(111)에 히트하여 패킷은 브로드캐스트된다.
(4) Dst MAC 엔트리(107)와 Src MAC 엔트리(110) 둘다에 히트한 경우:
통신 노드(102)의 패킷 처리부(도시하지 않음)는 Table 0(부호(106))에서, 입력 포트 B로부터 수신된 패킷과 매칭되는 매칭 조건을 갖는 엔트리를 검색한다. 수신 패킷과 매칭되는 Dst MAC 엔트리(107)가 발견되기 때문에, 패킷 처리부(도시하지 않음)는 인스트럭션 필드의 내용(Write-Metadata=1, Write-Action(OUTPUT=A))을 실행한 후에, Table 1(부호(109))의 검색을 개시한다. Table 1(부호(109))의 검색의 결과, 수신 패킷의 Src MAC 어드레스 및 Metadata의 내용과 매칭되는 매칭 조건을 갖는 Src MAC 엔트리(110)가 발견되고, 최종적으로, 패킷은 출력 포트 A로부터 출력(유니캐스트)된다.
또한, 상술한 통신 노드의 기능(도 1의 수신처 학습부(13) 및 패킷 처리부(14)에 대응)은 통신 노드에 탑재된 컴퓨터에, 그 하드웨어를 사용하여 상술한 각 처리를 실행시키는 컴퓨터 프로그램에 의해 실현될 수 있다.
다음으로, 본 실시 형태의 전체적인 동작에 대해서 도면을 참조하여 상세하게 설명할 것이다. 첫번째로, 제어 장치(101)에 의해 수행되는 토폴로지 검색 동작에 대해서 설명할 것이다. 이하의 설명에서는, 통신 노드(1021 내지 1024)의 Table 1(부호(109))에 단말기(1031, 1032)의 MAC 어드레스를 송신원 MAC 어드레스에 대한 매칭 조건으로서 설정한 Src MAC 엔트리가 등록되어 있다고 상정된다.
(토폴로지 검색)
도 5는 제1 실시 형태의 동작(토폴로지 검색)을 설명하기 위한 도면이다. 첫번째로, 제어 장치(101)는 통신 노드(1021 내지 1024)의 모든 포트로부터 송신된 토폴로지 탐색용 패킷을 갖는다(예를 들어, 비특허문헌 2의 Packet-Out 메시지를 사용할 수 있음). 도 5의 화살표는 통신 노드(1021)에 송신된 토폴로지 탐색용의 패킷의 흐름(통신 노드(1023)에 전송된 패킷의 흐름은 나타내지 않았음)을 나타낸다. 토폴로지 탐색용 패킷은 송신원 통신 노드를 고유하게 식별하기 위한 정보를 포함한다.
통신 노드(1021)로부터 통신 노드(1022)로 전송된 토폴로지 탐색용 패킷은 통신 노드(1022)에 의해 제어 장치(101)에 전송된다(예를 들어, 비특허문헌 2의 Packet-In 메시지에 의해 보고된다). 제어 장치(101)는 통신 노드(1022)로부터 수신된 토폴로지 탐색용 패킷에 포함되는 정보(통신 노드를 고유하게 식별하기 위한 정보)로부터 통신 노드(1021)와 통신 노드(1022)간에 링크가 접속되어 있다는 것을 학습한다. 제어 장치(101)는 통신 노드간에 링크 접속된 통신 노드의 포트를 인바운드(inbound) 포트(외부에 접속하고 있지 않은 포트)로서 학습한다.
한편, 통신 노드(1021)는 단말기(1031)에도 토폴로지 탐색용 패킷을 송신하지만, 이 패킷은 제어 장치(101)로 반환되지 않는다. 제어 장치(101)는 이 경우에서와 같이, 일정 시간동안 다른 통신 노드로부터 토폴로지 탐색용 패킷을 수신할 수 없었을 경우, 통신 노드(1021)의 해당 포트는 네트워크의 외부에 접속되어 있다는 것을 학습한다. 제어 장치(101)는 네트워크의 외부에 접속된 포트를 아웃바운드(outbound) 포트(외부에 접속되어 있는 포트)로서 학습한다.
제어 장치(101)에 접속된 모든 통신 노드의 포트의 정보를 수집하기 위한 상술한 처리를 수행함으로써 통신 노드(1021 내지 1024)에 의해 구성되는 네트워크의 토폴로지를 파악할 수 있다.
또한, 상술한 수순 대신에, LLDP(Link Layer Discovery Protocol)와 같은 토폴로지 탐색 방법이 사용될 수 있다.
(경로 계산)
상술한 바와 같이, 네트워크 토폴로지를 파악한 후에, 제어 장치(101)는 네트워크에서의 브로드캐스트/멀티캐스트 경로(BCMC 경로)를 계산한다. 도 6은 제1 실시 형태의 동작(경로 계산)을 설명하기 위한 도면이다. 첫번째로, 제어 장치(101)는 상술한 바와 같이 파악된 네트워크 토폴로지에 기초하여, 패킷의 BCMC 경로를 계산한다.
다음으로, 제어 장치(101)는 BCMC 경로상의 통신 노드에, 인바운드 포트에 의해 수신된 패킷을 BCMC 경로의 다른 인바운드 포트와 아웃바운드 포트로부터 전송시키는 브로드캐스트 엔트리(제3 엔트리)를 생성하고, 경로상의 통신 노드의 Table 1(부호(109))에 엔트리를 설정한다(도 6의 파선 화살표).
또한, 제어 장치(101)는 통신 노드(1021 내지 1024)의 아웃바운드 포트에 의해 수신된 패킷을 아웃바운드 포트와 BCMC 경로상의 포트에 전송시키는 브로드캐스트 엔트리(제3 엔트리)를 생성하고, 경로상의 통신 노드의 Table 1(부호(109))에 설정한다.
상술한 결과로서, 도 6에 화살표로 도시한 바와 같이 패킷 전송을 위한 엔트리가 설정되었다.
(단말기 검출(Dst MAC 엔트리의 학습))
다음으로, 동작동안 임의의 시간에, 단말기(1031)가 통신 노드(1021)에 패킷을 송신하면, 통신 노드(1021)는 수신처 학습부에서, 패킷의 송신원 MAC 어드레스를 매칭 조건으로서 구비하고, 인스트럭션으로서, Metadata에 플래그를 세우는 처리를 정의하고, 패킷의 수신 포트로부터의 처리와 Table 1(부호(109))의 검색 처리를 전송하는 Dst MAC 엔트리(107)를 생성하고, Table 0(부호(106))에 엔트리를 등록한다.
또한, 통신 노드(1021)는 Table 0(부호(106))과 Table 1(부호(109))을 순서대로 참조하여, 전송 수신처를 결정한다. 이 시점에서는, Dst MAC 엔트리(107)로서, 단말기(1031)로부터의 패킷과 매칭되는 엔트리가 없기 때문에, 통신 노드(1021)는 브로드캐스트 엔트리(111)에 따라 BCMC 경로와 아웃바운드 포트(아웃바운드 포트가 있는 경우)에 패킷을 전송한다.
다음으로, BCMC 경로상의 인바운드 포트에서 패킷을 수신한 통신 노드(1022 내지 1024)는 통신 노드(1021)와 같이, 패킷의 송신원 MAC 어드레스를 매칭 조건으로 하고, 인스트럭션으로서 Metadata에 플래그를 세우는 처리를 정의하고, 패킷의 수신 포트로부터의 처리와, Table 1(부호(109))의 검색 처리를 전송하는 Dst MAC 엔트리(107)를 생성하고, Table 0(부호(106))에 엔트리를 등록한다.
통신 노드(1022 내지 1024)에서도, Table 0(부호(106))과 Table 1(부호(109))을 순서대로 참조하여, 전송 수신처를 결정한다. 통신 노드(1022 내지 1024)는 Dst MAC 엔트리(107)로서, 단말기(1031)로부터의 패킷과 매칭되는 엔트리가 없기 때문에, 통신 노드(1022 내지 1024)는 브로드캐스트 엔트리(111)에 따라, BCMC 경로와 아웃바운드 포트(아웃바운드 포트가 있는 경우)에 패킷을 전송한다.
상술한 결과로서, 단말기(1031)로부터 통신 노드(1021)로 송신된 패킷은 도 6에서 화살표를 따라 단말기(1032)로 전송된다.
(응답 패킷 전송(학습된 수신처로의 전송))
다음으로, 단말기(1031)로부터 패킷을 수신한 단말기(1032)가 단말기(1032)로 향할 패킷을 통신 노드(1024)에 송신하면, 통신 노드(1024)는 단말기(1031)의 MAC 어드레스가 학습되었고(Dst MAC 엔트리(107)가 등록되어 있음), Table 1(부호(109))은 단말기(1031, 1032)의 MAC 어드레스를 송신원 MAC 어드레스에 대한 매칭 조건으로서 설정한 Src MAC 엔트리를 등록하였기 때문에, Dst MAC 엔트리(107)에 의해 지정된 포트로부터 패킷을 전송한다.
통신 노드(1022, 1021)가 물론 단말기(1031)의 MAC 어드레스를 학습하였고(Dst MAC 엔트리(107)가 등록되어 있음), Table 1(부호(109))은 단말기(1031, 1032)의 MAC 어드레스를 송신원 MAC 어드레스에 대한 매칭 조건으로서 설정한 Src MAC 엔트리를 등록하였기 때문에, Dst MAC 엔트리(107)에 의해 지정된 포트로부터 패킷을 전송한다.
상술한 결과로서, 단말기(1032)로부터 통신 노드(1024)에 송신된 패킷은 도 8의 화살표를 따라, 단말기(1032)에 전송된다.
상술한 바와 같이, 본 실시 형태에 따르면, 집중 제어형 네트워크를 사용하여, L2 스위치와 동등한 패킷 전송이 실현된다. 또한, 본 실시 형태에서는, 비-수신 포트로부터 패킷들이 플로딩(flood)되는 L2 스위치와 달리, 네트워크 토폴로지에 기초하여 제어 장치(101)에 의해 계산된 BCMC 경로를 통해 미학습 패킷이 전송되기 때문에, 루프의 발생이 방지된다. 또한, 상술한 실시 형태에서는 설명을 생략했지만, Dst MAC 엔트리(107)에 적당한 타임아웃 값을 설정하고, 에이징 처리를 행함으로써, 엔트리수의 증가를 최소화할 수 있다.
또한, 본 실시 형태에 따르면, 임의의 통신 노드들간의 링크에 장해가 발생한 경우, 대체 경로를 설정하고 학습할 수 있다. 그러한 처리는 후술될 것이다.
(우회 처리)
여기에서는, 도 9의 통신 노드(1021)와 통신 노드(1022)간의 링크에 장해가 발생한 경우에 대해서 설명할 것이다. 첫번째로, 통신 노드들(1021, 1022)은 제어 장치(101)에 대하여 포트 다운 상태를 통지하고, 제어 장치(101)에게 브로드캐스트 경로의 재계산과 필요한 엔트리의 재설정을 요구한다.
상술한 통지를 수신시, 제어 장치(101)는 통지된 내용에 기초하여, 상술한 처리(토폴로지 검색)를 통해 파악된 네트워크 토폴로지를 갱신한다.
다음으로, 제어 장치(101)는 상술한 동일 처리(경로 계산)를 이용하여 BCMC 경로를 재계산한다.
다음으로, 상술한 처리(경로 계산)에서와 같이, 제어 장치(101)는 통신 노드(1021 내지 1024)의 외측 방향 포트로부터 수신된 패킷을 외측 방향 포트와 BCMC 경로상의 포트에 전송하는 브로드캐스트 엔트리(제3 엔트리)를 생성하고, 경로상의 통신 노드의 Table 1(부호(109))에 엔트리를 설정한다(도 9의 파선 화살표).
최종적으로, 제어 장치(101)는 통신 노드(1021 내지 1024)에 대하여 학습된 MAC 어드레스를 저장한 Dst MAC 엔트리의 삭제를 지시한다(도 9의 일점쇄선 화살표).
상술한 결과로서, 그 후, 단말기(1031)가 패킷을 송신하면, 상술한(단말기 검출(Dst MAC 엔트리의 학습))(응답 패킷 전송(학습된 수신처로의 전송)) 바와 같이 MAC 어드레스가 학습되고, 통신 노드(1021, 1023, 1024)를 통한 경로를 따라 패킷이 전송된다.
본 발명의 실시 형태를 설명했지만, 본 발명은 상술한 실시 형태에 한정되는 것은 아니라, 본 발명의 기본적 기술적 사상의 범위내에서 추가적인 변형, 치환 및 조정을 부가할 수 있다. 예를 들어, 각 도면에 나타낸 네트워크 구성 및 구성요소의 구성은, 단지 본 발명의 이해를 돕기 위한 일례이며, 도면에 나타낸 구성에 한정되는 것은 아니다.
또한, 예를 들어, 상술한 실시 형태에서는, 제1 테이블(Table 0(부호(106)))과 제2 테이블(Table 1(부호(109)))의 매칭 조건으로서, MAC 어드레스를 사용하였지만, IP 어드레스와 같은 다른 어드레스를 매칭 조건으로서 할 수도 있다. 또한, 상술한 실시 형태에서는, 매칭 조건으로서 VLAN ID 및 입력 포트가 사용되었지만, 이들 항목은 생략될 수 있고, 다른 항목을 매칭 조건으로서 추가할 수 있다. 또한, 제2 테이블(Table 1(부호(109)))에서는, 제1 실시 형태에서 설명한 바와 같이, 매칭 조건으로서 "Metadata=1"(즉, 제1 테이블이 히트된다)만을 설정할 수 있다.
또한, 상술한 실시 형태에서는, 제1 테이블(Table 0(부호(106)))이 히트되었을 경우에, 인스트럭션으로서, Metadata의 재기입, 액션(지정된 포트로부터의 전송), 및 Goto 명령에 의한 다음 테이블의 참조를 설정하지만, 인스트럭션으로서 헤더 재기록을 지시할 수 있다. 예를 들어, 제1 테이블(Table 0(부호(106)))에서, 패킷 종류에 대응하는 정보를 기입하고, 제2 테이블(Table 1(부호(109)))에서, 패킷 종류에 따른 처리를 할당하는 것도 가능하게 된다.
최종적으로, 본 발명의 바람직한 형태를 요약할 것이다.
[제1 형태]
(제1 양상에 따른 통신 노드 참조)
[제2 형태]
제1 형태에 있어서,
제2 엔트리의 매칭 조건으로서, 네트워크에 접속된 단말기의 어드레스가 설정된 통신 노드.
[제3 형태]
제1 형태 또는 제2 형태에 있어서,
제1 테이블이 수신된 패킷에 매칭되는 매칭 조건을 갖는 제1 엔트리를 가지고 있지 않은 경우에 제2 테이블의 검색을 지시하는 제3 엔트리가 등록된 통신 노드.
[제4 형태]
제1 형태 내지 제3 형태 중 어느 한 형태에 있어서,
다른 통신 노드와의 사이의 링크에 장해가 발생한 경우에, 제어 장치에 브로드캐스트 경로의 재계산과, 제2 및 제4 엔트리의 재설정을 요구하는 통신 노드.
[제5 형태]
제1 형태 내지 제4 형태 중 어느 한 형태에 있어서,
적어도 제1 엔트리에 대해서, 선정된 타임아웃 값에 기초하여, 에이징 처리를 행하는 통신 노드.
[제6 형태]
(상기 제2 양상에 따른 통신 시스템 참조)
[제7 형태]
(상기 제3 양상에 따른 제어 장치 참조)
[제8 형태]
(상기 제4 양상에 따른 패킷 전송 방법 참조)
[제9 형태]
(상기 제5 양상에 따른 프로그램 참조)
또한, 제6 내지 제9 형태는 제1 형태와 같이 제2 형태 내지 제5 형태로 전개될 수 있다.
또한, 상술한 각각의 비특허문헌의 개시는 본 명세서에서 전체적으로 참조로서 결합된다. 본 발명의 다른 목적, 특징 및 양상은 전체 개시에서 명백하게 될 것이며 본 명세서에 개시된 발명의 요지 및 범위와 함께 첨부된 청구범위를 벗어나지 않고 변형이 이루어질 수 있다는 것에 유의해야 한다. 또한, 개시 및 청구된 구성요소들, 재료 및/또는 아이템들의 임의의 조합은 상술한 변형하에서 부합될 수 있다는 것에 유의해야 한다. 특히, 본 개시에서 사용된 수치값들의 범위는 별도로 기재되어 있지 않은 경우에도 범위에 포함된 특정 수치값 또는 작은 범위로서 해석되어야 한다.
10, 102, 1021 내지 1024: 통신 노드
11: 제1 테이블
12: 제2 테이블
13: 수신처 학습부
14: 패킷 처리부
20, 101: 제어 장치
103: 프로토콜 제어부
104: 입력 포트
105: 테이블 기억부
106: Table 0
107: Dst MAC 엔트리(제1 엔트리)
108: 미스 히트 엔트리(제4 엔트리)
109: Table 1
110: Src MAC 엔트리(제2 엔트리)
111: 브로드캐스트 엔트리(제3 엔트리)
112: 출력 포트
A 내지 C, 1031, 1032: 단말기

Claims (10)

  1. 통신 노드로서,
    적어도 수신처 어드레스를 포함하는 매칭 조건이 상기 매칭 조건에 매칭되는 패킷의 출력 수신처와 연관되는 제1 엔트리를 저장하는 제1 테이블;
    사전결정된 제어 장치에 의해 설정된 매칭 조건을 갖는 제2 엔트리를 저장하는 제2 테이블;
    수신된 패킷의 송신원과 수신 포트의 세트를, 상기 제1 테이블에서 매칭 조건이 출력 수신처와 연관되는 제1 엔트리로서 등록하는 수신처 학습부; 및
    상기 제1 및 제2 테이블 각각으로부터, 수신된 패킷에 매칭되는 매칭 조건을 갖는 엔트리가 발견된 경우에, 상기 제1 테이블에서 결정된 출력 수신처에 패킷을 전송하고, 상기 제1 및 제2 테이블 중 적어도 한쪽에서, 수신된 패킷에 매칭되는 매칭 조건을 갖는 엔트리가 발견되지 않은 경우에, 상기 제어 장치에 의해 설정된 제3 엔트리에 따라 수신된 패킷을 브로드캐스트하는 패킷 처리부
    를 포함하는, 통신 노드.
  2. 제1항에 있어서,
    네트워크에 접속된 단말기의 어드레스는 상기 제2 엔트리의 매칭 조건으로서 설정되는, 통신 노드.
  3. 제1항 또는 제2항에 있어서,
    상기 제1 테이블이, 수신된 패킷과 매칭되는 매칭 조건을 갖는 제1 엔트리를 가지고 있지 않은 경우에 상기 제2 테이블의 검색을 지시하는 제3 엔트리가 등록되는, 통신 노드.
  4. 제1항 내지 제3항 중 어느 한 항에 있어서,
    또 다른 통신 노드로의 링크에 장해가 발생한 경우에, 상기 제어 장치에게 브로드캐스트 경로의 재계산과 상기 제2 및 제4 엔트리의 재설정을 요구하는, 통신 노드.
  5. 제1항 내지 제4항 중 어느 한 항에 있어서,
    적어도 상기 제1 엔트리에 대해서, 사전결정된 타임아웃 값에 기초하여, 에이징 처리를 행하는, 통신 노드.
  6. 통신 시스템으로서,
    적어도 수신처 어드레스를 포함하는 매칭 조건이 상기 매칭 조건에 매칭되는 패킷의 출력 수신처와 연관되는 제1 엔트리를 저장하는 제1 테이블;
    사전결정된 매칭 조건을 갖는 제2 엔트리를 저장하는 제2 테이블;
    수신된 패킷의 송신원과 수신 포트의 세트를, 상기 제1 테이블에서 매칭 조건이 출력 수신처와 연관되는 제1 엔트리로서 등록하는 수신처 학습부; 및
    상기 제1 및 제2 테이블 각각으로부터, 수신된 패킷에 매칭되는 매칭 조건을 갖는 엔트리가 발견된 경우에, 상기 제1 테이블에서 결정된 출력 수신처에 패킷을 전송하고, 상기 제1 및 제2 테이블 중 적어도 한쪽에서, 수신된 패킷에 매칭되는 매칭 조건을 갖는 엔트리가 발견되지 않은 경우에, 제3 엔트리에 따라 수신된 패킷을 브로드캐스트하는 패킷 처리부를 포함하는 복수의 통신 노드와;
    상기 통신 노드들에 상기 제2 및 제3 엔트리를 설정하는 제어 장치
    를 포함하는, 통신 시스템.
  7. 복수의 통신 노드에 접속된 제어 장치로서,
    상기 복수의 통신 노드는,
    적어도 수신처 어드레스를 포함하는 매칭 조건이 상기 매칭 조건에 매칭되는 패킷의 출력 수신처와 연관되는 제1 엔트리를 저장하는 제1 테이블;
    사전결정된 매칭 조건을 갖는 제2 엔트리를 저장하는 제2 테이블;
    수신된 패킷의 송신원과 수신 포트의 세트를, 상기 제1 테이블에서 매칭 조건이 출력 수신처와 연관되는 제1 엔트리로서 등록하는 수신처 학습부; 및
    상기 제1 및 제2 테이블 각각으로부터, 수신된 패킷에 매칭되는 매칭 조건을 갖는 엔트리가 발견된 경우에, 상기 제1 테이블에서 결정된 출력 수신처에 패킷을 전송하고, 상기 제1 및 제2 테이블 중 적어도 한쪽에서, 수신된 패킷에 매칭되는 매칭 조건을 갖는 엔트리가 발견되지 않을 경우, 제3 엔트리에 따라 수신된 패킷을 브로드캐스트하는 패킷 처리부
    를 포함하고,
    상기 제어 장치는, 상기 복수의 통신 노드에 의해 구성되는 네트워크에서의 브로드캐스트 경로를 계산하고, 상기 브로드캐스트 경로에 따라 상기 통신 노드들의 적어도 제2 테이블들에 엔트리들을 설정하는, 제어 장치.
  8. 제7항에 있어서,
    통신 노드들간의 링크에 장해가 발생한 경우에, 브로드캐스트 경로의 재계산과 상기 제2 및 제4 엔트리들의 재설정을 행하는, 제어 장치.
  9. 패킷 전송 방법으로서,
    적어도 수신처 어드레스를 포함하는 매칭 조건이 상기 매칭 조건에 매칭되는 패킷의 출력 수신처와 연관되는 제1 엔트리를 저장하는 제1 테이블;
    사전결정된 매칭 조건을 갖는 제2 엔트리를 저장하는 제2 테이블;
    수신된 패킷의 송신원과 수신 포트의 세트를, 상기 제1 테이블에서 매칭 조건이 출력 수신처와 연관되는 제1 엔트리로서 등록하는 수신처 학습부; 및
    패킷 처리부
    를 포함하는 통신 노드가,
    상기 제1 및 제2 테이블 각각으로부터, 수신된 패킷에 매칭되는 매칭 조건을 갖는 엔트리가 발견된 경우에, 상기 제1 테이블에서 결정된 출력 수신처에 패킷을 전송하는 스텝과;
    상기 통신 노드가, 상기 제1 및 제2 테이블 중 적어도 한쪽에서, 수신된 패킷에 매칭되는 매칭 조건을 갖는 엔트리가 발견되지 않은 경우에, 제3 엔트리에 따라 수신된 패킷을 브로드캐스트하는 스텝
    을 포함하는, 패킷 전송 방법.
  10. 프로그램으로서,
    적어도 수신처 어드레스를 포함하는 매칭 조건이 상기 매칭 조건에 매칭되는 패킷의 출력 수신처와 연관되는 제1 엔트리를 저장하는 제1 테이블;
    사전결정된 매칭 조건을 갖는 제2 엔트리를 저장하는 제2 테이블;
    수신된 패킷의 송신원과 수신 포트의 세트를, 상기 제1 테이블에서 매칭 조건이 출력 수신처와 연관되는 제1 엔트리로서 등록하는 수신처 학습부; 및
    패킷 처리부
    를 포함하는 통신 노드에 탑재된 컴퓨터에서,
    상기 제1 및 제2 테이블 각각으로부터, 수신된 패킷에 매칭되는 매칭 조건을 갖는 엔트리가 발견된 경우에, 상기 제1 테이블에서 결정된 출력 수신처에 패킷을 전송하는 처리와;
    상기 제1 및 제2 테이블 중 적어도 한쪽에서, 수신된 패킷에 매칭되는 매칭 조건을 갖는 엔트리가 발견되지 않은 경우에, 제3 엔트리에 따라 수신된 패킷을 브로드캐스트하는 처리
    를 실행시키는, 프로그램.
KR1020157011971A 2012-10-10 2013-10-09 통신 노드, 통신 시스템, 제어 장치, 패킷 전송 방법 및 프로그램 KR101707355B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JPJP-P-2012-224713 2012-10-10
JP2012224713 2012-10-10
PCT/JP2013/077476 WO2014057977A1 (ja) 2012-10-10 2013-10-09 通信ノード、通信システム、制御装置、パケット転送方法及びプログラム

Publications (2)

Publication Number Publication Date
KR20150068451A true KR20150068451A (ko) 2015-06-19
KR101707355B1 KR101707355B1 (ko) 2017-02-15

Family

ID=50477444

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020157011971A KR101707355B1 (ko) 2012-10-10 2013-10-09 통신 노드, 통신 시스템, 제어 장치, 패킷 전송 방법 및 프로그램

Country Status (11)

Country Link
US (1) US9819584B2 (ko)
EP (1) EP2908483B1 (ko)
JP (1) JP5935897B2 (ko)
KR (1) KR101707355B1 (ko)
CN (1) CN104737503B (ko)
BR (1) BR112015007232A2 (ko)
CA (1) CA2888136A1 (ko)
ES (1) ES2660738T3 (ko)
IN (1) IN2015DN02007A (ko)
RU (1) RU2581558C1 (ko)
WO (1) WO2014057977A1 (ko)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5900652B2 (ja) * 2012-11-28 2016-04-06 日本電気株式会社 スイッチ装置、vlan設定管理方法及びプログラム
KR20160124161A (ko) * 2014-02-19 2016-10-26 닛본 덴끼 가부시끼가이샤 네트워크 제어 방법, 네트워크 시스템, 장치, 및 프로그램
JP6369175B2 (ja) * 2014-07-04 2018-08-08 富士通株式会社 パケット処理装置、制御プログラム、及びパケット処理装置の制御方法
US10848420B2 (en) * 2018-02-12 2020-11-24 Cisco Technology, Inc. Dynamic forwarding features in network elements

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050141537A1 (en) * 2003-12-29 2005-06-30 Intel Corporation A Delaware Corporation Auto-learning of MAC addresses and lexicographic lookup of hardware database
WO2012070173A1 (en) * 2010-11-22 2012-05-31 Nec Corporation Communication system, communication device, controller, and method and program for controlling forwarding path of packet flow
CN102594664A (zh) * 2012-02-02 2012-07-18 杭州华三通信技术有限公司 流量转发方法和装置

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100559979B1 (ko) 2003-04-03 2006-03-13 엘지전자 주식회사 이동통신 시스템에서의 메시지 전송방법
US7801125B2 (en) * 2004-10-22 2010-09-21 Cisco Technology, Inc. Forwarding table reduction and multipath network forwarding
JP4481147B2 (ja) * 2004-10-28 2010-06-16 富士通株式会社 Macアドレス学習装置
US8565124B2 (en) * 2005-03-04 2013-10-22 Nec Corporation Node, network, correspondence relationship generation method and frame transfer program
US8116312B2 (en) 2006-02-08 2012-02-14 Solarflare Communications, Inc. Method and apparatus for multicast packet reception
US8098677B1 (en) * 2009-07-31 2012-01-17 Anue Systems, Inc. Superset packet forwarding for overlapping filters and related systems and methods
JP5621778B2 (ja) * 2009-09-25 2014-11-12 日本電気株式会社 コンテンツベーススイッチシステム、及びコンテンツベーススイッチ方法
JP5446040B2 (ja) 2009-09-28 2014-03-19 日本電気株式会社 コンピュータシステム、及び仮想マシンのマイグレーション方法
JP5664557B2 (ja) * 2010-01-14 2015-02-04 日本電気株式会社 計算機、ネットワーク接続切替え方法およびプログラム
JP5651970B2 (ja) 2010-03-11 2015-01-14 日本電気株式会社 通信装置、通信制御方法、及び通信制御用プログラム
EP2572473B1 (en) * 2010-05-19 2014-02-26 Telefonaktiebolaget L M Ericsson (PUBL) Methods and apparatus for use in an openflow network
US8391289B1 (en) * 2010-10-29 2013-03-05 Hewlett-Packard Development Company, L.P. Managing a forwarding table in a switch
US8873398B2 (en) * 2011-05-23 2014-10-28 Telefonaktiebolaget L M Ericsson (Publ) Implementing EPC in a cloud computer with openflow data plane
US8804490B2 (en) * 2011-07-29 2014-08-12 Telefonaktiebolaget L M Ericsson (Publ) Controller placement for fast failover in the split architecture
US9288555B2 (en) * 2011-11-01 2016-03-15 Plexxi Inc. Data center network architecture
US8971338B2 (en) * 2012-01-09 2015-03-03 Telefonaktiebolaget L M Ericsson (Publ) Expanding network functionalities for openflow based split-architecture networks
US8705536B2 (en) * 2012-03-05 2014-04-22 Telefonaktiebolaget L M Ericsson (Publ) Methods of operating forwarding elements including shadow tables and related forwarding elements
US9143557B2 (en) * 2012-06-27 2015-09-22 Juniper Networks, Inc. Feedback loop for service engineered paths
US9036638B2 (en) * 2012-08-09 2015-05-19 International Business Machines Corporation Avoiding unknown unicast floods resulting from MAC address table overflows
US9071529B2 (en) * 2012-10-08 2015-06-30 Telefonaktiebolaget L M Ericsson (Publ) Method and apparatus for accelerating forwarding in software-defined networks

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050141537A1 (en) * 2003-12-29 2005-06-30 Intel Corporation A Delaware Corporation Auto-learning of MAC addresses and lexicographic lookup of hardware database
WO2012070173A1 (en) * 2010-11-22 2012-05-31 Nec Corporation Communication system, communication device, controller, and method and program for controlling forwarding path of packet flow
CN102594664A (zh) * 2012-02-02 2012-07-18 杭州华三通信技术有限公司 流量转发方法和装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
"OpenFlow Switch Specification" Version 1.1.0 Implemented(Wire Protocol 0x02), [online], [2012년 10월 4일 검색], 인터넷 &lt;URL: http://www.openflow.org/documents/openflow-spec-V1.1.0.pdf&gt;
Nick McKeown 외, "OpenFlow: Enabling Innovation in Campus Networks", [online], [2012년 10월 4일 검색], 인터넷 &lt;URL: http://www.openflow.org/documents/openflow-wp-latest.pdf&gt;

Also Published As

Publication number Publication date
EP2908483B1 (en) 2017-11-29
RU2581558C1 (ru) 2016-04-20
ES2660738T3 (es) 2018-03-26
KR101707355B1 (ko) 2017-02-15
US9819584B2 (en) 2017-11-14
JPWO2014057977A1 (ja) 2016-09-05
EP2908483A4 (en) 2016-05-25
BR112015007232A2 (pt) 2017-07-04
EP2908483A1 (en) 2015-08-19
CN104737503A (zh) 2015-06-24
WO2014057977A1 (ja) 2014-04-17
JP5935897B2 (ja) 2016-06-15
CN104737503B (zh) 2018-01-02
CA2888136A1 (en) 2014-04-17
US20150256457A1 (en) 2015-09-10
IN2015DN02007A (ko) 2015-08-14

Similar Documents

Publication Publication Date Title
US10075338B2 (en) Relay control unit, relay control system, relay control method, and relay control program
US9692650B2 (en) Control apparatus, communication system, communication method, and program
KR101787861B1 (ko) 제어 장치, 통신 시스템, 스위치 제어 방법 및 프로그램을 기록한 기록 매체
US9503374B2 (en) Apparatus for hybrid routing in SDN networks to avoid congestion and achieve good load balancing under fluctuating traffic load
US10645006B2 (en) Information system, control apparatus, communication method, and program
US20130246655A1 (en) Communication path control system, path control device, communication path control method, and path control program
US9419910B2 (en) Communication system, control apparatus, and communication method
JP5858141B2 (ja) 制御装置、通信装置、通信システム、通信方法及びプログラム
US20150215203A1 (en) Control apparatus, communication system, communication method, and program
JP5725236B2 (ja) 通信システム、ノード、パケット転送方法およびプログラム
KR101707355B1 (ko) 통신 노드, 통신 시스템, 제어 장치, 패킷 전송 방법 및 프로그램
EP2922250B1 (en) Control apparatus, communication system, control information creating method and program
JPWO2014129624A1 (ja) 制御装置、通信システム、経路切替方法及びプログラム
US20190007279A1 (en) Control apparatus, communication system, virtual network management method, and program
EP2916497A1 (en) Communication system, path information exchange device, communication node, transfer method for path information and program
US20160094357A1 (en) Control apparatus, computer system, communication control method, and program

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