JP2014176015A - 無線通信装置及びデータパケット再送方法 - Google Patents

無線通信装置及びデータパケット再送方法 Download PDF

Info

Publication number
JP2014176015A
JP2014176015A JP2013049365A JP2013049365A JP2014176015A JP 2014176015 A JP2014176015 A JP 2014176015A JP 2013049365 A JP2013049365 A JP 2013049365A JP 2013049365 A JP2013049365 A JP 2013049365A JP 2014176015 A JP2014176015 A JP 2014176015A
Authority
JP
Japan
Prior art keywords
ack
packet
unit
transfer
data packet
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
JP2013049365A
Other languages
English (en)
Inventor
Yuji Kuwabara
祐治 桑原
Tomohiro Yui
智裕 由比
Yoshinao Kawai
良直 河合
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 Corp
Original Assignee
Panasonic Corp
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 Panasonic Corp filed Critical Panasonic Corp
Priority to JP2013049365A priority Critical patent/JP2014176015A/ja
Publication of JP2014176015A publication Critical patent/JP2014176015A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Mobile Radio Communication Systems (AREA)

Abstract

【課題】パケットロスが発生した場合であっても、迅速かつ確実な送受信の再開が可能な無線通信装置を提供すること。
【解決手段】無線通信装置は、通信プロトコル処理部からのシーケンス番号が付されたデータパケットを受信装置へ送信し、データパケットの受領を示す受信装置からのACK番号が付されたACKパケットを受信する無線通信部と、無線通信部が受信した最新のACKパケットを複製するACK複製部と、ACK複製部が複製した最新の複製ACKパケットを、所定時間毎に、通信プロトコル処理部へ転送する複製ACK転送部と、備える。通信プロトコル処理部は、同じ複製ACKパケットを所定回数受け取ると、当該複製ACKパケットに付されたACK番号に等しいシーケンス番号のデータパケットの再送を決定する。
【選択図】図2

Description

本開示は、IP(Internet Protocol)ネットワークを介してTCP(Transmission Control Protocol)を用いた通信データパケットの転送を行う無線通信装置及びデータパケット再送方法に関する。
近年では、無線通信によるデータの転送速度が向上した。IEEE 802.11ad又はIEEE 802.11ac等の無線通信規格は、最大スループットが1Gビット/秒(1Gbps)を達成する。特にIEEE 802.11adは、理論上の最大スループットが7Gbpsを達成する規格である。IEEE 802.11ad又はIEEE 802.11acでは、TCP/IPプロトコルを使用した通信が使われることが想定される。
以下、TCPにおけるデータパケットの送受信について、図8を参照して説明する。TCPにおけるデータパケットのパケットサイズは、既に送受信したパケットのMSS(Maximum Segment Size)及びMTU(Max Transfer Unit Size)に基づいて決定される。なお、図8では、簡単のため、データパケットのパケットサイズは1として記載されている。
送信側装置10が送ったデータパケットが受信側装置11に到達したことは、ACKパケット(Acknowledgement Packet)を受信側装置11が送信側装置10に送り、それを送信側装置10が受け取ることによって確認される。図8には、データパケットの送信が実線の矢印で示され、ACKパケットの送信が破線の矢印で示されている。送信側装置10は、各データパケットにシーケンス番号(図8では「Seq」と表記)を付与する。また、受信側装置11は、受信したデータパケットのシーケンス番号にパケットサイズを足したACK番号(図8では「Ack」と表記)及び受信可能なウィンドウサイズ(図8では「Win」と表記)をACKパケットに付与する。
ウィンドウサイズとは、送信側装置10が、ACKパケットを得ることなく、受信側装置11にデータパケットを送り続けることが可能なデータ量である。ウィンドウサイズが大きいと、送信側装置10がACKパケットを得なくても大量のデータパケットを送り続けることができる。
無線伝送時のエラー等でデータパケットが欠落した場合、送信側装置10には、当該欠落したデータパケットに対応したACKパケットが到達しない。送信側装置10によるデータパケットの送信から一定時間が経過しても送信側装置10がACKパケットを受信しない場合、送信側装置10は、得られなかったACKパケットに対応したデータパケットを再送する。データパケットの送信から再送までの時間は、RTO(Retransmission Time Out)と規定される。RTOは、送信側装置10によるデータパケットの送信から、対応するACKパケットを受信するまでの時間である、RTT(Round Trip Time)に基づいて算出される。
TCPにおいて、データパケットが欠落するたびRTOが経過するまで再送を行わないと、スループットが低下する。スループットの低下を回避する一方法では、送信側装置10がデータパケットを送り、受信側装置11で受信できていないデータパケットがあれば、受信側装置11は、当該受信できていないデータパケットに対応した重複確認応答パケット(Duplicate Acknowledgement Packet:以下「DupACKパケット」という)を送信側装置10に送信する。送信側装置10がDupACKパケットを3回連続して受信した場合、送信側装置10は即座にデータパケットを再送する。これを高速再送(非特許文献1を参照)という。
高速再送の一例を図9に示す。図9に示した例では、送信側装置10から送出されたシーケンス番号が2(Seq=2)のデータパケットが無線伝送中に欠落した場合、受信側装置11は、後続のデータパケット(Seq=3)〜データパケット(Seq=5)をそれぞれ受信した際に、ACK番号が2(Ack=2)のACKパケットをDupACKパケットとして送信側装置10に送信する。送信側装置10は、DupACKパケットを3回連続して受信すると、シーケンス番号が2(Seq=2)のデータパケットを即座に再送する。
特開2010―50665号公報
W. Richard Stevens氏,「TCP Slow Start, Congestion Avoidance, Fast Retransmit, and Fast Recovery Algorithms」,RFC 2001,1997年1月
IEEE 802.11adの規格による無線通信は、通信速度が最大伝送速度が7Gbpsと非常に高速化されている反面、通信範囲がおおよそ10m程度と狭く、遮蔽物にも弱い特性がある。このため、通信相手と距離が離れていたり、通信相手との間に遮蔽物が存在する場合には、無線エラーが起こりやすい。したがって、高速再送を使い、効率よく再送を促すことが必要である。
しかしながら、上記説明したように、高速再送は、受信側装置にデータパケットが到達し、受信側装置がDupACKパケットを送信側装置に送信することで成り立つ機能である。このため、無線リンク状態が悪化し、バーストエラーが発生(複数のデータがロスト)した場合、受信側装置にはデータパケットが到達しない。その結果、高速再送が機能せず、結局はRTO後の再送になってしまう。また、無線リンク状態が悪化し、バーストエラーが発生(複数のデータがロスト)した後、無線リンク状態が回復した場合には、早期にデータパケットの送受信を再開する必要がある。
特許文献1に開示された移動体通信システムには、送信端末と受信端末の間に中継装置が設けられ、中継装置が無線リンクを監視する。中継装置は、ハンドオーバ等による無線リンクの一時的な非接続状態を検出した場合、受信側装置から送信されたTCPのACKパケットを蓄積する。中継装置は、さらに、無線リンクが接続状態に復帰したことを検出すると、蓄積しておいたACKパケットを、指定した回数だけ複製して送信する。
特許文献1におけるパケット送受信のシーケンスの例を図10に示す。図10に示す例では、送信端末31がデータパケット1〜4を送信し、受信端末36がこれらのデータパケットを受信する。受信端末36は、データパケット1〜4に対する確認応答としてACKパケット1〜4を送信し、送信端末31がこれらのACKパケットを受信する。このとき、受信側中継装置35は、中継するACKパケットのうち最新のものを蓄積する。このため、送信端末31がACKパケット4を受信した時点で、受信側中継装置35は、ACKパケット4を蓄積している。
送信端末31がACKパケット4を受信した直後、ハンドオーバが発生し、送信端末31から送信されたデータパケット5〜8が無線伝送中に消失したとする。ハンドオーバ中は無線リンクが非接続状態となるが、ハンドオーバが終了して無線リンクの接続状態が回復し、受信側無線機34が当該接続状態を確認すると、受信側中継装置35は、蓄積しているACKパケット4を複数個複製して送信端末31側に送信する。
送信端末31は、ACKパケット4を受信することにより、データパケット5以降が無線伝送中に消失したと判断して、データパケット5〜8を再送する。受信端末36がデータパケット5〜8を受信すると、受信端末36は、データパケット5〜8に対する確認応答としてACKパケット5〜8を送信し、送信端末31がこれらのACKパケットを受信する。送信端末31は、ACKパケット5〜8を受信することにより、再送したデータパケット5〜8の消失がなかったと判断して、データパケット9〜12を送信し、以降、この動作を繰り返す。
このように、特許文献1に開示された移動体通信システムでは、中継装置が、無線リンクの状態を監視しつつ、ACKパケットを蓄積し、無線リンクの接続が回復した後にACKパケットを複数個複製して無線機を介して送信することで、早期にデータパケットの送受信を再開することを可能とする。
しかし、特許文献1に開示された移動体通信システムは、以下に示す4つの問題を含む。
1.中継装置が必要であるため機器間通信では実現が困難である。
2.無線リンクの状態を監視するための設計コストが多くなる。
3.中継装置が蓄積したACKパケットを複数個複製して無線機を介して送信する設計コスト及び周波数コストが多くなる。
4.中継装置が蓄積したACKパケットを複数個複製して無線機を介して送信するが、送信側の装置にこれらの複製されたACKパケットが確実に到達する保証ができない。
無線LAN等のローカルエリア通信では、AP(Access Point)等の中継装置を介さない機器間通信が広く使われるようになってきている。そのため、特許文献1に開示された移動体通信システムで設けられている中継装置を用いた解決は現実的ではない。また、中継装置による無線リンクの監視は、当該監視のための手段等を考慮すると実装上の制約が考えられ、設計コストが大きくなる。また、無線リンクの回復後に行われる中継装置に蓄積されたACKパケットの無線送信には、そのための周波数コスト及び無線によるデータロストがある。すなわち、送信装置側にACKパケットが到達する保証が無いため、確実にデータパケットの送受信を再開できるとは限らない。
本開示の目的は、簡単な構成で、パケットロスが発生した場合であっても、迅速かつ確実な送受信の再開が可能な無線通信装置及びデータパケット再送方法を提供することである。
本開示に係る無線通信装置は、通信プロトコル処理部からのシーケンス番号が付されたデータパケットを受信装置へ送信し、前記データパケットの受領を示す前記受信装置からのACK番号が付されたACKパケットを受信する無線通信部と、前記無線通信部が受信した最新のACKパケットを複製するACK複製部と、前記ACK複製部が複製した最新の複製ACKパケットを、所定時間毎に、前記通信プロトコル処理部へ転送する複製ACK転送部と、備え、前記通信プロトコル処理部は、同じ複製ACKパケットを所定回数受け取ると、当該複製ACKパケットに付されたACK番号に等しいシーケンス番号のデータパケットの再送を決定する。
本開示に係るデータパケット再送方法は、通信プロトコル処理部からのシーケンス番号が付されたデータパケットを受信装置へ送信し、
前記データパケットの受領を示す前記受信装置からのACK番号が付されたACKパケットを受信し、前記受信した最新のACKパケットを複製し、前記最新の複製ACKパケットを、所定時間毎に、前記通信プロトコル処理部へ転送し、前記通信プロトコル処理部が同じ複製ACKパケットを所定回数受け取ると、当該複製ACKパケットに付されたACK番号に等しいシーケンス番号のデータパケットの再送を決定する。
本開示によれば、簡単な構成で、パケットロスが発生した場合であっても、迅速かつ確実な送受信の再開が可能である。その結果、スループットの低下を防止することができる。また、当該効果は送信側装置の構成の変更だけで実現できるため、無線を介さずに低コストで実現できる。
本開示の実施の形態1に係る送信側装置及び受信側装置を含む無線通信システムの構成を示すブロック図 本開示の実施の形態1に係るデータパケットの送受信及び再送を示すシーケンス図 本開示の実施の形態1に係るDupAckの転送がキャンセルされる場合のシーケンス図 本開示の実施の形態2に係る送信側装置の内部構成を示すブロック図 本開示の実施の形態2に係るデータパケットの送受信及び再送を示すシーケンス図 本開示の実施の形態3に係る送信側装置の内部構成を示すブロック図 本開示の実施の形態3に係るデータパケットの送受信を示すシーケンス図 TCPにおけるデータパケットの送受信を示すシーケンス図 TCPにおけるデータパケットの高速再送を示すシーケンス図 特許文献1におけるパケット送受信のシーケンス図
以下、本開示の実施の形態について、図面を参照しながら説明する。なお、以下説明する実施の形態においては、TCP/IPでの通信を例に説明を行う。但し、本開示はTCP/IPの通信プロトコルに限らず、受信側装置がパケットの受領を示す確認応答パケット(ACKパケット)を送信側装置に送信し、当該ACKパケットに基づいて送信側装置が再送の判定を行う同種の通信プロトコルにも適用可能である。
(実施の形態1)
図1は、本開示の実施の形態1に係る送信側装置及び受信側装置を含む無線通信システムの構成を示すブロック図である。図1に示す無線通信システムが含む送信側装置100は、アプリケーション処理部140と、通信プロトコル処理部141と、MAC(Media Access Control)処理部142と、無線処理部143とを備える。なお、図1に示すように、受信側装置110も送信側装置100と同様の構成要素を備える。
以下、送信側装置100が備える各構成要素について説明する。アプリケーション処理部140は、OSI参照モデルにおける第7層(アプリケーション層)〜第5層(セッション層)での処理を行う。通信プロトコル処理部141は、後述する同じACK番号のDupACKパケットを一定時間毎にMAC処理部142から3度続けて転送された場合、RTO(Retransmission Time Out)を待たずにデータパケットの再送を行う。通信プロトコル処理部141は、TCP処理部51及びIP処理部53を有する。通信プロトコル処理部141のTCP処理部51は、OSI参照モデルにおける第4層(トランスポート層)での処理を行う。また、通信プロトコル処理部141のIP処理部53は、OSI参照モデルにおける第3層(ネットワーク層)での処理を行う。MAC処理部142は、OSI参照モデルにおける第2層(データリンク層)での処理を行う。無線処理部143は、OSI参照モデルにおける第1層(物理層)での処理を行う。
次に、MAC処理部142の内部構成について説明する。図1に示すように、MAC処理部142は、MAC送信部61と、MAC受信部63と、第1転送部65と、ACK複製部67と、第2転送部69とを有する。
MAC送信部61は、通信プロトコル処理部141よりデータパケットを受け、当該データパケットを無線処理部143を介して接続先の受信側装置110に送信する。MAC受信部63は、MAC送信部61が送信したデータパケットに対応する、受信側装置110からのACKパケットを受信する。また、MAC受信部63は、受信したACKパケットを第1転送部65に送る。さらに、MAC受信部63は、受信したACKパケットの内、現時点で最後に受信した最新の(latest)ACKパケットをACK複製部67に送る。
第1転送部65は、MAC受信部63から送られたACKパケットを通信プロトコル処理部141に転送する。ACK複製部67は、MAC受信部63から送られたACKパケットを複製し保存する。なお、ACK複製部67は、MAC受信部63から新たなACKパケットが送られる度に当該ACKパケットを複製し、当該複製した新たなACKパケットを既存のACKパケットに上書き(overwrite)して保存する。
第2転送部69は、ACK複製部67に保存されたACKパケットを、DupACKパケット(Duplicate ACKパケット)として、一定時間毎に3度、プロトコル処理部141に転送する。なお、一定時間は、例えば固定値である。第2転送部69は、DupACKパケットを一定時間毎に3度転送する処理を完了する前に、MAC受信部63が新たなACKパケットを受信し、ACK複製部67でこの新たなACKパケットが複製された場合には、通信プロトコル処理部141へのDupACKパケットの転送を中止する。この場合、第2転送部69は、ACK複製部67で複製された新たなACKパケットを新たなDupACKパケットとして、一定時間毎に3度、通信プロトコル処理部141に転送する。
図2は、本開示の実施の形態1に係るデータパケットの送受信及び再送を示すシーケンス図である。図2に示すように、送信側装置100の通信プロトコル処理部141からデータパケット(Seq=1)〜データパケット(Seq=4)が、MAC処理部142及び無線処理部143を介して送信される。受信側装置110は、受信したデータパケットに対応したACKパケット(Ack=5、Win=4)を送信側装置100に送信し、送信側装置100が当該ACKパケットを受信する。
なお、送信側装置100は、各データパケットにシーケンス番号(図2では「Seq」と表記)を付与する。また、受信側装置11は、受信したデータパケットの内の最も古いシーケンス番号にパケットサイズを足したACK番号(図2では「Ack」と表記)及び受信可能なウィンドウサイズ(図2では「Win」と表記)をACKパケットに付与する。
送信側装置100のMAC処理部142は、受信したACKパケット(Ack=5、Win=4)を複製したDupACKパケット(Ack=5、Win=4)を、一定時間毎に3度、送信側装置100の通信プロトコル処理部141に転送する。当該DupACKパケットの転送とは別の処理として、送信側装置100の通信プロトコル処理部141からはデータパケット(Seq=5)〜データパケット(Seq=8)が、MAC処理部142及び無線処理部143を介して送信される。しかし、これらのデータパケットが受信側装置110までの無線伝送中に消失すると、受信側装置110にはデータパケットが到達しないため、送信側装置100にはACKパケットが送信されない。一方、送信側装置100は、データパケットを送信後、ACKパケット待ちの状態となり、後続のデータパケット(Seq=9)〜データパケット(Seq=12)を送信できない。
図2に示した例では、送信側装置100の通信プロトコル処理部141に、同じACK番号(Ack=5)のDupACKパケットが3度転送される。この場合、通信プロトコル処理部141は、当該DupACKパケットが示すACK番号に等しいシーケンス番号のデータパケット(Seq=5)〜データパケット(Seq=8)の再送を決定し実行する。
一方、図3に示した例では、通信プロトコル処理部141がデータパケット(Seq=5)〜データパケット(Seq=8)を送信した後、Ack=5の3度目のDupACKパケット(DupACK3)の転送が行われる前に、送信側装置100がデータパケット(Seq=8)に対するACKパケット(Ack=9、Win=4)を受信する。この場合、通信プロトコル処理部141は、図2を参照した上述のデータパケットの再送を行わず、後続のデータパケット(Seq=9)〜データパケット(Seq=12)を、MAC処理部142及び無線処理部143を介して送信する。なお、送信側装置100のMAC処理部142は、ACKパケット(Ack=9、Win=4)を受信したとき、3度目のDupACK3(Ack=5、Win=4)の転送を中止すると共に、当該ACKパケット(Ack=9、Win=4)を複製したDupACKパケットを一定時間毎に3度転送する処理を開始する。
以上説明したように、本実施の形態では、送信側装置100から受信側装置110への無線伝送中にパケットロスが発生した場合、送信側装置100の通信プロトコル処理部141は、同装置100内のMAC処理部142から同じACK番号のDupACKパケットが一定時間毎に3度転送されると、RTO(Retransmission Time Out)を待たずにデータパケットの再送を行う。同じACK番号のDupACKパケットが一定時間毎に3度転送されるまでの時間はRTOよりも短いため、パケットロスが発生した場合であっても、迅速かつ確実な送受信の再開が可能である。また、上記効果は送信側装置100の構成の変更だけで実現できるため、無線を介さずに低コストで実現できる。
(実施の形態2)
図4は、本開示の実施の形態2に係る送信側装置の内部構成を示すブロック図である。第2の実施形態の送信側装置200が第1の実施形態の送信側装置100と異なる点は、MAC処理部242の内部構成である。図4において、図1と共通する構成要素には同じ参照符号が付されている。本実施の形態では、第1実施形態と同一又は同等部分に関しては説明を簡略化又は省略する。
実施の形態2のMAC処理部242は、実施の形態1のMAC処理部142が有するMAC送信部61、MAC受信部63、第1転送部65及びACK複製部67に加えて、RTT計測部71と、転送間隔決定部73と、第2転送部79とを有する。
RTT計測部71は、MAC送信部61がデータパケットを送信してからMAC受信部63がこのデータパケットのACKパケットを受信するまでの時間(RTT:Round Trip Time)を計測する。転送間隔決定部73は、RTT計測部71が計測したRTTに任意の値である係数を乗算した値を「転送間隔」として決定する。なお、転送間隔は、第2転送部79が通信プロトコル処理部141にDupACKパケットを3度続けて転送する際の、各転送間の時間間隔である。
第2転送部79は、ACK複製部67に保存されたACKパケットを、DupACKパケットとして、転送間隔決定部73が決定した転送間隔で3度、プロトコル処理部141に転送する。なお、第2転送部79は、DupACKパケットを上記転送間隔で3度転送する処理を完了する前に、MAC受信部63が新たなACKパケットを受信し、ACK複製部67でこの新たなACKパケットが複製された場合には、通信プロトコル処理部141へのDupACKパケットの転送を中止する。この場合、第2転送部79は、ACK複製部67で複製された新たなACKパケットを新たなDupACKパケットとして、転送間隔決定部73が再度決定した転送間隔で3度、通信プロトコル処理部141に転送する。
図5は、本開示の実施の形態2に係るデータパケットの送受信及び再送を示すシーケンス図である。図5に示すように、送信側装置200の通信プロトコル処理部141からデータパケット(Seq=1)〜データパケット(Seq=4)が、MAC処理部242及び無線処理部143を介して送信される。受信側装置110は、受信したデータパケットに対応したACKパケット(Ack=5、Win=4)を送信側装置200に送信し、送信側装置200が当該ACKパケットを受信する。
MAC処理部242のRTT計測部71は、データパケット(Seq=4)の送信からACKパケット(Ack=5、Win=4)の受信までの時間をRTTとして計測する。さらに、MAC処理部242の転送間隔決定部73は、RTTに基づいて転送間隔を決定する。
送信側装置200のMAC処理部242は、受信したACKパケット(Ack=5、Win=4)を複製したDupACKパケット(Ack=5、Win=4)を、転送間隔決定部73によって決定された転送間隔で3度、送信側装置200の通信プロトコル処理部141に転送する。当該DupACKパケットの転送とは別の処理として、送信側装置200の通信プロトコル処理部141からはデータパケット(Seq=5)〜データパケット(Seq=8)が、MAC処理部242及び無線処理部143を介して送信される。しかし、これらのデータパケットが受信側装置110までの無線伝送中に消失すると、受信側装置110にはデータパケットが到達しないため、送信側装置200にはACKパケットが送信されない。一方、送信側装置200は、データパケットを送信後、ACKパケット待ちの状態となり、後続のデータパケット(Seq=9)〜データパケット(Seq=12)を送信できない。
図5に示した例では、送信側装置200の通信プロトコル処理部141に、同じACK番号(Ack=5)のDupACKパケットが3度転送される。この場合、通信プロトコル処理部141は、当該DupACKパケットが示すACK番号に等しいシーケンス番号のデータパケット(Seq=5)〜データパケット(Seq=8)の再送を決定し実行する。
以上説明したように、本実施の形態では、送信側装置200において、MAC処理部242から通信プロトコル処理部141に転送されるDupACKパケットは、RTTに基づく転送間隔で転送される。したがって、RTTが変動に応じたDupACKパケットの転送が可能であるため、送信側装置200における再送までの時間が適当な時間となるよう変更できる。
(実施の形態3)
図6は、本開示の実施の形態3に係る送信側装置の内部構成を示すブロック図である。第3の実施形態の送信側装置300が第1の実施形態の送信側装置100と異なる点は、MAC処理部342の内部構成である。図6において、図1と共通する構成要素には同じ参照符号が付されている。本実施の形態では、第1実施形態と同一又は同等部分に関しては説明を簡略化又は省略する。
実施の形態3のMAC処理部342は、実施の形態1のMAC処理部142が有するMAC送信部61、MAC受信部63、第1転送部65及びACK複製部67に加えて、シーケンス番号取得部81と、転送可否判定部83と、第2転送部89とを有する。なお、シーケンス番号取得部81及び転送可否判定部83が、実施の形態2の送信側装置200のMAC処理部242の内部に設けられた構成であっても良い。
シーケンス番号取得部81は、通信プロトコル処理部141から転送されMAC送信部61から送信されるデータパケットにおける最新のシーケンス番号を取得する。転送可否判定部83は、シーケンス番号取得部81が取得したシーケンス番号とACK複製部45に保存されているACKパケットのACK番号を比較して、その比較結果に応じて、第2転送部89によるDupAckパケットの転送の可否を判断判定する。なお、TCPのACK番号は32ビットで表記され、4Gバイト毎にラップアラウンド(循環)する。このため、シーケンス番号とACK番号を比較する際、転送可否判定部83は、このラップアラウンドも考慮した大小関係の比較を行う。
DupACKパケットのACK番号が上記取得したシーケンス番号よりも大きい(ACK番号>シーケンス番号)場合、転送可否判定部83は、DupACKパケットの転送の中止を第2転送部89に指示する。逆に、DupACKパケットのACK番号が上記取得したシーケンス番号以下である(ACK番号≦シーケンス番号)場合、転送可否判定部83は、DupACKパケットの転送を第2転送部89に許可する。なお、ACK番号がシーケンス番号よりも大きい場合において、その差分の絶対値(|シーケンス番号−ACK番号|)が、32ビットで表すことができる値の半値よりも大きい場合、転送可否判定部83は、シーケンス番号がラップアラウンドしたと判断して、DupACKパケットの転送を第2転送部89に許可する。
第2転送部89は、ACK複製部67に保存されたACKパケットを、DupACKパケットとして、一定時間毎に3度、プロトコル処理部141に転送する。但し、第2転送部89は、1度の転送毎に、転送可否判定部83によって許可されていれば転送を行うが、転送可否判定部83によって中止が指示されていれば転送を中止する。また、第2転送部89は、転送中止の如何にかかわらず、DupACKパケットを一定時間毎に3度転送する処理を完了する前に、MAC受信部63が新たなACKパケットを受信し、ACK複製部67でこの新たなACKパケットが複製された場合には、通信プロトコル処理部141へのDupACKパケットの転送を中止する。この場合、第2転送部89は、ACK複製部67で複製された新たなACKパケットを新たなDupACKパケットとして、一定時間毎に3度、通信プロトコル処理部141に転送する。
図7は、本開示の実施の形態3に係るデータパケットの送受信を示すシーケンス図である。図7に示すように、送信側装置300の通信プロトコル処理部141からデータパケット(Seq=1)〜データパケット(Seq=4)が、MAC処理部342及び無線処理部143を介して送信される。このとき、MAC処理部342のシーケンス番号取得部81が取得する最新のシーケンス番号は、Seq=4である。受信側装置110は、受信したデータパケットに対応したACKパケット(Ack=5、Win=4)を送信側装置300に送信し、送信側装置300が当該ACKパケットを受信する。
送信側装置300のMAC処理部242は、受信したACKパケット(Ack=5、Win=4)を複製したDupACKパケット(Ack=5、Win=4)を、一定時間毎に3度、送信側装置300の通信プロトコル処理部141に転送するが、一度の転送毎に、MAC処理部342の転送可否判定部83は、当該DupACKパケットのACK番号とシーケンス番号取得部81が取得した最新のシーケンス番号を比較する。このとき、ACK番号(Ack=5)はシーケンス番号(Seq=4)よりも大きいため、転送可否判定部83は、DupACKパケットの転送を中止する。
その後、次の転送のタイミングの前に、送信側装置300の通信プロトコル処理部141からデータパケット(Seq=5)〜データパケット(Seq=8)が、MAC処理部342及び無線処理部143を介して送信される。このとき、MAC処理部342のシーケンス番号取得部81が取得する最新のシーケンス番号は、Seq=8である。この時点では受信側装置110からのデータパケット(Seq=8)に対応するACKパケットを受信していないため、当該DupACKパケットのACK番号はAck=5のままである。このとき、ACK番号(Ack=5)はシーケンス番号(Seq=8)よりも小さいため、転送可否判定部83はDupACKパケットの転送を許可し、MAC処理部242は、DupACKパケット(Ack=5、Win=4)を通信プロトコル処理部141に転送する。その後、送信側装置300は、ACKパケット(Ack=9、Win4)を受信する。
以上説明したように、本実施の形態では、図7に示した例において、仮にデータパケット(Seq=8)で通信が完了する場合、送信側装置300がACKパケット(Ack=9、Win4)を受信した後は、MAC処理部342から通信プロトコル処理部141へのDupACKパケットの転送は行われず、再送の条件を満たさないため、無駄な再送を行わずに正常に通信を完了できる。
上記説明した実施の形態1〜3では、送信側装置100,200,300のMAC処理部142,242,342は、データパケットを送信し、当該データパケットのACKパケットを受信するまでの間、送信したデータパケットを一時的に保持するメモリ(図示せず)を有しても良い。この場合、第2転送部69,79,89は、メモリが所定使用率を超えている間、通信プロトコル処理部141へのDupACKパケットの転送を停止する。
上記各実施形態では、本開示をハードウェアで構成する場合を例にとって説明したが、本開示はハードウェアとの連携においてソフトウェアでも実現することも可能である。
また、上記各実施形態の説明に用いた各機能ブロックは、典型的には集積回路であるLSIとして実現される。これらは個別に1チップ化されてもよいし、一部又は全てを含むように1チップ化されてもよい。ここでは、LSIとしたが、集積度の違いにより、IC、システムLSI、スーパーLSI、ウルトラLSIと呼称されることもある。
また、集積回路化の手法はLSIに限るものではなく、専用回路又は汎用プロセッサで実現してもよい。LSI製造後に、プログラムすることが可能なFPGA(Field Programmable Gate Array)や、LSI内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサを利用してもよい。
さらには、半導体技術の進歩又は派生する別技術によりLSIに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行ってもよい。バイオ技術の適用等が可能性としてありえる。
本開示に係る無線通信装置は、データを送信する送信装置側で無線を介さずに確実にDupACKパケットを到達できる保証をもち、かつ、設計コストを抑え、容易に実現可能な無線通信装置等に適用可能である。
100,200,300 送信側装置
110 受信側装置
140 アプリケーション処理部
141 通信プロトコル処理部
142,242,342 MAC処理部
143 無線処理部
61 MAC送信部
63 MAC受信部
65 第1転送部
67 ACK複製部
69,79,89 第2転送部
71 RTT計測部
73 転送間隔決定部
81 シーケンス番号取得部
83 転送可否判定部

Claims (5)

  1. 通信プロトコル処理部からのシーケンス番号が付されたデータパケットを受信装置へ送信し、前記データパケットの受領を示す前記受信装置からのACK番号が付されたACKパケットを受信する無線通信部と、
    前記無線通信部が受信した最新のACKパケットを複製するACK複製部と、
    前記ACK複製部が複製した最新の複製ACKパケットを、所定時間毎に、前記通信プロトコル処理部へ転送する複製ACK転送部と、備え、
    前記通信プロトコル処理部は、同じ複製ACKパケットを所定回数受け取ると、当該複製ACKパケットに付されたACK番号に等しいシーケンス番号のデータパケットの再送を決定することを特徴とする無線通信装置。
  2. 請求項1に記載の無線通信装置であって、
    前記無線通信部がデータパケットを送信してから前記無線通信部が当該データパケットのACKパケットを受信するまで時間を計測する計測部と、
    前記計測部が計測した時間に基づいて、前記複製ACK転送部が複製ACKパケットを前記通信プロトコル処理部へ転送する時間間隔を決定する転送間隔決定部と、を備え、
    前記複製ACK転送部は、前記転送間隔決定部が決定した時間間隔で、前記ACK複製部が複製した最新の複製ACKパケットを複数回、前記通信プロトコル処理部へ転送することを特徴とする無線通信装置。
  3. 請求項1又は2に記載の無線通信装置であって、
    前記無線通信部が送信する最新のデータパケットのシーケンス番号を取得するシーケンス番号取得部と、
    前記シーケンス番号取得部が取得したシーケンス番号と前記ACK複製部が複製した最新の複製ACKパケットのACK番号を比較して、比較結果に応じて前記複製ACK転送部による複製ACKパケットの転送の可否を判定する転送可否判定部と、を備え、
    前記複製ACK転送部は、一度の転送毎に、前記転送可否判定部による判定結果に従って、前記ACK複製部が複製した最新の複製ACKパケットの転送を中止する又は行うことを特徴とする無線通信装置。
  4. 請求項3に記載の無線通信装置であって、
    前記転送可否判定部は、前記ACK複製部が複製した最新の複製ACKパケットのACK番号が前記シーケンス番号取得部が取得したシーケンス番号よりも大きい場合、前記最新の複製ACKパケットの転送の中止を前記複製ACK転送部に指示することを特徴とする無線通信装置。
  5. 通信プロトコル処理部からのシーケンス番号が付されたデータパケットを受信装置へ送信し、
    前記データパケットの受領を示す前記受信装置からのACK番号が付されたACKパケットを受信し、
    前記受信した最新のACKパケットを複製し、
    前記最新の複製ACKパケットを、所定時間毎に、前記通信プロトコル処理部へ転送し、
    前記通信プロトコル処理部が同じ複製ACKパケットを所定回数受け取ると、当該複製ACKパケットに付されたACK番号に等しいシーケンス番号のデータパケットの再送を決定することを特徴とするデータパケット再送方法。
JP2013049365A 2013-03-12 2013-03-12 無線通信装置及びデータパケット再送方法 Pending JP2014176015A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013049365A JP2014176015A (ja) 2013-03-12 2013-03-12 無線通信装置及びデータパケット再送方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013049365A JP2014176015A (ja) 2013-03-12 2013-03-12 無線通信装置及びデータパケット再送方法

Publications (1)

Publication Number Publication Date
JP2014176015A true JP2014176015A (ja) 2014-09-22

Family

ID=51696824

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013049365A Pending JP2014176015A (ja) 2013-03-12 2013-03-12 無線通信装置及びデータパケット再送方法

Country Status (1)

Country Link
JP (1) JP2014176015A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101770101B1 (ko) 2016-04-15 2017-08-30 주식회사 에스원 무선 신호 구분 코드 상세화를 통한 통신 성공률 향상 및 배터리 소모 최적화 방법

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101770101B1 (ko) 2016-04-15 2017-08-30 주식회사 에스원 무선 신호 구분 코드 상세화를 통한 통신 성공률 향상 및 배터리 소모 최적화 방법

Similar Documents

Publication Publication Date Title
US10440614B2 (en) Interruptions in wireless communications
US10021663B2 (en) Method and device for realizing data transmission
US8588784B2 (en) Mobile communication system, wireless base station and hand over reconnection method for use therewith including an accumulation portion for holding data
EP3596998A1 (en) Providing communication for a mobile communication device using a central unit node and distributed unit nodes
EP2420014B1 (en) Method of receiving a point-to-multipoint service in a wireless communication system
KR20100053625A (ko) 무선 통신 시스템에서의 핸드오버 동안 데이터의 계층 2 터널링
US8738984B2 (en) Apparatus for processing retransmission failure in radio link control (RLC) layer
JPWO2008123160A1 (ja) 再送要求送信方法及び受信側装置
EP3484081B1 (en) Data retransmission method and device
US20120201151A1 (en) Layer 2 ACK And NACK Status Reporting
US20090312007A1 (en) Re-establishment of a rlc entity
WO2017012668A1 (en) Improved data unit reordering in dual connectivity scenarios
US11316620B2 (en) Enhanced HARQ algorithm for large round trip delay links
JP6654828B2 (ja) 送信機
WO2009088342A1 (en) Reordering timer for a retransmission protocol
JP2014176015A (ja) 無線通信装置及びデータパケット再送方法
US20150071273A1 (en) Efficient transfer of tcp traffic over wlan
Khurshid et al. Modified TCP newreno for wireless networks
KR20120128078A (ko) 이동통신 시스템의 제2 계층의 데이터 전달 방법
JP2010010858A (ja) 基地局、端末局、及び無線通信システム
JP5147898B2 (ja) 無線制御装置及び通信制御方法
WO2012155427A1 (zh) 一种数据处理方法、装置及分组数据汇聚协议层模块
JP4832483B2 (ja) 移動体通信システム及び移動体通信方法
KR100980592B1 (ko) 이종 무선망 간의 수직적 핸드오버를 위한 데이터 전송 방법 및 장치
JP2011055435A (ja) 再送制御装置及び再送制御方法

Legal Events

Date Code Title Description
RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20150116