KR20030071816A - 컴퓨터 네트워크에서의 정체 관리 - Google Patents

컴퓨터 네트워크에서의 정체 관리 Download PDF

Info

Publication number
KR20030071816A
KR20030071816A KR10-2003-7009375A KR20037009375A KR20030071816A KR 20030071816 A KR20030071816 A KR 20030071816A KR 20037009375 A KR20037009375 A KR 20037009375A KR 20030071816 A KR20030071816 A KR 20030071816A
Authority
KR
South Korea
Prior art keywords
pipe
iic
value
datagram
switch
Prior art date
Application number
KR10-2003-7009375A
Other languages
English (en)
Other versions
KR100586287B1 (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 KR20030071816A publication Critical patent/KR20030071816A/ko
Application granted granted Critical
Publication of KR100586287B1 publication Critical patent/KR100586287B1/ko

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/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/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/12Avoiding congestion; Recovering from congestion
    • H04L47/129Avoiding congestion; Recovering from congestion at the destination endpoint, e.g. reservation of terminal resources or buffer space

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Injection Moulding Of Plastics Or The Like (AREA)

Abstract

통신 네트워크의 노드에 있어서 전송(轉送) 엔진의 업스트림에서 흐름 제어 메커니즘에 의한 패킷 폐기 또는 전송 결정이 이루어진다. 전송 엔진은 스위치 내의 정체를 탐지하여 정체 여부를 나타내는 이진 신호 B를 되돌려주는 메커니즘을 구비한 스위치를 포함한다. 흐름 제어 메커니즘은 B 및 그 밖의 네트워크 관련 정보를 사용하여, 패킷의 폐기 또는 전송 여부를 사전에 판단하기 위해 수신된 패킷을 검사할 때에 참조하는 전송 확률 테이블을 생성한다.

Description

컴퓨터 네트워크에서의 정체 관리 {CONGESTION MANAGEMENT IN COMPUTER NETWORKS}
스위치라 함은 매체 액세스 제어(MAC; Media Access Control) 주소, 즉 본 기술 분야의 당업자에게 잘 알려진, OSI 모델에서의 제2 계층(Layer 2){"OSI 및 네트워크 관리의 기초(The Basics Book of OSI and Network Management)", 모토롤라 코덱스 著, 애디슨-웨슬리 출판사, 1993 참조}에 기초하여 데이터그램(datagram)을 보내는 네트워크 노드(node)이다. 스위치는 또한 다중 포트 브리지(multiport bridge) - 브리지는 두 LAN 세그먼트를 함께 접속시키고, 제2 계층의 데이터에 기초하여 패킷을 전송(轉送)하는 장치임 - 로 간주될 수도 있다. 라우터(router)는 프리픽스(prefix)의 라우팅 테이블(routing table)에서 데이터그램의 IP(Internet Protocol) 수신지 주소(모두 OSI 모델의 제3 계층에 있음)에 맞는 가장 긴 프리픽스를 찾아 이에 기초하여 데이터그램을 보내는 네트워크 노드이다. 본 발명에서 네트워크 노드라 함은 스위치, 라우터, 또는 더욱 일반적으로 스위치 및 라우터 기능을 모두 할 수 있는 기기(종종 스위치/라우터라 일컬어짐)인 것으로 한다. 편의상본 명세서에서 "스위치"라는 용어는 네트워크 노드의 세 가지 논리적 유형 모두를, 즉 스위치, 라우터 또는 스위치/라우터, 혹은 더욱 일반적으로, 예측할 수 없게 도달하여 즉시 저장된 후 하나 또는 그 이상의 헤더에 있는 수신지 및 가치 정보(value information)에 기초하여 전송(轉送) 또는 폐기되어야 하는 데이터그램을 처리하는 임의의 기기를 포함하는 것으로 한다.
어떤 스위치에서도 트래픽 방향의 결정을 기다리는 데이터그램을 저장하는 데 사용하는 저장 용량은 한정되어 있다. 정체 기간 동안 일부 고용량, 저가치의 트래픽은, 저장 용량이 포화됨에 따라 유입되는 데이터그램이 그 가치에 관계없이 손실되는 것을 막기 위해 의도적으로 폐기되기도 한다. 따라서 지능형 흐름 제어의 목적은, 서비스 레벨 약정(service-level contract)에 관한 상이한 종류의 흐름의 상태에 주목하여 필요한 경우 가치 정책(value policy)에 따라 잉여의 저가치 패킷을 폐기하고자 함이며, 또한 협약 등급에 부합하는 가치있는 데이터그램이 정확하게 처리될 수 있도록 보장하기 위함이다.
통신 네트워크에서의 정체 관리를 위해 흐름 제어를 사용하는 것은 종래 기술에 있어 잘 알려져 있다. 통상의 컴퓨터 시스템에 있어서 흐름 제어라 함은 테일드롭(taildrop)이라 알려진 정책, 즉 대기열(queue)이 일정 레벨 이상의 점유율에 도달 할 경우에 단지 데이터그램을 폐기하는 것일 수 있다. 더 진보된 시스템에서는 대기열 점유율에 응답하여 주기적으로 갱신되는 폐기 확률에 따라 무작위로 데이터그램을 폐기할 수도 있다. 즉 전송되는 데이터그램의 비율(폐기되는 비율을 1에서 뺀 값임)은, 대기열 점유율이 소정의 저역치(low threshold)보다 작을 경우에는 1이고 소정의 고역치보다 클 경우에는 0이 될 것이다. 이들 고/저역치 사이에서, 대기열 점유율에 의해 선형으로 감소하는 전송 확률이 결정된다. 이러한 흐름 제어는 RED(Random Early Detection)으로 알려져 있다. 상이한 서비스 유형을 갖지만 동일한 대기열을 공유하는 데이터그램에 대해서 상이한 고/저역치를 사용하는 경우의 흐름 제어는 WRED(Weighted RED)로 알려져 있다. 이러한 직관적인 방법에서는 제공된 부하(offered load)가 변함에 따라 고/저역치를 조정할 필요가 있는 바, 서비스 품질(QoS; Quality of Service) 구현시 이를 사용하는데 있어 큰 단점이 된다.
종래 기술에 있어서 또 다른 문제는 패킷 폐기 결정이 스위치에서, 그리고/또는 일정한 종류의 처리가 패킷에 대해 이미 수행된 후에 이루어진다는 것이다. 패킷의 부분적 처리 및 이후의 폐기로 인해 대역폭의 불필요한 손실이 야기된다.
앞서 언급한 것에 비추어 볼 때, 고속 네트워크에 있어서 폐기/전송 결정을 하기 위한 더욱 효율적인 장치 및 방법이 필요하다는 것을 알 수 있다.
본 발명은 일반적으로 컴퓨터 네트워크에 있어서의 정체 관리에 관한 것이고, 특히 네트워크 하드웨어에 의한 흐름 제어(flow control)에 관한 것이다.
도 1은 근거리 통신망(LAN) A, B, C를 접속시키는 컴퓨터 네트워크를 나타낸 도면.
도 2는 대표적인 데이터그램의 헤더 및 페이로드(payload)를 나타낸 개략도.
도 3은 IIC를 통해 스위치로/로부터의 데이터 흐름을 나타낸 도면.
도 4는 물리 인터페이스 회로(PHY)에서 일어나는 광섬유-스위치간 데이터 흐름의 광-전자 변환을 나타낸 도면.
도 5는 IIC로 데이터그램이 들어가 IIC의 BAT 흐름 제어에 의해 프레임의 전송 또는 폐기 여부가 결정되는 것을 도시한 도면.
도 6은 BAT 흐름 제어의 세 가지 상이한 시간 척도 레벨을 나타내는 도면.
도 7은 IIC를 통과하여 스위치로 들어가는 두 개의 파이프를 예로 든 경우, 잉여 대역폭 신호(B)를 정의하는 데 있어 대기열값이 어떻게 포함되는지를 나타내는 도면.
도 8은 네트워크 관리 초기화 작업의 세부 사항을 나타낸 도면.
도 9는 제어 지점(CP; Control Point)에 의한 잉여 대역폭 신호(B1, B2) 측정에 관한 세부 사항 - IIC1 및 IIC2의 파이프로 들어오는 트래픽에 대한 대역폭 할당을 위해, CP가 주기적으로 B1 및 B2를 각각 IIC1 및 IIC2에 통보함 - 의 예를 나타낸 도면.
도 10은 IIC의 파이프에 있어서 프레임 당 전송/폐기 결정, 유속 측정 및 저장에 관한 세부사항을 나타낸 도면.
도 11은 Ti 계산에 따른 각 IIC의 전송 확률 테이블 갱신에 관한 세부사항을 나타낸 도면.
도 12는 전송 확률 테이블 계산 및 구조를 나타낸 도면.
도 13은 BAT+IIC에 있어서의 논리 작업(세 가지 갱신 속도가 상기 작업을 분할함)의 개요를 나타낸 도면.
도 14는 스위치에 있어서의 전체적인 자원 배치도.
본 발명은 첨부된 청구항에서 개시된 바와 같이 지능적이자 고속의 전송/폐기 결정을 하기 위한 시스템 및 방법을 제공한다.
본 발명의 장점은, 전송/폐기 결정이 통상의 스위치 기능의 업스트림에서 이루어진다는 것이다. 따라서 본 발명은, 스위치를 통한 처리 후에 남지 않게 될 데이터그램을 사전에 폐기함으로써 스위치 정체를 방지 또는 감소시킨다. 본 발명은 이에 의하여, 한정된 자원의 정체로 인해 모든 데이터그램의 처리가 불가능해지는경우에, 더욱 가치있는 종류의 트래픽을 처리하기 위한 컴퓨팅 자원 및 저장 자원을 만들어낸다.
본 발명의 바람직한 실시예에 있어 구별되는 특징 중 하나는 잉여 대역폭 신호(excess bandwidth signal)라 불리는 신호(B=0 또는 1)로서, 이는 스위치의 한 가지 자원의 상태에 의해 결정되는 것이 아니라, 여러 신호에 대한 AND, OR 및 NOT 연산에 의한 정규적인 표현으로써 정의된다. 특히 흐름 제어의 업스트림 영역에는 아래에서 정의된 바와 같이 입력 인터페이스 회로(IIC)가 있다. 각 IIC는 소정 세트의 파이프에 있어서의 프레임에 관한 전송/폐기 결정을 한다. 파이프는 네트워크를 통과하는 에지 대 에지(E2E; Edge-to-Edge) 경로 및 이 경로를 사용하는 데이터그램의 논리적인 군집(aggregation)으로 구성된다. 각각의 IIC에 대해서는 그 IIC를 통과하는 파이프 한 세트가 연관된다. 본 발명에 있어서 B의 값은, IIC의 입력을 받는 스위치에서 그 IIC의 파이프가 사용하는 모든 자원의 상태에 의해 결정된다. 그러한 자원 중 일부는 일반적으로 같은 스위치상의 다른 IIC에 속하는 다른 파이프에 의해서도 공유된다. 아무튼 B는 복수의 자원 상태의 정규 표현식이며, 이는 IIC의 흐름 제어에 정기적으로 보고되어 사용된다.
본 발명의 구현에 있어서의 핵심 기조는 직관적인 방법 대신 제어 이론을 사용하는 것이며, 이는 2000년 3월 31일자 미국 특허 출원 제09/540,428호 "컴퓨터 네트워크의 서브 파이프에 있어서의 흐름 제어 방법 및 시스템(Method and System for Controlling Flows in Sub-Pipes of Computer Networks)"에 개시되어 있다. 이 출원의 명세서에서, 제어 이론은 대역폭 할당 기술(BAT; Bandwidth AllocationTechnology)이라 불리는 흐름 제어의 일종에 의해 구현되었으며, 이는 이하의 다섯 가지 속성 A, B, C, D, E에 의해 특징지을 수 있다. 그 속성은 다음과 같다.
속성 A
BAT는 하나의 IIC에 모여있는 파이프들과 관련해서 스위치의 상태를 간략히 나타내 주는 잉여 대역폭 신호(B=0 또는 1)를 사용한다. 흐름 제어 전송 확률이 계산될 때마다 B가 계산된다. B가 계속 1인 경우, 모든 파이프는 서비스 레벨 협약(SLA; Service Level Agreement)에 포함된 성능 파라미터에 악영향을 끼치는, 스위치 자원에 있어서의 정체를 야기시키지 않고 100% 전송될 것이다. B가 계속 0인 경우에는, 최선형(BE; Best Effort) 트래픽을 적어도 일부 갖는 파이프 전체에 대한 전송 비율은, 각 파이프가 적어도 자신의 보증된 대역폭을 전달하지만 그 이상은 전달할 수 없게 될 때까지 감소할 것이다. B는 역치에 대한 대기열 값으로부터 신호들의 조합에 관해 정의될 수 있다(즉 대기열이 한계치 이하인 경우 B=1, 그렇지 않으면 B=0). 이와 달리 B는 대기열 레벨의 변화율에 의해 정의될 수도 있다(즉 대기열이 감소하거나 또는 매우 낮은 경우 B=1, 그렇지 않으면 B=0). 또한 B는 유속(flow rate)의 역치에 대해 유속을 비교함으로써 정의될 수도 있다. B의 정확한 구성은 본 발명에 있어서 문제되지 않으며, 오직 앞서 언급한 것과 같이 B의 값이 모두 1 또는 모두 0인 경우가 문제된다.
속성 B
BAT는 잉여 대역폭 신호값 B의 지수 가중 평균(exponentially weighted average) E를 계산한다. 바람직한 실시예에 있어서, 시간 t+Dt에서 E의 값은 다음과 같이 계산된다.
E(t+Dt) = (1-W) * E(t) + W*B(t)
E(t)는 시간 t에서의 E의 값이고, B(t)는 시간 t에서의 B의 값이다. 본 기술 분야의 당업자에게 잘 알려진 바와 같이, 이 방정식에서의 가중치는 W이다. 바람직한 실시예에 있어 W의 값은 1/32이다. 그밖에 1/16 이나 1/64와 같은 값들도 마찬가지로 적합하게 쓰일 수 있다. 여기서 중요한 특징은 E가 B 신호를 다소간 적당하게 평활화(smoothing)한 것이라는 점이다.
속성 C
BAT가 각 파이프를 조사하여 파이프에서의 대역폭이 최소 보증 속도(minimum guaranteed rate)(본 명세서에서 min이라 할 것임) 미만일 경우에는, 많아야 몇 회의 반복(iteration)을 거치고 나면 BAT에 의해 파이프가 자동적으로 100% 전송되게 된다.
속성 D
BAT가 각 파이프를 조사하여 파이프에서의 대역폭이 최대 상한(본 명세서에서 max라 할 것임)보다 클 경우에는, 많아야 몇 번의 반복을 거치고 나면, BAT에 의해 전송되는 양이 max 이하가 될 때까지 전송 비율이 줄어들게 된다.
속성 E
BAT가 각 파이프를 조사하여 파이프에서의 대역폭이 max 보다 크거나 또는 min 이하인 경우가 아니면, B를 다음과 같이 사용한다. B=1인 경우 시간 t+Dt에서의 파이프 i에 대한 전송 비율 Ti(t+Dt)는 다음과 같다.
T(t+Dt) = T(t) + Ci * E(t) * Ti(t)
여기서 Ci는 이하에서 설명할 방법에 의해 초기화 단계에서 결정되는 상수이다. 또한 B=0인 경우 시간 t+Dt에서의 파이프 i에 대한 전송 비율 Ti(t+Dt)는 다음과 같다.
T(t+Dt) = T(t) - Di * fi(t)
여기서 Di는 이하에 설명할 방법에 의해 초기화 단계에서 결정되는 상수이고, fi(t)는 지난번의 흐름 제어 기간 동안 파이프 i에서 시간 t에 전송되는 트래픽 유속을 말한다.
속성 B 및 E, 그리고 이후에서 * 표시는 곱셈을 의미한다.
바람직한 실시예에 있어서, 본 발명은 스위치의 MAC(이더넷) 또는 프레이머(Framer)(PoS; Packet over SONET) 데이터 흐름 성분(data flow component)에서 구현되고 실시될, 제어 이론의 개념에 기초한 흐름 제어를 제공한다. 대체 실시예에 있어서, 본 발명은 또한 스위치의 물리 계층 인터페이스(PHY)에서 구현되고 실시될, 제어 이론의 개념에 기초한 흐름 제어를 포함한다. 어느 경우에도, 흐름 제어 매커니즘은 데이터가 스위치의 주 패킷 분류 및 전송(轉送) 기능으로 진입하기에 앞서 IIC에 통합된다.
또한 본 발명의 실시예에서는 스위치로부터 IIC로의 잉여 대역폭 신호가 사용되는 바, 이는 IIC와 연관된 파이프에 의해 사용되는 스위치 자원에 대한 정체를 정확히 나타낸다. IIC의 파이프에 의해 사용되지 않는 스위치 자원에 있어서의 정체는 IIC에 보고되지 않는다.
잉여 대역폭 신호의 또 다른 특징은, 상이한 출력 포트와 각각 관련된 복수의 잉여 대역폭 지표(indication)를 단일의 물리적 신호 - 시분할 다중화(TDM; Time Division Multiplex) 신호일 수 있음 - 로 조합하는 것이며, 이에 의해 흐름 제어 작용은 정체를 겪고 있는 이들 출력 포트에 집중될 수 있다.
바람직한 실시예에 있어서, 본 발명은 스위치로 들어가는 네트워크 링크로부터의 입력에 초점을 맞춘다. 데이터그램이 IIC로 들어가 공지된 종래의 기술에 의해 디지털 데이터로 변환된 후에는, 어떠한 서비스 종류(여기서는 파이프라 일컬어짐)에 속하는지에 대해 그 데이터그램의 바로 첫 번째 부분을 검사할 기회가 생긴다. 파이프 소속(membership) - 양(positive)의 보증 대역폭 값을 갖는 프리미엄 AF(Assured Forwarding) 파이프 또는 그러한 보증이 없는 최선형(BE) 파이프에 속할 수 있음 - 을 결정하고 나면, 대응되는 전송 확률값이 테이블로부터 선택된다. IIC를 공유하는 파이프에서의 유속 및 스위치로부터 IIC로 가는 이진(binary) 정체 신호에 응답하여 테이블 자체가 주기적으로 갱신된다. 테이블은 또한, 전체 파이프 경로 및 대역폭 약정값에 기초하여 초기화 단계에서 선언된, 파이프마다의 소정의 상수를 감안하여 구성된다. 그 후 전송 확률은 고속 난수 발생기의 현재 상태와 비교되며, 그 비교 결과는 도달하는 데이터그램 전체를 통상의 처리 및 라우팅을 위해 스위치로 전송할지, 아니면 이를 스위치로 보내지 않고 폐기할지의 여부를 IIC가 결정하기 위해 사용된다.
본 명세서에서의 설명을 위해, IIC라는 포괄적인 용어는 임의의 여러 하위 계층 기능을 포괄하고자 쓰였으며, 여기에는 PHY, 이더넷 시스템용 MAC, 또는 프레이머(PoS 시스템에서의) 등이 포함되며, 이에 한정되지는 않는다. 이러한 장치 모두는 데이터그램을 스위치로 보내는 도관(conduit)이므로, 본 기술 분야의 당업자는 논리적으로 이에 대응되는 것들을 쉽게 파악할 수 있을 것이고, 따라서 이러한 모든 장치는 스위치 기능에 대해 본 명세서에서 IIC라는 일반적인 용어로 설명한 것과 동일한 장점을 갖는 사전 흐름 제어(proactive flow control)의 장소일 수 있다.
본 개념 및 그 밖의 개념은 이하에 상세히 설명하기로 한다.
특히 데이터그램은 광 또는 아날로그 신호로서 스위치에 들어가는 바, 이는 물리 계층 인터페이스(PHY)의 입력부에서 스위치 또는 라우터가 사용할 수 있는 형태의 디지털 데이터로 변환된다. PHY는 또한 그 포트의 출력부에 대한 상보적인 기능을 포함한다. 디지털 데이터는 그 후 원래 전송된 데이터의 형식에 따라 프레이머 또는 MAC의 입력부에서 개개의 데이터그램 또는 패킷으로 분할된다. 프레이머 또는 MAC는 또한 반대 방향으로 흐르는 데이터를 위한 상보적인 기능을 포함한다. 본 발명의 초점은 PHY, 프레이머 또는 MAC(이하 이들을 합쳐 IIC라 하기로 함)의 입력부 내에서 BAT와 같은 흐름 제어 매커니즘을 가능하게 하는 것이다. BAT는 제어 이론에 기초한 흐름 제어의 일종으로, 비록 그 밖의 특정한 흐름 제어 알고리즘도 본 발명의 범주에서 벗어남이 없이 본 기술 분야의 당업자에 의해 IIC 내에 적용될 수 있지만, 여기에서는 흐름 제어에 관한 바람직한 방식을 대표하는 것으로 쓰였다. BAT의 완전한 알고리즘의 설명은 이하에 하기로 한다.
네트워크에서 스위치(도 1 참조)는 공지의 구조(도 2 참조)를 갖는 데이터그램을 통과시킨다. 스위치는 PHY를 통해 광섬유 또는 구리선에 의해 접속된다(도 3 및 도 4 참조). 본 발명의 흐름 제어 메커니즘에 의해, 각 데이터그램을 특정한 군집 흐름(aggregate flow)(또는 파이프)과 서로 연관시키는 헤더 정보가 추출된다. 이 정보는 서비스 유형(ToS; Type of Service) 바이트(도 2 참조)에 있는 DSCP(Differentiated Services Code Point) - IETF RFC 2474, "IPv4 및 IPv6 헤더의 DS 필드의 정의(K. 니콜스, S. 블레이크, F. 베이커, D. 블랙, 1998년 12월)"(형식:TXT=50576 바이트)(RFC1455, RFC1349 폐기)(상태:표준안)에서 설명되었고, 본 명세서에 참조로서 포함됨 - 일 수 있다. 이 정보는 테이블(도 12 참조)로부터 전송 확률값을 선택하는데 사용되고, 그 값은 전송/폐기 결정을 위해 난수와 비교된다. 또한 데이터 유속에 관해서는, 각 파이프에서 전송되는 바이트를 계산하여 BAT의 전송 확률 계산에 대한 입력으로 한다.
흐름 제어를 구현하는 이러한 설계는, 스위치가 소정의 방식으로 IIC에 정체 정보를 통보할 수 있는 경우 스위치 설계와 대체로 무관하다. 소정의 IIC에 있는 파이프가 사용하는(동시에 그 밖의 파이프들이 사용할 수도 있음), 스위치의 공유 자원에 관한 정체 상태를 나타내는 현재의 이진값과 같은, 스위치로부터 각각의 IIC로 가는 가장 단순한 신호만이 필요할 뿐이다(도 6 및 도 7 참조).
IIC에 있어서의 향상된 흐름 제어 기능에 관한 논리 작업에는 네 가지가 있으며, 이들은 현저히 상이한 세 가지 속도로 진행된다. 낮은 속도로는, 흐름 군집(본 명세서에서 파이프라 불림)의 위치 및 특성에 기초한 초기화 단계(도 8 참조)에서 제공되는 관리 정보가 업데이트된다. 중간 속도로는, 그 이후에 파이프 당 전송확률을 계산하기 위한 BAT 흐름 제어 알고리즘에서 정체 신호가 사용된다. 또한 중간 속도로는, 전송 확률이 스위치로부터의 정체 신호로부터 부분적으로 유도된다(도 9 참조). 또한 데이터 유속에 있어서, 계수기(counter)는 파이프 당 흐름을 기록해야 하고, 흐름 제어 장치는 데이터 패킷이 스위치 또는 라우터로 들어가기에 앞서 전송 확률에 따라 개연적으로 데이터 패킷을 전송 또는 폐기한다(표 1 및 도 10 내지 도 13 참조). 오직 마지막 기능, 즉 개연적인 전송 또는 폐기 결정만이 IIC 내에 존재해야 한다. 그 밖의 기능은 스위치 자체 내에 존재하는 흐름 정보 조직 기능으로 옮겨질 수도 있다.
도 1은 근거리 통신망(LAN) A, B, C를 포함하는 컴퓨터 네트워크를 개략적으로 나타낸 도면이다. 이들 LAN은 워크스테이션, 서버, 서장 장치 또는 네트워크에서 정보를 교환하는 그 밖의 컴퓨터를 포함할 수 있다. 상기 네트워크는 또한 하부 구조, 즉 스위치(10, 12, 14, 16)는 물론 스위치들 사이 또는 LAN과 스위치들 사이의 통신 링크(11, 13, 15, 17, 19, 21)도 포함한다. 따라서 컴퓨터 네트워크는 점(컴퓨터 및 스위치)과 선(통신 링크)을 갖는 그래프로 조직화할 수 있다. 일반적으로, 본 명세서에서 설명하는 실시예의 목적은 컴퓨터 네트워크 내에서 데이터가 효율적이고 올바르게 이동할 수 있도록 촉진하는 것이며, 여기에는 가용성 및 서비스 품질에 관한 컴퓨터 네트워크 서비스 소비자와의 약정이 고려된다.
a) 서비스 품질
스위치의 업스트림에서의 이동 흐름 제어에 있어서 총체적인 목표는, 서비스 품질(QoS)에 관한 일종의 이상적인 흐름 제어에 더욱 근접하는 것이다. 정체 기간동안에는, 정체로 인해 스위치로 더 이상 진행할 수 없는 유입 트래픽(즉 데이터그램)의 일부가 흐름 제어 메커니즘에 의해 지능적으로 폐기된다. 이에 의해 스위치에서의 분류 및 라우팅 메커니즘의 효율이 증가하게 되는 바, 이는 결국 폐기되어야 할 패킷에 대해서 처리 및 패킷 저장 용량이 낭비되지 않기 때문이다. 이러한 과정에 의해 단지 그러한 패킷들이 미리 폐기되는 것이다.
QoS는 논리적 파이프에 관하여 정의된다. 모든 트래픽은 어떤 QoS 군집 흐름의 종류 또는 파이프에 속해 있는 것으로 한다. 또한 모든 트래픽이 최선형(BE)은 아닌 것으로 한다. 정확한 대역폭 할당은 최대-최소 알고리즘(이하에 설명할 것임)에 의해 결정된다.
스위치를 통하는 각 파이프의 경로에는 이것의 소스(source) 포트, 스위치를 통한 경로 및 타겟(target) 포트의 좌표가 포함된다. 이러한 경로는 사실 "에지 대 에지(E2E)"로부터 네트워크를 통과하는 파이프 경로 중의 일부이며, 여기서 에지라는 용어는 개개의 워크스테이션이나 서버, 독립 시스템 또는 그 밖의 컴퓨터 네트워크 소스 개체를 의미할 수 있다. 이하 설명할 바와 같이, 대역폭 초과 기간에는 흐름을 선형으로 증가시키고 그 밖의 기간에는 흐름을 지수적으로 감소시키기 위한 소정의 계수는, 모든 자원 및 서비스 레벨 협약(SLA)을 총체적으로 파악하여 초기화 단계에서 결정된다. 흐름 제어의 기능은, 정체 조건 하에서 필요에 따라 패킷을 지능적으로 폐기하기 위해 이들 계수를 사용하는 것이다.
스위치의 업스트림에서의 흐름 제어 및 네트워크 관리에 관한 관련 관리 메커니즘을 사용함으로써, E2E에 있어서의 양적인 대역폭 성능을 보증하는 강한 QoS(Strong QoS)의 효율적인 구현을 가능하게 하는 효과를 얻을 수 있다.
b) 대역폭 할당 기술(BAT)
스위치(필터 규칙, 라우팅 테이블, 또는 그 밖의 룩업(lookup) 메커니즘으로 보완되어 있음)의 처리 능력은 이미 알려져 있다고 가정한다. 이에 따라 각 IIC에 대한 잉여 대역폭 신호(B=1 또는 0)의 개념을 생각할 수 있다. 이 신호가 1로 정의되는 경우는, 어떤 IIC를 통해 파이프가 스위치로 들어왔을 때, 폐기되는 트래픽이 없고 허용 지연(latency) 및 허용 지터(jitter) 범위를 넘지 않으면서 이들 파이프 모두가 스위치 내의 메커니즘을 통과하는 경우이다. 따라서 B는 대기열 점유율과 역치를 비교한 값의 AND나 OR 또는 NOT 조합으로 정의될 수 있으며, 이는 초당 처리 속도와 역치를 비교하거나 또는 대기열 역치 및 유속 역치의 비교값을 조합함으로써 이루어진다. B의 정확한 정의는 중요하지 않으며, B는 오직 두 가지 상태를 나타낼 필요가 있을 뿐이다. 즉 스위치로부터 IIC로 통보되는 B 값이 계속 1인 경우에는, 시스템이 허용 가능한 레벨에서 IIC의 모든 파이프를 감당할 수 있다는 것이다. B가 계속 0인 경우에는 어떤 파이프에서 폐기가 일부 있거나 또는 지연 및 지터 수치가 허용 범위를 넘는다는 것을 말한다. 지속적으로 B=1인 경우의 종국적인 결과는, IIC의 모든 파이프가 100% 전송되는 것이다. 지속적으로 B=0인 경우의 종국적인 결과는, IIC의 모든 파이프가 이들의 최소 보증 대역폭 속도(min)를 충족시킬 만큼 충분히 큰 비율로 전송되지만, 그 이상으로 전송되지는 못한다는 것이다.
이에 더하여 근본적으로 가정할 것은, 모든 파이프가 항상 최소 보증값(min) 이하의 일정한 제공 부하(offered load)를 갖는 경우 모든 잉여 대역폭 신호가 항상 1이 되도록 SLA를 정하는 것이다. 이러한 제공 부하에 대해서, 해당 IIC를 사용하는 모든 파이프에 대한 SLA를 스위치가 받아들여 모든 B 신호는 1이 된다.
한 가지 실시예에 있어, 여러 B 신호는 정체 정보의 효율적 통신을 위해 시분할 다중화(TDM) 시스템에 의해 다중화될 수 있다. 각 B 신호는 특정한 출력 블레이드(blade) 또는 포트에 정체가 있음(또는 없음)을 나타낼 수 있다. 특정 IIC내에서는, 공통의 출력 블레이드 또는 포트를 공유하는 파이프 그룹에 대하여 흐름 제어가 독립적으로 적용될 수 있다. 유리한 점은, 폐기 작용은 오직 정체된 출력 블레이드 또는 포트로 향하는 파이프에 대해서만 집중되고, 반면 최선형 트래픽이라 할지라도 비정체 블레이드 또는 포트로 향하는 경우에는 폐기됨이 없이 스위치로 전달된다는 점이다.
c) 입력 인터페이스 회로(IIC)
이 부분의 설명에 관해서는 도 2 내지 도 4를 참조한다.
본 기술 분야의 당업자에게 잘 알려져 있는 바와 같이, 컴퓨터 네트워크는 헤더 및 부하로 이루어진 구조를 갖는 데이터그램의 형태로 데이터를 전송한다. 페이로드(또는 "데이터") 자체는 상이한 조직 레벨, 예컨대 이더넷(링크 계층), IP(네트워크 계층) 및 TCP(전송 계층)을 갖는 헤더를 포함할 수 있다.
이더넷에 관한 중요한 사건으로, 표준 ISO/IEC 8802-3: (1996E), ANSI/IEEE Std. 802.3 (1996년판)에 의해 프레임 형식이 설정되었다. 그 형식은 다음과 같다.
<inter-frame><preamble><sfd><eh><data><fcs>
여기서 "inter-frame"은 데이터그램 사이의 간격이고, "preamble"(프리앰블)은 프레임이 도착할 곳을 지정하는 부호화된 비트열이며, sfd는 프레임 구분자(frame delimiter)의 시작이고, eh는 이더넷 헤더이며, 데이터는 IP 헤더 및 데이터를 갖는 IP 데이터그램으로 구성될 수 있는 이더넷 페이로드이고, fcs는 프레임 체크열이다. 상세히 말하자면, 프리앰블은 "10101010" 중 적어도 7 바이트이고, sfd 바이트는 "10101011"이다. IP는 제4 계층의 전송 프로토콜(TCP 또는 UDP)로부터 받은 "패킷"에 자기 고유의 헤더를 더하고, "데이터그램"을 제2 계층의 데이터 링크 프로토콜에 전달한다. 이는 또한 패킷을 단편(fragment)(각 단편은 이더넷 프레임으로 됨)으로 분할하여 네트워크의 최대 전송 유닛(MTU; maximum transmission unit)을 지원할 수도 있다.
도 2는 본 발명을 위해 필요한 데이터그램의 조직을 상세히 나타내고 있다. 데이터그램(30)은 한 세트의 비트이다. IP 버전 4(IPv4)에 있어서, IP 헤더는 0, 1, 2, ... 의 번호가 붙는 적어도 160 비트를 포함해야 한다. 8, 9, ..., 15의 번호가 매겨진 8개의 비트는 서비스 유형(ToS; Type of Service) 바이트를 구성하며, 특히 DiffServ 코드 포인트는 8, 9, ..., 13번의 6비트로 구성된다(다른 두 비트는 추후의 표준화를 위해 유보됨). 여기에서의 논의는 IPv4에 관한 것이지만, 본 기술 분야의 당업자에게 있어서 본 발명은 IPv6나 또는 QoS 정보가 구조화된 데이터그램 헤더에 있는 그 밖의 다른 시스템에 있어서도 또한 구현될 수 있음을 인지할 수 있을 것이다.
도 2에 개략적으로 나타낸 바와 같이, 프레임 헤더는 프레임 시작 세그먼트(32) 및 프레임 헤더(34)를 갖는다. 시간적으로 프레임 헤더 뒤에는 IP 헤더(36) 및 데이터 페이로드(38)를 갖는 IP 구조가 있다. IP 헤더(36) 내에는 ToS 바이트(40)가 존재한다. ToS 바이트는 서비스의 종류를 구별하는 데 쓰일 수 있는 6개의 비트를 포함한다. 분명히, 네트워크에 있어 QoS를 조직하는 한 가지 방법은 모든 데이터그램의 ToS 바이트 내에 6개의 서비스 유형 비트를 일관된 표지로서 사용하는 것이다. 예컨대 모든 최선형 데이터그램을 6개의 0 비트로서 표지할 수 있다. 그 밖의 많은 방법 및 구성이 제안된 바 있으며, 본 기술 분야의 당업자에게 알려져 있다.
본 발명의 한 가지 실시예에 있어서, 스위치는 이더넷 링크를 경유하여 네트워크에 접속되어 있다. 링크는 초당 비트의 수로 측정되며, 따라서 링크에 있어 시간 증분은 비트 또는 바이트에 상당하게 된다. b는 비트 단위의 크기를, B는 바이트 단위의 크기를 나타내는 것으로 한다. 이더넷 프레임 사이의 간격은 신호가 없을 경우 12 B에 1 B의 프레임 시작 구분자와 7 B의 프리앰블을 더한 것이다. 따라서 프레임 간 간격은 20 B가 된다. 프레임 자체는 64 B에서 1518 B까지 될 수 있다. DSCP는 IP 헤더의 ToS 바이트 내의 6 b 세트이다.
도 3에는 IIC의 논리적 배치가 나타나 있다. 데이터그램은 링크(40, 42)를 통하여 스위치를 출입한다. 링크는 IIC(44, 46)을 통해 논리적 및 물리적으로 스위치(48)의 데이터 처리 기능에 접속되어 있다. IIC는 광섬유의 광신호와 전선의 전기적 신호간에 변환을 시켜주는 물리 계층 인터페이스(PHY)일 수 있다. 그렇지 않으면, IIC는 이더넷 기술에서의 MAC 회로 또는 PoS 기술에서의 프레이머와 같은, 프레임 구조(헤더 및 헤더의 구성 요소)를 인지하는 전자 장치일 수 있다.
동작시에, PHY는 프레임 시작을 찾고 그 후 프레임의 프리앰블을 찾는다. 도 4에서, 광입력(50)이 PHY의 링크상에 도달한다. PHY(58)은 광신호(비트)를 전자적 신호(비트)로 변환시킨다. 전자적 신호는 전선(52)을 통해 PHY로부터 스위치로 전달된다. 데이터는 전자적인 형태로 전선(56)을 통해 스위치에서 나온다. 데이터는 PHY에서 광신호로 변환되어 링크에 있는 광섬유(54)를 통해 PHY에서 나온다. 따라서 링크는 전이중(양방향) 데이터그램 도관이다.
이더넷 프레임이 도착하면, PHY는 유효 데이터 수신(R_DV; Receive Data Valid) 신호를 MAC로 보낸다. 프레임 사이에서 PHY는 휴지(idle) 신호를 MAC에 보낸다. 본 발명이 PHY에 구현될 경우, 프레임이 흐르는 논리적 파이프를 식별하고자 DSCP에 접근하기 위한 저장 용량이 PHY에 필요하다. 한 가지 실시예에 있어서, PHY는 8 B의 프리앰블 외에도, DSCP를 읽어 낼 수 있는 IP 헤더(도 2 참조)를 포함하기 위해 14 B를 추가로 저장하여야 한다. 본 기술 분야의 당업자는 이더넷 유형의변형에 의해 DSCP가 그 밖의 위치에 배치되는 대체 실시예를 구현할 수 있다는 것을 이해할 수 있을 것이다.
MAC 또는 프레이머의 경우, 이더넷 프레임의 처음에 있는 상대적으로 적은 수의 비트를 저장하고, 적합한 비트 위치로부터 DSCP를 읽어 내는 데에 동일한 정책이 적용된다.
DSCP(6 비트)가 읽혀지면, 이는 N(<=64)개의 전송 확률 중 하나에 대해 매핑(mapping)된다(여기서 N은 소정의 PHY를 통해 스위치로 들어가 소정의 MAC로 진행하는 파이프 종류의 수를 말함). 동일한 DSCP를 갖는 상이한 소스로부터 도달하는 패킷은 군집으로 취급된다. 각 군집에 대해, 전달 확률은 흐름 제어에 의해 계산된다. 각 군집 또는 파이프의 프레임은 전송되거나 또는 폐기된다. 이에 대한 결정은 PHY 또는 MAC(또는 PoS에서의 프레이머) 중 하나에서 이루어진다. 일반적으로 이러한 결정은 IIC에서 이루어진다. [0, 1] 구간 내의 값을 갖는 전송 확률은 [0, 1] 구간 내의 값을 갖는 현재의 난수값과 비교된다. 전송 확률이 난수 이상이면 프레임이 전송된다. 그렇지 않으면 프레임이 폐기되는 바, 이는 IIC 로직(logic)이 이미 저장된 비트는 물론 동일한 프레임의 모든 후속 도달 비트를 삭제한다는 의미이다.
이러한 IIC 기능의 논리적 배치가 도 5에 나타나 있다. IIC(60)은 입력(62)으로부터 데이터그램을 수신한다. 데이터그램은 IIC 내로 진행하며, 헤더 내의 최소한의 비트가 저장되어 BAT 흐름 제어(74)에 의해 분석된다. 각 데이터그램은 폐기(78) 또는 전송(76)된다. 전송되는 데이터그램은 전선(66)을 통과하여스위치(70)로 들어가 분류, 측정 및 라우팅된다. 전선(68)을 통해 스위치를 떠나는 데이터신호는 또한 IIC로 들어간다. 데이터 스트림의 PHY에 의해 전자적 신호는 광 신호로 변환되어 링크(64)로 진행한다.
IIC에서의 흐름 제어에 관한 더욱 상세한 사항이 도 6에 나타나 있다. IIC(80)는 관리 정보(82)(파이프의 대역폭 보증값은 물론 네트워크상의 파이프 경로를 나타냄)를 이용한다. IIC는 또한 스위치(84)로부터의 정체 신호의 빈도값을 사용한다. 이러한 정보는 IIC내의 BAT(96) 구현에 사용된다. 데이터그램은 입력(86)을 통해 IIC로 들어가고, BAT 흐름 제어는 데이터그램을 폐기(100)할 것인지 또는 전송(98)할 것인지 결정한다. 전송되는 경우 데이터그램은 전선(90)을 통해 스위치로 유입된다. 데이터그램은 전선(92)을 통해 스위치로부터 나오며, IIC가 PHY인 경우 이는 광 형태로 변환된다. 어느 경우라도, IIC는 나가는 데이터그램에 대해 적합한 타이밍 구조를 부여함으로써 이들이 링크(88)를 통해 다음의 컴퓨터 네트워크로 보내어질 수 있도록 한다.
IIC가 PHY인 경우, 본 발명은 PHY 표준을 사용할 수 있다. 표준에는 스위치에 대한 유지 보수(maintenance) 인터페이스, 예컨대 100 ㎑의 유선 신호가 포함된다. 스위치 내부로부터 또는 스위치를 통해 작용하는 제어 지점은 이러한 유지 보수 인터페이스를 사용하여 각 PHY와 통신할 수 있다. 이러한 접속은 PHY의 파이프에 대한 초기화 정보 또는 스위치로부터 PHY로의 정체 정보 갱신을 위해 쓰일 수 있다. 이 대신에, 추가적인 인터페이스가 흐름 제어 기능에 접근하도록 특별히 설계될 수 있다. 추가적으로, PHY는 인코딩, 디코딩, 클로킹(clocking) 및 동기화 기능을 제공할 수도 있다.
앞서 언급한 바와 같이, 본 기술 분야의 당업자는 파이프에 대한 동일한 논리적 흐름 제어가 MAC(이더넷에 대해)나 프레이머(PoS에 대해), 또는 그 밖의 IIC에서 수행될 수 있다는 것을 쉽게 이해할 수 있을 것이다. 모든 경우에 있어서, 일정한 논리적 파이프들은 이들이 스위치에 들어가기 위해 공유하는 PHY, MAC, 또는 프레이머 자원에 의해 자연히 조직될 수 있다. 게다가, MPLS(Multiprotocol Label Switching) 헤더(표지 및 실험 비트를 구비함)와 같은 그 밖의 헤더가 DSCP를 대신하여 패킷을 파이프에 할당하는 데 사용될 수 있다. 이와 같이 본 발명은 다른 형태에 의해 구현되더라도, 미리 폐기하지 않아도 나중에 스위치에서 폐기될 데이터그램을 사전에 폐기한다는 이점을 제공하도록 할 수 있다. 이러한 사전 전송/폐기 결정의 목표는 동일할 것이다. 즉, 스위치 자체의 업스트림에 있는 접속 장치 내에서 흐름 제어를 가능하게 함으로써, 스위치 내의 귀중한 처리 및 저장 용량이 비효율적으로 소모된 후에 불가피하게 폐기가 발생하는 것을 막는 것이다.
d) 잉여 대역폭 신호(B) 및 최대-최소 알고리즘
잉여 대역폭 신호(B=0, 1)가 IIC에 의해 사용되기 위해서는 다음과 같이 정의되어야 한다. 이는 최대-최소 대역폭 할당 알고리즘의 맥락에서 이루어지며, 이 또한 이하에서 설명할 것이다.
도 7은 잉여 대역폭 신호(B=0 또는 1)가 IIC에 보고되는 것을 나타낸 논리 조직도이다. 복수의 파이프(102, 104)가 IIC(106)로 들어가 파이프 내의 데이터그램이 흐름 제어로 인가된다. 흐름 제어는 스위치로부터의 B 신호(132)에 부분적으로 의존한다. B 신호는 스위치의 제어 지점(CP)(130)에서 생성되거나 또는 그 대신 더욱 일반적으로 도 14의 흐름 제어 데이터 조직 블록(308)에서 생성될 수 있다. 제어 포인트(또는 대체물)는 복수의 역치 신호를 축적, 저장 및 논리 조합(AND나 OR 또는 NOT으로)함으로써 잉여 대역폭 신호(B)를 주기적으로 생성하여 전달한다.
도 7을 또한 참조하자면, B의 값은 스위치 내로부터의 복수의 역치 신호(Th1, Th2, ...)에 관한 정규적인 표현식으로 나타낼 수 있다. 예컨대, B의 값은 복수의 역치 신호를 AND 한 것일 수 있다. 소정의 IIC를 통과하는 파이프가 사용하는 저장 자원의 대기열 레벨(116, 118, 120)이 각각 그 역치(122, 124, 126)보다 낮을 경우에, 각 역치 신호(Thi)는 1이 된다. 대기열 레벨이 역치보다 높은 경우 Thi 값은 0이 될 수 있다. 도시한 바와 같이, 상이한 파이프는 일반적으로 스위치의 상이한 자원을 사용한다. 또한 다른 IIC(도시하지 않음)을 통과하는 다른 파이프(도시하지 않음)에 의해 동일한 자원이 사용될 수도 있다. 그 후 파이프는 스위치로부터 추가적인 IIC(112, 114)를 통해 링크(108, 110)로 들어가 다른 네트워크 노드로 진행한다.
다른 실시예에 있어서는, 유속을 역치 유속과 비교함으로써 하나 또는 그 이상의 역치 신호를 생성할 수도 있다. 또 다른 실시예에 있어서는, 고유의 역치 및 흐름 역치의 조합이 사용될 수도 있다.
도 8은 전역 QoS 흐름 제어를 가능하게 하는 네트워크 조직을 나타내고 있다. 관리 콘솔(134)은, 대역폭이 보증된 파이프 중 어떤 것이 대역폭 용량이 있는 자원 중 어떤 것을 사용하는지에 관한 정보를 필요에 따라 축적하고 분배한다. 이러한 정보는 필요에 따라 네트워크에서 스위치(136, 138, 140)에 통보된다. 소정의 스위치(예컨대 138)는 관리 콘솔 및 스위치 내의 정체 신호(도 7 참조)로부터의 정보를 조직하는 CP(142)를 구비한다. 그 후 CP는 관리 정보 및 정체 정보를 정보 채널(148, 150)을 통해 IIC(144, 146)로 각각 보낸다.
도 8을 참조하여 더욱 상세히 설명하자면, 전역 QoS는 다음과 같이 요약될 수 있다.
- 관리 콘솔
파이프 경로, 보증에 관한 정보를 분류 및 전달
- CP를 각각 구비한 네트워크상의 스위치
파이프 정보를 처리하여 BAT에 있어서의 상수 Ci, Di를 생성
- 스위치의 IIC
파이프 식별 정보를 받아 저장
파이프 정보마다의 Ci, Di를 받아 저장
파이프 당 Ci, Di의 바람직한 정의는 이후에 하기로 한다.
도 9에는 스위치(160)의 정체 지수(indication)로부터 관련 IIC인 IIC1(172) 및 IIC2(174)로의 신호 전달을 조직화하는 것을 더욱 상세히 나타내었다. 상이한 대기열 점유율 값(또는 유속의 값도 가능함)들이 스위치 내에서 비교되어 복수의 잉여 대역폭 신호(B1, B2, ...)가 생성된다(164, 166으로 나타냄). IIC의 i번 파이프가 사용하는 자원이 정체된 경우 각 Bi는 0이 된다. 그 밖의 경우 Bi는 1이다. 잉여 대역폭 신호는 통신 채널(168, 170)을 통하여 적합한 IIC로 보내어진다. 이에IIC는 도달하는 프레임(176, 178)을 전송 또는 폐기할 것인지 결정한다. IIC는 또한 프레임(180, 182)이 나가는 것을 가능하게 할 수도 있다. 신호(B1, B2)는 어떠한 공통의 성분을 공유할 수도 있다.
표 1은 각 IIC에 있어 BAT가 필요로 하는 계산 자원의 리스트이다.
IIC 당 계산 자원파이프마다의 Ci, Di를 저장하기 위한 레지스터스위치로부터 현재 B 값을 수신하고 저장하기 위한 레지스터파이프마다의 전송 흐름의 속도(fi)를 초당 비트(b/s)로 측정하기 위한 메커니즘잉여 대역폭 신호 B의 지수 가중 평균을 갱신하기 위한 메커니즘새로운 E값을 저장하기 위한 레지스터파이프마다의 fi를 저장하기 위한 레지스터파이프마다의 이전의 전송 비율 Ti를 저장하기 위한 레지스터파이프마다의 새로운 Ti를 결정하기 위한 로직새로운 Ti 값의 테이블을 저장하기 위한 레지스터
도 10은 IIC에서의 BAT 구현에 있어 프레임의 전달 또는 폐기를 결정하는 과정을 나타낸 제어기(190)의 흐름도이다. 이 과정은 적어도 헤더 프레임을 버퍼에 저장(192)함으로써 개시된다. 헤더로부터 파이프 번호가 식별된다(194). 이 번호는 전송 확률을 테이블로부터 읽어오는 데(도 12 참조) 사용된다(196). 전송 확률(Ti)은 구간 [0, 1] 내의 2진값을 갖는다(즉 Ti 비트들은 00...0에서 11...1의 범위에서 고정된 수 X만큼의 비트수를 갖는 2진값임). 각 전송 확률은 0에서 1 사이의 분수값인 것으로 간주되는 바, 여기서 1은 2X-1에 대응된다. Ti와 마찬가지 형태의 값을 갖는 난수가 발생된다(200). 테이블로부터의 값이 난수와 비교된다(198, 202). Ti가 난수 이상인 경우는 블록(210)으로 진행한다. 그렇지 않을 경우(206), 블록(208)으로 진행한다. 블록(210)에서는 파이프 i에 대한 b/s 값을 갱신한다. 그리고 이 프레임이 전송된다는 신호를 보낸다(212). 블록(208)에서는 이 프레임이 폐기된다는 신호를 보낸다.
도 11에는 파이프의 전송 확률(Ti)값을 갱신하는데 쓰이는 과정을 상세히 나타내었다.
도 12는 파이프의 전송 확률(Ti)을 저장하는 테이블의 형식(220)을 나타내고 있다. 특히 파이프 번호(222)는 테이블에 있어서의 색인이다. 전송 확률 비율 자체(BAT 흐름 제어의 반복으로 유도됨)는 인접한 메모리 슬롯(224)에 저장된다.
흐름 제어 갱신의 주기와 잉여 대역폭 신호간의 기초적인 관계는 다음과 같다. 즉 스위치의 각 대기열은 비트 단위의 용량(C)을 갖는다. 대기열에 입력이 잠시 없는 반면 가능한 최대 속도의 방출(drain)이 있는 경우, 대기열은 이론적으로는 C/(최대 방출 속도) 초 내에 완전히 찬 상태로부터 완전히 빈 상태로 될 수 있다. 흐름 제어의 갱신 주기 및 스위치로부터 IIC로 B 값을 보고하는 주기는, 상기 기간을 상수 K배한 값과 같은 기간(Dt)이어야 한다. 바람직한 실시예에 있어 K=1/8 이다.
Dt = K * (대기열 용량) / (최대 방출 속도)
여기서 곱해지는 값을 K=1/8로 한 것은 물론 바람직한 예를 들기 위한 것뿐이다. 이 값은 흐름 제어가 반응하기 전에 대기열 점유율이 급격히 변화하는 것을 피하기 위해 1/2보다 작은 것이 바람직하다. 반면 너무 작은 값은 계산 자원의 불필요한 소비를 야기시킨다. 하나의 B값이 각각의 흐름 제어 갱신 간격(Dt) 동안에 수신되어야 한다. IIC의 표준 유지 보수 인터페이스의 주기는 10㎲이므로, 이에 의해 스위치 대기열 용량 및 유속에 대한 유지 보수 인터페이스의 사용에 제한이 생긴다.
이상과 같은 Dt의 설명에 의해, 모든 유속(최소 보증 속도, 현재 파이프 유속 등)은 정체가 발생한 자원의 방출 속도를 8배한 비율로 취급된다. 통상적으로 스위치는 유입측(Ingress side)(복수의 소스 포트에 의해 공급을 받음) 및 유출측(Egress side)(복수의 타겟 포트로 공급을 함)에 각각 저장 버퍼를 구비한다. 유입측 저장소에 있어서는, 유입측 자체에서의 분류 지연으로 인한, 또는 공급 대상인 스위치 조직체(switch fabric)의 편극(polarization)으로 인한 넘침(overflow)을 방지해야 한다. 편극이라 함은 여러 유입 파이프가 스위치 조직체의 여러 개의 입력으로 들어가 스위치 조직체의 하나의 출력으로 나오는 현상을 말한다. 유입 정체(Ingress congestion)는 또한 하나 또는 그 이상의 유출측으로부터의 정체 신호에 응답하여 스위치 조직체에 대한 패킷 전달이 일시적으로 중지되는 것에 의해서도 야기될 수 있다.
BAT 흐름 제어의 목적(즉, 유입 데이터 저장소의 보호)을 위해, 모든 유속은 유입 데이터 저장소의 최대 가능 방출 속도를 8배(마찬가지로 명목상의 값이지만, 계속 일관된 값임)한 비율이어야 한다. 방출 숙도는 통상적으로 데이터가 유입측으로부터 스위치 조직체로 진행할 수 있는 속도이다. 마찬가지로, 유출 데이터 저장소의 보호라는 BAT 흐름 제어의 목적을 위해, 모든 유속은 유입 데이터 저장소의 최대 가능 방출 속도를 8배한 비율이어야 한다. 방출 속도는 통상적으로 데이터가 유출측으로부터 타겟 포트를 통해 다운스트림의 네트워크 노드로 진행할 수 있는속도이다. 동일한 이들 방출 속도는 여기서 나중에 정의될 최대-최소 알고리즘의 적용시에 사용되는 용량 속도이다.
DiffServ에 있어서, BA(Behavior Aggregate) 흐름(본 명세서에서는 간단히 파이프라고 함)에 의해 사용되는 경로는 자원 예약 프로토콜(RSVP) - IETF RFC 레퍼런스: RFC 2750 정책 제어에 대한 RSVP 확장, S. 허조그, 200년 1월. (형식:TXT=26379 바이트)(갱신 RFC2205)(상태: 표준안)에서 설명되었고, 본 명세서에 참조로서 포함됨 - 로 설정된다.
비록 에지의 정의에 융통성이 있기는 하지만, 이 경로는 에지 대 에지인 것으로 간주된다. 본 발명의 바람직한 실시예에 있어서, 파이프가 설치되어 있고 IIC로 들어가는 모든 트래픽은 DSCP값에 따라 조직되는 것으로 가정한다. 따라서 여기에는 동일한 DSCP를 갖는 흐름의 군집을 합치는 작업은 물론, 군집 내의 불공평의 위험이 근본적으로 존재하게 된다. 그러나 14개의 표준 DSCP 값이 있고, 6 b로는 64개까지의 조합이 이론적으로 가능하므로, 강한 QoS는 네트워크에 있어서 적어도 한정된 수의 파이프에 대해서 구현될 수 있을 것이다.
대체 실시예에 있어서는 상이한 파이프를 나타내기 위해 MPLS 헤더를 사용할 수도 있으며, 여기에는 20 비트의 MPLS 표지 및 3 비트의 MPLS EXP 비트가 포함된다. 인터넷 드래프트 "MPLS 표지 스택 인코딩(MPLS Label Stack Encoding)"(drat-ietf-mpls-label-encaps-07.txt, IETF 네트워크 실무 그룹, 1999년 9월, E. 로젠, Y. 렉터, D. 태펀, D. 파리나치, G. 페도코우, T. 리, A. 콘타 著)을 참조한다. 본 발명의 실시예에서는, 상대적으로 적은 수의 논리적 파이프(스위치 또는 네트워크를 통과함)로 데이터그램을 군집시키기 위해, QoS 정보가 편리하고 빠르게 추출될 수 있는 여러 표준에 따라 모든 헤더의 유형을 조사한다.
각 파이프는 일반적으로 스위치의 많은 공유 자원을 통과한다. 각 파이프에는 비트/초 단위의 최소 대역폭 값(min) 및 최대 대역폭 값(max)을 갖는 SLA가 있다. 파이프의 제공된 부하는 파이프의 min보다 작거나, min과 max 사이에 있거나 또는 max를 초과할 수 있다. 제공된 부하가 min보다 작은 경우, 많아도 몇 번의 전송 비율 조정 후에는 파이프의 프레임이 1의 확률로 전송되어야 한다. 파이프(IIC에 있는)의 제공된 부하가 파이프의 max보다 큰 경우, 파이프의 프레임 전송 비율은 바로(순간적으로는 아님) 1 미만으로 감소되어 파이프 흐름이 max 값으로 감소하도록 해야한다. IIC에 있어서 파이프의 제공된 속도가 min과 max 사이인 경우에는 파이프에 대한 전송 비율을 계산하기 위해 흐름 제어가 사용되어야 하고, 이에 따라 전역 최대-최소 알고리즘으로부터 얻는 할당량을 근사하게 된다.
일부 파이프들은 EF(Expedited Forwarding)라 불리는 서비스 종류에 속하며, 이때 min=max이다. 그 밖의 파이프들은 AF(Assured Forwarding)이라 불리며, 이 경우 0<min<max이다. 또 다른 파이프들은 BE(Best Effort; 최선형)이라 불리며, 이 경우 0=min<max이다(앞서 인용한 RFC 2474 참조).
한 가지 서비스 종류에 있어서, 약한 QoS는 "특색"간의 질적이고 상대적인 관계를 부여하지만, 본 발명에 있어서의 주안점은 주로 min 및 max값의 맥락에서 강하고, 양적인 성능 보증에 관한 것이다. DiffServ는 또한 지연 및 지터 성능과 관계되어 있으나, BAT와 같은 잘 설계된 흐름 제어는 일반적으로 통상적이고 직관적인 흐름 제어에 비해 대기열 점유율을 훨씬 낮아지게 하므로, 단지 평상시에 낮은 값으로 대기열이 동작하는 것에 의해 지연 및 지터 성능 문제를 피할 수 있게 된다.
관리자의 작업은 모든 파이프의 경로에 주목하여, min 및 max값을 IIC에 나타나 있는 모든 DSCP 파이프에 할당하는 것이다. 각 파이프의 min 값은, 네트워크의 모든 파이프가 자신의 min의 속도로 전송하고 있는 경우 모든 SLA가 충족되어야 한다는 조건에 의해 제한되어야 한다. 각 파이프의 max 값은, 그 파이프가 자신의 max의 속도로 트래픽을 전송하는 반면 다른 모든 파이프는 0의 속도로 전송하는 경우에 그 파이프의 SLA가 충족되어야 한다는 조건에 의해 제한되어야 한다. 바람직한 실시예에 있어서, max 속도는 min 속도보다 지나치게 크지 않은 바, 예컨대 사용자 데이터그램 프로토콜(UDP) 트래픽과 같이 폐기에 반응하지 않는 종류의 트래픽의 경우에 특히 그러하다.
최대-최소 알고리즘은 어떤 파이프가 AF 또는 BE일 경우의 공정한 대역폭 분배에 관한 정의이다. 이는 어떤 파이프의 제공된 부하가 스위치(또는 네트워크)의 어딘가에서 결합하여 네트워크 자원을 초과하는 경우에 적용될 수 있다.
이하에서는 네트워크 레벨(전역)의 최대-최소 할당에 관하여 설명하기로 한다. 더욱 상세한 설명은 "데이터 네트워크(Data Networks)"(D. 버트세카스, R. 갤러거 著, 프렌티스 홀, 뉴저지주 잉글우드 클리프, 1992)에 개시되어 있고, 본 명세서에는 배경 지식으로서 참조하기 위한 목적으로만 포함되었다. 최대-최소 알고리즘에서는 맨 먼저, 번호가 i인 파이프 각각에 대해 이들의 최소값(mini라 하기로함)을 할당한다. 최대-최소 알고리즘에 따라, mini와 파이프 i의 제공된 부하를 비교하여 그 중 작은 수를 파이프 i에 대해 임시로 할당한다. 만약 이미 제공된 부하가 더 작은 수이면, 파이프 i는 "포화"된 것으로 선언되어 대역폭이 할당될 파이프 세트에서 제외된다. 그렇지 않으면, 파이프 i는 잉여 대역폭을 얻고자 하는 파이프 세트에 남아있게 된다. 남아있는 각각의 파이프 i 및 이 파이프에 의해 공유되는 각각의 자원에 대해 현재의 잉여 대역폭을 파악한다(이는 반드시 0 이상이어야 하고, 그렇지 않으면 약정이 무효임). 만약 파이프 i에 대한 이러한 자원 당 잉여 대역폭 모두의 최소값이 양수이면, 최대-최소 알고리즘에 따라 병목 자원(bottleneck resource)에서의 이러한 최소 잉여 대역폭을 그 자원을 사용하는 불포화 파이프의 수로 나눈다. 그리고 이 비율은 각 파이프 i에 할당되어, 이전에 할당한 것에 더해진다. 그 후에 제공된 부하를 다시 현재의 할당량과 비교하여 그 중 작은 값을 다시 찾는다. 제공된 부하가 더 작으면 파이프 i는 포화된 것으로 선언되고, 그렇지 않으면 파이프 i는 불포화 상태로 남는다. 불포화 파이프가 남아있고, 양의 잉여 대역폭이 존재하는 한, 잉여 대역폭을 다시 찾아서 나누는 것을 반복한다.
파이프 i의 현재 흐름이 min과 max 사이에 있다고 가정하자. 파이프 i는 소정의 IIC를 통해 다른 파이프들과 함께 스위치로 들어간다. IIC에 대한 현재 B 값이 1인 경우, IIC의 각 파이프 전송 비율 Ti(이미 1인 경우는 아님)는 선형으로 증가하도록 허용된다. IIC가 사용하는 전송 비율 Ti에 대한 선형 증가 속도의 계수 Ci는 다음과 같이 정의된다. 모든 파이프가 최대 부하를 제공할 경우, 최대-최소 알고리즘에 의해 각 파이프에 대해 초당 Pi 비트의 대역폭이 할당된다. 앞서 언급한 바처럼, 이 속도는 각각의 자원(유입 또는 유출 BAT 흐름 제어 장소)에서 그 자원의 최대 방출 속도의 8배의 비율로 표현된다. Ci의 정의는 다음과 같다.
하나의 자원에서의 흐름 제어에 있어서 파이프 i에 대해 사용되는 Ci
= Pi(그 자원의 유출 속도를 8배한 비율) * 1/16
여기서 1/16을 곱한 것은 중요하지 않다. 예컨대 1/32도 또한 쓰일 수 있다. 그 이유는 이하의 Di의 정의에서 밝히도록 한다.
BAT는 또한 파이프 i의 유속(fi)(비트/초 단위임)을 사용하는 것을 필요로 한다. 국지적인 흐름 제어를 위해, 국지적인 자원 방출 속도를 8배한 비율로서 각 fi를 다시 측정한다. B=0인 기간동안 각 IIC에서는 Ti가 -Di*fi의 속도로 지수적으로 감소하는 바, 상수 Di는 이하에 정의하기로 한다.
국지적인 흐름 제어를 위해서, 파이프 i의 최소 보증 대역폭이 mini인 것으로 하고, 마찬가지로 이 대역폭은 국지적인 자원 방출 속도를 8배한 비율로 측정된다.
파이프 i를 제외한 모든 파이프가 0의 대역폭을 제공하고 파이프 i는 자신의 최대 대역폭을 제공하는 경우, 최대-최소 알고리즘에 의해 파이프 i에 대해 초당 Qi 비트의 대역폭이 할당된다. 마찬가지로 모든 파이프 유속은 각각의 자원(유입 또는 유출 BAT 흐름 제어의 장소)에서 그 자원의 최대 방출 속도의 8배의 비율로 표현된다. Di의 정의는 다음과 같다.
Di = (Qi - mini)(해당 자원의 방출 속도를 8배한 비율로 표현됨) * 4
여기서 4를 곱한 것은 엄밀한 것은 아니다(2를 써도 된다). 그 이유는 다음과 같다. 각 파이프 i에 대하여 제공된 속도가 자신의 최대 속도라는 점에서, IIC의 모든 파이프가 대역폭을 원한다고 가정하자. 선형적인 증가에 비해 지수적인 감소가 즉각적으로 일어나는 한, 파이프 i에 있어서의 시간에 걸친 흐름(최대값 * Ti 곡선 아래의 면적)은 여전히 Ci에 대한 고정된 비율에 있게 될 것이다. Ci는 이미 최대-최소 알고리즘의 결과이므로, 그 할당량은 전역 최대-최소 할당량에 가까울 것이다. 이것들이 관리자가 IIC로 보내야 하는 Ci, Di의 값이다.
국지적 입력 및 출력
이 부분의 배경은 도 9 내지 도 14에 나타나 있다.
파이프 당 전송 확률을 갱신하기 위해, 각 IIC는 소정의 값들을 필요로 한다.
입력
- 상수
파이프마다의 Ci 및 Di
- IIC 측정으로부터의 입력
IIC의 각 파이프에 대한 비트/초 단위의 전송 흐름 속도 fi
- 스위치로부터의 입력
IIC의 모든 파이프가 사용하는 모든 스위치 자원의 정체 상태로부터 정의되는 합성 잉여 대역폭 신호 B
N개의 상이한 B 값을 갖는 복수의 출력 블레이드로부터의 신호를 군집시켜, 어떠한 파이프 세트가 이용할 수 있도록 만든 TDM 신호 BN
- 이전 반복으로부터 저장된 값
각 파이프에 대한 이전의 전송 확률 Ti
B값의 이전의 지수 가중 평균 E
출력
- 추후의 반복을 위해 IIC에 저장되는 값
각 파이프에 대한 현재의 전송 확률 Ti
B 값의 현재의 지수 가중 평균값 E
- 전송 확률 테이블을 채우는 데 사용하기 위한 하드웨어도 보내는 값
각 파이프 i에 대한 Ti
상수 Ci 및 Di는 앞서 정의된 바 있다.
B값은 다음과 같이 유도할 수 있다. IIC를 통해 스위치로 들어가는 모든 파이프는 상이한 스위치 자원을 이용한다. 정체로 인한 폐기나 용인 불가능한 지연 또는 지터가 발생할 정도의 정체가, 파이프가 사용하는 스위치 자원 중 어떤 것에도 현재 존재하지 않을 경우 B값은 1이 되고, 그렇지 않으면 0이 된다. 여기서 유의해야 할 것은, 동일한 스위치 자원이 상기 소정의 IIC를 통해 스위치로 들어가지 않는 다른 파이프에 의해 쓰일 수도 있다는 것이다. 상기 IIC를 통과하는 파이프에 의해서만 정체가 발생할 수도 있고, 상기 IIC를 통과하지 않는 파이프에 의해서만 발생할 수도 있으며, 또는 임의의 조합에 의해 발생할 수도 있다. 어느 파이프가어떤 자원을 사용하는지 파악하는 것은 초기화 이전에 완결되어야 할 관리 작업이다.
바람직한 실시예에 있어서, Ti값은 시간 t에서의 {Ti, B, E, fi}의 값들로부터 시간 t+Dt에서의 값들로 다음과 같이 갱신된다.
fi<=mini 일 경우 Ti(t+Dt) = min{1, Ti(t)+.125}
그렇지 않을 경우 fi > maxi 이면 Ti(t+Dt) = .875 * Ti(t)
그렇지 않을 경우 B=1 이면 Ti(t+Dt) = min{1, Ti(t) + Ci*E(t)}
그렇지 않을 경우 Ti(t+Dt) = max{0, Ti(t) - Di * fi(t)}
그 밖의 실시예에 있어서는, B=1일 경우 Ti가 선형으로 증가하고 B=0일 경우 Ti가 지수적으로 감소하는 관련 방법이 쓰일 수 있다.
여기서 주목해야 할 것은, 도면에서의 구조는 오직 IIC의 회로 구현의 예일 뿐이며, 본 발명의 범주를 한정하는 것이 아니다. 특히, 본 발명은 PHY, MAC(이더넷), 프레이머(PoS), 또는 그 밖의 입력 인터페이스 회로(IIC)와 논리적으로 유사한 맥락에서 구현될 수 있다.
본 발명은 BAT와 같은, 흐름 제어의 구현을 위해 제어 이론을 사용하는 흐름 제어 알고리즘과 관련하여 가장 바람직하게 활용될 수 있다. BAT는 RED나 WRED에서와 같은 추상적인 역치가 아닌, 통상의 성능 기준(최소 보증 대역폭 및 최대 한도 대역폭)을 사용한다. BAT는 최소 보증 대역폭 이하인 파이프에 대해서는 100%의 전송을 하고 있는 것으로 선언한다. BAT는 제공된 부하가 파이프의 보증된 최소값보다 큰 파이프들에 대해 대역폭을 공평하게 할당한다. 또한, BAT는 대기열 점유율을평상시에 낮게 유지하도록 하는 바, 이는 RED나 WRED 메커니즘의 경우 작동을 위해 대기열 점유율이 저역치와 고역치 사이의 어딘가에서 유지되어야 하는 것과는 대조된다.
본 발명을 종래 기술과 구별해 주는 장점으로는, 가치가 적고 스위치 처리 자원을 과다하게 요하는 데이터그램이 스위치에 들어오기 전에 폐기된다는 것이다. 통상의 흐름 제어 방식은 흔히 스위치로 들어오는 데이터그램을 처리하여 계산 자원을 소비하면서 스위치 내에서 라우팅한 후 스위치를 나가기 전에 폐기한다. 이러한 장점은 스위치 속도의 향상으로 나타날 수 있고, 또한 소정의 하드웨어에 있어 고효율(즉 보다 적은 하드웨어 자원을 가지고도 동일한 스위치 기능을 할 수 있음)을 실현할 수 있으며, 이들 둘의 조합이 장점이 될 수도 있다.
본 발명을 종래 기술과 구별해 주는 또 다른 장점으로는, 단지 IIC를 교체하는 것에 의해 기존의 스위치를 쉽게 개조할 수 있다는 것이다. 이러한 IIC를 네트워크 관리 자원에 결합시키는 것은 QoS를 충족시키는 저렴하고도 간단한 방법이다.
도 13은 스위치의 업스트림상의 논리적 경로에서 사전 흐름 제어가 가능하도록 한 본 발명의 실시예를 논리적으로 표현한 것이다. 초기화(248)는 관리 콘솔(250)에서 가능하다. 관리 콘솔은 파이프에 관한 정보 및 이들의 SLA를 네트워크 노드에 통보한다. 이러한 노드에 있는 IIC의 로직은 굵은 선(252)에 의해 구분된다. 관리 콘솔로부터의 상수들은 제어 지점(CP)(254)에서 보존 및 처리(예컨대 스위치의 물리적 파라미터에 관하여 정규화되는 것)된다. 각 IIC(252)는 이를 통과하는 논리적 파이프에 관한 적합한 상수를 저장한다. 통상 이러한 과정은 상대적으로 낮은 데이터 속도에서 이루어지고, 이는 도 13에 있어 위쪽 가로선 위의 부분에 나타내었다. 이 선 아래쪽에는 흐름 제어 갱신 과정(258)이 나타나 있다. 잉여 대역폭 신호의 지수 가중 평균 E가 저장된다(260). 도 7 내지 도 9에서 앞서 설명한 것처럼, 스위치 대기열 점유율 계수기(262)는 이후 초과 대역폭 신호(B)(266)로서 통보될 값을 CP에 보고한다. B는 E를 갱신(270)하는 데 쓰인다. B는 또한 E와 함께 IIC의 파이프에 대한 전송 확률을 갱신하는 데 쓰인다. IIC 계수기(264)는 파이프에서의 유속을 기록한다. 파이프에 대한 전송 유속 {fi}(268)도 또한 축적된다. 전송 확률 비율 {Ti}가 저장된다(274). BAT 흐름 제어 알고리즘은 E, B, {fi} 및 {Ti} 값들을 사용하여 새로운 전송 확률 비율을 계산한다(272). 바람직한 실시예에 있어서, 흐름 제어 전송 확률을 갱신하기 위한 로직은 IIC 내에 존재한다(대체 실시예에서는, 흐름 제어 전송 비율을 갱신하기 위한 로직이 도 14에 나타낸 흐름 제어 조직 블록 내에 존재함). 도 13의 아래쪽 가로선까지의 부분이 이러한 과정을 나타낸다. 이 아래의 부분은 데이터 흐름 처리이다(280). 프레임이 도달하면 그 아이덴티티(identity)를 조사한다(282). 동시에 난수가 발생된다(284). 프레임이 도달하면, 그 아이덴티티를 사용하여 {Ti} 저장 테이블로부터 전송 확률(Ti)을 선택한다(286). 그 후 Ti 및 난수가 비교된다(288). 전송 확률이 난수 이상인 경우, 전송 결정이 전송(290)되고 그렇지 않은 경우 전송 결정은 폐기된다.
스위치에 있어서 가능한 본 발명의 구현에 관한 개요가 도 14에 나타나 있다. 스위치(300)에 대한 데이터그램이 링크(336, 338)를 통해 도달한다. PHY(332, 334)는 링크의 광 데이터와 내부의 전기적 신호간의 변환을 행한다. 그 후 데이터는 MAC 또는 프레이머 성분(312, 314)으로 전달된다. MAC 또는 프레이머 성분은 PCI 버스(328) 및 관련 배선(330)에 의해 CP(326)와 통신한다. MAC 또는 프레이머 성분은 또한 흐름 제어 데이터 조직으로부터 배선(324)을 통해 잉여 대역폭 신호(BN)(310)를 수신한다. 복수의 네트워크 프로세서(304, 306)를 통과하는 데이터에 의해, 배선(320, 322)을 통해 흐름 제어 데이터 조직(308)으로 보고되는 대기열 점유율 상태가 생성된다. 데이터는 접속부의 매트릭스, 즉 스위치 조직체(302)를 통해 네트워크 프로세서 사이를 통과한다.

Claims (23)

  1. 개개의 데이터그램(datagram)에 관한 전송/폐기 결정 방법에 있어서,
    각각의 입력 인터페이스 회로(IIC) - 관련 패킷을 전송(轉送)하는 장치의 업스트림에 있는 네트워크 노드로 정의됨 - 내에서 상기 데이터그램의 소정의 비트(비트의 선택은 하나 또는 그 이상의 헤더 및 부하 레벨을 갖는 데이터그램의 구조에 관한 표준에 근거하여 이루어짐)를 검사하여 상기 데이터그램의 파이프 소속을 판단하는 단계와,
    상기 IIC 각각에 있는 소정 세트(set)의 파이프 각각에 대한 전송 확률을 나타내는 값의 테이블을 제공하는 단계와,
    상기 테이블로부터 상기 데이터그램의 상기 파이프 소속에 맞는 대응되는 값을 선택하는 단계와,
    상기 파이프 소속에 맞는 상기 전송 확률에 응답하여 상기 데이터그램을 선택적으로 전송 또는 폐기하는 단계
    를 포함하는 방법.
  2. 제1항에 있어서, 상기 선택적으로 전송하는 단계는,
    IIC에 난수 발생기를 제공하는 단계와,
    상기 난수 발생기의 현재 상태와 상기 테이블로부터 취한 전송 확률값 사이의 비교를 수행하는 단계와,
    상기 난수 발생기의 현재 상태가, 파이프의 모든 데이터그램이 전송되는 상태를 나타내는 값에 상기 전송 확률값보다 더 가까운 경우 상기 데이터그램을 폐기하는 단계와,
    상기 난수 발생기의 현재 상태가, 파이프의 모든 데이터그램이 전송되는 상태를 나타내는 값에 상기 전송 확률값보다 더 가깝지 않은 경우 상기 데이터그램을 전송하는 단계
    를 더 포함하는 것인 방법.
  3. 제2항에 있어서, 파이프의 모든 데이터그램이 전송되는 상태를 나타내는 상기 값은 1이고, 상기 난수 발생기의 상기 현재 상태는 0과 1.0 사이의 음수가 아닌 분수인 것인 방법.
  4. 제1항에 있어서, 상기 파이프 소속 판단 단계는 관리상 특정된 값을 상기 데이터그램의 패킷 헤더에 있는 선택된 필드의 값과 비교하는 단계를 더 포함하는 것인 방법.
  5. 제4항에 있어서, 패킷 헤더의 상기 선택된 필드는 표준 IP 패킷 헤더의 DSCP 필드를 포함하는 것인 방법.
  6. 제4항에 있어서, 패킷 헤더의 상기 선택된 필드는 MPLS 표지 또는 EXP 비트또는 이들의 데이터그램 내에서의 임의의 조합, 또는 MPLS 터널 지정에 또한 사용되는 ATM VPI/VCI 필드를 포함하는 것인 방법.
  7. 제1항에 있어서, 상기 테이블은 파이프 번호에 따라 관련 파이프에 대응하는 전송 확률을 나타내는 대응 항목 각각에 대해 색인이 붙여진 것인 방법.
  8. 제1항에 있어서, 상기 파이프의 보증된 최소 및/또는 최대 데이터 속도에 대한 상기 파이프 각각에서의 실제 제공 데이터 속도에 응답하여, 전송 확률을 나타내는 상기 값을 변경하는 단계를 더 포함하는 방법.
  9. 제8항에 있어서, 상기 값을 변경하는 상기 단계는, 상기 패킷 전송 장치 내의 정체 - 상기 IIC를 통해 흐르는 하나 또는 그 이상의 파이프에 영향을 미침 - 를 나타내는, 상기 장치로부터의 신호에 더 응답하는 것인 방법.
  10. 제9항에 있어서, 상기 신호는 상이한 출력 포트 또는 상이한 출력 포트 그룹 내의 정체에 각각 대응하는 복수의 성분을 포함하고, 상기 IIC내의 상기 파이프는 어느 출력 포트 또는 출력 포트 그룹으로 데이터를 보내는지에 따라 분류되며, 상기 값을 변경하는 상기 단계는 각 파이프 그룹에 대해 개별적으로 수행되는 것인 방법.
  11. 패킷 전송 장치의 IIC 내의 장치에 있어서,
    파이프 번호 및 관련 전송 확률이 저장되는 테이블과,
    적어도 프레임의 일부를 저장하기 위한 버퍼와,
    주기적으로 난수를 출력하는 난수 발생기와,
    상기 테이블, 상기 버퍼 및 상기 난수 발생기에 동작적으로 연결되어, 상기 프레임에 대한 파이프 소속 번호를 검출하기 위해 상기 버퍼에 있는 정보를 분석하고, 상기 검출된 파이프 소속 번호에 대응하는 전송 확률(전송 비율)값을 상기 테이블로부터 결정하며, 상기 확률값을 상기 난수 발생기의 현재 값과 비교하여 그 결과에 따라 상기 프레임을 폐기 또는 전송하는 제어기
    를 포함하는, 패킷 전송 장치의 IIC 내의 장치.
  12. 제11항에 있어서, 상기 제어기는 상기 파이프의 보증된 최소 및/또는 최대 데이터 속도에 대한 상기 파이프 각각에서의 실제 제공 데이터 속도 및 알고리즘 상수에 응답하여, 전송 확률을 나타내는 상기 값을 변경하는 것인 장치.
  13. 제12항에 있어서, 상기 알고리즘 상수 및 파이프의 상기 보증된 최소 및 최대 데이터 속도를 초기화하는 관리 성분을 더 포함하는 것인 장치.
  14. 제11항에 있어서, 상기 IIC 내에 포함되지 않은 외부 제어기 - 하나 또는 그 이상의 IIC에 접속되고, 그 접속된 IIC 각각에 있는 상기 파이프의 보증된 최소및/또는 최대 데이터 속도에 대한 상기 파이프 각각에서의 알고리즘 상수 및 실제 제공 데이터 속도에 응답하여 전송 확률을 나타내는 상기 값을 변경함 - 에 대한 인터페이스를 더 포함하는 것인 장치.
  15. 제14항에 있어서, 상기 알고리즘 상수 및 파이프의 상기 보증된 최소 및 최대 데이터 속도를 초기화하는 관리 성분을 더 포함하는 것인 장치.
  16. 제12항에 있어서, 상기 제어기는 상기 값을 변경함에 있어, 상기 패킷 전송 장치 내의 정체 - 상기 IIC를 통해 흐르는 하나 또는 그 이상의 파이프에 영향을 미침 - 를 나타내는, 상기 장치로부터의 신호에 더 응답하는 것인 장치.
  17. 제14항에 있어서, 상기 외부 제어기는 상기 값을 변경함에 있어, 상기 패킷 전송 장치 내의 정체 - 상기 IIC를 통해 흐르는 하나 또는 그 이상의 파이프에 영향을 미침 - 를 나타내는, 상기 장치로부터의 신호에 더 응답하는 것인 장치.
  18. 제16항 또는 제17항에 있어서, 상기 신호는 상이한 출력 포트 또는 상이한 출력 포트 그룹 내의 정체에 각각 대응하는 복수의 성분을 포함하고, 상기 IIC내의 상기 파이프는 어느 출력 포트 또는 출력 포트 그룹으로 데이터를 보내는지에 따라 분류되며, 상기 값의 변경은 각 파이프 그룹에 대해 개별적으로 수행되는 것인 장치.
  19. 데이터그램의 흐름을 제어하는 방법에 있어서,
    네트워크 노드의 IIC 내에, 파이프를 식별하는 테이블 및 상기 테이블의 각 파이프에 대한 관련 전송 확률을 제공하는 단계 (a)와,
    상기 IIC에서 수신하는 각 데이터그램에 대하여, 상기 데이터그램 내의 비트를 검사함으로써 상기 데이터그램의 아이덴티티(identity)를 판단하는 단계 (b)와,
    단계 (b)의 데이터그램 아이덴티티를 상기 테이블의 항목과 상관시키는 단계 (c)와,
    단계 (b)에서 식별된 데이터그램이 상기 테이블의 파이프 아이덴티티와 맞을 경우에만 상기 전송 확률값에 따라 데이터그램을 폐기 또는 전송하는 단계 (d)
    를 포함하는 방법.
  20. 제19항에 있어서, 파이프의 아이덴티티 및 데이터그램의 아이덴티티를 나타내기 위해 숫자가 쓰이는 것인 방법.
  21. 제20항에 있어서, 난수를 발생시키는 단계와, 상기 전송 확률값 및 상기 난수 발생기의 현재값에 따라 데이터그램을 폐기 또는 전송하는 단계를 더 포함하는 방법.
  22. 통신 시스템에 있어서,
    스위치와,
    상기 스위치에 동작적으로 연결되어, 상기 스위치 내의 전송을 감시하고, 상기 스위치 내의 정체 상태 또는 비정체 상태를 나타내는 적어도 하나의 신호를 생성하는 정체 감시 장치와,
    상기 스위치에 동작적으로 연결되어, 프레임을 수신하여 상기 스위치로 전송(轉送)하는 물리 장치(PHY)와,
    상기 PHY 내에 위치하여, 상기 신호의 상태에 따라 프레임을 폐기 또는 상기 스위치로 전송하기 위한 적어도 하나의 신호에 응답하는 프레임 폐기 메커니즘
    을 포함하는 시스템.
  23. 통신 네트워크에 있어서의 정체를 관리하기 위한 방법에 있어서,
    정체 장치로 통신 장치 내의 트래픽을 동작적으로 감시하는 단계와,
    상기 통신장치의 정체 또는 비정체 상태를 나타내는 적어도 하나의 신호를 생성하는 단계와,
    상기 적어도 하나의 신호를 이용하여, 상기 통신 장치가 폐기된 프레임에 관한 처리를 개시하기 이전에 프레임을 폐기하거나, 또는 처리를 위해 상기 통신 장치로 프레임을 전송(轉送)하기 위한 적어도 하나의 신호를 사용하는 단계
    를 포함하는 방법.
