(57)【特許請求の範囲】
【請求項１】
それぞれ第１のメモリと、
外部装置と接続される主回線またはソフトウェア処理部と接続される拡張回線から受信したＡＴＭセルにより組み立てられるパケットを前記メモリに蓄積するとともに、そのパケットからヘッダ情報を取り出すパケット組立部と、
前記パケット組立部からのヘッダ情報を基に上位レイヤ処理を行う上位レイヤ処理部と、
前記上位レイヤ処理部の処理結果に基づいて、ソフトウェアによるパケット処理が必要であるパケットを拡張回線へ、また、ソフトウェアによるパケット処理が必要でないパケットを主回線へ送信するパケット判定送信部とを含み構成される複数のハードウェア処理部と、
第２のメモリと、
前記拡張回線から受信したＡＴＭセルを基にパケットを前記第２のメモリに組み立てて蓄積すると共に、前記第２のメモリにあるパケットを読み出し前記拡張回線へＡＴＭセルにて送信するセル組立分解部と、
前記第２のメモリに受信したパケットをソフトウェアによりパケット処理する処理部と
を含み構成される一のソフトウェア処理部とからなり、
前記ソフトウェア処理部は、複数の拡張回線を収容するように構成し、
前記複数のハードウェア処理部の拡張回線と前記ソフトウェア処理部とを接続する機構とを備え、
前記ソフトウェア処理部は、前記複数のハードウェア処理部それぞれから受信するパケット受信処理と、複数のハードウェア処理部それぞれへ送信するパケット送信処理とを行うように構成し、
前記ハードウェア処理部のパケット組立部は、論理チャネル毎にパケットを組み立てる機構と、上位レイヤ処理部にパケットヘッダを送信する機構とを主回線用と拡張回線用と更に第２の拡張回線用とに設け、
前記ハードウェア処理部のパケット判定送信部は、上位レイヤ処理結果に従い、主回線用又は拡張回線用又は第２の拡張回線用の送信キューヘ振り分ける機構と、上位レイヤ処理結果が主回線への送信でなく、拡張回線への送信でもない場合に、第２の拡張回線用のパケット送信キューへ振り分ける機構と、上位レイヤ処理結果が主回線への送信でなく、拡張回線への送信でもない場合に、他のハードウェア処理部の上位レイヤ処理部の結果に委ねる機構とを有し、
送信側の第２の拡張回線を他のハードウェア処理部の受信側の第２の拡張回線へ接続する機構を備える
ように構成したパケット転送装置。
【請求項２】
前記ハードウェア処理部のパケット判定送信部は、主回線又は拡張回線から受信したパケットを第２の拡張回線へ送信する場合にのみ、自ハードウェア処理部が第２の拡張回線への転送を開始したことを示す情報を付加する機構を有し、
前記ハードウェア処理部のパケット組立部は、第２の拡張回線から受信したパケットが自ハードウェア処理部が発したパケットであるかを確認する機構と、確認した結果自ハードウェア処理部が発したパケットである場合、上位レイヤ処理部へのパケットヘッダの送信は行わず、拡張回線へ送信することを指示する機構を有し、
主回線又は拡張回線から受信したパケットが、全てのハードウェア処理部の上位レイヤ処理において、主回線または拡張回線への送信指示が得られなかった場合に、そのパケットを前記ソフトウェア処理部へ送信する
ように構成した請求項１記載のパケット転送装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、論理チャネル多重されたＡＴＭセルをパケットに組み立て、パケットヘッダ情報に従って宛先論理チャネルへ送信するパケット転送装置に関する。特に、ハードウェア処理による転送とソフトウェア処理による転送とを分離および結合させたパケット転送装置に関する。
【０００２】
近年、ＩＰパケット等を転送するＡＴＭネットワークにおいて、パケットトラヒックの増加に伴い、パケット転送装置の高速化が求められている。
【０００３】
その要求に対し、パケット組立、転送先検索、パケット送信までの一連のパケット転送処理のハードウェア化が進んでいる。
【０００４】
一方、ソフトウェアによるパケット転送処理を必要とする上位プロトコルパケット等のトラヒックも合わせて増加し、ハードウェア化によるパケット転送装置の高速化とともに、ソフトウェアによるパケット転送処理の処理能力向上も求められている。
【０００５】
よって、ハードウェアによるパケット転送処理とソフトウェアによるパケット転送処理とが互いのスループットに影響を及ぼし合わない結合機構と、ソフトウェアによるパケット受信処理および送信処理を補助する機構を提供し、パケット転送処理のハードウェア化による高速化と共に、ソフトウェアによるパケット転送処理の処理能力の向上が必要とされる。
【０００６】
【従来の技術】
図１４は、本発明のパケット転送装置が適用されるパケット転送モジュールのネットワーク上の配置位置を示す。ＡＴＭネットワーク内に複数のパケット転送モジュールが配置され、これらのパケット転送モジュールは相互に接続されるとともに、多重装置を介してユーザネットワークのルータと接続される。
【０００７】
各パケット転送モジュールと多重装置とルータとは、非同期転送モード（ＡＴＭ：Asynchronouse Transfer Mode ）のインタフェースにより接続される。各ユーザネットワークから送信されたパケットは、ルータにおいてＡＡＬタイプ５によりＡＴＭセル化され、更に、複数のルータを収容する多重装置において複数ユーザからのＡＴＭセルの多重化が行われ、この多重装置からパケット転送モジュールへ入力される。
【０００８】
パケット転送モジュールは、入力されたＡＴＭセルからパケットを組み立て、パケットヘッダの相手先アドレスを検索し、その検索結果の相手先アドレスに従い、相手先ユーザネットワークを収容する他のパケット転送モジュールに向けて、又は自パケット転送モジュールに収容されている相手先ユーザネットワークへ向けて、パケットを転送する。一方、パケットヘッダの相手先アドレスを検索した結果、相手先が見つからなかった場合、又は自パケット転送モジュールにて終端するプロトコルのパケット、又はプロトコル違反のパケット等の場合は、そのパケットは他への転送を行わず、自パケット転送モジュールにて終端する。
【０００９】
図１５は従来のパケット転送装置の原理説明図である。図中、３０は回線からＡＴＭセルを受信し回線にＡＴＭセルを送出するパケット組立送信部、３１は送受信するパケットを蓄積するバッファメモリ、３２はパケットのヘッダ情報を処理する上位レイヤ処理部、３３は所要のパケットについてソフトウェア処理を行うプロセッサ（ソフトウェア処理部）である。
【００１０】
パケット組立送信部３０は、回線から論理チャネル多重されたＡＴＭセルを受信すると、上位レイヤ処理部３２にてパケットヘッダを基に転送先検索、パケット正常性確認を行いながら、セルを分解し、バッファメモリ３１にパケットを組み立てて蓄積する。上位レイヤ処理部３２にて転送先が解決された場合は、プロセッサ３３によるソフトウェア処理を介さずに、バッファメモリ３１上のパケットをパケット組立送信部３０にてセル化し、回線に送信する。
【００１１】
一方、上位レイヤ処理部３２にて転送先が解決されなかった等により、ハードウェアによるパケット転送が不可であった場合は、ソフトウェア処理部３３に対し、パケット受信を通知する。これにより、ソフトウェア処理部３３は、バッファメモリ３１上の該当パケットを読み出し、そのパケットが転送されてきた要因を解析し、次処理を決定する。
【００１２】
ソフトウェア処理部３３からパケットを送信する場合は、ソフトウェア処理部３３は、予め宛先検索テーブル３４によりパケットの宛先を検索し、転送先が解決された後、バッファメモリ３１上に送信するパケットを書き込み、送信するパケットのアドレス等をパケット組立送信部３０に通知することにより、送信を指示する。
【００１３】
送信を指示されたパケット組立送信部３０は、バッファメモリ３１上のパケットをセル化し、回線へ送信する。
【００１４】
このパケット転送装置にては、ハードウェア（パケット組立送信部３０）およびソフトウェア（ソフトウェア処理部３３）からのバッファメモリ３１へのアクセスは、競合調停を行いながら、同一のバス３５を使用する。
【００１５】
このように、従来のパケット転送装置においては、ＡＴＭセルを受信すると、ハードウェア処理にて転送先検索、パケット正常性確認を行いながら、バッファメモリ上にパケットを組み立てて蓄積し、転送先が解決された場合はソフトウェア処理を介さずバッファメモリ上のパケットを送信するものである。
【００１６】
一方、転送先が解決されなかった等のソフトウェアによる処理を必要とするパケットは、ソフトウェアが、ハードウェア転送にて使用するバッファメモリと同一のバッファメモリをアクセスすることにより、パケットを受信するものである。
【００１７】
この場合、ソフトウェアは、パケットが転送されてきた要因を解析し、次処理を決定する必要がある。更に、ソフトウェアからパケットを送信する場合は、ハードウェア転送にて使用するバッファメモリと同一のバッファメモリをアクセスすることにより、バッファメモリ上にパケットを用意し、送信するものである。また、ソフトウェアは、送信するパケットの宛先情報を基に、予め転送先を検索し、決定する処理が必要である。
【００１８】
【発明が解決しようとする課題】
このような従来のパケット転送装置では、ハードウェアによるバッファメモリアクセスと、ソフトウェアによるバッファメモリアクセスとのバス競合が発生し、このため、ソフトウェアのバッファメモリアクセス回数の増加が、ハードウェアのバッファメモリアクセスを圧迫することとなり、ハードウェア転送のスループットが低下するといった問題が発生していた。
【００１９】
又、ハードウェアのバッファメモリアクセスを、ソフトウェアのアクセスより優先度を高くし、ソフトウェアからのバッファメモリアクセス回数に制限を与えた場合には、ソフトウェアの処理能力が低下するといった問題が生じていた。
【００２０】
更に、ソフトウェアは、ソフトウェアに転送されてきたパケットのプロトコル種別の判定、エラー要因の解析等を行う必要があり、また、ソフトウェアからパケットを転送する場合は、予め宛先検索テーブルにより宛先を検索する必要があり、これらの処理負荷がソフトウェアの処理能力を低下させる要因の一つとなっている。
【００２１】
本発明は上述の問題点および前述したパケット転送装置の最近の技術動向に鑑みてなされたものであり、パケット転送処理のハードウェア化による高速化と共に、ソフトウェアによるパケット転送処理の処理能力の向上を目的とするものである。
又、複数のパケット転送装置を結合する機構を提供することにより、パケット転送装置の容量拡大も目的とするものである。
【００２２】
【課題を解決するための手段】
上記課題を解決するために、本発明に係るパケット転送装置では、ハードウェア処理部によるパケット転送機構に、外部装置と接続される主回線とは別に、ソフトウェア処理部と接続する拡張回線を設け、主回線へ送信するパケット単位のＡＴＭセルの列を、バッファメモリから読み出し送信するとともに、ソフトウェア処理が必要なパケットを、ハードウェア処理部独自でバッファメモリから読み出し、拡張回線を介してソフトウェア処理部へ送信するようにしている。
【００２３】
このパケット転送装置では、ハードウェア処理部は主回線から受信したＡＴＭセルを、バッファメモリヘ書き込みパケット単位のＡＴＭセルの列を組み立てるとともに、ソフトウェア処理部が拡張回線へ送信したパケットを、拡張回線から受信するようにし、ハードウェア処理部独自でバッファメモリへ書き込み組み立てるようにしている。
【００２４】
また、このハードウェア処理部は、パケット単位のＡＴＭセルの列組立て完了または、パケットヘッダ部単位のＡＴＭセルの列組立て完了を契機に、パケットヘッダ情報を上記レイヤ処理部に送り、そのパケットヘッダ情報を基に、パケット正常性確認、転送先検索等の上位レイヤ処理を行い、その結果を基に、送信する回線種別と論理チャネルを決定するようにしている。
【００２５】
また、ハードウェア処理部のバッファメモリ内においては、ＡＴＭセルを分解せずにＡＴＭセルの形でパケットを組み立てることができ、これによりバッファポインタ制御を簡易化している。
【００２６】
ハードウェア処理部におけるバッファメモリへのアクセスは、セル受信側のパケット組立部では、主回線からの受信と拡張回線からの受信とを独立にアクセスするか、又は多重機構により共通にアクセスするようにし、また、セル送信側のパケット判定送信部では、主回線への送信と拡張回線への送信を独立にアクセスするか、又は分離機構により共通にアクセスするようにしている。
【００２７】
また、ソフトウェア処理部においてソフトウェアにより予め送信先を検索し、送信先を指定してパケットを拡張回線経由でハードウェア処理部に送信した場合は、ハードウェア処理部では送信先検索を行わずに、その指定した送信先に送信するようにし、これにより、ソフトウェア処理部により任意に指定した送信先へ当該パケットをハードウェア処理部が送信できるようにしている。
【００２８】
また、ソフトウェア処理部においてソフトウェアが送信先を指定しないパケットを送信した場合は、ハードウェア処理部では送信先検索を行い、その結果得られた送信先に送信するようにしており、ソフトウェア処理部による送信先の検索を不必要としている。
【００２９】
また、ハードウェア処理部が拡張回線経由でソフトウェア処理部にパケットを送信する場合は、そのパケットの種別を論理チャネルへ振り分けるようにし、更に、ハードウェア処理部での上位レイヤ処理結果を詳細情報としてパケットに添付するようにしており、これ受信したソフトウェア処理部は、受信したパケットの論理チャネルおよび詳紬情報を基に次処理を決定する。これにより、ハードウェア処理部と重複したパケット解析処理を不必要としている。
【００３０】
また、ソフトウェア処理部は、パケット種別毎に主回線への送信キューを複数に分離し、また拡張回線への送信キューを複数に分離し、主回線の各送信キュー間での、または拡張回線の各送信キュー間での、または主回線と拡張回線とを合わせた各送信キュー間での送信スケジュールを行うようにする。さらに、パケット種別毎に優先度を設定できるようにしてパケットを送信する。これにより、ソフトウェア処理部は、優先度の高いパケットを優先して受信することが可能になる。
【００３１】
また、ハードウェア処理部は、ソフトウェア処理部内バッファメモリの輻輳状態を監視してその共通受信バッファが輻輳した場合は、ハードウェア処理部側の拡張回線用の全送信キューからの送信を待ち合わせるようにし、ソフトウェア処理部側のある論理チャネルの受信バッファが輻輳した場合は、ハードウェア処理部側の該当する論理チャネル送信キューからの送信を待ち合わせるようにする。これにより、ハードウェア処理部は、ソフトウェア処理の優先度の低いパケットをソフトウェア処理部へ送信しないようにしており、これによりソフトウェア処理部内のバッファ溢れを発生させないようにし、ソフトウェア処理部による輻輳制御を不必要としている。
【００３２】
また、本発明のパケット転送装置では、複数のハードウェア処理部によるパケット転送機構を、一つのソフトウェア処理部に接続するようにし、これにより一つのソフトウェア処理部に対して、そのソフトウェア処理部の処理能力に適した複数のハードウェア処理部を接続できるようにしている。
【００３３】
また、このパケット転送装置ではさらに、ハードウェア処理部による上位レイヤ処理の結果、送信先が得られなかったパケットを第２の拡張回線を介して他のハードウェア処理部へ送信できるようにし、各ハードウェア処理部は第２の拡張回線からパケットを受信できるようにする。これにより、各ハードウェア処理部は、自上位レイヤ処理部にて転送先が得られなかった場合、他の上位レイヤ処理部にて送信先を検索し、自パケット転送装置が受信したパケットを、他パケット転送装置から送信することが可能なようにしている。
【００３４】
【発明の実施の形態】
以下、図面を参照して本発明の実施の形態を説明する。
図１は、本発明の一実施例としてのパケット転送装置の構成図である。図示するように、この実施例のパケット転送装置はハードウェア処理部１とソフトウェア処理部２で構成される。ハードウェア処理部１は主回線３に接続されて、主回線３に対しＡＴＭセルの送受信を行う。ハードウェア処理部１とソフトウェア処理部２との間は拡張回線４で接続され、この拡張回線４を通してＡＴＭセルが送受信される。
【００３５】
ハードウェア処理部１は、パケット組立部１０、上位レイヤ処理部１１、バッファメモリ１２、パケット判定送信部１３を含み構成される。
【００３６】
パケット組立部１０は主回線３または拡張回線４から論理チャネル多重されたＡＴＭセルを受信すると、論理チャネル毎に、パケット単位のＡＴＭセルの列に組み立てる。パケット組立部１０は、パケット単位のＡＴＭセルの列組立て完了後または、パケットヘッダ部単位のＡＴＭセルの列組立て完了を契機に、そのパケットヘッダを上位レイヤ処理部１１へ送信する。
【００３７】
上位レイヤ処理部１１は、パケット組立部１０が受信したＡＴＭセル化したパケットのパケットヘッダを受信し、そのパケットヘッダに基づいて、パケットの正常性の確認、プロトコル判定、宛先検索などの上位レイヤ処理を行い、送信する回線種別や論理チャネルの決定等を行い、その処理結果はパケット判定送信部１３へ送信される。
【００３８】
バッファメモリ１２は、受信したＡＴＭセル化されたＡＡＬ５パケットを、ＡＴＭセル形式を保ったまま組み立てて蓄積するものであり、これによりバッファポインタ制御の簡素化が図られている。
【００３９】
パケット判定送信部１３は、上位レイヤ処理部１１からの処理結果を受信すると、該処理結果に対応するパケットをバッファメモリ１２から読み出して主回線３または拡張回線４に送信する。この時、上位レイヤ処理部１１の処理結果に従い、主回線３または拡張回線４へ、指定された論理チャネルで送信する。このパケットはＡＴＭセル化したＡＡＬ５パケットである。
【００４０】
ソフトウェア処理部２は、セル組立分解部２０、バッファメモリ２１、プロセッサ２２を含み構成される。ここで、セル組立分解部２０は拡張回線４から受信したＡＴＭセルをセル分解してバッファメモリ２１でパケットに組み立てて蓄積し、またバッファメモリ２１のパケットをＡＴＭセルに組み立てて拡張回線４に送信する。プロセッサ２２はソフトウェア処理を行う部分で、受信したパケットをソフトウェア処理にてパケット処理する。
【００４１】
以下に、このパケット転送装置の概要的な動作を説明する。
ハードウェア処理部１のセル受信部１０１が、主回線３から論理チャネル多重されたＡＴＭセル化されたＡＡＬ５パケットを受信すると、パケット組立制御部１０２は、バッファメモリ１２上に論理チャネル毎にパケット（ＡＴＭセル化したＡＡＬ５パケット）に組み立てるとともに、パケット組立て完了後又はパケットヘッダ組立て完了を契機に、その受信したパケットのパケットヘッダを上位レイヤ処理部１１へ送信する。
【００４２】
上位レイヤ処理部１１は、受信したパケットヘッダを基に、そのパケットの正常性の確認、プロトコル判定、宛先検索の処理を行い、その処理結果をパケット判定送信部１３へ送信する。
【００４３】
パケット判定送信部１３は、上位レイヤ処理部１１の処理結果を受信すると、その処理結果に対応するパケット（ＡＴＭセル化したＡＡＬ５パケット）をバッファメモリ１２から取り出して、その上位レイヤ処理結果に従い、主回線３または拡張回線４へ、指定された論理チャネルで送信する。この際、上位レイヤ処理部１１によりその転送先が解決されたパケットについては、主回線３に送信される。一方、その転送先が解決されない等でハードウェアによるパケット転送が不可であるパケットについては、ソフトウェアによるパケット処理が必要となるので、拡張回線４経由でソフトウェア処理部２に転送される。
【００４４】
このように、このハードウェア処理部１は、ハードウェアによるパケット転送機構に、外部装置と接続される主回線３とは別に、ソフトウェア処理部２と接続する拡張回線４を設け、主回線３へ送信するパケットをバッファメモリ１２から読み出して送信するとともに、ソフトウェア処理が必要なパケットを、ハードウェア独自でバッファメモリ１２から読み出し、拡張回線４へ送信するようにしている。
【００４５】
ソフトウェア処理部２は、転送先が解決されていないＡＴＭセル化したＡＡＬ５パケットを拡張回線４から受信すると、セル組立分解部２０にてＡＴＭセルを分解してバッファメモリ２１へ転送し、このバッファメモリ２１上にパケットを組み立てるとともに、プロセッサ２２（ソフトウェア）に対しパケット受信を通知する。パケット受信の通知を受けたプロセッサ２２は、パケットの内容を判定し、転送されてきたパケットのプロトコル種別の判定、エラー要因の解析などのパケット受信処理を行い、当該パケットの宛先を検索したり、転送先が解決されないパケットを終端したりする。
【００４６】
ソフトウェア処理により宛先が解決するなどしたことにより、プロセッサ２２（ソフトウェア）からパケットを送信する場合は、プロセッサ２２は、送信するパケットをバッファメモリ２１上に用意し、セル組立分解部２０に対して送信を指示する。セル組立分解部２０は、送信指示のあるパケットをバッファメモリ２１から読み出し、ＡＴＭセル化し、拡張回線４経由でハードウェア処理部１へ送信する。
【００４７】
ここで、このソフトウェア処理部２のパケット受信処理およびパケット送信処理と、ハードウェア処理部１のパケット転送処理とは、独立し並行して行う。
【００４８】
パケット組立部１０は、拡張回線４からＡＴＭセル化されたパケットを受信すると、前記の主回線３から受信した場合と同様に、ＡＴＭセル化したパケットを組み立て、ソフトウェア処理部２からの指示または上位レイヤ処理部１１の処理結果に従い、指定された論理チャネルへそのパケットを送信する。
【００４９】
このように、ハードウェア処理部１は、主回線３から受信したパケットをバッファメモリ１２ヘ書き込み組み立てるとともに、ソフトウェア処理部２が送信したパケットを拡張回線４から受信するようにし、ハードウェア独自でバッファメモリ１２へ書き込み組み立てるようにしている。
【００５０】
次に、上記したハードウェア処理部１におけるパケット組立部１０、上位レイヤ処理部１１、バッファメモリ１２、パケット判定送信部１３の詳細構成、およびソフトウェア処理部２におけるセル組立分解部２０、バッファメモリ２１、プロセッサ２２（ソフトウェア）の詳細構成について説明する。
【００５１】
まず、パケット組立部１０は、例えば図２に示すように、セル受信部１０１、パケット組立制御部１０２、ヘッダ送信部１０３などを含み構成される。この図２の実施例のハードウェア処理部１は、バッファメモリ１２へのアクセス速度が、主回線３と拡張回線４とが同時にパケットを送受信できるだけのアクセス速度を有する場合のものである。つまり、パケット組立部１０が主回線３と拡張回線４から同時にパケットをセル損失せずに受信でき、パケット判定送信部１３が主回線３と拡張回線４へ同時にパケットを送信できるだけるアクセス速度がある場合のものである。
【００５２】
ここで、セル受信部１０１は主回線３または拡張回線４からＡＴＭセルを受信する。パケット組立制御部１０２は受信したＡＴＭセルに基づきバッファメモリ１２上にパケットを組み立てる制御を行う。ヘッダ送信部１０３は受信したＡＴＭセル化したパケットから取り出したパケットヘッダを上位レイヤ処理部１１に送信する。
【００５３】
バッファメモリ１２は、図２に示すように、主回線用組立バッファ１２１、拡張回線用組立バッファ１２２、主回線用パケット送信キュー１２３、拡張回線用パケット送信キュー１２４、パケットヘッダ送信キュー１２５などを含み構成される。ここで、主回線用組立バッファ１２１は、主回線３から受信したＡＴＭセル化したパケットを論理チャネル別に組み立てて蓄積する。拡張回線用組立バッファ１２２は、拡張回線４から受信したＡＴＭセル化したパケットを論理チャネル別に組み立てて蓄積する。主回線用パケット送信キュー１２３は、組立完了した主回線３からのＡＴＭセル化したパケットを送信のために待合せさせる。拡張回線用パケット送信キュー１２４は、組立完了した拡張回線４からのＡＴＭセル化したパケットを送信のために待合せさせる。パケットヘッダ送信キュー１２５は、組立バッファ１２１または１２２に受信したＡＴＭセル化したパケットのパケットヘッダをヘッダ送信部１０３へ送信するために待合せさせる。
【００５４】
また、パケット判定送信部１３は、図２に示すように、パケット送信制御部１３１、判定部１３２、パケット送信部１３３などを含み構成される。ここで、判定部１３２は上位レイヤ処理部１１からの処理結果に基づいてバッファメモリ１２の組立完了済のＡＴＭセル化したパケットを主回線用パケット送信キュー１２３または拡張回線用パケット送信キュー１２４に振り分ける指示を行う。パケット送信制御部１３１はパケット送信キュー１２３又は１２４に待合せ中のパケットを送信するための制御を行う。パケット送信部１３３はパケット送信制御部１３１から受信したＡＴＭセル化したパケットを主回線３または拡張回線４に送信する。
【００５５】
上述の図２の実施例に対して、バッファメモリ１２へのアクセス速度が、主回線３と拡張回線４とが同時に受信または送信する速度を有しない場合には、パケット組立ておよび送信において、主回線３と拡張回線４とを多重し、および分離する必要がある。図３に示すハードウェア処理部１の実施例は、かかるパケット組立ておよびパケット送信を実現するものである。
【００５６】
図３に示すように、この場合には、パケット組立部１０のセル受信部１０１に、主回線３または拡張回線４の一方だけを選択してパケットを受信できるよう選択切換えできる多重部を設け、また主回線３からパケットを受信していない時には主回線空き情報をソフトウェア処理部２に通知する機能を設ける。また、パケット判定送信部１３のパケット送信部１３３には、受信したＡＴＭセル化したＡＡＬ５パケットを、主回線３に送信するか、拡張回線４に送信するかを選択切換えする分離部を設ける。
【００５７】
図４にはソフトウェア処理部２の詳細構成例が示される。このソフトウェア処理部２は、上述の図３のハードウェア処理部１、すなわち主回線空き情報を送信する構成のハードウェア処理部１と組み合わせて用いるものである。
【００５８】
図４に示すように、セル組立分解部２０は、セル受信部２０１、セル分解部２０２、受信ＤＭＡ制御部２０３、送信ＤＭＡ制御部２０４、セル組立部２０５、セル送信部２０６などを含み構成される。ここで、セル受信部２０１は、拡張回線４からＡＴＭセルを受信する。セル分解部２０２は、受信したＡＴＭセルをセル分解してペイロード部を取り出す。受信ＤＭＡ制御部２０３は、受信したペイロード部で組み立てられるパケットをバッファメモリ２１にＤＭＡ（ダイレクト・メモリ・アクセス）にて書き込む制御を行う。送信ＤＭＡ制御部２０４は、バッファメモリ２１上のパケットをＤＭＡにて読み出してセル組立部２０５に送る制御を行う。セル組立部２０５は受信したパケットをＡＴＭセルに組み立てる。セル送信部２０６は、受信したＡＴＭセルを、主回線空き情報に基づき主回線３が空いていることが通知されている時に、拡張回線４に送信する。
【００５９】
また、バッファメモリ２１は、受信パケットキュー２１１、送信パケットキュー２１２、空き受信バッファキュー２１３などを含み構成される。ここで、受信パケットキュー２１１は受信パケットを待合せさせるもの、送信パケットキュー２１２は送信パケットを待合せさせるもの、空き受信バッファキュー２１３は空いている受信バッファを待合せさせるものである。
【００６０】
以下、この実施例のパケット転送装置の詳細な動作を説明する。
まず、前述の図２に従って説明する。この図２はハードウェア処理部１におけるパケットの組立てから送信までを説明した図である。
【００６１】
主回線３または拡張回線４からＡＴＭセルをパケット組立部１０内のセル受信部１０１にて受信し、パケット組立制御部１０２に送る。パケット組立制御部１０２は、バッファメモリ１２における、各回線毎、論理チャネル毎の組立バッファ１２１、１２２にＡＴＭセル化したパケットを組み立てて蓄積する。このバッファメモリ１２への蓄積は、ＡＴＭセルを分解せずに、ＡＴＭセル形式を保つことで、バッファ管理を単純化する。
【００６２】
この時、バッファメモリ１２へのアクセス速度は、主回線３と拡張回線４とが同時にセルを受信した場合にも、セル損失しないだけのアクセス速度を有する。
【００６３】
パケットの組立てが完了した後、又はパケットヘッダのみ組立てが完了した後に、へッダ送信部１０３は、パケットヘッダ送信キュー１２５を介して、パケットヘッダを上位レイヤ処理部１１へ送信する。更に、主回線用組立バッファ１２１または拡張回線用組立バッファ１２２にてパケットの組立てが完了した後は、そのパケットを組立完了状態とし、上位レイヤ処理部１１からの処理結果を待つ。
【００６４】
上位レイヤ処理部１１は、受信したパケットヘッダを基に、そのパケットの正常性の確認、プロトコル判定、宛先検索の処理を行い、その処理結果をパケット判定送信部１３内の判定部１３２に送信する。
【００６５】
上位レイヤ処理部１１からの処理結果を受信した判定部１３２は、その処理結果を判定し、その処理結果に対応するパケットを、処理結果に従い、転送先が解決された時には主回線用パケット送信キュー１２３に、あるいは転送先が解決されないなどの時には拡張回線用パケット送信キュー１２４に振り分ける。なお、この時に、まだパケット組立中であった場合は、パケット組立完了後に送信キュー１２３または１２４へ振り分ける。
【００６６】
パケット送信制御部１３１は、送信キュー１２３及び１２４の状態を監視し、主回線用パケット送信キュー１２３にパケットがある場合にはそのパケットを主回線３へ、あるいは拡張回線用パケット送信キュー１２４にパケットがある場合にはそのパケットを拡張回線４へ送信する。その際には、パケット化されたＡＴＭセルは、その論理チャネルを上位レイヤ処理部１１から判定部１３２を通じ指示された論理チャネルへ変換し、パケット送信部１３３を介して送信される。
【００６７】
この時、バッファメモリ１２へのアクセス速度は、主回線３と拡張回線４とが同時にパケットを送信できるだけのアクセス速度を有する。
【００６８】
一方、図３の実施例のハードウェア処理部１の場合は次のように動作する。前述したように、この図３はハードウェア処理部１におけるパケット組立ておよび送信において、主回線３と拡張回線４とを多重および分離する方法を説明した図であり、バッファメモリ１へのアクセス速度が、主回線３と拡張回線４とが同時に受信または送信する速度を有しない場合の、パケット組立ておよびパケット送信の実現方法である。
【００６９】
図３において、セル受信部１０１において、主回線３から受信するＡＴＭセルと、拡張回線４から受信するＡＴＭセルとを多重部にて多重することで、そのうちの一方の回線からのみパケットを受信できるよう多重部を切り換える。
【００７０】
パケット組立制御部１０２は、主回線３から受信したＡＴＭセル、又は拡張回線４から受信したＡＴＭセルを、各回線毎に振り分け、バッファメモリ１２の回線毎、論理チャネル毎の組立バッファへ蓄積する。
【００７１】
パケット送信制御部１３１は、主回線用パケット送信キュー１２３又は拡張回線用パケット送信キュー１２４にあるパケットのどちらかをバッファメモリ１２から読み出す。このバッファメモリ１２から読み出したパケットを、パケット送信部１３３は、分離部にて主回線３と拡張回線４とへ分離し、送信する。
【００７２】
上記のセル受信部１０１による多重の方法は、通常、主回線３から受信したセルの優先度を高くし、ソフトウェア処理部２のバッファメモリ２１による待合せが可能な拡張回線４から受信したセルの優先度を低くする。この優先度に基づき、主回線３のセル受信が空いた時にのみに、拡張回線４からのセルを受信するようにする。よって、ソフトウェア処理部２からのセル送信を抑制するために、主回線３の空き情報をソフトウェア処理部２へ常時通知する。
【００７３】
図４は、ソフトウェア処理部２におけるパケット処理を説明した図である。
図４において、拡張回線４からＡＴＭセル化されたＡＡＬ５パケットを、セル組立分解部２０内のセル受信部２０１にて受信し、セル分解部２０２に渡す。セル分解部２０２は、受信したＡＴＭセルをＡＴＭセルのペイロード部のみに分解し、受信ＤＭＡ制御部２０３にて、空き受信バッファキュー２１３を参照しつつバッファメモリ２１における空きの受信バッファ（図示しない）へ転送してパケットを組み立て、受信したパケットを受信パケットキュー２１１へつなぐ。このパケット組立完了後、パケットを受信したことをプロセッサ２２（ソフトウェア）ヘ通知する。
【００７４】
パケット受信の通知を受けたプロセッサ２２（ソフトウェア）は、受信パケットキュー２１１にあるパケットの種別を判定し、該パケット種別に従い、上位プロトコル等の処理を行う。
【００７５】
受信パケットキュー２１１にあるパケットが必要なくなった場合は、プロセッサ２２（ソフトウェア）は、そのパケットの受信に要した受信バッファを空き受信バッファとして開放し、その空き受信バッファを空き受信バッファキュー２１３につなぐ。
【００７６】
プロセッサ２２（ソフトウェア）からパケットを送信する場合は、ソフトウェアは、バッファメモリ２１における空きの送信バッファを獲得し、送信するパケットを送信パケットキュー２１２へつなぐ。
【００７７】
セル組立分解部２０内の送信ＤＭＡ制御部２０４は、送信パケットキュー２１２にあるパケットをバッファメモリ２１から読み出してセル組立部２０５に渡す。セル組立部２０５は、受け取ったパケットをＡＴＭセルに組み立て、セル送信部２０６を介して、ソフトウェアから指示された論理チャネルヘＡＴＭセル化したパケットを送信する。
【００７８】
この時、セル送信部２０６は、ハードウェア処理部１からの主回線空き情報に従い、主回線に空きがないときはセル送信を抑制する。
【００７９】
図５および図６は、ソフトウェア処理部２からパケットを送信した場合の、ハードウェア処理部１におけるパケットの組立てから送信までを説明した図である。まず、図５にて、ソフトウェア処理部２から送信先論理チャネルを指定してパケットを送信した場合のハードウェア処理部１の動作を説明する。
【００８０】
図５において、ハードウェア処理部１のパケット組立部１０は、ソフトウェア処理部２から送信されたパケットを受信すると、バッファメモリ１２において、受信した時の論理チャネル毎にパケットを組み立てる。この時、パケット組立部１０は、ソフトウェア処理部２から予め送信先を指定されたパケットについては、上位レイヤ処理部１１へのパケットヘッダの送信を行わない。
【００８１】
パケット判定送信部１３は、この予めソフトウェア処理部２から送信先を指定されたパケットがバッファメモリ１２にてパケット組立完了後、組立完了状態となると、上位レイヤ処理部１１の処理結果を待つことなく、上記ソフトウェア処理部２からのパケットを、指定された送信先の回線のパケット送信キューへ振り分け、指定された論理チャネルへ送信する。
【００８２】
なお、通常、ソフトウェア処理部２が指定する送信先は主回線３であるが、拡張回線４を指定してソフトウェア処理部２へループバックさせることも可能である。
【００８３】
次に、図６にて、ソフトウェア処理部２から送信先論理チャネルを指定しないパケットを送信した場合のハードウェア処理部１の動作を説明する。
【００８４】
ハードウェア処理部１のパケット組立部１０は、ソフトウェア処理部２から送信されたパケットを受信すると、受信した時の論理チャネル毎にパケットを組み立てる。この時、ソフトウェアから送信先を指定されていないパケットについては、パケット組立部１０は、主回線３から受信したパケットと同様に、上位レイヤ処理部１１へそのパケットのパケットヘッダを送信する。
【００８５】
パケット判定送信部１３は、このソフトウェア処理部２から送信先を指定されていないパケットのパケット組立完了後、組立完了状態となり、上位レイヤ処理部１１からの処理結果を待つ。そして、処理結果を受信しかつパケット組立完了したことを条件に、受信した処理結果に従い、上記ソフトウェア処理部２からのパケットを送信先の回線のパケット送信キューへ振り分け、指示された論理チャネルへ送信する。
【００８６】
このように、ソフトウェア処理部２が、送信先を指定しないパケットを送信した場合は、ハードウェア処理部１による送信先検索を行い、その結果得られた送信先に送信するようにしており、これによりソフトウェア処理部２による送信先の検索を不必要としている。
【００８７】
図７は、上述の実施例の変形形態を示すものであり、ハードウェア処理部１が、ソフトウェア処理部２へ送信するパケットをパケット種別毎に論理チャネルへ振り分ける方法を説明した図である。
【００８８】
ハードウェア処理部１において、上位レイヤ処理部１１は、受信したパケットヘッダを解析してそのパケットのパケット種別を得る。パケット種別とは、例えば、ＩＣＭＰパケット、ＩＧＭＰパケット、ＯＳＰＦパケット、ＲＳＶＰパケット等のプロトコルパケット、宛先が解決できなかったパケット、パケット正常性確認に違反したパケット等があり、これらのパケット種別を論理チャネルを用いて分類分けする。例えば、パケット種別＃０は論理チャネルＣＨ１に、パケット種別＃１は論理チャネルＣＨ１に、パケット種別＃２〜＃５は論理チャネルＣＨ２に分類するなどである。
【００８９】
また、このパケット種別と送信論理チャネルとの対応を判定部１３２に予め設定しておく。上位レイヤ処理部１１から処理結果を受信したパケット判定送信部１３は、処理結果にあるパケット種別から送信論理チャネルを判定部１３２にて導き出し、上記ソフトウェア処理部２からのパケットをその論理チャネルのパケット送信キューへ振り分ける。パケット判定送信部１３は、その論理チャネルを基に、ソフトウェア処理の分岐を判断し、ソフトウェア処理の必要なパケットは、指示された論理チャネルで、拡張回線４を経由してソフトウェア処理部２に送信する。
【００９０】
ソフトウェア処理部２では、受信したパケットの論理チャネルを基に次処理を決定する。これにより、ハードウェア処理部１と重複したパケット解析処理を不必要にしている。
【００９１】
図８は、上述の実施例の他の変形形態を示すものであり、ハードウェア処理部１が、ソフトウェア処理部２へ送信するパケットに対し、上位レイヤ処理部１１の処理結果にて得られた詳細情報を添付する方法を説明した図である。
【００９２】
ハードウェア処理部１において、上位レイヤ処理部１１からその処理結果を受信した判定部１３２は、更に詳紬情報を受信し、この詳紬情報をパケットの先頭に添付するか、あるいはパケットと対応させてパケット送信キューへつなぐ。このパケット詳細情報とは、例えば、パケット正常性確認違反の要因情報、プロトコルパケットの種別コード等があり、パケット種別を更に詳細に分類分けするものである。パケット判定送信部１３は、ソフトウェア処理の分岐の判断をこの詳細情報の内容を基に行い、ソフトウェア処理の必要なパケットについては、この詳細情報をパケットに添付して拡張回線４経由でソフトウェア処理部２に送信する。
【００９３】
ソフトウェア処理部２では、受信したパケットの詳細情報を基に次処理を決定し、それによりハードウェア処理部１と重複したパケット解析処理を不必要としている。
【００９４】
図９および図１０は上述の実施例のまた他の変形形態を示すものであり、ソフトウェア処理部２がその受信バッファの空き状態をハードウェア処理部１に通知し、ハードウェア処理部１がその空き状態に応じてソフトウェア処理部２にＡＴＭセル化されたパケットを送信するようにしたものである。
【００９５】
まず、図１０は、空きバッファ情報を出力するソフトウェア処理部２の構成を説明する図である。拡張回線４からパケットを受信したセル組立分解部２０は、各論理チャネルに共通の空き共通受信バッファキューからバッファを獲得し、論理チャネルに対応したパケット受信キューへパケットを転送するよう構成される。ここで、セル組立分解部２０は、空き共通受信バッファキューのキュー長と予め設定されたキュー長とを比較し、空き共通受信バッファキューのキュー長が上記予め設定されたキュー長以下か否かを示す共通受信バッファ空き情報を出力し、ハードウェア処理部１に伝達するよう構成される。
【００９６】
又、セル組立分解部２０は、各論理チャネルに対応したパケット受信キューのキュー長と各論理チャネル対応に予め設定されたキュー長とをそれぞれ比較し、各パケット受信キューのキュー長が予め設定されたキュー長以下か否かを示す各論理チャネル毎の受信バッファ空き情報も出力する。
【００９７】
なお、このソフトウェア処理部２におけるプロセッサ２２（ソフトウェア）のパケット受信処理は、論理チャネル（よってパケット種別）または上位レイヤ処理結果の詳細情報を基に、処理を分岐させる。
【００９８】
図９は、ソフトウェア処理部２から受信した受信バッファ空き情報などに基づき送信スケジュールを行うようにしたハードウェア処理部１の構成を示すものであり、このハードウェア処理部１はパケット種別毎にパケット送信キューを分離して送信スケジュールをするようにも構成してある。
【００９９】
ハードウェア処理部１において、上位レイヤ処理部１１から処理結果を受信した判定部１３２は、処理結果で示されたパケット種別に従い、該当パケット（ＡＴＭセル化したパケット）を対応するパケット送信キューへ振り分ける。
【０１００】
パケット送信部１３３は、予め設定された送信キュー毎（よってパケット種別毎）の優先度に従い、送信キューにある送信すべきパケット（ＡＴＭセル化したパケット）の送信スケジューリングを行い、その送信スケジューリングに従って送信キューからパケットを読み出し、回線へ送信する。
【０１０１】
パケット種別毎に分離したパケット送信キューは、主回線用と拡張回線用とを別々に設け、それぞれ独立したスケジューリングを行う。
また、図３で説明した変形形態のように、主回線と拡張回線とを多重分離する方法を採った場合は、主回線用の送信キューと拡張回線用の送信キューとを合わせてスケジューリングを行う。
【０１０２】
このように、このハードウェア処理部１では、パケット種別毎に主回線３への送信キュー１２３を複数に分離し、同様に拡張回線４への送信キュー１２４を複数に分離しており、主回線３の各パケット種別毎の送信キュー１２３間での、または拡張回線４の各パケット種別毎の送信キュー１２４間での、または主回線３と拡張回線４とを合わせた各パケット種別毎の送信キュー１２３、１２４間での送信スケジュールを行うようにしており、これによりパケット種別毎に優先度を設定できるようにして、ソフトウェア処理部２は、優先度の高いパケットを優先して受信することが可能なようにしている。
【０１０３】
また、パケット送信部１３３は、ソフトウェア処理部２からの共通受信バッファ空き情報を送信キュー長監視部で監視しており、ソフトウェア処理部２側の共通受信バッファに空きがなくなったことを検知した場合には、バッファメモリ１２の拡張回線４用の送信キュー１２４からのパケットの読み出しを抑制する。これにより、ソフトウェア処理部２が、共通受信バッファの溢れに起因してハードウェア処理部１からのＡＴＭセル化したパケットの損失等を未然に防ぐことができる。
【０１０４】
また、ソフトウェア処理部２において、ある論理チャネルの受信バッファの空きがなくなった場合、その旨は各倫理チャネル毎の受信バッファ空き情報によりハードウェア処理部１のパケット送信部１３３に通知されるので、パケット送信部１３３は、その空きの無くなった論理チャネルに対応した拡張回線用の送信キューからのパケットの読出しのみを抑制する。
【０１０５】
このように、このパケット転送装置では、ソフトウェア処理部２がソフトウェア処理部内のバッファメモリ２１の輻輳状態を監視し、共通受信バッファが輻輳した場合は、ハードウェア処理部１が拡張回線４用の全送信キュー１２４からの送信を待ち合わせるようにし、また、ソフトウェア処理部２側である論理チャネルの受信バッファが輻輳した場合は、ハードウェア処理部１がその論理チャネル送信キューからの送信を待ち合わせるようにしており、また、ソフトウェア処理の優先度の低いパケットをソフトウェア処理部２へ送信しないようにしており、これによりソフトウェア処理部２内のバッファ溢れを発生させないようにして、ソフトウェア処理部２側においてソフトウェアによる輻輳制御を不必要としている。
【０１０６】
このように、この変形例のパケット転送装置は、予め設定された送信キューの優先度と、ソフトウェア処理部の共通受信バッファ空き情報および論理チャネル毎の受信バッファ空き情報とを合わせて送信スケジュールすることもでき、例えば、ハードウェア処理部１側における優先度の高い送信キューが、ソフトウェア処理部２側の受信バッファに空きが無いために送信できない場合は、送信可能な他の送信キューにあるパケットを先に送信するなど、融通性のある送信スケジューリングができる。
【０１０７】
なお、ここでいうパケット種別とは、プロトコル種別等およびそれらの組合せをいう。
【０１０８】
図１１は、本発明のパケット転送装置の他の実施例を示す構成図であり、この実施例は、複数のパケット転送装置を単一のソフトウェア処理部に接続するよう構成したものである。
【０１０９】
図１１に示すように、前述した各実施例のハードウェア処理部１だけからなるパケット転送装置＃０〜＃ｎを複数配備し、各パケット転送装置＃０〜＃ｎの拡張回線４（＃０）〜４（＃ｎ）を単一のソフトウェア処理部２に接続する。
【０１１０】
ソフトウェア処理部２内のセル組立分解部２０は、複数の拡張回線４（＃０）〜４（＃ｎ）を収容し、各拡張回線４（＃０）〜４（＃ｎ）との間でそれぞれ独立してパケット送信およびパケット受信を行うことができるよう構成する。また、プロセッサ２２（ソフトウェア）は、複数のパケット転送装置＃０〜＃ｎへのパケット送信処理、または複数のパケット転送装置＃０〜＃ｎからのパケット受信処理を共通で行う。
【０１１１】
図１２は、本発明のパケット転送装置のまた他の実施例を示す構成図であり、この実施例は、上述の図１１の実施例と同様、複数のパケット転送装置を単一のソフトウェア処理部に接続するよう構成したものであるが、この図１２の実施例は、図１１の実施例をさらに改良したものである。
【０１１２】
この実施例では、各パケット転送装置＃０〜＃ｎにそれぞれ第２の拡張回線６（＃０）〜６（＃ｎ）を設け、これらの拡張回線６（＃０）〜６（＃ｎ）で各パケット転送装置＃０〜＃ｎをリング状に数珠つなぎする。
【０１１３】
そして、各パケット転送装置＃０〜＃ｎにおいて、パケット組立部１０に前段パケット転送装置の拡張回線６から受信したＡＴＭセル化されたパケットをパケットに組み立てる機能と、そのパケットヘッダを上位レイヤ処理部１１へ送信する機能を持たせ、また、パケット判定送信部１３に上位レイヤ処理結果に従い適宜に拡張回線６を経由して後段パケット転送装置へパケットを送信できる機能を持たせる。
【０１１４】
これら第２の拡張回線６に関する機能は、前述した主回線３および拡張回線４の機能と同一である。したがって、主回線３または拡張回線４から受信したパケットを拡張回線６を介して後段パケット転送装置へ送信でき、また、前段パケット転送装置の拡張回線６から受信したパケットを主回線３または拡張回線４へ送信することができる。
【０１１５】
このように複数のパケット転送装置＃０〜＃ｎを配備し、送信側の拡張回線６を後段パケット転送装置の受信側の拡張回線６に接続し、自パケット転送装置の上位レイヤ処理部１１にて処理した結果が、そのパケット（ＡＴＭセル化したパケット）が自パケット転送装置の主回線３への送信でなく、かつ拡張回線４への送信でもない場合、そのパケットを第２の拡張回線６を用いて後段パケット転送装置へ送信する。
【０１１６】
この後段パケット転送装置は、受信側の拡張回線６からパケットを受信すると、そのパケットヘッダを上位レイヤ処理部１１に渡して上位レイヤ処理を行い、その結果に従い、主回線３または拡張回線４への送信であれば該当回線に送信するが、その何れでも無い場合には、前段パケット転送装置と同様に、第２の拡張回線６を用いて更に後段のパケット転送装置へ送信する。
【０１１７】
ここで、主回線３または拡張回線４から受信したパケットを拡張回線６へ送信するパケット転送装置、すなわち、拡張回線６への転送を最初に始めたパケット転送装置は、その送信パケットに対し、自パケット転送装置を示す情報を付加するようにし、一方、拡張回線６からパケットを受信したパケット転送装置は、その受信パケットに付加された、上記拡張回線６ヘの転送を開始したパケット転送装置を示す情報を確認し、その情報が自パケット転送装置を示すものでない場合には、当該パケットを拡張回線６で後段パケット伝送装置に送信する時には元のパケット転送装置情報をそのままにして送信し、また、その情報が自パケット転送装置を示すものである場合には、拡張回線４を用いて、そのパケットをソフトウェア処理部２へ送信する。
【０１１８】
以下に、図１３を用いて、上記図１２に示す複数のパケット転送装置間を接続した場合についての動作を説明する。
【０１１９】
主回線３からパケットを受信したパケット転送装置＃０は、そのパケットの送信先が上位レイヤ処理にて解決できなかったため、そのパケットを、自パケット転送装置ナンバー＃０を付加して第２の拡張回線６を用いて後段のパケット転送装置＃１へ転送する。
【０１２０】
この転送されてきたパケットを受信したパケット転送装置＃１においても、送信先が解決できなかったため、このパケット転送装置＃１も第２の拡張回線６を用いて更に後段のパケット転送装置＃２へ転送する。この時、転送されるパケットに付加されている、拡張回線６への転送を開始したパケット転送装置を示す情報は＃０のままである。
【０１２１】
転送されてきたパケットを受信したパケット転送装置＃ｋにおいて、上位レイヤ処理結果が主回線３への送信である場合、パケット転送装置＃ｋの主回線３へ当該パケットを送信する。
【０１２２】
一方、  全てのパケット転送装置＃０〜＃ｎにおける上位レイヤ処理にて送信先が解決できなかったパケットは、拡張回線６で形成されたパケット転送装置のリングを一巡して、拡張回線６への送信を開始した元のパケット転送装置＃０へ戻る。パケット転送装置＃０は、この一巡したパケットの転送開始元パケット装置情報を見て、自装置が転送開始したパケットであることを認識し、そのパケットをソフトウェア処理部２へ送信する。
【０１２３】
【発明の効果】
以上説明したように、本発明によれば、ソフトウェア処理が必要なパケットをソフトウェア処理部向けの回線へ振り分け、ソフトウェア処理部が送信したパケットを多重し送信することにより、ハードウェア処理部によるパケット転送用バッファメモリと、ソフトウェア処理部によるパケット転送用バッファメモリとを分離することが可能となり、ハードウェア処理部によるパケット転送処理と、ソフトウェア処理部によるパケット転送処理とが、互いに影響を及ぼし合わない結合機構となり、ハードウェア処理部とソフトウェア処理部がそれぞれ持つ処理能力を最大限に発揮できる。
【０１２４】
更に、ソフトウェア受信処理におけるパケット種別の判定を容易にし、また、ソフトウェア送信処理における送信先検索を不必要とし、これによりソフトウェア処理部によるパケット処理能力の向上が図れる。
【０１２５】
更に、複数のパケット転送装置により、送信先検索を行うための結合が可能となり、パケット転送装置の処理容量の拡大が図れる。
【図面の簡単な説明】
【図１】本発明の一実施例としてのパケット転送機構の構成図である。
【図２】本発明のパケット転送装置のハードウェア処理部１の実施例を示すものであって、その実施例におけるパケット組立て送信の説明をする図である。
【図３】本発明の  本発明のパケット転送装置における、主回線と拡張回線を多重分離する機構を備えたハードウェア処理部１の実施例を示すものであって、この実施例におけるパケット組立て送信の説明をする図である。
【図４】図３に示すハードウェア処理部１の実施例と組み合わせて用いるソフトウェア処理部２の実施例を示すものであって、このソフトウェア処理部２のパケット処理の説明図である。
【図５】本発明の実施例において、ソフトウェア処理部２から送信先を指定した場合のハードウェア処理部１における動作を説明する図である。
【図６】本発明の実施例において、ソフトウェア処理部２から送信先を指定しない場合のハードウェア処理部１における動作を説明する図である。
【図７】本発明の実施例の変形形態を説明するものであり、ハードウェア処理部１においてパケット種別毎に送信論理チャネルを振り分ける場合の説明図である。
【図８】本発明の実施例の他の変形形態を説明するものであり、ハードウェア処理部１において上位レイヤ処理結果の詳細情報をパケットに付加する場合の説明図である。
【図９】本発明のハードウェア処理部１の他の実施例を説明する図であって、上位レイヤ処理部１１においてパケット種別毎に送信キューを分離する場合の説明図である。
【図１０】本発明のソフトウェア処理部２の他の実施例を説明する図であって、空きバッファ情報を出力するソフトウェア処理部の説明図である。
【図１１】本発明のまた他の実施例を説明する図であって、複数のパケット転送装置と単一のソフトウェア処理部を接続した場合の構成図である。
【図１２】本発明のまた他の実施例を説明する図であって、複数のパケット転送装置と単一のソフトウェア処理部からなり、それら複数のパケット転送装置間を第２の拡張回線でリング状に接続した場合の構成図である。
【図１３】図１２に示す実施例の造作を説明するための図である。
【図１４】本発明のパケット転送装置が適用されるパケット転送モジュールのネットワーク上の位置づけを示す図である。
【図１５】従来のパケット転送装置の構成を示す図である。
【符号の説明】
１  ハードウェア処理部
２  ソフトウェア処理部
３  主回線
４  拡張回線
６  第２の拡張回線
１０  パケット組立部
１１  上位レイヤ処理部
１２  バッファメモリ
１３  パケット判定送信部
２０  セル組立分解部
２１  バッファメモリ
２２  プロセッサ（ソフトウェア）
１０１  セル受信部
１０２  パケット組立制御部
１０３  ヘッダ送信部
１２１  主回線用組立バッファ
１２２  拡張回線用組立バッファ
１２３  主回線用パケット送信キュー
１２４  拡張回線用パケット送信キュー
１２５  パケットヘッダ送信キュー
１３１  パケット送信制御部
１３２  判定部
１３３  パケット送信部
２０１  セル受信部
２０２  セル分解部
２０３  受信ＤＭＡ制御部
２０４  送信ＤＭＡ制御部
２０５  セル組立部
２０６  セル送信部
２１１  パケット受信キュー
２１２  パケット送信キュー
２１３  空き受信バッファキュー
【図１】
0003730471.tif 000002
【図２】
0003730471.tif 000003
【図３】
0003730471.tif 000004
【図４】
0003730471.tif 000005
【図５】
0003730471.tif 000006
【図６】
0003730471.tif 000007
【図７】
0003730471.tif 000008
【図８】
0003730471.tif 000009
【図９】
0003730471.tif 000010
【図１０】
0003730471.tif 000011
【図１１】
0003730471.tif 000012
【図１２】
0003730471.tif 000013
【図１３】
0003730471.tif 000014
【図１４】
0003730471.tif 000015
【図１５】
0003730471.tif 000016