KR20030085051A - 우선 순위 또는 차별화된 서비스 정보에 입각한 태그 발생 - Google Patents

우선 순위 또는 차별화된 서비스 정보에 입각한 태그 발생 Download PDF

Info

Publication number
KR20030085051A
KR20030085051A KR10-2003-7012404A KR20037012404A KR20030085051A KR 20030085051 A KR20030085051 A KR 20030085051A KR 20037012404 A KR20037012404 A KR 20037012404A KR 20030085051 A KR20030085051 A KR 20030085051A
Authority
KR
South Korea
Prior art keywords
data
priority
dscp
information
data frames
Prior art date
Application number
KR10-2003-7012404A
Other languages
English (en)
Other versions
KR100836947B1 (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 KR20030085051A publication Critical patent/KR20030085051A/ko
Application granted granted Critical
Publication of KR100836947B1 publication Critical patent/KR100836947B1/ko

Links

Classifications

    • 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
    • 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
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/2408Traffic characterised by specific attributes, e.g. priority or QoS for supporting different services, e.g. a differentiated services [DiffServ] type of service
    • 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/20Support for services
    • H04L49/205Quality of Service based
    • 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/30Peripheral units, e.g. input or output ports
    • H04L49/3027Output 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

Landscapes

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

Abstract

멀티포트 스위치(180)는 스위치에 의해 수신된 데이터 프레임들이 어떻게 전송될 것인 지를 기술하는 행동 태그들을 생성하는 행동 발생기(318)를 포함한다. 포트 필터(316)는 수신된 패킷들에 대해 방침 방정식들 및 차별화된 서비스 코드 포인트(DSCP) 신호를 발생시킨다. 상기 행동 발생기(318) 내의 디코더(411) 및 행동 메모리(412)는 가장 높은 우선 순위의 방침 방정식을 선택한 다음, 이 방침 방정식을 이용하여 상기 데이터 프레임에 대한 우선 순위 정보를 확인한다. 상기 행동 발생기 내의 상태 머신(410)은 상기 DSCP 신호를 수신한다. 결과 태그 인터페이스(413)는 상기 상태 머신(410)으로부터 DSCP 신호를, 상기 행동 메모리(412)로부터 우선 순위 정보를 수신한다. 이러한 신호들에 기초하여, 상기 결과 태그 인터페이스(413)는 최종 행동 태그를 구성한다.

Description

우선 순위 또는 차별화된 서비스 정보에 입각한 태그 발생{TAG GENERATION BASED ON PRIORITY OR DIFFERENTIATED SERVICES INFORMATION}
컴퓨터 네트워크들에서, 다수의 네트워크 스테이션들은 전형적으로 통신 매체를 통해 서로 연결된다. 예를 들어, 이서넷(Ethernet) 802.3은 일반적으로 이용되는 국부 영역 네트워크(LAN) 방식으로서, 여기에서는 다수의 스테이션들이 공유 또는 전용 직렬 데이터 경로에 연결된다. 이러한 스테이션들은 종종 상기 데이터 경로와 이 데이터 경로에 연결된 스테이션들 간에 위치하는 스위치 또는 다른 어떠한 네트워크 장치와 통신한다. 상기 스위치는 전형적으로 패킷들의 통신을 제어하며, 패킷들을 수신하여 이들을 적절한 목적지들로 전송하는 로직을 포함한다.
일부 통상적인 네트워크 스위치들은 이들이 전송하는 패킷들에 대해 서로 다른 부류의 서비스들을 제공한다. 패킷에 제공될 특정한 서비스 부류는 차별화된 서비스 필드라 불리는 필드의 패킷 헤더 내에서 식별될 수 있다. 표준 인터넷 프로토콜에 대한 차별화된 서비스 향상은 네트워크의 모든 스위치에서의 흐름당 상태 및 발신(per-flow state and signaling)을 필요로 하지 않으면서 확장가능한 서비스차별화를 가능하게 한다. 이러한 차별화 서비스 필드를 통해, 스위치는 우선 순위 및 패킷에 대한 다른 전송 정보를 결정할 수 있다.
어떠한 패킷들은 차별화된 서비스 필드를 갖지 않을 수 있다. 그 대신, 패킷들은 그들의 헤더 부분에, 스위치가 패킷에 할당해야 하는 우선 순위 레벨의 직접적인 표시를 포함할 수 있다. 대안적으로 또는 부가적으로, 상기 스위치는 패킷이 어떻게 처리되어야 하는 지를 결정하기 위해 상기 패킷에 소정의 방침 방정식들(policy equations)을 적용할 수 있다. 이러한 방침 방정식의 예로서, 상기 스위치는 특정한 IP 어드레스로부터의 모든 패킷들을 차단할 수 있다.
본 기술 분야에서는 적용되는 차별화 서비스 코드, 우선 순위 필드, 그리고/또는 방침 방정식들에 기초하여 패킷들을 효율적으로 전송할 수 있을 필요성이 있다.
본 발명은 일반적으로 통신 시스템에 관한 것으로서, 특히 다른 서비스 부류들을 갖는 패킷들을 전송하는 시스템 및 방법에 관한 것이다.
이제 도면을 참조하는바, 도면들 전체에 걸쳐서 동일한 참조 부호를 갖는 요소들은 동일한 요소들을 나타낸다.
도 1은 본 발명에 따른 시스템들 및 방법들이 실시될 수 있는 예시적인 시스템의 블록도이다.
도 2는 본 발명의 실시에 따른 도 1의 멀티포트 스위치의 상세도이다.
도 3은 본 발명의 실시에 따른 도 2의 멀티포트 스위치의 일부분을 도시한 도면이다.
도 4는 멀티포트 스위치의 행동 발생 수단을 보다 상세히 도시한 예시적인 도면이다.
도 5는 도 3의 행동 메모리 내의 엔트리의 예시적인 도면이다.
도 6은 행동 태그의 예시적인 도면이다.
도 7은 도 2의 멀티포트 스위치의 행동 발생기 및 포트 필터의 동작에 대한 예시적인 처리를 나타낸 흐름도이다.
본 발명에 따른 시스템 및 방법은, 패킷 기반 네트워크에서 수신된 패킷들에 대한 전송 특성들을 기술하는 행동 태그들(action tags)을 효율적으로 생성함으로써, 상기 종래의 문제 및 다른 요구들을 해결한다.
본 발명의 장점들 및 특징들은 하기의 상세한 설명에서 설명되는바, 당업자들에게는 이러한 본 발명의 장점들 및 특징들이 하기의 내용을 검토함으로써 명백해지거나, 본 발명을 실행함으로써 알게 될 것이다. 본 발명의 장점들 및 특징들은 첨부된 청구범위에서 특정하게 교시되는 바와 같이 구현되고 얻어질 수 있다.
본 발명에 따르면, 상기 장점들 및 다른 장점들은 네트워크 장치에 의해 달성된다. 이 네트워크 장치는 데이터 프레임들을 수신하도록 구성된 입력 포트들을 포함한다. 포트 필터는 수신된 데이터 프레임들 각각에 대해 방침 정보 및 서비스 부류 정보를 발생시킨다. 메모리는 상기 방침 정보에 대응하는 행동 태그들을 저장한다. 결과 태그 인터페이스는 상기 서비스 부류 정보에 기초하여 최종 행동 태그, 및 상기 방침 정보에 대응하는 행동 태그들을 발생시킨다.
본 발명에 따른 방법은 네트워크 장치에 의해 수신된 데이터 프레임에 대한 우선 순위 레벨 정보를 식별한다. 이 방법은 네트워크 정책 방정식들에 기초하여 우선 순위 레벨들에 대응하는 우선 순위 레벨 정보로 메모리를 프로그램하는 단계, 및 상기 수신된 데이터 프레임들에 관련된 우선 순위 레벨 정보를 식별하기 위해 상기 메모리를 액세스하는 단계를 포함한다. 차별화된 서비스 코드 포인트(DSCP: Differentiated Services Code Point) 데이터가, 수신된 데이터 프레임들, 및 DSCP 데이터와 우선 순위 레벨 정보에 기초하여 수신된 데이터 프레임들에 대해 발생된 최종 행동 태그로부터 얻어진다. 마지막으로, 데이터 프레임들은 상기 발생된 최종 행동 태그에 기초하여 네트워크 장치로부터 전송된다.
본 발명의 다른 장점들 및 특징들은 하기의 상세한 설명으로부터 당업자에게 용이하게 명백해질 것이다. 도시되고 설명되는 실시예들은 본 발명을 실행하기 위한 최상의 방법으로서 고려되는 예를 제공한다. 본 발명은 본 발명을 벗어나지 않으면서 명백한 많은 관점들에서 변형될 수 있다. 따라서, 도면들은 한정적인 것이 아닌 예시적인 것으로서 간주되어야 한다.
본 발명은 이서넷 (IEEE 802.3) 네트워크와 같은 패킷 교환 네트워크의 스위치를 예로 들어 설명될 것이다. 그러나, 주목할 사항으로서, 하기에서 상세히 설명되는 바와 같이, 본 발명은 다른 패킷 교환 시스템들 뿐 아니라 다른 타입들의 시스템들에도 일반적으로 적용될 수 있다.
스위치 아키텍쳐 개요
도 1은 본 발명에 따른 시스템들 및 방법들이 실시될 수 있는 예시적인 시스템의 블록도이다. 예시적인 시스템은 이서넷 (IEEE 802.3) 네트워크와 같은 패킷 교환 네트워크(100)를 포함할 수 있다. 이 패킷 교환 네트워크(100)는 네트워크 스테이션들(110), 변환기들(120), 송수신기들(130 및 140), 네트워크 노드(150), 호스트(160), 외부 메모리들(170) 및 멀티포트 스위치들(180)을 포함할 수 있다. 상기 네트워크 스테이션들(110)은 서로 다른 구성들을 갖는 통상적인 통신 장치들(예를 들어, 컴퓨터들)을 포함할 수 있다. 예를 들어, 이러한 장치들은 초당 10 메가비트들(Mb/s) 또는 100Mb/s의 네트워크 데이터 속도로 데이터를 송수신할 수 있다.
각각의 10/100Mb/s 네트워크 스테이션(110)은 반이중(half-duplex) 또는 전이중(full-duplex) 이서넷 프로토콜에 따라 멀티포트 스위치(180)로/로부터 데이터를 송/수신할 수 있다. 이서넷 프로토콜 ISO/IEC 8802-3 (ANSI/IEEE 표준 802.3, 1993 판)은 모든 스테이션(110)이 동등하게 네트워크 채널을 액세스할 수 있게 하는 반이중 매체 액세스 메커니즘을 정의한다. 반이중 환경에서의 트래픽은 전송 매체 상에서는 구별되지 않는다. 그 보다는, 각 반이중 스테이션(110)은, 전송 매체 상에서의 트래픽에 귀를 기울이기 위해 캐리어 감지 다중 액세스 ·충돌 검출(CSMA/CD: carrier-sense multiple access/collision detection)을 이용하는 이서넷 인터페이스 카드를 포함할 수 있다. 네트워크 트래픽의 부재는 전송 매체 상에서 수신 캐리어의 비표명(deassertion)을 감지함으로써 검출된다.
전송할 데이터를 갖는 어떠한 스테이션(110)은 전송 매체 상에서의 수신 캐리어의 비표명 이후, 패킷간 갭 간격(IPG)으로서 알려져있는 소정량이 시간을 기다림으로써 채널을 액세스하고자 시도할 수 있다. 다수의 스테이션들(110)이 동일한링크에 연결되는 경우, 각 스테이션들(110)은 상기 감지된 수신 캐리어의 비표명에 응답하여 그리고 상기 IPG 간격 후에 데이터를 전송하고자 시도할 수 있는데, 이에 의해 충돌이 야기될 수 있다. 이에 따라, 전송 스테이션(110)은 동일한 링크에 데이터를 동시에 전송하는 다른 스테이션(110)으로 인한 충돌이 있는 지를 결정하기 위해 전송 매체를 감시할 수 있다. 충돌이 검출되면, 양쪽 스테이션들(110)은 전송을 중지하고, 소정량의 시간을 기다린 다음, 전송을 다시 시도한다.
전이중 모드에서 동작하는 10/100 Mb/s 네트워크 스테이션들(110)은 이서넷 표준 IEEE 802.3u에 따라 데이터 패킷들을 송수신할 수 있다. 전이중 환경은 각 링크 파트너(즉, 10/100 Mb/s 네트워크 스테이션(100)과 대응하는 멀티포트 스위치(180)) 간에 데이터를 동시에 송수신할 수 있게 하는 양방향의 지점간(point-to-point) 통신 링크를 제공한다.
변환기들(120)은 네트워크 스테이션들(110)과 송수신기들(130) 간에 AC 결합을 제공하는 자기 변환기들을 포함할 수 있다. 송수신기들(130)은 각각의 직렬 매체 독립 인터페이스들(SMIIs) 또는 감소된 매체 독립 인터페이스들(RMIIs)을 통해 멀티포트 스위치들(180)과 통신하는 10/100 Mb/s 물리계층 송수신기들을 포함할 수 있다. 각 송수신기들(130)은 SMII/RMII를 통해 멀티포트 스위치(180)와 최대 4개의 네트워크 스테이션들(110) 간에 데이터 패킷들을 송수신하도록 구성될 수 있다. 상기 SMII/RMII는 각 네트워크 스테이션들(110) 및 대응하는 송수신기(130)에 의한 데이터 패킷들의 동시 송수신을 가능하게 하는 데에 충분한 데이터 속도로 동작할 수 있다.
송수신기(140)는, 예를 들어 고속 네트워크 전송 매체를 통해 노드들(예를 들어, 네트워크 노드(150))과의 통신을 제공하는 1개 이상의 1000 Mb/s(즉, 1 Gb/s) 물리계층 송수신기들을 포함할 수 있다. 네트워크 노드(150)는 1 Gb/s의 네트워크 속도로 데이터 패킷들을 송수신하는 1개 이상의 1 Gb/s 네트워크 노드들을 포함할 수 있다. 네트워크 노드(150)는, 예를 들어 고속의 백본(backbone) 네트워크로의 또는 게이트웨이(gateway) 또는 서버를 포함할 수 있다.
호스트(160)는, 멀티포트 스위치들(180)의 전체 동작을 제어하기 위해 외부 관리 기능을 제공하는 컴퓨터 장치를 포함할 수 있다. 외부 메모리들(170)은 멀티포트 스위치들(180)에 대한 외부 저장소를 제공하는 동기 스태틱 랜덤 액세스 메모리들(SSRAMs)을 포함할 수 있다. 상기 외부 메모리들(170) 각각은 조인트 일렉트론 디바이스 엔지니어링 카운실(JEDEC) 파이프라인 버스트(pipelined burst) 또는 64 비트 크기의 데이터 경로 및 17 비트 크기의 어드레스 경로를 갖는 제로 버스 턴어라운드(ZBT) SSRAM을 포함할 수 있다. 상기 외부 메모리들(170)은 64 비트 워드들의 128K의 상위 및 하위 뱅크들로서 어드레스될 수 있다. 상기 외부 메모리들(170)의 크기는 바람직하게는, 파이프라이닝(pipelining)을 통해 매 클럭 주기 마다 데이터 전송이 가능한 적어도 1 Mbyte이다.
멀티포트 스위치들(180)은 네트워크 스테이션들(110) 또는 네트워크 노드(150)로부터 수신된 데이터 패킷들을, 적절한 전송 매체(예를 들어, 이서넷 프로토콜)에 따라 적절한 목적지에 선택적으로 전송한다. 상기 멀티포트 스위치들(180)은 이 멀티포트 스위치들(180)의 성능을 확장시키기 위해(라인들(190)을 통해) 함께 직렬을 이룬다.
도 2는 본 발명의 실시에 따른 멀티포트 스위치(180)의 상세도이다. 이 멀티포트 스위치(180)는 수신기(205), 전송기(210), 데이터 버스(215), 스케쥴러(220), 흐름 제어 로직(225), 버퍼 관리 로직(230), 포트 벡터 큐(PVQ)(235), 출력 제어 큐들(240), 내부 룰 체커(IRC)(245), 레지스터들(250), 관리 정보 베이스(MIB) 카운터들(255), 호스트 인터페이스(I/F)(260), 외부 메모리 인터페이스(265), EEPROM 인터페이스(270), LED 인터페이스(275) 및 조인트 테스트 행동 그룹(JTAG) 인터페이스(280)를 포함한다.
상기 수신기(205)는 매체 액세스 제어(MAC) 모듈들 및 수신 버퍼들(예를 들어, FIFO 버퍼들)을 포함할 수 있다. 상기 수신 모듈들은 SMII들, RMII들, 기가비트 매체 독립 인터페이스들(GMIIs), 10 비트 인터페이스들(TBIs), 및 다른 멀티포트 스위치들(180)(도 1)과의 확장을 위한 독점 인터페이스들(proprietary interfaces)을 지원하는 입력 포트들을 포함할 수 있다. 확장 포트들(EPs)이, 규정된 프로토콜에 따라 다른 멀티포트 스위치들(180) 간에 데이터를 전송하는 데에 이용될 수 있다. 상기 확장 포트들은 상기 멀티포트 스위치들(180)이 함께 직렬로 되어 백본 네트워크를 형성할 수 있게 한다. 수신 모듈들 각각은, 네트워크 스테이션들(110) 그리고/또는 네트워크 노드(150)로부터 데이터 패킷들을 수신한 다음 대응하는 수신 FIFO들에 저장하는 큐잉 로직(queuing logic)을 포함할 수 있다. 이 큐잉 로직은 이후 패킷들의 부분들을, 처리를 위해 IRC(245)에 전송하고, 저장을 위해 외부 메모리 인터페이스(265)를 통해 외부 메모리(170)에 전송할 수 있다.
상기 전송기(210)는 MAC 모듈들 및 전송 버퍼들(예를 들어, FIFO 버퍼들)을 포함할 수 있다. 이러한 전송 모듈들은 SMII들, GMII들, TBI들, 및 다른 멀티포트 스위치들(180)과의 확장을 위한 독점 인터페이스들을 지원하는 출력 포트들을 포함할 수 있다. 각 전송 모듈은, 외부 메모리(170)로부터 패킷들을 얻은 다음 이 패킷들을 대응하는 전송 FIFO들에 저장하는 디큐잉 로직(dequeuing logic)을 포함할 수 있다. 상기 전송 모듈들은 대응하는 전송 FIFO들로부터 데이터 패킷들을 읽은 다음, 상기 패킷들을 네트워크 스테이션들(110) 그리고/또는 네트워크 노드(150)에 전송할 수 있다. 본 발명에 따른 대안적인 실시에서, 상기 수신기(205) 및 상기 전송기(210)의 기능들은 데이터 패킷들의 수신 및 전송을 관리하는 송수신기에 의해 수행될 수 있다.
상기 데이터 버스(215)는 수신기(205), 송신기(210), IRC(245) 및 외부 메모리 인터페이스(265)를 연결하는 1개 이상의 컨덕터(conductor)들을 포함할 수 있다. 상기 스케쥴러(220)는, 각각 수신기(205) 및 전송기(210)의 큐잉 및 디큐잉 로직에 의해 외부 메모리(170)로의 액세스를 제어하는 로직을 포함할 수 있다. 상기 멀티포트 스위치(180)는, 데이터가 10, 1000 또는 1000Mb/s의 각 전송 속도들(wire rates)로 스위치 포트들로부터 수신 및 전송되는 비차단 스위치(non-blocking switch)로서 동작하도록 구성된다. 이에 따라, 상기 스케쥴러(220)는 외부 메모리(170)의 대역폭의 이용을 최적화하기 위해 다른 포트들에 의한 액세스를 제어할 수 있다.
상기 흐름 제어 로직(225)은, 전송기(210)에 의한 패킷들의 전송을 제어하기위해, 버퍼 관리 로직(230), PVQ(235) 및 출력 제어 큐들(240)과 함께 동작하는 로직을 포함할 수 있다. 상기 흐름 제어 로직(225)은 전송기(210)가 데이터 트래픽의 양에 기초하여 효율적인 방법으로 패킷들을 출력하도록 전송기(210)를 제어할 수 있다. 상기 버퍼 관리 로직(230)은 상기 멀티포트 스위치(180) 내에서의 메모리의 이용을 감시하는 로직을 포함할 수 있다. 예를 들어, 상기 버퍼 관리 로직(230)은 프레임 포인터들의 이용, 및 일단 데이터 패킷들이 자신의 지정된 출력 포트(들)로 전송되면 프레임 포인터들의 재이용을 관리할 수 있다. 프레임 포인터들은, 전송을 요구하는, 외부 메모리(170)에 저장된 데이터 프레임들의 위치를 식별한다.
PVQ(235)는 데이터 프레임 전송을 수신하기 위해 출력 포트들에 대응하는 출력 제어 큐들(24) 내의 적절한 출력 큐(들)에 대한 프레임 포인터를 얻는 로직을 포함할 수 있다. 멀티카피 프레임들(multicopy frames)에 대해, 상기 PVQ(235)는 1개 이상의 출력 큐에 동일한 프레임 포인터의 다수의 카피들을 공급할 수 있다.
상기 출력 제어 큐들(240)은 전송기(210) 내의 전송 모듈들 각각에 대응하는 FIFO 타입 출력 큐를 포함할 수 있다. 이러한 각 출력 큐는 서로 다른 우선 순위 레벨들을 갖는 프레임들에 대한 다수의 우선 순위 큐들을 포함할 수 있다. 예를 들어, 높은 우선 순위의 큐는 보다 낮은 액세스 대기 시간(access latency)를 요구하는 프레임들(예를 들어, 멀티미디어 응용들을 위한 프레임들 또는 관리 프레임들)에 대해 이용될 수 있다. 상기 FIFO 타입 출력 큐들에 저장된 프레임 포인터들은 각각의 전송 모듈들에 대해 디큐잉 로직에 의해 처리될 수 있다. 이러한 디큐잉 로직은 프레임 포인터들을 이용하여 외부 메모리(170)를 액세스함으로써, 프레임 포인터들에 의해 지정되는 메모리 위치들에 있는 데이터 프레임들을 읽는다.
상기 IRC(245)는 상기 수신기(205)에 의해 수신되는 데이터 패킷들에 대한 프레임 전송 결정들을 수행하는 내부 결정 수행 엔진(internal decision making engine)을 포함할 수 있다. 상기 IRC(245)는 프레임 포인터 값, 및 데이터 프레임의 일부, 예를 들어 소스, 목적지 및 가상 국부 영역 네트워크(VLAN) 어드레스 정보를 포함하는, 수신된 패킷의 헤더 정보를 결정하기 위해, 데이터 버스(215)를 감시한다(즉, "스누프(snoop)" 한다). 상기 IRC(245)는 상기 헤더 정보를 이용하여, 어떤 출력 포트가 프레임 포인터에 의해 지정된 위치에 저장된 데이터 프레임을 출력할 것인 지를 결정할 수 있다. 따라서, 상기 IRC(245)는 소정의 데이터 프레임이 단일 포트(즉, 유니캐스트), 다수 포트들(즉, 멀티캐스트), 모든 포트들(즉, 브로드캐스트)에 의해 출력되어야 함을, 또는 어떤 포트에 의해서도 출력되지 않아야 함을(즉, 버려져야 함을) 결정할 수 있다.
예를 들어, 각 데이터 프레임은 소스 및 목적지 어드레스들을 식별하는 헤더를 포함할 수 있다. 상기 IRC(245)는 상기 목적지 어드레스를 이용하여, 데이터 프레임을 출력하기 위한 적절한 출력 포트를 식별할 수 있다. 프레임 헤더는 또한, 상기 프레임을 네트워크 스테이션들(110)의 그룹의 1개 이상의 요소들에 예정된 정보로서 식별하는 VLAN 어드레스 정보를 포함할 수 있다. 대안적으로, 상기 IRC(245)는 데이터 프레임이 확장 포트를 통해 다른 멀티포트 스위치(180)에 전송되어야 한다고 결정할 수 있다. 따라서, 상기 IRC(245)는 외부 메모리(170)에 일시 저장된 프레임이 단일 출력 포트 또는 다수의 출력 포트들에 출력되어야 하는지,또는 어떠한 출력 포트에도 출력되서는 안되는지, 또는 다른 멀티포트 스위치(180)에 출력되어야 하는 지를 결정한다.
상기 IRC(245)는 자신의 전송 결정을 전송 기술자(forwarding descriptor)의 형태로 PVQ(235)에 출력할 수 있다. 상기 전송 기술자는, 예를 들어 프레임을 전송해야 하는 각 출력 포트를 식별하는 포트 벡터, 입력 포트 넘버 또는 VLAN 정보를 포함할 수 있다. 상기 PVQ(235)는 프레임 포인터를 얻기 위해 상기 전송 기술자를 디코드할 수 있다. 이후, 상기 PVQ(235)는 상기 프레임 포인터를 출력 제어 큐들(240) 내의 적절한 출력 큐들에 공급할 수 있다.
상기 IRC(245)는 또한 층 3 필터링을 수행할 수 있다. 예를 들어, 상기 IRC(245)는 최대 128개의 프로그램가능한 패턴들에 대해, 수신된 각 데이터 패킷을 검사한 다음, 그 결과에 기초하여 상기 패킷을 처리할 수 있다. 상기 결과는 상기 IRC(245)가 상기 패킷을 제거(drop)한 다음 호스트(160)에 전송하거나, 또는 상기 패킷에 사용자 우선 순위 또는 차별화된 서비스 코드 포인트(DSCP)를 할당함을 말해줄 수 있다. 상기 사용자 우선 순위 및 DSCP는 출력 우선 순위 부류들에 독립적으로 맵핑될 수 있다.
상기 레지스터들(250)은 호스트 인터페이스(260)에 의해 이용되는 구성 및 상태 레지스터들을 포함할 수 있다. MIB 카운터들(255)은 호스트(160)에 의해 이용하기 위한 MIB 객체들(MIB objects) 형태의 통계적인 네트워크 정보를 제공할 수 있다. 상기 호스트 인터페이스(260)는 외부 관리 엔티티(예를 들어, 호스트(160))로 하여금 멀티포트 스위치(180)의 전체 동작을 제어할 수 있게 하는 표준 인터페이스를 포함할 수 있다. 상기 호스트 인터페이스(260)는 규정된 레지스터 공간 내에서의 호스트 액세스들을 디코드하고, 레지스터들(250)로/로부터 구성 및 상태 정보를 쓰고 읽을 수 있다.
상기 외부 메모리 인터페이스(265)는 외부 메모리(170)로의 액세스를 허용하는 표준 인터페이스를 포함할 수 있다. 상기 외부 메모리 인터페이스(265)는 상기 스케쥴러(220)에 의해 결정된 할당된 타임 슬롯 동안 직접 메모리 액세스(DMA) 트랜잭션(transaction)시 상기 패킷 데이터를 상기 외부 메모리(170)에 외부적으로 저장할 수 있게 한다. 본 발명에 따른 실시에서, 상기 외부 메모리 인터페이스(265)는 적어도 66 MHz의 클럭 주파수, 바람직하게는 100 MHz 또는 그 이상의 클럭 주파수에서 동작한다.
상기 EEPROM 인터페이스(270)는 다른 외부 메모리(예를 들어, EEPROM)에 대한 표준 인터페이스를 포함할 수 있다. LED 인터페이스(275)는 외부 LED 로직에 대한 표준 인터페이스를 포함할 수 있다. 상기 LED 인터페이스(275)는 입력 및 출력 포트들의 조건들의 상태를 상기 외부 LED 로직에 전송할 수 있다. 상기 LED 로직은 사람이 읽을 수 있는 LED 디스플레이 요소들을 구동시킬 수 있다. JTAG 인터페이스(280)는, 예를 들어 멀티포트 스위치(180) 상에서 수행될 경계 주사 테스트(boundary scan test)를 허용하기 위해 외부 테스팅 장비에 대한 표준 인터페이스를 포함할 수 있다.
상기 스위치 아키텍쳐에 대한 설명은 패킷 교환 네트워크에서의 스위치의 동작들의 개요를 제공한다. 예를 들어 멀티포트 스위치(180) 상에서 실시되는 본 발명의 특징들에 대한 보다 상세한 설명은 하기에 제공된다.
예시적인 행동 태그 발생
본원에서 설명되는 바와 같이, 행동 태그 발생기는 수신기(205) 내의 포트 필터와 PVQ(235) 사이에 위치된다. 이 행동 태그 발생기는, 수신된 데이터 프레임들에 대해, 스위치가 데이터 프레임들의 전송을 어떻게 처리할 것인 지를 나타내는 행동 태그들을 생성한다. 이 행동 태그 발생기는 우선 순위에 기초하여, 또는 데이터 프레임의 차별적인 서비스 필드에 기초하여, 상기 행동 태그들을 지원할 수 있다.
도 3은 본 발명의 실시에 따른 멀티포트 스위치(180)의 부분에 대한 상세도이다. 도 3에 도시된 멀티포트 스위치(180)의 부분은 수신기(205), 데이터 버스(215), PVQ(235), 출력 제어 큐들(240), IRC(245), 레지스터들(250), 호스트 인터페이스(260) 및 외부 메모리 인터페이스(265)를 포함한다. 수신기(205)는, 각각 입력 포트들(1 내지 N)에 대응하는 MAC 모듈들(310 및 320), 및 행동 태그 발생기(340)를 포함할 수 있다. 각 MAC 모듈은 수신 FIFO 버퍼(312), 큐잉 로직(314), 포트 필터(316) 및 행동 발생 수단(318)을 포함할 수 있다.
상기 수신 FIFO 버퍼(312)는 대응하는 입력 포트를 통해 수신된 데이터 프레임들을 일시적으로 버퍼링하는 FIFO 버퍼를 포함할 수 있다. 상기 큐잉 로직(314)은, 상기 수신 FIFO 버퍼(312)로부터 상기 외부 메모리 인터페이스(265)를 통한 상기 외부 메모리(170)(도 1)로의 데이터 프레임들의 전송을 책임지는 로직을 포함할 수 있다. 상기 포트 필터(316)는 상기 수신된 데이터 프레임들에 관련된 방침 정보를 결정하는 로직을 포함할 수 있다. 예를 들어, 상기 포트 필터(316)는 상기 데이터 프레임들에 관련된 1개 이상의 방침 방정식들을 식별하기 위해, 상기 수신된 데이터 프레임들에 방침 룰들(policy rules)을 적용할 수 있다. 상기 방침 방정식은 수신된 데이터 프레임에 제공될 처리 타입, 예를 들어 데이터 프레임이 신속하게 수신되고, 확인되어야 하는지, 또는 디폴트(default) 처리되어야 하는지, 또는 데이터 프레임이 제거되거나 또는 관리 장치에 전송되어야 하는 지를 지정할 수 있다.
상기 행동 발생 수단(318)은 상기 행동 태그 발생기(340)와 함께, 수신된 데이터 프레임들 각각에 대해 행동 태그를 발생시키기 위해 상기 포트 필터(316)의 결과에 입각하여 동작한다. 상기 행동 태그는, 예를 들어 데이터 프레임에 관련될 우선 순위 레벨을 지정할 수 있다.
상기 출력 제어 큐들(240)은 서로 다른 우선 순위 레벨들에 관련된 우선 순위 큐들(350)을 포함할 수 있다. 이 우선 순위 큐들(350) 각각은 대응하는 우선 순위 레벨을 갖는 데이터 프레임에 관련된 전송 기술자를 저장할 수 있다. 명확성을 위해, 도 3은 2개의 우선 순위 레벨들, 즉 높은 우선 순위 및 낮은 우선 순위에 관련된 우선 순위 큐들(350)을 보여준다. 본 발명의 다른 실시들에서, 우선 순위 레벨들 및 관련된 우선 순위 큐들(350)은 달라질 수 있다. 예를 들어, 우선 순위 레벨들은 높은 우선 순위 레벨, 중간 우선 순위 레벨 및 낮은 우선 순위 레벨이 되거나, 또는 높은 우선 순위 레벨, 중상 우선 순위 레벨, 중하 우선 순위 레벨 및 낮은 우선 순위 레벨이 될 수 있다.
상기 레지스터들(250)은 우선 순위 큐들(350)에 대응하는 우선 순위 레벨들로 프로그램된 1개 이상의 레지스터들을 포함할 수 있다. 상기 호스트(160)는 상기 우선 순위 레벨들을 호스트 인터페이스(260)를 통해 레지스터들에 프로그램할 수 있다. PVQ(235)는 상기 레지스터들(250)로부터의 우선 순위 레벨들을 이용하여, 상기 출력 제어 큐들(240) 내의 적절한 우선 순위 큐(350)를 식별함으로써, 상기 스위치(180)에 의해 수신된 데이터 프레임들에 대응하는 프레임 기술자들을 저장할 수 있다.
도 4는 본 발명의 실시에 따른 행동 발생 수단(318), 포트 필터(316) 및 행동 태그 발생기(340)를 예시적으로 도시한다. 도 4에 도시된 바와 같이, 상기 행동 발생 수단(318)은 상태 머신(state machine)(410), 디코더(411), 행동 메모리(412) 및 결과 태그 인터페이스(413)를 포함한다.
상기 행동 발생 수단(318)은 상기 포트 필터(316)로부터 방침 정보를 수신한다. 이러한 방침 정보에 기초하여, 상기 행동 발생 수단(318)은 태그 정보를 발생시킨 다음, 이를 행동 태그 발생기(340)에 전송한다. 이 정보를 이용하여, 상기 태그 발생기(340)는 최종 행동 태그를 발생시킨다. 상기 PVQ(235)는 상기 행동 태그를 이용하여, 대응하는 데이터 프레임을 처리하는 방법을 결정한다. 상기 행동 태그 발생기(340)는 또한 외부 메모리(170) 내의 데이터 프레임을 식별하는 프레임 포인터를 상기 PVQ(235)에 전송한다.
상기 디코더(411)는 64 비트 우선 순위 디코더가 될 수 있다. 상기 디코더(411)는 1개 이상의 적용가능한 방침 방정식들의 식별로서 상기 포트필터(316)로부터 방침 정보를 수신한다. 이에 응답하여, 상기 디코더(411)는 (상기디코더(411)의 소정의 프로그래밍에 기초하여) 가장 높은 우선 순위 방침 방정식을 최종 일치(match)로서 선택할 수 있다. 이후, 상기 디코더(411)는 일치되는 방침 방정식에 대응하는 어드레스를 행동 메모리(412)에 출력하며, 상기 행동 메모리(412)는 이 어드레스를 이용하여 행동 태그를 출력한다. 예를 들어, 상기 행동 메모리(412)는 64개의 로우 엔트리들을 갖는 표로서 구성될 수 있는 바, 상기 각 로우 엔트리는 64개의 방침 방정식들중 하나에 대응한다. 상기 디코더(411)는 선택된 수(즉, 1-64개)의 방침 방정식들을 출력하는바, 이는 행동 메모리(412)의 적절한 로우를 직접 어드레스한다.
상기 행동 메모리(412)는 수신된 데이터 프레임들이 상기 멀티포트 스위치(180)에 의해 처리될 수 있는 방법에 대한 정보를 저장할 수 있다. 도 5는 본 발명의 실시에 따른 행동 메모리(412) 내의 표 엔트리(500)를 예시적으로 도시한다. 상기 엔트리(500)는 우선 순위 필드(310), 거부 (D) 필드(511), 관리 장치로의 전송(forward-to-management) (M) 필드(512) 및 우선 순위 (P) 필드(513)를 포함한다. 3 비트의 우선 순위 필드(510)는 8개의 우선 순위 레벨들중 어느 것이 패킷에 제공될 것인 지를 식별한다. 1 비트의 거부 필드(511)는 데이터 프레임이 제거되어야 하는 지를 식별하는 데이터를 포함할 수 있다. 1 비트의 관리 장치로의 전송 필드(512)는 데이터 프레임이 호스트(160)와 같은 관리 장치에 전송되어야 하는 지를 식별하는 데이터를 포함할 수 있다. 1 비트의 우선 순위 필드(513)는 우선 순위 필드(510)가 유효 데이터를 포함하는 지를 나타낼 수 있다.
다시 도 4를 참조하면, 상기 결과 태그 상태 머신(410)은 포트 필터(316)로부터의 차별화된 서비스 정보를 처리한다. 상기 포트 필터(316)는 예를 들어 6 비트의 차별화된 서비스 코드 필드("DSCP")를, 상기 데이터 프레임에 의해 요구되는 서비스를 식별하는 상태 머신(410)에 전송할 수 있다. 상기 데이터 프레임이 DSCP와 관련되지 않는 경우, 상기 포트 필터(316)는 DSCP 필드를 전송하는바, 상기 DSCP 필드에서 모든 비트는 0으로 설정된다. 상기 상태 머신(410)은 또한 상기 포트 필터(316)로부터 에러 신호를 수신할 수 있는바, 이는 패킷의 차별화된 서비스 정보의 수신 또는 처리에 있어서의 에러를 나타낸다. 상기 포트 필터(316)는, 데이터 프레임들이 큐잉 로직(314)으로부터 외부 메모리(170)에 전송될 때, 버스(215)를 스누프함으로써 데이터 프레임에 대한 DSCP 필드를 얻을 수 있다.
데이터 프레임의 DSCP 필드를 수신하면, 상기 상태 머신(410)은 행동 메모리(412)에 연결된 스트로브 라인(strobe line)을 활성화시킴으로써, 상기 활성 메모리(412)가 디코더(411)에 의해 인덱스된 표 엔트리를 출력하게 한다. 이 표 엔트리는 결과 태그 인터페이스(413)에 의해 수신된다. 상기 상태 머신(410)은 또한 DSCP 필드 정보를 상기 결과 태그 인터페이스(413)에 전송할 수 있다. 상기 결과 태그 인터페이스(413)는, 상기 상태 머신(410)으로부터의 DSCP 필드의 수신 및 상기 행동 메모리(412)로부터의 표 엔트리(500)의 수신에 응답하여, 완전한 행동 태그를 발생시킨 다음 이를 행동 태그 발생기(340)에 전송한다. 상기 행동 태그 발생기(340)는 행동 발생 수단들(318) 각각으로부터 행동 태그들을 수신한 다음, 이들을 PVQ(235)에 전송한다. 상기 PVQ(235)에 행동 태그들을 전송할 때, 상기 행동 태그 발생기는 데이터 프레임에 관련된 부가적인 정보(예를 들어 외부 메모리(170) 내의 프레임을 지시하는 포인터)를 추가할 수 있다. 상기 행동 발생 수단들(318) 각각으로부터의 행동 태그들은 단일 스트림의 태그들로서 상기 PVQ(235)에 전송될 수 있다.
도 6은 행동 태그 발생기(340)에 의해 수신되는 예시적인 행동 태그(600)를 도시한다. DSCP/우선 순위 필드(605-610)는 제공될 서비스 또는 데이터 프레임에 주어질 우선 순위를 식별하는 데이터를 포함할 수 있다. 패킷에 제공되는 서비스는, 1998년 12월, 케이 니콜라스(K. Nichols)의 "IPv4 및 IPv6 헤더들 내에서의 차별화된 서비스 필드(DS 필드)의 정의", RFC2474, ftp://ftp.normos.org/ietf/rfc/rfc2474.txt, 및 1998년 12월, 에스 블레이크(S. Blake)의 "차별화된 서비스들을 위한 아키텍쳐", ftp://ftp.normos.org/ietf/rfc/rfc2475.txt에서 설명되는 것들과 같은 차별화된 서비스를 포함할 수 있다.
필드들(602-604)은 각각 거부 필드(511), 관리 장치로의 전송 필드(512) 및 우선 순위 필드(513)로부터의 정보를 포함할 수 있다. 또한, 필드(601)는 필드들(605-610)이 차별화된 서비스 정보를 포함하는 지를 나타내는 비트를 포함할 수 있다.
하기의 표 1은 DSCP를 식별할 때의 필드들(605-610)의 다양한 구성들의 예시적인 의미를 도시한다. 이 표 내에서, "부류"는 디폴트 데이터 프레임 전송의 변화하는 정도를 나타내며, "신속한 전송(expedited forwarding)"은 가장 낮은 레벨의대기 시간, 패킷 손실 및 지연 변화를 갖는 데이터 프레임 전송을 나타낸다.
DSCP 데이터(605-610 비트들) 의미디폴트 전송 부류
000000 CS0: 디폴트 전송 부류 0
001000 CS1: 디폴트 전송 부류 1
010000 CS2: 디폴트 전송 부류 2
011000 CS3: 디폴트 전송 부류 3
100000 CS4: 디폴트 전송 부류 4
101000 CS5: 디폴트 전송 부류 5
110000 CS6: 디폴트 전송 부류 6
111000 CS7: 디폴트 전송 부류 7
001010 AF11: 확인된 전송 부류 11
001100 AF12: 확인된 전송 부류 12
001110 AF13: 확인된 전송 부류 13
010010 AF21: 확인된 전송 부류 21
010100 AF22: 확인된 전송 부류 22
010110 AF23: 확인된 전송 부류 23
011010 AF31: 확인된 전송 부류 31
011100 AF32: 확인된 전송 부류 32
011110 AF33: 확인된 전송 부류 33
100010 AF41: 확인된 전송 부류 41
100100 AF42: 확인된 전송 부류 42
100110 AF43: 확인된 전송 부류 43
101110 EF PHB: 신속한 전송 부류
하기의 표 2는 우선 순위를 식별할 때의 필드들(605-610)의 다양한 구성들의 예시적인 의미를 도시한다.
우선 순위 데이터(605-610 비트들) 의미
000000 우선 순위 0 (TOS0)
000001 우선 순위 1 (TOS1)
000010 우선 순위 2 (TOS2)
000011 우선 순위 3 (TOS3)
000100 우선 순위 4 (TOS4)
000101 우선 순위 5 (TOS5)
000110 우선 순위 6 (TOS6)
000111 우선 순위 7 (TOS7)
예시적인 처리
도 7은 포트 필터(316), 행동 발생 수단들(318) 및 행동 태그 발생기(340)의동작을 보다 상세히 도시한 흐름도이다. 먼저, 포트 필터(316)는 DSCP 필드, 에러 신호 및 방침 정보를 행동 발생 수단(318)에 출력한다(단계 701). 상기 에러 신호가 에러를 나타내는 경우, 상태 머신(410)은 수신된 데이터 프레임에 대해 제거 동작을 시작한다(단계들 702 및 703). 상기 에러 신호가 에러를 나타내지 않는 경우, 상기 상태 머신(410)은 행동 메모리(412)에 스트로브 신호를 활성화한다(단계 704). 이에 응답하여, 상기 행동 메모리(412)는 디코더(411)에 의해 인덱스된 표 엔트리를 상기 결과 태그 인터페이스(413)에 출력한다(단계 705). 상기 상태 머신(410)은 그의 수신된 DSCP 필드를 상기 결과 태그 인터페이스(413)에 전송한다(단계 706).
DSCP 필드 내의 0값은 데이터 프레임이 차별화된 서비스를 이용하지 않음을 나타낸다. 이러한 상황에서, 상기 결과 태그 인터페이스(413)는 행동 메모리(412)로부터의 엔트리를 상기 행동 태그 발생기(340)에 전송한다(단계 707 및 708). 이에 따라, 데이터 프레임의 우선 순위가 포트 필터(316)로부터의 방침 방정식들에 의해 결정된다. 그러나, DSCP 필드가 0이 아니면, 상기 결과 태그 인터페이스(413)는 행동 태그(600)를 완성하기 위해 표 엔트리(500)로부터의 필드들(511-513)을 행동 태그 필드들(602-604) 내에 카피한다(단계 707 및 709). 상기 결과 태그 인터페이스(413)는 상기 완성된 행동 태그를 태그 발생기(340)에 전송하며, 상기 태그 발생기(340)는 상기 행동 태그를 PVQ(235)에 전송한다(단계 710 및 711). 이러한 방법으로, 상기 포트 필터(316), 행동 발생 수단(318) 및 행동 태그 발생기(340)는 방침 정보 및 차별화된 서비스 부류 정보에 기초하여 행동 태그를 발생시키도록 동작한다.
상기 설명한 바와 같이, 멀티포트 스위치 내의 메커니즘들은, 다수의 전송 룰들(예를 들어 멀티포트 스위치 내에 프로그램된 방침 룰들 또는 패킷 내의 차별화된 서비스 부류 정보)에 관련된 데이터 패킷들의 전송을 효율적으로 처리한다.
본 발명은 단지 본 발명의 바람직한 실시예들 및 일부 적용 예들에 대해서만 설명했다. 주목할 사항으로서, 본 발명은 다른 많은 결합들 및 환경들에서도 이용될 수 있으며, 본원에서 설명되는 본 발명의 개념의 범위 내에서 변형될 수 있다. 예를 들어, 도 7과 관련하여 일련의 단계들이 설명되었지만, 이러한 단계들의 순서는 본 발명의 다른 실시들에서는 달라질 수 있다.

Claims (12)

  1. 네트워크 내에서 정보를 전송하는 네트워크 장치-상기 네트워크 장치는 다수의 데이터 프레임들을 수신하도록 구성된 다수의 입력 포트들(310,320) 및 상기 수신된 데이터 프레임들 각각에 대해 방침 정보 및 서비스 부류 정보를 발생시키도록 구성된 포트 필터(316)를 포함한다-에 있어서,
    상기 방침 정보에 대응하는 행동 태그들을 저장하는 메모리(412)와; 그리고
    상기 서비스 부류 정보 및 상기 수신된 데이터 프레임에 대응하는 상기 행동 태그에 기초하여, 상기 수신된 데이터 프레임들 각각에 대해 최종 행동 태그를 발생시키도록 구성된 결과 태그 인터페이스(413)를 포함하는 것을 특징으로 하는 네트워크 장치.
  2. 제 1 항에 있어서,
    상기 포트 필터(316)로부터 상기 방침 정보를 수신하고, 상기 방침 정보에 의해 표시되는 가장 높은 우선 순위의 방침 방정식을 선택하며, 그리고 상기 가장 높은 우선 순위의 방침 방정식에 대응하는 메모리에 어드레스 신호를 출력하도록 구성된 디코더(411)를 더 포함하는 것을 특징으로 하는 네트워크 장치.
  3. 제 1 항에 있어서,
    상기 포트 필터(316) 및 상기 메모리(412)에 결합된 상태 머신(410)을 더 포함하며, 상기 상태 머신(410)은 상기 서비스 부류 정보를 수신하도록 구성되고, 상기 서비스 부류 정보의 수신에 응답하여 저장된 행동 태그를 읽기 위해 상기 메모리를 활성화시키는 것을 특징으로 하는 네트워크 장치.
  4. 제 3 항에 있어서,
    상기 포트 필터(316)는 부가적으로 에러 신호를 발생시키며,
    상기 상태 머신(410)은 상기 에러 신호를 수신한 다음, 상기 에러 신호에 기초하여, 상기 서비스 부류 정보가 에러를 포함하는 지를 결정하는 것을 특징으로 하는 네트워크 장치.
  5. 제 1 항에 있어서,
    다수의 결과 태그 인터페이스들로부터 최초 행동 태그들을 수신하고, 상기 수신된 최종 행동 태그들을 단일 스트림의 최종 행동 태그들로서 출력하도록 구성된 행동 태그 발생기(340)를 더 포함하는 것을 특징으로 하는 네트워크 장치.
  6. 네트워크 장치에 의해 수신된 데이터 프레임에 대한 우선 순위 레벨 정보를 식별하는 방법으로서,
    네트워크 방침 방정식들에 기초하여 다수의 우선 순위 레벨들에 대응하는 우선 순위 레벨 정보로 메모리(412)를 프로그램하는 단계와;
    다수의 데이터 프레임들을 수신하는 단계와;
    상기 수신된 데이터 프레임들 각각에 관련된 우선 순위 레벨 정보를 식별하기 위해 상기 메모리(412)를 액세스하는 단계와;
    상기 수신된 데이터 프레임들 각각으로부터 차별화된 서비스 코드 포인트(DSCP) 데이터를 얻어내는 단계와;
    상기 DSCP 데이터 및 상기 우선 순위 레벨 정보에 기초하여, 상기 수신된 데이터 프레임들에 대한 최종 행동 태그를 발생시키는 단계와; 그리고
    상기 발생된 최종 행동 태그에 기초하여, 상기 네트워크 장치로부터 상기 데이터 프레임들을 전송하는 단계를 포함하는 것을 특징으로 하는 방법.
  7. 제 6 항에 있어서, 상기 최종 행동 태그들 각각은:
    상기 서비스 부류들중 하나에 관련된 우선 순위 데이터 및 상기 DSCP 데이터중 하나를 저장하도록 구성된 DSCP/우선 순위 필드(605-610)와;
    상기 수신된 데이터 프레임들중 대응하는 것을 제거할 것인 지를 나타내는 데이터를 저장하도록 구성된 거부 필드(602)와;
    상기 대응하는 데이터 프레임을 관리 장치에 전송할 것인 지를 나타내는 데이터를 저장하도록 구성된 관리 장치로의 전송 필드(603)와;
    상기 DSCP/우선 순위 필드가 유효한 우선 순위 데이터를 저장하는 지를 나타내는 데이터를 저장하도록 구성된 우선 순위 필드(604)와; 그리고
    상기 DSCP/우선 순위 필드가 유효한 DSCP 데이터를 저장하는 지를 나타내는 데이터를 저장하도록 구성된 DSCP 필드(601)를 포함하는 것을 특징으로 하는 방법.
  8. 제 6 항에 있어서,
    상기 데이터 프레임들 각각에 대해, 상기 데이터 프레임이 에러를 포함하는 지를 나타내는 신호를 수신하는 단계와; 그리고
    상기 신호가 상기 데이터 프레임 내에 에러가 존재함을 나타낼 때 상기 데이터 프레임이 제거되어야 함을 나타내도록, 상기 거부 필드(602)를 설정하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  9. 제 6 항에 있어서,
    상기 수신된 DSCP 데이터가 0이 아닌 값을 가질 때, 상기 최종 행동 태그 내의 상기 DSCP 데이터를 이용하는 단계와; 그리고
    상기 수신된 DSCP 필드가 0 값을 가질 때, 상기 최종 행동 태그 내의, 메모리로부터 액세스된 상기 우선 순위 레벨 정보를 이용하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  10. 패킷 기반 네트워크에서 데이터 프레임들을 수신하는 선입 선출 버퍼(312)와;
    상기 수신된 데이터 프레임들에 대해 방침 정보 및 서비스 부류 정보를 발생시키는 포트 필터(316)와, 여기서 상기 데이터 프레임들중 특정 프레임에 대한 상기 방침 정보는 상기 데이터 프레임들중 특정 프레임에 부여되어야 하는 우선 순위레벨에 관련된 정보를 포함하며;
    상기 데이터 프레임들 각각에 대해 상기 방침 정보로부터의 우선 순위 레벨 및 상기 서비스 부류 정보중 하나를 선택하고, 이러한 선택에 기초하여 최종 행동 태그를 발생시키는 행동 발생 수단(318)과; 그리고
    상기 데이터 프레임들의 최종 행동 태그들에 기초하여 상기 데이터 프레임들을 전송하는 출력 포트들(240)을 포함하는 것을 특징으로 하는 시스템.
  11. 제 10 항에 있어서, 상기 최종 행동 태그들 각각은:
    상기 서비스 부류들중 하나에 관련된 우선 순위 데이터 및 상기 DSCP 데이터중 하나를 저장하도록 구성된 DSCP/우선 순위 필드(605-610)와;
    상기 데이터 프레임들중 대응하는 것을 제거할 것인 지를 나타내는 데이터를 저장하도록 구성된 거부 필드(602)와;
    대응하는 데이터 프레임을 관리 장치에 전송할 것인 지를 나타내는 데이터를 저장하도록 구성된 관리 장치로의 전송 필드(603)와;
    상기 DSCP/우선 순위 필드가 유효한 우선 순위 데이터를 저장하는 지를 나타내는 데이터를 저장하도록 구성된 우선 순위 필드(604)와; 그리고
    상기 DSCP/우선 순위 필드가 유효한 DSCP 데이터를 저장하는 지를 나타내는 데이터를 저장하도록 구성된 DSCP 필드(601)를 포함하는 것을 특징으로 하는 방법.
  12. 제 10 항에 있어서,
    상기 행동 발생 수단은 상기 방침 정보의 우선 순위 레벨에 대응하는 행동 태그들을 저장하는 메모리(412)를 더 포함하는 것을 특징으로 하는 방법.
KR1020037012404A 2001-03-23 2001-10-04 우선 순위 또는 차별화된 서비스 정보에 입각한 태그 발생 KR100836947B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US09/814,812 2001-03-23
US09/814,812 US7072300B1 (en) 2001-03-23 2001-03-23 Action tag generation within a network based on priority or differential services information
PCT/US2001/031210 WO2002078273A1 (en) 2001-03-23 2001-10-04 Tag generation based on priority or differentiated services information

Publications (2)

Publication Number Publication Date
KR20030085051A true KR20030085051A (ko) 2003-11-01
KR100836947B1 KR100836947B1 (ko) 2008-06-11

Family

ID=25216058

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020037012404A KR100836947B1 (ko) 2001-03-23 2001-10-04 우선 순위 또는 차별화된 서비스 정보에 입각한 태그 발생

Country Status (7)

Country Link
US (1) US7072300B1 (ko)
EP (1) EP1374491B1 (ko)
JP (1) JP3954500B2 (ko)
KR (1) KR100836947B1 (ko)
CN (1) CN1248464C (ko)
DE (1) DE60136226D1 (ko)
WO (1) WO2002078273A1 (ko)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7152128B2 (en) * 2001-08-24 2006-12-19 Intel Corporation General input/output architecture, protocol and related methods to manage data integrity
US9836424B2 (en) * 2001-08-24 2017-12-05 Intel Corporation General input/output architecture, protocol and related methods to implement flow control
US20030048792A1 (en) * 2001-09-04 2003-03-13 Qq Technology, Inc. Forwarding device for communication networks
US7787458B2 (en) * 2001-11-30 2010-08-31 Alcatel-Lucent Canada Inc. Method and apparatus for communicating data packets according to classes of service
US20030112782A1 (en) * 2001-12-18 2003-06-19 Mizell Jerry L. Node, network and method for providing quality of service adjustments on a per-application basis
US7143158B2 (en) * 2002-02-14 2006-11-28 America Online, Inc. Generating metrics for networked devices
CN1788463A (zh) * 2003-07-07 2006-06-14 Ut斯达康(中国)有限公司 基于ip的umts无线接入网(ran)中实现区分服务码点标记的方法
US7886337B2 (en) * 2003-10-22 2011-02-08 Nvidia Corporation Method and apparatus for content protection
US8284664B1 (en) * 2007-09-28 2012-10-09 Juniper Networks, Inc. Redirecting data units to service modules based on service tags and a redirection table
EP2405702A4 (en) * 2009-03-02 2017-02-08 Nec Corporation Wireless packet transmission apparatus, and packet priority control scheduling method
US9001828B2 (en) 2011-03-21 2015-04-07 Marvell World Trade Ltd. Method and apparatus for pre-classifying packets

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3178949B2 (ja) 1993-09-30 2001-06-25 富士通株式会社 Atmスイッチ方式
US5455825A (en) * 1994-04-28 1995-10-03 Mitsubishi Electric Research Laboratories Tag-based scheduling system for digital communication switch
KR0150367B1 (ko) * 1995-12-19 1998-11-02 양승택 완결 결합형 에이티엠 스위칭 장치
KR100212064B1 (ko) * 1997-05-21 1999-08-02 윤종용 2n X n 다중화 스위치 구조
US6115378A (en) * 1997-06-30 2000-09-05 Sun Microsystems, Inc. Multi-layer distributed network element
US6463470B1 (en) * 1998-10-26 2002-10-08 Cisco Technology, Inc. Method and apparatus of storing policies for policy-based management of quality of service treatments of network data traffic flows
DE60031515T2 (de) * 1999-03-17 2007-08-23 Broadcom Corp., Irvine Netzwerkvermittlung
US6810037B1 (en) * 1999-03-17 2004-10-26 Broadcom Corporation Apparatus and method for sorted table binary search acceleration
US6859454B1 (en) * 1999-06-30 2005-02-22 Broadcom Corporation Network switch with high-speed serializing/deserializing hazard-free double data rate switching
US6744767B1 (en) * 1999-12-30 2004-06-01 At&T Corp. Method and apparatus for provisioning and monitoring internet protocol quality of service
US6865185B1 (en) * 2000-02-25 2005-03-08 Cisco Technology, Inc. Method and system for queuing traffic in a wireless communications network
US6501757B1 (en) * 2000-02-29 2002-12-31 Centre For Development Of Telematics ATM switch
GB2362776B (en) * 2000-05-23 2002-07-31 3Com Corp Allocation of asymmetric priority to traffic flow in network switches
US6865153B1 (en) * 2000-09-20 2005-03-08 Alcatel Stage-implemented QoS shaping for data communication switch
US7292530B2 (en) * 2000-12-29 2007-11-06 Intel Corporation Method and apparatus to manage packet fragmentation

Also Published As

Publication number Publication date
CN1507723A (zh) 2004-06-23
DE60136226D1 (de) 2008-11-27
KR100836947B1 (ko) 2008-06-11
US7072300B1 (en) 2006-07-04
CN1248464C (zh) 2006-03-29
EP1374491B1 (en) 2008-10-15
WO2002078273A1 (en) 2002-10-03
JP2005509308A (ja) 2005-04-07
EP1374491A1 (en) 2004-01-02
JP3954500B2 (ja) 2007-08-08

Similar Documents

Publication Publication Date Title
US6925055B1 (en) Systems and methods for traffic shaping
US6990114B1 (en) System and method for deciding outgoing priority for data frames
US6957269B2 (en) Method and apparatus for performing priority-based flow control
KR100880684B1 (ko) 스테이션들 간의 데이터 프레임들의 통신을 제어하는 네트워크 장치 및 제어 방법
US7110359B1 (en) System and method for dynamically updating weights of weighted round robin in output queues
US6980520B1 (en) Method and apparatus for performing source-based flow control across multiple network devices
US7016352B1 (en) Address modification within a switching device in a packet-switched network
US6990102B1 (en) Parallel lookup tables for locating information in a packet switched network
US6990101B1 (en) System and method for performing layer 3 switching in a network device
US7502366B1 (en) Arrangement in a network switch for prioritizing data frames based on user-defined frame attributes
US6804234B1 (en) External CPU assist when peforming a network address lookup
US7099325B1 (en) Alternately accessed parallel lookup tables for locating information in a packet switched network
US6901050B1 (en) Systems and methods for flow-based traffic shaping
US7031325B1 (en) Method and apparatus for enabling a network device to operate in accordance with multiple protocols
KR100836947B1 (ko) 우선 순위 또는 차별화된 서비스 정보에 입각한 태그 발생
US7295562B1 (en) Systems and methods for expediting the identification of priority information for received packets
US6993033B1 (en) Method and apparatus for synchronizing aging operations associated with an address table
US6842423B1 (en) Systems and methods for priority-based flow control masking
US7099285B1 (en) Remote configuration of a subnet configuration table in a network device
US6947437B1 (en) Programmable output queues in a network device
US7079533B1 (en) Systems and methods for bypassing packet lookups
US6963566B1 (en) Multiple address lookup engines running in parallel in a switch for a packet-switched network
US6985441B1 (en) Intelligent embedded processor enabled mechanism to implement RSVP function
US6944174B1 (en) Jitter reduction of voice packets in a packet-based network
US7151774B1 (en) Method and apparatus for trunking links having different transmission rates

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

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20140521

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20150430

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20160427

Year of fee payment: 9

LAPS Lapse due to unpaid annual fee