JP3721880B2 - Packet relay device - Google Patents

Packet relay device Download PDF

Info

Publication number
JP3721880B2
JP3721880B2 JP24836999A JP24836999A JP3721880B2 JP 3721880 B2 JP3721880 B2 JP 3721880B2 JP 24836999 A JP24836999 A JP 24836999A JP 24836999 A JP24836999 A JP 24836999A JP 3721880 B2 JP3721880 B2 JP 3721880B2
Authority
JP
Japan
Prior art keywords
information
entry
packet
input
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 - Lifetime
Application number
JP24836999A
Other languages
Japanese (ja)
Other versions
JP2000312225A5 (en
JP2000312225A (en
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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP24836999A priority Critical patent/JP3721880B2/en
Publication of JP2000312225A publication Critical patent/JP2000312225A/en
Publication of JP2000312225A5 publication Critical patent/JP2000312225A5/ja
Application granted granted Critical
Publication of JP3721880B2 publication Critical patent/JP3721880B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Description

【0001】
【発明の属する技術分野】
本発明は、複数のネットワークを相互に接続し、パケットを中継する中継装置に関する。
【0002】
【従来の技術】
インターネットユーザの増加に伴い、インターネットを流れるトラヒック(パケット)が急増している。インターネットで用いられているパケット型通信方式では、多数のユーザからのパケットが同じ回線を共用使用できるため、帯域あたりのコストを低く抑えることが出来る。また、ユーザ毎の品質制御等の厳密な管理を行っていなかったことも、低コスト実現の要因である。
【0003】
このパケット型通信方式の低コスト性の為、従来、専用の網で実現していた電話網や企業網をインターネットで統合して、通信コストの低減を実現しようという動きが出てきた。これらを統合するためには、従来の電話網や企業網が実現していた低遅延時間や低廃棄率等の通信品質(QoS:Quality of Service)やセキュリティを実現する必要がある。
【0004】
QoSを実現するQoS制御は、制御の対象となる具体的な用途(電話トラヒック等)や個別のユーザ(企業等)を識別しつつ、その契約に応じた優先度で優先転送しなくてはならない。QoS制御に関してはATM(Asynchronous Transfer Mode)交換機で一般的である。ATM交換機のQoS制御はネットワーク入り口で契約された帯域で帯域監視を実施する帯域監視手段、前記帯域を遵守しているパケットに対して契約された優先度で優先転送する優先転送手段より成る。
【0005】
このATM交換機における優先転送手段に関しては例えば特開平6-197128号(以下「従来技術1」という。)に記載されている。ここでは各出力回線毎にCBR用、VBR用の2つの出力バッファを設けている。CBR用バッファに蓄積されたセルの出力優先度をVBR用バッファに蓄積されたセルよりも高くすることにより、通信遅延に厳しい制約を持つCBRトラヒックのセル群について、 ATM交換機内の通信遅延時間を一定値以内に抑えることができる。
【0006】
また、ATM交換機における帯域監視機能についてはThe ATM Forum Traffic Management Specification Version 4.0の第4章(以下「従来技術2」という。)に記載されている。従来技術2は帯域監視のアルゴリズムであるGCRA(Generic Cell Rate Algorithm)について説明している。ネットワークの入り口で前記GCRAに基づく帯域監視を行う事により、特定ユーザがネットワークの資源を占有することを防止できる。
【0007】
ATM交換機は予めコネクションを設定し、入力セルのコネクション情報(ユーザや用途の情報が含まれる)によりATM交換機内に設定されたコネクション情報テーブル内の帯域監視情報や優先度情報(セル転送の優先度)等のQoS制御情報を読み出し、その帯域監視情報を用いて帯域監視を、優先度情報に対し優先転送を実行する(コネクション型通信)。一方、ルータ装置は予めコネクションを設定していないので、ATM交換機の場合のコネクション情報テーブルやコネクション情報テーブル内の帯域監視情報や優先度情報等のQoS制御情報を持っていない(パケット型通信)。このため、ルータ装置で優先転送、帯域監視を行うためには、ルータ装置は入力パケット毎にヘッダ内の情報等により帯域監視情報、優先度情報を検出するフロー検出手段が新たに必要となる。フロー検出手段により、検出された帯域監視情報、優先度情報に対し帯域監視手段、優先転送手段を適用する。なお、本願明細書では、ヘッダ内の情報等の情報を組み合わせて作成したパケット識別の条件をフロー条件と、フロー条件に一致する一連のトラヒックをフローと、フロー条件に入力パケットが一致するか否かを判定することをフロー検出と呼ぶ。
【0008】
ルータ装置におけるQoS制御に関しては、例えば、特開平6-232904 号(以下「従来技術3」という。)で言及されている。従来技術3はルータにおいてQoS制御を実行するために、パケット内の優先度を識別する情報とプロトコル(=上位アプリケーション)情報の全ての組み合わせの優先度を保持するマッピングテーブルに基づきパケットの優先度を判定する旨を開示する。この判定された優先度に基づき優先転送を実行してQoSを確保することが出来る。
【0009】
ルータ装置におけるQoS制御に関する他の従来技術として、IETF(Internet Engineering Task Force)のRFC2475に記されているDiffserv(Differentiated Service)(以下「従来技術4」という。)がある。
【0010】
従来技術4を図2を用いて説明する。インターネット325は企業網A〜Dとインターネット325間で契約されたQoSを実現している。従来技術4はインターネット325の入口のエッジルータA326やエッジルータB327(従来技術4ではバウンダリーノードと呼ばれる)が企業網A321や企業網B324からのパケットを受信するとフロー検出手段(従来技術4ではクラシファイアーと呼ばれる)によりTCP/IPヘッダ内の送信元・宛先IPアドレス、送信元・宛先ポート番号、プロトコル等をフロー条件としてフロー検出する旨を開示している。さらに、前記クラシファイアーにより抽出されたフローの帯域監視を実行してインターネット325における優先度であるDSを判定し、DSフィールド(=TOS)に書き込む旨を開示する。さらに、インターネット325のコアのノードであるバックボーンルータ328(従来技術4ではインテリアノードと呼ばれる)は前記DSフィールドの値に基づきQoS制御することによりバックボーンルータ328におけるQoSを実現する旨を開示する。
【0011】
セキュリティーを実現するためのフィルタリングを実行するためにもフロー検出を行う必要がある。コネクション型通信の場合、予め許可された相手とだけコネクションを設定し、許可されていない相手とのコネクション設定を禁止すれば、予期しない相手からのセルを受信する事はないためセキュリティを守りやすい。しかし、パケット型通信の場合、網に繋がる全ての端末からパケットを受信する可能性があり、予期しない相手からのパケットを完全に廃棄するフィルタリングを実行することが必要である。フィルタリングにおいてもQoS制御と同様に、まず、入力パケット毎にフィルタリングの対象(例えば、社内他事業所からのパケットかそれ以外からのパケットか)を識別するフロー検出を行い、パケット転送の可否を表す転送可否情報を決定する必要がある。ルータはこの転送可否情報に基づいてパケットの転送および廃棄を実行し、企業網のセキュリティーを実現する。
【0012】
ルータ装置におけるフィルタリングに関しては、例えば、特開平6-104900号(以下「従来技術5」という。)に記載されている。従来技術5では、送信元アドレスと宛先アドレスの情報を登録するフィルタリングテーブルを設け、前記フィルタリングテーブルに登録された送信元アドレスから宛先アドレスへのパケットのみ転送し、フィルタリングを実現している。
【0013】
【発明の解決しようとする課題】
インターネットユーザの増加に伴い、ルータが検出しなければならないフローの数が増加しているため、ルータのフロー検出手段は多数のフロー条件を設定できなくてはならない。また、インターネットを流れるトラヒックの急増、回線速度の高速化により、ルータにおける1パケットあたりの処理時間の短縮が必要となる。そのため、ルータは、設定されるフロー条件数が増加した場合にも、QoS制御(優先転送、帯域監視等)やフィルタリングを高速に行えなければならない。さらに、フロー条件の設定に関しては、ルータの管理者が望む多種多様なフロー条件に柔軟に対応できることが望ましい。
【0014】
しかし、従来技術3乃至従来技術5では、かかる観点は検討されていない。 そこで、本発明の第一の目的は、ユーザを識別する情報やプロトコル情報や優先度を識別する情報等のフロー条件を大量に設定でき、回線速度の高速化やフロー条件の増加に対応し、高速にフロー検出し、高速にQoS制御やフィルタリングを実現できるパケット中継装置を提供することである。
【0015】
また、本発明の他の目的は、フロー条件の記述性を向上させ、ルータの管理者が望む多種多様なフロー条件に柔軟に対応することができるパケット中継装置を提供することにある。
【0016】
さらに、ルータ間がATMネットワークやフレームリレーネットワークで接続された図46の様なネットワークにおいては、公衆ATMネットワーク4301において過剰トラヒックによる輻輳が発生し、QoSを維持できない可能性がある。そのため、ルータ間を接続するATMネットワークやフレームリレーネットワークにおいてもQoS制御が行われなくてはならない。しかし、従来技術3乃至従来技術5では、高速にフロー検出し、ATMやフレームリレーのQoS制御を活用するコネクション(VC(Virtual Channel)/VP(Virtual Path)やDLCI)の決定法に関しては記述されていない。
【0017】
本発明の他の目的は、高速にフロー検出を実行してVC/VPあるいはDLCIを決定し、ATMやフレームリレーネットワークのQoS制御を活用可能なルータ装置を提供することである。
【0018】
【課題を解決するための手段】
上記目的を達成するために、本発明のパケット中継装置では、入力パケットのアドレス情報、用途を識別する情報又は優先度を識別する情報のうち少なくとも一つの情報と、その情報に対応する通信品質制御情報又はフィルタリング制御情報とをエントリとし、該エントリを複数有するエントリテーブルを、前記アドレス情報毎に分割して設定したことを特徴とする。
【0019】
また、他のパケット中継装置では、入力パケットのアドレス情報、用途を識別する情報又は優先度を識別する情報のうちの少なくとも一つの情報と、その情報に対応する通信品質制御情報又はフィルタリング制御情報とをエントリとし、該エントリーを複数有するエントリテーブルと、前記エントリテーブル内のエントリを指定するエントリポインタを前記アドレス情報毎に分割して設定したエントリーポインタテーブルとを有することを特徴とする。
【0020】
また、他のパケット中継装置では、入力パケットのアドレス情報、用途を識別する情報又は優先度を識別する情報のうちの少なくとも一つの情報と、その情報に対応する通信品質制御情報又はフィルタリング制御情報とをエントリとし、該エントリを複数有するエントリテーブルが、前記アドレス情報毎に分割して設定されており、前記内部ヘッダ情報が付加された入力パケット内のアドレス情報に対応するエントリテーブルのみを検索し、そのエントリを読み出すエントリ読み出し手段と、前記入力パケットのアドレス情報、用途を識別する情報又は優先度を識別する情報と前記エントリ読み出し手段が読み出したエントリ内の情報との一致判定をする一致判定手段と、前記一致判定手段で一致と判定された場合に、前記エントリ内の前記通信品質制御情報又は前記フィルタリング制御情報により、前記入力パケットの転送の優先度又は、転送の可否を決定する手段とをパイプライン制御することを特徴とする。
【0021】
また、他のパケット中継装置では、入力パケットのアドレス情報、用途を識別する情報又は優先度を識別する情報のうちの少なくとも一つの情報と、その情報に対応する通信品質制御情報又はフィルタリング制御情報とをエントリとし、該エントリーを複数有するエントリテーブルと、前記エントリテーブル内のエントリを指定するエントリポインタを前記アドレス情報毎に分割して設定したエントリーポインタテーブルとを有し、入力パケット内のアドレス情報に対応するエントリポインタのみを読み出すエントリポインタ読み出し手段と、前記エントリポインタ読みだし手段が読み出したエントリポインタが指定するエントリを前記エントリテーブルから読み出すエントリ読み出し手段と、入力パケット内のアドレス情報、用途を識別する情報又は優先度を識別する情報と、前記エントリ読み出し処理部が読み出したエントリ内の情報との一致判定をする一致判定手段と、前記一致判定手段で一致と判定された場合に、前記エントリ内の前記通信品質制御情報又は前記フィルタリング制御情報により、入力パケットの転送の優先度又は、転送の可否を決定する手段とをパイプライン制御することを特徴とする。
【0022】
また、他のパケット中継装置では、入力パケットのアドレス情報、用途を識別する情報又は優先度を識別する情報のうちの少なくとも一つの情報と、その情報に対応する通信品質制御情報又はフィルタリング制御情報とをエントリとし、該エントリを複数有するエントリテーブルが、前記アドレス情報毎に分割して設定されており、入力パケットのアドレス情報に対応するエントリテーブルのみを検索し、そのエントリを読み出すエントリ読み出し手段と、入力パケット内のアドレス情報、用途を識別する情報又は優先度を識別する情報と前記エントリ読み出し手段が読み出したエントリ内の情報との一致判定をする一致判定手段とを有し、前記エントリテーブルと前記一致判定手段とは同一の半導体チップに実装したことを特徴とする。
【0023】
また、他のパケット中継装置では、入力パケットのアドレス情報、用途を識別する情報又は優先度を識別する情報のうちの少なくとも一つの情報と、その情報に対応する通信品質制御情報又はフィルタリング制御情報とをエントリとし、該エントリーを複数有するエントリテーブルと、前記エントリテーブル内のエントリを指定するエントリポインタを前記アドレス情報毎に分割して設定したエントリーポインタテーブルとを有し、入力パケット内のアドレス情報に対応するエントリポインタのみを読み出すエントリポインタ読み出し手段と、前記エントリポインタ読みだし手段が読み出したエントリポインタが指定するエントリを前記エントリテーブルから読み出すエントリ読み出し手段と、入力パケットのアドレス情報、用途を識別する情報又は優先度を識別する情報と、前記エントリ読み出し手段が読み出したエントリ内の情報との一致判定をする一致判定手段とを有し、前記エントリテーブルと前記一致判定手段とは同一の半導体チップに実装したことを特徴とする。望ましくは、前記エントリポインタテーブルは前記半導体チップと異なる半導体チップで構成する。
【0024】
また、他のパケット中継装置では、複数の入力回線のうちの一つの入力回線から入力された入力パケットを複数の出力回線の何れかの出力回線に出力するスイッチ手段と、入力パケットの送信者を識別する情報、受信者を識別する情報、用途を識別する情報、又は優先度を識別する情報のうち少なくとも一つの情報に応じて、該入力されたパケットに対する通信品質制御情報又はフィルタリング制御情報を決定するフロー検出手段とを有し、前記スイッチ手段と、前記フロー検出手段とは、それぞれ異なる半導体チップに実装されていることを特徴とする。
【0025】
また、他のパケット中継装置では、入力パケットのアドレス情報と、前記アドレス情報の有効/無効を示すフラグ情報と、それらの情報に対応する通信品質制御情報又はフィルタリング制御情報とをエントリとし、該エントリを複数有するエントリテーブルを有することを特徴とするパケット中継装置。望ましくは、前記アドレス情報は、インターネット・プロトコル(IP)アドレス情報と、入力回線情報であり、前記アドレス情報の有効/無効を示すフラグ情報は、前記IPアドレス情報の有効/無効を示すフラグ情報と、前記入力回線情報の有効/無効を示すフラグ情報とする。前記エントリテーブルのエントリを読み出すエントリ読み出し手段と、入力パケットのアドレス情報、用途を識別する情報又は優先度を識別する情報と、前記エントリ読み出し処理部が読み出したエントリ内の情報との一致判定をする一致判定手段とを有し、前記一致判定手段は、IPアドレス情報と、入力回線情報毎に設けられた複数の比較手段を有し、IPアドレス情報に対応して設けらた前記比較手段は、前記IPアドレス情報の有効/無効を示すフラグ情報に応じて動作し、入力回線情報に対応して設けらた前記比較手段は、前記入力回線情報の有効/無効を示すフラグ情報に応じて動作する。より具体的には、IPアドレス情報に対応して設けらた前記比較手段は、前記IPアドレス情報の有効/無効を示すフラグ情報が有効を示す場合のみ一致判定を行い、入力回線情報に対応して設けらた前記比較手段は、前記入力回線情報の有効/無効を示すフラグ情報が有効を示す場合のみ一致判定を行う。
【0026】
また、前記エントリには、さらに入力パケットの用途を識別する情報と、前記用途を識別する情報の有効/無効を示すフラグ情報とが含めることが望ましい。
【0027】
前記エントリテーブルのエントリを読み出すエントリ読み出し手段と、入力パケットのアドレス情報、用途を識別する情報又は優先度を識別する情報と、前記エントリ読み出し処理部が読み出したエントリ内の情報との一致判定をする一致判定手段とを有し、前記一致判定手段は、入力パケットのアドレス情報、用途を識別する情報毎に設けられた複数の比較手段を有し、アドレス情報に対応して設けらた前記比較手段は、前記アドレス情報の有効/無効を示すフラグ情報に応じて動作し、用途を識別する情報に対応して設けらた前記比較手段は、前記用途を識別する情報の有効/無効を示すフラグ情報に応じて動作する。より具体的には、アドレス情報に対応して設けらた前記比較手段は、前記アドレス情報の有効/無効を示すフラグ情報が有効を示す場合のみ一致判定を行い、用途を識別する情報に対応して設けらた前記比較手段は、前記用途を識別する情報の有効/無効を示すフラグ情報が有効を示す場合のみ一致判定を行う。
【0028】
また、他のパケット中継装置では、入力パケットのアドレス情報、用途を識別する情報又は優先度を識別する情報のうちの少なくとも一つの情報と、その情報に対応する通信品質制御情報又はフィルタリング制御情報とをエントリとし、該エントリを複数有するエントリテーブルが、前記アドレス情報毎に分割して設定されており、入力パケットのアドレス情報に対応するエントリテーブルのみを検索し、そのエントリを読み出すエントリ読み出し手段と、入力パケットのアドレス情報、用途を識別する情報又は優先度を識別する情報と、前記エントリ読み出し処理部が読み出したエントリ内の情報との一致判定をする一致判定手段とを有し、前記一致判定手段は、入力パケットのアドレス情報、用途を識別する情報又は優先度を識別する情報毎に比較手段を有していることを特徴とする。
【0029】
また、他のパケット中継装置では、入力パケットのアドレス情報、用途を識別する情報又は優先度を識別する情報のうちの少なくとも一つの情報と、その情報に対応する通信品質制御情報又はフィルタリング制御情報とをエントリとし、該エントリーを複数有するエントリテーブルと、
前記エントリテーブル内のエントリを指定するエントリポインタを前記アドレス情報毎に分割して設定したエントリーポインタテーブルとを有し、入力パケットのアドレス情報に対応するエントリポインタのみを読み出すエントリポインタ読み出し手段と、前記エントリポインタ読み出し手段が読み出したエントリポインタが指定するエントリを前記エントリテーブルから読み出すエントリ読み出し手段と、入力パケットのアドレス情報、用途を識別する情報又は優先度を識別する情報と、前記エントリ読み出し処理部が読み出したエントリ内の情報との一致判定をする一致判定処理手段とを有し、前記一致判定手段は、入力パケット内のアドレス情報、用途を識別する情報又は優先度を識別する情報毎に比較手段を有していることを特徴とする。
【0030】
その他の本願が解決しようとする課題、その解決手段は、本願の「発明の実施の形態」の欄及び図面で明らかにされる。
【0031】
【発明の実施の形態】
以下、本発明の実施例を説明する。
【0032】
まず、フロー検出方式であるリニアサーチ方式の問題点を図3乃至図6を用いて説明する。
【0033】
図3は、ネットワークにおけるパケットのフォーマットの一例を示す。ネットワークにおけるパケットのフォーマットはヘッダ部410とデータ部420から構成される。ヘッダ部410はパケットを直前に送出したルータの物理アドレス(ハードウエアアドレス)である送信元MACアドレス(Source Address Media Access Control:以下「SAMAC」という。)400と、パケットを次に受信するルータの物理アドレスである宛先MACアドレス(Destination Address Media Access Control:以下「DAMAC」という。)401と、送信元アドレス(送信端末のアドレス)である送信元IPアドレス(Source IP Address:以下「SIP」という。)402と、宛先アドレス(受信端末のアドレス)である宛先IPアドレス(Destination IP Address:以下「DIP」という。)403と、プロトコル(=上位アプリケーション)を表す送信元ポート(Source Port:以下「SPORT」という。)404と宛先ポート(Destination Port:以下「DPORT」という。)405とネットワーク内の優先度を表すTOS(Type of Service) 411(=DSフィールド)から構成される。また、データ部420はユーザデータであるユーザデータ406から構成される。ヘッダ部410には前記情報以外にIPプロトコルの上位プロトコル等の情報も格納されているが、前記情報と同様に処理することができる。図3のフォーマットは、トランスポート層のプロトコルがTCP(Transmission Control Protocol)またはUDP(User Datagram Protocol)で、ネットワーク層のプロトコルがIP(Internet Protocol)のパケットのものを示したが、それ以外(例えばネットワーク層のプロトコルがIPX等)でも良い。
【0034】
図4は、ルータ内部でのパケットのフォーマットの一例を示す。ルータ内部でのパケットのフォーマットはネットワークのパケットのフォーマットに内部ヘッダ部430がつけ加わる。この内部ヘッダ部430は入力回線番号である入力回線番号407と、出力回線番号である出力回線番号408と、QoS制御の優先転送にて使用する優先度情報409から構成される。
【0035】
図6のエントリテーブル550は一つあるいは複数のエントリ510-i(=1〜H)から構成される。エントリ510-iはフロー条件部520-iとQoS制御情報部530-iから構成される。QoS制御情報部530-iは優先転送で使用するQoS制御情報である優先度情報507より成る。フロー条件部520-iは送信元あるいは宛先ユーザを識別するフロー条件と用途(アプリケーション)を識別するフロー条件と優先度を識別するフロー条件から構成される。送信元あるいは宛先ユーザを識別する条件はSIPとDIPの上限値と下限値であるSIP上限値501、SIP下限値502、DIP上限値503、DIP下限値504と、SIPとDIPの上限値と下限値が有効であることを示すIP有効ビット562と、入力回線番号である入力回線番号508と、入力回線番号508が有効であることを示す入力回線番号有効ビット561である。例えば、図2ネットワークのエッジルータB327はパケットが入力した回線によりパケットを送信した企業網(企業網C323か企業網D324か)を識別することができる。また、SIP、DIPにて上限値および下限値を設定する様にしたのは、ネットワーク(=サブネット)を1つのエントリ510-iで指定可能とするためである。図5は、IPアドレス440のフォーマットを示す。IPアドレス440はネットワークアドレス441とホストアドレス442から構成される。ネットワークアドレス441によりネットワーク(=サブネット)が識別され、ホストアドレス442により前記ネットワーク内の端末が識別される。IPアドレス440は、上位ビットがネットワークアドレスなので、同一ネットワーク内の端末は連続したIPアドレスを持つことになる。したがって、ネットワーク内の全ての端末をIPアドレスの範囲(上限値および下限値)で指定することができる。
【0036】
用途を識別するフロー条件は送信元ポートであるSPORT 505と、宛先ポートであるDPORT 506と、前記SPORT 505とDPORT 506が有効であることを示すポート有効ビット563である。現在ポート番号が割り当てられているアプリケーションとポート番号の対応の一例を図45に示した。優先度を識別するフロー条件はTOS 515とTOS有効ビット564である。従来技術4のDiffservにおけるインテリアノードは前記TOS 515によりフロー検出を実行して優先転送を行う。
【0037】
入力回線番号有効ビット561、IP有効ビット562、ポート有効ビット563、TOS有効ビット564はそれぞれ入力回線番号、IPアドレス、ポート番号、TOSによりパケットを識別する場合には「有効」と、識別しない場合には「無効」と設定される。
【0038】
QoS制御情報の判定時、予め設定されたエントリ510-iがエントリテーブル550の上から順に読みだされる。そして、前記パケットの内部ヘッダ部430とヘッダ部410等の値とフロー条件部520-i内の有効なフロー条件に全て一致したか否か判定される。なお、一致した場合にはエントリ510-i内の優先度情報507がパケットの優先度情報と判定され、フロー検出は終了する。3番目のエントリ510-3のフロー条件に一致した場合、優先度情報507-3が優先度情報と判定され、4番目のエントリ510-4の検索は実行されず、フロー検出は終了する。
【0039】
本願明細書では、上記のフロー検出方式をリニアーサーチ方式と呼ぶ。
【0040】
図2に示すインターネット325でQoS制御およびフィルタリングを実行する場合を考える。図2のネットワークは同一企業の企業網A 321、企業網B 322、企業網C 323と、前記企業とは別の企業の企業網D 324が公衆IPネットワークであるインターネット325によって接続されたネットワークである。インターネット325は企業網A 321と企業網B 322が接続するエッジルータA 326と、企業網C 323と企業網D 324が接続するエッジルータB 327と、エッジルータA 326とエッジルータB 327を接続するバックボーンルータ328より構成される。また、企業網B 322のインターネット325への出入り口にはゲートウェイルータ329が配置されている。
【0041】
QoS制御の優先転送は主にインターネット325内のエッジルータA 326とエッジルータB 327とバックボーンルータ328で、QoS制御の帯域監視やTOS書換は主にインターネット325内のエッジルータA 326と、エッジルータB 327で行われる。インターネット325では企業間の大量のパケットが通過するためパケットあたりの処理時間は短く、エッジルータA 326とエッジルータB 327とバックボーンルータ328は高速にQoS制御を行う必要がある。しかし、インターネット325に接続される企業網が増加すると多数の企業網を識別しなくてはならないため、エントリテーブル550に大量のエントリ510-iが設定される。リニアーサーチ方式ではエントリテーブル550に設定された全てのエントリ510-iが検索されるため、エッジルータA 326、エッジルータB 327、バックボーンルータ328は高速にQoS制御を実行することが困難になるおそれがある。
【0042】
図2のネットワークでフィルタリングを行う場合を考える。フィルタリングにおけるフロー検出ではエントリ内の優先度情報507を転送の可否を示す転送可否情報とすれば良い。フィルタリングは企業網B322内のゲートウェイルータ329で行われる。企業網B322に入力する全てのパケットを処理するためパケットあたりの処理時間は短く、ゲートウェイルータ329は高速にフィルタリングを行う必要がある。フィルタリングでは同一企業である企業網A 321、企業網B 322、企業網C 323間のパケットを転送する様エントリ510-iが設定される。同一企業の企業網の数が3ではなく、さらに多くなると、設定されるエントリ510-iの数も増加する。リニアーサーチ方式ではエントリテーブル550に設定された全てのエントリ510-iが検索されるため、ゲートウェイルータ329は大量のエントリ510- iが設定されると高速にフィルタリングを行うことが困難となるおそれがある。
【0043】
以上のように、リニアーサーチ方式では大量のエントリ510-iが設定されるネットワークにおいて、ルータは高速にQoS制御やフィルタリングを実行することが困難となるおそれがある。そこで、本実施例のフロー検出方式では、大量のエントリ510- iが設定された場合でもリニアサーチ方式と比較して高速にフロー検出を行うことができる入力回線限定方式を採用する。以下、入力回線限定方式の概要を説明する。
【0044】
入力回線限定方式では、リニアーサーチ方式のフロー条件部520-iを構成する入力回線番号508に一致するエントリ510-iだけが検索される。図7は入力回線限定方式の一実施例を示す。
【0045】
図7による入力回線限定方式ではリニアーサーチ方式のフロー条件部520-iから入力回線番号508と入力回線番号有効ビット561を削除したエントリ511-iが入力回線毎に設定される。フロー条件である入力回線番号が一致したエントリ511-iだけ検索されるため、エントリ511-i内に入力回線番号508は必要ない。
【0046】
図8は、入力回線限定方式の他の実施例を示す。図7で説明した入力回線限定方式では、入力回線番号に関係ないエントリ511-iを設定する(例えば「全ての入力回線から入力されたTelnetのトラヒックは高優先」と設定する)場合、エントリ511-iを入力回線数(=N)分設定する必要があり、エントリテーブル551を実現するメモリの効率が悪くなる場合がある。そこで、図8に示す入力回線限定方式では、エントリテーブル750のアドレスであるリスト540を入力回線毎にリストテーブル760に設定しておく。リストテーブルアドレスが1のリスト540-11はエントリ511-1のアドレスを、リストテーブルアドレスが2のリスト540-12はエントリ511-Hのアドレスである。フロー検出時にはパケットが入力された入力回線に割り当てられたリスト540だけ読みだされ、前記リスト540がポイントするエントリ511-iが読み出される。ビット幅の小さなリスト540(1024エントリ持った時にも10bit)を入力回線毎に所持し、ビット幅の大きなエントリ511-iを各入力回線で共有すればエントリテーブル750を実現するメモリを有効に使用することができる。このため、高速化を実現しつつ、多数のエントリ511-iを設定することが可能となる。
【0047】
図1は、ルータの一構成例を示す。ルータ100はルーティング処理とフロー検出とARP(Address Resolution Protocol)処理を行うヘッダ処理部110とパケットの入出力を行うパケット入出力部120とプロセッサ130から構成される。ヘッダ処理部110はルーティング処理部111と、フロー検出部112と、ARP処理部113より、パケット入出力部120は出力FIFO(First In First Out)バッファ振り分け回路121、回線対応部122-i(i=1〜N)および回線i 123-iより構成される。また、プロセッサ130にはルータ100外部の管理端末140が接続されている。
【0048】
回線i 123-iからパケットが入力されると、受信回路124-iは前記パケットが入力された回線の番号 iを入力回線番号407として付加する。そして、ルータ内部のパケットフォーマットに変換した後、入力FIFOバッファ126-iに送信する。この時の出力回線番号408とQoS制御情報409は無意味な情報となる。入力FIFOバッファ126-iはパケットを蓄積し、パケットが蓄積された順番にパケットを出力FIFOバッファ振り分け回路121に送信する。出力FIFOバッファ振り分け回路121はそのパケットを一時蓄積バッファ128に蓄積すると共に、ヘッダ情報11をヘッダ処理部110に出力する。ヘッダ情報11は内部ヘッダ部430とヘッダ部410内の情報から構成される。
【0049】
ルーティング処理部111はヘッダ情報11内のDIPからルーティングテーブルを検索し、前記DIPが属するサブネットに転送するための出力回線番号と、ルータ100が送出するパケットを次に受信するルータのIPアドレス(NIP:Next Hop IP Address)を判定する。ルータ100のプロセッサ130がこのルーティングテーブルの作成、管理を実行する。このルーティングテーブルの検索に関しては、例えば特開平10-222535号に記載されている。さらに、ルーティング処理部111は前記出力回線番号から構成される出力回線情報12をパケット入出力部120の出力FIFOバッファ振り分け回路121とフロー検出部112に、NIPから構成されるNIP情報14をARP処理部113に出力する。出力FIFOバッファ振り分け回路121は前記出力回線情報12を受信すると、一時蓄積バッファ128に蓄積されているパケットの出力回線番号408に前記出力回線情報12を書き込む。
【0050】
ARP処理部113は前記NIP情報14を受信すると、そのNIPに対応するMACアドレスを決定する。さらに、前記MACアドレスから構成されるDAMAC情報15をパケット入出力部120の出力FIFOバッファ振り分け回路121とフロー検出部112に出力する。出力FIFOバッファ振り分け回路121は前記DAMAC情報15を受信すると、一時蓄積バッファ128に蓄積されているパケットのDAMAC401に前記DAMAC情報15を書き込む。
【0051】
一方、フロー検出部112はヘッダ情報11を基にエントリテーブル750を検索して優先度情報を判定する。さらに、優先度情報から成るパケット優先度情報13をパケット入出力部120の出力FIFOバッファ振り分け回路121に出力する。出力FIFOバッファ振り分け回路121はパケット優先度情報13を受信すると、一時蓄積バッファ128に蓄積されているパケットのQoS制御情報409に前記パケット優先度情報13を書き込む。
【0052】
出力FIFOバッファ振り分け回路121は出力回線番号408、DAMAC401およびQoS制御情報409が全て書き込まれた時点で、出力回線番号408が指示する回線対応部122-iのQoS制御情報409が指示する出力FIFOバッファ127-ij(j=1 or 2)にパケットを送信する。回線対応部122-iは出力FIFOバッファ127-ijに前記パケットを蓄積する。回線対応部122-i内の送信回路125-iは出力FIFOバッファ127-ijの読み出しを制御する。読みだし制御として「完全優先制御」や「重みづけ巡回制御」等が知られている。「完全優先制御」では優先度の高い出力FIFOバッファ127-i1にパケットが蓄積されている場合、出力FIFOバッファ127-i1からパケットが蓄積された順番にパケットが読みだされる。出力FIFOバッファ127-i1にパケットが蓄積されていない時だけ優先度の低い出力FIFOバッファ127-i2からパケットが蓄積された順番にパケットが読み出される。一方、「重みづけ巡回制御」では予め設定された比率に基づき出力FIFOバッファ127-i1および出力FIFOバッファ127-i2からパケットが読み出される。なお、送信回路125-iにおける読み出し制御はルータ100の管理者により管理端末140を用いて設定される。さらに、送信回路125-iは読み出したパケットの内部ヘッダ部430を削除する。そして、SAMAC401に回線i 123-iのMACアドレスを書き込み、回線i 123-iにパケットを送出する。
【0053】
フロー検出部112のブロック図を図12に示す。フロー検出部112は結果判定部710、条件一致判定部720、リスト読み出し部730、エントリ読み出し部740、エントリテーブル750、リストテーブル760から構成される。フロー検出部112のフローチャートを図11に示す。フロー検出部112の処理は検出開始処理600、リスト読みだし処理630、エントリ読み出し処理640、条件一致判定処理620、結果判定処理610の5つに大きく分けられる。後述の4つの処理はそれぞれ、リスト読みだし部730、エントリ読み出し部740、条件一致判定部720、結果判定部710において実行される。
【0054】
エントリテーブル750のフォーマットを図8に示す。エントリ読み出し処理640を短時間で行うために、図17に示す様にエントリテーブル750は半導体チップ 1200内部のメモリで実現される。半導体チップ内部のメモリを使用すると半導体チップ 1200のデータ入出力ピンを使用せず大量のデータを一度に読み出すことが可能であるため、半導体チップ内部のメモリはエントリテーブル750の実現に適している。半導体チップ 1200外部のメモリでエントリテーブル750を実現する場合、半導体チップ 1200のピンには限りがあるため、エントリテーブル750を接続するために大量のピンを使用できない。そのため、一度に読み出し可能なビット幅が小さく、エントリ読み出し処理640の処理時間が長くなる。フロー検出を高速化する観点から見ると、半導体チップ 1200外部のメモリはエントリテーブル750の実現に不向きである。
【0055】
リストテーブル760は入力回線毎のG個のリスト540より構成される。リスト540の数Gはエントリテーブル750のエントリ511の収容個数HとG≦Hの関係がある。フロー検出時には、パケットが入力された入力回線のリスト540だけメモリアドレスが一番小さいリスト540から大きいリスト540へと順番に読み出される。
【0056】
リストテーブル760は図17に示した様に半導体チップ 1200外部のメモリで実現される。リスト540はビット幅が小さいため、半導体チップ 1200のピン数を消費しなくても高速に読み出すことができる。また、全ての入力回線に全エントリ511-iを設定可能とした時(即ち、G=Hの時)、「リストテーブル760の容量=リスト540のビット幅×入力回線数×エントリ数(=H)」となるため、入力回線数が増加するとリストテーブル760の容量が大きくなる。そのため、容量の大きな半導体チップ1200外部のメモリはリストテーブル760に最適である。また、エントリ511-iを指定するビット幅の小さなリスト540を入力回線毎に持ち、エントリ511-iを入力回線で共有することによりメモリの容量の小さい半導体チップ 1200内部のメモリを効率良く使用することができる。
【0057】
以下、フロー検出時の処理を図11を用いて順番に説明する。検出開始処理600では、パケットのヘッダ情報11がヘッダ処理部110に送信されると、フロー検出部112は前記ヘッダ情報11内の入力回線番号407、SIP402、DIP 403、SPORT404、DPORT405およびTOS 411の各情報をそれぞれリスト読み出し部730内の入出力回線番号蓄積手段732、条件一致判定部720内のパケット内SIP蓄積手段722-2、パケット内DIP蓄積手段723-2、パケット内SPORT蓄積手段724-2、パケット内DPORT蓄積手段725-2およびパケット内TOS蓄積手段728-2に蓄積する(ステップ601)。
【0058】
リスト読みだし処理630は、リスト読みだし部730がリストテーブル760のヘッダ情報11内の入力回線番号に割り当てられたリスト540だけを読みだしてリスト蓄積手段741に蓄積する処理である。まず、リスト読みだし部730は回線i用の先頭のリスト540-i1を読み出す様に、リスト番号カウンタ733の値Mを1にリセットする(ステップ631)。次に、リストテーブルアドレス生成回路731は入出力回線番号蓄積手段732に蓄積されている入力回線番号とリスト番号カウンタ733の値M(今の場合1)からリストテーブル760のアドレスを生成しリスト540-i1を読みだし、リスト蓄積手段741に蓄積する(ステップ632)。リストテーブル760のアドレスは「(入力回線番号−1)×入力回線毎のリストの個数G+M」となる。最後に、リストテーブルアドレス生成回路731はリスト540を読み出したことをリスト番号カウンタ733に通知し、リスト番号カウンタ733は次のリスト読み出し処理630を実行する時にリスト540-i2を読み出すように、リスト番号カウンタ733の値Mを1カウントアップする(ステップ633)。以上のリスト読み出し処理630を繰り返すことにより、リスト読み出し部730はリスト540をリストテーブルアドレスが小さい方から大きい方へ順番に読み出す。
【0059】
エントリ読み出し処理640では、エントリ読み出し部740はエントリテーブル750からエントリ511-iを読み出す。エントリ読み出し部740内のエントリテーブルアドレス生成回路742はリスト蓄積手段741に蓄積されている値をそのままエントリテーブルアドレスとしてエントリテーブル750からエントリ511-iを読みだし、SIP上限値501とSIP下限値502の情報を条件一致判定部720内のエントリ内SIP蓄積手段722-3に、DIP上限値503とDIP下限値504の情報をエントリ内DIP蓄積手段723-3に、SPORT 505とDPORT 506の情報をそれぞれエントリ内SPORT蓄積手段724-3とエントリ内DPORT蓄積手段725-3に、TOS515の情報をエントリ内TOS蓄積手段728-3に、IP有効ビット562とポート有効ビット563とTOS有効ビット564を有効ビット蓄積手段726に、優先度情報507を結果判定部710のQoS制御情報蓄積手段713に蓄積する(ステップ641)。
【0060】
条件一致判定処理620では、条件一致判定部720はエントリ内SIP蓄積手段722-3、エントリ内DIP蓄積手段723-3、エントリ内SPORT蓄積手段724-3、エントリ内DPORT蓄積手段725-3、エントリ内TOS蓄積手段728-3に蓄積されているフロー条件に優先度情報を判定するパケットが一致するか否かを判定する。図11のフローチャートではSIP、DIP、SPORT、DPORT、TOSの各フロー条件とパケットが一致するか否か判定する処理は直列に行う様に書かれているが、条件一致判定部720は条件一致判定処理620を短時間で実行するために、SIP、DIP、SPORT、DPORT、TOSの各フロー条件専用に比較回路を持ち並列に判定を実行する。
【0061】
SIP比較回路722-1はパケット内SIP蓄積手段722-2に蓄積されているSIP上限値および下限値とエントリ内SIP蓄積手段722-3に蓄積されているSIPが「SIP下限値≦ SIP ≦ SIP上限値」の条件を満たすかまたは有効ビット蓄積手段726内のIP有効ビットが「無効」の場合に「一致」と判定する(ステップ621-1)。DIP比較回路723-1はSIPと同様の処理をDIPに関して実行する(ステップ621-2)。SPORT比較回路724-1はパケット内SPORT蓄積手段724-2に蓄積されているSPORTとエントリ内SPORT蓄積手段724-3に蓄積されているSPORTが等しいかまたは有効ビット蓄積手段726内のポート有効ビットが「無効」の場合に「一致」と判定する(ステップ621-3)。DPORT比較回路725-1はSPORTと同様の処理をDPORTに関して実行する(ステップ621-4)。TOS比較回路728-1はパケット内TOS蓄積手段728-2に蓄積されているTOSとエントリ内TOS蓄積手段728-3に蓄積されているTOSが等しいかまたは有効ビット蓄積手段726内のTOS有効ビットが「無効」の場合に「一致」と判定する(ステップ621-6)。条件一致判定回路721はステップ621-1、ステップ621-2、ステップ621-3、ステップ621-4、ステップ621-6において全て「一致」と判定された場合、結果判定部710内の条件一致結果蓄積手段712に「一致」を表す情報を(ステップ622-1)、それ以外の場合、「不一致」を表す情報を蓄積する(ステップ622-2)。 上記実施例では各比較回路がIP有効ビット562、ポート有効ビット563およびTOS有効ビット564が「無効」のフロー条件には常に「一致」と判定することにより、前記有効ビットが「無効」の場合には、パケット内のSIP/DIPとSPORT/DPORTとTOSの比較を行わなかった場合と同様に振る舞う。これら有効ビットを設けることにより、IPアドレス、ポート番号またはTOSに無関係なフロー条件を記述することができ、フロー条件の記述性が大幅に向上する。これにより、ルータ100の管理者が望む多種多様なフロー条件に柔軟に対応することができる。
【0062】
結果判定処理610では、条件一致結果蓄積手段712に「一致」を表す情報が格納されている時、結果判定回路711はQoS制御情報蓄積手段713の値を優先度情報と決定し、前記優先度情報から構成されるパケット優先度情報13をパケット入出力部120の出力FIFOバッファ振り分け回路121に出力し、フロー検出を終了する(ステップ611)。条件一致結果蓄積手段712に「不一致」を表す情報が格納されている時、フロー検出部112はステップ632に戻りフロー検出処理を継続し、最終的に優先度情報を判定する。
【0063】
入力回線限定方式では、検索するエントリ511-iを入力回線番号に一致したエントリ511-iに限定することにより高速化を図っている。図2のネットワークのエッジルータB 327で企業網C 323と企業網D 324が送出したパケットのQoS制御を行う場合を考える。企業網C 323と企業網D 324は企業が異なるため、一般的にはフロー検出が異なる。そのため、エッジルータB 327は企業網C323用のエントリ511-iと企業網D 324用のエントリ511-iを持たなくてはならない。リニアーサーチ方式ではこれら全てのエントリ511-iを検索されが、入力回線限定方式では前記エントリ511-iのうち入力回線(企業網)が一致するエントリ511-iのみ検索される。そのため、入力回線限定方式はリニアサーチ方式に比べて2倍の性能を実現する。エッジルータB 327にK社の企業網が接続される場合、およそK倍の性能を実現する。さらに、リスト540を導入することにより、多数のフロー条件を設定できる。
【0064】
フロー検出方式の他の実施例として出力回線限定方式を説明する。出力回線限定方式では、フロー条件である出力回線番号が一致するエントリ511-iのみ処理され、フロー検出の高速化が実現される。以下、入力回線限定方式との相違点を中心に出力回線限定方式について説明をする。
【0065】
出力回線限定方式のリストテーブル760は入力回線毎ではなく出力回線毎にリスト540を所持する。それに伴い、ステップ601ではフロー検出部112は入出力回線蓄積手段732に入力回線番号を蓄積されず、ルーティング処理部111が送出する出力回線情報12内の出力回線番号が蓄積される。さらに、ステップ632では、リストテーブルアドレス生成回路731は入出力回線番号蓄積手段732内の出力回線番号とリスト番号カウンタ733の値Mからリストテーブルアドレスを生成する。これら以外は入力回線限定方式と同一である。
【0066】
図2のネットワークのエッジルータB 327で企業網C 323と企業網D 324に送出するパケットのQoS制御を行う場合を考える。企業網C 323へ送出するパケットと企業網D 324へ送出するパケットのフロー検出が異なる場合、入力回線限定方式と同様に出力回線限定方式はリニアーサーチ方式に比べ2倍の性能を実現する。
【0067】
フロー条件としてヘッダ情報11内の入力回線番号の代わりにSAMACを用いた際のSAMAC限定方式について説明する。SAMAC限定方式では、SAMACのグループであるSAMACグループが定義され、前記SAMACグループの識別子であるSAMAC識別子が一致するエントリのみ検索が行われる。 以下、入力回線限定方式との相違点を中心にSAMAC限定方式について説明する。
【0068】
図9は、SAMAC限定方式のおけるエントリテーブル750およびリストテーブル860のフォーマットを示す。エントリテーブル750は入力回線限定方式と同一であるが、リストテーブル860はSAMAC識別子でL個の領域に分割される。また、フロー検出部812のブロック図を図13に示す。リスト読み出し部830は入出力回線番号蓄積手段732の代わりに、MAC識別子蓄積手段832およびMAC識別子生成回路834を備える。
【0069】
ステップ601では、MAC識別子生成回路834がSAMAC(6Byte)をハッシュ関数によりハッシュし、SAMACよりビット幅の小さなSAMAC識別子を生成する。さらに、リストテーブル860は前記 SAMAC識別子を入力回線番号の代わりにMAC識別子蓄積手段832に蓄積する。なお、前記ハッシュ関数のハッシュ値が同一のSAMACが一つのSAMACグループを構成する。ステップ632では、リストテーブルアドレス生成回路831はMAC識別子蓄積手段832内のSAMAC識別子とリスト番号カウンタ733の値Mからリストテーブルアドレスを生成する。これら以外は入力回線限定方式と同一である。
【0070】
図18に示したネットワークでQoS制御を実行する場合を考える。このネットワークはルータA1301の回線A1311(MACアドレスAを持つ)と、ルータB1302の回線B1312(MACアドレスBを持つ)と、ルータC1303の回線C1313(MACアドレスCを持つ)がバス接続されたネットワークである。ルータA1301がネットワークB1322およびネットワークC1323の送出したパケットのQoS制御を実行する。この場合、ルータA1301は受信パケットの送信ネットワークを入力回線番号で識別することができない。そのため、ルータA1301はMACアドレス(MACアドレスBかCか)からネットワークを識別する。ネットワークB1322とネットワークC1323でフロー検出が異なる場合、ルータA1301はネットワークB1322用のエントリ511-iとネットワークC1323用のエントリ511-iを持たなくてはならない。この時、MACアドレスBとCのSAMAC識別子が異なれば、パケット入力時には片一方のネットワークのエントリ511-iだけが検索され、SAMAC限定方式はリニアーサーチ方式に比べ2倍の性能を実現できる。
【0071】
フロー条件としてヘッダ情報11内のSAMACの代わりにARP処理部113が決定するDAMACを用いた際のDAMAC限定方式を説明する。DAMAC限定方式では、DAMACのグループであるDAMACグループが定義され、前記DAMACグループの識別子であるDAMAC識別子が一致するエントリのみ検索が行われる。以下、SAMAC限定方式との相違点を中心にDAMAC限定方式について説明する。
【0072】
DAMAC限定方式のおけるリストテーブル860はSAMAC識別子でなくDAMAC識別子で分割されている。SAMAC限定方式では、MAC識別子生成回路834がヘッダ情報11内のSAMACからSAMAC識別子を生成していた。しかし、DAMAC限定方式のステップ601では、MAC識別子生成回路834がDAMAC情報15内のDAMACからDAMAC識別子を生成し、前記DAMAC識別子をMAC識別子蓄積手段832に蓄積する。また、ステップ632では、リストテーブルアドレス生成回路831はMAC識別子蓄積手段832内のDAMAC識別子とリスト番号カウンタ733の値Mからリストテーブルアドレスを生成する。これら以外はSAMAC限定方式と同一である。
【0073】
図18のネットワークのルータA1301がネットークB1322およびネットワークC1323に送出するパケットのQoS制御を実行する場合を考える。ネットワークB1322およびネットワークC1323へ送出するパケットのフロー検出が異なる場合、MACアドレスBとCのDAMAC識別子が異なれば、パケット入力時には片一方のネットワークのエントリ511-iだけが検索され、DAMAC限定方式はリニアーサーチ方式に比べ2倍の性能を実現できる。
【0074】
次に、送信元サブネットでエントリを限定する送信元サブネット限定方式を説明する。以下、入力回線限定方式との相違点を中心に送信元サブネット限定方式について説明する。
【0075】
送信元サブネット限定方式のおけるエントリテーブル1050およびリストテーブル1060のフォーマットを図10に示した。エントリテーブル1050内のエントリ510-iは入力回線番号508と入力回線番号有効ビット561が入力回線限定方式のエントリ511-iに比べ増加し、リニアサーチ方式のエントリと同一になる。一方、リストテーブル1060は送信元サブネット識別子でR個の領域に分割されている。
【0076】
送信元サブネット限定方式におけるフロー検出部1012のブロック図を図15に示す。送信元サブネット限定方式のフロー検出部1012は入出力回線番号蓄積手段732がサブネット識別子蓄積手段1032となり、回線番号比較回路1027-1と、パケット内回線番号蓄積手段1027-2と、エントリ内回線番号蓄積手段1027-3が増加する。さらに、ルーティング処理部111にも変更が加わる。入力回線限定方式のルーティング処理部111はDIPが属するサブネットに転送するための出力回線番号を判定していた。しかし、送信元サブネット限定方式では出力回線番号だけでなくDIPが属するサブネットの識別子である宛先サブネット識別子を決定する。前述した特開平10-222535号公報に記載の検索方式を用いれば、ルーティング処理部111は宛先サブネット識別子も決定することができる。さらに、ルーティング処理部111はDIPと同様の方法を用いて、SIPが属するサブネットの識別子である送信元サブネット識別子も決定する。前記送信元および宛先サブネット識別子から構成されるサブネット識別子情報16をフロー検出部1012に送信する。
【0077】
送信元サブネット限定方式のおけるフローチャートを図14に示す。以下、図14のフローチャートを用いて入力回線限定方式の処理との相違点を中心に送信元サブネット限定方式の処理を説明する。まず、リストテーブル1060のフォーマット変更に伴う変更箇所を説明する。検出開始処理900のステップ901では、フロー検出部1012はヘッダ情報11内の入力回線番号408を入出力回線番号蓄積手段732ではなく、条件一致判定部1020内のパケット内回線番号蓄積手段1027-2に蓄積する。フロー検出部1012は前記サブネット識別子情報16を受信すると、送信元サブネット識別子をサブネット識別子蓄積手段1032に蓄積する(ステップ902) 。リスト読み出し処理930では、リストテーブルアドレス生成回路1031は、サブネット識別子蓄積手段1032に蓄積された送信元サブネット識別子とリスト番号カウンタ733の値Mからリストテーブルアドレスを生成し、リストテーブル1060内のリスト540を読み出す(ステップ932)。次に、条件一致判定部1020が入力回線番号の比較を実行するための変更箇所を説明する。エントリ読みだし処理940のステップ941にはエントリ内回線番号蓄積手段1027-3に入力回線番号508を蓄積する処理と、入力回線番号有効ビット561を有効ビット蓄積手段1026に蓄積する処理が加わる。また、条件一致判定処理920では、回線番号比較回路1027-1がパケット内回線番号蓄積手段1027-2内の情報とエントリ内回線番号蓄積手段1027-3内の情報と有効ビット蓄積手段1026内の入力回線番号有効ビット561から一致判定を行う処理(ステップ921-5)が加わる。上記以外の動作は入力回線限定方式と同一である。
【0078】
図2のネットワークのバックボーンルータ328で企業網C 323と企業網D 324が送出したパケットのQoS制御を行う場合を考える。エッジルータB327とは異なり入力回線番号で企業網を識別できないため、送信元サブネットが企業網の特定に使用される。企業網Cと企業網D 324のフロー検出が異なる時、バックボーンルータ328は企業網C323用のエントリ510-iと企業網D 324用のエントリ510-iを持たなくてはならない。リニアーサーチ方式ではこれら全てのエントリ510-iが検索されるが、送信元サブネット限定方式では前記エントリのうち送信元サブネットが一致するエントリのみ検索される。そのため、送信元サブネット限定方式はリニアサーチ方式に比べ2倍の性能を実現する。
【0079】
次に、宛先サブネットでエントリを限定する宛先サブネット限定方式を説明する。以下、送信元サブネット限定方式との相違点を中心に宛先サブネット限定方式について説明する。
【0080】
宛先サブネット限定方式ではリストテーブル1060は送信元サブネット識別子ではなく宛先サブネット識別子毎にリスト540を所持する。それに伴い、ステップ902では、サブネット識別子蓄積手段1032にサブネット識別子情報16内の宛先サブネット識別子を蓄積する。さらに、ステップ932では、リストテーブルアドレス生成回路1031はサブネット識別子蓄積手段1032内の宛先サブネット識別子とリスト番号カウンタ733の値Mからリストテーブルアドレスを生成する。これら以外は送信元サブネット限定方式と同一である。
【0081】
図2のネットワークのバックボーンルータ328で企業網C 323と企業網D 324へ転送するパケットのQoS制御を行う場合を考える。企業網C 323と企業網D 324のフロー検出が異なる場合、宛先サブネットでエントリ510-iを限定しているため、宛先サブネット限定方式はリニアサーチ方式に比べ2倍の性能を実現できる。
【0082】
これまでQoS制御情報が優先度情報の場合について説明してきた。帯域監視を実行するために必要な帯域監視情報およびTOS書換を実行するために必要な書換TOS情報の決定について説明する。入力回線限定方式によりフロー検出を実行し、帯域監視情報および書換TOS情報を決定する場合のテーブルフォーマットを図22に、結果判定部2310のブロック図を図23に、ヘッダ処理部2410のブロック図を図24に、フローチャートを図25に示した。以下、QoS制御の優先度情報のみを判定するフロー検出(入力回線限定方式)を実施した場合との違いを説明する。エントリ内のQoS制御情報部2230は帯域監視情報2213および書換TOS情報2214が新たに加わる。それに伴い、フロー検出時にはエントリ読みだし処理2540のステップ2541に帯域監視情報2213および書換TOS情報2214をQoS制御情報蓄積手段2316に蓄積する処理が加わる。結果判定処理2510では、結果判定回路2311はQoS制御情報蓄積手段2316の値を優先度情報、帯域監視情報、書換TOS情報と決定し、前記優先度情報から構成されるパケット優先度情報13を出力FIFOバッファ振り分け回路121に送信する処理に加え、前記帯域監視情報から構成されるパケット帯域監視情報17を帯域監視部2414に、前記書換TOS情報から構成されるパケット書換TOS情報19を出力FIFOバッファ振り分け回路121に送信する(ステップ2511)。
【0083】
帯域監視部2414はパケット帯域監視情報17から入力パケットの「遵守」または「違反」を判定し、判定結果を帯域監視結果情報18として出力FIFOバッファ振り分け回路121に出力する。出力FIFOバッファ振り分け回路121はパケット優先度情報13およびパケット書換TOS情報19を受信すると、一時蓄積バッファ128に蓄積されているパケットのQoS制御情報409とTOS411にそれぞれ書き込む処理が加わる。出力FIFOバッファ振り分け回路121は出力回線番号408、DAMAC401、QoS制御情報409およびTOS411が全て書き込まれた時点で、帯域監視結果情報18が「遵守」の場合は一時蓄積バッファ128のパケットを出力回線番号408が指示する回線対応部122-iのQoS制御情報409内の優先度情報が指示する出力FIFOバッファ127-ij(j=1 or 2)にパケットを送信する。帯域監視結果情報18が「違反」の場合は、一時蓄積バッファ128のパケットを廃棄するか、TOS411やQoS制御情報409内の優先度情報を低優先の優先度情報に書き換え、書き換え後の優先度情報が指示する出力FIFOバッファ127-ij(j=1 or 2)にパケットを送信する。
【0084】
ルータ間を接続するATMあるいはフレームリレーネットワークにおいてもQoSを実現するために、ルータはユーザや用途に応じてコネクション(VC/VPやDLCI)を振り分けてデータリンク層のQoS制御を利用することが必要である。そのため、ルータはフロー検出を実行してコネクション情報を決定することも必要となる。図46を用いてコネクションの振り分けが必要な例を説明する。図46は公衆ATMネットワーク4301により企業網A4302と企業網B4303接続されたネットワークである。公衆ATMネットワーク4301はATMスイッチA 4310とATMスイッチB4311から構成される。また、企業網A4302のルータA4312と企業網B4303のルータB 4313間にはCBR(Constant Bit Rate)のコネクションVC1とUBR(Unspecified Bit Rate)のコネクションVC2が設定されている。VC1上のパケットはATMスイッチA4310とATMスイッチB 4311 においてVC2上のパケットよりも優先的に転送されQoSが保証されるが、VC2上のパケットのQoSは保証されない。企業網A4302から企業網B4303へパケットを送出すると、ルータA4312 はフロー検出を実行してQoSが必要なパケットにVC1を、それ以外のパケットにVC2を割り当てる。
【0085】
入力回線限定方式によりフロー検出を実行し、コネクション情報を決定する場合のエントリテーブル2650のテーブルフォーマットを図26に、結果判定部2710のブロック図を図27に、フローチャートを図28に示した。QoS制御の優先度情報のみを判定するフロー検出(入力回線限定方式)を実施した場合との違いを説明する。エントリ内のQoS制御情報2630にはコネクション情報2615が新たに加わる。それに伴い、エントリ読みだし処理2840では、コネクション情報2615をQoS制御情報蓄積手段2716に蓄積する処理が加わる。結果判定処理2810では、結果判定回路2711は優先度情報を決定すると共にQoS制御情報蓄積手段2716内のコネクション情報の値をコネクション情報と決定し、パケット優先度情報13に加えて前記コネクション情報から構成されるパケットコネクション情報20を出力FIFOバッファ振り分け回路121に出力する(ステップ2811)。出力FIFOバッファ振り分け回路121はパケット優先度情報13に加えてパケットコネクション情報20を一時蓄積バッファ128に蓄積されているパケットのQoS制御情報409に書き込む。送信回路125はQoS制御情報409内のコネクション情報が指示するコネクションのパケットとして回線123-iにパケットを送出する。
【0086】
これまでQoS制御におけるフロー検出について説明した。以下、フィルタリングにおけるフロー検出について説明する。入力回線限定方式をフィルタリングのフロー検出に適用した場合のテーブルフォーマットを図29に、結果判定部3010のブロック図を図30にフローチャートを図31に示した。以下、QoS制御の優先度情報を判定するフロー検出(入力回線限定方式) を実施した場合との違いを説明する。フィルタリングでは転送可否情報を決定するため、エントリ内のQoS制御情報部530がフィルタリング制御情報部2931となり、優先度情報507が転送可否情報2916となる。さらに、QoS制御情報蓄積手段713の代わりにフィルタリング制御情報蓄積手段3016となる。フロー検出時には、エントリ読みだし処理3140では、優先度情報507を蓄積する代わりに転送可否情報2916をフィルタリング制御情報蓄積手段3016に蓄積する。結果判定処理3110では、結果判定回路3011は優先度情報を決定する代わりにフィルタリング制御情報蓄積手段3016の値を転送可否情報と決定し、前記転送可否情報から構成されるパケット転送可否情報21を出力FIFOバッファ振り分け回路121に出力する(ステップ3111)。
【0087】
QoS制御あるいはフィルタリング、いずれか一方のフロー検出を実行する場合について説明してきた。図2のインターネット325内のルータはQoS制御のみ行う場合が多いが、ゲートウェイルータ329は両方のフロー検出を行う必要がある。この場合、以下に説明する同時フロー検出方式または2段フロー検出方式が用いられる。
【0088】
まず、同時フロー検出方式について説明する。同時フロー検出方式はQoS制御で使用するQoS制御情報とフィルタリングで使用する転送可否情報を同時に決定する方式である。入力回線限定方式に同時フロー検出方式を適用した場合のテーブルフォーマットを図32に、結果判定部3310のブロック図を図33に、フローチャートを図34に示した。
【0089】
QoS制御の優先度情報のみを判定するフロー検出(入力回線限定方式)を実施した場合との違いを説明する。エントリ3211はQoS制御情報部530に加え転送可否情報2916より成るフィルタリング制御情報部2931が備わる。それに伴い、結果判定部3310にはフィルタリング制御情報蓄積手段3016が加わる。フロー検出時には、エントリ読みだし処理3440のステップ3441において、転送可否情報2916をフィルタリング制御情報蓄積手段3016に蓄積する処理が加わる。結果判定処理3410では、結果判定回路3311は優先度情報を決定しパケット優先度情報13を送出すると共にフィルタリング制御情報蓄積手段3016の値を転送可否情報と決定し、前記転送可否情報から構成されるパケット転送可否情報21を出力FIFOバッファ振り分け回路121に出力する。
【0090】
次に、2段フロー検出方式について説明する。2段フロー検出方式では、QoS制御とフィルタリングのフロー検出が直列に実行される。入力回線限定方式に2段フロー検出方式を適用した場合のリストテーブル3560とエントリテーブル3550を図35に、ブロック図を図36に、フローチャートを図37に示した。以下、2段フロー検出方式を用いて優先度情報と転送可否情報を決定する場合について説明する。なお、図37ではステップ621-1〜4および621-6をまとめてステップ621と記してある。エントリテーブル3550にはフィルタリング用のエントリ2911とQoS制御用のエントリ511が混在する。リストテーブル3560はフィルタリング用のエントリ2911をポイントするフィルタリング用のリスト3540とQoS制御用のエントリ511をポイントするQoS制御用のリスト3541の領域に分割されており、フィルタリングのフロー検出時にはフィルタリング用のリスト3540、QoS制御のフロー検出時にはQoS制御用のリスト3541が読み出される。フロー検出部3612はフィルタリングまたはQoS制御いずれのフロー検出を実行しているかを表すフロー検出状態蓄積手段3670を新たに備える。
【0091】
ヘッダ情報11が入力されると検出開始処理600のステップ601の後、フロー検出部3612はフィルタリングのフロー検出を行うためにフロー検出状態蓄積手段3670の値を「フィルタリングのフロー検出を表す値」にセットする(ステップ3750)。まず、フィルタリングのフロー検出を行う。リスト読みだし処理3730では、リスト読みだし部3630はフロー検出状態蓄積手段3670の値(この場合フィルタリングを表している)を参照し、フィルタリング用のエントリ2911をポイントするリスト3540を順に読み出していく(ステップ3732)。また、エントリ読み出し処理3740では、フロー検出状態蓄積手段3670の値が「フィルタリングのフロー検出を表す値」の時には、フィルタリング制御情報部3531内の転送可否情報がフィルタリング制御情報蓄積手段3016に蓄積される(ステップ3741)。条件一致判定処理620の後、結果判定処理3710でも結果判定部3610はフロー検出状態蓄積手段3670の値がフィルタリングあるいはQoS制御のフロー検出かを判定して(ステップ3713)、フィルタリングのフロー検出時、結果判定回路3611はフィルタリング制御情報蓄積手段3016の値をパケット転送可否情報21として送出する(ステップ3712)。さらに、結果判定部3610は転送可否情報が「廃棄」か「通過」かを参照する(ステップ3714)。フロー検出部3612は前記転送可否情報が「廃棄」の場合にはQoS制御用のフロー検出を実行せずにフロー検出を終了し(ステップ3715)、「通過」の場合には、QoS制御用のフロー検出を行うため、フロー検出状態蓄積手段3670の値を「QoS制御のフロー検出を表す値」にセットし(ステップ3760)、QoS制御のフロー検出を開始する。2段フロー検出方式では、フロー検出部3612はフィルタリング用のフロー検出を最初に行い、フィルタリングで廃棄されるパケットに対してQoS制御用のフロー検出を実行しないことにより、フロー検出を高速化している。
【0092】
QoS制御のリスト読みだし処理3730ではリスト読み出し部3630はフロー検出状態蓄積手段3670の値(この場合QoS制御を表している)を参照し、QoS制御用のエントリ511をポイントするリスト3541を順に読み出していく(ステップ3732)。また、エントリ読み出し処理3740でも結果判定部3610はフロー検出状態蓄積手段3670の値が「QoS制御のフロー検出を表す値」の時には、QoS制御情報部3532内の優先度情報がQoS制御情報蓄積手段713に蓄積される(ステップ3741)。条件一致判定処理620の後、結果判定処理3710では、結果判定部3610はフロー検出状態蓄積手段3670の値がフィルタリングあるいはQoS制御のフロー検出かを判定して(ステップ3713) QoS制御のフロー検出の時には、結果判定回路3611はQoS制御情報蓄積手段713の値をパケット優先度情報13として送出し(ステップ3711)、フロー検出を終了する(ステップ3715)。
【0093】
以上に述べた処理を実行することにより、QoS制御およびフィルタリング両方のフロー検出を行うことができる。
【0094】
フロー条件により、2段フロー検出方式の方が設定エントリが少なく高速化に適している場合と、同時フロー検出方式の方が設定エントリが少なく高速化に適している場合がある。まず、QoS制御とフィルタリングのフロー条件が同一なフロー検出を図2のゲートウェイルータ329にて実行する場合について説明する。図38に同時フロー検出方式におけるエントリテーブル3250の設定を、図39に2段フロー検出方式におけるエントリテーブル3550の設定を示す。図39のエントリテーブル3550の上から3つのエントリがフィルタリング用、下から2つのエントリがQoS制御用である。フィルタリングとQoS制御 共にフロー条件はSIP=企業網A321、企業網C323、企業網D324、DIP=企業網B322である。フィルタリングではゲートウェイルータ329は企業網A 321、企業網C 323からのパケットを転送し、別企業である企業網D324からのパケットを廃棄する。一方、QoS制御では企業網A 321からのパケットを優先転送し、企業網C 323からのパケットを非優先転送する。2段フロー検出方式の場合、5つのエントリが設定されるが、同時フロー検出方式の場合、3つのエントリが設定されるだけで良い。なお、2段フロー検出方式において企業網D324のQoS制御用のエントリが無いのは、ステップ3714にて廃棄の場合、フロー検出部3612はQoS制御用のフロー検出を行わず、フロー検出を終了し、フロー検出を高速化しているからである。
【0095】
次に、QoS制御とフィルタリングのフロー条件が異なるフロー検出を図2のゲートウェイルータ329にて実行する場合について説明する。図40に同時フロー検出方式におけるエントリテーブル3250の設定を、図41に2段フロー検出方式におけるエントリテーブル3550の設定を示す。フィルタリングのフロー条件はSIP=企業網A321、企業網C323、企業網D324、DIP=企業網B322であるが、QoS制御のフロー条件は用途(FTP、TELNET、HTTP)であり、FTP/HTTPのパケットが非優先、TELNETのパケットが優先である。同時フロー検出方式の場合、7つのエントリが設定されるが、2段フロー検出方式の場合、6つのエントリが設定されるだけで良い。本例ではフィルタリングおよびQoS制御のフロー条件の組み合わせはそれぞれ3通りであるが、前記組み合わせが多くなるほど、設定するエントリ数の差が大きくなる。
【0096】
以上述べた様に、QoS制御とフィルタリングのフロー条件が同一の場合には同時フロー検出方式の方が、フロー条件が異なる場合には2段フロー検出方式の方が設定されるエントリ数が少ない。本発明の一方式である切り替えフロー検出方式は2段フロー検出方式と同時フロー検出方式を切り替えて設定エントリを削減する。以下、切り替えフロー検出方式について2段フロー検出方式との違いを中心に説明する。
【0097】
テーブルフォーマットを図42に、結果判定部4010のブロック図を図43に、フローチャートを図44に示した。図42に示す様に同時フロー検出方式のエントリ3211に比べて、エントリ3911は2段フロー検出方式と同時フロー検出方式を切り替えるフロー検出モード3965が加わる。フロー検出モード3965は同時フロー検出方式または2段フロー検出方式を表す値となる。フロー検出モード3965を蓄積するために、結果判定部4010にフロー検出モード蓄積手段4014が加わる。
【0098】
切り替えフロー検出方式のエントリ読み出し処理4140のステップ4141では、フロー検出状態蓄積手段3670の値に関わらず、QoS制御情報部530の優先度情報507をQoS制御情報蓄積手段713へ、フィルタリング制御情報部3531の転送可否情報2916をフィルタリング制御情報蓄積手段3016へ、フロー検出モード3965をフロー検出モード蓄積手段4014へ蓄積する。結果判定処理4110では、結果判定回路4011はフロー検出モード蓄積手段4014の値を参照し(ステップ4116)、前記フロー検出モード蓄積手段4014の値が「同時フロー検出方式を表す値」の時には、QoS制御情報蓄積手段713の値を優先度情報と決定し、前記優先度情報から構成されるパケット優先度情報13を送出すると共に、フィルタリング制御情報蓄積手段3016の値を転送可否情報と決定し、前記転送可否情報から構成されるパケット転送可否情報21を出力FIFOバッファ振り分け回路121に出力する(ステップ4117)。その後、フロー検出が終了する(ステップ4115)。フロー検出モード蓄積手段4014の値が「2段フロー検出方式を表す値」の時には、結果判定部4010はフロー検出状態蓄積手段3670の値がフィルタリングあるいはQoS制御のフロー検出かを判定する(ステップ4113)。フロー検出状態蓄積手段3670の値がフィルタリングを表す場合、結果判定回路4011はフィルタリング制御情報蓄積手段3016の値を転送可否情報と決定し、前記転送可否情報から構成されるパケット転送可否情報21を出力FIFOバッファ振り分け回路121に出力する(ステップ4112)。さらに、結果判定部4010は転送可否情報が「廃棄」か「通過」かを参照する(ステップ4114)。フロー検出部は「廃棄」の場合にはQoS制御用のフロー検出を実行せずにフロー検出を終了し(ステップ4115)、「通過」の場合には、QoS制御用のフロー検出を行うため、フロー検出状態蓄積手段3670の値を「QoS制御のフロー検出を表す値」にセットし(ステップ3760)、QoS制御のフロー検出を開始する。フロー検出状態蓄積手段3670の値がQoS制御を表す場合、結果判定回路4011はQoS制御情報蓄積手段713の値を優先度情報と決定し、前記優先度情報から構成されるパケット優先度情報13を出力FIFOバッファ振り分け回路121に出力する(ステップ4111)。その後、フロー検出が終了する(ステップ4115)。
【0099】
以上に述べた様に、2段フロー検出方式および同時フロー検出方式をエントリ毎に切り替えて実行することができる。そのため、ルータ100の管理者はフロー条件に応じて2段フロー検出方式と同時フロー検出方式を切り替えて設定エントリ数を削減することができる。
【0100】
次に入力回線限定方式のパイプライン処理について説明する。
【0101】
図16(a)は、入力回線限定方式において、4つ処理部であるリスト読みだし部730、エントリ読みだし部740、条件一致判定部720、結果判定部710がそれぞれリスト読みだし処理630、エントリ読みだし処理640、条件一致判定処理620、結果判定処理610を直列(シリアル)に実行する様子を表したものである。図16のパケット1とは、フロー検出部112がパケット1の検出開始処理600を実行していることを表し、エントリNとは、結果判定部710、条件一致判定部720、リスト読みだし部730、エントリ読みだし部740がそれぞれエントリNの結果判定処理610、条件一致判定処理620、リスト読みだし処理630、エントリ読みだし処理640を実行していることを表している。なお、簡単のため 図16では上記各処理の処理時間は同一としている。直列処理ではある処理を実行している場合、他の処理を実行する処理部は動作していない。例えば、条件一致判定処理620を実行している場合にはエントリ読みだし処理640を行うエントリ読みだし部740は動作していない。直列処理の場合、エントリNを処理する時間はリスト読みだし処理630、エントリ読みだし処理640、条件一致判定処理620、結果判定処理610の処理時間の総和となる。
【0102】
よりフロー検出を高速化するためには、図16(b)に示すように、リスト読みだし処理630、エントリ読みだし処理640、条件一致判定処理620、結果判定処理610をパイプライン処理し、前記4つの処理部が常に動作するようにすることが望ましい。パイプライン処理では前記4つの処理部のうちの処理部1がエントリNの処理1を終了すると、前記処理1より後の処理2を行う処理部2がエントリNの処理2を終了したか否かに関わらず、前記処理部1がエントリN+1の処理を開始する。この様なパイプライン処理を行うことにより、エントリNの処理時間は1つの処理の時間となり図16の場合、処理速度は4倍となる。前述の例ではフロー検出が4つの処理に分割されパイプライン処理されたが、P個の処理に分割されパイプライン処理されればP倍の性能となる。
【0103】
入力回線限定方式のパイプライン処理について述べてきた。他の方式(出力回線限定方式、SAMAC限定方式、DAMAC限定方式、送信元サブネット限定方式、宛先サブネット限定方式)においてもフロー検出部が同様のパイプライン処理を行うことにより高速化を実現できる。
【0104】
次に、ルータ100のチップ分割について説明する。ヘッダ処理部110とパケット入出力部120をそれぞれ別の半導体チップに実装する。QoS制御の優先度情報を決定する場合、前記ヘッダ処理部110を実装する半導体チップと前記パケット入出力部120を実装する半導体チップ間の情報は、ヘッダ情報11と、出力回線情報12と、パケット優先度情報13と、DAMAC情報15である。すなわち、ヘッダ処理部110とパケット入出力部120間では情報量の大きいユーザデータを転送されないため、ヘッダ処理部110とパケット入出力部120とを実装する各半導体チップは、前記半導体チップ間の入出力ピンを多数使う必要がない。また、ヘッダ処理部110を実装する半導体チップは複数の回線により共有されているため、回線毎にヘッダ処理を実装する半導体チップを設ける必要がなく半導体チップの個数を削減することができる。なお、ルーティング処理部111、フロー検出部112、及びARP処理部113を全て異なる半導体チップ上に実装しても、ルーティング処理部111、フロー検出部112、及びARP処理部113の共通化による共通化効果を期待できる。
【0105】
図19乃至図21は本実施例の効果を説明するグラフである。図19乃至図21の縦軸はフロー検出性能(pps:1秒間に処理できるパケット数)、横軸は設定されるエントリの数である。
【0106】
図19は、リニアサーチ方式と入力回線限定方式、出力回線限定方式とを比較したグラフを示す。ルータがN個の入力回線を持ち、全ての入力回線のフロー検出が異なる場合(回線毎につながる企業が異なる場合等)、ルータはそれぞれの入力回線用のエントリを所持しなくてはならない。リニアーサーチ方式ではこれら全てのエントリが検索されるが、入力回線限定方式では入力回線が一致するエントリのみ検索される。そのため、検索するエントリが1/Nとなりフロー検出時間が1/Nとなるため、入力回線限定方式はリニアーサーチ方式に比べてN倍の性能を実現する。同様にルータがN個の出力回線を持ち、全ての出力回線のフロー検出が異なる場合、出力回線限定方式はN倍の性能を実現する。
【0107】
図20は、リニアサーチ方式と送信元サブネット限定方式、宛先サブネット限定方式とを比較したグラフを示す。R個の送信元ネットワークが送出するパケットのフロー検出を行う場合を考える。この場合、R個の送信元ネットワークのフロー検出が全て異なると、ルータはそれぞれの送信元サブネット用のエントリを所持しなくてはならない。リニアーサーチ方式ではこれら全てのエントリが検索されるが、送信元サブネット限定方式では前記エントリのうち送信元サブネットが一致するエントリのみ検索される。そのため、送信元サブネット限定方式はリニアーサーチ方式に比べR倍の性能を実現する。同様にR個の宛先ネットワークへのパケットのフロー検出を行い、全ての宛先ネットワークのフロー検出が異なる場合、宛先サブネット限定方式はリニアーサーチ方式に比べR倍の性能を実現する。
【0108】
図21は、入力回線限定方式のフロー検出をシリアル処理で行った場合とパイプライン処理で行った場合の性能を比較したグラフを示す。入力回線限定方式の前記実施例では、シリアル処理にくらべパイプライン処理は4倍の性能を実現する。また、フロー検出がP個の処理に分割されパイプライン処理されればP倍の性能となる。
【0109】
【発明の効果】
本発明によれば、フロー条件を格納するエントリーテーブルを検索する際に、その検索範囲を限定して検索を行うことができるので、ユーザを識別する情報やプロトコル情報や優先度情報等のフロー条件を大量に設定した場合でも、高速にフローを検出し、高速にQoS制御やフィルタリングを行うことができる。
【0110】
また、本発明では、フロー検出部をハードウェア化したことにより、高速にQoS制御やフィルタリングを行うことができる。
【0111】
また、本発明では、フロー条件の記述性を大幅に向上させることができる。
【図面の簡単な説明】
【図1】本発明のルータの構成を示すブロック図。
【図2】インターネットの構成図。
【図3】ネットワークにおけるパケットのフォーマットを示す図。
【図4】ルータ内におけるパケットのフォーマットを示す図。
【図5】 IPアドレスのフォーマットを示す図。
【図6】リニアサーチ方式の概念図。
【図7】エントリを入力回線毎に限定する方式を説明する図。
【図8】本発明の入力回線限定方式のリストテーブル860とエントリテーブル750のフォーマット。
【図9】本発明のSAMAC限定方式のリストテーブル860とエントリテーブル750のフォーマット。
【図10】本発明の送信元サブネット限定方式のリストテーブル1060とエントリテーブル1050のフォーマット。
【図11】本発明の一方式である入力回線限定方式を適用したフロー検出部112のフローチャート。
【図12】本発明の入力回線限定方式を適用したフロー検出部112のブロック図。
【図13】本発明のSAMAC限定方式を適用したフロー検出部812のブロック図。
【図14】本発明の一方式である送信元サブネット限定方式を適用したフロー検出部1012のフローチャート。
【図15】本発明の一方式である送信元サブネット限定方式を適用したフロー検出部1012のブロック図。
【図16】フロー検出部が直列に各処理を処理した場合のタイムチャート、及びフロー検出部が各処理をパイプライン処理した場合のタイムチャートを示す図。
【図17】エントリテーブルとリストテーブルと条件一致判定部の配置を説明する図。
【図18】ルータがバス状に接続されたネットワークを示す図。
【図19】本発明の入力回線限定方式と出力回線限定方式の効果を表す図。
【図20】本発明の送信元サブネット限定方式と宛先サブネット限定方式の効果を表す図。
【図21】パイプライン処理の効果を表す図。
【図22】 入力回線限定方式により優先度情報、帯域監視情報および書換TOS情報を判定する際のエントリテーブル2250のフォーマット。
【図23】入力回線限定方式により優先度情報、帯域監視情報および書換TOS情報を判定する際の結果判定部2310のブロック図。
【図24】入力回線限定方式により優先度情報、帯域監視情報および書換TOS情報を判定する際のヘッダ処理部2410のブロック図。
【図25】入力回線限定方式により優先度情報、帯域監視情報および書換TOS情報を判定する際のフロー検出部2412のフローチャート。
【図26】入力回線限定方式により優先度情報およびコネクション情報を判定する際のエントリテーブル2650のフォーマット。
【図27】入力回線限定方式により優先度情報およびコネクション情報を判定する際の結果判定部2710のブロック図。
【図28】入力回線限定方式により優先度情報およびコネクション情報を判定する際のフロー検出部のフローチャート。
【図29】入力回線限定方式によりフィルタリングを実行する際のエントリテーブル2950のフォーマット。
【図30】入力回線限定方式によりフィルタリングを実行する際の結果判定部3010のブロック図。
【図31】入力回線限定方式によりフィルタリングを実行する際のフローチャート。
【図32】本発明の一方式である同時フロー検出方式を適用したエントリテーブル3250のフォーマット。
【図33】本発明の一方式である同時フロー検出方式を適用した結果判定部3310のブロック図。
【図34】本発明の一方式である同時フロー検出方式を適用した際のフロー検出部のフローチャート。
【図35】本発明の一方式である2段フロー検出方式を適用したリストテーブル3560とエントリテーブル3550。
【図36】本発明の一方式である2段フロー検出方式を適用したフロー検出部3612のブロック図。
【図37】本発明の一方式である2段フロー検出方式を適用した際のフロー検出部3612のフローチャート。
【図38】同時フロー検出方式を適用したエントリテーブル3250の設定例(フィルタリングとQoS制御のフロー条件が同一の場合)。
【図39】2段フロー検出方式を適用したエントリテーブル3550の設定例(フィルタリングとQoS制御のフロー条件が同一の場合)。
【図40】同時フロー検出方式を適用したエントリテーブル3250の設定例(フィルタリングとQoS制御のフロー条件が異なる場合)。
【図41】2段フロー検出方式を適用したエントリテーブル2950の設定例(フィルタリングとQoS制御のフロー条件が異なる場合)。
【図42】本発明の一方式である切り替えフロー検出方式を適用したエントリテーブル3950のフォーマット。
【図43】本発明の一方式である切り替えフロー検出方式を適用した結果判定部4010のブロック図。
【図44】本発明の一方式である切り替えフロー検出方式を適用した際のフローチャート。
【図45】用途(アプリケーション)とポート番号の対応を表す図。
【図46】企業網が公衆ATMネットワークにより接続されたネットワーク。
【符号の説明】
11・・・ヘッダ情報、12・・・出力回線情報、13・・・パケット優先度情報、14・・・NIP情報、15・・・DAMAC情報、16・・・サブネット識別子情報、17・・・パケット帯域監視情報、18・・・帯域監視結果情報、19・・・パケット書換TOS情報、20・・・パケットコネクション情報、21・・・パケット転送可否情報。
[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a relay device that interconnects a plurality of networks and relays packets.
[0002]
[Prior art]
With the increase in Internet users, traffic (packets) flowing through the Internet has increased rapidly. In the packet-type communication method used on the Internet, packets from a large number of users can share the same line, so the cost per band can be kept low. Moreover, the fact that strict management such as quality control for each user was not performed is also a factor for realizing low cost.
[0003]
Due to the low cost of this packet-type communication method, there has been a movement to reduce the communication cost by integrating the telephone network and the corporate network that have been realized in the conventional network with the Internet. In order to integrate them, it is necessary to realize QoS (Quality of Service) and security such as low delay time and low discard rate, which have been realized by conventional telephone networks and corporate networks.
[0004]
QoS control that realizes QoS must identify specific applications (telephone traffic, etc.) to be controlled and individual users (enterprises, etc.) while preferentially forwarding them with priority according to the contract. . QoS control is common in ATM (Asynchronous Transfer Mode) exchanges. The QoS control of the ATM switch comprises a bandwidth monitoring means for performing bandwidth monitoring in a bandwidth contracted at the entrance of the network and a priority transfer means for preferentially transferring the packets complying with the bandwidth with a contracted priority.
[0005]
The priority transfer means in this ATM exchange is described in, for example, Japanese Patent Laid-Open No. 6-197128 (hereinafter referred to as “Prior Art 1”). Here, two output buffers for CBR and VBR are provided for each output line. By making the output priority of the cells stored in the CBR buffer higher than that of the cells stored in the VBR buffer, the communication delay time in the ATM switch can be reduced for CBR traffic cell groups with severe restrictions on communication delay. It can be suppressed within a certain value.
[0006]
The bandwidth monitoring function in the ATM switch is described in Chapter 4 (hereinafter referred to as “Prior Art 2”) of The ATM Forum Traffic Management Specification Version 4.0. Prior Art 2 describes GCRA (Generic Cell Rate Algorithm), which is an algorithm for bandwidth monitoring. By performing bandwidth monitoring based on the GCRA at the entrance of the network, it is possible to prevent a specific user from occupying network resources.
[0007]
The ATM switch sets the connection in advance, and the bandwidth monitoring information and priority information (cell transfer priority) in the connection information table set in the ATM switch based on the connection information of the input cell (including user and usage information) ) And the like, the bandwidth monitoring is performed using the bandwidth monitoring information, and the priority transfer is performed on the priority information (connection type communication). On the other hand, since the router device does not set a connection in advance, it does not have QoS control information such as bandwidth monitoring information and priority information in the connection information table and connection information table in the case of an ATM switch (packet type communication). For this reason, in order to perform priority transfer and bandwidth monitoring in the router device, the router device newly needs flow detection means for detecting bandwidth monitoring information and priority information based on information in the header for each input packet. The bandwidth detection means and the priority transfer means are applied to the detected bandwidth monitoring information and priority information by the flow detection means. In this specification, a packet identification condition created by combining information such as information in the header is a flow condition, a series of traffic that matches the flow condition, and whether the input packet matches the flow condition. This determination is called flow detection.
[0008]
The QoS control in the router device is mentioned in, for example, Japanese Patent Laid-Open No. 6-232904 (hereinafter referred to as “Prior Art 3”). In the prior art 3, in order to execute QoS control in the router, the packet priority is set based on the mapping table that holds the priority of all combinations of the information for identifying the priority in the packet and the protocol (= higher application) information. Disclose the decision. Based on the determined priority, priority transfer can be executed to ensure QoS.
[0009]
Another conventional technique related to QoS control in a router device is Diffserv (Differentiated Service) (hereinafter referred to as “Prior Art 4”) described in RFC2475 of IETF (Internet Engineering Task Force).
[0010]
Prior art 4 will be described with reference to FIG. The Internet 325 realizes QoS contracted between the corporate networks A to D and the Internet 325. Prior art 4 uses the flow detection means (classification in the prior art 4 in the conventional art 4) when the edge router A326 or edge router B327 (called a boundary node in the prior art 4) at the entrance of the Internet 325 receives a packet from the enterprise network A321 or the enterprise network B324. (Referred to as “fire”) discloses that flow detection is performed using a source / destination IP address, a source / destination port number, a protocol, etc. in a TCP / IP header as a flow condition. Further, it is disclosed that the bandwidth monitoring of the flow extracted by the classifier is executed to determine the DS which is the priority in the Internet 325 and write it in the DS field (= TOS). Further, it discloses that the backbone router 328 (referred to as an interior node in the prior art 4) that is a core node of the Internet 325 implements QoS in the backbone router 328 by performing QoS control based on the value of the DS field.
[0011]
It is also necessary to perform flow detection in order to execute filtering for realizing security. In the case of connection-type communication, if a connection is set only with a partner who is permitted in advance and connection setting with a partner who is not permitted is prohibited, it is easy to protect security because a cell from an unexpected partner will not be received. However, in the case of packet-type communication, there is a possibility of receiving a packet from all terminals connected to the network, and it is necessary to execute filtering that completely discards a packet from an unexpected partner. Similarly to QoS control in filtering, first, flow detection that identifies the filtering target (for example, a packet from another office in the company or a packet from other sites) is performed for each input packet to indicate whether or not packet transfer is possible. It is necessary to determine transferability information. The router executes the transfer and discard of the packet based on the transfer enable / disable information, thereby realizing the security of the corporate network.
[0012]
The filtering in the router device is described in, for example, Japanese Patent Laid-Open No. 6-104900 (hereinafter referred to as “Prior Art 5”). In the prior art 5, a filtering table for registering information on a source address and a destination address is provided, and only packets from the source address registered in the filtering table to the destination address are transferred to realize filtering.
[0013]
[Problem to be Solved by the Invention]
As the number of flows that must be detected by the router increases with the increase in Internet users, the flow detection means of the router must be able to set a large number of flow conditions. In addition, due to a rapid increase in traffic flowing through the Internet and an increase in line speed, it is necessary to shorten the processing time per packet in the router. Therefore, the router must be able to perform QoS control (priority transfer, bandwidth monitoring, etc.) and filtering at high speed even when the number of flow conditions to be set increases. Furthermore, regarding the setting of flow conditions, it is desirable to be able to flexibly cope with a wide variety of flow conditions desired by a router administrator.
[0014]
However, such viewpoints are not examined in the conventional techniques 3 to 5. Accordingly, the first object of the present invention is to set a large amount of flow conditions such as information for identifying a user, protocol information and information for identifying a priority, etc., corresponding to an increase in line speed and an increase in flow conditions, The object is to provide a packet relay device capable of detecting a flow at high speed and realizing QoS control and filtering at high speed.
[0015]
Another object of the present invention is to provide a packet relay apparatus that can improve the descriptiveness of flow conditions and can flexibly cope with various flow conditions desired by a router administrator.
[0016]
Furthermore, in a network as shown in FIG. 46 in which routers are connected by an ATM network or a frame relay network, congestion due to excessive traffic occurs in the public ATM network 4301, and QoS may not be maintained. Therefore, QoS control must be performed in ATM networks and frame relay networks that connect routers. However, in the prior art 3 to the prior art 5, there is a description of a method for determining a connection (VC (Virtual Channel) / VP (Virtual Path) or DLCI) using high-speed flow detection and QoS control of ATM or frame relay. Not.
[0017]
Another object of the present invention is to provide a router device capable of performing flow detection at high speed to determine VC / VP or DLCI and utilizing QoS control of an ATM or a frame relay network.
[0018]
[Means for Solving the Problems]
In order to achieve the above object, in the packet relay device of the present invention, at least one of address information of an input packet, information for identifying use or information for identifying priority, and communication quality control corresponding to the information Information or filtering control information is used as an entry, and an entry table having a plurality of entries is divided and set for each address information.
[0019]
In another packet relay apparatus, at least one of address information of an input packet, information for identifying use, or information for identifying priority, and communication quality control information or filtering control information corresponding to the information, And an entry table having a plurality of entries, and an entry pointer table in which an entry pointer for designating an entry in the entry table is divided and set for each address information.
[0020]
In another packet relay apparatus, at least one of address information of an input packet, information for identifying use, or information for identifying priority, and communication quality control information or filtering control information corresponding to the information, The entry table having a plurality of entries is set for each address information, and only the entry table corresponding to the address information in the input packet to which the internal header information is added is searched. Entry reading means for reading out the entry; match determination means for determining a match between the address information of the input packet, information for identifying use or information for identifying priority, and information in the entry read by the entry reading means; , When it is determined as a match by the match determination means, the entry in the entry The signal quality control information or the filtering control information, the priority of the transfer of the input packet or, characterized in that the pipeline control means for determining whether to transfer.
[0021]
In another packet relay apparatus, at least one of address information of an input packet, information for identifying use, or information for identifying priority, and communication quality control information or filtering control information corresponding to the information, And an entry pointer table in which an entry pointer for designating an entry in the entry table is divided and set for each address information, and the address information in the input packet Identifies entry pointer reading means for reading only the corresponding entry pointer, entry reading means for reading the entry specified by the entry pointer read by the entry pointer reading means from the entry table, address information in the input packet, and usage Information that identifies information or priority, and a match determination unit that determines a match between the information in the entry read by the entry read processing unit, and when the match determination unit determines a match, Pipeline control is performed on the communication quality control information or the filtering control information to determine the priority of transfer of the input packet or the means for determining whether or not transfer is possible.
[0022]
In another packet relay apparatus, at least one of address information of an input packet, information for identifying use, or information for identifying priority, and communication quality control information or filtering control information corresponding to the information, Entry, and an entry table having a plurality of the entries is divided and set for each address information, and only the entry table corresponding to the address information of the input packet is searched, and the entry reading means for reading out the entry; Address information in the input packet, information for identifying use or information for identifying priority, and match determination means for determining a match between the information in the entry read by the entry reading means, the entry table and the The coincidence determination means is mounted on the same semiconductor chip.
[0023]
In another packet relay apparatus, at least one of address information of an input packet, information for identifying use, or information for identifying priority, and communication quality control information or filtering control information corresponding to the information, And an entry pointer table in which an entry pointer for designating an entry in the entry table is divided and set for each address information, and the address information in the input packet Identifies entry pointer reading means for reading out only the corresponding entry pointer, entry reading means for reading out the entry specified by the entry pointer read by the entry pointer reading means from the entry table, address information and use of the input packet Information or a priority identifying information and a matching determining means for determining matching between the information in the entry read by the entry reading means, and the entry table and the matching determining means are on the same semiconductor chip. It is implemented. Preferably, the entry pointer table is composed of a semiconductor chip different from the semiconductor chip.
[0024]
In another packet relay apparatus, switch means for outputting an input packet input from one input line of a plurality of input lines to any output line of the plurality of output lines, and a sender of the input packet Communication quality control information or filtering control information for the input packet is determined according to at least one of information for identifying, information for identifying a receiver, information for identifying a use, or information for identifying a priority. The switch means and the flow detection means are mounted on different semiconductor chips, respectively.
[0025]
In another packet relay apparatus, the address information of the input packet, flag information indicating validity / invalidity of the address information, and communication quality control information or filtering control information corresponding to the information are used as entries. A packet relay apparatus having an entry table having a plurality of entries. Preferably, the address information is Internet protocol (IP) address information and input line information, and flag information indicating validity / invalidity of the address information is flag information indicating validity / invalidity of the IP address information. The flag information indicating validity / invalidity of the input line information. The entry reading means for reading the entry in the entry table, the address information of the input packet, the information for identifying the use or the information for identifying the priority, and the information in the entry read by the entry reading processing unit are determined to match. Match determination means, the match determination means has a plurality of comparison means provided for each IP address information and input line information, the comparison means provided corresponding to the IP address information, The comparison means provided corresponding to the input line information operates according to the flag information indicating validity / invalidity of the input line information, and operates according to flag information indicating validity / invalidity of the IP address information. . More specifically, the comparison means provided corresponding to the IP address information performs a match determination only when flag information indicating validity / invalidity of the IP address information indicates validity, and corresponds to the input line information. The comparison means provided in this way performs a match determination only when flag information indicating validity / invalidity of the input line information indicates validity.
[0026]
Further, it is desirable that the entry further includes information for identifying a use of the input packet and flag information indicating validity / invalidity of the information for identifying the use.
[0027]
The entry reading means for reading the entry in the entry table, the address information of the input packet, the information for identifying the use or the information for identifying the priority, and the information in the entry read by the entry reading processing unit are determined to match. The match determination means has a plurality of comparison means provided for each piece of information identifying the address information and the usage of the input packet, and the comparison means provided corresponding to the address information. Operates according to flag information indicating validity / invalidity of the address information, and the comparing means provided corresponding to the information for identifying the application uses flag information indicating validity / invalidity of the information for identifying the application. Works according to. More specifically, the comparison means provided corresponding to the address information performs a match determination only when flag information indicating validity / invalidity of the address information indicates validity, and corresponds to information for identifying a use. The comparison means provided in this way performs a match determination only when flag information indicating validity / invalidity of information identifying the application indicates validity.
[0028]
In another packet relay apparatus, at least one of address information of an input packet, information for identifying use, or information for identifying priority, and communication quality control information or filtering control information corresponding to the information, Entry, and an entry table having a plurality of the entries is divided and set for each address information, and only the entry table corresponding to the address information of the input packet is searched, and the entry reading means for reading out the entry; Address matching information, input identifying information or priority identifying information, and matching determining means for determining matching between information in the entry read by the entry reading processing unit, the matching determining means Is the address information of the input packet, information identifying the use, or information identifying the priority. Characterized in that it comprises a comparing means for each.
[0029]
In another packet relay apparatus, at least one of address information of an input packet, information for identifying use, or information for identifying priority, and communication quality control information or filtering control information corresponding to the information, And an entry table having a plurality of such entries,
An entry pointer reading unit for reading out only an entry pointer corresponding to address information of an input packet, and an entry pointer table in which an entry pointer for designating an entry in the entry table is divided and set for each address information; An entry reading means for reading an entry designated by the entry pointer read by the entry pointer reading means from the entry table, address information of the input packet, information for identifying use or information for identifying priority, and the entry reading processing section A match determination processing means for determining a match with the information in the read entry, wherein the match determination means compares the address information in the input packet, the information for identifying the use, or the information for identifying the priority. Characterized by having That.
[0030]
Other problems to be solved by the present application and the means for solving the problems will be clarified in the section of the “DETAILED DESCRIPTION OF THE INVENTION” and the drawings.
[0031]
DETAILED DESCRIPTION OF THE INVENTION
Examples of the present invention will be described below.
[0032]
First, problems of the linear search method that is a flow detection method will be described with reference to FIGS.
[0033]
FIG. 3 shows an example of a packet format in the network. The packet format in the network is composed of a header part 410 and a data part 420. The header section 410 includes a source MAC address (Source Address Media Access Control: hereinafter referred to as “SAMAC”) 400 that is a physical address (hardware address) of a router that has transmitted the packet immediately before, and a router that receives the packet next. A destination MAC address (Destination Address Media Access Control: hereinafter referred to as “DAMAC”) 401 which is a physical address and a source IP address (Source IP Address: hereinafter referred to as “SIP”) which is a source address (address of a transmission terminal). ) 402, a destination IP address (Destination IP Address: hereinafter referred to as “DIP”) 403 which is a destination address (address of the receiving terminal), and a source port (Source Port: hereinafter referred to as “SPORT”) indicating a protocol (= higher application) ) 404 and destination port (hereinafter referred to as “DPORT”) 405 and TOS (Type of Service) 411 (= DS field) indicating the priority in the network. Consisting of field). Further, the data unit 420 includes user data 406 that is user data. In addition to the above information, information such as an upper protocol of the IP protocol is stored in the header section 410, but it can be processed in the same manner as the above information. The format of FIG. 3 shows a packet whose transport layer protocol is TCP (Transmission Control Protocol) or UDP (User Datagram Protocol) and whose network layer protocol is IP (Internet Protocol). The network layer protocol may be IPX).
[0034]
FIG. 4 shows an example of a packet format inside the router. The packet format inside the router is the addition of an internal header 430 to the network packet format. This internal header section 430 is composed of an input line number 407 that is an input line number, an output line number 408 that is an output line number, and priority information 409 that is used in priority transfer of QoS control.
[0035]
The entry table 550 shown in FIG. 6 includes one or a plurality of entries 510-i (= 1 to H). The entry 510-i includes a flow condition part 520-i and a QoS control information part 530-i. The QoS control information unit 530-i includes priority information 507 that is QoS control information used for priority transfer. The flow condition unit 520-i includes a flow condition for identifying a transmission source or a destination user, a flow condition for identifying a use (application), and a flow condition for identifying a priority. The conditions for identifying the source or destination user are the SIP upper limit value and lower limit value SIP upper limit value 501, SIP lower limit value 502, DIP upper limit value 503, DIP lower limit value 504, and SIP and DIP upper limit value and lower limit An IP valid bit 562 indicating that the value is valid, an input line number 508 which is an input line number, and an input line number valid bit 561 indicating that the input line number 508 is valid. For example, the edge router B327 in the network in FIG. 2 can identify the corporate network (enterprise network C323 or corporate network D324) that has transmitted the packet through the line through which the packet is input. The reason why the upper limit value and the lower limit value are set in SIP and DIP is to allow a network (= subnet) to be designated by one entry 510-i. FIG. 5 shows the format of the IP address 440. The IP address 440 includes a network address 441 and a host address 442. A network (= subnet) is identified by the network address 441, and a terminal in the network is identified by the host address 442. Since the upper bits of the IP address 440 are network addresses, terminals in the same network have continuous IP addresses. Therefore, all terminals in the network can be designated by the IP address range (upper limit value and lower limit value).
[0036]
The flow conditions for identifying the usage are a SPORT 505 that is a transmission source port, a DPORT 506 that is a destination port, and a port validity bit 563 that indicates that the SPORT 505 and the DPORT 506 are valid. FIG. 45 shows an example of a correspondence between an application to which a port number is currently assigned and a port number. The flow conditions for identifying the priority are the TOS 515 and the TOS valid bit 564. The interior node in Diffserv of the prior art 4 performs flow detection by the TOS 515 and performs priority transfer.
[0037]
Input line number valid bit 561, IP valid bit 562, port valid bit 563, and TOS valid bit 564 are “valid” when packets are identified by the input line number, IP address, port number, and TOS, respectively. Is set to “invalid”.
[0038]
When the QoS control information is determined, preset entries 510-i are read sequentially from the entry table 550. Then, it is determined whether or not the values of the internal header portion 430 and header portion 410 of the packet all match the valid flow conditions in the flow condition portion 520-i. If they match, the priority information 507 in the entry 510-i is determined as the packet priority information, and the flow detection ends. When the flow condition of the third entry 510-3 is met, the priority information 507-3 is determined as the priority information, the search for the fourth entry 510-4 is not executed, and the flow detection ends.
[0039]
In the present specification, the above-described flow detection method is referred to as a linear search method.
[0040]
Consider a case where QoS control and filtering are executed on the Internet 325 shown in FIG. The network in FIG. 2 is a network in which a company network A 321, a company network B 322, a company network C 323 of the same company, and a company network D 324 of a company different from the company are connected by the Internet 325 which is a public IP network. is there. The Internet 325 connects the edge router A 326 connecting the corporate network A 321 and the corporate network B 322, the edge router B 327 connecting the corporate network C 323 and the corporate network D 324, and the edge router A 326 and the edge router B 327. The backbone router 328 is configured. Further, a gateway router 329 is arranged at the entrance to the Internet 325 of the corporate network B 322.
[0041]
The priority transfer of QoS control is mainly edge router A 326, edge router B 327 and backbone router 328 in the Internet 325. Bandwidth monitoring and TOS rewrite of QoS control are mainly edge router A 326 in the Internet 325 and edge router Performed at B 327. Since a large amount of packets between companies pass through the Internet 325, the processing time per packet is short, and the edge router A 326, the edge router B 327, and the backbone router 328 need to perform QoS control at high speed. However, when the number of corporate networks connected to the Internet 325 increases, a large number of corporate networks must be identified, so a large number of entries 510-i are set in the entry table 550. In the linear search method, since all entries 510-i set in the entry table 550 are searched, it may be difficult for the edge router A 326, the edge router B 327, and the backbone router 328 to execute QoS control at high speed. There is.
[0042]
Consider the case of filtering in the network of FIG. In the flow detection in filtering, the priority information 507 in the entry may be transfer enable / disable information indicating transfer enable / disable. Filtering is performed by the gateway router 329 in the corporate network B322. Since all packets input to the corporate network B322 are processed, the processing time per packet is short, and the gateway router 329 needs to perform filtering at high speed. In filtering, an entry 510-i is set so as to transfer a packet between the corporate network A 321, the corporate network B 322, and the corporate network C 323 that are the same company. If the number of corporate networks of the same company is not three but increases, the number of entries 510-i to be set also increases. In the linear search method, since all entries 510-i set in the entry table 550 are searched, the gateway router 329 may be difficult to perform high-speed filtering when a large number of entries 510-i are set. is there.
[0043]
As described above, in a network in which a large number of entries 510-i are set in the linear search method, it may be difficult for the router to execute QoS control and filtering at high speed. Therefore, the flow detection method of the present embodiment employs an input line limiting method that can perform flow detection at a higher speed than the linear search method even when a large number of entries 510-i are set. The outline of the input line limiting method will be described below.
[0044]
In the input line limiting method, only the entry 510-i that matches the input line number 508 constituting the flow condition part 520-i of the linear search method is searched. FIG. 7 shows an embodiment of the input line limiting method.
[0045]
In the input line limiting method according to FIG. 7, an entry 511-i in which the input line number 508 and the input line number valid bit 561 are deleted from the flow condition part 520-i of the linear search method is set for each input line. Since only the entry 511-i that matches the input line number that is the flow condition is searched, the input line number 508 is not necessary in the entry 511-i.
[0046]
FIG. 8 shows another embodiment of the input line limiting method. In the input line limiting method described with reference to FIG. 7, when the entry 511-i that is not related to the input line number is set (for example, “telnet traffic input from all input lines is set to high priority”), the entry 511-i is set. It is necessary to set -i for the number of input lines (= N), and the efficiency of the memory for realizing the entry table 551 may deteriorate. Therefore, in the input line limiting method shown in FIG. 8, a list 540 that is an address of the entry table 750 is set in the list table 760 for each input line. The list 540-11 with the list table address 1 is the address of the entry 511-1 and the list 540-12 with the list table address 2 is the address of the entry 511-H. When the flow is detected, only the list 540 assigned to the input line to which the packet is input is read, and the entry 511-i pointed to by the list 540 is read. If you have a list 540 with a small bit width (10 bits even if you have 1024 entries) for each input line and share the entry 511-i with a large bit width with each input line, you can effectively use the memory that realizes the entry table 750 can do. Therefore, it is possible to set a large number of entries 511-i while realizing high speed.
[0047]
FIG. 1 shows a configuration example of a router. The router 100 includes a header processing unit 110 that performs routing processing, flow detection, and ARP (Address Resolution Protocol) processing, a packet input / output unit 120 that inputs and outputs packets, and a processor 130. The header processing unit 110 includes a routing processing unit 111, a flow detection unit 112, and an ARP processing unit 113. The packet input / output unit 120 includes an output FIFO (First In First Out) buffer distribution circuit 121, a line corresponding unit 122-i (i = 1 to N) and line i 123-i. In addition, a management terminal 140 outside the router 100 is connected to the processor 130.
[0048]
When a packet is input from the line i 123-i, the receiving circuit 124-i adds the line number i to which the packet is input as an input line number 407. Then, after converting into the packet format inside the router, it is transmitted to the input FIFO buffer 126-i. The output line number 408 and the QoS control information 409 at this time are meaningless information. The input FIFO buffer 126-i accumulates packets and transmits the packets to the output FIFO buffer distribution circuit 121 in the order in which the packets are accumulated. The output FIFO buffer distribution circuit 121 stores the packet in the temporary storage buffer 128 and outputs the header information 11 to the header processing unit 110. The header information 11 includes information in the internal header part 430 and the header part 410.
[0049]
The routing processing unit 111 searches the routing table from the DIP in the header information 11, and outputs the line number for transfer to the subnet to which the DIP belongs, and the IP address (NIP) of the router that next receives the packet sent by the router 100 : Next Hop IP Address). The processor 130 of the router 100 creates and manages this routing table. This routing table search is described, for example, in JP-A-10-222535. Further, the routing processing unit 111 performs ARP processing on the output line information 12 composed of the output line number to the output FIFO buffer distribution circuit 121 and the flow detection unit 112 of the packet input / output unit 120, and the NIP information 14 composed of NIP. To the unit 113. When receiving the output line information 12, the output FIFO buffer distribution circuit 121 writes the output line information 12 into the output line number 408 of the packet stored in the temporary storage buffer 128.
[0050]
When receiving the NIP information 14, the ARP processing unit 113 determines a MAC address corresponding to the NIP. Further, DAMAC information 15 composed of the MAC address is output to the output FIFO buffer distribution circuit 121 and the flow detection unit 112 of the packet input / output unit 120. When receiving the DAMAC information 15, the output FIFO buffer distribution circuit 121 writes the DAMAC information 15 into the DAMAC 401 of the packet stored in the temporary storage buffer 128.
[0051]
On the other hand, the flow detection unit 112 searches the entry table 750 based on the header information 11 to determine priority information. Further, the packet priority information 13 including priority information is output to the output FIFO buffer distribution circuit 121 of the packet input / output unit 120. When receiving the packet priority information 13, the output FIFO buffer distribution circuit 121 writes the packet priority information 13 into the QoS control information 409 of the packet stored in the temporary storage buffer 128.
[0052]
When the output line number 408, DAMAC 401, and QoS control information 409 are all written, the output FIFO buffer distribution circuit 121 outputs the output FIFO buffer indicated by the QoS control information 409 of the line corresponding unit 122-i indicated by the output line number 408. Send the packet to 127-ij (j = 1 or 2). The line corresponding unit 122-i stores the packet in the output FIFO buffer 127-ij. The transmission circuit 125-i in the line corresponding unit 122-i controls reading of the output FIFO buffer 127-ij. As read-out control, “complete priority control”, “weighted cyclic control”, and the like are known. In “full priority control”, when packets are accumulated in the output FIFO buffer 127-i1 having a high priority, the packets are read from the output FIFO buffer 127-i1 in the order in which the packets are accumulated. Only when no packet is stored in the output FIFO buffer 127-i1, the packets are read in the order in which the packets are stored from the output FIFO buffer 127-i2 having a low priority. On the other hand, in “weighted cyclic control”, packets are read from the output FIFO buffer 127-i1 and the output FIFO buffer 127-i2 based on a preset ratio. Note that the read control in the transmission circuit 125-i is set by the administrator of the router 100 using the management terminal 140. Further, the transmission circuit 125-i deletes the internal header part 430 of the read packet. Then, the MAC address of the line i 123-i is written in the SAMAC 401, and the packet is transmitted to the line i 123-i.
[0053]
A block diagram of the flow detection unit 112 is shown in FIG. The flow detection unit 112 includes a result determination unit 710, a condition match determination unit 720, a list reading unit 730, an entry reading unit 740, an entry table 750, and a list table 760. A flowchart of the flow detection unit 112 is shown in FIG. The process of the flow detection unit 112 is roughly divided into five processes: a detection start process 600, a list read process 630, an entry read process 640, a condition match determination process 620, and a result determination process 610. The following four processes are executed by the list reading unit 730, the entry reading unit 740, the condition match determination unit 720, and the result determination unit 710, respectively.
[0054]
The format of the entry table 750 is shown in FIG. In order to perform the entry reading process 640 in a short time, the entry table 750 is realized by a memory inside the semiconductor chip 1200 as shown in FIG. When the memory inside the semiconductor chip is used, a large amount of data can be read at a time without using the data input / output pins of the semiconductor chip 1200. Therefore, the memory inside the semiconductor chip is suitable for realizing the entry table 750. When the entry table 750 is realized by a memory outside the semiconductor chip 1200, the number of pins of the semiconductor chip 1200 is limited, so that a large number of pins cannot be used to connect the entry table 750. Therefore, the bit width that can be read at a time is small, and the processing time of the entry read processing 640 is long. From the viewpoint of speeding up the flow detection, the memory outside the semiconductor chip 1200 is not suitable for realizing the entry table 750.
[0055]
The list table 760 includes G lists 540 for each input line. The number G in the list 540 has a relationship of G ≦ H with the number H of entries 511 in the entry table 750. When the flow is detected, the list 540 of the input line to which the packet is input is sequentially read from the list 540 having the smallest memory address to the list 540 having the largest memory address.
[0056]
The list table 760 is realized by a memory outside the semiconductor chip 1200 as shown in FIG. Since the list 540 has a small bit width, it can be read at high speed without consuming the number of pins of the semiconductor chip 1200. Further, when all entries 511-i can be set for all input lines (ie, when G = H), “capacity of list table 760 = bit width of list 540 × number of input lines × number of entries (= H Therefore, as the number of input lines increases, the capacity of the list table 760 increases. Therefore, a memory outside the semiconductor chip 1200 having a large capacity is optimal for the list table 760. In addition, each input line has a list 540 having a small bit width that specifies entry 511-i, and by sharing entry 511-i with the input line, the memory in semiconductor chip 1200 having a small memory capacity can be used efficiently. be able to.
[0057]
Hereinafter, processing at the time of flow detection will be described in order with reference to FIG. In the detection start processing 600, when the packet header information 11 is transmitted to the header processing unit 110, the flow detection unit 112 detects the input line number 407, SIP 402, DIP 403, SPORT 404, DPORT 405, and TOS 411 in the header information 11. Each information is input / output line number storage means 732 in the list reading unit 730, intra-packet SIP storage means 722-2, in-packet DIP storage means 722-2, in-packet SPORT storage means 724- 2. Accumulate in the intra-packet DPORT accumulation means 725-2 and the intra-packet TOS accumulation means 728-2 (step 601).
[0058]
The list reading process 630 is a process in which the list reading unit 730 reads only the list 540 assigned to the input line number in the header information 11 of the list table 760 and stores it in the list storage means 741. First, the list reading unit 730 resets the value M of the list number counter 733 to 1 so as to read the head list 540-i1 for the line i (step 631). Next, the list table address generation circuit 731 generates an address of the list table 760 from the input line number stored in the input / output line number storage means 732 and the value M (1 in this case) of the list number counter 733 to generate a list 540. -i1 is read and stored in the list storage means 741 (step 632). The address of the list table 760 is “(input line number−1) × number of lists for each input line G + M”. Finally, the list table address generation circuit 731 notifies the list number counter 733 that the list 540 has been read, and the list number counter 733 reads the list 540-i2 when executing the next list read processing 630. The value M of the number counter 733 is incremented by 1 (step 633). By repeating the above list reading processing 630, the list reading unit 730 reads the list 540 in order from the smallest list table address to the largest list table address.
[0059]
In the entry reading process 640, the entry reading unit 740 reads the entry 511-i from the entry table 750. The entry table address generation circuit 742 in the entry reading unit 740 reads the entry 511-i from the entry table 750 using the value stored in the list storage unit 741 as it is as the entry table address, and the SIP upper limit value 501 and SIP lower limit value 502. The information on the DIP upper limit value 503 and the DIP lower limit value 504 is stored in the entry DIP storage unit 723-3, and the information on the SPORT 505 and DPORT 506 is stored in the entry SIP storage unit 722-3 in the condition match determination unit 720. The information of TOS515 is stored in the in-entry SPORT storage means 724-3 and the in-entry DPORT storage means 725-3, and the IP valid bit 562, the port valid bit 563 and the TOS valid bit 564 are valid in the in-entry TOS storage means 728-3. The priority information 507 is stored in the QoS control information storage unit 713 of the result determination unit 710 in the bit storage unit 726 (step 641).
[0060]
In the condition match determination process 620, the condition match determination unit 720 includes an intra-entry SIP storage unit 722-3, an intra-entry DIP storage unit 723-3, an intra-entry SPORT storage unit 724-3, an intra-entry DPORT storage unit 725-3, an entry It is determined whether or not the packet for determining the priority information matches the flow condition stored in the internal TOS storage unit 728-3. In the flowchart of FIG. 11, the processing for determining whether or not the packet matches the flow conditions of SIP, DIP, SPORT, DPORT, and TOS is written to be performed in series, but the condition match determination unit 720 performs the condition match determination. In order to execute the processing 620 in a short time, a comparison circuit is provided exclusively for the SIP, DIP, SPORT, DPORT, and TOS flow conditions, and the determination is executed in parallel.
[0061]
The SIP comparison circuit 722-1 determines that the SIP upper limit value and lower limit value stored in the intra-packet SIP storage means 722-2 and the SIP stored in the intra-entry SIP storage means 722-3 are “SIP lower limit value ≦ SIP ≦ SIP When the condition “upper limit value” is satisfied or the IP valid bit in the valid bit storage means 726 is “invalid”, it is determined as “match” (step 621-1). The DIP comparison circuit 723-1 performs the same processing as that for SIP on DIP (step 621-2). The SPORT comparison circuit 724-1 is configured such that the SPORT stored in the intra-packet SPORT storage means 724-2 is equal to the SPORT stored in the intra-entry SPORT storage means 724-3, or the port effective bit in the effective bit storage means 726. Is judged to be “match” (step 621-3). The DPORT comparison circuit 725-1 executes the same processing as SPORT for DPORT (step 621-4). The TOS comparison circuit 728-1 is configured such that the TOS stored in the in-packet TOS storage unit 728-2 is equal to the TOS stored in the in-entry TOS storage unit 728-3 or the TOS effective bit in the effective bit storage unit 726. Is judged to be “match” (step 621-6). If the condition match determination circuit 721 determines “match” in step 621-1, step 621-2, step 621-3, step 621-4, and step 621-6, the condition match result in the result determination unit 710 is obtained. Information indicating “match” is stored in the storage unit 712 (step 622-1). In other cases, information indicating “mismatch” is stored (step 622-2). In the above embodiment, when each comparison circuit always determines that the IP valid bit 562, the port valid bit 563 and the TOS valid bit 564 are “invalid” for the flow condition “invalid”, the valid bit is “invalid”. Behave in the same way as when SIP / DIP, SPORT / DPORT, and TOS are not compared in the packet. By providing these valid bits, flow conditions unrelated to the IP address, port number, or TOS can be described, and the description of the flow conditions is greatly improved. Thereby, it is possible to flexibly cope with various flow conditions desired by the administrator of the router 100.
[0062]
In the result determination process 610, when the information indicating “match” is stored in the condition match result accumulation unit 712, the result determination circuit 711 determines the value of the QoS control information accumulation unit 713 as the priority information, and the priority The packet priority information 13 composed of the information is output to the output FIFO buffer distribution circuit 121 of the packet input / output unit 120, and the flow detection is terminated (step 611). When the information indicating “mismatch” is stored in the condition match result accumulation unit 712, the flow detection unit 112 returns to step 632 and continues the flow detection process, and finally determines priority information.
[0063]
In the input line limiting method, the speed is increased by limiting the entry 511-i to be searched to the entry 511-i that matches the input line number. Consider a case in which the edge router B 327 of the network in FIG. 2 performs QoS control of packets transmitted by the enterprise network C 323 and the enterprise network D 324. Since the enterprise network C 323 and the enterprise network D 324 are different companies, generally the flow detection is different. Therefore, the edge router B 327 must have an entry 511-i for the corporate network C323 and an entry 511-i for the corporate network D324. In the linear search method, all these entries 511-i are searched. In the input line limitation method, only the entry 511-i having the same input line (enterprise network) is searched among the entries 511-i. Therefore, the input line limiting method realizes twice the performance as compared with the linear search method. When the corporate network of K company is connected to the edge router B 327, the performance is approximately K times. Further, by introducing the list 540, a large number of flow conditions can be set.
[0064]
An output line limiting method will be described as another example of the flow detection method. In the output line limiting method, only the entry 511-i having the same output line number as the flow condition is processed, and the flow detection is speeded up. Hereinafter, the output line limiting method will be described focusing on differences from the input line limiting method.
[0065]
The output line limited list table 760 has a list 540 for each output line, not for each input line. Accordingly, in step 601, the flow detection unit 112 does not store the input line number in the input / output line storage unit 732, but stores the output line number in the output line information 12 sent by the routing processing unit 111. Further, in step 632, the list table address generation circuit 731 generates a list table address from the output line number in the input / output line number storage means 732 and the value M of the list number counter 733. The rest is the same as the input line limiting method.
[0066]
Consider the case where the edge router B 327 of the network in FIG. 2 performs QoS control of packets sent to the enterprise network C 323 and the enterprise network D 324. When the flow detection of the packet sent to the corporate network C 323 and the packet sent to the corporate network D 324 are different, the output line limiting method realizes twice the performance of the linear search method as the input line limiting method.
[0067]
A SAMAC limiting method when SAMAC is used instead of the input line number in the header information 11 as a flow condition will be described. In the SAMAC limited method, a SAMAC group, which is a SAMAC group, is defined, and only the entries that match the SAMAC identifier that is the SAMAC group identifier are searched. Hereinafter, the SAMAC limiting method will be described focusing on differences from the input line limiting method.
[0068]
FIG. 9 shows the format of the entry table 750 and the list table 860 in the SAMAC limited method. The entry table 750 is the same as the input line limiting method, but the list table 860 is divided into L areas by SAMAC identifiers. A block diagram of the flow detection unit 812 is shown in FIG. The list reading unit 830 includes a MAC identifier storage unit 832 and a MAC identifier generation circuit 834 instead of the input / output line number storage unit 732.
[0069]
In step 601, the MAC identifier generation circuit 834 hashes the SAMAC (6 bytes) with a hash function, and generates a SAMAC identifier having a bit width smaller than that of SAMAC. Further, the list table 860 stores the SAMAC identifier in the MAC identifier storage means 832 instead of the input line number. Note that SAMACs having the same hash value of the hash function constitute one SAMAC group. In step 632, the list table address generation circuit 831 generates a list table address from the SAMAC identifier in the MAC identifier storage means 832 and the value M of the list number counter 733. The rest is the same as the input line limiting method.
[0070]
Consider a case where QoS control is executed in the network shown in FIG. This network is a network in which line A1311 (having MAC address A) of router A1301, line B1312 (having MAC address B) of router B1302, and line C1313 (having MAC address C) of router C1303 are bus-connected. is there. The router A1301 executes QoS control of packets transmitted from the network B1322 and the network C1323. In this case, the router A 1301 cannot identify the transmission network of the received packet by the input line number. Therefore, the router A 1301 identifies the network from the MAC address (MAC address B or C). If the flow detection is different between the network B1322 and the network C1323, the router A1301 must have an entry 511-i for the network B1322 and an entry 511-i for the network C1323. At this time, if the SAMAC identifiers of the MAC addresses B and C are different, only the entry 511-i of one network is searched at the time of packet input, and the SAMAC limited method can realize twice the performance as compared with the linear search method.
[0071]
A DAMAC limiting method when using DAMAC determined by the ARP processing unit 113 instead of SAMAC in the header information 11 as a flow condition will be described. In the DAMAC limited method, a DAMAC group that is a DAMAC group is defined, and only entries that match the DAMAC identifier that is the DAMAC group identifier are searched. Hereinafter, the DAMAC limited method will be described focusing on the differences from the SAMAC limited method.
[0072]
The list table 860 in the DAMAC limited method is divided not by SAMAC identifiers but by DAMAC identifiers. In the SAMAC limited method, the MAC identifier generation circuit 834 generates a SAMAC identifier from SAMAC in the header information 11. However, in step 601 of the DAMAC limiting method, the MAC identifier generation circuit 834 generates a DAMAC identifier from the DAMAC in the DAMAC information 15, and stores the DAMAC identifier in the MAC identifier storage unit 832. In Step 632, the list table address generation circuit 831 generates a list table address from the DAMAC identifier in the MAC identifier storage unit 832 and the value M of the list number counter 733. Other than these, it is the same as the SAMAC limited method.
[0073]
Consider a case where the router A 1301 of the network in FIG. 18 performs QoS control of packets transmitted to the network B 1322 and the network C 1323. When the flow detection of packets sent to network B1322 and network C1323 is different, if the DAMAC identifiers of MAC addresses B and C are different, only the entry 511-i of one network is searched at the time of packet input, and the DAMAC limited method is linear Double the performance compared to the search method.
[0074]
Next, a transmission source subnet limitation method for limiting entries by a transmission source subnet will be described. Hereinafter, the transmission source subnet limitation method will be described focusing on differences from the input line limitation method.
[0075]
The format of entry table 1050 and list table 1060 in the transmission source subnet limitation method is shown in FIG. The entry 510-i in the entry table 1050 has an input line number 508 and an input line number valid bit 561 that increase compared to the entry 511-i in the input line limiting method, and is the same as the entry in the linear search method. On the other hand, the list table 1060 is divided into R areas by the transmission source subnet identifier.
[0076]
FIG. 15 shows a block diagram of the flow detection unit 1012 in the transmission source subnet limitation method. In the flow detection unit 1012 of the transmission source subnet limitation method, the input / output line number accumulation unit 732 becomes the subnet identifier accumulation unit 1032, the line number comparison circuit 1027-1, the intra-packet line number accumulation unit 1027-2, and the intra-entry line number The storage means 1027-3 increases. Further, the routing processing unit 111 is also changed. The routing processing unit 111 of the input line limiting method determines the output line number for transfer to the subnet to which the DIP belongs. However, in the transmission source subnet limitation method, not only the output line number but also the destination subnet identifier that is the identifier of the subnet to which the DIP belongs is determined. If the search method described in Japanese Patent Laid-Open No. 10-222535 is used, the routing processing unit 111 can also determine the destination subnet identifier. Further, the routing processing unit 111 also determines a source subnet identifier that is an identifier of a subnet to which the SIP belongs, using a method similar to DIP. Subnet identifier information 16 composed of the source and destination subnet identifiers is transmitted to the flow detection unit 1012.
[0077]
FIG. 14 shows a flowchart in the transmission source subnet limitation method. Hereinafter, processing of the transmission source subnet limitation method will be described with a focus on differences from the processing of the input line limitation method using the flowchart of FIG. First, description will be given of the changed part accompanying the format change of the list table 1060. In step 901 of the detection start processing 900, the flow detection unit 1012 uses the input line number 408 in the header information 11 as the intra-packet line number storage unit 1027-2 in the condition match determination unit 1020 instead of the input / output line number storage unit 732. To accumulate. When receiving the subnet identifier information 16, the flow detection unit 1012 accumulates the transmission source subnet identifier in the subnet identifier accumulation unit 1032 (step 902). In the list read processing 930, the list table address generation circuit 1031 generates a list table address from the transmission source subnet identifier stored in the subnet identifier storage means 1032 and the value M of the list number counter 733, and the list 540 in the list table 1060. Is read (step 932). Next, a description will be given of a change place for the condition match determination unit 1020 to execute comparison of input line numbers. In step 941 of the entry reading processing 940, processing for storing the input line number 508 in the in-entry line number storage means 1027-3 and processing for storing the input line number valid bit 561 in the effective bit storage means 1026 are added. Further, in the condition match determination process 920, the line number comparison circuit 1027-1 is configured to receive the information in the intra-packet line number storage means 1027-2, the information in the in-entry line number storage means 1027-3, and the valid bit storage means 1026. A process (step 921-5) for determining a match from the input line number valid bit 561 is added. Operations other than the above are the same as in the input line limiting method.
[0078]
Consider a case where the backbone router 328 of the network in FIG. 2 performs QoS control of packets transmitted by the enterprise network C 323 and the enterprise network D 324. Unlike the edge router B327, since the enterprise network cannot be identified by the input line number, the transmission source subnet is used to identify the enterprise network. When the flow detection of the enterprise network C and the enterprise network D 324 is different, the backbone router 328 must have an entry 510-i for the enterprise network C323 and an entry 510-i for the enterprise network D324. In the linear search method, all these entries 510-i are searched, but in the transmission source subnet limitation method, only the entry having the same transmission source subnet is searched among the entries. Therefore, the transmission source subnet limitation method achieves twice the performance of the linear search method.
[0079]
Next, a destination subnet restriction method for restricting entries by destination subnet will be described. Hereinafter, the destination subnet restriction method will be described focusing on differences from the transmission source subnet restriction method.
[0080]
In the destination subnet limitation method, the list table 1060 has a list 540 for each destination subnet identifier, not the source subnet identifier. Accordingly, in step 902, the subnet identifier storage means 1032 stores the destination subnet identifier in the subnet identifier information 16. In step 932, the list table address generation circuit 1031 generates a list table address from the destination subnet identifier in the subnet identifier storage means 1032 and the value M of the list number counter 733. Other than these, it is the same as the transmission source subnet limitation method.
[0081]
Consider a case where the backbone router 328 of the network in FIG. 2 performs QoS control of packets transferred to the corporate network C 323 and the corporate network D 324. When the flow detection is different between the corporate network C 323 and the corporate network D 324, the entry 510-i is limited by the destination subnet, so that the destination subnet limitation method can realize twice the performance as compared to the linear search method.
[0082]
The case where the QoS control information is priority information has been described so far. Described below is determination of bandwidth monitoring information necessary for executing bandwidth monitoring and rewriting TOS information necessary for executing TOS rewriting. The table format when flow detection is performed by the input line limiting method to determine the bandwidth monitoring information and the rewrite TOS information is shown in FIG. 22, the block diagram of the result judging unit 2310 is shown in FIG. 23, and the block diagram of the header processing unit 2410 is shown. FIG. 24 shows a flowchart in FIG. Hereinafter, the difference from the case where the flow detection (input line limiting method) for determining only the priority information of QoS control is performed will be described. Bandwidth monitoring information 2213 and rewrite TOS information 2214 are newly added to the QoS control information part 2230 in the entry. Accordingly, processing for accumulating the bandwidth monitoring information 2213 and the rewrite TOS information 2214 in the QoS control information accumulating means 2316 is added to step 2541 of the entry reading processing 2540 when the flow is detected. In the result determination process 2510, the result determination circuit 2311 determines the value of the QoS control information storage unit 2316 as priority information, bandwidth monitoring information, and rewrite TOS information, and outputs packet priority information 13 composed of the priority information. In addition to the processing to transmit to the FIFO buffer distribution circuit 121, the packet bandwidth monitoring information 17 composed of the bandwidth monitoring information is output to the bandwidth monitoring unit 2414, and the packet rewrite TOS information 19 composed of the rewrite TOS information is output to the FIFO buffer distribution The data is transmitted to the circuit 121 (step 2511).
[0083]
The bandwidth monitoring unit 2414 determines “compliance” or “violation” of the input packet from the packet bandwidth monitoring information 17 and outputs the determination result to the output FIFO buffer distribution circuit 121 as bandwidth monitoring result information 18. When the output FIFO buffer distribution circuit 121 receives the packet priority information 13 and the packet rewrite TOS information 19, processing to write the QoS control information 409 and TOS 411 of the packets stored in the temporary storage buffer 128 is added. When the output line number 408, DAMAC401, QoS control information 409 and TOS411 are all written, the output FIFO buffer distribution circuit 121 outputs the packet of the temporary storage buffer 128 when the bandwidth monitoring result information 18 is “Compliant”. The packet is transmitted to the output FIFO buffer 127-ij (j = 1 or 2) indicated by the priority information in the QoS control information 409 of the line corresponding unit 122-i indicated by 408. If the bandwidth monitoring result information 18 is “violation”, the packet in the temporary storage buffer 128 is discarded, or the priority information in the TOS 411 or QoS control information 409 is rewritten with low priority information, and the priority after rewriting The packet is transmitted to the output FIFO buffer 127-ij (j = 1 or 2) indicated by the information.
[0084]
In order to achieve QoS even in ATM or frame relay networks connecting routers, routers need to distribute connections (VC / VP and DLCI) according to users and applications and use data link layer QoS control. It is. Therefore, the router also needs to execute flow detection and determine connection information. An example where connection distribution is required will be described with reference to FIG. FIG. 46 shows a network in which a corporate network A 4302 and a corporate network B 4303 are connected by a public ATM network 4301. The public ATM network 4301 includes an ATM switch A 4310 and an ATM switch B4311. Further, a CBR (Constant Bit Rate) connection VC1 and a UBR (Unspecified Bit Rate) connection VC2 are set between the router A 4312 of the corporate network A 4302 and the router B 4313 of the corporate network B 4303. Packets on VC1 are transferred with higher priority than packets on VC2 at ATM switch A4310 and ATM switch B 4311, and QoS is guaranteed, but QoS of packets on VC2 is not guaranteed. When a packet is transmitted from the enterprise network A4302 to the enterprise network B4303, the router A4312 performs flow detection and assigns VC1 to a packet that requires QoS, and assigns VC2 to other packets.
[0085]
FIG. 26 shows a table format of the entry table 2650 when flow detection is executed by the input line limiting method to determine connection information, FIG. 27 is a block diagram of the result determination unit 2710, and FIG. The difference from the case where the flow detection (input line only method) for determining only the priority information of QoS control is performed will be described. Connection information 2615 is newly added to the QoS control information 2630 in the entry. Accordingly, in the entry reading process 2840, a process for accumulating the connection information 2615 in the QoS control information accumulating unit 2716 is added. In the result determination process 2810, the result determination circuit 2711 determines priority information and also determines the value of connection information in the QoS control information accumulating means 2716 as connection information, which is composed of the connection information in addition to the packet priority information 13. The packet connection information 20 is output to the output FIFO buffer distribution circuit 121 (step 2811). The output FIFO buffer distribution circuit 121 writes the packet connection information 20 to the QoS control information 409 of the packet stored in the temporary storage buffer 128 in addition to the packet priority information 13. The transmission circuit 125 transmits a packet to the line 123-i as a connection packet indicated by the connection information in the QoS control information 409.
[0086]
So far, flow detection in QoS control has been described. Hereinafter, flow detection in filtering will be described. FIG. 29 shows a table format when the input line limiting method is applied to filtering flow detection, FIG. 30 shows a block diagram of the result judging unit 3010, and FIG. 31 shows a flowchart. In the following, the difference from the case where flow detection (input line limiting method) for determining priority information of QoS control is performed will be described. In filtering, since transfer permission / inhibition information is determined, the QoS control information section 530 in the entry becomes the filtering control information section 2931 and the priority information 507 becomes the transfer permission / inhibition information 2916. Further, instead of the QoS control information storage unit 713, a filtering control information storage unit 3016 is provided. At the time of flow detection, in the entry reading process 3140, instead of storing the priority information 507, transfer permission / inhibition information 2916 is stored in the filtering control information storage means 3016. In the result determination process 3110, instead of determining the priority information, the result determination circuit 3011 determines the value of the filtering control information storage unit 3016 as the transfer enable / disable information, and outputs the packet transfer enable / disable information 21 composed of the transfer enable / disable information. The data is output to the FIFO buffer distribution circuit 121 (step 3111).
[0087]
The case where either flow control of QoS control or filtering is executed has been described. The router in the Internet 325 in FIG. 2 often performs only QoS control, but the gateway router 329 needs to detect both flows. In this case, the simultaneous flow detection method or the two-stage flow detection method described below is used.
[0088]
First, the simultaneous flow detection method will be described. The simultaneous flow detection method is a method for simultaneously determining QoS control information used for QoS control and transfer availability information used for filtering. A table format when the simultaneous flow detection method is applied to the input line limiting method is shown in FIG. 32, a block diagram of the result determination unit 3310 is shown in FIG. 33, and a flowchart is shown in FIG.
[0089]
The difference from the case where the flow detection (input line only method) for determining only the priority information of QoS control is performed will be described. The entry 3211 includes a QoS control information unit 530 and a filtering control information unit 2931 including transfer enable / disable information 2916. Accordingly, filtering control information accumulating means 3016 is added to the result judging unit 3310. When the flow is detected, in step 3441 of the entry reading process 3440, a process for accumulating the transfer enable / disable information 2916 in the filtering control information accumulating unit 3016 is added. In the result determination process 3410, the result determination circuit 3311 determines the priority information, sends the packet priority information 13, and determines the value of the filtering control information storage means 3016 as the transfer enable / disable information, and is configured from the transfer enable / disable information. The packet transfer enable / disable information 21 is output to the output FIFO buffer distribution circuit 121.
[0090]
Next, the two-stage flow detection method will be described. In the two-stage flow detection method, QoS control and flow detection of filtering are executed in series. FIG. 35 shows a list table 3560 and an entry table 3550 when the two-stage flow detection method is applied to the input line limiting method, FIG. 36 shows a block diagram, and FIG. 37 shows a flowchart. Hereinafter, a case where priority information and transfer permission / inhibition information are determined using the two-stage flow detection method will be described. In FIG. 37, steps 621-1 to 4 and 621-6 are collectively referred to as step 621. In the entry table 3550, an entry 2911 for filtering and an entry 511 for QoS control are mixed. The list table 3560 is divided into areas of a filtering list 3540 that points to the filtering entry 2911 and a QoS control list 3541 that points to the QoS control entry 511. When the filtering flow is detected, the list for filtering is divided. When the QoS control flow is detected in 3540, the QoS control list 3541 is read. The flow detection unit 3612 is newly provided with a flow detection state accumulation unit 3670 that indicates whether filtering or QoS control flow detection is being performed.
[0091]
When the header information 11 is input, after step 601 of the detection start process 600, the flow detection unit 3612 changes the value of the flow detection state storage means 3670 to “a value indicating the detection of the flow of filtering” in order to perform the flow detection of filtering. Set (step 3750). First, filtering flow detection is performed. In the list reading process 3730, the list reading unit 3630 refers to the value of the flow detection state storage unit 3670 (in this case, represents filtering), and sequentially reads a list 3540 that points to the entry 2911 for filtering ( Step 3732). Further, in the entry read processing 3740, when the value of the flow detection state storage unit 3670 is “value indicating the flow detection of filtering”, the transfer control information in the filtering control information unit 3531 is stored in the filtering control information storage unit 3016. (Step 3741). After the condition match determination process 620, in the result determination process 3710, the result determination unit 3610 determines whether the value of the flow detection state accumulation unit 3670 is filtering or QoS control flow detection (step 3713), and at the time of filtering flow detection, The result judging circuit 3611 sends the value of the filtering control information accumulating means 3016 as the packet transfer availability information 21 (step 3712). Further, the result determination unit 3610 refers to whether the transfer permission / inhibition information is “discard” or “pass” (step 3714). When the transfer permission / inhibition information is “discard”, the flow detection unit 3612 ends the flow detection without executing the flow detection for QoS control (step 3715). In order to perform flow detection, the value of the flow detection state storage means 3670 is set to “value indicating flow detection of QoS control” (step 3760), and flow detection of QoS control is started. In the two-stage flow detection method, the flow detection unit 3612 performs flow detection for filtering first, and does not perform flow detection for QoS control on packets discarded by filtering, thereby speeding up flow detection. .
[0092]
In the QoS control list reading process 3730, the list reading unit 3630 refers to the value of the flow detection state storage means 3670 (in this case, represents QoS control), and sequentially reads the list 3541 that points to the QoS control entry 511. (Step 3732). Also in the entry read processing 3740, the result determination unit 3610 uses the priority information in the QoS control information unit 3532 as the QoS control information storage unit when the value of the flow detection state storage unit 3670 is “value indicating flow detection of QoS control”. It is stored in 713 (step 3741). After the condition match determination process 620, in the result determination process 3710, the result determination unit 3610 determines whether the value of the flow detection state storage unit 3670 is filtering or QoS control flow detection (step 3713). Sometimes, the result judging circuit 3611 sends the value of the QoS control information accumulating means 713 as the packet priority information 13 (step 3711), and ends the flow detection (step 3715).
[0093]
By executing the processing described above, both QoS control and filtering flow detection can be performed.
[0094]
Depending on the flow conditions, there are a case where the two-stage flow detection method is suitable for speeding up with few setting entries, and a case where the simultaneous flow detection method is suitable for speeding up with few setting entries. First, the case where the flow detection with the same QoS control and filtering flow conditions is executed by the gateway router 329 in FIG. 2 will be described. FIG. 38 shows the setting of the entry table 3250 in the simultaneous flow detection method, and FIG. 39 shows the setting of the entry table 3550 in the two-stage flow detection method. The top three entries for entry table 3550 in FIG. 39 are for filtering, and the bottom two entries are for QoS control. For both filtering and QoS control, the flow conditions are SIP = enterprise network A321, enterprise network C323, enterprise network D324, and DIP = enterprise network B322. In filtering, the gateway router 329 forwards packets from the corporate network A 321 and the corporate network C 323, and discards packets from the corporate network D324, which is another company. On the other hand, in QoS control, packets from the enterprise network A 321 are preferentially transferred, and packets from the enterprise network C 323 are non-prioritized. In the case of the two-stage flow detection method, five entries are set, but in the case of the simultaneous flow detection method, only three entries need be set. Note that there is no QoS control entry for the corporate network D324 in the two-stage flow detection method. In the case of discarding in step 3714, the flow detection unit 3612 does not detect the flow for QoS control and ends the flow detection. This is because the flow detection is speeded up.
[0095]
Next, a case will be described in which the flow detection with different QoS control and filtering flow conditions is executed by the gateway router 329 in FIG. FIG. 40 shows the setting of the entry table 3250 in the simultaneous flow detection method, and FIG. 41 shows the setting of the entry table 3550 in the two-stage flow detection method. The filtering flow conditions are SIP = corporate network A321, corporate network C323, corporate network D324, DIP = corporate network B322, but the QoS control flow conditions are usage (FTP, TELNET, HTTP) and FTP / HTTP packets Is not preferred, TELNET packets are preferred. In the case of the simultaneous flow detection method, seven entries are set, but in the case of the two-stage flow detection method, only six entries need be set. In this example, there are three combinations of filtering and QoS control flow conditions, but as the number of combinations increases, the difference in the number of entries to be set increases.
[0096]
As described above, the simultaneous flow detection method is smaller when the QoS control and filtering flow conditions are the same, and the two-stage flow detection method is smaller when the flow conditions are different. The switching flow detection method which is one method of the present invention switches the two-stage flow detection method and the simultaneous flow detection method to reduce setting entries. Hereinafter, the switching flow detection method will be described focusing on the difference from the two-stage flow detection method.
[0097]
The table format is shown in FIG. 42, the block diagram of the result determination unit 4010 is shown in FIG. 43, and the flowchart is shown in FIG. As shown in FIG. 42, the entry 3911 has a flow detection mode 3965 for switching between the two-stage flow detection method and the simultaneous flow detection method as compared with the entry 3211 of the simultaneous flow detection method. The flow detection mode 3965 is a value representing the simultaneous flow detection method or the two-stage flow detection method. In order to store the flow detection mode 3965, a flow detection mode storage means 4014 is added to the result determination unit 4010.
[0098]
In step 4141 of the switching flow detection method entry read processing 4140, the priority information 507 of the QoS control information unit 530 is sent to the QoS control information storage unit 713 regardless of the value of the flow detection state storage unit 3670, and the filtering control information unit 3531. Is stored in the filtering control information storage unit 3016, and the flow detection mode 3965 is stored in the flow detection mode storage unit 4014. In the result determination process 4110, the result determination circuit 4011 refers to the value of the flow detection mode storage means 4014 (step 4116), and when the value of the flow detection mode storage means 4014 is a “value representing the simultaneous flow detection method”, the QoS The value of the control information storage means 713 is determined as the priority information, the packet priority information 13 composed of the priority information is sent, and the value of the filtering control information storage means 3016 is determined as transferability information, The packet transfer enable / disable information 21 including the transfer enable / disable information is output to the output FIFO buffer distribution circuit 121 (step 4117). Thereafter, the flow detection ends (step 4115). When the value of the flow detection mode accumulation unit 4014 is “a value representing a two-stage flow detection method”, the result determination unit 4010 determines whether the value of the flow detection state accumulation unit 3670 is filtering or QoS control flow detection (step 4113). ). When the value of the flow detection state storage unit 3670 represents filtering, the result determination circuit 4011 determines the value of the filtering control information storage unit 3016 as transfer enable / disable information and outputs the packet transfer enable / disable information 21 composed of the transfer enable / disable information. The data is output to the FIFO buffer distribution circuit 121 (step 4112). Further, the result determination unit 4010 refers to whether the transfer permission / inhibition information is “discard” or “pass” (step 4114). In the case of “discard”, the flow detection unit ends the flow detection without executing the flow detection for QoS control (step 4115), and in the case of “pass”, the flow detection unit detects the flow for QoS control. The value of the flow detection state accumulation unit 3670 is set to “value indicating flow detection of QoS control” (step 3760), and flow detection of QoS control is started. When the value of the flow detection state storage unit 3670 represents QoS control, the result determination circuit 4011 determines the value of the QoS control information storage unit 713 as priority information, and sets the packet priority information 13 composed of the priority information. The data is output to the output FIFO buffer distribution circuit 121 (step 4111). Thereafter, the flow detection ends (step 4115).
[0099]
As described above, the two-stage flow detection method and the simultaneous flow detection method can be switched and executed for each entry. Therefore, the administrator of the router 100 can reduce the number of setting entries by switching between the two-stage flow detection method and the simultaneous flow detection method according to the flow conditions.
[0100]
Next, the pipeline processing of the input line limiting method will be described.
[0101]
FIG. 16 (a) shows a list reading unit 730, an entry reading unit 740, a condition match determination unit 720, and a result determination unit 710, which are four processing units, in the input line limiting method. It shows how the reading process 640, the condition match determination process 620, and the result determination process 610 are executed in series. 16 indicates that the flow detection unit 112 is executing the detection start processing 600 for packet 1, and entry N indicates the result determination unit 710, the condition match determination unit 720, and the list reading unit 730. This indicates that the entry reading unit 740 is executing an entry N result determination process 610, a condition match determination process 620, a list read process 630, and an entry read process 640, respectively. For simplicity, in FIG. 16, the processing time of each of the above processes is the same. When a certain process is executed in the serial process, a processing unit that executes another process is not operating. For example, when the condition matching determination process 620 is being executed, the entry reading unit 740 that performs the entry reading process 640 is not operating. In the case of serial processing, the time for processing entry N is the sum of the processing times of list reading processing 630, entry reading processing 640, condition match determination processing 620, and result determination processing 610.
[0102]
In order to speed up the flow detection, as shown in FIG. 16 (b), the list reading process 630, the entry reading process 640, the condition match determination process 620, and the result determination process 610 are pipelined, It is desirable that the four processing units always operate. In pipeline processing, when processing unit 1 of the four processing units finishes processing 1 of entry N, whether processing unit 2 that performs processing 2 after processing 1 finishes processing 2 of entry N or not Regardless, the processing unit 1 starts processing the entry N + 1. By performing such pipeline processing, the processing time of entry N is one processing time, and in the case of FIG. 16, the processing speed is quadrupled. In the above example, the flow detection is divided into four processes and pipelined, but if divided into P processes and pipelined, the performance becomes P times.
[0103]
The input line limited pipeline processing has been described. In other methods (output line limiting method, SAMAC limiting method, DAMAC limiting method, source subnet limiting method, destination subnet limiting method), the flow detection unit can perform high-speed processing by performing similar pipeline processing.
[0104]
Next, chip division of the router 100 will be described. The header processing unit 110 and the packet input / output unit 120 are mounted on different semiconductor chips. When determining priority information for QoS control, information between the semiconductor chip mounting the header processing unit 110 and the semiconductor chip mounting the packet input / output unit 120 includes header information 11, output line information 12, and packet Priority information 13 and DAMAC information 15. That is, since user data having a large amount of information is not transferred between the header processing unit 110 and the packet input / output unit 120, each semiconductor chip on which the header processing unit 110 and the packet input / output unit 120 are mounted must be connected between the semiconductor chips. There is no need to use many output pins. Further, since the semiconductor chip on which the header processing unit 110 is mounted is shared by a plurality of lines, it is not necessary to provide a semiconductor chip for mounting the header processing for each line, and the number of semiconductor chips can be reduced. Even if the routing processing unit 111, the flow detection unit 112, and the ARP processing unit 113 are all mounted on different semiconductor chips, the routing processing unit 111, the flow detection unit 112, and the ARP processing unit 113 can be shared. The effect can be expected.
[0105]
19 to 21 are graphs for explaining the effect of the present embodiment. The vertical axis in FIGS. 19 to 21 is the flow detection performance (pps: the number of packets that can be processed per second), and the horizontal axis is the number of entries to be set.
[0106]
FIG. 19 shows a graph comparing the linear search method, the input line limiting method, and the output line limiting method. If a router has N input lines and all the input lines have different flow detections (such as different companies connected to each line), the router must have an entry for each input line. In the linear search method, all these entries are searched, but in the input line limiting method, only the entries whose input lines match are searched. Therefore, the entry to be searched becomes 1 / N and the flow detection time becomes 1 / N. Therefore, the input line limited method realizes N times the performance as compared with the linear search method. Similarly, if the router has N output lines and the flow detection of all output lines is different, the output line limiting method achieves N times the performance.
[0107]
FIG. 20 shows a graph comparing the linear search method, the transmission source subnet limitation method, and the destination subnet limitation method. Consider a case where flow detection of packets transmitted from R source networks is performed. In this case, if the flow detections of R source networks are all different, the router must have an entry for each source subnet. In the linear search method, all these entries are searched, but in the transmission source subnet limitation method, only the entry with the same transmission source subnet is searched among the entries. Therefore, the transmission source subnet limitation method achieves R times the performance of the linear search method. Similarly, when the flow detection of packets to R destination networks is performed and the flow detection of all the destination networks is different, the destination subnet limited method realizes R times the performance as compared with the linear search method.
[0108]
FIG. 21 is a graph comparing the performance when the input line limited method flow detection is performed by serial processing and when pipeline processing is performed. In the embodiment of the input line limiting method, the pipeline processing realizes four times the performance compared to the serial processing. Further, if the flow detection is divided into P processes and pipelined, the performance becomes P times.
[0109]
【The invention's effect】
According to the present invention, when searching an entry table storing flow conditions, the search range can be limited to perform a search, and therefore flow conditions such as information for identifying a user, protocol information, and priority information Even when a large number of are set, it is possible to detect a flow at high speed and perform QoS control and filtering at high speed.
[0110]
In the present invention, the flow detection unit is implemented in hardware, so that QoS control and filtering can be performed at high speed.
[0111]
In the present invention, the descriptiveness of the flow condition can be greatly improved.
[Brief description of the drawings]
FIG. 1 is a block diagram showing a configuration of a router according to the present invention.
FIG. 2 is a configuration diagram of the Internet.
FIG. 3 is a view showing a format of a packet in the network.
FIG. 4 is a view showing a format of a packet in a router.
FIG. 5 is a diagram showing a format of an IP address.
FIG. 6 is a conceptual diagram of a linear search method.
FIG. 7 is a diagram for explaining a method for limiting an entry for each input line;
FIG. 8 is a format of a list table 860 and an entry table 750 in the input line limiting method of the present invention.
FIG. 9 is a format of a list table 860 and an entry table 750 in the SAMAC limited method of the present invention.
FIG. 10 shows a format of a list table 1060 and an entry table 1050 in the transmission source subnet limitation method of the present invention.
FIG. 11 is a flowchart of the flow detection unit 112 to which an input line limiting method, which is one method of the present invention, is applied.
FIG. 12 is a block diagram of a flow detection unit 112 to which the input line limiting method of the present invention is applied.
FIG. 13 is a block diagram of a flow detection unit 812 to which the SAMAC limiting method of the present invention is applied.
FIG. 14 is a flowchart of the flow detection unit 1012 to which the transmission source subnet limitation method, which is one method of the present invention, is applied.
FIG. 15 is a block diagram of a flow detection unit 1012 to which a transmission source subnet limitation method, which is one method of the present invention, is applied.
FIG. 16 is a time chart when the flow detection unit processes each process in series and a time chart when the flow detection unit performs pipeline processing on each process.
FIG. 17 is a diagram illustrating the arrangement of an entry table, a list table, and a condition match determination unit.
FIG. 18 is a diagram showing a network in which routers are connected in a bus shape.
FIG. 19 is a diagram showing the effects of the input line limiting method and the output line limiting method of the present invention.
FIG. 20 is a diagram showing the effect of the transmission source subnet limitation method and the destination subnet limitation method of the present invention.
FIG. 21 is a diagram illustrating the effect of pipeline processing.
FIG. 22 shows a format of an entry table 2250 when determining priority information, bandwidth monitoring information, and rewrite TOS information by the input line limiting method.
FIG. 23 is a block diagram of a result determination unit 2310 when determining priority information, bandwidth monitoring information, and rewrite TOS information by the input line limiting method.
FIG. 24 is a block diagram of a header processing unit 2410 when determining priority information, bandwidth monitoring information, and rewrite TOS information by the input line limiting method.
FIG. 25 is a flowchart of the flow detection unit 2412 when determining priority information, bandwidth monitoring information, and rewrite TOS information by the input line limiting method.
FIG. 26 shows a format of an entry table 2650 when determining priority information and connection information by the input line limiting method.
FIG. 27 is a block diagram of a result determination unit 2710 when determining priority information and connection information by the input line limiting method.
FIG. 28 is a flowchart of a flow detection unit when determining priority information and connection information by the input line limiting method.
FIG. 29 shows a format of an entry table 2950 when filtering is performed by the input line limiting method.
FIG. 30 is a block diagram of a result determination unit 3010 when filtering is performed by the input line limiting method.
FIG. 31 is a flowchart when filtering is executed by the input line limiting method.
FIG. 32 shows a format of an entry table 3250 to which a simultaneous flow detection method that is one method of the present invention is applied.
FIG. 33 is a block diagram of a result determination unit 3310 to which a simultaneous flow detection method that is one method of the present invention is applied.
FIG. 34 is a flowchart of a flow detection unit when a simultaneous flow detection method that is one method of the present invention is applied.
FIG. 35 shows a list table 3560 and an entry table 3550 to which a two-stage flow detection method that is one method of the present invention is applied.
FIG. 36 is a block diagram of a flow detection unit 3612 to which a two-stage flow detection method that is one method of the present invention is applied.
FIG. 37 is a flowchart of the flow detection unit 3612 when the two-stage flow detection method, which is one method of the present invention, is applied.
FIG. 38 shows a setting example of an entry table 3250 to which the simultaneous flow detection method is applied (when the filtering and QoS control flow conditions are the same).
FIG. 39 shows a setting example of an entry table 3550 to which the two-stage flow detection method is applied (when the filtering and QoS control flow conditions are the same).
FIG. 40 is a setting example of an entry table 3250 to which the simultaneous flow detection method is applied (when the filtering and QoS control flow conditions are different).
FIG. 41 shows a setting example of an entry table 2950 to which the two-stage flow detection method is applied (when the filtering and QoS control flow conditions are different).
FIG. 42 shows a format of an entry table 3950 to which a switching flow detection method that is one method of the present invention is applied.
FIG. 43 is a block diagram of a result determination unit 4010 to which a switching flow detection method that is one method of the present invention is applied.
FIG. 44 is a flowchart when a switching flow detection method that is one method of the present invention is applied;
FIG. 45 is a diagram showing the correspondence between uses (applications) and port numbers.
FIG. 46 is a network in which a corporate network is connected by a public ATM network.
[Explanation of symbols]
11 ... Header information, 12 ... Output line information, 13 ... Packet priority information, 14 ... NIP information, 15 ... DAMAC information, 16 ... Subnet identifier information, 17 ... Packet bandwidth monitoring information, 18 ... band monitoring result information, 19 ... packet rewriting TOS information, 20 ... packet connection information, 21 ... packet transfer availability information.

Claims (15)

複数の入力回線と、複数の出力回線と、前記複数の入力回線のうちの一つの入力回線から入力された入力パケットを前記複数の出力回線の何れかの出力回線に出力するパケット中継装置であって、
入力パケットのアドレス情報、用途を識別する情報又は優先度を識別する情報のうち少なくとも一つの情報と、その情報に対応する通信品質制御情報又はフィルタリング制御情報とをエントリとし、該エントリを複数有するエントリテーブル前記アドレス情報毎に分割して設定されており、
前記入力パケット内のアドレス情報に対応するエントリテーブルのみを検索し、そのエントリを読み出すエントリ読み出し手段と、
前記入力パケットのアドレス情報、用途を識別する情報又は優先度を識別する情報と前記エントリ読み出し手段が読み出したエントリ内の情報との一致判定をする一致判定手段と、
前記一致判定手段で一致と判定された場合に、前記エントリ内の前記通信品質制御情報又は前記フィルタリング制御情報により、前記入力パケットの転送の優先度又は、転送の可否を決定する手段とを備えたパケット中継装置。
A packet relay device that outputs a plurality of input lines, a plurality of output lines, and an input packet input from one of the plurality of input lines to any one of the plurality of output lines. And
An entry having at least one of the address information of the input packet, information for identifying the use or information for identifying the priority, and communication quality control information or filtering control information corresponding to the information, and having a plurality of such entries The table is divided and set for each address information ,
Entry reading means for searching only the entry table corresponding to the address information in the input packet and reading the entry;
Match determination means for determining a match between the address information of the input packet, information for identifying use or information for identifying priority, and information in the entry read by the entry reading means;
And a means for determining transfer priority of the input packet or whether transfer is possible based on the communication quality control information or the filtering control information in the entry when the match determination means determines a match. Packet relay device.
複数の入力回線と、複数の出力回線と、前記複数の入力回線のうちの一つの入力回線から入力された入力パケットを前記複数の出力回線の何れかの出力回線に出力するパケット中継装置であって、
入力パケットのアドレス情報、用途を識別する情報又は優先度を識別する情報のうちの少なくとも一つの情報と、その情報に対応する通信品質制御情報又はフィルタリング制御情報とをエントリとし、該エントリーを複数有するエントリテーブルと、
前記エントリテーブル内のエントリを指定するエントリポインタを前記アドレス情報毎に分割して設定したエントリーポインタテーブルと
入力パケット内のアドレス情報に対応するエントリポインタテーブルのみを検索し、そのエントリポインタを読み出すエントリポインタ読み出し手段と、
前記エントリポインタ読みだし手段が読み出したエントリポインタが指定するエントリを前記エントリテーブルから読み出すエントリ読み出し手段と、
入力パケット内のアドレス情報、用途を識別する情報又は優先度を識別する情報と、前記エントリ読み出し処理部が読み出したエントリ内の情報との一致判定をする一致判定手段と、
前記一致判定手段で一致と判定された場合に、前記エントリ内の前記通信品質制御情報又は前記フィルタリング制御情報により、入力パケットの転送の優先度又は、転送の可否を決定する手段を有することを特徴とするパケット中継装置。
A packet relay device that outputs a plurality of input lines, a plurality of output lines, and an input packet input from one of the plurality of input lines to any one of the plurality of output lines. And
The address information of the input packet, the information identifying the use or the information identifying the priority, and the communication quality control information or the filtering control information corresponding to the information are used as an entry, and there are a plurality of such entries. An entry table;
An entry pointer table in which an entry pointer for designating an entry in the entry table is divided and set for each address information ;
Entry pointer reading means for searching only the entry pointer table corresponding to the address information in the input packet and reading out the entry pointer;
Entry reading means for reading an entry designated by the entry pointer read by the entry pointer reading means from the entry table;
A match determination means for determining a match between address information in the input packet, information identifying the use or information identifying the priority, and information in the entry read by the entry read processing unit;
A means for determining a transfer priority of the input packet or whether transfer is possible or not according to the communication quality control information or the filtering control information in the entry when the match determination means determines that they match; Packet relay device.
請求項1記載のパケット中継装置であって、前記エントリ読み出し手段と、前記一致判定手段と、前記入力パケットの転送の優先度又は、転送の可否を決定する手段とをパイプライン制御することを特徴とするパケット中継装置。The packet relay apparatus according to claim 1, wherein said entry reading means, the match determining means, priority of the input packet transfer or, to the pipeline control means for determining whether to transfer Packet relay device. 請求項3記載のパケット中継装置であって、前記エントリポインタ読み出し手段と、前記エントリ読み出し手段と、前記一致判定手段と、前記入力パケットの転送の優先度又は、転送の可否を決定する手段とをパイプライン制御することを特徴とするパケット中継装置。The packet relay apparatus according to claim 3, said entry pointer read unit, the entry reading means, the match determining means, priority of the input packet transfer or the means for determining whether to transfer A packet relay apparatus that performs pipeline control. 複数の入力回線と、複数の出力回線と、前記複数の入力回線のうちの一つの入力回線から入力された入力パケットを前記複数の出力回線の何れかの出力回線に出力するパケット中継装置であって、
前記入力パケットのアドレス情報、用途を識別する情報又は優先度を識別する情報のうちの少なくとも一つの情報と、その情報に対応する通信品質制御情報又はフィルタリング制御情報とをエントリとし、該エントリを複数有するエントリテーブルが、前記アドレス情報毎に分割して設定されており、
入力パケットのアドレス情報に対応するエントリテーブルのみを検索し、そのエントリを読み出すエントリ読み出し手段と、入力パケット内のアドレス情報、用途を識別する情報又は優先度を識別する情報と前記エントリ読み出し手段が読み出したエントリ内の情報との一致判定をする一致判定手段とを有し、
前記エントリテーブルと前記一致判定手段とは同一の半導体チップに実装したことを特徴とするパケット中継装置。
A packet relay device that outputs a plurality of input lines, a plurality of output lines, and an input packet input from one of the plurality of input lines to any one of the plurality of output lines. And
Address information of the input packet, and the at least one information among the information for identifying the information or priority for identifying the application, an entry and a communication quality control information or filtering control information corresponding to the information, a plurality of the entries The entry table having is divided and set for each address information,
Only the entry table corresponding to the address information of the input packet is searched, the entry reading means for reading out the entry, the address information in the input packet, the information for identifying the use or the information for identifying the priority, and the entry reading means for reading. A match determination means for determining a match with the information in the entry,
The packet relay apparatus, wherein the entry table and the coincidence determination unit are mounted on the same semiconductor chip.
複数の入力回線と、複数の出力回線と、前記複数の入力回線のうちの一つの入力回線から入力された入力パケットを前記複数の出力回線の何れかの出力回線に出力するパケット中継装置であって、
前記入力パケットのアドレス情報、用途を識別する情報又は優先度を識別する情報のうちの少なくとも一つの情報と、その情報に対応する通信品質制御情報又はフィルタリング制御情報とをエントリとし、該エントリーを複数有するエントリテーブルと、
前記エントリテーブル内のエントリを指定するエントリポインタを前記アドレス情報毎に分割して設定したエントリーポインタテーブルとを有し、
入力パケット内のアドレス情報に対応するエントリポインタテーブルのみを検索し、そのエントリポインタを読み出すエントリポインタ読み出し手段と、
前記エントリポインタ読みだし手段が読み出したエントリポインタが指定するエントリを前記エントリテーブルから読み出すエントリ読み出し手段と、
入力パケットのアドレス情報、用途を識別する情報又は優先度を識別する情報と、前記エントリ読み出し手段が読み出したエントリ内の情報との一致判定をする一致判定手段とを有し、
前記エントリテーブルと前記一致判定手段とは同一の半導体チップに実装したことを特徴とするパケット中継装置。
A packet relay device that outputs a plurality of input lines, a plurality of output lines, and an input packet input from one of the plurality of input lines to any one of the plurality of output lines. And
Address information of the input packet, and the at least one information among the information for identifying the information or priority for identifying the application, an entry and a communication quality control information or filtering control information corresponding to the information, a plurality of the entries An entry table having
An entry pointer table in which an entry pointer for designating an entry in the entry table is divided and set for each address information;
Entry pointer reading means for searching only the entry pointer table corresponding to the address information in the input packet and reading out the entry pointer;
Entry reading means for reading an entry designated by the entry pointer read by the entry pointer reading means from the entry table;
Address information of the input packet, information for identifying use or information for identifying priority, and match determination means for determining a match with the information in the entry read by the entry reading means,
The packet relay apparatus, wherein the entry table and the coincidence determination unit are mounted on the same semiconductor chip.
請求項6に記載のパケット中継装置において、
前記エントリポインタテーブルは前記半導体チップと異なる半導体チップで構成したことを特徴とするパケット中継装置。
The packet relay device according to claim 6,
2. The packet relay device according to claim 1, wherein the entry pointer table is composed of a semiconductor chip different from the semiconductor chip.
請求項1から7のいずれか1項に記載のパケット中継装置において、
前記アドレス情報は、前記入力回線または前記出力回線の識別番号であることを特徴とするパケット中継装置。
In the packet relay device according to any one of claims 1 to 7,
The packet relay apparatus, wherein the address information is an identification number of the input line or the output line.
請求項1から7のいずれか1項に記載のパケット中継装置において、
前記アドレス情報は、送信元または送信先の物理アドレスであることを特徴とするパケット中継装置。
In the packet relay device according to any one of claims 1 to 7,
The packet relay apparatus, wherein the address information is a physical address of a transmission source or a transmission destination.
請求項1から7のいずれか1項に記載のパケット中継装置において、
前記アドレス情報は、送信元または送信先サブネット識別情報であることを特徴とするパケット中継装置。
In the packet relay device according to any one of claims 1 to 7,
The packet relay apparatus, wherein the address information is transmission source or transmission destination subnet identification information.
請求項1から7のいずれか1項に記載のパケット中継装置において、
前記エントリテーブルは、入力パケットのアドレス情報と、前記アドレス情報の有効/無効を示すフラグ情報と、それらの情報に対応する通信品質制御情報又はフィルタリング制御情報とをエントリとすることを特徴とするパケット中継装置。
In the packet relay device according to any one of claims 1 to 7,
The entry table is the address information of the input packet, a flag information indicating the validity / invalidity of the address information, wherein the entry and to Rukoto and a communication quality control information or filtering control information corresponding to the information Packet relay device.
請求項11に記載のパケット中継装置において、
前記アドレス情報は、インターネット・プロトコル(IP)アドレス情報と、入力回線情報とであり、前記アドレス情報の有効/無効を示すフラグ情報は、前記IPアドレス情報の有効/無効を示すフラグ情報と、前記入力回線情報の有効/無効を示すフラグ情報とであることを特徴とするパケット中継装置。
The packet relay device according to claim 11,
The address information is Internet Protocol (IP) address information and input line information. Flag information indicating validity / invalidity of the address information is flag information indicating validity / invalidity of the IP address information; A packet relay apparatus comprising flag information indicating validity / invalidity of input line information.
請求項12に記載のパケット中継装置において
記一致判定手段は、IPアドレス情報と、入力回線情報毎に設けられた複数の比較手段を有し、
IPアドレス情報に対応して設けられた前記比較手段は、前記IPアドレス情報の有効/無効を示すフラグ情報に応じて動作し、
入力回線情報に対応して設けられた前記比較手段は、前記入力回線情報の有効/無効を示すフラグ情報に応じて動作することを特徴とするパケット中継装置。
The packet relay device according to claim 12 ,
Before SL match determining means has an IP address information, a plurality of comparing means provided for each input line information,
The comparison means provided corresponding to the IP address information operates according to flag information indicating validity / invalidity of the IP address information,
The packet relay apparatus characterized in that the comparing means provided corresponding to the input line information operates in accordance with flag information indicating validity / invalidity of the input line information.
請求項13に記載のパケット中継装置において、
IPアドレス情報に対応して設けられた前記比較手段は、前記IPアドレス情報の有効/無効を示すフラグ情報が有効を示す場合のみ一致判定を行い、入力回線情報に対応して設けられた前記比較手段は、前記入力回線情報の有効/無効を示すフラグ情報が有効を示す場合のみ一致判定を行うことを特徴とするパケット中継装置。
The packet relay device according to claim 13,
The comparison means provided corresponding to the IP address information performs a match determination only when flag information indicating validity / invalidity of the IP address information indicates validity, and the comparison provided corresponding to the input line information. The means performs a match determination only when flag information indicating validity / invalidity of the input line information indicates validity.
請求項1から1のいずれか1項に記載のパケット中継装置において、
前記通信品質制御情報は、帯域監視情報であることを特徴とするパケット中継装置。
The packet relay apparatus according to any one of claims 1 1 4,
The packet relay apparatus, wherein the communication quality control information is bandwidth monitoring information.
JP24836999A 1998-10-05 1999-09-02 Packet relay device Expired - Lifetime JP3721880B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP24836999A JP3721880B2 (en) 1998-10-05 1999-09-02 Packet relay device

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
JP28220698 1998-10-05
JP10-282206 1998-10-05
JP11-47591 1999-02-25
JP4759199 1999-02-25
JP24836999A JP3721880B2 (en) 1998-10-05 1999-09-02 Packet relay device

Publications (3)

Publication Number Publication Date
JP2000312225A JP2000312225A (en) 2000-11-07
JP2000312225A5 JP2000312225A5 (en) 2004-12-16
JP3721880B2 true JP3721880B2 (en) 2005-11-30

Family

ID=27293017

Family Applications (1)

Application Number Title Priority Date Filing Date
JP24836999A Expired - Lifetime JP3721880B2 (en) 1998-10-05 1999-09-02 Packet relay device

Country Status (1)

Country Link
JP (1) JP3721880B2 (en)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1143659A4 (en) * 1999-11-01 2007-08-29 Sony Corp Information transmission system and method, transmitter and receiver, data processing device and data processing method, and recorded medium
JP2003078549A (en) 2001-08-31 2003-03-14 Hitachi Ltd Packet transferring method and device
US7650634B2 (en) 2002-02-08 2010-01-19 Juniper Networks, Inc. Intelligent integrated network security device
US7734752B2 (en) 2002-02-08 2010-06-08 Juniper Networks, Inc. Intelligent integrated network security device for high-availability applications
US7746862B1 (en) 2005-08-02 2010-06-29 Juniper Networks, Inc. Packet processing in a multiple processor system
JP4643712B2 (en) * 2006-08-01 2011-03-02 株式会社日立製作所 Communication control apparatus, communication system and control method for controlling QoS for each line
JP4677501B2 (en) 2007-07-09 2011-04-27 富士通株式会社 Relay device and relay method
JP5639965B2 (en) * 2011-06-20 2014-12-10 日本電信電話株式会社 Asynchronous operation search circuit

Also Published As

Publication number Publication date
JP2000312225A (en) 2000-11-07

Similar Documents

Publication Publication Date Title
KR100333250B1 (en) Packet forwarding apparatus with a flow detection table
JP3743194B2 (en) Packet relay device
US7391778B2 (en) Label switching router having internal channel share function over ATM, and method for sharing internal channel using the same
CA2282441C (en) Atm relay device and network including same
US6147999A (en) ATM switch capable of routing IP packet
Aweya IP router architectures: an overview
US6279035B1 (en) Optimizing flow detection and reducing control plane processing in a multi-protocol over ATM (MPOA) system
US7079537B1 (en) Layer 3 switching logic architecture in an integrated network switch
US7167474B2 (en) Network relaying apparatus and network relaying method capable of high-speed routing and packet transfer
US20030026260A1 (en) Packet routing apparatus and routing controller
US7764672B2 (en) Packet communication device
CA2271835C (en) Repeater for executing a packet routing process
Aweya On the design of IP routers Part 1: Router architectures
JP3923533B2 (en) ATM partial cut-through
US6658003B1 (en) Network relaying apparatus and network relaying method capable of high-speed flow detection
US7623453B2 (en) Aggregation switch apparatus for broadband subscribers
JP3721880B2 (en) Packet relay device
US20020073222A1 (en) Packet transfer control method
US6671277B1 (en) Network relaying apparatus and network relaying method capable of high quality transfer of packets under stable service quality control
JP3228249B2 (en) Router device
JP3966319B2 (en) Packet relay apparatus having communication quality control function
JP3000968B2 (en) Packet filtering system
JP2006067615A (en) Packet repeating apparatus with communication quality control function
Nishihara et al. A cut-through transmission of ip packets and novel address resolution technique with cost-effective implementation

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040109

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20040109

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20050426

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050510

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20050530

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050711

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20050905

R151 Written notification of patent or utility model registration

Ref document number: 3721880

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

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

Free format text: PAYMENT UNTIL: 20080922

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20090922

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20090922

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20100922

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20100922

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20110922

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20120922

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20120922

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20130922

Year of fee payment: 8

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

EXPY Cancellation because of completion of term