JPWO2015052854A1 - トラフィック管理システムおよびトラフィック管理方法 - Google Patents
トラフィック管理システムおよびトラフィック管理方法 Download PDFInfo
- Publication number
- JPWO2015052854A1 JPWO2015052854A1 JP2015541415A JP2015541415A JPWO2015052854A1 JP WO2015052854 A1 JPWO2015052854 A1 JP WO2015052854A1 JP 2015541415 A JP2015541415 A JP 2015541415A JP 2015541415 A JP2015541415 A JP 2015541415A JP WO2015052854 A1 JPWO2015052854 A1 JP WO2015052854A1
- Authority
- JP
- Japan
- Prior art keywords
- network
- information
- switch
- interface controller
- network interface
- 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.)
- Pending
Links
- 238000007726 management method Methods 0.000 title claims description 192
- 238000000034 method Methods 0.000 claims abstract description 24
- 238000012546 transfer Methods 0.000 claims abstract description 21
- 230000008569 process Effects 0.000 claims abstract description 17
- 230000007246 mechanism Effects 0.000 claims abstract description 11
- 238000012545 processing Methods 0.000 claims description 11
- 230000009471 action Effects 0.000 claims description 6
- 230000006870 function Effects 0.000 description 23
- 238000010586 diagram Methods 0.000 description 19
- 238000004891 communication Methods 0.000 description 11
- 230000005540 biological transmission Effects 0.000 description 3
- 230000000593 degrading effect Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000013507 mapping Methods 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/65—Re-configuration of fast packet switches
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Computer And Data Communications (AREA)
Abstract
1つ以上のコンピュータシステムとの間で情報を送受信する1つ以上のネットワークインタフェースコントローラ(5)と、外部ネットワークとの間で情報を送受信する1つ以上のネットワークスイッチ(7)と、トラフィックを一纏めにして管理する論理スイッチ管理システム(6)とからなる。コントローラ(5)は、共有する1つ以上のコンピュータシステム同士のトラフィックについては内部で転送処理を完結させる仕組みを備える。論理スイッチ管理システム(6)は、コントローラ(5)とネットワークスイッチ(7)とから構成情報および統計情報を取得し、1つの論理スイッチとして構成する仕組みを備える。これにより、ネットワークインタフェースコントローラとそこに接続されたネットワークスイッチとを流れるトラフィックを一纏めに管理可能なトラフィック管理システムを提供することができる。
Description
本発明は、トラフィック管理システムおよびトラフィック管理方法に関し、特に、同一のネットワークインタフェースコントローラを共有するコンピュータシステム間のトラフィックを管理することが可能なトラフィック管理システムおよびトラフィック管理方法に関する。
近年、1つ以上のコンピュータシステムから、同一のI/Oデバイスを共有する技術が出現してきている。例えば、サーバ仮想化技術においては、物理的に1つのコンピュータシステム上で1つ以上のOS(Operating system)が動作する場合に、I/OデバイスがSR−IOV(Single Root−I/O Virtualization)に、チップセットがIOMMU(I/O Memory Management Unit)に対応することによって、1つ以上の仮想マシンから同一のI/Oデバイスを共有することができる。
さらに、MR−IOV(Multi Root−I/O Virtualization)技術を用いることによって、1つ以上の物理的に異なるコンピュータシステムからI/Oデバイスを共有することもできる。
SR−IOVについては、従来より、ネットワークインタフェースコントローラを中心に採用されてきている。図10は、SR−IOVまたはMR−IOVに対応したネットワークインタフェースコントローラの概観を示すブロック構成図である。
図10に示すように、一般的に、SR−IOVやMR−IOVに対応したネットワークインタフェースコントローラ1は、該ネットワークインタフェースコントローラ1を共有するコンピュータシステム同士の通信のために、内部に、パケットスイッチ10と、パケットスイッチ10がパケットの出力先を決定するために使用するフォワーディングテーブル12と、を備えている。フォワーディングテーブル12には、パケットヘッダに含まれるMAC(Media Access Control)アドレスなどの宛先を示す情報と、出力先のインタフェース(コンピュータシステム用インタフェース14または外部ネットワーク用ポート16)とが組になって登録されている。このパケットスイッチ10や、フォワーディングテーブル12は、ネットワークインタフェースコントローラ1のチップ規模やコストを抑えるために、シンプルな機能に限定されることが多い。そのため、例えば、MACアドレスとVLAN IDのみを用いたスイッチングのみが可能であったり、トラフィックの統計情報を保持しないといった例が見られる。
また、1つ以上のコンピュータシステムから、ネットワークインタフェースコントローラ1を共有することが可能になるように、コンピュータシステム用のインタフェースとして、PCI−Expressインタフェース18と、1つ以上のコンピュータシステム用インタフェース14と、を備える。
PCI−Expressインタフェース18は、CPU(Central Processing Unit)との間でPCI−Express規格に準拠した信号の送受信をハンドリングするための機能や、ネットワークインタフェースコントローラ1の設定を行うためのレジスタやインタフェースを備える。一方、コンピュータシステム用インタフェース14は、SR−IOVやMR−IOVの仕様においては物理機能(PF:Physical Function)や仮想機能(VF:Virtual Function)と呼ばれている。PCI−Expressインタフェース18は、CPUから送られてきたPCI−Express規格準拠の信号を解析し、どのコンピュータシステム用インタフェース14に転送するデータであるかを判定し、転送先と判定したコンピュータシステム用インタフェース14に対して信号を転送する。
そして、ネットワークインタフェースコントローラ1は、外部ネットワークと接続するために、外部ネットワーク用ポート16を1つ以上備える。
図11は、ネットワークインタフェースコントローラ1を1つ以上のコンピュータシステム4が共有している様子を示すシステム構成図である。図11に示すように、ネットワークインタフェースコントローラ1は、I/Oスイッチ3を経由して、1つ以上のコンピュータシステム4(コンピュータシステム4a、コンピュータシステム4b、…)によって共有される。
コンピュータシステム4は、CPU40と、メモリ42と、I/Oインタフェース44と、から構成される。I/Oインタフェース44の一つの例としては、例えばPCI−Expressのインタフェースがある。また、I/Oインタフェース44の機能の一部が、CPU40に内蔵されることもある。なお、図11には示していないものの、コンピュータシステム4には、I/Oインタフェース44などを介して、ハードディスクや光学ドライブなどの各種周辺装置が接続される。
I/Oスイッチ3は、PCI−Express準拠の信号をスイッチングする機能を備える。PCI−Express準拠の信号の場合、データはパケットとして転送される。つまり、データに、宛先などを示すヘッダや、エラーチェックのためのCRC(Cyclic Redundant Check)データが付加され、I/Oスイッチ3によってスイッチングして転送される。ここでは、イーサネット(登録商標)などのコンピュータネットワークを流れるパケットをネットワークパケット、PCI−Expressバスを流れるパケットをPCIeパケットと呼称して区別することにする。I/Oスイッチ3においては、PCIeパケットヘッダに含まれるメモリアドレスによって転送を行う方式と、同様に、PCIeパケットヘッダに含まれるバス番号、デバイス番号、ファンクション番号に基づいて転送を行う方式とのいずれかによって、PCIeパケットを転送する。
ネットワークインタフェースコントローラ1に備えられる各コンピュータシステム用インタフェース14には、それぞれ互いに異なる[バス番号、デバイス番号、ファンクション番号]の組が割り当てられる。これにより、コンピュータシステム4(コンピュータシステム4a、コンピュータシステム4b、…)やI/Oスイッチ3は、コンピュータシステム用インタフェース14を識別することができる。
図11の環境において、コンピュータシステム4aとコンピュータシステム4bとが、ネットワークインタフェースコントローラ1を経由して通信を行う場合、図10に示すネットワークインタフェースコントローラ1の各部位の動作により、ネットワークパケットは次のように転送される。
まず、コンピュータシステム4aが、I/Oインタフェース44、I/Oスイッチ3を経由して、ネットワークインタフェースコントローラ1に備えられている、コンピュータシステム4aに割り当てられたコンピュータシステム用インタフェース14に対してPCIeパケットを送信する。PCIeパケットのペイロード部にはネットワークパケットが格納されている。コンピュータシステム4aは、ネットワークパケットのサイズによっては、ネットワークパケットを分割し、1つ以上のPCIeパケットそれぞれのペイロードに分割して格納して、送信する。
次に、コンピュータシステム4aからのPCIeパケットを受け取ったネットワークインタフェースコントローラ1は、PCI−Expressインタフェース18にてPCIeパケットからネットワークパケットを取り出す。1つ以上のPCIeパケットに分割されてネットワークパケットが送信されてきている場合は、ネットワークインタフェースコントローラ1においてネットワークパケットの組み立てが行われる。
次に、パケットスイッチ10は、ネットワークパケットのヘッダ情報を用いてフォワーディングテーブル12を参照して、該ネットワークパケットの転送先となるコンピュータシステム用インタフェース14を検索する。
次に、パケットスイッチ10は、フォワーディングテーブル12の検索結果によって得られた、ネットワークパケットの転送先となるコンピュータシステム用インタフェース14に対してネットワークパケットを出力する。
出力されたネットワークパケットは、PCI−Expressインタフェース18にて、PCIeパケットにペイロードとして格納され、宛先となるコンピュータシステム4bに対して転送される。
このように、I/Oを共有するコンピュータシステム4同士の通信については、ネットワークインタフェースコントローラ1によって処理され、外部ネットワークにはネットワークパケットが送信されることはない。
つまり、ネットワーク管理の観点からは、ネットワークインタフェースコントローラ1は、ネットワークスイッチのように動作しているので、ネットワークスイッチとして管理することが必要になる。
これに対して、非特許文献1のIEEE802.1Qbgに規定されているVEPA(Virtual Ethernet Port Aggregator)や、非特許文献2のIEEE802.1Qbhに規定されているBridge Port Extensionにおいては、ネットワークインタフェースコントローラ1は、コンピュータシステム4からの全てのネットワークパケットを外部ネットワークに転送するように規定されている。したがって、ネットワークインタフェースコントローラ1を共有するコンピュータシステム4同士の通信の場合には、ネットワークインタフェースコントローラ1の外部ネットワーク用ポート16と直接接続される、外部ネットワークに存在するネットワークスイッチが、入力してきたネットワークパケットを入力ポートと同じポートに出力することによって、ネットワークパケットが当該ネットワークパケットを出力したネットワークインタフェースコントローラ1に返ってくる。ネットワークスイッチのスイッチングに必要な処理は、隣接スイッチで行われており、これにより、コンピュータシステム4間のスイッチングを実現することになる。
これらの非特許文献1、非特許文献2の技術においては、全てのトラフィックが外部ネットワークのネットワークスイッチに転送されるため、ネットワーク管理の観点からは、従来と同様に、ネットワークスイッチのみを管理するだけで良い。
"IEEE802.1:802.1Qbg −Edge Virtual Bridging"、<http://www.ieee802.org/1/pages/802.1bg.html>
"IEEE802.1:802.1Qbh −Bridging Port Extension"、<http://www.ieee802.org/1/pages/802.1bh.html>
以下の分析は、本発明によって与えられたものである。
従来技術における第1の問題点は、前述の図10、図11に示した技術の場合には、ネットワークインタフェースコントローラ1を共有するコンピュータシステム4同士の通信を管理することができないという点である。
その理由は、このようなコンピュータシステム4同士の通信の場合、ネットワークパケットが外部ネットワークに転送されず、ネットワークインタフェースコントローラ1内部でネットワークパケットの転送処理が完了してしまうことと、ネットワークインタフェースコントローラ1内部に、トラフィックの統計情報を取得する機能が備わっていないことによる。
従来技術における第2の問題点は、非特許文献1および非特許文献2に記載の技術の場合には、ネットワークインタフェースコントローラ1と、外部ネットワークのネットワークスイッチとの間のリンクがボトルネックになるという点である。
その理由は、全てのネットワークパケットが、前記リンクを経由することになり、外部ネットワークとのトラフィックによって、ネットワークインタフェースコントローラ1を共有するコンピュータシステム4同士のトラフィックが圧迫されるためである。また、ネットワークインタフェースコントローラ1を共有するコンピュータシステム4が増加するにしたがって、同一リンクを共有するトラフィックが増加するために、当該リンクがボトルネックとなってしまう。
従来技術における第3の問題点は、前述の図10、図11に示した技術の場合において、ネットワークインタフェースコントローラ1を、従来のネットワークスイッチと同様に管理しようとすると、管理ポイントが大幅に増加するという点である。
その理由は、ネットワークインタフェースコントローラ1の数は、最大でコンピュータシステム4の個数と等しくなるため、大規模データセンタなどの環境如何によっては、コンピュータシステム4の個数が膨大になり、ネットワークスイッチの個数の数十倍の個数となるためである。
(本発明の目的)
本発明は、前述した第1の問題点、すなわち、ネットワークインタフェースコントローラ1を共有するコンピュータシステム4同士の通信を管理することができないという課題と、第2の問題点、すなわち、全てのネットワークパケットが外部ネットワークを利用することによって通信性能が劣化するという課題と、第3の問題点、すなわち、ネットワークの管理ポイントが大幅に増加するという課題と、を効果的に解決することができるトラフィック管理システムおよびトラフィック管理方法を提供することを、その目的としている。
本発明は、前述した第1の問題点、すなわち、ネットワークインタフェースコントローラ1を共有するコンピュータシステム4同士の通信を管理することができないという課題と、第2の問題点、すなわち、全てのネットワークパケットが外部ネットワークを利用することによって通信性能が劣化するという課題と、第3の問題点、すなわち、ネットワークの管理ポイントが大幅に増加するという課題と、を効果的に解決することができるトラフィック管理システムおよびトラフィック管理方法を提供することを、その目的としている。
前述の課題を解決するため、本発明によるトラフィック管理システムおよびトラフィック管理方法は、主に、次のような特徴的な構成を採用している。
(1)本発明によるトラフィック管理システムは、1つ以上のコンピュータシステムとの間で情報を送受信する1つ以上のネットワークインタフェースコントローラと、該ネットワークインタフェースコントローラと接続され、外部ネットワークとの間で情報を送受信する1つ以上のネットワークスイッチと、論理スイッチを構成する論理スイッチ構成システムと、を少なくとも備え、送受信される情報を管理するトラフィック管理システムであって、各前記ネットワークインタフェースコントローラは、当該ネットワークインタフェースコントローラを共有する1つ以上のコンピュータシステム同士のトラフィックについては、当該ネットワークインタフェースコントローラ内で転送処理を完結させ、かつ、該トラフィックの統計情報を取得し管理する仕組みを備えるとともに、前記論理スイッチ構成システムは、各前記ネットワークインタフェースコントローラと各前記ネットワークスイッチと、から構成情報および統計情報を取得し、1つの論理スイッチとして構成する仕組みを備えていることを特徴とする。
(2)本発明によるトラフィック管理方法は、1つ以上のコンピュータシステムとの間で情報を送受信する1つ以上のネットワークインタフェースコントローラと、該ネットワークインタフェースコントローラと接続され、外部ネットワークとの間で情報を送受信する1つ以上のネットワークスイッチと、論理スイッチを構成する論理スイッチ構成システムと、を少なくとも備えたシステムにおいて送受信される情報を管理するトラフィック管理方法であって、各前記ネットワークインタフェースコントローラは、当該ネットワークインタフェースコントローラを共有する1つ以上のコンピュータシステム同士のトラフィックについては、当該ネットワークインタフェースコントローラ内で転送処理を完結させ、かつ、該トラフィックの統計情報を取得し管理する仕組みを有するとともに、前記論理スイッチ構成システムは、各前記ネットワークインタフェースコントローラと各前記ネットワークスイッチと、から構成情報および統計情報を取得し、1つの論理スイッチとして構成する仕組みを有していることを特徴とする。
本発明のトラフィック管理システムおよびトラフィック管理方法によれば、以下のような効果を奏することができる。
すなわち、本発明においては、ネットワークインタフェースコントローラを共有する1つ以上のコンピュータシステム同士のトラフィックと、ネットワークインタフェースコントローラが接続されるネットワークスイッチを流れるトラフィックと、を、通信性能を劣化させることなく、また、管理ポイントを増大させることなく、一元管理することができる。
その理由は、ネットワークインタフェースコントローラとネットワークスイッチと、から構成情報および統計情報を取得し、1つの論理スイッチとして構成する仕組みを提供し、かつ、ネットワークインタフェースコントローラを共有する1つ以上のコンピュータシステム同士のトラフィックについては、ネットワークインタフェースコントローラ内で転送処理を完結させることを可能にしているためである。
以下、本発明によるトラフィック管理システムおよびトラフィック管理方法の好適な実施形態について添付図を参照して説明する。なお、本発明によるトラフィック管理方法をコンピュータにより実行可能なトラフィック管理プログラムとして実施するようにしても良いし、あるいは、トラフィック管理プログラムをコンピュータにより読み取り可能な記録媒体に記録するようにしても良いことは言うまでもない。
(本発明の特徴)
本発明の実施形態の説明に先立って、本発明の特徴についてその概要をまず説明する。本発明のトラフィック管理システムは、ネットワークインタフェースコントローラとネットワークスイッチと、から構成情報および統計情報を取得し、1つの論理スイッチとして構成する仕組みを提供し、かつ、ネットワークインタフェースコントローラを共有する1つ以上のコンピュータシステム同士のトラフィックについては、ネットワークインタフェースコントローラ内で転送処理を完結させることを可能にすることを主要な特徴とし、而して、ネットワークインタフェースコントローラを共有する1つ以上のコンピュータシステム同士のトラフィックと、ネットワークインタフェースコントローラが接続されるネットワークスイッチを流れるトラフィックと、を、通信性能を劣化させることなく、また、管理ポイントを増大させることなく、一元管理することを可能にしている。
本発明の実施形態の説明に先立って、本発明の特徴についてその概要をまず説明する。本発明のトラフィック管理システムは、ネットワークインタフェースコントローラとネットワークスイッチと、から構成情報および統計情報を取得し、1つの論理スイッチとして構成する仕組みを提供し、かつ、ネットワークインタフェースコントローラを共有する1つ以上のコンピュータシステム同士のトラフィックについては、ネットワークインタフェースコントローラ内で転送処理を完結させることを可能にすることを主要な特徴とし、而して、ネットワークインタフェースコントローラを共有する1つ以上のコンピュータシステム同士のトラフィックと、ネットワークインタフェースコントローラが接続されるネットワークスイッチを流れるトラフィックと、を、通信性能を劣化させることなく、また、管理ポイントを増大させることなく、一元管理することを可能にしている。
より具体的には、本発明は、ネットワークインタフェースコントローラを共有する1つ以上のコンピュータシステム同士のトラフィックの識別情報と統計情報とを保持するためのテーブル(ループバックテーブル)をネットワークインタフェースコントローラに備え、かつ、論理スイッチとして構成する仕組みを有する論理スイッチ管理システムは、ネットワークインタフェースコントローラとネットワークスイッチとから、構成情報を取得する構成情報取得手段(ネットワークインタフェースコントローラ管理部インタフェースとネットワークスイッチ管理部インタフェース)と、ネットワークインタフェースコントローラとネットワークスイッチとがどのように接続されているかを示す接続情報を管理する接続情報管理手段(接続情報管理部)と、前記識別情報および前記統計情報と、前記構成情報と、前記接続情報とから、論理スイッチのポート数とフォワーディングテーブルのエントリ数とを求め、論理スイッチを構成する論理スイッチ構成手段(論理スイッチポート管理部、論理スイッチフォワーディングテーブル管理部)と、構成した論理スイッチからトラフィックの情報を取得するためのトラフィック情報取得手段(論理スイッチ管理インタフェース)と、を少なくとも備えていることを主要な特徴としている。
(実施形態の構成例)
本発明の一実施形態としてトラフィック管理システムの構成例について、図面を参照して詳細に説明する。なお、以下の各図面に付した図面参照符号は、理解を助けるための一例として各要素に便宜上付記したものであり、本発明を図示の態様に限定することを意図するものではないことは言うまでもない。
本発明の一実施形態としてトラフィック管理システムの構成例について、図面を参照して詳細に説明する。なお、以下の各図面に付した図面参照符号は、理解を助けるための一例として各要素に便宜上付記したものであり、本発明を図示の態様に限定することを意図するものではないことは言うまでもない。
図1は、本発明の実施形態に係るトラフィック管理システムの構成例を示すシステム構成図である。図1に示すトラフィック管理システム8は、論理スイッチ管理システム6と、1つ以上のネットワークインタフェースコントローラ5と、1つ以上のネットワークスイッチ7と、から構成される。論理スイッチ管理システム6は、論理スイッチ管理部60と、ネットワークスイッチ管理部62と、ネットワークインタフェースコントローラ管理部64と、を少なくとも含んで構成される。
図2は、図1のトラフィック管理システム8に示したネットワークインタフェースコントローラ5の内部構成の一例を示すブロック構成図である。図2に一例を示すネットワークインタフェースコントローラ5は、図10に示した従来のネットワークインタフェースコントローラ1に対して、ループバックテーブル13と、管理インタフェース17と、が新たに追加されて構成される。なお、図2のネットワークインタフェースコントローラ5において、図10に示した従来のネットワークインタフェースコントローラ1と同一の構成要素については同一の符号を付して示しており、ここでの詳細な説明を省略する。
ループバックテーブル13は、同一ネットワークインタフェースコントローラ5を共有するコンピュータシステム(図11に示したコンピュータシステム4)同士のトラフィックについて、トラフィックの識別情報と、宛先となるコンピュータシステム用インタフェース14の識別子と、トラフィックの統計情報と、を管理するテーブルである。
ここで、トラフィックの識別情報とは、例えば、送信元のコンピュータシステム用インタフェース14の識別子のようなネットワークインタフェースコントローラ5の物理情報と、MACアドレスやVLAN ID、IPアドレス、L4(Layer 4:トランスポート層)プロトコル種別、L4ポート番号といった、ネットワークパケットのヘッダに含まれる情報と、の組から構成される。以降、このトラフィックの識別情報によって識別される個々のトラフィックを、「フロー」と呼称する。
また、トラフィックの統計情報には、各フローの通過パケット数、通過バイト数、該フローのエントリが最後に参照された時間、が少なくとも含まれる。
管理インタフェース17は、論理スイッチ管理システム6と接続するためのインタフェースである。管理インタフェース17は、外部ネットワーク用ポート16とは物理的に独立したインタフェースであっても良いし、外部ネットワーク用ポート16と物理的に統合されたインタフェースであっても良いし、また、PCI−Expressインタフェース18を介したインタフェースであっても良い。
図3は、図1のトラフィック管理システム8に示したネットワークスイッチ7の内部構成の一例を示すブロック構成図である。図3に一例を示すネットワークスイッチ7は、パケットスイッチ70と、フォワーディングテーブル72と、1つ以上のネットワークポート74と、パケットスイッチ管理部76と、管理インタフェース78と、を少なくとも含んで構成される。
各ネットワークポート74は、ネットワークインタフェースコントローラ5や、他のネットワークスイッチ7と接続するためのインタフェースであり、ネットワークパケットの送受信のために用いられる。
パケットスイッチ70は、ネットワークポート74のいずれかから受信したネットワークパケットの情報により、フォワーディングテーブル72を参照して、出力先となるネットワークポート74を決定して、該ネットワークパケットを送出するためのモジュールである。なお、パケットスイッチ70は、出力先のネットワークポート74を決定して送出する処理のみならず、さらに、ネットワークパケットをドロップする処理、ネットワークパケットのヘッダ情報などの書き換えを行う処理、等を行っても良い。
フォワーディングテーブル72は、図2のネットワークインタフェースコントローラ5におけるループバックテーブル13の場合と同様に、パケットスイッチ70を流れるトラフィックについて、フローの識別情報と、宛先となるネットワークポート74の識別子と、フローの統計情報と、を管理するテーブルである。
パケットスイッチ管理部76は、パケットスイッチ70を管理するためのモジュールである。具体的には、フォワーディングテーブル72に対する、エントリの読み出し、書き込み、ネットワークポート74に対する設定、などの処理が挙げられる。ネットワークスイッチ7が一般的なネットワークスイッチの場合には、パケットスイッチ管理部76は、汎用CPUと汎用OSの上で動くアプリケーションの形で実現される。
管理インタフェース78は、論理スイッチ管理システム6と接続するためのインタフェースである。管理インタフェース78は、一般的なネットワークスイッチが備える管理用ポートとして実現しても良いし、ネットワークポート74のいずれかと物理的に統合されたインタフェースで実現しても良い。
図1に示す論理スイッチ管理システム6は、前述したように、論理スイッチ管理部60と、ネットワークスイッチ管理部62と、ネットワークインタフェースコントローラ管理部64と、を少なくとも含んで構成される。
論理スイッチ管理システム6は、ネットワークインタフェースコントローラ5と、ネットワークスイッチ7と、を論理的に1つのスイッチとして管理する機能を備える。
論理スイッチ管理システム6のネットワークインタフェースコントローラ管理部64は、各ネットワークインタフェースコントローラ5のスペック情報(構成情報)とトラフィック転送ステータス(統計情報)とを、各ネットワークインタフェースコントローラ5の管理インタフェース17を経由して読み出して、内部に保持する。また、ネットワークスイッチ管理部62は、各ネットワークスイッチ7のスペック情報(構成情報)とトラフィックの転送ステータス(統計情報)とを、各ネットワークスイッチ7の管理インタフェース78を経由して読み出して、内部に保持する。
したがって、ネットワークインタフェースコントローラ管理部64と、ネットワークスイッチ管理部62と、のそれぞれは、内部に、各ネットワークインタフェースコントローラ5のスペック情報とトラフィック転送ステータスとに関する情報と、各ネットワークスイッチ7のスペック情報とトラフィックの転送ステータスとに関する情報と、をそれぞれに保持するための記憶領域を備えている。そして、論理スイッチ管理部60においては、ネットワークスイッチ管理部62と、ネットワークインタフェースコントローラ管理部64と、が取得して保持した情報を用いて、論理スイッチを構成する。
ネットワークインタフェースコントローラ管理部64が取得して保持する各ネットワークインタフェースコントローラ5のスペック情報としては、少なくとも、コンピュータシステム用インタフェース14の総数と、ループバックテーブル13の総エントリ数と、外部ネットワーク用ポート16の総数と、を含む。かくのごとき情報以外にも、例えば、フォワーディングテーブル12の総エントリ数、コンピュータシステム用インタフェース14が備える機能、パケットスイッチ10が備える機能、などが各ネットワークインタフェースコントローラ5のスペック情報の例として想定される。
また、ネットワークインタフェースコントローラ管理部64が取得して保持する各ネットワークインタフェースコントローラ5のトラフィック転送ステータスとしては、少なくとも、各ネットワークインタフェースコントローラ5のループバックテーブル13の使用エントリ数と、使用されているエントリに登録されている情報と、を含む。かくのごとき情報以外にも、例えば、フォワーディングテーブル12の使用エントリ数、フォワーディングテーブル12の使用されているエントリに登録されている情報、などが各ネットワークインタフェースコントローラ5のトラフィック転送ステータスとして想定される。
一方、ネットワークスイッチ管理部62が取得して保持する各ネットワークスイッチ7のスペック情報としては、少なくとも、各ネットワークスイッチ7のフォワーディングテーブル72の総エントリ数と、ネットワークポート74の総数と、を含む。かくのごとき情報以外にも、例えば、ネットワークポート74が備える機能、パケットスイッチ70が備える機能、などが各ネットワークスイッチ7のスペック情報の例として想定される。
また、ネットワークスイッチ管理部62が取得して保持する各ネットワークスイッチ7のトラフィック転送ステータスとして、少なくとも、各ネットワークスイッチ7のフォワーディングテーブル72の使用エントリ数と、フォワーディングテーブル72の使用されているエントリに登録されている情報と、を含む。
なお、フォワーディングテーブル72に登録されている情報として、フローの識別情報と、フローごとの通過パケット数、通過バイト数、該フローのエントリが最後に参照された時間、が少なくとも含まれる。
図4は、図1のトラフィック管理システム8に示した論理スイッチ管理システム6の論理スイッチ管理部60の内部構成の一例を示すブロック構成図である。図4に一例を示す論理スイッチ管理部60は、ネットワークスイッチ管理部インタフェース600と、ネットワークインタフェースコントローラ管理部インタフェース610と、論理スイッチフォワーディングテーブル管理部620と、論理スイッチポート管理部630と、接続情報管理部640と、論理スイッチ管理インタフェース660と、を少なくとも含んで構成される。
ネットワークスイッチ管理部インタフェース600は、図1に示す論理スイッチ管理システム6内のネットワークスイッチ管理部62と情報を送受信するためのインタフェースである。また、ネットワークインタフェースコントローラ管理部インタフェース610は、図1に示す論理スイッチ管理システム6内のネットワークインタフェースコントローラ管理部64と情報を送受信するためのインタフェースである。
論理スイッチフォワーディングテーブル管理部620は、ネットワークインタフェースコントローラ管理部64が取得した図2のネットワークインタフェースコントローラ5のループバックテーブル13の情報と、ネットワークスイッチ管理部62が取得した図3のネットワークスイッチ7のフォワーディングテーブル72の情報と、を論理的に1つのテーブルとして管理するモジュールである。その結果、論理スイッチフォワーディングテーブル管理部620は、ネットワークインタフェースコントローラ5や、ネットワークスイッチ7を流れるフローの統計情報を保持することになる。
つまり、論理スイッチフォワーディングテーブル管理部620は、以下のように、論理スイッチのフォワーディングテーブルのエントリ数を求めて、論理スイッチのフォワーディングテーブルを作成し、作成した論理スイッチのフォワーディングテーブルには、各ループバックテーブル13と、各フォワーディングテーブル72と、の情報を格納する。
(論理スイッチのフォワーディングテーブルのエントリ数)
=(各ネットワークインタフェースコントローラ5の
ループバックテーブル13の総エントリ数)
+(各ネットワークスイッチ7のフォワーディングテーブル72の
総エントリ数)
(論理スイッチのフォワーディングテーブルのエントリ数)
=(各ネットワークインタフェースコントローラ5の
ループバックテーブル13の総エントリ数)
+(各ネットワークスイッチ7のフォワーディングテーブル72の
総エントリ数)
論理スイッチポート管理部630は、図1のネットワークインタフェースコントローラ管理部64が取得したネットワークインタフェースコントローラ5のコンピュータシステム用インタフェース14の情報と、図1のネットワークスイッチ管理部62が取得したネットワークスイッチ7のネットワークポート74の情報と、を論理スイッチが備えるポートとして管理するモジュールである。
接続情報管理部640は、ネットワークインタフェースコントローラ5と、ネットワークスイッチ7と、の接続情報を管理している。該接続情報とは、どのネットワークインタフェースコントローラ5のどの外部ネットワーク用ポート16が、どのネットワークスイッチ7のどのネットワークポート74と接続されているかを示す情報である。該接続情報は、あらかじめ静的に保持させておくようにしても良いし、例えば、リンク接続確認用のネットワークパケットを流して、接続情報を動的に取得するようにしても良い。後者の場合は、例えば、LLDP(Link Layer Discovery Protocol)を利用することが想定される。
論理スイッチ管理インタフェース660は、論理スイッチの情報を読み出すためのインタフェースである。論理スイッチのポート数や論理スイッチのフォワーディングテーブルのサイズなどの論理スイッチの構成や、論理スイッチを流れるフローの統計情報を取得することができる。
なお、論理スイッチポート管理部630は、接続情報管理部640が管理する接続情報と、論理スイッチポート管理部630自身が管理する情報と、から、論理スイッチのポートの総数を、以下のようにして求める。
(論理スイッチポートの総数)
=(各ネットワークインタフェースコントローラ5の
コンピュータシステム用インタフェース14の総数)
+(各ネットワークスイッチ7のネットワークポート74の総数)
−(ネットワークインタフェースコントローラ5と
ネットワークスイッチ7との間のリンク数)
(論理スイッチポートの総数)
=(各ネットワークインタフェースコントローラ5の
コンピュータシステム用インタフェース14の総数)
+(各ネットワークスイッチ7のネットワークポート74の総数)
−(ネットワークインタフェースコントローラ5と
ネットワークスイッチ7との間のリンク数)
次に、論理スイッチポート管理部630は、論理スイッチのポートが、どのネットワークインタフェースコントローラ5のどのコンピュータシステム用インタフェース14と、あるいは、どのネットワークスイッチ7のどのネットワークポート74と、が対応しているかを関連付ける。該関連付けの結果は、マッピング情報として、論理スイッチポート管理部630が保持している。
さらに、論理スイッチポート管理部630は、ネットワークスイッチ管理部62と、ネットワークインタフェースコントローラ管理部64と、において、コンピュータシステム用インタフェース14が備える機能や、ネットワークポート74が備える機能、を取得している場合には、各論理ポートに対して、どのような機能を備えているかを示す情報を、前述のマッピング情報に追加することも可能である。
(実施形態の動作の説明)
次に、図1ないし図4に本発明の一実施形態として示したトラフィック管理システム8の全体の動作の一例について図面を参照しながら詳細に説明する。
次に、図1ないし図4に本発明の一実施形態として示したトラフィック管理システム8の全体の動作の一例について図面を参照しながら詳細に説明する。
図5は、図1に示した論理スイッチ管理システム6が論理スイッチを構成するための処理の流れの一例を示すシーケンス図であり、ネットワークインタフェースコントローラ5およびネットワークスイッチ7との間の情報の送受信を含め、論理スイッチ管理システム6における処理の流れの一例を示している。なお、図5に示す論理スイッチ管理システム6の処理は、任意のタイミングで定期的に実施される。
図5のシーケンス図において、まず、論理スイッチ管理システム6は、ネットワークインタフェースコントローラ管理部64を通じて、ネットワークインタフェースコントローラ5から、コンピュータシステム用インタフェース14と、ループバックテーブル13と、に関する情報を取得する(ステップS100)。コンピュータシステム用インタフェース14に関する情報の例としては、コンピュータシステム用インタフェース14の数、各コンピュータシステム用インタフェース14が備える機能、などが挙げられる。また、ループバックテーブル13に関する情報の例としては、ループバックテーブル13のエントリ数、などが挙げられる。
次に、論理スイッチ管理システム6は、ネットワークスイッチ管理部62を通じて、ネットワークスイッチ7から、ネットワークポート74と、フォワーディングテーブル72と、に関する情報を取得する(ステップS110)。ネットワークポート74に関する情報の例としては、ネットワークポート74の数、各ネットワークポート74が備える機能、などが挙げられる。フォワーディングテーブル72に関する情報の例としては、フォワーディングテーブル72のエントリ数、などが挙げられる。
ここで、図5のステップS100とステップS110とは、互いに独立な処理であるため、ステップS110を先に実行することや、ステップS100とステップS110とを同時に実行することも可能である。
次に、論理スイッチ管理システム6は、ネットワークインタフェースコントローラ5から取得したコンピュータシステム用インタフェース14の数、および、ネットワークスイッチ7から取得したネットワークポート74の数に関する情報から、論理スイッチのポート数を求める(ステップS120)。
次に、論理スイッチ管理システム6は、ネットワークインタフェースコントローラ5から取得したループバックテーブル13のエントリ数、および、ネットワークスイッチ7から取得したフォワーディングテーブル72のエントリ数に関する情報から、論理スイッチのフォワーディングテーブルのエントリ数を求める(ステップS130)。
ここで、図5のステップS120とステップS130とは、互いに独立な処理であるため、ステップS130を先に実行することや、ステップS120とステップS130とを同時に実行することも可能である。
以上のようにして、論理スイッチ管理システム6は、算出した論理スイッチのポート数、および、論理スイッチのフォワーディングテーブルのエントリ数に基づいて、論理スイッチを構成する。
次に、図2に示したネットワークインタフェースコントローラ5のループバックテーブル13にエントリを追加・更新する処理について、図6のフローチャートを用いてその一例を説明する。図6は、図2に示したネットワークインタフェースコントローラ5が、ネットワークパケットを受信した際に、ループバックテーブル13にエントリを追加する処理、あるいは、ループバックテーブル13に登録されているエントリを更新する処理の一例を示すフローチャートである。
図6のフローチャートにおいて、まず、ネットワークインタフェースコントローラ5は、ネットワークパケットをコンピュータシステム用インタフェース14あるいは外部ネットワーク用ポート16のいずれかから受信すると、フォワーディングテーブル12を参照する(ステップS200)。
次に、ネットワークインタフェースコントローラ5は、ステップS200においてフォワーディングテーブル12を参照した結果を用いて、受信したネットワークパケットの入出力ポートが、共に、コンピュータシステム用インタフェース14であるか否かを判定する(ステップS210)。ここで、各ネットワークパケットの入出力ポートがコンピュータシステム用インタフェース14であるかどうかの判定は、例えば、ネットワークインタフェースコントローラ5が、どのポートがコンピュータシステム用インタフェース14であるか、あるいはネットワークインタフェースコントローラ5であるかを示す情報を保持し、この情報とフォワーディングテーブル12を参照した結果を比較する、といったことが考えられる。あるいは、フォワーディングテーブル12の各エントリに、入出力ポートの双方がコンピュータシステム用インタフェース14であることを示すフラグを含めることでも実現可能である。
次に、受信したネットワークパケットの入出力ポートが共にコンピュータシステム用インタフェース14であった場合には(ステップS210のYes)、ネットワークインタフェースコントローラ5は、該ネットワークパケットのヘッダの情報を用いて、ループバックテーブル13にエントリが存在するか否かを判定する(ステップS220)。
ループバックテーブル13にエントリが存在する場合(ステップS220のYes)、ネットワークインタフェースコントローラ5は、ループバックテーブル13の当該エントリの統計情報を更新する(ステップS230)。
一方、ループバックテーブル13にエントリが存在しない場合には(ステップS220のNo)、ネットワークインタフェースコントローラ5は、ループバックテーブル13に、受信したネットワークパケットが属するフローの識別子を、新規エントリとして追加登録する(ステップS240)。
また、ステップS210において、ネットワークパケットの入出力ポートのいずれか一方でもコンピュータシステム用インタフェース14ではなかった場合(ステップS210のNo)、ネットワークインタフェースコントローラ5は、ループバックテーブル13に対する操作を一切行わない。
ここで、論理スイッチ管理システム6においては、前述したように、ネットワークインタフェースコントローラ5のループバックテーブル13と、ネットワークスイッチ7のフォワーディングテーブル72と、から、あらかじめ定めた周期で定期的に、フローの統計情報を取得し、論理スイッチのフォワーディングテーブルの情報を更新している。
(本実施形態の効果の説明)
以上に詳細に説明したように、本実施形態におけるトラフィック管理システム8においては、以下のような効果が得られる。
以上に詳細に説明したように、本実施形態におけるトラフィック管理システム8においては、以下のような効果が得られる。
すなわち、トラフィック管理システム8の各ネットワークインタフェースコントローラ5は、ループバックテーブル13を備え、ネットワークインタフェースコントローラ5を共有するコンピュータシステム4同士のトラフィックに関する統計情報を保持することができ、かつ、ネットワークインタフェースコントローラ5を共有する1つ以上のコンピュータシステム4同士のトラフィックについては、ネットワークインタフェースコントローラ5内で転送処理を完結させることが可能である。また、論理スイッチ管理システム6は、ネットワークインタフェースコントローラ5のループバックテーブル13とコンピュータシステム用インタフェース14との情報と、ネットワークスイッチ7のフォワーディングテーブル72とネットワークポート74との情報と、に基づいて、論理スイッチを構成することによって、ネットワークインタフェースコントローラ5と、ネットワークスイッチ7と、を1つの論理スイッチとして管理することができる。
その結果、ネットワークインタフェースコントローラ5を共有する1つ以上のコンピュータシステム4同士のトラフィックと、ネットワークインタフェースコントローラ5が接続されるネットワークスイッチ7を流れるトラフィックと、を、通信性能を劣化させることなく、また、管理ポイントを増大させることなく、一元管理することができる。
次に、具体的な実施例として、物理的なネットワーク上にソフトウェアにより定義したネットワーク(SDN:Software−Defined Network)を構築するための技術の一つであるオープンフローを用いた場合において、本発明を実施するための動作についてさらに詳細に説明する。
図7は、オープンフローを用いて実施した場合のトラフィック管理システム80の構成の一例を示すシステム構成図である。オープンフローについては、“OpenFlow Switch Specification Version 1.3.1 (Wire
Protocol 0x04) September 6,2012”,<https://www.opennetworking.org/images/stories/downloads/specification/openflow-spec-v1.3.1.pdf>、などに詳しく記載されているので、ここでの詳細な説明は省略する。
Protocol 0x04) September 6,2012”,<https://www.opennetworking.org/images/stories/downloads/specification/openflow-spec-v1.3.1.pdf>、などに詳しく記載されているので、ここでの詳細な説明は省略する。
図7に示すトラフィック管理システム80は、オープンフローコントローラ110と、1つ以上のオープンフロースイッチ100と、1つ以上のオープンフロー対応ネットワークインタフェースコントローラ120と、から構成される。
オープンフローコントローラ110は、オープンフローの仕様に対応したスイッチ(オープンフロースイッチ100およびオープンフロー対応ネットワークインタフェースコントローラ120)を、オープンフローの仕様に基づいたAPI(Application
Programming Interface)を用いて制御する。
Programming Interface)を用いて制御する。
そのため、オープンフローコントローラ110は、オープンフローインタフェース140を備えている。オープンフローにおいては、どのようにネットワークを制御するかに関して、あらかじめ特定の規定をしているのではなく、ユーザが、オープンフローインタフェース140を用いて、ネットワークを制御するための任意のネットワーク制御アプリケーションを自由に実装することができる。
ここで、本実施例におけるトラフィック管理システム80においては、ネットワーク制御アプリケーションとして、図1の論理スイッチ管理システム6の場合と同様の機能を有する、論理スイッチ管理部60と、ネットワークインタフェースコントローラ管理部64と、ネットワークスイッチ管理部62と、を、オープンフローインタフェース140を用いてユーザが任意に定義した形態で実装する。ただし、その際に、ネットワークインタフェースコントローラ管理部64と、ネットワークスイッチ管理部62とは、オープンフローインタフェース140が提供するAPIを用いる。
オープンフローにおいては、オープンフローコントローラ110と、オープンフローの仕様に対応したスイッチとの間で、セキュアチャネルという、制御用の通信コネクションを張る。オープンフローコントローラ110は、そのために、セキュアチャネル制御部130を備えている。
オープンフローにおいて、オープンフローコントローラ110と、オープンフローに対応したスイッチと、がセキュアチャネルを通じて接続される際に、オープンフローに対応したスイッチがどのような機能を持っているかについての情報をオープンフローコントローラ110との間で交換する。該情報の中には、オープンフローに対応したスイッチのポート数や、オープンフローに対応したスイッチにおいてフロー管理を行うために備えられているフローテーブルのエントリ数についての情報が含まれる。これによって、オープンフローコントローラ110は、論理スイッチを構成することが可能となる。
また、オープンフローコントローラ110は、任意のタイミングで、オープンフローに対応したスイッチのフローテーブルの情報を読み出すことができるので、いくつのフローエントリが消費されているかについての情報や、各フローの統計情報を確実に取得することもできる。
図8は、図7のトラフィック管理システム80に示したオープンフロー対応ネットワークインタフェースコントローラ120の内部構成の一例を示すブロック構成図である。図8に示すオープンフロー対応ネットワークインタフェースコントローラ120は、図2に示したネットワークインタフェースコントローラ5に対して、制御用CPU19と、フローテーブル20と、が追加され、かつ、フォワーディングテーブル12と、ループバックテーブル13と、が除かれているが、その他の部位については、図2のネットワークインタフェースコントローラ5と同一の要素から構成されている。図2のネットワークインタフェースコントローラ5と同一の構成要素については、図2のネットワークインタフェースコントローラ5と同じ符号を付して示しており、ここでの詳細な説明を省略する。
フローテーブル20は、オープンフローにおける、フロー管理のためのテーブルである。フローテーブル20のフローエントリは、パケットスイッチ10への入力ポート番号と、MACアドレスやIPアドレス、などのネットワークパケットのヘッダに含まれる情報(該ネットワークパケットの識別子)によって定義されるキーと、該キーにマッチするパケット群に属するパケットに対するアクションと、から構成される。なお、該キーは、ワイルドカードを使用することもでき、「MACアドレスやIPアドレスに関わらず、L4ポート番号が80(HTTP(Hyper Text Transfer Protocol)を意味するポート番号)のフロー」という定義の仕方も可能である。また、アクションは、ネットワークパケットの出力先のポートを指定することができるのみならず、ネットワークパケットのヘッダの書き換えや、パケットドロップなどを指定することもできる。なお、パケットスイッチ10は、本実施例においては、フローテーブル20に保持されているアクションに基づいて動作する。
制御用CPU19は、オープンフロープロトコルを処理し、パケットスイッチ10と、フローテーブル20と、を制御し、オープンフローコントローラ110とのセキュアチャネルを管理するためのオープンフローエージェントを実行する。該オープンフローエージェントは、オープンフローの仕様に基づく、オープンフローコントローラ110とのメッセージの交換や、該メッセージに基づいてフローテーブル20からの情報の読み出しなどを実行する。
オープンフロー対応ネットワークインタフェースコントローラ120を共有するコンピュータシステム4同士のトラフィックは、次のようにして、検出することができる。
まず、オープンフローコントローラ110とオープンフロー対応ネットワークインタフェースコントローラ120とが、オープンフロー対応ネットワークインタフェースコントローラ120が備える機能に関する情報を交換する際に、オープンフロー対応ネットワークインタフェースコントローラ120が備えるポートのうち、いずれがコンピュータシステム用インタフェース14であるかを示す情報を含めた情報を交換するように機能を拡張する。かくのごとき拡張は、オープンフローではベンダーエクステンションという形で可能である。これにより、オープンフローコントローラ110は、オープンフロー対応ネットワークインタフェースコントローラ120のどのポートがコンピュータシステム用インタフェース14であるかについての情報を取得することができる。
次に、オープンフローコントローラ110は、オープンフロー対応ネットワークインタフェースコントローラ120のフローテーブル20に登録されているエントリの情報を取得し、キーに含まれる入力ポートと、アクションに含まれる出力先ポートと、が、共に、コンピュータシステム用インタフェース14であるか否かを判定する。共にコンピュータシステム用インタフェース14であった場合には、そのフローは、オープンフロー対応ネットワークインタフェースコントローラ120を共有するコンピュータシステム4同士のトラフィックであると認識することができる。
図9は、図7のトラフィック管理システム80に示したオープンフロースイッチ100の内部構成の一例を示すブロック構成図である。図9に示すオープンフロースイッチ100は、図3のネットワークスイッチ7に対して、フローテーブル73と、制御用CPU77と、が追加され、かつ、フォワーディングテーブル72と、パケットスイッチ管理部76と、が除かれている点が異なっているが、その他の部位については、図3のネットワークスイッチ7と同一の要素から構成されている。図3のネットワークスイッチ7と同一の構成要素については、図3のネットワークスイッチ7と同じ符号を付して示しており、ここでの詳細な説明を省略する。
なお、フローテーブル73と、制御用CPU77と、は、それぞれ、オープンフロー対応ネットワークインタフェースコントローラ120のフローテーブル20と、制御用CPU19と、全く同様の機能を有しており、ここでの重複する詳細な説明を省略する。
かくのごとく、オープンフローを用いる場合であっても、ネットワークインタフェースコントローラ5を共有するコンピュータシステム4同士のトラフィックを管理することが可能となる。
本発明によれば、データセンタのような、ネットワークインタフェースコントローラを備えたサーバが多数用いられる環境において、論理スイッチ構成することにより、ネットワークインタフェースコントローラとネットワークスイッチとを一纏めにまとめてトラフィックを管理するといった用途に好適に適用することができる。
以上、本発明の好適な実施形態の構成を説明した。しかし、かかる実施形態は、本発明の単なる例示に過ぎず、何ら本発明を限定するものではないことに留意されたい。本発明の要旨を逸脱することなく、特定用途に応じて種々の変形変更が可能であることが、当業者には容易に理解できよう。
この出願は、2013年10月7日に出願された日本出願特願2013−209858を基礎とする優先権を主張し、その開示の全てをここに取り込む。
1 ネットワークインタフェースコントローラ
3 I/Oスイッチ
4 コンピュータシステム
4a コンピュータシステム
4b コンピュータシステム
5 ネットワークインタフェースコントローラ
6 論理スイッチ管理システム
7 ネットワークスイッチ
8 トラフィック管理システム
10 パケットスイッチ
12 フォワーディングテーブル
13 ループバックテーブル
14 コンピュータシステム用インタフェース
16 外部ネットワーク用ポート
17 管理インタフェース
18 PCI−Expressインタフェース
19 制御用CPU
20 フローテーブル
40 CPU
42 メモリ
44 I/Oインタフェース
60 論理スイッチ管理部
62 ネットワークスイッチ管理部
64 ネットワークインタフェースコントローラ管理部
70 パケットスイッチ
72 フォワーディングテーブル
73 フローテーブル
74 ネットワークポート
76 パケットスイッチ管理部
77 制御用CPU
78 管理インタフェース
80 トラフィック管理システム
100 オープンフロースイッチ
110 オープンフローコントローラ
120 オープンフロー対応ネットワークインタフェースコントローラ
130 セキュアチャネル制御部
140 オープンフローインタフェース
600 ネットワークスイッチ管理部インタフェース
610 ネットワークインタフェースコントローラ管理部インタフェース
620 論理スイッチフォワーディングテーブル管理部
630 論理スイッチポート管理部
640 接続情報管理部
650 マッピング情報管理部
660 論理スイッチ管理インタフェース
3 I/Oスイッチ
4 コンピュータシステム
4a コンピュータシステム
4b コンピュータシステム
5 ネットワークインタフェースコントローラ
6 論理スイッチ管理システム
7 ネットワークスイッチ
8 トラフィック管理システム
10 パケットスイッチ
12 フォワーディングテーブル
13 ループバックテーブル
14 コンピュータシステム用インタフェース
16 外部ネットワーク用ポート
17 管理インタフェース
18 PCI−Expressインタフェース
19 制御用CPU
20 フローテーブル
40 CPU
42 メモリ
44 I/Oインタフェース
60 論理スイッチ管理部
62 ネットワークスイッチ管理部
64 ネットワークインタフェースコントローラ管理部
70 パケットスイッチ
72 フォワーディングテーブル
73 フローテーブル
74 ネットワークポート
76 パケットスイッチ管理部
77 制御用CPU
78 管理インタフェース
80 トラフィック管理システム
100 オープンフロースイッチ
110 オープンフローコントローラ
120 オープンフロー対応ネットワークインタフェースコントローラ
130 セキュアチャネル制御部
140 オープンフローインタフェース
600 ネットワークスイッチ管理部インタフェース
610 ネットワークインタフェースコントローラ管理部インタフェース
620 論理スイッチフォワーディングテーブル管理部
630 論理スイッチポート管理部
640 接続情報管理部
650 マッピング情報管理部
660 論理スイッチ管理インタフェース
Claims (10)
- 1つ以上のコンピュータシステムとの間で情報を送受信する1つ以上のネットワークインタフェースコントローラと、該ネットワークインタフェースコントローラと接続され、外部ネットワークとの間で情報を送受信する1つ以上のネットワークスイッチと、論理スイッチを構成する論理スイッチ構成システムと、を少なくとも備え、各前記ネットワークインタフェースコントローラは、当該ネットワークインタフェースコントローラを共有する1つ以上のコンピュータシステム同士のトラフィックについては、当該ネットワークインタフェースコントローラ内で転送処理を完結させ、かつ、該トラフィックの統計情報を取得し管理する仕組みを備えるとともに、前記論理スイッチ構成システムは、各前記ネットワークインタフェースコントローラと各前記ネットワークスイッチとから構成情報および統計情報を取得し、1つの論理スイッチとして構成する仕組みを備えていることを特徴とするトラフィック管理システム。
- 前記ネットワークインタフェースコントローラは、1つ以上のコンピュータシステムから共有するための1つ以上のコンピュータシステム用インタフェースと、外部ネットワークに接続するための1つ以上の外部ネットワーク用ポートと、前記コンピュータシステム用インタフェースまたは前記外部ネットワーク用ポートから入力されたパケットの出力先を保持するフォワーディングテーブルと、前記フォワーディングテーブルが保持する出力先に基づいて、入力された前記パケットを出力先とされる前記コンピュータシステム用インタフェースまたは前記外部ネットワーク用ポートに出力するパケットスイッチと、前記コンピュータシステム用インタフェース間を流れるパケットが属するトラフィックについての識別情報と統計情報とを保持するループバックテーブルと、前記ループバックテーブルが保持する情報を前記論理スイッチ管理システムから取得するための管理インタフェースと、を少なくとも備えることを特徴とする請求項1に記載のトラフィック管理システム。
- 前記ネットワークインタフェースコントローラは、パケットが入力された際に、前記フォワーディングテーブルを参照し、前記パケットが入力されたポートとパケットを出力するポートとが共に前記コンピュータシステム用インタフェースであると判定した場合、入力された前記パケットから抽出したトラフィックの識別情報に基づいて前記ループバックテーブルに該当するエントリが存在するか否かを判定し、該当するエントリが存在する場合には、前記ループバックテーブルの該当する当該エントリの統計情報を更新し、一方、該当するエントリが存在しない場合には、前記ループバックテーブルに前記パケットから抽出したトラフィックの識別情報をキーとしたエントリを新たに追加することを特徴とする請求項2に記載のトラフィック管理システム。
- 前記ネットワークインタフェースコントローラは、オープンフローに対応するコントローラであった場合、1つ以上のコンピュータシステムから共有するための1つ以上のコンピュータシステム用インタフェースと、外部ネットワークに接続するための1つ以上の外部ネットワーク用ポートと、前記コンピュータシステム用インタフェースまたは前記外部ネットワーク用ポートから入力されたパケット群の識別子と、前記パケット群に属する各パケットに対して実行するアクションとを組として保持するフローテーブルと、前記フローテーブルの保持するアクションに基づいて、前記コンピュータシステム用インタフェースまたは前記外部ネットワーク用ポートから入力されたパケットを、指定された前記コンピュータシステム用インタフェースまたは前記外部ネットワーク用ポートに対して出力するパケットスイッチと、オープンフロープロトコルを処理するための制御用CPU(Central Processing Unit)と、オープンフローの管理を行うオープンフローコントローラとの間でメッセージを交換する管理インタフェースと、を少なくとも備えるオープンフロー対応ネットワークインタフェースコントローラとして構成することを特徴とする請求項1に記載のトラフィック管理システム。
- 前記論理スイッチ管理システムは、前記ネットワークスイッチが、外部ネットワークへ入出力するために備えているネットワークポートの識別子およびネットワークポート数に関する情報と、フローの識別情報および統計情報を管理するために備えているフォワーディングテーブルのエントリ数とに関する情報と、を前記ネットワークスイッチから当該ネットワークスイッチの構成情報として取得するネットワークスイッチ管理手段と、前記ネットワークインタフェースコントローラが、前記コンピュータシステムとの間を接続するコンピュータシステム用インタフェース間を流れるパケットが属するトラフィックについての識別情報と統計情報とを保持するために備えているループバックテーブルのエントリ数に関する情報と、1つ以上のコンピュータシステムから共有するために備えているコンピュータシステム用インタフェース数に関する情報と、を前記ネットワークインタフェースコントローラから当該ネットワークインタフェースコントローラの構成情報として取得するネットワークインタフェースコントローラ管理手段と、前記ネットワークインタフェースコントローラと前記ネットワークスイッチとの間のどのインタフェースが接続されているかを示す接続情報を保持する接続情報管理手段と、取得した前記ネットワークスイッチの前記フォワーディングテーブルのエントリ数の情報と、取得した前記ネットワークインタフェースコントローラの前記ループバックテーブルのエントリ数の情報と、から、論理スイッチのフォワーディングテーブルのエントリ数を求め、論理フォワーディングテーブルを構成する論理スイッチフォワーディングテーブル管理手段と、取得した前記ネットワークスイッチのネットワークへの前記ネットワークポート数に関する情報と、取得した前記ネットワークインタフェースコントローラの前記コンピュータシステム用インタフェース数に関する情報と、前記ネットワークインタフェースコントローラと前記ネットワークスイッチとのどのインタフェースが接続されているかを示す前記接続情報と、から、論理スイッチのポート数を求めて管理する論理スイッチポート管理手段と、前記論理スイッチのポートと、前記ネットワークインタフェースコントローラの前記コンピュータシステム用インタフェースと、前記ネットワークスイッチの前記ネットワークポートと、の対応を管理する論理スイッチ管理手段と、を少なくとも備えることを特徴とする請求項1ないし4のいずれかに記載のトラフィック管理システム。
- 任意のタイミングで、前記ネットワークインタフェースコントローラから、前記ループバックテーブルに登録されているエントリの情報を読み出し、かつ、前記ネットワークスイッチから、前記フォワーディングテーブルに登録されているエントリの情報を読み出して、読み出した前記ループバックテーブルに登録されているエントリの情報と、前記フォワーディングテーブルに登録されているエントリの情報と、を、前記論理フォワーディングテーブルの該当するエントリに登録することを特徴とする請求項5に記載のトラフィック管理システム。
- 前記論理スイッチ管理システムは、オープンフローに対応するシステムであった場合、ネットワークを制御するための任意のネットワーク制御アプリケーションをユーザが実装することができるオープンフローインタフェースをさらに備え、請求項4に記載のオープンフロー対応ネットワークインタフェースコントローラから取得した前記コンピュータシステム用インタフェースに関する情報に含まれる、前記コンピュータシステム用インタフェースであることを示す情報と、請求項4に記載のオープンフロー対応ネットワークインタフェースコントローラから取得した前記フローテーブルに保持されているエントリの情報と、から、前記エントリに記載されている入力ポートと出力ポートとが共に前記コンピュータシステム用インタフェースであるか否かを判定し、共に前記コンピュータシステム用インタフェースであった場合には前記ネットワークインタフェースコントローラを共有するコンピュータシステム同士のトラフィックであることを検出することを特徴とする請求項4ないし6のいずれかに記載のトラフィック管理システム。
- 1つ以上のコンピュータシステムとの間で情報を送受信する1つ以上のネットワークインタフェースコントローラと、該ネットワークインタフェースコントローラと接続され、外部ネットワークとの間で情報を送受信する1つ以上のネットワークスイッチと、論理スイッチを構成する論理スイッチ構成システムと、を少なくとも備え、各前記ネットワークインタフェースコントローラは、当該ネットワークインタフェースコントローラを共有する1つ以上のコンピュータシステム同士のトラフィックについては、当該ネットワークインタフェースコントローラ内で転送処理を完結させ、かつ、該トラフィックの統計情報を取得し管理する仕組みを有するとともに、前記論理スイッチ構成システムは、各前記ネットワークインタフェースコントローラと各前記ネットワークスイッチとから構成情報および統計情報を取得し、1つの論理スイッチとして構成する仕組みを有していることを特徴とするトラフィック管理方法。
- 前記ネットワークインタフェースコントローラは、1つ以上のコンピュータシステムから共有するための1つ以上のコンピュータシステム用インタフェースと、外部ネットワークに接続するための1つ以上の外部ネットワーク用ポートと、前記コンピュータシステム用インタフェースまたは前記外部ネットワーク用ポートから入力されたパケットの出力先を保持するフォワーディングテーブルと、前記フォワーディングテーブルが保持する出力先に基づいて、入力された前記パケットを出力先とされる前記コンピュータシステム用インタフェースまたは前記外部ネットワーク用ポートに出力するパケットスイッチングステップと、前記コンピュータシステム用インタフェース間を流れるパケットが属するトラフィックについての識別情報と統計情報とを保持するループバックテーブルと、前記ループバックテーブルが保持する情報を前記論理スイッチ管理システムから取得するための管理ステップと、を少なくとも有することを特徴とする請求項8に記載のトラフィック管理方法。
- 前記論理スイッチ管理システムは、前記ネットワークスイッチが、外部ネットワークへ入出力するために備えているネットワークポートの識別子およびネットワークポート数に関する情報と、フローの識別情報および統計情報を管理するために備えているフォワーディングテーブルのエントリ数とに関する情報と、を前記ネットワークスイッチから当該ネットワークスイッチの構成情報として取得するネットワークスイッチ管理ステップと、前記ネットワークインタフェースコントローラが、前記コンピュータシステムとの間を接続するコンピュータシステム用インタフェース間を流れるパケットが属するトラフィックについての識別情報と統計情報とを保持するために備えているループバックテーブルのエントリ数に関する情報と、1つ以上のコンピュータシステムから共有するために備えているコンピュータシステム用インタフェース数に関する情報と、を前記ネットワークインタフェースコントローラから当該ネットワークインタフェースコントローラの構成情報として取得するネットワークインタフェースコントローラ管理ステップと、前記ネットワークインタフェースコントローラと前記ネットワークスイッチとの間のどのインタフェースが接続されているかを示す接続情報を保持する接続情報管理ステップと、取得した前記ネットワークスイッチの前記フォワーディングテーブルのエントリ数の情報と、取得した前記ネットワークインタフェースコントローラの前記ループバックテーブルのエントリ数の情報と、から、論理スイッチのフォワーディングテーブルのエントリ数を求め、論理フォワーディングテーブルを構成する論理スイッチフォワーディングテーブル管理ステップと、取得した前記ネットワークスイッチのネットワークへの前記ネットワークポート数に関する情報と、取得した前記ネットワークインタフェースコントローラの前記コンピュータシステム用インタフェース数に関する情報と、前記ネットワークインタフェースコントローラと前記ネットワークスイッチとのどのインタフェースが接続されているかを示す前記接続情報と、から、論理スイッチのポート数を求めて管理する論理スイッチポート管理ステップと、前記論理スイッチのポートと、前記ネットワークインタフェースコントローラの前記コンピュータシステム用インタフェースと、前記ネットワークスイッチの前記ネットワークポートと、の対応を管理する論理スイッチ管理ステップと、を少なくとも有することを特徴とする請求項8または9に記載のトラフィック管理方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013209858 | 2013-10-07 | ||
JP2013209858 | 2013-10-07 | ||
PCT/JP2014/002247 WO2015052854A1 (ja) | 2013-10-07 | 2014-04-22 | トラフィック管理システムおよびトラフィック管理方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPWO2015052854A1 true JPWO2015052854A1 (ja) | 2017-03-09 |
Family
ID=52812696
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015541415A Pending JPWO2015052854A1 (ja) | 2013-10-07 | 2014-04-22 | トラフィック管理システムおよびトラフィック管理方法 |
Country Status (2)
Country | Link |
---|---|
JP (1) | JPWO2015052854A1 (ja) |
WO (1) | WO2015052854A1 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017164219A1 (ja) * | 2016-03-24 | 2017-09-28 | 日本電気株式会社 | 統計情報管理装置、通信システム、統計情報管理方法およびプログラム |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110066896A1 (en) * | 2008-05-16 | 2011-03-17 | Akihiro Ebina | Attack packet detecting apparatus, attack packet detecting method, video receiving apparatus, content recording apparatus, and ip communication apparatus |
JP2009296158A (ja) * | 2008-06-03 | 2009-12-17 | Alaxala Networks Corp | 通信データ統計装置および通信データ統計方法 |
US9031081B2 (en) * | 2009-08-06 | 2015-05-12 | Broadcom Corporation | Method and system for switching in a virtualized platform |
US8537860B2 (en) * | 2009-11-03 | 2013-09-17 | International Business Machines Corporation | Apparatus for switching traffic between virtual machines |
JP5839032B2 (ja) * | 2011-02-24 | 2016-01-06 | 日本電気株式会社 | ネットワークシステム、コントローラ、及びフロー制御方法 |
-
2014
- 2014-04-22 WO PCT/JP2014/002247 patent/WO2015052854A1/ja active Application Filing
- 2014-04-22 JP JP2015541415A patent/JPWO2015052854A1/ja active Pending
Also Published As
Publication number | Publication date |
---|---|
WO2015052854A1 (ja) | 2015-04-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9311120B2 (en) | Method and system for virtual machine networking | |
US8750106B2 (en) | Interface control system and interface control method | |
JP5360607B2 (ja) | Pciエクスプレススイッチ、pciエクスプレスシステム、及びネットワーク制御方法 | |
US8856419B2 (en) | Register access in distributed virtual bridge environment | |
KR101559644B1 (ko) | 통신 제어 시스템, 스위치 노드 및 통신 제어 방법 | |
US9507736B2 (en) | Network controller with integrated management controller | |
US8571408B2 (en) | Hardware accelerated data frame forwarding | |
US8619796B2 (en) | Forwarding data frames with a distributed fiber channel forwarder | |
TW201933837A (zh) | 虛擬網路隧道內流量資料擷取方法與系統 | |
US7082138B2 (en) | Internal communication protocol for data switching equipment | |
US8493850B2 (en) | Communication apparatus and frame transmission method | |
US10050906B2 (en) | Virtual node having separate control and data planes | |
US8989194B1 (en) | Systems and methods for improving network redundancy and for facile initialization in a centrally-controlled network | |
CN109412922B (zh) | 一种传输报文的方法、转发设备、控制器及系统 | |
US20130051398A1 (en) | Remote control system, remote control method and program for remote control | |
KR101934908B1 (ko) | Sdn 기반의 통합 라우팅에 의한 피씨 전원 제어 방법 | |
US9385951B2 (en) | Apparatus and method for controlling packet transfer based on registered destination information | |
JP5995279B2 (ja) | ネットワーク機器、方法、及びプログラム | |
US9755892B2 (en) | Integrated device managment over Ethernet network | |
WO2014126094A1 (ja) | 通信システム、通信方法、制御装置、制御装置の制御方法及びプログラム | |
WO2015052854A1 (ja) | トラフィック管理システムおよびトラフィック管理方法 | |
US11533277B2 (en) | Method and system for virtual channel remapping | |
KR20180040963A (ko) | Sdn 기반의 통합 라우팅 방법 및 멀티 테넌트 지원 방법 |