JP5571154B2 - Communication apparatus, method and program - Google Patents
Communication apparatus, method and program Download PDFInfo
- Publication number
- JP5571154B2 JP5571154B2 JP2012253643A JP2012253643A JP5571154B2 JP 5571154 B2 JP5571154 B2 JP 5571154B2 JP 2012253643 A JP2012253643 A JP 2012253643A JP 2012253643 A JP2012253643 A JP 2012253643A JP 5571154 B2 JP5571154 B2 JP 5571154B2
- Authority
- JP
- Japan
- Prior art keywords
- control information
- reception
- protocol processing
- transmission
- data
- 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
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
- Communication Control (AREA)
Description
本発明の実施形態は、通信装置、方法及びプログラムに関する。 Embodiments described herein relate generally to a communication device, a method, and a program.
従来より、通信相手から受信したフレームの情報を用いてフレームの送信制御を行うプロトコルを用いてネットワークを介してデータの送受信を行う通信装置がある。このような通信装置の中には、例えば、特許文献1に開示されているように、汎用プロセッサを用いて受信に係るプロトコル処理(受信プロトコル処理という)と送信に係るプロトコル処理(送信プロトコル処理という)とを一連の動作で行なうものがあった。プロトコル処理とは、通信に用いられる各プロトコルによって規定される処理のことである。
2. Description of the Related Art Conventionally, there is a communication apparatus that transmits and receives data via a network using a protocol that performs frame transmission control using frame information received from a communication partner. Among such communication apparatuses, for example, as disclosed in
ところで、高速化などを目的として複数のプロセッサを用いてデータの送受信を実現する場合には、受信プロトコル処理及び送信プロトコル処理が独立に動作する。しかし、特許文献1の技術では、受信プロトコル処理及び送信プロトコル処理の同期を実現することができず、受信プロトコル処理及び送信プロトコル処理を独立に動作させることが困難であった。
By the way, when data transmission / reception is realized using a plurality of processors for the purpose of speeding up or the like, reception protocol processing and transmission protocol processing operate independently. However, with the technique of
本発明は、上記に鑑みてなされたものであって、受信プロトコル処理及び送信プロトコル処理を独立に動作させることが可能な通信装置、方法及びプログラムを提供することを目的とする。 The present invention has been made in view of the above, and an object of the present invention is to provide a communication apparatus, method, and program capable of independently operating reception protocol processing and transmission protocol processing.
実施形態の通信装置は、ネットワークを介して他の通信装置とフレームの送受信を行なうネットワークインタフェース手段と、第1のプロセッサにより構成され、受信したフレームに対して受信に係るプロトコル処理を行って、制御情報を取得すると共に、当該フレームにデータが含まれる場合当該データを取得する受信プロトコル処理手段と、取得した前記フレームに含まれるデータを記憶する受信バッファと、自装置が有する前記受信バッファのデータ容量を示す受信ウィンドウサイズ、及び自装置が受信したデータの領域を示す領域情報を含む制御情報を前記受信プロトコル処理手段が取得した順番に上書きせずに記憶するとともに、当該記憶した順番で前記制御情報を出力する1つの制御情報キューと、第2のプロセッサにより構成され前記受信プロトコル処理手段と独立して並列に動作し、前記制御情報キューが出力する順番に、前記制御情報を読み出して、当該順番に読み出した制御情報各々を用いて、当該順番で、送信に係る前記プロトコル処理を行って、前記領域情報及び前記受信ウィンドウサイズを含む送信対象のフレームを生成し、前記ネットワークインタフェース手段を介して当該フレームを送信する送信プロトコル処理手段とを備える。 The communication apparatus according to the embodiment includes a network interface unit that transmits / receives a frame to / from another communication apparatus via a network, and a first processor. The communication apparatus performs control on the received frame by performing protocol processing related to reception. A reception protocol processing means for acquiring information and acquiring the data when the frame includes data, a reception buffer for storing the data included in the acquired frame, and a data capacity of the reception buffer of the own apparatus And storing the control information including the reception window size indicating the area information indicating the area of the data received by the own apparatus without overwriting the order acquired by the reception protocol processing means, and the control information in the stored order. and one control information queue for outputting, formed by the second processor It operates independently in parallel with the reception protocol processing means, reads the control information in the order that the control information queue outputs, and uses each of the control information read in the order to transmit in the order. Transmission protocol processing means for performing the protocol processing to generate a transmission target frame including the area information and the reception window size, and transmitting the frame via the network interface means.
以下に添付図面を参照して、この発明にかかる通信装置、方法及びプログラムの最良な実施の形態を詳細に説明する。 Exemplary embodiments of a communication apparatus, method, and program according to the present invention will be explained below in detail with reference to the accompanying drawings.
(1)構成
以下に添付図面を参照して、この発明にかかる通信装置の最良な実施の形態を詳細に説明する。ここで、通信装置のハードウェア構成について説明する。本実施の形態の通信装置は、装置全体を制御するCPU(Central Processing Unit)等の制御部と、各種データや各種プログラムを記憶するROM(Read Only Memory)やRAM(Random Access Memory)等の記憶部と、各種データや各種プログラムを記憶するHDD(Hard Disk Drive)やCD(Compact Disk)ドライブ装置等の外部記憶部と、外部装置の通信を制御する通信I/F(Interface)と、これらを接続するバスとを備えており、通常のコンピュータを利用したハードウェア構成となっている。
(1) Configuration A preferred embodiment of a communication apparatus according to the present invention will be described below in detail with reference to the accompanying drawings. Here, the hardware configuration of the communication apparatus will be described. The communication apparatus according to the present embodiment includes a control unit such as a CPU (Central Processing Unit) that controls the entire apparatus, and a storage such as a ROM (Read Only Memory) and a RAM (Random Access Memory) that store various data and various programs. , An external storage unit such as an HDD (Hard Disk Drive) or CD (Compact Disk) drive device that stores various data and various programs, a communication I / F (Interface) that controls communication of the external device, and these And a hardware configuration using a normal computer.
次に、このようなハードウェア構成において、通信装置のCPUが記憶装置や外部記憶部に記憶された各種プログラムを実行することにより実現される各種機能について説明する。図1は、通信装置50の機能的構成を例示する図である。通信装置50は、ネットワークインタフェース部51と、受信プロトコル処理部52と、送信プロトコル処理部53と、受信バッファ54と、制御情報キュー55とを有する。ネットワークインタフェース部51と、受信プロトコル処理部52と、送信プロトコル処理部53とは、CPUのプログラム実行時にRAMなどの記憶部上に生成されるものである。受信バッファ54と、制御情報キュー55とは、RAMなどの記憶部に確保される記憶領域である。また、通信装置50は、図示しない送信バッファを有する。送信バッファは例えばRAMなどの記憶部に確保される記憶領域であり、送信対象のデータを記憶する。
Next, various functions realized by the CPU of the communication apparatus executing various programs stored in the storage device or the external storage unit in such a hardware configuration will be described. FIG. 1 is a diagram illustrating a functional configuration of the
ネットワークインタフェース部51は、物理層およびデータリンク層の処理を行うデバイスであり、例えばIEEE802.3やIEEE802.11規格に従ったネットワークを介して他の通信装置との間でフレームを送受信する。受信プロトコル処理部52は、ネットワークインタフェース部51が受信したフレーム(受信フレームという)に対して受信に係るプロトコル処理(受信プロトコル処理)を行い、受信フレームに含まれる制御情報を取得しこれを少なくとも含む制御情報を制御情報キュー55に記憶させ、受信フレームにデータが含まれていればこれを受信バッファ54に記憶させる。制御情報の詳細については後述する。受信バッファ54は、受信プロトコル処理部52の制御の下、受信フレームに含まれるデータを記憶する。制御情報キュー55は、受信プロトコル処理部52の制御の下、制御情報を記憶する。送信プロトコル処理部53は、制御情報キュー55から制御情報を取得し、当該制御情報に従って、送信に係るプロトコル処理(送信プロトコル処理)を行って、受信フレームの受信確認のための確認応答(ACK)を含むフレームや送信対象のデータを含むフレームを生成し、生成したフレームを、ネットワークインタフェース部51を介して送信する。
The
図2は、受信プロトコル処理部52の内部構成を例示する図である。受信プロトコル処理部52は、データリンク層プロトコル処理部522と、ネットワーク層プロトコル処理部521と、トランスポート層プロトコル処理部520とを有し、データリンク層、ネットワーク層及びトランスポート層の順に受信プロトコル処理を行う。データリンク層プロトコル処理部522は、ネットワークインタフェース部51を介してフレーム(受信フレーム)を受信して、当該受信フレームに対してデータリンク層における受信プロトコル処理を行う。ネットワーク層プロトコル処理部521は、データリンク層プロトコル処理部522が受信プロトコル処理を行った後に、当該受信フレームに対してネットワーク層における受信プロトコル処理を行う。トランスポート層プロトコル処理部520は、ネットワーク層プロトコル処理部521が受信プロトコル処理を行った後に、当該受信フレームに対してトランスポート層における受信プロトコル処理を行い、制御情報を取得しこれを少なくとも含む制御情報を制御情報キュー55に記憶させる。また、トランスポート層プロトコル処理部520は、当該受信フレームにデータが含まれていればこれを受信バッファ54に記憶させる。
FIG. 2 is a diagram illustrating an internal configuration of the reception
図3は、送信プロトコル処理部53の内部構成を例示する図である。送信プロトコル処理部53は、データリンク層プロトコル処理部532と、ネットワーク層プロトコル処理部531と、トランスポート層プロトコル処理部530とを有し、トランスポート層、ネットワーク層及びデータリンク層、の順に送信プロトコル処理を行う。トランスポート層プロトコル処理部530は、制御情報キュー55から制御情報を取得し、制御情報に応じて、トランスポート層における送信プロトコル処理を行って、送信対象のフレームを生成する。ネットワーク層プロトコル処理部531は、トランスポート層プロトコル処理部530が送信プロトコル処理を行った後に、送信対象のフレームに対してネットワーク層における送信プロトコル処理を行う。データリンク層プロトコル処理部532は、ネットワーク層プロトコル処理部531が送信プロトコル処理を行った後に、送信対象のフレームをネットワークインタフェース部51に出力する。送信対象のフレームはネットワークインタフェース部51を介して相手装置に送信される。
FIG. 3 is a diagram illustrating an internal configuration of the transmission
尚、トランスポート層プロトコル処理部520、530は、トランスポート層のプロトコルとして、例えばTCP(Transmission Control Protocol)、SCTP(Stream Control Transmission Protocol)、DCCP(Datagram Congestion Control Protocol)、ICMP(Internet Control Message Protocol)、ICMPv6などのプロトコルに規定された処理(プロトコル処理)を行なう。また、ネットワーク層プロトコル処理部521、531は、ネットワーク層のプロトコルとして、例えばIPv4(Internet Protocol version 4)、IPv6(Internet Protocol version 6)、ARP(Address Resolution Protocol) などのプロトコルに規定された処理(プロトコル処理)を行なう。データリンク層プロトコル処理部522、532は、データリンク層のプロトコルとして、IEEE802.3やIEEE802.11などのプロトコルに規定された処理(プロトコル処理)を行なう。
The transport layer
以下では、トランスポート層のプロトコルとしてTCP(Transmission Control Protocol)を用いる場合について説明する。この場合、受信プロトコル処理部52は、受信プロトコル処理では、受信フレームを用いて、RFC 793で規定されるシーケンス番号のチェック、チェックサム照合による受信フレームの破損検出、通信相手である他の通信装置(相手装置という)の受信ウィンドウサイズの取得、相手装置の確認応答シーケンス番号の取得、確認応答(ACK)フラグのチェック等を行なう。尚、シーケンス番号は、相手装置が付与するものであり、当該通信装置50が受信したデータの領域を示すものとなる。相手装置の受信ウィンドウサイズとは、当該相手装置の有する受信バッファのデータ容量を示す。相手装置の確認応答シーケンス番号とは、相手装置が次に受信すべきデータの領域を示すものである。確認応答(ACK)フラグとは、確認応答番号が有効であるか否かを示すものである。また、送信プロトコル処理部53は、送信プロトコル処理では、シーケンス番号の付与、チェックサムの付与、当該通信装置50の受信ウィンドウサイズの付与、当該通信装置50の確認応答シーケンス番号の付与、確認応答(ACK)フラグの設定等を行なう。尚、ここで付与するシーケンス番号は、相手装置が受信したデータの領域を示すものとなる。また、当該通信装置50の受信ウィンドウサイズは、受信バッファ54のデータ容量を示す。また、ここで付与する確認応答シーケンス番号は、当該通信装置50が次に受信すべきデータの領域を示すものであり、相手装置が付与したシーケンス番号を用いて表される。
Hereinafter, a case where TCP (Transmission Control Protocol) is used as the transport layer protocol will be described. In this case, the reception
制御情報は、相手装置の受信ウィンドウサイズと、相手装置の確認応答シーケンス番号や選択的確認応答(Selective ACK)ブロックのシーケンス番号と、当該通信装置50の受信ウィンドウサイズと、当該通信装置50の確認応答シーケンス番号や選択的確認応答ブロックのシーケンス番号と、確認応答を含むフレームの送信要求との少なくとも1つを含む。特に、確認応答を含むフレームを送信する必要があるフレームを受信した場合、受信プロトコル処理部52は、確認応答を含むフレームの送信要求を制御情報に含ませて制御情報キュー55に記憶させる。
The control information includes a receiving window size of the counterpart device, an acknowledgment sequence number of the counterpart device, a sequence number of a selective acknowledgment (Selective ACK) block, a reception window size of the
(2)動作
次に、本実施の形態にかかる通信装置50の行う受信処理及び送信処理の手順について説明する。通信装置50は、これらの受信処理及び送信処理を独立して行う。まず、受信処理の手順について図4を用いて説明する。通信装置50は、ネットワークインタフェース部51の機能により、ネットワークを介して他の通信装置からフレーム(受信フレーム)を受信する(ステップS1)。次に、通信装置50は、受信プロトコル処理部52の機能により、ステップS1で受信した受信フレームに対して受信プロトコル処理を行い、当該受信フレームから制御情報を取得し、当該受信フレームにデータが含まれていればこれを受信バッファ54に記憶させる(ステップS2)。尚、通信装置50は、受信プロトコル処理において、RFC793に規定される処理に従い、フレームのデータ長、フレームのシーケンス番号、セッションの状態、などから確認応答を含むフレームの送信を行うかを判断し、送信すると判断した場合には、制御情報には相手装置のシーケンス番号及び受信ウィンドウサイズが含まれているから、これらと共に確認応答を含むフレームの送信要求を含ませた制御情報を制御情報キュー55に記憶させる(ステップS3)。一方、例えばデータを含まない確認応答を含むフレームの場合など、確認応答を含むフレームの送信を行わないと判断した場合には、制御情報には相手装置の受信ウィンドウサイズ及び確認応答シーケンス番号が含まれているから、通信装置50は、これらを含む制御情報を制御情報キュー55に記憶させる(ステップS3)。
(2) Operation Next, a procedure of reception processing and transmission processing performed by the
次に、送信処理の手順について図5を用いて説明する。通信装置50は、送信プロトコル処理部53の機能により、制御情報キュー55から制御情報を取得する(ステップS10)。次に、通信装置50は、制御情報を用いて送信プロトコル処理を行う(ステップS11)。具体的には、制御情報が確認応答を含むフレームの送信要求を含んでいる場合、通信装置50は、トランスポート層における送信プロトコル処理を行い、当該確認応答を含むフレームの送信要求に従って、当該制御情報に含まれる相手装置のシーケンス番号及び受信ウィンドウサイズを用いて確認応答シーケンス番号を付与して確認応答を含むフレームを生成し、ネットワーク層におけるプロトコル処理及びデータリンク層におけるプロトコル処理を行った後、ネットワークを介して当該確認応答を含むフレームを送信する(ステップS12)。尚、制御情報が確認応答を含むフレームの送信要求を含んでいない場合、通信装置50は、相手装置の受信ウィンドウサイズを用いてフロー制御を行い、またデータの再送に備えて送信バッファに記憶していた相手装置の確認応答シーケンス番号の値より小さいシーケンス番号のデータの解放を行う。
Next, the procedure of the transmission process will be described with reference to FIG. The
以上のようにして、受信フレームを用いてフレームの送信制御を行うプロトコルを用いてネットワークを介して通信を行う通信装置において、制御情報キュー55を用いて受信プロトコル処理部52から送信プロトコル処理部53に制御情報を伝達することにより、受信プロトコル処理及び送信プロトコル処理の同期を実現させることができる。この結果、受信プロトコル処理部52と送信プロトコル処理部53とを独立に動作させることが可能となる。
As described above, in the communication apparatus that performs communication via the network using the protocol that performs transmission control of the frame using the reception frame, the reception
[第2の実施の形態]
次に、通信装置、方法及びプログラムの第2の実施の形態について説明する。なお、上述の第1の実施の形態と共通する部分については、同一の符号を使用して説明したり、説明を省略したりする。
[Second Embodiment]
Next, a second embodiment of the communication apparatus, method, and program will be described. In addition, about the part which is common in the above-mentioned 1st Embodiment, it demonstrates using the same code | symbol or abbreviate | omits description.
(1)構成
本実施の形態においては、2つの異なる送信処理について区別して説明する。1つは第1の実施の形態で説明した制御情報に従ってフレームを送信する処理(制御情報処理という)であり、もう1つは、例えばアプリケーションプログラムにより指定されたデータを含むフレームを送信する処理(データ送信処理)である。図6は、本実施の形態にかかる通信装置50の機能的構成を例示する図である。本実施の形態にかかる通信装置50は、上述の第1の実施の形態にかかる通信装置50の構成に加え、送信制御情報記憶部56と、送信データ指定部57とを更に有する。送信制御情報記憶部56は、送信プロトコル処理部53の制御の下、制御情報を記憶する。送信データ指定部57は、CPUがアプリケーションプログラムを実行することによりRAMなどの記憶部上に生成されるものであり、送信対象のデータのアドレスとデータ長とを指定する。
(1) Configuration In the present embodiment, two different transmission processes will be described separately. One is a process for transmitting a frame according to the control information described in the first embodiment (referred to as control information processing), and the other is a process for transmitting a frame including data specified by an application program (for example, Data transmission processing). FIG. 6 is a diagram illustrating a functional configuration of the
(2)動作
次に本実施の形態にかかる通信装置50の行なう送信処理の手順について説明する。尚、受信処理については上述の第1の実施の形態と同様であるためその説明を省略する。まず、制御情報処理の手順について図7を用いて説明する。通信装置50は、送信プロトコル処理部53の機能により、制御情報を制御情報キュー55から取得する(ステップS20)。この制御情報には相手装置のシーケンス番号が含まれているとする。通信装置50は、当該制御情報に含まれる相手装置のシーケンス番号と、送信制御情報記憶部56に記憶されている制御情報に含まれる相手装置のシーケンス番号とを比較し、前者のシーケンス番号が後者のシーケンス番号より大きいか否かを判定する(ステップS21)。前者のシーケンス番号が後者のシーケンス番号より大きい場合(ステップS21:YES)、通信装置50は、送信制御情報記憶部56に記憶された制御情報を、制御情報キュー55から取得した制御情報に更新する(ステップS22)。この結果、送信制御情報記憶部56には、最大のシーケンス番号を含む制御情報が記憶される。このような構成により、通信装置50は、例えば、通信上でなんらかの障害の発生により、小さいシーケンス番号のフレームより大きいシーケンス番号のフレームを先に受信した場合であっても、相手装置から送信された最新のフレームのシーケンス番号として最大のシーケンス番号を正しく判別することができる。尚、ステップS21の判定結果が否定的である場合には通信装置50は送信制御情報記憶部56に記憶された制御情報を更新しない。また、通信装置50は、制御情報に確認応答を含むフレームの送信要求が含まれているか否かを判定し(ステップS23)、確認応答を含むフレームの送信要求が含まれている場合(ステップS23:YES)、上述の第1の実施の形態で説明した通り、確認応答を含むフレームを生成してこれを、ネットワークを介して送信する(ステップS24)。
(2) Operation Next, a procedure of transmission processing performed by the
次に、データ送信処理の手順について図8を用いて説明する。通信装置50は、送信データ指定部57の機能により、送信対象のデータのアドレスとデータ長とを指定する。そして、通信装置50は、送信プロトコル処理部53の機能により、指定されたアドレスから指定されたデータ長のデータを取得し、送信制御情報記憶部56に記憶された制御情報を用いて、当該データを含むフレームを生成して送信プロトコル処理を行い、これを、ネットワークを介して送信する(ステップS30)。
Next, the procedure of data transmission processing will be described with reference to FIG. The
以上のように、最大のシーケンス番号を含む制御情報を記憶する送信制御情報記憶部56を送信側に設けることで、制御情報を用いてフレームを送信する制御情報処理と独立に動作するデータ送信処理においても、最新の制御情報を用いて送信プロトコル処理を行うことが可能となる。
As described above, the transmission control
[第3の実施の形態]
次に、通信装置、方法及びプログラムの第3の実施の形態について説明する。なお、上述の第1の実施の形態又は第2の実施の形態と共通する部分については、同一の符号を使用して説明したり、説明を省略したりする。
[Third embodiment]
Next, a communication apparatus, a method, and a third embodiment of the program will be described. In addition, about the part which is common in the above-mentioned 1st Embodiment or 2nd Embodiment, it demonstrates using the same code | symbol or abbreviate | omits description.
(1)構成
図9は、本実施の形態にかかる通信装置50の機能的構成を例示する図である。本実施の形態にかかる通信装置50は、上述の第1の実施の形態にかかる通信装置50の構成に加え、制御情報伝達判定部58と、受信制御情報記憶部59とを更に有する。制御情報伝達判定部58は、受信プロトコル処理部52の制御の下、受信フレームに含まれる制御情報を少なくとも含む制御情報を制御情報キュー55に記憶させるか否かを判定する。受信制御情報記憶部59は、制御情報伝達判定部58の制御の下、制御情報を記憶する。
(1) Configuration FIG. 9 is a diagram illustrating a functional configuration of the
(2)動作
次に本実施の形態にかかる通信装置50の行なう受信処理の手順について図10を用いて説明する。尚、送信処理については上述の第1の実施の形態と同様であるためその説明を省略する。ステップS1〜S2は上述の第1の実施の形態と同様である。尚、ステップS2で通信装置50が取得した制御情報には、相手装置の確認応答シーケンス番号と、相手装置の受信ウィンドウサイズとのうち少なくとも一方が含まれているとする。ステップS40では、通信装置50は、制御情報伝達判定部58の機能により、ステップS2で取得した制御情報に含まれる相手装置の確認応答シーケンス番号が、受信制御情報記憶部59に記憶されている制御情報に含まれる相手装置の確認応答シーケンス番号と同じか否かを判定する。これらが異なる場合(ステップS40:NO)、通信装置50は、ステップS2で取得した制御情報を制御情報キュー55に記憶させると共に(ステップS42)、確認応答シーケンス番号及び受信ウィンドウサイズのうち少なくとも一方が更新されている当該制御情報を受信制御情報記憶部59に記憶させる(ステップS43)。一方、ステップS2で取得した制御情報に含まれる相手装置の確認応答シーケンス番号が、受信制御情報記憶部59に記憶されている制御情報に含まれる相手装置の確認応答シーケンス番号と同じである場合(ステップS40:YES)、次いで、通信装置50は、ステップS2で取得した制御情報に含まれる相手装置の受信ウィンドウサイズが、受信制御情報記憶部59に記憶されている制御情報に含まれる相手装置の受信ウィンドウサイズと同じか否かを判定する(ステップS41)。これらが異なる場合(ステップS41:NO)、通信装置50は上述と同様にステップS42〜S43の処理を行う。
(2) Operation Next, a procedure of reception processing performed by the
以上のように、受信フレームの制御情報に含まれる相手装置の確認応答シーケンス番号及び受信ウィンドウサイズのうち少なくとも一方が更新されている場合にのみ、当該制御情報を送信プロトコル処理部53に伝達することで、送信プロトコル処理部53の処理負荷を軽減することが可能となる。
As described above, the control information is transmitted to the transmission
[第4の実施の形態]
次に、通信装置、方法及びプログラムの第4の実施の形態について説明する。なお、上述の第1の実施の形態乃至第3の実施の形態と共通する部分については、同一の符号を使用して説明したり、説明を省略したりする。
[Fourth embodiment]
Next, a fourth embodiment of the communication apparatus, method, and program will be described. In addition, about the part which is common in the above-mentioned 1st Embodiment thru | or 3rd Embodiment, it demonstrates using the same code | symbol or abbreviate | omits description.
(1)構成
本実施の形態においては、通信装置50は、累積確認応答を行うプロトコルを用いて通信を行なう。累積確認応答とは、1つ又は複数の受信フレームの確認応答を1つの確認応答を含むフレームの送信により行なうものである。図11は、本実施の形態にかかる通信装置50の機能的構成を例示する図である。本実施の形態にかかる通信装置50は、上述の第3の実施の形態にかかる通信装置50の構成に加え、送信プロトコル処理完了伝達部60と、送信処理状態記憶部61とを更に有する。送信プロトコル処理部53は、上述した送信プロトコル処理を行って確認応答を含むフレームを生成し、送信プロトコル処理の完了後にその旨を送信プロトコル処理完了伝達部60に通知する。送信プロトコル処理完了伝達部60は、送信プロトコル処理の完了を制御情報伝達判定部58に通知する。送信処理状態記憶部61は、制御情報伝達判定部58の制御の下、確認応答を含むフレームの送信の処理状態(送信処理状態という)を記憶する。送信処理状態には、「未処理」と「処理中」と「予約済」との3つの状態がある。なお、送信処理状態の初期状態は「未処理」である。制御情報伝達判定部58は、上述の第3の実施の形態にかかる機能に加え、送信プロトコル処理の完了が送信プロトコル処理完了伝達部60から通知されると、送信処理状態記憶部61に記憶された送信処理状態を状態に応じて更新する。
(1) Configuration In the present embodiment, the
(2)動作
次に、本実施の形態にかかる通信装置50の行う受信処理及び送信処理の手順について説明する。まず、受信処理の手順について図12を用いて説明する。ステップS1〜S2は上述の第1の実施の形態と同様である。尚、ステップS2で通信装置50が取得した制御情報には、相手装置が付与したシーケンス番号が含まれているとする。ステップS50では、通信装置50は、送信処理状態記憶部61に記憶されている送信処理状態を参照して、当該送信処理状態が「未処理」である場合、当該送信処理状態を「処理中」に変更して(ステップS51)、受信制御情報記憶部59に記憶されている制御情報に従って、当該通信装置50の受信ウィンドウサイズ及びステップS2で受信プロトコル処理を行った受信フレームの制御情報に含まれるシーケンス番号のうち最大のシーケンス番号と共に確認応答を含むフレームの送信要求を含む制御情報を制御情報キュー55に記憶させる(ステップS52)。また、送信処理状態が「処理中」である場合、通信装置50は、当該送信処理状態を「予約済」に変更し(ステップS53)、受信制御情報記憶部59に記憶されている制御情報について、当該通信装置50の受信ウィンドウサイズ及びステップS2で受信プロトコル処理を行った受信フレームの制御情報に含まれるシーケンス番号のうち最大のシーケンス番号を含む制御情報に更新する(ステップS54)。また、送信処理状態が「予約済」である場合、通信装置50は、受信制御情報記憶部59に記憶されている制御情報について、当該通信装置50の受信ウィンドウサイズ及びステップS2で受信プロトコル処理を行った受信フレームの制御情報に含まれるシーケンス番号のうち最大のシーケンス番号を含む制御情報に更新する(ステップS55)。
(2) Operation Next, a procedure of reception processing and transmission processing performed by the
次に、送信処理の手順について図13を用いて説明する。ステップS10〜S12は上述の第1の実施の形態と同様である。ステップS60では、通信装置50は、ステップS11で送信プロトコル処理部53の機能により送信プロトコル処理を行った後、送信プロトコル処理完了伝達部60の機能により、送信プロトコル処理の完了を検出すると、制御情報伝達判定部58の機能により、送信処理状態記憶部61に記憶されている送信処理状態を更新する。具体的には、通信装置50は、送信処理状態が「処理中」である場合、当該送信処理状態を「未処理」に変更する(ステップS61)。また、当該送信処理状態が「予約済」である場合、当該送信処理状態を「処理中」に変更する(ステップS62)。そして、通信装置50は、受信制御情報記憶部59に記憶している制御情報に含まれるシーケンス番号及び受信ウィンドウサイズと共に確認応答を含むフレームの送信要求を制御情報に含ませて当該制御情報を制御情報キュー55に記憶させる。この制御情報がステップS10で取得された場合、当該制御情報に従ってステップS11で生成された確認応答を含むフレームがステップS12で送信されることになる。
Next, the procedure of the transmission process will be described with reference to FIG. Steps S10 to S12 are the same as those in the first embodiment. In step S60, the
以上のようにして、送信プロトコル処理の完了に応じて、送信プロトコル処理の処理状態(送信処理状態)を更新し、受信フレームを受信した際に、当該送信処理状態を参照することで、送信プロトコル処理を行っているか否かを判定することができる。そして、受信フレームを受信した際に送信プロトコル処理を行っている場合、当該受信フレームの制御情報を用いて、受信制御情報記憶部59に記憶している制御情報に含まれる受信ウィンドウサイズ及びシーケンス番号を更新する。これにより、受信フレームに対して送信すべき確認応答を含むフレームにおいて、確認応答を含むフレームをまだ送信していない受信フレームの最大のシーケンス番号を用いて確認応答シーケンス番号を付与することができ、累積確認応答を行なうことができる。即ち、本実施の形態によれば、送信プロトコル処理の処理速度に応じて確認応答を含むフレームを生成して送信することができるため、当該処理速度に応じて確認応答を含むフレームを送信する回数を低減することができる。
As described above, when the transmission protocol processing is completed, the processing state of the transmission protocol processing (transmission processing state) is updated, and when the reception frame is received, the transmission protocol is referred to. It can be determined whether or not processing is being performed. When the transmission protocol processing is performed when the reception frame is received, the reception window size and the sequence number included in the control information stored in the reception control
[変形例]
なお、本発明は前記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、前記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。また、以下に例示するような種々の変形が可能である。
[Modification]
Note that the present invention is not limited to the above-described embodiment as it is, and can be embodied by modifying the constituent elements without departing from the scope of the invention in the implementation stage. Moreover, various inventions can be formed by appropriately combining a plurality of constituent elements disclosed in the embodiment. For example, some components may be deleted from all the components shown in the embodiment. Furthermore, constituent elements over different embodiments may be appropriately combined. Further, various modifications as exemplified below are possible.
<変形例1>
上述した各実施の形態において、通信装置50で実行される各種プログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成しても良い。また当該各種プログラムを、インストール可能な形式又は実行可能な形式のファイルでCD−ROM、フレキシブルディスク(FD)、CD−R、DVD(Digital Versatile Disk)等のコンピュータで読み取り可能な記録媒体に記録して提供するように構成しても良い。
<
In each of the above-described embodiments, various programs executed by the
また、上述した各実施の形態において、受信プロトコル処理部52及び送信プロトコル処理部53は、通信装置50を構成する同一のコンピュータ上で独立に動作するプログラムのタスクであっても良いし、ハードウェアにより各々異なるプロセッサで構成するようにしても良い。また、ネットワークインタフェース部51についても同様に、通信装置50を構成する同一のコンピュータ上で独立に動作するプログラムのタスクであっても良いし、受信プロトコル処理部52及び送信プロトコル処理部53とは異なるプロセッサで構成するようにしても良い。
In each of the above-described embodiments, the reception
<変形例2>
上述した各実施の形態において、トランスポート層のプロトコルとしてTCPを用いる場合について説明したが、TCPに代えてSCTPやDCCPなどのプロトコルを用いる場合であっても、データリンク層やネットワーク層などのプロトコルを用いる場合であっても、各実施の形態に係る構成を適用可能である。
<Modification 2>
In each of the embodiments described above, the case where TCP is used as the transport layer protocol has been described. However, even if a protocol such as SCTP or DCCP is used instead of TCP, a protocol such as a data link layer or a network layer is used. Even in the case of using the configuration, the configuration according to each embodiment can be applied.
<変形例3>
上述した各実施の形態においては、受信プロトコル処理部52は、フレームの受信以外にも、受信ウィンドウサイズの変化を契機として、制御情報を送信プロトコル処理部53に伝達するようにしても良い。例えば、通信装置50のCPUがアプリケーションプログラムを実行しており、当該アプリケーションプログラムがデータを処理することに伴って受信バッファ54のデータ容量、即ち、受信ウィンドウサイズが変化し得る。変化した受信ウィンドウサイズをアプリケーションプログラムが受信プロトコル処理部52に通知することにより、受信プロトコル処理部52は、受信ウィンドウサイズの変化を検出する。この場合、受信プロトコル処理部52は、当該受信ウィンドウサイズを含む制御情報を制御情報キュー55に記憶させる。そして、送信プロトコル処理部53が、当該制御情報を制御情報キュー55から取得することで、受信ウィンドウサイズの変化を契機として更新された制御情報が当該送信プロトコル処理部53に伝達されることになる。送信プロトコル処理部53は、このように取得した制御情報を用いて上述の各実施の形態と同様にして送信プロトコル処理を行い、フレームを送信すれば良い。
<Modification 3>
In each of the embodiments described above, the reception
このような構成によれば、受信ウィンドウサイズが変化した場合に制御情報を更新することができ、最新の制御情報を用いて送信プロトコル処理を行うことができる。 According to such a configuration, control information can be updated when the reception window size changes, and transmission protocol processing can be performed using the latest control information.
<変形例4>
上述した第2の実施の形態においては、制御情報として送信対象のデータのアドレスとデータ長とを指定できるようにし、図14に示されるように、送信データ指定部57が、送信対象のデータのアドレスとデータ長と当該データの送信要求とを制御情報に含ませて制御情報キュー55に記憶させるようにしても良い。送信プロトコル処理部53は、当該制御情報を制御情報キュー55から取得した場合、送信プロトコル処理を行い、当該制御情報に従って、送信対象のデータを含むフレームを生成してこれを、ネットワークインタフェース部51を介して送信すれば良い。
<Modification 4>
In the second embodiment described above, the address and data length of the transmission target data can be specified as the control information, and as shown in FIG. The address, data length, and transmission request for the data may be included in the control information and stored in the
また、図15に示されるように、送信プロトコル処理部53と送信データ指定部57とに接続される送信データキュー62を別途設けるようにしても良い。この場合、送信データ指定部57は、送信対象のデータのアドレスとデータ長とを含むデータ情報を送信データキュー62に記憶させ、送信プロトコル処理部53は、当該データ情報を送信データキュー62から取得することで、上述のデータ送信処理を行うようにしても良い。
Further, as shown in FIG. 15, a
<変形例5>
上述の第2の実施の形態においては、送信制御情報記憶部56はコネクション毎に制御情報を記憶するようにしても良い。
<Modification 5>
In the above-described second embodiment, the transmission control
また、上述の第4の実施の形態においては、受信制御情報記憶部59はコネクション毎に制御情報を記憶するようにしても良く、送信処理状態記憶部61はコネクション毎に送信処理状態を記憶するようにしても良い。この場合、送信プロトコル処理部53は、送信プロトコル処理の完了の通知を、確認応答を含むフレームに対する送信プロトコル処理の完了時に行うようにしても良い。
In the fourth embodiment described above, the reception control
50 通信装置
51 ネットワークインタフェース部
52 受信プロトコル処理部
53 送信プロトコル処理部
54 受信バッファ
55 制御情報キュー
56 送信制御情報記憶部
57 送信データ指定部
58 制御情報伝達判定部
59 受信制御情報記憶部
60 送信プロトコル処理完了伝達部
61 送信処理状態記憶部
62 送信データキュー
520 トランスポート層プロトコル処理部
521 ネットワーク層プロトコル処理部
522 データリンク層プロトコル処理部
530 トランスポート層プロトコル処理部
531 ネットワーク層プロトコル処理部
532 データリンク層プロトコル処理部
DESCRIPTION OF
Claims (16)
第1の処理ハードウェアにより構成され、受信したフレームに対して受信に係るプロトコル処理を行って、制御情報を取得すると共に、当該フレームにデータが含まれる場合当該データを取得する受信プロトコル処理手段と、
取得した前記フレームに含まれるデータを記憶する受信バッファと、
自装置が有する前記受信バッファのデータ容量を示す受信ウィンドウサイズ、及び自装置が受信したデータの領域を示す領域情報を含む制御情報を前記受信プロトコル処理手段が取得した順番に上書きせずに記憶するとともに、当該記憶した順番で前記制御情報を出力する1つの制御情報キューと、
第2の処理ハードウェアにより構成され前記受信プロトコル処理手段と独立して並列に動作し、前記制御情報キューが出力する順番に、前記制御情報を読み出して、当該順番に読み出した制御情報各々を用いて、当該順番で、送信に係る前記プロトコル処理を行って、前記領域情報及び前記受信ウィンドウサイズを含む送信対象のフレームを生成し、前記ネットワークインタフェース手段を介して当該フレームを送信する送信プロトコル処理手段とを備える
ことを特徴とする通信装置。 Network interface means for transmitting and receiving frames to and from other communication devices via the network;
A reception protocol processing unit configured by first processing hardware for performing control processing related to reception on a received frame to acquire control information and acquiring data when the frame includes data; ,
A reception buffer for storing data included in the acquired frame;
Control information including a reception window size indicating the data capacity of the reception buffer of the own device and area information indicating an area of data received by the own device is stored without being overwritten in the order obtained by the reception protocol processing means. And one control information queue for outputting the control information in the stored order;
It is composed of second processing hardware, operates in parallel with the reception protocol processing means, reads the control information in the order that the control information queue outputs, and uses each of the control information read in the order In this order, the protocol processing related to transmission is performed to generate a transmission target frame including the area information and the reception window size, and the transmission protocol processing means transmits the frame via the network interface means. A communication device comprising:
ことを特徴とする請求項1に記載の通信装置。The communication apparatus according to claim 1.
前記制御情報キューは、前記フレームの送信要求を更に含む前記制御情報を記憶し、
前記送信プロトコル処理手段は、前記制御情報に前記フレームの送信要求が含まれる場合に、前記送信対象のフレームを生成する
ことを特徴とする請求項1に記載の通信装置。 The reception protocol processing means determines whether or not to transmit a frame including an acknowledgment to the received frame, and when determining that the frame including the acknowledgment is to be transmitted, transmits the frame for the acknowledgment Including the request in the control information;
The control information queue stores the control information further including a transmission request for the frame,
The communication apparatus according to claim 1, wherein the transmission protocol processing unit generates the transmission target frame when the control information includes a transmission request for the frame.
前記制御情報キューは、前記受信ウィンドウサイズの変化が検出された場合に、当該受信ウィンドウサイズを含む前記制御情報を記憶する
ことを特徴とする請求項1又は3に記載の通信装置。 Detecting means for detecting a change in the reception window size of the device itself;
The control information queue, when a change of the receive window size is detected, the communication device according to claim 1 or 3, characterized in that for storing the control information including the reception window size.
前記制御情報は、前記シーケンス番号を少なくとも含み、
前記送信プロトコル処理手段が前記プロトコル処理に用いた前記制御情報のうち、最大の前記シーケンス番号を含む前記制御情報を記憶する送信制御情報記憶手段と、
送信対象のデータを指定する送信データ指定手段とを更に備え、
前記送信プロトコル処理手段は、前記送信制御情報記憶手段に記憶された前記制御情報を用いて、指定された前記データに対して前記プロトコル処理を行って、当該データを含むフレームを生成し、前記ネットワークインタフェース手段を介して当該フレームを送信する
ことを特徴とする請求項1に記載の通信装置。 The area information indicating the area of the data received by the own apparatus is a sequence number given by the other communication apparatus,
The control information includes at least the sequence number;
Transmission control information storage means for storing the control information including the largest sequence number among the control information used by the transmission protocol processing means for the protocol processing;
A transmission data specifying means for specifying data to be transmitted;
The transmission protocol processing means performs the protocol processing on the specified data using the control information stored in the transmission control information storage means to generate a frame including the data, and the network The communication apparatus according to claim 1, wherein the frame is transmitted via an interface unit.
前記送信プロトコル処理手段は、指定された前記アドレスから指定された前記データ長のデータを取得して、前記送信制御情報記憶手段に記憶された前記制御情報を用いて、当該データに対して前記プロトコル処理を行って、当該データを含むフレームを生成し、前記ネットワークインタフェース手段を介して当該フレームを送信する
ことを特徴とする請求項5に記載の通信装置。 The transmission data specifying means specifies an address and a data length of the data to be transmitted,
The transmission protocol processing means acquires data of the specified data length from the specified address, and uses the control information stored in the transmission control information storage means to perform the protocol on the data 6. The communication apparatus according to claim 5 , wherein processing is performed to generate a frame including the data, and the frame is transmitted via the network interface unit.
前記制御情報キューは、前記送信対象のデータのアドレスとデータ長とを更に含む前記制御情報を記憶し、
前記送信プロトコル処理手段は、前記制御情報キューから、前記制御情報に含まれる前記送信対象のデータのアドレスとデータ長のデータを取得して、前記送信制御情報記憶手段に記憶された前記制御情報を用いて、当該データに対して前記プロトコル処理を行って、当該データを含むフレームを生成し、前記ネットワークインタフェース手段を介して当該フレームを送信する
ことを特徴とする請求項5に記載の通信装置。 The transmission data specifying means specifies an address and a data length of the data to be transmitted,
The control information queue stores the control information further including an address and a data length of the data to be transmitted,
The transmission protocol processing means obtains the address and data length data of the transmission target data included in the control information from the control information queue, and stores the control information stored in the transmission control information storage means. The communication apparatus according to claim 5 , wherein the communication apparatus uses the protocol processing for the data to generate a frame including the data, and transmits the frame via the network interface unit.
前記判定手段の判定結果に応じて、前記制御情報を記憶する受信制御情報記憶手段とを更に備え、
前記判定手段は、前記受信制御情報記憶手段に記憶されている制御情報と、前記受信プロトコル処理手段が取得した前記制御情報とを比較することにより、前記受信プロトコル処理手段が取得した前記制御情報を前記制御情報キューに記憶させるか否かを判定し、
前記制御情報キューは、前記制御情報を前記制御情報キューに記憶させると判定された場合に、当該制御情報を記憶する
ことを特徴とする請求項1に記載の通信装置。 Determining means for determining whether or not to store the control information acquired by the reception protocol processing means in the control information queue;
A reception control information storage unit that stores the control information according to a determination result of the determination unit;
The determination unit compares the control information stored in the reception control information storage unit with the control information acquired by the reception protocol processing unit, thereby obtaining the control information acquired by the reception protocol processing unit. Determine whether to store in the control information queue,
The communication apparatus according to claim 1, wherein the control information queue stores the control information when it is determined that the control information is stored in the control information queue.
前記受信制御情報記憶手段は、前記制御情報を前記制御情報キューに記憶させると判定された場合に、当該制御情報を記憶する
ことを特徴とする請求項8に記載の通信装置。 The determination means, when the control information stored in the reception control information storage means and the control information acquired by the reception protocol processing means are different from each other, the control information acquired by the reception protocol processing means It is determined to be stored in the control information queue
The communication apparatus according to claim 8 , wherein the reception control information storage unit stores the control information when it is determined that the control information is stored in the control information queue.
前記判定手段は、前記受信制御情報記憶手段に記憶されている制御情報に含まれる前記他の通信装置の前記受信ウィンドウサイズと、前記受信プロトコル処理手段が取得した前記制御情報に含まれる前記他の通信装置の前記受信ウィンドウサイズとが異なる場合及び前記受信制御情報記憶手段に記憶されている制御情報に含まれる前記他の通信装置の前記領域情報と、前記受信プロトコル処理手段が取得した前記制御情報に含まれる前記他の通信装置の前記領域情報とが異なる場合のうち少なくとも一方の場合、前記受信プロトコル処理手段が取得した前記制御情報を前記制御情報キューに記憶させると判定する
ことを特徴とする請求項8又は9に記載の通信装置。 The control information includes at least one of the reception window size of the other communication device and the area information of the other communication device,
The determination means includes the reception window size of the other communication device included in the control information stored in the reception control information storage means, and the other information included in the control information acquired by the reception protocol processing means. When the reception window size of the communication device is different, and the area information of the other communication device included in the control information stored in the reception control information storage unit, and the control information acquired by the reception protocol processing unit In the case where at least one of the area information of the other communication devices included in the information is different, it is determined that the control information acquired by the reception protocol processing means is stored in the control information queue. The communication apparatus according to claim 8 or 9 .
前記判定手段の判定結果に応じて、前記制御情報を記憶する受信制御情報記憶手段と、
前記判定手段に対して送信に係る前記プロトコル処理の完了を伝達する伝達手段と、
送信に係る前記プロトコル処理の処理状態を記憶する送信処理状態記憶手段と、
前記受信プロトコル処理手段が前記プロトコル処理を行う場合及び前記プロトコル処理の完了が伝達された場合のうち少なくとも一方の場合に、前記処理状態を適宜変更する変更手段とを更に備え、
前記判定手段は、適宜変更された前記処理状態に応じて、前記受信プロトコル処理手段が取得した前記制御情報を前記制御情報キューに記憶させるか否かを判定し、
前記制御情報キューは、前記制御情報を前記制御情報キューに記憶させると判定された場合に、当該制御情報を記憶する
ことを特徴とする請求項1に記載の通信装置。 Determining means for determining whether or not to store the control information acquired by the reception protocol processing means in the control information queue;
A reception control information storage unit that stores the control information in accordance with a determination result of the determination unit;
Transmission means for transmitting completion of the protocol processing related to transmission to the determination means;
Transmission processing status storage means for storing the processing status of the protocol processing related to transmission;
A change means for appropriately changing the processing state in at least one of the case where the reception protocol processing means performs the protocol processing and the case where the completion of the protocol processing is transmitted;
The determination unit determines whether to store the control information acquired by the reception protocol processing unit in the control information queue according to the processing state that has been changed as appropriate,
The communication apparatus according to claim 1, wherein the control information queue stores the control information when it is determined that the control information is stored in the control information queue.
前記変更手段は、前記受信プロトコル処理手段が前記プロトコル処理を行う場合且つ前記処理状態が第1状態である場合、前記処理状態を第3状態に変更し、前記受信プロトコル処理手段が前記プロトコル処理を行う場合且つ前記処理状態が第2状態である場合、前記処理状態を第1状態に変更し、前記プロトコル処理の完了が伝達された場合且つ前記処理状態が第1状態である場合、前記処理状態を第2状態に変更し、前記プロトコル処理の完了が伝達された場合且つ前記処理状態が第3状態である場合、前記処理状態を第1状態に変更し、
前記判定手段は、適宜変更された前記処理状態が第1状態である場合、前記制御情報を前記制御情報キューに記憶させると判定し、当該処理状態が第3状態である場合、前記制御情報を前記受信制御情報記憶手段に記憶させると判定し、
前記受信制御情報記憶手段は、前記制御情報を前記受信制御情報記憶手段に記憶させると判定された場合に、当該制御情報を記憶する
ことを特徴とする請求項11に記載の通信装置。 The processing state is one of a first state indicating processing, a second state indicating unprocessing, and a third state indicating reserved.
The changing means changes the processing state to the third state when the reception protocol processing means performs the protocol processing and the processing state is the first state, and the reception protocol processing means performs the protocol processing. When performing and when the processing state is the second state, the processing state is changed to the first state, when the completion of the protocol processing is transmitted and when the processing state is the first state, the processing state When the completion of the protocol processing is transmitted and the processing state is the third state, the processing state is changed to the first state,
The determination means determines that the control information is stored in the control information queue when the appropriately changed processing state is the first state, and the control information is stored when the processing state is the third state. It is determined to be stored in the reception control information storage means,
The communication apparatus according to claim 11 , wherein the reception control information storage unit stores the control information when it is determined to store the control information in the reception control information storage unit.
ことを特徴とする請求項12に記載の通信装置。 The control information, the area information of the own apparatus, to claim 12, wherein the comprising at least one of transmission request frame for requesting confirmation for the reception window size and the received frame of the apparatus The communication device described.
前記ネットワークインタフェース手段が、ネットワークを介して他の通信装置とフレームの送受信を行なうネットワークインタフェースステップと、
前記受信プロトコル処理手段が、受信したフレームに対して受信に係るプロトコル処理を行って、制御情報を取得すると共に、当該フレームにデータが含まれる場合当該データを取得する受信プロトコル処理ステップと、
前記データ記憶制御手段が、受信した前記フレームに含まれるデータを前記受信バッファに記憶させるデータ記憶制御ステップと、
前記制御情報記憶制御手段が、制御情報を前記受信プロトコル処理手段が取得した順番に上書きせずに記憶するとともに、当該記憶した順番で前記制御情報を出力する1つの制御情報キューに、自装置が有する前記受信バッファのデータ容量を示す受信ウィンドウサイズ、及び自装置が受信したデータの領域を示す領域情報を含む前記制御情報を記憶させる制御情報記憶制御ステップと、
前記送信プロトコル処理手段が、前記制御情報キューが出力する順番に、前記制御情報を読み出して、当該順番に読み出した制御情報各々を用いて、当該順番で、送信に係る前記プロトコル処理を行って、前記領域情報及び前記受信ウィンドウサイズを含む送信対象のフレームを生成し、前記ネットワークインタフェース手段を介して当該フレームを送信する送信プロトコル処理ステップとを含む
ことを特徴とする通信方法。 Network interface means, reception protocol processing means constituted by first processing hardware, reception buffer, control information storage control means, data storage control means, and second processing hardware constituted by said reception protocol A transmission protocol processing means operating in parallel independently of the processing means, and a communication method executed by a communication device comprising:
A network interface step in which the network interface means transmits and receives frames to and from other communication devices via a network;
The reception protocol processing means performs protocol processing related to reception on the received frame to acquire control information, and when the frame includes data, a reception protocol processing step of acquiring the data;
A data storage control step in which the data storage control means stores the data included in the received frame in the reception buffer;
The control information storage control means stores the control information in the order obtained by the reception protocol processing means without being overwritten, and the device itself in one control information queue that outputs the control information in the stored order. A control information storage control step for storing the control information including a reception window size indicating a data capacity of the reception buffer and area information indicating an area of data received by the own device;
The transmission protocol processing means reads the control information in the order in which the control information queue outputs, and uses the control information read in the order to perform the protocol processing related to transmission in the order, And a transmission protocol processing step of generating a transmission target frame including the area information and the reception window size and transmitting the frame via the network interface means.
ネットワークインタフェース手段が、ネットワークを介して他の通信装置とフレームの送受信を行なうネットワークインタフェース機能と、
第1の処理ハードウェアにより構成された受信プロトコル処理手段が、受信したフレームに対して受信に係るプロトコル処理を行って、制御情報を取得すると共に、当該フレームにデータが含まれる場合当該データを取得する受信プロトコル処理機能と、
データ記憶制御手段が、受信した前記フレームに含まれるデータを受信バッファに記憶させるデータ記憶機能と、
前記制御情報記憶制御手段が、制御情報を前記受信プロトコル処理手段が取得した順番に上書きせずに記憶するとともに、当該記憶した順番で前記制御情報を出力する1つの制御情報キューに、自装置が有する前記受信バッファのデータ容量を示す受信ウィンドウサイズ、及び自装置が受信したデータの領域を示す領域情報を含む前記制御情報を記憶させる制御情報記憶制御機能と、
第2の処理ハードウェアにより構成され前記受信プロトコル処理手段と独立して並列に動作する送信プロトコル処理手段が、前記制御情報キューが出力する順番に、前記制御情報を読み出して、当該順番に読み出した制御情報各々を用いて、当該順番で、送信に係る前記プロトコル処理を行って、前記領域情報及び前記受信ウィンドウサイズを含む送信対象のフレームを生成し、前記ネットワークインタフェース手段を介して当該フレームを送信する送信プロトコル処理機能とを含むことを特徴とする通信プログラム。 A program for causing a computer to execute communication,
A network interface function, wherein the network interface means performs transmission and reception of frames with other communication devices via the network;
The reception protocol processing means configured by the first processing hardware performs protocol processing related to reception on the received frame to acquire control information, and acquires the data when the frame includes data Receiving protocol processing function,
A data storage control means for storing data included in the received frame in a reception buffer;
The control information storage control means stores the control information in the order obtained by the reception protocol processing means without being overwritten, and the device itself in one control information queue that outputs the control information in the stored order. A control information storage control function for storing the control information including a reception window size indicating the data capacity of the reception buffer and area information indicating an area of data received by the own device;
A transmission protocol processing unit configured by second processing hardware and operating in parallel with the reception protocol processing unit reads the control information in the order that the control information queue outputs, and reads the control information in that order. Using each control information, the protocol processing related to transmission is performed in that order to generate a transmission target frame including the region information and the reception window size, and the frame is transmitted via the network interface unit. And a transmission protocol processing function.
ネットワークを介して他の通信装置とフレームの送受信を行なうネットワークインタフェース手段と、
受信したフレームに対して受信に係る前記プロトコル処理を行って、制御情報を取得すると共に、当該フレームにデータが含まれる場合当該データを取得する受信プロトコル処理手段と、
前記他の通信装置の有する受信バッファのデータ容量を示す受信ウィンドウサイズ、前記他の通信装置が受信したデータの領域を示す領域情報、自装置の前記受信ウィンドウサイズ及び自装置が受信したデータの領域を示す領域情報のうち少なくとも1つを含む制御情報を前記受信プロトコル処理手段が取得した順番に上書きせずに記憶するとともに、当該記憶した順番で前記制御情報を出力する1つの制御情報キューと、
受信した前記フレームに含まれるデータを記憶する受信バッファと、
前記受信プロトコル処理手段と独立して並列に動作し、前記制御情報キューが出力する順番に、前記制御情報を読み出して、当該順番に読み出した制御情報各々を用いて、当該順番で、送信に係る前記プロトコル処理を行って、前記領域情報及び前記受信ウィンドウサイズを含む送信対象のフレームを生成し、前記ネットワークインタフェース手段を介して当該フレームを送信する送信プロトコル処理手段とを備え、
前記自装置が受信したデータの領域を示す前記領域情報は、前記他の通信装置が付与したシーケンス番号であり、
前記制御情報は、前記シーケンス番号を少なくとも含み、
前記送信プロトコル処理手段が前記プロトコル処理に用いた前記制御情報のうち、最大の前記シーケンス番号を含む前記制御情報を記憶する送信制御情報記憶手段と、
送信対象のデータを指定する送信データ指定手段とを更に備え、
前記送信プロトコル処理手段は、前記送信制御情報記憶手段に記憶された前記制御情報を用いて、指定された前記データに対して前記プロトコル処理を行って、当該データを含むフレームを生成し、前記ネットワークインタフェース手段を介して当該フレームを送信する
ことを特徴とする通信装置。 An apparatus that performs protocol processing defined by a protocol that performs transmission control of a frame using a received frame,
Network interface means for transmitting and receiving frames to and from other communication devices via the network;
Receiving protocol processing for receiving the received frame to obtain control information, and receiving data processing means for obtaining the data if the frame contains data;
A reception window size indicating the data capacity of the reception buffer of the other communication device, region information indicating a region of data received by the other communication device, the reception window size of the own device, and an area of data received by the own device stores without overwriting the order in which the control information is the reception protocol processing unit has acquired including at least one of area information indicating a one of the control information queue for outputting the control information in the order that the storage,
A reception buffer for storing data included in the received frame;
Operates in parallel independently of the reception protocol processing means, reads the control information in the order that the control information queue outputs, and uses each of the control information read in the order to perform transmission in that order. Transmission protocol processing means for performing the protocol processing, generating a frame to be transmitted including the area information and the reception window size, and transmitting the frame via the network interface means,
The area information indicating an area of data received by the own apparatus is a sequence number assigned by the other communication apparatus,
The control information includes at least the sequence number;
Transmission control information storage means for storing the control information including the largest sequence number among the control information used by the transmission protocol processing means for the protocol processing;
A transmission data specifying means for specifying data to be transmitted;
The transmission protocol processing means performs the protocol processing on the specified data using the control information stored in the transmission control information storage means to generate a frame including the data, and the network A communication apparatus that transmits the frame via an interface unit.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012253643A JP5571154B2 (en) | 2012-11-19 | 2012-11-19 | Communication apparatus, method and program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012253643A JP5571154B2 (en) | 2012-11-19 | 2012-11-19 | Communication apparatus, method and program |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009047105A Division JP5175773B2 (en) | 2009-02-27 | 2009-02-27 | Communication apparatus, method and program |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2013066212A JP2013066212A (en) | 2013-04-11 |
JP2013066212A5 JP2013066212A5 (en) | 2013-07-11 |
JP5571154B2 true JP5571154B2 (en) | 2014-08-13 |
Family
ID=48189244
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012253643A Active JP5571154B2 (en) | 2012-11-19 | 2012-11-19 | Communication apparatus, method and program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5571154B2 (en) |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH06132981A (en) * | 1992-10-15 | 1994-05-13 | Hitachi Ltd | Packet transmission system |
US6005849A (en) * | 1997-09-24 | 1999-12-21 | Emulex Corporation | Full-duplex communication processor which can be used for fibre channel frames |
US6760769B2 (en) * | 2001-08-31 | 2004-07-06 | Adaptec, Inc. | Apparatus and methods for transmitting data at high speed using TCP/IP |
US7363572B2 (en) * | 2003-06-05 | 2008-04-22 | Nvidia Corporation | Editing outbound TCP frames and generating acknowledgements |
-
2012
- 2012-11-19 JP JP2012253643A patent/JP5571154B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP2013066212A (en) | 2013-04-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5175773B2 (en) | Communication apparatus, method and program | |
JP5161736B2 (en) | Fault diagnosis program, method, and communication apparatus | |
KR102610823B1 (en) | Communication system and method for network address translation | |
JP2008244989A (en) | Radio communication system and terminal, packet control device, and program | |
JP2012114737A (en) | Receiver, reception method, program and communication system | |
JP5304674B2 (en) | Data conversion apparatus, data conversion method and program | |
JP2015012580A5 (en) | Reception device, control method, and program | |
JP2007243445A (en) | Communications device, reception method, and computer program | |
US20160359950A1 (en) | Systems and methods for improved trivial file transfer protocol | |
JP6438110B2 (en) | Method and device for signaling in a communication network | |
JP5481485B2 (en) | Communication apparatus, reception processing method and transmission processing method using the same | |
JP5571154B2 (en) | Communication apparatus, method and program | |
US20140047124A1 (en) | Trivial file transfer protocol (tftp) data transferring prior to file transfer completion | |
JP6089518B2 (en) | Transfer device, transfer method, and transfer program | |
JP6675189B2 (en) | Communication device, control method thereof, and program | |
US20130249921A1 (en) | Server, screen transfer system, and screen transfer method | |
JP2007114984A (en) | Information processor, communication control method and program | |
TW202103466A (en) | System and method for implementing hybrid automatic repeat request process | |
JP2019114947A (en) | Communication device, control method of communication device, and program | |
JP6452573B2 (en) | Data transmission device, data reception device, data transmission method, data reception method, data transmission program, and data reception program | |
JP6800514B2 (en) | Communication equipment, its control method, and programs | |
JP2011044823A (en) | Communication equipment, communication system, communication method and communication program | |
JP2010041498A (en) | Packet creating apparatus, and packet creating method | |
JP6639754B2 (en) | Communication device, operation procedure management method, and operation procedure management program | |
JP6592775B2 (en) | File transmission / reception system and file transmission / reception method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130528 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20131024 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20131029 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20131227 |
|
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: 20140527 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20140625 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 5571154 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |