JP2019004357A - 通信制御装置、通信制御方法、及び、通信制御プログラム - Google Patents

通信制御装置、通信制御方法、及び、通信制御プログラム Download PDF

Info

Publication number
JP2019004357A
JP2019004357A JP2017118434A JP2017118434A JP2019004357A JP 2019004357 A JP2019004357 A JP 2019004357A JP 2017118434 A JP2017118434 A JP 2017118434A JP 2017118434 A JP2017118434 A JP 2017118434A JP 2019004357 A JP2019004357 A JP 2019004357A
Authority
JP
Japan
Prior art keywords
flow
switch
packet
route
condition
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.)
Granted
Application number
JP2017118434A
Other languages
English (en)
Other versions
JP6834795B2 (ja
Inventor
水口 有
Tamotsu Mizuguchi
有 水口
松田 英幸
Hideyuki Matsuda
英幸 松田
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 JP2017118434A priority Critical patent/JP6834795B2/ja
Priority to US16/005,179 priority patent/US20180367457A1/en
Publication of JP2019004357A publication Critical patent/JP2019004357A/ja
Application granted granted Critical
Publication of JP6834795B2 publication Critical patent/JP6834795B2/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
    • H04L47/12Avoiding congestion; Recovering from congestion
    • H04L47/122Avoiding congestion; Recovering from congestion by diverting traffic away from congested entities
    • 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/11Identifying congestion

Landscapes

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

Abstract

【課題】パケットの転送処理に係る通信制御装置のCPUへの負荷を低減する。【解決手段】通信制御装置は、制御対象の複数のスイッチそれぞれの負荷情報を受信する受信部と、所定の処理のロジックを実行するロジックデバイスと、第1の条件が負荷情報によって満たされた場合に、複数のスイッチのうちの第1のスイッチから受信されるパケットの経路情報の要求について、第1の条件が満たされた場合の経路へのパケットの出力指示を第1のスイッチに通知する処理を当該所定の処理としてロジックデバイスに実行させるプロセッサと、を備える。【選択図】図5

Description

本発明は、通信制御装置、通信制御方法、及び、通信制御プログラムに関する。
例えば、SDN(Software Defined Network)では、転送機能と制御機能とを分離させ、複数のスイッチ間の経路制御を1台のコントローラが行う。SDNでは、スイッチとコントローラ間の通信プロトコルにOpenFlowが用いられる。以下、OpenFlowを実行するコントローラをOFコントローラ又はOFCと表記する。OpenFlowを実行するスイッチをOFスイッチ又はOFSと表記する。
OFスイッチは、パケットの経路情報をエントリとして含むフローテーブルを備えており、フローテーブルに従ってパケットを転送する。OFコントローラは、例えば、各OFスイッチのフローテーブルの設定を行うことで経路制御を行う。パケットの経路情報は、例えば、パケットの出力ポート、パケットを次に転送する転送先の情報等のいずれか、または、組合せである。
OFスイッチは、フローテーブルにエントリのないパケットを受信すると、PacketInメッセージを使って受信パケットに関するフローテーブルのエントリをOFコントローラに問い合わせる。例えば、PacketInメッセージには、問合せ対象のパケット本体が含まれる。
PacketInメッセージの応答として、OFコントローラは、フローテーブルのエントリの設定を指示するFlowModメッセージを、問い合わせ元のOFスイッチに送信する。または、OFコントローラは、問合せ対象のパケットの指定のポートからの出力指示であるPacketOutメッセージを問い合わせ元のOFスイッチに送信する。PacketOutメッセージには、PacketInメッセージに含まれていたパケットが含まれている。
以下、PacketInメッセージ、FlowModメッセージ、PacketOutメッセージ等のOpenFlowのメッセージは、単に、PacketIn、FlowMod、PacketOutと表記される。
上述のようなPacketInとその応答であるFlowMod又はPacketOutとは、フローの経路変更にも用いられることがある。なお、フローとは、例えば、同じ識別情報を有するパケットの流れのことである。
例えば、PacketInとFlowModとを用いたフローの経路変更は、以下の通りである。まず、OFコントローラは、OFスイッチがPacketInを用いて経路変更の対象となるフローのパケットをOFコントローラへと転送するように、OFスイッチのフローテーブルを設定する。OFスイッチへのフローテーブルの設定には、FlowModが用いられる。
OFコントローラは、OFスイッチから経路変更の対象となるフローのパケットを含むPacketInを受信すると、当該OFスイッチにFlowModを送信する。当該OFスイッチに送信されるFlowModには、経路変更の対象となるフローを別の経路に転送することを指示するフローテーブルのエントリが含まれている。OFスイッチは、当該FlowModを受信することによって、フローテーブルを書き換え、経路変更の対象
のフローをFlowModで指定された別の経路へと転送するようになる。これによって、経路変更の対象のフローの経路が変更される。
一方、例えば、PacketInとPacketOutとを用いたフローの経路変更は、以下の通りである。OFコントローラは、FlowModを用いて、PacketInを用いて経路変更の対象のフローのパケットをOFコントローラへと転送させるようにOFスイッチのフローテーブルを設定する。OFコントローラは、経路変更の対象のフローのパケットを含むPacketInに対して、当該パケットの出力ポートとして別の経路に接続されるポートを指定するPacketOutを送信する。
OFスイッチは、当該PacketOutを受信することで、当該PacketOutに含まれている経路変更の対象のフローのパケットを、指定された別の経路に接続されるポートから出力する。これによって、経路変更の対象のフローの経路が変更される。
例えば、PacketOutを用いる経路変更の方が、FlowModを用いる方法よりもフローテーブルの書き換えの回数が少ない。フローテーブルの書き換えには時間を要するため、より高速な経路変更が望まれる場合には、PacketOutを用いる経路変更が採用されることがある。
特開2013−118699号公報
しかしながら、PacketOutを用いる経路変更では、経路変更の対象のフローのパケットすべてがPacketInによってOFコントローラへと転送される。PacketInによってOFコントローラへと転送されたパケットの転送処理は、OFコントローラのCPU(Central Processing Unit)によって行われる。そのため、OFコントロ
ーラのCPUの負荷が増大し、経路変更対象のフローに加え、OFコントローラのCPUで処理される他のフローも転送遅延が大きくなる可能性がある。
本発明の一態様は、パケットの転送処理に係るCPUへの負荷を低減可能な通信制御装置、通信制御方法、及び、通信制御プログラムを提供することを目的とする。
本発明の態様の一つは、複数のスイッチを制御する通信制御装置である。通信制御装置は、制御対象の複数のスイッチそれぞれの負荷情報を受信する受信部と、所定の処理のロジックを実行するロジックデバイスと、プロセッサとを備える。通信制御装置のプロセッサは、第1の条件が負荷情報によって満たされた場合に、複数のスイッチのうちの第1のスイッチから受信されるパケットの経路情報の要求について、第1の条件が満たされた場合の経路へのパケットの出力指示を第1のスイッチに通知する処理をロジックデバイスに実行させる。
開示の通信制御装置、通信制御方法、及び、通信制御プログラムによれば、パケットの転送処理に係る通信制御装置のCPUへの負荷を低減することができる。
図1は、第1実施形態に係る通信システムのシステム構成の一例を示す図である。 図2は、映像配信サーバと端末との間の通信の一例を示す図である。 図3は、負荷情報パケットのフォーマットの一部の一例を示す図である。 図4は、通信パケットのフォーマットの一部の一例である。 図5は、コントローラのハードウェア構成の一例を示す図である。 図6は、コントローラの機能構成の一例を示す図である。 図7は、負荷情報管理テーブルの一例である。 図8は、トポロジ情報テーブルの一例である。 図9は、振分判定テーブルの一例である。 図10は、フロー管理テーブルの一例である。 図11Aは、転送制御部の処理のフローチャートの一例である。 図11Bは、転送制御部の処理のフローチャートの一例である。 図12は、具体例に係る通信システムの初期状態におけるスイッチ#1、#2、#4、#5のフローテーブルの一例である。 図13は、具体例に係る通信システムの初期状態におけるスイッチ#3のフローテーブルの一例である。 図14は、優先ルートであるルート#1が混雑し始めた場合のフローA、フローBの経路の一例を示す図である。 図15は、図14に示される処理後のコントローラのフロー管理テーブルの一例である。 図16は、図14に示される処理後のスイッチ#1のフローテーブルの一例である。 図17は、図14の後、ルート#1がさらに混雑してきた場合のフローA、フローBの経路の一例を示す図である。 図18は、図17に示される処理後のコントローラのフロー管理テーブルの一例である。 図19は、図17に示される処理後のスイッチ#1のフローテーブルの一例である。 図20は、図17の後、端末へ入力されるトラフィック量が増大した場合のフローA、フローBの経路の一例を示す図である。 図21は、図20に示される処理後のコントローラのフロー管理テーブルの一例である。 図22は、図20の後、端末へ入力されるトラフィック量が減少した場合のフローA、フローBの経路の一例を示す図である。
以下、図面に基づいて、本発明の実施の形態を説明する。以下の実施形態の構成は例示であり、本発明は実施形態の構成に限定されない。
<第1実施形態>
図1は、第1実施形態に係る通信システム100のシステム構成の一例を示す図である。通信システム100は、例えば、SDNのネットワークである。通信システム100は、例えば、OFスイッチ#1〜#5と、OFスイッチを制御するOFコントローラ1と、映像配信サーバ3と、端末4とを含む。OFスイッチ#1〜#5は、区別されない場合には、OFスイッチ2と表記する。以下、OFコントローラ1、OFスイッチ2を、それぞれ、コントローラ1、スイッチ2と称する。OFコントローラ1は、「通信制御装置」の一例である。OFスイッチ2は、「制御対象のスイッチ」の一例である。
通信システム100では、コントローラ1とスイッチ2とが接続されるネットワークと、スイッチ2、映像配信サーバ3、及び、端末4が接続されるネットワークとは、物理的
又は論理的に分離されている。コントローラ1とスイッチ2との間の制御信号が流れるネットワークを制御プレーンという。スイッチ2間で中継されるユーザ信号が流れるネットワークをデータプレーンという。図1では、制御プレーンの通信は二重線で、データプレーンの通信は一重線で示されている。PacketIn、PacketOut、FlowMod等のOFメッセージは制御プレーンを流れる。
映像配信サーバ3は、映像コンテンツを保持し、端末4からの要求に応じて対象の映像コンテンツを端末4に送信する。
図1には、コントローラ1及び各スイッチ2それぞれの接続関係、映像配信サーバ3及び端末4のIP(Internet Protocol)アドレスの割り当ての一例も示されている。以下
、通信システム100の接続関係、IPアドレスの割当は、図1に示されるものを前提とする。
図2は、映像配信サーバ3と端末4との間の通信の一例を示す図である。図2では、簡略化のため、制御プレーンの通信は省略されている。映像配信サーバ3と端末4との間には、例えば、フローA、フローBの2種類のフローが流れていることを想定する。フローA及びフローBはともに、送信元を映像配信サーバ3とし、宛先を端末4とするフローである。
フローとは、例えば、通信システム100内を流れる、同じ識別情報で識別されるパケットの集まりのことである。フローを識別するフロー識別情報には、例えば、少なくとも、宛先及び送信元IPアドレスと、宛先及び送信元ポート番号とが用いられ、オプションとして、プロトコルタイプ、ヘッダ内の所定の情報が用いられる。
フローAは、例えば、音声データ、映像データ、又は音声データ又は動画データ等のストリーミング等の低遅延が望まれるフローである。一方、フローBは、例えば、音声データ又は映像データ等をダウンロードするような、遅延を許容可能なフローである。したがって、第1実施形態では、フローBよりもフローAの方が、優先度が高く設定されている。
映像配信サーバ3から端末4への経路には、スイッチ#1、スイッチ#2、スイッチ#3の順で通過するルート#1と、スイッチ#1、スイッチ#4、スイッチ#5、スイッチ#3の順で通過するルート#2と、の2つの経路が存在する。例えば、ルート#2よりもルート#1の方が経由するスイッチの数が少ないので、ルート#1の方が転送遅延が小さ
い。そのため、第1実施形態では、ルート#1は優先ルートとして用いられる。ルート#2は迂回ルートとして用いられる。初期状態では、フローA、フローBは優先ルートであるルート#1を通過するように、各スイッチ2は設定されている。
第1実施形態では、コントローラ1は、各スイッチ2から、所定の周期で負荷情報を受信する。負荷情報は、例えば、各スイッチ2の処理負荷を示す情報である。コントローラ1は、負荷情報に基づいて、優先ルートであるルート#1の混雑度を監視する。コントローラ1は、ルート#1が混雑し始めると、優先度の低いフローBの経路を優先ルートであるルート#1から迂回ルートであるルート#2へと変更させるように制御を行う。負荷情報は、「負荷情報」の一例である。
第1実施形態では、コントローラ1は、PacketOutを用いる経路変更を行う。具体的には、コントローラ1は、優先ルートであるルート#1のトラフィック量が所定値に達すると、PacketInによるフローBのパケットのコントローラ1への転送をスイッチ#1のフローテーブルに設定する。当該フローテーブルの設定は、例えば、Flo
wModを用いて行われる。スイッチ#1がフローテーブルの設定の対象となるのは、スイッチ#1がルート#1とルート#2との分岐点に位置するスイッチ2であるためである。
次に、コントローラ1は、スイッチ#1からフローBのパケットを含むPacketInを受信すると、当該パケットの出力ポートとしてルート#2に接続するポートの指定を含むPacketOutをスイッチ#1に送信する。これによって、フローBの経路がルート#1からルート#2に変更される。
第1実施形態では、コントローラ1は、CPUの他にPLD(Programmable Logic Device)を備える。第1実施形態では、コントローラ1は、スイッチ#1からのフローBの
パケットを含むPacketInに対してPacketOutで応答する処理を、コントローラ1が備えるPLDに実行させる。これによって、PacketInの処理によるCPUへの処理負荷を低減させることができる。
また、CPUによる処理はソフトウェア処理であるが、PLDによる処理はハードウェア処理であるため、PLDの方がCPUよりも処理速度が速い。フローBに関するPacketInをPLDが処理することによって、ルート#2を用いて転送されるフローBの転送遅延をより小さく抑えることができる。以下、スイッチ2からのPacketInに対して迂回ルートへの出力を指示するPacketOutで応答してパケットを転送するコントローラ1の処理を、単に、パケット転送処理と称する。
PacketInは、「パケットの経路情報の要求」の一例である。PacketInはフローテーブルのエントリの問合せに用いられるメッセージであるので、フローテーブルのエントリは、「パケットの経路情報」の一例である。PacketOutは、「パケットの出力指示」の一例である。PacketInを用いて経路変更の対象のフローのパケットをコントローラ1へ転送するようにスイッチ2のフローテーブルを設定するFlowModは、「パケットの経路情報の要求の送信指示」の一例である。パケット転送処理は、「第1のスイッチから受信されるパケットの経路情報の要求について、前記第1の条件が満たされた場合の経路への前記パケットの出力指示を前記第1のスイッチに通知する処理」の一例である。
<通信システムで用いられるパケット>
図3は、負荷情報パケットのフォーマットの一部の一例を示す図である。負荷情報パケットは、スイッチ2からコントローラ1への負荷情報の送信に用いられるパケットである。したがって、負荷情報パケットは、制御プレーンを流れるパケットである。スイッチ2は、所定の周期で負荷情報パケットをコントローラ1に送信する。負荷情報パケットの送信周期は、例えば、1秒から数十秒の間で通信システム100の管理者によって任意に設定される。
図3では、負荷情報パケットのフォーマットのうち、第1実施形態に関わる一部が抽出されて示されている。負荷情報パケットは、ヘッダ部に、宛先アドレスと送信元アドレスとのフィールドを含む。宛先アドレスのフィールドには、コントローラ1のIPアドレスが設定される。送信元アドレスのフィールドには、スイッチ2のIPアドレスが設定される。
また、負荷情報パケットは、データ部に、ポート番号、入力/出力、負荷率のフィールドを含む。ポート番号のフィールドには、スイッチ2が備えるポートのうち対象となるポートの識別番号が格納される。
入力/出力のフィールドには、負荷率のフィールドに格納される情報が対象のポートの入力に関する情報であるのか、出力に関する情報であるのかを示す情報が格納される。例えば、入力/出力のフィールドに格納される、対象のポートの入力に関する情報であるのか、出力に関する情報であるのかを示す情報は、フラグである。
例えば、フラグが0である場合には、負荷率のフィールドに格納される情報が対象のポートの入力に関する情報であることが示される。例えば、フラグが1である場合には、負荷率のフィールドに格納される情報が対象のポートの出力に関する情報であることが示される。
負荷率のフィールドには、例えば、対象のポートの入力又は出力方向のパケット流量率が格納される。以下、ポートの入力方向のパケット流量率は、入力流量率と称される。ポートの出力方向のパケット流量率は、出力流量率と称される。
負荷情報パケットのデータ部には、例えば、スイッチ2が保持する全てのポートの入力及び出力について、ポート番号、入力/出力、負荷率のフィールドの組合せが含まれる。ただし、これに限定されず、スイッチ2は、例えば、スイッチ2が保持する全てのポートそれぞれについて、入力及び出力に関する情報を含む負荷情報パケットを作成し、コントローラ1に送信してもよい。
なお、負荷情報パケットで送信される情報は、ポートの入力又は出力流量率に限定されない。例えば、負荷情報パケットで、スイッチ2のCPUの使用率等の情報が送信されてもよい。
図4は、通信パケットのフォーマットの一部の一例である。通信パケットは、ユーザデータの伝送に用いられるパケットであり、各スイッチ2が中継を行うパケットである。したがって、通信パケットは、データプレーンを流れるパケットである。図4では、通信パケットのフォーマットのうち、第1実施形態に関わる一部が抽出されて示されている。
通信パケットのヘッダ部には、宛先アドレス、送信元アドレス、フロー種別を示す情報を格納するフィールドが含まれている。例えば、宛先が端末4である場合には、宛先アドレスのフィールドには端末4のIPアドレス10.1.1.20が格納される。例えば、送信元が映像配信サーバ3である場合には、送信元アドレスのフィールドには映像配信サーバ3のIPアドレス10.1.1.10が格納される。
フロー種別を示す情報を格納するフィールドは、宛先アドレス及び送信元アドレス以外でフロー識別情報として用いられる情報を格納するフィールドを示す。例えば、フロー識別情報として、宛先及び送信元IPアドレス以外に、宛先及び送信元ポート番号が用いられる場合には、フロー種別を示す情報を格納するフィールドには、宛先ポート番号と送信元ポート番号とのフィールドが相当する。
<装置構成>
図5は、コントローラ1のハードウェア構成の一例を示す図である。コントローラ1は、例えば、専用又は汎用のコンピュータである。コントローラ1は、CPU 101、メモリ102、PLD 103、ネットワークインタフェース104、外部記憶装置インタフェース105、入出力装置インタフェース106を備える。CPU 101、メモリ102、PLD 103、ネットワークインタフェース104、外部記憶装置インタフェース105、入出力装置インタフェース106は、バスによって電気的に接続される。
メモリ102は、主記憶装置として用いられる記憶装置である。メモリ102は、例え
ば、RAM(Random Access Memory)、ROM(Read Only Memory)を含む。RAMは、例えば、DRAM(Dynamic RAM)、SRAM(Static RAM)、SDRAM(Synchronous
DRAM)、のような半導体メモリである。メモリ102は、CPU 101に、ROMや外部記憶装置に格納されているプログラムをロードする作業領域を提供したり、バッファとして用いられたりする。
外部記憶装置インタフェース105は、外部記憶装置とのインタフェースである。外部記憶装置は、例えば、不揮発性メモリである。不揮発性メモリは、例えば、EPROM(Erasable Programmable ROM)、又はハードディスクドライブ(Hard Disk Drive)等である。外部記憶装置は、例えば、OS(Operating System)、OFコントローラ用プログラム、処理振分プログラム、その他アプリケーションプログラム等が格納される。
OFコントローラ用プログラムは、コンピュータをOpenFlowのコントローラとして動作させるためのプログラムである。処理振分プログラムは、パケット転送処理をPLD 103に実行させるためのプログラムである。なお、外部記憶装置は、コントローラ1の内部に搭載されてもよい。
PLD 103は、I/Oモジュール、論理回路、配線リソース、メモリ等の電子回路を備える電子部品である。PLD 103は、プログラム可能な論理回路で、プログラムされたロジックを実行する。具体的には、PLD 103は、配線リソースによるI/Oモジュール及び論理回路間の接続関係がメモリに書き込まれることによって、所定の処理のロジックを実行可能となる。PLD 103のメモリに、配線リソースによるI/Oモジュール及び論理回路間の接続関係を書き込むことを、例えば、コンフィグレーションと称する。ロジックとは、例えば、処理の手順、方法、又は、内容を示す。
PLD 103のコンフィグレーションは、例えば、コントローラ1の稼働中でも変更可能である。なお、PLD 103のコンフィグレーションの変更は、例えば、CPU 101によるPLDのコンフィグレーション変更のためのプログラムの実行によって行われる。PLDのコンフィグレーション変更のためのプログラムは、例えば、外部記憶装置に格納されている。PLD 103は、「ロジックデバイス」の一例である。ただし、「ロジックデバイス」はPLD 103に限定されない。「ロジックデバイス」の他の一例は、例えば、FPGA(Field Programmable Gate Array)である。また、「ロジックデ
バイス」はプログラミング可能な論理回路に限定されず、ASIC(Application Specific Integrated Circuit)等のプログラミング可能でない論理回路であってもよい。
CPU 101は、外部記憶装置に保持されたOSやプログラムをメモリ102にロードして実行することによって、様々な処理を実行する。CPU 101は、複数であってもよい。CPU 101は、「プロセッサ」の一例である。
ネットワークインタフェース104は、例えば、光ケーブル、LAN(Local Area Network)ケーブル等の有線のネットワーク回線のケーブルを接続する回路及びポートである。
入出力装置インタフェース106は、入力装置、及び、出力装置とのインタフェースである。入力装置は、例えば、キーボード、マウス等のポインティングデバイスである。出力装置は、例えば、ディスプレイ、プリンタである。
なお、図5に示されるコントローラ1のハードウェア構成は、一例であり、上記に限られず、実施の形態に応じて、適宜、構成要素の省略や置換、追加が可能である。例えば、コントローラ1は、CPU 101の他に、DSP(Digital Signal Processor)、ネッ
トワークプロセッサ等のプロセッサを備えてもよい。
スイッチ2は、例えば、専用又は汎用のコンピュータである。スイッチ2は、ハードウェア構成として、CPU、メモリ、ネットワークインタフェース、入出力インタフェース等を備える。各ハードウェア構成要素については、概要はコントローラ1と同様であり、説明を省略する。スイッチ2は、メモリに、OpenFlowスイッチ用プログラムと、負荷情報送信プログラムとを記憶する。OpenFlowスイッチ用プログラムは、OpenFlowによって定義されているOpenFlowスイッチとしての処理を実行させるためのプログラムである。負荷情報送信プログラムは、所定の周期で負荷情報をコントローラ1に送信するためのプログラムである。
図6は、コントローラ1の機能構成の一例を示す図である。コントローラ1は、機能構成要素として、通信部11、負荷情報管理部12、PLD転送処理部13、CPU転送処理部14、転送制御部15、負荷情報管理テーブル16、トポロジ情報テーブル17、振分判定テーブル18、フロー管理テーブル19を備える。
通信部11は、例えば、コントローラ1のCPU 101がOSを実行してネットワークインタフェース104を利用することによって達成される機能構成要素の一つである。通信部11が接続するネットワークは制御プレーンであり、通信部11が入出力を行うのは、制御プレーンを流れるパケットである。
通信部11は、ネットワークから入力されるパケットを所定の機能構成要素に出力する。具体的には、通信部11は、負荷情報パケット(図3参照)が入力された場合には、負荷情報パケットを負荷情報管理部12に出力する。通信部11は、例えば、PacketInが入力された場合には、転送制御部15からの指示に従って、PacketInをPLD転送処理部13又はCPU転送処理部14に出力する。また、通信部11は、例えば、PLD転送処理部13、CPU転送処理部14から入力されるパケットをネットワークに出力する。
PLD転送処理部13は、PLD 103と、CPU 101がPLD 103のコンフィグレーションの変更のためのプログラムを実行することとによって達成される。第1実施形態では、PLD転送処理部13は、転送制御部15からの指示によって、指定されたフローについてパケット転送処理を実行する。PLD転送処理部13がパケット転送処理を行う場合には、PLD転送処理部13には通信部11からPacketInが入力され、PLD転送処理部13からは通信部11にPacketOutが出力される。
CPU転送処理部14は、コントローラ1のCPU 101がOFコントローラ用プログラムを実行することによって達成される機能構成要素である。CPU転送処理部14は、通信部11から、パケットの入力を受ける。CPU転送処理部14は、入力されたパケットに応じたOpenFlowコントローラとしての処理を行う。
CPU転送処理部14は、パケットバッファ14Bを備えている。パケットバッファ14Bは、例えば、メモリ102の記憶領域の一部に作成される。CPU転送処理部14は、転送制御部15から指定されたフローについてのPacketInが入力された場合には、当該PacketInから当該フローのパケット本体を抽出し、抽出したパケットをパケットバッファ14Bに格納する。パケットバッファ14Bに格納されたパケットは、転送制御部15からの指示に従って、CPU転送処理部14によって、パケットバッファ14Bから読み出され、PacketOutに含められて所定のスイッチ2に送信される。
また、CPU転送処理部14は、転送制御部15からの指示にしたがってFlowModを作成し、作成したFlowModを転送制御部15から指定されたスイッチ2に送信する処理も行う。
負荷情報管理部12、転送制御部15、負荷情報管理テーブル16、トポロジ情報テーブル17、振分判定テーブル18、及び、フロー管理テーブル19は、例えば、それぞれ、コントローラ1のCPU 101が処理振分プログラムを実行することによって達成される機能構成要素の一つである。
負荷情報管理部12は、通信部11から負荷情報パケットの入力を受ける。負荷情報管理部12は、入力された負荷情報パケットの内容で、後述の負荷情報管理テーブル16を更新する。
転送制御部15は、後述の負荷情報管理テーブル16と振分判定テーブル18とに基づいて、経路変更の対象となるフローを検出する。転送制御部15は、PacketInを用いて経路変更の対象のフローのパケットをコントローラ1へ転送する設定を該当するスイッチ2に行うように、CPU転送処理部14に指示する。
また、転送制御部15は、振分判定テーブル18に基づいて、経路変更の対象のフローについてのパケット転送処理をPLD転送処理部13又はCPU転送処理部14のいずれで行うかを判定し、PLD転送処理部13又はCPU転送処理部14に経路変更の対象のフローのパケット転送処理を指示する。転送制御部15の処理の詳細は後述される。
図7は、負荷情報管理テーブル16の一例である。負荷情報管理テーブル16は、各スイッチ2から所定の周期で送信される負荷情報を保持するテーブルである。負荷情報管理テーブル16は、例えば、コントローラ1のメモリ102に保持されている。図7は、負荷情報パケットが図3で示されるフォーマットである場合の負荷情報管理テーブル16である。
負荷情報管理テーブル16のエントリには、例えば、スイッチ番号、ポート番号、入力流量率、出力流量率が格納されている。入力流量率又は出力流量率は、ポートの最大転送帯域に対するパケットの入力量又は出力量の割合が百分率で示されたものである。
負荷情報管理テーブル16は、各スイッチ2から負荷情報パケットが届くたびに、負荷情報管理部12によって更新される。
図8は、トポロジ情報テーブル17の一例である。トポロジ情報テーブル17は、通信システム100内の送信元及び宛先の各組合せについて、送信元と宛先との間に存在する経路の情報を保持する。トポロジ情報テーブル17は、例えば、予め通信システム100の管理者によって、メモリ102に保持されている。図8では、送信元としての映像配信サーバ3と宛先としての端末4との間に存在する2つの経路(図2参照)の情報が示されている。
トポロジ情報テーブル17のエントリには、例えば、ルート名、通信元アドレス、宛先アドレス、スイッチ数、スイッチ番号が格納されている。トポロジ情報テーブル17のエントリに格納されているスイッチ数は、当該経路上のスイッチ2の台数である。第1実施形態では、経由するスイッチ2の台数が最も少ない経路が優先ルートとして用いられ、その他の経路は迂回ルートとして用いられる。図8に示される例では、ルート#1のスイッチ数は3であり、ルート#2のスイッチ数は4であるので、ルート#1が優先ルート、ルート#2は迂回ルートである。ただし、経路の優先度は、経由するスイッチ2の台数に基
づくことに限定されない。
トポロジ情報テーブル17のエントリに格納されているスイッチ番号は、当該経路上の各スイッチ2の識別番号である。トポロジ情報テーブル17のエントリには、スイッチ番号とともに、当該経路上における各スイッチ2の入力ポート及び出力ポートの識別番号が格納されている。また、トポロジ情報テーブル17のエントリに格納されているスイッチ番号は経由順で格納されている。
図9は、振分判定テーブル18の一例である。振分判定テーブル18は、通信システム100内を流れるフローの種別ごとに、パケットの処理の振り分けルールと通信形態との対応付けとを保持する。図9では、映像配信サーバ3を送信元、端末4を宛先とするフローについての、フロー種別毎のパケットの処理の振り分けルールが示されている。
図9に示される例では、フロー種別は、「通常」と「低遅延」との2つが示されている。フロー種別「低遅延」のフローの方が、フロー種別「通常」のフローよりも優先度が高いフローである。フロー種別が「通常」、「低遅延」のいずれとなるかは、通信パケット内のフロー種別を示す情報を格納するフィールドの値によって判定される。また、「通常」、「低遅延」のフローの分類は、例えば、予め通信システム100の管理者によって設定されている。
図9に示される例では、パケットの処理の振り分けルールとして、スイッチ#2のポート#1の入力流量率と、スイッチ#3のポート#10の出力流量率とが用いられている。スイッチ#2のポート#1の入力流量率は、映像配信サーバ3と端末4間の優先ルートであるルート#1の混雑度を測る尺度の一つとして用いられている。ルートの混雑度は、例えば、ルートの輻輳度と言い換えることができる。
ただし、優先ルートであるルート#1の混雑度を測る尺度として用いられるのは、スイッチ#2のポート#1の入力流量率に限定されない。例えば、ルート#1の混雑度を測る尺度として用いられるのは、ルート#1のうちルート#2と共通していない部分に存在するスイッチ2のポートの入力流量率又は出力流量率であればよい。また、ルート#1の混雑具合を測る尺度として、ルート#1のうちルート#2と共通していない部分に存在するスイッチ2の複数のポートの入力流量率又は出力流量率を組み合わせて用いてもよい。
スイッチ#3のポート#10の出力流量率は、端末4へ入力されるトラフィック量を測る尺度の一つとして用いられている。ただし、端末4へ入力されるトラフィック量を測る尺度として用いられるのは、スイッチ#3のポート#10の出力流量率に限定されない。
図9に示される例では、通信形態として、3種類の通信形態が定義されている。各通信形態は、識別番号によって識別される。通信形態番号「1」の通信形態では、当該フローの転送に優先ルートが用いられる。通信形態番号「1」の通信形態では、コントローラ1は介さず、スイッチ2の転送によってパケットが転送される。初期状態では、いずれのフローも通信形態番号「1」の通信形態である。
通信形態番号「2」の通信形態では、当該フローの転送に迂回ルートが用いられる。通信形態番号「2」の通信形態では、当該フローのパケットをPacketInによってコントローラ1に転送させ、当該フローについてパケット転送処理をPLD転送処理部13に実行させる。
通信形態番号「3」の通信形態では、当該フローのパケットはコントローラ1においてバッファされる。
図9に示される例では、スイッチ#2のポート#1の入力流量率が0〜49%で、スイッチ#3のポート#10の出力流量率が0〜89%である場合には、フロー種別「通常」のフローは、通信形態番号「1」の通信形態となることが定義されている。スイッチ#2のポート#1の入力流量率が50%以上で、スイッチ#3のポート#10の出力流量率が0〜89%である場合には、フロー種別「通常」のフローは、通信形態番号「2」の通信形態となることが定義されている。スイッチ#3のポート#10の出力流量率が90%である場合には、フロー種別「通常」のフローは、通信形態番号「3」の通信形態となることが定義されている。
スイッチ#2のポート#1の入力流量率が0〜79%である場合には、フロー種別「低遅延」のフローは、通信形態番号「1」の通信形態となることが定義されている。スイッチ#2のポート#1の入力流量率が80%以上である場合には、フロー種別「低遅延」のフローは、通信形態番号「2」の通信形態となることが定義されている。
図9に示される振分判定テーブル18では、優先ルートであるルート#1が混雑し始めると、優先度の低いフロー種別「通常」のフローから迂回ルートであるルート#2に経路変更されることが示される。例えば、スイッチ#2のポート#1の入力流量率が50%以上で、優先ルートであるルート#1が混雑し始めたことが判定される。これによって、より優先度の高いフロー種別「低遅延」のフローの転送遅延が増加することを抑制する。
なお、優先ルートと迂回ルートは、例えば、送信元と宛先との組み合わせごとに決められている。そのため、優先ルートの混雑度を測る尺度、及び、宛先へ入力されるトラフィック量を測る尺度として、いずれのスイッチ2のいずれのポートの負荷情報を用いるかも、送信元と宛先との組み合わせごとに適宜決められる。
優先ルートは、「第1の経路」の一例である。迂回ルートは、「第2の経路」、「第1の条件が満たされた場合の経路」の一例である。優先ルートの混雑度を測る尺度に関する条件は、「第1の条件」、「第1の経路の混雑度に関する条件」の一例である。宛先へ入力されるトラフィック量を測る尺度に関する条件は「第1の経路の宛先の処理負荷に関する第2の条件」の一例である。
より具体的には、図9に示される振分判定テーブル18のフロー種別「通常」についての「スイッチ#2のポート#1の入力流量率が50%以上」というパケットの処理の振り分けルールは、「第1の条件」の一例である。また、図9に示される振分判定テーブル18のフロー種別「低遅延」についての「スイッチ#2のポート#1の入力流量率が80%以上」というパケットの処理の振り分けルールは、「第1の条件」の他の一例である。図9に示される振分判定テーブル18のスイッチ#3のポート#10の出力流量率が90%以上というパケットの処理の振り分けルールは、「第1の経路の宛先の処理負荷に関する第2の条件」の一例である。通信形態番号「2」の通信形態は、「第1の条件が満たされた場合の経路に関する情報」の一例である。
なお、図9に示される振分判定テーブル18は一例である。通信形態は、例えば、優先ルートの混雑度を測る尺度に関する条件、又は、宛先へ入力されるトラフィック量を測る尺度に関する条件のいずれかに基づいて決定されてもよい。例えば、コントローラ1は、スイッチ#2のポート#1の入力流量率が50%以上であれば、スイッチ#3のポート#10の出力流量率に関わらず、該当するフローの通信形態を通信形態番号「2」に変更することを判定してもよい。
図10は、フロー管理テーブル19の一例である。フロー管理テーブル19は、通信シ
ステム100内を流れているフローに関する情報を保持する。フロー管理テーブル19は、例えば、メモリ102に保持されている。
フロー管理テーブル19のエントリには、フロー名、送信元アドレス、宛先アドレス、フロー種別、通信形態番号が格納されている。フロー管理テーブル19のエントリのフロー種別には、例えば、「通常」、「低遅延」のいずれかが格納される。フロー管理テーブル19のエントリの通信形態番号には、当該フローに適用されている通信形態の通信形態番号が格納されている。
フロー管理テーブル19のエントリには、フロー名、送信元アドレス、宛先アドレス、フロー種別は、例えば、通信システム100の管理者によって予め入力されている。フロー管理テーブル19のエントリの通信形態番号は、通信形態が変更になる度に、転送制御部15によって更新される。
なお、負荷情報管理テーブル16、トポロジ情報テーブル17、振分判定テーブル18、フロー管理テーブル19それぞれは、図7〜図10に示される例に限定されない。
<処理の流れ>
図11A及び図11Bは、転送制御部15の処理のフローチャートの一例である。図11A及び図11Bに示される処理は、所定の周期で実行される。図11A及び図11Bに示される処理の実行周期は、例えば、10ミリ秒から1秒の間で通信システム100の管理者によって任意に設定される。図11A及び図11Bに示される処理の実行周期は、例えば、スイッチ2の負荷情報パケットの送信周期と同じであってもよい。
図11A及び図11Bに示される処理は、図9に示される振分判定テーブル18において定義されている通信形態を前提とした場合の処理である。図11A及び図11Bに示される処理の実行主体は、コントローラ1のCPU 101であるが、便宜上、CPU 101が処理振分プログラムを実行することによって達成される機能構成要素である転送制御部15を主体として説明される。
OP1では、転送制御部15は、負荷情報管理テーブル16と振分判定テーブル18とを照らし合わせ、各フローの通信形態を判定する。OP2では、転送制御部15は、負荷情報管理テーブル16と振分判定テーブル18との照らし合わせの結果、通信形態が変更となるフローが存在するか否かを判定する。通信システム100内を流れるフローの現在の通信形態は、第1実施形態では、フロー管理テーブル19に保持されている(図10参照)。
通信形態が変更となるフローが存在する場合には(OP2:YES)、処理がOP3に進む。通信形態が変更となるフローが存在しない場合には(OP2:NO)、図11Aに示される処理が終了する。
OP3では、転送制御部15は、通信形態が変更となるフローの変更後の通信形態番号が「1」であるか否かを判定する。以降、通信形態が変更となるフローを、対象フローと称する。対象フローの変更後の通信形態番号が「1」である場合には(OP3:YES)、処理がOP4に進む。対象フローの変更後の通信形態番号が「1」でない場合には(OP3:NO)、処理が図11BのOP11に進む。
OP4からOP7の処理は、対象フローの変更後の通信形態番号が「1」である場合の処理である。OP4では、転送制御部15は、パケットバッファ14B内に対象フローのパケットが蓄積されているか否かを判定する。対象フローの変更前の通信形態番号が「3
」である場合には、パケットバッファ14B内に対象フローのパケットが蓄積されているからである。
パケットバッファ14B内に対象フローのパケットが蓄積されている場合には(OP4:YES)、処理がOP5に進む。パケットバッファ14B内に対象フローのパケットが蓄積されていない場合には(OP4:NO)、処理がOP6に進む。
OP5では、転送制御部15は、パケットバッファ14B内の対象フローのパケットの出力ポートとして優先ルートに接続されるポートを指定するPacketOutを該当のスイッチ2に出力するように、CPU転送処理部14に指示する。これによって、CPU転送処理部14は、パケットバッファ14B内の対象フローのパケットの出力ポートとして優先ルートに接続されるポートを指定するPacketOutを生成し、生成したPacketOutを該当のスイッチ2に出力する。
PacketOutの送信先に該当するスイッチ2は、パケットバッファ14Bに蓄積されているパケットが含まれていたPacketInの送信元のスイッチ2である。また、CPU転送処理部14によって生成されるPacketOutには、例えば、パケットバッファ14Bに蓄積されている対象フローのパケットと、当該パケットの出力ポートとして優先ルートに接続されている該当のスイッチ2のポートの指定とが含まれている。該当のスイッチ2のいずれのポートが優先ルートに接続されているかは、トポロジ情報テーブル17を参照することによって取得される。
OP6では、転送制御部15は、対象フローのパケットを優先ルートへ転送する設定を該当のスイッチ2に送信するように、CPU転送処理部14に指示する。CPU転送処理部14は、転送制御部15からの指示を受けて、対象フローのパケットの優先ルートへの転送を該当のスイッチ2のフローテーブルに設定するFlowModを該当のスイッチ2に送信する。これによって、該当のスイッチ2のフローテーブルが書き換えられ、該当のスイッチ2は、対象フローのパケットを優先ルートへ転送するようになる。
OP6における該当のスイッチ2は、例えば、優先ルートと迂回ルートとの分岐点に位置するスイッチ2である。該当のスイッチ2に送信されるFlowModには、例えば、対象フローのフロー識別情報と、出力ポートとして優先ルートに接続されている該当のスイッチ2のポートの指定とが含まれている。優先ルートと迂回ルートとの分岐点に位置するスイッチ2、及び、該当のスイッチ2のいずれのポートが優先ルートに接続されているかは、トポロジ情報テーブル17を参照することによって取得される。
OP7では、転送制御部15は、フロー管理テーブル19の対象フローのエントリの通信形態番号を「1」に更新する。その後、図11Aに示される処理が終了する。
図11Bに示される処理は、対象フローの変更後の通信形態番号が「2」又は「3」である場合の処理である。OP11では、転送制御部15は、対象フローの変更後の通信形態番号が「2」であるか否かを判定する。対象フローの変更後の通信形態番号が「2」である場合には(OP11:YES)、処理がOP12に進む。対象フローの変更後の通信形態番号が「2」でない場合には(OP11:NO)、処理がOP17に進む。
OP12からOP16の処理は、対象フローの変更後の通信形態番号が「2」である場合の処理である。OP12では、転送制御部15は、パケットバッファ14B内に対象フローのパケットが蓄積されているか否かを判定する。
パケットバッファ14B内に対象フローのパケットが蓄積されている場合には(OP1
2:YES)、処理がOP13に進む。パケットバッファ14B内に対象フローのパケットが蓄積されていない場合には(OP12:NO)、処理がOP14に進む。
OP13では、転送制御部15は、パケットバッファ14B内の対象フローのパケットの出力ポートとして迂回ルートに接続されるポートを指定するPacketOutを該当のスイッチ2に出力するように、CPU転送処理部14に指示する。これによって、CPU転送処理部14は、パケットバッファ14B内の対象フローのパケットの出力ポートとして迂回ルートに接続されるポートを指定するPacketOutを生成し、生成したPacketOutを該当のスイッチ2に出力する。OP13の処理は、OP5の処理と同様である。
OP14では、転送制御部15は、PacketInを用いて対象フローのパケットをコントローラ1へ転送する設定を該当のスイッチ2に送信するように、PLD転送処理部13に指示する。PLD転送処理部13は、転送制御部15からの指示を受けて、PacketInを用いる対象フローのパケットのコントローラ1への転送を該当のスイッチ2のフローテーブルに設定するFlowModを該当のスイッチ2に送信する。これによって、該当のスイッチ2は、対象フローのパケットを受信すると、当該パケットをPacketInに含めてコントローラ1に転送するようになる。
該当のスイッチ2は、例えば、優先ルートと迂回ルートとの分岐点に位置するスイッチ2である。該当のスイッチ2に送信されるFlowModには、例えば、対象フローのフロー識別情報と、PacketInの送信指示又は出力ポートとしてコントローラ1に接続されている該当のスイッチ2のポートの指定とが含まれている。
OP15では、転送制御部15は、フロー管理テーブル19の対象フローのエントリの通信形態番号を「2」に更新する。
OP16では、転送制御部15は、対象フローについてのパケット転送処理の実行をPLD転送処理部13に指示する。具体的には、転送制御部15は、対象フローについてのPacketInの入力に対して、出力ポートとして迂回ルートに接続されるポートを指定するPacketOutを出力するように、PLD転送処理部13に指示する。PLD転送処理部13には、指示とともに、例えば、対象フローのフロー識別情報、PacketOutの送信先のスイッチ2の迂回ルートに接続されているポート番号とが入力される。転送制御部15からの指示を受けて、PLD転送処理部13は、PLD 103のコンフィグレーションの変更を行う。
また、転送制御部15は、通信部11に対して、対象フローのPacketInをPLD転送処理部13に出力するように指示する。その後、図11Bに示される処理が終了する。
OP17では、転送制御部15は、対象フローの変更後の通信形態番号が「3」であるか否かを判定する。対象フローの変更後の通信形態番号が「3」である場合には(OP17:YES)、処理がOP18に進む。対象フローの変更後の通信形態番号が「3」でない場合には(OP17:NO)、図11Bに示される処理が終了する。
OP18からOP20の処理は、対象フローの変更後の通信形態番号が「3」である場合の処理である。
OP18では、転送制御部15は、PacketInを用いて対象フローのパケットをコントローラ1へ転送する設定を該当のスイッチ2に送信するように、PLD転送処理部
13に指示する。該当のスイッチ2は、例えば、優先ルートと迂回ルートとの分岐点に位置するスイッチ2である。OP18の処理は、OP14の処理と同様である。
OP19では、転送制御部15は、フロー管理テーブル19の対象フローのエントリの通信形態番号を「3」に更新する。
OP20では、転送制御部15は、対象フローのパケットを含むPacketInの入力に対して、当該PacketInに含まれるパケットをパケットバッファ14Bに蓄積するようにCPU転送処理部14に指示する。また、転送制御部15は、通信部11に対して、対象フローのPacketInをCPU転送処理部14に出力するように指示する。その後、図11Bに示される処理が終了する。
なお、図11AのOP2において、通信形態が変更となるフローが複数存在する場合には、転送制御部15は、図11AのOP3以降の処理、及び、図11Bに示される処理を、通信形態が変更となるフローそれぞれについて繰り返し実行する。
なお、図11A及び図11Bに示される処理では、パケットバッファ14B内に蓄積されているパケットの出力に係る処理(OP4、OP5、OP12、OP13)と、通信形態の変更に係る処理(OP6、OP7、OP14〜OP16)とが、一連の処理として実行されている。ただし、これに限られず、パケットバッファ14B内に蓄積されているパケットの出力に係る処理と通信形態の変更に係る処理とは、異なる契機で実行されてもよい。例えば、OP1〜OP5、及び、OP11〜OP13の、パケットバッファ14B内に蓄積されているパケットの出力に係る処理は所定の周期で実行されてもよい。例えば、OP1〜OP3、OP6〜OP7、OP11、OP14〜OP16、及び、OP17〜OP20の通信形態の変更に係る処理は、スイッチ2からPacketInが届いたことを契機に実行されてもよい。
<具体例>
具体例として、図1に示される通信システム100において、映像配信サーバ3から端末4へのフローA、フローBの経路が変更される場合について説明する。フローAは、フローBよりも優先度が高く、フロー種別「低遅延」のフローである。フローBは、フロー種別「通常」のフローである。
図12は、具体例に係る通信システム100の初期状態におけるスイッチ#1、#2、#4、#5のフローテーブルの一例である。図12に示されるフローテーブルには、ポート#1から送信元アドレス10.1.1.10、宛先アドレス10.1.1.20のパケットが入力された場合には、ポート#10から出力することを示す登録番号「1」のエントリが格納されている(図1参照)。
図12に示されるフローテーブルが、ルート#1とルート#2との分岐点に位置するスイッチ#1(図2参照)のフローテーブルである場合には、登録番号「1」のエントリは該当パケットをルート#1に転送することが示される。出力ポートであるスイッチ#1のポート#10はルート#1に接続されているポートであるからである。すなわち、初期状態では、フローA、フローBともに優先ルートであるルート#1に転送されることが示される。
図12に示されるフローテーブルが、スイッチ#2のフローテーブルである場合には、登録番号「1」のエントリは該当パケットをルート#1に転送することが示される。出力ポートであるスイッチ#2のポート#10はルート#1に接続されているポートであるからである。
図12に示されるフローテーブルが、スイッチ#4及びスイッチ#5のフローテーブルである場合には、登録番号「1」のエントリは該当パケットをルート#2に転送することが示される。出力ポートであるスイッチ#4及びスイッチ#5のポート#10はルート#2に接続されているポートであるからである。
図13は、具体例に係る通信システム100の初期状態におけるスイッチ#3のフローテーブルの一例である。図13に示されるフローテーブルには、ポート#1から送信元アドレス10.1.1.10、宛先アドレス10.1.1.20のパケットが入力された場合には、ポート#10から出力することを示す登録番号「1」のエントリが格納されている(図1参照)。また、図13に示されるフローテーブルには、ポート#5から送信元アドレス10.1.1.10、宛先アドレス10.1.1.20のパケットが入力された場合には、ポート#10から出力することを示す登録番号「2」のエントリが格納されている(図1参照)。
スイッチ#3はルート#1とルート#2との合流点に位置している(図2参照)。そのため、図13に示されるスイッチ#3のフローテーブルには、ルート#1から入力されるパケットを転送するための登録番号「1」のエントリと、ルート#2から入力されるパケットを転送するための登録番号「2」のエントリとが格納されている。
したがって、図12及び図13より、通信システム100の初期状態において、各スイッチ2にルート#1とルート#2とが設定されていることが示されている。
具体例において、初期状態におけるコントローラ1のフロー管理テーブル19は、図10に示される通りである。
図14は、優先ルートであるルート#1が混雑し始めた場合のフローA、フローBの経路の一例を示す図である。(1)コントローラ1は、スイッチ#2から、スイッチ#2のポート#1の入力流量率が50%であることを含む負荷情報を受信する。スイッチ#2からの当該負荷情報によって、優先ルートであるルート#1が混雑し始めたことが示される。また、コントローラ1は、スイッチ#3から、スイッチ#3のポート#10の出力流量率が50%であることを含む負荷情報がコントローラ1に送信される。これらの負荷情報の内容は、負荷情報管理テーブル16に反映される。
(2)コントローラ1は、負荷情報管理テーブル16と振分判定テーブル18に基づいて、フロー種別「通常」であるフローBの通信形態を通信形態番号「2」の通信形態に変更することを判定する(図11B、OP11:YES)。すなわち、コントローラ1は、フローBについてのパケット転送処理をPLD転送処理部13に実行させることを判定する。
(3)コントローラ1は、PacketInを用いてフローBのパケットをコントローラ1へ転送することをスイッチ#1のフローテーブルに設定する(図11B、OP14)。スイッチ#1は、ルート#1とルート#2との分岐点に位置するスイッチ2である。
これによって、スイッチ#1は、フローAのパケットはルート#1に、フローBのパケットはコントローラ1へPacketInによって転送するようになる。
(4)コントローラ1は、フローBのパケットの出力ポートとしてルート#2に接続されているポートを指定するPacketOutをスイッチ#1に送信するように、PLD転送処理部13を設定する(図11B、OP16)。スイッチ#1からフローBのパケッ
トがPacketInによってコントローラ1へ転送されると、コントローラ1のPLD転送処理部13は、例えば、フローBのパケットの出力ポートとしてルート#2に接続されるポートを指定するPacketOutをスイッチ#1に送信する。
PLD転送処理部13から送信されるPacketOutには、例えば、PacketInによってコントローラ1に転送されたフローBのパケットと、出力ポートとしてスイッチ#1のポート#5の指定とが含まれている。
スイッチ#1は、当該PacketOutを受信すると、当該PacketOutに含まれるフローBのパケットを、ルート#2に接続するポート#5から出力する。これによって、フローBの経路が、ルート#1からルート#2へ変更される。
図15は、図14に示される処理後のコントローラ1のフロー管理テーブル19の一例である。コントローラ1は、フローBの通信形態を通信形態番号「1」の通信形態から通信形態番号「2」の通信形態に変更することを判定すると、フロー管理テーブル19のフローBのエントリの通信形態番号を「2」に更新する(図11B、OP15)。そのため、図15に示されるフロー管理テーブル19のフローBのエントリの通信形態番号は「2」となっている。
図16は、図14に示される処理後のスイッチ#1のフローテーブルの一例である。スイッチ#1のフローテーブルは、コントローラ1から、PacketInを用いてフローBのパケットをコントローラ1に転送するようにFlowModによって設定される(図11B、OP14)。そのため、スイッチ#1のフローテーブルには、スイッチ#1のポート#1からフローBのパケットが入力された場合には、コントローラ1に接続するポート#20から当該パケットを出力することを示す登録番号「2」のエントリが格納されている。
なお、図14において、フローAに関しての説明は省略されているが、コントローラ1が、PacketInを用いてフローBのパケットをコントローラ1へ転送するように指示するとともに、フローAのパケットをルート#1に転送するようにスイッチ#1に指示
してもよい。そのため、図16に示されるスイッチ#1のフローテーブルには、スイッチ
#1のポート#1からフローAのパケットが入力された場合には、ルート#1に接続するポート#10に出力することを示す登録番号「1」のエントリが格納されている。
ただし、フローAのパケットのルート#1への転送の指示は明示的になされなくともよい。登録番号の小さいエントリが優先して採用されるというフローテーブルの特徴を用いて、より小さい登録番号で、フローBのパケットについてPacketInを送信するように指示するエントリをスイッチ#1のフローブルに登録させてもよい。
なお、図14に示される処理後の、スイッチ#2〜#5のフローテーブルには、初期状態から変更はない。
図17は、図14に示される処理後、ルート#1がさらに混雑してきた場合のフローA、フローBの経路の一例を示す図である。(1)コントローラ1は、スイッチ#2から、スイッチ#2のポート#1の入力流量率が80%であることを含む負荷情報を受信する。スイッチ#2からの当該負荷情報によって、ルート#1がさらに混雑してきたことが示される。また、コントローラ1は、スイッチ#3から、スイッチ#3のポート#10の出力流量率が80%であることを含む負荷情報を受信する。
(2)コントローラ1は、負荷情報管理テーブル16と振分判定テーブル18に基づい
て、フロー種別「低遅延」であるフローAの通信形態を通信形態番号「2」の通信形態に変更することを判定する(図11B、OP11:YES)。すなわち、コントローラ1は、フローAについてのパケット転送処理をPLD転送処理部13に実行させることを判定する。
(3)コントローラ1は、PacketInを用いてフローAのパケットをコントローラ1へ転送することをスイッチ#1のフローテーブルに設定する(図11B、OP14)。スイッチ#1は、ルート#1とルート#2との分岐点に位置するスイッチ2である。
これによって、スイッチ#1は、フローAのパケットも、フローBのパケットも、PacketInを用いてコントローラ1へ転送するようになる。
(4)コントローラ1は、フローAのパケットの出力ポートとしてルート#2に接続されるポートを指定するPacketOutをスイッチ#1に送信するように、PLD転送処理部13を設定する(図11B、OP16)。スイッチ#1からPacketInを用いてフローAのパケットがコントローラ1へ転送されると、コントローラ1のPLD転送処理部13は、例えば、フローAのパケットの出力ポートとしてルート#2に接続されるポートを指定するPacketOutをスイッチ#1に送信する。
スイッチ#1に送信されるPacketOutには、例えば、PacketInによってコントローラ1に転送されたフローAのパケットと、出力ポートとしてスイッチ#1のポート#5の指定とが含まれている。
スイッチ#1は、当該PacketOutを受信すると、当該PacketOutに含まれるフローAのパケットを、ルート#2に接続されるポート#5から出力する。これによって、フローAの経路が、ルート#1からルート#2へ変更される。
図18は、図17に示される処理後のコントローラ1のフロー管理テーブル19の一例である。コントローラ1は、フローAの通信形態を通信形態番号「1」の通信形態から通信形態番号「2」の通信形態に変更することを判定すると、フロー管理テーブル19のフローAのエントリの通信形態番号を「2」に更新する(図11B、OP15)。そのため、図18に示されるフロー管理テーブル19のフローAのエントリの通信形態番号は「2」となっている。
図19は、図17に示される処理後のスイッチ#1のフローテーブルの一例である。スイッチ#1のフローテーブルは、コントローラ1から、PacketInを用いてフローAのパケットをコントローラ1に転送するようにFlowModによって設定される(図11B、OP14)。そのため、スイッチ#1のフローテーブルには、スイッチ#1のポート#1からフローAのパケットが入力された場合には、コントローラ1に接続するポート#20から出力することを示す登録番号「1」のエントリが格納されている。
図20は、図17に示される処理後、端末4へ入力されるトラフィック量が増大した場合のフローA、フローBの経路の一例を示す図である。(1)コントローラ1は、スイッチ#2から、スイッチ#2のポート#1の入力流量率が80%であることを含む負荷情報を受信する。また、コントローラ1は、スイッチ#3から、スイッチ#3のポート#10の出力流量率が90%であることを含む負荷情報を受信する。スイッチ#3からの当該負荷情報によって、端末4へ入力されるトラフィック量が増大したことが示される。
(2)コントローラ1は、負荷情報管理テーブル16と振分判定テーブル18に基づいて、フロー種別「通常」であるフローBの通信形態を通信形態番号「3」の通信形態に変
更することを判定する(図11B、OP17:YES)。すなわち、コントローラ1は、フローBのパケットは転送せずにコントローラ1のパケットバッファ14Bにバッファされるように変更することを判定する。
(3)図20では、すでに、スイッチ#1に、PacketInを用いてフローBのパケットをコントローラ1に転送する設定がなされている。また、コントローラ1では、フローBのパケットをバッファするように、CPU転送処理部14に指示される(図11B、OP20)。そのため、コントローラ1は、スイッチ#1からPacketInを用いてフローBのパケットが転送されると、フローBのパケットをパケットバッファ14Bにバッファする。
これによって、フローBの流れを一旦止め、端末4へ流入するトラフィック量を低減することができ、端末4に係る処理負荷の増大を抑制することができる。
図21は、図20に示される処理後のコントローラ1のフロー管理テーブル19の一例である。コントローラ1は、フローBの通信形態が通信形態番号「2」の通信形態から通信形態番号「3」の通信形態に変更することを判定すると、フロー管理テーブル19のフローAのエントリの通信形態番号を「3」に更新する(図11B、OP19)。そのため、図21に示されるフロー管理テーブル19のフローBのエントリの通信形態番号は「3」となっている。なお、図20に示される処理によって、いずれのスイッチ2のフローテーブルも変更されない。
図22は、図20に示される処理後、端末4へ入力されるトラフィック量が減少した場合のフローA、フローBの経路の一例を示す図である。(1)コントローラ1は、スイッチ#2から、スイッチ#2のポート#1の入力流量率が80%であることを含む負荷情報を受信する。また、コントローラ1は、スイッチ#3から、スイッチ#3のポート#10の出力流量率が80%であることを含む負荷情報を受信する。スイッチ#3からの当該負荷情報によって、端末4へ入力されるトラフィック量が減少したことが示される。
(2)コントローラ1は、負荷情報管理テーブル16と振分判定テーブル18に基づいて、フロー種別「通常」であるフローBの通信形態を通信形態番号「2」の通信形態に変更することを判定する(図11B、OP17:YES)。すなわち、コントローラ1は、フローBについてのパケット転送処理をPLD転送処理部13に実行させることを判定する。
(3)コントローラ1は、バッファされていたフローBのパケットを読み出し、当該パケットの出力ポートとしてルート#2に接続されるポートを指定するPacketOut
をスイッチ#1に転送する(図11B、OP12:YES、OP13)。
(4)コントローラ1は、フローBのパケットの出力ポートとしてルート#2に接続されるポートを指定するPacketOutをスイッチ#1に送信するように、PLD転送処理部13を設定する(図11B、OP16)。以降、スイッチ#1からPacketInを用いてフローBのパケットがコントローラ1へ転送されると、コントローラ1のPLD転送処理部13は、フローBのパケットの出力ポートとしてルート#2に接続されるポートを指定するPacketOutをスイッチ#1に送信する。これによって、再び、フローBがルート#2を通過するようになる。
その後、例えば、ルート#1の混雑が解消された場合には、スイッチ2からの負荷情報によって、フローA、フローBの通信形態が、ルート#1によって転送を行う通信形態番号「1」の通信形態に変更されることが判定される。
<第1実施形態の作用効果>
第1実施形態では、コントローラ1は、優先ルートが混雑してきた場合に、優先度の低いフローの経路を迂回ルートに変更する制御を行う。この経路変更は、第1実施形態では、スイッチ2に経路変更の対象のフローのパケットをPacketInによってコントローラ1に転送させ、コントローラ1がPacketOutによってスイッチ2における当該パケットの出力ポートを指定することで行われる。第1実施形態では、経路変更の対象のフローについてPacketIn、PacketOutに関わるパケット転送処理を、処理速度の速いコントローラ1のPLD 103に実行させる。
したがって、第1実施形態によれば、コントローラ1のCPU 101にかかる処理負荷を軽減させることができる。これによって、コントローラ1のCPU 101が実行する他のフローの処理に、例えば、経路変更の対象のフローについてのパケット転送処理によって処理遅延が増大する等の、影響を与えることを抑制することができる。
また、PLD 103による処理はハードウェア処理であって、ソフトウェア処理であるCPU 101による処理よりも処理速度が速い。したがって、優先ルートよりも転送遅延が大きくなる迂回ルートへコントローラ1を介してフローが転送される場合でも、当該フローの転送遅延が増加することを抑制することができる。
また、第1実施形態によれば、例えば、振分判定テーブル18において、フローの種別ごとに、パケットの振り分けルールと通信形態とが設定されている。これによって、フローの種別に応じて、優先ルートの混雑度に基づいた経路変更と、パケットの処理の振り分け先の切替とを行うことができ、きめ細かい制御を行うことができる。
また、第1実施形態によれば、送信先の端末4へのトラフィックの流入量が閾値を超えると、優先度の低いフローのパケットは、コントローラ1にバッファされる。これによって、優先度の低いフローのトラフィックを減少させ、端末4の処理負荷の増大を抑制することができる。また、これによって、端末4へ流入するトラフィックの輻輳の収束速度を速めることができる。
また、第1実施形態では、優先度の高いフローは、優先的に優先ルートで転送することによって、優先度の高いフローの転送遅延が増加することを抑制することができる。
<その他>
第1実施形態では、PacketInに対象のパケット本体が含まれていることを前提として説明された。ただし、PacketInは、対象のパケット本体を含めなくても用いることができる。第1実施形態において説明された技術は、パケット本体が含まれていないPacketInが用いられる場合でも適用可能である。
PacketInに対象のパケットの本体が含まれていない場合には、例えば、通信形態番号「3」の通信形態において、パケットバッファ14BにPacketInそのものがバッファされる。
また、第1実施形態は、OpenFlowコントローラとOpenFlowスイッチとを前提に説明されたが、第1実施形態で説明された技術の適用は、OpenFlowを実装するシステムに限定されない。例えば、複数のスイッチの経路制御を1台又は複数台のコントローラで行うシステムであれば、第1実施形態で説明された技術を適用可能である。
<プロセッサ>
CPUは、MPU(Microprocessor)、プロセッサとも呼ばれる。CPUは、単一のプロセッサに限定される訳ではなく、マルチプロセッサ構成であってもよい。また、単一のソケットで接続される単一のCPUがマルチコア構成を有していても良い。上記各部の少なくとも一部の処理は、CPU以外のプロセッサ、例えば、DSP、NPU(Network Processing Unit)等の専用プロセッサで行われても良い。
<記録媒体>
コンピュータその他の機械、装置(以下、コンピュータ等)に上記いずれかの機能を実現させるプログラムをコンピュータ等が読み取り可能な記録媒体に記録することができる。コンピュータ等に、この記録媒体のプログラムを読み込ませて実行させることにより、その機能を提供させることができる。
ここで、コンピュータ等が読み取り可能な記録媒体とは、データやプログラム等の情報を電気的、磁気的、光学的、機械的、または化学的作用によって蓄積し、コンピュータ等から読み取ることができる非一時的な記録媒体をいう。このような記録媒体のうちコンピュータ等から取り外し可能なものとしては、例えばフレキシブルディスク、光磁気ディスク、CD−ROM、CD−R/W、DVD、ブルーレイディスク、DAT、8mmテープ、フラッシュメモリなどのメモリカード等がある。また、コンピュータ等に固定された記録媒体としてハードディスク、ROM(リードオンリーメモリ)等がある。さらに、SSD(Solid State Drive)は、コンピュータ等から取り外し可能な記録媒体としても、コ
ンピュータ等に固定された記録媒体としても利用可能である。
1 OpenFlowコントローラ
2 OpenFlowスイッチ
11 通信部
12 負荷情報管理部
13 PLD転送処理部
14 CPU転送処理部
14B パケットバッファ
15 転送制御部
16 負荷情報管理テーブル
17 トポロジ情報テーブル
18 振分判定テーブル
19 フロー管理テーブル
101 CPU
102 メモリ
103 PLD

Claims (7)

  1. 制御対象の複数のスイッチそれぞれの負荷情報を受信する受信部と、
    所定の処理のロジックを実行するロジックデバイスと、
    第1の条件が前記負荷情報によって満たされた場合に、前記複数のスイッチのうちの第1のスイッチから受信されるパケットの経路情報の要求について、前記第1の条件が満たされた場合の経路への前記パケットの出力指示を前記第1のスイッチに通知する処理を前記所定の処理として前記ロジックデバイスに実行させるプロセッサと、
    を備える通信制御装置。
  2. 前記プロセッサは、
    前記第1の条件が前記負荷情報によって満たされた場合に、前記第1のスイッチとして、前記パケットが属するフローの経路である第1の経路と前記第1の条件が満たされた場合に前記第1の経路の代わりに用いられる第2の経路との分岐点に位置するスイッチに、前記パケットの経路情報の要求の送信指示を送信し、前記第1のスイッチからの前記パケットの経路情報の要求に対して、前記第2の経路に接続される前記第1のスイッチのポートを出力ポートとして指定する前記パケットの出力指示を前記第1のスイッチに通知する処理を前記ロジックデバイスに実行させる、
    請求項1に記載の通信制御装置。
  3. 前記複数のスイッチ間を流れる複数のフローの種別それぞれについて、前記複数のフローの種別のそれぞれで異なる前記第1の条件と、前記第1の条件が満たされた場合の経路に関する情報と、を保持する記憶部をさらに備え、
    前記プロセッサは、前記第1の条件が満たされたフローについて、前記第1のスイッチから受信されるパケットの経路情報の要求に対して、前記第1の条件が満たされた場合の経路への前記パケットの出力指示を前記第1のスイッチに通知する処理を前記所定の処理として前記ロジックデバイスに実行させる、
    請求項1又は2に記載の通信制御装置。
  4. 前記第1の条件は、前記第1の経路の混雑度に関する条件であって、
    前記プロセッサは、
    前記第1の経路の宛先の処理負荷に関する第2の条件が前記負荷情報によって満たされた場合に、前記第1のスイッチからのパケットの経路情報の要求を前記ロジックデバイスに入力せずに、バッファに蓄積する、
    請求項2に記載の通信制御装置。
  5. 前記複数のスイッチ間を流れる複数のフローの種別それぞれについて、前記複数のフローの種別のそれぞれで異なる前記第1の条件と、前記第1の条件が満たされた場合の経路の情報と、を保持し、前記複数のフローの種別のうちより優先度の低いフローの種別それぞれについては、前記第1の経路の宛先の処理負荷に関する第2の条件をさらに保持する記憶部をさらに備え、
    前記プロセッサは、前記第1の条件が満たされたフローについて、前記第1のスイッチから受信されるパケットの経路情報の要求について、前記第1の条件が満たされた場合の経路への前記パケットの出力指示を前記第1のスイッチに通知する処理を前記所定の処理として前記ロジックデバイスに実行させ、前記第2の条件が満たされたフローについて、前記第1のスイッチからのパケットの経路情報の要求を前記ロジックデバイスに入力せずに、バッファに蓄積する、
    請求項4に記載の通信制御装置。
  6. 制御対象の複数のスイッチそれぞれの負荷情報を受信し、
    第1の条件が前記負荷情報によって満たされた場合に、所定の処理のロジックを実行するロジックデバイスに、前記複数のスイッチのうちの第1のスイッチから受信されるパケットの経路情報の要求について、前記第1の条件が満たされた場合の経路への前記パケットの出力指示を前記第1のスイッチに通知する処理を前記所定の処理として実行させる、通信制御方法。
  7. プロセッサに、
    制御対象の複数のスイッチそれぞれの負荷情報を受信させ、
    第1の条件が前記負荷情報によって満たされた場合に、所定の処理のロジックを実行するロジックデバイスに、前記複数のスイッチのうちの第1のスイッチから受信されるパケットの経路情報の要求について、前記第1の条件が満たされた場合の経路への前記パケットの出力指示を前記第1のスイッチに通知する処理の前記所定の処理としての実行を指示させる、
    ための通信制御プログラム。
JP2017118434A 2017-06-16 2017-06-16 通信制御装置、通信制御方法、及び、通信制御プログラム Active JP6834795B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2017118434A JP6834795B2 (ja) 2017-06-16 2017-06-16 通信制御装置、通信制御方法、及び、通信制御プログラム
US16/005,179 US20180367457A1 (en) 2017-06-16 2018-06-11 Communication control apparatus and communication control method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017118434A JP6834795B2 (ja) 2017-06-16 2017-06-16 通信制御装置、通信制御方法、及び、通信制御プログラム

Publications (2)

Publication Number Publication Date
JP2019004357A true JP2019004357A (ja) 2019-01-10
JP6834795B2 JP6834795B2 (ja) 2021-02-24

Family

ID=64658479

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017118434A Active JP6834795B2 (ja) 2017-06-16 2017-06-16 通信制御装置、通信制御方法、及び、通信制御プログラム

Country Status (2)

Country Link
US (1) US20180367457A1 (ja)
JP (1) JP6834795B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10499306B2 (en) * 2017-05-24 2019-12-03 Cisco Technology, Inc. Methods and apparatus for selecting a network route for data communications for IoT devices
US11736415B2 (en) * 2020-02-10 2023-08-22 Nokia Solutions And Networks Oy Backpressure from an external processing system transparently connected to a router

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011082834A (ja) * 2009-10-07 2011-04-21 Nec Corp コンピュータシステム、及びコンピュータシステムの監視方法
WO2013133303A1 (ja) * 2012-03-08 2013-09-12 日本電気株式会社 ネットワークシステム、コントローラ、及び負荷分散方法
JP2014138244A (ja) * 2013-01-16 2014-07-28 Fujitsu Ltd 集中管理型網制御システム
WO2014136853A1 (ja) * 2013-03-06 2014-09-12 日本電気株式会社 通信システム、スイッチ、制御装置、パケット処理方法及びプログラム
US8897141B2 (en) * 2012-11-20 2014-11-25 Inventec (Pudong) Technology Corporation Network system and routing method
JP2017108221A (ja) * 2015-12-07 2017-06-15 富士通株式会社 パケット蓄積装置,及びパケット蓄積方法

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPWO2011083780A1 (ja) * 2010-01-05 2013-05-13 日本電気株式会社 通信システム、制御装置、処理規則の設定方法、パケットの送信方法およびプログラム
JP5440712B2 (ja) * 2010-11-22 2014-03-12 日本電気株式会社 通信システム、通信装置、制御装置、パケットフローの転送経路の制御方法及びプログラム
WO2013042374A1 (en) * 2011-09-21 2013-03-28 Nec Corporation Communication apparatus, control apparatus, communication system, communication control method, and program
US9722917B2 (en) * 2013-02-26 2017-08-01 Telefonaktiebolaget Lm Ericsson (Publ) Traffic recovery in openflow networks
US20150180769A1 (en) * 2013-12-20 2015-06-25 Alcatel-Lucent Usa Inc. Scale-up of sdn control plane using virtual switch based overlay
US9407541B2 (en) * 2014-04-24 2016-08-02 International Business Machines Corporation Propagating a flow policy by control packet in a software defined network (SDN) based network
CN105474587B (zh) * 2014-06-19 2019-02-12 华为技术有限公司 一种发送数据包的方法及装置
JP2017059885A (ja) * 2015-09-14 2017-03-23 富士通株式会社 コントローラ及び経路再設定方法
CN106817288B (zh) * 2015-11-30 2019-06-14 华为技术有限公司 一种数据中心网络系统及信号传输系统
US10397124B2 (en) * 2017-01-17 2019-08-27 Argela Yazilim ve Bilisim Teknolojileri San. ve Tic. A.S. System and method to prevent persistent full switch queues in software defined networks

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011082834A (ja) * 2009-10-07 2011-04-21 Nec Corp コンピュータシステム、及びコンピュータシステムの監視方法
WO2013133303A1 (ja) * 2012-03-08 2013-09-12 日本電気株式会社 ネットワークシステム、コントローラ、及び負荷分散方法
US8897141B2 (en) * 2012-11-20 2014-11-25 Inventec (Pudong) Technology Corporation Network system and routing method
JP2014138244A (ja) * 2013-01-16 2014-07-28 Fujitsu Ltd 集中管理型網制御システム
WO2014136853A1 (ja) * 2013-03-06 2014-09-12 日本電気株式会社 通信システム、スイッチ、制御装置、パケット処理方法及びプログラム
JP2017108221A (ja) * 2015-12-07 2017-06-15 富士通株式会社 パケット蓄積装置,及びパケット蓄積方法

Also Published As

Publication number Publication date
JP6834795B2 (ja) 2021-02-24
US20180367457A1 (en) 2018-12-20

Similar Documents

Publication Publication Date Title
KR102640600B1 (ko) 하이브리드 네트워크에서 패킷을 포워딩하기 위한 방법, 디바이스, 및 시스템
CN105850082B (zh) 网络中分段源路由的方法及存储介质
US8644139B2 (en) Priority based flow control within a virtual distributed bridge environment
US8848703B2 (en) On-chip router and multi-core system using the same
CN108206753B (zh) 一种检测时延的方法、装置及系统
CN105075200A (zh) 在软件定义网络中支持任意路由标准
JP6191833B2 (ja) 通信装置、通信装置を有するルータ、バスシステム、およびバスシステムを有する半導体回路の回路基板
US20220052951A1 (en) Congestion Information Collection Method and System, Related Device, and Computer Storage Medium
JP6323547B2 (ja) 通信システム、制御装置、通信制御方法、および、プログラム
CN111801911B (zh) 业务功能链拥塞跟踪
CN109802894B (zh) 流量控制方法及装置
CN111026324B (zh) 转发表项的更新方法及装置
JP7388533B2 (ja) ゲートウェイ装置、方法及びプログラム
JP2017143344A (ja) パケット伝送装置,制御装置,及びパケット伝送制御方法
JP6834795B2 (ja) 通信制御装置、通信制御方法、及び、通信制御プログラム
CN112787922A (zh) 一种报文处理的方法、网络节点和系统
KR20150131327A (ko) 애플리케이션-제공 전송 메타데이터에 기초한 네트워크 전송 조절
JP2017163383A (ja) フレーム転送装置、及び、フローに関する処理の設定要求方法
US10715437B2 (en) Deadline driven packet prioritization for IP networks
JP7048149B2 (ja) ネットワークシステム、制御装置、処理規則設定方法及びプログラム
CN112787832A (zh) 用于生成网络拓扑的方法、电子设备和计算机程序产品
US9413654B2 (en) System, relay device, method, and medium
CN113297117B (zh) 数据传输方法、设备、网络系统及存储介质
JP2016225729A (ja) ネットワークシステム、データ転送制御方法及び制御装置
JP2015525984A (ja) 通信システム、制御装置、通信方法及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200310

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

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20201228

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210118

R150 Certificate of patent or registration of utility model

Ref document number: 6834795

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150