JP2010251928A - ネットワーク接続装置及びスイッチング回路装置、並びにアドレス学習処理方法 - Google Patents

ネットワーク接続装置及びスイッチング回路装置、並びにアドレス学習処理方法 Download PDF

Info

Publication number
JP2010251928A
JP2010251928A JP2009097404A JP2009097404A JP2010251928A JP 2010251928 A JP2010251928 A JP 2010251928A JP 2009097404 A JP2009097404 A JP 2009097404A JP 2009097404 A JP2009097404 A JP 2009097404A JP 2010251928 A JP2010251928 A JP 2010251928A
Authority
JP
Japan
Prior art keywords
entry
address
learned
learning
specific
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.)
Granted
Application number
JP2009097404A
Other languages
English (en)
Other versions
JP4823331B2 (ja
Inventor
Takashi Miyoshi
貴史 三吉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2009097404A priority Critical patent/JP4823331B2/ja
Priority to US12/751,413 priority patent/US8559430B2/en
Publication of JP2010251928A publication Critical patent/JP2010251928A/ja
Application granted granted Critical
Publication of JP4823331B2 publication Critical patent/JP4823331B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/10Packet switching elements characterised by the switching fabric construction
    • H04L49/109Integrated on microchip, e.g. switch-on-chip
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/30Peripheral units, e.g. input or output ports
    • H04L49/3009Header 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)

Abstract

【課題】スイッチ等においてソフトウエアによるアドレス学習を実施する。
【解決手段】本スイッチは、第1ポートから受信したパケットを第2ポートへ出力するスイッチ部と、スイッチ部からの要求に応答して特定のアドレスについて所定の学習処理を実施する管理プログラムを実行するプロセッサとを有する。スイッチ部は、装置のアドレスと本アドレスを学習したか否かを表すフラグとポートの識別子とを含むエントリを格納するテーブルを有し、特定のポートから受信したパケットに含まれる特定の装置の送信元アドレスが上記テーブルに登録されていない場合、送信元アドレスと学習中を表すフラグと特定のポートの識別子とを含むエントリを上記テーブルに登録すると共に、プロセッサに送信元アドレスの学習を要求し、上記プロセッサから特定のエントリのフラグを学習済みに変更する要求を受信すると、上記テーブルにおいて特定のエントリのフラグを学習済みに設定する。
【選択図】図3

Description

本技術は、スイッチなどのネットワーク接続装置におけるアドレス学習に関連する技術に関する。
従来、レイヤ2(L2)スイッチにおいて、FDB(Forwarding DataBase)に送信元アドレス(SA:Source Address)を登録するためのアドレス学習は、スイッチハードウエアで行われてきた。例えば図1に示すように、スイッチハードウエアであるスイッチLSI(Large Scale Integrated circuit)は、ポートと、FDBと、管理部とを有している。そして、ポートで受信したパケットの送信元アドレス(SA)によりFDBを検索して(ステップ(1001))、このSA検索結果を管理部に通知する(ステップ(1002))。管理部は、SAがFDBに登録されていなければ、FDBにSAを登録する(ステップ(1003))。しかし、このようなスイッチLSIに含まれる管理部では、単純なSA登録しか行うことができず、認証など高度な処理によるフィルタリングが必要なケースには対処できない。高度な処理によるフィルタリングが必要なケースとしては、例えば、受信パケットのVLAN(Virtual Local Area Network)と登録すべきアドレスのVLAN IDが異なるケース、受信パケットのSAを登録する際、VLAN IDが異なる複数のエントリを登録したいケース、ドメインの異なるポートに対してアドレス変換を行うケースなどが挙げられる。
なお、このようなハードウエアでアドレス学習を行う技術には、以下のようなものもある。すなわち、パケット長から当該パケットの転送処理所要時間を求めるとともに転送先判定処理の実実行時間を測定し、転送処理所要時間と測定された転送先判定処理の実実行時間との差時間に応じてMACアドレス学習などの付加処理を実行するか否かを決定するようにしている。これによると、必ずMACアドレス学習などの付加処理を実施する場合に比べ、パケットの廃棄が少なくなるとともに、安価なコストパフォーマンスの良いシステムが構成できる。さらに、特定のアドレスについての学習ばかりを行うことにならず、効率的にアドレス学習を行うことができる、というものである。
特開2006−295550号公報
上で述べたように、ハードウエアのみによるアドレス学習では、多様なアドレス学習に対応できない。そこで、ソフトウエアによるアドレス学習を導入するとしても、単純には全ての問題が解決するわけではない。
従って、本技術の目的は、スイッチなどのネットワーク接続装置においてソフトウエアによるアドレス学習を適切に実施できるようにすることである。
本ネットワーク接続装置は、複数のポートのうち第1のポートから受信したパケットを第2のポートへ出力するスイッチ部と、スイッチ部からの要求に応答して特定のアドレスについて所定の学習処理を実施する管理プログラムを実行するプロセッサとを有する。そして、上で述べたスイッチ部は、ポートに接続されている装置のアドレスと、プロセッサがアドレスを学習したか否かを表す学習データと、上記装置が接続されているポートの識別子とを含むエントリを格納するテーブルを有している。そして、スイッチ部は、特定のポートから受信したパケットに含まれる特定の装置の送信元アドレスが上記テーブルに登録されていない場合、送信元アドレスと送信元アドレスを学習中であることを表す学習データと特定のポートの識別子とを含むエントリを上記テーブルに登録すると共に、プロセッサに送信元アドレスの学習を要求し、特定のポートから特定の装置の送信元アドレスを含む第2のパケットを受信した際に上記テーブルに特定の装置の送信元アドレスと学習中であることを表す学習データとを含むエントリが登録済みである場合には、上記プロセッサに送信元アドレスの学習を要求しない。さらに、上記プロセッサからテーブルにおける特定のエントリの学習データを学習済みに変更する要求を受信した場合、上記テーブルにおいて特定のエントリの学習データを学習済みに設定する。
ネットワーク接続装置においてソフトウエアによるアドレス学習を適切に実施できるようになる。
図1は、従来技術を説明するための図である。 図2は、本技術の実施の形態の前提となる技術を説明する図である。 図3は、本実施の形態に係るL2スイッチの機能ブロック図である。 図4は、FDBの構成例を示す図である。 図5は、本実施の形態におけるキューの構造を説明するための図である。 図6は、本実施の形態のメインの処理フローを示す図である。 図7Aは、SA処理の処理フローを示す図である。 図7Bは、SA処理を説明するためのFDB等の状態を表す図である。 図8は、SA処理を説明するための先頭ポインタ格納部及び末尾ポインタ格納部の状態を表す図である。 図9は、SA処理を説明するためのFDB等の状態を表す図である。 図10は、SA処理を説明するための先頭ポインタ格納部及び末尾ポインタ格納部の状態を表す図である。 図11は、割り込み発生処理の処理フローを示す図である。 図12は、プロセッサからの内部資源アクセス処理の処理フローを示す図である。 図13は、アドレス登録割り込み処理の処理フローを示す図である。 図14は、アドレス登録割り込み処理の処理フローを示す図である。 図15は、アドレス登録割り込み処理を説明するためのFDB等の状態を表す図である。 図16は、アドレス登録割り込み処理を説明するための先頭ポインタ格納部及び末尾ポインタ格納部の状態を表す図である。 図17は、アドレス登録割り込み処理を説明するためのFDB等の状態を表す図である。 図18は、アドレス登録割り込み処理を説明するための先頭ポインタ格納部及び末尾ポインタ格納部の状態を表す図である。 図19は、DA処理の処理フローを示す図である。
[本技術の実施の形態の前提]
背景技術で述べたように、L2スイッチにおけるハードウエアのみによるアドレス学習では、MAC VLAN認証など高度な、そして学習の有無を切り替えたり学習内容を変更したりする柔軟なアドレス学習パターンに対応できない。そこで、スイッチLSIとは別にスイッチ管理プロセッサを導入して、当該スイッチ管理プロセッサで各種アドレス学習を実施するための管理プログラムを実行するような構成が考えられる。
このようなケースの一例を図2に示す。図2の例では、スイッチLSIは、複数のポートと、FDBと、管理部とを有する。そして、スイッチLSIは通信路(バス又はネットワーク)によってスイッチ管理プロセッサと接続しており、スイッチ管理プロセッサでは、オペレーティング・システム(OS)及び当該OS上で管理プログラムが実行されている。このような構成では、ポートで受信したパケットの送信元アドレス(SA)によりFDBを検索して(ステップ(1101))、このSA検索結果を管理部に通知する(ステップ(1102))。SAがFDBに登録されていなければ、管理部は、プロセッサに対して学習要求割り込みを行う(ステップ(1103))。
この後、SA等の情報をスイッチLSIの管理部からスイッチ管理プロセッサで実行されている管理プログラムに受け渡したり、FDBの内容を管理プログラムからの要求に応じてスイッチ管理プロセッサ及び管理部を介して受け渡したりする。このように受け渡されたデータを用いて管理プログラムでアドレス学習を実施して結果としてSAをFDBに登録する又は破棄するかを指示する要求をスイッチ管理プロセッサからスイッチLSIの管理部に出力する(ステップ(1104))。そして、スイッチLSIの管理部は、スイッチ管理プロセッサからの要求に応じて、FDBにSAを登録するか又はSAを破棄する(ステップ(1105))。
このような管理プログラムを用いたアドレス学習では、ステップ(1102)乃至(1105)のレイテンシが大きく、学習スループットが低くなってしまう。そして、FDBに登録されていないSAを含むパケットが連続すると、学習が間に合わなくなって学習の取りこぼしが発生する。これに対処するためには、後続のSA検索結果をマスクするか、キューイングする必要がある。しかし、マスクする場合には、当然マスク中は新規の学習要求は破棄されるので取りこぼしが発生し、単純にキューイングする場合には、同じSAについての学習要求が連続してキューに追加される事態が生じうる。この場合、スイッチLSIとスイッチ管理プロセッサとの間の帯域を含む資源が無駄に消費され、ますますスループットが低下するという問題が生じてしまう。
このように、単純にスイッチLSIとは別にスイッチ管理プロセッサにアドレス学習を実施する管理プログラムを実行させるだけでは、アドレス学習が適切に実施できない。
本実施の形態では、このような具体的な問題を解決するような構成を導入する。
[本実施の形態の具体的内容]
図3に、本実施の形態におけるL2スイッチ100の構成例を示す。L2スイッチ100は、スイッチLSI110と、当該スイッチLSI110と通信路131及び割り込み信号線132で接続されたスイッチ管理プロセッサ120とを有する。スイッチLSI110は、端末装置等(図3では端末101乃至103)に接続されるポート部(図3ではポート1乃至3)と、ポート部に接続されるFDB111と、FDB111に接続されている管理部112と、管理部112と接続されており且つアドレス学習の順番を管理するためのキューとして機能するタグ格納部113とを有する。以下でも述べるが、図3で点線で示されるようにFDB111とタグ格納部113とは一体化される場合もある。また、FDB111には、以下で説明するようにアドレス学習中であるか否かを表す学習状態フラグ1111が新たに追加されている。また、管理部112は、タグ格納部113と共にアドレス学習の順番を管理するためのキューとして機能する先頭ポインタを格納する先頭ポインタ格納部1121及び末尾ポインタを格納する末尾ポインタ格納部1122を有する。また、スイッチ管理プロセッサ120は、OS上で管理プログラム121を実行している。
図4に、FDB111のデータ構成例を示す。図4に示すように、検索キーであるMACアドレスに対応付けて、当該MACアドレスの機器が接続されているポートの識別子が登録される出力ポート情報と、当該MACアドレスを学習中であるか学習済みであるかを表す学習状態フラグ1111とが登録されている。このようなテーブルの各行を以下ではエントリと呼び、以下ではその格納位置をインデックスと呼ぶ。
このようなFDB111を用いることによって、以下で述べるように重複するアドレス学習要求をフィルタすることができる。新たなSAを受信した場合には、FDB111に新たなエントリを登録すると共に、学習状態フラグ1111を「学習中」に設定する。管理プログラム121によるアドレス学習の結果スイッチ管理プロセッサ120からエントリ更新要求を受信すれば、学習状態フラグ1111を「学習済」に変更し、当該エントリに基づくパケットの転送が開始される。一方、スイッチ管理プロセッサ120からエントリ削除要求を受信すれば、該当エントリを削除する。
具体的には、ポート部からパケット(=MACフレーム)を受信すると、当該パケットのSA(=送信元MACアドレス)でFDB111に対してSA検索を実施する。その際、FDB111に対応エントリが存在しなければ、学習状態フラグ1111が「学習中」を表す新規エントリをFDB111に追加し、アドレス学習を実施する。一方、対応エントリが存在し、学習状態フラグ1111が「学習中」であればこれ以上アドレス学習を行う必要がないので、アドレス学習要求を抑制する。これによって重複するアドレス学習をフィルタリングし、アドレス学習のスループットを向上させることができる。一方、学習状態フラグ1111が「学習済」であれば特にアドレス学習は必要なく、通常のとおりに処理する。
また、ポート部からパケットを受信すると、当該パケットの送信先アドレス(DA:Destination address。=送信先MACアドレス)でもFDB111に対してDA検索を実施する。この際対応エントリが存在しなければ、全ポートに対してパケットをブロードキャストする。また、対応エントリが存在して学習状態フラグ1111が「学習中」であれば、対応エントリが存在していないのと同様の状態として全ポートに対してパケットをブロードキャストする。すなわち、各ポートに接続されている各装置に自分宛のパケットであるかを判断させる。一方、対応エントリが存在して学習状態フラグ1111が「学習済」であれば、通常どおり該当ポートにパケットを転送する。
次に、図5を用いて、アドレス学習の順番を管理するためのキューについて説明する。タグ格納部113においては、FDB111の対応エントリについてのポインタが格納される。このポインタは、次にアドレス学習を実施すべきSAについてのエントリを指している。図5の例では、Next0というインデックスのエントリについてのポインタは、次にアドレス学習を実施すべきSAについてのエントリのインデックスNext1となっている。インデックスNext1のエントリのポインタは、さらに次にアドレス学習を実施すべきSAについてのエントリのインデックスNext2となっている。インデックスNext2のエントリのポインタは、次にアドレス学習を実施すべきSAが存在していないのでNULLとなっている。なお、図5では明示していないが、学習状態フラグ1111が「学習済」であるエントリについてのポインタは、使用されない(すなわちDon't careとして扱う)。
さらに、管理部112は、最初にアドレス学習を実施すべきFDB111のエントリを指す先頭ポインタ(図5ではNext0)を保持しており、さらに最後にアドレス学習を実施すべきFDB111のエントリを指す末尾ポインタ(図5ではNext2)を保持している。
このようにFDB111における学習中のエントリをキュー構造で管理して、スイッチ管理プロセッサ120のアクセスを効率化する。すなわち、スイッチ管理プロセッサ120からのアクセスは、キュー構造における学習中の先頭エントリに限定されるので、アクセスについてのオーバーヘッドが削減され、処理性能の向上が図られる。
また、本来学習できるアドレス数はFDB111のサイズが上限となる(すなわち学習済エントリ数+学習中エントリ数≦FDBエントリ総数)ので、FDB111の各エントリに対応付けてタグ(ポインタ領域)を設けるのが効率的である。また、タグ格納部113をFDB111に設ければさらにFDB111の空き領域を効率利用できるようになる。
次に、図3に示した本実施の形態に係るL2スイッチ100の動作の概要を説明する。例えばポート1には端末101が接続されて、ポート1が端末101から送信元アドレスSA(MACアドレス=A1)のパケットを受信すると、このSA(MACアドレス=A1)でFDB111を検索する(ステップ(1))。そして、SA検索結果を管理部112に通知する(ステップ(2))。ここでSA検索結果が当該SAがFDB111に登録されていないことを示していれば、管理部112は、FDB111に当該SAのためのエントリを追加する(ステップ(3))。追加エントリの学習状態フラグ1111は「学習中」となる。また、管理部112における先頭ポインタ格納部1121及び末尾ポインタ格納部1122並びにタグ格納部113により追加エントリをキューに登録するための必要な処理を行う。
さらに、キューのサイズが1以上になると、管理部112から、スイッチ管理プロセッサ120に対して割り込み信号線132を介して割り込みを行う(ステップ(4))。割り込みを受けたスイッチ管理プロセッサ120の管理プログラム121により、スイッチLSI110の管理部112にアクセスし、キューの先頭エントリを特定すると共に当該キューの先頭エントリのデータを通信路131を介して取得し、アドレス学習のための所定の処理を実施する(ステップ(5))。このスイッチ管理プロセッサ120の管理プログラム121による所定のアドレス学習の結果、キューの先頭エントリのSAを登録しても良い場合にはエントリ更新要求を、登録してはならない場合にはエントリ削除要求を、スイッチ管理プロセッサ120の管理部112に出力する(ステップ(6))。
管理部112は、スイッチ管理プロセッサ120からの要求がエントリ更新要求であれば、該当エントリの学習状態フラグ1111を「学習済」に変更し、エントリ削除要求であれば、FDB111において該当エントリを削除する(ステップ(7))。
ステップ(5)乃至(7)については、キューが空になるまでスイッチ管理プロセッサ120は処理を繰り返す。
このような処理を実施することにより、アドレス学習を無駄なく且つ漏れなく実施することができるようになる。
以下、L2スイッチ100の処理の詳細について図6乃至図19を用いて説明する。まず、例えばポート1乃至3のいずれかで端末101乃至103のいずれかからパケットを受信する(図6:ステップS1)。そして、受信したパケットのSAによるSA処理を実施する(ステップS3)。この処理については、以下で詳細に述べる。また、受信したパケットのDAによるDA処理も実施する(ステップS5)。DA処理は、受信したパケットをどのように転送するのかを決定するための処理であり、以下で詳細に述べる。このような処理をパケットを受信する毎に実施する。
次に、図7Aを用いてSA処理について説明する。まず、受信パケットのSAでFDB111を検索する(ステップS11)。このステップは、図3のステップ(1)に対応するので、図7Aでも「*(1)」で示している。
そして、受信パケットのSAがFDB111に未登録であるか判断する(ステップS13)。このステップは、図7のステップ(2)に対応する。SAが既にFDB111に登録されていれば、当該SAのエントリの学習状態フラグ1111が「学習中」であっても「学習済」であっても、SAに対するアドレス学習を行わない(ステップS25)。「学習中」であれば重複したアドレス学習を避け、「学習済」であれば元来学習は不要であるので、このように何も行わず(図7では点線ブロックで表示)、元の処理に戻る。
一方、FDB111に受信パケットのSAが未登録であるとすると、管理部112は、FDB111において、新規エントリ(MACアドレス=SA、学習状態フラグ1111=学習中、タグ格納部113の該当エントリについてのポインタ=NULL)をインデックス=New1に追加する(ステップS15)。このステップは、図3のステップ(3)に該当する。また、FDB111は、図7Bに示すような状態になる。
そして、管理部112は、末尾ポインタがNULLであるか判断する(ステップS17)。末尾ポインタがNULLということは、キューの中にアドレス学習すべきエントリが無かったということで、今回追加された新規エントリが先頭エントリとなる。末尾ポインタがNULLであれば、管理部112は、先頭ポインタに追加エントリのインデックス(New1)を設定する(ステップS19)。そしてステップS23に移行する。一方、末尾ポインタがNULLでない場合には、既に学習中のエントリが存在するということで末尾に新規エントリを設定しなければならない。従って、末尾ポインタが指すエントリのポインタフィールド(すなわちタグ格納部113の該当フィールド)に追加エントリのインデックス(New1)を設定する(ステップS21)。これによって、追加エントリをキューの最後尾に登録できたことになる。そしてステップS23に移行する。
ステップS23では、管理部112は、末尾ポインタに追加エントリのインデックス(New1)を設定する(ステップS23)。そして元の処理に戻る。
ステップS19及びS23を実行する場合には、図8に示すように、先頭ポインタ格納部1121及び末尾ポインタ格納部1122にインデックスNew1が登録される。一方ステップS21及びS23が実行された場合には、図9に示すように、FDB111については、これまで末尾エントリであってインデックスがNew0のエントリについてのポインタフィールド(タグ格納部113の該当フィールド)に、今回追加されたエントリのインデックスNew1を登録する。また、図10に示すように、先頭ポインタ格納部1121には、先頭エントリのインデックスHead0が格納されており、末尾ポインタ格納部1122には、今回追加されたエントリのインデックスNew1が登録される。
このように、未登録のSAを含むパケットを受信した場合には、FDB111に新規エントリを登録すると共に、キューの末尾に当該新規エントリを設定する。
次に、末尾ポインタ格納部1122を監視している管理部112の処理について図11を用いて説明する。管理部112は、末尾ポインタ格納部1122を監視しており、末尾ポインタがNULLであるか判断する(図11:ステップS31)。NULLであれば、学習すべきアドレスがないので、末尾ポインタが登録されるまで待つ。一方、末尾ポインタが登録されていれば、管理部112は、スイッチ管理プロセッサ120に対してアドレス登録要求割り込みをアサートする(ステップS33)。このステップは、図3のステップ(4)に対応する。そしてステップS31に戻る。
このようにして、末尾ポインタが設定されると、スイッチ管理プロセッサ120に対してアドレス登録要求割り込みがアサートされるようになり、アドレス学習が開始される。
また、管理部112は、スイッチ管理プロセッサ120からの要求に応じて以下のような処理を実施する。具体的には、管理部112は、スイッチ管理プロセッサ120から何らかの処理要求を受信したか判断し(図12:ステップS41)、受信していない場合には受信するまで待機する。一方、スイッチ管理プロセッサ120から何らかの処理要求を受信した場合には、管理部112内ポインタ(具体的には先頭ポインタ又は末尾ポインタ)へのアクセス要求か判断する(ステップS43)。管理部112内ポインタへのアクセス要求(読み出し/書き込み)であれば、管理部112が、要求先のポインタにアクセスして、結果をスイッチ管理プロセッサ120へ出力する(ステップS45)。このステップは、例えば図3のステップ(5)の一部である。そしてステップS41に戻る。
一方、管理部内ポインタへのアクセス要求でない場合には、管理部112は、FDB111へのアクセス要求であるか判断する(ステップS47)。FDB111へのアクセス要求であれば、管理部112は、要求に従ってFDB111にアクセスし、結果をスイッチ管理プロセッサ120へ出力する(ステップS49)。例えば、エントリの内容を読み出すような要求に応じてエントリの内容を読み出してスイッチ管理プロセッサ120へ出力したりする場合もあれば、要求に応じてエントリの学習状態フラグ1111を変更したり、エントリを削除したりする。このステップは、図3のステップ(7)の一部である。ステップS49の後にはステップS41に戻る。また、FDB111へのアクセス要求でなければステップS41に戻る。
管理部112は、このようにスイッチ管理プロセッサ120とのインターフェースとしても動作する。
次に、スイッチ管理プロセッサ120の管理プログラム121の処理について図13乃至図18を用いて説明する。まず、スイッチ管理プロセッサ120は、スイッチLSI110からアドレス登録割り込みを割り込み信号線132を介して受信する(ステップS51)。このステップは、図3のステップ(4)に対応する。そして、スイッチ管理プロセッサ120で実行されている管理プログラム121は、先頭ポインタの取得をスイッチLSI110の管理部112に指示し、スイッチLSI110の管理部112から先頭ポインタを取得する(ステップS53)。このステップは、図3のステップ(5)に対応し、図12のステップS45と関連する。そして、先頭ポインタがNULLであるか判断する(ステップS55)。このステップは、処理の終了確認であって後続の処理から戻ってきた際に有効となる。すなわち、最初は当然NULLではない。先頭ポインタがNULLである場合には、処理を終了する。
先頭ポインタがNULLでない場合には、管理プログラム121は、先頭ポインタが指すエントリ(例えばインデックス「Head1」)の取得を管理部112に指示し、スイッチLSI110の管理部112から先頭ポインタが指すエントリのデータを取得する(ステップS57)。ここでは、タグ格納部113の対応するフィールドに格納されているポインタについても同時に取得する。このステップは、図3のステップ(5)の一部に対応しており、図12のステップS49に関連する。例えば、図15に示すように、インデックス「Head1」のエントリについては、MACアドレスがSBで、出力ポート情報はポート2で、学習状態フラグ1111が学習中で、タグ格納部113の対応フィールドのポインタがNew2であるとする。
その後、管理プログラム121は、先頭ポインタ格納部1121に対して、取得エントリ(例えばインデックスが「Head1」のエントリ)のポインタフィールド値(タグ格納部113の対応フィールドの値。上の例では「New2」)を設定するようにスイッチLSI110の管理部112に指示する(ステップS59)。これによって、先頭エントリを次のエントリに入れ替えている。図16に示すように、先頭ポインタ格納部1121には、「New2」が登録される。但し、図15のインデックス「New2」のエントリのように、取得エントリのポインタフィールド値が「NULL」であれば、「NULL」を設定するように指示する。また、このステップは、図3のステップ(5)の一部に対応し、図12のステップS43に関連する。そして処理は端子Bを介して図14の処理に移行する。
図14の処理の説明に移行して、取得エントリの内容を用いて、所定の判断処理(すなわちアドレス学習処理)を実施する(ステップS61)。例えば、特定のアドレス、VLANの組み合わせに一致するか判断し、該当する場合には登録を拒否する。また、FDB111のエントリだけではなくIPパケットの情報を取得して、登録の是非を判断するなど、様々なバリエーションがある。但し、このような処理自体は本実施の形態の主旨ではなく、従来から知られている処理であるのでこれ以上述べない。
そして、管理プログラム121は、ステップS61の判断結果SA(図15の例では「SB」)を登録するか判断し(ステップS63)、SAを登録する場合には、取得エントリ(インデックス「Head1」のエントリ)の学習状態フラグ1111を学習済に変更するようにエントリ更新要求を、スイッチLSI110の管理部112に出力する(ステップS65)。このステップは、図3のステップ(7)に対応し、図12のステップS49に関連する。そして処理はステップS69に移行する。このような処理を実施すれば、図15の状態から図17の状態に、FDB111等は変化する。
一方、SAを登録しない場合、管理プログラム121は、取得エントリ(インデックス「Head1」のエントリ)を削除するようにエントリ削除要求を、スイッチLSI110の管理部112に出力する(ステップS67)。このステップは、図3のステップ(7)に対応する。そして処理はステップS69に移行する。
ステップS69では、管理プログラム121は、先頭ポインタがNULLになっているか判断する。ステップS59でNULLを先頭ポインタに設定するようにスイッチLSI110の管理部112に指示したか否かで判断する。先頭ポインタがNULLになっていなければ端子Cを介して図13のステップS51に戻る。
一方、先頭ポインタがNULLであれば、管理プログラム121は、末尾ポインタにNULLを設定するようにスイッチLSI110の管理部112に指示する(ステップS71)。これによって、スイッチLSI110のキューにアドレス学習すべきエントリが存在しない状態が確定する。すなわち、図16に示すように、管理部112内の先頭ポインタ格納部1121及び末尾ポインタ格納部1122には共にNULLが登録されることになる。このステップは、図12のステップS45に関連する。そして端子Cを介して図13のステップS51に戻る。
このような処理を実施することによって、スイッチLSI110のキューの先頭エントリから適切にアドレス学習が実施されるようになる。さらに、キューを適切に更新して、存在する場合には順番に学習すべきエントリについてアドレス学習を行うようになっている。
次に、図19を用いて、DA処理について説明する。まず、受信したパケットのDAでFDB111を検索する(ステップS81)。そしてDAがFDB111に未登録であるか判断する(ステップS83)。DAがFDB111に未登録の場合には、いずれのポートにDAに係る装置が接続されているか分からないということになるので、パケットを受信したポートを除き全ポートに対してパケットを転送する(ステップS89)。そして元の処理に戻る。
一方、DAがFDB111に登録済みであれば、本実施の形態では、学習状態フラグ1111が設定されているのでこれを確認する。そして、学習状態フラグ1111が学習中を示している場合には、まだこのアドレスについては登録すべきか否かを決定しておらず、他のポートにこのパケットを処理すべき装置がいるかもしれないので、ステップS89に移行して、パケットを受信したポートを除き全ポートにパケットを転送する。
一方、学習状態フラグ1111が学習済を示している場合には、当該エントリに含まれる出力ポートにパケットを出力する(ステップS87)。学習済みであれば該当エントリを使用しても良いので、このようにパケットを出力する。そして元の処理に戻る。
以上のような処理を実施することによって、DAが学習済としてFDB111に登録されていない場合には、全ポートに転送してそれらのポートに接続されている装置等に受信すべきパケットかを判断させるようになっている。
以上述べたように学習状態フラグ1111を適切に管理することにより、重複するアドレス学習を効率的にフィルタすることができ、キューを適切に管理することによってスイッチ管理プロセッサ120の処理速度が遅い場合においてもアドレス学習要求の取りこぼしがなくなる。すなわち、学習状態フラグ1111及びタグ格納部113という最小限のリソース追加で、アドレス学習の効率化が図られ、取りこぼしもなくなる。これにより、スイッチ管理プロセッサ120で高度なアドレス学習を実施しても、それによる性能インパクトを非常に小さなものに抑えることができる。
以上本技術の実施の形態を説明したが、本技術はこれに限定されるものではない。例えば、図3に示した機能ブロック図は一例であって、場合によってはスイッチLSI110とスイッチ管理プロセッサ120が一体化される場合もある。そのような場合においても本実施の形態は動作する。
また、処理フローについても、処理結果が変わらない限りにおいて、処理順番を入れ替えたり、並列に実行したりしても良い場合がある。
以上本実施の形態をまとめると以下のようになる。
本技術の第1の態様に係るネットワーク接続装置は、複数のポートのうち第1のポートから受信したパケットを第2のポートへ出力するスイッチ部と、スイッチ部からの要求に応答して特定のアドレスについて所定の学習処理を実施する管理プログラムを実行するプロセッサとを有する。そして、上で述べたスイッチ部は、ポートに接続されている装置のアドレスと、プロセッサがアドレスを学習したか否かを表す学習データと、装置が接続されているポートの識別子とを含むエントリを格納するテーブルを有している。そして、スイッチ部は、特定のポートから受信したパケットに含まれる特定の装置の送信元アドレスが上記テーブルに登録されていない場合、送信元アドレスと送信元アドレスを学習中であることを表す学習データと特定のポートの識別子とを含むエントリを上記テーブルに登録すると共に、プロセッサに送信元アドレスの学習を要求し、特定のポートから特定の装置の送信元アドレスを含む第2のパケットを受信した際に上記テーブルに特定の装置の送信元アドレスと学習中であることを表す学習データとを含むエントリが登録済みである場合には、上記プロセッサに送信元アドレスの学習を要求しない。さらに、上記プロセッサから上記テーブルにおける特定のエントリの学習データを学習済みに変更する要求を受信した場合、上記テーブルにおいて特定のエントリの学習データを学習済みに設定する。
このように学習データを上で述べたようなテーブルにおいて管理することによって、重複するアドレス学習を適切にフィルタリングすることができるようになり、効率的なアドレス学習がプロセッサで実施できるようになる。
なお、上で述べたスイッチ部とプロセッサとは別のハードウエア・モジュールである場合もある。このような場合には、レイテンシの問題から、上で述べたような構成が特に有効である。
また、上で述べたスイッチ部が、特定のポートから特定の送信先アドレスを含む第2のパケットを受信した際に上記テーブルに特定の送信先アドレスと学習中であることを表す学習データとを含むエントリが登録済みである場合には、第2のパケットを、特定のポートを除く複数のポートに出力するようにしてもよい。このように学習中においては、送信先アドレスが本当に登録しても良いものであるか未確定であるので、パケットをブロードキャストすることによって各ポートに接続されている装置において自らが該当する装置であるか否かを判断させるものである。
さらに、上で述べたテーブルにおいて学習データが学習中であることを表しているエントリの学習順番を管理するための機構をさらに有するようにしてもよい。このような構成を保持することによって、プロセッサの処理速度が低い場合においても、正しい順番で取りこぼしなくアドレスの学習を行うことができるようになる。
また、上で述べた機構において、エントリ毎に、ポインタフィールドが設けられ、ポインタフィールドに、学習データが学習中であることを表しているエントリに対応付けて、次に学習すべきエントリへのポインタが登録されるようにしてもよい。さらに、最初に学習すべきエントリへのポインタ及び最後に学習すべきエントリへのポインタを別途保持するようにしてもよい。このようにすれば、簡単な構成で上で述べた機構を実現でき、上記テーブルがアドレス学習のリクエストキューとしても機能することとなる。なお、ポインタフィールドが上で述べたテーブルと一体化される場合もあれば、異なるメモリ又は記録領域に保持される場合もある。一体化された場合の方が、処理が簡単でメモリ利用効率も高くなる。
なお、このようなポインタフィールド等を用いる場合には、上で述べたスイッチ部は、最後に学習すべきエントリへのポインタが既に登録されている場合には、当該最後に学習すべきエントリについてのポインタフィールドに、上記テーブルに新たに登録されたエントリのアドレスを登録し、上記テーブルに新たに登録されたエントリのアドレスを、最後に学習すべきエントリへのポインタとして登録するようにしてもよい。そして、上記プロセッサに送信元アドレスの学習を要求した後に上記プロセッサからの先頭ポインタの要求に応じて、最初に学習すべきエントリへのポインタが示す先頭エントリのアドレスを上記プロセッサに出力し、上記プロセッサからの先頭エントリのアドレスを指定した先頭エントリ取得要求に応じて、上記テーブルから先頭エントリのデータ及び当該先頭エントリに対応付けられているポインタフィールドに格納されているアドレスを読み出してプロセッサに出力し、さらにプロセッサからの先頭エントリに対応付けられているポインタフィールドに格納されているアドレスの設定要求に応じて、最初に学習すべきエントリへのポインタとして上記アドレスの設定要求に含まれるアドレスを登録するようにしてもよい。このようにすれば、適切に学習の順番が管理されるようになる。
また、本技術の第2の態様に係る、ネットワーク接続装置用のスイッチング回路装置は、複数のポートのうちあるポートに接続されている装置のアドレスと、特定のアドレスについて所定の学習処理を実施する管理プログラムを実行するプロセッサが特定のアドレスを学習したか否かを表す学習データと、上記装置が接続されているポートの識別子とを含むエントリを格納するテーブルと、管理部とを有している。そして、管理部は、特定のポートから受信したパケットに含まれる特定の装置の送信元アドレスが上記テーブルに登録されていない場合、送信元アドレスと送信元アドレスを学習中であることを表す学習データと特定のポートの識別子とを含むエントリを上記テーブルに登録すると共に、上記プロセッサに送信元アドレスの学習を要求する。また、特定のポートから特定の装置の送信元アドレスを含む第2のパケットを受信した際に上記テーブルに特定の装置の送信元アドレスと学習中であることを表す学習データとを含むエントリが登録済みである場合には、上記プロセッサに送信元アドレスの学習を要求しない。さらに、上記プロセッサから上記テーブルにおける特定のエントリの学習データを学習済みに変更する要求を受信した場合、上記テーブルにおいて特定のエントリの学習データを学習済みに設定する。
以上の実施例を含む実施形態に関し、さらに以下の付記を開示する。
(付記1)
複数のポートのうち第1のポートから受信したパケットを第2のポートへ出力するスイッチ部と、
前記スイッチ部からの要求に応答して特定のアドレスについて所定の学習処理を実施する管理プログラムを実行するプロセッサと、
を有し、
前記スイッチ部は、
前記ポートに接続されている装置のアドレスと、前記プロセッサが前記アドレスを学習したか否かを表す学習データと、前記装置が接続されているポートの識別子とを含むエントリを格納するテーブルを有しており、
特定のポートから受信したパケットに含まれる特定の装置の送信元アドレスが前記テーブルに登録されていない場合、前記送信元アドレスと前記送信元アドレスを学習中であることを表す学習データと前記特定のポートの識別子とを含むエントリを前記テーブルに登録すると共に、前記プロセッサに前記送信元アドレスの学習を要求し、
前記特定のポートから前記特定の装置の送信元アドレスを含む第2のパケットを受信した際に前記テーブルに前記特定の装置の送信元アドレスと学習中であることを表す学習データとを含むエントリが登録済みである場合には、前記プロセッサに前記送信元アドレスの学習を要求せず、
前記プロセッサから前記テーブルにおける特定のエントリの前記学習データを学習済みに変更する要求を受信した場合、前記テーブルにおいて前記特定のエントリの前記学習データを学習済みに設定する
ネットワーク接続装置。
(付記2)
前記スイッチ部が、
前記特定のポートから特定の送信先アドレスを含む第2のパケットを受信した際に前記テーブルに前記特定の送信先アドレスと学習中であることを表す学習データとを含むエントリが登録済みである場合には、前記第2のパケットを、前記特定のポートを除く前記複数のポートに出力する
付記1記載のネットワーク接続装置。
(付記3)
前記テーブルにおいて前記学習データが学習中であることを表しているエントリの学習順番を管理するための機構をさらに有する付記1又は2記載のネットワーク接続装置。
(付記4)
前記機構において、
前記エントリ毎に、ポインタフィールドが設けられ、
前記ポインタフィールドに、前記学習データが学習中であることを表しているエントリに対応付けて、次に学習すべきエントリへのポインタが登録され、
さらに、最初に学習すべきエントリへのポインタ及び最後に学習すべきエントリへのポインタを別途保持する
付記3記載のネットワーク接続装置。
(付記5)
複数のポートのうち第1のポートから受信したパケットを第2のポートへ出力するスイッチ部と、前記スイッチ部からの要求に応答して特定のアドレスについて所定の学習処理を実施する管理プログラムを実行するプロセッサとを有するネットワーク接続装置により実行されるアドレス学習処理方法であって、
前記ポートに接続されている装置のアドレスと前記プロセッサが前記アドレスを学習したか否かを表す学習データと前記装置が接続されているポートの識別子とを含むエントリを格納するテーブルに、特定のポートから受信したパケットに含まれる特定の装置の送信元アドレスが登録されていない場合、前記送信元アドレスと前記送信元アドレスを学習中であることを表す学習データと前記特定のポートの識別子とを含むエントリを前記テーブルに登録すると共に、前記プロセッサに前記送信元アドレスの学習を要求する要求ステップと、
前記特定のポートから前記特定の装置の送信元アドレスを含む第2のパケットを受信した際に前記テーブルに前記特定の装置の送信元アドレスと学習中であることを表す学習データとを含むエントリが登録済みである場合には、前記プロセッサに対する前記送信元アドレスの学習の要求を抑制するステップと、
前記プロセッサから前記テーブルにおける特定のエントリの前記学習データを学習済みに変更する要求を受信した場合、前記テーブルにおいて前記特定のエントリの前記学習データを学習済みに設定するステップと、
を含むアドレス学習処理方法。
(付記6)
前記スイッチ部において、
前記エントリ毎に、ポインタフィールドが設けられ、
前記ポインタフィールドには、前記学習データが学習中であることを表しているエントリに対応付けて、次に学習すべきエントリへのポインタが登録され、
さらに、最初に学習すべきエントリへのポインタ及び最後に学習すべきエントリへのポインタを別途保持し、
前記要求ステップにおいて、
前記最後に学習すべきエントリへのポインタが既に登録されている場合には、当該最後に学習すべきエントリについての前記ポインタフィールドに、前記要求ステップにおいて前記テーブルに新たに登録されたエントリのアドレスを登録し、
前記要求ステップにおいて前記テーブルに新たに登録されたエントリのアドレスを、前記最後に学習すべきエントリへのポインタとして登録し、
前記要求ステップの後に前記プロセッサからの先頭ポインタの要求に応じて、前記最初に学習すべきエントリへのポインタが示す先頭エントリのアドレスを前記プロセッサに出力するステップと、
前記プロセッサからの前記先頭エントリのアドレスを指定した先頭エントリ取得要求に応じて、前記テーブルから前記先頭エントリのデータ及び当該先頭エントリに対応付けられている前記ポインタフィールドに格納されているアドレスを読み出して前記プロセッサに出力するステップと、
前記プロセッサからの前記先頭エントリに対応付けられている前記ポインタフィールドに格納されているアドレスの設定要求に応じて、前記最初に学習すべきエントリへのポインタとして前記アドレスの設定要求に含まれるアドレスを登録するステップと、
をさらに含む付記5記載のアドレス学習処理方法。
(付記7)
複数のポートのうちあるポートに接続されている装置のアドレスと、特定のアドレスについて所定の学習処理を実施する管理プログラムを実行するプロセッサが前記特定のアドレスを学習したか否かを表す学習データと、前記装置が接続されているポートの識別子とを含むエントリを格納するテーブルと、
管理部とを有しており、
前記管理部が、
特定のポートから受信したパケットに含まれる特定の装置の送信元アドレスが前記テーブルに登録されていない場合、前記送信元アドレスと前記送信元アドレスを学習中であることを表す学習データと前記特定のポートの識別子とを含むエントリを前記テーブルに登録すると共に、前記プロセッサに前記送信元アドレスの学習を要求し、
前記特定のポートから前記特定の装置の送信元アドレスを含む第2のパケットを受信した際に前記テーブルに前記特定の装置の送信元アドレスと学習中であることを表す学習データとを含むエントリが登録済みである場合には、前記プロセッサに前記送信元アドレスの学習を要求せず、
前記プロセッサから前記テーブルにおける特定のエントリの前記学習データを学習済みに変更する要求を受信した場合、前記テーブルにおいて前記特定のエントリの前記学習データを学習済みに設定する、
ネットワーク接続装置用のスイッチング回路装置。
100 L2スイッチ 110 スイッチLSI
120 スイッチ管理プロセッサ
111 FDB 112 管理部
113 タグ格納部
1111 学習状態フラグ
1121 先頭ポインタ格納部
1122 末尾ポインタ格納部
121 管理プログラム

Claims (7)

  1. 複数のポートのうち第1のポートから受信したパケットを第2のポートへ出力するスイッチ部と、
    前記スイッチ部からの要求に応答して特定のアドレスについて所定の学習処理を実施する管理プログラムを実行するプロセッサと、
    を有し、
    前記スイッチ部は、
    前記ポートに接続されている装置のアドレスと、前記プロセッサが前記アドレスを学習したか否かを表す学習データと、前記装置が接続されているポートの識別子とを含むエントリを格納するテーブルを有しており、
    特定のポートから受信したパケットに含まれる特定の装置の送信元アドレスが前記テーブルに登録されていない場合、前記送信元アドレスと前記送信元アドレスを学習中であることを表す学習データと前記特定のポートの識別子とを含むエントリを前記テーブルに登録すると共に、前記プロセッサに前記送信元アドレスの学習を要求し、
    前記特定のポートから前記特定の装置の送信元アドレスを含む第2のパケットを受信した際に前記テーブルに前記特定の装置の送信元アドレスと学習中であることを表す学習データとを含むエントリが登録済みである場合には、前記プロセッサに前記送信元アドレスの学習を要求せず、
    前記プロセッサから前記テーブルにおける特定のエントリの前記学習データを学習済みに変更する要求を受信した場合、前記テーブルにおいて前記特定のエントリの前記学習データを学習済みに設定する
    ネットワーク接続装置。
  2. 前記スイッチ部が、
    前記特定のポートから特定の送信先アドレスを含む第2のパケットを受信した際に前記テーブルに前記特定の送信先アドレスと学習中であることを表す学習データとを含むエントリが登録済みである場合には、前記第2のパケットを、前記特定のポートを除く前記複数のポートに出力する
    請求項1記載のネットワーク接続装置。
  3. 前記テーブルにおいて前記学習データが学習中であることを表しているエントリの学習順番を管理するための機構をさらに有する請求項1又は2記載のネットワーク接続装置。
  4. 前記機構において、
    前記エントリ毎に、ポインタフィールドが設けられ、
    前記ポインタフィールドに、前記学習データが学習中であることを表しているエントリに対応付けて、次に学習すべきエントリへのポインタが登録され、
    さらに、最初に学習すべきエントリへのポインタ及び最後に学習すべきエントリへのポインタを別途保持する
    請求項3記載のネットワーク接続装置。
  5. 複数のポートのうち第1のポートから受信したパケットを第2のポートへ出力するスイッチ部と、前記スイッチ部からの要求に応答して特定のアドレスについて所定の学習処理を実施する管理プログラムを実行するプロセッサとを有するネットワーク接続装置により実行されるアドレス学習処理方法であって、
    前記ポートに接続されている装置のアドレスと前記プロセッサが前記アドレスを学習したか否かを表す学習データと前記装置が接続されているポートの識別子とを含むエントリを格納するテーブルに、特定のポートから受信したパケットに含まれる特定の装置の送信元アドレスが登録されていない場合、前記送信元アドレスと前記送信元アドレスを学習中であることを表す学習データと前記特定のポートの識別子とを含むエントリを前記テーブルに登録すると共に、前記プロセッサに前記送信元アドレスの学習を要求する要求ステップと、
    前記特定のポートから前記特定の装置の送信元アドレスを含む第2のパケットを受信した際に前記テーブルに前記特定の装置の送信元アドレスと学習中であることを表す学習データとを含むエントリが登録済みである場合には、前記プロセッサに対する前記送信元アドレスの学習の要求を抑制するステップと、
    前記プロセッサから前記テーブルにおける特定のエントリの前記学習データを学習済みに変更する要求を受信した場合、前記テーブルにおいて前記特定のエントリの前記学習データを学習済みに設定するステップと、
    を含むアドレス学習処理方法。
  6. 前記スイッチ部において、
    前記エントリ毎に、ポインタフィールドが設けられ、
    前記ポインタフィールドには、前記学習データが学習中であることを表しているエントリに対応付けて、次に学習すべきエントリへのポインタが登録され、
    さらに、最初に学習すべきエントリへのポインタ及び最後に学習すべきエントリへのポインタを別途保持し、
    前記要求ステップにおいて、
    前記最後に学習すべきエントリへのポインタが既に登録されている場合には、当該最後に学習すべきエントリについての前記ポインタフィールドに、前記要求ステップにおいて前記テーブルに新たに登録されたエントリのアドレスを登録し、
    前記要求ステップにおいて前記テーブルに新たに登録されたエントリのアドレスを、前記最後に学習すべきエントリへのポインタとして登録し、
    前記要求ステップの後に前記プロセッサからの先頭ポインタの要求に応じて、前記最初に学習すべきエントリへのポインタが示す先頭エントリのアドレスを前記プロセッサに出力するステップと、
    前記プロセッサからの前記先頭エントリのアドレスを指定した先頭エントリ取得要求に応じて、前記テーブルから前記先頭エントリのデータ及び当該先頭エントリに対応付けられている前記ポインタフィールドに格納されているアドレスを読み出して前記プロセッサに出力するステップと、
    前記プロセッサからの前記先頭エントリに対応付けられている前記ポインタフィールドに格納されているアドレスの設定要求に応じて、前記最初に学習すべきエントリへのポインタとして前記アドレスの設定要求に含まれるアドレスを登録するステップと、
    をさらに含む請求項5記載のアドレス学習処理方法。
  7. 複数のポートのうちあるポートに接続されている装置のアドレスと、特定のアドレスについて所定の学習処理を実施する管理プログラムを実行するプロセッサが前記特定のアドレスを学習したか否かを表す学習データと、前記装置が接続されているポートの識別子とを含むエントリを格納するテーブルと、
    管理部とを有しており、
    前記管理部が、
    特定のポートから受信したパケットに含まれる特定の装置の送信元アドレスが前記テーブルに登録されていない場合、前記送信元アドレスと前記送信元アドレスを学習中であることを表す学習データと前記特定のポートの識別子とを含むエントリを前記テーブルに登録すると共に、前記プロセッサに前記送信元アドレスの学習を要求し、
    前記特定のポートから前記特定の装置の送信元アドレスを含む第2のパケットを受信した際に前記テーブルに前記特定の装置の送信元アドレスと学習中であることを表す学習データとを含むエントリが登録済みである場合には、前記プロセッサに前記送信元アドレスの学習を要求せず、
    前記プロセッサから前記テーブルにおける特定のエントリの前記学習データを学習済みに変更する要求を受信した場合、前記テーブルにおいて前記特定のエントリの前記学習データを学習済みに設定する、
    ネットワーク接続装置用のスイッチング回路装置。
JP2009097404A 2009-04-13 2009-04-13 ネットワーク接続装置及びスイッチング回路装置、並びにアドレス学習処理方法 Expired - Fee Related JP4823331B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2009097404A JP4823331B2 (ja) 2009-04-13 2009-04-13 ネットワーク接続装置及びスイッチング回路装置、並びにアドレス学習処理方法
US12/751,413 US8559430B2 (en) 2009-04-13 2010-03-31 Network connection device, switching circuit device, and method for learning address

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009097404A JP4823331B2 (ja) 2009-04-13 2009-04-13 ネットワーク接続装置及びスイッチング回路装置、並びにアドレス学習処理方法

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2011171472A Division JP5278511B2 (ja) 2011-08-05 2011-08-05 ネットワーク接続装置及びスイッチング回路装置、並びにアドレス学習処理方法

Publications (2)

Publication Number Publication Date
JP2010251928A true JP2010251928A (ja) 2010-11-04
JP4823331B2 JP4823331B2 (ja) 2011-11-24

Family

ID=42934350

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009097404A Expired - Fee Related JP4823331B2 (ja) 2009-04-13 2009-04-13 ネットワーク接続装置及びスイッチング回路装置、並びにアドレス学習処理方法

Country Status (2)

Country Link
US (1) US8559430B2 (ja)
JP (1) JP4823331B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101610217B (zh) * 2009-06-05 2011-08-24 中兴通讯股份有限公司 实现在扩展处理器和交换芯片之间传输报文的方法和系统
US9455911B1 (en) * 2013-12-30 2016-09-27 Google Inc. In-band centralized control with connection-oriented control protocols
US10419267B2 (en) * 2014-01-22 2019-09-17 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Network control software notification with advance learning

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000059393A (ja) * 1998-08-13 2000-02-25 Nec Corp ネットワーク集線装置
JP2001186186A (ja) * 1999-12-27 2001-07-06 Toshiba Corp パケット交換装置、ネットワークシステム、およびパケット交換方法
JP2003046533A (ja) * 2001-08-02 2003-02-14 Nec Commun Syst Ltd ネットワークシステム、その認証方法及びそのプログラム
JP2004072633A (ja) * 2002-08-08 2004-03-04 Hitachi Ltd IPv6ノード収容方法およびIPv6ノード収容システム

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5909686A (en) * 1997-06-30 1999-06-01 Sun Microsystems, Inc. Hardware-assisted central processing unit access to a forwarding database
US6310874B1 (en) * 1998-03-19 2001-10-30 3Com Corporation Learn pending frame throttle
GB2360168B (en) * 2000-03-11 2003-07-16 3Com Corp Network switch including hysteresis in signalling fullness of transmit queues
DE112004001256T5 (de) * 2003-07-07 2006-05-18 Yazaki Corp. Übertragungskapazitätszuteilungsverfahren, Kommunikationsnetzwerk und Netzwerkressourceverwaltungsvorrichtung
US7660259B1 (en) * 2004-10-20 2010-02-09 Extreme Networks, Inc. Methods and systems for hybrid hardware- and software-base media access control (MAC) address learning
JP2006295550A (ja) 2005-04-11 2006-10-26 Mitsubishi Electric Corp パケット転送装置
JP2007318553A (ja) * 2006-05-26 2007-12-06 Fujitsu Ltd ネットワーク管理方法
JP5012553B2 (ja) * 2008-02-15 2012-08-29 富士通株式会社 フレーム中継装置、経路学習プログラム、および経路学習方法
JP5074314B2 (ja) * 2008-07-07 2012-11-14 株式会社日立製作所 フレーム転送装置
EP2242215B1 (en) * 2009-04-16 2017-01-11 Alcatel Lucent Method for client data transmission through a packet switched provider network
JP5336343B2 (ja) * 2009-12-17 2013-11-06 富士通株式会社 パス接続性確認方法及び伝送装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000059393A (ja) * 1998-08-13 2000-02-25 Nec Corp ネットワーク集線装置
JP2001186186A (ja) * 1999-12-27 2001-07-06 Toshiba Corp パケット交換装置、ネットワークシステム、およびパケット交換方法
JP2003046533A (ja) * 2001-08-02 2003-02-14 Nec Commun Syst Ltd ネットワークシステム、その認証方法及びそのプログラム
JP2004072633A (ja) * 2002-08-08 2004-03-04 Hitachi Ltd IPv6ノード収容方法およびIPv6ノード収容システム

Also Published As

Publication number Publication date
JP4823331B2 (ja) 2011-11-24
US20100260183A1 (en) 2010-10-14
US8559430B2 (en) 2013-10-15

Similar Documents

Publication Publication Date Title
US7039914B2 (en) Message processing in network forwarding engine by tracking order of assigned thread in order group
CN108809854B (zh) 一种用于大流量网络处理的可重构芯片架构
US9110714B2 (en) Systems and methods for multi-tasking, resource sharing, and execution of computer instructions
US8228908B2 (en) Apparatus for hardware-software classification of data packet flows
CN1808387B (zh) 用于多个多线程可编程处理核的方法和系统
CN104468401A (zh) 一种报文处理方法和装置
US20050074005A1 (en) Network-processor accelerator
US20060209827A1 (en) Systems and methods for implementing counters in a network processor with cost effective memory
JP4823331B2 (ja) ネットワーク接続装置及びスイッチング回路装置、並びにアドレス学習処理方法
CN112866139A (zh) 一种多规则流分类的实现方法、设备和存储介质
JP2004193821A (ja) ブリッジ装置およびブリッジ装置のアドレス学習方法
JP5278511B2 (ja) ネットワーク接続装置及びスイッチング回路装置、並びにアドレス学習処理方法
US10817177B1 (en) Multi-stage counters
JP2001237881A (ja) テーブル型データ検索機構及びそれを用いるパケット処理システム並びにそのテーブル型データ検索方法
JP4209186B2 (ja) パケットの高速ルーティング及びスイッチングに対するメモリ要件を低減するように構成されたプロセッサ
WO2022037571A1 (zh) 报文转发方法及装置,和计算机可读存储介质
CN112653639B (zh) 一种基于多线程交互处理的IPv6报文分片重组方法
JP2004260532A (ja) ネットワークプロセッサ
James-Roxby et al. Time-critical software deceleration in a FCCM
US7603539B2 (en) Systems and methods for multi-frame control blocks
US11314711B2 (en) Network switch with network analysis data producer-consumer shared memory
CN116860488B (zh) 一种进程通信方法和相关装置
WO2024114645A1 (zh) 一种虚拟化网络功能vnf的实例化方法及装置
JP2009123050A (ja) 情報検索装置、及び情報検索装置へのエントリ情報の登録方法
WO2016101551A1 (zh) 一种三态内容寻址存储器中写数据的方法和装置

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110201

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110404

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20110517

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110805

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20110812

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: 20110906

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: 20110906

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: 20140916

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees