KR100880684B1 - 스테이션들 간의 데이터 프레임들의 통신을 제어하는 네트워크 장치 및 제어 방법 - Google Patents

스테이션들 간의 데이터 프레임들의 통신을 제어하는 네트워크 장치 및 제어 방법 Download PDF

Info

Publication number
KR100880684B1
KR100880684B1 KR1020037012405A KR20037012405A KR100880684B1 KR 100880684 B1 KR100880684 B1 KR 100880684B1 KR 1020037012405 A KR1020037012405 A KR 1020037012405A KR 20037012405 A KR20037012405 A KR 20037012405A KR 100880684 B1 KR100880684 B1 KR 100880684B1
Authority
KR
South Korea
Prior art keywords
data frame
data
data frames
stations
frames
Prior art date
Application number
KR1020037012405A
Other languages
English (en)
Other versions
KR20030085052A (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 KR20030085052A publication Critical patent/KR20030085052A/ko
Application granted granted Critical
Publication of KR100880684B1 publication Critical patent/KR100880684B1/ko

Links

Images

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/12Avoiding congestion; Recovering from congestion
    • 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/15Flow control; Congestion control in relation to multipoint traffic
    • 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/30Flow control; Congestion control in combination with information about buffer occupancy at either end or at transit nodes
    • 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/32Flow control; Congestion control by discarding or delaying data units, e.g. packets or frames
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/74Admission control; Resource allocation measures in reaction to resource unavailability
    • H04L47/745Reaction in network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/80Actions related to the user profile or the type of traffic
    • H04L47/805QOS or priority aware
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/82Miscellaneous aspects
    • H04L47/822Collecting or measuring resource availability data
    • 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/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)
  • Small-Scale Networks (AREA)

Abstract

스테이션들(110) 간의 데이터 프레임들의 통신을 제어하는 네트워크 장치(180)는 그 네트워크 장치(180)에서의 폭주를 줄이기 위해 승인 제어 절차를 수행한다. 상기 네트워크 장치(180)는 그의 수신 포트들(205)에서 데이터 프레임들을 수신한다. 상기 네트워크 장치(180)가 폭주를 검출할 때, 상기 네트워크 장치(180)는 승인 제어를 인에이블하고, 데이터 프레임의 일부를 판독하여 상기 데이터 프레임에 포함되어 있는 데이터의 특성을 판단한다. 그 다음에, 상기 네트워크 장치(180)는 상기 데이터 프레임에 포함되어 있는 데이터의 특성에 근거하여 수신 데이터 프레임을 제거할지 여부를 결정한다. 또한, 상기 네트워크 장치(180)는 상기 데이터 프레임과 관련된 우선순위를 결정하여, 상기 데이터 프레임에 포함되어 있는 데이터의 특성 및 상기 우선순위에 근거하여 데이터 프레임들을 선택적으로 제거한다.
우선순위, 데이터 프레임, 네트워크 장치, 패킷

Description

