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

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

Info

Publication number
JP2011217422A
JP2011217422A JP2011171472A JP2011171472A JP2011217422A JP 2011217422 A JP2011217422 A JP 2011217422A JP 2011171472 A JP2011171472 A JP 2011171472A JP 2011171472 A JP2011171472 A JP 2011171472A JP 2011217422 A JP2011217422 A JP 2011217422A
Authority
JP
Japan
Prior art keywords
source address
address
processor
registered
entry
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
JP2011171472A
Other languages
English (en)
Other versions
JP5278511B2 (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 JP2011171472A priority Critical patent/JP5278511B2/ja
Publication of JP2011217422A publication Critical patent/JP2011217422A/ja
Application granted granted Critical
Publication of JP5278511B2 publication Critical patent/JP5278511B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Small-Scale 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 (8)

  1. スイッチとプロセッサとを備えるネットワーク接続装置において、
    前記スイッチは、
    複数のポートと、
    いずれかのポートから受信したパケットの送信元アドレス、前記プロセッサが当該送信元アドレスの登録可否を判断処理中か否かを表す登録処理情報、及び、当該パケットを受信したポートの識別子を対応させて記憶する記憶部と、
    前記複数のポートのうちいずれかのポートを介して受信したパケットに含まれる送信元アドレスが前記記憶部に記憶されているか否かを判断し、
    受信した前記パケットに含まれる送信元アドレスが前記記憶部に記憶されていない場合には、当該送信元アドレスと、アドレスの登録処理中であることを示す登録処理情報と、前記パケットを受信したポートの識別子とを対応させて、前記パケットの受信順に前記記憶部に記憶し、
    前記記憶部で先頭に記憶されている送信元アドレスの登録可否の判断処理の要求を前記プロセッサに送信し、
    前記判断処理要求に対応して、前記プロセッサより登録処理情報を登録済みに変更する要求を受信した場合、当該送信元アドレスに対応する登録処理情報を登録済みに変更する管理部と
    を備え、
    前記プロセッサは、
    前記スイッチから送信元アドレスの登録可否の判断処理の要求を受信した場合、当該送信元アドレスの登録に応じて、当該送信元アドレスに対応する登録処理情報を登録済みに変更する要求を、前記スイッチに送信する
    ことを特徴とするネットワーク接続装置。
  2. 前記記憶部において登録処理中を示す登録処理情報が対応付けられている送信元アドレスの登録順序を管理する機構をさらに有し、
    前記機構おいて、
    前記送信元アドレス毎にポインタフィールドが設けられ、
    前記ポインタフィールドに、対応する登録処理情報が登録処理中である送信元アドレスに対応付けて、次に登録すべき送信元アドレスのポインタが登録され、
    さらに、最初に登録すべき送信元アドレスへのポインタ及び最後に登録すべき送信元アドレスへのポインタを別途保持する
    請求項1記載のネットワーク接続装置。
  3. 前記管理部は、
    受信した前記パケットに含まれる送信元アドレスが前記記憶部に記憶されており、当該送信元アドレスに対応する登録処理情報がアドレスの登録処理中を示す情報である場合には、前記プロセッサに当該送信元アドレスの登録可否の判断処理の要求を送信しない
    ことを特徴とする請求項1又は2記載のネットワーク接続装置。
  4. 前記プロセッサは、
    前記スイッチから送信元アドレスの登録可否の判断処理の要求を受信した場合、当該送信元アドレスの登録を実行できないときには、当該送信元アドレスに対応する登録処理情報を削除する削除要求を前記スイッチに送信し、
    前記管理部は、
    前記削除要求を前記プロセッサから受信した場合には、当該送信元アドレスに対応する登録処理情報を前記記憶部から削除する
    ことを特徴とする請求項1乃至3のいずれか1つ記載のネットワーク接続装置。
  5. プロセッサに接続されるスイッチング回路装置において、
    複数のポートと、
    受信したパケットの送信元アドレス、前記プロセッサによる送信元アドレスの登録状況を示す登録処理情報、およびパケットを受信したポートの識別子を対応させて記憶する記憶部と、
    管理部とを有し、
    前記管理部は、
    いずれかのポートを介して受信したパケットに含まれる送信元アドレスが前記記憶部に記憶されていない場合、当該送信元アドレスと、アドレスの登録処理中であることを示す登録処理情報と、前記パケットを受信したポートの識別子とを対応させて、パケットの受信順に前記記憶部に記憶し、
    前記記憶部の先頭に位置する送信元アドレスの登録可否の判断処理要求を前記プロセッサに送信し、
    前記判断処理要求に応じて、前記プロセッサから登録処理情報を登録済みに変更する要求を受信した場合、前記判断処理要求対象の送信元アドレスに対応する登録処理情報を登録済みに変更する
    スイッチング回路装置。
  6. 前記記憶部において登録処理中を示す登録処理情報が対応付けられている送信元アドレスの登録順序を管理する手段をさらに有し、
    前記手段には、
    前記送信元アドレス毎にポインタフィールドが設けられ、
    前記ポインタフィールドに、対応する登録処理情報が登録処理中である送信元アドレスに対応付けて、次に登録すべき送信元アドレスのポインタが登録され、
    さらに、最初に登録すべき送信元アドレスへのポインタ及び最後に登録すべき送信元アドレスへのポインタを別途保持する
    請求項5記載のスイッチング回路装置。
  7. 前記管理部は、
    受信した前記パケットに含まれる送信元アドレスが前記記憶部に記憶されており、当該送信元アドレスに対応する登録処理情報がアドレスの登録処理中を示す場合には、前記プロセッサに当該送信元アドレスの登録可否の判断処理の要求を送信しない
    ことを特徴とする請求項5又は6記載のスイッチング回路装置。
  8. 前記管理部は、
    登録処理情報の削除要求を前記プロセッサから受信した場合には、当該削除要求にかかる送信元アドレスに対応する登録処理情報を前記記憶部から削除する
    ことを特徴とする請求項5乃至7のいずれか1つ記載のスイッチング回路装置。
JP2011171472A 2011-08-05 2011-08-05 ネットワーク接続装置及びスイッチング回路装置、並びにアドレス学習処理方法 Expired - Fee Related JP5278511B2 (ja)

Priority Applications (1)

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

Applications Claiming Priority (1)

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

Related Parent Applications (1)

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

Publications (2)

Publication Number Publication Date
JP2011217422A true JP2011217422A (ja) 2011-10-27
JP5278511B2 JP5278511B2 (ja) 2013-09-04

Family

ID=44946603

Family Applications (1)

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

Country Status (1)

Country Link
JP (1) JP5278511B2 (ja)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008160467A (ja) * 2006-12-22 2008-07-10 Hitachi Cable Ltd スイッチングハブ

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008160467A (ja) * 2006-12-22 2008-07-10 Hitachi Cable Ltd スイッチングハブ

Also Published As

Publication number Publication date
JP5278511B2 (ja) 2013-09-04

Similar Documents

Publication Publication Date Title
CN109587065B (zh) 转发报文的方法、装置、交换机、设备及存储介质
US20210367887A1 (en) Flow classification apparatus, methods, and systems
AU2012384904B2 (en) Method, device, system and storage medium for implementing packet transmission in PCIE switching network
US8228908B2 (en) Apparatus for hardware-software classification of data packet flows
JP4068166B2 (ja) 高性能多層スイッチ要素用探索エンジン・アーキテクチャ
US7039914B2 (en) Message processing in network forwarding engine by tracking order of assigned thread in order group
US6804815B1 (en) Sequence control mechanism for enabling out of order context processing
CN1808387B (zh) 用于多个多线程可编程处理核的方法和系统
JP2000295274A (ja) パケット交換装置
CN104468401A (zh) 一种报文处理方法和装置
US11616738B2 (en) Packet processing method and related device
US7293158B2 (en) Systems and methods for implementing counters in a network processor with cost effective memory
US10228869B1 (en) Controlling shared resources and context data
JP4823331B2 (ja) ネットワーク接続装置及びスイッチング回路装置、並びにアドレス学習処理方法
US6968447B1 (en) System and method for data forwarding in a programmable multiple network processor environment
CN116860488A (zh) 一种进程通信方法和相关装置
US9817594B2 (en) System and method for broadcasting data to multiple hardware forwarding engines
CN112866139A (zh) 一种多规则流分类的实现方法、设备和存储介质
JP5278511B2 (ja) ネットワーク接続装置及びスイッチング回路装置、並びにアドレス学習処理方法
US10817177B1 (en) Multi-stage counters
CN112653639B (zh) 一种基于多线程交互处理的IPv6报文分片重组方法
James-Roxby et al. Time-critical software deceleration in a FCCM
US7603539B2 (en) Systems and methods for multi-frame control blocks
WO2023130953A1 (zh) 数据查找方法及装置、网络设备
US11314711B2 (en) Network switch with network analysis data producer-consumer shared memory

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110805

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20121127

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20121204

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130131

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130506

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees