(58)【調査した分野】(Int.Cl.,DB名)
前記仮想ネットワークに参加するための前記メカニズムのうちの少なくとも1つを示す第2の参加/離脱能力フィールドを有するBGP Openメッセージ応答を受信するステップ、を更に有し、前記BGPセッションは、前記第1の参加/離脱能力フィールド及び前記第2の参加/離脱能力フィールドが同じメカニズムを示すとき、生成される、請求項1に記載の方法。
前記BGP参加要求は、BGP拡張コミュニティメカニズムを用いて前記仮想ネットワークに参加する要求を示すために用いられる第1の参加/離脱拡張コミュニティフィールドを有し、前記BGP参加応答は、前記BGP参加要求の前記受理又は前記拒否を示すために用いられる第2の参加/離脱拡張コミュニティフィールドを有する、請求項1に記載の方法。
前記BGP離脱要求は、前記仮想ネットワークを離脱する要求を示すために用いられる第3の参加/離脱拡張コミュニティフィールドを有し、前記BGP離脱応答は、前記BGP離脱要求の前記受理又は前記拒否を示すために用いられる第4の参加/離脱拡張コミュニティフィールドを有する、請求項3に記載の方法。
前記BGP参加要求は、BGP拡張コミュニティメカニズムを用いて前記仮想ネットワークに参加する要求を示すために用いられる参加/離脱拡張コミュニティフィールドを有し、前記方法は、前記参加/離脱拡張コミュニティフィールドが約9バイト長であるとき前記BGP参加要求を無視するステップを更に有する、請求項1に記載の方法。
前記BGP参加要求は、BGP拡張コミュニティメカニズムを用いて前記仮想ネットワークに参加する要求を示すために用いられる参加/離脱拡張コミュニティフィールドを有し、前記BGP参加応答は、前記参加/離脱拡張コミュニティフィールド内にエラーが存在するとき前記BGP参加要求を拒否する、請求項1に記載の方法。
前記BGP参加要求は、BGP任意通過メカニズムを用いて前記仮想ネットワークに参加する要求を示すために用いられる第1の任意通過属性フィールドを有し、前記BGP離脱要求は、BGP任意通過メカニズムを用いて前記仮想ネットワークを離脱する要求を示すために用いられる第2の任意通過属性フィールドを有する、請求項1に記載の方法。
前記第1の任意通過属性フィールドは、前記BGP参加要求のバージョンフォーマットを示すバージョンフィールドを有し、前記BGP参加応答は、前記バージョンフォーマットが前記BGP参加要求を受信するノードによりサポートされないとき、前記BGP参加要求の前記拒否を示す、請求項7に記載の方法。
前記BGP参加要求は、BGP動的能力メカニズムを用いて前記仮想ネットワークに参加する要求を示すために用いられる第1の動的能力フィールドを有し、前記BGP離脱要求は、BGP動的能力メカニズムを用いて前記仮想ネットワークを離脱する要求を示すために用いられる第2の動的能力フィールドを有する、請求項1に記載の方法。
前記第1の動的能力フィールドは、データセンタを識別するデータセンタ識別子フィールドと、VPN(virtual private network)を識別するVPN識別子フィールドと、セキュリティプロトコルを識別するセキュリティ識別子フィールドとを有する、請求項9に記載の方法。
前記BGP参加要求、前記BGP参加応答、前記BGP離脱要求、及び前記BGP離脱応答は、RIB(routing information base)のためのインバウンドメカニズムにより送信される、請求項1に記載の方法。
BGPトラフィックフレームを送信する前に、前記BGP参加要求を検証するステップ、を更に有し、前記BGP参加要求は、前記仮想ネットワーク内のアドレスを示すネットワークレイヤ到達可能性情報を有する、請求項1に記載の方法。
前記第1のBGP経路リフレッシュ要求は、符号化のタイプを示すバージョンフィールドと、追加機能フィールドとを有し、前記第1のBGP能力セットは、前記追加機能フィールドを用いて新しいBGP能力を含むよう更新される、請求項14に記載の装置。
前記第1のBGP経路リフレッシュ要求は、第1のシーケンス番号を有し、前記BGP経路リフレッシュ応答は、第2のシーケンス番号を有し、前記第1のシーケンス番号と前記第2のシーケンス番号は同じである、請求項16に記載の装置。
BGP(Border Gateway Protocol)シグナリングを用いて仮想ネットワークにネットワークを設定するか否かを決定する装置であって、前記装置は、
送受信機に結合されるプロセッサを有し、前記プロセッサは、
第1のBGP能力セットをサポートし、前記第1のBGP能力セットは少なくとも1つのBGP能力を有し、
前記第1のBGP能力セットを有する第1のOpenメッセージを送信し、
第2のBGP能力セットを有する第2のOpenメッセージを受信し、前記第2のBGP能力セットは少なくとも1つのBGP能力を有し、
前記ネットワークに前記仮想ネットワークに参加するよう要求する第1のBGP Updateメッセージを受信し、前記第1のBGP Updateメッセージは、複数のAFI(Address Family Identifier)経路を有し、
前記第1のBGP Updateメッセージを受理するか拒否するかを決定し、前記第1のBGP Updateメッセージは、AFI経路が拒否されるとき拒否され、
第2のBGP Updateメッセージを送信し、前記第2のBGP Updateメッセージは、前記第1のBGP Updateメッセージの受理又は拒否を示し、
前記ネットワークは、前記第1のBGP Updateメッセージが拒否されるとき、前記仮想ネットワークに参加せず、
前記ネットワークは、前記第1のBGP Updateメッセージが受理されるとき、前記仮想ネットワークに参加し、
QoS(quality of service)要件は、前記仮想ネットワークに参加するとき、前記ネットワークに関連付けられる、装置。
前記第1のBGP Updateメッセージは、拡張コミュニティフィールドを有し、前記プロセッサは、前記拡張コミュニティフィールドが誤った長さを有するとき、削除を実行するよう更に構成される、請求項22に記載の装置。
前記第1のBGP Updateメッセージは、NLRI(network layer reachability information)フィールドを有し、帯域幅要求は、前記仮想ネットワークに参加するとき、前記ネットワークに関連付けられる、請求項22に記載の装置。
【発明を実施するための形態】
【0013】
始めに理解されるべきことに、1又は複数の実施形態の説明的実装が以下に提供されるが、開示のシステム及び/又は方法は、現在知られているか既存かに関わらず任意の数の技術を用いて実装できる。本開示は、いかようにも、本願明細書に図示し記載する例示的設計及び実装を含む説明的実施形態、図面及び以下に記載する技術に限定されず、添付の請求の範囲の範囲内で該請求の範囲の等価範囲全てに従って変更できる。
【0014】
以下に、データセンタ及び/又はネットワーク内のホストに対するアドミッション制御を実行するための方法、装置及びシステムを開示する。本開示は、vDC又はネットワーク内のホストに関連するVPNインスタンスに参加及び離脱するための管理制御を実行するためにBGPを用いることを提案する。BGPは、ホスト−ホスト接続及び/又は到達可能性情報を伝達し、ネットワークVPNインスタンスをアドバタイズし、QoS又は帯域幅要件をホスト又はネットワークに関連付け、並びに干すと接続性を問い合わせるために用いることができる。アドミッション制御は、ホスト及び/又はネットワークが特定の仮想サービスインスタンスに自動的に参加又は離脱することを可能にする。BGPは、特定の仮想サービスインスタンスに参加又は離脱するインバウンド要求を伝達し、ネットワークに該要求に肯定応答させるよう適応されても良い。
【0015】
BGPは、特定のvDC VPN毎に、インバウンドメカニズムを介して1又は複数の経路情報ベース(routing information base:RIB)を伝達しても良い。RIBは、以後RIBのAFI/SAFI識別子として示されるAFI(Address Family Identifier)及びSAFI(sub-address Address Family Identifier)の組合せにより識別される。
【0016】
vDC VPNは、DC識別子、VPN識別子(ID)、Security ID及びそれらの種々の組合せにより識別されても良い。VPN IDは、VLANポートIDから得られる整数若しくは単調増加値、又は他のメカニズムであっても良い。Security IDは、TLV(type-length-value)フォーマットを用いても良い。ここで、種類(type)は特定のセキュリティプロトコル識別子(securityprotocolidentifier:SPI)を表し、長さ(length)は値の長さを表し、値(value)はSPIを含んでも良い。
【0017】
参加及び離脱機能(function)信号のBGPインバウンドシグナリングは、BGP拡張コミュニティ、BGP動的能力、BGP参加/離脱属性、又は運用状態メッセージのような能力を用いて実施されても良い。これらの交信の各々は、2つのBGPピア間のBGPシグナリングを含む。インバウンドシグナリングの前に、BGPピアは、BGP OPEN能力を介してBGP接続を交渉し設定する。交渉は、拡張コミュニティ又はBGP交渉済みサービスのような既存のBGPサービスを用いて参加/離脱VPNサービスを通過(pass)するために1つの機能を設定する。BGP交渉済みサービスは、限定ではないが、BGP動的能力、BGP参加/離脱VPNオプショナル属性、状態情報のBGPパス(passing)(例えば、BGP Advisory Message)を含む。
【0018】
シグナリングは、2つのBGPピア間での、BGPメッセージの送信及び応答の受信を含む。1つのBGPピアは、VPNへの参加を要求する送信側であると考えられる。受信側は、応答で、該要求を受理又は拒否しても良い。離脱要求は、いずれかのBGPピア(つまり、送信側又は受信側)から送信されても良く、離脱要求を受信するBGPピアにより受理又は拒否されても良い。シグナリングは、不正形式のBGPメッセージ、又は拡張コミュニティ及び任意参加/離脱通過のUpdateメッセージの属性の誤り処理を可能にする「treat-as-withdraw」能力を用いても良い。幾つかのクラスのエラーのためのシグナリングは、参加要求又は離脱要求の拒否を有しても良い。
【0019】
参加要求は、BGP受信側が到達可能性情報を拒否すると、拒否されても良い。到達可能性情報は、ホストアドレス、ホスト−ホスト経路、ネットワーク経路、MACアドレス、Ethernet(登録商標)(例えば、Institute of Electrical and Electronics Engineers(IEEE)又はIEEE802.1aq)802.1Q VPN、L3VPN情報、及びL2VPN自動設定情報を含み得るが、これらに限定されない。BGP受信側が参加/離脱要求を受理した後、BGPピア間の特定のトラフィックフローを許容するため、参加/離脱シグナリングの検証が生じても良い。検証は、RIB AFI/SAFIペアのポリシ、VPN ID及びSecurity ID検証を含んでも良い。上述の及び他の特徴は、添付の図面及び請求の範囲と関連して以下の詳細な説明から更に明らかに理解されるだろう。
【0020】
図1は、ホストの仮想ネットワークへの参加/離脱を支援するネットワーク100の例示的な実施形態の概略図である。ネットワーク100は、基本ネットワーク102、ネットワーク仮想エッジ(NVE)104、サーバ106、仮想機械(VM)108を有しても良い。基本ネットワーク102は、IP/MPLSネットワーク、Ethernet(登録商標)ネットワーク、データセンタネットワークのような複数の仮想ネットワークをオーバレイできる任意の物理ネットワークであっても良い。基本ネットワーク102は、DC物理ネットワーク、1又は複数のローカルエリアネットワーク(LAN)、都市域ネットワーク(MAN)、及び/又は広域ネットワーク(WAN)を有するネットワークであっても良い。追加で、基本ネットワーク102は、OSI(Open Systems Interconnection)レイヤ2又はレイヤ3で動作しても良い。
【0021】
NVE104は、ルータ、スイッチ、ブリッジ及びそれらの種々の組合せのようなネットワーク装置(つまり、BGPピア)に存在しても良い。
図1で、NVE104は、サーバ106の外部に存在しても良い。ネットワーク100内のホストは、サーバ106、VM108、記憶装置、データセンタ、及びネットワーク100にデータをもたらし又はネットワーク100からデータを受信し得る他の種類のエンド装置を有しても良い。ホストは、基本ネットワーク102の外部にあっても良い。サーバ106は、異なる仮想サービスインスタンス(つまり、仮想ネットワーク)に属しても良いVM108を有しても良い。VM108及びサーバ106は、1つのデータセンタ内に、又は異なるデータセンタに設置されても良い。仮想サービスインスタンス(つまり、仮想ネットワーク)は、ネットワーク仮想オーバレイ(NVO3)インスタンス、L2VPN、L3VPN、及び/又はBGPを使用可能な任意の他のオーバレイネットワーク技術を用いて構築されても良い。
【0022】
図1に示すように、サーバ106(例えばホスト)及びNVE104は、互いに外部であり、同じハードウェア内に設置されない。サーバ106は、基本ネットワーク102及び仮想サービスインスタンスの外部にあっても良く、一方で、NVE104は、基本ネットワーク102のエッジにあるネットワーク装置に存在しても良い。サーバ106及びNVE104は、eBGP接続110を用いて、2つのBGPピア間の通信を提供しても良い。具体的には、eBGP接続110は、サーバ106とNVE104との間で情報を交換するために用いられても良い。NVE104は、サーバ106及び/又はVM108(つまりホスト)が仮想サービスインスタンスに自動的に参加又は離脱できるようにする。サーバ106は、仮想ネットワークに加わるために、VM108のローカルNVE104に要求を送信するよう構成されても良い。当業者は、eBGP接続110がASの他の実施形態の間で情報を交換するために用いられ得ることを知っている。
【0023】
図1は、仮想ネットワーク内のNVE104間でデータを運ぶためにオーバレイトンネル112が実装されても良いことも示す。異なる種類のオーバレイトンネル112は、MPLSトンネル、LSP(label switch path)トンネル、GRE(Generic Routing Encapsulation)トンネル及びIPトンネルを含み得るが、これらに限定されない。異なるオーバレイトンネル112は、基本ネットワーク102を介してデータを運ぶために実装される仮想サービスインスタンスの種類に依存して用いられても良い。上述のように、iBGP接続114は、経路群(route population)及び他のルーティング決定をNVE104間で通信しても良い。
【0024】
図2は、DCサービスプロバイダ218を有するVPNネットワーク222を相互接続するネットワーク200の例示的な実施形態の概略図である。基本ネットワーク102、オーバレイトンネル112、BGP接続210、及びiBGP接続214は、それぞれ基本ネットワーク102、オーバレイトンネル112、eBGP接続110、及びiBGP接続114と実質的に同じである。VPNネットワーク222は、サイトネットワークA及びB206を有する企業のイントラネットのようなプライベートネットワークであっても良い。サイトネットワーク206は、接続性についてVPNネットワークに依存しない互いに相互接続されたネットワークであっても良い。サイトネットワークA206及びサイトネットワークB206は、物理的に異なる地理的位置に設置されても良く、したがって、VPNサービスインスタンス無しでは交信できなくても良い。2つのサイトネットワークA及びB206は、ネットワークサービスプロバイダにより提供される基本ネットワーク102を用いて接続されても良い。基本ネットワーク202は、L2VPN又はL3VPNのようなVPNサービスインスタンスを用いてサイトネットワークA及びB206を相互接続しても良い。他の実施形態では、サイトネットワーク206は、1より多いVPNサービスインスタンスに関連付けられても良い。
【0025】
L3VPN及びL2VPNのようなVPNサービスインスタンスを有するサイトネットワーク206は、プロバイダエッジ(PE)装置204及びカスタマエッジ(CE)装置208を有しても良い。CE装置208及びPE装置204は、ルータ、スイッチ、ブリッジ及びそれらの種々の組合せのようなエッジネットワーク装置(つまり、BGPピア)であっても良い。これらの定義は、論理上の定義であり、特定の転送プロトコルを意味しない。PE装置204は、物理回路又は論理連結回路(attachment circuit:AC)を介してCE装置208に取り付けられても良い。連結回路を介して結合され得る1又は複数のCE装置208は、連結回路を介して1又は複数のPE装置に結合されても良い。トラフィックフィルタは、PE装置204及びCE装置208に設定され配置されて、リンク間を通過するトラフィックがサービスプロバイダ及び顧客により承認されることを保証する。PE装置204は基本ネットワーク202の部分であっても良く、一方、CE装置208は基本ネットワーク202の外部にあっても良い。PE装置204及びCE装置208は、異なる管理システムにより管理されても良い。eBGP接続210は、CE装置208及びPE装置204を通じて、サイトネットワーク206とネットワークサービスプロバイダとの間の通信を実現しても良い。PE装置204は、オーバレイトンネル212を用いて、VPNネットワーク222を介してデータを運んでも良い。
【0026】
DCサービスプロバイダ218は、データセンタゲートウェイルータ(data center gateway router:DCGR)216を用いて、VPNネットワーク222に結合されても良い。基本ネットワーク202からのPE装置204は、複数のACを有する物理インタフェースを介して、DCGR216を結合しても良い。DCGR216は、複数のCE装置208として動作しても良い。DCサービスプロバイダ218は、コンピューティング、記憶及び他のネットワークサービスを提供する1又は複数のvDC220を有しても良い。vDC220は、物理サイト内のハードウェア又は複数のサイト内のハードウェアの任意の組合せで、又は任意の仮想ネットワーク装置で動作し得る論理的エンティティであっても良い。例えば、仮想ネットワーク装置は、ハイパーバイザ内で動作するホストであり又はハイパーバイザ内の仮想スイッチに取り付けられても良い。用語vDCの使用は、論理的エンティティの連携を物理的又は論理的リンクのセットに制限しない。
【0027】
1又は複数のvDC220は、VPNネットワーク222に割り当てられても良い。eBGP接続210は、1又は複数のvDC220がWAN VPNネットワーク202に自動的に参加又は離脱できるようにするためにPE装置204とDCGR216との間で情報を交換するために用いられても良い。他の例示的な実施形態も、ネットワーク内のホストがWAN VPNネットワーク202に自動的に参加又は離脱できるようにするためにPE装置204とCE装置208との間のeBGP接続210を用いても良い。PE装置204からDCGR216へのeBGP信号は、VPN経路をDCGR216にアドバタイズし、一方で、DCGR216からPE装置204へのeBGP信号は、経路アドミッション制御を実行しても良い。PE装置204がPE装置204に接続される別の実施形態では、両方のPE装置204は経路アドミッション制御を実行しても良い。DCサービスプロバイダ218の別の実施形態は、
図2に示すVPNネットワーク222とは異なるVPNネットワークにvDC220を割り当てても良い。
【0028】
図3は、ホストの仮想ネットワークへの参加/離脱を支援するネットワーク300の別の例示的な実施形態の概略図である。ネットワーク300は、基本ネットワーク302、NVE304、サーバ306、VM308、オーバレイトンネル312、及びiBGP接続314を有しても良い。これらは、それぞれ、基本ネットワーク102、NVE104、サーバ106、VM108、オーバレイトンネル112、及びiBGP接続114と実質的に同じである。
図3は、NVE304がサーバ306に存在しても良く、サーバ306に接続された外部ネットワーク装置に存在しないことを示す。サーバ306は、NVE、仮想ネットワーク及びVMの生成を担うサーバマネジャシステムを有しても良い。サーバマネジャシステムは、仮想サービスインスタンス(仮想ネットワーク)にVMを割り当てても良く、一方で、サーバソフトウェアは機能及びセキュリティを保証しても良い。サーバ306にあるNVE304(つまりBGPピア)は、仮想サービスインスタンスに自動的に参加又は離脱するために、iBGP接続314を用いて他のリモートNVE304(つまりBGPピア)と情報を交換しても良い。
【0029】
図4は、ルータリフレクタ416を用いてホストの仮想ネットワークへの参加/からの離脱を支援するネットワーク400の別の例示的な実施形態の概略図である。ネットワーク400は、基本ネットワーク402、NVE404、サーバ406、VM408、オーバレイトンネル412、iBGP接続414を有しても良い。これらは、それぞれ、基本ネットワーク302、NVE304、サーバ306、VM308、オーバレイトンネル312、iBGP接続314と実質的に同じである。
図3と同様に、NVE404はサーバ406内に存在する。さらに、ネットワーク400は、eBGP接続410を介してサーバ編成システム418に結合されるルータリフレクタ416を更に有しても良い。ルータリフレクタ416は、
図1及び3に示すようにNVE/PE(つまりBGPピア)間でiBGPメッシュを実装する代わりに用いられても良い。eBGP接続410は、eBGP接続110と実質的に同じである。
【0030】
図4は、サーバ編成システム418がeBGP接続410を用いてルータリフレクタ416に仮想ネットワーク内のVM位置について知らせ得ることを示す。サーバ編成システム418は、VMの生成、削除及び移動のような全てのサーバ及びVMの管理を担っても良い。サーバ編成システム418は、VM又はサーバをNVO3のような仮想ネットワークに割り当てても良い。ルータリフレクタ416は、サーバ編成システム418から更新メッセージを受信し、該メッセージを関係のあるサーバ406、ピアグループ、又は他の関係のあるグループへiBGP接続414を介して転送しても良い。NVE406は、更新メッセージを受信し、転送テーブルを更新しても良い。ルータリフレクタ416は、NVE406から更新メッセージを受信するとき、メッセージをサーバ編成システム418に転送しなくても良い。eBGP接続410は、サーバ406及び/又はVM408(つまりホスト)が仮想ネットワークに自動的に参加又は離脱できるようにするために、ルータリフレクタ416とサーバ編成システム418との間で情報を交換するために用いられても良い。編成システムは、VM位置及びホスト−ホスト接続性を問い合わせ、及び/又はeBGPを用いることによりQoS又は帯域幅要件を関連付けても良い。
【0031】
図5Aは、BGP Openメッセージ500の例示的な実施形態の概略図である。BGPピアは、
図1〜4に示した、NVEをサポートする装置、サーバ、PE装置、CE装置、及びDCGRのような、BGPルーティングプロトコルを実行するよう構成されるネットワーク装置であっても良い。基礎となるTCP(transmission control protocol)が確立された後、BGP接続を生成するために、BGP Openメッセージ500が2つのBGPピア間で交換されても良い。BGP Openメッセージ500は、ヘッダ(header)フィールド502、バージョン(version)フィールド504、ASフィールド506、ホールドタイム(hold time)フィールド508、BGP識別子(identifier)フィールド510、任意パラメータ長(Opt.Param Length)フィールド512、任意パラメータフィールド(
図5Aのオープン能力リスト)514を有しても良い。ヘッダフィールド502は、メッセージタイプを示すヘッダタイプフィールド、ヘッダの長さを示すヘッダ長フィールド、メッセージの全長を示すヘッダマーカフィールドを有しても良い。BGPメッセージタイプの他の実施形態は、Openメッセージ、Updateメッセージ、キープアライブ(Keepalive)メッセージ、通知(NOTIFICATION)メッセージ、動的能力(Dynamic Capability)メッセージ、及び経路リフレッシュ(Route Refresh)メッセージ、及びアドバイス(Advisory)メッセージを有しても良い。ヘッダタイプフィールド、ヘッダ長フィールド、及びヘッダマーカフィールドは、それぞれ約1オクテット長、2オクテット長、及び16オクテット長であっても良い。
【0032】
バージョンフィールド504は、約1オクテット長であっても良く、メッセージのプロトコルバージョンを示す符号無し整数であっても良い。例えば、バージョンフィールド504は、BGPバージョン、4を提供しても良い。自律システム(AS)フィールド506は、約2オクテット長であっても良く、送信側BGPピアの自律システム番号を示しても良い。ホールドタイムフィールド508は、約2オクテット長であっても良く、ホールドタイマの値のために送信側BGPが提案する秒数を示す符号無し整数であっても良い。BGP識別子フィールド510は、約4オクテット長であっても良く、送信側BGPピアに割り当てられたIPアドレスを識別するために用いられても良い。任意パラメータ長フィールド512は、約1オクテット長であっても良く、任意パラメータフィールド514の全長を示す符号無し整数であっても良い。
【0033】
任意パラメータフィールド514は、BGP Openメッセージ500内に符号化される異なるパラメータの数に依存して長さが変化しても良い。任意パラメータのうちの1つは、BGPセッションの中で新しい能力を渡すことを実現するCapabilities Optional Parameter516であっても良い。これは、本願明細書に全体が組み込まれるIETF RFC5492で定められるようなOpen Capabilityアドバタイズメントとして示されても良い。Capabilities Optional Parameter516は、BGPピアによりサポートされる能力のリスト516を含む。IANA(Internet Assigned Numbers Authority)は、本願明細書に全体が組み込まれるIANA Capability Code(www.iana.org/assignments/capabilityを参照)の中の能力を定め登録しても良い。これらの能力番号のうちの幾つかは、2つのBGPピア間でのプライベートな使用のために予約されている。これらのプライベート使用の能力は、IANA Capability Codeの中にはないかも知れない。2つのBGPピアは、BGPセッションの共通能力のセットを定める能力を交換しても良い。例えば、参加/離脱Open(
図5AのVPN)能力518は、任意パラメータフィールド514に含まれる能力のうちの1つであっても良い。
【0034】
図5Bは、BGP Openメッセージ520の別の例示的な実施形態の概略図である。BGP Openメッセージ520は、任意パラメータ長(Opt.Param Length)522及び拡張任意パラメータ長(Ext.Opt.Param Length)フィールド524を有しても良い。これは、BGP Openメッセージ500と異なる。任意パラメータ長522は、BGP Openメッセージ520のフォーマットを拡張することを示す値255(OxFF)を有しても良い。拡張任意パラメータフィールド524は、約2バイト長であっても良く、任意パラメータ514の拡張された長さを示すために用いられても良い。拡張任意パラメータフィールド524は、任意パラメータ長522に続いても良く、Open Capabilityリスト514が始まる前に終了する。BGP Openメッセージ520内の他のフィールドは、BGP Openメッセージ500と実質的に同じである。
【0035】
BGP Openメッセージ500及び520の両方は、任意パラメータ514内に参加/離脱能力(Join/Leave Capability)フィールド518を有しても良い。
図5Cは、参加/離脱能力フィールドの例示的な実施形態の概略図である。
図5Cに示すように、参加/離脱能力フィールド518は、1オクテット長を必要とする参加/離脱パラメータタイプ(Join/Leave VPN Parm type)526、1オクテット長を必要とする参加/離脱パラメータ長(Join/Leave VPN Parm length)528、及び参加/離脱パラメータ値(Join/Leave Parameter value)530を有しても良い。参加/離脱パラメータタイプ526は、capabilityパラメータが参加/離脱能力であることを示しても良い。参加/離脱パラメータ長528は、参加/離脱パラメータ値530の長さを示しても良い。
【0036】
参加/離脱パラメータ値530は、サイズが変化しても良く、1オクテット長を必要とするフラグバージョン(flag version)フィールド532、1オクテット長を必要とする参加/離脱VPNタプル数(count of Join/Leave VPN tuples)フィールド534、及び5オクテット長を必要とする複数のタプル(Tuple)542を有しても良い。フラグバージョンフィールド532は、参加/離脱パラメータ値530のために用いられる符号化の種類を示しても良い。一実施形態は、バージョンゼロの参加/離脱パラメータ符号化のためにゼロにセットされるフラグバージョンフィールド532を有しても良い。参加/離脱VPNタプル数フィールド534は、参加/離脱パラメータ値530の範囲内のタプル542の数(例えば、n個のタプル)を示しても良い。各タプル542は、特定の仮想ネットワークに関連付けられても良い。
【0037】
図5Dは、フラグフィールド536の例示的な実施形態の概略図である。各タプル542は、1オクテット長を必要とするフラグ(flag)フィールド536、2オクテット長を必要とするAFIフィールド538、及び1オクテット長を必要とするSAFIフィールドを有しても良い。
図5Dに示すように、AFIフィールド538及びSAFIフィールド540は、関連する仮想ネットワークのRIBとして用いられても良い。フラグフィールド536は、全AFI/SAFI(All AFI/SAFI)フラグ544、拡張コミュニティ(Extended Community)フラグ546、任意通過属性(Optional Transitive Attribute)フラグ548、Dynamic Capability Signalingフラグ550、状態メッセージ(status message)フラグ552、帯域幅サポート(BW support)フラグ554、QoS(Quality of Service)(QoS support)フラグ556、及び経路リフレッシュ(Route Refresh)フラグ558を有しても良い。各フラグ544、546、548、550、552、554、556、558は、約1ビット長であっても良い。拡張コミュニティフラグ546は、BGP Openメッセージ500及び520を送信するBGPピアが参加/離脱VPN情報を渡すために、BGP Updateメッセージの中の拡張コミュニティ属性を用いることを示しても良い。任意通過属性フラグ548は、BGP Openメッセージ500及び520を送信するBGPピアがBGPビット値を渡すために参加/離脱VPN BGP通過属性を用いることを示しても良い。動的能力シグナリング(Dynamic capability signaling)フラグ550は、参加/離脱情報を渡すために動的能力メカニズムが用いられることを示しても良い。この参加/離脱情報は、能力の動的な追加又は実際のVPN参加/離脱情報であっても良い。状態メッセージフラグ552は、参加/離脱情報を渡すためにBGP状態メッセージが用いられることを示しても良い。BWサポートフラグ554は、帯域幅が参加/離脱情報の中で伝達される必要があることを示しても良い。QoSサポートフラグ556は、QoS情報がVPNで渡されることを示しても良い。当業者は、他の形式のフラグフィールド536を参加/離脱機能のために用いることができることを知っている。
【0038】
図5C及び5Dを参照すると、全AFI/SAFIフラグ544が設定されるとき(例えば、データ値1)、値は、対応するタプル542内の全AFIフィールド538及びSAFIフィールド540が無視されても良いことを示しても良い。例えば、全AFI/SAFIフラグ544がタプルn542のフラグワードの中で設定されるとき、タプルn542のAFIフィールド538及びSAFIフィールド540の範囲内のデータ値は無視されても良い。全AFI/SAFIフラグ544が設定されないとき(例えば、データ値0)、タプル542のAFIフィールド538及びSAFIフィールド540バイトの中のバイトは、フラグに適する。関連する仮想ネットワークのために予め設定されていない全AFIフィールド538及びSAFIフィールド540は、ローカルポリシに基づきフラグフィールド536に設定されても良い。
【0039】
図6は、BGP Open Exchangeプロセス600の例示的な実施形態の概略図である。BGPピア1 602は、経路リフレッシュ能力516a、動的能力516b、Advisory状態能力516c、及び参加/離脱VPN能力518を含む能力を有するOpen Capabilityリスト514を有するBGP Openメッセージ604aを送信しても良い。タプル1 542の参加/離脱VPN能力518内に示す値は、全AFI/SAFI、拡張コミュニティ、動的能力、状態メッセージ、BWサポート、及びQoSサポート(
図5Dを参照)に設定されたフラグを有する。604aを受信すると、BGPピア2 602は、ローカルポリシに基づき、参加/離脱VPN能力について何のサポートを有するかを決定し、BGPピア1 602への応答として、第2のBGP Openメッセージ604bを返送する。BGP Openメッセージ604bは、参加/離脱VPN能力(Join/Leave VPN Capability)518、アドバイス能力(AdvisoryCapability)516c、及び動的能力(Dynamic Capability)516bを有しても良いが、経路リフレッシュ能力(Route Refresh Capability)516aを有しなくても良い。経路リフレッシュ能力516aのような能力の包含又は除去は、BGPピア2により送信されるBGP Openメッセージ604bの中の参加/離脱VPN能力518に影響を与えない。
図6に示すように、BGP Openメッセージ604a及びbの両方の中のタプル1の値は、同じである(例えば、全てのフラグが設定される)。BGPピア2 602からBGP Openメッセージ604bを受信した後に、BGPピア1 602は、BGPピア2 602に、BGPキープアライブ(BGP Keepalive)メッセージ606で応答しても良い。
【0040】
図7は、BGP Open Exchangeプロセス700の別の例示的な実施形態の概略図である。BGPピア1 602は、BGPピア2 602へ、動的能力(Dynamic Capability)516b、アドバイス能力(Advisory Capability)516c、及び参加/離脱VPN能力(Join/Leave VPN Capability)518を有するBGP Openメッセージ602を送信する。
図7は、タプル1 542内に設定されたフラグビットが、全AFI/SAFI、拡張コミュニティ、動的能力、状態メッセージ、BWサポート及びQoSサポート(
図5Dを参照)であることを示す。BGPピア2 602は、参加/離脱VPN能力518又はアドバイザリ能力516cをサポートしなくても良く、また、エラーコード710及び参加/離脱能力518からのバイトを有する通知メッセージ708を送信する。
図7に示すように、BGPピア2 602は、参加/離脱能力518をサポートするためにBGPピア1 602とのBGPピアセッションを確立しなくても良い。BGPピア1 602は、許容可能なOpen能力514を有する別のBGP Openメッセージ604を送信することにより、BGPピアセッションの確立を継続しても良い。この非限定的な例では、許容可能なOpen能力514は、動的能力518であっても良い。BGPピア2 602は、BGPピアセッションを生成するために、動的能力516bに応答して、BGP Openメッセージ604bを続けて送信しても良い。次に、BGPキープアライブメッセージ606は、BGPピア1 602により送信されても良い。
【0041】
図8は、BGP Open Exchangeプロセス800の別の例示的な実施形態の概略図である。
図8は、BGP交渉の中で機能を交渉するために参加/離脱VPN能力518にできることを示す。BGPピア1 602は、動的能力516b、516c及び参加/離脱VPN能力518を有するBGP Openメッセージ604aを送信しても良い。参加/離脱VPN能力の中のタプル(Tuple)1 542は、全AFI/SAFI、拡張コミュニティ、動的能力、状態メッセージ、BWサポート及びQoSサポートのフラグビット(
図5Dを参照)を設定しても良い。BGPピア2 602は、ユーザポリシ信号に基づいても良く、拡張コミュニティを介して参加/離脱VPN情報を交換するのみであっても良く、また、VPNに関する帯域幅情報若しくはQoS情報をサポートしなくても良い。これを伝達するために、BGPピア2 602は、参加/離脱VPN能力518及び動的能力516bを有するBGP Openメッセージ604bを送信する。BGP Openメッセージ604b内の参加/離脱VPN能力518は、タプル1内で全AFI/SAFI及び拡張コミュニティフィールドのフラグを設定しても良い。BGPピア1 602は、BGP Openメッセージ604bを受信すると、参加/離脱VPN交換を受け付け、拡張コミュニティ機能のみを用いても良い。次に、BGPピア1 602は、BGPピアセッションを確立すると、BGPキープアライブメッセージ606を送信しても良い。
【0042】
図9Aは、BGP Updateメッセージ902を用いるBGP交換プロセス900の例示的な実施形態の概略図である。
図9Aは、Withdraw長(Withdraw length)906、Withdrawフィールド908、BGPパス属性(BGP Path Attributes)910、及びネットワークレ層到達可能性情報(network layer reachability information:NLRI)918を有する通常のBGP Updateフィールドを有するBGP Updateメッセージ902aを送信するBGPピア1 602を示す。BGPパス属性910は、3つの異なるBGPパス属性、つまり複数プロトコル到達可能性属性(Multi-protocol attribute)912、拡張コミュニティ参加/離脱VPN(Extended Community Join/Leave VPN)914、及び参加/離脱VPN属性(Join/Leave VPN attribute)916を有しても良い。当業者は、これらの属性を知っている。BGP Updateメッセージ902aを受信した後、BGPピア2 602は、別のBGP Updateメッセージ902bを返送する。拡張コミュニティ参加/離脱VPN914及び参加/離脱VPN属性916を除いて、2つのパケットメッセージの間には直接的な対応は必要ない。この非限定的な例では、BGP Updateメッセージ902a内のVPN参加要求は、BGPピア1 602により、拡張コミュニティ参加/離脱VPN914及び参加/離脱VPN属性916を介して送信されても良い。BGPピア2 602は、拡張コミュニティ参加/離脱VPN914及び参加/離脱VPN属性916を有するBGP Updateメッセージ902bを送信することにより応答しても良い。要求/応答ペアは、VPN識別子(つまり、DC ID、VPN ID、及びセキュリティID)によりリンク付けられても良い。メッセージダイジェスト(Message Digest)5を有するTCPのようなBGPトランスポートメカニズムは、異なるメッセージの順序を保つために用いられても良い。
【0043】
図9Aに示すように、拡張コミュニティ参加/離脱VPN914及び参加/離脱VPN属性916は、BGPセッション中にNLRIフィールド918と一緒に伝達されても良い。これは、BGPピア1 602及びBGPピア2 602が、ポリシが必要になる前にポリシをロードするのではなく、必要なときにVPNに関する管理制御を実行できるようにする。VPNポリシは、ポリシのための数百乃至数万個の範囲のエントリを含み得る。
図9Bに示すように、自動シグナリングは、セキュリティID(Security ID)928によりシグナリングされるセキュリティも設定しても良い。全種類の到達可能性は、VPNがvDC内部ネットワークのサービングトラフィックロードを設定されるまで、vDCによりフィルタリングされても良い。到達可能性情報は、BGP Updateメッセージ902a及びbの中で渡される又はvDCにローカルなパケットフローからの両方の到達可能性情報を有しても良い。BGPピア2 602が
図9AではPE装置にある一実施形態では、自動シグナリングは、BGPフィルタリング、パケットフィルタ及びフローフィルタリングの全種類のポリシをロードしても良い。さらに、BGP Updateメッセージ902a及びbは、約4096オクテットの長さを用いるBGP NLRI及び約65535オクテットの拡張BGPパケット長と一緒に、BGP参加/離脱VPNの多くのバイトを転送しても良い。インバウンド処理は、データフローを自動ポリシ挿入と同期させる。
【0044】
図9Bは、参加/離脱情報を有し符号化された拡張コミュニティパス属性914及び参加/離脱VPN属性916の例示的な実施形態の概略図である。拡張コミュニティパス属性914は、BGP透過でない拡張コミュニティとして符号化されても良い。参加/離脱情報を有し符号化された拡張コミュニティパス属性914は、1バイト長を必要とする標準タイプハイ(type high)フィールド920及び1バイト長を必要とするタイプロー(type low)フィールド922を有しても良い。タイプローフィールド922の次に、6オクテット長を必要とする参加/離脱パラメータ値(Join/Leave parameter value)932があっても良い。参加/離脱パラメータ値932は、2オクテット長を必要とするDC ID924、2オクテット長を必要とするVPN ID926、1オクテット長を必要とするセキュリティID(Security ID)928、及び1オクテット長を必要とするフラグ(flag)バイト930を有しても良い。DC ID924、VPN ID926、セキュリティID928は、インバウンドサービスVPN参加/離脱を識別するためのユニークな識別子を生成する。ハイタイプフィールド920及びロータイプフィールド922は、拡張コミュニティパス属性の種類を示すために用いられても良い。DC ID924は、vDCを識別しても良い。一方で、VPN ID926はVPNを識別し、セキュリティID928はセキュリティ固有識別子を識別する。DC ID924、VPN ID926、セキュリティID928の符号化の一例は、以下の通りである。つまり、DC ID924は0x0100に設定されても良く、VPN ID926は0x0020に設定されても良く、セキュリティIDは0x30に設定されても良い。
図9Bは、フラグバイト930を用いて、VPN要求が全てのAFI/SAFIに向けられていること、参加要求、受理の探索、バージョン0フォーマット、帯域幅サポートが要求されないこと、QoSサポートが要求されないこと、及び経路を示す。拡張コミュニティパス属性914は、以下に詳細に議論される。
【0045】
フラグバイト930の別の実施形態は、応答として用いられても良い。例えば、
図9Aで、BGPピア2 602は、応答としてBGP Updateメッセージ902bをBGPピア1 602へ送信しても良い。この場合、VPNは、同じ値(つまり、それぞれ0x0010、0x0020、0x30)を用いる同じDC ID924、VPN ID926及びセキュリティID928(
図9Bを参照)により識別されても良い。しかしながら、フラグバイト930は、応答及び受理を示すために、応答のために構成されても良い。BGPピア1 602がこの情報を受信した後、BGPピア1 602は、BGPピア2 602でVPNの自動設定が完了したことを知ることができる。実施形態は、ローカル設定に基づき、要求/応答シーケンスの任意タイムアウトを用いるよう構成されても良い。
図10において、フラグバイト930の符号化を更に詳細に議論する。
【0046】
図9Bは、参加/離脱VPN属性916の例示的な実施形態を示す。参加/離脱VPN属性916は、2オクテット長を必要とする属性タイプ(attribute type)934、2オクテット長を必要とする属性長(attribute length)936と、3オクテット長を必要とするサブタイプ(sub-type)フィールド938と、1オクテット長を必要とする参加/離脱グループ数(count of join/leave groups)フィールド940と、可変長を有する参加/離脱グループ(Join/Leave group)のシーケンスフィールド942とを有する参加/離脱VPN通過属性であっても良い。属性タイプ934は任意通過属性の種類を示しても良く、一方で、属性長936は参加/離脱VPN属性916の長さを示しても良い。サブタイプフィールド938は、参加/離脱VPNの追加グループを許容するために用いられても良い。一実施形態は、各グループフィールド942をサブタイプ0として符号化しても良い。
【0047】
グループフィールド942の符号化は、2オクテット長を必要とするグループID(Group ID)944と、2オクテット長を必要とする長さ(length)フィールド946と、4オクテット長を必要とするDC ID948と、4オクテット長を必要とするVPN ID950と、4オクテット長を必要とするセキュリティID(Security ID)952と、4オクテット長を必要とするフラグ数(flag counts)フィールド954と、可変長を有するゲートウェイリスト(GW list)956と、可変長を有する帯域幅プロファイルリスト(BW profile list)958と、可変長を有するQoSプロファイルリスト(QoS Profile list)960と、を有しても良い。フラグ数フィールド954は、参加/離脱VPNフラグオクテット、ゲートウェイ数オクテット、帯域幅プロファイル数、及びQoSプロファイル数を有しても良い。グループ942がどのように符号化されるかの一例は、DC IDx0020、VPN IDx0030、セキュリティIDx40、並びにIPv4/unicast SAFIでフラグビットがVPN参加要求、受理の探索、バージョン0フォーマット、帯域幅サポート無し、QoSサポート無し、1ゲートウェイヒント、帯域幅プロファイル無し(フラグ値0を用いて設定される)、QoSプロファイル無し(フラグ値0を用いて設定される)、及びゲートウェイヒント200.2.1.3/32IPv4に設定されたフラグ数フィールド954である。別の実施形態は、グループを応答参加/離脱属性として符号化することであっても良い。上述の例の符号化との相違は、フラグビットが要求ではなく応答のために設定されることである。
図10において更に詳細を議論する。
【0048】
グループフィールド942の符号化は、BGPピアが負荷共有のために利用可能なゲートウェイのヒントを送信することを可能にする。例えば、
図9Aで、BGPピア1 602は、BGPピア2 602へ、トラフィックの負荷共有のために利用可能なゲートウェイのヒントを送信しても良い。BGPピア2 902が送信されたゲートウェイを確認すると、BGPピア1 602は、ネットワーク内の2地点間の負荷共有までポリシを展開し、BGPピア2 602も同じポリシを設定し得ることを知る。さらに、BGPピア2 602ゲートウェイリストの中で送信されたゲートウェイがBGPピア1 602ゲートウェイのエコーではない場合、これらのゲートウェイは、BGPピア2 602のためのヒントとして用いられても良い。全ての示唆されたゲートウェイは、BGPピア1 602によりBGPピア2 602へ又はBGPピア2 602によりBGPピア1 602へ送信され、受信側BGPピアのローカルポリシに対して認証され得るヒントである。
【0049】
図10は、BGP Updateメッセージ1000の別の例示的な実施形態の概略図である。BGP Updateメッセージ1000は、BGP Updateメッセージヘッダ(BGP Update Message header)904と、削除経路長(withdraw route length)906と、削除経路(withdrawn routes)908と、パス属性(path attribute)910と、NLRI918とを有しても良い。拡張コミュニティパス属性(Extended Communities Path Attribute)1006は、拡張コミュニティパス属性タイプ(Extended Communities Path Attribute Type)1008と、パス属性長(length of path attribute)1010と、コミュニティのシーケンス1012と、参加/離脱拡張コミュニティ(Join/Leave Extended Community)1014とを有し符号化されても良い。拡張コミュニティパス属性タイプ1008は可変長であっても良く、コミュニティのシーケンス1012及び参加/離脱拡張コミュニティ1014は約8オクテット長であっても良い。拡張コミュニティフィールドに渡り参加/離脱機能を包含することは、複数のBGP Updateフィールドに跨る符号化を許容する。
【0050】
参加/離脱拡張コミュニティ機能1014は、それぞれ
図9Bのフィールド920、922、924、926、928、930に類似する、タイプハイ(type high)フィールド1016と、タイプロー(type low)フィールド1018と、DC ID1020と、VPN ID1022と、セキュリティID(Security ID)1024と、フラグID(Flag ID)1026とを有する非透過拡張コミュニティとして符号化されても良い。フラグバイトフィールド1026は、AII/Specificフラグ1028と、参加/離脱フラグ1036と、応答/要求(response/request)フラグ1032と、受理/拒否(accept/reject)フラグ1034と、バージョン/セキュリティハイ(version/security high)フラグ1036と、バージョン/セキュリティロー(version/security low)フラグ1038と、BWサポート(BW support)フラグ1040と、QoSサポート(QoS support)フラグ1042と、を有しても良い。これらの全ては約1ビット長である。1028のAII AFI/SAFIフラグは、全てのAFI/SAFIをサポートするために単一のエントリを許容する。他のより多くの特定のAFI/SAFIが追加される場合、それらはVPN参加/離脱相互作用で設定されるAFI/SAFIのためのより多くの特定のエントリとして扱われる。参加/離脱フラグ1030は、BGP UpdateメッセージがJoin/離脱要求か又は応答かを示す。一実施形態では、参加/離脱フラグ1030がデータ値「1」に設定されるとき、BGP Updateメッセージは参加要求であり、データ値「0」であるとき、BGP Updateメッセージは離脱要求である。応答/要求フラグ1032は、交信中、これが要求か(例えば、データ値「0」)又は応答か(例えば、データ値「1」)を示しても良い。受理/拒否フラグ1034は、要求が受理されたか(例えば、データ値「0」)又は拒否されたか(例えば、データ値「1」)を示しても良い。規定値は、受領/拒否フラグで「受理」であっても良い。バージョン/セキュリティハイ1036及びバージョン/セキュリティロー1038は、フラグのバージョンを示す2ビットのバージョンフィールドを設けても良い。BWサポートフラグ1040は、帯域幅サポートが要求されるか否かを示す。QoSサポートフラグ1042は、QoSサポートが要求されるか否かを示しても良い。
【0051】
図11は、拡張コミュニティフォーマットを用いたBGP Updateメッセージの別の例示的な実施形態の概略図である。BGP参加/離脱VPN拡張コミュニティフィールド1102は、2バイトのAS経路目標拡張コミュニティフォーマットを有しても良い。拡張コミュニティフィールド1102は、VPNの種類に依存して種々の実施形態で符号化されても良い。タイプハイ(Type high)フィールド1104及びタイプロー(Type low)フィールド1106は、それぞれタイプハイフィールド1016及びタイプローフィールド1018と実質的に同じであっても良い。しかしながら、タイプハイフィールド1104はデータ値0x40又は0x00を有しても良く、タイプローフィールド1106はデータ値0x02を有しても良い。BGP参加/離脱VPN拡張コミュニティフィールド1102は、参加/離脱パラメータ値(Join/Leave Paramvalue)1118も有しても良い。参加/離脱パラメータ値1118は、グローバルAS(Global AS)フィールド内のDC ID1108と、VPN ID1112と、セキュリティID(Security ID)1114と、参加/離脱フラグ(flag)1116とを有しても良い。VPN ID1112、セキュリティID1114、及び参加/離脱フラグ1116は、ローカルアドミニストレータ値(local administrator value)の範囲内にあっても良い。同様に、1108のグローバルASフィールド内のDC ID、VPN ID1112、セキュリティID1114、及び参加/離脱フラグ1116は、それぞれ
図10に示すフィールド1020、1022、1024、1026と同様であっても良い。BGP参加/離脱VPN拡張コミュニティフィールド1102の別の実施形態は、データ値0x00又は0x02を有するタイプハイフィールド1104を符号化し、データ値0x03を有するタイプローフィールド1106を符号化する2バイトのAS経路始点であっても良い。
【0052】
図12は、拡張コミュニティフォーマットを用いたBGP Updateメッセージの別の例示的な実施形態の概略図である。BGP参加/離脱VPN拡張コミュニティフィールド1202は、ルートターゲット0x20又はルートオリジン0x30を有するIPv4アドレスのために用いられても良い。タイプハイフィールド1204、タイプローフィールド1206、及びフラグ1212は、それぞれ1104、1106、1114、1116と実質的に同じフィールドである。参加/離脱パラメータ値1214の中のDC IDプレフィックスフィールド1208は、拡張コミュニティソースを識別する4オクテットのGlobalプレフィックスに揃えられても良い。VPN IDフィールド1210は、VPN IDフィールド1210が約1オクテットだけ短縮され得ることを除いて、VPN IDフィールド1112と同様である。タイプハイフィ―ルド1204はデータ値0x40又は0x02を有しても良く、一方、タイプローフィ―ルド1206はデータ値0x02又は0x03を有しても良い。BGP参加/離脱VPN拡張コミュニティフィールド1202の別の実施形態は、4オクテットのASコミュニティルートターゲット/オリジンであっても良い。タイプハイフィ―ルド1204はデ―タ値0x41又は0x01を有しても良く、一方、タイプローフィールド1206はルートターゲットのために0x02又はルートオリジンのために0x03を有しても良い。
【0053】
図13は、拡張コミュニティフォーマットを用いたBGP Updateメッセージの別の例示的な実施形態の概略図である。BGP参加/離脱VPN拡張コミュニティフィールド1302は、拡張コミュニティのためのIPv6で識別されるアドレスであっても良い。タイプハイフィールド1304、タイプローフィールド1306、セキュリティID1312及び参加/離脱フラグ1314は、それぞれ1104、1106、1114、1116と実質的に同じフィールドであっても良い。
図12と同様に、タイプローフィールド1306は、ルートターゲットでは0x02で、ルートオリジンでは0x03で符号化されても良い。参加/離脱パラメータ値(Join/Leave Paramvalue)1318は、Ipv6ID DC ID1308、及びローカルアドミニストレータ値(Local Administrator Value)1316を有しても良い。Ipv6ID DC ID1308は、Ipv6におけるネットワークアドレスでは約14ビット長であっても良い。ローカルアドミニストレータ値は、VPN ID1310、セキュリティID(Security ID)1312、フラグバイト(flag)1314を有しても良い。VPN ID1310は、VPN IDが約4バイト長であり得ることを除き、VPN ID1210と実質的に同じであっても良い。
【0054】
一例として
図9A、9B及び10に戻り、BGPピア1 602とBGPピア2 602との間のBGPメッセージ交換は、BGP拡張コミュニティ属性を用いて、BGPピア1 602からBGPピア2 602へJoin VPN要求を送信しても良い。拡張コミュニティ属性914は、
図9Bに示すような非透過コミュニティフォーマットであっても良い。BGPピア1 602とBGPピア2 602との間の交信は、0x0010に等しいDC ID、0x0020に等しいVPN イD、0x30に等しいセキュリティIDを扱う。フラグバイト930は、タイプハイフィールド1016がデータ値0x43又は0x03を有し得ることを除き、
図10に示すようなフラグフィールド1026のフォーマットを有しても良い。フラグバイト930は、BGPピア1 602により送信され、BGP VPN InfoフラグをAll AFI/SAFI、Join、要求、受理、バージョン0、BWサポート無し、QOSサポート無しに設定されても良い。これは、BGPピア1 602が識別されたVPNに参加することを要求していると示す。応答として、BGPピア2 602は、フラグバイトAll AFI/SAFI、Join、応答、受理、バージョン0フォーマット、BWサポート無し、QOSサポート無しを送信しても良い。インバンドシグナリングは成功し、自動設定についての合意が完了する。
図9Aは2つのBGP Updateメッセージ902のシーケンシャルな交信を示すが、当業者は、多くのBPG Updateメッセージ902が示した2つのメッセージの間でBGPピア1 602からBGPピア2 602へ送信できることを知っている。VPN識別子(例えば、DC ID、VPN ID及びセキュリティID)及びAFI/SAFIは、VPNを設定するために適切な情報を追跡しても良い。
【0055】
その後、VPNに参加するために、BGPピア1 602とBGPピア2 602との間のBGPメッセージ交換は、BGP拡張コミュニティ属性を用いてLeave VPN要求を送信しても良い。離脱要求を実施するために、参加/離脱VPNフラグ1030の値は、BGPピア1 602がVPNを離脱することを要求していると示すデータ値「0」に設定されても良い。BGPピア2 602は、All AFI/SAFIの離脱応答を送信して、このVPNの解放を受理しても良い。参加要求と同様に、多くのBGP Updateメッセージ902が、BGPピア1 602とBGPピア2 602との間で往復しても良い。
【0056】
図14は、「treat-as-withdraw」エラー処理の例示的な実施形態の概略図である。タイプハイ(type high)フィールド1406、タイプロー(type low)フィールド1408、DC ID1410、VPN ID1412、セキュリティID(Security ID)1414、及びフラグ(flag)バイト1416は、
図10に示すフィールド1016、1018、1020、1022、1024、1026と実質的に同じである。「treat-as-withdraw」エラー処理は、追加バイトが拡張コミュニティ参加/離脱VPNフィールド1402に挿入されるときに生じ得る。
図14は、追加のタイプローフィールド1404が通常の拡張コミュニティ参加/離脱VPNフィールド1402の前に含まれていることを示す。BGPピア2 602は、BGP Updateメッセージ904を受信し、9オクテットの拡張コミュニティ参加/離脱VPNフィールド1402をエラーとして扱い、BGPエラーハンドリングによりアナウンスされたNLRIを削除(withdraw)する。拡張コミュニティ参加/離脱VPNフィールド1402の中の値は、追加のタイプローフィールド1404を理由に、BGPピア2 602により無視される。BGPピア1 602は、時間又は他のエラー指標により損失を検出しても良い。
【0057】
別のエラー処理は、拡張コミュニティ参加/離脱VPNフィールド1402を実装するとき、フラグバイト1416内に未サポートバージョンフォーマット及び/又はタイプフィールド1408内に不正値を有しても良い。BGP Updateメッセージ902は、BGPピア1 602とBGPピア2 602との間で送信されても良い。例えば、BGPピア1 602は、不正値77を有するタイプローフィールド1408及びフラグバイト1416内の不正バージョン値「02」を含むBGP Updateメッセージ902を送信しても良い。これらのエラーのいずれかの解析は、VPN参加要求を拒否させても良い。BGPピア2 602は、BGPピア1 602から送信されたのと同じ不正タイプフィールド1408及び同じフラグバイト1416を有する別のBGP Updateメッセージ902を送信しても良い。
【0058】
図15は、任意通過属性(Optional Transitive Attribute)を用いたBGP Updateメッセージ1500の別の例示的な実施形態の概略図である。BGP Updateメッセージヘッダ(BGP Update Message header)1502、削除経路長(withdraw route length)フィールド1504、削除経路フィールド(withdrawn routes)1506、全経路属性長(total path attribute length)1508、及び経路属性(path attribute)1 1510は、
図10に示した904、906、908、1002、1004と実質的に同じフィールドであっても良い。任意通過属性1512は、
図9Bに示した参加/離脱任意通過属性916と実質的に同じであっても良い。NLRI1514は、NLRI918と実質的に同じであっても良い。参加/離脱任意通過属性タイプ(Join/Leave Optional Transitive Attribute type)1516、参加/離脱任意通過属性長(Join/Leave Optional Transitive Attribute length)1518、サブタイプ(sub-type)フィールド1520、カウント(count)1522、参加/離脱VPNグループ(Join/Leave VPN group)フィールド1524、ID1526、長さ(length)1528、DC ID1532、VPN ID1534、セキュリティID(Security ID)1536、フラグ(flag)バイト1538、ゲートウェイリスト(Gateway(GW)list)1546、プロファイルリスト(profile list)1550、及びQoSリスト(QoS list)1554は、それぞれ
図9Bのフィールド934、936、938、940、942、944、946、948、950、952、954、956、958、及び960と実質的に同じであっても良い。GW数(Count GW)1540、BW数(count BW)1542、及びQoS数(count QoS)1565は、それぞれゲートウェイ、BWプロファイル、QoSプロファイルの数を示しても良い。
【0059】
GWリスト1546は、複数のGWプロファイル1548を有しても良い。BWプロファイルリストフィールド1550は、BWプロファイルのリスト1552を提供しても良い。BWプロファイル1552は、4オクテット長を必要とする帯域幅値(bandwidth value)フィールド1554、1オクテット長を必要とする帯域幅に関連付けられたプレフィックスの数(Cnt)1556、2オクテット長を必要とするAFIフィールド1558、1オクテット長を必要とするSAFIフィールド1560、帯域幅値1562及び1564を用いるよう構成され得る可変長を有する一連のプレフィックス長値(prefix length value)を有する。QoSリスト1565は、複数のQoSプロファイル(QoS profile)1566を有しても良い。ここで、各QoSプロファイル1566は、4オクテット長を必要とするQoS値(QoS value)1568、1オクテット長を必要とするQoSプレフィックス数(Count of QoS Prefix)1570、2オクテット長を必要とするAFIフィールド1572、1オクテット長を必要とするSAFIフィールド1574、QoS値1576及び1578を有する一連のプレフィックス長(prefix length value)を有しても良い。数フィールド1556及び1570、AFIフィールド1572、SAFIフィールド1560及び1574、並びにプレフィックス長1562、1564、1576及び1578は、BGPプロトコルの分野の当業者により理解される。
【0060】
図9Aに戻ると、例示的なBGP Updateメッセージ902は、参加/離脱VPNを行うために参加/離脱任意属性1512を有し、BGPピア1 602とBGPピア2 602との間で送信されても良い。BGPピア1は、902で、削除経路長1504、削除経路1506、経路属性及びNLRI1514を有する、当業者に知られているフォーマットを有するBGP Updateメッセージを送信する。あるグループフィールド1524は、DC ID1532が0x00002010、VPN ID1534が0x12341246であり、セキュリティID1536が0x30010203であり、及びフラグバイト1538のビットがALL AFI/SAFI、Join、要求、バージョン0フォーマット、ヒントゲートウェイ数2、帯域幅数1、及びQoS数1に設定されるよう符号化されても良い。示唆されるゲートウェイは、192.15.1.1及び1926.5.1.1であっても良い。第1の帯域幅プロファイル1552は、1プレフィックスの数フィールド1556を有する値5を有しても良い。AFI/SAFIフィールド1558及び1560は、128.2/16のプレフィックス長値1562を有するVPN IPv4/ユニキャストを識別しても良い。QoSプロファイル1566は、3のQoS値1568、1の数フィールド1570を有しても良い。AFI/SAFIフィールド1572及び1574は、128.4/16のプレフィックス長値1576を有するVPN IPv4/ユニキャストを識別しても良い。このフィールド内の帯域幅プロファイルは、この帯域幅プロファイルが、 IPv4ユニキャストトラックの場合に128.2/16にある任意のネットワーク又はホストに自動的に割り当てられるようにできる。QoSプロファイルは、3のQoS値が、IPv4ユニキャストのAFI/SAFI及び128.4/16のプレフィックス範囲を有する任意のネットワークに割り当てられるようにできる。
【0061】
BGPピア602がBGP Updateメッセージ908を受信した後、BGPピア2 602は、同じDC ID1532、VPN ID1534、セキュリティID1536、BWプロファイル1550、GWプロファイル1546、QoSプロファイル1554を用いてBGP参加/離脱経路属性を返送しても良い。しかしながら、フラグワードバイト1538は、フラグをAll AFI/SAFI、Join、応答、受理、バージョン0フォーマットに設定されても良い。VPNは、BGPピア2 602で参加され、経路属性を有するBGP Updateメッセージ902を送信する。再び、これらの属性を有するBGP Updateメッセージ902は、多くのBGP Updateメッセージ902又はキープアライブメッセージにより分けることができる。他のBGP Updateメッセージ902又はキープアライブメッセージを返送できるようにするBGPピアにおける遅延の長さは、ローカルな設定事項である。
【0062】
BGPピア1 602は、VPNを離脱することを要求するために、任意通過更新処理を用いてBGP Updateメッセージ902をBGPピア2 602へ送信しても良い。BGP Updateメッセージ902は、1524に示すようにデータ値0x00002010を有するDC ID1532、データ値0x12451256を有するVPN ID1534、及びデータ値0x30010203を有するセキュリティID1536を用いてVPNを識別させても良い。BGP Updateメッセージ902内で渡されるVPN情報は、1つの帯域幅プロファイル及び1つのQoSプロファイルと一緒に、192.15.1.1及び192.5.1.1として渡される2つのヒントゲートウェイも含んでも良い。BGP Updateメッセージ902を受信したBGPピア2 602は、BGP Updateメッセージ902が有効であると決定し、BGP Updateメッセージ902内でVPNを識別しても良い。次に、BGPピア2 602は、BGPピア1 602がDC ID0x00002010、VPN ID0x12451256、及びセキュリティID0x30010203により識別されるVPNを離脱することに対して肯定応答するために、BGP Updateメッセージ902を送信しても良い。BGPピア2 602により送信されるBGP Updateメッセージ902は、ALL AFI/SAI、Leave、応答、受理、バージョン0フォーマットに設定されたフラグバイト1538を有しても良い。
【0063】
上述のように、インバウンドBGPシグナリングは、参加/離脱BGP VPN経路属性の中のより長いフィールドを用いることができるので、VPNのためのリソースの全部又はVPNのリソースの一部を用いてインバウンドシグナリングを実行できる。説明を簡単にするために、任意通過属性を用いる上述の非限定的な例は、VPNに関連するリソースの全部の参加及び離脱を説明した。参加/離脱BGP VPN経路属性の他の実施形態は、協調するBGPピアにおけるポリシの組合せにより制御されるような、AFI/SAFIの追加/削除、異なる帯域幅プロファイル、異なるQoSプロファイルを有しても良い。
【0064】
BGPピア1 602は、BGPピア2 602へ、BGPピア2 602が受理する参加/離脱情報と一致しないフラグバイト1538内で見付かったバージョンフォーマット(例えば、バージョン1)を有する参加/離脱属性1512を有するBGP Updateメッセージ902を送信しても良い。BGPピア2 602は、1268に示すようなバージョン番号フィールド値1及び他のフィールドを含む、「Leave、応答、拒否」のようにフラグバイト1538内のフラグを設定された参加/離脱属性1512を有するBGP Updateメッセージ902を返送しても良い。そうすることにより、BGPピア2 602は、参加/離脱BGP属性1512の異なるバージョンフォーマットに基づきJoin/離脱要求を拒否しても良い。
【0065】
図16は、参加/離脱VPN能力を有するBGP動的能力(BGP Dynamic Capability)1600の例示的な実施形態の概略図である。BGP動的能力1600の一実施形態は、フラグバージョン(flag version)フィールド1628内の動的能力追加/削除バージョン0のように符号化されても良い。フラグバージョンフィールド1628は、タプル内のフラグ(flag)バイトフィールド1630に影響を与え得る。動的能力パケットフォーマットは、IETF標準であり、BGP動的ヘッダ(BGP dynamic header)1602、第1のオクテット1604、シーケンス番号1606、及び1608のオープン能力リスト(open capability list)を有しても良い。初期化/肯定応答(initialization(INIT)/acknowledge(ACK))フィールド1610、肯定応答/要求(acknowledge(ACK)/request)フィールド1612、予約(reserve)フィールド1614、及び動作(action)フィールド1616も標準化されている。この標準は、BGPオープン能力をオープン能力フィールド1608に含めることもできる。当業者は、フィールド長を知っており、標準内のフィールドを使用する。参加/離脱オープン能力リスト1608は、参加/離脱能力タイプ(Join/Leave Cap type)1618、参加/離脱長(Join/Leave length)1620、可変長の能力値(cap value)フィールド1622を有しても良い。可変長の能力値フィールド1622は、タプル内の参加/離脱フラグ(Join/Leave Flag)1630のための特定のフラグを用いる能力のバージョン0を符号化するために用いられても良い。1630内の参加/離脱VPN動的能力のバージョン0符号化は、
図5のフィールド536に示したオープン能力符号化に一致する。フィールド1624、1626、1628、1629、1630、1632、1634、1636、1638、1640、1642、1644、1646、1648、及び1650は、526、528、532、534、536、538、540、544、546、548、550、552、554、556、及び558と実質的に同じであっても良い。
【0066】
図17は、可変長の能力値フィールド1700の別の例示的な実施形態の概略図である。可変長の能力値フィールド1700は、フラグバージョン(flag version)フィールド1736がバージョン0の代わりにバージョン1であるので異なるフラグバイトフィールド1702を要求することを除いて、可変長の能力値フィールド1622と同様であっても良い。フラグバイトフィールド1702は、All AFI/SAFIフィールド1716、参加/離脱フィールド1718、応答/要求(response/request)フィールド1720、受理/拒否(accept/reject)1722、バージョン/セキュリティハイ(version/security high)フィールド1724、バージョン/セキュリティロー(theversion/security low)1726、BWサポート(BW support)1728、及びQoSサポート(QoS support)1730を有する。参加/離脱VPN能力フォーマットバージョン1は、参加/離脱VPN情報を渡すために用いられても良い。フィールド1732、1734、1736、1738、1714、1702、1704及び1706は、それぞれフィールド1618、1620、1624、1626、1628、1630、1632及び1634と同じであっても良い。フィールド1716、1718、1720、1722、1724、1726、1728及び1730は、それぞれフィールド1028、1030、1032、1034、1036、1038、1040及び1042と同じであっても良い。当業者は、動的能力が参加/離脱能力を動的に設定すること、及び参加/離脱能力シーケンス番号を用いて順序を決定することを知っている。さらに、動的参加/離脱能力設定及び動的能力の中の参加/離脱シグナリングの利用は、空間使用を最小化できる。動的順序付けは、これらの要求のための順序付けを提供する。
【0067】
図18は、動的能力を用いる2つのBGPピア1802間のBGPメッセージ交換の例示的な実施形態の概略図である。BGPピア1802は、BGPピア602と実質的に同じ構成要素である。
図18に示す動的能力は、参加/離脱VPN機能及び特徴を設定するためにバージョン0符号化を用いても良い。BGPピア1 602は、BGPメッセージヘッダ(BGP Message header)1602、その後の第1のオクテット(1st octet)1604、シーケンス番号(Seq.#)フィールド1606、及びオープン能力リスト(Open Capability list)フィールド1608を有するBGP動的能力メッセージ1600aを送信しても良い。第1のオクテットフィールド1604は、動作追加(action Add)能力1616、及びフラグが設定されると肯定応答を要求し得るACK/要求(ACK/request)フィールド1612を有しても良い。オープン能力リストフィールド1608は、参加/離脱動的能力タイプ(Join/Leave Capability)1618、参加/離脱動的長(Join/Leave Capability length)フィールド1620、ゼロ符号化(つまり、バージョン0)を有する能力値(Capability value)1622を有しても良い。INT/ACTフィールド1610及び予約(reserve)フィールド1614は、第1のオクテットフィールド1604内にあっても良い。
【0068】
BGPピア1 1802がBGP動的能力メッセージ1600aをBGPピア2 1802に送信するとき、BGPピア1 1802は、オープン能力リスト1608内で参加/離脱VPN情報を交換したいことを示す。BGP動的能力メッセージ1600は、BGPオープンメッセージ内で無視された能力の一部又は全部を含んでも良い。ローカルポリシに基づき、BGPピア2 1802は、参加/離脱VPN特徴を交換するために用いられるべきBGP能力を積極的に承認しても良い。このような場合、BGPピア2 1802は、BGPピア1により送信されたBGP動的能力メッセージ1600aからのバージョン0符号化を用いて能力フィールド1618、1620、1622内で同じ値を反映する第2のBGP動的能力メッセージ1600bを送信しても良い。バージョン0での能力値1622の符号化は、拡張コミュニティ属性、動的能力属性、参加/離脱任意通過属性、状態メッセージ、経路リフレッシュ、BWプロファイル及びQoSプロファイルを有する参加/離脱VPN情報を交換しても良い。BGPピア2 1602は、BW情報及びQoS情報を用いて、拡張コミュニティ内の情報、動的能力、任意通過属性、状態メッセージ、及び経路リフレッシュを渡すことにより参加/離脱VPNに能力を追加することを決定しても良い。
【0069】
当業者は、動作フィールド1616を用いてBGP能力を追加/削除するために、拡張が特徴を用いることを知っている。動作フィールド1616が「追加」機能(function)に設定されるとき、後のシーケンス番号の併合(merger)がBGP能力を更新するために用いられても良い。追加特徴は、2つのBGPピアに、バージョン0で送信されたオープン能力の変化を無視させることができる。動作フィールド161が「削除」機能(function)に設定されるとき、動的能力は、最後の更新の中のシーケンス番号にリンク付けされた全ての能力を削除しても良い。
【0070】
BGPピア間での交信中に用いられるBGP動的能力メッセージ1600の別の実施形態は、バージョン1フォーマットであって良い。BGPピア1 1802は、BGP動的能力ヘッダ(BGP Dynamic Capability header)1602、第1のオクテット(1st octet)1604、シーケンス番号(Seq.#)1606、及びオープン能力リスト(Open Capability list)1608を有するBGP動的能力メッセージ1600によりVPNの追加を伝達しても良い。オープン能力リスト1608は、参加/離脱能力タイプ(Join/Leave Capability type)1618、参加/離脱長(Join/Leave length)1620、及び参加/離脱値(Join/Leave value)1622を用いる参加/離脱VPN情報を有しても良い。例えば、参加/離脱VPN情報は、参加/離脱能力のタイプ、8オクテット長を必要とする長さ、1のフラグバージョン、1の数、フラグワードを有するタプル、IPv4のAFI、及びユニキャストのSAFIを有しても良い。フラグワードは、AFI/SAFI=0、要求、受理、バージョン1、BWサポート無し、QoSサポート無しを有しても良く、AFIはIPv4に等しくても良く、SAFIはユニキャストに等しくても良い。動的能力ヘッダは、0のINIT値、1のACK値、1の追加動作、及び0x0011のシーケンスを有しても良い。
【0071】
BGPピア2 1602は、BGPピア1 1602から受信したBGP動的能力メッセージ1600aと類似したBGP動的能力メッセージ1600bで応答しても良い。例えば、動的能力ヘッダ1602は、1のINITI値、1のACK値、0の動作追加値、及び0x0011のシーケンス値を有しても良い。参加/離脱VPN能力は、タイプ参加/離脱VPN能力のヘッダ、8オクテット長を必要とする長さ、1のフラグバージョン、1の数、フラグワードを有するタプル、IPv4のAFI、及びユニキャストのSAFIを有しても良い。フラグワードは、の値が0に等しく、Join、応答、受理、バージョン1、BWプロファイル無し、QoSプロファイル無しであり得ることを示しても良い。
【0072】
上述のように、動的能力メッセージは、フォームバージョン0を用いて参加/離脱VPN情報を渡すBGP能力を追加、削除、及び更新でき、バージョン1を用いる動的能力メッセージ内の参加/離脱能力を用いて参加/離脱VPNを伝達する。動的能力の二重の使用は、シグナリングメカニズムに順序付けを提供し、設備を更新する。
【0073】
図19は、参加/離脱BGP情報を渡すために用いられる状態メッセージ1900及び1908の例示的な実施形態の概略図である。
図19は、BGPアドバイス状態メッセージ1900内の及びBGP運用状態メッセージ1908内の参加/離脱VPN情報の符号化を図示する。2つの状態メッセージ1900、1908は、スペースにより区切られたASCII(American Standard Code for Information Interchange)文字を用いても良い。1900内のBGPアドバイスは、アドバイスBGPメッセージヘッダ(Advisory BGP message header)1902、2オクテット長を必要とし且つ状態通過では0x01に設定されるサブタイプ(sub-type)フィールド1904、及び4オクテット長を必要とする参加/離脱VPN情報の状態情報フィールド(Join/Leave VPN status information field)1904を有しても良い。状態情報フィールド1904は、帯域幅プロファイルリスト1942を有する状態情報フィールド1916内にある状態情報、及びQoSプロファイルリスト1944を有しても良い。
【0074】
BGP運用メッセージ1908は、運用BGPメッセージタイプ(Operational BGP Message type)1910、2オクテット長を必要とするタイプ(type)フィールド1912、2オクテット長を必要とする長さ(length)フィールド1914、参加/離脱VPN情報を含む状態情報(Join/Leave VPN status information)フィールド1916を有しても良い。
図19は、フィールド1918、1920、1922、1924、1926、1930、1932、1934、1938、1942、1946、1947、1948、1950、1952、1954、1956、1958、1960、1962、1964、1966、1968が長さ「vs」で示されることを示す。長さ「vs」は、フィールドがスペースにより区切られる適切なASCIIキャラクタで符号化されても良いことを示す。フラグフィールド1928は、
図15に示したフラグフィールド1538と同様に1のオクテットビット値が用いられる場合に、2オクテット長を必要とする。状態メッセージ符号化方法に依存して、追加オクテットは、送信変換(TX)又は未変換(NX)であっても良い。任意通過属性のためのBGP Updateメッセージ処理は、状態メッセージ通過方法を提供し、BGP動的能力転送は、要求/応答方法を提供する。
【0075】
参加/離脱VPN情報のための状態情報フィールド1916は、
図15に示したフィールド1918、1920、1922、1924、1926、1928、1930、1932、1934、1936、1940、1944と実質的に同じであり、これらのフィールドは、フィールド1526、1528、1532、1534、1536、1538、1540、1542、1544、1546、1550、1554と実質的に同じフォーマットである。同様に、BWプロファイルフィールド1942の拡張は、
図15に示した任意通過属性内のBWプロファイル1522と実質的に同じ拡張であっても良い。したがって、1958、1960、1962、1964、1966、1968内のフィールドは、1554、1556、1558、1560、1562、1564内のフィールドと実質的に同じである。QoSプロファイル1946内のフィールドは、BGP参加/離脱任意属性のためのQoSプロファイル1562内のフィールドと実質的に同じである。その結果、フィールド1947、1948、1950、1952、1954、1956は、
図15のフィールド1568、1570、1572、1574、1576、1578と実質的に同じである。当業者は、BGP参加/離脱VPN属性の中で送信される参加/離脱VPN情報の同じ拡張形式を送信する能力が、ネットワークの部分をブリッジできるようにするために重要であり、BGP任意通過属性及び状態メッセージの混合を支援することを知っている。
【0076】
BGP経路リフレッシュメッセージ2010は、サブタイプ(sub-type)0の参加/離脱ORF2020を用いて符号化されても良い。サブタイプ符号化は、参加/離脱VPN任意通過グループ1524と等価なORFタイプ値(ORF type value)2035を生成しても良い。
図20は、ヘッダ(header)2011、長さ(length)2012、経路リフレッシュ(Route Refresh)フィールド(AFIフィールド2014、予約(Reserved)フィールド2015、SAFIフィールド2016)、及び参加/離脱ORFのためのORFフィールド2020を有する経路リフレッシュメッセージを示す。参加/離脱ORFフィールド2020は、リフレッシュするとき(when to refresh)2022、タイプ(type)フィールド2024、2オクテット長を必要とするORFエントリ長(length of ORF entries)2026、シーケンス番号(Seq.#)2031、及びORFエントリ(ORF entries)2030を有する。各ORFエントリ2033は、それぞれ、1オクテット長を必要とするORF動作一致タイプ(ORF Action-Match-Type(AMT))2034、及びORFタイプ値(ORF type value)2035を有しても良い。ORFタイプ値2035は、参加/離脱情報のID2051、長さ(length)フィールド2052、グループID(Group ID)2046、ゲートウェイリスト(Gateway list)2040、プロファイルリスト(profile list)2042、及びQoSリスト(QoS list)2044を有する。これらのフィールドは、
図15のフィールド1526、1528、1530、1546、1550、1565と実質的に同じであっても良い。参加/離脱BWプロファイル(Join/Leave BW profile)2070は、
図15のBWプロファイル1552と実質的に同じであっても良い。参加/離脱BWプロファイル2070内のフィールド2082、2083、28084、2085、2086、2088は、1554、1556、1558、1560、1562、1564と実質的に同じであっても良い。参加/離脱QoSプロファイル(Join/Leave QoS profile)2072は、QoSプロファイル1566と実質的に同じであっても良い。参加/離脱QoSプロファイル2072内のフィールド2091、2092、2093、2094、2095、2096は、1568、1570、1572、1574、1576、1578と実質的に同じであっても良い。
【0077】
図21は、BGP経路リフレッシュメッセージ2000のORFフィールド内に参加/離脱VPN情報を符号化する別の例示的な実施形態の概略図である。BGP経路リフレッシュメッセージ2000は、バージョン1符号化を用いても良い。シーケンスフィールド2032は、BGP経路リフレッシュメッセージ2000では1に設定されても良く、一方で、BGP経路リフレッシュメッセージ2010のサブタイプ2031は
図20に示すように0に設定されても良い。BGP経路リフレッシュメッセージは、拡張コミュニティ参加/離脱情報(Extended Communities Join/Leave Information)2102を用いてORFタイプ値2035を符号化しても良い。拡張コミュニティ参加/離脱情報2102は、拡張コミュニティ参加/離脱VPNフィールド1014と実質的に同じである。フラグ(flag)バイトフィールド2156は、
図10のフラグバイトフィールド1026と実質的に同じであっても良い。
【0078】
BGP経路リフレッシュメッセージ2000は、BGP経路リフレッシュメッセージタイプ(BGP Route Refresh Message type)2011、長さ(length)フィールド2012、AFIフィールド2014、予約(Reserve)フィールド2015、SAFI2016、リフレッシュするとき(When to Refresh)フィールド2022、ORFタイプ参加/離脱VPN(ORF Type Join/leave VPN)2024、ORFエントリ長(Length of ORF Entries)フィールド2031、ORFエントリ(ORF Entries)フィールド2030を有しても良い。ORFエントリフィールド2030は、シーケンス番号(Seq.#)フィールド2031、J-Lサブタイプ(J-L sub-type)フィールド2032、及び複数のORFエントリ(ORF Entries)2033を有しても良い。各ORFエントリ2033は、それぞれ、1オクテット長を必要とするORF動作一致タイプ(ORF Action-Match-Type(AMT))2034、及びORFタイプ値(ORF type value)2035を有しても良い。ORFタイプ値は、拡張コミュニティ参加/離脱フィールド2102を用いて符号化されても良い。フィールド2151、2152、2153、2154、2155、2156、2161、2162、2163、2164、2165、2166、2167、2168は、
図10のフィールド1016、1018、1020、1022、1024、1026、1028、1030、1032、1034、1036、1038、1040、1042と実質的に同じであっても良い。
【0079】
図20,21は、BGP経路リフレッシュメッセージの異なる実施形態を示す。BGP経路リフレッシュメッセージは、参加/離脱VPN情報通過の異なるサポートレベルを有するBGPピアの異種集合に渡り、参加/離脱情報の符号化を転送しても良い。例えば、BGPピアは、BGPピアのうちの一部のみが拡張コミュニティを用いた参加/離脱VPN情報通過、BGP参加/離脱属性のサポート、動的能力によるBGP参加/離脱情報通過、アドバイス状態メッセージによるBGP参加/離脱VPN情報通過、又は経路リフレッシュサービスによるBGP参加/離脱VPN情報通過をサポートし得るように、設定されても良い。異なる能力のための複数の実施形態を提供することにより、参加/離脱情報は、参加/離脱VPN自動インバウンドシグナリングをサポートする全てのBGPピアに渡されても良い。
【0080】
経路リフレッシュプロセスは、フィルタリングのための幾つかの種類のORFポリシを送信しても良い。参加/離脱ORFプロセスは、フィルタリングを有し得るポリシの自動設定を提供するために、VPN情報を送信しても良い。経路リフレッシュORFプロセスは、機能の追加、削除、及び全ての削除を可能にし得る。経路リフレッシュ追加機能(Route Refresh Add function)は、参加/離脱VPNのJoin機能を実行するために用いられても良く、削除機能(Remove function)は、参加/離脱VPNの離脱機能を実行するために用いられても良い。
図20の参加/離脱VPNフラグバイトフィールド2060及びフラグバイトフィールド2156を有するシグナリングは、参加/離脱機能を伝達しても良い。
【0081】
図22は、VPNに参加するために経路リフレッシュ及びORFフィルタ相互作用を用いるBGPメッセージ交換2200の例示的な実施形態の概略図である。BGPピア2201は、BGPピア602と実質的に同じであっても良い。BGPピア1 2201は、参加/離脱VPN情報の経路リフレッシュ通過中にBGPピア2 2201とBGP経路リフレッシュメッセージ2000(例えば、要求)を交換しても良い。BGP経路リフレッシュメッセージ2000は、ここでは経路リフレッシュプロセス内のVPN Blue-boyとして示す、データセンタID(DC ID):0x01020304及びセキュリティID(Security ID):0x0001002の識別されたVPNに参加するために情報を含んでも良い。BGPピア1 2201は、vDCに結合されるCEとして動作しても良く、BGP経路リフレッシュメッセージ2000aを介して参加/離脱VPN情報インバウンドをBGPピア2 2201へ送信しても良い。ここで、BGPピア2 2201は、VPN Blue-boyに参加するBGPピア1の要求を伝達するためにPEとして動作しても良い。BGPピア2 2201は、VPN Blue-boyのための帯域幅プロファイル1及びQoSプロファイル3で、IPv4/ユニキャストプレフィックス200.15/16からのネットワーク及びホスト経路を受理するよう構成されても良い。次に、BGPピア2 2201は、BGPピア1 2201のVPN Blue-boyに参加する要求を受理し、VPN Blue-boyに参加する要求を受理するために経路リフレッシュメッセージ2000bを返送し、直ちに経路を送信するよう依頼しても良い。
【0082】
次に、BGPピア1 2201は、経路リフレッシュメッセージ2000bを処理し、続いて、VPN Blue-boy内で配信されるBGP Updateメッセージ2202a内で経路200.15.21.1/32及び200.15.21.128/25を送信しても良い。BGPピア1 2201は、自身のVPN Blue-boyの自動設定を完了しても良く、VPN Blue-boyについてのローカルポリシがBGP Updateメッセージ2202を用いてBGPピア2へ送信されるプレフィックス200.15.1/2に対する拒否フィルタを要求すると決定しても良い。さらに、BGPピア1 2201は、経路リフレッシュ要求としてBGPピア2向けの第3のBGP経路リフレッシュメッセージ2000cを用いて経路リフレッシュアドレスプレフィックスORFにより拒否フィルタを送信しても良い。第3のBGP経路リフレッシュメッセージ2000cは、200.15.1/24をフィルタしても良い。経路リフレッシュを受信すると、BGPピア2 2201は、既に200.15.1/24の拒否フィルタが存在しない限り200.15.1/24をフィルタリングするBGP Updateメッセージ2202bを送信しても良い。経路リフレッシュ周期は、参加したVPN Blue-boyの自動設定が完了するまで、インバウンドシグナリングにより経路フローを停止しても良い。経路200.15.1/25の拒否は、PEがCEにこの経路を送信しないことを保証する。
【0083】
図22のプロセスは、VPNに参加するとき、3つの経路200.15.2.1/32、200.15.128/25、及び200.15/16を追加しても良い。プレフィックス200.15/16のようなプレフィックスは、帯域幅プロファイル及びQoSプロファイルに関連する参加/離脱VPN情報と共に渡されても良い。伝達されるプレフィックスは、BGPピア1 2201及びBGPピア2 2201により、VPN Blue-boy主ネットワークプレフィックスとして用いられても良い。
【0084】
図23は、VPNをLeaveするために経路リフレッシュ及びORFフィルタ相互作用を用いるBGPメッセージ交換2300の別の例示的な実施形態の概略図である。、BGPピア1 2201は、VPN Blue-boyを離脱する要求を有する参加/離脱VPN ORFを有するシーケンス20と共に経路リフレッシュメッセージ2000aをBGPピア2 2201へ送信しても良い。BGPピア2 2201は、VPN Blue-boyのための経路リフレッシュメッセージ2000aを受信しても良く、参加/離脱VPN ORFを有する経路リフレッシュメッセージ2000bをBGPピア1 2201へ返送し、経路リフレッシュにより必要とされる経路を直ちに送信するよう要求しても良い。BGPピア1 2201は、IPv4/UNI SAFIのための経路200.15.2.1/32及び200.15.1.28/25及び200.15/16の削除を有するBGP Updateメッセージ2302を送信することにより応答する。BGPピア1 2201は、処理を続けても良く、VPN Blue-boyポリシがBGPピア2への200.15.1/24の拒否フィルタを必要とし得ると決定する。このフィルタを削除するために、BGPピア1 2201は、21のシーケンスを符号化しフィルタを削除するためにアドレスプレフィックスORF(Address Prefix ORF)を含む第2の別の経路リフレッシュメッセージ2000cをBGPピア2 2201へ送信しても良い。BGPピア1 2201は、BGPピア2 2201がORFフィルタがブロックした経路を送信できるよう、経路リフレッシュメッセージ2000c内の即時(Immediate)フラグを設定しても良い。BGPピア2 2201は、このような経路フィルタを見付けると、NLRI200.15.1/24を有するBGP Updateメッセージ2302bを送信しても良い。当業者は、フィルタリング及び
図22、23について議論した経路リフレッシュプロセスを実装するために必要なフラグを知っている。
【0085】
図23で、BGPピア1 2201がVPN Blue-boyをドロップした後、BGPピア1 2201は、200.15.2.1/32、200.15.128/25及び200.15/16の削除を送信しても良い。プレフィックスは、BWプロファイル及びQoSプロファイルを有するVPNのために符号化され、参加/離脱情報の中の参加/離脱VPNの全ての必要な部分を結合しても良い。
【0086】
経路リフレッシュ参加/離脱VPN ORFは、要求に応答する参加/離脱ORF VPNの中のシーケンス番号を反映しても良い。例えば、
図22で、BGPピア1 2201により送信される経路リフレッシュ参加要求は、値0x0010を有するシーケンス番号を含む参加/離脱ORFを送信しても良い。BGPピア2 2201は、値0x0010を有するシーケンス番号を含む参加/離脱ORFを送信しても良い。これは、参加−要求−受理が参加−応答−受理に一致することを確信を提供する。
図23も、経路リフレッシュ離脱要求のシーケンス番号を反映しても良い。経路リフレッシュは、シーケンス番号0x0020、並びに離脱、要求、受理の参加/離脱フラグを有し符号化された参加/離脱VPN ORFをBGPピア1 2201により送信させても良い。BGPピア2 2201は、シーケンス番号0x0020、並びにLeave、応答、受理の参加/離脱フラグを有する参加/離脱VPN ORFを有する経路リフレッシュメッセージを返送しても良い。
【0087】
図24は、サーバ、スイッチ、ルータ又は他のネットワークノードのような、本願明細書に記載のネットワーク構成要素に対応し又はその部分であっても良い標準的な汎用ネットワーク構成要素2400を示す。ネットワーク構成要素2400は、2次記憶2404、ROM(read only memory)2406、RAM(random access memory)2408を含むメモリ装置と通信するプロセッサ2402(中央演算装置(CPU)としても参照され得る)、送信機及び受信機のような入出力(I/O)装置2410、及びネットワーク接続装置2412を有する。汎用ネットワーク構成要素2400は、プロセッサ2402において、汎用ネットワーク構成要素2400の任意の他の構成要素を有しても良い。
【0088】
プロセッサ2402は、1又は複数のCPUチップとして実装されても良く、又は1又は複数のASIC(application specific integrated circuit)及び/又はDSP(digital signal processor)の部分であっても良い。プロセッサ2402は、中央処理装置又はCPUを有しても良い。プロセッサは、1又は複数のCPUチップとして実装されても良い。2次記憶2404は、通常、1又は複数のディスクドライブ又はテープドライブを有しても良く、RAM2408が全ての作業データを保持するのに十分大きくない場合にデータの不揮発性記憶のために及びオーバフローデータ記憶装置として用いられる。2次記憶2404は、プログラムが実行のために選択されると、RAMにロードされる該プログラムを格納するために用いられても良い。ROM2406は、プログラム実行中にリードされる命令及び場合によってはデータを格納するために用いられる。ROM2406は、通常、2次記憶2404のより大きなメモリ容量に対して小さなメモリ容量を有する不揮発性メモリ装置である。RAM2408は、不揮発性データを格納するため、及び場合によっては命令を格納するために用いられる。ROM2406及びRAM2408の両方へのアクセスは、通常、2次記憶2404へのアクセスよりも速い。
【0089】
少なくとも1つの実施形態が開示され、当業者により行われる該実施形態の及び/又は該実施形態の特徴の変形、結合及び/又は変更は、本開示の範囲内に包含される。実施形態の特徴の結合、統合及び/又は省略から生じる代替の実施形態も、本開示の範囲内に包含される。数値範囲又は限界が明示される場合、そのような範囲又は限界の表現は、明示した範囲又は限界に包含される大きさのような反復範囲又は限界を含む(例えば、約1から約10は2、3、4等を含み、0.10より大きいは0.11、0.12、0.13等を含む)ことが理解されるべきである。例えば、下限R
l及び上限R
uを有する数値範囲が議論されるときは、その範囲内に含まれる任意の数が詳細に開示される。特に、その範囲内の以下の数が詳細に開示される。R=R
l+k*(R
u-R
l)、ここで、kは1パーセント乃至100パーセントの範囲の1パーセントずつ増加する変数であり、つまりkは1パーセント、2パーセント、3パーセント、4パーセント、5パーセント、...、70パーセント、71パーセント、72パーセント、...、95パーセント、96パーセント、97パーセント、98パーセント、99パーセント、又は100パーセントである。さらに、上述のように2つのRの数により定められる数値範囲が詳細に開示される。用語「約」の使用は、特に断りのない限り、連続する数の±10%を意味する。請求項の要素に関する用語「任意」の使用は、該要素が必要であり又は代替であること、該要素が必要でないこと、の両方の代替が請求の範囲に含まれることを意味する。有する、含む(comprises、includes、having)のような広義の用語の使用は、〜から成る、原則的に〜から構成される、実質的に〜から成る(consisting of、consisting essentially of、comprised substantially of)のような狭義の用語の支持を提供すると理解されるべきである。したがって、保護範囲は、上述の説明により限定されず、添付の請求の範囲により定められ、該請求の範囲は、請求項の主題の全ての等価物を含む。ありとあらゆる請求項は、更なる開示として本願明細書に組み込まれ、請求項は本開示の実施形態である。本開示における参考文献、特に本願の優先日後の発行日を有する参照文献の議論は、それが従来技術であることを承認するものではない。本開示で引用された全ての特許、特許出願、及び刊行物の開示は、参照することにより本願明細書に組み込まれ、それらは例示、手続き又は他の詳細な補足を本開示に提供する。
【0090】
幾つかの実施形態が本開示で提供されたが、開示のシステム及び方法は、本開示の精神又は範囲から逸脱することなく、多くの他の特定の形式で実施されても良いことが理解される。本例は、説明として考えられるべきであり、制限であると考えられるべきではない。また、意図は、ここに与えた詳細事項に限定されない。例えば、種々の要素又は構成要素は、別のシステムに結合され又は統合されても良い。或いは、特定の特徴が省略され又は実装されなくても良い。
【0091】
さらに、種々の実施形態で分散又は別個として記載され図示された技術、システム、サブシステム、及び方法は、本開示の範囲から逸脱することなく、他のシステム、モジュール、技術又は方法に結合され又は統合されても良い。互いに結合され又は直接結合され又は通信するとして示され又は議論された他のアイテムは、電気的に、機械的に又は他の方法かに関わらず、特定のインタフェース、装置又は中間構成要素を通じて間接的に結合され又は通信しても良い。変更、置換及び代替の他の例は、当業者により解明でき、ここに開示の精神及び範囲から逸脱することなく行われ得る。
【0092】
[関連出願の参照]
本願は、米国仮特許出願番号第61/555370号、出願日2011年11月3日、Susan Hares他、名称「Border Gateway Protocol Extension for the Host Joining/Leaving a Virtual Private Network」の優先権を主張する。該特許出願は、参照されることにより、その全体が記載されているものとして本願明細書に組み込まれる。