스테이션들 간의 데이터 프레임들의 통신을 제어하는 네트워크 장치 및 제어 방법{NETWORKDEVICE FOR CONTROLLING COMMUNICATION OF DATA FRAMES BETWEEN STATIONS AND CONTROLLING METHOD}
본 발명은 일반적으로 네트워크 통신에 관한 것으로, 특히 네트워크 장치에서의 승인 제어(admission control)에 관한 것이다.
컴퓨터 네트워크들에 있어서, 다수의 네트워크 스테이션들은 전형적으로 통신 매체를 통해 서로 접속된다. 예를 들어, 이더넷(Ethernet) 802.3은 일반적으로 이용되는 근거리 통신망(LAN) 방식으로서, 이 방식으로 다중 스테이션이 공유 또는 전용 직렬 데이터 경로에 접속된다. 이들 스테이션들은 종종 상기 데이터 경로와 그 경로에 접속된 스테이션들 사이에 위치한 스위치 또는 어떤 다른 네트워크 장치와 통신을 행한다. 상기 스위치는 전형적으로 데이터 통신을 제어하며, 데이터 프레임들을 그의 적절한 목적지에 송신 및 수신하는 로직을 포함한다.
네트워크에 접속되는 모든 스테이션들이 동시에 동작을 행하여 고속으로 데이터를 전송할 때, 스위치를 통하는 데이터 트래픽이 쇄도할 수 있다. 이에 따라, 일부 스위치들은 트래픽 폭주 상태(congestion condition)를 검출한 후에 데이터 프레임들을 제거(drop)한다. 이 경우, 제거된 데이터 프레임들은 그들의 의도된 목적지에 전송되지 않는다. 데이터 프레임을 제거하는 통상적인 스위치들의 하나의 단점으로는, 이 스위치가 개별 데이터 프레임들 내의 데이터의 특성을 판단함이 없이 데이터 프레임들을 임의로 제거한다는 점이다.
트래픽 폭주 상태가 존재할 때 데이터 프레임들을 선택적으로 제거하는 네트워크 장치에서의 메커니즘에 대한 필요성이 존재한다. 이러한 필요성 및 기타 다른 필요성들은 본 발명에 의해 충족되며, 여기서, 다중포트 장치가 데이터 프레임을 수신하여 그 데이터 프레임에 포함되어 있는 데이터의 타입을 식별한다. 그 다음에, 상기 다중포트 장치는 그 다중포트 장치에서의 자원들의 이용가능성과 그 데이터 프레임에 포함되어 있는 데이터의 타입에 근거하여 상기 수신 데이터 프레임에 대해 승인 제어를 수행할지를 결정한다.
본 발명의 일 양상에 따르면, 스테이션들 간의 데이터 프레임들의 통신을 제어하는 네트워크 장치가 제공된다. 상기 네트워크 장치는 스테이션들로부터 데이터 프레임들을 수신하도록 구성되는 다수의 수신 포트들을 포함한다. 또한, 상기 네트워크 장치는 승인 제어가 인에이블(enable)되었는지 여부를 결정하는 데이터 프레임 처리 로직을 포함한다. 상기 데이터 프레임 처리 로직은 또한 승인 제어가 인에이블되었는지 여부와 상기 수신 데이터 프레임에 포함되어 있는 정보에 근거하여 상기 수신 데이터 프레임들 중 하나의 데이터 프레임을 제거할지를 결정한다.
본 발명의 다른 양상은 스테이션들 간의 데이터 프레임들의 통신을 제어하는 네트워크 장치에서의 방법을 제공한다. 상기 방법은 상기 스테이션들로부터 데이터 프레임들을 수신하는 단계와, 제 1 수신 데이터 프레임이 제 1 장치와 제 2 장치 간의 접속 설정에 관련되는지 여부를 결정하는 단계를 포함한다. 상기 방법은 또한 상기 제 1 데이터 프레임이 상기 접속 설정에 관련될 때 상기 제 1 데이터 프레임을 제거하는 단계를 더 포함한다.
본 발명의 다른 장점들 및 특징들은 하기의 상세한 설명으로부터 이 기술분야의 당업자들에게 쉽게 명백해질 것이다. 도시되고 설명된 실시예들은 본 발명을 실시하기 위하여 가장 바람직하다고 생각되는 실시형태의 예를 제공한다. 본 발명은 본 발명에서 벗어남이 없이 여러 명백한 형태로 변경할 수 있다. 따라서, 도면들은 단지 예시적인 것일 뿐이고 본 발명을 한정하는 것이 아니다.
첨부 도면들에 대해 참조가 이루어지며, 여기서 동일한 참조 부호를 갖는 요소들은 도면 전체에 걸쳐서 동일한 요소들을 나타낸다.
도 1은 본 발명에 따른 방법들 및 시스템들이 실시될 수 있는 예시적인 시스템의 블럭도이고;
도 2는 도 1의 다중포트 스위치의 예시적인 세부 블럭도이고;
도 3은 본 발명의 실시예에 따른 도 2의 다중포트 스위치의 일부분의 예시적인 세부 블럭도이고;
도 4는 본 발명에 따른 실시예에서 이용되는 통신 프로토콜의 예시적인 도면이고;
도 5 내지 7은 본 발명의 실시예에 따른 도 4의 헤더들의 예시적인 세부 도면이고;
도 8은 본 발명의 예시적인 실시예에 따라, 도 2의 다중포트 스위치에 의해 수행되는 처리과정을 도시한 흐름도이다.
본 발명은 이더넷(IEEE 802.3) 네트워크와 같은 패킷 교환 네트워크에서의 스위치의 예로 설명하기로 한다. 그러나, 본 발명은 하기에 상세하게 설명되는 바와 같이, 다른 패킷 교환 시스템들 뿐만 아니라 일반적인 다른 타입의 시스템들에도 적용가능하다는 것이 명백해질 것이다.
스위치 아키텍처 개요
도 1은 본 발명에 따른 시스템들 및 방법들이 실시될 수 있는 예시적인 시스템의 블럭도이다. 상기 예시적인 시스템은 이더넷(IEEE 802.3) 네트워크와 같은 패킷 교환 네트워크(100)를 포함한다. 상기 패킷 교환 네트워크(100)는 네트워크 스테이션들(110), 변환기들(120), 송수신기들(130 및 140), 네트워크 노드(150), 호스트(160), 외부 메모리들(170) 및 다중포트 스위치들(180)을 포함한다. 상기 네트워크 스테이션들(110)은 다른 구성들을 갖는, 컴퓨터와 같은 통상적인 통신 장치들을 포함할 수도 있다. 예를 들어, 상기 장치들은 10Mb/s(초당 메가비트) 또는 100Mb/s의 네트워크 데이터 속도로 데이터를 송수신할 수 있다.
각각의 10/100 Mb/s 네트워크 스테이션(110)은 반이중(half-duplex) 또는 전이중(full-duplex) 이더넷 프로토콜에 따라 다중포트 스위치(180)로/로부터 송수신할 수 있다. 상기 이더넷 프로토콜 ISO/IEC 8802-3(ANSI/IEEE Std. 802.3, 1993 Ed.)는 전체 스테이션들(110)이 네트워크 채널에 균등하게 액세스할 수 있게 해주는 반이중 매체 액세스 메커니즘(half-duplex media access mechanism)을 정의한다. 반이중 환경에서의 트래픽은 전송 매체를 통해 구별될 수 없다. 오히려, 각각의 반이중 스테이션(110)은 반송파 검출 다중 액세스/충돌 검출(CSMA/CD; carrier-sense multiple access with collision detection)을 이용하여 전송 매체에서의 트래픽에 주의를 기울이는 이더넷 인터페이스 카드를 포함할 수 있다. 전송 매체에서 수신 반송파의 디어서션(deassertion)(비표명)을 검출함으로써 네트워크 트래픽의 비존재가 검출된다.
전송할 데이터를 가지고 있는 임의의 스테이션(110)은 전송 매체에서 수신 반송파의 디어서션 다음에, 패킷간 갭(IPG;interpacket gap) 간격으로 알려져 있는 소정의 시간 동안 대기함으로써 채널에 액세스하려고 시도할 수 있다. 다중 스테이션들(110)이 동일한 링크에 접속되어 있는 경우, 그 스테이션들(110) 각각은 수신 반송파의 디어서션의 검출에 응답하여 IPG 간격 후에, 데이터를 전송하려고 시도할 수 있으며, 이로 인하여 충돌이 발생할 여지가 생길 수도 있다. 따라서, 전송 스테이션(110)은 전송 매체를 감시하여, 다른 스테이션(110)이 동일한 링크에서 동시에 데이터를 전송함으로써 충돌이 있었는지를 판단할 수 있다. 충돌이 검출되는 경우, 두 스테이션들(110)은 전송을 중단하고, 임의의 시간 동안 대기한 후에, 전송을 재시도한다.
전이중 모드로 동작하는 10/100 Mb/s 네트워크 스테이션들(110)은 이더넷 표준 IEEE 802.3u에 따라 데이터 패킷들을 송수신한다. 상기 전이중 환경은 각 링크 파트너(즉, 상기 10/100 Mb/s 네트워크 스테이션(110)과 그에 대응하는 다중포트 스위치(180)) 간의 데이터 패킷들의 송신 및 수신을 동시에 할 수 있게 해주는 양방향, 지점간 통신 링크(two-way, point-to-point communication link)를 제공한다.
상기 변환기들(120)은 네트워크 스테이션들(110)과 송수신기들(130) 간의 AC 커플링(AC coupling)을 제공하는 자기 변환기(magnetic transformer)들을 포함할 수 있다. 상기 송수신기들(130)은 각각 직렬 매체 독립 인터페이스(SMII; serial media independent interface) 또는 감소된 매체 독립 인터페이스(RMII; reduced media independent interface)를 통해 다중포트 스위치들(180)과 통신을 행하는 10/100 Mb/s 물리적 계층 송수신기들을 포함할 수 있다. 상기 송수신기들(130) 각각은 SMII/RMII를 통해 상기 다중포트 스위치(180)와 최대 4개의 네트워크 스테이션들(110) 간에 데이터 패킷들을 송수신하도록 구성될 수 있다. 상기 SMII/RMII는 상기 각각의 네트워크 스테이션들(110) 및 그에 대응하는 송수신기(130)에 의해 송신 및 수신을 동시에 할 수 있도록 충분한 데이터율로 동작을 행할 수 있다.
상기 송수신기(140)는 예를 들어, 고속 네트워크 전송 매체를 통해 네트워크 노드(150)와 같은 노드들과의 통신을 제공하는 하나 또는 그 이상의 1000Mb/s(즉, 1Gb/s) 물리적 계층 송수신기들을 포함할 수도 있다. 상기 네트워크 노드(150)는 1Gb/s의 네트워크 속도로 데이터 패킷들을 송수신하는 하나 또는 그 이상의 1Gb/s 네트워크 노드들을 포함할 수 있다. 상기 네트워크 노드(150)는 예를 들어, 고속 백본(backbone) 네트워크로의 서버 또는 게이트웨이를 포함할 수 있다.
상기 호스트(160)는 외부 관리 기능들을 제공하여 다중포트 스위치들(180)의 전체 동작을 제어하는 컴퓨터 장치를 포함할 수 있다. 상기 외부 메모리들(170)은 상기 다중포트 스위치들(180)에 외부 저장소를 제공하는 동기식 정적 랜덤 액세스 메모리(SSRAM; synchronous static random access memory)를 포함할 수 있다. 상기 외부 메모리들(170) 각각은 64비트의 데이터 경로와 17비트의 어드레스 경로를 갖는 전자장치 기술 위원회 연합(JEDEC; Joint Electron Device Engneering Council) 파이프라인 버스트(pipelined burst) 또는 제로 버스 턴어라운드(ZBT; Zero Bus Turnaround) SSRAM 을 포함할 수도 있다. 상기 외부 메모리들(170)은 128K의 상부 및 하부 뱅크(bank)들로서 64비트 워드로 어드레스가능하다. 상기 외부 메모리들(170)의 크기는 바람직하게는 적어도 1Mbyte이며, 파이프라이닝(pipelining)을 통해 클럭 사이클(clock cycle)마다 데이터 전송이 가능하다.
상기 다중포트 스위치들(180)은 네트워크 스테이션들(110) 또는 네트워크 노드(150)로부터 수신된 데이터 패킷들을 이더넷 프로토콜과 같은 적절한 전송 프로토콜에 따라 적절한 목적지로 선택적으로 전송한다. 상기 다중포트 스위치들(180)은 (라인(190)을 통해) 함께 단계적으로 연결(cascaded together)되어 동작함으로써 그 다중포트 스위치들(180)의 능력을 증대시킬 수 있다.
도 2는 본 발명의 실시예에 따른 다중포트 스위치(180)의 세부 블럭도이다. 상기 다중포트 스위치(180)는 수신기(205), 송신기(210), 데이터 버스(215), 스케줄러(220), 흐름 제어 로직(225), 버퍼 관리 로직(230), 포트 벡터 큐(PVQ; port vector queue)(235), 출력 제어 큐(240), 내부 규칙 검사기(IRC; internal rules checker)(245), 레지스터들(250), 관리 정보 베이스(MIB) 카운터들(255), 호스트 인터페이스(260), 외부 메모리 인터페이스(265), EEPROM 인터페이스(270), LED 인터페이스(275) 및 JTAG(조인트 테스트 액션 그룹(Joint Test Action Group))를 포함할 수 있다.
상기 수신기(205)는 매체 액세스 제어(MAC) 모듈들 및 선입선출(FIFO) 버퍼들과 같은 수신 버퍼들을 포함할 수 있다. 이 수신 모듈들은 다른 다중포트 스위치들(180)(도 1)과의 확장을 위해 SMII, RMII, 기가비트 매체 독립 인터페이스(GMII; gigabit media independent interface), 텐 비트 인터페이스(TBI; ten bit interface) 및 독점 인터페이스(proprietary interface)들을 포함할 수 있다. 이러한 확장 포트들(EP; expansion port)은 규정된 프로토콜에 따라 다른 다중포트 스위치들(180) 간에 데이터를 전송하는데 이용될 수 있다. 상기 확장 포트들은 상기 다중포트 스위치들(180)이 함께 단계적으로 수행되어 백본망을 형성할 수 있게 해준다. 상기 수신 모듈들 각각은 네트워크 스테이션들(110) 및/또는 네트워크 노드(150)로부터 데이터 패킷들을 수신하여, 그 패킷들을 대응하는 수신 FIFO들에 저장하는 큐잉 로직(queuing logic)을 포함할 수 있다. 그 다음에, 상기 큐잉 로직은 상기 패킷들의 부분들을, 처리를 위해서는 IRC(245)에 전송할 수 있고, 저장을 위해서는 상기 외부 메모리 인터페이스(265)를 통해 외부 메모리(170)에 전송할 수 있다.
상기 송신기(210)는 MAC 모듈들 및 FIFO 버퍼들과 같은 송신 버퍼들을 포함 할 수 있다. 상기 송신 모듈들은 다른 다중포트 스위치들(180)과의 확장을 위해 SMII, GMII, TBI 및 독점 인터페이스를 지원하는 출력 포트들을 포함할 수 있다. 상기 송신 모듈들 각각은 상기 외부 메모리(170)로부터 패킷들을 획득하여 그 패킷들을 대응하는 송신 FIFO들 내에 저장하는 디큐잉 로직(dequeuing logic)을 포함한다. 상기 송신 모듈들은 대응하는 송신 FIFO들로부터 데이터 패킷들을 판독하여, 그 패킷들을 상기 네트워크 스테이션들(110) 및/또는 네트워크 노드(150)에 전송한다. 본 발명에 따른 대안적인 실시예에 있어서, 상기 수신기(205) 및 송신기(210)의 기능들은 데이터 패킷의 수신과 송신 둘다를 처리하는 송수신기에 의해 수행될 수 있다.
상기 데이터 버스(215)는 상기 수신기(205), 상기 송신기(210), 상기 IRC(245) 및 외부 메모리 인터페이스(265)에 접속하는 하나 또는 그 이상의 도체(conductor)들을 포함한다. 상기 스케줄러(220)는 상기 수신기(205) 및 송신기(210) 각각의 큐잉 및 디큐잉 로직에 의해 상기 외부 메모리(170)와의 액세스를 제어하는 로직을 포함할 수 있다. 상기 다중포트 스위치(180)는 비차단 스위치(non-block switch)로서 동작을 행하도록 구성되며, 여기서 스위치 포트들로부터 각각 10, 100 또는 1000Mb/s의 전송 속도(wire rates)로 네트워크 데이터가 수신 및 송신된다. 따라서, 상기 스케줄러(220)는 서로 다른 포트들에 의해 액세스를 제어하여 상기 외부 메모리(170)의 대역폭의 이용을 최적화할 수 있다.
상기 흐름 제어 로직(225)은 버퍼 관리 로직(230), PVQ(235) 및 출력 제어 큐(240)와 연계하여 동작을 행하는 로직을 포함하여 송신기(210)에 의한 패킷들의 전송을 제어한다. 상기 흐름 제어 로직(225)은 상기 송신기(210)가 데이터 트래픽의 양에 근거하여 효율적인 방식으로 패킷들을 출력하도록 상기 송신기(210)를 제어할 수 있다. 상기 버퍼 관리 로직(230)은 상기 다중포트 스위치(180) 내의 메모리의 이용을 감시하는 로직을 포함할 수 있다. 예를 들어, 일단 데이터 패킷이 그의 지정된 출력 포트(들)에 전송되었다면, 상기 버퍼 관리 로직(230)은 프레임 포인터의 이용 및 프레임 포인터의 재이용을 관리할 수 있다. 프레임 포인터들은 전송을 요구하는 상기 외부 메모리(170)에 저장된 데이터 프레임들의 위치를 식별한다.
상기 PVQ(235)는 데이터 프레임 전송을 수신하기 위해 출력 포트들에 대응하는 출력 제어 큐(240) 내의 적절한 출력 큐(들)에 대한 프레임 포인터를 획득하는 로직을 포함한다. 멀티카피 프레임(multicopy frame)에 대해서, 상기 PVQ(235)는 1개 이상의 출력 큐에 동일한 프레임 포인터의 멀티카피들을 공급할 수 있다. 상기 출력 제어 큐(240)는 상기 송신기(210) 내의 송신 모듈들 각각에 대응하는 FIFO형 출력 큐를 포함할 수 있다. 상기 출력 큐 각각은 서로 다른 레벨의 우선순위를 갖는 프레임들에 대해 다중 우선순위 큐를 포함할 수 있다. 예를 들어, 높은 우선순위의 큐는 낮은 액세스 대기시간(access latency)을 요구하는 프레임들(예를 들어, 멀티미디어 응용을 위한 프레임들 또는 관리 프레임들)에 이용될 수 있다. FIFO형 출력 큐에 저장된 프레임 포인터들은 각 송신 모듈들에 대한 디큐잉 로직에 의해 처리될 수 있다. 상기 디큐잉 로직은 프레임 포인터들을 이용하여 상기 외부 메모리(170)에 액세스함으로써 상기 프레임 포인터들에 의해 특정되는 메모리 위치들에서의 데이터 프레임들을 판독한다.
상기 IRC(245)는 상기 수신기(205)에 의해 수신되는 데이터 패킷들에 대한 프레임 전송 결정들을 수행하는 내부 결정 수행 엔진(internal decision making engine)을 포함할 수 있다. 상기 IRC(245)는 데이터 버스(215)를 감시(즉, "스누프(snoop)")하여, 프레임 포인터 값 및 데이터 프레임의 일부 예를 들어, 소스, 목적지 및 가상 LAN(VLAN) 어드레스 정보를 포함하는 수신 패킷의 헤더 정보를 결정한다. 상기 IRC(245)는 상기 헤더 정보를 이용하여, 어느 출력 포트가 프레임 포인터에 의해 특정되는 위치에서 저장된 데이터 프레임을 출력할 것인지를 결정한다. 따라서, 상기 IRC(245)는 소정의 데이터 프레임이 단일 포트(즉, 유니캐스트), 다중 포트(즉, 멀티캐스트), 전체 포트(즉, 브로드캐스트) 또는 무포트(no port)(즉, 폐기(discarded)) 중 어느 포트에 의해 출력되어야 하는지를 결정할 수 있다.
예를 들어, 각 데이터 프레임은 소스 및 목적지 어드레스들을 식별하는 헤더를 포함할 수 있다. 상기 IRC(245)는 상기 목적지 어드레스를 이용하여 적절한 출력 포트를 식별함으로써 데이터 프레임을 출력한다. 프레임 헤더는 그 프레임이 네트워크 스테이션들(110)로 이루어진 한 그룹에서 하나 또는 그 이상의 요소들에게 보낼 정보라고 식별하는 VLAN 어드레스 정보를 또한 포함할 수도 있다. 상기 IRC(245)는 대안적으로 데이터 프레임이 확장 포트를 통해 다른 다중포트 스위치(180)에 전송되어야 한다고 결정할 수 있다. 따라서, 상기 IRC(245)는 상기 외부 메모리(170)에 임시로 저장된 프레임이 단일 출력 포트, 다중 출력 포트, 무 출력 포트(no output port) 또는 다른 다중포트 스위치(180) 중 어느 곳으로 출력 되어야 하는지를 결정한다.
상기 IRC(245)는 전송 디스크립터(forwarding descriptor)의 형태로 상기 PVQ(235)에 그의 전송 결정을 출력한다. 상기 전송 디스크립터는 예를 들어, 데이터 프레임이 높은 우선순위인지 낮은 우선순위인지를 식별하는 우선순위 클래스(priority class), 그 프레임을 전송해야하는 각 출력 포트를 식별하는 포트 벡터(port vector), 입력 포트 수 또는 VLAN 정보를 포함할 수 있다. 상기 PVQ(235)는 상기 전송 디스크립터를 디코딩하여 프레임 포인터를 획득한다. 그 다음 상기 PVQ(235)는 그 프레임 포인터를 출력 제어 큐(240) 내의 적절한 출력 큐에 공급할 수 있다.
또한, 상기 IRC(245)는 제 3 계층의 필터링을 수행할 수도 있다. 예를 들어, 상기 IRC(245)는 최대 128개의 프로그램가능한 패턴들에 대해 각 수신 데이터 패킷을 검사하여, 그 결과에 근거해 그 패킷들을 처리할 수 있다. 상기 결과는 상기 IRC(245)가 상기 패킷을 제거하거나, 상기 패킷을 호스트(160)에게 전송하거나, 또는 상기 패킷에 사용자 우선순위 또는 차등화 서비스 코드 포인트(DSCP; Differentiated Services Code Point)를 할당하도록 명령할 수 있다. 사용자 우선순위들 및 DSCP는 독립적으로 출력 우선순위 클래스들에 매핑될 수 있다.
상기 레지스터들(250)은 호스트 인터페이스(260)에 의해 이용되는 구성 및 상태 레지스터들을 포함할 수 있다. 상기 MIB 카운터들(255)은 상기 호스트(160)에 의한 사용을 위해 MIB 객체의 형태로 통계적 네트워크 정보를 제공할 수 있다. 상기 호스트 인터페이스(260)는 상기 호스트(160)와 같은 외부 관리 엔티티(entity) 가 다중포트 스위치(180)의 전체 동작을 제어할 수 있게 해주는 표준 인터페이스를 포함할 수 있다. 상기 호스트 인터페이스(260)는 규정된 레지스터 공간 내의 호스트 액세스들을 디코딩하고, 상기 레지스터들(250)로/로부터 구성 및 상태 정보를 판독 및 기입한다.
상기 외부 메모리 인터페이스(265)는 외부 메모리(170)에 액세스할 수 있게 해주는 표준 인터페이스를 포함할 수 있다. 상기 외부 메모리 인터페이스(265)는 스케줄러(220)에 의해 결정되는 할당된 시간 슬롯 동안에 직접 메모리 액세스(DMA; direct memory access) 트랜잭션(transaction)으로 상기 외부 메모리(170)에 패킷 데이터의 외부 저장을 가능하게 해준다. 본 발명에 따른 실시예에 있어서, 상기 외부 메모리 인터페이스(265)는 적어도 66MHz의 클럭 주파수, 바람직하게는 100MHz 또는 그 이상의 주파수에서 동작한다.
EEPROM 인터페이스(270)는 EEPROM과 같은 다른 외부 메모리에 대한 표준 인터페이스를 포함한다. LED 인터페이스(275)는 외부 LED 로직에 대한 표준 인터페이스를 포함한다. 상기 LED 인터페이스(275)는 상기 외부 LED 로직에 입력 및 출력 포트들의 상태를 전송한다. 상기 LED 로직은 인간이 판독할 수 있는 LED 표시 요소들을 구동한다. JTAG 인터페이스(280)는 외부 테스트 장치에 대한 표준 인터페이스를 포함하여, 다중포트 스위치(180)에 대해 예를 들어, 바운더리 스캔 테스트(boundary scan test)가 수행될 수 있게 해준다.
상기 스위치 아키텍처의 전술한 설명은 패킷 교환 네트워크에서의 스위치 동작의 개요를 제공한다. 예를 들어, 다중포트 스위치(180)에서 실시되는 바와 같이 본 발명의 특징들의 더 상세한 설명이 하기에 제공된다.
네트워크 장치에서의 선택적인 승인 제어
본 발명은 다중포트 스위치(180)와 같은 네트워크 장치에서의 승인 제어 메커니즘에 관한 것이다. 본 발명에 따른 다중포트 스위치(180)는 수신 데이터 프레임에 포함되어 있는 정보 및 상기 다중포트 스위치(180)에서의 자원의 이용가능성에 근거하여 승인 제어 절차를 언제 수행할지를 결정한다.
도 3은 선택적인 승인 제어가 수행될 수 있는 본 발명의 예시적인 실시예에 따른 다중포트 스위치(180)의 일부분을 예시한다. 도 3을 참조하면, 다중포트 스위치(180)는 수신기(205), 버퍼 관리 로직(230), 외부 메모리 인터페이스(265) 및 포트 필터 로직(300)을 포함한다.
상기 수신기(205)는 입력 포트들(1 내지 N) 각각에 대응하는 MAC 모듈들(310, 312 및 314)을 포함한다. 각각의 MAC 모듈은 수신 FIFO 버퍼와 큐잉 로직을 포함한다. 예를 들어, 도 3을 참조하면, MAC 모듈(310)은 수신 FIFO 버퍼(310A)와 큐잉 로직(310B)을 포함한다. 다른 MAC 모듈들도 이와 유사하게 수신 FIFO 버퍼들과 큐잉 로직을 포함한다.
상기 버퍼 관리 로직(230)은 프리 버퍼 큐(FBQ; free buffer queue) 제어 로직(320)과 프리 버퍼 큐(330)를 포함한다. 상기 FBQ(330)는 데이터 프레임의 저장에 이용가능한 외부 메모리(170) 내의 위치들을 식별하는 프레임 포인터들을 저장한다. 본 발명에 따른 상기 FBQ 제어 로직(320)은 FBQ(330) 내의 다수의 이용가능한 프레임 포인터들이 소정의 임계치(threshold) 이하로 내려갈 때 다중포트 스위치(180)에서의 승인 제어를 개시한다. 상기 FBQ 제어 로직(320)이 승인 제어를 개시하기 전에 상기 FBQ(330)에 남아있는 특정 수의 프레임 포인터들은 사용자의 요구사항에 근거하여 설정될 수 있으며, 또한 사용자에 의해 프로그램가능하게 될 수 있다. 즉, 사용자는 예를 들어, 네트워크 상태에 근거하여 호스트 인터페이스(260)(도 2)를 통해 승인 제어가 인에이블되기 전에 FBQ(330)에 남아있는 프레임 포인터들의 수를 프로그램할 수 있다.
본 발명에 따른 예시적인 실시예에 있어서, 상기 FBQ(330)는 2개의 개별적인 "워터마크(watermark)"(즉, 임계치)를 포함한다. 각 워터마크는 상기 FBQ(330)에 남아있는 소정의 수의 프레임 포인터들에 대응한다. 하기에 더 상세하게 설명되는 바와 같이, 상기 FBQ 제어 로직(320)은 상기 FBQ(330)가 각각의 워터마크들 중 하나에 도달하는 때를 검출하여 포트 필터 로직(300)에 승인 제어 신호를 전송한다.
하기에 더 상세하게 설명되는 바와 같이, 본 발명의 예시적인 실시예에 따른 상기 포트 필터 로직(300)은 수신 데이터 프레임과 관련된 우선순위를 결정하며, 또한 상기 수신 데이터 프레임에 포함되어 있는 데이터의 타입을 결정한다. 승인 제어가 인에이블되고, 상기 포트 필터 로직(300)이 데이터 프레임을 어떤 우선순위와 타입으로 되어 있다고 식별할 때, 상기 포트 필터 로직(300)은 적절한 MAC 모듈에게 상기 데이터 프레임을 제거하라고 신호를 보낸다.
상기 포트 필터 로직(300)은 상기 수신기(205)와 개별적인 구성요소로서 도시되어 있다. 본 발명의 대안적인 실시예들에 있어서, 상기 포트 필터 로직(300)이 수신기(205)의 부분이 될 수도 있음을 이해해야 한다. 다른 대안적인 실시예에 있어서, 포트 필터 로직(300)에 의해 수행되는 기능들은 MAC 모듈들의 각각의 큐잉 로직과 같은 다른 로직 구성요소에 의해 수행될 수 있다.
본 발명의 예시적인 실시예에 있어서, 상기 포트 필터 로직(300)은 데이터 프레임들을 높은 우선순위를 갖거나 낮은 우선순위를 갖는 것으로 분류한다. 높은 우선순위의 프레임은 관리 장치에 보낼 프레임 또는 멀티미디어 응용을 위해 보낼 프레임과 같은 낮은 액세스 대기시간을 요구하는 프레임을 포함할 수 있다. 낮은 우선순위 프레임은 임의의 다른 프레임을 포함할 수 있다.
본 발명의 대안적인 실시예들에 있어서, 데이터 프레임들과 관련된 우선순위의 수는 2개보다 훨씬 더 많을 수 있다. 예를 들어, 상기 포트 필터 로직(300)은 프레임들을 저(low), 중(medium), 고(high)와 같은 3개의 우선순위 레벨 중 하나의 레벨을 갖는 것으로 식별할 수 있다. 다른 실시예에 있어서, 상기 포트 필터 로직(300)은 프레임들을 저, 중저(low-medium), 중고(medium-high) 및 고와 같은 4개의 우선순위 레벨 중 하나의 레벨을 갖는 것으로 식별할 수도 있다. 이 경우들에서는, 상기 FBQ(330)의 워터마크의 수는 우선순위 레벨들에 대응할 수 있다. 예를 들어, 다중포트 스위치(180)가 4개의 우선순위 레벨을 지원하는 경우에, 상기 FBQ(330)의 워터마크의 수는 4개일 수 있다.
또한, 본 발명의 어떤 실시예들에 있어서, 상기 다중포트 스위치(180)는 우선순위 표시를 갖는 데이터 프레임을 수신할 수 있다. 예를 들어, 이더넷 프레임은 8개의 우선순위 레벨 중 하나의 레벨을 표시하는 3비트 필드를 포함할 수 있다. 이 경우에, 포트 필터 로직(300)은 상기 다중포트 스위치(180)에 의해 지원되는 대응하는 우선순위 레벨에 수신된 우선순위 정보를 매핑할 수 있다. 예를 들어, 상기 포트 필터 로직(300)은 상기 다중포트 스위치(180)에 대한 높거나 낮은 우선순위에 8개의 우선순위 레벨을 매핑할 수 있다. 대안적으로, 수신 데이터 프레임과 관련된 8개의 우선순위 레벨은 상기 다중포트 스위치(180)에 의해 지원되는 우선순위 레벨에 근거하여 상기 다중포트 스위치(180)에 대한 3 또는 그 이상의 우선순위 레벨에 매핑될 수 있다.
또한, 상기 포트 필터 로직(300)은 데이터 프레임의 데이터 부분에 포함되어 있는 데이터의 타입을 식별한다. 예를 들어, 도 4는 본 발명에 따른 실시예에 있어서 네트워크 스테이션(110) 및 네트워크 노드(150)에 의해 이용될 수 있는 통신 프로토콜(400)의 예시적인 도면이다. 상기 통신 프로토콜(400)은 응용 계층(410), 전송 계층(420), 네트워크 계층(430) 및 데이터 링크 계층(440)을 포함한다. 상기 응용 계층(410)은 통신을 개시하는 응용들 또는 프로그램들을 포함할 수 있다. 상기 응용 계층(410)은 메일, 파일 전송, 원격 액세스, 인증 및 명칭 결정을 위한 프로토콜들과 같은 여러 응용 계층 프로토콜들을 포함할 수 있다. 상기 응용 계층(410)은 데이터 패킷을 패킷의 목적지와 함께 전송 계층(420)으로 전송함으로써 네트워크(100)에 데이터(412)를 전송한다.
상기 전송 계층(420)은 패킷의 소스와 목적지 간에 가상의(virtual) 회로, 접속 또는 소켓을 설정할 수 있다. 상기 전송 계층(420)은 관련 전송 프로토콜의 사양에 따라 상기 패킷에 헤더(422)와 트레일러(424)를 붙일 수 있다. 상기 전송 계층(420)은 상기 패킷을 목적지의 인터넷 프로토콜(IP) 어드레스와 함께 네트워크 계층(430)에 전송한다.
상기 네트워크 계층(430)은 상기 전송 계층(420)으로부터 패킷을 받아들여, 상기 IP 어드레스를 MAC 어드레스와 같은 물리적 어드레스로 변환함으로써, 그리고 필요에 따라 상기 패킷을 요구되는 크기로 분할함으로써 상기 패킷을 데이터 링크 계층(440)에 맞게 준비한다. 상기 네트워크 계층(430)은 관련 프로토콜의 사양에 따라 상기 전송 계층(420)으로부터의 패킷들에 IP 헤더(432) 및 트레일러(434)를 붙임으로써 데이터그램(datagram)이라고 불리는 패킷을 발생시킬 수 있다. 상기 네트워크 계층(430)은 그 데이터그램을 데이터 링크 계층(440)에 전송한다.
상기 데이터 링크 계층(440)은 네트워크(100) 전역의 데이터를 신뢰적으로 이동시키는 이더넷과 같은 데이터 링크 프로토콜을 포함한다. 상기 데이터 링크 계층(440)은 상기 데이터그램을, 소스 및 목적지 MAC 어드레스들을 포함하는 헤더(442)와 체크섬(checksum) 데이터를 포함하는 트레일러(444)를 추가한 포맷으로 변환한다.
도 5 내지 7은 본 발명에 따른 실시예에 있어서, 상기 헤더들(422-442) 각각의 세부 도면이다. 도 5에 도시된 바와 같이, 상기 헤더(422)는 소스 포트 필드, 목적지 포트 필드, 순서 번호(sequence number) 필드, 승인 번호(acknowledge number) 필드, 데이터 오프셋 필드, 예비(reserved) 필드, 플래그(flags) 필드, 윈도우(window) 필드, 체크섬 필드 및 긴급 포인터(urgent pointer) 필드를 포함한다. 상기 소스 포트 및 목적지 포트 필드들은 데이터 패킷의 소스 및 목적지를 식 별하는 데이터를 포함한다. 상기 순서 번호 필드는 목적지에서의 패킷의 순서 및 전송을 보증하는데 이용되는 데이터를 포함한다. 상기 승인 번호 필드는 소스가 목적지로부터 수신할 예정인 데이터의 다음 바이트를 식별하는 데이터를 포함한다.
상기 데이터 오프셋 필드는 헤더(422)의 길이를 식별하는 데이터를 포함한다. 상기 예비 필드는 추후 확장에 이용될 수 있다. 상기 플래그 필드는 긴급(urgent), 승인(acknowledge), 밀어넣기(push), 리셋(reset), 동기화(synchronize) 및 완료(finish) 플래그들과 같은 여러 플래그들을 포함한다. 상기 긴급 플래그는 긴급 포인터 필드에 있는 데이터가 유효한지 여부를 나타낸다. 상기 승인 플래그는 상기 승인 번호 필드에 있는 데이터가 유효한지 여부를 나타낸다. 상기 밀어넣기 플래그는 첨부 데이터가 신속 처리 방식으로 목적지의 어플리케이션에 전송되어야 하는지 여부를 나타낸다. 상기 리셋 플래그는 접속이 리셋되어야 하는지 여부를 나타낸다. 상기 동기화(SYN) 플래그는 상기 순서 번호들에 대한 초기 협정(initial agreement)을 설정하는데 이용된다. 상기 완료 플래그는 소스가 데이터 전송을 완료했는지 여부를 나타낸다.
상기 윈도우 필드는 목적지가 가지고 있는 공간의 양을 식별하는 데이터를 포함하는데, 상기 공간은 비승인 데이터(unacknowledged data)를 저장하는데 이용가능하다. 상기 체크섬 필드는 상기 헤더(422)와 상기 데이터(412) 둘다를 커버할 수 있는 체크섬 값을 포함한다. 상기 긴급 포인터 필드는 이 패킷이 보통의 데이터 스트림보다 우위의 우선순위를 취하는지 여부를 식별하는 데이터를 포함한다.
도 6을 참조하면, 상기 헤더(432)는 버전(version) 필드, 헤더 길이 필드, 서비스 타입 필드, 전체 길이 필드, 식별자 필드, 플래그 필드, 단편 오프셋 필드(fragment offset field), 유효 시간(time to live) 필드, 프로토콜 필드, 헤더 체크섬 필드, 소스 어드레스 및 목적지 어드레스를 포함한다. 상기 버전 필드는 이용되는 프로토콜의 버전을 식별하는 데이터를 포함한다. 상기 헤더 길이 필드는 상기 헤더(432)의 길이를 식별하는 데이터를 포함한다. 상기 서비스 타입 필드는 네트워크(100)에 의해 데이터그램에 주어질 서비스 품질을 식별하는 데이터를 포함한다.
상기 전체 길이 필드는 데이터그램(즉, 헤더들(422 및 432)과 데이터(412))의 길이를 식별하는 데이터를 포함한다. 상기 식별자 필드는 목적지에서 단편화된 데이터그램을 재조립하는데 이용되는 데이터를 포함한다. 상기 플래그 필드는 예를 들어, 상기 데이터그램이 단편으로 잘라질 수 있는지를 식별하는 하나 또는 그 이상의 플래그들을 포함한다. 상기 단편 오프셋 필드는 오리지날 전송 패킷의 시작에 관련하여 시작점을 식별하는 데이터를 포함한다.
상기 유효 시간 필드는 패킷이 몇개의 홉/링크(hop/link)를 통하여 라우팅(routing)되는지를 식별하는 계산값(count value)을 포함한다. 상기 프로토콜 필드는 목적지에서의 데이터그램에 대해 이용될 전송 프로토콜의 타입(예를 들어, 인터넷 제어 메시지 프로토콜(ICMP), 인터넷 그룹 관리 프로토콜(IGMP), 전송 제어 프로토콜 또는 사용자 데이터그램 프로토콜(UDP))을 식별하는 데이터를 포함한다. 상기 헤더 체크섬 필드는 헤더(432)를 커버하는 체크섬 값을 포함한다. 상기 소스 및 목적지 어드레스 필드들은 소스 및 목적지 각각의 인터넷 어드레스들과 같 은 어드레스들을 포함한다.
도 7을 참조하면, 상기 헤더(442)는 목적지 어드레스 필드, 소스 어드레스 필드 및 타입/길이 코드 필드를 포함한다. 본 발명의 예시적인 실시예에 있어서, 상기 소스 및 목적지 어드레스 필드들은 소스 및 목적지 각각에 대한 이더넷 어드레스를 포함한다. 상기 타입/길이 코드 필드는 소스 및 목적지에 접속하는데 이용되는 데이터 링크 프로토콜을 식별하는 데이터를 포함하며, 또한 데이터 프레임의 길이를 식별하는 데이터를 포함한다. 전술된 바와 같이, 상기 헤더(442)는 또한 데이터 프레임과 관련된 우선순위를 표시하는 우선순위 필드를 더 포함할 수 있다. 또한, 상기 헤더(442)는 가상 LAN(VLAN) 정보를 포함할 수 있다.
상기 포트 필터 로직(300)은 수신 데이터 프레임의 페이로드(payload) 부분에 포함되어 있는 정보에 근거하여 데이터 프레임의 타입을 식별할 수 있다. 데이터 프레임의 페이로드 부분은 헤더들(422 및 432), 데이터(412) 및 트레일러들(424 및 434)(도 4)을 포함한다는 것을 이해해야 한다. 예를 들어, 상기 데이터 프레임의 페이로드 부분은 전송 제어 프로토콜(TCP) 세션(session)에 관한 정보를 포함할 수 있다. 예시적인 TCP 세션에서, 2개의 네트워크 스테이션들(110) 간 또는 네트워크 스테이션(110)과 네트워크 노드(150) 간과 같은 2개의 장치들 간의 데이터 주고받음(data conversation)은 3가지의 패킷들 즉, 1) 설정 패킷들; 2) 데이터 패킷들; 그리고 3) 접속단절 패킷들(disconnect packets)로 분할된다. TCP 헤더의 SYN 플래그가 설정될 때 설정 패킷이 식별된다. 다시 말하면, 헤더(422)(도 4)의 플래그 필드에 있는 SYN 플래그 설정은 패킷의 페이로드 부분이 2개의 장치들 간의 접 속 설정과 관련된다는 것을 표시한다. 전형적인 경우에는, 네트워크 스테이션(110)과 같은 소스 장치는 우선 최초의 순서 번호(initial sequence number)(ISN_CLIENT)를 포함하는 설정 패킷을 전송한다. 이 순서 번호는 데이터의 스트림(stream)에 있는 특정 데이터를 식별한다. 네트워크 노드(150)와 같은 목적지 장치는 전형적으로 클라이언트의 순서 번호를 승인하는 소스에게 승인 패킷을 전송하고, 서버의 최초의 순서 번호(ISN_SERVER)를 포함한다. 그 다음에 소스 장치는 상기 서버의 순서 번호를 승인하는 패킷으로 응답한다.
이 설정 패킷들이 접속을 설정한 후에, 하나 또는 그 이상의 데이터 패킷들은 상기 2개의 장치들 간의 실제 데이터 주고받음 다음에 온다. 접속단절 패킷은 상기 데이터 패킷(들) 다음에 오고, TCP 헤더의 FIN 플래그가 설정될 때 식별될 수 있다. 다시 말하면, 헤더(422)의 플래그 필드에 있는 FIN 플래그 설정은 소스가 데이터의 전송을 완료하였음을 표시하고 TCP 세션을 효과적으로 종료한다.
본 발명에 따른 포트 필터 로직(300)은 헤더(422)의 플래그 필드에 있는 SYN 플래그의 값에 근거하여 설정 패킷을 식별한다. 하기에 더 상세하게 설명되는 바와 같이, 상기 포트 필터 로직(300)은 폭주 상태가 발생할 때 선택적으로 설정 패킷들을 제거한다.
도 8은 본 발명에 따른 실시예에서 다중포트 스위치(180)에 의한 예시적인 처리과정을 예시한다. 처리과정은 네트워크(100)(도 1)가 개시하면 시작한다. 네트워크 스테이션(110)이 데이터 프레임을 전송하고 다중포트 스위치(180)가 그 데이터 프레임을 수신한다고 가정한다[단계(810)]. 예를 들어, MAC 모듈(310)이 상기 데이터 프레임을 수신한다고 가정한다. 이 경우, 수신 FIFO 버퍼(310A)가 상기 데이터 프레임을 저장한다[단계(820)].
상기 포트 필터 로직(300)은 수신 데이터 프레임의 일부를 검사하여 그 수신 데이터 프레임과 관련된 우선순위를 결정한다[단계(830)]. 본 발명의 예시적인 실시예에 있어서, 상기 포트 필터 로직(300)은 상기 데이터 프레임이 상기 수신 FIFO 버퍼(310A)에 저장되는 동안에 상기 수신 데이터 프레임의 헤더(즉, 도 4의 헤더(442))를 검사한다.
전술된 바와 같이, 상기 포트 필터 로직(300)은 프레임의 타입 또는 프레임의 목적지에 근거하여 우선순위를 식별한다. 예를 들어, 멀티미디어 응용을 위한 데이터 프레임 또는 관리 장치에 보낼 데이터 프레임은 높은 우선순위 프레임으로 지정될 수 있다. 모든 다른 데이터 프레임들은 낮은 또는 중간의 우선순위 프레임들로 지정될 수 있다. 대안적으로, 상기 포트 필터 로직(300)은 특정 사용자의 필요조건과 같은 임의의 다른 판별 기준에 근거하여 우선순위를 식별할 수도 있다. 다른 실시예에 있어서, 전술된 바와 같은, 상기 포트 필터 로직(300)은 데이터 프레임으로 전송된 우선순위 정보에 근거하여 우선순위를 식별할 수 있다. 이 경우, 상기 포트 필터 로직(300)은 다중포트 스위치(180)에 의해 지원되는 대응하는 우선순위 레벨에 수신된 우선순위 정보를 매핑한다.
어느 경우에서나, 데이터 프레임과 관련된 우선순위의 식별에 추가하여, 포트 필터 로직(300)은 데이터 프레임의 페이로드 부분에 포함되어 있는 데이터의 특성을 판단한다[단계(840)]. 예를 들어, 상기 포트 필터 로직(300)은 상기 데이터 프레임이 다른 장치와 새로운 접속을 설정하는 것과 관련되는지 여부를 결정한다. 전술한 바와 같이, 이더넷 프레임은 그의 페이로드 부분에, 대응하는 데이터(즉, 도 4의 데이터(412))가 TCP 세션을 설정하는데, 예를 들어, 순서 번호들을 동기화하는데 수반되는 설정 패킷이라고 식별하는 TCP 패킷을 위한 헤더(즉, 도 5의 헤더(422))를 포함한다. 이 경우, 헤더(422)의 플래그 필드에 있는 SYN 플래그가 설정된다. 또한, 헤더(422)의 플래그 필드에 있는 승인 플래그는 그 패킷이 장치들 간의 승인 순서 번호와 관련될 때도 또한 설정될 수 있음에 주목할 필요가 있다.
상기 포트 필터 로직(300)은 데이터를 설정 패킷이라고 식별한다고 가정한다(예를 들어, 상기 SYN 플래그가 설정된다). 이 경우, 상기 포트 필터 로직(300)은 그 다음에 승인 제어가 인에이블되었는지를 결정한다[단계(850)]. 예시적인 실시예에 있어서, 상기 포트 필터 로직(300)은 FBQ 제어 로직(320)으로부터의 신호가 어서트(assert)(표명)되었는지 여부에 근거하여 승인 제어가 인에이블되었는지를 결정한다. 예를 들어, FBQ 제어 로직(320)은 FBQ(330)에 있는 이용가능한 프레임 포인터의 수가 제 1 워터마크보다 작다고 결정한다고 가정한다. 이 경우, FBQ 제어 로직(320)은 포트 필터 로직(300)에 ADMISSION_CONTROL_LOW와 같은 인에이블 승인 제어 신호를 전송한다. 이는 포트 필터 로직(300)이 선택된 낮은 우선순위 데이터 프레임에 대한 승인 제어 절차를 수행해야 한다는 것을 표시한다.
승인 제어가 인에이블되지 않은 경우, 다중포트 스위치(180)는 데이터 프레임을 처리한다[단계(860)]. 즉, 상기의 실시예에서, 큐잉 로직(310B)은 상기 FBQ(330)에 액세스하여 외부 메모리(170) 내의 위치를 식별하는 프레임 포인터를 획득하고, 수신 FIFO 버퍼(310A)에 저장된 데이터 프레임과 상기 프레임 포인터를 외부 메모리 인터페이스(265)에 전송한다. 그 다음에, 상기 외부 메모리 인터페이스(265)는 상기 프레임 포인터에 의해 식별된 외부 메모리(170) 내의 위치에 상기 데이터 프레임을 전송한다. 그 다음에, 상기 다중포트 스위치(180)는 상기 데이터 프레임을 처리하여 프레임 전송 정보를 발생시키고, 외부 메모리(170)로부터 상기 데이터 프레임을 검색하고, 그리고 그의 의도된 목적지(들)에 상기 데이터 프레임을 전송한다.
상기 포트 필터 로직(300)이 승인 제어가 인에이블되었다고 결정한 경우, 상기 포트 필터 로직(300)은 상기 데이터 프레임을 제거할 것인지 여부를 결정한다[단계(870)]. 본 발명의 예시적인 실시예에 있어서, 상기 포트 필터 로직(300)은 상기 데이터 프레임의 우선순위 및 상기 데이터 프레임의 페이로드에 포함되어 있는 식별된 데이터 타입에 근거하여 상기 데이터 프레임을 제거할 것인지 여부를 결정한다. 예를 들어, 포트 필터 로직(300)이 데이터 프레임을 낮은 우선순위를 갖는다고 식별하고 낮은 우선순위 프레임들에 대한 승인 제어가 인에이블되었을 때, 상기 포트 필터 로직(300)은 설정 패킷들을 포함하는 프레임들을 제거한다. 설정 패킷들을 제거함으로써, 상기 다중포트 스위치(180)는 이들 데이터 주고받음을 제거할 필요없이 "이른(earlier)" TCP 세션(즉, TCP 세션의 설정 부분이 이미 완료된 세션)과 관련된 데이터 전송을 완성할 수 있다.
소정의 기간 동안 폭주 상태가 유지되는 경우(즉, 상기 FBQ(330)가 상기 제 1 워터마크보다 작게 되는 경우), 상기 다중포트 스위치(180)는 모든 낮은 우선순 위의 데이터 프레임들을 제거할 수 있다. 그러나, 설정 패킷들이 먼저 제거되도록 하여, 상기 다중포트 스위치(180)는 이른 TCP 세션이 완성될 수 있는 기회를 선택적으로 줄 수 있다. 또한, 상기 설정 패킷이 제거되기 때문에, 목적지 장치는 상기 다중포트 스위치(180)를 통해 소스에 승인 설정 패킷을 전송하지 않으며, 소스 장치는 목적지 장치에 상기 승인 설정 패킷을 전송하지 않는다. 이는 상기 다중포트 스위치(180)에서의 폭주를 감소시키는데에 추가로 도움이 될 수 있다.
대안적인 실시예들에 있어서, 상기 포트 필터 로직(300)은 승인 제어가 인에이블되었을 때 다른 우선순위의 데이터 프레임들을 제거할 것임을 결정한다. 예를 들어, FBQ 제어 로직(320)이 FBQ(330)에 있는 이용가능한 프레임 포인터들의 수가 제 2 워터마크보다 작다고 결정한다고 가정한다. 이 경우, FBQ 제어 로직(320)은 ADMISSION_CONTROL_HIGH와 같은 인에이블 승인 제어 신호를 포트 필터 로직(300)에 전송한다. 이는 포트 필터 로직(300)이 모든 낮은 우선순위의 프레임들과 선택된 높은 우선순위의 프레임들을 제거할 것임을 표시한다. 즉, 상기 포트 필터 로직(300)은 상기 데이터 프레임의 페이로드 부분에 포함되어 있는 데이터의 특성을 식별하고[단계(840)], 그 다음에 높은 우선순위의 데이터 프레임을 제거할지 여부를 결정한다[단계(870)]. 예를 들어, 상기 높은 우선순위의 데이터 프레임이 설정 패킷을 포함한다고 식별되는 경우, 상기 다중포트 스위치(180)는 그 데이터 프레임을 제거한다. 그러나, 상기 다중포트 스위치(180)는 기존의 TCP 세션을 완료할 수 있도록 상기 설정 패킷들을 제외한 데이터 패킷들을 처리한다. 전술된 바와 같이, 설정 패킷들을 제거함으로써, 승인 패킷들 및 TCP 세션의 설정과 관련된 다른 패킷들이 전송되지 않을 것이기 때문에, 상기 다중포트 스위치(180)는 네트워크에서의 데이터 트래픽을 더욱 감소시킬 수 있다. 또다시, 폭주 상태가 지속되는 경우, 상기 포트 필터 로직(300)은 높은 우선순위의 데이터 프레임들을 포함하여 모든 수신 데이터 프레임들을 제거한다.
요약하면, 상기 포트 필터 로직(300)은 상기 FBQ(330)의 상태와 상기 데이터 프레임에 포함되어 있는 데이터의 특성에 근거하여 데이터 프레임들을 제거할지를 결정한다. 상기 포트 필터 로직(300)은 상기 데이터 프레임의 일부 또는 전체를 검사하여 상기 데이터 패킷의 특성을 판단하도록 구성될 수 있다. 즉, 상기의 실시예에서, 상기 포트 필터 로직(300)은 헤더(422)의 하나 또는 그 이상의 플래그들의 상태를 식별하여 데이터 패킷의 특성을 식별하도록 구성될 수 있다.
상기 포트 필터 로직(300)이 상기 데이터 프레임을 제거하기로 결정한 경우, 상기 포트 필터 로직(300)은 상기 데이터 프레임을 수신한 대응하는 MAC 모듈에 신호를 전송한다. 상기의 실시예에서, 상기 포트 필터 로직(300)은 상기 데이터 프레임을 제거할 것임을 표시하는 신호를 MAC 모듈(310)에 전송한다. 예시적인 실시예에 있어서, 상기 포트 필터 로직(300)은 상기 데이터 프레임이 "런트(runt)"(즉, 불완전한 데이터 프레임 또는 에러를 포함하는 데이터 프레임)임을 표시하는 신호를 그 데이터 프레임이 실제로 런트가 아닐지라도 상기 MAC 모듈에 전송할 수 있다. 이 경우, 상기 MAC 모듈은 런트를 제거해야 한다고 인식하도록 구성될 수 있다. 이는 유리하게 상기 MAC 모듈들의 로직을 단순하게 한다. 그 이유는 상기 MAC 모듈은 이미 런트로 식별된 프레임들을 제거하도록 구성되어 있을 수 있기 때문이 다. 대안적으로, 상기 포트 필터 로직(300)은 상기 데이터 프레임을 제거할 것임을 표시하는 임의의 다른 신호(예를 들어, DROP_FRAME)을 전송할 수 있다.
어느 경우에서나, 상기 MAC 모듈(310)은 상기 포트 필터 로직(300)으로부터 상기 신호를 수신하여, 상기 데이터 프레임을 제거한다[단계(890)]. 이 경우, 큐잉 로직(310B)은 수신 FIFO 버퍼(310A)로부터 상기 데이터 프레임을 삭제한다. 장점적으로, 상기 데이터 프레임은 상기 다중포트 스위치(180)의 자원의 상당량을 이용하지 않고도 상기 다중포트 스위치(180)의 "프론트 엔드(front end)"(즉, 처리 초기 부분)에서 제거된다. 예를 들어, 상기 큐잉 로직(310B)은 FBQ(330)로부터 프레임 포인터를 획득하지 않으며, 그 데이터 프레임을 외부 메모리 인터페이스(265)에 전송하지 않는다. 이로써 프레임 포인터를 획득하고난 후 그 프레임 포인터를 상기 FBQ(330)에 반환하는 것과 관련된 상당한 처리 시간을 절약할 수 있다. 다시 말하면, 상기 다중포트 스위치(180)는 그의 의도된 목적지에 그 특정 데이터 프레임을 전송하는 것과 관련된 모든 처리를 중단한다.
네트워크 장치에서의 선택적인 승인 제어를 수행하는 장치 및 방법을 설명하였다. 본 발명의 하나의 장점은, 승인 제어가 인에이블될 때, 다중포트 스위치(180)가 데이터 프레임들을 선택적으로 제거할 수 있다는 점이다. 본 발명의 다른 장점은, 상기 다중포트 스위치(180)가 2개의 장치들 간에 접속을 설정하는 것과 관련된 프레임들을 제거함으로써, 이른 세션들이 완성될 수 있는 기회를 가능하게 한다는 점이다. 본 발명의 또다른 장점은, 상기 다중포트 스위치(180)가 데이터 프레임의 처리과정에서 비교적 일찍 수신 데이터 프레임을 제거할지 여부를 결정할 수 있다는 점이다. 이는 상기 다중포트 스위치가 나중에 제거될 데이터 프레임을 위한 자원들의 이용을 피할 수 있게 함으로써, 전체 데이터 처리량을 증가시킨다.
본 개시물에는 단지 본 발명의 바람직한 실시예들 및 그의 융통성있는 몇몇 예들만이 도시되어 설명되어 있다. 본 발명은 다양한 다른 결합들 및 환경들에서 사용할 수 있으며, 본원에 명시된 독창적인 발상의 범위내에서 변경할 수 있음을 이해해야 한다.
예를 들어, 본 발명은 데이터 프레임이 2개의 장치들 간의 TCP 세션과 관련된 설정 패킷을 포함하는지 여부에 근거하여 데이터 프레임들을 제거하는 것과 관련하여 주로 설명되었다. 하지만, 본 발명은 데이터 프레임들을 제거할지 여부를 결정하기 위해서 다른 판별 기준이 이용되는 경우에도 이용될 수 있다. 즉, 포트 필터 로직(300)은 상기 데이터 프레임의 페이로드 부분과 관련된 임의의 다른 상태를 검출하여 사용자의 필요조건에 근거하여 상기 데이터 프레임을 제거하도록 구성될 수 있다.
또한, 본 발명은 데이터 프레임과 관련된 우선순위를 결정하여, 그 데이터 프레임의 우선순위 및 상기 데이터 프레임이 설정 패킷을 포함하는지 여부에 근거하여 상기 데이터 프레임을 제거할지를 결정하는 것과 관련하여 설명되었다. 본 발명은 상기 데이터 프레임의 우선순위가 상기 데이터 프레임을 제거할지 여부를 결정하는데 이용되지 않는 경우들에서도 이용될 수 있다. 즉, 상기 포트 필터 로직(300)은 데이터 프레임이 설정 패킷을 포함하는지 여부와 상기 FBQ(330)내의 프레임 포인터들의 이용가능성에 근거하여 데이터 프레임과 관련된 우선순위에 상 관없이 데이터 프레임을 제거할지를 결정할 수 있다.
마지막으로, 본 발명은 낮은 그리고 높은 우선순위 승인 제어 임계치에 대응하는 FBQ(330)내의 제 1 및 제 2 워터마크와 관련하여 주로 설명되었다. 그러나, 본 발명은 상기 FBQ(330)가 임의의 수의 워터마크들을 포함하는 경우에도 전술한 바와 같이 이용될 수 있음을 이해해야 한다. 이 경우, 다중포트 스위치(180)는 우선 상기 FBQ(330)내의 도달된 레벨에 대응하는 우선순위를 갖는 데이터 프레임의 설정 패킷들을 제거한다. 다시 말하면, 상기 FBQ가 4개의 워터마크를 포함하며, 제 2 워터마크가 중저(low-medium) 레벨의 우선순위의 데이터 프레임에 대응하는 경우, 상기 다중포트 스위치(180)는 설정 패킷 정보를 포함하는 중저 레벨의 우선순위의 데이터 프레임들을 제거한다.

