JP4316349B2 - パケット転送経路制御装置および制御プログラム - Google Patents

パケット転送経路制御装置および制御プログラム Download PDF

Info

Publication number
JP4316349B2
JP4316349B2 JP2003365970A JP2003365970A JP4316349B2 JP 4316349 B2 JP4316349 B2 JP 4316349B2 JP 2003365970 A JP2003365970 A JP 2003365970A JP 2003365970 A JP2003365970 A JP 2003365970A JP 4316349 B2 JP4316349 B2 JP 4316349B2
Authority
JP
Japan
Prior art keywords
packet
output
unicast
multicast
input
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
JP2003365970A
Other languages
English (en)
Other versions
JP2005130366A (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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2003365970A priority Critical patent/JP4316349B2/ja
Priority to US10/799,481 priority patent/US7505476B2/en
Publication of JP2005130366A publication Critical patent/JP2005130366A/ja
Application granted granted Critical
Publication of JP4316349B2 publication Critical patent/JP4316349B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/15Flow control; Congestion control in relation to multipoint traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • H04L12/1881Arrangements for providing special services to substations for broadcast or conference, e.g. multicast with schedule organisation, e.g. priority, sequence management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/62Queue scheduling characterised by scheduling criteria
    • H04L47/622Queue service order
    • H04L47/6235Variable service order
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/62Queue scheduling characterised by scheduling criteria
    • H04L47/624Altering the ordering of packets in an individual queue

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Description

本発明はパケット通信方式に係り、さらに詳しくは可変長や固定長のパケットをユニキャスト方式、あるいはマルチキャスト/ブロードキャスト方式で転送する通信システムにおけるパケット転送経路制御装置、および制御プログラムに関する。
Ethernet(登録商標)フレームなどの可変長のパケットや、非同期転送モード(アシンクロナス・トランスファー・モード、ATM)などの固定長パケットを用いる通信システムが広範に利用されている。このようなパケット転送システム内のパケット転送経路制御装置は、入力されたパケットをパケット内の宛先情報に基づいて決定した出力ポートから送信する機能を持っている。宛先情報に対応する出力ポートがただ1つであるようなパケット、すなわち1つの入力ポートから入力され、1つの出力ポートから出力されるパケットをユニキャストパケット、入力パケットの宛先情報に複数の出力ポートが対応し、1つの入力ポートから入力されたパケットを複数の出力ポートから出力すべきパケットをマルチキャストパケット、入力パケットの宛先情報が全ての出力ポートに対応するパケット、あるいは出力ポートが定まらず、結果として全ての出力ポートから出力されるパケットをブロードキャストパケットと称する。
通常の1対1の通信ではユニキャストパケットが主に用いられ、通信が行われる。一方、放送サービスのように1対多の通信では、1台の放送サーバから複数の加入者に対して同時にパケットが送信されるために、全ての加入者との間での通信を1対1のユニキャストパケットによって実現することはサーバの負荷が大きくなり、サーバに接続された通信回線の帯域を効率的に利用することができない。そこでパケットの転送経路制御装置において、例えば放送サーバから送られたパケットを実質的にコピーして、マルチキャスト/ブロードキャストパケットとして加入者側に転送する方式が用いられている。
図20はそのようなパケット転送経路制御装置によるマルチキャストパケット転送方式の説明図である。同図において放送サーバ41から出力された1つのマルチキャストパケットは、経路制御装置42によって実質的にコピーされ、複数の出力ポートから出力されて、加入者1から加入者3は放送サーバから出力されたパケットを受信することができる。パケットをコピーする経路制御装置42をできるだけ加入者の近くに置くことによって、放送サーバ、および通信システムの負荷を増大させることなく、1対多の通信を実現することができる。
図21はパケット転送経路制御装置の従来例の構成ブロック図であり、図22は転送されるパケットのフォーマットの例である。図21において、ある入力ポート50から入力されたパケットは、対応する方路決定部51によってそのパケットがユニキャストパケットであるか、複数の出力ポートから出力すべきマルチキャストパケットであるかのパケット種別が判別され、また出力ポート管理テーブル52の内容によって、パケットの宛先アドレス情報に対応してパケットを出力すべき出力ポートが決定され、このパケット種別と出力ポートの情報はパケットデータと共にパケットデータ書込み部53に送られる。
パケットデータ書込み部53はパケットデータをパケットバッファ54に書き込むと共に、パケット管理テーブル55に、例えばそのパケットを出力すべき出力ポートに対応させて、そのパケットの管理情報として、パケットデータが格納されたパケットバッファ54上のアドレスなどを書き込む。各出力ポート57に対応するパケットデータ読出し部56は、対応する出力ポート57から出力すべきパケットを、その出力ポートに対応させて、パケット管理テーブル55内の管理情報によってパケットバッファ54から読出し、パケットを出力ポート57から出力する。
図22のパケットフォーマットは、例えばイーサネットフレームの例を示し、このフレームのプリアンブルの次に格納されているパケットの宛先アドレスに対応して、図21の出力ポート管理テーブル52にそのパケットを出力すべき出力ポートの番号が格納されており、入力されたパケットはその出力ポートから出力されることになる。
一般家庭などにおけるブロードバンド通信技術の普及に伴なって、放送サービスや多地点テレビ電話のように、マルチキャスト/ブロードキャストパケットを利用した1対多の通信技術の重要性は急速に高まっている。マルチキャストパケットやブロードキャストパケットを転送するためには、パケットの転送経路制御装置内で前述のようにパケットのコピー処理を行う必要があり、多数の出力ポートを持つ経路制御装置においてはコピー処理に膨大な時間がかかり、ユニキャストパケットを含めて後続するパケットの処理が滞り、経路制御装置の性能の劣化が生じるという問題点があった。
このようにユニキャストパケットとマルチキャストパケットとが転送される通信システムにおけるパケット転送技術の従来例として次の3つの文献がある。
特開平10−2430095号公報 「スイッチングハブ」 特表2003−516029号公報 「ワイヤ速度のIPマルチキャスト転送のための方法および装置」 特開2003−158532号公報 「マルチMACLSIのマルチキャスト送信パケットの転送装置およびその転送方法」
特許文献1では、ユニキャストパケットとマルチキャストパケットとの伝送経路を別にして、マルチキャストパケットの伝送では、入力ポートと出力ポートとをリピートバッファを介して1対Nに接続し、複数の出力ポートから同じパケットを同時に送出可能とする技術が開示されている。
特許文献2では、IPマルチキャストグループのための受信されたIPマルチキャストパケットはメモリに記憶され、メモリにおけるパケットの場所へのポインタがパケットのコピーが転送されるべき各ポート毎に記憶され、入力ポートに到着するIPマルチキャストパケット、受信側パケットのコピーがワイヤ速度でIPマルチキャストグループの各メンバに転送される技術が開示されている。
特許文献3には、複数ポートを持つパケット転送装置において、上位層デバイスとのインタフェースである送信バスに複数のポートに同時に書き込む仕組みを設けたことによって、上位層デバイスに対してマルチキャストを効率よく転送する技術が開示されている。
しかしながらこれらの従来技術においては、ユニキャストパケットとマルチキャスト/ブロードキャストパケットとの間のパケット順序性が保証されないという問題点があった。例えば特許文献3では、マルチキャスト/ブロードキャストパケットを書き込むマルチキャスト専用キューが設けられ、各出力ポートでの読出し時にパケットのコピー処理を行う方式が提案されているが、マルチキャストパケットの出力が優先されるために、時間的に先に到着したユニキャストパケットを、マルチキャスト専用キュー内のパケットが出力されるまで出力できず、ユニキャストパケットとマルチキャストパケットとの間の出力順序が保証できない。
パケット出力の順序性が乱れた場合には、パケット受信側の上位レイヤ、例えばTCPによってそれが検出され、パケットの再送要求が送信元に対して行われることになる。このような再送要求が複数の端末から同時に行われると、ネットワークの輻輳状態が発生しやすくなり、ネットワークの運用上望ましくないという問題点があった。
本発明の課題は上述の問題点に鑑み、出力ポート毎にマルチキャストパケットの管理情報を格納するマルチキャスト管理テーブルを設け、また入力パケットに対して、例えば出力ポート毎にシリアル番号を付与してパケットの出力を管理することによって、パケットの転送処理を高速化すると共に、ユニキャストパケットとマルチキャストパケットとの間でのパケットの出力の順序性を保証することである。
図1は本発明のパケット転送経路制御装置の原理構成ブロック図である。同図は1つ以上の入力ポートの何れかから入力され、複数の出力ポートの内の1つの出力ポートから出力されるべきユニキャストパケット、複数の出力ポートから出力されるべきマルチキャストパケットの転送を制御するパケット転送経路制御装置の原理構成ブロック図である。
図1において方路決定手段1は、入力ポートから入力されたパケットを出力すべき出力ポートを決定し、かつそのパケットに対する出力順序を指定する出力順序識別情報を付与するものであり、パケットデータ記憶手段2は入力されたパケットのデータを記憶するものであり、パケット出力手段3a、3b、・・3nは複数の出力ポートにそれぞれ対応し、方路決定手段1によって対応する出力ポートから出力すべきことが決定されているパケットを、出力順序識別情報の示す出力順序に従ってパケットデータ記憶手段2から読出し、対応する出力ポートから出力するものである。
発明の実施の形態においては、複数の出力ポートにそれぞれ対応して、各出力ポートから出力されるべきユニキャストパケットのデータに対するパケットデータ記憶手段2上の記憶位置、および出力順序識別情報を含むパケット管理情報を記憶するユニキャストパケット管理情報記憶手段と、各出力ポートから出力されるべきマルチキャストパケットに対して、ユニキャストパケットと同様のパケット管理情報を記憶するマルチキャストパケット管理情報記憶手段とをさらに備えることもできる。
また出力順序識別情報は、すべての入力ポートから入力された全パケットの入力順序を示すシリアル番号、または各出力ポート毎に出力されるべきパケットの入力順序を示す出力ポート毎のシリアル番号であることもできる。パケット出力手段は、ユニキャストパケット管理情報記憶手段にパケット管理情報が記憶されているパケットの内で、次に出力すべきユニキャストパケットの出力順序識別情報と、同様にマルチキャストパケット管理情報記憶手段に管理情報が記憶され、次に出力すべきマルチキャストパケットの出力順序識別情報とを比較して、対応する出力ポートから次に出力すべきパケットを決定することもできる。
本発明のパケット転送経路制御装置は、図1におけると同様の方路決定手段、パケットデータ記憶手段、および複数の出力ポートにそれぞれ対応するパケット出力手段に加えて、ポインタ記憶手段を備えることができる。
ポインタ記憶手段は、入力ポートから入力されたユニキャストパケットの内で時間的に直近に入力されたユニキャストパケット、またはそのユニキャストパケットのパケット管理データを指すポインタを、そのユニキャストパケットが出力されるべき出力ポートに対応して記憶するものであり、パケット出力手段は対応する出力ポートから出力すべきことが決定されているパケットを、ポインタ記憶手段の記憶内容に基づいてユニキャストパケットとマルチキャストパケットとの入出力の順序を保証する出力順序に従って、パケットデータ記憶手段から読出し、対応する出力ポートから出力する。
発明の実施の形態においては転送経路制御装置は、前述と同様にパケット管理情報としてユニキャストパケットのパケットデータ記憶手段上の記憶位置などを記憶するユニキャストパケット管理情報記憶手段と、パケット管理情報としてマルチキャストパケットのデータのパケットデータ記憶手段上の記憶位置、およびそのマルチキャストパケットが入力された時点で、ポインタ記憶手段からそのマルチキャストパケットが出力されるべき出力ポートに対応して読み出されたポインタの値などを記憶するマルチキャストパケット管理情報記憶手段とを備えることもできる。
また実施の形態においては、前述のポインタは前述の時間的に直近に入力されたユニキャストパケットのパケットデータ記憶手段上の記憶位置、またはユニキャストパケット管理情報記憶手段上でのそのユニキャストパケットに対応するパケット管理情報の記憶位置を示すこともでき、パケット出力手段が対応する出力ポートから直前に出力されたユニキャストパケットに対するパケット管理情報のユニキャストパケット管理情報記憶手段上での記憶位置を記憶し、対応する出力ポートから次のパケットを出力するにあたって、その記憶位置とマルチキャストパケット管理情報記憶手段にパケット管理情報が記憶されているマルチキャストパケットの内で、次に出力すべきマルチキャストパケットに対するポインタの値とを比較し、両者が一致する時にマルチキャストパケットを、一致しない時にユニキャストパケットを出力することもできる。
本発明のパケット転送制御プログラムはユニキャストパケットとマルチキャストパケットとの転送を制御する計算機によって使用されるプログラムであり、入力ポートから入力されたパケットを出力すべき出力ポートを決定する手順と、そのパケットがユニキャストパケットである時、パケットを出力すべき出力ポート毎にユニキャストパケットの管理情報を記憶するテーブルに、パケットに対して指定された出力ポート毎、または全パケットの入力順序を順序性識別情報として書き込む手順と、そのパケットがマルチキャストパケットである時、パケットを出力すべき出力ポート毎にマルチキャストパケットの管理情報を記憶するテーブルに、パケットに対して指定された出力ボート毎、または全パケットの入力順序を順序性識別情報として書き込む手順とを計算機に実行させるものである。
発明の実施の形態においては、この転送制御プログラムは出力ポートに対応してユニキャストパケット管理情報を記憶するテーブルから次に出力すべきユニキャストパケットの順序性識別情報を読出し、マルチキャストパケット管理情報を記憶するテーブルから次に出力すべきマルチキャストパケットの順序性識別情報を読み出す手順と、読み出した2つの順序性識別情報の値を比較して出力ポートからユニキャストパケットとマルチキャストパケットの何れを出力するかを決定する手順とをさらに計算機に実行させることもできる。
以上のように本発明によれば、パケットの入力順序を示すシリアル番号、または各出力ポートに対応して時間的に最も直近に入力されたユニキャストパケットを示すUTポインタを用いて、パケットの出力順序の管理が行われる。
本発明によれば、出力ポートに1対1に対応してマルチキャスト管理テーブルを備え、そのテーブルの格納内容を用いてマルチキャストパケットの出力を管理することによって、マルチキャストパケットを含めたパケットの転送処理を高速化することができる。
また本発明によれば、入力されたパケットにシリアル番号を付与するか、出力ポートに対応してその出力ポートから出力されるべきユニキャストパケットの内で時間的に最も直近に入力されたパケットを指すUTポインタを用いることによってパケットの出力の順序性を保証することができ、ユニキャストパケットとマルチキャストパケットの間の出力順序の保証を実現することが可能となる。

本発明の実施の形態を詳細に説明する前に、まず本発明のパケット転送経路制御装置によるパケット受信時とパケット送信時の基本処理について、図2および図3を用いて説明する。図2はパケット受信時の基本フローチャートである。同図においてステップS1でパケットが受信されると、ステップS2で受信パケットのパケット種別、すなわちユニキャストパケットかマルチキャストパケットかが判定され、またそのパケットを出力すべき出力ポートが決定され、ステップS3で従来例の図21におけると同様に、パケットバッファにパケットデータが書き込まれ、並行してステップS4で受信パケットがユニキャストパケットであるか否かが判定される。
ユニキャストパケットである場合には、ステップS5で本発明においてユニキャストパケットの転送、すなわち出力を管理するためのユニキャストパケットに対する管理情報を格納するユニキャスト管理テーブルに、パケットのパケットバッファ上のアドレスと、パケットの出力順序を保証するための順序性識別情報が書き込まれる。パケットがマルチキャストあるいはブロードキャストパケットである場合には、ステップS6で本発明において出力ポートのそれぞれに対して1対1に設けられるマルチキャスト管理テーブル、すなわちマルチキャストパケット(ブロードキャストパケットを含む)を出力すべき全ての出力ポートに対応するマルチキャスト管理テーブルに、パケットのパケットバッファ上のアドレスと、パケットの出力順序を保証するための順序性識別情報が書き込まれる、すなわち本発明においては、従来例の図21におけるパケット管理テーブル55が、基本的にユニキャスト管理テーブルとマルチキャスト管理テーブルとに分割され、またマルチキャスト管理テーブルは各出力ポート、すなわちパケットデータ読出し部のそれぞれに対して1対1に設けられる。
図3は本発明におけるパケット送信時の基本処理フローチャートである。同図においてパケットを送信する場合には、図21の従来例におけると同様に、それぞれの出力ポートに対応するパケットデータ読出し部によって対応する出力ポートからのパケット送信処理が行われる。
この処理においては、ステップS10でユニキャスト管理テーブルから対応する出力ポートから次に出力すべきパケットに対応する管理情報が取り出され、並行してステップS11でマルチキャスト管理テーブルから対応する出力ポートから次に出力すべきマルチキャストパケットに対する管理情報が取り出され、ステップS12で取り出された管理情報、ここでは順序性識別情報が比較されて、ユニキャストパケットとマルチキャストパケットのいずれを出力するかが決定される。ユニキャストパケットを出力すべき場合には、ステップS13でユニキャスト管理テーブルからパケットバッファ上のパケットデータが書き込まれているアドレスが取得され、ステップS14でパケットバッファからパケットデータが読み出され、ステップS15でパケット送信処理が行われる。
ステップS12でマルチキャストパケットを出力すべきものと決定された場合には、ステップS16でマルチキャスト管理テーブルからパケットバッファ上のアドレス、すなわちマルチキャストパケットのデータが書き込まれているアドレスが取得され、ステップS17でパケットバッファからパケットデータが読み出され、ステップS18でパケット送信処理が行われる。ステップS15、またはステップS18でパケット送信処理が行われた後には、ステップS10とステップS11との処理が並行して行われる。
なお例えば図2において、ステップS3のパケットデータの書込みの後にステップS4でパケットの種別の判定を行ってもよく、また図3のステップS10の処理の後にステップS11の処理を実行しても良いが、ここでは処理の高速化のために並列処理が実行される。
つづいて本発明の第1の実施形態について詳細に説明する。図4は第1の実施形態におけるパケット転送経路制御装置の構成ブロック図である。同図においては、まず従来例の図21と同様に各入力ポート101から10mにそれぞれ対応して、方路決定部111から11mが設けられ、各方路決定部からは出力ポート管理テーブル12に対するアクセスが可能となっている。また従来例には存在しないシリアル番号管理テーブル13が設けられ、このテーブルも各方路決定部からアクセス可能となっている。第1の実施形態ではこのシリアル番号管理テーブル13によってパケットの出力の順序性が管理される。その詳細については後述する。
また各方路決定部に対応してパケットデータ書込み部141から14mが設けられ、またパケットバッファ15が設けられ、従来例におけるパケット管理テーブル55に代わってユニキャストパケットに対する管理情報を格納するユニキャスト管理テーブル16が設けられる。
各出力ポート191から19nに対応するパケットデータ読出し181から18nのそれぞれに対応して、マルチキャストパケットの管理情報が格納されるマルチキャスト管理テーブル171から17nが設けられる。またユニキャスト管理テーブル16に対しては各パケットデータ書込み部から管理情報が書き込まれ、ユニキャストパケットの出力に対応して各パケットデータ読出し部から管理情報が読み出される。
図4において入力ポートのいずれか、例えば入力ポート101から入力されたパケットに対して、方路決定部111によってパケット種別の判別、すなわちユニキャストパケットか、マルチキャスト/ブロードキャストパケットかの判別と、そのパケットを出力すべき出力ポートの決定、およびパケットに付与されるシリアル番号の採番がおこなわれる。パケット種別の判別では、例えばイーサネット(Ethernet)フレームの場合には、宛先アドレスの先頭ビットの値が0の時にユニキャストパケット、1の時にマルチキャスト/ブロードキャストパケットと判別され、また出力ポートの決定は出力ポート管理テーブル12の内容によって行われる。
図5は出力ポート管理テーブルの格納内容の例である。同図において、パケットの宛先アドレスのそれぞれに対応して出力ポートの番号が格納されている。ユニキャストパケットに対しては宛先アドレスのそれぞれに対して出力ポート番号が1つだけ格納され、マルチキャストパケットに対してはアドレスのそれぞれに対して複数の出力ポート番号が格納されている。このテーブルの内容は、例えばキャリアによるネットワークの運用においてあらかじめ設定されており、宛先アドレスを参照することによってパケットを出力すべき出力ポートを決定することができる。また入力パケットの送信元アドレスと入力ポートとの2つの情報から、自己学習によってその内容を設定することも可能であるが、その詳細の説明は省略する。
次に方路決定部111によってシリアル番号管理テーブル13の内容が参照され、入力パケットに対するシリアル番号の採番が行われる。シリアル番号は、入力パケットに付与すべきシリアル番号を装置全体での一連の番号、または出力ポート毎の一連の番号として管理する。図6は出力ポート毎に管理する場合のシリアル番号管理テーブル13の格納形式の例である。パケットが入力されるたびに、そのパケットが出力されるべき出力ポートに対応してシリアル番号が読み出され、入力パケットにその番号を付与すると共に、シリアル番号を1インクリメントして、再びテーブルに格納する処理が行われる。以上の処理によってパケット種別、出力ポート番号、およびシリアル番号の情報がパケットデータと共に、例えばパケットデータ書込み部141に送られる。
パケットデータ書込み部141は、パケットデータをパケットバッファ15に書き込むと共に、パケットバッファ上のパケットデータの保存アドレス、パケット長、シリアル番号などをユニキャスト管理テーブル16、またはそのパケットをマルチキャストパケットとして出力すべき出力ポートに対応するマルチキャスト管理テーブルのそれぞれに書き込む。装置内では出力ポート毎にユニキャストパケットの管理情報を収容するキューをユニキャスト管理テーブル16として、またマルチキャスト/ブロードキャストパケットの管理情報を収容するキューを出力ポート毎に構成して、マルチキャスト管理テーブルとして用いる。
図7は入力されたパケットがマルチキャストパケットである場合の、マルチキャスト管理テーブルへのパケット管理情報の書込み方式の説明図である。同図に示すように、方路決定部11からパケットデータ書込み部14に対してパケットデータ、パケット種別、出力ポート番号、およびシリアル番号が与えられる。パケットデータ書込み部14は、パケットがマルチキャストパケットである場合に、そのパケットを出力すべき出力ポートに対応するマルチキャスト管理テーブルのそれぞれに対して、マルチキャストのパケット管理情報を書き込む。これによって、方路決定部11によって決定されたパケットを出力すべきすべての出力ポートに対応するマルチキャスト管理テーブルに対して、並列にパケット管理情報を書き込むことができる。
続いてパケットデータ書込み部141によってパケット管理情報の書込みが行われる。前述のようにパケットがユニキャストパケットである場合には、管理情報はユニキャスト管理テーブル16に書き込まれる。図8は第1の実施形態におけるユニキャスト管理テーブルの構成例である。ユニキャスト管理テーブル16は、前述のように出力ポート毎のキューに対応し、先頭パケット管理テーブル、末尾パケット管理テーブル、空き領域管理テーブルの3つと共に用いられ、ユニキャストパケットの管理に使用される。先頭パケット管理テーブルには、出力ポート毎に送信待ちのパケット数と、次に出力すべき先頭パケットの管理データのユニキャスト管理テーブル上のアドレスが、ポインタとして格納される。同様に末尾パケット管理テーブルには、出力ポート毎に送信待ちで最後の順序のパケットに対するパケット管理情報のアドレスがポインタとして格納される。
ユニキャスト管理テーブルには、各エントリに、その管理情報に対応するパケットデータのパケットバッファ上の保存アドレス、パケット長、シリアル番号、および同一出力ポートから出力されるべき次の順序のパケットの管理情報へのポインタの4つの情報が格納される。ここでパケット長は、パケットのデータがパケットバッファ上で複数のアドレスにまたがって格納されることがあるため、そのようなパケットの管理のために格納される。さらに空き領域管理テーブルには、ユニキャスト管理テーブル上の空き領域、すなわちデータが格納されていない領域へのポインタが格納される。
図9は第1の実施形態におけるマルチキャスト管理テーブルの構成例である。図4で説明したように、マルチキャスト管理テーブルはそれぞれの出力ポート毎に1対1に対応して設けられる。マルチキャスト管理テーブルは出力ポート毎のキューを構成し、キューの先頭パケット、すなわち最初に出力すべきパケットの管理情報を格納するアドレスへのポインタと、末尾パケット、すなわち最後に出力すべきパケットの管理情報のアドレスを示す末尾パケットポインタと共に管理される。パケット管理情報としては、ユニキャスト管理テーブルと同様にパケットバッファ上のパケットデータの保存アドレス、パケット長、シリアル番号が格納される。キューに管理情報が追加される時には、末尾パケットポインタの指すアドレスの次のアドレスに管理情報が格納され、末尾パケットポインタがインクリメントされる。またパケットを出力する際には、先頭パケットポインタが指すアドレスの管理情報を読出し、先頭パケットポインタの値をインクリメントするという処理によって、テーブルの更新が行われる。管理情報がアドレス順に保存されるために、マルチキャストパケットの間でのパケットの出力の順序性は保証される。なおユニキャストパケットの管理を、図8のような構成ではなく、図9のように出力ポート毎に分かれたテーブル構成で行うこともできる。
図10は第1の実施形態におけるパケット受信時の処理フローチャートである。同図の処理は、図2の基本処理フローチャートにおけると類似している。ステップS20でパケットが受信されると、ステップS21でシリアル番号の採番、ステップS22で出力ポートiが決定された後に、図2におけると同様の処理が実行される、すなわちステップS25ではユニキャスト管理テーブルの出力ポートiに対応するキューに対してパケットの管理情報が追加され、ステップS26ではマルチキャストパケット管理テーブルの出力ポートi、ここでは複数の出力ポートに対応するテーブルにパケットの管理情報が格納される。
図11はパケット受信時のユニキャスト管理テーブルの更新処理のフローチャートである。同図において、まずステップS30で空き領域管理テーブルから、ユニキャスト管理テーブル上の1つの空き領域へのポインタによって空きアドレスkが取得される。このポインタは基本的には空き領域管理テーブル内のどのポインタを使用しても良い。そしてステップS31でユニキャスト管理テーブルのアドレスkに受信パケットのパケットバッファ上の保存アドレス、パケット長、シリアル番号が保存され、ステップS32で先頭パケット管理テーブルから、ユニキャストパケットを出力すべき出力ポートiの送信待ちパケット数が取得され、1加算した値の書込みが行われる。
ステップS33でその送信待ちパケット数の値が1であるか否かが判定され、1である場合にはその出力ポートiに対応する新しいキューを構成するためにステップS34で先頭パケット管理テーブルの出力ポートiに対応するエントリにポインタとしてアドレスkが登録された後に、また送信待ちパケット数が1を超える、すなわち2以上である場合にはステップS35で対応するキューにそのパケットの管理情報を追加するために、末尾パケット管理テーブルから出力ポートiに対応する末尾パケットのポインタを取得し、そのポインタによって示されるユニキャスト管理テーブルのアドレスに保存されている管理情報の中のポインタの値としてアドレスkが登録された後に、ステップS36の処理に移行する。そしてステップS36で、末尾パケット管理テーブルの出力ポートiに対応するポインタとしてアドレスkが登録されて処理を終了する。
図12はパケット送信時の処理フローチャートである。同図は図3の基本処理フローチャートと類似しているが、まずステップS40、ステップS41において、それぞれの管理テーブルから次に出力すべき先頭パケットのシリアル番号が取得され、ステップS42でそれらの番号の大小が比較され、ユニキャストパケットのシリアル番号の方が小さい場合には、ステップS43からステップS45の処理が行われてユニキャストパケットが送信され、マルチキャストパケットのシリアル番号の方が小さい場合には、ステップS46からステップS48の処理によってマルチキャストパケットが送信される。
図13は第1の実施形態におけるパケット送信時のユニキャスト管理テーブル更新処理のフローチャートである。出力ポートiからユニキャストパケットを送信する場合には、その出力ポートに対応するパケットデータ読出し部によってユニキャスト管理テーブル16の格納内容の更新が行われる。まずステップS50で先頭パケット管理テーブルの出力ポートiに対応するエントリから、先頭パケットポインタが示すアドレスjが取得され、ステップS51でユニキャスト管理テーブルのアドレスjに格納されているパケットデータ保存アドレス、パケット長、シリアル番号が読み出され、ステップS52で先頭パケット管理テーブルから出力ポートiにおける送信待ちのパケット数が読み出され、その値から1を減算した値が送信待ちパケット数として書き込まれる。
ステップS53でその新しい送信待ちパケット数の値が0であるか否かが判定され、0を超えている、すなわち1以上である場合には、ステップS54でユニキャスト管理テーブルのアドレスjのエントリに格納されているポインタの値が、先頭パケット管理テーブルの出力ポートiに対応するエントリに書き込まれた後に、また送信待ちパケットが0である場合には直ちに、ステップS55でユニキャスト管理テーブルのアドレスjが空き領域管理テーブルに登録されて処理を終了する。
図9で説明したようにマルチキャスト管理テーブルは出力ポート毎にそれぞれ構成され、パケットの管理情報は入力順とアドレス順とが対応する形式で保存されるために、パケット受信時、およびパケット送信時におけるテーブルの更新処理は容易である。マルチキャスト管理テーブル上の管理情報の追加、または削除に対応して先頭パケットポインタ、または末尾パケットポインタの更新を行うのみでデータの更新処理が行われる。
以上に説明した第1の実施形態では、入力パケットに対してシリアル番号を付加し、その管理を行うこと、またパケット送信時のユニキャストパケットとマルチキャストパケットの間でのシリアル番号の比較処理が従来例と比べて増加するが、これらの処理は簡単なものである。ユニキャストパケット相互間、マルチキャスト/ブロードキャストパケット相互間に加えて、ユニキャストパケットとマルチキャストパケットとの間でパケット出力の順序性が保証できるという従来技術に比べて大きな効果がある。
続いて本発明の第2の実施形態について説明する。図14は第2の実施形態におけるパケット転送経路制御装置の構成ブロック図である。同図を図4の第1の実施形態と比較すると、シリアル番号管理テーブル13に代わって、UTポインタ管理テーブル20が備えられ、このUTポインタ管理テーブル20に対しては方路決定部ではなく、パケットデータ書込み部のそれぞれからアクセスが行われる点が基本的に異なっている。
すなわち第2の実施形態においては、シリアル番号に代わってUTポインタを用いてパケットの出力の順序性が管理される。図15はUTポインタ管理テーブル20の格納形式を示す。各出力ポートに対応してUTポインタの値が格納される。
各入力ポートからユニキャストパケットが入力されるたびに、その入力ポートに対応するパケットデータ書込み部によって、そのパケットの管理情報が格納されたユニキャスト管理テーブル16上のアドレスが、UTポインタの値としてそのパケットを出力すべき出力ポートに対応するエントリに格納される。すなわちUTポインタ管理テーブル20には、各出力ポートに対応して出力されるべきユニキャストパケットの内で、時間的に常に直近に入力されたユニキャストパケットに対応する管理情報の、ユニキャスト管理テーブル上のアドレスが保存されることになる。なおUTポインタの値としては、ユニキャスト管理テーブル上のアドレスの代わりに、そのユニキャストパケットのデータが格納されたパケットバッファ上のアドレスを使うことも可能である。
図16は第2の実施形態におけるユニキャスト管理テーブルの構成を示す。第1の実施形態における図8と比較すると、ユニキャスト管理テーブルの各エントリにシリアル番号が格納されない点を除いて、第1の実施形態におけるとその構成は同じである。またユニキャスト管理テーブルの更新手順も、シリアル番号を使用しない点を除いては第1の実施形態におけると同じである。
図17は第2の実施形態におけるマルチキャスト管理テーブルの構成を示す。第1の実施形態における図9と比較すると、マルチキャストパケットの管理データとして、シリアル番号に代わってUTポインタが格納される点が異なっている。
第2の実施形態においては、ある入力ポートから入力されたパケットが複数の出力ポートから出力すべきマルチキャストパケットである場合には、対応するパケットデータ書込み部によってUTポインタ管理テーブル20に格納されているUTポインタ、すなわち時間的に最も直近に入力されたユニキャストパケットに対応するポインタの値が読み出され、その値が図17におけるUTポインタの値として、パケットバッファ上のパケットデータの保存アドレス、パケット長と共に格納される。マルチキャスト管理テーブルにおけるパケット受信時、およびパケット送信時の管理情報の更新手順は、UTポインタが存在する以外は、第1の実施形態におけると同様に簡単な処理として実行される。
図18は第2の実施形態におけるパケット受信時の処理フローチャートである。基本処理フローチャートとしての図2と同様に、ステップS60からステップS63の処理が実行され、ステップS63で受信パケットがユニキャストパケットであると判定された時には、ステップS64でユニキャスト管理テーブルにパケット管理情報が追加された後に、ステップS65でUTポインタ管理テーブルに格納されているポインタの値が更新される。すなわちUTポインタ管理テーブルの中で、そのユニキャストパケットが出力されるべき出力ポートに対応するエントリに、このパケットの管理情報が格納されたユニキャスト管理テーブル上のアドレスが保存される。ステップS63でマルチキャストパケットと判定された場合には、ステップS66でUTポインタ管理テーブルからUTポインタの値が読み出され、ステップS67でUTポインタの値を含むパケット管理情報がマルチキャスト管理テーブルに追加される。
図19は第2の実施形態におけるパケット送信時の処理フローチャートである。第2の実施形態においては、それぞれの出力ポートに対応するパケットデータ読出し部が、時間的に最も直近に、対応する出力ポートから出力されたユニキャストパケットの管理情報のユニキャスト管理テーブル上のアドレスを保持しており、図19のパケット送信処理のフローチャートに従ってパケット出力処理を行うものとする。まずステップS70で出力ポートiに対応するマルチキャスト管理テーブルにおける先頭パケットのUTポインタが取得され、ステップS71でそのポインタの値と、直近に出力したユニキャスト管理テーブル上の管理情報のアドレスとを比較し、これらの値が等しい場合には、今読み出されたUTポインタの値に対応するマルチキャストパケットの直前に入力されたユニキャストパケットが出力ポートiからすでに出力されたことが明らかであるために、次に送信すべきパケットとしてマルチキャストパケットを送信することを決定し、ステップS76からステップS78においてマルチキャストパケットの送信処理を行う。
UTポインタの値と保持していたユニキャスト管理テーブルのアドレスとが等しくない場合には、現在読み出されたUTポインタに対応するマルチキャストパケットの前に出力すべきユニキャストパケットがまだ存在するものとして、ステップS72からステップS74においてユニキャストパケットを送信した後、ステップS75で送信したユニキャストパケットに対応するパケット管理情報が保存されていたユニキャスト管理情報のアドレスを保存して、ステップS70の処理に戻る。
なおステップS71でUTポインタの値と保持していたアドレスの値とが等しくない場合にユニキャストパケットを送信するものとしているが、一般的にはこのような場合には保持していたアドレスの方がUTポインタの値より小さく、マルチキャストパケットを出力する前にまだ出力すべきユニキャストパケットが存在することになるが、例えば図16のユニキャスト管理テーブルにおいてパケットの管理情報が保存されるアドレスは出力ポート毎にキューを構成するため、時間的に前に管理情報が保存されるアドレスが後に管理情報が保存されるアドレスよりも小さいとは限らないために、UTポインタの値と保存していたアドレスとが等しくない場合にユニキャストパケットを送信するものとする。
このように第2の実施形態においては、マルチキャストパケットに対応するUTポインタの値と、保存している、時間的に最も直近に出力したユニキャストパケットに対応したパケット管理情報のユニキャスト管理テーブル上のアドレスとを比較して、次に出力すべきパケットとしてユニキャストパケットかマルチキャストパケットかの選択を行うことによって、ユニキャストパケットとマルチキャストパケットとの間で出力パケットの順序性を保証することができる。この保証のために、UTポインタの管理と、パケット送信時のポインタの値と直前のパケット管理情報アドレスとの比較処理が従来に比べて増加するが、これらの処理は簡単な処理であり、ユニキャストパケット相互間、マルチキャスト/ブロードキャストパケット相互間だけでなく、ユニキャストパケットとマルチキャストパケットとの間でパケットの出力の順序性が保証される。
(付記1) ユニキャストパケットとマルチキャストパケットとの転送を制御する装置において、
1つ以上の入力ポートの何れかから入力されたパケットを出力すべき出力ポートを決定し、かつ該パケットに対する出力順序を指定する出力順序識別情報を付与する方路決定手段と、
入力されたパケットのデータを記憶するパケットデータ記憶手段と、
前記複数の出力ポートにそれぞれ対応する複数のパケット出力手段であって、前記方路決定手段によって対応する出力ポートから出力すべきことが決定されているパケットのデータを、前記出力順序識別情報の示す出力順序に従って前記パケットデータ記憶手段から読出し、対応する出力ポートから出力するパケット出力手段とを備えることを特徴とするパケット転送経路制御装置。
(付記2) 前記パケット転送経路制御装置において、
複数の出力ポートにそれぞれ対応して、該各出力ポートから出力されるべきユニキャストパケットのデータに対する前記パケットデータ記憶手段上の記憶位置、および出力順序識別情報を含むパケット管理情報を記憶するユニキャストパケット管理情報記憶手段と、
各出力ポートから出力されるべきマルチキャストパケットのデータに対する前記パケットデータ記憶手段上の記憶位置、および出力順序識別情報を含むパケット管理情報を記憶するマルチキャストパケット管理情報記憶手段とをさらに備えることを特徴とする付記1記載のパケット転送経路制御装置。
(付記3) 前記パケット出力手段が、前記ユニキャストパケット管理情報記憶手段にパケット管理情報が記憶されているパケットの内で、次に出力すべきユニキャストパケットの出力順序識別情報と、マルチキャストパケット管理情報記憶手段にパケット管理情報が記憶されているパケットの内で、次に出力すべきマルチキャストパケットの出力順序識別情報とを比較して、対応する出力ポートから次に出力すべきパケットを決定することを特徴とする付記2記載のパケット転送経路制御装置。
(付記4) 前記出力順序識別情報が、全ての入力ポートから入力された全パケットの入力順序を示すシリアル番号、または各出力ポート毎に出力されるべきパケットの入力順序を示す出力ポート毎のシリアル番号であることを特徴とする付記1記載のパケット転送経路制御装置。
(付記5) ユニキャストパケットとマルチキャストパケットの転送を制御する装置において、
1つ以上の入力ポートの何れかから入力されたパケットを出力すべき出力ポートを決定し、かつ該パケットに対する出力順序を指定する出力順序識別情報を付与する方路決定手段と、
複数の各出力ポートに対応して、1つ以上の入力ポートから入力されたユニキャストパケットの内で時間的に直近に入力されたユニキャストパケット、または該ユニキャストパケットのパケット管理データを指すポインタを、該ユニキャストパケットが出力されるべき出力ポートに対応して記憶するポインタ記憶手段と、
入力されたパケットのデータを記憶するパケットデータ記憶手段と、
前記複数の出力ポートにそれぞれ対応する複数のパケット出力手段であって、前記方路決定手段によって対応する出力ポートから出力すべきことが決定されているパケットのデータを、前記ポインタ記憶手段の記憶内容に基づいてユニキャストパケットとマルチキャストパケットとの入出力の順序を保証する出力順序に従って前記パケットデータ記憶手段から読出し、対応する出力ポートから出力するパケット出力手段とを備えることを特徴とするパケット転送経路制御装置。
(付記6) 前記パケット転送経路制御装置において、
複数の出力ポートにそれぞれ対応して、該各出力ポートから出力されるべきユニキャストパケットのデータに対する前記パケットデータ記憶手段上の記憶位置を含むパケット管理情報を記憶するユニキャストパケット管理情報記憶手段と、
各出力ポートから出力されるべきマルチキャストパケットのデータに対するパケットデータ記憶手段上の記憶位置、および該マルチキャストパケットが入力された時点で前記ポインタ記憶手段から該マルチキャストパケットが出力されるべき出力ポートに対応して読み出されたポインタの値を含むパケット管理情報を記憶するマルチキャストパケット管理情報記憶手段とをさらに備えることを特徴とする付記5記載のパケット転送経路制御装置。
(付記7) 前記ポインタが、前記時間的に直近に入力されたユニキャストパケットのデータに対する前記パケットデータ記憶手段上の記憶位置、または前記ユニキャストパケット管理情報記憶手段上での該ユニキャストパケットに対応するパケット管理情報の記憶位置を指すことを特徴とする付記6記載のパケット転送経路制御装置。
(付記8) 前記パケット出力手段が、対応する出力ポートから直前に出力したユニキャストパケットに対するパケット管理情報の前記ユニキャストパケット管理情報記憶手段上での記憶位置を記憶し、対応する出力ポートから次のパケットを出力するにあたって、前記マルチキャストパケット管理情報記憶手段にパケット管理情報が記憶されているマルチキャストパケットの内で次に出力すべきマルチキャストパケットに対する前記ポインタの値と前記記憶位置とを比較し、両者が一致する時にマルチキャストパケットを、一致しない時にユニキャストパケットを出力することを特徴とする付記7記載のパケット転送経路制御装置。
(付記9) ユニキャストパケットとマルチキャストパケットとの転送を制御する計算機によって使用されるプログラムにおいて、
入力ポートから入力されたパケットを出力すべき出力ポート決定する手順と、
該パケットがユニキャストパケットである時、該パケットを出力すべき出力ポート毎にユニキャストパケットの管理情報を記憶するテーブルに、パケットに対して指定された出力ポート毎、または全パケットの入力順序に対応して付与された順序性識別情報を書き込む手順と、
該パケットがマルチキャストパケットである時、該パケットを出力すべき出力ポート毎にマルチキャストパケットの管理情報を記憶するテーブルに、パケットに対して指定された出力ポート毎、または全パケットの入力順序に対応して付与された順序性識別情報を書き込む手順とを計算機に実行させるパケット転送経路制御プログラム。
(付記10) 前記パケット転送制御プログラムにおいて、
出力ポートに対応してユニキャストパケット管理情報を記憶するテーブルから次に出力すべきユニキャストパケットの順序性識別情報を読出し、マルチキャストパケット管理情報を記憶するテーブルから次に出力すべきマルチキャストパケットの順序性識別情報を読み出す手順と、
該読み出した2つの順序性識別情報の値を比較して、該出力ポートから次にユニキャストパケットとマルチキャストパケットとの何れを出力するかを決定する手順とをさらに計算機に実行させることを特徴とする付記9記載のパケット転送制御プログラム。
本発明は、パケットなどを利用して通信を行う通信産業は当然のこととして、プライベートなネットワークを介して企業内での通信を必要とするすべての産業において利用可能である。
本発明のパケット転送経路制御装置の原理構成ブロック図である。 本発明におけるパケット受信時の基本処理フローチャートである。 本発明におけるパケット送信時の基本処理フローチャートである。 第1の実施形態におけるパケット転送経路制御装置の構成を示すブロック図である。 出力ポート管理テーブルの格納内容の例である。 シリアル番号管理テーブルの格納形式の例である。 マルチキャスト管理テーブルへのパケット管理情報書込み方式の説明図である。 第1の実施形態におけるユニキャスト管理テーブルの構成例である。 第1の実施形態におけるマルチキャスト管理テーブルの構成例である。 第1の実施形態におけるパケット受信時の処理フローチャートである。 パケット受信時のユニキャスト管理テーブル更新処理のフローチャートである。 第1の実施形態におけるパケット送信時の処理フローチャートである。 パケット送信時のユニキャスト管理テーブル更新処理のフローチャートである。 第2の実施形態におけるパケット転送経路制御装置の構成を示すブロック図である。 UTポインタ管理テーブルの格納形式の例である。 第2の実施形態におけるユニキャスト管理テーブルの構成例である。 第2の実施形態におけるマルチキャスト管理テーブルの構成例である。 第2の実施形態におけるパケット受信時の処理フローチャートである。 第2の実施形態におけるパケット送信時の処理フローチャートである。 パケット転送経路制御装置によるマルチキャストパケット出力方式の説明図である。 パケット転送経路制御装置の従来例の構成を示すブロック図である。 パケットフォーマットの例を示す図である。
符号の説明
1 方路決定手段
2 パケットデータ記憶手段
a ,3b ・・・ パケット出力手段
101 ,102・・・ 入力ポート
111 ,112・・・ 方路決定部
12 出力ポート管理テーブル
13 シリアル番号管理テーブル
141 ,142・・・ パケットデータ書込み部
15 パケットバッファ
16 ユニキャスト管理テーブル
171 ,172・・・ マルチキャスト管理テーブル
181 ,182・・・ パケットデータ読出し部
191 ,192・・・ 出力ポート
20 UTポインタ管理テーブル
41 放送サーバ
42 経路制御装置
50 入力ポート
51 方路決定部
52 出力ポート管理テーブル
53 パケットデータ書込み部
54 パケットバッファ
55 パケット管理テーブル
56 パケットデータ読出し部
57 出力ポート

Claims (4)

  1. ユニキャストパケットとマルチキャストパケットとの転送を制御する装置において、
    1つ以上の入力ポートの何れかから入力されたパケットを出力すべき出力ポートを決定し、かつ該パケットに対する出力順序を指定する出力順序識別情報を付与する方路決定手段と、
    入力されたパケットのデータを記憶するパケットデータ記憶手段と、
    前記複数の出力ポートにそれぞれ対応する複数のパケット出力手段であって、前記方路決定手段によって対応する出力ポートから出力すべきことが決定されているパケットのデータを、前記出力順序識別情報の示す出力順序に従って前記パケットデータ記憶手段から読出し、対応する出力ポートから出力するパケット出力手段とを備え
    前記出力順序識別情報は、前記ユニキャストパケットと前記マルチキャストパケットの間の入力順序を保持していることを特徴とするパケット転送経路制御装置。
  2. 前記パケット転送経路制御装置において、
    複数の出力ポートにそれぞれ対応して、該各出力ポートから出力されるべきユニキャストパケットのデータに対する前記パケットデータ記憶手段上の記憶位置、および出力順序識別情報を含むパケット管理情報を記憶するユニキャストパケット管理情報記憶手段と、
    各出力ポートから出力されるべきマルチキャストパケットのデータに対する前記パケットデータ記憶手段上の記憶位置、および出力順序識別情報を含むパケット管理情報を記憶するマルチキャストパケット管理情報記憶手段とをさらに備えることを特徴とする請求項1記載のパケット転送経路制御装置。
  3. ユニキャストパケットとマルチキャストパケットの転送を制御する装置において、
    1つ以上の入力ポートの何れかから入力されたパケットを出力すべき出力ポートを決定し、かつ該パケットに対する出力順序を指定する出力順序識別情報を付与する方路決定手段と、
    複数の各出力ポートに対応して、1つ以上の入力ポートから入力されたユニキャストパケットの内で時間的に直近に入力されたユニキャストパケット、または該ユニキャストパケットのパケット管理データを指すポインタを、該ユニキャストパケットが出力されるべき出力ポートに対応して記憶するポインタ記憶手段と、
    入力されたパケットのデータを記憶するパケットデータ記憶手段と、
    前記複数の出力ポートにそれぞれ対応する複数のパケット出力手段であって、前記方路決定手段によって対応する出力ポートから出力すべきことが決定されているパケットのデータを、前記ポインタ記憶手段の記憶内容に基づいてユニキャストパケットとマルチキャストパケットとの入出力の順序を保証する出力順序に従って前記パケットデータ記憶手段から読出し、対応する出力ポートから出力するパケット出力手段と
    複数の出力ポートにそれぞれ対応して、該各出力ポートから出力されるべきユニキャストパケットのデータに対する前記パケットデータ記憶手段上の記憶位置を含むパケット管理情報を記憶するユニキャストパケット管理情報記憶手段と、
    各出力ポートから出力されるべきマルチキャストパケットのデータに対するパケットデータ記憶手段上の記憶位置、および該マルチキャストパケットが入力された時点で前記ポインタ記憶手段から該マルチキャストパケットが出力されるべき出力ポートに対応して読み出されたポインタの値を含むパケット管理情報を記憶するマルチキャストパケット管理情報記憶手段とを備えることを特徴とするパケット転送経路制御装置。
  4. ユニキャストパケットとマルチキャストパケットとの転送を制御する計算機によって使用されるパケット転送経路制御プログラムであって
    前記パケット転送経路制御プログラムは、
    入力ポートから入力されたパケットを出力すべき出力ポート決定する手順と、
    該パケットがユニキャストパケットである時、該パケットを出力すべき出力ポート毎にユニキャストパケットの管理情報を記憶するテーブルに、パケットに対して指定された出力ポート毎、または全パケットの入力順序に対応して付与された順序性識別情報を書き込む手順と、
    該パケットがマルチキャストパケットである時、該パケットを出力すべき出力ポート毎にマルチキャストパケットの管理情報を記憶するテーブルに、パケットに対して指定された出力ポート毎、または全パケットの入力順序に対応して付与された順序性識別情報を書き込む手順とを前記計算機に実行させ、
    前記順序性識別情報は、前記ユニキャストパケットと前記マルチキャストパケットの間の入力順序を保持していることを特徴とするパケット転送経路制御プログラム。
JP2003365970A 2003-10-27 2003-10-27 パケット転送経路制御装置および制御プログラム Expired - Fee Related JP4316349B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2003365970A JP4316349B2 (ja) 2003-10-27 2003-10-27 パケット転送経路制御装置および制御プログラム
US10/799,481 US7505476B2 (en) 2003-10-27 2004-03-11 Packet transfer path control apparatus and control program therefor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003365970A JP4316349B2 (ja) 2003-10-27 2003-10-27 パケット転送経路制御装置および制御プログラム

Publications (2)

Publication Number Publication Date
JP2005130366A JP2005130366A (ja) 2005-05-19
JP4316349B2 true JP4316349B2 (ja) 2009-08-19

Family

ID=34510208

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003365970A Expired - Fee Related JP4316349B2 (ja) 2003-10-27 2003-10-27 パケット転送経路制御装置および制御プログラム

Country Status (2)

Country Link
US (1) US7505476B2 (ja)
JP (1) JP4316349B2 (ja)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7539190B2 (en) * 2004-01-05 2009-05-26 Topside Research, Llc Multicasting in a shared address space
EP1748615A1 (en) * 2005-07-27 2007-01-31 Sun Microsystems France S.A. Method and system for providing public key encryption security in insecure networks
EP1753166A3 (en) * 2005-08-11 2007-08-29 Samsung Electronics Co., Ltd. Method and system for transmitting and receiving access information for a broadcast service
JP5342428B2 (ja) 2009-12-18 2013-11-13 富士通テレコムネットワークス株式会社 通信制御装置
JP5510000B2 (ja) * 2010-03-31 2014-06-04 ソニー株式会社 コンテンツ送信装置、コンテンツ再生システム、コンテンツ送信方法、およびプログラム
US9998571B2 (en) * 2010-10-01 2018-06-12 Qualcomm Incorporated Legacy-compatible control frames
JP5691555B2 (ja) * 2011-01-25 2015-04-01 日本電気株式会社 相互結合網制御システム、相互結合網制御方法
JP5338964B1 (ja) 2012-11-28 2013-11-13 富士ゼロックス株式会社 制御装置、画像形成システムおよびプログラム
JP5338965B1 (ja) 2012-11-28 2013-11-13 富士ゼロックス株式会社 印刷制御装置、画像形成システムおよびプログラム
US10834754B2 (en) 2013-10-29 2020-11-10 Qualcomm Incorporated Systems and methods for improved communication efficiency in high efficiency wireless networks
US9661634B2 (en) 2013-11-01 2017-05-23 Qualcomm Incorporated Systems and methods for improved communication efficiency in high efficiency wireless networks
US10306290B2 (en) * 2016-08-22 2019-05-28 Embrionix Design Inc. Standardized hot-pluggable transceiving unit with bandwidth optimization functionalities

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5724358A (en) * 1996-02-23 1998-03-03 Zeitnet, Inc. High speed packet-switched digital switch and method
GB2316572B (en) 1996-08-14 2000-12-20 Fujitsu Ltd Multicasting in switching apparatus
GB9617553D0 (en) * 1996-08-21 1996-10-02 Walker Christopher P H Communication system with improved routing switch
US6400715B1 (en) * 1996-09-18 2002-06-04 Texas Instruments Incorporated Network address matching circuit and method
JPH10243009A (ja) 1997-02-28 1998-09-11 Matsushita Electric Works Ltd スイッチングハブ
US6308218B1 (en) * 1997-09-17 2001-10-23 Sony Corporation Address look-up mechanism in a multi-port bridge for a local area network
US6449283B1 (en) * 1998-05-15 2002-09-10 Polytechnic University Methods and apparatus for providing a fast ring reservation arbitration
US6157955A (en) * 1998-06-15 2000-12-05 Intel Corporation Packet processing system including a policy engine having a classification unit
US6611521B1 (en) * 1998-07-14 2003-08-26 International Business Machines Corporation Data link layer extensions to a high latency wireless MAC protocol
JP3518441B2 (ja) * 1999-10-01 2004-04-12 日本電気株式会社 ユニキャスト/マルチキャスト方式
US6687247B1 (en) * 1999-10-27 2004-02-03 Cisco Technology, Inc. Architecture for high speed class of service enabled linecard
US6618373B1 (en) * 1999-11-10 2003-09-09 Cisco Technology, Inc. Method and system for reliable in-order distribution of events
US6754211B1 (en) 1999-12-01 2004-06-22 Mosaid Technologies, Inc. Method and apparatus for wire speed IP multicast forwarding
US6977930B1 (en) * 2000-02-14 2005-12-20 Cisco Technology, Inc. Pipelined packet switching and queuing architecture
US7016365B1 (en) * 2000-03-31 2006-03-21 Intel Corporation Switching fabric including a plurality of crossbar sections
US6781998B1 (en) * 2000-04-07 2004-08-24 Telefonaktiebolaget Lm Ericsson (Publ) Random reordering system/method for use in ATM switching apparatus
JP3833450B2 (ja) * 2000-07-27 2006-10-11 三菱電機株式会社 通信制御方式及びルータ
JP4588259B2 (ja) * 2000-09-11 2010-11-24 富士通株式会社 通信システム
JP2002111716A (ja) 2000-10-04 2002-04-12 Nec Corp パケットスイッチ及びそれに用いるマルチキャスト制御方式
JP2003023461A (ja) 2001-07-06 2003-01-24 Oki Electric Ind Co Ltd マルチキャストセルコピー装置及びルータ装置
JP2003158532A (ja) 2001-11-20 2003-05-30 Nec Microsystems Ltd マルチmaclsiのマルチキャスト送信パケットの転送装置およびその転送方法
US20030206549A1 (en) * 2002-05-03 2003-11-06 Mody Sachin Satish Method and apparatus for multicast delivery of information
US7061942B2 (en) * 2002-05-31 2006-06-13 Skystream Networks Inc. Apparatus for redundant multiplexing and remultiplexing of program streams and best effort data
US20040066791A1 (en) * 2002-10-02 2004-04-08 Jingshown Wu Asynchronous expansible switching system for switching packet with different length
US7894343B2 (en) * 2003-06-19 2011-02-22 Polytechnic University Packet sequence maintenance with load balancing, and head-of-line blocking avoidance in a switch
JP2005045626A (ja) 2003-07-24 2005-02-17 Nec Engineering Ltd データ転送システム及びそれに用いるマルチキャスト転送方法

Also Published As

Publication number Publication date
US20050089013A1 (en) 2005-04-28
US7505476B2 (en) 2009-03-17
JP2005130366A (ja) 2005-05-19

Similar Documents

Publication Publication Date Title
EP1019833B1 (en) Mechanism for packet field replacement in a multi-layered switched network element
US8094660B2 (en) VLAN server
US6633565B1 (en) Apparatus for and method of flow switching in a data communications network
US7333490B2 (en) Table driven programming system for a services processor
US4884263A (en) Packet-switched communications network with parallel virtual circuits for re-routing message packets
US7333484B2 (en) Services processor having a packet editing unit
JP4068166B2 (ja) 高性能多層スイッチ要素用探索エンジン・アーキテクチャ
EP1180883B1 (en) Distributed source learning for data communication switch
JP4316349B2 (ja) パケット転送経路制御装置および制御プログラム
JP4415023B2 (ja) Pppマルチリンクをサポートするシステムにおけるマルチキャストトラフィックフォーワーディング装置及び制御方法
JP2001292164A (ja) パケット・スイッチおよびその切替方法
US7916743B2 (en) System and method for improved multicast performance
US7480308B1 (en) Distributing packets and packets fragments possibly received out of sequence into an expandable set of queues of particular use in packet resequencing and reassembly
JP2003209575A (ja) データ・ネットワークにおいてマルチキャスト・リストを維持するための方法および装置
US6934289B2 (en) Cell processing method and apparatus in an asynchronous transfer mode switch
CN1638334A (zh) 在无限带宽网络中传送数据包的***和方法
JP2002158708A (ja) スイッチ装置、通信装置及び通信システム
AU2004237319A1 (en) Method for the priority classification of frames
KR20050038028A (ko) 이더넷 (r) 에서의 프레임 전송 방법 및 노드
US7269158B2 (en) Method of operating a crossbar switch
CN113765806B (zh) Mac地址学习方法、装置、设备及可读存储介质
US7613200B1 (en) Method and apparatus using a random indication to map items to paths and to recirculate or delay the sending of a particular item when a destination over its mapped path is unreachable
US7496679B2 (en) Packet communication apparatus
US7610440B2 (en) Content addressable memory with automated learning
US20030043833A1 (en) DMA controller system

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060925

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20081006

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20081104

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20081222

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20090520

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

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20120529

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20130529

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20130529

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees