KR102478440B1 - 혼잡 제어 방법 및 네트워크 디바이스 - Google Patents

혼잡 제어 방법 및 네트워크 디바이스 Download PDF

Info

Publication number
KR102478440B1
KR102478440B1 KR1020217004313A KR20217004313A KR102478440B1 KR 102478440 B1 KR102478440 B1 KR 102478440B1 KR 1020217004313 A KR1020217004313 A KR 1020217004313A KR 20217004313 A KR20217004313 A KR 20217004313A KR 102478440 B1 KR102478440 B1 KR 102478440B1
Authority
KR
South Korea
Prior art keywords
network device
data
data flow
packet
flow
Prior art date
Application number
KR1020217004313A
Other languages
English (en)
Other versions
KR20210028722A (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 KR20210028722A publication Critical patent/KR20210028722A/ko
Application granted granted Critical
Publication of KR102478440B1 publication Critical patent/KR102478440B1/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
    • 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/27Evaluation or update of window size, e.g. using information derived from acknowledged [ACK] packets
    • 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/11Identifying congestion
    • H04L47/115Identifying congestion using a dedicated packet
    • 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/25Flow control; Congestion control with rate being modified by the source upon detecting a change of network conditions
    • 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/29Flow control; Congestion control using a combination of thresholds
    • 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/33Flow control; Congestion control using forward notification

Abstract

이 출원은 혼잡 제어 방법 및 네트워크 디바이스를 제공한다. 방법은, 제2 네트워크 디바이스에 의해 송신되는 제1 메시지를 수신하는 단계-여기서, 제1 메시지는 활성 흐름량을 전달하고, 활성 흐름량은 제1 네트워크 디바이스로부터 수신되는 데이터 패킷이 속하는 데이터 흐름에 기초하여 제2 네트워크 디바이스에 의해 결정되는 수량임-; 활성 흐름량 및 제2 네트워크 디바이스의 정격 수신 대역폭에 기초하여, 데이터 흐름을 제2 네트워크 디바이스로 송신하는데 사용되는 패킷 송신 제어 정보를 결정하는 단계; 및 패킷 송신 제어 정보에 기초하여 데이터 흐름을 제2 네트워크 디바이스로 송신하는 단계;를 포함한다. 이 출원은 혼잡을 더 우수하게 제어할 수 있어, 네트워크 패킷 손실을 줄인다.

Description

혼잡 제어 방법 및 네트워크 디바이스
본 출원은, 2018년 9월 25일자로 중국 특허청에 출원되고, "혼잡 제어 방법 및 네트워크 디바이스"라는 명칭의 중국 특허 출원 번호 제201811119579.8호에 대해 우선권을 주장하며, 이러한 문헌의 내용은 원용에 의해 전체적으로 본 명세서에 포함된다.
이 출원은 네트워크 기술 분야에 관한 것으로서, 더욱 구체적으로, 혼잡 제어 방법 및 네트워크 디바이스에 관한 것이다.
인공 지능, 기업 스토리지, 등과 같은 새로운 애플리케이션이 등장함에 따라, 낮은 지연 특성(low delay characteristic)을 위한 데이터 센터 네트워크에 대한 요구가 점점 더 시급 해지고 있다. 데이터 센터 네트워크의 낮은 지연 특성을 보장하기 위해 데이터 센터 네트워크의 혼잡을 제어하는 것이 매우 중요하다.
기존 혼잡 제어 방법에서, 수신단(receive end)은 네트워크의 혼잡 정보를 전송단(transmit end)으로 피드백하고, 전송단은 네트워크의 혼잡 정보를 학습한 후 혼잡 정보에 기초하여 데이터 송신 속도를 조정한다. 예를 들어, 네트워크가 혼잡한 경우, 전송단은 데이터 패킷의 전송 속도를 감소시키고; 네트워크가 혼잡하지 않은 경우, 전송단은 데이터 패킷의 전송 속도를 점진적으로 증가시킨다.
전술한 해결 수단에서, 전송단은 네트워크의 혼잡 상태를 학습 한 후 데이터 패킷의 전송 속도를 점진적으로 조정한다. 속도의 변화는 상대적으로 느리고, 데이터 패킷의 전송 과정에서 일정 지연이 발생할 수 있으며 결과적으로 혼잡 제어 효율이 높지 않다.
본 출원은 혼잡 제어를 보다 잘 수행하고 네트워크 패킷 손실을 줄이는 혼잡 제어 방법과 네트워크 디바이스를 제공한다.
제1 측면에 따르면, 혼잡 제어 방법이 제공되며, 여기서, 상기 방법은 데이터 센터 네트워크에 적용되고, 상기 데이터 센터 네트워크는 제1 네트워크 디바이스 및 제2 네트워크 디바이스를 포함하고, 상기 제1 네트워크 디바이스는 데이터 흐름을 상기 제2 네트워크 디바이스로 송신하도록 구성된다. 상기 방법은, 상기 제1 네트워크 디바이스는 상기 제2 네트워크 디바이스에 의해 송신되는 제1 메시지를 수신하며-여기서, 상기 제1 메시지는 활성 흐름량을 전달하고, 상기 활성 흐름량은 상기 제1 네트워크 디바이스로부터 수신되는 데이터 패킷이 속하는 데이터 흐름에 기초하여 상기 제2 네트워크 디바이스에 의해 결정되는 수량임-; 상기 제1 네트워크 디바이스는 상기 활성 흐름량 및 상기 제2 네트워크 디바이스의 정격 수신 대역폭에 기초하여, 상기 데이터 흐름을 상기 제2 네트워크 디바이스로 송신하는데 사용되는 패킷 송신 제어 정보를 결정하고-여기서, 상기 패킷 송신 제어 정보는, 상기 제1 네트워크 디바이스가 상기 패킷 송신 제어 정보에 기초하여 상기 데이터 흐름을 상기 제2 네트워크 디바이스로 송신하는 경우, 상기 제2 네트워크 디바이스의 실제의 수신 대역폭이 상기 정격 수신 대역폭에 도달함을 나타냄-; 및 상기 제1 네트워크 디바이스는 상기 패킷 송신 제어 정보에 기초하여 상기 데이터 흐름을 상기 제2 네트워크 디바이스로 송신한다.
상기 활성 흐름량은 특정 통계 기간 내에 데이터 패킷이 전송되고 있는 데이터 흐름의 수량을 참조할 수 있다. 구체적으로, 상기 활성 흐름량은 통계 기간 내에 상기 제1 네트워크 디바이스로부터 수신되는 데이터 패킷이 속하는 데이터 흐름에 기초하여 상기 제2 네트워크 디바이스에 의해 결정되는 데이터 흐름의 수량일 수 있다.
선택사항으로서, 상기 제1 네트워크 디바이스에 의해 상기 패킷 송신 제어 정보에 기초하여 상기 제2 네트워크 디바이스로 송신되는 데이터 흐름은 통합 이더넷 버전 2를 통한 원격 직접 메모리 액세스(remote direct memory access over converged ethernet version 2, RoCEv2) 패킷으로 캡슐화(encapsulated)된다.
선택사항으로서, 상기 제1 메시지는 수신 확인(Acknowledgement, ACK) 패킷에 있는 옵션 필드에서 전달된다.
상기 제1 네트워크 디바이스에 의해 상기 패킷 송신 제어 정보에 기초하여 상기 제2 네트워크 디바이스로 송신되는 데이터 흐름은 하나의 데이터 흐름(이 경우에, 상기 데이터 흐름은 상기 제1 네트워크 디바이스에 의해 상기 제2 네트워크 디바이스로 송신되는 데이터 흐름 전부 중 임의의 하나일 수 있다)일 수 있거나, 복수의 데이터 흐름(상기 복수의 데이터 흐름은 상기 제1 네트워크 디바이스에 의해 상기 제2 네트워크 디바이스로 송신되는 데이터 흐름 전부일 수 있다)일 수 있음을 이해해야 한다.
상기 패킷 송신 제어 정보는 상기 제1 네트워크 디바이스를 제어하여 상기 데이터 흐름을 상기 제2 네트워크 디바이스로 송신하는데 사용되고; 그리고 상기 제1 네트워크 디바이스가 상기 패킷 송신 제어 정보에 기초하여 상기 데이터 흐름을 상기 제2 네트워크 디바이스로 송신하는 경우, 상기 제2 네트워크 디바이스의 실제의 대역폭은 상기 제2 네트워크 디바이스의 정격 수신 대역폭에 도달할 수 있다.
상기 제2 네트워크 디바이스의 정격 수신 대역폭은 고정 대역폭일 수 있다. 상기 제1 네트워크 디바이스가 구성되는 경우, 상기 제2 네트워크 디바이스의 정격 수신 대역폭과 같은 정보가 상기 제1 네트워크 디바이스에 대해 직접 구성될 수 있으므로, 상기 제1 네트워크 디바이스는 상기 구성 정보로부터 상기 제2 네트워크 디바이스의 정격 수신 대역폭을 획득할 수 있다.
본 출원에서, 상기 패킷 송신 제어 정보는 상기 활성 흐름량 및 상기 제2 네트워크 디바이스의 정격 수신 대역폭에 기초하여 결정되고, 상기 제1 네트워크 디바이스로부터 상기 제2 네트워크 디바이스로 송신되는 데이터 흐름은 상기 패킷 송신 제어 정보에 기초하여 제어되므로, 혼잡 제어를 더 잘 수행하여 네트워크 패킷 손실을 줄일 수 있다.
상기 제1 측면을 참조로, 상기 제1 측면의 일부 구현예에서, 상기 제1 네트워크 디바이스가 상기 활성 흐름량 및 상기 제2 네트워크 디바이스의 정격 수신 대역폭에 기초하여, 상기 데이터 흐름을 상기 제2 네트워크 디바이스로 송신하는데 사용되는 패킷 송신 제어 정보를 결정하는 것은, 상기 활성 흐름량이 제1 임계치보다 작은 경우, 상기 제1 네트워크 디바이스는 다음 공식에 기초하여, 상기 데이터 흐름을 상기 제2 네트워크 디바이스로 송신하는데 사용되는 상기 패킷 송신 제어 정보를 결정하는 것을 포함하며,
Figure 112021017349641-pct00001
여기서, C는 상기 제2 네트워크 디바이스의 정격 수신 대역폭이고, active_qp는 상기 활성 흐름량이고, T는 상기 네트워크가 아이들인 경우 상기 제1 네트워크 디바이스에 의해 상기 제2 네트워크 디바이스로 송신되는 데이터 패킷이 상기 제2 네트워크 디바이스에 도달하는데 요구되는 시간이고, V는 상기 제1 네트워크 디바이스에 의해 T 이내에 상기 제2 네트워크 디바이스로 송신되는 상기 데이터 흐름의 데이터 볼륨이다. 상기 제1 네트워크 디바이스가 상기 패킷 송신 제어 정보에 기초하여 상기 데이터 흐름을 상기 제2 네트워크 디바이스로 송신하는 것은, 상기 제1 네트워크 디바이스가 상기 데이터 흐름에서 데이터 볼륨 V를 가지는 데이터 패킷을 상기 제2 네트워크 디바이스로 T 이내에 송신하는 것을 포함한다.
상기 데이터 볼륨(data volume)은 상기 데이터 흐름에서 데이터 패킷의 길이일 수 있다. 예를 들어, 데이터 흐름 1은 데이터 패킷 1, 데이터 패킷 2, 및 데이터 패킷 3을 포함하며, 여기서. 각각의 데이터 패킷은 4 바이트의 길이를 가지고, 상기 데이터 흐름 1은 12 바이트의 길이를 가진다.
T를 얻는 방법에는 여러 가지가 있다. 이러한 방법은 아래에서 예시로서 설명된다.
예를 들어, 상기 네트워크가 아이들 상태인 경우, 상기 제1 네트워크 디바이스에 의해 상기 제2 네트워크 디바이스로 송신되는 데이터 패킷의 송신 시간 및 도착 시간이 기록될 수 있고, 그 다음 T는 상기 도착 시간으로부터 상기 송신 시간을 뺄셈하여 획득될 수 있다.
그리고, 상기 네트워크가 아이들 상태인 경우, 상기 제1 네트워크 디바이스는, 대안적으로, 복수의 데이터 패킷(예를 들어, 1000 데이터 패킷)을 상기 제2 네트워크 디바이스로 연속적으로 송신할 수 있고, 그 다음 상기 제1 네트워크 디바이스로부터 상기 제2 네트워크 디바이스로 송신되는 각각의 데이터 패킷에 대해 요구되는 시간이 상기 기록된 시간에 기초하여 획득될 수 있고, 그리고 모든 시간이 평균되어 평균 시간을 획득할 수 있으며; 그리고 최종적으로 상기 평균 시간이 T로서 결정된다.
상기 제1 임계치는 경험에 기초하여 설정될 수 있다. 예를 들어, 상대적으로 큰 데이터 볼륨이 있는 시나리오에서는, 상대적으로 큰 값이 상기 제1 임계치로서 설정될 수 있고; 그리고 상대적으로 작은 데이터 볼륨이 있는 시나리오에서, 상대적으로 작은 값이 상기 제1 임계치로서 설정될 수 있다.
상기 제1 임계치는, 대안적으로, 상기 제2 네트워크 디바이스의 정격 수신 대역폭, T, 및 단일 데이터 패킷의 길이에 기초하여 결정될 수 있다.
구체적으로, C*T/1pkt에 기초하여 획득되는 값이 상기 제1 임계치로 결정될 수 있으며, 여기서 1pkt는 상기 단일 데이터 패킷의 길이. 1pkt의 구체적인 길이는 실제의 상황에 기초하여 설정될 수 있다. 상이한 시나리오에서, 1pkt는 상이한 길이로 설정될 수 있다. 예를 들어, 데이터 전송량이 상대적으로 작은 (예를 들어, 스마트 미터(smart meter)가 전력 소비 정보를 주기적으로 리포트 하는) 일부 시나리오에서는, 1pkt에 대해 상대적으로 작은 길이가 설정될 수 있고; 그리고 데이터 전송량이 상대적으로 큰 시나리오에서는, 1pkt에 대해 상대적으로 큰 길이가 설정될 수 있다. 그리고, 1pkt는 상기 네트워크에서 허용하는 최대 전송 단위(maximum transmission unit, MTU)로 직접 설정될 수 있다.
상기 제1 측면을 참조로, 상기 제1 측면의 일부 구현예에서, 상기 제1 네트워크 디바이스가 상기 활성 흐름량 및 상기 제2 네트워크 디바이스의 정격 수신 대역폭에 기초하여, 상기 데이터 흐름을 상기 제2 네트워크 디바이스로 송신하는데 사용되는 패킷 송신 제어 정보를 결정하는 것은, 상기 활성 흐름량이 상기 제1 임계치 이상인 경우, 상기 제1 네트워크 디바이스가 다음 공식에 기초하여, 상기 데이터 흐름을 상기 제2 네트워크 디바이스로 송신하는데 사용되는 상기 패킷 송신 제어 정보를 결정하는 것을 포함할 수 있으며:
Figure 112021017349641-pct00002
여기서, 1pkt는 단일 데이터 패킷의 길이이고, active_qp는 상기 활성 흐름량이고, C는 상기 제2 네트워크 디바이스의 정격 수신 대역폭이고, "간격"은 상기 제1 네트워크 디바이스가 상기 데이터 흐름을 송신하는 경우 인접한 데이터 패킷 사이의 시간 간격이다. 상기 제1 네트워크 디바이스가 상기 패킷 송신 제어 정보에 기초하여 상기 데이터 흐름을 상기 제2 네트워크 디바이스로 송신하는 것은, 상기 제1 네트워크 디바이스가 "간격"에 의해 표시되는 상기 시간 간격에 기초하여 상기 데이터 흐름 내의 데이터 패킷을 상기 제2 네트워크 디바이스로 송신하는 것을 포함한다.
상기 단일 데이터 패킷의 길이는, 구체적으로, 상기 단일 데이터 패킷의 데이터 볼륨의 크기일 수 있으며, 예를 들어, 상기 단일 데이터 패킷의 데이터 볼륨의 크기가 3 바이트이면, 상기 단일 데이터 패킷의 길이는 또한 3 바이트이다.
상기 제1 측면을 참조로, 상기 제1 측면의 일부 구현예에서, 상기 제1 네트워크 디바이스가 상기 활성 흐름량 및 상기 제2 네트워크 디바이스의 정격 수신 대역폭에 기초하여, 상기 데이터 흐름을 상기 제2 네트워크 디바이스로 송신하는데 사용되는 패킷 송신 제어 정보를 결정하는 것은, 상기 제1 네트워크 디바이스가 상기 활성 흐름량, 상기 제2 네트워크 디바이스의 정격 수신 대역폭, 및 상기 데이터 흐름의 속성 정보에 기초하여, 상기 데이터 흐름을 상기 제2 네트워크 디바이스로 송신하는데 사용되는 패킷 송신 제어 정보를 결정하는 것을 포함하며, 여기서, 상기 데이터 흐름의 속성 정보는 상기 데이터 흐름의 애플리케이션 정보 및 상기 데이터 흐름의 데이터 볼륨 정보 중 적어도 하나를 포함하고, 상기 데이터 흐름의 애플리케이션 정보는 상기 데이터 흐름의 데이터 패킷이 속하는 서비스 유형을 표시하는데 사용되고, 상기 데이터 흐름의 데이터 볼륨 정보는 상기 제1 데이터 흐름에 속하고 미리 설정된 시간 내에 상기 제1 네트워크 디바이스에 의해 송신되는 데이터 패킷의 데이터 볼륨을 표시하는데 사용된다.
본 출원에서, 상기 데이터 흐름의 패킷 송신 제어 정보가 결정되면, 상기 패킷 송신 제어 정보는 상기 데이터 흐름의 속성 정보에 기초하여 상기 데이터 흐름에 대해 적절하게 결정될 수 있다.
상기 제1 측면을 참조로, 상기 제1 측면의 일부 구현예에서, 상기 제1 네트워크 디바이스가, 상기 활성 흐름량, 상기 제2 네트워크 디바이스의 정격 수신 대역폭, 및 상기 데이터 흐름의 속성 정보에 기초하여, 상기 데이터 흐름을 상기 제2 네트워크 디바이스로 송신하는데 사용되는 패킷 송신 제어 정보를 결정하는 것은, 상기 활성 흐름량이 제1 임계치보다 작은 경우, 상기 제1 네트워크 디바이스가 다음 공식에 기초하여, 상기 데이터 흐름을 상기 제2 네트워크 디바이스로 송신하는데 사용되는 상기 패킷 송신 제어 정보를 결정하는 것을 포함하며:
Figure 112021017349641-pct00003
여기서, C는 상기 제2 네트워크 디바이스의 정격 수신 대역폭이고, active_qp는 상기 활성 흐름량이고, T는 상기 네트워크가 아이들인 경우 상기 제1 네트워크 디바이스에 의해 상기 제2 네트워크 디바이스로 송신되는 데이터 패킷이 상기 제2 네트워크 디바이스에 도달하는데 요구되는 시간이고, w는 상기 데이터 흐름의 가중치이고, w는 상기 데이터 흐름의 속성 정보에 기초하여 결정되고, V는 상기 제1 네트워크 디바이스에 의해 T 이내에 상기 제2 네트워크 디바이스로 송신되는 상기 데이터 흐름의 데이터 볼륨이다. 상기 제1 네트워크 디바이스가 상기 패킷 송신 제어 정보에 기초하여 상기 데이터 흐름을 상기 제2 네트워크 디바이스로 송신하는 것은, 상기 제1 네트워크 디바이스가 상기 데이터 흐름에서 데이터 볼륨 V를 가지는 데이터 패킷을 상기 제2 네트워크 디바이스로 T 이내에 송신하는 것을 포함한다.
본 출원에서, 상기 데이터 흐름의 데이터 전송량가 결정되면, 상기 데이터 전송량은 상기 데이터 흐름의 속성 정보에 기초하여 상기 데이터 흐름에 대해 적절하게 결정될 수 있다.
상기 제1 측면을 참조로, 상기 제1 측면의 일부 구현예에서, 상기 제1 네트워크 디바이스가, 상기 활성 흐름량, 상기 제2 네트워크 디바이스의 정격 수신 대역폭, 및 상기 데이터 흐름의 속성 정보에 기초하여, 상기 데이터 흐름을 상기 제2 네트워크 디바이스로 송신하는데 사용되는 패킷 송신 제어 정보를 결정하는 것은, 상기 활성 흐름량이 상기 제1 임계치 이상인 경우, 상기 제1 네트워크 디바이스가 다음 공식에 기초하여, 상기 데이터 흐름을 상기 제2 네트워크 디바이스로 송신하는데 사용되는 상기 패킷 송신 제어 정보를 결정하는 것을 포함하며:
Figure 112021017349641-pct00004
여기서, 1pkt는 단일 데이터 패킷의 길이이고, active_qp는 상기 활성 흐름량이고, w는 상기 데이터 흐름의 가중치이고, w는 상기 데이터 흐름의 속성 정보에 기초하여 결정되고, C는 상기 제2 네트워크 디바이스의 정격 수신 대역폭이고, "간격"은 상기 제1 네트워크 디바이스가 상기 데이터 흐름을 송신하는 경우 인접한 데이터 패킷 사이의 시간 간격이다. 상기 제1 네트워크 디바이스가 상기 패킷 송신 제어 정보에 기초하여 상기 데이터 흐름을 상기 제2 네트워크 디바이스로 송신하는 것은, 상기 제1 네트워크 디바이스가 "간격"에 의해 표시되는 상기 시간 간격에 기초하여 상기 데이터 흐름 내의 데이터 패킷을 상기 제2 네트워크 디바이스로 송신하는 것을 포함한다.
본 출원에서, 상기 데이터 흐름의 데이터 패킷 전송 시간 간격가 결정되면, 상기 데이터 패킷 전송 시간 간격은 상기 데이터 흐름의 속성 정보에 기초하여 상기 데이터 흐름에 대해 적절하게 결정될 수 있다.
제2 측면에 따르면, 데이터 센터 네트워크에 적용되는 혼잡 제어 방법이 제공되며, 여기서, 상기 데이터 센터 네트워크는 제1 네트워크 디바이스 및 제2 네트워크 디바이스를 포함하고, 상기 제2 네트워크 디바이스는 상기 제1 네트워크 디바이스에 의해 송신되는 데이터 흐름을 수신하도록 구성된다. 상기 방법은, 상기 제2 네트워크 디바이스는 상기 제1 네트워크 디바이스로부터 수신되는 데이터 패킷이 속하는 데이터 흐름에 기초하여 활성 흐름량을 결정하고; 상기 제2 네트워크 디바이스는 제1 메시지를 상기 제1 네트워크 디바이스로 송신하며-여기서, 상기 제1 메시지는 상기 활성 흐름량을 전달하고, 상기 활성 흐름량은 상기 제1 네트워크 디바이스에 의해 상기 데이터 흐름을 상기 제2 네트워크 디바이스로 송신하는데 사용되는 패킷 송신 제어 정보를 결정하는데 사용되고, 상기 패킷 송신 제어 정보는, 상기 제1 네트워크 디바이스가 상기 패킷 송신 제어 정보에 기초하여 상기 데이터 흐름을 상기 제2 네트워크 디바이스로 송신하는 경우, 상기 제2 네트워크 디바이스의 실제의 수신 대역폭은 상기 제2 네트워크 디바이스의 정격 수신 대역폭에 도달함을 나타냄-; 그리고 상기 제2 네트워크 디바이스는, 상기 정격 수신 대역폭에 기초하여, 상기 제1 네트워크 디바이스에 의해 송신되는 데이터 흐름을 수신하는 것을 포함한다.
본 출원에서, 상기 제2 네트워크 디바이스는 상기 활성 흐름량을 상기 제1 네트워크 디바이스로 리포트하여, 상기 제1 네트워크 디바이스는 상기 활성 흐름량 및 상기 제2 네트워크 디바이스의 정격 수신 대역폭에 기초하여 상기 패킷 송신 제어 정보을 결정할 수 있고, 상기 패킷 송신 제어 정보에 기초하여, 상기 제1 네트워크 디바이스를 제어하여 상기 데이터 흐름을 상기 제2 네트워크 디바이스로 송신하여, 상기 제2 네트워크 디바이스는, 상기 정격 수신 대역폭에 기초하여, 상기 제1 네트워크 디바이스에 의해 송신되는 데이터 흐름을 수신할 수 있고, 상기 제2 네트워크 디바이스는 전체 쓰루풋 상태(throughput state)에 도달할 수 있어, 상기 데이터 흐름의 전송 효율을 향상한다.
상기 제2 측면을 참조로, 상기 제2 측면의 일부 구현예에서, 상기 제2 네트워크 디바이스가 상기 제1 네트워크 디바이스로부터 수신되는 데이터 패킷이 속하는 데이터 흐름에 기초하여 활성 흐름량을 결정하는 것은, 상기 제2 네트워크 디바이스는 상기 제1 네트워크 디바이스에 의해 송신되는 데이터 패킷의 제1 그룹에서 초기 패킷을 수신하고, 제1 활성 흐름량을 획득하기 위해 현재 활성 흐름량을 1만큼 증가시키고; 상기 제2 네트워크 디바이스는 상기 제1 네트워크 디바이스에 의해 송신되는 데이터 패킷의 제1 그룹에서 테일 패킷을 수신하고, 상기 데이터 패킷의 제1 그룹에서 외부 혼잡 통지 ECN 식별자를 전달하는 데이터 패킷의 수량에 기초하여 제1 혼잡 값을 결정하고; 상기 제1 혼잡 값이 혼잡 임계치보다 작은 경우, 상기 제2 네트워크 디바이스는 제2 활성 흐름량을 획득하기 위해 상기 제1 활성 흐름량을 1만큼 감소시키고; 그리고 상기 제1 혼잡 값이 상기 혼잡 임계치 이상인 경우, 상기 제2 네트워크 디바이스는 상기 제1 활성 흐름량을 변경하지 않고 유지하는 것을 포함한다.
선택사항으로서, 상기 제1 혼잡 값은 상기 제2 네트워크 디바이스가 상기 제1 네트워크 디바이스에 의해 송신되는 데이터 패킷을 수신하는 경우 상기 제1 네트워크 디바이스의 혼잡도를 표시하는데 사용된다.
제1 혼잡 값이 더 크면 상기 제1 네트워크 디바이스의 혼잡도가 더 높은 것을 나타냄을 이해해야 한다.
상기 혼잡 임계치는 미리 설정된 임계치일 수 있고, 상기 혼잡 임계치는 네트워크 상태에 기초하여 추정된 임계치일 수 있다. 광대역 활용도가 낮은 시나리오에서는 상대적으로 작은 혼잡 임계치가 설정될 수 있고, 광대역 활용도가 높은 시나리오에서는 상대적으로 큰 혼잡 임계치가 설정될 수 있다.
예를 들어, 광대역 활용도가 낮은 시나리오에서 상기 혼잡 임계치는 구체적으로 0.3, 0.4, 0.5 등일 수 있고, 광대역 활용도가 높은 시나리오에서는 혼잡 임계치가 구체적으로 0.6, 0.7, 0.8 등일 수 있다.
상기 데이터 패킷의 제1 그룹에서 초기 패킷이 수신되는 경우, 상기 현재 활성 흐름량은 상기 제1 활성 흐름량을 얻기 위해 1만큼 증가되어야 함을 이해해야 한다. 여기서 상기 현재 활성 흐름량은 상기 데이터 패킷의 제1 그룹에서 상기 초기 패킷을 수신하기 전에 상기 제2 네트워크 디바이스에 의해 카운트되는 활성 흐름의 수량이다. 상기 데이터 패킷의 제1 그룹에서 상기 초기 패킷으ㄹ 수신하는 경우, 상기 제2 네트워크 디바이스는 상기 활성 흐름량을 업데이트, 즉, 상기 데이터 패킷의 제1 그룹에서 상기 초기 패킷을 수신하기 전에 카운트된 활성 흐름량을 1만큼 증가시켜야 한다.
상기 데이터 패킷의 제1 그룹에서 상기 테일 패킷을 수신한 후, 상기 제2 네트워크 디바이스는 상기 데이터 패킷의 제1 그룹에서 상기 ECN 식별자를 전달하는 상기 데이터 패킷의 수량에 기초하여 상기 제1 활성 흐름량을 다시 업데이트해야 한다. 상기 제1 혼잡 값이 상기 혼잡 임계치보다 작으면, 상기 데이터 패킷의 제1 그룹에서 상기 테일 패킷을 수신한 후 상기 제2 네트워크 디바이스에 의해 카운트되는 활성 흐름량은 상기 제2 활성 흐름량이고; 그리고 상기 제1 혼잡 값이 상기 혼잡 임계치 이상이면, 상기 데이터 패킷의 제1 그룹에서 상기 테일 패킷을 수신한 후 상기 제1 네트워크 디바이스에 의해 카운트되는 활성 흐름량은 상기 제1 활성 흐름량이다. 즉, 상기 데이터 패킷의 제1 그룹에서 상기 테일 패킷이 수신된 후, 상기 카운트된 활성 흐름량은 상기 제1 활성 흐름량(상기 제1 혼잡 값이 상기 혼잡 임계치 이상인 경우) 또는 상기 제2 활성 흐름량(상기 제1 혼잡 값이 상기 혼잡 임계치보다 작은 경우)이다.
상기 ECN 식별자는, 상기 데이터 패킷을 수신할 때 다른 네트워크 디바이스(구체적으로, 상기 제1 네트워크 디바이스와 상기 제2 네트워크 디바이스 사이의 스위칭 장비일 수 있음)에 의해 추가되는 혼잡 식별자일 수 있다.
선택사항으로서, 각각의 데이터 패킷은 필드에서 식별자를 전달할 수 있고, 상기 필드의 값은 상기 데이터 패킷의 유형(구체적으로, 상기 초기 패킷, 상기 테일 패킷, 또는 상기 초기 패킷과 상기 테일 패킷 사이의 데이터 패킷)을 표시하는데 사용될 수 있다.
각각의 데이터 패킷은 또한 패킷으로 간주될 수 있고, 각각의 데이터 패킷의 식별자는 상기 패킷의 필드에서 전달될 수 있다. 예를 들어, 상기 데이터 패킷이 통합 이더넷 버전 2를 통한 원격 직접 메모리 액세스(remote direct memory access over converged ethernet version 2, RoCEv2) 패킷인 경우, 상기 데이터 패킷의 식별자는 RoCEv2 패킷의 옵코드(opcode) 필드에서 전달될 수 있거나, 상기 데이터 패킷의 식별자는 RoCEv2 패킷의 (rsvd7 필드와 같은) 예약 필드에서 전달 될 수 있다.
본 출원에서, 데이터 패킷의 그룹에서 상기 테일 패킷이 수신되는 경우, 혼잡 상태는 상기 데이터 패킷의 그룹에서 상기 ECN 식별자를 전달하는 데이터 패킷의 수량에 기초하여 결정될 수 있고, 상기 활성 흐름량은 상기 혼잡 상태에 기초하여 보정될 수 있어, 상기 활성 흐름량이 보다 정확하게 카운트될 수 있고, 보다 정확한 활성 흐름량이 획득될 수 있다.
특히, 기존 해결 수단은 활성 흐름량을 카운트하는 동안 네트워크 혼잡 상태를 고려하지 않는다. 실제로, 기존 해결 수단은 네트워크가 혼잡하지 않은 이상적인 상황에 기초하여 활성 흐름량을 카운트한다. 네트워크가 혼잡한 경우, 일정 기간 내에 수신단에서 수신하는 데이터 패킷의 수량이 영향을 받으므로, 카운트된 활성 흐름량이 부정확한다. 본 출원에서는, 네트워크 혼잡을 추정하기 위해, 데이터 패킷의 각각의 그룹에서 ECN 식별자를 전달하는 데이터 패킷이 카운트된다. 네트워크 혼잡도가 상대적으로 낮은 경우, 상기 활성 흐름량이 1만큼 감소시킬 수 있고; 그리고 네트워크 혼잡도가 상대적으로 높은 경우, 상기 활성 흐름량은 변경 없이 유지될 수 있어, 네트워크 혼잡이 활성 흐름량에 미치는 영향을 줄일 수 있고, 카운트된 활성 흐름량은 보다 정확하다.
상기 제2 측면을 참조로, 상기 제2 측면의 일부 구현예에서, 상기 데이터 패킷의 제1 그룹에서 ECN 식별자를 전달하는 데이터 패킷의 수량에 기초하여 제1 혼잡 값을 결정하는 단계는, 상기 데이터 패킷의 제1 그룹에서 데이터 패킷의 수량에 대한 상기 데이터 패킷의 제1 그룹에서 상기 ECN 식별자를 전달하는 데이터 패킷의 수량의 비율을 상기 제1 혼잡 값으로 결정하는 단계를 포함한다.
선택사항으로서, 상기 데이터 패킷의 제1 그룹에서 데이터 패킷의 수량에 대한 상기 데이터 패킷의 제1 그룹에서 상기 ECN 식별자를 전달하는 데이터 패킷의 수량의 비율을 결정하는 단계는, 상기 데이터 패킷의 제1 그룹에서 데이터 패킷의 총 수량에 대한 상기 데이터 패킷의 제1 그룹에서 상기 ECN 식별자를 전달하는 데이터 패킷의 총 수량의 비율을 상기 제1 혼잡 값으로 결정하는 단계를 포함한다.
예를 들어, 상기 데이터 패킷의 제1 그룹은 (초기 패킷 및 테일 패킷을 포함하여) 총 10개의 데이터 패킷을 포함하며, 여기서, 총 5개의 데이터 패킷은 상기 ECN 식별자를 전달하고, 계산을 통해, 상기 제1 혼잡 임계치 값이 0.5인 것으로 결정될 수 있다.
그리고, 상기 데이터 패킷의 제1 그룹에서 데이터 패킷의 총 수량에 대한 상기 데이터 패킷의 제1 그룹에서 상기 ECN 식별자를 전달하는 데이터 패킷의 총 수량의 비율이 대안적으로 우선 획득될 수 있고, 상기 비율과 보정 계수의 곱이 상기 제1 혼잡 임계치 값으로 사용된다. 상기 보정 계수는 네트워크의 동작 상태에 기초하여 설정된 계수일 수 있다.
본 출원에서, 상기 제1 혼잡 값은 상기 데이터 패킷의 제1 그룹에서 상기 ECN 식별자를 전달하는 데이터 패킷에 기초하여 결정되어, 현재 혼잡 상태가 실시간으로 반영될 수 있고, 상기 활성 흐름량은 상기 현재 혼잡 상태에 기초하여 보다 정확하게 카운트될 수 있다.
상기 제2 측면을 참조로, 상기 제2 측면의 일부 구현예에서, 상기 제2 네트워크 디바이스가 상기 제1 네트워크 디바이스에 의해 송신되는 데이터 패킷의 제1 그룹에서 테일 패킷을 수신한 후, 상기 방법은, 상기 제2 네트워크 디바이스는 상기 제1 네트워크 디바이스에 의해 송신되는 데이터 패킷의 제2 그룹에서 상기 초기 패킷을 수신하고, 제4 활성 흐름량을 획득하기 위해 제3 활성 흐름량을 1만큼 증가시키며-여기서, 상기 데이터 패킷의 제2 그룹 및 상기 데이터 패킷의 제1 그룹은 동일한 데이터 흐름에 속하고, 상기 제1 혼잡 값이 상기 혼잡 임계치보다 작은 경우 상기 제3 활성 흐름량은 상기 제2 활성 흐름량과 같고, 상기 제1 혼잡 값이 상기 혼잡 임계치 이상인 경우 상기 제3 활성 흐름량은 상기 제1 활성 흐름량과 같음-; 상기 제2 네트워크 디바이스는 상기 제1 네트워크 디바이스에 의해 송신되는 데이터 패킷의 제2 그룹에서 테일 패킷을 수신하고, 상기 데이터 패킷의 제2 그룹에서 상기 ECN 식별자를 전달하는 데이터 패킷의 수량 및 상기 제1 혼잡 값에 기초하여 상기 네트워크의 제2 혼잡 값을 결정하며; 상기 제2 혼잡 값이 상기 혼잡 임계치보다 작은 경우, 상기 제2 네트워크 디바이스는 제5 활성 흐름량을 획득하기 위해 상기 제4 활성 흐름량을 1만큼 감소시키며; 그리고 상기 제2 혼잡 값이 상기 혼잡 임계치 이상인 경우, 상기 제2 네트워크 디바이스는 상기 제4 활성 흐름량을 변경하지 않고 유지하는 것을 포함한다.
선택사항으로서, 상기 데이터 패킷의 제1 그룹에서 데이터 패킷의 수량에 대한 상기 데이터 패킷의 제1 그룹에서 상기 ECN 식별자를 전달하는 데이터 패킷의 수량의 비율을 결정하는 단계는, 상기 데이터 패킷의 제1 그룹에서 데이터 패킷의 총 수량에 대한 상기 데이터 패킷의 제1 그룹에서 상기 ECN 식별자를 전달하는 데이터 패킷의 총 수량의 비율을 상기 제1 혼잡 값으로 결정하는 단계를 포함한다.
상기 데이터 패킷의 제1 그룹에서 상기 초기 패킷, 상기 테일 패킷, 및 상기 초기 패킷과 상기 테일 패킷 사이의 데이터 패킷은 모두 상기 ECN 식별자를 전달할 수 있음을 이해해야 한다. 상기 데이터 패킷의 제1 그룹에서 각각의 데이터 패킷이 상기 ECN 식별자를 전달하는 경우, 이는 네트워크 혼잡이 심각함을 표시한다. 상기 데이터 패킷의 제1 그룹에서 소량의 데이터 패킷이 상기 ECN 식별자를 전달하는 경우, 상기 네트워크 혼잡도가 낮음(또는 상기 네트워크가 상대적으로 원활함)을 나타낸다.
상기 데이터 패킷의 제2 그룹에서 상기 초기 패킷이 수신된 후, 상기 데이터 패킷의 제2 그룹에서 상기 초기 패킷은 상기 데이터 패킷의 제1 그룹에서 상기 초기 패킷과 유사한 방시그로 처리될 수 있고; 그리고 상기 데이터 패킷의 제2 그룹에서 상기 테일 패킷이 수신된 후, 상기 제2 혼잡 값은 상기 데이터 패킷의 제2 그룹에서 상기 ECN 식별자를 전달하는 데이터 패킷의 수량 및 상기 제1 혼잡 값 모두에 기초하여 결정될 수 있어, 상기 제2 혼잡 값이 지나치게 변화하지 않고, 천천히 변화하는 혼잡 값이 획득되고, 상기 카운트된 활성 흐름량은 갑자기 변화하지 않는다.
선택사항으로서, 상기 제2 네트워크 디바이스가 상기 제1 네트워크 디바이스에 의해 송신되는 데이터 패킷의 제2 그룹에서 테일 패킷을 수신한 후, 상기 제2 혼잡 값은 대안적으로 상기 데이터 패킷의 제1 그룹에서 상기 ECN 식별자를 전달하는 데이터 패킷의 수량 및 상기 데이터 패킷의 제2 그룹에서 상기 ECN 식별자를 전달하는 데이터 패킷의 수량 모두에 기초하여 결정될 수 있다.
선택사항으로서, 상기 데이터 패킷의 제1 그룹 및 상기 데이터 패킷의 제2 그룹 모두에 포함된 데이터 패킷의 총 수량에 대한 상기 데이터 패킷의 제1 그룹 및 상기 데이터 패킷의 제2 그룹 모두에서 상기 ECN 식별자를 전달하는 데이터 패킷의 총 수량의 비율이 상기 제2 혼잡 값으로 결정된다.
상기 제2 측면을 참조로, 상기 제2 측면의 일부 구현예에서, 상기 데이터 패킷의 제2 그룹에서 상기 ECN 식별자를 전달하는 데이터 패킷의 수량 및 상기 제1 혼잡 값에 기초하여 상기 네트워크의 제2 혼잡 값을 결정하는 단계는, 상기 데이터 패킷의 제2 그룹에서 상기 ECN 식별자를 전달하는 데이터 패킷의 수량에 기초하여 상기 네트워크의 제3 혼잡 값을 결정하는 단계; 및 공식 con2=x1*con3+x2*con1에 기초하여 상기 제2 혼잡 값을 결정하는 단계-여기서, con3은 상기 제3 혼잡 값이고, con1은 상기 제1 혼잡 값이고, con2는 상기 제2 혼잡 값이고, x1은 미리 설정된 제1 가중치이고, x2는 미리 설정된 제2 가중치임-;를 포함한다.
상기 제2 측면에 따른 방법에서, 상기 활성 흐름량은 수신단 또는 전송단과 상기 수신단 사이의 스위칭 장비에서 네트워크 디바이스에 의해 카운트될 수 있고; 상기 활성 흐름량이 상기 상기 전송단과 상기 수신단 사이의 스위칭 장비에 의해 카운트되는 경우, 상기 스위칭 장비는 카운트된 활성 흐름량을 상기 수신단으로 피드-백 하여 이를 상기 전송단으로 포워딩할 수 있음을 이해해야 한다.
제3 측면에 따르면, 네트워크 디바이스가 제공되며, 여기서 상기 네트워크 디바이스는 상기 제1 측면의 다양한 구현예 또는 상기 제2 측면의 다양한 구현예에 따른 방법을 수행하도록 구성되는 모듈을 포함한다.
제4 측면에 따르면, 네트워크 디바이스가 제공되며, 여기서 상기 네트워크 디바이스는 메모리 및 프로세서를 포함하고, 여기서 상기 메모리는 프로그램을 저장하도록 구성되고, 상기 프로세서는 상기 메모리에 저장된 프로그램을 실행하도록 구성되고, 상기 메모리에 저장된 프로그램이 상기 프로세서에 의해 실행되는 경우, 상기 프로세서는 상기 제1 측면의 다양한 구현예 또는 상기 제2 측면의 다양한 구현예에 따른 방법을 수행하도록 구성된다.
선택사항으로서, 상기 네트워크 디바이스는 송수신기를 더 포함하고; 및 상기 메모리에 저장된 프로그램이 상기 프로세서에 의해 실행되는 경우, 상기 프로세서 및 상기 송수신기는 상기 제1 측면의 다양한 구현예 또는 상기 제2 측면의 다양한 구현예에 따른 방법을 수행하도록 구성된다.
제5 측면에 따르면, 컴퓨터-판독 가능한 저장 매체가 제공되며, 여기서, 상기 컴퓨터-판독 가능한 저장 매체는 명령을 저장하고, 상기 명령이 컴퓨터 상에서 실행되는 경우, 상기 컴퓨터는 상기 제1 측면의 다양한 구현예 또는 상기 제2 측면의 다양한 구현예에 따른 방법을 수행할 수 있게 된다.
제6 측면에 따르면, 명령을 포함하는 컴퓨터 프로그램 제품이 제공되며, 여기서, 상기 컴퓨터 프로그램 제품이 컴퓨터 상에서 실행되는 경우, 상기 컴퓨터는 상기 제1 측면의 다양한 구현예 또는 상기 제2 측면의 다양한 구현예에 따른 방법을 수행할 수 있게 된다.
상기 전술한 컴퓨터는 구체적으로 데이터 센터 내의 네트워크 디바이스, 예를 들어, 서버 또는 전송 디바이스일 수 있다.
도 1은 본 출원의 실시예에 따른 가능한 응용 시나리오의 개략도이다.
도 2는 본 출원의 실시예에 따른 혼잡 제어 방법의 개략적인 흐름도이다.
도 3은 본 출원의 실시예에 따른 혼잡 제어 방법의 개략적인 흐름도이다.
도 4는 본 출원의 실시예에 따른 혼잡 제어 방법의 개략적인 흐름도이다.
도 5는 본 출원의 실시예에 따른 혼잡 제어 방법의 개략적인 흐름도이다.
도 6은 본 출원의 실시예에 따른 네트워크 디바이스의 개략적인 블록도이다.
도 7은 본 출원의 실시예에 따른 네트워크 디바이스의 개략적인 블록도이다.
도 8은 본 출원의 실시예에 따른 네트워크 디바이스의 개략적인 블록도이다.
도 1은 본 출원의 실시예의 가능한 응용 시나리오의 개략도이다.
도 1에 도시된 바와 같이, 전송단 1, 전송단 2, 및 전송단 3은 스위치 1 및 스위치 2를 통해 수신단 1 및 수신단 2로 데이터 흐름을 송신한다. 수신단 1 및 수신단 2은 모두, 스위치 1 및 스위치 2를 통해, 전송단 1, 전송단 2, 및 전송단 3으로부터 데이터 흐름을 수신할 수 있다(스위치 1 및 스위치 2는 전송단 1, 전송단 2, 및 전송단 3으로부터 송신되는 데이터 흐름을 수신단 1 및 수신단 2로 포워딩한다). 도 1은 단지 본 출원의 실시예의 가능한 응용 시나리오의 개략도일 뿐이다. 본 출원의 실시예는 도 1에 도시된 시나리오와 유사한 다른 시나리오에도 적용될 수 있다.
전송단 1과 수신단 1을 예로 들면, 전송단 1에 의해 수신단 1로 송신되는 데이터 흐름은 전송단 1과 수신단 1 사이에 혼잡을 초래할 수 있고, 결과적으로, 수신단 1에 의해 수신되는 데이터 패킷의 지연이 커지고, 네트워크 성능이 영향을 받는다. 혼잡 제어를 수행하기 위해, 기존 해결 수단에서는, 수신단 1은 데이터 흐름의 혼잡 상태를 전송단 1로 피드백한다. 데이터 흐름이 혼잡을 초래하면, 전송단 1은 데이터 흐름의 송신 레이트(sending rate)를 점진적으로 감소시키고, 데이터 흐름이 혼잡을 초래하지 않으면, 전송단은 데이터 패킷의 송신 레이트을 점진적으로 증가시킬 수 있다. 기존 해결 수단에서는, 전송단이 네트워크의 혼잡 상태를 학습한 후 데이터 패킷의 전송 레이트를 점진적으로 조정하므로 레이트가 상대적으로 느리게 변한다. 이는 네트워크의 혼잡 상태를 알고 난 후 수동적 조정이며, 혼잡 제어 효과가 아주 좋지는 않다.
따라서, 본 출원은 새로운 혼잡 제어 방법을 제공하며, 여기에서는 데이터 흐름의 송신 레이트가 수신단의 정격 수신 대역폭 및 활성 흐름량에 기초하여 능동적으로 조정되어, 수신단의 실제의 수신 대역폭이 정격 수신 대역폭에 도달할 수 있고, 수신단은 전체 쓰루풋 상태(full throughput state)에 도달하 수 있어, 데이터 흐름의 전송 효율을 향상한다.
도 2는 본 출원의 실시예에 따른 혼잡 제어 방법의 개략적인 흐름도이다. 도 2에 도시된 방법은 데이터 센터 네트워크 및 수도권 네트워크와 같은 네트워크에 적용될 수 있다. 제1 네트워크 디바이스 및 제2 네트워크 디바이스는 이러한 네트워크에서의 디바이스이다. 도 2에 도시된 방법은 단계 101 내지 단계 103을 포함한다. 이러한 단계가 이하에서 상세히 설명된다.
101. 제2 네트워크 디바이스는 제1 메시지를 제1 네트워크 디바이스로 송신하고, 제1 네트워크 디바이스는 제1 메시지를 수신한다.
제1 메시지는 활성 흐름량을 전달하며, 여기서 활성 흐름량은 제1 네트워크 디바이스로부터 수신되는 데이터 패킷이 속하는 데이터 흐름에 기초하여 제2 네트워크 디바이스에 의해 결정된다.
용어 "활성 흐름"은 데이터 흐름에 대한 제2 네트워크 디바이스의 정의일 수 있음을 이해해야 한다. 제2 네트워크 디바이스에 대해, 활성 흐름은 데이터 패킷이 상대적으로 자주 전송되는 데이터 흐름일 수 있고, 비활성 흐름은 데이터 패킷이 더 긴 시간 간격으로 전송되는 데이터 흐름으로 간주될 수 있다(예를 들어, 데이터 흐름이 오랫동안 하나의 데이터 패킷을 전송하고, 그러한 데이터 흐름이 비활성 흐름으로 간주될 수 있다). 따라서, 제2 네트워크 디바이스에 대해, 제2 네트워크 디바이스에 의해 수신되는 데이터 흐름은, 활성 흐름 및 비활성 흐름의 2가지 유형으로 나뉠 수 있다.
그리고, 활성 흐름량은 특정 통계 기간 내에 데이터 패킷이 전송되고 있는 데이터 흐름의 수량을 참조할 수 있다. 구체적으로, 활성 흐름량은 통계 기간 내에 제1 네트워크 디바이스로부터 수신되는 데이터 패킷이 속하는 데이터 흐름에 기초하여 제2 네트워크 디바이스에 의해 결정되는 데이터 흐름의 수량일 수 있다.
선택사항으로서, 단계 101 이전에, 제1 네트워크 디바이스는 데이터 흐름을 제2 네트워크 디바이스로 송신하고, 제2 네트워크 디바이스는 제1 네트워크 디바이스에 의해 송신되는 데이터 흐름을 수신한다.
데이터 흐름을 제2 네트워크 디바이스로 송신하는 경우, 제1 네트워크 디바이스는 데이터 패킷을 제2 네트워크 디바이스로 그룹으로 송신할 수 있다. 데이터 패킷의 각각의 그룹은 초기 패킷 및 테일 패킷을 포함하며, 초기 패킷과 테일 패킷 사이의 데이터 패킷은 상이한 식별자를 가진다. 제2 네트워크 디바이스는 이러한 식별자에 기초하여 데이터 패킷의 그룹에서 초기 패킷 및 테일 패킷을 식별한 후, 수신된 데이터 패킷의 각각의 그룹의 초기 패킷 및 테일 패킷에 기초하여 활성 흐름량을 카운트하여, 활성 흐름량을 획득할 수 있다(활성 흐름량을 카운트하는 세부 사항은 도 3에 도시된 방법에서 설명된다).
제1 네트워크 디바이스가 도 1에 도시된 혼잡 제어 방법을 사용하여 데이터 흐름의 송신 레이트를 제어하기 전에는, 데이터 흐름은 제2 네트워크 디바이스로 초기 레이트로 송신될 수 있음을 이해해야 한다. 초기 레이트는 다음 2가지 방법을 사용하여 규정될 수 있다.
방법 1: 제1 네트워크 디바이스는 제2 네트워크 디바이스의 정격 수신 대역폭을 초기 레이트로 결정하고, T 이내에 정격 수신 대역폭에 기초하여 데이터 흐름을 제2 네트워크 디바이스로 송신한다.
T는, 제1 네트워크 디바이스로부터 요청 패킷이 송신되는 시간으로부터(요청 패킷은 제1 네트워크 디바이스에 의해 송신되는 데이터 흐름을 수신하도록 제2 네트워크 디바이스에게 요청하는데 사용된다), 요청 패킷으로 특정되고 제2 네트워크 디바이스에 의해 송신되는 응답 패킷을 제1 네트워크 디바이스가 수신하는 시간까지의 기간이다.
방법 2: 초기 레이트는 통합 이더넷 버전 2를 통한 원격 직접 메모리 액세스(remote direct memory access over converged ethernet version 2, RoCEv2)에 기초하여 규정된 흐름당 초기 송신 레이트이다.
구체적으로, 가능한 구현예에서, 초기 레이트는 제1 네트워크 디바이스의 송신 패브릭 카드(sending fabric card) 또는 라인 카드(line card)에 의해 허용되는 최대 송신 레이트일 수 있다.
그리고, 데이터 패킷의 각각의 그룹에서 초기 패킷 및 테일 패킷을 규정하는 2가지 방법이 있다. 첫 번째 방법은 RoCEv2 프로토콜에 기초하여 초기 패킷 및 테일 패킷을 규정하는 것이다. 구체적으로, 데이터 패킷은 메시지(Message)에 기초하여 그룹화될수 있다(메시지는 애플리케이션 레이어에서의 논리 그룹이다): 메시지의 첫 번째 패킷은 초기 패킷으로 간주되고, 메시지의 마지막 패킷은 테일 패킷으로 간주되며, 초기 패킷 및 테일 패킷은 통합 이더넷을 통한 원격 직접 메모리 액세스(remote direct memory access over converged ethernet, RoCE) 패킷의 베이스 전송 헤더(Base Transport Header, BTH)의 옵코드(opcode) 필드에서 구체적으로 규정될 수 있다.
애플리케이션 레이어에서의 논리 그룹에 기초하여 데이터 패킷에서 초기 패킷 및 테일 패킷을 정의함에 추가적으로, 데이터 패킷의 초기 패킷 및 테일 패킷은 또한 세그먼트(segment)에 기초하여 직접적으로 규정될 수 있다. 구체적으로, 활성 흐름량 또는 초기 레이트에 기초하여 피드백되는 기간 내의 데이터 패킷은 그룹들로 그룹화될 수 있고, 세그먼트에서 첫 번째 패킷은 초기 패킷으로 지칭되고, 세그먼트에서 마지막 패킷은 테일 패킷으로 지칭된다. 이 2개의 필드는 BTH에서 (rsvd7 필드와 같은) 예약 필드에서 규정될 수 있고, 각각의 필드의 플래그는 1 비트를 차지할 수 있다.
선택사항으로서, 제1 메시지는 구체적인 활성 흐름량을 직접 전달할 수 있어, 제1 네트워크 디바이스는 제1 메시지에 기초하여 활성 흐름량을 직접 획득할 수 있다.
102. 제1 네트워크 디바이스는 활성 흐름량 및 제2 네트워크 디바이스의 정격 수신 대역폭에 기초하여, 데이터 흐름을 제2 네트워크 디바이스로 송신하는데 사용되는 패킷 송신 제어 정보를 결정한다.
패킷 송신 제어 정보는, 제1 네트워크 디바이스가 패킷 송신 제어 정보에 기초하여 데이터 흐름을 제2 네트워크 디바이스로 송신하는 경우, 제2 네트워크 디바이스의 실제의 수신 대역폭이 정격 수신 대역폭에 도달함을 나타낸다. 즉, 패킷 송신 제어 정보는 제1 네트워크 디바이스를 제어하여 데이터 흐름을 제2 네트워크 디바이스로 송신하는데 사용되고; 그리고 제1 네트워크 디바이스가 패킷 송신 제어 정보에 기초하여 데이터 흐름을 제2 네트워크 디바이스로 송신하는 경우, 제2 네트워크 디바이스의 실제의 대역폭은 제2 네트워크 디바이스의 정격 수신 대역폭에 도달할 수 있다.
제2 네트워크 디바이스의 정격 수신 대역폭은 고정 대역폭일 수 있다. 제1 네트워크 디바이스가 구성되는 경우, 제2 네트워크 디바이스의 정격 수신 대역폭과 같은 정보가 제1 네트워크 디바이스에 대해 직접 구성될 수 있으므로, 제1 네트워크 디바이스는 구성 정보로부터 제2 네트워크 디바이스의 정격 수신 대역폭을 획득할 수 있다.
103. 제1 네트워크 디바이스는 패킷 송신 제어 정보에 기초하여 데이터 흐름을 제2 네트워크 디바이스로 송신하고, 제2 네트워크 디바이스는 정격 수신 대역폭에 기초하여 데이터 흐름을 수신한다.
제1 네트워크 디바이스에 의해 패킷 송신 제어 정보에 기초하여 제2 네트워크 디바이스로 송신되는 데이터 흐름은 하나의 데이터 흐름(이 경우에, 데이터 흐름은 제1 네트워크 디바이스에 의해 제2 네트워크 디바이스로 송신되는 데이터 흐름 전부 중 임의의 하나일 수 있다)일 수 있거나, 복수의 데이터 흐름(복수의 데이터 흐름은 제1 네트워크 디바이스에 의해 제2 네트워크 디바이스로 송신되는 데이터 흐름 전부일 수 있다)일 수 있음을 이해해야 한다.
본 출원에서, 패킷 송신 제어 정보는 활성 흐름량 및 제2 네트워크 디바이스의 정격 수신 대역폭에 기초하여 결정되고, 제1 네트워크 디바이스로부터 제2 네트워크 디바이스로 송신되는 데이터 흐름은 패킷 송신 제어 정보에 기초하여 제어되므로, 제2 네트워크 디바이스는 전체 쓰루풋 상태(full throughput state)에 도달할 수 있어, 데이터 흐름의 전송 효율을 향상한다.
패킷 송신 제어 정보가 활성 흐름량 및 제2 네트워크 디바이스의 정격 수신 대역폭에 기초하여 결정되는 경우, 패킷 송신 제어 정보는 활성 흐름량에 기초하여 상이한 방법을 사용하여 결정될 수 있다.
예를 들어, 활성 흐름량이 상대적으로 작은 경우, 네트워크는 버스트 데이터에 대해 강한 내성을 가진다. 이 경우, 주기 내의 데이터 흐름의 최대 데이터 전송량만 제어하면 된다. 그러나, 활성 흐름량이 상대적으로 큰 경우, 복수의 동시 흐름이 네트워크에 큰 영향을 미친다. 대량의 버스트 데이터에 의해 초래되는 네트워크 혼잡을 피하기 위해, 네트워크 카드(네트워크 카드는 수신단에 위치하고 데이터 패킷의 송신 주기 할당을 담당한다)의 할당 기간은 제어될 수 있고, 주기당 단일 패킷이 송신된다(즉, 데이터 패킷 사이의 전송 간격은 엄격히 제어되고, 각각의 데이터 패킷의 전송은 주기로 간주될 수 있다).
선택사항으로서, 활성 흐름량이 제1 임계치보다 작은 경우, 제1 네트워크 디바이스는, 공식 (1)에 기초하여, 데이터 흐름을 제2 네트워크 디바이스로 송신하는데 사용되는 패킷 송신 제어 정보를 결정한다.
Figure 112021017349641-pct00005
(1)
공식 (1)에서, C는 제2 네트워크 디바이스의 정격 수신 대역폭이고, active_qp는 활성 흐름량이고, T는 제1 네트워크 디바이스에 의해 송신되는 데이터 흐름의 데이터 패킷이 제2 네트워크 디바이스에 도달하는데 요구되는 시간이고, V는 제1 네트워크 디바이스에 의해 T 이내에 제2 네트워크 디바이스로 송신되는 데이터 흐름의 데이터 볼륨이다.
패킷 송신 제어 정보는 공식 (1)에 기초하여 결정되고, 패킷 송신 제어 정보는 특히 데이터 흐름에서 데이터 볼륨 V를 가지는 데이터 패킷을 제2 네트워크 디바이스로 T 이내에 송신하도록 제1 네트워크 디바이스에게 지시하는데 사용된다. 이 경우에, 패킷 송신 제어 정보는 T 내에 송신된 데이터 흐름에서 데이터 패킷의 데이터 볼륨만을 표시하지만, 데이터 패킷 사이의 시간 간격은 T 내의 데이터 흐름에서 데이터 패킷의 데이터 볼륨이 V에 도달하는 한 제한되지 않는다는 점을 이해해야 한다.
패킷 송신 제어 정보가 공식 (1)에 기초하여 획득된 후, 제1 네트워크 디바이스가 패킷 송신 제어 정보에 기초하여 데이터 흐름을 제2 네트워크 디바이스로 송신하는 것은, 제1 네트워크 디바이스가 데이터 흐름에서 데이터 볼륨 V를 가지는 데이터 패킷을 제2 네트워크 디바이스로 T 이내에 송신하는 것을 포함한다.
데이터 볼륨(data volume)은 데이터 흐름에서 데이터 패킷의 길이일 수 있다. 예를 들어, 데이터 흐름 1은 데이터 패킷 1, 데이터 패킷 2, 및 데이터 패킷 3을 포함하며, 여기서. 각각의 데이터 패킷은 4 바이트의 길이를 가지고, 데이터 흐름 1은 12 바이트의 길이를 가진다.
T는 미리 설정될 수 있다. 구체적으로, T는 네트워크가 아이들 상태일 때 특정 레이트로 데이터 패킷이 전송될 때 데이터 패킷이 수신단에 도달하는 시간일 수 있다.
대안적으로, T는 구체적으로 왕복 시간(round-trip time, RTT)일 수 있다. RTT는 전송단이 데이터를 송신하는 시간과 전송단이 수신단으로부터 수신 확인을 수신하는 시간(수신단은 데이터를 수신하는 즉시 수신 확인을 송신한다) 사이의 총 지연을 표시한다. RTT는 네트워크 디바이스가 초기화되고 네트워크가 아이들 상태일 때 정적 지연을 측정함으로써 획득될 수 있다.
본 출원에서, 활성 흐름량이 상대적으로 작은 경우, 네트워크는 버스트 데이터에 대해 강한 내성을 가지므로, 주기 내의 데이터 흐름의 최대 데이터 전송량만 제어하면 되고, 데이터 흐름의 송신에 대한 제어는 단순화된다.
선택사항으로서, 활성 흐름량이 제1 임계치 이하인 경우, 제1 네트워크 디바이스는 공식 (2)에 기초하여, 데이터 흐름을 제2 네트워크 디바이스로 송신하는데 사용되는 패킷 송신 제어 정보를 결정한다.
Figure 112021017349641-pct00006
(2)
공식 (2)에서, 1pkt는 단일 데이터 패킷의 길이이고, active_qp는 활성 흐름량이고, C는 제2 네트워크 디바이스의 정격 수신 대역폭이고, "간격"은 제1 네트워크 디바이스가 데이터 흐름을 송신하는 경우 인접한 데이터 패킷 사이의 시간 간격이다.
패킷 송신 제어 정보는 공식 (2)에 기초하여 결정되고, 패킷 송신 제어 정보는 특히 제1 네트워크 디바이스가 각각의 데이터 흐름을 송신할 때 데이터 패킷 사이의 전송 시간 간격이 "간격"에 의해 표시되는 값에 도달함을 표시한다.
패킷 송신 제어 정보가 공식 (2)에 기초하여 획득된 후, 제1 네트워크 디바이스가 패킷 송신 제어 정보에 기초하여 데이터 흐름을 제2 네트워크 디바이스로 송신하는 것은, 제1 네트워크 디바이스가 "간격"에 의해 표시되는 시간 간격에 기초하여 데이터 흐름 내의 데이터 패킷을 제2 네트워크 디바이스로 송신하는 것을 포함한다.
단일 데이터 패킷의 길이는 구체적으로 단일 데이터 패킷의 데이터 볼륨의 크기일 수 있고, 예를 들어, 단일 데이터 패킷의 데이터 볼륨의 크기가 3 바이트이면, 단일 데이터 패킷의 길이는 또한 3 바이트이다.
공식 (2)의 유도 과정은 다음과 같다.
대역폭은 모든 데이터 흐름에 대해 균등하게 분할되고, 각각의 데이터 흐름의 송신 레이트는
Figure 112021017349641-pct00007
이다. 전송단에서 각각의 데이터 흐름의 송신 레이트는
Figure 112021017349641-pct00008
이다. 공식 (3)은 수신단이 전체 쓰루풋 상태에 도달하도록 획득될 수 있고, 공식 (2)는 공식 (3)을 변환함으로써 획득될 수 있다.
Figure 112021017349641-pct00009
=
Figure 112021017349641-pct00010
(3)
본 출원에서, 활성 흐름량이 상대적으로 큰 경우, 복수의 동시 흐름은 네트워크에 큰 부담을 초래할 수 있다. 데이터 패킷 사이의 전송 시간 간격을 적절하게 설정하여 네트워크 상의 복수의 동시 흐름의 영향을 피할 수 있으므로 네트워크 혼잡을 피할 수 있다.
활성 흐름량 및 제2 네트워크 디바이스의 정격 수신 대역폭에 기초하여 패킷 송신 제어 정보를 결정함에 있어, 공식 (1) 또는 공식 (2)에 기초하여 각각의 데이터 흐름에 대한 패킷 송신 제어 정보를 결정하는 것에 더하여 (이 경우에, 각각의 데이터 흐름에 대한 패킷 송신 제어 정보는 동일한 방법을 사용하여 결정된다), 데이터 흐름에 대한 패킷 송신 제어 정보는 데이터 흐름의 구체적인 상황(예를 들어, 우선 순위)에 기초하여 결정될 수 있고, 이 경우, 상이한 데이터 흐름에 대해 획득되는 패킷 송신 제어 정보는 상이할 수 있다. 데이터 흐름에 대한 패킷 전송 제어 정보를 결정하는 방법을 아래에서 상세히 설명한다.
선택사항으로서, 제1 네트워크 디바이스는 활성 흐름량 및 제2 네트워크 디바이스의 정격 수신 대역폭에 기초하여, 데이터 흐름을 제2 네트워크 디바이스로 송신하는데 사용되는 패킷 송신 제어 정보를 결정한다는 것은, 제1 네트워크 디바이스는 활성 흐름량, 제2 네트워크 디바이스의 정격 수신 대역폭, 및 데이터 흐름의 속성 정보에 기초하여, 데이터 흐름을 제2 네트워크 디바이스로 송신하는데 사용되는 패킷 송신 제어 정보를 결정하다는 것을 포함한다.
데이터 흐름의 속성 정보는 데이터 흐름의 애플리케이션 정보 및 데이터 흐름의 데이터 볼륨 정보 중 적어도 하나를 포함하고, 데이터 흐름의 애플리케이션 정보는 데이터 흐름의 데이터 패킷이 속하는 서비스 유형을 표시하는데 사용되고, 데이터 흐름의 데이터 볼륨 정보는 데이터 흐름에 속하고 미리 설정된 시간 내에 제1 네트워크 디바이스에 의해 송신되는 데이터 패킷의 데이터 볼륨을 표시하는데 사용된다.
데이터 흐름의 애플리케이션 정보는 구체적으로, 흐름의 데이터 패킷이 속하는 서비스 유형 (예를 들어, 오디오 또는 비디오), 서비스 유형에 대응하는 우선 순위, 등을 포함할 수 있다.
본 출원에서, 데이터 흐름의 패킷 송신 제어 정보가 결정되면, 패킷 송신 제어 정보는 데이터 흐름의 속성 정보에 기초하여 데이터 흐름에 대해 적절하게 결정될 수 있다.
선택사항으로서, 활성 흐름량이 제1 임계치보다 작은 경우, 제1 네트워크 디바이스는, 공식 (4)에 기초하여, 데이터 흐름을 제2 네트워크 디바이스로 송신하는데 사용되는 패킷 송신 제어 정보를 결정한다.
Figure 112021017349641-pct00011
(4)
공식 (4)에서, C는 제2 네트워크 디바이스의 정격 수신 대역폭이고, active_qp는 활성 흐름량이고, T는 제1 네트워크 디바이스에 의해 송신되는 데이터 흐름의 데이터 패킷이 제2 네트워크 디바이스에 도달하는데 요구되는 시간이고, w는 데이터 흐름의 가중치이고, w는 데이터 흐름의 속성 정보에 기초하여 결정되고, V는 제1 네트워크 디바이스에 의해 T 이내에 제2 네트워크 디바이스로 송신되는 데이터 흐름의 데이터 볼륨이다.
패킷 송신 제어 정보가 공식 (4)에 기초하여 획득된 후, 제1 네트워크 디바이스가 패킷 송신 제어 정보에 기초하여 데이터 흐름을 제2 네트워크 디바이스로 송신하는 것은, 제1 네트워크 디바이스가 데이터 흐름에서 데이터 볼륨 V를 가지는 데이터 패킷을 제2 네트워크 디바이스로 T 이내에 송신하는 것을 포함한다.
w는 데이터 흐름의 애플리케이션 정보 및/또는 데이터 흐름의 속성 정보에 있는 데이터 흐름의 데이터 볼륨 정보에 기초하여 결정될 수 있음을 이해해야 한다.
선택사항으로서, 공식 (4)에서, w의 값은 데이터 흐름의 애플리케이션 정보에 의해 표시되는 서비스 유형의 중요도와 양의 상관 관계가 있다.
구체적으로, 공식 (4)에서 데이터 흐름의 애플리케이션 정보에 의해 표시되는 서비스 유형의 중요도가 높을수록 w의 값이 큰 것을 표시한다.
선택사항으로서, 공식 (4)에서, w의 값은 데이터 흐름의 애플리케이션 정보에 의해 표시되는 서비스의 우선 순위와 양의 상관 관계를 가진다. 예를 들어, 데이터 흐름의 애플리케이션 정보에 의해 표시되는 서비스의 우선 순위가 높을수록 w의 값이 큰 것을 표시한다.
선택사항으로서, 공식 (4)에서, w의 값은 데이터 흐름의 데이터 볼륨 정보에 의해 표시되는 데이터 볼륨과 역의 상관 관계가 있다. 구체적으로, 데이터 흐름의 데이터 볼륨 정보에 의해 표시되는 데이터 볼륨이 클수록 w의 값이 작은 것을 표시한다.
본 출원에서, 데이터 흐름의 데이터 전송량가 결정되면, 데이터 전송량은 데이터 흐름의 속성 정보에 기초하여 데이터 흐름에 대해 적절하게 결정될 수 있다.
선택사항으로서, 활성 흐름량이 제1 임계치 이상인 경우, 제1 네트워크 디바이스, 공식 (5)에 기초하여, 데이터 흐름을 제2 네트워크 디바이스로 송신하는데 사용되는 패킷 송신 제어 정보를 결정한다.
Figure 112021017349641-pct00012
(5)
공식 (5)에서, 1pkt는 단일 데이터 패킷의 길이이고, active_qp는 활성 흐름량이고, w는 데이터 흐름의 가중치이고, w는 데이터 흐름의 속성 정보에 기초하여 결정되고, C는 제2 네트워크 디바이스의 정격 수신 대역폭이고, "간격"은 제1 네트워크 디바이스가 데이터 흐름을 송신하는 경우 인접한 데이터 패킷 사이의 시간 간격이다.
패킷 송신 제어 정보가 공식 (5)에 기초하여 획득된 후, 제1 네트워크 디바이스가 패킷 송신 제어 정보에 기초하여 데이터 흐름을 제2 네트워크 디바이스로 송신하는 것은, 제1 네트워크 디바이스가 "간격"에 의해 표시되는 시간 간격에 기초하여 데이터 흐름 내의 데이터 패킷을 제2 네트워크 디바이스로 송신하는 것을 포함한다.
선택사항으로서, 공식 (5)에서, w의 값은 데이터 흐름의 애플리케이션 정보에 의해 표시되는 서비스 유형의 중요도와 역의 상관 관계가 있다.
구체적으로, 공식 (5)에서, 데이터 흐름의 애플리케이션 정보에 의해 표시되는 서비스 유형의 중요도가 높을수록 w의 값이 작은 것을 표시한다.
선택사항으로서, 공식 (5)에서, w의 값은 데이터 흐름의 애플리케이션 정보에 의해 표시되는 서비스의 우선 순위과 역의 상관 관계가 있다.
예를 들어, 데이터 흐름의 애플리케이션 정보에 의해 표시되는 서비스의 우선 순위가 클수록 w의 값이 작은 것을 표시한다.
선택사항으로서, 공식 (5)에서, w의 값은 데이터 흐름의 데이터 볼륨 정보에 의해 표시되는 데이터 볼륨과 양의 상관 관계를 가진다. 구체적으로, 데이터 흐름의 데이터 볼륨 정보에 의해 표시되는 데이터 볼륨이 클수록 w의 값이 더 큰 것을 표시한다.
본 출원에서, 데이터 흐름의 데이터 패킷 전송 시간 간격가 결정되면, 데이터 패킷 전송 시간 간격은 데이터 흐름의 속성 정보에 기초하여 데이터 흐름에 대해 적절하게 결정될 수 있다.
선택사항으로서, w가 데이터 흐름의 속성 정보에서 데이터 흐름의 애플리케이션 정보에 기초하여 결정되는 경우, w=w1이고, w1의 값은 데이터 흐름의 애플리케이션 정보에 의해 표시되는 서비스 유형의 중요도와 양의 상관 관계가 있다. 예를 들어, 데이터 흐름의 애플리케이션 정보에 의해 표시되는 서비스 유형의 중요도가 높을수록 w1의 값이 더 큰 것을 표시한다. 이 경우, 공식 (4)는 공식 (6)으로 변환될 수 있다. 이 경우, 데이터 흐름을 제2 네트워크 디바이스로 송신하는데 사용되는 패킷 송신 제어 정보는 공식 (6)에 기초하여 직접 결정될 수 있다.
Figure 112021017349641-pct00013
(6)
공식 (6)에서, w1은 데이터 흐름의 속성 정보에 있는 데이터 흐름의 애플리케이션 정보에 기초하여 결정되고, 다른 파라미터는 공식 (4)에서와 동일한 의미를 가진다.
선택사항으로서, w가 데이터 흐름의 데이터 볼륨 정보에 기초하여 결정되는 경우, w=w2이고, w2의 값은 데이터 흐름의 데이터 볼륨 정보에 의해 표시되는 데이터 볼륨과 역의 상관 관계가 있다. 예를 들어, 데이터 흐름의 데이터 볼륨 정보에 의해 표시되는 데이터 볼륨이 클수록 w2의 값이 작은 것을 표시한다. 이 경우, 공식 (4)는 공식 (7)로 변환될 수 있다. 이 경우, 데이터 흐름을 제2 네트워크 디바이스로 송신하는데 사용되는 패킷 송신 제어 정보는 공식 (7)에 기초하여 직접 결정될 수 있다.
Figure 112021017349641-pct00014
(7)
공식 (7)에서, w2는 데이터 흐름의 데이터 볼륨 정보에 기초하여 결정되고, 다른 파라미터는 공식 (4)에서와 동일한 의미를 가진다.
선택사항으로서, w가 데이터 흐름의 애플리케이션 정보 및 데이터 흐름의 속성 정보에 있는 데이터 흐름의 데이터 볼륨 정보에 기초하여 결정될 수 있는 경우, w=w1 x w2이고, w1의 값은 데이터 흐름의 애플리케이션 정보에 의해 표시되는 서비스 유형의 중요도와 양의 상관 관계를 가지고, w2의 값은 데이터 흐름의 데이터 볼륨 정보에 의해 표시되는 데이터 볼륨과 역의 상관 관계가 있다. 이 경우, 공식 (4)는 공식 (8)로 변환될 수 있다. 이 경우, 데이터 흐름을 제2 네트워크 디바이스로 송신하는데 사용되는 패킷 송신 제어 정보는 공식 (8)에 기초하여 직접 결정될 수 있다.
Figure 112021017349641-pct00015
(8)
공식 (8)에서, w1은 데이터 흐름의 속성 정보에 있는 데이터 흐름의 애플리케이션 정보에 기초하여 결정되고, w2는 데이터 흐름의 데이터 볼륨 정보에 기초하여 결정되고, 다른 파라미터는 공식 (3)에서와 동일한 의미를 가진다.
본 발명의 실시예에 따른 혼잡 제어 방법은 전송단(제1 네트워크 디바이스)의 관점에서 도 2를 참조로 상세히 설명하였다. 본 발명의 실시예에 따른 혼잡 제어 방법은 수신단(제2 네트워크 디바이스)의 관점에서 도 3을 참조로 상세히 설명하였다.
도 3은 본 출원의 실시예에 따른 혼잡 제어 방법의 개략적인 흐름도이다. 도 3에 도시된 방법은 데이터 센터 네트워크 및 수도권 네트워크와 같은 네트워크에도 또한 적용될 수 있고, 제1 네트워크 디바이스 및 제2 네트워크 디바이스는 이러한 네트워크에서의 디바이스이다. 도 3에 도시된 방법은 단계 201 내지 단계 203를 포함한다. 이러한 단계가 이하에서 상세히 설명된다.
201. 제2 네트워크 디바이스는 제1 네트워크 디바이스로부터 수신되는 데이터 패킷이 속하는 데이터 흐름에 기초하여 활성 흐름량을 결정한다.
202. 제2 네트워크 디바이스는 제1 메시지를 제1 네트워크 디바이스로 송신하며, 여기서 제1 메시지는 활성 흐름량을 전달한다.
활성 흐름량은 제1 네트워크 디바이스에 의해 데이터 흐름을 제2 네트워크 디바이스로 송신하는데 사용되는 패킷 송신 제어 정보를 결정하는데 사용되며, 여기서, 패킷 송신 제어 정보는, 제1 네트워크 디바이스가 패킷 송신 제어 정보에 기초하여 데이터 흐름을 제2 네트워크 디바이스로 송신하는 경우, 제2 네트워크 디바이스의 실제의 수신 대역폭이 제2 네트워크 디바이스의 정격 수신 대역폭에 도달함을 표시한다.
203. 제2 네트워크 디바이스는, 정격 수신 대역폭에 기초하여, 제1 네트워크 디바이스에 의해 송신되는 데이터 흐름을 수신한다.
도 2에 도시된 방법에서 단계 101 내지 단계 103은 도 3에 도시된 방법에서 단계 201 내지 단계 203에 대응하고, 단계 101 내지 단계 103의 관련된 정의 및 설명은 단계 201 내지 단계 203에도 또한 적용된다는 점을 이해해야 한다. 반복을 피하기 위해, 세부 사항은 여기에 다시 설명하지 않는다.
본 출원에서, 제2 네트워크 디바이스는 활성 흐름량을 제1 네트워크 디바이스로 리포트하므로, 제1 네트워크 디바이스는 활성 흐름량 및 제2 네트워크 디바이스의 정격 수신 대역폭에 기초하여 패킷 송신 제어 정보을 결정할 수 있고, 패킷 송신 제어 정보에 기초하여, 제1 네트워크 디바이스를 제어하여 데이터 흐름을 제2 네트워크 디바이스로 송신하므로, 제2 네트워크 디바이스는, 정격 수신 대역폭에 기초하여, 제1 네트워크 디바이스에 의해 송신되는 데이터 흐름을 수신할 수 있고, 제2 네트워크 디바이스는 전체 쓰루풋 상태(throughput state)에 도달할 수 있어, 데이터 흐름의 전송 효율을 향상한다.
선택사항으로서, 실시예에서, 제2 네트워크 디바이스가 제1 네트워크 디바이스로부터 수신되는 데이터 패킷이 속하는 데이터 흐름에 기초하여 활성 흐름량을 결정하는 것은, 제2 네트워크 디바이스는 제1 네트워크 디바이스에 의해 송신되는 데이터 패킷의 제1 그룹에서 초기 패킷을 수신하고, 제1 활성 흐름량을 획득하기 위해 현재 활성 흐름량을 1만큼 증가시키며; 제2 네트워크 디바이스는 제1 네트워크 디바이스에 의해 송신되는 데이터 패킷의 제1 그룹에서 테일 패킷을 수신하고, 데이터 패킷의 제1 그룹에서 외부 혼잡 통지 ECN 식별자를 전달하는 데이터 패킷의 수량에 기초하여 제1 혼잡 값을 결정하며; 제1 혼잡 값이 혼잡 임계치보다 작은 경우, 제2 네트워크 디바이스는 제2 활성 흐름량을 획득하기 위해 제1 활성 흐름량을 1만큼 감소시키며; 그리고 제1 혼잡 값이 혼잡 임계치 이상인 경우, 제2 네트워크 디바이스는 제1 활성 흐름량을 변경하지 않고 유지하는 것을 포함한다.
제2 네트워크 디바이스에 의해 제1 네트워크 디바이스로부터 수신되는 데이터 패킷이 속하는 데이터 흐름에 기초하여 활성 흐름량을 결정하는 과정에 관해, 도 4 및 도 5를 참조로 이하에서 상세히 설명한다.
도 4는 본 출원의 실시예에 따른 활성 흐름량을 카운트하는 방법의 흐름도이다. 도 4에서 제2 네트워크 디바이스는 도 1에서 수신단 1 또는 수신단 2에 대응하고, 데이터 흐름을 수신하도록 구성되고; 그리고 도 4에서 제1 네트워크 디바이스는 도 1에서 전송단(전송단 1, 전송단 2, 또는 전송단 3)에 대응하고, 데이터 흐름을 송신하도록 구성된다. 도 4에 도시된 프로세스는 적어도 단계 301 내지 단계 304를 포함할 수 있고; 그리고 또한, 도 4에 도시된 프로세스는 단계 305 내지 단계 308를 포함할 수 있다. 이러한 단계가 이하에서 상세히 설명된다.
301. 제2 네트워크 디바이스는 데이터 패킷의 제1 그룹 내의 초기 패킷을 수신한다.
본 출원에서, 데이터 패킷의 각각의 그룹은 데이터 패킷의 특정 수량을 포함하고, 데이터 패킷의 각각의 그룹은 초기 패킷 및 테일 패킷을 포함한다. 데이터 패킷을 수신한 후, 제2 네트워크 디바이스는, 데이터 패킷이 초기 패킷의 식별자 및 테일 패킷의 식별자를 전달하는지 여부를 식별함으로써, 데이터 패킷이 초기 패킷인지 또는 테일 패킷인지 여부를 식별할 수 있다.
초기 패킷의 식별자 및 테일 패킷의 식별자는 2가지 방법을 사용하여 규정될 수 있다. 2가지 방법이 이하에서 설명된다.
방법 1:
본 출원이 RoCEv2 시나리오에 적용되는 경우, 데이터 패킷은 RoCEv2 프로토콜에 의해 규정되는 바와 같이 메시지(message)에 기초하여 그룹화될 수 있다. 구체적으로, 데이터 패킷은 메시지(Message)에 기초하여 그룹화될 수 있다(메시지는 애플리케이션 레이어에서의 논리 그룹이다). 메시지의 첫 번째 패킷은 초기 패킷으로 간주되고, 메시지의 마지막 패킷은 테일 패킷으로 간주되며, 초기 패킷 및 테일 패킷은 RoCEv2 패킷의 베이스 전송 헤더(Base Transport Header, BTH)의 옵코드(opcode) 필드에서 구체적으로 규정될 수 있다.
방법 2:
데이터 패킷은 세그먼트에 기초하여 그룹화될 수 있다. 구체적으로, 활성 흐름량 또는 초기 레이트에 기초하여 피드백되는 기간 내에 대응하는 데이터 패킷은 그룹들로 그룹화되며, 세그먼트에서 첫 번째 패킷은 초기 패킷으로 지칭되고, 세그먼트에서 마지막 패킷은 테일 패킷으로 지칭된다. 이 2개의 필드는 BTH에서 (rsvd7 필드와 같은) 예약 필드에서 규정될 수 있고, 각각의 필드의 플래그는 1 비트를 차지할 수 있다.
302. 제2 네트워크 디바이스 제1 활성 흐름량을 획득하기 위해 현재 활성 흐름량을 1만큼 증가시킨다.
단계 302에서 현재 활성 흐름량은 데이터 패킷의 제1 그룹에서 초기 패킷을 수신하기 전에 제2 네트워크 디바이스에 의해 카운트되는 활성 흐름의 수량이다. 데이터 패킷의 제1 그룹에서 초기 패킷을 수신하는 경우, 제2 네트워크 디바이스는 활성 흐름량을 업데이트, 즉, 데이터 패킷의 제1 그룹에서 초기 패킷을 수신하기 전에 카운트된 활성 흐름량을 1만큼 증가시켜야 한다.
303. 제2 네트워크 디바이스는 데이터 패킷의 제1 그룹 내의 테일 패킷을 수신한다.
데이터 패킷의 제1 그룹에서 초기 패킷은 제2 네트워크 디바이스에 의해 수신되는 데이터 패킷의 제1 그룹에서 첫 번째 패킷일 수 있고, 데이터 패킷의 제1 그룹에서 테일 패킷은 제2 네트워크 디바이스에 의해 수신되는 데이터 패킷의 제1 그룹에서 마지막 패킷일 수 있음을 이해해야 한다. 데이터 패킷의 각각의 그룹에 포함되는 데이터 패킷의 수량은 미리 설정될 수 있다.
그리고, 각각의 데이터 패킷은 특정 필드에서 식별자를 전달하고, 식별자의 값은 데이터 패킷의 유형(구체적으로, 초기 패킷, 테일 패킷, 또는 초기 패킷과 테일 패킷 사이의 데이터 패킷)을 표시하는데 사용된다.
선택사항으로서, 각각의 데이터 패킷은 데이터 패킷 식별자를 더 포함하며, 여기서 데이터 패킷 식별자는 데이터 패킷의 유형을 표시하는데 사용된다. 구체적으로, 식별자의 값은 데이터 패킷의 그룹에서 초기 패킷, 테일 패킷, 또는 초기 패킷과 테일 패킷 사이의 데이터 패킷인 것을 표시하는데 사용될 수 있다.
구체적으로, 데이터 패킷 식별자는 패킷 헤더 또는 패킷의 페이로드(payload)에서 전달될 수 있거나, 데이터 패킷 식별자는 패킷 외부의 필드에서 전달될 수 있고, 데이터 패킷 식별자를 전달하는 필드는 패킷과 함께 전송되므로, 제1 네트워크 디바이스는 필드에 기초항여 데이터 패킷의 유형을 식별할 수 있다.
예를 들어, 통합 이더넷 버전 2를 통한 원격 직접 메모리 액세스(remote direct memory access over converged ethernet version 2, RoCEv2)에 기반한 시나리오에서, 데이터 패킷 식별자는 RoCEv2 패킷에서 옵코드(opcode) 필드에서 전달될 수 있거나, 데이터 패킷 식별자는 RoCEv2 패킷에서 (rsvd7 필드와 같은) 예약 필드에서 전달될 수 있다.
데이터 패킷의 제1 그룹에서 데이터 패킷은 동일한 데이터 흐름에 속함을 이해해야 한다.
304. 제2 네트워크 디바이스는 데이터 패킷의 제1 그룹에서 외부 혼잡 통지 ECN 식별자를 전달하는 데이터 패킷의 수량에 기초하여 제1 혼잡 값을 결정하고, 제1 혼잡 값과 혼잡 임계치와의 상관 관계에 기초하여 활성 흐름량을 업데이트한다.
선택사항으로서, 단계 304에서, 제1 활성 흐름량은 데이터 패킷의 제1 그룹에서 ECN 식별자를 전달하는 데이터 패킷의 수량에 기초하여 다시 업데이트되어야 한다. 제1 혼잡 값이 혼잡 임계치보다 작으면, 데이터 패킷의 제1 그룹에서 테일 패킷을 수신한 후 제2 네트워크 디바이스에 의해 카운트되는 활성 흐름량은 제2 활성 흐름량이고; 그리고 제1 혼잡 값이 혼잡 임계치 이상이면, 데이터 패킷의 제1 그룹에서 테일 패킷을 수신한 후 제2 네트워크 디바이스에 의해 카운트되는 활성 흐름량은 제1 활성 흐름량이다. 즉, 데이터 패킷의 제1 그룹에서 테일 패킷이 수신된 후, 카운트된 활성 흐름량은 제1 활성 흐름량(제1 혼잡 값이 혼잡 임계치 이상인 경우) 또는 제2 활성 흐름량 (제1 혼잡 값이 혼잡 임계치보다 작은 경우)이다.
본 출원에서, 데이터 패킷의 그룹에서 테일 패킷이 수신되는 경우, 혼잡 상태는 데이터 패킷의 그룹에서 ECN 식별자를 전달하는 데이터 패킷의 수량에 기초하여 결정될 수 있고, 활성 흐름량은 혼잡 상태에 기초하여 보정될 수 있으므로, 활성 흐름량이 보다 정확하게 카운트될 수 있고, 보다 정확한 활성 흐름량이 획득될 수 있다.
특히, 기존 해결 수단은 활성 흐름량을 카운트하는 동안 네트워크 혼잡 상태를 고려하지 않는다. 실제로, 기존 해결 수단은 네트워크가 혼잡하지 않은 이상적인 상황에 기초하여 활성 흐름량을 카운트한다. 네트워크가 혼잡한 경우, 일정 기간 내에 수신단에서 수신하는 데이터 패킷의 수량이 영향을 받으므로, 카운트된 활성 흐름량이 부정확한다. 본 출원에서는, 네트워크 혼잡을 추정하기 위해, 데이터 패킷의 각각의 그룹에서 ECN 식별자를 전달하는 데이터 패킷이 카운트된다. 네트워크 혼잡도가 상대적으로 낮은 경우, 상기 활성 흐름량이 1만큼 감소시킬 수 있고; 그리고 네트워크 혼잡도가 상대적으로 높은 경우, 상기 활성 흐름량은 변경 없이 유지될 수 있어, 네트워크 혼잡이 활성 흐름량에 미치는 영향을 줄일 수 있고, 카운트된 활성 흐름량은 보다 정확하다.
선택사항으로서, 실시예에서, 데이터 패킷의 제1 그룹에서 ECN 식별자를 전달하는 데이터 패킷의 수량에 기초하여 제1 혼잡 값을 결정하는 단계는, 데이터 패킷의 제1 그룹에서 데이터 패킷의 수량에 대한 데이터 패킷의 제1 그룹에서 ECN 식별자를 전달하는 데이터 패킷의 수량의 비율을 제1 혼잡 값으로 결정하는 단계를 포함한다.
구체적으로, 데이터 패킷의 제1 그룹에서 데이터 패킷의 수량에 대한 총 데이터 패킷의 제1 그룹에서 ECN 식별자를 전달하는 데이터 패킷의 수량의 비율이 제1 혼잡 값으로 결정될 수 있다.
예를 들어, 상기 데이터 패킷의 제1 그룹은 (초기 패킷 및 테일 패킷을 포함하여) 총 10개의 데이터 패킷을 포함하며, 여기서, 총 5개의 데이터 패킷은 상기 ECN 식별자를 전달하고, 계산을 통해, 상기 제1 혼잡 값이 0.5인 것으로 결정될 수 있다.
그리고, 상기 데이터 패킷의 제1 그룹에서 데이터 패킷의 총 수량에 대한 상기 데이터 패킷의 제1 그룹에서 상기 ECN 식별자를 전달하는 데이터 패킷의 총 수량의 비율이 대안적으로 우선 획득될 수 있고, 상기 비율과 보정 계수의 곱이 상기 제1 혼잡 값으로 사용된다. 보정 계수는 네트워크의 동작 상태에 기초하여 설정된 계수일 수 있다.
예를 들어, 데이터 패킷의 제1 그룹은 (초기 패킷 및 테일 패킷을 포함하여) 총 10개의 데이터 패킷을 포함하며, 여기서 8개의 데이터 패킷은 ECN 식별자를 전달한다. 그 다음, 계산을 통해, 데이터 패킷의 총 수량에 대한 ECN 식별자를 전달하는 데이터 패킷의 총 수량의 비율은 0.8임을 결정할 수 있다. 보정 계수가 0.8임을 가정하면, 이 비율과 보정 계수의 곱, 즉, 0.64가 제1 혼잡 값이다.
선택사항으로서, 단계 302 이전에, 도 4에 도시된 프로세스는, 데이터 패킷의 제1 그룹을 포함하는 데이터 흐름이 제1 데이터 흐름임을 결정하는 단계를 더 포함하며, 여기서 제1 데이터 흐름은 미리 설정된 시간 내에 제2 네트워크 디바이스에 의해 수신되는 데이터 패킷의 수량이 미리 설정된 수량보다 큰 데이터 흐름이다.
제1 데이터 흐름은 큰 데이터 흐름으로 간주될 수 있다. 본 출원에서, 활성 흐름량은 제1 데이터 흐름에 대하여만 카운트되므로 (큰 데이터 흐름에 대해, 활성 흐름량은 본 출원에서의 해결 수단을 사용하여 적절하게 카운트될 수 있다), 본 출원에서 활성 흐름량을 카운트하기 위한 해결 수단은 더욱 타케팅된다.
구체적으로, 작은 데이터 흐름은 소량의 데이터 패킷을 포함하므로, 네트워크 혼잡은 작은 데이터 흐름에 영향이 크지 않고; 큰 데이터 흐름은 대량의 데이터 패킷을 포함하므로, 네트워크 혼잡은 큰 데이터 흐름에 영향이 크다. 따라서, 작은 데이터 흐름에 대해서는, 활성 흐름량이 카운트될 필요가 없고(즉, 작은 데이터 흐름은 데이터 패킷이 수신될 수 있더라도 활성 흐름으로 간주되지 않는다); 그리고 큰 데이터 흐름에 대해서는, 활성 흐름량이 본 출원의 해결 수단을 사용하여 카운트될수 있다.
단계 301 내지 단계 304는 데이터 패킷의 그룹에 기초하여 활성 흐름량을 카운트하는 경우만을 보여준다. 실제로, 본 출원의 실시예에 따른 활성 흐름량을 카운트하기 위한 방법은 데이터 패킷의 복수의 그룹에 기초하여 활성 흐름량을 카운트하는데 사용될 수 있다.
선택사항으로서, 도 4에 도시된 프로세스에서, 데이터 패킷의 제1 그룹을 수신하고 단계 301 내지 단계 304를 통해 활성 흐름량을 업데이트한 후, 제2 네트워크 디바이스는 데이터 패킷의 제2 그룹을 더 수신할 수 있고, 수신된 데이터 패킷의 제2 그룹에 기초하여 활성 흐름량을 다시 업데이트할 수 있다.
305. 제2 네트워크 디바이스는 데이터 패킷의 제2 그룹 내의 초기 패킷을 수신한다.
데이터 패킷의 제2 그룹 및 데이터 패킷의 제1 그룹은 동일한 데이터 흐름에 속하고, 데이터 패킷의 제2 그룹은 데이터 패킷의 제1 그룹을 수신한 후 제2 네트워크 디바이스에 의해 수신되는 데이터 패킷의 그룹일 수 있고; 그리고 구체적으로, 데이터 패킷의 제2 그룹 및 데이터 패킷의 제1 그룹은 데이터 흐름에서 데이터 패킷의 2개의 연속적인 그룹일 수 있다(즉, 데이터 패킷의 제2 그룹은 데이터 패킷의 제1 그룹을 수신한 후 즉시 제2 네트워크 디바이스에 의해 수신되는 데이터 패킷의 다음 그룹이다)는 점을 이해해야 한다.
306. 제2 네트워크 디바이스는 제4 활성 흐름량을 획득하기 위해 현재 활성 흐름량을 1만큼 증가시킨다.
307. 제2 네트워크 디바이스는 데이터 패킷의 제2 그룹 내의 테일 패킷을 수신한다.
단계 305 내지 단계 307의 구체적인 프로세스는 단계 301 내지 단계 303의 구체적인 프로세스와 유사하다. 세부 사항은 여기서 다시 설명하지 않는다.
308. 제2 네트워크 디바이스는 데이터 패킷의 제2 그룹에서 외부 혼잡 통지 ECN 식별자를 전달하는 데이터 패킷의 수량에 기초하여 제2 혼잡 값을 결정하고, 제2 혼잡 값과 혼잡 임계치와의 상관 관계에 기초하여 활성 흐름량을 업데이트한다.
데이터 패킷의 제2 그룹에서 초기 패킷이 수신된 후, 데이터 패킷의 제2 그룹에서 초기 패킷은 데이터 패킷의 제1 그룹에서 초기 패킷과 유사한 방시그로 처리될 수 있고; 그리고 데이터 패킷의 제2 그룹에서 테일 패킷이 수신된 후, 제2 혼잡 값은 데이터 패킷의 제2 그룹에서 ECN 식별자를 전달하는 데이터 패킷의 수량 및 제1 혼잡 값 모두에 기초하여 결정될 수 있어, 제2 혼잡 값이 지나치게 변화하지 않고, 천천히 변화하는 혼잡 값이 획득된다.
선택사항으로서, 제2 네트워크 디바이스가 제1 네트워크 디바이스에 의해 송신되는 데이터 패킷의 제2 그룹에서 테일 패킷을 수신한 후, 제2 혼잡 값은 대안적으로 데이터 패킷의 제1 그룹에서 ECN 식별자를 전달하는 데이터 패킷의 수량 및 데이터 패킷의 제2 그룹에서 ECN 식별자를 전달하는 데이터 패킷의 수량 모두에 기초하여 결정될 수 있다.
선택사항으로서, 데이터 패킷의 제1 그룹 및 데이터 패킷의 제2 그룹 모두에 포함된 데이터 패킷의 총 수량에 대한 데이터 패킷의 제1 그룹 및 데이터 패킷의 제2 그룹 모두에서 ECN 식별자를 전달하는 데이터 패킷의 총 수량의 비율이 제2 혼잡 값으로 결정된다.
예를 들어, 데이터 패킷의 제1 그룹 및 데이터 패킷의 제2 그룹 각각은 10개의 데이터 패킷을 포함하며, 여기서 데이터 패킷의 제1 그룹 내의 4개의 데이터 패킷은 ECN 식별자를 전달하고 데이터 패킷의 제2 그룹 내의 6개의 데이터 패킷은 ECN 식별자를 전달한다. 그 다음, 데이터 패킷의 제1 그룹 및 데이터 패킷의 제2 그룹 에서 ECN 식별자를 전달하는 데이터 패킷의 총 수량은 10이고, 데이터 패킷의 제1 그룹 및 데이터 패킷의 제2 그룹에서 데이터 패킷의 총 수량은 20이고; 따라서, 제2 혼잡 값은 10/20 = 0.5이다.
제2 혼잡 값은 대안적으로 다음과 같이 획득될 수 있음을 이해해야 한다: 데이터 패킷의 제1 그룹에서 ECN 식별자를 전달하는 데이터 패킷의 수량에 기초하여 혼잡 값을 획득하는 단계, 데이터 패킷의 제2 그룹에서 ECN 식별자를 전달하는 데이터 패킷의 수량에 기초하여 다른 혼잡 값을 획득하는 단계, 및 2개의 혼잡 값에 대해 가중 합을 수행하는 단계.
선택사항으로서, 실시예에서, 데이터 패킷의 제2 그룹에서 ECN 식별자를 전달하는 데이터 패킷의 수량 및 제1 혼잡 값에 기초하여 네트워크의 제2 혼잡 값을 결정하는 단계는, 데이터 패킷의 제2 그룹에서 ECN 식별자를 전달하는 데이터 패킷의 수량에 기초하여 네트워크의 제3 혼잡 값을 결정하는 단계; 및 공식 (9)에 기초하여 제2 혼잡 값을 결정하는 단계;를 포함한다.
con2=x1*con3+x2*con1 (9)
공식 (9)에서, con3은 제3 혼잡 값이고, con1은 제1 혼잡 값이고, con2는 제2 혼잡 값이고, x1은 미리 설정된 제1 가중치이고, x2는 미리 설정된 제2 가중치이다.
본 출원에서, 제2 네트워크 디바이스가 데이터 패킷의 그룹 (예를 들어, 데이터 패킷의 제1 그룹 또는 데이터 패킷의 제2 그룹)에서 초기 패킷을 수신할 때마다, 현재 활성 흐름량은 1만큼 증가시켜야 하고; 제2 네트워크 디바이스가 데이터 패킷의 그룹에서 테일 패킷을 수신할 때마다, 활성 흐름량은 데이터 패킷의 그룹에서 ECN 식별자를 전달하는 데이터 패킷의 수량에 기초하여 조정되어야 하므로(활성 흐름량은 1만큼 감소되거나 변경없이 유지된다), 활성 흐름량이 실시간으로 업데이트됨을 이해하여야 한다.
본 출원에서 기술적 해결 수단을 더 잘 이해하기 위해, 본 출원의 실시예에 따른 활성 데이터 흐름 수량을 카운트하기 위한 방법이 제2 네트워크 디바이스의 관접에서 이하에서 설명된다.
도 5는 본 출원의 실시예에 따른 활성 흐름량을 카운트하기 위한 방법의 흐름도이다. 도 5에 도시된 프로세스는 적어도 단계 401 내지 단계 406를 포함할 수 있고; 그리고, 도 5에 도시된 프로세스는 ~를 포함할 수 있다 단계 407 내지 단계 411를 더 포함할 할 수 있다. 이러한 단계가 이하에서 상세히 설명된다.
401. 시작.
단계 401은 활성 흐름량의 카운트가 시작됨을 나타낸다. 단계 401은 데이터 패킷의 하나의 그룹이 수신되고 활성 흐름량이 업데이트된 후에 그리고 데이터 패킷의 다른 그룹이 수신 되기 전에 발생될 수 있다.
402. 제2 네트워크 디바이스는 제1 네트워크 디바이스에 의해 송신되는 데이터 패킷의 제1 그룹에서 초기 패킷을 수신하고, 카운터++를 실행한다.
카운터는 제2 네트워크 디바이스에 의해 카운트되는 현재 활성 흐름량이다. 구체적으로, 카운터는 제2 네트워크 디바이스가 제1 네트워크 디바이스에 의해 송신되는 데이터 패킷의 제1 그룹에서 초기 패킷을 수신하는 경우 제2 네트워크 디바이스에 의해 카운트되는 현재 활성인 데이터 흐름의 수량이다.
카운터++가 단계 402에서 실행된 후 획득되는 카운터는 데이터 패킷의 제1 그룹에서 초기 패킷이 수신되고 현재 활성 흐름량이 업데이트된 이후의 활성 흐름량이다. 카운터++가 실행된 후 획득되는 카운터는 단계 102에서 획득되는 제1 활성 흐름량에 대응한다.
403. 제2 네트워크 디바이스는 데이터 패킷의 제1 그룹에서 테일 패킷을 수신하고, 데이터 패킷의 제1 그룹에서 외부 혼잡 통지 ECN 식별자를 전달하는 데이터 패킷의 수량에 기초하여 제1 혼잡 값을 결정한다.
404. 제1 혼잡 값이 혼잡 임계치보다 큰지 여부를 판단한다.
제1 혼잡 값이 혼잡 임계치 이하인 경우, 네트워크의 혼잡도가 상대적으로 낮다는 것을 나타낸다. 이 경우, 현재 활성 흐름량은 1만큼 감소되어야 하며, 즉, 단계 405가 수행된다. 제1 혼잡 값이 혼잡 임계치 이상인 경우, 이는 네트워크 혼잡이 심각함을 나타낸다. 이 경우, 현재 활성 흐름량은 변경없이 유지되어야 한다, 즉, 단계 406가 수행된다.
405. 카운터--를 실행한다.
단계 405에서, 카운터--를 실행함으로써 획득되는 카운터는 전술한 제2 활성 흐름량에 대응한다.
406. 카운터를 변경없이 유지한다.
단계 406에서, 카운터는 전술한 제1 활성 흐름량에 대응한다.
407. 제2 네트워크 디바이스는 제1 네트워크 디바이스에 의해 송신되는 데이터 패킷의 제2 그룹에서 초기 패킷을 수신하고, 카운터++를 실행한다.
단계 407에서 카운터++가 실행된 후 획득되는 카운터는 전술한 제4 활성 흐름량에 대응한다.
408. 제2 네트워크 디바이스는 데이터 패킷의 제2 그룹에서 테일 패킷을 수신하고, 데이터 패킷의 제1 그룹에서 ECN 식별자를 전달하는 데이터 패킷의 수량 및 데이터 패킷의 제2 그룹에서 ECN 식별자를 전달하는 데이터 패킷의 수량에 기초하여 제2 혼잡 값을 결정한다.
409. 제2 혼잡 값이 혼잡 임계치보다 큰지 여부를 판단한다.
제2 혼잡 값이 혼잡 임계치 이하인 경우, 네트워크의 혼잡도가 상대적으로 낮다는 것을 나타낸다. 이 경우, 현재 활성 흐름량은 1만큼 감소되어야 하며, 즉, 단계 410가 수행된다. 제2 혼잡 값이 혼잡 임계치 이상인 경우, 이는 네트워크 혼잡이 심각함을 나타낸다. 이 경우, 현재 활성 흐름량은 변경없이 유지되어야 한다, 즉, 단계 411가 수행된다.
410. 카운터--를 실행한다.
단계 410에서, 카운터--를 실행함으로써 획득되는 카운터는 전술한 제5 활성 흐름량에 대응한다.
411. 카운터를 변경없이 유지한다.
단계 411에서, 카운터는 전술한 제4 활성 흐름량에 대응한다.
도 5에 도시된 프로세스의 단계 401 내지 단계 411에서, 카운터는 현재 활성 흐름량을 나타내며, 상이한 연산 단계를 통해 더하기 연산 또는 빼기 연산이 수행되어야 하거나, 카운터가 변경없이 유지되어, 현재 활성 흐름량을 실시간으로 카운트됨을 이해하여야 한다.
본 출원의 실시예에 따른 혼잡 제어 방법이 위에서 도 1 내지 도 5를 참조로 상세히 설명되었다. 본 출원의 실시예에 따른 네트워크 디바이스가 이하에서 도 6 내지 도 8를 참조로 상세히 설명된다. 도 6 내지 도 8에 도시된 네트워크 디바이스는 본 출원의 실시예에 따른 혼잡 제어 방법을 수행할 수 있음을 이해해야 한다(도 6에 도시된 네트워크 디바이스(500)는 전술한 제1 네트워크 디바이스에 대응하고, 네트워크 디바이스(500)는 전술한 제1 네트워크 디바이스에 의해 수행되는 단계를 수행할 수 있고; 그리고 도 7에 도시된 네트워크 디바이스(600)는 전술한 제2 네트워크 디바이스에 대응하고, 네트워크 디바이스(600)는 전술한 제2 네트워크 디바이스에 의해 수행되는 단계를 수행할 수 있다). 간략함을 위해, 도 6 내지 도 8에 도시된 네트워크 디바이스를 설명함에 있어 반복된 설명은 적절히 생략된다.
도 6은 본 출원의 실시예에 따른 네트워크 디바이스의 개략적인 블록도이다. 도 6에서 네트워크 디바이스(500)는,
제2 네트워크 디바이스에 의해 송신되는 제1 메시지를 수신하도록 구성되는 수신 모듈(501)-여기서, 제1 메시지는 활성 흐름량을 전달하고, 활성 흐름량은 제1 네트워크 디바이스로부터 수신되는 데이터 패킷이 속하는 데이터 흐름에 기초하여 제2 네트워크 디바이스에 의해 결정됨-;
활성 흐름량 및 제2 네트워크 디바이스의 정격 수신 대역폭에 기초하여, 데이터 흐름을 제2 네트워크 디바이스로 송신하는데 사용되는 패킷 송신 제어 정보를 결정하도록 구성되는 처리 모듈(502)-여기서, 패킷 송신 제어 정보는, 제1 네트워크 디바이스가 패킷 송신 제어 정보에 기초하여 데이터 흐름을 제2 네트워크 디바이스로 송신하는 경우, 제2 네트워크 디바이스의 실제의 수신 대역폭이 정격 수신 대역폭에 도달함을 표시함-; 및
패킷 송신 제어 정보에 기초하여 데이터 흐름을 제2 네트워크 디바이스로 송신하도록 구성되는 송신 모듈(503);을 포함한다.
선택사항으로서, 실시예에서, 처리 모듈(502), 활성 흐름량이 제1 임계치보다 작은 경우, 다음 공식에 기초하여, 데이터 흐름을 제2 네트워크 디바이스로 송신하는데 사용되는 패킷 송신 제어 정보를 결정하도록 구성되며:
Figure 112021017349641-pct00016
여기서, C는 제2 네트워크 디바이스의 정격 수신 대역폭이고, active_qp는 활성 흐름량이고, T는 제1 네트워크 디바이스에 의해 송신되는 데이터 흐름의 데이터 패킷이 제2 네트워크 디바이스에 도달하는데 요구되는 시간이고, V는 제1 네트워크 디바이스에 의해 T 이내에 제2 네트워크 디바이스로 송신되는 데이터 흐름의 데이터 볼륨이다.
송신 모듈(503)은 데이터 흐름에서 데이터 볼륨 V를 가지는 데이터 패킷을 제2 네트워크 디바이스로 T 이내에 송신하도록 구성된다.
선택사항으로서, 실시예에서, 처리 모듈(502)은, 활성 흐름량이 제1 임계치 이상인 경우, 다음 공식에 기초하여, 데이터 흐름을 제2 네트워크 디바이스로 송신하는데 사용되는 패킷 송신 제어 정보를 결정하도록 구성되며:
Figure 112021017349641-pct00017
여기서, 1pkt는 단일 데이터 패킷의 길이이고, active_qp는 활성 흐름량이고, C는 제2 네트워크 디바이스의 정격 수신 대역폭이고, "간격"은 제1 네트워크 디바이스가 데이터 흐름을 송신하는 경우 인접한 데이터 패킷 사이의 시간 간격이다.
송신 모듈(503)은 "간격"으로 표시되는 시간 간격에 기초하여 데이터 흐름 내의 데이터 패킷을 제2 네트워크 디바이스로 송신하도록 구성된다.
선택사항으로서, 실시예에서, 처리 모듈(502)은, 활성 흐름량, 제2 네트워크 디바이스의 정격 수신 대역폭, 및 데이터 흐름의 속성 정보에 기초하여, 데이터 흐름을 제2 네트워크 디바이스로 송신하는데 사용되는 패킷 송신 제어 정보를 결정하도록 구성되며, 여기서, 데이터 흐름의 속성 정보는 데이터 흐름의 애플리케이션 정보 및 데이터 흐름의 데이터 볼륨 정보 중 적어도 하나를 포함하고, 데이터 흐름의 애플리케이션 정보는 데이터 흐름의 데이터 패킷이 속하는 서비스 유형을 표시하는데 사용되고, 데이터 흐름의 데이터 볼륨 정보는 데이터 흐름에 속하고 미리 설정된 시간 내에 제1 네트워크 디바이스에 의해 송신되는 데이터 패킷의 데이터 볼륨을 표시하는데 사용된다.
선택사항으로서, 실시예에서, 처리 모듈(502)은, 활성 흐름량이 제1 임계치보다 작은 경우, 다음 공식에 기초하여, 데이터 흐름을 제2 네트워크 디바이스로 송신하는데 사용되는 패킷 송신 제어 정보를 결정하도록 구성되며:
Figure 112021017349641-pct00018
여기서, C는 제2 네트워크 디바이스의 정격 수신 대역폭이고, active_qp는 활성 흐름량이고, T는 제1 네트워크 디바이스에 의해 송신되는 데이터 흐름의 데이터 패킷이 제2 네트워크 디바이스에 도달하는데 요구되는 시간이고, w는 데이터 흐름의 가중치이고, w는 데이터 흐름의 속성 정보에 기초하여 결정되고, V는 제1 네트워크 디바이스에 의해 T 이내에 제2 네트워크 디바이스로 송신되는 데이터 흐름의 데이터 볼륨이다.
송신 모듈(503)은 데이터 흐름에서 데이터 볼륨 V를 가지는 데이터 패킷을 제2 네트워크 디바이스로 T 이내에 송신하도록 구성된다.
선택사항으로서, 실시예에서, 처리 모듈(502)은, 활성 흐름량이 제1 임계치 이상인 경우, 다음 공식에 기초하여, 데이터 흐름을 제2 네트워크 디바이스로 송신하는데 사용되는 패킷 송신 제어 정보를 결정하도록 구성되며:
Figure 112021017349641-pct00019
여기서, 1pkt는 단일 데이터 패킷의 길이이고, active_qp는 활성 흐름량이고, w는 데이터 흐름의 가중치이고, w는 데이터 흐름의 속성 정보에 기초하여 결정되고, C는 제2 네트워크 디바이스의 정격 수신 대역폭이고, "간격"은 제1 네트워크 디바이스가 데이터 흐름을 송신하는 경우 인접한 데이터 패킷 사이의 시간 간격이다.
송신 모듈(503)은 "간격"으로 표시되는 시간 간격에 기초하여 데이터 흐름 내의 데이터 패킷을 제2 네트워크 디바이스로 송신하도록 구성된다.
도 7은 본 출원의 실시예에 따른 네트워크 디바이스의 개략적인 블록도이다. 도 7에서 네트워크 디바이스(600)는,
제1 네트워크 디바이스로부터 수신되는 데이터 패킷이 속하는 데이터 흐름에 기초하여 활성 흐름량을 결정하도록 구성되는 처리 모듈(601);
제1 메시지를 제1 네트워크 디바이스로 송신하도록 구성되는 송신 모듈(602)-여기서, 제1 메시지는 활성 흐름량을 전달하고, 활성 흐름량은 제1 네트워크 디바이스에 의해 데이터 흐름을 제2 네트워크 디바이스로 송신하는데 사용되는 패킷 송신 제어 정보를 결정하는데 사용되고, 패킷 송신 제어 정보는, 제1 네트워크 디바이스가 패킷 송신 제어 정보에 기초하여 데이터 흐름을 제2 네트워크 디바이스로 송신하는 경우, 제2 네트워크 디바이스의 실제의 수신 대역폭이 제2 네트워크 디바이스의 정격 수신 대역폭에 도달함을 표시함-; 및
정격 수신 대역폭에 기초하여 제1 네트워크 디바이스에 의해 송신되는 데이터 흐름을 수신하도록 구성되는 수신 모듈(603);을 포함한다.
선택사항으로서, 실시예에서, 수신 모듈(603)은 제1 네트워크 디바이스에 의해 송신되는 데이터 패킷의 제1 그룹에서 초기 패킷을 수신하도록 구성되고; 처리 모듈(601)은 제1 활성 흐름량을 획득하기 위해 현재 활성 흐름량을 1만큼 증가시키도록 구성되고; 수신 모듈(603)은 제1 네트워크 디바이스에 의해 송신되는 데이터 패킷의 제1 그룹에서 테일 패킷을 수신하도록 구성되고; 처리 모듈(601)은, 데이터 패킷의 제1 그룹에서 외부 혼잡 통지 ECN 식별자를 전달하는 데이터 패킷의 수량에 기초하여 제1 혼잡 값을 결정하도록; 제1 혼잡 값이 혼잡 임계치보다 작은 경우, 제2 네트워크 디바이스는 제2 활성 흐름량을 획득하기 위해 제1 활성 흐름량을 1만큼 감소시키도록; 그리고 제1 혼잡 값이 혼잡 임계치 이상인 경우, 제2 네트워크 디바이스는 제1 활성 흐름량을 변경하지 않고 유지하도록; 구성된다.
선택사항으로서, 실시예에서, 처리 모듈(601)은 데이터 패킷의 제1 그룹에서 데이터 패킷의 수량에 대한 데이터 패킷의 제1 그룹에서 ECN 식별자를 전달하는 데이터 패킷의 수량의 비율을 제1 혼잡 값으로 결정하도록 구성된다.
선택사항으로서, 실시예에서, 수신 모듈(603)이 제1 네트워크 디바이스에 의해 송신되는 데이터 패킷의 제1 그룹에서 테일 패킷을 수신한 후, 수신 모듈(603)은 제1 네트워크 디바이스에 의해 송신되는 데이터 패킷의 제2 그룹에서 초기 패킷을 수신하도록 추가적으로 구성된다. 처리 모듈(601)은 제4 활성 흐름량을 획득하기 위해 제3 활성 흐름량을 1만큼 증가시키도록 구성되며, 여기서, 데이터 패킷의 제2 그룹 및 데이터 패킷의 제1 그룹은 동일한 데이터 흐름에 속하고; 제1 혼잡 값이 혼잡 임계치보다 작은 경우, 제3 활성 흐름량은 제2 활성 흐름량과 같고; 그리고 제1 혼잡 값이 혼잡 임계치 이상인 경우, 제3 활성 흐름량은 제1 활성 흐름량과 같다.
수신 모듈(603)은 제1 네트워크 디바이스에 의해 송신되는 데이터 패킷의 제2 그룹에서 테일 패킷을 수신하도록 구성된다. 처리 모듈(601)은, 데이터 패킷의 제2 그룹에서 ECN 식별자를 전달하는 데이터 패킷의 수량 및 제1 혼잡 값에 기초하여 네트워크의 제2 혼잡 값을 결정하도록; 제2 혼잡 값이 혼잡 임계치보다 작은 경우, 제2 네트워크 디바이스는 제5 활성 흐름량을 획득하기 위해 제4 활성 흐름량을 1만큼 감소시키도록; 그리고 제2 혼잡 값이 혼잡 임계치 이상인 경우, 제2 네트워크 디바이스는 제4 활성 흐름량을 변경하지 않고 유지하도록, 추가적으로 구성된다.
선택사항으로서, 실시예에서, 처리 모듈(601)은, 데이터 패킷의 제2 그룹에서 ECN 식별자를 전달하는 데이터 패킷의 수량에 기초하여 네트워크의 제3 혼잡 값을 결정;하도록 그리고 공식 con2=x1*con3+x2*con1에 기초하여 제2 혼잡 값을 결정-여기서, con3은 제3 혼잡 값이고, con1은 제1 혼잡 값이고, con2는 제2 혼잡 값이고, x1은 미리 설정된 제1 가중치이고, x2는 미리 설정된 제2 가중치임-;하도록 구성된다.
도 8은 본 출원의 실시예에 따른 네트워크 디바이스의 개략적인 블록도이다.
도 8에서 네트워크 디바이스(700)는 메모리(701), 송수신기(702), 및 프로세서(703)를 포함한다. 프로세서(703)는 중앙 처리 장치(central processing unit, CPU), 범용 프로세서, 디지털 신호 처리기(digital signal processing, DSP), 주문형 집적회로(application-specific integrated circuit, ASIC), 필드 프로그래밍 가능한 게이트 어레이(필드 프로그래밍 가능한 게이트 어레이, FPGA), 또는 다른 프로그래밍 가능한 논리 디바이스, 트랜지스터 논리 디바이스, 하드웨어 콤포넌트, 또는 이들의 임의의 조합일 수 있다. 메모리(701)는 프로그램을 저장하도록 구성되고, 프로세서(703)은 메모리(701)에 저장된 프로그램을 실행할 수 있다. 메모리(701)에 저장된 프로그램이 프로세서(703)에 의해 실행되는 경우, 프로세서(703)는 본 출원의 실시예에 따른 혼잡 제어 방법을 수행하도록 구성된다. 구체적으로, 송수신기(702) 및 프로세서(703)는 제1 네트워크 디바이스 또는 제2 네트워크 디바이스에 의해 수행되는 전술한 단계들을 수행하도록 구성될 수 있다.
통상의 기술자는, 본 명세서에 개시된 실시예들에서 설명되는 예들과 조합하여, 유닛 및 알고리즘 단계가 전자 하드웨어 또는 컴퓨터 소프트웨어와 전자 하드웨어의 조합에 의해 구현될 수 있음을 인식할 수 있다. 기능이 하드웨어 또는 소프트웨어에 의해 수행되는지 여부는, 기술적 해결 수단에 대한 특정 응용 및 설계 제약 조건에 따라 다르다. 통상의 기술자는 각각의 특정 애플리케이션에 대해 설명된 기능을 구현하기 위해 상이한 방식을 사용할 수 있지만, 이러한 구현이 본 출원의 범위를 넘어서는 것으로 간주되어서는 안된다.
설명의 용이함 및 간결함을 위해, 전술한 시스템, 장치 및 유닛에 대한 상세한 작업 프로세스에 대해서는, 전술한 방법 실시 예들에서 대응하는 프로세스를 참조할 수 있음은, 통상의 기술자자에 의해 명확하게 이해될 수 있으며, 세부 내용에 대해서는 여기에서 다시 설명되지 않는다.
본 출원에서 제공되는 여러 실시 예들에서, 개시된 시스템, 장치 및 방법은 다른 방식으로 구현될 수 있음을 이해해야 한다. 예를 들어, 설명된 장치 실시예는 단지 예시일 뿐이다. 예를 들어, 유닛 분할은 단지 논리적 기능 분할일 뿐이며 실제 구현에서는 다른 분할일 수 있다. 예를 들어, 복수의 유닛 또는 구성 요소가 다른 시스템에 결합되거나 통합될 수 있거나, 일부 특징이 생략되거나 수행되지 않을 수 있다. 또한, 디스플레이되거나 논의되는 상호 결합 또는 직접 결합 또는 통신 연결은 일부 인터페이스를 사용하여 구현될 수 있다. 장치 또는 유닛 사이의 간접 결합 또는 통신 연결은 전자적, 기계적 또는 다른 형태로 구현될 수 있다.
별도의 부분으로 기술되는 유닛은 물리적으로 분리될 수 있거나 물리적으로 분리되지 않을 수 있고, 유닛으로서 디스플레이되는 부분은 물리적 유닛일 수 있거나 아닐 수 있거나, 한 지점에 위치할 수 있거나, 복수의 네트워크 유닛 상에 분산될 수 있다. 유닛들의 일부 또는 전부는 실시 예들의 해결 방안들의 목적을 달성하기 위해 실제 요구 사항에 기초하여 선택될 수 있다.
또한, 본 출원의 실시예에서 기능 유닛은 하나의 처리 유닛으로 통합될 수 있거나, 각각의 유닛은 물리적으로 단독으로 존재할 수 있거나, 둘 이상의 유닛이 하나의 유닛으로 통합될 수 있다.
기능이 소프트웨어 기능 유닛의 형태로 구현되어 독립적인 제품으로서 판매 또는 사용되는 경우, 기능들은 컴퓨터로 판독 가능한 저장 매체에 저장될 수 있다. 이러한 이해에 기초하여, 본 출원의 본질적인 기술적 해결 방안들, 종래 기술에 기여하는 부분, 또는 기술적 해결 방안들의 일부는 소프트웨어 제품의 형태로 구현될 수 있다. 소프트웨어 제품은 저장 매체에 저장되며, 컴퓨터 디바이스(개인용 컴퓨터, 서버 또는 네트워크 디바이스일 수 있음)가 본 출원의 실시 예들에서 설명되는 방법의 단계들 전부 또는 일부를 수행하도록 지시하기 위한 몇 가지 명령을 포함한다. 전술한 저장 매체는: USB 플래시 드라이브, 이동식 하드 디스크, 읽기 전용 메모리(read-only memory, ROM), 랜덤 액세스 메모리(random access memory, RAM), 자기 디스크 또는 광 디스크와 같은 프로그램 코드를 저장할 수 있는 임의의 매체를 포함한다.
전술한 설명은 본 출원에 대한 특정 구현예일 뿐이며, 본 출원의 보호 범위를 제한하려는 것은 아니다. 본 출원에 개시된 기술 범위 내에서 통상의 기술자에 의해 용이하게 파악되는 임의의 변형 또는 대체는 본 출원의 보호 범위 내에 속한다. 따라서 본 출원의 보호 범위는 청구 범위의 보호 범위에 따른다.

Claims (24)

  1. 데이터 센터 네트워크에 적용되는 혼잡 제어 방법으로서, 상기 데이터 센터 네트워크는 제1 네트워크 디바이스 및 제2 네트워크 디바이스를 포함하고, 상기 제1 네트워크 디바이스는 데이터 흐름을 상기 제2 네트워크 디바이스로 송신하도록 구성되되, 상기 혼잡 제어 방법은,
    상기 제1 네트워크 디바이스에 의해, 상기 제2 네트워크 디바이스에 의해 송신되는 제1 메시지를 수신하는 단계-여기서, 상기 제1 메시지는 활성 흐름량을 전달하고, 상기 활성 흐름량은 상기 제1 네트워크 디바이스로부터 수신되는 데이터 패킷이 속하는 데이터 흐름에 기초하여 상기 제2 네트워크 디바이스에 의해 결정되는 수량임-;
    상기 제1 네트워크 디바이스에 의해 상기 활성 흐름량 및 상기 제2 네트워크 디바이스의 정격 수신 대역폭에 기초하여, 상기 데이터 흐름을 상기 제2 네트워크 디바이스로 송신하는데 사용되는 패킷 송신 제어 정보를 결정하는 단계-여기서 상기 패킷 송신 제어 정보는, 상기 제1 네트워크 디바이스가 상기 패킷 송신 제어 정보에 기초하여 상기 데이터 흐름을 상기 제2 네트워크 디바이스로 송신하는 경우, 상기 제2 네트워크 디바이스의 실제의 수신 대역폭이 상기 정격 수신 대역폭에 도달함을 나타냄-; 및
    상기 제1 네트워크 디바이스에 의해 상기 패킷 송신 제어 정보에 기초하여, 상기 데이터 흐름을 상기 제2 네트워크 디바이스로 송신하는 단계
    를 포함하고,
    상기 제1 네트워크 디바이스에 의해 상기 활성 흐름량 및 상기 제2 네트워크 디바이스의 정격 수신 대역폭에 기초하여, 상기 데이터 흐름을 상기 제2 네트워크 디바이스로 송신하는데 사용되는 패킷 송신 제어 정보를 결정하는 단계는,
    상기 활성 흐름량이 제1 임계치보다 작은 경우, 상기 제1 네트워크 디바이스에 의해 다음 공식에 기초하여, 상기 데이터 흐름을 상기 제2 네트워크 디바이스로 송신하는데 사용되는 상기 패킷 송신 제어 정보를 결정하는 단계:
    Figure 112022090968099-pct00020

    -여기서, C는 상기 제2 네트워크 디바이스의 정격 수신 대역폭이고, active_qp는 상기 활성 흐름량이고, T는 상기 네트워크가 아이들인 경우 상기 제1 네트워크 디바이스에 의해 상기 제2 네트워크 디바이스로 송신되는 데이터 패킷이 상기 제2 네트워크 디바이스에 도달하는데 요구되는 시간이고, V는 상기 제1 네트워크 디바이스에 의해 T 이내에 상기 제2 네트워크 디바이스로 송신되는 상기 데이터 흐름의 데이터 볼륨임-를 포함하고; 그리고
    상기 제1 네트워크 디바이스에 의해 상기 패킷 송신 제어 정보에 기초하여, 상기 데이터 흐름을 상기 제2 네트워크 디바이스로 송신하는 단계는,
    상기 제1 네트워크 디바이스에 의해, 상기 데이터 흐름에서 데이터 볼륨 V를 가지는 데이터 패킷을 T 이내에 상기 제2 네트워크 디바이스로 송신하는 단계를 포함하는, 혼잡 제어 방법.
  2. 데이터 센터 네트워크에 적용되는 혼잡 제어 방법으로서, 상기 데이터 센터 네트워크는 제1 네트워크 디바이스 및 제2 네트워크 디바이스를 포함하고, 상기 제1 네트워크 디바이스는 데이터 흐름을 상기 제2 네트워크 디바이스로 송신하도록 구성되되, 상기 혼잡 제어 방법은,
    상기 제1 네트워크 디바이스에 의해, 상기 제2 네트워크 디바이스에 의해 송신되는 제1 메시지를 수신하는 단계-여기서, 상기 제1 메시지는 활성 흐름량을 전달하고, 상기 활성 흐름량은 상기 제1 네트워크 디바이스로부터 수신되는 데이터 패킷이 속하는 데이터 흐름에 기초하여 상기 제2 네트워크 디바이스에 의해 결정되는 수량임-;
    상기 제1 네트워크 디바이스에 의해 상기 활성 흐름량 및 상기 제2 네트워크 디바이스의 정격 수신 대역폭에 기초하여, 상기 데이터 흐름을 상기 제2 네트워크 디바이스로 송신하는데 사용되는 패킷 송신 제어 정보를 결정하는 단계-여기서 상기 패킷 송신 제어 정보는, 상기 제1 네트워크 디바이스가 상기 패킷 송신 제어 정보에 기초하여 상기 데이터 흐름을 상기 제2 네트워크 디바이스로 송신하는 경우, 상기 제2 네트워크 디바이스의 실제의 수신 대역폭이 상기 정격 수신 대역폭에 도달함을 나타냄-; 및
    상기 제1 네트워크 디바이스에 의해 상기 패킷 송신 제어 정보에 기초하여, 상기 데이터 흐름을 상기 제2 네트워크 디바이스로 송신하는 단계
    를 포함하고,
    상기 제1 네트워크 디바이스에 의해 상기 활성 흐름량 및 상기 제2 네트워크 디바이스의 정격 수신 대역폭에 기초하여, 상기 데이터 흐름을 상기 제2 네트워크 디바이스로 송신하는데 사용되는 패킷 송신 제어 정보를 결정하는 단계는,
    상기 활성 흐름량이 제1 임계치 이상인 경우, 상기 제1 네트워크 디바이스에 의해 다음 공식에 기초하여, 상기 데이터 흐름을 상기 제2 네트워크 디바이스로 송신하는데 사용되는 상기 패킷 송신 제어 정보를 결정하는 단계:
    Figure 112022090968099-pct00021

    -여기서, 1pkt는 단일 데이터 패킷의 길이이고, active_qp는 상기 활성 흐름량이고, C는 상기 제2 네트워크 디바이스의 정격 수신 대역폭이고, "간격"은 상기 제1 네트워크 디바이스가 상기 데이터 흐름을 송신하는 경우 인접한 데이터 패킷 사이의 시간 간격임-를 포함하고; 그리고
    상기 제1 네트워크 디바이스에 의해 상기 패킷 송신 제어 정보에 기초하여, 상기 데이터 흐름을 상기 제2 네트워크 디바이스로 송신하는 단계는,
    상기 제1 네트워크 디바이스에 의해, "간격"으로 표시되는 상기 시간 간격에 기초하여, 상기 데이터 흐름에서 상기 데이터 패킷을 상기 제2 네트워크 디바이스로 송신하는 단계;를포함하는, 혼잡 제어 방법.
  3. 데이터 센터 네트워크에 적용되는 혼잡 제어 방법으로서, 상기 데이터 센터 네트워크는 제1 네트워크 디바이스 및 제2 네트워크 디바이스를 포함하고, 상기 제1 네트워크 디바이스는 데이터 흐름을 상기 제2 네트워크 디바이스로 송신하도록 구성되되, 상기 혼잡 제어 방법은,
    상기 제1 네트워크 디바이스에 의해, 상기 제2 네트워크 디바이스에 의해 송신되는 제1 메시지를 수신하는 단계-여기서, 상기 제1 메시지는 활성 흐름량을 전달하고, 상기 활성 흐름량은 상기 제1 네트워크 디바이스로부터 수신되는 데이터 패킷이 속하는 데이터 흐름에 기초하여 상기 제2 네트워크 디바이스에 의해 결정되는 수량임-;
    상기 제1 네트워크 디바이스에 의해 상기 활성 흐름량 및 상기 제2 네트워크 디바이스의 정격 수신 대역폭에 기초하여, 상기 데이터 흐름을 상기 제2 네트워크 디바이스로 송신하는데 사용되는 패킷 송신 제어 정보를 결정하는 단계-여기서 상기 패킷 송신 제어 정보는, 상기 제1 네트워크 디바이스가 상기 패킷 송신 제어 정보에 기초하여 상기 데이터 흐름을 상기 제2 네트워크 디바이스로 송신하는 경우, 상기 제2 네트워크 디바이스의 실제의 수신 대역폭이 상기 정격 수신 대역폭에 도달함을 나타냄-; 및
    상기 제1 네트워크 디바이스에 의해 상기 패킷 송신 제어 정보에 기초하여, 상기 데이터 흐름을 상기 제2 네트워크 디바이스로 송신하는 단계
    를 포함하고,
    상기 제1 네트워크 디바이스에 의해 상기 활성 흐름량 및 상기 제2 네트워크 디바이스의 정격 수신 대역폭에 기초하여, 상기 데이터 흐름을 상기 제2 네트워크 디바이스로 송신하는데 사용되는 패킷 송신 제어 정보를 결정하는 단계는,
    상기 제1 네트워크 디바이스에 의해, 상기 활성 흐름량, 상기 제2 네트워크 디바이스의 정격 수신 대역폭, 및 상기 데이터 흐름의 속성 정보에 기초하여, 상기 데이터 흐름을 상기 제2 네트워크 디바이스로 송신하는데 사용되는 패킷 송신 제어 정보를 결정하는 단계-여기서,
    상기 데이터 흐름의 속성 정보는 상기 데이터 흐름의 애플리케이션 정보 및 상기 데이터 흐름의 데이터 볼륨 정보 중 적어도 하나를 포함하고, 상기 데이터 흐름의 애플리케이션 정보는 상기 데이터 흐름의 데이터 패킷이 속하는 서비스 유형을 표시하는데 사용되고, 상기 데이터 흐름의 데이터 볼륨 정보는 제1 데이터 흐름에 속하고 미리 설정된 시간 내에 상기 제1 네트워크 디바이스에 의해 송신되는 데이터 패킷의 데이터 볼륨을 표시하는데 사용됨-;를 포함하는, 혼잡 제어 방법.
  4. 제3항에 있어서,
    상기 상기 제1 네트워크 디바이스에 의해, 상기 활성 흐름량, 상기 제2 네트워크 디바이스의 정격 수신 대역폭, 및 상기 데이터 흐름의 속성 정보에 기초하여, 상기 데이터 흐름을 상기 제2 네트워크 디바이스로 송신하는데 사용되는 패킷 송신 제어 정보를 결정하는 단계는,
    상기 활성 흐름량이 제1 임계치보다 작은 경우, 상기 제1 네트워크 디바이스에 의해 다음 공식에 기초하여, 상기 데이터 흐름을 상기 제2 네트워크 디바이스로 송신하는데 사용되는 상기 패킷 송신 제어 정보를 결정하는 단계:
    Figure 112022090968099-pct00022

    -여기서, C는 상기 제2 네트워크 디바이스의 정격 수신 대역폭이고, active_qp는 상기 활성 흐름량이고, T는 상기 네트워크가 아이들인 경우 상기 제1 네트워크 디바이스에 의해 상기 제2 네트워크 디바이스로 송신되는 데이터 패킷이 상기 제2 네트워크 디바이스에 도달하는데 요구되는 시간이고, w는 상기 데이터 흐름의 가중치이고, w는 상기 데이터 흐름의 속성 정보에 기초하여 결정되고, V는 상기 제1 네트워크 디바이스에 의해 T 이내에 상기 제2 네트워크 디바이스로 송신되는 상기 데이터 흐름의 데이터 볼륨임-를 포함하고; 그리고
    상기 제1 네트워크 디바이스에 의해 상기 패킷 송신 제어 정보에 기초하여, 상기 데이터 흐름을 상기 제2 네트워크 디바이스로 송신하는 단계는,
    상기 제1 네트워크 디바이스에 의해, 상기 데이터 흐름에서 데이터 볼륨 V를 가지는 데이터 패킷을 T 이내에 상기 제2 네트워크 디바이스로 송신하는 단계;를 포함하는, 혼잡 제어 방법.
  5. 제3항에 있어서,
    상기 상기 제1 네트워크 디바이스에 의해, 상기 활성 흐름량, 상기 제2 네트워크 디바이스의 정격 수신 대역폭, 및 상기 데이터 흐름의 속성 정보에 기초하여, 상기 데이터 흐름을 상기 제2 네트워크 디바이스로 송신하는데 사용되는 패킷 송신 제어 정보를 결정하는 단계는,
    상기 활성 흐름량이 제1 임계치 이상인 경우, 상기 제1 네트워크 디바이스에 의해 다음 공식에 기초하여, 상기 데이터 흐름을 상기 제2 네트워크 디바이스로 송신하는데 사용되는 상기 패킷 송신 제어 정보를 결정하는 단계:
    Figure 112022090968099-pct00023

    -여기서, 1pkt는 단일 데이터 패킷의 길이이고, active_qp는 상기 활성 흐름량이고, w는 상기 데이터 흐름의 가중치이고, w는 상기 데이터 흐름의 속성 정보에 기초하여 결정되고, C는 상기 제2 네트워크 디바이스의 정격 수신 대역폭이고, "간격"은 상기 제1 네트워크 디바이스가 상기 데이터 흐름을 송신하는 경우 인접한 데이터 패킷 사이의 시간 간격임-를 포함하고; 그리고
    상기 제1 네트워크 디바이스에 의해 상기 패킷 송신 제어 정보에 기초하여, 상기 데이터 흐름을 상기 제2 네트워크 디바이스로 송신하는 단계는,
    상기 제1 네트워크 디바이스에 의해, "간격"으로 표시되는 상기 시간 간격에 기초하여, 상기 데이터 흐름에서 상기 데이터 패킷을 상기 제2 네트워크 디바이스로 송신하는 단계;를 포함하는, 혼잡 제어 방법.
  6. 데이터 센터 네트워크에 적용되는 혼잡 제어 방법으로서, 상기 데이터 센터 네트워크는 제1 네트워크 디바이스 및 제2 네트워크 디바이스를 포함하고, 상기 제2 네트워크 디바이스는 상기 제1 네트워크 디바이스에 의해 송신되는 데이터 흐름을 수신하도록 구성되되, 상기 혼잡 제어 방법은,
    상기 제2 네트워크 디바이스에 의해, 상기 제1 네트워크 디바이스로부터 수신되는 데이터 패킷이 속하는 데이터 흐름에 기초하여 활성 흐름량을 결정하는 단계;
    상기 제2 네트워크 디바이스에 의해, 제1 메시지를 상기 제1 네트워크 디바이스로 송신하는 단계-여기서, 상기 제1 메시지는 상기 활성 흐름량을 전달하고, 상기 활성 흐름량은 상기 제1 네트워크 디바이스에 의해 상기 데이터 흐름을 상기 제2 네트워크 디바이스로 송신하는데 사용되는 패킷 송신 제어 정보를 결정하는데 사용되고, 상기 패킷 송신 제어 정보는, 상기 제1 네트워크 디바이스가 상기 패킷 송신 제어 정보에 기초하여 상기 데이터 흐름을 상기 제2 네트워크 디바이스로 송신하는 경우, 상기 제2 네트워크 디바이스의 실제의 수신 대역폭은 상기 제2 네트워크 디바이스의 정격 수신 대역폭에 도달함을 나타냄-; 및
    상기 제2 네트워크 디바이스에 의해 상기 정격 수신 대역폭에 기초하여, 상기 제1 네트워크 디바이스에 의해 송신되는 상기 데이터 흐름을 수신하는 단계
    를 포함하고,
    상기 상기 제2 네트워크 디바이스에 의해, 상기 제1 네트워크 디바이스로부터 수신되는 데이터 패킷이 속하는 데이터 흐름에 기초하여 활성 흐름량을 결정하는 단계는,
    상기 제2 네트워크 디바이스에 의해, 상기 제1 네트워크 디바이스에 의해 송신되는 데이터 패킷의 제1 그룹에서 초기 패킷을 수신하고, 제1 활성 흐름량을 획득하기 위해 현재 활성 흐름량을 1만큼 증가시키는 단계;
    상기 제2 네트워크 디바이스에 의해, 상기 제1 네트워크 디바이스에 의해 송신되는 데이터 패킷의 제1 그룹에서 테일 패킷을 수신하고, 상기 데이터 패킷의 제1 그룹에서 외부 혼잡 통지 ECN 식별자를 전달하는 데이터 패킷의 수량에 기초하여 제1 혼잡 값을 결정하는 단계; 및
    상기 제1 혼잡 값이 혼잡 임계치보다 작은 경우, 상기 제2 네트워크 디바이스에 의해, 제2 활성 흐름량을 획득하기 위해 상기 제1 활성 흐름량을 1만큼 감소시키거나, 또는
    상기 제1 혼잡 값이 혼잡 임계치 이상인 경우, 상기 제2 네트워크 디바이스에 의해, 상기 제1 활성 흐름량을 변경없이 유지하는 단계;를 포함하는, 혼잡 제어 방법.
  7. 제6항에 있어서,
    상기 데이터 패킷의 제1 그룹에서 ECN 식별자를 전달하는 데이터 패킷의 수량에 기초하여 제1 혼잡 값을 결정하는 단계는,
    상기 데이터 패킷의 제1 그룹에서 데이터 패킷의 수량에 대한 상기 데이터 패킷의 제1 그룹에서 상기 ECN 식별자를 전달하는 데이터 패킷의 수량의 비율을 상기 제1 혼잡 값으로 결정하는 단계;를 포함하는, 혼잡 제어 방법.
  8. 제6항에 있어서,
    상기 제2 네트워크 디바이스에 의해, 상기 제1 네트워크 디바이스에 의해 송신되는 데이터 패킷의 제1 그룹에서 테일 패킷을 수신한 후,
    상기 제2 네트워크 디바이스에 의해, 상기 제1 네트워크 디바이스에 의해 송신되는 데이터 패킷의 제2 그룹에서 초기 패킷을 수신하고, 제4 활성 흐름량을 획득하기 위해 제3 활성 흐름량을 1만큼 증가시키는 단계-여기서, 상기 데이터 패킷의 제2 그룹 및 상기 데이터 패킷의 제1 그룹은 동일한 데이터 흐름에 속하고, 상기 제1 혼잡 값이 상기 혼잡 임계치보다 작은 경우 상기 제3 활성 흐름량은 상기 제2 활성 흐름량과 같고, 상기 제1 혼잡 값이 상기 혼잡 임계치 이상인 경우 상기 제3 활성 흐름량은 상기 제1 활성 흐름량과 같음-;
    상기 제2 네트워크 디바이스에 의해, 상기 제1 네트워크 디바이스에 의해 송신되는 데이터 패킷의 제2 그룹에서 테일 패킷을 수신하고, 상기 데이터 패킷의 제2 그룹에서 상기 ECN 식별자를 전달하는 데이터 패킷의 수량 및 상기 제1 혼잡 값에 기초하여 상기 네트워크의 제2 혼잡 값을 결정하는 단계; 및
    상기 제2 혼잡 값이 상기 혼잡 임계치보다 작은 경우, 상기 제2 네트워크 디바이스에 의해, 제5 활성 흐름량을 획득하기 위해 상기 제4 활성 흐름량을 1만큼 감소시키거나, 또는
    상기 제2 혼잡 값이 상기 혼잡 임계치 이상인 경우, 상기 제2 네트워크 디바이스에 의해, 상기 제4 활성 흐름량을 변경없이 유지하는 단계;를 더 포함하는, 혼잡 제어 방법.
  9. 제8항에 있어서,
    상기 데이터 패킷의 제2 그룹에서 상기 ECN 식별자를 전달하는 데이터 패킷의 수량 및 상기 제1 혼잡 값에 기초하여 상기 네트워크의 제2 혼잡 값을 결정하는 단계는,
    상기 데이터 패킷의 제2 그룹에서 상기 ECN 식별자를 전달하는 데이터 패킷의 수량에 기초하여 상기 네트워크의 제3 혼잡 값을 결정하는 단계; 및
    공식 con2=x1*con3+x2*con1에 기초하여 상기 제2 혼잡 값을 결정하는 단계-여기서, con3은 상기 제3 혼잡 값이고, con1은 상기 제1 혼잡 값이고, con2는 상기 제2 혼잡 값이고, x1은 미리 설정된 제1 가중치이고, x2는 미리 설정된 제2 가중치임-;를 포함하는, 혼잡 제어 방법.
  10. 제1 네트워크 디바이스로서,
    제2 네트워크 디바이스에 의해 송신되는 제1 메시지를 수신하도록 구성되는 수신 모듈-여기서, 상기 제1 메시지는 활성 흐름량을 전달하고, 상기 활성 흐름량은 상기 제1 네트워크 디바이스로부터 수신되는 데이터 패킷이 속하는 데이터 흐름에 기초하여 상기 제2 네트워크 디바이스에 의해 결정되는 수량임-;
    상기 활성 흐름량 및 상기 제2 네트워크 디바이스의 정격 수신 대역폭에 기초하여, 상기 데이터 흐름을 상기 제2 네트워크 디바이스로 송신하는데 사용되는 패킷 송신 제어 정보를 결정하도록 구성되는 처리 모듈-여기서, 상기 패킷 송신 제어 정보는, 상기 제1 네트워크 디바이스가 상기 패킷 송신 제어 정보에 기초하여 상기 데이터 흐름을 상기 제2 네트워크 디바이스로 송신하는 경우, 상기 제2 네트워크 디바이스의 실제의 수신 대역폭이 상기 정격 수신 대역폭에 도달함을 나타냄-; 및
    상기 패킷 송신 제어 정보에 기초하여 상기 데이터 흐름을 상기 제2 네트워크 디바이스로 송신하도록 구성되는 송신 모듈
    을 포함하고,
    상기 처리 모듈은,
    상기 활성 흐름량이 제1 임계치보다 작은 경우, 상기 데이터 흐름을 상기 제2 네트워크 디바이스로 송신하는데 사용되는 패킷 송신 제어 정보를 다음 공식에 기초하여 결정하도록:
    Figure 112022090968099-pct00024

    -여기서, C는 상기 제2 네트워크 디바이스의 정격 수신 대역폭이고, active_qp는 상기 활성 흐름량이고, T는 상기 네트워크가 아이들인 경우 상기 제1 네트워크 디바이스에 의해 상기 제2 네트워크 디바이스로 송신되는 데이터 패킷이 상기 제2 네트워크 디바이스에 도달하는데 요구되는 시간이고, V는 상기 제1 네트워크 디바이스에 의해 T 이내에 상기 제2 네트워크 디바이스로 송신되는 상기 데이터 흐름의 데이터 볼륨임-; 그리고
    상기 송신 모듈은 상기 데이터 흐름에서 데이터 볼륨 V를 가지는 데이터 패킷을 상기 제2 네트워크 디바이스로 T 이내에 송신하도록, 구성되는, 제1 네트워크 디바이스.
  11. 제1 네트워크 디바이스로서,
    제2 네트워크 디바이스에 의해 송신되는 제1 메시지를 수신하도록 구성되는 수신 모듈-여기서, 상기 제1 메시지는 활성 흐름량을 전달하고, 상기 활성 흐름량은 상기 제1 네트워크 디바이스로부터 수신되는 데이터 패킷이 속하는 데이터 흐름에 기초하여 상기 제2 네트워크 디바이스에 의해 결정되는 수량임-;
    상기 활성 흐름량 및 상기 제2 네트워크 디바이스의 정격 수신 대역폭에 기초하여, 상기 데이터 흐름을 상기 제2 네트워크 디바이스로 송신하는데 사용되는 패킷 송신 제어 정보를 결정하도록 구성되는 처리 모듈-여기서, 상기 패킷 송신 제어 정보는, 상기 제1 네트워크 디바이스가 상기 패킷 송신 제어 정보에 기초하여 상기 데이터 흐름을 상기 제2 네트워크 디바이스로 송신하는 경우, 상기 제2 네트워크 디바이스의 실제의 수신 대역폭이 상기 정격 수신 대역폭에 도달함을 나타냄-; 및
    상기 패킷 송신 제어 정보에 기초하여 상기 데이터 흐름을 상기 제2 네트워크 디바이스로 송신하도록 구성되는 송신 모듈
    을 포함하고,
    상기 처리 모듈은,
    상기 활성 흐름량이 제1 임계치 이상인 경우, 상기 데이터 흐름을 상기 제2 네트워크 디바이스로 송신하는데 사용되는 패킷 송신 제어 정보를 다음 공식에 기초하여 결정하도록:
    Figure 112022090968099-pct00025

    -여기서, 1pkt는 단일 데이터 패킷의 길이이고, active_qp는 상기 활성 흐름량이고, C는 상기 제2 네트워크 디바이스의 정격 수신 대역폭이고, "간격"은 상기 제1 네트워크 디바이스가 상기 데이터 흐름을 송신하는 경우 인접한 데이터 패킷 사이의 시간 간격임-; 그리고
    상기 송신 모듈은 상기 데이터 흐름에서 상기 데이터 패킷을 "간격"으로 표시되는 시간 간격에 기초하여 상기 제2 네트워크 디바이스로 송신하도록, 구성되는, 제1 네트워크 디바이스.
  12. 제1 네트워크 디바이스로서,
    제2 네트워크 디바이스에 의해 송신되는 제1 메시지를 수신하도록 구성되는 수신 모듈-여기서, 상기 제1 메시지는 활성 흐름량을 전달하고, 상기 활성 흐름량은 상기 제1 네트워크 디바이스로부터 수신되는 데이터 패킷이 속하는 데이터 흐름에 기초하여 상기 제2 네트워크 디바이스에 의해 결정되는 수량임-;
    상기 활성 흐름량 및 상기 제2 네트워크 디바이스의 정격 수신 대역폭에 기초하여, 상기 데이터 흐름을 상기 제2 네트워크 디바이스로 송신하는데 사용되는 패킷 송신 제어 정보를 결정하도록 구성되는 처리 모듈-여기서, 상기 패킷 송신 제어 정보는, 상기 제1 네트워크 디바이스가 상기 패킷 송신 제어 정보에 기초하여 상기 데이터 흐름을 상기 제2 네트워크 디바이스로 송신하는 경우, 상기 제2 네트워크 디바이스의 실제의 수신 대역폭이 상기 정격 수신 대역폭에 도달함을 나타냄-; 및
    상기 패킷 송신 제어 정보에 기초하여 상기 데이터 흐름을 상기 제2 네트워크 디바이스로 송신하도록 구성되는 송신 모듈
    을 포함하고,
    상기 처리 모듈은 상기 활성 흐름량, 상기 제2 네트워크 디바이스의 정격 수신 대역폭, 및 상기 데이터 흐름의 속성 정보에 기초하여, 상기 데이터 흐름을 상기 제2 네트워크 디바이스로 송신하는데 사용되는 패킷 송신 제어 정보를 결정하도록 구성되며,
    여기서, 상기 데이터 흐름의 속성 정보는 상기 데이터 흐름의 애플리케이션 정보 및 상기 데이터 흐름의 데이터 볼륨 정보 중 적어도 하나를 포함하고, 상기 데이터 흐름의 애플리케이션 정보는 상기 데이터 흐름의 데이터 패킷이 속하는 서비스 유형을 표시하는데 사용되고, 상기 데이터 흐름의 데이터 볼륨 정보는 제1 데이터 흐름에 속하고 미리 설정된 시간 내에 상기 제1 네트워크 디바이스에 의해 송신되는 데이터 패킷의 데이터 볼륨을 표시하는데 사용되는, 제1 네트워크 디바이스.
  13. 제12항에 있어서,
    상기 처리 모듈은,
    상기 활성 흐름량이 제1 임계치보다 작은 경우, 상기 데이터 흐름을 상기 제2 네트워크 디바이스로 송신하는데 사용되는 패킷 송신 제어 정보를 다음 공식에 기초하여 결정하도록:
    Figure 112022090968099-pct00026

    -여기서, C는 상기 제2 네트워크 디바이스의 정격 수신 대역폭이고, active_qp는 상기 활성 흐름량이고, T는 상기 네트워크가 아이들인 경우 상기 제1 네트워크 디바이스에 의해 상기 제2 네트워크 디바이스로 송신되는 데이터 패킷이 상기 제2 네트워크 디바이스에 도달하는데 요구되는 시간이고, w는 상기 데이터 흐름의 가중치이고, w는 상기 데이터 흐름의 속성 정보에 기초하여 결정되고, V는 상기 제1 네트워크 디바이스에 의해 T 이내에 상기 제2 네트워크 디바이스로 송신되는 상기 데이터 흐름의 데이터 볼륨임-; 그리고
    상기 송신 모듈은 상기 데이터 흐름에서 데이터 볼륨 V를 가지는 데이터 패킷을 상기 제2 네트워크 디바이스로 T 이내에 송신하도록, 구성되는, 제1 네트워크 디바이스.
  14. 제12항에 있어서,
    상기 처리 모듈은,
    상기 활성 흐름량이 제1 임계치 이상인 경우, 상기 데이터 흐름을 상기 제2 네트워크 디바이스로 송신하는데 사용되는 패킷 송신 제어 정보를 다음 공식에 기초하여 결정하도록:
    Figure 112022090968099-pct00027

    -여기서, 1pkt는 단일 데이터 패킷의 길이이고, active_qp는 상기 활성 흐름량이고, w는 상기 데이터 흐름의 가중치이고, w는 상기 데이터 흐름의 속성 정보에 기초하여 결정되고, C는 상기 제2 네트워크 디바이스의 정격 수신 대역폭이고, "간격"은 상기 제1 네트워크 디바이스가 상기 데이터 흐름을 송신하는 경우 인접한 데이터 패킷 사이의 시간 간격임-; 그리고
    상기 송신 모듈은 상기 데이터 흐름에서 상기 데이터 패킷을 "간격"으로 표시되는 시간 간격에 기초하여 상기 제2 네트워크 디바이스로 송신하도록, 구성되는, 제1 네트워크 디바이스.
  15. 제2 네트워크 디바이스로서,
    제1 네트워크 디바이스로부터 수신되는 데이터 패킷이 속하는 데이터 흐름에 기초하여 활성 흐름량을 결정하도록 구성되는 처리 모듈;
    제1 메시지를 상기 제1 네트워크 디바이스로 송신하도록 구성되는 송신 모듈-여기서, 상기 제1 메시지는 상기 활성 흐름량을 전달하고, 상기 활성 흐름량은 상기 제1 네트워크 디바이스에 의해 상기 데이터 흐름을 상기 제2 네트워크 디바이스로 송신하는데 사용되는 패킷 송신 제어 정보를 결정하는데 사용되고, 상기 패킷 송신 제어 정보는, 상기 제1 네트워크 디바이스가 상기 패킷 송신 제어 정보에 기초하여 상기 데이터 흐름을 상기 제2 네트워크 디바이스로 송신하는 경우, 상기 제2 네트워크 디바이스의 실제의 수신 대역폭은 상기 제2 네트워크 디바이스의 정격 수신 대역폭에 도달함을 나타냄-; 및
    상기 정격 수신 대역폭에 기초하여, 상기 제1 네트워크 디바이스에 의해 송신되는 데이터 흐름을 수신하도록 구성되는 수신 모듈
    을 포함하고,
    상기 수신 모듈은 상기 제1 네트워크 디바이스에 의해 송신되는 데이터 패킷의 제1 그룹에서 초기 패킷을 수신하도록 구성되고;
    상기 처리 모듈은 제1 활성 흐름량을 획득하기 위해 현재 활성 흐름량을 1만큼 증가시키도록 구성되고;
    상기 수신 모듈은 상기 제1 네트워크 디바이스에 의해 송신되는 상기 데이터 패킷의 제1 그룹에서 테일 패킷을 수신하도록 구성되고; 그리고
    상기 처리 모듈은,
    상기 데이터 패킷의 제1 그룹에서 외부 혼잡 통지 ECN 식별자를 전달하는 데이터 패킷의 수량에 기초하여 제1 혼잡 값을 결정하도록; 그리고
    상기 제1 혼잡 값이 혼잡 임계치보다 작은 경우, 제2 활성 흐름량을 획득하기 위해 상기 제1 활성 흐름량을 1만큼 감소시키도록; 또는
    상기 제1 혼잡 값이 혼잡 임계치 이상인 경우, 상기 제2 네트워크 디바이스에 의해, 상기 제1 활성 흐름량을 변경없이 유지하도록, 구성되는, 제2 네트워크 디바이스.
  16. 제15항에 있어서,
    상기 처리 모듈은 상기 데이터 패킷의 제1 그룹에서 데이터 패킷의 수량에 대한 상기 데이터 패킷의 제1 그룹에서 상기 ECN 식별자를 전달하는 데이터 패킷의 수량의 비율을 상기 제1 혼잡 값으로 결정하도록 구성되는, 제2 네트워크 디바이스.
  17. 제15항에 있어서,
    상기 수신 모듈이 상기 제1 네트워크 디바이스에 의해 송신되는 데이터 패킷의 제1 그룹에서 테일 패킷을 수신한 후, 상기 수신 모듈은 상기 제1 네트워크 디바이스에 의해 송신되는 데이터 패킷의 제2 그룹에서 상기 초기 패킷을 수신하도록 추가적으로 구성되고;
    상기 처리 모듈은 제4 활성 흐름량을 획득하기 위해 제3 활성 흐름량을 1만큼 증가시키도록 구성되며-여기서, 상기 데이터 패킷의 제2 그룹 및 상기 데이터 패킷의 제1 그룹은 동일한 데이터 흐름에 속하고, 상기 제1 혼잡 값이 상기 혼잡 임계치보다 작은 경우 상기 제3 활성 흐름량은 상기 제2 활성 흐름량과 같고, 상기 제1 혼잡 값이 상기 혼잡 임계치 이상인 경우 상기 제3 활성 흐름량은 상기 제1 활성 흐름량과 같음-;
    상기 수신 모듈은 상기 제1 네트워크 디바이스에 의해 송신되는 상기 데이터 패킷의 제2 그룹에서 테일 패킷을 수신하도록 구성되고; 그리고
    상기 처리 모듈은,
    상기 데이터 패킷의 제2 그룹에서 상기 ECN 식별자를 전달하는 데이터 패킷의 수량 및 상기 제1 혼잡 값에 기초하여 상기 네트워크의 제2 혼잡 값을 결정하도록; 그리고
    상기 제2 혼잡 값이 상기 혼잡 임계치보다 작은 경우, 제5 활성 흐름량을 획득하기 위해 상기 제4 활성 흐름량을 1만큼 감소시키도록; 또는
    상기 제2 혼잡 값이 상기 혼잡 임계치 이상인 경우, 상기 제2 네트워크 디바이스에 의해, 상기 제4 활성 흐름량을 변경없이 유지하도록, 구성되는, 제2 네트워크 디바이스.
  18. 제17항에 있어서,
    상기 처리 모듈은,
    상기 데이터 패킷의 제2 그룹에서 상기 ECN 식별자를 전달하는 데이터 패킷의 수량에 기초하여 상기 네트워크의 제3 혼잡 값을 결정하도록; 그리고
    공식 con2=x1*con3+x2*con1에 기초하여 상기 제2 혼잡 값을 결정하도록-여기서, con3은 상기 제3 혼잡 값이고, con1은 상기 제1 혼잡 값이고, con2는 상기 제2 혼잡 값이고, x1은 미리 설정된 제1 가중치이고, x2는 미리 설정된 제2 가중치임-, 구성되는, 제2 네트워크 디바이스.
  19. 제1 네트워크 디바이스로서,
    프로그램을 저장하도록 구성되는 메모리; 및
    상기 메모리에 저장된 프로그램을 실행하도록 구성되는 프로세서;를 포함하되,
    상기 메모리에 저장된 프로그램이 실행되는 경우, 상기 제1 네트워크 디바이스는 제1항 내지 제5항 중 어느 한 항에 따른 방법을 수행하도록 구성되는, 제1 네트워크 디바이스.
  20. 제2 네트워크 디바이스로서,
    프로그램을 저장하도록 구성되는 메모리; 및
    상기 메모리에 저장된 프로그램을 실행하도록 구성되는 프로세서;를 포함하되,
    상기 메모리에 저장된 프로그램이 실행되는 경우, 상기 제2 네트워크 디바이스는 제6항 내지 제9항 중 어느 한 항에 따른 방법을 수행하도록 구성되는, 제2 네트워크 디바이스.
  21. 삭제
  22. 삭제
  23. 삭제
  24. 삭제
KR1020217004313A 2018-09-25 2019-07-01 혼잡 제어 방법 및 네트워크 디바이스 KR102478440B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN201811119579.8A CN109067665B (zh) 2018-09-25 2018-09-25 拥塞控制方法和网络设备
CN201811119579.8 2018-09-25
PCT/CN2019/094171 WO2020063003A1 (zh) 2018-09-25 2019-07-01 拥塞控制方法和网络设备

Publications (2)

Publication Number Publication Date
KR20210028722A KR20210028722A (ko) 2021-03-12
KR102478440B1 true KR102478440B1 (ko) 2022-12-15

Family

ID=64765968

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020217004313A KR102478440B1 (ko) 2018-09-25 2019-07-01 혼잡 제어 방법 및 네트워크 디바이스

Country Status (6)

Country Link
US (1) US11606297B2 (ko)
EP (1) EP3852323A4 (ko)
JP (1) JP2021536196A (ko)
KR (1) KR102478440B1 (ko)
CN (1) CN109067665B (ko)
WO (1) WO2020063003A1 (ko)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109245959B (zh) 2018-09-25 2021-09-03 华为技术有限公司 统计活跃流数目的方法、网络设备和系统
CN109067665B (zh) 2018-09-25 2022-01-11 华为技术有限公司 拥塞控制方法和网络设备
CN112822120B (zh) * 2019-11-18 2023-04-28 华为技术有限公司 一种实现拥塞控制的方法、装置和系统
CN113014498A (zh) * 2019-12-19 2021-06-22 华为技术有限公司 一种收发数据的方法及装置
WO2021134621A1 (zh) * 2019-12-31 2021-07-08 华为技术有限公司 调度报文的方法和装置
TWI768812B (zh) * 2021-04-07 2022-06-21 聚騰科技股份有限公司 網路頻寬的偵測方法
CN113507420B (zh) * 2021-08-05 2022-03-15 清华大学 一种拥塞控制方法及装置
CN113872872B (zh) * 2021-09-29 2023-11-24 新华三信息安全技术有限公司 一种报文转发方法、装置及框式网络设备
CN113746724B (zh) * 2021-11-05 2022-04-12 阿里云计算有限公司 消息传输方法、装置、电子设备及介质
CN115002035A (zh) * 2022-06-27 2022-09-02 中国南方电网有限责任公司 基于业务级别的电力数据传输拥塞规避方法
CN115514708B (zh) * 2022-11-23 2023-03-21 江苏为是科技有限公司 拥塞控制方法及装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140226475A1 (en) * 2013-02-12 2014-08-14 Adara Networks, Inc. Controlling congestion controlled flows
US20170250929A1 (en) * 2016-02-29 2017-08-31 Electronics And Telecommunications Research Institute Method and apparatus for active queue management for wireless networks using shared wireless channel

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5668948A (en) * 1994-09-08 1997-09-16 International Business Machines Corporation Media streamer with control node enabling same isochronous streams to appear simultaneously at output ports or different streams to appear simultaneously at output ports
US7304948B1 (en) * 2000-12-29 2007-12-04 Nortel Networks Limited Congestion control for signalling transport protocols
US7729347B2 (en) * 2006-05-31 2010-06-01 Zvi Rosberg Method and apparatus for fair flow control and congestion avoidance supporting multiple QoS class requirements
JP4893646B2 (ja) * 2008-02-04 2012-03-07 富士通株式会社 帯域制御装置および帯域制御方法
US8670324B2 (en) * 2008-07-30 2014-03-11 Fimax Technology Limited Fair weighted network congestion avoidance
US8949444B1 (en) * 2009-07-14 2015-02-03 Juniper Networks, Inc. Flow control scheme for parallel flows
US8780721B2 (en) * 2009-10-06 2014-07-15 Nec Corporation Network system, controller, method, and program
CN101854366B (zh) * 2010-06-10 2015-04-01 中兴通讯股份有限公司 一种对等网络流量识别的方法及装置
US8458327B1 (en) * 2010-07-15 2013-06-04 Google Inc. System and method of reducing network latency
CN102404187A (zh) * 2010-09-13 2012-04-04 华为技术有限公司 拥塞控制方法和系统以及网络设备
WO2013081518A1 (en) * 2011-12-01 2013-06-06 Telefonaktiebolaget L M Ericsson (Publ) Reduction of packet header compression overhead due to high ecn rate
US8929399B2 (en) * 2011-12-29 2015-01-06 Qualcomm Incorporated Selectively multiplexing communication streams
JP5954074B2 (ja) * 2012-09-20 2016-07-20 富士通株式会社 情報処理方法、情報処理装置、及びプログラム。
EP2922345B1 (en) * 2012-11-16 2020-02-26 Nec Corporation Network system, method, device and program
US9521177B2 (en) * 2013-09-11 2016-12-13 Cisco Technology, Inc. Network-based adaptive rate limiting
CN103457871B (zh) * 2013-09-18 2016-03-30 中南大学 Dcn中基于延迟约束的拥塞避免阶段的增窗方法
CN103916329B (zh) * 2014-03-21 2017-04-12 中国科学院计算技术研究所 一种命名数据网络传输控制方法及系统
EP3146682B1 (en) * 2014-07-16 2019-09-04 NEC Corporation Method and system for managing flows in a network
US10575008B2 (en) * 2015-06-01 2020-02-25 Apple Inc. Bandwidth management in devices with simultaneous download of multiple data streams
US10382495B2 (en) * 2015-09-25 2019-08-13 Telefonaktiebolaget Lm Ericsson (Publ) Method and interworking network node for enabling bit rate adaption in media streaming
EP3378207B1 (en) * 2015-11-16 2019-04-24 Telefonaktiebolaget LM Ericsson (publ) Method for congestion control in multiparty conferencing, multipoint control unit, computer program and computer program product
US20180069786A1 (en) * 2016-09-02 2018-03-08 Argela Yazilim ve Bilisim Teknolojileri San. ve Tic. A.S. Randomized route hopping in software defined networks
CN108243111B (zh) * 2016-12-27 2021-08-27 华为技术有限公司 确定传输路径的方法和装置
CN108494698B (zh) * 2017-12-13 2022-02-25 天地伟业技术有限公司 一种基于传输速率的拥塞控制方法
CN109995664B (zh) 2017-12-29 2022-04-05 华为技术有限公司 一种发送数据流的方法、设备和系统
CN109067665B (zh) * 2018-09-25 2022-01-11 华为技术有限公司 拥塞控制方法和网络设备

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140226475A1 (en) * 2013-02-12 2014-08-14 Adara Networks, Inc. Controlling congestion controlled flows
US20170250929A1 (en) * 2016-02-29 2017-08-31 Electronics And Telecommunications Research Institute Method and apparatus for active queue management for wireless networks using shared wireless channel

Also Published As

Publication number Publication date
KR20210028722A (ko) 2021-03-12
US11606297B2 (en) 2023-03-14
US20210211380A1 (en) 2021-07-08
JP2021536196A (ja) 2021-12-23
CN109067665A (zh) 2018-12-21
WO2020063003A1 (zh) 2020-04-02
EP3852323A1 (en) 2021-07-21
EP3852323A4 (en) 2021-12-29
CN109067665B (zh) 2022-01-11

Similar Documents

Publication Publication Date Title
KR102478440B1 (ko) 혼잡 제어 방법 및 네트워크 디바이스
CN111316605B (zh) 第3层公平速率拥塞控制通知
TWI487389B (zh) 避免網路壅塞的方法及其裝置
US8509074B1 (en) System, method, and computer program product for controlling the rate of a network flow and groups of network flows
US9438523B2 (en) Method and apparatus for deriving a packet select probability value
CN108540380B (zh) 多子流网络传输方法及装置
WO2020063299A1 (zh) 统计活跃流数目的方法、网络设备和系统
Wang et al. TCP congestion control algorithm for heterogeneous Internet
CN110943933A (zh) 一种实现数据传输的方法、装置和系统
US8989011B2 (en) Communication over multiple virtual lanes using a shared buffer
CN110944358A (zh) 数据传输方法和设备
CN110868359B (zh) 一种网络拥塞控制方法
Yang et al. Adaptive-BBR: Fine-grained congestion control with improved fairness and low latency
CN109995608B (zh) 网络速率计算方法和装置
CN112995048A (zh) 数据中心网络的阻塞控制与调度融合方法及终端设备
US11190454B2 (en) Receiver-directed computer network congestion control system
WO2021052295A1 (zh) 处理网络拥塞的方法和相关装置
WO2021008562A1 (zh) 流速控制方法和装置
US11870708B2 (en) Congestion control method and apparatus
Szilágyi et al. Efficient LTE PDCP buffer management
Lee et al. Congestion control for streaming service in IEEE 802.11 multihop networks
Ceco et al. Performance comparison of active queue management algorithms
Wu et al. AQM-based Buffer Delay Guarantee for Congestion Control in 5G Networks
Deng et al. Mip: Minimizing the idle period of data transmission in data center networks
US20230396547A1 (en) System and method for traffic flow acceleration

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant