JP4923908B2 - パケット転送装置およびパケット転送方法 - Google Patents

パケット転送装置およびパケット転送方法 Download PDF

Info

Publication number
JP4923908B2
JP4923908B2 JP2006256349A JP2006256349A JP4923908B2 JP 4923908 B2 JP4923908 B2 JP 4923908B2 JP 2006256349 A JP2006256349 A JP 2006256349A JP 2006256349 A JP2006256349 A JP 2006256349A JP 4923908 B2 JP4923908 B2 JP 4923908B2
Authority
JP
Japan
Prior art keywords
packet
trunk
unit
port
learning
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.)
Expired - Fee Related
Application number
JP2006256349A
Other languages
English (en)
Other versions
JP2008079043A (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.)
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 JP2006256349A priority Critical patent/JP4923908B2/ja
Priority to US11/784,027 priority patent/US7580407B2/en
Publication of JP2008079043A publication Critical patent/JP2008079043A/ja
Application granted granted Critical
Publication of JP4923908B2 publication Critical patent/JP4923908B2/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
    • H04L12/00Data switching networks
    • H04L12/66Arrangements for connecting between networks having differing types of switching systems, e.g. gateways

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Small-Scale Networks (AREA)

Description

本発明は、パケット転送装置およびパケット転送方法に係り、特に、接続される複数のリンクを束ねて仮想的に1つの論理的なリンクとすることによって帯域を増やすことができるリンクアグリゲーション(link aggregation)機能を有したパケット転送装置において、リンクアグリゲーションが設定されたリンクで受信したパケットがパケット転送装置の接続する全てのリンクに転送されることを抑制するパケット転送装置およびパケット転送方法に関する。
パケットの宛先アドレスに応じてパケットを転送するパケット転送装置は、転送経路を学習する機能を備えている。パケット転送装置は、受信したパケットの送信元アドレスに対するそのパケットの受信位置情報、一般的にはポートを識別する番号(ポート番号)を学習する。つまり、パケット転送装置は受信したパケットの送信元アドレスに対する最新の受信位置情報を学習テーブルに登録している。パケット転送装置は、この学習テーブルを有することによって、受信するパケットの宛先アドレスに基づいて学習テーブルを検索して転送先を決定する。学習テーブルの検索の結果、学習テーブルに該当する情報がなかった場合、パケット転送装置はパケット転送装置が備える全てのポート、つまりパケットを受信したポート以外の全てのポートにそのパケットを転送する。これをフラディング(flooding)と称する。
フラディングによって発生したパケットを受信することによって学習が行われ、学習テーブルに登録される。しかしながら、フラディングによって登録された学習テーブルの情報において、その登録された情報のうち活用される情報は一般的には限られており、フラディングによって登録された情報の多くは活用されず、学習テーブルの資源を無駄に使用していることになる。よって、パケット転送装置は所定の時間内において再学習されない学習テーブルの情報を消去する。これをエージングと称する。
リンクアグリゲーション機能を有したパケット転送装置では、リンクアグリゲーション機能によって束ねられたリンクのうち、いずれかのリンクが故障しても残りの正常なリンクを使用することによって運用を継続することが可能となる。このリンクアグリゲーション機能によって束ねられたリンクをトランクと称する。パケット転送装置は、トランクでパケットを受信した場合、そのパケットの学習する受信位置情報はポート番号でなくトランクを識別する番号(トランク番号)となり、パケット転送装置にはそのトランクによって束ねられるポートを識別する対応テーブル、つまりトランク番号に対応したポート番号が登録されたリンクアグリゲーションテーブル、が設定される。そして、この学習結果に基づき、受信したパケットの宛先アドレスに対応した受信位置情報がトランクの場合、パケット転送装置は所定の演算に基づいてリンクアグリゲーションを構成するポートの中から1つのポートを選択しパケットを転送する。リンクアグリゲーションを構成する複数のリンク、すなわち、複数のポートのうち、どのポートを選択してパケットを転送するかは、前記の演算方法などの違いにより、パケット転送装置により異なる。よって、端末とサーバが、リンクアグリゲーションが設定された対向するパケット転送装置を介してパケットの転送を行う場合、端末からサーバへの転送経路とサーバから端末への転送経路とでは異なる場合が生じる。
ポートの収容規模に応じて、ポートを収容するラインユニットの増設が可能なシャーシ型のパケット転送装置では、ラインユニット毎に学習テーブルを備えている。
シャーシ型のパケット転送装置において、トランクが設定されたリンクを介してパケットを転送する場合、対向装置へ送信する方向と対向装置から受信する方向の両方向ともに同じリンクを使用すれば、フラディングの発生は抑制できる。しかしながら、この両方向のリンクが別リンクであり、複数のラインユニットに跨ってリンクアグリゲーションが設定されている場合、このパケット転送装置では、ラインユニット毎に学習テーブルを備えているために、例えば、端末からサーバ宛のパケットを受信したラインユニットでは、サーバからその端末宛パケットを受信せず他のラインユニットがそのパケットを受信している場合があり、その場合にはそれぞれのラインユニットで学習された内容は再学習されることがないためにエージングされてしまう。そのため、再度トランクの設定されたリンクを介してパケットを転送する場合にフラディングが発生することになる。
トランクが設定されたリンクを介してパケットを転送する場合、両方向ともに同じリンクを使用すればフラディングの発生は抑制できる。しかし、トランク内で選択するリンクを両方向共に同一のリンクを使用するように固定的に設定すると、リンクに障害が発生した場合に正常なリンクを使用して通信を確保することが出来なくなる。
フラディングの発生を抑制するための1つの策として、リンクアグリゲーションを構成するリンクを収容する全てのラインユニットの学習テーブルを同じ内容にする方策がある。具体的には、所定のタイミングに学習用のパケットを各ラインユニットに転送する。(例えば、特許文献1参照。)しかしながら、学習用のパケットを転送することでパケット転送装置内の利用帯域が減少する問題があり、また学習用のパケットを生成するために装置を複雑化させてしまうことになる。
特開2005−86668号公報
リンクアグリゲーション機能を有したパケット転送装置において、トランクの設定されたリンクを介して2ユーザ(例えば、端末とサーバ。)間のパケットを転送する場合、端末からサーバへの方向のリンクとサーバから端末への方向のリンクとが異なる場合がある。そして、これらのリンクに関する学習テーブルが別々に管理されている場合、例えば端末からサーバ方向のリンクを収容するラインユニットとサーバから端末方向のリンクを収容するラインユニットとが別であり、これらのラインユニットで独立に学習テーブルが管理されている場合がある。この場合、フラディングによって学習された一部の学習データは、再学習されないためにエージングされる。そのために、再度、トランクの設定されたリンクを介してパケットを転送する場合にフラディングが発生することになる。
本発明は、リンクアグリゲーション機能を有したパケット転送装置のパケット転送において、フラディングを抑制するパケット転送装置、およびパケット転送方法を提供することを目的とする。
本発明の第一の態様は、接続される複数のリンクを束ねて1つのリンクとするトランクが設定され、パケットを宛先アドレスに応じて転送するパケット転送装置であって、該パケットの宛先ポートが、送信元アドレスの同じパケットを受信するポートとして該トランクを構成する1つのポートから他のポートに変更された場合に、該パケット転送装置内を転送するパケットに付加される装置内パケットヘッダを、該トランクの構成するポートに対する学習要求のための情報を該装置内パケットヘッダに備えるように生成する装置内パケットヘッダ生成手段と、該パケットの送信元アドレスと受信経路を学習する際に、または該装置内パケットヘッダの該学習要求のための情報に基づいて該学習をする際に、該パケットの受信するポートを識別する情報と、該ポートに接続するリンクのトランクを識別する情報と、該トランクで受信するパケットの受信経路が変更されたことを識別する情報とを学習する学習手段と、同じ送信元アドレスを有するパケットの受信経路が該トランク内で変更になった場合に、該送信元アドレスを宛先アドレスとする転送方向のパケットの送信において、該トランクを構成する複数のリンクから1つのリンクを選択して転送するパケット転送手段を備えることを特徴とするパケット転送装置である。
第一の態様によれば、リンクアグリゲーション機能を有したパケット転送装置において、パケットを転送するリンクが、トランクを構成するリンク間で変更になる場合がある。その場合に発生するフラディングを抑制するための学習を要求できるパケット転送装置を提供することが可能となる。
本発明の第の態様は、第一の態様に係るパケット転送装置であって、前記の同じ送信元アドレスを有するパケットの受信経路において前記のトランク内で変更になった回数が所定値以上であるか否かを示す情報を学習する学習手段と、該変更回数が所定値以上の場合に、該トランクを構成する複数のリンクから1つのリンクを選択して該パケットを転送するパケット転送手段と、該変更回数が所定値以上の場合に、該パケット転送装置内に該パケットに対する該学習を要求する学習要求手段を備えることを特徴とするパケット転送装置である。
の態様によれば、リンクアグリゲーション機能を有したパケット転送装置において、パケットを転送するリンクが、トランクを構成するリンク間で所定値以上の変更になる場合がある。その場合に発生するフラディングを抑制するための学習を要求できるパケット転送装置を提供することが可能となる。
本発明の第の態様は、接続される複数のリンクを束ねて1つのリンクとするトランクが設定され、パケットを宛先アドレスに応じて転送するパケット転送装置であって、複数のポートと学習テーブルとパケット転送処理部と学習要求部を有するラインユニットと、該トランクを構成する複数のリンクを設定するために該ラインユニットを制御する設定制御ユニットと、該ラインユニットと該設定制御ユニットのそれぞれを接続する装置内インタフェースユニットを備え、該学習テーブルは、該パケットの受信するポートを識別する情報と、該ポートに接続するリンクのトランクを識別する情報と、該トランクで受信するパケットの受信経路が変更されたことを識別する情報を学習した結果登録され、該パケット転送処理部は、該パケット転送装置内を転送するパケットに付加される装置内パケットヘッダを生成し、同じ送信元アドレスを有するパケットの受信経路が該トランク内で変更になった場合に、該送信元アドレスを宛先アドレスとする転送方向のパケットの送信において、該トランクを構成する複数のリンクから1つのリンクを選択して転送し、該学習要求部は、前記の同じ送信元アドレスを有するパケットの受信経路が該トランク内で変更になった場合に、該送信元アドレスを宛先アドレスとする転送方向のパケットに対する学習要求のための情報を該装置内パケットヘッダに、該ラインユニットは少なくとも1以上備えることを特徴とするパケット転送装置である。
の態様によれば、リンクアグリゲーション機能を有し、増設可能なラインユニットを有するパケット転送装置において、パケットを転送するリンクが、トランクを構成するリンク間で変更になる場合がある。その場合に発生するフラディングを抑制するために、関係するラインユニットのそれぞれの学習テーブルに対して学習を要求できるパケット転送装置を提供することが可能となる。
本発明の第の態様は、接続される複数のリンクを束ねて1つのリンクとするトランクが設定され、パケットを宛先アドレスに応じて転送するパケット転送装置のパケット転送方法であって、該パケットの送信元アドレスと受信経路を学習する際に、該パケットの受信するポートを識別する情報と、該ポートに接続するリンクのトランクを識別する情報と、該トランクで受信するパケットの受信経路が変更されたことを識別する情報とを学習するステップと、同じ送信元アドレスを有するパケットの受信経路が該トランク内で変更になった場合に、該送信元アドレスを宛先アドレスとする転送方向のパケットの送信において該トランクを構成する複数のリンクから1つのリンクを選択して転送するステップと、同じ送信元アドレスを有するパケットの受信経路が該トランク内で変更になった場合に、該パケット転送装置内を転送するパケットに付加される装置内パケットヘッダを、該送信元アドレスを宛先アドレスとする転送方向のパケットに対する学習要求のための情報を該装置内パケットヘッダに備えるように生成するステップを備えることを特徴とするパケット転送方法である。
の態様によれば、リンクアグリゲーション機能を有したパケット転送方法において、パケットを転送するリンクが、トランクを構成するリンク間で変更になる場合がある。その場合に発生するフラディングを抑制するための学習を要求できるパケット転送方法を提供することが可能となる。
本発明によれば、リンクアグリゲーション機能を有し、学習テーブルを有し増設可能なラインユニットを備えるパケット転送装置において、パケットを転送するリンクがトランクを構成するリンク間で変更になる場合がある。その場合に発生するフラディングを抑制するための学習を、関係するラインユニットに対して要求することが可能となる。
以降、図面を併用して本発明の詳細を説明する。なお、図面において同一のものまたは類似するものについては同一の符号を記載する。以降の実施例において、本発明に係るパケット転送装置がシャーシ型の構造を有するレイヤ2スイッチ(L2スイッチ)に適用された場合を例にして説明を行う。ただし、本発明に係るパケット転送装置はシャーシ型の構造を有するレイヤ2スイッチに限定されるものではない。
(実施例1)
図1はL2スイッチを説明するための図である。端末2はL2スイッチ1のラインユニット13のポートp1に、端末3はL2スイッチ1のラインユニット11のポートp2にそれぞれ接続している。サーバ4はL2スイッチ1のラインユニット11のポートp4とラインユニット12のポートp4に接続し、トランク番号50のトランクが設定されている。つまり、ラインユニット11のポートp4とラインユニット12のポートp4はリンクアグリゲーションを構成している。
図2はL2スイッチ1の構成例である。L2スイッチ1は、設定制御ユニット1C、ラインユニット11,12,13、およびバックワイヤリングボード(バックボード)1Bから構成される(ラインユニット10はラインユニット11,12,13を総称する場合に用いる。)。バックボード1Bはラインユニット10、設定制御ユニット1Cそれぞれを接続する。設定制御ユニット1Cは、CPU部1001、メモリ部1002、保守INF部1003で構成され、ラインユニット10への保守データの設定、ラインユニット10からの状態データの監視、ラインユニット10への状態遷移の制御を、バックボード1Bを介した信号を用いて行う。CPU部1001は、保守のための外部装置(図示せず。)から設定されるデータのラインユニット10への設定や、ラインユニット10の状態を監視するデータの処理を実行するための制御を行う。メモリ部1002は、CPU部1001が制御を行うための制御ソフトウェアや、ラインユニット10に設定するデータ、ラインユニット10の状態を監視したデータを格納する。保守INF部1003は、保守のための外部装置とのインタフェースを有し、各種の設定データ、監視データの送受信を行う。CPU部1001、メモリ部1002、保守INF部1003は、設定制御ユニット1C内にてそれぞれ接続され、設定制御ユニット1Cはバックボード1Bを介してラインユニット10のそれぞれと接続している。ラインユニット10はバックボード1Bを介して、転送されるパケットを他のラインユニット10に送受信する。ラインユニット10はL2スイッチ1に収容するリンク数やリンクの転送速度に応じて増設可能な構成となっている。
図3はラインユニット10の構成例である。ラインユニット10は4つのイーサネット(登録商標)のポートp1,p2,p3,p4を有している。そして、受信するフレームの正常性を監視する入力監視部111、フレームの転送先を決定し、ラインユニット間で受け渡しする情報で構成される装置内フレームヘッダをフレームに付加する入力フレーム転送部112、装置内フレームヘッダが付加されたフレームを他のラインユニットに送信する装置内信号送信部113、装置内フレームヘッダが付加されたフレームを受信して自ユニットに該当するフレームを判別する装置内信号受信部114、そして、受信したフレームに関する学習を行い、該当するポートにフレームを転送する出力フレーム転送部115を備えている。また、図6〜図10のそれぞれにおいて説明する学習テーブル201、トランク番号テーブル204、フラディング設定テーブル205、ポート状態テーブル202、トランク構成テーブル203を備えている。なお、このラインユニット10については、図6〜図10の説明の後で詳細に説明する。
図4はMACフレームフォーマットを説明する図である。MACフレーム(フレームと記す。)は、宛先を指定するための宛先MACアドレス(宛先アドレスと記す。)、送信元を指定する送信元MACアドレス(送信元アドレスと記す。)、伝送するデータのフィールドであるペイロード、フレームの伝送誤りを検出するためのFCS(frame check sequence)より構成される。
本実施例においては、端末2のアドレスを0A、端末3のアドレスを0B、サーバ4のアドレスを0Eとする。
図5は装置内フレームヘッダの構成例(1)である。装置内フレームヘッダは宛先のユニット識別子としての宛先ユニットビットマップ、トランク学習要求対象のユニット識別子としてのトランク学習要求ユニットビットマップ、出力ポート識別子としての宛先ポート番号、受信ユニット識別子としての受信ユニット番号、受信ポート識別子としての受信ポート番号、受信トランク識別子としての受信トランク番号から構成されている。宛先ユニットビットマップ、トランク学習要求ユニットビットマップはL2スイッチ1が備えるラインユニット10に応じたビットマップを構成している。すなわち、宛先ユニットビットマップは、そのビットの位置により、この装置内フレームヘッダが付加されたフレームの宛先ラインユニットを示す。トランク学習要求ユニットビットマップは、そのビットの位置により、この装置内フレームヘッダが付加されたフレームについて学習を行うことを要求するラインユニットを示す。それぞれのビットマップは該当するラインユニット10のビットに論理レベル“1”を設定することのより有意であることが示される。宛先ポート番号には、フレームの宛先ポートを設定する。全てのポートを対象とするフラディングの場合には“00”を設定する。なお、F51〜F56は、以降に説明する端末2とサーバ4間でのフレームの転送の手順に応じた場合の装置内フレームヘッダの具体的な状態を示している。
図6は学習テーブル201の構成例(1)である。学習テーブル201はラインユニット10毎に備えられており、送信元アドレス、ユニット番号、ポート番号、トランク番号、変更フラグから構成されている。つまり、受信したフレームの送信元アドレスに対して、そのフレームを受信したラインユニット10を識別するためのユニット番号と、そのフレームを受信したポートを識別するためのポート番号と、そのポートがリンクアグリゲーションを構成している場合には、そのリンクアグリゲーションを識別するためのトランク番号と、そしてそのトランクにおいて、同一の送信元アドレスのフレームを受信するポートが変更になった回数が閾値以上になった場合に論理レベル“1”に設定される変更フラグとから構成されている。なお、F61〜F64は、以降に説明する端末2とサーバ4間でのフレームの転送の手順に応じた場合の学習テーブル201の具体的な内容を示している。
図7はトランク番号テーブル204の構成例である。トランク番号テーブル204は、ラインユニット10毎に備えられており、入力監視部111が、フレームを受信したポートがリンクアグリゲーションを構成しているか否かを判定するために用い、また、リンクアグリゲーションを構成している場合には、そのリンクアグリゲーションを識別するためのトランク番号を参照するために用いるテーブルである。具体的には、該当するラインユニット10が有しているポート毎に、そのポートがリンクアグリゲーションを構成しているか否かと、リンクアグリゲーションを構成しているときにはそのトランク番号を示すものである。図1に示す本実施例の場合、ラインユニット11のポートp4とラインユニット12のポートp4にトランク番号50のリンクアグリゲーションが設定されているので、ラインユニット11のp4とラインユニット12のp4にはトランク番号50が登録されており、その他のポートはリンクアグリゲーションを構成していないことを示す“0”が設定されている。
図8はフラディング設定テーブル205の構成例である。フラディング設定テーブル205はラインユニット10毎に備えられており、出力フレーム転送部115がフレームをフラディングするポートを決定するために参照するテーブルである。リンクアグリゲーションが設定されているポート以外のポートには論理レベル“1”が設定されており、フラディング時にフレームを送出するポートであることを示している。リンクアグリゲーションが設定されているポートにおいては、そのポートのうちの1つのポートにのみ論理レベル“1”が設定され、フラディング時にフレームを送出するポートであることを示している。そして、リンクアグリゲーションが設定されているその他のポートには論理レベル“0”が設定され、フラディング時にフレームを送出しないポートであることが示される。このテーブルを参照してフラディング対象のポートを決定することにより、リンクアグリゲーションを構成するポートのうち、1つのポートからのみフラディング対象のフレームが送出され、対向する装置で重複してフラディング対象のフレームを受信することが回避できる。本実施例では、ラインユニット11のポートp4とラインユニット12のポートp4に同一トランク番号を有するリンクアグリゲーションが設定されており、図8に示すようにラインユニット11のポートp4にフラディング対象のフレームを転送し、ラインユニット12のポートp4にはフレームが転送されないように設定されている。
図9はポート状態テーブル202の構成例である。ポート状態テーブル202はラインユニット10毎に備えられており、入力フレーム転送部112が、フレームの転送先(宛先)のポートにリンクアグリゲーションが設定されているか否かを判定するために用い、また、リンクアグリゲーションが設定されている場合には、その転送先のポートに接続されているリンクが使用可能か否かを判定するために参照するテーブルである。ポート状態テーブル202はユニット番号、ポート番号、そしてポート状態から構成される。ポート状態テーブル202においては、リンクアグリゲーションが設定されていないポートには“1111”、リンクアグリゲーションが設定されポートの状態が正常なポートには“0000”、そしてリンクアグリゲーションが設定されポートの状態が異常なポートには“0001”が設定される。本実施例の場合、ラインユニット11(U1)のポートp4とラインユニット12(U2)のポートp4はリンクアグリゲーションを構成し、共にそのポートは正常であることを設定している。
図10はトランク構成テーブル203の構成例である。トランク構成テーブル203はラインユニット10毎に備えられており、入力フレーム転送部112が、フレームの転送先(宛先)のポートがリンクアグリゲーションを構成している場合に、そのリンクアグリゲーションを構成するポートを認識するために参照するテーブルである。トランク構成テーブル203にはリンクアグリゲーションの識別子としてのトランク番号に対応して、そのリンクアグリゲーションを構成するポート数と、リンクアグリゲーションを構成するポートの位置情報つまりユニット番号とポート番号の組とが登録されている。本実施例の場合、トランク番号50を構成するポート数は2、リンクアグリゲーションを構成するポートはラインユニット11のポートp4(U1p4)とラインユニット12のポートp4(U2p4)であることを設定している。
図3に示したラインユニット10について詳細に説明する。
例えば、ポートp1で受信されたフレームは入力監視部111にて終端される。入力監視部111はフレームの正常性を監視し、異常ならば受信したフレームを廃棄する。受信したフレームが正常ならば、入力監視部111は以下の処理を行う。
入力監視部111は、図7に示したトランク番号テーブル204を、つまり該当するポートに対応するテーブルの値を参照する。テーブルの値が“0”の場合は、該当するポートがリンクアグリゲーションを構成していない場合なので、図5に示した装置内フレームヘッダの受信トランク番号に“00”を設定し、また、テーブルの値が“0”以外の場合は、該当するポートがリンクアグリゲーションを構成している場合であり、テーブルの値がトランク番号なので、受信トランク番号にそのトランク番号を設定する。
入力監視部111は、自ラインユニットを識別するユニット番号と、フレームを受信したポートを識別するポート番号と、上記のトランク番号を、装置内フレームヘッダの受信ユニット番号と、受信ポート番号と、受信トランク番号のそれぞれに設定し、その装置内フレームヘッダを受信したフレームに付加し、入力フレーム転送部112へ送出する。
入力フレーム転送部112は、装置内フレームヘッダが付加されたフレームを受信すると、図6に示した学習テーブル201の送信元アドレスを、受信したフレームの宛先MAC(media access control)アドレス(宛先アドレス)に基づいて検索し、該当するユニット番号、ポート番号、トランク番号、変更フラグを参照する。そして、図9に示したポート状態テーブル202において、付加された装置内フレームヘッダのユニット番号、ポート番号に対応するポート状態を参照する。そして、図10に示したトランク構成テーブル203において、学習テーブル201で参照したトランク番号が構成するポート番号を参照する。
入力フレーム転送部112は、上記にて学習テーブル201にて参照したユニット番号、ポート番号のそれぞれを、受信したフレームに付加されていた装置内フレームヘッダの宛先ユニットビットマップ、宛先ポート番号に設定し、フレームに付加して装置内信号送信部113へ送出する。
装置内信号送信部113は、入力フレーム転送部112からの装置内フレームヘッダが付加されたフレームをバックボード1Bへ送出する。
装置内信号受信部114は、バックボード1Bからの装置内フレームヘッダが付加されたフレームを受信する。受信した装置内フレームヘッダの宛先ユニットビットマップを参照し、ラインユニット番号の自ユニットに相当するビットが論理レベル“1”である場合には、そのフレームを出力フレーム転送部115へ転送する。また、そのビットが論理レベル“0”である場合にはそのフレームを廃棄する。
出力フレーム転送部115は、転送されてきたフレームの送信元アドレスについて学習テーブル201を検索し、学習を実施する。ここでの学習とは、フレームに含まれる送信元アドレスと、そのフレームを受信したポートとの対応を記憶することである。出力フレーム転送部115は、転送されてきたフレームの宛先アドレスを検索キーとして学習テーブル201を検索し、その結果、フラディングが必要な場合、フラディング設定テーブル205に基づいて該当するポートにフレームを転送する。
なお、ポート状態テーブル202、トランク構成テーブル203、トランク番号テーブル204、フラディング設定テーブル205は、図2で説明した設定制御ユニット1Cによって制御されテーブル内容が設定される。
図11はL2スイッチ1がフレームを受信処理する手順を示すフローチャートである。本図には、L2スイッチ1がポートを介してフレームを受信し、入力監視部111、入力フレーム転送部112で処理し、装置内信号送信部113を介してバックボード1Bへ装置内フレームヘッダが付加されたフレームを転送する処理について記載している。
S10. 受信したフレームの正常性を確認する。
S101. 受信したフレームが異常ならばその受信したフレームを廃棄する。
S11. ステップS10にて受信したフレームが正常な場合である。
フレームを受信したポートを有するユニット番号とそのポート番号とを、受信ユニット番号と受信ポート番号のそれぞれにした装置内フレームヘッダを作成する。そして、そのポートがリンクアグリゲーションを構成しているポートか否かについて、自ユニットのトランク番号テーブル204を参照する。そのポートがリンクアグリゲーションを構成しているポートならば、つまりトランク番号テーブル204の該当するポートに“0”以外の有意なトランク番号が設定されているならば、そのポートのトランク番号を受信トランク番号にし、そのポートがリンクアグリゲーションを構成していないポートならば、つまりトランク番号テーブル204の該当するポートに“0”が設定されているならば、識別子として、例えば“00”を受信トランク番号にした装置内フレームヘッダを作成する。
S12. 受信したフレームの宛先アドレスを参照し、宛先が1つであるユニキャストであるのか、複数へ同報するマルチキャストまたはブロードキャストであるのかを判断する。
S13. 受信したフレームの宛先アドレスを検索キーとして学習テーブル201を検索する。
S14. ステップS12において、受信したフレームがマルチキャストまたはブロードキャストであると判断された場合、またはステップS13において、受信したフレームに対して学習テーブル201を検索した結果、受信したフレームの宛先アドレスがヒットしなかった場合である。
受信したフレームをフラディングすべきであることを装置内フレームヘッダに設定する。装置内フレームヘッダの宛先ポート番号を“00”に設定し、L2スイッチ1が実装している全てのラインユニットに該当する宛先ユニットビットマップのビットに“1”を設定する。
S15. ステップS13において、受信したフレームに対して学習テーブル201を検索した結果、受信したフレームの宛先アドレスがヒットした場合である。
学習テーブル201に登録されているトランク番号を参照し、学習テーブル201にトランク番号が学習されているかを判断する。つまり、トランク番号が登録されているか、未登録を示す“00”が登録されているかを判断する。
S16. ステップS15において、学習テーブル201にトランク番号が登録されていた場合、つまり受信したフレームの宛先へのポートがリンクアグリゲーションを構成しているポートである場合である。
学習テーブル201に登録されている変更フラグを参照し、宛先へのポートが、同一の送信元アドレスからのフレームを受信するポートとして、リンクアグリゲーションを構成するポート内で移動したか否か、つまり変更フラグが論理レベル“1”であるか否かを判断する。
S17. ステップS16において、該当するトランクの変更フラグが論理レベル“0”の場合である。つまり、宛先へのポートが、同一の送信元アドレスからのフレームを受信するポートとして、リンクアグリゲーションを構成するポート内で移動していない場合である。
ポート状態テーブル202を参照して、宛先へのポートがリンクアグリゲーションの対象であるのか否かを、リンクアグリゲーションの対象であった場合にそのポートが使用可能な状態であるのか否かを判断する。
S18. ステップS15において、受信したフレームの宛先のポートがリンクアグリゲーションを構成していないポートである場合、またはステップS17において、宛先へのポートが使用可能な状態、つまりリンクアグリゲーションを構成していないポートである、またはリンクアグリゲーションを構成していて使用可能な場合である。
ステップS11で作成した装置内フレームヘッダに追加して、学習テーブル201に登録されていたユニット番号とポート番号とを、装置内フレームヘッダの宛先ユニットビットマップと宛先ポート番号とにそれぞれ設定した装置内フレームヘッダを作成し、フレームに付加して、バックボード1Bへ送出する。
S19. ステップS16において、該当するトランクの変更フラグが論理レベル“1”の場合、またはステップS17において、宛先へのポートが使用不可能な状態、つまりリンクアグリゲーションを構成しているが宛先のポートが使用不可能な場合である。
トランク構成テーブル203を参照して、ステップS15にて参照したトランク番号に対応するリンクアグリゲーションを構成しているポートの中から宛先とするポートを選択し、そのユニット番号とポート番号とを、装置内フレームヘッダの宛先ユニットビットマップと宛先ポート番号とにそれぞれ設定した装置内フレームヘッダを作成する。
S20. トランク構成テーブル203を参照して、該当するトランクに対応するリンクアグリゲーションを構成しているポートを有する全てのラインユニットを求め、装置内フレームヘッダのトランク学習要求ユニットビットマップの該当するビットに論理レベル“1”を設定した装置内フレームヘッダを作成する。そして、ステップS11で作成した装置内フレームヘッダに、ステップS19で作成した宛先ユニットビットマップと宛先ポート番号と、本ステップで作成したトランク学習要求ユニットビットマップを設定した装置内フレームヘッダを作成し、フレームに付加して、バックボード1Bへ送出する。
図12はL2スイッチ1がフレームを送信処理する手順を示すフローチャートである。本図には、L2スイッチ1がバックボード1Bからの装置内フレームヘッダが付加されたフレームを装置内信号受信部114で受信し、出力フレーム転送部115で処理しポートを介してフレームを転送する処理について記載している。
S30. バックボード1Bからの装置内フレームヘッダが付加されたフレームを受信する。
S31. 受信した装置内フレームヘッダの宛先ユニットビットマップに基づいて、受信したフレームが自ラインユニット宛かを判断する。または、受信した装置内フレームヘッダのトランク学習要求ユニットビットマップに基づいて、自ラインユニットへの学習要求かを判断する。
S32. ステップS31において、受信した装置内フレームヘッダの付加されたフレームが自ラインユニット宛でない場合である。
受信した装置内フレームヘッダの付加されたフレームを廃棄する。
S33. ステップS31において、受信した装置内フレームヘッダの付加されたフレームが自ラインユニット宛の場合である。
後で説明する図13で示す学習処理を実施する。
S34. ステップS31において、受信した装置内フレームヘッダの宛先ユニットビットマップに基づいて、受信したフレームが自ラインユニット宛で、ステップS33の学習処理を実施した場合である。
装置内フレームヘッダの宛先ポート番号が特定のポート番号を示しているかを判断する。つまり、宛先ポート番号が“00”か、特定のポートを示すポート番号かを判断する。
S35. ステップS34において、装置内フレームヘッダの宛先ポート番号が、特定のポートを示すポート番号の場合である。
宛先ポート番号のポートのみにフレームを送出する。
S36. ステップS34において、装置内フレームヘッダの宛先ポート番号が“00”、つまりフラディング送信指示の場合である。
フラディング設定テーブル205で論理レベル“1”が設定されているポートの全てにフレームを送出する。
なお、ステップS35、S36において、フレームに付加された装置内フレームヘッダはそれぞれのステップにて廃棄される。
図13はL2スイッチ1が学習処理する手順を示すフローチャートである。本図には、図12のフレーム送信処理において行う学習処理について記載している。
S331. フレームの送信元アドレスを検索キーとして学習テーブル201を検索する。
S332. ステップS331において、フレームの送信元アドレスに対する学習が行われていない場合である。つまり、学習テーブル201にフレームの送信元アドレスに対するデータが登録されていない場合である。
この送信元アドレスに基づいて、装置内フレームヘッダの受信ユニット番号、受信ポート番号、受信トランク番号を学習テーブル201のユニット番号、ポート番号、トランク番号のそれぞれに登録する。
S334. ステップS331において、フレームの送信元アドレスに対する学習が行われている場合である。
この送信元アドレスに基づいて、学習されているデータを読出し、学習テーブル201に登録されていたトランク番号と装置内フレームヘッダの受信トランク番号が同じか否かを判断する。
S335. ステップS334において、学習テーブル201に登録されていたトランク番号と装置内フレームヘッダの受信トランク番号が異なる場合、またはトランク番号が未登録を示す“00”である場合である。
この送信元アドレスに基づいて、学習テーブル201に登録されていたデータ(ユニット番号、ポート番号、トランク番号)を、装置内フレームヘッダの受信ユニット番号、受信ポート番号、受信トランク番号に更新する。つまり、再学習を行う。
S336. ステップS334において、学習テーブル201に登録されていたトランク番号と装置内フレームヘッダの受信トランク番号が同じ場合である。
この送信元アドレスに基づいて、学習テーブル201に登録されていたユニット番号、ポート番号と、装置内フレームヘッダの受信ユニット番号、受信ポート番号のそれぞれが同じか否かを判断する。
S337. ステップS336において、学習テーブル201に登録されていたユニット番号、ポート番号と装置内フレームヘッダの受信ユニット番号、受信ポート番号のそれぞれが同じ場合である。
この送信元アドレスに基づいて、学習テーブル201に登録されていたデータ(ユニット番号、ポート番号、トランク番号)に、装置内フレームヘッダの受信ユニット番号、受信ポート番号、受信トランク番号を上書きする。つまり、再学習を行う。
S338. ステップS336において、学習テーブル201に登録されていたユニット番号、ポート番号と装置内フレームヘッダの受信ユニット番号、受信ポート番号のいずれかが異なる場合である。
この送信元アドレスに基づいて、学習テーブル201に登録されていたデータ(ユニット番号、ポート番号、トランク番号)を、装置内フレームヘッダの受信ユニット番号、受信ポート番号、受信トランク番号に更新する。
S339. ステップS336にて、学習テーブル201に登録されていたユニット番号、ポート番号と装置内フレームヘッダの受信ユニット番号、受信ポート番号のいずれかが異なる場合とは、同一の送信元アドレスからのフレームの受信が、同一のトランク内において異なるポートに変更になったので、この変更回数を、トランク番号ごとに有する監視カウンタ(図示せず。)にてカウントアップして、この計数値が所定の値を超えた場合に、上記の送信元アドレスに基づいて、学習テーブル201の該当する変更フラグを論理レベル“1”に設定する。
つまり、ステップS338、S339によって再学習を行う。
以降、図11〜図13を用いて、端末2とサーバ4間でのフレームの転送について次のように順を追って説明する。
(1)L2スイッチ1が端末2からブロードキャストアドレスを宛先アドレスに持つフレームを受信する動作。
(2)L2スイッチ1が前記(1)のフレームを送信する動作。
(3)L2スイッチ1がサーバ4から端末2宛のユニキャストのフレームを受信する動作。
(4)L2スイッチ1が前記(3)のフレームを端末2へ送信する動作。
(5)L2スイッチ1が端末2からサーバ4宛のユニキャストのフレームを受信する動作。
(6)L2スイッチ1が前記(5)のフレームをサーバ4へ送信する動作。
(7)L2スイッチ1が再度サーバ4から端末2宛のユニキャストのフレームを受信する場合であり、前記(3)とは異なるリンクを介してフレームを受信する動作。
(8)L2スイッチ1が前記(7)のフレームを端末2へ送信する動作。
前記(7)、(8)のそれぞれの動作において、宛先アドレスに関するデータが登録されている場合(第1例)の動作と、宛先アドレスに関するデータがエージングされている場合(第2例)の動作を説明する。
(9)L2スイッチ1が再度端末2からサーバ4宛のユニキャストのフレームを受信する動作。
(10)L2スイッチ1が前記(9)のフレームをサーバ4へ送信する動作。
(1)
L2スイッチ1が端末2からブロードキャストアドレスを宛先アドレスに持つ正常なフレームを、ラインユニット13のポートp1にて受信する動作について図11を参照して説明する。
S10. ラインユニット13の入力監視部111は受信したフレームの正常性を確認する。
S11. 入力監視部111は、この正常なフレームを受信したポートがリンクアグリゲーションを構成しているか否かについて、自ユニット(ラインユニット13)のトランク番号テーブル204を参照する。このポートp1はリンクアグリゲーションを構成していないポートなので、受信ユニット番号、受信ポート番号、受信トランク番号のそれぞれを、“U3”、“p1”、“00”に設定した装置内フレームヘッダを作成する。
この装置内フレームヘッダは受信したフレームに付加されて入力フレーム転送部112へ転送される。
S12. 入力フレーム転送部112はフレームの宛先アドレスを参照する。本動作説明において、宛先アドレスはブロードキャストアドレスであるので、ステップS14を実行する。
S14. 入力フレーム転送部112はフレームをフラディングすべきであることを設定する。つまり、装置内フレームヘッダの宛先ポート番号にフラディングを示す“00”を設定し、宛先ユニットビットマップには、L2スイッチ1に実装されている全てのラインユニット10に応じたビットに論理レベル“1”を設定する。また、トランク学習要求ユニットビットマップには、該当するユニットがないので、つまりポートからバックボード方向へ転送する装置内フレームヘッダにおいては、このトランク学習要求ユニットビットマップは使用されないので、全てのビットに論理レベル“0”を設定する。図5では“−”と記載している。なお、L2スイッチ1は、実装しているラインユニット10の情報を有する実装テーブル(図示せず。)を備え、入力フレーム転送部112がそれを参照する。入力フレーム転送部112は、入力監視部111で作成され、付加された装置内フレームヘッダを上記のように更新して、装置内信号送信部113を介してバックボード1Bへ転送する。例えば、装置内フレームヘッダの後にフレームを付加して転送する。
バックボード1Bに転送された、装置内フレームヘッダが付加されたフレームは、実装されている全てのラインユニット10に送出される。この場合の装置内フレームヘッダを図5の具体例F51に示す。
(2)
次に、前記(1)にてL2スイッチ1が受信した端末2からブロードキャストアドレスを宛先アドレスに持つフレームを送信する動作について図12、図13を参照して説明する。
本動作説明において、ブロードキャストフレームであるため、実装されている全てのラインユニット10において、以降の処理を実施する。
但し、該当するラインユニット10の学習テーブル201において、端末2を送信元アドレスとする学習は行われていないことを前提とする。
S30. ラインユニット10の装置内信号受信部114は、装置内フレームヘッダ(図5のF51)が付加されたフレームを受信する。
S31. 装置内信号受信部114は、装置内フレームヘッダの宛先ユニットビットマップに基づいて、受信したフレームが自ラインユニット宛かを判断する。なお、装置内信号受信部114は前記の実装テーブル(図示せず。)に基づいて自ラインユニット番号を予め認識している。本動作説明において、装置内フレームヘッダの宛先ユニットビットマップには、実装されている全てのラインユニット10に対応するビットは論理レベル“1”であるので、ステップS33を実行する。
S33. 出力フレーム転送部115はフレームの送信元アドレス、装置内フレームヘッダの受信ユニット番号と受信ポート番号を学習テーブル201に登録する。この処理を学習と言う。
ステップS33について図13を参照して説明する。
S331. 出力フレーム転送部115は、フレームの送信元アドレスに基づいて学習テーブル201を検索する。
S332. ステップS331において検索の結果、フレームの送信元アドレスに対する学習が行われていなかった場合である。出力フレーム転送部115は、フレームの送信元アドレス“0A”、装置内フレームヘッダの受信ユニット番号“U3”、受信ポート番号“p1”、受信トランク番号“00”を、学習テーブル201の送信元アドレス、ユニット番号、ポート番号、トランク番号のそれぞれに登録する。図6にこの学習テーブルの登録内容F61を示す。この学習テーブルの内容は実装されている全てのラインユニット10の学習テーブル201においても登録される。
以降、図12を参照して説明する。
S34. 出力フレーム転送部115は、装置内フレームヘッダの宛先ポート番号を参照する。宛先ポート番号が、フラディングを示す“00”であるか、“00”以外の特定のポート番号であるかを判断する。本動作説明において、ステップS14にて宛先ポート番号は“00”に設定されており、フラディングを示している。
S36. 出力フレーム転送部115はフラディング設定テーブル205を参照し、“1”が設定されているポートにフレームを送出する。本動作説明において、フレームはラインユニット12のポートp4を除く全てのポートから送出され、サーバ4へはラインユニット11のポートp4から送出される。
(3)
次に、L2スイッチ1がサーバ4から端末2宛のユニキャストのフレームを受信する動作について図11を参照して説明する。本動作説明において、フレームの送信元アドレスは0E、宛先アドレスは0Aである。
サーバ4では2つのNIC(network interface card)を用い、2つの物理ポートによりリンク冗長が構成されており、端末2宛のフレームをどちらのNICを使って送信するかはサーバ4の処理に委ねられている。本動作説明において、ラインユニット12のポートp4に向けて送信する。
S10. ラインユニット12の入力監視部111は受信したフレームの正常性を確認する。
S11. 入力監視部111は、この正常なフレームを受信したポートがリンクアグリゲーションを構成しているか否かについて、自ユニット(ラインユニット12)のトランク番号テーブル204を参照する。このポートp4はリンクアグリゲーションを構成しているポートでありトランク番号は50である。よって、受信ユニット番号、受信ポート番号、受信トランク番号のそれぞれを、“U2”、“p4”、“50”に設定した装置内フレームヘッダを作成する。
S12. 入力フレーム転送部112はこのフレームの宛先アドレスを参照する。本動作説明において、宛先アドレスは0Aであり、ユニキャストであるのでステップS13を実行する。
S13. 入力フレーム転送部112は、このフレームの宛先アドレス0Aに基づいて学習テーブル201を検索する。本動作説明において、このフレームの宛先アドレス0Aに関するデータは、前記(1)のステップS332の処理によって、実装されている全てのラインユニット10の学習テーブル201に登録されている。よって、ステップS15を実行する。なお、学習テーブル201を検索した結果、ヒットしたデータは図6のF61になる。
S15. 入力フレーム転送部112は、学習データの登録されているトランク番号を参照し、トランク番号が登録されているかを判断する。つまり、トランク番号が“00”ならば未登録であり、“00”以外の有意な値ならば登録されているトランク番号である。本動作説明において、学習テーブル201の登録内容は図6のF61であり、トランク番号は登録されていない。よって、ステップS18を実行する。
S18. 入力フレーム転送部112は、このフレームを、ステップS13でヒットしたデータ(図6のF61)に基づいて作成した装置内フレームヘッダに付加して、装置内信号送信部113を介してバックボード1Bへ転送する。本動作説明において、装置内フレームヘッダは、ステップS13で送信元アドレス“0A”に対してヒットした学習データのユニット番号“U3”、ポート番号“p1”に基づいて作成され、図5のF52に示すように、宛先ユニットビットマップはラインユニット13が論理レベル“1”、宛先ポート番号は“p1”、受信ユニット番号は“U2”、受信ポート番号は“p4”、受信トランク番号は“50”となる。
(4)
次に、前記(3)にてL2スイッチ1が受信したサーバ4から端末2へのユニキャストフレームを端末2へ送信する動作について図12、図13を参照して説明する。
但し、該当するラインユニット13の学習テーブル201において、サーバ4を送信元アドレスとする学習は行われていないことを前提とする。
S30. ラインユニット13の装置内信号受信部114は、前記(3)のステップS18で作成された装置内フレームヘッダ(図5のF52)が付加されたフレームを受信する。
S31. 装置内信号受信部114は、装置内フレームヘッダの宛先ユニットビットマップに基づいて、受信したフレームが自ラインユニット宛かを判断する。本動作説明において、宛先のラインユニットはラインユニット13であるので、ラインユニット11,12ではステップS32の処理によってこのフレームは廃棄される。
S33. 本動作説明において、ラインユニット13において以降の処理が実施される。
出力フレーム転送部115はフレームの送信元アドレス、装置内フレームヘッダの受信ユニット番号、受信ポート番号、そして受信トランク番号を学習テーブル201に登録する。
ステップS33について図13を参照して説明する。
S331. ラインユニット13の出力フレーム転送部115は受信したフレームの送信元アドレスに基づいて学習テーブル201を検索する。
S332. ステップS331の検索の結果、受信したフレームの送信元アドレスに対する学習が行われていなかった場合である。出力フレーム転送部115はフレームの送信元アドレス“0E”、装置内フレームヘッダの受信ユニット番号“U2”、受信ポート番号“p4”、そして受信トランク番号“50”を学習テーブル201に登録する。図6にこの学習テーブルの登録内容F62を示す。この学習に関する処理はラインユニット13だけで実施される。
以降、図12を参照して説明する。
S34. ラインユニット13の出力フレーム転送部115は装置内フレームヘッダの宛先ポート番号を参照する。宛先ポート番号が、フラディングを示す“00”であるか、“00”以外の特定のポート番号であるかを判断する。本動作説明において、前記(3)のステップS18にて宛先ポート番号は特定のポートである“p1”に設定されている。
S35. 出力フレーム転送部115は、ポートp1を介してこのフレームを転送し、その結果、このフレームは端末2に到達する。なお、フレームをポートから送出するときには、フレームに付加されていた装置内フレームヘッダは削除される。
(5)
次に、L2スイッチ1が端末2からサーバ4宛のユニキャストアドレスのフレームを受信する動作について図11を参照して説明する。この場合のフレームの送信元アドレスは0A、宛先アドレスは0Eである。
なお、この段階において、ラインユニット11の学習テーブル201には図6のF61が、ラインユニット12の学習テーブル201には図6のF61が、そしてラインユニット13の学習テーブル201には図6のF61とF62が、それぞれ登録されている。
S10. ラインユニット13の入力監視部111は受信したフレームの正常性を確認する。
S11. 入力監視部111は、この正常なフレームを受信したポートがリンクアグリゲーションを構成しているか否かについて、自ユニット(ラインユニット13)のトランク番号テーブル204を参照する。このポートp1はリンクアグリゲーションを構成していないポートなので、受信ユニット番号、受信ポート番号、受信トランク番号のそれぞれを、“U3”、“p1”、“00”に設定した装置内フレームヘッダを作成する。
この装置内フレームヘッダは受信したフレームに付加されて入力フレーム転送部112へ転送される。
S12. 入力フレーム転送部112はこのフレームの宛先アドレスを参照する。この場合、宛先アドレスは0Eであり、ユニキャストであるのでステップS13を実行する。
S13. 入力フレーム転送部112は、このフレームの宛先アドレス0Eに基づいて学習テーブル201を検索する。本動作説明において、このフレームの宛先アドレス0Eに関するデータは、前記(4)のステップS332の処理によって、ラインユニット13の学習テーブル201に登録されている。登録内容は図6のF61とF62である。
S15. 入力フレーム転送部112は、登録されている学習データ(F62)を参照し、トランク番号が登録されているかを判断する。つまり、トランク番号が“00”ならば未登録であり、“00”以外の有意な値ならば登録されているトランク番号である。本動作説明において、学習テーブル201の登録内容は図6のF62であり、自ラインユニットの学習テーブルに学習データが登録されている場合であり、かつトランク番号は登録されている。
S16. 入力フレーム転送部112は、登録されている学習データを参照し、変更フラグがリンクアグリゲーションの受信ポートの変更を示しているか否か、つまり変更フラグが論理レベル“1”であるか否かを判断する。本動作説明において、学習テーブル201の登録内容は図6のF62であり、変更フラグは論理レベル“0”であり、リンクアグリゲーションの受信ポートに変更があったことを示していない。
S17. 入力フレーム転送部112は、ポート毎にリンクアグリゲーションの対象であるのか、リンクアグリゲーションの対象であった場合にそのポートが使用可能な状態であるのかを示すポート状態テーブル202を参照し、ステップS13において検索したポート(ユニット番号がU1、ポート番号がp4)の状態を判断する。本動作説明において、このポートp4はリンクアグリゲーションが設定され、ポートの状態は正常であるのでステップS18を実行する。
S18. 本動作説明において、入力フレーム転送部112は、ステップS13でヒットしたデータ(図6のF62)により、サーバ4からL2スイッチ1へのリンクは、ラインユニット12のポートp4へのリンクであることを判断する。そしてL2スイッチ1を用いたシステムの信頼性向上のために、同一トランク内の異なるリンクを用いてサーバ4へフレームを転送することとし、図10のトランク構成テーブル203を参照して他のポート“U1p4”(ラインユニット11のポートp4)を選択する。入力フレーム転送部112は、これに基づいて作成した装置内フレームヘッダにフレームを付加して、装置内信号送信部113を介してバックボード1Bへ転送する。本動作説明において、装置内フレームヘッダは、図5のF53に示すように、宛先ユニットビットマップはラインユニット11が論理レベル“1”、宛先ポート番号は“p4”、受信ユニット番号は“U3”、受信ポート番号は“p1”、受信トランク番号は“00”となる。
(6)
次に、前記(5)にてL2スイッチ1が受信した端末2からユニキャストアドレスを宛先アドレスに持つフレームをサーバ4へ送信する動作について図12、図13を参照して説明する。
S30. ラインユニット11の装置内信号受信部114は、前記(5)のステップS18で作成された装置内フレームヘッダが付加されたフレームを受信する。
S31. 装置内信号受信部114は、装置内フレームヘッダの宛先ユニットビットマップに基づいて、受信したフレームが自ラインユニット宛かを判断する。本動作説明において、宛先のラインユニットはラインユニット11であるので、ラインユニット12,13ではステップS32の処理によってこのフレームは廃棄される。
S33. 本動作説明において、ラインユニット11において以降の処理が実施される。出力フレーム転送部115はフレームの送信元アドレス、装置内フレームヘッダの受信ユニット番号、受信ポート番号、そして受信トランク番号を学習テーブル201に登録する。
ステップS33について図13を参照して説明する。
S331. ラインユニット11の出力フレーム転送部115は受信したフレームの送信元アドレスに基づいて学習テーブル201を検索する。本動作説明において、受信したフレームの送信元アドレスはOAであり、学習テーブル201に図6の登録内容F61が存在するので、テーブル検索にヒットする。
S334. 出力フレーム転送部115は、学習テーブル201に登録されていたトランク番号(図6のF61におけるトランク番号“00”)と、ステップS30で受信した装置内フレームヘッダのトランク番号(図5のF53における受信トランク番号“00”)が等しいかを判断する。本動作説明において、学習テーブル201にトランク番号は“00”(未登録)であり、リンクアグリゲーションが構成されていないため、ステップS335を実行する。
S335. 出力フレーム転送部115は、学習テーブル201の該当する送信元アドレスに対応するユニット番号、ポート番号、トランク番号を上書きする。よって、学習テーブル201の送信元アドレスOAに対応する登録内容は図6のF61のままとする再学習が行われる。
以降、図12を参照して説明する。
S34. ラインユニット11の出力フレーム転送部115は装置内フレームヘッダの宛先ポート番号を参照する。宛先ポート番号が、フラディングを示す“00”であるか、“00”以外の特定のポート番号であるかを判断する。本動作説明において、前記(5)のステップS18にて宛先ポート番号は特定のポートである“p4”に設定されている。
S35. 出力フレーム転送部115は、ポートp4を介してこのフレームをサーバ4に向けて転送する。
(7)
次に、L2スイッチ1が再度サーバ4から端末2宛のユニキャストのフレームを受信する動作について図11を参照して説明する。この場合のフレームの送信元アドレスは0E、宛先アドレスは0Aである。
サーバ4では2つのNIC(network interface card)を用い、2つの物理ポートによりリンク冗長が構成されており、端末2宛のフレームをどちらのNICを使って送信するかはサーバ4の処理に委ねられている。本動作説明において、前回(前記の(3)に記載。)とは異なるようにラインユニット11のポートp4に向けて送信する。
S10. ラインユニット11の入力監視部111は受信したフレームの正常性を確認する。
S11. 入力監視部111は、この正常なフレームを受信したポートがリンクアグリゲーションを構成しているか否かについて、自ユニット(ラインユニット11)のトランク番号テーブル204を参照する。このポートP4はリンクアグリゲーションを構成しているポートであり、トランク番号50である。よって、受信ユニット番号、受信ポート番号、受信トランク番号のそれぞれを“U1”、“p4”、“50”に設定した装置内フレームヘッダを作成する。
S12. 入力フレーム転送部112はこのフレームの宛先アドレスを参照する。本動作説明において、宛先アドレスは0Aであり、ユニキャストであるのでステップS13を実行する。
S13. 入力フレーム転送部112は、このフレームの宛先アドレス0Aに基づいて学習テーブル201を検索する。
本動作説明において、以降のステップについて下記の2例(第1例と第2例)について説明する。
第1例は、前記(2)のステップS332の処理によって、このフレームの宛先アドレス0Aに関するデータが、ラインユニット11の学習テーブル201に登録されている場合である。
第2例は、ラインユニット11の学習テーブル201において、このフレームの宛先アドレス0Aに関するデータが、エージングされている場合である。
(第1例)
S15. ステップS13において、学習テーブル201の検索の結果、検索対象が登録されている場合である。入力フレーム転送部112は、学習テーブル201の該当するエントリのトランク番号を参照し、トランク番号が登録されているか否かを判断する。本動作説明において、学習テーブル201の登録内容は図6のF61であり、トランク番号は“00”であるので、トランク番号は登録されていない。
S18. 入力フレーム転送部112は、このフレームを、ステップS13でヒットしたデータ(図6のF61)に基づいて作成した装置内フレームヘッダに付加して、装置内信号送信部113を介してバックボード1Bへ転送する。この場合の装置内フレームヘッダは、図5のF54に示すように、宛先ユニットビットマップはラインユニット13が論理レベル“1”、宛先ポート番号は“p1”、受信ユニット番号は“U1”、受信ポート番号は“p4”、受信トランク番号は“50”となる。
(第2例)
S14. ステップS13において、学習テーブル201に宛先アドレス0Aに関するデータが登録されていない場合である。入力フレーム転送部112は、フレームをフラディングすべきであることを設定する。つまり、装置内フレームヘッダの宛先ポート番号に“00”を設定し、宛先ユニットビットマップには、L2スイッチ1に実装されている全てのラインユニット10に応じたビットに論理レベル“1”を設定する。また、トランク学習要求ユニットビットマップには、該当するユニットがないので、つまりポートからバックボード方向へ転送する装置内フレームヘッダにおいては、このトランク学習要求ユニットビットマップは使用されないので、全てのビットに論理レベル“0”を設定する。図5では“−”と記載している。なお、L2スイッチ1は実装しているラインユニット10の情報を有する実装テーブル(図示せず。)を備え、入力フレーム転送部112がそれを参照する。入力フレーム転送部112は、入力監視部111で作成され、付加された装置内フレームヘッダを上記のように更新して、装置内信号送信部113を介してバックボード1Bへ転送する。
バックボード1Bに転送された、装置内フレームヘッダが付加されたフレームは、実装されている全てのラインユニット10に送出される。この場合の装置内フレームヘッダを図5のF55に示すように、宛先ユニットビットマップはラインユニット11,12,13が論理レベル“1”、宛先ポート番号は“00”、受信ユニット番号は“U1”、受信ポート番号は“p4”、受信トランク番号は“50”となる。
(8)
前記(7)にてL2スイッチ1が受信したサーバ4から端末2へのユニキャストのフレームを端末2へ送信する動作について図12、図13を参照して説明する。
本動作説明において、以降のステップについて前記(7)の(第1例)と(第2例)に対応するそれぞれの場合について説明する。
(第1例)
本例の場合、フレームの送信元アドレスは0E、宛先アドレスが0Aのユニキャストフレームである。そして、装置内フレームヘッダは図5のF54である。
S30. ラインユニット13の装置内信号受信部114は、前記(7)のステップS18で処理された装置内フレームヘッダが付加されたフレームを受信する。
S31. 装置内信号受信部114は、装置内フレームヘッダの宛先ユニットビットマップに基づいて、受信したフレームが自ラインユニット宛かを判断する。本動作説明において、宛先のラインユニットはラインユニット13であるので、ラインユニット11,12ではステップS32の処理によってこのフレームは廃棄される。
S33. 本動作説明において、ラインユニット13において以降の処理が実施される。出力フレーム転送部115はフレームの送信元アドレス、装置内フレームヘッダの受信ユニット番号、受信ポート番号、そして受信トランク番号を学習テーブル201に登録する。
ステップS33について図13を参照して説明する。
S331. ラインユニット13の出力フレーム転送部115は、受信したフレームの送信元アドレスに基づいて学習テーブル201を検索する。本動作説明において、送信元アドレスは0Eであり、学習テーブル201に図6の登録内容F61とF62が存在する。
S334. 出力フレーム転送部115は、学習テーブル201に登録されていたトランク番号とステップS30で受信した装置内フレームヘッダのトランク番号が等しいかを判断する。本ステップにおいて、トランク番号が等しくない場合は、該当するリンクに異なるリンクアグリゲーションが設定された場合であるので、ステップS335にて学習テーブル201の該当する送信元アドレスに対応するユニット番号、ポート番号、トランク番号を、装置内フレームヘッダの受信ユニット番号、受信ポート番号、受信トランク番号にそれぞれ更新する。本動作説明において、学習テーブル(図6のF62)のトランク番号と装置内フレームヘッダ(図5のF54)のトランク番号は共に“50”で等しいのでステップS336を実施する。
S336. 出力フレーム転送部115は、学習テーブル201に登録されていたユニット番号“U2”、ポート番号“p4”(図6のF62)と、ステップS30で受信した装置内フレームヘッダのユニット番号“U1”、ポート番号“p4”(図5のF54)がそれぞれ等しいかを判断する。本動作説明において、図6のF62と図5のF54におけるユニット番号が異なる。
S338. ステップS336において、学習テーブルと装置内フレームヘッダのユニット番号、ポート番号のいずれかもしくは両方が異なる場合であり、これは、同一の送信元アドレスのフレームを、同一のトランク番号を持つポートで受信し、かつ、異なるユニット、または同じユニットの異なるポートで受信したことを示している。
出力フレーム転送部115は、学習テーブル201の該当する送信元アドレスに対応するユニット番号“U2”、ポート番号“p4”、トランク番号“50”(図6のF62)を、装置内フレームヘッダのユニット番号“U1”、ポート番号“p4”、トランク番号“50”(図5のF54)に更新する。よって、学習テーブル201の送信元アドレス0Eに対応する登録内容は図6のF63となるように再学習が行われる。
S339. 出力フレーム転送部115は、ステップS338において、トランク内においてフレームを受信するポートが変更になったので、トランク毎にその変更回数を計数する監視カウンタ(図示せず。)をカウントアップし、その計数値が所定の閾値を超えた場合に、学習テーブル201の該当するエントリの変更フラグを論理レベル“1”に設定する。本動作説明において、その計数値が所定の閾値を超えたものとし、変更フラグを論理レベル“1”にする。よって、ラインユニット13の学習テーブル201の登録内容は図6のF63となる。
以降、図12を参照して説明する。
S34. ラインユニット13の出力フレーム転送部115は、装置内フレームヘッダの宛先ポート番号を参照する。宛先ポート番号が、フラディングを示す“00”であるか、“00”以外の特定のポート番号であるかを判断する。本動作説明において、前記(7)のS18にて宛先ポート番号は特定のポートである“p1”に設定されているので、ステップS35を実行する。
S35. 出力フレーム転送部115は、ポートp1を介してこのフレームを端末2に向けて転送する。
(第2例)
本例の場合、フレームの送信元アドレスは0E、フラディングを示す装置内フレームヘッダが付加されたフレームである。装置内フレームヘッダは図5のF55である。
S30. ラインユニット10の装置内信号受信部114は、装置内フレームヘッダが付加されたフレームを受信する。
S31. 装置内信号受信部114は、装置内フレームヘッダの宛先ユニットビットマップに基づいて、受信したフレームが自ラインユニット宛か否かを判断する。なお、装置内信号受信部114は前記の実装テーブル(図示せず。)に基づいて自ラインユニット番号を認識する。
S33. ステップS31において自ラインユニット宛のフレームを受信した場合である。本動作説明において、実装されている全てのラインユニットにおいて、以降の処理が実施される。
出力フレーム転送部115はフレーム内の送信元アドレス、装置内フレームヘッダ内の受信ユニット番号と受信ポート番号を学習テーブル201に登録する。
ステップS33について図13を参照して説明する。
S331. 実装されている全てのラインユニット10の出力フレーム転送部115は、受信したフレームの送信元アドレスに基づいて学習テーブル201を検索する。
S332. 本動作説明において、エージングによって学習データが消去されている場合である。
出力フレーム転送部115はフレーム内の送信元アドレス0E、装置内フレームヘッダ内の受信ユニット番号“U1”、受信ポート番号“p4”、そして受信トランク番号“50”を学習テーブル201に登録する。図6にこの学習テーブルの登録内容F64を示す。この学習テーブルの内容は実装されている全てのラインユニットの学習テーブル201に登録される。
以降、図12を参照して説明する。
S34. 出力フレーム転送部115は装置内フレームヘッダの宛先ポート番号を参照する。宛先ポート番号が、フラディングを示す“00”であるか、“00”以外の特定のポート番号であるかを判断する。この場合、前記(7)のステップS14にて宛先ポート番号は“00”に設定されており、フラディングを示している。
S36. 出力フレーム転送部115はフラディング設定テーブル205を参照し、“1”が設定されているポートにフレームを送出する。本動作説明において、フレームはラインユニット12のポートp4を除く全てのポートから送出される。
(9)
次に、L2スイッチ1が再度、端末2からサーバ4宛のユニキャストアドレスのフレームを受信する動作について図11を参照して説明する。この場合のフレームの送信元アドレスは0A、宛先アドレスは0Eである。
なお、本動作説明において、前記(8)、(9)の第1例の動作が実施されたことを前提とする。そして、前記の(7)によって、サーバ4から端末2へのリンクが、L2スイッチ1において、ラインユニット12のポートp4からラインユニット11のポートp4へ変更になり、ラインユニット12の学習テーブル201の図6のF62に示す学習データがエージングされたとする。
つまり、この段階において、ラインユニット11の学習テーブル201には図6のF61、ラインユニット12の学習テーブル201にはエージングされてデータ無し、ラインユニット13の学習テーブル201には図6のFとF63が、それぞれ登録されている。
S10. ラインユニット13の入力監視部111は受信したフレームの正常性を確認する。
S11. 入力監視部111は、この正常なフレームを受信したポートがリンクアグリゲーションを構成しているか否かについて、自ユニット(ラインユニット13)のトランク番号テーブル204を参照する。このポートp1はリンクアグリゲーションを構成していないポートなので、受信ユニット番号、受信ポート番号、受信トランク番号のそれぞれを、“U3”、“p1”、“00”に設定した装置内フレームヘッダを作成する。
この装置内フレームヘッダは受信したフレームに付加されて入力フレーム転送部112へ転送される。
S12. 入力フレーム転送部112はこのフレームの宛先アドレスを参照する。この場合、宛先アドレスは0Eであり、ユニキャストであるのでステップS13を実行する。
S13 入力フレーム転送部112は、このフレームの宛先アドレス0Eに基づいて学習テーブル201を検索する。本動作説明において、このフレームの宛先アドレス0Eに関するデータは、上記(8)の第1例でのステップS338の処理によって、ラインユニット13の学習テーブル201に登録されている。登録内容は図6のF63である。
S15. 入力フレーム転送部112は、登録されている学習データを参照し、トランク番号が登録されているかを判断する。本動作説明において、学習テーブル201の登録内容は図6のF63であり、トランク番号“50”が登録されている。
S16. 入力フレーム転送部112は、登録されている学習データを参照し、変更フラグが論理レベル“1”であるか否かを判断する。本動作説明において、学習テーブル201は図6の登録内容F63であり、変更フラグは論理レベル“1”である。
S19. 入力フレーム転送部112は、トランクを構成するポートを示すトランク構成テーブル203を参照し、所定の演算に基づいてトランクを構成するリンクの中から1つのポートを選択し、装置内フレームヘッダの宛先ユニットビットマップ、宛先ポート番号を設定する。
S20. 入力フレーム転送部112は、トランク構成テーブル203を参照して、装置内フレームヘッダに有するトランク学習要求ビットマップを設定する。つまり、該当するトランクを構成する全てのラインユニット10に対して、トランク学習を要求するためのトランク学習要求ビットマップの、該当するラインユニットのビットを論理レベル“1”に設定する。本動作説明において、ラインユニット11,12のビットを論理レベル“1”に設定する。よって、装置内フレームヘッダは、図5のF56になる。
(10)
次に、前記(9)にてL2スイッチ1が再度受信した端末2からのユニキャストアドレスを宛先アドレスに持つフレームを送信する動作について図12、図13を参照して説明する。
S30. ラインユニット10の装置内信号受信部114は、前記(9)のステップS20で処理された装置内フレームヘッダが付加されたフレームを受信する。
S31. 装置内信号受信部114は、装置内フレームヘッダの宛先ユニットビットマップ、またはトランク学習要求ビットマップに基づいて、受信したフレームが自ラインユニット宛か否かを判断する。本動作説明において、宛先ユニットはラインユニット11であり、トランク学習要求ユニットはラインユニット11,12であるので、ラインユニット13ではステップS32の処理によってこのフレームは廃棄される。
S33. 本動作説明において、ラインユニット11,12において次の処理が実施される。
ラインユニット11,12の出力フレーム転送部115は、フレーム内の送信元アドレス、装置内フレームヘッダ内の受信ユニット番号、受信ポート番号、そして受信トランク番号を学習テーブル201に登録する。
ステップS33について図13を参照して説明する。
宛先ユニットであるラインユニット11における学習処理は次のようになる。
S331. ラインユニット11の出力フレーム転送部115は、受信したフレームの送信元アドレスに基づいて学習テーブル201を検索する。本動作説明において、学習テーブル201に図6のF61が存在する。
S334. 出力フレーム転送部115は、学習テーブル201に登録されていたトランク番号とステップS30で受信した装置内フレームヘッダのトランク番号が等しいかを判断する。本動作説明において、学習テーブル201にトランク番号は“00”であり、未設定であるのでトランク番号は登録されていない。
S335. 出力フレーム転送部115は、学習テーブル201の該当する送信元アドレスに対応するユニット番号、ポート番号、トランク番号を、装置内フレームヘッダの受信ユニット番号、受信ポート番号、受信トランク番号にそれぞれ更新する。本動作説明において、学習テーブル201の送信元アドレスOAに対応する登録内容は図6のF61のままとする再学習が行われる。
以降、図12を参照して説明する。
S34. ラインユニット11の出力フレーム転送部115は、装置内フレームヘッダの宛先ポート番号を参照する。宛先ポート番号が、フラディングを示す“00”であるか、“00”以外の特定のポート番号であるかを判断する。本動作説明において、前記(9)のステップS19にて宛先ポート番号は特定のポートである“p4”に設定されている。
S35. 出力フレーム転送部115は、ポートp4を介してこのフレームをサーバ4に向けて転送する。
また、トランク学習要求ユニットで指定されたラインユニット12における学習処理は次のようになる。
S331. ラインユニット12の出力フレーム転送部115は、受信したフレームの送信元アドレスに基づいて学習テーブル201を検索する。本動作説明において、上記の(2)にて説明した端末2からブロードキャストアドレスを宛先アドレスに持つフレームを送信する場合において、ステップS332にて学習されているが、エージングによってこの学習データは消去されている。
S332. 出力フレーム転送部115はフレーム内の送信元アドレス“0A”、装置内フレームヘッダ内の受信ユニット番号“U3”と受信ポート番号“p1”を、学習テーブル201に登録する。この場合の学習データは図6のF61と同じになる。
以上、記載したように、更新、再学習が行われない学習テーブル201のデータはエージングされる。一般的には、学習テーブル201に登録されたデータは5分以内に再学習が行われないとエージングされることになる。従って、前記(2)のブロードキャストによって登録された学習データは、例えば、前記(7)のステップS13の学習テーブル検索で説明したように、ラインユニット11またはラインユニット12の学習テーブル201の送信元アドレス0Aの学習データは再学習されないとエージングされてしまう。よって、エージングされたラインユニット11もしくはラインユニット12に向けてサーバ4から端末2へのフレームを受信した場合、学習テーブル201の検索では該当するデータが存在せずフラディングが発生する。
本実施例では、トランクでフレームを受信するポートが変更になった場合、前記のステップS20の処理において、トランクを構成するポートを収容する全てのラインユニット10に対して学習を実施する要求を行い、学習を要求されたラインユニットにおいて、学習を実施することになるので、エージングによって発生するフラディングの発生を抑制できるフレーム転送を実現することができる。
なお、リンクアグリゲーションを構成したポート間において、ポートの障害によってトランク内でフレームを送信するポートを変更する場合がある。よって、上記(8)において記載した変更フラグに関して、変更フラグの判断基準となる閾値は、2以上が妥当である。この閾値の設定は、設定制御ユニット1Cが保守者からの設定情報によって設定することができる。
(実施例2)
図14は装置内フレームヘッダの構成例(2)である。図5の装置内フレームヘッダ(1)に受信VLAN-ID(virtual local area network-identification)を追加している。受信VLAN-IDは、受信ユニット番号、受信ポート番号によって特定されるフレームの受信ポートが属している仮想LANを識別する。
図15は学習テーブル201の構成例(2)である。図6の学習テーブル201の構成例(1)にVLAN-IDを追加している。VLAN-IDは、該当する送信元アドレスを有する端末等の装置が属している仮想LANを識別する。
図14の装置内フレームヘッダ(2)と図15の学習テーブル(2)を、図5の装置内フレームヘッダ(1)と図6の学習テーブル(1)のそれぞれの代わりに使用することによって、VLAN機能を備えるL2スイッチにおいて、同じVLAN-IDが付与されたポートを1つのグループとしてフレームの転送を実施することが可能となる。
よって、本実施例によれば、前記と同様に、トランクでフレームを受信するポートが変更になった場合、トランクを構成するポートを収容する全てのラインユニット10に対して学習を実施することになるので、フラディングの発生を抑制できるフレーム転送を実現することができる
以上の実施例を含む実施形態に関し、更に以下の付記を開示する。
(付記1)
接続される複数のリンクを束ねて1つのリンクとするトランクが設定され、パケットを宛先アドレスに応じて転送するパケット転送装置であって、
該パケットの送信元アドレスと受信経路を学習する際に、該パケットの受信するポートを識別する情報と、該ポートに接続するリンクのトランクを識別する情報と、該トランクで受信するパケットの受信経路が変更されたことを識別する情報とを学習する学習手段と、
同じ送信元アドレスを有するパケットの受信経路が該トランク内で変更になった場合に、該送信元アドレスを宛先アドレスとする転送方向のパケットの送信において、該トランクを構成する複数のリンクから1つのリンクを選択して転送するパケット転送手段と、
同じ送信元アドレスを有するパケットの受信経路が該トランク内で変更になった場合に、該転送方向のパケットにおいて該パケット転送装置内に該パケットに対する該学習を要求する学習要求手段を備えることを特徴とするパケット転送装置。
(付記2)
付記1に係るパケット転送装置であって、
該パケット転送装置内を転送する前記のパケットと一緒に転送され、前記のトランクを識別する情報と、該パケットに対する前記の学習を該パケット転送装置内に要求する情報を有する装置内パケットヘッダを備えることを特徴とするパケット転送装置。
(付記3)
付記1に係るパケット転送装置であって、
前記の同じ送信元アドレスを有するパケットの受信経路において前記のトランク内で変更になった回数が所定値以上であるか否かを示す情報を学習する学習手段と、
該変更回数が所定値以上の場合に、該トランクを構成する複数のリンクから1つのリンクを選択して該パケットを転送するパケット転送手段と、
該変更回数が所定値以上の場合に、該パケット転送装置内に該パケットに対する該学習を要求する学習要求手段を備えることを特徴とするパケット転送装置。
(付記4)
付記3に係るパケット転送装置であって、
前記の変更回数が前記の所定値より小さい場合に、前記の学習したポートを識別する情報に基づいて前記のパケットを転送することを特徴とするパケット転送装置。
(付記5)
付記1に係るパケット転送装置であって、
前記の学習手段において、該パケットの送信元アドレスに対する受信経路を学習する際に、該送信元アドレスを有する装置が属する仮想LANの識別番号を学習する手段を備えることを特徴とするパケット転送装置。
(付記6)
付記5に係るパケット転送装置であって、
前記の受信するパケットに対応して該パケット転送装置内を転送するパケットと一緒に転送され、該受信するパケットの受信する前記のトランクを識別する情報と、該パケットの受信するポートが属する仮想LANの識別番号と、該受信するパケットに対する前記の学習を該パケット転送装置内に要求する情報とを有する装置内パケットヘッダを備えることを特徴とするパケット転送装置。
(付記7)
接続される複数のリンクを束ねて1つのリンクとするトランクが設定され、パケットを宛先アドレスに応じて転送するパケット転送装置であって、
複数のポートと学習テーブルとパケット転送処理部と学習要求部を有するラインユニットと、
該トランクを構成する複数のリンクを設定するために該ラインユニットを制御する設定制御ユニットと、
該ラインユニットと該設定制御ユニットのそれぞれを接続する装置内インタフェースユニットを備え、
該学習テーブルは、該パケットの受信するポートを識別する情報と、該ポートに接続するリンクのトランクを識別する情報と、該トランクで受信するパケットの受信経路が変更されたことを識別する情報を学習した結果を登録し、
該パケット転送処理部は、前記の同じ送信元アドレスを有するパケットの受信経路が該トランク内で変更になった場合に、該送信元アドレスを宛先アドレスとする転送方向のパケットの送信において、該トランクを構成する複数のリンクから1つのリンクを選択して転送し、
該学習要求部は、前記の同じ送信元アドレスを有するパケットの受信経路が該トランク内で変更になった場合に、該転送方向のパケットにおいて該パケット転送装置内に該パケットに対する該学習を要求し、
該ラインユニットは少なくとも1以上備えることを特徴とするパケット転送装置。
(付記8)
付記7に係るパケット転送装置であって、
前記のトランクで受信するパケットの受信経路の変更回数が所定値以上であるか否かを示す情報を学習する学習テーブルと、
該変更回数が所定値以上の場合に、該トランクを構成する複数のリンクから1つのリンクを選択して該パケットを転送するパケット転送処理部と、
該変更回数が所定値以上の場合に、該パケット転送装置内に該パケットに対する該学習を要求する学習要求部を備えることを特徴とするパケット転送装置。
(付記9)
付記8に関わるパケット転送装置であって、
前記の変更回数が前記の所定値より小さい場合に、前記の学習したポートを識別する情報に基づいて前記のパケットを転送することを特徴とするパケット転送装置。
(付記10)
付記7に係るパケット転送装置であって、
前記の学習テーブルにおいて、該パケットの送信元アドレスと受信経路を学習する際に、該送信元アドレスを有する装置が属する仮想LANを識別する情報を学習した結果を登録することを特徴とするパケット転送装置。
(付記11)
接続される複数のリンクを束ねて1つのリンクとするトランクが設定され、パケットを宛先アドレスに応じて転送するパケット転送方法であって、
該パケットの送信元アドレスと受信経路を学習する際に、該パケットの受信するポートを識別する情報と、該ポートに接続するリンクのトランクを識別する情報と、該トランクで受信するパケットの受信経路が変更されたことを識別する情報とを学習するステップと、
同じ送信元アドレスを有するパケットの受信経路が該トランク内で変更になった場合に、該送信元アドレスを宛先アドレスとする転送方向のパケットの送信において該トランクを構成する複数のリンクから1つのリンクを選択して転送するステップと、
同じ送信元アドレスを有するパケットの受信経路が該トランク内で変更になった場合に、該転送方向のパケットにおいて該パケット転送装置内に該パケットに対する該学習を要求するステップを備えることを特徴とするパケット転送方法。
(付記12)
付記11に係るパケット転送方法であって、
前記のトランクを識別する情報と、前記のパケットに対する前記の学習を該パケット転送装置内に要求する情報とを有する装置内パケットヘッダを、該パケットに対応して該パケット転送装置内を転送するパケットと一緒に転送するステップを備えることを特徴とするパケット転送方法。
(付記13)
付記11に係るパケット転送方法であって、
前記のトランクで受信するパケットの受信経路の変更回数が所定値以上であるか否かを示す情報を学習するステップと、
該変更回数が所定値以上の場合に、該トランクを構成する複数のリンクから1つのリンクを選択して該パケットを転送するステップと、
該変更回数が所定値以上の場合に、該パケット転送装置内に該パケットに対する該学習を要求するステップを備えることを特徴とするパケット転送装置。
(付記14)
付記13に係るパケット転送方法であって、
前記の変更回数が前記の所定値より小さい場合に、前記の学習したポートを識別する情報に基づいて前記のパケットを転送するステップを備えることを特徴とするパケット転送方法。
(付記15)
付記11に係るパケット転送方法であって、
前記の学習するステップにおいて、該パケットの送信元アドレスに対する受信経路を学習する際に、該送信元アドレスを有する装置が属する仮想LANの識別番号を学習するステップを備えることを特徴とするパケット転送方法。
(付記16)
付記12に係るパケット転送方法であって、
前記のトランクを識別する情報と、前記のパケットの受信するポートが属する仮想LANの識別番号と、該パケットに対する前記の学習を該パケット転送装置内に要求する情報とを有する装置内パケットヘッダを、該パケットに対応して該パケット転送装置内を転送するパケットと一緒に転送するステップを備えることを特徴とするパケット転送方法。
L2スイッチ1を説明するための図である。 L2スイッチ1の構成例である。 ラインユニット10の構成例である。 MACフレームフォーマットを説明する図である。 装置内フレームヘッダの構成例(1)である。 学習テーブル201の構成例(1)である。 トランク番号テーブル204の構成例である。 フラディング設定テーブル205の構成例である。 ポート状態テーブル202の構成例である。 トランク構成テーブル203の構成例である。 L2スイッチ1がフレームを受信処理する手順を示すフローチャートである。 L2スイッチ1がフレームを送信処理する手順を示すフローチャートである。 L2スイッチ1が学習処理する手順を示すフローチャートである。 装置内フレームヘッダの構成例(2)である。 学習テーブル201の構成例(2)である。
符号の説明
1 L2スイッチ
2, 3 端末
4 サーバ
10, 11, 12, 13 ラインユニット
1B バックボード
1C 設定制御ユニット
111 入力監視部
112 入力フレーム転送部
113 装置内信号送信部
114 装置内信号受信部
115 出力フレーム転送部
201 学習テーブル
202 ポート状態テーブル
203 トランク構成テーブル
204 トランク番号テーブル
205 フラディング設定テーブル
1001 CPU部
1002 メモリ部
1003 保守INF部
p1, p2, p3, p4 ポート
F51, F52, F53, F54, F55, F56 装置内フレームヘッダの具体例
F61, F62, F63, F64 学習テーブル201の登録内容例

Claims (4)

  1. 接続される複数のリンクを束ねて1つのリンクとするトランクが設定され、パケットを宛先アドレスに応じて転送するパケット転送装置であって、
    該パケットの宛先ポートが、送信元アドレスの同じパケットを受信するポートとして該トランクを構成する1つのポートから他のポートに変更された場合に、該パケット転送装置内を転送するパケットに付加される装置内パケットヘッダを、該トランクの構成するポートに対する学習要求のための情報を該装置内パケットヘッダに備えるように生成する装置内パケットヘッダ生成手段と
    該パケットの送信元アドレスと受信経路を学習する際に、または該装置内パケットヘッダの該学習要求のための情報に基づいて該学習をする際に、該パケットの受信するポートを識別する情報と、該ポートに接続するリンクのトランクを識別する情報と、該トランクで受信するパケットの受信経路が変更されたことを識別する情報とを学習する学習手段と、
    同じ送信元アドレスを有するパケットの受信経路が該トランク内で変更になった場合に、該送信元アドレスを宛先アドレスとする転送方向のパケットの送信において、該トランクを構成する複数のリンクから1つのリンクを選択して転送するパケット転送手段を備えることを特徴とするパケット転送装置。
  2. 請求項1に係るパケット転送装置であって、
    前記の同じ送信元アドレスを有するパケットの受信経路において前記のトランク内で変更になった回数が所定値以上であるか否かを示す情報を学習する学習手段と、
    該変更回数が所定値以上の場合に、該トランクを構成する複数のリンクから1つのリンクを選択して該パケットを転送するパケット転送手段と、
    該変更回数が所定値以上の場合に、該パケット転送装置内に該パケットに対する該学習を要求する学習要求手段を備えることを特徴とするパケット転送装置。
  3. 接続される複数のリンクを束ねて1つのリンクとするトランクが設定され、パケットを宛先アドレスに応じて転送するパケット転送装置であって、
    複数のポートと学習テーブルとパケット転送処理部と学習要求部を有するラインユニットと、
    該トランクを構成する複数のリンクを設定するために該ラインユニットを制御する設定制御ユニットと、
    該ラインユニットと該設定制御ユニットのそれぞれを接続する装置内インタフェースユニットを備え、
    該学習テーブルには、該パケットの受信するポートを識別する情報と、該ポートに接続するリンクのトランクを識別する情報と、該トランクで受信するパケットの受信経路が変更されたことを識別する情報を学習した結果が登録され、
    該パケット転送処理部は、該パケット転送装置内を転送するパケットに付加される装置内パケットヘッダを生成し、同じ送信元アドレスを有するパケットの受信経路が該トランク内で変更になった場合に、該送信元アドレスを宛先アドレスとする転送方向のパケットの送信において、該トランクを構成する複数のリンクから1つのリンクを選択して転送し、
    該学習要求部は、前記の同じ送信元アドレスを有するパケットの受信経路が該トランク内で変更になった場合に、該送信元アドレスを宛先アドレスとする転送方向のパケットに対する学習要求のための情報を該装置内パケットヘッダに設定し、
    該ラインユニットは少なくとも1以上備えることを特徴とするパケット転送装置。
  4. 接続される複数のリンクを束ねて1つのリンクとするトランクが設定され、パケットを宛先アドレスに応じて転送するパケット転送装置のパケット転送方法であって、
    該パケットの送信元アドレスと受信経路を学習する際に、該パケットの受信するポートを識別する情報と、該ポートに接続するリンクのトランクを識別する情報と、該トランクで受信するパケットの受信経路が変更されたことを識別する情報とを学習するステップと、
    同じ送信元アドレスを有するパケットの受信経路が該トランク内で変更になった場合に、該送信元アドレスを宛先アドレスとする転送方向のパケットの送信において該トランクを構成する複数のリンクから1つのリンクを選択して転送するステップと、
    同じ送信元アドレスを有するパケットの受信経路が該トランク内で変更になった場合に、該パケット転送装置内を転送するパケットに付加される装置内パケットヘッダを、該送信元アドレスを宛先アドレスとする転送方向のパケットに対する学習要求のための情報を該装置内パケットヘッダに備えるように生成するステップを備えることを特徴とするパケット転送方法
JP2006256349A 2006-09-21 2006-09-21 パケット転送装置およびパケット転送方法 Expired - Fee Related JP4923908B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2006256349A JP4923908B2 (ja) 2006-09-21 2006-09-21 パケット転送装置およびパケット転送方法
US11/784,027 US7580407B2 (en) 2006-09-21 2007-04-05 Method and apparatus for forwarding packet

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006256349A JP4923908B2 (ja) 2006-09-21 2006-09-21 パケット転送装置およびパケット転送方法

Publications (2)

Publication Number Publication Date
JP2008079043A JP2008079043A (ja) 2008-04-03
JP4923908B2 true JP4923908B2 (ja) 2012-04-25

Family

ID=39224854

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006256349A Expired - Fee Related JP4923908B2 (ja) 2006-09-21 2006-09-21 パケット転送装置およびパケット転送方法

Country Status (2)

Country Link
US (1) US7580407B2 (ja)
JP (1) JP4923908B2 (ja)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4718216B2 (ja) * 2005-03-24 2011-07-06 富士通株式会社 プログラム、クライアント認証要求方法、サーバ認証要求処理方法、クライアント及びサーバ
JP5060081B2 (ja) 2006-08-09 2012-10-31 富士通株式会社 フレームを暗号化して中継する中継装置
JP2008104040A (ja) * 2006-10-20 2008-05-01 Fujitsu Ltd 共通鍵生成装置および共通鍵生成方法
JP4830942B2 (ja) * 2007-03-28 2011-12-07 日本電気株式会社 通信装置、通信システム及びそれに用いるlag管理テーブル管理方法
JP5152188B2 (ja) * 2007-07-27 2013-02-27 富士通株式会社 中継装置、中継方法および中継プログラム
GB2464889B (en) * 2007-09-05 2012-05-02 Fujitsu Ltd Routing line controller
US8385335B2 (en) * 2009-05-13 2013-02-26 Avaya Inc. Method and apparatus for providing fast reroute of a unicast packet within a network element to an available port associated with a multi-link trunk
US8351429B2 (en) * 2009-05-13 2013-01-08 Avaya Inc. Method and apparatus for providing fast reroute of a packet that may be forwarded on one of a plurality of equal cost multipath routes through a network
US8351431B2 (en) * 2009-05-13 2013-01-08 Avaya Inc. Method and apparatus for providing fast reroute of a multicast packet within a network element to an available port associated with a multi-link trunk
JP5422844B2 (ja) * 2009-12-17 2014-02-19 日立金属株式会社 スイッチングハブ、ラインカード、及びフレーム中継方法
US9179197B2 (en) * 2012-10-10 2015-11-03 Sonos, Inc. Methods and apparatus for multicast optimization
US20160227532A1 (en) * 2015-02-02 2016-08-04 Shahrnaz Azizi Systems, methods, and devices for signal classification in wireless networks
US11870777B2 (en) * 2018-05-18 2024-01-09 Mitsubishi Electric Corporation Relay device and communication system

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6016310A (en) * 1997-06-30 2000-01-18 Sun Microsystems, Inc. Trunking support in a high performance network device
US6687758B2 (en) * 2001-03-07 2004-02-03 Alacritech, Inc. Port aggregation for network connections that are offloaded to network interface devices
GB9725372D0 (en) * 1997-11-28 1998-01-28 3Com Ireland Trunking in stacked communication devices
US6363077B1 (en) * 1998-02-13 2002-03-26 Broadcom Corporation Load balancing in link aggregation and trunking
US6567403B1 (en) * 1998-04-30 2003-05-20 Hewlett-Packard Development Company, L.P. Virtual-chassis switch network topology
US6512742B1 (en) * 1998-12-09 2003-01-28 International Business Machines Corporation System for data transmission across a link aggregation
US6553029B1 (en) * 1999-07-09 2003-04-22 Pmc-Sierra, Inc. Link aggregation in ethernet frame switches
JP3452002B2 (ja) * 1999-12-01 2003-09-29 日本電気株式会社 スイッチングハブ及び登録アドレスの処理方法
US6765866B1 (en) * 2000-02-29 2004-07-20 Mosaid Technologies, Inc. Link aggregation
GB2361830B (en) * 2000-04-26 2002-01-30 3Com Corp Stackable network units including registers for identifying trunk connection status of stacked units
JP2002051066A (ja) * 2000-08-04 2002-02-15 Nec Commun Syst Ltd Lan間接続装置、lan間接続方法及び記録媒体
US7414985B1 (en) * 2002-02-01 2008-08-19 Ciena Corporation Link aggregation
JP2004193821A (ja) * 2002-12-10 2004-07-08 Fujitsu Ltd ブリッジ装置およびブリッジ装置のアドレス学習方法
JP2005020492A (ja) * 2003-06-27 2005-01-20 Hitachi Ltd ネットワーク中継装置
JP2005027129A (ja) * 2003-07-04 2005-01-27 Meidensha Corp 通信ネットワークの伝送異常解析装置および解析方法
JP4351505B2 (ja) * 2003-09-10 2009-10-28 富士通株式会社 パケット転送方法、パケット転送システム及びパケット転送装置
JP4407422B2 (ja) * 2004-08-09 2010-02-03 日立電線株式会社 スイッチングハブ

Also Published As

Publication number Publication date
US20080075076A1 (en) 2008-03-27
US7580407B2 (en) 2009-08-25
JP2008079043A (ja) 2008-04-03

Similar Documents

Publication Publication Date Title
JP4923908B2 (ja) パケット転送装置およびパケット転送方法
US6574240B1 (en) Apparatus and method for implementing distributed layer 3 learning in a network switch
US9729450B2 (en) Method of data delivery across a network
US9112817B2 (en) Efficient TRILL forwarding
US8385337B2 (en) Determining packet forwarding information for packets sent from a protocol offload engine in a packet switching device
US7359383B2 (en) Load balancing with mesh tagging
US7693169B2 (en) Transmission apparatus and frame transmission method
US8483220B2 (en) Handling of received implicit null packets
US9380005B2 (en) Reliable transportation of a stream of packets using packet replication
JP2013535911A (ja) プライマリマルチキャストツリーからスタンバイマルチキャストツリーに高速に切り換えるための方法および装置
JP2002508124A (ja) 多層スイッチング・ネットワーク要素中でパケット・フィールドを置換するための機構
US7447222B2 (en) Automated path tracing through switching mesh
NO318311B1 (no) Fremgangsmate og apparat for rask rekonfigurering av en nettverkstopologi
US8699485B2 (en) Multicast over lag and IRB in a routing device
US6442610B1 (en) Arrangement for controlling network proxy device traffic on a transparently-bridged local area network using token management
US20060107188A1 (en) Packet transmission device and packet transmission method
JP4794670B2 (ja) 経路制御装置
JP5494646B2 (ja) 通信ネットワーク管理システム、方法、及び管理計算機
EP4205370B1 (en) Bit index explicit replication egress protection
JP6061303B2 (ja) ブリッジ装置、通信制御装置、通信制御方法、ブリッジプログラム及び通信制御プログラム
JPH11331231A (ja) 多重化ネットワークシステムとその通信装置
JP2008288937A (ja) スイッチングハブ装置
CN1456004A (zh) 在网络交换机内的可编程第三层地址自我学习方法
CN118694707A (zh) 通信设备处的分组的出口重新路由
JP5388363B2 (ja) 通信システム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090611

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110301

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110428

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

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

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150217

Year of fee payment: 3

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