JP4391636B2 - 多段キューイング方式を備えたスイッチング装置 - Google Patents
多段キューイング方式を備えたスイッチング装置 Download PDFInfo
- Publication number
- JP4391636B2 JP4391636B2 JP28295199A JP28295199A JP4391636B2 JP 4391636 B2 JP4391636 B2 JP 4391636B2 JP 28295199 A JP28295199 A JP 28295199A JP 28295199 A JP28295199 A JP 28295199A JP 4391636 B2 JP4391636 B2 JP 4391636B2
- Authority
- JP
- Japan
- Prior art keywords
- packet
- queue
- port
- related data
- stage
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/25—Routing or path finding in a switch fabric
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/90—Buffering arrangements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/02—Details
- H04L12/16—Arrangements for providing special services to substations
- H04L12/18—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/20—Support for services
- H04L49/201—Multicast operation; Broadcast operation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/20—Support for services
- H04L49/205—Quality of Service based
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/30—Peripheral units, e.g. input or output ports
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/35—Switches specially adapted for specific applications
- H04L49/351—Switches specially adapted for specific applications for local area network [LAN], e.g. Ethernet switches
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
【発明の属する技術分野】
本発明は、一般には、ネットワークスイッチング装置に関し、より詳細には、スイッチング装置を介してデータパケットを転送するための方法および手段に関する。
【0002】
【従来の技術】
ローカルエリアネットワーク(LAN)は、複数のコンピュータがお互いに情報を直接に交換できるように、それらのコンピュータを直接に接続するためのシステムである。LANは局所的なものであると考えられる。なぜなら、LANは、例えば、オフィス、ビル、または、小さなキャンパスのような小さな領域においてコンピュータを接続するように設計されるからである。LANは、システムであると考えられる。なぜなら、LANは、例えば、ケーブル、リピータ、スイッチ、ルータ、ネットワークインタフェース、ノード(例えば、コンピュータ)、および、通信プロトコルなどの様々な構成要素からなるからである。イーサネットは、そのようなプロトコルの1つである。情報は、LANを介して、データパケット内の伝送フレームとして伝達される(「フレーム」および「データパケット」は、技術的には異なるものであるが、情報を搬送するデータを表現するものとして互換的によく使用される)。
【0003】
LANスイッチ(あるいは、より一般的には、パケットスイッチ)は、一般には、それが受信した個々のパケットに存在する宛先アドレスおよび/またはその他の情報に基づいて、それの様々なポート間でデータを転送するマルチポート装置として定義される。LANをセグメント化し、様々なLANを接続し、あるいは、LANの衝突する直径を拡大するのにスイッチを使用することができる。イーサネットに基づいたLANにとって、ネットワークの直径を拡大するそれらの能力のためには、スイッチはとくに重要である。パケットスイッチに関するさらなる背景技術については、「Fast Ethernet(1997)」L.Quinn et al.、Computer Networks(3rd Ed.1996)by A.Tannenbaum、および、「High−Speed Networking with LAN Switches(1997)」by G.Held、などの多くの参照文献から知ることができ、これらの参照文献のすべてがここに援用される。
【0004】
パケットスイッチは、一般には、3つの種類のトラフィックを備える。すなわち、ユニキャスト、マルチキャスト、および、ブロードキャストである。ユニキュストトラフィックは、ソースポートまたは入ポートから1つの宛先ポートまたは出ポートへ伝搬するパケットからなる。マルチキャストトラフィックは、パケット内の宛先リストに従って、1つの送信ポートから多くの宛先ポートへ伝搬するパケットからなる。ブロードキャストトラフィックは、マルチキャストトラフィックの特殊な場合であり、宛先リストは、すべての宛先ポートを含み、そのようなものとして、マルチキャストを取り巻く問題は、ブロードキャストトラフィックにも同じように発生する。
【0005】
【発明が解決しようとする課題】
マルチキャストトラフィックは、パケットスイッチにとって問題となる。なぜなら、マルチキャストパケットは、パケットスイッチ内で複製されなければならないからである。この複製は、複製するのに必要な時間のために、パケットスイッチがマルチキャストフレームに続くフレームを送信するのを遅らせる場合がある。この複製時間は、送信ポートから宛先ポートへの妨害のないアクセスのために送信をスケジュールしなければならないクロスバースイッチアーキテクチャにおいてはとくに顕著である。なぜなら、送信ポートは、その宛先ポートへ宛てられた他のトラフィックが終了するのを待たなければならないからである。共有メモリスイッチアーキテクチャにはこのような問題はない。なぜなら、すべてのポートが、お互いに独立したスイッチメモリにアクセスするからである。共有メモリスイッチにおいては、パケットは、中央メモリに格納され、送信ポートは、転送のためのパケットのロケーションを、宛先ポートに通知する転送決定を行う。それぞれの宛先ポートは、他のポートには関係なく、マルチキャストパケットをそれの格納ロケーションから取り出すことができる。しかしながら、共有メモリスイッチにおいては、転送決定に対しての宛先ポートの応答は、例えば、それがマルチキャストパケットを含む場合には、時間がかかることがある。宛先リスト上のそれぞれの宛先ポートは、共有メモリにパケットを要求しなければならない。遅延のために必要なこの時間は、宛先ポートがその要求を終了しても、さらなるトラフィックが送信ポートで受信されれば、転送決定を促進し、送信ポートにおいて輻輳を発生させることがある。
【0006】
パケットスイッチにおける輻輳は、様々な原因で発生し得る。1つの宛先ポートへ送信する1つよりも多いポートが存在する場合には、宛先ポートで輻輳が発生することがあり、そのポートは、申込超過である(oversubscribed)と呼ばれる。宛先ポートが送信することのできる速さに対しての送信ポートでトラフィックが生成される速さの比は、申込超過比(oversubscription ratio)と呼ばれる。さらに、ソースネットワークメディアおよび宛先ネットワークメディアにおける速度の不一致が、輻輳を発生させることもある(もう1つの申込超過の例)。例えば、トラフィックがスイッチにおいてポート0からポート1へ伝搬し、ポート0が100メガビット/秒で動作し、ポート1が10メガビット/秒で動作する場合、トラフィックは、すぐに渋滞してポート1へ出るのを待つことがある。また、トラフィックシェーピングが輻輳を発生させることもある。これは、宛先ポートが、トラフィック処理のための能力より低い伝送速度となるように意図的に抑制される処理である。
【0007】
通常のパケットネットワークトラフィックは、定常状態の申込超過を許可しない。ネットワークスイッチング装置は、無限にデータをバッファリングすることができないので、ポートにおける申込超過の状態は、そのネットワーク装置に固有の記憶能力によって制限される。しかしながら、上述において列挙したいずれかの理由またはすべての理由のために、ネットワークポートが申込超過である短時間のバーストを有することもまた通常のネットワークの動作である。ポート数の多いスイッチング装置は、これらの通常のバーストの間、大きな申込超過比となる可能性をもたらす。
【0008】
エンドステーション(LAN内のノードのような)は、セッションと呼ばれるチャンネルを確立することによって、パケットネットワークを介して通信を行う。このセッションは、エンドステーション間で会話している間は一定のままの特徴を有する。例えば、ファイルを転送するために、ステーションAが、パケットネットワークを介してステーションBと対話する場合、Aがパケットを送信するとき、それらのパケットのすべてには、宛先としてのBのネットワークアドレスとソースとしてのAのネットワークアドレスとを備えたラベルが付される。また、AとBとの間で送信されるパケット内のその他の情報、例えば、優先順位、VLAN、ネットワークプロトコルなどは、一般には、与えられたセッションに対して一定のままである。パケットネットワーク内のそれぞれのステーションは、同一かまたは異なる宛先ステーションとの複数のセッションを実行してもよい。一般に、これらのセッションにおけるパケットは、それらの宛先に順々に到着しなければならない。すなわち、ネットワーク装置は、それらを並べ替えてはならない。
【0009】
与えられたセッションからのパケットがパケットスイッチに入ると、スイッチは、パケット内のフィールドを評価し、転送決定(そのパケットがどこに行くのか?)を行わなければならない。転送決定を実行した後、出口でのキューイングを備えたパケットスイッチは、1つよりも多い送信キューにマルチキャストパケットを登録しなければならない(キューは、FIFO(First in/First out)の記憶装置である)。ネットワークメディアの速度が速くなると、これらのキューイング操作を実行するのに許される時間は短くなる。出口のポートの輻輳は、この問題を悪化させる。通常のパケットネットワーク動作によって発生する大きな申込超過比のために、出口でのキューイング機構は、予測可能な操作を維持するために、多くのソースからのパケットを同時にキューイングしなければならない。輻輳に対処するためにキューイング機構が多くの作業を実行すればするほど、マルチキャストパケットを複製するのはますます困難になる。
【0010】
したがって、本発明の目的は、スイッチング装置を介してのマルチキャストパケットのようなパケットによる通信を向上させるための方法および手段を提供することである。
【0011】
【課題を解決するための手段】
スイッチング装置において、送信ポートから宛先ポートへデータパケットを伝達する方法は、送信ポートからのパケット関連データを第1の段のキューに格納する段階と、どの宛先ポートが第1の段のキュー内のパケット関連データを受け取るべきかをパケット関連データから決定する段階と、各々の決定された宛先ポートに関連付けられた第2の段のキューに、第1の段のキューからのパケット関連データを格納する段階と、第2の段のキュー内のパケット関連データを使用して、送信ポートから各々の決定された宛先ポートへのデータパケットの伝達を達成する段階と、を含む。この方法を実施するための装置は、送信ポートからのパケット関連データを格納する第1の段のキューと、第1の段のキューからのパケット関連データを格納する、宛先ポートのセットのそれぞれに関連付けられた第2の段のキューと、を含む。
【0012】
本発明のこれらのそしてその他の局面、特徴、および利点が、図面を参照して、例としての実施の形態によって以下で説明される。
【0013】
【発明の実施の形態】
概要
あるセッションのパケットが、パケットネットワークを介して伝搬するとき、それらのパケットは、それらのパケット内のデータフィールドの内容に基づいて、同じ宛先への様々な経路を選択することができる。例えば、たとえセッションが同一のソースおよび宛先を有していても、ステーションAおよびB間におけるビデオ会議セッションは、優先順位7、VLAN5と指定されてもよく、同じ2つのステーション間における電子メールセッションは、優先順位3、VLAN12と指定されてもよい。セッションにおけるこれらの相違点の結果として、データストリーム内のパケットは、ネットワークを介して物理的に異なる経路を選択することができる。また、セッションは、ネットワークを介して同じ経路を選択し、しかも、ネットワーク装置によって異なる処理がなされてもよい。すなわち、1つのセッションからのパケットは、異なるセッションからのパケットの後にスイッチに入り、しかも、より高い優先順位処理の結果として最初にスイッチを出てもよい。
【0014】
ネットワークスイッチは、それぞれのパケット内のこれらのデータフィールドを検査してそれを分類することができる。本発明は、パケットの分類を利用して輻輳時におけるマルチキャストパケットのキューイングの帯域幅負担を減少させる。これは、パケットがユニキャストであるかまたはマルチキャストであるかに依存することなく、パケットの分類(特徴)を識別することによって達成される。これを実施することによって、キューイングは複数の段に分割されてもよく、第1の段は、ポートグループの中のいずれかのポートに宛てられた広い範囲のパケットの種類(および、可能性としてはセッション)にしか関係しない。そして、さらなる段は、必要であればこれらのキューを処理してもよく、かつ、マルチキャストの場合には、それぞれの宛先ポートごとにパケットを複製することによってさらなるキューイングを実行する。マルチキャスト複製がスイッチ内で依然として発生するが、第1の段のキューイングがその後の段のためのバッファとして動作するので、即座に発生しなくてもよい。これは、通常のバースト的な申込超過の状態を吸収するのを可能にするとともに、セッション処理の一貫性(パケットの順序)を維持する。
【0015】
本発明の具体例は、第1の段がパケットの優先順位に基づいてそれらのパケットをキューイングする2段キューイング方式である。所定の優先順位を備えたすべてのセッションは、第1の段のキューにおいて等しい重みを付与される。これらのセッションには、マルチキャストセッションおよびユニキャストセッションが含まれることに注意されたい。セッション内のすべてのパケットは、1つのキューに格納されるので、パケットを順序づけるための条件が維持される。第2の段のキューは、優先順位キューを処理する。すなわち、優先順位キューをポートキューに移し、必要であればマルチキャストパケットを複数のキューに展開する。第1の段のキューは、マルチキャストパケットを複数の宛先ポートに展開しなくてもよいので、第1の段においてそれらの宛先へパケットをキューイングするのに、より少ないキューイング操作しか必要としない。マルチキャスト複製は、第2の段のキューイング機構によって処理される。これによって、速度の不一致、トラフィックシェーピング、申込超過、およびポート数による、通常のバースト的に申込超過されたパケットネットワーク状態において、より多くのポートを有効に利用できる。このことは、ネットワークメディアがギガビット/秒以上の速度を達成するにつれて、ますます重要となる。
【0016】
例としての実施の形態の動作は、ポートがマルチキャストトラフィックを受信する際の輻輳時を除いては多段キューイングが認識されないようなものである。すなわち、それは、通常動作時には見ることができず、ピーク使用時に性能を向上させるように動作する。
【0017】
本発明は、第1の段のキューイング条件として優先順位を使用することに限定されないことに注意されたい。これは、分類規則として選択された任意のセッション特徴であり、それは、もちろん、ネットワークプロトコルの種類、あるいはサービスの種類であってもよい。さらに、本発明は、出口でのキューイング装置に限定されないこと、および、入口でのキューイングのパケットスイッチに利用されてもよいことに注意されたい。さらに、本発明は、2段のキューイングのパイプラインに限定されない。
構成および機能
図1は、本発明によるスイッチング装置18の部分ブロック構成図である。スイッチング装置は、各々がメディアアクセス制御(MAC)を含む多くの双方向ポート20(それぞれ、ポート1〜10のように符号が付されている)および転送決定ロジック22を含む。ここでの説明のために、例えば、ネットワーク、ノード、ステーションなどの外部エンティティからデータパケットを受け取り、かつ、そのパケットを他のポートへ内部転送するポートは、入ポートまたは送信ポートと呼ばれる。データパケットを内部的に受け取り、かつ、そのデータパケットを外部エンティティへ送信するポートは、出ポートまたは宛先ポートと呼ばれる。さらに、スイッチファブリック24およびキューイング装置26が、スイッチ18内に示されている。スイッチング装置のその他の部分は、本質的には従来型のものであってもよく、本発明には関係がないので図示および説明はしない。
【0018】
それぞれのポート内のMACおよび転送決定ロジック22は、従来設計のものでよい。それらを介して、送信ポートは、データパケットを受け取り、それを1つかまたはそれ以上の宛先ポートへ転送する。データパケット内にリストとして記述された宛先に基づいて、転送決定を伝達する処理が、転送決定ロジックによって実行される。転送決定ロジック22は、パケットがスイッチファブリックに格納されている場所へのポインタ(ファブリックが共有メモリの場合)、パケットの種類(優先順位など)、およびそのパケットがどのポートに転送されるべきか(ユニキャストの場合には1つのポート、マルチキャストの場合には複数のポート、ブロードキャストの場合には、送信ポートを除いたすべてのポート)などの情報(パケット関連データ)をキューイング装置に転送する。さらに、転送決定ロジックは、スイッチファブリック24内のポインタが指示するロケーションへデータパケットを格納する。
【0019】
例としての実施の形態におけるスイッチファブリック24は、全部のデータパケットを格納する共有メモリであり、宛先ポートは、この共有メモリからコピーを取り出すことができる。しかしながら、本発明は、共有メモリアーキテクチャに限定されない。スイッチファブリックは、クロスバーマトリックスのような別のアーキテクチャによるものであってもよい。
【0020】
転送決定ロジック22からパケット関連データを受け取るキューイング装置26が、図2により詳細に示される。装置26は、特徴検出ロジック30と、特徴検出ロジックの出力に結合された第1の段のキュー32と、第1の段のキューの出力に結合されたポートメンバーシップ決定ロジック34と、ポートメンバーシップ決定ロジックの出力に結合された第2の段のキュー36とを含む。
【0021】
特徴検出ロジック30は、パケットの特徴(例えば、優先順位)をパケット関連データから検出し、かつ、どのポートがパケットを取り出すべきかを宛先リストから決定する。例としての実施の形態における宛先リストは、パケット関連データ内に番号としてコード化され、それは、ルックアップテーブル内の対応するポートグループを探索するために、ロジック30によって使用される。宛先ポートを指示するために、ポート番号をパケット関連データ内に直接に提供するような別の手段が使用されてもよい。
【0022】
第1の段のキュー32は、パケットの特徴に基づいて、パケット関連データを格納する。例としての実施の形態においては、その特徴は、パケットの優先順位(1〜8のレベル)である。したがって、第1の段のキューは、複数の第1のキューを含み、そのそれぞれは、異なる優先順位レベルのパケットに対応するパケット関連データをそれらが受信された順序で格納する。
【0023】
ポート決定ロジック34は、サービス方式に基づいて、第1の段のキューを読み込み、第1の段内のパケット関連データをどの宛先ポートが受け取るべきかをパケット関連データから決定する。そして、ロジック34は、第2の段のキュー36の適切な位置にポインタを格納する。
【0024】
例としての実施の形態における第2の段のキュー36は、キューイング装置に接続されたポートごとに、第1の段のキューに対応するキューのセットを含む。例えば、第1の段のキューは、8つの優先順位キューを含み、第2の段のキューは、それが接続されたポートごとに、対応する8つの優先順位キューのセットを含む。この構成によれば、第1の段のキューのそれぞれのキュー内のポインタを、決定された宛先ポートごとに、第2の段のキューの対応するキューに容易にコピーすることができる。
【0025】
さらに、キューイング装置は、スイッチファブリック24にパケットを要求し(パケット要求)、かつ、パケットをスイッチファブリックから宛先ポートに転送する(パケット送信)ための従来からのロジック(簡単のために図2には図示しない)を含む。この従来からのロジックは、例としての実施の形態においては、オプションとしてキューイング装置に含まれる。しかしながら、望ましいのであれば、このロジックは、キューイング装置から分離したほうがよいかもしれない。
【0026】
〔動作〕
スイッチ18の送信ポートから1つかまたはそれ以上の宛先ポートへ送られるデータパケットは、以下のようにして、スイッチング装置を介して伝搬する。ポートが受け取ったデータパケットは、ポートのMACによって処理され、物理的なLANインタフェースからの整ったフレームを生成する。MACは、パケットを転送決定ロジック22に提供し、転送決定ロジック22は、パケットの種類を分類し、パケットがどのポートに送られるべきかについてパケット内の宛先リストから転送決定を行う。転送決定ロジック22は、スイッチファブリック内のロケーション(例としての実施の形態においては共有メモリ)にパケットを転送する。さらに、転送決定ロジック22は、パケットの種類、パケットが格納されている共有メモリ内のロケーションへのポインタ、および、転送決定を含むパケット関連データを生成し、このデータをキューイング装置26に送る。
【0027】
キューイング装置は、検出ロジック30においてパケット関連データを受け取り、それを第1の段のキュー32に格納する。データを第1の段のキューに格納する処理において、ロジックは、もしあれば、データポートから、どのポートにパケットがキューイングされるべきかを決定する。そして、ロジックは、ポインタおよび宛先ポート情報を第1の段のキューの中の適切なキューに格納する。例としての実施の形態においては、データは、パケットの優先順位に基づいてキューに格納されるが、データがどこに格納されるかを決定するのに、パケットのその他の特徴が使用されてもよい。
【0028】
そして、決定ロジック34によって、キューイング装置は、特徴が優先順位である優先順位サービス方式のような、キューを読み込むための方式に基づいて、第1の段の複数のキューからデータを得る。決定ロジック34は、得られたばかりのパケット関連データから、どの宛先ポートがポインタを受け取るべきかを決定し、それぞれの決定された宛先ポートに関連付けられた第2の段のキュー36内の適切なロケーションにそのポインタを転送する。例としての実施の形態においては、第2の段のキューは、第1の段のキューの複数のキューに対応する複数のキューをポートごとに含む。この実施の形態においては、パケット特徴としての優先順位によって、ロジック36は、第1の段のキューにおけるポインタのための優先順位キューに対応するポートごとの優先順位キューにポインタを転送する。
【0029】
そして、キューイング装置は、第2の段のキュー内のデータを使用して、送信ポートから各々の決定された宛先ポートへのデータパケットの伝達を達成する。サービス方式によって第2の段のキューを処理するとき、キューイング装置は、スイッチファブリック24内のパケットへのポインタをキューから得て、これらのパケットをスイッチファブリックに要求する。スイッチファブリックは、ポインタによって指示されるパケットをキューイング装置に送ることによって応答し、キューイング装置は、それを適切なポートへ送出する。マルチキャストデータパケットのように複数の宛先ポートが存在する場合には、キューイング装置は、ポートごとに別々に要求を行う。
【0030】
キューイング装置26は、スイッチ18の出力経路または送信経路として示される。この構成においては、スイッチは、「送信がバッファリングされた」装置あるいは「出力がバッファリングされた」装置と呼ばれる。クロスバーのような異なるスイッチアーキテクチャの場合、キューイング装置は、スイッチの入側に存在してもよく、それでも、本発明を適用することができる。そのような利用形態においては、キューイング装置は、「入力がバッファリングされた」装置と呼ばれる。なぜなら、キューは、スイッチング装置の送信ポートにおいて格納されるからである。
【0031】
ここに図示され説明された本発明の実施の形態によって本発明の原理を理解すれば、当業者には、実施の形態の配置および細部をそのような原理から逸脱することなく変更できることがわかるであろう。上述した機能を提供すると同時に、様々なモジュールの構成を変更することができる。様々なモジュールの構成要素は、望ましいのであれば、ハードウェア、ソフトウェア、あるいは、ファームウェアによって実現されてもよい。パケット関連データは、ポインタ、別の構造体、または、データパケットそのものであってもよい。本発明は、適切であれば、例えばLANスイッチおよびルータのようなどのようなパケット交換装置にも使用されてよい。
【0032】
本発明の原理が適用できる多くの想定される実施の形態を考えると、これらの実施の形態は説明のためだけのものであり、本発明の範囲を限定するものではないことを理解すべきである。すなわち、本発明は請求の範囲で規定される。したがって、あらゆる実施の形態およびそれに等価なものは特許請求の範囲に含まれる。
【図面の簡単な説明】
【図1】本発明によるパケットスイッチの全体構成図である。
【図2】図1に示されるパケットスイッチ内のキューイング装置の構成図である。
【符号の説明】
18 スイッチング装置
20 ポート
22 転送決定ロジック
24 スイッチファブリック
26 キューイング装置
30 特徴検出ロジック
32、36 キュー
34 ポートメンバーシップ決定ロジック
Claims (19)
- スイッチング装置において送信ポートから宛先ポートへデータパケットを伝達する方法であって、
送信ポートからのパケット関連データを第1の段のキューに格納する段階と、
どの宛先ポートが、第1の段のキュー内のパケット関連データを受け取るべきかをパケット関連データから決定する段階と、
各々の決定された宛先ポートに関連付けられた第2の段のキューに、第1の段のキューからのパケット関連データを格納する段階と、
第2の段のキュー内のパケット関連データを使用して、送信ポートから各々の決定された宛先ポートへのデータパケットの伝達を達成する段階と、を含み、
第1の段のキューが、複数の第1のキューを含み、第1の段のキューにパケット関連データを格納する段階が、パケットの特徴に基づいて特定の第1のキューにパケット関連データを格納することを含む方法。 - パケット関連データが、メモリへのポインタおよび宛先ポートのリストである請求項1に記載の方法。
- 送信ポートからのパケット関連データを第1の段のキューへ送る段階を含む請求項1に記載の方法。
- パケットの特徴が、優先順位である請求項1に記載の方法。
- パケットの特徴が、ネットワークプロトコルの種類である請求項1に記載の方法。
- パケットの特徴が、サービスの種類である請求項1に記載の方法。
- パケットの特徴が、パケットがユニキャスト型であるかそれともマルチキャスト型であるかのパケットの型以外のものである請求項1に記載の方法。
- それぞれの第2の段のキューが、複数の第2のキューを含み、第2の段のキューにパケット関連データを格納する段階が、パケットの特徴に基づいて特定の第2のキューにパケット関連データを格納することを含む請求項1に記載の方法。
- パケット関連データが、データパケットである請求項1に記載の方法。
- スイッチング装置が、データパケットを送信ポートから宛先ポートへ伝達するために共有メモリを使用し、第2の段のキュー内のパケット関連データを使用して送信ポートから各々の決定された宛先ポートへのデータパケットの伝達を達成する段階が、共有メモリからデータパケットのコピーを得るために、データを使用することを含む請求項1に記載の方法。
- スイッチング装置が、データパケットを送信ポートから宛先ポートへ伝達するためにクロスバーマトリックスを使用し、第2の段のキュー内のパケット関連データを使用して送信ポートから各々の決定された宛先ポートへのデータパケットの伝達を達成する段階が、データパケットのコピーを送信ポートから各々の決定された宛先ポートへ同時に伝達するために、パケット関連データを使用してマトリックスによる接続を形成することを含む請求項1に記載の方法。
- スイッチング装置において送信ポートから宛先ポートへデータパケットを伝達するための装置であって、
送信ポートからのパケット関連データを格納する第1の段のキューと、
第1の段のキューからのパケット関連データを格納する、宛先ポートのセットのそれぞれに関連付けられた第2の段のキューと、を含み、第1の段のキューが、複数の第1のキューを含み、パケット関連データが、パケットの特徴に基づいて特定の第1のキューに格納される、装置。 - どの宛先ポートが、第1の段のキュー内のパケット関連データを受け取るべきかを、パケット関連データから決定するための手段を含む請求項12に記載の装置。
- 第2の段のキュー内のパケット関連データを使用して、送信ポートから各々の決定された宛先ポートへのデータパケットの伝達を達成するための手段を含む請求項13に記載の装置。
- パケット関連データを、送信ポートから第1の段のキューに送るアドレス解析ロジックを含む請求項12に記載の装置。
- それぞれの第2の段のキューが、複数の第2のキューを含み、パケット関連データが、パケットの特徴に基づいて特定の第2のキューに格納される請求項12に記載の装置。
- スイッチング装置が、データパケットを送信ポートから宛先ポートへ伝達するために共有メモリを使用する請求項12に記載の装置。
- スイッチング装置が、データパケットを送信ポートから宛先ポートへ伝達するためにクロスバーマトリックスを使用する請求項12に記載の装置。
- スイッチング装置において送信ポートから宛先ポートへデータパケットを伝達するための装置であって、
送信ポートからのパケット関連データを第1の段のキューに格納するための手段と、
どの宛先ポートが、第1の段のキュー内のパケット関連データを受け取るべきかをパケット関連データから決定するための手段と、
各々の決定された宛先ポートに関連付けられた第2の段のキューに、第1の段のキューからのパケット関連データを格納するための手段と、
第2の段のキュー内のパケット関連データを使用して、送信ポートから各々の決定された宛先ポートへのデータパケットの伝達を達成するための手段と、を含み、第1の段のキューが、複数の第1のキューを含み、パケット関連データが、パケットの特徴に基づいて特定の第1のキューに格納される、装置。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/166,343 US6920146B1 (en) | 1998-10-05 | 1998-10-05 | Switching device with multistage queuing scheme |
US166343 | 1998-10-05 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2000151714A JP2000151714A (ja) | 2000-05-30 |
JP4391636B2 true JP4391636B2 (ja) | 2009-12-24 |
Family
ID=22602875
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP28295199A Expired - Fee Related JP4391636B2 (ja) | 1998-10-05 | 1999-10-04 | 多段キューイング方式を備えたスイッチング装置 |
Country Status (5)
Country | Link |
---|---|
US (1) | US6920146B1 (ja) |
EP (1) | EP0993152B1 (ja) |
JP (1) | JP4391636B2 (ja) |
DE (1) | DE69917555T2 (ja) |
ES (1) | ES2221283T3 (ja) |
Families Citing this family (34)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7016365B1 (en) * | 2000-03-31 | 2006-03-21 | Intel Corporation | Switching fabric including a plurality of crossbar sections |
US7007071B1 (en) | 2000-07-24 | 2006-02-28 | Mosaid Technologies, Inc. | Method and apparatus for reducing pool starvation in a shared memory switch |
US7111072B1 (en) | 2000-09-13 | 2006-09-19 | Cosine Communications, Inc. | Packet routing system and method |
US7487232B1 (en) * | 2000-09-13 | 2009-02-03 | Fortinet, Inc. | Switch management system and method |
US7389358B1 (en) | 2000-09-13 | 2008-06-17 | Fortinet, Inc. | Distributed virtual system to support managed, network-based services |
US7574495B1 (en) * | 2000-09-13 | 2009-08-11 | Fortinet, Inc. | System and method for managing interworking communications protocols |
US8250357B2 (en) | 2000-09-13 | 2012-08-21 | Fortinet, Inc. | Tunnel interface for securing traffic over a network |
US7272643B1 (en) | 2000-09-13 | 2007-09-18 | Fortinet, Inc. | System and method for managing and provisioning virtual routers |
US7444398B1 (en) * | 2000-09-13 | 2008-10-28 | Fortinet, Inc. | System and method for delivering security services |
KR100637990B1 (ko) * | 2001-03-26 | 2006-10-23 | 듀아키시즈 가부시키가이샤 | 프로토콜 이중화 장치 및 프로토콜 이중화 방법 |
US7181547B1 (en) | 2001-06-28 | 2007-02-20 | Fortinet, Inc. | Identifying nodes in a ring network |
US20060064506A1 (en) * | 2002-04-09 | 2006-03-23 | Mielke Gregory D | Network architecture that supports a dynamic IP addressing protocol across a local exchange bridged network |
US7161904B2 (en) | 2002-06-04 | 2007-01-09 | Fortinet, Inc. | System and method for hierarchical metering in a virtual router based network switch |
US7376125B1 (en) | 2002-06-04 | 2008-05-20 | Fortinet, Inc. | Service processing switch |
US7203192B2 (en) * | 2002-06-04 | 2007-04-10 | Fortinet, Inc. | Network packet steering |
US7177311B1 (en) * | 2002-06-04 | 2007-02-13 | Fortinet, Inc. | System and method for routing traffic through a virtual router-based network switch |
US7266120B2 (en) * | 2002-11-18 | 2007-09-04 | Fortinet, Inc. | System and method for hardware accelerated packet multicast in a virtual routing system |
US20050021658A1 (en) * | 2003-05-09 | 2005-01-27 | Nicholas Charles Kenneth | Network switch with shared memory |
US8345701B1 (en) * | 2003-08-26 | 2013-01-01 | F5 Networks, Inc. | Memory system for controlling distribution of packet data across a switch |
US7720095B2 (en) | 2003-08-27 | 2010-05-18 | Fortinet, Inc. | Heterogeneous media packet bridging |
US20050163107A1 (en) * | 2004-01-27 | 2005-07-28 | Gunturi Ravi P. | Packet processing pipeline |
WO2005079016A1 (ja) * | 2004-02-18 | 2005-08-25 | Mitsubishi Denki Kabushiki Kaisha | スイッチ装置 |
US7525958B2 (en) * | 2004-04-08 | 2009-04-28 | Intel Corporation | Apparatus and method for two-stage packet classification using most specific filter matching and transport level sharing |
US20050232153A1 (en) * | 2004-04-16 | 2005-10-20 | Vieo, Inc. | Method and system for application-aware network quality of service |
US7499419B2 (en) | 2004-09-24 | 2009-03-03 | Fortinet, Inc. | Scalable IP-services enabled multicast forwarding with efficient resource utilization |
US7808904B2 (en) | 2004-11-18 | 2010-10-05 | Fortinet, Inc. | Method and apparatus for managing subscriber profiles |
TWI266505B (en) * | 2005-06-01 | 2006-11-11 | Realtek Semiconductor Corp | Multi-class data transmission apparatus |
US20070127480A1 (en) * | 2005-12-02 | 2007-06-07 | Via Technologies Inc. | Method for implementing packets en-queuing and de-queuing in a network switch |
US20080101225A1 (en) * | 2006-10-31 | 2008-05-01 | Tassinari Mark A | Systems and methods for capturing network packets |
US8094677B2 (en) * | 2007-02-27 | 2012-01-10 | Integrated Device Technology, Inc. | Multi-bus structure for optimizing system performance of a serial buffer |
US7870313B2 (en) * | 2007-02-27 | 2011-01-11 | Integrated Device Technology, Inc. | Method and structure to support system resource access of a serial device implementating a lite-weight protocol |
US7826469B1 (en) * | 2009-03-09 | 2010-11-02 | Juniper Networks, Inc. | Memory utilization in a priority queuing system of a network device |
JP5556631B2 (ja) * | 2010-12-02 | 2014-07-23 | 日立金属株式会社 | スイッチングハブ |
DE102013019643A1 (de) * | 2013-11-22 | 2015-05-28 | Siemens Aktiengesellschaft | Zweistufiger Kreuzschienenverteiler und Verfahren zum Betrieb |
Family Cites Families (32)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0441787B1 (en) | 1989-08-09 | 1994-12-07 | BELL TELEPHONE MANUFACTURING COMPANY Naamloze Vennootschap | Communication switching element for transferring cells divided into subcells |
US5361255A (en) | 1991-04-29 | 1994-11-01 | Dsc Communications Corporation | Method and apparatus for a high speed asynchronous transfer mode switch |
GB2258366B (en) | 1991-08-02 | 1995-03-29 | Plessey Telecomm | An ATM switching arrangement |
EP0594196B1 (en) | 1992-10-22 | 1999-03-31 | Cabletron Systems, Inc. | Address lookup in packet data communications link, using hashing and content-addressable memory |
US5386413A (en) | 1993-03-19 | 1995-01-31 | Bell Communications Research, Inc. | Fast multilevel hierarchical routing table lookup using content addressable memory |
TW265433B (ja) | 1993-07-16 | 1995-12-11 | Philips Electronics Nv | |
WO1995023380A1 (en) | 1994-02-25 | 1995-08-31 | International Business Machines Corporation | Bit mapping apparatus and method |
US5583861A (en) | 1994-04-28 | 1996-12-10 | Integrated Telecom Technology | ATM switching element and method having independently accessible cell memories |
US5528588A (en) * | 1994-09-14 | 1996-06-18 | Fore Systems, Inc. | Multicast shared memory |
US5608726A (en) | 1995-04-25 | 1997-03-04 | Cabletron Systems, Inc. | Network bridge with multicast forwarding table |
US5796944A (en) | 1995-07-12 | 1998-08-18 | 3Com Corporation | Apparatus and method for processing data frames in an internetworking device |
US6115748A (en) * | 1995-07-19 | 2000-09-05 | Fujitsu Network Communications, Inc. | Prioritized access to shared buffers |
SE9504231L (sv) * | 1995-11-27 | 1997-05-28 | Ericsson Telefon Ab L M | Kösystem för överföring av informatonspaket |
GB9618131D0 (en) | 1996-08-30 | 1996-10-09 | Sgs Thomson Microelectronics | Improvements in or relating to an ATM switch |
US5748905A (en) | 1996-08-30 | 1998-05-05 | Fujitsu Network Communications, Inc. | Frame classification using classification keys |
CA2273997A1 (en) * | 1996-12-04 | 1998-06-11 | Alcatel Usa Sourcing, L.P. | Distributed telecommunications switching system and method |
US5909440A (en) | 1996-12-16 | 1999-06-01 | Juniper Networks | High speed variable length best match look-up in a switching device |
US5905725A (en) | 1996-12-16 | 1999-05-18 | Juniper Networks | High speed switching device |
US6064667A (en) * | 1997-02-10 | 2000-05-16 | Genesys Telecommunications Laboratories, Inc. | Apparatus and methods enhancing call routing to and within call centers |
US6011795A (en) | 1997-03-20 | 2000-01-04 | Washington University | Method and apparatus for fast hierarchical address lookup using controlled expansion of prefixes |
US5909686A (en) | 1997-06-30 | 1999-06-01 | Sun Microsystems, Inc. | Hardware-assisted central processing unit access to a forwarding database |
US5938736A (en) | 1997-06-30 | 1999-08-17 | Sun Microsystems, Inc. | Search engine architecture for a high performance multi-layer switch element |
US6006306A (en) | 1997-07-02 | 1999-12-21 | Xylan Corporation | Integrated circuit with stage-implemented content-addressable memory cell |
US6128295A (en) * | 1997-07-11 | 2000-10-03 | Telefonaktiebolaget Lm Ericsson | Buffering of point-to-point and/or point-to-multipoint ATM cells |
US5946679A (en) | 1997-07-31 | 1999-08-31 | Torrent Networking Technologies, Corp. | System and method for locating a route in a route table using hashing and compressed radix tree searching |
US6032190A (en) | 1997-10-03 | 2000-02-29 | Ascend Communications, Inc. | System and method for processing data packets |
US6219352B1 (en) * | 1997-11-24 | 2001-04-17 | Cabletron Systems, Inc. | Queue management with support for multicasts in an asynchronous transfer mode (ATM) switch |
US6396834B1 (en) * | 1997-11-24 | 2002-05-28 | Riverstone Networks, Inc. | Flexible scheduler in an asynchronous transfer mode (ATM) switch |
US6259699B1 (en) * | 1997-12-30 | 2001-07-10 | Nexabit Networks, Llc | System architecture for and method of processing packets and/or cells in a common switch |
US6161144A (en) | 1998-01-23 | 2000-12-12 | Alcatel Internetworking (Pe), Inc. | Network switching device with concurrent key lookups |
US6185552B1 (en) | 1998-03-19 | 2001-02-06 | 3Com Corporation | Method and apparatus using a binary search engine for searching and maintaining a distributed data structure |
US6320864B1 (en) * | 1998-06-19 | 2001-11-20 | Ascend Communications, Inc. | Logical multicasting method and apparatus |
-
1998
- 1998-10-05 US US09/166,343 patent/US6920146B1/en not_active Expired - Lifetime
-
1999
- 1999-10-04 EP EP99119105A patent/EP0993152B1/en not_active Expired - Lifetime
- 1999-10-04 DE DE69917555T patent/DE69917555T2/de not_active Expired - Lifetime
- 1999-10-04 JP JP28295199A patent/JP4391636B2/ja not_active Expired - Fee Related
- 1999-10-04 ES ES99119105T patent/ES2221283T3/es not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JP2000151714A (ja) | 2000-05-30 |
US6920146B1 (en) | 2005-07-19 |
EP0993152A3 (en) | 2002-05-15 |
DE69917555D1 (de) | 2004-07-01 |
EP0993152B1 (en) | 2004-05-26 |
DE69917555T2 (de) | 2005-07-14 |
EP0993152A2 (en) | 2000-04-12 |
ES2221283T3 (es) | 2004-12-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4391636B2 (ja) | 多段キューイング方式を備えたスイッチング装置 | |
US6690668B1 (en) | Modular interconnection of network switches | |
US6621818B1 (en) | Ring configuration for network switches | |
JP3846880B2 (ja) | データ・パケット・スイッチのマルチキャスト・トラフィックを制御するためのシステム及び方法 | |
US6907041B1 (en) | Communications interconnection network with distributed resequencing | |
US6201792B1 (en) | Backpressure responsive multicast queue | |
US9185052B1 (en) | Switch device having a plurality of processing cores | |
US6049546A (en) | System and method for performing switching in multipoint-to-multipoint multicasting | |
US6574240B1 (en) | Apparatus and method for implementing distributed layer 3 learning in a network switch | |
US9094327B2 (en) | Prioritization and preemption of data frames over a switching fabric | |
US7660292B2 (en) | System and method for isolating network clients | |
US6870844B2 (en) | Apparatus and methods for efficient multicasting of data packets | |
US20020167950A1 (en) | Fast data path protocol for network switching | |
US20110085567A1 (en) | Method of data delivery across a network | |
JP2000341301A (ja) | Atmスイッチ及びスケジューリング方法 | |
US5909438A (en) | Logical multicast from a switch configured for spatial multicast | |
US8031682B2 (en) | Apparatus and method for aggregating and switching traffic in subscriber network | |
KR100572696B1 (ko) | 광대역 가입자 집선-스위치 장치 | |
US6956851B1 (en) | Crossbar subsystem and method | |
US11728893B1 (en) | Method, system, and apparatus for packet transmission | |
Hamad et al. | RPR over Ethernet | |
JP2004515088A (ja) | ネットワークスイッチにおけるプログラマブルなレイヤ3アドレス自己学習スキーム | |
KR100651735B1 (ko) | 가입자망 트래픽 집선-스위칭 장치 및 그 방법 | |
EP1003306A2 (en) | Modular interconnection of network switches | |
Gebali et al. | Switches and Routers |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20060929 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20090408 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090414 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090710 |
|
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: 20090915 |
|
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: 20091008 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121016 Year of fee payment: 3 |
|
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: 20131016 Year of fee payment: 4 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |