JP5104508B2 - 中継装置およびパケット中継方法 - Google Patents

中継装置およびパケット中継方法 Download PDF

Info

Publication number
JP5104508B2
JP5104508B2 JP2008107177A JP2008107177A JP5104508B2 JP 5104508 B2 JP5104508 B2 JP 5104508B2 JP 2008107177 A JP2008107177 A JP 2008107177A JP 2008107177 A JP2008107177 A JP 2008107177A JP 5104508 B2 JP5104508 B2 JP 5104508B2
Authority
JP
Japan
Prior art keywords
packet
queue
priority
storage
storage unit
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.)
Active
Application number
JP2008107177A
Other languages
English (en)
Other versions
JP2009260654A (ja
Inventor
幸洋 中川
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2008107177A priority Critical patent/JP5104508B2/ja
Priority to EP08172560.8A priority patent/EP2111002B1/en
Priority to US12/340,982 priority patent/US8588239B2/en
Publication of JP2009260654A publication Critical patent/JP2009260654A/ja
Application granted granted Critical
Publication of JP5104508B2 publication Critical patent/JP5104508B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4641Virtual LANs, VLANs, e.g. virtual private networks [VPN]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/12Avoiding congestion; Recovering from congestion
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/2425Traffic characterised by specific attributes, e.g. priority or QoS for supporting services specification, e.g. SLA
    • H04L47/2433Allocation of priorities to traffic types
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/2441Traffic characterised by specific attributes, e.g. priority or QoS relying on flow classification, e.g. using integrated services [IntServ]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/29Flow control; Congestion control using a combination of thresholds
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/30Flow control; Congestion control in combination with information about buffer occupancy at either end or at transit nodes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/32Flow control; Congestion control by discarding or delaying data units, e.g. packets or frames

Landscapes

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

Description

本発明は、所定の仮想ネットワークに属する装置から受信したパケットを他の装置へ中継する中継装置およびパケット中継方法に関する。
近年、スイッチやルータなどのパケットを中継する中継装置には、QoS(Quality of Service)と呼ばれる通信の品質を確保するための機能を有するものがある。通信の品質を確保するための機能としては、各ユーザと契約した最低帯域幅を保証したデータ伝送を実現する帯域制御や、パケットに設定されている優先度が高い順番にパケットを中継する優先制御や、ネットワークの負荷状況に応じて転送速度を制御する輻輳制御などがある。
かかる中で、輻輳制御では、パケットに設定されている優先度ごとに、パケット受信量が所定の閾値以上であるか否かを判定し、パケット受信量が所定の閾値に達した場合(輻輳時)に、その後に受信するパケットを廃棄することが行われる。
特開2004−166080号公報 特開平11−112544号公報
ところで、近年では、物理ネットワーク内に仮想的なネットワークを形成するVLAN(Virtual Local Area Network)が普及しつつあり、VLANを提供する通信事業者やVLANを利用するユーザから、仮想ネットワークごとに輻輳制御を行いたいという要望がある。
しかしながら、上記従来技術では、優先度ごとに輻輳制御を行うことができるものの、仮想ネットワークごとに輻輳制御を行うことができないという問題があった。具体的には、従来の中継装置では、所定の優先度が設定されているパケットの受信量が閾値を超えた場合、その後、どの仮想ネットワークに属する装置から送信されるパケットであっても、かかる優先度が設定されているパケットを廃棄する。このため、従来の中継装置による輻輳制御は、仮想ネットワークが異なる点は考慮されていなかった。
開示の技術は、上述した従来技術による問題点を解消するためになされたものであり、仮想ネットワークごとに輻輳制御を行うことができる中継装置およびパケット中継方法を提供することを目的とする。
上述した課題を解決し、目的を達成するために、本願に開示する中継装置は、所定の仮想ネットワークに属する装置からパケットを受信して、他の装置へ中継する中継装置であって、パケットを中継する優先順位を示す優先度と仮想ネットワークを識別するためのVLAN番号との組合せに対応付けて設けられた複数のキューと、優先度とVLAN番号との組合せに対応付けて、前記キューを識別するためのキュー番号を記憶するキュー番号記憶手段と、優先度に対応付けて、該優先度に対応する複数のキューに蓄積されているパケット蓄積量の総和である総パケット蓄積量を記憶する蓄積量記憶手段と、キュー番号に対応付けて、総パケット蓄積量の閾値を記憶する閾値記憶手段と、パケットを受信した場合に、該パケットに設定されているVLAN番号と優先度との組合せに対応付けて前記キュー番号記憶手段に記憶されているキュー番号が示すキューに、該パケットを格納させることを決定する格納先キュー決定手段と、前記パケットに設定されている優先度に対応付けて前記蓄積量記憶手段に記憶されている総パケット蓄積量と、前記格納先キュー決定手段によって決定されたキューである格納先キューを示すキュー番号に対応付けて前記閾値記憶手段に記憶されている閾値とに基づいて、前記パケットを廃棄する輻輳制御手段と、を備えたことを要件とする。
なお、本願に開示する中継装置の構成要素、表現または構成要素の任意の組合せを、方法、装置、システム、コンピュータプログラム、記録媒体、データ構造などに適用したものも、他の態様として有効である。
本願に開示した中継装置によれば、仮想ネットワークごとに輻輳制御を行うことができるという効果を奏する。
以下に、本願に開示する中継装置およびパケット中継方法の実施例を図面に基づいて詳細に説明する。なお、以下の実施例では、本願に開示する中継装置およびパケット中継方法をスイッチに適用した例について説明するが、本願に開示する中継装置およびパケット中継方法は、ルータ等の他の中継装置に適用することも可能である。
まず、実施例1に係るスイッチの概要について説明する。図1は、実施例1に係るスイッチの概要を説明するための図である。同図に示すように、実施例1に係るスイッチ10は、蓄積量記憶部157、閾値記憶部158、キュー群150−0等を有する。
蓄積量記憶部157は、優先度に対応付けて、かかる優先度に対応するキュー群150−0等が有するすべてのキュー151−0等に蓄積されているパケットのサイズの総和を記憶する。例えば、蓄積量記憶部157は、優先度「0」に対応付けて、キュー151−0〜154−0に蓄積されているパケットのサイズの総和(以下、「総パケット蓄積量」という)を記憶し、優先度「1」に対応付けて、キュー151−1〜154−1に蓄積されているパケットのサイズの総和を記憶する。閾値記憶部158は、各々のキュー151−0等ごとに、総パケット蓄積量の閾値を記憶する。
キュー群150−0等は、パケットに設定される優先度ごとに、スイッチ10に設けられる。同図に例示したスイッチ10は、受信するパケットに設定される優先度の範囲が「0」〜「7」であるものとして、8個のキュー群150−0〜150−7を有するものとする。なお、同図に示したキュー群150−0は、優先度「0」に対応し、キュー群150−1は、優先度「1」に対応する。
各々のキュー群150−0等は、複数のキューを有する。同図に示した例では、キュー群150−0は、4個のキュー151−0〜154−0を有し、キュー群150−1は、4個のキュー151−1〜154−1を有する。
なお、実施例1に係るスイッチ10は、パケットを受信した場合に、かかるパケットを所定の記憶部(後述するストリームメモリ16)に記憶させる。また、スイッチ10は、ストリームメモリ16に記憶されているパケットを他の装置へ中継する旨の命令(以下、「中継処理命令」という)をキュー151−0等に格納する。ただし、図1を用いた説明では、説明を簡単にするために、スイッチ10は、パケットをキュー151−0等に格納するものとする。
このような構成の下、スイッチ10は、パケットを受信した場合に、かかるパケットに設定されているVLAN番号および優先度と、所定の記憶部(後述するキュー番号記憶部173)に記憶されている各種情報とに基づいて、受信したパケットを格納するキューを決定する。以下、スイッチ10によって決定されたパケットの格納先のキューを「格納先キュー」と呼ぶこととする。
続いて、スイッチ10は、蓄積量記憶部157から、受信したパケットに設定されている優先度に対応付けて記憶されている総パケット蓄積量を取得する。また、スイッチ10は、閾値記憶部158から、受信したパケットの格納先キューに対応付けて記憶されている閾値を取得する。続いて、スイッチ10は、取得した総パケット蓄積量と、閾値とを比較する。総パケット蓄積量が閾値よりも小さい場合、スイッチ10は、受信したパケットを格納先キューに格納するとともに、パケットに設定されている優先度に対応付けて蓄積量記憶部157に記憶されている総パケット蓄積量を、格納するパケットのサイズ分だけ加算する。一方、総パケット蓄積量が閾値以上である場合、スイッチ10は、受信したパケットを廃棄する。
かかるスイッチ10による処理について、図1に示した例を用いて説明する。同図において、パケットP11〜P13は、VLAN番号に「A」が設定されており、優先度に「0」が設定されているものとする。また、パケットP21〜P23は、VLAN番号に「B」が設定されており、優先度に「0」が設定されているものとする。また、閾値記憶部158に記憶されているキュー151−0の閾値が「100」であり、キュー152−0の閾値が「200」であるものとする。また、パケットP11等を受信する前における蓄積量記憶部157の各総パケット蓄積量には、閾値記憶部158に記憶されている閾値よりも小さい値が記憶されているものとする。また、スイッチ10は、上述したパケットを、パケットP11、P12、P13、P21、P22、P23の順に受信するものとする。
かかる場合に、スイッチ10は、パケットP11を受信すると、パケットP11を、優先度「0」に対応するキュー群150−0内のキュー151−0に格納するとともに、蓄積量記憶部157に記憶されている優先度「0」の総パケット蓄積量を、パケットP11のサイズ分だけ加算する。続いて、スイッチ10は、パケットP12を受信した場合に、パケットP12をキュー151−0に格納するとともに、蓄積量記憶部157に記憶されている優先度「0」の総パケット蓄積量を、パケットP12のサイズ分だけ加算する。
このとき、蓄積量記憶部157に記憶されている優先度「0」の総パケット蓄積量が「110」になり、閾値記憶部158に記憶されているキュー151−0の閾値「100」を超えたものとする。かかる場合、スイッチ10は、その後にパケットP13を受信すると、パケットP13を廃棄する。
続いて、スイッチ10は、パケットP21を受信した場合、優先度「0」の総パケット蓄積量「110」が、キュー152−0の閾値「200」以上ではないため、パケットP21をキュー152−0に格納するとともに、蓄積量記憶部157を更新する。同様に、スイッチ10は、パケットP22およびP23を受信した場合に、優先度「0」の総パケット蓄積量「110」が、キュー152−0の閾値「200」以上にならない限り、パケットP22およびP23をキュー152−0に格納するとともに、蓄積量記憶部157を更新する。
また、同図に示した例において、パケットP31〜P33は、VLAN番号に「A」が設定されており、優先度に「1」が設定されているものとする。また、パケットP41〜P43は、VLAN番号に「B」が設定されており、優先度に「1」が設定されているものとする。また、閾値記憶部158に記憶されているキュー151−1の閾値が「200」であり、キュー152−1の閾値が「300」であるものとする。また、スイッチ10は、上述したパケットを、パケットP31、P32、P33、P41、P42、P43の順に受信するものとする。
かかる場合に、スイッチ10は、パケットP31を受信すると、パケットP31をキュー151−1に格納するとともに、蓄積量記憶部157に記憶されている優先度「1」の総パケット蓄積量を、パケットP31のサイズ分だけ加算する。このとき、蓄積量記憶部157に記憶されている優先度「1」の総パケット蓄積量が「210」になり、閾値記憶部158に記憶されているキュー151−1の閾値「200」以上になったとする。かかる場合、スイッチ10は、その後にパケットP32を受信すると、パケットP32を廃棄する。
ここで、パケットP33を受信する前に、スイッチ10が、キュー151−1に蓄積されているパケットを他の装置へ送信したために、蓄積量記憶部157に記憶されている優先度「1」の総パケット蓄積量が「190」になったとする。すなわち、優先度「1」の総パケット蓄積量が、キュー151−1の閾値「200」よりも小さくなったとする。かかる場合、スイッチ10は、その後にパケットP33を受信すると、優先度「1」の総パケット蓄積量「190」が、キュー152−0の閾値「200」以上ではないため、パケットP33をキュー151−1に格納するとともに、蓄積量記憶部157を更新する。
続いて、スイッチ10は、パケットP41およびパケットP42を受信して、パケットP41およびパケットP42をキュー152−1に格納するとともに、蓄積量記憶部157を更新する。このとき、蓄積量記憶部157に記憶されている優先度「1」の総パケット蓄積量が「310」になり、閾値記憶部158に記憶されているキュー152−1の閾値「300」以上になったとする。かかる場合、スイッチ10は、その後にパケットP43を受信すると、パケットP43を廃棄する。
このように、実施例1に係るスイッチ10は、優先度とVLAN番号との組合せに対応付けて設けられた複数のキューと、同一の優先度に対応付けられたキューに蓄積されているパケットのサイズの総和を記憶する蓄積量記憶部157と、キューごとにパケット蓄積量の閾値を記憶する閾値記憶部158とを有し、パケットを受信した場合に、かかるパケットに設定されている優先度に対応付けて蓄積量記憶部157に記憶されている総パケット蓄積量と、パケットの格納先キューに対応付けて閾値記憶部158に記憶されている閾値とに基づいて、パケットを廃棄するか否かを決定するので、仮想ネットワークごとに輻輳制御を行うことができる。
なお、上記では、VLAN番号が異なるパケットを異なるキューに格納する例について説明したが、VLAN番号が異なるパケットを同一のキューに格納するようにしてもよい。例えば、スイッチ10は、VLAN番号に「A」〜「C」が設定されているパケットをキュー151−0に格納し、VLAN番号「D」〜「F」をキュー151−1に格納するようにしてもよい。
これにより、いくつかの仮想ネットワークを1つの仮想ネットワークグループとして扱うことができ、仮想ネットワークグループごとに輻輳制御を行うことができる。例えば、同種の業務に用いられている複数の仮想ネットワークを、1つの仮想ネットワークグループとして輻輳制御を行うことができる。また、VLANの数が多数存在するようなネットワークであっても、VLANの数と同一のキューを設ける必要がなくなるので、スイッチ10の構成を簡易にすることができる。
また、パケットが流通する時間帯が異なり、かつ、パケット蓄積量の閾値が同一である複数の仮想ネットワークを、1つの仮想ネットワークグループにすることで、資源(キュー)を有効に利用することができる。具体的には、互いにパケット蓄積量の閾値が同一であり、かつ、午前のみパケットが流通する仮想ネットワークAと、午後のみパケットが流通する仮想ネットワークBとが存在する場合、仮想ネットワークAおよびBを1つの仮想ネットワークグループにする。これにより、所定のキューを、午前は仮想ネットワークA上のパケットを中継処理する際に用い、午後は仮想ネットワークB上のパケットを中継処理する際に用いることができ、その結果、キューが使用されない時間が減少するので、資源(キュー)を有効に利用することができる。なお、VLAN番号が異なるパケットを同一のキューに格納することは、後述するキュー番号記憶部173に記憶されている各種情報を変更することで実現できる。
次に、実施例1に係るスイッチ10が適用されるネットワークについて説明する。図2は、実施例1に係るスイッチ10が適用されるネットワークの構成例を示す図である。同図に示すように、ネットワーク1は、サーバシステム2A〜2Cと、記憶システム3A〜3Cと、スイッチ10A〜10Fを含むスイッチ群4と、ネットワークシステム5と、ルーティングシステム6とを有する。なお、ネットワーク1は、複数の仮想ネットワーク(VLAN)が形成されているものとする。
サーバシステム2A〜2Cは、ホストコンピュータ等の情報処理装置であり、スイッチ10A〜10Fのいずれかに接続されている。記憶システム3A〜3Cは、ストレージ装置等のデータ入出力装置であり、スイッチ10A〜10Fのいずれかに接続されている。ネットワークシステム5は、ネットワーク1の保守や監視を行うための装置であり、スイッチ10Eに接続されている。ルーティングシステム6は、ネットワーク1と、他のネットワークとの間でデータの中継処理を行うための装置であり、スイッチ10Fに接続されている。
スイッチ10A〜10Fは、データの中継処理を行う中継装置であり、自装置以外の他のスイッチ10A〜10Fや、サーバシステム2A〜2C等と接続されている。スイッチ10A〜10Fは、仮想ネットワークが形成されているネットワーク1内において、パケットにVLANタグを挿入または削除して中継処理を行う。
なお、図2に示したネットワーク1の構成はあくまで一例であり、実施例1に係るスイッチ10A〜10Fが適用されるネットワークの構成例は、同図に示したネットワークの構成に限られない。例えば、同図に示したネットワーク1では、3台のサーバシステム2A〜2Cと、3台の記憶システム3A〜3Cと、6台のスイッチ10A〜10Fと、1台のネットワークシステム5と、1台のルーティングシステム6を有する例を示したが、各々の装置の台数は、同図に示した例に限られない。
次に、実施例1に係るスイッチ10の構成について説明する。図3は、実施例1に係るスイッチ10の構成を示すブロック図である。なお、図3に示したスイッチ10は、図2に示したスイッチ10A〜10Fに対応する。図3に示すように、スイッチ10は、受信ポート11a〜11cと、送信ポート12a〜12cと、スイッチコア13とを有する。
受信ポート11a〜11cは、所定の装置(例えば、サーバシステム2A〜2Cや、他のスイッチ)からパケットを受信するインタフェースである。各々の受信ポート11a〜11cは、所定の仮想ネットワークに属する装置からパケットを受信する。例えば、受信ポート11aは、仮想ネットワークA〜Eに属する装置からのみパケットを受信したり、受信ポート11bは、仮想ネットワークF〜Jに属する装置からのみパケットを受信したりする。
送信ポート12a〜12cは、受信ポート11a〜11cによって受信されたパケットを他の装置へ送信するインタフェースである。各々の送信ポート12a〜12cは、所定の仮想ネットワークに属する装置に対してパケットを送信する。例えば、送信ポート12aは、仮想ネットワークA〜Eに属する装置に対してのみパケットを送信したり、送信ポート12bは、仮想ネットワークF〜Jに属する装置に対してのみパケットを送信したりする。
なお、図3に示した例では、スイッチ10が、3個の受信ポート11a〜11cと、3個の送信ポート12a〜12cとを有する例を示したが、スイッチ10は、2個以下の受信ポートおよび送信ポートを有してもよいし、4個以上の受信ポートおよび送信ポートを有してもよい。
スイッチコア13は、データの中継処理を担う機能部であり、受信ポートモジュール14a〜14cを含むポートモジュール群14と、送信ポートモジュール15a〜15cを含むポートモジュール群15と、ストリームメモリ16と、記憶部17と、制御部18とを有する。
受信ポートモジュール14a〜14cは、受信ポート11a〜11cごとに設けられるモジュールであり、受信ポート11a〜11cからパケットを入力された場合に、かかるパケットをストリームメモリ16に書き込むとともに、パケットのヘッダ情報を、制御部18へ出力する。ここでいう「ヘッダ情報」とは、例えば、DA(Destination Address:宛先MAC(Media Access Control)アドレス)や、SA(Source Address:送信元MACアドレス)、VLAN番号、優先度などを示す。
なお、同図では、受信ポートモジュール14aが受信ポート11aに対応し、受信ポートモジュール14bが受信ポート11bに対応し、受信ポートモジュール14cが受信ポート11cに対応する例を示している。すなわち、受信ポートモジュール14aは、受信ポート11aによって受信されたパケットについて上述した処理を行うことになる。
送信ポートモジュール15a〜15cは、送信ポート12a〜12cごとに設けられるモジュールであり、ストリームメモリ16に格納されているパケットを読み出して送信ポート12a〜12cに出力する。具体的には、送信ポートモジュール15a〜15cは、中継処理命令を格納するためのキューを複数有し、かかる中継処理命令に従って、ストリームメモリ16に格納されているパケットを、送信ポート12a〜12cを介して他の装置へ送信する。送信ポートモジュール15a〜15cの構成については、後に詳述する。
なお、同図では、送信ポートモジュール15aが送信ポート12aに対応し、送信ポートモジュール15bが送信ポート12bに対応し、送信ポートモジュール15cが送信ポート12cに対応する例を示している。すなわち、送信ポートモジュール15aは、送信ポート12aに対してパケットを出力することになる。
ストリームメモリ16は、メモリ等の記憶デバイスであり、受信ポートモジュール14a〜14cによって書き込まれたパケットを記憶する。ストリームメモリ16は、記憶領域を所定のサイズの論理ブロックに分割して、論理ブロック単位にデータを記憶する。例えば、ストリームメモリ16は、パケットのサイズが、1つの論理ブロックのサイズ以下である場合、かかるパケットを1つの論理ブロックに記憶する。一方、パケットのサイズが、1つの論理ブロックのサイズより大きい場合、ストリームメモリ16は、かかるパケットを複数の論理ブロックに分割して記憶する。
記憶部17は、メモリ等の記憶デバイスであり、タグメモリ171と、方路記憶部172と、キュー番号記憶部173とを有する。タグメモリ171は、ストリームメモリ16の論理ブロックを管理するための各種情報を記憶する。
具体的には、タグメモリ171は、論理ブロックを識別するための論理ブロック番号を記憶する。また、タグメモリ171は、論理ブロック間の関係性を示す情報(以下、「リンク情報」という)を記憶する。ここで、タグメモリ171が記憶するリンク情報について例を挙げて説明する。例えば、1つのパケットP101が3個の論理ブロックR1〜R3に分割されて記憶されているとする。かかる場合、タグメモリ171は、パケットP101が論理ブロックR1〜R3に記憶されていることを示すリンク情報を記憶する。また、例えば、1つのデータが9個のパケットP201〜P209に分割されており、かかるパケットP201〜P209が複数の論理ブロックR11〜R30に格納されているとする。かかる場合、タグメモリ171は、パケットP11〜P19が論理ブロックR11〜R30に格納されていることを示すリンク情報を記憶する。
方路記憶部172は、パケットに設定されているDAに対応付けて、かかるパケットの出力先の送信ポートを識別するための番号(以下、受信ポート11a〜11cおよび送信ポート12a〜12cを識別するための番号を「ポート番号」という)を記憶する。方路記憶部172の一例を図4に示す。同図に示すように、方路記憶部172は、MACアドレス、ポート番号といった項目を有する。MACアドレスは、パケットに設定されているDAを示す。ポート番号は、対応するMACアドレスがDAに設定されているパケットの出力先の送信ポート12a〜12cのポート番号を示す。なお、以下では、図3に示した受信ポート11a〜11cおよび送信ポート12a〜12cに付した参照符号「11a」〜「11c」および「12a」〜「12c」をポート番号とする。
すなわち、図4に示した方路記憶部172の1行目は、DAに「00:01:02:03:04:05」が設定されているパケットが、ポート番号「12a」が示す送信ポート12aに出力されることを示している。また、図4に示した方路記憶部172の2行目は、DAに「00:01:02:03:04:06」が設定されているパケットが、ポート番号「12b」が示す送信ポート12bに出力されることを示している。
キュー番号記憶部173は、VLAN番号に対応付けて、優先度ごとに、中継処理命令を格納するキューを識別するためのキュー番号(以下、「QID:queue ID」という)を記憶する。キュー番号記憶部173の一例を図5に示す。同図に示すように、キュー番号記憶部173は、VLAN番号、優先度、メンバポート番号、QID、指定閾値といった項目を有する。
VLAN番号は、仮想ネットワークを識別するための番号を示す。メンバポート番号は、VLAN番号が示す仮想ネットワーク上で流通するパケットを受信または送信する受信ポート11a〜11cおよび送信ポート12a〜12cのポート番号を示す。QIDは、対応するVLAN番号および優先度が設定されているパケットに基づいて生成された中継処理命令の格納先キューのQIDを示す。指定閾値は、スイッチ10が受信可能なパケットサイズの閾値を示し、閾値の具体的な値は、後述する閾値記憶部158が記憶する。
すなわち、図5に示したキュー番号記憶部173の1〜8行目は、VLAN番号「1」が示す仮想ネットワーク上で流通するパケットを受信するポートが、受信ポート11aであり、流通するパケットを送信するポートが、送信ポート12aまたは送信ポート12bであることを示している。また、図5に示したキュー番号記憶部173の1行目は、VLAN番号「1」かつ優先度「0」である中継処理命令が、QID「0」が示すキューに格納されることを示している。
制御部18は、スイッチコア13を全体制御する制御部であり、リンク情報取得部181と、方路決定部182と、格納先キュー決定部183と、パケット廃棄部184とを有する。リンク情報取得部181は、ポートモジュール群14からヘッダ情報を入力された場合に、タグメモリ171から、かかるヘッダ情報を有するパケットのリンク情報を取得して、取得したリンク情報を格納先キュー決定部183へ出力する処理部である。
方路決定部182は、方路記憶部172に記憶されている各種情報に基づいて、受信したパケットを送信する送信ポートを決定する処理部である。具体的には、方路決定部182は、ポートモジュール群14からヘッダ情報を入力された場合に、方路記憶部172から、ヘッダ情報に設定されているDAに対応付けて記憶されているポート番号を取得する。そして、方路決定部182は、取得したポート番号が示す送信ポート12a〜12cのいずれかに、かかるヘッダ情報を有するパケットを出力することを決定する。
例えば、方路記憶部172が図4に示した状態であり、方路決定部182が、DAに「00:01:02:03:04:05」が設定されているヘッダ情報H1を、ポートモジュール群14から入力されたものとする。かかる場合、方路決定部182は、方路記憶部172からポート番号「12a」を取得する。そして、方路決定部182は、取得したポート番号「12a」が示す送信ポート12aに、ヘッダ情報H1を有するパケットを出力することを決定する。
格納先キュー決定部183は、キュー番号記憶部173に記憶されている各種情報に基づいて、中継処理命令を生成するとともに、生成した中継処理命令の格納先キューを決定する処理部である。
具体的には、格納先キュー決定部183は、ポートモジュール群14からヘッダ情報を入力された場合に、キュー番号記憶部173から、かかるヘッダ情報に設定されているVLAN番号と優先度との組合せに対応付けて記憶されているQIDおよび指定閾値を取得する。取得されたQIDが示すキューが、ヘッダ情報を有するパケットの格納先キューとなる。
続いて、格納先キュー決定部183は、入力されたヘッダ情報と、かかるヘッダ情報を有するパケットが記憶されているストリームメモリ16上の論理ブロックを示す論理ブロック番号や、キュー番号記憶部173から取得したQIDおよび指定閾値、リンク情報取得部181から入力されたリンク情報などを含む中継処理命令を生成する。なお、格納先キュー決定部183は、中継処理命令にパケットのサイズなどを含めてもよい。続いて、格納先キュー決定部183は、方路決定部182によって決定された送信ポート12a〜12cのいずれかに対応する送信ポートモジュール15a〜15cに、生成した中継処理命令を出力する。
例えば、方路記憶部172が図4に示した状態であり、キュー番号記憶部173が図5に示した状態であるものとする。また、制御部18は、ポートモジュール群14から、DA「00:01:02:03:04:06」、VLAN番号「2」、かつ、優先度「7」が設定されているヘッダ情報H2を入力されたものとする。かかる場合、方路決定部182は、ヘッダ情報H2を有するパケットを送信ポート12bに出力することを決定する。続いて、格納先キュー決定部183は、VLAN番号「2」と優先度「7」との組合せに対応付けてキュー番号記憶部173に記憶されているQID「3」および指定閾値「TH7」を取得する。続いて、格納先キュー決定部183は、QID「3」および指定閾値「TH7」を含む中継処理命令を生成する。続いて、格納先キュー決定部183は、生成した中継処理命令を、方路決定部182によって決定された送信ポート12bに対応する送信ポートモジュール15bに出力する。
パケット廃棄部184は、後述する輻輳制御部159から、中継処理命令を廃棄した旨の情報(以下、「廃棄情報」という)を入力された場合に、かかる中継処理命令に含まれる論理ブロック番号が示す論理ブロックに記憶されているパケットを、ストリームメモリ16から廃棄する処理部である。なお、輻輳制御部159による廃棄情報出力処理については、後に詳述する。
ここで、ストリームメモリ16に記憶されているパケットを廃棄する手法の一例を説明する。例えば、パケット廃棄部184は、受信ポートモジュール14a〜14cのいずれかに対して、廃棄対象のパケットをストリームメモリ16から読み出させる。ストリームメモリ16は、記憶されている情報が読み出されると削除されるため、受信ポートモジュール14a〜14cによって読み出されることで、パケットが廃棄されることになる。
次に、図3に示した送信ポートモジュール15a〜15cの構成について説明する。図6は、図3に示した送信ポートモジュール15a〜15cの構成を示すブロック図である。なお、送信ポートモジュール15a〜15cは、いずれも同様の構成を有するため、ここでは、送信ポートモジュール15aの構成についてのみ説明する。
同図に示すように、送信ポートモジュール15aは、キュー群150−0〜150−7と、優先制御送信スケジューラ156と、蓄積量記憶部157と、閾値記憶部158と、輻輳制御部159とを有する。
キュー群150−0は、キュー151−0〜154−0と、ラウンドロビン制御スケジューラ(以下、「DRRスケジューラ」という)155−0とを有する。キュー151−0〜154−0は、後述する輻輳制御部159によって、優先度が「0」である中継処理命令が格納される記憶領域である。
DRRスケジューラ155−0は、DRR方式によって、キュー151−0〜154−0から中継処理命令を取り出す処理部である。なお、DRRスケジューラ155−0は、加重率が等しいラウンドロビン方式や、WRR(Weighted Round Robin:加重ラウンドロビン)方式によって、中継処理命令を取り出してもよい。また、DRRスケジューラ155−0は、本願の出願人によって出願された特開2004−242335に開示されているラウンドロビン方式によって、中継処理命令を取り出してもよい。
同様に、キュー群150−7は、輻輳制御部159によって優先度が「7」である中継処理命令が格納されるキュー151−7〜154−7と、DRRスケジューラ155−7とを有する。同図では、図示することを省略しているが、送信ポートモジュール15aは、優先度が「1」〜「6」である中継処理命令が格納されるキュー群150−1〜150−6も有する。かかるキュー群150−1〜150−6の構成は、キュー群150−0および150−7の構成と同様である。
なお、同図では、各々のキュー群150−0〜150−7は、4個のキュー(キュー群150−0の例では、キュー151−0〜154−0)を有する例を示したが、各々のキュー群150−0〜150−7は、3個以下のキューを有してもよいし、5個以上のキューを有してもよい。
また、以下では、キュー群151−0等が有する各キューのQIDは、上から順に「0」、「1」、「2」、「3」であるものとする。具体的には、キュー151−0のQIDが「0」であり、キュー152−0のQIDが「1」であり、キュー153−0のQIDが「2」であり、キュー154−0のQIDが「3」であるものとする。同様に、キュー151−7のQIDが「0」であり、キュー152−7のQIDが「1」であり、キュー153−7のQIDが「2」であり、キュー154−7のQIDが「3」であるものとする。
優先制御送信スケジューラ156は、DRRスケジューラ155−0〜155−7によって取り出された中継処理命令のうち、優先度の高い順番に、中継処理命令に従って処理を行う。具体的には、優先制御送信スケジューラ156は、ストリームメモリ16から、中継処理命令に含まれる論理ブロック番号が示す論理ブロックに記憶されているパケットを読み出して、送信ポート12aへ出力する。また、優先制御送信スケジューラ156は、中継処理命令にリンク情報が含まれている場合、かかるリンク情報に含まれる論理ブロック番号が示す論理ブロックに記憶されているパケットを、ストリームメモリ16から読み出して、送信ポート12aへ出力する。優先制御送信スケジューラ156は、優先度の高い順番に、中継処理命令に従って、同様のパケット出力処理を行う。
このように、DRRスケジューラ155−0〜155−7が、各キューからDRR方式によって中継処理命令を取り出すので、仮想ネットワークごとに帯域制御を行うことができる。また、優先制御送信スケジューラ156が、優先度が高い順番に、中継処理命令に従って、パケットを他の装置へ送信するので、受信するパケット全体の優先度を考慮して優先制御を行うことができる。
蓄積量記憶部157は、優先度に対応付けて、優先度ごとに設けられた複数のキューに格納されている中継処理命令が示すパケットのサイズの総和を記憶する。蓄積量記憶部157の一例を図7に示す。同図に示すように、蓄積量記憶部157は、優先度、総パケット蓄積量といった項目を有する。優先度は、キューに対応付けられた優先度を示す。総パケット蓄積量は、対応する優先度に対応付けて設けられた複数のキューに格納されている中継処理命令が示すパケットサイズの総和を示す。
すなわち、図7に示した蓄積量記憶部157の1行目は、優先度「0」に対応付けて設けられたキュー151−0〜154−0に格納されている中継処理命令が示すパケットのサイズの総和が「100バイト」であることを示している。また、蓄積量記憶部157の8行目は、優先度「7」に対応付けて設けられたキュー151−7〜154−7に格納されている中継処理命令が示すパケットのサイズの総和が「140バイト」であることを示している。
閾値記憶部158は、指定閾値に対応付けて、具体的な閾値を記憶する。閾値記憶部158の一例を図8に示す。同図に示すように、閾値記憶部158は、指定閾値、閾値といった項目を有する。指定閾値は、図5に示したキュー番号記憶部173が有する指定閾値に対応する。閾値は、総パケット蓄積量の閾値を示す。
すなわち、図8に示した閾値記憶部158の1行目は、指定閾値「TH0」の閾値が「300バイト」であることを示しており、図8に示した閾値記憶部158の8行目は、指定閾値「TH7」の閾値が「3000バイト」であることを示している。
輻輳制御部159は、格納先キュー決定部183から中継処理命令を入力された場合に、かかる中継処理命令を廃棄するか、または、所定のキューに格納するかを制御する処理部である。具体的には、輻輳制御部159は、格納先キュー決定部183から入力された中継処理命令に含まれる優先度に対応付けて蓄積量記憶部157に記憶されている総パケット蓄積量を取得する。続いて、輻輳制御部159は、中継処理命令に含まれる指定閾値に対応付けて閾値記憶部158に記憶されている閾値を取得する。続いて、輻輳制御部159は、蓄積量記憶部157から取得した総パケット蓄積量と、閾値記憶部158から取得した閾値とを比較する。
総パケット蓄積量が閾値よりも小さい場合、輻輳制御部159は、中継処理命令に含まれる優先度に対応付けて設けられたキューのうち、中継処理命令に含まれるQIDが示すキューに中継処理命令を格納する。一方、総パケット蓄積量が閾値以上である場合、輻輳制御部159は、中継処理命令を廃棄するとともに、廃棄情報をパケット廃棄部184に出力する。
次に、実施例1に係るスイッチ10によるパケット中継処理の手順について説明する。図9は、実施例1に係るスイッチ10によるパケット中継処理手順を示すフローチャートである。同図に示すように、スイッチ10の受信ポート11a〜11cがパケットを受信した場合(ステップS101肯定)、受信ポートモジュール14a〜14cは、かかるパケットのヘッダ情報を制御部18へ出力するとともに、パケットをストリームメモリ16に書き込む(ステップS102)。
ヘッダ情報を受け付けた制御部18の方路決定部182は、かかるヘッダ情報と、方路記憶部172に記憶されている各種情報に基づいて、パケットを送信する送信ポートを決定する(ステップS103)。
続いて、格納先キュー決定部183は、入力されたヘッダ情報に設定されているVLAN番号と優先度との組合せに対応付けてキュー番号記憶部173に記憶されているQIDおよび指定閾値を取得する。格納先キュー決定部183は、ヘッダ情報に設定されている優先度に対応付けて設けられた複数のキューのうち、キュー番号記憶部173から取得したQIDが示すキューに中継処理命令を格納することを決定する(ステップS104)。
続いて、格納先キュー決定部183は、入力されたヘッダ情報や、かかるヘッダ情報を有するパケットが記憶されている論理ブロックを示す論理ブロック番号、キュー番号記憶部173から取得したQIDおよび指定閾値、リンク情報取得部181から入力されたリンク情報などを含む中継処理命令を生成する(ステップS105)。続いて、格納先キュー決定部183は、方路決定部182によって決定された送信ポート12a〜12cのいずれかに対応する送信ポートモジュール15a〜15cに、生成した中継処理命令を出力する。
格納先キュー決定部183から中継処理命令を入力された送信ポートモジュール15a〜15cの輻輳制御部159は、入力された中継処理命令に含まれる優先度に対応付けて蓄積量記憶部157に記憶されている総パケット蓄積量を取得するとともに、中継処理命令に含まれる指定閾値に対応付けて閾値記憶部158に記憶されている閾値を取得する。続いて、輻輳制御部159は、蓄積量記憶部157から取得した総パケット蓄積量と、閾値記憶部158から取得した閾値とを比較する(ステップS106)。
総パケット蓄積量が閾値以上である場合(ステップS107否定)、輻輳制御部159は、中継処理命令を廃棄するとともに、廃棄情報をパケット廃棄部184に出力する。廃棄情報を受け付けたパケット廃棄部184は、中継処理命令に含まれる論理ブロック番号が示すパケットをストリームメモリ16から廃棄する(ステップS108)。
一方、総パケット蓄積量が閾値よりも小さい場合(ステップS107肯定)、輻輳制御部159は、中継処理命令に含まれる優先度に対応付けて蓄積量記憶部157に記憶されている総パケット蓄積量を、中継処理命令が示すパケットのサイズ分だけ加算する(ステップS109)。続いて、輻輳制御部159は、中継処理命令に含まれる優先度に対応付けて設けられた複数のキューのうち、中継処理命令に含まれるQIDが示すキューに中継処理命令を格納する(ステップS110)。
続いて、送信ポートモジュール15a〜15cのDRRスケジューラ155−0〜155−7は、DRR方式によって、キューから中継処理命令を取り出す(ステップS111)。具体的には、DRRスケジューラ155−0は、DRR方式によって、キュー151−0〜154−0から中継処理命令を取り出し、DRRスケジューラ155−7は、DRR方式によって、キュー151−7〜154−7から中継処理命令を取り出す。
続いて、優先制御送信スケジューラ156は、DRRスケジューラ155−0〜155−7によって取り出された中継処理命令のうち、優先度の高い順番に、中継処理命令に従って、ストリームメモリ16からパケットを読み出して、送信ポート12a〜12cへ出力する(ステップS112)。具体的には、優先制御送信スケジューラ156は、中継処理命令に含まれる論理ブロック番号が示す論理ブロックに記憶されているパケットを、ストリームメモリ16から読み出して、送信ポート12a〜12cへ出力する。また、優先制御送信スケジューラ156は、中継処理命令にリンク情報が含まれている場合、かかるリンク情報に含まれる論理ブロック番号が示す論理ブロックに記憶されているパケットを、ストリームメモリ16から読み出して、送信ポート12a〜12cへ出力する。
優先制御送信スケジューラ156によってパケットが送信ポート12a〜12cへ出力された後、輻輳制御部159は、出力されたパケットの優先度に対応付けて蓄積量記憶部157に記憶されている総パケット蓄積量を、出力されたパケットのサイズ分だけ減算する(ステップS113)。
上述してきたように、実施例1に係るスイッチ10は、送信ポートモジュール15a〜15cごとに、優先度とVLAN番号との組合せに対応付けて複数のキューを有し、また、同一の優先度に対応付けられたキューに蓄積されている中継処理命令が示すパケットのサイズの総和を記憶する蓄積量記憶部157と、キューごとに総パケット蓄積量の閾値を記憶する閾値記憶部158とを有し、パケットを受信した場合に、かかるパケットに設定されている優先度に対応付けて蓄積量記憶部157に記憶されている総パケット蓄積量と、パケットの格納先キューに対応付けて閾値記憶部158に記憶されている閾値とに基づいて、パケットを廃棄するか否かを決定するので、仮想ネットワークごとに輻輳制御を行うことができる。
また、実施例1に係るスイッチ10は、VLAN番号が異なる場合であっても、パケットを同一のキューに格納することも可能であるため、いくつかの仮想ネットワークを1つの仮想ネットワークグループとして扱うことができ、仮想ネットワークグループごとに輻輳制御を行うことができる。
ところで、上記実施例1では、キュー番号記憶部173が、優先度ごとに、メンバポート番号と、QIDと、指定閾値とを記憶する例を示したが、メンバポート番号、QID、指定閾値は、異なる記憶部に分散して記憶させてもよい。そこで、実施例2では、メンバポート番号と、QIDおよび指定閾値とを分散して記憶部に記憶させる例について説明する。
まず、実施例2に係るスイッチ20の構成について説明する。図10は、実施例2に係るスイッチ20の構成を示すブロック図である。なお、以下では、図3に示した構成部位と同様の機能を有する部位には同一符号を付すこととして、その詳細な説明を省略する。
図10に示すように、スイッチ20が有するスイッチコア23は、図3に示したスイッチコア13が有する記憶部17の代わりに、記憶部27を新たに有する。記憶部27は、図3に示した記憶部17と比較して、キュー番号記憶部173の代わりに、キュー番号記憶部273と、VLAN記憶部274とを新たに有する。
キュー番号記憶部273の一例を図11に示す。同図に示すように、キュー番号記憶部273は、VLAN番号、優先度、QID、指定閾値といった項目を有する。VLAN記憶部274の一例を図12に示す。同図に示すように、VLAN記憶部274は、VLAN番号、メンバポート番号といった項目を有する。
上述してきたように、実施例2に係るスイッチ20は、キュー番号記憶部273が、優先度によって異なる値を取り得るQIDおよび指定閾値を記憶し、VLAN記憶部274が、優先度によって値が変化しないメンバポート番号を記憶するので、仮想ネットワークごとに輻輳制御を行うことができ、さらに、各記憶部の構成を簡潔にすることができる。
ところで、上記実施例1および2では、キュー番号記憶部173または273に記憶されている指定閾値に対応する閾値を、閾値記憶部158から取得して輻輳制御を行う例を示したが、指定閾値を設けないように構成してもよい。また、上記実施例1および2では、キュー群の単位で、総パケット蓄積量を蓄積量記憶部157に記憶させる例を示したが、キューごとにパケット蓄積量を記憶させてもよい。そこで、実施例3では、キュー番号記憶部が指定閾値を有さず、かつ、蓄積量記憶部がキュー毎にパケット蓄積量を記憶する例について説明する。
まず、実施例3に係るスイッチ30の構成について説明する。図13は、実施例3に係るスイッチ30の構成を示すブロック図である。図13に示すように、スイッチ30が有するスイッチコア33は、図3に示したスイッチコア13が有するポートモジュール群15、記憶部17および制御部18の代わりに、ポートモジュール群35と、記憶部37と、制御部38とを新たに有する。
ポートモジュール群35は、送信ポート12a〜12cに対応する送信ポートモジュール35a〜35cを有する。送信ポートモジュール35a〜35cの構成については、後に詳述する。
記憶部37は、図3に示した記憶部17と比較して、キュー番号記憶部173の代わりに、キュー番号記憶部373を新たに有する。キュー番号記憶部373の一例を図14に示す。同図に示すように、キュー番号記憶部373は、図5に示したキュー番号記憶部173と比較して、指定閾値を有さない。
制御部38は、図3に示した制御部18と比較して、格納先キュー決定部183の代わりに、格納先キュー決定部383を新たに有する。格納先キュー決定部383は、指定閾値を含まない中継処理命令を生成して、送信ポートモジュール35a〜35cのいずれかへ出力する処理部である。
具体的には、格納先キュー決定部383は、ポートモジュール群14からヘッダ情報を入力された場合に、キュー番号記憶部373から、かかるヘッダ情報に設定されているVLAN番号と優先度との組合せに対応するQIDを取得する。続いて、格納先キュー決定部383は、入力されたヘッダ情報や、かかるヘッダ情報を有するパケットが記憶されている論理ブロックを示す論理ブロック番号、キュー番号記憶部373から取得したQID、リンク情報などを含む中継処理命令を生成する。続いて、格納先キュー決定部383は、方路決定部182によって決定された送信ポート12a〜12cのいずれかに対応する送信ポートモジュール35a〜35cに、生成した中継処理命令を出力する。
次に、図13に示した送信ポートモジュール35a〜35cの構成について説明する。図15は、図13に示した送信ポートモジュール35a〜35cの構成を示すブロック図である。なお、送信ポートモジュール35a〜35cは、いずれも同様の構成を有するため、ここでは、送信ポートモジュール35aの構成についてのみ説明する。また、以下では、図6に示した構成部位と同様の機能を有する部位には同一符号を付すこととして、その詳細な説明を省略する。
図15に示すように、送信ポートモジュール35aは、キュー群150−0〜150−7と、優先制御送信スケジューラ156と、蓄積量記憶部357と、閾値記憶部358と、輻輳制御部359とを有する。
蓄積量記憶部357の一例を図16に示す。同図に示すように、蓄積量記憶部357は、優先度に対応付けて、QIDごとにパケット蓄積量を記憶する。すなわち、同図に示した蓄積量記憶部357の1行目は、優先度「0」に対応するキュー群150−0が有するキューのうち、QID「0」が示すキュー151−0に、「50バイト」のパケットが蓄積されていることを示しており、QID「1」が示すキュー152−0に、「100バイト」のパケットが蓄積されていることを示しており、QID「2」が示すキュー153−0に、「50バイト」のパケットが蓄積されていることを示しており、QID「3」が示すキュー154−0に、「50バイト」のパケットが蓄積されていることを示している。
また、同図に示した蓄積量記憶部357の8行目は、優先度「7」に対応するキュー群150−7が有するキューのうち、QID「0」が示すキュー151−7に、「300バイト」のパケットが蓄積されていることを示しており、QID「1」が示すキュー152−7に、「500バイト」のパケットが蓄積されていることを示しており、QID「2」が示すキュー153−7に、「250バイト」のパケットが蓄積されていることを示しており、QID「3」が示すキュー154−7に、「250バイト」のパケットが蓄積されていることを示している。
閾値記憶部358の一例を図17に示す。同図に示すように、閾値記憶部358は、優先度に対応付けて、QIDごとに閾値を記憶する。すなわち、同図に示した閾値記憶部358の1行目は、優先度「0」に対応するキュー群150−0が有するキューのうち、QID「0」が示すキュー151−0の閾値が「300バイト」であることを示しており、QID「1」が示すキュー152−0の閾値が「200バイト」であることを示しており、QID「2」が示すキュー153−0の閾値が「500バイト」であることを示しており、QID「3」が示すキュー154−0の閾値が「1000バイト」であることを示している。
なお、図16に示した蓄積量記憶部357、および、図17に示した閾値記憶部358の構造は、キュー群151−0等が有する各キューのQIDが、上から順に「0」、「1」、「2」、「3」に割り当てられることを前提としている。ただし、すべてのキューに対してユニークなQIDを割り当てることも可能であり、かかる場合には、蓄積量記憶部357は、QIDに対応付けて、パケット蓄積量を記憶し、閾値記憶部358は、QIDに対応付けて、閾値を記憶する。
輻輳制御部359は、格納先キュー決定部383から中継処理命令を入力された場合に、入力された中継処理命令に含まれる優先度とQIDの組合せに対応付けて蓄積量記憶部357に記憶されているパケット蓄積量を取得する。続いて、輻輳制御部359は、中継処理命令に含まれる優先度とQIDの組合せに対応付けて閾値記憶部358に記憶されている閾値を取得する。続いて、輻輳制御部359は、蓄積量記憶部357から取得したパケット蓄積量と、閾値記憶部358から取得した閾値とを比較する。
パケット蓄積量が閾値よりも小さい場合、輻輳制御部359は、中継処理命令に含まれる優先度に対応付けて設けられた複数のキューのうち、中継処理命令に含まれるQIDが示すキューに中継処理命令を格納する。一方、パケット蓄積量が閾値以上である場合、輻輳制御部359は、中継処理命令を廃棄するとともに、廃棄情報をパケット廃棄部184に出力する。
上述してきたように、実施例3に係るスイッチ30は、優先度とQIDとの組合せに対応付けて、パケット蓄積量および閾値を記憶するので、仮想ネットワークごとに輻輳制御を行うことができ、各キューに蓄積されているパケット蓄積量や、各キューに対して設定されている閾値を容易に確認することができる。
なお、上記実施例1〜3では、格納先キュー決定部183等が中継処理命令をキューに格納し、送信ポートモジュール15a等が、キューから中継処理命令を取り出して、かかる中継処理命令に従ってパケットの中継処理を行う例を示したが、かかるパケット中継処理の手法はあくまで一例であり、他の手法によってパケット中継処理を行ってもよい。例えば、図1を用いて説明したように、スイッチ10、20および30は、各キューにパケット自体を格納して、パケット中継処理を行ってもよい。
また、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散、統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散、統合して構成することができる。さらに、各装置にて行なわれる各処理機能は、その全部または任意の一部が、CPU(Central Processing Unit)および当該CPUにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
以上の実施例1〜3を含む実施形態に関し、更に以下の付記を開示する。
(付記1)所定の仮想ネットワークに属する装置からパケットを受信して、他の装置へ中継する中継装置であって、
パケットを中継する優先順位を示す優先度と仮想ネットワークを識別するためのVLAN番号との組合せに対応付けて設けられた複数のキューと、
優先度とVLAN番号との組合せに対応付けて、前記キューを識別するためのキュー番号を記憶するキュー番号記憶手段と、
優先度に対応付けて、該優先度に対応する複数のキューに蓄積されているパケット蓄積量の総和である総パケット蓄積量を記憶する蓄積量記憶手段と、
キュー番号に対応付けて、総パケット蓄積量の閾値を記憶する閾値記憶手段と、
パケットを受信した場合に、該パケットに設定されているVLAN番号と優先度との組合せに対応付けて前記キュー番号記憶手段に記憶されているキュー番号が示すキューに、該パケットを格納させることを決定する格納先キュー決定手段と、
前記パケットに設定されている優先度に対応付けて前記蓄積量記憶手段に記憶されている総パケット蓄積量と、前記格納先キュー決定手段によって決定されたキューである格納先キューを示すキュー番号に対応付けて前記閾値記憶手段に記憶されている閾値とに基づいて、前記パケットを廃棄する輻輳制御手段と、
を備えたことを特徴とする中継装置。
(付記2)所定の仮想ネットワークに属する装置からパケットを受信して、他の装置へ中継する中継装置であって、
パケットを中継する優先順位を示す優先度と仮想ネットワークを識別するためのVLAN番号との組合せに対応付けて設けられた複数のキューと、
優先度とVLAN番号との組合せに対応付けて、前記キューを識別するためのキュー番号を記憶するキュー番号記憶手段と、
キュー番号に対応付けて、該キュー番号が示すキューに蓄積されている総パケット蓄積量を記憶する蓄積量記憶手段と、
キュー番号に対応付けて、総パケット蓄積量の閾値を記憶する閾値記憶手段と、
パケットを受信した場合に、該パケットに設定されているVLAN番号と優先度との組合せに対応付けて前記キュー番号記憶手段に記憶されているキュー番号が示すキューに、該パケットを格納させることを決定する格納先キュー決定手段と、
前記格納先キュー決定手段によって決定されたキューである格納先キューを示すキュー番号に対応付けて前記蓄積量記憶手段に記憶されている総パケット蓄積量と、前記格納先キューを示すキュー番号に対応付けて前記閾値記憶手段に記憶されている閾値とに基づいて、前記パケットを廃棄する輻輳制御手段と、
を備えたことを特徴とする中継装置。
(付記3)前記輻輳制御手段は、前記総パケット蓄積量が前記閾値より小さい場合に、前記パケットを前記格納先キューに格納し、前記総パケット蓄積量が前記閾値以上である場合に、前記パケットを廃棄することを特徴とし、
前記輻輳制御手段によってキューに格納されたパケットを、前記キューに対応付けられた優先度に基づいて他の装置へ送信するパケット送信手段をさらに備えたことを特徴とする付記1または2に記載の中継装置。
(付記4)前記パケット送信手段は、同一の優先度に対応付けられた複数のキューから、ラウンドロビン方式によってパケットを取り出すラウンドロビン制御手段と、前記ラウンドロビン制御手段によって取り出されたパケットを、優先度の高い順番に前記他の装置へ送信する優先制御送信手段とを備えたことを特徴とする付記3に記載の中継装置。
(付記5)前記ラウンドロビン制御手段は、前記ラウンドロビン方式として、不足ラウンドロビン方式または加重ラウンドロビン方式のいずれかによって同一の優先度に対応付けられた複数のキューからパケットを取り出すことを特徴とする付記4に記載の中継装置。
(付記6)所定の仮想ネットワークに属する装置からパケットを受信して、他の装置へ中継する中継装置におけるパケット中継方法であって、
前記中継装置が、
パケットを中継する優先順位を示す優先度と、仮想ネットワークを識別するためのVLAN番号との組合せに対応付けて、優先度とVLAN番号との組合せに対応付けて設けられた複数のキューを識別するためのキュー番号をキュー番号記憶部に記憶するキュー番号記憶工程と、
優先度に対応付けて、該優先度に対応する複数のキューに蓄積されているパケット蓄積量の総和である総パケット蓄積量を蓄積量記憶部に記憶する蓄積量記憶工程と、
キュー番号に対応付けて、総パケット蓄積量の閾値を閾値記憶部に記憶する閾値記憶工程と、
パケットを受信した場合に、該パケットに設定されているVLAN番号と優先度との組合せに対応付けて前記キュー番号記憶部に記憶されているキュー番号が示すキューに、該パケットを格納させることを決定する格納先キュー決定工程と、
前記パケットに設定されている優先度に対応付けて前記蓄積量記憶部に記憶されている総パケット蓄積量と、前記格納先キュー決定工程によって決定されたキューである格納先キューを示すキュー番号に対応付けて前記閾値記憶部に記憶されている閾値とに基づいて、前記パケットを廃棄する輻輳制御工程と、
を含んだことを特徴とするパケット中継方法。
(付記7)所定の仮想ネットワークに属する装置からパケットを受信して、他の装置へ中継する中継装置におけるパケット中継方法であって、
前記中継装置が、
パケットを中継する優先順位を示す優先度と、仮想ネットワークを識別するためのVLAN番号との組合せに対応付けて、優先度とVLAN番号との組合せに対応付けて設けられた複数のキューを識別するためのキュー番号をキュー番号記憶部に記憶するキュー番号記憶工程と、
キュー番号に対応付けて、該キュー番号が示すキューに蓄積されている総パケット蓄積量を蓄積量記憶部に記憶する蓄積量記憶工程と、
キュー番号に対応付けて、総パケット蓄積量の閾値を閾値記憶部に記憶する閾値記憶工程と、
パケットを受信した場合に、該パケットに設定されているVLAN番号と優先度との組合せに対応付けて前記キュー番号記憶部に記憶されているキュー番号が示すキューに、該パケットを格納させることを決定する格納先キュー決定工程と、
前記格納先キュー決定工程によって決定されたキューである格納先キューを示すキュー番号に対応付けて前記蓄積量記憶部に記憶されている総パケット蓄積量と、前記格納先キューを示すキュー番号に対応付けて前記閾値記憶部に記憶されている閾値とに基づいて、前記パケットを廃棄する輻輳制御工程と、
を含んだことを特徴とするパケット中継方法。
(付記8)前記輻輳制御工程は、前記総パケット蓄積量が前記閾値より小さい場合に、前記パケットを前記格納先キューに格納し、前記総パケット蓄積量が前記閾値以上である場合に、前記パケットを廃棄することを特徴とし、
前記輻輳制御工程によってキューに格納されたパケットを、前記キューに対応付けられた優先度に基づいて他の装置へ送信するパケット送信工程をさらに含んだことを特徴とする付記6または7に記載のパケット中継方法。
実施例1に係るスイッチの概要を説明するための図である。 実施例1に係るスイッチが適用されるネットワークの構成例を示す図である。 実施例1に係るスイッチの構成を示すブロック図である。 方路記憶部の一例を示す図である。 キュー番号記憶部の一例を示す図である。 図3に示した送信ポートモジュールの構成を示すブロック図である。 蓄積量記憶部の一例を示す図である。 閾値記憶部の一例を示す図である。 実施例1に係るスイッチによるパケット中継処理手順を示すフローチャートである。 実施例2に係るスイッチの構成を示すブロック図である。 キュー番号記憶部の一例を示す図である。 VLAN記憶部の一例を示す図である。 実施例3に係るスイッチの構成を示すブロック図である。 キュー番号記憶部の一例を示す図である。 図13に示した送信ポートモジュールの構成を示すブロック図である。 蓄積量記憶部の一例を示す図である。 閾値記憶部の一例を示す図である。
符号の説明
1 ネットワーク
2A〜2C サーバシステム
3A〜3C 記憶システム
4 スイッチ群
5 ネットワークシステム
6 ルーティングシステム
10A〜10F スイッチ
10、20、30 スイッチ
11a〜11c 受信ポート
12a〜12c 送信ポート
13、23、33 スイッチコア
14、15、35 ポートモジュール群
14a〜14c 受信ポートモジュール
15a〜15c、35a〜35c 送信ポートモジュール
16 ストリームメモリ
17、27、37 記憶部
18、38 制御部
150−0〜150−7 キュー群
151−0〜154−0 キュー
151−7〜154−7 キュー
155−0〜155−7 DRRスケジューラ
156 優先制御送信スケジューラ
157、357 蓄積量記憶部
158、358 閾値記憶部
159、359 輻輳制御部
171 タグメモリ
172 方路記憶部
173、273、373 キュー番号記憶部
181 リンク情報取得部
182 方路決定部
183、383 格納先キュー決定部
184 パケット廃棄部
274 VLAN記憶部

Claims (5)

  1. 所定の仮想ネットワークに属する装置からパケットを受信して、他の装置へ中継する中継装置であって、
    パケットを中継する優先順位を示す優先度と仮想ネットワークを識別するためのVLAN番号との組合せに対応付けて設けられた複数のキューと、
    優先度とVLAN番号との組合せに対応付けて、前記キューを識別するためのキュー番号を記憶するキュー番号記憶手段と、
    優先度に対応付けて、該優先度に対応する複数のキューに蓄積されているパケット蓄積量の総和である総パケット蓄積量を記憶する蓄積量記憶手段と、
    キュー番号に対応付けて、総パケット蓄積量の閾値を記憶する閾値記憶手段と、
    パケットを受信した場合に、該パケットに設定されているVLAN番号と優先度との組合せに対応付けて前記キュー番号記憶手段に記憶されているキュー番号が示すキューに、該パケットを格納させることを決定する格納先キュー決定手段と、
    前記パケットに設定されている優先度に対応付けて前記蓄積量記憶手段に記憶されている総パケット蓄積量と、前記格納先キュー決定手段によって決定されたキューである格納先キューを示すキュー番号に対応付けて前記閾値記憶手段に記憶されている閾値とに基づいて、前記パケットを廃棄する輻輳制御手段と、
    を備えたことを特徴とする中継装置。
  2. 前記輻輳制御手段は、前記総パケット蓄積量が前記閾値より小さい場合に、前記パケットを前記格納先キューに格納し、前記総パケット蓄積量が前記閾値以上である場合に、前記パケットを廃棄することを特徴とし、
    前記輻輳制御手段によってキューに格納されたパケットを、前記キューに対応付けられた優先度に基づいて他の装置へ送信するパケット送信手段をさらに備えたことを特徴とする請求項1に記載の中継装置。
  3. 前記パケット送信手段は、同一の優先度に対応付けられた複数のキューから、ラウンドロビン方式によってパケットを取り出すラウンドロビン制御手段と、前記ラウンドロビン制御手段によって取り出されたパケットを、優先度の高い順番に前記他の装置へ送信する優先制御送信手段とを備えたことを特徴とする請求項に記載の中継装置。
  4. 前記ラウンドロビン制御手段は、前記ラウンドロビン方式として、不足ラウンドロビン方式または加重ラウンドロビン方式のいずれかによって同一の優先度に対応付けられた複数のキューからパケットを取り出すことを特徴とする請求項に記載の中継装置。
  5. 所定の仮想ネットワークに属する装置からパケットを受信して、他の装置へ中継する中継装置におけるパケット中継方法であって、
    前記中継装置が、
    パケットを中継する優先順位を示す優先度と、仮想ネットワークを識別するためのVLAN番号との組合せに対応付けて、優先度とVLAN番号との組合せに対応付けて設けられた複数のキューを識別するためのキュー番号をキュー番号記憶部に記憶するキュー番号記憶工程と、
    優先度に対応付けて、該優先度に対応する複数のキューに蓄積されているパケット蓄積量の総和である総パケット蓄積量を蓄積量記憶部に記憶する蓄積量記憶工程と、
    キュー番号に対応付けて、総パケット蓄積量の閾値を閾値記憶部に記憶する閾値記憶工程と、
    パケットを受信した場合に、該パケットに設定されているVLAN番号と優先度との組合せに対応付けて前記キュー番号記憶部に記憶されているキュー番号が示すキューに、該パケットを格納させることを決定する格納先キュー決定工程と、
    前記パケットに設定されている優先度に対応付けて前記蓄積量記憶部に記憶されている総パケット蓄積量と、前記格納先キュー決定工程によって決定されたキューである格納先キューを示すキュー番号に対応付けて前記閾値記憶部に記憶されている閾値とに基づいて、前記パケットを廃棄する輻輳制御工程と、
    を含んだことを特徴とするパケット中継方法。
JP2008107177A 2008-04-16 2008-04-16 中継装置およびパケット中継方法 Active JP5104508B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2008107177A JP5104508B2 (ja) 2008-04-16 2008-04-16 中継装置およびパケット中継方法
EP08172560.8A EP2111002B1 (en) 2008-04-16 2008-12-22 Packet relaying apparatus
US12/340,982 US8588239B2 (en) 2008-04-16 2008-12-22 Relaying apparatus and packet relaying apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008107177A JP5104508B2 (ja) 2008-04-16 2008-04-16 中継装置およびパケット中継方法

Publications (2)

Publication Number Publication Date
JP2009260654A JP2009260654A (ja) 2009-11-05
JP5104508B2 true JP5104508B2 (ja) 2012-12-19

Family

ID=40795085

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008107177A Active JP5104508B2 (ja) 2008-04-16 2008-04-16 中継装置およびパケット中継方法

Country Status (3)

Country Link
US (1) US8588239B2 (ja)
EP (1) EP2111002B1 (ja)
JP (1) JP5104508B2 (ja)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9264341B2 (en) * 2009-07-24 2016-02-16 Broadcom Corporation Method and system for dynamic routing and/or switching in a network
JP5498889B2 (ja) * 2010-08-06 2014-05-21 アラクサラネットワークス株式会社 パケット中継装置および輻輳制御方法
US8837499B2 (en) * 2011-05-14 2014-09-16 International Business Machines Corporation Distributed fabric protocol (DFP) switching network architecture
CN104079500B (zh) * 2013-03-29 2018-05-04 中兴通讯股份有限公司 一种队列调度方法和装置
JP2016139903A (ja) * 2015-01-27 2016-08-04 富士通株式会社 通信装置、及びそのデータ中継方法
CN106685853B (zh) * 2016-11-23 2020-05-12 泰康保险集团股份有限公司 处理数据的方法及装置
US20210191743A1 (en) * 2017-03-31 2021-06-24 Nec Corporation Method of controlling virtual network function, virtual network function management apparatus and virtual network providing system
CN109391559B (zh) * 2017-08-10 2022-10-18 华为技术有限公司 网络设备

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5859835A (en) * 1996-04-15 1999-01-12 The Regents Of The University Of California Traffic scheduling system and method for packet-switched networks
JPH1168784A (ja) * 1997-08-27 1999-03-09 Mitsubishi Electric Corp セルスイッチ
JPH11112544A (ja) 1997-10-01 1999-04-23 Hitachi Ltd Lanスイッチ
US6188698B1 (en) * 1997-12-31 2001-02-13 Cisco Technology, Inc. Multiple-criteria queueing and transmission scheduling system for multimedia networks
US6570876B1 (en) * 1998-04-01 2003-05-27 Hitachi, Ltd. Packet switch and switching method for switching variable length packets
JP3704438B2 (ja) * 1998-12-09 2005-10-12 株式会社日立製作所 可変長パケット通信装置
JP2000324130A (ja) * 1999-05-13 2000-11-24 Nec Corp Atmセル化回路、及びatmセル化方法
US6862280B1 (en) 2000-03-02 2005-03-01 Alcatel Priority remapping for data communication switch
JP3798644B2 (ja) * 2001-03-30 2006-07-19 富士通株式会社 中継装置
US7426575B1 (en) * 2001-05-14 2008-09-16 Turin Networks Discard policy method and apparatus
US6976096B1 (en) * 2001-06-02 2005-12-13 Redback Networks Inc. Method and apparatus for controlling the admission of data into a network element
JP2004166080A (ja) 2002-11-14 2004-06-10 Matsushita Electric Ind Co Ltd パケットシェーパ、パケット中継装置
US7349417B2 (en) * 2003-02-07 2008-03-25 Fujitsu Limited Deficit round-robin scheduling in a high-speed switching environment
WO2005079016A1 (ja) * 2004-02-18 2005-08-25 Mitsubishi Denki Kabushiki Kaisha スイッチ装置
JP2008107177A (ja) 2006-10-25 2008-05-08 Nsk Ltd 状態量測定装置付駆動輪用ハブユニット

Also Published As

Publication number Publication date
US20090262748A1 (en) 2009-10-22
US8588239B2 (en) 2013-11-19
JP2009260654A (ja) 2009-11-05
EP2111002B1 (en) 2015-08-19
EP2111002A1 (en) 2009-10-21

Similar Documents

Publication Publication Date Title
JP5104508B2 (ja) 中継装置およびパケット中継方法
CN103444141B (zh) 分组调度方法和设备
US8325749B2 (en) Methods and apparatus for transmission of groups of cells via a switch fabric
KR100735408B1 (ko) 이더넷 기반의 네트워크에서 서비스 클래스별 트래픽의스위칭 제어 방법 및 그 스위칭 장치
JP5640234B2 (ja) マネージド・ネットワークでのレイヤ2のパケット集約及び断片化
US8520522B1 (en) Transmit-buffer management for priority-based flow control
US7120113B1 (en) Systems and methods for limiting low priority traffic from blocking high priority traffic
US11637786B1 (en) Multi-destination traffic handling optimizations in a network device
CN102075437B (zh) 一种通信方法、网关及网络
EP3111603B1 (en) Method and network device for handling packets in a network by means of forwarding tables
JP2009022038A5 (ja)
US10505851B1 (en) Transmission burst control in a network device
CN113890860B (zh) 用于支持时延受限的数据交换的方法、设备及介质
JP5167924B2 (ja) 中継装置およびパケット中継方法
EP2916503A1 (en) Queue scheduling method, apparatus and system
CN114900469B (zh) 一种multihost网卡的数据流量控制的方法、***、设备及介质
US7269158B2 (en) Method of operating a crossbar switch
US7426575B1 (en) Discard policy method and apparatus
JP5674179B1 (ja) 効率的なネットワークアドレス変換およびアプリケーションレベルゲートウェイ処理のための装置および方法
US10581759B1 (en) Sharing packet processing resources
JP4630231B2 (ja) パケット処理システム、パケット処理方法、およびプログラム
JP4962083B2 (ja) Rprノード装置および公平性制御方法およびrpr通信システム
KR101046597B1 (ko) 네트워크 환경에서의 데이터 처리방법, 데이터 송수신장치 및 컴퓨터로 읽을 수 있는 기록매체
US10554572B1 (en) Scalable ingress arbitration for merging control and payload
JP2001268082A (ja) 同一宛先セルの優先制御装置及びその方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110118

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120209

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120228

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120427

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20120529

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120814

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20120822

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

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120917

R150 Certificate of patent or registration of utility model

Ref document number: 5104508

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20151012

Year of fee payment: 3