KR20150097663A - 패킷 처리 장치, 플로 엔트리 배치 방법 및 프로그램 - Google Patents

패킷 처리 장치, 플로 엔트리 배치 방법 및 프로그램 Download PDF

Info

Publication number
KR20150097663A
KR20150097663A KR1020157019071A KR20157019071A KR20150097663A KR 20150097663 A KR20150097663 A KR 20150097663A KR 1020157019071 A KR1020157019071 A KR 1020157019071A KR 20157019071 A KR20157019071 A KR 20157019071A KR 20150097663 A KR20150097663 A KR 20150097663A
Authority
KR
South Korea
Prior art keywords
entry
priority
flow
group
new flow
Prior art date
Application number
KR1020157019071A
Other languages
English (en)
Other versions
KR101746316B1 (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 KR20150097663A publication Critical patent/KR20150097663A/ko
Application granted granted Critical
Publication of KR101746316B1 publication Critical patent/KR101746316B1/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/64Hybrid switching systems
    • H04L12/6418Hybrid transport
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/54Organization of routing tables
    • 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
    • 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
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W72/00Local resource management
    • H04W72/50Allocation or scheduling criteria for wireless resources
    • H04W72/56Allocation or scheduling criteria for wireless resources based on priority criteria
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

본 발명은 플로 엔트리들이 우선순위 순으로 배열되고 유지되는 패킷 처리 장치에서 신규 플로 엔트리가 등록될 때의 정렬 비용을 저감시킨다. 패킷 처리 장치는: 플로 엔트리들이 우선순위 그룹들의 순으로 할당되는 영역들에 저장될 수 있는 플로 테이블; 소정의 제어 장치로부터 신규 플로 엔트리를 수신한 경우, 상기 신규 플로 엔트리가 상기 복수의 우선순위 그룹 중 어느 우선순위 그룹에 속하는지에 및 상기 우선순위 그룹 내에서의 위치를 결정하기 위해 사용되는 제2 레벨 우선순위에 따라 상기 플로 테이블에서의 저장 위치를 결정하는 엔트리 관리부; 및 상기 플로 테이블의 선두로부터 스캔하고, 수신 패킷과 일치하는 매칭 조건(들)을 갖는 엔트리를 검색하고, 상기 수신 패킷에 적용될 처리를 결정하는 엔트리 검색부를 구비한다.

Description

패킷 처리 장치, 플로 엔트리 배치 방법 및 프로그램{PACKET PROCESSING DEVICE, FLOW ENTRY ARRANGEMENT METHOD AND PROGRAM}
[관련 출원에 대한 참조]
본 출원은 일본 특허 출원 번호 제2012-276734호(2012년 12월 19일 출원)로부터 우선권을 주장하며, 이 일본 출원의 내용은 그 전체가 참조에 의해 본 명세서에 통합된다.  본 발명은 패킷 처리 장치, 플로 엔트리의 배치 방법 및 프로그램에 관한 것으로, 특히 복수의 플로 엔트리를 유지해서 패킷을 처리하는 패킷 처리 장치, 플로 엔트리의 배치 방법 및 프로그램에 관한 것이다.
비특허문헌 1 및 2는 OpenFlow라고 알려진 기술을 제안하고 있다. OpenFlow에서, 통신을 엔드 투 엔드 플로(end-to-end flow)로서 파악하고, 경로 제어, 장해 회복, 부하 분산, 및 최적화가 플로 단위로 행해진다. 비특허문헌 2에 식별되는 OpenFlow는 OpenFlow 컨트롤러와의 통신용의 보안 채널을 구비하고, 또한 부가 또는 재기입이 OpenFlow 컨트롤러에 의해 적절히 지시되는 플로 테이블을 따라 동작한다. 플로 테이블에는, 플로마다, 패킷 헤더들과 대조하는 매칭 조건들(Match Fields), 플로 통계 정보(Counters), 및 처리 내용을 정의하는 인스트럭션들(Instructions)의 세트들의 정의들이 있다(비특허문헌 2의 「5.2 Flow Table」 참조).
예를 들어, OpenFlow 스위치가 패킷을 수신하면, 플로 테이블로부터, 수신 패킷의 헤더 정보와 일치하는 매칭 조건(비특허문헌 2의 「5.3 Matching」 참조)을 갖는 엔트리에 대한 탐색이 이루어진다. 탐색 결과, 수신 패킷과 일치하는 엔트리가 발견된 경우, OpenFlow 스위치는 플로 통계 정보(Counters)를 갱신하고, 또한 수신 패킷에 대하여 당해 엔트리의 인스트럭션 필드에 기술되는 처리 내용(지정 포트로부터의 패킷 송신, 플러딩, 폐기 등)을 실시한다. 한편, 탐색 결과, 수신 패킷과 일치하는 엔트리가 발견되지 않은 경우, OpenFlow 스위치는 보안 채널을 경유하여 OpenFlow 컨트롤러에게 엔트리 설정의 요구, 즉 수신 패킷을 처리하기 위한 제어 정보의 송신 요구를 송신한다. OpenFlow 스위치는 처리 내용에 의해 정해지는 플로 엔트리를 수신하고 플로 테이블을 갱신한다. 이런 방식으로, OpenFlow 스위치는 플로 테이블에 저장된 엔트리들을 제어 정보로서 이용하여 패킷 포워딩을 실행한다.
특허문헌 1에는, 네트워크로부터 정보를 수집하는 정보 저장 수단, 정보의 우선순위를 판정할 우선순위 판정 수단, 정보에 대해서 사용자의 관심에 따른 중요도를 판정하는 중요도 결정 수단, 사용자의 관심을 나타내는 정보를 관리하는 관심 정보 관리 수단, 우선순위에 따라서 정보의 출력 및 저장을 판정할 우선순위 비교 수단, 정보를 높은 중요도 순으로 정렬하는 정렬 수단, 정보를 중요도에 따른 상세도로 변환하는 상세도 결정 수단, 간략화 정보를 생성하는 간략화 수단, 저장된 정보를 배열하는 이력 관리 수단, 수집된 정보를 저장하는 정보 저장 수단, 출력된 정보의 우선순위들을 기록하는 우선순위 모니터링 수단, 및 단말에의 수집된 정보의 출력 및 네트워크로부터의 정보 수집의 타이밍을 제어하는 제시 타이밍 제어 수단을 구비하고, 네트워크로부터 수집된 정보를 적절한 타이밍과 분량으로 제시하는 정보 제시 장치가 개시되어 있다.
또한, 특허문헌 2에는, ATM 스위칭 장치에 저장되는 ATM 셀들을, 이 셀들의 데드라인들에 따른 관리를 실행하면서 송신하기 위한 버퍼 제어용 시프트 레지스터(우선순위 처리 기능을 갖는 시프트 레지스터)가 개시되어 있다.
특허문헌1: 특개평 9-81099호 공보 특허문헌2: 특개평 7-254906호 공보
비특허문헌1: Nick McKeown 이외 7명, "OpenFlow: Enabling Innovation in Campus Networks", [online], [Search performed on November 24, 2012], Internet <URL: http://www.openflow.org/documents/openflow-wp-latest.pdf> 비특허문헌2:"Openflow Switch Specification" Version 1.3.1 Implemented (Wire Protocol 0x04), [online], [Search performed on December 11, 2012], Internet<URL:https://www.opennetworking.org/images/stories/downloads/specification/openflow-spec-v1.3.1.pdf>
이하의 분석은 본 발명에 의해 주어진 것이다. 비특허문헌 1 및 2의 OpenFlow에 있어서, 플로 엔트리들이 우선순위 순으로 배열되고 유지되고, 또한 플로 엔트리들의 검색을 고속으로 실행하는 것이 알려져 있다.
OpenFlow 컨트롤러로부터 신규 플로 엔트리를 수신하면, 상기 기술된 기능성을 갖는 OpenFlow 스위치는 다음과 같이 플로 테이블에 신규 플로 엔트리를 저장한다. 먼저, OpenFlow는 기존의 플로 엔트리들의 우선순위와 신규 플로 엔트리의 우선순위를 비교한다. 상기 비교의 결과로서, OpenFlow는 신규 플로 엔트리에 가장 가까운, 높은 우선순위측의 플로 엔트리와 낮은 우선순위측의 플로 엔트리를 검출한다. 이후, OpenFlow는 이들 2개의 플로 엔트리가 등록된 로케이션들을 계산하고, 신규 플로 엔트리를 이들 사이의 중간 위치에 저장한다.
이때, 2개의 플로 엔트리가 플로 테이블에서 연속적으로 저장되어 있고 중간 위치에 빈 영역이 없는 경우가 있을 수 있다. 이 경우, OpenFlow 스위치는 저장 위치에 가장 가까운 빈 영역을 탐색하고, 소정 엔트리 수만큼 기존 플로 엔트리들의 저장 위치들을 시프트시키는 처리를 실행한다. 이때의 시프트량은 예를 들어 시프트 타깃의 빈 영역의 사이즈에 따라 결정된다.
따라서, 신규 플로 엔트리들의 우선순위들이 특정 값에 편의된 경우 플로 테이블 내에서의 플로 엔트리들의 정렬 빈도가 증가한다는 문제점이 있다. 또한, 신규 플로 엔트리의 우선순위에 의존하여 1회의 플로 엔트리 등록 시에 플로 엔트리들의 시프팅에 기인한 다량의 정렬이 생겨서, 정렬을 위한 처리 시간이 증가하고 신규 플로 엔트리의 등록에 필요한 시간이 증가한다는 문제점이 있다.
본 발명은 상기 기술된 OpenFlow로 대표되는 바와 같이 플로 엔트리들이 우선순위 순으로 배열되고 유지되는 패킷 처리 장치에 있어서 신규 플로 엔트리의 등록 시의 정렬 비용의 저감에 기여할 수 있는 패킷 처리 장치, 플로 엔트리의 배치 방법 및 프로그램을 제공하는 것을 목적으로 한다.
제1 양태에 의하면, 플로 엔트리들이 우선순위 그룹들의 순으로 할당되는 영역들에 저장될 수 있는 플로 테이블; 소정의 제어 장치로부터 신규 플로 엔트리를 수신한 경우, 상기 신규 플로 엔트리가 상기 복수의 우선순위 그룹 중 어느 우선순위 그룹에 속하는지에 및 상기 우선순위 그룹 내에서의 위치를 결정하기 위해 사용되는 제2 레벨 우선순위에 따라 상기 플로 테이블에서의 저장 위치를 결정하는 엔트리 관리부; 및 상기 플로 테이블의 선두로부터 스캔하고, 수신 패킷과 일치하는 매칭 조건을 갖는 엔트리를 검색하고, 상기 수신 패킷에 적용될 처리를 결정하는 엔트리 검색부를 구비한 패킷 처리 장치가 제공된다.
제2 양태에 의하면, 플로 엔트리들이 우선순위 그룹의 순으로 할당되는 영역들에 저장될 수 있는 플로 테이블, 상기 플로 테이블의 선두로부터 스캔하고, 수신 패킷과 일치하는 매칭 조건을 갖는 엔트리를 검색하고, 상기 수신 패킷에 적용될 처리를 결정하는 엔트리 검색부를 포함하는 패킷 처리 장치에 있어서의 플로 엔트리의 배치 방법이 제공되는데, 이 방법은 소정의 제어 장치로부터 신규 플로 엔트리를 수신한 경우, 상기 신규 플로 엔트리에 포함되는 우선순위 정보에 기초하여, 상기 신규 플로 엔트리가 속하는 우선순위 그룹을 판별하는 단계, 상기 신규 플로 엔트리에 포함되는 우선순위 정보에 기초하여, 상기 판별된 우선순위 그룹 내에서의 위치를 결정하는 데에 사용되는 제2 레벨 우선순위를 판별하는 단계, 및 상기 플로 테이블에서의 상기 우선순위 그룹과 상기 제2 레벨 우선순위에 대응하는 영역에 상기 신규 플로 엔트리를 저장하는 단계를 포함한다. 본 방법은, 플로 엔트리들이 우선순위 순으로 배열되고 유지되는 패킷 처리 장치로 알려진 식별 메커니즘과 결부된다.
제3 양태에 의하면, 플로 엔트리들이 우선순위 그룹의 순으로 할당되는 영역들에 저장될 수 있는 플로 테이블, 및 상기 플로 테이블의 선두로부터 스캔하고, 수신 패킷과 일치하는 매칭 조건을 갖는 엔트리를 검색하고, 및 상기 수신 패킷에 적용될 처리를 결정하는 엔트리 검색부를 포함하는 패킷 처리 장치에 탑재되는 컴퓨터상에서 실행되는 프로그램이 제공되는데, 이 프로그램은 소정의 제어 장치로부터 신규 플로 엔트리를 수신한 경우, 상기 신규 플로 엔트리에 포함되는 우선순위 정보에 기초하여, 상기 신규 플로 엔트리가 속하는 우선순위 그룹을 판별하는 처리; 상기 신규 플로 엔트리에 포함되는 우선순위 정보에 기초하여, 상기 판별된 우선순위 그룹 내에서의 위치를 결정하는 데에 사용되는 제2 레벨 우선순위를 판별하는 처리; 및 상기 플로 테이블에서의 상기 우선순위 그룹과 상기 제2 레벨 우선순위에 대응하는 영역에 상기 신규 플로 엔트리를 저장하는 처리를 실행한다. 이 프로그램은 컴퓨터 판독 가능 (비 일시적) 저장 매체상에 기록될 수 있다. 즉, 본 발명은 컴퓨터 프로그램 제품으로서 구현될 수 있다.
본 발명에 따르면, 플로 엔트리들이 우선순위 순으로 배열되고 유지되는 패킷 처리 장치에 있어서 신규 플로 엔트리가 등록될 때의 정렬 비용을 저감하는 것이 가능하게 된다.
도 1은 본 발명의 제1 예시적 실시예의 패킷 처리 장치의 구성을 도시하는 도면이다.
도 2는 본 발명의 제1 예시적 실시예의 패킷 처리 장치의 상세 구성을 도시하는 도면이다.
도 3은 본 발명의 제1 예시적 실시예의 패킷 처리 장치의 엔트리 검색부에 유지되는 플로 테이블의 일례를 도시하는 도면이다.
도 4는 본 발명의 제1 예시적 실시예의 패킷 처리 장치의 엔트리 관리부에 유지되는 엔트리 관리 테이블의 일례를 도시하는 도면이다.
도 5는 도 3의 엔트리 관리 테이블과 도 4의 플로 테이블 간의 대응 관계들을 도시하는 도면이다.
도 6은 본 발명의 제1 예시적 실시예의 동작을 나타내는 시퀀스 도이다.
도 7은 도 5에 도시된 상태에 있어서 신규 플로 엔트리 F를 새롭게 수신한 경우에 제각기 테이블들의 변화(시프트 불필요)를 나타내는 도면이다.
도 8은 도 6의 단계 S003에 있어서 엔트리의 시프트 처리가 필요한 것을 판정하는 경우의 동작을 나타내는 시퀀스 도이다.
도 9는 도 7에 도시된 상태에 있어서 신규 플로 엔트리 G를 새롭게 수신한 경우에 제각기 테이블들의 변화(시프트 필요)를 나타내는 도면이다.
도 10은 도 9에 연속하는 도면이다.
도 11은 도 10에 연속하는 도면이다.
먼저, 본 발명의 예시적 실시예들의 개요에 대해서 도면을 참조하여 설명한다. 이 개요에 부기한 도면 참조 부호들은 이해를 돕기 위한 일례로서 제각기의 요소들에 편의상 더해진 것이며, 본 발명을 도면들에 예시된 형태들에 한정하고자 의도하지 않았다는 것을 유의해야 한다.
본 발명은, 그 예시적 실시예에 있어서, 엔트리 관리부(도 1의 22)와, 플로 테이블(도 1의 211)을 그 선두로부터 스캔하고, 수신 패킷과 일치하는 매칭 조건을 갖는 엔트리를 검색하고, 상기 수신 패킷에 적용될 처리를 결정하는 엔트리 검색부(도 1의 21)를 구비한 패킷 처리 장치에 의해 실현될 수 있다.
보다 구체적으로는, 플로 테이블(도 1의 211)은 우선순위 그룹들의 순으로 할당된 영역들에 플로 엔트리들을 저장할 수 있다. 소정의 제어 장치(도 1의 10)로부터 신규 플로 엔트리를 수신한 경우, 엔트리 관리부(도 1의 22)는 신규 플로 엔트리가 상기 복수의 우선순위 그룹 중 어느 우선순위 그룹에 속하는지에 및 상기 우선순위 그룹 내에서의 위치를 결정하는 제2 레벨 우선순위에 따라서 상기 플로 테이블에서의 저장 위치를 결정한다.
전술한 바와 같이, 플로 테이블(도 1의 211)에서, 우선순위 그룹의 순으로 영역이 할당되기 때문에, 신규 플로 엔트리가 속하는 우선순위의 영역에 빈 영역이 존재하면, 우선순위에 기초한 정렬은 불필요하게 된다. 신규 플로 엔트리가 속하는 우선순위 그룹의 관련 위치에 빈 영역이 존재하지 않는 경우에도, 가장 가까운 빈 영역을 탐색하여 플로 엔트리 또는 엔트리들을 시프트하는 처리를 실행하지 않고서, 신규 플로 엔트리가 등록될 때의 정렬 비용을 저감하는 것이 가능하다.
[제1 예시적 실시예]
도 1은, 본 발명의 제1 예시적 실시예의 패킷 처리 장치의 구성을 도시하는 도면이다. 도 1을 참조하면, 패킷 처리 장치(20)에 대하여 플로 엔트리가 플로 테이블(211)에 설정될 것을 지시하는 플로 엔트리 설정 메시지를 송신하는 제어 장치(10); 및 상기 제어 장치(10)로부터 수신된 플로 엔트리를 참조하여 또 다른 패킷 처리 장치, 단말, 서버 또는 기타 등등으로부터 수신된 패킷들을 처리하는 패킷 처리 장치(20)를 포함하는 구성이 도시된다.
제어 장치(10)는 패킷 처리 장치(20)로부터의 플로 엔트리의 설정 요구나 미리 정해진 통신 정책에 따라 패킷 처리 장치(20)에 설정될 플로 엔트리를 생성하고, 패킷 처리 장치(20)에게 플로 엔트리 설정 메시지를 송신한다. 플로 엔트리에 관하여, 패킷 헤더와의 대조를 위한 매칭 조건들(Match Fields)과 처리 내용을 정의하는 인스트럭션들(Instructions)의 결합들을 사용할 수 있다는 것을 유의해야 한다. 이러한 유형의 제어 장치(10)에 관하여, 비특허문헌 1 또는 2의 OpenFlow 컨트롤러를 사용하는 것이 가능하다는 것을 유의해야 한다.
패킷 처리 장치(20)는 플로 테이블(211)로부터 수신 패킷과 일치하는 매칭 조건을 갖는 플로 엔트리를 검색하는 엔트리 검색부(21), 및 플로 테이블(211)에 있어서의 플로 엔트리의 배치 등을 관리하는 엔트리 관리부(22)를 구비하고 있다. 이러한 유형의 제어 장치(10)에 관하여, 비특허문헌 1 또는 2의 OpenFlow 스위치들과 유사한 기능성을 갖는 물리적 스위치들 외에도, 가상화 서버상에서 동작하는 가상 스위치, 또는 사용자 단말상에서 동작하는 상위 애플리케이션으로부터의 패킷들을 처리하는 소프트웨어 스위치 또는 그와 유사한 것을 들 수 있다.
도 2는 상기 패킷 처리 장치의 상세 구성을 도시하는 도면이다. 도 2의 예에서, 플로 테이블(211)은 우선순위가 높은 순으로 N개의 플로 엔트리를 저장할 수 있다. 또 다른 패킷 처리 장치, 단말, 서버 또는 그와 유사한 것으로부터 패킷을 수신하면, 엔트리 검색부(21)는 플로 테이블(211) 가운데 우선순위가 가장 높은 엔트리 1로부터 순서대로, 수신 패킷의 헤더 등을 플로 엔트리의 매칭 조건과 대조해 간다. 상기 대조의 결과, 도 2의 엔트리 X에서 수신 패킷과 매칭 조건이 일치한 경우, 엔트리 검색부(21)는 상기 매칭 조건과 일치하는 플로 엔트리의 인스트럭션들(Instructions)에 기술된 처리 내용(수신 패킷의 포워딩, 헤더 재기록 등)을 실행한다. 더욱이, 상기 기술된 수신 패킷과 일치하는 플로 엔트리가 발견된 경우(도 2의 "조건 일치"), 엔트리 검색부(21)는 엔트리 X 이후의 플로 엔트리들과의 대조를 생략한다(도 2의 "검색 생략").
도 3은 플로 테이블(211)의 일례를 도시하는 도면이다. 본 예시적 실시예의 플로 테이블(211)에서, 복수의 영역이 우선순위 그룹들의 순으로 할당되고, 플로 엔트리들은 우선순위 그룹 순으로 저장될 수 있다. 동일한 우선순위 그룹에 속하는 플로 엔트리에 대한 그룹 내 우선순위 레벨들(제2 레벨 우선순위들)은 개개의 우선순위 그룹들에 할당되는 영역들 내에서의 저장 위치들(본 예시적 실시예의 경우, 우선순위가 높을수록 저장 위치가 상위에 있다)로 표현된다. 예를 들어, 도 3의 엔트리 1 및 엔트리 2는 모두 기존 플로 엔트리들 중에서 가장 우선 순위가 높은 우선순위 그룹=2에 속하고 있지만, 엔트리 1이 엔트리 2보다 그룹 내 우선순위(제2 레벨 우선순위)가 높기 때문에, 플로 엔트리들은 엔트리 1, 엔트리 2의 순으로 설정되고 있다. 마찬가지로, 도 3의 엔트리 (N-1) 및 엔트리 N은 모두 기존 플로 엔트리 중에서 가장 우선 순위가 낮은 우선순위 그룹=8에 속하고 있지만, 엔트리 (N-1)이 엔트리 N보다 그룹 내 우선순위(제2 레벨 우선순위)가 높기 때문에, 플로 엔트리들은 엔트리 (N-1), 엔트리 N의 순으로 설정되고 있다. 도 3에 있어서 ":"로 표기된 영역들은 빈 영역들인 것을 유의해야 한다.
또한, 플로 테이블(211)에서의 각각의 우선순위 그룹에 할당되는 플로 엔트리 저장용의 영역들의 수는 미리 정해질 수도 있고, 또는 운용 중에 동적으로 변경될 수도 있다. 이런 방식으로, 플로 테이블(211)에서의 각각의 우선순위 그룹의 빈 엔트리의 수가 용이하게 파악될 수 있다.
엔트리 관리부(22)는 플로 테이블(211)에 설정되는 플로 엔트리들의 내용과 위치를 관리하는 엔트리 관리 테이블(222), 및 상기 엔트리 관리 테이블(222)에 기초하여 플로 테이블(211)에의 기입 요구들 및 그와 유사한 것의 조작들을 실행하는 엔트리 설정부(221)를 구비하고 있다.
도 4는 엔트리 관리 테이블(222)의 일례를 도시하는 도면이다. 도 4을 참조하면, 플로 테이블(211)에 저장된 각각의 플로 엔트리에 대해서, 이 도면은 우선순위 그룹, 그룹 내 우선순위 (제2 레벨 우선순위), 및 플로 엔트리의 내용을 엔트리 번호와 연관시킨 엔트리들을 보여주고 있다. 예를 들어, 엔트리 관리 테이블(222)에서의 엔트리 번호 1은 도 3의 플로 테이블(211)의 엔트리 (N-1)의 저장 위치(우선순위)와 플로 엔트리 내용을 연관시킨 내용을 갖는다.
도 5는 도 3의 플로 테이블(211)과 도 4의 엔트리 관리 테이블(222) 간의 대응 관계들를 도시하는 도면이다. 제어 장치(10)로부터 신규 플로 엔트리 설정 메시지를 수신하면, 엔트리 설정부(221)는 그 내용으로부터 우선순위 그룹 및 그룹 내 우선순위를 획득하고, 엔트리 관리 테이블(222)에 이것의 등록을 행하고, 플로 테이블(211)의 우선순위 그룹 및 그룹 내 우선순위에 의해 식별되는 위치에 플로 엔트리를 등록한다. 제어 장치(10)로부터 플로 엔트리 삭제 지시 메시지를 수신하면, 엔트리 설정부(221)는 엔트리 관리 테이블(222)을 참조하여, 플로 테이블(211)의 관련 플로 엔트리를 삭제한 후, 엔트리 관리 테이블(222)에서 상기 삭제한 플로 엔트리에 대응하는 엔트리를 삭제한다.
신규 플로 엔트리를 등록하는 경우에, 예를 들어 도 3의 엔트리1과 엔트리2의 사이, 및 엔트리 (N-1)과 엔트리 N의 사이에서와 같이, 플로 테이블(211)에 있어서 우선순위 그룹 및 그룹 내 우선순위에 의해 식별되는 위치에 빈 곳이 없는 경우가 있을 수 있다. 이 경우에, 엔트리 설정부(221)는 가장 가까운 빈 영역을 탐색하고 플로 엔트리를 시프트시켜서, 관련 신규 플로 엔트리를 저장하기 위한 영역을 확보한다. 예를 들어, 제어 장치(10)로부터 도 3의 엔트리 1과 엔트리 2의 사이에 저장해야 할 플로 엔트리를 수신한 경우, 엔트리 설정부(221)는 엔트리 2를 한 단계 밑으로 시프트시키고, 지금까지 엔트리 2가 저장되어 있었던 위치에 신규 플로 엔트리를 저장한다.
도 1 및 도 2에 도시된 패킷 처리 장치(20)의 엔트리 검색부(22)는, 패킷 처리 장치(20)를 구성하는 컴퓨터상에서 그 하드웨어를 사용하여 상기 기술된 엔트리 관리 테이블(222)과 연동하는 플로 테이블(211)의 조작 처리를 실행시키는 컴퓨터 프로그램에 의해 구현될 수 있다.
다음으로, 본 예시적 실시예의 동작들에 대해서 도면을 참조하여 상세하게 설명한다. 도 6은 본 발명의 제1 예시적 실시예 동작을 나타내는 시퀀스 도이다. 제어 장치(10)는 패킷 처리 장치(20)로부터의 플로 엔트리의 설정 요구나 미리 정해진 통신 정책에 따라 패킷 처리 장치(20)에 설정될 플로 엔트리를 생성하고, 또한 패킷 처리 장치(20)에게 플로 엔트리 설정 메시지를 송신한다(단계 S001).
신규 플로 엔트리 설정 메시지를 수신하면, 패킷 처리 장치(20)는 신규 플로 엔트리가 속하는 우선순위 그룹, 및 그룹 내 우선순위 (제2 레벨 우선순위)를 식별한다(단계 S002). 우선순위 그룹 및 그룹 내 우선순위의 식별 방법에 관해서는 다양한 방법들이 생각될 수 있다: 예를 들어, 제어 장치(10)로부터의 신규 플로 엔트리 설정 메시지에서 지정되는 우선순위 정보의 상위 비트(들)를 우선순위 그룹의 식별에 사용하고 및 하위 비트(들)를 그룹 내 우선순위의 식별에 사용할 수 있다.
다음으로, 패킷 처리 장치(20)는 상기 식별된 우선순위 그룹과 그룹 내 우선순위에 대응하는 플로 테이블(211)에서의 위치가 비어 있는지의 여부, 즉 기존 엔트리의 시프트 조작이 필요한지의 여부를 확인한다(단계 S003).
상기 확인의 결과, 상기 식별된 우선순위 그룹과 그룹 내 우선순위에 대응하는 플로 테이블(211)에서의 위치가 비어 있는 경우, 즉 기존 엔트리의 시프트 조작을 행하지 않고서 신규 플로 엔트리가 저장될 수 있는 경우(단계 S003의 "아니오"), 패킷 처리 장치(20)는 플로 테이블(211)의 관련 위치에 신규 플로 엔트리를 등록하고(단계 S004, S005), 엔트리 관리 테이블(222)의 관련 엔트리의 엔트리 번호란에 플로 테이블(211)에서의 위치(엔트리 번호)를 기록한다(단계 S006).
도 7은 도 5에 도시된 상태에 관하여, 그룹 우선순위 “4” 및 그룹 내 우선순위 “2”를 갖는 신규 플로 엔트리 F를 새롭게 수신한 경우에 제각기 테이블의 변화를 나타내는 도면이다. 패킷 처리 장치(20)는 플로 테이블(211)에서의 그룹 우선순위 “4” 및 그룹 내 우선순위 “2”에 대응하는 위치가 비어 있는지의 여부를 확인한다. 도 5의 시점에서는, 플로 테이블(211)에서의 그룹 우선순위 “4” 및 그룹 내 우선순위 “2”에 대응하는 위치가 비어 있으므로, 패킷 처리 장치(20)는 플로 테이블(211)의 위로부터 (X-1)번째 영역에 플로 엔트리 F를 등록한다. 패킷 처리 장치(20)는 엔트리 관리 테이블(222)에서의 플로 엔트리 F의 엔트리 번호로서 (X-1)을 등록한다.
도 8은, 도 6의 단계 S003의 확인 결과 식별된 우선순위 그룹과 그룹 내 우선순위에 대응하는 플로 테이블(211)에서의 위치가 비어 있지 않다고, 즉 기존 엔트리의 시프트 조작이 필요하다고 판정한 경우(단계 S003의 "예")의 동작을 나타내는 시퀀스 도이다. 이 경우에, 패킷 처리 장치(20)는 플로 테이블(211)의 관련 위치에 가장 가까운 동일 우선순위 그룹에서의 빈 영역을 탐색한다. 상기 탐색의 결과, 동일 우선순위 그룹에서의 빈 영역이 발견되지 않은 경우에, 패킷 처리 장치(20)는 플로 엔트리 설정 메시지를 삭제하고, 제어 장치(10)에게 에러를 반환한다(단계 S103). 제어 장치(10)는 상기 에러 응답을 수신하고, 플로 테이블(211)로부터 불필요한 플로 엔트리의 삭제를 고려한다.
한편, 상기 탐색의 결과, 동일 우선순위 그룹에서의 빈 영역이 발견된 경우, 패킷 처리 장치(20)는 상기 식별된 우선순위 그룹과 그룹 내 우선순위에 대응하는 위치를 기점으로, 상기 빈 영역의 방향으로 동일 우선순위 그룹에 속하는 플로 엔트리를 시프트시킴으로써 빈 영역을 생성한다(단계 S104). 그 후에, 패킷 처리 장치(20)는 도 6의 단계 S004 이하로 복귀하고, 플로 테이블(211)에서의 신규 플로 엔트리의 등록, 및 엔트리 관리 테이블(222)의 갱신을 실행한다.
도 9는 도 7에 도시된 상태에 관하여, 그룹 우선순위 “2” 및 그룹 내 우선순위 “4”를 갖는 신규 플로 엔트리 G를 새롭게 수신한 경우의 제각기 테이블에서의 변화를 나타내는 도면이다. 패킷 처리 장치(20)는 플로 테이블(211)에서의 그룹 우선순위 “2” 및 그룹 내 우선순위 “4”에 대응하는 위치에 빈 영역이 있는지의 여부를 확인한다. 도 7의 시점에서는, 그룹 우선순위 “2”에 속하는 엔트리 1(그룹 내 우선순위 “2”) 및 엔트리 2(그룹 내 우선순위 “6”)가 연속적으로 저장되어 있으므로 그룹 내 우선순위 “4” 플로 테이블(211)에서의 그룹 우선순위 “2” 및 그룹 내 우선순위 “4”에 대응하는 위치는 비어 있지 않다.
따라서, 도 10에 도시된 바와 같이, 패킷 처리 장치(20)는 플로 테이블(211)에서의 엔트리 2 이후에 빈 영역이 있는 것을 검출하고, 엔트리 2의 저장 위치를 한 단계 아래로 시프트시키는 시프트 처리를 실행한다. 이것과 연계하여, 패킷 처리 장치(20)는 엔트리 관리 테이블(222)에서의 지금까지의 엔트리 번호 2이었던 엔트리의 엔트리 번호를 "3"으로 수정한다. 여기서의 시프트 조작은 신규 플로 엔트리 분량만의 시프트, 즉 1개만의 시프트일 수 있고, 또는 장래의 이용을 예상해서 복수의 영역을 비우도록 시프트시킬 수도 있다는 점을 유의해야 한다.
상기 시프트 처리에 의해 빈 영역을 확보할 수 있으면, 패킷 처리 장치(20)는, 도 11에 도시한 바와 같이, 플로 테이블(211)에서의 엔트리 번호 2로서 신규 플로 엔트리 G(신규 엔트리 2)를 등록한다. 패킷 처리 장치(20)는 엔트리 관리 테이블(222)에서의 신규 플로 엔트리 G의 엔트리 번호란에 "2"를 기록한다.
이상의 설명으로부터 명백해진 바와 같이, 본 예시적 실시예에 따르면, 우선순위 순으로 플로 엔트리를 배열하는 것에 의한 매칭 처리의 고속성과 신규 플로 엔트리들의 등록 시의 정렬 비용의 저감 모두를 달성하는 것이 가능하다.
이상에서 본 발명의 제각기의 예시적 실시예를 설명했지만, 본 발명은 상기 예시적 실시예들에만 한정되는 것이 아니라, 본 발명의 기본적 기술적 사상을 일탈하지 않는 범위 내에서 변형, 치환, 및 조정이 더해질 수 있다. 예를 들어, 제각기 도면에 도시된 네트워크 구성 및 요소(들)의 구성은 본 발명의 이해를 돕기 위한 예들이며, 이 도면들에 예시된 구성들에만 본 발명을 한정하기 위한 것은 아니다.
예를 들어, 상기 기술된 예시적 실시예에서는, 제어 장치(10)로부터의 신규 플로 엔트리 설정 메시지에 지정된 우선순위 정보의 하위 비트(들)가 그룹 내 우선순위 또는 우선순위들로서 사용되는 것으로 설명했지만, 제어 장치(10)로부터의 플로 엔트리 설정 메시지들의 도착 순서를 그룹 내 우선순위 (제2 레벨 우선순위)로서 사용하는 것도 가능하다. 이렇게 함으로써, 플로 엔트리의 시프트 처리의 발생 빈도를 추가로 억제하는 것이 가능해진다.
또한, 상기 기술된 예시적 실시예에서는, 신규 플로 엔트리를 저장하는 동일 우선순위 그룹에서의 빈 영역이 발견되지 않았을 경우, 패킷 처리 장치(20)는 플로 엔트리 설정 메시지를 삭제하고, 제어 장치(10)에게 에러를 반환하는 것으로 설명했지만, 이하와 같은 변형 구현이 실행될 수도 있다.
(1) 플로 테이블(211)의 또 다른 우선순위 그룹에 빈 영역이 있는 경우에, 신규 플로 엔트리가 관련 빈 영역에 등록된다. 이것과 함께, 상기 신규 플로 엔트리가 등록되는 영역이 플로 테이블(211)의 관련 우선순위 그룹에 할당되는 영역에 추가된다(상기 이전의 신규 플로 엔트리가 등록되었던 영역이 빈 영역이 있는 다른 우선순위 그룹에 할당된 영역들로부터 삭제된다). 이 경우에 있어서, 빈 영역들이 있는 우선순위 그룹이 복수인 경우, 가장 낮은 우선순위를 가진 우선순위 그룹 또는 이 우선순위에 가장 가까운 우선순위 그룹을 선택할 수 있다. 이 경우에 있어서, 특정 우선순위 그룹에서의 영역들에 할당이 집중되지 않도록 하기 위해, 관련 우선순위 그룹의 플로 엔트리를 삭제한 타이밍에서, 빈 영역의 할당을 원래의 우선순위 그룹에게 되돌려도 좋다.
(2) 플로 테이블(211)의 모든 우선순위 그룹들에 빈 영역이 없는 경우에, 소정 기준에 의해 선택된 플로 엔트리가 삭제되고, 제어 장치(10)에게 보고가 이뤄진다. 상기 소정 기준에 관하여, 우선순위 그룹 및 그룹 내 우선순위가 낮은 것, 가장 최근 사용되지 않은 것(Least Recently Used), 또는 그와 유사한 것과 같은 기준에 따라 삭제 대상인 플로 엔트리를 선택할 수 있다.
(3) 플로 엔트리(211)의 몇 개의 영역들은 초기 상태에 있어서 어느 우선순위 그룹에도 속하지 않는 공용 영역으로서 확보될 수 있다. 이와 같이 하면, 플로 테이블(211)의 영역들을 보다 효율적으로 이용하는 것이 가능하다.
마지막으로, 본 발명의 바람직한 형태를 요약한다.
[제1 형태]
(상기 기술된 제1 양태에 따른 패킷 처리 장치 참조)
[제2 형태]
제1 형태의 패킷 처리 장치에 있어서, 상기 제2 레벨 우선순위에 따라 결정되는 위치에 빈 곳이 없을 경우, 상기 엔트리 관리부는, 상기 제2 레벨 우선순위에 따라 결정되는 위치를 기점으로 하여, 동일 우선순위 그룹의 가장 가까운 빈 영역의 방향으로 상기 신규 플로 엔트리와 동일한 우선순위 그룹에 속하는 플로 엔트리를 시프트시켜서 상기 신규 플로 엔트리를 저장하는 패킷 처리 장치.
[제3 형태]
제1 또는 제2 형태의 패킷 처리 장치에 있어서, 상기 엔트리 관리부는 상기 플로 테이블의 엔트리들과 1 대 1 대응하는 관리용 엔트리들을 유지하는 엔트리 관리 테이블을 사용하여, 상기 플로 테이블에 설정된 플로 엔트리들을 관리하는 패킷 처리 장치.
[제4 형태]
제1 형태의 패킷 처리 장치에 있어서, 상기 제2 레벨 우선순위로서 상기 소정의 제어 장치로부터 신규 플로 엔트리를 수신한 순서가 사용되는 패킷 처리 장치.
[제5 형태]
제1 형태 내지 제4 형태 중 임의의 하나의 형태의 패킷 처리 장치에 있어서, 신규 플로 엔트리를 수신했을 때에, 상기 플로 테이블에 상기 신규 플로 엔트리가 속하는 우선순위 그룹에서의 빈 영역이 없을 경우, 상기 엔트리 관리부는 상기 신규 플로 엔트리가 속하는 우선순위 그룹보다 하위의 우선순위 그룹의 빈 영역에 상기 신규 플로 엔트리를 저장하는 패킷 처리 장치.
[제6 형태]
제5 형태의 패킷 처리 장치에 있어서, 상기 제2 레벨 우선순위에 대응하는 상기 신규 플로 엔트리가 속하는 우선순위 그룹의 그룹 내의 위치에서 빈 영역이 없을 경우, 상기 신규 플로 엔트리를 저장하는 우선순위 그룹으로서 빈 영역들을 갖는 우선순위 그룹 중에서 가장 하위의 우선순위를 가진 우선순위 그룹의 빈 영역에 상기 신규 플로 엔트리가 저장되는 패킷 처리 장치.
[제7 형태]
(상기 기술된 제2 양태에 따른 플로 엔트리의 배치 방법 참조)
[제8 형태]
(상기 기술된 제3 양태에 따른 프로그램 참조)
상기 제7 및 제8 형태들은, 제1 형태에 대한 것과 마찬가지로, 제2 내지 제6 형태들에 전개될 수 있다는 것을 유의해야 한다.
상기 언급된 특허문헌 및 비특허문헌의 다양한 개시들이 이들에 대한 참조에 의해 본 명세서에 통합되는 것을 유의해야 한다. 예시적 실시예들 및 예들의 변경 및 조정이 본 발명의 전체 개시(청구범위를 포함함)의 경계 내에서, 그리고 본 발명의 기본적 기술 사상에 기초하여 이뤄질 수 있다. 더욱이, (제각기 청구범위의 제각기 요소들, 제각기 예시적 실시예들 및 예들의 제각기 요소들, 제각기 도면들의 제각기 요소들, 및 그와 유사한 것을 포함하는) 다양하게 개시된 요소들의 다양한 조합 및 선택이 본 발명의 청구범위 내에서 가능하다. 즉, 본 발명은 통상의 기술자가 청구범위를 포함하는 전체 개시 및 그 기술적 사상에 따라서 실현할 수 있는 각종 변형 및 수정을 명확히 포함한다. 특히, 본 명세서에 기술된 수치 범위에 관하여, 관련 범위에 포함되는 임의의 수치 내지 작은 범위는 이것에 대한 특별한 기재가 없는 경우라도 구체적으로 기재된 것이라고 해석해야 한다.
10 제어 장치
20 패킷 처리 장치
21 엔트리 검색부
22 엔트리 관리부
211 플로 테이블
221 엔트리 설정부
222 엔트리 관리 테이블

Claims (8)

  1. 패킷 처리 장치로서,
    플로 엔트리들(flow entries)이 우선순위 그룹들의 순으로 할당되는 영역들에 저장될 수 있는 플로 테이블;
    소정의 제어 장치로부터 신규 플로 엔트리를 수신한 경우, 상기 신규 플로 엔트리가 상기 복수의 우선순위 그룹들 중 어느 우선순위 그룹에 속하는지 및 상기 우선순위 그룹 내에서의 위치를 결정하기 위해 사용되는 제2 레벨 우선순위에 따라 상기 플로 테이블에서의 저장 위치를 결정하는 엔트리 관리부; 및
    상기 플로 테이블의 선두로부터 스캔하고, 수신 패킷과 일치하는 매칭 조건을 갖는 엔트리를 검색하고, 및 상기 수신 패킷에 적용될 처리를 결정하는 엔트리 검색부
    를 포함하는 패킷 처리 장치.
  2. 제1항에 있어서, 상기 제2 레벨 우선순위에 따라 결정되는 위치에 빈 곳이 없을 경우, 상기 제2 레벨 우선순위에 따라 결정되는 위치를 기점으로 하여, 상기 엔트리 관리부는, 상기 신규 플로 엔트리와 동일한 우선순위 그룹에 속하는 플로 엔트리를 상기 동일 우선순위의 그룹의 가장 가까운 빈 영역의 방향으로 시프트시켜서 상기 신규 플로 엔트리를 저장하는, 패킷 처리 장치.
  3. 제1항 또는 제2항에 있어서, 상기 엔트리 관리부는 상기 플로 테이블의 엔트리들과 1 대 1 대응하는 관리용 엔트리들을 유지하는 엔트리 관리 테이블을 사용하여 상기 플로 테이블에 설정된 상기 플로 엔트리들을 관리하는, 패킷 처리 장치.
  4. 제1항에 있어서, 상기 제2 레벨 우선순위로서 상기 소정의 제어 장치로부터 신규 플로 엔트리들을 수신하는 순서가 사용되는, 패킷 처리 장치.
  5. 제1항 내지 제4항 중 어느 한 항에 있어서, 신규 플로 엔트리를 수신했을 시에, 상기 플로 테이블에, 상기 신규 플로 엔트리가 속하는 우선순위 그룹에서의 빈 영역이 없을 경우, 상기 엔트리 관리부는 상기 신규 플로 엔트리가 속하는 상기 우선순위 그룹보다 하위의 우선순위 그룹의 빈 영역에 상기 신규 플로 엔트리를 저장하는, 패킷 처리 장치.
  6. 제5항에 있어서, 상기 제2 레벨 우선순위에 대응하는 상기 신규 플로 엔트리가 속하는 우선순위 그룹의 그룹 내 위치에 빈 영역이 없을 경우, 상기 신규 플로 엔트리를 저장하는 우선순위 그룹으로서, 빈 영역들을 갖는 우선순위 그룹들 중에서 최저의 우선순위를 갖는 우선순위 그룹의 빈 영역에 상기 신규 플로 엔트리가 저장되는, 패킷 처리 장치.
  7. 플로 엔트리들이 우선순위 그룹의 순으로 할당되는 영역들에 저장될 수 있는 플로 테이블, 및 상기 플로 테이블의 선두로부터 스캔하고, 수신 패킷과 일치하는 매칭 조건을 갖는 엔트리를 검색하고, 상기 수신 패킷에 적용될 처리를 결정하는 엔트리 검색부를 포함하는 패킷 처리 장치에서의 플로 엔트리의 배치 방법으로서,
    소정의 제어 장치로부터 신규 플로 엔트리를 수신한 경우, 상기 신규 플로 엔트리에 포함되는 우선순위 정보에 기초하여, 상기 신규 플로 엔트리가 속하는 우선순위 그룹을 판별하는 단계;
    상기 신규 플로 엔트리에 포함되는 우선순위 정보에 기초하여, 상기 판별된 우선순위 그룹 내에서의 위치를 결정하는 데에 사용되는 제2 레벨 우선순위를 판별하는 단계; 및
    상기 플로 테이블에서의, 상기 우선순위 그룹과 상기 제2 레벨 우선순위에 대응하는 영역에 상기 신규 플로 엔트리를 저장하는 단계
    를 포함하는 패킷 처리 장치에서의 플로 엔트리 배치 방법.
  8. 플로 엔트리들이 우선순위 그룹의 순으로 할당되는 영역들에 저장될 수 있는 플로 테이블, 및 상기 플로 테이블의 선두로부터 스캔하고, 수신 패킷과 일치하는 매칭 조건을 갖는 엔트리를 검색하고, 상기 수신 패킷에 적용될 처리를 결정하는 엔트리 검색부를 포함하는 패킷 처리 장치에 탑재되는 컴퓨터상에서 실행되는 프로그램으로서,
    소정의 제어 장치로부터 신규 플로 엔트리를 수신한 경우, 상기 신규 플로 엔트리에 포함되는 우선순위 정보에 기초하여, 상기 신규 플로 엔트리가 속하는 우선순위 그룹을 판별하는 처리;
    상기 신규 플로 엔트리에 포함되는 우선순위 정보에 기초하여, 상기 판별된 우선순위 그룹 내에서의 위치를 결정하는 데에 사용되는 제2 레벨 우선순위를 판별하는 처리; 및
    상기 플로 테이블에서의, 상기 우선순위 그룹과 상기 제2 레벨 우선순위에 대응하는 영역에 상기 신규 플로 엔트리를 저장하는 처리
    를 실행하는 프로그램.
KR1020157019071A 2012-12-19 2013-12-18 패킷 처리 장치, 플로 엔트리 배치 방법 및 프로그램 KR101746316B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JPJP-P-2012-276734 2012-12-19
JP2012276734 2012-12-19
PCT/JP2013/083857 WO2014098114A1 (ja) 2012-12-19 2013-12-18 パケット処理装置、フローエントリの配置方法及びプログラム

Publications (2)

Publication Number Publication Date
KR20150097663A true KR20150097663A (ko) 2015-08-26
KR101746316B1 KR101746316B1 (ko) 2017-06-12

Family

ID=50978439

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020157019071A KR101746316B1 (ko) 2012-12-19 2013-12-18 패킷 처리 장치, 플로 엔트리 배치 방법 및 프로그램

Country Status (9)

Country Link
US (1) US9876716B2 (ko)
EP (1) EP2938029B1 (ko)
JP (1) JP5967222B2 (ko)
KR (1) KR101746316B1 (ko)
CN (1) CN104871501A (ko)
BR (1) BR112015014211A2 (ko)
CA (1) CA2895688A1 (ko)
RU (1) RU2628477C2 (ko)
WO (1) WO2014098114A1 (ko)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2893108A1 (en) * 2012-11-28 2014-06-05 Nec Corporation Switch apparatus, vlan setting management method and program
US9692684B2 (en) * 2014-09-05 2017-06-27 Telefonaktiebolaget L M Ericsson (Publ) Forwarding table precedence in SDN
CN104283805B (zh) * 2014-10-27 2017-11-10 新华三技术有限公司 一种sdn网络报文发送方法及设备
US10003529B2 (en) * 2015-08-04 2018-06-19 Telefonaktiebolaget Lm Ericsson (Publ) Method and system for memory allocation in a software-defined networking (SDN) system
JP6650049B2 (ja) * 2016-03-31 2020-02-19 エヌイーシー ラボラトリーズ ヨーロッパ ゲーエムベーハー ソフトウェア改良型ステートフルスイッチングアーキテクチャ
TWI626837B (zh) * 2016-12-01 2018-06-11 財團法人工業技術研究院 封包傳遞方法、封包傳遞裝置及非暫態電腦可讀取媒體
EP4113917A4 (en) 2020-03-10 2023-01-25 Mitsubishi Electric Corporation CONTROLLER, NETWORK SYSTEM, AND FLOW MANAGEMENT METHOD

Family Cites Families (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07254906A (ja) * 1994-03-16 1995-10-03 Mitsubishi Electric Corp 優先処理機能を有するシフトレジスタ、それを用いたパケット通信用スイッチング装置及びそれを用いたatmネットワーク並びに優先処理を伴うパケット通信方式及び優先処理を伴うatm通信方式
JP2783212B2 (ja) 1995-09-08 1998-08-06 日本電気株式会社 情報提示装置
JP3449326B2 (ja) * 1999-12-08 2003-09-22 日本電気株式会社 データ検索システム及びパケット処理装置並びに制御方法
US7089240B2 (en) * 2000-04-06 2006-08-08 International Business Machines Corporation Longest prefix match lookup using hash function
JP3591420B2 (ja) * 2000-04-07 2004-11-17 日本電気株式会社 ルータにおけるキャッシュテーブル管理装置およびプログラム記録媒体
JP2002185513A (ja) * 2000-12-18 2002-06-28 Hitachi Ltd パケット通信ネットワークおよびパケット転送制御方法
JP3936883B2 (ja) * 2002-04-08 2007-06-27 株式会社日立製作所 フロー検出装置およびフロー検出機能を備えたパケット転送装置
WO2004029957A1 (en) 2002-09-26 2004-04-08 Koninklijke Philips Electronics N.V. Multiple stream readout
US20040151197A1 (en) * 2002-10-21 2004-08-05 Hui Ronald Chi-Chun Priority queue architecture for supporting per flow queuing and multiple ports
BRPI0406978A (pt) * 2003-01-24 2006-01-10 Coco Communications Corp Sistema para organizar sem administração central uma rede de dispositivos de computação sem confiança
US7418505B2 (en) * 2003-05-26 2008-08-26 Ewha University Industry Collaboration Foundation IP address lookup using either a hashing table or multiple hash functions
US7787471B2 (en) * 2003-11-10 2010-08-31 Broadcom Corporation Field processor for a network device
JP4336625B2 (ja) * 2004-06-17 2009-09-30 株式会社日立製作所 パケット転送装置
KR100612256B1 (ko) * 2005-01-14 2006-08-14 삼성전자주식회사 터너리 내용 주소화 메모리 관리 장치 및 그 방법
JP4556761B2 (ja) * 2005-05-06 2010-10-06 株式会社日立製作所 パケット転送装置
CA2617168A1 (en) * 2005-08-01 2007-02-08 Volt Information Sciences Inc. Outsourced service level agreement provisioning management system and method
US7606968B2 (en) * 2006-05-08 2009-10-20 Mcdata Corporation Multi-level content addressable memory
JP2009239401A (ja) * 2008-03-26 2009-10-15 Alaxala Networks Corp パケット転送装置
US20100064072A1 (en) * 2008-09-09 2010-03-11 Emulex Design & Manufacturing Corporation Dynamically Adjustable Arbitration Scheme
CN102308534A (zh) * 2009-02-03 2012-01-04 日本电气株式会社 应用交换机系统和应用交换机方法
JP5640986B2 (ja) 2009-10-07 2014-12-17 日本電気株式会社 通信システムの制御装置、制御方法及びプログラム
US8677030B2 (en) * 2009-12-09 2014-03-18 Oracle America, Inc. Apparatus and method for managing packet classification tables
US20110145255A1 (en) * 2009-12-11 2011-06-16 Sap Ag. Systems and methods for distribution of data in a database index
WO2011083786A1 (ja) 2010-01-06 2011-07-14 日本電気株式会社 通信制御システム、及び通信制御方法
WO2011102312A1 (ja) * 2010-02-16 2011-08-25 日本電気株式会社 パケット転送装置、通信システム、処理規則の更新方法およびプログラム
CN103098427B (zh) * 2010-09-08 2015-10-21 日本电气株式会社 交换系统、交换控制系统和存储介质
CN102263664A (zh) 2011-08-11 2011-11-30 北京星网锐捷网络技术有限公司 一种会话流处理方法及装置
KR101887581B1 (ko) * 2011-12-26 2018-08-14 한국전자통신연구원 플로우 기반의 패킷 전송 장치 및 그것의 패킷 처리 방법

Also Published As

Publication number Publication date
US9876716B2 (en) 2018-01-23
EP2938029A4 (en) 2016-08-10
RU2628477C2 (ru) 2017-08-17
JP5967222B2 (ja) 2016-08-10
JPWO2014098114A1 (ja) 2017-01-12
BR112015014211A2 (pt) 2017-07-11
CN104871501A (zh) 2015-08-26
EP2938029A1 (en) 2015-10-28
US20150326477A1 (en) 2015-11-12
RU2015129507A (ru) 2017-01-26
WO2014098114A1 (ja) 2014-06-26
CA2895688A1 (en) 2014-06-26
KR101746316B1 (ko) 2017-06-12
EP2938029B1 (en) 2019-03-27

Similar Documents

Publication Publication Date Title
KR101746316B1 (ko) 패킷 처리 장치, 플로 엔트리 배치 방법 및 프로그램
EP2985971B1 (en) Reputation-based instruction processing over an information centric network
US20210367887A1 (en) Flow classification apparatus, methods, and systems
RU2523917C2 (ru) Система управления связью и способ управления связью
US9742667B2 (en) Packet processing method, device and system
RU2612599C1 (ru) Устройство управления, система связи, способ управления коммутаторами и программа
JP5652565B2 (ja) 情報システム、制御装置、通信方法およびプログラム
JP2012049674A (ja) 通信装置、通信システム、通信方法、および通信プログラム
KR101577926B1 (ko) 통신 노드, 패킷 처리 방법 및 프로그램
US10148596B2 (en) Data flow statistics collection method, system, and apparatus
JPWO2014112616A1 (ja) 制御装置、通信装置、通信システム、スイッチの制御方法及びプログラム
EP2938028B1 (en) Communication node, control device, method for managing control information entries, and program
RU2621619C2 (ru) Узел связи, устройство управления, система связи, способ обработки пакетов, способ управления узлом связи и программа
US9866500B2 (en) Communication apparatus, communication method, communication system and program
US20150043585A1 (en) Communication apparatus, communication method, communication system and program
KR20140051802A (ko) 패킷 포워딩 룰 설정 방법 및 이를 이용한 제어 장치
KR101707355B1 (ko) 통신 노드, 통신 시스템, 제어 장치, 패킷 전송 방법 및 프로그램
KR20150110683A (ko) 제어 정보 관리 장치, 제어 정보 제시 방법 및 프로그램을 기록한 기록 매체
WO2014157460A1 (ja) 通信システム、制御装置、情報収集方法およびプログラム
US20150281091A1 (en) Control apparatus, node, communication system, communication method, and program
CN107870925B (zh) 一种字符串过滤方法和相关装置
JP2008085886A (ja) パケット処理装置、パケット処理方法及びパケット処理プログラム
JPWO2014010723A1 (ja) スイッチ、通信システム、スイッチ制御方法及びプログラム
RU2675148C1 (ru) Способ организации автоматической балансировки потоков многопоточного соединения на коммутационных устройствах с использованием их самообучения
WO2014038143A1 (en) Flow information collecting system, method and program

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant