JP6618330B2 - 通信装置及びその方法、コンピュータプログラム - Google Patents
通信装置及びその方法、コンピュータプログラム Download PDFInfo
- Publication number
- JP6618330B2 JP6618330B2 JP2015212333A JP2015212333A JP6618330B2 JP 6618330 B2 JP6618330 B2 JP 6618330B2 JP 2015212333 A JP2015212333 A JP 2015212333A JP 2015212333 A JP2015212333 A JP 2015212333A JP 6618330 B2 JP6618330 B2 JP 6618330B2
- Authority
- JP
- Japan
- Prior art keywords
- packet
- length
- memory
- communication
- determined
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Description
第一のメモリと、
前記第一のメモリよりも高速に読み書きが可能な第二のメモリと、
相手装置からパケットを受信した場合に、当該パケットの長さが、確認応答パケットの長さに基づく所定の閾値を超えるか否かを判定する判定手段と、
前記相手装置から受信したパケットの長さが前記閾値を超えると判定された場合、当該パケットを前記第一のメモリに格納し、超えないと判定された場合、当該パケットを前記第二のメモリに格納する格納手段と
を備え、
前記所定の閾値は、前記相手装置から送出される確認応答パケットの長さと、前記第二のメモリの空き容量の大きさとに基づいて決定される。
本発明の第一の実施形態(実施形態1)では、TCP/IPプロトコルスタックの処理を行うデータ送信ホストでデータ送信を効率的に実施するために、受信したパケットをSRAMかDRAMのネットワークバッファに振り分けて転送する構成を説明する。なお、本実施形態ではトランスポート層のプロトコルとしてTCPを使用する例を説明するが、トランスポート層のプロトコルとして、確認応答を伴うTCP以外のストリーム型プロトコルを使用してもよい。またトランスポート層でデータグラム型プロトコルを使用して、アプリケーション層で確認応答を伴うストリーム型通信を実現するプロトコルを使用してもよい。
図1はデータ通信を行うシステムの全体構成図である。通信システムでは、送信側ホスト101と受信側ホスト102がネットワーク103を介して通信可能な状況を表している。
本実施形態では、TCPプロトコルスタックに基づきデータを送信する場合に、ACKパケットの長さと、SRAM204のネットワークバッファの空き容量を比較し、より小さい方の値を閾値として設定する。そして、パケットを受信したときは、そのサイズが閾値以下のときのみそのパケットをSRAMに格納し、閾値を超えるサイズのパケットはDRAMに格納する。このため、SRAMに空き容量がある限り、受信したACKパケットを優先的にSRAMに格納するため、ACKパケットを高速に解析して高速にデータを送信することができる。
ACKパケットの長さ = Ethernetヘッダ長(14bytes)
+IPv4ヘッダ長(20bytes)
+TCPヘッダ長(20bytes)
ここで、Ethernetではなく、異なるリンク層のプロトコルを使用する場合は、そのプロトコルのヘッダ長に合わせてACKパケットの長さを計算してもよい。また、送信側ホスト101が複数のネットワークインタフェースを持っており、かつネットワークインタフェースごとに異なるリンク層プロトコルを用いる場合がある。このような場合には、使用しているリンク層プロトコルの中で最もヘッダ長の長いプロトコルのヘッダ長を使用してもよい。これによって、SRAM204に空き容量がある限り、すべてのネットワークインタフェースから受信されるACKパケットをSRAM204に格納できるようにする。上式で算出したACKパケットの長さと、SRAM204のネットワークバッファの空き容量を比較し、より小さい方の値を閾値として使用する。
以下、本発明の第二の実施形態(実施形態2)の通信処理を説明する。実施形態1では、インターネットプロトコルとしてIPv4を用いたシステムにおける構成例を説明した。本実施形態では、インターネットプロトコルのバージョンに応じて受信パケットを格納するメモリを振り分ける判断の基となるパケットサイズの閾値を変更する。これにより様々なバージョンのインターネットプロトコルに対応可能な構成例を説明する。なお、本実施形態において、実施形態1と略同様の構成については、同一符号を付して、その詳細な説明を省略する。
ACKパケットの長さ = Ethernetヘッダ長(14bytes)
+IPv6ヘッダ長(40bytes)
+TCPヘッダ長(20bytes)
S405およびS406でACKパケットの長さを算出したら、S407で閾値を算出するために、ACKパケットの長さとSRAM204のネットワークバッファの空き容量を比較し、小さい方の値を閾値として使用する。以降、S408乃至S412の処理は実施形態1に記載のS305乃至S309の各ステップと同様の処理を行うため、説明を省略する。
以下、本発明の第三の実施形態(実施形態3)の通信処理を説明する。なお、本実施形態において、実施形態1および実施形態2と同様の構成については、同一符号を付して、その詳細な説明を省略する。
ACKパケットの長さ = Ethernetヘッダ長(14bytes)
+IPv4ヘッダ長(20bytes)
+TCPヘッダ長(20bytes)
+最大TCPオプション長(0〜40bytes)
この式ではIPv4ヘッダを使用することを想定しているが、実施形態2に記載の通り、IPv6ヘッダを使用してもよい。以降、S509乃至S512の処理は実施形態1に記載のS305乃至S308の各ステップと同様の処理を行うため、説明を省略する。
以下、本発明の第四の実施形態(実施形態4)の通信処理を説明する。なお、本実施形態において、実施形態1乃至実施形態3と同様の構成については、同一符号を付して、その詳細説明を省略する。
上記各実施形態の説明では、確認応答パケットの一例としてTCP/IPにおけるACKパケットを用いて説明したが、確認応答パケットはACKパケットに限るものではない。また、通信プロトコルとしてTCP/IP以外のプロトコルに適用することも可能である。
Claims (11)
- コネクション型の通信プロトコルに基づき相手装置と通信する通信装置であって、
第一のメモリと、
前記第一のメモリよりも高速に読み書きが可能な第二のメモリと、
相手装置からパケットを受信した場合に、当該パケットの長さが、確認応答パケットの長さに基づく所定の閾値を超えるか否かを判定する判定手段と、
前記相手装置から受信したパケットの長さが前記閾値を超えると判定された場合、当該パケットを前記第一のメモリに格納し、超えないと判定された場合、当該パケットを前記第二のメモリに格納する格納手段と
を備え、
前記所定の閾値は、前記相手装置から送出される確認応答パケットの長さと、前記第二のメモリの空き容量の大きさとに基づいて決定されることを特徴とする通信装置。 - 前記所定の閾値は、前記確認応答パケットの長さと、前記第二のメモリの空き容量の大きさとのいずれか小さい値に決定されることを特徴とする請求項1に記載の通信装置。
- 前記相手装置との通信で用いるIPアドレスのバージョンに基づいて、前記確認応答パケットの長さを取得する取得手段をさらに備え、
前記所定の閾値は、前記取得手段が取得した確認応答パケットの長さに基づいて決定される
ことを特徴とする請求項1又は2に記載の通信装置。 - コネクション型の通信プロトコルに基づき相手装置と通信する通信装置であって、
第一のメモリと、
前記第一のメモリよりも高速に読み書きが可能な第二のメモリと、
相手装置からパケットを受信した場合に、当該パケットの長さが、確認応答パケットの長さに基づく所定の閾値を超えるか否かを判定する判定手段と、
前記相手装置から受信したパケットの長さが前記閾値を超えると判定された場合、当該パケットを前記第一のメモリに格納し、超えないと判定された場合、当該パケットを前記第二のメモリに格納する格納手段と、
前記相手装置との通信で用いる通信オプションにより用いられうるデータ長に基づいて、前記確認応答パケットの長さを取得する取得手段と
を備え、
前記所定の閾値は、前記取得手段が取得した確認応答パケットの長さに基づいて決定されることを特徴とする通信装置。 - 前記通信オプションにより用いられうるデータ長は、前記相手装置との通信コネクションを確立する際、又は、通信コネクションを解放する際に取得されることを特徴とする請求項4に記載の通信装置。
- 前記第一及び第二のメモリは、前記相手装置へ送信するパケットを保持するバッファ手段として用いられることを特徴とする請求項1乃至5のいずれか1項に記載の通信装置。
- 前記確認応答パケットは、TCP(トランスミッション・コントロール・プロトコル)で用いられるACKパケットであることを特徴とする請求項1乃至6のいずれか1項に記載の通信装置。
- 前記第一のメモリはDRAMであり、前記第二のメモリはSRAMであることを特徴とする請求項1乃至7のいずれか1項に記載の通信装置。
- 第一のメモリと、前記第一のメモリよりも高速に読み書きが可能な第二のメモリとを備えた、コネクション型の通信プロトコルに基づき相手装置と通信する通信装置の通信方法であって、
判定手段が、相手装置からパケットを受信した場合に、当該パケットの長さが、確認応答パケットの長さに基づく所定の閾値を超えるか否かを判定する判定工程と、
格納手段が、前記相手装置から受信したパケットの長さが前記閾値を超えると判定された場合、当該パケットを前記第一のメモリに格納し、超えないと判定された場合、当該パケットを前記第二のメモリに格納する格納工程と
を備え、
前記所定の閾値は、前記相手装置から送出される確認応答パケットの長さと、前記第二のメモリの空き容量の大きさとに基づいて決定されることを特徴とする通信方法。 - 第一のメモリと、前記第一のメモリよりも高速に読み書きが可能な第二のメモリとを備えた、コネクション型の通信プロトコルに基づき相手装置と通信する通信装置の通信方法であって、
判定手段が、相手装置からパケットを受信した場合に、当該パケットの長さが、確認応答パケットの長さに基づく所定の閾値を超えるか否かを判定する判定工程と、
格納手段が、前記相手装置から受信したパケットの長さが前記閾値を超えると判定された場合、当該パケットを前記第一のメモリに格納し、超えないと判定された場合、当該パケットを前記第二のメモリに格納する格納工程と、
取得手段が、前記相手装置との通信で用いる通信オプションにより用いられうるデータ長に基づいて、前記確認応答パケットの長さを取得する取得工程と
を備え、
前記所定の閾値は、前記取得工程において取得された確認応答パケットの長さに基づいて決定されることを特徴とする通信方法。 - コンピュータを請求項1から8のいずれか1項に記載の通信装置が備える各手段として機能させるためのコンピュータプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015212333A JP6618330B2 (ja) | 2015-10-28 | 2015-10-28 | 通信装置及びその方法、コンピュータプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015212333A JP6618330B2 (ja) | 2015-10-28 | 2015-10-28 | 通信装置及びその方法、コンピュータプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2017085378A JP2017085378A (ja) | 2017-05-18 |
JP6618330B2 true JP6618330B2 (ja) | 2019-12-11 |
Family
ID=58712163
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015212333A Active JP6618330B2 (ja) | 2015-10-28 | 2015-10-28 | 通信装置及びその方法、コンピュータプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6618330B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102629782B1 (ko) * | 2021-09-29 | 2024-01-29 | 주식회사 엘지유플러스 | 안전 관리 시스템을 위한 실시간 메시지 처리 장치 및 방법 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6892285B1 (en) * | 2002-04-30 | 2005-05-10 | Cisco Technology, Inc. | System and method for operating a packet buffer |
US6996070B2 (en) * | 2003-12-05 | 2006-02-07 | Alacritech, Inc. | TCP/IP offload device with reduced sequential processing |
JP4502796B2 (ja) * | 2004-12-17 | 2010-07-14 | パナソニック株式会社 | ストリームパケット受信装置 |
JP2006211136A (ja) * | 2005-01-26 | 2006-08-10 | Matsushita Electric Ind Co Ltd | データ処理装置およびデータ処理方法 |
JP2009020684A (ja) * | 2007-07-11 | 2009-01-29 | Kawasaki Microelectronics Kk | 端末装置 |
JP6351363B2 (ja) * | 2013-08-01 | 2018-07-04 | キヤノン株式会社 | 通信装置およびそのデータ処理方法 |
-
2015
- 2015-10-28 JP JP2015212333A patent/JP6618330B2/ja active Active
Also Published As
Publication number | Publication date |
---|---|
JP2017085378A (ja) | 2017-05-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8996718B2 (en) | TCP-aware receive side coalescing | |
JP4477613B2 (ja) | AXIプロトコルを適用したNoCシステム | |
US8566389B2 (en) | Thin network protocol | |
CN109936510A (zh) | 多路径rdma传输 | |
JP5049834B2 (ja) | データ受信装置、データ受信方法およびデータ処理プログラム | |
JP2018139448A5 (ja) | ||
JP2009031954A (ja) | データ処理装置およびデータ転送方法 | |
US8495241B2 (en) | Communication apparatus and method therefor | |
US9866639B2 (en) | Communication apparatus, information processor, communication method, and computer-readable storage medium | |
JP6351363B2 (ja) | 通信装置およびそのデータ処理方法 | |
US20150264141A1 (en) | Communication apparatus, information processor, communication method, and computer-readable storage medium | |
JP5304674B2 (ja) | データ変換装置、データ変換方法及びプログラム | |
JP6618330B2 (ja) | 通信装置及びその方法、コンピュータプログラム | |
CN111064704B (zh) | 一种基于mptcp启动窗口自适应的数据传输方法、装置和介质 | |
US10372667B2 (en) | Communication apparatus and control method thereof | |
JP2008113327A (ja) | ネットワークインターフェース装置 | |
WO2015021878A1 (zh) | 一种应用于pci-e的流量控制方法、设备及系统 | |
JP2019114947A (ja) | 通信装置、通信装置の制御方法およびプログラム | |
JPWO2017199913A1 (ja) | 送信装置、方法およびプログラム | |
JP6976786B2 (ja) | 通信装置および通信装置の制御方法 | |
US20160112318A1 (en) | Information processing system, method, and information processing apparatus | |
WO2020184381A1 (ja) | 処理装置、情報処理システム、情報処理方法、及びプログラム | |
JP2020178182A (ja) | 通信装置、通信装置の制御方法およびプログラム | |
JP2022161570A (ja) | 通信装置、通信方法およびプログラム | |
JP2009130891A (ja) | 情報処理装置及びフレーム中継方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20181029 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20190722 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20190729 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20190924 |
|
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: 20191015 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20191112 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 6618330 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |