JP7380091B2 - Packet processing device and packet processing method - Google Patents
Packet processing device and packet processing method Download PDFInfo
- Publication number
- JP7380091B2 JP7380091B2 JP2019200402A JP2019200402A JP7380091B2 JP 7380091 B2 JP7380091 B2 JP 7380091B2 JP 2019200402 A JP2019200402 A JP 2019200402A JP 2019200402 A JP2019200402 A JP 2019200402A JP 7380091 B2 JP7380091 B2 JP 7380091B2
- Authority
- JP
- Japan
- Prior art keywords
- packet
- communication
- transmitted
- retransmission
- information processing
- 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
- 238000012545 processing Methods 0.000 title claims description 34
- 238000003672 processing method Methods 0.000 title claims description 6
- 238000004891 communication Methods 0.000 claims description 220
- 230000010365 information processing Effects 0.000 claims description 99
- 230000005540 biological transmission Effects 0.000 claims description 84
- 238000012546 transfer Methods 0.000 claims description 68
- 238000000034 method Methods 0.000 claims description 31
- 238000004458 analytical method Methods 0.000 description 58
- 230000006870 function Effects 0.000 description 42
- 239000002775 capsule Substances 0.000 description 21
- 238000012544 monitoring process Methods 0.000 description 13
- 238000010586 diagram Methods 0.000 description 11
- 238000001152 differential interference contrast microscopy Methods 0.000 description 9
- 230000006399 behavior Effects 0.000 description 7
- 239000000284 extract Substances 0.000 description 7
- 230000004044 response Effects 0.000 description 3
- 238000011084 recovery Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
- Communication Control (AREA)
Description
本発明は、通信パケットを処理する装置および方法に係わる。 The present invention relates to an apparatus and method for processing communication packets.
柔軟な情報処理サービスを提供するために、仮想環境下で動作する情報処理システムが実用化されている。仮想環境下で動作する情報処理システムは、例えば、複数の仮想サーバおよび仮想サーバ間に設けられる仮想スイッチを含む。そして、複数の仮想サーバは、仮想スイッチを介して通信パケットを送信および受信することで、要求された情報処理を実現する。なお、以下の記載では、仮想環境下で動作する情報処理システムを「仮想情報処理システム」と呼ぶことがある。 In order to provide flexible information processing services, information processing systems that operate in virtual environments have been put into practical use. An information processing system that operates under a virtual environment includes, for example, a plurality of virtual servers and a virtual switch provided between the virtual servers. The plurality of virtual servers transmits and receives communication packets via the virtual switch, thereby realizing the requested information processing. Note that in the following description, an information processing system that operates in a virtual environment may be referred to as a "virtual information processing system."
仮想情報処理システムを監視する場合、仮想スイッチのミラーリング機能を利用して、仮想サーバ間で送信される通信パケットがコピーされる。コピーされた通信パケットは、中継装置によりシステム分析装置に転送される。システム分析装置は、受信した通信パケットに基づいて、仮想情報処理システムを監視する。例えば、システム分析装置は、仮想情報処理システムのパケット数、パケット損失率、応答時間、スループットなどを監視する。 When monitoring a virtual information processing system, the mirroring function of a virtual switch is used to copy communication packets sent between virtual servers. The copied communication packet is transferred to the system analysis device by the relay device. The system analysis device monitors the virtual information processing system based on the received communication packets. For example, the system analysis device monitors the number of packets, packet loss rate, response time, throughput, etc. of the virtual information processing system.
なお、関連技術として、TCP送信処理の効率化を実現する方法が提案されている(例えば、特許文献1)。また、データストリームを構成する映像データを授受して非信頼性伝送路上で動作する場合の映像品質を向上させる方法が提案されている(例えば、特許文献2)。 Note that as a related technique, a method has been proposed to improve the efficiency of TCP transmission processing (for example, Patent Document 1). Furthermore, a method has been proposed for transmitting and receiving video data constituting a data stream to improve video quality when operating on an unreliable transmission path (for example, Patent Document 2).
仮想環境の外に設けられるシステム分析装置を用いて仮想情報処理システムを監視するときは、仮想サーバ間で送信される通信パケットの挙動を、システム分析装置上に再現する必要がある。ところが、仮想環境においては、演算効率を高くするために、仮想環境に特有の処理が行われることがある。このため、仮想サーバ間で送信される通信パケットの挙動をシステム分析装置上に再現することが難しいケースがある。そして、仮想サーバ間で送信される通信パケットの挙動をシステム分析装置上に正確に再現できなければ、仮想情報処理システムの監視の精度が低下してしまう。 When monitoring a virtual information processing system using a system analysis device provided outside the virtual environment, it is necessary to reproduce the behavior of communication packets transmitted between virtual servers on the system analysis device. However, in a virtual environment, processing specific to the virtual environment may be performed in order to increase computational efficiency. For this reason, there are cases where it is difficult to reproduce the behavior of communication packets transmitted between virtual servers on a system analysis device. If the behavior of communication packets transmitted between virtual servers cannot be accurately reproduced on the system analysis device, the accuracy of monitoring the virtual information processing system will decrease.
本発明の1つの側面に係わる目的は、仮想情報処理システムの監視精度を向上させることである。 An object of one aspect of the present invention is to improve the accuracy of monitoring virtual information processing systems.
本発明の1つの態様のパケット処理方法は、仮想情報処理システム内で送信される通信パケットを前記仮想情報処理システムから受信し、前記通信パケットが前記仮想情報処理システム内で送信された再送パケットであるか否かを判定し、前記通信パケットが前記仮想情報処理システム内で送信された再送パケットでないときは、送信データの分割処理を実行するセグメントオフロード機能がオン状態に設定された第1の出力部を介して前記通信パケットを出力し、前記通信パケットが前記仮想情報処理システム内で送信された再送パケットであるときは、前記セグメントオフロード機能がオフ状態に設定された第2の出力部を介して前記通信パケットを出力する。 A packet processing method according to one aspect of the present invention includes receiving a communication packet transmitted within a virtual information processing system from the virtual information processing system, wherein the communication packet is a retransmission packet transmitted within the virtual information processing system. If the communication packet is not a retransmission packet transmitted within the virtual information processing system, a first segment offload function for performing division processing of transmission data is set to an on state. a second output unit that outputs the communication packet via an output unit, and when the communication packet is a retransmission packet transmitted within the virtual information processing system, the segment offload function is set to an off state; The communication packet is outputted via.
上述の態様によれば、仮想情報処理システムの監視精度が向上する。 According to the above aspect, the monitoring accuracy of the virtual information processing system is improved.
図1は、仮想情報処理システムを監視する監視システムの一例を示す。この例では、監視システムは、仮想情報処理システム1の動作状態を監視するために、中継装置2およびシステム分析装置3を備える。仮想情報処理システム1は、仮想環境下で動作する情報処理システムである。中継装置2は、仮想情報処理システム1内で送信される通信パケットを仮想情報処理システム1から受信してシステム分析装置3に転送する。システム分析装置3は、中継装置2から転送されてくる通信パケットを利用して仮想情報処理システム1の動作を監視する。
FIG. 1 shows an example of a monitoring system that monitors a virtual information processing system. In this example, the monitoring system includes a
仮想情報処理システム1は、図1に示すように、複数の仮想サーバ11(11a、11b)、仮想スイッチ12、収集サーバ13、NIC(network interface card)14を備える。なお、仮想情報処理システム1は、図1に示していない他の機能を備えていてもよい。また、仮想情報処理システム1は、3以上の仮想サーバ11を備えてもよい。
As shown in FIG. 1, the virtual
仮想サーバ11は、仮想マシンにより実現される。そして、仮想サーバ11は、演算結果を他の仮想サーバ11に送信できる。また、仮想サーバ11は、他の仮想サーバ11の演算結果を受信できる。演算結果(及び、制御情報)は、例えば、TCPパケットに格納されて送信される。
The
仮想スイッチ12は、仮想サーバ11間で通信パケットを転送する。また、仮想スイッチ12は、ミラーリング機能を利用して、仮想サーバ11間で送信される通信パケットをコピーして収集サーバ13に導くことができる。よって、収集サーバ13は、仮想サーバ11間で送信される通信パケットを収集できる。なお、収集サーバ13も仮想マシンにより実現される。
The
収集サーバ13は、収集した通信パケットを、NIC14を介して中継装置2に送信する。そうすると、中継装置2は、NIC21を介して、通信パケットを受信する。すなわち、中継装置2は、仮想サーバ11間で送信される通信パケットを受信する。なお、仮想情報処理システム1と中継装置2との間は、TCPプロトコルで通信が行われる。すなわち、仮想サーバ11間で送信される通信パケットは、TCPパケットに格納されて仮想情報処理システム1から中継装置2に送信される。
The
なお、以下の記載では、仮想情報処理システム1から中継装置2に送信されるパケットを「カプセルパケット」と呼ぶことがある。すなわち、仮想サーバ11間で送信される通信パケットは、カプセルパケットに格納されて仮想情報処理システム1から中継装置2に送信される。また、「通信パケット」は、仮想サーバ11間で送信されるパケット、または、仮想サーバ11間で送信されるパケットをコピーすることで生成されるパケットを表すものとする。
Note that in the following description, the packet transmitted from the virtual
中継装置2は、図1に示すように、NIC21、パケット受信部22、パケットバッファ23、転送部24、NIC25を備える。なお、中継装置2は、図1に示していない他の機能を備えていてもよい。
As shown in FIG. 1, the
パケット受信部22は、仮想情報処理システム1から送信されるカプセルパケットを受信する。そして、パケット受信部22は、カプセルパケットから通信パケットを抽出してパケットバッファ23に書き込む。すなわち、仮想サーバ11間で送信される通信パケットがパケットバッファ23に書き込まれる。転送部24は、パケットバッファ23から通信パケットを読み出す。そして、転送部24は、この通信パケットを、NIC25を介してシステム分析装置2に送信する。
The
システム分析装置3は、NIC31を介して、通信パケットを受信する。そして、分析部32は、中継装置2から受信する通信パケットを分析する。ここで、システム分析装置3が受信する通信パケットは、仮想サーバ11間で送信される通信パケットである。よって、分析部32は、この通信パケットを分析することにより、仮想情報処理システム1を監視できる。このとき、分析部32は、例えば、仮想情報処理システム1のパケット数、パケット損失率、応答時間、スループットなどを監視する。
The
図2は、セグメントオフロード機能に係わる問題を説明する図である。なお、仮想情報処理システム1、中継装置2、およびシステム分析装置3の構成は、図1および図2において実質的に同じである。
FIG. 2 is a diagram illustrating problems related to the segment offload function. Note that the configurations of the virtual
仮想情報処理システム1においては、通信処理のオーバヘッドを削減するために、仮想NIC(図2では、V_NIC)のセグメントオフロード機能がオン状態に設定されることが多い。セグメントオフロード機能は、CPUの代わりにTCP通信における送信データの分割処理を実行する。図2に示す仮想情報処理システム1においては、セグメントオフロード機能がオン状態に設定されるときは、仮想サーバ11間で、MTUより大きい通信パケットが送信され得る。なお、MTU(maximum transmission unit)値は、たとえば、1500Bに設定される。そして、MTUより大きい通信パケット(図2では、64KBのパケット)が、仮想サーバ11間で送信されるものとする。
In the virtual
仮想情報処理システム1と中継装置2との間は、TCPプロトコルで通信が行われる。よって、仮想サーバ11間で送信される通信パケットは、1または複数のカプセルパケットに格納されて仮想情報処理システム1から中継装置2に送信される。このとき、仮想サーバ11間で送信される通信パケットは、必要に応じて、複数に分割される。
Communication is performed between the virtual
中継装置2は、仮想情報処理システム1から受信する1または複数のカプセルパケットから、仮想サーバ11間で送信される通信パケットを抽出する。そして、抽出された通信パケットは、図2に示すように、いったんパケットバッファ23に保存される。その後、転送部24は、パケットバッファ23から通信パケットを読み出してNIC25に渡す。
中継装置2とシステム分析装置3との間は、物理的にイーサネット(登録商標)で接続され、MTU値は1500Bであるものとする。ここで、仮想情報処理システム1内の通信パケットの挙動をシステム分析装置3で精度よく監視するためには、中継装置2は、パケットバッファ23から読み出した通信パケットをそのままシステム分析装置3にストリーム出力することが好ましい。このため、中継装置2とシステム分析装置3との間に実装されるNIC(即ち、NIC25、31)のセグメントオフロード機能は、オフ状態に設定される。
It is assumed that the
ところが、NIC25、31のMTU値は、1500Bに設定されている。このため、仮想サーバ11間で送信される通信パケットのサイズがMTU値より大きいときは、その通信パケットは、NIC25、31により廃棄されてしまう。すなわち、仮想情報処理システム1内の仮想NICのセグメントオフロード機能がオン状態に設定され、中継装置2とシステム分析装置3との間に実装されるNICのセグメントオフロード機能がオフ状態に設定されると、システム分析装置3は、仮想情報処理システム1内の通信パケットの挙動を正しく監視できない。
However, the MTU value of the
図2を参照して説明した問題は、中継装置2とシステム分析装置3との間に実装されるNICのセグメントオフロード機能をオン状態に設定することで解決され得る。即ち、NIC25、31のセグメントオフロード機能がオン状態に設定されると、MTUより大きな通信パケットは、NIC25によりMTU以下の通信パケットに分割されてシステム分析装置3に送信される。そして、NIC31は、NIC25により分割された通信パケットを結合することで元の通信パケットを再生する。したがって、仮想サーバ11間でMTUより大きい通信パケットが送信されるケースであっても、その通信パケットが中継装置2とシステム分析装置3との間で廃棄されることはない。
The problem described with reference to FIG. 2 can be solved by turning on the segment offload function of the NIC installed between the
しかしながら、中継装置2とシステム分析装置3との間に実装されるNICのセグメントオフロード機能をオン状態に設定すると、別の問題が発生することがある。例えば、仮想サーバ11間でパケットロスが発生した場合、仮想サーバ11間で再送が行われる。このとき、MTUより大きい通信パケットのロスが発生した後の再送手順において、再度、パケットロスが発生すると、リカバリするための処理コストが大きくなる。このため、MTUより大きい通信パケットのロスが発生した場合には、その通信パケットは、MTU以下のパケットに分割されて再送されることがある。図3に示す例では、64KBの通信パケットのロスが発生した後、MTU以下の複数の再送パケットP1~Pnが送信されている。
However, when the segment offload function of the NIC installed between the
このような再送が行われるケースでは、図3に示すように、複数の再送パケットP1~Pnが中継装置2からシステム分析装置3に転送される。ところが、NIC25、31のセグメントオフロード機能がオン状態に設定されている。よって、NIC31は、それら複数の再送パケットP1~Pnを結合して1つの通信パケットを再生する。すなわち、実際には仮想サーバ11間で複数の再送パケットP1~Pnが送信されたにもかかわらず、分析部32は、1個の通信パケットが送信されたと認識してしまう。この結果、監視精度が低下することになる。
In a case where such retransmission is performed, a plurality of retransmission packets P1 to Pn are transferred from
このように、中継装置2とシステム分析装置3との間に実装されるNICのセグメントオフロード機能をオン状態に設定すれば、仮想サーバ11間で送信される通信パケットのサイズがMTUより大きくてもその通信パケットを正しく認識できるが、仮想サーバ11間で通信パケットの再送が行われたときは、監視精度が低下することがある。そこで、本発明の実施形態に係わるパケット処理装置は、仮想情報処理システムから受信する通信パケットが、仮想サーバ11間で送信された再送パケットであるか否かを判定する機能を備える。そして、パケット処理装置は、この判定結果に応じて異なるパケット処理を実行する。
In this way, if the segment offload function of the NIC implemented between the
<実施形態>
図4は、本発明の実施形態に係わる監視システムの一例を示す。この例では、監視システムは、仮想情報処理システム1の動作状態を監視するために、中継装置2Aおよびシステム分析装置3Aを備える。仮想情報処理システム1は、仮想環境下で動作する情報処理システムである。中継装置2Aは、仮想情報処理システム1内で送信される通信パケットを仮想情報処理システム1から受信してシステム分析装置3Aに転送する。システム分析装置3Aは、中継装置2Aから転送されてくる通信パケットを利用して仮想情報処理システム1の動作状態を監視する。
<Embodiment>
FIG. 4 shows an example of a monitoring system according to an embodiment of the present invention. In this example, the monitoring system includes a
仮想情報処理システム1は、図1および図4において実質的に同じである。すなわち、仮想サーバ11(11a、11b)は、仮想NICを介して通信パケットを送信および受信する。仮想NICのセグメントオフロード機能は、オン状態に設定されている。すなわち、仮想サーバ11間でMTUより大きい通信パケットが送信され得る。また、仮想スイッチ12および収集サーバ13は、仮想サーバ11間で送信される通信パケットをコピーして中継装置2Aに送信する。なお、仮想サーバ11間で送信される通信パケットは、カプセルパケットに格納されて、仮想情報処理システム1から中継装置2Aに送信される。
The virtual
中継装置2Aは、NIC21、パケット受信部22、パケットバッファ23、再送判定部26、転送制御部27、転送部24a、24b、NIC25a、25bを備える。NIC21、パケット受信部22、パケットバッファ23は、図1および図4において実質的に同じである。即ち、パケット受信部22は、仮想情報処理システム1から受信するカプセルパケットから、仮想サーバ11間で送信される通信パケットを抽出する。そして、パケット受信部22は、仮想サーバ11間で送信される通信パケットをパケットバッファ23に保存する。なお、中継装置2は、図4に示していない他の機能を備えていてもよい。
The
再送判定部26は、パケットバッファ23に保存された通信パケットが、仮想情報処理システム1内で送信された再送パケットであるか否かを判定する。すなわち、再送判定部26は、パケットバッファ23に保存された通信パケットが、通常パケットであるか再送パケットであるかを判定する。再送パケットは、仮想情報処理システム1内で発生したパケットロスに起因して送信されるパケットである。通常パケットは、仮想情報処理システム1内で送信される、再送パケット以外のパケットである。
The
なお、この実施例では、再送パケットのサイズは、MTU値以下であるものとする。よって、MTUより大きい通常パケットのロスが発生した場合、その通常パケットに対して複数の再送パケットが送信される。 Note that in this embodiment, it is assumed that the size of the retransmitted packet is less than or equal to the MTU value. Therefore, when a loss of a normal packet larger than MTU occurs, multiple retransmission packets are transmitted for that normal packet.
転送部24a、24bは、転送制御部27から与えられる指示に応じて、パケットバッファ23から通信パケットを読み出す。NIC25a、25bは、それぞれ、転送部24a、24bにより読み出された通信パケットを出力する。ここで、NIC25aのセグメントオフロード機能はオン状態に設定されており、NIC25bのセグメントオフロード機能はオフ状態に設定されている。すなわち、NIC25aは、転送部24aにより読み出された通信パケットのサイズがMTU値より大きいときは、その通信パケットを複数のパケットに分割して出力する。一方、NIC25bは、転送部24bにより読み出された通信パケットのサイズにかかわらず、その通信パケットをそのまま出力する。なお、転送部24aおよびNIC25aは、セグメントオフロード機能がオン状態に設定された第1の出力部の一例である。また、転送部24bおよびNIC25bは、セグメントオフロード機能がオフ状態に設定された第2の出力部の一例である。
The
転送制御部27は、再送判定部26による判定結果に応じて転送部24a、24bに指示を与える。具体的には、パケットバッファ23に保存された通信パケットが再送パケットでないとき(即ち、パケットバッファ23に保存された通信パケットが通常パケットであるとき)は、転送制御部27は、その通信パケットを出力することを表す指示を転送部24aに与える。この場合、転送部24aはその通信パケットを読み出し、NIC25aはその通信パケットを出力する。一方、パケットバッファ23に保存された通信パケットが再送パケットであるきは、転送制御部27は、その通信パケットを出力することを表す指示を転送部24bに与える。この場合、転送部24bはその通信パケットを読み出し、NIC25bはその通信パケットを出力する。
The
システム分析部3Aは、NIC31a、31b、および分析部32を備える。ここで、NIC31aのセグメントオフロード機能はオン状態に設定されており、NIC31bのセグメントオフロード機能はオフ状態に設定されている。
The system analysis section 3A includes NICs 31a and 31b and an
NIC31aは、NIC25aから出力される通信パケットを受信する。すなわち、NIC31aは、通常パケットを受信する。ここで、NIC31aのセグメントオフロード機能はオン状態に設定されている。よって、NIC25aにおいてセグメントオフロード機能によりパケットが分割されたときは、NIC31aは、複数のパケットから元の通信パケットを再生する。
The
NIC31bは、NIC25bから出力される通信パケットを受信する。すなわち、NIC31bは、再送パケットを受信する。ここで、NIC31bのセグメントオフロード機能はオフ状態に設定されている。したがって、NIC25aは、同じTCPセッション内の複数の再送パケットを受信したときに、それら複数の再送パケットを結合することはない。すなわち、複数の再送パケットは、結合されることなく、そのまま分析部32に導かれる。
The
分析部32は、中継装置2Aから受信する通信パケットを分析する。ここで、システム分析装置3Aが受信する通信パケットは、仮想サーバ11間で送信される通信パケットである。よって、分析部32は、この通信パケットを分析することにより、仮想情報処理システム1を監視できる。このとき、分析部32は、例えば、仮想情報処理システム1のパケット数、パケット損失率、応答時間、スループットなどを監視する。
The
図5は、仮想サーバ11間で通常パケットが送信されたときの中継装置2Aの動作の一例を示す。この場合、仮想サーバ11間で送信される通常パケットは、パケットバッファ23に保存される。再送判定部26は、パケットバッファ23に保存された通信パケットが通常パケットであると判定すると、転送部24aに対して送信指示を与える。そうすると、転送部24aは、送信指示に従ってパケットバッファ23から通常パケットを読み出す。そして、NIC25aは、この通常パケットをシステム分析装置3Aに送信する。ここで、NIC25aのセグメントオフロード機能がオン状態に設定されている。よって、通常パケットのサイズがMTU値より大きいときは、NIC25aは、この通常パケットをMTU以下のパケットに分割してシステム分析装置3Aに送信する。
FIG. 5 shows an example of the operation of the
このように、仮想サーバ11間で通常パケットが送信されたときは、その通常パケットは、セグメントオフロード機能がオン状態に設定されているNICを介して中継装置2Aからシステム分析装置3Aに転送される。したがって、通常パケットのサイズがMTU値より大きい場合であっても、中継装置2Aからシステム分析装置3Aへの転送において、その通常パケットが廃棄されることはない。
In this way, when a normal packet is sent between the
図6は、仮想サーバ11間で再送パケットが送信されたときの中継装置2Aの動作の一例を示す。この実施例では、仮想情報処理システム1において、通常パケットのロスに起因して、複数の再送パケットP1~Pnが送信されるものとする。また、各再送パケットP1~Pnのサイズは、MTU値以下である。
FIG. 6 shows an example of the operation of the
この場合、仮想サーバ11間で送信される再送パケットP1~Pnは、パケットバッファ23に保存される。再送判定部26は、パケットバッファ23に保存された通信パケットが再送パケットであると判定すると、転送部24bに対して送信指示を与える。そうすると、転送部24bは、送信指示に従ってパケットバッファ23から再送パケットP1~Pnを順番に読み出す。そして、NIC25aは、再送パケットP1~Pnをシステム分析装置3Aに送信する。
In this case, retransmission packets P1 to Pn transmitted between
このように、仮想サーバ11間で再送パケットP1~Pnが送信されたときは、再送パケットP1~Pnは、セグメントオフロード機能がオフ状態に設定されているNICを介して中継装置2Aからシステム分析装置3Aに転送される。したがって、システム分析装置3Aに実装されるNICにおいて再送パケットP1~Pnが結合されることはなく、仮想情報処理システム1内での通信パケットの挙動が正しく再現される。
In this way, when the retransmitted packets P1 to Pn are transmitted between the
図7は、中継装置2Aのハードウェア構成の一例を示す。中継装置2Aは、ハードディスク41、メモリ42、CPU43、およびNIC25a、25bを備える。なお、中継装置2Aは、図7に示していない回路またはデバイスを備えてもよい。
FIG. 7 shows an example of the hardware configuration of the
ハードディスク41には、OS(operating system)プログラムおよび中継プログラムが保存されている。中継プログラムは、パケット受信プログラム、再送判定プログラム、転送制御プログラム、および転送プログラムを含む。パケット受信プログラム、再送判定プログラム、転送制御プログラム、および転送プログラムは、それぞれ、パケット受信部22、再送判定部26、転送制御部27、および転送部24a、24bの処理を記述する。
The
メモリ42は、例えば、半導体メモリであり、作業領域42aおよびパケットバッファ42bを実現する。作業領域42aは、CPU43の作業領域として使用される。したがって、OSプログラムおよび中継プログラムは、作業領域42aにロードされて実行される。パケットバッファ42bは、図4~図6に示すパケットバッファ23に相当する。
The
CPU43は、中継プログラムを実行することにより、図5~図6に示すパケット処理を実行する。このとき、CPU43がパケット受信プログラム、再送判定プログラム、転送制御プログラム、および転送プログラムを実行することにより、パケット受信部22、再送判定部26、転送制御部27、および転送部24a、24bの機能が提供される。すなわち、中継装置2Aは、仮想情報処理システム1から受信するパケットをシステム分析装置3Aに転送するパケット処理装置として動作する。なお、CPU43は、複数のプロセッサを備えるマルチプロセッサシステムであってもよい。
The
図8は、パケットロスに起因する再送手順の例を示す。この実施例では、時刻T1において仮想サーバ11aから仮想サーバ11bにSYNパケットが送信される。SYNパケットのヘッダは、宛先IPアドレス、宛先ポート番号、送信元IPアドレス、宛先ポート番号、TCPシーケンス番号を含む。そして、仮想サーバ11bから仮想サーバ11aに不図示のACNパケットが返送される。この手順により、仮想サーバ11aから仮想サーバ11bに通信パケットを送信するためのセッション(または、コネクション)が確立される。
FIG. 8 shows an example of a retransmission procedure due to packet loss. In this embodiment, a SYN packet is transmitted from the
この後、時刻T2において仮想サーバ11aから仮想サーバ11bに通信パケット(すなわち、通常パケット)が送信される。通常パケットのヘッダに設定される宛先IPアドレス、宛先ポート番号、送信元IPアドレス、宛先ポート番号は、SYNパケットと同じである。ただし、通常パケットのTCPシーケンス番号は、SYNパケットとは異なる。また、この通常パケットのサイズは、MTU値より大きいものとする。そして、仮想サーバ11bは、通信パケットを受信したときは、不図示のACKパケットを返送する。すなわち、仮想サーバ11bは、仮想サーバ11aから通信パケットを受信したときは、仮想サーバ11aにACKパケットを送信する。
Thereafter, at time T2, a communication packet (that is, a normal packet) is transmitted from the
ただし、図8に示す例では、パケットロスが発生し、仮想サーバ11bは、仮想サーバ11aから送信される通常パケットを受信しない。この場合、仮想サーバ11bは、仮想サーバ11aにACKパケットを送信しない。すなわち、仮想サーバ11aは、時刻T2に送信した通常パケットに対応するACKパケットを受信できない。そして、時刻T2から所定のタイムアウト時間が経過すると、仮想サーバ11aは、再送手順を開始する。
However, in the example shown in FIG. 8, a packet loss occurs and the
再送手順において、仮想サーバ11aは、先に送信した通常パケットの代わりに、再送パケットP1~Pnを送信する。各再送パケットP1~Pnのサイズは、MTU値以下である。各再送パケットP1~Pnは、所定の時間間隔ΔTまたはΔTより短い時間間隔で1つずつ順番に送信される。各再送パケットP1~Pnのヘッダに格納される宛先IPアドレス、宛先ポート番号、送信元IPアドレス、宛先ポート番号は、先に送信された通常パケットと同じである。また、再送パケットP1~Pnのうちで最初に送信されるパケット(即ち、再送パケットP1)のTCPシーケンス番号は、先に送信された通常パケットのTCPシーケンス番号と同じであるものとする。さらに、再送パケットP2~PnのTCPシーケンス番号は、再送パケットP1のTCPシーケンス番号から一意に計算されるものとする。
In the retransmission procedure, the
上述の送信/再送手順において、仮想スイッチ12は、仮想サーバ11aから受信するパケットをコピーする。そして、仮想情報処理システム1(具体的には、収集サーバ13またはNIC14)は、このパケットを中継装置2Aに送信する。このとき、収集サーバ13またはNIC14は、中継装置2Aに送信する通信パケットに送信時刻情報を付与する。ただし、仮想サーバ11aが通信パケットを送信するときにその通信パケットに送信時刻情報を付与するときは、収集サーバ13またはNIC14は、中継装置2Aに送信する通信パケットに送信時刻情報を付与する必要はない。いずれにしても、中継装置2Aが受信する通信パケットには、その通信パケットの送信時刻を表す送信時刻情報が付与されている。
In the above transmission/retransmission procedure, the
図9は、仮想情報処理システム1から中継装置2Aに送信されるカプセルパケットの一例を示す。この実施例では、仮想サーバ11間で送信される通信パケットは、図9に示すように、カプセルパケットのペイロードに格納される。このとき、このカプセルパケットのペイロードには、送信時刻情報も格納される。送信時刻情報は、仮想サーバ11間で送信された通信パケットがカプセルパケットに格納された時刻を表す。ただし、仮想サーバ11間で通信パケットが送信された直後に、その通信パケットがカプセルパケットに格納される。したがって、送信時刻情報は、実質的に、仮想サーバ11間で通信パケットが送信された時刻を表す。
FIG. 9 shows an example of a capsule packet transmitted from the virtual
なお、仮想サーバ11間で送信された通信パケットのサイズによっては、その通信パケットは複数のパケット部分に分割され、複数のカプセルパケットを利用して中継装置2Aに送信される。この場合、中継装置2Aは、複数のパケット部分を結合することにより、元の通信パケットを再生できる。
Note that depending on the size of the communication packet transmitted between the
中継装置2Aは、仮想情報処理システム1から受信する1または複数のカプセルパケットから、仮想サーバ11間で送信された通信パケットを抽出する。抽出された通信パケットは、パケットバッファ23に保存される。また、中継装置2Aは、TCPセッション毎に通信パケットを管理する。TCPセッションは、この実施例では、宛先IPアドレス、宛先ポート番号、送信元IPアドレス、宛先ポート番号の組合せにより識別される。
The
図10(a)は、パケットバッファ23の一例を示す。パケットバッファ23には、仮想サーバ11間で送信された通信パケットが保存される。なお、通信パケットに関連づけて、仮想情報処理システム1において通信パケットに付与される送信時刻情報もパケットバッファ23に保存される。
FIG. 10(a) shows an example of the
図10(b)は、TCPセッション毎に通信パケットを管理するセッション管理テーブルの一例を示す。セッション管理テーブルは、TCPセッション毎に、通信パケットのシーケンス番号および送信時刻情報を管理する。なお、セッション管理テーブルには、TCPセッション毎に、最新の通信パケットのシーケンス番号および送信時刻情報が記録される。 FIG. 10(b) shows an example of a session management table that manages communication packets for each TCP session. The session management table manages sequence numbers and transmission time information of communication packets for each TCP session. Note that the sequence number and transmission time information of the latest communication packet are recorded in the session management table for each TCP session.
図10(c)は、パラメータテーブルの一例を示す。パラメータテーブルには、MTU値、タイムアウト時間、連続送信間隔が記録される。MTU値は、最大送信サイズの一例であり、予め決められている。タイムアウト時間は、仮想情報処理システム1内で発生するパケットロスを検出するために使用される。例えば、仮想サーバ11は、相手装置に通信パケットを送信したときからタイムアウト時間内に対応するACKパケットを受信できなければ、パケットロスが発生したと判定する。この場合、仮想サーバ11は、再送手順を実行する。連続送信間隔は、再送手順において複数の再送パケットを順番に送信する間隔を表す。図8に示す例では、連続送信間隔は、ΔTで表記されている。
FIG. 10(c) shows an example of a parameter table. The MTU value, timeout time, and continuous transmission interval are recorded in the parameter table. The MTU value is an example of the maximum transmission size and is predetermined. The timeout period is used to detect packet loss occurring within the virtual
図11は、パケット受信部22の処理の一例を示すフローチャートである。なお、パケット受信部22は、S1において、仮想情報処理システム1との間のTCP通信のためのソケットを生成する。この後、仮想情報処理システム1からパケット受信部22にTCPプロトコルパケットが到着するごとに、S2~S5の処理が実行される。
FIG. 11 is a flowchart illustrating an example of processing by the
S2において、パケット受信部22は、仮想情報処理システム1からTCPプロトコルパケットを受信する。この実施例では、パケット受信部22は、仮想情報処理システム1からカプセルパケットを受信する。カプセルパケットは、図9に示すように、仮想サーバ11間で送信される通信パケットおよび送信時刻情報を含む。
In S2, the
S3において、パケット受信部22は、受信したカプセルパケットから通信パケットを抽出する。S4において、パケット受信部22は、受信したカプセルパケットから送信時刻情報を抽出する。S5において、パケット受信部22は、図10(a)に示すように、受信したカプセルパケットから抽出した通信パケットおよび送信時刻情報をパケットバッファ23に保存する。
In S3, the
図12は、再送判定部26の処理の一例を示すフローチャートである。このフローチャートの処理は、パケット受信部22によりパケットバッファ23に通信パケットが保存されたときに実行される。
FIG. 12 is a flowchart illustrating an example of processing by the
S11において、再送判定部26は、パケットバッファ23に保存されている通信パケットを参照する。S12において、再送判定部26は、通信パケットのヘッダに設定されている宛先IPアドレス、宛先ポート番号、送信元IPアドレス、宛先ポート番号に基づいて、TCPセッション(又は、TCPコネクション)を識別する。S13において、再送判定部26は、通信パケットのヘッダに設定されているTCPシーケンス番号を抽出する。この後、再送判定部26は、S12で識別したTCPセッションに対してS14~S21の処理を実行する。以下の記載では、図12に示すフローチャートにおいて処理される通信パケットを「対象通信パケット」と呼ぶことがある。
In S11, the
S14において、再送判定部26は、S13で抽出したTCPシーケンス番号に基づいて、対象通信パケットが再送パケットであるか否かを判定する。例えば、仮想情報処理システム1においてパケットロスに起因して再送手順が実行され、1または複数の再送パケットが送信されるときに、最初の再送パケットのTCPシーケンス番号は、元の通信パケットのTCPシーケンス番号と同じであるものとする。この場合、S13で抽出したTCPシーケンス番号が、先に受信した通信パケットのTCPシーケンス番号と同じであるときは、再送判定部26は、対象通信パケットが再送パケットであると判定する。なお、対象通信パケットの直前に受信した通信パケットのTCPシーケンス番号は、セッション管理テーブルに記録されている。
In S14, the
対象通信パケットが再送パケットであると判定されたときは(S14:Yes)、再送判定部26は、S20において、再送パケット通知を生成する。再送パケット通知は、対象通信パケットが再送パケットであることを表す。一方、対象通信パケットが再送パケットであると判定されなかったときは(S14:No)、再送判定部26の処理はS15に進む。
When it is determined that the target communication packet is a retransmission packet (S14: Yes), the
S15において、再送判定部26は、対象通信パケットの送信間隔を算出する。具体的には、対象通信パケットの送信時刻と、対象通信パケットの直前に受信した通信パケットの送信時刻との差分を算出する。なお、対象通信パケットの送信時刻を表す情報は、図10(a)に示すように、パケットバッファ23に保存されている。また、対象通信パケットの直前に受信した通信パケットの送信時刻を表す情報は、図10(b)に示すように、セッション管理テーブルに記録されている。
In S15, the
S16において、再送判定部26は、セッション管理テーブルを更新する。このとき、セッション管理テーブルは、対象通信パケットのTCPセッションに対応するレコードにおいて、TCPシーケンス番号および送信時刻情報が、対象通信パケットのTCPシーケンス番号および送信時刻情報に書き換えられる。すなわち、セッション管理テーブルは、最新の通信パケットを管理する。
In S16, the
S17において、再送判定部26は、対象通信パケットの送信間隔がタイムアウト時間以上であるか否かを判定する。タイムアウト時間は、仮想情報処理システム1においてパケットロスを検知するために使用され、図10(c)に示すパラメータテーブルに登録されている。そして、対象通信パケットの送信間隔がタイムアウト時間以上であれば、再送判定部26の処理はS19に進む。
In S17, the
S19において、再送判定部26は、対象通信パケットのサイズとMTU値とを比較する。MTU値は、図10(c)に示すパラメータテーブルに登録されている。そして、対象通信パケットのサイズがMTU値以下であるときは、再送判定部26の処理はS20に進む。すなわち、対象通信パケットの送信間隔がタイムアウト時間以上であり、且つ、対象通信パケットのサイズがMTU値以下であるときは、再送判定部26は、S20において、再送パケット通知を生成する。
In S19, the
対象通信パケットの送信間隔がタイムアウト時間より短いときは、再送判定部26は、S18において、対象通信パケットの送信間隔と予め決められた連続送信間隔とを比較する。なお、仮想情報処理システム1の再送手順において複数の再送パケットが送信される場合は、再送パケットは、予め指定された連続送信間隔以下の間隔で送信されるものとする。よって、対象通信パケットの送信間隔が連続送信間隔以下であれば、再送判定部26の処理はS19に進む。すなわち、対象通信パケットの送信間隔が連続送信間隔以下であり、且つ、対象通信パケットのサイズがMTU値以下であるときは、再送判定部26は、S20において、再送パケット通知を生成する。
When the transmission interval of the target communication packet is shorter than the timeout time, the
一方、対象通信パケットの送信間隔がタイムオーバ時間より短く、且つ、連続送信間隔より長いときは(S17およびS18:No)、再送判定部26の処理はS21に進む。また、対象通信パケットのサイズがMTU値より大きいときも(S19:No)、再送判定部26の処理はS21に進む。S21において、再送判定部26は、通常パケット通知を生成する。通常パケット通知は、対象通信パケットが通常パケットであることを表す。
On the other hand, when the transmission interval of the target communication packet is shorter than the time-over time and longer than the continuous transmission interval (S17 and S18: No), the process of the
このように、再送判定部26は、対象通信パケットの送信間隔およびパケットサイズに基づいて、対象パケットが通常パケットであるか再送パケットであるかを判定する。そして、再送判定部26は、その判定結果に応じて、通常パケット通知または再送パケット通知を生成する。
In this manner, the
図13は、転送制御部27の処理の一例を示すフローチャートである。転送制御部27は、再送判定部26の判定結果に応じて、転送部24aまたは転送部24bを起動する。
FIG. 13 is a flowchart illustrating an example of processing by the
S31~S32において、転送制御部27は、再送判定部26の判定結果を表す通知を受信する。すなわち、転送制御部27は、S20において生成される再送パケット通知またはS21において生成される通常パケット通知を受信する。
In S31 and S32, the
通常パケット通知を受信したときは、転送制御部27は、S33において、セグメントオフロード機能がオン状態に設定されたNICに対応する転送部に送信指示を与える。この実施例では、NIC25aのセグメントオフロード機能がオン状態に設定されている。よって、通常パケット通知を受信したときは、転送制御部27は、転送部24aに送信指示を与える。なお、送信指示は、対象通信パケット(ここでは、通常パケット)が保存されたアドレスを含む。
When receiving the normal packet notification, the
再送パケット通知を受信したときは、転送制御部27は、S34において、セグメントオフロード機能がオフ状態に設定されたNICに対応する転送部に送信指示を与える。この実施例では、NIC25bのセグメントオフロード機能がオフ状態に設定されている。よって、再送パケット通知を受信したときは、転送制御部27は、転送部24bに送信指示を与える。なお、送信指示は、対象通信パケット(ここでは、再送パケット)が保存されたアドレスを含む。
When receiving the retransmission packet notification, in S34, the
図14は、転送部24の処理の一例を示すフローチャートである。なお、図14に示すフローチャートの説明において、転送部24は、転送部24aまたは転送部24bの総称である。
FIG. 14 is a flowchart illustrating an example of processing by the
S41において、転送部24は、転送制御部27から送信指示を受信する。S42において、転送部24は、送信指示に従って、パケットバッファ23から通信パケットを取得する。送信指示は、上述したように、通信パケットが保存されているアドレスを含む。S43において、転送部24は、S42で取得した通信パケットをNICにストリーム出力する。すなわち、パケットバッファ23から読み出された通信パケットは、そのままNICを介して出力される。
In S41, the
ここで、図8に示す2つのケースを参照して図12~図14に示すフローチャートを説明する。なお、以下の記載では、時刻T1において仮想サーバ11aから送信されるSYNパケットは、仮想サーバ11bに到着するとともに、中継装置2Aにも到着する。この結果、SYNパケットのTCPシーケンス番号および送信時刻情報は、セッション管理テーブルに記録される。また、時刻T2において仮想サーバ11aから通常パケットが送信される。ここで、この通常パケットのサイズは、MTU値より大きいものとする。
Here, the flowcharts shown in FIGS. 12 to 14 will be explained with reference to the two cases shown in FIG. In the following description, the SYN packet transmitted from the
図8(a)に示すケースでは、仮想サーバ11aから送信される通常パケットは、仮想スイッチ12と仮想サーバ11bとの間でロスが発生する。この場合、この通常パケットは、仮想サーバ11bには到着しないが、中継装置2Aには到着する。そうすると、中継装置2Aにおいて下記の処理が実行される。
In the case shown in FIG. 8A, a loss occurs in the normal packet transmitted from the
通常パケットのTCPシーケンス番号は、直前の受信パケット(すなわち、SYNパケット)のTCPシーケンス番号とは異なる。したがって、S14の判定結果は「No」である。また、通常パケットの送信間隔(すなわち、時刻T1と時刻T2との差分)は、タイムアウト時間より短く、連続送信間隔より長い。よって、S17およびS18の判定結果はそれぞれ「No」である。この結果、S21において通常パケット通知が生成され、S33において転送部24aに送信指示が与えられる。そして、この通常パケットは、NIC25aを介してシステム分析装置3Aに送信される。
The TCP sequence number of a regular packet is different from the TCP sequence number of the immediately previous received packet (ie, SYN packet). Therefore, the determination result in S14 is "No". Further, the normal packet transmission interval (that is, the difference between time T1 and time T2) is shorter than the timeout time and longer than the continuous transmission interval. Therefore, the determination results in S17 and S18 are "No", respectively. As a result, a normal packet notification is generated in S21, and a transmission instruction is given to the
時刻T2からタイムアウト時間が経過すると、仮想サーバ11aから再送パケットP1が送信される。ここで、再送パケットP1のTCPシーケンス番号は、時刻T2において送信された通常パケットのTCPシーケンス番号と同じであるものとする。この場合、中継装置2Aにおいて下記の処理が実行される。
When the timeout period elapses from time T2, a retransmission packet P1 is transmitted from the
再送パケットP1のTCPシーケンス番号は、直前の受信パケット(すなわち、時刻T2に送信された通常パケット)のTCPシーケンス番号と同じである。よって、S14の判定結果は「Yes」であり、S20において再送パケット通知が生成される。そして、S34において転送部24bに送信指示が与えられるので、再送パケットP1は、NIC25bを介してシステム分析装置3Aに送信される。
The TCP sequence number of the retransmitted packet P1 is the same as the TCP sequence number of the immediately previous received packet (ie, the normal packet transmitted at time T2). Therefore, the determination result in S14 is "Yes", and a retransmission packet notification is generated in S20. Then, in S34, a transmission instruction is given to the
再送パケットP1が送信されたときから連続送信間隔ΔTが経過すると、仮想サーバ11aから再送パケットP2が送信される。ここで、再送パケットP2のTCPシーケンス番号は、再送パケットP1のTCPシーケンス番号と異なる。この場合、中継装置2Aにおいて下記の処理が実行される。
When the continuous transmission interval ΔT has elapsed since the retransmission packet P1 was transmitted, the retransmission packet P2 is transmitted from the
再送パケットP2のTCPシーケンス番号は、直前の受信パケット(すなわち、再送パケットP1)のTCPシーケンス番号とは異なる。よって、S14の判定結果は「No」である。ところが、再送パケットP1の送信間隔(すなわち、再送パケットP1が送信されたときから再送パケットP2が送信されたときまでの時間)は、連続送信間隔ΔTである。よって、S18の判定結果は「Yes」である。さらに、再送パケットP2のサイズがMTU値より小さいので、S19の判定結果も「Yes」である。この結果、S20において再送パケット通知が生成され、S34において転送部24bに送信指示が与えられる。したがって、再送パケットP2も、NIC25bを介してシステム分析装置3Aに送信される。なお、この後に送信される各再送パケットは、再送パケットP2と同様に処理される。
The TCP sequence number of retransmission packet P2 is different from the TCP sequence number of the immediately previous received packet (ie, retransmission packet P1). Therefore, the determination result in S14 is "No". However, the transmission interval of retransmission packet P1 (that is, the time from when retransmission packet P1 is transmitted to when retransmission packet P2 is transmitted) is the continuous transmission interval ΔT. Therefore, the determination result in S18 is "Yes". Furthermore, since the size of retransmission packet P2 is smaller than the MTU value, the determination result in S19 is also "Yes". As a result, a retransmission packet notification is generated in S20, and a transmission instruction is given to the
図8(b)に示すケースでは、仮想サーバ11aから送信される通常パケットは、仮想サーバ11aと仮想スイッチ12との間でロスが発生する。この場合、この通常パケットは、仮想サーバ11bに到着しないだけでなく、中継装置2Aにも到着しない。したがって、セッション管理テーブルには、時刻T1に送信されたSYNパケットのTCPシーケンス番号および送信時刻情報が登録されている。そして、中継装置2Aにおいて下記の処理が実行される。
In the case shown in FIG. 8B, a loss occurs between the
時刻T2からタイムアウト時間が経過すると、図8(a)に示すケースと同様に、仮想サーバ11aから再送パケットP1が送信される。再送パケットP1のTCPシーケンス番号は、直前の受信パケット(図8(b)に示すケースでは、時刻T1に送信されたSYNパケット)のTCPシーケンス番号と異なる。よって、S14の判定結果は「No」であり、S15~S21の処理が実行される。
When the timeout period elapses from time T2, the retransmission packet P1 is transmitted from the
再送パケットP1の送信間隔は、SYNパケットが送信されたときから再送パケットP1が送信されたときまでの時間である。すなわち、再送パケットP1の送信間隔は、「タイムアウト時間+連続送信間隔ΔT」である。よって、S17の判定結果は「Yes」である。また、各再送パケットのサイズはMTU値以下なので、S19の判定結果も「Yes」である。したがって、S20において再送パケット通知が生成され、S34において転送部24bに送信指示が与えられるので、再送パケットP1は、NIC25bを介してシステム分析装置3Aに送信される。この後、再送パケットP2~Pnに対する処理は、図8(a)および図8(b)において同じである。
The transmission interval of the retransmission packet P1 is the time from when the SYN packet is transmitted to when the retransmission packet P1 is transmitted. That is, the transmission interval of the retransmission packet P1 is "timeout time+continuous transmission interval ΔT". Therefore, the determination result in S17 is "Yes". Furthermore, since the size of each retransmitted packet is less than or equal to the MTU value, the determination result in S19 is also "Yes". Therefore, a retransmission packet notification is generated in S20, and a transmission instruction is given to the
このように、中継装置2Aは、仮想情報処理システム1内で送信される通信パケットが通常パケットであるか再送パケットであるかを判定する。具体的には、通信パケットのTCPシーケンス番号、送信間隔、パケットサイズに基づいて、通信パケットが通常パケットであるか再送パケットであるかが判定される。そして、通信パケットが通常パケットであるときは、セグメントオフロード機能がオン状態に設定されているNICを介して、その通信パケットが中継装置2Aからシステム分析装置3Aに送信される。よって、通信パケットのサイズがMTU値より大きい場合であっても、その通信パケットがNICにおいて廃棄されることはない。また、通信パケットが再送パケットであるときは、セグメントオフロード機能がオフ状態に設定されているNICを介して、その通信パケットが中継装置2Aからシステム分析装置3Aに送信される。よって、通常パケットのロスに起因して複数の再送パケットが送信される場合であっても、それら複数の再送パケットがシステム分析装置3Aにおいて結合されることはない。従って、仮想情報処理システム1内で送信される通信パケットの挙動がシステム分析装置3Aにおいて精度よく再現されるので、仮想情報処理システム1を精度よく監視できる。
In this way, the
1 仮想情報処理システム
2A 中継装置
3A システム分析装置
11(11a、11b) 仮想サーバ
22 パケット受信部
23 パケットバッファ
24a、24b 転送部
25a、25b NIC
26 再送判定部
27 転送制御部
31a、31b NIC
32 分析部
41 ハードディスク
42 メモリ
43 CPU
1 Virtual
26
32
Claims (6)
前記パケット処理装置は、
前記仮想情報処理システムから前記通信パケットを受信し、
前記通信パケットが前記仮想情報処理システム内で送信された再送パケットであるか否かを判定し、
前記通信パケットが前記仮想情報処理システム内で送信された再送パケットでないときは、送信データの分割処理を実行するセグメントオフロード機能がオン状態に設定された第1の出力部を介して前記通信パケットを出力し、
前記通信パケットが前記仮想情報処理システム内で送信された再送パケットであるときは、前記セグメントオフロード機能がオフ状態に設定された第2の出力部を介して前記通信パケットを出力する
ことを特徴とするパケット処理方法。 A packet processing method executed by a packet processing device that receives and processes communication packets transmitted within a virtual information processing system from the virtual information processing system, the method comprising:
The packet processing device includes:
receiving the communication packet from the virtual information processing system;
determining whether the communication packet is a retransmission packet transmitted within the virtual information processing system;
When the communication packet is not a retransmission packet transmitted within the virtual information processing system, the communication packet is transmitted through a first output unit in which a segment offload function that performs division processing of transmission data is set to an on state. Outputs
When the communication packet is a retransmission packet transmitted within the virtual information processing system, the communication packet is output through a second output unit in which the segment offload function is set to an off state. packet processing method.
ことを特徴とする請求項1に記載のパケット処理方法。 When the sequence number of the communication packet is the same as the sequence number of a packet transmitted immediately before the communication packet within the same session as the communication packet , the packet processing device 2. The packet processing method according to claim 1, further comprising: determining that the packet is a retransmitted packet transmitted at
前記通信パケットの送信時刻と、前記通信パケットと同じセッション内で前記通信パケットの直前に送信されたパケットの送信時刻との差分が、前記タイムアウト時間以上であり、且つ、前記通信パケットのサイズが前記最大送信サイズ以下であるときは、前記パケット処理装置は、前記通信パケットが前記仮想情報処理システム内で送信された再送パケットであると判定する
ことを特徴とする請求項1に記載のパケット処理方法。 In the virtual information processing system, when an ACK packet corresponding to the period from the transmission time of the first packet to the elapse of a predetermined timeout period is not obtained, a predetermined ACK packet corresponding to the first packet is obtained. In the case where multiple retransmission packets smaller than the maximum transmission size are sent,
The difference between the transmission time of the communication packet and the transmission time of a packet transmitted immediately before the communication packet within the same session as the communication packet is greater than or equal to the timeout time, and the size of the communication packet is greater than or equal to the timeout time, and 2. The packet processing method according to claim 1, wherein when the size is less than or equal to the maximum transmission size , the packet processing device determines that the communication packet is a retransmission packet transmitted within the virtual information processing system. .
前記通信パケットの送信時刻と、前記通信パケットと同じセッション内で前記通信パケットの直前に送信されたパケットの送信時刻との差分が、前記連続送信間隔以下であり、且つ、前記通信パケットのサイズが前記最大送信サイズ以下であるときは、前記パケット処理装置は、前記通信パケットが前記仮想情報処理システム内で送信された再送パケットであると判定する
ことを特徴とする請求項3に記載のパケット処理方法。 In the virtual information processing system, in a case where the plurality of retransmission packets are sequentially transmitted at intervals equal to or less than a predetermined continuous transmission interval,
The difference between the transmission time of the communication packet and the transmission time of a packet transmitted immediately before the communication packet within the same session as the communication packet is less than or equal to the continuous transmission interval, and the size of the communication packet is Packet processing according to claim 3, characterized in that when the size is less than or equal to the maximum transmission size , the packet processing device determines that the communication packet is a retransmission packet transmitted within the virtual information processing system. Method.
前記通信パケットが前記仮想情報処理システム内で送信された再送パケットであるか否かを判定する再送判定部と、
送信データの分割処理を実行するセグメントオフロード機能がオン状態に設定された第1の出力部と、
前記セグメントオフロード機能がオフ状態に設定された第2の出力部と、
前記通信パケットが前記仮想情報処理システム内で送信された再送パケットでないときは、前記第1の出力部に前記通信パケットを出力させ、前記通信パケットが前記仮想情報処理システム内で送信された再送パケットであるときは、前記第2の出力部に前記通信パケットを出力させる転送制御部と、
を備えるパケット処理装置。 a packet receiving unit that receives communication packets transmitted within the virtual information processing system from the virtual information processing system;
a retransmission determination unit that determines whether the communication packet is a retransmission packet transmitted within the virtual information processing system;
a first output unit in which a segment offload function for performing division processing of transmission data is set to an on state;
a second output section in which the segment offload function is set to an off state;
When the communication packet is not a retransmission packet transmitted within the virtual information processing system, the first output unit outputs the communication packet, and the communication packet is a retransmission packet transmitted within the virtual information processing system. If so, a transfer control unit that causes the second output unit to output the communication packet;
A packet processing device comprising:
前記通信パケットが前記仮想情報処理システム内で送信された再送パケットであるか否かを判定し、
前記通信パケットが前記仮想情報処理システム内で送信された再送パケットでないときは、送信データの分割処理を実行するセグメントオフロード機能がオン状態に設定された第1の出力部を介して前記通信パケットを出力し、
前記通信パケットが前記仮想情報処理システム内で送信された再送パケットであるときは、前記セグメントオフロード機能がオフ状態に設定された第2の出力部を介して前記通信パケットを出力する
処理をプロセッサに実行させるパケット処理プログラム。 receiving a communication packet transmitted within the virtual information processing system from the virtual information processing system;
determining whether the communication packet is a retransmission packet transmitted within the virtual information processing system;
When the communication packet is not a retransmission packet transmitted within the virtual information processing system, the communication packet is transmitted through a first output unit in which a segment offload function that performs division processing of transmission data is set to an on state. Outputs
When the communication packet is a retransmission packet transmitted within the virtual information processing system, the processor outputs the communication packet via a second output unit in which the segment offload function is set to an off state. A packet processing program that is executed by
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019200402A JP7380091B2 (en) | 2019-11-05 | 2019-11-05 | Packet processing device and packet processing method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019200402A JP7380091B2 (en) | 2019-11-05 | 2019-11-05 | Packet processing device and packet processing method |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2021077924A JP2021077924A (en) | 2021-05-20 |
JP7380091B2 true JP7380091B2 (en) | 2023-11-15 |
Family
ID=75898245
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019200402A Active JP7380091B2 (en) | 2019-11-05 | 2019-11-05 | Packet processing device and packet processing method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP7380091B2 (en) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140161123A1 (en) | 2010-03-11 | 2014-06-12 | Microsoft Corporation | Multi-stage large send offload |
US20150261556A1 (en) | 2014-03-11 | 2015-09-17 | Vmware, Inc. | Large receive offload for virtual machines |
US20180234360A1 (en) | 2017-02-16 | 2018-08-16 | Netscout Systems, Inc | Flow and time based reassembly of fragmented packets by ip protocol analyzers |
JP2019193201A (en) | 2018-04-27 | 2019-10-31 | 富士通株式会社 | Device, method and program for packet acquisition |
-
2019
- 2019-11-05 JP JP2019200402A patent/JP7380091B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140161123A1 (en) | 2010-03-11 | 2014-06-12 | Microsoft Corporation | Multi-stage large send offload |
US20150261556A1 (en) | 2014-03-11 | 2015-09-17 | Vmware, Inc. | Large receive offload for virtual machines |
US20180234360A1 (en) | 2017-02-16 | 2018-08-16 | Netscout Systems, Inc | Flow and time based reassembly of fragmented packets by ip protocol analyzers |
JP2019193201A (en) | 2018-04-27 | 2019-10-31 | 富士通株式会社 | Device, method and program for packet acquisition |
Also Published As
Publication number | Publication date |
---|---|
JP2021077924A (en) | 2021-05-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7593331B2 (en) | Enhancing transmission reliability of monitored data | |
US10798199B2 (en) | Network traffic accelerator | |
JP6236933B2 (en) | Relay device | |
JP2006279394A (en) | Session relaying apparatus, and session relaying method and program | |
US8266317B2 (en) | Reducing idle time due to acknowledgement packet delay | |
CN106375139B (en) | Method, device and system for copying request | |
JP2007006477A (en) | Apparatus and method | |
WO2017219813A1 (en) | Traffic processing method and transparent buffer system | |
JP5523130B2 (en) | COMMUNICATION DEVICE, COMMUNICATION METHOD, AND PROGRAM | |
US10601692B2 (en) | Integrating a communication bridge into a data processing system | |
US8572245B1 (en) | Using the TCP window size for identifying packets and debugging | |
JP7380091B2 (en) | Packet processing device and packet processing method | |
JP5212021B2 (en) | Monitoring program, monitoring method and monitoring apparatus | |
JP2016162324A (en) | Information processing system, control program and control method | |
JP6200870B2 (en) | Data transfer control device, method and program | |
US10735349B2 (en) | Non-transitory computer-readable storage medium, packet control method, and packet control device | |
US10841040B2 (en) | Acknowledgment and packet retransmission for spliced streams | |
JP2009284433A (en) | System and method for detecting and controlling p2p terminal | |
CN115190077B (en) | Control method, control device and computing equipment | |
JP2004241872A (en) | Information communication method and repeating device | |
EP4096174B1 (en) | Delivery of transport layer packets | |
US11962517B2 (en) | Communications method, apparatus, and system for recovering lost packets | |
US20230130964A1 (en) | Communication protocol, and a method thereof for accelerating artificial intelligence processing tasks | |
US11528344B2 (en) | Elimination of latency in a communication channel | |
WO2017183088A1 (en) | Packet relay apparatus, packet relay method, and packet relay program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20220708 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20230421 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20230606 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20230720 |
|
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: 20231003 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20231016 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7380091 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |