JP2004248028A - パケット並べ替え手段 - Google Patents
パケット並べ替え手段 Download PDFInfo
- Publication number
- JP2004248028A JP2004248028A JP2003036625A JP2003036625A JP2004248028A JP 2004248028 A JP2004248028 A JP 2004248028A JP 2003036625 A JP2003036625 A JP 2003036625A JP 2003036625 A JP2003036625 A JP 2003036625A JP 2004248028 A JP2004248028 A JP 2004248028A
- Authority
- JP
- Japan
- Prior art keywords
- packet
- cell
- order information
- reading
- read
- 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.)
- Withdrawn
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
【課題】ネットワーク内でパケットの紛失が生じた際にも、そのパケット紛失を検出し、パケットの並べ替え及び読み出し送信の停止を防ぐ。また、パケットの紛失が後続のパケットに及ぼす影響を最小限にとどめる。
【解決手段】受信パケットを一時記憶するとともに、パケット中に付加されているパケットの順序情報にパケットを送出する機能を設ける。また、一時記憶中のパケット数および次に読み出すべき順序情報を持つパケットの受信待ちに要する時間をもとに、パケットの紛失を検出する機能を設ける。パケットの紛失が検出されたさいには、その代わりに所望のダミーパケットを送出する機能を設ける。
【選択図】 図1
【解決手段】受信パケットを一時記憶するとともに、パケット中に付加されているパケットの順序情報にパケットを送出する機能を設ける。また、一時記憶中のパケット数および次に読み出すべき順序情報を持つパケットの受信待ちに要する時間をもとに、パケットの紛失を検出する機能を設ける。パケットの紛失が検出されたさいには、その代わりに所望のダミーパケットを送出する機能を設ける。
【選択図】 図1
Description
【0001】
【発明の属する技術分野】
本発明は通信ネットワークに関し、更に詳しくは、受信側における受信パケットの順序が送信側における送信パケットの順序と一致することが保証されないネットワークにおけるパケットの並べ替え手段に関する。
【0002】
【従来の技術】
近年、簡易な構成の大容量ネットワークシステムとして、ノード装置を並列多重伝送路でリング状に接続したネットワークシステムが検討されている。該ネットワークシステムの詳細は、特開平8−172394号公報「ネットワークシステム及びノード装置及びコンセントレ一夕及びネットワークシステムにおける伝送制御方法」、特開平8−237306号公報「ネットワークシステム及びノード装置及び伝送制御方法」において述べられている。以下に、特開平8−237306号公報「ネットワークシステム及びノード装置及び伝送制御方法」で述べられているネットワークシステムを例として挙げる。
【0003】
図6は従来のネットワークにおけるノード装置の構成図であり、ノード装置600にサブ伝送路を介して端末651〜658を接続している例を示している。符号601〜608は、分離挿入手段であるところの分離挿入部であり、並列多重伝送路から入力されるセルのアドレスを検出し、サブ伝送路を介して端末へ伝送させるセルとバッファへ入力させるセルに分離すると共に、端末から伝送されてくるセルを、並列多重伝送路から入力されるセル流に挿入する機能を有している。符号611〜618は、バッファ手段であるところのバッファであり、分離挿入部から出力されるセルをスイッチ641の出力端に対応した記憶領域に一時記憶する機能を有している。符号621〜628、符号631〜638はノード間を接続するための並列多重伝送路であり、例えば空間的に分離された複数の光ファイバ伝送路であったり、あるいは1本の光ファイバ上に波長分割されて多重化された波長多重伝送路であったりする。符号641はスイッチであり、スイッチ制御部642に制御されて、入力端INl〜IN8に入力したセルを任意の出力端OUTl〜OUT8へ接続するものである。スイッチ641は、並列多重伝送路に複数の光ファイバ伝送路を用いるときには、空間スイッチ等を用いて交換を行う。また、波長多重伝送路を用いる場合には、図6とは若干構成が異なるが、複数の可変波長レーザダイオードと合波器からなる送信部を波長多重伝送路へ接続し、波長多重伝送路の受信部で分波器により各波長を分離することでノード間でスイッチを構成し、可変波長レーザダイオードの送信波長を波長λ1〜λ8の任意の波長に設定することで交換を行う。符号642はスイッチ制御部であり、例えば図9の制御パターンに従ってスイッチを制御する。符号643はバッファ制御部であり、各バッファに接続されたスイッチの入力端が所望の出力端に接続されたときに、バッファから記憶されているセルを読み出すように制御するものである。
【0004】
図7は分離挿入部601〜608の内部構成を示す図であり、701はセルのヘッダから宛先アドレスを検出するヘッダ検出部、702、703は入力信号を出力または遮断するためのゲート、704は2つの入力信号のどちらか一方を出力するセレクタ、705はセルを一時記憶するためのFIFO(FIrst In FIrst Out)である。分離挿入部601〜608において、並列多重伝送路より入力したセルはヘッダ検出部701においてヘッダが検出され、ヘッダの内容によりゲート702と703の開閉の処理を行う。ヘッダ検出部701にはあらかじめその分離挿入部に接続されている端末のアドレスが記憶されており、検出した宛先アドレスが記憶しているアドレスと一致したときには、ゲート703を開き且つゲート702を閉じて端末方向のみにそのセルを出力する。また、検出した宛先アドレスが記憶しているアドレスと一致しない場合は、ゲート702を開き且つゲート703を閉じて、セレクタ704のみにそのセルを出力してセレクタ704を通ってバッファへ送られる。一方端末から伝送されてきたセルはFIFO705に一時記憶し、ゲート702からセレクタ704に入力したセル流にすき間があるときにFIFO705から読み出され、セレクタ704を通ってバッファへ送られるように動作する。
【0005】
図8はバッファ611〜618の内部構成であり、801はスイッチ641の出力端に対応した記憶領域1〜記憶領域8からなるバッファメモリ、802はセルのヘッダから宛先アドレスを検出するヘッダ検出部、803はバッファメモリ801に書き込みアドレスを供給するためのアドレスカウンタである。バッファ611〜618において、分離挿入部より入力したセルはヘッダ検出部802においてヘッダが検出され、ヘッダの内容によりそのセルを記憶する記憶領域が決定される。ヘッダ検出部802にはあらかじめ隣接する下流ノードに接続される端末のアドレスが記憶されており、検出した宛先が記憶しているアドレスと一致したときには、その端末が接続されている伝送路つまりスイッチ641の出力端に対応した記憶錦城を指定し、アドレスカウンタ803より書き込みアドレスを発生させてバッファメモリ801に記憶させる。また、検出した宛先アドレスが記憶しているアドレスと一致しないときには、任意の記憶領域にそのセルを記憶させるごとく制御する。
【0006】
図9はスイッチ641の入出力の接続関係を示す制御パターンであり、制御アドレスAl〜A8によりスイッチの入出力接続関係が変更される。入力端INl〜IN8はバッファ611〜618に対応しており、出力端OUTl〜OUT8(または送信波長λ1〜λ8)は各バッファの記憶領域1〜記憶領域8に対応している。
【0007】
図10は、図6に示したノード装置を用いたネットワークシステムの構成例であり、4つのノード装置1001〜1004を並列多重伝送路1005〜1008によってリング型に接続し、各ノード装置にはそれぞれ8本のサブ伝送路を介して8台の端末が接続されている。端末1011〜1018は端末651〜658に対応し、同様に1021〜1028、1031〜1038、1041〜1048も端末651〜658に対応している。
【0008】
図11はこのネットワークの通信原理を説明するための図であり、1101〜1104はノード装置、1105〜1108はスイッチ641に対応した交換スイッチ、1109〜1112はバッファ611〜618に対応したバッファ、1121〜1136は端末、A,B,C,Dはリングを成す並列伝送路である。
【0009】
まず、図11を用いてこのネットワークの通信原理について説明する。このネットワークは複数のリングA,B,C,Dを有し、各リング間は交換スイッチ1105〜1108によって相互に接続されている。各端末は並列伝送路A,B,C,Dの中の1つのリング伝送路に接続されており、他のリングに接続された端末と通信を行う場合は、少なくとも1回、任意の交換スイッチで他のリングに交換されることで通信が行われる。交換が行われる位置は特定されないが、宛先ノードの1つ手前のノードで宛先の伝送路へ乗り換えて、他のノードでは任意の伝送路へ乗り換えるようにすると通信制御が容易になる。このネットワークはノード装置を簡略化するため、交換スイッチ1105〜1108は入力信号とは無関係に入出力の接続関係を特定の巡回パターンにしたがって一定周期に変更し、バッファ1109〜1112で入力信号を一時蓄積して、交換スイッチの入出力接続関係が所望の関係になったときにバッファからセルを読み出すようにして交換が行われる。
【0010】
例えば、端末1122から端末1132へ通信する場合は、端末1122から出力されたセルはノード1101のバッファ1109に蓄積され、スイッチ1105の入力端IN2が例えば出力端OUT2に接続されたときにバッファから読み出されて伝送路Bに出力され、ノード1102のバッファ1110へ入力してスイッチ1106のIN2とOUT4が接続されたときにバッファから読み出されることにより、伝送路Dへ出力されて端末1132へセルが送られる。
【0011】
このように、それぞれのノード装置で任意のリング伝送路に乗り換えることにより通信が行われる。次に、図6、図10を用いて詳細を説明する。説明においては並列多重伝送路は空間的に分離された複数の光ファイバ伝送路、スイッチは空間スイッチとして説明するが、波長多重伝送路を用いる場合も上記原理に基づいており、ほぼ同様の動作が行われる。仮に、端末1012から端末1035へ通信する場合の動作例について説明する。
【0012】
端末1012からの送信データは固定長のセルに分割され、各セルのヘッダに宛先アドレスが記載されて出力される。出力されたセルはサブ伝送路を通ってノード装置1001へ入力し、分離挿入部602のFIFO705に一時記憶される。記憶されたセルは、ゲート702からセレクタ704に入力したセル流にすき間があるときにFIFO705から読み出され、セレクタ704を通ってバッファへ送られる。バッファ612のヘッダ検出部802は、入力したセルのヘッダを検出すると検出した宛先アドレスが記憶しているアドレスと一致しないので、任意の記憶領域を指定する。書き込みアドレスカウンタ803はその情報を受けて書き込みアドレスを発生させ、そのセルをバッファメモリ801の記憶領域に書き込ませる。ここでは仮に記憶領域1に記憶されるとする。
【0013】
バッファ制御部643はスイッチ641の入力端IN2が出力端OUTlに接続されるまでそのセルの読み出しを待機させ、接続された時にセルを読み出す。
【0014】
スイッチ制御部642は、図9に示すテーブルのように制御アドレスをAl,A2,A3,A4,A5,A6,A7,A8と順次供給してスイッチ641の接続関係を変更させ、かつ制御アドレスを例えば1セル長周期に供給することで、8セル周期で同じパターンを繰り返すように制御している。その情報をバッファ制御部643へ通知することでバッファからの読み出しタイミングが制御される。ここではスイッチ641の入力端IN2が出力端OUTlに接続されたときにバッファ612の記憶領域1からセルが読み出されることにより、そのセルはスイッチ641を通って伝送路631へ出力される。
【0015】
伝送路631を伝送されたセルは、ノード装置1002の分離挿入部601に入力し、ヘッダ検出部701においてセルのヘッダが検出される。検出した宛先アドレスは記憶しているアドレスと一致しないので、ゲート702を開きゲート703を閉じてセレクタ704へそのセルを出力する。分離挿入部601のセレクタ704へ出力されたセルは、セレクタ704を通りバッファ611へ入力する。
【0016】
ヘッダ検出率802はヘッダを検出すると検出した宛先アドレスが記憶しているアドレスと一致しているので、宛先アドレスの端末が接続される伝送路に対応する記憶領域を指定する。ここでは宛先の端末が伝送路635に接続されているので記憶領域5に記憶させる。バッファ制御部643はスイッチ641のIN1がOUT5に接続されたときにバッファ611の記憶領域5からセルを読み出すことで、セルはスイッチ641を通って伝送路635へ出力される。伝送路を通ってノード装置1003の分離挿入部605に入力したセルは、ヘッダ検出部701でヘッダが検出され、検出した宛先アドレスが記憶しているアドレスと一致したので、ゲート703を開き且つゲート702を閉じて端末方向のみにそのセルを出力する。分離挿入部605から端末方向へ出力されたセルは、サブ伝送路を通って端末1035へ送られ受信される。
【0017】
このようにして通信が行われる。
【0018】
しかしながら、図11を用いて説明したようなネットワークシステムにおいてセルの送受信を行う場合、送信側におけるセルの送出順序と受信側におけるセルの受信順序とが必ずしも一致しないという問題がある。そこで、「ノード装置及び複数のノード装置を有する通信ネットワーク及びそれらの制御方法」FIleNo.177188において図12に示すように分離挿入部と端末との間に並べ替え処理部1201〜1208を設けたノード装置1200が提案されている。ノード装置1200の内部では、セル送信時にはヘッダ変換部1211〜1218において送出セルのヘッダにモジュロn(n=1,2,…)のシーケンシャル番号を付与し、受信時には並べ替え処理部1201〜1208において分離挿入部から受信したセル列を一時蓄積し該シーケンシャル番号順に並べ替えて端末へ送出することにより、送受信間でのセルの順序を一致させている。
【0019】
【発明が解決しようとする課題】
しかしながら、従来例ではネットワーク内でのセルロスについては考慮されておらず、並べ替えバッファ部の処理が停止してしまう(ロスしたセルを永遠に待ちつづける)という問題があった。
【0020】
【課題を解決するための手段】
本発明は、上述の従来例の問題点を鑑みなされたものであり、ネットワーク内でセルロスが生じても、そのセルロスを感知し、並べ替え処理を再開できるようにするための手段を提供する。
【0021】
本発明の並べ替え手段においては、受信パケットを記憶する第1の記憶手段と、受信パケット内部に記録される順序情報をもとに第1の記憶手段中に受信パケットを記憶させるパケット書き込み手段と、前記第1の記憶手段に記憶されたバケットの持つ順序情報に対応するフラグを記憶する第2の記憶手段と、前記第1の記憶手段から次に読み出すパケットの順序情報を保持する読み出し順序保持手段と、該読み出し順序保持手段に保持されている順序情報に対応する第2の記憶手段に記憶されるフラグにより、第1の記憶手段から読み出し順序順にパケットを読み出し送信するパケット読み出し手段と、パケットの読み出しに応じ、前記読み出し順序保持手段に保持されている読み出し順序情報を更新する読み出し順序情報更新手段と、前記読み出し順序保持手段により示される順序情報が更新されずに留まっている時間、および第1の記憶手段に記憶されているパケットの有無をもとに、パケットの紛失を判定するパケット紛失判定手段と、該パケット紛失判定手段によりパケットの紛失が判定された場合には、該紛失パケットの代わりに所望のダミーパケットを送出するパケット置換手段とを有するように構成される。
【0022】
更にパケット紛失判定手段とし声声周期毎にインクリメントされる第1のカウンタと、前記第1の記憶手段に記憶されているパケット数を記憶する第2のカウンタと、前記第1の記憶手段からパケットが読み出されるたびに、前記第1のカウンタ値を記憶しておく第3の記憶手段とを有し、一定周期毎に、前記第1のカウンタ値と第3の記憶手段に記憶されているカウンタ値を比較し、該値が一致せず、かつ前記第2のカウンタ値が0でない場合には、前記読み出し順序保持手段により示される順序情報を持つパケットは紛失したものと判定するパケット紛失判定手段を有するように構成される。
【0023】
またパケットとして、可変長ユーザデータパケットを分割して生成されるATMセルに順序情報を付加した固定長パケット、順序情報として、可変長ユーザデータパケットの順序を表すパケット順序情報と該ユーザデータパケット中の何番目のATMセルかを表すセル順序情報とで構成される順序情報、読み出し順序情報更新手段として、ATMセルを読み出した後にセル順序情報をインクリメントし、ユーザデータパケットを構成する最終ATMセルであることを示すヘッダ情報を持つATMセルを読み出した後には、セル順序情報を0にリセットし、パケット順序情報をインクリメントするような読みだし順序情報更新手段、パケット置換手段として、紛失したと判定された固定長パケットを、可変長ユーザデータパケットの最後尾を示すATMヘッダを持つATMセルに置き換え、以降の同一パケット順序情報を持つ固定長パケットについては全て廃棄するようなパケット置換手段を有するように構成される。
【0024】
更に最大可変長ユーザデータパケット長をもとに、パケット順序情報長とセル順序情報長を決定するように構成する。
【0025】
【発明の実施の形態】
ネットワーク装置の構成は、従来例と同様に図12で表す。
【0026】
端末により送受信される伝送単位としてATMセル(ヘッダ5バイト、ペイロード48バイト)、端末内のネットワークソフトウェアでは、AAL5パケット(パケット末に、CRC32情報等をもつ)を使用する。
【0027】
また、ネットワークの内部の伝送単位(以降セルと呼ぶ)は、ATMセルヘッダに2バイトのシーケンシャル番号フィールドを付加し、合計55バイトとする。該シーケンシャル番号フィールドには、セル伝送順序を表すためのシーケンシャル番号が格納される。該シーケンシャル番号として本実施例では、65,536(2の16乗)のモジュロ(0〜6,5535)を使用する。
【0028】
図1は本実施例の並べ替え処理部の構成図である。
【0029】
符号120は並べ替え処理部であり、ネットワーク内で伝送順序が保証されずに入力されたセルを伝送順序どおりに並べ替えて出力するためのものである。
【0030】
符号101は書き込み・読み出し制御部であり、後述する制御方法に従って、後述のセルメモリへの入力セルの書き込み及びセルメモリからのセルの読み出しを行い、端末へ出力する機能を有する。
【0031】
符号102はセルメモリであり、入力セルを一時的に記憶するために使用される。
【0032】
符号103はストアフラグメモリであり、どのシーケンシャル番号のセルがセルメモリ102に保留されているかを示すフラグ(以降ストアフラグと呼ぶ)が保持されている。
【0033】
符号104は読み出しカウンタであり、セルメモリ102から次に読み出すべきセルのシーケンシャル番号を保持している。
【0034】
符号105は到着セルカウンタであり、セルメモリ102に保留されている出力すべきセル数を保持している。
【0035】
符号106は読み出しタイマカウントレジスタであり、セルメモリ102からセルが読み出されるたびに、後述するタイマカウンタ値が記録される。
【0036】
符号107はタイマカウンタであり、図12には記されていないが、ノード装置1200内にあり、後述するセルロス監視部が起動し処理が終了する度にインクリメントされる。
【0037】
符号108は第1のVPI/VCI変換表であり、入力セルのVPI/VCIの値と、出力時のVPI/VCIの値、後述する並べ替えブロックのブロック番号の対応を保持している。
【0038】
符号109は並べ替えブロツクであり、上記符号102〜106により構成されており、ATMコネクション毎に必要となるため、開設を認めるコネクション数分用意されている。
【0039】
符号110はコネクション管理部であり、図12には記されていないが、ノード装置1200内のCPUにおいて実行されるソフトウェアである。その機能については、適宜後述する。
【0040】
符号111はセルロス監視部であり、上記CPU上で実行されるソフトウェアであり、その機能は適宜後述する。
【0041】
図2は本実施例のヘッダ変換部の構成図である。
【0042】
符号201はヘッダ変換部であり、入力ATMセルをセルに変換し出力する機能を有する。
【0043】
符号202はシーケンシャル番号付加部であり、入力ATMセルに、2バイトのシーケンシャル番号フィールドを付加し、セルへと変換して出力する機能を有する。さらに後述のシーケンシャル番号レジスタに保持されるシーケンシャル番号を管理する機能も有する。
【0044】
符号203は第2のVPI/VCI変換表であり、入力ATMセルのVPI/VCIの値と、出力時のVPI/VCIの値、後述するヘッダ変換ブロックの番号の対応を保持している。
【0045】
符号204はセル番号ビット幅レジスタであり、特定コネクションに割り当てられたセル番号のビット幅を保持する。
【0046】
符号205はシーケンシャル番号レジスタであり、次入力ATMセルに付加すべきシーケンシャル番号を保持する。
【0047】
符号206はヘッダ変換ブロックであり、上記符号204、205で構成される。本ブロックは、ATMコネクション毎に必要となるため、開設を認めるコネクション数分用意されている。
【0048】
図3は上述のVPI/VCI変換表の内容を示す図である。
【0049】
符号301はブロック番号であり、並べ替えブロックあるいはヘッダ変換ブロックのブロック番号を表す。
【0050】
符号302は使用中フラグであり、ブロック番号で示されるブロックが開設中のコネクションに割り当てられているか(フラグ1)否か(フラグ0)を示す。
【0051】
符号303、符号304は入力VPI/VCI値、出力VPI/VCI値であり、ブロック番号で示されるブロックを使用しているコネクションの入力時のVPI/VCI値、出力時のVPI/VCI値を表す。
【0052】
以下に、本実施例における並べ替え処理部、ヘッダ変換部の処理内容について詳しく述べる。
【0053】
初めにコネクション管理部110の処理について説明する。
【0054】
本実施例では、シーケンシャル番号をパケット番号とセル番号に分けて取り扱う。
【0055】
ATMコネクション上で取り扱われる最大パケットサイズを1,516バイトとすると(LAN−EmulatIonフレームを想定)、最大サイズのパケットについては、32のセルに分割されることになる。したがって、シーケンシャル番号に割り当てられた16ビットのうちの下位5ビットをセル番号(0〜31)、残り上位11ビット(0〜2,047)をパケット番号として割り当てる。つまり、セル番号は32のモジュロ、パケット番号は2,048のモジュロとなる。上記最大パケットサイズは、シグナリング時の情報として取得できるため、コネクション開設時に、セル番号、パケット番号に割り当てるビット幅を最大パケットサイズに合わせて動的に割り当てることができる。また、上記パケット番号の最大数を超えるようなセルの順序入れ替えは、ネットワーク内部で起こらないものとする。
【0056】
まず、コネクション開設時の処理について図4(a)を用いて説明する。説明を簡単にするため、片方向通信用のコネクションとする。両方向通信用のコネクションの場合には、同様の処理を双方向について行えば良い。
【0057】
コネクションの開設時には、コネクション管理部110により、送信側端末65n(n:1〜8任意、以降も同様)が接続されているヘッダ変換部121nの第2のVPI/VCI変換表203およびヘッダ変換ブロック206、受信側端末が接続されている並べ替え処理部120nの第1のVPI/VCI変換表108および並べ替えブロック109の設定が行われる。
【0058】
まず、上述の該当する第1、第2のVPI/VCI変換表の使用中フラグ302を参照し、未使用のブロックから今回のコネクションに使用するブロックをそれぞれ選択し、使用中フラグをONに変更する(S402)。また、第2のVPI/VCI変換表の入力VPI/VCI303の値は、高速に交換表内のエントリを検索できるように、VCI=ブロック番号となるように設定し、VPIは任意とする。同様に第1のVPI/VCI交換表の入力VCI=ブロック番号、VPIについては該第1のVPI/VCI交換表の属するノード装置および並べ替え処理部を識別するための適当な値を選択する。当然ながら、第2のVPI/VCI交換表における出力VPI/VCI304の値は、第1のVPI/VCI交換表の入力VPI/VCIの値と一致させる必要がある。第1のVPI/VCI交換表の出力VPI/VCIの値は任意に選択される。上述のとおり決定した出力VPI/VCIの値を、それぞれのブロック番号(入力VCI)に対応させて、第1と第2のVPI/VCI変換表108、203のそれぞれに記録する(S403)。図3からわかるように、ブロック番号301と入力VPI/VCI303のVCIの値は同じであり、使用中フラグ302の立っているものについては、出力VPI/VCI304が記録されている。
【0059】
さらに、選択した並べ替えブロックのストアフラグメモリ103内の全フラグをOFFにし、読み出しカウンタ104および到着セルカウンタ105を0で、読み出しタイマカウントレジスタ106をタイマカウンタ107の値でで初期化する。さらに、選択したヘッダ変換ブロック内のセル番号ビット幅レジスタ204に、前述のとおりセル番号ビット幅5を記録し、シーケンシャル番号レジスタ205を0で初期化する(S404)。
【0060】
コネクションの解放時の処理は、第1、第2のVPI/VCI変換表から、解放コネクションに関連のあるそれぞれのエントリの使用中フラグ302をOFFにし(S411)、並べ替えブロック109、ヘッダ変換ブロック206を解放する(S412)。
【0061】
次にシーケンシャル番号付加部202の処理について、図5を用いて説明する。
【0062】
端末65nにおいてAAL5パケットはATMセルに分割され送出される。該ATMセルは、ヘッダ変換部121nへと入力される。
【0063】
ヘッダ変換部201では、シーケンシャル番号付加部202において、入力ATMセルのATMヘッダ内のVPI/VCIをもとに第2のVPI/VCI変換表203を参照し、出力VIVI/VCI値を割り出し(S502)、ATMセルヘッダ内のVPI/VCIの値を該出力値に書き換えるとともに(S503)、該VPI/VCI変換表により割り出されるヘッダ変換ブロックのブロック番号より、該当するブロック206内のシーケンシャル番号レジスタ205に保持されている2バイトのシーケンシャル番号をATMヘッダと、ATMペイロードの間に挿入し(S504)、セルとして出力する(S505)。同時に、シーケンシャル番号レジスタ値の更新を行う(S506〜S507)。
【0064】
ここでシーケンシャル番号の更新方法について説明する。シーケンシャル番号内の、セル番号は、1セル出力毎に1ずつインクリメントされ(0〜31)(S508)、パケットの末尾のセル(ATMセルヘッダのPTフィールドを監視することで判別する、以下最終セルと略す)の出力後に0にリセットされる。同様にパケット番号は最終セル出力後にインクリメントされる(0〜2,047、2,047の後は0にリセットされる)(S507)。
【0065】
次に書き込み・読み出し制御部101の書き込み処理について、図13を用いて説明する。
【0066】
分離挿入部62nより入力されたセルは、書き込み・読み出し制御部において、入力セルのヘッダ内のVPI/VCIをもとに第1のVPI/VCI変換表108を参照し、出力VPI/VCI値を割り出し(S1302)、ヘッダ内のVPI/VCIの値を該出力値に書き換えるとともに(S1303)、該VPI/VCI変換表により割り出される並べ替えブロックのブロック番号より、該当するブロック109内のセルメモリ102に、セルヘッダ内のシーケンシャル番号備により割り出される鎖域へ(S1304)、セルよりシーケンシャル番号フィールドを削除したATMセルの形態で(S1305)、一時蓄積される(S1306)。それと同時に、ストアフラグメモリ103内の前記シーケンシャル番号に該当するところのストアフラグをONにし、(S1307)、到着セルカウンタ値をインクリメントし(S1308)、読み出しタイマカウントレジスタ106にタイマカウンタ107の値をセットする(S1309)。
【0067】
次に書き込み・読み出し制御部101の読み込み処理について、図14を用いて説明する。
【0068】
書き込み・読み出し制御部は常時、読み出しカウンタ104の値で示されるところのストアフラグメモリ103中のストアフラグを監視している(S1401)。該フラグが1にセットされると、セルメモリ102より該当する領域のATMセルを読み出し、端末へと出力する(S1402、S1403)。それと同時に、上記ストアフラグを0にセットし(S1404)、到着セルカウンタ105の値をデクリメントし(S1405)、読み出しカウンタ104の値を更新する。該読み出しカウンタの更新は、通常は1ずつインクリメントされるが(セル番号のインクリメントに相当、S1408)、最終セル出力時には、シーケンシャル番号の上位11ビットに相当するパケット番号インクリメントし、下位5ビットに相当するセル番号は0にリセットされるように進められる(S1407)。
【0069】
次にセルロス監視部111の処理について、図15を用いて説明する。
【0070】
セルロス監視部の処理は、一定周期毎に起動される周期ルーチンであり、該周期はセルのネットワーク内での並べ替わりにより生じると予想される遅延時間よりも大きく、セルメモリ102を全て一時保存のATMセルで一杯にするのに要する時間よりは短く設定されてる。
【0071】
上記周期ルーチンが起動されると、第1のVPI/VCI交換表の使用中フラグ302をチェックし、使用中の並べ替えブロック109を割り出し、該並べ替えブロックの到着セルカウンタ105を順次チェックする(S1503)。セル到着カウンタの値が0ではない並べ替えブロックについては、ネットワーク内でのセルロスが発生したことによる、セル読み出しの中断が起こっている可能性がある。該セルロス判定には、読み出しタイマカウントレジスタ106の値とタイマカウンタ107の値の比較を行う(S1504)。これらの値が異なる場合には、読み出しカウンタ104で示されるシーケンシャル番号を持つセルがネットワーク内でロスしたものと判定する。つまり、ネットワーク内で生じ得ると考えられる以上の遅延時間が過ぎても読み出しカウンタの更新がなかったことになり、セルロスしたものと判定し、下記に述べるセルロス後処理を実行する(S1505〜S1508)。
【0072】
該セルロス後処理では、ダミーの最終ATMセル(ペイロードの中身は問わない)を出力した後に、読み出しカウンタによって示されるストアフラグメモリ103のストアフラグがONの場合には該フラグをOFFにし、かつ到着セルカウンタをデクリメントしながら、読み出しカウンタをインクリメントし続ける(ストアフラグがOFFの場合には、到着セルデクリメントは行われない)。該読み出しカウンタのインクリメントは、パケット番号が更新されるまで続けられる。該処理により、セルロスの生じたパケットについては、ロスしたセル以降はすべて廃棄され、ダミーの最終セル1つに置き換えられることになる(S1505)。1つでもセルロスが生じたパケットは、端末において正しいAAL5パケットに組み立てられる事はない(つまり該パケットを構成するATMセルは全て廃棄される)ので、この置き換え自体に問題はない。さらに、ロスしたセルが最終セルであった場合でも、ダミーの最終セルが必ず出力されるため、後続のパケットに影響が及ばない。
【0073】
上記処理の後、もう一度到着セルカウンタ105の値をチェックし(S1506)、値が依然として0でない場合には、複数のパケットにまたがってセルがロスしている可能性が生じる。そこで、読み出しカウンタに示されるシーケンシャル番号のパケット番号において、セル番号0〜31に対するストアフラグのうち少なくとも1つのフラグがONとなっていることが確認されるまで、読み出しカウンタのパケット番号をインクリメントする(セルNo.は0)(S1507、S1508)。該処理により、少なくとも1つ以上のセルが到着しているパケットの先頭セルまで、読み出しカウンタの値を更新することができる。
【0074】
前記セルロス後処理により、セルロスが生じたと思われる少なくとも1つ以上のパケットを飛び越すことができ、読み出し処理が停止してしまうことなない。
【0075】
全使用中の並べ替えてバッファについてセルロスのチェックが終了すると、タイマカウンタ107のタイマカウンタ値をインクリメントし、セルロス監視ルーチンを終了する(S1510)。
【0076】
このように、通常はネットワーク内でセルの並べ替えが生じても、端末へ出力される際には、正しい順序で出力される。また、ネットワーク内でセルのロスが生じても、セルロス監視ルーチンにより、パケット単位での廃棄および読み出しカウンタが更新されるため、セルの読み出しが長時間にわたって中断されることはない。
【0077】
なお、本実施例ではパケット番号に割り当てるビット幅を最大パケットサイズに応じて決定しているが、必ずしも確実にパケット単位での廃棄が必要ない場合には、該ビット幅よりも小さな値を選択しても構わない。
【0078】
【発明の効果】
ネットワーク内でセルロスが生じても、そのセルが関与するパケット以外には影響を及ぼすことなく、バケットを伝送する手段を提供する。
【0079】
さらに従来の方法では、パケットの最終セルがロスしてしまった場合には、そのセルが関与するパケットとその次のパケットが、1つのパケットとして組み立てられてしまうため、事実上連続する2パケットがロスしたことになってしまっていた。しかし、本手法ではダミーの最終セルを送出することで、上記問題を解決した。
【0080】
また、従来の手法では、コネクション開設後の最初のセルはシーケンシャル番号を0から始める必要があったが、本手法によりこの制限は不要となった。この制限がなくなった事により、マルチキャスト伝送を簡易に行えるようになった。つまり従来の手法では、既に設定されているマルチキャストコネクションに対し、新たにリーフ(伝送先)が途中で常時(シーケンシャル番号が0でない時でも)加わることができるようにするために、1リーフにつき1シーケンシャル番号付与用のカウンタを用意する必要があった。しかし本実施例では、1マルチキャストコネクションにつき1つでよく、セルのペイロードおよびシーケンシャル番号をリーフ数分コピーして伝送すればよい。
【図面の簡単な説明】
【図1】実施例の並べ替え処理部。
【図2】実施例のヘッダ変換部。
【図3】VPI/VCI変換表の例。
【図4】コネクション管理部の処理。
【図5】シーケンシャル番号付加部の処理。
【図6】従来例のネットワークにおけるノード装置の構成図。
【図7】図6のノード装置内の分離挿入部の内部構成図。
【図8】図6のノード装置内のバッファ部の内部構成図。
【図9】従来例のノード装置のスイッチの入出力の接続関係を示す制御パターン。
【図10】従来例のネットワークシステムの構成図。
【図11】従来例のネットワークの通信原理を説明するための図。
【図12】並べ替え処理を有する従来例のノード装置の構成図。
【図13】書き込み・読み出し制御部の書き込み処理。
【図14】書き込み・読み出し制御部の書き込み処理。
【図15】セルロス監視部の処理。
【発明の属する技術分野】
本発明は通信ネットワークに関し、更に詳しくは、受信側における受信パケットの順序が送信側における送信パケットの順序と一致することが保証されないネットワークにおけるパケットの並べ替え手段に関する。
【0002】
【従来の技術】
近年、簡易な構成の大容量ネットワークシステムとして、ノード装置を並列多重伝送路でリング状に接続したネットワークシステムが検討されている。該ネットワークシステムの詳細は、特開平8−172394号公報「ネットワークシステム及びノード装置及びコンセントレ一夕及びネットワークシステムにおける伝送制御方法」、特開平8−237306号公報「ネットワークシステム及びノード装置及び伝送制御方法」において述べられている。以下に、特開平8−237306号公報「ネットワークシステム及びノード装置及び伝送制御方法」で述べられているネットワークシステムを例として挙げる。
【0003】
図6は従来のネットワークにおけるノード装置の構成図であり、ノード装置600にサブ伝送路を介して端末651〜658を接続している例を示している。符号601〜608は、分離挿入手段であるところの分離挿入部であり、並列多重伝送路から入力されるセルのアドレスを検出し、サブ伝送路を介して端末へ伝送させるセルとバッファへ入力させるセルに分離すると共に、端末から伝送されてくるセルを、並列多重伝送路から入力されるセル流に挿入する機能を有している。符号611〜618は、バッファ手段であるところのバッファであり、分離挿入部から出力されるセルをスイッチ641の出力端に対応した記憶領域に一時記憶する機能を有している。符号621〜628、符号631〜638はノード間を接続するための並列多重伝送路であり、例えば空間的に分離された複数の光ファイバ伝送路であったり、あるいは1本の光ファイバ上に波長分割されて多重化された波長多重伝送路であったりする。符号641はスイッチであり、スイッチ制御部642に制御されて、入力端INl〜IN8に入力したセルを任意の出力端OUTl〜OUT8へ接続するものである。スイッチ641は、並列多重伝送路に複数の光ファイバ伝送路を用いるときには、空間スイッチ等を用いて交換を行う。また、波長多重伝送路を用いる場合には、図6とは若干構成が異なるが、複数の可変波長レーザダイオードと合波器からなる送信部を波長多重伝送路へ接続し、波長多重伝送路の受信部で分波器により各波長を分離することでノード間でスイッチを構成し、可変波長レーザダイオードの送信波長を波長λ1〜λ8の任意の波長に設定することで交換を行う。符号642はスイッチ制御部であり、例えば図9の制御パターンに従ってスイッチを制御する。符号643はバッファ制御部であり、各バッファに接続されたスイッチの入力端が所望の出力端に接続されたときに、バッファから記憶されているセルを読み出すように制御するものである。
【0004】
図7は分離挿入部601〜608の内部構成を示す図であり、701はセルのヘッダから宛先アドレスを検出するヘッダ検出部、702、703は入力信号を出力または遮断するためのゲート、704は2つの入力信号のどちらか一方を出力するセレクタ、705はセルを一時記憶するためのFIFO(FIrst In FIrst Out)である。分離挿入部601〜608において、並列多重伝送路より入力したセルはヘッダ検出部701においてヘッダが検出され、ヘッダの内容によりゲート702と703の開閉の処理を行う。ヘッダ検出部701にはあらかじめその分離挿入部に接続されている端末のアドレスが記憶されており、検出した宛先アドレスが記憶しているアドレスと一致したときには、ゲート703を開き且つゲート702を閉じて端末方向のみにそのセルを出力する。また、検出した宛先アドレスが記憶しているアドレスと一致しない場合は、ゲート702を開き且つゲート703を閉じて、セレクタ704のみにそのセルを出力してセレクタ704を通ってバッファへ送られる。一方端末から伝送されてきたセルはFIFO705に一時記憶し、ゲート702からセレクタ704に入力したセル流にすき間があるときにFIFO705から読み出され、セレクタ704を通ってバッファへ送られるように動作する。
【0005】
図8はバッファ611〜618の内部構成であり、801はスイッチ641の出力端に対応した記憶領域1〜記憶領域8からなるバッファメモリ、802はセルのヘッダから宛先アドレスを検出するヘッダ検出部、803はバッファメモリ801に書き込みアドレスを供給するためのアドレスカウンタである。バッファ611〜618において、分離挿入部より入力したセルはヘッダ検出部802においてヘッダが検出され、ヘッダの内容によりそのセルを記憶する記憶領域が決定される。ヘッダ検出部802にはあらかじめ隣接する下流ノードに接続される端末のアドレスが記憶されており、検出した宛先が記憶しているアドレスと一致したときには、その端末が接続されている伝送路つまりスイッチ641の出力端に対応した記憶錦城を指定し、アドレスカウンタ803より書き込みアドレスを発生させてバッファメモリ801に記憶させる。また、検出した宛先アドレスが記憶しているアドレスと一致しないときには、任意の記憶領域にそのセルを記憶させるごとく制御する。
【0006】
図9はスイッチ641の入出力の接続関係を示す制御パターンであり、制御アドレスAl〜A8によりスイッチの入出力接続関係が変更される。入力端INl〜IN8はバッファ611〜618に対応しており、出力端OUTl〜OUT8(または送信波長λ1〜λ8)は各バッファの記憶領域1〜記憶領域8に対応している。
【0007】
図10は、図6に示したノード装置を用いたネットワークシステムの構成例であり、4つのノード装置1001〜1004を並列多重伝送路1005〜1008によってリング型に接続し、各ノード装置にはそれぞれ8本のサブ伝送路を介して8台の端末が接続されている。端末1011〜1018は端末651〜658に対応し、同様に1021〜1028、1031〜1038、1041〜1048も端末651〜658に対応している。
【0008】
図11はこのネットワークの通信原理を説明するための図であり、1101〜1104はノード装置、1105〜1108はスイッチ641に対応した交換スイッチ、1109〜1112はバッファ611〜618に対応したバッファ、1121〜1136は端末、A,B,C,Dはリングを成す並列伝送路である。
【0009】
まず、図11を用いてこのネットワークの通信原理について説明する。このネットワークは複数のリングA,B,C,Dを有し、各リング間は交換スイッチ1105〜1108によって相互に接続されている。各端末は並列伝送路A,B,C,Dの中の1つのリング伝送路に接続されており、他のリングに接続された端末と通信を行う場合は、少なくとも1回、任意の交換スイッチで他のリングに交換されることで通信が行われる。交換が行われる位置は特定されないが、宛先ノードの1つ手前のノードで宛先の伝送路へ乗り換えて、他のノードでは任意の伝送路へ乗り換えるようにすると通信制御が容易になる。このネットワークはノード装置を簡略化するため、交換スイッチ1105〜1108は入力信号とは無関係に入出力の接続関係を特定の巡回パターンにしたがって一定周期に変更し、バッファ1109〜1112で入力信号を一時蓄積して、交換スイッチの入出力接続関係が所望の関係になったときにバッファからセルを読み出すようにして交換が行われる。
【0010】
例えば、端末1122から端末1132へ通信する場合は、端末1122から出力されたセルはノード1101のバッファ1109に蓄積され、スイッチ1105の入力端IN2が例えば出力端OUT2に接続されたときにバッファから読み出されて伝送路Bに出力され、ノード1102のバッファ1110へ入力してスイッチ1106のIN2とOUT4が接続されたときにバッファから読み出されることにより、伝送路Dへ出力されて端末1132へセルが送られる。
【0011】
このように、それぞれのノード装置で任意のリング伝送路に乗り換えることにより通信が行われる。次に、図6、図10を用いて詳細を説明する。説明においては並列多重伝送路は空間的に分離された複数の光ファイバ伝送路、スイッチは空間スイッチとして説明するが、波長多重伝送路を用いる場合も上記原理に基づいており、ほぼ同様の動作が行われる。仮に、端末1012から端末1035へ通信する場合の動作例について説明する。
【0012】
端末1012からの送信データは固定長のセルに分割され、各セルのヘッダに宛先アドレスが記載されて出力される。出力されたセルはサブ伝送路を通ってノード装置1001へ入力し、分離挿入部602のFIFO705に一時記憶される。記憶されたセルは、ゲート702からセレクタ704に入力したセル流にすき間があるときにFIFO705から読み出され、セレクタ704を通ってバッファへ送られる。バッファ612のヘッダ検出部802は、入力したセルのヘッダを検出すると検出した宛先アドレスが記憶しているアドレスと一致しないので、任意の記憶領域を指定する。書き込みアドレスカウンタ803はその情報を受けて書き込みアドレスを発生させ、そのセルをバッファメモリ801の記憶領域に書き込ませる。ここでは仮に記憶領域1に記憶されるとする。
【0013】
バッファ制御部643はスイッチ641の入力端IN2が出力端OUTlに接続されるまでそのセルの読み出しを待機させ、接続された時にセルを読み出す。
【0014】
スイッチ制御部642は、図9に示すテーブルのように制御アドレスをAl,A2,A3,A4,A5,A6,A7,A8と順次供給してスイッチ641の接続関係を変更させ、かつ制御アドレスを例えば1セル長周期に供給することで、8セル周期で同じパターンを繰り返すように制御している。その情報をバッファ制御部643へ通知することでバッファからの読み出しタイミングが制御される。ここではスイッチ641の入力端IN2が出力端OUTlに接続されたときにバッファ612の記憶領域1からセルが読み出されることにより、そのセルはスイッチ641を通って伝送路631へ出力される。
【0015】
伝送路631を伝送されたセルは、ノード装置1002の分離挿入部601に入力し、ヘッダ検出部701においてセルのヘッダが検出される。検出した宛先アドレスは記憶しているアドレスと一致しないので、ゲート702を開きゲート703を閉じてセレクタ704へそのセルを出力する。分離挿入部601のセレクタ704へ出力されたセルは、セレクタ704を通りバッファ611へ入力する。
【0016】
ヘッダ検出率802はヘッダを検出すると検出した宛先アドレスが記憶しているアドレスと一致しているので、宛先アドレスの端末が接続される伝送路に対応する記憶領域を指定する。ここでは宛先の端末が伝送路635に接続されているので記憶領域5に記憶させる。バッファ制御部643はスイッチ641のIN1がOUT5に接続されたときにバッファ611の記憶領域5からセルを読み出すことで、セルはスイッチ641を通って伝送路635へ出力される。伝送路を通ってノード装置1003の分離挿入部605に入力したセルは、ヘッダ検出部701でヘッダが検出され、検出した宛先アドレスが記憶しているアドレスと一致したので、ゲート703を開き且つゲート702を閉じて端末方向のみにそのセルを出力する。分離挿入部605から端末方向へ出力されたセルは、サブ伝送路を通って端末1035へ送られ受信される。
【0017】
このようにして通信が行われる。
【0018】
しかしながら、図11を用いて説明したようなネットワークシステムにおいてセルの送受信を行う場合、送信側におけるセルの送出順序と受信側におけるセルの受信順序とが必ずしも一致しないという問題がある。そこで、「ノード装置及び複数のノード装置を有する通信ネットワーク及びそれらの制御方法」FIleNo.177188において図12に示すように分離挿入部と端末との間に並べ替え処理部1201〜1208を設けたノード装置1200が提案されている。ノード装置1200の内部では、セル送信時にはヘッダ変換部1211〜1218において送出セルのヘッダにモジュロn(n=1,2,…)のシーケンシャル番号を付与し、受信時には並べ替え処理部1201〜1208において分離挿入部から受信したセル列を一時蓄積し該シーケンシャル番号順に並べ替えて端末へ送出することにより、送受信間でのセルの順序を一致させている。
【0019】
【発明が解決しようとする課題】
しかしながら、従来例ではネットワーク内でのセルロスについては考慮されておらず、並べ替えバッファ部の処理が停止してしまう(ロスしたセルを永遠に待ちつづける)という問題があった。
【0020】
【課題を解決するための手段】
本発明は、上述の従来例の問題点を鑑みなされたものであり、ネットワーク内でセルロスが生じても、そのセルロスを感知し、並べ替え処理を再開できるようにするための手段を提供する。
【0021】
本発明の並べ替え手段においては、受信パケットを記憶する第1の記憶手段と、受信パケット内部に記録される順序情報をもとに第1の記憶手段中に受信パケットを記憶させるパケット書き込み手段と、前記第1の記憶手段に記憶されたバケットの持つ順序情報に対応するフラグを記憶する第2の記憶手段と、前記第1の記憶手段から次に読み出すパケットの順序情報を保持する読み出し順序保持手段と、該読み出し順序保持手段に保持されている順序情報に対応する第2の記憶手段に記憶されるフラグにより、第1の記憶手段から読み出し順序順にパケットを読み出し送信するパケット読み出し手段と、パケットの読み出しに応じ、前記読み出し順序保持手段に保持されている読み出し順序情報を更新する読み出し順序情報更新手段と、前記読み出し順序保持手段により示される順序情報が更新されずに留まっている時間、および第1の記憶手段に記憶されているパケットの有無をもとに、パケットの紛失を判定するパケット紛失判定手段と、該パケット紛失判定手段によりパケットの紛失が判定された場合には、該紛失パケットの代わりに所望のダミーパケットを送出するパケット置換手段とを有するように構成される。
【0022】
更にパケット紛失判定手段とし声声周期毎にインクリメントされる第1のカウンタと、前記第1の記憶手段に記憶されているパケット数を記憶する第2のカウンタと、前記第1の記憶手段からパケットが読み出されるたびに、前記第1のカウンタ値を記憶しておく第3の記憶手段とを有し、一定周期毎に、前記第1のカウンタ値と第3の記憶手段に記憶されているカウンタ値を比較し、該値が一致せず、かつ前記第2のカウンタ値が0でない場合には、前記読み出し順序保持手段により示される順序情報を持つパケットは紛失したものと判定するパケット紛失判定手段を有するように構成される。
【0023】
またパケットとして、可変長ユーザデータパケットを分割して生成されるATMセルに順序情報を付加した固定長パケット、順序情報として、可変長ユーザデータパケットの順序を表すパケット順序情報と該ユーザデータパケット中の何番目のATMセルかを表すセル順序情報とで構成される順序情報、読み出し順序情報更新手段として、ATMセルを読み出した後にセル順序情報をインクリメントし、ユーザデータパケットを構成する最終ATMセルであることを示すヘッダ情報を持つATMセルを読み出した後には、セル順序情報を0にリセットし、パケット順序情報をインクリメントするような読みだし順序情報更新手段、パケット置換手段として、紛失したと判定された固定長パケットを、可変長ユーザデータパケットの最後尾を示すATMヘッダを持つATMセルに置き換え、以降の同一パケット順序情報を持つ固定長パケットについては全て廃棄するようなパケット置換手段を有するように構成される。
【0024】
更に最大可変長ユーザデータパケット長をもとに、パケット順序情報長とセル順序情報長を決定するように構成する。
【0025】
【発明の実施の形態】
ネットワーク装置の構成は、従来例と同様に図12で表す。
【0026】
端末により送受信される伝送単位としてATMセル(ヘッダ5バイト、ペイロード48バイト)、端末内のネットワークソフトウェアでは、AAL5パケット(パケット末に、CRC32情報等をもつ)を使用する。
【0027】
また、ネットワークの内部の伝送単位(以降セルと呼ぶ)は、ATMセルヘッダに2バイトのシーケンシャル番号フィールドを付加し、合計55バイトとする。該シーケンシャル番号フィールドには、セル伝送順序を表すためのシーケンシャル番号が格納される。該シーケンシャル番号として本実施例では、65,536(2の16乗)のモジュロ(0〜6,5535)を使用する。
【0028】
図1は本実施例の並べ替え処理部の構成図である。
【0029】
符号120は並べ替え処理部であり、ネットワーク内で伝送順序が保証されずに入力されたセルを伝送順序どおりに並べ替えて出力するためのものである。
【0030】
符号101は書き込み・読み出し制御部であり、後述する制御方法に従って、後述のセルメモリへの入力セルの書き込み及びセルメモリからのセルの読み出しを行い、端末へ出力する機能を有する。
【0031】
符号102はセルメモリであり、入力セルを一時的に記憶するために使用される。
【0032】
符号103はストアフラグメモリであり、どのシーケンシャル番号のセルがセルメモリ102に保留されているかを示すフラグ(以降ストアフラグと呼ぶ)が保持されている。
【0033】
符号104は読み出しカウンタであり、セルメモリ102から次に読み出すべきセルのシーケンシャル番号を保持している。
【0034】
符号105は到着セルカウンタであり、セルメモリ102に保留されている出力すべきセル数を保持している。
【0035】
符号106は読み出しタイマカウントレジスタであり、セルメモリ102からセルが読み出されるたびに、後述するタイマカウンタ値が記録される。
【0036】
符号107はタイマカウンタであり、図12には記されていないが、ノード装置1200内にあり、後述するセルロス監視部が起動し処理が終了する度にインクリメントされる。
【0037】
符号108は第1のVPI/VCI変換表であり、入力セルのVPI/VCIの値と、出力時のVPI/VCIの値、後述する並べ替えブロックのブロック番号の対応を保持している。
【0038】
符号109は並べ替えブロツクであり、上記符号102〜106により構成されており、ATMコネクション毎に必要となるため、開設を認めるコネクション数分用意されている。
【0039】
符号110はコネクション管理部であり、図12には記されていないが、ノード装置1200内のCPUにおいて実行されるソフトウェアである。その機能については、適宜後述する。
【0040】
符号111はセルロス監視部であり、上記CPU上で実行されるソフトウェアであり、その機能は適宜後述する。
【0041】
図2は本実施例のヘッダ変換部の構成図である。
【0042】
符号201はヘッダ変換部であり、入力ATMセルをセルに変換し出力する機能を有する。
【0043】
符号202はシーケンシャル番号付加部であり、入力ATMセルに、2バイトのシーケンシャル番号フィールドを付加し、セルへと変換して出力する機能を有する。さらに後述のシーケンシャル番号レジスタに保持されるシーケンシャル番号を管理する機能も有する。
【0044】
符号203は第2のVPI/VCI変換表であり、入力ATMセルのVPI/VCIの値と、出力時のVPI/VCIの値、後述するヘッダ変換ブロックの番号の対応を保持している。
【0045】
符号204はセル番号ビット幅レジスタであり、特定コネクションに割り当てられたセル番号のビット幅を保持する。
【0046】
符号205はシーケンシャル番号レジスタであり、次入力ATMセルに付加すべきシーケンシャル番号を保持する。
【0047】
符号206はヘッダ変換ブロックであり、上記符号204、205で構成される。本ブロックは、ATMコネクション毎に必要となるため、開設を認めるコネクション数分用意されている。
【0048】
図3は上述のVPI/VCI変換表の内容を示す図である。
【0049】
符号301はブロック番号であり、並べ替えブロックあるいはヘッダ変換ブロックのブロック番号を表す。
【0050】
符号302は使用中フラグであり、ブロック番号で示されるブロックが開設中のコネクションに割り当てられているか(フラグ1)否か(フラグ0)を示す。
【0051】
符号303、符号304は入力VPI/VCI値、出力VPI/VCI値であり、ブロック番号で示されるブロックを使用しているコネクションの入力時のVPI/VCI値、出力時のVPI/VCI値を表す。
【0052】
以下に、本実施例における並べ替え処理部、ヘッダ変換部の処理内容について詳しく述べる。
【0053】
初めにコネクション管理部110の処理について説明する。
【0054】
本実施例では、シーケンシャル番号をパケット番号とセル番号に分けて取り扱う。
【0055】
ATMコネクション上で取り扱われる最大パケットサイズを1,516バイトとすると(LAN−EmulatIonフレームを想定)、最大サイズのパケットについては、32のセルに分割されることになる。したがって、シーケンシャル番号に割り当てられた16ビットのうちの下位5ビットをセル番号(0〜31)、残り上位11ビット(0〜2,047)をパケット番号として割り当てる。つまり、セル番号は32のモジュロ、パケット番号は2,048のモジュロとなる。上記最大パケットサイズは、シグナリング時の情報として取得できるため、コネクション開設時に、セル番号、パケット番号に割り当てるビット幅を最大パケットサイズに合わせて動的に割り当てることができる。また、上記パケット番号の最大数を超えるようなセルの順序入れ替えは、ネットワーク内部で起こらないものとする。
【0056】
まず、コネクション開設時の処理について図4(a)を用いて説明する。説明を簡単にするため、片方向通信用のコネクションとする。両方向通信用のコネクションの場合には、同様の処理を双方向について行えば良い。
【0057】
コネクションの開設時には、コネクション管理部110により、送信側端末65n(n:1〜8任意、以降も同様)が接続されているヘッダ変換部121nの第2のVPI/VCI変換表203およびヘッダ変換ブロック206、受信側端末が接続されている並べ替え処理部120nの第1のVPI/VCI変換表108および並べ替えブロック109の設定が行われる。
【0058】
まず、上述の該当する第1、第2のVPI/VCI変換表の使用中フラグ302を参照し、未使用のブロックから今回のコネクションに使用するブロックをそれぞれ選択し、使用中フラグをONに変更する(S402)。また、第2のVPI/VCI変換表の入力VPI/VCI303の値は、高速に交換表内のエントリを検索できるように、VCI=ブロック番号となるように設定し、VPIは任意とする。同様に第1のVPI/VCI交換表の入力VCI=ブロック番号、VPIについては該第1のVPI/VCI交換表の属するノード装置および並べ替え処理部を識別するための適当な値を選択する。当然ながら、第2のVPI/VCI交換表における出力VPI/VCI304の値は、第1のVPI/VCI交換表の入力VPI/VCIの値と一致させる必要がある。第1のVPI/VCI交換表の出力VPI/VCIの値は任意に選択される。上述のとおり決定した出力VPI/VCIの値を、それぞれのブロック番号(入力VCI)に対応させて、第1と第2のVPI/VCI変換表108、203のそれぞれに記録する(S403)。図3からわかるように、ブロック番号301と入力VPI/VCI303のVCIの値は同じであり、使用中フラグ302の立っているものについては、出力VPI/VCI304が記録されている。
【0059】
さらに、選択した並べ替えブロックのストアフラグメモリ103内の全フラグをOFFにし、読み出しカウンタ104および到着セルカウンタ105を0で、読み出しタイマカウントレジスタ106をタイマカウンタ107の値でで初期化する。さらに、選択したヘッダ変換ブロック内のセル番号ビット幅レジスタ204に、前述のとおりセル番号ビット幅5を記録し、シーケンシャル番号レジスタ205を0で初期化する(S404)。
【0060】
コネクションの解放時の処理は、第1、第2のVPI/VCI変換表から、解放コネクションに関連のあるそれぞれのエントリの使用中フラグ302をOFFにし(S411)、並べ替えブロック109、ヘッダ変換ブロック206を解放する(S412)。
【0061】
次にシーケンシャル番号付加部202の処理について、図5を用いて説明する。
【0062】
端末65nにおいてAAL5パケットはATMセルに分割され送出される。該ATMセルは、ヘッダ変換部121nへと入力される。
【0063】
ヘッダ変換部201では、シーケンシャル番号付加部202において、入力ATMセルのATMヘッダ内のVPI/VCIをもとに第2のVPI/VCI変換表203を参照し、出力VIVI/VCI値を割り出し(S502)、ATMセルヘッダ内のVPI/VCIの値を該出力値に書き換えるとともに(S503)、該VPI/VCI変換表により割り出されるヘッダ変換ブロックのブロック番号より、該当するブロック206内のシーケンシャル番号レジスタ205に保持されている2バイトのシーケンシャル番号をATMヘッダと、ATMペイロードの間に挿入し(S504)、セルとして出力する(S505)。同時に、シーケンシャル番号レジスタ値の更新を行う(S506〜S507)。
【0064】
ここでシーケンシャル番号の更新方法について説明する。シーケンシャル番号内の、セル番号は、1セル出力毎に1ずつインクリメントされ(0〜31)(S508)、パケットの末尾のセル(ATMセルヘッダのPTフィールドを監視することで判別する、以下最終セルと略す)の出力後に0にリセットされる。同様にパケット番号は最終セル出力後にインクリメントされる(0〜2,047、2,047の後は0にリセットされる)(S507)。
【0065】
次に書き込み・読み出し制御部101の書き込み処理について、図13を用いて説明する。
【0066】
分離挿入部62nより入力されたセルは、書き込み・読み出し制御部において、入力セルのヘッダ内のVPI/VCIをもとに第1のVPI/VCI変換表108を参照し、出力VPI/VCI値を割り出し(S1302)、ヘッダ内のVPI/VCIの値を該出力値に書き換えるとともに(S1303)、該VPI/VCI変換表により割り出される並べ替えブロックのブロック番号より、該当するブロック109内のセルメモリ102に、セルヘッダ内のシーケンシャル番号備により割り出される鎖域へ(S1304)、セルよりシーケンシャル番号フィールドを削除したATMセルの形態で(S1305)、一時蓄積される(S1306)。それと同時に、ストアフラグメモリ103内の前記シーケンシャル番号に該当するところのストアフラグをONにし、(S1307)、到着セルカウンタ値をインクリメントし(S1308)、読み出しタイマカウントレジスタ106にタイマカウンタ107の値をセットする(S1309)。
【0067】
次に書き込み・読み出し制御部101の読み込み処理について、図14を用いて説明する。
【0068】
書き込み・読み出し制御部は常時、読み出しカウンタ104の値で示されるところのストアフラグメモリ103中のストアフラグを監視している(S1401)。該フラグが1にセットされると、セルメモリ102より該当する領域のATMセルを読み出し、端末へと出力する(S1402、S1403)。それと同時に、上記ストアフラグを0にセットし(S1404)、到着セルカウンタ105の値をデクリメントし(S1405)、読み出しカウンタ104の値を更新する。該読み出しカウンタの更新は、通常は1ずつインクリメントされるが(セル番号のインクリメントに相当、S1408)、最終セル出力時には、シーケンシャル番号の上位11ビットに相当するパケット番号インクリメントし、下位5ビットに相当するセル番号は0にリセットされるように進められる(S1407)。
【0069】
次にセルロス監視部111の処理について、図15を用いて説明する。
【0070】
セルロス監視部の処理は、一定周期毎に起動される周期ルーチンであり、該周期はセルのネットワーク内での並べ替わりにより生じると予想される遅延時間よりも大きく、セルメモリ102を全て一時保存のATMセルで一杯にするのに要する時間よりは短く設定されてる。
【0071】
上記周期ルーチンが起動されると、第1のVPI/VCI交換表の使用中フラグ302をチェックし、使用中の並べ替えブロック109を割り出し、該並べ替えブロックの到着セルカウンタ105を順次チェックする(S1503)。セル到着カウンタの値が0ではない並べ替えブロックについては、ネットワーク内でのセルロスが発生したことによる、セル読み出しの中断が起こっている可能性がある。該セルロス判定には、読み出しタイマカウントレジスタ106の値とタイマカウンタ107の値の比較を行う(S1504)。これらの値が異なる場合には、読み出しカウンタ104で示されるシーケンシャル番号を持つセルがネットワーク内でロスしたものと判定する。つまり、ネットワーク内で生じ得ると考えられる以上の遅延時間が過ぎても読み出しカウンタの更新がなかったことになり、セルロスしたものと判定し、下記に述べるセルロス後処理を実行する(S1505〜S1508)。
【0072】
該セルロス後処理では、ダミーの最終ATMセル(ペイロードの中身は問わない)を出力した後に、読み出しカウンタによって示されるストアフラグメモリ103のストアフラグがONの場合には該フラグをOFFにし、かつ到着セルカウンタをデクリメントしながら、読み出しカウンタをインクリメントし続ける(ストアフラグがOFFの場合には、到着セルデクリメントは行われない)。該読み出しカウンタのインクリメントは、パケット番号が更新されるまで続けられる。該処理により、セルロスの生じたパケットについては、ロスしたセル以降はすべて廃棄され、ダミーの最終セル1つに置き換えられることになる(S1505)。1つでもセルロスが生じたパケットは、端末において正しいAAL5パケットに組み立てられる事はない(つまり該パケットを構成するATMセルは全て廃棄される)ので、この置き換え自体に問題はない。さらに、ロスしたセルが最終セルであった場合でも、ダミーの最終セルが必ず出力されるため、後続のパケットに影響が及ばない。
【0073】
上記処理の後、もう一度到着セルカウンタ105の値をチェックし(S1506)、値が依然として0でない場合には、複数のパケットにまたがってセルがロスしている可能性が生じる。そこで、読み出しカウンタに示されるシーケンシャル番号のパケット番号において、セル番号0〜31に対するストアフラグのうち少なくとも1つのフラグがONとなっていることが確認されるまで、読み出しカウンタのパケット番号をインクリメントする(セルNo.は0)(S1507、S1508)。該処理により、少なくとも1つ以上のセルが到着しているパケットの先頭セルまで、読み出しカウンタの値を更新することができる。
【0074】
前記セルロス後処理により、セルロスが生じたと思われる少なくとも1つ以上のパケットを飛び越すことができ、読み出し処理が停止してしまうことなない。
【0075】
全使用中の並べ替えてバッファについてセルロスのチェックが終了すると、タイマカウンタ107のタイマカウンタ値をインクリメントし、セルロス監視ルーチンを終了する(S1510)。
【0076】
このように、通常はネットワーク内でセルの並べ替えが生じても、端末へ出力される際には、正しい順序で出力される。また、ネットワーク内でセルのロスが生じても、セルロス監視ルーチンにより、パケット単位での廃棄および読み出しカウンタが更新されるため、セルの読み出しが長時間にわたって中断されることはない。
【0077】
なお、本実施例ではパケット番号に割り当てるビット幅を最大パケットサイズに応じて決定しているが、必ずしも確実にパケット単位での廃棄が必要ない場合には、該ビット幅よりも小さな値を選択しても構わない。
【0078】
【発明の効果】
ネットワーク内でセルロスが生じても、そのセルが関与するパケット以外には影響を及ぼすことなく、バケットを伝送する手段を提供する。
【0079】
さらに従来の方法では、パケットの最終セルがロスしてしまった場合には、そのセルが関与するパケットとその次のパケットが、1つのパケットとして組み立てられてしまうため、事実上連続する2パケットがロスしたことになってしまっていた。しかし、本手法ではダミーの最終セルを送出することで、上記問題を解決した。
【0080】
また、従来の手法では、コネクション開設後の最初のセルはシーケンシャル番号を0から始める必要があったが、本手法によりこの制限は不要となった。この制限がなくなった事により、マルチキャスト伝送を簡易に行えるようになった。つまり従来の手法では、既に設定されているマルチキャストコネクションに対し、新たにリーフ(伝送先)が途中で常時(シーケンシャル番号が0でない時でも)加わることができるようにするために、1リーフにつき1シーケンシャル番号付与用のカウンタを用意する必要があった。しかし本実施例では、1マルチキャストコネクションにつき1つでよく、セルのペイロードおよびシーケンシャル番号をリーフ数分コピーして伝送すればよい。
【図面の簡単な説明】
【図1】実施例の並べ替え処理部。
【図2】実施例のヘッダ変換部。
【図3】VPI/VCI変換表の例。
【図4】コネクション管理部の処理。
【図5】シーケンシャル番号付加部の処理。
【図6】従来例のネットワークにおけるノード装置の構成図。
【図7】図6のノード装置内の分離挿入部の内部構成図。
【図8】図6のノード装置内のバッファ部の内部構成図。
【図9】従来例のノード装置のスイッチの入出力の接続関係を示す制御パターン。
【図10】従来例のネットワークシステムの構成図。
【図11】従来例のネットワークの通信原理を説明するための図。
【図12】並べ替え処理を有する従来例のノード装置の構成図。
【図13】書き込み・読み出し制御部の書き込み処理。
【図14】書き込み・読み出し制御部の書き込み処理。
【図15】セルロス監視部の処理。
Claims (4)
- 受信パケットを記憶する第1の記憶手段と、
受信パケット内部に記録される順序情報をもとに第1の記憶手段中に受信パケットを記憶させるパケット書き込み手段と、
前記第1の記憶手段に記憶されたパケットの持つ順序情報に対応するフラグを記憶する第2の記憶手段と、前記第1の記憶手段から次に読み出すパケットの順序情報を保持する読み出し順序保持手段と、
該読み出し順序保持手段に保持されている順序情報に対応する第2の記憶手段に記憶されるフラグにより、第1の記憶手段から読み出し順序順にパケットを読み出し送信するパケット読み出し手段と、
パケットの読み出しに応じ、前記読み出し順序保持手段に保持されている読み出し順序情報を更新する読み出し順序情報更新手段と、
前記読み出し順序保持手段により示される順序情報が更新されずに留まっている時間、および第1の記憶手段に記憶されているパケットの有無をもとに、パケットの紛失を判定するパケット紛失判定手段と、
該パケット紛失判定手段によりパケットの紛失が判定された場合には、該紛失パケットの代わりに所望のダミーパケットを送出するパケット置換手段とを有することを特徴とした、パケット並べ替え手段。 - パケット紛失判定手段として、
一定周期毎にインクリメントされる第1のカウンタと、
前記第1の記憶手段に記憶されているパケット数を記憶する第2のカウンタと、
前記第1の記憶手段からパケットが読み出されるたびに、前記第1のカウンタ値を記憶しておく第3の記憶手段とを有し、
一定周期毎に、前記第1のカウンタ値と第3の記憶手段に記憶されているカウンタ値を比較し、該値が一致せず、かつ前記第2のカウンタ値が0でない場合には、前記読み出し順序保持手段により示される順序情報を持つパケットは紛失したものと判定するパケット紛失判定手段を有することを特徴とした、請求項1記載のパケット並べ替え手段。 - パケットとして、可変長ユーザデータパケットを分割して生成されるATMセルに順序情報を付加した固定長パケット、
順序情報として、可変長ユーザデータパケットの順序を表すパケット順序情報と該ユーザデータパケット中の何番目のATMセルかを表すセル順序情報とで構成される順序情報、
読み出し順序情報更新手段として、ATMセルを読み出した後にセル順序情報をインクリメントし、ユーザデータパケットの最後尾を示すATMヘッダ情報を持つATMセルを読み出した後には、セル順序情報を0にリセットし、パケット順序情報をインクリメントするような読みだし順序情報更新手段、
パケット置換手段として、紛失したと判定された固定長パケットを、可変長ユーザデータパケットの最後l尾を示すATMヘッダ情報を持つATMセルに置き換え、以降の同一パケット順序情報を持つ固定長パケットについては全て廃棄するようなパケット置換手段を有することを特徴とした、請求項1記載のパケット並べ替え手段。 - 最大可変長ユーザデータパケット長をもとに、パケット順序情報長とセル順序情報長を決定することを特徴とした、請求項3記載の並べ替え手段。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003036625A JP2004248028A (ja) | 2003-02-14 | 2003-02-14 | パケット並べ替え手段 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003036625A JP2004248028A (ja) | 2003-02-14 | 2003-02-14 | パケット並べ替え手段 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004248028A true JP2004248028A (ja) | 2004-09-02 |
Family
ID=33021653
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003036625A Withdrawn JP2004248028A (ja) | 2003-02-14 | 2003-02-14 | パケット並べ替え手段 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2004248028A (ja) |
-
2003
- 2003-02-14 JP JP2003036625A patent/JP2004248028A/ja not_active Withdrawn
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5530698A (en) | ATM switching system and cell control method | |
US5103447A (en) | High-speed ring LAN system | |
JP2880271B2 (ja) | 帯域制御方法および回路 | |
US5247518A (en) | High-speed ring lan system | |
EP0413899B1 (en) | Packet switching system having bus matrix switch | |
JP3034631B2 (ja) | 時分割交換システム | |
JP3632229B2 (ja) | Atm交換装置 | |
JP3753435B2 (ja) | Atmスイッチ・コア | |
JP2003124953A (ja) | リング型ネットワークシステム | |
JP2004248028A (ja) | パケット並べ替え手段 | |
JP3416156B2 (ja) | 種々の優先度のバーチャルコネクションを介して情報セルを伝送する方法および回路装置 | |
JP3146054B2 (ja) | Atm通信装置およびセル帯域管理方法 | |
JPH11234306A (ja) | データ転送装置 | |
JP3080787B2 (ja) | 同報機能を有するatmスイッチ回路およびその同報出力方法 | |
JPH0290834A (ja) | Atm通話路装置及びatm回線終端装置 | |
JP3848962B2 (ja) | パケット交換機およびセル転送制御方法 | |
JP3197152B2 (ja) | セル交換装置 | |
JP3042412B2 (ja) | Atmスイッチングシステム | |
JP2001333075A (ja) | ノード装置、ネットワークおよびネットワーク制御方法 | |
JP3042492B2 (ja) | Atmスイッチイングシステムのセル制御方法 | |
JP3332035B2 (ja) | Atm通信装置のセル制御方法 | |
JP2873628B2 (ja) | セルトラヒック監視方法および装置 | |
JP3052930B2 (ja) | Atmスイッチイングシステム | |
JP3632655B2 (ja) | Atm交換装置 | |
JP3019853B2 (ja) | Atmスイッチおよびその制御方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Application deemed to be withdrawn because no request for examination was validly filed |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20060509 |