KR1020037009375A 2001-01-18 2002-01-17 컴퓨터 네트워크에서의 정체 관리 KR100586287B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US09/764,954 US6870811B2 (en) 2001-01-18 2001-01-18 Quality of service functions implemented in input interface circuit interface devices in computer network hardware
US09/764,954 2001-01-18
PCT/GB2002/000183 WO2002058322A1 (en) 2001-01-18 2002-01-17 Congestion management in computer networks

Publications (2)

Publication Number Publication Date
KR20030071816A true KR20030071816A (ko) 2003-09-06
KR100586287B1 KR100586287B1 (ko) 2006-06-07

Family

ID=25072259

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020037009375A KR100586287B1 (ko) 2001-01-18 2002-01-17 컴퓨터 네트워크에서의 정체 관리

Country Status (9)

Country Link
US (1) US6870811B2 (ko)
EP (1) EP1352495B1 (ko)
JP (1) JP3887313B2 (ko)
KR (1) KR100586287B1 (ko)
AT (1) ATE453974T1 (ko)
CA (1) CA2429151C (ko)
DE (1) DE60234903D1 (ko)
TW (1) TW589821B (ko)
WO (1) WO2002058322A1 (ko)

Families Citing this family (43)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002314569A (ja) * 2001-04-17 2002-10-25 Fujitsu Ltd 転送装置および転送制御方法
US6701389B2 (en) * 2001-06-07 2004-03-02 International Business Machines Corporation Bandwidth allocation in accordance with shared queue output limit
US6958978B1 (en) * 2001-06-25 2005-10-25 Nortel Networks Limited Differentiated services in packet-switched networks
US7227841B2 (en) 2001-07-31 2007-06-05 Nishan Systems, Inc. Packet input thresholding for resource distribution in a network switch
US7107344B2 (en) * 2001-08-16 2006-09-12 International Business Machines Corporation Connection allocation technology
US7414985B1 (en) * 2002-02-01 2008-08-19 Ciena Corporation Link aggregation
US20030163593A1 (en) * 2002-02-25 2003-08-28 William March Rice University Method and system for implementing a fair, high-performance protocol for resilient packet ring networks
TW574800B (en) * 2002-03-22 2004-02-01 Via Tech Inc Control method of network transmission speed and Ethernet switch using the method
US8046404B1 (en) * 2002-03-29 2011-10-25 Graphics Properties Holdings, Inc. System and method for discarding frames of an image during transport across a network link
US7142552B2 (en) * 2002-04-08 2006-11-28 International Business Machines Corporation Method and system for priority enforcement with flow control
US7171505B2 (en) * 2002-05-02 2007-01-30 International Business Machines Corporation Universal network interface connection
US7471630B2 (en) * 2002-05-08 2008-12-30 Verizon Business Global Llc Systems and methods for performing selective flow control
US7876681B2 (en) 2002-05-24 2011-01-25 Verizon Business Global Llc Systems and methods for controlling network-bound traffic
US7430169B2 (en) * 2002-06-03 2008-09-30 International Business Machines Corporation Retro flow control for arriving traffic in computer networks
US7802008B2 (en) * 2002-08-12 2010-09-21 Matsushita Electric Industrial Co., Ltd. Quality of service management in network gateways
US7206284B2 (en) * 2002-11-27 2007-04-17 International Business Machines Corporation Method and apparatus for automatic congestion avoidance for differentiated service flows
US7274666B2 (en) * 2003-04-01 2007-09-25 International Business Machines Corporation Method and system for managing traffic within a data communication network
US7349338B2 (en) * 2003-04-15 2008-03-25 Lucent Technologies Inc Scheduler and method for scheduling transmissions in a communication network
US7317727B2 (en) * 2003-05-21 2008-01-08 International Business Machines Corporation Method and systems for controlling ATM traffic using bandwidth allocation technology
KR100520306B1 (ko) * 2003-06-30 2005-10-13 삼성전자주식회사 대역폭 제어 장치 및 방법
KR100542099B1 (ko) * 2003-06-30 2006-01-11 삼성전자주식회사 밴드폭 제어장치 및 방법
US20050060424A1 (en) * 2003-09-15 2005-03-17 Sachin Garg Congestion management in telecommunications networks
US20050060423A1 (en) * 2003-09-15 2005-03-17 Sachin Garg Congestion management in telecommunications networks
US7385985B2 (en) * 2003-12-31 2008-06-10 Alcatel Lucent Parallel data link layer controllers in a network switching device
US7453798B2 (en) * 2004-02-19 2008-11-18 Internationl Business Machines Corporation Active flow management with hysteresis
EP1610502B1 (en) * 2004-06-21 2011-08-03 Panasonic Corporation Adaptive and scalable QOS architecture for single-bearer multicast/broadcast services
US20070032345A1 (en) * 2005-08-08 2007-02-08 Ramanath Padmanabhan Methods and apparatus for monitoring quality of service for an exercise machine communication network
US7873048B1 (en) * 2005-12-02 2011-01-18 Marvell International Ltd. Flexible port rate limiting
JP2007214762A (ja) * 2006-02-08 2007-08-23 Fujitsu Ltd Atmセルとイーサネットパケットの混在伝送方法及び装置
US7965638B1 (en) * 2006-05-22 2011-06-21 Atrica Israel Ltd. Policing machine incorporating randomization of rate threshold
US8437352B2 (en) * 2006-05-30 2013-05-07 Broadcom Corporation Method and system for power control based on application awareness in a packet network switch
US9003292B2 (en) 2006-07-06 2015-04-07 LiveAction, Inc. System and method for network topology and flow visualization
US8045456B1 (en) 2006-11-27 2011-10-25 Marvell International Ltd. Hierarchical port-based rate limiting
CN101272256B (zh) 2007-03-23 2011-07-06 华为技术有限公司 业务处理方法和系统、策略控制和计费规则功能实体
WO2009129614A1 (en) * 2008-04-21 2009-10-29 Nortel Networks Limited System and method for wireless relay frame structure, protocol and operation
US8315844B2 (en) * 2009-09-15 2012-11-20 At&T Intellectual Property I, Lp Method, computer program product, and apparatus for comparing traffic pattern models of a complex communication system
EP2339793B1 (en) * 2009-12-23 2012-10-17 Alcatel Lucent Method and allocation unit for allocating a communication pipe in a communication network
US8773992B2 (en) 2010-10-11 2014-07-08 At&T Intellectual Property I, L.P. Methods and apparatus for hierarchical routing in communication networks
CN102123444B (zh) * 2010-12-31 2014-04-16 华为技术有限公司 异系统之间共享传输带宽的方法及设备、系统
US10372657B2 (en) * 2016-12-26 2019-08-06 Intel Corporation Bimodal PHY for low latency in high speed interconnects
US10523392B2 (en) * 2017-01-09 2019-12-31 Mediatek Inc. Downlink reference signals for radio resource management (RRM) measurement
US11503493B2 (en) * 2017-12-29 2022-11-15 Nokia Technologies Oy Enhanced traffic capacity in a cell
US11132135B2 (en) * 2019-04-11 2021-09-28 International Business Machines Corporation Dynamic disk replication mode selection based on storage area network latency

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5268900A (en) * 1991-07-05 1993-12-07 Codex Corporation Device and method for implementing queueing disciplines at high speeds
FI92361C (fi) 1992-12-14 1994-10-25 Nokia Telecommunications Oy Menetelmä kehysvälitysverkon ylikuormitustilanteiden hallitsemiseksi sekä kehysvälitysverkon solmu
JP3622312B2 (ja) 1996-01-29 2005-02-23 株式会社日立製作所 パケット交換機およびセル転送制御方法
US6424624B1 (en) * 1997-10-16 2002-07-23 Cisco Technology, Inc. Method and system for implementing congestion detection and flow control in high speed digital network
AU6091400A (en) 1999-07-13 2001-01-30 Alteon Web Systems, Inc. Apparatus and method to minimize congestion in an output queuing switch
US6657960B1 (en) * 1999-11-23 2003-12-02 International Business Machines Corporation Method and system for providing differentiated services in computer networks
US6657962B1 (en) * 2000-04-10 2003-12-02 International Business Machines Corporation Method and system for managing congestion in a network

Also Published As

Publication number Publication date
TW589821B (en) 2004-06-01
EP1352495A1 (en) 2003-10-15
JP2004522337A (ja) 2004-07-22
CA2429151A1 (en) 2002-07-25
US6870811B2 (en) 2005-03-22
EP1352495B1 (en) 2009-12-30
CA2429151C (en) 2006-07-25
ATE453974T1 (de) 2010-01-15
US20020131365A1 (en) 2002-09-19
WO2002058322A1 (en) 2002-07-25
KR100586287B1 (ko) 2006-06-07
DE60234903D1 (en) 2010-02-11
JP3887313B2 (ja) 2007-02-28

Similar Documents

Publication Publication Date Title
KR100586287B1 (ko) 컴퓨터 네트워크에서의 정체 관리
US7107344B2 (en) Connection allocation technology
US7046665B1 (en) Provisional IP-aware virtual paths over networks
Oueslati et al. A new direction for quality of service: Flow-aware networking
US7006440B2 (en) Aggregate fair queuing technique in a communications system using a class based queuing architecture
Suri et al. Profile-based routing: A new framework for MPLS traffic engineering
US7126918B2 (en) Micro-flow management
JP4547341B2 (ja) 通信品質制御機能を備えるパケット中継装置
US7706353B2 (en) Congestion control in connection-oriented packet-switching networks
US20040196790A1 (en) Method and system for managing traffic within a data communication network
US20030223368A1 (en) Retro flow control for arriving traffic in computer networks
US10355974B2 (en) Admission control in a packet network
JP2008529398A (ja) 電気通信ネットワークの帯域幅割り当て
US7953007B2 (en) Excessive flow detection device, excessive flow detection circuit, terminal apparatus and network node
US6985442B1 (en) Technique for bandwidth sharing in internet and other router networks without per flow state record keeping
CN112383450A (zh) 一种网络拥塞检测方法及装置
US20060007937A1 (en) System and method for provisioning a quality of service within a switch fabric
JP3755420B2 (ja) ノード装置
JP4341412B2 (ja) フロー検出機能を備えたパケット転送装置及びフロー管理方法
JP5194025B2 (ja) 複数のアプリケーション・フローの間での複数のネットワーク・リソースの共有を最適化する方法
AU2002219396A1 (en) Congestion management in computer networks
Domżał et al. The impact of congestion control mechanisms on network performance after failure in flow-aware networks
Qiu et al. Flow-Aware Based Integrated Admission Control Scheme
JP2003023451A (ja) 到着レート検出装置

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

Year of fee payment: 5

LAPS Lapse due to unpaid annual fee