JP2018521606A - Vxlanにおけるパケットロスの位置特定 - Google Patents

Vxlanにおけるパケットロスの位置特定 Download PDF

Info

Publication number
JP2018521606A
JP2018521606A JP2018520012A JP2018520012A JP2018521606A JP 2018521606 A JP2018521606 A JP 2018521606A JP 2018520012 A JP2018520012 A JP 2018520012A JP 2018520012 A JP2018520012 A JP 2018520012A JP 2018521606 A JP2018521606 A JP 2018521606A
Authority
JP
Japan
Prior art keywords
packet
simulation
vtep
service
vxlan
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
JP2018520012A
Other languages
English (en)
Other versions
JP6514415B2 (ja
Inventor
ルイチャン ガオ
ルイチャン ガオ
ヤン チャオ
ヤン チャオ
ネン ヤン
ネン ヤン
チェン ミアオ
チェン ミアオ
Original Assignee
ニュー エイチ3シー テクノロジーズ カンパニー,リミティド
ニュー エイチ3シー テクノロジーズ カンパニー,リミティド
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 ニュー エイチ3シー テクノロジーズ カンパニー,リミティド, ニュー エイチ3シー テクノロジーズ カンパニー,リミティド filed Critical ニュー エイチ3シー テクノロジーズ カンパニー,リミティド
Publication of JP2018521606A publication Critical patent/JP2018521606A/ja
Application granted granted Critical
Publication of JP6514415B2 publication Critical patent/JP6514415B2/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
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0823Errors, e.g. transmission errors
    • H04L43/0829Packet loss
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/82Miscellaneous aspects
    • H04L47/825Involving tunnels, e.g. MPLS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4633Interconnection of networks using encapsulation techniques, e.g. tunneling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4641Virtual LANs, VLANs, e.g. virtual private networks [VPN]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/14Network analysis or design
    • H04L41/145Network analysis or design involving simulating, designing, planning or modelling of a network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/58Association of routers
    • H04L45/583Stackable routers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/64Routing or path finding of packets in data switching networks using an overlay routing layer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0272Virtual private networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/101Access control lists [ACL]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Environmental & Geological Engineering (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

第1のVTEPは、ローカルのチップ転送ロジックに従ってシミュレーションパケットのパケット特徴パラメータを算出することによりUDPソースポート番号を特定し、シミュレーションパケットのために特定したUDPソースポート番号及びローカルに格納している、シミュレーションパケットにマッチングするレジスタエントリにおけるVXLANトンネル識別子を用いて、シミュレーションパケットに対してVXLANカプセル化を行い、VXLANトンネル識別子に対応するVXLANトンネルを通じて転送することにより、VXLANカプセル化されたシミュレーションパケットを受信したデバイスがパケットロス位置特定デバイスへ、サービスパケットのパケットロスが発生した位置を特定するためのパケットロス位置特定パラメータを送信するようにする。【選択図】図1

Description

仮想拡張ローカルエリアネットワーク(VXLAN:Virtual eXtensible Local AreaNetwork)とは、L2(レイヤー2)パケットをL3(レイヤー3)プロトコルでカプセル化する技術であり、具体的には、ユーザデータグラムプロトコル(UDP:User Datagram Protocol)フォーマットの外側トンネルをデータの経路として導入することを含む。そのうち、元のパケットデータをペイロードとして伝送する。
ペイロードの外側でUDPを伝送手段として使用しているため、ペイロードがL2、L3ネットワークにおいて円滑に伝送されることを確保し、これによりL2ネットワークがL3ネットワークをカバーすることになる。ここで、カバーする仮想ネットワークをオーバーレイ(overlay)ネットワークと称し、カバーされる物理ネットワークをアンダーレイ(underlay)ネットワークと称する。
図1は、本発明の実施例で提供する、VXLANに適用されるパケットロス位置特定方法のフローチャートである。 図2は、本発明の実施例で提供するパケットロス位置特定方法の応用ネットワーク構築図である。 図3は、本発明の実施例で提供するパケットロス位置特定方法の応用ネットワーク構築図である。 図4は本発明の実施例で提供する、VXLANに適用されるパケットロス位置特定装置の構成の模式図である。 図5は本発明の実施例で提供する、VXLANに適用されるパケットロス位置特定装置のハードウェア構成の模式図である。
本発明の明細書、特許請求の範囲及び上記図面に記載の「第1」、「第2」等の用語は、類似する対象を区別するためのもので、特定の順序又は先後の順序を表現するものではない。このように使用される用語は、ここで記載される本発明の実施例をここで図示または記載された順序以外の順序で実施できるように、適宜交換可能である。
以下、添付の図面及び具体的な実施例を参照しながら、本発明を説明する。
図1は、本発明の実施例で提供する、VXLANに適用されるパケットロス位置特定方法のフローチャートである。図1に示すように、該方法は以下のステップを含む。
ステップ201において、第1の仮想ローカルエリアネットワーク・トンネル・エンドポイント(VTEP:VXLAN Tunnel End Point)は、ローカルで接続している第1の仮想マシン(VM:Virtual Machine)から送信されたサービスパケットが第2のVTEPに接続している第2のVMに到達しなかった場合、サービスパケットを第1のVMから第2のVMに転送したサービス転送経路をシミュレートするためのシミュレーションパケットを特定する。前記シミュレーションパケットのパケット特徴パラメータは、前記サービスパケットのパケット特徴パラメータと同一である。
本発明の実施例において、第1のVTEP、第2のVTEP、第1のVM、第2のVMは、説明の便宜上、名付けたものである。
本発明の実施例において、シミュレーションパケットのパケット特徴パラメータは、第1のVMから送信され第2のVMに到達しなかったサービスパケットのパケット特徴パラメータと同一である。ここで、パケット特徴パラメータは、5タプルであってもよく、7タプルであってもよい。そのうち、5タプルには、宛先IPアドレス、ソースIPアドレス、宛先ポート番号、ソースポート番号、プロトコルの種類というパラメータが含まれる。7タプルには、宛先IPアドレス、ソースIPアドレス、宛先MACアドレス、ソースMACアドレス、宛先ポート番号、ソースポート番号、プロトコルの種類というパラメータが含まれる。
本発明の実施例において、第1のVMから送信され第2のVMに到達しなかったサービスパケットにはペイロードが含まれているが、シミュレーションパケットにはペイロードが含まれていない。
ステップ202において、第1のVTEPは、ローカルのチップ転送ロジックに従ってシミュレーションパケットのパケット特徴パラメータを算出することにより、外側UDPソースポート番号を特定する。また、第1のVTEPは、シミュレーションパケットのために特定した外側UDPソースポート番号及びローカルに格納している、シミュレーションパケットにマッチングするレジスタエントリにおけるVXLANトンネル識別子を用いて、シミュレーションパケットに対してVXLANカプセル化を行う。また、第1のVTEPは、前記VXLANトンネル識別子に対応するVXLANトンネルを通じて、VXLANカプセル化されたシミュレーションパケットを転送する。これにより、VXLANカプセル化されたシミュレーションパケットを受信した中間デバイスがパケットロス位置特定デバイスへ、前記サービスパケットのパケットロスが発生した位置を特定するためのパケットロス位置特定パラメータを送信するようにする。
VXLANカプセルにおける外側UDPヘッダ(Outer UDP Header)のUDPソースポート番号は、第1のVTEPがローカルのチップ転送ロジックに従ってパケットのパケット特徴パラメータ(例えば、パケットの宛先IPアドレス等)を算出して得られたものである。このチップ転送ロジックはチップメーカーにより設置されるもので、通常は公開されない。これに基づき、本発明の実施例において、第1のVMから第2のVMへのサービス転送経路をシミュレートするには、第1のVTEPが上記サービスパケットと同様の処理方法で上記シミュレーションパケットを処理する必要がある。具体的にはステップ202に記載されている通りで、すなわち改めて上記サービスパケットと同じチップ転送ロジックに従ってシミュレーションパケットに対して転送処理を実行する。シミュレーションパケットのパケット特徴パラメータは、第1のVMから送信され第2のVMに到達しなかったサービスパケットのパケット特徴パラメータと同一であるため、第1のVTEPがローカルのチップ転送ロジックに従ってシミュレーションパケットのパケット特徴パラメータを算出して得られた外側UDPヘッダのUDPソースポート番号は、上記サービスパケットのために算出した外側UDPヘッダのUDPソースポート番号と完全に同一であるはずである。
本発明の実施例では、ステップ202においてシミュレーションパケットにマッチングするレジスタエントリにおけるVXLANトンネル識別子は、第1のVTEPが上記サービスパケットを送信する際に用いるVXLANトンネルに対応するVXLANトンネル識別子である。これにより、シミュレーションパケットと上記サービスパケットが同一のVXLANトンネルを通じて転送されることを確保することで、サービスパケットのサービス転送経路をリアルにシミュレートすることが確保される。本発明の実施例において、シミュレーションパケットにマッチングするレジスタエントリを、アクセス制御リスト(ACL:Access Control List)エントリとしてもよい。ACLエントリに対してマッチングを行うマッチング項目は、シミュレーションパケットのパケット特徴パラメータ、シミュレーションパケットの識別子である。UDPソースポート番号の算出に影響しないように、ここでは、シミュレーションパケットにおいて、シミュレーションパケットの識別子の位置は、パケット特徴パラメータの位置と異なる。ACLエントリにおける処理動作は、上記VXLANトンネル識別子をシミュレーションパケットに割り当てることである。
VXLANにおいて、一般的にコントローラによりVTEPを管理する。VXLANにコントローラが存在する場合、VXLANにおいてVTEPを管理するためのコントローラを上記パケットロス位置特定デバイスとしてもよい。
本発明の実施例において、コントローラがパケットロス位置特定デバイスである場合、上記ステップ201において「第1のVTEPは、サービスパケットを第1のVMから第2のVMに転送したサービス転送経路をシミュレートするためのシミュレーションパケットを特定する」ことは、第1のVTEPが、コントローラから送信された、サービスパケットを第1のVMから第2のVMに転送したサービス転送経路をシミュレートするためのシミュレーションパケットを受信することを含む。
コントローラがパケットロス位置特定デバイスである場合、上記ステップ202において「ローカルに格納している、シミュレーションパケットにマッチングするレジスタエントリ」は、コントローラが、第1のVMから送信されたサービスパケットが第2のVMに到達しなかったと特定した際に生成して第1のVTEPに送信したものである。
本発明の実施例において、コントローラがパケットロス位置特定デバイスである場合、第1のVTEPは、単一のデバイスであってもよく、複数のデバイスを集約して形成したスタックデバイスであってもよい。
そのうち、第1のVTEPが単一のデバイスである場合、コントローラはネットワークのグローバルトポロジ情報を有するため、上記サービスパケットが第1のVTEPから送信されたものと特定できる。したがって、第1のVTEPへ上記シミュレーションパケット、及びシミュレーションパケットにマッチングするレジスタエントリを送信する。
一方、第1のVTEPが複数のデバイスを集約して形成したスタックデバイスである場合、コントローラは、上記サービスパケットがスタックデバイスの中のどのメンバデバイスにより受信されたものかを特定できない。サービスパケットが異なるメンバデバイスに入ると、サービス転送経路が異なる可能性がある。それゆえ、コントローラは、スタックデバイスと通信して、スタックデバイスは何台のメンバデバイスによりスタック構成されているかを取得し、さらに各メンバデバイスのデバイス識別子、例えばスロット番号を取得する必要がある。これに基づき、上記した「第1のVTEPが、コントローラから送信された、サービスパケットを第1のVMから第2のVMに転送したサービス転送経路をシミュレートするためのシミュレーションパケットを受信する」ことは、以下の2つの形態のいずれかで実現してもよい。
第1の形態において、コントローラは、第1のVTEP中の各メンバデバイスへ、サービスパケットを第1のVMから第2のVMに転送したサービス転送経路をシミュレートするためのシミュレーションパケットを送信する。コントローラから各メンバデバイスに送信されるシミュレーションパケットは、上記パケット特徴パラメータに加えて、該メンバデバイスのデバイス識別子をさらに含む。例えば、第1のVTEPがメンバデバイス1〜3からなる場合、コントローラからメンバデバイス1に送信されるシミュレーションパケットは、上記パケット特徴パラメータに加えて、メンバデバイス1のデバイス識別子をさらに含む。コントローラからメンバデバイス2に送信されるシミュレーションパケットは、上記パケット特徴パラメータに加えて、メンバデバイス2のデバイス識別子をさらに含む。コントローラからメンバデバイス3に送信されるシミュレーションパケットは、上記パケット特徴パラメータに加えて、メンバデバイス3のデバイス識別子をさらに含む。
この形態において、第1のVTEPがパケット特徴パラメータを用いて行うUDPソースポート番号の算出にデバイス識別子が干渉しないように、シミュレーションパケットにおけるデバイス識別子の位置を、シミュレーションパケットにおける特徴パラメータの位置と異ならせる。
この形態において、「第1のVTEPが、コントローラから送信された、サービスパケットを第1のVMから第2のVMに転送したサービス転送経路をシミュレートするためのシミュレーションパケットを受信する」ことは、以下のことを含む。
第1のVTEP中の各メンバデバイスは、コントローラから送信されたシミュレーションパケットを受信する。このシミュレーションパケットは、サービスパケットを第1のVMから第2のVMに転送したサービス転送経路をシミュレートするためのものであって、かつ当該メンバデバイスのデバイス識別子を含む。
第1のVTEP中の各メンバデバイスは、サービスパケットを第1のVMから第2のVMに転送したサービス転送経路をシミュレートするためのものであって、かつ自デバイスのデバイス識別子を含むシミュレーションパケットを受信すると、図1に示すフローのステップ202を実行する。この形態において、コントローラは、第1のVTEP中の各メンバデバイスへ同一の、シミュレーションパケットにマッチングするレジスタエントリを送信する。
第2の形態は、スタックデバイス中のメンバデバイスがローカルのメンバポートでソースMACアドレスを学習する場合に適用される。
この形態において、コントローラは、第1のVTEP中の各メンバデバイスへ設定パケットを送信する。この設定パケットは、サービスパケットを第1のVMから第2のVMに転送したサービス転送経路をシミュレートするためのシミュレーションパケットを含む。この形態において、設定パケットのソースMACアドレスは第1のVMのMACアドレスであり、設定パケットに含まれているシミュレーションパケットは、上記パケット特徴パラメータを含み、該メンバデバイスのデバイス識別子を含まない。例えば、第1のVTEPがメンバデバイス1〜3からなる場合、この形態において、コントローラはメンバデバイス1、メンバデバイス2、メンバデバイス3へ同一の設定パケットを送信する。この設定パケットのソースMACアドレスは第1のVMのMACアドレスであり、設定パケットに含まれているシミュレーションパケットは上記パケット特徴パラメータを含む。
これに基づき、この形態において、「第1のVTEPが、コントローラから送信された、サービスパケットを第1のVMから第2のVMに転送したサービス転送経路をシミュレートするためのシミュレーションパケットを受信する」ことは、以下のことを含む。
第1のVTEP中の各メンバデバイスは、コントローラから送信された設定パケットを受信する。この設定パケットは、サービスパケットを第1のVMから第2のVMに転送したサービス転送経路をシミュレートするためのシミュレーションパケットを含む。
第1のVTEP中の各メンバデバイスは、前記設定パケットのソースMACアドレスが、自メンバデバイスが学習したソースMACアドレスにマッチングするものであるか否かを判定する。マッチングするものである場合には、前記設定パケットの中から、サービスパケットを第1のVMから第2のVMに転送したサービス転送経路をシミュレートするためのシミュレーションパケットを解析する。この形態において、シミュレーションパケットはメンバデバイスのデバイス識別子を含む必要がなく、かつパケットのソースMACアドレスにマッチングするメンバデバイスが図1に示すフローを実行する。
本発明の一実施例では、VXLANに上記コントローラが存在するか否かに関わらず、第1のVTEPを上記パケットロス位置特定デバイスとしてもよい。
本発明の一実施例において、第1のVTEPがパケットロス位置特定デバイスである場合、上記ステップ201において「サービスパケットを第1のVMから第2のVMに転送したサービス転送経路をシミュレートするためのシミュレーションパケットを特定する」ことは、サービスパケットを第1のVMから第2のVMに転送したサービス転送経路をシミュレートするためのシミュレーションパケットを生成することを含む。
本発明の一実施例において、第1のVTEPがパケットロス位置特定デバイスである場合、上記ステップ202において「ローカルに格納している、シミュレーションパケットにマッチングするレジスタエントリ」は、第1のVTEPが、第1のVMから送信されたサービスパケットが第2のVMに到達しなかったと特定した際に生成したものである。
本発明の実施例において、VXLANカプセル化された上記サービスパケットと区別するために、第1のVTEPから送信されたVXLANカプセル化されたシミュレーションパケットにおけるVXLANヘッダ内の予約フィールドを設定値、例えば100とする。本発明の実施例において、予約フィールドはVXLANヘッダ内の先頭の一つの予約フィールドである。
第1のVTEPがVXLANカプセル化されたシミュレーションパケットを送信すると、第1のVMから第2のVMへのサービス転送経路におけるデバイスは、VXLANカプセル化されたシミュレーションパケットを受信することになる。VXLANカプセル化されたシミュレーションパケットを受信したデバイスは、シミュレーションパケットのVXLANカプセルを用いて、ローカルに格納しているマッチングルールに対してマッチングを行う。マッチングができた場合、パケットロス位置特定デバイスへ、上記サービスパケットのパケットロスが発生した位置を特定するためのパケットロス位置特定パラメータを送信する。ここでのマッチングルールは、パケットロス位置特定デバイスから送信されたものであってもよく、予め配置されたものであってもよい。下記の2つの実施例では、いずれもパケットロス位置特定デバイスからマッチングルールを送信することを例とする。上述したVXLANカプセル化によれば、ここでのマッチングルールについて具体的には、VXLANカプセル中の外側UDPヘッダ内のUDP宛先ポート番号が、VXLANプロトコルで規定する設定ポート番号であり、かつVXLANヘッダ内の予約フィールドの値が設定値、例えば100であるとしてもよい。本発明の実施例において、予約フィールドはVXLANヘッダ内の先頭の一つの予約フィールドである。
本発明の実施例において、VXLANカプセル化されたシミュレーションパケットを受信したデバイスから送信されるパケットロス位置特定パラメータは、VXLANカプセル化されたシミュレーションパケットを受信したデバイスのデバイス識別子を含む。本発明の実施例において、上記サービスパケットが通過したサービス転送経路を特定するために、パケットロス位置特定パラメータは、VXLANカプセル化されたシミュレーションパケットを受信したポートの識別子をさらに含む。
本発明の一実施例において、VXLANカプセル化されたシミュレーションパケットを受信したデバイスは、第2のVMが接続している第2のVTEPではない。なぜなら、VXLANカプセル化されたシミュレーションパケットは、上記サービスパケットのパケットロスが発生した時に送信されるため、通常、第2のVMが接続している第2のVTEPには到達できないからである。これに基づき、VXLANカプセル化されたシミュレーションパケットを受信したデバイスは、パケットロス位置特定デバイスにパケットロス位置特定パラメータを送信するとともに、引き続きVXLANカプセル中の外側IPヘッダの宛先IPアドレスに基づいて転送経路を特定して、受信したVXLANカプセル化されたシミュレーションパケットを転送する。ここで、VXLANカプセル中の外側IPヘッダの宛先IPアドレスに基づいて特定した転送経路として等コスト経路が複数ある場合、VXLANカプセル中のUDPソースポート番号に基づいてハッシュ演算を行うことで転送経路を1つ特定して、受信したVXLANカプセル化されたシミュレーションパケットを転送してもよい。本発明のもう1つの実施例では、VXLANカプセル化されたシミュレーションパケットは、第2のVMが接続している第2のVTEPに到達できる。VXLANカプセル化されたシミュレーションパケットが通常のサービスに干渉しないように、本発明の実施例では、第2のVTEPは、VXLANカプセル化されたシミュレーションパケットを受信した場合、パケットロス位置特定デバイスにパケットロス位置特定パラメータを送信する。但し、第2のVTEPは、シミュレーションパケットを引き続き転送するのではなく、受信したVXLANカプセル化されたシミュレーションパケットを破棄する。以下、第2のVTEPがVXLANカプセル化されたシミュレーションパケットを受信した場合の処理について説明する。例えば、第2のVTEPでパケットロスが発生した場合、又は、第1のVMが第2のVMにアクセスするときにN個(Nは1より大きい)の同じサービスパケットを同時に第2のVMに送信した結果、M個(MはNより小さい)のサービスパケットが第2のVMに到達し、すなわちN−M個のサービスパケットは第2のVMに到達しない場合がある。第1のVTEPは、図1に示すようなフローに従ってN個のシミュレーションパケットを特定するとともに、ローカルのチップ転送ロジックに従ってN個のシミュレーションパケットをそれぞれVXLANカプセル化して転送すると仮定する場合、M個のシミュレーションパケットが第2のVTEPに到達し、第2のVTEPは受信したVXLANカプセル化されたシミュレーションパケットを破棄することになる。
本発明の実施例では、上記コントローラがパケットロス位置特定デバイスであるか、それとも第1のVTEPがパケットロス位置特定デバイスであるかに関わらず、VXLANカプセル化されたシミュレーションパケットを受信したデバイスはパケットロス位置特定デバイスにパケットロス位置特定パラメータを送信する。パケットロス位置特定デバイスはパケットロス位置特定パラメータを受信すると、受信したパケットロス位置特定パラメータに基づいて、第1のVMと第2のVMとの間にあるパケットロス発生デバイスを特定する。
ここで、「受信したパケットロス位置特定パラメータに基づいて、第1のVMと第2のVMとの間にあるパケットロス発生デバイスを特定する」ことは、具体的には下記の2つの形態により実現してもよい。
形態aにおいて、パケットロス位置特定デバイスは、設定されたパケットロス位置特定時間に達すると、受信したパケットロス位置特定パラメータに基づいて、第1のVMと第2のVMとの間にあるパケットロス発生デバイスを特定する。
具体的には、この形態aにおいて「受信したパケットロス位置特定パラメータに基づいて、第1のVMと第2のVMとの間にあるパケットロス発生デバイスを特定する」ことは、以下のことを含む。
設定されたパケットロス位置特定時間に達したか否かを検出する。達した場合には、受信したすべてのパケットロス位置特定パラメータの中から、最後に受信したパケットロス位置特定パラメータを特定し、この最後に受信したパケットロス位置特定パラメータにおけるデバイス識別子に対応するデバイスをパケットロス発生デバイスとして特定する。
この形態aにおいて、設定されたパケットロス位置特定時間は、実際の状況に応じて設置してもよいが、通常は、シミュレーションパケットが2つのデバイスの間で転送される時間をはるかに上回る時間とする。
形態bにおいて、パケットロス位置特定デバイスは、設定されたパケットロス位置特定時間に達すると受信したパケットロス位置特定パラメータに基づいて第1のVMと第2のVMとの間にあるパケットロス発生デバイスを特定するのではなく、シミュレーションパケットの転送に伴って位置特定を実行する。
この形態bにおいて、「受信したパケットロス位置特定パラメータに基づいて、第1のVMと第2のVMとの間にあるパケットロス発生デバイスを特定する」ことは、以下のことを含む。
パケットロス位置特定パラメータを受信する度に、該パケットロス位置特定パラメータを現在のパケットロス位置特定パラメータとし、現在のパケットロス位置特定パラメータを受信した時間を特定する。この特定した時間後の設定時間内にさらにパケットロス位置特定パラメータを受信すると、該パケットロス位置特定パラメータを現在のパケットロス位置特定パラメータとする動作に戻る。この特定した時間後の設定時間内にパケットロス位置特定パラメータが受信されない場合、現在のパケットロス位置特定パラメータにおけるデバイス識別子に対応するデバイスをパケットロス発生デバイスとして特定する。
この形態bにおいて、設定時間は、シミュレーションパケットが2つのデバイスの間で転送される時間を上回る時間である。
本発明の実施例では、形態aであるか、それとも形態bであるかに関わらず、最終的には、第1のVMが接続している第1のVTEPと第2のVMが接続している第2のVTEPとの間にあるデバイスの中からパケットロス発生デバイスを特定する。
図1に示すフローから明らかなように、本発明の実施例では、1つのVMのサービスパケットがもう1つのVMに到達できない場合、サービスパケットのサービス転送経路をシミュレートすることによって、サービスパケットの転送過程においてパケットロスが発生したデバイスを迅速に特定することができる。このような方法は、パケットロスの発生位置を迅速かつ簡単に特定することができるとともに、作業負荷を大幅に削減することができる。
以下、2つの実施例により、VXLANに適用されるパケットロス位置特定方法を説明する。
図2は、本発明の実施例で提供するパケットロス位置特定方法の応用ネットワーク構築図である。図2において、オーバーレイネットワーク10には、VTEP1とVTEP2との2つのVTEPが示されている。そのうち、VM1はVTEP1に接続され、VM2はVTEP2に接続され、VM1とVM2は2つの異なるサーバー上の仮想マシンである。コントローラはVTEP1とVTEP2を制御する。アンダーレイネットワーク20には、デバイス31〜デバイス36との6つのデバイスが示されている。図2において、コントローラがパケットロス位置特定デバイスである。
図2では、VM1から送信されたサービスパケット(パケット0と記す)が、アクセスしようとするVM2に到達しなかった場合を例とする。VTEP1は単一のデバイスである。
コントローラは、パケット特徴パラメータがパケット0のパケット特徴パラメータと完全に同一であるシミュレーションパケット(パケット1と記す)を1つ構成し、パケット1をVTEP1に送信する。パケット特徴パラメータは上述したとおりである。
コントローラは、パケット1にマッチングするレジスタエントリをさらに生成し、レジスタエントリをVTEP1に送信する。ここで、レジスタエントリは、パケット1のパケット特徴パラメータを含む。例えば、レジスタエントリは、ソースIPアドレスと、宛先IPアドレスと、シミュレーションパケットとしてのパケット1の識別子と、パケット0を転送するVXLANトンネルの識別子とを含む。本発明の実施例では、パケット0を転送するVXLANトンネルの識別子はVXLANトンネル100である。
コントローラは、マッチングルールをVTEP1とVTEP2との間に介在しているデバイス(すなわちデバイス31〜デバイス36)及びVTEP2に配信する。図2には、コントローラがマッチングルールを図2におけるデバイス31〜デバイス35に送信する経路について図示されていない。ここで、マッチングルールについては、VXLANカプセル中のVXLANヘッダ内の先頭の一つの予約フィールドが設定値であり、かつVXLANカプセル中の外側UDPヘッダ内のUDP宛先ポート番号が設定されたVXLANポート番号であるとしてもよい。
VTEP1は、コントローラから送信されたパケット1を受信し、ローカルのチップ転送ロジックに従ってパケット1のパケット特徴パラメータを算出することにより、UDPソースポート番号を特定する。また、VTEP1は、パケット1のために特定したUDPソースポート番号及びコントローラから送信された、パケット1にマッチングするレジスタエントリにおけるVXLANトンネル100を用いて、パケット1に対してVXLANカプセル化を行う。また、VTEP1は、VXLANトンネル100に対応するVXLANトンネルを通じて、VXLANカプセル化されたパケット1を転送する。ここで、パケット1のVXLANカプセルはパケット0のVXLANカプセルに比べて、パケット1のVXLANヘッダ内の先頭の一つの予約フィールドの値が設定値であるという点において相違する。パケット1のVXLANカプセル中の外側UDPヘッダ内のUDPソースポート番号はパケット1のために特定したUDPソースポート番号であり、UDP宛先ポート番号はVXLANプロトコルで規定する設定ポート番号であり、外側IPヘッダの外側宛先IPアドレスはVTEP2のIPアドレスであり、外側ソースIPアドレスはVTEP1のIPアドレスである。ここで、VXLANカプセル化されたパケット1をパケット2と称する。
デバイス31は、パケット2を受信し、パケット2のVXLANカプセル中のVXLANヘッダ内の先頭の一つの予約フィールドの値が設定値であり、かつVXLANカプセル中の外側UDPヘッダ内の宛先UDPポート番号がVXLANプロトコルで規定する設定ポート番号であることを発見し、コントローラから配信されたマッチングルールを満たすと判定する。そして、デバイス31は、コントローラへパケットロス位置特定パラメータを送信する。ここでのパケットロス位置特定パラメータは、デバイス31のデバイス識別子を含む。
デバイス31は、パケット2のVXLANカプセル中の外側IPヘッダの外側宛先IPアドレスに基づいて、この外側宛先IPアドレスまでの経路を特定する。その結果、この経路は、順にデバイス31→デバイス32→デバイス33→デバイス34→デバイス35→VTEP2と、デバイス31→デバイス36→デバイス33→デバイス34→デバイス35→VTEP2という2つの等コスト経路を含むことを発見する。これに基づき、デバイス31は、パケット2のVXLANカプセル中の外側UDPヘッダのUDPソースポート番号に基づいてハッシュ演算を行い、ハッシュ演算の結果に基づいて、デバイス31→デバイス32→デバイス33→デバイス34→デバイス35→VTEP2という経路を選択して、受信したパケット2を引き続き転送する。
デバイス32〜デバイス35がパケット2を受信した後に行う処理は、デバイス31で行う処理と類似する。
VTEP2は、パケット2を受信した後、パケット2のVXLANカプセル中のVXLANヘッダ内の先頭の一つの予約フィールドの値が設定値であり、かつVXLANカプセル中の外側UDPヘッダ内のUDP宛先ポート番号がVXLANプロトコルで規定する設定ポート番号であることを発見し、コントローラから送信されたマッチングルールを満たすと判定する。そして、VTEP2は、コントローラへパケットロス位置特定パラメータを送信する。また、VXLANカプセル中の外側IPヘッダの外側宛先IPアドレスが自VTEP2のIPアドレスであることを発見すると、受信したパケット2を破棄する。
コントローラは、受信した全てのパケットロス位置特定パラメータを収集して統計することにより、パケットロス発生デバイスを特定する。コントローラが如何にパケットロス発生デバイスを特定するかについて、上記形態aを例にして説明する。
例えば、コントローラが受信したパケットロス位置特定パラメータは、(デバイス31)、(デバイス32)、(デバイス33)、(デバイス34)であるとする。
上記形態aに基づいて、コントローラは、設定されたパケットロス位置特定時間に達すると、受信したすべてのパケットロス位置特定パラメータの中から、最後に受信したパケットロス位置特定パラメータ(デバイス34)を特定し、この最後に受信したパケットロス位置特定パラメータに対応するデバイス、すなわちデバイス34をパケットロス発生デバイスとして特定する。すなわち、上記パケット0はデバイス34でパケットロスが発生したと特定する。
これにより、コントローラは、受信したパケットロス位置特定パラメータを収集して統計することにより、パケット0のパケットロスが発生したパケットロス発生デバイスを特定する。
図3は、本発明の実施例で提供するパケットロス位置特定方法の応用ネットワーク構築図である。図3において、オーバーレイネットワーク30には、VTEP3とVTEP4との2つのVTEPが示されている。VM3はVTEP3に接続され、VM4はVTEP4に接続され、VM3とVM4は2つの異なるサーバー上の仮想マシンである。アンダーレイネットワーク40には、デバイス41〜デバイス45との5つのデバイスが示されている。図3において、VTEP3がパケットロス位置特定デバイスである。
図3では、VM3から送信されたサービスパケット(パケット40と記す)が、アクセスしようとするVM4に到達しなかった場合を例とする。
VTEP3は、パケット特徴パラメータがパケット40のパケット特徴パラメータと完全に同一であるシミュレーションパケット(パケット41と記す)を1つ構成する。パケット特徴パラメータは上述したとおりである。
VTEP3は、パケット41にマッチングするレジスタエントリをローカルに格納している。レジスタエントリは、パケット41のパケット特徴パラメータを含む。例えば、レジスタエントリは、ソースIPアドレスと、宛先IPアドレスと、シミュレーションパケットとしてのパケット41の識別子と、パケット40を転送するVXLANトンネルの識別子とを含む。本発明の実施例では、パケット40を転送するVXLANトンネルの識別子はVXLANトンネル400である。
VTEP3は、マッチングルールをVTEP3とVTEP4との間に介在しているデバイス(すなわちデバイス41〜デバイス45)及びVTEP4に送信する。
ここで、マッチングルールについては、VXLANカプセル中のVXLANヘッダ内の先頭の一つの予約フィールドが設定値であり、かつVXLANカプセル中の外側UDPヘッダ内のUDP宛先ポート番号が設定されたVXLANポート番号であるとしてもよい。
VTEP3は、ローカルのチップ転送ロジックに従ってパケット41のパケット特徴パラメータを算出することにより、UDPソースポート番号を特定する。また、VTEP3は、パケット41のために特定したUDPソースポート番号及びローカルに予め配置された、パケット41にマッチングするレジスタエントリにおけるVXLANトンネル400を用いて、パケット41に対してVXLANカプセル化を行う。また、VTEP3は、VXLANトンネル400に対応するVXLANトンネルを通じて、VXLANカプセル化されたパケット41を転送する。ここで、パケット41のVXLANカプセルはパケット40のVXLANカプセルに比べて、パケット41のVXLANヘッダ内の先頭の一つの予約フィールドの値が設定値であるという点において相違する。パケット41のVXLANカプセル中の外側UDPヘッダ内のUDPソースポート番号はパケット41のために特定したUDPソースポート番号であり、UDP宛先ポート番号はVXLANプロトコルで規定する設定ポート番号であり、外側IPヘッダの外側宛先IPアドレスはVTEP4のIPアドレスであり、外側ソースIPアドレスはVTEP3のIPアドレスである。ここで、VXLANカプセル化されたパケット41をパケット42と称する。
デバイス41は、パケット42を受信し、パケット42のVXLANカプセル中のVXLANヘッダ内の先頭の一つの予約フィールドの値が設定値であり、かつVXLANカプセル中の外側UDPヘッダ内の宛先UDPポート番号がVXLANプロトコルで規定する設定ポート番号であることを発見し、VTEP3から配信されたマッチングルールを満たすと判定する。そして、デバイス41は、VTEP3へパケットロス位置特定パラメータを送信する。ここでのパケットロス位置特定パラメータは、デバイス41のデバイス識別子を含む。
デバイス41は、パケット42のVXLANカプセル中の外側IPヘッダの外側宛先IPアドレスに基づいて、この外側宛先IPアドレスまでの経路を特定する。その結果、この経路は、順にデバイス41→デバイス42→デバイス43→デバイス44→VTEP4と、デバイス41→デバイス45→デバイス43→デバイス44→VTEP4という2つの等コスト経路を含むことを発見する。これに基づき、デバイス41は、パケット42のVXLANカプセル中の外側UDPヘッダのUDPソースポート番号に基づいてハッシュ演算を行い、ハッシュ演算の結果に基づいて、デバイス41→デバイス42→デバイス43→デバイス44→VTEP4という経路を選択して、受信したパケット42を引き続き転送する。
デバイス42〜デバイス45がパケット42を受信した後に行う処理は、デバイス41で行う処理と類似する。
VTEP4は、パケット42を受信した後、パケット42のVXLANカプセル中のVXLANヘッダ内の先頭の一つの予約フィールドの値が設定値であり、かつVXLANカプセル中の外側UDPヘッダ内のUDP宛先ポート番号がVXLANプロトコルで規定する設定ポート番号であることを発見し、VTEP3から送信されたマッチングルールを満たすと特定する。そして、VTEP4は、VTEP3へパケットロス位置特定パラメータを送信する。また、VXLANカプセル中の外側IPヘッダの外側宛先IPアドレスが自VTEP4のIPアドレスであることを発見すると、受信したパケット42を破棄する。
VTEP3は、受信したパケットロス位置特定パラメータに基づいてパケットロス発生デバイスを特定する。VTEP3が如何にパケットロス発生デバイスを特定するかについて、上記形態bを例にして説明する。
例えば、VTEP3はまずデバイス41から送信されたパケットロス位置特定パラメータを受信し、デバイス41から送信されたパケットロス位置特定パラメータを現在のパケットロス位置特定パラメータとする。また、現在のパケットロス位置特定パラメータを受信した時間が時間T1であると特定し、T1後の設定時間(例えば100ms)内にさらにパケットロス位置特定パラメータを受信したか否かを判定する。デバイス42から送信されたパケットロス位置特定パラメータをさらに受信したことを発見すると、デバイス42から送信されたパケットロス位置特定パラメータを現在のパケットロス位置特定パラメータとする。また、現在のパケットロス位置特定パラメータを受信した時間を時間T2として特定し、T2後の設定時間(例えば100ms)内にさらにパケットロス位置特定パラメータを受信したか否かを判定する。デバイス43から送信されたパケットロス位置特定パラメータをさらに受信したことを発見すると、デバイス43から送信されたパケットロス位置特定パラメータを現在のパケットロス位置特定パラメータとする。また、現在のパケットロス位置特定パラメータを受信した時間を時間T3として特定し、T3後の設定時間(例えば100ms)内にさらにパケットロス位置特定パラメータを受信したか否かを判定する。パケットロス位置特定パラメータがさらに受信されないことを発見すると、デバイス43をパケットロス発生デバイスとして特定する。すなわち、上記パケット40はデバイス43でパケットロスが発生したと特定する。
以上は、本発明の実施例で提供するパケットロス位置特定方法を説明した。以下、本発明の実施例で提供するパケットロス位置特定装置を説明する。
図4は、本発明の実施例で提供する、VXLANに適用されるパケットロス位置特定装置の構成の模式図である。前記装置は第1のVTEPに適用される。図4に示すように、この装置は、特定手段401と転送手段402とを含む。
特定手段401は、第1のトンネル・エンドポイント(VTEP)にローカルで接続している第1の仮想マシンVMから送信されたサービスパケットが第2のVTEPに接続している第2のVMに到達しなかった場合、前記サービスパケットを第1のVMから第2のVMに転送したサービス転送経路をシミュレートするためのシミュレーションパケットを特定する。本発明の実施例において、前記シミュレーションパケットのパケット特徴パラメータは、前記サービスパケットのパケット特徴パラメータと同一である。
転送手段402は、第1のVTEPのローカルのチップ転送ロジックに従ってシミュレーションパケットのパケット特徴パラメータを算出することにより、UDPのソースポート番号を特定する。また、転送手段402は、シミュレーションパケットのために特定したUDPソースポート番号及びローカルに格納している、シミュレーションパケットにマッチングするレジスタエントリにおけるVXLANトンネル識別子を用いて、シミュレーションパケットに対してVXLANカプセル化を行う。また、転送手段402は、前記VXLANトンネル識別子に対応するVXLANトンネルを通じて、VXLANカプセル化されたシミュレーションパケットを転送する。これにより、VXLANカプセル化されたシミュレーションパケットを受信したデバイスがパケットロス位置特定デバイスへ、前記サービスパケットのパケットロスが発生した位置を特定するためのパケットロス位置特定パラメータを送信するようにする。
本発明の実施例において、VXLANにおいてVTEPを管理するコントローラが前記パケットロス位置特定デバイスである場合、「前記特定手段401は、サービスパケットを第1のVMから第2のVMに転送したサービス転送経路をシミュレートするためのシミュレーションパケットを特定する」ことは、コントローラから送信された、サービスパケットを第1のVMから第2のVMに転送したサービス転送経路をシミュレートするためのシミュレーションパケットを受信することを含む。
本発明の実施例において、第1のVTEPが前記パケットロス位置特定デバイスである場合、「前記特定手段401は、サービスパケットを第1のVMから第2のVMに転送したサービス転送経路をシミュレートするためのシミュレーションパケットを特定する」ことは、サービスパケットを第1のVMから第2のVMに転送したサービス転送経路をシミュレートするためのシミュレーションパケットを生成することを含む。
本発明の実施例において、シミュレーションパケットにマッチングするレジスタエントリにおける前記VXLANトンネル識別子は、第1のVTEPが前記サービスパケットを送信する際に用いるVXLANトンネルに対応するVXLANトンネル識別子である。
本発明の実施例において、VXLANにおいてVTEPを管理するコントローラが前記パケットロス位置特定デバイスである場合、前記ローカルに格納している、シミュレーションパケットにマッチングするレジスタエントリは、コントローラが、第1のVMから送信されたサービスパケットが第2のVMに到達しなかったと特定した際に生成して第1のVTEPに送信したものである。
本発明の実施例において、第1のVTEPが前記パケットロス位置特定デバイスである場合、前記ローカルに格納している、シミュレーションパケットにマッチングするレジスタエントリは、第1のVTEPが、第1のVMから送信されたサービスパケットが第2のVMに到達しなかったと特定した際に生成したものである。
本発明の実施例において、第1のVTEPが前記パケットロス位置特定デバイスである場合、図4に示すように、この装置はさらに以下のものを含む。
受信手段403は、VXLANカプセル化されたシミュレーションパケットを受信したデバイスから送信されるパケットロス位置特定パラメータを受信する。パケットロス位置特定パラメータは、VXLANカプセル化されたシミュレーションパケットを受信したデバイスのデバイス識別子を含む。
位置特定手段404は、受信したパケットロス位置特定パラメータに基づいて、第1のVMと第2のVMとの間にあるパケットロス発生デバイスを特定する。
本発明の実施例において、VXLANにおいてVTEPを管理するコントローラが前記パケットロス位置特定デバイスである場合、前記第1のVTEPが複数のデバイスを集約して形成したスタックデバイスであれば、「前記特定手段401は、コントローラから送信された、サービスパケットを第1のVMから第2のVMに転送したサービス転送経路をシミュレートするためのシミュレーションパケットを受信する」ことは、以下のことを含む。
コントローラから送信されたシミュレーションパケットを受信する。このシミュレーションパケットは、サービスパケットを第1のVMから第2のVMに転送したサービス転送経路をシミュレートするためのものであって、かつ前記第1のVTEP中のメンバデバイスのデバイス識別子を含む。シミュレーションパケットにおける前記デバイス識別子の位置は、シミュレーションパケットにおけるパケット特徴パラメータの位置と異なる。
あるいは、コントローラから送信された設定パケットを受信する。この設定パケットは、サービスパケットを第1のVMから第2のVMに転送したサービス転送経路をシミュレートするためのシミュレーションパケットを含む。前記設定パケットのソースMACアドレスは前記第1のVMのMACアドレスである。
前記設定パケットのソースMACアドレスが、前記第1のVTEP中のメンバデバイスが学習したソースMACアドレスにマッチングするものであるか否かを判定する。マッチングするものである場合には、前記設定パケットの中から、サービスパケットを第1のVMから第2のVMに転送したサービス転送経路をシミュレートするためのシミュレーションパケットを解析する。
本発明の実施例では、図4に示す装置のハードウェア構成の模式図をさらに提供する。図5を参照する。図5は、本発明の実施例で提供する、VXLANに適用されるパケットロス位置特定装置のハードウェア構成の模式図である。前記装置は第1のVTEPである。
図5に示すように、この装置は、プロセッサー501(例えばCPU)と、不揮発性メモリ502とを含む。
本発明の実施例において、不揮発性メモリ502は、プロセッサー501によって実行可能な特定コマンド及び転送コマンドを含む機器読み取り可能なコマンドを記憶する。
本発明の実施例において、プロセッサー501(例えばCPU)は、不揮発性メモリ502に記憶されている特定コマンドを読み取ることにより、以下のステップを実現する。
ローカルで接続している第1の仮想マシンVMから送信されたサービスパケットが第2のVTEPに接続している第2のVMに到達しなかった場合、前記サービスパケットを第1のVMから第2のVMに転送したサービス転送経路をシミュレートするためのシミュレーションパケットを特定する。前記シミュレーションパケットのパケット特徴パラメータは、前記サービスパケットのパケット特徴パラメータと同一である。
本発明の実施例において、プロセッサー501は、不揮発性メモリ502に記憶されている転送コマンドを読み取ることにより、以下のステップを実現する。
ローカルのチップ転送ロジックに従ってシミュレーションパケットのパケット特徴パラメータを算出することにより、UDPのソースポート番号を特定する。また、シミュレーションパケットのために特定したUDPソースポート番号及びローカルに格納している、シミュレーションパケットにマッチングするレジスタエントリにおけるVXLANトンネル識別子を用いて、シミュレーションパケットに対してVXLANカプセル化を行う。また、前記VXLANトンネル識別子に対応するVXLANトンネルを通じて、VXLANカプセル化されたシミュレーションパケットを転送する。これにより、VXLANカプセル化されたシミュレーションパケットを受信したデバイスがパケットロス位置特定デバイスへ、前記サービスパケットのパケットロスが発生した位置を特定するためのパケットロス位置特定パラメータを送信するようにする。
本発明の実施例において、VXLANにおいてVTEPを管理するコントローラが前記パケットロス位置特定デバイスである場合、前記プロセッサー501は、不揮発性メモリ502に記憶されている特定コマンドを読み取ることにより、以下のことを実現する。
コントローラから送信された、サービスパケットを第1のVMから第2のVMに転送したサービス転送経路をシミュレートするためのシミュレーションパケットを受信する。
第1のVTEPが前記パケットロス位置特定デバイスである場合、前記プロセッサー501は、不揮発性メモリ502に記憶されている特定コマンドを読み取ることにより、以下のことを実現する。
サービスパケットを第1のVMから第2のVMに転送したサービス転送経路をシミュレートするためのシミュレーションパケットを生成する。
本発明の実施例において、前記シミュレーションパケットにマッチングするレジスタエントリにおける前記VXLANトンネル識別子は、第1のVTEPが前記サービスパケットを送信する際に用いるVXLANトンネルに対応するVXLANトンネル識別子である。
VXLANにおいてVTEPを管理するコントローラが前記パケットロス位置特定デバイスである場合、前記ローカルに格納している、シミュレーションパケットにマッチングするレジスタエントリは、コントローラが、第1のVMから送信されたサービスパケットが第2のVMに到達しなかったと特定した際に生成して第1のVTEPに送信したものである。
第1のVTEPが前記パケットロス位置特定デバイスである場合、前記ローカルに格納している、シミュレーションパケットにマッチングするレジスタエントリは、第1のVTEPが、第1のVMから送信されたサービスパケットが第2のVMに到達しなかったと特定した際に生成したものである。
本発明の実施例において、第1のVTEPが前記パケットロス位置特定デバイスである場合、不揮発性メモリ502は受信コマンド及び位置特定コマンドをさらに記憶する。
本発明の実施例において、プロセッサー501は、不揮発性メモリ502に記憶されている受信コマンドを読み取ることにより、以下のステップを実現する。
VXLANカプセル化されたシミュレーションパケットを受信したデバイスから送信されるパケットロス位置特定パラメータを受信する。パケットロス位置特定パラメータは少なくとも、VXLANカプセル化されたシミュレーションパケットを受信したデバイスのデバイス識別子を含む。
本発明の実施例において、プロセッサー501は、不揮発性メモリ502に記憶されている位置特定コマンドを読み取ることにより、以下のステップを実現する。
受信したパケットロス位置特定パラメータに基づいて、第1のVMと第2のVMとの間にあるパケットロス発生デバイスを特定する。
本発明の実施例において、VXLANにおいてVTEPを管理するコントローラが前記パケットロス位置特定デバイスである場合、前記第1のVTEPが複数のデバイスを集約して形成したスタックデバイスであれば、前記プロセッサー501は、不揮発性メモリ502に記憶されている特定コマンドを読み取ることにより、以下のことを実現する。
第1のVTEP中の各メンバデバイスは、コントローラから送信されたシミュレーションパケットを受信する。このシミュレーションパケットは、サービスパケットを第1のVMから第2のVMに転送したサービス転送経路をシミュレートするためのものであって、かつ当該メンバデバイスのデバイス識別子を含む。シミュレーションパケットにおける前記デバイス識別子の位置は、シミュレーションパケットにおけるパケット特徴パラメータの位置と異なる。
あるいは、第1のVTEP中の各メンバデバイスは、コントローラから送信された設定パケットを受信する。この設定パケットは、サービスパケットを第1のVMから第2のVMに転送したサービス転送経路をシミュレートするためのシミュレーションパケットを含む。前記設定パケットのソースMACアドレスは前記第1のVMのMACアドレスである。
第1のVTEP中の各メンバデバイスは、前記設定パケットのソースMACアドレスが、自デバイスが学習したソースMACアドレスにマッチングするものであるか否かを判定する。マッチングするものである場合には、前記設定パケットの中から、サービスパケットを第1のVMから第2のVMに転送したサービス転送経路をシミュレートするためのシミュレーションパケットを解析する。
上述した例は本発明の好ましい実施例に過ぎず、本発明はこれらに限定されるものではない。本発明の要旨を逸脱しない範囲で行われたいかなる修正、等価の代替及び改良等はいずれも、本発明の範囲に含まれることは言うまでもない。

Claims (10)

  1. 仮想拡張ローカルエリアネットワーク(VXLAN)に適用されるパケットロス位置特定方法であって、
    第1の仮想ローカルエリアネットワーク・トンネル・エンドポイント(VTEP)は、ローカルで接続している第1の仮想マシン(VM)から送信されたサービスパケットが第2のVTEPに接続している第2のVMに到達しなかった場合、前記サービスパケットを第1のVMから第2のVMに転送したサービス転送経路をシミュレートするためのシミュレーションパケットを特定し、前記シミュレーションパケットのパケット特徴パラメータは、前記サービスパケットのパケット特徴パラメータと同一であり、
    前記第1のVTEPは、
    ローカルのチップ転送ロジックに従ってシミュレーションパケットのパケット特徴パラメータを算出することにより、ユーザデータグラムプロトコル(UDP)ソースポート番号を特定し、
    シミュレーションパケットのために特定したUDPソースポート番号及びローカルに格納している、シミュレーションパケットにマッチングするレジスタエントリにおけるVXLANトンネル識別子を用いて、シミュレーションパケットに対してVXLANカプセル化を行い、
    前記VXLANトンネル識別子に対応するVXLANトンネルを通じて、VXLANカプセル化されたシミュレーションパケットを転送することにより、VXLANカプセル化されたシミュレーションパケットを受信したデバイスがパケットロス位置特定デバイスへ、前記サービスパケットのパケットロスが発生した位置を特定するためのパケットロス位置特定パラメータを送信するようにすることを含むことを特徴とする、方法。
  2. VXLANにおいてVTEPを管理するコントローラが前記パケットロス位置特定デバイスである場合、前記第1のVTEPが、サービスパケットを第1のVMから第2のVMに転送したサービス転送経路をシミュレートするためのシミュレーションパケットを特定することは、第1のVTEPが、コントローラから送信された、サービスパケットを第1のVMから第2のVMに転送したサービス転送経路をシミュレートするためのシミュレーションパケットを受信することを含み、
    第1のVTEPが前記パケットロス位置特定デバイスである場合、前記第1のVTEPが、サービスパケットを第1のVMから第2のVMに転送したサービス転送経路をシミュレートするためのシミュレーションパケットを特定することは、第1のVTEPが、サービスパケットを第1のVMから第2のVMに転送したサービス転送経路をシミュレートするためのシミュレーションパケットを生成することを含むことを特徴とする、請求項1に記載の方法。
  3. シミュレーションパケットにマッチングするレジスタエントリにおける前記VXLANトンネル識別子は、第1のVTEPが前記サービスパケットを送信する際に用いるVXLANトンネルに対応するVXLANトンネル識別子であり、
    VXLANにおいてVTEPを管理するコントローラが前記パケットロス位置特定デバイスである場合、前記ローカルに格納している、シミュレーションパケットにマッチングするレジスタエントリは、コントローラが、第1のVMから送信されたサービスパケットが第2のVMに到達しなかったと特定した際に生成して第1のVTEPに送信したものであり、
    第1のVTEPが前記パケットロス位置特定デバイスである場合、前記ローカルに格納している、シミュレーションパケットにマッチングするレジスタエントリは、第1のVTEPが、第1のVMから送信されたサービスパケットが第2のVMに到達しなかったと特定した際に生成したものであることを特徴とする、請求項1に記載の方法。
  4. 第1のVTEPが前記パケットロス位置特定デバイスである場合、
    VXLANカプセル化されたシミュレーションパケットを受信したデバイスから送信されるパケットロス位置特定パラメータを受信し、前記パケットロス位置特定パラメータは、VXLANカプセル化されたシミュレーションパケットを受信したデバイスのデバイス識別子を含み、
    受信したパケットロス位置特定パラメータに基づいて、第1のVMと第2のVMとの間にあるパケットロス発生デバイスを特定することをさらに含むことを特徴とする、請求項1に記載の方法。
  5. VXLANにおいてVTEPを管理するコントローラが前記パケットロス位置特定デバイスである場合、前記第1のVTEPが複数のデバイスを集約して形成したスタックデバイスであれば、前記第1のVTEPが、コントローラから送信された、サービスパケットを第1のVMから第2のVMに転送したサービス転送経路をシミュレートするためのシミュレーションパケットを受信することは、
    第1のVTEP中の各メンバデバイスが、コントローラから送信されたシミュレーションパケットを受信し、このシミュレーションパケットは、サービスパケットを第1のVMから第2のVMに転送したサービス転送経路をシミュレートするためのものであって、かつ当該メンバデバイスのデバイス識別子を含み、シミュレーションパケットにおける前記デバイス識別子の位置は、シミュレーションパケットにおけるパケット特徴パラメータの位置と異なり、
    あるいは、第1のVTEP中の各メンバデバイスが、コントローラから送信された設定パケットを受信し、この設定パケットは、サービスパケットを第1のVMから第2のVMに転送したサービス転送経路をシミュレートするためのシミュレーションパケットを含み、前記設定パケットのソースMACアドレスは前記第1のVMのMACアドレスであり、
    第1のVTEP中の各メンバデバイスは、前記設定パケットのソースMACアドレスが、自デバイスが学習したソースMACアドレスにマッチングするものであるか否かを判定し、マッチングするものである場合には、前記設定パケットの中から、サービスパケットを第1のVMから第2のVMに転送したサービス転送経路をシミュレートするためのシミュレーションパケットを解析することを含むことを特徴とする、請求項2に記載の方法。
  6. 仮想拡張ローカルエリアネットワーク(VXLAN)に適用されるパケットロス位置特定装置であって、前記装置は第1の仮想ローカルエリアネットワーク・トンネル・エンドポイント(VTEP)であり、不揮発性メモリとプロセッサーとを含み、
    前記不揮発性メモリは、プロセッサーによって実行可能な特定コマンド及び転送コマンドを含む機器読み取り可能なコマンドを記憶し、
    前記プロセッサーは、不揮発性メモリに記憶されている特定コマンド及び転送コマンドを読み取ることにより、
    前記第1のVTEPにローカルで接続している第1の仮想マシンVMから送信されたサービスパケットが第2のVTEPに接続している第2のVMに到達しなかった場合、前記サービスパケットを第1のVMから第2のVMに転送したサービス転送経路をシミュレートするためのシミュレーションパケットを特定し、前記シミュレーションパケットのパケット特徴パラメータは、前記サービスパケットのパケット特徴パラメータと同一であり、
    ローカルのチップ転送ロジックに従ってシミュレーションパケットのパケット特徴パラメータを算出することにより、ユーザデータグラムプロトコル(UDP)ソースポート番号を特定し、
    シミュレーションパケットのために特定したUDPソースポート番号及びローカルに格納している、シミュレーションパケットにマッチングするレジスタエントリにおけるVXLANトンネル識別子を用いて、シミュレーションパケットに対してVXLANカプセル化を行い、
    前記VXLANトンネル識別子に対応するVXLANトンネルを通じて、VXLANカプセル化されたシミュレーションパケットを転送することにより、VXLANカプセル化されたシミュレーションパケットを受信したデバイスがパケットロス位置特定デバイスへ、前記サービスパケットのパケットロスが発生した位置を特定するためのパケットロス位置特定パラメータを送信するようにすることを実現することを特徴とする、装置。
  7. VXLANにおいてVTEPを管理するコントローラが前記パケットロス位置特定デバイスである場合、前記プロセッサーは不揮発性メモリに記憶されている特定コマンドを読み取ることにより、
    コントローラから送信された、サービスパケットを第1のVMから第2のVMに転送したサービス転送経路をシミュレートするためのシミュレーションパケットを受信することを実現し、
    第1のVTEPが前記パケットロス位置特定デバイスである場合、前記プロセッサーは不揮発性メモリに記憶されている特定コマンドを読み取ることにより、
    サービスパケットを第1のVMから第2のVMに転送したサービス転送経路をシミュレートするためのシミュレーションパケットを生成することを実現することを特徴とする、請求項6に記載の装置。
  8. シミュレーションパケットにマッチングするレジスタエントリにおける前記VXLANトンネル識別子は、第1のVTEPが前記サービスパケットを送信する際に用いるVXLANトンネルに対応するVXLANトンネル識別子であり、
    VXLANにおいてVTEPを管理するコントローラが前記パケットロス位置特定デバイスである場合、前記ローカルに格納している、シミュレーションパケットにマッチングするレジスタエントリは、コントローラが、第1のVMから送信されたサービスパケットが第2のVMに到達しなかったと特定した際に生成して第1のVTEPに送信したものであり、
    第1のVTEPが前記パケットロス位置特定デバイスである場合、前記ローカルに格納している、シミュレーションパケットにマッチングするレジスタエントリは、第1のVTEPが、第1のVMから送信されたサービスパケットが第2のVMに到達しなかったと特定した際に生成したものであることを特徴とする、請求項6に記載の装置。
  9. 第1のVTEPが前記パケットロス位置特定デバイスである場合、前記機器読み取り可能なコマンドは受信コマンド及び位置特定コマンドをさらに含み、
    前記プロセッサーは、不揮発性メモリに記憶されている受信コマンド及び位置特定コマンドを読み取ることにより、
    VXLANカプセル化されたシミュレーションパケットを受信したデバイスから送信されるパケットロス位置特定パラメータを受信し、前記パケットロス位置特定パラメータは、VXLANカプセル化されたシミュレーションパケットを受信したデバイスのデバイス識別子を含み、
    受信したパケットロス位置特定パラメータに基づいて、第1のVMと第2のVMとの間にあるパケットロス発生デバイスを特定することを実現することを特徴とする、請求項6に記載の装置。
  10. VXLANにおいてVTEPを管理するコントローラが前記パケットロス位置特定デバイスである場合、前記第1のVTEPが複数のデバイスを集約して形成したスタックデバイスであれば、前記プロセッサーは不揮発性メモリに記憶されている特定コマンドを読み取ることにより、
    第1のVTEP中の各メンバデバイスが、コントローラから送信されたシミュレーションパケットを受信し、このシミュレーションパケットは、サービスパケットを第1のVMから第2のVMに転送したサービス転送経路をシミュレートするためのものであって、かつ当該メンバデバイスのデバイス識別子を含み、シミュレーションパケットにおける前記デバイス識別子の位置は、シミュレーションパケットにおけるパケット特徴パラメータの位置と異なり、
    あるいは、第1のVTEP中の各メンバデバイスが、コントローラから送信された設定パケットを受信し、この設定パケットは、サービスパケットを第1のVMから第2のVMに転送したサービス転送経路をシミュレートするためのシミュレーションパケットを含み、前記設定パケットのソースMACアドレスは前記第1のVMのMACアドレスであり、
    第1のVTEP中の各メンバデバイスは、前記設定パケットのソースMACアドレスが、自デバイスが学習したソースMACアドレスにマッチングするものであるか否かを判定し、マッチングするものである場合には、前記設定パケットの中から、サービスパケットを第1のVMから第2のVMに転送したサービス転送経路をシミュレートするためのシミュレーションパケットを解析することを実現することを特徴とする、請求項7に記載の装置。
JP2018520012A 2015-07-10 2016-07-08 Vxlanにおけるパケットロスの位置特定 Active JP6514415B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN201510406748.6A CN106341333B (zh) 2015-07-10 2015-07-10 应用于vxlan中的丢包定位方法和装置
CN201510406748.6 2015-07-10
PCT/CN2016/089345 WO2017008690A1 (zh) 2015-07-10 2016-07-08 Vxlan中的丢包定位

Publications (2)

Publication Number Publication Date
JP2018521606A true JP2018521606A (ja) 2018-08-02
JP6514415B2 JP6514415B2 (ja) 2019-05-15

Family

ID=57756842

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018520012A Active JP6514415B2 (ja) 2015-07-10 2016-07-08 Vxlanにおけるパケットロスの位置特定

Country Status (5)

Country Link
US (1) US10484259B2 (ja)
EP (1) EP3306877B1 (ja)
JP (1) JP6514415B2 (ja)
CN (1) CN106341333B (ja)
WO (1) WO2017008690A1 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA3038147A1 (en) * 2016-09-26 2018-03-29 Nant Holdings Ip, Llc Virtual circuits in cloud networks
CN108667945B (zh) * 2017-03-30 2020-10-23 华为技术有限公司 一种报文传输方法及装置
CN108737221B (zh) * 2018-06-28 2020-09-15 新华三技术有限公司 丢包检测方法及通信链路系统
CN112291076A (zh) * 2019-07-25 2021-01-29 华为技术有限公司 丢包定位方法、装置及系统、计算机存储介质
CN111371667A (zh) * 2019-10-23 2020-07-03 上海科技网络通信有限公司 一种面向云计算环境下基于VxLAN技术的LTE VPDN组网方法
JP2021182689A (ja) * 2020-05-19 2021-11-25 富士通株式会社 スイッチ特定方法、及びスイッチ特定プログラム

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013121015A (ja) * 2011-12-06 2013-06-17 Nippon Telegr & Teleph Corp <Ntt> 品質劣化区間推定システム及び方法
US20150163137A1 (en) * 2013-12-09 2015-06-11 International Business Machines Corporation Overlay capabilities exchange using dcbx

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7483379B2 (en) * 2002-05-17 2009-01-27 Alcatel Lucent Passive network monitoring system
EP1555788A1 (en) 2004-01-15 2005-07-20 Alcatel Method for improving the quality of an encoded video bit stream transmitted over a wireless link, and corresponding receiver
CN100463418C (zh) * 2005-11-23 2009-02-18 杭州华三通信技术有限公司 网络性能测试方法、系统及网络设备
CN101166122B (zh) 2006-10-18 2011-06-22 中兴通讯股份有限公司 一种实现通信终端间网络故障的定位方法
EP2289249A1 (en) * 2008-06-13 2011-03-02 Telefonaktiebolaget L M Ericsson (PUBL) Packet loss analysis
CN101640629B (zh) * 2008-07-29 2012-08-29 华为技术有限公司 一种链路丢包监控的方法和双向转发探测设备
CN102118277B (zh) 2009-12-30 2013-12-25 华为技术有限公司 丢包检测方法和装置及路由器
US8619588B2 (en) * 2010-04-07 2013-12-31 Avaya Inc. System and method for predicting video transmission quality through a network
CN102546243A (zh) 2011-12-23 2012-07-04 广东电网公司电力科学研究院 基于SP Guru的电力调度数据网故障仿真分析方法
US9736211B2 (en) * 2012-08-27 2017-08-15 Vmware, Inc. Method and system for enabling multi-core processing of VXLAN traffic
US8931046B2 (en) * 2012-10-30 2015-01-06 Stateless Networks, Inc. System and method for securing virtualized networks
US9374323B2 (en) * 2013-07-08 2016-06-21 Futurewei Technologies, Inc. Communication between endpoints in different VXLAN networks
US9264330B2 (en) * 2013-10-13 2016-02-16 Nicira, Inc. Tracing host-originated logical network packets
CN103580953A (zh) * 2013-10-21 2014-02-12 华为技术有限公司 一种故障检测的方法及设备
KR102122949B1 (ko) * 2014-01-24 2020-06-16 한국전자통신연구원 네트워크를 통해 연결된 세그먼트들을 관리하는 방법 및 장치
US9894122B2 (en) * 2014-10-16 2018-02-13 Cisco Technology, Inc. Traceroute in virtual extenisble local area networks
CN104601472B (zh) * 2015-02-04 2017-11-03 盛科网络(苏州)有限公司 在芯片中实现vxlan网关分布式路由的方法及报文处理系统

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013121015A (ja) * 2011-12-06 2013-06-17 Nippon Telegr & Teleph Corp <Ntt> 品質劣化区間推定システム及び方法
US20150163137A1 (en) * 2013-12-09 2015-06-11 International Business Machines Corporation Overlay capabilities exchange using dcbx

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
NIKHIL HANDIGOL ET AL.: "I Know What Your Packet Did Last Hop: Using Packet Histories to Troubleshoot Networks", USENIX, THE ADVANCED COMPUTING SYSTEMS ASSOCIATION, OPEN ACCESS TO THE PROCEEDINGS OH THE 11TH USENI, JPN6018041562, 4 April 2014 (2014-04-04) *

Also Published As

Publication number Publication date
EP3306877A4 (en) 2018-06-27
WO2017008690A1 (zh) 2017-01-19
EP3306877A1 (en) 2018-04-11
US20180205623A1 (en) 2018-07-19
CN106341333A (zh) 2017-01-18
US10484259B2 (en) 2019-11-19
CN106341333B (zh) 2019-07-19
EP3306877B1 (en) 2020-12-30
JP6514415B2 (ja) 2019-05-15

Similar Documents

Publication Publication Date Title
AU2019307597B2 (en) Multi-cloud connectivity using SRv6 and BGP
JP6581277B2 (ja) データパケット転送
JP6514415B2 (ja) Vxlanにおけるパケットロスの位置特定
JP5991424B2 (ja) パケット書換装置、制御装置、通信システム、パケット送信方法及びプログラム
CN109845218B (zh) 用于与客户机-服务器数据信道一起使用的信道数据封装系统和方法
TWI744359B (zh) 一種資料傳輸的方法及網路設備
CN105577548B (zh) 一种软件定义网络中报文处理方法和装置
US9036639B2 (en) System and method for VXLAN inter-domain communications
US20150358232A1 (en) Packet Forwarding Method and VXLAN Gateway
US9560016B2 (en) Supporting IP address overlapping among different virtual networks
WO2016119733A1 (en) Vxlan packet transmission
JP6428296B2 (ja) 情報処理システム、情報処理装置、および情報処理システムの制御方法
JP6574054B2 (ja) パケット転送
KR20130060291A (ko) 컴퓨터 시스템 및 컴퓨터 시스템에 있어서의 통신 방법
CN109937400A (zh) 用于虚拟机的实时迁移的流状态传送
CN104272698A (zh) 修改虚拟机通信
JP6488426B2 (ja) マルチキャストデータパケット転送
CN104852840A (zh) 一种控制虚拟机之间互访的方法及装置
JP6437692B2 (ja) パケット転送
CN109246016B (zh) 跨vxlan的报文处理方法和装置
JP6437694B2 (ja) パケット転送
US20170070473A1 (en) A switching fabric including a virtual switch
EP4283947A1 (en) Method to build a service function chain in an overlay network
JP6134571B2 (ja) 疎通確認装置、ネットワークシステム、疎通確認方法、および疎通確認プログラム

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20181106

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190204

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190411

R150 Certificate of patent or registration of utility model

Ref document number: 6514415

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250