Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP5405870B2 - Communication equipment - Google Patents
[go: Go Back, main page]

JP5405870B2 - Communication equipment - Google Patents

Communication equipment Download PDF

Info

Publication number
JP5405870B2
JP5405870B2 JP2009077262A JP2009077262A JP5405870B2 JP 5405870 B2 JP5405870 B2 JP 5405870B2 JP 2009077262 A JP2009077262 A JP 2009077262A JP 2009077262 A JP2009077262 A JP 2009077262A JP 5405870 B2 JP5405870 B2 JP 5405870B2
Authority
JP
Japan
Prior art keywords
unit
token
data
communication unit
communication
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.)
Expired - Fee Related
Application number
JP2009077262A
Other languages
Japanese (ja)
Other versions
JP2010232876A (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.)
Kyocera Corp
Original Assignee
Kyocera Corp
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 Kyocera Corp filed Critical Kyocera Corp
Priority to JP2009077262A priority Critical patent/JP5405870B2/en
Priority to US12/748,337 priority patent/US20100246400A1/en
Publication of JP2010232876A publication Critical patent/JP2010232876A/en
Application granted granted Critical
Publication of JP5405870B2 publication Critical patent/JP5405870B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Description

本発明は、データの輻輳を制御する機能を有する通信機器に関する。   The present invention relates to a communication device having a function of controlling data congestion.

複数の電子機器が接続されているネットワークにおいては、特定の電子機器が無線リソースを使いすぎないよう移動機器(電子機器に接続されてネットワークに接続する機器)側で通信速度(スループット)を制御する機能(以下、トラフック制御機能という。)を有している。具体的には、トラフィック制御機能は、上り/下りにそれぞれ一つずつトークンバケット機構を有し、それぞれ独立してスループットを制御する機能である。
トークンバケット機構は、入力されたパケットを蓄積するパケットバッファと、トークンを蓄積するトークンバケットを持つ。トークンバケットには一定間隔毎にトークンが補充され、規定量のトークンが溜まるまでパケットバッファ内のパケットは出力できない。また、トークンの量に見合うパケットを出力したらその分のトークンがトークンバケットから差し引かれる。すなわち、パケットバッファに蓄積されたパケットのスループットは、単位時間あたりにトークンバケットにトークンが補充される量(トークンレート)によって制御される。トークンレートは、移動機器内部に設定されたパラメータと網環境によって動的に変化するため、一定ではない。実際の動作の例では、網が混雑している場合にはトークンレートを低くし、一方で空いている場合にはトークンレートを高くするという制御を行っている。
In a network in which a plurality of electronic devices are connected, the communication speed (throughput) is controlled on the mobile device (device connected to the electronic device and connected to the network) side so that a specific electronic device does not use excessive radio resources. It has a function (hereinafter referred to as traffic control function). Specifically, the traffic control function is a function that has one token bucket mechanism for each of uplink / downlink and controls the throughput independently.
The token bucket mechanism has a packet buffer that stores input packets and a token bucket that stores tokens. The token bucket is filled with tokens at regular intervals, and packets in the packet buffer cannot be output until a specified amount of tokens is accumulated. If a packet corresponding to the amount of tokens is output, the corresponding token is deducted from the token bucket. That is, the throughput of the packets accumulated in the packet buffer is controlled by the amount (token rate) by which tokens are replenished in the token bucket per unit time. The token rate is not constant because it dynamically changes depending on the parameters set in the mobile device and the network environment. In an example of actual operation, control is performed such that the token rate is lowered when the network is congested, while the token rate is increased when the network is free.

また、トークンレートは、パケットバッファに入力される平均スループットを元に算出される。したがって、トークンレートは、通常では平均スループットよりも高いレートにはならない。
また、一時的にトークンの前借を行い、一定量までのデータであれば規制なく送受信することができるようにした機能(以下、トークン強制追加機能という。)がある。トークン強制追加機能は、一定量未満の通信しか行わないユーザ(いわゆる、ライトユーザ)の使用感を損ねないよう配慮した機能である。このトークン強制追加機能が作動すると、いったんそれまで移動機器内部のパケットバッファに蓄積されていたデータはすべて送出され、その後前借したトークンを返済するまでの間はトークンレートが抑制されるという動作になる。
The token rate is calculated based on the average throughput input to the packet buffer. Therefore, the token rate is usually not higher than the average throughput.
In addition, there is a function (hereinafter referred to as a token forcible addition function) that temporarily borrows a token so that data up to a certain amount can be transmitted and received without restriction. The token compulsory addition function is a function that takes into account the usability of a user (so-called light user) who performs communication less than a certain amount. When this token forcible addition function is activated, all the data stored in the packet buffer inside the mobile device is sent once, and then the token rate is suppressed until the borrowed token is returned. Become.

また、TCP(Transmission Control Protocol)の輻輳制御方法の一つに、ECN(Explicit Congestion Notification)がある(例えば、特許文献1を参照。)。ECNは、ルータが輻輳を検出し、その情報をTCP送信者に伝えることで送信速度を制限し、輻輳を回避する為の方法である。   Moreover, ECN (Explicit Connection Notification) is one of congestion control methods of TCP (Transmission Control Protocol) (for example, refer to Patent Document 1). ECN is a method for avoiding congestion by detecting congestion and transmitting the information to a TCP sender to limit the transmission speed.

また、TCPピアは、3wayハンドシェーク(3つのステップによる接続手順)において、互いがECNに対応しているかどうかをネゴシエートする。具体的には、TCP(ECN)コネクションの確立シーケンスは、図9に示すように、ECN対応の送信側の電子機器は、SYNのTCPヘッダにECEフラグとCWRフラグを立てて送信し(ステップST101)、ECN対応の受信側の電子機器は、SYN/ACKのTCPヘッダにECEフラグを立てて応答することにより実行される(ステップST102)。   Also, the TCP peers negotiate whether or not each other supports ECN in a 3-way handshake (connection procedure by three steps). Specifically, as shown in FIG. 9, the TCP (ECN) connection establishment sequence is performed by the ECN-compatible transmission-side electronic device with the ECE flag and the CWR flag set in the SYN TCP header (step ST101). The electronic device on the receiving side corresponding to ECN is executed by setting the ECE flag in the TCP header of SYN / ACK and responding (step ST102).

また、ECNによる輻輳制御のシーケンスは、図10に示すように実行される。
ECN対応のルータは、転送待ちのパケットを蓄積しておくバッファの使用量が一定の閾値を超えると、ネットワークが輻輳していると判断し、転送パケットのIP(Internet Protocol)ヘッダのToS(Type of Service)フィールドに輻輳を経験していることを示すビット(CE、Congestion Experienced)を立てて受信側に転送する(ステップST111)。
The congestion control sequence by ECN is executed as shown in FIG.
An ECN-compatible router determines that the network is congested when the amount of use of a buffer for storing packets waiting for transfer exceeds a certain threshold, and determines the ToS (Type) of the IP (Internet Protocol) header of the transfer packet. A bit (CE, Consumption Experienced) indicating that congestion is experienced is set in the “of Service” field and transferred to the receiving side (step ST111).

受信側の電子機器は、IPヘッダにCEの立ったパケットを受信した場合、TCPヘッダのECE(ECN−Echo)フラグを立てて送信側に確認応答を返す(ステップST112)。この応答は、受信側の電子機器が、送信側の電子機器からTCPヘッダのCWR(Congestion Window Reduced)フラグが立ったパケットを受信するまで続ける。   When receiving a packet with CE in the IP header, the receiving-side electronic device sets an ECE (ECN-Echo) flag in the TCP header and returns an acknowledgment to the transmitting side (step ST112). This response is continued until the receiving electronic device receives a packet with a CWR (Congestion Window Reduced) flag in the TCP header from the transmitting electronic device.

送信側の電子機器は、TCPヘッダにECEフラグが立ったパケットを受信した場合、輻輳が発生していると判断し、輻輳ウィンドウサイズをスロースタートの閾値(ssthresh)まで減らし、次のパケットのTCPヘッダのCWRフラグを立てて送信する(ステップST113)。
受信側の電子機器は、CWRフラグの立ったパケットを受信すると、次に続く確認応答パケットのECEフラグを設定することを停止する(ステップST114)。
When receiving the packet with the ECE flag set in the TCP header, the transmission-side electronic device determines that congestion has occurred, reduces the congestion window size to the slow start threshold (ssthresh), and sets the TCP of the next packet. The CWR flag in the header is set and transmitted (step ST113).
When receiving the packet with the CWR flag set, the receiving-side electronic device stops setting the ECE flag of the subsequent acknowledgment packet (step ST114).

特開2004−357177号公報JP 2004-357177 A

ところで、トラフィック制御機能は、構成が複雑なため、制御部(CPU)の処理負担が高くなり、移動機器の性能が劣化してしまう。また、移動機器の内部のパケットバッファが溢れ、ルータと同じくパケットが破棄されるおそれがある。   By the way, since the traffic control function has a complicated configuration, the processing load on the control unit (CPU) increases, and the performance of the mobile device deteriorates. Also, the packet buffer inside the mobile device overflows, and there is a risk that the packet will be discarded as with the router.

本発明は、トラフィック制御機能のトークンレートのみを利用して、接続対象となる電子機器及びネットワークとの間でECNによる輻輳制御を行うことができる通信機器を提供することを目的とする。   An object of the present invention is to provide a communication device capable of performing congestion control by ECN between an electronic device to be connected and a network using only a token rate of a traffic control function.

本発明に係る通信機器は、上記課題を解決するために、外部機器に接続され、データを授受する第1の通信部と、ネットワーク側に対して前記第1の通信部により受信したデータを送出し、ネットワーク側からデータを受信する第2の通信部と、所定のデータ量により構成されているトークンを生成する第1のトークン生成部と、前記トークンを記憶する第1のトークン記憶部と、前記第1のトークン記憶部に記憶されているトークン量を検出する第1の検出部と、前記第1の検出部により検出されたトークン量が第1の閾値に達したか否かを判断し、前記トークン量が前記第1の閾値に達していると判断した場合には、前記第1の通信部により受信したデータを当該トークン量に応じた分だけ前記第2の通信部により前記ネットワークへ送信するように制御する第1の制御部と、前記第1の通信部により接続される前記外部機器がデータの輻輳に対する輻輳制御機能を有しているか否かを判断する第1の判断部と、を備え、前記第1の制御部は、前記第1の検出部により検出されたトークン量が前記第1の閾値よりも小さい第2の閾値以下であり、前記第1の判断部により前記第1の通信部により接続される前記外部機器が前記輻輳制御機能を有していると判断した場合には、前記第1の通信部が送信するデータに対し、当該輻輳制御機能を有効にするための第1の制御情報を付加して前記第1の通信部に送出させることを特徴とする。 In order to solve the above-described problem, a communication device according to the present invention transmits a data received by the first communication unit to a network side, and a first communication unit that is connected to an external device and exchanges data. A second communication unit that receives data from the network side, a first token generation unit that generates a token configured with a predetermined amount of data, a first token storage unit that stores the token, A first detection unit for detecting a token amount stored in the first token storage unit; and determining whether or not the token amount detected by the first detection unit has reached a first threshold value. When it is determined that the token amount has reached the first threshold, the data received by the first communication unit is transferred to the network by the second communication unit by an amount corresponding to the token amount. Sending A first control unit for controlling to said external device connected by said first communication unit and a first determining section for determining whether a congestion control function for data congestion, And the first control unit has a token amount detected by the first detection unit equal to or smaller than a second threshold smaller than the first threshold, and the first determination unit performs the first determination. if the external device connected by the communication unit is determined to have the congestion control function to the data by the first communication unit transmits, to enable the congestion control function The first control information is added and sent to the first communication unit.

上記通信機器では、前記第1の判断部は、前記第1の通信部により受信したデータに前記輻輳制御機能を有する旨の第2の制御情報が含まれているか否かにより前記第1の通信部により接続される前記外部機器が前記輻輳制御機能を有しているか否かを判断することが好ましい。 In the communication device, the first determination unit determines whether the data received by the first communication unit includes second control information indicating that the congestion control function is included in the data. it is preferable that the external device connected by section determines whether it has the congestion control function.

上記通信機器では、前記第1の制御部は、前記第1の通信部により、接続される前記外部機器から輻輳ウィンドウを減少させた旨の第3の制御情報が付加されたデータを受信した場合には、前記データから前記第3の制御情報を削除し、当該第3の制御情報が削除されたデータを前記第2の通信部により前記ネットワークへ送信するが好ましい。   In the communication device, when the first control unit receives data to which third control information indicating that a congestion window has been reduced is added from the connected external device by the first communication unit. Preferably, the third control information is deleted from the data, and the data from which the third control information is deleted is transmitted to the network by the second communication unit.

本発明に係る通信機器は、上記課題を解決するために、外部機器に接続され、データを授受する第1の通信部と、ネットワーク側から、前記第1の通信部により送信するためのデータを受信し、前記第1の通信部により受信したデータを前記ネットワーク側に送信する第2の通信部と、所定のデータ量により構成されているトークンを生成する第2のトークン生成部と、前記トークンを記憶する第2のトークン記憶部と、前記第2のトークン記憶部に記憶されているトークン量を検出する第2の検出部と、前記第2の検出部により検出されたトークン量が第1の閾値に達したか否かを判断し、前記トークン量が前記第1の閾値に達していると判断した場合には、前記第2の通信部により受信したデータを当該トークン量に応じた分だけ前記第1の通信部により前記外部機器へ送信するように制御する第2の制御部と、前記ネットワーク側の機器がデータの輻輳に対する輻輳制御機能を有しているか否かを判断する第2の判断部と、を備え、前記第2の制御部は、前記第2の検出部により検出されたトークン量が前記第1の閾値よりも小さい第2の閾値以下であり、前記第2の判断部によりネットワーク側の機器が前記輻輳制御機能を有していると判断した場合には、前記第1の通信部により受信したデータに対し、当該輻輳制御機能を有効にするための第4の制御情報を付加して前記第2の通信部に送出させることを特徴とする。   In order to solve the above-described problem, a communication device according to the present invention is connected to an external device, and a first communication unit that transmits and receives data, and data to be transmitted from the network side by the first communication unit. A second communication unit that receives and transmits data received by the first communication unit to the network side; a second token generation unit that generates a token configured with a predetermined amount of data; and the token The second token storage unit that stores the token amount, the second detection unit that detects the token amount stored in the second token storage unit, and the token amount detected by the second detection unit are the first If it is determined whether the token amount has reached the first threshold, the data received by the second communication unit is divided according to the token amount. Only the second A second control unit that controls the communication unit to transmit to the external device, and a second determination unit that determines whether or not the network side device has a congestion control function for data congestion; , And the second control unit has a token amount detected by the second detection unit equal to or smaller than a second threshold value smaller than the first threshold value, and the second determination unit performs network side When it is determined that the device has the congestion control function, fourth control information for enabling the congestion control function is added to the data received by the first communication unit. The second communication unit is configured to send the data.

上記通信機器では、前記第2の判断部は、前記第2の通信部により受信したデータに前記輻輳制御機能を有する旨の第5の制御情報が含まれているか否かにより前記ネットワーク側の機器が前記輻輳制御機能を有しているか否かを判断することが好ましい。   In the communication device, the second determination unit determines whether the data received by the second communication unit includes fifth control information indicating that the congestion control function is included in the data on the network side. It is preferable to determine whether or not has the congestion control function.

上記通信機器では、前記第2の制御部は、前記第2の通信部により前記ネットワーク側の機器から輻輳ウィンドウを減少させた旨の第6の制御情報が付加されたデータを受信した場合には、前記データから前記第6の制御情報を削除し、当該第6の制御情報が削除されたデータを前記第1の通信部により前記外部機器へ送信することが好ましい。   In the communication device, when the second control unit receives data to which sixth control information indicating that a congestion window has been reduced is received from the network side device by the second communication unit. Preferably, the sixth control information is deleted from the data, and the data from which the sixth control information is deleted is transmitted to the external device by the first communication unit.

本発明によれば、接続対象となる電子機器及びネットワークとの間でECNによる輻輳制御を行うことができる。   According to the present invention, congestion control by ECN can be performed between an electronic device and a network to be connected.

