JP5896055B2 - Priority setting device and computer program - Google Patents

Priority setting device and computer program Download PDF

Info

Publication number
JP5896055B2
JP5896055B2 JP2015034140A JP2015034140A JP5896055B2 JP 5896055 B2 JP5896055 B2 JP 5896055B2 JP 2015034140 A JP2015034140 A JP 2015034140A JP 2015034140 A JP2015034140 A JP 2015034140A JP 5896055 B2 JP5896055 B2 JP 5896055B2
Authority
JP
Japan
Prior art keywords
packet
priority
flow
delay amount
delay
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
JP2015034140A
Other languages
Japanese (ja)
Other versions
JP2015128310A (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.)
Sumitomo Electric Industries Ltd
Original Assignee
Sumitomo Electric Industries Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sumitomo Electric Industries Ltd filed Critical Sumitomo Electric Industries Ltd
Priority to JP2015034140A priority Critical patent/JP5896055B2/en
Publication of JP2015128310A publication Critical patent/JP2015128310A/en
Application granted granted Critical
Publication of JP5896055B2 publication Critical patent/JP5896055B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Description

本発明は、優先制御方式のパケット通信に用いる優先度を設定する装置、及び、その優先度の設定処理をコンピュータに実行させるためのコンピュータプログラムに関する。   The present invention relates to an apparatus for setting a priority used for priority control packet communication, and a computer program for causing a computer to execute the priority setting process.

インターネットのブロードバンド化に伴い、動画や音声などのストリームデータの品質を保証するQoS(Quality of Service)の重要性が大きくなっている。
かかるQoSをサポートするネットワーク機器を使用すれば、遅延が生じると意味をなさない上記のようなトラフィックを、遅延させても特に影響のないファイル交換ソフトのパケットなどよりも優先的に送受信させることができ、ネットワークの利便性ないし使用感が向上する。
With the broadbandization of the Internet, the importance of QoS (Quality of Service) that guarantees the quality of stream data such as video and audio is increasing.
If such a network device that supports QoS is used, it is possible to preferentially send and receive the above-mentioned traffic that does not make sense when a delay occurs, rather than a file exchange software packet that does not particularly affect the delay. This improves the convenience and usability of the network.

かかるQoSをサポートするパケット中継装置では、通常、優先度が異なる複数の送信キューを有しており、中継するパケットをどの優先度キューで送信するかのマッピングを所定のヘッダフィールドの値によって行っている(特許文献1参照)。
例えば、中継するパケットがIPパケットである場合には、IP−Protocol(プロトコル番号)フィールドやTCP/UDPポートフィールドの値に従って、複数の優先度キューへのマッピングが行われる。
A packet relay apparatus that supports such a QoS usually has a plurality of transmission queues having different priorities, and mapping of which priority queue is used to transmit a relayed packet is performed according to a predetermined header field value. (See Patent Document 1).
For example, when the packet to be relayed is an IP packet, mapping to a plurality of priority queues is performed according to the values of the IP-Protocol (protocol number) field and the TCP / UDP port field.

特開2010−4310号公報JP 2010-4310 A

しかし、最近の通信ネットワークではWebを前提としたトラフィックが主流となっているので、上記のようなヘッダフィールドの値に基づいてマッピングする方法では、同じ優先度キューのトラフィックとなる可能性が高く(例えば、HTTPパケットの場合は、IP-Proto=6, Port=80)、ユーザの利便性がさほど向上しないことがある。
この場合、送信元や宛先のIPアドレスなどを考慮に入れて、所望のパケットの優先度を設定すればよいが、この設定をユーザ自身が行うのは極めて煩雑である。
However, in recent communication networks, traffic premised on the Web has become the mainstream, and the mapping method based on the value of the header field as described above is likely to result in traffic of the same priority queue ( For example, in the case of an HTTP packet, IP-Proto = 6, Port = 80), user convenience may not be significantly improved.
In this case, the priority of a desired packet may be set in consideration of the source and destination IP addresses, etc., but it is extremely complicated for the user himself to make this setting.

また、QoSは通信ネットワーク全体における「ユーザエクスペリエンス」(ユーザの使用感・満足感)の向上を図る技術であるから、所望のパケットの優先度をユーザが任意に変更するのは好ましくなく、ネットワークの状態に応じて優先度が柔軟に変更されることが望ましい。   In addition, since QoS is a technique for improving the “user experience” (user's feeling of use / satisfaction) in the entire communication network, it is not preferable for the user to arbitrarily change the priority of a desired packet. It is desirable to change the priority flexibly according to the state.

本発明は、かかる従来の問題点に鑑み、優先制御方式のパケット通信において、ネットワークの状態に応じて優先度を柔軟に変更できるようにすることを目的とする。   SUMMARY OF THE INVENTION The present invention has been made in view of the above-described conventional problems, and it is an object of the present invention to make it possible to flexibly change the priority in accordance with the state of a network in priority control packet communication.

(1) 本発明の優先度設定装置は、優先制御方式のパケット通信に用いる優先度を自動的に設定する優先度設定装置であって、送受信ノードが同じである複数のパケットを取得する取得部と、取得された複数の前記パケットのパケット間遅延に応じて、当該パケットの優先度を設定する設定部と、を備えていることを特徴とする。   (1) A priority setting device according to the present invention is a priority setting device that automatically sets a priority used for packet communication of a priority control method, and acquires a plurality of packets having the same transmission / reception node. And a setting unit that sets the priority of the packet according to the inter-packet delay of the acquired plurality of packets.

本発明の優先度設定装置によれば、設定部が、取得された複数のパケットのパケット間遅延に応じて当該パケットの優先度を設定するので、例えば、パケット間遅延が通常よりも大きいパケットの場合は、現状よりも高優先度にして品質を上げ、パケット間遅延が通常よりも小さいパケットの場合は、現状よりも低優先度に設定して品質を下げるというように、ネットワークの状態に応じて優先度を柔軟に変更することができる。   According to the priority setting apparatus of the present invention, the setting unit sets the priority of the packet according to the inter-packet delay of the acquired plurality of packets. If the packet has a higher priority than the current status and increases the quality, and if the packet delay is smaller than normal, set the priority to a lower priority than the current status to decrease the quality. The priority can be changed flexibly.

(2) 本発明の優先度設定装置において、所定のピリオドに取得された複数の前記パケットの取得時刻に基づいて、前記パケット間遅延の統計量である第1遅延量を算出する算出部を更に備えている場合には、前記設定部は、算出された前記第1遅延量と通常状態における基準遅延量との差に基づいて前記パケットの優先度を設定すればよい。
この場合、例えば、第1遅延量から基準遅延量を引いた差が所定の閾値を超えた場合に、当該パケットのパケット間遅延が大きくなったと判定でき、その閾値以下の場合はパケット間遅延がさほど激しくないと判定することができる。
(2) In the priority setting apparatus of the present invention, a calculation unit that calculates a first delay amount that is a statistic of the inter-packet delay based on acquisition times of the plurality of packets acquired in a predetermined period. If provided, the setting unit may set the priority of the packet based on the difference between the calculated first delay amount and the reference delay amount in the normal state.
In this case, for example, when the difference obtained by subtracting the reference delay amount from the first delay amount exceeds a predetermined threshold value, it can be determined that the inter-packet delay of the packet has increased. It can be determined that it is not so intense.

なお、本明細書において、上記「ピリオド」とは、パケット間遅延の統計量(例えば平均値)を算出するのに必要となる、複数のパケットを収集するための所定時間長(例えば10秒)の単位時間のことをいう。   In the present specification, the “period” refers to a predetermined time length (for example, 10 seconds) for collecting a plurality of packets, which is necessary for calculating a statistic (for example, an average value) of delay between packets. The unit time.

(3) また、本発明の優先度設定装置において、前記算出部は、前記ピリオドごとに算出した複数の前記第1遅延量の統計量である第2遅延量を算出し、算出した当該第2遅延量を前記基準遅延量として採用することが好ましい。
この場合、基準遅延量が、複数の第1遅延量の統計量(例えば平均値)である第2遅延量よりなるので、その基準遅延量を固定値に設定する場合に比べて、ネットワークの通常状態をより適切に設定することができる。
(3) In the priority setting device of the present invention, the calculation unit calculates a second delay amount that is a statistic of the plurality of first delay amounts calculated for each period, and calculates the second delay It is preferable to employ a delay amount as the reference delay amount.
In this case, since the reference delay amount is a second delay amount that is a statistic amount (for example, an average value) of a plurality of first delay amounts, compared to the case where the reference delay amount is set to a fixed value, the normal network The state can be set more appropriately.

(4) もっとも、この場合、前記算出部は、前記基準遅延量との差が所定の閾値以上である前記第1遅延量については、前記第2遅延量の算出要素から除外することが好ましい。
この場合、異常値を示す第1遅延量が第2遅延量の算出要素となることによって、不正確な基準遅延量が設定されるのを未然に防止することができる。
(4) However, in this case, it is preferable that the calculation unit excludes the first delay amount whose difference from the reference delay amount is a predetermined threshold value or more from the second delay amount calculation element.
In this case, it is possible to prevent an inaccurate reference delay amount from being set by using the first delay amount indicating an abnormal value as an element for calculating the second delay amount.

(5) 本発明の優先度設定装置において、前記パケット間遅延は、例えば、一方のノードから他方のノードに連続して送信される同種の前記パケット間の時間差、すなわち、そのパケットを受信時刻ごとに並べた際に隣接するもの同士の時間差よりなる。
この場合、UDPなどの同報的な通信を利用する送受信ノード間のパケットの優先度を設定することができる。
(5) In the priority setting apparatus of the present invention, the inter-packet delay is, for example, a time difference between the same type of packets transmitted continuously from one node to the other node, that is, the packet is received at each reception time. It consists of the time difference between the adjacent ones when they are arranged.
In this case, it is possible to set the priority of packets between transmission and reception nodes that use broadcast communication such as UDP.

(6) また、前記パケット間遅延は、一方のノードから他方への要求パケットとこれに対応する応答パケットとの間の時間差であってもよい。
この場合、HTTPのGetとResponseなどのハンドシェイクを行う送受信ノード間のパケットの優先度を設定することができる。
(6) The inter-packet delay may be a time difference between a request packet from one node to the other and a response packet corresponding to the request packet.
In this case, it is possible to set the priority of packets between transmission / reception nodes that perform handshaking such as HTTP Get and Response.

(7) 本発明のコンピュータプログラムは、パケット通信が可能な通信機器を、優先制御方式のパケット通信に用いる優先度を設定する装置として機能させるためのコンピュータプログラムであって、送受信ノードが同じである複数のパケットを取得するステップと、取得された複数の前記パケットのパケット間遅延に応じて、当該パケットの優先度を設定するステップと、を含むことを特徴とする。   (7) The computer program of the present invention is a computer program for causing a communication device capable of packet communication to function as a device for setting a priority used in priority control packet communication, and has the same transmission / reception node. The method includes a step of acquiring a plurality of packets, and a step of setting a priority of the packets according to inter-packet delays of the plurality of acquired packets.

上記の通り、本発明のコンピュータプログラムは、本発明の中継装置と実質同一の発明であり、当該装置と同じ作用効果を奏する。
なお、本発明のコンピュータプログラムは、上述の(2)〜(6)に記載された事項を含んでいてもよい。
As described above, the computer program of the present invention is substantially the same invention as the relay apparatus of the present invention, and has the same effects as the apparatus.
The computer program of the present invention may include the matters described in the above (2) to (6).

以上の通り、本発明によれば、優先制御方式のパケット通信において、ネットワークの状態に応じて優先度を柔軟に変更することができる。   As described above, according to the present invention, the priority can be flexibly changed according to the state of the network in the packet communication of the priority control method.

本発明に係る優先度設定装置の一例であるルータ(中継装置)を適用した通信システムの全体構成図である。1 is an overall configuration diagram of a communication system to which a router (relay device) as an example of a priority setting device according to the present invention is applied. ルータの内部構成を示すブロック図である。It is a block diagram which shows the internal structure of a router. パケットプロセッサの処理手順を示す概略的なフローチャートである。It is a schematic flowchart which shows the process sequence of a packet processor. ルールテーブルの一例を示す図である。It is a figure which shows an example of a rule table. フローテーブルの一例を示す図である。It is a figure which shows an example of a flow table. フローデータのデータ構造を示す図である。It is a figure which shows the data structure of flow data. 同方向に一連のフローデータの例とそのシーケンス図である。It is an example of a series of flow data in the same direction, and its sequence diagram. 双方向に一連のフローデータの例とそのシーケンス図である。It is an example of a series of flow data bidirectionally, and its sequence diagram. フローマッピングテーブルの一例を示す図である。It is a figure which shows an example of a flow mapping table. フロー統計データとベースラインデータのデータ構造を示す図である。It is a figure which shows the data structure of flow statistics data and baseline data. フロー統計データの更新処理を示すフローチャート(前半)である。It is a flowchart (first half) which shows the update process of flow statistical data. フロー統計データの更新処理を示すフローチャート(後半)である。It is a flowchart (second half) which shows the update process of flow statistical data.

以下、図面を参照しつつ、本発明の実施形態を説明する。
〔システムの全体構成〕
図1は、本発明に係る優先度設定装置の一例であるルータ(中継装置)を適用した通信システムの全体構成図である。
図1に示すように、この通信システムは、通信事業者側の光回線終端装置であるOLT1、宅側の光回線終端装置であるONU2、ホームゲートウェイやブロードバンドルータ等よりなるルータ3、及び、複数のIP端末4などを備えている。
Hereinafter, embodiments of the present invention will be described with reference to the drawings.
[Overall system configuration]
FIG. 1 is an overall configuration diagram of a communication system to which a router (relay apparatus) as an example of a priority setting apparatus according to the present invention is applied.
As shown in FIG. 1, this communication system includes an OLT 1 that is an optical line terminating device on the telecommunications carrier side, an ONU 2 that is an optical line terminating device on the home side, a router 3 including a home gateway, a broadband router, and the like. IP terminal 4 and the like.

OLT1とONU2は光カプラを介して光ファイバによって接続されており、OLT1は広域ネットワーク6と接続されている。本実施形態の広域ネットワーク6はインターネットである。
なお、図1のシステム構成例では、FTTHを想定してONU2よりなる回線終端装置を例示しているが、その他の回線終端装置として、ADSLモデムやCATVモデムを採用することもできる。
The OLT 1 and the ONU 2 are connected by an optical fiber via an optical coupler, and the OLT 1 is connected to the wide area network 6. The wide area network 6 of the present embodiment is the Internet.
In the system configuration example of FIG. 1, the line termination device composed of the ONU 2 is illustrated assuming FTTH, but an ADSL modem or a CATV modem may be employed as another line termination device.

ONU2とルータ3とは、イーサネットケーブル(注記:「イーサネット」は登録商標である。)7を介して互いに接続されている。
ルータ3は、IPパケットのルーティング機能を有する中継装置であり、1つのWANポートと1又は複数のLANポートとを有する。なお、図例では、LANポートが2つあるルータ3を例示しているが、その数は2つに限定されない。
The ONU 2 and the router 3 are connected to each other via an Ethernet cable (note: “Ethernet” is a registered trademark) 7.
The router 3 is a relay device having an IP packet routing function, and has one WAN port and one or a plurality of LAN ports. In the illustrated example, the router 3 having two LAN ports is illustrated, but the number is not limited to two.

ルータ3のLANポートには、イーサネットケーブル9を介して各種のIP端末4が接続されている。このIP端末4は、例えば、IP通信が可能なパーソナルコンピュータ(PC)、サーバコンピュータ或いはテレビなどの家電製品よりなる。
また、OLT1側の広域ネットワーク6にもIP端末4が接続されており、このIP端末4は、例えばクラウドサーバ等よりなる。
Various IP terminals 4 are connected to the LAN port of the router 3 via an Ethernet cable 9. The IP terminal 4 is made of, for example, a home appliance such as a personal computer (PC) capable of IP communication, a server computer, or a television.
Further, an IP terminal 4 is also connected to the wide area network 6 on the OLT 1 side, and this IP terminal 4 is composed of, for example, a cloud server.

図1に示す「LAN1」は、ルータ3の一方のLANポートに接続された構内ネットワークであり、「LAN2」は、ルータ3の他方のLANポートに接続された構内ネットワークである。
これらの構内ネットワークLAN1,LAN2は、1又は複数のスイッチングハブ10を用いて多段接続することによって構成されており、当該ネットワークの終端部分にIP端末4を有する。
“LAN1” shown in FIG. 1 is a local network connected to one LAN port of the router 3, and “LAN2” is a local network connected to the other LAN port of the router 3.
These local networks LAN1 and LAN2 are configured by multi-stage connection using one or a plurality of switching hubs 10, and have an IP terminal 4 at a terminal portion of the network.

一方、ルータ3は、構内ネットワークLAN1,LAN2のPC等のIP端末4が行うネットワーク機器の管理及び監視の対象機器であり、そのIP端末4の制御プログラムによって操作されるエージェントプログラムが当該ルータ3にインストールされている。
このルータ3のエージェントプログラムは、ルータ3でルーティングされるIPパケットを捕捉する捕捉処理や、捕捉されたパケットを用いたQoS優先度の自動設定処理などを行う。
On the other hand, the router 3 is a target device for management and monitoring of network devices performed by the IP terminal 4 such as the PCs of the local networks LAN1 and LAN2, and an agent program operated by the control program of the IP terminal 4 is assigned to the router 3. Installed.
The agent program of the router 3 performs a capturing process for capturing an IP packet routed by the router 3, a QoS priority automatic setting process using the captured packet, and the like.

また、本実施形態のルータ3は、IPパケットの中継機能の他に、IPパケットの動的フィルタリング機能、NAT機能、DHCP機能、PPPoE機能及びARP機能などを備えている。
なお、「パケット」は、レイヤ3の通信で使われるPDUの呼び名として用いる場合もあるが、本明細書では、コンピュータ間の通信に使用するデータを送る単位の意味(従って、PDUと同じ。)でも使用している。従って、「IPパケット」を単に「パケット」ということがある。
In addition to the IP packet relay function, the router 3 of the present embodiment includes an IP packet dynamic filtering function, a NAT function, a DHCP function, a PPPoE function, an ARP function, and the like.
Note that “packet” may be used as a name of a PDU used in layer 3 communication, but in this specification, the meaning of a unit for sending data used for communication between computers (thus, the same as PDU). But use. Therefore, the “IP packet” may be simply referred to as “packet”.

〔ルータの内部構成〕
図2は、ルータ3の内部構成を示すブロック図である。
図2に示すように、ルータ3は、第1インタフェース部301、第1送受信ドライバ302、捕捉用受信バッファ303、第1送信バッファ304、第2インタフェース部305、第2送受信ドライバ306、中継用受信バッファ307、第2送信バッファ308及びパケットプロセッサ309などを備えている。
[Internal configuration of router]
FIG. 2 is a block diagram showing the internal configuration of the router 3.
As shown in FIG. 2, the router 3 includes a first interface unit 301, a first transmission / reception driver 302, a capture reception buffer 303, a first transmission buffer 304, a second interface unit 305, a second transmission / reception driver 306, and relay reception. A buffer 307, a second transmission buffer 308, a packet processor 309, and the like are provided.

第1インタフェース部301は、WANポートを有するイーサネット仕様のトランシーバであり、第1送受信ドライバ302は、第1インタフェース部301にパケットの送受信を行わせる駆動回路よりなる。
第1送受信ドライバ302は、第1インタフェース部301から受けた受信パケットを捕捉用受信バッファ303と中継用受信バッファ307に渡し、第1送信バッファ304から受けた送信パケットを第1インタフェース部301から外部に送出する。
The first interface unit 301 is an Ethernet specification transceiver having a WAN port, and the first transmission / reception driver 302 includes a drive circuit that causes the first interface unit 301 to transmit and receive packets.
The first transmission / reception driver 302 passes the reception packet received from the first interface unit 301 to the capture reception buffer 303 and the relay reception buffer 307, and transmits the transmission packet received from the first transmission buffer 304 from the first interface unit 301 to the outside. To send.

第2インタフェース部305は、LANポートを有するイーサネット仕様のトランシーバであり、第2送受信ドライバ306は、第2インタフェース部305にパケットの送受信を行わせる駆動回路よりなる。
第2送受信ドライバ306は、第2インタフェース部305から受けた受信パケットを捕捉用受信バッファ303と中継用受信バッファ307に渡し、第2送信バッファ308から受けた送信パケットを第2インタフェース部305から外部に送出する。
The second interface unit 305 is an Ethernet specification transceiver having a LAN port, and the second transmission / reception driver 306 includes a drive circuit that causes the second interface unit 305 to transmit and receive packets.
The second transmission / reception driver 306 passes the reception packet received from the second interface unit 305 to the capture reception buffer 303 and the relay reception buffer 307, and transmits the transmission packet received from the second transmission buffer 308 from the second interface unit 305 to the outside. To send.

第1及び第2の送信バッファ304,308は、優先度が異なる複数のキューH,Lを有している。
この複数のキューH,Lのうち、高優先度キューHは、当該ルータ3で中継処理が行われた後の高優先度の送信パケットを格納するための送信キューであり、低優先度キューLは、当該ルータ3で中継処理が行われた後の低優先度の送信パケットを格納するための送信キューである。
The first and second transmission buffers 304 and 308 have a plurality of queues H and L having different priorities.
Among the plurality of queues H and L, the high priority queue H is a transmission queue for storing high priority transmission packets after relay processing is performed by the router 3, and the low priority queue L Is a transmission queue for storing low-priority transmission packets after relay processing is performed by the router 3.

なお、第1インタフェース部301、第1送受信ドライバ302、捕捉用受信バッファ303及び第1送信バッファ304は、WAN側の「送受信部」を構成している。
また、第2インタフェース部305、第2送受信ドライバ306、中継用受信バッファ307及び第2送信バッファ308は、LAN側の「送受信部」を構成している。
The first interface unit 301, the first transmission / reception driver 302, the capture reception buffer 303, and the first transmission buffer 304 constitute a “transmission / reception unit” on the WAN side.
The second interface unit 305, the second transmission / reception driver 306, the relay reception buffer 307, and the second transmission buffer 308 constitute a “transmission / reception unit” on the LAN side.

〔パケットプロセッサの機能部〕
パケットプロセッサ309は、中継処理部310、捕捉処理部311、分類処理部312及びデータ処理部313を備えている。
これらの処理部は、ROMやRAM等の周知の記憶装置(図示せず。)に記憶されたコンピュータプログラム(具体的には、前記エージェントプログラム)をプロセッサ309が読み出し、それを実行することによって実現される機能部である。
[Functional part of packet processor]
The packet processor 309 includes a relay processing unit 310, a capture processing unit 311, a classification processing unit 312, and a data processing unit 313.
These processing units are realized by the processor 309 reading out and executing a computer program (specifically, the agent program) stored in a known storage device (not shown) such as a ROM or a RAM. Is a functional part.

上記各処理部を実現する所定のコンピュータプログラムは、上記の通り、図示しない記憶装置にインストールされているが、このコンピュータプログラムは、CD−ROM、DVD−ROMなどの記録媒体に格納して販売又は譲渡することができる。
また、このコンピュータプログラムの販売又は譲渡は、サーバコンピュータからネットワーク経由でダウンロードすることによって行こともできる。
As described above, the predetermined computer program for realizing each processing unit is installed in a storage device (not shown). This computer program is stored in a recording medium such as a CD-ROM or a DVD-ROM for sale or Can be transferred.
The computer program can be sold or transferred by downloading it from a server computer via a network.

中継用受信バッファ307は、各送受信ドライバ302,306から受けたすべての受信パケットを所定量蓄積し、蓄積した受信パケットを中継処理部310に出力する。
中継処理部310は、バッファ307から入力された受信パケットに対して、所定のルーティング処理やNAT(Network Address Translation)によるアドレス情報及びポート情報の変換を行って送信パケットを生成すると、後述のフローマッピングテーブルFMT(図9)を参照してQoSの優先度のマッピングを行って送信パケットを生成し、その送信パケットを送信バッファ304,308に入力する。
Relay reception buffer 307 stores a predetermined amount of all received packets received from transmission / reception drivers 302 and 306, and outputs the stored received packets to relay processing unit 310.
When the relay processing unit 310 generates a transmission packet by performing predetermined routing processing and conversion of address information and port information by NAT (Network Address Translation) on the received packet input from the buffer 307, a flow mapping described later is performed. With reference to table FMT (FIG. 9), QoS priority mapping is performed to generate a transmission packet, and the transmission packet is input to transmission buffers 304 and 308.

すなわち、中継処理部310は、フローマッピングテーブルFMTにおいてQoSが高優先に設定されているアドレスの送信パケットの場合は、その宛先アドレスに対応するいずれかの送信バッファ304,308の高優先度キューHに入力する。
また、中継処理部310は、フローマッピングテーブルFMTにおいてQoSが低優先に設定されているアドレスの送信パケットの場合は、その宛先アドレスに対応するいずれかの送信バッファ304,308の低優先度キューLに入力する。
That is, in the case of a transmission packet with an address for which QoS is set to high priority in the flow mapping table FMT, the relay processing unit 310 has a high priority queue H in any of the transmission buffers 304 and 308 corresponding to the destination address. To enter.
In addition, in the case of a transmission packet having an address for which QoS is set to low priority in the flow mapping table FMT, the relay processing unit 310 uses the low priority queue L of one of the transmission buffers 304 and 308 corresponding to the destination address. To enter.

捕捉用受信バッファ303は、各受信ドライバ302,306から受けたすべての受信パケットを所定量蓄積し、蓄積した受信パケットを捕捉処理部311に出力する。
捕捉処理部311は、バッファ303から入力された受信パケットを受信時刻で並べ替えるなどの所定の処理を行って、すべての受信パケットを分類処理部312とデータ処理部313に送る。
The capture reception buffer 303 accumulates a predetermined amount of all received packets received from the respective reception drivers 302 and 306, and outputs the accumulated received packets to the capture processing unit 311.
The capture processing unit 311 performs predetermined processing such as rearranging the received packets input from the buffer 303 according to the reception time, and sends all received packets to the classification processing unit 312 and the data processing unit 313.

分類処理部312は、捕捉処理部311から受けた受信パケットからヘッダ情報を抽出し、そのヘッダ情報にルールテーブルRTとフローテーブルFTを適用して「フローデータFD」を生成する。分類処理部312は、そのデータFDをデータバッファ315に一時的に記憶させる。
なお、分類処理部312は、フローデータFDとして分類できないデータについては、未登録データとしてデータバッファ315に記憶させる。
The classification processing unit 312 extracts header information from the received packet received from the capture processing unit 311 and applies the rule table RT and the flow table FT to the header information to generate “flow data FD”. The classification processing unit 312 temporarily stores the data FD in the data buffer 315.
The classification processing unit 312 stores data that cannot be classified as flow data FD in the data buffer 315 as unregistered data.

データ処理部313は、所定フローIdのフローデータFDについての、ピリオドごとのパケット間遅延の平均値である「第1遅延量」をデータ内容に含む「フロー統計データFSD」の更新処理と、第1遅延量の平均値である「第2遅延量」をデータ内容とする「ベースラインデータBLD」の更新処理とを行う。   The data processing unit 313 performs update processing of “flow statistical data FSD” that includes “first delay amount” that is an average value of inter-packet delay for each period for the flow data FD of the predetermined flow Id, Update processing of “baseline data BLD” having “second delay amount” that is an average value of one delay amount as data content is performed.

更に、データ処理部313は、第1遅延量と第2遅延量とを比較して各フローIdの通信状態を推定し、これに基づいてフローマッピングテーブルFMTにおける優先度の更新処理を行う。
なお、中継処理部310は、データ処理部313が更新したフローマッピングテーブルFMTの優先度を用いて、送信パケットに対する優先度を決定する。
Further, the data processing unit 313 estimates the communication state of each flow Id by comparing the first delay amount and the second delay amount, and performs priority update processing in the flow mapping table FMT based on this.
Note that the relay processing unit 310 uses the priority of the flow mapping table FMT updated by the data processing unit 313 to determine the priority for the transmission packet.

〔具体的な処理内容〕
図3は、パケットプロセッサ309の処理手順を示す概略的なフローチャートである。
以下、この図3と以後の図4〜図12を参照しつつ、プロセッサ309の各処理部311〜313が行う具体的な処理の内容を説明する。
図3に示すように、ルータ3のプロセッサ309は、各送受信部で受信された受信パケットに対し、パケットの捕捉(ステップS1)、ヘッダの抽出(ステップS2)、データの分類及び生成(ステップS3)及びデータの処理(S4)の順で情報処理を行う。
[Details of processing]
FIG. 3 is a schematic flowchart showing a processing procedure of the packet processor 309.
Hereinafter, specific processing contents performed by the processing units 311 to 313 of the processor 309 will be described with reference to FIG. 3 and subsequent FIGS. 4 to 12.
As shown in FIG. 3, the processor 309 of the router 3 captures a packet (step S1), extracts a header (step S2), classifies and generates data (step S3) for the received packet received by each transmitting / receiving unit. ) And data processing (S4) in this order.

<パケットの捕捉>
このうち、パケットの捕捉(ステップS1)は、上述の通り捕捉処理部311が行う処理である。捕捉処理部311は、捕捉用受信バッファ303が蓄積した所定量の受信パケットを順次取り込む。
<Packet capture>
Among these, packet capture (step S1) is processing performed by the capture processing unit 311 as described above. The capture processing unit 311 sequentially captures a predetermined amount of received packets accumulated in the capture reception buffer 303.

<ヘッダの抽出>
ヘッダの抽出(ステップS2)は、分類処理部312が行う処理である。
図3に示すように、分類処理部312は、捕捉処理部311から受けた各パケットから必要なレイヤL2〜L5のヘッダ情報を抽出する。
<Extract header>
The header extraction (step S2) is a process performed by the classification processing unit 312.
As illustrated in FIG. 3, the classification processing unit 312 extracts necessary layer L2-L5 header information from each packet received from the capture processing unit 311.

<データの分類及び生成>
データの分類及び生成(S3)は、分類処理部312が行う処理である。
図3に示すように、分類処理部312は、抽出されたパケットのヘッダ情報をキーとしてルールテーブルRTとフローテーブルFTをサーチすることにより、フローデータFD(サーチでヒットしない場合は未登録データ)を生成し、このデータFDをデータバッファ315の対応する格納領域に記憶させる。
<Data classification and generation>
Data classification and generation (S3) is processing performed by the classification processing unit 312.
As shown in FIG. 3, the classification processing unit 312 searches the rule table RT and the flow table FT using the extracted header information of the packet as a key, thereby causing flow data FD (unregistered data if no hit is found in the search). And the data FD is stored in the corresponding storage area of the data buffer 315.

図4は、ルールテーブルRTの一例を示す図であり、図5は、フローテーブルFTの一例を示す図である。
図4に示すように、ルールテーブルRTは、例えば番号1〜256までの「ルール」のエントリを備え、各ルールは図5のフローIdと対応している。各ルールには複数(図例では8つ)の「サブルール」が含まれており、このサブルールには「項目」とその値(Value)を定義することができる。
FIG. 4 is a diagram illustrating an example of the rule table RT, and FIG. 5 is a diagram illustrating an example of the flow table FT.
As shown in FIG. 4, the rule table RT includes “rule” entries having numbers 1 to 256, for example, and each rule corresponds to the flow Id in FIG. 5. Each rule includes a plurality (eight in the illustrated example) of “sub-rules”, and “items” and their values (Values) can be defined in the sub-rules.

従って、サブルールの項目と値を適宜設定することにより、各ルールの番号(フローId)に対応するパケットの内容を定義することができる。
例えば、図4の例では、ルール1のサブルール1で「destIp」(宛先IPアドレス)の値を定義し、サブルール2で「srcIP」(送信元IPアドレス)の値を定義し、サブルール3で「destPort」(宛先ポート番号)の値を定義し、サブルール4で「srcPort」(送信元ポート番号)の値を定義するようになっている。
Therefore, the content of the packet corresponding to the number of each rule (flow Id) can be defined by appropriately setting the subrule items and values.
For example, in the example of FIG. 4, the value of “destIp” (destination IP address) is defined in subrule 1 of rule 1, the value of “srcIP” (source IP address) is defined in subrule 2, and “rule IP” is defined in subrule 3. The value of “destPort” (destination port number) is defined, and the value of “srcPort” (source port number) is defined in sub-rule 4.

なお、図4では図示していないが、各ルールのサブルール5以後に所定のプロトコルとそのプロトコルで用いるコマンドなどを定義することにより、各々のルール(フローId)によってサーチしたいパケットの「種別」を定義することができる。
図5に示すように、フローテーブルFTは、フローIdに対応する処理内容が定義されたテーブルである。例えば、図5の例では、フローId=1のパケットの場合には、パケットを「フローデータとして残す」処理が行われる。
Although not shown in FIG. 4, by defining a predetermined protocol and a command used in the protocol after sub-rule 5 of each rule, the “type” of the packet to be searched according to each rule (flow Id) is set. Can be defined.
As illustrated in FIG. 5, the flow table FT is a table in which processing content corresponding to the flow Id is defined. For example, in the example of FIG. 5, in the case of a packet with flow Id = 1, a process of “leaving the packet as flow data” is performed.

また、フローId=2の場合には、パケットを「縮退させる」処理が行われ、フローId=3の場合は「破棄する」処理が行われる。
なお、上記ルールテーブルRTとフローテーブルFTの設定は、例えば、ルータ3のユーザが、LAN側のIP端末4から各テーブルRT,FTの項目内容や設定値を含むパケットをルータ3に送信することによって行うことができる。
Further, when the flow Id = 2, a process of “degenerate” the packet is performed, and when the flow Id = 3, a process of “discarding” is performed.
The rule table RT and the flow table FT are set, for example, when the user of the router 3 transmits a packet including the item contents and setting values of the tables RT and FT to the router 3 from the IP terminal 4 on the LAN side. Can be done by.

また、「フローデータFD」とは、例えば、一連のパケットフローの連関をチェックするフロー解析の場合に必要となる、送受信ノードが同じである同種の複数のパケットの履歴を特定するためのデータのことをいう。   The “flow data FD” is, for example, data for specifying a history of a plurality of packets of the same type having the same transmission / reception node, which is necessary in the case of a flow analysis for checking a linkage of a series of packet flows. That means.

分類処理部312は、ルールテーブルRTを上から順番にサーチして、各パケットから抽出したヘッダ情報がどのルールにマッチするかを判定する。
その結果、マッチしたルール(=フローId)がある場合には、そのフローIdに対して行うべき処理をフローテーブルFTから読み出し、読み出した処理を当該フローIdのパケットに対して実行する。また、分類処理部312は、マッチしたルール(=フローId)がない場合には、未登録データを生成する。
The classification processing unit 312 searches the rule table RT in order from the top, and determines which rule the header information extracted from each packet matches.
As a result, when there is a matched rule (= flow Id), the process to be performed for the flow Id is read from the flow table FT, and the read process is executed for the packet of the flow Id. Further, the classification processing unit 312 generates unregistered data when there is no matched rule (= flow Id).

図6は、フローデータFDのデータ構造を示す図である。
図6に示すように、フローデータFDは、捕捉されたパケットの受信時刻と、当該パケットの前記フローIdとを含むデータ構造となっている。なお、これらのデータの順序は図示のものに限定されない。
上述の通り、各フローIdには、ルールテーブルRT(図4)によってパケットの送信元、宛先及び種別が割り当てられているので、当該フローIdは、パケットの送信元、宛先及び種別を識別可能な識別情報である。
FIG. 6 is a diagram illustrating a data structure of the flow data FD.
As shown in FIG. 6, the flow data FD has a data structure including the reception time of the captured packet and the flow Id of the packet. The order of these data is not limited to that shown in the figure.
As described above, the packet source, destination, and type are assigned to each flow Id by the rule table RT (FIG. 4), so that the flow Id can identify the packet source, destination, and type. Identification information.

<データの処理>
図3のデータの処理(S4)は、データ処理部313が行う処理である。
前述の通り、データ処理部313が行う処理には次の各処理が含まれるが、これらの詳細は後述する。
a) フロー統計データの更新処理
b) ベースラインデータの更新処理
c) 優先度の更新処理
<Data processing>
The data processing (S4) in FIG. 3 is processing performed by the data processing unit 313.
As described above, the process performed by the data processing unit 313 includes the following processes, which will be described in detail later.
a) Update process of flow statistics data b) Update process of baseline data c) Update process of priority

〔フローデータの例〕
図7は、同方向に一連のフローデータFDの例とそのシーケンス図である。
図7(a)の例では、フローId=1のパケットがマルチキャストで送信されるRTP(Real-time Transport Protocol)パケットである場合を想定している。
図7(a)に示すように、タイムスタンプの値が100〜160μ秒までの間は、フローId=1のフローデータFD同士の時間間隔が一定(20μ秒)であるが、それ以後のエントリで時間間隔が大幅に遅れている。従って、この場合、サーバからの通信が輻輳していると推定できる。
[Example of flow data]
FIG. 7 is an example of a series of flow data FD in the same direction and its sequence diagram.
In the example of FIG. 7A, it is assumed that the packet with the flow Id = 1 is an RTP (Real-time Transport Protocol) packet transmitted by multicast.
As shown in FIG. 7A, the time interval between the flow data FDs of the flow Id = 1 is constant (20 μsec) while the time stamp value is 100 to 160 μsec. The time interval is greatly delayed. Therefore, in this case, it can be estimated that communication from the server is congested.

図8は、双方向に一連のフローデータFDの例とそのシーケンス図である。
図8(a)の例では、フローId=2のパケットがICMPパケットのエコー要求であり、フローId=3のパケットがICMPパケットのエコー応答である場合を想定している。
図8(a)に示すように、タイムスタンプの値が100〜220μ秒までの間は、フローId=2のエコー要求とフローId=3のエコー応答の間の時間間隔が一定(20μ秒)であるが、300μ秒以後にエコー応答が来なくなっている。従って、この場合、300μ秒前後の時間帯に、何らかの理由でサーバの通信が切断したと推定できる。
FIG. 8 is an example of a series of flow data FD bidirectionally and its sequence diagram.
In the example of FIG. 8A, it is assumed that the packet with the flow Id = 2 is an ICMP packet echo request and the packet with the flow Id = 3 is an echo response of the ICMP packet.
As shown in FIG. 8A, the time interval between the echo request of the flow Id = 2 and the echo response of the flow Id = 3 is constant (20 μsec) while the time stamp value is 100 to 220 μsec. However, no echo response comes after 300 μs. Therefore, in this case, it can be estimated that the server communication is disconnected for some reason in the time zone around 300 μsec.

〔フローマッピングテーブル〕
図9は、フローマッピングテーブルFMTの一例を示す図である。
フローマッピングテーブルFMTの定義項目には、フローIdと、当該フローIdのアドレス情報及びポート情報である「srcIp」、「srcPort」、「destIP」及び「destPort」と、「Timestamp」(受信時刻)と、QoSの「優先度」とが含まれている。
従って、中継処理部310は、送信パケットのアドレス情報とポート情報をキーとしてフローマッピングテーブルFMTをサーチすることで、送信パケットに適用すべき優先度H,Lを決定することができる。
[Flow mapping table]
FIG. 9 is a diagram illustrating an example of the flow mapping table FMT.
The definition items of the flow mapping table FMT include a flow Id, “srcIp”, “srcPort”, “destIP”, “destPort”, and “Timestamp” (reception time) that are address information and port information of the flow Id. QoS “priority”.
Therefore, the relay processing unit 310 can determine the priorities H and L to be applied to the transmission packet by searching the flow mapping table FMT using the address information and port information of the transmission packet as keys.

図10は、フロー統計データFSDとベースラインデータBLDのデータ構造を示す図である。図10(a)に示すように、フロー統計データFSDのエントリは、「第1フローId」及び「第2フローId」と、1番目からn番目の「ピリオド」とを含む。
前述の通り、「ピリオド」は、パケット間遅延の平均値を算出するのに必要となる、パケット収集のための所定時間長(例えば10秒)の単位時間である。各ピリオドには、当該ピリオド中に収集されたフローId値のパケットの、パケット間遅延の平均値AVG(i)(i=1,2,……n)が格納される。
FIG. 10 is a diagram illustrating a data structure of the flow statistical data FSD and the baseline data BLD. As shown in FIG. 10A, the entry of the flow statistical data FSD includes “first flow Id” and “second flow Id” and first to nth “period”.
As described above, the “period” is a unit time of a predetermined time length (for example, 10 seconds) for collecting packets, which is necessary for calculating the average value of the delay between packets. Each period stores an average value AVG (i) (i = 1, 2,..., N) of inter-packet delays of packets having a flow Id value collected during the period.

また、図10(b)に示すように、ベースラインデータBLDのエントリは、「第1フローId」及び「第2フローId」と平均値AVGbsとを含む。この平均値AVGbsは、複数の平均値AVG(i)(i=1,2,……n)の中からランダムに抽出した複数の値の平均値である。
なお、前述の通り、本明細書では、フロー統計データFSDに含まれる平均値AVG(i)を「第1遅延量」と呼び、ベースラインデータBLDに含まれる平均値AVGbsを「第2遅延量」と呼んでいる。
As shown in FIG. 10B, the entry of the baseline data BLD includes “first flow Id” and “second flow Id” and an average value AVGbs. This average value AVGbs is an average value of a plurality of values randomly extracted from a plurality of average values AVG (i) (i = 1, 2,... N).
As described above, in this specification, the average value AVG (i) included in the flow statistical data FSD is referred to as “first delay amount”, and the average value AVGbs included in the baseline data BLD is referred to as “second delay amount”. "

〔フロー統計データの更新処理〕
図11及び図12は、フロー統計データFSDの更新処理を示すフローチャートである。
図11に示すように、データ処理部313は、まず、捕捉されたパケットからアドレス情報とポート情報を抽出し(ステップS11)、フローマッピングテーブルFMTを検索して(ステップS12)、その情報にマッチするエントリ(フローId)があるか否かを判定する(ステップS13)。
[Flow statistics data update processing]
11 and 12 are flowcharts showing the update processing of the flow statistical data FSD.
As shown in FIG. 11, the data processing unit 313 first extracts address information and port information from the captured packet (step S11), searches the flow mapping table FMT (step S12), and matches the information. It is determined whether or not there is an entry (flow Id) to be performed (step S13).

上記判定の結果、マッチするフローIdがある場合には、データ処理部313は、当該フローIdを取得してフローマッピングテーブルFMTのタイムスタンプを現在時刻に更新する(ステップS14)。
また、マッチするフローIdがない場合には、データ処理部313は、フローマッピングテーブルFMTに新たなエントリを作成する(ステップS15)。
As a result of the determination, if there is a matching flow Id, the data processing unit 313 acquires the flow Id and updates the time stamp of the flow mapping table FMT to the current time (step S14).
If there is no matching flow Id, the data processing unit 313 creates a new entry in the flow mapping table FMT (step S15).

データ処理部313は、上記の処理を今回のピリオド(i)が終了するまで継続し(ステップS16)、今回のピリオド(i)が終了すると、ピリオドを1つインクリメントして(ステップS17)、図12のステップ13以降の処理を行う。
図12を参照して、データ処理部313は、フロー統計データFSDの最初のエントリ(第1フローId)を参照し(ステップS18)、第1フローIdと第2フローIdが同じ値であるか否かを判定する(ステップS19)。
The data processing unit 313 continues the above processing until the current period (i) ends (step S16). When the current period (i) ends, the data processing unit 313 increments the period by one (step S17). 12 and the processes after step 13 are performed.
Referring to FIG. 12, data processing unit 313 refers to the first entry (first flow Id) of flow statistical data FSD (step S18), and whether first flow Id and second flow Id have the same value. It is determined whether or not (step S19).

ここで、フロー統計データFSDにおいて、第1フローIdと第2フローIdが同じ値である場合は、それらのフローが、一方のノードから他方のノードに連続して送信される同種のパケット(例えば、図7)であることを意味する。
また、フロー統計データFSDにおいて、第1フローIdと第2フローIdが異なる値である場合は、それらのフローが、一方のノードから他方への要求パケットとこれに対応する応答パケット(例えば、図8)であることを意味する。
Here, in the flow statistical data FSD, when the first flow Id and the second flow Id have the same value, the same kind of packets (for example, the same type of packets that are continuously transmitted from one node to the other node (for example, FIG. 7).
Further, in the flow statistical data FSD, when the first flow Id and the second flow Id have different values, the flow is a request packet from one node to the other and a response packet (for example, FIG. 8).

上記判定の結果、第1フローIdと第2フローIdの値が同じ場合には、データ処理部313は、フローIdの値がマッチするフローデータFDを古い順で収集し(ステップS20)、そのフローデータFD間のタイムスタンプ(受信時刻)の差分値ΔT(j)を逐次算出して収集する(ステップS21)。
そして、データ処理部313は、収集した差分値ΔT(j)の合計を、フローIdの値がマッチするフローデータFDのパケット数Nで割った平均値(=AVG(i):第1遅延値)を算出し、その平均値をフロー統計データFSDの該当ピリオドに入力する(ステップS22)。
As a result of the determination, if the values of the first flow Id and the second flow Id are the same, the data processing unit 313 collects the flow data FD that matches the value of the flow Id in chronological order (step S20). A difference value ΔT (j) of time stamps (reception times) between the flow data FD is sequentially calculated and collected (step S21).
Then, the data processing unit 313 divides the total of the collected difference values ΔT (j) by the number N of packets of the flow data FD that match the value of the flow Id (= AVG (i): first delay value) ) And the average value is input to the corresponding period of the flow statistical data FSD (step S22).

上記判定の結果、第1フローIdと第2フローIdの値が異なる場合には、データ処理部313は、第1フローIdの値がマッチするフローデータFDを古い順で収集するとともに(ステップS23)、第2フローIdの値がマッチするフローデータFDを古い順で収集する(ステップS24)。
また、データ処理部313は、第1フローIdの値とマッチするフローデータFDのタイムスタンプ値と、第2フローIdの値とマッチするフローデータFDのタイムスタンプ値との差分値ΔT(k)を逐次算出し収集する(ステップS25)。
As a result of the determination, if the values of the first flow Id and the second flow Id are different, the data processing unit 313 collects the flow data FD that matches the value of the first flow Id in chronological order (step S23). ), The flow data FD that matches the value of the second flow Id is collected in the oldest order (step S24).
The data processing unit 313 also calculates a difference value ΔT (k) between the time stamp value of the flow data FD that matches the value of the first flow Id and the time stamp value of the flow data FD that matches the value of the second flow Id. Are sequentially calculated and collected (step S25).

そして、データ処理部313は、収集したΔT(k)の合計を、第1フローIdの値がマッチするフローデータFDのパケット数Nで割った平均値(=AVG(i):第1遅延値)を算出し、その平均値をフロー統計データFSDの該当ピリオドに入力する(ステップS26)。なお、この場合、フローデータFD内において、第1フローIdの値とマッチするパケット数と第2フローIDの値とマッチするパケット数が同一であると仮定している。   Then, the data processing unit 313 divides the total of the collected ΔT (k) by the number N of packets of the flow data FD that matches the value of the first flow Id (= AVG (i): first delay value) ) And the average value is input to the corresponding period of the flow statistical data FSD (step S26). In this case, it is assumed that the number of packets matching the value of the first flow Id and the number of packets matching the value of the second flow ID are the same in the flow data FD.

〔ベースラインデータの更新処理〕
データ処理部313は、新規にベースラインデータBLDを作成する場合には、フロー統計データFSDの複数のピリオドの中からランダムに複数個の値を選択し、その平均値(AVGbs:第2遅延量)を算出して、ベースラインデータBLDの該当エントリに入力する。
[Update processing of baseline data]
When newly creating the baseline data BLD, the data processing unit 313 randomly selects a plurality of values from a plurality of periods of the flow statistical data FSD, and averages the values (AVGbs: second delay amount). ) And is input to the corresponding entry of the baseline data BLD.

また、データ処理部313は、各ピリオドの終了時に学習係数αを用いたAVGbsの更新処理を行う。
すなわち、データ処理部313は、新たに追加されたピリオドのAVG(i)と既に求めたベースラインデータBLDのAVGbsとの差が所定の閾値を超えている場合には、学習係数αの値を「0」とし、その閾値以下の場合には、αの値をv(但し、vは0<v<1を満たす設定値)として、次式によってAVGbsの値を更新する。
AVGbs=(1−α)×AVGbs+α×AVG(i)
In addition, the data processing unit 313 performs an AVGbs update process using the learning coefficient α at the end of each period.
That is, if the difference between the newly added period AVG (i) and the AVGbs of the baseline data BLD already found exceeds a predetermined threshold, the data processing unit 313 sets the value of the learning coefficient α. When “0” is equal to or less than the threshold value, the value of α is set to v (where v is a set value satisfying 0 <v <1), and the value of AVGbs is updated by the following equation.
AVGbs = (1−α) × AVGbs + α × AVG (i)

〔QoS優先度の更新処理〕
更に、データ処理部313は、各ピリオドの終了時に、次の手順にてフローマッピングテーブルFMT中の優先度の更新処理を行う。
すなわち、データ処理部313は、まず、フロー統計データFSDの各エントリの当該ピリオドの値AVG(i)と、その時点でのベースラインデータBLDの同じエントリの平均値AVGbsとを比較する。
[QoS priority update process]
Further, the data processing unit 313 performs priority update processing in the flow mapping table FMT at the end of each period by the following procedure.
That is, the data processing unit 313 first compares the period value AVG (i) of each entry of the flow statistical data FSD with the average value AVGbs of the same entry of the baseline data BLD at that time.

このとき、AVG(i)がAVGbsよりも大きく、かつ、その差分が所定の閾値を超えている場合は、データ処理部313は、フローマッピングテーブルFMTにおける対応するフローIdの優先度を「高」にする。
逆に、AVG(i)がAVGbsよりも小さい場合、或いは、AVG(i)がAVGbsよりも大きいがその差分が所定の閾値以内の場合は、データ処理部313は、フローマッピングテーブルFMTにおける対応するフローIdの優先度を「低」にする。
At this time, if AVG (i) is larger than AVGbs and the difference exceeds a predetermined threshold, the data processing unit 313 sets the priority of the corresponding flow Id in the flow mapping table FMT to “high”. To.
Conversely, when AVG (i) is smaller than AVGbs, or when AVG (i) is larger than AVGbs but the difference is within a predetermined threshold, the data processing unit 313 corresponds to the flow mapping table FMT. The priority of the flow Id is set to “low”.

このように、ベースラインデータBLDのAVGbs(第2遅延量)は、フロー統計データFSDにおける各ピリオドのAVG(i)(第1遅延量)が、当該フローIdのパケットにおいて普通に生じる遅延量か否かを判定するための、「基準遅延量」として使用される。   Thus, the AVGbs (second delay amount) of the baseline data BLD is the amount of delay that normally occurs in the packet of the flow Id when the AVG (i) (first delay amount) of each period in the flow statistical data FSD. Used as “reference delay amount” for determining whether or not.

〔ルータの効果〕
以上の通り、本実施形態のルータ(優先度設定装置)3によれば、送受信ノードが同じである複数のパケットを捕捉処理部311にて取得し、データ処理部313が、パケット間遅延が通常よりも大きいフローの場合は、現状よりも高優先度にして品質を上げ、パケット間遅延が通常よりも小さいフローの場合は、現状よりも低優先度に設定して品質を下げるようになっているので、ネットワークの状態に応じて優先度を柔軟に変更することができる。
[Effect of router]
As described above, according to the router (priority setting device) 3 of the present embodiment, the capture processing unit 311 acquires a plurality of packets having the same transmission / reception node, and the data processing unit 313 has a normal inter-packet delay. If the flow is larger than the current level, the priority is set higher than the current level, and the quality is lowered if the interpacket delay is lower than usual. Therefore, the priority can be flexibly changed according to the state of the network.

〔その他の変形例〕
上述の実施形態では、回線終端装置(図1ではONU2)とは別の装置であるルータ3に本発明を適用しているが、回線終端装置とルータ3とを一体化したホームゲートウェイの場合には、この装置に本発明を適用することにしてもよい。
また、フロー統計データFSDのピリオドごとの第1遅延量やベースラインデータBLDの第2遅延量は、例えば中央値などの平均値以外の統計量であってもよい。
[Other variations]
In the above-described embodiment, the present invention is applied to the router 3 which is a device different from the line termination device (ONU 2 in FIG. 1). However, in the case of a home gateway in which the line termination device and the router 3 are integrated. The present invention may be applied to this apparatus.
Further, the first delay amount for each period of the flow statistical data FSD and the second delay amount of the baseline data BLD may be statistical amounts other than the average value such as a median value, for example.

また、第1遅延量の多寡を判定するための通常状態の「基準遅延量」を、複数の第1遅延量の統計量(第2遅延量)ではなく、固定値に設定することにしてもよい。
更に、上述の実施形態では、図1に示すように、イーサネットケーブル9で構内ネットワークLAN1,LAN2を構成しているが、ルータ3に無線LAN対応のインタフェースを設け、構内のIP端末4との通信を無線で行うようにしてもよい。
この場合、高優先度キューのパケットは、低優先度キューのパケットよりもコンテンションウィンドウのサイズを小さく設定することにしてもよい。
In addition, the “reference delay amount” in the normal state for determining the amount of the first delay amount may be set to a fixed value instead of a plurality of first delay amount statistics (second delay amount). Good.
Furthermore, in the above-described embodiment, the local area networks LAN1 and LAN2 are configured by the Ethernet cable 9 as shown in FIG. 1. However, the router 3 is provided with an interface corresponding to the wireless LAN and communicates with the IP terminal 4 on the local area. May be performed wirelessly.
In this case, the contention window size may be set smaller for packets in the high priority queue than for packets in the low priority queue.

上述の実施形態では、本発明の優先度設定機能をルータ3に実装した場合を例示しているが、その機能を、構内ネットワークLAN1,LAN2に繋がるIP端末4に実装することにしてもよい。
この場合、IP端末4にて動的に決定したQoSの優先度を、例えば、人手による入力、或いは、SNMPやUPnPなどを利用したオンラインアクセスにより、ルータ3に優先度を設定することにすればよい。
In the above-described embodiment, the case where the priority setting function of the present invention is implemented in the router 3 is illustrated, but the function may be implemented in the IP terminal 4 connected to the local networks LAN1 and LAN2.
In this case, if the priority of QoS determined dynamically by the IP terminal 4 is set to the router 3 by, for example, manual input or online access using SNMP, UPnP, or the like. Good.

今回開示した実施形態(上述の各変形例を含む。)はすべての点で例示であって制限的なものではない。本発明の権利範囲は、上述の実施形態ではなく、特許請求の範囲と均等の範囲内でのすべての変更が含まれる。   The embodiment disclosed this time (including the above-described modifications) is illustrative in all respects and not restrictive. The scope of the right of the present invention is not the embodiment described above, but includes all modifications within the scope equivalent to the scope of the claims.

3 ルータ(優先度設定装置)
4 IP端末
309 パケットプロセッサ
310 中継処理部
311 捕捉処理部(取得部)
312 分類処理部
313 データ処理部(設定部、算出部)
FD フローデータ
FSD フロー統計データ
BLD ベースラインデータ
3 router (priority setting device)
4 IP terminal 309 packet processor 310 relay processing unit 311 capture processing unit (acquisition unit)
312 Classification processing unit 313 Data processing unit (setting unit, calculation unit)
FD flow data FSD flow statistics data BLD baseline data

Claims (5)

優先制御方式のパケット通信に用いる優先度を自動的に設定する優先度設定装置であって、
送受信ノードが同じである複数のパケットを取得する取得部と、
取得された複数の前記パケットのパケット間遅延に応じて、当該パケットの優先度を設定する設定部と、
所定のピリオドに取得された複数の前記パケットの取得時刻に基づいて、前記パケット間遅延の統計量である第1遅延量を算出し、複数の前記ピリオドごとに算出した前記第1遅延量の統計量である第2遅延量を算出し、算出した当該第2遅延量を基準遅延量として採用する算出部と、を備えており、
前記設定部は、算出された前記第1遅延量と前記基準遅延量との差に基づいて前記パケットの優先度を設定することを特徴とする優先度設定装置。
A priority setting device that automatically sets the priority used for packet communication of the priority control method,
An acquisition unit for acquiring a plurality of packets having the same transmission / reception node;
A setting unit that sets the priority of the packet according to the inter-packet delay of the plurality of acquired packets;
Based on the acquisition times of the plurality of packets acquired in a predetermined period, a first delay amount that is a statistical amount of the inter-packet delay is calculated, and the first delay amount statistics calculated for each of the plurality of periods A second delay amount that is a quantity, and a calculation unit that employs the calculated second delay amount as a reference delay amount,
The setting unit is configured to set the priority of the packet based on a difference between the calculated first delay amount and the reference delay amount .
前記算出部は、前記基準遅延量との差が所定の閾値以上である前記第1遅延量については、前記第2遅延量の算出要素から除外する請求項に記載の優先度設定装置。 The calculating unit, for the first delay amount difference is not less than a predetermined threshold and the reference amount of delay, priority setting device according to exclude claims 1 to calculate the elements of the second delay amount. 前記パケット間遅延は、一方のノードから他方のノードに連続して送信される同種の前記パケット間の時間差である請求項1又は2に記載の優先度設定装置。 The inter-packet delay, priority setting device according to claim 1 or 2 which is the time difference between the packet of the same kind are continuously transmitted from one node to the other node. 前記パケット間遅延は、一方のノードから他方への要求パケットとこれに対応する応答パケットとの間の時間差である請求項1又は2に記載の優先度設定装置。 3. The priority setting apparatus according to claim 1, wherein the inter-packet delay is a time difference between a request packet from one node to the other and a response packet corresponding to the request packet. パケット通信が可能な通信機器を、優先制御方式のパケット通信に用いる優先度を設定する装置として機能させるためのコンピュータプログラムであって、
送受信ノードが同じである複数のパケットを取得する第1ステップと、
取得された複数の前記パケットのパケット間遅延に応じて、当該パケットの優先度を設定する第2ステップと、
所定のピリオドに取得された複数の前記パケットの取得時刻に基づいて、前記パケット間遅延の統計量である第1遅延量を算出する第3ステップと、
複数の前記ピリオドごとに算出した前記第1遅延量の統計量である第2遅延量を算出し、算出した当該第2遅延量を基準遅延量として採用する第4ステップと、を含み、
前記第2ステップにおいて、算出された前記第1遅延量と前記基準遅延量との差に基づいて前記パケットの優先度を設定することを特徴とするコンピュータプログラム。
A computer program for causing a communication device capable of packet communication to function as a device for setting a priority used for packet communication of a priority control method,
A first step of acquiring a plurality of packets having the same transmitting / receiving node;
A second step of setting the priority of the packet according to the inter-packet delay of the plurality of acquired packets;
A third step of calculating a first delay amount, which is a statistical amount of the inter-packet delay, based on the acquisition times of the plurality of packets acquired in a predetermined period;
A fourth step of calculating a second delay amount that is a statistic amount of the first delay amount calculated for each of the plurality of periods, and adopting the calculated second delay amount as a reference delay amount;
In the second step, the priority of the packet is set based on the difference between the calculated first delay amount and the reference delay amount .
JP2015034140A 2015-02-24 2015-02-24 Priority setting device and computer program Expired - Fee Related JP5896055B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2015034140A JP5896055B2 (en) 2015-02-24 2015-02-24 Priority setting device and computer program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015034140A JP5896055B2 (en) 2015-02-24 2015-02-24 Priority setting device and computer program

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2011108419A Division JP2012239138A (en) 2011-05-13 2011-05-13 Priority setting device and computer program

Publications (2)

Publication Number Publication Date
JP2015128310A JP2015128310A (en) 2015-07-09
JP5896055B2 true JP5896055B2 (en) 2016-03-30

Family

ID=53838073

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015034140A Expired - Fee Related JP5896055B2 (en) 2015-02-24 2015-02-24 Priority setting device and computer program

Country Status (1)

Country Link
JP (1) JP5896055B2 (en)

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11289344A (en) * 1998-04-03 1999-10-19 Omron Corp Data transmission system
JP2008219812A (en) * 2007-03-07 2008-09-18 Daikin Ind Ltd Band controller, network and air conditioning management system with the band controller, and band control method and band control program
US7760642B2 (en) * 2007-03-12 2010-07-20 Citrix Systems, Inc. Systems and methods for providing quality of service precedence in TCP congestion control
JP2009188979A (en) * 2008-01-10 2009-08-20 Hitachi Ltd Information processing apparatus, and frame priority setting method
EP2308199B1 (en) * 2008-07-28 2013-12-18 Vantrix Corporation Flow-rate adaptation for a connection of time-varying capacity

Also Published As

Publication number Publication date
JP2015128310A (en) 2015-07-09

Similar Documents

Publication Publication Date Title
US7606160B2 (en) System and method to provide routing control of information over networks
US7269157B2 (en) System and method to assure network service levels with intelligent routing
EP3535932B1 (en) Application characterization using transport protocol analysis
US9692679B2 (en) Event triggered traceroute for optimized routing in a computer network
US9391895B2 (en) Network system and switching method thereof
JP4233884B2 (en) How to perform quality of service probing
JP4774357B2 (en) Statistical information collection system and statistical information collection device
JP2009089241A (en) Apparatus, method and program, for detecting abnormal traffic
US8064348B2 (en) Gathering traffic profiles for endpoint devices that are operably coupled to a network
JP6699065B2 (en) Packet sampling to measure network performance
JP2017511072A (en) Incremental application of resources for network traffic flows based on heuristics and business policies
WO2011118575A1 (en) Communication system, control device and traffic monitoring method
JP6153166B2 (en) Traffic monitoring device, program, and communication device
EP3025453B1 (en) Probe routing in a network
US20110176429A1 (en) Method, arrangement and system for monitoring a data path in a communication network
KR102346109B1 (en) Load balancing apparatus and method
JPWO2011102086A1 (en) Loop detection apparatus, system, method and program
EP3025459B1 (en) Probe routing in a network
JP2012239138A (en) Priority setting device and computer program
JP5896055B2 (en) Priority setting device and computer program
JP2012249138A (en) Packet capture device and computer program
JP2012227805A (en) Relay device, communication system having the same, and computer program
JP5965365B2 (en) Communication control system
Garcia et al. The ethernet frame payload size and its effect on IPv4 and IPv6 traffic
US20230198878A1 (en) Method and system for network segment performance monitoring

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160122

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: 20160202

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160215

R150 Certificate of patent or registration of utility model

Ref document number: 5896055

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees