JP5954236B2 - ネットワーク中継装置 - Google Patents

ネットワーク中継装置 Download PDF

Info

Publication number
JP5954236B2
JP5954236B2 JP2013070194A JP2013070194A JP5954236B2 JP 5954236 B2 JP5954236 B2 JP 5954236B2 JP 2013070194 A JP2013070194 A JP 2013070194A JP 2013070194 A JP2013070194 A JP 2013070194A JP 5954236 B2 JP5954236 B2 JP 5954236B2
Authority
JP
Japan
Prior art keywords
information
hash value
registered
entry
area
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.)
Active
Application number
JP2013070194A
Other languages
English (en)
Other versions
JP2014195140A (ja
Inventor
安多 慎
慎 安多
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.)
Hitachi Metals Ltd
Original Assignee
Hitachi Metals 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 Hitachi Metals Ltd filed Critical Hitachi Metals Ltd
Priority to JP2013070194A priority Critical patent/JP5954236B2/ja
Priority to CN201410023188.1A priority patent/CN104079489B/zh
Priority to US14/171,246 priority patent/US9413661B2/en
Publication of JP2014195140A publication Critical patent/JP2014195140A/ja
Application granted granted Critical
Publication of JP5954236B2 publication Critical patent/JP5954236B2/ja
Active 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
    • H04L45/74Address processing for routing
    • H04L45/745Address table lookup; Address filtering
    • H04L45/7453Address table lookup; Address filtering using hashing

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Small-Scale Networks (AREA)
  • Computer And Data Communications (AREA)

Description

本発明は、ネットワーク中継装置に関し、例えば、ハッシュ値で管理されるアドレステーブルを備えたネットワーク中継装置に関する。
特許文献1および特許文献2には、2個のテーブルを用いてパケットを処理する方法が示されている。一方のテーブルは、IPアドレス等の情報をハッシュ値で管理し、他方のテーブルは、IPアドレス等の情報をCAMを用いて管理する。IPアドレス等の情報の登録に際してハッシュ値の衝突が生じた場合には、IPアドレス等の情報はCAMを用いたテーブルに登録される。
また、特許文献3には、再ハッシュの発生確率を低減するため、MACアドレステーブルを複数のバンクに分割し、MACアドレスのハッシュ値をアドレスとして各バンクの各エントリを同時にアクセスする方法が示されている。各エントリ内には、アクセス履歴を示すアドレスビット(1ビット)とエントリの有効/無効を示すバリッドビット(1ビット)が含まれている。あるハッシュ値に対応する各エントリのバリッドビットが全て有効の場合、空きのエントリが無いため、ハッシュ関数を変更して登録をやり直すための再ハッシュが行われる。
国際公開第2009/110445号 特開2011−229093号公報 特開2002−334114号公報
例えば、通信規格上のレイヤ2(L2)レベルの処理を行うスイッチ装置(ネットワーク中継装置)は、ポートと各ポートの先に存在する端末等のMAC(Media Access Control)アドレスとの関係等を表すアドレステーブルを備えている。当該アドレステーブルは、FDB(Forwarding DataBase)等とも呼ばれる。スイッチ装置は、ポートでフレームを受信した際に、当該フレーム内に含まれる宛先アドレスに対応するポートを当該アドレステーブルに基づいて定め、受信したフレームを当該定めたポートに中継する。
このようなスイッチ装置では、スイッチ装置に接続される端末等の数が増大すると、これに応じて大規模なアドレステーブルが必要となり、記憶装置によって構成されるアドレステーブルのコストが増大すると共に、アドレステーブルの検索時間も長くなる。そこで、特許文献1〜特許文献3に示されるように、アドレステーブルをハッシュ値で管理する方式が有益となる。ただし、当該方式を用いた場合、異なるMACアドレスに対して同一のハッシュ値が算出されるという所謂ハッシュ値の衝突が生じる場合がある。
スイッチ装置の中継動作をより効率化するためには、このハッシュ値の衝突の状況を把握することが有益となる。具体的には、アドレステーブル内の全エントリに対してどのくらいの割合でハッシュ値の衝突が生じているか、あるいは、ハッシュ値の衝突がどのエントリで発生しているかといった情報を把握することが有益となる。特許文献1〜特許文献3のような技術を用いた場合、このような情報を把握することは容易でない。
本発明は、このようなことを鑑みてなされたものであり、その目的の一つは、ハッシュ値の衝突の状況を容易に把握することが可能なネットワーク中継装置を提供することにある。本発明の前記並びにその他の目的と新規な特徴は、本明細書の記述及び添付図面から明らかになるであろう。
本願において開示される発明のうち、代表的な実施の形態の概要を簡単に説明すれば、次のとおりである。
本実施の形態によるネットワーク中継装置は、複数のポートと、複数のエントリを持つアドレステーブルと、アドレステーブルに基づいて複数のポート間でフレームを中継するフレーム処理部とを備える。ここで、複数のエントリのそれぞれは、複数のポートと、当該複数のポートの先に存在するMACアドレスとの関係を示す第1情報が登録される第1領域と、第2情報が登録される第2領域とを備える。また、フレーム処理部は、複数のポートの中のいずれかのポートで受信したフレームの送信元MACアドレスを学習する際に、まず、当該送信元MACアドレスを用いてハッシュ値を算出する。そして、フレーム処理部は、当該ハッシュ値に対応するエントリの第1領域に送信元MACアドレスとは異なるMACアドレスが登録済みの場合に第2領域に第2情報を登録する。
本願において開示される発明のうち、代表的な実施の形態によって得られる効果を簡単に説明すると、ネットワーク中継装置において、ハッシュ値の衝突の状況を容易に把握することが可能になる。
(a)は、本発明の実施の形態1によるネットワーク中継装置において、それを適用した通信システムの構成例を示す概略図であり、(b)は、(a)におけるネットワーク中継装置の概略構成例を示すブロック図である。 図1(b)のネットワーク中継装置において、そのアドレステーブルの構成例を示す概略図である。 図1(b)のネットワーク中継装置において、そのフレーム処理部の主要部の動作例を示すフロー図である。 図1(b)のネットワーク中継装置において、その管理部の動作例を示すフロー図である。 図1(b)のネットワーク中継装置において、その管理部の他の動作例を示すフロー図である。 本発明の実施の形態2によるネットワーク中継装置において、そのアドレステーブルの構成例を示す概略図である。 本発明の実施の形態2によるネットワーク中継装置において、そのフレーム処理部の主要部の動作例を示すフロー図である。 本発明の実施の形態3によるネットワーク中継装置において、そのアドレステーブルの構成例を示す概略図である。 本発明の実施の形態4によるネットワーク中継装置において、そのアドレステーブルの構成例を示す概略図である。 (a)は、本発明の前提として検討したネットワーク中継装置において、そのアドレステーブルの構成例を示す概略図であり、(b)は、(a)のアドレステーブルの管理方式の一例を示す概念図である。
以下の実施の形態においては便宜上その必要があるときは、複数のセクションまたは実施の形態に分割して説明するが、特に明示した場合を除き、それらは互いに無関係なものではなく、一方は他方の一部または全部の変形例、詳細、補足説明等の関係にある。また、以下の実施の形態において、要素の数等(個数、数値、量、範囲等を含む)に言及する場合、特に明示した場合および原理的に明らかに特定の数に限定される場合等を除き、その特定の数に限定されるものではなく、特定の数以上でも以下でも良い。
さらに、以下の実施の形態において、その構成要素(要素ステップ等も含む)は、特に明示した場合および原理的に明らかに必須であると考えられる場合等を除き、必ずしも必須のものではないことは言うまでもない。同様に、以下の実施の形態において、構成要素等の形状、位置関係等に言及するときは、特に明示した場合および原理的に明らかにそうでないと考えられる場合等を除き、実質的にその形状等に近似または類似するもの等を含むものとする。このことは、上記数値および範囲についても同様である。
以下、本発明の実施の形態を図面に基づいて詳細に説明する。なお、実施の形態を説明するための全図において、同一の部材には原則として同一の符号を付し、その繰り返しの説明は省略する。
(実施の形態1)
《通信システムおよびネットワーク中継装置の概略》
図1(a)は、本発明の実施の形態1によるネットワーク中継装置において、それを適用した通信システムの構成例を示す概略図であり、図1(b)は、図1(a)におけるネットワーク中継装置の概略構成例を示すブロック図である。図1(a)に示す通信システムは、複数のポートP1,P2,P3,…,Pnを持つスイッチ装置(ネットワーク中継装置)SWと、当該P1,P2,P3にそれぞれ通信回線を介して接続される複数のユーザ用スイッチ装置SWU1,SWU2,SWU3とを備えている。SWU1,SWU2,SWU3には、それぞれ、通信回線を介して端末TMa,TMb,TMcが接続される。
特に限定はされないが、例えば、スイッチ装置SWは、シャーシ型の構成であり、ユーザ用スイッチ装置SWU1,SWU2,SWU3は、ボックス型の構成である。SWU1,SWU2,SWU3のそれぞれは、自身に接続された端末間でフレームを中継し、SWは、ユーザ用スイッチ装置間でフレームを中継する。例えば、端末TMaから端末TMcに向けてフレームを転送する際には、当該フレームは、TMa→SWU1→SW→SWU3→TMcの経路で転送される。また、SWは、例えば、複数のポートP1,P2,P3,…,PnにVLAN(Virtual Local Area Network)等を設定することが可能である。
スイッチ装置(ネットワーク中継装置)SWは、図1(b)に示すように、複数のポートP1,P2,P3,…,Pnと、フレーム処理部FLCTLと、テーブルユニットTBLUと、管理部SVを備える。TBLUは、記憶装置で構成され、詳細は後述するが、ハッシュ値で管理されるアドレステーブルFDBを備える。FLCTLは、FDBに基づいて複数のポート間でフレームを中継する。管理部SVは、特に限定はされないが、FPGA(Field Programmable Gate Array)等のハードウェアや、あるいはCPU(Central Processing Unit)等によるプログラム処理によって構築され、詳細は後述するが、例えば、ユーザからの要求に応じてFDB内の情報を解析する機能を持つ。
なお、図1(b)では、スイッチ装置SWの全体構成が示されているが、例えばSWがシャーシ型の場合、一つの筐体内に搭載され、それぞれバックプレーンで接続された複数のラインカードが図1(b)のような構成を備えることになる。ただし、管理部SVは、各ラインカード上ではなく、当該複数のラインカードとバックプレーンで接続された管理カード上に設けてもよい。また、ユーザ用スイッチ装置SWU1,SWU2,SWU3も、図1(b)と同様の構成を備える。ただし、ユーザ用スイッチ装置は、通常、VLAN等の設定に伴い、多くの端末を認識する必要がないため、アドレステーブルは、必ずしもハッシュ値で管理される必要はない。さらに、ここでは、SWのポートにユーザ用スイッチ装置が接続される構成例を示したが、勿論、ポートに端末が直接接続されるような構成であってもよい。
《アドレステーブル(比較例)の構成およびその管理方式》
図10(a)は、本発明の前提として検討したネットワーク中継装置において、そのアドレステーブルの構成例を示す概略図であり、図10(b)は、図10(a)のアドレステーブルの管理方式の一例を示す概念図である。図10(a)に示すアドレステーブルFDB’は、ハッシュ値に対応する複数(この例では1024個)のエントリを備え、各エントリにMACアドレスとポートが登録された構成となっている。例えば、456のハッシュ値に対応するエントリには、ポートP1と、当該P1の先にMACアドレスAAの端末が存在するという情報が登録されている。
ハッシュ値とは、図10(b)に示されるように、「Key」と呼ばれる情報を入力としてハッシュ関数による演算を行うことで得られた値であり、ハッシュ関数としては、「Key」の情報量を削減するような関数が用いられる。特に限定はされないが、ハッシュ関数は、例えば、60ビットの「Key」の空間を10ビットの空間(すなわち10進数で0〜1023)に変換する。ここで、「Key」は、例えば、図10(a)におけるMACアドレス(48ビット)と、図示は省略するが当該MACアドレスが属するVLANの識別子(12ビット)とからなるビット列に設定される。図10(a)の例では、例えば、MACアドレスAA(加えてそのVLANの識別子)を「Key」(すなわち入力)としてハッシュ関数による演算を行うことで456のハッシュ値が得られている。
このようなハッシュ関数を用いることで、情報量の削減に伴いアドレステーブルに必要な記憶容量を削減できるが、その副作用として、図10(b)に示されるように、異なる「Key」から同一のハッシュ値が得られるような場合がある。このような事態は、ハッシュ値の衝突等と呼ばれる。例えば、図10(a)の例では、前提として、123のハッシュ値に対応するエントリに、既にMACアドレスBBとポートP2が登録されている。この状態で、スイッチ装置は、ポートP4でMACアドレスDDを送信元アドレスとするフレームを受信し、当該DD(加えてそのVLANの識別子)によるハッシュ値が同じく123であった場合が示されている。この場合、図10(a)の例では、この新しい方の情報を123のハッシュ値に対応するエントリに上書き登録する。
ハッシュ関数は、通常、ハッシュ値の衝突が生じ難い関数が用いられるが、例えば、図1に示したような多数の端末を認識する必要があるスイッチ装置SWでは、ハッシュ値の衝突がある程度の確率で生じる場合がある。スイッチ装置の中継動作をより効率化するためには、このハッシュ値の衝突の状況を把握することが有益となるが、図10(a)のアドレステーブルFDB’では、この衝突の状況を把握することが困難となる。
《アドレステーブル(本実施の形態)の構成》
図2は、図1(b)のネットワーク中継装置において、そのアドレステーブルの構成例を示す概略図である。図2に示すアドレステーブルFDB1は、ハッシュ値に対応する複数(この例では1024個)のエントリを備える。ハッシュ値は、FDB1を構成する記憶装置のメモリアドレスであってもよい。各エントリは、複数のポートP1,P2,P3,…,Pnと、当該複数のポートの先に存在するMACアドレスとの関係を示す第1情報が登録される第1領域AR1と、自身のエントリにハッシュ値の衝突が生じた場合に第2情報が登録される第2領域AR2とを備える。第2情報は、自身のエントリにおけるハッシュ値の衝突履歴を表すことになる。このように、図2のFDB1は、図10(a)に示したアドレステーブルFDB’と比較してAR2が追加された構成となっている。
例えば、図2のアドレステーブルFDB1の例では、第2領域AR2の第2情報は、1ビットの「1」となっている。すなわち、AR2には、対応するエントリにハッシュ値の衝突が生じていない場合には「0」が、ハッシュ値の衝突が生じた場合には「1」(第2情報)が登録される。例えば、図10(a)の場合と同様に、既にMACアドレスBBとポートP2が登録されているハッシュ値=123に対応するエントリに、MACアドレスDDの学習に伴ってハッシュ値の衝突が生じた場合、AR2に「1」が登録される。
また、この例では、ハッシュ値=123に対応するエントリの第1領域AR1に、新しいMACアドレスDDと、それに対応するポートP4とが上書き登録されている。ただし、この学習の際に、例えばAR1内の第1情報に優性度の属性が有るような場合に、上書き登録が行われないことも有り得る。すなわち、既に登録されている第1情報の方が新しい第1情報よりも優先度が高いような場合には、AR1における上書き登録は行われずに、第2領域AR2に「1」が登録されることもある。
このようなアドレステーブルFDB1を用いることで、ハッシュ値の衝突の状況を容易に把握することが可能になる。具体的には、例えば、第2領域AR2に第2情報「1」が登録されているエントリを抽出することで、ハッシュ値の衝突がどのエントリで発生しているかを把握することができる。また、FDB1内の全エントリ(ハッシュ値=0〜1023)の中からAR2に第2情報「1」が登録されているエントリの割合を算出することで、全エントリに対して、どのくらいの割合でハッシュ値の衝突が生じているかを把握することができる。
《フレーム処理部の主要部の動作》
図3は、図1(b)のネットワーク中継装置において、そのフレーム処理部の主要部の動作例を示すフロー図である。図3には、フレーム処理部FLCTLにおける送信元MACアドレスの学習時の動作例が示されている。FLCTLは、まず、複数のポートP1,P2,P3,…,Pnの中のいずれかのポートでフレームを受信する(ステップS101)。次いで、FLCTLは、当該フレームに含まれる送信元MACアドレスを学習するため、送信元MACアドレスを用いてハッシュ値を算出する(ステップS102)。なお、実際には、このハッシュ値の算出の際に、送信元MACアドレスに加えて、例えば当該MACアドレスに対応するVLANの識別子も用いる。
続いて、フレーム処理部FLCTLは、図2のようなアドレステーブルFDB1に対して、ステップS102で得られるハッシュ値に対応するエントリを読む(ステップS103)。その結果、エントリが空(すなわち第1領域AR1に第1情報が未登録)の場合、FLCTLは、当該エントリのAR1に、ステップS101およびS102で得られる第1情報を新規に登録する(ステップS104)。すなわち、第1情報として、ステップS101でフレームを受信したポートと、当該フレームに含まれる送信元MACアドレス(言い換えれば、当該ポートの先に存在するMACアドレス)との関係を登録する。また、このステップS104の際に、FLCTLは、当該エントリの第2領域AR2に「0」を登録する。
一方、ステップS103において、エントリが空でない(すなわち第1領域AR1に第1情報が登録済み)場合、フレーム処理部FLCTLは、ステップS102における送信元MACアドレスと、当該エントリに登録済みのMACアドレス(Key)とを比較する(ステップS105)。ここで、当該送信元MACアドレスと登録済みのMACアドレスとが一致する場合、当該送信元MACアドレスは既に学習済みであるため、FLCTLは、特に何も行わず、アドレステーブルFDB1の第2領域AR2は「0」に保たれる(ステップS106)。
一方、ステップS105で送信元MACアドレスと登録済みのMACアドレスとが不一致の場合、フレーム処理部FLCTLは、所定の衝突処理を行う(ステップS107)。具体的には、FLCTLは、当該エントリの第1領域AR1に、ステップS101およびS102で得られる第1情報を上書き登録するか、場合によっては図2で述べたように既に登録されている第1情報を残すこともある。第1情報を上書き登録する場合には、第1情報として、ステップS101でフレームを受信したポートと、当該フレームに含まれる送信元MACアドレス(言い換えれば、当該ポートの先に存在するMACアドレス)との関係が登録される。さらに、このステップS107の際に、FLCTLは、当該エントリの第2領域AR2に、ハッシュ値の衝突履歴を表す第2情報「1」を登録する。
このように、フレーム処理部FLCTLは、送信元MACアドレスを用いてハッシュ値を算出し、それに対応するエントリの第1領域AR1に当該送信元MACアドレスとは異なるMACアドレスが登録済みの場合には、第2領域AR2に第2情報「1」を登録する。なお、図示は省略するが、FLCTLは、受信したフレームの宛先MACアドレスを検索する際にも、同様にして、当該宛先MACアドレス等からハッシュ値を算出し、当該ハッシュ値に対応するエントリを読み出す。そして、FLCTLは、当該エントリに登録済みのMACアドレスと宛先MACアドレスとが一致する場合には、フレームを当該エントリ内に登録されているポートに中継し、不一致の場合には、フラッディングを行う。
《管理部の動作》
図4は、図1(b)のネットワーク中継装置において、その管理部の動作例を示すフロー図である。図5は、図1(b)のネットワーク中継装置において、その管理部の他の動作例を示すフロー図である。図4および図5に示す管理部SVの処理は、例えば、ユーザからの要求に応じて実行される。特に限定はされないが、具体的には、図1(b)のスイッチ装置SWは、例えば、管理用の専用ポートを別途備えており、当該専用ポートに管理用の端末を接続した状態で、ユーザは管理用の端末を用いてSWに対して要求を行い、SWはこれに対して応答する。また、別の方式として、SWは、例えば、所謂インバンドの管理機能を備えており、複数のポートP1〜Pnの中のいずれかのポートの先に管理用の端末を接続した状態で、ユーザは管理用の端末を用いてSWに対して要求を行い、SWはこれに対して応答する。
このようなユーザからの要求に応じて、図4に示すように、管理部SVは、まず、アドレステーブルFDB1における最初のエントリ(例えば0)を対象とする(ステップS201)。次いで、SVは、対象のエントリの第2領域AR2を読み(ステップS202)、AR2に、ハッシュ値の衝突履歴を表す第2情報「1」が登録されているか否かを判別する(ステップS203)。AR2に第2情報「1」が登録されている場合、SVは、当該対象のエントリをユーザに通知し(ステップS204)、ステップS205に移行する。一方、AR2に第2情報「1」が登録されていない場合には、そのままステップS205に移行する。
ステップS205において、管理部SVは、最終のエントリ(例えば1023)に到達したか否かを判別する。到達していない場合、SVは、次ぎのエントリ(例えば対象のエントリをインクリメント(+1)したエントリ)を対象としてステップS202に戻る(ステップS206)。一方、最終のエントリに到達した場合、SVは、全エントリ(例えば0〜1023)の中から、第2領域AR2に第2情報「1」が登録されているエントリの割合を算出し、当該算出した割合をユーザに通知する(ステップS207)。
また、図5において、管理部SVは、まず、アドレステーブルFDB1における最初のエントリ(例えば0)を対象とする(ステップS301)。次いで、SVは、対象のエントリの第2領域AR2に「0」を登録することで、ハッシュ値の衝突履歴を表す第2情報「1」が登録されている場合にはそれを消去する(ステップS302)。その後、管理部SVは、最終のエントリ(例えば1023)に到達したか否かを判別し(ステップS303)、到達していない場合、次ぎのエントリ(例えば対象のエントリをインクリメント(+1)したエントリ)を対象としてステップS302に戻る(ステップS304)。例えば、このような処理により、全エントリにおいてハッシュ値の衝突履歴が消去される。
図4のような処理を行うことで、ユーザは、アドレステーブル内の全エントリに対してどのくらいの割合でハッシュ値の衝突が生じているか、あるいは、ハッシュ値の衝突がどのエントリで発生しているかといった情報を容易に把握することが可能になる。この際には、図5のような処理を用いて、適宜、ハッシュ値の衝突履歴を消去しながら図4のような処理を実行することで、時系列的なハッシュ値の衝突の傾向を把握することも可能である。
このようにハッシュ値の衝突の状況が容易に把握できると、ユーザ等は、その状況を反映して、有益なネットワーク管理を行うことが可能になる。例えば、ユーザは、ハッシュ値の衝突の割合が高い場合には、一部の端末を他のネットワークに移動させるようなメンテナンスを行うことができる。あるいは、ユーザは、ハッシュ値の衝突が発生しているエントリに対応する端末を特定して、当該端末の通信帯域を制限したり、または、当該端末をネットワーク間で適宜入れ替えたり等のメンテナンスを行うことが可能になる。これによって、スイッチ装置(ネットワーク中継装置)の中継動作をより効率化することが可能になる。
以上、本実施の形態1のネットワーク中継装置を用いることで、代表的には、ハッシュ値の衝突の状況を容易に把握することが可能となり、ネットワーク中継装置の中継動作をより効率化することが可能になる。なお、図2のアドレステーブルFDB1を用いる方式の比較例として、例えば、図3のステップS107への移行を時系列的に監視し、それをログとして、別途、管理用のメモリ等に残すような方式が考えられる。このような方式を用いると、ハッシュ値の衝突の発生回数(発生頻度)を認識できる程度のログを残すことは比較的容易である。ただし、エントリ内の衝突の割合や、衝突が生じたエントリを知りたい場合には、衝突が生じたエントリ自体をログに残す必要がある。この場合、アドレステーブルの登録の処理に遅延が生じたり、あるいは、ログを蓄えるため管理用のメモリ等に比較的大きな記憶領域が必要になったり等の不都合が生じ得る。したがって、このような方式と比較しても、図2のFDB1を用いる方式は有益な効果が得られる。
(実施の形態2)
《アドレステーブルの構成(変形例[1])》
図6は、本発明の実施の形態2によるネットワーク中継装置において、そのアドレステーブルの構成例を示す概略図である。実施の形態2のネットワーク中継装置は、図1(b)に示したような構成を備え、そのアドレステーブルFDB2の構成が図2と異なっている。図6に示すFDB2は、図2のアドレステーブルFDB1と比較して、各エントリの第2領域AR2の構成が異なっている。これ以外の構成に関しては、図2と同様であるため詳細な説明は省略する。
図6において、各エントリの第2領域AR2には、ハッシュ値の衝突履歴を表す第2情報として、自身のエントリにおけるハッシュ値の衝突回数を表す複数ビットの情報が登録される。例えば、図6の例では、123のハッシュ値に対応するエントリに対して、ハッシュ値の衝突が2回生じており、これに伴いAR2にはバイナリで“10”となる第2情報が登録されている。なお、ここでは、便宜上、ハッシュ値の衝突に伴い、常に、MACアドレスおよびポートの上書き登録が行われる場合を例としている。これにより、図2の場合と比較して、アドレステーブルの記憶容量は増大するものの、ハッシュ値の衝突の状況をより詳細に把握することが可能になる。なお、場合によっては、図2のAR2と図6のAR2とを組み合わせたような構成とすることも可能である。
《フレーム処理部の主要部の動作(変形例[1])》
図7は、本発明の実施の形態2によるネットワーク中継装置において、そのフレーム処理部の主要部の動作例を示すフロー図である。図7において、フレーム処理部FLCTLは、前述した図3のステップS101〜S106の処理と同一の処理内容となるステップS401〜S406の処理を実行する。ただし、FLCTLは、ステップS405において、送信元MACアドレスとエントリに登録済みのMACアドレス(Key)とが異なる場合、ステップS407において、図3のステップS107とは異なる処理を実行する。
フレーム処理部FLCTLは、ステップS407において、図3のステップS107の場合と同様に、所定の衝突処理を行うと共に、ステップS107の場合と異なり、第2領域AR2に、第2情報としてハッシュ値の衝突回数を登録する。具体的には、FLCTLは、ステップS403で読み出したAR2の値をインクリメント(+1)し、その結果をAR2に登録する。
(実施の形態3)
《アドレステーブルの構成(変形例[2])》
図8は、本発明の実施の形態3によるネットワーク中継装置において、そのアドレステーブルの構成例を示す概略図である。実施の形態3のネットワーク中継装置は、図1(b)に示したような構成を備え、そのアドレステーブルFDB3の構成が図2と異なっている。図8に示すFDB3は、図2のアドレステーブルFDB1と比較して、各エントリが複数の第1領域AR1[1]〜AR1[k]を備える点が異なっている。そして、第2領域AR2は、この複数の第1領域に対して共通に設けられる。これ以外の構成に関しては、図2と同様であるため詳細な説明は省略する。
複数の第1領域AR1[1]〜AR1[k]のそれぞれには、図2等で述べたように、複数のポートと、当該複数のポートの先に存在するMACアドレスとの関係を示す第1情報が登録される。すなわち、各エントリには、それぞれ異なる複数(ここではk(kは2以上の整数)個)の第1情報が登録可能となっている。これにより、ハッシュ値の衝突回数が(k−1)回までの範囲であるならば、実質的には、ハッシュ値の衝突が生じていないものとみなすことができる。
《フレーム処理部の主要部の動作(変形例[2])》
また、フレーム処理部FLCTLは、図8のアドレステーブルFDB3に基づいて、図3と同様の処理を行う。ただし、図3のステップS103において、FLCTLは、ハッシュ値に対応するエントリが持つ複数の第1領域AR1[1]〜AR1[k]を読み、その全てに第1情報が登録されている場合に、ステップS105に移行する。ステップS105において、FLCTLは、当該複数の第1領域の全てに、送信元MACアドレスとは異なるMACアドレスが登録されている場合には、ステップS107に移行する。そして、ステップS107において、FLCTLは、所定の衝突処理を行い、さらに、第2領域AR2に、ハッシュ値の衝突履歴を表す第2情報を登録する。
これにより、各エントリに対して実質的にハッシュ値の衝突が生じる確率を低減できると共に、実施の形態1の場合と同様に、ハッシュ値の衝突が生じた場合には、その状況を容易に把握することができるため、スイッチ装置の中継動作をより効率化することが可能になる。なお、ここでは、第2領域AR2の第2情報を1ビットとしたが、勿論、図6のように、複数ビットとすることも可能である。
(実施の形態4)
《アドレステーブルの構成(変形例[3])》
図9は、本発明の実施の形態4によるネットワーク中継装置において、そのアドレステーブルの構成例を示す概略図である。実施の形態4のネットワーク中継装置は、図1(b)に示したような構成を備え、そのアドレステーブルFDB4の構成が図8と異なっている。図9に示すFDB4は、図8のアドレステーブルFDB3と比較して、各エントリが複数の第1領域AR1[1]〜AR1[k]に対応してそれぞれ第2領域AR2[1]〜AR2[k]を備える点と、第2領域は、対応する第1領域に第1情報の上書き登録が行われた場合に第2情報が登録される点とが異なっている。これ以外の構成に関しては、図8と同様であるため詳細な説明は省略する。
《フレーム処理部の主要部の動作(変形例[3])》
また、フレーム処理部FLCTLは、図9のアドレステーブルFDB4に基づいて、図3と同様の処理を行う。ただし、図3のステップS103において、FLCTLは、ハッシュ値に対応するエントリが持つ複数の第1領域AR1[1]〜AR1[k]を読み、その全てに第1情報が登録されている場合に、ステップS105に移行する。ステップS105において、FLCTLは、当該複数の第1領域の全てに、送信元MACアドレスとは異なるMACアドレスが登録されている場合には、ステップS107に移行する。そして、ステップS107において、FLCTLは、所定の衝突処理を行い、その結果、当該エントリ内の所定の第1領域に第1情報を上書き登録する場合には、当該第1領域に対応する第2領域に、上書き登録の実効履歴を表す第2情報を登録する。
これにより、実施の形態3で述べた各種効果に加えて、さらに、各エントリが持つ複数の第1領域の中でどの第1領域に上書き登録が生じ、どの第1領域に上書き登録が生じていないかを判別することができる。一例として、複数の第1領域に第1情報を登録する際に、最も古く受信した第1情報を持つ第1領域に対して上書き登録を行うような仕組みがあった場合、複数の第1領域の中で実際に上書き登録が行われる第1領域に偏りが生じるような場合がある。このような場合に、例えば、この偏りの状況から受信する頻度が高い第1情報を判別するようなことが可能になる。
以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能である。例えば、前述した実施の形態は、本発明を分かり易く説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施の形態の構成の一部を他の実施の形態の構成に置き換えることが可能であり、また、ある実施の形態の構成に他の実施の形態の構成を加えることも可能である。また、各実施の形態の構成の一部について、他の構成の追加・削除・置換をすることが可能である。
例えば、実施の形態1〜3では、ハッシュ値の衝突が生じた場合に、第2領域に第2情報を登録する構成としたが、実施の形態4のように、ハッシュ値の衝突が生じ、かつ第1領域に第1情報の上書き登録が生じた場合に、第2領域に第2情報を登録するように構成することも可能である。
AR1 第1領域
AR2 第2領域
FDB,FDB’ アドレステーブル
FLCTL フレーム処理部
P ポート
SV 管理部
SW スイッチ装置(ネットワーク中継装置)
SWU ユーザ用スイッチ装置
TBLU テーブルユニット
TM 端末

Claims (5)

  1. 複数のポートと、
    複数のエントリを持つアドレステーブルと、
    前記アドレステーブルに基づいて前記複数のポート間でフレームを中継するフレーム処理部と、を備え、
    前記複数のエントリのそれぞれは、
    前記複数のポートと、前記複数のポートの先に存在するMACアドレスとの関係を示す第1情報が登録される第1領域と、
    第2情報が登録される第2領域と、を備え、
    前記フレーム処理部は、前記複数のポートの中のいずれかのポートで受信したフレームの送信元MACアドレスを学習する際に、前記送信元MACアドレスを用いてハッシュ値を算出し、前記ハッシュ値に対応するエントリの前記第1領域に前記送信元MACアドレスとは異なるMACアドレスが登録済みの場合に前記第2領域に前記第2情報を登録し、
    前記複数のエントリのそれぞれは、複数の前記第1領域を備え、
    前記フレーム処理部は、前記ハッシュ値に対応するエントリが持つ前記複数の第1領域の全てに、前記送信元MACアドレスとは異なるMACアドレスが登録されている場合に前記第2領域に前記第2情報を登録する、ネットワーク中継装
  2. 請求項1記載のネットワーク中継装置において、
    前記第2情報は、1ビットの情報である、ネットワーク中継装置。
  3. 請求項2記載のネットワーク中継装置において、
    さらに、ユーザからの要求に応じて、前記複数のエントリの前記第2領域を読み出し、前記第2領域に前記第2情報が登録されているエントリを抽出し、当該抽出したエントリを前記ユーザに通知する管理部を有する、ネットワーク中継装置。
  4. 請求項3記載のネットワーク中継装置において、
    前記管理部は、さらに、ユーザからの要求に応じて、前記複数のエントリの中から前記第2領域に前記第2情報が登録されているエントリの割合を算出し、当該算出した割合を前記ユーザに通知する、ネットワーク中継装置。
  5. 請求項1記載のネットワーク中継装置において、
    前記第2情報は、自身のエントリにおける前記ハッシュ値の衝突回数を表す複数ビットの情報である、ネットワーク中継装置。
JP2013070194A 2013-03-28 2013-03-28 ネットワーク中継装置 Active JP5954236B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2013070194A JP5954236B2 (ja) 2013-03-28 2013-03-28 ネットワーク中継装置
CN201410023188.1A CN104079489B (zh) 2013-03-28 2014-01-17 网络中继装置
US14/171,246 US9413661B2 (en) 2013-03-28 2014-02-03 Network relay device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013070194A JP5954236B2 (ja) 2013-03-28 2013-03-28 ネットワーク中継装置

Publications (2)

Publication Number Publication Date
JP2014195140A JP2014195140A (ja) 2014-10-09
JP5954236B2 true JP5954236B2 (ja) 2016-07-20

Family

ID=51600541

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013070194A Active JP5954236B2 (ja) 2013-03-28 2013-03-28 ネットワーク中継装置

Country Status (3)

Country Link
US (1) US9413661B2 (ja)
JP (1) JP5954236B2 (ja)
CN (1) CN104079489B (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015046382A1 (ja) 2013-09-25 2015-04-02 富士フイルム株式会社 画像処理装置、画像処理システム、画像処理プログラム、及び画像処理方法
JP6375206B2 (ja) * 2014-10-31 2018-08-15 APRESIA Systems株式会社 中継システムおよびスイッチ装置
JP6293353B2 (ja) * 2015-02-19 2018-03-14 三菱電機株式会社 中継装置
JP6520259B2 (ja) * 2015-03-18 2019-05-29 富士通株式会社 通信装置及び通信制御方法
JP6484519B2 (ja) * 2015-07-15 2019-03-13 日立オートモティブシステムズ株式会社 ゲートウェイ装置およびその制御方法
CN109842574B (zh) * 2017-11-28 2020-07-17 中国科学院声学研究所 一种基于可编程网络技术的多宿主网络路由转发方法
JP7330055B2 (ja) * 2019-10-15 2023-08-21 ルネサスエレクトロニクス株式会社 ネットワーク処理装置、および、ネットワーク通信フレームの処理方法

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04237232A (ja) * 1991-01-21 1992-08-25 Toshiba Corp Lan間接続装置
US5396493A (en) 1992-08-31 1995-03-07 Kabushiki Kaisha Toshiba Local area network bridge apparatus with dedicated packet filtering mechanism
JPH06224918A (ja) * 1992-08-31 1994-08-12 Toshiba Corp Lan間接続装置
US6665733B1 (en) * 1996-12-30 2003-12-16 Hewlett-Packard Development Company, L.P. Network communication device including bonded ports for increased bandwidth
JP2002334114A (ja) 2001-05-10 2002-11-22 Allied Tereshisu Kk テーブル管理方法及び装置
US7352753B2 (en) * 2002-12-31 2008-04-01 Nokia Corporation Method, system and mirror driver for LAN mirroring
US7873041B2 (en) * 2006-12-01 2011-01-18 Electronics And Telecommunications Research Institute Method and apparatus for searching forwarding table
CN101232444B (zh) * 2008-01-22 2012-03-21 杭州华三通信技术有限公司 哈希冲突解决方法、装置及具有该装置的交换设备
WO2009110445A1 (ja) 2008-03-03 2009-09-11 日本電気株式会社 アドレス検索方法およびパケット処理装置
CN101431472B (zh) * 2008-12-15 2011-05-25 中兴通讯股份有限公司 媒体访问控制条目的处理方法和装置
JP4688946B2 (ja) * 2009-06-15 2011-05-25 富士通株式会社 スイッチ及びアドレス学習方法
US8750370B2 (en) * 2009-09-04 2014-06-10 Brocade Communications Systems, Inc. Congestion-adaptive compression
US8780926B2 (en) * 2009-12-01 2014-07-15 Polytechnic Institute Of New York University Updating prefix-compressed tries for IP route lookup
CN102014112B (zh) * 2010-01-29 2013-08-14 柳州市达迪通信设备有限公司 一种基于mac/ip地址分类统计的硬件实现方法
JP2011229093A (ja) * 2010-04-23 2011-11-10 Hitachi Ltd ネットワーク装置
JP5389738B2 (ja) * 2010-06-04 2014-01-15 日本電信電話株式会社 識別子管理システム、情報管理サーバ、相互接続先管理サーバ、識別子管理方法、情報管理プログラム、相互接続先管理プログラム
US8312066B2 (en) * 2010-11-30 2012-11-13 Telefonaktiebolaget L M Ericsson (Publ) Hash collision resolution with key compression in a MAC forwarding data structure
WO2011100924A2 (zh) * 2011-04-14 2011-08-25 华为技术有限公司 在哈希表中添加、查找或删除键值的方法及装置
CN102710813B (zh) * 2012-06-21 2014-07-09 杭州华三通信技术有限公司 一种mac地址表项存取方法和设备
CN103001878B (zh) * 2012-11-26 2018-02-16 中兴通讯股份有限公司 Mac地址哈希冲突的确定方法及装置

Also Published As

Publication number Publication date
CN104079489A (zh) 2014-10-01
US20140294008A1 (en) 2014-10-02
CN104079489B (zh) 2018-08-28
JP2014195140A (ja) 2014-10-09
US9413661B2 (en) 2016-08-09

Similar Documents

Publication Publication Date Title
JP5954236B2 (ja) ネットワーク中継装置
CN110301120B (zh) 流分类装置、方法和系统
US9716661B2 (en) Methods and apparatus for path selection within a network based on flow duration
EP3275151B1 (en) Collecting domain name system traffic
JP2006313949A (ja) パケット転送装置
US11159427B2 (en) Single lookup entry for symmetric flows
EP3584990A1 (en) Data processing method, device, and system
US8484375B2 (en) Systems and methods for removing stale mapping entries for network element
CN105099916A (zh) 开放流路由交换设备及其对数据报文的处理方法
US9218356B2 (en) Systems and methods for accelerating networking functionality
CN104702508B (zh) 表项动态更新方法及系统
JP6266445B2 (ja) パケット中継装置及びパケット中継方法
CN102763376A (zh) 用于电信网络环境中共同组动作过滤的方法和系统
US20150304210A1 (en) Method for Processing Subnet Route and Message Forwarding Equipment
JP7330055B2 (ja) ネットワーク処理装置、および、ネットワーク通信フレームの処理方法
JP6520259B2 (ja) 通信装置及び通信制御方法
US11962516B1 (en) Packet deduplication
CN103647718B (zh) 数据包的处理方法和装置
US11368354B2 (en) Multi-result lookups
CN105450603A (zh) 一种报文处理方法和装置
WO2019050423A1 (ru) Способ организации автоматической балансировки потоков многопоточного соединения на коммутационных устройствах с использованием их самообучения
JP2010098554A (ja) ネットワーク間接続装置および管理方法
JP2013005398A (ja) 登録位置検索装置、登録位置検索プログラム、アドレス管理装置及びアドレス管理プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150619

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160215

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160223

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160422

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160530

R150 Certificate of patent or registration of utility model

Ref document number: 5954236

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

R371 Transfer withdrawn

Free format text: JAPANESE INTERMEDIATE CODE: R371

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350