KR100755979B1 - 네트워크 스위치 포트상에서 와이어 속도로 데이터 패킷을식별하는 장치 및 방법 - Google Patents

네트워크 스위치 포트상에서 와이어 속도로 데이터 패킷을식별하는 장치 및 방법 Download PDF

Info

Publication number
KR100755979B1
KR100755979B1 KR1020037002216A KR20037002216A KR100755979B1 KR 100755979 B1 KR100755979 B1 KR 100755979B1 KR 1020037002216 A KR1020037002216 A KR 1020037002216A KR 20037002216 A KR20037002216 A KR 20037002216A KR 100755979 B1 KR100755979 B1 KR 100755979B1
Authority
KR
South Korea
Prior art keywords
input data
data packet
minimum
packet
network switch
Prior art date
Application number
KR1020037002216A
Other languages
English (en)
Other versions
KR20030036700A (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 KR20030036700A publication Critical patent/KR20030036700A/ko
Application granted granted Critical
Publication of KR100755979B1 publication Critical patent/KR100755979B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/2441Traffic characterised by specific attributes, e.g. priority or QoS relying on flow classification, e.g. using integrated services [IntServ]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/60Software-defined switches
    • H04L49/602Multilayer or multiprotocol switching, e.g. IP switching
    • 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/3009Header conversion, routing tables or routing tags
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/35Switches specially adapted for specific applications
    • H04L49/351Switches specially adapted for specific applications for local area network [LAN], e.g. Ethernet switches
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers

Abstract

입력 데이터 패킷의 블록킹 없이 이서넷(IEEE 802.3) 네트워크에서 계층 2 및 계층 3 스위칭을 수행하도록 구성된 네트워크 스위치는 네트워크 스위치 포트에서 수신 즉시 입력 데이터 패킷을 평가하도록 구성된 필터(즉, 패킷 분류자 모듈)를 갖는 네트워크 스위치 포트를 포함한다. 필터는 데이터 패킷의 입력 데이터 스트림과 각 데이터 프로토콜을 식별하도록 구성된 다중 템플릿과의 즉시 비교를 수행한다. 각 템플릿은 복수의 최소항으로 구성되고, 여기서 각 최소항은 입력 데이터 패킷의 선택 데이터 바이트 내에 소정의 비교 동작을 특정한다. 템플릿은 사용자에 의해 프로그램되고 내부 최소항 메모리에 저장될 수 있다. 더욱이, 다중 동시 비교는 네트워크 스위치가 네트워크 스위치에서 블록킹 없이 100 Mbps 및 기가바이트 네트워크를 위한 계층 3 스위칭을 수행할 수 있게 한다.

Description

네트워크 스위치 포트상에서 와이어 속도로 데이터 패킷을 식별하는 장치 및 방법{APPARATUS AND METHOD FOR IDENTIFYING DATA PACKET AT WIRE RATE ON A NETWORK SWITCH PORT}
본 발명은 서브네트워크간에 데이터 패킷을 스위칭하도록 구성된 비-블록킹(non-blocking) 네트워크 스위치에서 데이터 패킷의 계층 2 및 계층 3 스위칭에 관한 것이다.
WO-A-98/35480은 데이터 패킷의 종류를 결정하기 위해 네트워크 노드에 입력 데이터 패킷을 처리하는 매체 액세스 제어 마이크로-리스크(micro-RISC) 스트림 프로세서를 설명하고 있다. 프로세서는 패킷이 상위 계층에 스트림라인(streamline)되기 전에 데이터 패킷에 상기 데이터 패킷에 관한 정보를 포함한 데이터 구조를 첨부한다. 마이크로-리스크 스트림 프로세서에 의해 구현되는 방법은 첨부한 청구항 1의 전제부의 특징을 포함한다.
근거리통신망은 네트워크 케이블 또는 다른 매체를 사용하여 네트워크 상의 스테이션을 링크한다. 각 근거리통신망 구조는 각 네트워크 노드의 네트워크 인터페이스 장치가 네트워크 매체에 액세스하게 할 수 있는 매체 액세스 제어(MAC)를 사용한다.
이서넷 프로토콜 IEEE 802.3은 데이터 패킷 전송을 위한 반 이중(half-duplex) 매체 액세스 메커니즘 및 전 이중(full-duplex) 매체 액세스 메커니즘에 대한 상세를 점차 발전시켜 나가고 있다. 전 이중 매체 액세스 메커니즘은 2개의 네트워크 요소간 예를 들어 네트워크 노드와 스위칭되는 허브간의 양방향, 포인트-투-포인트(point-to-point) 통신링크를 제공한다.
스위치형 근거리통신망은 보다 빠른 고속 연결성, 보다 유연한 스위칭 성능 및 복잡한 네트워크 아키텍처를 수용할 수 있는 능력에 대한 요구가 점점 증가하고 있다. 예를 들어, 본원 출원인에 양도된 미국 특허 제5,953,335호는 서로 다른 네트워크 노드간의 계층 2형 이서넷(IEEE 802.3) 데이터 패킷을 스위칭하도록 구성된 네트워크 스위치를 개시한다. 이 특허에 따르면, 수신 데이터 패킷은 다른 서브네트워크(라우터를 통해) 또는 소정 그룹의 스테이션들을 규정하는 IEEE 802.1q 프로토콜에 따라 VLAN(가상 LAN) 태그가 붙은 프레임을 포함한다. 계층 2 레벨에서 스위칭이 발생하기 때문에, 서브네트워크간에 데이터 패킷을 전송하는데 전형적으로 라우터가 필요하게 된다.
현재 계층 2 스위치는 비-블록킹 모드(이 모드에서 데이터 패킷이 수신 속도와 동일한 속도로 스위치로부터 출력될 수 있다)에서 동작하도록 구성되어 있기 때문에, 계층 3(예를 들어, 인터넷 프로토콜) 처리를 포함하는 네트워크 스위치의 스위칭 성능을 향상시키려는 노력들은 심각한 장애를 겪는다. 100Mbps 또는 기가비트 네트워크 등의 고속 네트워크에 대해 더 고속의 스위치가 계층 2 스위칭 및 계층 3 스위칭 능력을 제공할 수 있도록 하는 새로운 설계가 필요하다.
그러나, 네트워크 스위치의 스위칭 구조(fabric)가 와이어 속도(즉, 네트워크 데이터 속도)로 계층 3 처리를 수행하기가 점점 어려워짐에 따라, 그러한 설계요건은 네트워크 스위치의 비-블록킹 특성을 손상시킬 위험이 있다.
종래의 라우터 및 고성능 스위치는 집중화 소프트웨어 기반 CPU 집약 방식을 이용하여 분류를 위해 데이터 패킷을 조사하고 등급 또는 패킷의 스위칭/라우팅을 위한 우선순위를 결정한다. 도 1은 데이터 패킷이 종래의 네트워크 스위치 포트에 도착하여(T1) 출력 포트 상의 네트워크 스위치를 떠날 때까지(T10)의 데이터 패킷의 타임 시퀀스를 나타낸다. 패킷이 프로세서로 전송되고(T3에서) 프로세서에 의해 분류되어야(T5-T6에서) 하기 때문에, 대기시간(비트 선입선출)이 길며 S1+S2+S3+S4로서 표현될 수 있다. 대기시간이 긴 것은 패킷이 전부 수신될 때까지 패킷의 처리가 시작되지 않기 때문이다(T2 후에).
네트워크 스위치가 데이터 패킷의 블록킹 없이 100Mbps 및 기가비트 링크를 위한 계층 2 스위칭 및 계층 3 스위칭 능력을 제공할 수 있게 하는 장치가 필요하다.
또한, 네트워크 스위치가 상기 네트워크 스위치 내의 최소 버퍼링으로(그렇지 않으면 스위칭 데이터 패킷의 대기시간에 영향을 줄 수 있음) 계층 2 스위칭 및 계층 3 스위칭 능력을 제공할 수 있게 하는 장치가 필요하다.
또한, 서로 다른 종류들의 계층 3 데이터 패킷들을 구별하여 서비스 품질(QoS)이 달성될 수 있도록 네트워크 스위치가 용이하게 프로그램될 수 있게 하는 장치가 필요하다.
또한, 네트워크 스위치 포트가 입력 데이터 패킷을 즉시 평가하여 계층 3 또는 상위 프로토콜을 결정할 수 있게 하고, 검출된 프로토콜에 따라서 입력 데이터 패킷을 처리하기 위해 관련된 스위치 구조에 충분한 시간을 제공할 수 있게 하는 장치가 필요하다.
이러한 및 기타 필요사항들은 본 발명에 의해 획득된다. 네트워크 스위치 포트에서, 데이터 패킷의 마지막 비트가 네트워크 스위치 포트에 수신되자마자 프레 임 태그는 전체 데이터 패킷의 평가에 기초하여 발생된다.
본 발명의 일 양상은 네트워크 스위치 포트에서 입력 데이터 패킷을 평가하는 방법을 제공한다. 이 방법은 각 데이터 포맷을 식별하도록 구성된 복수의 템플릿 - 각 템플릿은 대응하는 소정의 값과 상기 입력 데이터 패킷의 대응하는 선택된 바이트를 비교하도록 구성된 적어도 하나의 최소항을 갖는다 - 을 저장한다. 상기 네트워크 스위치 포트에 의한 상기 선택된 바이트의 수신 즉시 상기 선택된 바이트에 대응하는 최소항이 상기 선택된 바이트와 동시에 비교된다. 상기 최소항과 상기 네트워크 스위치 포트에 의해 수신된 전체 패킷의 데이터 바이트와의 비교에 기초하여 상기 입력 데이터 패킷을 식별하는 비교결과가 생성된다. 상기 데이터 패킷의 마지막 비트가 상기 네트워크 스위치 포트에서 수신되자 마자 상기 비교 결과에 기초하여 프레임 태그가 생성된다.
본 발명의 부가적인 이점 및 새로운 특성은 다음의 설명에서 나타날 것이며 다음의 설명을 정독하거나 본 발명의 실시를 통해 체득한 당업자에게 명백할 것이다. 본 발명의 이점은 첨부된 청구항에서 지적한 수단 및 결합에 의해 실현되고 획득될 수 있다.
도면을 참조한다. 도면에서 동일한 도면부호를 갖는 요소는 명세서를 통하여 동일한 요소를 표시한다.
도 1은 종래의 네트워크 스위치 포트에 패킷이 도착한 시간으로부터 패킷이 포트를 떠날 때까지 정의된 데이터 패킷의 대기시간을 나타낸다.
도 2는 본 발명의 실시예에 의하여 각 서브네트워크들간의 데이터 패킷을 교환하는 다중 네트워크 스위치를 포함하는 패킷 교환 네트워크의 블록도이다.
도 3은 계층 3 인터넷 프로토콜(IP) 패킷을 갖는 종래의 계층 2 이서넷형 데이터 패킷을 도시한 것이다.
도 4는 IP 패킷을 평가하는 종래의 방법을 도시한 순서도이다.
도 5는 본 발명의 실시예에 의하여 네트워크 스위치 포트 필터를 포함하는, 도 2의 네트워크의 네트워크 스위치 포트를 도시한 블록도이다.
도 6a 및 6b는 도 5의 최소항 발생기에 의해 수학식의 4개의 템플릿의 동시 처리를 도시한 것이다.
도 7은 도 5의 최소항 발생기에 의한 최소항의 동시 처리를 더욱 상세히 도시한 것이다.
도 8은 본 발명의 실시예에 의하여 도 5의 최소항 메모리에서 최소항의 테이블 엔트리를 도시한 것이다.
도 9는 네트워크 스위치 포트에 패킷이 도착한 시간으로부터 패킷이 포트를 떠날 때까지 정의된 본 발명의 실시예에 의한 데이터 패킷의 대기시간을 나타낸다
도 2는 이서넷(IEEE 802.3) 네트워크와 같은 패킷 교환 네트워크(10)를 도시하는 블록도이다. 패킷 교환 네트워크는 네트워크 스테이션들(14)간의 데이터 패킷 통신을 가능하게 하는 집적(즉, 단일 칩) 멀티 스위치들(12)을 포함한다. 각 네트워크 스테이션(14)(예를 들어, 클라이언트 워크스테이션)은 전형적으로 IEEE 802.3 프로토콜에 따라서 10Mbps 또는 100Mbps로 데이터 패킷을 송수신하도록 구성된다. 각각의 집적 멀티포트 스위치(12)는 기가비트 이서넷 링크(16)에 의해 상호연결되어 서브네트워크(18a, 18b, 18c)간의 데이터 패킷의 전송을 가능하게 한다. 따라서, 각 서브네트워크는 스위치(12) 및 관련 네트워크 스테이션(14) 그룹을 포함한다.
각 스위치(12)는 스위치 포트(20)를 포함하며, 스위치 포트(20)는 매체 액세스 제어(MAC) 모듈(22) 및 패킷 분류자 모듈(24)을 포함한다. MAC 모듈(22)은 IEEE 802.3u 프로토콜에 따라서 10/100 Mbps 물리층(PHY) 트랜시버(도시하지 않음)를 거쳐 관련 네트워크 스테이션(14)과 데이터 패킷을 송수신한다. 각 스위치(12)는 또한 수신 데이터 패킷에 대한 프레임 포워딩을 결정하도록 구성된 스위치 구조(25)를 포함한다. 특히, 스위치 구조(25)는 발신지 어드레스, 목적지 어드레스 및 이서넷 (IEEE 802.3) 헤더 내의 VLAN 정보에 기초하여 계층 2 스위칭을 결정하도록 구성된다. 스위치 구조(25)는 또한 이서넷 패킷 내의 IP 데이터 패킷의 평가에 기초하여 선택적인 계층 3 스위칭을 결정하도록 구성된다.
도 2에 도시된 바와 같이, 각 스위치(12)는 관련 호스트 CPU(26) 및 버퍼 메모리(28)(예를 들어, SSRAM)를 갖는다. 호스트 CPU(26)는 스위치 구조(25)의 프로그래밍을 포함하여 대응하는 스위치(12)의 전체 동작을 제어한다. 버퍼 메모리(28)는 대응 스위치(12)에 의해 사용되어, 스위치 구조(25)가 수신 데이터 패킷에 대한 포워딩 결정을 처리하는 동안 데이터 프레임을 저장한다.
상기한 바와 같이, 스위치 구조(25)는 계층 2 스위칭 및 계층 3 스위칭 결정을 수행하도록 구성된다. 계층 3 스위칭 결정의 이용가능성은 서브네트워크(18a) 내의 스테이션(14)이 이메일 메시지를 서브네트워크(18b, 18c) 내의 선택된 네트워크 스테이션에 전송하고자 할 때 특히 효과적이다. 단지 계층 2 스위칭 결정만이 가능하다면, 스위치(12a)의 스위치 구조(25)는 특정 목적지 어드레스 정보 없이 이메일 메시지를 스위치(12b, 12c)에 전송하여 스위치(12b, 12c)의 모든 포트가 범람(flood)된다. 그렇지 않으면, 스위치(12a)의 스위치 구조(25)는 이메일 메시지를 부가적인 지연을 생성하는 라우터(도시하지 않음)에 전송할 필요가 있다. 스위치 구조(25)에 의한 계층 3 스위칭 결정의 사용은 스위치 구조(25)가 발전된 포워딩 결정을 포함하여 패킷을 어떻게 조정하는지 그리고 패킷이 대기시간에 민감한 애플리케이션(화상 또는 음성)에 대하여 높은 우선순위 패킷으로 간주되어야 하는지에 대한 지능적인 결정을 할 수 있게 한다. 스위치 구조(25)에 의한 계층 3 스위칭 결정의 사용은 또한 스위치(12a)의 호스트 CPU(26)가 예를 들어 스위치(12b)의 IP 어드레스에 대응하는 IP 어드레스를 갖는 메시지를 전송함으로써 다른 스위치(12b)를 원격으로 프로그램하도록 한다. 스위치(12b)는 스위치(12b)에 전송된 메시지를 검출하여 스위치(12b)의 프로그래밍을 위해 대응하는 호스트 CPU(26)에 메시지를 포워딩할 수 있다.
도 3은 페이로드 데이터로서 IP 패킷(32)을 운반하는 이서넷(IEEE 802.3) 패킷(30)을 도시한다. 구체적으로, 이서넷 패킷(30)은 시작 프레임 구분자(delimiter) (SFD)(34), 이서넷 헤더(36), IP 패킷(32), 순환잉여검사(CRC) 또는 프레임 검사 시퀀스(FCS) 필드(38)를 포함한다. 따라서, 계층 3 스위칭 결정을 위해 구성된 스위치 구조(25)는 스위치 내의 프레임의 블록킹을 피하기 위해 수신 이서넷 프레임(30) 내에 IP 패킷(32)을 빠르게 처리할 필요가 있다.
도 4는 입력 데이터 패킷에 대해 수행되는 계층 3 처리의 예를 나타낸 흐름도이다. 종래 소프트웨어에서 실행된 도 4의 흐름도는 입력 데이터 패킷이 하이퍼텍스트 전송 프로토콜(HTTP) 패킷인지(단계 50), SNMP 패킷인지(단계 52), 높은 우선순위 패킷인지(단계 54)를 검사하는 단계를 포함한다. 단계(56, 57, 58, 60)에서 패킷을 식별하는 적절한 태그가 할당된다.
그러나, 도 4의 구성은 실제적인 관점에서 100 Mbps 또는 기가비트 네트워크에 비-블록킹 스위치를 제공하는 방법으로 하드웨어에서는 실행될 수 없다. 특히, 도 4에서 결정 처리의 순차적 특성은 입력 데이터 패킷에 대한 과도한 대기시간을 발생시킨다.
개시된 실시예에 의하면, 도 2의 패킷 분류자 모듈(24)은 입력 데이터 스트림과 입력 데이터 스트림의 데이터 포맷을 식별하는 템플릿과의 다중 동시 비교를 하도록 구성된다. 특별히, 호스트 프로세서(26)의 사용자는 소정의 IP 프로토콜을 갖는 데이터 패킷이 스위치 구조(25)에 의해 어떻게 조정되어야 하는지를 정의하는 방법을 규정한다. 이 방법은 스위치 구조(25)에 각 대응하는 IP 프로토콜 종류에 대한 프레임 포워딩 결정의 집합을 로딩함으로써 실행된다. 따라서, 스위치 구조(25)는 HTTP 패킷에 대한 프레임 포워딩 명령의 집합, SNMP 패킷에 대한 다른 프레임 포워딩 명령의 집합 및 높은 우선순위 패킷(즉, 화상 또는 음성)에 대한 프레임 포워딩 명령의 다른 집합을 포함한다.
도 5는 본 발명의 실시예에 의한 패킷 분류자 모듈(24)을 도시한 블록도이다. 도 5에서 도시된 바와 같이, 네트워크 스위치 포트(20)는 MAC(22), 수신 FIFO 버퍼(27), 헤더 변경자(29) 및 패킷 분류자 모듈(24)을 포함한다. 패킷 분류자 모듈(24)(네트워크 스위치 포트 필터라고도 한다)은 네트워크 스위치 포트(20)에서 입력 데이터 패킷을 식별(즉, 평가)하고 스위치 구조(25)에 태그(수신되는 데이터 패킷의 종류에 기초하여 데이터 패킷 상에서 수행되는 동작을 규정하는 태그)를 공급하도록 구성된다. 특히, 도 9에서 도시된 바와 같이, 패킷 분류자 모듈(24)은 입력 데이터 패킷과 복수의 템플릿(데이터가 스위치 포트(20)에 수신되면 즉시 각 데이터 포맷을 식별하도록 구성된다)을 동시에 비교한다. 패킷 분류자 모듈(24)은 입력 데이터 패킷과 복수의 템플릿과의 비교에 기초하여, 스위치 구조(25)에 공급되는 태그를 규정하는 실행될 수학식을 식별한다. 도 9에 도시된 바와 같이, 패킷이 스위치 포트(20)에서 수신된 즉시 분류되므로, 패킷의 유효성 여부에 관계없이 대기시간(S1+S2+S3)이 도 1에서의 대기시간에 비교하여 감소된다.
특히, 패킷 분류자 모듈(24)은 복수의 템플릿 중에서 적어도 하나의 매칭된 템플릿을 검출함으로써 입력 데이터 패킷을 식별하는 비교 결과를 생성한다. 패킷 분류자 모듈(24)은 어느 수학식이 매칭된 템플릿을 포함하는지를 식별하고 수학식에 의해 특정된 태그를 생성한다.
도 6a 및 6b는 패킷 분류자 모듈(24)에 의한 수학식의 두 템플릿의 동시 처리를 나타낸 것이다. 도 6a는 다음 수학식의 패킷 분류자 모듈(24)에 의한 논리 평가를 나타낸다.
Eq1=M1*M2*M3*M4*(M5+M6+M7+M8)
도 6b는 수학식(Eq1)이 실제로 어떻게 최소항 메모리(70)에 저장되는지를 나 타낸다. 수학식(Eq1)은 4개의 템플릿(62a, 62b, 62c, 62d)을 포함한다. 템플릿(62a)은 최소항(M1, M2, M3, M4, M5)을, 템플릿(62b)은 최소항(M1, M2, M3, M4, M6)을, 템플릿(62c)은 최소항(M1, M2, M3, M4, M7)을, 템플릿(62d)은 최소항(M1, M2, M3, M4, M8)을 포함한다. 각 템플릿(62)은 IP 데이터 패킷(32)의 헤더에 기초하여 인식될 수 있는 특정 IP 데이터 포맷에 대응한다. 예를 들어, 템플릿(62a, 62c)은 HTTP 패킷을 식별하도록 구성될 수 있고, 템플릿(62b, 62d)은 SNMP 패킷을 식별하도록 구성될 수 있다. 특히, HTTP 패킷은 IPv4 포맷이거나, IP 내 필드에 존속할 시간이 1보다 크거나, IP 헤더 내의 프로토콜 필드가 TCP이거나, 헤더 검사합(checksum)이 정확하거나, 발신지 TCP 포트가 80이거나 목적지 TCP 포트가 80이면 식별된다. SNMP 패킷은 IPv4 포맷이거나, IP 내 필드에 존속할 시간이 1보다 크거나, IP 헤더 내의 프로토콜 필드가 TCP이거나, 헤더 검사합(checksum)이 정확하거나, 발신지 TCP 포트가 25이거나 목적지 TCP 포트가 25이면 식별된다.
따라서, 다음의 최소항은 모든 상기 기준을 나타낼 수 있다.
M1=패킷이 IPv4 포맷임
M2=IP 내 필드에 존속할 시간이 1보다 큼
M3=IP 헤더 내 프로토콜이 TCP임
M4=헤더 검사합이 정확함
M5=발신지 TCP 포트가 80임
M6=목적지 TCP 포트가 80임
M7=발신지 TCP 포트가 25임
M8=목적지 TCP 포트가 25임
따라서, 템플릿(62a, 62c)은 HTTP 패킷을 식별하고, 템플릿(62b, 62d)은 SNMP 패킷을 식별한다. 수학식(Eq1)은 템플릿(62a, 62b, 62c, 62d) 중 어느 하나가 참(true)이면 특정 결과(예를 들어, 특정값을 갖는 태그)가 스위치 구조(25)에 출력되어야 함을 규정한다.
더욱이, 최소항(M1...M8)은 관련 템플릿(62a) 및/또는 템플릿(62b) 내에 입력 데이터 스트림의 데이터 바이트의 상대 위치에 대응하는 소정의 순서로 배열된다. 도 7에서 도시된 바와 같이, 최소항(M1)은 IP 패킷(32)의 첫 번째 바이트(B1)와의 비교를 위해 구성되고, 최소항(M2)은 B1 다음의 바이트(B2)와의 비교를 위해 구성되고, 최소항(M3)은 B2 다음의 바이트(B3)와의 비교를 위해 구성된다. 따라서, 입력 데이터 스트림의 데이터 바이트의 상대 위치에 기초한 순서로 최소항을 갖는 템플릿(62)의 사용은 입력 데이터 스트림과 최소항과의 다중 동시 비교를 가능하게 한다. 따라서, 입력 데이터 스트림은 다중 템플릿과 비교되어 입력 데이터 패킷의 데이터 포맷뿐만 아니라 스위치 구조(25)에 의해 어떤 동작이 수행될 필요가 있는지를 결정할 수 있다.
도 5에서 도시된 바와 같이, 패킷 분류자(24)(네트워크 스위치 포트 필터라고도 함)는 도 8에서의 최소항 값(예를 들어, M1, M2 등)을 저장하는 최소항 메모리(70)를 포함한다. 패킷 분류자(24)는 또한 수신되고 있는 계층 2 프레임의 종류를 식별하도록 구성된 프레임 식별자(72)를 포함한다. 특히, 수신되고 있는 계층 2 프레임의 종류(예를 들어, 이서넷, IEEE 802-3, 등)를 식별하는 것은 계층 2 패킷(30) 내의 IP 패킷(32)의 시작 위치(64)의 식별을 가능하게 한다. 패킷 분류자(24)는 또한 최소항 제어기(74), 최소항 발생기(76), 수학식 코어(78) 및 평가 결과 메모리(80)를 포함한다. 프로세서 인터페이스 모듈(pi_mod)(84)은 호스트 CPU(26)에서 최소항 메모리(70)로 발생된 최소항을 전송하는데 사용된다.
최소항 제어기(74)는 IP 프레임(32)의 선택된 바이트에 대응하는 최소항을 최소항 메모리(70)로부터 페치하도록 구성된다. 최소항 제어기(74)는 또한 계층 2 프레임의 종류를 특정하는 프레임 식별자(72)로부터의 프레임 종류(frm_type) 신호 수신에 응답하여 시작점(64)의 실제 바이트 위치(byte_location)를 특정하도록 구성된 위치 컨버터를 포함한다. 따라서, 최소항 제어기(74)는 IP 패킷 시작의 검출에 응답하여 IP 패킷(32)의 첫 번째 바이트(B1)와 비교되는 모든 최소항(예를 들어, 도 7에서 수학식(Eq1, Eq2, Eq3)에 대한 최소항(M1, M9, M14))을 페치한다. 다음, 최소항 제어기(74)는 최소항 값(M_STRU INFO)을 최소항 발생기(76) 및 수학식 코어(78)에 포워딩한다.
최소항 발생기(76)는 최소항 제어기에 의해 페치된 최소항과 입력 데이터 스트림의 선택된 바이트와의 실제 최소항 비교를 수행한다. 예를 들어, 최소항 발생기(76)는 도 7에서 입력 데이터 바이트(B1)와 최소항(M1, M9, M14)을 동시에 비교하여 수학식 코어(78)에 최소항 비교 결과(mt_result)를 제공한다. 다음 비교 사이클 동안, 최소항 발생기(76)는 입력 데이터 바이트(B2)와 최소항(M2, M10, M15)을 동시에 비교한다. 개시된 실시예에 의하면, 최소항 발생기는 입력 데이터 스트림을 8개까지의 최소항과 비교하도록 구성된다.
수학식 코어(78)는 관련된 템플릿(62)에 대한 최소항 발생기(76)로부터 수신된 최소항 비교 결과에 기초하여 프레임 태그를 발생시키도록 구성된다. 예를 들어, 수학식 코어(78)는 최소항 발생기로부터 결과가 공급되면서 순차적으로 최소항 결과를 평가함으로써 도 6에서 설명된 수학식(1)을 평가한다. 예를 들어, 도 8과 관련하여 후술되는 바와 같이 각 최소항(M1, M2, M3, M4, M5, M6) 결과의 비교가 참이면, 최종 조건은 수학식(1)에서 매칭되어, 수학식 코어(78)가 수학식(1)에 대해 특정된 조건에 대응하는 태그를 발생시키게 한다. 프레임 태그는 입력 데이터 패킷의 특성을 식별하고 또한 스위치 구조(25)에 의해 수행될 필요가 있는 동작을 식별한다.
따라서, 패킷이 스위치 포트(20)에 도착하면서, 패킷 분류자(24)는 템플릿의 적절한 필드에 대한 매치를 위해 즉시 프로그램가능량(바이트 워드, 더블 워드 등) 경계에서 도달 데이터를 조사한다. 매치가 발견되면, 패킷 분류자(24)는 어느 템플릿이 매치되는지를 계속 트랙킹하고 그 도달 순서로 입력 패킷 필드의 나머지를 조사한다. 이와 같이 하여 패킷과 더 이상 매칭되지 않는 템플릿은 추후의 비교로부터 버려진다. 패킷의 끝에 또는 완전 매칭된 템플릿의 끝에서, 패킷 분류자(24)의 수학식 코어(78)는 매칭 템플릿과 관련된 태그를 패킷에 붙인다. 1이상의 템플릿이 패킷과 매칭되는 경우가 있을 수 있다. 그러한 경우, 태그 우선순위 결정장치(81)는 사용자에 의해 정의되는 우선순위에 기초한 결정을 수행하여, 프레임의 끝이나 그 근처에서, 단일 프레임 태그 값이 선택되어 스위치 구조(25)로 전송된다.
도 8은 최소항 메모리(70)에서 최소항 구조의 데이터 포맷을 도시한다. 개시 된 실시예에 의하면, 최소항은 비교되는 데이터 바이트의 상대 위치에 대응하는 순서로 최소항 메모리(70)에 저장된다. 따라서, 첫 번째 데이터 바이트와 비교되는 모든 최소항이 최소항 메모리의 첫 번째 부분에 함께 저장되며 다음 두 번째 데이터 바이트와 비교되는 최소항이 저장된다.
대안으로, 최소항은 IP 헤더 내의 관련 정보 및 비교되는 데이터 바이트의 상대 위치에 기초한 순서로 저장될 수 있다. 따라서, 최소항은 발신지 IP 어드레스, 목적지 IP 어드레스, 발신지 및 목적지 포트를 제공하는 데이터 바이트의 시퀀스를 비교하는 순서로 저장될 수 있다. 이 경우, IP 프레임의 시작에서 비관련 데이터 바이트는 최소항 메모리(70)의 시작에 저장된 최소항을 관련시키지 않아서 최소항 메모리(70)의 효율을 개선시킨다.
각 테이블 엔트리(90)는 최소항부 및 평가부를 포함한다. 최소항부는 마스크 필드(MASK)(94), 예측 데이터 필드(EXP_DATA)(96) 및 연산자 필드(OPERATOR)(98)를 포함한다. 최소항 메모리(70)에서 테이블 엔트리(90)의 위치에 기초하여, 최소항 제어기(74)는 IP 패킷의 시작(64)과 관련되어 IP 패킷(32)의 어느 바이트가 대응하는 최소항과 비교될 필요가 있는지를 결정할 수 있다. 마스크 필드(94)는 비교 수행시 최소항 발생기(76)에 의해 사용되는 마스크이다. 마스크가 1로 설정된 비트를 갖고 있다면, 값이 비교되고, 마스크 값이 필드에서 0을 가지면, 비교는 어느 경우든 상관 없다(don't care). 예측 데이터 필드(96)는 IP 패킷(32)의 관련 데이터 바이트와 비교되는 예측 데이터를 특정한다. 연산자 필드(98)는 최소항 발생기에 의해 수행되는 비교의 종류(예를 들어, <, ≤, =, >, ≥, ≠)를 특정한다.
평가부는 분기부(100), 최소항부의 비교가 참인 경우에 대한 응답부(RINP1)(102), 최소항부의 비교가 거짓인 경우에 대한 응답부(RINP0)(106), 수학식 식별자(110)를 포함한다. 분기부(100)는 수학식에서 OR 항의 순서를 특정한다. 예를 들어, 도 6 및 도 7에서 도시한 최소항(M1)은 그 분기부를 0000 1111로 설정하는데, 수학식 식별자 필드(110)에서 특정된 수학식의 첫 번째 4개의 분기가 대응하는 최소항을 포함하는 것으로 표시한다. 분기부에 대한 8비트의 사용은 임의의 수학식에 최대 8개의 분기가 있다는 것을 가정한다.
응답부(102)는 최소항부가 비교되는 데이터 바이트에 대하여 참으로 평가되는 경우에 수행될 연산을 특정한다. 특히, 수학식의 결과가 최소항의 결과는 참인 것으로 결정하면 종료 비트(FIN)가 1로 설정된다. 최소항 결과가 참이어서 평가과정이 초기상태(init)로 복귀해야만 하는 경우 초기복귀(BINIT)가 1로 설정된다. 예를 들어, 최소항(M1)의 경우, 최소항 결과가 참이면 부가적인 비교가 필요하기 때문에 RINP1의 FIN 비트 및 BINIT 비트는 0으로 설정된다. 최소항(M5, M6, M7, M8)의 경우, 도 6에서 도시된 바와 같이 "참"의 비교결과가 평가의 종료가 되기 때문에 RINP1의 FIN 비트가 1로 설정된다.
응답부(106)는 최소항부가 비교되는 데이터 바이트와 관련하여 거짓으로 평가되는 경우에 수행될 연산을 특정한다. 특히, 수학식의 결과가 최소항의 결과는 거짓인 것으로 결정하면 종료 비트(FIN)가 1로 설정된다. 최소항 결과가 거짓이어서, 평가과정이 초기상태(init)로 복귀해야만 하는 경우 초기복귀(BINIT)가 1로 설정된다. 예를 들어, 최소항(M1)의 경우, FIN 비트가 0으로 설정되고 RINP1의 BINIT 비트가 1로 설정되어, 도 6에서 도시된 바와 같이, 최소항 결과(M1)가 거짓이었다면 수학식이 INIT 상태로 복귀한다.
수학식 식별자 필드(110)는 최소항이 대응하는 수학식(또는 수학식에 단지 하나의 템플릿이 있다면 템플릿)을 식별한다.
따라서, 수학식 코어(78)는 특정 수학식이 입력 데이터 스트림과 매치하는 템플릿(62)을 갖고 있는지를 판정한다. 입력 데이터 스트림과 다중 템플릿(62)과의 다중 동시 비교에 기초하여, 수학식 코어(78)는 매칭 수학식을 식별할 수 있고 스위치 구조(25)에서 프레임 포워딩 결정을 위한 매칭된 수학식에 대응하는 적절한 태그를 발생시킬 수 있다. 원한다면, 코어(78)는 또한 데이터를 스위치에 전송하기 전에, 계층 2 헤더, 계층 3 헤더 또는 양자를 변경시키기 위해 헤더 변경자(29)에 명령어를 출력한다.
개시된 실시예에 의하면, 네트워크 스위치 포트는 데이터 패킷의 입력 데이터 스트림과 대응하는 프로토콜을 식별하도록 구성된 다중 템플릿과의 다중 동시 비교를 수행할 수 있는 필터를 포함한다. 패킷 분류자 모듈(24)이 IP 프레임(32)의 임의의 바이트를 처리할 수 있기 때문에, 패킷 분류자 모듈(24)은 계층 3에서 계층 7까지 IP 패킷(32)의 모든 헤더정보를 해석할 수 있다. 더욱이, 다중 동시 비교는 네트워크 스위치(12)가 블록킹 없이 100Mbps 및 기가바이트 네트워크를 위한 계층 3 스위칭을 수행할 수 있게 한다. 결국, 처리가 시작될 수 있기 전에 전체 헤더가 수신될 필요가 있는 프로그래머블 로직 어레이(PLA) 등의 대안적인 설계와 대조적으로, 데이터가 수신되는 순서로의 다중 동시 비교는 실시간 비교가 수행될 수 있게 한다.
따라서, 개시된 실시예에 의하면, 패킷 분류 및 관련 스위치 제어 속성의 결정은 패킷의 마지막 비트가 스위치 포트에 도착하자마자 일어날 수 있어서, 전체 스위치 대기시간을 감소시킨다. 따라서, 패킷 분류자는 ISO 모델의 어느 층에 있는 임의의 프로토콜에 기초하여 와이어 속도로 패킷을 포워딩하도록 구성될 수 있다.
현재 가장 바람직하다고 여겨지는 실시예를 가지고 본 발명을 설명하였지만, 본 발명이 여기에 한정되는 것은 아니며 첨부된 청구항의 범위 내에 포함된 다양한 변경 및 균등물을 포괄하고 있다는 것을 알아야 한다.

Claims (16)

  1. 네트워크 스위치 포트(20)에 의해 수신된 데이터 바이트와 대응하는 소정의 값과의 비교에 기초하여 비교 결과를 생성하고 상기 비교 결과에 기초하여 프레임태그를 생성하는 상기 네트워크 스위치 포트(20)에서의 입력 데이터 패킷(32) 평가 방법으로서,
    각 데이터 포맷을 식별하도록 구성된 복수의 템플릿(62a-d) - 이들 각 템플릿은 대응하는 소정의 값과 상기 입력 데이터 패킷(32)의 대응하는 선택 바이트를 비교하도록 구성된 적어도 하나의 최소항(M1-M8)을 갖는다 - 을 저장하는 단계와;
    상기 네트워크 스위치 포트(20)에 의한 상기 선택 바이트의 수신 즉시 상기 선택 바이트와 상기 선택 바이트에 대응하는 최소항(M1-M8)을 동시에 비교하는 단계와;
    상기 비교의 결과인, 상기 네트워크 스위치 포트(20)에 의해 수신된 전체 패킷(32)의 데이터 바이트들과 상기 최소항(M1-M8)과의 비교에 기초하여 상기 입력 데이터 패킷(32)의 식별을 생성하는 단계와;
    상기 데이터 패킷(32)의 마지막 비트가 상기 네트워크 스위치 포트(20)에서 수신되자 마자 상기 비교 결과에 기초하여 상기 프레임 태그를 생성하는 단계
    를 포함하는 것을 특징으로 하는 네트워크 스위치 포트에서의 입력 데이터 패킷 평가 방법.
  2. 제 1항에 있어서, 상기 동시 비교 단계는:
    상기 데이터 바이트들 중 제 1데이터 바이트에 대응하는 최소항(M1-M8)을 최소항 발생기(76)에 로딩하는 단계와;
    상기 최소항 발생기(76)에 로딩된 상기 최소항(M1-M8)과 상기 데이터 바이트들 중 제 1데이터 바이트를 병렬로 비교하는 단계와;
    상기 최소항 발생기(76)에 로딩된 상기 최소항(M1-M8)에 대한 비교 결과를 평가 코어(78)에 출력하는 단계를 포함하는 것을 특징으로 하는 네트워크 스위치 포트에서의 입력 데이터 패킷 평가 방법.
  3. 제 2항에 있어서, 상기 동시 비교 단계는 상기 데이터 바이트들 중 제 1바이트에 연속하는 상기 데이터 바이트들 중 제 2바이트에 대응하는 최소항(M1-M8)을 상기 최소항 발생기(76)에 로딩하는 단계를 더 포함하는 것을 특징으로 하는 네트워크 스위치 포트에서의 입력 데이터 패킷 평가 방법.
  4. 제 1항 내지 제 3항 중 어느 한 항에 있어서, 대응하는 프레임 태그에 기초하여 선택적으로 입력 데이터 패킷(32)을 스위칭하도록 구성되는 스위치 구조(25)에 상기 프레임 태그를 출력하는 단계를 더 포함하는 것을 특징으로 하는 네트워크 스위치 포트에서의 입력 데이터 패킷 평가 방법.
  5. 제 1항에 있어서, 상기 저장 단계는 메모리(70)에 각 최소항(M1-M8)을 테이블 엔트리(90)로서 저장하는 단계를 포함하며, 각 테이블 엔트리(90)는 상기 입력 데이터 패킷(32)에서 상기 대응하는 선택된 바이트의 위치(location)에 기초하여 메모리(70)에 위치를 갖고, 상기 테이블 엔트리(90)는 상기 대응하는 소정의 값 및 비교 오퍼랜드를 특정하는 최소항 표시부 및 대응하는 최소항을 사용하는 템플릿을 특정하는 템플릿 식별자 필드를 포함하는 것을 특징으로 하는 네트워크 스위치 포트에서의 입력 데이터 패킷 평가 방법.
  6. 제 5항에 있어서, 상기 생성 단계는,
    상기 최소항(M1-M8)과 상기 입력 데이터 패킷(32)의 상기 선택된 바이트들과의 비교 결과를 일시적으로 저장하는 단계와,
    상기 최소항(M1-M8)의 비교 결과에 기초하여 복수의 템플릿(62a-d)으로부터 적어도 하나의 매칭 템플릿(62)을 검출하는 단계와,
    상기 검출된 적어도 하나의 매칭 템플릿(62)에 기초하여 비교 결과를 생성하는 단계를 포함하는 것을 특징으로 하는 네트워크 스위치 포트에서의 입력 데이터 패킷 평가 방법.
  7. 제 6항에 있어서, 하나 이상의 템플릿(62)이 상기 입력 데이터 패킷(32)과 매칭될 때 하나의 최종 프레임 태그에 대한 템플릿의 우선순위를 결정하는 단계를 더 포함하는 것을 특징으로 하는 네트워크 스위치 포트에서의 입력 데이터 패킷 평가 방법.
  8. 제 5항 내지 제 7항 중 어느 한 항에 있어서, 상기 데이터 바이트들 중 제 1데이터 바이트는 소정의 포맷을 갖는 패킷의 데이터 바이트들 중 제 1바이트에 대응하고, 상기 동시 비교 단계는 상기 소정의 포맷을 갖는 패킷의 시작에 관하여 상기 선택 데이터 바이트를 평가하는 것을 포함하는 것을 특징으로 하는 네트워크 스위치 포트에서의 입력 데이터 패킷 평가 방법.
  9. 제 8항에 있어서, 상기 소정의 포맷은 인터넷 프로토콜(IP) 포맷인 것을 특징으로 하는 네트워크 스위치 포트에서의 입력 데이터 패킷 평가 방법.
  10. 제 6항 또는 제 7항에 있어서, 상기 검출된 적어도 하나의 매칭 템플릿(62)에 기초하여 비교 결과를 생성하는 단계는:
    상기 입력 데이터 패킷(32)과 비교되는 최소항(M1-M8)의 각각에 대하여 대응하는 수학식 - 각 수학식은 템플릿의 선택된 그룹에 대한 고유 결과를 특정한다 - 을 식별하는 단계와; 그리고
    상기 검출된 적어도 하나의 매칭 템플릿(62)을 갖는 수학식에 의해 비교 결과를 생성하는 단계를 포함하는 것을 특징으로 하는 네트워크 스위치 포트에서의 입력 데이터 패킷 평가 방법.
  11. 입력 데이터 패킷(32)을 평가하도록 구성된 네트워크 스위치 포트 필터(24)로서,
    최소항 값(M1-M8)을 저장하도록 구성된 최소항 메모리(70)와, 여기서 각 최소항 값은 비교를 위한 상기 입력 데이터 패킷(32)의 대응하는 선택 바이트의 위치, 대응하는 비교 동작을 특정하는 표현부 및 대응하는 최소항을 사용하는 템플릿(62)을 특정하는 템플릿 식별자 필드에 기초하여 저장되고;
    상기 입력 데이터 바이트의 수신 즉시 상기 입력 데이터 패킷(32)의 바이트와 수신된 바이트에 대응하는 최소항(M1-M8)을 동시에 비교하고 각각의 최소항 비교 결과를 생성하도록 구성된 최소항 발생기(76)와,
    상기 템플릿(62)에 관련된 상기 최소항 비교 결과에 기초하여 상기 입력 데이터 패킷(32)을 식별하는 프레임 태그를 생성하도록 구성된 수학식 코어(78)를 포함하며, 여기서 상기 수학식 코어(78)는 상기 입력 데이터 패킷(32)의 와이어 속도로 그리고 상기 입력 데이터 패킷(32)의 끝부분 이전에 상기 프레임 태그를 생성하는 것을 특징으로 하는 입력 데이터 패킷(32)을 평가하도록 구성된 네트워크 스위치 포트 필터.
  12. 제 11항에 있어서, 계층 2 패킷 타입을 식별하도록 구성된 프레임 식별자를 더 포함하며, 상기 입력 데이터 패킷(32)의 선택 바이트는 상기 식별된 계층 2 패킷 타입에 기초하여 결정되는 것을 특징으로 하는 입력 데이터 패킷(32)을 평가하도록 구성된 네트워크 스위치 포트 필터.
  13. 제 12항에 있어서, 각 저장된 최소항(M1-M8) 값의 위치는 상기 계층 2 패킷 내의 IP 프레임의 시작과 관련된 것을 특징으로 하는 입력 데이터 패킷(32)을 평가하도록 구성된 네트워크 스위치 포트 필터.
  14. 제 13항에 있어서, 상기 최소항 메모리(70)로부터 상기 입력 데이터 패킷(32) 내의 IP 프레임의 선택 바이트에 대응하는 최소항(M1-M8)을 페치하도록 구성된 최소항 제어기(74)를 더 포함하는 것을 특징으로 하는 입력 데이터 패킷(32)을 평가하도록 구성된 네트워크 스위치 포트 필터.
  15. 제 11항 내지 제 14항 중 어느 한 항에 있어서, 하나 이상의 템플릿(62)이 상기 입력 데이터 패킷(32)과 매칭될 때, 하나의 최종 프레임 태그에 대한 템플릿(62)의 우선순위를 결정하도록 구성된 태그 우선순위 장치를 더 포함하는 것을 특징으로 하는 입력 데이터 패킷(32)을 평가하도록 구성된 네트워크 스위치 포트 필터.
  16. 삭제
KR1020037002216A 2000-08-14 2001-05-22 네트워크 스위치 포트상에서 와이어 속도로 데이터 패킷을식별하는 장치 및 방법 KR100755979B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US09/637,015 2000-08-14
US09/637,015 US6963565B1 (en) 2000-08-14 2000-08-14 Apparatus and method for identifying data packet at wire rate on a network switch port
PCT/US2001/016621 WO2002015469A2 (en) 2000-08-14 2001-05-22 Apparatus and method for packet classification

Publications (2)

Publication Number Publication Date
KR20030036700A KR20030036700A (ko) 2003-05-09
KR100755979B1 true KR100755979B1 (ko) 2007-09-06

Family

ID=24554198

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020037002216A KR100755979B1 (ko) 2000-08-14 2001-05-22 네트워크 스위치 포트상에서 와이어 속도로 데이터 패킷을식별하는 장치 및 방법

Country Status (9)

Country Link
US (1) US6963565B1 (ko)
EP (1) EP1329073B1 (ko)
JP (1) JP2004507158A (ko)
KR (1) KR100755979B1 (ko)
CN (1) CN100444593C (ko)
AU (1) AU2001263375A1 (ko)
DE (1) DE60109052T2 (ko)
TW (1) TW576048B (ko)
WO (1) WO2002015469A2 (ko)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2375256A (en) * 2001-04-30 2002-11-06 Nokia Corp Determining service level identification to data transmitted between a device and a network
KR20040005276A (ko) * 2002-07-09 2004-01-16 삼성전자주식회사 기가비트 이더넷 레이어 2 스위치 기능을 갖는 이더넷오버 동기 디지털 계층 처리 장치
US7286544B2 (en) * 2002-07-25 2007-10-23 Brocade Communications Systems, Inc. Virtualized multiport switch
US7684400B2 (en) * 2002-08-08 2010-03-23 Intel Corporation Logarithmic time range-based multifield-correlation packet classification
CN1518289B (zh) * 2003-01-17 2010-06-09 华为技术有限公司 一种基于以太网交换机的安全过滤方法
US20040264479A1 (en) * 2003-06-30 2004-12-30 Makaram Raghunandan Method for generating a trie having a reduced number of trie blocks
US7573879B2 (en) 2004-09-03 2009-08-11 Intel Corporation Method and apparatus for generating a header in a communication network
US7603445B1 (en) * 2004-11-10 2009-10-13 Juniper Networks, Inc. Managing and changing device settings
JP4186971B2 (ja) 2005-09-01 2008-11-26 富士通株式会社 パケット転送装置
US7680096B2 (en) * 2005-10-28 2010-03-16 Qnx Software Systems Gmbh & Co. Kg System for configuring switches in a network
US8077708B2 (en) * 2006-02-16 2011-12-13 Techguard Security, Llc Systems and methods for determining a flow of data
CN101242344B (zh) * 2007-02-05 2013-03-20 财团法人工业技术研究院 网络封包分类器与其方法
US8526985B2 (en) * 2009-11-30 2013-09-03 Alcatel Lucent System and method of geo-concentrated video detection
US8948174B2 (en) 2011-06-29 2015-02-03 Juniper Networks, Inc. Variable-based forwarding path construction for packet processing within a network device
US9043448B1 (en) * 2012-05-08 2015-05-26 Gigamon Inc. Systems and methods for configuring a network component that involves TCAM
TWI739320B (zh) * 2020-02-25 2021-09-11 瑞昱半導體股份有限公司 網路通訊裝置以及網路映射表的操作方法
CN113364891B (zh) * 2020-03-03 2023-07-18 瑞昱半导体股份有限公司 网络通信装置以及网络映像表的操作方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6433774A (en) * 1987-07-29 1989-02-03 Nec Corp Optical disk controller
US5546387A (en) 1993-03-10 1996-08-13 Telefonakteibolaget Lm Ericsson Label handling in packet networks
US5802054A (en) 1996-08-15 1998-09-01 3Com Corporation Atomic network switch with integrated circuit switch nodes
WO1999053648A2 (en) * 1998-04-10 1999-10-21 Top Layer Networks, Inc. System and process for high-speed pattern matching for application-level switching of data packets

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2985511B2 (ja) * 1992-06-15 1999-12-06 株式会社日立製作所 データ受信方式および通信制御装置
JPH06224932A (ja) * 1993-01-22 1994-08-12 Toshiba Corp パケット変換装置
US5666516A (en) * 1993-12-16 1997-09-09 International Business Machines Corporation Protected programmable memory cartridge having selective access circuitry
CN1127829C (zh) * 1996-03-08 2003-11-12 西门子公司 从第一装置到至少一个第二装置在以太网内传输可预先确定优先分类级的数据包的方法
US5949786A (en) * 1996-08-15 1999-09-07 3Com Corporation Stochastic circuit identification in a multi-protocol network switch
JP3689502B2 (ja) * 1996-10-04 2005-08-31 キヤノン株式会社 印刷制御装置および印刷制御方法
WO1998035480A1 (en) 1997-02-11 1998-08-13 Xaqti Corporation Media access control micro-risc stream processor and method for implementing the same
US6172990B1 (en) * 1997-06-19 2001-01-09 Xaqti Corporation Media access control micro-RISC stream processor and method for implementing the same
US5953335A (en) 1997-02-14 1999-09-14 Advanced Micro Devices, Inc. Method and apparatus for selectively discarding packets for blocked output queues in the network switch
JPH11261649A (ja) * 1998-03-12 1999-09-24 Hitachi Ltd データ処理装置及びそれを適用したルータ・ブリッジ
US6167047A (en) * 1998-05-18 2000-12-26 Solidum Systems Corp. Packet classification state machine
US6347087B1 (en) * 1998-10-05 2002-02-12 Packet Engines Incorporated Content-based forwarding/filtering in a network switching device
US6789116B1 (en) * 1999-06-30 2004-09-07 Hi/Fn, Inc. State processor for pattern matching in a network monitor device
US6700897B1 (en) 1999-10-29 2004-03-02 Advanced Micro Devices, Inc. Apparatus and method for identifying data packet types in real time on a network switch port
US6570884B1 (en) * 1999-11-05 2003-05-27 3Com Corporation Receive filtering for communication interface
US6741594B1 (en) * 2000-06-15 2004-05-25 Advanced Micro Devices, Inc. Arrangement for identifying data packet types from multiple protocol formats on a network switch port
US6693906B1 (en) * 2000-07-17 2004-02-17 Advanced Micro Devices, Inc. Apparatus and method for buffer-free evaluation of packet data bytes with multiple min terms

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6433774A (en) * 1987-07-29 1989-02-03 Nec Corp Optical disk controller
US5546387A (en) 1993-03-10 1996-08-13 Telefonakteibolaget Lm Ericsson Label handling in packet networks
US5802054A (en) 1996-08-15 1998-09-01 3Com Corporation Atomic network switch with integrated circuit switch nodes
WO1999053648A2 (en) * 1998-04-10 1999-10-21 Top Layer Networks, Inc. System and process for high-speed pattern matching for application-level switching of data packets

Also Published As

Publication number Publication date
EP1329073B1 (en) 2005-02-23
EP1329073A2 (en) 2003-07-23
DE60109052T2 (de) 2005-07-21
KR20030036700A (ko) 2003-05-09
AU2001263375A1 (en) 2002-02-25
US6963565B1 (en) 2005-11-08
WO2002015469A3 (en) 2002-08-29
DE60109052D1 (de) 2005-03-31
WO2002015469A2 (en) 2002-02-21
JP2004507158A (ja) 2004-03-04
TW576048B (en) 2004-02-11
CN1736076A (zh) 2006-02-15
CN100444593C (zh) 2008-12-17

Similar Documents

Publication Publication Date Title
KR100615663B1 (ko) 네트워크 스위치 포트 상에서 데이터 패킷의 타입을 실시간으로 식별하는 장치 및 방법
US6571291B1 (en) Apparatus and method for validating and updating an IP checksum in a network switching system
US6574240B1 (en) Apparatus and method for implementing distributed layer 3 learning in a network switch
KR100755979B1 (ko) 네트워크 스위치 포트상에서 와이어 속도로 데이터 패킷을식별하는 장치 및 방법
US6798788B1 (en) Arrangement determining policies for layer 3 frame fragments in a network switch
US6950434B1 (en) Arrangement for searching packet policies using multi-key hash searches in a network switch
US6674769B1 (en) Simultaneous searching of layer 3 policy filter and policy cache in a network switch port
US7002955B1 (en) Selective address table aging in a network switch based on application state determined from a received data packet
US6807183B1 (en) Arrangement for reading a prescribed location of a FIFO buffer in a network switch port
US6711165B1 (en) Apparatus and method for storing min terms in network switch port memory for access and compactness
KR100682645B1 (ko) 복수의 최소항으로 패킷 데이터 바이트를 버퍼없이 평가하는 장치 및 방법
US6741594B1 (en) Arrangement for identifying data packet types from multiple protocol formats on a network switch port
US6678272B1 (en) Apparatus and method using a register scheme for efficient evaluation of equations in a network switch
US6728255B1 (en) Apparatus and method for storing min terms in a network switch port memory for identifying data packet types in a real time
US6714542B1 (en) Apparatus and method for storing min terms in a central min term memory for efficient sharing by a plurality of network switch ports
US6885666B1 (en) Apparatus and method in a network switch for synchronizing transfer of a control tag to a switch fabric with transfer of frame data to a buffer memory
US6693908B1 (en) Apparatus and method for efficient evaluation of equations which generate frame tags in a network switch
US6678276B1 (en) Apparatus and method for specifying successive byte locations for evaluating data packets in a network switch port
KR20020091203A (ko) 네트워크 스위치에서 프로그램 가능한 층 3 어드레스자가학습 계획

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

Year of fee payment: 4

LAPS Lapse due to unpaid annual fee