たとえば企業内LAN(Local Area Network)のように、パーソナルコンピュータ等の複数の通信端末を配置した有線による通信ネットワークが広く普及している。このような通信ネットワークでは、複数の通信経路の合流点や分岐点に、受け取ったその宛先に対応する通信ケーブルにのみ送出する形でデータの中継を行うスイッチングハブやルータが設置されることが多い。
このようなスイッチングハブやルータ(以下、データ中継装置という。)は、通信ケーブルを接続するための物理ポートを複数備えており、自己に備えられた各物理ポートと、それぞれに通信ケーブルの接続先とを対応付けたテーブルを用意している。そして、各物理ポートから宛先情報を付されたパケット等のデータを受信すると、このテーブルを参照してその宛先に対応する物理ポートを特定する。そして、データを該当する物理ポートへと転送し、その物理ポートに接続された通信ケーブルへと送出する。各物理ポートでは、例えば双方向に1Gbps(ギガビット/秒)というように、データを伝送するビットの速度すなわち単位時間当たりに伝送可能な最大データ量(以下、データ伝送速度という。)が通信に先立って設定される。また、データ中継装置では、受信した各データを対応する物理ポートへと転送するスイッチング処理を個々のデータについて行うが、その際の装置全体のデータ伝送速度(以下、スイッチング容量という。)は、その装置を構成するハードウェアあるいはソフトウェアによって決定される。
ここで、それぞれのデータ伝送速度が最高で双方向に1Gbpsに設定されうる物理ポートを20個設けたデータ中継装置を想定する。装置に備えられた物理ポートのデータ伝送速度の総計(以下、ポート合計速度という。)は双方向に20Gbpsとなることから、合計20Gbpsの速度でデータが送られてくる可能性があることを前提として、装置に20Gbpsのスイッチング容量を持たせることが考えられる。スイッチング容量が受信方向のポート合計速度以上であれば、受信したデータの全てを入力側に滞留させることなく転送できるためである。
しかしながら、たとえばデータ中継装置に接続される通信端末がパーソナルコンピュータのような場合には、実際にはデータの送信を行わない時間が比較的多く、データ中継装置にポート合計速度に達するデータ量が1秒間に送られてくるというような状況は起こりにくい。また、企業内LANの基幹システムで使用され、各部署のサブネット間を接続するレイヤ3スイッチのような大型のデータ中継装置では、装置を経由して通信を行う通信端末の数が比較的多い。すると、それぞれの通信端末でデータを送信する時間が更に分散されて、1秒当たりに送られてくるデータ量の合計のピークは、ポート合計速度に対して低くなる。このような使用実態にもかかわらずポート合計速度に達するスイッチング容量を持たせたデータ中継装置を設置しても、コストや設置面積の面で無駄が生じる。そこで、ポート合計速度よりもスイッチング容量を小さくしたデータ中継装置が多く採用されている。
図7は、このようなポート合計速度よりもスイッチング容量を小さくしたデータ中継装置の構成を表わしたものである。データ中継装置101は、第1〜第20の物理ポート(Port)1051〜10520と、これらに接続された物理回線である通信ケーブルを使用してデータの送受信を行うときの媒体アクセス制御を行うMAC(Media Access Controller)デバイスとしての媒体アクセス制御部111を備えている。また、各物理ポート105で受信したデータを、データごとにどの物理ポート105から送出すべきかを判別し、物理ポート105ごとに仕分けした状態で媒体アクセス制御部111へと送出の対象となるデータを転送するスイッチ本体112を備えている。ここで、データ中継装置101のスイッチング容量は10Gbpsとなっている。また、第1〜第20の物理ポート1051〜10520のそれぞれに接続された通信ケーブルは、双方向に1Gbpsのデータ伝送速度となっている。すなわち、データ中継装置101は、10Gbpsのスイッチング容量に対して20Gbpsのポート合計速度を有しており、このようなスイッチング容量を超えてポート合計速度を持たせた状態は、オーバサブスクライブ(Over Subscribed)と呼ばれる。ここで、1秒間に伝送されるデータ量を、データ通信速度と定義する。
媒体アクセス制御部111は、第1〜第20の物理ポート1051〜10520のそれぞれからデータを受け取ると、これを10Gbpsのデータ伝送速度でスイッチ本体112へと渡す。このとき、ポート合計速度は20Gbpsであるため、媒体アクセス制御部111にはスイッチング容量10Gbpsを超えてデータが送られてきてしまう場合がある。この場合には、媒体アクセス制御部111で10Gbpsを超えて送られてきたデータを一旦バッファして遅延させて転送したり、廃棄したりする。スイッチ本体112は、データを受け取ると、図示しないルーティングテーブルを参照して宛先アドレスを基にデータを送出すべき物理ポート105を判別する。そして、10Gbpsのデータ伝送速度で、対応する物理ポート105ごとに仕分けした状態でデータを媒体アクセス制御部111へと渡す。
媒体アクセス制御部111は、受け取ったデータをラウンドロビン(round robin)で第1〜第20の物理ポート1051〜10520から送出する。具体的には、図示しないが媒体アクセス制御部111には各物理ポート105に対応した20個のFIFO(First-In First-Out)メモリが備えられており、スイッチ本体112から受け取ったデータは対応するFIFOメモリに一旦格納される。そして、一定の速度で巡回する形でそれぞれのFIFOメモリからデータを順に取り出していき、対応する物理ポート105から送出するようになっている。このラウンドロビンによる送出処理は、アルゴリズムが比較的単純であることから、個々の物理ポート105について1Gbpsのデータ伝送速度を実現するのに十分な速度で行うことができる。このようにして、オーバサブスクライブのデータ中継装置101はスイッチング容量を必要最小限に抑えた状態で双方向にデータの中継を行うようになっている。
ところで、このようなデータ中継装置の特定の物理ポートについて、通信ケーブル側から送られたデータを所定のデータ通信速度の範囲内で全て受信し、かつ送出すべきデータを所定のデータ通信速度の範囲内で全て送信できることが求められることがある。たとえば、いずれかの物理ポートにサーバ等の比較的重要度の高い装置あるいは他の通信端末と定常的に通信を行う装置が接続されている場合である。ここでは、図7に示したデータ中継装置101の第1の物理ポート1051の先にサーバが接続されており、第1の物理ポート1051にその通信ケーブルのデータ伝送速度としてのワイヤレートに等しい1Gbpsのデータ通信速度の確保が双方向に要求されているとする。ここで、所定のデータ通信速度の確保とは、伝送可能なデータが用意されているときに、そのデータを所定のデータ通信速度の範囲内で全て伝送することを言う。
ところが、オーバサブスクライブのデータ中継装置には、前記したように媒体アクセス制御部111にスイッチング容量10Gbpsを超えてデータが送られてきてしまう可能性がある。たとえば、当初の予定よりも接続される通信端末の個数が増加したり、送受信されるデータのサイズが大きくなったりした場合である。すると、第1の物理ポート1051を介して送られてきたデータを速やかにスイッチ本体112へ転送することができず、受信方向については第1の物理ポート1051に1Gbpsのデータ通信速度を確保することができない恐れがある。
送られてくるデータのデータ通信速度に対して転送先のデータ伝送速度が狭くなっている場合でも優先度の高いデータを速やかに転送できるようにすることは、従来より提案されている(たとえば、特許文献1および特許文献2参照)。この第1および第2の提案では、データの優先度ごとにバッファメモリを設け、送られてきたデータを対応するバッファメモリに格納する。そして、優先度の高いバッファメモリからより優先的にデータを取り出すことによって、データの転送の順序を調節し、より優先度の高いデータを優先的に転送するようにしている。データ中継装置101の媒体アクセス制御部111にこのような優先制御を適用して、第1の物理ポート1051による受信データを優先的にスイッチ本体112へ転送するように設定すれば、第1の物理ポート1051に受信方向で1Gbpsのデータ通信速度を確保することが可能である。
一方、通信ケーブルへデータを送出する場合の送信方向については、スイッチング容量よりもポート合計速度の合計の方が大きくなっているため、ラウンドロビンによる送出処理が十分な速度で行われていればデータ通信速度の確保について特に問題は発生しないと考えられてきた。たとえば、第1〜第10の物理ポート105
1〜105
10から送出すべきデータがそれぞれ1Gbpsのデータ通信速度でスイッチ本体112から媒体アクセス制御部111へと送られてきても、それぞれの物理ポート105には送信方向で1Gbpsのデータ通信速度が確保される。
特開平11−346246号公報(段落0020、図2)
特開2003−158523号公報(段落0043、図6)
図1は、本発明の一実施例によるデータ中継装置としてのレイヤ3スイッチが使用される通信システムの構成を表わしたものである。通信システム200は、ある企業の基幹ネットワークとして構築されたものであり、TCP/IP(Transmission Control Protocol/Internet Protocol)が通信プロトコルとして使用されている。この通信システム200には、データ中継装置としてのレイヤ3スイッチ201と、顧客データ等の企業内の共有データを格納するサーバ202と、部署ごとに構築された第1〜第kのサブネット2031〜203kが配置されている。サーバ202および第1〜第kのサブネット2031〜203kは、第1〜第k+1の通信ケーブル2041〜204k+1によってレイヤ3スイッチ201にそれぞれ接続されている。レイヤ3スイッチ201は、装置本体211と、これに装着された第1〜第nのスロット2121〜212nにより構成されている。そして、第1〜第20の通信ケーブル2041〜20420は、これらのスロット212のうちの第1のスロット2121に接続されており、それぞれ1Gbpsのデータ通信速度までサポート可能なUTP(Unshielded Twist Pair cable)ケーブルとなっている。
この通信システム200では、各サブネット203間で、あるいはサーバ202と各サブネット203との間でデータの送受信を行う場合、そのデータはすべてレイヤ3スイッチ201を経由するようになっている。また、各スロット212は着脱自在となっており、通信システム200の規模すなわち接続する通信ケーブル204の種類や数に合わせて設置数を変更することが可能となっている。各スロットに接続された各通信ケーブル204の間のデータ転送は、装置本体211が行う。このような構成の通信システム200とすることで、通信システム200全体の管理や各サブネット203間のアクセス管理が容易となっている。また、サーバ202は共有データを格納することから、第1〜第kのサブネット2031〜203kに属するパーソナルコンピュータ等の図示しない各通信端末からデータの登録や閲覧あるいはダウンロードといった目的で頻繁にアクセスされるものである。
図2は、レイヤ3スイッチの構成を表わしたものである。レイヤ3スイッチ201は、図1に示したように、複数のスロットを装着するバックプレーンとしての装置本体211と、これに装着された第1〜第nのスロット2121〜212nにより構成されている。装置本体211には、これらのスロット212間を接続しデータの転送を行うスイッチ部213が備えられている。第1のスロット2121は、データをスイッチ部213に送る際の制御を行うトラフィック制御部214を備えている。また、データの単位であるIPパケットの宛先アドレスを基にそれぞれのIPパケットとしてのデータを第1のスロット2121内の次の装置部へと渡すフォワーディング処理部215を備えている。更に、第1〜第20の物理ポート2161〜21620と、これらに接続された通信媒体としての通信ケーブルを使用するときの媒体アクセス制御を行う媒体アクセス制御部217を備えている。
また、フォワーディング処理部215に対して媒体アクセス制御部217へのデータの送信を一時的に停止させるためのバックプレッシャ信号を制御するバックプレッシャ制御部218が備えられており、これら双方の装置部に接続されている。また、第1〜第20の物理ポート2161〜21620には図1の第1〜第20の通信ケーブル2041〜20420がそれぞれ接続されている。更に、媒体アクセス制御部217は、各物理ポート216からのデータの受信処理を行う受信処理部(Rx Wheel)221と、各物理ポート216へのデータの送信処理を行う送信処理部(Tx Wheel)222を備えている。フォワーディング処理部215は、第1〜第20の物理ポート2161〜21620に対応して、それぞれの物理ポート216から送出されるべきデータを一旦格納する第1〜第20の送信バッファメモリ2231〜22320を備えている。
レイヤ3スイッチ201の装置本体211および第1のスロット2121内部の構成は、それぞれ既存のハードウェアとしての回路部品や図示しないCPU(中央処理装置)および制御用のプログラムを格納したROM(リード・オンリ・メモリ)等の記憶媒体によって実現されている。第2〜第nのスロット2122〜212nも第1のスロット2121と同様の構成となっており、これらについての図示および説明を省略する。
スイッチ部213は、それぞれのスロット212を他の全てのスロット212と接続することを可能とするクロスバースイッチファブリックであり、各スロット212間のデータ伝送速度は各スロット212のトラフィック制御部214によって決定される。ここでは、それぞれ(10/n)Gbpsとなっており、各スロット212がスイッチ部213との間で送受信する際のデータ伝送速度すなわち各スロット212のスイッチング容量は、双方向に10Gbpsとなっている。したがって、レイヤ3スイッチ201全体のスイッチング容量は(10×n)Gbpsとなっている。また、第1のスロット2121の第1〜第20の物理ポート2161〜21620に接続された第1〜第20の通信ケーブル2041〜20420は、それぞれ送信と受信を同時に行う全二重の通信方式となっており、そのデータ伝送速度は双方向に1Gbpsとなっている。すなわち、第1のスロット2121では、スイッチング容量が10Gbpsであるのに対して、ポート合計速度は20Gbpsのオーバサブスクライブとなっている。
UTPケーブルを使用したイーサネット(登録商標)では、相手先の通信機器とのネゴシエーションによって、通信方式だけでなく10Mbps、100Mbpsおよび1Gbpsの中から適用するデータ伝送速度を自動認識するのが一般的となっている。したがって、本実施例のように最高のデータ伝送速度である1Gbpsが全ての物理ポート216に適用されるとは限らず、また適用されたデータ伝送速度を100パーセント使用して通信が行われるとは限らない。すなわち、ポート合計速度に等しいスイッチング容量を持たせてもコストや設置面積の面で大きな無駄が生じる可能性が高い。このような理由から、スイッチング容量を必要最小限に抑えているものである。
既に説明したように、サーバ202は他の各通信端末から頻繁にアクセスされるものである。したがって、本実施例では、サーバ202が接続されている第1の通信ケーブル2041に双方向に1Gbpsのデータ通信速度を確保することが要求されているものとする。すなわち、第1の物理ポート2161に第1の通信ケーブル2041側から送られたデータを1Gbpsの範囲内で全て受信し、かつ他の物理ポート216で受信した第1の物理ポート2161から送出すべきデータを1Gbpsの範囲内で全て送信することが要求されているものとする。
まず、物理ポート216を介してそれぞれに接続された通信ケーブル204からデータを受け取る受信方向における優先制御を行わない通常の処理について説明する。図2に示した媒体アクセス制御部217の受信処理部221は、第1〜第20の物理ポート2161〜21620のそれぞれからデータを受け取ると、10Gbpsのデータ伝送速度でフォワーディング処理部215へと渡す。このとき、ポート合計速度は20Gbpsであるため、媒体アクセス制御部217にはスイッチング容量10Gbpsを超えてデータが送られてきてしまう場合がある。この場合には、10Gbpsを超えて送られてきたデータは、受信処理部221で一旦バッファされ遅延して転送されたり、廃棄されたりする。
フォワーディング処理部215は、図示しないルーティングテーブルを参照して宛先アドレスを基に個々のデータの転送先のスロット212およびデータを送出する物理ポート216を判別し、物理ポート216ごとに仕分けした状態でトラフィック制御部214へ渡す。トラフィック制御部214は、図示しないが第1〜第nのスロット2121〜212nに設けられた物理ポート216ごとにバッファメモリを備えており、フォワーディング処理部215から受け取ったデータを、対応するバッファメモリに振り分けて一旦格納する。前記したようにスイッチ部213による各スロット212間のデータ伝送速度はそれぞれ10Gbpsとなっており、この範囲内で自己に備えられた各バッファメモリのデータをスイッチ部213へと渡すようになっている。具体的には、転送先のスロットごとに各バッファメモリを順に巡回してデータを取り出していき、いずれかのバッファメモリにデータが格納されている間は、1Gbpsのデータ伝送速度で各データを連結させる形でスイッチ部213へと転送する。
ただし、同じ物理ポート216に対応して第1〜第nのスロット2121〜212nの各トラフィック制御部に設けられたバッファメモリからデータが取り出される際のデータ伝送速度の総計は、その物理ポート216に設定された送信方向のデータ伝送速度を超えない値となっている。たとえば、1Gbpsのデータ伝送速度が設定されている第1の物理ポート2161から送出するデータについて、第1〜第nのスロット2121〜212nの各トラフィック制御部ではそれぞれ(1/n)Gbpsのデータ伝送速度でスイッチ部213へ送るようになっている。これにより、第1のスロット2121に送られてくる第1の物理ポート2161から送出するデータは、1Gbpsのデータ通信速度を超えないようになっている。
また、たとえば第1のスロット2121から他の第2のスロット2122へと転送すべきデータが(10/n)Gbpsを超えるデータ伝送速度で第1のスロット2121のフォワーディング処理部215からトラフィック制御部214へ送られてきたとする。この場合には、トラフィック制御部214のバッファメモリにはデータが滞留し、その状態が継続するとデータがオーバフローする。
次に、スイッチ部213から転送されてきたデータを受け取り、これを対応する物理ポート216から送出する送信方向における優先制御を行わない通常の処理について説明する。トラフィック制御部214は、スイッチ部213から受け取ったデータをフォワーディング処理部215へと渡す。フォワーディング処理部215は、ルーティングテーブルを参照して宛先アドレスを基にデータの転送先の物理ポート216を判別し、対応する第1〜第20の送信バッファメモリ2231〜22320に一時的に格納する。そして、10Gbpsのデータ伝送速度で、各送信バッファメモリ223からデータを取り出して物理ポート216ごとに仕分けした状態で媒体アクセス制御部217へと渡す。トラフィック制御部214からフォワーディング処理部215へとデータが渡される際のデータ伝送速度も10Gbpsとなっているため、第1〜第20の送信バッファメモリ2231〜22320に格納された順にデータは媒体アクセス制御部217へ送られる。
媒体アクセス制御部217の送信処理部222は、受け取ったデータを第1〜第20の物理ポート2161〜21620から送出する。具体的には、図示しないが送信処理部222には各物理ポート216に1つずつ対応した合計20個のFIFOメモリが備えられており、データは対応するFIFOメモリに一旦格納される。そして、一定の速度で巡回する形でそれぞれのFIFOメモリからデータを順に取り出していき、対応する物理ポート216から送出するようになっている。このラウンドロビンによる送出処理は、個々の物理ポート216について1Gbps以上のデータ伝送速度を確保する速度で行われる。また、各FIFOメモリにデータが入力される速度は、前記したように各スロット212のトラフィック制御部214で1Gbps以下となるように調節されている。すなわち、各FIFOメモリでは、データが入力される速度がデータが取り出される速度を上回らないようになっている。
このようにして、レイヤ3スイッチ201は双方向にデータの中継を行うようになっている。オーバサブスクライブのデータ中継装置を実現するには、このように受信データに対するデータ通信速度の制御と送信データに対するラウンドロビンによる送出処理(以下、オーバサブスクライブ処理と総称する。)を行う機能を持たせた媒体アクセス制御部217をスロット単位で設けることが効率的であり、広く採用されている。
以下、第1の通信ケーブル2041に対して双方向に1Gbpsのデータ通信速度を確保するために、受信方向および送信方向における優先制御を行う場合の処理について説明する。
図3は、レイヤ3スイッチの要部をデータが流れる様子およびバックプレッシャ制御部が優先制御を行う様子を模式的に表わしたものである。フォワーディング処理部215と媒体アクセス制御部217の間には、送信データが通過する仮想的な部分としての帯域監視部分224が設けられている。フォワーディング処理部215とトラフィック制御部214の間には、後で説明する帯域増加要求情報が通過する仮想的な部分としての帯域増加要求監視部分225が設けられている。
第1〜第20の物理ポート2161〜21620から媒体アクセス制御部217に送られたデータは、受信処理部221によってフォワーディング処理部215へ転送される。ただし、媒体アクセス制御部217に入力されるデータが10Gbpsを超えている場合には、従来例で説明した優先制御によって、受信処理部221は任意の物理ポート216の受信データを優先させる形でフォワーディング処理部215へ渡すデータのデータ通信速度を10Gbpsのデータ伝送速度に絞るようになっている。
一方、フォワーディング処理部215から媒体アクセス制御部217に入力されたデータは、送信処理部222によって第1〜第20の物理ポート2161〜21620に振り分けられる。このとき、受信処理部221とは異なり、送信処理部222は任意の物理ポート216の優先制御を行うようにはなっておらず、既に説明したように常に公平にラウンドロビンで各物理ポート216に渡すようになっている。このままでは、従来例で説明したように、トラフィックの状況によっては第1の物理ポート2161に1Gbpsのデータ通信速度を確保することができない恐れがある。そこで、バックプレッシャ制御部218が、フォワーディング処理部215から媒体アクセス制御部217へのデータの送出をバックプレッシャ信号231によって制御し、トラフィックの調節を行う。これにより、第1の物理ポート2161に対する1Gbpsのデータ通信速度の確保を実現する。
ここで、媒体アクセス制御部217が出力する従来のバックプレッシャ信号232について説明する。媒体アクセス制御部217は、データを各物理ポート216からその接続先へと送信するが、接続先の各通信機器との間でIEEE(The Institute of Electrical and Electronics Engineers, Inc.)802.3xに規定されたフロー制御を行うようになっている。具体的には、接続先の各通信機器は、受信データを一時的に格納するバッファメモリの空き容量が少なくなると、オーバフローを防ぐためにレイヤ3スイッチ201に自身へのデータの送信を停止させるためのポーズパケットを送る。媒体アクセス制御部217は、このポーズパケットを受け取ると、バックプレッシャ制御部218へ該当する物理ポート216を指定したバックプレッシャ信号232を出力して、フォワーディング処理部215から媒体アクセス制御部217へのデータの入力の一時停止を指示するようになっている。
たとえば、第2の物理ポート2162を介してポーズパケットを受信すると、媒体アクセス制御部217は第2の物理ポート2162を指定したバックプレッシャ信号232を出力する。バックプレッシャ制御部218は、このバックプレッシャ信号232を受け取り、そのままバックプレッシャ信号231としてフォワーディング処理部215へ送るようになっている。フォワーディング処理部215は、このバックプレッシャ信号231が入力されている間、第2の物理ポート2162に対応する第2の送信バッファメモリ2232に格納されたデータの媒体アクセス制御部217への送信を停止する。すると、これに対応して第2の物理ポート2162からのデータの送出も行われないことになる。
次に、バックプレッシャ制御部218が独自に出力するバックプレッシャ信号231について説明する。バックプレッシャ制御部218は、フォワーディング処理部215から媒体アクセス制御部217へのデータの入力を監視する。そして、第1の物理ポート2161に1Gbpsのデータ通信速度が確保されるように、独自のバックプレッシャ信号231をフォワーディング処理部215へ送るようになっている。
バックプレッシャ制御部218は、帯域監視部分224から得られる各物理ポート216についてのデータの帯域消費の状態を示す帯域消費情報233を基に、一定の周期で媒体アクセス制御部217へ入力されたデータのデータ量を、物理ポート216ごとに累積する。そして、それぞれの割り当て帯域に相当する値まで達したかどうかを常に監視する。ここで、帯域消費とはデータ伝送速度がデータの伝送に消費されることを指し、割り当て帯域とはそれぞれの物理ポート216で送出されるデータが媒体アクセス制御部217へと入力される際のデータ通信速度の許容値を指す。いずれかの物理ポート216についてその割り当て帯域に相当する値にデータ量が達した場合には、該当する物理ポート216を指定したバックプレッシャ信号231を出力し、その周期が終了するまで出力し続ける。これにより、第1〜第20の物理ポート2161〜21620で送出されるべきデータは、それぞれの割り当て帯域を超えないデータ通信速度でフォワーディング処理部215から媒体アクセス制御部217へと送られるようになっている。また、それぞれの周期が終わるごとにバックプレッシャ信号231のうち該当する物理ポート216の指定を解除する。
また、第1〜第20の送信バッファメモリ2231〜22320でも、それぞれオーバフローを防ぐために、適宜バックプレッシャ信号234をトラフィック制御部214側へと出力する。すなわち、それぞれの送信バッファメモリ223について、媒体アクセス制御部217側へ送出されるデータ量に比べてトラフィック制御部214側から送られるデータ量が多くなると、これに応じたバックプレッシャ信号234が出力される。
このバックプレッシャ信号234は、トラフィック制御部214によって他の第2〜第nのスロット2122〜212nのそれぞれに設けられた図示しないトラフィック制御部に伝達される。これらの各トラフィック制御部では、自己に設けられた図示しないバッファメモリのうち、このバックプレッシャ信号234に対応するバッファメモリからのデータの取り出しを一時的に停止する。そして、他のバッファメモリからデータを取り出し、スイッチ部213へ送る。このようにして、スイッチ部213からトラフィック制御部214への10Gbpsのデータ伝送速度は、バックプレッシャ信号231によって指定された物理ポート216以外の物理ポート216から送出されるデータの転送に消費される。その結果、各物理ポート216から送出される個々のデータは、それぞれの物理ポート216のデータ伝送速度の範囲内のデータ通信速度で、第1のスロット2121に送られてくることになる。
また、バックプレッシャ制御部218は、バックプレッシャ信号234を、帯域増加要求監視部分225から、各物理ポート216についての割り当て帯域増加の要求の有無を示す帯域増加要求情報235として取得するようになっている。すなわち、バックプレッシャ信号234が指定する送信バッファメモリ223でトラフィック制御部214側からデータが入力される際のデータ通信速度が増加しており、媒体アクセス制御部217側へ出力する際のデータ通信速度をこれに対応して増加させることが要求されていると認識する。
バックプレッシャ制御部218は、どのスロット212のどの物理ポート216にどれだけのデータ通信速度を送信方向で確保させたいかといった設定が行われると、その設定内容に従って送信方向の優先制御を開始する。この設定は、図2の装置本体211に備えられた図示しない入力装置によって行われ、優先ポート情報236として該当するスロット212のバックプレッシャ制御部218に伝達される。優先ポート情報236の生成は、装置本体211に接続されたパーソナルコンピュータ等の図示しない情報通信端末によって行われてもよい。あるいは、バックプレッシャ制御部218に予め設定されていてもよい。
図4は、バックプレッシャ制御部における送信方向の優先制御の処理の流れを表わしたものである。バックプレッシャ制御部218は、第1〜第20の物理ポート2161〜21620のうち特定の物理ポートについてデータ通信速度を優先的に確保することが設定されているかどうかを監視する(ステップS241)。設定されていない場合には(N)、バックプレッシャ制御部218は媒体アクセス制御部217から通常のバックプレッシャ信号232を受け取り、そのままバックプレッシャ信号231としてフォワーディング処理部215へ送る処理のみを行い、優先制御は実行しない。
ここでは、優先ポート情報236によって第1の物理ポート2161に1Gbpsのデータ通信速度を確保することがバックプレッシャ制御部218に設定されたとする(Y)。すると、他の物理ポート216全体に割り当て可能なデータ伝送速度を算出し、更にこれを割り当てる物理ポート216の個数で割ったものを、これらの他の物理ポート216のそれぞれの割り当て帯域の初期値として設定する(ステップS242)。ここでは、第1の物理ポート2161以外の物理ポート216全体に割り当て可能なデータ伝送速度は9Gbpsであり、これを個数19で割るため、第2〜第20の物理ポート2162〜21620の初期の割り当て帯域はそれぞれ約0.47Gbpsとなる。そして、フォワーディング処理部215から媒体アクセス制御部217へと送られるデータの帯域消費の状態の監視およびこれに基づくバックプレッシャ信号231の出力と、それぞれの物理ポート216についての帯域増加の要求の監視を開始する(ステップS243)。
バックプレッシャ制御部218は、第2〜第20の物理ポート2162〜21620の全体に割り当てるデータ伝送速度を効率良く使用するために、このデータ伝送速度の帯域消費が9Gbpsに達していない場合には(ステップS244:N)、各物理ポート216の割り当て帯域の調整を行う。まず、それぞれの物理ポート216の割り当て帯域増加の要求があるかどうかを帯域増加要求情報235を基に監視する(ステップS245)。具体的には、各物理ポート216について、帯域監視部分224を通過するデータ量が割り当て帯域に達している状態で、対応する送信バッファメモリ223を指定したバックプレッシャ信号234が出力されているかどうかを監視する。そして、いずれかの物理ポート216に割り当て帯域増加の要求があった場合には(Y)、第2〜第20の物理ポート2162〜21620の全体に割り当て可能なデータ伝送速度を超えない範囲で、該当する物理ポート216の割り当て帯域を高くし、他の割り当て帯域を低くする(ステップS246)。
たとえば、割り当て帯域が0.47Gbpsである第2の物理ポート2162に対して1Gbpsのデータ通信速度でトラフィック制御部214側からデータが送られてきたとし、他の第3〜第20の物理ポート2163〜21620ではほとんどデータの送信が行われていないとする。すると、第2の送信バッファメモリ2232はそのままの割り当て帯域ではオーバフローしてしまうため、第2の送信バッファメモリ2232を指定したバックプレッシャ信号234が出力される。すると、バックプレッシャ制御部218は帯域増加要求情報235としてこれを検知し、第2の物理ポート2162への割り当て帯域を増加させる。この場合、8Gbpsを個数18で割った約0.44Gbpsを第3〜第20の物理ポート2163〜21620のそれぞれに対する割り当て帯域とすれば、9Gbpsのデータ伝送速度を超えない範囲で、第2の物理ポート2162に1Gbpsを割り当てることができる。そして、調整が完了すると、ステップS244へ戻ってデータ伝送速度の消費が9Gbpsに達するまで送信要求の監視と割り当て帯域の調整を繰り返す。また、割り当て帯域増加の要求が無い場合にも(ステップS245:N)、ステップS244へ戻る。
第2〜第20の物理ポート2162〜21620の全体に割り当てるデータ伝送速度の消費が9Gbpsに達すると(ステップS244:Y)、バックプレッシャ制御部218は各物理ポート216へ割り当て帯域を固定する(ステップS247)。これは、いずれの物理ポート216についても割り当て帯域を低くすることができず、これ以上割り当て帯域の調整を行うことが難しいためである。そして、適宜バックプレッシャ信号231を出力し、それぞれに割り当て帯域を超えてフォワーディング処理部215から媒体アクセス制御部217へとデータが送信されないように制御を継続する。そして、図2の装置本体211に備えられた図示しない入力装置によって各物理ポートへの割り当て帯域の初期化が指示された場合には(ステップS248:Y)、データの帯域消費の状態の監視およびこれに基づくバックプレッシャ信号の出力と、それぞれの物理ポート216についての割り当て帯域増加の要求の監視を終了する(ステップS249)。そして、再び特定の物理ポート216に対するデータ通信速度の確保が設定されたか否かの監視を開始する(リターン)。なお、時間と共にデータ伝送速度の消費が減少していく物理ポート216が存在しているような場合には、帯域割り当てを固定せず、帯域消費情報233を基に更に動的に調節を行っていくようにしてもよい。具体的には、データの帯域消費の状態を監視する際に、たとえば割り当て帯域の50パーセントに達しない状態が所定時間だけ継続するか否かをも物理ポート216ごとに監視するようにする。そして、50パーセントに達しない状態が所定時間だけ継続した場合には、該当する物理ポート216への割り当て帯域を半減させ、余った割り当て帯域を他の物理ポート216に分散させて割り当てるようにすればよい。
図5は、第1のスロットの送信方向のデータ伝送速度の状態を示したものである。図3に示したバックプレッシャ制御部218による制御の結果、10Gbpsである送信データ全体のデータ伝送速度251のうち、第1の物理ポート2161に接続された第1の通信ケーブル2041のデータ伝送速度に等しい1Gbpsが、第1の物理ポート2161のデータ伝送速度252として割り当てられることになる。すなわち、第1の物理ポート2161には1Gbpsのデータ通信速度が確保されることになる。そして、第2〜第20の物理ポート2162〜21620の全体のデータ伝送速度253には残りの9Gbpsが割り当てられ、割り当て帯域が固定されていない状態でそれぞれの物理ポート216に割り当てられるデータ伝送速度は最も低いレートで約0.47Gbpsとなる。
ところで、図2のレイヤ3スイッチ201の第1〜第nのスロット2121〜212nがそれぞれ外部から受信したデータのうち第1のスロット2121の物理ポート216から送出すべきものが、スイッチ部213によって第1のスロット2121へと転送されてくる。このとき、トラフィック制御部214は、既に説明したように、適宜バックプレッシャ信号234を他のスロット212のトラフィック制御部に送ることによってトラフィックを制御するようになっている。そこで、トラフィック制御部214で第1の物理ポート2161から送出すべきデータを優先させた制御を行わせることによって、第1の物理ポート2161に1Gbpsのデータ通信速度を確保させることが考えられる。
しかしながら、トラフィック制御部214は媒体アクセス制御部217のオーバサブスクライブ処理に直接関与しないため、通常は各スロット212のトラフィック制御部214は共通した構成を有する装置部として生産されている。すなわち、トラフィック制御部214に送信方向の優先制御機能を持たせると、オーバサブスクライブのスロット212とオーバサブスクライブではないスロット212とで異なる構成のトラフィック制御部214を設けることになり、生産コストが増大してしまう。また、トラフィック制御部214では通常、物理ポートとは直接に関係しない個々のデータの属性に対応した別の優先制御が行われており、更に物理ポート単位での優先制御を行うようにすると構成がより複雑化し、更なる生産コストの増大を招いてしまう。したがって、トラフィック制御部214が直接関与せずに送信方向の優先制御を実現できることが望ましい。
別の案として、媒体アクセス制御部217がFIFOメモリからデータを取り出す処理に、公平なラウンドロビンではなく第1の物理ポート2161からより多くデータを取り出すように重み付けした重み付きラウンドロビンを適用することも考えられる。しかしながら、通常のラウンドロビンを適用する場合に比べて装置が複雑化し、やはり生産コストの増大を招いてしまう。また、優先させる物理ポートを変更したり確保させるデータ通信速度を増減させるといった柔軟な優先制御を実現させることが難しい。
したがって、本実施例のレイヤ3スイッチ201のようにバックプレッシャ制御部218を設けて送信方向の優先制御を実現させることは、コストや制御の柔軟性の面において効果的である。
以上説明したように、本実施例のデータ中継装置によれば、オーバサブスクライブ処理を行う媒体アクセス制御部を備えているため、ポート密度を上げることができ、装置の小型化やコストパフォーマンスの向上が可能である。
また、バックプレッシャ制御部が媒体アクセス制御部とフォワーディング処理部との間のバックプレッシャ信号を制御することにより、送信方向の優先制御を行うことができる。したがって、たとえばサーバ等のアップストリーム側となる通信ケーブルが接続されているような定常的に多くのデータを送出することが想定される物理ポートに、そのデータ伝送速度の範囲内で所定のデータ通信速度を確保することが可能となる。また、この優先制御は媒体アクセス制御部からフォワーディング処理部へのバックプレッシャ制御を利用し、トラフィック制御部を使用しないため、より簡易に実現することができる。すなわち、トラフィック制御部はオーバサブスクライブ処理における優先制御に係わる必要がなく、従来のデータ中継装置の構成に媒体アクセス制御部の変更とバックプレッシャ制御部の追加を行うのみで送信方向の優先制御を実現することができる。
<本発明の変形例>
送信方向の優先制御を実現するバックプレッシャ信号を制御する機能は、実施例ではバックプレッシャ制御部に持たせるようにしていたが、このバックプレッシャ制御部の機能を媒体アクセス制御部に搭載させるようにすることも可能である。
図6は、本発明の変形例によるデータ中継装置としてのレイヤ3スイッチの構成を表わしたものであり、実施例の図2と対応するものである。図2と同一部分には同一の符号を付しており、これらについての説明を適宜省略する。レイヤ3スイッチ301は、装置本体211と、これに装着された第1〜第nのスロット3121〜312nにより構成されており、装置本体211には、これらのスロット312間のデータの転送を行うスイッチ部213が備えられている。第1のスロット3121には、トラフィック制御部214と、フォワーディング処理部215と、第1〜第20の物理ポート2161〜21620が接続された媒体アクセス制御部317とが備えられている。図2とは異なり、実施例の図2のバックプレッシャ制御部218と同様の処理を行うバックプレッシャ制御処理部318が、媒体アクセス制御部317内部の機能部として設けられている。そして、接続先からのフローコントロールによるバックプレッシャと優先制御によるバックプレッシャとを、共通のバックプレッシャ信号として出力してフォワーディング処理部215に送るようになっている。このように媒体アクセス制御部317に送信方向の優先制御の機能を持たせることで、バックプレッシャ制御部の設置が不要となり、低コスト化が可能となる。
なお、各スロットに接続される通信ケーブルで適用される通信は、以上説明した実施例および変形例に記載した内容の他に10Gbpsが2本や、10Gbpsが1本と1Gbpsが10本等、他の組み合わせとしてもよい。また、各スロットのポート合計速度や、優先させる任意の物理ポートの回線帯域や本数、スロットの数は実施例および変形例に記載された内容に限定されるものではなく、オーバサブスクライブ処理を行う媒体アクセス制御部に複数の物理ポートが接続されている他の場合にも適用可能であることは勿論である。
また、実施例および変形例では、媒体アクセス制御部からフォワーディング処理部へのバックプレッシャ信号を制御して媒体アクセス制御部へ入力されるデータを調整することにより送信方向の優先制御を行うとしたが、他の手法を用いて媒体アクセス制御部へ入力されるデータを調整するようにしてもよい。たとえば、フォワーディング処理部が一定周期ごとに優先させない物理ポートから送出すべきデータの送信を強制的に停止したり、フォワーディング処理部で優先させない物理ポートから送出すべきデータの送信を停止するか否かの判定を行うようにすればよい。また、1つの物理ポートではなく、複数の物理ポートについてこれら全体に所定のデータ通信速度を確保するようにしたり、これらの複数の物理ポートの中で更にデータ通信速度を制御するというように優先制御を階層化させてもよい。