JP2021536196A - 輻輳制御方法及びネットワークデバイス - Google Patents

輻輳制御方法及びネットワークデバイス Download PDF

Info

Publication number
JP2021536196A
JP2021536196A JP2021513244A JP2021513244A JP2021536196A JP 2021536196 A JP2021536196 A JP 2021536196A JP 2021513244 A JP2021513244 A JP 2021513244A JP 2021513244 A JP2021513244 A JP 2021513244A JP 2021536196 A JP2021536196 A JP 2021536196A
Authority
JP
Japan
Prior art keywords
network device
data
data flow
packet
active flows
Prior art date
Legal status (The legal status 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 status listed.)
Pending
Application number
JP2021513244A
Other languages
English (en)
Inventor
リィウ,モンジュ
ジャン,ヤリ
リィウ,シシン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Publication of JP2021536196A publication Critical patent/JP2021536196A/ja
Pending legal-status Critical Current

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/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
    • 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/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/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

Landscapes

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

Abstract

この出願は、輻輳制御方法及びネットワークデバイスを提供する。当該方法は、第1のネットワークデバイスにより、第2のネットワークデバイスにより送信された第1のメッセージを受信するステップであり、第1のメッセージは、アクティブフロー数を搬送し、アクティブフロー数は、第1のネットワークデバイスから受信したデータパケットが属するデータフローに基づいて第2のネットワークデバイスにより決定された数である、ステップと、第1のネットワークデバイスにより、アクティブフロー数及び第2のネットワークデバイスの定格受信帯域幅に基づいて、データフローを第2のネットワークデバイスに送信するために使用されるパケット送信制御情報を決定するステップであり、パケット送信制御情報は、第1のネットワークデバイスがパケット送信制御情報に基づいてデータフローを第2のネットワークデバイスに送信するとき、第2のネットワークデバイスの実際の受信帯域幅が定格受信帯域幅に達することを示す、ステップと、第1のネットワークデバイスにより、パケット送信制御情報に基づいてデータフローを第2のネットワークデバイスに送信するステップとを含む。この出願は、輻輳をより良く制御でき、それにより、ネットワークパケットロスを低減する。

Description

[関連出願への相互参照]
この出願は、2018年9月25日に中国国家知識産権局に出願された「CONGESTION CONTROL METHOD AND NETWORK DEVICE」という名称の中国特許出願第201811119579.8号に対する優先権を主張し、その全内容を参照により援用する。
[技術分野]
この出願は、ネットワーク技術の分野に関し、より具体的には、輻輳制御方法及びネットワークデバイスに関する。
人工知能、エンタープライズストレージ等のような新しいアプリケーションの台頭で、低遅延特性についてのデータセンターネットワークの需要がますます緊急になっている。データセンターネットワークの低遅延特性を確保するために、データセンターネットワークの輻輳を制御することは非常に重要である。
従来の輻輳制御方法では、受信端がネットワークの輻輳情報を送信端にフィードバックし、送信端がネットワークの輻輳情報を習得した後に、輻輳情報に基づいてデータ送信レートを調整する。例えば、ネットワークが輻輳しているとき、送信端はデータパケットの送信レートを減少させ、ネットワークが輻輳していないとき、送信端はデータパケットの送信レートを徐々に増加させる。
上記の解決策では、送信端は、ネットワークの輻輳状態を習得した後に、データパケットの送信レートを徐々に調整する。レートの変化は比較的遅く、データパケットの送信プロセスにおいて特定の遅延が生成される可能性があり、その結果、輻輳制御効率は高くない。
この出願は、輻輳制御をより良く実行し、ネットワークパケットロスを低減するための輻輳制御方法及びネットワークデバイスを提供する。
第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)パケットにカプセル化される。
任意選択で、第1のメッセージは、確認応答(Acknowledgement, ACK)パケット内のoptionフィールドで搬送される。
パケット送信制御情報に基づいて第1のネットワークデバイスにより第2のネットワークデバイスに送信されるデータフローは、1つのデータフローでもよく(この場合、データフローは、第1のネットワークデバイスにより第2のネットワークデバイスに送信される全てのデータフローのうちいずれかの1つでもよい)、或いは、複数のデータフローでもよい(複数のデータフローは、第1のネットワークデバイスにより第2のネットワークデバイスに送信される全てのデータフローでもよい)ことが理解されるべきである。
パケット送信制御情報は、データフローを第2のネットワークデバイスに送信するように第1のネットワークデバイスを制御するために使用され、第1のネットワークデバイスがパケット送信制御情報に基づいてデータフローを第2のネットワークデバイスに送信するとき、第2のネットワークデバイスの実際の帯域幅は、第2のネットワークデバイスの定格受信帯域幅に達することができる。
第2のネットワークデバイスの定格受信帯域幅は固定帯域でもよい。第1のネットワークデバイスが構成されるとき、第2のネットワークデバイスの定格受信帯域幅のような情報は、第1のネットワークデバイスについて直接構成されてもよく、それにより、第1のネットワークデバイスは、構成情報から第2のネットワークデバイスの定格受信帯域幅を取得できる。
この出願では、パケット送信制御情報は、アクティブフロー数及び第2のネットワークデバイスの定格受信帯域幅に基づいて決定され、第1のネットワークデバイスから第2のネットワークデバイスに送信されるデータフローは、パケット送信制御情報に基づいて制御され、それにより、輻輳制御がより良好に実行でき、それにより、ネットワークパケットロスを低減する。
第1の態様を参照して、第1の態様のいくつかの実現方式では、第1のネットワークデバイスが、アクティブフロー数及び第2のネットワークデバイスの定格受信帯域幅に基づいて、データフローを第2のネットワークデバイスに送信するために使用されるパケット送信制御情報を決定することは、以下を含む。アクティブフロー数が第1の閾値未満であるとき、第1のネットワークデバイスは、以下の式
Figure 2021536196
に基づいて、データフローを第2のネットワークデバイスに送信するために使用されるパケット送信制御情報を決定し、
ここで、Cは第2のネットワークデバイスの定格受信帯域幅であり、active_qpはアクティブフロー数であり、Tはネットワークがアイドルであるときに第1のネットワークデバイスにより第2のネットワークデバイスに送信されたデータパケットが第2のネットワークデバイスに到着するのに必要な時間であり、VはT内に第1のネットワークデバイスにより第2のネットワークデバイスに送信されるデータフローのデータボリュームである。第1のネットワークデバイスが、パケット送信制御情報に基づいてデータフローを第2のネットワークデバイスに送信することは、以下を含む。第1のネットワークデバイスは、T内にデータフロー内のデータボリュームVを有するデータパケットを第2のネットワークデバイスに送信する。
データボリューム(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は異なる長さに設定されてもよい。例えば、データ送信ボリュームが比較的小さい(例えば、スマートメーターが電力消費情報を周期的に報告する)いくつかのシナリオでは、比較的小さい長さが1pktに設定されてもよく、データ送信ボリュームsが比較的大きいシナリオでは、比較的大きい長さが1pktに設定されてもよい。さらに、1pktは、ネットワークにより許容される最大送信単位(maximum transmission unit, MTU)として直接設定されてもよい。
第1の態様を参照して、第1の態様のいくつかの実現方式では、第1のネットワークデバイスが、アクティブフロー数及び第2のネットワークデバイスの定格受信帯域幅に基づいて、データフローを第2のネットワークデバイスに送信するために使用されるパケット送信制御情報を決定することは、以下を含む。アクティブフロー数が第1の閾値以上であるとき、第1のネットワークデバイスは、以下の式
Figure 2021536196
に基づいて、データフローを第2のネットワークデバイスに送信するために使用されるパケット送信制御情報を決定し、
ここで、1pktは単一のデータパケットの長さであり、active_qpはアクティブフロー数であり、Cは第2のネットワークデバイスの定格受信帯域幅であり、「interval」は第1のネットワークデバイスがデータフローを送信するときの隣接するデータパケットの間の時間間隔である。第1のネットワークデバイスが、パケット送信制御情報に基づいてデータフローを第2のネットワークデバイスに送信することは、以下を含む。第1のネットワークデバイスは、「interval」により示される時間間隔に基づいてデータフロー内のデータパケットを第2のネットワークデバイスに送信する。
単一のデータパケットの長さは、具体的には、単一のデータパケットのデータボリュームのサイズでもよく、例えば、単一のデータパケットのデータボリュームのサイズが3バイトである場合、単一のデータパケットの長さも3バイトである。
第1の態様を参照して、第1の態様のいくつかの実現方式では、第1のネットワークデバイスが、アクティブフロー数及び第2のネットワークデバイスの定格受信帯域幅に基づいて、データフローを第2のネットワークデバイスに送信するために使用されるパケット送信制御情報を決定することは、以下を含む。第1のネットワークデバイスは、アクティブフロー数、第2のネットワークデバイスの定格受信帯域幅及びデータフローの属性情報に基づいて、データフローを第2のネットワークデバイスに送信するために使用されるパケット送信制御情報を決定し、データフローの属性情報は、データフローのアプリケーション情報及びデータフローのデータボリューム情報のうち少なくとも1つを含み、データフローのアプリケーション情報は、データフローのデータパケットが属するサービスタイプを示すために使用され、データフローのデータボリューム情報は、第1のデータフローに属し且つ予め設定された時間内に第1のネットワークデバイスにより送信されるデータパケットのデータボリュームを示すために使用される。
この出願では、データフローのパケット送信制御情報が決定されるとき、パケット送信制御情報は、データフローの属性情報に基づいてデータフローについて適切に決定できる。
第1の態様を参照して、第1の態様のいくつかの実現方式では、第1のネットワークデバイスが、アクティブフロー数、第2のネットワークデバイスの定格受信帯域幅及びデータフローの属性情報に基づいて、データフローを第2のネットワークデバイスに送信するために使用されるパケット送信制御情報を決定することは、以下を含む。アクティブフロー数が第1の閾値未満であるとき、第1のネットワークデバイスは、以下の式
Figure 2021536196
に基づいて、データフローを第2のネットワークデバイスに送信するために使用されるパケット送信制御情報を決定し、
ここで、Cは第2のネットワークデバイスの定格受信帯域幅であり、active_qpはアクティブフロー数であり、Tはネットワークがアイドルであるときに第1のネットワークデバイスにより第2のネットワークデバイスに送信されたデータパケットが第2のネットワークデバイスに到着するのに必要な時間であり、wはデータフローの重みであり、wはデータフローの属性情報に基づいて決定され、VはT内に第1のネットワークデバイスにより第2のネットワークデバイスに送信されるデータフローのデータボリュームである。第1のネットワークデバイスが、パケット送信制御情報に基づいてデータフローを第2のネットワークデバイスに送信することは、以下を含む。第1のネットワークデバイスは、T内にデータフロー内のデータボリュームVを有するデータパケットを第2のネットワークデバイスに送信する。
この出願では、データフローのデータ送信ボリュームが決定されるとき、データ送信ボリュームは、データフローの属性情報に基づいてデータフローについて適切に決定できる。
第1の態様を参照して、第1の態様のいくつかの実現方式では、第1のネットワークデバイスが、アクティブフロー数、第2のネットワークデバイスの定格受信帯域幅及びデータフローの属性情報に基づいて、データフローを第2のネットワークデバイスに送信するために使用されるパケット送信制御情報を決定することは、以下を含む。アクティブフロー数が第1の閾値以上であるとき、第1のネットワークデバイスは、以下の式
Figure 2021536196
に基づいて、データフローを第2のネットワークデバイスに送信するために使用されるパケット送信制御情報を決定し、
ここで、1pktは単一のデータパケットの長さであり、active_qpはアクティブフロー数であり、wはデータフローの重みであり、wはデータフローの属性情報に基づいて決定され、Cは第2のネットワークデバイスの定格受信帯域幅であり、「interval」は第1のネットワークデバイスがデータフローを送信するときの隣接するデータパケットの間の時間間隔である。第1のネットワークデバイスが、パケット送信制御情報に基づいてデータフローを第2のネットワークデバイスに送信することは、以下を含む。第1のネットワークデバイスは、「interval」により示される時間間隔に基づいてデータフロー内のデータパケットを第2のネットワークデバイスに送信する。
この出願では、データフローのデータパケット送信時間間隔が決定されるとき、データパケット送信時間間隔は、データフローの属性情報に基づいてデータフローについて適切に決定できる。
第2の態様によれば、輻輳制御方法が提供され、当該方法はデータセンターネットワークに適用され、データセンターネットワークは、第1のネットワークデバイスと、第2のネットワークデバイスとを含み、第2のネットワークデバイスは、第1のネットワークデバイスにより送信されたデータフローを受信するように構成される。当該方法は以下を含む。第2のネットワークデバイスは、第1のネットワークデバイスから受信したデータパケットが属するデータフローに基づいて、アクティブフロー数を決定し、第2のネットワークデバイスは、第1のメッセージを第1のネットワークデバイスに送信し、第1のメッセージは、アクティブフロー数を搬送し、アクティブフロー数は、データフローを第2のネットワークデバイスに送信するために使用されるパケット送信制御情報を決定するために第1のネットワークにより使用され、パケット送信制御情報は、第1のネットワークデバイスがパケット送信制御情報に基づいてデータフローを第2のネットワークデバイスに送信するとき、第2のネットワークデバイスの実際の受信帯域幅が第2のネットワークデバイスの定格受信帯域幅に達することを示し、第2のネットワークデバイスは、定格受信帯域幅に基づいて、第1のネットワークデバイスにより送信されたデータフローを受信する。
この出願では、第2のネットワークデバイスは、アクティブフロー数を第1のネットワークデバイスに報告し、それにより、第1のネットワークデバイスは、アクティブフロー数及び第2のネットワークデバイスの定格受信帯域幅に基づいて、パケット送信制御情報を決定でき、パケット送信制御情報に基づいて、データフローを第2のネットワークデバイスに送信するように第1のネットワークデバイスを制御し、それにより、第2のネットワークデバイスは、定格受信帯域幅に基づいて、第1のネットワークデバイスにより送信されたデータフローを受信でき、第2のネットワークデバイスは、フルスループット状態に達することができ、それにより、データフローの送信効率を改善する。
第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のグループのデータパケット内の末尾のパケットを受信した後に第1のネットワークデバイスによりカウントされたアクティブフロー数は第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のグループのデータパケットは、同じデータフローに属し、第3のアクティブフロー数は、第1の輻輳値が輻輳閾値未満であるとき、第2のアクティブフロー数に等しく、第3のアクティブフロー数は、第1の輻輳値が輻輳閾値以上であるとき、第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は、この出願の実施形態の可能な適用シナリオの概略図である。
図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は、データフローの送信レートを徐々に減少させ、データフローが輻輳をもたらさないとき、送信端は、データパケットの送信レートを徐々に増加させることができる。従来の解決策では、送信端は、ネットワークの輻輳状態を習得した後に、データパケットの送信レートを徐々に調整し、したがって、レートは比較的遅く変化する。これは、ネットワークの輻輳状態が認識された後の受動的な調整であり、輻輳制御効果はあまり良くない。
したがって、この出願は、データフローの送信レートがアクティブフロー数及び受信端の定格受信帯域幅に基づいて能動的に調整される新たな輻輳制御方法を提供し、それにより、受信端の実際の受信帯域幅が定格受信帯域幅に達することができ、受信端がフルスループット状態に達することができ、それにより、データフローの送信効率を改善する。
図2は、この出願の実施形態による輻輳制御方法の概略フローチャートである。図2に示す方法は、データセンターネットワーク及びメトロポリタンエリアネットワークのようなネットワークに適用されてもよい。第1のネットワークデバイス及び第2のネットワークデバイスは、これらのネットワーク内のデバイスである。図2に示す方法は、ステップ101〜ステップ103を含む。これらのステップについて、以下に詳細に説明する。
101.第2のネットワークデバイスは、第1のメッセージを第1のネットワークデバイスに送信し、第1のネットワークデバイスは、第1のメッセージを受信する。
第1のメッセージは、アクティブフロー数を搬送し、アクティブフロー数は、第1のネットワークデバイスから受信したデータパケットが属するデータフローに基づいて第2のネットワークデバイスにより決定される。
「アクティブフロー」という用語は、データフローについての第2のネットワークデバイスの定義でもよいことが理解されるべきである。第2のネットワークデバイスにとって、アクティブフローは、データパケットが比較的頻繁に送信されるデータフローでもよく、非アクティブフローは、データパケットがより長い時間間隔で送信されるデータフローとして考えられてもよい(例えば、データフローは、長時間に1つのデータパケットを送信し、このようなデータフローは、非アクティブフローとして考えられてもよい)。したがって、第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のネットワークデバイスから送信された時間から(要求パケットは、第2のネットワークデバイスに対して、第1のデバイスにより送信されたデータフローを受信するように要求するために使用される)、第1のネットワークデバイスが要求パケットに特有であり且つ第2のネットワークデバイスにより送信された応答パケットを受信する時間までの期間である。
方法2:初期レートは、コンバージド・イーサネット・バージョン2上のリモートダイレクトメモリアクセス(remote direct memory access over converged ethernet version 2, RoCEv2)に基づいて定義されるフロー当たりの初期送信レートである。
具体的には、可能な実現方式では、初期レートは、第1のネットワークデバイスのラインカード又は送信ファブリックカードにより許容される最大送信レートでもよい。
さらに、各グループのデータパケット内の冒頭のパケット及び末尾のパケットを定義するための2つの方法が存在する。第1の方法は、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のネットワークデバイスの実際の受信帯域幅が定格受信帯域幅に達することを示す。すなわち、パケット送信制御情報は、データフローを第2のネットワークデバイスに送信するように第1のネットワークデバイスを制御するために使用され、第1のネットワークデバイスがパケット送信制御情報に基づいてデータフローを第2のネットワークデバイスに送信するとき、第2のネットワークデバイスの実際の帯域幅は、第2のネットワークデバイスの定格受信帯域幅に達することができる。
第2のネットワークデバイスの定格受信帯域幅は固定帯域でもよい。第1のネットワークデバイスが構成されるとき、第2のネットワークデバイスの定格受信帯域幅のような情報は、第1のネットワークデバイスについて直接構成されてもよく、それにより、第1のネットワークデバイスは、構成情報から第2のネットワークデバイスの定格受信帯域幅を取得できる。
103.第1のネットワークデバイスは、パケット送信制御情報に基づいてデータフローを第2のネットワークデバイスに送信し、第2のネットワークデバイスは、定格受信帯域幅に基づいてデータフローを受信する。
パケット送信制御情報に基づいて第1のネットワークデバイスにより第2のネットワークデバイスに送信されるデータフローは、1つのデータフローでもよく(この場合、データフローは、第1のネットワークデバイスにより第2のネットワークデバイスに送信される全てのデータフローのうちいずれかの1つでもよい)、或いは、複数のデータフローでもよい(複数のデータフローは、第1のネットワークデバイスにより第2のネットワークデバイスに送信される全てのデータフローでもよい)ことが理解されるべきである。
この出願では、パケット送信制御情報は、アクティブフロー数及び第2のネットワークデバイスの定格受信帯域幅に基づいて決定され、第1のネットワークデバイスから第2のネットワークデバイスに送信されるデータフローは、パケット送信制御情報に基づいて制御され、それにより、第2のネットワークデバイスは、フルスループット状態に達することができ、それにより、データフローの送信効率を改善する。
パケット送信制御情報がアクティブフロー数及び第2のネットワークデバイスの定格受信帯域幅に基づいて決定されるとき、パケット送信制御情報は、異なる方法を使用することによりアクティブフロー数に基づいて決定されてもよい。
例えば、アクティブフロー数が比較的小さいとき、ネットワークは、バーストデータに対して強い耐性を有する。この場合、或る期間内のデータフローの最大データ送信ボリュームのみが制御される必要がある。しかし、アクティブフロー数が比較的大きいとき、複数の同時フローがネットワークに対して大きい影響を有する。大量のバーストデータにより引き起こされるネットワーク輻輳を回避するために、ネットワークカード(ネットワークカードは受信端に位置し、データパケットの送信周期を割り当てることを担う)の割り当て周期が制御でき、周期当たり単一のパケットが送信される(すなわち、データパケットの間の送信間隔が厳密に制御され、各データパケットの送信が1つの周期として考えられることができる)。
任意選択で、アクティブフロー数が第1の閾値未満であるとき、第1のネットワークデバイスは、式(1)に基づいて、データフローを第2のネットワークデバイスに送信するために使用されるパケット送信制御情報を決定する。
Figure 2021536196
式(1)において、Cは第2のネットワークデバイスの定格受信帯域幅であり、active_qpはアクティブフロー数であり、Tは第1のネットワークデバイスにより送信されたデータフローのデータパケットが第2のネットワークデバイスに到着するのに必要な時間であり、VはT内に第1のネットワークデバイスにより第2のネットワークデバイスに送信されるデータフローのデータボリュームである。
パケット送信制御情報は、式(1)に基づいて決定され、パケット送信制御情報は、第1のネットワークデバイスに対して、T内にデータフロー内のデータボリュームVを有するデータパケットを第2のネットワークデバイスに送信するように命令するために具体的に使用される。この場合、パケット送信制御情報は、T内に送信されるデータフロー内のデータパケットのデータボリュームのみを示すが、T内にデータフロー内のデータパケットのデータボリュームがVに達する限り、データパケットの間の時間間隔は限定されないことが理解されるべきである。
パケット送信制御情報が式(1)に基づいて取得された後に、第1のネットワークデバイスが、パケット送信制御情報に基づいてデータフローを第2のネットワークデバイスに送信することは、以下を含む。第1のネットワークデバイスは、T内にデータフロー内のデータボリュームVを有するデータパケットを第2のネットワークデバイスに送信する。
データボリューム(data volume)は、データフロー内のデータパケットの長さでもよい。例えば、データフロー1は、データパケット1と、データパケット2と、データパケット3とを含み、各データパケットは4バイトの長さを有し、その場合、データフロー1は12バイトの長さを有する。
Tは予め設定されてもよい。具体的には、Tは、ネットワークがアイドルであるときにデータパケットが特定のレートで送信されるとき、データパケットが受信端に到着する時間でもよい。
代替として、Tは、具体的には、ラウンドトリップ時間(round-trip time, RTT)でもよい。RTTは、送信端がデータを送信する時間と、送信端が受信端から確認応答を受信する時間との間の合計遅延を示す(受信端は、データを受信した直後に確認応答を送信する)。RTTは、ネットワークデバイスが初期化されてネットワークがアイドルであるときに静的遅延を測定することにより取得されてもよい。
この出願では、アクティブフロー数が比較的小さいとき、ネットワークは、バーストデータに対して強い耐性を有し、それにより、或る期間内のデータフローの最大データ送信ボリュームのみが制御される必要があり、データフローの送信に対する制御が簡略化できる。
任意選択で、アクティブフロー数が第1の閾値以下であるとき、第1のネットワークデバイスは、式(2)に基づいて、データフローを第2のネットワークデバイスに送信するために使用されるパケット送信制御情報を決定する。
Figure 2021536196
式(2)において、1pktは単一のデータパケットの長さであり、active_qpはアクティブフロー数であり、Cは第2のネットワークデバイスの定格受信帯域幅であり、「interval」は第1のネットワークデバイスがデータフローを送信するときの隣接するデータパケットの間の時間間隔である。
パケット送信制御情報は、式(2)に基づいて決定され、パケット送信制御情報は、第1のネットワークデバイスが各データフローを送信するときのデータパケットの間の送信時間間隔が「interval」により示される値に達することを具体的に示す。
パケット送信制御情報が式(2)に基づいて取得された後に、第1のネットワークデバイスが、パケット送信制御情報に基づいてデータフローを第2のネットワークデバイスに送信することは、以下を含む。第1のネットワークデバイスは、「interval」により示される時間間隔に基づいてデータフロー内のデータパケットを第2のネットワークデバイスに送信する。
単一のデータパケットの長さは、具体的には、単一のデータパケットのデータボリュームのサイズでもよく、例えば、単一のデータパケットのデータボリュームのサイズが3バイトである場合、単一のデータパケットの長さも3バイトである。
式(2)の導出プロセスは以下の通りである。
帯域幅は全てのデータフローの間に均等に分割され、それにより、各データフローの送信レートは、
Figure 2021536196
である。送信端における各データフローの送信レートは、
Figure 2021536196
である。式(3)は、受信端がフルスループット状態に達することが可能になるように取得でき、式(2)は、式(3)を変換することにより取得できる。
Figure 2021536196
この出願では、アクティブフロー数が比較的大きいとき、複数の同時フローはネットワークに重い負荷を引き起こす。ネットワーク上の複数の同時フローの影響は、データパケットの間の送信時間間隔を適切に設定することにより回避でき、それにより、ネットワーク輻輳が回避できる。
アクティブフロー数及び第2のネットワークデバイスの定格受信帯域幅に基づいてパケット送信制御情報を決定する際に、式(1)又は式(2)に基づいて各データフローについてパケット送信制御情報を決定する(この場合、各データフローについてのパケット送信制御情報は、同じ方法を使用して決定される)ことに加えて、データフローについてのパケット送信制御情報は、データフローの具体的な状況(例えば、優先度)に基づいて決定されてもよく、この場合、異なるデータフローについて取得されたパケット送信制御情報は異なってもよい。データフローについてパケット送信制御情報を決定するための方法について、以下に詳細に説明する。
任意選択で、第1のネットワークデバイスが、アクティブフロー数及び第2のネットワークデバイスの定格受信帯域幅に基づいて、データフローを第2のネットワークデバイスに送信するために使用されるパケット送信制御情報を決定することは、以下を含む。第1のネットワークデバイスは、アクティブフロー数、第2のネットワークデバイスの定格受信帯域幅及びデータフローの属性情報に基づいて、データフローを第2のネットワークデバイスに送信するために使用されるパケット送信制御情報を決定する。
データフローの属性情報は、データフローのアプリケーション情報及びデータフローのデータボリューム情報のうち少なくとも1つを含み、データフローのアプリケーション情報は、データフローのデータパケットが属するサービスタイプを示すために使用され、データフローのデータボリューム情報は、第1のデータフローに属し且つ予め設定された時間内に第1のネットワークデバイスにより送信されるデータパケットのデータボリュームを示すために使用される。
データフローのアプリケーション情報は、具体的には、データフローのデータパケットが属するサービスタイプ(例えば、オーディオ又はビデオ)、サービスタイプに対応する優先度等を示してもよい。
この出願では、データフローのパケット送信制御情報が決定されるとき、パケット送信制御情報は、データフローの属性情報に基づいてデータフローについて適切に決定できる。
任意選択で、アクティブフロー数が第1の閾値未満であるとき、第1のネットワークデバイスは、式(4)に基づいて、データフローを第2のネットワークデバイスに送信するために使用されるパケット送信制御情報を決定する。
Figure 2021536196
式(4)において、Cは第2のネットワークデバイスの定格受信帯域幅であり、active_qpはアクティブフロー数であり、Tは第1のネットワークデバイスにより送信されたデータフローのデータパケットが第2のネットワークデバイスに到着するのに必要な時間であり、wはデータフローの重みであり、wはデータフローの属性情報に基づいて決定され、VはT内に第1のネットワークデバイスにより第2のネットワークデバイスに送信されるデータフローのデータボリュームである。
パケット送信制御情報が式(4)に基づいて取得された後に、第1のネットワークデバイスが、パケット送信制御情報に基づいてデータフローを第2のネットワークデバイスに送信することは、以下を含む。第1のネットワークデバイスは、T内にデータフロー内のデータボリュームVを有するデータパケットを第2のネットワークデバイスに送信する。
wは、データフローの属性情報内のデータフローのアプリケーション情報及び/又はデータフローのデータボリューム情報に基づいて決定されてもよいことが理解されるべきである。
任意選択で、式(4)において、wの値は、データフローのアプリケーション情報により示されるサービスタイプの重要度と正相関する。
具体的には、式(4)におけるデータフローのアプリケーション情報により示されるサービスタイプのより高い重要度は、wのより大きい値を示す。
任意選択で、式(4)において、wの値は、データフローのアプリケーション情報により示されるサービスの優先度と正相関する。例えば、データフローのアプリケーション情報により示されるサービスのより高い優先度は、wのより大きい値を示す。
任意選択で、式(4)において、wの値は、データフローのデータボリューム情報により示されるデータボリュームと逆相関する。具体的には、データフローのデータボリューム情報により示されるより大きいデータボリュームは、wのより小さい値を示す。
この出願では、データフローのデータ送信ボリュームが決定されるとき、データ送信ボリュームは、データフローの属性情報に基づいてデータフローについて適切に決定できる。
任意選択で、アクティブフロー数が第1の閾値以上であるとき、第1のネットワークデバイスは、式(5)に基づいて、データフローを第2のネットワークデバイスに送信するために使用されるパケット送信制御情報を決定する。
Figure 2021536196
式(5)において、1pktは単一のデータパケットの長さであり、active_qpはアクティブフロー数であり、wはデータフローの重みであり、wはデータフローの属性情報に基づいて決定され、Cは第2のネットワークデバイスの定格受信帯域幅であり、「interval」は第1のネットワークデバイスがデータフローを送信するときの隣接するデータパケットの間の時間間隔である。
パケット送信制御情報が式(5)に基づいて取得された後に、第1のネットワークデバイスが、パケット送信制御情報に基づいてデータフローを第2のネットワークデバイスに送信することは、以下を含む。第1のネットワークデバイスは、「interval」により示される時間間隔に基づいてデータフロー内のデータパケットを第2のネットワークデバイスに送信する。
任意選択で、式(5)において、wの値は、データフローのアプリケーション情報により示されるサービスタイプの重要度と逆相関する。
具体的には、式(5)において、データフローのアプリケーション情報により示されるサービスタイプのより高い重要度は、wのより小さい値を示す。
任意選択で、式(5)において、wの値は、データフローのアプリケーション情報により示されるサービスの優先度と逆相関する。
例えば、データフローのアプリケーション情報により示されるサービスのより高い優先度は、wのより小さい値を示す。
任意選択で、式(5)において、wの値は、データフローのデータボリューム情報により示されるデータボリュームと正相関する。具体的には、データフローのデータボリューム情報により示されるより大きいデータボリュームは、wのより大きい値を示す。
この出願では、データフローのデータパケット送信時間間隔が決定されるとき、データパケット送信時間間隔は、データフローの属性情報に基づいてデータフローについて適切に決定できる。
任意選択で、wがデータフローの属性情報内のデータフローのアプリケーション情報に基づいて決定されるとき、w=w1であり、w1の値は、データフローのアプリケーション情報により示されるサービスタイプの重要度と正相関する。例えば、データフローのアプリケーション情報により示されるサービスタイプのより高い重要度は、w1のより大きい値を示す。この場合、式(4)は式(6)に変換できる。この場合、データフローを第2のネットワークデバイスに送信するために使用されるパケット送信制御情報は、式(6)に基づいて直接決定されてもよい。
Figure 2021536196
式(6)において、w1は、データフローの属性情報内のデータフローのアプリケーション情報に基づいて決定され、他のパラメータは、式(4)のものと同じ意味を有する。
任意選択で、wがデータフローのデータボリューム情報に基づいて決定されるとき、w=w2であり、w2の値は、データフローのデータボリューム情報により示されるデータボリュームと逆相関する。例えば、データフローのデータボリューム情報により示されるより大きいデータボリュームは、w2のより小さい値を示す。この場合、式(4)は式(7)に変換できる。この場合、データフローを第2のネットワークデバイスに送信するために使用されるパケット送信制御情報は、式(7)に基づいて直接決定されてもよい。
Figure 2021536196
式(7)において、w2は、データフローのデータボリューム情報に基づいて決定され、他のパラメータは、式(4)のものと同じ意味を有する。
任意選択で、wがデータフローの属性情報内のデータフローのアプリケーション情報及びデータフローのデータボリューム情報に基づいて決定され得るとき、w=w1×w2であり、w1の値は、データフローのアプリケーション情報により示されるサービスタイプの重要度と正相関し、w2の値は、データフローのデータボリューム情報により示されるデータボリュームと逆相関する。この場合、式(4)は式(8)に変換できる。この場合、データフローを第2のネットワークデバイスに送信するために使用されるパケット送信制御情報は、式(8)に基づいて直接決定されてもよい。
Figure 2021536196
式(8)において、w1は、データフローの属性情報内のデータフローのアプリケーション情報に基づいて決定され、w2は、データフローのデータボリューム情報に基づいて決定され、他のパラメータは、式(3)のものと同じ意味を有する。
本発明の実施形態による輻輳制御方法について、図2を参照して送信端(第1のネットワークデバイス)の観点から上記に説明した。本発明の実施形態による輻輳制御方法について、図3を参照して受信端(第2のネットワークデバイス)の観点から以下に詳細に説明する。
図3は、この出願の実施形態による輻輳制御方法の概略フローチャートである。図3に示す方法はまた、データセンターネットワーク及びメトロポリタンエリアネットワークのようなネットワークに適用されてもよく、第1のネットワークデバイス及び第2のネットワークデバイスは、これらのネットワーク内のデバイスである。図3に示す方法は、ステップ201〜ステップ203を含む。これらのステップについて、以下に詳細に説明する。
201.第2のネットワークデバイスは、第1のネットワークデバイスから受信したデータパケットが属するデータフローに基づいて、アクティブフロー数を決定する。
202.第2のネットワークデバイスは、第1のメッセージを第1のネットワークデバイスに送信し、第1のメッセージは、アクティブフロー数を搬送する。
アクティブフロー数は、データフローを第2のネットワークデバイスに送信するために使用されるパケット送信制御情報を決定するために第1のネットワークにより使用され、パケット送信制御情報は、第1のネットワークデバイスがパケット送信制御情報に基づいてデータフローを第2のネットワークデバイスに送信するとき、第2のネットワークデバイスの実際の受信帯域幅が第2のネットワークデバイスの定格受信帯域幅に達することを示す。
203.第2のネットワークデバイスは、定格受信帯域幅に基づいて、第1のネットワークデバイスにより送信されたデータフローを受信する。
図2に示す方法におけるステップ101〜103は、図3に示す方法におけるステップ201〜203に対応し、ステップ101〜103の関連する定義及び説明はまた、ステップ201〜203に当てはまることが理解されるべきである。繰り返しを回避するために、詳細は、ここでは再び説明しない。
この出願では、第2のネットワークデバイスは、アクティブフロー数を第1のネットワークデバイスに報告し、それにより、第1のネットワークデバイスは、アクティブフロー数及び第2のネットワークデバイスの定格受信帯域幅に基づいて、パケット送信制御情報を決定でき、パケット送信制御情報に基づいて、データフローを第2のネットワークデバイスに送信するように第1のネットワークデバイスを制御し、それにより、第2のネットワークデバイスは、定格受信帯域幅に基づいて、第1のネットワークデバイスにより送信されたデータフローを受信でき、第2のネットワークデバイスは、フルスループット状態に達することができ、それにより、データフローの送信効率を改善する。
任意選択で、実施形態では、第2のネットワークデバイスが、第1のネットワークデバイスから受信したデータパケットが属するデータフローに基づいて、アクティブフロー数を決定することは、以下を含む。第2のネットワークデバイスは、第1のネットワークデバイスにより送信された第1のグループのデータパケット内の冒頭のパケットを受信し、第1のアクティブフロー数を取得するために、現在のアクティブフロー数を1だけ増加させ、第2のネットワークデバイスは、第1のネットワークデバイスにより送信された第1のグループのデータパケット内の末尾のパケットを受信し、第1のグループのデータパケット内の外部輻輳通知ECN識別子を搬送するデータパケットの数に基づいて第1の輻輳値を決定し、第1の輻輳値が輻輳閾値未満であるとき、第2のネットワークデバイスは、第2のアクティブフロー数を取得するために、第1のアクティブフロー数を1だけ減少させ、第1の輻輳値が輻輳閾値以上であるとき、第2のネットワークデバイスは、第1のアクティブフロー数を変更せずに保持する。
第1のネットワークデバイスから受信したデータパケットが属するデータフローに基づいて、第2のネットワークデバイスによりアクティブフロー数を決定することについて、図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のデータフローは、予め設定された時間内に第1のネットワークデバイスにより受信されたデータパケットの数が予め設定された数よりも大きいデータフローであることを更に含む。
第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は、1つのグループのデータパケットが受信されてアクティブフロー数が更新された後、且つ、他のグループのデータパケットが受信される前に生じてもよい。
402.第2のネットワークデバイスは、第1のネットワークデバイスにより送信された第1のグループのデータパケット内の冒頭のパケットを受信し、counter++を実行する。
counterは、第2のネットワークデバイスによりカウントされた現在のアクティブフロー数である。具体的には、counterは、第2のネットワークデバイスが第1のネットワークデバイスにより送信された第1のグループのデータパケット内の冒頭のパケットを受信したとき、第2のネットワークデバイスによりカウントされた現在のアクティブデータフローの数である。
ステップ402においてcounter++が実行された後に取得されたcounterは、第1のグループのデータパケット内の冒頭のパケットが受信されて現在のアクティブフロー数が更新された後のアクティブフロー数である。counter++が実行された後に取得されたcounterは、ステップ102において取得された第1のアクティブフロー数に対応する。
403.第2のネットワークデバイスは、第1のグループのデータパケット内の末尾のパケットを受信し、第1のグループのデータパケット内の外部輻輳通知ECN識別子を搬送するデータパケットの数に基づいて第1の輻輳値を決定する。
404.第1の輻輳値が輻輳閾値よりも大きいか否かを決定する。
第1の輻輳値が輻輳閾値以下であるとき、これは、ネットワークの輻輳度が比較的低いことを示す。この場合、現在のアクティブフロー数は1だけ減少する必要があり、すなわち、ステップ405が実行される。第1の輻輳値が輻輳閾値以上であるとき、これは、ネットワーク輻輳が深刻であることを示す。この場合、現在のアクティブフロー数は変更せずに保持される必要が有り、すなわち、ステップ406が実行される。
405.counter--を実行する。
ステップ405において、couner--を実行することにより取得されたcounterは、上記の第2のアクティブフロー数に対応する。
406.counterを変更せずに保持する。
ステップ406において、counterは、上記の第1のアクティブフロー数に対応する。
407.第2のネットワークデバイスは、第1のネットワークデバイスにより送信された第2のグループのデータパケット内の冒頭のパケットを受信し、counter++を実行する。
ステップ407においてcounter++が実行された後に取得されたcounterは、上記の第4のアクティブフロー数に対応する。
408.第2のネットワークデバイスは、第2のグループのデータパケット内の末尾のパケットを受信し、第1のグループのデータパケット内のECN識別子を搬送するデータパケットの数及び第2のグループのデータパケット内のECN識別子を搬送するデータパケットの数に基づいて第2の輻輳値を決定する。
409.第2の輻輳値が輻輳閾値よりも大きいか否かを決定する。
第2の輻輳値が輻輳閾値以下であるとき、これは、ネットワークの輻輳度が比較的低いことを示す。この場合、現在のアクティブフロー数が1だけ減少する必要があり、すなわち、ステップ210が実行される。第2の輻輳値が輻輳閾値以上であるとき、これは、ネットワーク輻輳が深刻であることを示す。この場合、現在のアクティブフロー数が変更せずに保持される必要があり、すなわち、ステップ411が実行される。
410.counter--を実行する。
ステップ410において、counter--を実行することにより取得されたcounterは、上記の第5のアクティブフロー数に対応する。
411.counterを変更せずに保持する。
ステップ406において、counterは、上記の第4のアクティブフロー数に対応する。
図5に示すプロセスのステップ401〜ステップ411において、counterは現在のアクティブフロー数を示し、現在のアクティブフロー数をリアルタイムにカウントするために、加算演算又は減算演算が異なる動作ステップを通じてcounterに対して実行される必要があるか、或いは、counterは変更せずに保持されることが理解されるべきである。
この出願の実施形態による輻輳制御方法について、図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のネットワークデバイスにより決定される、受信モジュール501と、
アクティブフロー数及び第2のネットワークデバイスの定格受信帯域幅に基づいて、データフローを第2のネットワークデバイスに送信するために使用されるパケット送信制御情報を決定するように構成された処理モジュール502であり、パケット送信制御情報は、第1のネットワークデバイスがパケット送信制御情報に基づいてデータフローを第2のネットワークデバイスに送信するとき、第2のネットワークデバイスの実際の受信帯域幅が定格受信帯域幅に達することを示す、処理モジュール502と、
パケット送信制御情報に基づいてデータフローを第2のネットワークデバイスに送信するように構成された送信モジュール503と
を含む。
任意選択で、実施形態では、処理モジュール502は、アクティブフロー数が第1の閾値未満であるとき、以下の式
Figure 2021536196
に基づいて、データフローを第2のネットワークデバイスに送信するために使用されるパケット送信制御情報を決定するように構成され、
Cは第2のネットワークデバイスの定格受信帯域幅であり、active_qpはアクティブフロー数であり、Tは第1のネットワークデバイスにより送信されたデータフローのデータパケットが第2のネットワークデバイスに到着するのに必要な時間であり、VはT内に第1のネットワークデバイスにより第2のネットワークデバイスに送信されるデータフローのデータボリュームである。
送信モジュール503は、T内にデータフロー内のデータボリュームVを有するデータパケットを第2のネットワークデバイスに送信するように構成される。
任意選択で、実施形態では、処理モジュール502は、アクティブフロー数が第1の閾値以上であるとき、以下の式
Figure 2021536196
に基づいて、データフローを第2のネットワークデバイスに送信するために使用されるパケット送信制御情報を決定するように構成され、
1pktは単一のデータパケットの長さであり、active_qpはアクティブフローであり、Cは第2のネットワークデバイスの定格受信帯域幅であり、「interval」は第1のネットワークデバイスがデータフローを送信するときの隣接するデータパケットの間の時間間隔である。
送信モジュール503は、「interval」により示される時間間隔に基づいてデータフロー内のデータパケットを第2のネットワークデバイスに送信するように構成される。
任意選択で、実施形態では、処理モジュール502は、アクティブフロー数、第2のネットワークデバイスの定格受信帯域幅及びデータフローの属性情報に基づいて、データフローを第2のネットワークデバイスに送信するために使用されるパケット送信制御情報を決定するように構成され、データフローの属性情報は、データフローのアプリケーション情報及びデータフローのデータボリューム情報のうち少なくとも1つを含み、データフローのアプリケーション情報は、データフローのデータパケットが属するサービスタイプを示すために使用され、データフローのデータボリューム情報は、第1のデータフローに属し且つ予め設定された時間内に第1のネットワークデバイスにより送信されるデータパケットのデータボリュームを示すために使用される。
任意選択で、実施形態では、処理モジュール502は、アクティブフロー数が第1の閾値未満であるとき、以下の式
Figure 2021536196
に基づいて、データフローを第2のネットワークデバイスに送信するために使用されるパケット送信制御情報を決定するように構成され、
Cは第2のネットワークデバイスの定格受信帯域幅であり、active_qpはアクティブフロー数であり、Tは第1のネットワークデバイスにより送信されたデータパケットが第2のネットワークデバイスに到着するのに必要な時間であり、wはデータフローの重みであり、wはデータフローの属性情報に基づいて決定され、VはT内に第1のネットワークデバイスにより第2のネットワークデバイスに送信されるデータフローのデータボリュームである。
送信モジュール503は、T内にデータフロー内のデータボリュームVを有するデータパケットを第2のネットワークデバイスに送信するように構成される。
任意選択で、実施形態では、処理モジュール502は、アクティブフロー数が第1の閾値以上であるとき、以下の式
Figure 2021536196
に基づいて、データフローを第2のネットワークデバイスに送信するために使用されるパケット送信制御情報を決定するように構成され、
1pktは単一のデータパケットの長さであり、active_qpはアクティブフロー数であり、wはデータフローの重みであり、wはデータフローの属性情報に基づいて決定され、Cは第2のネットワークデバイスの定格受信帯域幅であり、「interval」は第1のネットワークデバイスがデータフローを送信するときの隣接するデータパケットの間の時間間隔である。
送信モジュール503は、「interval」により示される時間間隔に基づいてデータフロー内のデータパケットを第2のネットワークデバイスに送信するように構成される。
図7は、この出願の実施形態によるネットワークデバイスの概略ブロック図である。図7のネットワークデバイス600は、
第1のネットワークデバイスから受信したデータパケットが属するデータフローに基づいて、アクティブフロー数を決定するように構成された処理モジュール601と、
第1のメッセージを第1のネットワークデバイスに送信するように構成された送信モジュール602であり、第1のメッセージは、アクティブフロー数を搬送し、アクティブフロー数は、データフローを第2のネットワークデバイスに送信するために使用されるパケット送信制御情報を決定するために第1のネットワークにより使用され、パケット送信制御情報は、第1のネットワークデバイスがパケット送信制御情報に基づいてデータフローを第2のネットワークデバイスに送信するとき、第2のネットワークデバイスの実際の受信帯域幅が第2のネットワークデバイスの定格受信帯域幅に達することを示す、送信モジュール602と、
定格受信帯域幅に基づいて、第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)、フィールドプログラマブルゲートアレイ(field programmable gate array, FPGA)若しくは他のプログラム可能論理デバイス、トランジスタ論理デバイス、ハードウェアコンポーネント又はこれらのいずれかの組み合わせでもよい。メモリ701は、プログラムを記憶するように構成され、プロセッサ703は、メモリ701に記憶されたプログラムを実行してもよい。メモリ701に記憶されたプログラムがプロセッサ703により実行されたとき、プロセッサ703は、この出願の実施形態による輻輳制御方法を実行するように構成される。具体的には、トランシーバ702及びプロセッサ703は、第1のネットワークデバイス又は第2のネットワークデバイスにより実行される上記のステップを実行するように構成されてもよい。
当業者は、この明細書に開示された実施形態に記載の例と組み合わせて、ユニット及びアルゴリズムステップが電子ハードウェア又はコンピュータソフトウェアと電子ハードウェアとの組み合わせにより実現されてもよいことを認識し得る。機能がハードウェアにより実行されるかソフトウェアにより実行されるかは、技術的解決策の特定の用途及び設計制約条件に依存する。当業者は、特定の用途毎に、記載の機能を実現するために異なる方法を使用し得るが、実現方式がこの出願の範囲を超えるものと考えられるべきでない。
便宜上で簡単な説明の目的で、上記のシステム、装置及びユニットの詳細な動作プロセスについては、上記の方法の実施形態における対応するプロセスを参照し、詳細は、ここでは再び説明しないことが、当業者により明確に理解され得る。
この出願において提供されるいくつかの実施形態では、開示のシステム、装置及び方法は、他の方式で実現されてもよいことが理解されるべきである。例えば、記載の装置の実施形態は、単なる例である。例えば、ユニット分割は、単なる論理的な機能分割であり、実際の実現方式では他の分割でもよい。例えば、複数のユニット又はコンポーネントは結合されてもよく或いは他のシステムに統合されてもよく、或いは、いくつかの特徴は無視されてもよく或いは実行されなくてもよい。更に、表示又は議論された相互結合又は直接結合又は通信接続は、いくつかのインタフェースを使用することにより実現されてもよい。装置又はユニットの間の間接結合又は通信接続は、電子的、機械的或いは他の形式で実現されてもよい。
別個の部分として記載されたユニットは、物理的に分離されてもよく或いは分離されなくてもよく、ユニットとして表示された部分は物理的なユニットでもよく或いは物理的なユニットでなくてもよく、1つの位置に配置されてもよく、或いは、複数のネットワークユニットに分散されてもよい。ユニットの一部又は全部は、実施形態の解決策の目的を達成するために、実際の要件に基づいて選択されてもよい。
さらに、この出願の実施形態における機能ユニットは、1つの処理ユニットに統合されてもよく、或いは、ユニットのそれぞれが物理的に単独で存在してもよく、或いは、2つ以上のユニットが1つのユニットに統合される。
機能がソフトウェア機能単位の形式で実現され、独立した製品として販売又は使用されるとき、機能は、コンピュータ読み取り可能記憶媒体に記憶されてもよい。このような理解に基づいて、この出願の技術的解決策は本質的に、或いは、従来技術に寄与する部分又は技術的解決策のいくつかは、ソフトウェア製品の形式で実現されてもよい。ソフトウェア製品は、記憶媒体に記憶され、コンピュータデバイス(パーソナルコンピュータ、サーバ又はネットワークデバイスでもよい)に対して、この出願の実施形態に記載の方法のステップの全部又は一部を実行するように命令するためのいくつかの命令を含む。上記の記憶媒体は、USBフラッシュドライブ、取り外し可能ハードディスク、読み取り専用メモリ(read-only memory, ROM)、ランダムアクセスメモリ(random access memory, RAM)、磁気ディスク又は光ディスクのようなプログラムコードを記憶できるいずれかの媒体を含む。
上記の説明は、この出願の単なる具体的な実現方式であり、この出願の保護範囲を限定することを意図するものではない。この出願に開示された技術的範囲内で、当業者により容易に理解される如何なる変更又は代替も、この出願の保護範囲に入るものとする。したがって、この出願の保護範囲は、特許請求の範囲の保護範囲に従うものとする。
第1の態様を参照して、第1の態様のいくつかの実現方式では、第1のネットワークデバイスが、アクティブフロー数及び第2のネットワークデバイスの定格受信帯域幅に基づいて、データフローを第2のネットワークデバイスに送信するために使用されるパケット送信制御情報を決定することは、以下を含む。第1のネットワークデバイスは、アクティブフロー数、第2のネットワークデバイスの定格受信帯域幅及びデータフローの属性情報に基づいて、データフローを第2のネットワークデバイスに送信するために使用されるパケット送信制御情報を決定し、データフローの属性情報は、データフローのアプリケーション情報及びデータフローのデータボリューム情報のうち少なくとも1つを含み、データフローのアプリケーション情報は、データフローのデータパケットが属するサービスタイプを示すために使用され、データフローのデータボリューム情報は、データフローに属し且つ予め設定された時間内に第1のネットワークデバイスにより送信されるデータパケットのデータボリュームを示すために使用される。
第2の態様によれば、輻輳制御方法が提供され、当該方法はデータセンターネットワークに適用され、データセンターネットワークは、第1のネットワークデバイスと、第2のネットワークデバイスとを含み、第2のネットワークデバイスは、第1のネットワークデバイスにより送信されたデータフローを受信するように構成される。当該方法は以下を含む。第2のネットワークデバイスは、第1のネットワークデバイスから受信したデータパケットが属するデータフローに基づいて、アクティブフロー数を決定し、第2のネットワークデバイスは、第1のメッセージを第1のネットワークデバイスに送信し、第1のメッセージは、アクティブフロー数を搬送し、アクティブフロー数は、データフローを第2のネットワークデバイスに送信するために使用されるパケット送信制御情報を決定するために第1のネットワークデバイスにより使用され、パケット送信制御情報は、第1のネットワークデバイスがパケット送信制御情報に基づいてデータフローを第2のネットワークデバイスに送信するとき、第2のネットワークデバイスの実際の受信帯域幅が第2のネットワークデバイスの定格受信帯域幅に達することを示し、第2のネットワークデバイスは、定格受信帯域幅に基づいて、第1のネットワークデバイスにより送信されたデータフローを受信する。
任意選択で、第1の輻輳値は、第2のネットワークデバイスが第1のネットワークデバイスにより送信されたデータパケットを受信したときの第1のネットワークデバイスの輻輳度を示すために使用される。
より大きい第1の輻輳値は、第1のネットワークデバイスのより高い輻輳度を示すことが理解されるべきである。
第1のグループのデータパケット内の末尾のパケットを受信した後に、第2のネットワークデバイスは、第1のグループのデータパケット内のECN識別子を搬送するデータパケットの数に基づいて、第1のアクティブフロー数を再び更新する必要がある。第1の輻輳値が輻輳閾値未満である場合、第1のグループのデータパケット内の末尾のパケットを受信した後に第2のネットワークデバイスによりカウントされたアクティブフロー数は第2のアクティブフロー数であり、第1の輻輳値が輻輳閾値以上である場合、第1のグループのデータパケット内の末尾のパケットを受信した後に第1のネットワークデバイスによりカウントされたアクティブフロー数は第1のアクティブフロー数である。すなわち、第1のグループのデータパケット内の末尾のパケットが受信された後に、カウントされたアクティブフロー数は、第1のアクティブフロー数(第1の輻輳値が輻輳閾値以上であるとき)又は第2のアクティブフロー数(第1の輻輳値が輻輳閾値未満であるとき)である。
例えば、第1のグループのデータパケットは、合計で10個のデータパケット(冒頭のパケット及び末尾のパケットを含む)を含み、合計で5つのデータパケットがECN識別子を搬送し、その場合、計算を通じて、第1の輻輳が0.5であると決定されてもよい。
さらに、第1のグループのデータパケット内のデータパケットの総数に対する第1のグループのデータパケット内のECN識別子を搬送するデータパケットの総数の比が、代替として最初に取得されてもよく、次いで、比と補正係数との積が、第1の輻輳として使用される。補正係数は、ネットワークの動作状態に基づいて設定された係数でもよい。
方法1:第1のネットワークデバイスは、第2のネットワークデバイスの定格受信帯域を初期レートとして決定し、T内に定格受信帯域に基づいてデータフローを第2のネットワークデバイスに送信する。
Tは、要求パケットが第1のネットワークデバイスから送信された時間から(要求パケットは、第2のネットワークデバイスに対して、第1のネットワークデバイスにより送信されたデータフローを受信するように要求するために使用される)、第1のネットワークデバイスが要求パケットに特有であり且つ第2のネットワークデバイスにより送信された応答パケットを受信する時間までの期間である。
アプリケーション層における論理グループに基づいて、データパケット内の冒頭のパケット及び末尾のパケットを定義することに加えて、データパケットの冒頭のパケット及び末尾のパケットはまた、セグメント(segment)に基づいて直接定義できる。具体的には、初期レート又はアクティブフロー数に基づいてフィードバックされる或る期間内のデータパケットはグループにグループ化でき、セグメント内の最初のパケットは、冒頭のパケットと呼ばれ、セグメント内の最後のパケットは、末尾のパケットと呼ばれる。2つのフィールドがBTHの予備フィールド(rsvd7フィールド等)において定義されてもよく、各フィールドのフラグは1ビットを占有してもよい。
データフローの属性情報は、データフローのアプリケーション情報及びデータフローのデータボリューム情報のうち少なくとも1つを含み、データフローのアプリケーション情報は、データフローのデータパケットが属するサービスタイプを示すために使用され、データフローのデータボリューム情報は、データフローに属し且つ予め設定された時間内に第1のネットワークデバイスにより送信されるデータパケットのデータボリュームを示すために使用される。
アクティブフロー数は、データフローを第2のネットワークデバイスに送信するために使用されるパケット送信制御情報を決定するために第1のネットワークデバイスにより使用され、パケット送信制御情報は、第1のネットワークデバイスがパケット送信制御情報に基づいてデータフローを第2のネットワークデバイスに送信するとき、第2のネットワークデバイスの実際の受信帯域幅が第2のネットワークデバイスの定格受信帯域幅に達することを示す。
データパケットはセグメントに基づいてグループ化されてもよい。具体的には、初期レート又はアクティブフロー数に基づいてフィードバックされる或る期間内の対応するデータパケットはグループにグループ化されてもよく、セグメント内の最初のパケットは、冒頭のパケットと呼ばれ、セグメント内の最後のパケットは、末尾のパケットと呼ばれる。2つのフィールドがBTHの予備フィールド(rsvd7フィールド等)において定義されてもよく、各フィールドのフラグは1ビットを占有してもよい。
任意選択で、ステップ304において、第1のアクティブフロー数は、第1のグループのデータパケット内のECN識別子を搬送するデータパケットの数に基づいて再び更新される必要がある。第1の輻輳値が輻輳閾値未満である場合、第1のグループのデータパケット内の末尾のパケットを受信した後に第2のネットワークデバイスによりカウントされたアクティブフロー数は第2のアクティブフロー数であり、第1の輻輳値が輻輳閾値以上である場合、第1のグループのデータパケット内の末尾のパケットを受信した後に第2のネットワークデバイスによりカウントされたアクティブフロー数は第1のアクティブフロー数である。すなわち、第1のグループのデータパケット内の末尾のパケットが受信された後に、カウントされたアクティブフロー数は、第1のアクティブフロー数(第1の輻輳値が輻輳閾値以上であるとき)又は第2のアクティブフロー数(第1の輻輳値が輻輳閾値未満であるとき)である。
任意選択で、ステップ302の前に、図4に示すプロセスは、第1のグループのデータパケットを含むデータフローが第1のデータフローであると決定し、第1のデータフローは、予め設定された時間内に第2のネットワークデバイスにより受信されたデータパケットの数が予め設定された数よりも大きいデータフローであることを更に含む。
第2の輻輳値が輻輳閾値以下であるとき、これは、ネットワークの輻輳度が比較的低いことを示す。この場合、現在のアクティブフロー数が1だけ減少する必要があり、すなわち、ステップ410が実行される。第2の輻輳値が輻輳閾値以上であるとき、これは、ネットワーク輻輳が深刻であることを示す。この場合、現在のアクティブフロー数が変更せずに保持される必要があり、すなわち、ステップ411が実行される。
ステップ411において、counterは、上記の第4のアクティブフロー数に対応する。
任意選択で、実施形態では、処理モジュール502は、アクティブフロー数、第2のネットワークデバイスの定格受信帯域幅及びデータフローの属性情報に基づいて、データフローを第2のネットワークデバイスに送信するために使用されるパケット送信制御情報を決定するように構成され、データフローの属性情報は、データフローのアプリケーション情報及びデータフローのデータボリューム情報のうち少なくとも1つを含み、データフローのアプリケーション情報は、データフローのデータパケットが属するサービスタイプを示すために使用され、データフローのデータボリューム情報は、データフローに属し且つ予め設定された時間内に第1のネットワークデバイスにより送信されるデータパケットのデータボリュームを示すために使用される。
図7は、この出願の実施形態によるネットワークデバイスの概略ブロック図である。図7のネットワークデバイス600は、
第1のネットワークデバイスから受信したデータパケットが属するデータフローに基づいて、アクティブフロー数を決定するように構成された処理モジュール601と、
第1のメッセージを第1のネットワークデバイスに送信するように構成された送信モジュール602であり、第1のメッセージは、アクティブフロー数を搬送し、アクティブフロー数は、データフローを第2のネットワークデバイスに送信するために使用されるパケット送信制御情報を決定するために第1のネットワークデバイスにより使用され、パケット送信制御情報は、第1のネットワークデバイスがパケット送信制御情報に基づいてデータフローを第2のネットワークデバイスに送信するとき、第2のネットワークデバイスの実際の受信帯域幅が第2のネットワークデバイスの定格受信帯域幅に達することを示す、送信モジュール602と、
定格受信帯域幅に基づいて、第1のネットワークデバイスにより送信されたデータフローを受信するように構成された受信モジュール603と
を含む。

Claims (24)

  1. 輻輳制御方法であり、当該方法はデータセンターネットワークに適用され、前記データセンターネットワークは、第1のネットワークデバイスと、第2のネットワークデバイスとを含み、前記第1のネットワークデバイスは、データフローを前記第2のネットワークデバイスに送信するように構成される、方法であって、
    前記第1のネットワークデバイスにより、前記第2のネットワークデバイスにより送信された第1のメッセージを受信するステップであり、前記第1のメッセージは、アクティブフロー数を搬送し、前記アクティブフロー数は、前記第1のネットワークデバイスから受信したデータパケットが属するデータフローに基づいて前記第2のネットワークデバイスにより決定された数である、ステップと、
    前記第1のネットワークデバイスにより、前記アクティブフロー数及び前記第2のネットワークデバイスの定格受信帯域幅に基づいて、前記データフローを前記第2のネットワークデバイスに送信するために使用されるパケット送信制御情報を決定するステップであり、前記パケット送信制御情報は、前記第1のネットワークデバイスが前記パケット送信制御情報に基づいて前記データフローを前記第2のネットワークデバイスに送信するとき、前記第2のネットワークデバイスの実際の受信帯域幅が前記定格受信帯域幅に達することを示す、ステップと、
    前記第1のネットワークデバイスにより、前記パケット送信制御情報に基づいて前記データフローを前記第2のネットワークデバイスに送信するステップと
    を含む方法。
  2. 前記第1のネットワークデバイスにより、前記アクティブフロー数及び前記第2のネットワークデバイスの定格受信帯域幅に基づいて、前記データフローを前記第2のネットワークデバイスに送信するために使用されるパケット送信制御情報を決定するステップは、
    前記アクティブフロー数が第1の閾値未満であるとき、前記第1のネットワークデバイスにより、以下の式
    Figure 2021536196
    に基づいて、前記データフローを前記第2のネットワークデバイスに送信するために使用される前記パケット送信制御情報を決定するステップであり、
    Cは前記第2のネットワークデバイスの前記定格受信帯域幅であり、active_qpは前記アクティブフロー数であり、Tは前記ネットワークがアイドルであるときに前記第1のネットワークデバイスにより前記第2のネットワークデバイスに送信されたデータパケットが前記第2のネットワークデバイスに到着するのに必要な時間であり、VはT内に前記第1のネットワークデバイスにより前記第2のネットワークデバイスに送信される前記データフローのデータボリュームである、ステップを含み、
    前記第1のネットワークデバイスにより、前記パケット送信制御情報に基づいて前記データフローを前記第2のネットワークデバイスに送信するステップは、
    前記第1のネットワークデバイスにより、T内に前記データフロー内のデータボリュームVを有するデータパケットを前記第2のネットワークデバイスに送信するステップを含む、請求項1に記載の方法。
  3. 前記第1のネットワークデバイスにより、前記アクティブフロー数及び前記第2のネットワークデバイスの定格受信帯域幅に基づいて、前記データフローを前記第2のネットワークデバイスに送信するために使用されるパケット送信制御情報を決定するステップは、
    前記アクティブフロー数が前記第1の閾値以上であるとき、前記第1のネットワークデバイスにより、以下の式
    Figure 2021536196
    に基づいて、前記データフローを前記第2のネットワークデバイスに送信するために使用される前記パケット送信制御情報を決定するステップであり、
    1pktは単一のデータパケットの長さであり、active_qpは前記アクティブフロー数であり、Cは前記第2のネットワークデバイスの前記定格受信帯域幅であり、「interval」は前記第1のネットワークデバイスが前記データフローを送信するときの隣接するデータパケットの間の時間間隔である、ステップを含み、
    前記第1のネットワークデバイスにより、前記パケット送信制御情報に基づいて前記データフローを前記第2のネットワークデバイスに送信するステップは、
    前記第1のネットワークデバイスにより、「interval」により示される前記時間間隔に基づいて前記データフロー内の前記データパケットを前記第2のネットワークデバイスに送信するステップを含む、請求項1又は2に記載の方法。
  4. 前記第1のネットワークデバイスにより、前記アクティブフロー数及び前記第2のネットワークデバイスの定格受信帯域幅に基づいて、前記データフローを前記第2のネットワークデバイスに送信するために使用されるパケット送信制御情報を決定するステップは、
    前記第1のネットワークデバイスにより、前記アクティブフロー数、前記第2のネットワークデバイスの前記定格受信帯域幅及び前記データフローの属性情報に基づいて、前記データフローを前記第2のネットワークデバイスに送信するために使用される前記パケット送信制御情報を決定するステップを含み、
    前記データフローの前記属性情報は、前記データフローのアプリケーション情報及び前記データフローのデータボリューム情報のうち少なくとも1つを含み、前記データフローの前記アプリケーション情報は、前記データフローのデータパケットが属するサービスタイプを示すために使用され、前記データフローの前記データボリューム情報は、第1のデータフローに属し且つ予め設定された時間内に前記第1のネットワークデバイスにより送信されるデータパケットのデータボリュームを示すために使用される、請求項1に記載の方法。
  5. 前記第1のネットワークデバイスにより、前記アクティブフロー数、前記第2のネットワークデバイスの前記定格受信帯域幅及び前記データフローの属性情報に基づいて、前記データフローを前記第2のネットワークデバイスに送信するために使用される前記パケット送信制御情報を決定するステップは、
    前記アクティブフロー数が第1の閾値未満であるとき、前記第1のネットワークデバイスにより、以下の式
    Figure 2021536196
    に基づいて、前記データフローを前記第2のネットワークデバイスに送信するために使用される前記パケット送信制御情報を決定するステップであり、
    Cは前記第2のネットワークデバイスの前記定格受信帯域幅であり、active_qpは前記アクティブフロー数であり、Tは前記ネットワークがアイドルであるときに前記第1のネットワークデバイスにより前記第2のネットワークデバイスに送信されたデータパケットが前記第2のネットワークデバイスに到着するのに必要な時間であり、wは前記データフローの重みであり、wは前記データフローの前記属性情報に基づいて決定され、VはT内に前記第1のネットワークデバイスにより前記第2のネットワークデバイスに送信される前記データフローのデータボリュームである、ステップを含み、
    前記第1のネットワークデバイスにより、前記パケット送信制御情報に基づいて前記データフローを前記第2のネットワークデバイスに送信するステップは、
    前記第1のネットワークデバイスにより、T内に前記データフロー内のデータボリュームVを有するデータパケットを前記第2のネットワークデバイスに送信するステップを含む、請求項4に記載の方法。
  6. 前記第1のネットワークデバイスにより、前記アクティブフロー数、前記第2のネットワークデバイスの前記定格受信帯域幅及び前記データフローの属性情報に基づいて、前記データフローを前記第2のネットワークデバイスに送信するために使用される前記パケット送信制御情報を決定するステップは、
    前記アクティブフロー数が前記第1の閾値以上であるとき、前記第1のネットワークデバイスにより、以下の式
    Figure 2021536196
    に基づいて、前記データフローを前記第2のネットワークデバイスに送信するために使用される前記パケット送信制御情報を決定するステップであり、
    1pktは単一のデータパケットの長さであり、active_qpは前記アクティブフロー数であり、wは前記データフローの前記重みであり、wは前記データフローの前記属性情報に基づいて決定され、Cは前記第2のネットワークデバイスの前記定格受信帯域幅であり、「interval」は前記第1のネットワークデバイスが前記データフローを送信するときの隣接するデータパケットの間の時間間隔である、ステップを含み、
    前記第1のネットワークデバイスにより、前記パケット送信制御情報に基づいて前記データフローを前記第2のネットワークデバイスに送信するステップは、
    前記第1のネットワークデバイスにより、「interval」により示される前記時間間隔に基づいて前記データフロー内の前記データパケットを前記第2のネットワークデバイスに送信するステップを含む、請求項4又は5に記載の方法。
  7. 輻輳制御方法であり、当該方法はデータセンターネットワークに適用され、前記データセンターネットワークは、第1のネットワークデバイスと、第2のネットワークデバイスとを含み、前記第2のネットワークデバイスは、前記第1のネットワークデバイスにより送信されたデータフローを受信するように構成される、方法であって、
    前記第2のネットワークデバイスにより、前記第1のネットワークデバイスから受信したデータパケットが属するデータフローに基づいて、アクティブフロー数を決定するステップと、
    前記第2のネットワークデバイスにより、第1のメッセージを前記第1のネットワークデバイスに送信するステップであり、前記第1のメッセージは、前記アクティブフロー数を搬送し、前記アクティブフロー数は、前記データフローを前記第2のネットワークデバイスに送信するために使用されるパケット送信制御情報を決定するために前記第1のネットワークにより使用され、前記パケット送信制御情報は、前記第1のネットワークデバイスが前記パケット送信制御情報に基づいて前記データフローを前記第2のネットワークデバイスに送信するとき、前記第2のネットワークデバイスの実際の受信帯域幅が前記第2のネットワークデバイスの定格受信帯域幅に達することを示す、ステップと、
    前記第2のネットワークデバイスにより、前記定格受信帯域幅に基づいて、前記第1のネットワークデバイスにより送信された前記データフローを受信するステップと
    を含む方法。
  8. 前記第2のネットワークデバイスにより、前記第1のネットワークデバイスから受信したデータパケットが属するデータフローに基づいて、アクティブフロー数を決定するステップは、
    前記第2のネットワークデバイスにより、前記第1のネットワークデバイスにより送信された第1のグループのデータパケット内の前記冒頭のパケットを受信し、第1のアクティブフロー数を取得するために、現在のアクティブフロー数を1だけ増加させるステップと、
    前記第2のネットワークデバイスにより、前記第1のネットワークデバイスにより送信された前記第1のグループのデータパケット内の前記末尾のパケットを受信し、前記第1のグループのデータパケット内の外部輻輳通知ECN識別子を搬送するデータパケットの数に基づいて第1の輻輳値を決定するステップと、
    前記第1の輻輳値が輻輳閾値未満であるとき、前記第2のネットワークデバイスにより、第2のアクティブフロー数を取得するために、前記第1のアクティブフロー数を1だけ減少させるステップ、又は
    前記第1の輻輳値が輻輳閾値以上であるとき、前記第2のネットワークデバイスにより、前記第1のアクティブフロー数を変更せずに保持するステップと
    を含む、請求項7に記載の方法。
  9. 前記第1のグループのデータパケット内のECN識別子を搬送するデータパケットの数に基づいて第1の輻輳値を決定するステップは、
    前記第1のグループのデータパケット内のデータパケットの数に対する前記第1のグループのデータパケット内の前記ECN識別子を搬送するデータパケットの前記数の比を、前記第1の輻輳値として決定するステップを含む、請求項8に記載の方法。
  10. 前記第2のネットワークデバイスにより、前記第1のネットワークデバイスにより送信された前記第1のグループのデータパケット内の前記末尾のパケットを受信した後に、当該方法は、
    前記第2のネットワークデバイスにより、前記第1のネットワークデバイスにより送信された第2のグループのデータパケット内の前記冒頭のパケットを受信し、第4のアクティブフロー数を取得するために、第3のアクティブフロー数を1だけ増加させるステップであり、前記第2のグループのデータパケット及び前記第1のグループのデータパケットは、同じデータフローに属し、前記第3のアクティブフロー数は、前記第1の輻輳値が前記輻輳閾値未満であるとき、前記第2のアクティブフロー数に等しく、前記第3のアクティブフロー数は、前記第1の輻輳値が前記輻輳閾値以上であるとき、前記第1のアクティブフロー数に等しい、ステップと、
    前記第2のネットワークデバイスにより、前記第1のネットワークデバイスにより送信された前記第2のグループのデータパケット内の前記末尾のパケットを受信し、前記第2のグループのデータパケット内の前記ECN識別子を搬送するデータパケットの数及び前記第1の輻輳値に基づいて、前記ネットワークの第2の輻輳値を決定するステップと、
    前記第2の輻輳値が前記輻輳閾値未満であるとき、前記第2のネットワークデバイスにより、第5のアクティブフロー数を取得するために、前記第4のアクティブフロー数を1だけ減少させるステップ、又は
    前記第2の輻輳値が前記輻輳閾値以上であるとき、前記第2のネットワークデバイスにより、前記第4のアクティブフロー数を変更せずに保持するステップと
    を更に含む、請求項8又は9に記載の方法。
  11. 前記第2のグループのデータパケット内の前記ECN識別子を搬送するデータパケットの数及び前記第1の輻輳値に基づいて、前記ネットワークの第2の輻輳値を決定するステップは、
    前記第2のグループのデータパケット内の前記ECN識別子を搬送するデータパケットの前記数に基づいて、前記ネットワークの第3の輻輳値を決定するステップと、
    式con2=x1*con3+x2*con1に基づいて、前記第2の輻輳値を決定するステップであり、con3は前記第3の輻輳値であり、con1は前記第1の輻輳値であり、con2は前記第2の輻輳値であり、x1は予め設定された第1の重みであり、x2は予め設定された第2の重みである、ステップと
    を含む、請求項10に記載の方法。
  12. 第1のネットワークデバイスであって、
    第2のネットワークデバイスにより送信された第1のメッセージを受信するように構成された受信モジュールであり、前記第1のメッセージは、アクティブフロー数を搬送し、前記アクティブフロー数は、当該第1のネットワークデバイスから受信したデータパケットが属するデータフローに基づいて前記第2のネットワークデバイスにより決定された数である、受信モジュールと、
    前記アクティブフロー数及び前記第2のネットワークデバイスの定格受信帯域幅に基づいて、前記データフローを前記第2のネットワークデバイスに送信するために使用されるパケット送信制御情報を決定するように構成された処理モジュールであり、前記パケット送信制御情報は、当該第1のネットワークデバイスが前記パケット送信制御情報に基づいて前記データフローを前記第2のネットワークデバイスに送信するとき、前記第2のネットワークデバイスの実際の受信帯域幅が前記定格受信帯域幅に達することを示す、処理モジュールと、
    前記パケット送信制御情報に基づいて前記データフローを前記第2のネットワークデバイスに送信するように構成された送信モジュールと
    を含む第1のネットワークデバイス。
  13. 前記処理モジュールは、
    前記アクティブフロー数が第1の閾値未満であるとき、以下の式
    Figure 2021536196
    に基づいて、前記データフローを前記第2のネットワークデバイスに送信するために使用される前記パケット送信制御情報を決定するように構成され、
    Cは前記第2のネットワークデバイスの前記定格受信帯域幅であり、active_qpは前記アクティブフロー数であり、Tは前記ネットワークがアイドルであるときに当該第1のネットワークデバイスにより前記第2のネットワークデバイスに送信されたデータパケットが前記第2のネットワークデバイスに到着するのに必要な時間であり、VはT内に当該第1のネットワークデバイスにより前記第2のネットワークデバイスに送信される前記データフローのデータボリュームであり、
    前記送信モジュールは、T内に前記データフロー内のデータボリュームVを有するデータパケットを前記第2のネットワークデバイスに送信するように構成される、請求項12に記載の第1のネットワークデバイス。
  14. 前記処理モジュールは、
    前記アクティブフロー数が前記第1の閾値以上であるとき、以下の式
    Figure 2021536196
    に基づいて、前記データフローを前記第2のネットワークデバイスに送信するために使用される前記パケット送信制御情報を決定するように構成され、
    1pktは単一のデータパケットの長さであり、active_qpは前記アクティブフロー数であり、Cは前記第2のネットワークデバイスの前記定格受信帯域幅であり、「interval」は当該第1のネットワークデバイスが前記データフローを送信するときの隣接するデータパケットの間の時間間隔であり、
    前記送信モジュールは、「interval」により示される前記時間間隔に基づいて前記データフロー内の前記データパケットを前記第2のネットワークデバイスに送信するように構成される、請求項12又は13に記載の第1のネットワークデバイス。
  15. 前記処理モジュールは、前記アクティブフロー数、前記第2のネットワークデバイスの前記定格受信帯域幅及び前記データフローの属性情報に基づいて、前記データフローを前記第2のネットワークデバイスに送信するために使用される前記パケット送信制御情報を決定するように構成され、
    前記データフローの前記属性情報は、前記データフローのアプリケーション情報及び前記データフローのデータボリューム情報のうち少なくとも1つを含み、前記データフローの前記アプリケーション情報は、前記データフローのデータパケットが属するサービスタイプを示すために使用され、前記データフローの前記データボリューム情報は、第1のデータフローに属し且つ予め設定された時間内に当該第1のネットワークデバイスにより送信されるデータパケットのデータボリュームを示すために使用される、請求項12に記載の第1のネットワークデバイス。
  16. 前記処理モジュールは、
    前記アクティブフロー数が第1の閾値未満であるとき、以下の式
    Figure 2021536196
    に基づいて、前記データフローを前記第2のネットワークデバイスに送信するために使用される前記パケット送信制御情報を決定するように構成され、
    Cは前記第2のネットワークデバイスの前記定格受信帯域幅であり、active_qpは前記アクティブフロー数であり、Tは前記ネットワークがアイドルであるときに当該第1のネットワークデバイスにより前記第2のネットワークデバイスに送信されたデータパケットが前記第2のネットワークデバイスに到着するのに必要な時間であり、wは前記データフローの重みであり、wは前記データフローの前記属性情報に基づいて決定され、VはT内に当該第1のネットワークデバイスにより前記第2のネットワークデバイスに送信される前記データフローのデータボリュームであり、
    前記送信モジュールは、T内に前記データフロー内のデータボリュームVを有するデータパケットを前記第2のネットワークデバイスに送信するように構成される、請求項15に記載の第1のネットワークデバイス。
  17. 前記処理モジュールは、
    前記アクティブフロー数が前記第1の閾値以上であるとき、以下の式
    Figure 2021536196
    に基づいて、前記データフローを前記第2のネットワークデバイスに送信するために使用される前記パケット送信制御情報を決定するように構成され、
    1pktは単一のデータパケットの長さであり、active_qpは前記アクティブフロー数であり、wは前記データフローの前記重みであり、wは前記データフローの前記属性情報に基づいて決定され、Cは前記第2のネットワークデバイスの前記定格受信帯域幅であり、「interval」は当該第1のネットワークデバイスが前記データフローを送信するときの隣接するデータパケットの間の時間間隔であり、
    前記送信モジュールは、「interval」により示される前記時間間隔に基づいて前記データフロー内の前記データパケットを前記第2のネットワークデバイスに送信するように構成される、請求項15又は16に記載の第1のネットワークデバイス。
  18. 第2のネットワークデバイスであって、
    第1のネットワークデバイスから受信したデータパケットが属するデータフローに基づいて、アクティブフロー数を決定するように構成された処理モジュールと、
    第1のメッセージを前記第1のネットワークデバイスに送信するように構成された送信モジュールであり、前記第1のメッセージは、前記アクティブフロー数を搬送し、前記アクティブフロー数は、前記データフローを当該第2のネットワークデバイスに送信するために使用されるパケット送信制御情報を決定するために前記第1のネットワークにより使用され、前記パケット送信制御情報は、前記第1のネットワークデバイスが前記パケット送信制御情報に基づいて前記データフローを当該第2のネットワークデバイスに送信するとき、当該第2のネットワークデバイスの実際の受信帯域幅が当該第2のネットワークデバイスの定格受信帯域幅に達することを示す、送信モジュールと、
    前記定格受信帯域幅に基づいて、前記第1のネットワークデバイスにより送信された前記データフローを受信するように構成された受信モジュールと
    を含む第2のネットワークデバイス。
  19. 前記受信モジュールは、前記第1のネットワークデバイスにより送信された第1のグループのデータパケット内の前記冒頭のパケットを受信するように構成され、
    前記処理モジュールは、第1のアクティブフロー数を取得するために、現在のアクティブフロー数を1だけ増加させるように構成され、
    前記受信モジュールは、前記第1のネットワークデバイスにより送信された前記第1のグループのデータパケット内の前記末尾のパケットを受信するように構成され、
    前記処理モジュールは、
    前記第1のグループのデータパケット内の外部輻輳通知ECN識別子を搬送するデータパケットの数に基づいて第1の輻輳値を決定し、
    前記第1の輻輳値が輻輳閾値未満であるとき、当該第2のネットワークデバイスにより、第2のアクティブフロー数を取得するために、前記第1のアクティブフロー数を1だけ減少させ、或いは
    前記第1の輻輳値が輻輳閾値以上であるとき、当該第2のネットワークデバイスにより、前記第1のアクティブフロー数を変更せずに保持するように構成される、請求項18に記載の第2のネットワークデバイス。
  20. 前記処理モジュールは、前記第1のグループのデータパケット内のデータパケットの数に対する前記第1のグループのデータパケット内の前記ECN識別子を搬送するデータパケットの前記数の比を、前記第1の輻輳値として決定するように構成される、請求項19に記載の第2のネットワークデバイス。
  21. 前記受信モジュールが前記第1のネットワークデバイスにより送信された前記第1のグループのデータパケット内の前記末尾のパケットを受信した後に、前記受信モジュールは、前記第1のネットワークデバイスにより送信された第2のグループのデータパケット内の前記冒頭のパケットを受信するように更に構成され、
    前記処理モジュールは、第4のアクティブフロー数を取得するために、第3のアクティブフロー数を1だけ増加させるように構成され、前記第2のグループのデータパケット及び前記第1のグループのデータパケットは、同じデータフローに属し、前記第3のアクティブフロー数は、前記第1の輻輳値が前記輻輳閾値未満であるとき、前記第2のアクティブフロー数に等しく、前記第3のアクティブフロー数は、前記第1の輻輳値が前記輻輳閾値以上であるとき、前記第1のアクティブフロー数に等しく、
    前記受信モジュールは、前記第1のネットワークデバイスにより送信された前記第2のグループのデータパケット内の前記末尾のパケットを受信するように構成され、
    前記処理モジュールは、
    前記第2のグループのデータパケット内の前記ECN識別子を搬送するデータパケットの数及び前記第1の輻輳値に基づいて、前記ネットワークの第2の輻輳値を決定し、
    前記第2の輻輳値が前記輻輳閾値未満であるとき、当該第2のネットワークデバイスにより、第5のアクティブフロー数を取得するために、前記第4のアクティブフロー数を1だけ減少させ、或いは
    前記第2の輻輳値が前記輻輳閾値以上であるとき、当該第2のネットワークデバイスにより、前記第4のアクティブフロー数を変更せずに保持するように更に構成される、請求項19又は20に記載の第2のネットワークデバイス。
  22. 前記処理モジュールは、
    前記第2のグループのデータパケット内の前記ECN識別子を搬送するデータパケットの前記数に基づいて、前記ネットワークの第3の輻輳値を決定し、
    式con2=x1*con3+x2*con1に基づいて、前記第2の輻輳値を決定するように構成され、con3は前記第3の輻輳値であり、con1は前記第1の輻輳値であり、con2は前記第2の輻輳値であり、x1は予め設定された第1の重みであり、x2は予め設定された第2の重みである、請求項21に記載の第2のネットワークデバイス。
  23. 第1のネットワークデバイスであって、
    プログラムを記憶するように構成されたメモリと、
    前記メモリに記憶された前記プログラムを実行するように構成されたプロセッサであり、前記メモリに記憶された前記プログラムが実行されたとき、当該第1のネットワークデバイスは、請求項1乃至6のうちいずれか1項に記載の方法を実行するように構成される、プロセッサと
    を含む第1のネットワークデバイス。
  24. 第2のネットワークデバイスであって、
    プログラムを記憶するように構成されたメモリと、
    前記メモリに記憶された前記プログラムを実行するように構成されたプロセッサであり、前記メモリに記憶された前記プログラムが実行されたとき、当該第2のネットワークデバイスは、請求項7乃至11のうちいずれか1項に記載の方法を実行するように構成される、プロセッサと
    を含む第2のネットワークデバイス。
JP2021513244A 2018-09-25 2019-07-01 輻輳制御方法及びネットワークデバイス Pending JP2021536196A (ja)

Applications Claiming Priority (3)

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

Publications (1)

Publication Number Publication Date
JP2021536196A true JP2021536196A (ja) 2021-12-23

Family

ID=64765968

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021513244A Pending JP2021536196A (ja) 2018-09-25 2019-07-01 輻輳制御方法及びネットワークデバイス

Country Status (6)

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

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109067665B (zh) 2018-09-25 2022-01-11 华为技术有限公司 拥塞控制方法和网络设备
CN109245959B (zh) 2018-09-25 2021-09-03 华为技术有限公司 统计活跃流数目的方法、网络设备和系统
CN112822120B (zh) * 2019-11-18 2023-04-28 华为技术有限公司 一种实现拥塞控制的方法、装置和系统
CN113014498A (zh) * 2019-12-19 2021-06-22 华为技术有限公司 一种收发数据的方法及装置
CN113132246B (zh) * 2019-12-30 2024-04-26 华为技术有限公司 一种流量控制方法及相关设备
CN114788243B (zh) * 2019-12-31 2023-08-22 华为技术有限公司 调度报文的方法和装置
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 江苏为是科技有限公司 拥塞控制方法及装置

Family Cites Families (28)

* 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 华为技术有限公司 拥塞控制方法和系统以及网络设备
US9509805B2 (en) * 2011-12-01 2016-11-29 Telefonaktiebolaget Lm 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 富士通株式会社 情報処理方法、情報処理装置、及びプログラム。
JP6507641B2 (ja) * 2012-11-16 2019-05-08 日本電気株式会社 ネットワークシステムと方法と装置並びにプログラム
US9596182B2 (en) * 2013-02-12 2017-03-14 Adara Networks, Inc. Controlling non-congestion controlled flows
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
EP3353964A4 (en) * 2015-09-25 2019-05-01 Telefonaktiebolaget LM Ericsson (publ) PROCEDURE AND COOPERATION OF NETWORK NODES TO ENABLE THE ADJUSTMENT OF BITRATES IN MEDIA STREAMING
CN108353074B (zh) * 2015-11-16 2021-01-26 瑞典爱立信有限公司 用于拥塞控制的方法、多点控制单元和计算机可读装置
KR20170101537A (ko) * 2016-02-29 2017-09-06 한국전자통신연구원 무선 채널을 공유하는 무선 네트워크에서의 동적 큐 관리 방법 및 통신 노드
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 华为技术有限公司 拥塞控制方法和网络设备

Also Published As

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

Similar Documents

Publication Publication Date Title
JP2021536196A (ja) 輻輳制御方法及びネットワークデバイス
US11171862B2 (en) Multi-subflow network transmission method and apparatus
TWI487389B (zh) 避免網路壅塞的方法及其裝置
US7515608B2 (en) Methods and media access controller for mesh networks with adaptive quality-of-service management
US9438523B2 (en) Method and apparatus for deriving a packet select probability value
WO2019210725A1 (zh) 拥塞控制方法、装置、设备及存储介质
EP2540042A2 (en) Communication transport optimized for data center environment
CN111835649B (zh) 一种数据发送方法、装置及相关组件
WO2020063299A1 (zh) 统计活跃流数目的方法、网络设备和系统
US9509620B2 (en) Deadline-aware network protocol
US20200252337A1 (en) Data transmission method, device, and computer storage medium
US20220103465A1 (en) Multi-Subflow Network Transmission Method and Apparatus
US20120106567A1 (en) Mlppp occupancy based round robin
US20210036942A1 (en) Systems and methods for identifying persistently congested queues
CN110868359A (zh) 一种网络拥塞控制方法
CN109995608B (zh) 网络速率计算方法和装置
CN112714081B (zh) 一种数据处理方法及其装置
CN109787861B (zh) 网络数据延迟控制方法
US11190454B2 (en) Receiver-directed computer network congestion control system
WO2021120764A1 (zh) 一种收发数据的方法及装置
US20210135999A1 (en) Packet Control Method, Flow Table Update Method, and Node Device
JP2015162719A (ja) 通信装置、通信方法及びプログラム
US11870708B2 (en) Congestion control method and apparatus
Wu et al. AQM-based Buffer Delay Guarantee for Congestion Control in 5G Networks
WO2023123377A1 (zh) 一种调度网络流量的方法、装置以及系统

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210309

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210309

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220531

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220823

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20221129