KR100682645B1 - 복수의 최소항으로 패킷 데이터 바이트를 버퍼없이 평가하는 장치 및 방법 - Google Patents

복수의 최소항으로 패킷 데이터 바이트를 버퍼없이 평가하는 장치 및 방법 Download PDF

Info

Publication number
KR100682645B1
KR100682645B1 KR1020037000630A KR20037000630A KR100682645B1 KR 100682645 B1 KR100682645 B1 KR 100682645B1 KR 1020037000630 A KR1020037000630 A KR 1020037000630A KR 20037000630 A KR20037000630 A KR 20037000630A KR 100682645 B1 KR100682645 B1 KR 100682645B1
Authority
KR
South Korea
Prior art keywords
equation
minimum term
minimum
incoming data
data packet
Prior art date
Application number
KR1020037000630A
Other languages
English (en)
Other versions
KR20030022285A (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 KR20030022285A publication Critical patent/KR20030022285A/ko
Application granted granted Critical
Publication of KR100682645B1 publication Critical patent/KR100682645B1/ko

Links

Images

Classifications

    • 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/30Peripheral units, e.g. input or output ports
    • H04L49/3018Input queuing
    • 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

Landscapes

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

Abstract

유입 데이터 패킷을 블록킹하지 않으면서 이서넷(IEEE 802.3) 네트워크에 대해 층 2 및 층 3 스위칭을 행하도록 구성된 네트워크 스위치는, 유입 데이터 패킷을 즉시 평가하도록 구성된 필터(예를 들어, 패킷 분류 모듈)를 갖는 네트워크 스위치 포트를 포함한다. 네트워크 스위치 포트 필터는 복수의 등식의 최소항 값을 저장하도록 구성된 최소항 메모리를 포함한다. 각 최소항 값은 유입 데이터 패킷의 대응하는 선택된 바이트와 비교하기 위한 소정의 값을 특정하고, 각 등식은 대응하는 등식 식별자에 의해 식별된다. 네트워크 스위치 포트 필터는 또한 대응하는 최소항 생성기를 포함하는 바, 이는 유입 데이터 패킷의 수신된 바이트와 이 수신된 바이트에 대응하는 최소항을 동시에 비교하고, 각 최소항 비교 결과를 생성하도록 구성된다. 네트워크 스위치 포트 필터는 복수의 등식 코어 모듈을 더 포함한다. 각 코어 모듈은 대응하는 선택된 등식에 대한 대응하는 등식 식별자와 최소항 비교 결과에 기초하여 대응하는 프레임 태그를 동시에 발생시키도록 구성된다.
유입 데이터 패킷, 네트워크 스위치 필터, 최소항 메모리, 최소항 발생기, 등식 코어 모듈, 동시 비교

Description

복수의 최소항으로 패킷 데이터 바이트를 버퍼없이 평가하는 장치 및 방법{APPARATUS AND METHOD FOR BUFFER-FREE EVALUATION OF PACKET DATA BYTES WITH MULTIPLE MIN TERMS}
본 발명은 서브 네트워크 간에 데이터 패킷들을 스위칭하도록 구성된, FIFO를 행하지 않는 넌 블록킹(non-blocking) 네트워크 스위치에 있어서의 데이터 패킷의 스위칭에 관한 것이다.
근거리 통신망은, 네트워크 케이블이나 다른 매체를 사용하여 네트워크 상의 스테이션들을 링크한다. 각 근거리 통신망 아키텍쳐는 매체 액세스 제어(MAC)를 사용하여, 각 네트워크 노드의 네트워크 인터페이스 장치들이 네트워크 매체를 액세스할 수 있게 한다.
이서넷 프로토콜 IEEE 802.3은 데이터 패킷들의 전송을 위한 반이중 매체 액세스 메커니즘 전이중 매체 액세스 메커니즘을 특정하도록 발전하였다. 전이중 매체 액세스 메커니즘은, 2개의 네트워크 요소들 간에, 예를 들어 네트워크 노드와 스위칭 허브 사이에 양방향(two-way)의 포인트 투 포인트 통신 링크(point-to-point communication link)를 제공한다.
스위칭 근거리 통신망에 대해서는, 보다 고속의 접속성, 보다 유연한 스위칭 성능 및 보다 복잡한 네트워크 아키텍쳐에 대처하는 능력에 대한 요구가 증가하고 있다. 예를 들어, 공동 양도된 미국 특허 제5,953,335호는 상이한 네트워크 노드들 간에 층 2(layer 2) 타입의 이서넷(IEEE 802.3) 데이터 패킷들을 스위칭하도록 구성된 네트워크 스위치를 개시하고 있는 바, 이에 따르면 수신된 데이터 패킷은 (라우터를 개입시켜) 다른 서브 네트워크 또는 소정 그룹의 스테이션들을 특정하는 IEEE 802.1q 프로토콜에 따른 VLAN(가상 LAN) 태그 프레임을 포함할 수 있다. 스위칭은 층 2 레벨에서 발생하기 때문에, 서브 네트워크들 간에 데이터 패킷을 전송하기 위해서는 통상적으로 라우터가 필요하다.
층 3(layer 3) (예를 들어, 인터넷 프로토콜)의 처리를 포함하도록 네트워크 스위치의 스위칭 성능을 높이기 위한 노력은 중대한 결점을 가질 수 있는데, 그 이유는 현재의 층 2 스위치는 바람직하게는 데이터 패킷들이 수신되는 것과 동일한 속도로 이 데이터 패킷들이 스위치로부터 출력될 수 있는 넌 블록킹 모드에서 동작하도록 구성되기 때문이다. 보다 고속의 스위치가 100 Mbps 또는 기가비트 네트워크 등의 보다 고속의 스위치에 대해 층 2 스위칭과 층 3 스위칭 성능을 모두 확실하게 제공할 수 있는 보다 새로운 설계가 필요하다.
넌 블록킹 모드에서 동작하는 네트워크 스위치를 개발할 때의 고려사항중 하나는, 네트워크 스위치의 설계에 버퍼를 포함시키는 것이다. 하지만, 층 2 및 층 3 데이터 패킷을 스위칭할 때, 와이어 속도를 합치(match)시키기 위해서는, 버퍼의 사이즈가 1,500 바이트로 될 수 있다. 버퍼가 네트워크 스위치의 다른 구성 요소와 비교하여 웨이퍼 칩 상에서 비교적 큰 공간을 차지한다는 사실과 관련하여, 와이어 속도에 합치시키기 위해 버퍼를 이용하는 것은, 웨이퍼 칩의 전체 사이즈를 증가시킴으로써 네트워크 스위치의 총 비용을 증가시킨다.
네트워크 스위치가 데이터 패킷들을 블록킹하지 않으면서 100 Mbps 및 기가비트 링크에 층 2 스위칭 및 층 3 스위칭 성능을 제공할 수 있는 구성이 필요하다.
또한, 네트워크 스위치가 네트워크 스위치 내에서 최소의 버퍼링으로(그렇지 않으면, 스위칭된 데이터 패킷의 대기 시간(latency) 또는 네트워크 스위치의 사이즈에 영향을 미칠 것이다) 층 2 스위칭 및 층 3 스위칭 성능을 제공할 수 있는 구성이 필요하다.
또한, 데이터 패킷들의 넌 블록킹을 유지하면서 네트워크 스위치 내에 최소의 비용으로 층 2 스위칭 및 층 3 스위칭 성능을 제공하는 구성이 필요하다.
또한, 버퍼링없이 층 2 스위칭 및 층 3 스위칭 성능을 제공함으로써 네트워크 스위치의 비용을 줄이는 구성이 필요하다.
또한, 네트워크 스위치 포트가 유입 데이터 패킷을 즉시 평가하고, 층 3 또는 보다 상위의 프로토콜을 결정하여, 검출된 프로토콜에 따라, 관련 스위치 구조(switch fabric)에 유입 데이터 패킷을 처리할 수 있는 충분한 시간을 제공하는 구성이 필요하다.
상기 및 기타 필요성은, 네트워크 스위치 포트 필터가 유입 데이터 패킷을 평가하도록 구성되는 본 발명에 의해 달성된다. 네트워크 스위치 포트 필터는 복수의 등식의 최소항(min term)의 값들을 저장하도록 구성된 최소항 메모리를 포함한다. 각각의 최소항 값은 유입 데이터 패킷의 대응하는 선택된 바이트와 비교하기 위한 소정의 값을 특정하고, 각 등식은 대응하는 등식 식별자에 의해 식별된다. 네트워크 스위치 포트 필터는 또한 유입 데이터 패킷의 수신된 바이트와 이 수신된 바이트에 대응하는 최소항을 동시에 비교하고, 각각의 최소항의 비교 결과를 생성하도록 구성된 대응하는 최소항 발생기를 포함한다. 네트워크 스위치 포트 필터는 복수의 등식 코어 모듈을 더 포함한다. 각 코어 모듈은, 대응하는 선택된 등식에 대한 대응하는 등식 식별자와 최소항 비교 결과에 기초하여, 대응하는 프레임 태그를 동시에 발생시키도록 구성된다. 유입 데이터 패킷의 소정의 수신된 바이트는 관련된 모든 최소항과 동시에 비교되기 때문에, 유입 데이터 패킷의 실시간 평가가 보장된다. 또한, 복수의 등식 코어 모듈은 버퍼 필요성을 최소화하는데, 그 이유는 복수의 프레임 태그가 동시에 발생됨으로 인해, 유입 데이터 패킷을 스위칭할 때의 대기 시간을 최소화하기 때문이다.
본 발명의 일 양상은 네트워크 스위치 포트에서 유입 데이터 패킷을 평가하는 방법을 제공하는 것이다. 이 방법은 복수의 등식의 최소항 값을 최소항 메모리에 저장하는 단계를 포함한다. 각 최소항 값은 유입 데이터 패킷의 대응하는 선택된 바이트와 비교하기 위한 소정의 소정의 값을 특정하고, 각 등식은 대응하는 등식 식별자에 의해 식별된다. 이 방법은 또한 유입 데이터 패킷의 수신된 바이트와 이 수신된 바이트에 대응하는 최소항을 동시에 비교하고, 최소항 발생기로 최소항 비교 결과를 발생시키는 단계를 더 포함한다. 이 방법은 복수의 등식 코어 모듈로부터 복수의 프레임 태그를 동시에 발생시키는 단계를 더 포함한다. 각 등식 코어 모듈은, 대응하는 선택된 등식에 대한 대응하는 등식 식별자와 최소항 비교 결과에 기초하여, 대응하는 프레임 태그를 동시에 발생시키도록 구성된다. 최소항과 복수의 등식 코어 모듈을 동시에 비교함으로써, 유입 데이터 패킷을 실시간으로 확실히 평가할 수 있게 되어, 유입 데이터 패킷을 버퍼링하는 필요성을 줄일 수 있게 됨에 따라, 네트워크 스위치 포트의 총 비용을 줄일 수 있게 된다.
본 발명의 부가적인 장점 및 신규 특징은 하기의 상세한 설명에 부분적으로 설명될 것이며, 하기의 내용을 검토함으로써 당업자에게 부분적으로 명확해지거나, 또는 본 발명을 실시함으로써 습득될 것이다. 본 발명의 장점은 첨부된 청구항에 특정하게 기재된 수단 및 조합에 의해 구현 및 달성될 수 있다.
이제, 첨부 도면들을 참조하는 바, 동일한 참조 부호를 갖는 요소는 도면 전체에 걸쳐서 동일한 요소를 나타낸다.
도 1은 본 발명의 일 실시예에 따른, 각 서브 네트워크 간에 데이터 패킷을 스위칭하기 위한 복수의 네트워크 스위치를 포함하는 패킷 교환 네트워크의 블록도이다.
도 2a 및 2b는 패킷 분류 모듈(24)에 의한 1개의 등식의 2개의 템플릿(template)의 동시 처리를 나타낸다.
도 3은 본 발명의 일 실시예에 따른, 네트워크 스위치 포트 필터를 포함하는 도 1의 네트워크 스위치 포트를 나타낸다.
도 4는 네트워크 스위치 포트 필터(24)에 의한 최소항들의 동시 처리를 보다 상세히 나타낸다.
도 5는 본 발명의 일 실시예에 따른, 도 3의 최소항 메모리에 있어서의 최소항의 테이블 엔트리를 나타낸다.
도 6은 수신된 바이트와 4개의 등식에 관련된 최소항과의 비교 사이클 동안의, 도 3의 최소항 발생기를 나타낸다.
본 발명을 실시하는 최상의 방법
도 1은 이서넷(IEEE 802.3) 네트워크 등의 패킷 교환 네트워크(10)를 나타낸다. 이 패킷 교환 네트워크는 네트워크 스테이션들(14) 간의 데이터 패킷의 통신을 가능하게 하는 집적된(예를 들어, 단일 칩의) 멀티 포트 스위치(12)를 포함한다. 각 네트워크 스테이션(14), 예를 들어 클라이언트 워크스테이션은 통상적으로 IEEE 802.3 프로토콜에 따라 데이터 패킷을 10 Mbps 또는 100 Mbps로 송수신하도록 구성된다. 집적된 멀티포트 스위치(12) 각각은, 기가비트 이서넷 링크(16)에 의해 상호접속되어, 서브 네트워크(18a, 18b 및 18c) 간에 데이터 패킷의 전송을 가능하게 한다. 따라서, 각 서브 네트워크는 스위치(12), 및 관련 그룹의 네트워크 스테이션들(14)을 포함한다.
각 스위치(12)는, 매체 액세스 제어(MAC) 모듈(22)과 패킷 분류 모듈(24)을 포함하는 스위치 포트(20)를 포함한다. MAC 모듈(20)은, IEEE 802.3u 프로토콜에 따라, 10/100 Mbps 물리층(PHY) 송수신기(미도시)를 통해 관련 네트워크 스테이션(14)에 데이터 패킷을 송수신한다. 각 스위치(12)는 또한 수신된 데이터 패킷에 대해 프레임 전송 결정(frame forwarding decision)을 행하도록 구성된 스위치 구조(25)를 포함한다. 특히, 스위치 구조(25)는 이서넷(IEEE 802.3) 헤더 내의 소스 어드레스, 목적지 어드레스 및 VLAN 정보에 기초하여 층 2 스위칭 결정을 행하도록 구성된다. 스위치 구조(25)는 또한 이서넷 패킷 내의 IP 데이터 패킷의 평가에 기초하여, 선택적인 층 3 스위칭 결정을 행하도록 구성된다.
도 1에 나타낸 바와 같이, 각 스위치(12)는 관련된 호스트 CPU(26) 및 버퍼 메모리(28), 예를 들어 SSRAM을 갖는다. 호스트 CPU(26)는, 스위치 구조(25)의 프로그래밍을 포함하여, 대응하는 스위치(12)의 전체 동작을 제어한다. 버퍼 메모리(28)는, 스위치 구조(25)가 수신된 데이터 패킷에 대한 전송 결정을 처리하고 있는 동안, 대응하는 스위치(12)에 의해 데이터 프레임을 저장하도록 이용된다.
상기 설명한 바와 같이, 스위치 구조(25)는 층 2 스위칭 결정 및 층 3 스위칭 결정을 행하도록 구성된다. 층 3 스위칭 결정의 이용 가능성은 서브 네트워크(18a) 내의 엔드 스테이션(end station)(14)이 서브 네트워크(18b, 18c 또는 양쪽 모두) 내의 선택된 네트워크 스테이션에 이메일 메세지를 보내고자 하는 경우에 특히 유효하다. 층 2 스위칭 결정 만이 이용가능한 경우, 스위치(12a)의 스위치 구조(25)는 특정의 목적지 어드레스 정보없이 이메일의 메세지를 스위치(12b 및 12c)에 전송하며, 이에 따라 스위치(12b 및 12c)는 자신들의 모든 포트들을 플러딩(flooding)시킨다. 그렇지 않으면, 스위치(12a)의 스위치 구조(25)는 라우터(미도시)로 이메일 메세지를 전송해야 하는 바, 이는 추가적인 지연을 야기한다. 스위치 구조(25)가 층 3 스위칭 결정을 이용함으로써, 스위치 구조(25)는, 고도의 전송 결정을 포함하여 패킷의 취급 방법에 관해, 그리고 패킷을 비디오 또는 음성 등의 대기 시간에 민감한 애플리케이션에 대한 높은 우선도의 패킷으로 고려해야 하는 지의 여부에 관해 지능적인 결정을 할 수 있게 된다. 또한, 스위치 구조(25)가 층 3 스위칭 결정을 이용함으로써, 스위치(12a)의 호스트 CPU(26)는 스위치(12b)의 IP 어드레스에 대응하는 IP 어드레스를 갖는 메세지를 전송함으로써 다른 스위치, 예를 들어 스위치(12b)를 원격으로 프로그램할 수 있으며, 스위치(12b)는 스위치(12b)에 어드레스된 메세지를 검출하는 것에 응답하여, 그 메세지를 대응하는 호스트 CPU(26)에 전송하여, 스위치(12b)를 프로그램할 수 있다.
개시된 실시예에 따르면, 도 1의 패킷 분류 모듈(24)은 유입 데이터 스트림과 유입 데이터 스트림의 데이터 포맷을 식별하는 템플릿과의 복수의 동시 비교를 행하도록 구성된다. 구체적으로, 호스트 프로세서(26)의 사용자는 소정의 IP 프로토콜을 갖는 데이터 패킷이 스위치 구조(25)에 의해 어떻게 취급되어야 하는지를 규정하는 팔러시(policy)를 특정한다. 이러한 팔러시는 각각의 대응하는 IP 프로토콜 타입에 대해 프레임 한 세트의 전송 결정을 스위치 구조(25) 내에 적재함으로써 구현된다. 따라서, 스위치 구조(25)는 HTTP 패킷에 대한 한 세트의 프레임 전송 명령들과, SNMP 패킷에 대한 다른 세트의 프레임 전송 명령들과, 그리고 높은 우선순위 패킷(예를 들어, 비디오 또는 음성 등)에 대한 다른 세트의 프레임 전송 명령들을 포함할 수 있다.
도 2a 및 2b는 패킷 분류 모듈(24)에 의한 1개의 등식의 2개의 템플릿의 동시 처리를 나타낸다. 도 2a는 다음 등식의 패킷 분류 모듈(24)에 의한 논리 평가를 나타낸다.
Eq1 = M1 * M2 * M3 * M4 * (M5 + M6 + M7 + M8)
도 2b는 등식 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 내에서의 타임 투 리브 필드(time to live field)가 1 보다 크고, IP 헤더 내의 프로토콜 필드가 TCP이고, 헤더 체크섬(header checksum)이 정확하고, 소스 TCP 포트가 80이거나 목적지 TCP 포트가 80인 경우, 식별된다. SNMP 패킷은, 그것이 IPv4 포맷이고, IP 내에서의 타임 투 리브 필드가 1 보다 크고, IP 헤더 내의 프로토콜 필드가 TCP이고, 헤더 체크섬이 정확하고, 소스 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 패킷을 식별한다. 따라서, 등식 1 (Eq1)은, 템플릿(62a, 62b, 62c 또는 62d)중 어느 하나가 참(true)이면, 스위치 구조(25)에 특정의 결과(예를 들어, 특정 값을 갖는 태그)가 출력되어야 함을 특정한다.
또한, 최소항(M1 ... M8)은 유입 데이터 스트림 내의 데이터 바이트의 관련 위치에 대응하는 소정의 순서로 관련된 템플릿(62a 그리고/또는 62b) 내에 배치된다. 도 3에 나타낸 바와 같이, 최소항(M1)은 IP 패킷(32)의 제1 바이트(B1)와 비교되도록 구성되고, 최소항(M2)은 B1의 뒤를 잇는 IP 패킷(32)의 후속 바이트(B2)와 비교되도록 구성되고, 최소항(M3)은 B2의 뒤를 잇는 후속 바이트(B3)와 비교되도록 구성되며, 이하 마찬가지이다. 따라서, 유입 데이터 스트림 내의 데이터 바이트의 관련 위치에 기초하는 순서로 최소항을 갖는 템플릿(62)을 이용함으로써, 유입 데이터 스트림과 최소항 간의 복수의 동시 비교가 가능해진다. 따라서, 유입 데이터 패킷은 복수의 템플릿과 비교되어, 유입 데이터 패킷의 데이터 포맷 뿐 아니라, 스위치 구조(25)가 무슨 조치를 취해야하는 지를 결정할 수 있다.
도 3은 본 발명의 일 실시예에 따른 패킷 분류 모듈(24)을 나타내는 블록도이다. 도 3에 나타낸 바와 같이, 네트워크 스위치 포트(20)는 MAC(22), 수신 FIFO 버퍼(27), 헤더 변경기(header modifier)(29) 및 패킷 분류 모듈(24)을 포함한다. 네트워크 스위치 포트 필터라고도 불리는 패킷 분류 모듈(24)은 네트워크 스위치 포트(20)에서 유입 데이터 패킷을 버퍼없이 식별(즉, 평가)하고, 수신되는 데이터 패킷의 타입에 기초하여 데이터 패킷에 대해 행해져야 할 조치를 특정하는 복수의 태그를 스위치 구조(25)에 제공하도록 구성한다. 특히, 패킷 분류 모듈(24)은 유입 데이터 패킷을, 각각의 데이터 포맷을 식별하도록 구성된 복수의 등식의 복수의 템플릿과 동시에 비교한다. 패킷 분류 모듈(24)은 유입 데이터 패킷과 복수의 템플릿 간의 비교에 기초하여, 스위치 구조(25)에 공급될 태그들을 동시에 발생시킨다.
특히, 패킷 분류 모듈(24)은 복수의 템플릿으로부터 적어도 1개의 합치하는 템플릿을 검출함으로써 유입 데이터 패킷을 식별하는 비교 결과를 발생시킨다. 이후, 패킷 분류 모듈(24)은 어느 등식이 상기 합치하는 템플릿에 대응하는 지를 식별하고, 이러한 등식에 의해 특정되는 태그를 발생시킨다.
도 3에 나타내 바와 같이, 네트워크 스위치 포트 필터(24)는 최소항 메모리(70), 프레임 식별자(72), 최소항 제어기(74), 복수의 등식 코어 모듈(78a, 78b, 78c 및 78d), 등식 결과 메모리(80) 및 pi_mod 인터페이스(84)를 포함한다. 도 3의 네트워크 포트 필터는 또한 최소항 메모리 제어기(81)를 포함한다.
프로세서 인터페이스 모듈(pi_mod)(82)은, 발생된 최소항을 호스트 CPU(26)로부터 최소항 메모리(70)에 전송하는 데에 이용된다.
최소항 메모리(70)는 최소항 값(예를 들어, M1, M2, M3 등)을 저장하도록 구성된다. 또한, 최소항 메모리(70)는 최소항 메모리 제어기(81)에 의해 4개의 부분으로 논리적으로 세분되거나 또는 분할될 수 있다.
최소항 메모리 제어기(81)는 최소항 메모리(70)에 최소항 값을 저장하고 검색하도록 구성된다. 최소항 메모리 제어기(81)는 또한 pi-mod 인터페이스(84)로부터 최소항 값을 수신하여, 최소항 제어기(74)로부터의 요청에 응답하여 최소항 값을 검색하도록 구성된다.
최소항 메모리 제어기(81)는 또한 최소항 메모리(70)를 4개의 논리 구획(71a, 71b, 71c 및 71d)으로 논리적으로 분할하도록 구성된다. 최소항 메모리 제어기(81)는 도 5에 나타낸 등식 식별자 필드의 2개의 최하위 비트에 기초하는 각 등식의 각 최소항의 위치에 기초하여 최소항 값들을 저장하도록 구성된다.
도 5는 최소항 메모리(70) 내의 최소항 구조의 데이터 포맷을 나타내는 다이어그램이다. 개시된 실시예에 따르면, 최소항은, 등식 식별자 필드(110)의 2개의 최하위 비트에 기초하여, 비교되어야 할 데이터 바이트의 관련 위치에 대응하는 순서로 최소항 메모리(70)에 저장된다. 따라서, 2개의 최하위 비트가 "00"으로 특정되는, 등식의 제 1 데이터 바이트와 비교되어야 할 모든 최소항은 최소항 메모리(70)의 논리 구획(71a)의 제 1 부분에 함께 저장되고, 제 2 데이터 바이트와 비교되어야 할 최소항이 계속되며, 이런 식으로 계속된다.
대안적으로, 최소항은, IP 헤더 내의 관련 정보 뿐 아니라, 비교되어야 할 데이터 바이트의 관련 위치에 기초하는 순서로 저장될 수 있다. 따라서, 최소항은 소스 IP 어드레스, 목적지 IP 어드레스 및 소스를 제공하는 데이터 바이트의 시퀀스를 소스 포트 및 목적지 포트와 비교하기 위한 순서로 저장될 수 있다. 이 경우, IP 프레임의 시작에 있어서의 관련없는 데이터 바이트는 최소항 메모리(70)의 시작에 저장되는 최소항과 관련되지 않을 것이며, 이에 따라 최소항 메모리(70)의 효율성을 한층 더 향상시킨다.
각 테이블 엔트리(90)는 최소항 부분(min term portion) 및 평가 부분(evaluation portion)를 포함한다. 최소항 부분은 마스크 필드(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), 최소항 부분의 비교가 거짓인 경우의 제 2 응답 부분(RINP0)(106) 및 등식 식별자(110)를 포함한다. 분기 부분(100)는 등식 내의 OR 항의 순서를 특정한다. 예를 들어, 도 2 및 4에 나타낸 최소항(M1)은 그 분기 부분이 0000 1111로 설정되어, 등식 식별자 필드 110에 특정되는 등식의 최초의 4개의 분기가 대응하는 최소항을 포함해야 함을 나타낸다. 분기 부분에 대해 8 비트를 이용하는 것은, 어떠한 소정의 등식에 최대 8개의 분기가 존재하는 것으로 가정한다.
응답 부분(102)는, 비교되는 데이터 바이트에 대해 최소항 부분이 참인 것으로 평가되는 경우 행해져야 하는 동작을 특정한다. 특히, 종료 비트(finish bit)(FIN)는, 최소항의 결과가 참인 경우 등식의 결과가 결정된다면 1로 설정된다. 최초 상태로의 복귀 비트(the back to initial)(BINIT)는, 최소항 결과가 참인 경우 평가 프로세스가 최초 상태(init)로 복귀해야 한다면 1로 설정된다. 예를 들어, 최소항(M1)의 경우, RINP1의 FIN 비트 및 BINIT 비트는 0으로 설정되는데, 그 이유는 최소항 결과가 참이면 추가의 비교가 필요하기 때문이다. 최소항(M5, M6, M7 및 M8)의 경우, RINP1의 FIN 비트는 1로 설정되는데, 그 이유는 도 2에 나타낸 바와 같이, "참"의 비교 결과는 평가를 종료시키기 때문이다.
응답 부분(106)는, 비교되는 데이터 바이트에 대해 최소항 부분이 거짓으로 평가되는 경우 행해져야 할 동작을 특정한다. 특히, 종료 비트(FIN)는, 최소항의 결고가 거짓인 경우 등식의 결과가 결정되면 1로 설정된다. 최초 상태로의 복귀 비트(BINIT)는, 최소항 결과가 거짓인 경우 평가 처리가 최초 상태(init)로 복귀해야 한다면 1로 설정된다. 예를 들어, 최소항(M1)의 경우, 도 2에 나타낸 바와 같이, 최소항 결과 M1이 거짓인 경우 등식이 INIT 상태로 복귀하도록, FIN 비트는 0으로 설정되고 RINP1의 BINIT 비트는 1로 설정된다.
등식 식별자 필드(110)는 최소항이 대응되는 등식(또는, 등식에 단지 1개의 템플릿 만이 있는 경우에는 템플릿)을 식별한다.
따라서, 등식 코어(78a ... 78d)는 임의의 특정된 등식이 유입 데이터 스트림과 합치하는 템플릿(62)을 가지고 있는 지의 여부를 결정한다. 유입 데이터 스트림과 복수의 템플릿(62)과의 복수의 동시 비교에 기초하여, 등식 코어 모듈(78a ... 78d)은 합치하는 등식을 식별하고, 합치되는 등식에 대응하는 적절한 태그를 발생시켜, 스위칭 구조(25)에 줄 수 있다. 필요에 따라, 코어(78a ... 78d)는 또한 데이터를 스위치에 전송하기 전에, 헤더 변경기(29)에 명령을 출력하여, 층 2 헤더, 층 3 헤더 또는 둘 모두를 변경한다.
도 3으로 돌아가서, 패킷 분류기(24)는 또한, 수신되는 층 2 프레임의 타입을 식별하도록 구성되는 프레임 식별자(72)를 포함한다. 특히 수신된 층 2 프레임의 타입(예를 들어, 이서넷, IEEE 802 내지 3 등)을 식별함으로써, 층 2 패킷(30) 내의 IP 패킷(32)의 시작 위치(64)를 식별할 수 있다.
최소항 제어기(74)는 최소항 메모리(82)를 통해 IP 프레임(32)의 선택된 바이트에 대응하는 최소항 메모리(70)로부터 최소항을 페치하도록 구성된다. 최소항 제어기(74)는 또한, 층 2 프레임의 타입을 특정하는 프레임 식별자(72)로부터 프레임 타입(frm_type) 신호를 수신하는 것에 응답하여 시작 포인트(64)의 실제의 바이트 위치(byte_location)를 특정하도록 구성되는 위치 변환기(82)를 포함한다. 따라서, 최소항 제어기(74)는 IP 패킷의 시작의 검출에 응답하여, IP 패킷(32)의 제 1 바이트(B1)와 비교되어야 할 모든 최소항, 예를 들어 도 6의 등식 Eq1, Eq2 및 Eq3에 대한 최소항(M1, M9 및 M14)을 최소항 메모리 제어기(81)에 요청한다. 이후, 최소항 메모리 제어기(81)는 4-와이어 직렬 버스(four-wire serial bus)를 통해 최소항 값(M_STRU INFO)을 최소항 발생기(76) 및 등식 코어 모듈(78a ... 78d)에 전송한다.
최소항 발생기(76)는 최소항 제어기(74)에 의해 페치된 복수의 등식의 최소항과 유입 데이터 스트림의 선택된 바이트 사이에 실제로 최소항 비교를 행한다. 어떠한 소정의 수신된 바이트는 최대 4개 등식의 최소항과 비교될 수 있다. 하지만, 최소항 발생기(76)는 단지 대응하는 바이트 각각에 대해 최대 32개의 최소항을 비교하도록 구성된다. 따라서, 어떠한 소정의 수신된 바이트에 있어서, 최소항 발생기는 최대 32개의 최소항의 비교를 행할 수 있고, 32개의 최소항은 4개 이하의 등식에 분배될 수 있다. 실제로, 최소항 발생기(76)는 4개의 최소항 발생기(76a ... 76d)로 논리적으로 분할될 수 있다.
최소항 발생기(76)는, 8 클록 주기 마다 한번씩 MAC 인터페이스(22)로부터 전송되는 유입 데이터 패킷의 유입 바이트를 수신하도록 구성된다. 도 6에 나타낸 바와 같이, 최소항 발생기(76)는 매 클록 주기 동안, 수신된 바이트와 복수의 등식의 최소항을 비교하도록 구성된다.
도 6은 수신된 바이트와 4개의 등식에 관련된 최소항과의 비교 주기 동안의 도 3의 최소항 발생기(76)를 나타낸다. 수신된 바이트(120)는 네트워크 스위치 포트 필터(24)의 8 클록 주기 마다 한번씩 최소항 발생기(76)에 전송되기 때문에, 최소항 발생기에 있어서의 비교 주기(126)는 네트워크 스위치 포트 필터(24)의 8 클록 주기를 포함한다. 수신된 바이트(120)는 클록 주기 0(124a) 동안 최소항 발생기(76)에 의해 수신되고, 예를 들어 등식(122a ... 122d)의 최소항(M1, M1, M2 및 M4)과 각각 비교된다. 클록 주기 1(124b)에서, 최소항 발생기(76)는 등식(122a ... 122d)의 각각의 최소항(M2, M4, M3 및 M4)을 비교한다. 이러한 비교는, 비교 주기(126)의 끝까지 계속된다. 다음 비교 주기 동안, 최소항 발생기(76)는 후속의 유입 데이터 바이트와 이 후속의 유입 데이터 바이트와 관련된 최소항들을 동시에 비교한다. 이러한 방식으로, 최소항 발생기(76)에 의해 복수의 최소항 비교가 발생되어, 등식 코어 모듈(78a ... 78d)에 전송된다.
도 3으로 돌아가서, 등식 코어 모듈(78a ... 78d)은 최소항 발생기(76)로부터 수신된 최소항 비교 결과 및 대응하는 선택된 등식에 대한 대응하는 등식 식별자에 기초하여, 대응하는 프레임 태그를 동시에 발생하도록 구성된다. 등식 코어 모듈(78a ... 78d)은 등식 식별자 필드의 2개의 최하위 비트에 기초하여 등식을 평가한다. 예를 들어, 도 5의 등식(122a)의 등식 식별자 필드는 "00"에 의해 특정되고, 등식(122b)의 등식 식별자 필드는 "01"에 의해 특정된다. 등식 코어 모듈(78a)은 등식(122a)을 평가하여, 최소항 발생기(76)로부터의 최소항 결과에 기초하여 대응하는 프레임 태그를 발생시키고, 등식 코어 모듈(78b)은 등식(122b)을 동시에 평가하여, 대응하는 프레임 태그를 발생한다. 각 등식 코어 모듈(78a ... 78d)로부터의 결과는 대응하는 등식 결과 메모리(80a ... 80d)에 저장된다.
상기 개시된 실시예에 따르면, 네트워크 스위치 포트는 데이터 패킷의 유입 데이터 패킷 스트림과 대응하는 프로토콜을 식별하도록 구성된 복수의 템플릿과의 복수의 동시 비교를 최소의 버퍼링으로 행할 수 있는 필터를 포함한다. 이서넷 응용에 있어서, 버퍼링 요건은 1,500 바이트의 크기가 될 수 있다. 네트워크 스위치 포트 필터(24)는 프레임 태그를 병렬로 동시에 발생시키는 복수의 등식 코어 모듈(78a ... 78d)을 포함하기 때문에, 네트워크 스위치 포트 필터(24)는 유입 데이터 패킷의 와이어 속도를 따라갈 수 있기 때문에, 유입 데이터의 버퍼링에 대한 필요성을 줄일 수 있다. 따라서, 큰 FIFO 버퍼의 필요성을 없앰으로써, 네트워크 스위치 포트(20)의 총 비용을 줄일 수 있다. 또한, 복수의 동시 비교에 의해, 네트워크 스위치(12)는 네트워크 스위치 내에서의 블록킹없이 100 Mbps 및 기가비트 네트워크에 대한 층 3 스위칭을 행할 수 있다. 마지막으로, 데이터가 수신되는 순서에 있어서의 복수의 동기 비교에 의해, 전체 헤더가 수신된 이후에만 프로세싱을 시작할 수 있는 프로그램가능 논리 어레이(PLA) 등의 대안적인 방식과 달리, 실시간 비교를 행할 수 있다.
현재 가장 실용적인 바람직한 실시예로서 고려되는 것에 의해 본 발명을 설명했지만, 본 발명은 개시된 실시예로 한정되지 않고, 첨부된 청구항의 정신 및 범위 내에 포함되는 다양한 변경 및 등가의 구성을 포함하는 것으로 의도된다.

Claims (14)

  1. 유입 데이터 패킷을 평가하는 네트워크 스위치 포트 필터로서,
    복수의 등식의 최소항을 저장하는 최소항 메모리와, 여기서 상기 각 최소항은 상기 유입 데이터 패킷의 대응하는 선택된 바이트와 비교하기 위한 소정의 값을 특정하고, 상기 각 등식은 대응하는 등식 식별자에 의해 식별되며;
    상기 유입 데이터 패킷의 수신된 바이트와 상기 수신된 바이트에 대응하는 최소항을 동시에 비교하고, 최소항 비교 결과를 발생시키는 최소항 발생기와; 그리고
    복수의 등식 코어 모듈을 포함하고, 상기 각 등식 코어 모듈은 대응하는 선택된 등식에 대한 대응하는 등식 식별자 및 상기 최소항 비교 결과에 기초하여, 대응하는 프레임 태그를 동시에 발생시키는 것을 특징으로 하는 유입 데이터 패킷을 평가하는 네트워크 스위치 포트 필터.
  2. 제 1 항에 있어서,
    각 등식의 최소항을 수신하는 중앙 처리 유닛 인터페이스와; 그리고
    각 등식의 상기 대응하는 등식 식별자에 기초하여, 상기 최소항 메모리에 각 등식의 최소항을 저장하는 최소항 메모리 제어기를 더 포함하는 것을 특징으로 하는 유입 데이터 패킷을 평가하는 네트워크 스위치 포트 필터.
  3. 제 2 항에 있어서,
    상기 최소항 제어기는 상기 대응하는 등식 식별자의 2개의 최하위 비트에 기초하여 상기 최소항 메모리에 각 등식의 최소항 값을 저장하는 것을 특징으로 하는 유입 데이터 패킷을 평가하는 네트워크 스위치 포트 필터.
  4. 제 1 항에 있어서,
    상기 최소항 발생기는 또한 8 클록 주기 마다 한번씩 상기 유입 데이터 패킷의 상기 수신된 바이트를 수신하는 것을 특징으로 하는 유입 데이터 패킷을 평가하는 네트워크 스위치 포트 필터.
  5. 제 4 항에 있어서,
    상기 최소항 발생기는 또한 등식 코어 모듈의 수에 기초하는 클록 주기 마다 한번씩 상기 유입 데이터 패킷의 상기 수신된 바이트와 상기 수신된 바이트에 대응하는 최소항을 동시에 비교하는 것을 특징으로 하는 유입 데이터 패킷을 평가하는 네트워크 스위치 포트 필터.
  6. 제 3 항에 있어서,
    상기 최소항 메모리에 저장된 최소항의 각각의 위치는 층 2 패킷 내의 IP 프레임의 시작과 관련되는 것을 특징으로 하는 유입 데이터 패킷을 평가하는 네트워크 스위치 포트 필터.
  7. 제 1 항에 있어서,
    각 등식 코어 모듈은 상기 유입 데이터 패킷의 와이어 속도로 그리고 상기 유입 데이터 패킷의 마지막 이전에 상기 프레임 태그를 발생시키는 것을 특징으로 하는 유입 데이터 패킷을 평가하는 네트워크 스위치 포트 필터.
  8. 네트워크 스위치 포트에서 유입 데이터 패킷을 평가하는 방법으로서,
    최소항 메모리에 복수의 등식의 최소항 값을 저장하는 단계와, 여기서 상기 각 최소항은 상기 유입 데이터 패킷의 대응하는 선택된 바이트와 비교하기 위한 소정의 값을 특정하고, 상기 각 등식은 각각의 등식 식별자를 포함하고;
    상기 유입 데이터 패킷의 수신된 바이트와 상기 수신된 바이트에 대응하는 최소항을 동시에 비교하고, 최소항 발생기로 최소항 비교 결과를 발생시키는 단계와; 그리고
    복수의 등식 코어 모듈로부터 복수의 프레임 태그를 동시에 발생시키는 단계를 포함하고, 상기 각 등식 코어 모듈은 대응하는 선택된 등식에 대한 대응하는 등식 식별자 및 상기 최소항 비교 결과에 기초하여, 대응하는 프레임 태그를 동시에 발생시키는 것을 특징으로 하는 네트워크 스위치 포트에서 유입 데이터 패킷을 평가하는 방법.
  9. 제 8 항에 있어서,
    중앙 처리 장치 인터페이스로부터 상기 복수의 등식의 최소항을 수신하는 단계와; 그리고
    각 등식의 상기 대응하는 등식 식별자에 기초하여 상기 최소항 메모리에 각 등식의 최소항을 저장하는 단계를 더 포함하는 것을 특징으로 하는 네트워크 스위치 포트에서 유입 데이터 패킷을 평가하는 방법.
  10. 제 9 항에 있어서,
    상기 저장 단계는, 각 등식 식별자 필드의 2개의 최하위 비트에 기초하여 상기 최소항 메모리에 최소항을 저장하는 단계를 포함하는 것을 특징으로 하는 네트워크 스위치 포트에서 유입 데이터 패킷을 평가하는 방법.
  11. 제 8 항에 있어서,
    상기 동시에 비교하는 단계는, 상기 최소항 발생기에 의해 8 클록 주기 마다 한번씩 상기 유입 데이터 패킷의 상기 수신된 바이트를 수신하는 단계를 포함하는 것을 특징으로 하는 네트워크 스위치 포트에서 유입 데이터 패킷을 평가하는 방법.
  12. 제 11 항에 있어서,
    상기 동시에 비교하는 단계는, 등식 코어 모듈의 수에 기초하는 클록 주기 마다 한번씩 상기 유입 데이터 패킷의 상기 수신된 바이트와 상기 수신된 바이트에 대응하는 최소항을 동시에 비교하는 단계를 더 포함하는 것을 특징으로 하는 네트워크 스위치 포트에서 유입 데이터 패킷을 평가하는 방법.
  13. 제 8 항에 있어서,
    상기 저장 단계는, 층 2 패킷 내의 IP 프레임의 관련된 시작에 기초하여 상기 최소항 메모리에 각 최소항을 위치시키는 단계를 더 포함하는 것을 특징으로 하는 네트워크 스위치 포트에서 유입 데이터 패킷을 평가하는 방법.
  14. 제 8 항에 있어서,
    상기 동시에 발생시키는 단계는, 각 등식 코어 모듈이 상기 유입 데이터 패킷의 와이어 속도로 그리고 상기 유입 데이터 패킷의 마지막 이전에 상기 각 프레임 태그를 발생시키는 단계를 포함하는 것을 특징으로 하는 네트워크 스위치 포트에서 유입 데이터 패킷을 평가하는 방법.
KR1020037000630A 2000-07-17 2001-02-27 복수의 최소항으로 패킷 데이터 바이트를 버퍼없이 평가하는 장치 및 방법 KR100682645B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US09/618,059 2000-07-17
US09/618,059 US6693906B1 (en) 2000-07-17 2000-07-17 Apparatus and method for buffer-free evaluation of packet data bytes with multiple min terms
PCT/US2001/006518 WO2002007391A1 (en) 2000-07-17 2001-02-27 Apparatus and method for buffer-free evaluation of packet data bytes with multiple min terms

Publications (2)

Publication Number Publication Date
KR20030022285A KR20030022285A (ko) 2003-03-15
KR100682645B1 true KR100682645B1 (ko) 2007-02-15

Family

ID=24476158

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020037000630A KR100682645B1 (ko) 2000-07-17 2001-02-27 복수의 최소항으로 패킷 데이터 바이트를 버퍼없이 평가하는 장치 및 방법

Country Status (7)

Country Link
US (1) US6693906B1 (ko)
EP (1) EP1303949B1 (ko)
JP (1) JP4680478B2 (ko)
KR (1) KR100682645B1 (ko)
CN (1) CN1178434C (ko)
DE (1) DE60142291D1 (ko)
WO (1) WO2002007391A1 (ko)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6963565B1 (en) * 2000-08-14 2005-11-08 Advanced Micro Devices, Inc. Apparatus and method for identifying data packet at wire rate on a network switch port
US7558264B1 (en) 2001-09-28 2009-07-07 Emc Corporation Packet classification in a storage system
US7421509B2 (en) * 2001-09-28 2008-09-02 Emc Corporation Enforcing quality of service in a storage network
US7864758B1 (en) * 2001-09-28 2011-01-04 Emc Corporation Virtualization in a storage system
US7404000B2 (en) * 2001-09-28 2008-07-22 Emc Corporation Protocol translation in a storage system
US6976134B1 (en) 2001-09-28 2005-12-13 Emc Corporation Pooling and provisioning storage resources in a storage network
US7707304B1 (en) * 2001-09-28 2010-04-27 Emc Corporation Storage switch for storage area network
US20040264479A1 (en) * 2003-06-30 2004-12-30 Makaram Raghunandan Method for generating a trie having a reduced number of trie blocks
ATE422261T1 (de) * 2004-02-18 2009-02-15 Harman Becker Automotive Sys Atapi schalter
CN101401090B (zh) * 2004-04-19 2010-08-25 加利福尼亚大学董事会 深度包过滤器及深度包过滤方法
US7529781B2 (en) * 2004-04-30 2009-05-05 Emc Corporation Online initial mirror synchronization and mirror synchronization verification in storage area networks
CN101242344B (zh) * 2007-02-05 2013-03-20 财团法人工业技术研究院 网络封包分类器与其方法

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08288950A (ja) * 1995-04-12 1996-11-01 Kawasaki Steel Corp セルリレー形交換装置
US5802054A (en) * 1996-08-15 1998-09-01 3Com Corporation Atomic network switch with integrated circuit switch nodes
AU6169398A (en) 1997-02-11 1998-08-26 Xaqti Corporation Media access control micro-risc stream processor and method for implementing thesame
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
US6430184B1 (en) 1998-04-10 2002-08-06 Top Layer Networks, Inc. System and process for GHIH-speed pattern matching for application-level switching of data packets
JP2000083055A (ja) * 1998-09-04 2000-03-21 Hitachi Ltd ルータ
JP4024943B2 (ja) * 1998-09-16 2007-12-19 株式会社東芝 ネットワーク間接続装置

Also Published As

Publication number Publication date
EP1303949B1 (en) 2010-06-02
DE60142291D1 (de) 2010-07-15
CN1443411A (zh) 2003-09-17
JP4680478B2 (ja) 2011-05-11
KR20030022285A (ko) 2003-03-15
JP2004504769A (ja) 2004-02-12
US6693906B1 (en) 2004-02-17
WO2002007391A1 (en) 2002-01-24
EP1303949A1 (en) 2003-04-23
CN1178434C (zh) 2004-12-01

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
US6950434B1 (en) Arrangement for searching packet policies using multi-key hash searches in a network switch
US6798788B1 (en) Arrangement determining policies for layer 3 frame fragments in a network switch
US6754211B1 (en) Method and apparatus for wire speed IP multicast forwarding
US6674769B1 (en) Simultaneous searching of layer 3 policy filter and policy cache in a network switch port
JP4999957B2 (ja) ネットワークスイッチング装置におけるコンテントベースの転送/フィルタリング方法
KR100708428B1 (ko) 네트워크 교환기에서의 선택적인 주소표 에이징
US6963565B1 (en) Apparatus and method for identifying data packet at wire rate on a network switch port
US6807183B1 (en) Arrangement for reading a prescribed location of a FIFO buffer in a network switch port
KR100682645B1 (ko) 복수의 최소항으로 패킷 데이터 바이트를 버퍼없이 평가하는 장치 및 방법
US6907036B1 (en) Network switch enhancements directed to processing of internal operations in the network switch
US6711165B1 (en) Apparatus and method for storing min terms in network switch port memory for access and compactness
US6778547B1 (en) Method and apparatus for improving throughput of a rules checker logic
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

Legal Events

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

Payment date: 20110201

Year of fee payment: 5

LAPS Lapse due to unpaid annual fee