JP2002185495A - パケットスイッチ - Google Patents

パケットスイッチ

Info

Publication number
JP2002185495A
JP2002185495A JP2000378448A JP2000378448A JP2002185495A JP 2002185495 A JP2002185495 A JP 2002185495A JP 2000378448 A JP2000378448 A JP 2000378448A JP 2000378448 A JP2000378448 A JP 2000378448A JP 2002185495 A JP2002185495 A JP 2002185495A
Authority
JP
Japan
Prior art keywords
address
data block
output
packet
memory
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.)
Granted
Application number
JP2000378448A
Other languages
English (en)
Other versions
JP3652245B2 (ja
Inventor
正美 ▲高▼橋
Masami Takahashi
Akio Makimoto
明生 牧本
Naohiko Ozaki
尚彦 小崎
Takayuki Sugano
隆行 菅野
Yasuo Oginuma
康生 荻沼
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2000378448A priority Critical patent/JP3652245B2/ja
Priority to US09/791,791 priority patent/US6977941B2/en
Publication of JP2002185495A publication Critical patent/JP2002185495A/ja
Application granted granted Critical
Publication of JP3652245B2 publication Critical patent/JP3652245B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

(57)【要約】 【課題】 可変長パケットを高速スイッチングでき、且
つ、バッファメモリを効率的に利用できるマルチキャス
ト可能なパケットスイッチを提供する。 【解決手段】 各入力回線LIから受信した可変長パケ
ットを固定長のデータブロック単位で共通バッファメモ
リ22に書き込む構造のパケットスイッチにおいて、デ
ータ書込み時に、バッファ制御部30が、入力回線別の
入力キューを形成し、可変長パケットの最終データブロ
ックが入力キューに登録された時点で、該入力キューの
リンクド・アドレスリストをパケット転送先出力回線と
対応した1または複数の出力キューにリンクする。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、可変長パケット通
信ネットワークにおけるノード装置として適用されるパ
ケットスイッチに関し、更に詳しくは、受信パケットを
一時的に蓄積するためのメモリとして共通バッファメモ
リを使用した共通バッファ型の可変長パケットスイッチ
に関する。
【0002】
【従来の技術】近年、注目されているインターネットプ
ロトコル(Internet Protocol:以下、IPと言う)で
は、IPデータグラムと呼ばれる可変長のパケット(I
Pパケット)を転送単位として、メッセージ転送が行わ
れる。IPパケット網を構成する従来のノード装置で
は、ソフトウェア処理によって受信パケットの宛先方路
へのスイッチングが行われているが、スイッチングの高
速化要求に伴って、ノード装置内では固定長のパケット
(データブロック)を転送単位としてスイッチングを行
う装置構成が提案されている。
【0003】IPパケットを高速度で転送するノード装
置として、例えば、"A 50-Gb/s IPRouter"(Craig Part
ridge他著、IEEE/ACM TRANSACTIONS ON NETWORKING, V
ol.6,No.3,June 1998)の論文には、それぞれ複数のネ
ットワーク・インタフェースをサポートする複数の回線
カード(ボード)と、ルーティングテーブルを備えた転
送エンジン(Forwarding Engine)カードとを、例え
ば、クロスバスイッチに代表されるポイント・ツー・ポ
イント型のスイッチで結合し、各回線カードが受信パケ
ットのヘッダ部を含むデータブロックを上記転送エンジ
ンに送信し、転送エンジンで更新処理された新たなヘッ
ダ情報を含むデータブロックをパケット入力側の回線カ
ードに返送し、入力側の各回線カードが、上記新たなヘ
ッダ情報を含むデータブロックとパケット残部とを出力
側回線カードに転送するようにした構成のルータ装置が
提案されている。
【0004】上記論文によると、入力側の各回線カード
が、パケットを64バイト単位の連鎖されたページ(デ
ータブロック)に解体して送出すること、出力側の各回
線カードが、これらのページをパケットを表すリンクド
・リストに組立て、組立てたパケットをQoSプロセッ
サに渡し、QoSプロセッサが、パケット長、宛先およ
び転送エンジンが指定したフロー識別子に基づいて、上
記パケットを送信キュー内の適当な位置に置くことが開
示されている。
【0005】パケットの転送単位を固定長にしたスイッ
チング装置として、ATM(Asynchronous Transfer Mod
e)スイッチがあげられる。ATMスイッチでは、各入力
回線から受信された53バイトの固定長パケット(AT
Mセル)をバッファメモリに一時的に蓄積した後、蓄積
セルをセルヘッダに含まれるコネクション識別情報(V
PI/VCI)によって決まる特定の出力回線にルーテ
ィングしている。
【0006】ATMスイッチにおいて、複数の入力回線
でバッファメモリを共用する共通バッファ型の構造を採
用すると、バッファメモリ内に各出力回線毎に可変長の
キューを形成できるため、例えば、同一出力回線に向か
うセル列が複数の入力回線から同時に受信された場合で
も、共通バッファ全体として空き領域がある限り、各入
力回線からの受信セルを廃棄することなくバッファリン
グすることが可能となり、メモリ資源を有効に利用した
スイッチを実現できる。
【0007】特開平11−261584号公報には、上
記共通バッファメモリの利点を活かした可変長メッセー
ジ用のスイッチング装置が提案されている。上記従来技
術では、共通バッファメモリをメッセージ対応の複数の
メモリブロックに分割し、各受信メッセージに対して空
き状態の1つのメモリブロックを割り当て、各入力回線
から受信されたメッセージを固定長の複数のセルに分割
し、同一メッセージに属するセルを同一のメモリブロッ
クに順次に格納する構成となっている。
【0008】
【発明が解決しようとする課題】上述したIEEE文献
に記載されたルータ装置では、入力側の回線カードが、
各パケットの送信に先立って、スイッチ・アロケータを
介して出力側回線カードと折衝し、出力側カードがパケ
ットの受信を了承した場合に送信を開始しているため、
パケットのスイッチング処理速度に問題がある。また、
入力側の各回線カードにはパケットを待機させるための
バッファが必要となり、出力側の各回線カードにもパケ
ット組立てのためのバッファが必要となるため、バッフ
ァメモリの使用効率に問題がある。
【0009】一方、上記特開平11−261584号公
報に記載されたスイッチング装置では、各メッセージの
末尾部分が入力された時、受信メッセージと対応するメ
モリブロックに蓄積されている全てのセルを別のメモリ
領域(メッセージキュー)に移す構成となっているた
め、メモリ領域間でのメッセージの転送所要時間とバッ
ファメモリの利用効率に問題があった。
【0010】本発明の目的は、共通バッファメモリを効
率的に利用し、可変長パケットを高速スイッチング可能
なパケットスイッチを提供することにある。本発明の他
の目的は、共通バッファメモリを効率的に利用し、可変
長パケットのマルチキャストを可能にしたパケットスイ
ッチを提供することにある。
【0011】
【課題を解決するための手段】上記目的を達成するため
に、本発明のパケットスイッチは、複数の入力回線に共
用される共通バッファメモリと、各入力回線からの受信
パケットを固定長のデータブロック単位で多重化して上
記共通バッファメモリに供給する多重化手段と、上記共
通バッファメモリへの上記各固定長データブロックの書
込みと読出しを制御するバッファ制御手段とからなり、
上記バッファ制御手段が、上記多重化手段から出力され
た各固定長データブロックを上記共通バッファに書き込
む時に可変長パケット別の入力キューを形成しておき、
可変長パケットの最終データブロックが入力キューに登
録された時点で、該入力キューを可変長パケットの転送
先出力回線と対応した出力キューに登録することを特徴
とする。
【0012】更に詳述すると、上記バッファ制御手段
は、上記共通バッファメモリにおける各固定長データブ
ロックの書込みアドレスを可変長パケット別にリンクす
ることによって複数の入力キューを形成し、可変長パケ
ットの最後の固定長データブロックが上記共通バッファ
メモリに書き込み済みとなった入力キューを転送先出力
回線と対応する待機バッファを備えた出力キューに登録
する第1制御手段と、出力回線対応に形成された複数の
出力キューを所定の順序でアクセスし、各出力キューが
示すリンクド・アドレスに基づいて上記共通バッファメ
モリから固定長データブロックを読み出す第2制御手段
とを備える。上記可変長パケット別の入力キューは、例
えば、空きアドレスメモリから取り出した書込みアドレ
スに基づいて上記共通バッファメモリに各固定長データ
ブロックを書き込み、上記各書込みアドレスと対応して
同一可変長パケットにおける次の固定長データブロック
の書込みアドレスを次アドレスメモリに記憶することに
より形成される。
【0013】本発明において、各出力キューは、例え
ば、可変長パケットの先頭データブロックの書込みアド
レスと最終データブロックの書込みアドレスとを一時的
に記憶するための待機バッファと、次に読み出すべきデ
ータブロックを示す次読出しアドレスと最後のデータブ
ロックを示す最終読出しアドレスとを記憶するアドレス
メモリとからなり、上記第1制御手段が、各可変長パケ
ットの先頭データブロックの書込みアドレスと最終デー
タブロックの書込みアドレスをそれぞれ転送先出力回線
と対応する待機バッファに登録し、これに付随するアド
レスメモリが空き状態となった時、上記第2制御手段
が、上記待機バッファから取り出した1対のアドレスを
新たなデータブロック群の次読出しアドレスおよび最終
読出しアドレスとしてアドレスメモリに設定する。この
場合、第2制御手段は、各出力キューに登録された次読
出しアドレスに基づいて、共通バッファメモリと次アド
レスメモリからそれぞれ固定長データブロックと次の固
定長データブロックのアドレスとを読み出し、上記次ア
ドレスメモリから読み出されたアドレスを当該出力キュ
ーにおける新たな次読出しアドレスとすることによっ
て、各可変長パケットを構成するデータブロックを次々
と読み出すことが可能となる。
【0014】尚、受信パケットがマルチキャストパケッ
トの場合、最後のデータブロックが共通バッファメモリ
に書き込まれた時点で、上記第1制御手段によって、同
一入力キューをマルチキャスト出力回線と対応する複数
の出力キューに登録することにより、マルチキャスト転
送が可能となる。この場合、パケットスイッチに、共通
バッファメモリにおける各固定長データブロックの読出
し回数をカウントし、読出し回数が指定値に達した時、
読出しアドレスを解放するアドレス解放制御手段を設け
ることによって、共通バッファメモリの空きアドレスを
管理できる。
【0015】
【発明の実施の形態】以下、本発明の実施例について図
面を参照して詳細に説明する。図1は、本発明によるパ
ケットスイッチの1実施例を示す。パケットスイッチ1
は、それぞれ入力回線LI−1〜LI−nから入力され
た可変長パケット100を固定長の複数のデータブロッ
ク110に分割し、各データブロックに内部ヘッダ11
0Aを付加して出力する複数の入力回線インタフェース
10−1〜10−nと、上記入力回線インタフェース1
0−1〜10−nから入力されたデータブロックを時分
割多重して信号線L21に出力する多重化部21と、上
記信号線L21に接続された共通バッファメモリ22
と、上記共通バッファメモリ22から信号線L22に読
み出されたデータブロックを複数の出力回線インタフェ
ース20−1〜20−nに順次に振り分ける分離部23
と、上記共通バッファメモリ22へのデータブロックの
書込みと読出しを制御するバッファ制御部30と、書込
みサイクルを示すクロックCLK0をカウントして入力
回線選択信号を発生する入力カウンタ24と、読出しサ
イクルを示すクロックCLK1をカウントして出力回線
選択信号を発生する出力カウンタ25とからなってい
る。
【0016】各入力回線LI−i(i=1〜n)から入
力される可変長パケットは、宛先アドレスを含むパケッ
トヘッダ100Aとデータ部100Bとからなる。各入
力回線インタフェース10−i(i=1〜n)は、入力
回線LI−iから受信した可変長パケット100を固定
長の複数のデータブロック110に分割し、例えば、入
力回線番号と、パケットヘッダ100Aから抽出された
宛先アドレスによって決まる出力回線番号と、各データ
ブロック110が可変長パケットにおける先頭ブロッ
ク、中間ブロック、最終ブロックの何れに該当するかを
示すブロック位置表示情報とを含む内部ヘッダ110A
を生成し、これを各データブロックに付加して出力す
る。
【0017】共通バッファメモリ22へのデータブロッ
クの書込みと読出しは、クロックCLK0とCLK1に
従って交互に行われる。多重化部21は、入力カウンタ
24が信号線L24に発生する入力回線選択信号に応じ
て、入力回線インタフェース10−1〜10−nを循環
的に選択し、各入力回線インタフェースから出力された
データブロック110を順次に信号線L21に多重化す
る。一方、分離部23は、共通バッファメモリ22から
信号線L22に読み出されたデータブロックを、出力カ
ウンタ25が信号線L25に発生する出力回線選択信号
によって特定される出力回線インタフェース20−j
(j=1〜n)に振り分ける。出力回線インタフェース
20−1〜20−nは、分離部23から受け取ったデー
タブロック110から内部ヘッダ110Aを取り除き、
それぞれと対応する出力回線LO−1〜LO−nに送出
する。
【0018】バッファ制御部30は、クロックCLK0
が示す各書込みサイクルにおいて、信号線L21に現れ
る内部ヘッダ110Aが示す入力回線番号iと対応する
リンクド・アドレスリストを形成しながら、データブロ
ックを共通バッファメモリ22に書き込む。上記バッフ
ァ制御部30は、後述するように、信号線L21に受信
パケットの先頭ブロックが現れる都度、入力回線対応の
新たな入力キューを形成し、後続する中間ブロックと最
終ブロックのデータを入力回線対応の入力キューに次々
と登録し、受信パケットの最終ブロックが共通バッファ
メモリ22に書き込まれた時点で、入力キューを上記受
信パケットの転送先出力回線と対応した出力キューにリ
ンクするように、リンクド・アドレスリストをダイナミ
ックに制御する。
【0019】共通バッファメモリ22からのデータブロ
ックの読出しは、各出力回線と対応して形成された出力
キュー・アドレスリストに基づいて行なわれる。バッフ
ァ制御部30は、信号線L25で与えられる出力回線選
択信号と対応した出力キューについて、読み出すべきデ
ータブロックの有無をチェックし、もし、出力キューに
データブロックアドレスがリンクされていた場合は、出
力キュー・アドレスリストに登録された次読出しアドレ
スを読出しアドレスRAとして、共通バッファメモリ2
2から1つのデータブロックを信号線L22に読み出
し、アドレスリストの次読出しアドレスをリンクド・ア
ドレスリストにおける次のデータブロックアドレスに書
き換える。
【0020】図2は、バッファ制御部30の詳細を示す
ブロック図である。バッファ制御部30は、ヘッダ解析
部31と、入力キュー制御部32と、出力キュー制御部
33と、次アドレス管理部34と、共通バッファメモリ
20の空きアドレスを格納するための空アドレスメモリ
(FIFO)35とからなる。
【0021】ヘッダ解析部31は、信号線L21に現れ
る各データブロックの内部ヘッダを解析して、入力回線
番号IN−iと、出力回線番号OUT−jと、入力デー
タブロックが受信パケットの先頭ブロックか否かを示す
先頭表示フラグ信号FPと、入力データブロックが受信
パケットの最終ブロックか否かを示す最終表示フラグ信
号EPとを発生する。入力キュー制御部32は、入力回
線毎に、入力キューに登録された先頭データブロックの
アドレス(パケット先頭アドレス:BAi(i=1〜
n))301と、上記入力キューに登録された最新デー
タブロックのアドレス(最新アドレス:WAi(i=1
〜 n))302とを示す入力キュー・アドレステーブ
ル300を備えている。出力キュー制御部33は、出力
キュー・アドレステーブル310と出力待機バッファ3
30とを備えている。
【0022】出力キュー・アドレステーブル310は、
出力回線毎に、出力キューの先頭に位置したデータブロ
ックの読出しアドレス(次読出しアドレスRAj(j=
1〜n))311と、出力キューの最後に位置したデー
タブロックの読出しアドレス(最終読出しアドレスEA
j(j=1〜n))312とを記憶するためのものであ
る。以下の説明では、出力キュー・アドレステーブル3
10における第j出力回線LO−jと対応したテーブル
領域を符号310−jで表す。
【0023】出力待機バッファ330は、出力キュー・
アドレステーブル310−jに先行パケットを読み出す
ためのアドレスRAj、EAjが残っている時、同一出
力回線に送出すべき後続パケットの読み出しアドレスを
FIFO形式で待機させるためのものであり、各出力回
線と対応して、パケットの先頭データブロックの読み出
しアドレスBAjを蓄積するためのバッファ領域330
B−jと、パケットの最後のデータブロックの読み出し
アドレスWAjを蓄積するためのバッファ領域330W
−jとが用意されている。バッファ領域330B−j、
330W−jに蓄積された読出しアドレスは、先行パケ
ットの全てのデータブロックが共通バッファメモリから
読み出され、実質的に出力キュー・アドレステーブルが
空き状態となった時点で、出力キュー・アドレステーブ
ルのテーブル領域310−jに移される。
【0024】次アドレス管理部34は、共通バッファメ
モリ22に蓄積可能なデータブロック数mに等しい複数
のアドレス記憶領域NA1〜NAmからなる次アドレス
メモリ340を備える。次アドレスメモリ340の各記
憶領域は、入力キューに登録されたデータブロック列を
登録順に読み出すためのリンクド・アドレスリストを形
成するために利用される。
【0025】以下、入力回線LI−1とLI−2から同
一の出力回線LO−3に向かう可変長パケットが入力さ
れた場合を仮定して、入力回線LI−1と対応する入力
キューのパケット先頭アドレスBA1および最新アドレ
スWA1と、入力回線LI−2と対応する入力キューの
パケット先頭アドレスBA2および最新アドレスWA2
と、出力回線LO−2と対応する出力キューの次読出し
アドレスRA3および最終読出しアドレスEA3に着目
して、図2と図3〜図5を参照しながら上記バッファ制
御部30の機能について詳述する。
【0026】ヘッダ解析部31は、信号線L21に出力
された各データブロックの内部ヘッダ110Aを解析
し、入力回線番IN−iと出力回線番号OUT−iを発
生する。上記データブロックが可変長パケットの先頭ブ
ロックであれば先頭表示フラグ信号FPがオン状態とな
り、最終ブロックであれば最終表示フラグ信号EPがオ
ン状態となる。信号線L21に出力されたデータブロッ
クは、空アドレスFIFO35から取り出された空きア
ドレスを書込みアドレスWAとして、共通バッファメモ
リ20に書き込まれる。この時、入力キュー制御部32
は、ヘッダ解析部31から出力された入力回線番号IN
−iと先頭表示フラグ信号FPの状態に応じて、入力キ
ュー・アドレステーブル300を更新する。先頭表示フ
ラグ信号FPがオン状態であれば、空きアドレスFIF
O35から取り出された書込みアドレスWAを上記入力
回線番号IN−iと対応するテーブル領域300−iに
パケット先頭アドレスBAiと最新アドレスWAiとし
て書き込む。先頭表示フラグ信号FPがオフ状態であれ
ば、上記書込みアドレスWAを最新アドレスWAiに書
き込む。
【0027】入力キュー・アドレステーブル300に新
たなアドレスWAが書き込まれた時、最新アドレスWA
iとしてそれまで記憶されていたアドレスが次アドレス
管理部34に出力される。次アドレス管理部34は、上
記アドレスWAiと対応する記憶領域NAiに、空きア
ドレスFIFO35から取り出された新たな書込みアド
レスWAを記憶する。これによって、1つの可変長パケ
ットから分割された固定長のデータブロックが共通バッ
ファメモリ22に書込まれる度に、データブロックの書
込みアドレスが次アドレスメモリ340に記憶され、最
新アドレスWAiが更新され、最終的には、パケット先
頭アドレスBAiが可変長パケットの先頭データブロッ
クのアドレスを指し、最新アドレスWAiが可変長パケ
ットの最終データブロックのアドレスを指すことにな
る。
【0028】図3は、共通バッファメモリ22に、入力
回線インタフェース10−1から出力されたデータブロ
ックD1−1〜D1−4と、入力回線インタフェース1
0−2から出力されたデータブロックD2−1〜D2−
2が書き込まれた時点での、入力キュー・アドレステー
ブル300の状態を示す。ここで、WA1−1〜WA1
−4は、空きアドレスFIFO35から得られたデータ
ブロックD1−1〜D1−4の書込みアドレスWAの
値、 WA2−1〜WA2−2はデータブロックD2−
1〜D2−2の書込みアドレスWAの値を示す。また、
RA3とEA3は、上記データブロックD1−1〜D1
−4、D2−1〜D2−2の転送先出力回線LO−3と
対応した出力キュー・アドレステーブルエントリ310
−3の内容を示している。
【0029】入力回線LI−1と対応する入力キュー・
アドレステーブルでは、先頭データブロックD1−1の
書込みアドレスWA1−1がパケット先頭アドレスBA
1として記憶され、最新アドレスWA1の内容はデータ
ブロックの書込みの都度更新されて、WA1−1、WA
1−2、WA1−3、WA1−4と変化する。次アドレ
スメモリ340では、図3に示すように、最新アドレス
WA1と対応する記憶領域に、次データブロックの書込
みアドレスが次々と記憶される。従って、入力キュー・
アドレステーブル300のパケット先頭アドレスBA1
と次アドレスメモリ340とによって、入力回線毎のリ
ンクド・アドレスリストが形成される。
【0030】例えば、パケット先頭アドレスBA1が示
すアドレスWA1−1に基づいて共通バッファメモリ2
2と次アドレスメモリ340をアクセスすることによっ
て、先頭データブロックD1−1と、次のデータブロッ
クD1−2のアドレスWA1−2とを読み出すことがで
き、このアドレスWA1−2を次回の読出しサイクルに
おける読出しアドレスRAとして利用することにより、
次のデータブロックD1−2と、更に次のデータブロッ
クD1−3のアドレスWA1−3とを読み出すことがで
き、同様の動作を繰り返すことによって、入力キューに
登録された全てのデータブロックを読み出すことが可能
となる。
【0031】入力回線LI−1と同様、入力回線LI−
2と対応する入力キュー・アドレステーブルでは、先頭
データブロックD2−1の書込みアドレスWA2−1が
パケット先頭アドレスBA2として記憶され、最新アド
レスWA1の内容は、データブロックの書込みの都度更
新され、WA2−1、WA2−2、…と変化する。
【0032】図3は、入力回線インタフェース10−1
と10−2が可変長パケットの最終データブロックを出
力する前の状態を示しており、出力回線LO−3と対応
した出力キューには有効データがなく、出力待機バッフ
ァ330−3と出力キュー・アドレステーブル310−
3が空き状態となっている。本発明は、共通バッファメ
モリ22にパケットの最終データブロックが書き込まれ
た時、バッファ制御部30が、上記最終データブロック
の入力キューにおけるパケット先頭アドレスBAiと最
新アドレスWAi(=WA)を出力待機バッファ330
を介して出力キュー・アドレステーブル310に移すこ
とを特徴としている。
【0033】図4は、入力回線インタフェース10−1
から出力された可変長パケットの最終データブロックD
1−5が共通バッファメモリ22に書き込まれた時点で
のバッファ制御部30の動作を示す。この場合、バッフ
ァ制御部30は、最終データブロックD1−5の書込み
アドレスWA1−5を次アドレスメモリ340に記憶し
た後、入力キューのパケット先頭アドレスBA1の内容
(WA1−1)と最新アドレスWA1の内容(WA1−
5)を出力待機バッファ330−3に移す。出力待機バ
ッファ330−3に蓄積されたアドレスは、もし、出力
キュー・アドレステーブル310−3が空き状タであれ
ば、図4に示すように、出力キュー・アドレステーブル
のRA3、EA3に移される。尚、最新アドレスWA1
の内容は、今回、空きアドレスFIFO35から取り出
された新たな書込みアドレスWAとなっているため、出
力キュー・アドレステーブルのEA3には、上記最新ア
ドレスWA1に代えて、空きアドレスFIFO35から
取り出された書込みアドレスWAを記憶してもよい。
【0034】図5は、出力回線LO−3の出力キューが
既に使用状態にある時、入力回線インタフェース10−
2から出力された可変長パケットの最終データブロック
D2−3を共通バッファメモリ22に書き込む場合のバ
ッファ制御部30の動作を示す。この場合、バッファ制
御部30は、最終データブロックD2−3の書込みアド
レスWA2−3を次アドレスメモリ340に記憶した
後、入力キューのパケット先頭アドレスBA2の内容
(WA2−1)と最新アドレスWA2の内容(WA2−
3)を出力待機バッファ330−3に移す。上記出力待
機バッファ330−3に蓄積されたアドレスWA2−
1、WA2−3は、出力キュー・アドレステーブル31
0−3が空き状態となった時、すなわち、次読み出しア
ドレスRA3と最終読み出しアドレスEA3の値が一致
した読み出しサイクルで、出力キュー・アドレステーブ
ル310−3に移される。
【0035】回線インタフェースが受信した可変長パケ
ットが短く、受信パケット全体が固定長の1つのデータ
ブロックに収まる場合は、このデータブロックの書込み
サイクルで、ヘッダ解析部31から出力される先頭表示
フラグ信号FPと最終表示フラグ信号EPが同時にオン
状態となる。この場合、先頭表示フラグ信号FPに応答
して入力キュー・アドレステーブル300に登録された
パケット先頭アドレスBAiと最新アドレスWAiの内
容が、最終表示フラグ信号EPに応答して出力待機バッ
ファ330−jに直ちに移される。
【0036】もし、待機バッファ330−jに蓄積され
たパケット先頭アドレスBAiと最新アドレスWAiの
内容は、データブロックの転送先となる出力回線LO−
jの出力キューが空状態であれば、図4と同様、出力キ
ュー・アドレステーブル310−jに書き込まれ、上記
出力キューが既に使用状態にあれば、図5と同様、出力
待機バッファ330−jに留まる。
【0037】共通バッファメモリ22からのデータブロ
ックの読出しは、出力キュー制御部33によって行われ
る。出力キュー制御部33は、読出しサイクルに信号線
L25に出力される出力回線選択信号で特定される出力
キュー・アドレステーブル領域310―jを参照し、次
読出しアドレスRAjに従って、共通バッファメモリ2
2からデータブロックを読み出し、次アドレスメモリ3
40から次アドレスNAjを読み出す。使用済みとなっ
た次読出しアドレスRAjは、空きアドレスFIFO3
5に解放され、次アドレスメモリ340から読み出され
た次アドレスNAjは、新たな次読出しアドレスRAj
として出力キュー・アドレステーブル310−jに記憶
される。但し、各パケットの最後のデータブロックの読
出しサイクルでは、次アドレスメモリ340から読み出
された次アドレスNAjは無効となり、待機バッファか
ら取り出された次パケットの先頭アドレスが、次読出し
アドレスRAjとして出力キュー・アドレステーブル3
10−jに設定される。
【0038】図6は、入力キュー制御部32の1実施例
を示す。入力キュー制御部32は、パケット先頭アドレ
スBA1〜BAnを記憶するためのレジスタ301−1
〜301−nと、最新アドレスWA1〜WAnを記憶す
るためのレジスタ302−1〜302−nと、ヘッダ解
析部31から受信した入力回線番号IN−iをデコード
し、イネーブル信号WEN−1〜WEN−nのうちの1
つをオン状態とするデコーダ321と、レジスタ302
−1〜302−nからの出力アドレスのうちの1つを選
択するためのセレクタ322と、レジスタ301−1〜
301−nからの出力アドレスのうちの1つを選択する
ためのセレクタ323と、パケット先頭アドレスの書込
みイネーブル信号を制御するためのAND回路324−
1〜324−nとからなっている。
【0039】最新アドレスを記憶するレジスタ302−
1〜302−nには、空きアドレスFIFO35から取
り出されたアドレスWAが入力されており、それぞれデ
コーダ321から出力されるイネーブル信号WEN−1
〜WEN−nによって、最新アドレスの更新が制御され
ている。入力回線番号IN−iが第i番目の入力回線を
示した場合、イネーブル信号WEN―iがオン状態とな
り、空きアドレスFIFO35から取り出されたアドレ
スWAがレジスタ302−iに設定される。この時、そ
れまでレジスタ302−iに記憶されていた前データブ
ロックの書込みアドレス{WAi}がセレクタ322に
よって選択され、次アドレス(ポインタアドレス)書込
み用アドレスWAiとして次アドレス管理部34に供給
される。
【0040】空きアドレスFIFO35から取り出され
たアドレスWAは、パケット先頭アドレスBA1〜BA
nを記憶するためのレジスタ301−1〜301−nに
も入力されている。これらのレジスタへの書込みは、A
ND回路324−1〜324−nによって制御されてお
り、ヘッダ解析部31から出力される先頭表示フラグF
Pがオン状態となった書込みサイクルに限り、入力回線
番号IN−iと対応するレジスタ301−iへのアドレ
スWAの書込みが行われる。セレクタ323は、入力回
線番号IN−iと対応するレジスタ301−iからの出
力アドレスを選択し、パケット先頭アドレスBAiとし
て出力する。
【0041】図7は、出力キュー制御部33の1実施例
を示す。出力キュー制御部33は、次読出しアドレスR
A1〜RAnを記憶するためのレジスタ311−1〜3
11−nと、最終読出しアドレスEA1〜EAnを記憶
するためのレジスタ312−1〜312−nと、パケッ
ト先頭アドレス用の出力待機バッファ(FIFO)33
0B−1〜330B−nと、パケット最終アドレス用の
出力待機バッファ(FIFO)330W−1〜330W
−nとからなっている。
【0042】また、上記出力キュー制御部33は、レジ
スタ311−1〜311−nからの出力アドレスのうち
の1つを選択するためのセレクタ331と、レジスタ3
12−1〜312−nからの出力アドレスのうちの1つ
を選択するためのセレクタ332と、レジスタ313−
1〜313−nからの出力フラグのうちの1つを選択す
るためのセレクタ333と、出力カウンタ25から信号
線25に出力された出力回線選択信号をデコードするた
めのデコーダ334と、ヘッダ解析部31から出力され
る出力回線番号OUT−jをデコードして、イネーブル
信号EN−1〜EN−nのうちの1つをオン状態とする
デコーダ335と、ヘッダ解析部31から出力される最
終表示フラグ信号EPがオン状態となった時、上記イネ
ーブル信号EN−1〜EN−nを有効にするためのAN
D回路336−1〜336−nと、セレクタ331から
出力される読出しアドレスRAjとセレクタ332から
出力されるパケット最終アドレスEAjとを比較し、R
AjとEAjが一致した時、イネーブル信号EN−0を
オン状態とする比較器315と、上記イネーブル信号E
N−0がオフ状態の時、次アドレス管理部34から出力
された次アドレスNAjをレジスタ311−1〜311
−nに供給するAND回路316と、上記イネーブル信
号EN−0がオン状態の時、デコーダ334の出力信号
を通すAND回路339−1〜339−nとを備えてい
る。
【0043】出力待機バッファ330−j(330B−
jと330W−j、j=1〜n)は、それぞれAND回
路336−1〜336−nの出力信号が書込みイネーブ
ル信号WENとして与えられている。書込みサイクルに
おいて、最終表示フラグ信号EPがオン状態となった
時、出力回線番号OUT−jと対応するAND回路33
6−jからの書込みイネーブル信号WENが有効とな
り、バッファ領域330B−jに入力キュー制御部32
から出力されたパケット先頭アドレスBAiが設定さ
れ、バッファ領域330W−jに空きアドレスFIFO
35から出力された書込みアドレスWAが設定される。
【0044】出力待機バッファ330−j(330B−
jと330W−j)には、それぞれAND回路339−
1〜339−nの出力信号が読出しイネーブル信号RE
Nとして与えられている。読出しサイクルにおいて、比
較器315の出力信号EN−0がオン状態となった時、
出力回線番号OUT−jと対応するAND回路339−
jの出力信号がオン状態となる。これによって、バッフ
ァ領域330B−j、330W−jから1組のアドレス
BAjとWAjが読み出され、それぞれ次読出しアドレ
スRAj、最終読み出しアドレスEAjとしてレジスタ
311−j、312−jに設定される。
【0045】レジスタ311−1〜311−nには、デ
コーダ334の出力がリード・イネーブル信号として与
えてあり、これらのレジスタ出力は、信号線L25から
供給される出力回線選択信号を制御信号とするセレクタ
331に接続されている。従って、各読出しサイクルに
おいて、上記出力回線選択信号で指定されたレジスタ3
11−jの内容が次読出しアドレスRAjとして出力さ
れる。上記アドレスRAjによって、共通バッファメモ
リ22から、出力回線LOjに出力すべきデータブロッ
クが読み出され、分離部23を介して出力回線インタフ
ェース20−jに供給される。また、上記アドレスRA
jによって、次アドレス管理部34から、上記出力回線
LOjに出力すべき次のデータブロックを指すアドレス
NAjが読み出される。上記アドレスNAjは、AND
回路316を介してレジスタ311−1〜311−nに
供給されている。
【0046】レジスタ311−1〜311−nと同様
に、レジスタ312−1〜312−nにも、デコーダ3
34の出力がリード・イネーブル信号として与えてあ
り、これらのレジスタ出力は、出力回線選択信号を選択
信号とするセレクタ332に接続されている。これによ
って、各読出しサイクルで、上記出力回線選択信号で指
定されたレジスタ312−jの内容がセレクタ332か
ら最終読出しアドレスEAjとして出力される。
【0047】比較器315の出力信号EN−0は、セレ
クタ331から出力される次読出しアドレスRAjと、
セレクタ332から出力される最終読出しアドレスEA
jとが一致した時、すなわち、各パケットの最終データ
ブロックの読出しサイクルにおいてオン状態となり、前
述したように、出力待機バッファ330B−jにあるパ
ケット先頭アドレスBAiがレジスタ311−jに移さ
れる。上記比較器315の出力信号EN−0がオフ状態
となる読出しサイクル、すなわち、パケットの先頭デー
タブロックまたは中間データブロックの読出しサイクル
では、AND回路316が開かれ、次アドレス管理部3
4から読み出された次アドレスNAjが上記レジスタ3
11−jに設定される。これによって、出力回線LO−
jと対応した出力キューのデータブロックを次々と読み
出すことが可能となる。
【0048】図8は、次アドレス管理部34の1実施例
を示す。次アドレス管理部34は、次アドレスNA1〜
NAmを記憶するためのレジスタ340−1〜340−
mと、これらのレジスタからの出力アドレスを選択する
セレクタ341と、入力キュー制御部32から供給され
る最新アドレスWAiをデコードし、上記最新アドレス
WAiと対応するレジスタ340−iに書込みイネーブ
ル信号を与えるデコーダ344とからなる。
【0049】次アドレス管理部34は、各書込みサイク
ルにおいて、入力キューにおける前データブロックの書
込みアドレスWAiと対応した記憶領域(レジスタ34
0−k)に最新データブロックの書込みアドレスWAを
記憶し、これによって、図3に示した入力キュー毎のリ
ンクド・アドレスリストを形成する。読出しサイクルで
は、セレクタ341が、出力キュー制御部33から供給
された読出しアドレスRAjと対応したレジスタ340
−pを選択し、上記レジスタに340−pに記憶された
アドレスを次アドレスNAjとして出力キュー制御部3
3に戻す。上記次アドレスNAjは、出力キュー制御部
33において、次回の読出しサイクルで使う新たな次読
出しアドレスRAjとして、レジスタ311−jに記憶
される。
【0050】図9は、本発明の第2の実施例として、同
一受信パケットを複数の出力回線に転送する同報機能
(またはマルチキャスト機能)を備えたパケットスイッ
チのバッファ制御部30Bの構成を示す。ここに示した
バッファ制御部30Bは、図2に示した第1実施例のバ
ッファ制御部30と同様、ヘッダ解析部31、入力キュ
ー制御部32、出力キュー制御部33、次アドレス管理
部34、空きアドレスFIFO35を有し、新たな要素
として、読出しアドレス解放制御部36を備えている。
【0051】各入力回線インタフェース10−i(i=
1〜n)では、入力回線LI−iからの受信パケットが
複数の出力回線に転送すべき同報(マルチキャスト)パ
ケットの場合、受信パケットを分割して得られた各デー
タブロックに複数の出力回線を指定した内部ヘッダを付
加する。複数の出力回線を同時に指定するためには、例
えば、内部ヘッダの出力回線番号フィールドを出力回線
LO−1〜LO−nと対応するnビットで構成し、パケ
ット転送先となる出力回線をビット“1”で表すビット
パターン形式を採用すればよい。
【0052】ヘッダ解析部31は、多重化部21から信
号線L21に出力された各データブロックの内部ヘッダ
を解析し、入力回線番号IN−i、出力回線番号OUT
−j、先頭表示フラグ信号FP、最終表示フラグ信号E
Pと、受信パケットの転送先出力回線数NTRを発生す
る。上記出力回線番号OUT−jとしては、上述した内
部ヘッダの出力回線番号フィールドが示すビットパター
ンを出力する。この場合、転送先出力回線数NTRは、
上記出力回線番号フィールドに含まれるビット“1”の
個数を示す。
【0053】多重化部21から信号線L21に出力され
た各データブロックは、第1実施例と同様、空きアドレ
スFIFO35から取り出されたアドレスWAを書込み
アドレスとして共通バッファメモリ22に蓄積され、入
力キュー制御部32と次アドレス管理部34によって、
入力回線番号IN−iと対応した入力キューが形成され
る。共通バッファメモリ22に蓄積されたデータブロッ
クが可変長パケットの最終データブロックの場合、最終
表示フラグ信号EPがオン状態となるため、入力キュー
制御部32から出力されたパケット先頭アドレスBAi
と、空きアドレスFIFO35から取り出された最新ア
ドレスWA(=WAi)が出力キュー制御部33の出力
待機バッファ330に設定される。
【0054】図7に示した出力キュー制御部33におい
て、デコーダ335に入力する出力回線番号OUT−j
が転送先出力回線をビット“1”で表すビットパターン
となっていた場合、上記デコーダ335から出力される
イネーブル信号群を上記ビットパターンに従ってオン状
態にすることができる。上記デコーダ335から出力さ
れるイネーブル信号EN−1〜EN−nは、最終表示フ
ラグ信号EPがオン状態となった時、AND回路336
−1〜336−nを通って出力待機バッファ330−1
(330B−1、330W−1)〜330−n(330
B−n、330W−n)に書込みイネーブル信号WEN
として与えられる。
【0055】最終データブロックがユニキャストパケッ
トに属していた場合、該ユニキャストパケットの出力回
線と対応した1つのイネーブル信号EN−jだけがオン
状態となるため、アドレスBAi、WAは、第1実施例
と同様、上記イネーブル信号EN−jが与えられている
特定の出力待機バッファ330B−j、330W−jに
設定される。もし、最終データブロックが同報パケット
に属していた場合は、出力回線番号OUT−jのビット
パターンと対応した複数のイネーブル信号EN−j(j
=j1、j2、j3、…)が同時にオン状態となるた
め、アドレスBAiとWAは、オン状態のイネーブル信
号が与えられている複数の出力待機バッファ330B−
j、330W−j(j=j1、j2、j3、…)に同時
に設定されることになる。
【0056】出力待機バッファ330−1〜330−n
に設定されたアドレスBAiとWAは、第1実施例と同
様に、次読出しアドレスレジスタ311−1〜311−
nと最終読出しアドレスレジスタ312−1〜312−
nに移され、次読出しアドレスレジスタ311−1〜3
11−nが示す読出しアドレスRAjに従って、共通バ
ッファメモリ22からのデータブロックの読出しが行な
われる。同報パケットに属したデータブロックは、上述
したように、リンクド・アドレスリストが複数の出力キ
ューに登録されているため、同一のデータブロックが複
数回繰り返して読み出されることになる。
【0057】ユニキャストパケットだけを対象とした第
1の実施例では、図2に示したように、共通バッファメ
モリ22からのデータブロックを読出した時点で、読出
しアドレスRAjを空きアドレスFIFO35に解放す
ればよかった。これに対して、本実施例のように同報パ
ケットを扱う場合は、指定された複数の出力回線へのマ
ルチキャストが完了したことを確認して、上記読出しア
ドレスRAjを空きアドレスFIFO35に解放する必
要がある。
【0058】読出しアドレス解放制御部36は、データ
ブロック毎にマルチキャストの完了を確認して読出しア
ドレスRAjを解放するためのものである。図10は、
読出しアドレス解放制御部36の1実施例を示す。ここ
に示した読出しアドレス解放制御部36は、書込みアド
レスWAと対応してデータブロックの読出し回数RCを
記憶するためのレジスタ(メモリ領域)360−1〜3
60−mと、上記レジスタ360−1〜360−mへの
入力を選択するためのセレクタ361−1〜361−m
と、上記レジスタ360−1〜360−mの値をデクリ
メント(−1)するための減算器362−1〜362−
mと、書込みアドレスWAおよび読出しアドレスRAj
をデコードし、これらのアドレスと対応したイネーブル
信号を発生するデコーダ363と、上記レジスタ360
−1〜360−mのうち、読出しアドレスRAjと対応
したレジスタ360−qの設定値(読出し回数RC)を
選択するセレクタ364と、比較器365およびゲート
366からなっている。
【0059】各セレクタ361−k(k=1〜m)に
は、書込みサイクルを示すクロックCLK0が選択制御
信号として与えてあり、書込みサイクルでは、ヘッダ解
析部31から出力された転送先出力回線数NTRが選択
され、読出しサイクルでは、減算器362−k(k=1
〜m)の出力が選択され、それぞれ読出し回数レジスタ
360−k(k=1〜m)に入力される。読出し回数レ
ジスタ360−1〜360−mには、デコーダ363の
出力が書込みイネーブル信号として与えてあり、書込み
サイクルでは、書込みアドレスWAと対応したレジスタ
360−pに出力回線数NCPが設定される。読出しサ
イクルでは、読出しアドレスRAjと対応したレジスタ
360−qの値がセレクタ364で選択され、比較器3
65に入力される。この時、レジスタ360−qの値が
減算器362−qに入力され、読出し回数RCqをデク
リメント(−1演算)した値がレジスタ360−qに再
設定される。
【0060】例えば、ユニキャストパケットに属したデ
ータブロックの書込みサイクルでは、書込みアドレスW
Aと対応した読出し回数レジスタ360−pに、転送先
出力回線数NTRの値(=1)が読出し回数RCpとし
て設定され、上記データブロックが読出しサイクルでア
ドレスRAjに従って読み出された時、RCp=1が比
較器365に入力される。比較器365は、共通バッフ
ァメモリ22から読み出されたデータブロックの読出し
回数RCpの値が「1」になった時、ゲート366を開
き、読出しアドレスRAjを空きアドレスFIFO35
に解放する。従って、ユニキャストパケットに属したデ
ータブロックの書込みアドレス(読出しアドレスRA
j)は、データブロックの読出しの都度、直ちに解放さ
れる。
【0061】同報(マルチキャスト)パケットに属した
データブロックの書込みサイクルでは、書込みアドレス
WAと対応した読出し回数レジスタ360−pに、読出
し回数RCpとして、「1」より大きい値をもったNT
Rが設定される。従って、共通バッファ22から上記デ
ータブロックが読み出されても、デクリメントされたR
Cp値が「1」に達しない限り、ゲート366は閉じた
ままとなり、読出し回数がNTRで指定された回数(R
Cp=1)となった時点で、読出しアドレスRAjの空
きアドレスFIFO35へ解放される。
【0062】以上の実施例では、バッファ制御部30
が、入力回線番号毎に入力キューを形成し、可変長パケ
ットの最後のデータブロックが到着した時点で、入力キ
ューのリンクド・アドレスリストを出力キューに移すよ
うにしたが、本発明において、各入力キューは可変長パ
ケット毎に形成できればよいため、上記入力回線番号に
代えて、各可変長パケットに固有の他の識別情報を使用
してもよい。実施例では、各データブロックの内部ヘッ
ダに入力回線番号を設定し、ヘッダ解析部31が上記内
部ヘッダに基づいて入力回線番号IN−jを出力した
が、入力回線番号IN−jは、入力カウンタ24から出
力される入力回線選択信号に基づいて生成するようにし
てもよい。
【0063】また、上述した実施例では、各入力回線イ
ンタフェース10−i(i=1〜n)で、受信パケット
100を固定長の複数のデータブロック110に分割
し、各データブロックに内部ヘッダ110Aを付して多
重化部21に出力し、内部ヘッダ付きのデータブロック
を共通バッファメモリ22にリード、ライトする構成と
なっているが、本発明の他の実施形態として、例えば、
図11に示すように、多重化部21でデータブロック1
10と内部ヘッダ110Aを分離し、内部ヘッダ110
Aはバッファ制御部30のヘッダ解析部31に供給し、
共通バッファメモリ22にはデータブロック110部分
のみを入力するようにしてもよい。上記構成によれば、
共通バッファメモリ22のメモリ容量を有効に利用で
き、各出力回線インタフェース20―iでデータブロッ
クから内部ヘッダを除去する必要がなくなる。
【0064】本発明の更に他の実施形態として、各入力
回線インタフェース10−iが、固定長データブロック
110を内部ヘッダを付すことなく多重化部21に出力
し、バッファ制御部30のヘッダ解析部31が、各可変
長パケットの先頭データブロックに含まれるパケットヘ
ッダを解析し、入力回線毎に出力回線番号と後続データ
ブロック数を管理テーブル上で管理しておき、入力カウ
ンタ24から与えられる入力回線選択信号に応じて上記
管理テーブルを参照し、前述したIN−i、FP、E
P、OUT−j等の制御信号を生成するようにしてもよ
い。また、可変長パケット100から固定長のデータブ
ロック110への変換は、各入力回線インタフェース1
0−iで行う代わりに、多重化部21で行うようにして
もよい。実施例では、複数の入出力回線に接続されるパ
ケットスイッチについて説明したが、本発明のバッファ
制御は、複数の入力回線から受信した可変長パケットを
1つの出力回線に出力するスイッチ構造(多重化装置)
にも適用可能である。
【0065】以上のように、本発明の実施例では、可変
長パケット毎の入力キューを形成し、1つの可変長パケ
ットの最後のデータブロックがバッファメモリに書き込
まれた時点で、入力キューに登録されたリンクド・アド
レスを出力キューに移すようにしている。従って、同一
の出力回線に向かう複数の可変長パケットが並列的に入
力された場合でも、出力キュー内で1つの可変長パケッ
トに属したデータブロック列に他のパケットのデータブ
ロックが混入するのを防止でき、出力キューから取り出
したデータブロックを順次に出力回線に送出することに
よって、受信パケットを正しく宛先装置に転送すること
が可能となる。
【0066】また、実施例のように、出力キューを待機
バッファとアドレステーブル(またはレジスタ)で構成
し、出力待機中の可変長パケットの先頭データブロック
と最終データブロックのアドレスを待機バッファに一時
的に蓄積し、出力中の可変長パケットの次読出しアドレ
スと最終読出しアドレスを上記アドレステーブルで管理
する方式とした場合、同一の出力回線に向かう多数の可
変長パケットが受信された場合でも、各パケットを確実
に転送処理できる。
【0067】また、第2実施例で示したように、同一可
変長パケットのリンクド・アドレスを複数の出力キュー
に登録し、同一データブロックの読出し回数が指定値に
達した時点で読出しアドレスを開放することによって、
共通バッファメモリを有効に利用したマルチキャスト転
送が可能となる。
【0068】
【発明の効果】以上の説明から明らかなように、本発明
によれば、入力回線から受信した可変長パケットを固定
長のデータブロックに分割し、固定長のブロック単位で
共通バッファメモリに蓄積しておき、可変長パケットの
最後のデータブロックが蓄積された時点で、共通バッフ
ァメモリ内に蓄積済みのデータブロック列を移動するこ
となく、上記データブロック列を読み出すためのリンク
ド・アドレスリストのみを出力キューに移す構成となっ
ているため、可変長パケットの高速スイッチングが可能
となる。また、同一リンクド・アドレスリストを複数の
出力キューに登録することによって、容易にマルチキャ
スト機能を実現できる。
【図面の簡単な説明】
【図1】本発明を適用したパケットスイッチの1実施例
を示す図。
【図2】図1に示したパケットスイッチのバッファ制御
部30の詳細を示す図。
【図3】共通バッファメモリ22に蓄積されるデータブ
ロックと、次アドレスメモリ340および入力キュー・
アドレステーブル300の状態を説明するための図。
【図4】可変長パケットの最後のデータブロックが到着
した場合の入力キュー・アドレステーブル300と出力
キュー・アドレステーブル310との関係を説明するた
めの図。
【図5】出力キューが使用状態にある時に他の可変長パ
ケットの最後のデータブロックが到着した場合の入力キ
ュー・アドレステーブル300と出力キュー・アドレス
テーブル310との関係を説明するための図。
【図6】図2に示した入力キュー制御部32の1実施例
を示す図。
【図7】図2に示した出力キュー制御部33の1実施例
を示す図。
【図8】図2に示した次アドレス管理部34の1実施例
を示す図。
【図9】マルチキャスト用バッファ制御部30Bの1実
施例を示す図。
【図10】図9における読出しアドレス解放制御部35
の1実施例を示す図。
【図11】本発明を適用したパケットスイッチの他の実
施例を示す図。
【符号の説明】
1:パケットスイッチ、10:入力回線インタフェー
ス、20:出力回線インタフェース、21:多重化部、
22:共通バッファメモリ、23:分離部、24:入力
カウンタ、25:出力カウンタ、30、30B:バッフ
ァ制御部、LI:入力回線、LO:出力回線、31:
ヘッダ解析部、32:入力キュー制御部、33:出力キ
ュー制御部、34:次アドレス管理部、35:空きアド
レスFIFO、36:読出しアドレス解放制御部、30
0:入力キュー・アドレステーブル、301(BA1〜
BAn):パケット先頭アドレス、302(WA1〜W
An):最新アドレス、310:出力キュー・アドレス
テーブル、311(RA1〜RAn):次読出しアドレ
ス、312(EA1〜EAn):最終読出しアドレス、
313(F1〜Fn):キューフラグ。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 小崎 尚彦 神奈川県横浜市戸塚区戸塚町216番地 株 式会社日立製作所通信事業部内 (72)発明者 菅野 隆行 神奈川県横浜市戸塚区戸塚町216番地 株 式会社日立製作所通信事業部内 (72)発明者 荻沼 康生 神奈川県横浜市戸塚区戸塚町216番地 株 式会社日立製作所通信事業部内 Fターム(参考) 5K030 HA08 HB28 JA01 KA13 KX02 KX28

Claims (10)

    【特許請求の範囲】
  1. 【請求項1】複数の入力回線から受信した可変長パケッ
    トを少なくとも1つの出力回線に固定長のデータブロッ
    ク単位で転送するパケットスイッチにおいて、 上記複数の入力回線に共用される共通バッファメモリ
    と、 上記各入力回線からの受信パケットを固定長のデータブ
    ロック単位で多重化して上記共通バッファメモリに供給
    する多重化手段と、 上記共通バッファメモリへの上記各固定長データブロッ
    クの書込みと読出しを制御するバッファ制御手段とから
    なり、 上記バッファ制御手段が、上記共通バッファメモリにお
    ける各固定長データブロックの書込みアドレスを可変長
    パケット別にリンクして複数の入力キューを形成してお
    き、可変長パケットの最後の固定長データブロックが上
    記共通バッファメモリに書込み済みとなった入力キュー
    を転送先出力回線と対応する待機バッファを備えた出力
    キューに登録する第1制御手段と、出力回線対応に形成
    された複数の出力キューを所定の順序でアクセスし、各
    出力キューが示すリンクド・アドレスに基づいて上記共
    通バッファメモリから固定長データブロックを読み出す
    第2制御手段とを備えたことを特徴とするパケットスイ
    ッチ。
  2. 【請求項2】前記バッファ制御手段が、前記共通バッフ
    ァメモリにおける空きアドレスを保持するための空きア
    ドレスメモリと、前記共通バッファメモリにおける固定
    長データブロックの書込みアドレスを記憶するための次
    アドレスメモリとを有し、 前記第1制御手段が、上記空きアドレスメモリから取り
    出した書込みアドレスに基づいて前記共通バッファメモ
    リに各固定長データブロックを書き込み、上記次アドレ
    スメモリに上記各書込みアドレスと対応して同一可変長
    パケットにおける次の固定長データブロックの書込みア
    ドレスを記憶することにより、前記入力キューを形成す
    ることを特徴とする請求項1に記載のパケットスイッ
    チ。
  3. 【請求項3】前記各出力キューが、可変長パケットの先
    頭データブロックの書込みアドレスと最終データブロッ
    クの書込みアドレスを一時的に記憶するための待機バッ
    ファと、次に読み出すべきデータブロックを示す次読出
    しアドレスと最後のデータブロックを示す最終読出しア
    ドレスとを記憶するアドレスメモリとからなり、 前記第1制御手段が、各入力キューにおける可変長パケ
    ットの先頭データブロックの書込みアドレスと最終デー
    タブロックの書込みアドレスを転送先出力回線と対応す
    る待機バッファに登録し、これに付随するアドレスメモ
    リが空き状態となった時、前記第2制御手段が、上記待
    機バッファから取り出した1対のアドレスを上記アドレ
    スメモリに設定することを特徴とする請求項2に記載の
    パケットスイッチ。
  4. 【請求項4】前記第2制御手段が、前記各出力キューに
    登録された次読出しアドレスに基づいて、前記共通バッ
    ファメモリと次アドレスメモリからそれぞれ固定長デー
    タブロックと次の固定長データブロックのアドレスとを
    読み出し、上記次読出しアドレスを解放すると共に、上
    記次アドレスメモリから読み出されたアドレスを当該出
    力キューにおける新たな次読出しアドレスとすることを
    特徴とする請求項2または請求項3に記載のパケットス
    イッチ。
  5. 【請求項5】前記共通バッファメモリから読み出された
    固定長データブロックを複数の出力回線に振り分けるた
    めの分離手段を備えたことを特徴とする請求項1〜請求
    項4の何れかに記載のパケットスイッチ。
  6. 【請求項6】複数の入力回線から受信した可変長パケッ
    トを少なくとも1つの出力回線に固定長のデータブロッ
    ク単位で転送するパケットスイッチにおいて、 上記複数の入力回線に共用される共通バッファメモリ
    と、 上記各入力回線からの受信パケットを固定長のデータブ
    ロック単位で多重化して上記共通バッファメモリに供給
    する多重化手段と、 上記共通バッファメモリへの上記各固定長データブロッ
    クの書込みと読出しを制御するバッファ制御手段とから
    なり、 上記バッファ制御手段が、上記共通バッファメモリにお
    ける各固定長データブロックの書込みアドレスを可変長
    パケット別にリンクして複数の入力キューを形成してお
    き、可変長パケットの最後の固定長データブロックが上
    記共通バッファメモリに書き込み済みとなった入力キュ
    ーを転送先出力回線と対応する出力キューに登録する第
    1制御手段と、出力回線対応に形成された複数の出力キ
    ューを所定の順序でアクセスし、各出力キューが示すリ
    ンクド・アドレスに基づいて上記共通バッファメモリか
    ら固定長データブロックを読み出す第2制御手段とを備
    え、上記第1制御手段が、最後の固定長データブロック
    が書き込み済みとなった1つの入力キューを複数の出力
    キューに登録する機能を有することを特徴とするパケッ
    トスイッチ。
  7. 【請求項7】前記バッファ制御手段が、前記共通バッフ
    ァメモリにおける空きアドレスを保持するための空きア
    ドレスメモリと、前記共通バッファメモリにおける固定
    長データブロックの書込みアドレスを記憶するための次
    アドレスメモリとを有し、 前記第1制御手段が、上記空きアドレスメモリから取り
    出した書込みアドレスに基づいて前記共通バッファメモ
    リに各固定長データブロックを書き込み、上記次アドレ
    スメモリに上記各書込みアドレスと対応して同一可変長
    パケットにおける次の固定長データブロックの書込みア
    ドレスを記憶することにより、前記入力キューを形成す
    ることを特徴とする請求項6に記載のパケットスイッ
    チ。
  8. 【請求項8】前記各出力キューが、可変長パケットの先
    頭データブロックの書込みアドレスと最終データブロッ
    クの書込みアドレスを一時的に記憶するための待機バッ
    ファと、次に読み出すべきデータブロックを示す次読出
    しアドレスと最後のデータブロックを示す最終読出しア
    ドレスとを記憶するアドレスメモリとからなり、 前記第1制御手段が、各入力キューにおける可変長パケ
    ットの先頭データブロックの書込みアドレスと最終デー
    タブロックの書込みアドレスを転送先出力回線と対応す
    る待機バッファに登録し、これに付随するアドレスメモ
    リが空き状態となった時、前記第2制御手段が、上記待
    機バッファから取り出した1対のアドレスを上記アドレ
    スメモリに設定することを特徴とする請求項7に記載の
    パケットスイッチ。
  9. 【請求項9】前記第2制御手段が、前記各出力キューに
    登録された次読出しアドレスに基づいて、前記共通バッ
    ファメモリと次アドレスメモリからそれぞれ固定長デー
    タブロックと次の固定長データブロックのアドレスとを
    読出し、上記次アドレスメモリから読み出されたアドレ
    スを当該出力キューにおける新たな次読出しアドレスと
    することを特徴とする請求項7または請求項8に記載の
    パケットスイッチ。
  10. 【請求項10】前記共通バッファメモリにおける各固定
    長データブロックの読出し回数をカウントし、読出し回
    数が指定値に達した時、上記読出しアドレスを解放する
    アドレス解放制御手段をすることを特徴とする請求項6
    〜請求項9の何れかに記載のパケットスイッチ。
JP2000378448A 2000-11-08 2000-12-13 パケットスイッチ Expired - Fee Related JP3652245B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2000378448A JP3652245B2 (ja) 2000-12-13 2000-12-13 パケットスイッチ
US09/791,791 US6977941B2 (en) 2000-11-08 2001-02-26 Shared buffer type variable length packet switch

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000378448A JP3652245B2 (ja) 2000-12-13 2000-12-13 パケットスイッチ

Publications (2)

Publication Number Publication Date
JP2002185495A true JP2002185495A (ja) 2002-06-28
JP3652245B2 JP3652245B2 (ja) 2005-05-25

Family

ID=18847017

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000378448A Expired - Fee Related JP3652245B2 (ja) 2000-11-08 2000-12-13 パケットスイッチ

Country Status (1)

Country Link
JP (1) JP3652245B2 (ja)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004066571A1 (ja) * 2003-01-20 2004-08-05 Fujitsu Limited ネットワークスイッチ装置およびネットワークスイッチ方法
JP2004242334A (ja) * 2003-02-07 2004-08-26 Fujitsu Ltd 高速交換環境でマルチキャストするシステム、方法及び論理
KR100732135B1 (ko) * 2005-04-08 2007-06-27 후지쯔 가부시끼가이샤 네트워크 스위치 장치 및 네트워크 스위치 방법
JP2007208437A (ja) * 2006-01-31 2007-08-16 Fujitsu Ltd セル化方法及び装置
JP2008160570A (ja) * 2006-12-25 2008-07-10 Fujitsu Ltd パケット中継方法及び装置
US7496034B2 (en) 2004-11-05 2009-02-24 Fujitsu Limited Packet processing device implementing scheduling and priority for improved efficiency
JP2010035245A (ja) * 2003-02-07 2010-02-12 Fujitsu Ltd 高速交換環境でマルチキャスティングするシステム、方法及び論理
JP2011130249A (ja) * 2009-12-18 2011-06-30 Fujitsu Telecom Networks Ltd 通信制御装置

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004066571A1 (ja) * 2003-01-20 2004-08-05 Fujitsu Limited ネットワークスイッチ装置およびネットワークスイッチ方法
JP2004242334A (ja) * 2003-02-07 2004-08-26 Fujitsu Ltd 高速交換環境でマルチキャストするシステム、方法及び論理
JP2010035245A (ja) * 2003-02-07 2010-02-12 Fujitsu Ltd 高速交換環境でマルチキャスティングするシステム、方法及び論理
US7496034B2 (en) 2004-11-05 2009-02-24 Fujitsu Limited Packet processing device implementing scheduling and priority for improved efficiency
KR100732135B1 (ko) * 2005-04-08 2007-06-27 후지쯔 가부시끼가이샤 네트워크 스위치 장치 및 네트워크 스위치 방법
JP2007208437A (ja) * 2006-01-31 2007-08-16 Fujitsu Ltd セル化方法及び装置
JP2008160570A (ja) * 2006-12-25 2008-07-10 Fujitsu Ltd パケット中継方法及び装置
US8594092B2 (en) 2006-12-25 2013-11-26 Fujitsu Limited Packet relay method and device
JP2011130249A (ja) * 2009-12-18 2011-06-30 Fujitsu Telecom Networks Ltd 通信制御装置

Also Published As

Publication number Publication date
JP3652245B2 (ja) 2005-05-25

Similar Documents

Publication Publication Date Title
US9461940B2 (en) System and method for high speed packet transmission
JP3415628B2 (ja) 効率的な出力―要求パケット交換機および方法
US8989202B2 (en) Pipeline method and system for switching packets
US6977941B2 (en) Shared buffer type variable length packet switch
US7738450B1 (en) System architecture for very fast ethernet blade
US4991172A (en) Design of a high speed packet switching node
EP0960536B1 (en) Queuing structure and method for prioritization of frames in a network switch
US7313142B2 (en) Packet processing device
JP3645734B2 (ja) ネットワーク中継装置及びネットワーク中継方法
US6487171B1 (en) Crossbar switching matrix with broadcast buffering
US6617879B1 (en) Transparently partitioned communication bus for multi-port bridge for a local area network
US10645033B2 (en) Buffer optimization in modular switches
US6895015B1 (en) Dynamic time slot allocation in internal rules checker scheduler
KR100708425B1 (ko) 단일 링 데이터 버스 접속 구성을 이용하여 메모리를 공유하는 장치 및 방법
JP2002185495A (ja) パケットスイッチ
US6643294B1 (en) Distributed control merged buffer ATM switch
JPH10322347A (ja) ネットワーク通信装置
US7206310B1 (en) Method and apparatus for replicating packet data with a network element
JP2002152247A (ja) パケットスイッチ
JP2002344514A (ja) マルチキャスト方法及びマルチキャスト装置
US6891843B1 (en) Apparatus and method for sharing memory using extra data path having multiple rings
Tsai et al. A multicasting solution for ATM video applications
JPH11308218A (ja) レイヤ3マルチキャスト送信方式

Legal Events

Date Code Title Description
A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20040209

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20050201

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20050222

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

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20100304

Year of fee payment: 5

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

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

Free format text: PAYMENT UNTIL: 20100304

Year of fee payment: 5

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees