JP6963411B2 - 通信装置、通信方法、およびプログラム - Google Patents

通信装置、通信方法、およびプログラム Download PDF

Info

Publication number
JP6963411B2
JP6963411B2 JP2017100075A JP2017100075A JP6963411B2 JP 6963411 B2 JP6963411 B2 JP 6963411B2 JP 2017100075 A JP2017100075 A JP 2017100075A JP 2017100075 A JP2017100075 A JP 2017100075A JP 6963411 B2 JP6963411 B2 JP 6963411B2
Authority
JP
Japan
Prior art keywords
communication
packet
transmission data
transmission
size
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2017100075A
Other languages
English (en)
Other versions
JP2018196053A (ja
JP2018196053A5 (ja
Inventor
暁央 木下
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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP2017100075A priority Critical patent/JP6963411B2/ja
Priority to US15/983,781 priority patent/US10708816B2/en
Publication of JP2018196053A publication Critical patent/JP2018196053A/ja
Publication of JP2018196053A5 publication Critical patent/JP2018196053A5/ja
Application granted granted Critical
Publication of JP6963411B2 publication Critical patent/JP6963411B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W28/00Network traffic management; Network resource management
    • H04W28/02Traffic management, e.g. flow control or congestion control
    • H04W28/06Optimizing the usage of the radio link, e.g. header compression, information sizing, discarding information
    • H04W28/065Optimizing the usage of the radio link, e.g. header compression, information sizing, discarding information using assembly or disassembly of packets
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/20Network architectures or network communication protocols for network security for managing network security; network security policies in general
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/161Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers

Description

本発明は、通信装置、通信方法、およびプログラムに関する。
従来、パケット通信において、通信の信頼性を保証するため、送信側から送信されたパケットを受信した受信側がACKと呼ばれる確認応答を用いる通信方式が利用されている。例えば、インターネット通信において広く利用されているTCP/IP(Transmission Control Protocol/Internet Protocol)では、送信側は、送信データをセグメントに分割してパケット化して送信し、受信側は、セグメントをオクテット単位にシーケンス番号で管理し、受け取ったセグメントのシーケンス番号をACKとして応答する必要がある。
TCP/IPのプロトコル処理では、送信側は、通信データのパケット化や再送処理のために、ネットワークバッファを用意している。送信側におけるTCP/IPパケットの送信処理において、ソケットAPI send()によって指定されたユーザデータがネットワークバッファに転送され、MTU(maximum transmission unit:最大伝送単位)に分割される。そして、分割されたデータと擬似ヘッダのチェックサムが計算され、TCPヘッダとIPヘッダが追加されたTCT/IPパケットが生成される。伝送経路がイーサネット(登録商標)の場合、これらのヘッダに加えて、イーサネットヘッダが付加されたイーサネットフレームが生成され、送信される。
また、TCP/IPのプロトコル処理では、送信側のパケット送信の度に受信側がACKを送信することによる通信速度の低下を回避するために、所定のウィンドウサイズを利用するウィンドウ制御が行われる。TCP/IPのウィンドウ制御では、受信側は、受信バッファの残りサイズをウィンドウサイズに設定したACKを送信し、送信側は、ウィンドウサイズになるまでACKを待つことなく送信データを送信することができる。また、更に、TCP/IPのウィンドウ制御では、通信速度をより向上させるために、スライディングウィンドウが用いられる。スライディングウィンドウでは、受信側はパケットを受信する度にACKを送信し、送信側は最初のACKを受信するとウィンドウをスライドさせて、ACKを待つことなくウィンドウサイズ分のデータを連続的に送信することが可能となる。
近年、TCP/IPのプロトコル処理では、CPU(Central Processing Unit)による処理軽減、及び高速送信のため、送信データのセグメント分割処理と、分割したセグメントのIPパケット化処理をネットワークI/Fでハードウェアがする技術が用いられている。このような技術は、TSO(TCP Segmentation Offload)機能により実現化されている(特許文献1参照)。TSO機能は、NIC(Network Interface Card)などのハードウェアで実施することが一般的である。TSO機能を用いることで、アプリケーションデータを従来のMSS(Maximum Segment Size)単位の送信ではなく、MSSよりも大きいデータ単位でハードウェアに送信要求を行い、ハードウェアにてMSS単位に再分割してネットワークに連続送信することが可能となる。
特許第5517951号公報
しかしながら、マルチIF(有線LANと無線LANを同時使用)の場合、TSO機能に対応しているネットワークI/FとTSO機能に対応していないIFがあり、ネットワークスタックが処理をIF毎に変更する必要がある。
本発明は、上記課題に鑑みてなされたものであり、ネットワークI/Fに依存せずに、パケット化処理を行うことを目的とする。
を目的とする。
上記目的を達成するための一手段として、本発明の通信装置は以下の構成を有する。すなわち、複数の通信インターフェースを備え、当該複数の通信インターフェースのうち選択された通信インターフェースを用いて送信データを通信相手装置に送信する通信装置であって、前記通信相手装置からウィンドウサイズの情報を取得する取得手段と、前記ウィンドウサイズに基づいて、前記送信データを前記通信相手装置に送信する際の送信データサイズを決定する決定手段と、パケット生成手段と、前記決定された送信データサイズが所定のサイズをえない場合前記送信データに対するヘッダを生成することにより送信パケットを生成し、前記決定された送信データサイズが前記所定のサイズを超える場合は、前記送信データに対するヘッダを生成するために必要なヘッダ情報を生成し、当該生成したヘッダ情報に基づくヘッダの生成と送信パケットの生成を前記パケット生成手段に実行させるプロトコル処理手段と、有し、前記プロトコル処理手段または前記パケット生成手段による送信パケットの生成は、前記複数の通信インターフェースのうち何れの通信インターフェースが選択されるかに依らず実行される
本発明によれば、ネットワークI/Fに依存せずに、パケット化処理を行うことが可能となる。
実施形態における通信装置のハードウェア構成例を示すブロック図。 実施形態における通信装置の機能構成例を示すブロック図。 実施形態1における処理を示すフローチャート。 実施形態2における処理を示すフローチャート。
以下、添付の図面を参照して、本発明をその好適な実施形態に基づいて詳細に説明する。なお、以下の実施形態において示す構成は一例に過ぎず、本発明は図示された構成に限定されるものではない。
[実施形態1]
図1は、実施形態1における通信装置10のハードウェア構成例を示すブロック図である。RAM(Random Access Memory)101は、各種データの保存やワークメモリとして使用される。RAM101は送信データを格納して管理するための送信バッファ114を有する。ROM(Read Only Memory)103には、CPU102により実行される各種プログラム等を記憶する。CPU102は、RAM101をワークメモリとして、ROM103や図示していないハードディスクなどの、プログラム格納部としての記録媒体に格納された各種プログラムを実行する。
第1通信部110は、MAC(Media Access Control)モジュール108とPHY(Physical Layer)モジュール109を有し、Ethernet(商標登録)などのネットワークを介した通信相手装置との通信を行う。同様に、第2通信部113は、MACモジュール111とPHYモジュール112を有し、第1通信部110と異なるネットワークを介した通信相手装置との通信を行う。データの送受信は、CPU102によりネットワークドライバが実行され、これに応じてMACモジュール108(および/またはMACモジュール111)が制御されることにより行われる。なお、本実施形態では、第1通信部110と第2通信部113は、イーサネット(登録商標)を介した通信を行うものとするが、これに替えて、無線LAN(Wi-Fi)など、IP通信可能な媒体を介して通信を行うことが可能である。
以上の構成は、通常の通信装置と同様であるが、本実施形態における通信装置10は更に、データ転送部105、フレーム生成部106、およびパケット生成部107を有する。データ転送部105は、例えばDMA(Direct Memory Access)により構成され、RAM101に記憶されているデータを、フレーム生成部106やパケット生成部107に転送する。データ転送部105は、CPU102により転送制御されてもよい。フレーム生成部106は、送信する送信データサイズを決定し、決定したサイズの送信データと、送信データに対するヘッダ情報を生成するためのヘッダ情報生成処理を行う。パケット生成部107は、フレーム生成部106により生成された送信データとヘッダ情報に基づいて、送信データのセグメント化およびヘッダの生成を行い、当該セグメントとヘッダから送信パケットを生成する。タイマ管理部104は、パケット送信に関して必要な所定時間を管理する。なお、以下に説明する(送信)パケットは、IP通信上で送受信されるデータの単位である。このパケットの組み立て方法については、本実施形態の本質ではないので、省略する。
図2は、本実施形態における通信装置10の機能構成例を示すブロック図である。アプリケーション201は、ユーザアプリケーションを指す。アプリケーション201により、任意のサイズの、送信対象のアプリケーションデータ(送信データ)がプロトコルスタック202に入力される。プロトコルスタック202は、ネットワークバッファ管理部203、セグメント処理部204、通信プロトコル処理部205、コネクション管理部206、TCPウィンドウ制御部207、輻輳制御部208から構成される。
ネットワークバッファ管理部203は、アプリケーション201から入力された送信データをRAM101の送信バッファ114に格納して管理する。ネットワークバッファ管理部203はまた、送信バッファ114に格納されている送信データのサイズを管理する。コネクション管理部206は、通信装置10の通信コネクションを管理する。例えば、コネクション管理部206は、アプリケーション201に対する通信コネクションにおけるMSS(Maximum Segment Size)等のコネクション情報を管理する。TCPウィンドウ制御部207は、第1通信インタフェース制御部209および第2通信インタフェース制御部211を介して受信した確認応答から、TCPコネクションの送信ウィンドウサイズを取得し、管理する。輻輳制御部208は、TCPコネクションにおける輻輳制御を管理する。例えば、輻輳制御部208は、アプリケーション201に対する通信コネクションにおける輻輳ウィンドウを管理する。
セグメント処理部204は、ネットワークバッファ管理部203により管理されているRAM101内の送信バッファ114に格納されている送信データのサイズ、コネクション管理部206で管理されているMSS、TCPウィンドウ制御部207で管理されている送信ウィンドウサイズ、輻輳制御部208で管理されている輻輳ウィンドウサイズ等に基づいて、送信データサイズを決定する。通信プロトコル処理部205は、TCPセグメントのTCPヘッダやIPヘッダの生成と、それに伴うチェックサム計算等の処理を行い、送信パケットとして生成する。
パケット生成部300は図1のパケット生成部107に対応し、分割部301、イーサネット/TCP/IPヘッダ生成部302、パケット生成部303から構成される。分割部301は、送信データを所定の単位(例えばMSS単位)に分割する。イーサネット/TCP/IPヘッダ生成部302は、所定のヘッダ情報に基づいて、TCP/IPヘッダとイーサネットヘッダを生成する。パケット生成部303は、分割部301とイーサネット/TCP/IPヘッダ生成部302から出力されたデータから、パケット化処理を行う。
本実施形態では、セグメント処理部204により決定された送信データサイズに応じて、通信プロトコル処理部205またはパケット生成部300が、送信パケットを生成する。送信パケットの生成手法については、図3を用いて後述する。
通信プロトコル処理部205またはパケット生成部300により生成された送信パケットは、送信先によって、第1通信インタフェース制御部209または第2通信インタフェース制御部211に入力される。第1通信インタフェース制御部209は、プロトコルスタック202と第1通信インタフェース210との間でデータや情報のやり取りを担う。同様に、第2通信インタフェース制御部211は、プロトコルスタック202と第2通信インタフェース212との間でデータや情報のやり取りを担う。第1通信インタフェース210および第2通信インタフェース212は、図1のMACモジュール108、PHYモジュール109およびMACモジュール111、PHYモジュール112に対応し、ネットワークに接続されている。送信パケットの送信は、タイマ管理部104により一定時間以上経過したことが通知された場合に、行われてもよい。
次に、図3を参照して、本実施形態における処理について説明する。図3は、本実施形態におけるデータ送信処理を説明するフローチャートである。本フローチャートは、ソケットAPI send()によるデータ送信処理を想定する。
まず、ステップS101において、CPU102により、ROM103に格納されている所定のプログラムが実行されることに応じて、アプリケーション201は、send()を呼び出す。send()が呼び出されると、データ転送部105は、ステップS102で、不図示のユーザバッファのデータ転送先であるRAM101内の送信バッファ114へ送信データを転送する。転送の際、データ転送部105は、データをMSS単位に分割して送信バッファ114に格納しても良い。
ステップS103では、セグメント処理部204が、送信バッファ114に格納されている送信データのサイズが、TCPウィンドウ制御部207により管理されている送信ウィンドウサイズを超えるかどうかを判定する。送信ウィンドウサイズが送信バッファ114に格納されている送信データのサイズを超える場合は(ステップS103でYes)、処理はステップS104に進み、セグメント処理部204は、送信バッファ114に格納されている送信データのサイズを、送信データサイズとして決定する。一方、送信ウィンドウサイズが送信バッファ114に格納されている送信データのサイズ以下の場合は(ステップS103でNo)、処理はステップS105に進み、セグメント処理部204は、送信ウィンドウサイズを、送信データサイズとして決定する。
ステップS106では、通信プロトコル処理部205が、ステップS105またはS104で決定した送信データサイズが、コネクション管理部206で管理されているMSSを超えるかどうか判定する。決定した送信データサイズがMSS以下の場合は(ステップS106でNo)、処理はステップS107に進む。ステップS107では、通信プロトコル処理部205は、パケット生成部107を制御してチェックサムを計算してTCP/IPヘッダを生成し、TCP/IPヘッダを用いて送信データをパケット化し、TCP/IPパケットを生成する。通信プロトコル処理部205は、更に、イーサネットヘッダを生成し、生成したイーサネットヘッダを用いて、生成したTCP/IPパケットをイーサネットフレーム化し、ステップS113に進む。
一方、決定した送信データサイズがMSSを超える場合は(ステップS106でYes)、処理はステップS108へ進む。ステップS108では、フレーム生成部106は、TCP/IPヘッダとイーサネットヘッダを生成するための情報としてヘッダ情報を生成し、ステップS109へ進む。ステップS109〜S112は、パケット生成部107に対応するパケット生成部300による処理である。ステップS109では、分割部301は、送信データがMSS単位に分割されているかどうかを判定し、送信データがMSS単位に分割されていない場合は(ステップS109でNo)、処理はステップS110へ進む。ステップS110では、分割部301は、送信データをMSS単位に再分割し、処理をステップS111へ進める。送信データがMSS単位に分割されている場合は(ステップS109でYes)、処理はステップS111へ進む。ステップS111では、イーサネット/TCP/IPヘッダ生成部302は、ステップS108で生成されたヘッダ情報を使用し、送信データがMSS単位に分割された各セグメントに対してTCP/IPヘッダとイーサネットヘッダを(自動)生成する。テップS112では、パケット生成部303は、S111で生成されたTCP/IPヘッダとセグメントを連結し、TCP/IPパケット化した後、イーサネットヘッダを付加し、イーサネットフレーム化する。なお、一度に連結できるセグメントの数は、輻輳ウィドウサイズに基づいて決定され得る。
ステップS113では、通信プロトコル処理部205は、送信先で通信インタフェースを選択し、イーサネットフレームを第1通信インタフェース制御部209または第2通信インタフェース制御部211に送信し、処理を終了する。
このように、送信データのセグメント分割とTCP/IPヘッダ生成とイーサネットフレーム化を実施するハードウェアによる処理(ステップS109〜S112の処理)が通信インタフェースに依存せずに使用できる。なお、ハードウェアによる処理をソフトウェアで処理を実行した場合においても、本実施形態を適用可能である。
なお、ステップS102において、データ転送部105が送信バッファ114へ送信データを転送するに際、MSS単位に分割して送信バッファ114格納できた場合は、通信プロトコル処理部205は、MSS単位のデータに対してチェックサム計算を行い、チェックサム値をデータと対で保持し、ステップS111において、イーサネット/TCP/IPヘッダ生成部302は、保持されているチェックサム値を使用して、TCP/IPヘッダを生成してもよい。また、通信インタフェースが複数存在する例を挙げたが、通信インタフェースが一つの場合にも本発明を適用することができる。また、本実施形態では、TCP/IPプロトコルを例にして説明したが、UDP(User Datagram Protocol)プロトコル等の他のプロトコルを適用することも可能である。
[実施形態2]
次に、実施形態2について説明する。なお、本実施形態において、実施形態1と同様の構成については、同一符号を付して、その詳細説明を省略する。
図4を参照して、本実施形態における処理について説明する。図3は、本実施形態におけるデータ送信処理を説明するフローチャートである。本フローチャートは、ソケットAPI send()によるデータ送信処理を想定する。なお、S201〜S212の処理は実施形態1において説明した図3のステップS101〜S112と同様の処理のため、説明を省略する。
ステップS213では、通信プロトコル処理部205は、TCP/IPパケットに所定のセキュリティ処理としてのIPsec処理が必要かどうかを判定する。IPsec処理が必要な場合は(ステップS210でYes)、処理ステップS214へ進む。ステップS214では、通信プロトコル処理部205は、TCP/IPパケットへIPsec処理を実行し、処理をステップS215へ進める。IPsec処理が必要でない場合は(ステップS210でNo)、処理はステップS215へ進む。ステップS215では、通信プロトコル処理部205は、送信先で通信インタフェースを選択し、イーサネットフレームを第1通信インタフェース制御部209または第2通信インタフェース制御部211に送信し、処理を終了する。
このように、送信データのセグメント分割とTCP/IPヘッダ生成とイーサネットフレーム化を実施するハードウェアによる処理(ステップS209〜S212の処理)が通信インタフェースに依存せずに使用できる。なお、ハードウェアによる処理をソフトウェアで処理を実行した場合においても、本実施形態を適用可能である。また、通信相手装置とIPsec通信が必要な場合、送信パケット化した後、当該送信パケットに対してIPsecの処理を施すことができる。
なお、ステップS202において、データ転送部105が送信バッファ114へ送信データを転送するに際、MSS単位に分割して送信バッファ114格納できた場合は、通信プロトコル処理部205は、MSS単位のデータに対してチェックサム計算を行い、チェックサム値をデータと対で保持し、ステップS211において、イーサネット/TCP/IPヘッダ生成部302は、保持されているチェックサム値を使用して、TCP/IPヘッダを生成してもよい。また、通信インタフェースが複数存在する例を挙げたが、通信インタフェースが一つの場合にも本発明を適用することができる。また、本実施形態では、TCP/IPプロトコルを例にして説明したが、UDP(User Datagram Protocol)プロトコル等の他のプロトコルを適用することも可能である。
このように、以上に説明した実施形態によれば、ネットワークI/Fへ依存しないレイヤで、データの「セグメント分割」と「IPヘッダ/TCPヘッダ生成」を実施することで、ネットワークスタックがネットワークI/F毎に処理を変更する必要がなくなるという利点がある。以上に説明した実施形態によれば、確認応答が受信できないために送信データを再送する場合に、再送する送信データに対してヘッダを生成し、送信パケットとするも可能である。また、以上に説明した実施形態によれば、送信データのプロコルタイプや送信データの種別によって、送信データに対するヘッダ生成と送信パケット化の実施をするか、ヘッダを生成するために必要なヘッダ情報の生成を行ってから、送信パケット化の実施をするか否かを切り換えることが可能となる。
[その他の実施形態]
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
101 RAM、102 CPU、103 ROM、104 タイマ管理部、105 データ転送部、106 フレーム生成部、107 パケット生成部、108 MACモジュール、109 PHY モジュール、 110 第1通信部、 111 MACモジュール、112 PHYモジュール

Claims (8)

  1. 複数の通信インターフェースを備え、当該複数の通信インターフェースのうち選択された通信インターフェースを用いて送信データを通信相手装置に送信する通信装置であって、
    前記通信相手装置からウィンドウサイズの情報を取得する取得手段と、
    前記ウィンドウサイズに基づいて、前記送信データを前記通信相手装置に送信する際の送信データサイズを決定する決定手段と、
    パケット生成手段と、
    前記決定された送信データサイズが所定のサイズをえない場合前記送信データに対するヘッダを生成することにより送信パケットを生成し、前記決定された送信データサイズが前記所定のサイズを超える場合は、前記送信データに対するヘッダを生成するために必要なヘッダ情報を生成し、当該生成したヘッダ情報に基づくヘッダの生成と送信パケットの生成を前記パケット生成手段に実行させるプロトコル処理手段と、
    し、
    前記プロトコル処理手段または前記パケット生成手段による送信パケットの生成は、前記複数の通信インターフェースのうち何れの通信インターフェースが選択されるかに依らず実行されることを特徴とする通信装置。
  2. 前記パケット生成手段は、前記送信データを割する分割手段をし、
    前記決定された送信データサイズが前記所定のサイズを超え場合、前記分割手段は前記送信データを前記所定のサイズのセグメントに分割し、前記パケット生成手段は、記分割手段により生成された各セグメントに対するヘッダを生成することにより前記送信パケットを生成することを特徴とする請求項に記載の通信装置。
  3. 記送信パケットに対して所定のセキュリティ処理が必要かを判定する判定手段と、
    前記判定手段により前記所定のセキュリティ処理が必要と判定された場合に、前記送信パケットに対して前記所定のセキュリティ処理を施す処理手段と、
    を更に有することを特徴とする請求項1または2に記載の通信装置。
  4. 前記複数の通信インターフェースは、それぞれが異なるネットワークに接続されることを特徴とする請求項1から3のいずれか1項に記載の通信装置。
  5. 前記取得手段は、前記通信装置によるパケットの送信に応答して前記通信相手装置から送信された確認応答に含まれる前記ィンドウサイズの情報を取得することを特徴とする請求項からのいずれか1項に記載の通信装置。
  6. 前記所定のサイズは、前記通信装置と前記通信相手装置との通信に使用される通信プロトコルにより決定されるサイズであることを特徴とする請求項1からのいずれか1項に記載の通信装置。
  7. 複数の通信インターフェースを備え、当該複数の通信インターフェースのうち選択された通信インターフェースを用いて送信データを通信相手装置に送信する通信装置の制御方法であって、
    前記通信相手装置からウィンドウサイズの情報を取得する取得工程と、
    前記ウィンドウサイズに基づいて、前記送信データを前記通信相手装置に送信する際の送信データサイズを決定する決定工程と、
    パケット生成工程と、
    前記決定された送信データサイズが所定のサイズをえない場合前記送信データに対するヘッダを生成することにより送信パケットを生成し、前記決定された送信データサイズが前記所定のサイズを超える場合は、前記送信データに対するヘッダを生成するために必要なヘッダ情報を生成し、当該生成したヘッダ情報に基づくヘッダの生成と送信パケットの生成を前記パケット生成工程で実行させるプロトコル処理工程と、
    し、
    前記プロトコル処理工程または前記パケット生成工程による送信パケットの生成は、前記複数の通信インターフェースのうち何れの通信インターフェースが選択されるかに依らず実行されることを特徴とする通信装置の制御方法。
  8. コンピュータを、請求項1からのいずれか1項に記載の通信装置として機能させるためのプログラム。
JP2017100075A 2017-05-19 2017-05-19 通信装置、通信方法、およびプログラム Active JP6963411B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2017100075A JP6963411B2 (ja) 2017-05-19 2017-05-19 通信装置、通信方法、およびプログラム
US15/983,781 US10708816B2 (en) 2017-05-19 2018-05-18 Communication apparatus, communication method, and non-transitory computer-readable storage medium for performing packetization processing that does not depend on a network interface

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017100075A JP6963411B2 (ja) 2017-05-19 2017-05-19 通信装置、通信方法、およびプログラム

Publications (3)

Publication Number Publication Date
JP2018196053A JP2018196053A (ja) 2018-12-06
JP2018196053A5 JP2018196053A5 (ja) 2020-07-02
JP6963411B2 true JP6963411B2 (ja) 2021-11-10

Family

ID=64272286

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017100075A Active JP6963411B2 (ja) 2017-05-19 2017-05-19 通信装置、通信方法、およびプログラム

Country Status (2)

Country Link
US (1) US10708816B2 (ja)
JP (1) JP6963411B2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6891201B2 (ja) * 2019-02-19 2021-06-18 キヤノン株式会社 通信装置、通信装置の制御方法およびプログラム
JP7387335B2 (ja) 2019-08-28 2023-11-28 キヤノン株式会社 通信装置、制御方法およびプログラム
JP2022161570A (ja) 2021-04-09 2022-10-21 キヤノン株式会社 通信装置、通信方法およびプログラム
US20230098349A1 (en) * 2021-09-29 2023-03-30 Qualcomm Incorporated Uplink segmentation offload to modem

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6526446B1 (en) * 1999-04-27 2003-02-25 3Com Corporation Hardware only transmission control protocol segmentation for a high performance network interface card
US6567859B1 (en) * 1999-04-27 2003-05-20 3Com Corporation Device for translating medium access control dependent descriptors for a high performance network
JP2001237882A (ja) * 2000-02-23 2001-08-31 Nec Corp パケットデータ転送におけるパケットサイズ制御装置及びその制御方法
GB0014662D0 (en) * 2000-06-15 2000-08-09 British Telecomm Communications protocol
JP2002290459A (ja) * 2001-03-27 2002-10-04 Nec Corp パケット転送装置および方法
US7843968B2 (en) * 2002-09-30 2010-11-30 Sanyo Electric Co., Ltd. Communication apparatus and applications thereof
JP4612821B2 (ja) * 2004-09-10 2011-01-12 キヤノン株式会社 通信制御装置及び方法
US7889654B2 (en) * 2005-03-30 2011-02-15 At&T Intellectual Property Ii, L.P. Loss tolerant transmission control protocol
CA2514039A1 (en) * 2005-07-28 2007-01-28 Third Brigade Inc. Tcp normalization engine
US7430220B2 (en) * 2005-07-29 2008-09-30 International Business Machines Corporation System load based dynamic segmentation for network interface cards
US7773630B2 (en) * 2005-11-12 2010-08-10 Liquid Computing Corportation High performance memory based communications interface
JP5054114B2 (ja) * 2006-10-31 2012-10-24 テレフオンアクチーボラゲット エル エム エリクソン(パブル) Ipネットワークをインタフェースするための方法及び装置
GB0621774D0 (en) * 2006-11-01 2006-12-13 Level 5 Networks Inc Driver level segmentation
JP2010034860A (ja) * 2008-07-29 2010-02-12 Fujitsu Ltd セキュリティ機能を有するipネットワーク通信方法及び通信システム
WO2010073671A1 (ja) * 2008-12-25 2010-07-01 パナソニック株式会社 Tcp送信制御装置及びtcp送信制御方法
JP5408332B2 (ja) * 2010-03-10 2014-02-05 富士通株式会社 中継装置および通信プログラム
US9240950B2 (en) * 2011-03-23 2016-01-19 Hughes Network Systems, Llc System and method for providing quality of service over dedicated local loop networks
JP5768683B2 (ja) * 2011-11-28 2015-08-26 富士通株式会社 受信データ処理方法、通信装置、及びプログラム
CN104521167A (zh) * 2013-06-28 2015-04-15 华为技术有限公司 一种数据传输方法、装置、基站及用户设备
JP6217424B2 (ja) * 2014-02-05 2017-10-25 富士通株式会社 制御装置及び制御方法
EP3161653B1 (en) * 2014-06-28 2018-10-03 Hughes Network Systems, LLC Dynamic disabling of multi-step transport layer handshake spoofing in performance enhancing proxies (peps) in broadband networks
US9894008B2 (en) * 2014-08-20 2018-02-13 Citrix Systems, Inc. Systems and methods for implementation of jumbo frame over existing network stack
KR102425517B1 (ko) * 2015-09-04 2022-07-27 삼성전자주식회사 다수 개의 무선 억세스 인터페이스들을 지원하는 이동 통신 시스템에서 데이터 업로드 장치 및 방법

Also Published As

Publication number Publication date
JP2018196053A (ja) 2018-12-06
US20180338267A1 (en) 2018-11-22
US10708816B2 (en) 2020-07-07

Similar Documents

Publication Publication Date Title
US9641650B2 (en) TCP proxy server
JP6963411B2 (ja) 通信装置、通信方法、およびプログラム
US7483376B2 (en) Method and apparatus for discovering path maximum transmission unit (PMTU)
EP1771742B1 (en) High performance tcp for systems with infrequent ack
US8717900B2 (en) Mechanisms to improve the transmission control protocol performance in wireless networks
CN109412946B (zh) 一种确定回源路径的方法、装置、服务器及可读存储介质
JP5651805B2 (ja) 通信装置
US8583831B2 (en) Thin client discovery
US20070223529A1 (en) Methods and apparatus for estimating bandwidth of a data network
EP2741463A1 (en) Data packet transmission method
US11671377B2 (en) System and method for reducing bandwidth usage of a network
JP5832335B2 (ja) 通信装置および通信システム
JP4624062B2 (ja) 通信システム
JP7142462B2 (ja) 通信装置、通信装置の制御方法、およびプログラム
JP7111162B2 (ja) 通信制御装置、方法、及びプログラム
CN114390054A (zh) 一种核心网网络加速方法、电子设备及计算机存储介质
CN113424578A (zh) 一种传输控制协议加速方法和装置
JP2012049883A (ja) 通信装置およびパケット処理方法
JP2019114947A (ja) 通信装置、通信装置の制御方法およびプログラム
KR101933175B1 (ko) 서버와 클라이언트간 통신을 중개하는 중개장치
JP2021087172A (ja) 通信装置、通信方法およびプログラム
JP5520139B2 (ja) 送信装置、受信装置及びプログラム
JP2005044047A (ja) 端末装置及びデータ送信方法
JP2024018734A (ja) 通信処理装置および通信方法
WO2006058212A2 (en) Methods and apparatus for estimating bandwidth of a data network

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200514

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200514

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20210103

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210113

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210222

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210305

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210428

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20210917

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20211015

R151 Written notification of patent or utility model registration

Ref document number: 6963411

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151