JP2014003449A - 転送装置及び転送方法 - Google Patents
転送装置及び転送方法 Download PDFInfo
- Publication number
- JP2014003449A JP2014003449A JP2012137138A JP2012137138A JP2014003449A JP 2014003449 A JP2014003449 A JP 2014003449A JP 2012137138 A JP2012137138 A JP 2012137138A JP 2012137138 A JP2012137138 A JP 2012137138A JP 2014003449 A JP2014003449 A JP 2014003449A
- Authority
- JP
- Japan
- Prior art keywords
- arp
- transfer
- address
- packet
- resolution
- 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
Links
Images
Landscapes
- Small-Scale Networks (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
【課題】事前にARP解決することにより通信発生時のARP解決の集中を軽減して通信断時間を短縮する。
【解決手段】パケットを送受信する転送装置は、プロトコルアドレスと物理デバイスアドレスとの対応関係を管理、保持する制御部と、受信したパケットのプロトコルアドレスに基づいて前記パケットの転送処理を行うパケット転送部と、を備え、前記制御部は、Gratuitous ARP受信時に、受信したGratuitous ARPに含まれるプロトコルアドレス及び物理アドレスのエントリが前記制御部により保持されていない場合に、前記Gratuitous ARPに含まれるプロトコルアドレス及び物理デバイスアドレスを前記制御部に保持させる。
【選択図】図1
【解決手段】パケットを送受信する転送装置は、プロトコルアドレスと物理デバイスアドレスとの対応関係を管理、保持する制御部と、受信したパケットのプロトコルアドレスに基づいて前記パケットの転送処理を行うパケット転送部と、を備え、前記制御部は、Gratuitous ARP受信時に、受信したGratuitous ARPに含まれるプロトコルアドレス及び物理アドレスのエントリが前記制御部により保持されていない場合に、前記Gratuitous ARPに含まれるプロトコルアドレス及び物理デバイスアドレスを前記制御部に保持させる。
【選択図】図1
Description
本発明は、転送装置及び転送方法に関し、ARP(Address Resolution Protocol)解決処理を行う転送装置及び転送方法に適用して好適なるものである。
通信ネットワークにおいて、プロトコルアドレス宛に通信をする場合、通信先の装置の物理デバイスアドレスが必要となる。プロトコルアドレスから物理デバイスアドレスを取得する方法として、例えばARPが挙げられる。ARPは、IP(Internet Protocol)ネットワークにおいて、IPアドレスからMAC(Media Access Control)アドレスを学習するためのプロトコルである。具体的に、パケット送信時に宛先IPアドレスを経路表から検索し、該当したネクストホップ(送り先)にパケットを送信する。ネクストホップへの送信では、ネクストホップのMACアドレスをARPテーブルから検索し、該当したMACアドレス宛にパケットを送信する。ARPテーブルの検索で該当エントリがヒットしない場合は、ARP解決によりIPアドレスに対応したMACアドレスを学習する。
ARP解決処理は、通常、ARPテーブルにエントリがないIPアドレスを宛先とするパケットを送信するときや、ネットワーク上で自装置のインタフェースIPアドレスに対するARP要求を受信したときに実施される。パケットの送信において、ARP未解決な宛先へのトラフィックが発生した場合には、ARP解決が完了するまで転送装置内部でパケットの送信が待たされることがある。この場合、装置で許容できる量を超えたパケットは廃棄される。
Internet Engineering Task Force, RFC 5227, "IPv4 AddressConflict Detection"
上記したARP解決処理は、ソフトウェア処理のため、装置のCPU資源を消費する。したがって、同時に実施するARP解決処理が増えれば増えるほど装置のCPUに負荷がかかり、装置の安定運用が損なわれる可能性があった。
本発明は以上の点を考慮してなされたもので、事前にARP解決することにより通信発生時のARP解決の集中を軽減して通信断時間を短縮することが可能な通信装置及び通信方法を提案しようとするものである。
かかる課題を解決するために本発明においては、パケットを送受信する転送装置であって、プロトコルアドレスと物理デバイスアドレスとの対応関係を管理、保持する制御部と、受信したパケットのプロトコルアドレスに基づいて前記パケットの転送処理を行うパケット転送部と、を備え、前記制御部は、Gratuitous ARP受信時に、受信したGratuitous ARPに含まれるプロトコルアドレス及び物理アドレスのエントリが前記制御部により保持されていない場合に、前記Gratuitous ARPに含まれるプロトコルアドレス及び物理デバイスアドレスを前記制御部に保持させる、ことを特徴とする、転送装置が提供される。
通常、Gratuitous ARP受信時に自装置のARPテーブルにGratuitous ARPのIPアドレスを含むエントリがないか、ARP要求が自装置のインタフェースではない場合には、受信ARPパケットに対して何も処理を行わないが、上記構成によれば、Gratuitous ARPに含まれるIPアドレス及びMACアドレスの情報を学習し、ARP解決をする。これにより、Gratuitous ARPパケットを利用して、事前にARP解決を行って、通信発生時のARP解決の集中を軽減して通信断時間を短縮し、装置負荷を低減することが可能となる。
本発明によれば、事前にARP解決することにより通信発生時のARP解決の集中を軽減して通信断時間を短縮し、装置負荷を低減することができる。
以下図面について、本発明の一実施の形態を詳述する。
(1)本発明の概要
転送装置においては、特定の宛先への通信が発生するまで、その宛先のARP解決は実施されない。したがって、複数のARP未解決な宛先への通信が発生したときに、転送装置で実施すべきARP解決処理が集中するため、一時的に装置負荷が上昇する。装置負荷が上昇することで、ひとつの宛先についてのARP解決処理の完了にも時間がかかってしまう。また、ARP解決が完了するまでパケット通信がなされないため、ARP解決にかかる時間が延びる分、通信断時間も延びてしまうという問題があった。
転送装置においては、特定の宛先への通信が発生するまで、その宛先のARP解決は実施されない。したがって、複数のARP未解決な宛先への通信が発生したときに、転送装置で実施すべきARP解決処理が集中するため、一時的に装置負荷が上昇する。装置負荷が上昇することで、ひとつの宛先についてのARP解決処理の完了にも時間がかかってしまう。また、ARP解決が完了するまでパケット通信がなされないため、ARP解決にかかる時間が延びる分、通信断時間も延びてしまうという問題があった。
上記した状況は、特に、転送装置を複数台使用した冗長構成を組んでいるネットワークで発生しやすい。通常、通信路として使用する転送装置では、通信が発生するためARP解決が実施されるが、冗長として待機している転送装置では、通信が発生しないためARP解決が実施されない。通常使用している通信路に障害が発生し転送装置の切り替わりが発生すると、この時点で初めて冗長の転送装置において通信が発生しARP解決処理を行う。このとき、ARP解決が完了するまでの間は転送ができず、その結果、経路切り替え時に通信断となってしまう。ARP解決する数が多いほど解決にかかる時間が長くなり、通信断時間も長くなる。また、複数の宛先へのARP解決処理が集中して装置負荷が上昇し、その状態が継続すると、CPU資源やその他の装置リソースの影響により、他のソフトウェア処理に影響を与えてしまうという問題があった。
そこで、本実施の形態では、ネットワークに装置が接続された場合に、転送トラフィックの有無にかかわらず、ARP解決を事前に実施することにより、通信発生時のARP解決の集中を軽減して通信断時間を短縮し、装置負荷を低減している。具体的には、以下の4つの方法によってARP解決を事前に実施している。
まず第1の方法は、Gratuitous ARPパケット受信によりARP解決を行う方法である。Gratuitous ARPとは、自身のIPアドレスをリクエストするためのARPパケットである。新たな装置がネットワークに接続され、当該装置のインタフェースがアップされたときに送信するGratuitous ARPパケットを、すでにネットワークに接続されている装置が受信すると、Gratuitous ARPパケットに含まれるIPアドレスとMACアドレスの情報からARPテーブルのエントリを作成する。これにより、Gratuitous ARP受信側の装置が送信側の装置のARP解決を完了する。
次に、第2の方法は、Gratuitous ARPの受信を契機にARP requestパケットを送信し、送信相手にARP解決を行わせる方法である。上記した第1の方法でGratuitous ARP送信側のARP解決を実施した装置は、送信側に対してユニキャストのARP requestを送信して、受信側のIPアドレスとMACアドレスを送信側に学習させる。これにより、Gratuitous ARP送信側の装置が受信側の送信のARP解決を完了する。
次に、第3の方法は、ブロードキャスト宛のpingを利用して、自装置及び同一ネットワーク内の相手装置においてARP解決を行う方法である。具体的には、新たな装置がネットワークに接続された場合に、当該装置のインタフェースがアップされたサブネットワークについてブロードキャストpingを送信する。ブロードキャストpingに応答を返す装置は、応答先の装置、すなわち、ネットワークに新しく接続された装置のARP解決を実施する。pingの応答元が送信するARP requestにより、pingの送信元は応答元のARP解決を完了する。一方、pingの送信元が送信するARP replyにより、pingの応答元は送信元のARP解決を完了する。これにより、ブロードキャストpingの送信側受信側のそれぞれでARP解決を完了する。
次に、第4の方法は、総当たりでARP requestを発行してARP解決を行う方法である。具体的には、新たな装置がネットワークに接続された場合に、当該装置のインタフェースがアップされたサブネットワークについて、ARP解決ができていないIPアドレスに対して順にARP解決を実施する。ネットワークにすでに存在している装置は、自装置のインタフェースアドレスをターゲットとしてARP requestにより、ARP request送信側のARP解決を完了する。ARP request送信側は、応答されたARP replyによりARP解決を完了する。
上記方法により、事前にサブネットワーク内のすべての装置のARP解決を完了した場合、以降に発生するトラフィックについて、実際にサブネットワーク内に宛先となる装置が存在するときは、すでにARP解決済みとなり、存在しない場合は、ARP未解決となる。このため、ARP未解決の場合には、改めてARP解決を実施する必要がなく、即座にパケットを廃棄することができるため、ARP解決とARPを解決する間のパケット保持にかかる装置への負荷を軽減することができる。
(2)第1の実施の形態
(2−1)本実施の形態の概要
本実施の形態では、上記した第1の方法のみを利用してARP解決処理を実施している。図1は、本実施の形態にかかるネットワーク構成を示すブロック図である。本実施の形態では、計算機システム1では、同一サブネットワーク内に複数の転送装置を接続し、通信路の冗長性を確保したネットワーク構成となっている。
(2−1)本実施の形態の概要
本実施の形態では、上記した第1の方法のみを利用してARP解決処理を実施している。図1は、本実施の形態にかかるネットワーク構成を示すブロック図である。本実施の形態では、計算機システム1では、同一サブネットワーク内に複数の転送装置を接続し、通信路の冗長性を確保したネットワーク構成となっている。
図1に示すように、計算機システム1は、転送装置100、101、102と、L2スイッチ200と、端末300、301と、ネットワーク400、401とから構成されている。ネットワーク401では、L2スイッチ200を介して転送装置100、101と、端末300、301とが接続されている。転送装置100、101または102は、ネットワーク間を相互接続する通信装置であって、端末300、301からネットワーク400宛の通信は、転送装置100または101を経由して行われる。転送装置100及び101では、例えば、VRRP(Virtual Router Redundancy Protocol)などのプロトコルによって通信路の冗長がなされ、端末からの通信がどちらの転送装置を経由するかはそのプロトコルによって決定される。
また、転送装置100、101、102間は、例えば、OSPF(Open Shortest Path Fast)などのルーティングプロトコルが使用される。ネットワーク400からネットワーク401への通信が、転送装置100または101のどちらを経由するかは、このプロトコルによって決定される。
ここで、図2を参照して、転送装置100の構成を説明する。転送装置100以外の転送装置も転送装置100と同様の構成であるため、転送装置100について詳細に説明する。
図2は、転送装置100の構成を示すブロック図である。転送装置100は、例えば、CPU600とメモリ601を備える。CPU600がメモリ601に格納されたプログラムを実行することにより、装置全体の管理やパケット処理などを行う。メモリに格納されたプログラムは、ARP制御部603を含む。また、ARP制御部603は、ARPテーブル604を含む。ARP制御部603は、パケットに含まれるプロトコルアドレスと物理デバイスアドレスからARPテーブル604にエントリを作成する。
パケット転送部605は、インタフェース606でのパケット入出力を制御する。図2では、2つのインタフェースを有する構成としているが、かかる例に限定されず、2つ以上のインタフェースを有していてもよい。パケット転送部605は、経路表602、および、ARPテーブル604のエントリを参照してパケットを適切なインタフェースから送信する。また、パケット転送部605は、メモリ601を直接参照してもよいし、同様の情報をパケット転送部605で保持してもよい。ARPテーブル604にエントリが存在しない場合は、ARP制御部603にてARP解決処理を実施する。
図1に戻り、L2スイッチ200は、ネットワークの中継機器であって、OSI参照モデルのデータリンク層(第2層)のデータでパケットの行き先を判断して転送を行う機器である。
端末300または301は、ユーザの入力に応じてデータの送受信等を行うコンピュータ装置であって、例えば、パーソナルコンピュータ、ワークステーションなどから構成される。また、端末300は、CPUおよびメモリ等の情報処理資源を備えている。CPUは、演算処理装置として機能し、メモリに記憶されているプログラムや演算パラメータ等にしたがって、端末300の動作を制御する。
ネットワーク400または401は、例えばインターネット、電話回線網、衛星通信網等の公衆回線網や、WAN、LAN、IP−VPN等の専用回線網などで構成されており、有線、無線を問わない。
ネットワーク400と401との間の通信は、正常時には、転送装置102、転送装置100、L2スイッチ200を経由する。図3は、正常時の転送装置100におけるARPテーブルを示している。
端末300または端末301と、ネットワーク400の間の通信が発生している状況では、転送装置100のARPテーブル500Aに転送装置102、端末300、端末301のエントリが含まれる。具体的には、図3に示すように、ARPテーブル500Aは、IPアドレス欄501とMACアドレス欄502とから構成される。IPアドレス欄501には、装置のIPアドレスの情報が格納される。MACアドレス欄502には、装置のMACアドレスの情報が格納される。
転送装置100のARPテーブル500には、端末300及び端末301のIPアドレスとMACアドレスのエントリと、転送装置102のIPアドレスとMACアドレスの対のエントリとが含まれる。
また、転送装置101では通信が発生していないため、転送装置101のARPテーブルには、端末300及び端末301のエントリは含まれない。なお、転送装置101のARPテーブルでは、スタティック経路による設定やルーティングプロトコルがマルチキャストでのみプロトコルパケットを送受信する場合は転送装置102のエントリは含まれない。一方、ユニキャストでプロトコルパケットを送受信する場合は、転送装置102のエントリが含まれる。
ここで、転送装置100を経由する通信路で障害が発生したとする。この場合、通信路が転送装置100経由から転送装置101経由に切り替わる。新たに通信路となった転送装置101では、端末300や301宛の通信が発生した時点で、端末300又は端末301のARP解決をそれぞれ実施する。
ネットワーク400から端末300または端末301への通信が継続している状態で転送装置101が通信路となった場合、プロトコルによる転送装置101への経路切り替えや、転送装置101での端末300、301のARP解決が完了するまで通信が停止する。例えば、ネットワーク401で多くの端末を収容して通信が継続している場合には、経路切り替えのタイミングで転送装置101でのARP解決処理が集中する。ARP解決処理は、転送装置のプロトコル処理部で順次実施されるため、後に発生したARP解決処理ほどARP解決に必要なリソースが回ってくるのに時間がかかる。また、先に送信したARP requestに対するARP replyが返ってきたときも、別の装置宛のARP request処理でリソースが消費されていると処理の開始が遅れてしまう。
ここで、図4A及び図4Bを参照して、単体の端末のARP解決を行う場合と、複数の端末のARP解決を行う場合の処理について説明する。
図4Aは、単体の端末のARP解決を行う場合の処理の流れを示すタイミングチャートである。
図4Aに示すように、装置Aに装置B宛の通信が発生した場合(S101)、装置Aは、装置Bに対してARP requestを送信する(S102)。ステップS102において、装置AからARP requestを送信された装置Bは、装置AにARP replyを送信する(S103)。ステップS103において、装置BからARP replyを送信された装置Aは、ARP replyに含まれるIPアドレスとMACアドレスを学習してARP解決を完了する。
図4Bは、複数の端末のARP解決を行う場合の処理の流れを示すタイミングチャートである。
図4Bに示すように、装置Aに装置B宛の通信と装置C宛の通信がほぼ同時に発生した場合、ARP解決処理は順次実行されるため、装置BのARP request送信処理が完了するまで、装置CのARP request送信処理の開始が遅延する。また、装置CからARP replyが返信された場合に、装置BからのARP reply受信処理が実施されている場合には、装置CからのARP reply受信処理が待たされる。この結果、ARP解決の完了が単体の端末のARP解決をした場合より長くかかってしまう。このように、通信時にARP解決が必要な端末が増えれば増えるほど、ARP解決処理に多くの時間がかかってしまうことになるため、端末宛のすべての通信が復旧するまでの時間はネットワークに接続された端末数に応じて長くかかることとなる。
そこで、本実施の形態では、通信路として転送装置100を使用している場合でも、転送装置101において、ネットワーク401に収容された端末のARP解決を実施する。
例えば、ネットワーク401に端末が追加された場合には、当該端末からネットワーク401内にGratuitous ARPが送信される。Gratuitous ARPは、転送装置100及び101により受信される。
Gratuitous ARPは、装置AがIPアドレスを使用することを宣言するために、サブネットワーク内でブロードキャストされるパケットであり、自装置のインタフェースアドレスをターゲットとしたARP requestである。
通常、自装置のARPテーブルに受信したARPのIPアドレスを含むエントリがないか、または、ARP要求が自装置のインタフェースではない場合には、受信したARPパケットに対して何も処理を行わない。しかし、本実施の形態では、Gratuitous ARPに含まれるIPアドレス及びMACアドレスの情報を学習し、ARP解決をする。
ここで、Gratuitous ARPを受信してARP解決をした場合の転送装置101のARPテーブル500Bについて説明する。
図5に、転送装置101のARPテーブル500Bを示す。図5に示すように、転送装置101のARPテーブル500Bには、転送装置102、端末300、端末301のエントリが含まれる。このように、転送装置101が冗長装置として使用され、通信がない状態でも転送装置100のARPテーブル500Aと同様に、ARPテーブル500Bには、端末300及び端末301のIPアドレスとMACアドレスのエントリと、転送装置102のIPアドレスとMACアドレスの対のエントリとが含まれる。
このように、本実施の形態では、冗長装置として使用されている転送装置101において、上記したように、通信が発生する前にARP解決を実施ししている。これにより、転送装置100に障害が発生し、転送装置101が新たな通信路となった場合に、転送装置101では、端末300や端末301宛の通信が発生した時点ですでにARP解決が完了しているため、新たにARP解決を実施する必要はない。したがって、プロトコルによる転送装置101への経路切り替えが完了した時点で、ネットワークに接続された端末の通信が復旧する。このため、ARP解決にかかる時間分の通信断時間を短縮することが可能となる。
また、ネットワーク401により多くの端末を収容して通信が継続している場合に、すべての端末のARP解決が完了していなくとも、ARP解決が完了している端末についてはARP解決をする必要がないため、経路切り替えタイミングでの転送装置101のARP解決処理の集中を緩和することができる。その結果、個々のARP解決処理にかかる時間も短縮することができ、ネットワーク全体としての通信断時間を短縮することが可能となる。このように、本実施の形態では、上記した第1の方法のみを利用してARP解決を行っているが、第1の方法のみを利用した場合で、ネットワーク内の通信路切り替えの通信断時間を短縮することができる。
図6は、図1に示したネットワーク構成に、端末302を追加したネットワーク構成を示している。端末302に置いて、ネットワーク401に接続されたインタフェースがアップされたときに、端末302は、ネットワーク401にGratuitous ARPを送信する。そして、転送装置101は、Gratuitous ARPに含まれる端末302のIPアドレス及びMACアドレスを学習して、ARPテーブル500Bに端末302のエントリを作成する。このように、転送装置101において、端末302との通信が発生する前に端末302のARP解決を実施することにより、転送装置100から転送装置101への通信路切り替えの際に発生する通信断時間を軽減することが可能となる。なお、端末302において、本実施の形態を実現するための機能を有する必要があるか否かについて考慮する必要はない。
(3)ARP解決処理
次に、図7を参照して、事前にサブネットワーク内のすべての装置のARP解決を完了するための処理について説明する。図7は、ARP解決処理を説明するタイミングチャートである。サブネットワーク内には、装置A、装置B、装置C、装置Dの4台の装置が存在しているとする。このうち、装置Aが新しくサブネットワークに接続されて、当該装置のインタフェースがアップされた装置である。一方、装置B、装置C、装置Dはすでにネットワークに接続された状態で動作している装置である。
次に、図7を参照して、事前にサブネットワーク内のすべての装置のARP解決を完了するための処理について説明する。図7は、ARP解決処理を説明するタイミングチャートである。サブネットワーク内には、装置A、装置B、装置C、装置Dの4台の装置が存在しているとする。このうち、装置Aが新しくサブネットワークに接続されて、当該装置のインタフェースがアップされた装置である。一方、装置B、装置C、装置Dはすでにネットワークに接続された状態で動作している装置である。
装置Aは、上記した第3の方法及び第4の方法を実施する機能を有する。また装置Bは、上記した第1の方法及び第2の方法を実施する機能を有する。また、装置Bは、第1の方法及び第2の方法にしたがったARP解決を実施するとともに、ブロードキャストpingに応答を返す機能を有する。また、装置Cは、上記した第1〜第4の方法を実施する機能を有していないが、ブロードキャストpingに応答を返す機能を有する。また装置Dは、上記した第1〜第4の方法を実施する機能を有しておらず、ブロードキャストpingにも応答を返さない。
(3−1)第1の方法
上記したように、第1の方法では、装置Aがインタフェースをアップしたときに送信するGratuitous ARPパケットを利用してARP解決をしている。
上記したように、第1の方法では、装置Aがインタフェースをアップしたときに送信するGratuitous ARPパケットを利用してARP解決をしている。
具体的に、図7に示すように、装置Aは、インタフェースをアップする際にGratuitous ARPをサブネットワーク内にブロードキャストで送信する(S10)。Gratuitous ARPは、装置AがIPアドレスを使用することを宣言するために、サブネットワーク内でブロードキャストされるパケットであり、自装置のインタフェースアドレスをターゲットとしたARP requestである。すでに該当IPアドレスがネットワーク内で使用されていた場合には、Gratuitous ARPパケットにより接続先のスイッチにおける収容ポートの変更や他装置でのARPテーブルの更新が行われる。
装置Bは、装置AによりブロードキャストされたGratuitous ARPパケットを受信して、当該パケットに含まれるIPアドレスとMACアドレスの情報を学習して装置AのARP解決を行う(S11)。具体的に、装置Bは、Gratuitous ARPパケットに含まれるIPアドレス及びMACアドレスをARPテーブルに登録する。
従来、Gratuitous ARPパケットを受信した装置は、自装置のARPテーブルに該当IPアドレスのエントリがある場合はエントリを更新するが、ARPテーブルに該当IPアドレスのエントリがない場合は何の処理も実施しない。一方、本実施の形態にかかる装置Bでは、受信したGratuitous ARPパケットに含まれるIPアドレスが自装置のARPテーブルにない場合でも、ARPテーブルにエントリを作成している。これにより、装置Bにおいて装置Aへのパケット装置が可能となる。装置C及び装置Dは、受信したGratuitous ARPパケットに含まれるIPアドレス及びMACアドレスをARPテーブルに登録する機能を有していない。したがって、ステップS11の第1の方法では、装置AからのGratuitous ARPパケットを受信した装置C及び装置DにおいてARP解決は完了していない。
(3−2)第2の方法
上記したように、第2の方法では、Gratuitous ARPパケットを受信した装置Bが、装置A宛にユニキャストでARP requestを送信することにより、装置Aにおいて装置BのARP解決を促す。
上記したように、第2の方法では、Gratuitous ARPパケットを受信した装置Bが、装置A宛にユニキャストでARP requestを送信することにより、装置Aにおいて装置BのARP解決を促す。
具体的に、図7に示すように、装置Bは、装置AにユニキャストでARP requestを送信する(S12)。ARP requestは、IPアドレスからMACアドレスを調べるプロトコルである。具体的に、ARP requestを送信された装置は、ARP requestに含まれるIPアドレスをチェックして、自分宛であれば自分のMACアドレスをARP replyパケット中にセットして送り返す。本実施の形態では、装置Bは、上記した第1の方法において、装置AのARP解決をすでに行っているため、ステップS12において送信するARP requestは、装置Aに装置Bの情報を学習させるためのパケットとして利用される。
ステップS12においてARP requestを送信された装置Aは、ARP requestを受信して、当該パケットに含まれるIPアドレスとMACアドレスの情報を学習して装置BのARP解決を行う(S13)。具体的に、装置Aは、ARP requestに含まれる装置BのIPアドレス及びMACアドレスをARPテーブルに登録する。装置C及び装置Dでは、第2の方法に対応する処理は実施されない。第2の方法によるARP解決処理は、第1の方法に対応している装置でのみ実施される。
(3−3)第3の方法
上記したように、第3の方法では、ブロードキャスト宛のpingを利用して、自装置及び同一ネットワーク内の相手装置においてARP解決を行う。
上記したように、第3の方法では、ブロードキャスト宛のpingを利用して、自装置及び同一ネットワーク内の相手装置においてARP解決を行う。
具体的に、図7に示すように、装置Aは、サブネットワーク宛にブロードキャストping送信する(S14)。ブロードキャストpingとは、サブネットワークのブロードキャストアドレスを宛先としたpingであり、サブネットワーク内のすべての装置で受信される。pingは、ICMP(Internet Control Message Protocol)のecho requestパケットを送信し、echo replyが返ってくることで到達性を確認する機能である。具体的には、装置Aは、サブネットワーク宛にecho requestをブロードキャストする。
ネットワーク内には、本パケットに応答を返す装置と、応答を返さない装置が存在する。応答を返す装置においては、ユニキャストでpingを受信したときと同様に送信元に対してecho replyを応答する。このとき、応答先にMACアドレスが不明な場合には、ARP解決を実施する。応答を返さない装置においては、そのままパケットを廃棄するため、ARP解決処理は実施されない。
図7において、装置Bは装置AのARP解決を既に行っているため、即座にpingの応答(echo reply)を返信する(S15)。
装置Cは、ブロードキャストpingに応答を返す装置である。装置Cは、装置Aに応答を返すために、装置AのARP解決を実施する必要があるため、装置AにARP requestを送信する(S16)。装置Aは、ステップS16において装置Cから送信されたARP requestにより装置CのIPアドレス及びMACアドレスを学習し、ARP解決を完了する(S17)。
そして、装置Cは、装置AからARP Replyを受信する(S18)。装置Cは、ステップS18において装置AからARP Replyを受信することにより、装置AのIPアドレス及びMACアドレスを学習し、ARP解決を完了する(S19)。
上記したステップS16〜S19における動作は、ブロードキャストpingを受信した場合に、echo replyを返信する場合の通常のARP解決動作である。
例えば、サブネットワーク内に本手順によるブロードキャストpingに応答を返す装置が多数存在した場合、装置Aにおいて返信パケットの処理が同じタイミングに集中し、装置が一度に処理可能な量を超えてパケットの取りこぼしが発生する場合がある。この問題は、ブロードキャストpingを受信した装置では、echo replyやARP requestを送信するタイミングをずらして返信することにより解決することができる。例えば、乱数を発生させて当該乱数に応じて待ち時間を決定するなど、一定の規則にしたがって、返信するタイミングをずらすようにしてもよい。また、受信インタフェースのホストアドレスに基づいて待ち時間を決定することにより、ブロードキャストping送信側でのパケット受信のタイミングをずらすことにより応答パケットの到達を分散させるようにしてもよい。
(3−4)第4の方法
上記したように、第4の方法では、サブネットワーク内においてARP解決できていないIPアドレスをターゲットとしたARP requestを一つ一つ順番に送信する。
上記したように、第4の方法では、サブネットワーク内においてARP解決できていないIPアドレスをターゲットとしたARP requestを一つ一つ順番に送信する。
図7に示すように、装置Aは、ARP未解決である装置DのIPアドレスをターゲットとして、ARP requestをブロードキャストに送信する(S20)。装置Dは、ステップS20において装置Aから送信されたARP requestを受信して、装置AのARP解決を行う(S21)。そして、装置Dは、装置AにARP replyを応答する(S22)。装置Aは、ARP replyを受信して、装置AのARP解決を行う(S23)。これにより、装置Aと装置Dとの間でARP解決が完了し、装置Aはサブネットワークにおけるすべての装置のARP解決を達成することができる。
上記したように、第4の方法の処理まで実施すると、サブネットワークにおけるARPテーブルをトラフィック発生前に構築することができる。しかし、ARP解決のための処理を実施すればするほど、ネットワークに対する負荷がかかってしまうこととなる。事前に管理者がネットワーク構成を把握することができ、第1〜第4のすべての方法を実施しなくても、途中の処理まで実施することによりサブネットワークにおけるARPテーブルを構築できる場合には、第1〜第4のすべての処理を実施しなくとも、必要な処理を部分的に実施するようにしてもよい。
次に、図8を参照して、ネットワークに接続してインタフェースがアップされる装置Aの動作について説明する。図8に示すように、装置Aは、インタフェースアップ(S201)後、まず、Gratuitous ARPを送信する(S202)。Gratuitous ARPは、装置Aがネットワークに接続される際に通常行われる動作である。
次に、装置Aは、インタフェースがアップしたサブネットワークに対してブロードキャストpingを送信する(S203)。ステップS203におけるブロードキャストpingの送信は本実施の形態の特徴的な動作であり、上記した第3の方法に相当する。
そして、装置Aは、サブネットワーク内においてARP解決していないIPアドレスをターゲットとしてARP requestを順番に送信する(S204)。ステップS204におけるARP requestの送信も本実施の形態の特徴的な動作であり、上記した第4の方法に相当する。ステップS203における第3の方法によってある程度のARP解決を期待することができるため、ステップS204における第4の方法の開始は、第3の方法による応答結果を待ってから実施するようにしてもよい。
次に、図9を参照して、ネットワーク内で稼働済みの装置Bが、ARP requestを受信したときの動作について説明する。まず、装置Bは、ARP requestを受信すると(S210)、ARP requestに含まれる送信元IPアドレスのエントリが自装置のARPテーブルにあるかをチェックする(S211)。
ステップS211において、ARPテーブルに送信元IPアドレスのエントリがあると判定された場合には、ARPテーブルのエントリを更新する(S212)。
一方、ステップS211において、ARPテーブルに送信元IPアドレスのエントリがないと判定された場合には、通常何の処理も実施しないが、本実施の形態では、装置Bは、自装置のARPテーブルにエントリのないARP requestを受信した際に、そのパケットがGratuitous ARPか否かをチェックする(S213)。
ステップS213において、パケットがGratuitous ARPであると判定された場合には、装置Bは、該パケットに含まれるIPアドレス及びMACアドレスを学習し、ARPテーブルを更新する(S214)。ステップS214におけるARPテーブルの更新は、上記した第1の方法に相当する。
そして、装置Bは、ステップS214において学習したIPアドレスをターゲットとしたARP requestを送信する(S215)。ステップS215におけるARP requestの送信は、上記した第2の方法に相当する。
(4)転送装置におけるARP解決処理
次に、図10及び図11を参照して、転送装置のみで構成されたネットワーク構成におけるARP解決処理について説明する。図10は、転送装置のみで構成されたネットワーク構成を示す。転送装置103、104及び105は、ネットワーク405に接続されている。また、転送装置103はネットワーク402に接続され、転送装置104はネットワーク403に接続され、転送装置105はネットワーク404に接続され、ネットワーク405を介してルーティングプロトコルなどでお互いに経路を学習する。
次に、図10及び図11を参照して、転送装置のみで構成されたネットワーク構成におけるARP解決処理について説明する。図10は、転送装置のみで構成されたネットワーク構成を示す。転送装置103、104及び105は、ネットワーク405に接続されている。また、転送装置103はネットワーク402に接続され、転送装置104はネットワーク403に接続され、転送装置105はネットワーク404に接続され、ネットワーク405を介してルーティングプロトコルなどでお互いに経路を学習する。
図10に示すネットワーク構成において、ネットワーク402から転送装置103経由のトラフィックが発生した場合、転送装置の経路表に経路がないパケットについては、ネットワーク到達不可のため即時にパケットを廃棄することができる。しかし、ネットワーク405を宛先とするパケットについては、実際に宛先IPアドレスを持つ装置がネットワーク405に存在しない場合において、転送装置103でARP解決処理とパケットの保持が必要となるため装置に負荷がかかる。本実施の形態では、トラフィックが発生する前に事前にARP解決を実施している。
したがって、サブネットワーク内のすべての装置のARP解決が完了している場合には、それ以降に発生したトラフィックについては必ずARPテーブルにエントリが存在することとなる。すなわち、ARPテーブルにエントリがない宛先へのパケットについては、その宛先となる装置が存在しないことがわかっているため、通常必要なARP解決処理とパケット保持が不要となり、即座にそのパケットを廃棄することができる。
転送装置103、104及び105のすべてが本実施の形態による動作を実施する場合には、上記した第1の方法及び第2の方法によって、転送装置103、104及び105は互いにARP解決を完了することができる。また、転送装置103、104および105のなかに本実施形態にかかる第1の方法及び第2の方法による動作を実施しない転送装置が混在している場合でも、ブロードキャストpingに応答を返して上記した第3の方法を実施することにより、転送装置103、104及び105は互いにARP解決を完了することができる。また、パケットフィルタリングなどにより、ブロードキャストpingに応答しない場合には、さらに、上記した第4の方法を実施することにより、転送装置103、104及び105は、互いにARP解決を完了することができる。このように、本実施の形態では、ネットワークを構成する要素に応じて、第1の方法〜第4の方法までのいずれの手順を実施するかを決定することができる。なお、ネットワークを構成する要素は、端末を含む構成よりも、転送装置のみの構成のほうが把握しやすい。
例えば、図10の転送装置103が、ネットワーク405に存在する装置、すなわち、転送装置104及び105のARP解決を事前に完了している場合、転送装置103に転送装置104及び105宛ではないネットワーク405宛のトラフィックが大量に発生した場合でも、当該宛先はネットワーク405に存在しないことがすでに判明しているため、ARP解決をすることなく即座にパケットを廃棄することができる。これにより、トラフィック発生時に本来必要なARP解決処理を省略することができるため、転送装置103においてARP解決にかかる装置負担を軽減することが可能となる。
次に、図11を参照して、図10のネットワーク構成に転送装置106を追加したネットワーク構成におけるARP解決処理について説明する。転送装置106は、図7の装置A、転送装置103は図7の装置B、転送装置104は図7の装置C、転送装置105は図7の装置Dに相当する。
転送装置106において、ネットワーク405に接続されたインタフェースがアップした場合に、転送装置106は、ネットワーク405にGratuitous ARPを送信する。転送装置103は、送信されたGratuitous ARPに含まれる転送装置106のIPアドレス及びMACアドレスを学習して、ARPテーブルに転送装置106のエントリを作成する。転送装置104及び105は、Gratuitous ARPを送信された時点ではARPテーブルの更新は行わない。
転送装置103は、転送装置106に対してユニキャストでARP requestを送信する。ARP requestを受信した転送装置106は、転送装置103のIPアドレス及びMACアドレスを学習し、ARPテーブルに転送装置103のエントリを作成する。この手順により、転送装置106及び103は互いにARP解決が完了する。これは、通常のARP解決処理のため、転送装置106は転送装置103にARP replyを返信するが、ARP解決には影響しない。
次に、転送装置106は、ネットワーク405にブロードキャストpingを送信する。転送装置103は、すでに転送装置106のARP解決を完了しているため、通常のブロードキャストpingに対する返信動作を実行する。転送装置104がブロードキャストpingに返信する場合、転送装置106のARP解決が必要となる。転送装置104は、通常のARP解決と同様の手順で転送装置106のARP解決を実施する。転送装置104は、転送装置106のIPアドレスをターゲットとしたARPrequestをネットワーク405にブロードキャストで送信する。このARPパケットを受信した転送装置106は、転送装置104のIPアドレス及びMACアドレスを学習し、ARPテーブルに転送装置104のエントリを作成する。
そして、転送装置106は、転送装置104にユニキャストのARPreplyを返信する。転送装置104は、このARP replyからARPテーブルに転送装置106のエントリを作成し、転送装置106に対してecho replyを返信する。これにより、転送装置106と転送装置104とは互いにARP解決を完了する。なお、この時点で転送装置105は、ARPテーブルを更新しないため、転送装置106と転送装置105とはARP解決を完了していない。
最後に、転送装置106は、ネットワーク405において、ARP解決していないIPアドレスをターゲットとしたARP requestを送信する。転送装置103及び転送装置104については、ARP解決が完了しているため、ネットワーク405に含まれるその他のIPアドレスについて送信する。このようなIPアドレスをターゲットとしたARP解決は、通常のARP解決動作であり、この動作により転送装置106と転送装置105とは、互いにARP解決を完了する。上記方法により、転送装置106のARPテーブルには、転送装置103、104、105のエントリが作成される。また、転送装置103、104及び105のARPテーブルには、転送装置106のエントリが作成される。
(5)本実施の形態の効果
以上のように、本実施の形態によれば、転送装置100などは、プロトコルアドレスと物理デバイスアドレスとの対応関係を管理、保持する制御部と、受信したパケットのプロトコルアドレスに基づいて前記パケットの転送処理を行うパケット転送部と、を備え、制御部は、Gratuitous ARP受信時に、受信したGratuitous ARPに含まれるプロトコルアドレス及び物理アドレスのエントリが前記制御部により保持されていない場合に、前記Gratuitous ARPに含まれるプロトコルアドレス及び物理デバイスアドレスを前記制御部に保持させる。また、Gratuitous ARP受信時に、Gratuitous ARPに含まれるプロトコルアドレスに対して、ARP requestを送信する。また、転送装置100のインタフェースが動作したときに、前記インタフェースが所属するサブネットワークに対してブロードキャストpingを送信する。また、転送装置のインタフェースが動作したときに、前記インタフェースが所属するサブネットワークのうち、制御部において保持されていないプロトコルアドレスについて、該プロトコルアドレスと物理アドレスとの対応関係を解決する。このように、事前にサブネットワーク内の装置についてARP解決を完了させておくことにより、制御部により保持されていないプロトコルアドレスへの通信パケットについて、該プロトコルアドレスと物理デバイスアドレスとの対応関係を解決せずに前記通信パケットを廃棄することが可能となる。
以上のように、本実施の形態によれば、転送装置100などは、プロトコルアドレスと物理デバイスアドレスとの対応関係を管理、保持する制御部と、受信したパケットのプロトコルアドレスに基づいて前記パケットの転送処理を行うパケット転送部と、を備え、制御部は、Gratuitous ARP受信時に、受信したGratuitous ARPに含まれるプロトコルアドレス及び物理アドレスのエントリが前記制御部により保持されていない場合に、前記Gratuitous ARPに含まれるプロトコルアドレス及び物理デバイスアドレスを前記制御部に保持させる。また、Gratuitous ARP受信時に、Gratuitous ARPに含まれるプロトコルアドレスに対して、ARP requestを送信する。また、転送装置100のインタフェースが動作したときに、前記インタフェースが所属するサブネットワークに対してブロードキャストpingを送信する。また、転送装置のインタフェースが動作したときに、前記インタフェースが所属するサブネットワークのうち、制御部において保持されていないプロトコルアドレスについて、該プロトコルアドレスと物理アドレスとの対応関係を解決する。このように、事前にサブネットワーク内の装置についてARP解決を完了させておくことにより、制御部により保持されていないプロトコルアドレスへの通信パケットについて、該プロトコルアドレスと物理デバイスアドレスとの対応関係を解決せずに前記通信パケットを廃棄することが可能となる。
(6)他の実施の形態
例えば、本明細書の転送装置100などの処理における各ステップは、必ずしもフローチャートとして記載された順序に沿って時系列に処理する必要はない。すなわち、転送装置100などの処理における各ステップは、異なる処理であっても並列的に実行されてもよい。なお、転送装置100などは、本発明の検証装置としての機能を有する。
例えば、本明細書の転送装置100などの処理における各ステップは、必ずしもフローチャートとして記載された順序に沿って時系列に処理する必要はない。すなわち、転送装置100などの処理における各ステップは、異なる処理であっても並列的に実行されてもよい。なお、転送装置100などは、本発明の検証装置としての機能を有する。
また、転送装置100などに内蔵されるCPU、ROMおよびRAMなどのハードウェアを、上述した転送装置100などの各構成と同等の機能を発揮させるためのコンピュータプログラムも作成可能である。また、該コンピュータプログラムを記憶させた記憶媒体も提供される。
また、上述の実施形態においては、転送装置100などに格納されている各種プログラムに基づいて、転送装置100などのCPUが本発明の各種機能を実現しているが、かかる例に限定されない。例えば、CPUを転送装置100などとは別体の他の装置に設けて、当該CPUと協同して各種機能を実現するようにしてもよい。また、転送装置100などに格納されている各種プログラムを転送装置100とは別体の他の装置に設けて、当該プログラムがCPUに呼び出されることにより各種機能を実現するようにしてもよい。
100、101、102、103、104、105、106 転送装置
200 スイッチ
300、301、302 端末
400、401、402、403、404、405 ネットワーク
200 スイッチ
300、301、302 端末
400、401、402、403、404、405 ネットワーク
Claims (7)
- パケットを送受信する転送装置であって、
プロトコルアドレスと物理デバイスアドレスとの対応関係を管理、保持する制御部と、受信したパケットのプロトコルアドレスに基づいて前記パケットの転送処理を行うパケット転送部と、
を備え、
前記制御部は、
Gratuitous ARP受信時に、受信したGratuitous ARPに含まれるプロトコルアドレス及び物理アドレスのエントリが前記制御部により保持されていない場合に、前記Gratuitous ARPに含まれるプロトコルアドレス及び物理デバイスアドレスを前記制御部に保持させる、
ことを特徴とする、転送装置。 - 前記制御部は、
前記Gratuitous ARP受信時に、
前記Gratuitous ARPに含まれるプロトコルアドレスに対して、ARP requestを送信する
ことを特徴とする、請求項1に記載の転送装置。 - 前記制御部は、
前記転送装置のインタフェースが動作したときに、前記インタフェースが所属するサブネットワークに対してブロードキャストpingを送信する
ことを特徴とする、請求項1に記載の転送装置。 - 前記制御部は、
前記転送装置のインタフェースが動作したときに、前記インタフェースが所属するサブネットワークのうち、前記制御部において保持されていないプロトコルアドレスについて、該プロトコルアドレスと物理アドレスとの対応関係を解決する
ことを特徴とする、請求項1に記載の転送装置。 - 前記制御部は、
サブネットワーク内に存在するすべての装置の前記対応関係を解決している場合に、
前記制御部により保持されていないプロトコルアドレスへの通信パケットについて、該プロトコルアドレスと物理デバイスアドレスとの対応関係を解決せずに前記通信パケットを廃棄する
ことを特徴とする、請求項1に記載の転送装置。 - 前記制御部は、
ブロードキャストパケットを受信した場合に、
返信するパケットの送信タイミングを所定の規則にしたがって変更する
ことを特徴とする、請求項1に記載の転送装置。 - プロトコルアドレスと物理デバイスアドレスとの対応関係を管理、保持する制御部と、受信したパケットのプロトコルアドレスに基づいて前記パケットの転送処理を行うパケット転送部と、を備える転送装置における転送方法であって、
前記制御部が、Gratuitous ARP受信時に、受信したGratuitous ARPに含まれるプロトコルアドレス及び物理アドレスのエントリが前記制御部により保持されているかを判定する第1のステップと、
前記制御部が、前記エントリが前記制御部により保持されていない場合に、前記Gratuitous ARPに含まれるプロトコルアドレス及び物理デバイスアドレスを前記制御部に保持させる第2のステップと、
を含むことを特徴とする、転送方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012137138A JP2014003449A (ja) | 2012-06-18 | 2012-06-18 | 転送装置及び転送方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012137138A JP2014003449A (ja) | 2012-06-18 | 2012-06-18 | 転送装置及び転送方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2014003449A true JP2014003449A (ja) | 2014-01-09 |
Family
ID=50036236
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012137138A Pending JP2014003449A (ja) | 2012-06-18 | 2012-06-18 | 転送装置及び転送方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2014003449A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016163200A (ja) * | 2015-03-03 | 2016-09-05 | 三菱電機株式会社 | ネットワークシステムにおけるスイッチングハブ |
JP2020065299A (ja) * | 2015-03-23 | 2020-04-23 | 東日本旅客鉄道株式会社 | 通信システム |
-
2012
- 2012-06-18 JP JP2012137138A patent/JP2014003449A/ja active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016163200A (ja) * | 2015-03-03 | 2016-09-05 | 三菱電機株式会社 | ネットワークシステムにおけるスイッチングハブ |
JP2020065299A (ja) * | 2015-03-23 | 2020-04-23 | 東日本旅客鉄道株式会社 | 通信システム |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6369698B2 (ja) | トラフィック切り替え方法、デバイス、およびシステム | |
JP4730746B2 (ja) | モバイル・インターネット・プロトコルを使用してルーティング・スタックをバイパスするための方法、システム、およびコンピュータ・プログラム | |
US8934490B2 (en) | Accelerated MAC address resolution for IPv6 traffic with IS-IS protocol | |
US9276898B2 (en) | Method and device for link fault detecting and recovering based on ARP interaction | |
US9680948B2 (en) | System and method for device failure notification | |
US8942234B2 (en) | DAD-NS triggered address resolution for DOS attack protection | |
CN105721321A (zh) | 一种等价多路径的出接口更新方法及装置 | |
EP2577921B1 (en) | Method, system and router for changing application in bgp session | |
US20230116548A1 (en) | Route Processing Method and Related Device | |
US20150271086A1 (en) | Reducing Network Traffic By Intercepting Address Resolution Messages | |
JP6558492B2 (ja) | ネットワークアドレス変換装置、設定要求装置、通信システム、通信方法およびプログラム | |
JP6378121B2 (ja) | ゲートウェイ装置及び通信方法 | |
JP2014003449A (ja) | 転送装置及び転送方法 | |
CN109862137B (zh) | 报文传输方法及装置 | |
JP2020010315A (ja) | ネットワークトポロジー取得方法及び装置 | |
IL267170A (en) | A method and system for routing data packets using virtual switching in a one-way communication medium | |
WO2013183231A1 (ja) | 通信システム、通信制御方法、通信中継システム、及び、通信中継制御方法 | |
CN116963207A (zh) | 动态主机配置协议的备用访问网关功能信令 | |
JP2018061148A (ja) | 通信装置、中継装置、通信システム、及び通信方法 | |
JP6014068B2 (ja) | 中継装置及び中継方法、並びにコンピュータ・プログラム | |
CN108924028B (zh) | 一种非已知单播报文在隧道间的切换方法及装置 | |
US11172017B2 (en) | First front-end node, client node, load balancer node, and methods performed thereby, for supporting data communication | |
CN105915455B (zh) | 位置标识分离协议多归属实现方法及装置 | |
EP2197170A1 (en) | VOIP registration backup on VRRP routers | |
WO2022218194A1 (zh) | 服务路由方法及设备 |