通信機器がPCに接続され、ネットワークに接続される様子を示す図である。It is a figure which shows a mode that a communication apparatus is connected to PC and is connected to a network. 本発明に係る通信機器の第1の機能を示すブロック図である。It is a block diagram which shows the 1st function of the communication apparatus which concerns on this invention. TCPヘッダの構成を示す模式図である。It is a schematic diagram which shows the structure of a TCP header. 本発明に係る通信機器の第2の機能を示すブロック図である。It is a block diagram which shows the 2nd function of the communication apparatus which concerns on this invention. 通信機器に直接接続されるPCがECNに対応しており、ネットワーク側がECNに対応していない場合におけるTCPコネクションの確立シーケンスについての説明に供するシーケンスチャートである。10 is a sequence chart for explaining a TCP connection establishment sequence when a PC directly connected to a communication device is ECN compatible and the network side is not ECN compatible. 通信機器に直接接続されるPCがECNに対応しておらず、ネットワーク側がECNに対応している場合におけるTCPコネクションの確立シーケンスについての説明に供するシーケンスチャートである。10 is a sequence chart for explaining a TCP connection establishment sequence when a PC directly connected to a communication device does not support ECN and the network side supports ECN. ネットワーク側で輻輳が生じた場合のPCによる輻輳制御の動作についての説明に供するシーケンスチャートである。It is a sequence chart with which it uses for description about the operation | movement of congestion control by PC when congestion arises on the network side. PCで輻輳が生じた場合のネットワーク側による輻輳制御の動作についての説明に供するシーケンスチャートである。It is a sequence chart used for description about the operation | movement of the congestion control by the network side when congestion arises in PC. TCPコネクションの確立シーケンスについての説明に供するシーケンスチャートである。It is a sequence chart with which it uses for description about the establishment sequence of a TCP connection. ECNによる輻輳制御にシーケンスについての説明に供するシーケンスチャートである。It is a sequence chart with which it uses for description about a sequence for congestion control by ECN.

以下、本発明の実施形態について詳細に説明する。本実施形態に係る通信機器1は、無線通信用のアンテナを有しているPCカードに利用され、例えば、図1に示すように、PC(Personal Computer)101のカードスロット102に挿入されて接続されることにより、PC101による基地局201を介したネットワーク202(例えば、インターネット)への接続に利用される。   Hereinafter, embodiments of the present invention will be described in detail. The communication device 1 according to the present embodiment is used for a PC card having an antenna for wireless communication. For example, as shown in FIG. 1, the communication device 1 is inserted into a card slot 102 of a PC (Personal Computer) 101 and connected. As a result, the PC 101 is used for connection to the network 202 (for example, the Internet) via the base station 201.

<第1の実施例>
通信機器1は、図2に示すように、第1の通信部11と、第2の通信部12と、第1のトークン生成部13と、第1のトークン記憶部14と、第1の検出部15と、第1の制御部16と、第1の判断部17とを備える。
<First embodiment>
As illustrated in FIG. 2, the communication device 1 includes a first communication unit 11, a second communication unit 12, a first token generation unit 13, a first token storage unit 14, and a first detection. Unit 15, first control unit 16, and first determination unit 17.

第1の通信部11は、外部機器(以下、PC101という。)に接続され、データを授受する。具体的には、第1の通信部11は、データをPC101へ送信する送信ポートと、PC101から送信されてきたデータを受信する受信ポートにより構成されている。   The first communication unit 11 is connected to an external device (hereinafter referred to as PC 101), and exchanges data. Specifically, the first communication unit 11 includes a transmission port that transmits data to the PC 101 and a reception port that receives data transmitted from the PC 101.

第2の通信部12は、ネットワーク202側に対して第1の通信部11により受信したデータを送出し、ネットワーク202側からデータを受信する。具体的には、第2の通信部12は、ネットワーク202側へデータを送信する送信ポートと、ネットワーク202側から送信されてきたデータを受信する受信ポートにより構成されている。   The second communication unit 12 sends the data received by the first communication unit 11 to the network 202 side, and receives data from the network 202 side. Specifically, the second communication unit 12 includes a transmission port that transmits data to the network 202 side and a reception port that receives data transmitted from the network 202 side.

第1のトークン生成部13は、所定のデータ量により構成されているトークンを生成する。第1のトークン記憶部14は、第1のトークン生成部13により生成されたトークンを記憶する。第1の検出部15は、第1のトークン記憶部14に記憶されているトークン量を検出する。第1の制御部16は、第1の検出部15により検出されたトークン量が第1の閾値に達したか否かを判断し、トークン量が第1の閾値に達していると判断した場合には、第1の通信部11により受信したデータを当該トークン量に応じた分だけ第2の通信部12によりネットワーク202へ送信するように制御する。   The first token generation unit 13 generates a token configured with a predetermined amount of data. The first token storage unit 14 stores the token generated by the first token generation unit 13. The first detection unit 15 detects the token amount stored in the first token storage unit 14. When the first control unit 16 determines whether or not the token amount detected by the first detection unit 15 has reached the first threshold, and determines that the token amount has reached the first threshold The second communication unit 12 controls the data received by the first communication unit 11 to be transmitted to the network 202 by the amount corresponding to the token amount.

ここで、トークンとは、単位あたり所定のデータ量で構成されており、第1のトークン記憶部14には、第1のトークン生成部13により生成されるトークンが順次蓄積されてゆく。   Here, the token is configured with a predetermined data amount per unit, and the tokens generated by the first token generating unit 13 are sequentially accumulated in the first token storage unit 14.

また、第1の制御部16は、第1のトークン記憶部14に蓄積されるトークンが第1の閾値に達したことを第1の検出部15による検出結果から判断した場合に、蓄積されているトークン量に見合う分のデータを第2の通信部12によりネットワーク202へ送信するように制御する。また、第1の制御部16は、データが送信された後、送信されたデータに見合う分のトークンを第1のトークン記憶部14から削減する。   Further, the first control unit 16 stores the token when it is determined from the detection result by the first detection unit 15 that the token stored in the first token storage unit 14 has reached the first threshold. Control is performed so that data corresponding to the token amount is transmitted to the network 202 by the second communication unit 12. In addition, after the data is transmitted, the first control unit 16 reduces tokens corresponding to the transmitted data from the first token storage unit 14.

また、第1の判断部17は、第1の通信部11が接続されるPC101がデータの輻輳に対する輻輳制御機能を有しているか否かを判断する。
第1の制御部16は、第1の検出部15により検出されたトークン量が第1の閾値よりも小さい第2の閾値以下であり、かつ第1の判断部17により第1の通信部11が接続されるPC101が輻輳制御機能を有していると判断した場合には、以下の動作を行う。第1の制御部16は、第1の通信部11が送信するデータに対し、当該輻輳制御機能を有効にするための第1の制御情報を付加して第1の通信部11に送出させる。なお、トークン量が第2の閾値以下になっているということは、トークンが不足していることを意味している。
Further, the first determination unit 17 determines whether or not the PC 101 to which the first communication unit 11 is connected has a congestion control function for data congestion.
The first control unit 16 is configured such that the token amount detected by the first detection unit 15 is equal to or smaller than a second threshold value that is smaller than the first threshold value, and the first determination unit 17 performs the first communication unit 11. When it is determined that the PC 101 connected to has a congestion control function, the following operation is performed. The first control unit 16 adds the first control information for enabling the congestion control function to the data transmitted by the first communication unit 11 and causes the first communication unit 11 to send the data. Note that the token amount being equal to or smaller than the second threshold means that there are not enough tokens.

第1の制御部16は、トークン量が第2の閾値以下の状態が一定時間以上継続している場合には、ネットワーク202側で輻輳が生じていると判断し、データに第1の制御情報を付加してPC101に送信する。PC101は、第1の制御情報を受信した場合には、輻輳ウィンドウを減少させる。このようにして、PC101は、輻輳ウィンドウを減少するので、通信機器1へ出力するデータ量(パケット量)が減少される。また、PC101は、輻輳ウィンドウを減少させた後、規定上定められた量にしたがって輻輳ウィンドウを少しずつ増加させて行き、時間をかけてウィンドウの幅を元に戻してゆく。   The first control unit 16 determines that congestion is occurring on the network 202 side when the token amount is equal to or less than the second threshold for a certain period of time, and the first control information is included in the data. To the PC 101. When the PC 101 receives the first control information, the PC 101 decreases the congestion window. Thus, since the PC 101 reduces the congestion window, the amount of data (packet amount) output to the communication device 1 is reduced. In addition, after reducing the congestion window, the PC 101 gradually increases the congestion window according to a predetermined amount and restores the window width over time.

ここで、TCPヘッダの構造について説明する。TCPヘッダは、図3に示すように、先頭から順番に、Source Port(送信元ポート番号)、Destination Port(宛先ポート番号)、Sequence Number(シーケンス番号)、Acknowledgment Number(応答確認番号)、Data Offset(データオフセット)、Reserved(予約)、Control Bits(制御ビット)、Window(ウィンドウサイズ)、Checksum(チェックサム)、Urgent Pointer(緊急ポインタ)、Options(オプション)、Padding(パディング)により構成されている。   Here, the structure of the TCP header will be described. As shown in FIG. 3, the TCP header includes, in order from the beginning, Source Port (source port number), Destination Port (destination port number), Sequence Number (sequence number), Acknowledgment Number (response confirmation number), Data Offset. (Data Offset), Reserved (Reservation), Control Bits (Control Bit), Window (Window Size), Checksum (Checksum), Urgent Pointer (Emergency Pointer), Options (Option), Padding (Padding) .

また、制御ビットは、輻輳ウィンドウの減少を通知するCWR(輻輳ウィンドウ減少)と、輻輳の発生を相手の機器に通知するECE(ECN−Echo)と、緊急ポインタフィールドを使うように指示するURG(緊急フラグ)と、セグメントが応答確認を持っている旨を示すACK(応答確認フラグ)と、受信可能になったらすぐに送信されるPSH(転送強制フラグ)と、正しくないパケットを受け取ったときの通信リセットの指示を示すRST(リセットフラグ)と、先頭シーケンス番号の転送を示すSYN(同期フラグ)と、送信終了又は受信可能を示すFIN(転送終了フラグ)とにより構成されている。   Further, the control bits include CWR (congestion window decrease) for notifying the decrease of the congestion window, ECE (ECN-Echo) for notifying the other device of the occurrence of congestion, and URG (instruction to use the emergency pointer field). (Emergency flag), ACK (response confirmation flag) indicating that the segment has a response confirmation, PSH (forward transfer flag) that is sent as soon as reception becomes possible, and when an incorrect packet is received It consists of an RST (reset flag) indicating a communication reset instruction, a SYN (synchronization flag) indicating the transfer of the head sequence number, and a FIN (transfer end flag) indicating the end of transmission or reception.

具体的には、第1の制御部16は、第1の検出部15により検出されたトークン量が第1の閾値よりも小さい第2の閾値以下であり、第1の判断部17により第1の通信部11が接続されるPC101が輻輳制御機能を有していると判断した場合には、第1の通信部11からPC101にデータを送信する際に、TCPヘッダの制御ビットのECEフラグ(第1の制御情報に相当する)を「1」にセットする。   Specifically, the first control unit 16 determines that the token amount detected by the first detection unit 15 is equal to or smaller than a second threshold value that is smaller than the first threshold value. When it is determined that the PC 101 to which the communication unit 11 is connected has a congestion control function, when the data is transmitted from the first communication unit 11 to the PC 101, the ECE flag ( (Corresponding to the first control information) is set to “1”.

このようにして、通信機器1は、PC101がECNに対応している場合には、トークン量(トークンレート)に応じて、PC101との間において輻輳制御を行うことができる。   In this way, when the PC 101 is compatible with ECN, the communication device 1 can perform congestion control with the PC 101 according to the token amount (token rate).

したがって、トークンレートを利用してトラフィック制御を行う従来の構成では、通信機器に対するデータの入力速度がデータの出力速度よりも大きくなり、通信機器内部のパケットバッファが溢れてしまい、パケットが消失する危険性があったが、本実施形態に係る通信機器1では、パケットの消失を回避することができる。   Therefore, in the conventional configuration in which traffic control is performed using the token rate, the data input speed to the communication device becomes larger than the data output speed, the packet buffer inside the communication device overflows, and the packet may be lost. However, the communication device 1 according to the present embodiment can avoid packet loss.

また、通信機器1では、上述したようにパケットの消失を回避することができるので、パケットの消失に起因して生じるパケットの再送を抑制することができ、回線リソースの有効活用を図ることができる。
また、通信機器1では、パケットバッファへのバッファリング処理を不要とすることもできるので、従来の構成に比べて処理負担の軽減を図ることができる。
In addition, since the communication device 1 can avoid packet loss as described above, packet retransmission caused by packet loss can be suppressed, and line resources can be effectively used. .
In addition, since the communication device 1 can eliminate the need for buffering processing to the packet buffer, the processing load can be reduced as compared with the conventional configuration.

また、第1の判断部17は、第1の通信部11により受信したデータに輻輳制御機能を有する旨の第2の制御情報が含まれているか否かにより第1の通信部11が接続されるPC101が輻輳制御機能を有しているか否かを判断する。
具体的には、第1の判断部17は、第1の通信部11により受信したデータに含まれているTCPヘッダの制御ビットのECEフラグとCWRフラグ(第2の制御情報に相当する)が「1」にセットされていればPC101が輻輳制御機能を有していると判断する。
The first determination unit 17 is connected to the first communication unit 11 depending on whether the data received by the first communication unit 11 includes second control information indicating that the data has a congestion control function. It is determined whether the PC 101 that has a congestion control function is present.
Specifically, the first determination unit 17 includes an ECE flag and a CWR flag (corresponding to the second control information) of the control bits of the TCP header included in the data received by the first communication unit 11. If it is set to “1”, it is determined that the PC 101 has a congestion control function.

また、第1の制御部16は、第1の通信部11により、接続されるPC101から輻輳ウィンドウを減少させた旨の第3の制御情報が付加されたデータを受信した場合には、データから第3の制御情報を削除し、当該第3の制御情報が削除されたデータを第2の通信部12によりネットワーク202へ送信するように制御する。   In addition, when the first control unit 16 receives data added with the third control information indicating that the congestion window has been reduced from the connected PC 101 by the first communication unit 11, the first control unit 16 starts from the data. The third control information is deleted, and control is performed so that the data from which the third control information is deleted is transmitted to the network 202 by the second communication unit 12.

具体的には、第1の制御部16は、PC101からTCPヘッダの制御ビットのCWRフラグ(第3の制御情報に相当する)が「1」にセットされたデータを受信した場合には、CWRフラグを「0」にセットし直したデータをネットワーク202へ送信するように制御する。
このように構成されることにより、PC101と通信機器1との間において輻輳の制御を行い、ネットワーク202側には影響を与えないようにすることができる。
Specifically, when the first control unit 16 receives data in which the CWR flag (corresponding to the third control information) of the control bit of the TCP header is set to “1” from the PC 101, the CWR Control is performed so that data with the flag reset to “0” is transmitted to the network 202.
With this configuration, it is possible to control congestion between the PC 101 and the communication device 1 so that the network 202 side is not affected.

<第2の実施例>
上述した第1の実施例では、通信機器1を介してPC101からネットワーク202へデータを送信する際において、ネットワーク202側で輻輳が生じた場合における通信機器1の制御について説明した。第2の実施例では、ネットワーク202側のPC301から通信機器1を介してPC101へデータを送信する際において、PC101で輻輳が生じた場合における通信機器1の制御について説明する。なお、通信機器1と同一の構成及び動作を行う要素には同一の番号を付して説明する。
<Second embodiment>
In the first embodiment described above, the control of the communication device 1 when congestion occurs on the network 202 side when data is transmitted from the PC 101 to the network 202 via the communication device 1 has been described. In the second embodiment, control of the communication device 1 when congestion occurs in the PC 101 when data is transmitted from the PC 301 on the network 202 side to the PC 101 via the communication device 1 will be described. In addition, the same number is attached | subjected and demonstrated to the element which performs the same structure and operation | movement as the communication apparatus 1.

通信機器1は、図4に示すように、第1の通信部11と、第2の通信部12と、第2のトークン生成部21と、第2のトークン記憶部22と、第2の検出部23と、第2の制御部24と、第2の判断部25と、を備える。なお、これらの構成は、第1の実施例における通信機器1にさらに備えられても良い。   As illustrated in FIG. 4, the communication device 1 includes a first communication unit 11, a second communication unit 12, a second token generation unit 21, a second token storage unit 22, and a second detection. Unit 23, second control unit 24, and second determination unit 25. These configurations may be further provided in the communication device 1 in the first embodiment.

第1の通信部11は、PC101に接続され、データを授受する。具体的には、第1の通信部11は、データをPC101へ送信する送信ポートと、PC101から送信されてきたデータを受信する受信ポートにより構成されている。   The first communication unit 11 is connected to the PC 101 and exchanges data. Specifically, the first communication unit 11 includes a transmission port that transmits data to the PC 101 and a reception port that receives data transmitted from the PC 101.

第2の通信部12は、ネットワーク202側から、第1の通信部11により送信するためのデータを受信し、第1の通信部11により受信したデータをネットワーク202側に送信する。具体的には、第2の通信部12は、ネットワーク202側へデータを送信する送信ポートと、ネットワーク202側から送信されてきたデータを受信する受信ポートにより構成されている。   The second communication unit 12 receives data to be transmitted by the first communication unit 11 from the network 202 side, and transmits the data received by the first communication unit 11 to the network 202 side. Specifically, the second communication unit 12 includes a transmission port that transmits data to the network 202 side and a reception port that receives data transmitted from the network 202 side.

第2のトークン生成部21は、所定のデータ量により構成されているトークンを生成する。第2のトークン記憶部22は、第2のトークン生成部21で生成されたトークンを記憶する。第2の検出部23は、第2のトークン記憶部22に記憶されているトークン量を検出する。第2の制御部24は、第2の検出部23により検出されたトークン量が第1の閾値に達したか否かを判断し、トークン量が第1の閾値に達していると判断した場合には、第2の通信部12により受信したデータを当該トークン量に応じた分だけ第1の通信部11によりPC101へ送信するように制御する。   The second token generation unit 21 generates a token configured with a predetermined amount of data. The second token storage unit 22 stores the token generated by the second token generation unit 21. The second detection unit 23 detects the token amount stored in the second token storage unit 22. The second control unit 24 determines whether or not the token amount detected by the second detection unit 23 has reached the first threshold, and determines that the token amount has reached the first threshold Is controlled so that the data received by the second communication unit 12 is transmitted to the PC 101 by the first communication unit 11 by an amount corresponding to the token amount.

また、第2の制御部24は、第2のトークン記憶部22に蓄積されるトークンが第1の閾値に達したことを第2の検出部23による検出結果から判断した場合に、蓄積されているトークン量に見合う分のデータを第1の通信部11によりPC101へ送信するように制御する。また、第2の制御部24は、データが送信された後、送信されたデータに見合う分のトークンを第2のトークン記憶部22から削減する。   Further, the second control unit 24 accumulates the token when it is determined from the detection result by the second detection unit 23 that the token accumulated in the second token storage unit 22 has reached the first threshold. Control is performed so that data corresponding to the token amount is transmitted to the PC 101 by the first communication unit 11. In addition, after the data is transmitted, the second control unit 24 reduces tokens corresponding to the transmitted data from the second token storage unit 22.

また、第2の判断部25は、ネットワーク202側の機器(以下、PC301という。)がデータの輻輳に対する輻輳制御機能を有しているか否かを判断する。
このように構成される場合には、第2の制御部24は、第2の検出部23により検出されたトークン量が第1の閾値よりも小さい第2の閾値以下であり、第2の判断部25によりネットワーク202側のPC301が輻輳制御機能を有していると判断した場合には、第1の通信部11により受信したデータに対し、当該輻輳制御機能を有効にするための第4の制御情報を付加して第2の通信部12に送出させる。なお、トークン量が第2の閾値以下になっているということは、トークンが不足していることを意味している。
The second determination unit 25 determines whether a device on the network 202 side (hereinafter referred to as a PC 301) has a congestion control function for data congestion.
In such a configuration, the second control unit 24 determines that the token amount detected by the second detection unit 23 is equal to or smaller than the second threshold value which is smaller than the first threshold value, and the second determination is made. When it is determined by the unit 25 that the PC 301 on the network 202 side has the congestion control function, the fourth data for enabling the congestion control function for the data received by the first communication unit 11 The control information is added and sent to the second communication unit 12. Note that the token amount being equal to or smaller than the second threshold means that there are not enough tokens.

第2の制御部24は、トークン量が第2の閾値以下の状態が一定時間以上継続している場合には、PC101で輻輳が生じていると判断し、データに付加されるTCPヘッダの制御ビットのECEフラグ(第4の制御情報に相当する)を「1」にセットしてネットワーク202に送信する。PC301は、第4の制御情報を受信した場合には、輻輳ウィンドウを減少させる。このようにして、PC301は、輻輳ウィンドウを減少するので、ネットワーク202を介して通信機器1へ送信するデータ量(パケット量)を減少する。また、PC301は、輻輳ウィンドウを減少させた後、規定上定められた量にしたがって輻輳ウィンドウを少しずつ増加させて行き、時間をかけてウィンドウの幅を元に戻してゆく。   The second control unit 24 determines that congestion has occurred in the PC 101 when the token amount is equal to or less than the second threshold for a certain period of time, and controls the TCP header added to the data. The bit ECE flag (corresponding to the fourth control information) is set to “1” and transmitted to the network 202. When receiving the fourth control information, the PC 301 reduces the congestion window. In this way, the PC 301 reduces the congestion window, and thus reduces the amount of data (packet amount) transmitted to the communication device 1 via the network 202. In addition, after reducing the congestion window, the PC 301 gradually increases the congestion window according to a predetermined amount, and restores the window width over time.

このようにして、通信機器1は、PC301がECNに対応している場合には、トークン量(トークンレート)に応じて、PC301との間において輻輳制御を行うことができる。   In this way, when the PC 301 is compatible with ECN, the communication device 1 can perform congestion control with the PC 301 according to the token amount (token rate).

したがって、トークンレートを利用してトラフィック制御を行う従来の構成では、通信機器に対するデータの入力速度がデータの出力速度よりも大きくなり、通信機器内部のパケットバッファが溢れてしまい、パケットが消失する危険性があったが、本実施形態に係る通信機器1では、パケットの消失を回避することができる。   Therefore, in the conventional configuration in which traffic control is performed using the token rate, the data input speed to the communication device becomes larger than the data output speed, the packet buffer inside the communication device overflows, and the packet may be lost. However, the communication device 1 according to the present embodiment can avoid packet loss.

また、通信機器1では、上述したようにパケットの消失を回避することができるので、パケットの消失に起因して生じるパケットの再送を抑制することができ、回線リソースの有効活用を図ることができる。
また、通信機器1では、パケットバッファへのバッファリング処理を不要とすることもできるので、従来の構成に比べて処理負担の軽減を図ることができる。
In addition, since the communication device 1 can avoid packet loss as described above, packet retransmission caused by packet loss can be suppressed, and line resources can be effectively used. .
In addition, since the communication device 1 can eliminate the need for buffering processing to the packet buffer, the processing load can be reduced as compared with the conventional configuration.

第2の判断部25は、第2の通信部12により受信したデータに輻輳制御機能を有する旨の第5の制御情報が含まれているか否かによりネットワーク202側のPC301が輻輳制御機能を有しているか否かを判断する。
具体的には、第2の判断部25は、第2の通信部12により受信したデータに含まれているTCPヘッダの制御ビットのECEフラグとCWRフラグ(第5の制御情報に相当する)が「1」にセットされていればPC301が輻輳制御機能を有していると判断する。
The second determination unit 25 determines that the PC 301 on the network 202 side has the congestion control function depending on whether or not the data received by the second communication unit 12 includes the fifth control information indicating that the data has the congestion control function. Judge whether or not.
Specifically, the second determination unit 25 includes an ECE flag and a CWR flag (corresponding to fifth control information) of control bits of the TCP header included in the data received by the second communication unit 12. If it is set to “1”, it is determined that the PC 301 has a congestion control function.

また、第2の制御部24は、第2の通信部12によりネットワーク202側のPC301から輻輳ウィンドウを減少させた旨の第6の制御情報が付加されたデータを受信した場合には、データから第6の制御情報を削除し、当該第6の制御情報が削除されたデータを第1の通信部11によりPC101へ送信するように制御する。   In addition, when the second control unit 24 receives data to which the sixth control information indicating that the congestion window has been reduced is received from the PC 301 on the network 202 side by the second communication unit 12, Control is performed such that the sixth control information is deleted, and the data from which the sixth control information has been deleted is transmitted to the PC 101 by the first communication unit 11.

具体的には、第2の制御部24は、PC301からTCPヘッダの制御ビットのCWRフラグ(第6の制御情報に相当する)が「1」にセットされたデータを受信した場合には、CWRフラグを「0」にセットし直したデータをPC101へ送信するように制御する。
このように構成されることにより、ネットワーク202を介してPC301と通信機器1との間において輻輳の制御を行い、PC101には影響を与えないようにすることができる。
Specifically, when the second control unit 24 receives data from the PC 301 in which the CWR flag (corresponding to the sixth control information) of the control bit of the TCP header is set to “1”, the CWR Control is performed so that data with the flag set to “0” is transmitted to the PC 101.
With this configuration, it is possible to control congestion between the PC 301 and the communication device 1 via the network 202 so that the PC 101 is not affected.

<TCPコネクションの確立シーケンス(1)>
ここで、PC101がECNに対応しており、ネットワーク202側がECNに対応していない場合におけるTCPコネクションの確立シーケンスについて、図5を参照しながら説明する。なお、ネットワーク202側とは、ネットワーク202に接続されており、PC101の送信先の機器を含めた概念である。
PC101は、TCP確立を行うためにSYN(Synchronize)パケットを送信する(ステップST1)。当該SYNパケットには、ECNに対応していることを示すECEフラグとCWRフラグが付加されている。
また、通信機器1は、当該SYNパケットによりPC101がECNに対応していることを記憶し、そのままネットワークに転送する(ステップST2)。
ネットワーク202側は、送信されてきたSYNパケットに対し、SYN/ACK(SYN−Acknowledgement)パケットを送信(返信)する(ステップST3)。ここで、ネットワーク202側がECNに対応していない場合には、ECEフラグは付加されない。
<TCP connection establishment sequence (1)>
Here, a TCP connection establishment sequence when the PC 101 supports ECN and the network 202 does not support ECN will be described with reference to FIG. Note that the network 202 side is a concept that is connected to the network 202 and includes a transmission destination device of the PC 101.
The PC 101 transmits a SYN (Synchronize) packet to establish TCP (step ST1). The SYN packet is added with an ECE flag and a CWR flag indicating that the SYN packet is supported.
Further, the communication device 1 stores that the PC 101 supports ECN by the SYN packet, and transfers it to the network as it is (step ST2).
The network 202 transmits (replies) a SYN / ACK (SYN-Acknowledgement) packet to the transmitted SYN packet (step ST3). Here, when the network 202 does not support ECN, the ECE flag is not added.

そして、通信機器1は、PC101がECNをサポートしているため、ネットワーク202側から返信されてきたパケットのヘッダにECEフラグを付加してPC101に送信し、自身のECNを有効状態にする(ステップST4)。   Then, since the PC 101 supports ECN, the communication device 1 adds the ECE flag to the header of the packet returned from the network 202 side and transmits the packet to the PC 101 to make its own ECN valid (step). ST4).

つまり、通信機器1は、TCP確立の3wayハンドシェイクにおいて、ネットワーク202側から受信したTCP/IPパケットのヘッダの制御ビットにECEフラグが付加されていない場合、通信機器1のECNを有効状態「ON」にし、ヘッダの制御ビットにECEフラグを付加し、ネットワーク202側がECNを有しているかのようにPC101に見せることにより、PC101のECNを有効状態にする。以降は、PC101と通信機器1との間でECN制御を行う。   That is, if the ECE flag is not added to the control bit of the header of the TCP / IP packet received from the network 202 side in the three-way handshake for establishing TCP, the communication device 1 sets the ECN of the communication device 1 to the valid state “ON The ECE flag is added to the control bit of the header, and the PC 202 is shown to the PC 101 as if it has an ECN, thereby making the ECN of the PC 101 valid. Thereafter, ECN control is performed between the PC 101 and the communication device 1.

このように構成されることにより、通信機器1は、あたかもネットワーク202側がECNをサポートしているかのようにPC101に見せかけることができる。したがって、TCPコネクションの確立シーケンス以降、PC101と通信機器1との間では、ECN制御によりデータ通信を行うことができる。   With this configuration, the communication device 1 can appear to the PC 101 as if the network 202 side supports ECN. Therefore, after the TCP connection establishment sequence, data communication can be performed between the PC 101 and the communication device 1 by ECN control.

<TCPコネクションの確立シーケンス(2)>
つぎに、PC101がECNに対応しておらず、ネットワーク202側がECNに対応している場合におけるTCPコネクションの確立シーケンスについて、図6を参照しながら説明する。なお、ネットワーク202側とは、ネットワーク202に接続されており、PC101の送信先の機器を含めた概念である。
<TCP connection establishment sequence (2)>
Next, a TCP connection establishment sequence when the PC 101 does not support ECN and the network 202 supports ECN will be described with reference to FIG. Note that the network 202 side is a concept that is connected to the network 202 and includes a transmission destination device of the PC 101.

PC101は、TCP確立を行うためにSYNパケットを送信する(ステップST11)。本シーケンスにおいては、PC101は、ECNに対応していないため、SYNパケットにはECEフラグとCWRフラグが付加されていない。
また、通信機器1は、当該SYNパケットのヘッダにECEフラグとCWRフラグを付加し、ネットワーク202側に転送する(ステップST12)。この動作により、通信機器1は、あたかもPC101がECNに対応しているかのようにネットワーク202側に見せることができる。
The PC 101 transmits a SYN packet to establish TCP (step ST11). In this sequence, since the PC 101 does not support ECN, the ECE flag and the CWR flag are not added to the SYN packet.
In addition, the communication device 1 adds the ECE flag and the CWR flag to the header of the SYN packet, and transfers them to the network 202 side (step ST12). With this operation, the communication device 1 can be shown to the network 202 side as if the PC 101 is compatible with ECN.

また、ネットワーク202は、受信したSYNパケットに対し、SYN/ACK(SYN−Acknowledgement)パケットに対する応答パケットを返信する(ステップST13)。当該応答パケットには、ECNに対応していることを示すECEフラグが付加されている。
また、通信機器1は、PC101がECNに対応していないため、ネットワーク202から送信されてきた応答パケットのヘッダからECEフラグを除去して、PC101に転送する(ステップST14)。
Further, the network 202 returns a response packet to the SYN / ACK (SYN-Acknowledgement) packet in response to the received SYN packet (step ST13). An ECE flag indicating that the response packet is compatible with ECN is added.
Further, since the PC 101 does not support ECN, the communication device 1 removes the ECE flag from the header of the response packet transmitted from the network 202 and transfers it to the PC 101 (step ST14).

つまり、通信機器1は、TCP確立の3wayハンドシェイクにおいて、PC101から受信したTCP/IPパケットのヘッダ部を改変してECEフラグを付加し、あたかもPC101がECNに対応しているかのようにネットワーク202側に見せかけ、ネットワーク側のECNを有効な状態にすることができる。以降は、ネットワーク202側と通信機器1との間でECN制御を行う。   That is, the communication device 1 modifies the header part of the TCP / IP packet received from the PC 101 and adds the ECE flag in the three-way handshake for establishing the TCP, and the network 202 is as if the PC 101 supports ECN. The ECN on the network side can be made valid. Thereafter, ECN control is performed between the network 202 side and the communication device 1.

なお、PC101とネットワーク202側の双方がECNに対応していない場合には、通信機器1は、単にネゴシエーションの状況をモニタし、ECNが使用可能となったかどうかを記憶するように動作する。   Note that when both the PC 101 and the network 202 do not support ECN, the communication device 1 simply monitors the status of negotiation and operates to store whether ECN is available.

<ネットワーク202側で輻輳が生じた場合のPC101の動作>
つぎに、ネットワーク202側で輻輳が生じた場合のPC101の動作について図7を参照しながら説明する。
通信機器1は、PC101からネットワーク202側への上りパケットを出力するだけのトークンが所定量に達していない、つまり、第2の閾値以下の状態が一定時間以上継続したことを検出する(ステップST21)。なお、通信機器1は、トークンが所定量に達していない場合には、ネットワーク202側に上りパケットを出力できない。
<Operation of PC 101 when congestion occurs on network 202>
Next, the operation of the PC 101 when congestion occurs on the network 202 side will be described with reference to FIG.
The communication device 1 detects that the number of tokens that can only output an upstream packet from the PC 101 to the network 202 has not reached a predetermined amount, that is, that the state below the second threshold has continued for a certain period of time (step ST21). ). Note that the communication device 1 cannot output an upstream packet to the network 202 side when the token has not reached a predetermined amount.

通信機器1は、ステップST21の工程によりトークンが所定量に達していないことを検出した場合には、その後にネットワーク202側から受信した応答パケット(図7中においては、「Ack#=2000」)のTCPヘッダ部に、輻輳が発生したことを示すECEフラグを付加してPC101に転送する(ステップST22)。   When the communication device 1 detects that the token has not reached the predetermined amount in the process of step ST21, the communication device 1 subsequently receives a response packet ("Ack # = 2000" in FIG. 7). An ECE flag indicating that congestion has occurred is added to the TCP header portion of the packet and transferred to the PC 101 (step ST22).

PC101は、ECEフラグが付加された応答パケットを受信すると、ECNの輻輳制御にしたがって輻輳ウィンドウを減少させる(ステップST23)。そして、PC101は、輻輳ウィンドウを減少した後に出力する送信パケット(図7中においては、「Seq#=6000」)のTCPヘッダに輻輳ウィンドウを減少させたことを示すCWRフラグを付加する(ステップST24)。
通信機器1は、受信した送信パケットのTCPヘッダのCWRフラグを除去して、ネットワーク202側に転送する(ステップST25)。
When receiving the response packet to which the ECE flag is added, the PC 101 reduces the congestion window in accordance with ECN congestion control (step ST23). Then, the PC 101 adds a CWR flag indicating that the congestion window has been reduced to the TCP header of the transmission packet ("Seq # = 6000" in FIG. 7) that is output after the congestion window is reduced (step ST24). ).
The communication device 1 removes the CWR flag from the TCP header of the received transmission packet and transfers it to the network 202 side (step ST25).

このようにして、通信機器1は、3wayハンドシェイクによってPC101がECNに対応していることが確認できた場合には、ネットワーク202側がECNに対応していなくても上りパケットの送信速度を制限することができる。具体的には、通信機器1は、トラフィック制御のトークンバケット機構とトークンレートを利用し、トークンが足りない場合にはPC101側にECNによる輻輳通知を行い、PC101側の送信速度を制御する。   In this way, when it is confirmed that the PC 101 is compatible with ECN by the 3-way handshake, the communication device 1 limits the transmission rate of the upstream packet even if the network 202 does not support ECN. be able to. Specifically, the communication device 1 uses a traffic control token bucket mechanism and a token rate. When there are not enough tokens, the communication device 1 notifies the PC 101 of congestion by ECN and controls the transmission speed on the PC 101 side.

<PC101で輻輳が生じた場合のネットワーク202側の動作>
つぎに、PC101で輻輳が生じた場合のネットワーク202側の動作について図8を参照しながら説明する。
通信機器1は、ネットワーク202側からPC101への下りパケットを出力するだけのトークンが所定量に達していない、つまり、第2の閾値以下の状態が一定時間以上継続したことを検出する(ステップST31)。なお、通信機器1は、トークンが所定量に達していない場合には、PC101に下りパケットを出力できない。
<Operation on the network 202 side when the PC 101 is congested>
Next, an operation on the network 202 side when congestion occurs in the PC 101 will be described with reference to FIG.
The communication device 1 detects that the number of tokens that only output a downlink packet from the network 202 side to the PC 101 has not reached a predetermined amount, that is, the state that the state equal to or lower than the second threshold has continued for a certain time or longer (step ST31). ). Note that the communication device 1 cannot output a downlink packet to the PC 101 when the token has not reached the predetermined amount.

通信機器1は、ステップST31の工程によりトークンが所定量に達していないことを検出した場合には、その後にPC101から受信した応答パケット(図8中においては、「Ack#=2000」)のTCPヘッダ部に、輻輳が発生したことを示すECEフラグを付加してネットワーク202側に転送する(ステップST32)。   When the communication device 1 detects that the token has not reached the predetermined amount in the process of step ST31, the TCP of the response packet ("Ack # = 2000" in FIG. 8) received from the PC 101 thereafter. An ECE flag indicating that congestion has occurred is added to the header portion and transferred to the network 202 side (step ST32).

ネットワーク202側は、ECEフラグが付加された応答パケットを受信すると、ECNの輻輳制御にしたがって輻輳ウィンドウを減少させる(ステップST33)。そして、ネットワーク202側は、輻輳ウィンドウを減少した後に出力する送信パケット(図8中においては、「Seq#=6000」)のTCPヘッダに輻輳ウィンドウを減少させたことを示すCWRフラグを付加する(ステップST34)。
通信機器1は、受信した送信パケットのTCPヘッダのCWRフラグを除去して、PC101に転送する(ステップST35)。
Upon receiving the response packet with the ECE flag added, the network 202 side reduces the congestion window in accordance with ECN congestion control (step ST33). Then, the network 202 side adds a CWR flag indicating that the congestion window has been reduced to the TCP header of the transmission packet ("Seq # = 6000" in FIG. 8) that is output after the congestion window has been reduced ( Step ST34).
The communication device 1 removes the CWR flag from the TCP header of the received transmission packet and transfers it to the PC 101 (step ST35).

このようにして、通信機器1は、3wayハンドシェイクによってネットワーク202側がECNに対応していることが確認できた場合には、PC101がECNに対応していなくても下りパケットの送信速度を制限することができる。具体的には、通信機器1は、トラフィック制御のトークンバケット機構とトークンレートを利用し、トークンが足りない場合にはネットワーク202側にECNによる輻輳通知を行い、ネットワーク202側の送信速度を制御する。   In this way, when the communication device 1 can confirm that the network 202 side supports ECN by the 3-way handshake, the communication device 1 limits the transmission rate of the downlink packet even if the PC 101 does not support ECN. be able to. Specifically, the communication device 1 uses a token bucket mechanism and a token rate for traffic control. When there are not enough tokens, the communication device 1 notifies the network 202 of congestion by ECN and controls the transmission speed on the network 202 side. .

1 通信機器
11 第1の通信部
12 第2の通信部
13 第1のトークン生成部
14 第1のトークン記憶部
15 第1の検出部
16 第1の制御部
17 第1の判断部
21 第2のトークン生成部
22 第2のトークン記憶部
23 第2の検出部
24 第2の制御部
25 第2の判断部
DESCRIPTION OF SYMBOLS 1 Communication apparatus 11 1st communication part 12 2nd communication part 13 1st token production | generation part 14 1st token memory | storage part 15 1st detection part 16 1st control part 17 1st judgment part 21 2nd Token generation unit 22 second token storage unit 23 second detection unit 24 second control unit 25 second determination unit

Claims (6)

外部機器に接続され、データを授受する第1の通信部と、
ネットワーク側に対して前記第1の通信部により受信したデータを送出し、ネットワーク側からデータを受信する第2の通信部と、
所定のデータ量により構成されているトークンを生成する第1のトークン生成部と、
前記トークンを記憶する第1のトークン記憶部と、
前記第1のトークン記憶部に記憶されているトークン量を検出する第1の検出部と、
前記第1の検出部により検出されたトークン量が第1の閾値に達したか否かを判断し、前記トークン量が前記第1の閾値に達していると判断した場合には、前記第1の通信部により受信したデータを当該トークン量に応じた分だけ前記第2の通信部により前記ネットワークへ送信するように制御する第1の制御部と、
前記第1の通信部により接続される前記外部機器がデータの輻輳に対する輻輳制御機能を有しているか否かを判断する第1の判断部と、を備え、
前記第1の制御部は、前記第1の検出部により検出されたトークン量が前記第1の閾値よりも小さい第2の閾値以下であり、前記第1の判断部により前記第1の通信部により接続される前記外部機器が前記輻輳制御機能を有していると判断した場合には、前記第1の通信部が送信するデータに対し、当該輻輳制御機能を有効にするための第1の制御情報を付加して前記第1の通信部に送出させる
ことを特徴とする通信機器。
A first communication unit that is connected to an external device and exchanges data;
A second communication unit that sends data received by the first communication unit to the network side and receives data from the network side;
A first token generating unit that generates a token configured with a predetermined amount of data;
A first token storage unit for storing the token;
A first detection unit for detecting a token amount stored in the first token storage unit;
It is determined whether or not the token amount detected by the first detection unit has reached a first threshold, and when it is determined that the token amount has reached the first threshold, the first amount A first control unit that controls the data received by the communication unit to be transmitted to the network by the second communication unit by an amount corresponding to the token amount;
And a first determining section for determining whether a congestion control function the external device for data congestion being connected by said first communication unit,
The first control unit has a token amount detected by the first detection unit equal to or less than a second threshold value that is smaller than the first threshold value, and the first determination unit causes the first communication unit to When it is determined that the external device connected by the first communication unit has the congestion control function, first data for enabling the congestion control function with respect to data transmitted by the first communication unit. A communication device, wherein control information is added and the first communication unit sends the control information.
前記第1の判断部は、前記第1の通信部により受信したデータに前記輻輳制御機能を有する旨の第2の制御情報が含まれているか否かにより前記第1の通信部により接続される前記外部機器が前記輻輳制御機能を有しているか否かを判断する
ことを特徴とする請求項1記載の通信機器。
Wherein the first determination unit is connected by the first communication unit according to whether the second control information that has the congestion control function in the received data is included by the first communication unit The communication device according to claim 1, wherein it is determined whether or not the external device has the congestion control function.
前記第1の制御部は、前記第1の通信部により、接続される前記外部機器から輻輳ウィンドウを減少させた旨の第3の制御情報が付加されたデータを受信した場合には、前記データから前記第3の制御情報を削除し、当該第3の制御情報が削除されたデータを前記第2の通信部により前記ネットワークへ送信する
ことを特徴とする請求項1又は2に記載の通信機器。
When the first control unit receives the data to which the third control information indicating that the congestion window has been reduced is received from the connected external device by the first communication unit, the data The communication apparatus according to claim 1, wherein the third control information is deleted from the network, and the data from which the third control information is deleted is transmitted to the network by the second communication unit. .
外部機器に接続され、データを授受する第1の通信部と、
ネットワーク側から、前記第1の通信部により送信するためのデータを受信し、前記第1の通信部により受信したデータを前記ネットワーク側に送信する第2の通信部と、
所定のデータ量により構成されているトークンを生成する第2のトークン生成部と、
前記トークンを記憶する第2のトークン記憶部と、
前記第2のトークン記憶部に記憶されているトークン量を検出する第2の検出部と、
前記第2の検出部により検出されたトークン量が第1の閾値に達したか否かを判断し、前記トークン量が前記第1の閾値に達していると判断した場合には、前記第2の通信部により受信したデータを当該トークン量に応じた分だけ前記第1の通信部により前記外部機器へ送信するように制御する第2の制御部と、
前記ネットワーク側の機器がデータの輻輳に対する輻輳制御機能を有しているか否かを判断する第2の判断部と、を備え、
前記第2の制御部は、前記第2の検出部により検出されたトークン量が前記第1の閾値よりも小さい第2の閾値以下であり、前記第2の判断部によりネットワーク側の機器が前記輻輳制御機能を有していると判断した場合には、前記第1の通信部により受信したデータに対し、当該輻輳制御機能を有効にするための第4の制御情報を付加して前記第2の通信部に送出させる
ことを特徴とする通信機器。
A first communication unit that is connected to an external device and exchanges data;
A second communication unit that receives data to be transmitted by the first communication unit from the network side, and transmits data received by the first communication unit to the network side;
A second token generation unit that generates a token configured with a predetermined amount of data;
A second token storage unit for storing the token;
A second detection unit for detecting a token amount stored in the second token storage unit;
It is determined whether or not the token amount detected by the second detection unit has reached a first threshold, and if it is determined that the token amount has reached the first threshold, the second amount A second control unit that controls the first communication unit to transmit the data received by the communication unit to the external device by an amount corresponding to the token amount;
A second determination unit that determines whether or not the network-side device has a congestion control function for data congestion; and
The second control unit is configured such that the token amount detected by the second detection unit is equal to or smaller than a second threshold value that is smaller than the first threshold value, and the second determination unit causes the network side device to If it is determined that the congestion control function is provided, the second control information for enabling the congestion control function is added to the data received by the first communication unit to add the second control information. A communication device characterized by being sent to a communication unit.
前記第2の判断部は、前記第2の通信部により受信したデータに前記輻輳制御機能を有する旨の第5の制御情報が含まれているか否かにより前記ネットワーク側の機器が前記輻輳制御機能を有しているか否かを判断する
ことを特徴とする請求項4記載の通信機器。
The second determination unit determines whether the network side device has the congestion control function depending on whether or not the data received by the second communication unit includes fifth control information indicating that the congestion control function is included. The communication device according to claim 4, wherein it is determined whether or not the communication device is included.
前記第2の制御部は、前記第2の通信部により前記ネットワーク側の機器から輻輳ウィンドウを減少させた旨の第6の制御情報が付加されたデータを受信した場合には、前記データから前記第6の制御情報を削除し、当該第6の制御情報が削除されたデータを前記第1の通信部により前記外部機器へ送信する
ことを特徴とする請求項5記載の通信機器。
When the second control unit receives data to which sixth control information indicating that a congestion window has been reduced is received from the network side device by the second communication unit, 6. The communication device according to claim 5, wherein the sixth control information is deleted, and data from which the sixth control information is deleted is transmitted to the external device by the first communication unit.
JP2009077262A 2009-03-26 2009-03-26 Communication equipment Expired - Fee Related JP5405870B2 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2009077262A JP5405870B2 (en) 2009-03-26 2009-03-26 Communication equipment
US12/748,337 US20100246400A1 (en) 2009-03-26 2010-03-26 Communication device and method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009077262A JP5405870B2 (en) 2009-03-26 2009-03-26 Communication equipment

Publications (2)

Publication Number Publication Date
JP2010232876A JP2010232876A (en) 2010-10-14
JP5405870B2 true JP5405870B2 (en) 2014-02-05

Family

ID=43048286

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009077262A Expired - Fee Related JP5405870B2 (en) 2009-03-26 2009-03-26 Communication equipment

Country Status (1)

Country Link
JP (1) JP5405870B2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160145116A (en) * 2014-04-14 2016-12-19 마이크로소프트 테크놀로지 라이센싱, 엘엘씨 Battery efficient synchronization of communications using a token bucket

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5887324B2 (en) 2013-11-15 2016-03-16 アラクサラネットワークス株式会社 Relay device and relay method
JP6263102B2 (en) * 2014-08-01 2018-01-17 Kddi株式会社 WIRELESS TERMINAL, COMMUNICATION SYSTEM, PROGRAM, AND METHOD WHICH CAN SET WINDOW SIZE ACCORDING TO CONDUCTION LEVEL ON BACKHAUL

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3882187B2 (en) * 2001-04-19 2007-02-14 日本電気株式会社 Flow control system and method
US20050182848A1 (en) * 2003-12-29 2005-08-18 Mcneil Roy Jr. Rate limiting using pause frame capability
JP4577230B2 (en) * 2006-02-17 2010-11-10 Kddi株式会社 Traffic control apparatus, method, and program using token bucket
JP2009060283A (en) * 2007-08-30 2009-03-19 Nec Corp Congestion control method, congestion control system, congestion control node device, node device, and control program
JP2009147874A (en) * 2007-12-18 2009-07-02 Kddi Corp Traffic control device, traffic control method, and traffic control program

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160145116A (en) * 2014-04-14 2016-12-19 마이크로소프트 테크놀로지 라이센싱, 엘엘씨 Battery efficient synchronization of communications using a token bucket
KR102317693B1 (en) 2014-04-14 2021-10-25 마이크로소프트 테크놀로지 라이센싱, 엘엘씨 Battery efficient synchronization of communications using a token bucket

Also Published As

Publication number Publication date
JP2010232876A (en) 2010-10-14

Similar Documents

Publication Publication Date Title
EP2204017B1 (en) Efficient flow control in an rnc
US8014287B2 (en) Communications apparatus
JP5238036B2 (en) Limiting RLC window size in HSDPA flow control
CN102006283B (en) Data transmission method and device
JP4878391B2 (en) Scheduling and queue management with adaptive queue latency
US20100246400A1 (en) Communication device and method
CN102148662B (en) Adjusting method and device for data transmitting speed
KR100600607B1 (en) Ark control device and control method in wireless portable internet system
JPWO2005027456A1 (en) Communication system, communication apparatus, and data retransmission control method
JP5020076B2 (en) High performance TCP suitable for low frequency ACK system
WO2005008946A1 (en) Base station device and transmission method
JP2008005021A (en) Retransmission control method and apparatus
WO2010100837A1 (en) Communication rate control method, transmission apparatus, and communication system
WO2005088917A1 (en) Control station apparatus, base station apparatus, terminal apparatus, packet communication system, and packet communication method
CN101494531B (en) Method and apparatus for adjusting slide window
CN103825689B (en) Delay determinacy message retransmission method with local cache
KR20170142513A (en) Apparatus for multinet aggregation transmission, and packet scheduling method thereof
JP5405870B2 (en) Communication equipment
US20070217389A1 (en) Apparatus and method for processing data in a wireless network
WO2018028638A1 (en) Method, device, system, related equipment and storage medium for use in information transmission
JP2004297127A (en) Mobile terminals and servers
JP2003274445A (en) Wireless packet communication device and wireless packet communication method
JP5275107B2 (en) Communication equipment
JP5371112B2 (en) Wireless traffic control device
EP2177064B1 (en) Control of data flow

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120228

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20120803

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20121221

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130122

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130315

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20131008

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20131031

R150 Certificate of patent or registration of utility model

Ref document number: 5405870

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees