JP6850618B2 - Relay device and relay method - Google Patents
Relay device and relay method Download PDFInfo
- Publication number
- JP6850618B2 JP6850618B2 JP2017013594A JP2017013594A JP6850618B2 JP 6850618 B2 JP6850618 B2 JP 6850618B2 JP 2017013594 A JP2017013594 A JP 2017013594A JP 2017013594 A JP2017013594 A JP 2017013594A JP 6850618 B2 JP6850618 B2 JP 6850618B2
- Authority
- JP
- Japan
- Prior art keywords
- packet
- queue
- flow
- unit
- learning
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims description 57
- 238000012545 processing Methods 0.000 claims description 83
- 230000005540 biological transmission Effects 0.000 claims description 9
- 238000006243 chemical reaction Methods 0.000 description 53
- 230000007246 mechanism Effects 0.000 description 31
- 230000008569 process Effects 0.000 description 26
- 238000004891 communication Methods 0.000 description 15
- 230000006870 function Effects 0.000 description 11
- 238000010586 diagram Methods 0.000 description 8
- FFBHFFJDDLITSX-UHFFFAOYSA-N benzyl N-[2-hydroxy-4-(3-oxomorpholin-4-yl)phenyl]carbamate Chemical compound OC1=C(NC(=O)OCC2=CC=CC=C2)C=CC(=C1)N1CCOCC1=O FFBHFFJDDLITSX-UHFFFAOYSA-N 0.000 description 4
- 230000032683 aging Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012552 review Methods 0.000 description 1
- 238000007493 shaping process Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Description
本発明は、パケット群を中継する中継装置に関する。 The present invention relates to a relay device that relays a packet group.
近年、動画や音声といった電子的なコンテンツをネットワーク経由でリアルタイム配信する、いわゆるストリーミング技術が普及している。かかるストリーミングをインターネットを介して実現する場合、多数のユーザ間で同一の回線が共用される。このため、帯域あたりのコストが低く抑えられる。一方で、通信パケットの廃棄量を抑制することにより、通信品質(QoS:Quality of Service)が確保される。このようなことから、中継装置はシェーパを搭載し、一度に多量に送信されるデータを一定レートに平準化して転送する技術が知られている(たとえば、下記特許文献1を参照)。
In recent years, so-called streaming technology, which delivers electronic contents such as video and audio in real time via a network, has become widespread. When such streaming is realized via the Internet, the same line is shared among a large number of users. Therefore, the cost per band can be kept low. On the other hand, communication quality (Quality of Service) is ensured by suppressing the amount of communication packets discarded. For this reason, a technique is known in which a relay device is equipped with a shaper and a large amount of data transmitted at one time is leveled at a constant rate and transferred (see, for example,
特許文献1は、ユーザやサービスに対応したフロー条件を予め構成定義情報として設定しておき、受信した通信パケットを、フローごとに用意したキューに一旦蓄積して、予め定めたシェーピング条件(送出帯域値や優先度)に基づいて通信パケットの転送を行う技術を開示する。
In
特許文献2は、入力フローをパケットのヘッダ情報などを元に一定のハッシュ関数によりハッシュ値へ変換し、ハッシュ値に対応したキューに自動で振り分けることにより通信の平準化を行う技術を開示する。また、特許文献2は、ハッシュ値のコリジョンなどにより廃棄が発生した場合は、ハッシュ関数を変更することで再度、平準化を行う技術を開示する。
しかしながら、特許文献1の技術は、ユーザやサービスごとにフローを設定する必要があるため、多数のユーザやサービスに対応することが困難である。たとえば、数百万のユーザごとにフローを設定する場合、キューの数をユーザ数と同一数分確保することは困難である。仮に、数百万のキューを確保したとしても、記憶媒体の容量の膨大化、または、受信パケットの振り分け処理によって生じる過大な負荷は、大幅なコスト増加を招き、現実的ではない。しかも、アクティブ率の低いユーザのキューを確保することは非効率である。
However, in the technique of
また、特許文献2の技術では、ハッシュ関数の変更後もハッシュ値のコリジョンが発生する可能性がある。またこれにより、ハッシュ関数の変更が頻発することで送信パケットの順序逆転が頻発する可能性がある。
Further, in the technique of
本発明は、記憶容量の増加を抑制しつつ通信品質の向上を図ることを目的とする。 An object of the present invention is to improve communication quality while suppressing an increase in storage capacity.
本願において開示される発明の一側面となる中継装置および中継方法は、パケット群を中継する中継装置及びその中継方法であって、中継装置は、第1フローに属し前記第1フローを特定する第1特定情報を含む第1パケットを格納する1以上の第1キューと、前記第1特定情報から変換されたハッシュ値と同一ハッシュ値に変換され第2フローを特定する第2特定情報を含む第2パケットを格納する1以上の第2キューと、を有するキュー群と、前記ハッシュ値と前記第1キューとを対応付けた第1対応情報を記憶する第1記憶部と、前記第2特定情報と前記第2キューとを対応付けた第2対応情報を記憶する第2記憶部と、を有し、中継装置は、受信部により、前記パケット群を受信し、振分部により、前記受信部によって受信されたパケット群の各々のパケットに含まれており前記パケットが属するフローを特定する特定情報が前記第2特定情報に一致するか否かを判定し、一致する場合には前記第2対応情報を参照して前記パケットを前記第2パケットとして前記第2キューに振り分け、一致しない場合には前記特定情報を前記ハッシュ値に変換し、前記第1対応情報を参照して前記パケットを前記第1パケットとして前記第1キューに振り分け、送信部により、前記振分部によって前記第1キューおよび前記第2キューに振り分けられた前記パケット群を送信することを特徴とする。 The relay device and the relay method which are one aspect of the invention disclosed in the present application are the relay device and the relay method for relaying the packet group, and the relay device belongs to the first flow and specifies the first flow. 1 A second including one or more first queues for storing a first packet containing specific information, and a second specific information converted into the same hash value as the hash value converted from the first specific information and specifying a second flow. A queue group having one or more second queues for storing two packets, a first storage unit for storing first correspondence information in which the hash value is associated with the first queue, and the second specific information. It has a second storage unit that stores the second correspondence information in which the second queue is associated with the second queue, and the relay device receives the packet group by the receiving unit and the receiving unit by the distribution unit. It is determined whether or not the specific information included in each packet of the packet group received by the packet and specifying the flow to which the packet belongs matches the second specific information, and if they match, the second correspondence is performed. With reference to the information, the packet is distributed to the second queue as the second packet, and if they do not match, the specific information is converted into the hash value, and the packet is referred to the first correspondence information to be the first packet. The packet group is distributed to the first queue as one packet, and the transmitting unit transmits the packet group distributed to the first queue and the second queue by the distribution unit.
本発明の代表的な実施の形態によれば、記憶容量の増加を抑制しつつ通信品質の向上を図ることができる。前述した以外の課題、構成及び効果は、以下の実施例の説明により明らかにされる。 According to a typical embodiment of the present invention, it is possible to improve the communication quality while suppressing the increase in the storage capacity. Issues, configurations and effects other than those described above will be clarified by the description of the following examples.
<システム構成例>
図1は、通信システムの一例を示す説明図である。通信システム100は、動画等のコンテンツをストリーミングによってユーザに提供するネットワークシステムである。図示するように、通信システム100は、サーバSV1,SV2と、中継装置であるルータRT1〜RT5と、端末であるパーソナルコンピュータPC1〜PC3とを備えている。
<System configuration example>
FIG. 1 is an explanatory diagram showing an example of a communication system. The
サーバSV1,SV2は、コンテンツを提供するサーバであり、各種コンテンツを記憶する。サーバSV1,SV2は、ルータRT1に直接的に接続されている。なお、ルータRT1に接続されるサーバの数は、説明を簡単にするために2つとして示しているが、3以上であってもよい。 The servers SV1 and SV2 are servers that provide contents and store various contents. The servers SV1 and SV2 are directly connected to the router RT1. The number of servers connected to the router RT1 is shown as two for the sake of simplicity, but may be three or more.
ルータRT1は、ネットワークNTに接続される。ネットワークNTは、たとえば、インターネットである。ただし、ネットワークNTの種類は、特に限定するものではなく、専用回線などのWAN(Wide Area Network)であってもよいし、LAN(Local Area Network)であってもよい。 Router RT1 is connected to network NT. The network NT is, for example, the Internet. However, the type of network NT is not particularly limited, and may be a WAN (Wide Area Network) such as a dedicated line, or a LAN (Local Area Network).
また、ルータRT2は、ネットワークNTに接続される。サーバSV1,SV2,ルータRT1,RT2は、たとえば、コンテンツ配信サービスを行うISP(Internet Service Provider)により設置される。ルータRT2は、各家庭A〜Cに設置されたルータRT3〜RT5を介して、パーソナルコンピュータPC1〜PC3にそれぞれ接続される。ルータRT2とルータRT3〜RT5との間には、他の中継装置や集線装置が介在してもよい。 Further, the router RT2 is connected to the network NT. The servers SV1, SV2, routers RT1 and RT2 are installed, for example, by an ISP (Internet Service Provider) that provides a content distribution service. The router RT2 is connected to the personal computers PC1 to PC3 via the routers RT3 to RT5 installed in the homes A to C, respectively. Another relay device or line concentrator may be interposed between the routers RT2 and the routers RT3 to RT5.
パーソナルコンピュータPC1〜PC3は、汎用のパーソナルコンピュータである。なお、ルータRT3〜RT5に接続される端末は、サーバSV1,SV2の配信するコンテンツを利用可能なコンピュータであればよく、たとえば、ネットワーク対応テレビなどであってもよい。また、ルータRT3〜RT5には、複数の端末が接続されていてもよい。また、ルータRT2は、説明を簡単にするために、家庭A〜Cのネットワークに接続されるものとしたが、実際には、たとえば、数千や数万の家庭のネットワークに接続される。 The personal computers PC1 to PC3 are general-purpose personal computers. The terminals connected to the routers RT3 to RT5 may be any computer that can use the contents distributed by the servers SV1 and SV2, and may be, for example, a network-compatible television. Further, a plurality of terminals may be connected to the routers RT3 to RT5. Further, the router RT2 is assumed to be connected to the networks of homes A to C for the sake of simplicity, but in reality, it is connected to the networks of thousands or tens of thousands of homes, for example.
通信システム100において、サーバSV1,SV2は、パーソナルコンピュータPC1〜PC3から、コンテンツの利用要求を受け付けると、利用要求されたコンテンツを、利用要求元のパーソナルコンピュータPC1〜PC3に配信する。ルータRT1,RT2は、サーバSV1,SV2が配信するパケットを受信すると、それぞれのパケットを一旦バッファに蓄積し、平準化してパーソナルコンピュータPC1〜PC3に向けて転送する。パーソナルコンピュータPC1〜PC3は、ルータRT3〜RT5を介して、転送されたパケットを受信して、予めインストールされたアプリケーションで利用する。
In the
<ルータの構成例>
図2は、ルータの構成例を示すブロック図である。なお、図1に示したルータRT1,RT2は、本実施例においては同一構成であるので、以下では、特に断る場合を除いて、ルータRT1の構成について説明する。ルータRT1は、受信部201と振分部202と学習部203とバッファ204と帯域制御部205と送信部206と学習結果処理部207とを備えている。
<Router configuration example>
FIG. 2 is a block diagram showing a configuration example of a router. Since the routers RT1 and RT2 shown in FIG. 1 have the same configuration in this embodiment, the configuration of the router RT1 will be described below unless otherwise specified. The router RT1 includes a
受信部201は、外部からパケットPを受信するインタフェースである。本実施例では、受信部201は、2つの物理ポート(不図示)を備える。この2つの物理ポートには、サーバSV1,SV2が接続される。受信部201は、サーバSV1,SV2からパケットPを受信して、振分部202に出力する。なお、受信部201は、3つ以上の物理ポートを備えていてもよい。この場合、受信部201は、3以上のサーバに接続されてもよい。
The
振分部202は、受信部201が受信したパケットPを、バッファ204に確保されたキューQ1〜Qn(nは2以上の任意の整数。キューQ1〜Qnを区別しない場合、キューQと表記する。)のいずれかへ振り分ける。具体的には、たとえば、振分部202は、パケットPのヘッダhに含まれているヘッダ情報を、所定のハッシュ関数でハッシュ値に変換し、当該パケットPをハッシュ値に対応したキューQに振り分ける。
The
振分部202は、判定部221とハッシュ値テーブル222とを有する。判定部221は、パケットPのヘッダhに含まれているヘッダ情報をハッシュ関数に与えハッシュ値に変換する。ここで、ハッシュ関数に与えられる情報を、「ハッシュ変換キーk」と呼称する。ハッシュ変換キーkとして使用するヘッダ情報としては、たとえば、MACヘッダなどのレイヤ2ヘッダ、IPv4ヘッダやIPv6ヘッダなどのレイヤ3ヘッダおよびTCPヘッダやUPCヘッダなどのレイヤ4ヘッダのいずれかまたは複数のフィールドを使用してもよい。フィールドの選択は装置固定でもよいし、装置運用者が指定可能としてもよい。ハッシュ変換キーkは、そのパケットPが属するフローFを特定するフロー特定情報である。本例では、説明を簡略化するため、ヘッダ情報の一例として送信元IPアドレスを用いる。
The
判定部221は、正常なフローF(以下、正常フローFa)とコリジョンしたフローF(以下、コリジョンフローFb)に属するパケットPのハッシュ変換キーkbを保持しており、受信部201からのパケットPのハッシュ変換キーkと一致するか否かを判定する。
The
コリジョンとは、ハッシュ値の衝突である。すなわち、正常フローFaに属するパケットPに含まれるハッシュ変換キーk(以下、ハッシュ変換キーkaを表記)から得られるハッシュ値Hと、コリジョンフローFbに属するパケットPに含まれるハッシュ変換キーk(以下、ハッシュ変換キーkbを表記。kb≠ka)から得られるハッシュ値Hとが、同一の値になることである。すなわち、正常フローFaとコリジョンフローFbは、ハッシュ変換キーkは異なるがハッシュ値は同一となるパケットPが流れるフローFである。 Collision is a collision of hash values. That is, the hash value H obtained from the hash conversion key k included in the packet P belonging to the normal flow Fa (hereinafter, the hash conversion key ka is expressed) and the hash conversion key k included in the packet P belonging to the collision flow Fb (hereinafter referred to as the hash conversion key ka). , The hash conversion key kb is expressed. The hash value H obtained from kb ≠ ka) is the same value. That is, the normal flow Fa and the collision flow Fb are flows F through which packets P having different hash conversion keys k but having the same hash value flow.
不一致の場合、判定部221は、上述したように受信部201からのパケットPのハッシュ変換キーkをハッシュ値Hに変換する。一方、一致する場合、判定部221は、受信部201からのパケットPのハッシュ変換キーkをハッシュ変換せず、正常フローFaをキューイングするキューQaとは別に用意されている予備領域のキューQbに当該パケットPを送出する。
In the case of a mismatch, the
ハッシュ値テーブル222は、判定部221から得られたハッシュ値Hと、バッファ204のキューQとを対応付けたテーブルである。たとえば、ハッシュ値Hが1の場合、対応するキューQはQ1といった情報を格納する。なお、振分部202は、たとえば、集積回路により実現される。ハッシュ値テーブル222は、集積回路内のメモリに格納される。
The hash value table 222 is a table in which the hash value H obtained from the
学習部203は、振分部202によって対応する複数のキューQに振り分けられたフローF1〜Fn(フローF1〜Fnを区別しない場合、フローFと表記する。)を監視して、どのフローFのパケットがどのキューQに振り分けられるかを学習する。具体的には、たとえば、学習部203は、キューQごとにパケットPの流量を監視し、ハッシュ変換キーkを元に、同一のキューQに複数のフローFのパケットPが格納されるのを検出する。学習部203は、同一のキューQに複数のフローFのパケットPが格納されるのを検出した場合、複数のフローFのうちいずれか1つのフローFを正常フローFaとして学習し、残余のフローFを、コリジョンフローFbとして学習する。
The
学習部203は、振分部202による振り分けにしたがってキューQにパケットPを送出し、学習結果を学習結果処理部207に出力する。学習結果は、たとえば、コリジョンフローFbに属するパケットPのハッシュ変換キーkを含む。なお、学習部203は、たとえば、集積回路、または、メモリに記憶されたプログラムをプロセッサに実行させることにより実現される。
The
バッファ204は、受信部201が受信したパケットPを一時的に蓄積する記憶領域であり、複数のキューQ1〜Qnを有する。本実施例では、キューQ1〜Qnの各々には、たとえば、同一の記憶容量が割り当てられている。複数のキューQ1〜Qnには、上述したように、振分部202が決定した振り分け結果によって、受信した各々のパケットPが格納される。なお、輻輳時には、キューQ1〜Qnの容量を超えるパケットPは、廃棄される。たとえば、キューQに容量分のパケットPが既に蓄積されている場合には、新たにバッファ204に入力されるパケットPは、当該キューQに格納されずに破棄される。
The
帯域制御部205は、キューQ1〜Qnごとに帯域を制御して、キューQ1〜Qnに蓄積されたパケットPを送信部206に出力する。具体的には、たとえば、帯域制御部140は、予め設定された帯域制御ルールに基づいてスケジューリングを行い、キューQ1〜Qnから順次パケットPを読み出して、送信部206に出力する。なお、帯域制御部205は、たとえば、集積回路により実現される。
The
送信部206は、パケットPを外部へ送信するインタフェースである。本実施例では、均等割り当て方式によってスケジュールリングを行うこととした。具体的には、たとえば、キューQ1〜Qnに蓄積されたパケットPは、キューQ1〜Qn間で均等な頻度で読み出される。ただし、スケジューリングアルゴリズムは、特に限定するものではなく、たとえば、重み付け均等割り当て方式などであってもよい。また、最低帯域保証方式、最大帯域規制方式、余剰帯域重み付け分配方式などを用いてもよい。
The
学習結果処理部207は、学習部203より学習結果を受け取り、各種処理を実行する。たとえば、学習結果処理部207は、学習結果を振分部202に反映させる。具体的には、たとえば、学習結果処理部207は、振分部202を制御して、上述した予備領域のキューQと学習結果に含まれるハッシュ変換キーkbとを関連付ける。これにより、振分部202は、当該ハッシュ変換キーを含むパケットPを受信した場合、ハッシュ値に変換せずに、対応するキューQに送出する。
The learning
また、学習結果処理部207は、振分部202を制御して、予備領域のキューQと関連付けたハッシュ変換キーkbを、たとえば、エージングにより削除する。学習結果処理部207は、振分部202を制御して、予備領域のキューQと関連付けたハッシュ変換キーkbを、たとえば、当該コリジョンフローFの流量が所定量以下となったことを学習部203から取得した場合に削除してもよい。
Further, the learning
また、学習結果処理部207は、トラップまたはシステムログなどのメッセージを用いて、送信部206から学習結果を運用者の端末に送信したり、または、図示しない表示部に表示したりすることで、運用者に学習結果を通知する。学習結果処理部207は、学習結果が登録または削除した場合、当該情報を運用者に通知してもよい。なお、学習結果処理部207は、具体的には、たとえば、当該学習結果処理部207の処理を実行するプログラムをプロセッサに実行させることで実現される。
Further, the learning
<振分部202の詳細構成例>
図3は、振分部202の詳細な構成例を示す説明図である。振分部202は、判定部221とハッシュ値テーブル222とを有する。判定部221は、変換部301と、学習結果テーブル302と、を有する。変換部301は、パケットPのハッシュ変換キーkaをハッシュ値Hに変換する。学習結果テーブル302は、予備領域ハッシュ変換キー321と、予備領域キュー322と、を関連付けたテーブルである。予備領域ハッシュ変換キー321は、コリジョンフローFに属するパケットPのハッシュ変換キーkbを記憶する記憶領域である。予備領域キュー322は、コリジョンフローFが送出されるキューQbの識別情報を記憶する記憶領域である。
<Detailed configuration example of
FIG. 3 is an explanatory diagram showing a detailed configuration example of the
学習結果テーブル302のエントリは、エージングにより一定期間経過すると、学習結果処理部207により削除される。また、学習結果テーブル302のエントリは、予備領域ハッシュ変換キー321に対応するコリジョンフローFの流量が所定量以下となった場合、学習結果処理部207により削除されてもよい。学習結果テーブル302は、集積回路内のメモリに格納される。
The entry in the learning result table 302 is deleted by the learning
ハッシュ値テーブル222は、ハッシュ値303と、キュー304と、使用中フラグ305と、を有する。ハッシュ値303は、ハッシュ値H1〜Hi(iはnよりも小さい整数。nはキューQの総数。ハッシュ値H1〜Hiを区別しない場合、ハッシュ値Hと表記する。)を記憶する記憶領域である。
The hash value table 222 has a
キュー304は、キューQa1〜Qai(キューQa1〜Qaiを区別しない場合、キューQaと表記する。)の識別情報を記憶する記憶領域である。具体的には、たとえば、キューQa1〜Qaiはそれぞれ、ハッシュ値Hに対応する。キューQa1〜Qaiは、たとえば、キューQ1〜Qiである。なお、キューQaを通常領域と称す。
The
キューQb1〜Qbj(jは、n−iとなる整数。キューQb1〜Qbjを区別しない場合、キューQbと表記する。)は、ハッシュ値303と対応付けされない。キューQb1〜Qbjは、たとえば、キューQi+1〜Qnである。なお、キューQbを予備領域と称す。パケットPは、通常領域のキューQaに送出されるが、コリジョンが判明するとコリジョンフローFbに属するパケットPは、予備領域のキューQbに送出される。なお、キューQa,Qbを区別しない場合、キューQと表記する。
The queues Qb1 to Qbj (j is an integer to be n−i. When the queues Qb1 to Qbj are not distinguished, they are referred to as queues Qb) are not associated with the
使用中フラグ305は、予備領域のエントリについて使用中フラグを記憶する記憶領域である。判定部221は、コリジョンフローFbに属するパケットPを送出すべきキューQを探索する場合、予備領域の使用中フラグ305を参照する。使用中フラグ305の値fb1〜Fbj(使用中フラグ305の値fb1〜Fbjと特定しない場合、使用中フラグ305の値fb、または、使用中フラグfbと表記する)は、ONまたはOFFの2値である。「ON」は、使用中を意味し、「OFF」は使用されていないことを意味する。コリジョンフローFに属するパケットPをキューQに送出する場合、判定部221は、使用中フラグ305の値fbがOFFであるキュー304(Qb)を特定し、そのキュー304(Qb)に当該パケットPを送出する。
The in-
<学習部203の詳細構成例>
図4は、学習部203の詳細な構成例を示す説明図である。学習部203は、学習機構LRNt1〜LRNtm(mは、0≦m≦nを満たす整数。学習機構LRNt1〜LRNtmを区別しない場合、学習機構LRNtと表記する。)を有する。たとえば、1つの学習機構LRNtは、1以上のフローFの振分先となるキューQに対応する。図4では、フローF1、F2が同一のキューQに振り分けられたため、学習機構LRNt1がフローF1、F2を監視、学習する。同様に、学習機構LRNt2がフローF3、F4を監視、学習する。学習機構LRNtm−1がフローFn−3、Fn−2を監視、学習する。学習機構LRNtmがフローFn−1、Fnを監視、学習する。
<Detailed configuration example of
FIG. 4 is an explanatory diagram showing a detailed configuration example of the
また、図4では、たとえば、学習部203の負荷低減のため、学習部203は、学習機構LRNt1〜LRNtmによる処理を時間t1〜tm(時間t1〜tmを区別しない場合、時間tと表記する。)で、時分割で実行する。時間tmでの処理が完了した場合、再度時間t1に対応する学習機構LRNt1から再度繰り返す。なお、1つの学習機構LRNtがいくつのフローFを担当するか、および、時間t1〜tmを何時間にするかは、ルータRT1の運用者が固定的に指定可能としてもよく、また、学習部203でのCPU使用率に連動して自動で決定してもよい。たとえば、学習部203は、CPU使用率が高くなると、1つの学習機構LRNtが担当するフロー数を減少させたり、時間tを短縮したりする。逆に、学習部203は、CPU使用率が低くなると、1つの学習機構LRNtが担当するフロー数を増加させたり、時間tを長くしたりする。
Further, in FIG. 4, for example, in order to reduce the load on the
学習機構LRNtは、学習対象となるフローFについてコリジョンしているか否かを監視する。具体的には、たとえば、学習機構LRNtは、ハッシュ変換キーkが異なる複数のパケットPが学習機構LRNtを通過する場合、学習機構LRNtは、コリジョンが発生していると判定する。たとえば、学習機構LRNtは、ハッシュ変換キーkが異なる複数のパケットPが学習機構LRNtを通過する場合、先着パケットPのハッシュ変換キーkに対応するフローFを正常フローFaに決定し、残余のフローFをコリジョンフローFbに決定する。この学習以降は、振分先となるキューQaには正常フローFaが流れ、コリジョンフローFbは、予備領域のキューQbに流れることになる。 The learning mechanism LRNt monitors whether or not the flow F to be learned collides. Specifically, for example, the learning mechanism LRNt determines that a collision has occurred when a plurality of packets P having different hash conversion keys k pass through the learning mechanism LRNt. For example, when a plurality of packets P having different hash conversion keys k pass through the learning mechanism LRNt, the learning mechanism LRNt determines the flow F corresponding to the hash conversion key k of the first-come-first-served packet P as the normal flow Fa, and the remaining flow. Determine F as collision flow Fb. After this learning, the normal flow Fa flows to the queue Qa that is the distribution destination, and the collision flow Fb flows to the queue Qb in the preliminary region.
このように、先着パケットPで正常フローFaを決定することにより、学習機構LRNtでの学習処理の高速化や処理負荷の軽減を図ることができる。なお、学習機構LRNtは、先着パケットPではなく、時間t内でのハッシュ変換キーkごとの最大パケット数となるフローFを正常フローFaに決定してもよい。これにより、学習機構LRNtでの学習処理の高精度化を図ることができる。なお、最大パケット数となるフローFが複数ある場合、先着パケットPで正常フローFaを決定すればよい。これにより、可能な限り学習処理の高精度化を図りつつ、学習処理の効率化を図ることができる。 By determining the normal flow Fa in the first-come-first-served packet P in this way, it is possible to speed up the learning process and reduce the processing load in the learning mechanism LRNt. The learning mechanism LRNt may determine the flow F, which is the maximum number of packets for each hash conversion key k within the time t, as the normal flow Fa, instead of the first-come-first-served packet P. As a result, it is possible to improve the accuracy of the learning process in the learning mechanism LRNt. When there are a plurality of flows F having the maximum number of packets, the normal flow Fa may be determined by the first-come-first-served packet P. As a result, it is possible to improve the efficiency of the learning process while improving the accuracy of the learning process as much as possible.
<振分部202による振り分け処理手順例>
図5は、振分部202による振り分け処理手順例を示すフローチャートである。振分部202は、受信部201からパケットPを取得すると(ステップS501)、振分部202は、取得したパケットPのヘッダhに含まれているヘッダ情報の少なくとも一部のフィールド(たとえば、送信元IPアドレス)をハッシュ変換キーkとして取得する(ステップS502)。
<Example of distribution processing procedure by
FIG. 5 is a flowchart showing an example of the distribution processing procedure by the
振分部202は、取得したパケットPはコリジョンフローFのパケットPであるか否かを判断する(ステップS503)。具体的には、たとえば、振分部202は、学習結果テーブル302の予備領域ハッシュ変換キー321を参照し、取得したパケットPのハッシュ変換キーkに一致するか否かを判断する。取得したパケットPのハッシュ変換キーkに一致する場合、取得したパケットPはコリジョンフローFのパケットPとなる(ステップS503:Yes)。したがって、ステップS507に移行する。一方、取得したパケットPのハッシュ変換キーkに一致しない場合、取得したパケットPは正常フローFaのパケットPとなる(ステップS503:No)。したがって、ステップS504に移行する。
The
ステップS504において、振分部202は、ステップS502で取得したハッシュ変換キーkをハッシュ関数に与えてハッシュ値Hを算出する(ステップS504)。そして、振分部202は、ハッシュ値テーブル222の通常領域のエントリ群を参照して、キュー304から、ハッシュ値303(算出ハッシュ値H)に対応するキューQaを特定する。振分部202は、特定したキューQaに、ステップS501で取得したパケットPを出力する(ステップS506)。これにより、振分部202の振分処理は終了する。
In step S504, the
また、ステップS507において、振分部202は、ステップS503で取得したハッシュ変換キーkbに対応するキューQbを学習結果テーブル302から特定する(ステップS507)。振分部202は、特定したキューQbに、ステップS501で取得したパケットPを出力する(ステップS506)。これにより、振分部202の振分処理は終了する。
Further, in step S507, the
<学習部による学習処理手順例>
図6は、学習部203による学習処理手順例を示すフローチャートである。学習部203は、学習機構LRNtによる時分割処理を開始する(ステップS601)。ステップS602〜S604は、各学習機構LRNtによる学習処理である。学習機構LRNtは、通過するフローFを時間t内で学習する(ステップS602)。学習機構LRNtは、複数のフローFが通過しているか否かを判断する(ステップS603)。複数のフローFが通過していない場合(ステップS603:No)、学習機構LRNtの学習処理は終了し、ステップS605に移行する。
<Example of learning process procedure by the learning department>
FIG. 6 is a flowchart showing an example of a learning processing procedure by the
一方、複数のフローFが通過している場合(ステップS603:Yes)、学習機構LRNtは、先着パケットPまたはハッシュ変換キーkごとの最大パケット数により、正常フローFaのパケットPのハッシュ変換キーkaと、コリジョンフローFbのハッシュ変換キーkbとを特定する(ステップS604)。これにより、学習機構LRNtの学習処理は終了し、ステップS605に移行する。 On the other hand, when a plurality of flows F have passed (step S603: Yes), the learning mechanism LRNt determines the hash conversion key ka of the packet P of the normal flow Fa depending on the maximum number of packets for each first-come-first-served packet P or the hash conversion key k. And the hash conversion key kb of the collision flow Fb (step S604). As a result, the learning process of the learning mechanism LRNt is completed, and the process proceeds to step S605.
学習部203は、各学習機構LRNtによる学習処理が終了すると、各学習機構LRNtにといて特定されたコリジョンフローFbのハッシュ変換キーkbと、ハッシュ値テーブル222の予備領域において現在使用されていない(使用中フラグ305がOFF)キューQb(の識別情報)と、を学習結果として学習結果処理部207に出力する(ステップS605)。これにより、学習部203による学習処理は終了する。
When the learning process by each learning mechanism LRNt is completed, the
<学習結果処理部207による学習結果処理手順例>
図7は、学習結果処理部207による学習結果処理手順例を示すフローチャートである。学習結果処理部207は、学習部203から学習結果であるハッシュ変換キーkbを取得する(ステップS701)。学習結果処理部207は、学習結果から、ハッシュ変換キーkbとキューQb(の識別情報)とを1つずつ取り出して対応付け、組を生成する(ステップS702)。学習結果処理部207は、未選択の組があるか否かを判断する(ステップS703)。未選択の組がある場合(ステップS703:Yes)、学習結果処理部207は、未選択の組を1つ選択する(ステップS704)。
<Example of learning result processing procedure by learning
FIG. 7 is a flowchart showing an example of the learning result processing procedure by the learning
学習結果処理部207は、選択した組を学習結果テーブル302に登録する(ステップS705)。学習結果処理部207は、選択した組のキューQbについて、ハッシュ値テーブル222の使用中フラグ305の値fbをONにする(ステップS706)。そして、ステップS703に戻る。ステップS703において、未選択の組がない場合(ステップS703:No)、学習結果処理は終了する。
The learning
<学習結果処理部207による予備領域更新処理1>
つぎに、学習結果処理部207による予備領域更新処理1について説明する。予備領域更新処理1では、学習結果処理部207は、振分部202を制御して、学習結果テーブル302のエントリをエージングにより削除する。これにより、古いコリジョンフローFbから最新のコリジョンフローFbに予備領域のキューQbを割り当てることができる。以下、詳細な処理手順例について説明する。
<Preliminary
Next, the preliminary
図8は、学習結果処理部207による予備領域更新処理1の詳細な処理手順例を示すフローチャートである。まず、学習結果処理部207は、ステップS706のハッシュ変換キーkbの登録が完了を待ち受ける(ステップS801:No)。完了した場合(ステップS801:Yes)、学習結果処理部207は、当該登録したハッシュ変換キーkbについて計時を開始する(ステップS802)。そして、学習結果処理部207は、所定時間経過するのを待ち受ける(ステップS803:No)。所定時間経過した場合(ステップS803:Yes)、学習結果処理部207は、ステップS706で登録したハッシュ変換キーkbのエントリを学習結果テーブル302から削除する(ステップS804)。
FIG. 8 is a flowchart showing a detailed processing procedure example of the preliminary
そして、学習結果処理部207は、ステップS804で削除したハッシュ変換キーkbに対応する予備領域の使用中フラグ305の値fbをOFFにし(ステップS805)、予備領域更新処理1が終了する。これにより、古いコリジョンフローFbから最新のコリジョンフローFbに予備領域のキューQbを割り当てることができる。また、コリジョンフローFの流量を監視する必要がないため、学習処理部における処理負荷の低減を図ることができる。
Then, the learning
<学習結果処理部207による予備領域更新処理2>
つぎに、学習結果処理部207による予備領域更新処理2について説明する。予備領域更新処理2では、学習結果処理部207は、学習部203からコリジョンフローFの流量を監視し、振分部202を制御して、所定量以下となったコリジョンフローFのエントリを削除する。これにより、流量が多いほどコリジョンフローFに予備領域のキューQbを割り当てることができる。以下、詳細な処理手順例について説明する。
<Preliminary
Next, the preliminary
図9は、学習結果処理部207による予備領域更新処理2の詳細な処理手順例を示すフローチャートである。まず、学習結果処理部207は、コリジョンフローFを予備領域のキューQbに送出する学習機構LRNtからコリジョンフローFの流量を取得する(ステップS901)。学習結果処理部207は、取得した流量が所定量以下のコリジョンフローFbがあるか否かを判断する(ステップS902)。所定量は、あらかじめ運用者により設定される。
FIG. 9 is a flowchart showing a detailed processing procedure example of the preliminary
取得した流量が所定量以下のコリジョンフローFbがない場合(ステップS902:No)、予備領域更新処理2が終了する。一方、取得した流量が所定量以下のコリジョンフローFbがある場合(ステップS902:Yes)、学習結果処理部207は、所定量以下のコリジョンフローFbに対応するエントリを学習結果テーブル302から削除する(ステップS903)。学習結果処理部207は、削除したハッシュ変換キーkbに対応する予備領域キュー322(Qb)を特定し、特定したキューQbに対応する予備領域の使用中フラグ305の値fbをOFFにし(ステップS904)、予備領域更新処理2が終了する。これにより、流量が多いほどコリジョンフローFbに予備領域のキューQbを割り当てることができる。したがって、高精度な振分けを実現することができる。
When there is no collision flow Fb whose acquired flow rate is equal to or less than a predetermined amount (step S902: No), the preliminary
なお、図9では、所定量以下のコリジョンフローFbに対応するエントリを学習結果テーブル302から削除する(ステップS903)こととしたが、一定期間連続して、所定量以下となった場合に、そのコリジョンフローFbに対応するエントリを学習結果テーブル302から削除してもよい。これにより、より高精度な振分けを実現することができる。 In FIG. 9, the entry corresponding to the collision flow Fb of the predetermined amount or less is deleted from the learning result table 302 (step S903), but when the collision flow Fb is continuously equal to or less than the predetermined amount for a certain period of time, the entry is deleted. The entry corresponding to the collision flow Fb may be deleted from the learning result table 302. As a result, more accurate distribution can be realized.
このように、本実施例のルータRT1は、パケット群を中継する中継装置であって、1以上の第1キュー(キューQa)と1以上の第2キュー(キューQb)とを有するキュー群(バッファ204)と、第1対応情報(ハッシュ値テーブル222)と、第2対応情報(学習結果テーブル302)と、を有する。 As described above, the router RT1 of the present embodiment is a relay device that relays the packet group, and has a queue group (queue Qa) having one or more first queues (queue Qa) and one or more second queues (queue Qb). It has a buffer 204), a first correspondence information (hash value table 222), and a second correspondence information (learning result table 302).
第1キューは、第1パケットを格納する。第1パケットは、第1フロー(正常フローFa)に属し、第1フローを特定する第1特定情報(ハッシュ変換キーka)を含む。第2キューは、第2パケットを格納する。第2パケットは、第1特定情報から変換されたハッシュ値と同一ハッシュ値に変換され、第2フロー(コリジョンフローFb)を特定する第2特定情報(ハッシュ変換キーkb)を含む。 The first queue stores the first packet. The first packet belongs to the first flow (normal flow Fa) and includes the first specific information (hash conversion key ka) that specifies the first flow. The second queue stores the second packet. The second packet is converted into the same hash value as the hash value converted from the first specific information, and includes the second specific information (hash conversion key kb) that specifies the second flow (collision flow Fb).
第1対応情報は、ハッシュ値と第1キューを指定する第1キュー(Qa)とを対応付けて記憶する。第2対応情報は、第2特定情報と第2キューを指定する第2キュー(Qb)とを対応付けて記憶する。 The first correspondence information is stored in association with the hash value and the first queue (Qa) that specifies the first queue. The second correspondence information is stored in association with the second specific information and the second queue (Qb) that specifies the second queue.
ルータRT1は、パケット群を受信する受信部201と、振分部202と、送信部206と、を有する。振分部202は、受信部201によって受信されたパケット群の各々のパケットに含まれておりパケットが属するフローを特定する特定情報(ハッシュ変換キーk)が第2特定情報に一致するか否かを、判定部221により判定する。振分部202は、一致する場合には第2対応情報を参照してパケットを第2パケットとして第2キューに振り分け、一致しない場合には特定情報をハッシュ値に変換し、第1対応情報を参照してパケットを第1パケットとして第1キューに振り分ける。
The router RT1 has a receiving
送信部206は、振分部202によって第1キューおよび第2キューに振り分けられたパケット群を送信する。
The
このように、上述したルータRT1では、複数のフローFにおいてコリジョンが発生した場合に、コリジョンフローFbを予備領域のキューQに退避させるため、ユーザやサービスごとにフローを設定する必要がなく、特にアクティブ率の低いユーザのキューQを確保する必要はない。これにより、記憶媒体の容量の膨大化を抑制することができる。また、複数のフローFにおいてコリジョンが発生した場合に、コリジョンフローFbを予備領域のキューQに退避させるため、ハッシュ値のコリジョンを回避でき、パケットPの順序逆転を抑制し、その結果、コリジョンによる輻輳の影響がトラフィック全体に及ぶことを抑制し、通信品質を確保することができる。 As described above, in the router RT1 described above, when a collision occurs in a plurality of flows F, the collision flow Fb is saved in the queue Q of the spare area, so that it is not necessary to set the flow for each user or service. It is not necessary to secure the queue Q of the user with a low active rate. As a result, it is possible to suppress an enormous increase in the capacity of the storage medium. Further, when a collision occurs in a plurality of flows F, the collision flow Fb is saved in the queue Q of the spare area, so that the collision of the hash value can be avoided, the order reversal of the packet P is suppressed, and as a result, the collision causes. It is possible to suppress the influence of congestion on the entire traffic and ensure communication quality.
また、ルータRT1は、学習部203と学習結果処理部207を有してもよい。学習部203は、振分部202によって振り分けられた結果、特定情報が異なるパケットが属する複数のフローFが同一の第1キューに出力されるのを検出し、複数のフローFのうち、特定のフローを第1フローに決定し、特定のフロー以外の他のフローを前記第2フローに決定する。学習結果処理部207は、学習部203によって第2フローに決定された他のフローに属するパケットに含まれる特定情報と、第2対応情報の第2キューの識別情報とを含む学習結果を取得し、第2対応情報に登録する。
Further, the router RT1 may have a
これにより、ルータRT1は、自律的に第2対応情報を更新することができ、通信品質の確保を継続することができる。 As a result, the router RT1 can autonomously update the second correspondence information, and can continue to secure the communication quality.
また、学習結果処理部207は、第2対応情報に、学習結果に含まれる第2キューが使用中であることを示す情報(使用中フラグ305)を付与し、当該付与後に学習結果を取得する場合、使用中であることを示す情報が付与されていない第2キューを選択する。
Further, the learning
これにより、使用中の第2キューの選択を防止することができ、第2キューにおいてもコリジョンを抑制することができる。 As a result, it is possible to prevent the selection of the second cue in use, and it is possible to suppress collision in the second cue as well.
また、学習部203は、複数のフローFのうち先着パケットPを含む特定のフローを第1フローに決定してもよい。これにより、学習部203での学習処理の高速化や処理負荷の軽減を図ることができる。
Further, the
また、学習部203は、複数のフローFのうち一定期間内において流量パケット数が最大となる特定のフローを第1フローに決定してもよい。これにより、学習部203での学習処理の高精度化を図ることができる。
Further, the
また、学習結果処理部207は、第2対応情報のうち登録されてから所定期間経過した学習結果を削除してもよい。これにより、古いコリジョンフローFbから最新のコリジョンフローFbに第2キューを割り当てることができる。
Further, the learning
また、学習結果処理部207は、第2対応情報のうち登録されてからの流量パケット数がしきい値以下となった第2フローに対応する学習結果を削除してもよい。これにより、流量が多いほどコリジョンフローFbに予備領域のキューQbを割り当てることができる。したがって、効率的なキューイングを実現することができる。
Further, the learning
また、学習結果処理部207は、学習結果を運用者に通知することにより、ハッシュ変換キーkbの変更やネットワーク構成の見直しを促すことができる。
Further, the learning
なお、本発明は前述した実施例に限定されるものではなく、添付した特許請求の範囲の趣旨内における様々な変形例及び同等の構成が含まれる。例えば、前述した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに本発明は限定されない。また、ある実施例の構成の一部を他の実施例の構成に置き換えてもよい。また、ある実施例の構成に他の実施例の構成を加えてもよい。また、各実施例の構成の一部について、他の構成の追加、削除、または置換をしてもよい。 The present invention is not limited to the above-described embodiment, and includes various modifications and equivalent configurations within the scope of the attached claims. For example, the above-described examples have been described in detail in order to explain the present invention in an easy-to-understand manner, and the present invention is not necessarily limited to those having all the described configurations. Further, a part of the configuration of one embodiment may be replaced with the configuration of another embodiment. Further, the configuration of another embodiment may be added to the configuration of one embodiment. In addition, other configurations may be added, deleted, or replaced with respect to a part of the configurations of each embodiment.
また、前述した各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等により、ハードウェアで実現してもよく、プロセッサがそれぞれの機能を実現するプログラムを解釈し実行することにより、ソフトウェアで実現してもよい。 Further, each of the above-described configurations, functions, processing units, processing means, etc. may be realized by hardware by designing a part or all of them by, for example, an integrated circuit, and the processor realizes each function. It may be realized by software by interpreting and executing the program to be executed.
各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリ、ハードディスク、SSD(Solid State Drive)等の記憶装置、又は、IC(Integrated Circuit)カード、SDカード、DVD(Digital Versatile Disc)の記録媒体に格納することができる。 Information such as programs, tables, and files that realize each function is recorded in a memory, hard disk, storage device such as SSD (Solid State Drive), or IC (Integrated Circuit) card, SD card, DVD (Digital Versaille Disc). It can be stored in a medium.
また、制御線や情報線は説明上必要と考えられるものを示しており、実装上必要な全ての制御線や情報線を示しているとは限らない。実際には、ほとんど全ての構成が相互に接続されていると考えてよい。 In addition, the control lines and information lines indicate those that are considered necessary for explanation, and do not necessarily indicate all the control lines and information lines necessary for implementation. In practice, it can be considered that almost all configurations are interconnected.
100 通信システム
140 帯域制御部
201 受信部
202 振分部
203 学習部
204 バッファ
205 帯域制御部
206 送信部
207 学習結果処理部
221 判定部
222 ハッシュ値テーブル
301 変換部
302 学習結果テーブル
100 Communication system 140
Claims (8)
第1フローに属し前記第1フローを特定する第1特定情報を含む第1パケットを格納する1以上の第1キューと、前記第1特定情報から変換されたハッシュ値と同一ハッシュ値に変換され第2フローを特定する第2特定情報を含む第2パケットを格納する1以上の第2キューと、を有するキュー群と、
前記ハッシュ値と前記第1キューとを対応付けた第1対応情報を記憶する第1記憶部と、
前記第2特定情報と前記第2キューとを対応付けた第2対応情報を記憶する第2記憶部と、
前記パケット群を受信する受信部と、
前記受信部によって受信されたパケット群の各々のパケットに含まれており前記パケットが属するフローを特定する特定情報が前記第2特定情報に一致するか否かを判定し、一致する場合には前記第2対応情報を参照して前記パケットを前記第2パケットとして前記第2キューに振り分け、一致しない場合には前記特定情報を前記ハッシュ値に変換し、前記第1対応情報を参照して前記パケットを前記第1パケットとして前記第1キューに振り分ける振分部と、
前記振分部によって前記第1キューおよび前記第2キューに振り分けられた前記パケット群を送信する送信部と、
を有することを特徴とする中継装置。 A relay device that relays packets
It is converted into the same hash value as the hash value converted from the first specific information and one or more first queues that belong to the first flow and store the first packet containing the first specific information that specifies the first flow. A queue group having one or more second queues for storing a second packet including a second specific information that specifies a second flow, and a queue group.
A first storage unit that stores first correspondence information in which the hash value and the first queue are associated with each other.
A second storage unit that stores the second correspondence information in which the second specific information and the second queue are associated with each other.
A receiver that receives the packet group and
It is determined whether or not the specific information included in each packet of the packet group received by the receiving unit and specifying the flow to which the packet belongs matches the second specific information, and if they match, the said The packet is distributed to the second queue as the second packet with reference to the second correspondence information, and if they do not match, the specific information is converted into the hash value, and the packet is referred to with reference to the first correspondence information. As the first packet, and a distribution unit that distributes the packet to the first queue.
A transmission unit that transmits the packet group distributed to the first queue and the second queue by the distribution unit, and a transmission unit.
A relay device characterized by having.
前記振分部によって振り分けられた結果、前記特定情報が異なるパケットが属する複数のフローが同一の前記第1キューに出力されるのを検出し、前記複数のフローのうち、特定のフローを前記第1フローに決定し、前記特定のフロー以外の他のフローを前記第2フローに決定する学習部と、
前記学習部によって前記第2フローに決定された前記他のフローに属するパケットに含まれる前記特定情報と、前記第2対応情報の前記第2キューを指定する前記第2キューとを含む学習結果を取得し、前記第2対応情報に登録する学習結果処理部と、
を有することを特徴とする中継装置。 The relay device according to claim 1.
As a result of distribution by the distribution unit, it is detected that a plurality of flows to which packets having different specific information belong are output to the same first queue, and among the plurality of flows, a specific flow is selected as the first queue. A learning unit that determines one flow and determines other flows other than the specific flow as the second flow.
The learning result including the specific information included in the packet belonging to the other flow determined by the learning unit in the second flow and the second queue designating the second queue of the second correspondence information. The learning result processing unit that acquires and registers in the second correspondence information,
A relay device characterized by having.
前記学習結果処理部は、前記第2対応情報に、前記学習結果に含まれる前記第2キューが使用中であることを示す情報を付与し、当該情報の付与後に前記学習結果を取得する場合、前記使用中であることを示す情報が付与されていない他の第2キューを選択することを特徴とする中継装置。 The relay device according to claim 2.
When the learning result processing unit adds information indicating that the second queue included in the learning result is in use to the second correspondence information and acquires the learning result after the information is given. A relay device comprising selecting another second queue to which information indicating that it is in use is not given.
前記学習部は、前記複数のフローのうち先着パケットが属する特定のフローを前記第1フローに決定することを特徴とする中継装置。 The relay device according to claim 2.
The learning unit is a relay device characterized in that a specific flow to which the first-come-first-served packet belongs among the plurality of flows is determined as the first flow.
前記学習部は、前記複数のフローのうち一定期間内において流量パケット数が最大となる特定のフローを前記第1フローに決定することを特徴とする中継装置。 The relay device according to claim 2.
The learning unit is a relay device characterized in that a specific flow having the maximum number of flow rate packets within a certain period of time among the plurality of flows is determined as the first flow.
前記学習結果処理部は、前記第2対応情報のうち登録されてから所定期間経過した学習結果を削除することを特徴とする中継装置。 The relay device according to claim 2.
The learning result processing unit is a relay device characterized by deleting the learning result for which a predetermined period has passed since the registration of the second correspondence information.
前記学習結果処理部は、前記第2対応情報のうち登録されてからの流量パケット数がしきい値以下となった前記第2フローに対応する学習結果を削除することを特徴とする中継装置。 The relay device according to claim 2.
The learning result processing unit is a relay device that deletes the learning result corresponding to the second flow in which the number of flow rate packets after being registered is equal to or less than the threshold value in the second correspondence information.
前記中継装置は、
第1フローに属し前記第1フローを特定する第1特定情報を含む第1パケットを格納する1以上の第1キューと、前記第1特定情報から変換されたハッシュ値と同一ハッシュ値に変換され第2フローを特定する第2特定情報を含む第2パケットを格納する1以上の第2キューと、を有するキュー群と、
前記ハッシュ値と前記第1キューとを対応付けた第1対応情報を記憶する第1記憶部と、
前記第2特定情報と前記第2キューとを対応付けた第2対応情報を記憶する第2記憶部と、を有し、
前記中継方法では、
前記中継装置は、
前記パケット群を受信し、
前記パケット群の各々のパケットに含まれており前記パケットが属するフローを特定する特定情報が前記第2特定情報に一致するか否かを判定し、一致する場合には前記第2対応情報を参照して前記パケットを前記第2パケットとして前記第2キューに振り分け、一致しない場合には前記特定情報を前記ハッシュ値に変換し、前記第1対応情報を参照して前記パケットを前記第1パケットとして前記第1キューに振り分け、
前記第1キューおよび前記第2キューに振り分けられた前記パケット群を送信する、
ことを特徴とする中継方法。 It is a relay method by a relay device that relays a group of packets.
The relay device is
It is converted into the same hash value as the hash value converted from the first specific information and one or more first queues that belong to the first flow and store the first packet containing the first specific information that specifies the first flow. A queue group having one or more second queues for storing a second packet including a second specific information that specifies a second flow, and a queue group.
A first storage unit that stores first correspondence information in which the hash value and the first queue are associated with each other.
It has a second storage unit that stores the second correspondence information in which the second specific information and the second queue are associated with each other.
In the relay method,
The relay device is
Receive the packet group and
It is determined whether or not the specific information included in each packet of the packet group and specifying the flow to which the packet belongs matches the second specific information, and if they match, the second correspondence information is referred to. Then, the packet is distributed to the second queue as the second packet, and if they do not match, the specific information is converted into the hash value, and the packet is referred to as the first packet with reference to the first correspondence information. Sort to the first queue,
The packet group distributed to the first queue and the second queue is transmitted.
A relay method characterized by that.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017013594A JP6850618B2 (en) | 2017-01-27 | 2017-01-27 | Relay device and relay method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017013594A JP6850618B2 (en) | 2017-01-27 | 2017-01-27 | Relay device and relay method |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2018121307A JP2018121307A (en) | 2018-08-02 |
JP6850618B2 true JP6850618B2 (en) | 2021-03-31 |
Family
ID=63045512
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017013594A Active JP6850618B2 (en) | 2017-01-27 | 2017-01-27 | Relay device and relay method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6850618B2 (en) |
-
2017
- 2017-01-27 JP JP2017013594A patent/JP6850618B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP2018121307A (en) | 2018-08-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107005848B (en) | System and method for arranging virtual service gateways for mobility management | |
EP2852125B1 (en) | Server selection for content distribution | |
JP5659125B2 (en) | Relay device and relay method | |
EP3629554A1 (en) | Method, apparatus, and system for load balancing of service chain | |
JP5157472B2 (en) | Load distribution apparatus having bandwidth control function and setting method thereof | |
US11582146B2 (en) | High-quality adaptive bitrate video through multiple links | |
US20140119191A1 (en) | Network management apparatus and method | |
US20160014237A1 (en) | Communication device, communication method, and computer-readable recording medium | |
JP2008263436A (en) | Load distribution device and network apparatus | |
CN112737940A (en) | Data transmission method and device | |
WO2022057131A1 (en) | Data congestion processing method and apparatus, computer device, and storage medium | |
JP2015023453A (en) | Network system, network management device, and application management device | |
JP5962117B2 (en) | Video selection method in an environment with multiple image compression methods | |
JP6850618B2 (en) | Relay device and relay method | |
JP6886874B2 (en) | Edge devices, data processing systems, data transmission methods, and programs | |
JP7097427B2 (en) | Data processing system and data processing method | |
US9774515B2 (en) | Router and resource assignment method thereof | |
JP7211845B2 (en) | Determination server and program for determining quality and path of video segments | |
JP6895354B2 (en) | Communication relay device | |
JP2021111795A (en) | Network system, communication control apparatus, and communication control method | |
JP2015091047A (en) | Packet processing device, packet processing method and packet processing system | |
JP6802763B2 (en) | Relay device and bandwidth control method | |
CN112688985B (en) | Communication method and device | |
JP2008005287A (en) | Packet transfer device, packet transfer method and program | |
EP3192211A2 (en) | Aggregate energy consumption across a network |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20190912 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20200716 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20200721 |
|
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: 20210224 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20210308 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6850618 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |