JP2021182689A - スイッチ特定方法、及びスイッチ特定プログラム - Google Patents

スイッチ特定方法、及びスイッチ特定プログラム Download PDF

Info

Publication number
JP2021182689A
JP2021182689A JP2020087239A JP2020087239A JP2021182689A JP 2021182689 A JP2021182689 A JP 2021182689A JP 2020087239 A JP2020087239 A JP 2020087239A JP 2020087239 A JP2020087239 A JP 2020087239A JP 2021182689 A JP2021182689 A JP 2021182689A
Authority
JP
Japan
Prior art keywords
switch
physical
packet
virtual
session
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.)
Ceased
Application number
JP2020087239A
Other languages
English (en)
Inventor
淳一 樋口
Junichi Higuchi
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 JP2020087239A priority Critical patent/JP2021182689A/ja
Priority to EP21156537.9A priority patent/EP3913874A1/en
Priority to US17/180,985 priority patent/US11431656B2/en
Publication of JP2021182689A publication Critical patent/JP2021182689A/ja
Ceased legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/70Virtual switches
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/25Routing or path finding in a switch fabric

Abstract

【課題】パケットが通るスイッチを特定すること。【解決手段】コンピュータが、第1の物理スイッチを模擬する第1の仮想スイッチに第1のパケットを流すことにより、第1の仮想スイッチが第1のパケットを振り分けた振分先の第2の仮想スイッチを特定し、第1の物理スイッチの振分先である第2の物理スイッチと第2の仮想スイッチとを対応付けたスイッチ対応情報を記憶した記憶部を参照することにより、第1のパケットが模擬する第2のパケットを第1の物理スイッチが振り分ける振分先の第2の物理スイッチを特定する処理を実行することを特徴とするスイッチ特定方法による。【選択図】図9

Description

本発明は、スイッチ特定方法、及びスイッチ特定プログラムに関する。
仮想化技術の発展に伴い、データセンタ内の物理サーバで起動している複数の仮想マシンを利用してサービスを提供するクラウドサービスが普及しつつある。それらの仮想マシン同士を接続するネットワークとしてVXLAN(Virtual eXtensible Local Area Network)がある。VXLANは、L3 (Layer 3)ネットワーク上に論理的なL2 (Layer 2)ネットワークを構築するトンネリングプロトコルであり、24ビットのVXLAN IDによってデータセンタ内に大規模なネットワークを構築することができる。
そのVXLANにおけるネットワークトポロジとしてリーフ−スパイン型のトポロジがある。リーフ−スパイン型のトポロジでは、リーフスイッチと呼ばれる物理スイッチが各仮想マシンに接続される。そして、リーフスイッチ同士はスパインスイッチと呼ばれる物理スイッチ同士で接続される。リーフ−スパイン型のトポロジは、リーフスイッチと各仮想マシンとの間のオーバレイネットワークと、スパインスイッチとリーフスイッチとの間のアンダレイネットワークとを有する二層トポロジである。このトポロジでは、三層トポロジと比較して仮想マシンを簡単に増設することができる。
また、VXLANにおけるスイッチの負荷分散を図るためのルーティング方式としてECMP(Equal Cost Multi Path)がある。ECMPにおいては、リーフスイッチが、セッションのハッシュ値と次ホップとを対応付けたハッシュテーブルに基づいて、次ホップのスパインスイッチにパケットを転送する。
このようなVXLANとECMPとを採用したクラウドサービスでは、仮想マシン間の通信の品質が悪い場合に、ネットワーク上の障害箇所を調査する場合がある。しかし、リーフスイッチのハッシュテーブルが非公開の場合には次ホップのスパインスイッチが分らず、調査対象のパケットがネットワークのどこを流れるのかを特定できない。
特開2017−38239号公報
一側面によれば、パケットが通るスイッチを特定することを目的とする。
一側面によれば、コンピュータが、第1の物理スイッチを模擬する第1の仮想スイッチに第1のパケットを流すことにより、前記第1の仮想スイッチが前記第1のパケットを振り分けた振分先の第2の仮想スイッチを特定し、前記第1の物理スイッチの振分先である第2の物理スイッチと前記第2の仮想スイッチとを対応付けたスイッチ対応情報を記憶した記憶部を参照することにより、前記第1のパケットが模擬する第2のパケットを前記第1の物理スイッチが振り分ける振分先の前記第2の物理スイッチを特定する処理を実行することを特徴とするスイッチ特定方法が提供される。
一側面によれば、パケットが通るスイッチを特定することができる。
図1は、検討に使用したネットワーク構成図である。 図2は、ECMPによる振分処理について説明するための模式図である。 図3は、VXLANパケットが通る経路を特定する方法について示す模式図である。 図4は、VXLANパケットが通る経路を特定する別の方法について示す模式図である。 図5は、本実施形態に係るシステムのシステム構成図である。 図6は、本実施形態における実環境とエミュレーション環境の模式図である。 図7(a)は、本実施形態に係る実環境における物理リーフスイッチのハッシュテーブルの模式図であり、図7(b)は、本実施形態に係るエミュレーション環境における仮想リーフスイッチのハッシュテーブルの模式図である。 図8は、ECMPにおけるハッシュテーブルの性質について示す模式図である。 図9は、本実施形態に係るスイッチ特定方法の概略について示す模式図である。 図10は、本実施形態に係るスイッチ特定装置の機能構成図である。 図11は、本実施形態に係るSyslog情報の模式図である。 図12は、本実施形態に係るネットワークトポロジ情報の模式図である。 図13は、本実施形態に係るネットワーク設定情報の模式図である。 図14は、本実施形態に係るネットワークインターフェース情報の模式図である。 図15は、本実施形態に係るルーティングテーブル情報の模式図である。 図16は、本実施形態に係るMACテーブル情報の模式図である。 図17は、本実施形態に係る第1のセッション対応情報の模式図である。 図18は、本実施形態に係る第2のセッション対応情報の模式図である。 図19は、本実施形態に係る第3の生成部がスイッチ対応情報を生成する方法について示す模式図である。 図20は、本実施形態に係るエミュレーション装置の機能構成図である。 図21は、本実施形態に係るスイッチ対応情報の生成方法のフローチャートである。 図22は、本実施形態に係るスイッチ特定方法のフローチャートである。 図23は、本実施形態に係るセッション情報の模式図である。 図24は、本実施形態に係る特定結果情報の模式図である。 図25は、本実施形態における表示部の表示例を示す図である。 図26は、本実施形態に係るスイッチ特定装置のハードウェア構成図である。 図27は、本実施形態に係るエミュレーション装置のハードウェア構成図である。
本実施形態の説明に先立ち、本願発明者が検討した事項について説明する。
図1は、検討に使用したネットワーク構成図である。
このネットワーク1は、データセンタDC内の各物理サーバ2を接続するリーフ−スパイン型のトポロジを有するVXLANであって、オーバレイネットワークNWoverとアンダレイネットワークNWunderとに分けられる。
このうち、オーバレイネットワークNWoverは、各物理サーバ2と物理リーフスイッチ4との間のネットワークである。各物理サーバ2には仮想マシン5と仮想スイッチ7とが起動しており、仮想スイッチ7を介して物理リーフスイッチ4が仮想マシン5と接続される。
一方、アンダレイネットワークNWunderは、物理リーフスイッチ4と物理スパインスイッチ8との間のネットワークである。
以下では、複数の物理リーフスイッチ4の各々を名前「Leaf 1」〜「Leaf 3」で区別する。また、複数の物理スパインスイッチ8を名前「Spine 1」、「Spine 2」で区別する。更に、複数の仮想マシン5の各々を名前「VM1」〜「VM6」で区別する。
このようなデータセンタDCによれば、複数の仮想マシン5を利用したクラウドサービスを提供することができる。また、この例では、物理リーフスイッチ4が、以下のようにしてVXLANパケット9の振分先の物理スパインスイッチ8をECMPに従って決定する。
図2は、「Leaf 1」の物理リーフスイッチ4が実行するECMPによる振分処理について説明するための模式図である。
まず、物理リーフスイッチ4は、VXLANパケット9のセッション9aを取得する(P1)。セッション9aは、プロトコル、宛先IP(Internet Protocol)アドレス、送信元IPアドレス、宛先ポート番号、及び送信元ポート番号の5-tupleで定義される情報である。なお、プロトコル、宛先IPアドレス、及び送信元IPアドレスは、VXLANパケット9のIPパケットから取得できる。また、宛先ポート番号と送信元ポート番号は、VXLANパケット9のUDP(User Datagram Protocol)セグメントから取得できる。
次に、物理リーフスイッチ4は、ECMPのハッシュ計算アルゴリズムを利用して、セッション9aからハッシュ値を算出する(P2)。更に、物理リーフスイッチ4は、自装置の記憶部にあるハッシュテーブル10を参照することにより、そのハッシュ値に対応した次ホップのIPアドレスを特定する(P3)。
そして、物理リーフスイッチ4は、特定した次ホップにVXLANパケット9を振り分ける(P4)。
ここで、ネットワーク1の管理者が、例えばクラウドサービスの利用者から仮想マシン5の通信の品質が悪いという問合せを受けた場合を考える。その場合、管理者は、複数の物理リーフスイッチ4と物理スパインスイッチ8のどこで障害が発生したのかを調査することになる。
管理者が物理リーフスイッチ4のハッシュテーブル10の中身を確認できるのであれば、ハッシュ値に対応した次ホップの物理スパインスイッチ8を管理者が特定できる。そのため、利用者の仮想マシン5から送信されたVXLANパケット9の振分先の物理スパインスイッチ8を管理者が特定でき、これを手掛かりにてネットワーク1に障害が発生した箇所を特定できる。
しかし、物理リーフスイッチ4の製造業者がハッシュテーブル10の中身を公開していない場合には、管理者は、VXLANパケット9のハッシュ値に対応した次ホップを特定できない。よって、管理者は、VXLANパケット9が通る物理スパインスイッチ8を特定できず、ネットワーク1のどこに障害があるのかを調査することができなくなってしまう。
これを解決するために以下のようにしてVXLANパケット9が通る経路を特定することも考えられる。
図3は、VXLANパケット9が通る経路を特定する方法について示す模式図である。
この方法では、物理リーフスイッチ4と物理スパインスイッチ8との間の全ての経路にパケットキャプチャ装置12を接続する。そして、そのパケットキャプチャ装置12でVXLANパケット9をキャプチャすることにより、VXLANパケット9が通る経路を特定する。
しかし、これでは物理リーフスイッチ4と物理スパインスイッチ8との間の全ての経路にパケットキャプチャ装置12を接続するためのコストが高くなってしまう。しかも、ネットワーク1にパケットキャプチャ装置12を接続するためにネットワーク1を一時的に停止させなければならず、データセンタDCを利用したクラウドサービスの可用性が低下する。
また、次のようにしてVXLANパケット9が通る経路を特定することも考えられる。
図4は、VXLANパケット9が通る経路を特定する別の方法について示す模式図である。
この方法では、物理スパインスイッチ8が内蔵するパケット調査ツール8aを利用してVXLANパケット9が通る経路を特定する。パケット調査ツール8aは、指定したセッション9a(図2参照)を有するVXLANパケット9が物理スパインスイッチ8を流れたときに、そのVXLANパケット9のヘッダ情報を出力するツールである。そして、そのヘッダ情報を管理者が確認することにより、VXLANパケット9がネットワーク中のどのような経路を通るのかを確認できる。
しかし、これではパケット調査ツール8aを実行することにより物理スパインスイッチ8の負荷が高くなり、ネットワークのレイテンシが大きくなる等の問題が発生してしまう。
(本実施形態)
次に、本実施形態に係るシステムのシステム構成について説明する。
図5は、本実施形態に係るシステムのシステム構成図である。なお、図5において、図1で説明したのと同じ要素には図1におけるのと同じ符号を付し、以下ではその説明を省略する。
このシステム20は、ネットワーク1における物理リーフスイッチ4の振分先の物理スパインスイッチ8を特定するためのシステムであって、スイッチ特定装置40とエミュレーション装置80とを有する。
このうち、ネットワーク1は、図1と同様にリーフ−スパイン型のトポロジを有するVXLANである。なお、図5では図が煩雑になるのを防止するために物理リーフスイッチ4と物理スパインスイッチ8との間の結線は省略してあるが、ネットワーク1は図1と同じリーフ−スパイン型のトポロジを有する。
また、スイッチ特定装置40は、物理リーフスイッチ4の振分先の物理スパインスイッチ8を特定する物理サーバである。そのスイッチ特定装置40は、LAN(Local Area Network)等の管理ネットワーク90を介してネットワーク1における物理リーフスイッチ4と物理スパインスイッチ8に接続される。
また、エミュレーション装置80は、ネットワーク1を模擬したエミュレーション環境を構築する物理サーバであって、管理ネットワーク90を介してスイッチ特定装置40に接続される。
本実施形態では、実環境のネットワーク1においてVXLANパケットが流れる経路を、エミュレーション装置80が構築したエミュレーション環境を利用して特定する。
図6は、実環境とエミュレーション環境について模式図である。
図6に示すように、実環境21におけるネットワーク1は、図1で説明したのと同一の物理構成と論理構成とを有しており、複数の物理リーフスイッチ4と複数の物理スパインスイッチ8とを有する。
なお、物理リーフスイッチ4の各々は第1の物理スイッチの一例であり、物理スパインスイッチ8の各々は第2の物理スイッチの一例である。また、実環境21のネットワーク1を流れるVXLANパケット9は第2のパケットの一例である。
一方、エミュレーション環境22は、エミュレーション装置80が自装置の内部にソフトウェア的に構築した環境であり、仮想ネットワーク27を有する。仮想ネットワーク27は、実環境21におけるネットワーク1のうち、調査対象のパケットが流れるネットワークを模擬したネットワークである。
ここで、実環境21において「VM1」の仮想マシン5が「VM5」の仮想マシン宛に送信したVXLANパケット9の転送経路を調査する場合を考える。この場合は、エミュレーション装置80は、VXLANパケット9の送信元と送信先の各仮想マシンと、当該VXLANパケット9が流れる可能性がある全てのスイッチとを含む仮想ネットワーク27を構築する。
この例では、エミュレーション装置80は、「VM1」と「VM2」の各々の仮想マシン5を模擬する二つの疑似仮想マシン23を仮想ネットワーク27に配置する。
更に、エミュレーション装置80は、「Leaf 1」と「Leaf 2」の各々の物理リーフスイッチ4を模擬する二つの仮想リーフスイッチ24を仮想ネットワーク27に配置する。また、エミュレーション装置80は、「Spine 1」と「Spine 2」の物理スパインスイッチ8の各々を模擬する二つの仮想スパインスイッチ28を仮想ネットワーク27に配置する。なお、仮想リーフスイッチ24は第1の仮想スイッチの一例であり、仮想スパインスイッチ28は第2の仮想スイッチの一例である。
また、エミュレーション装置80が実環境21の全てのネットワークを模擬する必要はなく、調査対象のVXLANパケット9が流れる可能性があるネットワークのみをエミュレーション装置80が模擬すればよい。
そして、スイッチ特定装置40が、調査対象のVXLANパケット9を模擬した調査パケット29を仮想ネットワーク27に流す。調査パケット29は、VXLANパケット9のセッション9a(図2参照)と同一のセッションを有するパケットである。セッション以外のフィールドについては、VXLANパケット9と調査パケット29で相違していてもよい。なお、調査パケット29は、第1のパケットの一例である。
このように仮想ネットワーク27に調査パケット29を流すと、その調査パケット29の転送経路は、実環境21のネットワーク1におけるVXLANパケット9の転送経路と同一になるとも考えられる。しかし、実環境の物理リーフスイッチ4のハッシュテーブル10(図2参照)は、当該物理リーフスイッチ4のネットワークインターフェースが変化するとその内容も変わってしまう。よって、実環境21とエミュレーション環境22とでハッシュテーブル10の内容が同一となる保障はなく、実環境21と同一の転送経路をエミュレーション環境22で調査パケット29が通るとは限らない。
これについて図7を参照して更に説明する。
図7(a)は、実環境21における「Leaf 1」の物理リーフスイッチ4のハッシュテーブル10の模式図である。
実環境21においては、物理リーフスイッチ4は、ハッシュ値が「2」のVXLANパケット9を、次ホップのIPアドレスが「192.0.2.10」である「Spine 1」の物理スパインスイッチ8に転送する。
一方、図7(b)は、エミュレーション環境22における「Leaf 1」の仮想リーフスイッチ24のハッシュテーブル10の模式図である。
エミュレーション環境22においては、仮想リーフスイッチ24は、ハッシュ値が「2」の調査パケット29を、次ホップのIPアドレスが「192.0.2.100」である「Spine 2」の仮想スパインスイッチ28に転送する。
このように、VXLANパケット9と調査パケット29の各々のハッシュ値が同一であっても、実環境21とエミュレーション環境22とでハッシュテーブル10の内容が異なると振分先も変わることがある。
実環境21とエミュレーション環境22とでハッシュテーブル10の内容が相違する原因には幾つかある。例えば、ハッシュテーブル10の各行は、物理リーフスイッチ4や仮想リーフスイッチ24に接続されているネットワーク機器が起動した順に生成される。よって、実環境21とエミュレーション環境22とでネットワーク機器の起動順が異なると、このようにハッシュテーブル10の内容が相違する場合がある。
また、ネットワークの運用中に物理リーフスイッチ4や仮想リーフスイッチ24のインターフェースが変化したことが原因でハッシュテーブル10の内容が書き換えられることがある。例えば、スイッチのあるポートがダウンリンクしたりアップリンクしたりすること、それを契機としてハッシュテーブル10が書き換えられる。この場合にも上記のように実環境21とエミュレーション環境22とでハッシュテーブル10の内容が相違することになる。
次に、ECMPにおけるハッシュテーブル10の性質について説明する。
図8は、ECMPにおけるハッシュテーブル10の性質について示す模式図である。
表TBは、物理リーフスイッチ4の振分先の総数でハッシュ値を除したときの剰余を示す表である。ここでは、図6のように各物理リーフスイッチ4の振分先の物理スパインスイッチ8が「Spine1」と「Spine2」の2つであり、振分先の総数が「2」であるとする。この場合の剰余は「0」と「1」のいずれかである。また、セッション1〜4の各々のハッシュ値がそれぞれ「0」、「3」、「4」、「7」であるとする。
ハッシュテーブル10は、剰余が同一のセッション9aを有するVXLANパケット9を同一の振分先に振分けるという性質がある。この例では、剰余は「0」と「1」の二つのみであるから、ハッシュテーブル10の候補はパターン1とパターン2の二つとなる。
パターン1においては、セッション9aの剰余が「0」のVXLANパケット9の振分先は全て「Spine 1」の物理スパインスイッチ8となり、剰余が「1」のときの振分先は全て「Spine 2」の物理スパインスイッチ8となる。この場合は、セッション1、3の振分先が「Spine 1」となり、セッション2、4の振分先が「Spine 2」となる。
また、パターン2においては、セッション9aの剰余が「0」のVXLANパケット9の振分先は全て「Spine 2」の物理スパインスイッチ8となり、剰余が「1」のときの振分先は全て「Spine 1」の物理スパインスイッチ8となる。この場合は、セッション1、3の振分先が「Spine 2」となり、セッション2、4の振分先が「Spine 1」となる。
この性質によれば、ハッシュテーブル10の候補数は振分先の総数しかなく、ハッシュテーブル10が公開されていない場合であってもその中身をある程度推定することができる。
次に、上記のエミュレーション環境22を利用した本実施形態に係るスイッチ特定方法の概略について説明する。
図9は、本実施形態に係るスイッチ特定方法の概略について示す模式図である。
まず、スイッチ特定装置40が、実環境21を流れるVXLANパケット9をキャプチャし、そのVXLANパケット9の振分先の物理スパインスイッチ8を特定する(P10)。例えば、スイッチ特定装置40は、「Leaf 1」の物理リーフスイッチ4にアクセスすることにより、当該物理リーフスイッチ4を流れるVXLANパケット9をキャプチャする。
この例では、「Spine 1」と「Spine 2」の各々の物理スパインスイッチ8に振分けられる「セッションA」と「セッションB」の各VXLANパケット9をスイッチ特定装置40がキャプチャする。
次に、エミュレーション装置80がエミュレーション環境22を構築する。そして、スイッチ特定装置40が、前述の「セッションA」と「セッションB」の各々のVXLANパケット9を模擬した各調査パケット29をエミュレーション環境22の仮想ネットワークに流す(P11)。その後、スイッチ特定装置40は、エミュレーション環境22における調査パケット29の振分先の仮想スパインスイッチ28を特定する。ここでは、セッションAの調査パケット29が「Spine2」の仮想スパインスイッチ28に振り分けられ、セッションBの調査パケット29が「Spine1」の仮想スパインスイッチ28に振り分けられたものとする。
次に、スイッチ特定装置40が、「セッションA」のVXLANパケット9の振分先「Spine 1」と、「セッションA」の調査パケット29の振分先「Spine 2」とを対応付けてスイッチ対応情報Gsに格納する(P12)。同様に、スイッチ特定装置40が、「セッションB」のVXLANパケット9の振分先「Spine 2」と、「セッションB」の調査パケット29の振分先「Spine 1」とを対応付けてスイッチ対応情報Gsに格納する。
次いで、スイッチ特定装置40が、「セッションC」の調査パケット29をエミュレーション環境22の仮想ネットワーク27に流し、その調査パケット29の振分先の仮想スパインスイッチ28を特定する(P13)。「セッションC」は、例えば、通信の品質が悪いとの問合せ行った利用者の仮想マシン5を送信元とするVXLANパケット9のセッションである。この例では、「セッションC」の調査パケット29が、「Spine 2」の仮想スパインスイッチ28に振り分けられたものとする。
その後、スイッチ特定装置40が、特定した振分先に対応する物理スパインスイッチ8をスイッチ対応情報Gsに基づいて特定する(P14)。図9のスイッチ対応情報Gsでは、「セッションC」の調査パケット29の振分先である「Spine2」の仮想スパインスイッチ28は「Spine1」の物理スパインスイッチ8に対応する。よって、「セッションC」のVXLANパケット9を実環境21に流すと、当該VXLANパケット9の振分先が「Spine1」の物理スパインスイッチ8であることを特定することができる。
以上により、管理者が実環境21における振分先の物理スパインスイッチ8を特定できるようになる。
次に、スイッチ特定装置40の機能構成について説明する。
図10は、スイッチ特定装置40の機能構成図である。図10に示すように、スイッチ特定装置40は、入力部41、表示部42、通信部43、制御部44、及び記憶部45を有する。
このうち、入力部41は、管理者等から操作を受け付け、受け付けた操作内容を示す操作情報を制御部44に入力する処理部である。
また、表示部42は、各種の情報を表示する処理部である。例えば、管理者等に入力を促す画面等が表示部42に表示される。更に、表示部42は、調査対象のVXLANパケット9の転送径路をスイッチ特定装置40が特定できた場合にその転送径路も表示する。
そして、通信部43は、管理ネットワーク90(図5参照)との間で通信を行う通信インターフェースである。
制御部44は、スイッチ特定装置40の各部を制御する処理部である。この例では、制御部44は、受付部46、判定部47、収集部48、検知部49、第1〜第3の生成部50〜52、パケット生成部53、第1の特定部54、第2の特定部55、表示処理部56、及び作成処理部57を有する。
このうち、受付部46は、調査対象のVXLANパケット9の振分先の物理スパインスイッチ8を特定する指示を管理者から受け付ける処理部である。その指示には、VXLANパケット9のセッション9a(図2参照)を示すセッション情報も含まれる。更に、受付部46は、ネットワーク1の監視を終了する監視終了指示を管理者から受け付ける。
判定部47は、受付部46が監視終了指示を受け付けたかを判定する処理部である。
収集部48は、監視終了指示を受け付けていないと判定部47が判定したときに、物理リーフスイッチ4と物理スパインスイッチ8の各々からネットワーク情報Gnを収集し、それを記憶部45に格納する処理部である。そのネットワーク情報Gnには、Syslog情報Hlog、ネットワークトポロジ情報Htop、ネットワーク設定情報Hsetの各情報が含まれる。
図11は、Syslog情報Hlogの模式図である。
Syslog情報Hlogは、各リーフスイッチ4が生成する情報であって、自装置のネットワークインターフェースの名前(NW I/F名)とその状態とをネットワーク機器名に対応付けた情報である。なお、ネットワーク機器名は、各リーフスイッチ4を識別する「Leaf1」や「Leaf2」等の文字列である。また、NW I/Fの状態としては、アップリンクやダウンリンク等の状態がある。
各リーフスイッチ4は、ネットワークインターフェースの状態が変化したタイミングでスイッチ特定装置40にSyslog情報Hlogを送信する。Syslog情報Hlogにおける時刻は、このようにインターフェースの状態が変化した時刻を示す。
図12は、ネットワークトポロジ情報Htopの模式図である。
ネットワークトポロジ情報Htopは、各物理リーフスイッチ4が生成する情報である。この例では、物理リーフスイッチ4のNW I/F名、接続先のネットワーク機器の名前、及び接続先のネットワーク機器のNW I/F名がネットワーク機器名に対応付けられてネットワークトポロジ情報Htopに格納される。
図13は、ネットワーク設定情報Hsetの模式図である。
図13に示すように、ネットワーク設定情報Hsetには、ネットワークインターフェース情報Gif、ルーティングテーブル情報Groute、及びMAC(Media Access Control)テーブル情報Gmacの各情報が含まれる。
図14は、ネットワークインターフェース情報Gifの模式図である。
ネットワークインターフェース情報Gifは、物理リーフスイッチ4と物理スパインスイッチ8の各ネットワーク機器が生成する情報である。ここでは、NW I/F名と各NW I/FのIPアドレスの各々がネットワーク機器名に対応付けられてネットワークインターフェース情報Gifに格納される。
図15は、ルーティングテーブル情報Grouteの模式図である。
ルーティングテーブル情報Grouteは、物理リーフスイッチ4と物理スパインスイッチ8の各ネットワーク機器のルーティングテーブルを示す情報である。例えば、ルーティングテーブル情報Grouteにおいては、宛先ネットワークと次ホップの各々のIPアドレスが各ネットワーク機器名に対応付けられる。更に、AD(Administrative Distance)値とメトリックも各ネットワーク機器名に対応付けられてルーティングテーブル情報Grouteに格納される。
図16は、MACテーブル情報Gmacの模式図である。
MACテーブル情報Gmacは、宛先MACアドレスと次ホップのネットワークとを物理リーフスイッチ4等のネットワーク機器名に対応付けた情報である。
再び図10を参照する。
検知部49は、Syslog情報Hlog(図11)を参照することにより、物理リーフスイッチ4のネットワークインターフェースが変化したかを検知する処理部である。
また、作成処理部57は、前述のネットワーク情報Gnに基づいて、仮想ネットワーク27を作成する処理を行う。この例では、作成処理部57は、エミュレーション装置80に対し、ネットワーク情報Gnに基づいて仮想ネットワーク27を作成するように依頼する作成依頼を通知する。
一方、第1の生成部50は、実環境21における物理リーフスイッチ4の各々を流れる複数のVXLANパケット9をキャプチャすることにより第1のセッション対応情報F1を生成し、それを記憶部45に格納する。第1の生成部50がキャプチャする内容は、VXLANパケット9のセッション9aと振分先である。
図17は、第1のセッション対応情報F1の模式図である。
図17に示すように、第1のセッション対応情報F1は、実環境21でのVXLANパケット9のセッション9aと、物理リーフスイッチ4による振分先の物理スパインスイッチ8とを対応付けた情報である。
図2を参照して説明したように、セッション9aは、プロトコル、宛先IPアドレス、送信元IPアドレス、宛先ポート番号、及び送信元ポート番号の5-tupleで定義される情報である。ここでは、セッション9aにおける記号「->」の前に送信元に係る情報を記述し、記号「->」の後に送信先に係る情報とプロトコルとを記述する。例えば、セッション「192.168.1.10:60000->192.168.1.2:80/tcp」において、「192.168.1.10:60000」は、送信元のIPアドレスが「192.168.1.10」であり、送信元のポート番号が「60000」であることを示す。また、「192.168.1.2:80/tcp」は、送信先のIPアドレスが「192.168.1.2」であり、送信先のポート番号が「80」であることを示す。更に「tcp」は、プロトコルがtcp (transmission control protocol)であることを示す。
また、第1の生成部50は、物理リーフスイッチ4がVXLANパケット9に書き込んだ次ホップの宛先MACアドレスをキャプチャすることにより、当該VXLANパケット9の振分先の物理スパインスイッチ8を特定できる。
更に、第1の生成部50は、一つの物理リーフスイッチ4の全ての振分先にVXLANパケット9が振り分けられるまで複数のVXLANパケット9のキャプチャを行う。この例では、物理リーフスイッチ4の振分先は「Spine 1」と「Spine 2」の二つの物理スパインスイッチ8である。よって、複数のVXLANパケット9がこれら二つの物理スパインスイッチ8に振分けられるまで第1の生成部50はVXLANパケット9のキャプチャを行う。
再び図10を参照する。
第2の生成部51は、仮想リーフスイッチ24に複数の調査パケット29を流すことにより第2のセッション対応情報F2を生成し、それを記憶部45に格納する処理部である。
図18は、第2のセッション対応情報F2の模式図である。
図18に示すように、第2のセッション対応情報F2は、エミュレーション環境22の調査パケット29のセッション29aと、仮想リーフスイッチ24による振分先の仮想スパインスイッチ28とを対応付けた情報である。
セッション9a(図17参照)と同様に、セッション29aにおいても記号「->」の前に送信元に係る情報を記述し、当該記号の後の送信先に係る情報とプロトコルとを記述する。
また、第2の生成部51は、一つの仮想リーフスイッチ24の全ての振分先に調査パケット29が振り分けられるまで複数の調査パケット29を仮想リーフスイッチ24に流す。この例では、仮想リーフスイッチ24の振分先は「Spine 1」と「Spine 2」の二つの仮想スパインスイッチ28である。よって、複数の調査パケット29がこれら二つの仮想スパインスイッチ28に振分けられるまで第2の生成部51は仮想リーフスイッチ24に調査パケット29を流し続ける。
再び図10を参照する。
第3の生成部52は、第1のセッション対応情報F1と第2のセッション対応情報F2とを用いてスイッチ対応情報Gs(図9参照)を生成する処理部である。
図19は、第3の生成部52がスイッチ対応情報Gsを生成する方法について示す模式図である。
図19に示すように、第3の生成部52は、第1のセッション対応情報F1と第2のセッション対応情報F2の各々において同一のセッションに対応する物理スパインスイッチ8と仮想スパインスイッチ28とを対応付ける。
例えば、セッション「192.168.1.10:60000->192.168.1.2:80/tcp」について考える。
第1のセッション対応情報F1に示されるように、このセッションは、「Spine 1」の物理スパインスイッチ8に対応する。また、第2のセッション対応情報F2に示されるように、当該セッションは、「Spine 2」の仮想スパインスイッチ28に対応する。よって、第3の生成部52は、「Spine 1」の物理スパインスイッチ8と「Spine 2」の仮想スパインスイッチ28とを対応付けてスイッチ対応情報Gsに格納する。
再び図10を参照する。
パケット生成部53は、受付部46がセッション情報を受け付けたときに、そのセッション情報が示すセッション29a(図18参照)を有する調査パケット29を生成する処理部である。セッション情報は、前述のように調査対象のVXLANパケット9のセッション9aを示す情報である。
第1の特定部54は、パケット生成部53が生成した調査パケット29を仮想リーフスイッチ24に流すことにより、調査パケット29の振分先の仮想スパインスイッチ28を特定する処理部である。
また、第2の特定部55は、スイッチ対応情報Gs(図9)を参照することにより、調査パケット29が模擬するVXLANパケット9を物理リーフスイッチ4に流したときの振分先の物理スパインスイッチ8を特定する。
一例として、第2の特定部55は、スイッチ対応情報Gs(図9)を参照して、調査パケット29の振分先の仮想スパインスイッチ28に対応した物理スパインスイッチ8を特定する。その物理スパインスイッチ8が、VXLANパケット9を物理リーフスイッチ4に流したときの振分先の物理スパインスイッチ8となる。
そして、表示処理部56は、第2の特定部55が特定した物理スパインスイッチ8を含むVXLANパケット9の転送経路を表示部42に表示させる処理を行う処理部である。
次に、エミュレーション装置80の機能構成について説明する。
図20は、エミュレーション装置80の機能構成図である。
図20に示すように、エミュレーション装置80は、通信部61と制御部62とを有する。
このうち、通信部61は、管理ネットワーク90(図5参照)との間で通信を行う通信インターフェースである。
また、制御部62は、エミュレーション装置80の各部を制御する処理部であって、受付部63と作成部64とを有する。
受付部63は、スイッチ特定装置40の作成処理部57が仮想ネットワーク27の作成を依頼する作成依頼を通知したときに、その作成依頼を通信部61を介して受け付ける処理部である。
そして、作成部64は、受付部63が作成依頼を受け付けたときに、仮想ネットワーク27を作成する処理部である。例えば、作成部64は、ネットワークトポロジ情報Htop(図12)に基づいて、ある仮想リーフスイッチ24に接続される全ての仮想スパインスイッチ28を特定し、これらの仮想リーフスイッチ24と仮想スパインスイッチ28とを接続する。
更に、作成部64は、ネットワークインターフェース情報Gif(図14参照)に基づいて、エミュレーション環境22内の各ネットワーク機器のNW I/FのIPアドレスを設定する。そして、作成部64は、ルーティングテーブル情報Groute(図15)とMACテーブル情報Gmac(図16)とを参照し、エミュレーション環境22内の各ネットワーク機器のルーティングテーブルとMACテーブルとを作成する。
なお、この例ではスイッチ特定装置40とは別の物理サーバでエミュレーション装置80を実現したが、一つの物理サーバでスイッチ特定装置40とエミュレーション装置80とを実現してもよい。この場合は、仮想ネットワーク27を作成する作成部64の機能をスイッチ特定装置40が有することになる。
次に、スイッチ特定装置40が行うスイッチ対応情報Gsの生成方法について説明する。
図21は、スイッチ対応情報Gsの生成方法のフローチャートである。
スイッチ対応情報Gsは物理リーフスイッチ4ごとに生成される。そのため、以下のフローチャートも物理リーフスイッチ4ごとに実行される。
まず、判定部47が、ネットワーク1の監視を終了する監視終了指示を受付部46が受け付けたかを判定する(ステップS11)。ここで、受け付けた場合(ステップS11:肯定)は処理を終える。
一方、受け付けていない場合(ステップS11:否定)はステップS12に移る。ステップS12においては、物理リーフスイッチ4と物理スパインスイッチ8の各々から収集部48が最新のネットワーク情報Gnを収集し、それを記憶部45に格納する。
次に、検知部49が、ネットワーク情報Gnに含まれるSyslog情報Hlog(図11)を参照することにより、物理リーフスイッチ4のネットワークインターフェースが変化したかを検知する(ステップS13)。
ここで、変化していないと判定された場合(ステップS13:否定)はステップS14に移り、一定時間だけスリープする。その後、再びステップS12を実行する。
一方、ネットワークインターフェースが変化したと判定された場合(ステップS13:肯定)はステップS15に移る。ステップS15においては、第1の生成部50が、実環境21における物理リーフスイッチ4の各々を流れる複数のVXLANパケット9をキャプチャする。キャプチャする内容は、VXLANパケット9のセッション9aと、そのVXLANパケット9の振分先の物理スパインスイッチ8である。
また、第1の生成部50は、一つの物理リーフスイッチ4について、その全ての振分先にVXLANパケット9が流れるまでキャプチャを続ける。
次に、第1の生成部50が、キャプチャしたセッション9aと振分先の物理スパインスイッチ8とを対応付けることにより、第1のセッション対応情報F1(図17参照)を生成する(ステップS16)。そして、第1の生成部50が第1のセッション対応情報F1を記憶部45に格納する。
続いて、エミュレーション装置80がエミュレーション環境22を生成し、第2の生成部51が当該エミュレーション環境22の仮想リーフスイッチ24に複数の調査パケット29を送信する(ステップS17)。一例として、エミュレーション装置80は、作成処理部57からの作成依頼を受け付け、ステップS12のネットワーク情報Gnに基づいて仮想ネットワーク27を作成する。
ここで、図8を参照して説明したように、仮想リーフスイッチ24の振分先の個数でハッシュ値を除したときの剰余が同一のセッションは同一の仮想スパインスイッチ28に振り分けられる。以下では、ハッシュ値の剰余が同一の複数のセッションから任意に選んだ一つのセッションを代表セッションと呼ぶ。なお、相異なる剰余の個数は仮想リーフスイッチ24の振分先の個数に等しいため、代表セッションの個数も当該振分先の個数に等しい。
ステップS17においては、第2の生成部51が、仮想リーフスイッチ24の振分先に等しい個数の代表セッションの調査パケット29を生成し、それを仮想リーフスイッチ24に送信する。これにより、複数の調査パケット29の各々が仮想リーフスイッチ24によって相異なる振分先に振り分けられるようになる。その結果、やみくもに調査パケット29を生成する場合と比較して、振分先が異なる複数の調査パケット29を第2の生成部51が効率的に生成することができる。
次いで、第2の生成部51が、仮想リーフスイッチ24が調査パケット29を振り分けた振分先を特定し、該振分先とセッション29aとを対応付けることで第2のセッション対応情報F2(図18参照)を生成する(ステップS18)。その後、第2の生成部51は、記憶部45に第2のセッション対応情報F2を格納する。
次に、第3の生成部52が第1のセッション対応情報F1と第2のセッション対応情報F2とを用いてスイッチ対応情報Gs(図9参照)を生成し、それを記憶部45に格納する(ステップS19)。
以上により、スイッチ対応情報Gsの生成方法の基本ステップを終了する。
この方法によれば、ステップS13で物理リーフスイッチ4のネットワークインターフェースの変化が検知された場合に、各生成部50、51が各セッション対応情報F1、F2を生成する。そのため、ステップS19において、これらのセッション対応情報F1、F2に基づいて、第3の生成部52が、ネットワーク1の最新の状態が反映されたスイッチ対応情報Gsを生成できる。
次に、本実施形態に係るスイッチ特定方法について説明する。
図22は、本実施形態に係るスイッチ特定方法のフローチャートである。
まず、判定部47が、ネットワーク1の監視を終了する監視終了指示を受付部46が受け付けたかを判定する(ステップS21)。ここで、受け付けた場合(ステップS21:肯定)は処理を終える。
次に、受付部46が、調査対象のVXLANパケット9のセッション9aを特定するセッション情報の受付を待つ(ステップS22)。
図23は、そのセッション情報の模式図である。図23に示すように、セッション情報は、セッション9aを特定するための送信元IPアドレス、送信元ポート番号、宛先IPアドレス、宛先ポート番号、及びプロトコルの5-tupleが含まれる。更に、セッション9aを一意に識別するためのセッション番号もセッション情報に含まれる。
再び図22を参照する。
次いで、判定部47が、受付部46がセッション情報を受け付けたかを判定する(ステップS23)。ここで、受け付けていない場合(ステップS23:否定)の場合にはステップS22に戻る。
一方、セッション情報を受け付けた場合(ステップS23:肯定)はステップS24に移る。ステップS24においては、パケット生成部53が、セッション情報が示すセッション29a(図18参照)を有する調査パケット29を生成する。
次いで、第1の特定部54が、エミュレーション環境22で調査パケット29を仮想リーフスイッチ24に送信する(ステップS25)。なお、この段階では、既に前述のステップS17(図21参照)が実行されており、最新のネットワーク情報Gnを反映したエミュレーション環境22が構築されているものとする。
続いて、第1の特定部54が、調査パケット29の振分先の仮想スパインスイッチ28を特定する(ステップS26)。
次に、第2の特定部55が、調査パケット29が模擬するVXLANパケット9を物理リーフスイッチ4に流したときの振分先の物理スパインスイッチ8を特定する(ステップS27)。一例として、第2の特定部55は、スイッチ対応情報Gs(図9参照)を参照することにより、ステップS26で特定した仮想スパインスイッチ28に対応した物理スパインスイッチ8を特定する。
更に、第2の特定部55は、特定した物理スパインスイッチ8を含む特定結果情報を生成する。
図24は、特定結果情報の模式図である。
図24に示すように、特定結果情報は、セッション情報に含まれるセッション番号と、そのセッション番号のVXLANパケット9の振分先の物理スパインスイッチ8とを対応付けた情報である。この例では、VXLANパケット9の振分先が「Spine2」の物理スパインスイッチ8であることが特定されている。
再び図22を参照する。
次に、表示処理部56が、前述の特定結果情報(図24参照)を利用して、VXLANパケット9の転送経路を表示部42に表示させる処理を行う(ステップS28)。
以上により、本実施形態に係るスイッチ特定方法の基本ステップを終了する。
図25は、上記したステップS28における表示部42の表示例を示す図である。
この例では、ネットワーク1のうち、「VM1」の仮想マシン5から「VM5」の仮想マシン5に至る経路を調査した場合を想定している。また、図24に示したように、VXLANパケット9の振分先が「Spine2」の物理スパインスイッチ8であることを想定している。この場合には、表示処理部56が、「Spine2」の物理スパインスイッチ8を通る転送経路1xをハイライト表示するように表示部42に指示を出す。これにより、例えばクラウドサービスの利用者から品質が悪いとの連絡を受けたときに、ネットワーク1における障害箇所が転送経路1xにあることを特定でき、転送経路1xにあるネットワーク機器の点検をすることができる。
以上説明したように、本実施形態によれば、スイッチ特定装置40が、エミュレーション環境22における調査パケット29が仮想リーフスイッチ24で振り分けられた振分先の仮想スパインスイッチ28を特定する。そして、スイッチ特定装置40が、スイッチ対応情報Gs(図9参照)を参照することにより、その仮想スパインスイッチ28に対応した実環境21における物理スパインスイッチ8を特定する。その物理スパインスイッチ8は、調査パケット29が模擬するVXLANパケット9が通るスイッチである。これによりVXLANパケット9の転送径路が明らかとなるため、例えばその転送径路の障害箇所を特定することが可能となる。
(ハードウェア構成)
次に、本実施形態に係るスイッチ特定装置40のハードウェア構成について説明する。
図26は、本実施形態に係るスイッチ特定装置40のハードウェア構成図である。
図26に示すように、スイッチ特定装置40は、記憶装置40a、メモリ40b、プロセッサ40c、通信インターフェース40d、表示装置40e、及び入力装置40fを有する。これらの各部は、バス40gにより相互に接続される。
このうち、記憶装置40aは、HDD(Hard Disk Drive)やSSD(Solid State Drive)等の不揮発性のストレージであって、本実施形態に係るスイッチ特定プログラム100を記憶する。
なお、スイッチ特定プログラム100をコンピュータが読み取り可能な記録媒体40hに記録させておき、プロセッサ40cに記録媒体40hのスイッチ特定プログラム100を読み取らせるようにしてもよい。
そのような記録媒体40hとしては、例えばCD-ROM(Compact Disc - Read Only Memory)、DVD(Digital Versatile Disc)、及びUSB(Universal Serial Bus)メモリ等の物理的な可搬型記録媒体がある。また、フラッシュメモリ等の半導体メモリやハードディスクドライブを記録媒体40hとして使用してもよい。これらの記録媒体40hは、物理的な形態を持たない搬送波のような一時的な媒体ではない。
更に、公衆回線、インターネット、及びLAN(Local Area Network)等に接続された装置にスイッチ特定プログラム100を記憶させてもよい。その場合は、プロセッサ40cがそのスイッチ特定プログラム100を読み出して実行すればよい。
一方、メモリ40bは、DRAM(Dynamic Random Access Memory)等のようにデータを一時的に記憶するハードウェアであって、その上にスイッチ特定プログラム100が展開される。
プロセッサ40cは、スイッチ特定装置40の各部を制御するCPU(Central Processing Unit)やGPU(Graphical Processing Unit)等のハードウェアである。また、プロセッサ40cは、メモリ40bと協働してスイッチ特定プログラム100を実行する。
このようにメモリ40bとプロセッサ40cとが協働してスイッチ特定プログラム100を実行することにより図10の制御部44が実現される。その制御部44には、受付部46、判定部47、収集部48、検知部49、第1〜第3の生成部50〜52、パケット生成部53、第1の特定部54、第2の特定部55、表示処理部56、及び作成処理部57が含まれる。
また、図10の記憶部45は、記憶装置40aとメモリ40bによって実現される。
更に、通信インターフェース40dは、スイッチ特定装置40を管理ネットワーク90(図5参照)に接続するためのNIC(Network Interface Card)等の通信インターフェースである。その通信インターフェース40dにより、図10の通信部43が実現される。
そして、表示装置40eは、表示部42(図10参照)を実現するための液晶表示装置等のハードウェアである。また、入力装置40fは、入力部41(図10参照)を実現するためのキーボードやマウス等のハードウェアである。例えば、管理者は、入力装置40fを操作することにより、スイッチ特定装置40に対して種々の指示を出すことになる。
次に、エミュレーション装置80のハードウェア構成について説明する。
図27は、本実施形態に係るエミュレーション装置80のハードウェア構成図である。
図27に示すように、エミュレーション装置80は、記憶装置80a、メモリ80b、プロセッサ80c、及び通信インターフェース80dを有する。これらの各部は、バス80gにより相互に接続される。
記憶装置80aは、HDDやSSD等の不揮発性のストレージであって、本実施形態に係るエミュレーションプログラム110を記憶する。
メモリ80bは、DRAM等のようにデータを一時的に記憶するハードウェアであって、その上にエミュレーションプログラム110が展開される。
また、プロセッサ80cは、エミュレーション装置80の各部を制御するCPUやGPU等のハードウェアである。また、プロセッサ80cは、メモリ80bと協働してエミュレーションプログラム110を実行する。
このようにメモリ80bとプロセッサ80cとが協働してエミュレーションプログラム110を実行することにより、受付部63と作成部64とを備えた制御部62(図20参照)が実現される。
更に、通信インターフェース80dは、エミュレーション装置80を管理ネットワーク90(図5参照)に接続するためのNIC等の通信インターフェースである。
以上説明した各実施形態に関し、更に以下の付記を開示する。
(付記1) コンピュータが、
第1の物理スイッチを模擬する第1の仮想スイッチに第1のパケットを流すことにより、前記第1の仮想スイッチが前記第1のパケットを振り分けた振分先の第2の仮想スイッチを特定し、
前記第1の物理スイッチの振分先である第2の物理スイッチと前記第2の仮想スイッチとを対応付けたスイッチ対応情報を記憶した記憶部を参照することにより、前記第1のパケットが模擬する第2のパケットを前記第1の物理スイッチが振り分ける振分先の前記第2の物理スイッチを特定する、
処理を実行することを特徴とするスイッチ特定方法。
(付記2) 前記コンピュータが、
前記第1の物理スイッチを流れる複数の前記第2のパケットのセッションと振分先とを取得することにより、各々の前記第2のパケットのセッションと振分先の前記第2の物理スイッチとを対応付けた第1のセッション対応情報を生成し、
前記第1の仮想スイッチに複数の前記第1のパケットを流すことにより、各々の前記第1のパケットのセッションと振分先の前記第2の仮想スイッチとを対応付けた第2のセッション対応情報を生成し、
前記第1のセッション対応情報と前記第2のセッション対応情報において、同一の前記セッションに対応する前記第2の物理スイッチと前記第2の仮想スイッチとを対応付けることにより前記スイッチ対応情報を生成する、
処理を実行することを特徴とする付記1に記載のスイッチ特定方法。
(付記3) 前記コンピュータが、
前記第1の物理スイッチのネットワークインターフェースが変化したかを検知し、
前記変化を検知したときに、前記第1のセッション対応情報と前記第2のセッション対応情報とを生成することを特徴とする付記2に記載のスイッチ特定方法。
(付記4) 前記第1の仮想スイッチは、前記第1のパケットのセッションから定まるハッシュ値と、前記第1の仮想スイッチの前記振分先とを対応付けたハッシュテーブルに基づいて、前記第1のパケットを前記第2の仮想スイッチに振り分け、
前記コンピュータは、
前記第1の仮想スイッチの前記振分先の個数で前記ハッシュ値を除した値が相異なる前記第1のパケットを前記個数だけ生成する付記2に記載のスイッチ特定方法。
(付記5) 前記第1の物理スイッチはリーフスイッチであり、前記第2の物理スイッチはスパインスイッチであることを特徴とする付記1に記載のスイッチ特定方法。
(付記6) 前記コンピュータが、
前記第1の物理スイッチと前記第2の物理スイッチとを含むネットワークに係るネットワーク情報を収集し、
前記ネットワーク情報に基づいて、前記ネットワークと同じ構成の仮想ネットワークであって、前記第1の仮想スイッチと前記第2の仮想スイッチとを含む仮想ネットワークを作成する処理を行う、
ことを特徴とする付記1に記載のスイッチ特定方法。
(付記7) 前記コンピュータが、
前記第2のパケットのセッションを示すセッション情報の入力を受け付け、
前記セッションと同一のセッションを有する前記第1のパケットを生成する、
ことを特徴とする付記1に記載のスイッチ特定方法。
(付記8) 前記第1の物理スイッチと前記第1の仮想スイッチの各々はECMPに基づいて振分先を決定することを特徴とする付記1に記載のスイッチ特定方法。
(付記9) コンピュータに、
第1の物理スイッチを模擬する第1の仮想スイッチに第1のパケットを流すことにより、前記第1の仮想スイッチが前記第1のパケットを振り分けた振分先の第2の仮想スイッチを特定し、
前記第1の物理スイッチの振分先である第2の物理スイッチと前記第2の仮想スイッチとを対応付けたスイッチ対応情報を記憶した記憶部を参照することにより、前記第1のパケットが模擬する第2のパケットを前記第1の物理スイッチが振り分ける振分先の前記第2の物理スイッチを特定する、
処理を実行させるためのスイッチ特定プログラム。
1…ネットワーク、1x…転送経路、2…物理サーバ、4…物理リーフスイッチ、5…仮想マシン、7…仮想スイッチ、8…物理スパインスイッチ、8a…パケット調査ツール、9…VXLANパケット、9a…セッション、10…ハッシュテーブル、12…パケットキャプチャ装置、20…システム、23…疑似仮想マシン、24…仮想リーフスイッチ、27…仮想ネットワーク、28…仮想スパインスイッチ、29…調査パケット、29a…セッション、40…スイッチ特定装置、40a…記憶装置、40b…メモリ、40c…プロセッサ、40d…通信インターフェース、40e…表示装置、40f…入力装置、40g…バス、40h…記録媒体、41…入力部、42…表示部、43…通信部、44…制御部、45…記憶部、46…受付部、47…判定部、48…収集部、49…検知部、50…第1の生成部、51…第2の生成部、52…第3の生成部、53…パケット生成部、54…第1の特定部、55…第2の特定部、56…表示処理部、57…作成処理部、61…通信部、62…制御部、63…受付部、64…作成部、80…エミュレーション装置、80a…記憶装置、80b…メモリ、80c…プロセッサ、80d…通信インターフェース、80g…バス、90…管理ネットワーク、100…スイッチ特定プログラム、110…エミュレーションプログラム。

Claims (5)

  1. コンピュータが、
    第1の物理スイッチを模擬する第1の仮想スイッチに第1のパケットを流すことにより、前記第1の仮想スイッチが前記第1のパケットを振り分けた振分先の第2の仮想スイッチを特定し、
    前記第1の物理スイッチの振分先である第2の物理スイッチと前記第2の仮想スイッチとを対応付けたスイッチ対応情報を記憶した記憶部を参照することにより、前記第1のパケットが模擬する第2のパケットを前記第1の物理スイッチが振り分ける振分先の前記第2の物理スイッチを特定する、
    処理を実行することを特徴とするスイッチ特定方法。
  2. 前記コンピュータが、
    前記第1の物理スイッチを流れる複数の前記第2のパケットのセッションと振分先とを取得することにより、各々の前記第2のパケットのセッションと振分先の前記第2の物理スイッチとを対応付けた第1のセッション対応情報を生成し、
    前記第1の仮想スイッチに複数の前記第1のパケットを流すことにより、各々の前記第1のパケットのセッションと振分先の前記第2の仮想スイッチとを対応付けた第2のセッション対応情報を生成し、
    前記第1のセッション対応情報と前記第2のセッション対応情報において、同一の前記セッションに対応する前記第2の物理スイッチと前記第2の仮想スイッチとを対応付けることにより前記スイッチ対応情報を生成する、
    処理を実行することを特徴とする請求項1に記載のスイッチ特定方法。
  3. 前記コンピュータが、
    前記第1の物理スイッチのネットワークインターフェースが変化したかを検知し、
    前記変化を検知したときに、前記第1のセッション対応情報と前記第2のセッション対応情報とを生成することを特徴とする請求項2に記載のスイッチ特定方法。
  4. 前記第1の仮想スイッチは、前記第1のパケットのセッションから定まるハッシュ値と、前記第1の仮想スイッチの前記振分先とを対応付けたハッシュテーブルに基づいて、前記第1のパケットを前記第2の仮想スイッチに振り分け、
    前記コンピュータは、
    前記第1の仮想スイッチの前記振分先の個数で前記ハッシュ値を除した値が相異なる前記第1のパケットを前記個数だけ生成する請求項2に記載のスイッチ特定方法。
  5. コンピュータに、
    第1の物理スイッチを模擬する第1の仮想スイッチに第1のパケットを流すことにより、前記第1の仮想スイッチが前記第1のパケットを振り分けた振分先の第2の仮想スイッチを特定し、
    前記第1の物理スイッチの振分先である第2の物理スイッチと前記第2の仮想スイッチとを対応付けたスイッチ対応情報を記憶した記憶部を参照することにより、前記第1のパケットが模擬する第2のパケットを前記第1の物理スイッチが振り分ける振分先の前記第2の物理スイッチを特定する、
    処理を実行させるためのスイッチ特定プログラム。
JP2020087239A 2020-05-19 2020-05-19 スイッチ特定方法、及びスイッチ特定プログラム Ceased JP2021182689A (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2020087239A JP2021182689A (ja) 2020-05-19 2020-05-19 スイッチ特定方法、及びスイッチ特定プログラム
EP21156537.9A EP3913874A1 (en) 2020-05-19 2021-02-11 Switch identification method and switch identification program
US17/180,985 US11431656B2 (en) 2020-05-19 2021-02-22 Switch identification method and non-transitory computer-readable recording medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2020087239A JP2021182689A (ja) 2020-05-19 2020-05-19 スイッチ特定方法、及びスイッチ特定プログラム

Publications (1)

Publication Number Publication Date
JP2021182689A true JP2021182689A (ja) 2021-11-25

Family

ID=74591839

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020087239A Ceased JP2021182689A (ja) 2020-05-19 2020-05-19 スイッチ特定方法、及びスイッチ特定プログラム

Country Status (3)

Country Link
US (1) US11431656B2 (ja)
EP (1) EP3913874A1 (ja)
JP (1) JP2021182689A (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021182689A (ja) * 2020-05-19 2021-11-25 富士通株式会社 スイッチ特定方法、及びスイッチ特定プログラム

Family Cites Families (48)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4755280B2 (ja) 2007-03-15 2011-08-24 富士通株式会社 ネットワーク検証システム
US8584126B2 (en) * 2007-03-23 2013-11-12 Vmware, Inc. Systems and methods for enabling threads to lock a stage prior to processing data
US20080304421A1 (en) * 2007-06-07 2008-12-11 Microsoft Corporation Internet Latencies Through Prediction Trees
US8767688B2 (en) * 2008-09-23 2014-07-01 Lu Qian Virtual network image system for wireless local area network services
US8214193B2 (en) * 2008-10-01 2012-07-03 At&T Intellectual Property I, Lp Virtualized policy tester
US8472443B2 (en) * 2009-05-15 2013-06-25 Cisco Technology Port grouping for association with virtual interfaces
EP3720062A1 (en) * 2009-10-07 2020-10-07 NEC Corporation Information system, control server, virtual network management method, and program
US9246703B2 (en) * 2010-06-08 2016-01-26 Brocade Communications Systems, Inc. Remote port mirroring
CN103283187B (zh) * 2010-12-28 2019-05-10 日本电气株式会社 信息系统、控制装置及虚拟网络的提供方法
US9064216B2 (en) * 2012-06-06 2015-06-23 Juniper Networks, Inc. Identifying likely faulty components in a distributed system
US9071548B2 (en) * 2012-12-21 2015-06-30 Ixia Methods, systems, and computer readable media for effecting movement of virtual switch interfaces between virtual switches connected to different physical ports of a device under test
US9697172B1 (en) * 2012-12-28 2017-07-04 Juniper Networks, Inc. Virtual network optimizing a physical network
US9432254B1 (en) * 2013-03-12 2016-08-30 Ca, Inc. Cloning virtual network resources and templates
US9344350B2 (en) * 2013-04-18 2016-05-17 Cisco Technology, Inc. Virtual service topologies in virtual private networks
US9282033B2 (en) * 2013-08-06 2016-03-08 Cisco Technology, Inc. Intelligent handling of virtual machine mobility in large data center environments
US9680772B2 (en) * 2013-09-09 2017-06-13 Vmware, Inc. System and method for managing configuration of virtual switches in a virtual machine network
US9641389B2 (en) * 2013-09-09 2017-05-02 Vmware, Inc. Method and system for recovering from network disconnects by cloning a virtual port
US10063473B2 (en) * 2014-04-30 2018-08-28 Brocade Communications Systems LLC Method and system for facilitating switch virtualization in a network of interconnected switches
US9432487B2 (en) * 2014-08-04 2016-08-30 Futurewei Technologies, Inc. System and method for network protocol offloading in virtual networks
US10193924B2 (en) * 2014-09-17 2019-01-29 Acalvio Technologies, Inc. Network intrusion diversion using a software defined network
US9971619B2 (en) * 2014-10-15 2018-05-15 Keysight Technologies Singapore (Holdings) Pte Ltd Methods and systems for forwarding network packets within virtual machine host systems
US9860309B2 (en) * 2014-12-22 2018-01-02 Vmware, Inc. Hybrid cloud network monitoring system for tenant use
US9961105B2 (en) * 2014-12-31 2018-05-01 Symantec Corporation Systems and methods for monitoring virtual networks
US10264020B1 (en) * 2015-02-05 2019-04-16 Symantec Corporation Systems and methods for scalable network monitoring in virtual data centers
CN106341333B (zh) * 2015-07-10 2019-07-19 新华三技术有限公司 应用于vxlan中的丢包定位方法和装置
JP6467316B2 (ja) 2015-08-10 2019-02-13 日本電信電話株式会社 フロー検査装置、転送装置及びフロー検査方法
WO2017101114A1 (zh) * 2015-12-18 2017-06-22 华为技术有限公司 一种数据中心网络组网的方法以及数据中心网络
JP6810339B2 (ja) * 2016-08-15 2021-01-06 富士通株式会社 空き帯域測定プログラム、空き帯域測定方法、および空き帯域測定装置
US10439889B2 (en) * 2017-05-16 2019-10-08 Microsoft Technology Licensing, Llc High fidelity network emulation
WO2019017842A1 (en) * 2017-07-18 2019-01-24 National University Of Singapore NETWORK VIRTUALIZATION METHOD, COMPUTER-READABLE MEDIUM, AND VIRTUALIZATION NETWORK
US20190028409A1 (en) * 2017-07-19 2019-01-24 Alibaba Group Holding Limited Virtual switch device and method
US11102063B2 (en) * 2017-07-20 2021-08-24 Vmware, Inc. Methods and apparatus to cross configure network resources of software defined data centers
CN109587065B (zh) * 2017-09-28 2021-02-23 北京金山云网络技术有限公司 转发报文的方法、装置、交换机、设备及存储介质
US10374803B2 (en) * 2017-10-06 2019-08-06 Stealthpath, Inc. Methods for internet communication security
TWI664838B (zh) * 2017-12-14 2019-07-01 財團法人工業技術研究院 在一網路中監測傳輸量的方法及裝置
US10666560B2 (en) * 2018-05-11 2020-05-26 Microsoft Technology Licensing, Llc Maintaining apparent connectivity during virtual switch servicing
JP7104317B2 (ja) * 2018-08-09 2022-07-21 富士通株式会社 ミラーパケット転送プログラム及びミラーパケット転送方法
US11579236B2 (en) * 2018-11-21 2023-02-14 Cisco Technology, Inc. Partial phase vectors as network sensors
US10904123B2 (en) * 2019-05-31 2021-01-26 Microsoft Technology Licensing, Llc Trace routing in virtual networks
CN112311614B (zh) * 2019-07-30 2022-10-04 华为技术有限公司 评估网络节点相关传输性能的系统、方法以及相关设备
US11165658B2 (en) * 2019-09-05 2021-11-02 Cisco Technology, Inc. Systems and methods for contextual network assurance based on change audits
US10944641B1 (en) * 2019-11-01 2021-03-09 Cisco Technology, Inc. Systems and methods for application traffic simulation using captured flows
US11323326B2 (en) * 2020-01-16 2022-05-03 Vmware, Inc. Pre-validation of network configuration
US11405427B2 (en) * 2020-01-23 2022-08-02 Cisco Technology, Inc. Multi-domain policy orchestration model
JP2021182689A (ja) * 2020-05-19 2021-11-25 富士通株式会社 スイッチ特定方法、及びスイッチ特定プログラム
US11206205B1 (en) * 2020-07-30 2021-12-21 At&T Intellectual Property I, L.P. Next generation network monitoring architecture
CN112187584B (zh) * 2020-09-30 2023-07-21 腾讯科技(深圳)有限公司 路径故障探测方法、系统、服务器及存储介质
CN113411200B (zh) * 2021-05-08 2022-07-15 中国科学院计算技术研究所 一种基于仿真网络封装、解封及传输虚拟流量的方法及系统

Also Published As

Publication number Publication date
US20210367907A1 (en) 2021-11-25
US11431656B2 (en) 2022-08-30
EP3913874A1 (en) 2021-11-24

Similar Documents

Publication Publication Date Title
US11848800B2 (en) Connecting virtual computer networks with overlapping IP addresses using transit virtual computer network
JP6306640B2 (ja) 管理されたコンピュータネットワークのための論理ネットワーキング機能の提供
US10887276B1 (en) DNS-based endpoint discovery of resources in cloud edge locations embedded in telecommunications networks
US11095534B1 (en) API-based endpoint discovery of resources in cloud edge locations embedded in telecommunications networks
US20130159487A1 (en) Migration of Virtual IP Addresses in a Failover Cluster
US20090245242A1 (en) Virtual Fibre Channel Over Ethernet Switch
JP2022509645A (ja) 分解されたネットワーク要素を含む論理ルータ
US20130332557A1 (en) Redundancy and load balancing in remote direct memory access communications
CN109802985A (zh) 数据传输方法、装置、设备及可读取存储介质
CN110572439B (zh) 一种基于元数据服务和虚拟转发网桥的云监控方法
CN106059946B (zh) 一种报文转发方法和装置
CN108833472B (zh) 云主机的连接建立系统
JP2021108090A (ja) Linux仮想マシンのSocketリスニングの検出方法及びそのシステム
JP2021182689A (ja) スイッチ特定方法、及びスイッチ特定プログラム
JP2017041846A (ja) 管理装置、制御装置、および、通信システム
US20210250235A1 (en) Diagram generation method and storage medium
CN103503421A (zh) 负荷平衡系统中的sctp关联端点重定位
US7711780B1 (en) Method for distributed end-to-end dynamic horizontal scalability
JP3609948B2 (ja) マルチプロトコルネットワーク管理方法、マルチプロトコルネットワーク管理プロキシサーバシステム、マルチプロトコルアドレス管理サーバシステム、および、マルチプロトコルネットワーク管理システム
JP2010114657A (ja) 通信経路検出方法、通信経路検出プログラム、および通信経路検出装置
CN111654559A (zh) 一种容器数据传输方法及装置
CN114827015B (zh) 一种数据转发方法和虚拟化云网络架构
US20220321457A1 (en) Route discovery for failure detection in computer networks
JP2023522785A (ja) 調和総合プロキシサービス
JP4498984B2 (ja) サービス提供装置および通信制御プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20230209

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20231003

A045 Written measure of dismissal of application [lapsed due to lack of payment]

Free format text: JAPANESE INTERMEDIATE CODE: A045

Effective date: 20240227