JP2014155072A - 通信装置及びその制御方法、プログラム - Google Patents

通信装置及びその制御方法、プログラム Download PDF

Info

Publication number
JP2014155072A
JP2014155072A JP2013023824A JP2013023824A JP2014155072A JP 2014155072 A JP2014155072 A JP 2014155072A JP 2013023824 A JP2013023824 A JP 2013023824A JP 2013023824 A JP2013023824 A JP 2013023824A JP 2014155072 A JP2014155072 A JP 2014155072A
Authority
JP
Japan
Prior art keywords
address
mac address
connection management
transmission destination
destination
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.)
Granted
Application number
JP2013023824A
Other languages
English (en)
Other versions
JP6118122B2 (ja
JP2014155072A5 (ja
Inventor
Tetsuo Ido
哲男 井戸
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 JP2013023824A priority Critical patent/JP6118122B2/ja
Priority to US14/150,146 priority patent/US9118608B2/en
Publication of JP2014155072A publication Critical patent/JP2014155072A/ja
Publication of JP2014155072A5 publication Critical patent/JP2014155072A5/ja
Application granted granted Critical
Publication of JP6118122B2 publication Critical patent/JP6118122B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • H04L45/745Address table lookup; Address filtering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/54Organization of routing tables
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2101/00Indexing scheme associated with group H04L61/00
    • H04L2101/60Types of network addresses
    • H04L2101/618Details of network addresses
    • H04L2101/622Layer-2 addresses, e.g. medium access control [MAC] addresses
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/10Mapping addresses of different types
    • H04L61/103Mapping addresses of different types across network layers, e.g. resolution of network layer into physical layer addresses or address resolution protocol [ARP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/58Caching of addresses or names

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Small-Scale Networks (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

【課題】 テーブル参照処理の軽減を実現し、より高速なTCP/IP通信を提供する。
【解決手段】 TCP通信のコネクション確立処理において、ルーティングテーブルを参照して、次の送信先IPアドレスを決定する。ARPテーブルを参照して、次の送信先IPアドレスに対応づけられた次の送信先MACアドレスを決定する。送信先IPアドレスと次の送信先MACアドレスを、コネクション管理情報としてコネクション管理テーブルに保存する。コネクション管理テーブルに保存されたコネクション管理情報で管理される送信先IPアドレスと次の送信先MACアドレスを用いて、送信用のパケットを作成する。
【選択図】 図1

Description

本発明は、パケットの送信先となる端末との通信をネットワークを介して行う通信装置及びその制御方法、プログラムに関するものである。
インターネットで標準的に利用されているプロトコルの一つにTCP及びIPがある。IPはOSI参照モデルのネットワークレイヤに対応し、TCPはトランスポートレイヤにあたる。
TCP通信処理の実装において、TCP通信の制御に関わる様々な情報が格納されている転送制御ブロックTCBを用いることが一般的である。TCBはソフトウェア実装において構造体で実現されるようなTCPコネクション毎の管理領域である。TCBには遷移状態、シーケンス番号、ACK番号、ウインドウサイズ等のTCP通信に必要な情報が格納される。TCBに格納された情報を参照したり、情報を更新したりすることで、TCP送受信処理が実現される。
実際に、TCPを用いてネットワーク上の相手端末と通信する場合には、TCPの他に下位レイヤのプロトコルが必要となり、それらを使用しての通信となる。具体的な一例としては、TCPの通信単位であるTCPセグメントをIPパケット化し、さらにはそのIPパケットをイーサネットフレーム化することで、イーサネットを利用してネットワークへアクセスする。ここで、ネットワーク上の相手端末は、MACアドレスによる識別が可能である。送信したイーサネットフレームの宛先MACアドレスとして相手端末のMACアドレスを指定することで、相手端末でイーサネットフレームを受信することができる。相手端末では、受信したイーサネットフレームからIPパケットを取り出し、IPパケットからTCPセグメントを取り出すことができる。これにより、TCP通信が可能となる。
同様に、イーサネットの代わりに無線LANを使うことも可能である。
上述したように、イーサネットフレームの宛先MACアドレスに相手端末のMACアドレスを指定することで、ネットワーク上の相手端末まで正しく通信ができる。つまり、送信元では、相手端末のMACアドレスを知っておく必要がある。これを実現する方法がARP及びARPテーブルである。
ARPテーブルは、ARPというアドレス解決プロトコルによって作成、更新及び削除される。時には、ユーザによっても操作される。ARPテーブルは、具体的には、ネットワーク上の端末のMACアドレスとIPアドレスを対にして記憶した情報エントリの集合である。IPパケットの送信毎に、宛先IPアドレスから対応するMACアドレスを検索する処理がARPテーブルに対して行われる。これにより、宛先MACアドレスが決定し、ネットワーク上の相手端末を識別して通信が可能となる。
しかし、IPパケット送信毎に、ARPテーブルから宛先MACアドレスを決定することは処理負荷が大きい。具体的には、ARPテーブルから宛先IPアドレスに対応する情報エントリの検索を行い、対象の情報エントリが見つかると、そこから宛先MACアドレスが決定され、それによりイーサネットフレームのヘッダを作成することができる。つまり、ネットワーク上に端末が複数ある場合、その端末数が増加するとARPテーブルで管理する情報エントリ数も増加し、IPパケット送信毎に実施される情報エントリの検索処理負荷が増大する。
そこで、検索処理を高速化するためにハッシュ技術を用いる方法が提案されている(特許文献1)。この方法をARPテーブルから情報エントリを検索する処理に利用することで、検索処理の負荷を軽減することが可能である。
特許第4888369号公報
しかしながら、近年のイーサネットでは、より高速な通信が可能となる規格が出てきている。無線LANにおいても同様に高速化が進んでいる。このような高速なネットワークにおいて通信を行う場合には、ARPテーブル参照における検索処理の更なる高速化が望まれている。
本発明は上記の課題を解決するためになされたものであり、テーブル参照処理の軽減を実現し、より高速なTCP/IP通信を提供することである。
上記の目的を達成するための本発明による通信装置は以下の構成を備える。即ち、
パケットの送信先となる端末との通信をネットワークを介して行う通信装置であって、
次の送信先IPアドレスを経路情報として保持するルーティングテーブルと、
前記ネットワーク上の前記端末のIPアドレスとMACアドレスを対応づけて管理するARPテーブルと、
TCP通信の各コネクションに付随する情報であるコネクション管理情報を保持するコネクション管理テーブルと、
TCP通信のコネクション確立処理において、前記ルーティングテーブルを参照して、次の送信先IPアドレスを決定するルート決定手段と、
前記ARPテーブルを参照して、前記次の送信先IPアドレスに対応づけられた次の送信先MACアドレスを決定するMACアドレス決定手段と、
前記送信先IPアドレスと前記次の送信先MACアドレスを、前記コネクション管理情報として前記コネクション管理テーブルに保存する保存手段と、
前記コネクション管理テーブルに保存された前記コネクション管理情報で管理される前記送信先IPアドレスと前記次の送信先MACアドレスを用いて、送信用のパケットを作成する作成手段と
を備える。
本発明によれば、TCP送信時の処理においてARPテーブルが記憶されている主記憶へのアクセスが不要となり、またARPテーブルから対象のエントリを探す検索処理も不要になることで処理負荷が軽減され、より高速なTCP通信を実現することができる。
実施形態1の通信端末の機能構成を示すブロック図である。 実施形態1の処理を示すフローチャートである。 実施形態1のシステム構成を示す図である。 実施形態1のルーティングテーブルの例を示す図である。 実施形態1のARPテーブルの例を示す図である。 実施形態1の相手端末のNIC変更時の例を占めず図である。 実施形態1のパケット不達発生時のフローチャートである。 実施形態1のARPテーブル更新の例を示す図である。 実施形態2のシステム構成を示す図である。 実施形態2のARPテーブルの例を示す図である。 実施形態2のゲートウェイ変更時の例を示す図である。 実施形態2のゲートウェイ変更時のフローチャートである。 実施形態2のルーティングテーブル変更の例を示す図である。 実施形態2のARPテーブルの例を示す図である。
以下、本発明の実施の形態について図面を用いて詳細に説明する。
<実施形態1>
Ethernet(イーサネット)を使って、ネットワークへTCP送信を通信端末(通信装置)から行う場合の処理を説明する。
図1は通信端末の機能構成を示すブロック図である。
ルーティングテーブル101は、次の送信先IPアドレスを経路情報として保持する。ARPテーブル102は、ネットワーク上の通信端末のIPアドレスとMACアドレスを対応づけて管理する。コネクション管理テーブル103は、TCP通信の各コネクションに付随する情報であるコネクション管理情報(TCB)を保持する。
データメモリ104は、画像データ等のユーザやアプリケーションが扱うデータを記憶する。アプリケーション処理部105は、アプリケーションを実行し、データメモリ104に記録されたデータを参照したり、そのデータをTCP処理部106へ渡したりする。また、アプリケーション処理部105は、TCP処理部106からデータを受け取り、それをデータメモリ104へ記録する。
TCP処理部106は、コネクション管理テーブル103を使用してTCPのプロトコル処理を行う。IP処理部107は、IPのプロトコル処理を行う。MAC処理部108は、Ethernet−MACデバイスを制御してMACのプロトコル処理を行う。PHY処理部109は、Ethernet−PHYデバイスを制御してPHYのプロトコル処理を行う。尚、PHYは、ネットワークにおけるプロトコルの機能を表したOSI参照モデルにおいて、最も物理的な接続形式を規定している通信モデルであり、全7レイヤの内、第1レイヤ目に位置する物理レイヤを意味する。
ルート決定部110は、ルーティングテーブル101を参照して、次の送信先IPアドレスを決定する。宛先MACアドレス決定部111は、ARPテーブル102を参照して次の送信先IPアドレスに対応づけられた次の送信先MACアドレスを決定する。
制御部112は、通信処理全体を統制し、宛先IPアドレスと次の送信先MACアドレスをTCBとしてコネクション管理テーブル103に保存する。また、制御部112は、ARPテーブル102の更新が発生した場合、コネクション管理テーブル103の更新を実施するように制御する。更に、制御部112は、コネクション管理テーブル103に保存されているTCBを利用して、送信用のパケットを作成する。
以下、図2のフローチャートに従って説明する。また、システム構成を図3に示す。通信端末(図1)である自端末1と相手端末2がローカルネットワーク3上に存在する構成である。
自端末1のIPアドレスが192.168.1.10、MACアドレスがaa:aa:aa:aa:aa:aaであるとする。また、相手端末2のIPアドレスが192.168.1.11、MACアドレスがbb:bb:bb:bb:bb:bbであるとする。
まず、ステップS101として、自端末1と相手端末2の間にTCPコネクションを確立するために、自端末1と相手端末2ではそれぞれTCPコネクションを管理するTCB(コネクション管理情報)をコネクション毎にコネクション管理テーブル103に作成する。コネクション確立を要求する側の自端末1では、TCBに相手端末2のポート番号とIPアドレスを保持する。コネクション確立の待ち受け側の相手端末2では、TCBに待ち受けのポート番号を保持する。
次に、ステップS102として、自端末1から相手端末2に向けてTCPのSYNパケット送信処理を開始する。自端末1は、まず、SYNパケット送信要求を生成する。
次に、SYNパケット送信処理としては、ステップS103として、自端末1は、最初に、ルーティングテーブル101の参照を行う。この時のルーティングテーブル101は、図4のようになっているとする。
ここでは、ルーティングテーブル101を参照すると、TCBに保持している相手端末2のIPアドレスが192.168.1.11であるので、ローカルネットワーク3に属することがわかる。ローカルネットワーク3に属するという条件はデフォルトゲートウェイの条件よりも優先されるため、このような判定となる。よって、ステップS104として、自端末1は、ルートとして、次の送信先IPアドレスは相手端末2のIPアドレスであると確定する。
次に、ステップS105として、自端末1は、ARPテーブル102を参照する。ステップS106として、自端末1は、ARPテーブル102の参照によって、送信先のアドレス解決ができたか否かを判定する。判定の結果、アドレス解決できた場合(ステップS106でYES)、ステップS110に進む。一方、アドレス解決できなかった場合(ステップS106でNO)、ステップS107に進む。
ここでは、次の送信先IPアドレス192.168.1.11がARPテーブル102から見つからなかった場合(アドレス解決できなかった)について説明する。この場合、ステップS107として、自端末1は、アドレス解決のためのARP要求パケットをローカルネットワーク3に送信する(ARPを実施する)。
次に、ステップS108として、自端末1は、ARP要求に対するARP応答を受信することにより、アドレス解決できたか否かを判定する。判定の結果、アドレス解決できた場合(ステップS108でYES)、ステップS110に進む。一方、アドレス解決できなかった場合(ステップS108でNO)、ステップS109に進む。
ここで、ARP要求をローカルネットワーク3上の通信端末が受信すると、ARP応答を返信する。ARP応答には応答した通信端末のIPアドレスとMACアドレスが含まれている。このARP応答を自端末1で受信することにより、自端末1は、今回の相手端末2のIPアドレスとMACアドレスを知ることができ、これらを対にしてARPテーブル102に新規に追加(更新)することができる。この時のARPテーブル102を図5に示す。
ARPテーブル102が更新されたことで、自端末1は、TCPレイヤにて、再度、ARPテーブル102を参照して、今回は次の送信先IPアドレス192.168.1.11を見つけることができる。そして、ステップS110として、自端末1は、次の送信先IPアドレスに対応付けられた次の送信先MACアドレスbb:bb:bb:bb:bb:bb(宛先MACアドレス)を確定する。
尚、ステップS108において、アドレス解決できなかった場合とは、ARPテーブル102の更新に失敗したり、更新しても次の送信先IPアドレスが見つからない場合等である。そして、この場合は、ステップS109として、自端末1は、TCBに保存する次の送信先MACアドレスを無効に設定し、MACヘッダ作成時に無効を検出すると送信処理を破棄する。
ステップS111として、自端末1は、次の送信先MACアドレス(宛先MACアドレス)をこのコネクション用のTCBに保存する。ステップS112として、自端末1は、TCPレイヤにてSYNパケットを作成する。このとき、SYNパケットのTCPヘッダの宛先ポート番号には、相手端末2で待ち受けしているポート番号を設定する。相手端末2のポート番号は、このコネクション用に保持しているTCBを参照することで知ることができる。
次に、ステップS113として、自端末1は、IPレイヤにてSYNパケットをIPパケット化する。このとき、IPヘッダの宛先IPアドレスには相手端末2のIPアドレスを設定する。相手端末2のIPアドレスは、このコネクション用に保持しているTCBを参照することで知ることができる。
次に、ステップS114として、自端末1は、MACレイヤにてIPパケットをMACフレーム化する。ここでは、例えば、イーサネットフレーム化する。このとき、イーサネットヘッダの宛先MACアドレスには次の送信先MACアドレスを設定する。次の送信先MACアドレスは、このコネクション用に保持しているTCBを参照することで知ることができる。
以上のようにして、自端末1は、SYNパケットをイーサネットフレーム化し、ステップS115として、ローカルネットワーク3へ送信する。
ここで、イーサネット(Ethernet)はMACレイヤの一例であり、イーサネットの代わりに無線LANを使うこともできる。無線LANを使った場合には、MACレイヤは802.11g規格や802.11n規格等に従うものとなるが、処理については同様のものとなる。
また、TCPコネクション確立処理としては、ステップS116として、自端末1は、相手端末2から返信されるSYN−ACKパケットに対してACKを送信することで、いわゆる3ウェイハンドシェークと呼ばれるTCPコネクション確立処理が完了する。
TCPコネクションが確立すると、ステップS117として、自端末1は、その後のTCPによるデータ送信やACK送信においては、そのコネクション用のTCBを参照することにより、イーサネットフレーム化して、TCP通信を実行することができる。その後、TCP通信が完了すると、ステップS118として、自端末1は、TCPコネクションを終了する。
次に、相手端末2において、NICが切り替わった場合について説明する。例えば、NICが故障してしまって交換した場合や、より高性能なNICに交換した場合や、イーサネットから無線LANに切り替えた場合や、その逆の場合等が想定される(図6参照)。
ここでは、図7のフローチャートに従って説明する。
このような場合には、相手端末のMACアドレスが変更になる。そのため、例えば、TCPデータをイーサネットフレーム化して送信しても、宛先への到達不能(不達)となってしまう。このような場合、ネットワークから宛先への到達不能メッセージが出されたり、到達不能状態が継続されるようになる。
このような状態になると、ステップS201として、自端末1は、再度、ARP要求パケットをローカルネットワーク3に送信する(ARPを実施する)。次に、ステップS202として、自端末1は、ARP要求に対するARP応答を受信することにより、アドレス解決できたか否かを判定する。判定の結果、アドレス解決できなかった場合(ステップS202でNO)、ステップS203に進む。ステップS203として、自端末1は、TCBに保持する次の送信先MACアドレスを無効に設定し、MACヘッダ作成時に無効を検出すると送信処理を破棄する。
一方、アドレス解決できた場合(ステップ202でYES)、ステップS204に進む。ステップS204として、自端末1は、相手端末2から受信したARP応答を受信することで、相手端末2のIPアドレスと新しいMACアドレス(宛先MACアドレス)を知ることができ、これをARPテーブル102に登録(更新)することができる。この時のARPテーブル102を図8に示す。
また、自端末1は、ルーティングテーブル101(図4)を再度参照し、宛先IPアドレス192.168.1.11がローカルネットワーク3内に属することを再度確認し、次の送信先IPアドレスを確定する。そして、次の送信先IPアドレス192.168.1.11がARPテーブル102(図8)にあるかどうかを確認する。さきほど、ARPテーブル102は更新されているので、自端末1は、次の送信先IPアドレス192.168.1.11を見つけることができる。これにより、自端末1は、対応する次の送信先MACアドレスcc:cc:cc:cc:cc:cc(宛先MACアドレス)を確定することができる。
そして、ステップS205として、自端末1は、次の送信先MACアドレス(宛先MACアドレス)をこのコネクション用のTCBに保存する。
ここで、ARPテーブル102が更新された場合に、自端末1は、現在確立されている全てのコネクションに対して、同様に、ルーティングテーブル101の参照とARPテーブル102の参照を行う。また、必要がある場合には、自端末1は、各TCBの次の送信先MACアドレスを更新(更新対象)するようにしても良い。
例えば、次の送信先MACアドレスを用いて、送信用のパケットの作成の後、前記ARPテーブルの更新が発生した場合において、その更新時のコネクションにおける次の送信先MACアドレスと、コネクション管理テーブルに保存されているコネクション管理情報で管理される次の送信先MACアドレスが異なる場合には、次の送信先MACアドレスでコネクション管理テーブルで保存されるコネクション管理情報を更新しても良い。
また、相手端末2のIPアドレスや次の送信先MACアドレスがTCBに保存されているので、IPヘッダの一部である宛先IPアドレスの設定や、MACヘッダの一部である宛先MACヘッダの設定をTCPレイヤにて行う構成としても良い。
また、ARPテーブル102の更新に失敗したり、更新しても次の送信先IPアドレスが見つからない場合、TCBに保存する次の送信先MACアドレスを無効に設定し、MACヘッダ作成時に無効を検出すると送信処理を破棄するようにしても良い。
以上のように、IPパケットの送信毎にルーティングテーブル101の参照やARPテーブル102の参照等の処理を行うことなく送信を行うことができる。
以上説明したように、実施形態1によれば、コネクション管理テーブル103のTCBに相手端末のIPアドレスや次の送信先MACアドレスを保存管理し、このTCBを利用して送信パケットを作成する。これにより、TCP送信時の処理においてARPテーブルが記憶されている主記憶へのアクセスが不要となる。また、ARPテーブルから対象のエントリを探す検索処理も不要になることで処理負荷が軽減され、より高速なTCP通信を実現することができる。
<実施形態2>
実施形態2では、無線LANを使ってネットワークへTCP送信を行い、途中でローミング(無線LANゲートウェイ端末の変更)を行う場合の処理を説明する。
自端末1の構成は、実施形態1の図1の機能構成と同様である。ここで、MAC処理部108とPHY処理部109は無線LANに対応する。
以下、図2のフローチャートに従って説明する。また、システム構成を図9に示す。通信端末である自端末1と無線LANゲートウェイ端末4(以下、GW1)はローカルネットワーク6(例えば、無線LANネットワーク)で接続され、GW1と相手端末2がローカルネットワーク3(例えば、イーサネット)で接続されている。同様に、自端末1と無線LANゲートウェイ端末5(以下、GW2)はローカルネットワーク6で接続可能であり、GW2と相手端末2がローカルネットワーク3で接続されている。また、無線LANによるローカルネットワーク6とイーサネットによるローカルネットワーク3は別ネットワークであり、GW1とGW2がゲートウェイとなっている。また、GW1がデフォルトゲートウェイ端末となっている。
ここで、自端末1のIPアドレスが192.168.1.10、MACアドレスがaa:aa:aa:aa:aa:aaであるとする。また、相手端末2のIPアドレスが192.168.2.11、MACアドレスがbb:bb:bb:bb:bb:bbであるとする。さらに、GW1の無線LAN側のIPアドレスが192.168.1.1、MACアドレスがcc:cc:cc:cc:cc:11であるとする。また、GW1のイーサネット側のIPアドレスが192.168.2.1、MACアドレスがcc:cc:cc:cc:cc:22であるとする。さらに、GW2の無線LAN側のIPアドレスが192.168.1.2、MACアドレスがdd:dd:dd:dd:dd:11であるとする。また、GW2のイーサネット側のIPアドレスが192.168.2.2、MACアドレスがdd:dd:dd:dd:dd:22であるとする。
まず、ステップS101として、自端末1と相手端末2の間にTCPコネクションを確立するため、自端末1と相手端末2ではそれぞれTCPコネクションを管理するTCBをコネクション毎にコネクション管理テーブル103に作成する。コネクション確立を要求する側の自端末1では、TCBに相手端末2のポート番号とIPアドレスを保持する。コネクション確立の待ち受け側の相手端末2では、TCBに待ち受けのポート番号を保持する。
次に、ステップS102として、自端末1から相手端末2に向けてTCPのSYNパケット送信処理を開始する。自端末1は、まず、SYNパケット送信要求を生成する。
次に、SYNパケット送信処理としては、ステップS103として、自端末1は、最初に、ルーティングテーブル101の参照を行う。この時のルーティングテーブル101は、図4のようになっているとする。
ここでは、ルーティングテーブル101を参照すると、TCBに保持している相手端末2のIPアドレス192.168.2.11は、ローカルネットワーク6ではなく、その他どこにも属していなかったとする。つまり、ステップS104として、自端末1は、ルートとして、次の送信先IPアドレスはデフォルトゲートウェイのIPアドレス192.168.1.1と確定する。
次に、ステップS105として、自端末1は、次の送信先IPアドレスを判定するために、ARPテーブル102を参照する。ステップS106として、自端末1は、ARPテーブル102の参照によって、送信先のアドレス解決ができたか否かを判定する。判定の結果、アドレス解決できなかった場合(ステップS106でNO)、実施形態1と同様に、ステップS107及びステップS108によって、次の送信先IPアドレスが解決されたものとする。そして、ステップS110として、自端末1は、次の送信先IPアドレスに対応付けられた次の送信先MACアドレスを確定する。このときのARPテーブルは図10のようであったとする。
ステップS111として、自端末1は、次の送信先MACアドレスをこのコネクション用のTCBに保存する。
この先、SYNパケットの送信処理は、実施形態1で説明した通り、ステップS112からステップS115として、TCBを参照することによりMACフレーム化してローカルネットワーク6へ送信することができる。そして、ステップS116として、自端末1は、TCPコネクション確立処理を完了する。また、ステップS117として、自端末1は、その後のTCPによるデータ送信やACK送信においては、そのコネクション用のTCBを参照することにより、MACフレーム化することができる。その後、通信が完了すると、ステップS118として、自端末1は、TCPコネクションを終了する。
次に、図11に示すように、ゲートウェイの変更を行った場合について説明する。例えば、TCP通信処理中に、自端末1が無線通信エリアを移動した場合や、GWを交換した場合等が想定される。
ここでは、図12のフローチャートに従って説明する。
このような場合には、デフォルトゲートウェイが変更され、それにより次の送信先MACアドレスが変更になる。このような場合、ユーザによる設定変更や、DHCPの機能やその他の方法等により、自端末1のルーティングテーブル101で保持しているデフォルトゲートウェイ情報が更新される。このときのルーティングテーブル101を図13に示す。
デフォルトゲートウェイが変更になると、ステップS301として、自端末1は、ルーティングテーブル101(図13)を参照する。ステップS302として、自端末1は、ルートとして、デフォルトゲートウェイのIPアドレスが192.168.1.2であることを確定する。次に、ステップS303として、自端末1は、デフォルトゲートウェイのIPアドレス192.168.1.2がARPテーブル102に登録されていることで、アドレス解決できたか否かを判定する。判定の結果、ARPテーブル102に登録があり、アドレス解決できなかった場合(ステップS303でYTE)、ステップS305として、自端末1は、ARP要求パケットを送信する(ARPを実施する)。
次に、ステップS306として、自端末1は、ARP要求に対するARP応答を受信することにより、アドレス解決できたか否かを判定する。判定の結果、アドレス解決できなかった場合(ステップS306でNO)、例えば、ARPテーブル102の更新に失敗したり、更新しても次の送信先IPアドレスが見つからない場合、ステップS307に進む。ステップS307として、自端末1は、TCBに保持する次の送信先MACアドレスを無効に設定し、MACヘッダ作成時に無効を検出すると送信処理を破棄する。
一方、アドレス解決できた場合(ステップS306でYES)、自端末1は、ARPテーブル102を更新する。ここで、判定することなく、ARP要求パケットを送信して、ARPテーブル102を更新しても構わない。ここでは、GW2からのARP応答によりARPテーブル102が更新されたものとする(図14参照)。その後は、ステップS308として、ARPテーブル102から次の送信先MACアドレスを確定する。そして、ステップS309として、実施形態1で説明したように、自端末1は、次の送信先MACアドレスdd:dd:dd:dd:dd:11をこのコネクション用のTCBに保存する。
以上のように、IPパケットの送信毎にルーティングテーブル101の参照やARPテーブル102の参照等の処理を行うことなく送信を行うことができる。
以上説明したように、実施形態2によれば、無線LAN環境においても、実施形態1と同様の効果を達成することができる。
尚、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステムまたは装置に供給し、そのシステムまたは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。

Claims (9)

  1. パケットの送信先となる端末との通信をネットワークを介して行う通信装置であって、
    次の送信先IPアドレスを経路情報として保持するルーティングテーブルと、
    前記ネットワーク上の前記端末のIPアドレスとMACアドレスを対応づけて管理するARPテーブルと、
    TCP通信の各コネクションに付随する情報であるコネクション管理情報を保持するコネクション管理テーブルと、
    TCP通信のコネクション確立処理において、前記ルーティングテーブルを参照して、次の送信先IPアドレスを決定するルート決定手段と、
    前記ARPテーブルを参照して、前記次の送信先IPアドレスに対応づけられた次の送信先MACアドレスを決定するMACアドレス決定手段と、
    前記送信先IPアドレスと前記次の送信先MACアドレスを、前記コネクション管理情報として前記コネクション管理テーブルに保存する保存手段と、
    前記コネクション管理テーブルに保存された前記コネクション管理情報で管理される前記送信先IPアドレスと前記次の送信先MACアドレスを用いて、送信用のパケットを作成する作成手段と
    を備えることを特徴とする通信装置。
  2. 前記ARPテーブルの更新が発生した場合において、その更新時のコネクションにおける次の送信先MACアドレスと、前記コネクション管理テーブルに保存されている前記コネクション管理情報で管理される次の送信先MACアドレスが異なる場合には、前記保存手段は、前記次の送信先MACアドレスで前記コネクション管理テーブルで保存されるコネクション管理情報を更新する
    ことを特徴とする請求項1に記載の通信装置。
  3. 前記送信用のパケットが、送信先の端末へ到達不能であることを検出した場合、前記ルート決定手段は、再度、前記ルーティングテーブルを参照して、次の送信先IPアドレスを決定し、
    前記ARPテーブルを参照して、前記ルート決定手段が決定した前記次の送信先IPアドレスに対応づけられた次の送信先MACアドレスを決定できなかった場合、前記MACアドレス決定手段は、ARP要求を前記ネットワークに対して送信し、前記ARP要求に対して前記ネットワークから受信するARP応答に基づいて、前記ARPテーブルを更新する
    ことを特徴とする請求項1に記載の通信装置。
  4. TCP通信処理中に、前記ルーティングテーブルが更新された場合、前記ルート決定手段は、再度、前記ルーティングテーブルを参照して、次の送信先IPアドレスを決定し、
    前記MACアドレス決定手段は、前記ARPテーブルを参照して、前記ルート決定手段が決定した前記次の送信先IPアドレスに対応づけられた次の送信先MACアドレスを決定し、
    前記保存手段は、前記MACアドレス決定手段が決定した前記次の送信先MACアドレスで前記コネクション管理テーブルで保存されるコネクション管理情報を更新する
    ことを特徴とする請求項1または2に記載の通信装置。
  5. 前記ルーティングテーブルが更新された場合、現在確立されている全てのTCP通信のコネクションに対して、前記コネクション管理テーブルで管理される対応するコネクション管理情報を参照し、該コネクション管理情報で管理されているIPアドレスが前記ルーティングテーブルの更新対象である場合、
    前記ルート決定手段は、再度、前記ルーティングテーブルを参照して次の送信先IPアドレスを決定し、
    前記MACアドレス決定手段は、前記ARPテーブルを参照して、前記ルート決定手段が決定した前記次の送信先IPアドレスに対応付けられた次の送信先MACアドレスを決定し、
    前記保存手段は、前記MACアドレス決定手段が決定した前記次の送信先MACアドレスで前記コネクション管理テーブルで管理されるコネクション管理情報を更新する
    ことを特徴とする請求項1乃至3のいずれか1項に記載の通信装置。
  6. 前記ARPテーブルを参照して、前記次の送信先MACアドレスを決定できなかった場合、前記MACアドレス決定手段は、ARP要求を前記ネットワークに対して送信し、前記ARP要求に対して前記ネットワークから受信するARP応答に基づいて、前記ARPテーブルを更新し、その更新によっても、コネクションにおける次の送信先MACアドレスを決定できなかった場合、前記保存手段は、前記コネクション管理テーブルに保存されているコネクション管理情報で管理される次の送信先MACアドレスを無効に設定する
    ことを特徴とする請求項1乃至4のいずれか1項に記載の通信装置。
  7. 前記作成手段は、前記コネクション管理テーブルに保存されているコネクション管理情報で管理される送信先IPアドレス及び次の送信先MACアドレスを用いて、TCPレイヤにおいてIPヘッダの一部及びMACヘッダの一部を作成する
    ことを特徴とする請求項1乃至5のいずれか1項に記載の通信装置。
  8. パケットの送信先となる端末との通信をネットワークを介して行う通信装置であって、次の送信先IPアドレスを経路情報として保持するルーティングテーブルと、前記ネットワーク上の前記端末のIPアドレスとMACアドレスを対応づけて管理するARPテーブルと、TCP通信の各コネクションに付随する情報であるコネクション管理情報を保持するコネクション管理テーブルとを備える、通信装置の制御方法であって、
    TCP通信のコネクション確立処理において、前記ルーティングテーブルを参照して、次の送信先IPアドレスを決定するルート決定工程と、
    前記ARPテーブルを参照して、前記次の送信先IPアドレスに対応づけられた次の送信先MACアドレスを決定するMACアドレス決定工程と、
    前記送信先IPアドレスと前記次の送信先MACアドレスを、前記コネクション管理情報として前記コネクション管理テーブルに保存する保存工程と、
    前記コネクション管理テーブルに保存された前記コネクション管理情報で管理される前記送信先IPアドレスと前記次の送信先MACアドレスを用いて、送信用のパケットを作成する作成工程と
    を備えることを特徴とする通信装置の制御方法。
  9. パケットの送信先となる端末との通信をネットワークを介して行う通信装置であって、次の送信先IPアドレスを経路情報として保持するルーティングテーブルと、前記ネットワーク上の前記端末のIPアドレスとMACアドレスを対応づけて管理するARPテーブルと、TCP通信の各コネクションに付随する情報であるコネクション管理情報を保持するコネクション管理テーブルとを備える、通信装置の制御をコンピュータに機能させるためのプログラムであって、
    前記コンピュータを、
    TCP通信のコネクション確立処理において、前記ルーティングテーブルを参照して、次の送信先IPアドレスを決定するルート決定手段と、
    前記ARPテーブルを参照して、前記次の送信先IPアドレスに対応づけられた次の送信先MACアドレスを決定するMACアドレス決定手段と、
    前記送信先IPアドレスと前記次の送信先MACアドレスを、前記コネクション管理情報として前記コネクション管理テーブルに保存する保存手段と、
    前記コネクション管理テーブルに保存された前記コネクション管理情報で管理される前記送信先IPアドレスと前記次の送信先MACアドレスを用いて、送信用のパケットを作成する作成手段と
    して機能させることを特徴とするプログラム。
JP2013023824A 2013-02-08 2013-02-08 通信装置及びその制御方法、プログラム Active JP6118122B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2013023824A JP6118122B2 (ja) 2013-02-08 2013-02-08 通信装置及びその制御方法、プログラム
US14/150,146 US9118608B2 (en) 2013-02-08 2014-01-08 Communication apparatus, control method therefor, and computer-readable storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013023824A JP6118122B2 (ja) 2013-02-08 2013-02-08 通信装置及びその制御方法、プログラム

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2017059611A Division JP6435002B2 (ja) 2017-03-24 2017-03-24 通信装置及びその制御方法、プログラム

Publications (3)

Publication Number Publication Date
JP2014155072A true JP2014155072A (ja) 2014-08-25
JP2014155072A5 JP2014155072A5 (ja) 2016-03-10
JP6118122B2 JP6118122B2 (ja) 2017-04-19

Family

ID=51297403

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013023824A Active JP6118122B2 (ja) 2013-02-08 2013-02-08 通信装置及びその制御方法、プログラム

Country Status (2)

Country Link
US (1) US9118608B2 (ja)
JP (1) JP6118122B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105959426A (zh) * 2016-04-21 2016-09-21 北京千丁互联科技有限公司 一种智能小区的终端设备及通信方法
US9948598B2 (en) 2015-02-23 2018-04-17 Renesas Electronics Corporation Delivery control device, data delivery system, delivery control method, and non-transitory computer readable medium storing delivery control program

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9853891B2 (en) * 2012-03-02 2017-12-26 Cisco Technology, Inc. System and method for facilitating communication
US20150256445A1 (en) * 2014-03-04 2015-09-10 Cisco Technology, Inc. Avoiding gratuitous address resolution protocol and unsolicited neighborhood discovery during host mobility events
US10212259B2 (en) * 2014-12-01 2019-02-19 Oracle International Corporation Management of transmission control blocks (TCBs) supporting TCP connection requests in multiprocessing environments
WO2018090230A1 (zh) * 2016-11-16 2018-05-24 华为技术有限公司 数据迁移方法及装置
CN109274781B (zh) * 2018-08-10 2022-04-26 新华三技术有限公司 Arp表项刷新方法和装置
US11606118B2 (en) * 2020-08-27 2023-03-14 Connectify, Inc. Data transfer with multiple threshold actions

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007274282A (ja) * 2006-03-31 2007-10-18 Fujitsu Ltd ネットワーク監視プログラム、ネットワーク監視方法、およびネットワーク監視装置
JP2010157875A (ja) * 2008-12-26 2010-07-15 Fujitsu Ltd 通信端末、ネットワークインタフェースカード及びその方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7185266B2 (en) * 2003-02-12 2007-02-27 Alacritech, Inc. Network interface device for error detection using partial CRCS of variable length message portions
KR100587560B1 (ko) * 2004-05-07 2006-06-08 삼성전자주식회사 링크 로컬 주소를 가지는 시스템에서 외부 시스템과통신하는 방법 및 장치
US20080008183A1 (en) * 2004-12-28 2008-01-10 Keiichi Takagaki Communication Device, Storage Medium, Integrated Circuit, and Communication System
CN1988495A (zh) * 2005-12-20 2007-06-27 鸿富锦精密工业(深圳)有限公司 网络地址转换装置及其转送封包的方法
JP4888369B2 (ja) 2007-12-13 2012-02-29 日本電気株式会社 データ検索装置、データ検索方法、及びデータ検索用プログラム

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007274282A (ja) * 2006-03-31 2007-10-18 Fujitsu Ltd ネットワーク監視プログラム、ネットワーク監視方法、およびネットワーク監視装置
JP2010157875A (ja) * 2008-12-26 2010-07-15 Fujitsu Ltd 通信端末、ネットワークインタフェースカード及びその方法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9948598B2 (en) 2015-02-23 2018-04-17 Renesas Electronics Corporation Delivery control device, data delivery system, delivery control method, and non-transitory computer readable medium storing delivery control program
CN105959426A (zh) * 2016-04-21 2016-09-21 北京千丁互联科技有限公司 一种智能小区的终端设备及通信方法
CN105959426B (zh) * 2016-04-21 2019-03-05 北京千丁互联科技有限公司 一种智能小区的终端设备及通信方法

Also Published As

Publication number Publication date
US9118608B2 (en) 2015-08-25
US20140226665A1 (en) 2014-08-14
JP6118122B2 (ja) 2017-04-19

Similar Documents

Publication Publication Date Title
JP6118122B2 (ja) 通信装置及びその制御方法、プログラム
US9184981B2 (en) System and apparatus for distributed mobility management based network layer virtual machine mobility protocol
US8763109B2 (en) Seamless data networking
JP2015520959A (ja) 情報中心ネットワークにおける名前ベースの近隣探索及びマルチホップサービス探索
JP6542993B2 (ja) 要求に基づいてルートを取得する方法およびゲートウェイ
JP6752141B2 (ja) パケットを処理するための方法およびフォワーダ
CN109600293B (zh) 一种gre隧道建立方法及系统
WO2017107871A1 (zh) 访问控制方法和网络设备
US8934489B2 (en) Routing device and method for processing network packet thereof
JP6386166B2 (ja) IPv4とIPv6との間の翻訳方法及び装置
EP2466815B1 (en) Method and system for initiating forwarding of communicaiton, information and data message and for routing configuration
CN110752989A (zh) 一种东西向流量转发方法与装置
WO2013023465A1 (zh) 身份位置分离与传统网络互联互通方法、ilr和asr
EP4383674A1 (en) Message processing method and related apparatus
JP6435002B2 (ja) 通信装置及びその制御方法、プログラム
JP6470640B2 (ja) 通信装置及びその制御方法、コンピュータプログラム
JP2015095789A (ja) 通信端末、通信方法および通信プログラム
JP2022120845A5 (ja)
WO2012088828A1 (zh) 表维护方法、系统和接入网关路由器
JP6976199B2 (ja) 情報処理サーバおよび情報処理方法
JP5657505B2 (ja) ネットワークシステム、中継装置、通信方法、中継方法及び中継プログラム
JP7158826B2 (ja) 通信制御装置、通信制御システム及び通信制御方法
JP2017098738A (ja) 制御装置、通信システム、制御方法およびプログラム
WO2022042370A1 (zh) Mptcp负载均衡方法、介质及设备
JP2022076833A (ja) 情報処理装置及び情報処理プログラム

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160119

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160119

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160826

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160909

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20161107

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: 20170224

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170324

R151 Written notification of patent or utility model registration

Ref document number: 6118122

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151