JP2004040493A - Packet communication equipment and packet communication method - Google Patents

Packet communication equipment and packet communication method Download PDF

Info

Publication number
JP2004040493A
JP2004040493A JP2002195011A JP2002195011A JP2004040493A JP 2004040493 A JP2004040493 A JP 2004040493A JP 2002195011 A JP2002195011 A JP 2002195011A JP 2002195011 A JP2002195011 A JP 2002195011A JP 2004040493 A JP2004040493 A JP 2004040493A
Authority
JP
Japan
Prior art keywords
packet
packets
division
retransmitted
sequence number
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
Application number
JP2002195011A
Other languages
Japanese (ja)
Inventor
Hidemitsu Tsuchiya
土屋 秀光
Toru Yasukawa
安川 徹
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP2002195011A priority Critical patent/JP2004040493A/en
Publication of JP2004040493A publication Critical patent/JP2004040493A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Detection And Prevention Of Errors In Transmission (AREA)
  • Small-Scale Networks (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To provide a packet communication equipment and a packet communication system, capable of surely transmitting a communication packet to a destination terminal, while reducing the load of a network and effectively utilizing a communication band. <P>SOLUTION: A personal computer 10 sequentially transmits packets, providing the sequence numbers (A)-(C). A personal computer 11 detects a loss of the packet and requests retransmission of the packet of the sequence number (B), when it receives the packet of the sequence number (C). The personal computer 10 divides the requested packet and transmits packets of the sequence numbers (B1)and (B2). The personal computer 11 detects the loss and requests the retransmission of the packet of the sequence number (B1), when it receives the packet of the sequence number (B2). The personal computer 10 divides the requested packet and transmits packets of the sequence numbers (B11) and (B12). <P>COPYRIGHT: (C)2004,JPO

Description

【0001】
【発明の属する技術分野】
本発明はパケット通信装置に関し、特に、パケット通信装置におけるパケットの再送方法の改善に関する。
【0002】
【従来の技術】
近年、無線通信技術の発達に伴って、無線LAN(Local Area Network)システムが本格的な普及の兆しを見せており、そのコスト競争力の強さから利用分野によっては携帯電話を駆逐する勢いである。
無線LANシステムの規格は幾つかあるが、現在では、IEEE802.11が事実上の標準規格と考えられている。特に、2.4GHz帯の電波を用いて通信するIEEE802.11bに準拠した機器は既に広く利用されているのであるが帯域幅が11Mbpsと狭いため、動画像等の大容量のコンテンツが流通する昨今にあっては些か性能不足となってきている。
【0003】
このような問題に対しては、5.2GHz帯を利用するIEEE802.11aに準拠した機器を用いれば、56MbpsとIEEE802.11bと比較して5倍以上もの広い帯域幅を確保することができる。
【0004】
【発明が解決しようとする課題】
しかしながら、無線通信は、有線通信との比較において、よりノイズの影響を受け易く、通信パケットの損失が発生しやすいという問題がある。このような場合に、宛先端末にパケットを到達させるようとすると、パケットの再送を何回も繰り返さなければならず、ネットワークの負荷が増大して、通信帯域の有効利用を図ることができない。
【0005】
本発明は、以上のような問題に鑑みて為されたものであって、ネットワークの負荷を軽減して通信帯域の有効利用を図りつつ、宛先端末に確実に通信パケットを到達させることができるパケット通信装置及びパケット通信方式を提供することを目的とする。
【0006】
【課題を解決するための手段】
上記目的を達成するため、本発明に係るパケット通信装置は、宛先装置にパケットを送信するパケット通信装置であって、宛先装置からパケットの再送を要求されると、要求されたパケットを分割して複数のパケットとするパケット分割手段と、前記複数のパケットを宛先装置に送信するパケット送信手段とを備えることを特徴とする。
【0007】
このようにすれば、1パケット当たりのエラーが発生する数の期待値を低減することができるので、パケットを分割せずに再送する場合と比較して、より確実にパケットを送達させることができる。従って、パケットの再送に起因する帯域消費量を低減して、通信帯域の有効利用を図ることができる。
また、宛先装置にパケットを送信するパケット通信装置であって、パケットを再送すべきであるか否かを判定する再送判定手段と、前記再送判定手段がパケットを再送すべきであると判定した場合に、再送すべきパケットを分割して複数のパケットとするパケット分割手段と、前記複数のパケットを宛先装置に送信するパケット送信手段とを備えるとしても良い。このようにしても、上記と同様の効果を得ることができる。
【0008】
なお、この場合において、パケットを受信した旨を通知する確認応答を前記宛先装置から受信する確認応答受信手段を備え、前記再送判定手段は、パケットを送信してから所定時間以内に当該パケットに係る確認応答を受信しなかった場合に、当該パケットを再送すべきであると判定するとしても良い。
また、本発明に係るパケット通信装置の前記パケット分割手段は、再送すると判定したパケットに含まれるサービスデータ単位を複数のサービスデータ単位に分割し、その各々にプロトコル制御情報を付与することによって、前記複数のパケットとすることを特徴とする。
【0009】
すなわち、一般に、パケットはヘッダやトレイラといったプロトコル制御情報(PCI:Protocol Control Information)とサービスデータ単位(SDU:Service Data Unit)からなっている。従って、上記のようにサービスデータ単位のみを分割して再送すれば、元のパケットのプロトコル制御情報を再送しないので、通信帯域の有効利用を図ることができる。
【0010】
また、再送すべきパケットが所定のデータ長以下ならば、前記パケット分割手段に当該パケットを分割させないで、前記パケット送信手段に再送させるパケット分割制御手段を備えるとしても良い。このようにすれば、サービスデータ単位のデータ長が小さくなりすぎた結果、通信のオーバーヘッドが増大して、通信帯域の有効利用に反するといった問題を回避することができる。
【0011】
また、前記パケット分割手段が過去にパケットを分割して得たパケットの数に応じて、前記パケット分割手段がパケットを分割する際の分割数を決定する分割数決定手段を備えることを特徴とする。このようにすれば、過去の履歴に基づいて、パケットの分割数を決定するので、分割数を固定とする場合と比較して、より適当な分割数を選択することができる。従って、パケットの再送回数を低減することができるので、通信帯域の有効利用を図ることができる。
【0012】
この場合において、前記分割数決定手段は、前記パケット分割手段が最後にパケットを分割して得たパケットの数を、前記パケット分割手段がパケットを分割する際の分割数とするとしても良い。このようにすれば、最近の通信状況やエラー発生状況に即して分割数を選択することができるので、更に、パケットの再送回数を低減して、通信帯域の有効利用を図ることができる。
【0013】
また、前記分割数決定手段は、前記パケット分割手段が最後にパケットを分割した後に送信したパケット数に応じて、前記分割数を減ずるとしても良い。このようにすれば、通信状況が良好と判断された場合に分割数を減ずることによって通信のオーバーヘッドを低減することができるので、通信帯域の有効利用を図ることができる。
【0014】
本発明に係るパケット通信方法は、宛先装置にパケットを送信するパケット通信装置が実行するパケット通信方法であって、宛先装置からパケットの再送を要求されると、要求されたパケットを分割して複数のパケットとするパケット分割ステップと、前記複数のパケットを宛先装置に送信するパケット送信ステップとを備えることを特徴とする。
【0015】
或いは、宛先装置にパケットを送信するパケット通信装置が実行するパケット通信方法であって、パケットを再送すべきであるか否かを判定する再送判定ステップと、前記再送判定手段がパケットを再送すべきであると判定した場合に、再送すべきパケットを分割して複数のパケットとするパケット分割ステップと、前記複数のパケットを前記宛先装置に送信するパケット送信ステップとを備えることを特徴とする。
【0016】
また、本発明に係るパケット通信プログラムは、上述のようなパケット通信方法をコンピュータに実行させることを特徴とする。このようにしても、上述したのと同様にして、本発明の目的を達成することができる。
【0017】
【発明の実施の形態】
以下、本発明に係るパケット通信装置及びパケット通信方式の実施の形態について、無線LANシステムを例にとり、図面を参照しながら説明する。
[1] システム構成
本実施の形態に係る無線LANシステムは、通信端末どうしが、いわゆるアクセスポイントを介さずに直接無線通信する、いわゆるアドホック・モードの無線LANシステムである。図1は、本実施の形態に係る無線LANシステムのシステム構成を示すシステム構成図である。
【0018】
図1においては、無線LANシステム1は、2台の無線通信端末であるパーソナル・コンピュータ10、11からなっている。パーソナル・コンピュータ10、11は、互いに通信可能圏内に存在している場合には、無線通信により直接パケットを送受信する。
このため、パーソナル・コンピュータ10、11が互いに無線通信をしている最中に、雷等に起因する電磁ノイズが加わると、パケットの損失が発生することがある。なお、パーソナル・コンピュータ10、11が送受信するパケットには、それぞれシーケンス番号が付与されている。
【0019】
パーソナル・コンピュータ10、11は、受信したパケットに付与されているシーケンス番号を確認することによって、パケットの損失を検出する。また、後述するように、パーソナル・コンピュータ10、11は、パケットの再送に備えて、送信済みのパケットを保存しておくための内部バッファをそれぞれ有している。
【0020】
[2] 通信シーケンス
次に、パーソナル・コンピュータ10がパーソナル・コンピュータ11へパケットを送信する場合を例にとって、パケットの損失が検出された際におけるパーソナル・コンピュータ10、11の通信手順を説明する。図2は、パーソナル・コンピュータ10がパーソナル・コンピュータ11へパケットを送信する際の通信手順であって、パーソナル・コンピュータ11がパケットの損失が検出した際に実行される通信手順を示すシーケンス図である。
【0021】
図2に示すように、パーソナル・コンピュータ10は、先ず、シーケンス番号「A」を付与したパケットをパーソナル・コンピュータ11に向けて送信する。
当該パケットはパーソナル・コンピュータ11により正常に受信される。続いて、パーソナル・コンピュータ10は、シーケンス番号「B」を付与したパケットを、パーソナル・コンピュータ11に向けて送信する。
【0022】
図2においては、当該シーケンス番号「B」を付与されたパケットについては、何らかの原因によって損失が発生したために、パーソナル・コンピュータ11は当該パケットを受信できない。パーソナル・コンピュータ10は、引き続いて、シーケンス番号「C」を付与したパケットを、パーソナル・コンピュータ11に向けて送信する。
【0023】
当該パケットは、パーソナル・コンピュータ11によって正常に受信される。
続いて、パーソナル・コンピュータ11は、前回受信したパケットのシーケンス番号「A」と今回受信したパケットのシーケンス番号「C」とを比較する。この比較によって、パーソナル・コンピュータ11は、シーケンス番号「B」を付与されたパケットが到達しなかったことを検出する。
【0024】
すると、パーソナル・コンピュータ11は、受信しなかったパケットのシーケンス番号「B」を指定して、パーソナル・コンピュータ10に対して、再送を要求するパケットを送信する。パーソナル・コンピュータ10は、当該再送要求を受け付けると、シーケンス番号「B」のパケットを前半部分と後半部分との、2つに分割する。
【0025】
パーソナル・コンピュータ10は、前半部分をシーケンス番号「B1」を付与したパケットとすると共に、後半部分はシーケンス番号「B2」を付与したパケットとする。パーソナル・コンピュータ10は、先ず、シーケンス番号「B1」を付与したパケットをパーソナル・コンピュータ11に向けて送信し、続いて、シーケンス番号「B2」を付与したパケットをパーソナル・コンピュータ11に向けて送信する。
【0026】
図2においては、パーソナル・コンピュータ10が再送したパケットのうち、シーケンス番号「B1」を付与されたパケットは、何らかの原因で発生した損失によって、パーソナル・コンピュータ11には到達しない。一方、シーケンス番号「B2」を付与されたバケットは、正常にパーソナル・コンピュータ11に受信される。
【0027】
パーソナル・コンピュータ11は、シーケンス番号「B2」を付与されたパケットを受信すると、再送を要求したパケットのシーケンス番号「B」と今回受信したパケットのシーケンス番号「B2」とを比較する。そして、パーソナル・コンピュータ11は、シーケンス番号「B1」を付与されたパケットが到達しなかったことを検出すると、パーソナル・コンピュータ10に対して、シーケンス番号「B1」のパケットの再送を要求する。
【0028】
パーソナル・コンピュータ10は、パーソナル・コンピュータ11から、再送要求を受け付けると、シーケンス番号「B1」を付与されたパケットを前半部分と後半部分との2つに分割する。そして、前半部分にはシーケンス番号「B11」を付与し、また、後半部分はシーケンス番号「B12」を付与して、それぞれパケットとする。
【0029】
そして、パーソナル・コンピュータ10は、先ず、シーケンス番号「B11」を付与したパケットを送信し、続いて、シーケンス番号「B12」を付与したパケットを送信する。これらのパケットは、いずれもパーソナル・コンピュータ11に向けて送信され、図2に示す例では、パーソナル・コンピュータ11に正常に受信される。
【0030】
パーソナル・コンピュータ11は、シーケンス番号「B12」を付与されたパケットを受信すると、シーケンス番号「B」を付与されたパケットの再送が完了したと判定して、再送処理を終了する。パーソナル・コンピュータ10は、再送を要求されたパケットを送信し終えると、次に送信すべきパケットとして、シーケンス番号「D」を付与したパケットをパーソナル・コンピュータ11に送信する。
【0031】
図2においては、パーソナル・コンピュータ11は、シーケンス番号「D」を付与されたパケットを正常に受信する。また、パーソナル・コンピュータ11は、再送処理を終了しているので、前回受信したパケットのシーケンス番号「C」と今回受信したパケットのシーケンス番号「D」とを比較して、受信できなかったパケットは無いと判定する。
【0032】
[3] パーソナル・コンピュータ10、11の動作
次に、パーソナル・コンピュータ10、11の動作について、送信動作と受信動作とに分けて説明する。
[3−1] パーソナル・コンピュータ10、11の送信動作
パーソナル・コンピュータ10、11は、送信すべきサービスデータ単位がある場合、当該サービスデータ単位の大きさに応じてパケットに分割し、前記サービスデータ単位の先頭から末尾へ向かうような順番でパケットを送信する。図3は、パーソナル・コンピュータ10、11がパケットを送信する際に実行する処理の流れを示すフローチャートである。
【0033】
図3に示すように、パーソナル・コンピュータ10、11は、先ず、パケットを送信する(ステップS100)。そして、当該パケットについて再送の要求がある場合に備えて、送信したパケットを内部バッファに格納しておく(ステップS101)。
なお、この内部バッファは、例えば、リングバッファとすれば良い。そして、リングバッファに十分な空き領域が無いために、新たなパケットを格納することができない場合には、必要な空き領域が確保できるまで、リングバッファ中のパケットを古いものから順に削除するとしても良い。
【0034】
当該リングバッファは十分多数のパケットを格納できるだけの容量があれば良く、例えば、1パケット当たりのデータ長が固定の場合に、256個のパケットを格納できるだけの容量とすれば良い。また、本再送手順を実行するプロトコルよりも上位のプロトコルで再送処理をすることが分かっている場合には、当該内部バッファの容量をより少ないものとしても良い。
【0035】
例えば、本再送処理をMAC(Media Access Control)層で実行する場合であって、トランスポート層プロトコルとしてTCP(Transmission Control Protocol)が用いられるような場合には、TCPにおいても再送処理がなされるので、MAC層で再送処理のために用意する内部バッファの容量はより小さいものであっても良い。
【0036】
次に、パーソナル・コンピュータ10、11は、パケットの送信先から、パケットの再送を要求されているかどうかを確認する。そして、パケットの再送を要求されていたら(ステップS102:Yes)、再送を要求されたパケットを内部バッファから読み出す(ステップS103)。そして、読み出したパケットに含まれるサービスデータ単位を2つに分割する。
【0037】
なお、ここで、サービスデータ単位とは、パケットからプロトコル制御情報を除いた部分をいう。このようにすれば、プロトコル制御情報を再送するために要する通信帯域を節約することができる。したがって、通信帯域の有効利用を図ることができる。ただし、プロトコル制御情報を含むパケット全体を分割して再送するとしても、本発明の効果を奏さしめることができることは言うまでもない。
【0038】
また、サービスデータ単位であれ、パケット全体であれ、分割の仕方は2分割に限られず、3つ以上に分割するとしても良い。また、必ずしも等分割である必要はない。
更に、サービスデータ単位のデータ長が余りに小さいと、却って帯域の有効利用に反する場合があるので、サービスデータ単位を分割しない条件を定めても良い。例えば、サービスデータ単位が所定のデータ長以下ならば分割しないとして良いし、或いは、分割後のサービスデータ単位が所定のデータ長以下となる場合には分割しないとしても良い。
【0039】
パーソナル・コンピュータ10、11は、サービスデータ単位の分割を終えると、これにプロトコル制御情報を付与する。そして、このようして作成したパケットに新たなシーケンス番号を付与して、当該パケットを送信する(ステップS100)。また、ステップS102においてNoの場合にもステップS100へ進み。送信すべきパケットがあれば送信する。
【0040】
[3−2] パーソナル・コンピュータ10、11の受信動作
次に、パーソナル・コンピュータ10、11の受信動作について説明する。図4は、パーソナル・コンピュータ10、11がパケットを受信する際に実行する処理の流れを示すフローチャートである。図4に示すように、パーソナル・コンピュータ10、11は、パケットを受信すると(ステップS200)、受信したパケットのシーケンス番号をチェックする(ステップS201)。
【0041】
そして、前回受信したパケットのシーケンス番号と今回受信したパケットのシーケンス番号を比較して、未達のパケットがあると判断したら(ステップS202:Yes)、今回受信したパケットの送信元に対して、未達であると判断されたパケットのシーケンス番号を指定して、パケットの再送を要求する(ステップS203)。
【0042】
パーソナル・コンピュータ10、11はステップS203の処理の後、または、ステップS202でNoの場合には、ステップS200に進んで、次のパケットを受信する。
[4] パケットフォーマット
次に、パーソナル・コンピュータ10、11が送受信するパケットのフォーマットについて説明する。図5は、パーソナル・コンピュータ10、11が送受信するパケットのフォーマットを示す図である。
【0043】
図5から分かるように、パーソナル・コンピュータ10、11が送受信するパケット2は、パケット制御フィールド20、送信元アドレス・フィールド21、宛先アドレス・フィールド22、シーケンス番号#1フィールド23、シーケンス番号#2フィールド24、シーケンス番号#3フィールド25、データ・フィールド26、およびFCSフィールド27からなっている。
【0044】
パケット制御フィールド20は、ビットアサインされた複数のフラグからなっており、例えば、あるフラグは、ビットのオン/オフによって、当該パケットが分割されたパケットであるか否かを表わす。
また、当該パケットが再送パケットであるか否かを表わすフラグや、分割パケットである場合に、引き続く分割パケットがあるか否かを表わすフラグがあるとしても良い。更に、データ・フィールド26に格納されているデータがWEP(Wired Equivalent Privacy)処理により暗号化されているか否かを表わすフラグ等もある。
【0045】
送信元アドレス・フィールド21には、当該パケットを送信する端末に割り当てられたアドレスが格納され、宛先アドレス・フィールド22には、当該パケットの宛先である端末に割り当てられたアドレスが格納される。シーケンス番号#1フィールド23は、通常の通信を行う際に用いられるシーケンス番号が格納されるフィールドである。
【0046】
シーケンス番号#2フィールド24は、通常の通信において送受信されるパケットを再送する際に用いられるフィールドである。例えば、上記にて説明した図2においては、再送パケットのシーケンス番号として、「B1」というシーケンス番号が用いられている。シーケンス番号#2フィールド24は、当該シーケンス番号「B1」中の「1」の部分を格納するフィールドである。
【0047】
シーケンス番号#3フィールド25は、再送パケットを更に再送する際に用いられるフィールドである。例えば、上記にて説明した図2においては、再送パケットのシーケンス番号として、「B12」というシーケンス番号が用いられている。シーケンス番号#3フィールド25には、当該シーケンス番号「B12」中の「2」の部分が格納される。
【0048】
本実施の形態においては、シーケンス番号を格納するフィールドとして以上の3つのフィールドを用いる。したがって、再送パケットを再送した際にパケット(以下、「再々送パケット」という。)の損失が発生した場合には、当該再々送パケットを再送するに当たってパケットの分割は行わず、再々送パケットをそのまま再送する。
【0049】
データ・フィールド26は、サービスデータ単位に相当するフィールドであり、当該データ・フィールド26以外のフィールドはプロトコル制御情報に相当する。このサービスデータ単位(データ・フィールド26)は、上位層から受け付けたサービスデータ単位を分割したものであっても良い。
また、FCSフィールド27は、FCS(Frame Check Sequence)を格納するフィールドであって、例えば、1のパケットの全体について32ビットCRC(Cyclic Redunduncy Check)が用いられるとしても良い。
【0050】
[5] 本実施の形態の効果
以上述べたように、本実施の形態に依れば、パケットを分割して再送するので、パケットが宛先端末に正常に到達し易くなる。つまり、1のパケットについてみれば、エラーの発生確率が同じであれば、パケットの大きさが小さい方が宛先端末に正常に到達し易くなる。従って、通信パケットをより確実に宛先端末に到達させることができる。
【0051】
また、本実施の形態に依れば、エラーが発生した場合であっても、より少ないデータを再送すればよいので、パケットを分割せずに再送する場合と比較して、パケットの再送に要する帯域幅がより少なくて済む。従って、通信帯域の有効利用を図ることができる。特に、電波状況が好ましくない場合など、エラーの発生確率が高い場合ほど、本実施の形態に係る無線LANシステムは、より高い効果を発揮することができる。
【0052】
[6] 変形例
以上、本発明を実施の形態に基づいて説明してきたが、本発明は、上述の実施の形態に限定されないのは勿論であり、以下のような変形例を実施することができる。
(1) 上記実施の形態においては、パケットを受信する側の通信端末であるパーソナル・コンピュータ11がパケットに付与されたシーケンス番号をチェックすることによって、パケットの損失を検出するとしたが、これに代えて次のようにするとしても良い。
【0053】
すなわち、受信側の通信端末がパケットを受信するたびに確認応答(ACK:Acknowledgement)を返信し、送信側の通信端末は当該ACKによってパケットの送達を確認するとしても良い。この場合において、送信側の通信端末は、パケットを送信してから所定時間内に対応するACKを受信しなかったら、パケットの損失が発生したと判断して再送処理を実行する。
【0054】
図6は、通信端末30が通信端末31へパケットを送信する際の通信手順であって、通信端末30がパケットの損失が検出した際に実行される通信手順を示すシーケンス図である。図6に示すように、通信端末30は、先ず、シーケンス番号「X」を付与したパケットを通信端末31に向けて送信する。これに対して、通信端末31は、当該パケットを正常に受信して、通信端末30にACKを返信する。
【0055】
本変形例においては、パケットとACKとの対応関係を明示するために、通信端末31は、対応するパケットのシーケンス番号をACKに付与する。例えば、シーケンス番号Xを付与されたパケットに対応するACKについては、通信端末31は、シーケンス番号Xを付与する。
続いて、通信端末30は、シーケンス番号「Y」を付与したパケットを、通信端末31に向けて送信する。図6においては、当該シーケンス番号「Y」を付与されたパケットは、何らかの原因により発生した損失により、通信端末31には到達しない。通信端末30は、更に、シーケンス番号「Z」を付与したパケットを送信する。
【0056】
通信端末31は、当該パケットを正常に受信し、前回受信したパケットのシーケンス番号「X」と今回受信したパケットのシーケンス番号「Z」とを比較する。この比較により、通信端末31は、シーケンス番号「Y」のパケットが到達しなかったことを検出すると、シーケンス番号「Y」を指定して、通信端末30に再送を要求する。
【0057】
通信端末30は、当該再送要求を受け付けると、内部バッファからシーケンス番号「Y」のパケットを読み出した後、当該パケットを前半部分と後半部分との2つに分割し、それぞれシーケンス番号「Y1」、「Y2」を付与したパケットとする。そして、通信端末30は、先ず、シーケンス番号「Y1」のパケットを送信する。
【0058】
通信端末30は、当該パケットに対応するACKを受信すると、シーケンス番号「Y2」のパケットを送信する。通信端末30は、当該パケットに対するACKを受信すると、再送処理を終了する。そして、通信端末30は、シーケンス番号「Z」のパケットを送信し、これに対するACKを受信すると、一連の手順を終了する。
【0059】
以上のように、ACKを用いて送達確認を行うような通信システムにおいても、本発明を適用することによって再送処理に係る帯域消費を低減し、通信帯域を有効利用することができる。また、より確実に通信パケットを宛先端末に送達させ易くできる点についても同様である。
(2) 上記実施の形態においては、パーソナル・コンピュータ10がパケットを再送するに際して、パケットを2分割する場合について説明したが、これに代えて次のようにするとしても良い。すなわち、パケットの分割数(本明細書においては、「分割によって得られたパケットの数」をいう。)は2には限定されず、パケットをN分割して再送するとしても良い。ここで、分割数Nは2以上の数である。
【0060】
また、パケットの分割数を動的に変更するとしても良い。例えば、最後に再送処理を実行した際の、最終的な分割数を記録しておき、次に再送処理を実行する際には、記録しておいた分割数に従ってパケットを分割し、再送するとしても良い。
前記図2を最後に実行した再送処理とする場合を例にとれば、シーケンス番号「B11」や「B12」のパケットは、シーケンス番号「B」のパケットを▲2▼分割した後、更に2分割して得られるパケット、すなわち、2×2=4分割して得られるパケットであるので、最終的な分割数として4を記録する。そして、次に再送処理をする際には、直ちに、パケットを4分割して再送すれば良い。
【0061】
このようにすれば、周辺の電磁波状況等、時々刻々変動するエラー発生の確率に合わせて、ビットエラー数の期待値を低減させるので、より早くパケットを宛先端末に送達させることができる。
また、エラー発生確率が低下した場合には分割数を小さくすれば、パケット・ヘッダ等のオーバーヘッドを低下させることができる。オーバーヘッドを低下させるための具体的な方法としては、例えば、再送処理を要せず送達させることができたパケットの数を利用する方法がある。
【0062】
すなわち、再送処理を終了した後、再送処理を要しないでパケットを送達させることができた毎に、前記記録しておいた分割数を1ずつ減少させるとしても良い。なお、この減少幅は1に限られず2以上であっても良いし、或いは、連続する複数のパケットのすべてを送達させることができた毎に1ずつ減少させるとしても良い。
【0063】
いずれの場合も、分割数は2を下回らないようにしなければならない。このようにすれば、エラー発生確率が低下した場合に、再送処理に要するオーバーヘッドを低減して、通信帯域の有効利用を図ることができる。
また、分割数の決定の仕方としては、上記のように、最後の再送処理をした際の分割数を記録する他に、再送処理を実行するたびに最終的な分割数を記録して、その統計をとり、もっとも頻度の高い分割数を選択するとしても良い。
【0064】
或いは、最後の再送処理が成功裏に終わったら、その際のパケットの大きさを記録しておき、次の再送処理の際には、記録しておいた大きさに直ちにパケットを分割するとしても良い。また、上記分割数に代えて前記パケットの大きさの統計をとり、当該統計に従って最も好適なパケットの大きさを決定して、パケットを分割するとしても良い。
【0065】
また、どのような方法を採用した場合であっても、エラー発生確率が高いほど分割数を大きくし、逆にエラー発生確率が低いほど分割数を小さくするとすれば、上記のように、通信のオーバーヘッドを削減して、更に、通信帯域の有効利用を図ることができる。
また、分割数を動的に変動させる場合には、上記実施の形態において示したパケット・フォーマットとは異なるパケット・フォーマットを採用して、パケット・ヘッダに分割数を格納するとしても良い。また、分割した一連のパケットのうち、最後のパケットを示すフラグをパケット・ヘッダに設けるとしても良い。このようにすれば、受信端末が分割されたパケットを組み立てる際の情報として有用である。
【0066】
(3) 上記実施の形態においては、専ら無線通信端末同士が直接通信をするアドホック・モードの場合を例にとって説明したが、これに代えて次のようにするとしても良い。
すなわち、いわゆるアクセス・ポイントを介して通信するインフラストラクチャ・モードであるとしても良い。この場合において、上記再送処理は、無線通信端末間で実行されるとしても良いし、無線通信端末とアクセス・ポイントとの間で実行されるとしても良い。いずれも、場合も本発明の効果を奏させることができる。
【0067】
(4) 上記実施の形態においては特に明記しなかったが、本発明は、いわゆるMAC層プロトコルに適用されるとしても良いし、また、MAC層プロトコルに代えて、OSI(Open System Interconnection)の基本参照モデル(Basic Reference Model)におけるトランスポート層のプロトコルに適用されるとしても良い。対象となるプロトコルがいずれの層に属するかに関わらず、本発明を適用することによって、その効果を得ることができる。
【0068】
(5) 上記実施の形態においては、専ら無線通信に本発明を適用する場合について説明したが、本発明は無線通信に限定されず、有線通信にも適用されて、その効果を奏することができる。例えば、パケット交換網を想定すると、網の輻輳に起因してパケットの損失が発生する場合がある。このような場合においても、本発明を適用すれば、帯域消費を抑制しつつ再送処理を実行することができるので、パケットをより確実に送達できるのみならず、網の輻輳を発生し難くすることもできる。
【0069】
(6) 上記実施の形態においては、通信端末として専らパーソナル・コンピュータを用いる場合について説明したが、本発明はこれに限定されず、パーソナル・コンピュータ以外であっても、パケット通信端末であれば、効果を奏することができる。また、本発明は、通信方式が前二重方式であるか半二重方式であるかに関わらず、効果を奏することができる。
【0070】
【発明の効果】
以上説明したように、本発明によれば、宛先端末に送達しなかったパケットを分割して再送するので、分割しなかった場合との比較において、パケット中のエラー数の期待値を低減できる。従って、より確実にパケットを宛先端末に送達することができる。
【0071】
また、上述したように、再送パケットのうち宛先端末に送達しなかった再送パケットのみを再送するので、分割しなかった場合との比較において、パケットの再送に要する帯域消費を低減することができる。従って、通信帯域の有効利用を図ることができる。
また、宛先端末に送達しなかった再送パケットを再送するに当たっても、当該再送パケットを分割して再送するので、上記と同様、より確実に再送パケットを宛先端末に送達することができる。
【0072】
また、パケットを再送するに際して、パケットの分割数を動的に最適化するので、より早く再送パケットを宛先端末に送達させることができる。また、再送に要する通信のオーバーヘッドを低減できるので、通信帯域の有効利用を図ることができる。
【図面の簡単な説明】
【図1】本発明の実施の形態に係る無線LANシステムのシステム構成を示すシステム構成図である。
【図2】本実施の形態に係る無線LANシステム1において、パーソナル・コンピュータ10がパーソナル・コンピュータ11へパケットを送信する際の通信手順であって、パーソナル・コンピュータ11がパケットの損失が検出した際に実行される通信手順を示すシーケンス図である。
【図3】本実施の形態に係る無線LANシステム1において、パーソナル・コンピュータ10、11がパケットを送信する際に実行する処理の流れを示すフローチャートである。
【図4】本実施の形態に係る無線LANシステム1において、パーソナル・コンピュータ10、11がパケットを受信する際に実行する処理の流れを示すフローチャートである。
【図5】本実施の形態に係る無線LANシステム1において、パーソナル・コンピュータ10、11が送受信するパケットのフォーマットを示す図である。
【図6】変形例(1)に係る通信システムにおいて、通信端末30が通信端末31へパケットを送信する際の通信手順であって、通信端末30がパケットの損失が検出した際に実行される通信手順を示すシーケンス図である。
【符号の説明】
1……………無線LANシステム
2……………パケット
10、11…パーソナル・コンピュータ
20…………パケット制御フィールド
21…………送信元アドレス・フィールド
22…………宛先アドレス・フィールド
23…………シーケンス番号#1フィールド
24…………シーケンス番号#2フィールド
25…………シーケンス番号#3フィールド
26…………データ・フィールド
27…………FCSフィールド
30、31…通信端末
[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to a packet communication device, and more particularly to an improvement in a packet retransmission method in a packet communication device.
[0002]
[Prior art]
In recent years, with the development of wireless communication technology, wireless LAN (Local Area Network) systems have shown signs of full-scale spread, and due to their strong cost competitiveness, mobile phones have been expelled in some applications. is there.
Although there are several standards for wireless LAN systems, IEEE 802.11 is currently considered the de facto standard. In particular, devices conforming to IEEE802.11b that communicate using radio waves in the 2.4 GHz band are already widely used, but since the bandwidth is as narrow as 11 Mbps, large-capacity contents such as moving images have recently been distributed. , There is a slight lack of performance.
[0003]
With respect to such a problem, if a device based on IEEE802.11a using a 5.2 GHz band is used, a bandwidth of 56 Mbps, which is at least five times as wide as that of IEEE802.11b, can be secured.
[0004]
[Problems to be solved by the invention]
However, there is a problem that wireless communication is more susceptible to noise and communication packet loss is more likely to occur as compared with wired communication. In such a case, if the packet is to reach the destination terminal, retransmission of the packet must be repeated many times, and the load on the network increases, making it impossible to effectively use the communication band.
[0005]
SUMMARY OF THE INVENTION The present invention has been made in view of the above-described problems, and it is possible to reduce a load on a network and effectively use a communication band while ensuring that a communication packet can reach a destination terminal. It is an object to provide a communication device and a packet communication system.
[0006]
[Means for Solving the Problems]
In order to achieve the above object, a packet communication device according to the present invention is a packet communication device that transmits a packet to a destination device, and when a retransmission of a packet is requested from the destination device, divides the requested packet. It is characterized by comprising a packet dividing unit for converting a plurality of packets, and a packet transmitting unit for transmitting the plurality of packets to a destination device.
[0007]
By doing so, the expected value of the number of errors per packet can be reduced, so that the packet can be delivered more reliably than when retransmitting without dividing the packet. . Therefore, it is possible to reduce the bandwidth consumption due to the retransmission of the packet and to effectively use the communication bandwidth.
A packet communication device for transmitting a packet to a destination device, wherein the retransmission determination unit determines whether the packet should be retransmitted, and the retransmission determination unit determines that the packet should be retransmitted. In addition, a packet dividing unit that divides a packet to be retransmitted into a plurality of packets by dividing the packet to be retransmitted and a packet transmitting unit that transmits the plurality of packets to a destination device may be provided. Even in this case, the same effect as described above can be obtained.
[0008]
Note that, in this case, an acknowledgment receiving unit that receives an acknowledgment notifying that the packet has been received from the destination device is provided, and the retransmission determination unit determines that the If no acknowledgment is received, it may be determined that the packet should be retransmitted.
Further, the packet division unit of the packet communication device according to the present invention, by dividing a service data unit included in the packet determined to be retransmitted into a plurality of service data units, by adding protocol control information to each of them, It is characterized by a plurality of packets.
[0009]
That is, in general, a packet includes protocol control information (PCI: Protocol Control Information) such as a header and a trailer and a service data unit (SDU: Service Data Unit). Therefore, if only the service data unit is divided and retransmitted as described above, the protocol control information of the original packet is not retransmitted, so that the communication band can be effectively used.
[0010]
If the packet to be retransmitted is equal to or shorter than a predetermined data length, a packet division control unit that causes the packet transmission unit to retransmit the packet without dividing the packet by the packet division unit may be provided. With this configuration, it is possible to avoid a problem that the data length of the service data unit becomes too small, resulting in an increase in communication overhead, which is against the effective use of the communication band.
[0011]
In addition, the apparatus further comprises a division number determining unit that determines the number of divisions when the packet division unit divides the packet according to the number of packets obtained by dividing the packet in the past by the packet division unit. . By doing so, the number of packet divisions is determined based on the past history, so that a more appropriate number of divisions can be selected as compared with a case where the number of divisions is fixed. Therefore, the number of packet retransmissions can be reduced, and communication bandwidth can be effectively used.
[0012]
In this case, the division number determination unit may set the number of packets obtained by dividing the packet last by the packet division unit as the division number when the packet division unit divides the packet. With this configuration, the number of divisions can be selected in accordance with a recent communication situation or an error occurrence situation, so that the number of packet retransmissions can be further reduced and communication bandwidth can be effectively used.
[0013]
Further, the division number determination unit may reduce the division number according to the number of packets transmitted after the packet division unit last divided the packet. With this configuration, when it is determined that the communication condition is good, the communication overhead can be reduced by reducing the number of divisions, so that the communication band can be effectively used.
[0014]
A packet communication method according to the present invention is a packet communication method executed by a packet communication device that transmits a packet to a destination device. When a packet retransmission is requested from the destination device, the packet is divided into a plurality of packets. And a packet transmitting step of transmitting the plurality of packets to a destination device.
[0015]
Alternatively, there is provided a packet communication method executed by a packet communication device that transmits a packet to a destination device, wherein a retransmission determination step of determining whether or not the packet should be retransmitted, and the retransmission determination unit retransmits the packet. If it is determined that the packet is to be retransmitted, a packet dividing step of dividing a packet to be retransmitted into a plurality of packets and a packet transmitting step of transmitting the plurality of packets to the destination device are provided.
[0016]
Further, a packet communication program according to the present invention causes a computer to execute the above-described packet communication method. Even in this case, the object of the present invention can be achieved in the same manner as described above.
[0017]
BEST MODE FOR CARRYING OUT THE INVENTION
Hereinafter, embodiments of a packet communication device and a packet communication method according to the present invention will be described with reference to the drawings, taking a wireless LAN system as an example.
[1] System configuration
The wireless LAN system according to the present embodiment is a so-called ad hoc mode wireless LAN system in which communication terminals directly perform wireless communication without going through a so-called access point. FIG. 1 is a system configuration diagram showing a system configuration of a wireless LAN system according to the present embodiment.
[0018]
In FIG. 1, the wireless LAN system 1 includes personal computers 10 and 11, which are two wireless communication terminals. When the personal computers 10 and 11 are within the communication range, the personal computers 10 and 11 directly transmit and receive packets by wireless communication.
For this reason, if electromagnetic noise due to lightning or the like is added while the personal computers 10 and 11 are performing wireless communication with each other, packet loss may occur. Note that a sequence number is assigned to each of the packets transmitted and received by the personal computers 10 and 11.
[0019]
The personal computers 10 and 11 detect packet loss by confirming the sequence numbers assigned to the received packets. As will be described later, each of the personal computers 10 and 11 has an internal buffer for storing the transmitted packet in preparation for retransmission of the packet.
[0020]
[2] Communication sequence
Next, a communication procedure between the personal computers 10 and 11 when a loss of a packet is detected will be described with reference to a case where the personal computer 10 transmits a packet to the personal computer 11 as an example. FIG. 2 is a sequence diagram showing a communication procedure when the personal computer 10 transmits a packet to the personal computer 11, which is executed when the personal computer 11 detects a packet loss. .
[0021]
As shown in FIG. 2, the personal computer 10 first transmits a packet to which the sequence number “A” has been assigned to the personal computer 11.
The packet is normally received by the personal computer 11. Subsequently, the personal computer 10 transmits the packet with the sequence number “B” to the personal computer 11.
[0022]
In FIG. 2, the personal computer 11 cannot receive the packet to which the sequence number “B” has been assigned because a loss has occurred for some reason. Subsequently, the personal computer 10 transmits the packet to which the sequence number “C” has been assigned to the personal computer 11.
[0023]
The packet is normally received by the personal computer 11.
Subsequently, the personal computer 11 compares the sequence number “A” of the previously received packet with the sequence number “C” of the currently received packet. By this comparison, the personal computer 11 detects that the packet with the sequence number “B” has not arrived.
[0024]
Then, the personal computer 11 transmits a packet requesting retransmission to the personal computer 10 by designating the sequence number “B” of the packet not received. Upon receiving the retransmission request, the personal computer 10 divides the packet with the sequence number “B” into two parts, the first half and the second half.
[0025]
In the personal computer 10, the first half is a packet to which the sequence number "B1" is added, and the second half is a packet to which the sequence number "B2" is added. The personal computer 10 first transmits a packet with the sequence number “B1” to the personal computer 11, and then transmits a packet with the sequence number “B2” to the personal computer 11. .
[0026]
In FIG. 2, among the packets retransmitted by the personal computer 10, the packet to which the sequence number “B1” is added does not reach the personal computer 11 due to a loss that has occurred for some reason. On the other hand, the bucket assigned with the sequence number “B2” is normally received by the personal computer 11.
[0027]
When receiving the packet to which the sequence number “B2” is assigned, the personal computer 11 compares the sequence number “B” of the packet requested to be retransmitted with the sequence number “B2” of the packet received this time. When detecting that the packet assigned with the sequence number “B1” has not arrived, the personal computer 11 requests the personal computer 10 to retransmit the packet with the sequence number “B1”.
[0028]
When receiving the retransmission request from the personal computer 11, the personal computer 10 divides the packet given the sequence number "B1" into two parts, a first half and a second half. Then, a sequence number “B11” is assigned to the first half, and a sequence number “B12” is assigned to the second half to make each packet.
[0029]
Then, the personal computer 10 first transmits a packet to which the sequence number “B11” is added, and then transmits a packet to which the sequence number “B12” is added. These packets are all transmitted to the personal computer 11, and are normally received by the personal computer 11 in the example shown in FIG.
[0030]
When receiving the packet with the sequence number “B12”, the personal computer 11 determines that retransmission of the packet with the sequence number “B” is completed, and ends the retransmission processing. When transmitting the packet requested to be retransmitted, the personal computer 10 transmits the packet to which the sequence number “D” is added to the personal computer 11 as the next packet to be transmitted.
[0031]
In FIG. 2, the personal computer 11 normally receives the packet with the sequence number “D”. Also, since the retransmission processing has been completed, the personal computer 11 compares the sequence number “C” of the previously received packet with the sequence number “D” of the currently received packet, and determines It is determined that there is not.
[0032]
[3] Operation of personal computers 10 and 11
Next, the operation of the personal computers 10 and 11 will be described separately for a transmission operation and a reception operation.
[3-1] Transmission operation of personal computers 10 and 11
When there is a service data unit to be transmitted, the personal computers 10 and 11 divide the packet into packets according to the size of the service data unit, and transmit the packets in the order from the beginning to the end of the service data unit. I do. FIG. 3 is a flowchart showing the flow of processing executed when the personal computers 10 and 11 transmit a packet.
[0033]
As shown in FIG. 3, the personal computers 10 and 11 first transmit a packet (step S100). Then, the transmitted packet is stored in the internal buffer in case that there is a request for retransmission of the packet (step S101).
The internal buffer may be, for example, a ring buffer. If there is not enough free space in the ring buffer to store a new packet, packets in the ring buffer may be deleted in order from the oldest packet until the required free space is secured. good.
[0034]
The ring buffer only needs to have a capacity that can store a sufficiently large number of packets. For example, when the data length per packet is fixed, the ring buffer may have a capacity that can store 256 packets. Further, if it is known that retransmission processing is performed by a protocol higher than the protocol that executes the retransmission procedure, the capacity of the internal buffer may be reduced.
[0035]
For example, when the retransmission processing is executed in a MAC (Media Access Control) layer, and TCP (Transmission Control Protocol) is used as a transport layer protocol, the retransmission processing is also performed in TCP. The capacity of the internal buffer prepared for the retransmission processing in the MAC layer may be smaller.
[0036]
Next, the personal computers 10 and 11 confirm whether or not the packet transmission destination has requested retransmission of the packet. Then, if the retransmission of the packet has been requested (step S102: Yes), the packet requested to be retransmitted is read from the internal buffer (step S103). Then, the service data unit included in the read packet is divided into two.
[0037]
Here, the service data unit refers to a portion obtained by removing the protocol control information from the packet. By doing so, it is possible to save the communication band required for retransmitting the protocol control information. Therefore, it is possible to effectively use the communication band. However, it goes without saying that the effects of the present invention can be achieved even if the entire packet including the protocol control information is divided and retransmitted.
[0038]
Further, the method of division is not limited to two, whether in service data units or the whole packet, and may be divided into three or more. In addition, it is not always necessary to perform equal division.
Furthermore, if the data length of the service data unit is too small, it may be contrary to the effective use of the bandwidth, so a condition for not dividing the service data unit may be set. For example, if the service data unit is equal to or less than a predetermined data length, the division may not be performed, or if the service data unit after division is equal to or less than the predetermined data length, the division may not be performed.
[0039]
After the division of the service data unit, the personal computers 10 and 11 add protocol control information to the division. Then, a new sequence number is assigned to the packet created in this way, and the packet is transmitted (step S100). Also, if No in step S102, the process proceeds to step S100. If there is a packet to be transmitted, it is transmitted.
[0040]
[3-2] Reception operation of personal computers 10 and 11
Next, the receiving operation of the personal computers 10 and 11 will be described. FIG. 4 is a flowchart showing a flow of processing executed when the personal computers 10 and 11 receive a packet. As shown in FIG. 4, upon receiving a packet (step S200), the personal computers 10 and 11 check the sequence number of the received packet (step S201).
[0041]
Then, the sequence number of the previously received packet is compared with the sequence number of the currently received packet, and if it is determined that there is a packet that has not been reached (step S202: Yes), the transmission source of the currently received packet is The retransmission of the packet is requested by designating the sequence number of the packet determined to have been reached (step S203).
[0042]
After the processing in step S203, or in the case of No in step S202, the personal computers 10 and 11 proceed to step S200 to receive the next packet.
[4] Packet format
Next, a format of a packet transmitted and received by the personal computers 10 and 11 will be described. FIG. 5 is a diagram showing a format of a packet transmitted and received by the personal computers 10 and 11.
[0043]
As can be seen from FIG. 5, the packets 2 transmitted and received by the personal computers 10 and 11 are composed of a packet control field 20, a source address field 21, a destination address field 22, a sequence number # 1 field 23, and a sequence number # 2 field. 24, a sequence number # 3 field 25, a data field 26, and an FCS field 27.
[0044]
The packet control field 20 is composed of a plurality of bit-assigned flags. For example, a certain flag indicates whether or not the packet is a divided packet by turning on / off a bit.
Further, there may be a flag indicating whether or not the packet is a retransmission packet, or a flag indicating whether or not there is a subsequent divided packet when the packet is a divided packet. Further, there is a flag indicating whether or not the data stored in the data field 26 has been encrypted by WEP (Wired Equivalent Privacy) processing.
[0045]
The source address field 21 stores the address assigned to the terminal that transmits the packet, and the destination address field 22 stores the address assigned to the terminal that is the destination of the packet. The sequence number # 1 field 23 is a field in which a sequence number used when performing normal communication is stored.
[0046]
The sequence number # 2 field 24 is a field used when retransmitting a packet transmitted and received in normal communication. For example, in FIG. 2 described above, the sequence number “B1” is used as the sequence number of the retransmission packet. The sequence number # 2 field 24 is a field for storing a portion of "1" in the sequence number "B1".
[0047]
The sequence number # 3 field 25 is a field used when the retransmission packet is further retransmitted. For example, in FIG. 2 described above, the sequence number “B12” is used as the sequence number of the retransmission packet. In the sequence number # 3 field 25, the part of "2" in the sequence number "B12" is stored.
[0048]
In the present embodiment, the above three fields are used as fields for storing sequence numbers. Therefore, if a packet (hereinafter, referred to as “re-retransmission packet”) is lost when retransmitting the retransmission packet, the packet is not divided when retransmitting the retransmission packet, and the retransmission packet is left as it is. resend.
[0049]
The data field 26 is a field corresponding to a service data unit, and fields other than the data field 26 correspond to protocol control information. This service data unit (data field 26) may be a division of the service data unit received from the upper layer.
The FCS field 27 is a field for storing an FCS (Frame Check Sequence). For example, a 32-bit CRC (Cyclic Redundancy Check) may be used for one entire packet.
[0050]
[5] Effects of the present embodiment
As described above, according to the present embodiment, the packet is divided and retransmitted, so that the packet can easily reach the destination terminal normally. That is, for one packet, if the error occurrence probability is the same, the smaller the size of the packet, the easier it is to reach the destination terminal normally. Therefore, the communication packet can more reliably reach the destination terminal.
[0051]
Further, according to the present embodiment, even if an error occurs, less data needs to be retransmitted, so that it is necessary to retransmit the packet as compared with the case of retransmitting without dividing the packet. Requires less bandwidth. Therefore, the communication band can be effectively used. In particular, the higher the probability of occurrence of an error, such as when the radio wave condition is not favorable, the higher the effect of the wireless LAN system according to the present embodiment can be.
[0052]
[6] Modifications
As described above, the present invention has been described based on the embodiments. However, the present invention is not limited to the above embodiments, and the following modified examples can be implemented.
(1) In the above embodiment, the personal computer 11, which is the communication terminal receiving the packet, detects the packet loss by checking the sequence number assigned to the packet. The following may be used.
[0053]
That is, every time the receiving communication terminal receives a packet, it may return an acknowledgment (ACK: Acknowledgement), and the transmitting communication terminal may confirm the delivery of the packet by the ACK. In this case, if the communication terminal on the transmitting side does not receive the corresponding ACK within a predetermined time after transmitting the packet, it determines that a packet loss has occurred and executes a retransmission process.
[0054]
FIG. 6 is a sequence diagram showing a communication procedure when the communication terminal 30 transmits a packet to the communication terminal 31 and which is executed when the communication terminal 30 detects a packet loss. As shown in FIG. 6, the communication terminal 30 first transmits a packet to which the sequence number “X” has been assigned to the communication terminal 31. On the other hand, the communication terminal 31 normally receives the packet and returns an ACK to the communication terminal 30.
[0055]
In this modification, in order to clearly show the correspondence between a packet and ACK, the communication terminal 31 assigns a sequence number of the corresponding packet to ACK. For example, for the ACK corresponding to the packet to which the sequence number X is assigned, the communication terminal 31 assigns the sequence number X.
Subsequently, the communication terminal 30 transmits the packet to which the sequence number “Y” is added to the communication terminal 31. In FIG. 6, the packet given the sequence number “Y” does not reach the communication terminal 31 due to a loss generated for some reason. The communication terminal 30 further transmits a packet to which the sequence number “Z” has been added.
[0056]
The communication terminal 31 normally receives the packet, and compares the sequence number “X” of the previously received packet with the sequence number “Z” of the currently received packet. When the communication terminal 31 detects that the packet with the sequence number “Y” has not arrived by this comparison, it specifies the sequence number “Y” and requests the communication terminal 30 to retransmit.
[0057]
When receiving the retransmission request, the communication terminal 30 reads out the packet with the sequence number “Y” from the internal buffer, divides the packet into two parts, the first half and the second half, and respectively reads the sequence number “Y1”, This is a packet to which “Y2” is added. Then, the communication terminal 30 first transmits a packet of the sequence number “Y1”.
[0058]
When receiving the ACK corresponding to the packet, the communication terminal 30 transmits the packet with the sequence number “Y2”. Upon receiving the ACK for the packet, communication terminal 30 ends the retransmission processing. Then, the communication terminal 30 transmits the packet with the sequence number “Z”, and upon receiving the ACK for the packet, ends the series of procedures.
[0059]
As described above, even in a communication system that performs delivery confirmation using ACK, by applying the present invention, it is possible to reduce bandwidth consumption related to retransmission processing and effectively use a communication bandwidth. The same applies to the point that the communication packet can be more easily delivered to the destination terminal.
(2) In the above embodiment, a case has been described where the personal computer 10 divides the packet into two when retransmitting the packet. However, the following may be used instead. That is, the number of packet divisions (referred to as “the number of packets obtained by division” in this specification) is not limited to 2, and the packet may be divided into N and retransmitted. Here, the division number N is a number of 2 or more.
[0060]
Further, the number of packet divisions may be dynamically changed. For example, it is assumed that the final division number when the retransmission processing is executed last is recorded, and when the retransmission processing is next executed, the packet is divided according to the recorded division number and retransmitted. Is also good.
Taking the case where the retransmission processing executed last in FIG. 2 as an example, the packet of sequence number "B11" or "B12" is divided into two packets after dividing the packet of sequence number "B" by (2). , Ie, a packet obtained by dividing 2 × 2 = 4, 4 is recorded as the final division number. Then, when performing retransmission processing next, the packet may be immediately divided into four parts and retransmitted.
[0061]
By doing so, the expected value of the number of bit errors is reduced in accordance with the probability of occurrence of an error that varies from time to time, such as the surrounding electromagnetic wave condition, so that the packet can be transmitted to the destination terminal more quickly.
Further, when the error occurrence probability decreases, the number of divisions can be reduced to reduce the overhead such as the packet header. As a specific method for reducing the overhead, for example, there is a method that utilizes the number of packets that can be transmitted without requiring retransmission processing.
[0062]
That is, after the retransmission processing is completed, each time a packet can be delivered without the need for the retransmission processing, the recorded division number may be reduced by one. Note that the reduction width is not limited to one and may be two or more, or may be reduced by one each time all of a plurality of continuous packets can be delivered.
[0063]
In any case, the number of divisions must not be less than two. In this way, when the error occurrence probability decreases, the overhead required for the retransmission processing can be reduced, and the communication band can be effectively used.
In addition, as a method of determining the number of divisions, as described above, in addition to recording the number of divisions at the time of performing the last retransmission processing, the final number of divisions is recorded each time the retransmission processing is performed. Statistics may be taken and the most frequent division number may be selected.
[0064]
Alternatively, if the last retransmission processing is successfully completed, the size of the packet at that time is recorded, and in the next retransmission processing, the packet is immediately divided into the recorded size. good. In addition, instead of the number of divisions, statistics of the packet size may be obtained, and the most suitable packet size may be determined according to the statistics to divide the packet.
[0065]
Regardless of the method employed, if the number of divisions is increased as the error occurrence probability is higher, and if the number of divisions is decreased as the error occurrence probability is lower, the communication The overhead can be reduced, and the communication band can be used more effectively.
When the number of divisions is dynamically changed, a packet format different from the packet format described in the above embodiment may be employed, and the number of divisions may be stored in the packet header. Further, a flag indicating the last packet in a series of divided packets may be provided in the packet header. This is useful as information when the receiving terminal assembles the divided packets.
[0066]
(3) In the above embodiment, the case of the ad hoc mode in which the wireless communication terminals directly communicate with each other has been described as an example, but the following may be used instead.
That is, it may be an infrastructure mode in which communication is performed via a so-called access point. In this case, the retransmission processing may be performed between the wireless communication terminals or between the wireless communication terminal and the access point. In any case, the effects of the present invention can be achieved.
[0067]
(4) Although not explicitly stated in the above embodiment, the present invention may be applied to a so-called MAC layer protocol, and may be replaced with a basic OSI (Open System Interconnection) instead of the MAC layer protocol. It may be applied to a transport layer protocol in a reference model (Basic Reference Model). Regardless of which layer the target protocol belongs to, the effect can be obtained by applying the present invention.
[0068]
(5) In the above-described embodiment, the case where the present invention is applied exclusively to wireless communication has been described. However, the present invention is not limited to wireless communication, and can be applied to wired communication to achieve the effect. . For example, assuming a packet switched network, packet loss may occur due to network congestion. Even in such a case, by applying the present invention, it is possible to execute the retransmission processing while suppressing the bandwidth consumption, so that not only can the packets be delivered more reliably, but also it is difficult to cause network congestion. You can also.
[0069]
(6) In the above embodiment, a case has been described where a personal computer is exclusively used as a communication terminal. However, the present invention is not limited to this. The effect can be achieved. Further, the present invention can provide effects irrespective of whether the communication system is the pre-duplex system or the half-duplex system.
[0070]
【The invention's effect】
As described above, according to the present invention, a packet that has not been delivered to the destination terminal is divided and retransmitted, so that the expected value of the number of errors in the packet can be reduced in comparison with the case where the packet is not divided. Therefore, the packet can be more reliably delivered to the destination terminal.
[0071]
Further, as described above, since only the retransmission packet that has not been transmitted to the destination terminal among the retransmission packets is retransmitted, the bandwidth consumption required for retransmitting the packet can be reduced in comparison with the case where the packet is not divided. Therefore, the communication band can be effectively used.
Also, when retransmitting a retransmitted packet that has not been transmitted to the destination terminal, the retransmitted packet is divided and retransmitted, so that the retransmitted packet can be transmitted to the destination terminal more reliably as described above.
[0072]
Also, when retransmitting a packet, the number of packet divisions is dynamically optimized, so that the retransmitted packet can be delivered to the destination terminal more quickly. In addition, since communication overhead required for retransmission can be reduced, effective use of a communication band can be achieved.
[Brief description of the drawings]
FIG. 1 is a system configuration diagram showing a system configuration of a wireless LAN system according to an embodiment of the present invention.
FIG. 2 is a communication procedure when the personal computer 10 transmits a packet to the personal computer 11 in the wireless LAN system 1 according to the present embodiment, and the personal computer 11 detects a packet loss. FIG. 6 is a sequence diagram showing a communication procedure executed in the first embodiment.
FIG. 3 is a flowchart showing a flow of processing executed when the personal computers 10 and 11 transmit packets in the wireless LAN system 1 according to the present embodiment.
FIG. 4 is a flowchart showing a flow of processing executed when the personal computers 10 and 11 receive a packet in the wireless LAN system 1 according to the present embodiment.
FIG. 5 is a diagram showing a format of a packet transmitted and received by the personal computers 10 and 11 in the wireless LAN system 1 according to the present embodiment.
FIG. 6 is a communication procedure when the communication terminal 30 transmits a packet to the communication terminal 31 in the communication system according to the modified example (1), which is executed when the communication terminal 30 detects a packet loss. It is a sequence diagram showing a communication procedure.
[Explanation of symbols]
1. Wireless LAN system
2 ………… Packet
10, 11 ... personal computer
20: Packet control field
21 ... source address field
22 destination address field
23: Sequence number # 1 field
24 ............. Sequence number # 2 field
25 Sequence number # 3 field
26 Data field
27 ……… FCS field
30, 31 ... communication terminal

Claims (11)

宛先装置にパケットを送信するパケット通信装置であって、
宛先装置からパケットの再送を要求されると、要求されたパケットを分割して複数のパケットとするパケット分割手段と、
前記複数のパケットを宛先装置に送信するパケット送信手段と
を備えることを特徴とするパケット通信装置。
A packet communication device for transmitting a packet to a destination device,
A packet dividing means for dividing the requested packet into a plurality of packets when requested to retransmit the packet from the destination device;
A packet transmission device for transmitting the plurality of packets to a destination device.
宛先装置にパケットを送信するパケット通信装置であって、
パケットを再送すべきであるか否かを判定する再送判定手段と、
前記再送判定手段がパケットを再送すべきであると判定した場合に、再送すべきパケットを分割して複数のパケットとするパケット分割手段と、
前記複数のパケットを宛先装置に送信するパケット送信手段と
を備えることを特徴とするパケット通信装置。
A packet communication device for transmitting a packet to a destination device,
Retransmission determination means for determining whether to retransmit the packet,
When the retransmission determination unit determines that the packet should be retransmitted, a packet division unit that divides the packet to be retransmitted into a plurality of packets,
A packet transmission device for transmitting the plurality of packets to a destination device.
パケットを受信した旨を通知する確認応答を前記宛先装置から受信する確認応答受信手段を備え、
前記再送判定手段は、パケットを送信してから所定時間以内に当該パケットに係る確認応答を受信しなかった場合に、当該パケットを再送すべきであると判定する
ことを特徴とする請求項2に記載のパケット通信装置。
An acknowledgment receiving unit that receives an acknowledgment notifying that the packet has been received from the destination device,
The method according to claim 2, wherein the retransmission determination unit determines that the packet should be retransmitted if an acknowledgment relating to the packet is not received within a predetermined time after transmitting the packet. A packet communication device according to claim 1.
前記パケット分割手段は、再送すると判定したパケットに含まれるサービスデータ単位を複数のサービスデータ単位に分割し、その各々にプロトコル制御情報を付与することによって、前記複数のパケットとする
ことを特徴とする請求項1または請求項2に記載のパケット通信装置。
The packet division unit divides a service data unit included in a packet determined to be retransmitted into a plurality of service data units, and assigns protocol control information to each of the plurality of service data units, thereby forming the plurality of packets. The packet communication device according to claim 1 or 2.
再送すべきパケットが所定のデータ長以下ならば、前記パケット分割手段に当該パケットを分割させないで、前記パケット送信手段に再送させるパケット分割制御手段
を備えることを特徴とする請求項1または請求項2に記載のパケット通信装置。
3. The apparatus according to claim 1, further comprising a packet division control unit configured to cause the packet transmission unit to retransmit the packet if the packet to be retransmitted is shorter than a predetermined data length without causing the packet division unit to divide the packet. 2. The packet communication device according to 1.
前記パケット分割手段が過去にパケットを分割して得たパケットの数に応じて、前記パケット分割手段がパケットを分割する際の分割数を決定する分割数決定手段
を備えることを特徴とする請求項1または請求項2に記載のパケット通信装置。
2. The apparatus according to claim 1, further comprising: a division number determining unit that determines the number of divisions when the packet division unit divides the packet according to the number of packets obtained by dividing the packet in the past. The packet communication device according to claim 1 or 2.
前記分割数決定手段は、前記パケット分割手段が最後にパケットを分割して得たパケットの数を、前記パケット分割手段がパケットを分割する際の分割数とする
ことを特徴とする請求項6に記載のパケット通信装置。
7. The method according to claim 6, wherein the division number determination unit sets the number of packets obtained by dividing the packet last by the packet division unit as the division number when the packet division unit divides the packet. A packet communication device according to claim 1.
前記分割数決定手段は、前記パケット分割手段が最後にパケットを分割した後に送信したパケット数に応じて、前記分割数を減ずる
ことを特徴とする請求項6または請求項7に記載のパケット通信装置。
8. The packet communication device according to claim 6, wherein the division number determining unit reduces the division number in accordance with the number of packets transmitted after the packet division unit last divides the packet. .
宛先装置にパケットを送信するパケット通信装置が実行するパケット通信方法であって、
宛先装置からパケットの再送を要求されると、要求されたパケットを分割して複数のパケットとするパケット分割ステップと、
前記複数のパケットを宛先装置に送信するパケット送信ステップと
を備えることを特徴とするパケット通信方法。
A packet communication method executed by a packet communication device that transmits a packet to a destination device,
When a packet retransmission is requested from the destination device, a packet division step of dividing the requested packet into a plurality of packets,
A packet transmission step of transmitting the plurality of packets to a destination device.
宛先装置にパケットを送信するパケット通信装置が実行するパケット通信方法であって、
パケットを再送すべきであるか否かを判定する再送判定ステップと、
前記再送判定手段がパケットを再送すべきであると判定した場合に、再送すべきパケットを分割して複数のパケットとするパケット分割ステップと、
前記複数のパケットを前記宛先装置に送信するパケット送信ステップと
を備えることを特徴とするパケット通信方法。
A packet communication method executed by a packet communication device that transmits a packet to a destination device,
A retransmission determination step of determining whether to retransmit the packet;
A packet division step of dividing the packet to be retransmitted into a plurality of packets when the retransmission determination unit determines that the packet should be retransmitted;
A packet transmission step of transmitting the plurality of packets to the destination device.
請求項9または請求項10に記載のパケット通信方法をコンピュータに実行させることを特徴とするパケット通信プログラム。A packet communication program for causing a computer to execute the packet communication method according to claim 9 or 10.
JP2002195011A 2002-07-03 2002-07-03 Packet communication equipment and packet communication method Pending JP2004040493A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002195011A JP2004040493A (en) 2002-07-03 2002-07-03 Packet communication equipment and packet communication method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002195011A JP2004040493A (en) 2002-07-03 2002-07-03 Packet communication equipment and packet communication method

Publications (1)

Publication Number Publication Date
JP2004040493A true JP2004040493A (en) 2004-02-05

Family

ID=31703559

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002195011A Pending JP2004040493A (en) 2002-07-03 2002-07-03 Packet communication equipment and packet communication method

Country Status (1)

Country Link
JP (1) JP2004040493A (en)

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004114610A1 (en) * 2003-06-18 2004-12-29 Nippon Telegraph And Telephone Corporation Radio packet communication method
WO2005119969A1 (en) * 2004-06-02 2005-12-15 Matsushita Electric Industrial Co., Ltd. Radio transmission method
JP2006295740A (en) * 2005-04-13 2006-10-26 Kddi Corp Data communication method and system
JP2007036759A (en) * 2005-07-27 2007-02-08 Yamaha Corp Wireless audio transmission system, wireless audio receiver, and wireless audio transmitter
JP2008053854A (en) * 2006-08-22 2008-03-06 Fujitsu Ltd Data retransmission method, communication device and computer program
JP2009246855A (en) * 2008-03-31 2009-10-22 Yamatake Corp Communicating system
JP2010022050A (en) * 2009-10-19 2010-01-28 Fujitsu Ltd Retransmission method for data, and communication device
JP2010022049A (en) * 2009-10-19 2010-01-28 Fujitsu Ltd Retransmission method for data, and communication device
JP2011182465A (en) * 2011-06-07 2011-09-15 Fujitsu Ltd Data retransmission method, and communication device
JP5372303B1 (en) * 2013-03-01 2013-12-18 三菱電機株式会社 Wireless terminal device, wireless mesh network, and communication method
JP2018201186A (en) * 2017-03-29 2018-12-20 ザ・ボーイング・カンパニーThe Boeing Company Aircraft communications system for transmitting data
JP2019022234A (en) * 2018-10-25 2019-02-07 大井電気株式会社 Radio equipment
WO2021095896A1 (en) * 2019-11-11 2021-05-20 엘지전자 주식회사 Audio transmission device, wireless audio system, and wireless audio retransmission method
WO2024185145A1 (en) * 2023-03-09 2024-09-12 日本電信電話株式会社 Authentication system, device, method, and program

Cited By (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004114610A1 (en) * 2003-06-18 2004-12-29 Nippon Telegraph And Telephone Corporation Radio packet communication method
US8989108B2 (en) 2003-06-18 2015-03-24 Nippon Telegraph And Telephone Corporation Wireless packet communication method and wireless packet communication apparatus
US7974243B2 (en) 2003-06-18 2011-07-05 Nippon Telegraph And Telephone Corporation Wireless packet communication method and wireless packet communication apparatus
WO2005119969A1 (en) * 2004-06-02 2005-12-15 Matsushita Electric Industrial Co., Ltd. Radio transmission method
JP4609938B2 (en) * 2005-04-13 2011-01-12 Kddi株式会社 Data communication method and system
JP2006295740A (en) * 2005-04-13 2006-10-26 Kddi Corp Data communication method and system
JP2007036759A (en) * 2005-07-27 2007-02-08 Yamaha Corp Wireless audio transmission system, wireless audio receiver, and wireless audio transmitter
JP2008053854A (en) * 2006-08-22 2008-03-06 Fujitsu Ltd Data retransmission method, communication device and computer program
JP2009246855A (en) * 2008-03-31 2009-10-22 Yamatake Corp Communicating system
JP2010022049A (en) * 2009-10-19 2010-01-28 Fujitsu Ltd Retransmission method for data, and communication device
JP2010022050A (en) * 2009-10-19 2010-01-28 Fujitsu Ltd Retransmission method for data, and communication device
JP2011182465A (en) * 2011-06-07 2011-09-15 Fujitsu Ltd Data retransmission method, and communication device
JP5372303B1 (en) * 2013-03-01 2013-12-18 三菱電機株式会社 Wireless terminal device, wireless mesh network, and communication method
WO2014132446A1 (en) * 2013-03-01 2014-09-04 三菱電機株式会社 Radio terminal device, radio mesh network, and communication method
JP2018201186A (en) * 2017-03-29 2018-12-20 ザ・ボーイング・カンパニーThe Boeing Company Aircraft communications system for transmitting data
JP2019022234A (en) * 2018-10-25 2019-02-07 大井電気株式会社 Radio equipment
WO2021095896A1 (en) * 2019-11-11 2021-05-20 엘지전자 주식회사 Audio transmission device, wireless audio system, and wireless audio retransmission method
WO2024185145A1 (en) * 2023-03-09 2024-09-12 日本電信電話株式会社 Authentication system, device, method, and program

Similar Documents

Publication Publication Date Title
US8988994B2 (en) System and method for creating logical radio link control (RLC) and medium access control (MAC) protocol data units (PDUs) in mobile communication system
US7433314B2 (en) Method and system for acknowledging the receipt of a transmitted data stream in a wireless personal area network
US7944819B2 (en) System and method for transmission and acknowledgment of blocks of data frames in distributed wireless networks
US7586948B2 (en) Packet sub-frame structure for selective acknowledgment
US7391758B2 (en) UMTS radio link control with full concatenation
US7161909B2 (en) Method and system for acknowledging the receipt of a transmitted data stream in a wireless communication system
US20060034274A1 (en) System and method for variable length acknowledgements in a shared resource network
EP1722516A1 (en) Method and system for handling out-of-order segments in a wireless system via direct data placement
US11159981B2 (en) Congestion processing method and apparatus
US20060136614A1 (en) System and method for variable length aggregate acknowledgements in a shared resource network
US20100315999A1 (en) Use of block acknowledgement policy for wireless networks
JP2002522959A (en) Efficient error control method for wireless packet transfer
US8599734B1 (en) TCP proxy acknowledgements
JP2004040493A (en) Packet communication equipment and packet communication method
KR101133817B1 (en) Wireless network and method for communicating aggregated packets
Saif et al. SRA-MSDU: Enhanced A-MSDU frame aggregation with selective retransmission in 802.11 n wireless networks
CN113938431B (en) Burst data packet transmission method and device and electronic equipment
EP3790213B1 (en) Mac-based hybrid automatic repeat request (harq)
JP7502691B2 (en) Wireless communication device, wireless communication method, and wireless communication system
US8073012B2 (en) Method and related apparatus for handling packet discard in a wireless communications system
KR100352896B1 (en) A method for transmitting data at MAC layer in wireless LAN system
Sharon et al. The combination of QoS, aggregation and RTS/CTS in very high throughput IEEE 802.11 ac networks
JP5058072B2 (en) Wireless communication device
CN117134865A (en) Communication method and device