KR20030085051A - 우선 순위 또는 차별화된 서비스 정보에 입각한 태그 발생 - Google Patents
우선 순위 또는 차별화된 서비스 정보에 입각한 태그 발생 Download PDFInfo
- 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
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/24—Traffic characterised by specific attributes, e.g. priority or QoS
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/24—Traffic characterised by specific attributes, e.g. priority or QoS
- H04L47/2408—Traffic characterised by specific attributes, e.g. priority or QoS for supporting different services, e.g. a differentiated services [DiffServ] type of service
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/30—Peripheral units, e.g. input or output ports
- H04L49/3009—Header conversion, routing tables or routing tags
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/20—Support for services
- H04L49/205—Quality of Service based
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/30—Peripheral units, e.g. input or output ports
- H04L49/3018—Input queuing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/30—Peripheral units, e.g. input or output ports
- H04L49/3027—Output queuing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/35—Switches specially adapted for specific applications
- H04L49/351—Switches 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
컴퓨터 네트워크들에서, 다수의 네트워크 스테이션들은 전형적으로 통신 매체를 통해 서로 연결된다. 예를 들어, 이서넷(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)
- 네트워크 내에서 정보를 전송하는 네트워크 장치-상기 네트워크 장치는 다수의 데이터 프레임들을 수신하도록 구성된 다수의 입력 포트들(310,320) 및 상기 수신된 데이터 프레임들 각각에 대해 방침 정보 및 서비스 부류 정보를 발생시키도록 구성된 포트 필터(316)를 포함한다-에 있어서,상기 방침 정보에 대응하는 행동 태그들을 저장하는 메모리(412)와; 그리고상기 서비스 부류 정보 및 상기 수신된 데이터 프레임에 대응하는 상기 행동 태그에 기초하여, 상기 수신된 데이터 프레임들 각각에 대해 최종 행동 태그를 발생시키도록 구성된 결과 태그 인터페이스(413)를 포함하는 것을 특징으로 하는 네트워크 장치.
- 제 1 항에 있어서,상기 포트 필터(316)로부터 상기 방침 정보를 수신하고, 상기 방침 정보에 의해 표시되는 가장 높은 우선 순위의 방침 방정식을 선택하며, 그리고 상기 가장 높은 우선 순위의 방침 방정식에 대응하는 메모리에 어드레스 신호를 출력하도록 구성된 디코더(411)를 더 포함하는 것을 특징으로 하는 네트워크 장치.
- 제 1 항에 있어서,상기 포트 필터(316) 및 상기 메모리(412)에 결합된 상태 머신(410)을 더 포함하며, 상기 상태 머신(410)은 상기 서비스 부류 정보를 수신하도록 구성되고, 상기 서비스 부류 정보의 수신에 응답하여 저장된 행동 태그를 읽기 위해 상기 메모리를 활성화시키는 것을 특징으로 하는 네트워크 장치.
- 제 3 항에 있어서,상기 포트 필터(316)는 부가적으로 에러 신호를 발생시키며,상기 상태 머신(410)은 상기 에러 신호를 수신한 다음, 상기 에러 신호에 기초하여, 상기 서비스 부류 정보가 에러를 포함하는 지를 결정하는 것을 특징으로 하는 네트워크 장치.
- 제 1 항에 있어서,다수의 결과 태그 인터페이스들로부터 최초 행동 태그들을 수신하고, 상기 수신된 최종 행동 태그들을 단일 스트림의 최종 행동 태그들로서 출력하도록 구성된 행동 태그 발생기(340)를 더 포함하는 것을 특징으로 하는 네트워크 장치.
- 네트워크 장치에 의해 수신된 데이터 프레임에 대한 우선 순위 레벨 정보를 식별하는 방법으로서,네트워크 방침 방정식들에 기초하여 다수의 우선 순위 레벨들에 대응하는 우선 순위 레벨 정보로 메모리(412)를 프로그램하는 단계와;다수의 데이터 프레임들을 수신하는 단계와;상기 수신된 데이터 프레임들 각각에 관련된 우선 순위 레벨 정보를 식별하기 위해 상기 메모리(412)를 액세스하는 단계와;상기 수신된 데이터 프레임들 각각으로부터 차별화된 서비스 코드 포인트(DSCP) 데이터를 얻어내는 단계와;상기 DSCP 데이터 및 상기 우선 순위 레벨 정보에 기초하여, 상기 수신된 데이터 프레임들에 대한 최종 행동 태그를 발생시키는 단계와; 그리고상기 발생된 최종 행동 태그에 기초하여, 상기 네트워크 장치로부터 상기 데이터 프레임들을 전송하는 단계를 포함하는 것을 특징으로 하는 방법.
- 제 6 항에 있어서, 상기 최종 행동 태그들 각각은:상기 서비스 부류들중 하나에 관련된 우선 순위 데이터 및 상기 DSCP 데이터중 하나를 저장하도록 구성된 DSCP/우선 순위 필드(605-610)와;상기 수신된 데이터 프레임들중 대응하는 것을 제거할 것인 지를 나타내는 데이터를 저장하도록 구성된 거부 필드(602)와;상기 대응하는 데이터 프레임을 관리 장치에 전송할 것인 지를 나타내는 데이터를 저장하도록 구성된 관리 장치로의 전송 필드(603)와;상기 DSCP/우선 순위 필드가 유효한 우선 순위 데이터를 저장하는 지를 나타내는 데이터를 저장하도록 구성된 우선 순위 필드(604)와; 그리고상기 DSCP/우선 순위 필드가 유효한 DSCP 데이터를 저장하는 지를 나타내는 데이터를 저장하도록 구성된 DSCP 필드(601)를 포함하는 것을 특징으로 하는 방법.
- 제 6 항에 있어서,상기 데이터 프레임들 각각에 대해, 상기 데이터 프레임이 에러를 포함하는 지를 나타내는 신호를 수신하는 단계와; 그리고상기 신호가 상기 데이터 프레임 내에 에러가 존재함을 나타낼 때 상기 데이터 프레임이 제거되어야 함을 나타내도록, 상기 거부 필드(602)를 설정하는 단계를 더 포함하는 것을 특징으로 하는 방법.
- 제 6 항에 있어서,상기 수신된 DSCP 데이터가 0이 아닌 값을 가질 때, 상기 최종 행동 태그 내의 상기 DSCP 데이터를 이용하는 단계와; 그리고상기 수신된 DSCP 필드가 0 값을 가질 때, 상기 최종 행동 태그 내의, 메모리로부터 액세스된 상기 우선 순위 레벨 정보를 이용하는 단계를 더 포함하는 것을 특징으로 하는 방법.
- 패킷 기반 네트워크에서 데이터 프레임들을 수신하는 선입 선출 버퍼(312)와;상기 수신된 데이터 프레임들에 대해 방침 정보 및 서비스 부류 정보를 발생시키는 포트 필터(316)와, 여기서 상기 데이터 프레임들중 특정 프레임에 대한 상기 방침 정보는 상기 데이터 프레임들중 특정 프레임에 부여되어야 하는 우선 순위레벨에 관련된 정보를 포함하며;상기 데이터 프레임들 각각에 대해 상기 방침 정보로부터의 우선 순위 레벨 및 상기 서비스 부류 정보중 하나를 선택하고, 이러한 선택에 기초하여 최종 행동 태그를 발생시키는 행동 발생 수단(318)과; 그리고상기 데이터 프레임들의 최종 행동 태그들에 기초하여 상기 데이터 프레임들을 전송하는 출력 포트들(240)을 포함하는 것을 특징으로 하는 시스템.
- 제 10 항에 있어서, 상기 최종 행동 태그들 각각은:상기 서비스 부류들중 하나에 관련된 우선 순위 데이터 및 상기 DSCP 데이터중 하나를 저장하도록 구성된 DSCP/우선 순위 필드(605-610)와;상기 데이터 프레임들중 대응하는 것을 제거할 것인 지를 나타내는 데이터를 저장하도록 구성된 거부 필드(602)와;대응하는 데이터 프레임을 관리 장치에 전송할 것인 지를 나타내는 데이터를 저장하도록 구성된 관리 장치로의 전송 필드(603)와;상기 DSCP/우선 순위 필드가 유효한 우선 순위 데이터를 저장하는 지를 나타내는 데이터를 저장하도록 구성된 우선 순위 필드(604)와; 그리고상기 DSCP/우선 순위 필드가 유효한 DSCP 데이터를 저장하는 지를 나타내는 데이터를 저장하도록 구성된 DSCP 필드(601)를 포함하는 것을 특징으로 하는 방법.
- 제 10 항에 있어서,상기 행동 발생 수단은 상기 방침 정보의 우선 순위 레벨에 대응하는 행동 태그들을 저장하는 메모리(412)를 더 포함하는 것을 특징으로 하는 방법.
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)
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)
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 |
-
2001
- 2001-03-23 US US09/814,812 patent/US7072300B1/en not_active Expired - Lifetime
- 2001-10-04 WO PCT/US2001/031210 patent/WO2002078273A1/en active Search and Examination
- 2001-10-04 DE DE60136226T patent/DE60136226D1/de not_active Expired - Lifetime
- 2001-10-04 KR KR1020037012404A patent/KR100836947B1/ko not_active IP Right Cessation
- 2001-10-04 EP EP01977520A patent/EP1374491B1/en not_active Expired - Lifetime
- 2001-10-04 CN CNB018232485A patent/CN1248464C/zh not_active Expired - Fee Related
- 2001-10-04 JP JP2002576376A patent/JP3954500B2/ja not_active Expired - Fee Related
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 |