Claims (20)

  1. 스테이션들 간의 데이터 프레임들의 통신을 제어하도록 구성되는 네트워크 장치로서,
    상기 스테이션들로부터 데이터 프레임들을 수신하도록 구성되는 복수의 수신 포트들과; 그리고
    데이터 프레임 처리 로직을 포함하고,
    상기 데이터 프레임 처리 로직은:
    승인 제어가 인에이블되었는 지의 여부를 결정하고;
    상기 수신된 데이터 프레임들 각각과 관련된 우선순위를 결정하고;
    상기 수신된 데이터 프레임들의 페이로드 부분에 포함된 정보에 기초하여 상기 수신된 데이터 프레임들 각각과 관련된 타입을 결정하고; 그리고
    상기 승인 제어가 인에이블되었는 지의 여부, 상기 수신된 데이터 프레임들중 제 1 데이터 프레임의 우선순위 및 상기 제 1 데이터 프레임과 관련된 타입에 기초하여, 상기 제 1 데이터 프레임을 제거할 지의 여부를 결정하도록 구성되는 것을 특징으로 하는 스테이션들 간의 데이터 프레임들의 통신을 제어하도록 구성되는 네트워크 장치.
  2. 제 1 항에 있어서,
    상기 제 1 데이터 프레임과 관련된 타입을 결정할 때, 상기 데이터 프레임 처리 로직은 상기 제 1 데이터 프레임이 제 1 장치와 제 2 장치 간의 접속 설정과 관련되는지의 여부를 식별하도록 구성되는 것을 특징으로 하는 스테이션들 간의 데이터 프레임들의 통신을 제어하도록 구성되는 네트워크 장치.
  3. 제 2 항에 있어서,
    상기 데이터 프레임 처리 로직은 또한, 상기 제 1 데이터 프레임이 상기 제 1 장치와 제 2 장치 간의 접속 설정과 관련되고 상기 제 1 데이터 프레임의 우선순위가 낮을 때, 상기 제 1 데이터 프레임을 제거하도록 구성되는 것을 특징으로 하는 스테이션들 간의 데이터 프레임들의 통신을 제어하도록 구성되는 네트워크 장치.
  4. 제 2 항에 있어서,
    상기 제 1 데이터 프레임이 제 1 장치와 제 2 장치 간의 접속 설정과 관련되는지 여부를 식별할 때, 상기 데이터 프레임 처리 로직은 상기 제 1 데이터 프레임의 적어도 일부를 판독하여, 상기 제 1 데이터 프레임이 순서 번호 정보를 포함하는 전송 제어 프로토콜 메시지를 포함하는 지의 여부를 결정하도록 구성되는 것을 특징으로 하는 스테이션들 간의 데이터 프레임들의 통신을 제어하도록 구성되는 네트워크 장치.
  5. 스테이션들 간의 데이터 프레임들의 통신을 제어하도록 구성되는 네트워크 장치로서,
    상기 스테이션들로부터 데이터 프레임들을 수신하도록 구성되는 복수의 수신 포트들과; 그리고
    승인 제어가 인에이블되었는 지의 여부를 결정하고, 상기 승인 제어가 인에이블되었는 지의 여부 및 상기 수신된 데이터 프레임에 포함된 정보에 기초하여 상기 수신된 데이터 프레임들중 하나를 제거할 지의 여부를 결정하는 데이터 프레임 처리 로직과;
    데이터 프레임들을 저장하는 데에 이용가능한 외부 메모리 내의 위치들에 대응하는 어드레스 포인터들을 저장하도록 구성되는 버퍼와; 그리고
    상기 버퍼 내의 어드레스 포인터들의 수가 제 1 임계치에 도달하는 때를 검출하고, 제 1 임계치의 검출에 응답하여, 승인 제어가 인에이블되었음을 나타내는 신호를 상기 데이터 프레임 처리 로직에 전송하도록 구성되는 버퍼 제어 로직을 포함하는 것을 특징으로 하는 스테이션들 간의 데이터 프레임들의 통신을 제어하도록 구성되는 네트워크 장치.
  6. 제 5 항에 있어서,
    상기 신호는 제 1 우선순위에 대응하는 데이터 프레임들에 대한 승인 제어가 인에이블되었음을 나타내는 것을 특징으로 하는 스테이션들 간의 데이터 프레임들의 통신을 제어하도록 구성되는 네트워크 장치.
  7. 제 6 항에 있어서,
    상기 데이터 프레임 처리 로직은 또한, 상기 제 1 우선순위에 대응하고, 2개의 장치들 간의 접속 설정과 관련된 상기 수신된 데이터 프레임들중 하나 또는 그 이상을 제거하도록 구성되는 것을 특징으로 하는 스테이션들 간의 데이터 프레임들의 통신을 제어하도록 구성되는 네트워크 장치.
  8. 제 1 항에 있어서,
    상기 제 1 데이터 프레임을 제거할 지의 여부를 결정할 때, 상기 데이터 프레임 로직은 동기 플래그가 세트되어 있는 전송 제어 프로토콜 헤더가 상기 제 1 데이터 프레임에 포함되어 있는 지의 여부를 검출하도록 구성되는 것을 특징으로 하는 스테이션들 간의 데이터 프레임들의 통신을 제어하도록 구성되는 네트워크 장치.
  9. 제 8 항에 있어서,
    상기 복수의 수신 포트들에 대응하는 복수의 수신 버퍼들을 더 포함하고,
    상기 복수의 수신 버퍼들은 상기 수신된 데이터 프레임들을 저장하도록 구성되고,
    상기 데이터 프레임 제어 로직은 또한 상기 제 1 데이터 프레임 내의 상기 동기 플래그가 세트될 때 상기 복수의 수신 버퍼들중 제 1 수신 버퍼로부터 상기 제 1 데이터 프레임을 지우도록 구성되는 것을 특징으로 하는 스테이션들 간의 데이터 프레임들의 통신을 제어하도록 구성되는 네트워크 장치.
  10. 네트워크 장치에서 스테이션들 간의 데이터 프레임들의 통신을 제어하는 방법으로서,
    상기 스테이션들로부터 데이터 프레임들을 수신하는 단계와;
    상기 데이터 프레임들중 제 1 데이터 프레임과 관련된 우선순위를 결정하는 단계와;
    상기 제 1 데이터 프레임이 제 1 장치와 제 2 장치 간의 접속 설정과 관련되는 지의 여부를 결정하는 단계와;
    상기 제 1 데이터 프레임이 상기 접속 설정과 관련되는 지의 여부 및 상기 제 1 데이터 프레임의 우선순위에 기초하여, 상기 제 1 데이터 프레임을 제거할지의 여부를 결정하는 단계와; 그리고
    상기 제 1 데이터 프레임이 상기 접속 설정과 관련되고 상기 우선순위가 제 1 우선순위에 대응하면, 상기 제 1 데이터 프레임을 제거하는 단계를 포함하는 것을 특징으로 하는 네트워크 장치에서 스테이션들 간의 데이터 프레임들의 통신을 제어하는 방법.
  11. 제 10 항에 있어서,
    상기 제 1 데이터 프레임이 상기 접속 설정과 관련되는 지의 여부를 결정하는 단계는, 동기 플래그가 세트되어 있는 전송 제어 프로토콜 메세지가 상기 제 1 데이터 프레임에 포함되는 지의 여부를 검출하는 단계를 포함하는 것을 특징으로 하는 네트워크 장치에서 스테이션들 간의 데이터 프레임들의 통신을 제어하는 방법.
  12. 네트워크 장치에서 스테이션들 간의 데이터 프레임들의 통신을 제어하는 방법으로서,
    상기 스테이션들로부터 데이터 프레임들을 수신하는 단계와;
    제 1 데이터 프레임이 제 1 장치와 제 2 장치 간의 접속 설정과 관련되는 지의 여부를 결정하는 단계와;
    상기 데이터 프레임들을 처리하는 것과 관련된 자원이 제 1 임계치 미만인 지의 여부를 결정하는 단계와; 그리고
    상기 제 1 데이터 프레임이 상기 접속 설정과 관련될 때, 상기 자원이 상기 제 1 임계치 미만인 지의 여부에 기초하여, 상기 제 1 데이터 프레임을 제거할 것인 지의 여부를 결정하는 단계를 포함하는 것을 특징으로 하는 네트워크 장치에서 스테이션들 간의 데이터 프레임들의 통신을 제어하는 방법.
  13. 네트워크 장치에서 스테이션들 간의 데이터 프레임들의 통신을 제어하는 방법으로서,
    상기 스테이션들로부터 데이터 프레임들을 수신하는 단계와;
    제 1 데이터 프레임이 제 1 장치와 제 2 장치 간의 접속 설정과 관련되는 지의 여부를 결정하는 단계와;
    상기 수신된 데이터 프레임들을 저장하기 위한 외부 메모리 내의 위치들에 대응하는 주소 포인터들의 수가 제 1 임계치에 이르는 때를 검출하는 단계와; 그리고
    상기 제 1 임계치가 검출되면, 제 1 우선순위를 갖는 데이터 프레임들에 대한 승인 제어를 개시하는 단계를 포함하는 것을 특징으로 하는 네트워크 장치에서 스테이션들 간의 데이터 프레임들의 통신을 제어하는 방법.
  14. 제 13 항에 있어서,
    상기 제 1 데이터 프레임과 관련된 우선순위를 결정하는 단계와; 그리고
    상기 제 1 데이터 프레임이 상기 접속 설정과 관련되고, 상기 제 1 데이터 프레임의 우선순위가 상기 제 1 우선순위에 대응하면, 상기 제 1 데이터 프레임을 제거할지의 여부를 결정하는 단계를 더 포함하는 것을 특징으로 하는 네트워크 장치에서 스테이션들 간의 데이터 프레임들의 통신을 제어하는 방법.
  15. 제 10 항에 있어서,
    상기 수신된 데이터 프레임들을 적어도 하나의 버퍼에 저장하는 단계를 더 포함하고,
    상기 제 1 데이터 프레임을 제거하는 단계는 상기 적어도 하나의 버퍼로부터 상기 제 1 데이터 프레임을 지우는 단계를 포함하는 것을 특징으로 하는 네트워크 장치에서 스테이션들 간의 데이터 프레임들의 통신을 제어하는 방법.
  16. 네트워크 내에서의 데이터 프레임들의 통신을 제어하도록 구성되는 네트워크 장치로서,
    데이터 프레임들을 수신하도록 구성되는 복수의 수신 포트들과; 그리고
    처리 로직을 포함하며,
    상기 처리 로직은:
    상기 데이터 프레임들의 처리와 관련된 폭주 상태를 검출하고, 데이터 프레임이 2개의 장치들 간의 접속 설정과 관련되는 지의 여부를 결정하고;
    상기 데이터 프레임이 2개의 장치들 간의 접속 설정과 관련되는지 여부에 적어도 부분적으로 기초하여 상기 데이터 프레임을 제거할지의 여부를 결정하고; 그리고
    상기 각각의 데이터 프레임들과 관련된 우선순위에 기초하여, 2개의 장치들 간의 접속 설정과 관련된 데이터 프레임들을 선택적으로 제거하도록 구성되는 것을 특징으로 하는 네트워크 내에서의 데이터 프레임들의 통신을 제어하도록 구성되는 네트워크 장치.
  17. 제 16 항에 있어서,
    상기 데이터 프레임이 2개의 장치들 간의 접속 설정과 관련되는 지의 여부를 결정할 때, 상기 처리 로직은 상기 데이터 프레임의 적어도 일부를 판독하여, 상기 데이터 프레임이 순서 번호 정보를 포함하는 전송 제어 프로토콜 메세지를 포함하고 있는 지의 여부를 결정하도록 구성되는 것을 특징으로 하는 네트워크 내에서의 데이터 프레임들의 통신을 제어하도록 구성되는 네트워크 장치.
  18. 제 1 항에 있어서,
    상기 수신된 데이터 프레임들중 적어도 얼마의 데이터 프레임은 우선순위 정보를 포함하고,
    상기 데이터 프레임 처리 로직은 또한 상기 데이터 프레임들에 포함된 상기 우선순위 정보를 높은 우선순위와 낮은 우선순위중 적어도 하나에 매핑하도록 구성되는 것을 특징으로 하는 스테이션들 간의 데이터 프레임들의 통신을 제어하도록 구성되는 네트워크 장치.
  19. 제 5 항에 있어서,
    상기 버퍼 제어 로직은 또한:
    상기 버퍼 내의 어드레스 포인터들의 수가 적어도 하나의 다른 임계치에 이르는 때를 검출하고;
    상기 적어도 하나의 다른 임계치중 특정의 임계치를 검출하는 것에 응답하여, 상기 데이터 프레임 처리 로직에 제 2 신호를 전송하도록 구성되고,
    상기 제 2 신호는 상기 특정의 임계치에 대응하는 데이터 프레임들에 대한 승인 제어가 인에이블되었음을 나타내는 것을 특징으로 하는 스테이션들 간의 데이터 프레임들의 통신을 제어하도록 구성되는 네트워크 장치.
  20. 제 19 항에 있어서,
    상기 적어도 하나의 다른 임계치는 2개의 임계치를 포함하는 것을 특징으로 하는 스테이션들 간의 데이터 프레임들의 통신을 제어하도록 구성되는 네트워크 장치.
KR1020037012405A 2001-03-23 2001-11-02 스테이션들 간의 데이터 프레임들의 통신을 제어하는 네트워크 장치 및 제어 방법 KR100880684B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US09/814,815 2001-03-23
US09/814,815 US6728213B1 (en) 2001-03-23 2001-03-23 Selective admission control in a network device
PCT/US2001/051161 WO2002078274A1 (en) 2001-03-23 2001-11-02 Selective data frame dropping in a network device

Publications (2)

Publication Number Publication Date
KR20030085052A KR20030085052A (ko) 2003-11-01
KR100880684B1 true KR100880684B1 (ko) 2009-01-30

Family

ID=25216068

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020037012405A KR100880684B1 (ko) 2001-03-23 2001-11-02 스테이션들 간의 데이터 프레임들의 통신을 제어하는 네트워크 장치 및 제어 방법

Country Status (7)

Country Link
US (1) US6728213B1 (ko)
EP (1) EP1384356B1 (ko)
JP (1) JP4150258B2 (ko)
KR (1) KR100880684B1 (ko)
CN (1) CN1505888A (ko)
DE (1) DE60118799T2 (ko)
WO (1) WO2002078274A1 (ko)

Families Citing this family (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8619793B2 (en) * 2000-08-21 2013-12-31 Rockstar Consortium Us Lp Dynamic assignment of traffic classes to a priority queue in a packet forwarding device
US7295562B1 (en) * 2001-03-26 2007-11-13 Advanced Micro Devices, Inc. Systems and methods for expediting the identification of priority information for received packets
US6839351B1 (en) * 2001-03-28 2005-01-04 Advanced Micro Devices, Inc. Parallel packet lookup in a packet-switched network
US6947437B1 (en) * 2001-05-02 2005-09-20 Advanced Micro Devices, Inc. Programmable output queues in a network device
US7246322B2 (en) 2002-07-09 2007-07-17 Kaleidescope, Inc. Grid-like guided user interface for video selection and display
US20070245247A1 (en) * 2002-05-14 2007-10-18 Kaleidescape, Inc. Grid-like guided user interface for video selection and display
US7231607B2 (en) * 2002-07-09 2007-06-12 Kaleidescope, Inc. Mosaic-like user interface for video selection and display
US7031721B2 (en) * 2002-05-16 2006-04-18 Interdigital Technology Corporation Method and system for avoiding power outages at the base station in cellular system using variable rate transmission
US7003131B2 (en) * 2002-07-09 2006-02-21 Kaleidescape, Inc. Watermarking and fingerprinting digital content using alternative blocks to embed information
US8351341B1 (en) * 2002-08-02 2013-01-08 Juniper Networks, Inc. Filtering to protect class of service
US7373419B2 (en) * 2002-12-06 2008-05-13 Intel Corporation Method, system, and article of manufacture for increasing network throughput
US8572104B2 (en) 2003-04-18 2013-10-29 Kaleidescape, Inc. Sales of collections excluding those already purchased
US8588069B2 (en) * 2003-08-29 2013-11-19 Ineoquest Technologies, Inc. System and method for analyzing the performance of multiple transportation streams of streaming media in packet-based networks
US8838772B2 (en) 2003-08-29 2014-09-16 Ineoquest Technologies, Inc. System and method for analyzing the performance of multiple transportation streams of streaming media in packet-based networks
US20150341812A1 (en) 2003-08-29 2015-11-26 Ineoquest Technologies, Inc. Video quality monitoring
CN1305279C (zh) * 2004-07-09 2007-03-14 清华大学 核心网无状态的端到端多约束准入控制方法
US8644150B2 (en) * 2004-12-30 2014-02-04 Telecom Italia S.P.A. Admission control in a telecommunication network
JP2007235211A (ja) * 2006-02-27 2007-09-13 Fujitsu Ltd データ送受信装置、データ送受信方法およびデータ送受信プログラム
US20080005227A1 (en) * 2006-07-03 2008-01-03 Srinivasan Subbian Method and system for content processing
US20080005341A1 (en) * 2006-07-03 2008-01-03 Srinivasan Subbian Method and system for dynamic list prioritization
US20080005226A1 (en) * 2006-07-03 2008-01-03 Srinivasan Subbian A method and system for one-to-one communication through proxy
US20080005228A1 (en) * 2006-07-03 2008-01-03 Srinivasan Subbian Method and system for communicating to networks using mobile phones
US8068415B2 (en) 2007-04-18 2011-11-29 Owl Computing Technologies, Inc. Secure one-way data transfer using communication interface circuitry
US7941526B1 (en) 2007-04-19 2011-05-10 Owl Computing Technologies, Inc. Transmission of syslog messages over a one-way data link
US8139581B1 (en) 2007-04-19 2012-03-20 Owl Computing Technologies, Inc. Concurrent data transfer involving two or more transport layer protocols over a single one-way data link
US8352450B1 (en) 2007-04-19 2013-01-08 Owl Computing Technologies, Inc. Database update through a one-way data link
US7992209B1 (en) 2007-07-19 2011-08-02 Owl Computing Technologies, Inc. Bilateral communication using multiple one-way data links
US8441926B2 (en) * 2007-11-30 2013-05-14 The Hong Kong University Of Science And Technology Method and system for a novel flow admission control framework
US8276034B2 (en) * 2007-12-27 2012-09-25 Ricoh Company, Limited Information processing apparatus, information processing method, and computer program product
CN101741752B (zh) 2008-11-17 2015-08-19 华为技术有限公司 视频流传输的方法、装置和***
US9305189B2 (en) 2009-04-14 2016-04-05 Owl Computing Technologies, Inc. Ruggedized, compact and integrated one-way controlled interface to enforce confidentiality of a secure enclave
CN101568027B (zh) * 2009-05-22 2012-09-05 华为技术有限公司 转发视频数据的方法、装置和***
TWI383640B (zh) 2009-10-22 2013-01-21 Wistron Corp 利用網路傳輸檔案之方法與檔案傳輸系統
GB2495018B (en) 2010-07-19 2017-02-22 Owl Computing Tech Inc Secure acknowledgment device for one-way data transfer system
US9575987B2 (en) 2014-06-23 2017-02-21 Owl Computing Technologies, Inc. System and method for providing assured database updates via a one-way data link
CN106454432B (zh) * 2016-10-18 2019-09-17 浙江大华技术股份有限公司 一种视频帧处理方法和装置
EP3513563A1 (en) 2016-10-18 2019-07-24 Zhejiang Dahua Technology Co., Ltd Methods and systems for video processing

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5408465A (en) 1993-06-21 1995-04-18 Hewlett-Packard Company Flexible scheme for admission control of multimedia streams on integrated networks
WO1995015636A1 (en) * 1993-11-30 1995-06-08 Nokia Telecommunications Oy Control of overload situations in frame relay network
EP0932282A2 (en) * 1998-01-27 1999-07-28 Nortel Networks Corporation TCP admission control
WO2000075744A2 (en) * 1999-06-07 2000-12-14 Nortel Networks Limited Methods and systems for controlling network gatekeeper message processing

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6028842A (en) * 1996-12-23 2000-02-22 Nortel Networks Corporation Dynamic traffic conditioning
US6246680B1 (en) * 1997-06-30 2001-06-12 Sun Microsystems, Inc. Highly integrated multi-layer switch element architecture

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5408465A (en) 1993-06-21 1995-04-18 Hewlett-Packard Company Flexible scheme for admission control of multimedia streams on integrated networks
WO1995015636A1 (en) * 1993-11-30 1995-06-08 Nokia Telecommunications Oy Control of overload situations in frame relay network
EP0932282A2 (en) * 1998-01-27 1999-07-28 Nortel Networks Corporation TCP admission control
WO2000075744A2 (en) * 1999-06-07 2000-12-14 Nortel Networks Limited Methods and systems for controlling network gatekeeper message processing

Also Published As

Publication number Publication date
WO2002078274A1 (en) 2002-10-03
US6728213B1 (en) 2004-04-27
EP1384356B1 (en) 2006-04-12
DE60118799T2 (de) 2007-04-12
JP2004530343A (ja) 2004-09-30
DE60118799D1 (de) 2006-05-24
KR20030085052A (ko) 2003-11-01
EP1384356A1 (en) 2004-01-28
JP4150258B2 (ja) 2008-09-17
CN1505888A (zh) 2004-06-16

Similar Documents

Publication Publication Date Title
KR100880684B1 (ko) 스테이션들 간의 데이터 프레임들의 통신을 제어하는 네트워크 장치 및 제어 방법
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
US6980520B1 (en) Method and apparatus for performing source-based flow control across multiple network devices
US6744776B1 (en) Servicing priority traffic in multiport network switch
US7016352B1 (en) Address modification within a switching device in a packet-switched network
US7110359B1 (en) System and method for dynamically updating weights of weighted round robin in output queues
US6504846B1 (en) Method and apparatus for reclaiming buffers using a single buffer bit
US6990101B1 (en) System and method for performing layer 3 switching in a network device
US6901050B1 (en) Systems and methods for flow-based traffic shaping
US6804234B1 (en) External CPU assist when peforming a network address lookup
US7031325B1 (en) Method and apparatus for enabling a network device to operate in accordance with multiple protocols
US6993033B1 (en) Method and apparatus for synchronizing aging operations associated with an address table
US7295562B1 (en) Systems and methods for expediting the identification of priority information for received packets
US6957270B1 (en) Method and apparatus for performing flow control across multiple network devices
US6842423B1 (en) Systems and methods for priority-based flow control masking
KR100836947B1 (ko) 우선 순위 또는 차별화된 서비스 정보에 입각한 태그 발생
US7099285B1 (en) Remote configuration of a subnet configuration table in a network device
US6944174B1 (en) Jitter reduction of voice packets in a packet-based network
US6985441B1 (en) Intelligent embedded processor enabled mechanism to implement RSVP function
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
US6954427B1 (en) Method and apparatus for performing priority-based admission control
US6839351B1 (en) Parallel packet lookup in a packet-switched network

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
LAPS Lapse due to unpaid annual fee