JP2006295550A - パケット転送装置 - Google Patents

パケット転送装置 Download PDF

Info

Publication number
JP2006295550A
JP2006295550A JP2005113547A JP2005113547A JP2006295550A JP 2006295550 A JP2006295550 A JP 2006295550A JP 2005113547 A JP2005113547 A JP 2005113547A JP 2005113547 A JP2005113547 A JP 2005113547A JP 2006295550 A JP2006295550 A JP 2006295550A
Authority
JP
Japan
Prior art keywords
packet
learning
processing
mac address
transfer
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.)
Pending
Application number
JP2005113547A
Other languages
English (en)
Inventor
Yasutaka Saito
泰孝 斎藤
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP2005113547A priority Critical patent/JP2006295550A/ja
Publication of JP2006295550A publication Critical patent/JP2006295550A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Small-Scale Networks (AREA)
  • Communication Control (AREA)

Abstract

【課題】回線速度が高速な場合や処理が複雑な場合であっても、廃棄なしにパケット転送でき、アドレス学習処理のような付加処理も効率的に行えること。
【解決手段】パケット転送先を判定する転送先判定処理を含む必須処理と、入力されたパケットのアドレスを学習するアドレス学習処理を含む付加処理とを実行するパケット転送装置において、入力されたパケットのパケット長に基づいて、当該パケットの転送処理所要時間を求める転送処理時間算出手段13と、前記必須処理の実実行時間を測定するタイマー14と、前記求められた転送処理所要時間と前記測定された実実行時間との差時間に応じて当該パケットについての前記付加処理の実行の有無を決定する学習処理可否判定手段15とを備える。
【選択図】 図2

Description

本発明は、ブリッジやL2スイッチ,L3スイッチなどのような、パケット(またはフレーム)を転送するパケット転送装置に関するものである。
ブリッジやL2スイッチ,L3スイッチなどのような、パケット(またはフレーム)を転送するパケット転送装置においては、パケットのヘッダ情報に含まれる送信先アドレスなどを元にアドレステーブル検索を行い、この検査結果に基づいてパケットを適切な方路へ転送すると共に、パケット受信時に送信元アドレスを学習するアドレス学習を行っている。パケット転送装置で行われる処理は、パケット転送処理のように必ず行わなければならない必須処理と、アドレス学習のように必ずしも行う必要のない付加処理とに分けられる。
このようなパケット転送装置において、回線速度が高速な場合や処理が複雑な場合には、パケットの所要転送時間内に処理が完了出来ず、パケット廃棄が発生する。このような処理時間に起因するパケット廃棄は、従来は、処理エンジンを複数持つ事で対応していた。
また、非特許文献1には、n番目のフレーム転送処理の時にのみMACアドレス学習を行う(例えば3個おきのフレームだけを学習する)ことで、ブリッジ負荷を削減することが記載されている。
Rich Seifert著 間宮あきら訳、「LANスイッチング徹底解説」日経BP社,2001年8月6日、P.64〜65
しかしながら、回線速度が高速な場合や処理が複雑な場合であっても廃棄なしにパケット転送を行うために、処理エンジンを複数持つ事で対応すると、装置がコスト高になるという問題がある。また、非特許文献1に示される方法では、コストの問題は回避出来るが、単純にn個おきのフレームだけを学習するようにしているので、特定の送信元がn個おきに登場するようなトラフィックパターンがあった場合、同じ送信元MACアドレスの学習処理を繰り返してしまうため、効率的にMACアドレス学習が実施出来ないという問題がある。
本発明は、上記に鑑みてなされたものであって、回線速度が高速な場合や処理が複雑な場合であっても、廃棄なしにパケット転送でき、アドレス学習処理のような付加処理も効率的に行えるパケット転送装置を得ることを目的とする。
上述した課題を解決し、目的を達成するために、本発明は、パケット転送先を判定する転送先判定処理を含む必須処理と、入力されたパケットのアドレスを学習するアドレス学習処理を含む付加処理とを実行するパケット転送装置において、入力されたパケットのパケット長に基づいて、当該パケットの転送処理所要時間を求める転送処理時間算出手段と、前記必須処理の実実行時間を測定する実行時間測定手段と、前記求められた転送処理所要時間と前記測定された実実行時間との差時間に応じて当該パケットについての前記付加処理の実行の有無を決定する付加処理実行判定手段とを備えることを特徴とする。
この発明によれば、パケット長から当該パケットの転送処理所要時間を求めるとともに転送先判定処理の実実行時間を測定し、転送処理所要時間と測定された転送先判定処理の実実行時間との差時間に応じてMACアドレス学習などの付加処理を実行するか否かを決定するようにしているので、必ずMACアドレス学習などの付加処理を実施する場合に比べ、パケットの廃棄が少なくなるとともに、安価なコストパフォーマンスの良いシステムが構成できる。さらに、特定のアドレスについての学習ばかりを行うことにならず、効率的にアドレス学習を行うことができる。
以下に、本発明にかかるパケット転送装置の実施の形態を図面に基づいて詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。
実施の形態1.
図1および図2にしたがって本発明の実施の形態1について説明する。実施の形態1では、本発明をレイヤ2スイッチあるいはブリッジに適用している。
図1はn入力n出力のレイヤ2スイッチ(L2スイッチ)の構成を示すブロック図である。このレイヤ2スイッチは、物理層の処理を行う複数のL1処理部1(11〜1n)と、主にデータリンク層の処理を行う複数のL2処理部2(21〜2n)と、入力されたフレームをL2処理部2の指示に従い所望の宛先ポートにスイッチングするスイッチ部3とを備えている。L1処理部1およびL2処理部2は、複数のポート#1〜#n毎に設けられている。L2処理部はL2受信処理部4とL2送信処理部5から構成されている。
図1を用いて、L2スイッチの基本的な動作について説明する。ポートから入力されたフレームは、L1処理部1で物理的な電気レベル変換、フレーム抽出等が実施され、抽出したL2フレームをL2処理部2のL2受信処理部4に通知する。L2受信処理部4では、L2フレームのヘッダ情報等から転送先を決定し、スイッチ部3にフレームを転送する。スイッチ部3では、L2処理部2の指示に従い所望のポートのL2処理部2のL2送信処理部5にフレームを転送する。L2送信処理部5では、送信に必要なヘッダ情報等付加しL1処理部1にフレームを出力する。L1処理部1では、電気レベルの変換等を行って、フレームをポートに出力する。
図2はL2スイッチにおけるL2受信処理部4の内部構成を示す機能ブロック図である。図2において、L2受信処理部4は、転送テーブル11と、転送先判定手段12と、転送処理時間算出手段13と、タイマー14と、学習処理可否判定手段15と、MACアドレス学習手段16とを備えている。
転送テーブル11には、MACアドレスと、ポート#1〜#nを識別するためのポート番号との対応関係が登録されている。転送テーブル11の登録データは、MACアドレス学習手段16によるMACアドレス学習によって作成される。
転送先判定手段12は、L1処理部1から入力されたフレームの送信先MACアドレス(MAC DA)をキーに転送テーブル11を検索し、ヒットしたMACアドレスに対応するポート番号を転送先として判定する。転送先判定手段12で行われる転送先判定処理が特許請求の範囲で云うところの必須処理に含まれる。また、転送先判定手段12は入力されたフレームのフレーム長を求め、求めたフレーム長を転送処理時間算出手段13に通知する。
転送処理時間算出手段13は、転送先判定手段12から通知されたフレーム長から、当該フレームについての転送処理に割り当てられる時間、すなわち当該フレームについての転送処理を実行するために必要な時間である転送処理所要時間を計算し、計算した転送処理所要時間を学習処理可否判定手段15に通知する。タイマー14は、転送先判定手段12での転送先判定処理に要する時間を計測し、計測した時間を学習処理可否判定手段15に通知する。
学習処理可否判定手段15は、転送処理時間算出手段13からの転送処理所要時間と、タイマー14からの計測時間との差に応じて、MACアドレス学習を行うかどうか判定する。MACアドレス学習手段16は、フレームのヘッダ情報に含まれる送信元MACアドレス(MAC SA)を用いてアドレス学習を行う。MACアドレス学習手段16で行われるMACアドレス学習処理が特許請求の範囲で云うところの付加処理に含まれる。
次に動作について説明する。L1処理部1からのMACフレームが転送先判定手段12に通知されると、転送先判定手段12は、送信先MACアドレス(MAC DA)をキーに転送テーブル11を検索する。検索結果すなわち送信先MACアドレスに対応するポート番号が求まった場合は、その結果に従って転送するように学習処理可否判定手段15に通知する。転送テーブル11に該当エントリが無くミスヒットになった場合、転送先判定手段12は入力ポート以外にマルチキャスト(フラッディング)するように学習処理可否判定手段15に通知する。
また、転送先判定手段12は、同時に、入力されたフレームのフレーム長を求め、このフレーム長を転送処理時間算出手段13に通知する。転送処理時間算出手段13は、転送先判定手段12から通知されたフレーム長から、当該フレームについての転送処理を実行するために必要な時間である転送処理所要時間を計算し、計算した転送処理所要時間を学習処理可否判定手段15に通知する。
一方、タイマー14は、転送先判定手段12から処理開始の通知を受けると、処理時間の計測動作を開始し、転送先判定手段12からの終了通知で計測を停止する。そして、計測時間を学習処理可否判定手段15に通知する。
学習処理可否判定手段15は、転送処理時間算出手段13からの転送処理所要時間から、タイマー14からの計測時間を減算して、その差時間(残り時間)を求め、この残り時間に基づいてMACアドレス学習を実施するか否かを判定する。すなわち、残り時間が予め設定した所定の閾値以上あって、残り時間が十分あると判定される場合は、MACアドレス学習手段16にMACアドレス学習を指示するが、残り時間が閾値よりも小さくて、残り時間が不十分であると判定される場合は、そのフレームはMACアドレス学習を行わせずにスイッチ部3に直接送信する。学習処理可否判定手段15は、MACアドレス学習を行う場合は、MACアドレス学習を行う旨の指示信号、ポート番号(マルチキャスト指示の場合もある)およびそのフレームをMACアドレス学習手段16に出力する。
MACアドレス学習手段16は、学習処理可否判定手段15からMACアドレス学習を行う旨の指示信号が入力された場合は、フレーム中の送信元MACアドレス(MAC SA)をキーに転送テーブル11を検索する。ヒットしかつ転送先のポート番号が受信したポートと一致した場合は、単に当該フレームおよび転送先情報をスイッチ部3に送信する。ミスヒットまたは、検索結果のポート番号が受信したポート番号と不一致の場合は、送信元MACアドレス(MAC SA)と入力ポートの情報を転送テーブル11に登録(更新)し、その後、そのフレームおよび転送先情報をスイッチ部3に送信する。
このように実施の形態1によれば、フレーム長から当該フレームの転送処理所要時間を求めるとともに転送先判定処理の実実行時間を測定し、転送処理所要時間と測定された転送先判定処理の実実行時間との差時間に応じてMACアドレス学習を実行するか否かを決定するようにしているので、必ずMACアドレス学習を実施する場合に比べ、パケットの廃棄が少なくなるとともに、安価なコストパフォーマンスの良いシステムが構成できる。さらに、特定のMACアドレスについての学習ばかりを行うことにならず、効率的にMACアドレス学習を行うことができる。
なお、実施の形態1では、L2スイッチに本発明を適用するようにしたが、L3スイッチ,L4スイッチなどのようなパケットまたはフレームを転送する装置であれば、本発明を適用可能である。また、請求の範囲でいうところのパケットとは、小さな単位に分割されたデータ単位の総称であり、フレームもパケットの概念に含まれるものとする。
また、実施の形態1では、必須処理として転送先を求める転送先判定処理、付加的な処理としてMACアドレス学習を例としたが、必須処理として転送先判定処理以外のものを含めるようにしてもよく、また付加処理としてMACアドレス学習以外のものを含めるようにしてもよい。
また、上記では、付加処理が1つの例で説明したが、2つ以上複数あっても適用可能である。ただし、付加的な処理が複数ある場合は、学習処理可否判定手段15の判定が、単に付加的処理を実施するかどうかだけでなく、全ての付加的処理が実施出来ない場合、どの処理を選択するかという判断も行う必要がある。この判断は、付加的処理に優先度を設定し、その優先順で決定する方法等が考えられる。例えば、下記例のような場合で、残りの処理に費やせる時間が25msecあった場合は、付加処理a,c,dを選択するような方法である。
優先度1:付加処理a(処理時間10msec)
優先度2:付加処理b(処理時間30msec)
優先度3:付加処理c(処理時間5msec)
優先度4:付加処理d(処理時間10msec)
優先度5:付加処理e(処理時間5msec)
(優先度の値が小さい方が、優先度高)
実施の形態2.
図3にしたがって本発明の実施の形態2について説明する。図3は、実施の形態2の機能ブロックを示すものであり、図1のL2受信処理部4に相当するブロックである。図3において、転送テーブル11,転送先判定手段12およびMACアドレス学習手段16は、先の図2に示したものと同様の機能を実行する。すなわち、転送テーブル11には、MACアドレスと、ポート#1〜#nを識別するためのポート番号との対応関係が登録されている。転送先判定手段12は、L1処理部1から入力されたフレームの送信先MACアドレス(MAC DA)をキーに転送テーブル11を検索し、その検索結果を学習処理可否判定手段24に出力する。MACアドレス学習手段16は、学習処理可否判定手段24からの指令に応じて、フレームのヘッダ情報に含まれる送信元MACアドレス(MAC SA)を用いたアドレス学習を行う。
この実施の形態2においては、入力されたフレームを一時蓄積するバッファ21を設け、このバッファ21の残容量を計測し、この計測値に応じて当該フレームについてのMACアドレス学習を行うか否かを決定している。
バッファ21は、所定の記憶容量を有する例えばFIFOであり、L1処理部1から入力されたフレームを一時記憶する。蓄積量カウント手段22は、バッファ21に現在蓄積されているフレーム数をカウントし、そのカウント結果を蓄積量判定手段23に出力する。
蓄積量判定手段23は、バッファ21のバッファ量(既知、フレームの蓄積可能量)から、蓄積量判定手段23のカウント結果を減算することにより、バッファ21の残容量を計算する。蓄積量判定手段23は、このバッファ残容量からMACアドレス学習に割り当て可能な時間を求め、該求めた割り当て可能時間を学習処理可否判定手段24に出力する。蓄積量判定手段23でのMACアドレス学習に割り当てられる時間の求め方としては、様々考えられるが、例えばバッファの残量値を入力ポートの実効帯域(実効レート)で割って求める方法が考えられる。
学習処理可否判定手段24は、蓄積量判定手段23から入力されたMACアドレス学習に割り当てられる時間に基づいてMACアドレス学習を行うかどうか判定する。
次に動作について説明する。L1処理部1からのMACフレームは、バッファ21に一旦蓄積される。転送先判定手段12は、バッファ21からフレームを読み出し、送信先MACアドレス(MAC DA)をキーに転送テーブル11を検索する。検索結果すなわち送信先MACアドレスに対応するポート番号が求まった場合は、その結果に従って転送するように学習処理可否判定手段15に通知する。転送テーブル11に該当エントリが無くミスヒットになった場合、転送先判定手段12は入力ポート以外にマルチキャスト(フラッディング)するように学習処理可否判定手段15に通知する。
一方、蓄積量カウント手段22はバッファ21が保持しているフレーム数をカウントし、そのカウント結果を蓄積量判定手段23に通知する。蓄積量判定手段23は、バッファ21のバッファ量(既知)から、蓄積量判定手段23のカウント結果を減算することにより、バッファ21の残容量を計算し、このバッファ残容量からMACアドレス学習に割り当て可能な時間を求め、該求めた割り当て可能時間を学習処理可否判定手段24に出力する。
学習処理可否判定手段24は、蓄積量判定手段23から入力されたMACアドレス学習に割り当てられる時間に基づいてMACアドレス学習を行うかどうか判定する。すなわち、MACアドレス学習に割り当てられる時間が予め設定した所定の閾値以上あって、MACアドレス学習に割り当てられる時間が十分あると判定される場合は、MACアドレス学習手段16にMACアドレス学習を指示するが、MACアドレス学習に割り当てられる時間が閾値よりも小さくて、MACアドレス学習に割り当てられる時間が不十分であると判定される場合は、そのフレームはMACアドレス学習を行わせずにスイッチ部3に直接送信する。
MACアドレス学習手段16は、学習処理可否判定手段15からMACアドレス学習を行う旨の指示信号が入力された場合は、フレーム中の送信元MACアドレス(MAC SA)をキーに転送テーブル11を検索する。ヒットしかつ転送先のポート番号が受信したポートと一致した場合は、単に当該フレームおよび転送先情報をスイッチ部3に送信する。ミスヒットまたは、検索結果のポート番号が受信したポート番号と不一致の場合は、送信元MACアドレス(MAC SA)と入力ポートの情報を転送テーブル11に登録し、その後、そのフレームおよび転送先情報をスイッチ部3に送信する。
このように実施の形態2では、バッファ21の残容量が所定の閾値以上残っている場合は、そのフレームについてのMACアドレス学習を実効させ、バッファ21の残容量が所定の閾値未満しか残っていない場合は、そのフレームについてのMACアドレス学習を省略するようにしている。したがって、実施の形態2によれば、必ずMACアドレス学習を実施する場合に比べ、パケットの廃棄が少なくなるとともに、安価なコストパフォーマンスの良いシステムが構成できる。また、特定のMACアドレスについての学習ばかりを行うことにならず、効率的にMACアドレス学習を行うことができる。さらに、バッファにフレームを蓄積するため、処理時間が平均化される(フレーム長が長いパケットの余分な時間を短いフレームに分配する事が可能)ため、より効率的にMAC学習処理を実施することができる。
なお、上記では、バッファ21をL2受信処理部4の入り口に配置したが、バッファ21を転送先判定手段12と学習処理可否判定手段24の間に配置しても良い。また、上記では、バッファ21はフレーム自体を蓄積するものとしたが、MAC学習処理に必要な情報(送信元MACアドレス(MAC SA)と入力ポートの情報)のみを蓄積し、フレームをスイッチ部3に転送した後に、MACアドレス学習を実施する構成としてもよい。
また、実施の形態2をL2スイッチ以外のL3スイッチ,L4スイッチなどのようなパケットまたはフレームを転送する任意の装置に適用するようにしてもよい。また、実施の形態2においても、必須処理として転送先判定処理以外のものを含めるようにしてもよく、また付加処理としてMACアドレス学習以外のものを含めるようにしてもよい。また、実施の形態2を、上記と同様に、付加処理が複数ある場合に適用するようにしてもよい。
実施の形態3.
図4に従ってこの発明の実施の形態3について説明する。図4は、実施の形態3の機能ブロックを示すものであり、図1のL2受信処理部4に相当するブロックである。図4において、転送テーブル11,転送先判定手段12およびMACアドレス学習手段16は、先の図2に示したものと同様の機能を実行する。すなわち、転送テーブル11には、MACアドレスと、ポート#1〜#nを識別するためのポート番号との対応関係が登録されている。転送先判定手段12は、L1処理部1から入力されたフレームの送信先MACアドレス(MAC DA)をキーに転送テーブル11を検索し、その検索結果を学習処理可否判定手段32に出力する。MACアドレス学習手段16は、学習処理可否判定手段32からの指令に応じて、フレームのヘッダ情報に含まれる送信元MACアドレス(MAC SA)を用いたアドレス学習を行う。
この実施の形態3においては、MACアドレス学習を、乱数発生手段31から出力された乱数に基づいてランダムな周期で実行する。乱数発生手段31は乱数を発生させ、発生された乱数値を学習処理可否判定手段32に出力する。学習処理可否判定手段32は、乱数発生手段31から入力された乱数値を予め設定された1〜複数の所定値と比較し、この比較結果が一致した場合に、MACアドレス学習手段16によるMACアドレス学習を行わせる。
例えば、乱数発生手段31から「1」〜「10」の乱数を発生させた場合、学習処理可否判定手段32においては、入力された乱数を例えば数値「2」および「5」と比較する。そして、学習処理可否判定手段32においては、入力された乱数値が数値「2」または「5」と一致した場合は、当該フレームについてのMACアドレス学習を行わせ、不一致の場合は、当該フレームについてのMACアドレス学習を省略させる。この場合、平均的(大局的)には1/5の確率でMACアドレス学習が行われるが、乱数を用いているので、局所的には、ランダムな周期でMACアドレス学習が行われることになる。
このようにこの実施の形態3においては、MACアドレス学習をランダムな周期で行うようにしているので、特定の送信元がn個おきに登場するようなトラフィックパターンがあった場合でも、効率的にMACアドレス学習を実施することができる。
なお、実施の形態3をL2スイッチ以外のパケットまたはフレームを転送する任意の装置に適用するようにしてもよい。また、実施の形態3においても、必須処理として転送先判定処理以外のものを含めるようにしてもよく、また付加処理としてMACアドレス学習以外のものを含めるようにしてもよい。また、実施の形態3を付加処理が複数ある場合に適用するようにしてもよい。
実施の形態4.
図5に従ってこの発明の実施の形態4について説明する。図5は、実施の形態4の機能ブロックを示すものであり、図1のL2受信処理部4に相当するブロックである。図4において、転送テーブル11,転送先判定手段12およびMACアドレス学習手段16は、先の図2に示したものと同様の機能を実行する。すなわち、転送テーブル11には、MACアドレスと、ポート#1〜#nを識別するためのポート番号との対応関係が登録されている。転送先判定手段12は、L1処理部1から入力されたフレームの送信先MACアドレス(MAC DA)をキーに転送テーブル11を検索し、その検索結果を学習処理可否判定手段32に出力する。MACアドレス学習手段16は、学習処理可否判定手段32からの指令に応じて、フレームのヘッダ情報に含まれる送信元MACアドレス(MAC SA)を用いたアドレス学習を行う。
この実施の形態4においては、MACアドレス学習を、パケット種別(例えば、通信開始、通信中、通信終了などの通信時期を示すパケット種別)を識別し、この識別結果に基づいて、例えば通信開始時のパケットなどの一部の特定のパケットのみにMACアドレス学習を実行させる。
パケット種別判定手段41は、フレームの種別あるいはフレーム中のパケットの種類によってMACアドレス学習を実施するかどうかを判定し、その判定結果を学習処理可否判定手段42に出力する。例えば、L2フレームの上位階層のL3やL4のパケットのヘッダ情報を用いてMACアドレス学習の有無を判定する。例えば、上位のプロトコルがTCPのように、そのヘッダ情報を見るだけで、通信の開始、通信中の中間、通信終了などの通信時期状態がわかる場合は、そのヘッダ情報を判別することで、通信の開始時のみMACアドレス学習を実施するような判断を行う。
学習処理可否判定手段42は、パケット種別判定手段41からの判別結果に基づいて、転送先判定手段12から入力されたフレームに対しMACアドレス学習手段16でMACアドレス学習を実施させるか、あるいはそのままスイッチ部3に転送するかを決めて、決定した処理を行う。
このように実施の形態4においては、フレームあるいはパケット種別を判別し、判別したパケットが所定のフレーム種別あるいはパケット種別である場合にのみ、MACアドレス学習を行うようにしているので、特定の送信元がn個おきに登場するようなトラフィックパターンがあった場合でも、効率的にMACアドレス学習を実施することができる。
なお、上記では、パケット種別を、TCPにおける通信開始、通信中、通信終了などの通信時期状態に基づいて判別するようにしたが、TCP以外の他の上位プロトコルによって、通信時期状態を判別するようにしてもよい。また、通信時期状態に限らず、他の種別を持ってパケット種別を判別するようにしてもよい。
なお、実施の形態4をL2スイッチ以外のパケットまたはフレームを転送する任意の装置に適用するようにしてもよい。また、実施の形態4においても、必須処理として転送先判定処理以外のものを含めるようにしてもよく、また付加処理としてMACアドレス学習以外のものを含めるようにしてもよい。また、実施の形態4を付加処理が複数ある場合に適用するようにしてもよい。
実施の形態5.
図6に従ってこの発明の実施の形態5について説明する。この実施の形態5においては、先の図2に示す実施の形態1の構成に、実施済み処理キャシュ51および学習処理実施済み判定手段52を追加するようにしている。この実施の形態5では、MACアドレス学習を実施するか否かの判断基準として、先の実施の形態1の判断基準の他に、最近MACアドレス学習を行った送信元MACアドレスについてはMACアドレス学習を実施しないという判断基準を追加する。
実施済み処理キャシュ51は、MACアドレス学習を最近実施した送信元MACアドレス(MAC SA)を保持するメモリであり、送信元MACアドレス(MAC SA)を所定個数記憶できる所定の容量を有している。
学習処理実施済み判定手段52は、MACアドレス学習手段16によるMACアドレス学習が行われた時は、その送信元MACアドレス(MAC SA)を実施済み処理キャッシュ51に登録する登録処理を行う。この登録処理の際に、実施済み処理キャッシュ51が満杯の場合は、古いエントリを削除して新しいエントリを登録する。なお、学習処理実施済み判定手段52は、実施済み処理キャッシュ51に対しエージング処理(ある一定時間毎にエントリを削除)を実施するようにしてもよい。
また、学習処理実施済み判定手段52は、学習処理可否判定手段15でMACアドレス学習を行うと判定されたフレームに含まれる送信元MACアドレス(MAC SA)について実施済み処理キャッシュ51を検索し、同一送信元MACアドレス(MAC SA)が登録されているか否かを判定することにより、当該フレームに含まれる送信元MACアドレス(MAC SA)が最近、MACアドレス学習を行ったか否かを判断する。その判断結果は、学習処理可否判定手段15に入力される。
学習処理可否判定手段15は、前述したように、転送処理時間算出手段13からの転送処理所要時間と、タイマー14からの計測時間とに基づいてMACアドレス学習を実施すると判定されたフレームについて、学習処理実施済み判定手段52からの判定結果に基づいてMACアドレス学習を行うか否かを決定する。すなわち、MACアドレス学習を実施すると判定されたフレームについて、学習処理実施済み判定手段52から学習済みではないの判定結果が入力された場合は、MACアドレスを行い、学習処理実施済み判定手段52から学習済みの判定結果が入力された場合は、MACアドレスを行わないようにする。
このように、実施の形態5では、フレーム長から求めた転送処理所要時間と測定された転送先判定処理の実実行時間との差時間に応じてMACアドレス学習を実行するか否かを判定し、この判定によりMACアドレス学習を実施すると判定されたフレームについても、既に学習済みの判定結果が入力された場合は、MACアドレス学習を行わないようにしているので、先の実施の形態1の効果に加え、無駄な学習処理が減って、効率的な転送処理が行えるという効果を有する。
なお、上記では、実施の形態1の判断基準に対し、最近MACアドレス学習を行った送信元MACアドレスについてはMACアドレス学習を実施しないという判断基準を追加するようにしたが、実施の形態2〜4の何れかの判断基準に、最近MACアドレス学習を行った送信元MACアドレスについてはMACアドレス学習を実施しないという判断基準を追加するようにしてもよい。
実施の形態6.
図7に従ってこの発明の実施の形態6について説明する。この実施の形態6においては、先の図6に示す実施の形態5の構成に、ハッシュ(Hash)計算手段60を追加している。この実施の形態6では、送信元MACアドレス(MAC SA)の代わりに、送信元MACアドレス(MAC SA)に対応するハッシュ値を実施済み処理キャシュ51に記憶することで、より少ないメモリ量で同じエントリ数が保持出来るようにしている。実施の形態6においても、実施の形態5と同様、MACアドレス学習を実施するか否かの判断基準として、先の実施の形態1の判断基準の他に、最近MACアドレス学習を行った送信元MACアドレスについてはMACアドレス学習を実施しないという判断基準を追加するようにしている。
実施済み処理キャシュ51は、MACアドレス学習を最近実施した送信元MACアドレス(MAC SA)に対応するハッシュ値を保持するメモリであり、送信元MACアドレス(MAC SA)に対応するハッシュ値を所定個数記憶できる所定の容量を有している。
学習処理実施済み判定手段52は、MACアドレス学習手段16によるMACアドレス学習が行われた時は、その送信元MACアドレス(MAC SA)をハッシュ計算手段60に出力する。ハッシュ計算手段60は、入力された送信元MACアドレス(MAC SA)に対応するハッシュ値を計算し、計算したハッシュ値を実施済み処理キャッシュ51に登録する登録処理を行う。
また、学習処理実施済み判定手段52は、実施済み処理キャッシュ51の検索を行う際には、学習処理可否判定手段15でMACアドレス学習を行うと判定されたフレームに含まれる送信元MACアドレス(MAC SA)をハッシュ計算手段60に出力する。ハッシュ計算手段60は、入力された送信元MACアドレス(MAC SA)に対応するハッシュ値を計算し、計算されたハッシュ値を用いて実施済み処理キャッシュ51を検索し、同一ハッシュ値が登録されているか否かを判定することにより、当該フレームに含まれる送信元MACアドレス(MAC SA)が最近、MACアドレス学習を行ったか否かを判断する。その判断結果は、学習処理実施済み判定手段52を介して学習処理可否判定手段15に入力される。
学習処理可否判定手段15は、前述したように、転送処理時間算出手段13からの転送処理所要時間と、タイマー14からの計測時間とに基づいてMACアドレス学習を実施すると判定されたフレームについて、学習処理実施済み判定手段52からの判定結果に基づいてMACアドレス学習を行うか否かを決定する。すなわち、MACアドレス学習を実施すると判定されたフレームについて、学習処理実施済み判定手段52から学習済みではないかの判定結果が入力された場合は、MACアドレスを行い、学習処理実施済み判定手段52から学習済みの判定結果が入力された場合は、MACアドレスを行わないようにする。
このように、実施の形態6では、送信元MACアドレス(MAC SA)に対応するハッシュ値を実施済み処理キャシュ51に記憶するようにしているので、実施に形態5に比べ、より少ないメモリ量で同じエントリ数が保持でき、コストパフォーマンスも更に向上できる。ただし、ハッシュ値を使用しているため、低い確率であるが異なるMAC SAの値であっても同一ハッシュ値になる競合が発生する。その場合はMACアドレス学習を実施していないMAC SAでも実施済みと認識するが、MACアドレス学習は付加的な処理で、必須処理でないため、誤認識は大きな問題にはならない。
なお、送信元MACアドレス(MAC SA)に対応するハッシュ値を実施済み処理キャシュ51に記憶し、この記憶情報を検索することにより、最近MACアドレス学習を行った送信元MACアドレスについてはMACアドレス学習を実施しないという上記の判断基準を、先の実施の形態2〜4の何れかの判断基準に、追加するようにしてもよい。
以上のように、本発明にかかるパケット転送装置は、L2スイッチ、L3スイッチなどのパケット(フレーム)を転送する装置に有用である。
本発明のパケット転送装置の一例を示すブロック図である。 L2受信処理部の実施の形態1の構成を示す機能ブロック図である。 L2受信処理部の実施の形態2の構成を示す機能ブロック図である。 L2受信処理部の実施の形態3の構成を示す機能ブロック図である。 L2受信処理部の実施の形態4の構成を示す機能ブロック図である。 L2受信処理部の実施の形態5の構成を示す機能ブロック図である。 L2受信処理部の実施の形態6の構成を示す機能ブロック図である。
符号の説明
1 L1処理部
2 L2処理部
3 スイッチ部
4 受信処理部
5 送信処理部
11 転送テーブル
12 転送先判定手段
13 転送処理時間算出手段
14 タイマー
15 学習処理可否判定手段
16 MACアドレス学習手段
21 バッファ
22 蓄積量カウント手段
23 蓄積量判定手段
24 学習処理可否判定手段
31 乱数発生手段
32 学習処理可否判定手段
41 パケット種別判定手段
42 学習処理可否判定手段
51 実施済み処理キャシュ
52 学習処理実施済み判定手段
60 ハッシュ計算手段

Claims (6)

  1. パケット転送先を判定する転送先判定処理を含む必須処理と、入力されたパケットのアドレスを学習するアドレス学習処理を含む付加処理とを実行するパケット転送装置において、
    入力されたパケットのパケット長に基づいて、当該パケットの転送処理所要時間を求める転送処理時間算出手段と、
    前記必須処理の実実行時間を測定する実行時間測定手段と、
    前記求められた転送処理所要時間と前記測定された実実行時間との差時間に応じて当該パケットについての前記付加処理の実行の有無を決定する付加処理実行判定手段と、
    を備えることを特徴とするパケット転送装置。
  2. パケット転送先を判定する転送先判定処理を含む必須処理と、入力されたパケットのアドレスを学習するアドレス学習処理を含む付加処理とを実行するパケット転送装置において、
    入力された転送パケットを一旦蓄積するバッファと、
    前記バッファの残容量を計測し、この計測値に基づいて当該パケットについての前記付加処理の実行の有無を決定する付加処理実行判定手段と、
    を備えることを特徴とするパケット転送装置。
  3. パケット転送先を判定する転送先判定処理を含む必須処理と、入力されたパケットのアドレスを学習するアドレス学習処理を含む付加処理とを実行するパケット転送装置において、
    乱数を発生させる乱数発生手段と、
    乱数発生手段から発生された乱数値が予め設定した1つ以上の所定値と一致した場合にのみ前記付加処理を実行させるよう前記付加処理の実行の有無を決定する付加処理実行判定手段と、
    を備えることを特徴とするパケット転送装置。
  4. パケット転送先を判定する転送先判定処理を含む必須処理と、入力されたパケットのアドレスを学習するアドレス学習処理を含む付加処理とを実行するパケット転送装置において、
    パケットの種別を判定するパケット種別判定手段と、
    パケット種別判定手段の判定結果に応じて前記付加処理の実行の有無を決定する付加処理実行判定手段と、
    を備えることを特徴とするパケット転送装置。
  5. 前記付加処理を、実施したパケットアドレス情報が記憶されるメモリ手段と、
    前記メモリ手段に記憶されたパケットアドレス情報を検索することにより、前記付加処理実行判定手段により実行すると判定された付加処理が、実施済みか否かを判定し、実施済みである場合は前記付加処理実行判定手段による付加処理の実行を禁止させる付加処理実施済み判定手段と、
    をさらに備える事を特徴とする請求項1〜4の何れか一つに記載のパケット転送装置。
  6. 前記パケットアドレス情報は、パケットアドレス情報に対応するハッシュ値として前記メモリ手段に記憶されることを特徴とする請求項5に記載のパケット転送装置。
JP2005113547A 2005-04-11 2005-04-11 パケット転送装置 Pending JP2006295550A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005113547A JP2006295550A (ja) 2005-04-11 2005-04-11 パケット転送装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005113547A JP2006295550A (ja) 2005-04-11 2005-04-11 パケット転送装置

Publications (1)

Publication Number Publication Date
JP2006295550A true JP2006295550A (ja) 2006-10-26

Family

ID=37415639

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005113547A Pending JP2006295550A (ja) 2005-04-11 2005-04-11 パケット転送装置

Country Status (1)

Country Link
JP (1) JP2006295550A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010177752A (ja) * 2009-01-27 2010-08-12 Hitachi Ltd ネットワーク通信装置
JP2010288168A (ja) * 2009-06-15 2010-12-24 Fujitsu Ltd スイッチ及びアドレス学習方法
JP2011039904A (ja) * 2009-08-17 2011-02-24 Fujitsu Ltd 中継装置、macアドレス検索方法
US8559430B2 (en) 2009-04-13 2013-10-15 Fujitsu Limited Network connection device, switching circuit device, and method for learning address

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010177752A (ja) * 2009-01-27 2010-08-12 Hitachi Ltd ネットワーク通信装置
US8559430B2 (en) 2009-04-13 2013-10-15 Fujitsu Limited Network connection device, switching circuit device, and method for learning address
JP2010288168A (ja) * 2009-06-15 2010-12-24 Fujitsu Ltd スイッチ及びアドレス学習方法
JP4688946B2 (ja) * 2009-06-15 2011-05-25 富士通株式会社 スイッチ及びアドレス学習方法
JP2011039904A (ja) * 2009-08-17 2011-02-24 Fujitsu Ltd 中継装置、macアドレス検索方法
US8719361B2 (en) 2009-08-17 2014-05-06 Fujitsu Limited Relay device, MAC address search method

Similar Documents

Publication Publication Date Title
JP3717836B2 (ja) ダイナミック・ロード・バランサ
US7362761B2 (en) Packet processing apparatus
EP1371187B1 (en) Cache entry selection method and apparatus
JP4483535B2 (ja) ネットワーク装置
CN102104541A (zh) 报头处理引擎
JP4779955B2 (ja) パケット処理装置及びパケット処理方法
EP2019360A1 (en) Data processing apparatus and data transfer method
Shi et al. Ndn-dpdk: Ndn forwarding at 100 gbps on commodity hardware
JP2001045061A (ja) 通信ノード装置
JP2005269314A (ja) マルチキャストパケット読出し制御方法及び装置
JP2006180162A (ja) パケット交換装置およびパケット交換方法
JP5473406B2 (ja) ネットワーク処理装置及びその処理方法
JP2006295550A (ja) パケット転送装置
JP4530806B2 (ja) パケット伝送装置
CN107809385B (zh) 一种Packet-In消息的触发与控制方法
CN110191068B (zh) 检测网络设备流缓存的陈旧存储器地址
CN109547352B (zh) 报文缓存队列的动态分配方法和装置
US20060274654A1 (en) Range matching
JPH10322347A (ja) ネットワーク通信装置
JP2014239437A (ja) ルーティングループの検出方法及び装置
JP2008085886A (ja) パケット処理装置、パケット処理方法及びパケット処理プログラム
US7859997B2 (en) Packet handling on a network device
CN115442288B (zh) 一种SRv6网络数据包检查方法和装置
US20230336480A1 (en) Efficient Handling of Fragmented Packets in Multi-Node All-Active Clusters
JP4769316B2 (ja) パケットキューイング装置およびパケットキューイング方法