KR101343611B1 - 정책 기반 라우팅을 이용하여 패킷을 처리하는 장치 및 방법 - Google Patents

정책 기반 라우팅을 이용하여 패킷을 처리하는 장치 및 방법 Download PDF

Info

Publication number
KR101343611B1
KR101343611B1 KR1020100127005A KR20100127005A KR101343611B1 KR 101343611 B1 KR101343611 B1 KR 101343611B1 KR 1020100127005 A KR1020100127005 A KR 1020100127005A KR 20100127005 A KR20100127005 A KR 20100127005A KR 101343611 B1 KR101343611 B1 KR 101343611B1
Authority
KR
South Korea
Prior art keywords
packet
extension
information
search
policy
Prior art date
Application number
KR1020100127005A
Other languages
English (en)
Other versions
KR20120065728A (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 한국전자통신연구원
Priority to KR1020100127005A priority Critical patent/KR101343611B1/ko
Publication of KR20120065728A publication Critical patent/KR20120065728A/ko
Application granted granted Critical
Publication of KR101343611B1 publication Critical patent/KR101343611B1/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
    • H04L45/7453Address table lookup; Address filtering using hashing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2101/00Indexing scheme associated with group H04L61/00
    • H04L2101/60Types of network addresses
    • H04L2101/618Details of network addresses
    • H04L2101/659Internet protocol version 6 [IPv6] addresses

Landscapes

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

Abstract

본 발명은 특수 목적의 메모리를 사용하지 않고 일반적인 메모리를 사용하면서 해시 방법을 이용하여 정책 기반 라우팅을 효율적으로 수행하기 위한 방법을 제공한다. 정책 기반 라우팅 테이블은 기본 테이블 및 확장 테이블을 포함한다. 기본 테이블 및 확장 테이블은 각각 복수 개의 단위 엔트리를 포함한다. 단위 엔트리는 해시 값 별 IPv6 검색 정보, 출력 포트 정보 및 확장 테이블의 엔트리를 지시하는 확장 포인터를 포함한다. 패킷이 입력되면, 기본 테이블에서 입력된 패킷에 대한 단위 엔트리가 검색된다. 입력된 패킷에 대한 단위 엔트리가 기본 테이블에서 검색되지 않으면, 확장 테이블에서 입력된 패킷에 대한 단위 엔트리가 검색된다.

Description

정책 기반 라우팅을 이용하여 패킷을 처리하는 장치 및 방법{Apparatus and method for processing IPv6 packet using routing based on policy}
본 발명은 라우터와 같이 패킷 처리 장치에서 정책에 기반하여 패킷을 처리하는 방법에 관한 것이다.
정책기반 라우팅 방법은 보안 등의 목적으로 패킷의 목적지 주소가 아닌 네트워크 관리자의 정책에 맞게 패킷을 포워딩하는 것이다. 일반적으로 정책에 기반한 패킷 전달은 패킷의 소스 주소 혹은 DSCP(Differentiated Services Code Point)값 등에 기반하여 관련 테이블을 룩업하고 이 결과에 따라 패킷을 해당 목적지로 전달하여 수행된다. 현재 인터넷의 주소 체계는 IPv4(Internet Protocol version 4) 주소 체계와 IPv6(Internet Protocol version 6) 주소 체계로 구분될 수 있다. 128비트의 길이의 IPv6 주소 체계는 처리해야 되는 주소의 크기가 커서, 고속의 패킷 포워딩을 위한 테이블 룩업을 위하여 TCAM(Ternary Content-Addressable Memory)등과 같은 특수 목적의 메모리를 이용한다.
TCAM 메모리에 찾고자 하는 IPv6 주소를 입력하면, TCAM 메모리에서 해당 IPv6 패킷 주소가 검색되어, 일치하는 검색 결과가 반환된다. 반환된 결과를 이용하여 해당 패킷의 출력 포트가 결정되고, 해당 출력 포트로 패킷이 포워딩된다. TCAM 메모리를 이용한 검색 방법은 하드웨어에서 매우 빠른 고속 검색을 지원함으로 빠른 검색이 가능하여 용량이 큰 라우터에서 많이 사용하는 방법이다.
그러나, 이와 같은 TCAM 메모리는 상당히 고가여서 사용하기 쉽지 않으며 사용시에도 메모리에 많은 전원을 공급해야 하므로 시스템에서 필요로 되는 전원용량이 증가하는 단점이 있다. 따라서, 저탄소 소형 IPv6 패킷 처리를 위한 패킷 처리 장치에서 사용하기 어렵다.
TCAM과 같은 메모리를 사용하지 않는 방법으로는 일반적으로 사용하는 메모리를 이용하여 트리(Tree) 검색 방법이나 연계 리스트(Linked-List) 방법으로 구성된 IPv6 주소 테이블을 이용하는 방법이 있다. 소용량 IPv6 패킷 전달 장치(또는 라우터)에서 이러한 방법들을 사용하여 목적지 주소를 이용한 패킷 포워딩을 수행하고 있다. 그러나, 이러한 방법은 IPv6 주소 공간이 커서 메모리 비교가 많이 발생하여 성능에 저하를 발생시킨다. 즉, 이러한 시스템에서 정책기반 라우팅을 위하여 IPv6 소스 주소를 기반으로 테이블 룩업을 수행하는 것은 시스템 성능에 많은 문제를 발생시킨다.
근래의 라우터 같은 패킷 전달 장치에서는 보안이나 기타 정책적인 이유로 인하여 단순 목적지 주소만을 이용한 패킷 포워딩하는 방법과 더불어 정책 기반 라우팅에 의한 패킷 포워딩 장치를 기본적으로 요구한다. 따라서, 소용량 IPv6 패킷 전달 장치에서도 일반적인 메모리를 이용하면서도 보다 빠른 정책 기반 라우팅을 위한 IPv6 주소 검색 방법이 필요하다.
본 발명은 특수 목적의 메모리를 사용하지 않고 일반적인 메모리를 사용하면서 해시 방법을 이용하여 메모리 비교 연산을 최소화함으로써 IPv6 소스 주소 기반의 정책기반 라우팅 테이블의 빠른 검색을 가능하게 하여 정책 기반 라우팅을 효율적으로 수행하기 위한 방법을 제공한다.
일 측면에 따른 패킷 처리 방법은, 수신된 패킷에 대한 해시 값을 계산하는 단계와, 패킷들의 해시 값 별 IPv6 검색 정보, 출력 포트 정보 및 확장 테이블의 단위 엔트리를 지시하는 확장 포인터를 포함하는 정책 기반 라우팅 테이블의 기본 테이블에서, 계산된 해시 값에 대응하는 제1 단위 엔트리를 검색하여, 제1 단위 엔트리에 포함된 IPv6 검색 정보와 패킷에 포함된 정보가 일치하는지 결정하는 단계와, 제1 단위 엔트리에 포함된 IPv6 검색 정보와 패킷에 포함된 정보가 일치하는 경우, 제1 단위 엔트리에 포함된 출력 포트 정보에 따라 패킷을 처리하는 단계와, 제1 단위 엔트리에 포함된 IPv6 검색 정보와 패킷에 포함된 정보가 일치하지 않는 경우, 확장 포인터가 지시하는 확장 테이블의 제2 단위 엔트리를 검색하여, 제2 단위 엔트리에 포함된 IPv6 검색 정보와 패킷에 포함된 정보와 일치하는지 결정하는 단계와, 제2 단위 엔트리에 포함된 IPv6 검색 정보와 패킷에 포함된 정보가 일치하는 경우, 제2 엔트리에 포함된 출력 포트 정보에 따라 패킷을 처리하는 단계를 포함한다.
본 발명에 따르면, 라우터와 같은 패킷 전달 장치에서 일반적인 메모리를 이용하여 IPv6 소스 주소기반의 정책기반 라우팅을 가능하게 한다. TCAM과 같은 고가의 메모리를 사용하지 않아 저렴하게 정책 기반 라우팅 패킷 전달 기능을 구현할 수 있다. 또한, 일반 메모리를 사용하면서도 트리(Tree)나 연계 리스트(linked-List)와 같은 많은 메모리 비교 연산을 요구하지 않아서 IPv6 주소와 같은 큰 크기의 주소에 대한 정확한 매칭(Exact Match)를 통한 정책기반 라우팅 방법을 최소한의 메모리 비교만으로도 구현할 수 있다.
도 1은 본 발명의 일 실시예에 따른 패킷 전달 장치에서의 정책기반 라우팅 방법을 나타내는 순서도이다.
도 2는 본 발명의 일 실시예에 따른 정책기반 라우팅 테이블을 포함하는 메모리의 구성을 나타내는 도면이다.
도 3은 본 발명의 일 실시예에 따른 정책기반 라우팅을 수행하는 패킷 전달 장치의 구성을 나타내는 블록도이다.
도 4는 본 발명의 다른 실시예에 정책기반 라우팅 방법을 나타내는 순서도이다.
이하, 첨부된 도면을 참조하여 본 발명의 일 실시예를 상세하게 설명한다. 본 발명을 설명함에 있어 관련된 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다. 또한, 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다. 상기의 기술적인 과제를 달성하기 위하여 본 발명은 도면을 예를 들어 설명한다.
도 1은 일 실시예에 따른 패킷 전달 장치에서의 정책기반 라우팅의 처리 흐름을 나타내는 도면이다.
패킷이 라우터와 같은 패킷 전달 장치로 도착하면(110), 기본적인 패킷의 이상유무를 확인한다. 이 확인에서 이상 없음으로 판단된 패킷에 대한 정책기반 라우팅(Policy Based Routing; PBR) 테이블을 검색한다(120). 일반적으로는 패킷의 소스 주소를 추출하고, 정책기반 라우팅 테이블에서 추출된 소스 주소를 기반으로 패킷 처리를 위한 정책 정보가 검색될 수 있다. 이를 위해서, 일반적으로 IPv6 소스 주소와 메모리의 정책 기반 라우팅 테이블의 데이터를 여러 번 비교하는 과정이 수행되므로, 시간 및 자원이 많이 소요된다.
본 발명의 일 실시예에 따르면, IPv6 주소를 해시 함수를 이용하여 해시하고 이 해시값을 인덱스로 하여 정책기반 라우팅 테이블을 검색한다. 이와 같은 방법으로, 저가의 메모리를 이용하여 IPv6 주소에 대한 정확한 매칭(Exact Match)를 통해 정책기반 라우팅(PBR:Policy Base Routing)이 가능해질 수 있다. 본 발명의 정책 기반 테이블의 구성 및 검색 방법은 도 2를 참조하여 후술한다.
검색 결과를 확인하여(130), 검색된 내용이 있으면 이를 기반으로 패킷을 처리한다(140). 이때 패킷을 버리거나 특정 출력 포트로 해당 패킷을 전달할 수 있다. 정책기반 라우팅 테이블에서 검색 결과를 찾지 못한 경우(130), 패킷에서 목적지 주소를 추출하고, 추출된 목적지 주소를 이용하여 목적지 주소 기반 라우팅 테이블을 검색하여(150), 해당 패킷을 검색 결과에 따라 처리한다(160). 목적지 주소 기반 라우팅 테이블은 FIB(Forwarding Inforamtion Base) 테이블이라고도 한다.
도 2는 본 발명의 일 실시예에 따른 정책기반 라우팅 테이블을 포함하는 메모리의 구성을 나타내는 도면이다.
정책 기반 라우팅 테이블을 저장하는 메모리(200)는 기본 테이블(210)과 확장 테이블(220)로 크게 2부분으로 구분된다.
기본 테이블(210)는 복수의 단위 엔트리를 포함하고, 각각의 단위 엔트리는 해시값을 인덱스로 사용하여 한번에 검색되도록 구성된다. 기본 테이블(210)의 단위 엔트리는 IPv6 검색 정보, 출력 포트 정보 및 확장 테이블의 엔트리를 지시하는 확장 포인터를 포함한다.
플래그는 해당 단위 엔트리에 테이블 정보가 설정되어 있는지를 나타낸다.
출력 포트 정보는 해당 패킷이 어떤 출력 포트로 나가는지를 나타낸다. 출력 포트 정보에 해당 패킷의 폐기를 나타내는 정보가 설정되는 경우, 패킷이 폐기될 수도 있다.
IPv6 검색 정보는 해당 단위 엔트리가 입력된 패킷을 위한 정보인지를 확인하는데 이용되는 정보이다. IPv6 검색 정보는 IPv6 주소 중 소스 주소 정보일 수 있으나, 목적지 주소가 아닌 한 IPv6 주소 중 다른 필드의 정보가 이용될 수 있다.
해시 함수를 이용하여 해시 값을 계산할 때, 서로 다른 IPv6 주소가 동일한 해시 값을 가질 수 있다. 이를 구분하기 위하여, 기본 테이블(210) 및 확장 테이블(220)의 각 단위 엔트리 내에 비교를 위한 IPv6 소스 주소와 같은 IPv6 검색 정보를 기입하여 실제 찾고자 테이블 엔트리가 맞는지 확인하는데 이용한다.
이하에서는, 설명의 편의를 위하여, IPv6 검색 정보가 소스 주소라고 가정하고 설명한다.
입력된 패킷의 해시 값에 의해서 찾은 엔트리의 IPv6 주소를 비교하여 해당 패킷을 위한 정보가 아닌 경우, 확장 포인터는 다음번 단위 엔트리를 찾아 갈 수 있는 주소를 포함한다. 만일 더 이상 검색될 단위 엔트리가 없는 경우 확장 포인터의 값은 0 혹은 NULL로 설정될 수 있다.
확장 테이블(220)도 복수의 단위 엔트리를 포함하며, 확장 테이블(220)의 단위 엔트리는 기본 테이블(210)의 단위 엔트리와 유사하게 플래그, IPv6 검색 정보, 출력 포트 정보 및 확장 테이블의 단위 엔트리를 지시하는 확장 포인터를 포함한다. 그러나, 확장 테이블(210)의 단위 엔트리는 해시 값으로 검색되지 않고, 기본 테이블(210)의 확장 포인터 또는 확장 테이블(210)의 각 단위 엔트리에 포함된 확장 포인터로 검색될 수 있다.
확장 테이블(220)에는 기본 테이블(210)에 포함된 IPv6 주소에 대한 해시 값과 동일한 해시 값을 생성하는 다른 IPv6 주소를 포함하는 단위 엔트리들이 포함될 수 있다. 예를 들어, 3개의 IPv6의 주소를 A, B 및 C로 나타내고, 주소 A, B 및 C에 대한 해시 값이 동일한 경우, 주소 A에 대한 단위 엔트리는 기본 테이블(210)에 포함되고, 주소 B 및 C에 대한 단위 엔트리는 확장 테이블(220)에 포함될 수 있다.
따라서, 기본 테이블(210)에서 입력된 패킷의 해시 값을 이용하여 단위 엔트리를 검색하였지만, 패킷의 IPv6 소스 주소 및 검색된 단위 엔트리의 IPv6 소스를 비교한 결과, 검색된 단위 엔트리가 해당 패킷의 단위 엔트리가 아닌 경우는, 검색된 단위 엔트리 내에 있는 확장 포인터를 이용하여 확장 테이블(220)을 검색할 수 있다. 또한, 확장 테이블(220)에서 검색된 단위 엔트리 내에 있는 또 다른 단위 엔트리를 지시하는 확장 포인터를 이용하여, 입력된 패킷에 대한 단위 엔트리를 검색할 수 있다. 이러한 동작은, 입력된 패킷에 대한 단위 엔트리가 검색될 때까지 반복될 수 있다. 마지막 단위 엔트리의 확장 포인터에는 0으로 설정되어 있어서 마지막 단위 엔트리이며, 더 이상 검색될 단위 엔트리가 없음이 표시될 수 있다.
도 2에서, 기본 테이블(210)의 단위 엔트리(10), 확장 테이블(220)의 단위 엔트리(12) 및 단위 엔트리(14)는 동일한 해시 값을 생성하는 IPv6 주소에 대한 단위 엔트리라고 가정하고, 입력된 패킷의 정책 기반 라우팅 방법을 설명한다.
패킷 전달 장치에 입력된 패킷의 IPv6 주소의 해시 값이 'x1'인 경우, 기본 테이블(210)에서 단위 엔트리(10)가 검색된다. 단위 엔트리(10)에는 플래그 #1, 출력 포트 정보 #1, IPv6 소스 주소 #1 및 확장 포인터 #1이 포함된다.
입력된 패킷의 IPv6의 주소 중 소스 주소와 단위 엔트리(10)의 IPv6 소스 주소 #1를 비교한 결과, 입력된 패킷의 IPv6의 주소 중 소스 주소와 단위 엔트리(10)의 IPv6 소스 주소 #1가 일치하면, 입력된 패킷은 단위 엔트리(10)에 포함된 출력 포트 정보 #1을 이용하여 처리될 수 있다. 입력된 패킷의 IPv6 주소의 소스 주소와 단위 엔트리(10)의 IPv6 소스 주소 #1가 일치하지 않으면, 입력된 패킷의 IPv6의 주소를 확장 포인터 #1이 가리키는 확장 테이블(220)의 단위 엔트리(12)가 검색되고, 단위 엔트리(12)에 포함된 IPv6 소스 주소 #2와 비교한다.
비교 결과, 입력된 패킷의 IPv6 주소의 소스 주소와 단위 엔트리(12)의 IPv6 소스 주소 #2가 일치하면, 입력된 패킷은 단위 엔트리(12)에 포함된 출력 포트 정보 #2을 이용하여 처리될 수 있다. 입력된 패킷의 IPv6 주소의 소스 주소와 단위 엔트리(12)의 IPv6 소스 주소 #2가 일치하지 않으면, 입력된 패킷의 IPv6의 주소를 확장 포인터 #2이 가리키는 확장 테이블(220)의 단위 엔트리(14)에 포함된 IPv6 소스 주소 #3와 비교한다.
비교 결과, 입력된 패킷의 IPv6 주소의 소스 주소와 단위 엔트리(14)의 IPv6 소스 주소 #3이 일치하면, 입력된 패킷은 단위 엔트리(14)에 포함된 출력 포트 정보 #3을 이용하여 처리될 수 있다. 입력된 패킷의 IPv6 주소의 소스 주소와 단위 엔트리(14)의 IPv6 소스 주소 #3이 일치하지 않으면, 단위 엔트리(14)에 포함된 확장 포인터 #3이 가리키는 확장 테이블(220)의 다른 단위 엔트리가 검색될 수 있다. 확장 포인터 #3이 0으로 설정되어 있어서 마지막 엔트리임을 나타내는 경우, 입력된 패킷은 정책 기반 라우팅 테이블을 이용하여 처리될 필요가 없는 것으로 결정되고, 목적지 기반 라우팅 테이블에 따라 처리될 수 있다.
이와 같이 해시 값을 이용하여 정책기반 테이블을 검색하면 모든 테이블 엔트리를 비교하지 않고 최소의 비교를 통하여 테이블 엔트리를 찾아서 이 정보를 기반으로 패킷을 포워딩할 수 있다. 이와 같은 방법으로 IPv6주소와 같이 128비트 크기의 주소도 빠른 속도로 정책 기반 라우팅 테이블을 검색하여 패킷을 포워딩할 수 있다.
도 3은 본 발명의 일 실시예에 따른 정책기반 라우팅을 수행하는 패킷 전달 장치의 구성을 나타내는 블록도이다.
패킷 전달 장치(300)는 패킷 처리부(310), 정책 기반 라우팅 테이블 저장부(320) 및 목적지 기반 라우팅 테이블 저장부(330)을 포함할 수 있다.
패킷이 수신되면, 패킷 처리부(310)는 소정의 해시 함수를 이용하여 패킷의 해시 값을 계산한다. 패킷 처리부(310)는 입력된 패킷의 IPv6 주소에 포함된 소스 주소를 이용하여 해시 값을 계산할 수 있으나, 이에 한정되지 않고, IPv6의 주소에 포함된 하나 이상의 필드를 이용하여 해시 값을 계산할 수 있다. 패킷 처리부(310)는 계산된 해시 값에 대응하는 단위 엔트리를 우선 정책 기반 라우팅 테이블 저장부(320)로부터 검색한다.
정책 기반 라우팅 테이블 저장부(320)는, 도 2의 메모리(200)에 대응한다. 정책 기반 라우팅 테이블 저장부(320)는 기본 테이블(310) 및 확장 테이블(320)을 포함할 수 있으며, 도 2에 도시된 바와 같은 구조를 가질 수 있다. 패킷 처리부(310)는 도 2를 참조하여 설명한 바와 같이, 입력된 패킷에 대한 단위 엔트리를 검색하여, 검색된 단위 엔트리에 포함된 출력 포트 정보에 따라서 입력된 패킷을 처리할 수 있다. 정책 기반 라우팅 테이블(320)은 DDR(Double Data Rate) 메모리로 구현될 수 있다.
목적지 기반 라우팅 테이블 저장부(330)는 IPv6 목적지 주소별 라우팅 정보를 포함한다. 패킷 처리부(310)는 정책 기반 라우팅 테이블(310)에서 입력된 패킷에 대한 단위 엔트리를 검색하지 못한 경우, 목적지 기반 라우팅 테이블(330)을 이용하여 입력된 패킷을 처리할 수 있다.
도 4는 본 발명의 다른 실시예에 정책기반 라우팅 방법을 나타내는 순서도이다.
수신된 패킷에 대한 해시 값을 계산한다(410).
해시 값 별 IPv6 검색 정보, 출력 포트 정보 및 확장 테이블의 엔트리를 지시하는 확장 포인터를 포함하는 기본 테이블에서, 계산된 해시 값에 대응하는 제1 단위 엔트리를 검색하여(420), 제1 단위 엔트리에 포함된 IPv6 검색 정보와 패킷에 포함된 정보와 일치하는지 결정한다(430). 제1 단위 엔트리에 포함된 IPv6 검색 정보 및 패킷에 포함된 정보는 각각 IPv6 주소의 소스 주소일 수 있으며, 다른 필드의 값이 이용될 수도 있다.
제1 단위 엔트리에 포함된 IPv6 검색 정보와 패킷에 포함된 정보가 일치하는 경우(430), 제1 단위 엔트리에 포함된 출력 포트 정보에 따라 패킷을 처리한다(440).
제1 단위 엔트리에 포함된 정책 기반 라우팅 검색 정보와 패킷에 포함된 정보가 일치하지 않는 경우(430), 제1 단위 엔트리에 포함된 확장 포인터가 지시하는 확장 테이블의 제2 단위 엔트리를 검색하여(450), 제2 단위 엔트리에 포함된 IPv6 검색 정보와 패킷에 포함된 정보와 일치하는지 결정한다(460).
제2 단위 엔트리에 포함된 IPv6 검색 정보와 패킷에 포함된 정보가 일치하는 경우(460), 제2 단위 엔트리에 포함된 출력 포트 정보에 따라 패킷을 처리한다(470).
제2 단위 엔트리에 포함된 IPv6 검색 정보와 패킷에 포함된 정보가 일치하지 않는 경우(460), 현재 검색된 단위 엔트리에 확장 포인터 값이 존재하는지 확인한다(470). 현재 검색된 제2 단위 엔트리에 확장 포인터 값이 존재하면(470), 해당 확장 포인터가 지시하는 확장 테이블의 단위 엔트리를 검색하는 단계(450)로 진행한다.
현재 검색된 단위 엔트리에 확장 포인터 값이 존재하지 않으면(470), 예를 들어, 확장 포인터 값이 0을 나타내면, 현재 검색된 단위 엔트리가 검색될 마지막단위 엔트리이므로, 입력된 패킷의 목적지 주소를 이용하여 목적지 기반 라우팅 테이블을 검색하고(480), 검색 결과에 따라 패킷이 처리된다(490).
본 발명의 일 양상은 컴퓨터로 읽을 수 있는 기록 매체에 컴퓨터가 읽을 수 있는 코드로서 구현될 수 있다. 상기의 프로그램을 구현하는 코드들 및 코드 세그먼트들은 당해 분야의 컴퓨터 프로그래머에 의하여 용이하게 추론될 수 있다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록 장치를 포함한다. 컴퓨터가 읽을 수 있는 기록 매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광 디스크 등을 포함한다. 또한, 컴퓨터가 읽을 수 있는 기록 매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산 방식으로 컴퓨터가 읽을 수 있는 코드로 저장되고 실행될 수 있다.
이상의 설명은 본 발명의 일 실시예에 불과할 뿐, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 본 발명의 본질적 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현할 수 있을 것이다. 따라서, 본 발명의 범위는 전술한 실시예에 한정되지 않고 특허 청구범위에 기재된 내용과 동등한 범위 내에 있는 다양한 실시 형태가 포함되도록 해석되어야 할 것이다.

Claims (9)

  1. 삭제
  2. 삭제
  3. 네트워크 상에서 수신된 IPv6(Internet Protocol version 6) 주소체계를 갖는 패킷을 라우팅을 이용하여 처리하는 방법에 있어서,
    상기 수신된 패킷의 IPv6 소스 주소를 해시하여 해시값을 산출하는 단계; 및
    출력포트정보 및 확장포인터를 포함하는 기본테이블과 상기 확장포인터에 대응되는 확장테이블을 포함하는 정책기반라우팅테이블의 기본테이블에서 상기 산출된 해시값에 대응하는 라우팅정보를 검색하고, 검색결과가 다수이면 확장테이블에서 IP검색정보를 추가로 검색하여 상기 수신된 패킷을 포워딩 처리하는 단계;를 포함하되,
    상기 산출하는 단계는 상기 수신된 패킷으로부터 목적지 주소정보를 더 산출하며, 상기 처리하는 단계는 정책기반라우팅테이블에서 검색에 실패하면 상기 산출된 목적지주소정보를 이용하여 패킷의 목적지주소별 라우팅정보를 포함하는 목적지주소라우팅테이블에서 검색하여 상기 수신된 패킷을 포워딩 처리하는 것을 특징으로 하는 정책기반 라우팅을 이용하여 패킷을 처리하는 방법.
  4. 제 3항에 있어서, 상기 확장테이블은 확장포인터를 포함하고,
    상기 확장테이블에서 IP검색정보를 추가로 검색한 후에도 상기 검색결과가 다수이면, 상기 확장테이블의 확장포인터가 0 또는 NULL이 되거나, 단일한 검색결과가 될때까지 확장포인터에 대응하는 확장테이블을 따라 추가로 계속하여 검색하는 것을 특징으로 하는 정책기반 라우팅을 이용하여 패킷을 처리하는 방법.
  5. 삭제
  6. 삭제
  7. 삭제
  8. 네트워크 상에서 수신된 IPv6(Internet Protocol version 6) 주소체계를 갖는 패킷을 라우팅을 이용하여 처리하는 장치에 있어서,
    IPv6 소스 주소에 대한 해시값을 인덱스로 한 출력포트정보와 확장포인터를 포함하는 기본테이블과 상기 확장포인터에 대응하는 확장테이블저장부를 포함하는 정책기반라우팅테이블을 저장하는 정책기반라우팅테이블저장부;
    목적지주소별 라우팅정보를 포함하는 목적지주소라우팅테이블저장부;
    소정의 해시함수를 이용하여 상기 수신된 패킷의 IPv6 소스 주소를 해시하여 해시값을 산출하고, 산출된 해시값에 대응하는 라우팅정보를 기본테이블 저장부에서 검색하고, 검색결과가 다수이면 확장테이블저장부에서 IP검색정보를 추가로 검색하여 상기 수신된 패킷을 포워딩 처리하는 패킷처리부;를 포함하되,
    상기 패킷처리부는 정책기반라우팅테이블에서 검색에 실패하면 상기 산출된 목적지주소정보를 이용하여 목적지주소라우팅테이블에서 라우팅정보를 검색하여 상기 수신된 패킷을 포워딩 처리하는 것을 특징으로 하는 정책기반 라우팅을 이용하여 패킷을 처리하는 장치.
  9. 제 8항에 있어서, 상기 확장테이블저장부는 확장포인터를 포함하고,
    상기 패킷처리부는 확장테이블저장부에서 IP검색정보를 추가로 검색한 후에도 상기 검색결과가 다수이면, 상기 확장테이블저장부의 확장포인터가 0 또는 NULL이 되거나, 단일한 검색결과가 될때까지 확장포인터에 대응하는 확장테이블저장부를 추가로 계속하여 검색하는 것을 특징으로 하는 정책기반 라우팅을 이용하여 패킷을 처리하는 장치.
KR1020100127005A 2010-12-13 2010-12-13 정책 기반 라우팅을 이용하여 패킷을 처리하는 장치 및 방법 KR101343611B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020100127005A KR101343611B1 (ko) 2010-12-13 2010-12-13 정책 기반 라우팅을 이용하여 패킷을 처리하는 장치 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020100127005A KR101343611B1 (ko) 2010-12-13 2010-12-13 정책 기반 라우팅을 이용하여 패킷을 처리하는 장치 및 방법

Publications (2)

Publication Number Publication Date
KR20120065728A KR20120065728A (ko) 2012-06-21
KR101343611B1 true KR101343611B1 (ko) 2014-03-07

Family

ID=46685349

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020100127005A KR101343611B1 (ko) 2010-12-13 2010-12-13 정책 기반 라우팅을 이용하여 패킷을 처리하는 장치 및 방법

Country Status (1)

Country Link
KR (1) KR101343611B1 (ko)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100811881B1 (ko) * 2005-12-08 2008-03-10 한국전자통신연구원 패킷 전송 경로 선택 장치 및 그 방법
KR20100109023A (ko) * 2009-03-31 2010-10-08 주식회사 케이티 일반전화와 인터넷전화 서비스를 모두 제공하는 게이트웨이장치 및 그 방법

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100811881B1 (ko) * 2005-12-08 2008-03-10 한국전자통신연구원 패킷 전송 경로 선택 장치 및 그 방법
KR20100109023A (ko) * 2009-03-31 2010-10-08 주식회사 케이티 일반전화와 인터넷전화 서비스를 모두 제공하는 게이트웨이장치 및 그 방법

Also Published As

Publication number Publication date
KR20120065728A (ko) 2012-06-21

Similar Documents

Publication Publication Date Title
US10257092B2 (en) CCN routing using hardware-assisted hash tables
US11102120B2 (en) Storing keys with variable sizes in a multi-bank database
US11627083B1 (en) Protocol-independent receive-side scaling
US10003533B2 (en) SDN packet forwarding
US9729669B2 (en) Method and system for fast and large-scale longest prefix matching
US9537771B2 (en) Exact match hash lookup databases in network switch devices
US9178806B2 (en) High-speed content routing
US10171419B2 (en) IP route caching with two search stages on prefix length
US10798000B2 (en) Method and apparatus of compressing network forwarding entry information
TWI645694B (zh) 用於處理交替配置的最長首碼匹配表的裝置和方法
US20180109454A1 (en) Forwarding information base architecture for a hybrid ip and content centric network router
US9729446B1 (en) Protocol-independent packet routing
US20150049764A1 (en) Distributed Storage System, Control Apparatus, Client Terminal, Load Balancing Method and Program
Li et al. An improved trie-based name lookup scheme for named data networking
US20230041395A1 (en) Method and Device for Processing Routing Table Entries
KR101343611B1 (ko) 정책 기반 라우팅을 이용하여 패킷을 처리하는 장치 및 방법
US9210103B1 (en) Policy control list keys for network devices
CN113824814A (zh) 一种转发表的地址匹配方法、装置、网络设备及介质
US9544226B1 (en) Efficient address-based rule resolution in a network employing a bit-mapped index
CN107204926B (zh) 预处理cache的路由快速查找方法
EP2947839A1 (en) Method and apparatus to forward a request for content

Legal Events

Date Code Title Description
A201 Request for examination
AMND Amendment
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
X091 Application refused [patent]
AMND Amendment
X701 Decision to grant (after re-examination)
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20161121

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20180307

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20181210

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20191210

Year of fee payment: 7