JP4688946B2 - スイッチ及びアドレス学習方法 - Google Patents
スイッチ及びアドレス学習方法 Download PDFInfo
- Publication number
- JP4688946B2 JP4688946B2 JP2009141874A JP2009141874A JP4688946B2 JP 4688946 B2 JP4688946 B2 JP 4688946B2 JP 2009141874 A JP2009141874 A JP 2009141874A JP 2009141874 A JP2009141874 A JP 2009141874A JP 4688946 B2 JP4688946 B2 JP 4688946B2
- Authority
- JP
- Japan
- Prior art keywords
- packet
- switch
- port
- address
- learning
- 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.)
- Expired - Fee Related
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/74—Address processing for routing
- H04L45/745—Address table lookup; Address filtering
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/26—Route discovery packet
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/15—Interconnection of switching modules
- H04L49/1515—Non-blocking multistage, e.g. Clos
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/30—Peripheral units, e.g. input or output ports
- H04L49/3009—Header conversion, routing tables or routing tags
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Small-Scale Networks (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Description
本技術は、多段接続されたスイッチにおけるアドレス学習に関連する技術に関する。
FAT Tree等のようにスイッチを多段接続する場合には、例えば図1に示すようなネットワークトポロジが採用される。図1の例では、2段構成のネットワークの例を示しており、下位層のリーフスイッチSW1乃至SWmと、上位層のルートスイッチSW1乃至SWnとが設けられている。リーフスイッチの各々は、全てのルートスイッチSW1乃至SWnに接続されている。また、リーフスイッチの各々は、任意の数の端末装置に接続されている。図1の例では、リーフスイッチSW1には、k1個の端末装置T(1-1)乃至T(1-k1)が接続されており、リーフスイッチSWmには、km個の端末装置T(m-1)乃至T(m-km)が接続されている。その他のリーフスイッチについては図示を省略しているだけで、全リーフスイッチSW1乃至SWmには、全部でk個の端末装置が接続されているものとする。
このようなネットワークにおいて、例えば端末装置T(1-1)から端末装置T(m-km)へパケットを送信する場合を考える。そうすると、リーフスイッチSW1が端末装置T(1-1)からのパケットを受信し、例えばルートスイッチSW1に転送する。ルートスイッチSW1は、受信パケットをリーフスイッチSWmに転送する。そして最後にリーフスイッチSWmが端末装置T(m-km)に出力する。図1のようなネットワークでは経路が冗長化されているので、リーフスイッチSW1は、どのルートスイッチにパケットを転送してもよいが、負荷分散のために例えばルートスイッチSW1に転送先を限定する。しかしながら、複数のルートスイッチが例えば端末装置T(1-1)にパケットを転送する可能性がある場合には、フラッディングを避けるためには、当該複数のルートスイッチで端末装置T(1-1)のアドレスを学習する必要がある。すなわち、ルートスイッチSW1乃至SWnで、端末装置のアドレスを冗長して保持する必要がある。そうすると、端末装置の増加に伴い、大量のアドレスをルートスイッチSW1乃至SWnで保持しなければならなくなる。逆に、ルートスイッチのメモリ容量には限界があるので、当該メモリ容量によって端末装置の数が制限されてしまう。
なお、アドレステーブルの容量を少なくすることを目的として、以下のような構成を有するスイッチングハブが存在している。具体的には、複数の端末通信用LANポート及びスイッチ通信用LANポートと、複数の端末とのスイッチングを制御するスイッチング制御手段と、設定によりLANを複数に分離するVLAN制御手段と、スイッチ内のアドレステーブルを管理するアドレステーブル管理手段とを有し、伝送媒体とのアクセス制御方式としてCSMA/CDを使用したローカルエリアネットワークを複数接続し、同時にそれぞれポート毎に中継動作し、設定によりLANを複数に分離する。そして、スイッチ間でVLAN内のアドレステーブルを分担するスイッチ間アドレス管理手段と、どのVLANに属するフレームか識別するIDを中継フレームに付加または削除するVLANID処理手段と、同一VLAN内にフレームの転送を行うVLAN内転送処理手段とをさらに有する。しかしながら、このスイッチングハブは、カスケード式にスイッチングハブを接続する際には有効であるが、図1に示すようなネットワークでは効果的ではない。
以上のような従来技術に鑑み、本技術の目的は、スイッチの多段接続網において1つのスイッチで学習しなければならないアドレスの数を削減するための技術を提供することである。
本技術の第1の態様に係るアドレス学習方法は、スイッチの多段接続網における末端スイッチとして動作するスイッチにより実行されるアドレス学習方法であり、ポートに接続されている下層の装置からパケットを受信した場合、所定のハッシュ関数による当該パケットの宛先アドレスについての第1のハッシュ値からパケットの転送先スイッチが接続されている第1の出力先ポートを特定し、上記パケットを第1の出力先ポートから出力するステップと、上記パケットの送信元アドレスを、ポートの識別子と当該ポートに接続されている下層の装置のアドレスと対応付けて格納するデータベースに格納するための学習処理を実施するステップと、所定のハッシュ関数による上記パケットの送信元アドレスについての第2のハッシュ値から上記パケットの送信元アドレスを学習すべき上位階層のスイッチが接続されている第2の出力先ポートを特定し、上記パケットについての学習用パケットを第2の出力先ポートから出力するステップとを含む。
本技術の第2の態様に係るアドレス学習方法は、スイッチの多段接続網における最上位階層のスイッチとして動作するスイッチにより実行されるアドレス学習方法であり、ポートに接続されている下層のスイッチから受信したパケットについて、送信元アドレスの学習用パケットであるか転送すべきパケットであるかを識別するステップと、送信元アドレスの学習用パケットであれば、当該パケットの送信元アドレスを、ポートの識別子と当該ポートに接続されている下層のスイッチ又はそれより下位のスイッチに接続されている装置のアドレスとを対応付けて格納するデータベースに登録するための学習処理を実施するステップと、転送すべきパケットであれば、当該パケットの宛先アドレスでデータベースを検索して出力先ポートを特定し、転送すべきパケットを出力先ポートから出力するステップとを含む。
本技術の第3の態様に係るアドレス学習方法は、スイッチの多段接続網における最上位階層及び最下層のスイッチ以外の中間階層のスイッチにより実行されるアドレス学習方法であり、ポートに接続されている下層のスイッチから受信したパケットについて、送信元アドレスの学習用パケットであるか転送すべきパケットであるかを識別するステップと、送信元アドレスの学習用パケットであれば、当該パケットの送信元アドレスを、ポートの識別子と当該ポートに接続されている下層のスイッチ又はそれより下位のスイッチに接続されている装置のアドレスとを対応付けて格納するデータベースに登録するための学習処理を実施するステップと、送信元アドレスの学習用パケットであれば、送信元アドレスについて所定のハッシュ関数による第1のハッシュ値を算出し、当該第1のハッシュ値に対応し且つ送信元アドレスを学習すべき上位階層のスイッチが接続されている第1の出力先ポートを特定して、上記パケットのデータを第1の出力先ポートから出力するステップと、転送すべきパケットであれば、当該パケットの宛先アドレスについて所定のハッシュ関数による第2のハッシュ値を算出し、当該第2のハッシュ値に対応する転送先スイッチが接続されている第2の出力先ポートを特定して、上記パケットのデータを第2の出力先ポートから出力するステップとを含む。
スイッチの多段接続網において1つのスイッチで学習しなければならないアドレスの数が削減される。
[実施の形態1]
第1の実施の形態における、スイッチ(例えばL2スイッチ)の多段接続網における動作の概要を図2を用いて説明する。ネットワークトポロジは図1と同じである。本実施の形態では、リーフスイッチSW1乃至SWmは、全て同じハッシュ関数及びハッシュ値とルートスイッチとの対応関係を保持している。そして、例えば端末装置T(1-1)から端末装置T(m-km)宛てにパケットを送信する場合には、パケットを受信したリーフスイッチSW1で、ハッシュ関数によりパケットの宛先アドレス(例えば端末装置T(m-km)のMACアドレス)のハッシュ値を算出し、当該ハッシュ値からパケット転送先のルートスイッチ(ここではルートスイッチSW1)を特定する。そして、リーフスイッチSW1は、受信パケットをルートスイッチSW1に転送する。ルートスイッチSW1は、送信元アドレスの学習を行うことなく、アドレスとポート番号との対応付けを格納するアドレステーブル(学習テーブルとも呼ぶ)を宛先アドレスで検索して出力先ポートを特定し、当該出力先ポートに接続されているリーフスイッチSWmに送信する。但し、学習していない場合には、アドレステーブルからは出力先ポートを特定できないので、その場合にはブロードキャストする場合もある。リーフスイッチSWmは、パケットを受信し、宛先アドレスでアドレステーブルを検索して出力先ポートを特定し、受信パケットを出力先ポートに接続されている端末装置T(m-km)に出力する。
第1の実施の形態における、スイッチ(例えばL2スイッチ)の多段接続網における動作の概要を図2を用いて説明する。ネットワークトポロジは図1と同じである。本実施の形態では、リーフスイッチSW1乃至SWmは、全て同じハッシュ関数及びハッシュ値とルートスイッチとの対応関係を保持している。そして、例えば端末装置T(1-1)から端末装置T(m-km)宛てにパケットを送信する場合には、パケットを受信したリーフスイッチSW1で、ハッシュ関数によりパケットの宛先アドレス(例えば端末装置T(m-km)のMACアドレス)のハッシュ値を算出し、当該ハッシュ値からパケット転送先のルートスイッチ(ここではルートスイッチSW1)を特定する。そして、リーフスイッチSW1は、受信パケットをルートスイッチSW1に転送する。ルートスイッチSW1は、送信元アドレスの学習を行うことなく、アドレスとポート番号との対応付けを格納するアドレステーブル(学習テーブルとも呼ぶ)を宛先アドレスで検索して出力先ポートを特定し、当該出力先ポートに接続されているリーフスイッチSWmに送信する。但し、学習していない場合には、アドレステーブルからは出力先ポートを特定できないので、その場合にはブロードキャストする場合もある。リーフスイッチSWmは、パケットを受信し、宛先アドレスでアドレステーブルを検索して出力先ポートを特定し、受信パケットを出力先ポートに接続されている端末装置T(m-km)に出力する。
このような動作に加え、リーフスイッチSW1はパケットの送信元アドレス(例えば端末装置T(1-1)のMACアドレス)のアドレス学習処理を実施する。さらに、本実施の形態では、リーフスイッチSW1は、ハッシュ関数によりパケットの送信元アドレスのハッシュ値を算出し、当該ハッシュ値からパケットの送信元アドレスの学習を行うルートスイッチ(ここではルートスイッチSW2)を特定する。そして、リーフスイッチSW1は、受信パケットから学習用パケットを生成して、図2で点線矢印で示すように、ルートスイッチSW2に学習用パケットを送信する。ルートスイッチSW2は、学習用パケットを受信すると、転送を行うことなく、送信元アドレスのアドレス学習処理を行う。
逆に、例えば端末装置T(m-km)から端末装置T(1-1)宛てにパケットを送信する場合には、パケットを受信したリーフスイッチSWmで、ハッシュ関数によりパケットの宛先アドレス(例えば端末装置T(1-1)のMACアドレス)のハッシュ値を算出し、当該ハッシュ値からパケット転送先のルートスイッチ(ここではルートスイッチSW2)を特定する。そして、リーフスイッチSWmは、受信パケットをルートスイッチSW2に転送する。上で述べたように、ルートスイッチSW2では、端末装置T(1-1)を送信元とする学習用パケットでアドレスの学習を実施しているので、どのポートにパケットを出力すべきかを特定できる。従って、ルートスイッチSW2は、送信元アドレスの学習を行うことなく、アドレステーブルを宛先アドレスで検索して出力先ポートを特定し、当該出力先ポートに接続されているリーフスイッチSW1に送信する。リーフスイッチSW1は、宛先アドレスでアドレステーブルを検索して出力先ポートを特定し、受信パケットを端末装置T(1-1)に出力する。
また、上で述べたように、リーフスイッチSWmは、ハッシュ関数によりパケットの送信元アドレス(例えば端末装置T(m-km)のMACアドレス)のハッシュ値を算出し、当該ハッシュ値からパケットの送信元アドレスの学習を行うルートスイッチ(ここではルートスイッチSW1)を特定する。そして、リーフスイッチSWmは、受信パケットから学習用パケットを生成して、ルートスイッチSW1に学習用パケットを送信する。ルートスイッチSW1は、学習用パケットを受信すると、転送を行うことなく、送信元アドレスのアドレス学習処理を行う。
このように、全てのリーフスイッチSW1乃至SWmにおいて同一のハッシュ関数及びハッシュ値とルートスイッチとの対応関係とを保持しておき、特定の端末装置宛てのパケットについては、必ず1つのルートスイッチを経由することにする。そのため、そのようなルートスイッチには、特定の端末装置についてのアドレスを学習するための学習用パケットを送信する。このようにすれば、n個のルートスイッチの各々は、k個の端末装置が存在する場合にも、k/nだけアドレスを学習すれば良くなるので、学習すべきアドレスの数を削減することができる。
なお、ハッシュ関数は、例えば、CRC(Cyclic Redundancy Checking)でよく知られたCRC32を用いたCRC32(x)%n(nはルートスイッチの数であって、MACアドレスのCRC32の値の法n)や、Lビットシフトを用いた(x<<L)%m(MACアドレスのLビット左シフトの値の法n)などを用いることができる。n個の値を出力する他のハッシュ関数であっても良い。
次に、図2に示したような多段接続網に含まれるスイッチの構成について説明する。図3にスイッチの構成の概要を示す。リーフスイッチもルートスイッチも基本的な構成は同じである。本実施の形態に係るスイッチは、スイッチLSI100と、スイッチLSI100と接続されているスイッチ管理プロセッサ200とを有する。スイッチ管理プロセッサ200は、例えばアドレス学習についての処理などを実施するための管理プログラム210を実行している。
スイッチLSI100は、FDB110と、スイッチ管理プロセッサ200とのインタフェースとなる管理部120と、FDB110に接続され且つパケットの入出力についての処理を実施するパケット処理部130と、FDB110及びパケット処理部130に接続されている複数のポート(図3ではポートA乃至C)とを含む。パケット処理部130は、全ポートで共有する共有メモリ131を有する。また、ポートA乃至Cは、それぞれ入力ポートと出力ポートとを含む。なお、ポート数は3に限定されないが、以下では3つの例を説明する。
本実施の形態では、アドレス学習についての詳細処理は主旨ではないので、説明を省略する。また、これに関連して管理部120及びスイッチ管理プロセッサ200についても説明を省略する。
次に、本実施の形態に係るリーフスイッチのスイッチLSI100L1の構成を図4を用いて説明する。スイッチLSI100L1は、入力ポートA乃至Cと、出力ポートA乃至Cと、入力ポートA乃至C及び出力ポートA乃至Cに接続されているFDB110L1と、入力ポートA乃至C及び出力ポートA乃至Cに接続されているパケットデータ処理部130L1とを有する。FDB110L1とパケットデータ処理部130L1は接続されている。また、パケットデータ処理部130L1は、共有メモリ131L1を含む。さらに、出力ポートAはタグ付加部141Aを含み、出力ポートBはタグ付加部141Bを含み、出力ポートCはタグ付加部141Cを含む。
入力ポートA乃至Cは、端末装置が接続されている下流ポートからの受信パケットについては、送信元アドレス及び宛先アドレスをFDB110L1に出力する。ルートスイッチが接続されている上流ポートからの受信パケットについては、宛先アドレスをFDB110L1に出力する。また、入力ポートA乃至Cは、受信パケットのデータをパケットデータ処理部130L1に出力して、共有メモリ131L1に格納させる。
FDB110L1は、端末装置が接続されている下流ポートからの受信パケットの送信元アドレス及び宛先アドレスを受け取ると、送信元アドレスについては周知のアドレス学習処理を実施する。また、送信元アドレス及び宛先アドレスについて、ハッシュ関数でハッシュ値を算出する。さらに、ルートスイッチが接続されている上流ポートからの受信パケットの宛先アドレスについては、宛先アドレスでアドレステーブルを検索して出力ポートを特定する。
FDB110L1は、アドレステーブルとして、MACアドレスと出力ポートの識別子(ID)との対応関係に加え、例えばハッシュ値とルートスイッチのIDとの対応関係を保持するようにしても良いが、例えば図5のようなデータを保持するようにしても良い。図5の例では、アドレステーブルは、MACアドレス又はハッシュ値と、ポート番号とを対応付けて格納している。図5の例では、hashaやhashbがハッシュ値であり、接続されているルートスイッチのいずれかを表す。ハッシュ値とポート番号の対は、最初に設定しておく。また、ハッシュ値が対応付けられているポートは、上位階層のスイッチが接続されているポートであり、それ以外のMACアドレスが登録されているのが下位階層の端末装置が接続されているポートである。また、別側面では、登録されるハッシュ値は、送信元アドレスについてのハッシュ値と、宛先アドレスについてのハッシュ値とのいずれかである。送信元アドレスのハッシュ値と、宛先アドレスについてのハッシュ値とは一致している場合もある。
なお、FDB110L1は、例えば図2における端末装置T(1-1)から端末装置T(1-2)へのパケットも受信する。このような場合には、ルートスイッチにパケットを転送する必要がないが、ルートスイッチからのパケットと同様に、宛先アドレスでアドレステーブルを検索してポート番号を特定する。
FDB110L1は、端末装置が接続されている下流ポートからの受信パケットであれば、宛先アドレスのハッシュ値に対応するポート番号及び送信元アドレスのハッシュ値に対応するポート番号を特定すると、パケットデータ処理部130L1に通知して、パケットデータ処理部130L1に前者のポート番号の出力ポート(例えば出力ポートC)へ、受信パケットのデータを出力させる。また、パケットデータ処理部130L1に、後者のポート番号の出力ポート(例えば出力ポートB)へ、受信パケットと同じ学習用パケットのデータを出力させる。なお、パケットデータ処理部130L1でも、学習用パケットとして加工しても良いが、ここでは受信パケットと同じ学習用パケットのデータを出力させる。
ここでFDB110L1は、宛先アドレスのハッシュ値に対応するポート番号の出力ポートには、転送用のパケットであることを通知し、送信元アドレスのハッシュ値に対応するポート番号の出力ポートには、学習用パケットであることを通知する。
出力ポートCは、FDB110L1から、転送用のパケットである旨の通知を受けるので、パケットデータ処理部130L1から受け取ったデータを、転送用のパケットであるとして通常どおり出力する。すなわち、タグ付加部141Cは機能しない。具体的には、図6に示すように、パケットは、宛先アドレス(DA:Destination Address。12バイト)と、送信元アドレス(SA:Source address。12バイト)と、タイプ(Type。4バイト)と、ペイロード(可変長)、FCS(Frame Check Sequence。4バイト)とを含む。
一方、出力ポートBは、FDB110L1から、学習用パケットである旨の通知を受けるので、タグ付加部141Bは、パケットデータ処理部130L1から受け取ったパケットのデータを、学習用パケットとして加工する。具体的には、図7に示すように、転送用のパケットに含まれるデータに加えて、例えば送信元アドレスSAの後に、学習用パケットであることを表すタグTag(4バイト)を付加する。これによって、ルートスイッチは、受け取ったパケットが学習用パケットであることを容易に判別することができる。
FDB110L1は、ルートスイッチに接続されている上流ポートからパケットを受信した場合には、受信パケットの宛先アドレスでアドレステーブルを検索して特定されるポート番号をパケットデータ処理部130L1に通知する。パケットデータ処理部130L1は、受信パケットのデータを、通知されたポート番号の出力ポートに出力する。また、FDB110L1は、特定されたポート番号の出力ポートに、転送用のパケットであることを通知する。以下は、上で述べた出力ポートCの場合の処理と同様である。
次に、図8に、本実施の形態に係るルートスイッチのスイッチLSI100R1の構成を示す。スイッチLSI100R1は、入力ポートA乃至Cと、出力ポートA乃至Cと、入力ポートA乃至C及び出力ポートA乃至Cに接続されているFDB110R1と、入力ポートA乃至C及び出力ポートA乃至Cに接続されているパケットデータ処理部130R1とを有する。FDB110R1とパケットデータ処理部130R1は接続されている。また、パケットデータ処理部130R1は、共有メモリ131R1を含む。また、入力ポートAはタグ検出部151Aを含み、入力ポートBはタグ検出部151Bを含み、入力ポートCはタグ検出部151Cを含む。
入力ポートA乃至Cのタグ検出部151A乃至151Cは、リーフスイッチSW1乃至SWmからの受信パケットを検査して、図7に示したようなタグが含まれているか否かを判断する。タグが含まれている場合には学習用パケットであるから、学習用パケットであることを表すデータ及び送信元アドレスをFDB110R1に出力する。一方、タグが含まれていない場合には転送用パケットであるから、転送用パケットであることを表すデータ及び宛先アドレスをFDB110R1に出力する。また、入力ポートA乃至Cは、転送用パケットを受信した場合には、当該パケットのデータをパケットデータ処理部130R1に出力して、共有メモリ131R1に格納させる。なお、学習用パケットを受信した場合には、入力ポートA乃至Cで破棄しても良いが、転送用パケット及び学習用パケットの区別無くパケットデータ処理部130R1に出力し、入力ポート又はFDB110R1から学習用パケットであることを通知されればパケットデータ処理部130R1が学習用パケットのデータを破棄するようにしても良い。
FDB110R1は、学習用パケットの送信元アドレスを受け取ると、当該送信元アドレスについて周知のアドレス学習処理を実施する。単純には、アドレステーブルに、送信元アドレスを、送信元アドレスを出力した入力ポートのポート番号に対応付けて登録する。
FDB110R1は、転送用パケットの宛先アドレスを受け取ると、当該宛先アドレスでアドレステーブルを検索して出力ポートのポート番号を特定する。そして、パケットデータ処理部130R1に当該ポート番号を出力する。
FDB110R1が保持するアドレステーブルの一例を図9に示す。図9の例では、MACアドレスと出力ポート番号とが対応付けて登録されている。ルートスイッチSW1乃至SWnでは、ハッシュ値が登録されることはない。上でも述べたように、k個の端末装置が接続されており、n個のルートスイッチが存在する場合には、1つのルートスイッチにはk/n個のMACアドレスがアドレステーブルに登録される。
パケットデータ処理部130R1は、ポート番号をFDB110R1から受け取ると、対応する転送用パケットのデータを、ポート番号で特定される出力ポートに出力する。この際、FDB110R1も、特定されたポート番号の出力ポートに転送を指示する。
上では学習用パケットを入力ポートで破棄する例及びパケットデータ処理部130R1で破棄する例を述べたが、出力ポートで破棄するようにしても良い。すなわち、入力ポート及びパケットデータ処理部130R1の処理については転送用パケットと学習用パケットで区別することなく実施し、FDB110R1が、学習用パケットであることを表すデータを、特定されたポート番号の出力ポートに対して出力して、当該学習用パケットであることを表すデータを受け取った出力ポートが、パケットデータ処理部130R1から受け取ったパケットのデータを破棄するものである。
FDB110R1によって特定されたポート番号の出力ポートは、パケットデータ処理部130R1から受け取ったデータを、転送用のパケットであるとして通常どおり出力する。
以上のような処理を実施すれば、学習用パケットについては送信元アドレスを従来どおり学習し、一方転送用パケットについては宛先アドレスでアドレステーブルを検索して該当する出力ポートを特定し、当該出力ポートからパケットを出力する通常の処理が行われる。
次に、図2に示したネットワークについて1つのパケットを端末装置が送信した場合の処理について、図10を用いて説明する。ここでは、上で述べたように図2の端末装置T(1-1)から端末装置T(m-km)へパケットを送信する場合の処理を説明する。リーフスイッチSW1の入力ポートは、端末装置T(1-1)からパケットを受信する(ステップS1)。入力ポートは、送信元アドレス及び宛先アドレスをFDB110L1に出力し、FDB110L1は、送信元アドレスについてのハッシュ値Hash(DA)及び宛先アドレスについてのハッシュ値Hash(SA)を算出する。さらに、FDB110L1は、ハッシュ値Hash(DA)に対応するポート番号を特定し、パケットデータ処理部130L1に通知すると共に、当該ポート番号の例えば出力ポートAに転送用パケットであることを通知する。パケットデータ処理部130L1は、入力ポートからパケットのデータを受け取り、共有メモリ131L1に格納し、その後FDB110L1から通知されたポート番号の出力ポートAにパケットのデータを出力し、出力ポートAは、当該パケットを出力する(ステップS3)。
ルートスイッチSW1の入力ポートAは、ステップS3で特定されたリーフスイッチSW1の出力ポートAに接続されており、転送用パケットを受信する(ステップS5)。ルートスイッチSW1の入力ポートAは、受信パケットから転送用パケットであると識別し、転送用パケットの宛先アドレスをFDB110R1に出力する。FDB110R1は、宛先アドレスでアドレステーブルを検索してポート番号を特定し、パケットデータ処理部130R1に通知する。また、入力ポートAは、受信パケットをパケットデータ処理部130R1に出力して、パケットデータ処理部130R1は、共有メモリ131R1に格納し、その後FDB110R1からポート番号の通知を受けると、当該出力ポート番号の例えば出力ポートBにパケットのデータを出力する。出力ポートBは、パケットデータ処理部130R1から受け取ったパケットのデータを出力する(ステップS7)。
リーフスイッチSWmの上流ポートである入力ポートAは、ステップS7で特定されたルートスイッチSW1の出力ポートBに接続されており、転送用パケットを受信する(ステップS9)。リーフスイッチSW1の入力ポートAは、転送用パケットの宛先アドレスをFDB110L1に出力し、パケットのデータをパケットデータ処理部130L1に出力し、共有メモリ131L1に格納させる。FDB110L1は、宛先アドレスでアドレステーブルを検索してポート番号を特定し、パケットデータ処理部130L1に通知する。FDB110L1は、さらに特定されたポート番号の出力ポートに、転送用パケットの出力を指示する。パケットデータ処理部130L1は、通知されたポート番号の例えば出力ポートCに、パケットのデータを出力し、出力ポートCは、パケットデータ処理部130L1から受け取ったパケットのデータを端末装置T(m-km)に出力する(ステップS11)。
また、リーフスイッチSW1のFDB110L1は、受信パケットの送信元アドレスSAのアドレス学習処理を実施する(ステップS13)。そして、FDB110L1は、送信元アドレスについて算出されたハッシュ値Hash(SA)に対応するポート番号を特定し、パケットデータ処理部130L1に通知すると共に、当該ポート番号の例えば出力ポートBに学習用パケットであることを通知する。パケットデータ処理部130L1は、共有メモリ131L1に格納されている受信パケットのデータを、FDB110L1から通知されたポート番号の出力ポートBに出力し、出力ポートBは、受信パケットのデータを学習用パケットとして出力する(ステップS15)。本実施の形態では、出力ポートBのタグ付加部131Bが、受信パケットのデータに、学習用パケットであることを表すタグを付加して、出力する。
ルートスイッチSW2の入力ポートAは、リーフスイッチSW1の出力ポートBに接続されており、パケットを受信すると、当該パケットが学習用パケットであると特定する(ステップS17)。そして、入力ポートAは、学習用パケットの送信元アドレスをFDB110R1に出力する。FDB110R1は、受け取った送信元アドレスについてアドレス学習処理を実施する(ステップS19)。転送は行わない。
以上のような処理を実施することによって、1つのルートスイッチで学習すべき送信元アドレスの数を削減することができるようになる。
[実施の形態2]
第1の実施の形態では、リーフスイッチSW1乃至SWmの出力ポートにおいてタグ付加部141がパケットにタグを付加することによって転送用パケットとは異なる学習用パケットを生成していた。しかしながら、リーフスイッチSW1乃至SWmにおいて明らかに異なる学習用パケットを生成する必要はない。
第1の実施の形態では、リーフスイッチSW1乃至SWmの出力ポートにおいてタグ付加部141がパケットにタグを付加することによって転送用パケットとは異なる学習用パケットを生成していた。しかしながら、リーフスイッチSW1乃至SWmにおいて明らかに異なる学習用パケットを生成する必要はない。
第2の実施の形態では、リーフスイッチSW1乃至SWmでは転送用パケットと同じパケットを、学習用パケットとしてルートスイッチに送信し、ルートスイッチ側で学習用パケットであるか転送用パケットであるかを識別するものとする。
具体的には、第2の実施の形態に係るリーフスイッチSW1乃至SWmは、図11に示すような構成となる。すなわち図11のスイッチLSI100L2は、入力ポートA乃至Cと、出力ポートA乃至Cと、入力ポートA乃至C及び出力ポートA乃至Cに接続されているFDB110L2と、入力ポートA乃至C及び出力ポートA乃至Cに接続されているパケットデータ処理部130L2とを有する。FDB110L2とパケットデータ処理部130L2は接続されている。また、パケットデータ処理部130L2は、共有メモリ131L2を含む。
上で述べたように、出力ポートA乃至Cは、タグ付加部を含まないので、入力ポートA乃至C、FDB110L2及びパケットデータ処理部130L2が第1の実施の形態と同様の処理を実施しても、出力ポートA乃至Cは、転送用パケットと同じパケットを学習用パケットとして出力する。なお、学習用パケットの送信先のルートスイッチと、転送用パケットの転送先のルートスイッチとが一致する場合には、2つのパケットを送信するのではなく、1つのパケットのみを送信するようにしても良い。
このように転送用パケットと同じパケットを学習用パケットとして出力する場合には、ルートスイッチSW1乃至SWn側で特別な処理を実施して学習用パケットであるか転送用パケットであるかを識別しなければならない。
第2の実施の形態においては、図12に示すような構成をルートスイッチに採用する。スイッチLSI100R2は、入力ポートA乃至Cと、出力ポートA乃至Cと、入力ポートA乃至C及び出力ポートA乃至Cに接続されているFDB110R2と、入力ポートA乃至C及び出力ポートA乃至Cに接続されているパケットデータ処理部130R2とを有する。FDB110R2とパケットデータ処理部130R2は接続されている。また、パケットデータ処理部130R2は、共有メモリ131R2を含む。さらに、入力ポートAは種別判定部161Aを含み、入力ポートBは種別判定部161Bを含み、入力ポートCは種別判定部161Cを含む。
第1の実施の形態と比較すると、タグ検出部151の代わりに種別判定部161が採用されている。種別判定部161は、リーフスイッチ(より正確には1階層下のスイッチ)で用いられているハッシュ関数を保持しており、当該ハッシュ関数により受信パケットの送信元アドレスについてのハッシュ値と宛先アドレスについてのハッシュ値とを算出する。送信元アドレスについてのハッシュ値が自スイッチの識別子(具体的には番号)と一致する場合には、学習用パケットと判別する。一方、宛先アドレスについてのハッシュ値が自スイッチの識別子と一致する場合には、転送用パケットと判別する。送信元アドレスについてのハッシュ値も宛先アドレスについてのハッシュ値も自スイッチの識別子に一致する場合もあり、その場合には転送用パケット及び学習用パケットとして識別する。
このように判別できれば、FDB110R2、パケットデータ処理部130R2及び出力ポートA乃至Cは、基本的に第1の実施の形態と同じ動作を実施する。
従って、各ルートスイッチSW1乃至SWnにおいて学習すべきアドレスの数を削減することができる。
なお、1つのパケットを受信して送信元アドレスについてのハッシュ値が自スイッチの識別子に一致しており且つ宛先アドレスについてのハッシュ値が自スイッチの識別子に一致している場合には、当該パケットを受信した入力ポートにおいて2つのパケット、すなわち学習用パケット及び転送用パケットを受信したものとして処理を実施すれば、FDB110R2、パケットデータ処理部130R2及び出力ポートA乃至Cは、同じ処理を実施して問題ない。
[実施の形態3]
第1の実施の形態においては学習用パケットについてはタグを付加するような処理を施しているが、第2の実施の形態においてはリーフスイッチで何も処理を行っていない。但し、学習用パケットの分だけ、スイッチの多段接続網を流れるデータの量は増加してしまう。従って、学習用パケットのデータ量を減らす工夫を行うことが好ましい。
第1の実施の形態においては学習用パケットについてはタグを付加するような処理を施しているが、第2の実施の形態においてはリーフスイッチで何も処理を行っていない。但し、学習用パケットの分だけ、スイッチの多段接続網を流れるデータの量は増加してしまう。従って、学習用パケットのデータ量を減らす工夫を行うことが好ましい。
第3の実施の形態においては、学習用パケットには不要なペイロードの量を削減する。第3の実施の形態に係るリーフスイッチSW1乃至SWmの構成を図13に示す。すなわち図13のスイッチLSI100L3は、入力ポートA乃至Cと、出力ポートA乃至Cと、入力ポートA乃至C及び出力ポートA乃至Cに接続されているFDB110L3と、入力ポートA乃至C及び出力ポートA乃至Cに接続されているパケットデータ処理部130L3とを有する。FDB110L3とパケットデータ処理部130L3は接続されている。また、パケットデータ処理部130L3は、共有メモリ131L3を含む。
そして、出力ポートAは学習用パケット処理部181Aを含み、出力ポートBは学習用パケット処理部181Bを含み、出力ポートCは学習用パケット処理部181Cを含む。学習用パケット処理部181は、学習用パケットであることを示すデータをFDB110L3から受け取ると、1パケットの最小サイズ(ここでは64バイト)になるように、パケットのペイロードのデータ量を削減する。図6で示すように、パケットには最後に4バイトのFCSが付加されるので、パケットの先頭からペイロードの末尾までが60バイトになるように、それより後ろのペイロードのデータを破棄する。このようにペイロードの一部のデータを破棄する場合には、FCSについては算出し直す必要がある。なお、パケットデータ処理部130L3が、ペイロードの一部を破棄するような処理を行っても良い。
このようにすれば、スイッチの多段接続網を流れる学習用パケットのデータ量を削減することができる。また、本実施の形態は第1の実施の形態及び第2の実施の形態の何れに適用しても良い。
[実施の形態4]
アドレス学習の特性から、全ての学習用パケットの送受信をリーフスイッチとルートスイッチ間で保障する必要はない。従って、輻輳が発生しているような場合には、転送用パケットの方を優先すべきである。
アドレス学習の特性から、全ての学習用パケットの送受信をリーフスイッチとルートスイッチ間で保障する必要はない。従って、輻輳が発生しているような場合には、転送用パケットの方を優先すべきである。
そのため第4の実施の形態では、リーフスイッチSW1乃至SWmの出力ポートA乃至Cで、学習用パケットの優先度を転送用パケットの優先度より下げる。例えば、図13に示した構成において、学習用パケット処理部181A乃至181Cは、出力ポートA乃至Cが学習用パケットを受け取ると、当該学習用パケットに対して低い優先度を設定する。優先度に応じたパケットの出力制御については従来のとおりであるからこれ以上述べないが、リーフスイッチSW1乃至SWmから上位階層のスイッチへのリンクの帯域が学習用パケットにより所定レベル以上圧迫される場合には、当該学習用パケットの出力を控えて又は削除して、転送用パケットを優先して出力する。これによって、端末装置間の通常の通信への影響を抑えることができる。
さらに、輻輳が発生している場合にはルートスイッチ側でも入力ポートにおいてパケットが滞留する場合もあるので、ルートスイッチSW1乃至SWnの入力ポートにおいても学習用パケットについては優先度を下げて、転送用パケットを優先して処理させるようにしても良い。
なお、本実施の形態は、第1乃至第3の実施の形態に適用可能である。
[実施の形態5]
第4の実施の形態はパケットの優先度を設定しているが、リーフスイッチとルートスイッチ間のリンクに、転送用パケット又は学習用パケットのための帯域幅を設定しても良い。例えば、図13におけるリーフスイッチSW1乃至SWmの出力ポートA乃至Cの学習用パケット処理部181A乃至181Cが、例えば管理者などの指示に応じて学習用パケットのための最大帯域の入力を受け付けて設定する。このようにすれば、転送用パケットのための帯域が確保されて、転送用パケットが優先して転送されるようになる。
第4の実施の形態はパケットの優先度を設定しているが、リーフスイッチとルートスイッチ間のリンクに、転送用パケット又は学習用パケットのための帯域幅を設定しても良い。例えば、図13におけるリーフスイッチSW1乃至SWmの出力ポートA乃至Cの学習用パケット処理部181A乃至181Cが、例えば管理者などの指示に応じて学習用パケットのための最大帯域の入力を受け付けて設定する。このようにすれば、転送用パケットのための帯域が確保されて、転送用パケットが優先して転送されるようになる。
本実施の形態は、第1乃至第3の実施の形態に適用可能である。
[実施の形態6]
リーフスイッチSW1乃至SWmの出力ポートA乃至Cにはバッファが設けられており、そのバッファには複数のパケットのデータが格納される場合がある。転送用パケットであればそれは全て出力すべきであるが、学習用パケットであればアドレス学習の特性から必ずしも出力する必要はない。特に、学習用パケットの重要なデータは送信元アドレスであるから、宛先アドレスが異なっていても送信元アドレスが同一であれば、その学習用パケットを同一視することができる。
リーフスイッチSW1乃至SWmの出力ポートA乃至Cにはバッファが設けられており、そのバッファには複数のパケットのデータが格納される場合がある。転送用パケットであればそれは全て出力すべきであるが、学習用パケットであればアドレス学習の特性から必ずしも出力する必要はない。特に、学習用パケットの重要なデータは送信元アドレスであるから、宛先アドレスが異なっていても送信元アドレスが同一であれば、その学習用パケットを同一視することができる。
例えば、図13におけるリーフスイッチSW1乃至SWmの出力ポートA乃至Cの学習用パケット処理部181A乃至181Cは、同一送信元アドレスを含む複数の学習用パケットをパケットデータ処理部130L3から受け取って保持している場合には、そのうちの1つを選択して、残りを破棄する。このようにすれば、アドレス学習には影響を与えずに、学習用パケットによる帯域消費を抑えることができるようになる。なお、同一送信元アドレスを含む複数の学習用パケットのうち少なくとも1つでも破棄すれば、効果がある。
本実施の形態は、第1乃至第5の実施の形態に適用可能である。
[実施の形態7]
第1乃至第6の実施の形態では、2階層のスイッチ接続網の例を示しているが、当然3階層以上のスイッチ接続網も実現可能である。3階層のスイッチ接続網の一例を図14に示す。図14の例では、最下層のスイッチとしてリーフスイッチSW1乃至SWmが設けられ、中間階層のスイッチとして中間スイッチSW1乃至SWpが設けられ、最上位階層のスイッチとしてルートスイッチSW1乃至SWnが設けられている。リーフスイッチSW1の下流には、端末装置T(1-1)乃至T(1-k1)が接続されており、リーフスイッチSWmの下流には、端末装置T(m-1)乃至T(m-km)が接続されている。他のリーフスイッチにも端末装置が接続されている。また、リーフスイッチSW1乃至SWmは、それぞれ中間スイッチSW1乃至SWpに接続されており、中間スイッチSW1乃至SWpは、それぞれルートスイッチSW1乃至SWnに接続されている。
第1乃至第6の実施の形態では、2階層のスイッチ接続網の例を示しているが、当然3階層以上のスイッチ接続網も実現可能である。3階層のスイッチ接続網の一例を図14に示す。図14の例では、最下層のスイッチとしてリーフスイッチSW1乃至SWmが設けられ、中間階層のスイッチとして中間スイッチSW1乃至SWpが設けられ、最上位階層のスイッチとしてルートスイッチSW1乃至SWnが設けられている。リーフスイッチSW1の下流には、端末装置T(1-1)乃至T(1-k1)が接続されており、リーフスイッチSWmの下流には、端末装置T(m-1)乃至T(m-km)が接続されている。他のリーフスイッチにも端末装置が接続されている。また、リーフスイッチSW1乃至SWmは、それぞれ中間スイッチSW1乃至SWpに接続されており、中間スイッチSW1乃至SWpは、それぞれルートスイッチSW1乃至SWnに接続されている。
このようなネットワークトポロジにおいても、リーフスイッチSW1乃至SWm及びルートスイッチSW1乃至SWnについては、第1乃至第6の実施の形態で示したものと同じものを用いればよい。一方、中間スイッチSW1乃至SWpでは、下位階層スイッチからの学習用パケットであれば中間スイッチSW1乃至SWpで共通のハッシュ関数Hashmidにより送信元アドレスのハッシュ値Hashmid(SA)を算出して当該ハッシュ値に対応する上位階層スイッチに転送する。学習用パケットをさらに生成するような処理は行わない。一方、下位階層スイッチからの転送用パケットであれば宛先アドレスのハッシュ値Hashmid(DA)を算出して当該ハッシュ値に対応する上位階層スイッチに転送する。さらに、上位階層スイッチからの転送用パケットであればアドレステーブルを宛先アドレスで検索して出力先ポートを特定し、当該出力先ポートに当該転送用パケットを出力する。
図14で端末装置T(1-1)から端末装置T(m-km)へパケットを送信する処理を説明する。端末装置T(1-1)からパケットを受信するとリーフスイッチSW1は、宛先アドレスのハッシュ値HashL(DA)を算出し、当該ハッシュ値HashL(DA)に対応する中間スイッチSW2を特定し、転送用パケットを中間スイッチSW2に転送する。中間スイッチSW2は、転送用パケットを受信すると、当該転送用パケットの宛先アドレスについてハッシュ値Hashmid(DA)を算出し、当該ハッシュ値Hashmid(DA)に対応するルートスイッチSW1を特定し、転送用パケットをルートスイッチSW1に転送する。ルートスイッチSW1は、転送用パケットを受信すると、転送用パケットの宛先アドレスでアドレステーブルを検索して出力先ポートを特定し、当該出力先ポートから中間スイッチSWpに転送用パケットを出力する。中間スイッチSWpは、転送用パケットを受信して、当該転送用パケットの宛先アドレスでアドレステーブルを検索して出力先ポートを特定し、当該出力先ポートに転送用パケットを出力する。中間スイッチSWpの特定された出力先ポートはリーフスイッチSWmに接続されており、リーフスイッチSWmは、転送用パケットを受信して、当該転送用パケットの宛先アドレスでアドレステーブルを検索して出力先ポートを特定し、当該出力先ポートから転送用パケットを出力する。リーフスイッチSWmの特定された出力先ポートは端末装置T(m-km)に接続されており、転送用パケットが宛先アドレスに到達することになる。
第7の実施の形態に係る中間スイッチSW1乃至SWpのスイッチLSI100M1は、図15に示すような構成となる。すなわち図15のスイッチLSI100M1は、入力ポートA乃至Cと、出力ポートA乃至Cと、入力ポートA乃至C及び出力ポートA乃至Cに接続されているFDB110M1と、入力ポートA乃至C及び出力ポートA乃至Cに接続されているパケットデータ処理部130M1とを有する。FDB110M1とパケットデータ処理部130M1は接続されている。また、パケットデータ処理部130M1は、共有メモリ131M1を含む。また、入力ポートAは種別判定部171Aを含み、入力ポートBは種別判定部171Bを含み、入力ポートCは種別判定部171Cを含む。
入力ポートA乃至Cの種別判定部171A乃至171Cは、リーフスイッチSW1乃至SWmからの受信パケットが、学習用パケットであるか転送用パケットであるかを判別する。判別する手法は、図6に示すような学習用パケットであれば第2の実施の形態のように下位階層スイッチで用いているハッシュ関数を用いて宛先アドレスについてのハッシュ値及び送信元アドレスについてのハッシュ値のいずれが自スイッチの識別子に一致しているかで判断する。また、図7に示すような学習用パケットであれば第1の実施の形態のように学習用パケットを表すタグが含まれているか否かで判断する。
学習用パケットであれば、学習用パケットであることを表すデータ及び送信元アドレスをFDB110M1に出力する。一方、転送用パケットであれば、転送用パケットであることを表すデータ及び宛先アドレスをFDB110M1に出力する。また、入力ポートA乃至Cは、転送用パケット又は学習用パケットのデータをパケットデータ処理部130M1に出力して、共有メモリ131M1に格納させる。ルートスイッチSW1乃至SWnとは異なり学習用パケットを破棄することはなく、リーフスイッチSW1乃至SWmとは異なり学習用パケットを新たに生成することもない。
FDB110M1は、学習用パケットの送信元アドレスを受け取ると、当該送信元アドレスについて周知のアドレス学習処理を実施する。単純には、アドレステーブルに、送信元アドレスを、送信元アドレスを出力した入力ポートのポート番号に対応付けて登録する。
さらに、FDB110M1は、下位階層スイッチからの転送用パケットの宛先アドレスを受け取ると、ハッシュ値Hashmid(DA)を算出して、例えば当該ハッシュ値Hashmid(DA)でアドレステーブルを検索して出力ポートのポート番号を特定する。そして、パケットデータ処理部130M1に当該ポート番号を出力する。
さらに、FDB110M1は、学習用パケットの送信元アドレスを受け取ると、ハッシュ値Hashmid(SA)を算出して、例えば当該ハッシュ値Hashmid(SA)でアドレステーブルを検索して出力ポートのポート番号を特定する。そして、パケットデータ処理部130M1に当該ポート番号を出力する。
FDB110M1が保持するアドレステーブルは、図5に示すようなテーブルである。すなわち、MACアドレス又はハッシュ値と出力ポート番号とが対応付けて登録されている。但し、ハッシュ値とルートスイッチのIDとの対応関係を別に保持するようにしても良い。k個の端末装置が接続されており、p個のルートスイッチが存在する場合には、1つのルートスイッチにはk/p個のMACアドレスと、ルートスイッチSW1乃至SWnに対応するn個のハッシュ値とがアドレステーブルに登録される。
上位階層スイッチからの転送用パケットを受信した場合には、FDB110M1は、転送用パケットの宛先アドレスを受け取り、当該宛先アドレスでアドレステーブルを検索して対応する出力ポート番号を特定し、当該出力ポート番号をパケットデータ処理部130M1に通知する。
パケットデータ処理部130M1は、ポート番号をFDB110M1から受け取ると、対応する転送用パケット又は学習用パケットのデータを、ポート番号で特定される出力ポートに出力する。この際、FDB110M1も、特定されたポート番号の出力ポートに転送を指示する。
FDB110M1によって特定されたポート番号の出力ポートは、パケットデータ処理部130M1から受け取ったデータを、学習用パケット又は転送用パケットであるとして通常どおり出力する。
以上のような処理を実施すれば、学習用パケットについては送信元アドレスを学習すると共に、送信元アドレスのハッシュ値に基づき上位階層スイッチに転送し、転送用パケットについても宛先アドレスのハッシュ値に基づき上位階層スイッチに転送するような処理が行われるようになる。
次に、図14に示したネットワークについて1つのパケットを端末装置が送信した場合の処理について、図16を用いて説明する。ここでは、上で述べたように図14の端末装置T(1-1)から端末装置T(m-km)へパケットを送信する場合の処理を説明する。リーフスイッチSW1の、端末装置T(1-1)が接続されている下流ポートである入力ポートは、パケットを受信する(ステップS31)。入力ポートは、送信元アドレス及び宛先アドレスをFDB110L1に出力し、FDB110L1は、送信元アドレスについてのハッシュ値HashL(DA)及び宛先アドレスについてのハッシュ値HashL(SA)を算出する。さらに、FDB110L1は、ハッシュ値HashL(DA)に対応するポート番号を特定し、パケットデータ処理部130L1に通知すると共に、当該ポート番号の例えば出力ポートAに転送用パケットであることを通知する。パケットデータ処理部130L1は、入力ポートからパケットのデータを受け取り、共有メモリ131L1に格納し、その後FDB110L1から通知されたポート番号の出力ポートAにパケットのデータを出力し、出力ポートAは、当該パケットを出力する(ステップS33)。
中間スイッチSW2の例えば入力ポートAは、ステップS33で特定されたリーフスイッチSW1の出力ポートAに接続されており、転送用パケットを受信する(ステップS35)。中間スイッチSW2の入力ポートAは、受信パケットから転送用パケットであると識別し、転送用パケットの宛先アドレスをFDB110M1に出力する。FDB110M1は、宛先アドレスのハッシュ値Hashmid(DA)を算出し、当該ハッシュ値Hashmid(DA)に対応するポート番号を特定し、パケットデータ処理部130M1に通知する。入力ポートAは、受信パケットをパケットデータ処理部130M1に出力して、パケットデータ処理部130M1は、共有メモリ131M1に格納し、その後FDB110M1からポート番号の通知を受けると、当該出力ポート番号の例えば出力ポートBにパケットのデータを出力する。出力ポートBは、パケットデータ処理部130M1から受け取ったパケットのデータを出力する(ステップS37)。
ルートスイッチSW1の例えば入力ポートCは、ステップS37で特定された中間スイッチSW2の出力ポートBに接続されており、転送用パケットを受信する(ステップS39)。ルートスイッチSW1の入力ポートCは、受信パケットから転送用パケットであると識別し、転送用パケットの宛先アドレスをFDB110R1に出力する。FDB110R1は、宛先アドレスでアドレステーブルを検索してポート番号を特定し、パケットデータ処理部130R1に通知する。入力ポートCは、受信パケットをパケットデータ処理部130R1に出力して、パケットデータ処理部130R1は、共有メモリ131R1に格納し、その後FDB110R1からポート番号の通知を受けると、当該出力ポート番号の出力ポートAにパケットのデータを出力する。出力ポートAは、パケットデータ処理部130R1から受け取ったパケットのデータを出力する(ステップS41)。
中間スイッチSWpの上流ポートである例えば入力ポートBは、ステップS41で特定されたルートスイッチSW1の出力ポートAに接続されており、転送用パケットを受信する(ステップS43)。中間スイッチSWpの入力ポートBは、転送用パケットの宛先アドレスをFDB110M1に出力し、パケットのデータをパケットデータ処理部130M1に出力し、共有メモリ131M1に格納させる。FDB110M1は、宛先アドレスでアドレステーブルを検索してポート番号を特定し、パケットデータ処理部130M1に通知する。FDB110M1は、さらに特定されたポート番号の出力ポートに、転送用パケットの出力を指示する。パケットデータ処理部130M1は、通知されたポート番号の出力ポートCに、パケットのデータを出力し、出力ポートCは、パケットデータ処理部130M1から受け取ったパケットのデータを出力する(ステップS45)。
リーフスイッチSWmの上流ポートである例えば入力ポートAは、ステップS45で特定された中間スイッチSWpの出力ポートCに接続されており、転送用パケットを受信する(ステップS47)。リーフスイッチSW1の入力ポートAは、転送用パケットの宛先アドレスをFDB110L1に出力し、パケットのデータをパケットデータ処理部130L1に出力し、共有メモリ131L1に格納させる。FDB110L1は、宛先アドレスでアドレステーブルを検索してポート番号を特定し、パケットデータ処理部130L1に通知する。FDB110L1は、さらに特定されたポート番号の出力ポートに、転送用パケットの出力を指示する。パケットデータ処理部130L1は、通知されたポート番号の出力ポートCに、パケットのデータを出力し、出力ポートCは、パケットデータ処理部130L1から受け取ったパケットのデータを出力する(ステップS49)。これによって、パケットが宛先である端末装置T(m-km)に到達する。
また、リーフスイッチSW1のFDB110L1は、受信パケットの送信元アドレスSAのアドレス学習処理を実施する(ステップS51)。そして、FDB110L1は、送信元アドレスについて算出されたハッシュ値HashL(SA)に対応するポート番号を特定し、パケットデータ処理部130L1に通知すると共に、当該ポート番号の出力ポートBに学習用パケットであることを通知する。パケットデータ処理部130L1は、共有メモリ131L1に格納されている受信パケットのデータを、FDB110L1から通知されたポート番号の例えば出力ポートBに出力し、出力ポートBは、受信パケットのデータを学習用パケットとして出力する(ステップS53)。例えば、出力ポートBのタグ付加部131Bが、受信パケットのデータに、学習用パケットであることを表すタグを付加して、出力する。また、第2の実施の形態に従うようにしてもよい。
中間スイッチSW1の例えば入力ポートCは、リーフスイッチSW1の出力ポートBに接続されており、パケットを受信すると、当該パケットが学習用パケットであると識別する(ステップS55)。そして、入力ポートCは、学習用パケットの送信元アドレスをFDB110M1に出力する。FDB110M1は、受け取った送信元アドレスのハッシュ値Hashmid(SA)を算出し、当該ハッシュ値Hashmid(SA)に対応するポート番号を特定し、パケットデータ処理部130M1に通知する。入力ポートCは、受信した学習用パケットをパケットデータ処理部130M1に出力して、パケットデータ処理部130M1は、共有メモリ131M1に格納し、その後FDB110M1からポート番号の通知を受けると、当該出力ポート番号の出力ポートAにパケットのデータを出力する。出力ポートAは、パケットデータ処理部130M1から受け取った学習用パケットのデータを出力する(ステップS57)。そして、FDB110M1は、受け取った送信元アドレスについてアドレス学習処理を実施する(ステップS59)。
ルートスイッチSW2の例えば入力ポートBは、中間スイッチSW1の出力ポートAに接続されており、パケットを受信すると、当該パケットが学習用パケットを特定する(ステップS61)。そして、入力ポートBは、学習用パケットの送信元アドレスをFDB110R1に出力する。FDB110R1は、受け取った送信元アドレスについてアドレス学習処理を実施する(ステップS63)。転送は行わない。
以上のような処理を実施することによって、3階層のスイッチ接続網においても、1つのルートスイッチの学習すべきアドレスの数を削減することができる。また、中間スイッチについても1つの中間スイッチが学習すべきアドレスの数は少なくなっている。さらに、負荷分散も図られている。
スイッチ接続網が3層以上になっても基本的な動作は同じである。すなわち、中間スイッチの層が増加するだけで、中間スイッチの動作は上で述べたものと同様である。より具体的には、下位階層のスイッチが接続されている下流ポートから学習用パケットを受信した場合には、当該階層において共通のハッシュ関数で送信元アドレスのハッシュ値を算出し、当該ハッシュ値に対応する出力ポートから学習用パケットを転送する。下流ポートから転送用パケットを受信した場合には、当該階層において共通のハッシュ関数で宛先アドレスのハッシュ値を算出し、当該ハッシュ値に対応する出力ポートから転送用パケットを転送する。一方、上位階層スイッチが接続されている上流ポートから転送用パケットを受信した場合には、転送用パケットの宛先アドレスでアドレステーブルを検索して出力ポートを特定し、当該出力ポートから転送用パケットを転送する。
また、本実施の形態は、第1乃至第6の実施の形態を適用することができる。具体的には、第1の実施の形態のようにリーフスイッチSW1乃至SWmの出力ポートにタグ付加部を採用する場合には、中間スイッチSW1乃至SWp及びルートスイッチSW1乃至SWnの入力ポートにもタグ検出部を採用する。また、第2の実施の形態のようにルートスイッチSW1乃至SWnの入力ポートに種別判定部を導入する場合には、中間スイッチSW1乃至SWpの入力ポートにも種別判定部を導入する。種別判定部は下位階層のハッシュ関数及び本階層のスイッチの数を保持して、算出する。
さらに、第3の実施の形態においてリーフスイッチSW1乃至SWmの出力ポートで学習用パケットのサイズを小さくする場合には、そのような学習用パケットを中間スイッチSW1乃至SWpはそのまま転送する。
また、第4乃至第6の実施の形態における優先度の変更、帯域の制限、重複パケットの削減については、中間スイッチSW1乃至SWpの出力ポートでも同様に実施してもよい。
以上本技術の実施の形態を説明したが本技術はこれらに限定されるものではない。例えば、図10及び図16の処理フローは一例であって、処理結果が変わらない限りにおいて処理の順番を入れ替えることが可能であり、並列に実行しても良い。特に転送用パケットの出力及び学習用パケットの出力の順番は入れ替え可能である。送信元アドレスの学習も並列して実行可能である。
さらに、リーフスイッチSW1乃至SWm、中間スイッチSW1乃至SWp及びルートスイッチSW1乃至SWn並びにそれらのスイッチLSIの機能ブロック図は、一例であって必ずしも実際の回路構成とは一致しない場合もある。但し上で述べた機能を実現できれば問題はない。
以上本実施の形態をまとめると以下のようになる。
実施の形態の第1の側面に係るスイッチは、スイッチの多段接続網における末端スイッチ(例えば実施の形態におけるリーフSW。図17。)として動作するスイッチであり、複数のポート(入力ポートと出力ポートのセット)3001乃至3003と、ポートの識別子と当該ポートに接続されている下層の装置のアドレスとを対応付けて格納するデータベース3101を含み、上記ポートで受信したパケットの送信元アドレス及び宛先アドレスについて処理を行う第1の処理部3100と、上記ポートで受信したパケットのデータを格納するメモリ3201を有し、第1の処理部3100に従ってメモリ3201に格納されているパケットのデータを上記ポートに出力する第2の処理部3200とを有する。そして、第1の処理部3100は、上記ポートに接続されている下層の装置から受信したパケットの送信元アドレスをデータベース3101に登録するための学習処理を実施する。また、第1の処理部3100は、上記ポートに接続されている下層の装置から受信したパケットの宛先アドレスについて所定のハッシュ関数による第1のハッシュ値を算出し、当該第1のハッシュ値に対応する転送先スイッチが接続されている第1の出力先ポートを特定して、第2の処理部3200に対して上記パケットのデータを第1の出力先ポートへ出力させる。さらに、第1の処理部3100は、送信元アドレスについて所定のハッシュ関数による第2のハッシュ値を算出し、当該第2のハッシュ値に対応し且つ送信元アドレスを学習すべき上位階層のスイッチが接続されている第2の出力先ポートを特定して、第2の処理部3200に対して上記パケットのデータを学習用パケットとして第2の出力先ポートへ出力させる。
このように送信元アドレスの学習を行う上位階層のスイッチ、すなわち本スイッチにパケットを転送してくるスイッチを所定のハッシュ関数に基づきスイッチしているので、配下の端末装置が増加した場合においても上位階層の1つのスイッチで学習しなければならないアドレスの数を削減することができる。
なお、上で述べた第2の出力先ポートが、上記パケットのデータに対して学習用パケットであることを表すデータを付加するようにしてもよい。このようにすれば、上位階層のスイッチで容易に学習用パケットを識別することができる。
また、上で述べた第2の出力先ポート又は第2の処理部3200が、学習用パケットについてペイロードの少なくとも一部を削除するようにしてもよい。学習用パケットを例えば許可される最小サイズにすることによって、学習用パケットを導入することによって増加する通信データ量を削減することができるようになる。
さらに、上で述べた第2の出力先ポートが、学習用パケットの優先度を下げるようにしてもよい。学習用パケットは必ず送信しなければならないわけではないので、転送すべき通常パケットの数が多い場合には、破棄するようにしても良い。同様に、上で述べた第2の出力先ポートが、学習用パケットの送出のための帯域を制限するようにしてもよい。
また、上で述べた第2の出力先ポートが、複数の学習用パケットのうち同一の送信元アドレスのパケットを特定し、当該パケットの出力個数を制限するようにしてもよい。アドレス学習のためであれば、同一の送信元アドレスにつき1回学習できればよいので、パケットが滞留している場合には上記のようなパケットの出力個数を例えば1個に制限するようにしても良い。
さらに、第1の出力先ポートと第2の出力先ポートとが一致する場合には、上で述べた第2の処理部が、第1の出力先ポートへ上記パケットのデータを1度だけ出力するようにしてもよい。すなわち、転送すべきパケットであり且つ学習用パケットでもあるパケットを1つ出力するものである。
また、上で述べた第1の処理部3100は、第1のハッシュ値に対応する転送先スイッチが自スイッチである場合には、宛先アドレスでデータベースを検索して第3の出力先ポートを特定し、第2の処理部3200に対してパケットのデータを第3の出力先ポートへ出力させるようにしてもよい。自スイッチの配下の端末装置へのパケットであれば上位階層に転送用のパケットを送信する必要はない。
実施の形態の第2の態様に係る第2のスイッチは、スイッチの多段接続網における最上位階層のスイッチ(例えば実施の形態におけるルートSW。図17。)として動作するスイッチであり、複数のポート3001乃至3003と、ポートの識別子と当該ポートに接続されている下層のスイッチ又はそれより下位のスイッチに接続されている装置のアドレスとを対応付けて格納するデータベース3101を含み、上記ポートで受信したパケットの送信元アドレス及び宛先アドレスについて処理を行う第1の処理部3100と、上記ポートで受信したパケットのデータを格納するメモリ3201を有し、第1の処理部3100に従ってメモリ3201に格納されているパケットのデータを上記ポートに出力する第2の処理部3200とを有する。そして、上で述べた複数のポートの各々が、当該ポートに接続されている下層のスイッチから受信したパケットについて、送信元アドレスの学習用パケットであるか転送すべきパケットであるかを識別し、学習用パケットであれば当該パケットの送信元アドレスを第1の処理部に出力し、転送すべきパケットであれば当該パケットの宛先アドレスを第1の処理部に出力する。また、上で述べた第1の処理部は、複数のポートから受信した送信元アドレスをデータベース3101に登録するための学習処理を実施する。さらに、第1の処理部3100は、複数のポートから受信した宛先アドレスでデータベース3101を検索して出力先ポートを特定し、第2の処理部3200に対して上記パケットのデータを出力先ポートへ出力させる。
このように最上位階層のスイッチでは、下位階層のスイッチから送られてくる学習用パケットの送信元アドレスのみを学習すればよいので、下位階層のスイッチで適切に学習用パケットの送信先スイッチを限定できていればデータベースに登録しなければならない送信元アドレスの数が削減される。
なお、上で述べた複数のポートの各々が、受信したパケットに、学習用パケットであることを表すデータが含まれているか否かにより、学習用パケットであるか転送すべきパケットであるかを識別するようにしてもよい。学習用パケットであることが容易に判定できる。
また、上で述べた複数のポートの各々が、受信したパケットの送信元アドレスについて1つ下位の階層のスイッチで使用されているハッシュ関数による第1のハッシュ値を算出し、当該第1のハッシュ値が自スイッチの識別子であれば、当該受信したパケットを学習用パケットであると識別するようにしてもよい。また、受信したパケットの宛先アドレスについて上記ハッシュ関数による第2のハッシュ値を算出し、当該第2のハッシュ値が自スイッチの識別子であれば、当該受信したパケットを転送用パケットであると識別するようにしてもよい。このような場合には、下層のスイッチでは、パケットを加工しなくてもよい。
実施の形態の第3の側面に係るスイッチは、スイッチの多段接続網における最上位階層及び最下層のスイッチ以外の中間階層のスイッチ(例えば実施の形態における中間SW。図17。)として動作するスイッチであり、複数のポート3001乃至3003と、ポートの識別子と当該ポートに接続されている下層のスイッチ又はそれより下位のスイッチに接続されている装置のアドレスとを対応付けて格納するデータベース3101を含み、上記ポートで受信したパケットの送信元アドレス及び宛先アドレスについて処理を行う第1の処理部3100と、上記ポートで受信したパケットのデータを格納するメモリ3201を有し、第1の処理部3100に従ってメモリ3201に格納されているパケットのデータを上記ポートに出力する第2の処理部3200とを有する。そして、複数のポートの各々が、当該ポートに接続されている下層のスイッチから受信したパケットについて、送信元アドレスの学習用パケットであるか転送すべきパケットであるかを識別し、学習用パケットであれば当該パケットの送信元アドレスを第1の処理部3100に出力し、転送すべきパケットであれば当該パケットの宛先アドレスを第1の処理部3100に出力する。また、上で述べた第1の処理部3100は、複数のポートから受信した送信元アドレスをデータベースに登録するための学習処理を実施する。さらに、第1の処理部3100は、複数のポートから受信した宛先アドレスについて所定のハッシュ関数による第1のハッシュ値を算出し、当該第1のハッシュ値に対応する転送先スイッチが接続されている第1の出力先ポートを特定して、第2の処理部3200に対して上記パケットのデータを第1の出力先ポートへ出力させる。さらに、第1の処理部3100は、複数のポートから受信した送信元アドレスについて所定のハッシュ関数による第2のハッシュ値を算出し、当該第2のハッシュ値に対応し且つ送信元アドレスを学習すべき上位階層のスイッチが接続されている第2の出力先ポートを特定して、第2の処理部3200に対して上記パケットのデータを第2の出力先ポートへ出力させる。
3段以上のスイッチ網においても、このような中間階層のスイッチを導入することにより、上位階層のスイッチが学習すべき送信元アドレスの数を削減できる。すなわち、上で述べた所定のハッシュ関数による送信元アドレスについての第2のハッシュ値に応じて、学習用パケットが送信される上位階層のスイッチがスイッチされるので、その分上位階層の1つのスイッチが学習すべき送信元アドレスの数が少なくなっている。なお、下位階層のスイッチでも同様にハッシュ関数で学習用パケットの送信先をスイッチしていれば、本スイッチにおいても学習すべき送信元アドレスの数が削減されている。
なお、上で述べた複数のポートの各々が、受信したパケットに、学習用パケットであることを表すデータが含まれているか否かにより、学習用パケットであるか転送すべきパケットであるかを識別するようにしてもよい。上位階層のスイッチでは容易に学習用パケットであるか否かを判別できるようになる。
さらに、上で述べた複数のポートの各々が、受信したパケットの送信元アドレスについて1つ下位の階層で用いられている第2のハッシュ関数による第3のハッシュ値を算出し、当該第3のハッシュ値が自スイッチの識別子であれば、当該受信したパケットを学習用パケットであると識別するようにしてもよい。また、当該受信したパケットの宛先アドレスについて第2のハッシュ関数による第4のハッシュ値を算出し、当該第4のハッシュ値が自スイッチの識別子であれば、当該受信したパケットを転送用パケットであると識別するようにしてもよい。このような構成であれば、下位階層のスイッチではパケットを加工せずに済む。
本実施の形態の第4の側面に係るアドレス学習方法(図18)は、スイッチの多段接続網における末端スイッチとして動作するスイッチにより実行されるアドレス学習方法であり、ポートに接続されている下層の装置からパケットを受信した場合、所定のハッシュ関数による当該パケットの宛先アドレスについての第1のハッシュ値から上記パケットの転送先スイッチが接続されている第1の出力先ポートを特定し、上記パケットを第1の出力先ポートから出力するステップ(ステップS3001)と、上記パケットの送信元アドレスを、ポートの識別子と当該ポートに接続されている下層の装置のアドレスと対応付けて格納するデータベースに格納するための学習処理を実施するステップ(ステップS3003)と、所定のハッシュ関数による上記パケットの送信元アドレスについての第2のハッシュ値から上記パケットの送信元アドレスを学習すべき上位階層のスイッチが接続されている第2の出力先ポートを特定し、上記パケットについての学習用パケットを第2の出力先ポートから出力するステップ(ステップS3005)とを含む。
最下層のスイッチで上で述べたような処理を実施すれば、上位階層のスイッチで学習すべき送信元アドレスの数を削減できるようになる。
本実施の形態の第5の側面に係るアドレス学習方法(図19)は、スイッチの多段接続網における最上位階層のスイッチとして動作するスイッチにより実行されるアドレス学習方法であり、ポートに接続されている下層のスイッチから受信したパケットについて、送信元アドレスの学習用パケットであるか転送すべきパケットであるかを識別するステップ(ステップS3101)と、送信元アドレスの学習用パケットであれば、当該パケットの送信元アドレスを、ポートの識別子と当該ポートに接続されている下層のスイッチ又はそれより下位のスイッチに接続されている装置のアドレスとを対応付けて格納するデータベースに登録するための学習処理を実施するステップ(ステップS3105)と、転送すべきパケットであれば、当該パケットの宛先アドレスでデータベースを検索して出力先ポートを特定し、転送すべきパケットを出力先ポートから出力するステップ(ステップS3107)とを含む。
下位階層のスイッチで例えばハッシュ関数により学習用パケットの送信先スイッチが適切に限定されていれば、学習すべき送信元アドレスの数が削減される。
本実施の形態の第6の側面に係るアドレス学習方法(図20)は、スイッチの多段接続網における最上位階層及び最下層のスイッチ以外の中間階層のスイッチにより実行されるアドレス学習方法であり、ポートに接続されている下層のスイッチから受信したパケットについて、送信元アドレスの学習用パケットであるか転送すべきパケットであるかを識別するステップ(ステップS3201)と、送信元アドレスの学習用パケットであれば、当該パケットの送信元アドレスを、ポートの識別子と当該ポートに接続されている下層のスイッチ又はそれより下位のスイッチに接続されている装置のアドレスとを対応付けて格納するデータベースに登録するための学習処理を実施するステップ(ステップS3205)と、送信元アドレスの学習用パケットであれば、送信元アドレスについて所定のハッシュ関数による第1のハッシュ値を算出し、当該第1のハッシュ値に対応し且つ送信元アドレスを学習すべき上位階層のスイッチが接続されている第1の出力先ポートを特定して、上記パケットのデータを第1の出力先ポートから出力するステップ(ステップS3207)と、転送すべきパケットであれば、当該パケットの宛先アドレスについて所定のハッシュ関数による第2のハッシュ値を算出し、当該第2のハッシュ値に対応する転送先スイッチが接続されている第2の出力先ポートを特定して、上記パケットのデータを第2の出力先ポートから出力するステップ(ステップS3209)とを含む。
このようにすれば、上位階層のスイッチにおいても学習すべき送信元アドレスの数が削減される。下位階層のスイッチにおいてもハッシュ関数などにより学習用パケットの送信先スイッチを適切に振り分けていれば自スイッチにおいても学習すべき送信元アドレスの数が削減される。
なお、上で述べたスイッチの機能を有するスイッチLSIが製造販売される場合もある。
(付記1)
スイッチの多段接続網における末端スイッチとして動作するスイッチであって、
複数のポートと、
ポートの識別子と当該ポートに接続されている下層の装置のアドレスとを対応付けて格納するデータベースを含み、前記ポートで受信したパケットの送信元アドレス及び宛先アドレスについて処理を行う第1の処理部と、
前記ポートで受信したパケットのデータを格納するメモリを有し、前記第1の処理部に従って前記メモリに格納されているパケットのデータを前記ポートに出力する第2の処理部と、
を有し、
前記第1の処理部は、
前記ポートに接続されている下層の装置から受信したパケットの送信元アドレスを前記データベースに登録するための学習処理を実施し、
前記ポートに接続されている下層の装置から受信したパケットの宛先アドレスについて所定のハッシュ関数による第1のハッシュ値を算出し、当該第1のハッシュ値に対応する転送先スイッチが接続されている第1の出力先ポートを特定して、前記第2の処理部に対して前記パケットのデータを前記第1の出力先ポートへ出力させ、
前記送信元アドレスについて前記所定のハッシュ関数による第2のハッシュ値を算出し、当該第2のハッシュ値に対応し且つ前記送信元アドレスを学習すべき上位階層のスイッチが接続されている第2の出力先ポートを特定して、前記第2の処理部に対して前記パケットのデータを学習用パケットとして前記第2の出力先ポートへ出力させる
スイッチ。
スイッチの多段接続網における末端スイッチとして動作するスイッチであって、
複数のポートと、
ポートの識別子と当該ポートに接続されている下層の装置のアドレスとを対応付けて格納するデータベースを含み、前記ポートで受信したパケットの送信元アドレス及び宛先アドレスについて処理を行う第1の処理部と、
前記ポートで受信したパケットのデータを格納するメモリを有し、前記第1の処理部に従って前記メモリに格納されているパケットのデータを前記ポートに出力する第2の処理部と、
を有し、
前記第1の処理部は、
前記ポートに接続されている下層の装置から受信したパケットの送信元アドレスを前記データベースに登録するための学習処理を実施し、
前記ポートに接続されている下層の装置から受信したパケットの宛先アドレスについて所定のハッシュ関数による第1のハッシュ値を算出し、当該第1のハッシュ値に対応する転送先スイッチが接続されている第1の出力先ポートを特定して、前記第2の処理部に対して前記パケットのデータを前記第1の出力先ポートへ出力させ、
前記送信元アドレスについて前記所定のハッシュ関数による第2のハッシュ値を算出し、当該第2のハッシュ値に対応し且つ前記送信元アドレスを学習すべき上位階層のスイッチが接続されている第2の出力先ポートを特定して、前記第2の処理部に対して前記パケットのデータを学習用パケットとして前記第2の出力先ポートへ出力させる
スイッチ。
(付記2)
前記第2の出力先ポートが、前記パケットのデータに対して前記学習用パケットであることを表すデータを付加する
付記1記載のスイッチ。
前記第2の出力先ポートが、前記パケットのデータに対して前記学習用パケットであることを表すデータを付加する
付記1記載のスイッチ。
(付記3)
前記第2の出力先ポート又は前記第2の処理部が、前記学習用パケットについてペイロードの少なくとも一部を削除する
付記1又は2記載のスイッチ。
前記第2の出力先ポート又は前記第2の処理部が、前記学習用パケットについてペイロードの少なくとも一部を削除する
付記1又は2記載のスイッチ。
(付記4)
前記第2の出力先ポートが、前記学習用パケットの優先度を下げる
付記1又は2記載のスイッチ。
前記第2の出力先ポートが、前記学習用パケットの優先度を下げる
付記1又は2記載のスイッチ。
(付記5)
前記第2の出力先ポートが、前記学習用パケットの送出のための帯域を制限する
付記1又は2記載のスイッチ。
前記第2の出力先ポートが、前記学習用パケットの送出のための帯域を制限する
付記1又は2記載のスイッチ。
(付記6)
前記第2の出力先ポートが、複数の学習用パケットのうち同一の前記送信元アドレスのパケットを特定し、当該パケットの出力個数を制限する
付記1又は2記載のスイッチ。
前記第2の出力先ポートが、複数の学習用パケットのうち同一の前記送信元アドレスのパケットを特定し、当該パケットの出力個数を制限する
付記1又は2記載のスイッチ。
(付記7)
前記第1の出力先ポートと前記第2の出力先ポートとが一致する場合には、前記第2の処理部が、前記第1の出力先ポートへ前記パケットのデータを1度だけ出力する
付記1又は2記載のスイッチ。
前記第1の出力先ポートと前記第2の出力先ポートとが一致する場合には、前記第2の処理部が、前記第1の出力先ポートへ前記パケットのデータを1度だけ出力する
付記1又は2記載のスイッチ。
(付記8)
前記第1の処理部は、
前記第1のハッシュ値に対応する転送先スイッチが自スイッチである場合には、前記宛先アドレスで前記データベースを検索して第3の出力先ポートを特定し、前記第2の処理部に対して前記パケットのデータを前記第3の出力先ポートへ出力させる
付記1乃至7のいずれか1つ記載のスイッチ。
前記第1の処理部は、
前記第1のハッシュ値に対応する転送先スイッチが自スイッチである場合には、前記宛先アドレスで前記データベースを検索して第3の出力先ポートを特定し、前記第2の処理部に対して前記パケットのデータを前記第3の出力先ポートへ出力させる
付記1乃至7のいずれか1つ記載のスイッチ。
(付記9)
スイッチの多段接続網における最上位階層のスイッチとして動作するスイッチであって、
複数のポートと、
ポートの識別子と当該ポートに接続されている下層のスイッチ又はそれより下位のスイッチに接続されている装置のアドレスとを対応付けて格納するデータベースを含み、前記ポートで受信したパケットの送信元アドレス及び宛先アドレスについて処理を行う第1の処理部と、
前記ポートで受信したパケットのデータを格納するメモリを有し、前記第1の処理部に従って前記メモリに格納されているパケットのデータを前記ポートに出力する第2の処理部と、
を有し、
前記複数のポートの各々が、
当該ポートに接続されている下層のスイッチから受信したパケットについて、送信元アドレスの学習用パケットであるか転送すべきパケットであるかを識別し、前記学習用パケットであれば当該パケットの送信元アドレスを前記第1の処理部に出力し、前記転送すべきパケットであれば当該パケットの宛先アドレスを前記第1の処理部に出力し、
前記第1の処理部は、
前記複数のポートから受信した前記送信元アドレスを前記データベースに登録するための学習処理を実施し、
前記複数のポートから受信した前記宛先アドレスで前記データベースを検索して出力先ポートを特定し、前記第2の処理部に対して前記パケットのデータを前記出力先ポートへ出力させる
スイッチ。
スイッチの多段接続網における最上位階層のスイッチとして動作するスイッチであって、
複数のポートと、
ポートの識別子と当該ポートに接続されている下層のスイッチ又はそれより下位のスイッチに接続されている装置のアドレスとを対応付けて格納するデータベースを含み、前記ポートで受信したパケットの送信元アドレス及び宛先アドレスについて処理を行う第1の処理部と、
前記ポートで受信したパケットのデータを格納するメモリを有し、前記第1の処理部に従って前記メモリに格納されているパケットのデータを前記ポートに出力する第2の処理部と、
を有し、
前記複数のポートの各々が、
当該ポートに接続されている下層のスイッチから受信したパケットについて、送信元アドレスの学習用パケットであるか転送すべきパケットであるかを識別し、前記学習用パケットであれば当該パケットの送信元アドレスを前記第1の処理部に出力し、前記転送すべきパケットであれば当該パケットの宛先アドレスを前記第1の処理部に出力し、
前記第1の処理部は、
前記複数のポートから受信した前記送信元アドレスを前記データベースに登録するための学習処理を実施し、
前記複数のポートから受信した前記宛先アドレスで前記データベースを検索して出力先ポートを特定し、前記第2の処理部に対して前記パケットのデータを前記出力先ポートへ出力させる
スイッチ。
(付記10)
前記複数のポートの各々が、
受信したパケットに、学習用パケットであることを表すデータが含まれているか否かにより、前記学習用パケットであるか前記転送すべきパケットであるかを識別する
付記9記載のスイッチ。
前記複数のポートの各々が、
受信したパケットに、学習用パケットであることを表すデータが含まれているか否かにより、前記学習用パケットであるか前記転送すべきパケットであるかを識別する
付記9記載のスイッチ。
(付記11)
前記複数のポートの各々が、
受信したパケットの送信元アドレスについて1つ下位の階層のスイッチで使用されているハッシュ関数による第1のハッシュ値を算出し、当該第1のハッシュ値が自スイッチの識別子であれば、当該受信したパケットを前記学習用パケットであると識別し、
当該受信したパケットの宛先アドレスについて前記ハッシュ関数による第2のハッシュ値を算出し、当該第2のハッシュ値が自スイッチの識別子であれば、当該受信したパケットを前記転送用パケットであると識別する
付記9記載のスイッチ。
前記複数のポートの各々が、
受信したパケットの送信元アドレスについて1つ下位の階層のスイッチで使用されているハッシュ関数による第1のハッシュ値を算出し、当該第1のハッシュ値が自スイッチの識別子であれば、当該受信したパケットを前記学習用パケットであると識別し、
当該受信したパケットの宛先アドレスについて前記ハッシュ関数による第2のハッシュ値を算出し、当該第2のハッシュ値が自スイッチの識別子であれば、当該受信したパケットを前記転送用パケットであると識別する
付記9記載のスイッチ。
(付記12)
スイッチの多段接続網における最上位階層及び最下層のスイッチ以外の中間階層のスイッチとして動作するスイッチであって、
複数のポートと、
ポートの識別子と当該ポートに接続されている下層のスイッチ又はそれより下位のスイッチに接続されている装置のアドレスとを対応付けて格納するデータベースを含み、前記ポートで受信したパケットの送信元アドレス及び宛先アドレスについて処理を行う第1の処理部と、
前記ポートで受信したパケットのデータを格納するメモリを有し、前記第1の処理部に従って前記メモリに格納されているパケットのデータを前記ポートに出力する第2の処理部と、
を有し、
前記複数のポートの各々が、
当該ポートに接続されている下層のスイッチから受信したパケットについて、送信元アドレスの学習用パケットであるか転送すべきパケットであるかを識別し、前記学習用パケットであれば当該パケットの送信元アドレスを前記第1の処理部に出力し、前記転送すべきパケットであれば当該パケットの宛先アドレスを前記第1の処理部に出力し、
前記第1の処理部は、
前記複数のポートから受信した前記送信元アドレスを前記データベースに登録するための学習処理を実施し、
前記複数のポートから受信した前記宛先アドレスについて所定のハッシュ関数による第1のハッシュ値を算出し、当該第1のハッシュ値に対応する転送先スイッチが接続されている第1の出力先ポートを特定して、前記第2の処理部に対して前記パケットのデータを前記第1の出力先ポートへ出力させ、
前記複数のポートから受信した前記送信元アドレスについて前記所定のハッシュ関数による第2のハッシュ値を算出し、当該第2のハッシュ値に対応し且つ前記送信元アドレスを学習すべき上位階層のスイッチが接続されている第2の出力先ポートを特定して、前記第2の処理部に対して前記パケットのデータを前記第2の出力先ポートへ出力させる
スイッチ。
スイッチの多段接続網における最上位階層及び最下層のスイッチ以外の中間階層のスイッチとして動作するスイッチであって、
複数のポートと、
ポートの識別子と当該ポートに接続されている下層のスイッチ又はそれより下位のスイッチに接続されている装置のアドレスとを対応付けて格納するデータベースを含み、前記ポートで受信したパケットの送信元アドレス及び宛先アドレスについて処理を行う第1の処理部と、
前記ポートで受信したパケットのデータを格納するメモリを有し、前記第1の処理部に従って前記メモリに格納されているパケットのデータを前記ポートに出力する第2の処理部と、
を有し、
前記複数のポートの各々が、
当該ポートに接続されている下層のスイッチから受信したパケットについて、送信元アドレスの学習用パケットであるか転送すべきパケットであるかを識別し、前記学習用パケットであれば当該パケットの送信元アドレスを前記第1の処理部に出力し、前記転送すべきパケットであれば当該パケットの宛先アドレスを前記第1の処理部に出力し、
前記第1の処理部は、
前記複数のポートから受信した前記送信元アドレスを前記データベースに登録するための学習処理を実施し、
前記複数のポートから受信した前記宛先アドレスについて所定のハッシュ関数による第1のハッシュ値を算出し、当該第1のハッシュ値に対応する転送先スイッチが接続されている第1の出力先ポートを特定して、前記第2の処理部に対して前記パケットのデータを前記第1の出力先ポートへ出力させ、
前記複数のポートから受信した前記送信元アドレスについて前記所定のハッシュ関数による第2のハッシュ値を算出し、当該第2のハッシュ値に対応し且つ前記送信元アドレスを学習すべき上位階層のスイッチが接続されている第2の出力先ポートを特定して、前記第2の処理部に対して前記パケットのデータを前記第2の出力先ポートへ出力させる
スイッチ。
(付記13)
前記複数のポートの各々が、
受信したパケットに、学習用パケットであることを表すデータが含まれているか否かにより、前記学習用パケットであるか前記転送すべきパケットであるかを識別する
付記12記載のスイッチ。
前記複数のポートの各々が、
受信したパケットに、学習用パケットであることを表すデータが含まれているか否かにより、前記学習用パケットであるか前記転送すべきパケットであるかを識別する
付記12記載のスイッチ。
(付記14)
前記複数のポートの各々が、
受信したパケットの送信元アドレスについて1つ下位の階層で用いられている第2のハッシュ関数による第3のハッシュ値を算出し、当該第3のハッシュ値が自スイッチの識別子であれば、当該受信したパケットを前記学習用パケットであると識別し、
当該受信したパケットの宛先アドレスについて前記第2のハッシュ関数による第4のハッシュ値を算出し、当該第4のハッシュ値が自スイッチの識別子であれば、当該受信したパケットを前記転送用パケットであると識別する
付記12記載のスイッチ。
前記複数のポートの各々が、
受信したパケットの送信元アドレスについて1つ下位の階層で用いられている第2のハッシュ関数による第3のハッシュ値を算出し、当該第3のハッシュ値が自スイッチの識別子であれば、当該受信したパケットを前記学習用パケットであると識別し、
当該受信したパケットの宛先アドレスについて前記第2のハッシュ関数による第4のハッシュ値を算出し、当該第4のハッシュ値が自スイッチの識別子であれば、当該受信したパケットを前記転送用パケットであると識別する
付記12記載のスイッチ。
(付記15)
スイッチの多段接続網における末端スイッチとして動作するスイッチにより実行されるアドレス学習方法であって、
ポートに接続されている下層の装置からパケットを受信した場合、所定のハッシュ関数による当該パケットの宛先アドレスについての第1のハッシュ値から前記パケットの転送先スイッチが接続されている第1の出力先ポートを特定し、前記パケットを前記第1の出力先ポートから出力するステップと、
前記パケットの送信元アドレスを、ポートの識別子と前記ポートに接続されている下層の装置のアドレスと対応付けて格納するデータベースに格納するための学習処理を実施するステップと、
前記所定のハッシュ関数による前記パケットの送信元アドレスについての第2のハッシュ値から前記パケットの送信元アドレスを学習すべき上位階層のスイッチが接続されている第2の出力先ポートを特定し、前記パケットについての学習用パケットを前記第2の出力先ポートから出力するステップと、
を含むアドレス学習方法。
スイッチの多段接続網における末端スイッチとして動作するスイッチにより実行されるアドレス学習方法であって、
ポートに接続されている下層の装置からパケットを受信した場合、所定のハッシュ関数による当該パケットの宛先アドレスについての第1のハッシュ値から前記パケットの転送先スイッチが接続されている第1の出力先ポートを特定し、前記パケットを前記第1の出力先ポートから出力するステップと、
前記パケットの送信元アドレスを、ポートの識別子と前記ポートに接続されている下層の装置のアドレスと対応付けて格納するデータベースに格納するための学習処理を実施するステップと、
前記所定のハッシュ関数による前記パケットの送信元アドレスについての第2のハッシュ値から前記パケットの送信元アドレスを学習すべき上位階層のスイッチが接続されている第2の出力先ポートを特定し、前記パケットについての学習用パケットを前記第2の出力先ポートから出力するステップと、
を含むアドレス学習方法。
(付記16)
スイッチの多段接続網における最上位階層のスイッチとして動作するスイッチにより実行されるアドレス学習方法であって、
ポートに接続されている下層のスイッチから受信したパケットについて、送信元アドレスの学習用パケットであるか転送すべきパケットであるかを識別するステップと、
前記送信元アドレスの学習用パケットであれば、当該パケットの送信元アドレスを、ポートの識別子と当該ポートに接続されている下層のスイッチ又はそれより下位のスイッチに接続されている装置のアドレスとを対応付けて格納するデータベースに登録するための学習処理を実施するステップと、
前記転送すべきパケットであれば、当該パケットの宛先アドレスで前記データベースを検索して出力先ポートを特定し、前記転送すべきパケットを前記出力先ポートから出力するステップと、
を含むアドレス学習方法。
スイッチの多段接続網における最上位階層のスイッチとして動作するスイッチにより実行されるアドレス学習方法であって、
ポートに接続されている下層のスイッチから受信したパケットについて、送信元アドレスの学習用パケットであるか転送すべきパケットであるかを識別するステップと、
前記送信元アドレスの学習用パケットであれば、当該パケットの送信元アドレスを、ポートの識別子と当該ポートに接続されている下層のスイッチ又はそれより下位のスイッチに接続されている装置のアドレスとを対応付けて格納するデータベースに登録するための学習処理を実施するステップと、
前記転送すべきパケットであれば、当該パケットの宛先アドレスで前記データベースを検索して出力先ポートを特定し、前記転送すべきパケットを前記出力先ポートから出力するステップと、
を含むアドレス学習方法。
(付記17)
スイッチの多段接続網における最上位階層及び最下層のスイッチ以外の中間階層のスイッチにより実行されるアドレス学習方法であって、
ポートに接続されている下層のスイッチから受信したパケットについて、送信元アドレスの学習用パケットであるか転送すべきパケットであるかを識別するステップと、
前記送信元アドレスの学習用パケットであれば、当該パケットの送信元アドレスを、ポートの識別子と当該ポートに接続されている下層のスイッチ又はそれより下位のスイッチに接続されている装置のアドレスとを対応付けて格納するデータベースに登録するための学習処理を実施するステップと、
前記送信元アドレスの学習用パケットであれば、前記送信元アドレスについて所定のハッシュ関数による第1のハッシュ値を算出し、当該第1のハッシュ値に対応し且つ前記送信元アドレスを学習すべき上位階層のスイッチが接続されている第1の出力先ポートを特定して、前記パケットのデータを前記第1の出力先ポートから出力するステップと、
前記転送すべきパケットであれば、当該パケットの宛先アドレスについて前記所定のハッシュ関数による第2のハッシュ値を算出し、当該第2のハッシュ値に対応する転送先スイッチが接続されている第2の出力先ポートを特定して、前記パケットのデータを前記第2の出力先ポートから出力するステップと、
を含むアドレス学習方法。
スイッチの多段接続網における最上位階層及び最下層のスイッチ以外の中間階層のスイッチにより実行されるアドレス学習方法であって、
ポートに接続されている下層のスイッチから受信したパケットについて、送信元アドレスの学習用パケットであるか転送すべきパケットであるかを識別するステップと、
前記送信元アドレスの学習用パケットであれば、当該パケットの送信元アドレスを、ポートの識別子と当該ポートに接続されている下層のスイッチ又はそれより下位のスイッチに接続されている装置のアドレスとを対応付けて格納するデータベースに登録するための学習処理を実施するステップと、
前記送信元アドレスの学習用パケットであれば、前記送信元アドレスについて所定のハッシュ関数による第1のハッシュ値を算出し、当該第1のハッシュ値に対応し且つ前記送信元アドレスを学習すべき上位階層のスイッチが接続されている第1の出力先ポートを特定して、前記パケットのデータを前記第1の出力先ポートから出力するステップと、
前記転送すべきパケットであれば、当該パケットの宛先アドレスについて前記所定のハッシュ関数による第2のハッシュ値を算出し、当該第2のハッシュ値に対応する転送先スイッチが接続されている第2の出力先ポートを特定して、前記パケットのデータを前記第2の出力先ポートから出力するステップと、
を含むアドレス学習方法。
100 スイッチLSI 110 FDB
120 管理部 130 パケットデータ処理部
120 管理部 130 パケットデータ処理部
Claims (10)
- スイッチの多段接続網における末端スイッチとして動作するスイッチであって、
複数のポートと、
ポートの識別子と当該ポートに接続されている下層の装置のアドレスとを対応付けて格納するデータベースを含み、前記ポートで受信したパケットの送信元アドレス及び宛先アドレスについて処理を行う第1の処理部と、
前記ポートで受信したパケットのデータを格納するメモリを有し、前記第1の処理部に従って前記メモリに格納されているパケットのデータを前記ポートに出力する第2の処理部と、
を有し、
前記第1の処理部は、
前記ポートに接続されている下層の装置から受信したパケットの送信元アドレスを前記データベースに登録するための学習処理を実施し、
前記ポートに接続されている下層の装置から受信したパケットの宛先アドレスについて所定のハッシュ関数による第1のハッシュ値を算出し、当該第1のハッシュ値に対応する転送先スイッチが接続されている第1の出力先ポートを特定して、前記第2の処理部に対して前記パケットのデータを前記第1の出力先ポートへ出力させ、
前記送信元アドレスについて前記所定のハッシュ関数による第2のハッシュ値を算出し、当該第2のハッシュ値に対応し且つ前記送信元アドレスを学習すべき上位階層のスイッチが接続されている第2の出力先ポートを特定して、前記第2の処理部に対して前記パケットのデータを学習用パケットとして前記第2の出力先ポートへ出力させる
スイッチ。 - 前記第2の出力先ポートが、前記学習用パケットの送出のための帯域を制限する
請求項1記載のスイッチ。 - 前記第2の出力先ポートが、複数の学習用パケットのうち同一の前記送信元アドレスのパケットを特定し、当該パケットの出力個数を制限する
請求項1記載のスイッチ。 - スイッチの多段接続網における最上位階層のスイッチとして動作するスイッチであって、
複数のポートと、
ポートの識別子と当該ポートに接続されている下層のスイッチ又はそれより下位のスイッチに接続されている装置のアドレスとを対応付けて格納するデータベースを含み、前記ポートで受信したパケットの送信元アドレス及び宛先アドレスについて処理を行う第1の処理部と、
前記ポートで受信したパケットのデータを格納するメモリを有し、前記第1の処理部に従って前記メモリに格納されているパケットのデータを前記ポートに出力する第2の処理部と、
を有し、
前記複数のポートの各々が、
当該ポートに接続されている下層のスイッチから受信したパケットについて、送信元アドレスの学習用パケットであるか転送すべきパケットであるかを識別し、前記学習用パケットであれば当該パケットの送信元アドレスを前記第1の処理部に出力し、前記転送すべきパケットであれば当該パケットの宛先アドレスを前記第1の処理部に出力し、
前記第1の処理部は、
前記複数のポートから受信した前記送信元アドレスを前記データベースに登録するための学習処理を実施し、
前記複数のポートから受信した前記宛先アドレスで前記データベースを検索して出力先ポートを特定し、前記第2の処理部に対して前記パケットのデータを前記出力先ポートへ出力させる
スイッチ。 - 前記複数のポートの各々が、
受信したパケットに、学習用パケットであることを表すデータが含まれているか否かにより、前記学習用パケットであるか前記転送すべきパケットであるかを識別する
請求項4記載のスイッチ。 - 前記複数のポートの各々が、
受信したパケットの送信元アドレスについて1つ下位の階層のスイッチで使用されているハッシュ関数による第1のハッシュ値を算出し、当該第1のハッシュ値が自スイッチの識別子であれば、当該受信したパケットを前記学習用パケットであると識別し、
当該受信したパケットの宛先アドレスについて前記ハッシュ関数による第2のハッシュ値を算出し、当該第2のハッシュ値が自スイッチの識別子であれば、当該受信したパケットを前記転送用パケットであると識別する
請求項4記載のスイッチ。 - スイッチの多段接続網における最上位階層及び最下層のスイッチ以外の中間階層のスイッチとして動作するスイッチであって、
複数のポートと、
ポートの識別子と当該ポートに接続されている下層のスイッチ又はそれより下位のスイッチに接続されている装置のアドレスとを対応付けて格納するデータベースを含み、前記ポートで受信したパケットの送信元アドレス及び宛先アドレスについて処理を行う第1の処理部と、
前記ポートで受信したパケットのデータを格納するメモリを有し、前記第1の処理部に従って前記メモリに格納されているパケットのデータを前記ポートに出力する第2の処理部と、
を有し、
前記複数のポートの各々が、
当該ポートに接続されている下層のスイッチから受信したパケットについて、送信元アドレスの学習用パケットであるか転送すべきパケットであるかを識別し、前記学習用パケットであれば当該パケットの送信元アドレスを前記第1の処理部に出力し、前記転送すべきパケットであれば当該パケットの宛先アドレスを前記第1の処理部に出力し、
前記第1の処理部は、
前記複数のポートから受信した前記送信元アドレスを前記データベースに登録するための学習処理を実施し、
前記複数のポートから受信した前記宛先アドレスについて所定のハッシュ関数による第1のハッシュ値を算出し、当該第1のハッシュ値に対応する転送先スイッチが接続されている第1の出力先ポートを特定して、前記第2の処理部に対して前記パケットのデータを前記第1の出力先ポートへ出力させ、
前記複数のポートから受信した前記送信元アドレスについて前記所定のハッシュ関数による第2のハッシュ値を算出し、当該第2のハッシュ値に対応し且つ前記送信元アドレスを学習すべき上位階層のスイッチが接続されている第2の出力先ポートを特定して、前記第2の処理部に対して前記パケットのデータを前記第2の出力先ポートへ出力させる
スイッチ。 - スイッチの多段接続網における末端スイッチとして動作するスイッチにより実行されるアドレス学習方法であって、
ポートに接続されている下層の装置からパケットを受信した場合、所定のハッシュ関数による当該パケットの宛先アドレスについての第1のハッシュ値から前記パケットの転送先スイッチが接続されている第1の出力先ポートを特定し、前記パケットを前記第1の出力先ポートから出力するステップと、
前記パケットの送信元アドレスを、ポートの識別子と前記ポートに接続されている下層の装置のアドレスと対応付けて格納するデータベースに格納するための学習処理を実施するステップと、
前記所定のハッシュ関数による前記パケットの送信元アドレスについての第2のハッシュ値から前記パケットの送信元アドレスを学習すべき上位階層のスイッチが接続されている第2の出力先ポートを特定し、前記パケットについての学習用パケットを前記第2の出力先ポートから出力するステップと、
を含むアドレス学習方法。 - スイッチの多段接続網における最上位階層のスイッチとして動作するスイッチにより実行されるアドレス学習方法であって、
ポートに接続されている下層のスイッチから受信したパケットについて、送信元アドレスの学習用パケットであるか転送すべきパケットであるかを識別するステップと、
前記送信元アドレスの学習用パケットであれば、当該パケットの送信元アドレスを、ポートの識別子と当該ポートに接続されている下層のスイッチ又はそれより下位のスイッチに接続されている装置のアドレスとを対応付けて格納するデータベースに登録するための学習処理を実施するステップと、
前記転送すべきパケットであれば、当該パケットの宛先アドレスで前記データベースを検索して出力先ポートを特定し、前記転送すべきパケットを前記出力先ポートから出力するステップと、
を含むアドレス学習方法。 - スイッチの多段接続網における最上位階層及び最下層のスイッチ以外の中間階層のスイッチにより実行されるアドレス学習方法であって、
ポートに接続されている下層のスイッチから受信したパケットについて、送信元アドレスの学習用パケットであるか転送すべきパケットであるかを識別するステップと、
前記送信元アドレスの学習用パケットであれば、当該パケットの送信元アドレスを、ポートの識別子と当該ポートに接続されている下層のスイッチ又はそれより下位のスイッチに接続されている装置のアドレスとを対応付けて格納するデータベースに登録するための学習処理を実施するステップと、
前記送信元アドレスの学習用パケットであれば、前記送信元アドレスについて所定のハッシュ関数による第1のハッシュ値を算出し、当該第1のハッシュ値に対応し且つ前記送信元アドレスを学習すべき上位階層のスイッチが接続されている第1の出力先ポートを特定して、前記パケットのデータを前記第1の出力先ポートから出力するステップと、
前記転送すべきパケットであれば、当該パケットの宛先アドレスについて前記所定のハッシュ関数による第2のハッシュ値を算出し、当該第2のハッシュ値に対応する転送先スイッチが接続されている第2の出力先ポートを特定して、前記パケットのデータを前記第2の出力先ポートから出力するステップと、
を含むアドレス学習方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009141874A JP4688946B2 (ja) | 2009-06-15 | 2009-06-15 | スイッチ及びアドレス学習方法 |
US12/814,876 US8396067B2 (en) | 2009-06-15 | 2010-06-14 | Address learning method and address learning switch |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009141874A JP4688946B2 (ja) | 2009-06-15 | 2009-06-15 | スイッチ及びアドレス学習方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2010288168A JP2010288168A (ja) | 2010-12-24 |
JP4688946B2 true JP4688946B2 (ja) | 2011-05-25 |
Family
ID=43306398
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009141874A Expired - Fee Related JP4688946B2 (ja) | 2009-06-15 | 2009-06-15 | スイッチ及びアドレス学習方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US8396067B2 (ja) |
JP (1) | JP4688946B2 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103019963A (zh) * | 2012-12-31 | 2013-04-03 | 华为技术有限公司 | 一种高速缓存的映射方法及存储设备 |
Families Citing this family (37)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7826452B1 (en) * | 2003-03-24 | 2010-11-02 | Marvell International Ltd. | Efficient host-controller address learning in ethernet switches |
EP2377273B1 (en) * | 2009-01-12 | 2015-08-26 | Hewlett-Packard Development Company, L.P. | Reducing propagation of message floods in computer networks |
JP4688946B2 (ja) * | 2009-06-15 | 2011-05-25 | 富士通株式会社 | スイッチ及びアドレス学習方法 |
US8737412B2 (en) | 2010-11-24 | 2014-05-27 | Hitachi Metals, Ltd. | Network relay system and method of automatically setting a network relay system |
US8724450B2 (en) | 2010-11-24 | 2014-05-13 | Hitachi Metals, Ltd. | Network relay system and method of controlling a network relay system |
US8699489B2 (en) * | 2010-12-22 | 2014-04-15 | Telefonaktiebolaget L M Ericsson (Publ) | Method and arrangement for transferring data packets |
US9008510B1 (en) | 2011-05-12 | 2015-04-14 | Google Inc. | Implementation of a large-scale multi-stage non-blocking optical circuit switch |
JP5561620B2 (ja) | 2011-05-27 | 2014-07-30 | 日立金属株式会社 | ネットワークシステム及びネットワークシステムの運用方法 |
JP5765623B2 (ja) | 2011-07-19 | 2015-08-19 | 日立金属株式会社 | ネットワークシステム |
JP5700295B2 (ja) | 2011-07-19 | 2015-04-15 | 日立金属株式会社 | ネットワークシステム |
JP5704035B2 (ja) | 2011-09-27 | 2015-04-22 | 日立金属株式会社 | ネットワークシステム |
WO2013072989A1 (ja) * | 2011-11-14 | 2013-05-23 | 株式会社日立製作所 | フレーム配送経路選択方法、ネットワークシステムおよびスイッチ |
CN102577280B (zh) * | 2011-11-28 | 2014-05-21 | 华为技术有限公司 | 发送报文的方法、装置和系统 |
JP5888036B2 (ja) * | 2012-03-16 | 2016-03-16 | 富士通株式会社 | 中継装置、情報処理システム、中継方法および中継プログラム |
US9054974B2 (en) * | 2012-07-30 | 2015-06-09 | Cisco Technology, Inc. | Reliably transporting packet streams using packet replication |
US8902888B2 (en) * | 2012-08-20 | 2014-12-02 | Cisco Technology, Inc. | Two-stage port-channel resolution in a multistage fabric switch |
US9008095B2 (en) * | 2012-10-02 | 2015-04-14 | Cisco Technology, Inc. | System and method for hardware-based learning of internet protocol addresses in a network environment |
US8948181B2 (en) | 2012-10-23 | 2015-02-03 | Cisco Technology, Inc. | System and method for optimizing next-hop table space in a dual-homed network environment |
CN103812779B (zh) | 2012-11-08 | 2018-03-09 | 华为技术有限公司 | 洪泛的处理方法、装置 |
JP5929720B2 (ja) | 2012-11-14 | 2016-06-08 | 日立金属株式会社 | 通信システムおよびネットワーク中継装置 |
US9253140B2 (en) | 2012-11-20 | 2016-02-02 | Cisco Technology, Inc. | System and method for optimizing within subnet communication in a network environment |
JP5954236B2 (ja) * | 2013-03-28 | 2016-07-20 | 日立金属株式会社 | ネットワーク中継装置 |
JP6036525B2 (ja) * | 2013-04-30 | 2016-11-30 | 日立金属株式会社 | ネットワーク中継装置 |
JP6156737B2 (ja) * | 2013-08-19 | 2017-07-05 | APRESIA Systems株式会社 | ネットワーク中継システムおよびスイッチ装置 |
JP6040907B2 (ja) | 2013-10-15 | 2016-12-07 | 日立金属株式会社 | ネットワーク中継システムおよびスイッチ装置 |
US9742678B2 (en) * | 2014-04-01 | 2017-08-22 | Cisco Technology, Inc. | E-tree service with optimal forwarding in EVPN |
JP6330479B2 (ja) * | 2014-05-23 | 2018-05-30 | 富士通株式会社 | 情報処理システム及び情報処理方法 |
US9876738B2 (en) * | 2014-10-10 | 2018-01-23 | Dell Products L.P. | System and method for extending ports |
JP6428296B2 (ja) * | 2015-01-22 | 2018-11-28 | 富士通株式会社 | 情報処理システム、情報処理装置、および情報処理システムの制御方法 |
US10103992B1 (en) | 2016-06-27 | 2018-10-16 | Amazon Technologies, Inc. | Network traffic load balancing using rotating hash |
US9992094B1 (en) * | 2016-06-27 | 2018-06-05 | Amazon Technologies, Inc. | Adaptive forwarding tables |
US10951523B2 (en) * | 2017-01-09 | 2021-03-16 | Marvell Asia Pte, Ltd. | Port extender with local switching |
US11068606B2 (en) * | 2017-09-20 | 2021-07-20 | Citrix Systems, Inc. | Secured encrypted shared cloud storage |
CN110049144B (zh) * | 2018-01-17 | 2023-05-23 | 厦门雅迅网络股份有限公司 | 一种通过以太网获取网络设备端口的方法及系统 |
US11044539B1 (en) * | 2018-07-22 | 2021-06-22 | Sam A Marshall | Mouse over elephant |
CN113874848A (zh) | 2019-05-23 | 2021-12-31 | 慧与发展有限责任合伙企业 | 用于促进网络接口控制器(nic)中对加速器的操作管理的系统和方法 |
JP7464122B2 (ja) * | 2020-07-01 | 2024-04-09 | 日本電信電話株式会社 | L2スイッチ、通信制御方法、および、通信制御プログラム |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH1127326A (ja) * | 1997-07-08 | 1999-01-29 | Hitachi Ltd | 階層lanスイッチネットワーク |
JP2004056340A (ja) * | 2002-07-18 | 2004-02-19 | Nec Corp | Ipフロー多段ハッシュ装置、ipフロー多段ハッシュ方法、ipフロー多段ハッシュプログラム及びその記録媒体 |
JP2006295550A (ja) * | 2005-04-11 | 2006-10-26 | Mitsubishi Electric Corp | パケット転送装置 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH11150553A (ja) | 1997-11-17 | 1999-06-02 | Nec Corp | バーチャルlan機能付きスイッチングハブ |
JP4688946B2 (ja) * | 2009-06-15 | 2011-05-25 | 富士通株式会社 | スイッチ及びアドレス学習方法 |
-
2009
- 2009-06-15 JP JP2009141874A patent/JP4688946B2/ja not_active Expired - Fee Related
-
2010
- 2010-06-14 US US12/814,876 patent/US8396067B2/en not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH1127326A (ja) * | 1997-07-08 | 1999-01-29 | Hitachi Ltd | 階層lanスイッチネットワーク |
JP2004056340A (ja) * | 2002-07-18 | 2004-02-19 | Nec Corp | Ipフロー多段ハッシュ装置、ipフロー多段ハッシュ方法、ipフロー多段ハッシュプログラム及びその記録媒体 |
JP2006295550A (ja) * | 2005-04-11 | 2006-10-26 | Mitsubishi Electric Corp | パケット転送装置 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103019963A (zh) * | 2012-12-31 | 2013-04-03 | 华为技术有限公司 | 一种高速缓存的映射方法及存储设备 |
CN103019963B (zh) * | 2012-12-31 | 2016-07-06 | 华为技术有限公司 | 一种高速缓存的映射方法及存储设备 |
Also Published As
Publication number | Publication date |
---|---|
US8396067B2 (en) | 2013-03-12 |
US20100316053A1 (en) | 2010-12-16 |
JP2010288168A (ja) | 2010-12-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4688946B2 (ja) | スイッチ及びアドレス学習方法 | |
US9680746B2 (en) | Source routing with fabric switches in an ethernet fabric network | |
US10122614B2 (en) | Failure protection for traffic-engineered bit indexed explicit replication | |
WO2021169258A1 (zh) | 转发报文的方法、发布路由信息的方法、装置及系统 | |
US7639705B2 (en) | Packet forwarding apparatus with function of diverting traffic | |
US8369347B2 (en) | Fiber channel over Ethernet and fiber channel switching based on Ethernet switch fabrics | |
US8094584B2 (en) | Node, network system, frame transfer method, and frame transfer program | |
US9825844B2 (en) | Network topology of hierarchical ring with recursive shortcuts | |
US10693790B1 (en) | Load balancing for multipath group routed flows by re-routing the congested route | |
RU2612599C1 (ru) | Устройство управления, система связи, способ управления коммутаторами и программа | |
US8774179B1 (en) | Member link status change handling for aggregate interfaces | |
US20140029412A1 (en) | Systems and methods for providing anycast mac addressing in an information handling system | |
WO2021000752A1 (zh) | 一种在数据中心网络中转发报文的方法及相关装置 | |
WO2006095508A1 (ja) | フラッディング抑制方法 | |
CN102724131B (zh) | 一种ip报文等价路由均衡实现的方法及装置 | |
WO2021139216A1 (zh) | 一种流量传输的方法、节点和系统 | |
CN111147372A (zh) | 下行报文发送、转发方法和装置 | |
US20240179095A1 (en) | Method and apparatus for determining hash algorithm information for load balancing, and storage medium | |
US20150117223A1 (en) | Network Topology of Hierarchical Ring with Gray Coding Shortcuts | |
CN116094987A (zh) | 转发路径的确定方法及装置 | |
US20120106555A1 (en) | Low latency carrier class switch-router | |
US9450892B2 (en) | Switch device, network system, and switch device control method | |
JP6440640B2 (ja) | 中継装置および経路選択方法 | |
CN107113244B (zh) | 一种数据转发的方法、装置和系统 | |
WO2024174967A1 (zh) | 报文转发方法、装置及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20110215 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20110215 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140225 Year of fee payment: 3 |
|
LAPS | Cancellation because of no payment of annual fees |