JP3719222B2 - パケット処理システム - Google Patents

パケット処理システム Download PDF

Info

Publication number
JP3719222B2
JP3719222B2 JP2002051144A JP2002051144A JP3719222B2 JP 3719222 B2 JP3719222 B2 JP 3719222B2 JP 2002051144 A JP2002051144 A JP 2002051144A JP 2002051144 A JP2002051144 A JP 2002051144A JP 3719222 B2 JP3719222 B2 JP 3719222B2
Authority
JP
Japan
Prior art keywords
packet
destination
information
page
address
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2002051144A
Other languages
English (en)
Other versions
JP2003258899A (ja
Inventor
智成 傍士
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP2002051144A priority Critical patent/JP3719222B2/ja
Publication of JP2003258899A publication Critical patent/JP2003258899A/ja
Application granted granted Critical
Publication of JP3719222B2 publication Critical patent/JP3719222B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)
  • Small-Scale Networks (AREA)

Description

【0001】
【発明の属する技術分野】
本発明はパケットを転送するパケット処理システムに係わり、特にパケットをマルチキャスト転送するパケット処理システムに関する。
【0002】
【従来の技術】
通信ネットワーク内に配置されている複数の端末に同一の送信データを組み込んだパケットを送信するために、マルチキャスト転送が用いられることが多い。マルチキャスト転送では、パケットを転送するパケット処理システムが受信したマルチキャスト用のパケットをコピーし、送信先となる複数の端末それぞれへ向けて送信するようになっている。
【0003】
図30は、通信ネットワークに配置されたパケット処理システムとしてのパケット処理装置の構成を表わしたものである。特開2001−28605号公報に一例として開示されているこのパケット処理装置11は、第1〜第4の回線12〜15と接続されており、これらを介してパケットを入力したりそれぞれの宛先に送出するようになっている。このパケット処理装置11には、2組の回線インタフェース処理部16、17が備えられている。このうちの第1の回線インタフェース処理部16が第1および第2の回線12、13と接続されており、第2の回線インタフェース処理部17が第3および第4の回線14、15と接続されている。これらの回線インタフェース処理部16、17は、パケットの各種処理を行う図示しない回路部分とバス18を介して接続されており、各種のインタフェース処理を行うようになっている。このうちの1つがそれぞれの回線12〜15からパケットが送られてきたときの宛先を解析する宛先解決処理である。この図30ではこの宛先解決処理を行う部分を、便宜上、宛先解決処理部19、20として示している。
【0004】
これらの宛先解決処理部19、20は、第1〜第4の回線12〜15のうちの対応するものからパケットが送られてきたとき、それらの宛先となる端末に至る転送経路を解析し、この解析結果を基にして各回線インタフェース処理部16、17に接続されている回線の中からこのパケットを出力する回線を選択する宛先解決処理を行う。一例として、このようなパケット処理装置11が、第1の回線12から入力されたパケットを第2〜第4の回線13〜15へ出力することで図示しない宛先へマルチキャスト転送する場合の処理を説明する。
【0005】
第1の回線12からパケットを入力された第1の回線インタフェース処理部16は、このパケットを宛先解決処理部19で解析し、マルチキャスト転送に対応する回線を示す情報として第2〜第4の回線13〜15を示す情報を取得する。この後、取得した情報に従ってパケットのコピーを3つ作成し、第1の回線インタフェース処理部16から第2の回線13へコピーを1つ出力する。また、第2の回線インタフェース処理部17からは、それぞれ回線14および回線15へ1つずつパケットを出力する。このようにして、パケット処理装置11は第1の回線12から送られてきたパケットを第2〜第4の回線13〜15へそれぞれ送り出すことで3箇所の宛先に対してマルチキャスト転送を行うようになっている。
【0006】
【発明が解決しようとする課題】
ところで図30に示したパケット処理装置11では、それぞれの回線インタフェース処理部16、17が機能の一部として、あるいは内蔵部品を使用して宛先解決処理部19、20を実現している。したがって、使用されるパケット処理装置11によって宛先解決処理の能力が固定されることになり、その能力が実態に即している場合には問題ないが、能力が足りないような場合にはパケット処理に遅延を生じさせたり、パケット処理装置11自体の交換が要求されることになった。また、将来のニーズを先取りして十分な能力の回線インタフェース処理部16、17を備えたパケット処理装置11を用意することは経済的な負担を強いることになり、しかもそのようなニーズが現れない場合には結果的に無駄を生じさせることになる。
【0007】
そこで本発明の目的は、パケットの宛先解決処理についての各種負荷の要求に対応し、マルチキャスト転送を行うことのできるパケット処理システムを提供することにある。
【0008】
【課題を解決するための手段】
請求項1記載の発明では、(イ)入出力を選択するスイッチと、(ロ)このスイッチに接続され、転送すべきパケットを入力するパケット入力手段と、このパケット入力手段が入力したパケットを一時的に格納するパケット格納手段と、パケット入力手段が入力したパケットの宛先の判別を要求する情報を組み込んだ宛先要求情報を作成する宛先要求情報作成手段と、この宛先要求情報作成手段の作成した宛先要求情報を予め選択した転送先にこのスイッチを介して送出する宛先要求情報送出手段と、送出した宛先要求情報に対してこのスイッチを介してパケットの宛先を示す宛先解決情報が返送されてきたときその宛先解決情報の示す宛先の数に応じて必要な数だけパケット格納手段に格納したパケットをコピーして、この宛先解決情報が示すそれぞれの宛先に1つずつ対応付けてこれらを転送するパケット転送手段とを備えた回線インタフェース装置と、(ハ)スイッチを介してこの回線インタフェース装置からパケットの宛先の判別を要求する宛先要求情報が入力されたとき、このパケットがマルチキャスト転送するパケットであるか否かを判別するマルチキャスト転送判別手段と、このマルチキャスト転送判別手段によってマルチキャスト転送するパケットであると判別されたときこのスイッチに接続されたマルチキャスト転送に対応して宛先を判別する装置を選択してこの宛先要求情報をこのスイッチを介して転送送出する転送部と、マルチキャスト転送判別手段によってマルチキャスト転送するパケットではないと判別されたときこの宛先要求情報に対して判別した宛先を示す宛先解決情報を作成しこの宛先要求情報を送出元に返送する返送部とを備えた宛先解決選択装置と、(ニ)スイッチを介してパケットの宛先の判別を要求する宛先要求情報が入力されたとき、マルチキャスト転送するパケットの宛先要求情報に対応して判別した宛先を示す宛先解決情報を作成しこの宛先要求情報を送出した回線インタフェース装置に返送する宛先解決装置とをパケット処理システムに具備させる。
【0013】
すなわち請求項1記載の発明では、宛先解決選択装置は入力された宛先要求情報がマルチキャスト転送するパケットの宛先の判別を要求しているか否かを判別するようになっている。そして、マルチキャスト転送するパケットである場合には、これに対応して宛先解決情報を作成する宛先解決装置を選択してこの宛先要求情報を転送する。また、マルチキャスト転送するパケットでなければ、これに対する宛先解決情報を作成して回線インタフェース装置に返送するようになっている。マルチキャスト転送するパケットであるか否かは、たとえばパケットに送信先を示すアドレスとして、マルチキャスト転送するパケットに割り振られるアドレスが組み込まれているか否かを確認することで判別することができる。このようにマルチキャスト転送を行うパケットに対する宛先の判別処理をこれに対応した宛先解決装置に行わせることによって、マルチキャスト転送の宛先を判別する処理の負荷に対応した変更や追加などを宛先解決装置だけで、回線インタフェース装置あるいは宛先解決選択装置と無関係に行うことができる。また、1つの宛先が判別されるユニキャスト転送するパケットに対してのみ宛先解決情報を作成する装置が備えられている場合であっても、マルチキャスト転送判別部および転送部を新たに備えて、スイッチにマルチキャスト転送するパケットに対応した宛先解決装置を接続することで、マルチキャスト転送するパケットに対する宛先要求情報に対応することができる。このように、ユニキャスト転送するパケットに対応していたパケット処理システムをマルチキャスト転送するパケットにも対応させる場合に、既存の宛先を判別する装置も機能を追加して使用することで、既存の装置を有効に活用することができる。
【0014】
請求項2記載の発明では、請求項1記載のパケット処理システムで、宛先解決装置は、判別した宛先それぞれに対応してこれを示す宛先解決情報を1つずつ作成して返送し、パケット転送手段は、返送された宛先解決情報ごとにパケットのコピーを1つずつ作成することを特徴としている。
【0015】
すなわち請求項2記載の発明では、宛先解決情報は1つの宛先しか示さないように単純化されており、パケット転送手段は判別された宛先の数に関わらず宛先解決情報が返送されるたびに1つだけパケットのコピーを作成すればよいようになっている。これによって、パケット転送手段は同じ処理を繰り返すことで、判別された宛先の数が単数であっても複数であっても対応することができる。したがって、宛先の数によって対応したパケット転送手段を設ける必要が無いので、これを備える回線インタフェース装置の構造を簡易にすることができる。
【0016】
請求項3記載の発明では、請求項1記載のパケット処理システムで、宛先解決装置は複数備えられており、回線インタフェース装置はこれらの宛先解決装置のパケットの宛先判別のための負荷をそれぞれ判別する負荷判別手段と、この負荷判別手段の判別結果に応じて各宛先解決装置の負荷が分散するように宛先要求情報を送出する宛先解決装置を選択する宛先解決装置選択手段とを更に具備することを特徴としている。
【0017】
すなわち請求項3記載の発明では、回線インタフェース装置が入力したパケットの宛先を判別するための宛先要求情報の送出先を、複数の宛先解決装置から選択するようになっている。回線インタフェース装置はそれぞれの宛先解決装置の入力したパケットに対する宛先判別のための負荷を判別するようになっており、判別結果を基にして負荷が分散するように宛先要求情報の送出先を選択する。たとえば、一般的にマルチキャスト転送の場合送信先を示すアドレスは特定の範囲で表わされるため、アドレスがこの範囲であるか否かを確認するだけでマルチキャスト転送が行われるパケットであるか否かを判別することができる。このようなパケットの宛先要求情報は、マルチキャスト転送を行うパケットの宛先判別のための負荷が少ない宛先解決装置に送出することで各宛先解決装置の間の負荷を分散することができる。また、同じ負荷の宛先解決装置を順に選択して宛先要求情報を送出することでも各宛先解決装置間の負荷を分散することができる。更に、宛先解決装置の現在の負荷状況などの情報を取得してこれを加えて送出先となる宛先解決装置を選択してもよい。
【0018】
請求項4記載の発明では、(イ)入出力の選択を行うスイッチと、(ロ)このスイッチに接続され、受信回線あるいは受信ポートから転送すべきパケットを入力するパケット入力手段と、このパケット入力手段が入力したパケットの宛先を要求する宛先要求情報を作成する宛先要求情報作成手段と、スイッチを介して宛先要求情報を送出する宛先要求情報送出手段と、この宛先要求情報送出手段によって送出された宛先要求情報に対してスイッチを介してパケットの送信処理を行う装置を示す送信装置情報とこのパケットの判別された送信先を示す送信先情報を組み込んだ宛先解決情報が入力されたとき、送信装置情報ごとにパケット入力手段が入力したパケットのコピーを作成する受信パケットコピー作成手段と、この受信パケットコピー作成手段によって作成されたコピーに送信先情報を付加した送信先情報付加パケットを送信装置情報が示す装置に向けてスイッチを介して送出する送信先情報付加パケット送出手段と、受信回線あるいは受信ポートとを備えたパケット受信装置と、(ハ)スイッチに接続され、このスイッチを介してパケット受信装置から宛先要求情報が入力されたとき、これに対応してパケットの送信処理を行う装置を判別しこれを示す宛先解決情報を作成する宛先解決情報作成手段と、宛先要求情報を基にしてこのパケットの送信処理を行う装置が送信する送信先を判別してこれを示す送信先情報をこの宛先解決情報作成手段が作成した宛先解決情報に組み込む宛先解決情報組込手段と、この宛先解決情報組込手段によって送信先情報が組み込まれた宛先解決情報を宛先要求情報の入力元のパケット受信装置にこのスイッチを介して送出する宛先解決情報送出手段とを備えた宛先解決装置と、(ニ)送信先情報に対応した送信回線あるいは送信ポートを示す、送信回線情報あるいは送信ポート情報を記憶する送信回線・ポート記憶手段と、スイッチを介して送信先情報付加パケットが入力されたとき、この送信先情報付加パケットに組み込まれている送信先情報を基にしてこの送信回線・ポート記憶手段に記憶されている送信回線情報あるいは送信ポート情報を取得する送信回線・ポート情報取得手段と、スイッチを介して送信先情報付加パケットが入力されたとき、このパケットがマルチキャスト転送するパケットであるか否かを判別するパケット種別判別手段と、送信回線・ポート情報取得手段が取得した送信回線情報あるいは送信ポート情報が示す送信回線あるいは送信ポートごとにこの送信先情報付加パケットのパケットがパケット種別判別手段によってマルチキャスト転送するパケットであると判別されたときこのパケットをコピーして送出する送信パケット送出手段と、複数の送信回線あるいは複数の送信ポートとを備えたパケット送信装置とをパケット処理システムに具備させる。
【0019】
すなわち請求項4記載の発明では、パケットの受信処理を行うパケット受信装置と、パケットの送信処理を行うパケット送信装置と、パケットの宛先の解決を行う宛先解決装置がそれぞれスイッチに接続されている。パケット受信装置は、受信回線あるいは受信ポートから入力したパケットの送信処理を行うパケット送信装置に、そこからのパケットを送出する数に関わらず1つずつコピーしたパケットを転送するようになっている。パケットを転送されたパケット送信装置は、スイッチを介して送信先情報付加パケットが入力されたとき、パケット種別判別手段でこのパケットがマルチキャスト転送するパケットであるか否かを判別するようになっている。そして、パケット種別判別手段によってマルチキャスト転送するパケットであると判別されたとき、各送出先に対応した数のパケットのコピーを作成して送出するようになっている。このように、分散してコピーを行うことでスイッチを介してパケット受信装置からパケット送信装置に転送するパケットの量を抑えることができるようになっている。また、このようなコピーの分散を行うために必要な情報は宛先要求情報に対する宛先解決情報として、宛先解決装置からパケット受信装置に返送された後、送信先情報としてパケットと共にパケット送信装置に転送されるようになっている。これによって、実際にパケットを送信するパケット送信装置の数に関わらず、スイッチを介して宛先解決装置が受け取る宛先要求情報の数は変わらないことになる。したがって、受信したパケットをマルチキャスト転送で複数の送信回線あるいは送信ポートに送出する場合でも、スイッチを介して宛先要求情報およびパケットの転送を行う負荷を軽減することができるパケット処理システムを得ることができる。
【0020】
請求項5記載の発明では、請求項1または請求項4記載のパケット処理システムで、宛先要求情報作成手段は、パケット入力手段が入力したパケットからその宛先を判別するための情報を抜き出してこのパケットの宛先の判別を要求する宛先要求情報を作成することを特徴としている。
【0021】
すなわち請求項5記載の発明では、外部に配置された宛先解決装置に転送される宛先要求情報の長さについて考慮したものである。パケットに格納されているデータの多くは、このパケットの宛先を判別するための情報ではない場合があり、このような情報は宛先要求情報には含まなくてもよいことを示している。すなわち、判別の対象となるパケットの長さに依存しない長さの宛先要求情報を作成してよいことを示している。この宛先要求情報には、入力したパケット以外から取得した宛先を判別するための情報を組み込んでもよく、この場合でもパケット以外から取得するため、パケットの長さには依存しないことになる。したがって、宛先解決装置を外部に設ける場合これに宛先要求情報を転送する処理の負荷を、パケット全体を含んで転送する場合と比較して軽減させることができる。
【0022】
【発明の実施の形態】
【0023】
【実施例】
以下実施例につき本発明を詳細に説明する。
【0024】
図1は本発明の一実施例におけるパケット処理システムとしてのパケット処理装置の構造を表わしたものである。パケット処理装置211には、各種回線メディアを終端しパケットの送受信を行う回線インタフェース装置としての第1〜第N(Nは2以上の整数。)の回線インタフェース処理部2121〜212Nと、パケットヘッダの加工およびパケットのヘッダ情報からパケットの宛先を決定する宛先解決装置としての第1〜第M(Mは2以上の整数。)の宛先解決処理部2131〜213Mが備えられている。このように、パケット処理装置211では、パケットの宛先を解決する宛先解決処理部213が、パケットを送受信する回線インタフェース処理部212から独立した構成になっている。これら第1〜第Nの回線インタフェース処理部2121〜212Nおよび第1〜第Mの宛先解決処理部2131〜213Mは、それぞれスイッチ処理部214に接続されており、これを介してページとよばれる特定のフォーマットに加工されたデータの転送が可能になっている。
【0025】
本実施例では、第1〜第Nの回線インタフェース処理部2121〜212Nには、それぞれK(Kは2以上の整数。)本ずつの回線が接続されていて、これらを通じて他の通信端末とパケットの送受信が行われている。第1の回線インタフェース処理部2121には回線21511〜2151Kが接続されていて、これらに対応してパケットの入出力を行うポート21611〜2161Kが備えられている。同様にして、第Nの回線インタフェース処理部212Nには回線215N1〜215NKが接続されていて、これらに対応してパケットの入出力を行うポート216N1〜216NKが、それぞれ備えられている。また、第1〜第Mの宛先解決処理部2131〜213Mには、パケットの対応した宛先を示す情報を記憶する第1〜第Mの宛先対応テーブル2171〜217Mと、これを基にしてパケットの宛先を解決しこれを示す情報を作成する第1〜第Mの宛先解決情報作成部2181〜218Mが、それぞれ備えられている。更に、パケット処理装置211には、CPU(中央演算処理装置)およびROM(リード・オンリ・メモリ)等の所定のプログラムを格納した記憶媒体を備えた図示しない制御部が配置されている。このCPUが記憶媒体に格納されているプログラムに従った処理を行うことで、パケット処理装置211の制御が行われている。このようなパケット処理装置211は、パケットの転送処理を行うルータ装置として、インターネット網などの通信ネットワークで用いられることが多い。
【0026】
図2は、図1に示したパケット処理装置が設けられている通信ネットワークの一例を表わしたものである。通信ネットワーク220には、パケット処理装置211と、パケットの送受信を行う通信端末22112〜221NKと、マルチキャストパケットの送信を行うマルチキャストパケット送信端末222が配置されている。パケット処理装置211は、回線21512〜215NKを介して、パケットの送受信を行う通信端末22112〜221NKと接続されている。また、パケット処理装置211は、回線21511を介してマルチキャストパケット送信端末222と接続されている。ここでは単純化した例として、パケット処理装置211にパケットの宛先となる各端末が直接接続されているが、実際にはこれらの端末は最終的なパケットの宛先となる図示しない端末に向けてパケットの転送を行うルータ装置であってもよい。これら各通信端末22112〜221NKとマルチキャストパケット送信端末222はパケット処理装置211と協働して、宛先を1つだけ指定したアドレスを組み込んだパケットの送受信であるユニキャスト転送を実現するようになっている。
【0027】
またマルチキャストパケット送信端末222は、パケット処理装置211と協働して、マルチキャストパケット送信端末222から他の通信端末22112〜221NKへのマルチキャスト転送を実現するようになっている。マルチキャストパケット送信端末222は、各通信端末に同じ資料や画像または音を送信する際に、各通信端末への共通の宛先としてのマルチキャスト用のアドレスと一緒にパケットに組み込んで、パケット処理装置211へ送信するようになっている。パケット処理装置211は、このようなマルチキャスト用のアドレスが組み込まれたパケットを受信するとこれを基にして、個々の宛先となる通信端末22112〜221NKそれぞれへ受信したパケットをコピーして送信するようになっている。
【0028】
再び図1に示したパケット処理装置211の説明を行う。パケット処理装置211のスイッチ処理部214は、第1〜第Nの回線インタフェース処理部2121〜212Nの間でデータの転送を行う際の、転送元と転送先の組み合わせの切り替えを行うようになっている。これは第1〜第Nの回線インタフェース処理部2121〜212Nと第1〜第Mの宛先解決処理部2131〜213Mの間および第1〜第Mの宛先解決処理部2131〜213Mの間でデータの転送を行う際も同様である。また、スイッチ処理部214を介してデータの転送を行う際には、ページと呼ばれる固定長のデータを単位として転送が行われる。スイッチ処理部214は、転送元と転送先を1つずつ指定された場合のデータ転送の効率を上げるために、転送元と転送先の双方が異なる組み合わせの場合には、複数の組み合わせでデータの転送が同時に行えるようになっている。したがって、ある転送元から複数の転送先へ同じページを同時に転送することは、組み合わせの転送元が重複してしまうために行えない。このため、ある転送元から複数の転送先へ同じページを送信する際には、転送元は転送先を1つずつ指定して順にデータを転送する。スイッチ処理部214は、転送元のページ転送要求に対して、データ転送を可能と判別した場合、転送元へページ転送許可を送信し、転送先へページ転送通知を送信するようになっている。
【0029】
本実施例のパケット処理装置211は、以上説明したようなスイッチ処理部214へ接続されたパケットに対する各種処理を行う各種処理部が協働して、パケットのユニキャスト転送またはマルチキャスト転送の処理を行うようになっている。本実施例では、パケットの送受信を行う第1〜第Nの回線インタフェース処理部2121〜212Nと、パケットの宛先を判別する宛先解決処理を行う第1〜第Mの宛先解決処理部2131〜213Mが、それぞれスイッチ処理部214へ接続されている。このように、回線インタフェース処理部212から宛先解決処理部213を独立させることによって、宛先解決処理の負荷に応じて宛先解決処理部213の数を増減したり、宛先解決処理部213自体の規模を回線インタフェース処理部212と無関係に自由に設定することができるようになっている。また、スイッチ処理部214に接続されたこれら各処理部には、それぞれをパケット処理装置211内で識別する情報であるカード番号が割り振られるようになっており、ページの転送先を指定する場合などに使用されるようになっている。
【0030】
パケット処理装置211の図示しない制御部は、受信したパケットに組み込まれている送信先アドレスと、受信した回線インタフェース処理部およびポートの組み合わせに対して、パケット処理装置211内で使用する値である出力識別番号を重複しないように割り当てるようになっている。第1〜第Mの宛先対応テーブル2171〜217Mには、これら組み合わせと出力識別番号の関連を記憶した出力識別番号対応表が備えられており、これを検索することで出力識別番号を取得するようになっている。また、出力識別番号に関連してパケットを出力する送信ポートが存在する回線インタフェース処理部を示すカード番号を記憶したカード番号対応表も備えられている。マルチキャスト転送に対応してこの出力識別番号に関連するカード番号が複数存在する場合には、それら全てがこのカード番号対応表に記憶されるようになっている。第1〜第Nの回線インタフェース処理部2121〜212Nには、出力識別番号とその回線インタフェース処理部からパケットを出力する物理的または論理的な送信ポートの関連を記憶した送信ポート対応表が備えられている。マルチキャスト転送に対応してこの出力識別番号に関連するポートが複数存在する場合には、それら全てがこの送信ポート対応表に記憶されるようになっている。この送信ポート対応表については後でも説明を行う。パケット処理装置211の図示しない制御部は、パケット処理装置211が転送処理するパケットに組み込まれる送信先アドレスと、このパケットを出力するポートの関連を解析して予め各対応表を作成するようになっている。すなわち、本実施例のパケット処理装置211では、受信するパケットを出力するポートは、予め定められている。作成されたこれら対応表は、図示しない制御部から第1〜第Mの宛先解決処理部2131〜213Mの第1〜第Mの宛先対応テーブル2171〜217Mおよび第1〜第Nの回線インタフェース処理部2121〜212Nの送信ポート対応表へそれぞれ配布されるようになっている。
【0031】
次に、パケット処理装置211に入力されたパケットの宛先を解決する宛先解決処理部についての説明を行う。なお、第1〜第Mの宛先解決処理部2131〜213Mは同様の宛先解決処理を行うので、ここでは第1の宛先解決処理部2131と代表的な第1の回線インタフェース処理部2121についてのみ説明を行う。第1の宛先解決処理部2131は、第1の回線インタフェース処理部2121から受信したパケットの宛先の判別を要求する宛先解決情報が入力されると、この情報から第1の宛先対応テーブル2171に備えられた出力識別番号対応表とカード番号対応表を検索し、パケットを宛先へ出力するポートを示す出力識別番号と装置内でのパケットの転送先を示すカード番号を取得する。そして第1の宛先解決情報作成部2181で、これら出力識別番号とカード番号を組み込んだ転送指示である宛先解決情報を作成し、宛先要求情報を入力した第1の回線インタフェース処理部2121へ返送するようになっている。また、送信先アドレスがマルチキャスト用のアドレスのとき、1つ以上のカード番号を取得する場合がある。この場合は、取得したカード番号ごとにそれぞれ転送指示である宛先解決情報を作成し、宛先要求情報を入力した回線インタフェース処理部へ順に返送するようになっている。このとき、作成するそれぞれの転送指示には、例えば2つのカード番号を取得していれば値“2”のように、取得したカード番号の数をマルチキャスト数として組み込むようになっている。また第1の宛先解決処理部2131は、入力されたヘッダ情報を更新するようになっていて、たとえばパケットがネットワーク内でループし続けないように、パケットのヘッダ情報に含まれるTTL(Time To Leave:生存時間)の減算処理に伴う更新を行う。更新されたヘッダ情報は、転送指示と共に宛先要求情報を入力した第1の回線インタフェース処理部2121へ、返送するようになっている。
【0032】
図3は、図1に示した第1の回線インタフェース処理部の概要を表わしたものである。第1の回線インタフェース処理部2121は、パケットを受信し、このパケットの宛先の判別を要求する宛先要求情報を作成するパケット受信部3011と、入力された宛先解決情報に従ってパケットの送信を行うパケット送信部3021を備えており、パケット受信部3011とパケット送信部3021は経路3031で接続されている。また、第1の回線インタフェース処理部2121はポート接続部3041を備えており、回線21511〜2151Kがポート21611〜2161Kにそれぞれ接続されている。
【0033】
ポート接続部3041とパケット受信部3011は、ポート21611〜2161Kにそれぞれ対応したポート30511〜3051Kで接続されている。更に、ポート接続部3041とパケット送信部3021は、ポート21611〜2161Kにそれぞれ対応したポート30611〜3061Kで接続されている。ポート21611〜2161Kから受信したパケットは、パケット受信部3011へそれぞれ対応するポート30511〜3051Kを介して入力されるようになっている。またパケット送信部3021からポート接続部3041へポート30611〜3061Kを介して出力されたパケットは、それぞれ対応するポート21611〜2161Kから送信されるようになっている。本実施例では、ポートを送信と受信に分けてそれぞれ設けられているが、これらを分けずに送受信に使用できるものが設けられていてもよい。
【0034】
第1の回線インタフェース処理部2121は、スイッチ処理部214を介するページ転送の方向ごとにパケット受信部3011とパケット送信部3021に処理を分けることで、ページ転送処理の効率化を図っている。すなわち、パケット受信部3011はスイッチ処理部214を介してページに加工されたデータの送信を行うようになっているが、スイッチ処理部214からページの受信は行えないようになっている。また、パケット送信部3021は逆にスイッチ処理部214を介してページの受信を行うようになっているが、スイッチ処理部214にページの送信は行えないようになっている。パケット受信部3011がスイッチ処理部214を介してページを受信する場合には、いったんパケット送信部3021がスイッチ処理部214から受信したページを、経路3031を介して転送するようになっている。次に、これらパケット受信部3011とパケット送信部3021について、詳細に説明を行う。
【0035】
図4は、図3に示した第1の回線インタフェース処理部2121のパケット受信部を表わしたものである。パケット受信部3011には、パケットの記憶および管理を行うための各種メモリと、パケットの処理を行う各種制御部とが備えられている。各種メモリとしてパケット受信部3011には、パケットを所定長以下に分割したページ単位で記憶するパケットメモリ3111が備えられている。また、パケットメモリ3111内のアドレスリンクを記憶するパケットリンクメモリ3121と、パケットメモリ3111の使用可能な記憶領域を記憶するフリーリストメモリ3131とが備えられている。ここでアドレスリンクとは、パケットメモリ3111内の記憶領域同士のつながりを表わしたものである。更に、パケットメモリ3111に格納されているページのマルチキャストでのコピー数をページ単位で記憶するソースマルチキャストメモリ3141が備えられている。
【0036】
また各種制御部としてパケット受信部3011には、パケットメモリ3111、パケットリンクメモリ3121、フリーリストメモリ3131、ソースマルチキャストメモリ3141それぞれとデータバスおよび制御線で接続され、パケットメモリ3111に対してのページ単位での書き込みおよび読み出しに関する制御を行うアクセス制御部3151が備えられている。また、アクセス制御部3151へページ書き込み要求を行うパケットライト制御部3161と、アクセス制御部3151へページ読み出し要求を行うパケットリード制御部3171とが備えられている。更に、パケットライト制御部3161には、ポート30511〜3051Kから入力されたパケットのスイッチ処理部214を介した最初の転送先の選択を行う転送先選択部3181が備えられている。
【0037】
アクセス制御部3151は、書き込み要求および読み出し要求に対応したパケットメモリ3111へのページ単位の書き込みおよび読み出し処理またはこれらのためのアドレス制御を行うようになっている。また、パケットメモリ3111に格納したページをパケット単位で扱うために、ページを格納した領域を示すアドレスのつながりをアドレスリンクとして、パケットリンクメモリ3121を用いて管理するようになっている。更に、パケットメモリ3111の中でページを格納可能な記憶領域を示す空きアドレス(フリーアドレス)を、フリーリストメモリ3131およびソースマルチキャストメモリ3141を使用して管理するようになっている。アクセス制御部3151は、パケットリード制御部3171からページ転送要求を受信すると、これに従って読み出したページを転送するようになっている。このとき、ページの転送先はパケットリード制御部3171によってスイッチ処理部214に指定されているため、アクセス制御部3151はスイッチ処理部214に対してページを転送するだけでよいようになっている。
【0038】
パケットライト制御部3161は、ポート30511〜3051Kを収容し、これらから受信したパケットをページに分割する。そして、このページと書き込み要求であるライトコマンドおよびライトアドレスをアクセス制御部3151に送信するようになっている。また、このライトアドレスに使用するフリーアドレスを取得するために、フリーアドレス要求をアクセス制御部3151に送信し、これに対応してアクセス制御部3151から通知されるフリーアドレスを取得するようになっている。また、パケット送信部3021からページがパケットライト制御部3161に転送されてきた場合は、同様に書き込み要求を行うようになっている。転送先選択部3181は、パケットメモリ3111へのパケットを構成する一連のページの書き込み要求が終了すると、パケット処理装置211内での次の転送先を選択する。そして、この転送先を示すカード番号と格納したページに関する読み出し用の情報とが組み込まれたパケットオブジェクトを作成する。作成されたパケットオブジェクトは、パケットリード制御部3171へ送信するようになっている。ここでは、ポート30511〜3051Kから受信したパケットに対して作成されたパケットオブジェクトに組み込むカード番号は、たとえば第1の宛先解決処理部2131を示すカード番号であり、転送先選択部3181によって予め選択されているものとする。また、スイッチ処理部214からパケット送信部3021を介してパケット受信部3011がページを受信する際には、パケットライト制御部3161はパケット送信部3021からのページの受信と、これを受信するためのページ転送情報の送受信をパケット送信部3021と行うようになっている。
【0039】
パケットリード制御部3171は、パケットオブジェクトをパケットライト制御部3161から受信すると、これに組み込まれているカード番号を転送先として、スイッチ処理部214に対してページ転送要求を送信するようになっている。また、スイッチ処理部214から転送先に対するページ転送許可を受信すると、パケットリード制御部3171は、パケットメモリ3111からのページの読み出し要求であるページ転送要求をアクセス制御部3151に送信する。アクセス制御部3151は、ページ転送要求を受信すると、スイッチ処理部214を介してカード番号が示す転送先へページを転送するようになっている。パケットオブジェクトには、宛先解決処理部にページを転送する宛先解決パケットオブジェクトや、パケット処理装置からパケットを出力する回線インタフェース処理部にページを転送する転送パケットオブジェクト等の幾つかの種類がある。パケットリード制御部3171は、このパケットオブジェクトを用いて、ページ単位に転送されるスイッチ処理部214を介した転送処理を、パケット単位の処理として制御するようになっている。
【0040】
図5は、図3に示した第1の回線インタフェース処理部2121のパケット送信部を表わしたものである。パケット送信部3021には、パケットの記憶および管理を行うための各種メモリと、パケットの処理を行う各種制御部とが備えられている。各種メモリとしてパケット送信部3021には、パケットをページ単位で格納するパケットメモリ3311が備えられている。また、パケットメモリ3311のアドレスリンクを記憶するリンクメモリ3321と、パケットメモリ3311のフリーアドレスとページ単位でのマルチキャストカウント数を記憶するアカウントメモリ3331とが備えられている。リンクメモリ3321は、パケットがページに分割された際のページ同士のアドレスリンクおよびページの格納が可能なアドレスリンクの両方を記憶する。更に、マルチキャストカウント数を保存するユーザ設定メモリであるデスティネーションメモリ3341が備えられている。
【0041】
また、各種制御部としてパケット送信部3021には、パケットメモリ3311、リンクメモリ3321、アカウントメモリ3331、デスティネーションメモリ3341それぞれとデータバスおよび制御線で接続され、パケットメモリ3311に対してページ単位での書き込みおよび読み出しに関する制御を行うアクセス制御部3351が備えられている。更に、アクセス制御部3351へページ書き込み要求を行うパケットライト制御部3361と、アクセス制御部3351へページ読み出し要求を行うパケットリード制御部3371とが備えられている。また、パケットリード制御部3371には、出力識別番号とこれに関連したパケットを出力する物理的または論理的な送信ポートを記憶した送信ポート対応表3381が備えられている。スイッチ処理部214から受信したページをパケット受信部3011へ送信する際には、アクセス制御部3351はパケット受信部3011へページを送信する。パケットライト制御部3361、パケットリード制御部3371はそれぞれページを送信するためのページ転送情報の送受信をパケット受信部3011と行うようになっている。
【0042】
アクセス制御部3351は、書き込み要求および読み出し要求に対応したパケットメモリ3311へのページ単位の書き込みおよび読み出し処理、またはこれらのためのアドレス制御を行うようになっている。また、パケットメモリ3311に格納したページをパケット単位で扱うため格納した領域を示すアドレスおよびページが格納可能である領域を示す空きアドレスのリンクを、リンクメモリ3321を用いて管理するようになっている。更に、パケットメモリ3311のフリーアドレスおよび格納されているページごとのマルチキャストカウント数を、アカウントメモリ3331を使用して管理するようになっている。
【0043】
パケットライト制御部3361は、スイッチ処理部214からページ転送通知を受信すると、アクセス制御部3351へフリーアドレス要求を送信し、アクセス制御部3351からフリーアドレスを受信する。スイッチ処理部214を介してページを受信すると、取得したフリーアドレスをライトアドレスとしてライトコマンドと共にアクセス制御部3351へ送信するようになっている。このときページの送信元となる回線インタフェース処理部212あるいは宛先解決処理部213をライトコマンドと共に送信する。これはページを格納するパケットメモリ3311が不足した場合に、送信元にページを送り返すバックプレッシャー制御に使用するためである。受信したページが、宛先解決パケットページである場合には、ライトアドレスを送信した後作成した宛先解決パケットオブジェクトを、パケット受信部3011のパケットライト制御部3161(図4)へ送信する。また受信したページが、転送パケットページである場合には、パケットを構成するページの格納が全て終了すると、このパケットにアクセスするための情報を格納したパケットオブジェクトを作成し、パケットリード制御部3371へ送信する。宛先解決パケットページと転送パケットページのどちらであるかは、受信したページに組み込まれているページの種別を表わす情報であるページ種別を参照することで判別する。転送パケットページを受信した場合は、パケットオブジェクトを作成するのに必要な情報以外を、受信後廃棄するようになっている。
【0044】
パケットリード制御部3371は出力識別番号が格納されているパケットオブジェクトを受信すると、デスティネーションメモリ3341の出力識別番号に該当するデータにアクセスしてマルチキャスト数を示す値を取得する。この取得したマルチキャスト数だけパケットオブジェクトをコピーする。また、この出力識別番号で送信ポート対応表3381を検索し、取得した出力すべきポート情報から、異なるポート情報を1つずつコピーしたパケットオブジェクトに組み込むようになっている。この後、コピーしたパケットオブジェクトごとにパケットメモリ3311からのページ読み出し要求であるページリードコマンドをアクセス制御部3351に送信する。アクセス制御部3351は、ページリードコマンドを受信すると、ページをパケットリード制御部3371へ送信するようになっている。パケットリード制御部3371は受け取ったページからパケットを再生しポート情報が示すポート30611〜3061Kのいずれかから送信するようになっている。また、パケット受信部3011のパケットライト制御部3161からページの転送要求があった場合には、これに対応してアクセス制御部3351へページリードコマンドを送信して、パケットライト制御部3161へページを送信させるようになっている。
【0045】
以上では、図1に示したパケット処理装置211に配置された第1の回線インタフェース処理部2121の構造について詳細な説明を行ったが、第1〜第Nの回線インタフェース処理部2121〜212Nは同様の構造を持っている。次に、第1の回線インタフェース処理部2121に備えられた各種メモリを用いて、パケット処理装置211がパケットをページ単位で格納する処理について説明を行う。ここでは、ページを格納可能な記憶領域の管理と、ページの格納と、格納されたページ同士の前後の繋がりがどのように管理されているかを、パケット受信部3011とパケット送信部3021に備えられている各種メモリを用いて説明する。
【0046】
各種メモリの説明に使用する用語について説明する。メモリは記憶媒体を指していて、この内部は任意の数のデータを記憶する記憶領域に区切られている。アドレス識別子は、この区切られた記憶領域を固有に識別する識別情報である。また、アドレス領域はこれらのアドレス識別子が割り振られている記憶領域を指している。更に、空きアドレス領域とはデータが格納されていないアドレス領域ではなく、データを格納するために使用可能であるアドレス領域を指している。フリーアドレスはこの空きアドレス領域を指すアドレス識別子である。
【0047】
図6は図4に示したパケット受信部に配置された各メモリ内部の構成と初期値を対比して表わしたものである。パケット受信部3011に配置されたパケットメモリ3111、フリーリストメモリ3131、ソースマルチキャストメモリ3141およびパケットリンクメモリ3121は内部に同じアドレス識別子“a0〜an”で表わされる(n+1)個のアドレス領域がそれぞれ設けられている。パケットメモリ3111、パケットリンクメモリ3121には初期状態で全てのアドレス領域に何も格納されないようになっている。ソースマルチキャストメモリ3141には全てのアドレス領域に値“0”が格納されるようになっている。フリーリストメモリ3131はパケットメモリ3111の空きアドレス領域とその順番を示すようになっていて、それぞれのアドレス領域には次に続くアドレス領域を示すアドレス識別子が格納されるようになっている。
【0048】
図6は初期状態を示しているので、パケットメモリ3111の全てのアドレス領域は空きアドレス領域となる。したがって、フリーリストメモリ3131には、アドレス識別子を示す値“a1〜an”までが順番に、アドレス識別子“a0〜an-1”が指すアドレス領域に格納されている。また、アドレス識別子“an”が指すアドレス領域には、なにも格納されていない。ここでは、アドレス識別子相互の順序関係に従って順番に格納されているが、必ずしもこの順番に格納する必要はない。すなわち、アドレス識別子“a2”、“a1”、“a3”、…“an”が示す順番で格納しても構わない。
【0049】
ソースマルチキャストメモリ3141のアドレス領域にそれぞれ格納されている値は、パケットメモリ3111の同じアドレス識別子が指すアドレス領域に格納されたページがアクセス制御部3151に読み出されるたび、“1”ずつ減算されるようになっている。この領域に格納される値はパケットメモリ3111の同じアドレス識別子が指す領域に格納されたページを送信する送信先の数から“1”減算したものであり、送信先が1つであれば値“0”が、送信先が7つであれば値“6”が格納されるようになっている。ソースマルチキャストメモリ3141の値“0”が格納されているアドレス領域を示すアドレス識別子が、パケットメモリ3111で示すアドレス領域は、空きアドレス領域として使用されるようになっている。したがって、複数の転送先へページを送信する場合には、このソースマルチキャストメモリ3141のアドレス領域に格納される値が“0”になるまで、アクセス制御部3151はパケットメモリ3111からの該当するページの読み出しを行うことができる。
【0050】
図7は、図6に示したフリーリストメモリとソースマルチキャストメモリを用いたパケットメモリのフリーアドレスを管理する処理について表わしたものである。パケット受信部3011のフリーリストメモリ3131には、フリーリストとしてパケットメモリ3111のフリーアドレス同士のリンクが表わされている。フリーアドレス同士のリンクは、格納されたフリーアドレスをアドレス識別子として、これが指すフリーリストメモリ3131のアドレス領域に、まだフリーリストに格納されていないフリーアドレスを格納して作成するようになっている。このときパケット受信部3011のソースマルチキャストメモリ3141のアドレス領域にはそれぞれ初期値が格納されている。パケット受信部3011のアクセス制御部3151は、アクセス制御部3151内で保持するフリーヘッドポインタ401とフリーテールポインタ402の値を利用して、フリーリストの更新を行うようになっている。フリーヘッドポインタ401はこのフリーリストの先頭のアドレス識別子を示す値を保持し、フリーテールポインタ402はこのフリーリストの最後のアドレス識別子を示す値を保持するようになっている。図7では、フリーヘッドポインタ401には値“a0”が、フリーテールポインタ402には値“an”がそれぞれ保持されている。
【0051】
図8は、図7に示したフリーヘッドポインタで保持されている値が更新される処理を表わしたものである。図8で図7と同一の部分には同一の符号を付しており、これらの説明を適宜省略する。パケット受信部3011のパケットライト制御部3161から空きのページアドレスの更新要求を受信すると、アクセス制御部3151は、フリーヘッドポインタ401に保持されている値の更新処理を行う。フリーヘッドポインタ401の更新処理は、まず、フリーヘッドポインタ401で保持されている値“a0”をアドレス識別子として、フリーリストメモリ3131のアドレス領域403をリードして、格納されている値“a1”を取得する。この値は、次のリンクのフリーアドレス“a1”と一致している。この値“a1”を新しいフリーヘッドポインタ401の値として更新および保持する。パケットライト制御部3161からの空きのページアドレスの更新要求は、たとえば、パケットライト制御部3161からアクセス制御部3151へフリーアドレス要求が送信された場合に送られる。
【0052】
図9は、図8に示したフリーテールポインタで保持されているアドレス識別子が更新される処理を表わしたものである。図9で図8と同一の部分には同一の符号を付しており、これらの説明を適宜省略する。パケットリード制御部3171から、特定のアドレス識別子404を示す値“a0”のフリーリストへの追加要求を受信するとアクセス制御部3151は、フリーテールポインタ402の更新処理を行う。フリーテールポインタ402の更新処理は、まずソースマルチキャストメモリ3141のアドレス識別子“a0”で示されるアドレス領域405をリードして、格納されている値が値“0”であれば、フリーリストに追加しても良いと判定する。フリーリストに追加する場合、フリーテールポインタ402に格納されている値“an”をライトアドレスとして、これをアドレス識別子として示すフリーリストメモリ3131のアドレス領域406にアドレス識別子404を示す値“a0”をライトする。更に、フリーテールポインタ402は、値“a0”に更新し保持する。この後フリーテールポインタ402が示すフリーリストメモリ3131のアドレス領域407に格納されている値を削除し、何も格納されていない状態に更新する。
【0053】
図10は、図6に示すパケットメモリの領域にパケットを分割したページを格納する場合にパケットリンクメモリが更新される処理を表わしたものである。パケットライト制御部3161内部の図示しない一時記憶領域には、リンクヘッドポインタ411の値とリンクテールポインタ412の値がそれぞれ記憶されている。これらの領域には、初期時には何も記憶されていない。パケットライト制御部3161はパケットを受信すると、まずアクセス制御部3151からフリーアドレス413を取得して図示しない一時記憶領域に保持する。このフリーアドレス413は、図7に示したアクセス制御部3151のフリーヘッドポインタ401が保持している値であり、フリーアドレス413が取得されるとアクセス制御部3151は、図8で説明したフリーヘッドポインタ401の更新処理を行うようになっている。なお、この図では、フリーアドレス413として更新処理を行った後の値“a1”を取得している。このフリーアドレス413の取得はパケットを受信してからでは処理に遅延が発生するので、受信前に予め取得しておくことが望ましい。
【0054】
パケットライト制御部3161はリンクヘッドポインタ411とリンクテールポインタ412の値を取得したフリーアドレス413の値にそれぞれ更新する。ただし、リンクヘッドポインタ411の更新を行うのは、これに値が何も記憶されていない場合である。このときアドレス識別子を示す値を格納する領域を2つ持ったライトアドレス414を用意して、リンクテールポインタ412の更新前の値と、更新後の値をそれぞれ格納する。ここでは説明上、リンクテールポインタ412の更新前の値を格納した領域を第1のアドレス領域415、更新後の値を格納した領域を第2のアドレス領域416とする。したがって、図10では第1のアドレス領域415にはアドレス識別子を示す値は格納されず、第2のアドレス領域416にはアドレス識別子を示す値“a1”が格納される。
【0055】
次にパケットライト制御部3161は、受信したパケットをページ単位に分割した先頭ページと、このライトアドレス414と、ライトコマンドをアドレス制御部3151へ送信する。アドレス制御部3151はライトコマンドを受信すると、ライトアドレスが有効か否かと、このリンクアドレスが、ライトアドレスと関連し、有効であるか否かを判別するようになっている。これらを受け取ったアドレス制御部3151は、まずライトアドレス414の第2のアドレス領域416に格納された値“a1”をアドレス識別子としたときパケットメモリ3111の該当するアドレス領域に先頭ページを格納する。また、ライトアドレス414の第1のアドレス領域415にはアドレス識別子が格納されていないので、第2のアドレス領域416に格納された値“a1”をアドレス識別子としたときパケットリンクメモリ3121の該当するアドレス領域417に値“0”を格納する。値“0”が格納されているパケットリンクメモリ3121のアドレス領域を示すアドレス識別子は、あるパケットを分割したときの最終ページが格納されているパケットメモリ3111のアドレス領域を示すアドレス識別子と同一である。
【0056】
図11は図10で説明した処理の後に続けてページがパケットメモリに格納される場合に、パケットリンクメモリが更新される処理を表わしたものである。図11で図10と同一の部分には同一の符号を付しており、これらの説明を適宜省略する。まず、パケットライト制御部3161が取得したフリーアドレス413の値を取得し、リンクテールポインタ412の値を更新する。図11では、フリーアドレス413の値は値“a3”であり、リンクテールポインタ412の値は値“a1”から値“a3”に更新される。したがって、ライトアドレス414の第1のアドレス領域415には値“a1”が、第2のアドレス領域416には値“a3”が格納されている。図10で説明したと同様に格納するページと、ライトアドレス414と、ライトコマンドを受け取ったアドレス制御部3151は第2のアドレス領域416に格納されている値“a3”をアドレス識別子として示すパケットメモリ3111のアドレス領域にページを格納する。次に、送信されたライトアドレス414の第1のアドレス領域415に、値が格納されているので、これをアドレス識別子として示すパケットリンクメモリ3121のアドレス領域417に第2のアドレス領域416に格納されている値“a3”を格納する。更に第2のアドレス領域416に格納されている値“a3”をアドレス識別子として示すパケットリンクメモリ3121のアドレス領域418に値“0”を格納する。
【0057】
図12は図11で説明した処理の後に続けてページがパケットメモリに格納される場合に、パケットリンクメモリが更新される処理を表わしたものである。図12で図11と同一の部分には同一の符号を付しており、これらの説明を適宜省略する。まず、パケットライト制御部3161が取得したフリーアドレス413の値を取得し、リンクテールポインタ412の値を更新する。図12では、フリーアドレス413の値は値“a5”であり、リンクテールポインタ412の値は値“a3”から値“a5”に更新される。したがって、ライトアドレス414の第1のアドレス領域415には値“a3”が、第2のアドレス領域416には値“a5”が格納されている。図10で説明したと同様に格納するページと、ライトアドレス414と、ライトコマンドを受け取ったアドレス制御部3151は第2のアドレス領域416に格納されている値“a5”をアドレス識別子として示すパケットメモリ3111のアドレス領域にページを格納する。次に、送信されたライトアドレス414の第1のアドレス領域415に、値が格納されているので、これをアドレス識別子として示すパケットリンクメモリ3121のアドレス領域418に第2のアドレス領域416に格納されている値“a5”を格納する。更に第2のアドレス領域416に格納されている値“a5”をアドレス識別子として示すパケットリンクメモリ3121のアドレス領域419に値“0”を格納する。
【0058】
図13は図12で説明した処理の後に続けて最終ページがパケットメモリに格納される場合に、パケットリンクメモリが更新される処理を表わしたものである。図13で図12と同一の部分には同一の符号を付しており、これらの説明を適宜省略する。まず、パケットライト制御部3161が取得したフリーアドレス413の値を取得し、リンクテールポインタ412の値を更新する。図12では、フリーアドレス413の値は値“a7”であり、リンクテールポインタ412の値は値“a5”から値“a7”に更新される。したがって、ライトアドレス414の第1のアドレス領域415には値“a5”が、第2のアドレス領域416には値“a7”が格納されている。
【0059】
ここで図10で説明したと同様に格納するページと、ライトアドレス414およびライトコマンドを受け取ったアドレス制御部3151は、第2のアドレス領域416に格納されている値“a5”をアドレス識別子として示すパケットメモリ3111のアドレス領域にページを格納する。次に、送信されたライトアドレス414の第1のアドレス領域415に、値が格納されているので、これをアドレス識別子として示すパケットリンクメモリ3121のアドレス領域419に第2のアドレス領域416に格納されている値“a7”を格納する。更に第2のアドレス領域416に格納されている値“a7”が示すパケットリンクメモリ3121のアドレス領域420に値“0”を格納する。リンクヘッドポインタ411に保持されているアドレス識別子を先頭にして、アドレス識別子が示すパケットリンクメモリ3121のアドレス領域に格納されている値をアドレス識別子として次のアドレス領域に格納されている値を取得することを、値“0”が取得されるまで続けることで、パケットを分割したページがパケットメモリ3111に格納されている順番が確認できる。したがって、図13に示したリンクヘッドポインタ411とパケットリンクメモリ3121からは、パケットメモリ3111のアドレス識別子“a1”、“a3”、“a5”、“a7”で示されるアドレス領域を順番に使用して、1つのパケットを分割したページが格納されていることが確認できる。最終的に、このようなアドレス識別子のリンクであるアドレスリンクが形成されることが分かる。
【0060】
パケットライト制御部3161はパケットを分割した最終ページをアクセス制御部3151へ送信すると、内部の一次格納領域にパケットオブジェクト421を作成し、これをパケットリード制御部3171へ送信する。その際に、パケットオブジェクト421にはパケットの先頭が格納されているアドレス領域を示すアドレス識別子として、リンクヘッドポインタ411が保持しているアドレス識別子を示す値を格納するようになっている。
【0061】
図14は図5に示したパケット送信部内に配置された各メモリ内部の構成とその値を対比して表したものである。パケット送信部3021には、リンクメモリ3321と、アカウントメモリ3331が備えられていて、これらにはパケットリンクメモリ3121(図4)と同じアドレス識別子“a0〜an”で表わされる(n+1)個のアドレス領域がそれぞれ設けられている。リンクメモリ3321は全てのアドレス領域が、ラストビット431と、リンクアドレス432の値を格納するそれぞれのフィールドから構成されている。アカウントメモリ3331も同様に全てのアドレス領域が、フリービット433と、マルチキャストカウント434と、送信元番号435の値を格納するそれぞれのフィールドから構成されている。
【0062】
ラストビット431のフィールドの値は、パケットを分割した最終ページのパケットメモリ3311への格納状態を示すようになっている。詳細には、このラストビット431と同じアドレス領域のリンクアドレス432のフィールドに格納されている値をアドレス識別子として指す、パケットメモリ3311のアドレス領域にパケットを分割した最終ページが格納されているか否かを示すようになっている。ラストビット431のフィールドの値が値“1”の場合は、最終ページが格納されていることを示しており、値“0”の場合は、最終ページが格納されていないことをそれぞれ示す。リンクアドレス432のフィールドに格納されている値は、パケットメモリ3311のアドレス領域の並び順を示すもので、空きアドレス領域とページに分割されたパケットの格納順番を表わすようになっている。フリービット433のフィールドに格納された値は、パケットメモリ3311の空き状態を示すものである。これに値“1”が格納されているアドレス領域を示すのと同じアドレス識別子が示すパケットメモリ3311のアドレス領域は空きアドレス領域であることを示し、値“0”が格納されている場合には空きアドレス領域ではないことを示す。マルチキャストカウント434のフィールドには、パケットメモリ3311の対応するアドレス領域に格納されたページをまだ送信していない送信先の数から“1”を減算した値が格納される。送信元番号435のフィールドには、バックプレッシャー制御に対応したパケットメモリ3311の対応するアドレス領域に格納されたページの転送元を示すカード番号が格納される。このカード番号とは、図1に示した第1〜第Nの回線インタフェース処理部2121〜212N、第1〜第Mの宛先解決処理部2131〜213Mをそれぞれ固有に識別する番号である。
【0063】
初期状態では、ラストビット431、マルチキャストカウント434、送信元番号435のそれぞれのフィールドおよびパケットメモリ3311(図5)の全てのアドレス領域は何も格納されない空きアドレス領域となっている。リンクアドレス432のフィールドには図6に示すフリーリストメモリ3131のようにアドレス識別子がそれぞれ格納され、先頭と最後のアドレスはアクセス制御部3351にフリーヘッドポインタ437とフリーテールポインタ438として保持されるようになっている。リンクアドレス432へのアドレス識別子を示す値の格納方法については、既に図6で説明したフリーリストメモリ3131と同様であるので、ここでは説明を省略する。フリービット433のフィールドには全て値“1”が格納され、パケットメモリの全てが空きアドレス領域であることを示すようになっている。また、パケット送信部3021には、ユーザ設定メモリであるデスティネーションメモリ3341が配置されているが他のメモリとはアドレス識別子が関連せず、出力識別番号に対応してマルチキャストカウントの値が保存されている。このマルチキャストカウントの値とは、パケット送信部3021の内部で、パケットをコピーする回数であるデスティネーションマルチキャスト数を指している。スイッチ処理部214を介して受信したパケットの先頭ページに含まれる出力識別番号が、このメモリをリードする際のアドレス識別子となる。但し、受信したページが宛先解決パケットページと判別された場合には、デスティネーションメモリ3341はリードされないようになっている。
【0064】
図14ではリンクメモリ3321とアカウントメモリ3331を使用して、パケットメモリ3311にページを格納したときにそれぞれ値が格納された状態を表わしている。パケット送信部3021のパケットライト制御部3361内部の図示しない一時格納領域にはパケットヘッドポインタ436の値が記憶されている。パケットヘッドポインタ436にはアドレス識別子を示す値“a0”が記憶されていて、パケットメモリ3311内のこの値をアドレス識別子として示されるアドレス領域にパケットを分割した際の先頭ページが格納されていることになる。このアドレス領域からリンクアドレス432をページの格納順にたどっていくと、アドレス識別子“a2”が示すアドレス領域441にラストビット431として値“1”が格納されている。このとき、このアドレス識別子“a2”が示すアドレス領域にリンクアドレス432として格納されている値“a3”をアドレス識別子として示すパケットメモリ3311のアドレス領域にパケットを分割した最終ページが格納されている。よってパケットヘッドポインタ436、ラストビット431、リンクアドレス432を参照することでアドレス識別子“a0”、“a1”、“a2”、“a3”の順番で示されるパケットメモリ3311のアドレス領域に分割されたページが格納されたことがわかる。
【0065】
アドレス識別子“a0”、“a1”、“a2”、“a3”が示すパケットメモリ3311のアドレス領域にはそれぞれページが格納されているので、フリービット433には、空き領域ではないことを示す値“0”がそれぞれ設定されている。またこれらのアドレス識別子で示されるアドレス領域には、マルチキャストカウント434としてデスティネーションメモリ3341から取得したマルチキャスト数が、送信元番号435には送信元を示すカード番号がそれぞれ格納されるようになっている。一方アクセス制御部3351は、フリーヘッドポインタ437の値とフリーテールポインタ438の値を保持している。パケットライト制御部3361はパケットを分割したページをアクセス制御部3351に全て送信すると、図示しない内部の一時格納領域内に図示しないパケットオブジェクトを作成して、これをパケットリード制御部3371に送信する。その際、このパケットオブジェクトにパケットの先頭が格納されているアドレス領域を示すアドレス識別子の値として、パケットヘッドポインタ436の値を格納する。
【0066】
以上説明したように、パケット処理装置211に受信されたパケットは、所定長のページ単位で管理されるようになっている。ここでは図1に示した第1の回線インタフェース処理部2121に配置された各種メモリについて説明したが、第1〜第Nの回線インタフェース処理部2121〜212Nはそれぞれ同様の構造を持っている。
【0067】
次に、図1に示したスイッチ処理部214を介して転送される各ページのデータ構成を説明する。ページには宛先要求情報を格納する宛先要求パケットページ、宛先解決情報を格納する宛先解決パケットページ、分割したパケットを格納する転送パケットページの3種類が存在する。転送パケットページには、更にパケットのヘッダ部分を格納する先頭ページと、それ以降の部分を所定長以下に分割したものを格納するページの2種類が存在する。
【0068】
図15は宛先要求パケットページのデータ構成を表わしたものである。宛先要求パケットページ501は、このページの用途を示すページ種別502と、このページが連続したページの最後であるか否かを示すラストビット503と、パケットの全体長を示すパケット長504と、パケットが入力された論理ポート番号などを示す入力識別番号505と、パケットが入力された物理ポート番号を示す入力ポート506と、パケットを受信した回線インタフェース処理部を示す入力カード507と、受信したパケットのプロトコル情報を示すパケット種別508と、回線インタフェース内でパケットが格納されているアドレス識別子を示すポインタ情報509と、パケットのヘッダであるパケットヘッダ510とで構成されている。ここで、ページ種別502にはこのページが宛先要求パケットページ501であることを示す情報が組み込まれている。
【0069】
図16は宛先解決パケットページのデータ構造を表わしたものである。図16で図15と同一の部分には同一の符号を付しており、これらの説明を適宜省略する。宛先解決パケットページ521は、ページ種別502と、ラストビット503と、パケット長504と、パケット種別508と、ポインタ情報509と、このパケットを出力する回線インタフェース処理部で出力する際の処理番号を示す出力識別番号522と、このパケットの転送先を示すカード番号である出力カード523と、マルチキャストを行う際にパケットを出力する回線インタフェース処理部の数を示すマルチキャストカウント524と、更新されたパケットヘッダである更新パケットヘッダ525と、このパケットを出力する回線インタフェース処理部内での転送または廃棄のプライオリティ制御に用いるプライオリティ526とで構成されている。ここで、ページ種別502にはこのページが宛先解決パケットページ521であることを示す情報が組み込まれている。また、更新パケットヘッダ525は、図15で示したパケットヘッダ510が更新されたものである。
【0070】
図17はパケットのヘッダ部分を格納する転送パケットページのデータ構造を表わしたものである。図17で図15および図16と同一の部分には同一の符号を付しており、これらの説明を適宜省略する。転送パケットページ531は、ページ種別502と、ラストビット503と、パケット長504と、パケット種別508と、出力識別番号522と、更新パケットヘッダ525と、プライオリティ526とで構成されている。更新パケットヘッダ525以外の予め定められた所定の情報は、転送パケットページのページヘッダの情報となっている。
【0071】
図18はパケットのヘッダ部分以外を格納する転送パケットページのデータ構成を表したものである。転送パケットページ541は、ページ種別502と、ラストビット503と、パケットデータ542とで構成されている。パケットを構成するデータが、パケットデータ542を格納する領域として予め用意された領域に満たない場合には、例えば意味のないデータを余った領域に格納するようになっている。このような場合であっても、パケット長504(図17)の値等を用いることによって、ページからパケットを再生することができるようになっている。転送パケットページ531、541のページ種別502にはこのページが転送パケットページ531、541のいずれかであることを示す情報が組み込まれている。
【0072】
以上で説明したそれぞれのページは同じ固定長となっており、パケットのヘッダ情報のうちで最大長のものが格納できる長さに設定されている。また、パケットを分割した所定長のページとして扱われる場合等には、これらのいずれかと同様の構成、またはこれと異なる予め定められた構成で格納されるようになっている。
【0073】
以上説明したパケット処理装置211(図1)を使用して、パケットのマルチキャスト転送処理をユニキャスト転送処理と比較して説明を行う。これは、ユニキャスト転送とマルチキャスト転送では送信先の数が異なる場合があるが、処理には共通した部分が多いためである。そこで、まず送信先が常に1つであるユニキャスト転送の一例として、図2に示した通信端末22112から、通信端末221NKを宛先としたパケットがパケット処理装置211へ送信された場合について説明を行う。このパケットのヘッダには通信端末221NKを送信先として示すアドレスが格納されている。
【0074】
図19は図1に示したパケット処理装置を使用してパケットのユニキャスト転送処理を行う際の処理の概要を表したものである。第1の回線インタフェース処理部2121はパケットが入力されると(ステップS601)、このパケットのヘッダから宛先要求情報として宛先要求パケットページ501を作成し第1の宛先解決処理部2131に転送する(ステップS602)。第1の宛先解決処理部2131はこの宛先要求パケットページ501に含まれるヘッダを有するパケットの宛先の決定およびヘッダの更新処理を行う。次に、このヘッダ処理を行ったヘッダと出力識別番号と装置内での転送先である出力カードの情報を含んだ宛先解決情報として宛先解決パケットページ521を作成し、第1の回線インタフェース処理部2121へ転送する(ステップS603)。
【0075】
このパケットの宛先は、通信端末221NKであるため、第Nの回線インタフェース処理部212Nのポート216NKから送信されることになる。したがって、出力識別番号は、第Nの回線インタフェース処理部212Nのポート216NKに対応した値であり、出力カードは第Nの回線インタフェース処理部212Nを示す値である。宛先解決パケットページ521を受け取った第1の回線インタフェース処理部2121は出力カードの値が示す第Nの回線インタフェース処理部212Nへ転送パケットページ531、541を用いてパケット全体を転送する(ステップS604)。第Nの回線インタフェース処理部212Nは、パケットを構成する全ての転送パケットページ531、541を受信および格納し、出力識別番号に対応するポート216NKを選択してパケットを出力する(ステップS605)。このようにして、通信端末22112から通信端末221NKへのパケットのユニキャスト転送が完了する。
【0076】
次に、以上説明したパケットのユニキャスト転送について、更に詳細な処理の流れについて説明する。また、この説明後にマルチキャスト転送の処理の流れおよびユニキャスト転送とマルチキャスト転送との処理の違いについて、説明を行う。
【0077】
図20は、図19に示したステップS601の処理を詳細に表わしたものである。パケット受信部3011(図4)のパケットライト制御部3161は、パケットの受信前にアクセス制御部3151へフリーアドレスの要求を行い(ステップS701)、これに対して通知されるフリーアドレスを取得する(ステップS702)。パケットライト制御部3161は、ポート30512(図4)から受信したパケットを分割して、ページと呼ばれる固定長のデータを生成する。このときパケット全体を受信しなくとも、ページを1個生成することが可能なだけ受信した段階でページを生成し、ライトコマンドおよびライトアドレスと共にこの生成したページをアクセス制御部3151へ送信する(ステップS703)。ライトアドレスは、予めアクセス制御部3151から通知され取得したフリーアドレスを指している。この後、パケットライト制御部3161は次のフリーアドレスを取得するためにアクセス制御部3151へフリーアドレス要求を行い(ステップS704)、アクセス制御部3151から通知されるフリーアドレスを取得する(ステップS705)。受信するパケットの最終データを含むページを生成し、ライトコマンドおよびライトアドレスと共にこの生成したページをアクセス制御部3151へ送信し(ステップS706)、要求したフリーアドレスをアクセス制御部3151から取得する(ステップS707、S708)。
【0078】
パケットライト制御部3161は、パケットの最終データを含むページのライト制御が完了すると、宛先要求オブジェクト(パケットオブジェクト)をパケットリード制御部3171へ送信する(ステップS709)。この宛先要求オブジェクトは、図13で示したパケットオブジェクト421と同様の構成である。また、ライト制御の完了とは、たとえばライトコマンドの送信から予め定められた時間が経過した場合である。送信する宛先要求オブジェクトには、パケットのパケット長とパケットの先頭ページと共に送信したライトアドレスが組み込まれている。つまり、このライトアドレスを用いてパケットリンクメモリ3121を参照することにより、パケットを構成するページ同士の繋がりを示すリンクリストを知ることが可能になっている。また、宛先要求オブジェクトには予め定められた宛先情報として、第1の宛先解決処理部2131を示すカード番号の値が組み込まれるようになっている。
【0079】
このようにして、パケットを受信すると(ステップS901)、これに対応した受信パケットの格納処理が行われるようになっている(ステップS902)。図では、パケットライト制御部3161が受信したパケットから2つのページを作成して、アクセス制御部3151へそれぞれ送信している(ステップS703、S706)。しかし、パケットの長さによっては、3つ以上のページに分割される場合がある。このような場合には、ステップS703〜S705の処理を繰り返すことによって、ページの格納を行うようになっている。またパケットの最終データがページの固定長に満たない場合には、パケットライト制御部3161が足りない部分に意味のないデータを挿入して、ページを固定長に合わせるようになっている。
【0080】
図21は、パケットリード制御部が宛先要求オブジェクトを受信してから、図19で示したステップS602で宛先要求パケットページを第1の宛先解決処理部に転送するまでの処理を詳細に表わしたものである。パケットリード制御部3171は、パケットライト制御部3161から宛先要求オブジェクト(パケットオブジェクト)を受信すると(ステップS711)、スイッチ処理部214に対して組み込まれている宛先情報の値が示す第1の宛先解決処理部2131へのページ転送要求を送信する(ステップS712)。ここで、宛先情報の値は第1の宛先解決処理部2131を示すカード番号である。このページ転送が可能な場合、スイッチ処理部214はパケットリード制御部3171へページ転送許可を送信し(ステップS713)、第1の宛先解決処理部2131へページ転送通知を送信する(ステップS714)。ページ転送許可を受信したパケットリード制御部3171は、宛先要求パケットのページ転送要求をアクセス制御部3151に対して送信する(ステップS715)。アクセス制御部3151は、パケットの先頭ページを含んだ宛先要求情報として宛先要求パケットページ501(図15)を生成し、第1の宛先解決処理部2131へ転送する(ステップS716)。
【0081】
この宛先要求パケットページ501を受信した第1の宛先解決処理部2131は、これに含まれているパケットヘッダ510(図15)からパケットの宛先と装置内での転送先を、第1の宛先対応テーブル2171(図1)に備えられた出力識別番号対応表とカード番号対応表からそれぞれ検索する。そして、宛先要求情報としての宛先要求パケットページ501に対して、1つの宛先解決情報としての宛先解決パケットページ521(図16)を作成する。宛先解決パケットページ521には検索された宛先へパケットを送信するポートに対応した出力識別番号522と、このポートが存在する装置内での転送先を示すカード番号のである出力カード523が組み込まれている。パケットの宛先は通信端末221NKであるので、出力識別番号522の値はポート306NKを示す値であり、出力カード523の値は第Nの回線インタフェース処理部212Nを示す値である。また、これに含まれている更新パケットヘッダ525(同図)は、パケットヘッダ510が第1の宛先解決処理部2131によって更新されたものである。
【0082】
図22は、図19に示したステップS603の処理の流れを詳細に表わしたものである。第1の宛先解決処理部2131は、宛先解決パケットページ521を第1の回線インタフェース処理部2121へ転送するためのページ転送要求をスイッチ処理部214へ送信する(ステップS721)。このページ転送が可能な場合、スイッチ処理部214はパケットライト制御部3361へページ転送通知を送信し(ステップS722)、第1の宛先解決処理部2131へページ転送許可を送信する(ステップS723)。パケットライト制御部3361は、スイッチ処理部214からページ転送通知を受信するとフリーアドレス要求をアクセス制御部3351へ送信し(ステップS724)、アクセス制御部3351からこれに対応したフリーアドレスを受信する(ステップS725)。パケットライト制御部3361は、ページ転送前に通知があるのでこの通知を受信してから実際にページが転送されるまでの間にフリーアドレスを取得すればよい。
【0083】
第1の宛先解決処理部2131は、スイッチ処理部214からページ転送許可を受信すると第1の回線インタフェース処理部2121へ宛先解決パケットページ521(図16)を転送する(ステップS726)。この宛先解決パケットページ521はアクセス制御部3351へ転送されると共に、パケットライト制御部3361へも転送される(ステップS727)。パケットライト制御部3361は、ステップS725で取得したフリーアドレスをライトアドレスとしてアクセス制御部3351へ送信する(ステップS728)。アクセス制御部3351は受信したライトアドレスを用いて宛先解決パケットページ521をパケットメモリ3311(図5)に格納する。更に、パケットライト制御部3361は、宛先解決パケット525のページ種別502の値から、これを宛先解決パケットページ521と判別し、受信した宛先解決パケットページ521から宛先解決オブジェクト(パケットオブジェクト)を生成する。そして、作成した宛先解決オブジェクトをパケット受信部3011(図4)に配置された、パケットライト制御部3161に送信する(ステップS729)。
【0084】
図23は、図7のステップS729に示したパケット送信部に受信された宛先解決パケットページをパケット受信部に転送する処理の流れを表わしたものである。パケット受信部3011は、スイッチ処理部214を介してページを受信することができないため、パケット送信部3021で受信したページが次に説明する処理で転送される。パケット受信部3011のパケットライト制御部3161は、パケット送信部3021のパケットライト制御部3361から宛先解決オブジェクト(パケットオブジェクト)を受信すると(ステップS731)、ページリード要求をパケット送信部3021のパケットリード制御部3371へ送信する(ステップS732)。これを受信したパケットリード制御部3371は、ページリードコマンドをパケット送信部3021のアクセス制御部3351に送信する(ステップS733)。アクセス制御部3351は、宛先解決パケットページ521をパケット送信部3021のパケットメモリ3311からリードし、これをパケット受信部3011のパケットライト制御部3161へ転送する(ステップS734)。
【0085】
このようにして、パケット受信部3011側で受信した宛先解決パケットページ521をパケットライト制御部3161は、ライトコマンドおよびライトアドレスと一緒にパケット受信部3011のアクセス制御部3151へ送信する(ステップS735)。アクセス制御部3151は受信した宛先解決パケットページ521を一緒に受信したライトコマンドおよびライトアドレスに従って、パケットメモリ3111に格納する。この後、パケットライト制御部3161はアクセス制御部3151に対してフリーアドレス要求を行い(ステップS736)、フリーアドレスを取得する(ステップS737)。更に、宛先解決オブジェクトをパケットリード制御部3171へ送信する(ステップS738)。この宛先解決オブジェクトには、これが関連するパケットの先頭アドレス、宛先解決パケットページが格納されたページアドレス、マルチキャストカウントおよび宛先となる第Nの回線インタフェース処理部212Nを示すカード番号等が組み込まれている。
【0086】
図24は、図19のステップS604で示した、第Nの回線インタフェース処理部のパケット送信部へパケットを転送する処理を詳細に表わしたものである。パケットリード制御部3171は、宛先解決オブジェクト(パケットオブジェクト)を受信すると(ステップS741)、パケットをパケット送信部302Nへ転送するためのページ転送要求を、スイッチ処理部214へ送信する(ステップS742)。このページ転送が可能な場合、スイッチ処理部214はパケットリード制御部3171へページ転送許可を送信し(ステップS743)、第Nの回線インタフェース処理部212Nのパケット送信部302Nへページ転送通知を送信する(ステップS744)。パケットリード制御部3171は、ページ転送許可を受信すると宛先解決オブジェクトに含まれる宛先解決パケットページが格納されているページアドレスをリードアドレスとして、パケットの先頭ページの転送要求をアクセス制御部3151へ送信する(ステップS745)。アクセス制御部3151は、この要求に従って宛先解決パケットページ521に組み込まれた更新パケットヘッダ525を組み込んだ転送パケットページ531(図17)を作成し、第Nの回線インタフェース処理部212Nのパケット送信部302Nへ転送する(ステップS746)。すなわち、パケットのヘッダの代わりに宛先解決パケットページ521に組み込まれた更新パケットヘッダ525が置き換えられて転送されるようになっている。
【0087】
このとき、パケットリード制御部3171はパケットを構成する全てのページを転送するために、次にリードすべきパケットのページがパケットメモリ3111に存在するか否かを判別する。この判別処理については、図24では図示および説明を省略しているが、パケットリード制御部3171は、パケットオブジェクトに格納されているパケットの先頭アドレスでパケットリンクメモリ3121へのリード要求を行うことで、アクセス制御部3151から次のページのアドレスを示す値を受信する(ステップS747)。この受信した値が値“0”以外であればまだ次のページが存在すると判別し、値“0”である場合には次のページは存在しないものと判別する。パケットを構成するページが、パケットメモリ3111にまだ存在すると判別した場合、パケットリード制御部3171およびアクセス制御部3151は、受信した値をリードアドレスとして用いて、パケット送信部302Nへパケットを構成するページを転送する処理を行う。したがって、パケットリード制御部3171はスイッチ処理部214へページ転送要求を送信し(ステップS911)、スイッチ処理部214はページ転送許可とページ転送通知を、それぞれパケットリード制御部3171とパケット送信部302Nへ送信する(ステップS912、S913)。ページ転送許可を受信したパケットリード制御部3171はアクセス制御部3151へページ転送要求を送信し(ステップS914)、アクセス制御部3151はこれに従ってパケット送信部302Nへページの転送を行う(ステップS915)。図では、2つのページでパケットが構成される場合を示しているが、3つ以上のページで構成されるパケットの場合は、ステップS742〜S747の処理を必要な回数繰り返すことで、パケット全体の転送をパケット送信部302Nへ行うようになっている。また、リードアドレスを用いてページを読み出す際、パケットオブジェクトに含まれているマルチキャストカウントの値から“1”減算した値をソースマルチキャストメモリ3141に格納し、これを読み出して再格納する処理を行う。ここではユニキャスト転送であるため、まずマルチキャストカウントの値“1”から“1”を減算した値“0”が格納され、値“0”が再格納されるようになっている。これについては後ほどマルチキャスト転送の場合と比較して詳細な説明を行う。
【0088】
図25は、図19のステップS604で示した第Nの回線インタフェース処理部のパケット送信部での処理の流れを詳細に表わしたものである。第1の回線インタフェース処理部2121のパケット受信部3011は第Nの回線インタフェース処理部212Nへのページ転送要求をスイッチ処理部214へ送信する(ステップS751)。スイッチ処理部214はこのページ転送が可能な場合、第Nの回線インタフェース処理部212Nのパケットライト制御部336Nへページ転送通知を送信し(ステップS752)パケット受信部3011へページ転送許可を送信する(ステップS753)。ページ転送通知を受信したパケットライト制御部336Nは、フリーアドレス要求をアクセス制御部335Nへ送信し(ステップS754)、アクセス制御部335Nからこれに対応したフリーアドレスを受信する(ステップS755)。パケット受信部3011は、ページ転送許可を受信すると第Nの回線インタフェース処理部212Nへ転送パケットページ531(図17)を転送する。この転送パケットページはアクセス制御部335Nへ転送されると共に(ステップS756)、パケットライト制御部336Nへも転送される(ステップS757)。
【0089】
パケットライト制御部336Nは、ステップS755で取得したフリーアドレスをライトアドレスとして、ライトコマンドと共にアクセス制御部335Nへ送信する(ステップS758)。アクセス制御部335Nは受信したライトアドレスを用いて転送パケットページ531をパケットメモリ331N(図5)に格納する。次の転送パケットページ541(図18)も同様にして、パケット受信部3011からスイッチ処理部214へのページ転送要求が行われ、スイッチ処理部214からパケットライト制御部336Nとパケット受信部3011にそれぞれページ転送通知とページ転送許可が送信される(ステップS921〜S923)。ページ転送通知を受信したパケットライト制御部336Nは、フリーアドレス要求をアクセス制御部335Nへ送信し(ステップS924)、アクセス制御部335Nからこれに対応したフリーアドレスを受信する(ステップS925)。パケット受信部3011は、ページ転送許可を受信すると第Nの回線インタフェース処理部212Nへ転送パケットページ541を転送する。この転送パケットページはアクセス制御部335Nへ転送されると共に(ステップS926)、パケットライト制御部336Nへも転送される(ステップS927)。転送パケットページ541を受信したパケットライト制御部336Nは、ステップS925で取得したフリーアドレスをライトアドレスとして、ライトコマンドと共にアクセス制御部335Nへ送信する(ステップS928)。
【0090】
このとき、パケットライト制御部336Nは、転送パケットページ541のラストビット503を参照して、受信した転送パケットページ541が最後であるか否かを判別する。ここでは、最後であるとして、パケットライト制御部336Nは、受信した転送パケットページ531からパケットオブジェクトを生成する。このとき、転送パケットページ531のページ種別502の値から、これを転送パケットページと判別し、生成したパケットオブジェクトをパケットリード制御部337Nに送信する(ステップS929)。パケットオブジェクトには、パケットの先頭ページが格納されているページアドレスと、パケットを宛先に出力するポートに対応した出力識別番号が含まれている。なお、図では、2つのページでパケットが構成される場合を示しているが、3つ以上のページで構成されるパケットの場合は、ステップS921〜S928の処理を必要な回数繰り返すことで、パケット全体の転送が行われるようになっている。
【0091】
図26は、図19のステップS605で示した第Nの回線インタフェース処理部からパケットが出力される処理の流れを表わしたものである。第Nの回線インタフェース処理部212Nのパケット送信部302Nに配置されたパケットリード制御部337Nは、パケットオブジェクトを受信すると(ステップS761)、デスティネーションメモリ334Nおよび送信ポート対応表338Nを出力識別番号で検索する。ここで、デスティネーションメモリ334Nから取得するマルチキャスト数は値“1”であるので、受信したパケットオブジェクトのコピーは行われない。また、送信ポート対応表338Nからは、出力するポート306NKを示すポート情報を取得して、パケットオブジェクトに組み込む。次にこのパケットオブジェクトが示すパケットのページデータをリードするために、ページリードコマンドをアクセス制御部335Nへ送信する(ステップS762)。ページリードコマンドには、リード対象となるパケットメモリ331Nのアドレス領域を示すリードアドレスと、リードアドレスに対する処理方法が含まれている。パケットリード制御部337Nは、まずパケットオブジェクトに含まれるパケットの先頭ページアドレスをリードアドレスとして、ページリードコマンドをアクセス制御部335Nへ送信する。
【0092】
アクセス制御部335Nは、ページリードコマンドに含まれるリードアドレスを用いて、パケットメモリ331Nからページをリードして、パケットリード制御部337Nへ送信する(ステップS763)。更に、このリードアドレスを用いてリンクメモリ332Nにアクセスし、次にリードすべきパケットのリンクアドレス432に値が格納されている場合はこれを取得しネクストアドレスとして、パケットリード制御部337Nへ送信する(ステップS764)。このとき、ネクストアドレスと一緒に、リンクメモリ332Nのラストビット431の値も、パケットリード制御部337Nに返送する。パケットリード制御部337Nは、受信したラストビット431の値から次のページリードコマンドの内容を決定する。ラストビット431の値は次のページの後にリードすべきページが存在するか否かを示す値であり、次のページの後にリードすべきページが存在しなければ、次にリードするページが最後にリードするページとなる。ここでは、次のページが最後にリードするページであると判別し、次にアクセス制御部335Nへ送信するページリードコマンドには、ネクストアドレスとラストビットの値を返す処理を行わないように指定する。このようなページリードコマンドをアクセス制御部335Nへ送信し(ステップS765)、アクセス制御部335Nからパケットを構成する最後のページを受信する(ステップS766)。なお、図では2つのページでパケットが構成される場合を示しているが、3つ以上のページで構成されるパケットの場合は、ステップS762〜S764の処理を必要な回数繰り返すことで、パケットリード制御部337Nはパケットを構成する全てのページを受信するようになっている。このようにして取得したページからパケットを再生して、ポート情報が示すポート306NKから通信端末221NKへパケットの送信を行う(ステップS767)。
【0093】
以上本実施例で示したパケット処理装置を用いて通信端末22112から通信端末221NKへパケットのユニキャスト転送を行う際の処理の説明を行った。次にマルチキャスト転送の処理の概要について説明を行う。ここでは、マルチキャスト転送の一例として、図2に示したマルチキャストパケット送信端末222から通信端末22112〜221NKを共通の宛先として指定するマルチキャスト用のアドレスを組み込んだパケットがパケット処理装置211へ送信された場合について説明する。
【0094】
この例では、第1の回線インタフェース処理部2121に入力したパケットが、N個の回線インタフェース処理部でソースマルチキャスト転送される。更に、第1の回線インタフェース処理部2121では、ポート21612〜2161Kに対して(K−1)個のデスティネーションマルチキャスト転送を実施する。また第Nの回線インタフェース処理部212Nでは、ポート216N1〜216NKに対してK個のデスティネーションマルチキャスト転送を予定している。ここでは、図示しない第2〜第(N−1)の回線インタフェース処理部2122〜212(N-1)でも、それぞれに備えられたポートに対してのデスティネーションマルチキャスト転送を予定している。しかしここでは、説明を簡易にするために代表的な第1、第Nの回線インタフェース処理部2121、212Nについて説明し、第2〜第(N−1)の回線インタフェース処理部2122〜212(N-1)については図示および説明を適宜省略する。
【0095】
図27は図1に示したパケット処理装置を使用してパケットのマルチキャスト転送処理を行う際の処理の流れを表したものである。第1の回線インタフェース処理部2121のパケット受信部3011にパケットが入力されると(ステップS801)、このパケットのヘッダから宛先要求パケットページ501を作成し、第1の宛先解決処理部2131に転送する(ステップS802)。第1の宛先解決処理部2131は、宛先要求パケットページ501からこのパケットをマルチキャスト転送することを判別し、第1の宛先解決情報作成部2181でパケットの宛先を示す情報を含む宛先解決パケットページ521をこの転送先ごとに作成する。転送先は第1〜第Nの回線インタフェース処理部2121〜212Nとなり、N個の宛先解決パケットページ521が作成される。ここでは説明を簡易にするために第1および第Nの回線インタフェース処理部2121、212Nに対して作成された宛先解決パケットページ521について説明を行う。
【0096】
第1の宛先解決処理部2131は、これら宛先解決パケットページ521をそれぞれ第1の回線インタフェース処理部2121のパケット受信部3011へ転送する(ステップS8031、S803N)。パケット受信部3011は受信した宛先解決パケットページ521それぞれに指定された転送先である第1、第Nの回線インタフェース処理部2121、212Nのパケット送信部3021、302Nへ、転送パケットページ531あるいは転送パケットページ531、541を用いてパケットをそれぞれ転送する。(ステップS8041、S804N)。パケット送信部3021は、受信した転送パケットページ531、541からパケットを再生し、出力識別番号に対応したポート30612〜3061Kごとにそれぞれコピーしてパケットを出力する(ステップS80512〜S8051K)。また、パケット送信部302Nは、受信した転送パケットページ531、541からパケットを再生し、出力識別番号に対応したポート306N1〜306NKごとにそれぞれコピーしてパケットを出力する(ステップS805N1〜S805NK)。図示および説明を省略しているが、第2〜第(N−1)の回線インタフェース処理部2122〜212(N-1)のパケット送信部3022〜302(N-1)についても、同様にパケット受信部3011から転送されるパケットの出力が行われる。このようにして、マルチキャストパケット送信端末222からパケット処理装置211を介して、通信端末22112〜221NKへそれぞれパケットが送信される。
【0097】
このようにマルチキャスト転送ではパケット受信部3011は、宛先解決パケットページ521を受信するたびに、パケットをコピーしてパケット送信部3021〜302Nへパケットを転送するようになっている。これがパケットの受信側で行うソースマルチキャスト処理である。また、転送されたパケットを受信したパケット送信部3021〜302Nは、それぞれ出力するポートの数だけこのパケットをコピーして、パケットの送信先へ出力するようになっている。これがパケットの送信側で行われるデスティネーションマルチキャスト処理である。本実施例のパケット処理装置211では、マルチキャスト転送処理はソースマルチキャスト処理と、デスティネーションマルチキャスト処理に分散するようになっている。
【0098】
次に、以上説明したパケット処理装置211で行われるユニキャスト転送とマルチキャスト転送との処理の違いについて順を追って説明を行う。
【0099】
以上説明していたマルチキャスト転送では、第1の回線インタフェース処理部2121が、入力されたパケットのヘッダ情報を含んだ宛先要求情報としての宛先要求パケットページ501を作成し、第1の宛先解決処理部2131へ転送するまでは、ユニキャスト転送と同等の処理が行われる。このとき、第1の回線インタフェース処理部2121はマルチキャスト転送を意識する必要は無く、ユニキャスト転送とマルチキャスト転送との間に処理の違いはない。
【0100】
宛先要求パケットページ501を受信した第1の宛先解決処理部2131は、このページに含まれているパケットヘッダ510から、このパケットがマルチキャスト転送を行うマルチキャストパケットであることを検出する。そして、第1の宛先対応テーブル2171のカード番号対応表を検索することで、ソースマルチキャスト数を決定しこれをマルチキャストカウント524のフィールドにマッピングした宛先解決情報としての宛先解決パケットページ521を、第1の宛先解決情報作成部2181でその数だけ生成する。これら宛先解決パケットページ521のマルチキャストカウント524のフィールドには同じ値がマッピングされている。ここでソースマルチキャスト数は、パケットを受信した第1の回線インタフェース処理部2121からみて、パケットを転送すべき回線インタフェース処理部の数に一致する。なお、個々の宛先となる回線インタフェース処理部内部で行われるコピー回数は、宛先の回線インタフェース処理部において管理しているため宛先解決パケットページ521には表わされない。第1の宛先解決処理部2131は、生成したこれら宛先解決パケットページ521を順に、宛先要求パケットページ501を送信した第1の回線インタフェース処理部2121へ返送する。
【0101】
宛先解決パケットページ521を受信した第1の回線インタフェース処理部2121は、受信した宛先解決パケットページ521の数だけ、パケットをコピーして、それぞれの宛先解決パケットページ521が指定する宛先の回線インタフェース処理部に転送する。但し、宛先の回線インタフェース処理部に転送されるパケットヘッダ510は、第1の宛先解決処理部2131において更新された更新パケットヘッダ525に置き換えられている。この転送処理は、第1の回線インタフェース処理部2121からみた場合、受信した宛先解決パケットページ521ごとに1個のパケットを転送するので、ユニキャスト転送の処理と比較して何ら変更を必要としない。違いは、ソースマルチキャストメモリ3141に書き込まれる値である。
【0102】
ソースマルチキャストメモリ3141の該当するアドレス領域から値“0”が読み出された場合には、受信した宛先解決パケットページ521に含まれるマルチキャストカウント524の値から“1”を減算された値が、新たに該当するアドレス領域へ書き込まれる。また、値“0”以外の値が読み出された場合には、この読み出された値から“1”減算された値が、新たに該当するアドレス領域へ格納される。通常、ユニキャスト転送の場合、常に値“0”がリードされ、値“0”が書き込まれるようになっている。一方、マルチキャスト転送の場合、最初に受信した宛先解決パケットページ521に含まれるマルチキャストカウント524に書き込まれた値から“1”減算された値が書き込まれ、以降受信されるたびに、この値が“1”ずつ減算されていくようになっている。また、この書き込まれた後の値が“0”の場合、パケットメモリ3111の該当するアドレス領域がフリーアドレス領域として指定されるようになっている。これによって、マルチキャストカウント524に書き込まれた値と同じ回数だけ、ページをリードすることが可能になっている。したがって、ソースマルチキャストメモリ3141に書き込まれる値を用いることで、パケットを構成するページの格納に用いたパケットメモリ3111のアドレス領域をフリーアドレス領域として解放することなく維持することが可能となっている。
【0103】
スイッチ処理部214を介してパケットを受信した第1の回線インタフェース処理部2121のパケットメモリ3311にこのパケットが格納される処理は、ユニキャスト転送の処理と同様である。また、パケットライト制御部3361が、受信したパケット1個当たり1個のパケットオブジェクトを生成して、パケットリード制御部3371へ転送する処理もユニキャスト転送の処理と同様であり変わらない。
【0104】
このパケット送信部3021でのマルチキャスト転送とユニキャスト転送の処理の違いを説明する。まず、第1の違いはパケットの先頭ページを受信したとき、そのページヘッダに含まれる出力識別番号をリードアドレスとして、デスティネーションメモリ3341にアクセスした結果、リードされる値が“0”でないことである。この情報は、アカウントメモリ3331のマルチキャストカウント434のフィールドに保存される値であり、このフィールドが値“0”でなければ、該当するアドレス識別子が示すパケットメモリ3311のアドレス領域はフリーアドレスにならない。第2の違いは、パケットライト制御部3361から受信したパケットオブジェクトのコピーが、パケットリード制御部3371において、パケットのコピー回数分作成されることである。このコピー回数は、出力識別番号に対応してデスティネーションメモリ3341から検索される値と同一である。したがって、パケットリード制御部3371は、パケットのコピー回数にパケットのページ数を乗じた回数分のページリードコマンドをアクセス制御部3351へ送信することになる。
【0105】
これらページリードコマンドを受信するアクセス制御部3351では、マルチキャスト数を考慮する必要はなく、単にページリードコマンドで提供されるリードアドレスを利用してパケットメモリ3311に格納されるページをリードすればよい。このとき、このリードアドレスで、アカウントメモリ3331のマルチキャストカウント434のフィールドをリードして、値“0”でなければデクリメントして書き戻し、値“0”であればそのリードアドレスで示されるパケットメモリ3311のアドレス領域をフリーアドレスとして処理する。この2つの違いを除けば、パケット送信部3021はユニキャスト転送と同様の処理で、マルチキャスト転送を実現することが可能である。第1〜第Nの回線インタフェース処理部2121〜212Nのパケット受信部3011〜301Nおよびパケット送信部3021〜302Nについては同様の構成である。したがって、代表的な第1の回線インタフェース処理部2121のパケット受信部3011およびパケット送信部3021についてのみ説明を行った。
【0106】
このように、パケット処理装置211でマルチキャスト転送を行う処理は、宛先となる通信端末へ送信するパケット1つ1つに注目すると、既に説明したユニキャスト転送と同じ処理が行われていることになる。また、ソースマルチキャストメモリ3141とアカウントメモリ3331のマルチキャストカウント434で、それぞれマルチキャストカウント数を管理することで、パケットメモリ3111およびパケットメモリ3311のページが格納されているアドレス領域をコピーが終了するまでフリーアドレスとしないことができる。
【0107】
また、パケットのマルチキャスト転送処理であるコピー処理および装置内での転送処理を所定長以下のページ単位で行うため、パケットの長さに関わらず複数の装置内の転送先に対するマルチキャスト転送処理をページ単位で並行して行うことができる。したがって、マルチキャスト転送処理で同一のパケットを異なる複数の宛先に転送する際に発生する装置内遅延のばらつきを低減することができる。また、パケットのコピーを作成する際には、コピー数と同じ個数のパケットオブジェクトが作成され、これらパケットオブジェクトそれぞれに基づいて、パケットのコピー処理が行われるようになっている。このパケットオブジェクトは、パケットそのものではなく、パケットをコピーするために使用する情報が組み込まれていればよいため、パケットオブジェクトの長さをパケットの長さに関わらず固定長とすることもできる。したがって、パケットオブジェクトを用いてパケットのコピーを複数作成する場合、パケットオブジェクトの長さがコピーするパケットの長さよりも短ければ、パケットオブジェクトを作成する負荷はコピーするパケットの長さに影響を受けないという効果を得ることができる。
【0108】
更に、パケットの宛先を判別する宛先解決処理部と、パケットのコピー機能を備えていない回線インタフェース処理部とで構成される図示しないパケット処理装置に対して比較的少ない変更を行うことで、複数の宛先へパケットを転送するマルチキャスト転送を実現することができる。このような場合、マルチキャスト転送を行う回線インタフェース処理部には、パケットが格納されたメモリからパケットが必要な回数読み出されてコピーが作成されるまで、このパケットが格納されたメモリの開放を回避する手段をパケット処理装置に備えるようにすればよい。このようなパケットが格納されたメモリの開放を回避する手段を、回線インタフェース処理部に備えることで、マルチキャスト転送のためのコピー処理を行うことが可能となる。たとえば本実施例で示したように、パケットを読み出す残り回数を記憶するソースマルチキャストメモリ314と、アカウントメモリ333内のフィールドであるマルチキャストカウント434を回線インタフェース処理部にそれぞれ備えることで実現できる。
【0109】
本実施例では、第1の回線インタフェース処理部2121のパケット受信部3011が受信したパケットの宛先の判別は、第1の宛先解決処理部2131で行うように予め選択されていた。しかしながら、第2〜第Nの回線インタフェース処理部2122〜212Nのパケット受信部3012〜301Nが、第1の宛先解決処理部2131を必ずしも選択する必要はない。宛先解決処理部が複数備えられている場合には、たとえばパケットの宛先を判別する処理の負荷を分散させるように宛先解決処理部2131〜213Mのいずれかを予め選択させることができる。また、パケットの宛先を判別するための情報を基にして複数の宛先解決処理部からこのパケットの宛先を判別する処理の負荷が少ない宛先解決処理部を選択して、宛先要求パケットページ501を送出してもよい。たとえば、マルチキャストアドレスはIPアドレスの中でも特定の範囲のアドレスなので、アドレスを見るだけでこれが組み込まれたパケットはマルチキャスト転送するパケットであることが判別できる。したがって、回線インタフェース処理部は、マルチキャスト転送するパケットに対して宛先を判別する処理の負荷が少ない宛先解決装置を予め判別しておいて、回線から受信したパケットに組み込まれている送信先アドレスがマルチキャストアドレスであれば、この宛先解決処理部を宛先要求パケットページ501の送出先として指定する。これによって、パケットの宛先を判別する処理の負荷を複数の宛先解決装置に分散することができる。
【0110】
発明の変形例
【0111】
図28は、本発明の変形例であるパケット処理装置を表わしたものである。図28で図1と同一の部分には、同一の符号を付しており、適宜説明を省略する。パケット処理装置101には、各種回線メディアを終端しパケットの送受を行う回線インタフェース装置としての第1〜第Nの回線インタフェース処理部2121〜212Nと、パケットヘッダの加工およびパケットのヘッダ情報からパケットの宛先を決定する宛先解決装置としての第1〜第Mの宛先解決処理部2131〜213Mと、スイッチ処理部214が備えられている。図1で示した実施例のパケット処理装置211と異なる点は、パケットの宛先判別の処理を要求する宛先解決処理部を選択する宛先解決選択処理部1111、1112が備えられている点である。宛先解決選択処理部1111、1112は、それぞれ第1〜第Nの回線インタフェース処理部2121〜212Nのいずれかと対応しており、宛先要求パケットページ501が送られてくるようになっている。この数は回線インタフェース処理部212の数に合わせて増減させてもよい。この変形例では、宛先解決選択処理部1111は第1の回線インタフェース処理部2121と対応しており、宛先要求パケットページ501が送られてくるようになっている。
【0112】
宛先解決選択処理部1111、1112には、回線インタフェース処理部212から送られる宛先要求パケットページ501に対応する宛先解決パケットページ521を作成する処理部を第1〜第Mの宛先解決処理部2131〜213Mの中から選択する選択部1121、1122がそれぞれ備えられている。また、パケットに対する宛先を示す情報を格納した図示しない宛先対応テーブルと、これを基にしてパケットの宛先を解決しこれを示す宛先解決パケットページ521を作成する図示しない宛先解決パケットページ作成部も備えられている。選択部1121は、入力された宛先要求パケットページ501のパケットヘッダ510に格納されている送信先アドレスが、マルチキャストアドレスであるか否かを確認する。これにを基にして、この宛先要求パケットページ501がマルチキャスト転送するパケットのものか否かを判別する。マルチキャストアドレスでなければ、この宛先要求パケットページ501に対応する宛先解決パケットページ521を宛先解決パケットページ作成部で作成して、返送するようになっている。また、マルチキャストアドレスであれば1つ以上の宛先を判別することに対応した第1〜第Mの宛先解決処理部2131〜213Mの中から1つを選択して、入力された宛先要求パケットページ501を転送する。このとき、これら第1〜第Mの宛先解決処理部2131〜213Mを均等に選択するために、たとえばそれぞれに対応した転送回数を示すカウンタを備えて、これを基に選択を行うようになっている。
【0113】
これによって、宛先解決選択処理部1111、1112は判別する宛先が1つだけである場合に宛先解決情報を作成して返送すればよいので、判別される宛先の数が複数想定される場合と比較して簡易な構造で実現することができる。ただし、この変形例でこのパケット処理装置101はIPルータ装置を想定しているため、パケットのブロードキャスト転送は無いものとして考えている。このようにして、装置内で複数の転送先がある可能性を持つマルチキャスト転送するパケットの宛先要求パケットページ501を第1〜第Mの宛先解決処理部2131〜213Mに転送するようになっている。ここでは選択部1121について説明したが、選択部1122についても宛先解決処理部を選択する動作については同様であるため説明を省略する。
【0114】
図29は、この変形例のパケット処理装置の処理の一例を表わしたものである。この例では、回線21511から受信したパケットを回線21512、2151K、215N1および215NKへマルチキャスト転送する。パケット処理装置101の第1の回線インタフェース処理部2121は、回線21511からパケットが入力されると(ステップS121)、このパケットのヘッダ情報を含んだ宛先要求パケットページ501を宛先解決選択処理部1111へ転送する(ステップS122)。ここでは宛先解決選択処理部1111の選択部1121は、この宛先要求パケットページ501の転送先として第1の宛先解決処理部2131を選択し、宛先要求パケットページ501を転送する(ステップS123)。
【0115】
第1の宛先解決処理部2131は、第1の宛先対応テーブル2171を参照して、宛先要求パケットページ501に対応する宛先解決パケットページ521を2つ、第1の回線インタフェース処理部2121および第Nの回線インタフェース処理部212Nから出力するパケット用に第1の宛先解決情報作成部2181で作成する。第1の宛先解決処理部2131は、これら作成した2つの宛先解決パケットページ521を第1の回線インタフェース処理部2121に転送する(ステップS1241、1242)。第1の回線インタフェース処理部2121は、宛先解決パケットページ521が転送されると、これを基にして転送パケットページ531あるいは541を作成して、宛先解決パケットページ521に対応した第1の回線インタフェース処理部2121および第Nの回線インタフェース処理部212Nに、それぞれ転送する(ステップS1251、1252)。ステップS1251は、第1の回線インタフェース処理部2121(パケット受信部3011)からスイッチ214を介して第1の回線インタフェース処理部2121(パケット送信部3021)に転送パケットページが転送されている様子を表わしている。これによって転送パケットページが転送された第1の回線インタフェース処理部2121は、これに格納されているパケットを回線21512、2151Kからそれぞれ出力する(ステップS1261、1262)。また、転送パケットページが転送された第Nの回線インタフェース処理部212Nは、これに格納されているパケットを回線215N1、215NKからそれぞれ出力する(ステップS1271、1272)このようにして、パケット処理装置101は、回線21511から受信したパケットを回線21512、2151K、215N1および215NKへマルチキャスト転送するようになっている。
【0116】
以上説明した変形例では、マルチキャスト転送するパケットの宛先要求パケットページ501が宛先解決選択処理部1111に入力された場合を説明しているが、宛先が1つしかないユニキャスト転送するパケットの宛先要求パケットページ501であれば、宛先解決選択処理部1111は対応する宛先解決パケットページ521を作成して返送するようになっている。したがって、第1の回線インタフェース処理部2121は、入力されたパケットがマルチキャスト転送するパケットであるか否かに関わらず、宛先要求パケットページ501を宛先解決装置1111に送出するだけでよいことになる。
【0117】
また、実施例および変形例では、パケット処理装置に宛先解決処理部または回線インタフェース処理部が複数備えられているが、宛先解決処理の負荷などに応じて1つだけ備えられてもよい。また、宛先解決処理部はパケットの宛先を判別する手法を複数備えてもよい。たとえば、IP(Internet Protocol)では、宛先となる端末を示すアドレスの表現手法にIPv4、IPv6等の複数の手法が存在する。したがって、このような宛先となる端末を示すアドレスの表現手法にそれぞれ対応した宛先解決処理を行う宛先解決処理部が備えられてもよい。また、たとえばインターネット網などの大規模な通信ネットワークで使用するグローバルアドレスと、限定された端末間だけで使用するプライベートアドレスとの間の変換機能等を含めた宛先解決処理を行う宛先解決処理部が備えられてもよい。
【0118】
更に、実施例ではマルチキャストパケットを送信する端末は、マルチキャストパケット送信端末222に限定されている。しかし、マルチキャストアドレスを組み込んだパケットであるマルチキャストパケットを作成し送信する端末は、通信端末22112〜221NKのいずれかであってもよい。また、既に説明したようにこれらの端末はマルチキャストパケットの最終的な宛先となる図示しない端末との間に配置されたルータ装置であってもよい。この場合、通信端末22112〜221NKあるいはマルチキャストパケット送信端末222は、受信したパケットを更に最終的な宛先に向けて転送するようになっている。
【0119】
なお実施例および変形例では回線インタフェース処理部が、各回線を用いてパケットを送受信する際の回線メディアの種類は限定されない。たとえば、回線メディアとしてATM(Asynchronous Transfer Mode)回線やFR(Frame Relaying)回線またはTDM(Time Division Multiplex)回線等が用いられてもよい。また、回線インタフェース処理部が複数備えられている場合、それぞれ回線メディアの種類が異なるものであってもよい。また、本発明の実施例では第1〜第Nの回線インタフェース処理部2121〜212Nに、それぞれK本ずつの回線が接続されるようになっているが、これら回線のパケット転送速度などに応じて、接続される回線の本数がそれぞれ異なっていてもよい。
【0120】
【発明の効果】
以上説明したように請求項1記載の発明によれば、回線インタフェース装置と宛先解決装置が独立し、これらの間にスイッチが配置されている。したがって、スイッチを介して宛先解決装置を任意の個数だけ回線インタフェース装置と接続することができ、柔軟なパケット処理システムを実現することができる。また、回線インタフェース装置が本来処理してきた他の機能部を独立させてスイッチを介して回線インタフェース装置に接続することも可能になる。
【0122】
また請求項2記載の発明によれば、宛先解決装置から返送される宛先解決情報は、判別される宛先の数に関わらず、1つの宛先しか示さないようになっており、宛先解決情報のフォーマットを複数の宛先に対応する宛先解決情報よりも簡易化することができる。
【0123】
更に請求項3記載の発明によれば、回線インタフェース装置は宛先解決装置のパケットの宛先判別のための負荷をそれぞれ判別する負荷判別手段を備えており、この判別結果を基にして入力したパケットの宛先要求情報を送出する宛先解決装置を選択するようになっている。これにより、ある宛先解決装置に対して負荷が高い宛先判別処理であれば、これよりも負荷の小さい他の宛先解決装置を選択して宛先要求情報を送出することができる。したがって、たとえば複数備えられた宛先解決装置それぞれのパケットの種別に対応した判別処理の負荷が異なる場合であっても、これら宛先解決装置に負担をかけることなく、負荷の分散を図ることができる。
【0124】
更に請求項4記載の発明によれば、パケット受信装置とパケット送信装置が独立しているので、パケットの受信処理と送信処理の処理負担が大きく異なるようなパケットを転送するシステムが存在する場合であっても、システムごとにパケット受信装置あるいはパケット送信装置を変更して対応する柔軟なシステムを構築することができる。
【0125】
更に請求項5記載の発明によれば、宛先要求情報作成手段が宛先の判別に必要な情報をパケットから抜き出すようになっている。このようにパケットから必要な情報を抜き出す処理を独立させることで、パケット内での必要な情報の格納位置が変更された場合や扱うパケットの種類が増加した場合であっても、この宛先要求情報作成手段を変更または追加することで対応できる柔軟なパケット処理システムを構築することができる。
【図面の簡単な説明】
【図1】本発明の実施例におけるパケット処理装置の構成の概要を表わしたブロック図である。
【図2】図1で示したパケット処理装置が配置された通信ネットワークの概要を説明する説明図である。
【図3】図1で示した第1の回線インタフェース処理部の構成を表わしたブロック図である。
【図4】第1の回線インタフェース処理部のパケット受信部の構成を表わしたブロック図である。
【図5】第1の回線インタフェース処理部のパケット送信部の構成を表わしたブロック図である。
【図6】図4に示したパケット受信部内に配置されている各種メモリを説明する説明図である。
【図7】フリーリストメモリとソースマルチキャストメモリを使用してフリーアドレスを管理する処理を説明する説明図である。
【図8】フリーヘッドポインタが更新されるときのフリーリストメモリとソースマルチキャストメモリの様子を説明する説明図である。
【図9】フリーテールポインタが更新されるときのフリーリストメモリとソースマルチキャストメモリの様子を説明する説明図である。
【図10】図4に示したパケットリンクメモリを使用してページリンクの説明を行う説明図である。
【図11】図10に示した状態から更にページを格納してリンクする処理を説明する説明図である。
【図12】図11に示した状態から更にページを格納してリンクする処理を説明する説明図である。
【図13】図12に示した状態から更にページを格納して、これまでに格納されたページを示すオブジェクトを作成する処理を説明する説明図である。
【図14】図5に示したリンクメモリとアカウントメモリに設定されるフィールドと格納される値を説明する説明図である。
【図15】宛先要求パケットページの構成を説明する説明図である。
【図16】宛先解決パケットページの構成を説明する説明図である。
【図17】パケットの先頭部分を格納する転送パケットページの構成を説明する説明図である。
【図18】図17で示したパケットの先頭部分以外を転送するための転送パケットページの構成を説明する説明図である。
【図19】本発明の実施例で示したパケット処理装置を用いたパケットのユニキャスト転送処理を行う処理の概要を表わした流れ図である。
【図20】本発明の実施例で示した第1の回線インタフェース処理部に受信されたパケットがパケット受信部に格納される処理を表わした流れ図である。
【図21】図20で示したパケットリード制御部に宛先要求オブジェクトが受信されてから宛先要求パケットページが第1の宛先解決処理部に転送されるまでの処理を表わした流れ図である。
【図22】第1の回線インタフェース処理部のパケット送信部に第1の宛先解決処理部から転送される宛先解決パケットページを格納する処理を表わした流れ図である。
【図23】第1の回線インタフェース処理部のパケット送信部からパケット受信部へ宛先解決パケットページが転送される処理を表わした流れ図である。
【図24】第1の回線インタフェース処理部のパケット受信部からパケット送信部へパケットが転送される処理を表わした流れ図である。
【図25】第1の回線インタフェース処理部のパケット送信部がパケット受信部から転送されるパケットを格納する処理を表わした流れ図である。
【図26】第1の回線インタフェース処理部のパケット送信部がパケットを出力する処理を表わした流れ図である。
【図27】本発明の実施例で示したパケット処理装置を用いたパケットのマルチキャスト転送処理の概要を表わした流れ図である。
【図28】発明の変形例のパケット処理装置の概要を表わしたブロック図である。
【図29】発明の変形例のパケット処理装置がパケットのマルチキャスト転送を行う処理を表わした流れ図である。
【図30】従来のパケット処理装置の概要を表わしたブロック図である。
【符号の説明】
101、211 パケット処理装置
1111、1112 宛先解決選択処理部
1121、1122 選択部
2121〜212N 第1〜第Nの回線インタフェース処理部
2131〜213M 第1〜第Mの宛先解決処理部
214 スイッチ処理部
2171〜217M 第1〜第Mの宛先対応テーブル
2181〜218M 第1〜第Mの宛先解決情報作成部
22112〜221NK 通信端末
222 マルチキャストパケット送信端末
3011 パケット受信部
3021 パケット送信部
3111、3311 パケットメモリ
3121 パケットリンクメモリ
3131 フリーリストメモリ
3141 ソースマルチキャストメモリ
3151、3351 アクセス制御部
3161、3361 パケットライト制御部
3171、3371 パケットリード制御部
3181 転送先選択部
3321 リンクメモリ
3331 アカウントメモリ
3341 デスティネーションメモリ
3381 送信ポート対応表

Claims (5)

  1. 入出力を選択するスイッチと、
    このスイッチに接続され、転送すべきパケットを入力するパケット入力手段と、このパケット入力手段が入力したパケットを一時的に格納するパケット格納手段と、前記パケット入力手段が入力したパケットの宛先の判別を要求する情報を組み込んだ宛先要求情報を作成する宛先要求情報作成手段と、この宛先要求情報作成手段の作成した宛先要求情報を予め選択した転送先にこのスイッチを介して送出する宛先要求情報送出手段と、送出した宛先要求情報に対してこのスイッチを介してパケットの宛先を示す宛先解決情報が返送されてきたときその宛先解決情報の示す宛先の数に応じて必要な数だけ前記パケット格納手段に格納したパケットをコピーして、この宛先解決情報が示すそれぞれの宛先に1つずつ対応付けてこれらを転送するパケット転送手段とを備えた回線インタフェース装置と、
    前記スイッチを介してこの回線インタフェース装置からパケットの宛先の判別を要求する前記宛先要求情報が入力されたとき、このパケットがマルチキャスト転送するパケットであるか否かを判別するマルチキャスト転送判別手段と、このマルチキャスト転送判別手段によってマルチキャスト転送するパケットであると判別されたときこのスイッチに接続されたマルチキャスト転送に対応して宛先を判別する装置を選択してこの宛先要求情報をこのスイッチを介して転送送出する転送部と、前記マルチキャスト転送判別手段によってマルチキャスト転送するパケットではないと判別されたときこの宛先要求情報に対して判別した宛先を示す宛先解決情報を作成しこの宛先要求情報を送出元に返送する返送部とを備えた宛先解決選択装置と、
    前記スイッチを介してパケットの宛先の判別を要求する前記宛先要求情報が入力されたとき、マルチキャスト転送するパケットの宛先要求情報に対応して判別した宛先を示す前記宛先解決情報を作成しこの宛先要求情報を送出した前記回線インタフェース装置に返送する宛先解決装置
    とを具備することを特徴とするパケット処理システム。
  2. 前記宛先解決装置は、判別した宛先それぞれに対応してこれを示す前記宛先解決情報を1つずつ作成して返送し、前記パケット転送手段は、返送された前記宛先解決情報ごとにパケットのコピーを1つずつ作成することを特徴とする請求項1記載のパケット処理システム。
  3. 前記宛先解決装置は複数備えられており、前記回線インタフェース装置はこれらの宛先解決装置のパケットの宛先判別のための負荷をそれぞれ判別する負荷判別手段と、この負荷判別手段の判別結果に応じて各宛先解決装置の負荷が分散するように宛先要求情報を送出する宛先解決装置を選択する宛先解決装置選択手段とを更に具備することを特徴とする請求項1記載のパケット処理システム。
  4. 入出力の選択を行うスイッチと、
    このスイッチに接続され、受信回線あるいは受信ポートから転送すべきパケットを入力するパケット入力手段と、このパケット入力手段が入力したパケットの宛先を要求する宛先要求情報を作成する宛先要求情報作成手段と、前記スイッチを介して宛先要求情報を送出する宛先要求情報送出手段と、この宛先要求情報送出手段によって送出された宛先要求情報に対して前記スイッチを介してパケットの送信処理を行う装置を示す送信装置情報とこのパケットの判別された送信先を示す送信先情報を組み込んだ宛先解決情報が入力されたとき、送信装置情報ごとに前記パケット入力手段が入力したパケットのコピーを作成する受信パケットコピー作成手段と、この受信パケットコピー作成手段によって作成されたコピーに前記送信先情報を付加した送信先情報付加パケットを前記送信装置情報が示す装置に向けて前記スイッチを介して送出する送信先情報付加パケット送出手段と、受信回線あるいは受信ポートとを備えたパケット受信装置と、
    前記スイッチに接続され、このスイッチを介して前記パケット受信装置から前記宛先要求情報が入力されたとき、これに対応してパケットの送信処理を行う装置を判別しこれを示す宛先解決情報を作成する宛先解決情報作成手段と、前記宛先要求情報を基にしてこのパケットの送信処理を行う装置が送信する送信先を判別してこれを示す前記送信先情報をこの宛先解決情報作成手段が作成した宛先解決情報に組み込む宛先解決情報組込手段と、この宛先解決情報組込手段によって送信先情報が組み込まれた宛先解決情報を前記宛先要求情報の入力元の前記パケット受信装置にこのスイッチを介して送出する宛先解決情報送出手段とを備えた宛先解決装置と、
    前記送信先情報に対応した送信回線あるいは送信ポートを示す、送信回線情報あるいは送信ポート情報を記憶する送信回線・ポート記憶手段と、前記スイッチを介して前記送信先情報付加パケットが入力されたとき、この送信先情報付加パケットに組み込まれている送信先情報を基にしてこの送信回線・ポート記憶手段に記憶されている送信回線情報あるいは送信ポート情報を取得する送信回線・ポート情報取得手段と、前記スイッチを介して前記送信先情報付加パケットが入力されたとき、このパケットがマルチキャスト転送するパケットであるか否かを判別するパケット種別判別手段と、前記送信回線・ポート情報取得手段が取得した送信回線情報あるいは送信ポート情報が示す送信回線あるいは送信ポートごとにこの送信先情報付加パケットのパケットが前記パケット種別判別手段によってマルチキャスト転送するパケットであると判別されたときこのパケットをコピーして送出する送信パケット送出手段と、複数の送信回線あるいは複数の送信ポートとを備えたパケット送信装置
    とを具備することを特徴とするパケット処理システム。
  5. 前記宛先要求情報作成手段は、前記パケット入力手段が入力したパケットからその宛先を判別するための情報を抜き出してこのパケットの宛先の判別を要求する前記宛先要求情報を作成することを特徴とする請求項1または請求項4記載のパケット処理システム。
JP2002051144A 2002-02-27 2002-02-27 パケット処理システム Expired - Fee Related JP3719222B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002051144A JP3719222B2 (ja) 2002-02-27 2002-02-27 パケット処理システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002051144A JP3719222B2 (ja) 2002-02-27 2002-02-27 パケット処理システム

Publications (2)

Publication Number Publication Date
JP2003258899A JP2003258899A (ja) 2003-09-12
JP3719222B2 true JP3719222B2 (ja) 2005-11-24

Family

ID=28663190

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002051144A Expired - Fee Related JP3719222B2 (ja) 2002-02-27 2002-02-27 パケット処理システム

Country Status (1)

Country Link
JP (1) JP3719222B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4913110B2 (ja) * 2008-10-28 2012-04-11 アラクサラネットワークス株式会社 ネットワーク中継装置
CN105573711B (zh) 2014-10-14 2019-07-19 深圳市中兴微电子技术有限公司 一种数据缓存方法及装置

Also Published As

Publication number Publication date
JP2003258899A (ja) 2003-09-12

Similar Documents

Publication Publication Date Title
KR100308719B1 (ko) 통신 수신기에서 흐름 제어 및 라우팅을 개선한 다중 에프아이에프오를 사용하기 위한 방법 및 장치
JP2543325B2 (ja) 通信システムにおいてデ―タをマルチキャストする方法及び装置
US5701300A (en) Connectionless server for an asynchronous transfer mode network
US7369552B2 (en) Multicast communication method and apparatus
JPH04260253A (ja) データ通信システム
EP0420492B1 (en) packet switching network for multiple packet types
US20050147114A1 (en) Multicasting in a shared address space
US4907220A (en) Process for the establishment of virtual connections passing through switching matrices of a multi-stage switching system
JPH09297746A (ja) プロセッサ間通信方法及びそれに用いるプロセッサ
JP3719222B2 (ja) パケット処理システム
US7505476B2 (en) Packet transfer path control apparatus and control program therefor
US7403521B2 (en) Multicast and broadcast operations in ethernet switches
JP3557946B2 (ja) パケット交換装置
US6847637B1 (en) Unit and method for switching data packets, a data processing apparatus comprising such a unit and a network comprising them
EP0940040A2 (en) File server with a configuration suited for distribution of decentralized data
JP4019884B2 (ja) パケット振り分け装置
JP6590774B2 (ja) コンテンツ配信システムのサーバ装置、転送装置及びプログラム
CA2329366C (en) System for transferring information between devices over virtual circuit established therebetween using computer network
JP3851259B2 (ja) マルチキャスト通信システムおよびマルチキャスト通信方法
JP2590737B2 (ja) 蓄積交換システム
KR0150529B1 (ko) 선택적인 멀티캐스팅 기능을 가지는 비연결형 서버시스템
US20040090961A1 (en) Parallel processing routing device
JP3606315B2 (ja) 高速インタフェース収容時のスイッチング方式
SE515333C2 (sv) Kommunikationsdataomkopplingsanordning och kommunikationssystem med sådan omkopplingsanordning
JPH0568045A (ja) 非同期転送モード交換機

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20050128

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050201

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050404

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20050829

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

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20090916

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20090916

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20100916

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20110916

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20120916

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20130916

Year of fee payment: 8

LAPS Cancellation because of no payment of annual fees