JP2007043678A - Communication terminal and communication method - Google Patents
Communication terminal and communication method Download PDFInfo
- Publication number
- JP2007043678A JP2007043678A JP2006178755A JP2006178755A JP2007043678A JP 2007043678 A JP2007043678 A JP 2007043678A JP 2006178755 A JP2006178755 A JP 2006178755A JP 2006178755 A JP2006178755 A JP 2006178755A JP 2007043678 A JP2007043678 A JP 2007043678A
- Authority
- JP
- Japan
- Prior art keywords
- segment
- transmission
- path
- management unit
- terminal
- 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.)
- Pending
Links
Images
Landscapes
- Communication Control (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
Description
本発明は、送信端末が、複数のパスを同時に用いて、データを受信端末に送信する通信方法、及び、かかる通信方法を実現する通信端末に関する。 The present invention relates to a communication method in which a transmission terminal transmits data to a reception terminal using a plurality of paths simultaneously, and a communication terminal that implements the communication method.
従来、マルチホーム対応トランスポートプロトコル(Multi-Path TCP(Transmission Control Protocol))を用いた通信方法、すなわち、送信端末が、複数のパスを同時に用いてデータを受信端末に送信する通信方法として、非特許文献1乃至3に記載されている技術が知られている。
しかしながら、非特許文献1に提案されているマルチホーム対応トランスポートプロトコルを用いた通信方法は、最も通信状態の良い1つのパスのみを用いて通信を行い、障害時の迂回経路としてその他のパスを利用するように構成されているため、複数のパスを同時に利用して通信を行うことはできないという問題点があった。
However, the communication method using the multihome-compatible transport protocol proposed in Non-Patent
これに対して、非特許文献2及び3に提案されている技術は、送信端末と受信端末との間に存在する複数のパスを同時に利用して通信を行うことができる。
On the other hand, the technologies proposed in
しかしながら、非特許文献2に提案されている技術では、通常のTCPヘッダの上位に新たなヘッダを必要とすることから、非特許文献2に提案されているプロトコルを備えていない通信端末との間で通信を行うことができないという問題点があった。
However, since the technique proposed in Non-Patent
この点、非特許文献3に提案されている技術では、通常のTCPヘッダのみを利用して、送信端末と受信端末との間に存在する複数のパスを同時に利用して通信を行うこと(すなわち、マルチホーム接続)を実現するように構成されている。
In this regard, in the technology proposed in Non-Patent
しかしながら、非特許文献3に提案されている技術では、ACK(Acknowledgement:送達確認信号)を送信するためのパス(ACKパス)が1つしか利用できないため、利用しているACKパスに障害が発生すると、全てのパスにおいて影響を受けると共に、それぞれのパスが非対称となる(パケットを送信したパスとACKを受信するパスが異なる)ため、RTT(Round Trip Time)が正確に計測されないという問題点があった。
However, in the technique proposed in
さらに、非特許文献3に提案されている技術では、C-ACK(Cumulative ACK)を利用することができない等の問題があり、パス単位では、通常のTCPと同等の制御を行うことができないという問題点があった。
Furthermore, the technique proposed in
本発明は、以上の点に鑑みてなされたもので、本発明に係る技術を適用していない受信端末との間であっても通信を可能とするために、通常のTCPヘッダ以外のヘッダを用いることなく、複数のACKパスを利用することで対称なパスを用いて正確なRTTを計測すると共に、Cumulative ACKを改良することによって、通常のTCPと同様の制御を行うことができるマルチホーム対応トランスポートプロトコルを実現する通信方法及び通信端末を提供することを目的とする。 The present invention has been made in view of the above points. In order to enable communication even with a receiving terminal to which the technology according to the present invention is not applied, a header other than a normal TCP header is used. Without using it, it is possible to perform the same control as normal TCP by measuring accurate RTT using a symmetric path by using multiple ACK paths and improving Cumulative ACK An object of the present invention is to provide a communication method and a communication terminal for realizing a transport protocol.
本発明の第1の特徴は、複数のパスを同時に用いて、データを受信端末に送信可能な通信端末であって、前記複数のパスの各々に係るTCP制御情報を管理するように構成されているパス情報管理部と、受信端末に対して送信すべきデータを分割して生成したセグメントを記憶するように構成されている送信セグメント管理部と、前記送信セグメント管理部から前記セグメントを抽出して前記受信端末に対して送信するように構成されているセグメント送信部とを具備し、前記送信セグメント管理部は、前記TCP制御情報に基づいて、前記セグメントと該セグメントの送信に用いられるパスとを関連付けて記憶することによって、該セグメントに対する送信予約を行うように構成されており、前記セグメント送信部は、前記送信セグメント管理部から前記セグメントのみを抽出して、該セグメントに関連付けられているパスを介して該セグメントを前記受信端末に送信するように構成されていることを要旨とする。 A first feature of the present invention is a communication terminal capable of transmitting data to a receiving terminal using a plurality of paths simultaneously, and configured to manage TCP control information related to each of the plurality of paths. A path information management unit, a transmission segment management unit configured to store a segment generated by dividing data to be transmitted to the receiving terminal, and extracting the segment from the transmission segment management unit A segment transmission unit configured to transmit to the receiving terminal, and the transmission segment management unit, based on the TCP control information, determines the segment and a path used for transmission of the segment. The segment transmission unit is configured to perform transmission reservation for the segment by associating and storing the segment, and the segment transmission unit includes the transmission segment. From processing section extracts only the segment, and summarized in that via the path associated with the segment is configured to transmit the segment to the receiving terminal.
かかる発明によれば、セグメントの送信が、通常のTCPヘッダのみを用いて行われるように構成されているため、本発明に係る技術を適用していない受信端末がとの間であっても通信を行うことができる。 According to this invention, since the segment is transmitted using only a normal TCP header, communication can be performed even with a receiving terminal to which the technology according to the present invention is not applied. It can be performed.
本発明の第1の特徴において、前記セグメントに係る送達確認信号が、該セグメントの送信に用いられたパスと同一のパスを介して受信された場合、全ての送信セグメント管理部の中で、送達確認信号を受信していないセグメントの最小のシーケンス番号より小さいシーケンス番号を有するセグメントを前記送信セグメント管理部から削除するように構成されているセグメント受信部を具備してもよい。 1st characteristic of this invention WHEREIN: When the delivery confirmation signal which concerns on the said segment is received via the path | pass same as the path | pass used for transmission of this segment, it is delivered in all the transmission segment management parts. A segment reception unit configured to delete from the transmission segment management unit a segment having a sequence number smaller than the minimum sequence number of a segment that has not received a confirmation signal may be provided.
本発明の第1の特徴において、前記送信セグメント管理部が、タイムアウトを検出した場合、送達確認信号を受信していない全てのセグメントに対する送信予約を取り消し、再度、前記TCP制御情報に基づいて、該セグメントに対する送信予約を行うように構成されていてもよい。 In the first aspect of the present invention, when the transmission segment management unit detects a timeout, the transmission segment management unit cancels the transmission reservation for all the segments that have not received the delivery confirmation signal, and again, based on the TCP control information, You may be comprised so that the transmission reservation with respect to a segment may be performed.
本発明の第1の特徴において、前記送信セグメント管理部が、選択送達確認信号を受信した最大のセグメントと、次に送達確認信号を受信すべきセグメントとの間に、送達確認信号を受信していないセグメントが所定数以上ある場合、選択送達確認信号を受信した最大のセグメントのシーケンス番号以下のシーケンス番号で送達確認信号を受信していないセグメント、及び、未送信のセグメントに対する送信予約を取り消し、再度、前記TCP制御情報に基づいて、該セグメントに対する送信予約を行うように構成されていてもよい。 In the first aspect of the present invention, the transmission segment management unit receives a delivery confirmation signal between the largest segment that has received the selective delivery confirmation signal and the next segment that should receive the delivery confirmation signal. If there are more than a certain number of segments, cancel transmission reservations for segments that have not received a delivery confirmation signal with a sequence number equal to or less than the sequence number of the largest segment that has received the selective delivery confirmation signal, and unsent segments, and again The transmission reservation for the segment may be performed based on the TCP control information.
本発明の第1の特徴において、前記セグメント送信部が、近隣通信端末との間でアドホックネットワークを形成し、該アドホックネットワーク内の前記パスを介して前記セグメントを送信するように構成されていてもよい。 In the first aspect of the present invention, the segment transmission unit may be configured to form an ad hoc network with a neighboring communication terminal and transmit the segment via the path in the ad hoc network. Good.
かかる発明によれば、近隣通信端末との間で形成されたアドホックネットワーク内のパスを利用することによって、複数のインターフェースを持たない通信端末においても、送信端末と受信端末との間に存在する複数のパスを同時に利用して通信を行うこと(すなわち、仮想的にマルチホーム接続)を実現することができる。 According to this invention, by using a path in an ad hoc network formed with neighboring communication terminals, a plurality of communication terminals that do not have a plurality of interfaces exist between a transmission terminal and a reception terminal. It is possible to realize communication (that is, virtual multi-home connection) by simultaneously using these paths.
本発明の第2の特徴は、複数のパスを同時に用いて、送信端末からデータを受信可能な通信端末であって、前記複数のパスの各々に係るTCP制御情報を管理するように構成されているパス情報管理部と、前記複数のパスを介して、前記データを分割して生成されたセグメントを受信するように構成されているセグメント受信部と、受信した前記セグメントを、該セグメントが送信されたパスごとに記憶するように構成されている受信セグメント管理部と、前記TCP制御情報に基づいて、各パスを介したセグメントの受信結果を通知するための送達確認信号を送信するように構成されているセグメント送信部とを具備することを要旨とする。 A second feature of the present invention is a communication terminal capable of receiving data from a transmission terminal using a plurality of paths simultaneously, and configured to manage TCP control information related to each of the plurality of paths. A path information management unit, a segment reception unit configured to receive a segment generated by dividing the data via the plurality of paths, and the segment received by the segment. A reception segment management unit configured to store for each path, and a transmission confirmation signal for notifying a reception result of the segment through each path based on the TCP control information. And a segment transmission unit.
本発明の第2の特徴において、前記送達確認信号が、前記パスを介して受信に成功したセグメントのシーケンス番号を通知するように構成されていてもよい。 In the second aspect of the present invention, the delivery confirmation signal may be configured to notify a sequence number of a segment successfully received via the path.
かかる発明によれば、パケットを受信したパスに対してACKを送信するように構成されているため、RTTを正確に計測することができ、C-ACKを改良することによって各パスに対して通常のTCP制御と同等の制御を行うことができる。 According to this invention, since it is configured to transmit an ACK to the path that received the packet, it is possible to accurately measure the RTT, and to improve the C-ACK, The same control as the TCP control can be performed.
本発明の第2の特徴において、同一のパスを介してシーケンス番号が連続する複数のセグメントが受信されている場合、前記送達確認信号が、該複数のセグメントの受信結果についてまとめて通知するように構成されていてもよい。 In the second aspect of the present invention, when a plurality of segments having consecutive sequence numbers are received through the same path, the delivery confirmation signal collectively notifies the reception results of the plurality of segments. It may be configured.
かかる発明によれば、複数のACK(送達確認信号)を送信することができるので(例えば、C-ACKを利用することができるので)、送信するACKの数を削減することができる。 According to this invention, since a plurality of ACKs (acknowledgment confirmation signals) can be transmitted (for example, C-ACK can be used), the number of ACKs to be transmitted can be reduced.
本発明の第2の特徴において、前記セグメント受信部が、近隣通信端末との間でアドホックネットワークを形成し、該アドホックネットワーク内の前記パスを介して前記セグメントを受信するように構成されていてもよい。 In the second aspect of the present invention, the segment receiving unit may be configured to form an ad hoc network with a neighboring communication terminal and receive the segment via the path in the ad hoc network. Good.
本発明の第3の特徴は、送信端末が、複数のパスを同時に用いて、データを受信端末に送信する通信方法であって、前記送信端末が、前記複数のパスごとに管理されているTCP制御情報に基づいて、前記受信端末に対して送信すべきデータを分割して生成したセグメントと、該セグメントの送信に用いられるパスとを関連付けて送信セグメント管理部に記憶することによって、該セグメントに対する送信予約を行う工程と、前記送信端末が、前記送信セグメント管理部から前記セグメントのみを抽出して、該セグメントに関連付けられているパスを介して該セグメントを前記受信端末に送信する工程と、前記受信端末が、受信した前記セグメントを、該セグメントが送信されたパスごとに管理すると共に、前記複数のパスごとに管理されているTCP制御情報に基づいて、各パスを介したセグメントの受信結果を通知するための送達確認信号を送信する工程と、前記送信端末が、前記セグメントに係る送達確認信号が、該セグメントの送信に用いられたパスと同一のパスを介して受信された場合、該セグメント及び該セグメントに関連付けられているパスを前記送信セグメント管理部から削除する工程とを有することを要旨とする。 A third feature of the present invention is a communication method in which a transmission terminal uses a plurality of paths simultaneously to transmit data to a reception terminal, and the transmission terminal is managed for each of the plurality of paths. Based on the control information, the segment generated by dividing the data to be transmitted to the receiving terminal and the path used for transmitting the segment are associated with each other and stored in the transmission segment management unit. A step of performing transmission reservation, a step in which the transmission terminal extracts only the segment from the transmission segment management unit, and transmits the segment to the reception terminal via a path associated with the segment; The receiving terminal manages the received segment for each path through which the segment is transmitted, and is managed for each of the plurality of paths. A step of transmitting a delivery confirmation signal for notifying the reception result of the segment via each path based on the TCP control information, and the transmission terminal sends a delivery confirmation signal related to the segment to the transmission of the segment. And a step of deleting the segment and the path associated with the segment from the transmission segment management unit when received via the same path as the used path.
本発明の第3の特徴において、前記送信端末及び前記受信端末が、近隣通信端末との間でアドホックネットワークを形成する工程を有し、前記送信端末は、生成した前記セグメントを、前記アドホックネットワーク内の前記パスを介して前記受信端末に対して送信し、前記受信端末は、前記アドホックネットワーク内の前記パスを介して前記セグメントを受信してもよい。 In the third aspect of the present invention, the transmitting terminal and the receiving terminal have a step of forming an ad hoc network with a neighboring communication terminal, and the transmitting terminal transmits the generated segment to the ad hoc network. May be transmitted to the receiving terminal via the path, and the receiving terminal may receive the segment via the path in the ad hoc network.
以上説明したように、本発明によれば、通常のTCPヘッダ以外のヘッダを用いることなく、通常のTCPと同様の制御を行うことができるマルチホーム対応トランスポートプロトコルを実現する通信方法及び通信端末を提供することができる。 As described above, according to the present invention, a communication method and a communication terminal for realizing a multihomed transport protocol capable of performing the same control as normal TCP without using a header other than the normal TCP header. Can be provided.
(本発明の第1の実施形態に係る通信端末の構成)
図1に、本発明の第1の実施形態に係る通信端末(送信端末10及び受信端末30)を具備する通信システムの一例を示す。図1に示すように、本実施形態では、3つのパス#1乃至#3を同時に用いて、送信端末10から受信端末30に対して、データを送信する環境を想定している。
(Configuration of communication terminal according to the first embodiment of the present invention)
FIG. 1 shows an example of a communication system including communication terminals (
かかるデータとして、FTP(File Transfer Protocol)やSMTP(Simple Mail Transfer Protocol)やHTTP(Hyper Text Transfer Protocol)やPOP3(Post Office Protocol Version 3)等のアプリケーションデータが想定される。 As such data, applications such as FTP (File Transfer Protocol), SMTP (Simple Mail Transfer Protocol), HTTP (Hyper Text Transfer Protocol), and POP3 (Post Office Protocol Version 3) are assumed.
また、かかるデータは、SQL(Structured Query Language)等のデータベース言語で適用可能であり、NFS(Network File System)等のネットワーク越しのファイルアクセスで適用可能であり、SSH(Secure SHell)やSSL(Secure Socket Layer)やEthernet(登録商標) over TCP/IP等のVPN(Virtual Private Network)等、TCPを用いたあらゆる通信に適用可能である。 In addition, such data can be applied in a database language such as SQL (Structured Query Language), and can be applied in a file access over a network such as NFS (Network File System), such as SSH (Secure Shell) or SSL (Secure The present invention can be applied to any communication using TCP such as VPN (Virtual Private Network) such as Socket Layer) and Ethernet (registered trademark) over TCP / IP.
図1に示すように、本実施形態に係る受信端末30は、WAN(Wireless Area Network)における3G対応のインターフェースと、WLAN(Wireless Local Area Network)におけるIEEE802.11b対応のインターフェースと、WPAN(Wireless Personal Area Network)におけるBluetooth(登録商標)対応のインターフェース等といった複数の無線インターフェースを具備する(マルチホーム接続に対応可能な)ように構成されている。 As shown in FIG. 1, a receiving terminal 30 according to the present embodiment includes a 3G-compatible interface in a WAN (Wireless Area Network), an IEEE802.11b-compatible interface in a WLAN (Wireless Local Area Network), and a WPAN (Wireless Person). It is configured to have a plurality of wireless interfaces (compatible with multi-home connection) such as an interface compatible with Bluetooth (registered trademark) in Area Network.
そして、本実施形態に係る受信端末30は、複数のインターフェースによって確立される複数のパス#1乃至#3を同時に用いて、送信端末10から送信されるデータを受信するように構成されている。
The receiving terminal 30 according to the present embodiment is configured to receive data transmitted from the transmitting
一方、図1の例では、本実施形態に係る送信端末10は、有線インターフェースを具備するだけで、複数の無線インターフェースを具備していない。
On the other hand, in the example of FIG. 1, the
しかしながら、通常のTCPにおいて、パス(一般的なTCPコネクション)は、[(送信者のIPアドレス,ポート番号),(受信者のIPアドレス,ポート番号)]の4つのアドレスによって判別される。 However, in normal TCP, a path (a general TCP connection) is determined by four addresses: [(IP address of sender, port number), (IP address of recipient, port number)].
したがって、本実施形態に係る送信端末10も、複数のパス#1乃至#3を同時に用いて、受信端末30に対してデータ(を構成するセグメント)を送信する必要がある以上、上述のパス#1乃至#3を判別できる(マルチホーム接続に対応可能な)ように構成されている。
Therefore, the
図2に示すように、本実施形態に係る送信端末10は、アプリケーション機能部10aと、送信セグメント管理部11と、パス情報管理部12と、セグメント送信部13と、セグメント受信部14とを具備している。
As shown in FIG. 2, the
アプリケーション機能部10aは、送信セグメント管理部11に対して、アプリケーションで用いられるデータを送信するように指示するものである。
The
ここで、アプリケーション機能部10aは、データを送信するパスとして、複数のパスの組を明示的に指定することができるように構成されていてもよい。
Here, the
また、アプリケーション機能部10aは、データを送信するパスとして、代表パスを指定し、他のパスは、自動的に追加させるように構成されていてもよい。
Further, the
送信セグメント管理部11は、受信端末30に対して送信すべきデータを分割して生成したセグメントを記憶する送信バッファによって構成されている。
The transmission
また、送信セグメント管理部11は、パスごとに「TCP-CB:TCP Control Block」によって管理されているTCP制御情報に基づいて、生成されたセグメントと、当該セグメントの送信に用いられるパス(変数「path」)とを関連付けて記憶することによって、当該セグメントに対する送信予約を行うように構成されている。
In addition, the transmission
具体的には、送信セグメント管理部11は、図3に示すように、アプリケーション機能部10aから渡された受信端末30に送信すべきデータをPDU(Protocol DataUnit)単位に分割し、分割された各データに対して、通常のTCPヘッダを付与してセグメントを形成する。ここで、TCPヘッダは、通常のTCPで用いられるTCPヘッダであるものとする。
Specifically, as shown in FIG. 3, the transmission
また、送信セグメント管理部11は、形成された当該セグメントに対して、当該セグメントを管理するための特別のヘッダを付与して管理するように構成されている。
Moreover, the transmission
かかる特別のヘッダは、図3に示すように、「path」、「sack」、「p_seq」、「next」等といった変数や、「rsv」フラグ等といったフラグを含むように構成されている。 As shown in FIG. 3, the special header is configured to include variables such as “path”, “sack”, “p_seq”, “next”, and flags such as “rsv” flag.
ここで、変数「p_seq」は、パスごとに割り振られたセグメントのシーケンス番号を示す。 Here, the variable “p_seq” indicates the sequence number of the segment allocated for each path.
なお、TCPでは、シーケンス番号を、「バイトオーダー」で表現するのが一般的であるが、本明細書では、簡略化のため「シーケンスオーダー」で表現するものとする。 In TCP, the sequence number is generally expressed in “byte order”, but in this specification, it is expressed in “sequence order” for the sake of simplicity.
また、変数「path」は、当該セグメントの送信に用いられるパスの識別情報を示し、変数「sack」は、当該セグメントに対するACKの受信に用いられたパスの識別情報を示す。また、変数「next」は、当該セグメントの次に参照すべきセグメントを示す。 The variable “path” indicates identification information of a path used for transmission of the segment, and the variable “sack” indicates identification information of a path used for reception of an ACK for the segment. The variable “next” indicates a segment to be referred to next to the segment.
「rsv」フラグは、当該セグメントに対する送信予約が行われている状態を示すフラグである(かかる状態である場合「1」)。 The “rsv” flag is a flag indicating a state in which transmission reservation for the segment is performed (“1” in this state).
さらに、送信セグメント管理部11は、次に予約すべきデータ開始位置を示す「rsv_nxt」という変数を管理している。
Further, the transmission
また、送信セグメント管理部11は、タイムアウトを検出した場合、ACK(送達確認信号)を受信していない全てのセグメントに対する送信予約を取り消し、再度、TCP-CB(TCP制御情報)に基づいて、当該セグメントに対する送信予約を行うように構成されている。
If the transmission
また、送信セグメント管理部11は、SACKブロック(選択送達確認信号)を受信した最大のセグメント(「max_sack」)と、次にACK(送達確認信号)を受信すべきセグメント(「rcv_nxt」)との間に、ACK(送達確認信号)を受信していないセグメントが所定数(例えば、3つ)以上ある場合、SACKブロック(選択送達確認信号)を受信した最大のセグメントのシーケンス番号以下のシーケンス番号でACK(送達確認信号)を受信していないセグメント、及び、未送信のセグメントに対する送信予約を取り消し、再度、TCP-CB(TCP制御情報)に基づいて、当該セグメントに対する送信予約を行うように構成されている。
In addition, the transmission
パス情報管理部12は、複数のパス情報管理部#1乃至#3によって、複数のパス#1乃至#3の各々に係るTCP-CB(TCP制御情報)を管理するように構成されている。なお、各パスは、[(送信者のIPアドレス,ポート番号),(受信者のIPアドレス,ポート番号)]の4つのアドレスによって判別される。
The path
具体的には、各パス情報管理部#nは、図4に示すように、「rtt」、「t_timer」、「t_seq」、「cwnd」、「ssthresh」、「rcv_nxt」、「snd_nxt」、「rsv_num」、「snd_num」、「max_sack」等といった変数を含むTCP-CB(n)を管理するように構成されている。 Specifically, as illustrated in FIG. 4, each path information management unit #n performs “rtt”, “t_timer”, “t_seq”, “cwnd”, “ssthresh”, “rcv_nxt”, “snd_nxt”, “ It is configured to manage TCP-CB (n) including variables such as “rsv_num”, “snd_num”, and “max_sack”.
なお、かかるTCP-CB(n)には、さらに「t_state」や「t_flags」等といったTCPコネクションを維持するための様々な情報が確保されていてもよい。 In addition, various information for maintaining a TCP connection such as “t_state” and “t_flags” may be secured in the TCP-CB (n).
ここで、「rtt」は、計測されたラウンドトリップタイムであり、「t_timer」は、「rtt」を元に計算されたタイムアウト値であり、「t_seq」は、「rtt」の計測に用いられるセグメントのシーケンス番号であり、「cwnd」は、輻輳ウィンドウであり、「ssthresh」は、「Slow Start Threshold」であり、「rcv_nxt」は、次に受信を期待するセグメントのシーケンス番号であり、「snd_nxt」は、次に送信するセグメントのシーケンス番号であり、「rsv_num」は、予約済みのデータ量であり、「snd_num」は、送信済みのデータ量であり、「max_sack」は、当該パスで送信されたセグメントにおいて、ACK又はSACKオプションによって通知された最大のシーケンス番号である。 Here, “rtt” is a measured round trip time, “t_timer” is a timeout value calculated based on “rtt”, and “t_seq” is a segment used for measuring “rtt”. "Cwnd" is a congestion window, "ssthresh" is "Slow Start Threshold", "rcv_nxt" is the sequence number of the segment that is expected to be received next, and "snd_nxt" Is a sequence number of a segment to be transmitted next, “rsv_num” is a reserved data amount, “snd_num” is a transmitted data amount, and “max_sack” is transmitted through the path. Notify by ACK or SACK option in segment Is the largest sequence number assigned.
セグメント送信部13は、送信セグメント管理部11からセグメントを抽出して、当該セグメントに関連付けられているパスを介して当該セグメントを受信端末30に対して送信するように構成されている。
The
また、セグメント送信部13は、特定のセグメントのロストが検出された場合、当該セグメントについて再送信を行うように構成されている。
Moreover, the
セグメント受信部14は、セグメントに係るACK(送達確認信号)が、当該セグメントの送信に用いられたパスと同一のパスを介して受信された場合、全ての送信セグメント管理部11の中で、ACK(送達確認信号)を受信していないセグメントの最小のシーケンス番号より小さいシーケンス番号を有するセグメントを送信セグメント管理部11から削除するように構成されている。
When the ACK (acknowledgment confirmation signal) related to the segment is received via the same path as the path used for transmitting the segment, the segment receiving unit 14 A segment having a sequence number smaller than the minimum sequence number of a segment that has not received (delivery confirmation signal) is deleted from the transmission
図5に示すように、本実施形態に係る受信端末30は、アプリケーション機能部30aと、セグメント受信部31と、パス情報管理部32と、受信セグメント管理部33と、セグメント送信部34とを具備している。
As shown in FIG. 5, the receiving terminal 30 according to the present embodiment includes an application function unit 30a, a
セグメント受信部31は、送信端末10から複数のパス#1乃至#3を介してセグメントを受信し、受信したセグメントのそれぞれを[(送信者のIPアドレス,ポート番号),(受信者のIPアドレス,ポート番号)]の4つのアドレスに基づいて、特定のパス情報管理部#1乃至#3に送信するように構成されている。
The
パス情報管理部32は、複数のパス情報管理部#1乃至#3によって、複数のパス#1乃至#3の各々に係るTCP-CB(TCP制御情報)を管理するように構成されている。なお、各パスは、[(送信者のIPアドレス,ポート番号),(受信者のIPアドレス,ポート番号)]の4つのアドレスによって判別される。
The path information management unit 32 is configured to manage TCP-CB (TCP control information) related to each of the plurality of
具体的には、各パス情報管理部#nは、図6に示すように、「del_timer」、「del_ack」、「rcv_nxt」、「p_sack1」、「p_sack2」、「p_sack3」等といった変数を含むTCP-CB(n)を管理するように構成されている。 Specifically, each path information management unit #n includes a TCP including variables such as “del_timer”, “del_ack”, “rcv_nxt”, “p_sack1”, “p_sack2”, “p_sack3”, etc., as shown in FIG. -It is configured to manage CB (n).
なお、かかるTCP-CB(n)には、さらに、TCPコネクションを維持するための様々な情報が確保されていてもよい。 In addition, various information for maintaining the TCP connection may be secured in the TCP-CB (n).
ここで、「del_timer」は、ACKの送信を遅らせるためのタイマであり、「del_ack」は、「del_timer」満了時のACKに用いられるシーケンス番号であり、「rcv_nxt」は、次に受信を期待するセグメントのシーケンス番号であり、「p_sackn」は、n番目のブロックに記入するシーケンス番号である。 Here, “del_timer” is a timer for delaying transmission of ACK, “del_ack” is a sequence number used for ACK when “del_timer” expires, and “rcv_nxt” is expected to be received next. This is the sequence number of the segment, and “p_sackn” is the sequence number entered in the nth block.
受信セグメント管理部33は、受信したセグメントを、当該セグメントが送信されたパスごとに管理するように構成されている。 The reception segment management unit 33 is configured to manage the received segment for each path through which the segment is transmitted.
具体的には、受信セグメント管理部33は、図7に示すように、パス情報管理部12から送信された各セグメントに対して、当該セグメントを管理するための特別のヘッダを付与して管理するように構成されている受信バッファである。
Specifically, as shown in FIG. 7, the reception segment management unit 33 manages each segment transmitted from the path
かかる特別のヘッダは、図7に示すように、「path」等といった変数を含むように構成されている。 The special header is configured to include a variable such as “path” as shown in FIG.
ここで、変数「path」は、当該セグメントの送信に用いられるパスの識別情報を示す。 Here, the variable “path” indicates identification information of a path used for transmission of the segment.
さらに、受信セグメント管理部33は、最初に受信したセグメントが記憶されている開始位置を示す「rcv_buf_first」という変数を管理している。 Further, the reception segment management unit 33 manages a variable “rcv_buf_first” indicating the start position where the first received segment is stored.
なお、受信セグメント管理部33は、変数「rcv_buf_first」によって示されるセグメントから、アプリケーション機能部30aに送信するように構成されている。 The reception segment management unit 33 is configured to transmit from the segment indicated by the variable “rcv_buf_first” to the application function unit 30a.
セグメント送信部34は、パスごとに管理されているTCP-CB(TCP制御情報)に基づいて、各パスを介したセグメントの受信結果を通知するためのACK(送達確認信号)を送信するように構成されている。
Based on TCP-CB (TCP control information) managed for each path, the
なお、かかるACKには、後述するように、RFC2018で定義されているSACK(Selective Acknowledgement)オプションが付与されている。 Note that, as will be described later, a SACK (Selective Acknowledgment) option defined in RFC2018 is given to the ACK.
ここで、ACKに付与されたSACKオプションは、各パスを介して受信に成功したセグメントのシーケンス番号を通知するように構成されている。 Here, the SACK option given to ACK is configured to notify the sequence number of the segment successfully received via each path.
また、セグメント送信部34は、同一のパス内でシーケンス番号が連続する複数のセグメントが受信されている場合、当該複数のセグメントの受信結果についてまとめて通知する送達確認信号(C-ACK)を送信するように構成されていてもよい。
Further, when a plurality of segments having consecutive sequence numbers are received in the same path, the
(本発明の第1の実施形態に係る通信端末の動作)
以下、図8乃至図15を参照して、本発明の第1の実施形態に係る通信端末の動作について説明する。
(Operation of the communication terminal according to the first embodiment of the present invention)
The operation of the communication terminal according to the first embodiment of the present invention will be described below with reference to FIGS.
第1に、図8及び図9を参照して、本実施形態に係る送信端末10が、複数のパス#1乃至#3を同時に用いて、データを受信端末30に送信する動作について説明する。
First, with reference to FIG. 8 and FIG. 9, an operation in which the
図8に示すように、ステップS101において、送信端末10の送信セグメント管理部11は、アプリケーション機能部10aから渡されたデータをMTU単位に分割する。
As shown in FIG. 8, in step S101, the transmission
ステップS102において、送信セグメント管理部11は、MTU単位に分割されたそれぞれのデータにTCPヘッダを付与してセグメントを形成して、上述の特別のヘッダ(図3参照)を付与して管理する。
In step S102, the transmission
ここで、送信セグメント管理部11は、各変数及びフラグに、初期値として「0」を設定する。
Here, the transmission
ステップS103において、送信セグメント管理部11は、パス情報管理部12によって管理されている全てのパスに係るTCP-CB内の変数「rsv_num」を監視しており、変数「rsv_num」が、変数「max_burst」を下回っている場合、先頭のデータ(変数「rsv_nxt」によって示されるデータ)に対して送信予約を行う。
In step S103, the transmission
ここで、変数「max_burst」は、ACK受信時に一度に送信することのできる最大のセグメントのデータ量(セグメント数)を示す。なお、変数「max_burst」は、全てのパス(インターフェース)で共通の変数である。 Here, the variable “max_burst” indicates the maximum data amount (number of segments) that can be transmitted at a time when an ACK is received. The variable “max_burst” is a variable common to all paths (interfaces).
そして、送信セグメント管理部11は、送信セグメント管理部11の先頭データ(「変数「rsv_nxt」によって示されるデータ」から、「rsv」フラグが設定されていないセグメントに対して送信予約を行い、パス情報管理部12は、送信予約を行ったセグメントのデータ量を、当該セグメントの送信に用いるパスに対応するTCP-CBにおける変数「rsv_num」に追加する。
Then, the transmission
なお、予約されたセグメントは、変数「next」によって結ばれており、各セグメントに付与された特別なヘッダ内の変数「next」を辿ることによって、次に予約されているセグメントを辿ることができる。 The reserved segments are connected by the variable “next”, and the next reserved segment can be traced by following the variable “next” in the special header given to each segment. .
ここで、変数「rsv_num」に既に値が設定されていた場合は、送信セグメント管理部11は、「cwnd」−「rsv_num」に該当する分のセグメントに対してのみ送信予約を行う。
Here, when a value is already set in the variable “rsv_num”, the transmission
つまり、送信セグメント管理部11は、変数「rsv_num」=変数「cwnd」となるように、セグメントに対する送信予約を行うように構成されている。
That is, the transmission
ただし、ACK内の広告ウィンドウ値が、全てのパス情報管理部#nによって管理される変数「cwnd」の合計(Σcwnd)よりも小さい場合は、送信セグメント管理部11は、変数「rsv_num」が、「ACK内の広告ウィンドウ値×cwnd/Σcwnd」を超えないようにする。
However, when the advertisement window value in the ACK is smaller than the sum (Σcwnd) of the variables “cwnd” managed by all the path information management units #n, the transmission
送信セグメント管理部11は、かかる送信予約が完了した場合、上述の特別のヘッダにおける「rsv」フラグに「1」を設定し、送信予約を行ったパスの識別情報を上述のヘッダにおける変数「path」に設定する。
When the transmission reservation is completed, the transmission
ここで、パス情報管理部12は、変数「snd_nxt」に設定されている位置よりも前に位置するセグメントについて送信予約が行われた場合、変数「snd_nxt」に、送信予約を行ったセグメントの次のセグメントの開始位置を設定する。
Here, when the transmission reservation is made for the segment located before the position set in the variable “snd_nxt”, the path
パス情報管理部12は、変数「rcv_nxt」が変数「snd_nxt」を下回った場合、同様に、変数「rcv_nxt」に「snd_nxt」に設定されている値を設定する。
When the variable “rcv_nxt” falls below the variable “snd_nxt”, the path
ステップS104において、セグメント送信部13は、複数のパス#1乃至#3を同時に用いて、送信予約が行われているセグメントを、順次、受信端末30に送信する。
In step S <b> 104, the
なお、セグメント送信部13は、「cwnd」−「snd_num」>0の場合は、変数「snd_nxt」によって示されるセグメントから順に送信を行う。
If “cwnd” − “snd_num”> 0, the
ここで、変数「snd_num」は、該当パスにおいて送信済みでACKを受け取っていないセグメント数である。 Here, the variable “snd_num” is the number of segments that have been transmitted in the corresponding path and have not received ACK.
また、セグメント送信部13が、特定のパスを介してセグメントを送信した場合、パス情報管理部12は、当該特定のパスに係るTCP-CBにおける変数「rsv_num」から送信したセグメントのデータ量を減じて、当該特定のパスに係るTCP-CBにおける変数「snd_num」へ送信したセグメントのデータ量を追加する。
When the
セグメント送信部13が、セグメントを送信する毎に、パス情報管理部12は、変数「next」を辿り、次のセグメントの開始位置を、変数「snd_nxt」に設定する。
Each time the
なお、セグメント送信部13が、セグメントを送信する際に、変数「t_timer」が設定されていない場合には、パス情報管理部12は、変数「t_timer」に、変数「rtt」等から計算される新たタイムアウト値を設定し、変数「t_seq」に、送信されたセグメントのシーケンス番号(seq)を設定する。
When the
図9に、送信端末10が、パス#1を介してセグメント#4を送信した場合における上述の特別のヘッダ及びTCP-CBの一例を示す。
FIG. 9 shows an example of the above-described special header and TCP-CB when the
かかる場合、送信セグメント管理部11においてセグメント#4に付与されている特別のヘッダでは、変数「path」=1、変数「sack」=0、「rsv」フラグ=0、変数「next」=0と設定されている。
In this case, in the special header assigned to
また、パス#1に係るTCP-CB(1)では、変数「rcv_nxt」=1、変数「snd_nxt」=4、変数「rsv_num」=1、変数「snd_num」=1と設定されている。
In TCP-CB (1) related to
第2に、図10及び図11を参照して、本実施形態に係る送信端末10が、ACKを受信する動作について説明する。
Secondly, with reference to FIGS. 10 and 11, an operation in which the
図10に示すように、ステップS301において、送信端末10のセグメント受信部14は、受信端末30から送信されたACKを受信して、当該ACKを受信したパスの[(送信者のIPアドレス,ポート番号),(受信者のIPアドレス,ポート番号)]の4つのアドレスに基づいて、当該ACKを適切なパス情報管理部#nに転送する。
As shown in FIG. 10, in step S301, the
図11の例では、送信端末10のセグメント受信部14は、受信端末30から受信したACK(A)又は(B)を、当該ACK(A)又は(B)を受信したパス#1を管理するパス情報管理部#1に転送する。
In the example of FIG. 11, the
ここで、図11に示すACK(A)は、未だ受信していないセグメントのうち最もシーケンス番号が小さいセグメントは「セグメント#1」であることを通知するものである。
Here, ACK (A) shown in FIG. 11 notifies that the segment with the smallest sequence number among the segments that have not yet been received is “
また、図11に示すACK(B)は、未だ受信していないセグメントのうち最もシーケンス番号が小さいセグメントは「セグメント#2」であることを通知し、また、SACKオプションによって、セグメント#7の受信に成功したことを通知するものである。
In addition, the ACK (B) shown in FIG. 11 notifies that the segment with the smallest sequence number among the segments that have not been received is “
なお、ACKは、1つのSACKオプションによって、複数のセグメントの受信に成功したことを通知するように構成されていてもよい。 Note that the ACK may be configured to notify successful reception of a plurality of segments by one SACK option.
ステップS302において,パス情報管理部#nは、受信したACK及びSACKオプションによって受信側への到着が報告されたセグメントについては、特別のヘッダにおける変数「sack」に、当該パス情報管理部#nによって管理されているパスの識別情報を設定するように、送信セグメント管理部11に指示する。
In step S302, the path information management unit #n sets the variable “sack” in the special header for the segment whose arrival to the receiving side is reported by the received ACK and SACK option by the path information management unit #n. The transmission
なお、変数「sack」に設定されているパスの識別情報と変数「path」に設定されているパスの識別情報とが一致した場合、他のACKを受信した際に、変数「sack」を上書きしない。 If the path identification information set in the variable “sack” matches the path identification information set in the variable “path”, the variable “sack” is overwritten when another ACK is received. do not do.
図11の例では、パス情報管理部#1は、ACK(A)によって受信が成功したことを通知されたセグメント#1に付与されている特別のヘッダにおける変数「sack」に、パス#1の識別情報を設定するように、送信セグメント管理部11に指示する。
In the example of FIG. 11, the path information
また、図11の例では、パス情報管理部#1は、ACK(B)のSACKオプションによって受信が成功したことを通知されたセグメント#7に付与されている特別のヘッダにおける変数「sack」に、パス#1の識別情報を設定するように、送信セグメント管理部11に指示する。
In the example of FIG. 11, the path information
ステップS303において、パス情報管理部#nは、当該TCP-CB(n)における変数「rcv_nxt」と、ACK又はSACKオプションによって通知されているセグメントのシーケンス番号(seq)とを比較する。 In step S303, the path information management unit #n compares the variable “rcv_nxt” in the TCP-CB (n) with the sequence number (seq) of the segment notified by the ACK or SACK option.
変数「rcv_nxt」が、当該seq(ACK)よりも小さい場合、或いは、 SACKブロックによって、変数「rcv_nxt」に該当するセグメントの受信が通知されなかった場合、本動作はステップS304に進む。それ以外の場合は、本動作はステップS305に進む。 When the variable “rcv_nxt” is smaller than the seq (ACK), or when the reception of the segment corresponding to the variable “rcv_nxt” is not notified by the SACK block, the operation proceeds to step S304. In other cases, the operation proceeds to step S305.
図11の例では、TCP-CB(n)における変数「rcv_nxt」には、「セグメント#1のシーケンス番号」が設定されているので、パス情報管理部#1が、ACK(A)を受信した場合、本動作はステップS305に進む。
In the example of FIG. 11, since the “sequence number of
ステップS305において、パス情報管理部#nは、当該TCP-CB(n)における変数「rcv_nxt」によって指定されるセグメントに係る特別のヘッダ内の変数「sack」が変数「path」と一致するか否かの判断を行う。 In step S305, the path information management unit #n determines whether or not the variable “sack” in the special header related to the segment specified by the variable “rcv_nxt” in the TCP-CB (n) matches the variable “path”. Judgment is made.
ステップS305において、当該TCP-CB(n)における変数「rcv_nxt」によって指定されるセグメントに係る特別のヘッダ内の変数「sack」が変数「path」と一致する場合、ステップS306において、変数「rcv_nxt」に設定するセグメントを、当該TCP-CB(n)における変数「next」に従って次に移動する。 In step S305, when the variable “sack” in the special header relating to the segment specified by the variable “rcv_nxt” in the TCP-CB (n) matches the variable “path”, in step S306, the variable “rcv_nxt”. Next, the segment to be set is moved according to the variable “next” in the TCP-CB (n).
図11の場合、ACK(A)の受信によって、変数「rcv_nxt」には、セグメント#4が設定される(セグメント#1に付与された特別のヘッダ内の変数「next」は、パス#1で次に送信されるセグメントを指すため)。この処理は、変数「sack」が、変数「path」に一致しないセグメントが見つけられるまで続けられる。
In the case of FIG. 11, the segment “# 4” is set in the variable “rcv_nxt” by receiving the ACK (A) (the variable “next” in the special header given to the
一方、ステップS305で、変数「sack」が、変数「path」に一致しないセグメントが見つかった場合、ステップS307において、変数「rcv_nxt」が更新されたか否かの判断を行う。 On the other hand, if a segment in which the variable “sack” does not match the variable “path” is found in step S305, it is determined whether or not the variable “rcv_nxt” has been updated in step S307.
変数「rcv_nxt」が更新されていた場合、ステップS308において、変数「t_timer」をキャンセルし、ステップS309において、全てのパス情報管理部において、最小の変数「rcv_nxt」までのセグメントを送信セグメント管理部11から削除する。 If the variable “rcv_nxt” has been updated, the variable “t_timer” is canceled in step S308. In step S309, the segment up to the minimum variable “rcv_nxt” is transmitted to all the path information management units. Delete from.
ステップS308は、ステップS307の次に、ステップS308aで、変数「rcv_nxt」に相当するセグメントの変数「p_seq」がパス情報管理部12が管理する変数「t_seq」に相当するセグメントの変数「p_seq」を上回っていた場合キャンセルされる。
In step S308, after step S307, in step S308a, the segment variable “p_seq” corresponding to the variable “rcv_nxt” is changed to the segment variable “p_seq” corresponding to the variable “t_seq” managed by the path
一方、ステップS309は、ステップS308の有無に関わらず、ステップS308の後に必ず実行される。 On the other hand, step S309 is always executed after step S308 regardless of the presence or absence of step S308.
一方、ACK(B)を受信した場合、図11の例では、TCP−CB(n)における変数「rcv_nxt」は、セグメント#4(ACK(A)の受信によって、変数「rcv_nxt」は更新されている。SACKオプションの1stブロックは、セグメント#7を通知しているが、変数「rcv_nxt」に設定されているセグメント#4を含んでいないため、本動作はステップS304へ移動する。)であり、ACK又はSACKオプションによって受信側への到着が報告されていないため、本動作はステップS304へ移動する。
On the other hand, when ACK (B) is received, the variable “rcv_nxt” in TCP-CB (n) is updated in segment # 4 (variable “rcv_nxt” is updated by receiving ACK (A) in the example of FIG. 11. The 1st block of the SACK option notifies the
ステップS304では、当該パスで送信したセグメントについて、変数「sack」に設定されているパスの識別情報と変数「path」に設定されているパスの識別情報とが一致するセグメントの最大のシーケンス番号を、当該TCP-CB(n)における変数「max_sack」に設定する。 In step S304, the maximum sequence number of the segment in which the path identification information set in the variable “sack” matches the path identification information set in the variable “path” for the segment transmitted in the path. , The variable “max_sack” in the TCP-CB (n) is set.
図11の例では、ACK(B)を受け取った場合、当該TCP-CB(n)における変数「max_sack」には、セグメント#7が設定される。
In the example of FIG. 11, when ACK (B) is received,
次に、ステップS310において、変数「max_sack」と変数「rcv_nxt」との間に、変数「sack」が設定されていないセグメントが、いくつあるか数える。かかる計算は、変数「rcv_nxt」と変数「max_sack」と変数「p_seq」を参照することで容易に行うことができる。 Next, in step S310, the number of segments in which the variable “sack” is not set is counted between the variable “max_sack” and the variable “rcv_nxt”. Such calculation can be easily performed by referring to the variable “rcv_nxt”, the variable “max_sack”, and the variable “p_seq”.
かかるセグメントが3つ以上あった場合は、ステップS311において、変数「max_sack」以下で、当該パスから送信したセグメントのうち、変数「sack」が設定されていないセグメント、及び、変数「snd_nxt」以上で、当該パスに予約されているセグメントの「rsv」フラグを消去して、再送モードへ移行する(変数「snd_nxt」以上で予約済みのセグメントとは、送信予約が行われているが未だ送信されていないセグメントのことである。)
図11の例の場合、セグメント#4、#5、#6のセグメントの「rsv」フラグが消去される。
If there are three or more such segments, in step S311, the segment transmitted from the path below the variable “max_sack” and the variable “sack” is not set, and the variable “snd_nxt” or more. Deletes the “rsv” flag of the segment reserved for the path, and shifts to the retransmission mode (the segment reserved for the variable “snd_nxt” or more is reserved for transmission but not yet transmitted) (There are no segments.)
In the case of the example of FIG. 11, the “rsv” flags of the
同時に、ステップS312において、当該初期化結果に基づいて、TCP-CB(n)において、変数「rsv_num」、変数「snd_num」、変数「snd_nxt」を更新する。 At the same time, in step S312, based on the initialization result, the variable “rsv_num”, variable “snd_num”, and variable “snd_nxt” are updated in TCP-CB (n).
なお、ACK受信によってではなく、変数「t_timer」の満了によっても再送モードに移行する。この場合の動作は、ステップS311から始まる。但し、ステップS311では、変数「max_sack」以下であったところが、変数「t_timer」の満了は、変数「snd_nxt」以下となる。 Note that the mode changes to the retransmission mode not only by ACK reception but also by expiration of the variable “t_timer”. The operation in this case starts from step S311. However, in step S311, the variable “t_timer” expires below the variable “snd_nxt”, although the variable “max_sack” is equal to or less than the variable “max_sack”.
第3に、図11及び図12を参照して、本実施形態に係る送信端末10の「再送モード」における動作について説明する。
Thirdly, with reference to FIG. 11 and FIG. 12, an operation in the “retransmission mode” of the
図12に示すように、ステップS401において、送信端末10において、「再送モード」が起動される。この際、パス情報管理部#nは、TCP-CB(n)において、変数「cwnd」の半分の値を、変数「ssthresh」に設定するとともに、変数「cwnd」に「1」を設定する。
As shown in FIG. 12, in step S <b> 401, the “retransmission mode” is activated in the
なお、パス情報管理部#nは、無線種別を考慮して、当該変数「cwnd」及び当該変数「ssthresh」を設定するように構成されていてもよい。 The path information management unit #n may be configured to set the variable “cwnd” and the variable “ssthresh” in consideration of the wireless type.
ステップS403において、送信セグメント管理部11は、各パス情報管理部#nによって管理されているTCP-CB(TCP制御情報)に基づいて、再度、当該セグメントに対する送信予約を行う。
In step S403, the transmission
ここで、複数のパスを利用している場合は、変数「path」に示されているパスの識別情報と異なるパスで送信予約を行う(変数「path」で示されているパスによってセグメントがロストしているので、再度そのパスを利用すると、再度ロストする可能性が高いので、セグメントの再送時には新たなパスを利用する)。 Here, when a plurality of paths are used, transmission reservation is performed using a path different from the path identification information indicated by the variable “path” (the segment is lost by the path indicated by the variable “path”). Therefore, if the path is used again, there is a high possibility that it will be lost again. Therefore, a new path is used when the segment is retransmitted).
ここで、送信セグメント管理部11は、送信予約を行ったセグメントに付与されている特別のヘッダにおいて、変数「path」及び「rsv」フラグを設定し、パス情報管理部#n、TCP-CB(n)における変数「rsv_num」を更新する。
Here, the transmission
ステップS404において、セグメント送信部13は、上述のステップS104の動作と同様に、複数のパス#1乃至#3を同時に用いて、送信予約が行われているセグメントを、順次、受信端末30に送信する。
In step S404, the
ここで、セグメント送信部13が、特定のパスを介してセグメントを送信した場合、送信セグメント管理部11は、当該セグメントに係る特別のヘッダにおける「snd」フラグに「1」を設定し、パス情報管理部12は、当該特定のパスに係るTCP-CBにおける変数「rsv_num」から送信したセグメントのデータ量を減じて、当該特定のパスに係るTCP-CBにおける変数「snd_num」へ送信したセグメントのデータ量を追加する。
Here, when the
セグメント送信部13が、セグメントを送信する毎に、パス情報管理部12は、当該セグメントより後ろに位置するセグメントの中から選択された「rsv」フラグに「1」が設定されている特別のヘッダを有するセグメントの開始位置を、変数「snd_nxt」に設定する。
Each time the
なお、セグメント送信部13が、セグメントを送信する際に、変数「t_timer」が設定されていない場合には、パス情報管理部12は、変数「t_timer」に、変数「rtt」等から計算される新たタイムアウト値を設定し、変数「t_seq」に、送信されたセグメントのシーケンス番号(seq)を設定する。
When the
第4に、図13乃至図15を参照して、本実施形態に係る受信端末30が、送信端末10によって送信されたセグメントを受信する動作について説明する。
Fourthly, with reference to FIG. 13 to FIG. 15, an operation in which the receiving terminal 30 according to this embodiment receives a segment transmitted by the transmitting
図13に示すように、ステップS501において、受信端末30のセグメント受信部31は、受信したセグメントを、当該セグメントを受信したパスの[(送信者のIPアドレス,ポート番号),(受信者のIPアドレス,ポート番号)]の4つのアドレスに基づいて、適切なパス情報管理部#nに転送する。
As shown in FIG. 13, in step S501, the
ここで、受信セグメント管理部33は、パス情報管理部#nから転送されたセグメントに特別のヘッダを付与して管理する。なお、受信セグメント管理部33は、受信したセグメントのシーケンス番号順に、当該セグメントを管理するように構成されていてもよい。 Here, the reception segment management unit 33 manages the segment transferred from the path information management unit #n by adding a special header. Note that the reception segment management unit 33 may be configured to manage the segments in the order of the sequence numbers of the received segments.
ここで、受信セグメント管理部33は、当該セグメントに付与された特別のヘッダにおいて、当該パスで、当該セグメントの一つ前に受信されたセグメントの特別のヘッダの変数「next」に当該セグメントを設定する。 Here, the reception segment management unit 33 sets the segment in the variable “next” of the special header of the segment received immediately before the segment in the path in the special header given to the segment. To do.
セグメント送信部34は、ステップS502において、受信セグメント管理部33によって受信されたセグメントに対するACKを生成し、ステップS503において、かかるACKに付与するために、SACKオプションを生成する。
In step S502, the
ここで、SACKオプションにおける1stブロックは、今回受信したセグメントを含むブロックを示し、SACKオプションにおける2ndブロックは、今回受信したセグメントと同一のパスを介して前回受信したセグメントを示し、SACKオプションにおける3rdブロックは、今回受信したセグメントと同一のパスを介して前々回受信したセグメントを示す。 Here, the 1st block in the SACK option indicates a block including a segment received this time, the 2nd block in the SACK option indicates a segment received last time through the same path as the segment received this time, and the 3rd block in the SACK option Indicates a segment received two times in advance through the same path as the segment received this time.
図14の例では、パス#1を介してセグメント#10が受信された場合に生成されるACK(A)に付与されるSACKオプションでは、1stブロックに「セグメント#10の識別情報」が設定され、2ndブロックに「セグメント#8の識別情報」が設定され、3rdブロックに「セグメント#3、#4の識別情報(3-4)」が設定される。
In the example of FIG. 14, in the SACK option given to ACK (A) generated when
なお、かかる場合、従来のSACKオプションでは、3rdブロックに「セグメント#6の識別情報」が設定される。
In this case, in the conventional SACK option, “identification information of
また、図14の例では、パス#nを介してセグメント#11が受信された場合に生成されるACK(B)に付与されるSACKオプションでは、1stブロックに「セグメント#10、#11の識別情報(10-11)」が設定され、2ndブロックに「セグメント#6の識別情報」が設定され、3rdブロックに「セグメント#3、#4の識別情報(3-4)」が設定される。
In the example of FIG. 14, in the SACK option given to the ACK (B) generated when the
なお、かかる場合、従来のSACKオプションでは、2ndブロックに「セグメント#8の識別情報」が設定され、3rdブロックに「セグメント#6の識別情報」が設定される。
In this case, in the conventional SACK option, “identification information of
ステップS504において、パス情報管理部#nは、変数「rcv_nxt」を参照することで、同じパスを介したセグメントの受信が連続しているか否かについて判定する。 In step S504, the path information management unit #n refers to the variable “rcv_nxt” to determine whether or not the segment reception via the same path is continuous.
連続している場合、本動作はステップS505に進み、連続していない場合、本動作はステップS506に進む。 If the operation is continuous, the operation proceeds to step S505. If the operation is not continuous, the operation proceeds to step S506.
ステップS505において、パス情報管理部#nは、TCP-CB(n)において、変数「rcv_nxt」に、受信した当該セグメントの次のセグメントの識別情報を設定し、変数「del_ack」に、ステップS502で生成したACKによって通知されるセグメント(未だ受信していないセグメントのうち最もシーケンス番号が小さいセグメント)の識別情報を設定し、変数「p_sack1〜3」に、ステップS503で生成したSACKオプションの各ブロックによって通知されるセグメントの識別情報を設定する。
In step S505, the path information management unit #n sets the identification information of the next segment of the received segment to the variable “rcv_nxt” in TCP-CB (n), and sets the variable “del_ack” in step S502. The identification information of the segment notified by the generated ACK (the segment with the smallest sequence number among the segments not yet received) is set, and the variable “
また、パス情報管理部#nは、TCP-CB(n)において、変数「del_timer」を起動する。 Further, the path information management unit #n activates the variable “del_timer” in TCP-CB (n).
変数「del_timer」が満了する間に、新たなセグメントを受信しなかった場合、変数「del_ack」の値が返される(新たなセグメントを受信した場合、変数「del_timer」は、キャンセルされる)。 If a new segment is not received while the variable “del_timer” expires, the value of the variable “del_ack” is returned (if a new segment is received, the variable “del_timer” is canceled).
ステップS505に入る前に、ステップS505aで、ACKが記憶されているか否かを判断し、記憶されている場合は、ステップS506に移動し、記憶されていない場合は、ステップS505に移動する。 Before entering step S505, it is determined whether or not ACK is stored in step S505a. If stored, the process proceeds to step S506, and if not stored, the process proceeds to step S505.
ステップS506において、セグメント送信部34は、TCP-CB(n)における変数「p_sack1〜3」に基づいて、ACKを生成して送信する。かかる場合、パス情報管理部#nは、必要に応じて、TCP-CB(n)における変数「rcv_nxt」を更新する。
In step S506, the
図15の例では、セグメント送信部34は、セグメント#6、#7について、同一のパス#2を介して連続して受信しているので、セグメント#6、#7の受信成功について、2つのACKによって通知するのではなく、1つのACKによって通知するように構成されている。
In the example of FIG. 15, the
(本発明の第1の実施形態に係る通信端末の作用・効果)
本実施形態に係る通信端末によれば、セグメントの送信が、通常のTCPヘッダのみを用いて行われるように構成されているため、本発明に係る技術を適用していない受信端末30がとの間であっても通信を行うことができる。
(Operations and effects of the communication terminal according to the first embodiment of the present invention)
According to the communication terminal according to the present embodiment, since the segment is transmitted using only a normal TCP header, the receiving terminal 30 to which the technology according to the present invention is not applied Communication can be performed even between the two.
本実施形態に係る通信端末によれば、複数のパスを介してACKを送信するように構成されているため、RTTを正確に計測することができ、各パスに対して通常のTCP制御と同等の制御を行うことができる。 The communication terminal according to the present embodiment is configured to transmit ACK through a plurality of paths, so that RTT can be accurately measured and is equivalent to normal TCP control for each path. Can be controlled.
本実施形態に係る通信端末によれば、複数のACK(送達確認信号)をまとめて送信することができるので(例えば、C-ACKをサポートすることができるので)、送信するACKの数を削減することができる。 According to the communication terminal according to the present embodiment, since a plurality of ACKs (acknowledgment confirmation signals) can be transmitted together (for example, C-ACK can be supported), the number of ACKs to be transmitted is reduced. can do.
(変更例1)
図16及び図17を参照して、本発明の変更例1について説明する。
(Modification 1)
With reference to FIG.16 and FIG.17, the example 1 of a change of this invention is demonstrated.
図16に示すように、変更例1に係る送信端末Aのセグメント受信部13は、近隣通信端末B乃至Eとの間でアドホックネットワークを形成し、当該アドホックネットワーク内のパス#1乃至#3を介してセグメントを送信するように構成されている。
As shown in FIG. 16, the
なお、送信端末Aは、論文「A hybrid Approach to Internet Connectivity for Mobile Ad Hoc Networks(P.Ratanchandani and R.Kravets著、Proceedings of IEEE WCNC、2003年)」や、論文「Internet Connectivity for Ad Hoc Networks(Y.Sun、E.Belding-Royer、C.Perkins著、International Journal of Wireless Information Networks、special issue on Mobile Ad Hoc Networks(MANETs):Standards、Research、Applications、9(2)、2002年4月)」等に記載された技術を用いて、固定ネットワークとのゲートウェイとなる端末C乃至Eについて予め知っておく必要がある。 Note that the transmitting terminal A is a paper “A hybrid Approach to Internet Connectivity for Mobile Ad Hoc Networks” (P. Ratchandani and R. Cratons, Proceedings of IEc W, and Proceedings of IEt. Y. Sun, E. Belding-Royer, C. Perkins, International Journal of Wireless Information Networks, special issue on Mobile Ad Hoc Networks, MANETs: MANETs. ch, Applications, 9 (2), using the techniques described in April 2002) "and the like, it is necessary to know in advance for the gateway and comprising terminals C to E of the fixed network.
図17に示すように、送信端末Aが、パス#1を介して、宛先アドレスとして「送信端末Fのアドレス」を設定し、送信元アドレスとして「受信端末Aのアドレス」を設定した第1のヘッダを含む第1のパケットを用いて、受信端末F宛てのセグメントを送信する場合を想定する。
As shown in FIG. 17, the transmission terminal A sets the “address of the transmission terminal F” as the destination address and the “address of the reception terminal A” as the transmission source address via the
第1に、送信端末Aは、宛先アドレスとして「送信端末Eのアドレス」を設定し、送信元アドレスとして「受信端末Aのアドレス」を設定した第2のヘッダによって第1のパケットをカプセル化した第2のパケットを、端末Eに対して送信する。 First, the transmitting terminal A encapsulates the first packet by the second header in which “the address of the transmitting terminal E” is set as the destination address and “the address of the receiving terminal A” is set as the source address. The second packet is transmitted to terminal E.
第2に、端末Eは、受信した第2のパケットに内包された第1のパケットを、宛先アドレスとして「送信端末Fのアドレス」を設定し、送信元アドレスとして「受信端末Eのアドレス」を設定した第3のヘッダによって再度カプセル化した第3のパケットを、受信端末Fに対して送信する。 Second, the terminal E sets the “address of the transmission terminal F” as the destination address and the “address of the reception terminal E” as the transmission source address of the first packet included in the received second packet. The third packet encapsulated again by the set third header is transmitted to the receiving terminal F.
第3に、受信端末Fは、第3のパケットのヘッダに基づいて、当該セグメントが送信されたパスを判別する。図17の例では、受信端末Fは、第1のヘッダ及び第3のヘッダを参照することで、パスF→E→Aを判別することができる。 Thirdly, the receiving terminal F determines the path through which the segment is transmitted based on the header of the third packet. In the example of FIG. 17, the receiving terminal F can determine the path F → E → A by referring to the first header and the third header.
なお、変更例1に係る受信端末Fのセグメント送信部34も、変更例1に係る送信端末Aのセグメント送信部13と同様に、近隣通信端末との間でアドホックネットワークを形成し、該アドホックネットワーク内の前記パスを介して前記セグメントを受信するように構成されていてもよい。
Similarly to the
本実施形態に係る通信端末によれば、近隣通信端末との間で形成されたアドホックネットワーク内のパスを利用することによって、複数のインターフェースを持たない通信端末においても、送信端末と受信端末との間に存在する複数のパスを同時に利用して通信を行うこと(すなわち、マルチホーム接続)を実現することができる。 According to the communication terminal according to the present embodiment, by using a path in the ad hoc network formed between neighboring communication terminals, even in a communication terminal having no plurality of interfaces, the transmission terminal and the reception terminal It is possible to realize communication (that is, multihome connection) by simultaneously using a plurality of paths existing in between.
また、受信端末が、上述のような変更例1に対応する機能を具備していない場合であっても、RFC3775に規定されている「Mobile IP」機能を備えている場合、送信端末が、パケットを用いてセグメントを送信する際に、当該パケットを送信したインターフェースに該当するアドレスに対するBU(Binding Update)を付加することで、ACKが返ってくるインターフェースを操作し、さらに、SACKオプションの1stブロックを参照することにより、セグメント受信部14が、適切なパス情報管理部#nに、受信したACKを送信することが可能となり、受信端末が上述のような変更例1に対応する機能を具備した場合と同様のメリットを享受することが可能となる。
Even if the receiving terminal does not have the function corresponding to the first modification example as described above, if the receiving terminal has the “Mobile IP” function defined in RFC3775, the transmitting terminal When a segment is transmitted using, a BU (Binding Update) for the address corresponding to the interface that transmitted the packet is added to operate the interface that returns ACK, and the 1st block of the SACK option is By referring, it becomes possible for the
10…送信端末
10a、30a…アプリケーション機能部
11…送信セグメント管理部
12、32…パス情報管理部
13、34…セグメント送信部
14、31…セグメント受信部
30…受信端末
33…受信セグメント管理部
DESCRIPTION OF
Claims (11)
前記複数のパスの各々に係るTCP制御情報を管理するように構成されているパス情報管理部と、
受信端末に対して送信すべきデータを分割して生成したセグメントを記憶するように構成されている送信セグメント管理部と、
前記送信セグメント管理部から前記セグメントを抽出して前記受信端末に対して送信するように構成されているセグメント送信部とを具備し、
前記送信セグメント管理部は、前記TCP制御情報に基づいて、前記セグメントと該セグメントの送信に用いられるパスとを関連付けて記憶することによって、該セグメントに対する送信予約を行うように構成されており、
前記セグメント送信部は、前記送信セグメント管理部から前記セグメントのみを抽出して、該セグメントに関連付けられているパスを介して該セグメントを前記受信端末に送信するように構成されていることを特徴とする通信端末。 A communication terminal capable of simultaneously transmitting data to a receiving terminal using a plurality of paths,
A path information management unit configured to manage TCP control information related to each of the plurality of paths;
A transmission segment manager configured to store a segment generated by dividing data to be transmitted to a receiving terminal;
A segment transmission unit configured to extract the segment from the transmission segment management unit and transmit the segment to the reception terminal;
The transmission segment management unit is configured to make a transmission reservation for the segment by associating and storing the segment and a path used for transmission of the segment based on the TCP control information,
The segment transmission unit is configured to extract only the segment from the transmission segment management unit and transmit the segment to the receiving terminal via a path associated with the segment. Communication terminal.
前記複数のパスの各々に係るTCP制御情報を管理するように構成されているパス情報管理部と、
前記複数のパスを介して、前記データを分割して生成されたセグメントを受信するように構成されているセグメント受信部と、
受信した前記セグメントを、該セグメントが送信されたパスごとに記憶するように構成されている受信セグメント管理部と、
前記TCP制御情報に基づいて、各パスを介したセグメントの受信結果を通知するための送達確認信号を送信するように構成されているセグメント送信部とを具備することを特徴とする通信端末。 A communication terminal capable of receiving data from a transmission terminal using a plurality of paths simultaneously,
A path information management unit configured to manage TCP control information related to each of the plurality of paths;
A segment receiver configured to receive a segment generated by dividing the data via the plurality of paths;
A received segment management unit configured to store the received segment for each path through which the segment is transmitted;
A communication terminal, comprising: a segment transmission unit configured to transmit a delivery confirmation signal for notifying a reception result of a segment through each path based on the TCP control information.
前記送信端末が、前記複数のパスごとに管理されているTCP制御情報に基づいて、前記受信端末に対して送信すべきデータを分割して生成したセグメントと、該セグメントの送信に用いられるパスとを関連付けて送信セグメント管理部に記憶することによって、該セグメントに対する送信予約を行う工程と、
前記送信端末が、前記送信セグメント管理部から前記セグメントのみを抽出して、該セグメントに関連付けられているパスを介して該セグメントを前記受信端末に送信する工程と、
前記受信端末が、受信した前記セグメントを、該セグメントが送信されたパスごとに管理すると共に、前記複数のパスごとに管理されているTCP制御情報に基づいて、各パスを介したセグメントの受信結果を通知するための送達確認信号を送信する工程と、
前記送信端末が、前記セグメントに係る送達確認信号が、該セグメントの送信に用いられたパスと同一のパスを介して受信された場合、該セグメント及び該セグメントに関連付けられているパスを前記送信セグメント管理部から削除する工程とを有することを特徴とする通信方法。 A communication method in which a transmitting terminal transmits data to a receiving terminal using a plurality of paths simultaneously,
A segment generated by dividing the data to be transmitted to the receiving terminal based on TCP control information managed for each of the plurality of paths by the transmitting terminal, and a path used for transmitting the segment Storing transmission data in the transmission segment management unit in association with each other,
The transmitting terminal extracts only the segment from the transmission segment management unit, and transmits the segment to the receiving terminal via a path associated with the segment;
The receiving terminal manages the received segment for each path through which the segment is transmitted, and the segment reception result via each path based on the TCP control information managed for each of the plurality of paths. Sending a delivery confirmation signal to notify
When the transmission confirmation signal related to the segment is received through the same path as that used for transmission of the segment, the transmission terminal sets the transmission segment to the segment and the path associated with the segment. And a step of deleting from the management unit.
前記送信端末は、生成した前記セグメントを、前記アドホックネットワーク内の前記パスを介して前記受信端末に対して送信し、
前記受信端末は、前記アドホックネットワーク内の前記パスを介して前記セグメントを受信することを特徴とする請求項10に記載の通信方法。
The transmitting terminal and the receiving terminal form an ad hoc network with neighboring communication terminals,
The transmitting terminal transmits the generated segment to the receiving terminal via the path in the ad hoc network;
The communication method according to claim 10, wherein the receiving terminal receives the segment via the path in the ad hoc network.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006178755A JP2007043678A (en) | 2005-06-29 | 2006-06-28 | Communication terminal and communication method |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005190613 | 2005-06-29 | ||
JP2006178755A JP2007043678A (en) | 2005-06-29 | 2006-06-28 | Communication terminal and communication method |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2007043678A true JP2007043678A (en) | 2007-02-15 |
Family
ID=37801195
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006178755A Pending JP2007043678A (en) | 2005-06-29 | 2006-06-28 | Communication terminal and communication method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2007043678A (en) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013515400A (en) * | 2009-12-18 | 2013-05-02 | クゥアルコム・インコーポレイテッド | Combine / aggregate multiple interfaces at the application layer |
JP2013526168A (en) * | 2010-04-21 | 2013-06-20 | トムソン ライセンシング | Method for evaluating available route bit rate based on receipt confirmation route selection |
JP2014192811A (en) * | 2013-03-28 | 2014-10-06 | Fujitsu Ltd | Relay device and communication method |
JP2014530564A (en) * | 2011-09-22 | 2014-11-17 | クゥアルコム・インコーポレイテッドQualcomm Incorporated | Dynamic subflow control for multipath transport connections in wireless communication networks |
US8964757B2 (en) | 2009-12-18 | 2015-02-24 | Qualcomm Incorporated | HTTP optimization, multi-homing, mobility and priority |
US9071457B2 (en) | 2011-01-18 | 2015-06-30 | Fujitsu Limited | Provider network and provider edge apparatus |
US9451415B2 (en) | 2011-06-17 | 2016-09-20 | Qualcomm Incorporated | Cooperative data transport |
US9455897B2 (en) | 2010-04-06 | 2016-09-27 | Qualcomm Incorporated | Cooperative bandwidth aggregation using multipath transport |
CN112689011A (en) * | 2020-12-24 | 2021-04-20 | 北京浪潮数据技术有限公司 | Service transmission method, device, equipment and medium based on NFS protocol |
-
2006
- 2006-06-28 JP JP2006178755A patent/JP2007043678A/en active Pending
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013515400A (en) * | 2009-12-18 | 2013-05-02 | クゥアルコム・インコーポレイテッド | Combine / aggregate multiple interfaces at the application layer |
US8964757B2 (en) | 2009-12-18 | 2015-02-24 | Qualcomm Incorporated | HTTP optimization, multi-homing, mobility and priority |
US9455897B2 (en) | 2010-04-06 | 2016-09-27 | Qualcomm Incorporated | Cooperative bandwidth aggregation using multipath transport |
JP2013526168A (en) * | 2010-04-21 | 2013-06-20 | トムソン ライセンシング | Method for evaluating available route bit rate based on receipt confirmation route selection |
US9762472B2 (en) | 2010-04-21 | 2017-09-12 | Thomson Licensing | Method for evaluating an available path bitrate based on an acknowledgement path selection |
US9071457B2 (en) | 2011-01-18 | 2015-06-30 | Fujitsu Limited | Provider network and provider edge apparatus |
US9451415B2 (en) | 2011-06-17 | 2016-09-20 | Qualcomm Incorporated | Cooperative data transport |
JP2014530564A (en) * | 2011-09-22 | 2014-11-17 | クゥアルコム・インコーポレイテッドQualcomm Incorporated | Dynamic subflow control for multipath transport connections in wireless communication networks |
US9264353B2 (en) | 2011-09-22 | 2016-02-16 | Qualcomm Incorporated | Dynamic subflow control for a multipath transport connection in a wireless communication network |
JP2014192811A (en) * | 2013-03-28 | 2014-10-06 | Fujitsu Ltd | Relay device and communication method |
CN112689011A (en) * | 2020-12-24 | 2021-04-20 | 北京浪潮数据技术有限公司 | Service transmission method, device, equipment and medium based on NFS protocol |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100784419B1 (en) | Communication terminal device and communication method | |
JP2007043678A (en) | Communication terminal and communication method | |
US10237153B2 (en) | Packet retransmission method and apparatus | |
US8260935B2 (en) | Error control terminal discovery and updating | |
US9231829B2 (en) | Communication device | |
JP2016517198A (en) | Improved acknowledgment and retransmission mechanism | |
JP2007208635A (en) | Node, packet communicating method, and packet communication system | |
US20220225163A1 (en) | Communications device, infrastructure equipment and methods | |
US20180331962A1 (en) | System and method for reducing bandwidth usage of a network | |
JP2003078560A (en) | Flow control system in transport layer protocol | |
US20060259845A1 (en) | Method and apparatus for acknowledging a bitwise data chunk in wireline and wireless communication systems | |
JP5569452B2 (en) | Wireless communication apparatus, method and program | |
Wang et al. | Concurrent multipath transfer protocol used in ad hoc networks | |
Baek et al. | A lightweight SCTP for partially reliable overlay video multicast service for mobile terminals | |
JP3929452B2 (en) | Efficient data transmission / reception method using transport layer in mobile ad hoc network and network device using the method | |
Arianpoo et al. | Network coding: A remedy for receiver buffer blocking in the concurrent multipath transfer of data over multi-hop wireless networks | |
Heimlicher et al. | Saft: Reliable transport in mobile networks | |
KR101547048B1 (en) | Technique for managing communications at a router | |
JP5339537B2 (en) | Wireless terminal, proxy server, and program for improving disconnection resistance in unstable wireless link | |
JP4853862B2 (en) | Communication device | |
Pereira et al. | FINLAN Packet Delivery Proposal in a Next Generation Internet | |
Ye et al. | Independent per path congestion control for reliable data transmission between multi-homed hosts | |
KR100648832B1 (en) | Method for checking transceiving state of packet | |
Chowdhury et al. | Mobile Ad Hoc Networks: Rapidly Deployable Emergency Communications | |
Minhas et al. | Performance Enhancement of AODV Routing Protocol in Wireless Mesh Networks |