JP2007258979A - 通信方法、通信システム、クライアント端末及び通信制御装置 - Google Patents

通信方法、通信システム、クライアント端末及び通信制御装置 Download PDF

Info

Publication number
JP2007258979A
JP2007258979A JP2006079602A JP2006079602A JP2007258979A JP 2007258979 A JP2007258979 A JP 2007258979A JP 2006079602 A JP2006079602 A JP 2006079602A JP 2006079602 A JP2006079602 A JP 2006079602A JP 2007258979 A JP2007258979 A JP 2007258979A
Authority
JP
Japan
Prior art keywords
data
communication
address
client terminal
mac address
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
JP2006079602A
Other languages
English (en)
Inventor
Soji Kageyama
壮志 影山
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.)
Toshiba Corp
Toshiba Digital Solutions Corp
Original Assignee
Toshiba Corp
Toshiba Solutions 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 Toshiba Corp, Toshiba Solutions Corp filed Critical Toshiba Corp
Priority to JP2006079602A priority Critical patent/JP2007258979A/ja
Publication of JP2007258979A publication Critical patent/JP2007258979A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Small-Scale Networks (AREA)

Abstract

【課題】。
【解決手段】送信元MACアドレスにクライアント端末のMACアドレスが設定され、送信元IPアドレスに通信制御装置のIPアドレスが設定され、宛先ポート番号にクライアント端末に対応するポート番号が設定された通信データが送信されるステップと、宛先MACアドレスに通信制御装置のMACアドレスが設定され、宛先IPアドレスに通信制御装置のIPアドレスが設定され、宛先ポート番号にクライアント端末に対応するポート番号が設定された通信データが送信されるステップと、クライアント端末のMACアドレスとクライアント端末に割り当てられたポート番号が関連付けられるクライアント登録テーブルから、クライアント端末宛通信データの宛先ポート番号に対応するMACアドレスが抽出されるステップと、MACアドレスが置換された新たな通信データが送信されるステップとを有する。
【選択図】 図1

Description

本発明は、ネットワークに接続される通信制御装置を介して通信を行う通信方法、通信システム、クライアント端末及び通信制御装置に関する。
近年、ユーザがノート型パソコン等のモバイル型の情報処理端末を携帯し、移動先のネットワークに一時的に接続してWebページの参照、メールの送受信またはドキュメントの印刷等を行う形態は一般的である。このように情報処理端末を移動先のネットワークに接続するためには、接続するネットワーク上のIPアドレスを1つ取得する必要がある。
例えば、図57に示すように、DHCP(Dynamic Host Configuration Protocol)サーバ901を有する通信システムの場合、クライアント端末902a〜209cは、DHCPサーバ901から個々に与えられたIPアドレスを使用する。具体的に、図57に示す例では、クライアント端末902aは、「192.168.1.201」を使用し、クライアント端末902bは、「192.168.1.202」を使用し、クライアント端末902cは、「192.168.1.203」を使用する。
この図57に示すようにクライアント端末902a〜902cに個々に異なるIPアドレスを与える通信システムの場合、クライアント端末の台数のIPアドレスが必要である。そのため、ネットワーク903に接続するクライアント端末の数が多い場合、IPアドレスが大量に必要となる問題が生じる。
一方、限られたIPアドレスでクライアント端末のネットワークへの接続を可能とする方法として、IPアドレスやTCP/UDPのポート番号を変換するNAPT(Network Address Port Translation)やIPマスカレードという技術を使用する方法がある(例えば、特許文献1参照)。
図58に、NAPTルータ904を使用する通信システムの一例を示す。この場合、クライアント端末902a〜902cは、ネットワーク905aにデータを送信すると、NAPTルータ904がアドレス変換テーブル利用してデータを転送する。アドレス変換テーブルは、クライアントに割り当てた変換前のIPアドレス及びポート番号と、変換後のIPアドレス及びポート番号とを含むレコードを有している。
NAPTルータ904は、クライアント端末902a〜902cから送信元IPアドレスに変換前のIPアドレスが設定され、送信元ポート番号に変換前のポート番号が設定されるデータを受信すると、アドレス変換テーブルを用いて送信元IPアドレスを変換後のIPアドレスに置換し、送信元ポート番号を変換後のポート番号に置換したデータを第2のネットワーク905bに送信している。また、NAPTルータ904は、第2のネットワーク905bから宛先IPアドレスに変換後のIPアドレスが設定され、宛先ポート番号に変換後のポート番号が設定されるデータを受信すると、アドレス変換テーブルを用いて宛先IPアドレスを変換前のIPアドレスに置換し、宛先ポート番号を変換前のポート番号に置換したデータをクライアント端末902a〜902cに送信している。
例えば、図58に示す例では、第2のネットワーク905bにおいて、クライアント端末902a〜902cが送信するデータの送信元IPアドレス及び受信するデータの宛先IPアドレスは全て同一(図58の場合、「172.16.1.10」)である。これにより、図58に示す通信システムでは、使用するIPアドレスの数を軽減することができる。
特開2002−354006号公報
しかしながら、上述したクライアント端末902a〜902cがNAPTルータ904を介してデータを送受信するシステムの場合、図59に示すように、(1)送受信される全てのデータがNAPTルータ904を中継するため、NAPTルータ904の通信負荷は増大する問題がある。また、(2)NAPTルータ904は、クライアント端末902a〜902cが送受信する全てのデータのIPアドレスを変換するため、NAPTルータ904のアドレス変換の処理負荷が増大するという問題がある。さらに、(3)NAPTルータ904は、ネットワーク905a及び905bを物理的に分断しているため、クライアント端末902a〜902cがネットワーク905bに接続する際、位置的な制限を受ける問題がある。
上記課題に鑑み本発明は、クライアント端末宛のデータを転送する通信制御装置の負荷を軽減する通信方法及び通信システム、負荷が軽減される通信制御装置に接続されるクライアント端末及び負荷を軽減した通信制御装置を提供することを目的とする。
上記課題を解決するため、本発明の特徴に係る通信方法は、クライアント端末によって、 送信元MACアドレスにクライアント端末のMACアドレスが設定され、送信元IPアドレスに通信制御装置のIPアドレスが設定され、宛先ポート番号にクライアント端末に対応するポート番号が設定された通信相手端末宛通信データが送信されるステップと、通信相手端末によって、通信相手端末宛通信データが受信されると、宛先MACアドレスに通信制御装置のMACアドレスが設定され、宛先IPアドレスに通信制御装置のIPアドレスが設定され、宛先ポート番号にクライアント端末に対応するポート番号が設定されたクライアント端末宛通信データが送信されるステップと、通信制御装置によって、クライアント端末宛通信データが受信されると、クライアント端末のMACアドレスとクライアント端末に割り当てられたポート番号が関連付けられるクライアント登録テーブルから、クライアント端末宛通信データの宛先ポート番号に対応するMACアドレスが抽出されるステップと、通信制御装置によって、クライアント端末宛通信データの宛先MACアドレスが、抽出されたMACアドレスに置換された新たなクライアント端末宛通信データが生成され、新たなクライアント端末宛通信データが送信されるステップと、クライアント端末によって、新たなクライアント端末宛通信データが受信されるステップとを有する。
このような本発明の特徴に係る通信方法によれば、クライアント端末は、通信制御装置のIPアドレスを使用してデータを送受信することができる。また、クライアント端末が送信する通信データは、通信相手端末に直接受信されるため、通信制御装置への通信負荷を軽減することができる。さらに、通信制御装置における、処理負荷の増加を軽減することができる。
本発明によれば、クライアント端末宛のデータを転送する通信制御装置の負荷を軽減する通信方法及び通信システム、負荷が軽減される通信制御装置に接続されるクライアント端末及び負荷を軽減した通信制御装置を提供することができる。
以下、図面を参照して、本発明の最良の実施の形態を説明する。以下の図面の記載において、同一又は類似の部分には同一又は類似の符号を付している。
(通信システム)
図1に示すように、本発明の最良の実施の形態に係る通信システム1は、通信制御装置10、クライアント端末20および通信相手端末30を備える。通信制御装置10およびクライアント端末20は、第1の通信ネットワーク40aに接続する。また、第1の通信ネットワーク40aは、第2の通信ネットワーク40bを介して通信相手端末30に接続する。図1に示す通信システム1においては、クライアント端末は1台しか記載していないが、複数のクライアント端末を接続することができる。また、図1に示す通信システム1においては、通信相手端末30も1台しか記載していないが、複数の通信相手端末30を接続することができる。
クライアント端末20は、例えば一時的に第2の通信ネットワーク40bに接続する端末である。そのため、このクライアント端末20は、第2の通信ネットワーク40bで使用するIPアドレスを有さない端末であり、通信相手端末30にデータを送信する際、送信元IPアドレスに通信制御装置10のIPアドレスを設定して送信元ポート番号に通信制御装置10から割り当てられたポート番号を利用する。具体的に、図1の場合、クライアント端末20は、送信元IPアドレスに「192.168.1.201」を設定し、送信元ポート番号に「5000」を設定する。
また、通信制御装置10は、通信相手端末30から受信したデータの宛先IPアドレスに通信制御装置10のIPアドレスが設定されていても、宛先ポート番号がクライアント端末20に対応するポート番号である場合、受信したデータをクライアント端末20に転送する。
このクライアント端末20は、例えばノート型パソコン等の情報処理端末である。また、通信相手端末30は、例えば第2の通信ネットワーク40bに接続するWebサーバ、メールサーバ又はネットワークプリンタ等の情報処理端末である。例えば、客先に携帯したノート型パソコン等のクライアント端末20を客先の第1のネットワーク40aに接続し、第2の通信ネットワーク40bを介して通信相手端末30と通信をする場合が想定される。
図2は、通信システム1におけるデータの送受信の処理を説明するシーケンス図であり、図3及び図4は、図2の処理で送受信されるデータのフォーマットの一例である。図2に示す例においては、通信制御装置10及びクライアント端末20は、予め図5で後述するロジックで互いにIPアドレス及びMACアドレスを把握するとともに、クライアント端末20が使用するポート番号も把握している。
具体的に、通信制御装置10は、クライアント端末20のMACアドレスと、通信制御装置10のIPアドレスと、クライアント端末20に割り当てたポート番号と、有効期限とを含むレコードを有するクライアント登録テーブルを記憶装置に記憶している。図1に示す例では、クライアント端末20のMACアドレス「A」と、クライアント端末20が利用する通信プロトコル「UDP」と、クライアント端末20に割り当てたポート番号「5000」とを含むレコードが有効期限である30秒間、記憶装置に記憶されている。
また、クライアント端末20は、通信制御装置10のMACアドレスと、通信制御装置10のIPアドレスと、通信制御装置10から割り当てられたクライアント端末20が使用するポート番号と、有効期限とを登録テーブルを記憶している図1に示す例では、通信制御装置10のMACアドレス「B」と、通信制御装置10のIPアドレス「192.168.1.201」と、通信制御装置10に割り当てられたポート番号「5000」とを含むレコードが有効期限である30秒間、記憶装置に記憶されている。
まず、クライアント端末20は、通信相手端末30とデータの送受信を希望する際、通信制御装置10にARP送信要求メッセージを送信する(S01)。ARP送信要求メッセージは、通信相手端末30のMACアドレスの取得を要求するデータである。
ARP送信要求メッセージは、図3(a)に示すように、宛先MACアドレスに通信制御装置10のMACアドレス(図1の場合「B」)を設定し、送信元MACアドレスにクライアント端末20のMACアドレス(図1の場合、「A」)を設定する。また、ARP送信要求メッセージのペイロードのターゲットMACアドレスにブロードキャスト(「FF:FF:FF:FF:FF:FF」)を設定し、ターゲットIPアドレスに通信相手端末30のIPアドレス(図1の場合、「192.168.1.10」)を設定し、送信元MACアドレスにクライアント端末20のMACアドレス(図1の場合、「A」)を設定し、送信元IPアドレスに通信制御装置10のIPアドレス(図1の場合、「192.168.1.201」)を設定する。
このように、ARP送信要求メッセージの宛先MACアドレスに通信制御装置10のMACアドレスを設定し、ターゲットIPアドレスに通信相手端末30のIPアドレスを設定することで、通信制御装置10は、通信相手端末30のMACアドレスの送信を要求するものであると判定する。
ターゲットMACアドレスにユニキャストを使用するARP要求メッセージとして、Gratuitous ARPメッセージが存在するが、このようなGratuitous ARPメッセージでは、ターゲットIPアドレスと送信元IPアドレスとが同一である。一方、図3(a)に示すARP要求メッセージは、宛先MACアドレスが通信制御装置10のMACアドレスであり、ターゲットIPアドレスと送信元IPアドレスとが異なるため、通信制御装置10はGratuitousAPRメッセージと本発明のクライアント端末20が送信するARP送信要求メッセージとを区別することができる。
ARP送信要求メッセージを受信した通信制御装置10は、ARP送信要求メッセージのターゲットIPアドレスが通信制御装置10のARPテーブルに存在しない場合、ARP要求メッセージを送信する(S02)。
通信制御装置10は、ARPテーブルにデータの送受信を行う情報処理装置のMACアドレス及びIPアドレスを含むレコードを予め記憶している。また、ARPテーブルの各レコードには、レコードがARPテーブルに存在する有効期限を有しており、有効期限が経過すると、各レコードは削除される。従って、予めARPテーブルに通信相手端末30のMACアドレス及びIPアドレスを含むレコードが存在するか否かを判定し、存在しない場合、通信相手端末30に対してARP要求メッセージを送信する。
ステップS02で通信制御装置10が送信するARP要求メッセージは、通信相手端末30のMACアドレスの取得を要求するデータであり、受信したARP送信要求メッセージに基づいて、一般的なアドレス解決と同様にブロードキャストで送信される。
ARP要求メッセージを受信した通信相手端末30は、通信相手端末30のARPテーブルを更新するとともに、通信制御装置10にARP応答メッセージを送信する(S03)。
通信相手端末30は、データの送受信を行う情報処理装置のMACアドレス及びIPアドレスを含むレコードを有するARPテーブルを記憶装置に記憶している。この通信相手端末30は、ARP要求メッセージを受信した際に受信したARP要求メッセージが含む通信制御装置10のMACアドレス及びIPアドレスで新たなレコードをARPテーブルに追加している。また、ARPテーブルの各レコードには、レコードがARPテーブルに存在する有効期限を有しており、有効期限が経過すると、各レコードは削除される。
通信相手端末30からARP応答メッセージを受信した通信制御装置10は、通信制御装置10のARPテーブルを更新するとともに、クライアント端末20にARP応答結果メッセージを送信する(S04)。このARP応答結果メッセージの送信元MACアドレスは、受信したARP応答メッセージのペイロードの通信相手端末30のMACアドレスである。
クライアント端末20から受信したARP送信要求メッセージのターゲットIPアドレスがARPテーブルに存在する場合、通信制御装置10は、通信相手端末30にARP要求メッセージを送信せずに、ARPテーブルのデータに基づいてクライアント端末20にARP応答結果メッセージを送信する(S04)。このARP応答結果メッセージのペイロードの送信元MACアドレスは、ARPテーブルに含まれる通信相手端末30のMACアドレスを設定する。
図3(b)に示すように、ARP応答結果メッセージは、Etherヘッダの宛先MACアドレスをクライアント端末20のMACアドレス(図1の場合、「A」)を設定し、送信元MACアドレスに通信制御装置10のMACアドレス(図1の場合、「B」)を設定する。また、ARP応答結果メッセージのペイロードのターゲットMACアドレスにクライアント端末20のMACアドレスを設定し、ターゲットIPアドレスに通信制御装置10のIPアドレス(図1の場合、「192.168.1.201」)を設定する。また、送信元MACアドレスに通信相手端末30のMACアドレス(図1の場合、「C」)を設定し、送信元IPアドレスに通信相手端末30のIPアドレス(図1の場合、「192.168.1.10」)を設定する。
クライアント端末20は、ステップS04で通信制御装置10から送信されるようなクライアント端末20自身のMACアドレスに対するARP応答結果メッセージを、クライアント端末20がステップS01で送信したようなARP送信要求メッセージに対する応答であると判定するように規定している。また、クライアント端末20は、ステップS02及びS03で送信されるような通常のアドレス解決で用いられるARP要求メッセージ及びARP応答メッセージは破棄し、処理しないように規定している。
ARP応答結果メッセージを受信して通信相手端末30のMACアドレスを取得したクライアント端末20は、ARPテーブルを更新するとともに、通信相手端末30に対して通信相手端末宛通信データを送信する(S05)。
クライアント端末20が送信する通信相手端末宛通信データは、図4(a)に示すように、トランスポート層を使用するデータであり、送信元IP アドレスに通信制御装置10のIP アドレス(図1の場合、「192.168.1.201」)を設定し、送信元ポート番号に通信制御装置10から割り当てられたポート番号(図1の場合、「5000」)を設定する。
クライアント端末20から通信相手端末宛通信データを受信した通信相手端末30は、受信した通信相手端末宛通信データに応答して、クライアント端末宛通信データを送信する(S06)。ここで、通信相手端末30は、通信相手端末宛通信データの送信元IPアドレスと関連付けられるMACアドレスをARPテーブルから抽出し、抽出したMACアドレスをクライアント端末宛通信データの宛先MACアドレスとする。
通信相手端末30が送信するクライアント端末宛通信データは、図4(b)に示すように、宛先MACアドレスに通信制御装置10のMACアドレス(図1の場合、「B」)を設定し、宛先IPアドレスに通信制御装置10のIPアドレス(図1の場合、「192.168.1.201」)を設定し、宛先ポート番号に通信制御装置10によりクライアント端末20に割り当てられたポート番号(図1の場合、「5000」)を設定する。
また、通信相手端末30のARPテーブルにおける有効期限が切れ、ARPテーブルが該当するMACアドレスを含んでいない場合、通信相手端末30はMACアドレスの取得を要求するARP要求メッセージを通信制御装置10に送信し、受信したARP応答メッセージが含むMACアドレスをARPテーブルに登録するとともに、クライアント端末宛通信データの宛先MACアドレスとして使用する。この際、クライアント端末20は上述したように、通常のARP要求メッセージ及びARP応答メッセージを破棄するため、このようなARP要求メッセージ又はARP応答メッセージに対し、クライアント端末20が応答することはない。
クライアント端末宛通信データを受信した通信制御装置10は、クライアント登録テーブルからクライアント端末20のMACアドレスを抽出し、宛先MACアドレスをクライアント端末20のMACアドレスに置換した新たなクライアント端末宛通信データを送信する(S07)。具体的に、クライアント端末宛データの宛先ポート番号が「5000」である場合、図1に示すクライアント登録テーブルからは、ポート番号「5000」と関連付けられるMACアドレス「A」が抽出され、クライアント端末宛データの宛先MACアドレスは「B」から「A」に置換される。
通信制御装置10が送信するクライアント端末宛通信データは、図4(c)に示すように、宛先MACアドレスをクライアント端末20のMACアドレス(図1の場合、「A」)とし、宛先IPアドレスに通信制御装置10のIPアドレス(図1の場合、「192.168.1.201」)を設定し、宛先ポート番号を通信制御装置10にクライアント端末20に割り当てられたポート番号(図1の場合、「5000」)を設定する。
上述したように本発明の最良の実施の形態に係る通信システムでは、ネットワークに接続するクライアント端末は、通信制御装置のIPアドレスを使用してデータを送受信するため、IPアドレスがクライアント端末の台数ない場合でもデータを送受信することができる。また、クライアント端末が送信する通信データは、通信相手端末に直接受信されるため、クライアント端末が受信する通信データのみが通信制御装置を中継するため、送受信される通信データの全てが通信制御装置を中継することなく、通信制御装置への通信負荷を軽減することができる。さらに、通信制御装置で実行されるアドレス変換は、MACアドレスのみでIPアドレスの変換を行わないため、処理負荷の増加を軽減することができる。また、通信制御装置はルータではないため、物理的にネットワークを分断することもない。
図2においては、通信制御装置10及びクライアント端末20が互いにMACアドレスと、IPアドレスと、クライアント端末20が使用するポート番号を把握している場合として説明したが、図5を参照して、通信制御装置10と、クライアント端末20との間でMACアドレス及びIPアドレスと、クライアント端末20が使用するポート番号のテーブルを記憶する処理について説明する。また、図6は、図5で説明する処理で送受信されるデータのフォーマットの一例である。
クライアント端末20は、通信制御装置10のMACアドレス及びIPアドレスを取得するため、通信制御装置10を検索する検索データを送信する(S11)。
検索データは、図6(a)に示すように、ペイロードに「検索コード」のような検索データであることを識別するデータを含んでいる。また、検索データは、宛先MACアドレスにブロードキャストを設定し、送信元MACアドレスにクライアント端末20のMACアドレスを設定する。さらに、検索データは、宛先IPアドレスにブロードキャスト又はマルチキャストを設定する。この時点では、クライアント端末20が使用するIPアドレスが決まっていないため、図6(a)に示す検索データでは、送信元IPアドレスに0アドレス(「00:00:00:00:00:00」)を設定しているが、「検索コード」を含み、検索データであることがわかるため、送信元IPアドレスは他のIPアドレスを設定してもよい。
クライアント端末20が送信した検索データを受信した通信制御装置10は、検索応答データを送信する(S12)。
検索応答データは、図6(b)に示すように、ペイロードに「検索応答コード」のような検索応答データであることを識別するデータを含んでいる。また、検索応答データは、宛先MACアドレスにクライアント端末20のMACアドレスを設定する。図6(b)に示す検索応答データでは、宛先IPアドレスにブロードキャスト又はマルチキャストを設定しているが、検索応答データであることを識別する「検索応答コード」を含み、検索応答データであることが分かるため、宛先IPアドレスは他のアドレスを設定してもよい。
検索応答データを受信して通信制御装置10のMACアドレス及びIPアドレスを取得したクライアント端末20は、通信制御装置10にポート番号を要求する取得要求データを送信する(S13)。
取得要求データは、図6(c)に示すように、ペイロードに「取得要求コード」のような取得要求データであることを識別するデータを含んでいる。また、取得要求データは、宛先MACアドレスに通信制御装置10のMACアドレスを設定し、宛先IPアドレスに通信制御装置10のIPアドレスを設定する。また、取得要求データは、ペイロードに有効期限と、クライアント端末のMACアドレス、UDP及びTCPの各プロトコルで取得したいポートの数を含む。「有効期限」は、クライアント端末20がポート番号の利用を希望する期限であり、例えば、「200秒」等である。
通信制御装置10では、有効期限の値が「0」である場合、クライアント端末20がポート番号の利用の終了することを示すデータである。そのため、クライアント端末20はポート番号の利用を終了する場合、有効期限の値を0とした取得要求データを送信する。これにより、通信制御装置10は、クライアント端末20に割り当てていたポート番号を開放し、他のクライアント端末に割り当てることができる。
図6(c)に示す取得要求データは、TCP及びUDPの各プロトコルで取得したいポートの数を含んでいるが、これらは必須ではなく、通信制御装置10は、取得要求データの受信ごとにUDP及びTCPの各プロトコルのポート番号を1つずつ提供する方式としてもよいし、所定数のボート番号を提供する方式でもよい。また、UDP又はTCPのいずれかのプロトコルのポート番号を提供する方式でもよく、通信システム1毎に規定することができる。
クライアント端末20が送信した取得要求データを受信した通信制御装置10は、取得要求データが正当であるか否かを判定する。具体的に、通信制御装置10における取得要求データの正当性の判定は、「取得要求データが含む有効期限が通信制御装置10の規定する範囲内か否か」、「取得要求データが含むクライアント端末20のMACアドレスが正当であるか否か(ブロードキャストでない等)」、また「取得要求データが取得したいポート番号の数を含む場合、この数のポート番号を提供できるか否か」等である。
受信した取得提供データが正当であり、有効期限の値が0以外である場合、通信制御装置10は、クライアント端末20に提供するポート番号を含むレコードをクライアント登録テーブルに追加するとともに、クライアント端末20に取得応答データを送信する(S14)。
具体的に、通信制御装置10は、クライアント端末20のMACアドレスと、クライアント端末20に割り当てたポート番号と、有効期限とを関連付けたレコードをクライアント登録テーブルに追加する。また、通信制御装置10は、所定のタイミングでクライアント登録テーブルの各レコードの有効期限をデクリメントし、有効期限が0になったレコードを削除する。さらに、通信制御装置10は、ポート番号の利用の終了を要求する取得要求データを受信した場合、クライアント登録テーブルから該当するレコードを削除する。
取得応答データは、図6(d)に示すように、ペイロードに「取得応答コード」のような取得応答データであることを識別するデータを含んでいる。また、取得応答データは、ペイロードに取得結果と、割り当てられたポート番号を含んでいる。取得結果では、図6(e)に示すように、取得の成功または失敗を識別する結果コードと使用を許可するポート番号の数を含んでいる。図6(d)に示す取得応答データでは、各プロトコル毎に複数のポート番号を提供する例であるため、提供するポート番号の数を含んでいるが、一度の取得要求データの受信で提供するポート番号の数が定められる方法の場合、ポート番号の数は含まなくてもよい。
取得結果が成功である取得応答データを受信したクライアント端末20は、割り当てられたポート番号で登録テーブルを生成し、このポート番号を使用してデータの送受信を開始する。以降クライアント端末20は、有効期限以内の間隔で定期的に、通信制御装置10に取得要求データを送信して使用するポート番号の登録を維持する。
(通信制御装置)
次に、図7を用いて本発明の最良の実施の形態に係る通信制御装置10の構成を説明する。通信制御装置10は、インタフェース入力部(IF入力部)11、インタフェース出力部(IF出力部)12、データリンク入力部121、データリンク出力部122、検索処理部123、ARP処理部124、ARPテーブル125、IP入力部131、IP出力部132、パケット転送処理部133、登録処理部134及びクライアント登録テーブル135を有している。
通信制御装置10は、中央処理装置、記憶装置、メモリ、入力装置及び通信インタフェース等を有する一般的なコンピュータにより構成されている。通信制御プログラムが中央処理制御装置に読み込まれて実行されることにより、インタフェース入力部(IF入力部)11、インタフェース出力部(IF出力部)12、データリンク入力部121、データリンク出力部122、検索処理部123、ARP処理部124、IP出力部132、IP入力部131、パケット転送処理部133及び登録処理部134の機能を有する通信制御装置10が構成される。また、通信制御装置10の記憶装置には、通信制御プログラムとともにARPテーブル125及びクライアント登録テーブル135が記憶されている。この通信制御装置10は、1台のコンピュータにより構成されてもよく、また、複数台のコンピュータによって構成されてもよい。
本発明の最良の実施の形態に係る通信制御装置10は、通信プロトコルの通信レベルに応じて、ネットワークインタフェース(物理層)、データリンク層、IP層(ネットワーク層)、トランスポート層を備えており、これらの層を介して通信される。
ネットワークインタフェースは、インタフェース入力部111及びインタフェース出力部112を有している。インタフェース入力部111は、第1の通信ネットワーク40aから入力したデータをデータリンク入力部121に送信する。また、インタフェース出力部112は、データリンク出力部122から入力したデータを第1の通信ネットワーク40aへ送信する。
データリンク層は、データリンク入力部121、データリンク出力部122、検索処理部123、ARP処理部124を有している。
データリンク入力部121は、インタフェース入力部111から入力したデータを解析し、その結果に基づいて、ARP処理部124、検索処理部123又はIP入力部131に入力したデータを送信する。
図8は、データリンク入力部121における処理を説明するフローチャートであり、図9は、データリンク入力部121が入力するデータ及び送信するデータのフォーマットの一例である。
データリンク入力部121は、入力したデータを解析した結果、入力したデータがARPメッセージ(図9(b))であるか否かを判定する(S201)。入力したデータがARPメッセージである場合(S201でYES)、データリンク入力部121は、入力したデータを送信データ(図9(d))としてARP処理部124に送信する(S202)。ここで、「ARPメッセージ」とは、通常のアドレス解決で用いられるMACアドレスの取得を要求するARP要求メッセージやARP応答メッセージである。
入力したデータがARPメッセージではない場合(S201でNO)、データリンク入力部121は、入力したデータがARP送信要求メッセージ(図9(c))であるか否かを判定する(S203)。入力したデータがARP送信要求メッセージである場合(S203でYES)、データリンク入力部121は、入力したデータを送信データ(図9(e))としてARP処理部124に送信する(S202)。ここで、「ARP送信要求メッセージ」とは、図3(a)を用いて上述した通信システム1のクライアント端末20から、通信制御装置10に送信した通信相手端末30のMACアドレスの取得を要求するメッセージである。
入力したデータがARP送信要求メッセージではない場合(S203でNO)、データリンク入力部121は、入力したデータが検索データであるか否かを判定する(S204)。入力したデータが検索データである場合(S204でYES)、データリンク入力部121は、入力したデータを送信データ(図9(f))として検索処理部123に送信する。ここで、検索メッセージとは、図6(a)を用いて上述したクライアント端末20が通信制御装置10を検索する際に送信するデータである。
入力したデータが検索データでない場合(S204でNO)、データリンク入力部121は、入力したデータ(図9(a))からEtherヘッダを取り除いたIPパケットを送信データ(図9(g))としてIP入力部131に送信する(S206)。
データリンク出力部122は、入力したMACアドレス及び通信データに基づいて生成したデータを送信する。
図10は、データリンク出力部122における処理を説明するフローチャートであり、図11は、データリンク出力部122が入力するデータ及び送信するデータのフォーマットの一例である。
データリンク出力部122は、入力したMACアドレス及び通信データ(図11(a))に基づいてEtherパケットである送信データ(図11(b))を生成する(S211)。この送信データは、Etherヘッダの宛先MACアドレスに入力したデータMACアドレスが設定される。その後、データリンク出力部122は、生成した送信データをインタフェース出力部112に送信する(S212)。
検索処理部123は、入力した検索データに応答する検索応答データとMACアドレスとをデータリンク出力部122に送信する。
図12は、検索処理部123における処理を説明するフローチャートであり、図13は、検索処理部123が入力するデータ及び送信するデータのフォーマットの一例である。
検索処理部123は、データリンク入力部121から入力した検索データ(図13(a))に基づいて、検索応答データ(図13(b))を生成する(S221)。ここで、検索データは、図6(a)を用いて上述したデータであり、検索データであることを識別する「検索コード」を含んでいる。また、検索応答データは、図6(b)を用いて上述したデータのうち、Etherヘッダを含まないデータであり、検索応答データであることを識別する「検索応答コード」を含んでいる。
その後、検索処理部123は、生成した検索応答データと宛先MACアドレスとを含む送信データ(図13(b))をデータリンク出力部122に送信する(S222)。この送信データが含む宛先MACアドレスは、入力した検索データの送信元MACアドレスに設定されたクライアント端末20のMACアドレスである。
ARP処理部124は、入力したデータを解析し、その結果に応じて送信データをデータリンク出力部122又はIP出力部132に送信するとともに、ARPテーブル125を更新する。また、ARP処理部124は、定期的にARPテーブル125を更新する。
図14は、IPアドレスを入力したARP処理部124の処理を説明するフローチャートであり、図15は、ARP処理部124が入力するデータ及び送信するデータのフォーマットの一例である。また、図16は、ARPテーブル125の一例を示している。
ARPテーブル125は、図16に示すように、IPアドレスと、MACアドレスと、有効期限とを関連付けるレコードを有し、記憶装置に記憶されている。ここで、IPアドレスは、通信制御装置10がデータを受信する通信相手端末30のIPアドレスである。MACアドレスは、通信相手端末30のMACアドレスである。また、有効期限は、このレコードがARPテーブルに存在する期限である。図16に示す例では、有効期限の単位は秒を使用している。具体的に、図16に示すARPテーブルでは、通信相手端末30のIPアドレスは「192.168.60.80」であり、MACアドレスは「AA:BB:CC:DD:FF:EE」であり、有効期限は「30秒」である。
例えばARP処理部124が新たにレコードを追加する場合、ARPテーブル125の有効期限にはデフォルトのキャッシュ時間が設定される。デフォルトのキャッシュ時間には、TCP/IPのシステムでは一般的に設定される10分を設定してもよいし、通信制御装置10の入力装置等から入力して自由に設定できるようにしてもよい。
IP出力部132からIPアドレスを(図15(a))を入力したARP処理部124は、図14に示すように、入力したIPアドレスがARPテーブル125に存在するか否かを判定する(S231)。
入力したIPアドレスがARPテーブル125に存在する場合(S231でYES)、ARP処理部124は、入力したIPアドレスと関連付けられるMACアドレスをARPテーブル125から抽出し、抽出したMACアドレスを送信データ(図15(c))としてIP出力部132に送信して処理を終了する(S232)。具体的に、図16に示すARPテーブルを用いる場合、入力したデータのIPアドレスが「192.168.80.22」であると、送信されるMACアドレスは「AA:BB:CC:DD:FF:EE」である。
入力したIPアドレスがARPテーブル125に存在しない場合(S231でNO)、ARP処理部124は、ARP要求データ(図15(b))を生成する(S233)。このARP要求データは、入力したIPアドレスに対するMACアドレスの取得を要求するデータであり、ターゲットIPアドレスに入力したIPアドレスを設定する。
その後、ARP処理部124は、ブロードキャストの宛先MACアドレスとともに生成したARP要求データを送信データとしてデータリンク出力部122に送信する(S234)。
続いて、入力したIPアドレスがARPテーブル125に存在するか否かを再び判定する(S235)。このステップS234及びS235の間において、ARPテーブル125には、ARP処理部124が送信したARP要求データに対応するARP応答データを取得できると、該当するMACアドレスを含むレコードが追加される(図18で後述)。
入力したIPアドレスがARPテーブル125に存在する場合(S235でYES)、ARP処理部124は、入力したIPアドレスと関連付けられるMACアドレスをARPテーブル125から抽出し、抽出したMACアドレスを送信データ(図15(b))としてIP出力部132に送信して処理を終了する(S232)。
入力したIPアドレスがARPテーブル125に存在しない場合(S235でNO)、ARP処理部124は、IP出力部132にMACアドレスを取得出来ない旨のエラーメッセージを送信する(S236)。
図17は、ARP処理部124がアドレス解決を行う処理を説明するフローチャートである。
データを入力したARP処理部124は、入力したデータがARP応答データであるか否かを判定する(S241)。入力したデータがARP応答データである場合(S241でYES)、ARP処理部124は、図18を用いて後述するARP応答データを入力した場合の処理を実行する(S242)。
入力したデータがARP応答データでない場合(S241でNO)、ARP処理部124は、入力したデータの宛先MACアドレスに通信制御装置10のMACアドレスが設定されているか否かを判定する(S243)。入力したデータの宛先MACアドレスに通信制御装置10のMACアドレスが設定されていない場合(S243でNO)、ARP処理部124は、図19を用いて後述するARP要求データを入力した場合の処理を実行する(S244)。
入力したデータの宛先MACアドレスに通信制御装置10のMACアドレスが設定されている場合(S243でYES)、入力したデータのターゲットIPアドレスと送信元IPアドレスとが異なるか否かを判定する(S245)。入力したデータのターゲットIPアドレスと送信元IPアドレスとが異ならない(同一である)場合(S245でNO)、ARP処理部124は、図20を用いて後述するGratuitous ARPデータを入力した場合の処理を実行する(S246)。
入力したデータのターゲットIPアドレスと送信元IPアドレスが異なる場合(S245でYES)、ARP処理部124は、図21を用いて後述するARP送信要求データに対する処理を実行する(S247)。
図18は、図17のステップS242における処理を説明するフローチャートである。 ARP応答データを入力したARP処理部124は、ARP応答データのターゲットIPアドレスに「通信制御装置10がクライアント端末20に転送用のIPアドレスとして割り当てているIPアドレス」(図1の例では「192.168.1.201」)又は、「通信制御装置10が有する通常のTCP/IP 通信に使用するIPアドレス」のいずれかが設定されているか否かを判定する(S251)。
ARP応答データのターゲットIPアドレスに「通信制御装置10がクライアント端末20に転送用のIPアドレスとして割り当てているIPアドレス」又は、「通信制御装置10が有する通常のTCP/IP 通信に使用するIPアドレス」のいずれかが設定されている場合(S251でYES)、このARP応答データは通信制御装置10が送信したARP要求メッセージに対する応答であるため、ARP処理部124は、入力したARP応答データに基づいて、ARPテーブル125に新たなレコードを追加する(S252)。ARPテーブル125に追加するレコードのIPアドレスはARP応答メッセージの送信元IPアドレスとし、MACアドレスはARP応答データの送信元MACアドレスとする。
ARP応答メッセージのターゲットIPアドレスに「通信制御装置10がクライアント端末20に転送用のIPアドレスとして割り当てているIPアドレス」又は、「通信制御装置10が有する通常のTCP/IP 通信に使用するIPアドレス」が設定されていない場合(S251でNO)、通信制御装置10に対するARP応答データではなく、ARPテーブル125を更新する必要はないため、ARP処理部124は処理を終了する。
図19は、図17のステップS244における処理を説明するフローチャートであり、図20は、ARP処理部124が入力するデータ及び送信するデータのフォーマットの一例である。
まず、ARP要求データ(図20(a))を入力したARP処理部124は、ARP要求データのターゲットIPアドレスに「通信制御装置10がクライアント端末20に転送用のIPアドレスとして割り当てているIPアドレス」(図1の例では「192.168.1.201」)又は、「通信制御装置10が有する通常のTCP/IP 通信に使用するIPアドレス」のいずれかが設定されているか否かを判定する(S261)。
ARP要求データのターゲットIPアドレスに「通信制御装置10がクライアント端末20に転送用のIPアドレスとして割り当てているIPアドレス」又は、「通信制御装置10が有する通常のTCP/IP 通信に使用するIPアドレス」のいずれかが設定されている場合(S261でYES)、ARP処理部124は、ARPテーブル125に、新たなレコードを追加する(S262)。ARPテーブル125に追加するレコードのIPアドレスはARP応答メッセージの送信元IPアドレスとし、MACアドレスはARP応答メッセージの送信元MACアドレスとする。
レコードを追加したARP処理部124は、ARP応答データを生成する(S263)。その後、ARP処理部124は、生成したARP応答データを入力したデータの送信元MACアドレスとともに送信データ(図20(b))としてデータリンク出力部122に送信する(S264)。
ARP要求データのターゲットIPアドレスに「通信制御装置10がクライアント端末20に転送用のIPアドレスとして割り当てているIPアドレス」又は、「通信制御装置10が有する通常のTCP/IP 通信に使用するIPアドレス」が設定されていない場合(S261でNO)、通信制御装置10に対するARP要求データでないため、ARP処理部124は、処理を終了する。
図21は、図17のステップS246における処理を説明するフローチャートである。 Gratuitous ARPデータを入力したARP処理部124は、Gratuitous ARPデータのターゲットIPアドレスに通信制御装置10のIPアドレスが設定されているか否かを判定する(S271)。ここでいう通信制御装置10のIPアドレスとは、図1の例では「192.168.1.201」であり、通信制御装置10以外のIPアドレスとは、通信制御装置10がこの他にもIPアドレスを持ち、通常のTCP/IP 通信を行う場合に使用するアドレスである。
Gratuitous ARPデータのターゲットIPアドレスに「通信制御装置10がクライアント端末20に転送用のIPアドレスとして割り当てているIPアドレス」又は、「通信制御装置10が有する通常のTCP/IP 通信に使用するIPアドレス」のいずれかが設定されている場合(S271でYES)、ARP処理部124は、ARP応答データを生成する(S272)。その後、ARP処理部124は、入力したデータの送信元MACアドレスと生成したARP応答データを含む送信データをデータリンク出力部122に送信する(S273)。
Gratuitous ARPデータのターゲットIPアドレスに「通信制御装置10がクライアント端末20に転送用のIPアドレスとして割り当てているIPアドレス」又は、「通信制御装置10が有する通常のTCP/IP 通信に使用するIPアドレス」のいずれかが設定されていない場合(S271でNO)、ARP処理部124は、新たなレコードを追加する(S274)。ARPテーブル125に追加するレコードのIPアドレスはGratuitous ARPデータの送信元IPアドレスとし、MACアドレスはGratuitous ARPデータの送信元MACアドレスとする。
図22は、図17のステップS247における処理を説明するフローチャートであり、図23は、ARP処理部124が入力し、送信するデータフォーマットの一例である。
ARP送信要求データ(図23(a))を入力したARP処理部124は、入力したARP送信要求データのターゲットIPアドレスがARPテーブル125に存在するか否かを判定する(S281)。
入力したARP送信要求データのターゲットIPアドレスがARPテーブル125に存在する場合(S281でYES)、ARP処理部124は、ARP応答結果データ(図23(c))を生成する(S282)。その後、ARP処理部124は、クライアント端末のMACアドレスとともに生成したARP応答結果データを含む送信データをデータリンク出力部122に送信する(S283)。
入力したARP送信要求データのターゲットIPアドレスがARPテーブル125に存在しない場合(S281でNO)、ARP要求データ(図23(b))を生成し、ACアドレスとともに送信データとして、データリンク出力部122に送信する(S284)。この場合、ターゲットMACアドレスはブロードキャストとする。
続いて、ARP処理部124は、ARP送信要求データのターゲットIPアドレスがARPテーブル125に存在するか否かを判定する(S285)。このステップS284及びS285の間において、ARP要求に応じたARP応答を取得できると、該当するIPアドレスを含む新たなレコードがARPテーブル125に追加される。
ARP送信要求データのターゲットIPアドレスがARPテーブル125に存在する場合(S285でYES)、ARP処理部124は、ARP応答結果データを生成してデータリンク出力部122にデータを送信する(S282、S283)。
ARP送信要求データのターゲットIPアドレスがARPテーブル125に存在しない場合(S285でNO)、処理を終了する。
図24は、ARP処理部124においてARPテーブル125を更新する処理を説明するフローチャートである。ARP処理部124は、記憶装置から定期的にARPテーブル125を読み出して各レコードの有効期限をデクリメントするとともに、有効期限が0であるレコードを削除する。ここでは、ARPテーブル125の有効期限の単位を秒とし、1秒毎にARPテーブル125を更新する例である。
ARP処理部124は、1秒毎に記憶装置からARPテーブル125を読み出し、一のレコードを抽出する(S291)。その後、ARP処理部124は、抽出したレコードの有効期限が0であるか否かを判定する(S292)。
有効期限が0である場合(S292でYES)、このレコードで特定されるIPアドレスの有効期限は経過しているため、ARP処理部124は、対象とするレコードをARPテーブル125から削除する(S293)。一方、有効期限が0でない場合(S292でNO)、ARP処理部124は、対象とするレコードの有効期限の値をデクリメントする(1減らす)(S294)。具体的に、図16に示すARPテーブル125の場合、ステップS291でIPアドレスが「192.168.60.80」であるレコードが抽出されたとする。このとき有効期限は「30」であるため、ARP処理部124は、ステップS294で「29」に更新する。
ARP処理部124は、ARPテーブル125が有する全てのレコードについて有効期限の判定が終了するまでステップS291〜S295の処理を繰り返す(S295)。
IP層は、IP入力部131、IP出力部132、パケット転送処理部133、登録処理部134及びクライアント登録テーブル135を有している。
IP入力部131は、入力したデータを解析し、解析結果に基づいて入力したデータに基づく送信データをパケット転送処理部133、登録処理部134又はトランスポート層に送信する。
図25は、IP入力部131の処理を説明するフローチャートである。
IP入力部131は、データリンク入力部121から、データを入力すると、入力したデータがポート番号を要求するデータであるか否かを判定する(S301)。具体的に、入力したデータに図6(c)の取得要求データが有するような「取得要求コード」を含む場合、ポート番号を要求するデータであると判定する。入力したデータがポート番号を要求するデータである場合(S301でYES)、IP入力部131は、入力したデータを登録処理部134に送信して処理を終了する(S302)。
入力したデータがポート番号を要求するデータでない場合(S301でNO)、IP入力部131は、入力したデータの宛先IPアドレスに「通信制御装置10がクライアント端末20に転送用のIPアドレスとして割り当てているIPアドレス」(図1の例では「192.168.1.201」)が設定されているか否かを判定する(S303)。宛先IPアドレスに「通信制御装置10がクライアント端末20に転送用のIPアドレスとして割り当てているIPアドレス」が設定されている場合(S303でYES)、IP入力部131は、入力したデータを送信データとしてパケット転送処理部133に送信する(S304)。
宛先IPアドレスに「通信制御装置10がクライアント端末20に転送用のIPアドレスとして割り当てているIPアドレス」が設定されていない場合(S303でNO)、IP入力部131は、上位のトランスポート層にIPヘッダを除いたIPペイロードを送信する(S305)。
IP出力部132は、入力したデータの宛先IPアドレスに対してARP処理部124から取得したMACアドレスに基づく送信データをデータリンク出力部122に送信する。
図26は、IP出力部132の処理を説明するフローチャートであり、図27は、IP出力部132が入力するデータ及び送信するデータのフォーマットの一例である。
IP出力部132は、上位のトランスポート層から、宛先IPアドレスとIPペイロードとを含むデータを入力すると、入力した宛先IPアドレスをARP処理部124に送信する(S311)。その後、IP出力部132は、送信した宛先IPアドレスに対してARP処理部124から入力するMACアドレスを待機する(S311)。このとき、ARP処理部124では、図14を用いて上述した処理が行なわれる。
MACアドレスが取得できた場合(S312でYES)、IP出力部132は、送信データ(図27(d))を生成してARP処理部124から入力したMACアドレスとともに、データリンク出力部122に送信する(S313)。
MACアドレスを取得できなかった場合(S312でNO)、IP出力部132は、送信失敗として処理を終了する。
登録処理部134は、入力したデータを解析し、入力したデータに基づいて、生成したデータをデータリンク出力部122に送信し、又はクライアント登録テーブルを更新する。また、登録処理部134は、定期的にクライアント登録テーブル135を更新する。
図28はクライアント登録テーブル135の一例である。また、図29は、取得要求メッセージを入力した登録処理部134の処理を説明するフローチャートであり、図30は、登録処理部134が入力するデータ及び送信するデータのフォーマットの一例である。 クライアント登録テーブル135は、図28に示すように、MACアドレスと、ポート番号と、有効期限とを関連付けるレコードを有し、記憶装置に記憶されている。図28では、UDP用のクライアント登録テーブル135a(図28(a))とTCP用のクライアント登録テーブル135b(図28(b))との2種のプロトコルに対応する例を示している。また、図28に示すクライアント登録テーブル135では、有効期限の単位を秒としている。
登録処理部134は、入力したデータ(図30(a))である取得要求データが正当であるか否かを判定する(S321)。この判定の処理については、図31を用いて後述する。
取得要求データが正当である場合(S321でYES)、登録処理部134は、取得要求データの有効期限が0であるか否かを判定する(S322)。上述したように、有効期限が0である場合、この取得要求データは、ポート番号の解除を要求するものであることを意味する。したがって、取得要求データの有効期限が0である場合(S322でYES)、登録処理部134は、入力したデータが含むクライアント端末20のMACアドレスが、クライアント登録テーブル135に存在するか否かを判定する(S323)。
入力したデータが含むクライアント端末20のMACアドレスが、クライアント登録テーブル135に存在する場合(S323でYES)、登録処理部134はクライアント登録テーブル135からこのクライアント端末20のMACアドレスを含むレコードを削除する(S324)。
取得要求データが含む有効期限が0でない場合(S322でNO)、登録処理部134は、入力したデータが含むクライアント端末20のMACアドレスがクライアント登録テーブル135に存在するか否かを判定する(S325)。入力したデータが含むクライアント端末20のMACアドレスがクライアント登録テーブル135に存在する場合(S325でYES)、該当するMACアドレスを含むレコードの有効期限の値を、取得要求データが含む有効期限の値に更新する(S326)。
入力したデータが含むクライアント端末20のMACアドレスがクライアント登録テーブル135に存在しない場合(S325でNO)、クライアント登録テーブル135で使用されていないポート番号を、要求された数だけ新たに割り当てて新たなレコードを生成してクライアント登録テーブルに追加する(S327)。ここで、割り当てに使用するポート番号は、WellKnown Port以外(1025番以降)のポート番号である。
その後、登録処理部134は、取得応答データ(図30(b))を生成し(S328)、宛先MACアドレスとともにデータリンク出力部122に送信して処理を終了する(S329)。ここで、宛先MACアドレスは、取得要求データが含むクライアント端末20のMACアドレスとする。
取得応答データは、図30(b)に示すように、ペイロードに「取得応答コード」のような取得応答データであることを識別するデータを含んでいる。また、取得応答データは、ペイロードに取得結果と、割り当てられたポート番号を含んでいる。取得結果では、図30(c)に示すように、取得の成功または失敗を識別する結果コードと使用を許可するポート番号の数を含んでいる。図30(b)に示す取得応答データでは、各プロトコル毎に複数のポート番号を提供する例であるため、提供するポート番号の数を含んでいるが、一度の取得要求データの受信で提供するポート番号の数が定められる方法の場合、ポート番号の数は含まなくてもよい。
たとえば、ステップS321で入力したデータである取得要求データが正当でないことが判定された場合(S321でNO)、又は、取得要求データが正当であってもステップS323でMACアドレスがクライアント登録テーブル135に存在しないことが判定された場合(S323)、取得応答データには、取得の失敗を識別する結果コードを含んでいる。また、ステップS324でクライアント登録テーブルから135からレコードを削除した場合、取得応答データの取得結果には、登録解除を識別する結果コードを含んでいる。
図31は、図29のステップS321の処理を説明するフローチャートである。
図31に示すように、登録処理部134は、登録要求メッセージが含むクライアント端末20のMACアドレスがブロードキャストであるか否かを判定する(S331)。また、クライアント端末20のMACアドレスがブロードキャストでない場合(S331でNO)、登録処理部134は、クライアント端末のMACアドレスが0アドレスであるか否かを判定する(S332)。
MACアドレスが0アドレスではない場合(S332でNO)、登録処理部134は、登録要求メッセージの有効期限が、通信制御装置10が許可する上限の期限を超えているか否かを判定する(S333)。有効期限が許可する上限を超えていない場合(S333でNO)、登録処理部134は、有効期限が0未満であるか否かを判定する(S334)。ここでいう有効期限の上限は、通信制御装置上で変更可能なパラメータとしてもよく、例えば環境に合わせて通信制御装置10の管理者が「3分」といったように手動にて設定する値でもよい。
有効期限が0未満でない場合(S334でNO)、登録処理部134は、登録要求メッセージの取得を希望するポート番号の数が、提供できるポート番号の数を超えているか否かを判定する(S335)。要求するポート番号の数を超えていない場合(S335でNO)、登録処理部134は、要求するポート番号の数が0であるか否かを判定する(S336)。要求するポート番号の数が0でない場合(S336でNO)、登録処理部134は、取得要求メッセージは正当であると判定する(S337)。具体的に、登録処理部134は、記憶装置からクライアント登録テーブル135を読み出し、未使用のポートの総数が、要求されたポート数より多いことを確認する。
ステップS331〜S336の判定がYESである場合、登録処理部134は、取得要求メッセージは不正であると判定する(S338)。
図32は、パケット転送処理部133からポート番号を入力した登録処理部134における処理を説明するフローチャートであり、図33は、登録処理部134が図32の処理で入力するデータ及び送信するデータのフォーマットの一例である。本実施例では、プロトコルの種類毎にクライアント登録テーブル135を持つため、登録処理部134は、パケット転送処理部133からポート番号とプロトコルの種類を含むデータ(図33(a))を有する。
登録処理部134は、入力したデータが含むポート番号レコードがクライアント登録テーブル135に存在するか否かを判定する(S341)。クライアント登録テーブル135に入力したデータのポート番号を含むレコードが存在する場合(S341でYES)、登録処理部134は、該当するレコードのMACアドレスを送信データ(図33(b))としてパケット転送処理部133に送信する(S342)。具体的に、図28に示す例においては、入力したポート番号が「5000」である場合、このポート番号がMACアドレス「AA:BB:CC:DD:FF:EE」と関連付けられるレコードがクライアント登録テーブル135に存在するため、登録処理部134はこのMACアドレス「AA:BB:CC:DD:FF:EE」を送信データとしてパケット転送処理部133に送信する。
クライアント登録テーブル135に入力したポート番号を含むレコードが存在しない場合(S341でNO)、登録処理部134は処理を終了する。具体的に、図28に示す例においては、入力したポート番号が「5005」である場合、このポート番号はクライアント登録テーブル135には存在しないため、登録処理部134は処理を終了する。
図34は、登録処理部134においてクライアント登録テーブル135を更新する処理を説明するフローチャートである。ここでは、テーブルの有効期限の単位を秒としクライアント登録テーブル135の更新を1秒毎に行う例で説明する。
登録処理部134は、1秒毎にクライアント登録テーブル135を読み出し、一のレコードを抽出する(S351)。続いて、登録処理部134は、抽出したレコードの有効期限が0であるか否かを判定する(S352)。
有効期限が0である場合(S352でYES)、登録処理部134は、該当するレコードをクライアント登録テーブル135から削除する(S353)。具体的に、図28(a)に示すクライアント登録テーブル135aの場合、ステップS351でポート番号が「5003」であるレコードが抽出されたとする。このとき、有効期限は「0秒」であるため、登録処理部134は、ステップS353で、このレコードを削除する。
有効期限が0でない場合(S352でNO)、登録処理部134は、該当するレコードの有効期限の値をデクリメントする(1減らす)(S354)。具体的に、図28(a)に示すクライアント登録テーブル135aの場合、ステップS351でポート番号が「5002」であるレコードが抽出されたとする。このとき、有効期限は「10秒」であるため、登録処理部134は、ステップS354で、この有効期限を「9秒」に更新する。
登録処理部134は、ステップS351〜S354の処理を、テーブルの全レコードについて繰り返す(S355)。
パケット転送処理部133は、入力したポート番号に対するMACアドレスをデータリンク出力部122に送信する。
図35は、パケット転送処理部133における処理を説明するフローチャートであり、図36は、パケット転送処理部133が入力するデータ及び送信するデータのフォーマットの一例である。
パケット転送処理部133は、IP入力部131から入力したデータの宛先ポート番号を登録処理部134に送信し、登録処理部134から応答して送信されるクライアント端末20のMACアドレスの入力を取得する(S361)。なお、本実施の形態においては、ポート種類別にクライアント登録テーブル135を持つため、パケット転送処理部133は、ポート番号とプロトコルの種類を登録処理部134に送信する。
クライアント端末20のMACアドレスの取得に成功したパケット転送処理部133は(S362でYES)、入力したデータと登録処理部134から入力したMACアドレスを送信データとしてデータリンク出力部122に送信する(S363)。
(クライアント端末)
続いて、図 37を用いて、本発明の最良の実施の形態に係るクライアント端末20を説明する。クライアント端末20は、専用仕様部200を有する。クライアント端末20は、中央処理装置、記憶装置、メモリ、入力装置及び通信インタフェース等を有する一般的なコンピュータにより構成されている。専用仕様プログラムが中央処理制御装置に読み込まれて実行されることにより、専用仕様部200が構成される。このクライアント端末20は、1台のコンピュータにより構成されてもよく、また、複数台のコンピュータによって構成されてもよい。
専用仕様部200は、データリンク入力部201、データリンク出力部202、ARP処理部203、登録処理部204、IP入力部205及びIP出力部206と、記憶装置に記憶される登録テーブル207を有する。この専用仕様部200は、クライアント端末20上のデータリンク層とIP層の中間に存在し、クライアント上の通信を制御するソフトウェアにより実現される。具体的に、専用仕様部200は、クライアント端末20上のオリジナルのデータリンク層からEtherパケットを入力し、データ処理を行い、クライアント端末20上のオリジナルのIP層にIPパケット送信する。また専用仕様部200は、クライアント端末20のオリジナルのIP層から、IPパケットを入力し、専用仕様部でデータ処理を行い、クライアント端末20のオリジナルのデータリンク層にEtherパケットを送信する。
データリンク入力部201は、入力したデータを解析し、解析した結果に基づいて、送信データを生成してARP処理部203、登録処理部204又はIP入力部205に送信する。
図38は、データリンク入力部201の処理を説明するフローチャートであり、図39は、データリンク入力部201が入力するデータ及び送信するデータのフォーマットの一例である。また、図40は、クライアント端末20の記憶装置で記憶する登録テーブル207の一例である。
登録テーブル207は、図40に示すように、通信制御装置10のMACアドレスと、通信制御装置10のIPアドレスと、クライアント端末20に割り当てられたポート番号と、有効期限とを関連付けるレコードを有し、記憶装置に記憶されている。
データリンク入力部201は、データを入力すると、入力したデータがARP応答結果データ(図39(b))であるか否かを判定する(S401)。入力したデータがARP応答結果データである場合(S401でYES)、データリンク入力部201は、入力したデータからEthreヘッダを取り除いたデータ(図39(c))を送信データとしてARP処理部203に送信する(S402)。ARP応答結果データとは、図3(b)で上述したARP送信要求に応答して送信されるデータである。
入力した、データがARP応答結果データでない場合(S401でNO)、入力したデータが検索応答データ又は取得応答データであるか否かを判定する(S403)。
入力したデータが検索応答データ又は取得応答データである場合(S403でYES)、データリンク入力部201は、入力したデータを送信データ(図39(d)、図39(c))として登録処理部204に送信する(S404)。入力したデータが検索応答データ、または、取得応答データでない場合(S403でNO)、入力したデータの送信元MACアドレスが登録テーブル207(図40)に存在するか否かを判定する(S405)。ここで、検索応答データは、図6(b)を用いて説明した、通信制御装置10を検索する検索データに応答するデータである。また、取得応答データは、図6(d)を用いて説明した、ポート番号の取得要求データに応答するデータである。
入力したデータの送信元MACアドレスが登録テーブル207に存在する場合(S405でYES)、データリンク入力部201は、IP入力部205にEthreヘッダを取り除いたデータを送信する(S406)。入力したデータの送信元MACアドレスが登録テーブル207に存在しない場合(S405でNO)、データリンク入力部201は、入力したデータを破棄する(S407)。
データリンク出力部202は、入力したデータに基づくデータをデータリンク層に送信する。
図41は、データリンク出力部202における処理を説明するフローチャートであり、図42は、データリンク出力部202に入力するデータ及び送信するデータのフォーマットの一例である。
MACアドレス及びEtherペイロード(図42(a))を入力したデータリンク出力部202は、入力したMACアドレス及びEtherペイロードを送信データ(図42(b))としてデータリンク層に送信する(S501)。
ARP処理部203は、入力したデータを解析し、解析結果に基づいて、IP出力部206にデータを送信する。
図43は、IPアドレスを入力した場合のARP処理部203における処理を説明するフローチャートであり、図44は、ARP処理部203が入力するデータ及び送信するデータのフォーマットの一例である。
ARP処理部203は、IP出力部206からIPアドレス(図44(a))を入力すると、データリンク層に、ARPテーブルにおいて入力したIPアドレスと関連付けられるMACアドレスを問い合わせる(S601)。入力したIPアドレスがARPテーブルに存在し、MACアドレスを取得できた場合(S602でYES)、ARP処理部203は、取得したMACアドレスをIP出力部206に送信する(S603)。
ARPテーブルにIPアドレスが存在しない場合(S602でNO)、ARP処理部203は、ARP送信要求メッセージを生成し(S604)、宛先MACアドレスとともに送信データ(図44(b))としてデータリンク出力部202に送信する(S605)。ここで、宛先MACアドレスには、登録テーブル207で含まれる通信制御装置10のMACアドレスを使用する。
続いて、ARP処理部203は、データリンク層に、ARPテーブルにおいて入力したIPアドレスと関連付けられるMACアドレスを再び問い合わせる(S606)。このステップS605及びS606の間では、入力したIPアドレスに対応するMACアドレスが取得できると、ARPテーブルが更新される。
入力したIPアドレスがARPテーブルに存在し、MACアドレスを取得できた場合(S607でYES)、ARP処理部203は、取得したMACアドレスをIP出力部206に送信する(S603)。ARPテーブルにMACアドレスが存在しない場合(S607でNO)、ARP処理部203は、エラーメッセージを送信して処理を終了する(S608)。
図45は、ARP応答結果データを受信したARP処理部203における処理を説明するフローチャートであり、図46は、ARP処理部203が入力するデータ及び送信するデータのフォーマットの一例である。
ARP応答結果データを受信したARP処理部203は、ARP応答結果データのターゲットIPアドレスが登録テーブル207に含む通信制御装置10のIPアドレスであるか否かを判定する(S611)。
ARP応答結果データのターゲットIPアドレスが登録テーブル207に含む通信制御装置10のIPアドレスである場合(S611でYES)、このIPアドレスと、登録テーブル207でこのIPアドレスと関連付けられるMACアドレスとを送信データ(図46(b))としてクライアント端末20のデータリンク層に送信し、ARPテーブルに追加させる(S612)。
ARP応答結果データが含むターゲットIPアドレスが登録テーブル207に含む通信制御装置10のIPアドレスでない場合(S611でNO)、正常なパケットではない可能性があるため、処理を終了する。
登録処理部204は、通信制御装置10を検索してポート番号を取得し、登録テーブル207に登録する。また、登録処理部204は、定期的に登録テーブル207を更新する。
図47は、登録処理部204において検索データを送信する処理を説明するフローチャートであり、図48は、登録処理部204が送信するデータのフォーマットである。
図47に示すように、登録処理部204は、通信制御装置10へ登録するために通信制御装置10を検索する検索データを生成する(S701)。その後、登録処理部204は、ステップS701で生成した検索データとブロードキャストのMACアドレスを送信データ(図48)としてデータリンク出力部202に送信する(S702)。ここで、検索データは、図6(a)で示した検索データと同様に検索データであることを特定する「検索コード」を含んでいる。
図49は、登録処理部204がデータリンク入力部201からデータを入力した場合の処理を説明するフローチャートであり、図50は、登録処理部204が入力するデータ及び送信するデータのフォーマットの一例である。
登録処理部204は、入力したデータが検索応答データであるか否かを判定する(S711)。入力したデータが検索応答データ(図50(a))である場合(S711でYES)、登録処理部204はポート番号を要求する取得要求データ(図50(b))を生成する(S712)。取得要求データは、図50(b)に示すように、少なくとも有効期限とクライアント端末20のMACアドレスを含んでいる。有効期限は、予め定められるたとえば10分といったデフォルト値でもよく、また、クライアント端末20のユーザが専用仕様部200に対して設定することができてもよい。クライアント端末20のMACアドレスは、入力したデータの宛先MACアドレスから取得できる。また本実施の形態では、UDP及びTCPのプロトコルで取得を希望するポート数を格納している。この数もまた、たとえばUDP及びTCPともにデフォルト値でもよく、クライアント端末20のユーザが専用仕様部200に対して設定できる値でもよい。
その後、登録処理部204は、ステップS712で生成した検索応答データと入力したデータの送信元MACアドレスを含むデータ(図50(b))をデータリンク出力部202に送信して処理を終了する(S713)。
入力したデータが検索応答データでない場合(S711でNO)、登録処理部204は、入力したデータが取得応答データであるか否かを判定する(S714)。入力したデータが取得応答データでない場合(S714でNO)、登録処理部204は、処理を終了する。
入力したデータが取得応答データである場合(S714でYES)、取得応答データが含む結果コードに基づいて、ポート番号の登録が成功したか否かを判定する(S715)。ポート番号の登録が成功した場合(S715でYES)、登録処理部204は、取得応答データが含む送信元MACアドレスと送信元IPアドレスを含むレコードを登録テーブル207に追加する(S716)。追加するレコードの有効期限は、取得要求データに含めた値とする。
その後、登録処理部204は、IP層に、取得応答データの送信元IPアドレスを、TCP/IP通信で使用するIPアドレスとして通知する(S717)。続いて、トランスポート層に、取得応答データが含むポート番号を、通信で使用する送信元ポート番号として通知する(S718)。
また、ポート番号の登録に成功しておらず(S715でNO)、登録解除も成功せず(S719でNO)、取得応答データの結果コードが、有効期限又はポート数が問題であったことを示す場合(S720でYES)、登録処理部204は、前回送信した有効期限より短い有効期限を含む取得要求データを生成し(S721)、再度データリンク出力部202に送信して処理を終了する(S722)。
ポート番号が取得できず、登録に失敗し(S715でNO)、取得応答データの結果コードが、他の理由で登録に失敗したことを示す場合(S720でNO)、入力したデータを破棄して処理を終了する(S723)。また、登録解除が成功した場合(S719でYES)、登録処理部204は、登録テーブル207から取得応答データが含む送信元MACアドレスと送信元IPアドレスを含むレコードを削除して処理を終了する(S723)。ここで、上記の有効期限を短くする方法は、必ず毎回ある一定の値を引くような処理でもよく、また、前回送信した有効期限の一定の割り合いの時間を引くような処理(例えば、前回の有効期限から、10%をマイナスした値を新たな有効期限とする処理)でもよい。
図51は、登録処理部204における登録テーブル207を更新する処理を説明するフローチャートであり、図52は、登録処理部204が図51の処理で送信するデータのフォーマットの一例である。
登録処理部204は、定期的に記憶装置から登録テーブル207を読み出して一のレコードを抽出し(S731)、有効期限が0であるか否かを判定する(S732)。有効期限が0である場合(S732でYES)、登録処理部204は、登録テーブル207から有効期限が0であるレコードを削除する(S733)。
次にIP層に対して0アドレスを、クライアント端末20が使用するIPアドレスとして登録する(S734)。これは、有効期限が切れた以降、通信制御装置10のIPアドレスを使用した通信ができないことを、クライアントのIP層に対し通知するためである。具体的には、登録テーブル207からデータを取り出し有効期限が0秒の場合、登録テーブル207からデータを削除し、IP層に対して0アドレスを、クライアント端末20が使用するIPアドレスとして登録する。
有効期限が0でない場合(S732でNO)、登録処理部204は、有効期限が一定値(例えば、10秒)以下であるか否かを判定する(S735)。有効期限が一定値以下である場合(S735でYES)、登録処理部204は、接続を継続するため、登録テーブル207のデータを更新するためにデータリンク出力部202に送信する取得要求データを生成する(S736)。その後、登録処理部204は、ステップS756で生成した取得要求データをデータリンク出力部202に送信する(S737)。このように、取得要求データを送信することで、登録テーブル207の有効期限の値を設定することができる。
また、ステップS737でデータリンク出力部202取得要求データを送信した後に有効期限が一定値以下でない場合(S735でNO)、登録処理部204は、登録テーブル207の有効期限の値をデクリメントする(1減らす)(S738)。
IP入力部205は、入力したデータをIP層に送信する。
図53は、IP入力部205における処理を説明するフローチャートであり、図54は、IP入力部205が入力するデータ及び送信するデータのフォーマットの一例である。IP入力部205は、入力したデータ(図54(a))を送信データ(図54(b))としてIP層に送信する(S801)。
IP出力部206は、入力したIPパケットの入力データの宛先IPアドレスをARP処理部203に送信し、送信したIPアドレスに対するMACアドレスを取得すると、取得したMACアドレスを宛先MACアドレスとし入力データとともに、データリンク出力部202に送信する。
図55は、IP出力部206における処理を説明するフローチャートであり、図56は、IP出力部206が入力するデータ及び送信するデータのフォーマットの一例である。クライアント端末20のIP層からIPパケットを入力データ(図56(a))として入力したIP出力部206は、ARP処理部203に入力データの宛先IPアドレスを送信する(S901)。その後、IP出力部206は、ARP処理部203から対応するMACアドレスの入力を取得を待機する(S902)。
ARP処理部203から送信されるMACアドレスの取得に成功した場合(S902でYES)、IP出力部206は、そのMACアドレスを宛先MACアドレスとし入力データとともに、データリンク出力部202に送信して処理を終了する(S903)。
MACアドレスの取得に失敗した場合(S902でNO)、IP出力部206は、処理を終了する。
上述した構成の本発明によれば、通信相手端末からクライアント端末宛てのデータのみが通信制御装置により転送され、クライアント端末が送信する通信データは通信制御装置を経由せずに送受信されるため、通信負荷を減らすことができる。またクライアント端末が、通信制御装置のIPアドレスを直接使用するため、IPアドレスの変換処理が必要なく、処理負荷を減らすことができる。さらに、通信制御装置がネットワークを物理的に分断する必要がないため、位置的な制限も回避できる。
通信制御装置がクライアント端末に代わりアドレス解決を行う際に、通信制御装置及びクライアント端末ともにMACアドレスに直接データを送信することで、他の端末やネットワーク機器のARPテーブルに影響を与えることがない。また、ポート番号の制限を設けることで、一つのIPアドレスを複数のクライアントで同時に使用することができる。さらに、通信制御装置及びクライアント端末に、互いのMACアドレス及びIPアドレス等を手動で設定することなく、自動で設定できる。
登録の有効期限を設けることで、クライアント端末に障害が発生した場合等には、このクライアント端末に割り当てたポート番号を即座に開放して他に接続されたクライアント端末に割り当てることができる。また、クライアント端末が、通信制御装置を使用した通信を終了する場合にも、このクライアント端末に割り当てたポート番号を、即座に開放し他のクライアントに割り当てることができる。
上記のように、本発明の実施の形態によって記載したが、この開示の一部をなす論述および図面はこの発明を限定するものであると理解すべきではない。この開示から当業者には様々な代替実施の形態、実施例および運用技術が明らかとなる。
本発明はここでは記載していない様々な実施の形態等を含むことは勿論である。従って、本発明の技術的範囲は上記の説明に記載した事項と自明な特許請求の範囲に係る発明特定事項によってのみ定められるものである。
本発明の最良の実施の形態に係る通信システムの構成図である。 本発明の最良の実施の形態に係る通信システムにおけるデータの送受信の処理を説明するシーケンス図である。 図2で説明する処理で送受信されるデータのフォーマットの一例である。 図2で説明する処理で送受信されるデータのフォーマットの一例である。 通信制御装置10がクライアント端末20にポート番号を提供する処理について説明するシーケンス図である。 図5で説明する処理で送受信されるデータのフォーマットの一例である。 本発明の最良の実施の形態に係る通信制御装置の構成を説明する機能ブロック図である。 データリンク入力部の処理を説明するフローチャートである。 データリンク入力部が入力するデータ及び送信するデータのフォーマットの一例である。 データリンク出力部の処理を説明するフローチャートである。 データリンク出力部が入力するデータ及び送信するデータのフォーマットの一例である。 検索処理部の処理を説明するフローチャートである。 検索処理部が入力するデータ及び送信するデータのフォーマットの一例である。 IPアドレスを入力したARP処理部の処理を説明するフローチャートである。 ARP処理部が入力するデータ及び送信するデータのフォーマットの一例である。 通信制御装置のARPテーブルの一例を示している。 ARP処理部のアドレス解決の処理を説明するフローチャートである。 ARP処理部の処理を説明するフローチャートである。 ARP処理部の処理を説明するフローチャートである。 ARP処理部が入力するデータ及び送信するデータのフォーマットの一例である。 ARP処理部の処理を説明するフローチャートである。 ARP処理部の処理を説明するフローチャートである。 ARP処理部が入力するデータ及び送信するデータのフォーマットの一例である。 ARP処理部の更新処理を説明するフローチャートである。 IP入力部の処理を説明するフローチャートである。 IP出力部の処理を説明するフローチャートである。 IP出力部が入力するデータ及び送信するデータのフォーマットの一例である。 通信制御装置のクライアント登録テーブルの一例である。 登録処理部の処理を説明するフローチャートである。 登録処理部が入力するデータ及び送信するデータのフォーマットの一例である。 登録処理部の処理を説明するフローチャートである。 登録処理部の処理を説明するフローチャートである。 登録処理部が入力するデータ及び送信するデータのフォーマットの一例である。 登録処理部の更新処理を説明するフローチャートである。 パケット転送処理部の処理を説明するフローチャートである。 パケット転送処理部が入力するデータ及び送信するデータのフォーマットの一例である。 クライアント端末の構成を説明する機能ブロック図である。 データリンク入力部の処理を説明するフローチャートである。 データリンク入力部が入力するデータ及び送信するデータのフォーマットの一例である。 クライアント端末の登録テーブルの一例である。 データリンク出力部の処理を説明するフローチャートである。 データリンク出力部が入力するデータ及び送信するデータのフォーマットの一例である。 ARP処理部の処理を説明するフローチャートである。 ARP処理部に入力するデータ及び送信するデータのフォーマットの一例である。 ARP処理部にの処理を説明するフローチャートである。 ARP処理部が入力するデータ及び送信するデータのフォーマットの一例である。 登録処理部の処理を説明するフローチャートである。 登録処理部が送信するデータのフォーマットである。 登録処理部の処理を説明するフローチャートである。 登録処理部が入力するデータ及び送信するデータのフォーマットの一例である。 登録処理部の更新処理を説明するフローチャートである。 登録処理部が送信するデータのフォーマットの一例である。 IP入力部の処理を説明するフローチャートである。 IP入力部が入力するデータ及び送信するデータのフォーマットの一例である。 IP出力部の処理を説明するフローチャートである。 IP出力部が入力するデータ及び送信するデータのフォーマットの一例である。 従来の通信ネットワークの構成の一例である。 従来の通信ネットワークの構成の他の例である。 図58に示す通信ネットワークにおける問題点を説明する図である。
符号の説明
1…通信システム
10…通信制御装置
111…インタフェース入力部
112…インタフェース出力部
121…データリンク入力部
122…データリンク出力部
123…検索処理部
124…ARP処理部
125…ARPテーブル
131…IP入力部
132…IP出力部
133…パケット転送処理部
134…登録処理部
135…クライアント登録テーブル
20…クライアント端末
200…専用仕様部
201…データリンク入力部
202…データリンク出力部
203…ARP処理部
204…登録処理部
205…IP入力部
206…IP出力部
207…クライアント登録テーブル
30…通信相手端末
40a…第1の通信ネットワーク
40b…第2の通信ネットワーク

Claims (16)

  1. 通信相手端末と、前記通信相手端末とデータを送受信するクライアント端末と、前記通信相手端末と前記クライアント端末とのデータの送受信を中継する通信制御装置とにおける通信方法であって、
    前記クライアント端末によって、
    送信元MACアドレスに前記クライアント端末のMACアドレスが設定され、送信元IPアドレスに前記通信制御装置のIPアドレスが設定され、送信元ポート番号に前記クライアント端末に対応するポート番号が設定された通信相手端末宛通信データが送信されるステップと、
    前記通信相手端末によって、
    前記通信相手端末宛通信データが受信されると、宛先MACアドレスに前記通信制御装置のMACアドレスが設定され、宛先IPアドレスに前記通信制御装置のIPアドレスが設定され、宛先ポート番号に前記クライアント端末に対応するポート番号が設定されたクライアント端末宛通信データが送信されるステップと、
    前記通信制御装置によって、
    前記クライアント端末宛通信データが受信されると、前記クライアント端末のMACアドレスと前記クライアント端末に割り当てられたポート番号が関連付けられるクライアント登録テーブルから、前記クライアント端末宛通信データの前記宛先ポート番号に対応するMACアドレスが抽出されるステップと、
    前記通信制御装置によって、
    前記クライアント端末宛通信データの前記宛先MACアドレスが、抽出された前記MACアドレスに置換された新たなクライアント端末宛通信データが生成され、前記新たなクライアント端末宛通信データが送信されるステップと、
    前記クライアント端末によって、
    前記新たなクライアント端末宛通信データが受信されるステップと、
    を有することを特徴とする通信方法。
  2. 前記クライアント端末によって、
    前記通信相手端末のIPアドレスが含まれたARP送信要求メッセージが送信されるステップと、
    前記通信制御装置によって、
    前記ARP送信要求メッセージが受信されると、前記通信相手端末のIPアドレスと前記通信相手端末のMACアドレスとが関連付けられるARPテーブルから、前記ARP送信要求メッセージに含まれる前記通信相手端末のIPアドレスに対応するMACアドレスが抽出され、前記通信相手端末のIPアドレスと抽出された当該MACアドレスとが含まれたARP応答結果メッセージが送信されるステップと、
    前記クライアント端末によって、
    前記ARP応答結果メッセージが受信されるステップと、
    を有することを特徴とする請求項1記載の通信方法。
  3. 前記通信制御装置によって、
    前記ARP送信要求メッセージが受信されると、前記ARPテーブルから、前記ARP送信要求メッセージに含まれる前記IPアドレスに対応するMACアドレスが抽出されない場合、前記通信相手端末のIPアドレスが含まれるARP要求メッセージが送信されるステップと、
    前記通信相手端末によって、
    前記ARP要求メッセージが受信されると、前記通信相手端末のMACアドレスと前記通信相手端末のIPアドレスとが含まれるARP応答メッセージが送信されるステップと、
    前記通信制御装置によって、
    前記ARP応答メッセージが受信されると、前記ARP応答メッセージに含まれる前記通信相手端末のMACアドレスと前記通信相手端末のIPアドレスとが関連付けられて前記ARPテーブルに追加されるステップと、
    を更に有することを特徴とする請求項2記載の通信方法。
  4. 前記クライアント端末によって、
    送信元MACアドレスに前記クライアント端末のMACアドレスが設定され、送信元IPアドレスに前記通信制御装置のIPアドレスが設定され、ポート番号を要求する取得要求データが送信されるステップと、
    前記通信制御装置によって、
    前記取得要求データが受信されると、前記クライアント端末のMACアドレスと、前記通信制御装置のIPアドレスと、前記クライアント端末に使用させるポート番号とが関連付けられてクライアント登録テーブルに登録されるステップと、
    前記通信制御装置によって、
    宛先MACアドレスにクライアント端末のMACアドレスが設定され、宛先IPアドレスに前記通信制御装置のIPアドレスが設定され、前記ポート番号が含まれる取得応答データが送信されるステップと、
    前記クライアント端末によって、
    前記取得応答データが受信されると、前記通信制御装置のMACアドレスと、前記通信制御装置のIPアドレスと、前記取得応答データに含まれるポート番号とが関連付けられて登録テーブルに登録されるステップと、
    を更に有することを特徴とする請求項1記載の通信方法。
  5. 前記クライアント端末によって、
    ポート番号の解除を要求する取得要求データが送信されるステップと、
    前記通信制御装置によって、
    前記ポート番号の解除を要求する取得要求データが受信されると、前記クライアント登録テーブルから、前記取得要求データの送信元MACアドレスに関連付けられたレコードが削除されるステップと、
    を更に有することを特徴とする請求項4記載の通信方法。
  6. 前記クライアント端末によって、
    前記クライアント端末が前記ポート番号を使用することができる制限時間が含まれる取得要求データが送信されるステップと、
    前記通信制御装置によって、
    前記制限時間が含まれる取得要求データが受信されると、前記クライアント端末のMACアドレスと、前記通信制御装置のIPアドレスと、前記クライアント端末に使用させるポート番号とともに前記制限時間を更に関連付けるレコードが前記クライアント登録テーブルに登録されるステップと、
    前記通信制御装置によって、
    定期的に前記登録テーブルのレコードの制限時間がデクリメントされ、前記制限時間がゼロになったレコードが前記クライアント登録テーブルから削除されるステップと、
    を有することを特徴とする請求項4記載の通信方法。
  7. 前記通信制御装置によって、
    前記制限時間が含まれる取得要求データが受信されると、前記クライアント登録テーブルに前記取得要求データの送信元MACアドレスが含まれるレコードが存在する場合、当該レコードの制限時間が前記取得要求データに含まれる当該制限時間に更新されるステップを更に有することを特徴とする請求項6記載の通信方法。
  8. 通信相手端末と、前記通信相手端末とデータを送受信するクライアント端末と、前記通信相手端末と前記クライアント端末とのデータの送受信を中継する通信制御装置とを有する通信システムであって、
    前記クライアント端末は、
    送信元MACアドレスに前記クライアント端末のMACアドレスを設定し、送信元IPアドレスに前記通信制御装置のIPアドレスを設定し、送信元ポート番号に前記クライアント端末に対応するポート番号を設定した通信相手端末宛通信データを送信するARP処理部を有し、
    前記通信制御装置は、
    前記クライアント端末のMACアドレスと前記クライアント端末に割り当てられたポート番号とが関連付けられるクライアント登録テーブルと、
    前記通信相手端末から前記通信相手端末宛通信データに応答して送信された、宛先MACアドレスに前記通信制御装置のMACアドレスを設定し、宛先IPアドレスに前記通信制御装置のIPアドレスを設定し、宛先ポート番号に前記クライアント端末に対応するポート番号が設定されたクライアント端末宛通信データを入力すると、前記クライアント登録テーブルから、前記クライアント端末宛通信データの宛先ポート番号に対応するMACアドレスを抽出し、前記クライアント端末宛通信データの前記宛先MACアドレスを、抽出した当該MACアドレスに置換した新たなクライアント端末宛通信データを生成し、前記新たなクライアント端末宛通信データを送信するパケット転送処理部とを有する
    ことを特徴とする通信システム。
  9. 前記クライアント端末のARP処理部は更に、
    前記通信相手端末のIPアドレスを含むARP送信要求メッセージを送信し、
    前記通信制御装置は、
    前記ARP送信要求メッセージを入力すると、前記通信相手端末のIPアドレスと前記通信相手端末のMACアドレスとを関連付けるARPテーブルから、前記ARP送信要求メッセージが含む前記通信相手端末のIPアドレスに対応するMACアドレスを抽出し、前記通信相手端末のIPアドレスと抽出した当該MACアドレスとを含むARP応答結果メッセージを送信するARP処理部を更に有する
    ことを特徴とする請求項8記載の通信システム。
  10. 前記通信制御装置のARP処理部は更に、
    前記ARP送信要求メッセージを入力すると、前記ARPテーブルから、前記ARP送信要求メッセージが含む前記IPアドレスに対応するMACアドレスが抽出されない場合、前記通信相手端末のIPアドレスを含むARP要求メッセージを送信し、前記通信相手端末から当該ARP要求メッセージに応答して送信された、前記通信相手端末のMACアドレスと前記通信相手端末のIPアドレスとを含むARP応答メッセージを入力すると、前記ARP応答メッセージが含む前記通信相手端末のMACアドレスと前記通信相手端末のIPアドレスとを関連付けてARPテーブルに追加する
    ことを特徴とする請求項9記載の通信システム。
  11. 前記クライアント端末のARP処理部は更に、
    送信元MACアドレスに前記クライアント端末のMACアドレスを設定し、送信元IPアドレスに前記通信制御装置のIPアドレスを設定した前記クライアント端末のポート番号を要求する取得要求データを送信し、
    前記通信制御装置の登録処理部は更に、
    前記取得要求データを入力すると、前記クライアント端末のMACアドレスと、前記通信制御装置のIPアドレスと、前記クライアント端末に使用させるポート番号とを関連付けるレコードをクライアント登録テーブルに登録し、宛先MACアドレスに前記クライアント端末のMACアドレスを設定し、宛先IPアドレスに前記通信制御装置のIPアドレスを設定し、前記ポート番号を含む取得応答データを送信し、
    前記クライアント端末は更に、
    前記取得応答データを入力すると、前記通信制御装置のMACアドレスと、前記通信制御装置のIPアドレスと、前記取得応答データが含む前記ポート番号とを関連付けて登録テーブルに追加する登録処理部を有する
    ことを特徴とする請求項8記載の通信システム。
  12. 前記クライアント端末のARP処理部は更に、
    ポート番号の解除を要求する取得要求データを送信し、
    前記通信制御装置の登録処理部は更に、
    前記ポート番号の解除を要求する取得要求データを入力すると、前記クライアント登録テーブルから、前記取得要求データの送信元MACアドレスに関連付けられる前記レコードを削除する
    ことを特徴とする請求項11記載の通信システム。
  13. 前記クライアント端末のARP処理部は更に、
    前記クライアント端末が前記ポート番号を使用することができる制限時間を含む取得要求データを送信し、
    前記通信制御装置の登録処理部は更に、
    前記制限時間を含む取得要求データを入力すると、前記制限時間を更に関連付けるレコードを前記クライアント登録テーブルに登録し、定期的に前記登録テーブルのレコードの制限時間をデクリメントし、前記制限時間がゼロになったレコードを前記クライアント登録テーブルから削除する、
    ことを特徴とする請求項11記載の通信システム。
  14. 前記通信制御装置の登録処理部は更に、
    前記制限時間が含む取得要求データを入力すると、前記通信制御装置のMACアドレスと、前記通信制御装置のIPアドレスと、前記取得応答データが含む前記ポート番号とともに前記クライアント登録テーブルに前記取得要求データの送信元MACアドレスを含むレコードが存在する場合、当該レコードの制限時間を前記取得要求データが含む制限時間に更新することを特徴とする請求項13記載の通信システム。
  15. 通信相手端末と、前記通信相手端末とデータを送受信するクライアント端末と、前記通信相手端末と前記クライアント端末とのデータの送受信を中継する通信制御装置とを有するシステムにおいて用いられるクライアント端末であって、
    送信元MACアドレスに前記クライアント端末のMACアドレスを設定し、送信元IPアドレスに前記通信制御装置のIPアドレスを設定し、送信元ポート番号に前記クライアント端末に割り当てられたポート番号を設定した通信相手端末宛通信データを送信するARP処理部を有するクライアント端末。
  16. 通信相手端末と、前記通信相手端末とデータを送受信するクライアント端末と、前記通信相手端末と前記クライアント端末とのデータの送受信を中継する通信制御装置とを有するシステムにおいて用いられる前記通信制御装置であって、
    前記クライアント端末宛通信データを受信すると、宛先MACアドレスに前記通信制御装置のMACアドレスを設定し、宛先IPアドレスに前記通信制御装置のIPアドレスを設定し、宛先ポート番号に前記クライアント端末に割り当てられたポート番号を設定したクライアント端末宛通信データを送信するパケット転送処理部を有する通信制御装置。
JP2006079602A 2006-03-22 2006-03-22 通信方法、通信システム、クライアント端末及び通信制御装置 Pending JP2007258979A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006079602A JP2007258979A (ja) 2006-03-22 2006-03-22 通信方法、通信システム、クライアント端末及び通信制御装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006079602A JP2007258979A (ja) 2006-03-22 2006-03-22 通信方法、通信システム、クライアント端末及び通信制御装置

Publications (1)

Publication Number Publication Date
JP2007258979A true JP2007258979A (ja) 2007-10-04

Family

ID=38632781

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006079602A Pending JP2007258979A (ja) 2006-03-22 2006-03-22 通信方法、通信システム、クライアント端末及び通信制御装置

Country Status (1)

Country Link
JP (1) JP2007258979A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012114795A (ja) * 2010-11-26 2012-06-14 Nec Corp 映像音声伝送装置、映像音声伝送方法
JP2013168838A (ja) * 2012-02-16 2013-08-29 Fuji Xerox Co Ltd 通信装置、通信制御装置及び通信システム
JP6786014B1 (ja) * 2019-07-11 2020-11-18 三菱電機株式会社 通信システム、通信装置及びプログラム

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012114795A (ja) * 2010-11-26 2012-06-14 Nec Corp 映像音声伝送装置、映像音声伝送方法
JP2013168838A (ja) * 2012-02-16 2013-08-29 Fuji Xerox Co Ltd 通信装置、通信制御装置及び通信システム
JP6786014B1 (ja) * 2019-07-11 2020-11-18 三菱電機株式会社 通信システム、通信装置及びプログラム
US11394605B2 (en) 2019-07-11 2022-07-19 Mitsubishi Electric Corporation Communication system, communication apparatus, and program

Similar Documents

Publication Publication Date Title
US7228141B2 (en) Providing location-specific services to a mobile node
US6507873B1 (en) Network address assigning system
JP3857183B2 (ja) アドレス変換機能を備えたパケット転送装置
KR100652964B1 (ko) 듀얼스택 네트워크 기기 및 그 브로드캐스트 방법
US20060206611A1 (en) Method and system for managing programs with network address
US20050010686A1 (en) Router and address indentification information management server
US20060153129A1 (en) System and method for efficient selection of a packet data servicing node
JP2007515111A (ja) モバイル環境におけるdhcpプール共有メカニズム
JP2004193844A (ja) 移動端末を収容できるパケット転送装置
US20110299538A1 (en) Apparatus for providing connection between networks
JPH11224219A (ja) 分散キャッシュ制御方法及び分散制御装置及び分散キャッシュシステム及び分散キャッシュ制御プログラムを格納した記憶媒体
JP2003163689A (ja) ネットワーク連携情報処理システムおよびその複数負荷分散機間のアクセス移動方法
JPH1051449A (ja) 移動計算機サポートシステム、その管理サーバ、その端末及びアドレス変換方法
JP7190837B2 (ja) 中継装置、制御方法、及び、プログラム
JP4163697B2 (ja) 負荷分散システム、実サーバ及び負荷分散方法
JP4177346B2 (ja) 負荷分散システム、実サーバ及び負荷分散方法
US7468804B2 (en) Techniques for printer-side network cluster printing
JP3812285B2 (ja) ネットワークシステム及びネットワーク機器
JP2007258979A (ja) 通信方法、通信システム、クライアント端末及び通信制御装置
JP3635223B2 (ja) IPv4−IPv6アドレス置換方法、およびIPv4−IPv6通信方法
JP4607571B2 (ja) アドレス管理の方法およびアドレス管理装置
WO2019059034A1 (ja) アクセス管理装置及びアクセス管理方法
JP2000341330A (ja) 通信プロトコル代行処理方法、通信プロトコル代行処理装置、及び通信プロトコル代行処理サービス装置
US7535902B2 (en) Traffic distribution device, traffic distribution method and packet relay method
JP4282571B2 (ja) ファクシミリ装置

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20080403

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080415

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20080930