JP2017005446A - 中継装置 - Google Patents
中継装置 Download PDFInfo
- Publication number
- JP2017005446A JP2017005446A JP2015116432A JP2015116432A JP2017005446A JP 2017005446 A JP2017005446 A JP 2017005446A JP 2015116432 A JP2015116432 A JP 2015116432A JP 2015116432 A JP2015116432 A JP 2015116432A JP 2017005446 A JP2017005446 A JP 2017005446A
- Authority
- JP
- Japan
- Prior art keywords
- port
- frame
- terminal
- switch
- source 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
Links
Images
Landscapes
- Small-Scale Networks (AREA)
Abstract
【課題】端末が接続された中継装置及びポートの特定を容易にする。【解決手段】中継装置は、少なくともフレームを受信したポートの識別子とフレームの送信元アドレスとを関連づけて記憶するテーブルを記憶する記憶部と、送信元アドレスを宛先とするフレームを前記テーブルに基づき転送する転送部と、所定期間フレームが受信されない送信元アドレスをテーブルから削除するエージング部とを含む。エージング部は、所定期間フレームが受信されない送信元アドレスに関連づけられたポートの識別子で特定されるポートの状態が端末との接続を示すことを条件の一つとして当該送信元アドレスをテーブルから削除するのを回避する。【選択図】図4
Description
本発明は、中継装置に関する。
レイヤ2ネットワークを形成するレイヤ2スイッチ(以下、単に「スイッチ」という)に新規に接続された端末に関するスイッチの設定を遠隔から施す場合がある。例えば、新規に接続される端末が接続されたポートに対する仮想LAN(Virtual Local Area Network(VLAN))の設定を端末に適合した設定に改める場合である。
スイッチは、FDB(Forwarding Database)テーブルと、MAC(Media Access Control)アドレス学習機能を有している。MAC学習機能によって、以下の様な動作が行われ
る。スイッチは、MACフレームを受信した場合には、MACフレームを受信したポートの番号(ポート番号)と、MACフレームに含まれた送信元MACアドレスとを関連づけてFDBテーブルに記憶する。
る。スイッチは、MACフレームを受信した場合には、MACフレームを受信したポートの番号(ポート番号)と、MACフレームに含まれた送信元MACアドレスとを関連づけてFDBテーブルに記憶する。
その後、スイッチは、送信元MACアドレスが宛先MACアドレスに設定されたMACフレームが受信された場合に、FDBテーブルを参照し、宛先MACアドレスに対応するポート番号のポートからMACフレームを送出する。このように、MAC学習機能によって、自動的にMACフレームの転送用情報がFDBテーブルに登録され、逆方向に転送されるMACフレームを登録された転送用情報を用いて転送する。
スイッチの各ポートにVLAN(Virtual Local Area Network)の設定が施されている場合がある。端末が接続されたポートに端末に応じたVLANの設定がなされていない場合には、当該端末は、同一のVLANに属する他の端末と通信を行うことができない。この場合、端末が接続されたポートに、端末のInternet Protocol(IP)アドレスに対応
するVLANを設定することで、端末は、当該VLANに属する他の端末と通信可能となる。
するVLANを設定することで、端末は、当該VLANに属する他の端末と通信可能となる。
端末に係るVLANの設定を遠隔から変更する場合には、端末が接続されたスイッチ及びそのポートを特定することで、端末の位置を特定する。端末のMACアドレスが予め分かっていれば、上述したFDBテーブルを遠隔から参照することで、端末が接続されたスイッチ及びポートを知ることができる。以下、MACフレームを単に「フレーム」或いは「パケット」と表記する。
設定変更を行う保守者は、レイヤ2ネットワークを形成する複数のスイッチのFDBテーブルを遠隔から監視し、対象のMACアドレスが登録されたFDBテーブルを見つけ、MACアドレスに対応するポート番号を確認する。これによって、端末が接続されたスイッチ及びポートを知ることができる。
ところが、スイッチでは、長時間使用されないエントリでFDBテーブルの記憶領域が無駄に使用されることを回避するために、FDBテーブルに対するエージング処理が行われる。エージング処理によって、FDBテーブルに登録されるエントリは、所定時間、同一の送信元からのフレームが受信されない場合に削除される。
このため、FDBテーブルに対象の端末のエントリが登録されても、保守者が当該エントリを発見する前にエージング処理でエントリが削除されてしまうことが起こり得る。この場合、保守者は、当該端末からフレームが送出され、再びFDBテーブルに登録されるのを待つしかない。但し、端末がいつフレームを送信するかを保守者は知ることができない。このように、VLANの設定変更に係る作業が繁雑となることがあった。
本発明の一態様は、端末が接続された中継装置及びポートの特定を容易にする技術を提供することを目的とする。
本発明の一態様は、少なくともフレームを受信したポートの識別子と前記フレームの送信元アドレスとを関連づけて記憶するテーブルを記憶する記憶部と、前記送信元アドレスを宛先とするフレームを前記テーブルに基づき転送する転送部と、所定期間フレームが受信されない送信元アドレスを前記テーブルから削除するエージング部と、を含み、前記エージング部は、所定期間フレームが受信されない送信元アドレスに関連づけられたポートの識別子で特定されるポートの状態が端末との接続を示すことを条件の一つとして前記所定時間フレームが受信されない送信元アドレスを前記テーブルから削除するのを回避する中継装置である。
本発明の一態様によれば、端末が接続された中継装置及びポートの特定を容易にすることができる。
以下、図面を参照して実施形態について説明する。実施形態の構成は例示であり、実施形態の構成に限定されない。
〔実施形態1〕
<FDBテーブルの説明>
最初に、実施形態において使用されるFDBテーブルについて説明する。図1Aは、レイヤ2ネットワークの一例を示し、図1Bは、図1Aに示したスイッチが有するFDBテーブルの説明図である。FDBテーブルは、「少なくともフレームを受信したポートの識別子とフレームの送信元アドレスとを関連づけて記憶するテーブル」の一例である。
<FDBテーブルの説明>
最初に、実施形態において使用されるFDBテーブルについて説明する。図1Aは、レイヤ2ネットワークの一例を示し、図1Bは、図1Aに示したスイッチが有するFDBテーブルの説明図である。FDBテーブルは、「少なくともフレームを受信したポートの識別子とフレームの送信元アドレスとを関連づけて記憶するテーブル」の一例である。
図1Aにおいて、スイッチa(SW_a)と、スイッチaに接続されたスイッチb(SW_b)と、スイッチbに接続された端末とが図示されている。端末は、MACアドレス“aaaa.bbbb.cccc”を有しており、スイッチbのポート番号“1”のポートに接続されている。また、スイッチbは、スイッチaをポート番号“8”のポートで収容し、スイッチaは、スイッチbをポート番号“7”のポートで収容している。端末を収容するポートは、アクセスポートと呼ばれ、スイッチを収容するポートは、トランクポートと呼ばれる。どの番号のポートをアクセスポートとし、どのポートをトランクポートとするかは適宜設定可能である。スイッチaは、他のスイッチ(図示せず)を収容するためのポート8を有している。スイッチは、「中継装置」の一例である。ポート番号は、「ポートの識別子」の一例である。
図1Bに示すように、FDBテーブルは、例えば、スイッチが有するポート毎に用意されたエントリを有する。図1Bに示す例では、スイッチa及びスイッチbのそれぞれは、8つのポートを有し、“1”〜“8”のポート番号が設定されている。“VLAN”は、VLANの識別子(VLAN−ID)を示す。以下、VLANの識別子を“VID”と表記する。VIDは、「仮想LAN識別子」の一例である。
各ポートに対するVIDは、初期値として“1”(デフォルトVLANと呼ばれる)が設定されている。デフォルトVLANは、例えば、スイッチ内部での通信に使用されるVLANであり、スイッチ外の通信に使用できないVLANである。このため、端末が接続されるポートに対するVLANの設定は、端末のIPアドレスに対応するVLANに設定変更される。各エントリに登録されるVIDは、ポートに対するVLANの設定変更に応じて変動する。
図1Bの右側のFDBテーブルに示すように、スイッチaは、端末からフレームを受信すると、フレーム中の送信元MACアドレスを、フレームを受信したポート(ポート番号“1”)のエントリに登録する。すなわち、ポート番号“1”のエントリに、MACアドレス“aaaa.bbbb.cccc”が登録される。
スイッチbからスイッチaにフレームが転送されると、図1Bの左側のFDBテーブルに示すように、フレーム中の送信元MACアドレス“aaaa.bbbb.cccc”が、フレームを受信したポート(ポート番号“7”)に対応するエントリに登録される。
その後、端末のMACアドレス“aaaa.bbbb.cccc”を宛先MACアドレスとするフレームがスイッチaで受信されると、スイッチaはFDBテーブルを参照し、ポート番号“7
”のポートからフレームを送出する。スイッチbは、FDBテーブルを参照し、ポート番号“1”のポートからフレームを送出する。これによって、端末は、自身宛のフレームを受信することができる。
”のポートからフレームを送出する。スイッチbは、FDBテーブルを参照し、ポート番号“1”のポートからフレームを送出する。これによって、端末は、自身宛のフレームを受信することができる。
<エージング処理の説明>
各スイッチでは、エージング処理によって、不要なエントリをFDBテーブルから削除する。図2Aは、エージング処理の説明図であり、図2Bは、エージング処理に用いられるFDBテーブルのデータ構造例を示す図である。図3は、エージング処理の例を示すフローチャートである。
各スイッチでは、エージング処理によって、不要なエントリをFDBテーブルから削除する。図2Aは、エージング処理の説明図であり、図2Bは、エージング処理に用いられるFDBテーブルのデータ構造例を示す図である。図3は、エージング処理の例を示すフローチャートである。
図2Bに示すように、FDBテーブルの各エントリには、図1Bに示したポート番号,MACアドレス,VIDに加えて、「フラグ」が格納される。フラグは、当該エントリを削除すべきか否かの判定に使用される。フレーム(パケット)が受信されると、上述したように、ポート番号に関連づけて,MACアドレスが登録されるとともに、フラグ“ON”がセットされる。フラグは、“ON”以外のときは“NULL”となるようにしても良く、“ON”の値と“OFF”の値とが設定されるようにしても良い。
エージング処理は、所定の周期(エージングタイマ満了)毎に実行される。MACブリッジの規格であるIEEE802.1dでは、エージングタイマ値のデフォルト値として300秒
が推奨されている。但し、エージングタイマの値(エージング周期の長さ)は適宜設定可能である。
が推奨されている。但し、エージングタイマの値(エージング周期の長さ)は適宜設定可能である。
図3に示す処理は、エージングタイマが満了することを以て開始される。01では、スイッチの全てのポートに対するエージング処理が完了したか否かが判定される。全てのポートに対するエージング処理が完了していれば(01,Yes)、エージング処理が終了する。全てのポートに対するエージング処理が完了していない場合には(02,No)、処理が02に進む。
02では、或るエントリについて、フラグが“ON”か否かが判定される。このとき、フラグが“ON”であれば(02,Yes)、フラグがリセットされて処理が01に戻る。これに対し、フラグが“ON”でなければ(02,No)、処理が03に進む。
03では、当該ポートのエントリからMACアドレスが削除される。その後、処理が01に戻る。以上のような処理によれば、図2Aに示す様に、エージング処理の周期の間に端末からのフレームが受信されている間はフラグが“ON”となる。このため、エントリ(MACアドレス)は削除されない(図2A,[2],[4]参照)。これに対し、周期の間にフレームが受信されなければ、FDBテーブルから該当のエントリが削除される。
FDBテーブルのエントリは、エントリ中のMACアドレスを送信元MACアドレスとするフレームが周期内に受信されなければFDBテーブルから削除される。このため、課題で説明したような、FDBテーブルの参照によって当該端末の接続先を発見する手法では、フレームの継続的な送信が見込めない端末を発見することが困難となることがあった。
この結果、当該端末の設定変更(例えばVIDの設定変更)の作業に長時間を要したり、当該端末の発見のために複数人が監視を行ったりといった、非効率な手法を採らざるを得ない場合があった。実施形態では、対象のエントリ(MACアドレス)がエージング処理によってFDBテーブルから削除されることが回避されるようにして、端末の設定変更の作業が円滑に実施されるようにする。
<実施形態1に係る処理>
図4は、実施形態に係るスイッチにて実行されるエージング処理の一例を示すフローチャートである。図4における11及び12の処理は、図3の01及び02の処理と同じであるので説明を省略する。
図4は、実施形態に係るスイッチにて実行されるエージング処理の一例を示すフローチャートである。図4における11及び12の処理は、図3の01及び02の処理と同じであるので説明を省略する。
12にてNoの判定(フラグが“ON”でない(未設定)、又はフラグが“OFF”である)と判定された場合には、13にて、エントリ中のMACアドレスが、対象MACアドレスか否かが判定される。
対象MACアドレスとは、例えば、スイッチに保持(記憶)されたアドレスリスト(対象MACアドレスリスト)に登録されたMACアドレスである。アドレスリストには、例えば、接続位置の探索対象の端末のMACアドレスが登録される。MACアドレスが対象MACアドレスでなければ(13,No)、処理が19に進む。MACアドレスが対象MACアドレスであれば(13,Yes)、処理が14に進む。対象MACアドレスは、「所定のアドレス」の一例である。
19の処理は、図3に示した03の処理と同様の処理である。すなわち、エントリがFDBテーブルから削除される。MACアドレスが例外的にエージング(削除)から除外される対象MACアドレスでないからである。19の処理が終了すると、処理が11に戻る。
14では、エントリ中のポート番号で特定される物理ポートにおける端末との接続状態が確認される。15では、接続状態が「接続」か否かが判定される。接続状態「接続」とは、接続先の装置の電源がオンであり、当該装置との接続がスイッチにて検出されている状態を示す。例えば、接続は、物理ポートに物理ケーブルが接続されているか否かによって変動する電位(電圧値)や電流値を検出することを以て接続か非接続かを判定することができる。但し、端末の接続検出方法は、既存のあらゆる手法を適用することができる。
15の判定は、図5に示すようなポートの接続状態の管理テーブル(ポート状態テーブル)の参照によって行われる。図5に示す例では、管理テーブルは、各ポートについての接続状態として、上述した「接続」と、「非接続」と、「未登録」との各状態を管理する。「未登録」は、物理ポートが使用可能な状態となっていないことを示す。「非接続」は、物理ポートが使用可能であるが、端末や他のスイッチと接続されていないことを示す。接続状態が「接続」であれば(15,Yes)、処理が17に進む。接続状態が「接続」でなければ(15,No)、処理が16に進む。
16の処理は、図3に示した03の処理と同様である。すなわち、エントリにはフラグが設定されておらず、対象MACアドレスではあるが、且つ接続状態が特定の状態「接続」ではない。このため、端末が接続されていることを保証できない(他のポートや他のスイッチに接続先が変更されている可能性がある)。換言すれば、端末のフレーム送信により当該端末のエントリがFDBテーブルに登録される可能性が低い。このため、当該エントリはFDBテーブルから削除される。その後、処理が11に戻る。
17では、エントリ中のポート番号のポートがトランクポートか否かが判定される。ポートがトランクポートであれば、接続先の装置は端末以外の装置(例えば、他のスイッチ)であるので、このような場合を除外するためである。
17において、ポートがトランクポートであれば(17,Yes)、処理が11に戻る。これに対し、ポートがトランクポートでない(アクセスポートである)場合には(17,No)、処理が18に進む。17の処理は、例えば、各ポートがトランクポートかアク
セスポートかを示すコンフィグ情報の参照によって判定することができる。
セスポートかを示すコンフィグ情報の参照によって判定することができる。
18では、GARP(Gratuitous Address Resolution Protocol)送信(GARPによるARP Requestの送信)を行う。その後、処理が11に戻る。
GARPは、ARPパケットの一種である。通常のARPは、宛先IPアドレスに対応する宛先MACアドレスを求める手続である。これに対し、GARPでは、自身のIPアドレスに対応する自身のMACアドレスを求める。
図6は、GARPによるARP Request(GARPパケット)のフォーマットを示す図で
ある。図6において、HLENは、ハードウェア長(MACアドレスの長さ)を示す。MACアドレス長は6オクテットで固定である。PLENは、プロトコル長(IPアドレスの長さ)であり、4オクテットで固定である。OPERATIONは、ARPにおける動作を示し、値“1”がARP要求(ARP Request)であり、値“2”がARP応答(ARP Reply)である。但し、ARP応答は扱われない。
ある。図6において、HLENは、ハードウェア長(MACアドレスの長さ)を示す。MACアドレス長は6オクテットで固定である。PLENは、プロトコル長(IPアドレスの長さ)であり、4オクテットで固定である。OPERATIONは、ARPにおける動作を示し、値“1”がARP要求(ARP Request)であり、値“2”がARP応答(ARP Reply)である。但し、ARP応答は扱われない。
送信元MACアドレスとして、端末のMACアドレス(対象MACアドレス)が設定される。送信元IPアドレスとして、スイッチ自身のIPアドレスが設定される。宛先MACアドレスは、アドレス値“0000.0000.0000”が固定で使用される。宛先IPアドレスとして、送信元IPアドレスと同じアドレス値が設定される。
上記のようなGARPパケットは、ブロードキャストにより送信される。ブロードキャストパケットは、同一のVLANに属するスイッチの各ポート(GARPパケットの入力ポートを除く)から送出される。よって、同一のVLANに属する各スイッチに対象MACアドレスが送信元MACアドレスであるGARPパケットが受信される。これによって、GARPパケットを受信した各スイッチのFDBテーブルに対象MACアドレスのエントリが登録される。従って、端末が接続されたスイッチ以外のスイッチにて、対象MACアドレスのエントリを維持、或いはエントリ削除を回避することができる。
GARPを送信する理由は、次の通りである。すなわち、端末が直接に接続されたスイッチを発見するとき、複数のスイッチのFDBテーブルに当該端末に係るエントリが登録されていれば、スイッチのポートを辿って最終的に端末を収容するスイッチのポートを発見することが可能となる。
端末がユニキャスト又はブロードキャストでフレーム(パケット)をいつ送信するかは不明であるので、端末によるユニキャストやブロードキャストを待つことは、端末が接続されたスイッチ及びポートの探索において非効率である。ここで、端末が特別なブロードキャストフレーム又はブロードキャストパケットを送信するようにすることも考えられる。しかし、特別なブロードキャストフレームやブロードキャストパケットに含まれる情報の内容によっては、ブロードキャストフレームやブロードキャストパケットの受信側で誤動作が発生する可能性がある。
これに対し、GARPは、ARPとともに各スイッチが備える標準的な仕様であるので、GARPパケットの受信側は、GARP要求で指定されているIPアドレスが自身のIPアドレスでなければ、GARPに応答しないので、誤動作を起こす可能性は特別なブロードキャストパケットを用いる場合よりも低い。
従って、GARPを端末の代わりにスイッチが送信することで、ブロードキャストドメイン内の各スイッチが端末のエントリをFDBテーブルに格納するようにしている。18の処理は、エージング周期(例えば、300秒)と同じ時間長で実行される。このため、
対象MACアドレスが送信元MACアドレスに設定されたフレーム(GARPパケット)が定期的にブロードキャストされる状態となる。
対象MACアドレスが送信元MACアドレスに設定されたフレーム(GARPパケット)が定期的にブロードキャストされる状態となる。
このようにして、ブロードキャストドメインに属する複数のスイッチが端末のエントリをFDBテーブルに保持し続け、端末の発見が容易になるようにしている。なお、GARPの送信周期は、適宜設定可能である。例えば、GARPの送信周期は、エージング周期以下であっても良い。なお、GARPの送信は、例えば、対象のエントリがFDBテーブルから削除されたことを以て停止される。例えば、端末に対する設定変更後に、アドレスリストから対象MACアドレスが削除されれば、通常のエージング処理によって、端末のエントリがFDBテーブルから削除される。
図4に示した処理によれば、対象MACアドレス(探索対象の端末のMACアドレス)を含むエントリがFDBテーブルのエージング処理で削除されなくなるので、時間に余裕を持って当該スイッチのFDBテーブルから端末を発見することができる。また、対象MACアドレス以外のMACアドレスについては、通常のエージング処理が行われるので、無用のエントリをFDBテーブルから削除することができる。
また、接続状態が「接続」の対象MACアドレスを含むエントリがエージング対象から除外されるので、端末の存在についての確度が高いエントリをエージング対象から除外することができる。
図7は、図4に示した処理の変形例を示す。図7の処理は、図4の13の処理が13Aの処理に置換されている点を除き、図4の処理と同じである。このため、13A以外の処理については説明を省略する。
図7の13Aの処理では、エントリ中のVIDがデフォルトVLANのVIDか否かが判定される。すなわち、エントリに対応するポートにおけるVLANの設定がデフォルトVLANか否かが判定される。13Aの判定に用いられるデフォルトVLANの値を示す情報は、予めスイッチに備えられている。なお、FDBテーブル以外の記憶領域に、各ポートと各ポートに対するVLAN設定を示す情報が記憶され、当該情報を参照して13Aの処理が実行されるようにしても良い。デフォルトVLANは、「所定の仮想LAN識別子」の一例である。
図4に示す13の処理にあたっては、位置を探索する端末毎にそのMACアドレスをアドレスリストに登録することを要する。これに対し、図7に示す13Aの処理では、ポートに対応するVIDが設定変更を要するVID(例えば、デフォルトVLANのVID)か否かが判定される。よって、端末が有するMACアドレスの値に関わらず、対象の端末のエントリが通常のエージング処理によってFDBテーブルから削除されないようにすることができる。従って、アドレスリストへのMACアドレスの登録の手間が省ける。なお、上記例では、13AにおいてデフォルトVLANか否かが判定されているが、13Aの判定対象のVLAN(VID)は、デフォルトVLAN以外のVLANである場合もあり得る。
〔実施形態2〕
次に、実施形態2について説明する。実施形態2は、実施形態1と同様の構成を有するので、実施形態1と同様の構成については説明を省略し、相違点について説明する。図8Aは、実施形態2に係るネットワークシステムの構成例を示す。図8Bは、図8Aに示した各スイッチにおけるFDBテーブルの登録内容を示す。
次に、実施形態2について説明する。実施形態2は、実施形態1と同様の構成を有するので、実施形態1と同様の構成については説明を省略し、相違点について説明する。図8Aは、実施形態2に係るネットワークシステムの構成例を示す。図8Bは、図8Aに示した各スイッチにおけるFDBテーブルの登録内容を示す。
図8Aにおいて、ネットワークは、スイッチx(SW_x)と、スイッチy(SW_y
)と、スイッチz(SW_z)とを含んでいる。スイッチzは、アクセスポートであるポート番号“1”のポート(ポート1)で端末#1と接続されている。また、スイッチzは、アクセスポートであるポート番号“6”のポート(ポート6)で端末#2と接続されている。
)と、スイッチz(SW_z)とを含んでいる。スイッチzは、アクセスポートであるポート番号“1”のポート(ポート1)で端末#1と接続されている。また、スイッチzは、アクセスポートであるポート番号“6”のポート(ポート6)で端末#2と接続されている。
スイッチzは、トランクポートであるポート番号“8”のポート(ポート8)でスイッチxと接続されており、スイッチyはトランクポートであるポート番号“5”のポート(ポート5)でスイッチzと接続されている。スイッチxは、トランクポートであるポート番号“3”のポート(ポート3)でスイッチyと接続されており、スイッチyはトランクポートであるポート番号“8”のポート(ポート8)でスイッチxと接続されている。
図8B中の左側のFDBテーブルは、スイッチxのFDBテーブルを示し、図8B中の真ん中のFDBテーブルは、スイッチyのFDBテーブルを示し、図8B中の右側のFDBテーブルは、スイッチzのFDBテーブルを示す。
スイッチzのFDBテーブルでは、ポート1のエントリにおいて、端末#1のMACアドレスと、端末#1のIPアドレスに対応するVID=10が登録されている。また、ポート6のエントリにおいて、端末#2のMACアドレスと、端末#2のIPアドレスに対応するVID=10が登録されている。さらに、ポート8のエントリでは、デフォルトVLANのVID=1に加えて、端末#1及び端末#2に対応するVID=10が登録されている。
図8Aに示すスイッチx,y,zの各FDBテーブルにおけるVIDの初期値は1(デフォルトVLAN)である。但し、スイッチx,y,zのネットワークにVLANとしてVID=10のVLANが追加されている。VLANの追加に当たり、スイッチx,y,zの各FDBテーブルのトランクポートには、スイッチ間でVID=10の通信ができるように、VID=10が設定される。但し、トランクポートについては、複数のVIDが多重(共存)できるので、図8Bに示すように、VID=1とVID=10との双方が関連するポートのエントリに登録されている。これに対し、アクセスポートには、1つのVIDしか登録できないため、スイッチzのアクセスポートには、端末#1及び端末#2が属するVLANのVID=10が登録されている。
スイッチxのFDBテーブルでは、ポート3及びポート5の各エントリにおいて、デフォルトVLANのVID=1と、端末#1及び端末#2に対応するVID=10が登録されている。スイッチyのFDBテーブルでは、ポート8のエントリにおいて、デフォルトVLANのVID=1と、端末#1及び端末#2に対応するVID=10が登録されている。上記を除く各エントリには、VID=1(デフォルトVLAN)が設定されている。
図9Aは、端末#aが新規にスイッチyに接続された状態を示し、図9Bは、端末#aのフレーム送信による各FDBテーブルの更新内容を示す。図9Aに示すように、スイッチyのポート4に端末#aが新規に接続されたと仮定する。端末#aのIPアドレスに対応するVIDはVID=10であると仮定する。
端末#aがスイッチyへフレーム(例えば、ARP要求)を送信することで、図9Bに示すように、スイッチyのFDBテーブルのポート4のエントリには、端末#aのMACアドレスが登録される。
また、ARP要求は、ブロードキャストパケットであるので、MACアドレスが登録されたエントリに設定されたVIDと同じVIDを有するポートから転送される。図9Bの例では、VID=1の各ポート(フレームの受信ポート(ポート4)を除く)から、AR
P要求が転送される。よって、スイッチyのポート3からARP要求がスイッチxに転送される。
P要求が転送される。よって、スイッチyのポート3からARP要求がスイッチxに転送される。
スイッチxがARP要求を受信することで、図9Bに示すように、スイッチxのFDBテーブルのポート3のエントリには、端末#aのMACアドレスが登録される。また、ポート3のエントリに登録されたVID=1,10に基づいて、VIDが1又は10のポートからARP要求が転送される。したがって、ARP要求は、ポート5からスイッチzに転送される。スイッチzでは、ARP要求をポート8で受信し、図9Bに示すように、FDBテーブルのポート8のエントリには、端末#aのMACアドレスが登録される。
しかしながら、スイッチyのFDBテーブルにおいて、端末#aのエントリに設定されたVIDはVID=1であるため、端末#aは、VID=10の端末である端末#1及び端末#2と通信することができない。そこで、保守者は、スイッチx,y,zのFDBテーブル(図9Bの内容)を参照して、スイッチyのポート4のエントリにおけるVIDの設定をVID=1からVID=10に変更する(図10参照)。これによって、端末#aは、端末#1及び端末#2と通信可能となる。
スイッチyのポート4のエントリの変更に当たり、実施形態1で説明した図4又は図7の処理が実行されることで、図9Bに示した各FDBテーブルの登録内容(端末#a)のエントリを維持することができる。よって、保守者が端末#aが接続されたスイッチy及びポート4を特定することが容易となる。
<スイッチの構成例>
図11は、スイッチx〜zのそれぞれとして動作可能なスイッチ(スイッチ10)の構成例を示す図である。図11において、スイッチ10は、Central Processing Unit(C
PU)11と、メモリ12と、Content Addressable Memory(CAM)13と、Field Programmable Gate Array(FPGA)と、複数の物理インタフェース(物理IF)15と
を含む。
図11は、スイッチx〜zのそれぞれとして動作可能なスイッチ(スイッチ10)の構成例を示す図である。図11において、スイッチ10は、Central Processing Unit(C
PU)11と、メモリ12と、Content Addressable Memory(CAM)13と、Field Programmable Gate Array(FPGA)と、複数の物理インタフェース(物理IF)15と
を含む。
メモリ12は、不揮発性記憶媒体と、揮発性記憶媒体とを含む。揮発性記憶媒体は、例えばRandom Access Memory(RAM)である。RAMは、CPU11の作業領域,データの記憶領域,通信に係るデータのバッファ領域として使用される。
不揮発性記憶媒体は、例えばRead Only Memory(ROM),ハードディスクドライブ(HDD),Solid State Drive(SSD),フラッシュメモリ,Electrically Erasable Programmable Read-Only Memory(EEPROM)などである。不揮発性記憶媒体は、ディスク記憶媒体やUSBメモリのような可搬性を有する記憶媒体を含み得る。
不揮発性記憶媒体は、CPU11で実行されるプログラムや、プログラムの実行に際して使用されるデータを記憶する。メモリ12には、図4の処理で使用されるMACアドレスリストや、図7の処理で使用されるデフォルトVLANの情報が記憶される。 FDBテーブル131は、図8B,図9B,図10に示したようなデータ構造を有する。
CAM13は、FDBテーブル131を記憶する。各物理IF15は、SWや端末との接続のためのLANケーブルが接続されるコネクタを有し、物理ポートを形成する。メモリ12及びCAM13のそれぞれは、「記憶装置」,「記憶部」,「コンピュータ読み取り可能な記憶媒体」の一例である。
FPGA14は、LANインタフェース制御部141として動作する。LANインタフェース制御部141は、レイヤ1(物理層:PHY)及びレイヤ2(データリンク層、例
えばMAC層など)に係る処理を司る。
えばMAC層など)に係る処理を司る。
CPU11は、メモリ12に記憶されたプログラムを実行することによって、様々な処理を行う。例えば、CPU11は、プログラムの実行によって、フレーム受信処理部112及びエージング部111(FDBテーブル内のMACエントリのチェック処理部)として動作する。さらに、CPU11は、遠隔からのアクセスによるVIDの設定指示に応じて、FDBテーブル131における所定のポートに設定されたVIDの値を書き換える(変更する)処理を行う。CPU11は、「プロセッサ」,「制御装置」,「制御部」,「転送部」,「エージング部」の一例である。
なお、CPU11で行われる処理の少なくとも一部は、複数のCPUや、他のプロセッサ(例えばDigital Signal Processor(DSP))によって実行されても良い。或いは、CPU11で行われる処理の少なくとも一部は、FPGA14や、FPGA以外のプログラマブルロジックデバイス(PLD)、或いは、集積回路(例えば、IC,LSI,Application Specific Integrated Circuit(ASIC)など)を用いて実行されるようにす
ることができる。
ることができる。
図12は、CPU11によって実行されるフレーム受信処理の一例を示すフローチャートである。図12の処理は、フレームが受信されることによって開始される。101では、CPU11(フレーム受信処理部112)は、FDBテーブル131の受信ポート位置(受信ポートに対応するエントリ)にフレームの送信元MACアドレスが登録されているか否かを確認する。
102では、CPU11は、送信元MACアドレスがエントリ(登録)されているか否かを判定する。送信元MACアドレスが登録されている場合には(102,Yes)、処理が104に進む。送信元MACアドレスが登録されていない場合には(102,No)、処理が103に進む。
103では、CPU11は、FDBテーブル131の受信ポート位置(対応エントリ)に送信元MACアドレスを登録する。これによってMAC学習処理がなされる。104では、CPU11は、受信ポート位置(対応エントリ)のフラグを“ON”に設定する。
105では、CPU11は、宛先がユニキャストか否かを判定する。当該判定は、宛先MACアドレスがブロードキャストアドレスか否かを以て判定される。宛先がユニキャストでなければ(105,No)、処理が109に進む。宛先がユニキャストであれば(105,Yes)、処理が106に進む。
106では、CPU11は、FDBテーブルを参照し、フレームの宛先MACアドレスが登録されたエントリを検索する。107では、CPU11は、フレームの宛先MACアドレスが登録されたエントリが存在するか否かを判定する。フレームの宛先MACアドレスが登録されたエントリが存在しない場合(107,No)には、処理が109に進む。フレームの宛先MACアドレスが登録されたエントリが存在する場合(107,Yes)には、処理が108に進む。
108では、CPU11は、107で検索されたエントリ中のポート番号のポートからフレームを送信(転送)し、図12の処理を終了する。109に処理が進んだ場合には、CPU11は、送信元MACアドレスが属するVLAN(送信元MACアドレスが含まれるエントリ中のVID)と同じVIDが設定された全てのポート(フレームの受信ポートを除く)から、フレームを送信する(フラッディング)。このようにして、フレームの転送処理が行われる。
また、CPU11は、エージング部111として、図4及び図7に示した処理を実行する。ここでは、図4及び図7の処理の説明は省略する。CPU11は、図11に示したMACアドレスリスト121及びFDBテーブル131を用いて図4に示すエージング処理を行う。また、CPU11は、FDBテーブル131を参照して図7に示すエージング処理を行う。
図13は、図4及び図7における18の処理(GARP送信)の一例を示すフローチャートである。201では、CPU11は、FDBテーブル131に登録された対象MACアドレス(端末のMACアドレス)を、AGPパケット内の送信元MACアドレスに設定する。
202では、CPU11は、GARPパケット内の送信元IPアドレス及び宛先IPアドレスの値として、自スイッチのIPアドレスを設定する。203では、CPU11は、GARPパケット内の各固定値を設定する。204では、CPU11は、端末のMACアドレスが属するVLAN(端末のMACアドレスが登録されたエントリ中のVID)と同じVIDが設定された全てのポート(端末からのフレームの受信ポートを除く)から、GARPパケットを送信する(フラッディング)。なお、201,202,及び203の処理順序は、適宜入れ替えが可能である。
<実施形態の効果>
上述した実施形態1及び実施形態2によれば、端末が接続されたポートの接続状態が「接続」を示す場合には、エージング処理によって端末のエントリがFDBテーブルから削除されるのを回避することができる。
上述した実施形態1及び実施形態2によれば、端末が接続されたポートの接続状態が「接続」を示す場合には、エージング処理によって端末のエントリがFDBテーブルから削除されるのを回避することができる。
従って、端末がスイッチに接続された状態である場合、端末からの継続的なフレーム受信がなくても、スイッチのFDBテーブルにおいて端末に対応するエントリ(端末のMACアドレス)の登録状態を維持することができる。これによって、保守者が遠隔からFDBテーブルの登録内容を参照し、端末が接続されたスイッチ及びそのポートを特定する作業が容易にとなる。従って、端末に対応するエントリのVLAN設定(VID)の設定変更の作業の容易化が図られる。
また、実施形態1及び2によれば、端末が接続されたスイッチからGARPが定期的、又は周期的に送信されることで、端末が接続されたスイッチ以外のスイッチのFDBテーブルで、当該端末のエントリを保持し続けることが可能となる。これによって、ネットワークを形成するスイッチの数が少なくない場合(例えば、100台以上)であっても、端末が接続されているスイッチの発見(検出)を容易にすることができる。以上説明した実施形態の構成は、適宜組み合わせることができる。
10・・・スイッチ
11・・・CPU
12・・・メモリ
13・・・CAM
121・・・対象MACアドレスリスト
131・・・FDBテーブル
11・・・CPU
12・・・メモリ
13・・・CAM
121・・・対象MACアドレスリスト
131・・・FDBテーブル
Claims (5)
- 少なくともフレームを受信したポートの識別子と前記フレームの送信元アドレスとを関連づけて記憶するテーブルを記憶する記憶部と、
前記送信元アドレスを宛先とするフレームを前記テーブルに基づき転送する転送部と、
所定期間フレームが受信されない送信元アドレスを前記テーブルから削除するエージング部と、を含み、
前記エージング部は、所定期間フレームが受信されない送信元アドレスに関連づけられたポートの識別子で特定されるポートの状態が端末との接続を示すことを条件の一つとして前記所定時間フレームが受信されない送信元アドレスを前記テーブルから削除するのを回避する
中継装置。 - 前記エージング部は、前記所定時間フレームが受信されない送信元アドレスが所定のアドレスであることをさらなる条件として前記所定時間フレームが受信されない送信元アドレスを前記テーブルから削除するのを回避する
請求項1に記載の中継装置。 - 前記テーブルは、前記ポートの識別子と関連づけて、前記送信元アドレスと前記送信元アドレスに対応する仮想LAN識別子とを記憶し、
前記エージング部は、前記所定時間フレームが受信されない送信元アドレスに関連づけられた仮想LAN識別子が所定の仮想LAN識別子であることをさらなる条件として前記所定時間フレームが受信されない送信元アドレスを前記テーブルから削除するのを回避する
請求項1に記載の中継装置。 - 前記エージング部は、前記所定時間フレームが受信されない送信元アドレスが送信元アドレスに設定されたGARP(Gratuitous Address Resolution Protocol)パケットを生成して送信する処理を行う
請求項1から3の何れか1項に記載の中継装置。 - 少なくともフレームを受信したポートの識別子と前記フレームの送信元アドレスとを関連づけて記憶するテーブルを記憶し、前記送信元アドレスを宛先とするフレームを前記テーブルに基づいて転送し、所定期間フレームが受信されない送信元アドレスを前記テーブルから削除する中継装置におけるアドレスの削除回避方法であって、
前記中継装置は、所定期間フレームが受信されない送信元アドレスに関連づけられたポートの識別子で特定されるポートの状態が端末との接続を示すことを条件の一つとして前記所定時間フレームが受信されない送信元アドレスを前記テーブルから削除するのを回避する
中継装置におけるアドレスの削除回避方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015116432A JP2017005446A (ja) | 2015-06-09 | 2015-06-09 | 中継装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015116432A JP2017005446A (ja) | 2015-06-09 | 2015-06-09 | 中継装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2017005446A true JP2017005446A (ja) | 2017-01-05 |
Family
ID=57752385
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015116432A Pending JP2017005446A (ja) | 2015-06-09 | 2015-06-09 | 中継装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2017005446A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6427697B1 (ja) * | 2018-01-22 | 2018-11-21 | 株式会社Triart | 情報処理装置、情報処理方法、プログラムおよび情報処理システム |
-
2015
- 2015-06-09 JP JP2015116432A patent/JP2017005446A/ja active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6427697B1 (ja) * | 2018-01-22 | 2018-11-21 | 株式会社Triart | 情報処理装置、情報処理方法、プログラムおよび情報処理システム |
JP2019128645A (ja) * | 2018-01-22 | 2019-08-01 | 株式会社Triart | 情報処理装置、情報処理方法、プログラムおよび情報処理システム |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107783815B (zh) | 一种确定虚拟机迁移的方法和装置 | |
EP2853066B1 (en) | Layer-3 overlay gateways | |
US9225641B2 (en) | Communication between hetrogenous networks | |
US9825859B2 (en) | Item aggregation in shortest path bridging mac-in-mac mode (SPBM) network | |
US9634887B2 (en) | System, method and computer-readable medium for using a plurality of virtual machines | |
US9521163B2 (en) | Communication device and communication control method in communication device | |
WO2019165775A1 (zh) | 一种局域网设备的搜索方法及搜索系统 | |
CN106130819B (zh) | Vtep异常的检测方法及装置 | |
EP3493477B1 (en) | Message monitoring | |
US9979643B2 (en) | Communication apparatus, communication method, and computer-readable recording medium | |
WO2017124886A1 (zh) | 按需获取路由的方法及网关 | |
US20180039505A1 (en) | Preventing flow interruption caused by migration of vm | |
JP6629681B2 (ja) | スイッチ装置および中継システム | |
JP4193832B2 (ja) | ネットワークシステム及びデータ転送方法 | |
WO2019165805A1 (zh) | 一种报文处理方法、装置及存储介质 | |
US10063675B2 (en) | Performing duplicate address detection for an integrated routing and bridging device | |
JP2017005446A (ja) | 中継装置 | |
WO2016050149A1 (en) | Migration | |
CN107659446B (zh) | 一种waf迁移方法和装置 | |
JP2007049495A (ja) | リングノード装置 | |
JP5893211B2 (ja) | ゲートウェイ装置 | |
US20170070473A1 (en) | A switching fabric including a virtual switch | |
JP6064757B2 (ja) | 通信システム及び通信方法 | |
CN106452992B (zh) | 一种远端多归属组网的实现方法及装置 | |
US10298481B1 (en) | Method and apparatus for testing VLAN |