JP2004515088A - Programmable layer 3 address self-learning scheme in network switch - Google Patents
Programmable layer 3 address self-learning scheme in network switch Download PDFInfo
- Publication number
- JP2004515088A JP2004515088A JP2001576622A JP2001576622A JP2004515088A JP 2004515088 A JP2004515088 A JP 2004515088A JP 2001576622 A JP2001576622 A JP 2001576622A JP 2001576622 A JP2001576622 A JP 2001576622A JP 2004515088 A JP2004515088 A JP 2004515088A
- Authority
- JP
- Japan
- Prior art keywords
- address
- layer
- data packet
- network
- port
- 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.)
- Withdrawn
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/60—Software-defined switches
- H04L49/602—Multilayer or multiprotocol switching, e.g. IP switching
-
- 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/742—Route cache; Operation thereof
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/09—Mapping addresses
- H04L61/10—Mapping addresses of different types
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/59—Network arrangements, protocols or services for addressing or naming using proxies for addressing
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/35—Switches specially adapted for specific applications
- H04L49/351—Switches specially adapted for specific applications for local area network [LAN], e.g. Ethernet switches
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/35—Switches specially adapted for specific applications
- H04L49/351—Switches specially adapted for specific applications for local area network [LAN], e.g. Ethernet switches
- H04L49/352—Gigabit ethernet switching [GBPS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Small-Scale Networks (AREA)
Abstract
パケット識別モジュールは、受取られたデータパケットがルータから発信されたかどうかを判断するよう構成される。パケット識別モジュールが、受取られたデータパケットがルータ以外のネットワークノードからのものであると特定すると、スイッチモジュールは、このデータパケットのレイヤ2アドレスおよび関連するレイヤ3アドレスを、関連するレイヤ2−レイヤ3アドレス対としてアドレステーブルに選択的に記憶する。関連するレイヤ2−レイヤ3アドレスの選択的記憶は、データパケットのインターネットプロトコル(IP)−メディアアクセス制御(MAC)関連の学習とも称される。非ルータポートからの選択されたデータパケットのIP−MAC関連の選択的学習により、アドレステーブルをオーバーフローさせるおそれが減じられる。さらに、学習されたIP−MAC関連を用いることにより、ネットワークスイッチは、ルータをバイパスし待ち時間を減じてレイヤ3データパケットを交換することができる。The packet identification module is configured to determine whether the received data packet originated from the router. If the packet identification module identifies that the received data packet is from a network node other than a router, the switch module determines the Layer 2 address of the data packet and the associated Layer 3 address in an associated Layer 2-Layer. It is selectively stored in the address table as three address pairs. The selective storage of the relevant Layer 2-Layer 3 addresses is also referred to as Internet Protocol (IP) -Media Access Control (MAC) related learning of data packets. IP-MAC related selective learning of selected data packets from non-router ports reduces the risk of address table overflow. Furthermore, by using the learned IP-MAC association, the network switch can exchange layer 3 data packets with reduced latency, bypassing routers.
Description
【0001】
【発明の分野】
この発明は、データパケットをサブネットワークとルータとの間で切換えるように構成されたノンブロッキングネットワークスイッチにおいてデータパケットのネットワークアドレスを学習することに関する。
【0002】
【背景技術】
ローカルエリアネットワークはネットワークケーブルまたは他の媒体を用いてネットワーク上のステーションをリンクする。各ローカルエリアネットワークアーキテクチャは、各ネットワークノードのネットワークインターフェイス装置がネットワーク媒体にアクセスできるようにするメディアアクセス制御(MAC)を用いる。
【0003】
イーサネット(R)プロトコルIEEE802.3は、データパケットを伝送するための半二重メディアアクセスメカニズムおよび全二重メディアアクセスメカニズムを特定するよう発展した。全二重メディアアクセスメカニズムは2つのネットワーク要素間、たとえば、ネットワークノードと切換えハブとの間にツーウェイのポイントツーポイント通信リンクをもたらす。
【0004】
切換えローカルエリアネットワークは、より高速の接続性、より柔軟な切換え性能、およびより複雑なネットワークアーキテクチャに適応する能力に対する、増大する需要に直面している。たとえば、本願出願人に譲渡された米国特許第5,953,335は、異なったネットワークノード間でレイヤ2タイプのイーサネット(R)(IEEE802.3)データパケットを切換えるように構成されたネットワークスイッチを開示し、受取られたデータパケットは、(ルータを介した)別のサブネットワークまたは所与のグループのステーションを特定する、IEEE802.1qに従ったVLAN(仮想LAN)タグ付きフレームを含むことができる。切換えはレイヤ2レベルで生じるので、データパケットをサブネットワーク間で転送するために、典型的にはルータが必要である。
【0005】
レイヤ3(たとえば、インターネットプロトコル)処理を含むようにネットワークスイッチの切換え性能を高める努力は、典型的には、レイヤ3アドレスを学習するためのネットワークアドレステーブルのCPUベースの制御を必要とする。たとえば、ルータは所与のアドレス分解プロトコルに基づいてレイヤ2−レイヤ3の関連づけを行なうことができる。典型的に、ルータはLANに対してボトルネックである。なぜなら、現在のレイヤ2スイッチは、好ましくはノンブロッキングモードで動作するよう構成されており、データパケットは、データパケットが受取られるのと同じ速度でネットワークスイッチから出力され得るからである。したがって、レイヤ2−レイヤ3切換え能力を有するスイッチを用いることにより、ルータをオフロードし、待ち時間を減じることができる。加えて、レイヤ2スイッチにおける、受取られたデータパケットの各々のメディアアクセス制御(「MAC」)アドレスを学習する従来の学習技術は、レイヤ3の切換えにおいて実用的ではない。なぜなら、レイヤ3の学習はネットワークスイッチ内のアドレステーブルをすぐに溢れさせるおそれがあるためである。
【0006】
【発明の概要】
ネットワークスイッチが、100Mbpsおよびギガビットのリンク用に、データパケットをブロックすることなくレイヤ2およびレイヤ3の切換えのためのネットワークアドレスの自動学習をもたらすことを可能にする構成に対する必要性がある。
【0007】
また、ノンブロッキングネットワークスイッチが、ワイヤ速度で入来するデータパケットのレイヤ2アドレスおよび関連するレイヤ3アドレスを、ネットワークスイッチアドレステーブルを溢れさせることなく選択的に学習できるようにする構成に対する必要性がある。
【0008】
これらおよび他の必要性は、データパケットを切換えるためのネットワークスイッチが、複数のデータパケットを受取りかつ伝送するための複数のポートを含む、この発明によって達成される。入来するデータパケットは、受取られたデータパケットがネットワークスイッチに接続されたルータから受取られているかどうかを判断するパケット識別モジュールによって評価される。受取られたデータパケットがルータ以外のネットワークノードからのものである場合、スイッチモジュールは、受取られたデータパケットのレイヤ2出所アドレスおよび関連するレイヤ3出所アドレスを、関連するレイヤ2−レイヤ3アドレス対としてアドレステーブルに選択的に記憶する。したがって、アドレステーブルでのオーバーフロー状態のおそれが減じられる。なぜなら、アドレステーブルが含むエントリがより少なくなるからである。
【0009】
この発明の一局面は、データパケットをネットワークスイッチポートで切換える方法を提供する。この方法は、ネットワークスイッチの1つのポートによってデータパケットを受取るステップと、1つのポートがデータパケットをルータから受取ったかどうか判断するステップとを含む。この方法はまた、アドレステーブルに、データパケットからのレイヤ2出所アドレスおよび関連するレイヤ3出所アドレスを、関連するレイヤ2−レイヤ3アドレス対として、1つのポートがルータ以外のネットワークノードからデータパケットを受取ったという判断に基づいて選択的に記憶するステップを含む。したがって、アドレステーブルが含むエントリは少なくなり、したがって、アドレステーブルでのオーバーフローのおそれが減じられる。
【0010】
この発明の他の局面は、ネットワークスイッチポートで受取られたデータパケットを切換えるためのネットワークスイッチを提供する。ネットワークスイッチは、複数のデータパケットを受取りかつ伝送するための複数のポートを含み、複数のポートのうちの1つのポートがルータに結合されており、ネットワークスイッチはさらに、パケット識別モジュールと、スイッチモジュールとを含む。パケット識別モジュールは、受取られたデータパケットがルータからのものであるかどうか判断するよう構成される。スイッチモジュールは、受取られたデータパケットからのレイヤ2出所アドレスおよび関連するレイヤ3出所アドレスを、関連するレイヤ2−レイヤ3アドレス対として、受取られたデータパケットがルータ以外のネットワークノードから受取られていることに基づいて、アドレステーブルに選択的に記憶するよう構成される。その結果、アドレステーブルでのオーバーフローのおそれが減じられる。
【0011】
この発明のさらなる利点および新規の特徴の、ある部分は以下の説明に述べられ、ある部分は以下を考察すると当業者には明らかになるであろうし、または、この発明を実施することによって認識することができる。この発明の利点は、前掲の請求項で特に指摘された手段および組合せによって認識され、達成され得る。
【0012】
同じ参照番号表示を有する要素が全体にわたって同じ要素を示す、添付の図面を参照する。
【0013】
【この発明を実施するための最良のモード】
図1は、イーサネット(R)(IEEE802.3)ネットワーク等のパケット切換えネットワーク10を示すブロック図である。パケット切換えネットワークは、ネットワークステーション14間でのデータパケットの通信を可能にする、集積された(すなわち、シングルチップの)マルチポートスイッチ12を含む。各ネットワークステーション14、たとえば、クライアントワークステーションは、典型的には、データパケットをIEEE802.3プロトコルに従って10Mbpsまたは100Mbpsで送りかつ受取るよう構成される。集積されたマルチポートスイッチ12の各々は、ギガビットのイーサネット(R)リンク16によって相互接続され、サブネットワーク(またはサブネット)18a、18b、および18cの間でのデータパケットの転送を可能にする。したがって、各サブネットワークはスイッチ12と、関連するグループのネットワークステーション14とを含む。
【0014】
各スイッチ12は、メディアアクセス制御(MAC)モジュール22と、パケット識別モジュールとも称されるポートフィルタ24とを含む、スイッチポート20を含む。MACモジュール20は、IEEE802.3uプロトコルに従い、10/100Mbpsの物理層(PHY)トランシーバ(図示せず)を介し、関連するネットワークステーション14とデータパケットの伝送および受取りを行なう。各スイッチ12はまた、受取られたデータパケットに対してフレーム転送判断を行なうよう構成されるスイッチモジュール25を含む。特に、スイッチモジュール25は、イーサネット(R)(IEEE802.3)ヘッダ内の出所MACアドレス、宛先MACアドレス、およびVLAN情報に基づいたレイヤ2切換え判断のために構成される。スイッチモジュール25はまた、イーサネット(R)パケット内のIPデータ部分の評価に基づいた選択的レイヤ3切換え判断のために構成される。
【0015】
図1が示すように、各スイッチ12は関連するホストCPU26と、バッファメモリ28、たとえば、SSRAMとを有する。ホストCPU26は、スイッチモジュール25のプログラミングを含む、対応するスイッチ12の全般の動作を制御する。バッファメモリ28は、スイッチモジュール25が受取られたデータパケットに対する転送判断を処理している間、対応するスイッチ12に使用されてデータフレームを記憶する。
【0016】
各スイッチ12はまた、データパケットのインターネットプロトコル(IP)−メディアアクセス制御(MAC)関連をアドレステーブルとして限定して記憶するよう構成されるメモリ30を含む。
【0017】
上述のとおり、スイッチモジュール25はレイヤ2切換え判断および選択的レイヤ3切換え判断を行なうよう構成される。レイヤ3切換え判断の利用可能性は、サブネットワーク18a内のエンドステーション14がサブネットワーク18bおよび18c内の選択されたネットワークステーションにeメールのメッセージを送ることを望む場合、特に有効となり得る。サブネットワーク18bおよび18cは異なるサブネット上にあるため、サブネットワーク18aのホストはサブネットワーク18bおよび/または18cのホストに対するレイヤ2アドレスを知ることができない。スイッチ12aのスイッチモジュール25がeメールのメッセージをルータ19に送る必要があるが、このことにより、さらなる遅延を招くであろう。スイッチモジュール25によってレイヤ3切換え判断を用いることにより、スイッチモジュール25は、高度な転送判断を含む、パケットの扱い方について、さらにパケットをビデオまたは音声等の待ち時間に敏感な適用例用の高い優先順位のパケットと考えるべきであるかどうか、といったインテリジェントな判断を行なうことができる。ルータは典型的にはLANに対してボトルネックであるため、スイッチモジュール25はルータをオフロードすることができ、さらに、往復遅延を改善することができる。
【0018】
開示された実施例によれば、ネットワークスイッチ12は、選択されたデータパケットのIP−MAC関連を学習するよう構成される。ネットワークスイッチのパケット識別モジュール24の各々は、受取られたデータパケットがルータ19から受取られているかどうかを判断するよう構成される。パケット識別モジュール24が、受取られたデータパケットはルータ19以外のネットワークからのものであると特定した場合、ネットワークスイッチ12のスイッチモジュール25は、データパケットのレイヤ2出所アドレスおよび関連するレイヤ3出所アドレスを、関連するレイヤ2−レイヤ3アドレス対としてアドレステーブルに選択的に記憶する。関連するレイヤ2−レイヤ3アドレスの選択的な記憶は、データパケットのIP−MAC関連の学習とも称される。非ルータポートからの選択されたデータパケットのIP−MAC関連を選択的に学習することにより、アドレステーブルをオーバーフローさせるおそれは減じる。さらに、学習されたIP−MAC関連を用いることにより、ネットワークスイッチはレイヤ3切換えを行なうことができ、接続されたサブネットワーク間でのルータのバイパスを可能にして待ち時間を減少させる。
【0019】
図2は、図1で示されたポートフィルタ24のより詳細なブロック図を示す。ポートフィルタ24は、受信ファーストインファーストアウトバッファ(FIFO)51と、MACキューイング論理52と、メモリ53と、MACデキュー論理54と、送信FIFO55と、プロセッサインターフェイスモジュール57とを含む。
【0020】
受信FIFO51は、入来するデータパケットをポート20の受信部分から受取ることに応答して、入来するデータパケットを一時的に記憶するよう構成されるバッファである。
【0021】
MACキューイング論理52は、ポートフィルタ24用のさまざまな機能を提供する。MACキューイング論理52は、受取られたデータパケットを、受信FIFO51から、外部メモリインターフェイス26へのデータバス59を介してSSRAM28に書込むことができるようにする。MACキューイング論理52はまた、受取られたデータパケットをMACキューイング論理が処理することに応答する、スイッチモジュール25への複数の状態信号58を提供する。状態信号58は、受取られたデータパケットがエラーなしに外部メモリインターフェイス26に転送されたか、受取られたデータパケットの転送が完了したという指示をスイッチモジュール25にもたらす。状態信号58はまた、サブネットワーク経路指定信号(RNETS_ENABLE)と学習信号(L3IRC_LEARN)とを含む。
【0022】
MACキューイング論理52がRNETS_ENABLE信号をセットすると、スイッチモジュール25は、受取られたデータパケットが、ネットワークスイッチ12aに直接接続されたサブネットワーク間のサブネットワーク間トラヒックの一部であることを通知される。
【0023】
MACキューイング論理52がL3IRC_LEARNをセットすると、スイッチモジュール25は受取られたデータパケットに対するIP−MACアドレス関連を学習する。
【0024】
メモリ53はMACキューイング論理52用のパラメータのためのレジスタスペース53aを設け、学習およびサブネットワーク経路指定の機能を実現する。レジスタスペース53aは、MACキューイング論理に対し、少なくとも1つのSUBNET_IDと、SUBNET_MASKレジスタを提供する。CPU26はプロセッサインターフェイス(pi_mod)57を介してレジスタをプログラムする。SUBNET_IDレジスタは、個々のポートが属するIPアドレスを記憶するためのものである。スイッチ12aの各ポートは1つのSUBNET_IDレジスタを有する。SUBNET_MASKは個々のポートの32ビットIPアドレスマスクを記憶するためのものである。スイッチ12aの各ポートは1つのSUBNET_MASKマスクレジスタを有する。
【0025】
MACデキュー論理54は、受信データパケットをSSRAM28から検索し、そのデータパケットをスイッチモジュール25による処理に応答して適切なポートに転送するためのものである。
【0026】
送信FIFO55は、ポート20による送信に先立って、出ていくデータパケットをバッファするためのものである。
【0027】
入来するデータパケットはポート20で受取られ、受信FIFO51でバッファされる。MACキューイング論理52は、このデータパケットを外部メモリインターフェイス56にデータバス59を介して転送し、SSRAM28で記憶する。
【0028】
MACキューイング論理52は、データパケットのヘッダおよびフレームデータを調査することにより、受取られたデータパケット内のレイヤ3情報、たとえば、IPデータパケットを探索する。レイヤ3情報を用い、MACキューイング論理52は、IPヘッダ内の宛先IPアドレスとメモリ53のレジスタ内に記憶された値とを比較することによって、受取られたデータパケットがサブネットワーク間トラヒックの一部であるかどうかを判断することができる。
【0029】
特に、受取られたデータパケットが非ルータポートから受取られている場合、IP宛先アドレスは、すべての他のポートのSUBNET_MASKに対してマスクされる。次に、マスク動作の結果はすべての他のポートのSUBNET_IDレジスタと比較される。比較動作の結果が良好であれば、MACキューイング論理52はスイッチモジュール25へのRNETS_ENABLE信号をセットする。
【0030】
MACキューイング論理52はまた、パケットが非ルータポートから到着した場合、ネットワークスイッチ12aに直接接続されるサブネットワーク内のIPアドレス用に、受取られたデータパケットの出所IP−MACアドレス関連をスイッチモジュール25が学習する必要があるのかどうか判断するよう構成することができる。ホストCPU26は、メモリ53内でレジスタをプログラムする責任を負い、スイッチモジュール25は、どのポートがルータに接続されているかが分かる。
【0031】
MACキューイング論理52はまた、ポート識別モジュール24のMACキューイング論理52が、受取られたデータパケットがルータに向けられており、サブネットワーク間トラヒックの一部であるかもしれないと判断した場合、IP−MAC関連を学習するよう構成することができる。
【0032】
さらに、パケット識別モジュール24のMACキューイング論理52は、受取られたデータパケットがルータに向けられており、サブネットワーク間トラヒックの一部である場合、受取られたパケットのIP−MAC関連を学習するよう構成することができる。
【0033】
特に、MACキューイング論理52は、受取られたデータパケットのMAC宛先アドレスと、メモリ53内に記憶された、ルータのMACアドレスとを比較する。比較動作の結果が良好であれば、受取られたデータパケットはルータに向けたものである。その後、ポート識別モジュール24のMACキューイング論理52は、スイッチモジュール25に対し、レイヤ2出所アドレスと関連するレイヤ3出所アドレスとを関連するレイヤ2−レイヤ3アドレス対として、アドレステーブル30に選択的に記憶するよう通知する。
【0034】
パケット識別モジュール24のMACキューイング論理52は、ネットワークスイッチ12内のトラヒックのフローまたはユーザの好みに依存して、これらの機能の任意のものを実現するよう構成することができる。MACキューイング論理52はまた、ユーザによって必要と思われるさまざまな他の機能を実現するよう構成することができる。
【0035】
図3は、図2で示されたパケット識別モジュール24によって実現される学習のためのフローチャートを示す。ステップ310では、データパケットがポート20の1つからポート識別モジュール24で受取られる。
【0036】
ポート識別モジュール24は、ステップ320において、受取られたデータパケットが非ルータポートから受取られているかどうかを判断するよう構成される。ホストCPUはどのポートがルータに接続されているかをプログラムする責任を負う。
【0037】
ステップ320において、受取られたデータパケットが非ルータポートで受取られている場合、ポート識別モジュール24のMACキューイング論理52は、ステップ330において、スイッチモジュール25に対して学習信号をアサートして、レイヤ2アドレスまたはMACアドレス、および関連するレイヤ3アドレスまたはIPアドレスを、関連するレイヤ2−レイヤ3アドレスとしてメモリ30内のアドレステーブルに記憶するよう通知する。
【0038】
ステップ320において、受取られたデータパケットがルータポートから受取られている場合、ポート識別モジュール24のMACキューイング論理52は、ステップ340において、スイッチモジュール25への学習信号をデアサートする。受取られたデータパケットのIP−MAC関連は学習されない。
【0039】
図4は、図2で示されたパケット識別モジュール24によって実現される学習のための代替的フローチャートを示す。この規則では、受取られたデータパケットが非ルータポートからのものであり、ルータの宛先MACアドレスを有する場合、IP−MAC関連が学習される。ステップ410では、データパケットはポート20の1つからポート識別モジュール24で受取られる。
【0040】
ポート識別モジュール24は、ステップ410において、受取られたデータパケットが非ルータポートから受取られているかどうか、およびデータパケットのMAC宛先アドレスがルータであるかどうかを判断するよう構成される。ホストCPU26は、どのポートがルータに接続されているかをプログラムする責任を負い、MACキューイング論理52は受取られたデータパケットの宛先MACアドレスとルータのMACアドレスとを比較する。
【0041】
ステップ420から、比較が良好であれば、ステップ430において、受取られたデータパケットは非ルータポートで受取られており、宛先MACアドレスはルータである。ポート識別モジュール24のMACキューイング論理52は、ステップ430において、スイッチモジュール25に対し、レイヤ2出所アドレスまたはMAC出所アドレス、および関連するレイヤ3出所アドレスまたはIP出所アドレスを、関連するレイヤ2−レイヤ3アドレスとしてメモリ30内のアドレステーブルに記憶するよう通知する。
【0042】
ステップ420から、比較の一方または両方が失敗すると、ポート識別モジュール24はステップ440においてスイッチモジュール25に通知しない。受取られたデータパケットのIP−MAC関連は学習されない。
【0043】
図5は、図4で示されたパケット識別モジュール24によって実現される学習のための別の代替的フローチャートを示す。この規則では、受取られたデータパケットがサブネットワーク間トラヒックの一部であり、宛先MACアドレスがルータである場合、IP−MAC関連が学習される。ステップ510では、データパケットはポート20の1つからポート識別モジュール24で受取られる。
【0044】
ポート識別モジュール24は、ステップ510において、受取られたデータパケットが非ルータポートから受取られているかどうかを判断するよう構成される。MACキューイング論理52は、宛先IPアドレスをスイッチモジュール25内のすべての他のSUBNET_MASKでマスクする。マスクされた結果は、次に、スイッチ12a内のすべての他のSUBNET_IDアドレスと比較される。さらに、MACキューイング論理52はまた、受取られたデータパケットの宛先MACアドレスとルータのMACアドレスとを比較する。
【0045】
ステップ520から、すべての比較が良好であれば、ポート識別モジュール24のMACキューイング論理52は、ステップ530において、スイッチモジュール25に対し、レイヤ2出所アドレスまたはMAC出所アドレス、および関連するレイヤ3出所アドレスまたはIP出所アドレスを、関連するレイヤ2−レイヤ3アドレスとしてメモリ30内のアドレステーブルに記憶するよう通知する。
【0046】
ステップ520から、比較のいずれかが失敗すれば、ポート識別モジュール24のMACキューイング論理52は、ステップ540において、スイッチモジュール25に通知しない。受取られたデータパケットのIP−MAC関連は学習されない。
【0047】
開示された実施例に従い、パケット識別モジュールは、受取られたデータパケットがルータから発信されたかどうかを判断するよう構成される。パケット識別モジュールが、受取られたデータパケットがルータ以外のネットワークノードからのものであると特定すると、スイッチモジュールは、データパケットのレイヤ2アドレスおよび関連するレイヤ3アドレスを、関連するレイヤ2−レイヤ3アドレス対としてアドレステーブルに選択的に記憶する。選択されたデータパケットのIP−MAC関連を記憶することにより、ネットワークスイッチは、スイッチが切換えの間にアドレステーブルを参照する際に、アドレステーブルでの検索時間を減じることができる。その結果、パケット識別モジュールは、ネットワークスイッチが、データパケットをブロックすることなく100Mbpsまたはギガビットのリンクのためのレイヤ3およびレイヤ2の切換え能力をもたらすことを可能にする。
【0048】
この発明は、最も実用的な好ましい実施例であると現在考えられていることを記載してきたが、この発明は開示された実施例に限定されず、反対に、前掲の請求項の精神および範囲内に含まれるさまざまな変更および等価の構成を包含することを意図すると理解されるべきである。
【図面の簡単な説明】
【図1】この発明の実施例に従った、それぞれのサブネットワーク間でデータパケットを切換えるための多数のネットワークスイッチを含むパケット切換えネットワークのブロック図である。
【図2】この発明の実施例に従った、図1のネットワークスイッチを示すブロック図である。
【図3】この発明の実施例に従った、図1のネットワークスイッチでの学習を示すフロー図である。
【図4】この発明の実施例に従った、図1のネットワークスイッチでの学習を示す代替的フロー図である。
【図5】この発明の実施例に従った、図1のネットワークスイッチでの学習を示す別の代替的フロー図である。[0001]
FIELD OF THE INVENTION
The present invention relates to learning a network address of a data packet in a non-blocking network switch configured to switch the data packet between a sub-network and a router.
[0002]
[Background Art]
Local area networks link stations on the network using network cables or other media. Each local area network architecture uses a media access control (MAC) that allows the network interface device of each network node to access the network media.
[0003]
The Ethernet protocol IEEE 802.3 has evolved to specify half-duplex and full-duplex media access mechanisms for transmitting data packets. A full-duplex media access mechanism provides a two-way point-to-point communication link between two network elements, for example, between a network node and a switching hub.
[0004]
Switching local area networks are facing an increasing demand for faster connectivity, more flexible switching performance, and the ability to adapt to more complex network architectures. For example, U.S. Pat. No. 5,953,335, assigned to the assignee of the present invention, discloses a network switch configured to switch Layer 2 type Ethernet (IEEE 802.3) data packets between different network nodes. The disclosed and received data packet may include a VLAN (virtual LAN) tagged frame according to IEEE 802.1q identifying another subnetwork (via a router) or a given group of stations. . Since switching occurs at the layer 2 level, routers are typically required to transfer data packets between sub-networks.
[0005]
Efforts to increase the switching performance of network switches to include layer 3 (eg, Internet Protocol) processing typically require CPU-based control of a network address table to learn Layer 3 addresses. For example, a router may make a Layer 2-Layer 3 association based on a given address resolution protocol. Typically, routers are a bottleneck for LANs. This is because current Layer 2 switches are preferably configured to operate in a non-blocking mode, and data packets can be output from a network switch at the same rate at which data packets are received. Therefore, by using the switch having the layer 2 to layer 3 switching capability, the router can be offloaded, and the waiting time can be reduced. In addition, conventional learning techniques for learning the media access control ("MAC") address of each received data packet in a layer 2 switch are not practical in layer 3 switching. This is because the learning of the layer 3 may overflow the address table in the network switch immediately.
[0006]
Summary of the Invention
There is a need for a configuration that allows a network switch to provide automatic learning of network addresses for layer 2 and layer 3 switching for 100 Mbps and gigabit links without blocking data packets.
[0007]
There is also a need for a configuration that allows a non-blocking network switch to selectively learn Layer 2 addresses and associated Layer 3 addresses of incoming data packets at wire speed without flooding the network switch address table. .
[0008]
These and other needs are met by the present invention wherein a network switch for switching data packets includes a plurality of ports for receiving and transmitting a plurality of data packets. Incoming data packets are evaluated by a packet identification module that determines whether the received data packet is being received from a router connected to a network switch. If the received data packet is from a network node other than a router, the switch module converts the Layer 2 source address and the associated Layer 3 source address of the received data packet to the associated Layer 2-Layer 3 address pair. And selectively store it in the address table. Therefore, the possibility of an overflow condition in the address table is reduced. This is because the address table contains fewer entries.
[0009]
One aspect of the present invention provides a method for switching a data packet at a network switch port. The method includes receiving a data packet by one port of a network switch and determining whether one port has received a data packet from a router. The method also includes associating the address table with the Layer 2 source address from the data packet and the associated Layer 3 source address as an associated Layer 2-Layer 3 address pair, wherein one port is used to store data packets from network nodes other than routers. And selectively storing based on the determination that it has been received. Therefore, the address table contains fewer entries, and thus the risk of overflow in the address table is reduced.
[0010]
Another aspect of the present invention provides a network switch for switching a data packet received at a network switch port. The network switch includes a plurality of ports for receiving and transmitting a plurality of data packets, one of the plurality of ports being coupled to a router, the network switch further including a packet identification module, and a switch module. And The packet identification module is configured to determine whether the received data packet is from a router. The switch module receives the received data packet from a network node other than a router, using the Layer 2 source address and the associated Layer 3 source address from the received data packet as an associated Layer 2-Layer 3 address pair. Is configured to be selectively stored in an address table based on the As a result, the risk of overflow in the address table is reduced.
[0011]
Some of the additional advantages and novel features of the invention will be set forth in the description which follows, and some will become apparent to those skilled in the art from a consideration of the following, or may be learned by practice of the invention. be able to. The advantages of the invention may be realized and attained by means of the instruments and combinations particularly pointed out in the appended claims.
[0012]
Reference is made to the accompanying drawings, in which elements having the same reference number designation indicate the same element throughout.
[0013]
[Best mode for carrying out the present invention]
FIG. 1 is a block diagram illustrating a
[0014]
Each
[0015]
As FIG. 1 shows, each
[0016]
Each
[0017]
As described above, the
[0018]
According to the disclosed embodiment, the
[0019]
FIG. 2 shows a more detailed block diagram of the
[0020]
Receive
[0021]
MAC queuing logic 52 provides various functions for
[0022]
When the MAC queuing logic 52 sets the RNETS_ENABLE signal, the
[0023]
When the MAC queuing logic 52 sets L3IRC_LEARN, the
[0024]
The
[0025]
The
[0026]
The transmission FIFO 55 is for buffering outgoing data packets prior to transmission by the
[0027]
Incoming data packets are received at
[0028]
MAC queuing logic 52 looks for Layer 3 information, eg, IP data packets, in the received data packet by examining the header and frame data of the data packet. Using the Layer 3 information, the MAC queuing logic 52 compares the received data packet to one of the inter-subnetwork traffic by comparing the destination IP address in the IP header with the value stored in the register of the
[0029]
In particular, if the received data packet is being received from a non-router port, the IP destination address will be masked to SUBNET_MASK on all other ports. Next, the result of the mask operation is compared with the SUBNET_ID registers of all other ports. If the result of the comparison operation is good, the MAC queuing logic 52 sets the RNETS_ENABLE signal to the
[0030]
The MAC queuing logic 52 also switches the source IP-MAC address association of the received data packet for the IP address in the sub-network directly connected to the
[0031]
The MAC queuing logic 52 may also determine if the MAC queuing logic 52 of the
[0032]
Further, the MAC queuing logic 52 of the
[0033]
In particular, the MAC queuing logic 52 compares the MAC destination address of the received data packet with the MAC address of the router stored in the
[0034]
The MAC queuing logic 52 of the
[0035]
FIG. 3 shows a flowchart for learning realized by the
[0036]
[0037]
If at
[0038]
If, at
[0039]
FIG. 4 shows an alternative flowchart for learning implemented by the
[0040]
[0041]
From
[0042]
From
[0043]
FIG. 5 shows another alternative flowchart for learning implemented by the
[0044]
[0045]
From
[0046]
From
[0047]
According to a disclosed embodiment, the packet identification module is configured to determine whether a received data packet originated from a router. If the packet identification module identifies that the received data packet is from a network node other than a router, the switch module may determine the Layer 2 address and the associated Layer 3 address of the data packet from the associated Layer 2-Layer 3 It is selectively stored in an address table as an address pair. By storing the IP-MAC association of the selected data packet, the network switch can reduce the search time in the address table when the switch refers to the address table during switching. As a result, the packet identification module allows the network switch to provide Layer 3 and Layer 2 switching capabilities for 100 Mbps or Gigabit links without blocking data packets.
[0048]
Having described that the invention is presently considered to be the most practical preferred embodiment, the invention is not limited to the disclosed embodiment but, on the contrary, the spirit and scope of the appended claims. It should be understood that it is intended to cover the various changes and equivalent arrangements contained therein.
[Brief description of the drawings]
FIG. 1 is a block diagram of a packet switching network including multiple network switches for switching data packets between respective sub-networks according to an embodiment of the present invention.
FIG. 2 is a block diagram illustrating the network switch of FIG. 1 according to an embodiment of the present invention.
FIG. 3 is a flowchart showing learning in the network switch of FIG. 1, according to an embodiment of the present invention.
FIG. 4 is an alternative flow diagram illustrating learning at the network switch of FIG. 1, in accordance with an embodiment of the present invention.
FIG. 5 is another alternative flow diagram illustrating learning at the network switch of FIG. 1, in accordance with an embodiment of the present invention.
Claims (14)
ネットワークスイッチの1つのポートによってデータパケットを受取るステップと、
1つのポートがデータパケットをルータから受取ったかどうか判断するステップと、
アドレステーブルに、データパケットからのレイヤ2アドレスおよび関連するレイヤ3アドレスを、関連するレイヤ2−レイヤ3アドレス対として、1つのポートがデータパケットをルータ以外のネットワークノードから受取ったという判断に基づいて選択的に記憶するステップとを含む、方法。A method in a network switch,
Receiving a data packet by one port of the network switch;
Determining whether one port has received a data packet from the router;
Based on the determination that one port has received a data packet from a network node other than a router, assuming in the address table that the Layer 2 address and the associated Layer 3 address from the data packet are the associated Layer 2-Layer 3 address pair. Selectively storing.
受取られたデータパケットがルータからのものであるかどうかを判断するよう構成されるパケット識別モジュールと、
受取られたデータパケットがルータ以外のネットワークノードから受取られていることに基づき、受取られたデータパケットからのレイヤ2アドレスおよび関連するレイヤ3アドレスを、関連するレイヤ2−レイヤ3アドレス対としてアドレステーブルに選択的に記憶するよう構成されるスイッチモジュールとを含む、ネットワークスイッチ。A plurality of ports for receiving and transmitting a plurality of data packets, wherein one of the plurality of ports is coupled to a router;
A packet identification module configured to determine whether the received data packet is from a router;
Based on the fact that the received data packet is being received from a network node other than a router, the address table uses the Layer 2 address and the associated Layer 3 address from the received data packet as an associated Layer 2-Layer 3 address pair. A switch module configured to selectively store the network switch.
スイッチモジュールは、受取られたデータパケットがネットワークノードから受取られていることに基づき、およびアドレス情報がルータの宛先アドレスを含むことに応答して、受取られたデータパケットからのレイヤ2アドレスおよび関連するレイヤ3アドレスを、関連するレイヤ2−レイヤ3アドレス対として選択的に記憶するよう構成される、請求項8に記載のネットワークスイッチ。The packet identification module is configured to determine whether the received data packet includes address information identifying a destination address of the router,
The switch module is configured to determine, based on the fact that the received data packet is being received from the network node, and in response to the address information including a destination address of the router, the Layer 2 address and associated address from the received data packet. 9. The network switch of claim 8, wherein the network switch is configured to selectively store Layer 3 addresses as an associated Layer2-Layer 3 address pair.
複数のポートのうちの第3のポートは第2のサブネットワークに結合され、
前記パケット識別モジュールは、受取られたデータパケットが第1のサブネットワークと第2のサブネットワークとの間での受取られたデータパケットの転送を特定するアドレス情報を含むかどうか判断するよう構成される、請求項8に記載のネットワークスイッチ。A second port of the plurality of ports is coupled to the first sub-network;
A third port of the plurality of ports is coupled to the second sub-network;
The packet identification module is configured to determine whether a received data packet includes address information identifying a transfer of the received data packet between a first sub-network and a second sub-network. The network switch according to claim 8, wherein:
第2のサブネットワークに結合された、複数のポートのうちの第3のポートと、
受取られたデータパケットが第1のサブネットワークと第2のサブネットワークとの間での受取られたデータパケットの転送を特定するアドレス情報を含むかどうか判断するよう構成される前記パケット識別モジュールとをさらに含む、請求項8に記載のネットワークスイッチ。A second port of the plurality of ports coupled to the first sub-network;
A third of the plurality of ports coupled to the second sub-network;
Said packet identification module configured to determine whether a received data packet includes address information identifying a transfer of the received data packet between a first sub-network and a second sub-network. The network switch according to claim 8, further comprising:
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US54861200A | 2000-04-13 | 2000-04-13 | |
PCT/US2001/009373 WO2001080493A2 (en) | 2000-04-13 | 2001-03-23 | Method and device for layer 3 address learning |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004515088A true JP2004515088A (en) | 2004-05-20 |
Family
ID=24189628
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001576622A Withdrawn JP2004515088A (en) | 2000-04-13 | 2001-03-23 | Programmable layer 3 address self-learning scheme in network switch |
Country Status (5)
Country | Link |
---|---|
EP (1) | EP1273139A2 (en) |
JP (1) | JP2004515088A (en) |
KR (1) | KR20020091203A (en) |
CN (1) | CN1456004A (en) |
WO (1) | WO2001080493A2 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005057755A (en) * | 2003-08-01 | 2005-03-03 | Alcatel | Network traffic data processing system and method for auto-configuration of router |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1304994C (en) * | 2003-08-27 | 2007-03-14 | 四川南山之桥微电子有限公司 | Exchanger and router chip drawn by running chip general stardards and core logic and method |
EP1721411A4 (en) * | 2004-01-14 | 2010-09-08 | Riverstone Networks Inc | Managing processing utilization in a network node |
JP4186971B2 (en) | 2005-09-01 | 2008-11-26 | 富士通株式会社 | Packet transfer device |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6256314B1 (en) * | 1998-08-11 | 2001-07-03 | Avaya Technology Corp. | Apparatus and methods for routerless layer 3 forwarding in a network |
-
2001
- 2001-03-23 WO PCT/US2001/009373 patent/WO2001080493A2/en not_active Application Discontinuation
- 2001-03-23 CN CN01807985A patent/CN1456004A/en active Pending
- 2001-03-23 KR KR1020027013752A patent/KR20020091203A/en not_active Application Discontinuation
- 2001-03-23 EP EP01922614A patent/EP1273139A2/en not_active Withdrawn
- 2001-03-23 JP JP2001576622A patent/JP2004515088A/en not_active Withdrawn
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005057755A (en) * | 2003-08-01 | 2005-03-03 | Alcatel | Network traffic data processing system and method for auto-configuration of router |
JP4499501B2 (en) * | 2003-08-01 | 2010-07-07 | アルカテル−ルーセント | Network traffic data processing system and method for automatic configuration of routers |
Also Published As
Publication number | Publication date |
---|---|
CN1456004A (en) | 2003-11-12 |
WO2001080493A2 (en) | 2001-10-25 |
KR20020091203A (en) | 2002-12-05 |
WO2001080493A3 (en) | 2002-05-16 |
EP1273139A2 (en) | 2003-01-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6574240B1 (en) | Apparatus and method for implementing distributed layer 3 learning in a network switch | |
US6934260B1 (en) | Arrangement for controlling learning of layer 3 network addresses in a network switch | |
US7079537B1 (en) | Layer 3 switching logic architecture in an integrated network switch | |
US6798788B1 (en) | Arrangement determining policies for layer 3 frame fragments in a network switch | |
EP1002401B1 (en) | Multi-layer destributed network element | |
US6571291B1 (en) | Apparatus and method for validating and updating an IP checksum in a network switching system | |
US6981054B1 (en) | Flow control arrangement in a network switch based on priority traffic | |
US7145869B1 (en) | Method for avoiding out-of-ordering of frames in a network switch | |
US6094435A (en) | System and method for a quality of service in a multi-layer network element | |
JP4768191B2 (en) | Link aggregation | |
US6690668B1 (en) | Modular interconnection of network switches | |
US6621818B1 (en) | Ring configuration for network switches | |
JP4767471B2 (en) | Selective address table aging in network switches | |
EP1238492A2 (en) | Mirroring in a stacked network switch configuration | |
Aweya | On the design of IP routers Part 1: Router architectures | |
US7502366B1 (en) | Arrangement in a network switch for prioritizing data frames based on user-defined frame attributes | |
EP1221789A2 (en) | Method and apparatus for enabling L3 switching by a network switch in a stacking environment | |
US6807183B1 (en) | Arrangement for reading a prescribed location of a FIFO buffer in a network switch port | |
US6907036B1 (en) | Network switch enhancements directed to processing of internal operations in the network switch | |
US6807176B1 (en) | Arrangement for switching data packets in a network switch based on subnet identifier | |
WO2000056013A2 (en) | Method for avoiding out-of-ordering of frames in a network switch | |
US6728246B1 (en) | Arrangement for reducing layer 3 header data supplied to switching logic on a network switch | |
US7031307B2 (en) | Packet routing apparatus having label switching function | |
JP2004515088A (en) | Programmable layer 3 address self-learning scheme in network switch | |
US7031302B1 (en) | High-speed stats gathering in a network switch |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Application deemed to be withdrawn because no request for examination was validly filed |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20080603 |