KR20150100080A - 파이프라이닝 검색 구조를 가지는 스위치 및 스위칭 방법 - Google Patents

파이프라이닝 검색 구조를 가지는 스위치 및 스위칭 방법 Download PDF

Info

Publication number
KR20150100080A
KR20150100080A KR1020140021428A KR20140021428A KR20150100080A KR 20150100080 A KR20150100080 A KR 20150100080A KR 1020140021428 A KR1020140021428 A KR 1020140021428A KR 20140021428 A KR20140021428 A KR 20140021428A KR 20150100080 A KR20150100080 A KR 20150100080A
Authority
KR
South Korea
Prior art keywords
pipelining
destination address
switch
packet
search
Prior art date
Application number
KR1020140021428A
Other languages
English (en)
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 연세대학교 산학협력단
Priority to KR1020140021428A priority Critical patent/KR20150100080A/ko
Publication of KR20150100080A publication Critical patent/KR20150100080A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/30Peripheral units, e.g. input or output ports
    • H04L49/3063Pipelined operation
    • 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

Landscapes

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

Abstract

파이프라이닝 검색 구조를 가지는 스위치 및 스위칭 방법이 개시된다. 개시된 방법은, 목적지 주소로부터 프레픽스의 수를 설정하는 단계; 상기 프레픽수의 수에 기초하여 멀티 테이블을 구성하는 단계; 라우팅을 위해 테이블 룩업 동작 중 목적지 주소가 조회될 경우 파이프라인에 따른 조회 동작을 중지하고 목적지 주소로 패킷을 출력하는 단계를 포함한다. 개시된 방법에 의하면, 파이프라닝 구조에서 테이블 룩업 시 테이블의 숫자를 효울적으로 설정하고 룩업 후 패킷 전송이 지연 없이 이루어질 수 있는 장점이 있다.

Description

파이프라이닝 검색 구조를 가지는 스위치 및 스위칭 방법{Switch and Switching Method with Pipelining Search Structure}
본 발명은 스위치에 관한 것으로서, 더욱 상세하게는 파이프라이닝 검색 구조를 가지는 오픈 플로우 스위치 및 스위칭 방법에 관한 것이다.
OpenFlow 의 가장 큰 특징은 제어 평면과 데이터 평면을 분리하고, 이들을 연결하는 표준 인터페이스로 OpenFlow 프로토콜을 사용한다는 것이다. OpenFlow 프로토콜을 사용하면, 제어 및 데이터 평면을 하드웨어가 아닌 소프트웨어로도 구현할 수 있으며, 이 소프트웨어를 범용 서버에 설치하여 신속하게 새로운 기능을 구현할 수 있다. OpenFlow 컨트롤러는 스위치에 명령을 하고, 스위치는 그 명령에 따라 패킷을 목적지로 전송하거나 수정, 폐기하는 등의 처리를 한다. 일반적으로 L2 스위치에 OpenFlow 프로토콜을 펌웨어로 추가하여 OpenFlow 스위치를 구성하고 컨트롤러는 소프트웨어로 구현한다.
현재 상용화된 고속 라우터나 3계층 스위치에서 가장 많이 사용되는 방식으로서, ternary content addressable memory (TCAM)라는 특별히 제작된 메모리를 사용하여, 라우팅 테이블을 저장한다. 어드레스 검색은 입력된 패킷의 목적지 주소와, TCAM에 저장된 모든 엔트리의 프리픽스들이 동시에 비교되고, 일치하는 엔트리 중 가장 길게 일치하는 엔트리의 주소가 선택되는 방식이다. 이 주소는 포워딩 메모리를 가르키는데 사용되어, 포워딩 메모리로부터 출력 포트 정보와 다음 홉 주소의 정보를 얻게 된다. 구현이 간편하고, 매우 빠른 성능을 보이지만, TCAM은 일반 SRAM 에 비하여 차지하는 면적이 6배 정도 크고, 가격도 비쌀 뿐만 아니라, 전력소모가 커서 패킷 포워딩을 위해 제작된 칩안에 내장되지 않는다는 점과 큰 라우팅 테이블이나, IPv6로의 확장에도 적합하지 않다는 단점을 지니곤 있다.
소프트웨어 기반으로 구현 시 주소 길이가 IPv6는 IPv4에 비해 4배가 늘었기 때문에, 이에 상응하는 성능 저하가 유발될 수 있다. 하드웨어 기반의 classification 및 filtering에 일반적으로 사용되는 TCAM(Ternary Content Addressable Memory)을 사용할 경우 검색 성능 저하는 적을 수 있지만 search key 길이가 4배로 늘기 때문에 동일 용량의 TCAM이 수용할 수 있는 rule 수가 1/4이 됨을 고려해서 설계해야 한다.
따라서 많은 연구들이 TCAM의 사용을 줄이고 일반 메모리의 사용을 늘리면서 라우터의 패킷 처리 속도를 높이기 위해 진행되고 있다. 특히 다차원 검색의 어려움을 극복하기 위해 모든 필드를 사용하여 패킷을 분류하기 보다는 일부 필드만을 사용하여 검색 속드를 개선하는 방법들이 제안되고 있다.
이에 따라 TCAM에 저장될 수 있는 방식들로 Binary Prefix Tree(BPT) 방식 혹은 Enhanced Binary Prefix Tree(EnBiT) 방식으로 저장한다. 하지만 위의 방법들은 Binary Prefix Tree(BPT)의 경우는 주소 검색이 O(log2N)의 성능을 갖고 binary trie와 달리 비어 있는 노드가 없어 메모리를 효율 적으로 사용 할 수 있으나 enclosure와 enclosure의 sub-prefix들이 하나의 tree에 포함되기 때문에 비대칭한 tree 구조가 형성되어 tree의 깊이(W)가 깊어지며, 최대 O(W)번의 메모리 검색이 필요한 단점이 있다.
EnBiT의 경우는 BPT의 비대칭한 tree 구조를 개선하기 위해 제안 되었으며 prefix가 disjoint한 관계를 갖게 된다면 대칭적인 tree를 구성 할 수 있다는 점에 착안하여 여러개의 대칭적 tree를 만드는 방식이다. 이는 여러개의 tree를 만들었기 때문에 각각의 tree를 파이프라인을 적용시켜 한번의 메모리 접근으로 주소 검색이 가능하다는 장점을 가지고 있으나 SRAM의 사이즈가 라우팅 테이블의 prefix 분포 특성에 따라 결정 되고 TCAM 을 사용하여 하드웨어의 오버헤드가 커지는 단점이 존재한다.
본 발명에서는 효율적으로 테이블 룩업이 가능한 파이프라인 검색 구조를 가지는 스위치 및 스위칭 방법을 제안한다.
상기한 바와 같은 목적을 달성하기 위해, 본 발명의 일 측면에 따르면, 목적지 주소로부터 프레픽스의 수를 설정하는 단계; 상기 프레픽수의 수에 기초하여 멀티 테이블을 구성하는 단계; 라우팅을 위해 테이블 룩업 동작 중 목적지 주소가 조회될 경우 파이프라인에 따른 조회 동작을 중지하고 목적지 주소로 패킷을 출력하는 단계를 포함하는 파이프라인 구조의 스위칭 방법이 제공된다.
본 발명에 의하면, 파이프라닝 구조에서 테이블 룩업 시 테이블의 숫자를 효울적으로 설정하고 룩업 후 패킷 전송이 지연 없이 이루어질 수 있는 장점이 있다.
도 1은 본 발명의 일 실시예에 따른 스위치의 테이블 룩업 구조를 도시한 도면이다.
이하에서는 첨부된 도면을 참조하여 본 발명의 일 실시예에 따른 파이프라이닝 검색 구조를 가지는 스위치 및 스위칭 방법을 상세히 설명한다.
본 발명은 기본적으로 파이프라이닝이 가능한 오픈플로우 v1.1이상을 가정한다. 파이프라이닝을 하기 위해 다수의 플로우 테이블로 나누는 과정을 Enhanced Binary Tree 방식을 이용하고 look-up을 빠르게 하기 위해 튜플 공간 검색 알고리즘을 이용한 방법에 관한 것이다.
도 1은 본 발명의 일 실시예에 따른 스위치의 테이블 룩업 구조를 도시한 도면이다.
도 1을 참조하면, 은 예제 Prefix들에 대하여 EnBiT를 적용한 모습이다.
도 1을 참조하면, 다수의 테이블로 이루어지는 파이피라이닝 구조이며, EnBiT는 BPT에서 Enclosure부분을 나누어 여러개의 트리로 만든 구조 이기 때문에 파이프라이닝 구조하에서 효율적이 된다.
본 발명의 일 실시예에 따르면, 테이블의 숫자는 Prefix의 수에 의해 결정된다. 여기서 Prefix는 IP 주소의 비트수에 의해 결정이 되며, 예를 들어, 해당 비트수가 N인 경우 2N에 해당되는 테이블이 만들어질 수 있다.
이렇게 나누어진 각각의 플로우 테이블들은 튜플 공간 검색 알고리즘을 이용하여 튜플을 만들어 분리한다. 여기에서 쓰는 방법은 튜플 프루닝 알고리즘으로 필드 별 검색 결과를 이용하여 불필요한 튜플을 제거 함으로써 검색 성능이 개선될 수 있다.
도 1을 참조하면, 각 패킷은 제1 테이블 내지 제 N 테이블을 병렬적으로 룩업하여 목적지 주소를 조회할 수 있다. 도 1에 도시된 바와 같이, 제N 패킷이 테이블1에서 룩업 동작을 수행할 때 이에 선행하는 패킷은 제(N-1) 패킷은 테이블2의 룩업 동작을 수행할 수 있다.
이러한 파이프라이닝 구조에서 병렬적으로 룩업 동작이 수행될 때 테이블의 수는 앞서 설명한 바와 같이 2N개일 때 효과적인 병렬 룩업이 가능하다.
또한, 테이블 룩업 동작 중 특정 테이블에서 목적지 주소가 조회되는 경우, 해당 목적지 주소로 패킷을 출력하는 작업이 이루어진다. 종래의 파이프라인 구조에 의할 경우, 목적지 주소로의 패킷 출력은 모든 테이블에 대해 룩업이 이루어진 후에 수행되었으나, 본 발명에서는 룩업 동작 도중 목적지 주소가 조회될 경우 룩업 동작을 중지하고 바로 목적지 주소로 패킷을 출력하여 지연 없이 라우팅이 이루어지도록 한다.

Claims (1)

  1. 목적지 주소로부터 프레픽스의 수를 설정하는 단계; 상기 프레픽수의 수에 기초하여 멀티 테이블을 구성하는 단계; 라우팅을 위해 테이블 룩업 동작 중 목적지 주소가 조회될 경우 파이프라인에 따른 조회 동작을 중지하고 목적지 주소로 패킷을 출력하는 단계를 포함하는 파이프라인 구조의 스위칭 방법.
KR1020140021428A 2014-02-24 2014-02-24 파이프라이닝 검색 구조를 가지는 스위치 및 스위칭 방법 KR20150100080A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020140021428A KR20150100080A (ko) 2014-02-24 2014-02-24 파이프라이닝 검색 구조를 가지는 스위치 및 스위칭 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020140021428A KR20150100080A (ko) 2014-02-24 2014-02-24 파이프라이닝 검색 구조를 가지는 스위치 및 스위칭 방법

Publications (1)

Publication Number Publication Date
KR20150100080A true KR20150100080A (ko) 2015-09-02

Family

ID=54241857

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140021428A KR20150100080A (ko) 2014-02-24 2014-02-24 파이프라이닝 검색 구조를 가지는 스위치 및 스위칭 방법

Country Status (1)

Country Link
KR (1) KR20150100080A (ko)

Similar Documents

Publication Publication Date Title
US9871728B2 (en) Exact match hash lookup databases in network switch devices
Liu Efficient mapping of range classifier into ternary-CAM
US9569561B2 (en) Label masked addressable memory
US9627063B2 (en) Ternary content addressable memory utilizing common masks and hash lookups
US7738454B1 (en) Methods and apparatus related to packet classification based on range values
US9704574B1 (en) Method and apparatus for pattern matching
US20140244779A1 (en) Efficient Longest Prefix Matching Techniques for Network Devices
US8599859B2 (en) Iterative parsing and classification
US8848707B2 (en) Method for IP longest prefix match using prefix length sorting
US9159420B1 (en) Method and apparatus for content addressable memory parallel lookup
El Ferkouss et al. A 100gig network processor platform for openflow
CN105591914B (zh) 一种openflow流表的查表方法和装置
CN109921995B (zh) 一种配置地址表的方法、fpga和应用该fpga的网络设备
US7403526B1 (en) Partitioning and filtering a search space of particular use for determining a longest prefix match thereon
Yang et al. Fast OpenFlow table lookup with fast update
US9264257B2 (en) Dynamic ternary content-addressable memory carving
US6970971B1 (en) Method and apparatus for mapping prefixes and values of a hierarchical space to other representations
Perez et al. Optimized packet classification for software-defined networking
EP3198808B1 (en) Local packet switching at a satellite device
US11888743B1 (en) Network device storage of incremental prefix trees
Lo et al. Flow entry conflict detection scheme for software-defined network
Veeramani et al. Efficient IP lookup using hybrid trie-based partitioning of TCAM-based open flow switches
KR20130093707A (ko) 패킷 분류 장치 및 그것의 패킷 분류 방법
CN111163077A (zh) 一种基于网络处理器实现多维连续掩码的系统和方法
KR20150100080A (ko) 파이프라이닝 검색 구조를 가지는 스위치 및 스위칭 방법

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid