JP3903840B2 - Packet forwarding system - Google Patents

Packet forwarding system Download PDF

Info

Publication number
JP3903840B2
JP3903840B2 JP2002136883A JP2002136883A JP3903840B2 JP 3903840 B2 JP3903840 B2 JP 3903840B2 JP 2002136883 A JP2002136883 A JP 2002136883A JP 2002136883 A JP2002136883 A JP 2002136883A JP 3903840 B2 JP3903840 B2 JP 3903840B2
Authority
JP
Japan
Prior art keywords
packet
side transmission
packets
outflow
transmission path
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2002136883A
Other languages
Japanese (ja)
Other versions
JP2003333088A (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.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP2002136883A priority Critical patent/JP3903840B2/en
Publication of JP2003333088A publication Critical patent/JP2003333088A/en
Application granted granted Critical
Publication of JP3903840B2 publication Critical patent/JP3903840B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Description

【0001】
【発明の属する技術分野】
本発明はパケット転送システムに係わり、たとえばエッジルータ等のスイッチ手段でパケットをスイッチングする際にパケットの流出量に契約等による制限を設けるようにしたパケット転送システムに関する。
【0002】
【従来の技術】
IP(Internet Protocol)ネットワークは、従来からあるデータ通信だけではなく、電話やビデオストリーミング等、あらゆる通信アプリケーションのサービスを提供するための基盤になってきている。また、IPネットワークを使用するサービスの増加に伴い、総量として伝送路の容量を超過するパケットの転送が要求される場合がある。このような場合に備えて、通信アプリケーションの特性やサービスレベルすなわちQoS(Quality of Service)の要求に従って、予め確保されたトラヒック量以内のパケットを優先的に転送することが考えられている。
【0003】
このように優先的にパケットを転送するサービスを提供するための技術の例として、ディフサーブ(Diffserv:Differentiated service)が挙げられる。ディフサーブはインターネット技術標準化委員会(Internet Engineering Task Force)の“RFC(Request For Comment)2475”によって定義されている。一般的にディフサーブを利用するにあたっては、このサービスを提供する事業者と利用するユーザとの間で予めサービス内容についての契約を行うようになっている。次にディフサーブを例にとって、優先的にパケットを転送するパケット転送システムについて説明する。
【0004】
図12は、ディフサーブをパケット転送システムとして適用したネットワークを簡略化して表わしたものである。ネットワーク11には、パケットの転送を行うコアルータ12と、ネットワーク11に入力されるパケットをこのコアルータ12に転送する第1および第2のエッジルータ131、132が配置されている。これら第1および第2のエッジルータ131、132にはそれぞれ、入力されたパケットのQoSクラスを識別する(Classifier)ものとしてのパケット識別部141、142と、トラヒック量が契約量以内か否かを判別するポリサ151、152と、対応するポリサの判別結果に従ってパケットの識別値を付け替えるマーカ161、162が備えられている。ここで契約量は契約で予め定められたトラヒック量を指している。
【0005】
このネットワーク11の事業者とこのネットワーク11の使用を希望するユーザとは、予めサービス契約(SLA:Service Level Agreement)を結ぶ。このサービス契約には、ユーザが契約するQoSクラスやネットワーク11に送出する単位時間当たりのパケットの量であるトラヒック量が含まれている。ネットワーク11の事業者は契約するQoSクラスごとに、遅延、ジッタ、パケットロス率等から構成される転送のサービス品質を提供することを定めている。また、ネットワーク11の事業者は、ユーザが契約量までのトラヒック量のパケットをネットワーク11に送出する限りは、そのサービス品質を提供するようになっている。
【0006】
次にサービス契約を結んだユーザから送出されるパケットについて、関連した動作を説明する。ユーザはネットワーク11の事業者とサービス契約を結んだ後、パケットを図示しないパケット送出装置からネットワーク11に向けて送出する。ネットワーク11に送出されたパケットは、第1あるいは第2のエッジルータ131、132に入力されるようになっている。ここでは、第1のエッジルータ131に送出されたパケットについて説明を行う。このパケットにはまずパケット識別部141で、契約したQoSクラスを識別するための識別値であるDSCP(Diffserv Code Point)値がパケットヘッダに付与される。次にこのパケットをポリサ151に入力してトラヒック量を計測し、ポリシングとしてそのトラヒック量が契約量以内であるか否かを判別する。もしトラヒック量が契約量を超えている場合には、マーカ161で超えている分のパケットのパケットヘッダに付与されているDSCP値にポリシング違反を示す値が付け加えられる。ポリシング違反を示す値が付け加えられなかったパケットはポリシング合格となる。ポリシング違反を示す値が付け加えられたパケットは、ネットワーク11内で輻輳が生じたときに優先的に廃棄されるようになっている。コアルータ12は、このように第1のエッジルータ131で付与されたDSCP値が示すQoSクラスに応じた優先度に従ってパケットの転送制御を行う。
【0007】
図13は、従来のルータに入力されるトラヒック量と出力されるトラヒック量について一例を示したものである。パケットの振り分けを行うスイッチ21には、その入力側に第1および第2の入力ポート221、222が、また出力側に出力ポート23が配置されている。ルータに備えられたスイッチ21は各入力ポート221、222に、出力ポート23へ均等にスイッチ接続の機会を与えるラウンドロビン方式でスケジューリングを行うものとする。また、第1の入力ポート221に接続する第1のユーザは、最大トラヒック量が2.4Gbps(Giga byte per second)であるのに対して契約量が1.8Gbpsのサービス契約を結んでいるものとし、第2の入力ポート222に接続する第2のユーザは、同じく最大トラヒック量が2.4Gbpsであるのに対して契約量が0.6Gbpsのサービス契約を結んでいるものとする。更に出力ポート23から出力できる最大トラヒック量は2.4Gbpsであるものとする。
【0008】
ここで、第1のユーザから第1の入力ポート221に対してトラヒック量24が1.8Gbpsのパケットが継続して入力され、また第2のユーザから第2の入力ポート222に対してトラヒック量25が1.2Gbpsのパケットが継続して入力されている場合を考える。この場合、総量として3.0Gbpsのパケットが出力ポート23へ向かって入力されることになる。第2のユーザから入力されたパケットのうち、契約量以内の0.6Gbpsはポリシング合格のパケットであり、残りのトラヒック量26として示した0.6Gbpsはポリシング違反のパケットである。
【0009】
ところが、スイッチ21がラウンドロビン方式で第1および第2の入力ポート221、222から入力されるパケットを出力ポート23に割り振ると、それぞれの入力ポート221、222から1.2Gbpsずつのパケットが出力ポート23に出力されることになる。この結果として、第1のユーザから入力されたパケットのうちトラヒック量27として示した0.6Gbpsのポリシング合格のパケットは、第2のユーザから入力された0.6Gbpsのポリシング違反のパケットによってブロックされる。この結果として、第1のユーザに対してサービス契約で定めた契約量でのパケットの転送が保証できなくなるという問題が発生する。
【0010】
このような問題を解決するためには、ポリシング合格のパケットにポリシング違反のパケットよりも優先的にスイッチ接続を行わせるようにスイッチのスケジューリングを調整する技術が必要となる。このために特開2000−324168号公報あるいは特開2001−298477号公報に記載された技術が存在する。
【0011】
図14は、これらの公報に示された従来のコアルータを説明するためのものである。コアルータ31には、図示しない第1〜第P(Pは2以上の整数。)の入力ポートから入力されるパケットにそれぞれ対応した第1〜第Pの入力バッファ321〜32Pと、第1〜第Q(Qは2以上の整数。)の出力ポート331〜33Qが備えられている。また、第1〜第Pの入力バッファ321〜32Pと第1〜第Qの出力ポート331〜33Qの接続関係の調整を行うスケジューラ34と、スケジューラ34に従ってこれらの接続を行うスイッチ35が備えられている。
【0012】
第1〜第Pの入力バッファ321〜32Pはそれぞれ同一の回路構成となっている。そこで、代表として第1の入力バッファ321についての説明を行う。
【0013】
第1の入力バッファ321には、第1の出力ポート331から送出するパケットのうち出力優先度の高いパケットをキューイングする第1の出力ポート宛高優先キュー361Hと、出力優先度の低いパケットをキューイングする第1の出力ポート宛低優先キュー361Lが備えられている。このように第1〜第Qの出力ポート331〜33Q宛にそれぞれ優先度の高さに応じたキューが備えられている。更に、これらキューに対して、第1の入力ポートから入力されたパケットを分配するパケット分配部37と、各キューからパケットを取り出してスイッチ35に送り出すパケット送出部38が備えられている。このように、コアルータ31に入力されたパケットは、第1〜第Pの入力バッファ321〜32P内で、出力ポートと優先度の組み合わせに対応してそれぞれ備えられたキューに、キューイングされるようになっている。
【0014】
特開2000−324168号公報に示されている技術では、スケジューラ34に対して、スイッチ接続を要求する各キューから格納したパケットの出力優先度を示したリクエスト391〜39Pが通知される。スケジューラ34は、リクエスト391〜39Pを基にして、優先度の高いキューのスイッチ接続を優先的に行うようなスケジューリングをする。
【0015】
また特開2001−298477号公報に示されている技術では、第1〜第Pの入力バッファ321〜32Pごとに同一出力ポート宛のパケットが一定数蓄積されると、スイッチ接続を要求するリクエスト391〜39Pがスケジューラ34に通知される。スケジューラ34は出力ポートが重複しないようにスケジューリングを行い、出力許可を示すグラント401〜40Pを該当する入力バッファに通知する。第1〜第Pの入力バッファ321〜32Pは、このグラント401〜40Pに応じて、該当する出力ポート宛高優先キューから優先的にパケットを読み出すようになっている。ポリシング合格のパケットを優先パケットとし、ポリシング違反のパケットを非優先パケットとして優先度別にキューイングすることで、ポリシング合格パケットを優先的に送出することができる。
【0016】
【発明が解決しようとする課題】
【0017】
ところで、ポリシング合格のパケットとポリシング違反のパケットは、同一のユーザから受信して所定の宛先に送出するパケットを、単に契約量との関係で区別したものである。したがって、あるユーザが1つのアプリケーションプログラムを構成する一連のデータをパケットとして転送するような場合を考えると、その中の一部がポリシング合格のパケットに振り分けられ、残りのデータがポリシング違反のパケットに振り分けられるといった事態が発生する。先に示した特開2000−324168号公報あるいは特開2001−298477号公報に記載された技術では、ポリシング合格のパケットとポリシング違反のパケットを別のキューにキューイングすることで、契約量分のパケットを優先して転送することができる。このため、これらの技術を単純に適用すると、ポリシング違反のパケットは転送される順番がポリシング合格のパケットよりも後になる場合がある。これにより、本来、一連のデータとして受信すべきアプリケーションプログラムの一部が残りの部分よりも先に宛先に送出される事態が発生する。
【0018】
このようにパケットの転送順序が入れ替わった場合には、遅れて転送されるポリシング違反のパケットをパケットの受信側が受信してからデータを再生することになる。したがって、受信したアプリケーションプログラムがうまく動作しなくなる原因ともなる。電話やビデオストリーミングのようにリアルタイム性が要求されるデータについても、パケットの転送順序が入れ替わると、再生するデータの品質が低下したり、データとしての意味をなさなくなることになる。
【0019】
そこで本発明の目的は、複数のユーザが同一の宛先にパケットを送出する場合に、他のユーザのパケットの存在にかかわらず、自己のパケットについては時間的に順序正しく宛先に送出されるようにしたパケット転送システムを提供することにある。
【0022】
【課題を解決するための手段】
請求項1記載の発明では、(イ)単位時間当たりのパケット流入量がそれぞれ個別に規定された複数の流入側伝送路ごとに配置され、単位時間当たりのパケット流出量がそれぞれ個別に規定された流出側伝送路に向けたパケットを、それぞれ受信するパケット受信手段と、(ロ)前記した複数の流入側伝送路のそれぞれに対応して配置され、パケット受信手段で受信した対応する流入側伝送路を経たパケットのうち、単位時間当たりの流出量が流入側伝送路ごとに予め規定された量を超過する分を予め規定された分と区別するように流入したパケットに識別子を選択的に付加する識別子付加手段と、(ハ)前記した複数の流入側伝送路のそれぞれに対応して配置され、識別子付加手段で識別子を選択的に付加した後の個々のパケットをそれぞれ先着順に格納する、前記した複数の流出側伝送路それぞれに対応して設けられたパケット格納手段と、(ニ)前記した複数の流入側伝送路のそれぞれに対応して配置され、これらパケット格納手段に格納されたそれぞれ先頭位置のパケットをチェックして、流出側伝送路の単位時間当たりのパケット流出量の範囲内で、識別子によって単位時間当たりの流出量が確保されたパケットを単位時間ごとに優先的に取り出すパケット取り出し手段と、(ホ)前記した複数の流入側伝送路のそれぞれのパケット取り出し手段によって取り出されたパケットを前記した複数の流出側伝送路の対応するものに送出するパケット送出手段とをパケット転送システムに具備させる。
【0023】
すなわち請求項記載の発明では、複数の流入側伝送路からこれらに互いに共通した同一の流出側伝送路に向けたパケットを受信する場合、複数の流入側伝送路のそれぞれに対応して配置された識別子付加手段は単位時間当たりの流出量が流入側伝送路ごとに予め規定された量をこれ以外のものと区別するようにパケットに識別子を付加するようにしている。この識別子付加手段で識別子を選択的に付加した後の個々のパケットは、複数の流入側伝送路のそれぞれに対応して配置され、前記した複数の流出側伝送路それぞれに対応して設けられたパケット格納手段にそれぞれ先着順に格納される。そして、パケット取り出し手段は、これらパケット格納手段に格納されたそれぞれ次に取り出す位置のパケットをチェックして、流出側伝送路の単位時間当たりのパケット流出量の範囲内で、識別子によって単位時間当たりの流出量が確保されたパケットを単位時間ごとに優先的に取り出す。したがって、パケット取り出し手段は流出側伝送路の単位時間当たりのパケット流出量の範囲内でそれぞれのパケット格納手段から、確保について取り決めがある分のパケットを優先的に取り出していくが、このとき識別子を用いて単位時間当たりの流出量が確保されたパケットを優先的に取り出す。このとき、それぞれのパケット格納手段に着目してみると、いわゆる先入れ先出しの原理でパケットが取り出される。このため、1つ1つの流入側伝送路では流入したパケットが時間的に順序正しく取り出されて流出側伝送路に送出されることになり、順序が狂う不都合が回避されることになる。
【0024】
請求項記載の発明では、(イ)単位時間当たりのパケット流入量がそれぞれ個別に規定された複数の流入側伝送路ごとに配置され、単位時間当たりのパケット流出量がそれぞれ個別に規定された流出側伝送路に向けたパケットを、それぞれ受信するパケット受信手段と、(ロ)前記した複数の流入側伝送路のそれぞれに対応して配置され、パケット受信手段で受信した対応する流入側伝送路を経たパケットのうち、単位時間当たりの流出量が流入側伝送路ごとに予め規定された量を超過する分を予め規定された分と区別するように流入したパケットに識別子を選択的に付加する識別子付加手段と、(ハ)前記した複数の流入側伝送路のそれぞれに対応して配置され、識別子付加手段で識別子を選択的に付加した後の個々のパケットをそれぞれ先着順に格納する、前記した複数の流出側伝送路それぞれに対応して設けられたパケット格納手段と、(ニ)流入側伝送路ごとにこれらのパケット格納手段から取り出すパケットが取り出しについて競合した際のその優先度を登録する取り出し優先度登録手段と、(ホ)前記した複数の流入側伝送路のそれぞれに対応して配置され、パケット格納手段に格納されたそれぞれ先頭位置のパケットをチェックして、流出側伝送路の単位時間当たりのパケット流出量の範囲内で、識別子によって単位時間当たりの流出量が確保されたパケットを単位時間ごとに優先的に取り出すときに単位時間当たりの流出量が確保されたパケットの間ではこの取り出し優先度登録手段に登録された取り出し優先度の高いパケットを優先的に取り出すパケット取り出し手段と、(へ)前記した複数の流入側伝送路のそれぞれのパケット取り出し手段によって取り出されたパケットを前記した複数の流出側伝送路の対応するものに送出するパケット送出手段とをパケット転送システムに具備させる。
【0025】
すなわち請求項記載の発明では、複数の流入側伝送路からこれらに互いに共通した同一の流出側伝送路に向けたパケットを受信する場合、複数の流入側伝送路のそれぞれに対応して配置された識別子付加手段は単位時間当たりの流出量が流入側伝送路ごとに予め規定された量をこれ以外のものと区別するようにパケットに識別子を付加するようにしている。この識別子付加手段で識別子を選択的に付加した後の個々のパケットは、複数の流入側伝送路のそれぞれに対応して配置され、前記した複数の流出側伝送路それぞれに対応して設けられたパケット格納手段にそれぞれ先着順に格納される。ところでこの発明では、取り出し優先度登録手段に流入側伝送路それぞれに対応してその流入側伝送路を経て格納されたパケットのパケット格納手段からの取り出し優先度の高さを登録するようになっている。そして、パケット取り出し手段は、これらパケット格納手段に格納されたそれぞれ次に取り出す位置のパケットをチェックして、流出側伝送路の単位時間当たりのパケット流出量の範囲内で、識別子によって単位時間当たりの流出量が確保されたパケットを単位時間ごとに優先的に取り出すことになるが、単位時間当たりの流出量との関係で、複数のパケット格納手段の間で取り出しに競合が生じる場合がある。このときには取り出し優先度登録手段に登録された優先度の高いものを優先的に取り出すようになっている。
【0028】
請求項3記載の発明では、請求項1または請求項2記載のパケット転送システムで、識別子付加手段は、パケット受信手段で受信したそれぞれの流入側伝送路を経たパケットのうち、単位時間当たりの流出量が流入側伝送路ごとに予め確保された量を超過する分について識別子を付加することを特徴としている。
【0029】
すなわち請求項3記載の発明では、単位時間当たりの流出量が流入側伝送路ごとに予め確保された量を超過する分のパケットについて識別子を付加することにしている。
【0030】
請求項4記載の発明では、請求項1または請求項2記載のパケット転送システムで、識別子付加手段は、パケット受信手段で受信したそれぞれの流入側伝送路を経たパケットのうち、単位時間当たりの流出量が流入側伝送路ごとに予め確保された分について識別子を付加することを特徴としている。
【0031】
すなわち請求項4記載の発明では、単位時間当たりの流出量が流入側伝送路ごとに予め確保された分のパケットについて識別子を付加することにしている。
【0032】
【発明の実施の形態】
【0033】
【実施例】
以下実施例につき本発明を詳細に説明する。
【0034】
第1の実施例
【0035】
図1は本発明の第1の実施例におけるパケット転送システムを構成するIPネットワークの概要を表わしたものである。IPネットワーク101には、比較的狭い範囲のネットワークである第1〜第3のアクセスネットワーク1021〜1023と、これら第1〜第3のアクセスネットワーク1021〜1023と接続されたコアネットワーク103が配置されている。第1〜第3のアクセスネットワーク1021〜1023は、たとえばCATV(cable television)の配信網を使用して各家庭の端末と接続するようなネットワークを指している。コアネットワーク103は、たとえば電話会社などが都市間を接続する高速の回線を用いて作成したネットワークを指している。第1〜第3のアクセスネットワーク1021〜1023には、それぞれコアネットワーク103との間でパケットの送受信を行う第1〜第3のカスタマ構内機器(CPE)1041〜1043が備えられている。また、コアネットワーク103内には、それぞれ第1〜第3のカスタマ構内機器1041〜1043と直接パケットの送受信を行う第1〜第3のエッジルータ1051〜1053と、コアネットワーク103内でのパケットの転送処理を行う第1および第2のコアルータ1061、1062が備えられている。
【0036】
図2は、図1に示したコアネットワーク内に配置されたコアルータの構造を表わしたものである。ここでは、第1のコアルータ1061について説明を行うが、第2のコアルータ1062も同様の構成であるため、その説明を省略する。第1のコアルータ1061には、パケットの流入する伝送路にそれぞれ接続された第1〜第N(Nは2以上の整数。)の入力ポート1111〜111Nと、入力されたパケットに対して前処理を行う第1〜第Nの前処理部1121〜112Nと、第1〜第Nの入力バッファ1131〜113Nが備えられている。また、スイッチ114と、スイッチ114のスケジューリングを行うスケジューラ115と、パケットの流出側の伝送路にそれぞれ接続された第1〜第M(Mは1以上の整数。)の出力ポート1161〜116Mが備えられている。第1のコアルータ1061は、更に制御部127を備えている。この制御部127は、図示しないCPU(中央演算処理装置)を備えており、この処理装置が同じく図示しない記憶媒体に格納されたプログラムに従って第1のコアルータ1061内の各部の制御を行っている。また制御部127は、クロック信号発生器128からクロック信号129の供給を受けるようになっている。第1のコアルータ1061は、このようにスイッチ114の前段に第1〜第Nの入力バッファ1131〜113Nを設けた入力バッファ型スイッチとしての構成をとっている。
【0037】
第1〜第Nの入力バッファ1131〜113Nは、それぞれ同一の回路構成となっている。そこで代表として第1の入力バッファ1131についての説明を行う。第1の入力バッファ1131には、各出力ポートに対応して設けられた第1〜第Mの出力ポート宛キュー1171〜117Mと、これらの出力ポート宛キュー1171〜117Mにパケットを分配するパケット分配部118と、これらの出力ポート宛キュー1171〜117Mの先頭からパケットを取り出してスイッチ114に送出するパケット送出部119が備えられている。また、第1〜第Mの出力ポート宛キュー1171〜117Mと1対1に対応した第1〜第Mのヘッダ検査部1201〜120Mと、第1〜第Mの出力ポート宛キュー1171〜117Mの中から1つを選択するバッファ制御部121が備えられている。第1〜第Mの出力ポート宛キュー1171〜117Mは、それぞれ第1〜第Mの出力ポート1161〜116Mから送られていくパケットを格納するための先入れ先出し(FIFO:First In First Out)の仮想出力ポート宛キュー(Virtual Output Queue:VOQ)である。
【0038】
パケット分配部118は、第1の入力バッファ1131に入力されるパケットの宛先に応じた第1〜第Mの出力ポート宛キュー1171〜117Mにキューイングするようになっている。このとき、宛先が同じであればそれがポリシング合格またはポリシング違反に関わらず、同じ出力ポート宛キュー1171〜117Mに入力順にキューイングされるようになっている。また、本実施例では第1〜第Mの出力ポート宛キュー1171〜117Mはパケット分配部118が蓄積量限界までキューイングした場合、これ以上のパケットは入力されず廃棄されるようになっている。
【0039】
第1〜第Mのヘッダ検査部1201〜120Mは、それぞれ対応した第1〜第Mの出力ポート宛キュー1171〜117Mの先頭に格納されているパケットのヘッダを検査するようになっている。第1〜第Mのヘッダ検査部1201〜120Mからはそれぞれの検査結果を第1〜第Mの検査結果情報1221〜122Mとして、バッファ制御部121に通知するようになっている。検査結果情報1221〜122Mには、パケットがキューイングされているか否かを示す情報と、キューイングされている場合には更に先頭パケットのヘッダにポリシング違反を示す識別子が組み込まれているか否かを示す情報が含まれている。バッファ制御部121は、スケジューラ115に対してスイッチ114への接続を要求する出力ポートと接続優先度を示すリクエスト1231を通知する。ここで、接続優先度の情報とは、パケットのヘッダに組み込まれているポリシング合格あるいはポリシング違反のいずれかの情報を示している。また、このリクエスト1231に対して接続を許可する出力ポートを示すグラント1241を受信し、これに対応した出力ポート宛キュー1171〜117Mを示す選択キュー情報125をパケット送出部119に通知する。
【0040】
スケジューラ115は、第1〜第Nの入力バッファ1131〜113Nから通知されるリクエスト1231〜123Nを受け取るようになっている。そして、受信したリクエストを第1〜第Mの出力ポート1161〜116M別に分けて、それぞれで接続優先度が最も高いリクエストを通知した入力バッファに対して、接続を許可する出力ポートを示すグラントを通知する。ここで接続優先度はポリシング合格とポリシング違反の2段階であり、ポリシング合格の方を高い優先度とする。また、リクエスト1231〜123Nの中で最も高い優先度を示すものが複数同じ出力ポートに対して送られてきた場合には、ラウンドロビン方式で1つを選択するようになっている。出力ポートの選択は、クロック信号129を基にしたタイムスロットに従ったタイミングで行われる。第1〜第Nの入力バッファ1131〜113Nと第1〜第Mの出力ポート1161〜116Mの接続関係が決定すると、この接続関係を示す接続設定情報126をスイッチ114に通知する。スイッチ114は、受け取った接続設定情報126に従って、第1〜第Nの入力バッファ1131〜113Nと第1〜第Mの出力ポート1161〜116Mを接続するように設定する。
【0041】
図3は、図2に示した第1の前処理部の構成を表わしたものである。第1〜第Nの前処理部1121〜112Nは、それぞれ同一の回路構成となっている。そこで代表として第1の前処理部1121についての説明を行う。第1の前処理部1121には、パケットにQoSクラスの識別情報を付与するパケット識別部131と、トラヒック量であるパケットの流入量が契約量以内であるか否かを判別するポリサ132が備えられている。また、パケットにポリサ132の判定結果を組み込むマーカ133と、パケットを送出する出力ポート1161〜116Mを判別する出力ポート判別部134と、パケットを所定の長さ以下に分割するパケット分割部135が備えられている。ポリサ132は、契約量を記憶するための図示しない記憶媒体を備えている。
【0042】
入力ポート1111から入力されたパケットは、まずパケット識別部131で対応したQoSクラスの判別が行われ、判別されたQoSクラスを識別するためのDSCP値がそのパケットのヘッダに付与されるようになっている。次にポリサ132ではポリシングとして受信したパケットの流入量が、契約量以内であるか否かをチェックするようになっている。例えば単位時間ごとに格納されたパケットをすべて排出する先入れ先出しのバッファにパケットを入力順に格納し、その先頭から契約量に応じた数までのパケットとそれを超えた分のパケットを区別することでチェックを行う。もし、契約量を超えている場合は超えている量のパケットに対してはマーカ133で、DSCP値にポリシング違反を示す識別子が付けられ、ポリシング違反パケットとなる。またマーカ133で、DSCP値にポリシング違反を示す識別子が付けられなかったパケットはポリシング合格パケットとなる。ポリシングの結果が反映されたパケットは、出力ポート判別部134で第1のコアルータ1061の出力ポート1161〜116Mのどれから送出されるパケットであるか判別され、これを示す情報がパケットヘッダに付与される。最後に、パケット分割部135で、所定の長さ以下になるようにパケットを分割して、第1の前処理部1121から送出する。なおこの分割を行う際に、パケットのヘッダに組み込まれた情報は、分割されたパケットそれぞれにコピーして組み込まれるようになっている。
【0043】
図4は、図2に示した第1の入力バッファに備えられているバッファ制御部の構成を表わしたものである。バッファ制御部121には、検査結果情報1221〜122Mを受信する検査結果情報受信部141と、受信した検査結果情報を基にしてリクエスト1231を作成するリクエスト作成部142と、作成したリクエスト1231をスケジューラ115に通知するリクエスト通知部143が備えられている。またバッファ制御部121には、スケジューラ115から送られてくるグラント1241を受信するグラント受信部144と、グラント1241を基にしてパケットを送出する出力ポート宛キューを選択するキュー選択部145と、選択した出力ポート宛キューを示す選択キュー情報125を、パケット送出部119に通知する選択キュー情報通知部146が備えられている。
【0044】
リクエスト作成部142は、検査結果情報1221〜122Mの中でキューイングされているパケットの送出先となる出力ポートを示す希望接続先出力ポートとそのパケットの優先度を示す接続優先度を組み込んだリクエスト1231を作成する。パケットがキューイングされている出力ポート宛キューが複数ある場合にはその数だけ情報を組み込んで1つのリクエスト1231を作成してもよい。この場合、希望接続先出力ポートごとにそれぞれ接続優先度が示されることになる。また、キュー選択部145は、グラント受信部144がグラント1241を受信すると、第1〜第Mの出力ポート宛キュー1171〜117Mからこれに対応したものを選択するようになっている。これを仮に第1の出力ポート宛キュー1171とすると、パケット送出部119は、第1の出力ポート宛キュー1171の先頭からパケットを取り出してスイッチ114に送出する。スケジューラ115は、パケット送出部119がスイッチ114にパケットを送出するタイミングに間に合うように接続設定情報126を通知して対応する入力バッファと出力ポートの接続を設定させるようになっている。したがって、パケット送出部119からスイッチ114に送出されたパケット1471は、スイッチ114を介して対応する出力ポートから送出されるようになっている。
【0045】
次にコアルータ1061にパケットが入力されて送出される様子を説明する。図2に示す第1の入力ポート1111には、図1に示した第1のエッジルータ1051を介して第1のアクセスネットワーク1021からパケットが入力されるようになっている。また図2では図示を省略した第2の入力ポート1112には、図1に示した第2のエッジルータ1052を介して第2のアクセスネットワーク1022からパケットが入力されるようになっている。コアネットワーク103の事業者は、第1のアクセスネットワーク1021の事業者と契約量1.8Gbpsのサービス契約を結んでいるものとする。また第2のアクセスネットワーク1022の事業者と契約量0.6Gbpsのサービス契約を結んでいるものとする。第1の出力ポート1161からは最大2.4Gbps分のパケットが送出できるようになっているものとする。ここでは、第1の出力ポート1161から送出するパケットは第1および第2のアクセスネットワーク1021、1022それぞれの事業者から入力されるパケットのみであるものと仮定する。これにより、第1および第2のアクセスネットワーク1021、1022それぞれの事業者から計2.4Gbpsまでのトラヒック量でパケットが入力される限りは、入力されたすべてのパケットが契約量に関わらず第1の出力ポート1161から送出される。
【0046】
図5は、図2に示したコアルータ内で、第1の出力ポートに向けて送出しようとするパケットが送出について競合を起こした様子の一例を表わしたものである。第1の入力ポート1111には第1のアクセスネットワーク1021からのトラヒック量151で示す1.8Gbpsのパケットが継続的に入力されている。このトラヒック量151は契約量以内なので、これらパケットはすべてポリシング合格のパケットである。第2の入力ポート1112には第2のアクセスネットワーク1022からのトラヒック量152で示す1.2Gbpsのパケットが継続的に入力されている。このトラヒック量152は契約量を超過しているので、超過しているトラヒック量0.6Gbpsのパケットはポリシング違反のパケットであり識別子が付与されている。また、契約量以内のトラヒック量0.6Gbpsのパケットはポリシング合格のパケットである。
【0047】
コアルータ1061では、ポリシング合格のパケットはポリシング違反のパケットよりも優先してスイッチに送出されるようになっている。これにより、第1の入力ポート1111から入力されるパケットはすべてポリシング合格のパケットとなっているので、これらは第1の出力ポート1161から優先的に送出される。また、第2の入力ポート1112から入力されるパケットは、ポリシング合格およびポリシング違反を含めて0.6Gbpsだけ第1の出力ポート1161から送出される。また、第2の入力ポート1112から入力されるパケットのうち矢印153で示すトラヒック量0.6Gbpsのパケットは廃棄される。トラヒック量152以内のパケットは、ポリシング合格パケットとポリシング違反パケットを入力順に一緒のキューにキューイングしているため、廃棄されるパケットにはポリシング合格のパケットが含まれる場合もある。しかしながら、少なくともトラヒック量152のパケットは、第2の入力ポート1112からの入力順を入れ替えずに第1の出力ポート1161から送出することができる。この例では、第1および第2のアクセスネットワーク1021、1022から、それぞれ固定のトラヒック量のパケットが入力されてくる場合について説明した。しかしながら、たとえば第1のアクセスネットワーク1021から入力されるパケットのトラヒック量が変動する場合、出力ポート1161側のトラヒック量の余裕分だけ、トラヒック量153で示した分のパケットを送出できる。
【0048】
このように、コアルータ1061では、ポリシング違反パケットと競合した際にポリシング合格パケットを優先的に転送することで、ポリシング合格パケットのみで構成される契約量のパケットを優先的に転送することができる。これにより、他の入力ポートのポリシング違反パケットが自己の入力ポートのポリシング合格パケットをブロックすることがなくなり、入力ポート間の出力機会の不公平性を軽減することができる。また、出力ポートが同一の場合、ポリシング合格パケットとポリシング違反パケットを同一のキューに入力順にキューイングするようになっている。これによって、同一の入力ポートから入力されたパケットのうち同一の出力ポートから送出するパケットの順番が入れ替わることはない。また、パケット廃棄が発生した場合であっても、キューにキューイングしきれないパケットが廃棄されるので、一連のパケットの間が抜けることがあっても順番の入れ替えを発生させることがない。
【0049】
第2の実施例
【0050】
図6は、本発明の第2の実施例におけるパケット転送システムを構成するコアルータの部分を表わしたものである。この図で図2と同一の部分には同一の符号を付しており、説明を適宜省略する。また、本実施例でも第1の実施例の図1を適宜使用する。第1のコアルータ106A1には、パケットが入力される第1〜第Nの入力ポート1111〜111Nと、入力されたパケットに対して接続優先度を示す識別子を付加する第1〜第Nの前処理部2011〜201Nと、入力されたパケットを一時的に格納する第1〜第Nの入力バッファ2021〜202Nが備えられている。また、入力側と出力側の選択的な接続を行うスイッチ114と、パケットの送出先となる第1〜第Mの出力ポート1161〜116Mと、第1〜第Nの入力バッファ2021〜202Nに格納されているパケットの接続優先度に応じて、スイッチ114の接続をスケジューリングするスケジューラ203が備えられている。更に第1〜第Nの入力バッファ2021〜202Nは、接続優先度を示す情報を組み込んだ第1〜第Nのリクエスト2041〜204Nをスケジューラ203に通知するようになっている。第2の実施例では、ディフサーブのようにコアネットワークの103の事業者がクラス1〜クラスX(Xは2以上の整数。)の複数のQoSクラスをサポートしているものとして説明を行う。
【0051】
図7は、図6に示した第1の前処理部の構成について表わしたものである。この図で図3と同一の部分には同一の符号を付しており、説明を適宜省略する。第1の前処理部2011には、第1の入力ポート1111から入力されたパケットの送出元となるユーザおよびユーザと契約したQoSクラスを識別するDSCP値をパケットに付加するユーザ・クラス識別部211と、ユーザにそれぞれ対応してトラヒック量のポリシングを行う第1〜第4のポリサ2121〜2124と、これらにそれぞれ対応してポリシング違反の識別子を選択的にパケットヘッダに組みこむ第1〜第4のマーカ2131〜2134が備えられている。第1〜第4のポリサ2121〜2124および第1〜第4のマーカ2131〜2134は、第1〜第4のユーザにそれぞれ対応して備えられている。また、第1の前処理部2011には、パケットの送出先となる出力ポートを判別する出力ポート判別部134と、パケットを所定の長さ以下に分割するパケット分割部135が備えられている。第1の入力ポート1111から入力されるパケットは、予めコアネットワーク103の事業者とサービス契約を結んだ第1〜第4のユーザから送られてくる。第1〜第4のポリサ2121〜2124および第1〜第4のマーカ2131〜2134は、第1〜第4のユーザからのトラヒック量が契約量以内であるか否かをポリシングし、契約量を超えた分のパケットにはポリシング違反を示す識別子が付与される。
【0052】
図8は、図6に示した第1の入力バッファの構成を表わしたものである。この図で図4と同一の部分には同一の符号を付しており、説明を適宜省略する。第1の入力バッファ1131には、出力ポートとサポートするQoSクラスの組み合わせごとに用意されたパケットを格納する第11〜第XMのキュー22111〜221XMと、これらキューにパケットを分配するパケット分配部118と、これらキューの先頭に格納されているパケットを取り出してスイッチ114に送出するパケット送出部119が備えられている。ここではキュー221に付けられた下付番号の一の位の値が対応する出力ポートを表わし、十の位の値が対応するQoSクラスをそれぞれ表わしている。また、第11〜第XMのキュー22111〜221XMと1対1に対応して先頭パケットを検査する第11〜第XMのヘッダ検査部22211〜222XMと、第11〜第XMのキュー22111〜221XMの中から1つを選択するバッファ制御部223が備えられている。
【0053】
パケット分配部118は、第1〜第4のユーザから入力されたパケットを第1の前処理部2011の処理結果を基に出力ポート別かつQoSクラス別に用意された第11〜第XMのキュー22111〜221XMにキューイングするようになっている。第11〜第XMのヘッダ検査部22211〜222XMは、対応した第11〜第XMのキュー22111〜221XMにキューイングされているパケットの有無を検査するようになっている。またパケットがキューイングされていれば先頭パケットにポリシング違反を示す識別子が付加されているか検査する。ヘッダ検査部22211〜222XMは、この検査結果を検査結果情報12211〜122XMとして、バッファ制御部223へ通知するようになっている。バッファ制御部223は、検査結果情報12211〜122XMを基に作成したスイッチ114への接続要求であるリクエスト2041をスケジューラ203へ通知する。これに対して接続を許可された出力ポート1161〜116Nのいずれかを示すグラント1241を受け取ると、選択キュー情報125をパケット送出部119へ通知する。
【0054】
図9は、図8に示したバッファ制御部の構成を表わしたものである。この図で図4と同一の部分には同一の符号を付しており、説明を適宜省略する。バッファ制御部223には、検査結果情報12211〜122XMを受信する検査結果情報受信部141と、これを基にしてリクエスト2041を作成するリクエスト作成部231と、リクエスト2041をスケジューラ203に通知するリクエスト通知部143が備えられている。また、スケジューラ203からのグラント1241を受け取るグラント受信部144と、これを基にして第11〜第XMのキュー22111〜221XMからスイッチ114に送出するパケットを取り出すキューを選択するキュー選択部232と、選択したキューを示す選択キュー情報125をパケット送出部119へ通知する選択キュー情報通知部146を備えている。更に、QoSクラスとポリシング合格あるいはポリシング違反の組み合わせに応じた接続優先度の優先順序を記憶した優先度順序テーブル233を備えている。リクエスト作成部231およびキュー選択部232は、接続優先度の高低を判別する場合には、この優先度順序テーブル233に記憶されている優先順序を参照するようになっている。
【0055】
リクエスト作成部231は、第1の実施例と異なりポリシング合格あるいはポリシング違反だけではなく、QoSクラス間の優先順位についても考慮してリクエスト2041を作成するようになっている。たとえば、出力ポート1161宛のポリシング合格のパケットを第11および第21のキュー22111、22121がそれぞれ格納していて、第2のQoSクラスとポリシング合格の組み合わせが第1のQoSクラスとポリシング合格の組み合わせよりも優先順位が高く設定されている場合を説明する。この場合には、第2のQoSクラスとポリシング合格の組み合わせの方が優先順位が高いので、これに応じて優先度順序テーブル233に登録された接続優先度を組み込んだ出力ポート1161への接続を要求するリクエスト2041を作成する。キュー選択部232は、グラント受信部144が受信したグラント1241に従って、第11〜第XMのキュー22111〜221XMからスイッチ114に送出するパケットを取り出すキューを選択する。一例としてグラント1241が出力ポート1161への接続許可を示している場合、出力ポート1161宛の第11〜第1Mのキュー22111〜2211Mの先頭位置に格納されているパケットのうち接続優先度が一番高いパケットを格納しているキューを選択する。なお、キュー選択部232はこの選択のために、検査結果情報受信部141から最新の検査結果情報を取得するようになっている。そして、キュー選択部232がたとえば第1Mのキュー2211Mを選択した場合には、この第1Mのキュー2211Mの先頭からパケットを取り出してスイッチ114に送出するようになっている。スケジューラ203は、パケット送出部119がスイッチ114にパケットを送出するタイミングに間に合うように接続設定情報126を通知して対応する入力バッファ2021と出力ポート1161の接続を設定させるようになっている。したがって、パケット送出部119からスイッチ114に送出されたパケット1471は、スイッチ114を介して対応する出力ポート1161から送出されるようになっている。
【0056】
図10は、図7に示したスケジューラの構成を表わしたものである。スケジューラ203には、第1〜第Nの入力バッファ2021〜202Nから送られてくるリクエスト2041〜204Nを受信するリクエスト受信部241と、第1〜第XのQoSクラス別にリクエストを一時的に記憶する第1〜第Xのリクエスト記憶部2421〜242Xと、これらに受信したリクエストを分配するクラス別リクエスト分配部243が備えられている。また、QoSクラスとポリシング合格あるいはポリシング違反の組み合わせに応じた接続優先度の優先順序を記憶した優先度順序テーブル244と、第1〜第Xのリクエスト記憶部2421〜242Xに記憶されているリクエストと接続優先度の優先順序を基にして、各入力バッファ2021〜202Nと接続する出力ポート1161〜116Mを選択する出力ポート選択部245が備えられている。更に、出力ポート選択部245の選択を基にして各入力バッファ2021〜202Nに応じて接続を許可する出力ポート1161〜116Mとしていずれかを示すグラント1241〜124Nを作成するグラント作成部246と、グラント作成部246が作成したグラント1241〜124Nを各入力バッファ2021〜202Nに通知するグラント通知部247と、出力ポート選択部245の選択を基にしてスイッチ114の接続設定を示す接続情報を作成する接続情報作成部248と、接続情報作成部248が作成した接続情報126をスイッチ114に通知する接続情報通知部249が備えられている。
【0057】
出力ポート選択部245は、優先度順序テーブル244に記憶されている接続優先度を参照して、接続優先度の高いQoSクラスに対応した第1〜第Xのリクエスト記憶部2421〜242Xに記憶されているリクエストから順に出力ポート1161〜116Mを選択するようになっている。出力ポート選択部245は、入力バッファ2021〜202Nを示すリストと出力ポート1161〜116Mを示すリストをそれぞれ保持しており、これらリストで未選択の入力バッファ2021〜202Nと出力ポート1161〜116Mから1つずつ選択して接続関係を定めるようなっている。このとき、入力バッファ2021〜202Nと出力ポート1161〜116Mのうち選択されたものを選択済みとすることで、1つの入力バッファに対して出力ポート1161〜116Mが複数同時に選択されることを防止することができる。グラント作成部246は入力バッファ2021〜202Nのうち、対応する出力ポート1161〜116Mが選択されたものに対して接続の許可を通知するグラント1241〜124Nを作成するようになっている。
【0058】
優先度順序テーブル233、244に記憶されている接続優先度の中で、ポリシング違反のパケットはQoSクラスの優先順位に関わらず最も低い優先度が与えられるようになっている。接続優先度は、これら優先度順序テーブル233、244に記憶されている優先順位によって定まるため、この設定を変更することで、任意の優先順位を設定することができる。次に、複数のQoSクラスのパケットが競合を起こした場合について説明を行う。
【0059】
図11は、第2の実施例で説明したコアルータ内で、第1の出力ポートに向けて送出しようとするパケットが競合を起こした様子の一例を表わしたものである。ここでは、第1の入力ポート1111および第2の入力ポート1112に入力されたパケットのうち第1の出力ポート1161へ送出するものについて説明する。第1の入力ポート1111からは、第1のQoSクラスのトラヒック量251で示す0.4Gbps分のパケットと、第2のQoSクラスのトラヒック量252で示す1.0Gbps分のパケットがそれぞれ継続的に入力されている。第2の入力ポート1112からは、第2のQoSクラスのトラヒック量253で示す0.6Gbps分のパケットと、第3のQoSクラスのトラヒック量254で示す0.8Gbps分のパケットがそれぞれ継続的に入力されている。第1の出力ポート1161からは最大2.4Gbps分までのパケットが送出できるようになっている。QoSクラス間の接続優先度は第1のQoSクラスが最も高く、以下第2、第3のQoSクラスの順になっている。また、第1〜第4のユーザそれぞれに応じて定められた契約量を超過した分のパケットを示すポリシング違反識別子が付けられたパケットの接続優先度は、QoSクラスに関わらず最も低い接続優先度に設定されている。
【0060】
第1の入力ポート1111から入力される第2のQoSクラスのパケットは、0.6Gbps分のポリシング合格パケットと、0.4Gbps分のポリシング違反パケットで構成されている。第1の入力ポート1111から入力される第1のQoSクラスのパケットと、第2の入力ポート1112から入力される第2のQoSクラスおよび第3のQoSクラスのパケットはそれぞれポリシング合格パケットのみで構成されている。
【0061】
コアルータ106A1では、接続優先度の高いパケットから優先してスイッチ114に送出されるようになっている。しかし、第1の入力ポート1111から入力される第2のQoSクラスのパケットは第21のキュー22121の先頭にキューイングされているパケットの接続優先度によっては、優先順位が逆転する場合がある。ここでは問題を単純化するため、第1の入力ポート1111から入力される第2のQoSクラスのパケットのうち、ポリシング合格パケットがキューの先頭に偏っている場合と、後部に偏っている場合の2つの状態を想定して説明を行う。
【0062】
まず、第1の入力ポート1111から入力される第2のQoSクラスのパケットのうちポリシング合格パケットが第21のキュー22121の先頭に偏っている場合を説明する。この場合、接続優先度が最も高い第1の入力ポート1111から入力される第1のQoSクラスのパケットがまず送出される。そして次に接続優先度が高い第1および第2の入力ポート1111、1112から入力される第2のQoSクラスのポリシング合格のパケットがラウンドロビン方式で均等に0.6Gbps分ずつ送出される。この後、第1の入力ポート1111から入力される第2のQoSクラスのポリシング違反のパケットと、第2の入力ポート1112から入力される第3のQoSクラスのポリシング合格のパケットが残っている。ポリシング違反のパケットは最も接続優先度を低く設定されているため、第3のQoSクラスの0.8Gbps分のパケットが先に出力される。これで計トラヒック量2.4Gbps分のパケットが出力されたので、トラヒック255で示される第1の入力ポート1111から入力される第2のQoSクラスのうち残っている0.4Gbps分のパケットは廃棄されることになる。
【0063】
次に、第1の入力ポート1111から入力される第2のQoSクラスのパケットのうちポリシング合格のパケットがキューの後方に偏っている場合を説明する。この場合、第1の入力ポート1111から入力される第2のQoSクラスのパケットを格納するキュー22121にはその先頭にポリシング違反パケットが格納されているため最も低い接続優先度となる。したがって、第1の入力ポート1111から入力される第2のQoSクラス以外のパケットがまず接続優先度の高さに従って順に送出されることになる。最後に第1の入力ポート1111から入力される第2のQoSクラスのパケットのうち0.6Gbps分だけ出力され、残りの0.4Gbps分のパケットは廃棄される。
【0064】
このように、第2のQoSクラスのポリシング合格トラヒックよりも接続優先度が低い第3のQoSクラスのポリシング合格のパケットを、第2のQoSクラスのポリシング違反のパケットにブロックされずに送出することができる。したがって第2の実施例のコアルータ106A1では、複数の接続優先度が異なるQoSクラスをサポートした場合でも、第1の実施例と同様の効果を実現できる。
【0065】
以上説明した第1および第2の実施例では、コアルータ1061またはコアルータ106A1は制御部127を備え、これがプログラムに従って制御を行っていると説明した。しかしながら、クロック信号129に同期させたハードウェアで各部を構成してもよい。また、第1〜第Mの出力ポート宛キュー1171〜117Mおよび第11〜第XMのキュー22111〜221XMは、それぞれ物理的に独立した記憶媒体として備えられてもよいし、適切な数の記憶媒体を仮想的に区切る形で備えられてもよい。
【0066】
また、第1および第2の実施例ではトラヒック量と契約量の関係から入力されるパケットにポリシング違反の識別子が選択的に組み込まれるようになっている。しかし、トラヒック量についてはサービス契約で特に定めず、特定のユーザからのパケットには常にポリシング違反の識別子を組み込むようにしてもよい。ポリシング違反の識別子だけを組み込むようにすると、そのユーザから入力されるパケットはそのトラヒック量に関わらず、他の転送優先度の高いパケットを転送した後の帯域を用いて転送されることになり、輻輳発生時には転送できるパケットの量が制限されることが多くなる。たとえば、転送速度についての要求がそれほど高くない従来のデータ通信として使用するユーザと、このような制限を設ける代わりに契約量を定めたサービス契約よりも比較的安価なサービス契約を結んでもよい。
【0067】
更に第2の実施例で、たとえばトラヒック量を流出側の単位時間当たりの最大トラヒック量と同じだけ確保し、接続優先度を最も高く設定するようにユーザと契約すると、災害時等の通信を最優先で確保したい場合に適したサービス契約を用意することもできる。
【0068】
発明の変形の可能性
【0069】
第1または第2の実施例では、契約量に基づいて入力されたパケットをポリシング合格あるいはポリシング違反のどちらかに分けていた。これを識別するために第1および第2の実施例では、ポリシング違反を示す識別子をパケットに組み込むようになっているが、ポリシング合格を示す識別子を組み込むようにしてもよい。また、このポリシング合格あるいは、ポリシング違反の中で更に優先度を分けてもよい。たとえば、サービス契約で限界トラヒック量(Peak Rate)と平均トラヒック量(Committed Rate)の2つのトラヒック量を定める。そして、平均トラヒック量未満の分はポリシング合格パケット、平均トラヒック量以上限界トラヒック量未満の分は第1のポリシング違反パケット、限界トラヒック以上の分は第2のポリシング違反パケットとする。これらの接続優先度を高い順にポリシング合格パケット、第1のポリシング違反パケット、第2のポリシング違反パケットとして、接続優先度の高いものから優先的にスケジューリングを行う。これにより、たとえばある入力ポートから一時的に極大化したトラヒック量で入力されたパケットより、他の入力ポートから平均値を少し超過したトラヒック量で入力されたパケットを優先的に出力するような柔軟なサービスを提供することができる。
【0070】
更に第1の実施例では、第1の前処理部1121にクラス識別部131、ポリサ132およびマーカ133が備えられていた。しかし、これらは第1の入力ポート1111にパケットを入力する第1のエッジルータ1051に備えられていてもよい。また、第2の実施例の第1の前処理部2011に備えられたユーザ・クラス識別部211、第1〜第4のポリサ2121〜2124および第1〜第4のマーカ2131〜2134も、第1のエッジルータ1051に備えられていてもよい。このように、ポリシング違反を示す識別値を付加する処理をネットワークを跨いで第1のエッジルータ1051で行うことによって、第1のコアルータ1061のパケット転送処理の負荷を軽減することができる。
【0071】
更に第2の実施例では、バッファ制御部223とスケジューラ203に、それぞれ優先度順序テーブル233、244を備えるようになっていた。しかしながら、QoSクラスとポリシング違反あるいはポリシング合格の組み合わせを直線的な優先順位と対応付け、これをリクエスト2041の接続優先度として組み込むようにしてもよい。これによりスケジューラ203は、リクエスト2041〜204Nに組み込まれた接続優先度を単純に比較して、優先的なスケジューリングを行うことができる。このように、スケジューラ203に優先度順序テーブル244を備えなくてもよい。このとき、ポリシング違反のパケットをそのQoSクラスに関わらず最も低い優先順位に設定する場合には、接続優先度として(X+1)段階の順位を設けることで優先的なスケジューリングを実現することができる。また、QoSクラスごとにポリシング違反とポリシング合格のパケットの優先順位をそれぞれ設定する場合には、接続優先度として(2×X)段階の順位を設けることで優先的なスケジューリングを実現することができる。
【0072】
【発明の効果】
以上説明したように請求項1または請求項2記載の発明によれば、流入側伝送路それぞれに複数の流出側伝送路のそれぞれに対応してパケット格納手段を配置してこれに先着順にパケットを格納し、先に格納されたもの同士で流入側伝送路への流出の割り振りを行うことにしたので、それぞれの流入側伝送路からパケット格納手段に格納されたパケットは確実に格納順に流入側伝送路へ送り出されることになり、その順序が狂うことが無い。しかもそれぞれのパケット格納手段からパケットを取り出す際の優劣を設定することで優先度に応じたパケットの送出が可能になる。
【0073】
更に請求項2記載の発明によれば、それぞれのパケットの優先度だけでなくパケット格納手段同士の優先度を定めたので、パケット格納手段同士からパケットを取り出す際に競合が発生したとき、これを優先度に応じて調停することができ、更に融通の効いたシステムを構成することができる。
【図面の簡単な説明】
【図1】本発明の第1の実施例におけるコアルータが配置されたネットワークの概要を表わしたブロック図である。
【図2】第1の実施例における第1のコアルータの構成の概要を表わしたブロック図である。
【図3】第1の実施例における第1の前処理部の構成を表わしたブロック図である。
【図4】第1の入力バッファに備えられたバッファ制御部の構成を表わしたブロック図である。
【図5】第1の実施例における第1のコアルータの入力トラヒック量と出力トラヒック量の関係を概念的に表わしたブロック図である。
【図6】第2の実施例における第1のコアルータの構成の概要を表わしたブロック図である。
【図7】第2の実施例における第1の前処理部の構成を表わしたブロック図である。
【図8】第2の実施例における第1の入力バッファの構成を表わしたブロック図である。
【図9】第2の実施例における第1の入力バッファに備えられたバッファ制御部の構成を表わしたブロック図である。
【図10】第2の実施例におけるスケジューラの構成を表わしたブロック図である。
【図11】第2の実施例における第1のコアルータの入力トラヒック量と出力トラヒック量の関係を概念的に表わしたブロック図である。
【図12】従来のコアルータとエッジルータが配置されたネットワークの概要をあらわしたブロック図である。
【図13】従来のコアルータの入力トラヒック量と出力トラヒック量の関係を概念的に表わしたブロック図である。
【図14】従来のコアルータの構成を表わしたブロック図である
【符号の説明】
101 IPネットワーク
1021〜1023 第1〜第3のアクセスネットワーク
103 コアネットワーク
1041〜1043 第1〜第3のカスタマ構内機器
1051、1052 第1、第2のエッジルータ
1061、106A1 第1のコアルータ
1062 第2のコアルータ
1111〜111N 第1〜第Nの入力ポート
1121〜112N、2011〜201N 第1〜第Nの前処理部
1131〜113N、2021〜202N 第1〜第Nの入力バッファ
114 スイッチ
115、203 スケジューラ
1161〜116M 第1〜第Mの出力ポート
1171〜117M 第1〜第Mの出力ポート宛キュー
1201〜120M、22211〜222XM ヘッダ検査部
121、223 バッファ制御部
127 制御部
132、2121〜2124 ポリサ
133、2131〜2134 マーカ
22111〜221XM 第11〜第XMのキュー
[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a packet transfer system, and more particularly, to a packet transfer system in which, for example, when a packet is switched by switch means such as an edge router, the amount of packet outflow is limited by a contract.
[0002]
[Prior art]
An IP (Internet Protocol) network has become a base for providing services for all communication applications such as telephone and video streaming as well as conventional data communication. Further, with an increase in services that use IP networks, there are cases where transfer of packets that exceed the capacity of the transmission path as a total amount is required. In preparation for such a case, it is considered to preferentially transfer a packet within a traffic volume secured in advance according to the characteristics and service level of a communication application, that is, QoS (Quality of Service).
[0003]
An example of a technique for providing a service for preferentially transferring packets in this way is Diffserv (Differentiated service). Diffserv is defined by "RFC (Request For Comment) 2475" of the Internet Engineering Task Force. In general, when using Diffserve, a contract for service contents is made in advance between a provider providing this service and a user using the service. Next, taking a differential serve as an example, a packet transfer system for transferring packets preferentially will be described.
[0004]
FIG. 12 is a simplified representation of a network in which Diffserve is applied as a packet transfer system. The network 11 includes a core router 12 that transfers packets, and first and second edge routers 13 that transfer packets input to the network 11 to the core router 12.1, 132Is arranged. These first and second edge routers 131, 132Each includes a packet identification unit 14 that identifies a QoS class of the input packet (Classifier).1, 142And a policer 15 for determining whether or not the traffic volume is within the contracted volume.1, 152And a marker 16 for changing the packet identification value according to the discrimination result of the corresponding policer.1, 162Is provided. Here, the contract amount indicates the traffic amount predetermined in the contract.
[0005]
An operator of this network 11 and a user who wishes to use this network 11 make a service contract (SLA: Service Level Agreement) in advance. This service contract includes the QoS class that the user contracts and the traffic amount that is the amount of packets per unit time transmitted to the network 11. The operator of the network 11 stipulates that for each contracted QoS class, the service quality of transfer including delay, jitter, packet loss rate, etc. is provided. Further, the service provider of the network 11 provides the quality of service as long as the user sends a packet of the traffic amount up to the contract amount to the network 11.
[0006]
Next, a description will be given of operations related to a packet transmitted from a user who has a service contract. After the user makes a service contract with the operator of the network 11, the user sends the packet to the network 11 from a packet sending device (not shown). The packet sent to the network 11 is sent to the first or second edge router 13.1, 132To be input. Here, the first edge router 131The packet sent to is described. First, the packet identification unit 141Thus, a DSCP (Diffserv Code Point) value, which is an identification value for identifying the contracted QoS class, is added to the packet header. This packet is then sent to policer 151And the traffic volume is measured to determine whether or not the traffic volume is within the contract volume as policing. If the traffic volume exceeds the contract volume, the marker 161In addition, a value indicating a policing violation is added to the DSCP value added to the packet header of the packet in excess of. A packet to which a value indicating a policing violation is not added becomes a policing success. A packet to which a value indicating a policing violation is added is preferentially discarded when congestion occurs in the network 11. In this way, the core router 12 is the first edge router 13.1The packet transfer control is performed in accordance with the priority according to the QoS class indicated by the DSCP value assigned in.
[0007]
FIG. 13 shows an example of the traffic volume input to and output from the conventional router. The switch 21 that distributes packets has first and second input ports 22 on the input side.1, 222However, an output port 23 is arranged on the output side. The switch 21 provided in the router has each input port 221, 222In addition, it is assumed that scheduling is performed in a round-robin manner in which opportunities for switch connection are equally provided to the output ports 23. The first input port 221It is assumed that the first user connected to the terminal has a service contract with a contract amount of 1.8 Gbps while the maximum traffic amount is 2.4 Gbps (Giga byte per second).2It is assumed that the second user connected to the network has a service contract with a contract amount of 0.6 Gbps, while the maximum traffic amount is 2.4 Gbps. Further, it is assumed that the maximum traffic volume that can be output from the output port 23 is 2.4 Gbps.
[0008]
Here, from the first user to the first input port 221Packets with a traffic volume 24 of 1.8 Gbps are continuously input from the second user to the second input port 22.2Suppose that packets with a traffic volume 25 of 1.2 Gbps are continuously input. In this case, a packet having a total amount of 3.0 Gbps is input toward the output port 23. Of the packets input from the second user, 0.6 Gbps within the contracted amount is a packet that passes the policing, and 0.6 Gbps shown as the remaining traffic amount 26 is a packet that violates the policing.
[0009]
However, the switch 21 is a round robin method and includes the first and second input ports 22.1, 222Are assigned to the output ports 23, the respective input ports 221, 222Thus, a packet of 1.2 Gbps is output to the output port 23. As a result, among the packets input from the first user, the 0.6 Gbps policing pass packet indicated as the traffic volume 27 is blocked by the 0.6 Gbps policing violation packet input from the second user. The As a result, there arises a problem that it becomes impossible to guarantee the transfer of the packet with the contract amount defined in the service contract for the first user.
[0010]
In order to solve such a problem, a technique for adjusting the scheduling of the switch is required so that a packet that passes the policing is preferentially connected to the policing violation packet. For this purpose, there is a technique described in Japanese Patent Laid-Open No. 2000-324168 or Japanese Patent Laid-Open No. 2001-298477.
[0011]
FIG. 14 is for explaining the conventional core router disclosed in these publications. The core router 31 includes first to Pth input buffers 32 respectively corresponding to packets input from first to Pth (not shown) input ports (P is an integer of 2 or more).1~ 32PAnd first to Qth output ports 33 (Q is an integer of 2 or more).1~ 33QIs provided. Also, the first to Pth input buffers 321~ 32PAnd first to Qth output ports 331~ 33QAre connected to each other, and a scheduler 35 for adjusting the connection relationship is provided.
[0012]
First to Pth input buffers 321~ 32PHave the same circuit configuration. Therefore, as a representative, the first input buffer 32.1Will be described.
[0013]
First input buffer 321Includes a first output port 33.1The first output port-destined high priority queue 36 for queuing packets with high output priority among packets sent from1HAnd a low priority queue 36 for the first output port that queues packets with low output priority.1LIs provided. Thus, the first to Qth output ports 331~ 33QA queue corresponding to each of the priority levels is provided. Further, for these queues, a packet distribution unit 37 that distributes packets input from the first input port, and a packet transmission unit 38 that extracts packets from each queue and sends them to the switch 35 are provided. Thus, the packet input to the core router 31 is sent from the first to Pth input buffers 32.1~ 32PAre queued in queues respectively corresponding to combinations of output ports and priorities.
[0014]
In the technique disclosed in Japanese Patent Laid-Open No. 2000-324168, a request 39 indicating the output priority of a packet stored from each queue that requests switch connection to the scheduler 34.1~ 39PWill be notified. The scheduler 34 makes a request 391~ 39PBased on the above, scheduling is performed so as to preferentially connect a switch with a high priority queue.
[0015]
In the technique disclosed in Japanese Patent Laid-Open No. 2001-298477, the first to Pth input buffers 32 are used.1~ 32PWhen a certain number of packets addressed to the same output port are accumulated for each request 39, a request 39 for requesting switch connection1~ 39PIs notified to the scheduler 34. The scheduler 34 performs scheduling so that output ports do not overlap, and grant 40 indicating output permission.1~ 40PIs notified to the corresponding input buffer. First to Pth input buffers 321~ 32PThis grant 401~ 40PAccordingly, packets are preferentially read from the corresponding high priority queue for the output port. A policing pass packet can be preferentially transmitted by queuing a policing pass as a priority packet and queuing a policing violation packet as a non-priority packet according to priority.
[0016]
[Problems to be solved by the invention]
[0017]
By the way, the packet that passed the policing and the packet that violated the policing are the packets received from the same user and sent to the predetermined destination, simply distinguished from each other in relation to the contract amount. Therefore, considering a case where a user transfers a series of data constituting one application program as a packet, a part of the data is distributed to a packet that passes policing, and the remaining data is transferred to a packet that violates policing. The situation that it is distributed occurs. In the technique described in Japanese Patent Application Laid-Open No. 2000-324168 or Japanese Patent Application Laid-Open No. 2001-298477, policing packets and policing violation packets are queued in different queues, so that the contract amount Packets can be transferred with priority. For this reason, if these techniques are simply applied, the packet in violation of the policing may be transferred later than the packet that has passed the policing. As a result, a situation occurs in which part of the application program that should be received as a series of data is sent to the destination before the remaining part.
[0018]
When the packet transfer order is changed in this way, data is reproduced after the packet receiving side receives a packet with a policing violation transferred late. Therefore, the received application program does not work well. For data that requires real-time performance, such as telephone and video streaming, if the packet transfer order is changed, the quality of the data to be reproduced will be reduced or meaningless as data.
[0019]
Therefore, an object of the present invention is such that when a plurality of users send packets to the same destination, their own packets are sent to the destination in order in time regardless of the existence of other users' packets. Is to provide a packet transfer system.
[0022]
[Means for Solving the Problems]
  Claim 1In the described invention, (a) the amount of packet inflow per unit time isIndividuallyMultiple specified inflow transmission linesArranged in eachPacket outflow per unit timeEach specified separatelyPacket receiving means for receiving each packet destined for the outflow transmission path, and (b)Arranged corresponding to each of the plurality of inflow transmission lines described above,Received by packet receiving meansCorrespondingOf the packets that have passed through the inflow side transmission path, the outflow amount per unit time is preliminarily determined for each inflow side transmission path.RegulationThe amount that exceeds the amountRegulationIdentifier adding means for selectively adding an identifier to a packet that has flowed in so as to distinguish it from the received packet;Arranged corresponding to each of the plurality of inflow transmission lines described above,Each packet after the identifier is selectively added by the identifier adding means is stored on a first-come-first-served basis,As described abovepluralOutflow transmission linePacket storage means provided for each of them, and (d)Arranged corresponding to each of the plurality of inflow transmission lines described above,Each stored in these packet storage meansFirst positionPacket retrieval means for checking packets and preferentially retrieving packets whose outflow amount per unit time is secured by the identifier per unit time within the range of packet outflow amount per unit time of the outflow side transmission path; (E)Each of the plurality of inflow transmission lines described abovePackets extracted by the packet extraction meansA plurality of the aboveOutflow transmission lineCorresponding toThe packet transfer system is provided with a packet transmission means for transmitting to the packet.
[0023]
  Claims1In the described invention, when receiving packets directed to the same outflow side transmission path common to these from a plurality of inflow side transmission paths,Arranged corresponding to each of the multiple inflow transmission linesThe identifier adding means determines the amount of outflow per unit time in advance for each inbound transmission line.RegulationAn identifier is added to the packet so as to distinguish the amount that has been used from the others.thisEach packet after the identifier is selectively added by the identifier adding means is composed of a plurality of inflow transmission paths.A plurality of outflow side transmission lines arranged corresponding to each of the above-mentionedEach packet is stored in a first-come-first-served basis in the corresponding packet storage means. Then, the packet extracting means checks the packet at the next extraction position stored in each of these packet storing means, and within the range of the packet outflow amount per unit time of the outflow side transmission path, the identifier per unit time is determined by the identifier. A packet for which the outflow amount is secured is preferentially taken out every unit time. Therefore, the packet extracting means preferentially extracts packets from the respective packet storage means within the range of the packet outflow amount per unit time of the outflow side transmission path, as much as there is an arrangement for securing. A packet in which the outflow amount per unit time is secured is preferentially taken out. At this time, if attention is paid to the respective packet storage means, the packet is taken out by the so-called first-in first-out principle. For this reason, inflow packets are taken out in order in time in each inflow side transmission path and sent out to the outflow side transmission path, thereby avoiding the inconvenience of out of order.
[0024]
  Claim2In the described invention, (a) the amount of packet inflow per unit time isIndividuallyMultiple specified inflow transmission linesArranged in eachPacket outflow per unit timeEach specified separatelyPacket receiving means for receiving each packet destined for the outflow transmission path, and (b)Arranged corresponding to each of the plurality of inflow transmission lines described above,Received by packet receiving meansCorrespondingOf the packets that have passed through the inflow side transmission path, the outflow amount per unit time is preliminarily determined for each inflow side transmission path.RegulationThe amount that exceeds the amountRegulationIdentifier adding means for selectively adding an identifier to a packet that has flowed in so as to distinguish it from the received packet;Arranged corresponding to each of the plurality of inflow transmission lines described above,Each packet after the identifier is selectively added by the identifier adding means is stored on a first-come-first-served basis,As described abovepluralOutflow transmission linePacket storage means provided corresponding to each, (d) extraction priority registration means for registering the priority when packets taken out from these packet storage means for each inflow-side transmission path compete for extraction; (E)Arranged corresponding to each of the plurality of inflow transmission lines described above,The packet at the head position stored in the packet storage means is checked, and the packet for which the outflow amount per unit time is secured by the identifier within the range of the packet outflow amount per unit time on the outflow side transmission path A packet extraction means for preferentially extracting packets with a high extraction priority registered in the extraction priority registration means between packets for which the outflow amount per unit time is ensured when each packet is preferentially extracted; )Each of the plurality of inflow transmission lines described aboveThe packet extracted by the packet extracting means ofpluralOutflow transmission lineCorresponding toThe packet transfer system is provided with a packet transmission means for transmitting to the packet.
[0025]
  Claims2In the described invention, when receiving packets directed to the same outflow side transmission path common to these from a plurality of inflow side transmission paths,Arranged corresponding to each of the multiple inflow transmission linesThe identifier adding means determines the amount of outflow per unit time in advance for each inbound transmission line.RegulationAn identifier is added to the packet so as to distinguish the amount that has been used from the others.thisEach packet after the identifier is selectively added by the identifier adding means is composed of a plurality of inflow transmission paths.A plurality of outflow side transmission lines arranged corresponding to each of the above-mentionedEach packet is stored in a first-come-first-served basis in the corresponding packet storage means. By the way, in the present invention, the extraction priority registration means registers the high priority of extraction from the packet storage means of the packet stored via the inflow side transmission path corresponding to each inflow side transmission path. Yes. Then, the packet extracting means checks the packet at the next extraction position stored in each of these packet storing means, and within the range of the packet outflow amount per unit time of the outflow side transmission path, the identifier per unit time is determined by the identifier. A packet for which the outflow amount is secured is preferentially taken out every unit time. However, there may be a competition for extraction among a plurality of packet storage means in relation to the outflow amount per unit time. At this time, a high priority registered in the extraction priority registration means is preferentially extracted.
[0028]
  Claim 3In the described invention,Claim 1 or claim 2In the packet transfer system described above, the identifier adding means includes an outflow amount per unit time that exceeds the amount reserved in advance for each inflow side transmission path among the packets that have passed through each inflow side transmission path received by the packet receiving means. It is characterized in that an identifier is added for each part.
[0029]
  IeClaim 3In the described invention, identifiers are added to packets for the amount of outflow per unit time exceeding the amount reserved in advance for each inflow side transmission path.
[0030]
  Claim 4In the described invention,Claim 1 or claim 2In the packet transfer system described above, the identifier adding means identifies the amount of outflow per unit time that is secured in advance for each inflow side transmission path among the packets that have passed through each inflow side transmission path received by the packet reception means. It is characterized by adding.
[0031]
  IeClaim 4In the described invention, identifiers are added to packets for which the amount of outflow per unit time is secured in advance for each inflow side transmission path.
[0032]
DETAILED DESCRIPTION OF THE INVENTION
[0033]
【Example】
Hereinafter, the present invention will be described in detail with reference to examples.
[0034]
First embodiment
[0035]
FIG. 1 shows an outline of an IP network constituting a packet transfer system in a first embodiment of the present invention. The IP network 101 includes first to third access networks 102 that are networks in a relatively narrow range.1~ 102ThreeThese first to third access networks 1021~ 102ThreeIs connected to the core network 103. First to third access networks 1021~ 102ThreeIndicates a network that connects to terminals in each home using, for example, a CATV (cable television) distribution network. The core network 103 refers to a network created by a telephone company or the like using a high-speed line connecting cities. First to third access networks 1021~ 102Three1st to 3rd customer premises equipment (CPE) 104 for transmitting and receiving packets to and from the core network 103, respectively.1~ 104ThreeIs provided. In the core network 103, first to third customer premises equipment 104 are provided.1~ 104ThreeThe first to third edge routers 105 that directly transmit / receive packets to / from1~ 105ThreeAnd the first and second core routers 106 that perform packet transfer processing in the core network 1031, 1062Is provided.
[0036]
FIG. 2 shows the structure of the core router arranged in the core network shown in FIG. Here, the first core router 1061The second core router 106 will be described.2Since the configuration is the same, the description thereof is omitted. First core router 1061The first to Nth input ports 111 (N is an integer of 2 or more) connected to the transmission path through which the packet flows.1~ 111NAnd the first to Nth preprocessing units 112 that perform preprocessing on the input packet1~ 112NAnd the first to Nth input buffers 1131~ 113NIs provided. The switch 114, the scheduler 115 that performs scheduling of the switch 114, and the first to Mth output ports 116 (M is an integer of 1 or more) connected to the transmission path on the packet outflow side.1~ 116MIs provided. First core router 1061Is further provided with a control unit 127. The control unit 127 includes a CPU (Central Processing Unit) (not shown). The processing unit 127 also includes a first core router 106 according to a program stored in a storage medium (not shown).1Control of each part is performed. The control unit 127 is supplied with the clock signal 129 from the clock signal generator 128. First core router 1061In this way, the first to Nth input buffers 113 are arranged in front of the switch 114.1~ 113NIt is configured as an input buffer type switch provided with.
[0037]
First to Nth input buffers 1131~ 113NHave the same circuit configuration. Therefore, as a representative, the first input buffer 113 is used.1Will be described. First input buffer 1131Includes first to Mth output port-addressed queues 117 provided corresponding to the respective output ports.1~ 117MAnd queues 117 for these output ports1~ 117MA packet distribution unit 118 that distributes packets to the output port, and an output port-destined queue 117.1~ 117MIs provided with a packet sending unit 119 for taking out the packet from the head of the packet and sending it to the switch 114. The first to Mth output port queues 1171~ 117M1st to Mth header inspection units 120 corresponding one-to-one1~ 120MAnd the first to Mth output port queues 1171~ 117MIs provided with a buffer control unit 121 for selecting one of them. First to Mth output port queues 1171~ 117MAre the first to Mth output ports 116, respectively.1~ 116MThis is a first-in first-out (FIFO) virtual output port queue (Virtual Output Queue: VOQ) for storing packets sent from the network.
[0038]
The packet distribution unit 118 includes a first input buffer 113.11st to Mth output port-addressed queues 117 corresponding to the destinations of the packets input to1~ 117MIt is supposed to be queued. At this time, if the destination is the same, the queue 117 for the same output port regardless of whether the policing has passed or the policing violation has occurred.1~ 117MAre queued in the order of input. In this embodiment, the first to Mth output port queues 117 are also provided.1~ 117MWhen the packet distributor 118 queues up to the limit of the storage amount, no more packets are input and discarded.
[0039]
First to Mth header inspection units 1201~ 120MAre the corresponding first to Mth output port queues 117 respectively.1~ 117MThe header of the packet stored at the beginning of the packet is inspected. First to Mth header inspection units 1201~ 120MThe first to Mth test result information 122 is obtained from each test result.1~ 122MIs notified to the buffer control unit 121. Inspection result information 1221~ 122MIncludes information indicating whether or not the packet is queued, and information indicating whether or not an identifier indicating a policing violation is incorporated in the header of the first packet if the packet is queued. Yes. The buffer control unit 121 requests the scheduler 115 to request connection to the switch 114 and the request 123 indicating the connection priority.1To be notified. Here, the information on the connection priority indicates information on either a policing pass or a policing violation incorporated in the header of the packet. Also, this request 1231Grant 124 indicating the output port that permits connection to1, And the output port-addressed queue 117 corresponding to this1~ 117MIs sent to the packet sending unit 119.
[0040]
The scheduler 115 includes first to Nth input buffers 113.1~ 113NRequest 123 notified from1~ 123NTo receive. The received request is sent to the first to Mth output ports 116.1~ 116MSeparately, a grant indicating an output port that permits connection is notified to the input buffer that has notified the request having the highest connection priority. Here, the connection priority is two stages of policing pass and policing violation, and the policing pass is set to a higher priority. Request 1231~ 123NWhen a plurality of messages having the highest priority are sent to the same output port, one is selected by the round robin method. The output port is selected at a timing according to a time slot based on the clock signal 129. First to Nth input buffers 1131~ 113NAnd the first to Mth output ports 1161~ 116MIs determined, the switch 114 is notified of connection setting information 126 indicating this connection relationship. The switch 114 performs the first to Nth input buffers 113 according to the received connection setting information 126.1~ 113NAnd the first to Mth output ports 1161~ 116MSet to connect.
[0041]
FIG. 3 shows the configuration of the first preprocessing unit shown in FIG. First to Nth pre-processing units 1121~ 112NHave the same circuit configuration. Therefore, as a representative, the first preprocessing unit 112.1Will be described. First preprocessing unit 1121Are provided with a packet identification unit 131 for giving QoS class identification information to a packet, and a policer 132 for determining whether or not the inflow amount of a packet as a traffic amount is within a contract amount. In addition, a marker 133 that incorporates the determination result of the policer 132 into the packet, and an output port 116 that transmits the packet.1~ 116MAn output port discrimination unit 134 and a packet division unit 135 that divides a packet into a predetermined length or less. The policer 132 includes a storage medium (not shown) for storing the contract amount.
[0042]
Input port 1111First, the packet identifier 131 determines a corresponding QoS class, and a DSCP value for identifying the determined QoS class is added to the header of the packet. Next, the policer 132 checks whether or not the inflow amount of packets received as policing is within the contract amount. For example, the packets are stored in the first-in first-out buffer that discharges all the packets stored per unit time in the order of input, and the check is made by distinguishing the number of packets from the beginning up to the number corresponding to the contract amount and the number exceeding that I do. If the amount exceeds the contract amount, a marker 133 is attached to the exceeding amount of packets, and an identifier indicating a policing violation is added to the DSCP value, resulting in a policing violation packet. A packet in which an identifier indicating a policing violation is not attached to the DSCP value by the marker 133 is a policing pass packet. The packet reflecting the policing result is output from the first core router 106 by the output port discrimination unit 134.1Output port 116 of1~ 116MFrom which the packet is transmitted, and information indicating this is added to the packet header. Finally, the packet dividing unit 135 divides the packet so as to be a predetermined length or less, and the first preprocessing unit 112 is divided.1To send from. When this division is performed, the information incorporated in the packet header is copied and incorporated in each divided packet.
[0043]
FIG. 4 shows the configuration of the buffer control unit provided in the first input buffer shown in FIG. The buffer control unit 121 includes the inspection result information 122.1~ 122MAnd the request 123 based on the received inspection result information.1A request creating unit 142 for creating a request and a created request 1231Is provided to the scheduler 115. The buffer control unit 121 also receives a grant 124 sent from the scheduler 115.1Grant receiver 144 and grant 1241Queue selection unit 145 for selecting a queue destined for an output port that transmits a packet based on the packet, and selection queue information notifying unit 146 for notifying packet sending unit 119 of selection queue information 125 indicating the queue destined for the output port. It has been.
[0044]
The request creation unit 142 displays the inspection result information 122.1~ 122MA request 123 incorporating a desired connection destination output port indicating an output port to which a packet queued in the queue and a connection priority indicating the priority of the packet are incorporated.1Create If there are a plurality of queues for output ports where packets are queued, information corresponding to the number is incorporated into one request 123.1May be created. In this case, the connection priority is indicated for each desired connection destination output port. Further, the queue selection unit 145 has the grant reception unit 144 that grant 124.1, The first to Mth output port queues 117 are received.1~ 117MThe one corresponding to this is selected. Suppose this is the first output port queue 117.1Then, the packet sending unit 119 sends the first output port-addressed queue 117.1The packet is extracted from the head of the packet and sent to the switch 114. The scheduler 115 notifies the connection setting information 126 so as to set the connection between the corresponding input buffer and the output port in time for the packet sending unit 119 to send the packet to the switch 114. Therefore, the packet 147 sent from the packet sending unit 119 to the switch 114.1Is sent from the corresponding output port via the switch 114.
[0045]
Next, the core router 1061The manner in which a packet is input and transmitted is described. First input port 111 shown in FIG.1Includes the first edge router 105 shown in FIG.1Via the first access network 1021Packets are input from. Also, the second input port 111, not shown in FIG.2Includes the second edge router 105 shown in FIG.2Via the second access network 1022Packets are input from. The operator of the core network 103 is the first access network 1021And a service contract with a contract amount of 1.8 Gbps is assumed. The second access network 1022And a service contract with a contract amount of 0.6 Gbps is assumed. First output port 1161It is assumed that a maximum of 2.4 Gbps packets can be transmitted from. Here, the first output port 1161Packets transmitted from the first and second access networks 1021, 1022It is assumed that there are only packets input from each operator. Thereby, the first and second access networks 1021, 1022As long as packets are input from each carrier with a total traffic amount of 2.4 Gbps, all the input packets are output to the first output port 116 regardless of the contract amount.1Is sent from.
[0046]
FIG. 5 shows an example of a state in which a packet to be sent to the first output port has a contention for sending in the core router shown in FIG. First input port 1111The first access network 1021The packet of 1.8 Gbps indicated by the traffic amount 151 from is continuously input. Since this traffic amount 151 is within the contracted amount, these packets are all policing packets. Second input port 1112Has a second access network 1022The packet of 1.2 Gbps indicated by the traffic amount 152 from is continuously input. Since the traffic amount 152 exceeds the contract amount, the excess traffic amount of 0.6 Gbps packet is a policing violation packet and is given an identifier. A packet with a traffic amount of 0.6 Gbps within the contract amount is a packet that has passed policing.
[0047]
Core router 1061In this case, a packet that passes policing is sent to the switch in preference to a packet that violates policing. Thus, the first input port 1111Since all the packets input from are packets that have passed the policing, these are the first output ports 116.1Will be sent preferentially. Also, the second input port 1112Packets received from the first output port 116 by 0.6 Gbps, including policing pass and policing violation.1Is sent from. Also, the second input port 1112Among packets input from, a packet with a traffic amount of 0.6 Gbps indicated by an arrow 153 is discarded. Since packets within the traffic amount 152 queue policing pass packets and policing violation packets in the same queue in the order of input, the discarded packets may include policing pass packets. However, at least a packet with a traffic volume of 152 is transmitted to the second input port 111.2Without changing the input order from the first output port 1161Can be sent from. In this example, the first and second access networks 1021, 1022As described above, a case where a packet with a fixed traffic amount is input is described. However, for example, the first access network 1021When the traffic volume of the packet input from fluctuates, the output port 1161The amount of packets indicated by the traffic amount 153 can be transmitted by the margin of the traffic amount on the side.
[0048]
Thus, the core router 1061Then, when a policing pass packet is preferentially transferred when it conflicts with a policing violation packet, a contract amount packet composed of only the policing pass packet can be transferred preferentially. Thereby, the policing violation packet of the other input port does not block the policing pass packet of its own input port, and the unfairness of the output opportunity between the input ports can be reduced. When the output ports are the same, the policing pass packet and the policing violation packet are queued in the same queue in the order of input. As a result, the order of packets transmitted from the same output port among the packets input from the same input port is not changed. Even when packet discarding occurs, packets that cannot be queued in the queue are discarded, so that the sequence is not changed even if a series of packets are lost.
[0049]
Second embodiment
[0050]
FIG. 6 shows a part of the core router constituting the packet transfer system in the second embodiment of the present invention. In this figure, the same parts as those in FIG. 2 are denoted by the same reference numerals, and description thereof will be omitted as appropriate. Also in this embodiment, FIG. 1 of the first embodiment is appropriately used. First core router 106A1Includes first to Nth input ports 111 to which packets are input.1~ 111NAnd first to Nth pre-processing units 201 for adding identifiers indicating connection priorities to the input packets.1~ 201NAnd first to Nth input buffers 202 for temporarily storing input packets.1~ 202NIs provided. The switch 114 selectively connects the input side and the output side, and the first to Mth output ports 116 serving as packet destinations.1~ 116MAnd the first to Nth input buffers 2021~ 202NIs provided with a scheduler 203 that schedules connection of the switch 114 according to the connection priority of the packet stored in. Further, the first to Nth input buffers 2021~ 202NAre the first to Nth requests 204 incorporating information indicating the connection priority.1~ 204NIs notified to the scheduler 203. In the second embodiment, description will be made assuming that 103 operators of the core network support a plurality of QoS classes of class 1 to class X (X is an integer of 2 or more) like Diffserve.
[0051]
FIG. 7 shows the configuration of the first preprocessing unit shown in FIG. In this figure, the same parts as those in FIG. 3 are denoted by the same reference numerals, and description thereof will be omitted as appropriate. First preprocessing unit 2011Includes a first input port 1111A user class identification unit 211 for adding a DSCP value identifying a user who is a transmission source of a packet input from the user and a QoS class contracted with the user to the packet, and a first policing of the traffic amount corresponding to each user -Fourth policer 2121~ 212FourAnd the first to fourth markers 213 that selectively incorporate policing violation identifiers in the packet header corresponding to these.1~ 213FourIs provided. First to fourth policers 2121~ 212FourAnd the first to fourth markers 2131~ 213FourAre provided corresponding to the first to fourth users, respectively. In addition, the first preprocessing unit 2011Are provided with an output port discriminating unit 134 for discriminating an output port as a packet transmission destination and a packet dividing unit 135 for dividing the packet into a predetermined length or less. First input port 1111Are sent from the first to fourth users who have signed a service contract with the provider of the core network 103 in advance. First to fourth policers 2121~ 212FourAnd the first to fourth markers 2131~ 213FourPolices whether or not the traffic volume from the first to fourth users is within the contract amount, and an identifier indicating a policing violation is given to the packet exceeding the contract amount.
[0052]
FIG. 8 shows the configuration of the first input buffer shown in FIG. In this figure, the same parts as those in FIG. 4 are denoted by the same reference numerals, and description thereof will be omitted as appropriate. First input buffer 1131Includes 11th to XMth queues 221 storing packets prepared for each combination of output port and supported QoS class.11~ 221XMA packet distribution unit 118 that distributes packets to these queues, and a packet transmission unit 119 that takes out the packets stored at the heads of these queues and sends them to the switch 114. Here, the first place value of the subscript number assigned to the queue 221 represents the corresponding output port, and the ten place value represents the corresponding QoS class. Also, the 11th to XMth queues 22111~ 221XM11 to XM header inspection units 222 that inspect the head packet in a one-to-one correspondence with each other.11~ 222XMAnd the 11th to XMth queues 22111~ 221XMIs provided with a buffer control unit 223 for selecting one of them.
[0053]
The packet distribution unit 118 receives packets input from the first to fourth users from the first preprocessing unit 201.111 to XM queues 221 prepared for each output port and for each QoS class based on the processing result of11~ 221XMIt is supposed to be queued. 11th to Xth header inspection units 22211~ 222XMAre the corresponding first to XM queues 221.11~ 221XMIt checks for the presence of packets that are queued to. If the packet is queued, it is checked whether an identifier indicating policing violation is added to the head packet. Header inspection unit 22211~ 222XMThe inspection result is referred to as inspection result information 122.11~ 122XMIs notified to the buffer control unit 223. The buffer control unit 223 receives the inspection result information 122.11~ 122XMA request 204 which is a connection request to the switch 114 created based on1Is notified to the scheduler 203. On the other hand, the output port 116 that is permitted to connect.1~ 116NGrant 124 indicating either1Is received, the selection queue information 125 is notified to the packet transmission unit 119.
[0054]
FIG. 9 shows the configuration of the buffer control unit shown in FIG. In this figure, the same parts as those in FIG. 4 are denoted by the same reference numerals, and description thereof will be omitted as appropriate. The buffer control unit 223 includes the inspection result information 122.11~ 122XMThe test result information receiving unit 141 that receives the request 204 and the request 204 based on this1Request creation unit 231 for creating request 204 and request 2041Is notified to the scheduler 203. Also, grant 124 from scheduler 2031And the 11th to XM queues 221 based on this.11~ 221XMA queue selection unit 232 for selecting a queue from which a packet to be transmitted to the switch 114 is extracted, and a selection queue information notification unit 146 for notifying the packet transmission unit 119 of selection queue information 125 indicating the selected queue. Further, a priority order table 233 is stored which stores the priority order of connection priorities according to the combination of the QoS class and policing pass or policing violation. The request creation unit 231 and the queue selection unit 232 refer to the priority order stored in the priority order table 233 when determining whether the connection priority is high or low.
[0055]
Unlike the first embodiment, the request creation unit 231 considers not only the policing pass or policing violation but also the priority order between QoS classes.1Is supposed to create. For example, output port 1161The policing packets addressed to the 11th and 21st queues 22111221twenty oneAre stored, and the combination of the second QoS class and the policing pass is set higher in priority than the combination of the first QoS class and the policing pass. In this case, since the combination of the second QoS class and the policing pass has a higher priority, the output port 116 incorporating the connection priority registered in the priority order table 233 accordingly.1Request 204 to request connection to1Create The queue selection unit 232 receives the grant 124 received by the grant reception unit 144.1In accordance with the first to XM queues 22111~ 221XMThe queue from which the packet to be sent to the switch 114 is taken out is selected. As an example, Grant 1241Output port 1161If the connection permission to the output port 116 is indicated, the output port 116111th to 1M queues 221 addressed to11~ 2211MThe queue storing the packet having the highest connection priority among the packets stored at the head position of is selected. The queue selection unit 232 acquires the latest inspection result information from the inspection result information receiving unit 141 for this selection. Then, the queue selection unit 232, for example, the first M queue 2211MIs selected, the first M queue 221 is selected.1MThe packet is extracted from the head of the packet and sent to the switch 114. The scheduler 203 notifies the corresponding input buffer 202 by notifying the connection setting information 126 in time for the timing at which the packet sending unit 119 sends the packet to the switch 114.1And output port 1161It is supposed to set the connection. Therefore, the packet 147 sent from the packet sending unit 119 to the switch 114.1Corresponds to the corresponding output port 116 via the switch 114.1To be sent from.
[0056]
FIG. 10 shows the configuration of the scheduler shown in FIG. The scheduler 203 includes first to Nth input buffers 202.1~ 202NRequest 204 sent from1~ 204NAnd a first to Xth request storage unit 242 for temporarily storing a request for each of the first to Xth QoS classes.1~ 242XAnd a class-specific request distribution unit 243 that distributes the received requests to them. In addition, a priority order table 244 storing a priority order of connection priorities according to a combination of a QoS class and policing pass or policing violation, and first to Xth request storage units 2421~ 242XEach input buffer 202 based on the priority order of the requests and connection priorities stored in1~ 202NOutput port 116 connected to1~ 116MAn output port selection unit 245 is provided. Further, each input buffer 202 is selected based on the selection of the output port selection unit 245.1~ 202NOutput port 116 which permits connection according to1~ 116MAs one of the grants 1241~ 124NThe grant creation unit 246 for creating the grant and the grant 124 created by the grant creation unit 2461~ 124NFor each input buffer 2021~ 202NA connection information creation unit 248 that creates connection information indicating connection settings of the switch 114 based on selection by the output port selection unit 245, and connection information 126 created by the connection information creation unit 248. Is provided with a connection information notification unit 249.
[0057]
The output port selection unit 245 refers to the connection priority stored in the priority order table 244, and the first to Xth request storage units 242 corresponding to the QoS class having a high connection priority.1~ 242XOutput port 116 in order from the request stored in1~ 116MIs supposed to be selected. The output port selection unit 245 includes the input buffer 2021~ 202NList showing output and output port 1161~ 116MEach of the input buffers 202 that are not selected in these lists.1~ 202NAnd output port 1161~ 116MThe connection relationship is determined by selecting one by one. At this time, the input buffer 2021~ 202NAnd output port 1161~ 116MThe selected one of the output ports 116 is selected for one input buffer.1~ 116MCan be prevented from being selected at the same time. The grant creation unit 246 receives the input buffer 202.1~ 202NOf the corresponding output ports 1161~ 116MGrant 124 for notifying permission of connection to those selected1~ 124NIs supposed to create.
[0058]
Of the connection priorities stored in the priority order tables 233 and 244, the packet with the policing violation is given the lowest priority regardless of the priority of the QoS class. Since the connection priority is determined by the priority order stored in the priority order tables 233 and 244, an arbitrary priority order can be set by changing this setting. Next, a case where a plurality of QoS class packets cause contention will be described.
[0059]
FIG. 11 shows an example of a state in which a packet to be transmitted to the first output port has a contention in the core router described in the second embodiment. Here, the first input port 1111And the second input port 1112Of the packets input to the first output port 1161What is sent out to will be described. First input port 1111Are continuously inputted with a packet for 0.4 Gbps indicated by the traffic amount 251 of the first QoS class and a packet for 1.0 Gbps indicated by the traffic amount 252 of the second QoS class. Second input port 1112The packet for 0.6 Gbps indicated by the traffic amount 253 of the second QoS class and the packet for 0.8 Gbps indicated by the traffic amount 254 of the third QoS class are continuously input. First output port 1161Can transmit packets up to a maximum of 2.4 Gbps. The connection priority between QoS classes is highest in the first QoS class, and is in the order of the second and third QoS classes. In addition, the connection priority of the packet with the policing violation identifier indicating the packet exceeding the contract amount determined for each of the first to fourth users is the lowest connection priority regardless of the QoS class. Is set to
[0060]
First input port 1111The second QoS class packet input from is composed of a policing pass packet for 0.6 Gbps and a policing violation packet for 0.4 Gbps. First input port 1111Packets of the first QoS class input from the second input port 1112The packets of the second QoS class and the third QoS class that are input from are configured only by policing pass packets.
[0061]
Core router 106A1In this case, a packet having a high connection priority is sent to the switch 114 with priority. However, the first input port 1111Packets of the second QoS class inputted from the 21st queue 221twenty oneDepending on the connection priority of the packet queued at the head of the packet, the priority may be reversed. Here, to simplify the problem, the first input port 1111Description will be made assuming two states of the second QoS class packet input from No. 1 when the policing pass packet is biased toward the head of the queue and when it is biased toward the rear.
[0062]
First, the first input port 1111Among the packets of the second QoS class input from, the policing pass packet is the 21st queue 221.twenty oneThe case where it is biased to the top of will be described. In this case, the first input port 111 having the highest connection priority.1The first QoS class packet input from is first transmitted. Then, the first and second input ports 111 having the next highest connection priority.1, 1112Packets that pass the second QoS class policing that are input from the terminal are equally sent by 0.6 Gbps in a round robin manner. After this, the first input port 1111And a second QoS port policing violation packet input from the second input port 1112There remains a packet that has passed the policing of the third QoS class input from. Since the policing violation packet has the lowest connection priority, a packet for 0.8 Gbps of the third QoS class is output first. As a result, a packet corresponding to a total traffic amount of 2.4 Gbps is output, so the first input port 111 indicated by the traffic 255 is displayed.1The remaining 0.4 Gbps packets of the second QoS class input from are discarded.
[0063]
Next, the first input port 1111A case will be described in which packets that pass the policing among the packets of the second QoS class input from the above are biased toward the back of the queue. In this case, the first input port 1111Queue 221 for storing packets of the second QoS class inputted fromtwenty oneHas the lowest connection priority because a policing violation packet is stored at its head. Therefore, the first input port 1111First, packets other than the second QoS class input from are sequentially transmitted in accordance with the high connection priority. Finally, the first input port 1111Of the second QoS class packets input from, the output is 0.6 Gbps, and the remaining 0.4 Gbps packets are discarded.
[0064]
Thus, the third QoS class policing pass packet having a lower connection priority than the second QoS class policing pass traffic is sent without being blocked by the second QoS class policing violation packet. Can do. Therefore, the core router 106A of the second embodiment1Thus, even when a plurality of QoS classes having different connection priorities are supported, the same effect as in the first embodiment can be realized.
[0065]
In the first and second embodiments described above, the core router 1061Or core router 106A1Explained that it has a control unit 127, which controls according to the program. However, each unit may be configured by hardware synchronized with the clock signal 129. The first to Mth output port queues 1171~ 117MAnd the 11th to XMth queues 22111~ 221XMMay be provided as physically independent storage media, or may be provided in a form of virtually dividing an appropriate number of storage media.
[0066]
In the first and second embodiments, an identifier for policing violation is selectively incorporated in a packet input from the relationship between traffic volume and contract volume. However, the traffic volume is not particularly defined in the service contract, and a policing violation identifier may always be incorporated in a packet from a specific user. If only the policing violation identifier is incorporated, the packet input from the user will be transferred using the bandwidth after transferring other packets with high transfer priority, regardless of the traffic volume. When congestion occurs, the amount of packets that can be transferred is often limited. For example, instead of providing such a restriction, a service contract that is relatively cheaper than a service contract that defines a contract amount may be concluded with a user who uses the conventional data communication whose transfer speed is not so high.
[0067]
Furthermore, in the second embodiment, for example, if the traffic volume is secured by the same amount as the maximum traffic volume per unit time on the outflow side and the user is contracted to set the highest connection priority, the communication at the time of disaster etc. is maximized. It is also possible to prepare a service contract suitable for securing priority.
[0068]
Potential variations of the invention
[0069]
In the first or second embodiment, the packet input based on the contract amount is divided into either a policing pass or a policing violation. In order to identify this, in the first and second embodiments, an identifier indicating policing violation is incorporated into the packet, but an identifier indicating policing success may be incorporated. Further, the priority may be further divided in this policing pass or policing violation. For example, two traffic volumes, a limit traffic volume (Peak Rate) and an average traffic volume (Committed Rate), are defined in a service contract. A portion that is less than the average traffic amount is a policing pass packet, a portion that is greater than or equal to the average traffic amount and less than the limit traffic amount is a first policing violation packet, and a portion that is more than the limit traffic is a second policing violation packet. Scheduling is performed preferentially in descending order of connection priority as a policing pass packet, a first policing violation packet, and a second policing violation packet in descending order. This makes it possible, for example, to preferentially output packets input from other input ports with a traffic amount slightly exceeding the average value, rather than packets input from a certain input port with a temporarily maximized traffic amount. Services can be provided.
[0070]
Further, in the first embodiment, the first preprocessing unit 112 is used.1The class identification unit 131, the policer 132, and the marker 133 are provided. However, these are the first input ports 1111First edge router 105 that inputs a packet to1May be provided. Also, the first preprocessing unit 201 of the second embodiment.1User class identification unit 211 and first to fourth policers 212 provided in1~ 212FourAnd the first to fourth markers 2131~ 213FourThe first edge router 1051May be provided. In this way, the process of adding the identification value indicating the policing violation is performed across the network by the first edge router 105.1The first core router 1061Can reduce the load of packet transfer processing.
[0071]
Further, in the second embodiment, the priority order tables 233 and 244 are provided in the buffer control unit 223 and the scheduler 203, respectively. However, the combination of the QoS class and the policing violation or policing pass is associated with a linear priority, which is referred to as the request 204.1It may be incorporated as the connection priority of. Thereby, the scheduler 203 makes a request 204.1~ 204NPriority scheduling can be performed by simply comparing the connection priorities built in the network. As described above, the scheduler 203 may not include the priority order table 244. At this time, in the case of setting the policing violation packet to the lowest priority order regardless of the QoS class, it is possible to realize preferential scheduling by providing the order of (X + 1) stages as the connection priority. In addition, when setting the priority order of policing violation and policing pass packets for each QoS class, it is possible to realize preferential scheduling by providing (2 × X) stages of connection priorities. .
[0072]
【The invention's effect】
  Claim 1 as described aboveOr claim 2According to the described invention, each inflow side transmission pathCorresponding to each of multiple outflow side transmission linesPlace packet storage meansEtPackets are stored on the first-come-first-served basis, and the packets stored in the packet storage means from each inflow-side transmission path are surely allocated to the inflow-side transmission path by allocating the packets stored in advance. It is sent out to the inflow side transmission path in the storing order, and the order does not go out of order. In addition, by setting the superiority or inferiority when the packet is taken out from each packet storage means, it becomes possible to transmit the packet according to the priority.
[0073]
  MoreClaim 2According to the described invention, since not only the priority of each packet but also the priority between the packet storage means is determined, when a conflict occurs when a packet is extracted from the packet storage means, this is determined according to the priority. Mediation, and a more flexible system can be constructed.
[Brief description of the drawings]
FIG. 1 is a block diagram showing an outline of a network in which core routers are arranged in a first exemplary embodiment of the present invention.
FIG. 2 is a block diagram showing an outline of a configuration of a first core router in the first embodiment.
FIG. 3 is a block diagram showing the configuration of a first preprocessing unit in the first embodiment.
FIG. 4 is a block diagram showing a configuration of a buffer control unit provided in the first input buffer.
FIG. 5 is a block diagram conceptually showing the relationship between the input traffic volume and the output traffic volume of the first core router in the first embodiment.
FIG. 6 is a block diagram showing an outline of a configuration of a first core router in the second embodiment.
FIG. 7 is a block diagram showing a configuration of a first preprocessing unit in the second embodiment.
FIG. 8 is a block diagram showing a configuration of a first input buffer in the second embodiment.
FIG. 9 is a block diagram showing the configuration of a buffer control unit provided in the first input buffer in the second embodiment.
FIG. 10 is a block diagram showing the configuration of a scheduler in the second embodiment.
FIG. 11 is a block diagram conceptually showing the relationship between the input traffic volume and the output traffic volume of the first core router in the second embodiment.
FIG. 12 is a block diagram showing an outline of a network in which a conventional core router and edge router are arranged.
FIG. 13 is a block diagram conceptually showing the relationship between the input traffic volume and the output traffic volume of a conventional core router.
FIG. 14 is a block diagram showing a configuration of a conventional core router.
[Explanation of symbols]
101 IP network
1021~ 102Three  1st to 3rd access networks
103 Core network
1041~ 104Three  First to third customer premises equipment
1051, 1052  First and second edge routers
1061106A1  First core router
1062  Second core router
1111~ 111N  1st to Nth input ports
1121~ 112N2011~ 201N  1st to Nth pre-processing units
1131~ 113N, 2021~ 202N  1st to Nth input buffers
114 switch
115, 203 scheduler
1161~ 116M  1st to Mth output ports
1171~ 117M  First to Mth output port queues
1201~ 120M, 22211~ 222XM  Header inspection part
121, 223 Buffer control unit
127 control unit
132, 2121~ 212Four  Police
133, 2131~ 213Four  Marker
22111~ 221XM  11th to XM queues

Claims (4)

単位時間当たりのパケット流入量がそれぞれ個別に規定された複数の流入側伝送路ごとに配置され、単位時間当たりのパケット流出量がそれぞれ個別に規定された流出側伝送路に向けたパケットを、それぞれ受信するパケット受信手段と、
前記複数の流入側伝送路のそれぞれに対応して配置され、前記パケット受信手段で受信した対応する流入側伝送路を経たパケットのうち、単位時間当たりの流出量が流入側伝送路ごとに予め規定された量を超過する分を予め規定された分と区別するように流入したパケットに識別子を選択的に付加する識別子付加手段と、
前記複数の流入側伝送路のそれぞれに対応して配置され、前記識別子付加手段で識別子を選択的に付加した後の個々のパケットをそれぞれ先着順に格納する、前記複数の流出側伝送路それぞれに対応して設けられたパケット格納手段と、
前記複数の流入側伝送路のそれぞれに対応して配置され、これらパケット格納手段に格納されたそれぞれ先頭位置のパケットをチェックして、前記流出側伝送路の単位時間当たりのパケット流出量の範囲内で、前記識別子によって単位時間当たりの流出量が確保されたパケットを単位時間ごとに優先的に取り出すパケット取り出し手段と、
前記複数の流入側伝送路のそれぞれのパケット取り出し手段によって取り出されたパケットを前記複数の流出側伝送路の対応するものに送出するパケット送出手段
とを具備することを特徴とするパケット転送システム。
Disposed packets flowing per unit time for each of a plurality of inlet-side transmission path which is defined individually, the packet packet outflow amount per unit time is respectively toward the outflow side transmission path which is defined separately, respectively A packet receiving means for receiving;
Outflow packets per unit time are defined in advance for each inflow side transmission path among packets that are arranged corresponding to each of the plurality of inflow side transmission paths and that have passed through the corresponding inflow side transmission path received by the packet receiving unit. an identifier adding means for selectively adding an identifier to the inflow packets to distinguish between the amount of pre-defining the amount in excess of the amount that is,
Said plurality of arranged corresponding to each of the inlet-side transmission path, stores the selectively added to the after each packet identifier to each order of arrival at the identifier adding means, corresponding to each of the plurality of outlet-side transmission line Packet storage means provided as
The packet is arranged corresponding to each of the plurality of inflow side transmission paths, and the packet at the head position stored in each of these packet storage means is checked, and within the range of the packet outflow amount per unit time of the outflow side transmission path Then, a packet extracting means for preferentially extracting packets for which the outflow amount per unit time is secured by the identifier, per unit time;
A packet transfer system comprising: packet sending means for sending a packet taken out by each packet take-out means of the plurality of inflow side transmission paths to a corresponding one of the plurality of outflow side transmission paths.
単位時間当たりのパケット流入量がそれぞれ個別に規定された複数の流入側伝送路ごとに配置され、単位時間当たりのパケット流出量がそれぞれ個別に規定された流出側伝送路に向けたパケットを、それぞれ受信するパケット受信手段と、
前記複数の流入側伝送路のそれぞれに対応して配置され、前記パケット受信手段で受信した対応する流入側伝送路を経たパケットのうち、単位時間当たりの流出量が流入側伝送路ごとに予め規定された量を超過する分を予め規定された分と区別するように流入したパケットに識別子を選択的に付加する識別子付加手段と、
前記複数の流入側伝送路のそれぞれに対応して配置され、前記識別子付加手段で識別子を選択的に付加した後の個々のパケットをそれぞれ先着順に格納する、前記複数の流出側伝送路それぞれに対応して設けられたパケット格納手段と、
前記流入側伝送路ごとにこれらのパケット格納手段から取り出すパケットが取り出しについて競合した際のその優先度を登録する取り出し優先度登録手段と、
前記複数の流入側伝送路のそれぞれに対応して配置され、前記パケット格納手段に格納されたそれぞれ先頭位置のパケットをチェックして、前記流出側伝送路の単位時間当たりのパケット流出量の範囲内で、前記識別子によって単位時間当たりの流出量が確保されたパケットを単位時間ごとに優先的に取り出すときに単位時間当たりの流出量が確保されたパケットの間ではこの取り出し優先度登録手段に登録された取り出し優先度の高いパケットを優先的に取り出すパケット取り出し手段と、
前記複数の流入側伝送路のそれぞれのパケット取り出し手段によって取り出されたパケットを前記複数の流出側伝送路の対応するものに送出するパケット送出手段
とを具備することを特徴とするパケット転送システム。
Disposed packets flowing per unit time for each of a plurality of inlet-side transmission path which is defined individually, the packet packet outflow amount per unit time is respectively toward the outflow side transmission path which is defined separately, respectively A packet receiving means for receiving;
Outflow packets per unit time are defined in advance for each inflow side transmission path among packets that are arranged corresponding to each of the plurality of inflow side transmission paths and that have passed through the corresponding inflow side transmission path received by the packet receiving unit. an identifier adding means for selectively adding an identifier to the inflow packets to distinguish between the amount of pre-defining the amount in excess of the amount that is,
Said plurality of arranged corresponding to each of the inlet-side transmission path, stores the selectively added to the after each packet identifier to each order of arrival at the identifier adding means, corresponding to each of the plurality of outlet-side transmission line Packet storage means provided as
Extraction priority registration means for registering the priority when packets extracted from these packet storage means compete for extraction for each inflow side transmission path;
A packet is placed corresponding to each of the plurality of inflow side transmission paths, and the packet at the head position stored in the packet storage means is checked, and within the range of the packet outflow amount per unit time of the outflow side transmission path Thus, when a packet in which the outflow amount per unit time is secured by the identifier is preferentially taken out every unit time, the packet in which the outflow amount per unit time is secured is registered in this takeout priority registration means. Packet extraction means for preferentially extracting packets with high extraction priority;
A packet transfer system comprising: packet sending means for sending a packet taken out by each packet take-out means of the plurality of inflow side transmission paths to a corresponding one of the plurality of outflow side transmission paths.
前記識別子付加手段は、前記パケット受信手段で受信したそれぞれの流入側伝送路を経たパケットのうち、単位時間当たりの流出量が流入側伝送路ごとに予め確保された量を超過する分について識別子を付加することを特徴とする請求項1または請求項2記載のパケット転送システム。The identifier adding means assigns identifiers for the amount of outflow per unit time exceeding the amount reserved in advance for each inflow side transmission path among the packets that have passed through each inflow side transmission path received by the packet receiving means. 3. The packet transfer system according to claim 1 , wherein the packet transfer system is added. 前記識別子付加手段は、前記パケット受信手段で受信したそれぞれの流入側伝送路を経たパケットのうち、単位時間当たりの流出量が流入側伝送路ごとに予め確保された分について識別子を付加することを特徴とする請求項1または請求項2記載のパケット転送システム。The identifier adding means adds an identifier for the amount of outflow per unit time that is secured in advance for each inflow side transmission path among the packets that have passed through each inflow side transmission path received by the packet receiving means. The packet transfer system according to claim 1 or 2, characterized in that
JP2002136883A 2002-05-13 2002-05-13 Packet forwarding system Expired - Fee Related JP3903840B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002136883A JP3903840B2 (en) 2002-05-13 2002-05-13 Packet forwarding system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002136883A JP3903840B2 (en) 2002-05-13 2002-05-13 Packet forwarding system

Publications (2)

Publication Number Publication Date
JP2003333088A JP2003333088A (en) 2003-11-21
JP3903840B2 true JP3903840B2 (en) 2007-04-11

Family

ID=29698796

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002136883A Expired - Fee Related JP3903840B2 (en) 2002-05-13 2002-05-13 Packet forwarding system

Country Status (1)

Country Link
JP (1) JP3903840B2 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4634472B2 (en) * 2008-02-27 2011-02-16 日本電信電話株式会社 Wireless communication system and wireless communication method
CN108781439B (en) * 2016-03-14 2023-05-02 瑞典爱立信有限公司 Communication of application transactions over a radio link

Also Published As

Publication number Publication date
JP2003333088A (en) 2003-11-21

Similar Documents

Publication Publication Date Title
US7027457B1 (en) Method and apparatus for providing differentiated Quality-of-Service guarantees in scalable packet switches
US7020143B2 (en) System for and method of differentiated queuing in a routing system
US7796610B2 (en) Pipeline scheduler with fairness and minimum bandwidth guarantee
US7006440B2 (en) Aggregate fair queuing technique in a communications system using a class based queuing architecture
CA2168485C (en) A delay-minimizing system with guarenteed bandwidth delivery for real-time traffic
JP4605911B2 (en) Packet transmission device
US7855960B2 (en) Traffic shaping method and device
US6934250B1 (en) Method and apparatus for an output packet organizer
US7596086B2 (en) Method of and apparatus for variable length data packet transmission with configurable adaptive output scheduling enabling transmission on the same transmission link(s) of differentiated services for various traffic types
US7158528B2 (en) Scheduler for a packet routing and switching system
US7230923B2 (en) Time based packet scheduling and sorting system
US8531968B2 (en) Low cost implementation for a device utilizing look ahead congestion management
US20090292575A1 (en) Coalescence of Disparate Quality of Service Matrics Via Programmable Mechanism
GB2339371A (en) Rate guarantees through buffer management
US5742597A (en) Method and device for multipoint switching and arbitration in output-request packet switch
Zukerman et al. A protocol for eraser node implementation within the DQDB framework
JP4072315B2 (en) Packet switch
US7016302B1 (en) Apparatus and method for controlling queuing of data at a node on a network
JP2001197110A (en) Traffic control method
US7623456B1 (en) Apparatus and method for implementing comprehensive QoS independent of the fabric system
JP3903840B2 (en) Packet forwarding system
EP1521411B1 (en) Method and apparatus for request/grant priority scheduling
US7450510B1 (en) System and method for distributing guaranteed bandwidth among service groups in a network node
JP2001086157A (en) Datagram transfer method, traffic observing device, header field inserting device, traffic monitoring device, datagram transfer device and datagram transfer system
Pan et al. Bandwidth guaranteed multicast scheduling for virtual output queued packet switches

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050221

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20060907

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060919

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20061120

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070101

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20110119

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20110119

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20120119

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20130119

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20130119

Year of fee payment: 6

LAPS Cancellation because of no payment of annual fees