KR20170130601A - 패킷 교환 네트워크 내의 네트워크 노드에 있어서의 트래픽 관리를 위한 방법 및 네트워크 노드 - Google Patents

패킷 교환 네트워크 내의 네트워크 노드에 있어서의 트래픽 관리를 위한 방법 및 네트워크 노드 Download PDF

Info

Publication number
KR20170130601A
KR20170130601A KR1020177031100A KR20177031100A KR20170130601A KR 20170130601 A KR20170130601 A KR 20170130601A KR 1020177031100 A KR1020177031100 A KR 1020177031100A KR 20177031100 A KR20177031100 A KR 20177031100A KR 20170130601 A KR20170130601 A KR 20170130601A
Authority
KR
South Korea
Prior art keywords
packet
value
traffic
trt
flow
Prior art date
Application number
KR1020177031100A
Other languages
English (en)
Other versions
KR101990235B1 (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 KR20170130601A publication Critical patent/KR20170130601A/ko
Application granted granted Critical
Publication of KR101990235B1 publication Critical patent/KR101990235B1/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/20Traffic policing
    • 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/22Traffic shaping
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0852Delays
    • H04L43/087Jitter
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/2425Traffic characterised by specific attributes, e.g. priority or QoS for supporting services specification, e.g. SLA
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/2466Traffic characterised by specific attributes, e.g. priority or QoS using signalling 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/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/50Queue scheduling
    • H04L47/56Queue scheduling implementing delay-aware scheduling
    • H04L47/568Calendar queues or timing rings
    • 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/28Flow control; Congestion control in relation to timing considerations
    • H04L47/283Flow control; Congestion control in relation to timing considerations in response to processing delays, e.g. caused by jitter or round trip time [RTT]

Landscapes

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

Abstract

패킷 교환 네트워크 내의 네트워크 노드에 있어서의 트래픽 관리를 위한 방법이 제안된다. 본 방법은, 패킷 플로우에 속하고, 패킷 플로우에 관련되어 있는 메모리 큐 내에 기억되는 현재의 패킷에 대한 트래픽 쉐이핑을 실행하는 것을 포함하고, 트래픽 쉐이핑은 현재의 패킷의 이론적 수신 시각(TRT) 값이 시각 카운터 값 이하인 경우에는, 출구 포트를 통해 현재의 패킷을 출력하는 것을 포함한다. 패킷의 TRT 값은 패킷 플로우의 착신 패킷의 트래픽 폴리싱을 실행함으로써 구할 수 있다.

Description

패킷 교환 네트워크 내의 네트워크 노드에 있어서의 트래픽 관리를 위한 방법 및 네트워크 노드
본 개시는 패킷 교환 네트워크 노드에 있어서의 패킷 플로우 처리의 분야에 관한 것이고, 상세하게는, 이더넷 기반 네트워크 내의 네트워크 노드에 있어서의 이더넷 프레임 처리에 관한 것이다.
패킷 교환 네트워크, 상세하게는 이더넷은 데이터 통신 이외의 분야에 있어 점차 사용되고 있다.
상세하게는, 다수의 산업용 네트워크가 이더넷의 커스텀화된 버전 또는 이더넷로부터 파생한 프로토콜의 커스텀화된 버전을 사용하는 것이 알려져 있다. 또한, 국제 PROFIBUS 및 PROFINET 협회(PI)에 의해 「프로피버스(Profibus)」 및 「프로피넷(Profinet)」으로서 발행되는 산업용 네트워크 사양은, 자동화 어플리케이션을 위해서 산업용 네트워크에 있어서 이더넷 기반 기술을 사용할 가능성을 제공한다.
이들 기술에 의해 도입되는 발전은 주로 이들 네트워크의 회복력(resilience)의 개선, 즉, 데이터 전송 속도에 영향을 미치지 않고, 단일의 장해로부터 보호하는 것에 초점을 맞춘다. 국제 전기표준회의(International Electrotechnical Commission)에 의해 IEC 62439-3 제 5 절로서 표준화된 고가용성 심리스 중복성(HSR : High-availability Seamless Redundancy), IEC에 의해 IEC 62439-3 제 4 절로서 표준화된 패러렐 중복 프로토콜(PRP : Parallel Redundancy Protocol), IEC에 의해 IEC 62439-2로서 표준화된 미디어 중복 프로토콜(MRP : Media Redundancy Protocol) 등의 표준 규격이 이더넷 기반 산업용 네트워크에서 사용할 수 있도록 개발되어 왔다.
그렇지만, 산업용 네트워크는 데이터 전송의 엄밀한 시간 특성의 강제 등의, 표준적인 이더넷을 이용해서 실시할 수 없는 특정의 제약을 갖는다. 상세하게는, 엄격하게 제한된 대기 시간 및/또는 지터, 및 엄밀하게 손실이 없는 이송(transport)을 요구하는 제어/커멘드 메시지의 전송은 현재 이용 가능한 이더넷 사양에 대해 적절히 대처하지 못한다.
이들 특성은, 네트워크 리소스가 초과 신청되지 않는 것을 확실히 하기 위한 네트워크 리소스(버퍼 및 대역폭) 예약 방식, 예약된 리소스에 따라 트래픽이 송출되는 것을 확실히 하기 위한 트래픽 쉐이핑(traffic shaping) 및 스케줄링 기구, 및 리소스 예약/트래픽 쉐이핑의 균형을 방해하는 장해가 있거나 동작 불량의 트래픽 소스가 존재하지 않는 것을 확실히 하기 위한 트래픽 폴리싱(traffic policing) 방식을 적용함으로써, 강제할 수 있다.
상이한 사업자의 네트워크를 링크하는 네트워크 인터페이스 등의 특정의 네트워크 인터페이스에서 트래픽 계약을 강제하기 위해서, 전기 통신 네트워크에서 트래픽 폴리싱 기술이 실시되어 왔다. 트래픽 계약(관련 기술 분야에서, 「서비스 수준 합의」또는 SLA(Service Level Agreement)라고도 한다)은 통상, 서비스 네트워크를 통해서 2개의 종단 간에 이송되는 1개 또는 복수의 데이터 플로우에 적용 가능한 트래픽 파라미터의 세트를 포함한다. 네트워크에 의해 제공되는 서비스는 예를 들면, 중앙 콘트롤러에 의한 자동 판매기의 제어, 일정한 전송 속도에 있어서의 비디오 데이터의 전송 등에 관련되는 경우가 있다. 트래픽 계약은 일반적으로, 발신원과 착신원 사이에서 네트워크를 통해 반송되는 임의의 데이터 플로우에 관해서, 네트워크를 통한 데이터 플로우의 이송에 관련된 요건의 세트(예를 들면, 전송 속도, 전송 시간, 지터, 패킷 사이즈 등)로서 규정할 수 있다. 계약에 따라 네트워크를 통해서 플로우에 관련된 데이터를 이송하려면, 계약에서 규정되는 요건의 이행이 필요하다. 이들 요건은 일반적으로, 데이터 통신 네트워크에 의해 제공되는 서비스의 타입에 의해 규정되게 된다.
이더넷이 관련되어 있는 한, 「가상 브리지 근거리 통신망(Virtual Bridged Local Area Networks)」의 타이틀의 로컬 및 매트로폴리탄 에어리어 네트워크 802.1Q-2005에 관한 IEEE 표준 규격은, 제8.6.5절(「플로우 분류 및 미터링」) 및 제8.6.7절(큐(Queue) 관리)에 있어 프레임 미터링 프레임워크를 포함한다. 그러나, 이 프레임워크는 임의의 특정 미터링 알고리즘도 규정하지 않고, 단순히, 메트로 이더넷 포럼 기술 사양서 MEF 10에 있어 기술되는 미터링 알고리즘 및 IETF RFC 2309에 있어 규정되는 큐 관리 알고리즘(랜덤 조기 검출(RED : Random Early Detection) 알고리즘 및 가중 랜덤 조기 검출(WRED : Weighted Random Early Detection) 알고리즘)을 참조한다.
프레임의 S-VLAN 태그 및 C-VLAN 태그 내의 DEI(드롭 적격 지시 : Drop Eligibility Indication)에 의해 지시받는 「드롭 적격」 파라미터를 설정 및 사용하기 위한 프레임워크를 마련하기 위해서, IEEE 802.1Q 표준 규격에 있어 프레임 미터링이 도입되었다.
이 표준 사양서는 메트로 이더넷 포럼(MEF)이 소위 대역폭 프로파일을 규정한 매트로폴리탄 이더넷 네트워크의 상호 접속 등의, 상이한 타겟 마켓으로의 실현의 융통성 및 적응성을 갖게 하기 위해서 최소한으로 억제되었다.
IEEE 802.1Q-2005 표준 규격 제8.6.5절은 옵션의 인그레스 미터(ingress meter)의 사용을 규정하고, 그 역할은 프레임과 연관되어 있는 드롭 적격 파라미터를 설정하는 것이다. 주어진 미터에 의해 취급되는 모든 프레임은 동일 수신 포트로부터 착신하고, 상이한 미터를 적용하기 위해서, 착신원 주소(DA), 발신원 주소(SA) VLAN 식별자(VID) 및 우선 순위를 포함한 파라미터의 임의의 조합에 근거해, 프레임의 분류가 가능하다. 미터링은 브리지 큐 이전 및 모든 필터링 기능(액티브 토포로지 강제, 입구 VID, 필터링 데이터베이스(FDB) 및 출구 VID) 이후에 적용된다. 미터링 알고리즘은 규정되지 않지만, MEF 알고리즘이 참조된다. 항상 파기되는 프레임에 예약된 제 3 컬러(적색)로 확장된, DEI 비트를 사용함으로써, 2 컬러(녹색 및 황색) 방식이 가능하게 된다.
큐 관리에 관해서, IEEE 802.1Q-2005 표준 규격 제8.6.7절은 프레임에 의해 반송되는 컬러 지시를 이용하는 방법을 대략적으로 규정하고, 드롭 적격 프레임은 비드롭 적격 프레임보다 파기될 확률이 높은 경우가 있다. 실시자는 상이한 컬러 임계치, 랜덤 조기 검출 또는 가중 랜덤 조기 검출과 함께, 예를 들면, 테일 드롭(tail-drop) 등의 큐 관리 방식을 자유롭게 선택할 수 있다.
2013년 10월부의 타이틀 「Ethernet Services Attributes Phase 3」의 메트로 이더넷 포럼(MEF) 기술 사양서 MEF 10.3은 프레임 「컬러링(coluring)」 방식에 근거하는, 「대역폭 프로파일」이라고 불리는 폴리싱 알고리즘을 포함한다.
MEF 방식에 따르면, 서비스 프레임의 컬러는 선행하는 프레임의 도착 시각의 이력에 대한, 미터에 있어서의 서비스 프레임의 도착 시각에 의해 결정되는 속성이다. 이 점에 있어서, 컬러는 그 우선 순위와는 상이하고, 서비스 프레임에 첨부되어 그 내용에 의해 결정되는 서비스 프레임의 속성이다.
그렇지만, MEF 기술 사양서는 착신하는 서비스 프레임을 위한 서비스 계약에의 준수 또는 비준수를 검증하기 위한 트래픽 미터링 알고리즘밖에 제공하지 않는다. 그 사양서는, 트래픽 폴리싱 알고리즘 또는 트래픽 쉐이핑 알고리즘을 규정하지 않기 때문에, 그 결과, 산업용 네트워크에서 사용하는 상황에 있어 특히, 데이터 전송의 엄밀한 시간 특성 및 데이터 손실 특성에의 준수를 확실히 하기 위한 유효성이 제한된다. 다르게 말하면, MEF 기술 사양서는 서비스 계약에서 규정되는 요건에의 준수를 확실히 하기 위한 수단을 충분히 제공하지 않는 경우가 있다.
그러므로, 해당 기술 분야에 있어서의 종래 기술의 상기의 결점 및 단점에 대처하는 개선된 데이터 트래픽 관리 방식 및 그것을 실시하는 네트워크 노드를 제공하는 것이 필요하게 된다.
본원 발명의 목적은 개선된 데이터 트래픽 관리 방식과 그것을 실시하는 네트워크 노드를 제공하는 것이다.
본원 발명의 다른 목적은 종래의 데이터 트래픽 제어 방식의 상기의 결점 및 단점을 경감하기 위한 개선된 트래픽 관리 방식과 그것을 실시하는 네트워크 노드를 제공하는 것이다.
본원 발명의 또 다른 목적은 네트워크 내의 데이터의 이송에 관해서 트래픽 프로파일 요건에의 준수를 확실히 하기 위한 개선된 트래픽 관리 방식과 그것을 실시하는 네트워크 노드를 제공하는 것이다.
이들 목적 및 다른 이점을 달성하기 위해서, 본 명세서에서 구현되고 대략적으로 설명되는 본원 발명의 목적에 따르면, 본원 발명의 일 형태에 있어서, 패킷 교환 네트워크 내의 네트워크 노드에 있어서의 트래픽 관리를 위한 방법이 제안되고, 그 네트워크 노드는 패킷 플로우에 속하는 패킷을 출력하기 위한 적어도 1개의 출구 포트와, 패킷 플로우의 착신하는 패킷을 수신하기 위한 1개 또는 복수의 입구 포트를 구비한다. 본 방법은, 패킷 플로우에 속하고, 패킷 플로우에 관련되어 있는 메모리 큐 내에 기억되는 현재의 패킷에 관한 트래픽 쉐이핑을 실행하는 것을 포함하고, 트래픽 쉐이핑은 현재의 패킷의 이론적 수신 시각(TRT) 값이 시각 카운터 값 이하인 경우에는, 출구 포트를 통해, 현재의 패킷을 출력하는 것을 포함한다. 제안되는 방법에 따르면, 패킷의 TRT 값은 현재의 패킷 이전에 수신된 패킷 플로우의 선행하는 패킷이 트래픽 폴리싱에 의해 파기되지 않을 때, 선행하는 패킷의 사이즈와 플로우에 관련되어 있는 전송 속도값과, 선행하는 패킷의 TRT 값이 선행하는 패킷의 실제 수신 시각(ART) 값보다 큰 경우에는, 선행하는 패킷의 TRT 값을 이용하고, 그렇지 않은 경우에는, 선행하는 패킷의 ART 값을 이용하고, 또는 선행하는 패킷이 트래픽 폴리싱에 의해 파기되었을 때, 선행하는 패킷의 TRT 값을 이용하여, 패킷 플로우의 착신 패킷의 트래픽 폴리싱을 실행함으로써 구할 수 있다.
시간 및 손실의 영향을 받기 쉬운 제어 플로우 및 커멘드 플로우를 이송하는 네트워크의 경우, 메시지가 안전하게(어떠한 손실도 받지 않고), 또한 적시에(보증된 대역폭 및 최소의 지터로) 송신되는 것을 보증하기 위해서, 바람직하게는, 입구 트래픽 폴리싱 및 출구 트래픽 쉐이핑의 양쪽 모두를 적용할 수 있다. 또한, 입구 폴리싱은 네트워크 노드의 오동작, 즉, 프레임의 반복(큐잉 에러), 과잉의 전송 속도(쉐이핑 에러), 보다 긴 프레임(태깅(tagging)/패딩(padding) 에러), 잘못한 전송 큐에 있어서의 전송(전환 에러), 과잉의 브리지/스위치 지연(하드웨어/소프트웨어 불이행), 「베블링(badding)」 노드(결함이 있는 소스 또는 스위치)에 대처하고, 이들의 오동작을 경감할 수 있도록 한다.
제안되는 방법은, 바람직하게는, 트래픽 폴리싱 방식에 의해 구해진 TRT 값을 트래픽 쉐이핑 스테이지에서 사용하는 것을 통해, 서로 협조하는 트래픽 쉐이핑 방식 및 트래픽 폴리싱 방식을 제공한다. 따라서, 제안되는 방법은 트래픽 쉐이핑 및 트래픽 폴리싱의 협조 동작을 제공한다.
1개 또는 복수의 실시 형태에 있어서, 제안되는 방법은, 트래픽 폴리싱이 패킷 플로우의 사이즈가 이 패킷 플로우에 관련되어 있는 메모리 큐 내의 이용 가능한 공간을 초과하는 패킷 플로우에 속하는 수신 패킷을 파기하는 것을 포함하는 것을 더 제공할 수 있다.
제안되는 방법의 하나 또는 복수의 실시 형태에 있어서, 트래픽 폴리싱은 트래픽 폴리싱 루프의 반복시에 실행되고, 트래픽 폴리싱 루프의 반복은 시각 카운터 값이 적어도 1시간 단위만큼 증분되었을 때에 실행된다.
또한, 트래픽 쉐이핑도 트래픽 쉐이핑 루프의 반복시에 실행되는 경우가 있고, 트래픽 쉐이핑 루프의 반복은 시각 카운터 값이 갱신되었을 때에 실행된다. 1개 또는 복수의 실시 형태에 있어서, 이러한 갱신은 시각 카운터를 증분하는 것을 포함할 수 있고, 트래픽 쉐이핑 루프의 반복은 시각 카운터 값이 적어도 1시간 단위만큼 증분되었을 때에 실행할 수 있다. 다른 실시 형태에 있어서, 이러한 갱신은 트래픽 쉐이핑 루프의 다음의 반복을 위한 오프셋만큼 트래픽 쉐이핑을 위해서 사용되는 시각 카운터 값을 시프트하는 것을 포함할 수 있고, 트래픽 쉐이핑 루프의 반복은 시각 카운터 값이 시간 오프셋만큼 시프트되었을 때에 실행할 수 있다.
트래픽 폴리싱 및/또는 트래픽 쉐이핑을 상술한 시각 카운터에 의해 구동되는 루프로서 동작시킴으로써, 바람직하게는, 예를 들면, 동일 시각 카운터를 통해, 또는 동일 시각 기준에 근거하지만, (트래픽 쉐이핑 시각 카운터와 트래픽 폴리싱 시각 카운터 사이에서) 임의의 시간 오프셋만큼 시프트된 각각의 시각 카운터를 통해, 트래픽 폴리싱 및 트래픽 쉐이핑을 위해서 단일의 시각 기준이 사용된다. 트래픽 폴리싱 방식은 통상, 입구 포트에서 실행되고, 트래픽 쉐이핑 방식은 통상, 출구 포트에서 실행되므로, 이것은 입구 포트 및 출구 포트의 양쪽 모두에 대해 동일 시각 기준을 사용할 기회를 발생시킨다. 이 공통의 시각 기준은 바람직하게는, 1 네트워크 노드의 레벨에 있어서의 모든 포트에 의해서만이 아니고, 패킷 교환 네트워크 내의 복수의 네트워크 노드에 의해서도 사용되도록 설계할 수도 있다.
트래픽 쉐이핑 및 트래픽 폴리싱을 위한 이 공통 파라미터의 사용은 그들 기구의 실시 형태의 복잡함도 저감하고, 이것은 그들 기구를 실시하는 네트워크 노드를 설계하는 경우에 유익하다.
제안되는 방법의 하나 또는 복수의 실시 형태에 있어서, 선행하는 패킷의 TRT 값
Figure pct00001
가 선행하는 패킷의 ART 값
Figure pct00002
보다 클 때, 패킷의 TRT 값
Figure pct00003
Figure pct00004
으로서 구할 수 있고, 다만,
Figure pct00005
은 선행하는 패킷의 TRT 값이며,
Figure pct00006
은 선행하는 패킷의 사이즈이며, Ri는 플로우에 관련되어 있는 전송 속도값이다. 그렇지 않고, 선행하는 패킷의 TRT 값
Figure pct00007
이 선행하는 패킷의 ART 값
Figure pct00008
이하일 때, 패킷의 TRT 값
Figure pct00009
Figure pct00010
으로서 구할 수 있으며, 다만,
Figure pct00011
은 선행하는 패킷의 ART 값이며,
Figure pct00012
은 선행하는 패킷의 사이즈이며, Ri는 플로우에 관련되어 있는 전송 속도값이다. 또한, 선행하는 패킷이 트래픽 폴리싱에 의해 파기되었을 때, 패킷의 TRT 값
Figure pct00013
Figure pct00014
로서 구할 수 있다. 다만,
Figure pct00015
은 선행하는 패킷의 TRT 값이다.
제안되는 방법의 하나 또는 복수의 실시 형태에 있어서, 선행하는 패킷의 ART 값은, 1개 또는 복수의 입구 포트 중 하나에 있어서의 선행하는 패킷의 수신에 대응하는 시각 카운터의 값을 이용해 구할 수 있다.
제안되는 방법의 하나 또는 복수의 실시 형태에 있어서, 다른 플로우에 속하는 패킷은 플로우에 각각 관련되어 있는 메모리 큐 내에 각각의 TRT 값과 함께 기억되고, 본 방법은 또한, 메모리 큐 내의 각각의 최소의 TRT 값을 갖는 선두 패킷 중에서, 현재의 패킷을 그 패킷의 TRT 값에 따라 선택하는 것을 포함한다. 바람직하게는, 패킷은 메모리 큐의 선두 패킷의 각각의 TRT 값 중 최소치인 패킷의 TRT 값에 따라 선택할 수 있다.
제안되는 해결책의 실시 형태는 바람직하게는, 단일의 시각 기준과 이론적인 플로우마다의 스케줄에 근거해서, 큐를 스위칭하는 것을 통해 다중화할 수 있는, 시간 및 손실의 영향을 받기 쉬운 플로우의 통합 폴리싱 및 스케줄링을 제공한다. 폴리싱 기능에 의해 강제되는 플로우 지터 또는 버스트(burst) 내성은 출구 포트 내의 플로우 큐를 위해서 예약된 이용 가능한 버퍼의 양에 직접 결합된다.
다른 형태에 따르면, 패킷 교환 네트워크 내의 네트워크 노드가 제안되고, 이 네트워크 노드는 프로세서와, 프로세서에 동작 가능하게 결합되는 메모리와, 패킷 플로우에 속하는 패킷을 출력하기 위한 적어도 1개의 출구 포트와, 패킷 플로우의 착신하는 패킷을 수신하기 위한 1개 또는 복수의 입구 포트를 구비하고, 네트워크 노드는 본원 발명의 제안된 방법에 따라 트래픽 관리를 위한 방법을 실행하도록 구성된다.
또 다른 형태에서는, 실행될 때, 메모리와 동작 가능하게 결합되는 프로세서를 구비하는 네트워크 노드로 하여금, 본원 발명의 제안된 방법에 따르는 트래픽 관리를 위한 방법을 실행하게 하는 실행 가능 명령으로 인코딩된 비일시적 컴퓨터 판독가능 매체가 제안된다.
또 다른 형태에 따르면, 컴퓨터 판독가능 매체 내에 유형으로 구현되는 컴퓨터 프로그램 코드를 포함하는 컴퓨터 프로그램 제품이 제안되고, 상기 컴퓨터 프로그램 코드는, 컴퓨터 시스템에 제공되어 실행될 때, 상기 컴퓨터로 하여금, 본원 발명의 제안되는 방법에 따르는 트래픽 관리를 위한 방법을 실행하게 하는 명령과, 예를 들면, 압축 또는 인코딩을 통해, 컴퓨터 프로그램을 표현하는 데이터 세트를 포함한다.
본 발명은 한정되지 않지만, 프로세스, 장치, 시스템, 디바이스로서, 또한, 공지 및 추후 개발되는 어플리케이션을 위한 방법으로서 포함하는 여러 방법으로 실시해서, 이용할 수 있다는 것을 알아야 한다. 본 명세서에 개시되는 시스템의 이들 및 다른 특유의 특징은 이하의 설명 및 첨부의 도면으로부터 보다 용이하게 밝혀질 것이다.
도 1은 1개 또는 복수의 실시 형태에 따른 예시적인 산업용 네트워크를 나타내는 개략도이다.
도 2는 1개 또는 복수의 실시 형태에 따른 네트워크 노드의 예시적인 기능을 나타내는 블럭도이다.
도 3은 1개 또는 복수의 실시 형태에 따른 네트워크 노드의 출구 포트의 예시적인 기능을 나타내는 블럭도이다.
도 4는 1개 또는 복수의 실시 형태에 따른 예시적인 트래픽 폴리싱 프로세스를 나타내는 흐름도이다.
도 5는 1개 또는 복수의 실시 형태에 따른 예시적인 트래픽 쉐이핑 프로세스를 나타내는 흐름도이다.
도 6은 1개 또는 복수의 실시 형태에 따른 예시적인 트래픽 쉐이핑 프로세스를 나타내는 흐름도이다.
도 7a는 1개 또는 복수의 실시 형태에 따른 네트워크 노드에 있어서의 수신 동작 및 송신 동작을 나타내는 도면이다.
도 7b는 1개 또는 복수의 실시 형태에 따른 네트워크 노드에 있어서의 수신 동작 및 송신 동작을 나타내는 도면이다.
간결 및 명확하게 예시하기 위해서, 도면은 구성의 일반적인 방법을 나타내고, 주지의 기구 및 기법의 설명 및 상세한 설명은 본 발명의 설명되는 실시 형태의 검토를 불필요하게 이해하기 어렵게 하는 것을 피하기 위해서 생략되는 경우가 있다. 또한, 도면 내의 구성 요소는 반드시 축척대로 그려져 있지 않다. 예를 들면, 도면 내의 요소 중 몇몇의 구성 요소의 치수는 본 발명의 실시 형태를 이해하기 쉽게 하는 것을 돕기 위해서, 다른 구성 요소에 대해서 과장되는 경우가 있다. 현실 세계의 조건하에서 지극히 대칭성이 낮고, 질서가 올바르지 않을 가능성이 있는, 직선, 예각 및/또는 평행한 평면 등을 갖는 구조가 나타날 때와 같이, 어느 특정의 도면은 이해를 돕기 위해서 이상적으로 나타나는 경우가 있다. 상이한 도면에 있어서의 동일 참조 부호는 동일 구성 요소를 나타내고, 또한 유사한 참조 부호는 유사한 구성 요소를 나타내는 경우가 있지만, 반드시 그렇다고는 할 수 없다.
또한, 본 명세서에 있어서의 교시는 다종 다양의 형태로 구현할 수 있다는 것 및 본 명세서에 개시되는 임의의 구체적인 구조 및/또는 기능은 전형에 불과하다는 것은 분명하게 해야 한다. 상세하게는, 본 명세서에 개시되는 형태를 임의의 다른 형태로부터 독립해서 실시할 수 있는 것 및 몇몇의 형태를 여러 방법으로 조합할 수 있다는 것을 당업자가 이해할 수 있다.
본 개시는 1개 또는 복수의 예시적인 실시 형태에 따른 방법, 시스템 및 컴퓨터 프로그램의 기능, 엔진, 블럭도 및 흐름도를 참조하면서 이하에 설명된다. 블럭도 및 흐름도의 설명되는 각 기능, 엔진, 블록은 하드웨어, 소프트웨어, 펌웨어, 미들웨어, 마이크로코드 또는 임의의 적절한 그 조합으로 실현될 수 있다. 소프트웨어로 실시되는 경우에는, 블럭도 및/또는 흐름도의 기능, 엔진, 블록은 컴퓨터 프로그램 명령 또는 소프트웨어 코드에 의해 실시할 수 있고, 컴퓨터 프로그램 명령 또는 소프트웨어 코드는 컴퓨터 판독가능 매체에 기억되거나, 또는 컴퓨터 판독가능 매체를 통해서 송신되거나, 또는 범용 컴퓨터, 전용 컴퓨터 혹은 기계를 생산하는 다른 프로그래머블 데이터 처리 장치상에 로딩될 수 있고, 그것에 의해, 컴퓨터 또는 다른 프로그래머블 데이터 처리 장치상에서 실행되는 컴퓨터 프로그램 명령 또는 소프트웨어 코드가 본 명세서에 설명되는 기능을 실시하기 위한 수단을 작성한다.
컴퓨터 판독가능 매체의 실시 형태는 한정은 하지 않지만, 1개의 장소로부터 다른 장소로의 컴퓨터 프로그램의 전송을 용이하게 하는 임의의 매체를 포함하는 컴퓨터 기억 매체 및 통신 매체의 양쪽 모두를 포함한다. 본 명세서에서 사용될 때, 「컴퓨터 기억 매체」는 컴퓨터 또는 프로세서에 의해 액세스할 수 있는 임의의 물리적인 매체로 할 수 있다. 또한, 「메모리」 및 「컴퓨터 기억 매체」라고 하는 용어는 한정은 하지 않지만, 하드 드라이브, 플래시 드라이브 혹은 다른 플래시 메모리 디바이스(예를 들면, 메모리 키, 메모리 스틱, 키 드라이브), CD-ROM 혹은 다른 광 기억 장치, DVD, 자기 디스크 기억 장치 혹은 다른 자기 기억 디바이스, 메모리 칩(복수의 경우도 있다), RAM, ROM, 전기적 소거 가능 프로그래머블 판독 전용 메모리(EEPROM), 스마트 카드, 혹은 컴퓨터 프로세서에 의해 판독할 수 있는 명령 혹은 데이터 구조의 형태로 프로그램 코드를 반송 또는 기억하기 위해서 사용할 수 있는 임의의 다른 적절한 매체, 또는 그 조합 등의 임의의 타입의 데이터 기억 디바이스를 포함한다. 또한, 여러 형태의 컴퓨터 판독가능 매체는 라우터, 게이트웨이, 서버 또는 다른 전송 디바이스를 포함하는 컴퓨터에, 유선(동축 케이블, 섬유, 트위스트의 페어 선, DSL 케이블)으로 또는 무선(적외선, 전파, 셀룰러, 마이크로파)으로 명령을 송신 또는 반송할 수 있다. 명령은 한정은 하지 않지만, 어셈블리, C, C++, 비주얼 베이직, SQL, PHP 및 JAVA를 포함하는 임의의 컴퓨터 프로그램 언어로부터의 코드를 포함할 수 있다.
그 밖에 구체적으로 명시되지 않는 이상, 이하의 설명을 통해, 처리, 컴퓨팅, 계산, 결정 등의 용어를 이용하는 검토는 컴퓨팅 시스템의 레지스터 또는 메모리 내의 전자적인 양 등의 물리적인 양으로서 나타내는 데이터를 조작하거나, 또는, 이 데이터를 컴퓨팅 시스템의 메모리, 레지스터 혹은 다른 정보 기억 장치, 전송 디바이스 혹은 표시 디바이스 내의 물리적인 양으로서 마찬가지로 나타내는 다른 데이터로 변환하는 컴퓨터, 또는 컴퓨팅 시스템, 또는 유사한 전자 컴퓨팅 디바이스의 동작 또는 프로세스를 나타낸다는 것을 알아야 한다.
「구비한다」, 「포함한다」, 「갖는다」 및 임의의 그 변형 등의 용어는 비배타적 포함을 포함하는 것으로 의도하고, 그것에 의해, 구성 요소의 리스트를 포함하는 프로세스, 방법, 물품 또는 장치는 반드시 그들의 구성 요소에는 한정되지 않고, 그들의 프로세스, 방법, 물품 또는 장치에 명기되지 않거나 또는 고유하지 않은 다른 구성 요소를 포함하는 경우가 있다.
또한, 「예시적인」이라고 하는 용어는 본 명세서에서, 「일례, 사례 또는 예시로서 역할을 하는 것」을 의미하도록 사용된다. 「예시적」으로서 본 명세서에서 설명되는 임의의 실시 형태 또는 설계는 반드시, 다른 실시 형태 또는 설계보다 바람직하거나 유리하다고 해석되어서는 안된다.
이하의 설명 및 특허 청구의 범위에 있어서, 「결합되는」 및 「접속되는」의 용어가 그 파생어와 함께 사용되는 경우가 있다. 특정의 실시 형태에 있어서, 「접속되는」은 2개 이상의 구성 요소가 서로 직접, 물리적으로 또는 전기적으로 접촉하고 있는 것을 나타내기 위해서 사용되는 경우가 있다. 「결합되는」은 2개 이상의 구성 요소가 직접, 물리적으로 또는 전기적으로 접촉하고 있는 것을 의미하는 경우가 있다. 그렇지만, 「결합되는」은 2개의 요소가 서로 직접, 접촉하고 있지는 않지만, 여전히 서로 협동하는지, 또는 서로 작용하는 것을 의미하는 경우도 있다.
본 명세서에서 사용되는 패킷이라고 하는 용어는 노드간 혹은 국(station)간, 또는 네트워크에 걸쳐서 라우팅되거나 또는 전송될 수 있는 데이터의 단위를 포함할 수 있다. 본 명세서에서 사용되는 패킷이라고 하는 용어는 프레임, PDU(Protocol Data Unit) 또는 다른 데이터의 단위를 포함할 수 있다. 패킷은 비트군을 포함할 수 있고, 비트군은 예를 들면, 1개 또는 복수의 어드레스 필드, 제어 필드 및 데이터를 포함할 수 있다. 데이터 블록은 데이터 또는 정보 비트의 임의의 단위로 할 수 있다.
본원 발명의 실시 형태는 여러 적용예에 사용될 수 있다는 것을 알아야 한다. 본 발명은 이 점에서 제한되지 않지만, 본 명세서에 개시되는 트래픽 관리를 위한 방법은 예를 들면, 이더넷 스위치, 이더넷 브리지 또는 이더넷 라우터 등의 패킷 교환 네트워크의 임의의 네트워크 노드에서와 같은 다수의 장치에서 사용될 수 있다. 명확하게 하기 위해서, 이하의 설명은 이더넷 네트워크에 초점을 맞춘다. 그렇지만, 본 발명의 기술적 특징은 이것에 한정되지 않는다.
도 1은 10Mbps, 100Mbps, 1Gbps 또는 10Gbps 이더넷 인터페이스 등의 표준적인 이더넷 인터페이스를 이용해서, 각각의 이더넷 유저 네트워크 인터페이스(UNI)(14a~14c)를 통해 고객 기기(CE) 디바이스(13a~13c)가 어태치(attach)하는 이더넷 서비스 프로바이더 네트워크(12)를 구비하는 예시적인 이더넷 기반 산업용 네트워크(10)를 나타낸다. 본원 발명의 실시 형태가 사용될 수 있는 복수의 네트워크 노드(11a~11c)를 포함하는 이더넷 서비스 프로바이더 네트워크(12)에 의해, CE 디바이스(13a~13c)에 이더넷 서비스가 제공된다.
네트워크 노드(11a~11c)는 이더넷 프로바이더 에지 스위치로서 구성할 수 있고, 네트워크 접속(15a~15c)을 이용해서 링 토폴로지 내에서 서로 접속할 수 있다. 이더넷 서비스 프로바이더 네트워크는 예를 들면, 이더넷 매트로폴리탄 에어리어 네트워크(MAN) 또는 이더넷 와이드 에어리어 네트워크(WAN)로 할 수 있고, 예를 들면, 스위치 또는 브리지 등의 임의의 다른 네트워크 노드(도시하지 않음)를 포함할 수 있다.
네트워크(12)를 위한 링 토폴로지 대신에, 예를 들면, 트리 토폴러지 또는 메시 토폴러지 등의 임의의 적절한 네트워크 토폴로지를 사용할 수 있고, 링 토폴로지가 일례로서 주어지는 것은 관련 기술 분야의 당업자에게는 자명하다.
1개 또는 복수의 실시 형태에 있어서, 네트워크(12)는 각각의 서비스 품질(QoS) 레벨을 가입자에게 또는 산업용 네트워크와 관련있는 어플리케이션(예를 들면, 자동화 제어, 비디오 전송, 소프트웨어 갱신/업그레이드 등)에 제공하도록 동작할 수 있고, QoS 레벨은 패킷 손실 특성 및 전송 시간 특성을 포함한다. 가입자/어플리케이션의 관점으로부터, 네트워크(12)에 의해 제공되는 QoS 레벨은 결과적으로, 이른바 「대역폭 프로파일」로 변환할 수 있고, 대역폭 프로파일은 QoS 파라미터 및/또는 트래픽 파라미터(예를 들면, 최대 이송 지연, 최대 지연 변동(지터) 등)를 규정한다.
본 명세서에서 사용되는 패킷 플로우 또는 플로우의 용어는, 예를 들면, 어드레스, 발신원 및/또는 착신원, 회선 식별자, 식별자, 이송 프로토콜의 타입, VLAN, VID, 어드레스의 쌍(예를 들면, SA 및 DA), 또는 그 조합 등의 1개 또는 몇몇의 공통의 파라미터를 공유하는 패킷의 세트를 포함할 수 있다.
대역폭 프로파일은 네트워크에 의해 서비스 제공되는 플로우마다, 또는 네트워크에 의해 서비스 제공되는 플로우의 군마다 제공될 수 있다.
본원 발명의 실시 형태에 따르면, 에지 네트워크 노드(11a~11c) 중 하나는 대역폭 프로파일을 강제하기 위한 트래픽 관리 기능을 실시한다.
도 2는 본원 발명의 실시 형태에 따른 트래픽 관리 기구를 사용하도록 구성되는 예시적인 네트워크 노드(20)를 나타낸다.
네트워크 노드(20)는 제어 엔진(21)과, 스위치 엔진(25)과, 다중화 엔진(26)과, 트래픽 폴리싱 엔진(27)과, 트래픽 쉐이핑 엔진(28)과, 복수의 포트(22a~22d)와, 시각 기준 엔진(29)과, 메모리(23)를 구비한다.
도 2에 나타내는 아키텍쳐에 있어서, 스위치 엔진(25), 다중화 엔진(26), 트래픽 폴리싱 엔진(27), 트래픽 쉐이핑 엔진(28), 복수의 포트(22a~22d), 시각 기준 엔진(29) 및 메모리(23)는 모두, 제어 엔진(21)을 통해 서로 동작 가능하게 결합된다.
일 실시 형태에 있어서, 포트(22a~22d)는 각각, 이더넷 링크에 결합되도록, 이더넷 인터페이스를 포함하고, 패킷을 송신 및 수신할 수 있다. 또한, 「출구」 포트로 불리는 하나의 포트(22a)는 발신 패킷을 송신하기 위해서 구성할 수 있고, 또한, 「입구」 포트로 불리는 복수의 다른 포트(22b, 22c, 22d)는 착신 패킷을 수신하기 위해서 구성할 수 있다.
일 실시 형태에 있어서, 스위치 엔진(25)은 1개 또는 복수의 입구 포트에 있어서의 수신된 패킷을 출력하기 위해서 출구 포트 중 하나를 향하도록 처리한다. 상세하게는, 스위치 엔진은 각 수신 패킷이 속하는 패킷 플로우를 식별하고, 수신 패킷을 패킷 플로우 식별자에 할당된 출구 포트를 향하도록 구성할 수 있다.
일 실시 형태에 있어서, 각각의 입구 포트에 대해 상이한 패킷 플로우(예를 들면, 상이한 식별자를 갖는 패킷 플로우)가 수신될 수 있고, 동일 출구 포트를 통해 출력되도록, 다중화 엔진(26)에 의해 다중화될 수 있다.
트래픽 폴리싱 엔진(27)은 이하에 설명되는 바와 같이, 패킷 수신시에 동작하는 트래픽 폴리싱 기능을 제공한다. 트래픽 쉐이핑 엔진(28)은 이하에 설명되는 바와 같이, 패킷 송신시에 동작하는 트래픽 쉐이핑 기능을 제공한다. 본원 발명의 실시 형태에 있어서, 트래픽 폴리싱 기능 및 트래픽 쉐이핑 기능은 트래픽 쉐이핑 기능이 트래픽 폴리싱 기능에 의해 결정된 송신을 위해서, 메모리(23)에 기억되는 패킷의 이론적 수신 시각의 값을 사용한다는 점에서 협조해서 동작한다.
시각 기준 엔진(29)은 트래픽 폴리싱 엔진(27) 및/또는 트래픽 쉐이핑 엔진(28)에 의해 조작되는 다양한 처리에 시각 기준을 제공할 수 있다. 이것에 의해, 바람직하게는, 1개 또는 복수의 실시 형태에 있어서, 네트워크 노드(20)에서 실행되는 트래픽 폴리싱 및 트래픽 쉐이핑에 대해서 동일 시각 기준을 사용할 수 있게 된다. 예를 들면, 네트워크 노드(20)는 노드의 링크 및 포트(22a~22d)가 모두 동일 시각 기준을 사용하도록 구성할 수 있다. 시각 기준 엔진은 일부 실시 형태에 있어서, 실시 형태에 따라서, 시간 단위마다 증분되고 그 값이 트래픽 폴리싱 엔진(27) 및/또는 트래픽 쉐이핑 엔진(28)에 의해 현재의 시각의 값으로서 사용되는 기준 클록 디바이스(예를 들면, 수정 디바이스)에 결합되는 시각 카운터를 실현할 수 있다. 일부 실시 형태에서는, 시각 카운터 값(T)은 비트 전송 시간마다, 실시 형태에 따라서, 1시간 단위 또는 수시간 단위마다 증분될 수 있고, 비트 전송 시간은 네트워크 노드(20)에 의해 서포트되는 바이너리 전송 속도를 고려한 1비트의 지속 시간에 대응한다. 예를 들면, 100Mbps 이더넷 링크에 대응하는 비트 전송 시간은 10ns로 될 수 있다.
제어 엔진(21)은 프로세서를 구비하고, 프로세서는 임의의 적절한 마이크로프로세서, 마이크로컨트롤러, 필드 프로그래머블 게이트 어레이(FPGA), 주문형 집적 회로 (ASIC), 디지털 신호 처리 칩 및/또는 상태 기계, 또는 그 조합으로 할 수 있다. 여러 실시 형태에 따르면, 하나 또는 복수의 컴퓨터를, 병렬 컴퓨팅을 제공하기 위한 복수의 프로세서를 갖는 멀티 프로세서 컴퓨터로서 구성할 수 있다. 또, 제어 엔진(21)은 프로세서에 의해 실행될 때 본 명세서에서 설명되는 구성 요소를 프로세서로 하여금 실행하게 하는 컴퓨터 프로그램 명령 또는 소프트웨어 코드를 기억할 수 있는, 한정은 하지 않지만, 메모리(23) 등의 컴퓨터 기억 매체를 구비하거나 또는 그들의 컴퓨터 기억 매체와 통신할 수 있다. 또한, 메모리(23)는 그들과 관련되어 기억된 데이터 패킷의 관리를 용이하게 하기 위해서, 제어 엔진(21)에 결합되어 1개 또는 복수의 포트(22a~22d)를 이용해서 동작 가능한 임의의 타입의 데이터 기억 컴퓨터 기억 매체로 할 수 있다.
도 2를 참조하면서 도시 및 설명되는 네트워크 노드(20)는 일례로서 주어지는 것에 불과하다는 것을 알아야 한다. 다수의 다른 아키텍쳐, 동작 환경 및 구성이 가능하다. 노드의 다른 실시 형태는 보다 적은 또는 보다 많은 수의 구성 요소를 포함할 수 있고, 도 2에 나타나는 네트워크 노드 구성 요소에 대해서 설명된 기능 중 몇몇 또는 모두를 포함할 수 있다. 따라서, 제어 엔진(21), 스위치 엔진(25), 다중화 엔진(26), 트래픽 폴리싱 엔진(27), 트래픽 쉐이핑 엔진(28), 복수의 포트(22a~22d), 시각 기준 엔진(29) 및 메모리(23)는 네트워크 노드(20)의 일부로서 나타내지만, 구성 요소(21~29)의 장소 및 제어에 대해서 제약을 두지 않는다. 상세하게는, 다른 실시 형태에 있어서, 구성 요소(21~29)는 상이한 엔티티 또는 컴퓨팅 시스템의 일부로 할 수 있다.
대역폭 프로파일은 패킷 플로우(Fi)마다 제공될 수 있고, 패킷 플로우(Fi)가 네트워크에 의해 서비스 제공되는 최대 속도를 나타내는 전송 속도(Ri)를 포함한다. 전송 속도(Ri)는 초당 비트(bps)로 나타낼 수 있다. 네트워크 노드는 시그널링을 이용하는 노드의 자동 구성 방식을 통해 및/또는 각 노드의 수동 구성을 위한 관리 툴을 통해, 패킷 플로우에 관련되어 있는 대역폭 프로파일을 사용하기 위해서 구성할 수 있다.
1개 또는 복수의 입구 포트에 대해 동일 플로우에 속하는 패킷 또는 프레임을 수신하면, 그 플로우에 속하는 패킷이 출력되어야 하는 출구 포트(22d)를 향하도록, 수신 패킷은 다른 처리에 더해서 또는 다른 처리에 대한 대체의 처리로서 스위치 엔진(25)에 의해 처리될 수 있다.
본원 발명의 하나 또는 복수의 실시 형태에 있어서, 예를 들면, 선입 선출(FIFO) 큐 관리 알고리즘을 이용해서, 큐로서 관리되는 메모리 공간을, 출구 포트(22d)에서 관리되는 패킷 플로우마다 메모리(23)에 할당할 수 있다.
그 다음, 패킷 플로우(Fi)에 속하고 1개 또는 복수의 입구 포트 상에서 수신되는 패킷
Figure pct00016
은 네트워크 노드의 스위칭 엔진에 의해 처리된 후에 및/또는 수신 패킷에 대해서 다른 타입의 패킷 처리가 실행된 후에, 패킷 플로우(Fi)를 위해서 할당되고 플로우(Fi)를 위한 출구 포트에 관련되어 있는 큐(Qi)에 배치될 수 있다.
도 3은 각각이 1개의 패킷 플로우(Fi)에 관련되어 있는 K개의 메모리 큐(Qi)를 구비하는 네트워크 노드(도 2의 네트워크 노드(20) 등)에 있어서의 출구 포트(30)를 나타내고, 여기서, K는 0보다 큰 정수이다.
도 3은 패킷 플로우(F1, Fi 및 FK)에 각각 관련되어 있는 3개의 메모리 큐(Q1, Qi 및 QK)(31a~31c)를 나타낸다. 출구 포트(30)에 관련되어 있는 K개의 메모리 큐는 출구 포트를 위해서 할당되는 메모리 버퍼에 할당될 수 있다. 각 큐(Qi)(31a~31c)의 사이즈 Size_Qi는 비트 단위로 나타낼 수 있고, 큐의 점유율은 큐(31a~31c) 내의 이용 가능한 공간의 사이즈 Free_Qi를 이용해서 측정될 수 있다. 큐의 각각의 사이즈는 모든 사이즈의 합
Figure pct00017
Size_Qi이 출구 포트(30)에 할당되는 메모리 버퍼의 용량을 넘지 않도록 선택되는 것이 바람직하다. 상기의 파라미터를 이용하면, 각 큐(Qi)(31a~31c)는 Free_Qi=0일 때 채워진 것으로 보이고, Free_Qi=Size_Qi일 때 비어 있는 것으로 보인다.
도 3에 나타내는 예시적인 출구 포트(30)에 있어서, 제 1 메모리 큐(Q1)는 출구 포트(30)를 통해 전송하기 위한 1개의 패킷
Figure pct00018
만을 기억하고, 또한, 제 i 메모리 큐(Qi)는 3개의 패킷
Figure pct00019
,
Figure pct00020
Figure pct00021
을 기억하고, 제 K 메모리 큐(QK)는 2개의 패킷
Figure pct00022
Figure pct00023
을 기억한다.
1개 또는 복수의 실시 형태에서는, 이론적 수신 시각(TRT) 값이 출구 포트(30)에서 메모리 큐에 입력(enqueue)되는 패킷마다 계산된다. 패킷의 TRT 값은 이하에 설명되는 바와 같이, 그 패킷이 속하는 플로우의 이전에 수신된 패킷의 사이즈, 그 플로우에 관련되어 있는 전송 속도값 Ri, 및 플로우의 이전에 수신된 패킷의 TRT 값 또는 실제 수신 시각(ART) 값을 이용해서 구할 수 있다.
1개 또는 복수의 실시 형태에서는, 메모리 큐(Qi)i =1…K는 FIFO 큐로서 관리되고, 각각의 플로우(Fi)i =1…K의 패킷은 노드에 있어서의 도착 순서에 따라서 차례로 대응하는 큐에 기억되고, 그것에 의해, 일련 번호(도 3에서 인덱스 n를 사용)가 각 패킷에 할당될 수 있다.
예를 들면, 도 3에 나타내는 제 i 메모리 큐(Qi)의 경우, 대응하는 TRT 값
Figure pct00024
와 함께 기억되는 패킷
Figure pct00025
은 큐(Qi)의 선두에 있고, 패킷
Figure pct00026
의 이전에 큐에 입력되도록 되고, 패킷
Figure pct00027
자체는 큐(Qi)에 있어서 다음에 오는 패킷
Figure pct00028
의 이전에 큐에 입력되었다.
마찬가지로, 플로우(Fi)에 관련되어 있는 전송 속도(Ri)는 플로우(Fi)의 패킷이 대응하는 Qi 내에서 수신된다고 예상되는 속도에 대응하도록 선택할 수 있으므로, 큐(Qi) 내의 패킷 수신의 이론 속도를 나타내도록 선택할 수 있다.
동일 플로우(Fi)에 속하는 패킷
Figure pct00029
이, 이 이론 속도(Ri)보다 조금 높은 주기성으로 큐(Qi)에 도착하는 경우에는, 큐(Qi)는 서서히 채워지고, 플로우(Fi)에 관한 지터 조건이 존재하게 된다. 마찬가지로, 동일 플로우(Fi)에 속하는 패킷
Figure pct00030
이, 이 이론 속도(Ri)보다 훨씬 높은 주기성으로 큐(Qi)에 도착하는 경우에는, 큐(Qi)는 급속히 채워지게 되고, 플로우(Fi)에 관한 버스트 조건이 존재하게 된다.
1개 또는 복수의 실시 형태에 있어서, 각 큐(Qi)의 사이즈 Size_Qi는 플로우(Fi)의 경우에 허용되는 버스트 또는 지터 허용량에 따라 대응하는 플로우(Fi)에 대해 구할 수 있다.
1개 또는 복수의 실시 형태에 있어서, 출구 포트(30)를 통해 전송하기 위해서 본 명세서에서 설명되는 트래픽 폴리싱 방식을 이용해서 패킷을 선택할 수 있다.
출구 포트(30)를 통해 전송하기 위해서 패킷을 선택하면, 실시 형태에 따라서, 그 관련하는 TRT 값과 함께, 선택된 패킷이 그 큐로부터 제거된다. 패킷이 큐로부터 출력(dequeue)될 때, 그 관련되는 TRT 값은 그 값이 기억된 메모리로부터 삭제될 수 있다. 그 후, 출구 포트(30)에 의해, 그 포트가 결합되는 링크 상에 패킷을 출력할 수 있도록, 패킷은 전송 버퍼(32) 내에 입력된다. 이하에 설명되는 바와 같이, 각각의 큐의 선두 패킷 중의 가장 작은 이론적 수신 시각에 근거해서, 큐 내의 다중화 기능을 실행하도록, 전송 버퍼(32)가 트래픽 쉐이핑 엔진에 의해 관리된다.
도 3을 참조하면서 도시 및 설명되는 출구 포트(30)는 일례로서 주어진 것에 불과하다는 것을 알아야 한다. 여러 다른 아키텍쳐, 동작 환경 및 구성이 가능하다. 포트의 다른 실시 형태는 보다 적은 또는 보다 많은 수의 구성 요소를 포함할 수 있고, 도 3에 나타나는 포트 구성 요소에 대해서 설명된 기능 중 일부 또는 모두를 포함할 수 있다.
패킷 수신시의 트래픽 폴리싱 동작
도 4를 참조하면서, 수신시의 패킷의 트래픽 폴리싱이 이하에 설명된다.
플로우(Fi)의 패킷
Figure pct00031
의 수신시(41)에, 수신 패킷
Figure pct00032
의 사이즈
Figure pct00033
는, 패킷
Figure pct00034
이 도착한 입구 포트에 있어서의 패킷의 수신 프로세스의 일부로서 또는 그 후에 구해진다(42).
예를 들면, 입구 포트에서 수신되는 패킷의 비트는 수신 패킷 내의 순회 중복 검사 및 검출 에러를 계산하기 위해서, 포트에 할당된 메모리 버퍼에 기억된다. 패킷의 마지막 비트의 수신을 검출하면, 패킷은 그 전체가 수신되었다고 보고, 그 가변 사이즈
Figure pct00035
을 구할 수 있다.
패킷
Figure pct00036
의 실제 수신 시각
Figure pct00037
이 구해진다. 1개 또는 복수의 실시 형태에 있어서,
Figure pct00038
값은, 패킷
Figure pct00039
의 마지막 비트의 수신을 검출하면, 도 2에 참조하면서 설명된 바와 같이, 현재 시각 카운터 값을 메모리에 기억함으로써 구해지는 것이 바람직하다. 대안으로는, ART 값은, 패킷
Figure pct00040
의 임의의 부분의 수신을 검출하면, 예를 들면, 패킷
Figure pct00041
의 제 1 비트의 수신을 검출하면, 기억될 수 있다.
플로우(Fi)에 관련되어 있는 큐(Qi) 내의 이용 가능한 공간 Size_Qi가 수신 패킷
Figure pct00042
의 사이즈
Figure pct00043
이상인 경우에는(43), 플로우(Fi)에 관련되어 있는 큐(Qi) 내에 수신 패킷
Figure pct00044
를 기억하기 위해서 이용 가능한 공간이 여전히 존재하고, 패킷이 큐(Qi)에 입력된다(44). 플로우(Fi)에 관련되어 있는 큐(Qi) 내의 이용 가능한 공간 Size_Qi는, 그 후, 큐에 입력된 패킷
Figure pct00045
의 사이즈
Figure pct00046
에 근거해서 갱신된다(45).
수신 패킷
Figure pct00047
의 이론적 수신 시각
Figure pct00048
이 플로우(Fi)에 대해 규정된 전송 속도(Ri)에 근거해서, 플로우 내의 이전에 수신된 패킷
Figure pct00049
에 관련되는 정보를 이용해서 구할 수 있다. 1개 또는 복수의 실시 형태에서는, 수신 패킷
Figure pct00050
의 이론적 수신 시각
Figure pct00051
값은, 패킷
Figure pct00052
의 수신전에, 플로우(Fi)의 패킷이 그것을 통해 출력된 출구 포트에 할당된 메모리 큐 내에 기억될 수 있다.
수신 패킷
Figure pct00053
의 이론적 수신 시각
Figure pct00054
값 및 실제 수신 시각
Figure pct00055
값은 메모리로부터 검색되어 비교된다(47). 패킷
Figure pct00056
의 이론적 수신 시각
Figure pct00057
이 패킷
Figure pct00058
의 실제 수신 시각
Figure pct00059
보다 큰 경우에는, 그 패킷은 이론적 수신 시각전에 도착한다. 상술한 바와 같이, 이것은 패킷 플로우(Fi)의 경우의 지터 또는 버스트 조건의 어느 한쪽을 나타낸다. 이러한 경우, 플로우(Fi)에 대해 수신되는 다음의 패킷
Figure pct00060
의 이론적 수신 시각
Figure pct00061
은 패킷
Figure pct00062
의 이론적 수신 시각
Figure pct00063
, 플로우(Fi)에 대해 규정되는 전송 속도(Ri) 및 수신 패킷의 사이즈
Figure pct00064
에 근거해서 구할 수 있고(48), 플로우의 다음에 수신되는 패킷
Figure pct00065
를 위해 사용하기 위해서 메모리에 기억된다(52). 예를 들면, 플로우(Fi)를 위해서 수신되는 다음의 패킷
Figure pct00066
의 이론적 수신 시각
Figure pct00067
는 이하와 같이 구해진다.
Figure pct00068
플로우(Fi)에 관련되어 있는 큐(Qi) 내에 여전히 이용 가능한 공간이 존재하므로, 패킷
Figure pct00069
는, 그럼에도 불구하고, 아마도 플로우 내의 다음의 패킷을 위해서 구해진 이론적 수신 시각
Figure pct00070
과 함께, 큐(Qi) 내에 기억된다.
그것과 반대로, 플로우(Fi)에 관련되어 있는 큐(Qi) 내의 이용 가능한 공간 Size_Qi가 수신 패킷
Figure pct00071
의 사이즈
Figure pct00072
이상이라고 여전히 가정할 때, 패킷
Figure pct00073
의 이론적 수신 시각
Figure pct00074
이 패킷
Figure pct00075
의 실제 수신 시각 이하인 경우에는, 그 패킷은 그 이론적 도착 시각에 또는 그 후에 도착한다. 그러한 경우, 플로우(Fi)에 대해 수신되는 다음의 패킷
Figure pct00076
의 이론적 수신 시각
Figure pct00077
는 패킷
Figure pct00078
의 실제 수신 시각
Figure pct00079
과, 플로우(Fi)에 대해 규정되는 전송 속도(Ri)와 수신 패킷의 사이즈
Figure pct00080
에 근거해서 구할 수 있고(49), 플로우의 다음에 수신되는 패킷
Figure pct00081
에 사용하기 위해서 메모리에 기억된다(52). 예를 들면, 플로우(Fi)에 대해 수신되는 다음의 패킷
Figure pct00082
의 이론적 수신 시각
Figure pct00083
는 이하와 같이 구해진다.
Figure pct00084
플로우(Fi)에 관련되어 있는 큐(Qi) 내에 여전히 이용 가능한 공간이 존재하므로, 패킷
Figure pct00085
은, 그럼에도 불구하고, 아마, 플로우 내의 다음의 패킷을 위해서 구해진 이론적 수신 시각
Figure pct00086
과 함께, 큐(Qi) 내에 기억된다.
플로우(Fi)에 관련되어 있는 큐(Qi) 내의 이용 가능한 공간 Size_Qi가 수신 패킷
Figure pct00087
의 사이즈
Figure pct00088
보다 작은 경우에는, 수신 패킷은 파기되고(50), 플로우(Fi)를 위해 수신되는 다음의 패킷
Figure pct00089
의 이론적 수신 시각
Figure pct00090
이 패킷
Figure pct00091
의 이론적 수신 시각
Figure pct00092
과 동일하다고 판단된다(51).
Figure pct00093
플로우(Fi)를 위해 수신되는 다음의 패킷
Figure pct00094
의 이론적 수신 시각
Figure pct00095
는 그 후, 플로우의 다음의 수신 패킷
Figure pct00096
에 사용하기 위해서 메모리에 기억된다(52). 패킷 플로우의 다음의 패킷을 수신하면, 이러한 다음의 패킷이 트래픽 폴리싱에 의해 파기되지 않을 때, 이 다음의 패킷의 이론적 수신 시각
Figure pct00097
값은, 큐에 또한 입력되는 다음의 패킷에 관련되어 큐 내에 카피될 수 있다. 실시 형태에 따르면, 패킷의 각 수신시에 구해진 TRT 값을 기억하기 위해서, 메모리 버퍼를 사용할 수 있다. 트래픽 폴리싱에 의해 다음의 패킷이 파기되지 않는 경우, 다음의 패킷 및 그 TRT 값이 큐에 입력되면, 이 다음의 패킷의 이론적 수신 시각
Figure pct00098
값은 다음의 패킷에 근거해서 구해진 새로운 TRT
Figure pct00099
값으로 갱신될 수 있다. 그러므로, TRT 메모리 버퍼는 새롭게 수신된 패킷이 그 플로우에 대응하는 메모리 큐 내에 입력될 때마다 갱신될 수 있다.
1개 또는 복수의 실시 형태에서는, 상기의 트래픽 폴리싱 동작은 연속 루프의 반복의 일부로서 실행될 수 있고, 각 루프 반복은 패킷이 수신되는지 여부를 판단하는(40) 테스트로 개시된다. 패킷
Figure pct00100
이 수신된 경우에는, 상기의 동작이 실행되고, 그 루프의 반복은 도 4에 나타내는 바와 같이, 계산값
Figure pct00101
을 기억하고 종료한다. 패킷이 수신되지 않은 경우에는, 루프는 다른 패킷 수신 테스트를 실행한다.
또한, 루프는 상기의 트래픽 폴리싱 동작을 구동하는 기준 시각과 동기시킬 수 있다. 예를 들면, 도 4에 나타내는 바와 같이, 기준 시각값을 제공하는 시각 카운터가 증분되면, 루프의 새로운 반복이 실행되도록, 루프를 제어할 수 있다. 실시 형태에 따르면, 시각 카운터 값이 1시간 단위 또는 수시간 단위로 증분되면, 새로운 반복이 실행되도록, 루프를 설계할 수 있다.
현재 처리되는 패킷
Figure pct00102
의 TRT 값
Figure pct00103
은 그 플로우(Fi)에 대한 일련의 수신 패킷 내의 현재 처리되는 패킷
Figure pct00104
에 선행하는 패킷
Figure pct00105
에 대해서 상술한 바와 같은 동작을 이용해서, 즉, 플로우의 이전에 수신된 패킷
Figure pct00106
의 사이즈
Figure pct00107
와, 플로우에 관련되어 있는 전송 속도값(Ri)과, 플로우의 이전에 수신된 패킷의 TRT 값
Figure pct00108
이, 플로우의 이전에 수신된 패킷의 실제 수신 시각(ART) 값
Figure pct00109
보다 작은 경우에는,
Figure pct00110
값에 근거해서, 그렇지 않은 경우에는,
Figure pct00111
값에 근거해서, 구할 수 있다.
예를 들면, 이러한 동작은 플로우에 속하는 수신 패킷마다 루프의 일부로서 실행될 때의 경우일 수 있다. 이러한 루프의 제 1 반복에 대해, 즉, 패킷 플로우에 대응하는 최초의 수신 패킷에 대해, 그 최초의 수신 패킷의 수신에 대응하는 시각 기준값이 이러한 패킷의 이론적 수신 시각으로서 선택될 수 있다. 동일 플로우에 대해 다음에 수신된 패킷은 그 후, 상기의 트래픽 폴리싱 동작을 이용해서 취급될 수 있다.
패킷 송신을 위한 트래픽 쉐이핑 동작
도 5를 참조하면서, 패킷의 송신을 위한 트래픽 쉐이핑 동작이 이하에 설명된다.
상술하고 도 3에 나타낸 바와 같이, 패킷 플로우에 속하는 패킷은 각각의 이론적 수신 시각값과 함께, 아마 FIFO 큐로서 관리되는 메모리 큐 내의 출구 포트에서 기억될 수 있다.
이하의 트래픽 쉐이핑 동작은 각각의 메모리 큐 내에 입력되는 패킷의 출구 포트를 통한 송신을 제어하는 것을 목적으로 한다.
패킷이 수신 순서로 기억된 메모리 큐(Qi)에 대해(50), 선두 패킷, 즉, 플로우 내에 기억된 가장 빠른 수신 패킷이 송신되기 위해서 검토되고(55), 그 이론적 수신 시각이 현재의 시각 카운터 값과 비교된다(51).
메모리 큐의 선두 패킷의 TRT 값이, 현재의 시각 카운터 값 이하인 경우에는, 출구 포트를 통해 송신하기(52) 위해서, 그 패킷이 선택된다.
그 후, 그 패킷은 큐로부터 제거되고(53) 출력되어, 큐의 이용 가능한 공간 값을 출력된 패킷의 사이즈에 따라 갱신한다(54).
트래픽 폴리싱 동작과 같이, 1개 또는 복수의 실시 형태에 있어서, 상기의 트래픽 쉐이핑 동작은 연속 루프의 반복의 일부로서 실행될 수 있고, 각 루프 반복은 메모리 큐(Qi)가 비어 있는지 여부를 판단하는(50) 테스트로 개시된다. 큐(Qi)가 비어 있지 않으면, 상기의 동작이 실행되고, 루프의 반복은 도 5에 나타내는 바와 같이, 선두 패킷의 송신으로 종료된다. 큐(Qi)가 비어 있으면, 루프는 다른 큐 비어 있음 테스트를 실행한다.
바람직하게는, 도 5에 나타내는 바와 같이, 루프 프로세스는 다음의 반복으로 진행되기 전에, 출력된 패킷이 완전히 송신되는 것을 기다린다(56). 예를 들면, 패킷의 마지막 비트가, 출구 포트가 결합되는 링크 상에 출력되었을 때에, 패킷은 출구 포트로부터 송신되었다고 볼 수 있다.
또한, 루프는 상기의 트래픽 쉐이핑 동작을 구동하는 기준 시각과 동기시킬 수 있다. 예를 들면, 도 5에 나타내는 바와 같이, 기준 시각값을 제공하는 시각 카운터가 갱신되면(55), 루프의 새로운 반복이 실행되도록, 루프를 제어할 수 있다. 시각 카운터 갱신은 1시간 단위 또는 복수 시간 단위씩 증분하는 것을 포함할 수 있다. 실시 형태에 따르면, 시각 카운터 값이 1시간 단위 또는 수시간 단위씩 증분되면, 새로운 반복이 실행되도록, 루프를 설계할 수 있다.
또한, 시각 기준(T)은 트래픽 폴리싱에 대해 사용되는 시각 기준과 공통으로 할 수 있거나, 또는 그 시각 기준을 토대로 할 수 있다. 이와 관련하여, 1개 또는 복수의 실시 형태에서는, 트래픽 폴리싱에 대해 사용되는 시각 기준과 비교되는, 트래픽 쉐이핑에 대해 사용되는 시각 기준을 오프셋하도록, 시간 오프셋을 실시할 수 있다. 상세하게는, 이러한 시간 오프셋의 값은 사전에 정할 수 있거나 동적으로 결정할 수 있다. 1개 또는 복수의 실시 형태에서는, 시간 오프셋은 트래픽 폴리싱에 대해 사용되는 패킷 수신 방식에 따라서 결정할 수 있다. 예를 들면, 상술한 바와 같이, 패킷
Figure pct00112
의 제 1 비트의 수신을 검출하면 ART 값이 기억되는 실시 형태에서는, 시각 기준(T)의 갱신에 대한 시간 오프셋은, 패킷
Figure pct00113
을 위해서 계산된 TRT의 시프트된 값에 근거해서, 본 명세서에 개시되는 트래픽 쉐이핑 방식에 따른 패킷
Figure pct00114
의 송신을 트리거할 수 있도록 계산될 수 있다.
도 6은 본원 발명의 다른 실시 형태에 따른 패킷의 송신을 위한 트래픽 쉐이핑 동작을 나타낸다.
도 3에 나타내는 바와 같이, 몇몇 메모리 큐는 각각의 패킷 플로우에 각각 대응하는 출구 포트에서 관리될 수 있다. 이러한 경우, 출구 포트에 대해 실행되는 트래픽 쉐이핑 루프의 반복은, 출구 포트가 비어 있는지 여부, 즉, 비어 있지 않는 출구 포트에 대해 관리되는 적어도 1개의 메모리 큐가 존재하는지 여부에 대한 판단으로 개시할 수 있다.
출구 포트가 비어 있지 않으면, 즉, 패킷이 수신 순서로 기억되어 있는 (도 3에 나타내는) 1개 또는 몇몇의 메모리 큐(Qi)i =1…K가 존재하면, 큐의 선두 패킷(즉, 각각의 큐에 있어, 큐 내에 기억된 플로우의 가장 빨리 수신된 패킷)의 각각의 TRT 값이 서로 비교되고, 최소치
Figure pct00115
가 선택된다(61). 이 최소의 TRT 값은 그 후 현재의 시각 카운터 값과 비교된다(62).
최소의 TRT 값이 현재의 시각 카운터 값 이하이면, 대응하는 선두 패킷이 출구 포트를 통해 송신하기(63) 위해서 선택된다.
그 후, 패킷은 큐로부터 제거되고(64) 출력되고, 출력된 패킷의 사이즈에 따라, 큐의 이용 가능한 공간값이 갱신된다(65).
출구 포트가 비어 있으면, 루프는 다른 출구 포트의 비어 있음 테스트를 실행한다.
바람직하게는, 도 6에 나타내는 바와 같이, 루프 프로세스는 다음의 반복을 처리하기 전에, 출력된 패킷이 완전히 송신되는 것을 기다릴 수 있다(67). 예를 들면, 패킷의 마지막 비트가, 출구 포트가 결합되는 링크 상에 출력되었을 때에, 패킷은 출구 포트로부터 송신되었다고 볼 수 있다.
또한, 루프는 상기의 트래픽 쉐이핑 동작을 구동하는 기준 시각과 동기시킬 수 있다. 예를 들면, 기준 시각값을 제공하는 시각 카운터가 갱신되면(66), 루프의 새로운 반복이 실행되도록, 루프를 제어할 수 있다. 시각 카운터 갱신은 1시간 단위 또는 복수 시간 단위씩 증분하는 것을 포함할 수 있다. 실시 형태에 따르면, 시각 카운터 값이 1시간 단위 또는 수시간 단위씩 증분되면, 새로운 반복이 실행되도록, 루프를 설계할 수 있다.
상술한 바와 같이, 1개 또는 복수의 실시 형태에 있어서, 트래픽 쉐이핑을 위해서 사용되는 시각 기준(T)은 트래픽 폴리싱에 대해 사용되는 시각 기준과 공통으로 할 수 있거나 그 시각 기준을 토대로 할 수 있다. 이와 관련하여, 1개 또는 복수의 실시 형태에서는, 트래픽 폴리싱에 대해 사용되는 시각 기준과 비교되는, 트래픽 쉐이핑에 대해 사용되는 시각 기준을 오프셋하도록, 시간 오프셋을 실시할 수 있다. 상세하게는, 이러한 시간 오프셋의 값은 사전에 정해지거나 동적으로 결정할 수 있다. 1개 또는 복수의 실시 형태에서는, 시간 오프셋은 트래픽 폴리싱에 대해 사용되는 패킷 수신 방식으로 따라서 결정할 수 있다. 예를 들면, 상술한 바와 같이, 패킷
Figure pct00116
의 제 1 비트의 수신을 검출하면 ART 값이 기억되는 실시 형태에서는, 시각 기준(T)의 갱신을 위한 시간 오프셋은, 패킷
Figure pct00117
을 위해서 계산된 TRT의 시프트된 값에 근거해서, 본 명세서에 개시되는 트래픽 쉐이핑 방식에 따른 패킷
Figure pct00118
의 송신을 트리거할 수 있도록 계산될 수 있다.
도 7a 및 도 7b는 제안되는 방법의 실시 형태에 따른 네트워크 노드에 있어서의 수신 및 송신 동작을 나타낸다.
도 7a는 수신 패킷의 마지막 비트의 수신을 검출하면 수신 패킷의 ART 값이 기억되는, 네트워크 노드에 있어서의 패킷의 수신 및 송신을 나타내며, 그에 대해, 도 7b는 수신 패킷의 최초의 비트의 수신을 검출하면 수신 패킷의 ART 값이 기억되는, 네트워크 노드에 있어서의 패킷의 수신 및 송신을 나타낸다.
도 7a 및 도 7b 각각은 각각이 사이즈
Figure pct00119
,
Figure pct00120
Figure pct00121
를 갖는 패킷 플로우(Fi)에 대해 네트워크 노드에 의해 연속적으로 수신되는 3개의 패킷
Figure pct00122
,
Figure pct00123
Figure pct00124
을 나타낸다. 제 1 수신 패킷
Figure pct00125
은 그 이론적 수신 시각
Figure pct00126
과 동일한 실제 수신 시각
Figure pct00127
에 수신된다. 제 1 수신 패킷
Figure pct00128
을 송신하기 위해서 큐에 입력될 수 있다고 가정하면, 다음의 패킷
Figure pct00129
의 TRT는
Figure pct00130
으로서 계산되어, 메모리에 기억된다. 도면에 도시된 바와 같이, 다음의 패킷
Figure pct00131
은 그 TRT 값
Figure pct00132
의 훨씬 전에 네트워크 노드에 의해 수신된다. 다음의 패킷
Figure pct00133
을 송신하기 위해서 큐에 입력될 수 있다고 가정하면, 후속의 패킷
Figure pct00134
의 TRT는
Figure pct00135
으로서 계산된다. 후속의 패킷
Figure pct00136
은 수신의 이론 시각
Figure pct00137
이후에 네트워크 노드에 의해 수신된다. 다음의 패킷
Figure pct00138
을 송신하기 위해서 큐에 입력될 수 있다고 가정하면, 플로우(Fi)의 후속의 패킷
Figure pct00139
의 TRT는
Figure pct00140
으로서 계산된다.
상술한 바와 같이, 트래픽 폴리싱 기능(패킷의 수신용) 및 트래픽 쉐이핑 기능(패킷의 송신용)은 현재의 시각 기준을 공유할 수 있다. 시각 기준이 시간 단위로 증분되는 시각 카운터를 이용해서 실현될 때, 단일의 시간 단위 내에서 발생하는 이벤트는, 패킷의 수신의 종료 및 그 패킷의 송신의 개시에 대해 도면에 도시한 바와 같이, 순간(instantaneous)인 것으로 볼 수 있다. 이는 예시에 불과하다는 것과, 수신 프로세스 자체를 포함하는 수신 패킷의 여러 처리는 도면에 나타내지 않은 처리 상의 시간 지연을 받을 수 있다는 것은 관련 기술 분야의 당업자에게는 자명하다.
도 7a를 참조하면, 패킷 플로우(Fi)에 대해 네트워크 노드에 의해 연속적으로 수신되는 패킷
Figure pct00141
,
Figure pct00142
Figure pct00143
의 송신에 대해서, 이들 수신 패킷이 네트워크 노드의 트래픽 폴리싱 기능에 의해 파기되지 않는다고 가정하면, 송신하기 위해서 고려될 때의 시각 기준치(T)가 그 TRT 값
Figure pct00144
이상이므로, 제 1 수신 패킷이 수신되면 거의 즉시 송신된다. 이는 그 이론적 수신 시각
Figure pct00145
의 훨씬 전에 네트워크 노드에 의해 수신된 다음의 패킷
Figure pct00146
에 대한 경우에 맞지 않는다. 그 다음, 트래픽 쉐이핑 기능은 시각 기준치가 이 이론적 수신 시각
Figure pct00147
값 이상이 될 때까지 기다리고, 그 결과,
Figure pct00148
의 송신은 이론적 수신 시각
Figure pct00149
값의 이후의 시각까지 지연될 수 있다. 상술한 사항은 또한 그 이론적 수신 시각
Figure pct00150
값의 이후에 수신된 후속의 패킷
Figure pct00151
의 경우에는 맞지 않는다. 트래픽 쉐이핑 기능에 의해 지연은 더해지지 않고, 패킷의 송신은 수신 및 그 처리가 완료되면 즉시 실행될 수 있다.
도 7b를 참조하면, 패킷의 송신에 대해서, 패킷 플로우(Fi)에 대해 네트워크 노드에 의해 연속적으로 수신되는 각 패킷
Figure pct00152
,
Figure pct00153
Figure pct00154
의 송신은, 각 패킷의 송신을 위해서 결정된 오프셋을 제외하고, 도 7a에 나타내는 송신 방식과 유사하다. 송신하기 위해 고려될 때의 이 패킷을 위해서 결정된 오프셋 offset(n)만큼 시프트된 시각 기준치(T)가 그 TRT 값
Figure pct00155
이상이므로, 제 1 수신 패킷은 오프셋
Figure pct00156
만큼 시프트한 그 TRT 값에 대응하는 시각에 송신된다. 상기는 그 이론적 수신 시각
Figure pct00157
의 훨씬 전에 네트워크 노드에 의해 수신된 다음의 패킷
Figure pct00158
에 대해서는 맞지 않는다. 그 다음, 트래픽 쉐이핑 기능은 시각 기준치가 이 패킷을 위해서 결정된 오프셋 offset(n+1)만큼 시프트된 이론적 수신 시각
Figure pct00159
값 이상으로 될 때까지 기다리고, 그 결과,
Figure pct00160
의 송신은 오프셋 offset(n+1)만큼 시프트된 이론적 수신 시각
Figure pct00161
값의 이후의 시각까지 지연될 수 있다. 상술한 사항은 또한 그 이론적 수신 시각
Figure pct00162
값의 이후에 수신된 후속의 패킷
Figure pct00163
에 대해서는 맞지 않는다. 트래픽 쉐이핑 기능에 의해 지연은 더해지지 않고, 패킷의 송신은 이 후속의 패킷
Figure pct00164
을 위해서 결정된 오프셋 offset(n+2)를 조건으로 해서 수신 및 그 처리가 완료되면 즉시 실행될 수 있다.
본 발명은 바람직한 실시 형태에 관해서 설명되었지만, 첨부의 특허 청구의 범위에 의해 규정되는 본 발명의 취지 또는 범위로부터 벗어나지 않고, 본 발명에 대해서 여러 변경 및/또는 수정을 가할 수 있다는 것은 당업자에게는 자명하다.
본 발명은 어느 특정의 바람직한 실시 형태와 관련해서 개시되었지만, 그 시스템, 디바이스 및 방법의 특정의 이점, 특징 및 형태는 여러 다른 실시 형태로 실현될 수 있다는 것을 알아야 한다. 또한, 본 명세서에서 설명되는 여러 형태 및 특징은 개별적으로 실현될 수 있거나, 서로 조합할 수 있거나, 서로 대체될 수 있다는 것과, 특징 및 형태의 여러 조합 및 부분적인 조합은 본 발명의 범위 내에서 이루어질 수 있다. 또한, 상술한 시스템 및 디바이스는 바람직한 실시 형태로 설명된 모듈 및 기능의 모두를 포함할 필요는 없다.
본 명세서에서 설명되는 정보 및 신호는 여러 다른 기술과 기법 중 어느 하나를 이용해서 나타낼 수 있다. 예를 들면, 데이터, 명령, 커멘드, 정보, 신호, 비트, 심볼 및 칩은 전압, 전류, 전자파, 자계 또는 자기 입자, 광학 필드 또는 광학 입자, 또는 그 임의의 조합에 의해 나타낼 수 있다.
실시 형태에 따라서, 본 명세서에 설명된 방법 중 어느 하나의 특정의 동작, 이벤트 또는 기능은 상이한 순서로 실행될 수 있거나, 추가되거나, 통합되거나, 모두 제외될 수 있다(예를 들면, 방법을 실천하기 위해서, 설명되는 모든 동작 또는 이벤트가 필요하다고 할 수 없다). 또한, 어느 특정의 실시 형태에서는, 동작 또는 이벤트는 순차적인 것이 아니라, 동시에 실행될 수 있다.

Claims (16)

  1. 패킷 교환 네트워크 내의 네트워크 노드에 있어서의 트래픽 관리를 위한 방법으로서,
    상기 네트워크 노드는, 패킷 플로우(packet flow)에 속하는 패킷을 출력하기 위한 적어도 1개의 출구 포트(egress port)와, 상기 패킷 플로우의 착신 패킷(incoming packet)을 수신하기 위한 1개 또는 복수의 입구 포트(ingress port)를 구비하고,
    상기 방법은, 상기 패킷 플로우에 속하고, 상기 패킷 플로우에 관련되어 있는 메모리 큐에 기억된 현재의 패킷에 대해서 트래픽 쉐이핑(traffic shaping)을 실행하는 것을 포함하며,
    상기 트래픽 쉐이핑은, 상기 현재의 패킷의 이론적 수신 시각(TRT) 값이 시각 카운터 값 이하인 경우에는, 상기 출구 포트를 통해 상기 현재의 패킷을 출력하는 것을 포함하고,
    상기 패킷의 상기 TRT 값은, 상기 현재의 패킷의 이전에 수신된 상기 패킷 플로우의 선행하는 패킷이 트래픽 폴리싱(traffic policing)에 의해 파기되어 있지 않을 때에는, 상기 선행하는 패킷의 사이즈와, 상기 패킷 플로우에 관련되어 있는 전송 속도값을 이용하고, 상기 선행하는 패킷의 TRT 값이 상기 선행하는 패킷의 실제 수신 시각(ART) 값보다 큰 경우에는, 상기 선행하는 패킷의 상기 TRT 값을 이용하고, 그렇지 않은 경우에는, 상기 선행하는 패킷의 상기 ART 값을 이용하거나, 또는 상기 선행하는 패킷이 트래픽 폴리싱에 의해 파기되었을 때에는, 상기 선행하는 패킷의 상기 TRT 값을 이용해서, 상기 패킷 플로우의 착신 패킷의 트래픽 폴리싱을 실행함으로써 구해지는
    트래픽 관리를 위한 방법.
  2. 제 1 항에 있어서,
    상기 트래픽 폴리싱은, 상기 패킷 플로우의 사이즈가 해당 패킷 플로우에 관련되어 있는 상기 메모리 큐 내의 이용 가능한 공간을 초과하는 상기 패킷 플로우에 속하는 수신 패킷을 파기하는 것을 포함하는 트래픽 관리를 위한 방법.
  3. 제 1 항 또는 제 2 항에 있어서,
    상기 트래픽 폴리싱은 트래픽 폴리싱 루프의 반복으로 실행되고, 상기 트래픽 폴리싱 루프의 반복은 상기 시각 카운터 값이 적어도 1시간 단위로 증분되었을 때에 실행되는 트래픽 관리를 위한 방법.
  4. 제 1 항 내지 제 3 항 중 어느 한 항에 있어서,
    상기 트래픽 쉐이핑은 트래픽 쉐이핑 루프의 반복으로 실행되고, 상기 트래픽 쉐이핑 루프의 반복은 상기 시각 카운터 값이 갱신되었을 때에 실행되는 트래픽 관리를 위한 방법.
  5. 제 4 항에 있어서,
    상기 트래픽 쉐이핑은 트래픽 쉐이핑 루프의 반복으로 실행되고, 상기 트래픽 쉐이핑 루프의 반복은 상기 시각 카운터 값이 적어도 1시간 단위로 증분되었을 때에 실행되는 트래픽 관리를 위한 방법.
  6. 제 4 항에 있어서,
    상기 트래픽 쉐이핑은 트래픽 쉐이핑 루프의 반복으로 실행되고, 상기 트래픽 쉐이핑 루프의 반복은 상기 시각 카운터 값이 시간 오프셋만큼 시프트되었을 때에 실행되는 트래픽 관리를 위한 방법.
  7. 제 1 항 내지 제 6 항 중 어느 한 항에 있어서,
    상기 선행하는 패킷의 상기 TRT 값
    Figure pct00165
    이 상기 선행하는 패킷의 상기 ART 값
    Figure pct00166
    보다 클 때, 상기 패킷의 상기 TRT 값
    Figure pct00167
    Figure pct00168
    으로서 구해지고, 여기서,
    Figure pct00169
    은 상기 선행하는 패킷의 상기 TRT 값이며,
    Figure pct00170
    는 상기 선행하는 패킷의 사이즈이며, Ri는 상기 패킷 플로우에 관련되어 있는 전송 속도값인 트래픽 관리를 위한 방법.
  8. 제 1 항 내지 제 7 항 중 어느 한 항에 있어서,
    상기 선행하는 패킷의 상기 TRT 값
    Figure pct00171
    이 상기 선행하는 패킷의 상기 ART 값
    Figure pct00172
    이하일 때, 상기 패킷의 상기 TRT 값
    Figure pct00173
    Figure pct00174
    으로서 구해지고, 여기서,
    Figure pct00175
    는 상기 선행하는 패킷의 상기 ART 값이며,
    Figure pct00176
    는 상기 선행하는 패킷의 사이즈이며, Ri는 상기 패킷 플로우에 관련되어 있는 전송 속도값인 트래픽 관리를 위한 방법.
  9. 제 1 항 내지 제 8 항 중 어느 한 항에 있어서,
    상기 선행하는 패킷이 트래픽 폴리싱에 의해 파기되었을 때, 상기 패킷의 상기 TRT 값
    Figure pct00177
    Figure pct00178
    으로서 구해지고, 여기서,
    Figure pct00179
    는 상기 선행하는 패킷의 상기 TRT 값인 트래픽 관리를 위한 방법.
  10. 제 1 항 내지 제 9 항 중 어느 한 항에 있어서,
    상기 선행하는 패킷의 상기 ART 값은 상기 1개 또는 복수의 입구 포트 중 하나에 있어서의 상기 선행하는 패킷의 수신에 대응하는 상기 시각 카운터 값을 이용해서 구해지는 트래픽 관리를 위한 방법.
  11. 제 1 항 내지 제 10 항 중 어느 한 항에 있어서,
    상이한 플로우에 속하는 패킷이 상기 플로우에 각각 관련되어 있는 메모리 큐 내에 각각의 TRT 값과 함께 기억되고,
    상기 방법은, 상기 메모리 큐 내의 각각의 최소의 TRT 값을 갖는 선두 패킷 중에서, 상기 현재의 패킷을 해당 패킷의 TRT 값에 따라 선택하는 것을 더 포함하는
    트래픽 관리를 위한 방법.
  12. 제 11 항에 있어서,
    상기 패킷은 상기 메모리 큐의 선두 패킷의 각각의 TRT 값 중 최소치인 해당 패킷의 TRT 값에 따라 선택되는 트래픽 관리를 위한 방법.
  13. 프로세서와, 상기 프로세서에 동작 가능하게 결합되는 메모리와, 패킷 플로우에 속하는 패킷을 출력하기 위한 적어도 1개의 출구 포트와, 상기 패킷 플로우의 착신 패킷을 수신하기 위한 1개 또는 복수의 입구 포트를 구비하는 패킷 교환 네트워크 내의 네트워크 노드로서,
    상기 네트워크 노드는 청구항 1 내지 12 중 어느 한 항에 기재된 트래픽 관리를 위한 방법을 실행하도록 구성되는, 네트워크 노드.
  14. 실행될 때, 메모리와 동작 가능하게 결합되는 프로세서를 구비하는 네트워크 노드로 하여금, 청구항 1 내지 12 중 어느 한 항에 기재된 트래픽 관리를 위한 방법을 실행하게 하는 실행 가능 명령으로 인코딩된 비일시적 컴퓨터 판독가능 매체.
  15. 컴퓨터 판독가능 매체에 유형으로 구현되는 컴퓨터 프로그램 코드를 포함하는 컴퓨터 프로그램 제품으로서,
    상기 컴퓨터 프로그램 코드는, 컴퓨터 시스템에 제공되어 실행될 때, 컴퓨터로 하여금 청구항 1 내지 12 중 어느 한 항에 기재된 트래픽 관리를 위한 방법을 실행하게 하는 명령을 포함하는 컴퓨터 프로그램 제품.
  16. 예를 들면, 압축 또는 인코딩을 통해, 청구항 15에 기재된 컴퓨터 프로그램 제품을 표현하는 데이터 세트.
KR1020177031100A 2015-03-31 2016-03-15 패킷 교환 네트워크 내의 네트워크 노드에 있어서의 트래픽 관리를 위한 방법 및 네트워크 노드 KR101990235B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP15305482.0 2015-03-31
EP15305482.0A EP3076616B1 (en) 2015-03-31 2015-03-31 Method for data traffic management and network node for implementing the same
PCT/JP2016/058881 WO2016158541A1 (en) 2015-03-31 2016-03-15 Method for traffic management at network node, and network node in packet-switched network

Publications (2)

Publication Number Publication Date
KR20170130601A true KR20170130601A (ko) 2017-11-28
KR101990235B1 KR101990235B1 (ko) 2019-06-17

Family

ID=52946492

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020177031100A KR101990235B1 (ko) 2015-03-31 2016-03-15 패킷 교환 네트워크 내의 네트워크 노드에 있어서의 트래픽 관리를 위한 방법 및 네트워크 노드

Country Status (7)

Country Link
US (1) US10367743B2 (ko)
EP (1) EP3076616B1 (ko)
JP (1) JP6756070B2 (ko)
KR (1) KR101990235B1 (ko)
CN (1) CN107431665B (ko)
TW (1) TWI627843B (ko)
WO (1) WO2016158541A1 (ko)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11277279B2 (en) * 2016-12-12 2022-03-15 Johnson Controls Tyco IP Holdings LLP Systems and methods for incorporating a single-port ethernet device in a media protocol ring
US10419350B2 (en) * 2017-10-06 2019-09-17 Hewlett Packard Enterprise Development Lp Packet admission
EP3503485B1 (en) * 2017-12-22 2023-01-25 Marelli Europe S.p.A. Method for managing traffic in a network based upon ethernet switches, vehicle, communication interface, and corresponding computer program product
CN109120542A (zh) * 2018-08-20 2019-01-01 国云科技股份有限公司 一种基于边缘计算的流量管理系统及其实现方法
US10805223B1 (en) * 2019-04-10 2020-10-13 Dell Products L.P. Systems and methods for handling data congestion for shared buffer switches with dynamic thresholding
CN113162789A (zh) * 2020-01-22 2021-07-23 华为技术有限公司 调整服务等级的方法、装置、设备、系统及存储介质
DE102021119053A1 (de) 2021-07-22 2023-01-26 Dspace Gmbh Verfahren und System zur verzögerten zyklischen Weiterleitung von Nachrichten
WO2024142182A1 (ja) * 2022-12-26 2024-07-04 日本電信電話株式会社 ネットワーク制御装置、ネットワーク制御方法、および、ネットワーク制御プログラム

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002049286A1 (en) * 2000-12-15 2002-06-20 Vivace Networks, Inc. Apparatus and methods for scheduling packets in a broadband data stream
US6724726B1 (en) * 1999-10-26 2004-04-20 Mitsubishi Denki Kabushiki Kaisha Method of putting a flow of packets of a network for transporting packets of variable length into conformity with a traffic contract

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5383186A (en) * 1993-05-04 1995-01-17 The Regents Of The University Of Michigan Apparatus and method for synchronous traffic bandwidth on a token ring network
JP2737735B2 (ja) * 1995-12-28 1998-04-08 日本電気株式会社 ポリシング制御装置
KR100251985B1 (ko) * 1996-06-29 2000-04-15 김영환 고속 처리가 가능한 휘도신호 계산장치 및 그 방법
EP1006742A1 (en) * 1998-12-04 2000-06-07 TELEFONAKTIEBOLAGET L M ERICSSON (publ) DSP platform for digital cellular mobile radio communication systems
ATE392758T1 (de) * 2000-01-05 2008-05-15 Mitsubishi Electric Inf Tech Verfahren und vorrichtung zur feststellung der paketübertragungspriorität zwischen mehreren datenströmen
JP2003333087A (ja) * 2002-05-10 2003-11-21 Furukawa Electric Co Ltd:The 帯域制御方法およびその帯域制御装置
US20030223442A1 (en) * 2002-05-29 2003-12-04 Huang Anguo T. Buffer memory reservation
DE10344765A1 (de) * 2003-09-26 2005-04-14 Siemens Ag Verfahren zum Übertragen von Kontrolldaten
JP4391346B2 (ja) * 2004-07-12 2009-12-24 古河電気工業株式会社 通信制御方法、通信制御装置、制御プログラム及び記録媒体
US20070237074A1 (en) * 2006-04-06 2007-10-11 Curry David S Configuration of congestion thresholds for a network traffic management system
CN1972177B (zh) * 2006-11-29 2010-04-21 北京邮电大学 基于终端反馈的联合混合自动请求重传和调度算法的方法
WO2009130218A1 (en) * 2008-04-24 2009-10-29 Xelerated Ab A traffic manager and a method for a traffic manager
KR101321196B1 (ko) * 2009-08-24 2013-10-30 인텔 코포레이션 저 전력 및 고속 애플리케이션 서비스 송신 방법 및 장치
US8767727B2 (en) * 2009-12-02 2014-07-01 Vss Monitoring, Inc. System, apparatus, and method for modifying captured data packets
CN101969403B (zh) * 2010-10-25 2013-01-02 武汉烽火网络有限责任公司 一种基于E-Model的去抖缓冲区管理方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6724726B1 (en) * 1999-10-26 2004-04-20 Mitsubishi Denki Kabushiki Kaisha Method of putting a flow of packets of a network for transporting packets of variable length into conformity with a traffic contract
WO2002049286A1 (en) * 2000-12-15 2002-06-20 Vivace Networks, Inc. Apparatus and methods for scheduling packets in a broadband data stream

Also Published As

Publication number Publication date
TWI627843B (zh) 2018-06-21
US20180048575A1 (en) 2018-02-15
EP3076616B1 (en) 2017-04-12
EP3076616A1 (en) 2016-10-05
JP2018500851A (ja) 2018-01-11
CN107431665A (zh) 2017-12-01
JP6756070B2 (ja) 2020-09-16
TW201640864A (zh) 2016-11-16
KR101990235B1 (ko) 2019-06-17
CN107431665B (zh) 2021-05-11
US10367743B2 (en) 2019-07-30
WO2016158541A1 (en) 2016-10-06

Similar Documents

Publication Publication Date Title
KR101990235B1 (ko) 패킷 교환 네트워크 내의 네트워크 노드에 있어서의 트래픽 관리를 위한 방법 및 네트워크 노드
CN107204931B (zh) 通信装置和用于通信的方法
US8625427B1 (en) Multi-path switching with edge-to-edge flow control
US7492779B2 (en) Apparatus for and method of support for committed over excess traffic in a distributed queuing system
US7835279B1 (en) Method and apparatus for shared shaping
US8553710B1 (en) Fibre channel credit-based link flow control overlay onto fibre channel over ethernet
JP2018500851A5 (ko)
US9722942B2 (en) Communication device and packet scheduling method
CN112105080A (zh) 一种时间敏感网络数据传输系统及传输方法
US7948882B2 (en) Dual leaky bucket flow control method and system
CN109412964A (zh) 报文控制方法及网络装置
US7573821B2 (en) Data packet rate control
US20070217336A1 (en) Method and system for using a queuing device as a lossless stage in a network device in a communications network
US9608927B2 (en) Packet exchanging device, transmission apparatus, and packet scheduling method
US20070237074A1 (en) Configuration of congestion thresholds for a network traffic management system
US8462815B2 (en) Accurate measurement of packet size in cut-through mode
KR101640017B1 (ko) 패킷 전송 장비 및 그것의 트래픽 관리 방법
CN111800351A (zh) 由交换机进行的拥塞通知分组生成
KR101434422B1 (ko) 가상 링크 조정에 의한 네트워크 성능 개선 방법 및 이를 적용한 네트워크 시스템
US10819535B2 (en) Method for data packet transmission and/or reception
KR101590740B1 (ko) 네트워크 통신 장치 및 전송 프레임의 우선적 대역 제한 방법
CN114631290A (zh) 数据分组的传输
US7554919B1 (en) Systems and methods for improving packet scheduling accuracy
EP4099649A1 (en) Integrated scheduler for iec/ieee 60802 end-stations
US20050157728A1 (en) Packet relay device

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