KR101401874B1 - 통신제어 시스템, 스위칭 노드, 통신제어 방법, 및 통신제어용 프로그램 - Google Patents

통신제어 시스템, 스위칭 노드, 통신제어 방법, 및 통신제어용 프로그램 Download PDF

Info

Publication number
KR101401874B1
KR101401874B1 KR1020127022015A KR20127022015A KR101401874B1 KR 101401874 B1 KR101401874 B1 KR 101401874B1 KR 1020127022015 A KR1020127022015 A KR 1020127022015A KR 20127022015 A KR20127022015 A KR 20127022015A KR 101401874 B1 KR101401874 B1 KR 101401874B1
Authority
KR
South Korea
Prior art keywords
frame
lan interface
forwarding
control server
network service
Prior art date
Application number
KR1020127022015A
Other languages
English (en)
Other versions
KR20120123465A (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 KR20120123465A publication Critical patent/KR20120123465A/ko
Application granted granted Critical
Publication of KR101401874B1 publication Critical patent/KR101401874B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4022Coupling between buses using switching circuits, e.g. switching matrix, connection or expansion network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • 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
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/34Signalling channels for network management communication
    • H04L41/342Signalling channels for network management communication between virtual entities, e.g. orchestrators, SDN or NFV entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/40Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks using virtualisation of network functions or resources, e.g. SDN or NFV entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/35Switches specially adapted for specific applications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • H04L2012/5603Access techniques

Abstract

스위칭 노드에 있어서, 고속 및 고성능 서비스 프로토콜 처리 기능이 종래의 서비스 프로토콜 프로세싱의 성능에 영향을 미치지 않고 외부 제어 서버를 이용함으로써 달성된다. 구체적으로, 포워딩 엔진은 PCI 익스프레스(PCI Express) 및 LAN 인터페이스를 구비한다. 입력 패킷의 종류에 의존하여, 패킷의 목적지가 전통적 네트워크 서비스를 위한 PCI 익스프레스(PCI Express) 측으로, 및 외부 제어 서버와 협력하는 확장 네트워크 서비스를 위한 LAN 인터페이스 측으로 스위칭된다. PCI 익스프레 및 LAN 인터페이스를 구비한 CPU가 LAN 인터페이스 앞에 제공된다. CPU는 LAN 인터페이스를 통해 고속으로 외부 제어 서버와의 서비스 문의의 통신을 수행한다. 제어 서버로부터의 응답이 취득된 후에, 포워딩 엔진의 설정이 PCI 익스프레스(PCI Express)를 통해 수행된다.

Description

통신제어 시스템, 스위칭 노드, 통신제어 방법, 및 통신제어용 프로그램{COMMUNICATION CONTROL SYSTEM, SWITCHING NODE, COMMUNICATION CONTROL METHOD AND COMMUNICATION CONTROL PROGRAM}
본 발명은, 통신제어 시스템에 관한 것으로, 특히 프레임 수신 인터페이스 분리형의 통신제어 시스템에 관한 것이다.
최근, PCI 버스(Peripheral Component Interconnect bus)를 대신하여, "PCI 익스프레스(PCI Express)"라고 하는 인터페이스(interface(I/F))가 널리 이용되고 있다. PCI 버스는 병렬 전송 방식을 채택하고, PCI 익스프레스(PCI Express)는 직렬 전송 방식을 채택한다. PCI 버스와 PCI 익스프레스(PCI Express) 간에 물리 레벨에서의 호환성은 없지만, 통신 프로토콜 등은 공통으로 이용된다. PCI 익스프레스(PCI Express)에서 이용되는 최소 구성의 전송로(레인(lane))에서는, 한쪽 방향으로 2.5Gbps(Gigabit per second)의, 쌍방향으로 5.0Gbps의 전이중 통신(full-duplex communication)이 가능하다.
도 1은, 종래의 시스템 구성에서, 제어 서버(컨트롤러)에 의해 확장 네트워크 서비스를 실행할 때의 시스템 구성예를 도시한다. 종래의 시스템에서는, 스위칭 노드에 1개의 CPU(Central Processing Unit)만이 존재하고, 모든 서비스 프로토콜에 관련된 처리는 네트워크 스위치 포워딩 엔진의 접속에 이용되는 직렬 전송 인터페이스인 PCI 익스프레스(PCI Express)를 통해 제어 서버와 협력하여 실행된다.
도 2는, 종래의 스위칭 노드상의 CPU의 구성예를 나타내고 있다. CPU상에서는, 외부 제어 서버에서 실행되는 확장 네트워크 서비스에게 관련된 처리의 모듈과, 로컬하게 실행되는 종래의 네트워크 서비스에게 관련된 처리의 모듈이, 오퍼레이팅 시스템상의 네트워크 프로토콜 처리로서 실행된다.
도 2 에 도시한 바와 같은, 종래의 CPU상에서 구성되는 소프트웨어 스택 구성에서는 CPU가 1개밖에 존재하지 않기 때문에, 1개의 CPU가 종래의 네트워크 서비스에게 관련된 처리와 확장 네트워크 서비스에게 관련된 처리 모두 다뤄야만 했다.
또한 종래의 시스템 구성에서는, 내부 모듈(CPU)과 외부접속용 디바이스(네트워크 스위치 포워딩 엔진) 사이의 인터페이스는 PCI 익스프레스(PCI Express)뿐이며, 따라서, 내부 모듈들은 분배와 우선 제어 처리를 필요로 하는 리소스가 부족했다.
또한 PCI 익스프레스(PCI Express)는 패킷의 송수신시에 오버헤드를 수반하기 때문에, 불리하게도 고속 패킷 송수신이 달성될 수 없다.
더욱이 PCI 익스프레스(PCI Express)의 제어가 지연되었을 경우, 네트워크 스위치 포워딩 엔진에서의 CPU행인 패킷 큐(queue)의 오버플로, 패킷의 폐기, 및 서비스 품질의 열화가 발생한다.
이상의 문제로 인해, 종래의 시스템 구성은, 제어 인터페이스의 부하가 가벼운 서비스 프로토콜에 관련된 처리를 전제로 해서 구성되어 있기 때문에, 외부의 제어 서버로 고속 패킷의 송수신을 필요로 하는 구성을 실현할 수 없다.
특허 문헌 1(일본특허출원 제2005-317021호)에 PCI 익스프레스(PCI Express)가 설명되어 있다. 예를 들면 컴퓨팅 디바이스에 포함되는 PCI 익스프레스(PCI Express)의 토폴로지는, CPU 및 메모리 외에, 호스트 브릿지 및 몇몇의 엔드포인트(즉, I/O 디바이스)를 포함한다. 복수의 포인트는 스위치에 의해 접속된다.
관련된 기술로서, 특허 문헌 2(일본특허출원 제2006-202210호)에 정보처리장치, 서비스 공개 방법 및 프로그램이 개시되어 있다. 이 관련 기술에서는, UPnP(Universal Plug and Play) 디바이스는, SSDP(Simple Service Discovery Protocol)에 따라서 UPnP 제어 포인트를 향해서 디바이스(장비)의 존재를 선언하고, XML(Extensible Markup Language) 포맷으로 기술된 디바이스 기술 및 서비스 기술을 공개한다. UPnP 제어 포인트는, UPnP 디바이스 및 서비스를 SSDP에 따라서 발견하고, 각 서비스의 액션을 SOAP(Simple Object Access Protocol)에 기초하는 호출에 의해 제어한다. UPnP 서비스의 상태변화는, GENA(Generic Event Notification Architecture)에 기초하여 이벤트 통지를 구독하는 UPnP 제어 포인트에 대하여 통지된다.
관련된 기술로서, 특허 문헌 3(일본특허출원 제2007-219873호)에 스위치 및 네트워크 브릿지 디바이스가 개시되어 있다. 이 관련 기술에서는, 루트(route) 콤플렉스는 CPU로부터 명령을 받고, CPU와 주변 장치 사이의 피어 투 피어(peer to peer)통신, 메모리와 주변 장치 사이의 피어 투 피어 통신의 전송을 행한다. 이때, 루트 콤플렉스와 주변 디바이스 사이로, PCI 익스프레스(PCI Express)의 패킷(TLP: Transaction Layer Packet)을 이용해서 통신이 행해진다.
선행 기술문헌
특허 문헌
특허 문헌 1: 일본특허출원 2005-317021호
특허 문헌 2: 일본특허출원 2006-202210호
특허 문헌 3: 일본특허출원 2007-219873호
비특허 문헌
비특허 문헌 1: “The OpenFlow Switch Consortium” <http://www.openflowswitch.org/>
비특허 문헌 2: “OpenFlow Switch Specification Version 1.0.0(Wire Protocol 0x01) December 31, 2009” <http://www.openflowswitch.org/documents/openflow-spec-v1.0.0.pdf>
종래의 네트워크 스위칭 노드 구성에 따르면, 데이터 포워딩 부분과, 데이터 포워딩 부분을 제어하는 제어 부분이, PCI 익스프레스(PCI Express), 또는, 그 밖의 로컬 버스 인터페이스를 통해 서로 접속되어 있다. 그러나, PCI 등의 경우에, 제어 정보가 흐르는 것을 전제로 하기 때문에, 고속 데이터 전송을 행하자고 하면, 데이터 포워딩 측 및 제어 측 간의 인터페이스의 성능문제가 발생한다.
또한, 최근 데이터 전송용량의 증가와, 보다 고도의 서비스 제어가 요구된다. 그 때문에 종래의 서비스 성능을 유지한 채, 고도인 고속 처리를 달성하기 위해서, 데이터 포워딩 부분과 제어 부분 사이의 인터페이스 성능의 향상이 필요하다.
본 발명에 따른 통신제어 시스템은, 종래 네트워크 서비스를 실행하도록 구성된 스위칭 노드와, 확장 네트워크 서비스를 실행하도록 구성된 제어 서버(컨트롤러)를 포함한다. 스위칭 노드는, 내부 처리를 위한 프레임의 포워딩에 이용되는 제1 내부 버스(PCI 익스프레스 등)과, 외부 송신을 위한 프레임의 포워딩에 이용되는 제2 내부 버스(LAN 인터페이스 등)과, 포워딩 엔진(네트워크 스위치 포워딩 엔진)을 구비한다. 포워딩 엔진은, 입력 프레임의 종류에 의존하여, 종래 네트워크 서비스에 관한 프레임을 스위칭 노드에서의 내부 처리를 위한 제1 내부 버스에게 포워딩하고, 확장 네트워크 서비스에 관한 프레임을 제어 서버를 이용하기 위한 제2 내부 버스에게 포워딩한다 .
본 발명에 따른 스위칭 노드는, 내부 처리를 위한 프레임의 포워딩에 이용되는 제1 내부 버스와, 외부 송신을 위한 프레임의 포워딩을 위한 제2 내부 버스와, 입력 프레임의 종류에 의존하여, 종래 네트워크 서비스에 관한 프레임을 내부 처리를 위한 제1 내부 버스에게 포워딩하고, 확장 네트워크 서비스에 관한 프레임을 외부의 제어 서버를 이용하기 위한 제2 내부 버스에게 포워딩하도록 구성된 포워딩 엔진을 구비한다.
본 발명에 따른 통신제어 방법에서는, 스위칭 노드의 포워딩 엔진에 의해, 입력 프레임의 종류를 확인한다. 입력 프레임이 종래 네트워크 서비스에 관한 프레임이면, 입력 프레임을 스위칭 노드에서의 내부 처리를 위한 제1 내부 버스에게 포워딩한다. 입력 프레임이 확장 네트워크 서비스에 관한 프레임이면, 입력 프레임을 외부의 제어 서버를 이용하기 위한 제2 내부 버스에게 포워딩한다.
본 발명에 따른 통신제어용 프로그램은, 스위칭 노드의 포워딩 엔진에 의해 입력 프레임의 종류를 확인하는 단계와, 입력 프레임이 종래 네트워크 서비스에 관한 프레임이면, 입력 프레임을 스위칭 노드에서의 내부 처리를 위한 제1 내부 버스에게 포워딩하는 단계와, 입력 프레임이 확장 네트워크 서비스에 관한 프레임이면, 입력 프레임을 외부의 제어 서버를 이용하기 위한 제2 내부 버스에게 포워딩하는 단계를 포함하는 처리를 스위칭 노드로 하여금 실행시키기 위한 프로그램이다. 본 발명에 따른 통신 제어용 프로그램은, 기억 장치나 기억 매체에 저장하는 것이 가능하다.
종래의 네트워크 서비스에게 이용되는 PCI 익스프레스(PCI Express)가 이용되지 않기 때문에, 고속 프레임 송수신이 가능해서, 제어 서버와 협력하는 고도의 고속 네트워크 서비스가 실현 가능해진다.
도 1은 종래의 시스템 구성예를 나타내는 개념도이다.
도 2는 종래의 스위칭 노드상의 CPU의 구성예를 나타내는 개념도이다.
도 3은 본 발명의 통신제어 시스템의 기본 구성예를 나타내는 개념도이다.
도 4는 본 발명의 네트워크 스위치 포워딩 엔진의 구성예를 나타내는 개념도이다.
도 5는 본 발명에 따른 종래 네트워크 서비스를 실행하는 CPU의 구성예를 나타내는 개념도이다.
도 6는 본 발명에 따른 확장 네트워크 서비스에게 관련된 처리를 실행하는 CPU의 구성예를 나타내는 개념도이다.
도 7는 본 발명의 제어 서버의 구성예를 나타내는 개념도이다.
<실시예>
본 발명의 실시예가 첨부된 도면을 참조하여 기술된다.
[기본구성]
도 3 에 도시된 바와 같이, 본 발명의 통신제어 시스템은, 스위칭 노드(10)와, 제어 서버(컨트롤러)(20)를 포함한다.
스위칭 노드(10)는, 네트워크를 통해, 단말(1 내지 3)(단말 1, 단말 2, 단말 3) 및 제어 서버(20)와 접속되어 있다. 여기에서는, 기술의 간략화를 위해, 단말(1 내지 3) 및 제어 서버(20)만이 스위칭 노드(10)의 접속된 오브젝트들로서 도시되지만, 실제로는, 다른 서버나 스위칭 노드도 스위칭 노드(10)에 접속될 수 있다. 제어 서버(20)는, 스위칭 노드(10)에 대한 확장 네트워크 서비스를 실행한다. 복수의 스위칭 노드(10) 및 복수의 제어 서버(20)가 제공될 수 있다.
스위칭 노드(10)는, 네트워크 스위치 포워딩 엔진(100)과, PCI 익스프레스(PCI Express) 스위치(200)와, CPU(300)와, 메모리(350)와, CPU(400)와, 메모리(450)를 포함한다.
네트워크 스위치 포워딩 엔진(100)은, 단말(1 내지 3)로부터 입력되는 프레임의 포워딩 처리를 실행한다. PCI 익스프레스(PCI Express) 스위치(200)는, 네트워크 스위치 포워딩 엔진(100)과, CPU(300)나 CPU(400) 사이로 프레임 또는 제어 명령의 송수신을 행한다. PCI 익스프레스(PCI Express) 스위치(200)는, 네트워크 스위치 포워딩 엔진(100)의 내부에 조립되고 있을 경우도 있다.
프레임은, OSI 참조 모델의 제2층 (레이어2: 데이터 링크 층)의 통신에서 사용되는 PDU(protocol data unit)의 통칭이며, 패킷은, OSI 참조 모델의 제3층 (레이어3: 네트워크 층)의 통신에서 사용되는 PDU의 통칭이다. 여기에서는, 프레임은 패킷을 나르는 프레임이다. 즉, 본 발명에 있어서, 프레임은 패킷과 같이 상호 바뀌어 판독될 수 있다.
CPU(300)는, 종래 네트워크 서비스를 제공하기 위해서, 종래의 네트워크 서비스 프로토콜에 관련된 처리를 실행한다. 메모리(350)는, CPU(300)에 의해 처리되는 데이터를 기억한다. 종래 네트워크 서비스는, 스위칭 노드(10)가 종래부터 대응하고 있는 서비스이며, 스위칭 노드(10) 내부에서 완결하는 처리다. 즉, CPU(300)는, 내부에서의 처리에 대응하는 CPU다. 종래 네트워크 서비스의 예로서 종래대로의 프레임 포워딩이나 패킷교환(스위칭), 라우팅, 스위칭 노드(10)의 제어 및 설정 등을 포함한다.
CPU(400)는, 확장 네트워크 서비스를 제공하는 외부의 제어 서버(20)와 협력하기 위한 처리를 행한다. 메모리(450)는, CPU(400)에 의해 처리되는 데이터를 저장한다. 확장 네트워크 서비스는, 외부의 제어 서버(20)에 의존하는 서비스이며, 스위칭 노드(10)와 외부의 제어 서버(20)와의 협력에 의해 완결하는 처리이다. 즉, CPU(400)는, 외부와의 협력을 다루는 CPU다. 확장 네트워크 서비스의 예로서 외부 제어에 의한 경로제어나, 방화벽 처리, 부하 분산(load balancing) 등을 포함한다.
복수의 CPU(300), 복수의 메모리(350), 복수의 CPU(400), 및 복수의 메모리(450)가 제공될 수 있다.
스위칭 노드(10)의 내부 구성이 통합될 수 있다. 예를 들면, 최근에는, 마이크로컴퓨터가 한 칩에 통합된다. 따라서, 스위칭 노드(10)에 탑재되는 1칩 마이크로컴퓨터가, 네트워크 스위치 포워딩 엔진(100), PCI 익스프레스(PCI Express) 스위치(200), CPU(300), 메모리(350)와, CPU(400), 및 메모리(450)를 포함하는 사례가 고려된다. 또한, 기존의 네트워크 기기에 있어서, 가상 머신(Virtual Machine(VM)) 환경에 의해, 도 3에 나타내는 구성을 논리적으로 실현하는 사례도 고려된다. 도 3에 나타내는 구성은 개념상의 구성이며, 물리적인 구성으로 제한되지 않는다.
제어 서버(20)는, 네트워크 인터페이스(500)와, CPU(600)와, 메모리(650)를 포함한다.
네트워크 인터페이스(500)는 스위칭 노드(10)로/로부터 프레임의 송수신을 행한다. CPU(600)는, 확장 네트워크 서비스 및 프로토콜에 관련된 처리의 실행을 행한다. 메모리(650)는 CPU(600)에 의해 처리되는 데이터를 저장한다.
[본 시스템 구성과 종래 시스템 구성 간의 상이점]
또한, 도 1과 도 3을 비교하면, 본 발명의 통신제어 시스템에서는, 스위칭 노드(10)가, 2개의 CPU를 구비하고 있는 점에서, 종래의 시스템 구성과 상이한 것이 명백하다. 더욱 상세한 상이점에 관해서는 후술한다.
[구성의 요점]
네트워크 스위치 포워딩 엔진(100)은, PCI 익스프레스(PCI Express)와 입력 프레임의 종류에 따라서 프레임의 목적지를 스위칭하기 위한 LAN(Local Area Network) 인터페이스를 포함한다. 즉, 네트워크 스위치 포워딩 엔진(100)은 입력 프레임의 종류를 확인하고, 그 결과에 따라서 프레임의 목적지를 결정한다.
여기에서는, 네트워크 스위치 포워딩 엔진(100)은, LAN 인터페이스로서, LAN 인터페이스(1G MAC)(101, 102, 103)와, LAN 인터페이스(10G MAC)(104)와, LAN 인터페이스(10G MAC)(106)를 포함한다. 네트워크 스위치 포워딩 엔진(100)은 PCI 익스프레스 엔드포인트로서, PCI 익스프레스 엔드포인트(PCI Express End Point)(105)를 더 포함한다.
"LAN 인터페이스(1G MAC)"란 1Gbps의 데이터 전송을 지원하는 LAN 인터페이스를 의미한다. 마찬가지로, "LAN 인터페이스(10G MAC)"란, 10Gbps의 데이터 전송을 지원하는 LAN 인터페이스를 의미한다. 또한, "1G" 및 "10G"는 예시에 불과하다는 것을 알아야 한다.
현재, 특수한 용도를 제외하고, 대부분의 LAN은 현재 이더넷(등록상표)이다. LAN 인터페이스의 예로서, NIC(Network Interface Card) 등의 네트워크 카드를 포함한다. 이때, 종래 네트워크 서비스에 대해서는, PCI 익스프레스(PCI Express) 측으로 프레임의 목적지가 스위칭된다. PCI 익스프레스(PCI Express)에 앞서 CPU(300)가 제공된다. 외부의 제어 서버(20)와 협력하는 확장 네트워크 서비스에 대해서는, LAN 인터페이스 측으로 프레임의 목적지가 스위칭된다. LAN 인터페이스에 앞서 CPU(400)가 제공된다. LAN 인터페이스 측에 프레임을 포워딩하는 경우에, 프레임에 검색 결과정보, 입력 포트 정보 등이 부가된다.
CPU(300)는, PCI 익스프레스(PCI Express)를 포함한다.
여기에서는, CPU(300)는, PCI 익스프레스(PCI Express)로서, PCI 익스프레스 루트 콤플렉스(PCI Express Root Complex)(301)를 구비한다.
CPU(300)는, 루트 콤플렉스로서, 네트워크 스위치 포워딩 엔진(100)에 축적된 CPU(300)로 예정된 프레임을 수집하고, 종래 네트워크 서비스를 실행한다.
CPU(400)는, PCI 익스프레스(PCI Express)와 LAN 인터페이스를 포함한다.
여기에서는, CPU(400)는, LAN 인터페이스로서, LAN 인터페이스(10G MAC)(401)를 구비한다. CPU(400)는 PCI 익스프레스(PCI Express)로서, PCI 익스프레스 엔드 포인트(PCI Express End Point)(402)를 더 구비한다.
CPU(400)는, 네트워크 스위치 포워딩 엔진(100)으로부터 수신한 프레임에 대하여, 제어 서버(20)에 문의하기 위한 정보를 취득하고, 오퍼레이션 시스템상의 네트워크 프로토콜에 영향을 주지 않도록 하기 위해서, 프레임에 관한 정보 해석, 및 변환을 행하고, PCI 익스프레스(PCI Express)를 사용하지 않고, LAN 인터페이스를 사용하여 프레임을 고속으로 송수신한다.
외부 접속용 인터페이스와 같은 규격의 LAN 인터페이스(10G MAC)가 스위칭 노드 내부에서 이용되기 때문에, CPU(400)와 네트워크 스위치 포워딩 엔진(100) 사이, 및, 네트워크 스위치 포워딩 엔진(100)과 외부의 제어 서버(20) 사이는, 같은 포맷의 프레임이 같은 통신 속도로 통과하게 된다. 즉, 네트워크 스위치 포워딩 엔진(100)은, 프레임의 정보 해석, 및 변환을 행하지 않고, CPU(400)와 외부의 제어 서버(20) 사이로, 프레임을 그대로 포워딩할 수 있다.
CPU(400)는, 수신한 프레임을, 외부의 제어 서버(20)로부터의 응답이 있을 때까지 메모리(450)에 유지하고, 외부의 제어 서버(20)에 대하여 서비스의 문의할 때, SSL(Secure Socket Layer) 등에서 이용되는 암호화 처리, TCP/IP(Transmission Control Protocol/Internet Protocol) 등의 네트워크 프로토콜을 이용하고, LAN 인터페이스를 통해, 외부의 제어 서버(20)와 고속으로 통신한다.
제어 서버(20)는 LAN 인터페이스를 통해, 프레임을 수신하고, 확장 네트워크 서비스를 실행하고, 스위칭 노드(10)에 응답을 리턴한다.
CPU(400)는, LAN 인터페이스를 통해, 제어 서버(20)로부터 응답을 수신한 후, PCI 익스프레스(PCI Express)를 이용하여, 네트워크 스위치 포워딩 엔진(100)에 대하여, 확장 네트워크 서비스에게 필요한 설정을 행한다.
여기에서는, PCI 익스프레스(PCI Express)와 LAN 인터페이스를 기술하고 있지만, 실제로는, 이것들의 예에 한정되지 않는다. 당연히, PCI 익스프레스(PCI Express) 및 LAN 인터페이스는, 이들의 균등물로 대체될 수 있다. 적어도, 스위칭 노드(10)에서는, 본질적으로, PCI 익스프레스(PCI Express)는 "제1 내부 버스"이며, LAN 인터페이스는 "제2 내부 버스"다. "제2 내부 버스"는 "제1 내부 버스"와 규격이 상이하고, "제1 내부 버스"보다도 고속으로, 및 대용량의 데이터 전송이 가능하다. "제2 내부 버스"는 스위칭 노드(10)의 외부에게 송신할 필요가 있는 데이터의 전송에 사용된다.
[하드웨어의 예]
단말(1 내지 3), 및 제어 서버(20)의 예로서, PC(퍼스널 컴퓨터), 어플라이언스(appliance), 얇은(thin) 클라이언트 단말/서버, 워크스테이션, 메인 프레임, 슈퍼컴퓨터 등의 계산기를 포함한다.
CPU(300), CPU(400), 및 CPU(600)는 프로세서의 예시에 불과하다. CPU(300), CPU(400), 및 CPU(600)는 마이크로프로세서(microprocessor), 마이크로컨트롤러, 혹은, 유사한 기능을 갖는 반도체 집적 회로(Integrated Circuit(IC)) 등일 수 있다.
메모리(350), 메모리(450), 및 메모리(650)의 예로서, 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)를 포함하는 리무버블 디스크(removable disc) 또는 SD 메모리 카드(Secure Digital memory card) 등의 기억 매체(미디어) 등을 포함한다.
네트워크 스위치 포워딩 엔진(100)의 예로서, LAN 호환 기판(마더보드나 I/O 보드) 등의 반도체 집적 회로, NIC(Network Interface Card) 등의 네트워크 어댑터, 혹은, 마찬가지인 확장 카드 등을 포함한다. 여기에서는, 네트워크 스위치 포워딩 엔진(100)은, 하드웨어에서 고속으로 처리를 행하기 위해, 네트워크 프로세서(network processor)를 탑재하고 있는 것으로 가정된다.
그러나, 실제로는, 이것들의 예에 한정되지 않는다.
[오픈 플로우(Open Flow) 기술과의 관계]
오픈 플로우(OpenFlow) 기술에 따르면, 제어 서버(20)는, 컨트롤러로서, 시스템내의 통신 경로(패스)를 제어한다. 오픈 플로우 기술은, 경로 제어나 노드 제어를 행하는 라우팅 정책(policy)에 따라 컨트롤러가 멀티레이어상에 경로 정보를 설정하고 플로우 유닛을 스위치에 설정하는 기술이다.
오픈 플로우 기술에 따르면, 컨트롤러가, 네트워크에서의 스위치를 감시하고, 통신 상황에 따라서, 네트워크에서의 스위치에 패킷의 배송 경로를 동적으로 설정한다. 이에 따라, 경로제어 기능이 라우터나 스위치로부터 분리되어, 컨트롤러에 의한 집중 제어에 의해 최적인 라우팅 트래픽 관리가 가능하게 된다. 오픈 플로우 기술이 채택하는 스위치는, 종래의 라우터나 스위치와 같이 패킷이나 프레임의 단위가 아니고, 엔드 투 엔드(End to End)의 플로우로서 통신을 취급한다.
예를 들면, 제어 서버(20)는, 스위칭 노드(10)의 플로우 테이블(flow table)에 플로우 엔트리를 등록함으로써 해당 스위칭 노드(10)의 동작(예를 들면 패킷 데이터의 중계 동작)을 제어한다.
플로우 테이블에는, 소정의 매치 조건(룰)에 적합한 패킷에 대하여 행해야 할 소정의 처리(액션)를 정의한 플로우 엔트리가 등록된다. 룰에 적합한 패킷 군(패킷 스트링)을 플로우라고 부른다.
플로우의 룰은, 패킷의 각 프로토콜 계층의 헤더 영역에 포함되는 목적지 어드레스(Destination Address), 송신원 어드레스(Source Address), 목적지 포트(Destination Port), 송신원 포트(Source Port)의 어느 쪽인 또는 모두를 이용한 다양한 조합에 의해 정의되어, 구별이 가능하다. 상기의 어드레스에는, MAC어드레스(Media Access Control Address)나 IP 어드레스(IP address)(Internet Protocol Address)를 포함하는 것이 전제된다. 또한, 상기 외에, 입구 포트(Ingress Port)의 정보도 플로우의 룰로서 사용가능하다.
플로우의 액션은 통상적으로 미리 결정된 목적지로의 패킷 포워딩이다. 물론, 플로우의 액션으로서, 패킷 파기가 지정될 수 있다.
오픈 플로우 기술의 상세에 대해서는, 비특허 문헌 1, 2에 기재되어 있다.
[네트워크 스위치 포워딩 엔진의 구성]
도 4는 네트워크 스위치 포워딩 엔진(100)의 구성예를 나타낸다. 이 구성은, 프로그램 등에 의해 실현한 소프트웨어 구성일 수 있고, 회로 등에 의해 실현한 하드웨어 구성일 수 있다.
네트워크 스위치 포워딩 엔진(100)은, LAN 인터페이스(1G MAC)(101, 102, 103), LAN 인터페이스(10G MAC)(104), PCI 익스프레스 엔드 포인트(PCI Express End Point)(105), LAN 인터페이스(10G MAC)(106), 프레임 해석 처리부(107), 테이블 검색부(108), 포워딩 테이블(109), 테이블 검색 결과 레지스터(110), CPU행인 패킷 큐(111), 스위칭 포워딩 회로부(112), 스위치 패브릭 공유 패킷 버퍼(113), 테이블 검색 결과 부가 회로부(114), 및 목적지 인식 회로부(115)를 구비한다.
LAN 인터페이스(1G MAC)(101, 102, 103)는 각각 단말(1 내지 3)로부터 프레임을 수신하기 위해서 제공된다.
LAN 인터페이스(10G MAC)(104)는 제어 서버(20)와 통신하기 위해서 제공된다. 여기에서는, 설명의 간략화로 인해, LAN 인터페이스(10G MAC)(104)의 접속처로서, 제어 서버(20)만 도시 하고 있지만, 실제로는, LAN 인터페이스(10G MAC)(104)의 포트가 복수 있고, 다른 서버나 스위칭 노드가 LAN 인터페이스(10G MAC)(104)에 접속될 수 있다.
PCI 익스프레스 엔드 포인트(PCI Express End Point)(105)는, CPU(300)와 통신하기 위해 제공된다.
LAN 인터페이스(10G MAC)(106)는, CPU(400)와 통신하기 위해서 제공된다.
프레임 해석 처리부(107)는 수신한 프레임을 해석한다. 테이블 검색부(108)는 해당 프레임의 해석결과에 기초하여 해당 프레임의 목적지(포워딩 어드레스)의 검색하기 위해 포워딩 테이블(109)을 참조한다. 포워딩 테이블(109)은 프레임의 목적지(포워딩 어드레스)에 관한 정보를 저장하고 있다. 여기에서는, 포워딩 테이블(109)은 오픈 플로우 기술에 있어서의 플로우 테이블이다. 테이블 검색부(108)는 프레임의 헤더 영역에 포함되는 각종의 정보에 의거하여 포워딩 테이블(109)로부터 해당하는 플로우 엔트리를 검출하고, 그 플로우 엔트리에 정의된 액션에 따라서, 프레임의 목적지(포워딩 어드레스)를 결정한다.
테이블 검색 결과 레지스터(110)는, PCI 익스프레스(PCI Express)에 연결되는 CPU(300)앞의 프레임에 대한 포워딩 테이블의 검색 결과를 유지한다. 여기에서는, 테이블 검색 결과 레지스터(110)는 포워딩 테이블(109)에 있어서의 프레임의 목적지(포워딩 어드레스)의 검색 결과를 유지한다. CPU행인 패킷 큐(111)는 CPU(300)에의 프레임 송수신시에, 해당 프레임의 큐잉(queuing)을 행하기 위해 제공된다.
스위칭 포워딩 회로부(112)는 네트워크 스위치 포워딩 엔진(100) 내에서 프레임의 스위칭 포워딩 처리를 행한다. 스위치 패브릭 공유 패킷 버퍼(113)는 프레임 포워딩 시에 버퍼링(buffering)을 행하기 위해 제공된다.
큐잉이나 버퍼링 시의 데이터 형식은 프레임 형식으로도 패킷 형식일 수 있다. 이는, 패킷 형식이 이용되는 경우에도, PCI 익스프레스(PCI Express)나 LAN 인터페이스를 통해 송신될 때에, 패킷 형식이 프레임 형식으로 변환되기 때문이다.
테이블 검색 결과 부가 회로부(114)는 CPU(400)에 검색 결과를 송신하기 위해서, 이 검색 결과를 프레임에 부가하고, 이 프레임을 LAN 인터페이스(106)에 출력한다. 목적지 인식 회로부(115)는, CPU(400)로부터 임의인 목적지로의 전송을 인식한다.
[종래 네트워크 서비스를 실행하는 CPU의 구성]
도 5는 CPU(300)의 구성예를 나타낸다. 이 구성은, 프로그램 등에 의해 실현된 소프트웨어 구성일 수 있고, 회로 등에 의해 실현된 하드웨어 구성일 수 있다.
CPU(300)는 하드웨어 시스템(310), 오퍼레이팅 시스템(320), 및 네트워크 프로토콜(330)을 포함한다.
하드웨어 시스템(310)은, PCI 익스프레스 루트 콤플렉스(PCI Express Root Complex)(301)를 구비한다.
PCI 익스프레스 루트 콤플렉스(PCI Express Root Complex)(301)는, PCI 익스프레스(PCI Express) 스위치(200)를 통해 네트워크 스위치 포워딩 엔진(100)과 통신하기 위해서 제공된다. PCI 익스프레스 루트 콤플렉스(PCI Express Root Complex)(301)는 PCI 익스프레스(PCI Express) 디바이스이며, 루트 콤플렉스로서 기능한다.
오퍼레이팅 시스템(320)은, PCI DMA 제어부(321)와, 포워딩 엔진 드라이버(322)를 구비한다.
PCI DMA 제어부(321)는, PCI 익스프레스(PCI Express) 디바이스를 이용하여, PCI 익스프레스(PCI Express) 스위치(200)를 통해 네트워크 스위치 포워딩 엔진(100)에 대하여 DMA(Direct Memory Access) 전송 제어를 행한다. 포워딩 엔진 드라이버(322)는 네트워크 스위치 포워딩 엔진(100)을 PCI 익스프레스(PCI Express)를 통해 제어하기 위해서 제공된다. 여기에서는, 포워딩 엔진 드라이버(322)는 PCI DMA 제어부(321)를 이용한다. PCI DMA 제어부(321)는 포워딩 엔진 드라이버(322)의 한 기능일 수 있다.
네트워크 프로토콜(330)은 패킷 송수신 처리부(331)와 종래 네트워크 서비스 처리부(332)를 포함한다.
패킷 송수신 처리부(331)는 포워딩 엔진 드라이버(322)를 이용하여, PCI 익스프레스(PCI Express) 스위치(200)를 통해 네트워크 스위치 포워딩 엔진(100)과의 프레임의 송수신 처리를 행한다. 여기에서는, 패킷 송수신 처리부(331)는 포워딩 엔진 드라이버(322)와 PCI DMA 제어부(321)를 이용하여, 네트워크 스위치 포워딩 엔진(100)에 대하여 DMA 전송 제어를 행하고, CPU행인 패킷 큐(111)에 축적된 프레임을 요구/수집한다. 패킷 송수신 처리부(331)는 포워딩 엔진 드라이버(322)로부터 수신한 프레임을 패킷 형식으로 변환한다. 종래 네트워크 서비스 처리부(332)는 패킷 송수신 처리부(331)로부터 수신한 패킷에 대하여, 종래의 서비스 프로토콜에 관련된 처리를 행한다.
또한 패킷 송수신 처리부(331)는, 종래 네트워크 서비스 처리부(332)로부터 수신한 패킷을 프레임 형식으로 변환하고, 포워딩 엔진 드라이버(322)을 이용하여 PCI 익스프레스(PCI Express) 스위치(200)를 통해 네트워크 스위치 포워딩 엔진(100)에 프레임을 송신한다.
[확장 네트워크 서비스에게 관련된 처리를 실행하는 CPU의 구성]
도 6은 CPU(400)의 구성예를 나타낸다. 이 구성은 프로그램 등에 의해 실현된 소프트웨어 구성일 수 있고, 회로 등에 의해 실현된 하드웨어 구성일 수 있다.
CPU(400)는 하드웨어 시스템(410)과 오퍼레이팅 시스템(420)과, 네트워크 프로토콜(430)을 포함한다.
하드웨어 시스템(410)은 LAN 인터페이스(10G MAC)(401)과, PCI 익스프레스 엔드 포인트(PCI Express End Point)(402)과 프레임 정보 해석 회로부(411)과, 프레임 변환 회로부(412)를 포함한다.
LAN 인터페이스(10G MAC)(401)는 네트워크 스위치 포워딩 엔진(100)으로부터 프레임을 수신하고, 제어 서버(20)와 프레임의 송수신을 행하기 위해 제공된다.
PCI 익스프레스 엔드 포인트(PCI Express End Point)(402)는 PCI 익스프레스(PCI Express) 스위치(200)를 통하고, 네트워크 스위치 포워딩 엔진(100)과 통신하기 위해서 제공된다. PCI 익스프레스 엔드 포인트(PCI Express End Point)(402)는 PCI 익스프레스(PCI Express) 디바이스이며, 엔드포인트로서 기능한다.
프레임 정보 해석 회로부(411)는, 네트워크 스위치 포워딩 엔진(100)으로부터 수신한 프레임의 내부정보(헤더 정보 등)를 해석하기 위해서 제공된다. 프레임 변환 회로부(412)는 오퍼레이팅 시스템상의 네트워크 프로토콜 스택에 영향을 주지 않기 위해서 제공된다.
오퍼레이팅 시스템(420)은, 네트워크 드라이버(421), TCP/IP 스택(422), 포워딩 엔진 드라이버(423), 및 PCI DMA 제어부(424)를 구비한다.
네트워크 드라이버(421)는 LAN 인터페이스(10G MAC)(401)를 통하고, 프레임의 송수신을 행하기 위해 제공된다. TCP/IP 스택(422)은 제어 서버와 프로토콜 통신을 행하기 위해 제공된다. 포워딩 엔진 드라이버(423)은 네트워크 스위치 포워딩 엔진(100)을 PCI 익스프레스(PCI Express)를 통해 제어하기 위해서 제공된다. PCI DMA 제어부(424)는, PCI 익스프레스(PCI Express) 디바이스를 이용하여 PCI 익스프레스(PCI Express) 스위치(200)를 통해 네트워크 스위치 포워딩 엔진(100)에 대하여 DMA 전송 제어를 행한다.
네트워크 프로토콜(430)은, 패킷 수신 처리부(431)과, 패킷 버퍼 처리부(432)과, 서비스 처리 문의 회로부(433)과, 암호 처리 회로부(434)과, 확장 네트워크 서비스 설정부(435)을 구비한다.
패킷 수신 처리부(431)는 프레임 변환 회로부(412)로부터 프레임을 패킷 형식으로 수신하기 위해서 제공된다. 패킷 버퍼 처리부(432)는 제어 서버(20)에 의한 제어를 대기하기 위해서, 패킷 수신 처리부(431)로부터 수신한 패킷을 일단 버퍼링 하기 위해서 제공된다. 서비스 처리 문의 회로부(433)는 제어 서버(20)에 문의하기 위해 제공된다. 암호 처리 회로부(434)는 제어 서버(20)로의 문의시에/문의 결과의 응답시에, 암호 처리를 실행하기 위해 제공된다. 확장 네트워크 서비스 설정부(435)는 제어 서버(20)에의 문의 결과에 따라서, PCI 익스프레스(PCI Express) 스위치(200)를 통해 네트워크 스위치 포워딩 엔진(100)을 설정하기 위해 제공된다.
네트워크 스위치 포워딩 엔진(100)의 설정의 예로서는, 오픈 플로우 기술에 있어서의 플로우 테이블(또는 플로우 엔트리)의 등록 및 갱신을 포함한다.
[본 CPU 구성과 종래 CPU 구성 간의 상이점]
도 2, 도 5 및 도 6를 비교하면, 본 발명의 CPU의 구성은, 2개의 CPU가 각각 종래 네트워크 서비스에 관한 처리와 확장 네트워크 서비스에 관한 처리를 실행한다는 점에서, 종래 CPU의 구성과 상이하다는 것이 명백하다. 본 발명에 따르면, CPU들은 분배 및 우선 제어 처리를 실행할 필요가 없다. 또한 본 발명에 따르면, 종래의 네트워크 서비스에게 관련된 처리에 영향을 받는 패킷과, 확장 네트워크 서비스에 관련된 처리에 영향을 받는 패킷이, 같은 인터페이스를 이용하지 않는다. 그 때문에 패킷 송수신시의 지연, CPU행인 패킷 큐의 오버플로, 패킷의 폐기, 및 서비스 품질의 열화도 종래보다 적게 발생한다. 이는 스위칭 노드의 성능을 향상시킬 수 있다.
[종래의 스위칭 노드상의 CPU의 구성]
본 발명과의 비교를 위해, 도 2를 참조하여 종래의 스위칭 노드상의 CPU의 구성예가 기술될 것이다. 도 2, 도 5, 및 도 6에 있어서, 같은 명칭의 것은, 기본적으로 동일한 것이다.
도 2에 도시된 바와 같이, 종래의 스위칭 노드에 있어서, CPU(300)는 하드웨어 시스템(310)과, 오퍼레이팅 시스템(320)과, 네트워크 프로토콜(330)을 포함한다.
하드웨어 시스템(310)은 PCI 익스프레스 루트 콤플렉스(PCI Express Root Complex)(301)을 포함한다.
오퍼레이팅 시스템(320)은, PCI DMA 제어부(321)과, 포워딩 엔진 드라이버(322)과, 배분 우선 제어 처리부(323)와, 네트워크 드라이버(324)와, TCP/IP 스택(325)을 포함한다.
종래의 스위칭 노드상의 CPU(300)는, 오퍼레이팅 시스템(320)에 있어서, 배분 우선 제어 처리부(323)와, 네트워크 드라이버(324)와, TCP/IP 스택(325)을 더 포함한다.
배분 우선 제어 처리부(323)는 수신한 프레임에 대하여, 종래의 네트워크 서비스에 관련된 처리와, 확장 네트워크 서비스에 관련된 처리 중 어느 하나를 실행하기 위한 분배 및 우선 제어 처리를 실행한다. 네트워크 드라이버(324)은 도 6의 네트워크 드라이버(421)와 같은 기능을 갖는다. TCP/IP 스택(325)은 도 6의 TCP/IP 스택(422)과 같은 기능을 갖는다.
네트워크 프로토콜(330)은 패킷 송수신 처리부(331)와 종래 네트워크 서비스 처리부(332)와, 패킷 수신 처리부(333)와, 패킷 버퍼 처리부(334)와, 서비스 처리 문의 회로부(335)와, 암호 처리 회로부(336)와, 확장 네트워크 서비스 설정부(337)를 포함한다.
종래의 스위칭 노드상의 CPU(300)는, 네트워크 프로토콜(330)에 있어서, 패킷 수신 처리부(333), 패킷 버퍼 처리부(334), 서비스 처리 문의 회로부(335), 암호 처리 회로부(336), 및 확장 네트워크 서비스 설정부(337)를 더 포함한다.
패킷 수신 처리부(333)는 패킷 수신 처리부(431)와 같은 기능을 갖는다. 패킷 버퍼 처리부(334)는 패킷 버퍼 처리부(432)와 같은 기능을 갖는다. 서비스 처리 문의 회로부(335)는 서비스 처리 문의 회로부(433)와 같은 기능을 갖는다. 암호 처리 회로부(336)는 암호 처리 회로부(434)와 같은 기능을 갖는다. 확장 네트워크 서비스 설정부(337)는 확장 네트워크 서비스 설정부(435)와 같은 기능을 갖는다.
이때, 배분 우선 제어 처리부(323)는, 수신한 프레임에 대하여, 종래의 네트워크 서비스에 관련된 처리를 행할 경우에, 해당 프레임을 패킷 송수신 처리부(331)에게 송신한다.
또한 배분 우선 제어 처리부(323)는, 수신한 프레임에 대하여, 확장 네트워크 서비스에 관련된 처리를 행할 경우에, 해당 프레임을 패킷 수신 처리부(333)에게 송신한다.
또한 배분 우선 제어 처리부(323)는, 종래의 네트워크 서비스에 기초하는 패킷과, 확장 네트워크 서비스에 기초하는 패킷의 양방에 대하여 분배 및 우선 제어 처리를 행하고, 포워딩 엔진 드라이버(322)를 이용하여, PCI 익스프레스(PCI Express) 스위치(200)를 통해, 네트워크 스위치 포워딩 엔진(100)에게 송신한다.
이런 방식으로 배분 우선 제어 처리부(323)는, 종래의 CPU(300)와 네트워크 스위치 포워딩 엔진(100) 사이를 접속하는 유일한 인터페이스인 PCI 익스프레스(PCI Express)에서의 혼잡을 완화한다.
[제어 서버의 구성]
도 7은 제어 서버(20)의 구성예를 나타낸다. 이 구성은 프로그램 등에 의해 실현된 소프트웨어 구성일 수 있고, 회로 등에 의해 실현된 하드웨어 구성일 수 있다.
제어 서버(20)는 네트워크 인터페이스(500)와 CPU(600)를 포함한다.
네트워크 인터페이스(500)는, LAN 인터페이스(10G MAC)(501)와, PCI 익스프레스 엔드 포인트(PCI Express End Point)(502)를 포함한다.
LAN 인터페이스(10G MAC)(501)는 스위칭 노드(10)와 통신하기 위해서 제공된다.
PCI 익스프레스 엔드 포인트(PCI Express End Point)(502)는, CPU(600)와 통신하기 위해서 제공된다. PCI 익스프레스 엔드 포인트(PCI Express End Point)(502)는 PCI 익스프레스(PCI Express) 디바이스이며, 엔드포인트로서 기능한다.
CPU(600)는 하드웨어 시스템(610), 오퍼레이팅 시스템(620), 및 네트워크 프로토콜(630)을 포함한다.
하드웨어 시스템(610)은 PCI 익스프레스 루트 콤플렉스(PCI Express Root Complex)(601)를 포함한다.
PCI 익스프레스 루트 콤플렉스(PCI Express Root Complex)(601)는 네트워크 인터페이스(500)와 통신하기 위해서 제공된다. PCI 익스프레스 루트 콤플렉스(PCI Express Root Complex)(601)는 PCI 익스프레스(PCI Express) 디바이스이며, 루트 콤플렉스로서 기능한다.
오퍼레이팅 시스템(620)은 네트워크 드라이버(621)와, TCP/IP 스택(622)을 포함한다.
네트워크 드라이버(621)는 네트워크 인터페이스(500)를 제어한다. TCP/IP 스택(622)은 스위칭 노드(10)와 프로토콜 통신을 행하기 위해 제공된다.
네트워크 프로토콜(630)은 패킷 송수신 처리부(631), 암호 처리 회로부(632), 및 확장 네트워크 서비스 처리부(633)를 포함한다.
패킷 송수신 처리부(631)는 패킷 형식으로, 스위칭 노드(10)와 프레임의 송수신을 행한다. 암호 처리 회로부(632)는 패킷 송수신 처리부(631)에서의 프레임의 송수신시에 암호 처리를 실행한다. 확장 네트워크 서비스 처리부(633)는 제어 서버상에서 실행되는 서비스나 프로토콜을 제공한다.
[기본동작]
다음에, 도 3, 도 4, 도 5, 도 6, 도 7을 참조하여, 본 실시예에서의 동작이 기술될 것이다.
[단말로부터의 프레임 수신시의 동작]
스위칭 노드(10)의 네트워크 스위치 포워딩 엔진(100)의 LAN 인터페이스(1G MAC)(101, 102, 103)은, 각각 단말 1, 단말 2, 단말 3로부터, 네트워크를 통하여, 다양한 프레임을 수신한다. 프레임 해석 처리부(107)는 네트워크 스위치 포워딩 엔진(100)내에서, 프레임의 헤더의 해석을 행한다. 다음에, 테이블 검색부(108)는 그 프레임의 포워딩 방법을 결정하기 위해, 포워딩 테이블(109)을 검색 참조하고, 그 프레임에 대한 처리(액션)를 확인한다.
[프레임에 대한 처리]
프레임에 대한 처리는 크게 이하의 3개로 분류된다.
[처리 1]
제1 처리에 있어서, 목적지 및 처리 방법이 서비스 또는 프로토콜을 따라 포워딩 테이블(109)에 앞서 기술된다. 이 경우에, 스위칭 포워딩 회로부(112)는 그 기재 내용에 따라서, 목적지에 대하여 스위칭 처리를 실행하고, 프레임을 외부에게 포워딩한다.
[처리 2]
제2 처리에 있어서, 종래의 네트워크 서비스를 이용하는 프레임이 새롭게 들어온다. 이 경우에, 테이블 검색부(108)는 입력된 포트 정보 및 테이블 검색의 결과를 테이블 검색 결과 레지스터(110)에 저장할 뿐만 아니라 프레임을 패킷 형식으로 CPU행인 패킷 큐(111)에 저장한다. 프레임이 패킷 형식으로 CPU행인 패킷 큐(111)에 저장되면, 네트워크 스위치 포워딩 엔진(100)은, PCI 익스프레스(PCI Express)에 접속되는 CPU(300)에게 프레임이 저장된 것을 통지하기 위해 인터럽트 통지를 보낸다. PCI 익스프레스(PCI Express)의 먼저 접속된 CPU(300)가 프레임을 수신하기 위해서, 포워딩 엔진 드라이버(322)은, PCI DMA 제어부(321)을 이용하여 네트워크 스위치 포워딩 엔진(100)의 DMA 제어를 행한다. 패킷 송수신 처리부(331)는 패킷 형식으로 프레임의 수신 처리를 행한다. 종래 네트워크 서비스 처리부(332)는 패킷 송수신 처리부(331)로부터의 패킷을 해석한다. 패킷 송수신 처리부(331)는, 종래 네트워크 서비스 처리부(332)로부터 해석결과를 수신했을 경우, 다시 PCI 익스프레스(PCI Express)를 이용하여 해석결과에 기초한 프레임을 외부에 보낸다. 대안적으로, 패킷 송수신 처리부(331)는 PCI 익스프레스(PCI Express)를 이용하여 차회 이후에 수신하는 프레임에 대해 네트워크 스위치 포워딩 엔진(100)의 설정 등을 행한다.
[처리 3]
제3 프로세스에 있어서, 제어 서버(20)를 통해 확장 서비스 프로토콜을 이용하는 프레임이 새롭게 들어온다. 이 경우, 입력된 포트 정보 및 테이블 검색의 결과가, 프레임과 함께, 스위칭 포워딩 회로부(112) 및 스위치 패브릭 공유 패킷 버퍼(113)를 통해 테이블 검색 결과 부가 회로부(114)에게 보내진다. 테이블 검색 결과 부가 회로부(114)는 입력된 포트 정보 및 테이블 검색의 결과를, 프레임 내에 저장하고, LAN 인터페이스(10G MAC)(106)를 통해 CPU(400)에 그대로 포워딩한다. 스위칭 포워딩 회로부(112)는, LAN 인터페이스(10G MAC)(106)를 통한 프레임 송신 시에 있어서, LAN의 플로우 제어 등으로 프레임을 송신할 수 없을 경우에, 스위치 패브릭 공유 패킷 버퍼(113) 내의 프레임을 버퍼링한다. 이에 따라, 입력되는 프레임의 부하가 접속된 CPU의 성능보다 높을 경우에, 프레임의 폐기를 최소한으로 억제될 수 있다.
[확장 네트워크 서비스의 이용시의 동작]
네트워크 스위치 포워딩 엔진(100)은, 종래 네트워크 서비스로 단말(1 내지 3)로부터 수신한 프레임을 처리할 수 없을 경우에, LAN 인터페이스(10G MAC)(106)를 통해 CPU(400)에 해당 프레임을 송신한다.
CPU(400)의 프레임 정보 해석 회로부(411)는 LAN 인터페이스(10G MAC)(401)를 통해 네트워크 스위치 포워딩 엔진(100)으로부터의 프레임을 수신한다. 프레임 정보 해석 회로부(411)는 프레임 내에 저장된 정보를 해석한다. 패킷 수신 처리부(431)는 패킷 형식으로 프레임 정보 해석 회로부(411)로부터 고속으로 프레임을 수신한다. 패킷 버퍼 처리부(432)는 프레임을 패킷 형식으로 버퍼링한다. 그 후에 서비스 처리 문의 회로부(433)는, 프레임에 대한 처리 수순을 확인하기 위해서, 제어 서버(20)에 대한 문의 처리를 행한다.
[제어 서버에의 문의 때의 동작]
서비스 처리 문의 회로부(433)에 의한 제어 서버(20)에 대한 문의 시에, 암호 처리 회로부(434)는, 필요에 따라서, 프레임의 암호화 처리를 행하고 오퍼레이팅 시스템(420)상의 TCP/IP 스택(422)을 이용하여 네트워크 드라이버(421)를 통해서 제어 서버(20)와의 통신을 개시한다.
네트워크 드라이버(421)가 프레임의 송신을 개시했을 때, 프레임 변환 회로부(412)는, 네트워크 스위치 포워딩 엔진(100)의 임의인 포트에 대하여 프레임을 송신하기 위해서, 프레임에 제어용의 헤더를 부가한다.
네트워크 스위치 포워딩 엔진(100)내 목적지 인식 회로부(115)는, 수신한 프레임의 제어용의 헤더를 인식하고, 제어용의 헤더를 떼어내고(삭제하고), 그 다음 스위칭 포워딩 회로부(112)를 통해 LAN 인터페이스(10G MAC)(104)의 지정된 포트에 프레임을 포워딩한다. 지정한 포트 앞에 제어 서버(20)가 접속되어 있다.
[제어 서버에서의 동작]
제어 서버(20)는, 스위칭 노드(10)에 대하여, 차회 이후에 (이 시간에서부터) 스위칭 노드(10)가 수신한 프레임을 최적인 경로로 포워딩하기 위한 제어나, 스위칭 노드(10)가 제어 서버(20)와 협력하기 위한 제어를 행하고, 그에 따라 네트워크 서비스를 향상시킨다.
제어 서버(20)는 오퍼레이팅 시스템(620)상의 네트워크 드라이버(621)에 의해 제어되는 LAN 인터페이스(10G MAC)(501)을 통해 스위칭 노드(10)로부터의 문의 프레임을 수신한다. TCP/IP 스택(622)은, 수신된 프레임을 처리하고, 이 프레임을 네트워크 프로토콜(630)의 패킷 송수신 처리부(631) 및 암호 처리 회로부(632)를 통해 확장 네트워크 서비스 처리부(633)로 보낸다.
확장 네트워크 서비스 처리부(633)는, 스위칭 노드(10)로부터의 문의 프레임상의 정보를 기초하여 프로토콜 처리를 실행하고, 프레임의 목적지 정보 및 프레임 제어 정보를, 오퍼레이팅 시스템(620), 네트워크 인터페이스(500)을 통해 스위칭 노드(10)에게 리턴한다.
[제어 서버로부터의 응답 후의 동작]
스위칭 노드(10)의 네트워크 스위치 포워딩 엔진(100)의 LAN 인터페이스(10G MAC)(104)는, 제어 서버(20)로부터 리턴된 프레임을 수신하고, 이것을 네트워크 스위치 포워딩 엔진(100) 및 LAN 인터페이스(10G MAC)(106)를 통해 오버헤드 없이 CPU(400)에게 송신한다.
CPU(400)에게 송신된 프레임은, LAN 인터페이스(10G MAC)(401), 프레임 정보 해석 회로부(411), 프레임 변환 회로부(412), 네트워크 드라이버(421), TCP/IP 스택(422), 암호 처리 회로부(434)를 통해 서비스 처리 문의 회로부(433)에게 보내진다.
송신된 프레임을 제어 콘텐츠에 따라 지정된 목적지로 포워딩할 때에, 서비스 처리 문의 회로부(433)는, PCI 익스프레스(PCI Express)가 아닌 LAN 인터페이스(10G MAC)(401)를 통해 프레임에 목적지 정보를 부가하고, 이 프레임을 네트워크 스위치 포워딩 엔진(100)에게 송신한다.
LAN 인터페이스(10G MAC)(106)는 서비스 처리 문의 회로부(433)로부터 프레임을 수신한다. 목적지 인식 회로부(115)는, 프레임의 목적지를 인식하고, 이 프레임을 스위칭 포워딩 회로부(112)에게 송신한다. 스위칭 포워딩 회로부(112)는 LAN 인터페이스(1G MAC)(101, 102, 103) 및 LAN 인터페이스(10G MAC)(104)를 통해 이 프레임을 지정된 목적지에게 포워딩한다.
제어 내용이 특정 프레임에 대한 제어 지시의 경우, 서비스 처리 문의 회로부(433)는, 확장 네트워크 서비스 설정부(435)에게 설정 정보를 송신한다. 확장 네트워크 서비스 설정부(435)는, 포워딩 엔진 드라이버(423), PCI DMA 제어부(424), PCI 익스프레스 엔드 포인트(PCI Express End Point)(402), 및 PCI 익스프레스(PCI Express) 스위치(200)를 이용하여 PCI 익스프레스(PCI Express) 스위치(200)를 통해 포워딩 테이블(109)의 설정 및 네트워크 스위치 포워딩 엔진(100)의 동작 설정 제어를 행한다.
제어에 관해서는, CPU(300)에서와 같이, PCI 익스프레스(PCI Express)를 이용함으로써 제한 없이 종래와 같이 설정을 용이하게 행하는 것을 가능하게 한다.
이상에서 설명한 바와 같이, 본 발명에 따르면, 10G레벨(전송 속도10Gbps)의 고속 인터페이스와, PCI 익스프레스(PCI Express) 베이스의 종래의 제어 인터페이스를 혼재시킴으로써, 외부의 제어 서버를 이용하고, 소프트웨어의 임팩트를 최소화하면서도 고속 고기능 서비스를 달성하는 스위칭 노드가 구성가능하다.
종래에는, 제어 정보에 대한 인터페이스로서 PCI 및 PCI 익스프레스(PCI Express)만이 사용되었다. 그러나, 본 발명에 따르면, 제어 서버를 외부에 제공함으로써, 및 제어 인터페이스상에서 고속 데이터의 교환을 가능하게 하기 위해서, LAN상에 제어 정보를 부가하고 PCI 익스프레스(PCI Express)에서의 제어 라인과 MAC헤더 정보에서의 프레임 전송 라인을 스위칭 노드에 구성함으로써, 종래의 네트워크 장치 내에서 행하고 있는 제어를, 외부에서 효율적으로 수행할 수 있다.
본 발명과 같이, 10G레벨의 고속 인터페이스와, PCI 익스프레스(PCI Express) 베이스의 종래의 제어 인터페이스를 혼재시킴으로써, 소프트웨어의 임팩트를 최소화하면서, 외부의 제어 서버를 이용하고, 고속 고기능 서비스를 달성하는 스위칭 노드의 구성이 가능하게 된다.
<본 발명의 응용>
또한, 본 발명은, 상기의 실시예에 한정되는 것이 아니라, 예를 들면 외부에 제어 서버를 이용하지 않는 구성에서 스위칭 노드의 기능 확장만을 행하는 장치에도 적용할 수 있다.
<요약>
본 발명은, 네트워크 스위칭 노드에 있어서, 종래의 서비스 프로토콜 처리의 성능 열화의 영향을 주는 일 없이도, 외부의 제어 서버를 이용하고, 보다 고속이고 고기능 서비스 프로토콜을 구성하는 노드 구성에 관한 것이다.
도 3에 있어서, 스위칭 노드(10), 제어 서버(20)로 구성되는 시스템에서, 제어 프레임은 스위칭 노드와 제어 서버 간에 고속으로 교환될 수 있고, 그에 의해 보다 고속 고기능 서비스 프로토콜 처리 기능을 제어 서버(20)상에 달성 수 있는 기능을 제공한다.
도 3에 있어서, 종래의 서비스의 경우에, 네트워크 포워딩 엔진(401)로부터 송신되는 제어 프레임은 PCI 익스프레스 엔드 포인트(PCI Express End Point)(105)의 인터페이스를 이용하여 CPU(300)에게 송신하고, 종래의 서비스 처리가 실행된다.
한편, 제어 서버가 이용되는 경우에, PCI 익스프레스(PCI Express)를 이용하지 않고, 네트워크 프레임의 송수신에 적합한 LAN 인터페이스(10G MAC)(106)를 이용하여 제어 프레임을 고속으로 송신한다.
CPU(400)는 제어 프레임을 수신하고, 암호화 처리는 프레임 처리를 행한 후, 다시 LAN 인터페이스(10G MAC)(401)를 통해, 제어 서버(20)에 제어 프레임을 송신하고, CPU(600)상으로 실행되는 확장 네트워크 서비스를 실행한다.
확장 네트워크 서비스를 실행하는 CPU(600)는 필요에 따라서 응답을 스위칭 노드(10)에게 리턴한다.
스위칭 노드(10)의 CPU(400)는, 응답 내용에 의해, LAN 인터페이스(10G MAC)(401), 또는, PCI 익스프레스 엔드 포인트(PCI Express End Point)(402) 중 어느 하나를 이용한다. 여기에서는, CPU(400)는, LAN 인터페이스(10G MAC)(401) 및 네트워크 스위치 포워딩 엔진(100)을 이용하여 패킷의 전송을 행하거나, PCI 익스프레스 엔드 포인트(PCI Express End Point)(402)을 이용하여, PCI 익스프레스(PCI Express) 스위치(200)를 통해 네트워크 스위치 포워딩 엔진(100)의 서비스에 대해 필요한 제어의 설정을 행한다.
따라서, 본 발명에 따르면, 종래의 네트워크 서비스에서 이용되는 PCI 익스프레스(PCI Express)가 이용되지 않기 때문에, 고속 패킷 송수신이 가능해서, 제어 서버(20)와 협력하는 고기능 고속 네트워크 서비스가 실현 가능해진다.
종래의 시스템 구성에서는, 스위칭 노드상에 한 개의 CPU만이 존재하고, 이 CPU가 모든 서비스 프로토콜에 관련된 처리를 실행한다. 종래의 시스템 구성에서는, 1개의 CPU는, PCI 익스프레스(PCI Express)를 통해 네트워크 스위치 포워딩 엔진에 접속되고, 네트워크 스위치 포워딩 엔진을 통해 외부의 제어 서버와 협력하여 동작한다. 즉, 종래의 시스템 구성에서는, 1개의 CPU(모든 내부 모듈)를 네트워크 스위치 포워딩 엔진(외부접속용 디바이스)과 접속하기 위해 이용되는 인터페이스는 PCI 익스프레스(PCI Express)뿐이기 때문에, 내부 모듈은 분배 및 우선 제어 처리에 필요한 리소스가 부족하다. PCI 익스프레스(PCI Express)의 제어가 지연되는 경우, 네트워크 스위치 포워딩 엔진의 CPU행인 패킷 큐의 오버플로, 패킷의 폐기, 서비스 품질의 열화가 발생한다.
반대로, 본 발명의 시스템 구성에서는, 네트워크 스위치 포워딩 엔진은 PCI 익스프레스(PCI Express)와 LAN 인터페이스를 구비한다.
입력되는 프레임의 종류에 따라서, 네트워크 스위치 포워딩 엔진은 종래 네트워크 서비스에 대해서는 PCI 익스프레스(PCI Express)로, 외부의 제어 서버와 제휴하는 확장 네트워크 서비스에 대해서는 LAN 인터페이스로 프레임의 목적지를 스위칭한다.
네트워크 스위치 포워딩 엔진은, LAN 인터페이스에게 프레임을 포워딩하는 경우에, 프레임에 검색 결과정보, 입력 포트 정보 등을 부가한다.
네트워크 스위치 포워딩 엔진의 LAN 인터페이스의 접속되는 오브젝트로서 PCI 익스프레스(PCI Express)와 LAN 인터페이스를 구비한 CPU가 제공된다.
이 CPU는 네트워크 스위치 포워딩 엔진으로 수신한 프레임에 대한 제어 서버에의 문의 정보를 취득하고, 오퍼레이션 시스템상의 네트워크 프로토콜에 영향을 주지 않도록 하기 위해서, 프레임의 정보 해석 및 변환을 행하고, PCI 익스프레스(PCI Express)가 아닌 LAN 인터페이스를 이용함으로써 프레임을 고속으로 송수신한다.
또한, 외부접속용 인터페이스와 같은 규격을 갖는 LAN 인터페이스(10G MAC)가 스위칭 노드 내부에서 이용되기 때문에, CPU와 네트워크 스위치 포워딩 엔진 사이에서, 및, 네트워크 스위치 포워딩 엔진과 외부의 제어 서버 사이에서, 같은 포맷의 프레임이 같은 통신 속도로 통과한다. 즉, 네트워크 스위치 포워딩 엔진은, 프레임의 정보 해석, 및 변환을 행하지 않고, CPU와 외부의 제어 서버 사이에서, 프레임을 그대로 전송할 수 있다.
상기 언급된 CPU는, 수신한 프레임이 외부의 제어 서버로부터의 응답이 있을 때까지 메모리에 유지하고, 제어 서버에 대하여 서비스의 문의를 행할 경우에, SSL등에서 이용되는 암호화 처리, TCP/IP등의 네트워크 프로토콜을 이용하고, LAN 인터페이스를 통해 외부의 제어 서버와 고속으로 통신을 행한다.
제어 서버는 LAN 인터페이스를 통해 스위칭 노드로부터 문의 프레임을 수신하고, 확장 네트워크 서비스를 실행하고, 스위칭 노드에 응답을 리턴한다.
스위칭 노드는 LAN 인터페이스를 통해 제어 서버로부터 응답을 얻은 후, 확장 네트워크 서비스에게 필요한 설정을, PCI 익스프레스(PCI Express)를 통해 네트워크 스위치 포워딩 엔진에 행한다.
<산업상의 이용 가능성>
본 발명은, 시큐러티 서버, 방화벽(firewall), 로드 평형 장치 등의 보다 고도의 서비스를 지원하는 네트워크 장치에도 적용될 수 있다. 그러나, 실제로는, 이들 예에 한정되지 않는다.
본 발명의 실시예를 상술되었지만, 실제로는, 본 발명은 상기의 실시예에 한정되는 것은 아니고, 본 발명의 요지를 일탈하지 않는 범위의 변경도 본 발명에 포함된다.
<비고>
또한, 본 출원은, 일본특허출원번호 제2010-036416호에 기초하는 우선권을 주장하며, 일본특허출원번호 제2010-036416호에서 개시된 내용이 참조로서 본 출원에 통합된다.

Claims (13)

  1. 통신제어 시스템으로서,
    제1 네트워크 서비스를 실행하도록 구성된 스위칭 노드와,
    제2 네트워크 서비스를 실행하도록 구성된 제어 서버
    를 포함하고,
    상기 스위칭 노드는,
    제1 프로세서와,
    제2 프로세서와,
    상기 제1 프로세서로의 프레임의 포워딩에 사용되는 PCI 익스프레스(PCI Express) 스위치와,
    상기 제어 서버로의 프레임의 포워딩을 위한 제1 LAN(Local Area Network) 인터페이스와,
    상기 제2 프로세서로의 프레임의 포워딩에 사용되는 제2 LAN(Local Area Network) 인터페이스와,
    플로우 테이블을 포함하도록 구성된 포워딩 엔진
    을 포함하고,
    상기 포워딩 엔진은,
    제1 프레임을 입력하고,
    상기 제1 프레임의 헤더에 포함된 적어도 하나의 데이터에 기초하여 상기 제1 프레임을 해석하고,
    상기 제1 프레임의 전송 목적지를 결정하기 위해, 상기 제1 프레임의 해석 결과에 따라 상기 플로우 테이블을 참조하고,
    상기 플로우 테이블을 참조한 결과가 상기 제1 네트워크 서비스를 나타내는 경우, 상기 제1 네트워크 서비스에 관한 상기 제1 프레임을 상기 제1 프로세서에서 내부 처리를 위해 상기 PCI 익스프레스 스위치에 포워딩하고,
    상기 플로우 테이블을 참조한 결과가 상기 제2 네트워크 서비스를 나타내는 경우, 상기 제2 네트워크 서비스에 관한 상기 제1 프레임을 상기 제2 프로세서에 출력하기 위해 상기 제2 LAN 인터페이스에 포워딩하고,
    상기 제2 프로세서는,
    제2 프레임을 입력하고,
    상기 제2 LAN 인터페이스, 상기 포워딩 엔진, 및 상기 제1 LAN 인터페이스를 통해 상기 제어 서버에 상기 제2 프레임을 출력하고,
    상기 제2 프레임에 기초하여 상기 제어 서버에 의해 제어되는 상기 플로우 테이블의 설정을 제어하는 통신제어 시스템.
  2. 삭제
  3. 제1항에 있어서,
    상기 제2 프로세서는,
    상기 제1 LAN 인터페이스 및 상기 제2 LAN 인터페이스를 통해 상기 포워딩 엔진으로부터 수신한 프레임에 대하여, 상기 제어 서버에 문의하기 위한 정보를 취득하고, 상기 프레임의 정보 해석 및 변환을 행하는 수단과,
    상기 수신한 프레임에 대해서, 상기 제1 LAN 인터페이스, 상기 제2 LAN 인터페이스 및 상기 포워딩 엔진을 통해 상기 제어 서버에의 문의를 행하고, 상기 제어 서버로부터 응답을 수신했을 경우, 상기 PCI 익스프레스 스위치를 통해, 상기 포워딩 엔진에 대하여, 상기 제2 네트워크 서비스에 관한 설정을 구성하는 수단
    을 포함하는 통신제어 시스템.
  4. 삭제
  5. 제1 네트워크 서비스를 실행하도록 구성된 스위칭 노드로서,
    제1 프로세서와,
    제2 프로세서와,
    상기 제1 프로세서로의 프레임의 포워딩에 사용되는 PCI 익스프레스 스위치와,
    제2 네트워크 서비스를 실행하도록 구성된 제어 서버로의 프레임의 포워딩을 위한 제1 LAN 인터페이스와,
    상기 제2 프로세서로의 프레임의 포워딩에 사용되는 제2 LAN 인터페이스와,
    플로우 테이블을 포함하도록 구성된 포워딩 엔진
    을 포함하고,
    상기 포워딩 엔진은,
    제1 프레임을 입력하고,
    상기 제1 프레임의 헤더에 포함된 적어도 하나의 데이터에 기초하여 상기 제1 프레임을 해석하고,
    상기 제1 프레임의 전송 목적지를 결정하기 위해, 상기 제1 프레임의 해석 결과에 따라 상기 플로우 테이블을 참조하고,
    상기 플로우 테이블을 참조한 결과가 상기 제1 네트워크 서비스를 나타내는 경우, 상기 제1 네트워크 서비스에 관한 상기 제1 프레임을 상기 제1 프로세서에서 내부 처리를 위해 상기 PCI 익스프레스 스위치에 포워딩하고,
    상기 플로우 테이블을 참조한 결과가 상기 제2 네트워크 서비스를 나타내는 경우, 상기 제2 네트워크 서비스에 관한 상기 제1 프레임을 상기 제2 프로세서에 출력하기 위해 상기 제2 LAN 인터페이스에 포워딩하고,
    상기 제2 프로세서는,
    제2 프레임을 입력하고,
    상기 제2 LAN 인터페이스, 상기 포워딩 엔진 및 상기 제1 LAN 인터페이스를 통해 상기 제어 서버에 상기 제2 프레임을 출력하고,
    상기 제2 프레임에 기초하여 상기 제어 서버에 의해 제어되는 상기 플로우 테이블의 설정을 제어하는 스위칭 노드.
  6. 삭제
  7. 제5항에 있어서,
    상기 제2 프로세서는,
    상기 제1 LAN 인터페이스 및 상기 제2 LAN 인터페이스를 통해 상기 포워딩 엔진으로부터 수신한 프레임에 대하여, 상기 제어 서버에 문의하기 위한 정보를 취득하고, 상기 프레임의 정보 해석 및 변환을 행하는 수단과,
    상기 수신한 프레임에 대해서, 상기 제1 LAN 인터페이스, 상기 제2 LAN 인터페이스 및 상기 포워딩 엔진을 통해 상기 제어 서버에의 문의를 행하고, 상기 제어 서버로부터 응답을 수신했을 경우, 상기 PCI 익스프레스 스위치를 통해, 상기 포워딩 엔진에 대하여, 상기 제2 네트워크 서비스에 관한 설정을 구성하는 수단
    을 포함하는 스위칭 노드.
  8. 삭제
  9. 통신제어 방법으로서,
    제1 네트워크 서비스를 실행하도록 구성된 스위칭 노드 상의 포워딩 엔진에 의해, 입력 프레임의 종류를 확인하는 단계 - 상기 스위칭 노드는 제1 프로세서와, 제2 프로세서와, 상기 제1 프로세서로의 프레임의 포워딩에 사용되는 PCI 익스프레스 스위치와, 제2 네트워크 서비스를 실행하도록 구성된 제어 서버로의 프레임의 포워딩을 위한 제1 LAN 인터페이스와, 상기 제2 프로세서로의 프레임의 포워딩에 사용되는 제2 LAN 인터페이스와, 플로우 테이블을 포함하도록 구성된 포워딩 엔진을 포함함 - 와,
    상기 입력 프레임이 제1 네트워크 서비스에 관한 프레임이면, 상기 입력 프레임을 상기 제1 프로세서에서의 내부 처리를 위한 상기 PCI 익스프레스 스위치에 포워딩하는 단계와,
    상기 입력 프레임이 제2 네트워크 서비스에 관한 프레임이면, 상기 입력 프레임을 상기 제2 프로세서에 출력하기 위해 상기 제1 LAN 인터페이스 및 상기 제2 LAN 인터페이스에 포워딩하는 단계
    를 포함하고,
    상기 포워딩 엔진은,
    제1 프레임을 입력하고,
    상기 제1 프레임의 헤더에 포함된 적어도 하나의 데이터에 기초하여 상기 제1 프레임을 해석하고,
    상기 제1 프레임의 전송 목적지를 결정하기 위해, 상기 제1 프레임의 해석 결과에 따라 상기 플로우 테이블을 참조하고,
    상기 플로우 테이블을 참조한 결과가 상기 제1 네트워크 서비스를 나타내는 경우, 상기 제1 네트워크 서비스에 관한 상기 제1 프레임을 상기 제1 프로세서에서 내부 처리를 위해 상기 PCI 익스프레스 스위치에 포워딩하고,
    상기 플로우 테이블을 참조한 결과가 상기 제2 네트워크 서비스를 나타내는 경우, 상기 제2 네트워크 서비스에 관한 상기 제1 프레임을 상기 제2 프로세서에 출력하기 위해 상기 제2 LAN 인터페이스에 포워딩하고,
    상기 제2 프로세서는,
    제2 프레임을 입력하고,
    상기 제2 LAN 인터페이스, 상기 포워딩 엔진 및 상기 제1 LAN 인터페이스를 통해 상기 제어 서버에 상기 제2 프레임을 출력하고,
    상기 제2 프레임에 기초하여 상기 제어 서버에 의해 제어되는 상기 플로우 테이블의 설정을 제어하는 통신제어 방법.
  10. 삭제
  11. 제9항에 있어서,
    상기 제2 프로세서에 의해, 상기 제1 LAN 인터페이스 및 상기 제2 LAN 인터페이스를 통해 상기 포워딩 엔진으로부터 수신한 프레임에 대하여, 상기 제어 서버에 문의하기 위한 정보를 취득하고, 상기 프레임의 정보 해석 및 변환을 행하는 단계와,
    상기 제2 프로세서에 의해, 상기 수신한 프레임에 대해서, 상기 제1 LAN 인터페이스, 상기 제2 LAN 인터페이스 및 상기 포워딩 엔진을 통해 상기 제어 서버에의 문의를 행하고, 상기 제어 서버로부터 응답을 수신했을 경우, 상기 PCI 익스프레스 스위치를 통해, 상기 포워딩 엔진에 대하여, 상기 제2 네트워크 서비스의 설정을 구성하는 단계
    를 더 포함하는 통신제어 방법.
  12. 삭제
  13. 기억 매체로서,
    스위칭 노드로 하여금 제9항에 따른 통신제어 방법을 실행하도록 야기하는 통신제어 프로그램을 포함하는 기억 매체.
KR1020127022015A 2010-02-22 2011-02-18 통신제어 시스템, 스위칭 노드, 통신제어 방법, 및 통신제어용 프로그램 KR101401874B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JPJP-P-2010-036416 2010-02-22
JP2010036416 2010-02-22
PCT/JP2011/053569 WO2011102488A1 (ja) 2010-02-22 2011-02-18 通信制御システム、スイッチングノード、通信制御方法、及び通信制御用プログラム

Publications (2)

Publication Number Publication Date
KR20120123465A KR20120123465A (ko) 2012-11-08
KR101401874B1 true KR101401874B1 (ko) 2014-05-29

Family

ID=44483073

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020127022015A KR101401874B1 (ko) 2010-02-22 2011-02-18 통신제어 시스템, 스위칭 노드, 통신제어 방법, 및 통신제어용 프로그램

Country Status (7)

Country Link
US (1) US9047416B2 (ko)
EP (1) EP2541843B1 (ko)
JP (1) JP5467541B2 (ko)
KR (1) KR101401874B1 (ko)
CN (1) CN102771093B (ko)
TW (1) TWI436626B (ko)
WO (1) WO2011102488A1 (ko)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013023704A1 (en) * 2011-08-18 2013-02-21 Telefonaktiebolaget L M Ericsson (Publ) Centralized control of data plane applications
KR20140106235A (ko) * 2013-02-26 2014-09-03 한국전자통신연구원 오픈플로우 스위치 및 그 패킷 처리 방법
JP6191166B2 (ja) * 2013-03-01 2017-09-06 日本電気株式会社 Sdnネットワークシステム、コントローラ装置及びそれらに用いる通信量削減方法
CN104158916A (zh) * 2013-05-13 2014-11-19 中兴通讯股份有限公司 设备接入网络的方法和装置
KR102147629B1 (ko) 2013-11-18 2020-08-27 삼성전자 주식회사 플렉시블 서버 시스템
JPWO2016136223A1 (ja) * 2015-02-25 2017-12-21 日本電気株式会社 インターコネクション装置、管理装置、リソース分離型コンピュータシステム、方法、及び、プログラム
WO2018159677A1 (ja) * 2017-03-01 2018-09-07 日本電信電話株式会社 データ処理装置、ネットワークシステム、パケット順序制御回路、およびデータ処理方法
CN107182069B (zh) * 2017-05-23 2020-06-26 深圳市微网力合信息技术有限公司 无线路由器传输速率切换方法、控制方法及无线路由器
WO2019036217A1 (en) 2017-08-18 2019-02-21 Missing Link Electronics, Inc. HETEROGENEOUS TRANSPORT BASED ON PACKETS
US11356388B2 (en) 2017-08-18 2022-06-07 Missing Link Electronics, Inc. Real-time multi-protocol heterogeneous packet-based transport
US20200304368A1 (en) * 2019-03-20 2020-09-24 Arista Networks, Inc. Accessing processing devices of a network device
CN115687221A (zh) * 2021-07-22 2023-02-03 智原微电子(苏州)有限公司 高速周边组件互连的事务层电路及其操作方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060045489A (ko) * 2004-04-28 2006-05-17 마이크로소프트 코포레이션 구성가능 pci 익스프레스 스위치 및 그 제어 방법
JP2007219873A (ja) * 2006-02-17 2007-08-30 Nec Corp スイッチ及びネットワークブリッジ装置

Family Cites Families (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7167927B2 (en) * 1997-10-14 2007-01-23 Alacritech, Inc. TCP/IP offload device with fast-path TCP ACK generating and transmitting mechanism
US6434620B1 (en) * 1998-08-27 2002-08-13 Alacritech, Inc. TCP/IP offload network interface device
US5941969A (en) * 1997-10-22 1999-08-24 Auspex Systems, Inc. Bridge for direct data storage device access
US7274706B1 (en) * 2001-04-24 2007-09-25 Syrus Ziai Methods and systems for processing network data
CN1125545C (zh) 2001-12-31 2003-10-22 刘军民 实现局域网虚通道传送的数据转发方法
US7188209B2 (en) * 2003-04-18 2007-03-06 Nextio, Inc. Apparatus and method for sharing I/O endpoints within a load store fabric by encapsulation of domain information in transaction layer packets
US7451197B2 (en) * 2003-05-30 2008-11-11 Intel Corporation Method, system, and article of manufacture for network protocols
CN1620047A (zh) * 2003-11-18 2005-05-25 华为技术有限公司 以太网交换机和路由器的统一平台系统
US7657706B2 (en) * 2003-12-18 2010-02-02 Cisco Technology, Inc. High speed memory and input/output processor subsystem for efficiently allocating and using high-speed memory and slower-speed memory
US7533176B2 (en) * 2004-07-14 2009-05-12 International Business Machines Corporation Method for supporting connection establishment in an offload of network protocol processing
US9264384B1 (en) * 2004-07-22 2016-02-16 Oracle International Corporation Resource virtualization mechanism including virtual host bus adapters
US8438265B2 (en) * 2004-11-04 2013-05-07 International Business Machines Corporation Method of offloading iSCSI PDU corruption-detection digest generation from a host processing unit, and related iSCSI offload engine
JP2006202210A (ja) 2005-01-24 2006-08-03 Toshiba Corp 情報処理装置、サービス公開方法及びプログラム
US7480303B1 (en) * 2005-05-16 2009-01-20 Pericom Semiconductor Corp. Pseudo-ethernet switch without ethernet media-access-controllers (MAC's) that copies ethernet context registers between PCI-express ports
US20080304481A1 (en) * 2005-07-12 2008-12-11 Paul Thomas Gurney System and Method of Offloading Protocol Functions
JP2008020977A (ja) * 2006-07-11 2008-01-31 Sony Computer Entertainment Inc ネットワークプロセッサシステムおよびネットワークプロトコル処理方法
US7487284B2 (en) * 2006-07-28 2009-02-03 Intel Corporation Transaction flow and ordering for a packet processing engine, located within an input-output hub
JP4998469B2 (ja) * 2006-08-09 2012-08-15 日本電気株式会社 インターコネクション用スイッチおよびシステム
JP4501916B2 (ja) * 2006-09-20 2010-07-14 日本電気株式会社 I/o機器の共有システムと情報処理装置共有システム及びそれらに用いる方法
US7734859B2 (en) * 2007-04-20 2010-06-08 Nuon, Inc Virtualization of a host computer's native I/O system architecture via the internet and LANs
KR20080102768A (ko) * 2007-05-22 2008-11-26 삼성전자주식회사 무선 hdmi cec에서 패킷 생성 방법
US8683110B2 (en) * 2007-08-23 2014-03-25 Nec Corporation I/O system and I/O control method
US8072894B2 (en) * 2007-11-07 2011-12-06 Juniper Networks, Inc. Systems and methods for flow monitoring
US20100002714A1 (en) * 2008-07-01 2010-01-07 George Madathilparambil George PCI express network
JP5380978B2 (ja) * 2008-09-26 2014-01-08 富士通株式会社 伝送装置、伝送装置の制御方法および伝送装置の制御プログラム
US9213662B2 (en) * 2008-11-13 2015-12-15 Nec Corporation I/O bus system
US9256560B2 (en) * 2009-07-29 2016-02-09 Solarflare Communications, Inc. Controller integration
KR20120012354A (ko) * 2010-07-31 2012-02-09 주식회사 에세텔 부하 절감형 toe 네트워크 장치
CN102821082A (zh) * 2011-06-10 2012-12-12 成都市华为赛门铁克科技有限公司 一种数据传输方法、装置和系统
US9172557B2 (en) * 2012-08-17 2015-10-27 International Business Machines Corporation Load balancing overlay network traffic using a teamed set of network interface cards
CN103023824B (zh) * 2012-12-11 2015-08-26 华为技术有限公司 基于周边组件接口快速通道PCIe的数据传输系统及方法
CN103036817A (zh) * 2012-12-14 2013-04-10 华为技术有限公司 一种服务器单板、服务器单板实现方法及主处理器
US8891542B2 (en) * 2012-12-19 2014-11-18 International Business Machines Corporation Unified system networking with CEE-PCIe tunneling
WO2014172869A1 (zh) * 2013-04-25 2014-10-30 华为技术有限公司 一种在虚拟局域网中通信的方法、设备和系统

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060045489A (ko) * 2004-04-28 2006-05-17 마이크로소프트 코포레이션 구성가능 pci 익스프레스 스위치 및 그 제어 방법
JP2007219873A (ja) * 2006-02-17 2007-08-30 Nec Corp スイッチ及びネットワークブリッジ装置

Also Published As

Publication number Publication date
EP2541843A4 (en) 2013-09-25
JP5467541B2 (ja) 2014-04-09
EP2541843B1 (en) 2014-11-19
US20130086295A1 (en) 2013-04-04
TWI436626B (zh) 2014-05-01
US9047416B2 (en) 2015-06-02
CN102771093B (zh) 2014-12-10
TW201218708A (en) 2012-05-01
EP2541843A1 (en) 2013-01-02
CN102771093A (zh) 2012-11-07
KR20120123465A (ko) 2012-11-08
JPWO2011102488A1 (ja) 2013-06-17
WO2011102488A1 (ja) 2011-08-25

Similar Documents

Publication Publication Date Title
KR101401874B1 (ko) 통신제어 시스템, 스위칭 노드, 통신제어 방법, 및 통신제어용 프로그램
US20210051045A1 (en) Communication switching apparatus for switching data in multiple protocol data frame formats
KR101559644B1 (ko) 통신 제어 시스템, 스위치 노드 및 통신 제어 방법
JP5962808B2 (ja) スイッチシステム、スイッチ制御方法、及び記憶媒体
JP6188093B2 (ja) 通信トラフィック処理アーキテクチャおよび方法
JP5557066B2 (ja) スイッチシステム、モニタリング集中管理方法
US8904028B2 (en) Scalable cluster router
US7417953B2 (en) Port re-enabling by monitoring link status
EP2615782A1 (en) Computer system and communication method in computer system
EP2003823B1 (en) Autonegotiation over an interface for which no autonegotiation standard exists
US9088432B2 (en) Remote control system, remote control method and program for remote control
US9959234B2 (en) MultiGig solution on conventional SGMII and XFI capable system
CN109787877B (zh) 箱型交换机、网络接口卡、及封包转送的管理方法

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

Year of fee payment: 4

LAPS Lapse due to unpaid annual fee