JP5103892B2 - 先着学習方法、中継装置および中継装置用プログラム - Google Patents

先着学習方法、中継装置および中継装置用プログラム Download PDF

Info

Publication number
JP5103892B2
JP5103892B2 JP2006341547A JP2006341547A JP5103892B2 JP 5103892 B2 JP5103892 B2 JP 5103892B2 JP 2006341547 A JP2006341547 A JP 2006341547A JP 2006341547 A JP2006341547 A JP 2006341547A JP 5103892 B2 JP5103892 B2 JP 5103892B2
Authority
JP
Japan
Prior art keywords
packet
learning
arrival
port
information
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
JP2006341547A
Other languages
English (en)
Other versions
JP2008005458A (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 JP2006341547A priority Critical patent/JP5103892B2/ja
Priority to US11/799,134 priority patent/US7760667B2/en
Publication of JP2008005458A publication Critical patent/JP2008005458A/ja
Application granted granted Critical
Publication of JP5103892B2 publication Critical patent/JP5103892B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/26Route discovery packet
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • H04L45/08Learning-based routing, e.g. using neural networks or artificial intelligence
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/32Flooding

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Description

この発明は、パケットが流通するネットワークでパケットの経路制御をおこなう中継装置において他の中継装置が複数の経路に対して送出した同一のパケットを最も早く受け取ったポートを先着ポートとして学習する先着学習方法、中継装置および中継装置用プログラムに関し、特に、最適経路の正確性および安定性を確保することができる先着学習方法、中継装置および中継装置用プログラムに関するものである。
広域イーサネット(登録商標)サービス(Ethernet(登録商標) Service)の普及に伴い、MAN(Metro Area Network)やWAN(Wide Area Network)といった広域ネットワークに対するイーサネット(登録商標)技術の進出がめざましくなっている。また、このような広域ネットワーク上を流通するデータパケットを中継する中継装置として、近年、L2スイッチ(Layer 2 Switch)が注目されている。
このL2スイッチは、ルータと比較して安価であるとともに、上位のプロトコルを選ばないなど方式的なメリットが大きく、今後さらに普及すると考えられている。しかし、L2スイッチは、もともとLAN(Local Area Network)に用いられていた中継装置であり、MANなどの広域ネットワークへの適用を前提としていなかったため、いくつかの方式的な問題を抱えている。
たとえば、複数のL2スイッチを相互に接続することによって構成される通信網において、パケットが最適な経路を通るように経路制御をおこなう場合、イーサネット(登録商標)のネットワーク冗長方式として定められたスパニングツリープロトコル(STP)やSTPの拡張方式であるMSTP(マルチプロトコルSTP)を用いたとしても、ネットワークの物理構成によっては最適経路を選択することができない場合があり、ネットワーク負荷が特定の経路に集中するという問題がある。
また、STPやMSTPを用いた場合には、STPの制約によってホップ数が最大でも20程度に限定されるので、それ以上の規模のネットワークを構築できないというスケーラビリティに関する問題もある。
これらのことから、上記したSTPやMSTPの問題点を回避する手法として、いわゆる先着ポート学習方式(以下、「先着学習方式」と記載する)が提案されている(たとえば、特許文献1および特許文献2参照)。先着学習方式は、パケットの遅延が最も少ないポートを学習することによってパケット転送の最適経路を選択しようとする方式である。
具体的には、この先着学習方式は、他の中継装置によってネットワーク上に同送された同一のパケット(以下、「同一パケット」と記載する)が、あるノードに設けられた中継装置の複数のポートに到着した場合、最も早く同一パケットを受け取ったポートをこの同一パケットについての先着ポートとして学習する。そして、先着ポートに到着した同一パケットについては他ポートにフラッディング(一斉配信)するとともに、他ポートに到着した同一パケットを廃棄する。
特開平3−162035号公報 特開平6−37764号公報
しかしながら、特許文献1および特許文献2に開示されているのは先着学習方式の基本概念であり、かかる基本概念のみからは実用的な中継装置を構成することはできないという問題がある。
具体的には、先着学習方式は、「パケットが最も早く到着したポートを先着ポートとみなす方式」であるので、「遅延」が最も少ないポートを用いてパケット転送がおこなわれる。しかし、この「遅延」には、一時的な輻輳の影響を受けやすい、いわゆる「キューイング遅延」が含まれるので、本来最適となるべき経路で「キューイング遅延」が一時的に増加した場合に先着ポートを学習すると、遠回りの経路を最適経路として選択してしまうことになる。つまり、先着学習方式には、最適経路の正確性をいかに確保するかという課題がある。
また、先着学習方式には、「遅延」がほぼ同じ複数の経路がある場合に、最適経路を頻繁に変更してしまう傾向にある。なぜならば、一時的な輻輳によって発生する「キューイング遅延」の影響によって、「遅延」が最も少ない経路が頻繁に入れ替わるからである。このように、最適経路の変更(先着ポートの変更)を頻繁におこなうと、パケットの順序逆転が発生してしまうので好ましくない。つまり、先着学習方式には、最適経路の安定性をいかに確保するかという課題がある。
さらに、先着学習方式には、経路(リンク)や中継装置(ノード)に障害が発生した場合に、いったん学習した最適経路に対してパケット転送をおこないつづけてしまうという問題もある。なお、学習した情報の有効期間を設定することとすれば有効期間経過後には再学習をおこなうことができるものの、有効期間が経過するまでは障害中の経路に対してパケット転送をつづけてしまうことになる。つまり、先着学習方式には、障害時における最適経路の再選択をいかにおこなうかという課題がある。
これらのことから、最適経路の正確性および安定性を確保することができる先着学習方法、この先着学習方法を適用した中継装置および中継装置用プログラムをいかにして実現するかが大きな課題となっている。
この発明は、上述した従来技術による問題点を解消するためになされたものであり、最適経路の正確性および安定性を障害時であっても確保することができる先着学習方法、中継装置および中継装置用プログラムを提供することを目的とする。
上述した課題を解決し、目的を達成するため本発明は、パケットが流通するネットワークで前記パケットの経路制御をおこなう中継装置において他の中継装置が複数の経路に対して送出した同一のパケットを最も早く受け取ったポートを先着ポートとして学習する先着学習方法であって、前記中継装置がキューイングしたパケットの中から経路学習に用いる学習対象パケットを選択する学習対象選択工程と、前記学習対象選択工程によって選択された学習対象パケットについての送信元アドレスと先着ポートとの関係を学習情報として登録する学習情報登録工程と、前記学習情報登録工程によって登録された学習情報に該当するパケットを当該学習情報に係る前記先着ポートに対して転送するとともに、前記学習情報に該当しないパケットをこのパケットが到着した到着ポート以外のポートに対して転送する転送工程とを含んだことを特徴とする。
また、本発明は、上記の発明において、前記学習情報登録工程は、前記パケットに転送優先度が設定されている場合に、低優先度パケットについての前記先着ポートを前記高優先度パケットについての前記先着ポートに変更することによって、前記学習情報の更新をおこなうことを特徴とする。
また、本発明は、上記の発明において、前記学習対象選択工程は、前記パケットに転送優先度が設定されている場合に、前記学習対象パケットとして高優先度パケットを選択することを特徴とする。
また、本発明は、上記の発明において、前記転送工程は、単一ポートに対して転送されるユニキャストパケットおよび複数ポートに対して転送されるブロードキャストパケットのうち、前記ブロードキャストパケットを前記ユニキャストパケットよりも優先して転送し、前記学習情報選択工程は、前記ブロードキャストパケットを前記学習対象パケットとして選択することを特徴とする。
また、本発明は、上記の発明において、前記学習情報登録工程は、複数の前記学習対象パケットに係る先着ポートについての統計情報に基づいて前記先着ポートを決定することによって、前記学習情報の更新をおこなうことを特徴とする。
また、本発明は、上記の発明において、前記学習情報登録工程は、前記学習情報に学習時刻を含めて登録するものであって、前記学習時刻から所定の時間が経過するまでは当該学習情報の更新をおこなわないことを特徴とする。
また、本発明は、上記の発明において、前記学習情報登録工程は、前記学習情報に係る送信元アドレスと同一の送信元アドレスを有する前記学習対象パケットが当該学習情報に係る先着ポートとは異なる他ポートに到着した場合に、当該先着ポートへの到着比率と他ポートの中で最も高い到着比率との比が所定値を下回ったことを条件として、到着比率が最も高い他ポートをあらたな先着ポートとすることを特徴とする。
また、本発明は、上記の発明において、前記転送工程は、経路またはノードの障害を検出したならば、学習情報消去用パケットを生成して転送し、前記学習情報登録工程は、前記学習情報消去用パケットを受け取ったならば、前記学習情報を消去することを特徴とする。
また、本発明は、パケットが流通するネットワークで前記パケットの経路制御をおこなうとともに他の中継装置が複数の経路に対して送出した同一のパケットを最も早く受け取ったポートを先着ポートとして学習する中継装置であって、前記中継装置がキューイングしたパケットの中から経路学習に用いる学習対象パケットを選択する学習対象選択手段と、前記学習対象選択手段によって選択された学習対象パケットについての送信元アドレスと先着ポートとの関係を学習情報として登録する学習情報登録手段と、前記学習情報登録手段によって登録された学習情報に該当するパケットを当該学習情報に係る前記先着ポートに対して転送するとともに、前記学習情報に該当しないパケットをすべてのポートに対して転送する転送手段とを備えたことを特徴とする。
また、本発明は、パケットが流通するネットワークで前記パケットの経路制御をおこなうとともに他の中継装置が複数の経路に対して送出した同一のパケットを最も早く受け取ったポートを先着ポートとして学習する中継装置に搭載される中継装置用プログラムであって、前記中継装置がキューイングしたパケットの中から経路学習に用いる学習対象パケットを選択する学習対象選択手順と、前記学習対象選択手順によって選択された学習対象パケットについての送信元アドレスと先着ポートとの関係を学習情報として登録する学習情報登録手順と、前記学習情報登録手順によって登録された学習情報に該当するパケットを当該学習情報に係る前記先着ポートに対して転送するとともに、前記学習情報に該当しないパケットをすべてのポートに対して転送する転送手順とをコンピュータに実行させることを特徴とする。
本発明によれば、中継装置がキューイングしたパケットの中から経路学習に用いる学習対象パケットを選択し、選択された学習対象パケットについての送信元アドレスと先着ポートとの関係を学習情報として登録し、登録された学習情報に該当するパケットをこの学習情報に係る先着ポートに対して転送するとともに、学習情報に該当しないパケットをこのパケットが到着した到着ポート以外のポートに対して転送するよう構成したので、キューイングしたパケット中から経路学習に用いるパケットを選別したうえで学習することによってキューイング遅延の影響を軽減し、最適経路の正確性および安定性を確保することができるという効果を奏する。
また、本発明によれば、パケットに転送優先度が設定されている場合に、低優先度パケットについての先着ポートを高優先度パケットについての先着ポートに変更することによって、学習情報の更新をおこなうよう構成したので、パケットにあらかじめ設定されている転送優先度を用いて学習情報の更新をおこなうことによって、キューイング遅延の影響を軽減し、最適経路の正確性を向上させることができるという効果を奏する。
また、本発明によれば、パケットに転送優先度が設定されている場合に、学習対象パケットとして高優先度パケットを選択するよう構成したので、学習対象として低優先度パケットを用いないことによって、キューイング遅延の影響を軽減し、最適経路の正確性を向上させることができるという効果を奏する。
また、本発明によれば、単一ポートに対して転送されるユニキャストパケットおよび複数ポートに対して転送されるブロードキャストパケットのうち、ブロードキャストパケットをユニキャストパケットよりも優先して転送し、ブロードキャストパケットを学習対象パケットとして選択するよう構成したので、サービスクラスが定義されていないネットワークであっても、最適経路の正確性を向上させることができるという効果を奏する。
また、本発明によれば、複数の学習対象パケットに係る先着ポートについての統計情報に基づいて先着ポートを決定することによって、学習情報の更新をおこなうよう構成したので、単発のパケットによる影響を排除することによって、キューイング遅延の影響を軽減し、最適経路の正確性を向上させることができるという効果を奏する。
また、本発明によれば、学習情報に学習時刻を含めて登録することとし、学習時刻から所定の時間が経過するまでは学習情報の更新をおこなわないよう構成したので、一定時間内に先着ポートの切り替えが頻発する事態を回避することによって最適経路の安定性を向上させることができるという効果を奏する。
また、本発明によれば、学習情報に係る送信元アドレスと同一の送信元アドレスを有する学習対象パケットがこの学習情報に係る先着ポートとは異なる他ポートに到着した場合に、この先着ポートへの到着比率と他ポートの中で最も高い到着比率との比が所定値を下回ったことを条件として、到着比率が最も高い他ポートをあらたな先着ポートとするよう構成したので、統計的に最適な先着ポートの選択をおこなうことができるとともに、先着ポート切り替えの頻発を防止することができるという効果を奏する。
また、本発明によれば、経路またはノードの障害を検出したならば、学習情報消去用パケットを生成して転送することとし、学習情報消去用パケットを受け取ったならば、学習情報を消去するよう構成したので、ネットワーク上に障害が発生した場合であっても、迅速に先着ポートの再選択をおこなうことができるという効果を奏する。
以下に添付図面を参照して、この発明に係る先着学習手法の好適な実施例を詳細に説明する。なお、以下では、本発明に係る先着学習手法を中継装置に適用した場合について説明する。また、以下では、本発明に係る先着学習手法の特徴点を明確化するために、従来技術に係る先着学習手法について説明した後に、本発明に係る先着学習手法の各機能について説明し(実施例1)、これらの機能の組合せ例について説明する(実施例2)。
各実施例の説明に先だって、本発明に係る先着学習手法の特徴点を明確化するために、従来技術に係る先着学習方法について図19〜図21を用いて説明する。
まず、従来技術に係る先着学習方式を適用した中継装置における未学習パケット受信時の動作について図19および図20を用いて説明する。図19は、従来技術に係る先着学習方式における未学習パケット受信時の動作を示す図であり、図20は、既学習パケット受信時の動作を示す図である。なお、図19および図20に示すノード(NodeA、NodeBなど)はL2スイッチなどの中継装置であり、端末1および端末2間でやりとりされるパケットの経路制御をおこなうものとする。
図19に示すように、従来技術に係る先着学習方式では、送信先識別子(たとえば、物理アドレス)について未学習のパケットを受け取ったノードは受け取ったパケットを到着ポート以外のポートにフラッディング(一斉配信)する。ただし、当然のことながら、パケットのフラッディングがおこなわれるポートはデータ用のポートであり、制御用のポートはフラッディングの対象とはならない。そして、あるノードにおいて、未学習の同一パケットが複数のポートに到着したならば、最も早く到着したパケットについてのみフォワーディング処理をおこなうとともに、パケットが最も早く到着したポート(先着ポート)をパケットの送信元識別子(たとえば、物理アドレス)とともにアドレステーブルに格納することで学習する。
また、図20に示すように、既学習のパケットを受け取ったノードは、通常のイーサネット(登録商標)スイッチと同様に、学習済みのアドレステーブルに基づいてパケットを転送する。
このような先着学習方式の基本概念は、上記した特許文献1および特許文献2に開示されているものの、開示された基本概念のみからは実用的な中継装置を構成することはできないという問題がある。
具体的には、先着学習方式は、「パケットが最も早く到着したポートを先着ポートとみなす方式」であるので、「遅延」が最も少ないポートを用いてパケット転送をおこなうことになる。一般的に、ネットワークにおけるホップ数が多い場合や、帯域が小さい回線が含まれている場合などには「遅延」が大きくなるので、この方式は大筋では妥当な方式といえる。しかし、遅延の大きな要因の一つであるいわゆる「キューイング遅延」は、その時々の輻輳状況によって大きく変動する。ここで、キューイング遅延とは、パケットが中継装置のキューにキューイングされてから取り出されるまでの遅延時間を指す。
たとえば、本来最適となるべき経路が一時的に輻輳していた場合には、キューイング遅延の影響によって、かかる輻輳経路を経由したパケットが後着パケットとなり、本来最適となるべき経路が選択されないことになる。このように、キューイング遅延を考慮していない従来技術に係る先着学習方式には、最適経路の正確性が低いという問題がある。また、キューイング遅延を考慮していないことに起因して最適経路の安定性が低いという問題もある。次に、この問題点について図21を用いて説明する。
図21は、従来技術に係る問題点である先着ポートの不安定性を示す図である。たとえば、同図の(a)に示すように、SA(送信元アドレス)が「x」、DA(送信先アドレス)が「y」のフラッディングパケットが、NodeCのport2に先着したとすると、NodeCにおいては、SA=xの先着ポートはport2であると学習される。このような学習がおこなわれると、NodeCのport3に同一のフラッディングパケットが後着したとしても、この後着パケットは廃棄されることになる。
しかし、図21の(b)に示すように、図21の(a)におけるフラッディングパケットと内容が異なるフラッディングパケット(SA=x、DA=z)がネットワーク上を流通し、このフラッディングパケットがNodeCのport3に先着したとすると、NodeCにおけるSA=xの先着ポートは、port3に書き換えられてしまう。このような、ポートの書き換えが頻発すると、DA=xであるユニキャストパケットの送出ポートが頻繁に変わることになり、パケットの順序逆転が頻発して好ましくない。
また、従来技術に係る先着学習方式には、経路(リンク)や中継装置(ノード)に障害が発生した場合に、いったん学習した最適経路に対してパケット転送をおこないつづけてしまうという問題もある。なお、学習した情報の有効期間を設定することとすれば有効期間経過後には再学習をおこなうことができるものの、有効期間が経過するまでは障害中の経路(経路と接続されたポート)に対してパケット転送をつづけてしまうことになる。
このように、従来技術に係る先着学習方式には、最適経路の正確性および安定性の面で問題があるとともに、障害時における最適経路再選択の迅速性の面にも問題がある。本発明に係る先着学習方式は、これらの問題を解決するものである。以下では、まず、実施例1において、本発明に係る先着学習手法の各機能について説明する。
まず、本発明に係る先着学習方式を適用した中継装置の構成および基本的な動作について図1〜図4を用いて説明する。図1は、本発明に係る先着学習方式を適用した中継装置10の構成を示すブロック図である。同図に示すように、中継装置10は、N個のポートを備えるとともに、パケット送受信部11と、パケット処理部12と、テーブル制御部13と、MACテーブル14と、同一性情報テーブル15とを備えている。
パケット送受信部11は、各ポートを介してやりとりされるパケットのカプセリングなど送受信処理に関する処理をおこなう処理部であり、主信号のデータパケットは、このパケット送受信部11を介してパケット処理部12へと渡される。また、このパケット送受信部12は、制御パケットをテーブル制御部13へと渡す処理をおこなう処理部でもある。
パケット処理部12は、パケットのフォワーディング処理およびパケット間の同一性判定処理をおこなう処理部である。具体的には、このパケット処理部12は、パケットを受け取ると、まず、同一性情報テーブル15にアクセスして同一パケットが既に到着しているか否かを判定する。
そして、同一パケットが既に到着していると判定した場合には、あらたに受け取ったパケットを後着パケットとみなして廃棄する。一方、同一パケットが未だ到着していないと判定した場合には、あらたに受け取ったパケットに関するパケット情報を同一性情報テーブル15に対して登録する。なお、パケット処理部12がおこなう詳細な処理手順については図2を用いて後述する。
テーブル制御部13は、パケット送受信部13を介して受け取った制御パケットに基づいてMACテーブル14および同一性情報テーブル15における該当レコードの管理および消去処理をおこなう処理部である。
MACテーブル14は、先着パケットの送信元に関する学習情報を管理するテーブルである。ここで、このMACテーブル14の例について図3を用いて説明する。図3は、MACテーブル14の一例を示す図である。同図に示すように、MACテーブル14は、送信元を一意に識別する「送信元MACアドレス」、先着パケットを受け取ったポート番号をあらわす「先着ポート」および先着パケットを学習した時刻をあらわす「学習時刻」の各項目を含んだテーブルである。
同一性情報テーブル15は、後着パケットとの同一性判定に用いるために、先着パケットの内容そのもの、または、先着パケットの内容を加工した情報のいずれかを管理するテーブルである。そして、この同一性情報テーブル15は、先着パケットの内容をあらわす情報である「パケット情報」およびパケット情報を記憶した時刻をあらわす「記憶時刻」の各項目を含んだテーブルである。なお、このパケット情報の内容については特に制約はない。
図4は、同一性情報テーブル15の一例を示す図である。同図に示すように、「パケット情報」項目にはパケットの内部情報が、「記憶時刻」にはパケット情報を記憶した時刻がそれぞれ格納される。
次に、図1に示したパケット処理部12の処理手順について図2を用いて説明する。図2は、パケット処理部12の処理手順を示すフローチャートである。同図に示すように、パケット処理部12は、パケットが到着すると(ステップS101)、同一性情報テーブル15に一致情報があるか否かを判定する(ステップS102)。そして、同一性情報テーブル15に一致情報がない場合には(ステップS102,No)、ステップS101におけるパケットに関するパケット情報を同一性情報テーブル15に登録する(ステップS103)。
つづいて、パケット処理部12は、MACテーブル14にSA(送信元アドレス)があるか否かを判定し(ステップS104)、SAがある場合には(ステップS104,Yes)、該当するエントリの時刻を現時刻に更新する(ステップS105)。一方、SAがない場合には(ステップS104,No)、MACテーブル14にSAおよび到着ポートを登録するとともに(ステップS106)、現時刻を登録する(ステップS107)。
また、パケット処理部12は、MACテーブル14にDA(送信先アドレス)があるか否かを判定し(ステップS108)、DAがある場合には(ステップS108,Yes)、先着ポート宛にユニキャスト送信をおこなって(ステップS109)処理を終了する。一方、DAがない場合には(ステップS108,No)、該当パケットが未到着の全ポートに対してフラッディングをおこなって(ステップS110)処理を終了する。このとき、ポートが例えばVLAN(Virtual LAN)などのネットワーク単位でグループ分けされている場合は、パケット処理部12は、パケットの到着ポートと同じグループに所属するポートのみに対してフラッディングをおこなう。換言すれば、パケット処理部12は、DAがない場合には(ステップS108,No)、パケットが未到着のポートのうちブロードキャストドメインの全ポートに対してフラッディングをおこなう。なお、ステップS102において同一性情報テーブル15に一致情報があると判定された場合には(ステップS102,Yes)、パケットを廃棄したうえで(ステップS111)処理を終了する。
次に、従来技術に係る先着学習方式の問題点の一つである「最適経路の正確性」に関し、本実施例1に係る中継装置10が最適経路の正確性を向上させるためにとった手法について説明する。パケット転送時におけるトータルの遅延は、「トータル遅延=伝送遅延+パケット処理遅延+キューイング遅延」とあわわされる。このうち、キューイング遅延は、上記したように、一時的な輻輳によって左右される不確定要素であり、最適経路の選択に大きな影響を与える要素である。
そこで、このような一時的な輻輳の影響を排除する手法が望まれるが、キューイング遅延を小さくする手法は、大きく分けて二つ考えられる。一つは、「キューイング遅延自体を小さくする手法」であり、もう一つは、「キューイング遅延がトータル遅延に占める割合を小さくする手法」である。
まず、「キューイング遅延自体を小さくする手法」として、元々キューイング遅延が小さいパケットを学習対象パケットとする手法が考えられる。たとえば、ネットワーク上を流通するパケットに複数のサービスクラス(転送優先度をあらわすクラス)が存在する場合、優先度が高いパケットは優先的に転送されていくので、キューイング遅延の影響を受ける可能性が低い。したがって、先着ポートの学習(先着ポートの更新を含む)をおこなう際に、高優先度クラスを優先した学習をおこなえばよい。
図5は、サービスクラスに基づいた学習情報更新を示す図である。同図の(a)に示すように、未学習状態で低優先度パケットがNodeCのport3に到着すると、テーブル制御部13は、この低優先度パケットに基づいてMACテーブル14の情報を更新する。そして、同図の(b)に示すように、SAが同一の高優先度パケットがNodeCのport2に到着したならば、MACテーブル14の情報を高優先度パケットを受け取ったポート(port2)に変更する。
なお、図5には、低優先度パケットに基づいて更新したMACテーブル14を高優先度パケットに基づいて更新することによって、高優先度クラスを優先した学習をおこなう場合について説明したが、これに限らず、たとえば、高優先度パケット1個を低優先度パケット複数個とみなすといった、重み付けをおこなうこととしてもよい。さらに、低優先度パケットを学習対象パケットから除外することによって高優先度クラスを優先した学習をおこなうこととしてもよい。この場合、パケット処理部12が、サービスクラスの閾値を保持し、この閾値よりも小さいサービスクラスのパケットを学習対象から除外することとすればよい。
このように、ネットワーク上を流通するパケットに複数のサービスクラスが存在する場合には、高優先度クラスを優先した学習をおこなえばよい。しかし、サービスクラスを有しないパケットを取り扱う場合には、パケットの読み出しを優先的におこなうパケットを定義し、該当するパケットに係る先着情報を優先することとすればよい。
ここで、ネットワーク上を流通するパケットには、フラッディングされるパケット(フラッディングパケット)と、フラッディングされないパケットとが存在し、フラッディングパケットとしては、ブロードキャストパケット、マルチキャストパケット、Un−knownパケットがある。一方、フラッディングされないパケットとしては、MACアドレスが学習済みである場合のユニキャストパケットがある。
そこで、上記したフラッディングパケットの読み出しを優先化し、フラッディングされないユニキャストパケットよりも早く転送していくこととすればよい。このようにすることで、サービスクラスを有しないパケットを取り扱う場合であっても、キューイング遅延の影響を抑制することができる。
ところで、すべてのフラッディングパケットを高優先化してしまうと、あらたな問題が発生する可能性がある。図6は、パケット順序逆転の一例を示す図である。同図に示すように、あるユーザ(端末1)のデータフローがあり、パケット1到着時には、MACテーブル14にエントリが存在したとする。この場合、パケット1は通常のユニキャストパケットであるので、低優先キューにバッファリングされる(図6の(a)参照)。
しかし、パケット2が到着する前にそのエントリがエージング(Aging)されると、エージングされた時点から、このMACアドレスをもつパケットはUn−knownパケット(フラッディングパケットの一つ)として取り扱われるため高優先キューにバッファリングされる(図6の(b)参照)。
そして、この時点で低優先キューが輻輳していると、パケット2がパケット1よりも先に読み出されてしまう(図6の(c)参照)。このように、データフローに含まれるパケットを優先対象に含めてしまうと、データフロー内のパケット順序逆転が発生する可能性がある。
そこで、データフローに含まれないパケット、すなわち、プロトコル制御パケットのみを高優先化し、高優先化したプロトコル制御パケットの先着情報に基づいて学習情報を更新することとすれば、パケット順序逆転の発生を抑制することができる。ここで、プロトコル制御パケットとしては、たとえば、ARP(Address Resolution Protocol)パケットがある。
このARPパケットは、IP(Internet Protocol)アドレスをキーとしてMACアドレスを調べるプロトコル制御パケットである。なお、プロトコル制御パケットは、単独のパケットごとに機能するパケットであるので、データフローに含まれるパケットとは異なりパケット順序逆転が発生したとしても上位のプロトコルに影響を与えない。
次に、「キューイング遅延がトータル遅延に占める割合を小さくする手法」について説明する。この手法は、統計的性質を利用することによってキューイング遅延の影響を低減するものである。すなわち、パケット1個に着目すると瞬時的な輻輳の影響を大きく受けるが、たとえば、パケット100個の平均をとれば瞬時的な輻輳の影響は小さくなる。
そこで、上記したトータル遅延についての関係式「トータル遅延=伝送遅延+パケット処理遅延+キューイング遅延」を、「平均トータル遅延=平均伝送遅延+平均パケット処理遅延+平均キューイング遅延」に置きかえることでキューイング遅延がトータル遅延に占める割合を小さくすることができる。
図7は、統計情報に基づいた先着ポート決定方式を示す図である。同図に示すように、フラッディングパケットのサンプル数が所定数(たとえば、100個)に達するまでは先着ポートを決定せず、所定数に達した時点で先着パケットが最も多く到着したポートを先着ポートとすればよい。なお、図7では、パケット数に着目した統計情報を用いたが、パケットの到着時間差を計測し、統計的に最短時間となるポートを先着ポートとすることとしてもよい。
次に、従来技術に係る先着学習方式の問題点の一つである「最適経路の安定性」に関し、本実施例1に係る中継装置10が最適経路の安定性を向上させるためにとった手法について説明する。最適経路を安定化するためには、先着ポートが頻繁に切り替わらないことが必要となる。そして、先着ポートが頻繁に切り替わらないようにするためには、先着ポートの切り替えに関して所定の条件を課すこととすればよい。
たとえば、「時間」を条件として先着ポートの切り替えを抑制することができる。具体的には、MACテーブル14に登録された先着ポートを所定時間内に書き換えることを禁止する。図8は、学習時刻およびタイマに基づいた先着ポート決定方式を示す図である。
図8に示すように、MACテーブル14のエントリ毎にタイマを保持することとし、あらたにアドレスを学習した時点、または、先着ポートの切り替えをおこなった時点を起点としてタイマを起動する。そして、タイマが所定の満期を迎えるまでは先着ポートの切り替え条件を満たした場合(たとえば、図5の(b)参照)であっても、先着ポートの上書きをおこなわない。
また、時間ではなく、「パケット量」を条件とすることによっても先着ポートの切り替えを抑制することができる。具体的には、先着ポート以外のポートから連続N個のパケットが先着した場合に、先着ポートを書き換えることとする。図9は、パケットの連続到着個数に基づいた先着ポート決定方式を示す図である。
図9に示すように、MACテーブル14の各エントリに、「先着ポート候補(先着候補)」および「連続到着個数(連続個数)」の項目を持たせる。そして、フラッディングパケットが先着ポートとは異なるポートから先に到着した場合には、このポートを「先着ポート候補」として登録するとともに、「連続到着個数」を1とする。
さらに、同じポートからパケットが到着すると「連続到着個数」をカウントアップする。そして、この個数が「変更閾値」(図9では8個)に達したならば、「先着ポート候補」に登録されたポートをあらたな先着ポートとする。なお、途中で、先着ポート候補以外のポートからフラッディングパケットが到着した場合には、連続到着個数をリセットするものとする。
また、パケット量ではなく、「統計的なパケット量」を条件とすることによっても先着ポートの切り替えを抑制することができる。図10は、先着到着比率に基づいた先着ポート決定方式を示す図である。同図に示すように、MACテーブル14の各エントリに、ポート毎に区分けした先着パケットの比率または到着数をあらわす「先着到着比率(先着到着比)」の項目を持たせる。そして、現在の先着ポートについての「先着到着比率」があらかじめ定めておいた「変更閾値」(図10では30%)を下回った場合に、先着ポートの切り替えをおこなう。
たとえば、図10に示したように、MACアドレスが「x」のエントリにおいて、現在の先着ポートはport2であるが、このport2の先着到着比率が20%となって変更閾値の30%を下回ったので、あらたな先着ポートとして先着到着比率が最も高いport3が選択されることになる。
ところで、図10では、先着到着比率に基づいた先着ポート決定方式について示したが、先着到着比率同士の比に基づいて先着ポートを決定することとしてもよい。図11は、先着到着比率同士の比に基づいた先着ポート決定方式を示す図である。具体的には、現在の先着ポートについての先着到着比率と、他のポートについての最大先着到着比率との比が所定の「一定比率」を下回った場合に、この最大先着到着比率を有する他のポートをあらたな先着ポートに決定する。
図11に示したように、「一定比率」を80%に設定するとともに、現在の先着ポート(port2)の先着到着比率が30%まで低下した場合について説明する。この場合に、先着ポート以外のポートの中で最も先着到着比率が高いポートはport3であるので、port3の先着到着比率(40%)に一定比率(80%)をかけた値(40%×80%=32%)が先着ポート切り替えの閾値となる。そして、port2の先着到着比率(30%)は、この閾値(32%)を下回っているので、port3があらたな先着ポートとして選択される。
この先着到着比率同士の比に基づいた手法(図11参照)は、先着到着比率に基づいた手法(図10参照)と比べて以下のメリットがある。すなわち、図10に示した手法で、変更閾値を30%に設定し、5つのポートの先着到着比率がすべて20%程度である場合を仮定すると、先着ポートの先着到着比率は常に変更閾値を下回った状態になるので先着到着比率のトップが入れ替わるたびに先着ポートが変更されることになる。
これに対し、図11に示した手法は、5つのポートの先着到着比率がすべて20%程度である場合であっても、たとえば、「一定比率」を80%に設定すると、先着ポート切り替えの閾値は16%(20%×80%)となるので、いったん先着ポートとして選択されると先着到着比率が16%を下回るまでは、先着ポートの切り替えがおこなわれない。したがって、先着ポートの頻繁な切り替えを抑制することができる。
なお、図7〜図11では、統計情報や時間に基づいて先着ポートを更新する手法を示したが、いったん学習した先着ポートを変更しないこととしてもよい。このようにすることで、先着ポートが不要に変更されることを完全に防止することができる。
次に、従来技術に係る先着学習方式の問題点の一つである「障害時における最適経路再選択の迅速性」に関し、本実施例1に係る中継装置10が障害時の最適経路再選択を迅速におこなうためにとった手法について説明する。
ネットワーク上の経路(リンク)や中継装置(ノード)に障害が発生した場合、障害箇所は使用不可能となるので、障害箇所を通る経路はMACテーブルから早急に削除する必要がある。たとえば、スパニングツリープロトコル(STP)には、TCフラグを立てたBPDU(Bridge Protocol Data Unit)を送信することによって障害を通知し、各中継装置(ノード)のMACテーブル上から障害箇所に係る経路情報を削除する仕組みがある。
そこで、先着学習方式においても、MACテーブル14消去用の制御パケットを定義し、障害発生時にはこの制御パケットをフラッディングし、テーブル制御部13がこの制御パケットを受け取ったならば、MACテーブル14の該当箇所を消去することとすればよい。また、この制御パケットとして、上記したBPDUをそのまま流用することとしてもよい。つまり、TCフラグが立ったBPDUを受け取った場合に、テーブル制御部13が、先着ポートを学習したMACテーブル14の該当箇所を消去することとすればよい。
さらに、MACテーブル14消去用の制御パケットを用いることなくMACテーブル14の消去をおこなうこととしてもよい。たとえば、主信号パケットに障害通知を示すタグを付与してフラッディングするとともに、このタグ付きの主信号パケットを受け取ったパケット処理部12がMACテーブル14の該当箇所を消去することとすればよい。
上述してきたように、本実施例1では、パケットが到着した場合にパケット処理部が同一性情報テーブルに一致情報があるか否かを判定したうえで、一致情報がない場合には、この同一性情報テーブルに対してパケット情報を登録するよう構成するとともに、同一性情報テーブルに登録されたパケット情報に基づいてパケットの同一性判定をおこなうよう構成した。また、MACテーブルへ格納する先着ポートに関する学習情報について、学習対象とするパケットを選別するとともに、時間または統計情報に基づいて先着ポートの切り替えをおこなうよう構成した。したがって、最適経路の正確性および安定性を確保することができる。
本実施例2では、実施例1で説明した本発明に係る先着学習手法の各機能の組合せ例について図12〜図18を用いて説明する。なお、本実施例2では、最適経路の正確性を向上させる手法として「フラッディングパケットの読み出しを優先化することによってキューイング遅延自体を抑制する手法」を、最適経路の安定性を向上させる手法として「先着到着比率に基づいた先着ポート決定手法」(図10参照)を、障害時における最適経路再選択を迅速におこなう手法として「STPにおけるBPDUを流用する手法」を、組み合わせた場合について説明する。
なお、先着ポート学習時におけるパケット同一性の判定においては、イーサネット(登録商標)のFCS(Frame Check Sequence)を検査することとする。また、図10における「変更閾値」は40%に設定されているものとする。
図12は、本実施例2におけるネットワーク構成を示す図である。同図に示すように、ネットワーク上には、NodeA〜NodeCの3つのノードがあり、それぞれのノードがLink1〜Link3の経路で接続されている。また、NodeBはLink4を介してLAN1と接続されており、NodeCはLink5を介してLAN2に接続されている。なお、NodeA〜NodeCは、それぞれ中継装置10によって構成されているものとする。また、これらのLAN1、2およびNodeA〜NodeCは、同一のVLANなどのネットワークグループに所属しているものとする。したがって、例えばNodeBのport1に対して、NodeBのport2およびport3は、ブロードキャストドメインのポートである。
図13は、未学習パケットがノードB(NodeB)に到着した場合の動作を示す図である。同図に示すように、LAN1上の端末装置から送出されたSA=b/DA=aのパケットがNodeBのport1に到着すると、NodeBでは、図2に示したフローに従ってこのパケットを取り扱う。まず、NodeBの中継装置10は、同一性情報テーブル15を参照するが、このパケットは未学習パケットであるので、このパケットは廃棄されない。また、MACテーブル14にSAは存在しないので、SA=aの先着ポートはport1と学習される。さらに、MACテーブルにはDAも存在しないので、このパケットはport2およびport3に対してフラッディングされることになる。
そして、port2およびport3に対してフラッディングされたフラッディングパケットは、「フラッディングパケットの読み出しを優先化することによってキューイング遅延自体を抑制する手法」に従い、高優先キューにバッファリングされ、優先的に読み出されることになる。
ところで、port2およびport3に対してフラッディングされたフラッディングパケット(2つのフラッディングパケット)は、2つの経路(Link2、Link1+Link3)でNodeCに到着することになるが、ここでは、Link2の経路、すなわち、NodeCにおけるport2からの到着が早かったものとする。図14は、フラッディングパケットがノードC(NodeC)へ到着した場合の動作を示す図である。
NodeCでも、図2に示したフローに従ってこのフラッディングパケットを取り扱うので、FCSの記憶およびMAC学習をおこなった後、このフラッディングパケットをport1およびport3に対してフラッディングする。ここで、本実施例2では、最適経路の安定性を向上させる手法として「先着到着比率に基づいた先着ポート決定手法」(図10参照)を用いているので、MACテーブル14には先着到着比率が保持される。
なお、このフラッディングパケットは、NodeCへ到着した最初のSA=bであるパケットであるので、port2の先着到着比率は、この時点で100%となる。また、図14においては、NodeCにのみ先着到着比率を含んだMACテーブル14を示しているが、他のノード(NodeAおよびNodeC)も同様のMACテーブル14を有しているものとする。
そして、図14に示すように、NodeCのport3に遅れて到着したフラッディングパケットは、NodeCの同一性情報テーブル15上に、既に一致するFCS値が存在することになるので、後着パケットとみなされて廃棄される。また、NodeCのport3から送出されたパケットもNodeAの同一性情報テーブル15上に、既に一致するFCS値が存在することになるので、廃棄されることになる。
次に、図14に示したフラッディングパケットに対する応答パケットがLAN2から送出された場面について図15を用いて説明する。図15は、ユニキャストパケットの転送を示す図である。同図に示すように、LAN2から送出された応答パケットは、DA=b/SA=aのパケットである。このパケットがNodeCに到着すると、図2のフローに従った処理が実行される。
まず、NodeCの中継装置10は、同一性情報テーブル15を参照するが、一致する情報はないのでこのパケットは廃棄されない。また、MACテーブル14にDA=bが存在するか否かが検査されるが、DA=bは既に存在するので、このパケットはユニキャストパケットとしてport2を介してNodeBへ向け転送される。
ところで、図15の状態からしばらくすると、NodeCにはより多くのフラッディングパケットが到着するが、ここで、NodeB→NodeCの経路と、NodeB→NodeA→NodeCの経路の遅延がほぼ同じであると仮定する。
本実施例2では、最適経路の安定性を向上させる手法として「先着到着比率に基づいた先着ポート決定手法」(図10参照)を用いているので、先着ポートが変更される場合がある。図16は、先着ポート変更前の状態を示す図である。同図に示すように、NodeCにおけるport2の先着到着比率が40%(変更閾値)を若干超えた状態(41%)において、port3からフラッディングパケットが先着したとする。これにより、port2の先着到着比率が40%(変更閾値)を下回った場合には、先着ポートの切り替えがおこなわれる。
図17は、先着ポート変更後の状態を示す図である。同図に示すように、port2の先着到着比率は39%となり40%(変更閾値)を下回ったので、port3があらたな先着ポートとして登録される。なお、port2が再び先着ポートになるためには、39%の先着到着比率が60%まで上がる必要があるので、先着ポート切り替えの頻発は抑制される。
次に、NodeBとNodeCとを結ぶ経路(リンク)に障害が発生した場合について説明する。図18は、障害発生時の動作を示す図である。NodeBおよびNodeCは、物理層の障害検出によってこの障害を検知することができるので、NodeBおよびNodeCの中継装置10は、MACテーブル14を消去する。さらに、NodeBおよびNodeCの中継装置10は、「STPにおけるBPDUを流用する手法」に従ってBPDUを生成し、生成したBPDUのフラッディングをおこなう。そして、このBPDUを受け取ったNodeAの中継装置10は、障害を検知してMACテーブル14を消去する。
上述したように、本実施例2では、実施例1で示した中継装置の機能の組み合わせ例を示した。しかしながら、これに限らず、実施例1で示した他の機能をそれぞれ組み合わせることとしてもよい。
また、上記した各実施例では、本発明を実現する中継装置を機能面から説明したが、中継装置の各機能はパーソナルコンピュータやワークステーションなどのコンピュータにプログラムを実行させることによって実現することもできる。
すなわち、上述した各種の処理手順は、あらかじめ用意されたプログラムをコンピュータ上で実行することによって実現することができる。そして、これらのプログラムは、インターネットなどのネットワークを介して配布することができる。さらに、これらのプログラムは、ハードディスク、フレキシブルディスク(FD)、CD−ROM、MO、DVDなどのコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行することもできる。
(付記1)パケットが流通するネットワークで前記パケットの経路制御をおこなう中継装置において他の中継装置が複数の経路に対して送出した同一のパケットを最も早く受け取ったポートを先着ポートとして学習する先着学習方法であって、前記中継装置がキューイングしたパケットの中から経路学習に用いる学習対象パケットを選択する学習対象選択工程と、前記学習対象選択工程によって選択された学習対象パケットについての送信元アドレスと先着ポートとの関係を学習情報として登録する学習情報登録工程と、前記学習情報登録工程によって登録された学習情報に該当するパケットを当該学習情報に係る前記先着ポートに対して転送するとともに、前記学習情報に該当しないパケットをこのパケットが到着した到着ポート以外のポートに対して転送する転送工程とを含んだことを特徴とする先着学習方法。
(付記2)前記学習情報登録工程は、前記パケットに転送優先度が設定されている場合に、低優先度パケットについての前記先着ポートを前記高優先度パケットについての前記先着ポートに変更することによって、前記学習情報の更新をおこなうことを特徴とする付記1に記載の先着学習方法。
(付記3)前記学習対象選択工程は、前記パケットに転送優先度が設定されている場合に、前記学習対象パケットとして高優先度パケットを選択することを特徴とする付記1に記載の先着学習方法。
(付記4)前記転送工程は、単一ポートに対して転送されるユニキャストパケットおよび複数ポートに対して転送されるブロードキャストパケットのうち、前記ブロードキャストパケットを前記ユニキャストパケットよりも優先して転送し、前記学習情報選択工程は、前記ブロードキャストパケットを前記学習対象パケットとして選択することを特徴とする付記1に記載の先着学習方法。
(付記5)前記ブロードキャストパケットは、プロトコル制御パケットであることを特徴とする付記4に記載の先着学習方法。
(付記6)前記学習情報登録工程は、複数の前記学習対象パケットに係る先着ポートについての統計情報に基づいて前記先着ポートを決定することによって、前記学習情報の更新をおこなうことを特徴とする付記1に記載の先着学習方法。
(付記7)前記学習情報登録工程は、前記学習情報に学習時刻を含めて登録するものであって、前記学習時刻から所定の時間が経過するまでは当該学習情報の更新をおこなわないことを特徴とする付記1に記載の先着学習方法。
(付記8)前記学習情報登録工程は、前記学習情報に係る送信元アドレスと同一の送信元アドレスを有する前記学習対象パケットが当該学習情報に係る先着ポートとは異なる他ポートに連続して所定回数以上到着したことを条件として、当該他ポートをあらたな先着ポートとすることを特徴とする付記1に記載の先着学習方法。
(付記9)前記学習情報登録工程は、前記学習情報に係る送信元アドレスと同一の送信元アドレスを有する前記学習対象パケットが当該学習情報に係る先着ポートとは異なる他ポートに到着した場合に、当該先着ポートへの到着比率が所定値を下回ったことを条件として、到着比率が最も高い他ポートをあらたな先着ポートとすることを特徴とする付記1に記載の先着学習方法。
(付記10)前記学習情報登録工程は、前記学習情報に係る送信元アドレスと同一の送信元アドレスを有する前記学習対象パケットが当該学習情報に係る先着ポートとは異なる他ポートに到着した場合に、当該先着ポートへの到着比率と他ポートの中で最も高い到着比率との比が所定値を下回ったことを条件として、到着比率が最も高い他ポートをあらたな先着ポートとすることを特徴とする付記1に記載の先着学習方法。
(付記11)前記学習情報登録工程は、前記学習情報に係る送信元アドレスと同一の送信元アドレスを有する前記学習対象パケットが当該学習情報に係る先着ポートとは異なる他ポートに到着した場合であっても、先着ポートの変更をおこなわないことを特徴とする付記1に記載の先着学習方法。
(付記12)前記転送工程は、経路またはノードの障害を検出したならば、学習情報消去用パケットを生成して転送し、前記学習情報登録工程は、前記学習情報消去用パケットを受け取ったならば、前記学習情報を消去することを特徴とする付記1に記載の先着学習方法。
(付記13)前記転送工程は、前記学習情報消去用パケットとしてSTPで用いられるBPDUを用いることを特徴とする付記12に記載の先着学習方法。
(付記14)前記転送工程は、前記学習情報消去用パケットとして通常パケットに障害情報を付加したパケットを用いることを特徴とする付記12に記載の先着学習方法。
(付記15)前記転送工程は、前記学習情報に該当しないパケットを前記到着ポート以外のすべてのポートに対して転送することを特徴とする付記1に記載の先着学習方法。
(付記16)前記転送工程は、前記中継装置に備えられた複数のポートがグループ分けされている場合に、前記学習情報に該当しないパケットを前記到着ポートと同一グループに所属するすべてのポートに対して転送することを特徴とする付記1に記載の先着学習方法。
(付記17)パケットが流通するネットワークで前記パケットの経路制御をおこなうとともに他の中継装置が複数の経路に対して送出した同一のパケットを最も早く受け取ったポートを先着ポートとして学習する中継装置であって、前記中継装置がキューイングしたパケットの中から経路学習に用いる学習対象パケットを選択する学習対象選択手段と、前記学習対象選択手段によって選択された学習対象パケットについての送信元アドレスと先着ポートとの関係を学習情報として登録する学習情報登録手段と、前記学習情報登録手段によって登録された学習情報に該当するパケットを当該学習情報に係る前記先着ポートに対して転送するとともに、前記学習情報に該当しないパケットをすべてのポートに対して転送する転送手段とを備えたことを特徴とする中継装置。
(付記18)パケットが流通するネットワークで前記パケットの経路制御をおこなうとともに他の中継装置が複数の経路に対して送出した同一のパケットを最も早く受け取ったポートを先着ポートとして学習する中継装置に搭載される中継装置用プログラムであって、前記中継装置がキューイングしたパケットの中から経路学習に用いる学習対象パケットを選択する学習対象選択手順と、前記学習対象選択手順によって選択された学習対象パケットについての送信元アドレスと先着ポートとの関係を学習情報として登録する学習情報登録手順と、前記学習情報登録手順によって登録された学習情報に該当するパケットを当該学習情報に係る前記先着ポートに対して転送するとともに、前記学習情報に該当しないパケットをすべてのポートに対して転送する転送手順とをコンピュータに実行させることを特徴とする中継装置用プログラム。
以上のように、本発明に係る先着学習方法、中継装置および中継装置用プログラムは、L2スイッチのパケット経路制御に有用であり、特に、L2スイッチを広域ネットワークに用いる場合のパケット経路制御に適している。
中継装置の構成を示すブロック図である。 パケット処理部の処理手順を示すフローチャートである。 MACテーブルの一例を示す図である。 同一性情報テーブルの一例を示す図である。 サービスクラスに基づいた学習情報更新を示す図である。 パケット順序逆転の一例を示す図である。 統計情報に基づいた先着ポート決定方式を示す図である。 学習時刻およびタイマに基づいた先着ポート決定方式を示す図である。 パケットの連続到着個数に基づいた先着ポート決定方式を示す図である。 先着到着比率に基づいた先着ポート決定方式を示す図である。 先着到着比率同士の比に基づいた先着ポート決定方式を示す図である。 実施例2に係るネットワーク構成を示す図である。 未学習パケットがノードBへ到着した場合の動作を示す図である。 フラッディングパケットがノードCへ到着した場合の動作を示す図である。 ユニキャストパケットの転送を示す図である。 先着ポート変更前の状態を示す図である。 先着ポート変更後の状態を示す図である。 障害発生時の動作を示す図である。 従来技術に係る先着学習方式における未学習パケット受信時の動作を示す図である。 従来技術に係る先着学習方式における既学習パケット受信時の動作を示す図である。 従来技術に係る問題点である先着ポートの不安定性を示す図である。
符号の説明
10 中継装置
11 パケット送受信部
12 パケット処理部
13 テーブル制御部
14 MACテーブル
15 同一性情報テーブル

Claims (9)

  1. パケットが流通するネットワークで前記パケットの経路制御をおこなう中継装置において他の中継装置が複数の経路に対して送出した同一のパケットを最も早く受け取ったポートを先着ポートとして学習する先着学習方法であって、
    前記中継装置がキューイングしたパケットの中から他のパケットより優先してキューから取り出して転送すると予め定義されたフラッディングパケットを経路学習に用いる学習対象パケットとして選択する学習対象選択工程と、
    前記学習対象選択工程によって選択された学習対象パケットについての送信元アドレスと先着ポートとの関係を学習情報として登録し、同一の送信元アドレスの前記学習対象パケットである転送優先度が低優先度の学習対象パケットおよび前記低優先度より高い優先度の高優先度の学習対象パケットそれぞれによる前記先着ポートについて、前記低優先度の学習対象パケットについての前記先着ポートを前記高優先度の学習対象パケットについての前記先着ポートに変更することにより前記学習情報を更新する学習情報登録工程と、
    前記学習情報登録工程によって登録された学習情報に該当するパケットを当該学習情報に係る前記先着ポートに対して転送するとともに、前記学習情報に該当しないパケットをこのパケットが到着した到着ポート以外のポートに対して転送する転送工程と
    を含んだことを特徴とする先着学習方法。
  2. 前記学習情報登録工程は、
    前記フラッディングパケットに転送優先度が設定されている場合に、低優先度パケットについての前記先着ポートを前記高優先度パケットについての前記先着ポートに変更することによって、前記学習情報の更新をおこなう
    ことを特徴とする請求項1に記載の先着学習方法。
  3. 前記転送工程は、
    単一ポートに対して転送されるユニキャストパケットおよび複数ポートに対して転送されるブロードキャストパケットのうち、前記ブロードキャストパケットを前記ユニキャストパケットよりも優先して転送し、
    前記学習対象選択工程は、
    前記ブロードキャストパケットを前記学習対象パケットとして選択する
    ことを特徴とする請求項1に記載の先着学習方法。
  4. 前記学習情報登録工程は、
    複数の前記学習対象パケットに係る先着ポートについての統計情報に基づいて前記先着ポートを決定することによって、前記学習情報の更新をおこなう
    ことを特徴とする請求項1に記載の先着学習方法。
  5. 前記学習情報登録工程は、
    前記学習情報に学習時刻を含めて登録するものであって、前記学習時刻から所定の時間が経過するまでは当該学習情報の更新をおこなわない
    ことを特徴とする請求項1に記載の先着学習方法。
  6. 前記学習情報登録工程は、
    前記学習情報に係る送信元アドレスと同一の送信元アドレスを有する前記学習対象パケットが当該学習情報に係る先着ポートとは異なる他ポートに到着した場合に、当該先着ポートへの到着比率と他ポートの中で最も高い到着比率との比が所定値を下回ったことを条件として、到着比率が最も高い他ポートをあらたな先着ポートとする
    ことを特徴とする請求項1に記載の先着学習方法。
  7. 前記転送工程は、
    経路またはノードの障害を検出したならば、学習情報消去用パケットを生成して転送し、
    前記学習情報登録工程は、
    前記学習情報消去用パケットを受け取ったならば、前記学習情報を消去する
    ことを特徴とする請求項1に記載の先着学習方法。
  8. パケットが流通するネットワークで前記パケットの経路制御をおこなうとともに他の中継装置が複数の経路に対して送出した同一のパケットを最も早く受け取ったポートを先着ポートとして学習する中継装置であって、
    前記中継装置がキューイングしたパケットの中から他のパケットより優先してキューから取り出して転送すると予め定義されたフラッディングパケットを経路学習に用いる学習対象パケットとして選択する学習対象選択手段と、
    前記学習対象選択手段によって選択された学習対象パケットについての送信元アドレスと先着ポートとの関係を学習情報として登録し、同一の送信元アドレスの前記学習対象パケットである転送優先度が低優先度の学習対象パケットおよび前記低優先度より高い優先度の高優先度の学習対象パケットそれぞれによる前記先着ポートについて、前記低優先度の学習対象パケットについての前記先着ポートを前記高優先度の学習対象パケットについての前記先着ポートに変更することにより前記学習情報を更新する学習情報登録手段と、
    前記学習情報登録手段によって登録された学習情報に該当するパケットを当該学習情報に係る前記先着ポートに対して転送するとともに、前記学習情報に該当しないパケットをすべてのポートに対して転送する転送手段と
    を備えたことを特徴とする中継装置。
  9. パケットが流通するネットワークで前記パケットの経路制御をおこなうとともに他の中継装置が複数の経路に対して送出した同一のパケットを最も早く受け取ったポートを先着ポートとして学習する中継装置に搭載される中継装置用プログラムであって、
    前記中継装置がキューイングしたパケットの中から他のパケットより優先してキューから取り出して転送すると予め定義されたフラッディングパケットを経路学習に用いる学習対象パケットとして選択する学習対象選択手順と、
    前記学習対象選択手順によって選択された学習対象パケットについての送信元アドレスと先着ポートとの関係を学習情報として登録し、同一の送信元アドレスの前記学習対象パケットである転送優先度が低優先度の学習対象パケットおよび前記低優先度より高い優先度の高優先度の学習対象パケットそれぞれによる前記先着ポートについて、前記低優先度の学習対象パケットについての前記先着ポートを前記高優先度の学習対象パケットについての前記先着ポートに変更することにより前記学習情報を更新する学習情報登録手順と、
    前記学習情報登録手順によって登録された学習情報に該当するパケットを当該学習情報に係る前記先着ポートに対して転送するとともに、前記学習情報に該当しないパケットをすべてのポートに対して転送する転送手順と
    をコンピュータに実行させることを特徴とする中継装置用プログラム。
JP2006341547A 2006-05-26 2006-12-19 先着学習方法、中継装置および中継装置用プログラム Expired - Fee Related JP5103892B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2006341547A JP5103892B2 (ja) 2006-05-26 2006-12-19 先着学習方法、中継装置および中継装置用プログラム
US11/799,134 US7760667B2 (en) 2006-05-26 2007-04-30 First-arrival learning method, relay apparatus, and computer product

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2006146774 2006-05-26
JP2006146774 2006-05-26
JP2006341547A JP5103892B2 (ja) 2006-05-26 2006-12-19 先着学習方法、中継装置および中継装置用プログラム

Publications (2)

Publication Number Publication Date
JP2008005458A JP2008005458A (ja) 2008-01-10
JP5103892B2 true JP5103892B2 (ja) 2012-12-19

Family

ID=38749413

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006341547A Expired - Fee Related JP5103892B2 (ja) 2006-05-26 2006-12-19 先着学習方法、中継装置および中継装置用プログラム

Country Status (2)

Country Link
US (1) US7760667B2 (ja)
JP (1) JP5103892B2 (ja)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7932264B2 (en) 2005-12-15 2011-04-26 Naturemed Group Corporation Sinomenine derivatives and preparation and uses thereof
JP4751817B2 (ja) * 2006-12-04 2011-08-17 富士通株式会社 パケット転送装置およびネットワークシステム
JP4924501B2 (ja) * 2008-03-21 2012-04-25 富士通株式会社 ゲートウェイ装置、及びハンドオーバ方法
GB2463307B (en) * 2008-07-08 2012-12-12 Gnodal Ltd A Method of controlling data propagation within a network
JP2011015094A (ja) * 2009-06-30 2011-01-20 Fujitsu Ltd フレーム中継装置、フレーム中継方法
US20100329258A1 (en) * 2009-06-30 2010-12-30 Alcatel-Lucent Usa Inc. Dynamically enabling mpls stations and ports using an arp database
JP5208869B2 (ja) * 2009-07-03 2013-06-12 アラクサラネットワークス株式会社 ネットワーク中継装置、その制御方法およびコンピュータプログラム
US8804489B2 (en) * 2010-09-29 2014-08-12 Telefonaktiebolaget L M Ericsson (Publ) Fast flooding based fast convergence to recover from network failures
US9749241B2 (en) * 2010-11-09 2017-08-29 International Business Machines Corporation Dynamic traffic management in a data center
ES2392409B2 (es) 2011-05-10 2013-06-12 Universidad De Alcala Procedimiento de reparacion de caminos de tramas de datos y puente de red
US9426067B2 (en) 2012-06-12 2016-08-23 International Business Machines Corporation Integrated switch for dynamic orchestration of traffic
JP5971072B2 (ja) * 2012-10-12 2016-08-17 富士通株式会社 フレーム転送装置及びフレーム転送方法
JP2015192237A (ja) * 2014-03-27 2015-11-02 富士通株式会社 伝送装置、伝送システム、伝送方法及び伝送プログラム
GB2524749B (en) * 2014-03-31 2018-12-19 Metaswitch Networks Ltd Spanning tree protocol
JP6619448B2 (ja) * 2015-04-30 2019-12-11 華為技術有限公司Huawei Technologies Co.,Ltd. 経路選択方法、装置、およびシステム
JP2022019282A (ja) * 2020-07-17 2022-01-27 富士通株式会社 パケットスイッチおよびタイムスロットの設定方法

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03162035A (ja) 1989-11-20 1991-07-12 Fujitsu Ltd ネットワーク間相互接続方式
JPH0637764A (ja) * 1992-07-20 1994-02-10 Fujitsu Ltd リモートブリッジのルーティング方式及びリモートブリッジ装置
US6934258B1 (en) * 1999-05-26 2005-08-23 Nortel Networks Limited Quality of service based transitioning between alternate transport paths
KR20030039428A (ko) * 2001-11-13 2003-05-22 학교법인대우학원 패킷 지연을 기반으로 하는 라우팅 방법
EP1330078A1 (en) * 2002-01-16 2003-07-23 Lucent Technologies Inc. Spanning tree method
US7188189B2 (en) * 2003-04-02 2007-03-06 Avaya Technology Corp. System and method to improve the resiliency and performance of enterprise networks by utilizing in-built network redundancy
JP2005051691A (ja) * 2003-07-31 2005-02-24 Yazaki Corp スイッチングハブ
JP4481147B2 (ja) * 2004-10-28 2010-06-16 富士通株式会社 Macアドレス学習装置

Also Published As

Publication number Publication date
US7760667B2 (en) 2010-07-20
JP2008005458A (ja) 2008-01-10
US20070274295A1 (en) 2007-11-29

Similar Documents

Publication Publication Date Title
JP5103892B2 (ja) 先着学習方法、中継装置および中継装置用プログラム
JP3123467B2 (ja) ブリッジ
US8208407B2 (en) Optimized flush operation in response to topology changes for spanning tree protocols
US8917604B2 (en) Performing rate limiting within a network
EP1002401B1 (en) Multi-layer destributed network element
US6717950B2 (en) Method and apparatus for priority-based load balancing for use in an extended local area network
JP4873834B2 (ja) ファイバーチャンネルフレーム配送のための方法及び装置
US7558214B2 (en) Mechanism to improve concurrency in execution of routing computation and routing information dissemination
US9503360B2 (en) Method and apparatus for traffic engineering in shortest path bridged networks
US20070127367A1 (en) Communication system and communication method
JPWO2007094520A1 (ja) ノード、ネットワークシステム、フレーム転送方法及びフレーム転送プログラム
US7466655B1 (en) Ant-based method for discovering a network path that satisfies a quality of service equipment
US20090300209A1 (en) Method and system for path based network congestion management
JP2006217597A (ja) パケットの流失を抑制するためのルーティング方法及び装置
JP4884525B2 (ja) 通信経路制御方法、通信装置及び通信システム
US8018953B1 (en) Adaptive, deterministic ant routing approach for updating network routing information
CN101335714A (zh) 一种负载分担的方法及设备或快速重路由的方法及设备
US7773610B2 (en) QoS and fault isolation in BGP traffic, address families and routing topologies
JP2007258955A (ja) 先着学習方法、中継装置および中継装置用プログラム
US7859997B2 (en) Packet handling on a network device
JP2004248085A (ja) 経路決定方法および経路決定装置
JP4751817B2 (ja) パケット転送装置およびネットワークシステム
JP2004289647A (ja) データ中継方法、データ中継装置およびその装置を用いたデータ中継システム
JP2005159983A (ja) ラベルスイッチングネットワーク、ルートサーバ、およびラベルエッジルータ
JP2004349881A (ja) フラッディング量削減方法および通信装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090907

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110201

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110301

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110428

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20111004

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111115

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20120410

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120517

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

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20120612

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

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

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20151012

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees