(57)【要約】      （修正有）【課題】ＳＤＮに関し、ＡＲＰのトラフィックを削減しフレキシビリティを維持しながらコントローラーと転送要素間の対話を削減する。【解決手段】アドレス解決プロトコル（ＡＲＰ）などのエンドホスト制御プロトコル群（ＥＣＰ）のパケット処理ルール群が複数の転送要素（ＦＥ）に設定されており、ＥＣＰ要求（ＥＣＰＲＱ）がＦＥにより受信され、かつコントローラーにより処理されていない場合はコントローラーに提供され、ＥＣＰ応答に対応付け情報が提供されている場合、該対応付け情報に基づく転送情報に対応付けられた前記ＥＣＰＲＱから抽出された情報に基づいて受信したＦＥにより計算される。ＥＣＰＲＱがコントローラーにより処理されている場合、転送情報に従って転送される。ＥＣＰ応答（ＥＣＰＲ）がＦＥにより受信されると転送情報に従って転送され、前記受信したＦＥがエッジＦＥである場合ＥＣＰＲはコントローラーに提供される。【選択図】図１
2020114024.tif 000002
【特許請求の範囲】
【請求項１】
互いに接続された複数の転送要素（ＦＥ）と前記複数のＦＥの１つ又は複数に接続された１つ又は複数のエンドホスト（ＥＨ）と前記複数のＦＥを制御するコントローラーとを含むネットワークを制御する方法であって、
アドレス解決プロトコル（ＡＲＰ）などのエンドホスト制御プロトコル群（ＥＣＰ）のパケット処理ルール群が前記複数のＦＥに設定されており、
ａ）ＥＣＰ要求（ＥＣＰＲＱ）がＦＥにより受信され、かつ
ａ１）前記ＥＣＰＲＱが前記コントローラーにより処理されていない場合、前記ＥＣＰＲＱは前記コントローラーに提供され、ＥＣＰ応答が、対応付け情報が提供されている場合該対応付け情報に基づく転送情報に対応付けられた前記ＥＣＰＲＱから抽出された情報に基づいて前記受信したＦＥにより計算され、
ａ２）前記ＥＣＰＲＱが前記コントローラーにより処理されている場合、前記ＥＣＰＲＱは前記ＥＣＰＲＱの転送情報に従って転送され、
ｂ）ＥＣＰ応答（ＥＣＰＲ）がＦＥにより受信されると前記ＥＣＰＲは転送情報に従って転送され、前記受信したＦＥがエッジＦＥである場合前記ＥＣＰＲは前記コントローラーに提供され、
ｃ）各ＥＨのネットワーク位置、プロトコルネットワーク位置、及びネットワーク接続情報を含むＥＣＰデータベースが前記コントローラーにより保持及び更新され、前記ＥＣＰデータベースの中の特定の状態の少なくとも一部が前記複数のＦＥのいくつかに設定されている、方法。
【請求項２】
前記ネットワークのトポロジーが検出され、転送情報が演算され転送ツリーの形で提供される、請求項１に記載の方法。
【請求項３】
ＥＣＰＲＱが前記コントローラーにより処理されたかどうかを判断するために、前記抽出された情報がブロードキャストアドレスなどのブロードキャスト情報に相当するかどうかを確認する、請求項１及び２のいずれかに記載に方法。
【請求項４】
前記ＥＣＰデータベースの中の１つ又は複数の状態が一定期間後削除される、請求項１〜３のいずれかに記載に方法。
【請求項５】
前記ＥＣＰデータベースの中の状態が前記エッジＦＥのいくつかに対してのみ設定される、請求項１〜４のいずれかに記載の方法。
【請求項６】
前記ＥＣＰデータベースの中のＥＨの前記状態は、該ＥＨのＥＣＰＲＱが受信されたエッジＦＥにのみ設定される、請求項５に記載の方法。
【請求項７】
ＦＥに設定された状態の設定情報が前記ＥＣＰデータベースに保存されている、請求項１〜６のいずれかに記載の方法。
【請求項８】
前記ネットワークの例外状況の場合、ＥＣＰＲＱ及び／又はＥＣＰＲの前記コントローラーへの送信を省略しながらより優先度の高いルールが前記複数のＦＥの１つ又は複数に設定される、請求項１〜７のいずれかに記載の方法。
【請求項９】
前記より優先度の高いルールはハードタイムアウトを備える、請求項８に記載の方法。
【請求項１０】
ＦＥに設定される各状態が前記複数のＦＥにプッシュされる、請求項１〜９のいずれかに記載の方法。
【請求項１１】
互いに接続された複数の転送要素（ＦＥ）と前記複数のＦＥの１つ又は複数に接続された１つ又は複数のエンドホスト（ＥＨ）とを含むネットワークを制御するコントローラーであって、
アドレス解決プロトコル（ＡＲＰ）などのエンドホスト制御プロトコル群（ＥＣＰ）のパケット処理ルール群が前記ＦＥに設定されており、
前記コントローラーは
Ａ）前記コントローラーにより処理されていないＥＣＰ要求（ＥＣＰＲＱ）をＦＥから受信し、
Ｂ）エッジＦＥであるＦＥからＥＣＰ応答（ＥＣＰＲ）を受信し、
Ｃ）各ＥＨのネットワーク位置、プロトコルネットワーク位置、及びネットワーク接続情報を含むＥＣＰデータベースを保持及び更新し、
Ｄ）前記ＥＣＰデータベースの中の特定の状態の少なくとも一部を前記複数のＦＥのいくつかに設定する、ように構成された、コントローラー。
【請求項１２】
互いに接続された複数の転送要素（ＦＥ）と前記複数のＦＥに接続された１つ又は複数のエンドホスト（ＥＨ）とを含むネットワークのコントローラーにより制御される転送要素（ＦＥ）であって、
アドレス解決プロトコル（ＡＲＰ）などのエンドホスト制御プロトコル群（ＥＣＰ）のパケット処理ルール群が前記複数のＦＥに設定されており、
前記ＦＥは
Ａ１）ＥＣＰ要求（ＥＣＰＲＱ）を受信し、該ＥＣＰＲＱが前記コントローラーにより処理されていない場合、前記ＥＣＰＲＱを前記コントローラーに提供し、
Ｂ１）対応付け情報が提供されている場合該対応付け情報に基づく転送情報に対応付けられた前記ＥＣＰＲＱから抽出された情報に基づいてＥＣＰ応答を計算し、
Ｃ１）前記ＥＣＰＲＱが前記コントローラーにより処理されている場合、前記ＥＣＰＲＱを前記ＥＣＰＲＱの転送情報に従って転送し、
Ｄ１）ＥＣＰ応答（ＥＣＰＲ）を受信し、該ＥＣＰＲを転送情報に従って転送し、前記ＦＥがエッジＦＥである場合、前記ＥＣＰＲを前記コントローラーに提供する、ように構成されたＦＥ。
【請求項１３】
請求項１２に記載の複数の転送要素（ＦＥ）と、前記複数のＦＥの１つ又は複数に接続された１つ又は複数のエンドホスト（ＥＨ）と、請求項１１に記載のコントローラーとを含むネットワーク。
【請求項１４】
互いに接続された複数の転送要素（ＦＥ）と前記複数のＦＥの１つ又は複数に接続された１つ又は複数のエンドホスト（ＥＨ）と前記複数のＦＥを制御するコントローラーとを含むネットワークを制御する方法をコンピュータに実行させるプログラムを記憶する非一時的コンピュータ可読媒体であって、
アドレス解決プロトコル（ＡＲＰ）などのエンドホスト制御プロトコル群（ＥＣＰ）のパケット処理ルール群が前記複数のＦＥに設定されており、
ａ）ＥＣＰ要求（ＥＣＰＲＱ）がＦＥにより受信され、かつ
ａ１）前記ＥＣＰＲＱが前記コントローラーにより処理されていない場合、前記ＥＣＰＲＱは前記コントローラーに提供され、ＥＣＰ応答が、対応付け情報が提供されている場合該対応付け情報に基づく転送情報に対応付けられた前記ＥＣＰＲＱから抽出された情報に基づいて前記受信したＦＥにより計算され、
ａ２）前記ＥＣＰＲＱが前記コントローラーにより処理されている場合、前記ＥＣＰＲＱは前記ＥＣＰＲＱの転送情報に従って転送され、
ｂ）ＥＣＰ応答（ＥＣＰＲ）がＦＥにより受信されると該ＥＣＰＲは転送情報に従って転送され、前記受信したＦＥがエッジＦＥである場合前記ＥＣＰＲは前記コントローラーに提供され、
ｃ）各ＥＨのネットワーク位置、プロトコルネットワーク位置、及びネットワーク接続情報を含むＥＣＰデータベースが前記コントローラーにより保持及び更新され、前記ＥＣＰデータベースの中の特定の状態の少なくとも一部が前記複数のＦＥのいくつかに設定されている、非一時的コンピュータ可読媒体。
【請求項１５】
互いに接続された複数の転送要素（ＦＥ）と前記複数のＦＥの１つ又は複数に接続された１つ又は複数のエンドホスト（ＥＨ）とを含むネットワークを制御するコントローラーを操作する方法をコンピュータに実行させるプログラムを記憶する非一時的コンピュータ可読媒体であって、
アドレス解決プロトコル（ＡＲＰ）などのエンドホスト制御プロトコル群（ＥＣＰ）のパケット処理ルール群が前記複数のＦＥに設定されており、
前記方法は
Ａ）前記コントローラーにより処理されていないＥＣＰ要求（ＥＣＰＲＱ）をＦＥから受信し、
Ｂ）エッジＦＥであるＦＥからＥＣＰ応答（ＥＣＰＲ）を受信し、
Ｃ）各ＥＨのネットワーク位置、プロトコルネットワーク位置、及びネットワーク接続情報を含むＥＣＰデータベースを保持及び更新し、
Ｄ）前記ＥＣＰデータベースの中の特定の状態の少なくとも一部を前記複数のＦＥのいくつかに設定することを含む、非一時的コンピュータ可読媒体。
【発明の詳細な説明】
【基礎出願の組み込み】
【０００１】
欧州特許出願EP 16 167 292. 8が参照することにより本明細書に組み込まれる。
【技術分野】
【０００２】
本発明は、互いに接続された複数の転送要素（ｆｏｒｗａｒｄｉｎｇ  ｅｌｅｍｅｎｔｓ：ＦＥ）と前記ＦＥの１つ又は複数に接続された１つ又は複数のエンドホスト（ｅｎｄ  ｈｏｓｔ：ＥＨ）と前記複数のＦＥを制御するコントローラーとを含むソフトウェアデファインドネットワークなどのネットワークを制御する方法であって、アドレス解決プロトコル（ａｄｄｒｅｓｓ  ｒｅｓｏｌｕｔｉｏｎ  ｐｒｏｔｏｃｏｌ：ＡＲＰ）などのエンドホストコントロールプロトコル群（ｅｎｄ−ｈｏｓｔ  ｃｏｎｔｒｏｌ  ｐｒｏｔｏｃｏｌｓ：ＥＣＰ）のためのパケット処理ルール群が前記複数のＦＥに設定されている方法に関する。
【０００３】
本発明は更に、互いに接続された複数の転送要素（ＦＥ）と前記複数のＦＥの１つ又は複数に接続された１つ又は複数のエンドホスト（ＥＨ）とを含むソフトウェアデファインドネットワークなどのネットワークを制御するコントローラーであって、アドレス解決プロトコル（ＡＲＰ）などのエンドホスト制御プロトコル群（ＥＣＰ）のパケット処理ルール群が前記複数のＦＥに設定されているコントローラーに関する。
【０００４】
本発明は更に、ソフトウェアデファインドネットワークなどのネットワークのコントローラーにより制御される転送要素（ＦＥ）であって、前記ネットワークは前記ＦＥ及び互いに接続された１つ又は複数のＦＥと前記ＦＥに接続された１つ又は複数のエンドホスト（ＥＨ）とを含み、アドレス解決プロトコル（ＡＲＰ）などのエンドホスト制御プロトコル群（ＥＣＰ）のパケット処理ルール群が前記ＦＥに設定されるＦＥに関する。
【０００５】
本発明は更に、複数の転送要素（ＦＥ）とコントローラー上で前記複数のＦＥの１つ又は複数に接続された１つ又は複数のエンドホストとを含むソフトウェアデファインドネットワークなどのネットワークに関する。
【０００６】
本発明は、コンピュータにソフトウェアデファインドネットワークなどのネットワークを制御する方法を実行させるプログラムを記憶する非一時的なコンピュータ可読媒体であって、前記ネットワークは互いに接続された複数の転送要素（ＦＥ）と前記複数のＦＥの１つ又は複数に接続された１つ又は複数のエンドホスト（ＥＨ）と前記複数のＦＥを制御するコントローラーとを含み、アドレス解決プロトコル（ａｄｄｒｅｓｓ  ｒｅｓｏｌｕｔｉｏｎ  ｐｒｏｔｏｃｏｌ：ＡＲＰ）などのエンドホスト制御プロトコル群（ｅｎｄ−ｈｏｓｔ  ｃｏｎｔｒｏｌ  ｐｒｏｔｏｃｏｌｓ：ＥＣＰ）のパケット処理ルール群が前記ＦＥに設定された媒体に関する。
【０００７】
本発明は更に、コンピュータにソフトウェアデファインドネットワークなどのネットワークを制御するコントローラーを操作する方法を実行させるプログラムを記憶する非一時的なコンピュータ可読媒体であって、互いに接続された複数の転送要素（ＦＥ）と前記複数のＦＥの１つ又は複数に接続された１つ又は複数のエンドホスト（ＥＨ）と前記複数のＦＥを制御するコントローラーとを含み、アドレス解決プロトコル（ＡＲＰ）などのエンドホスト制御プロトコル群（ＥＣＰ）のパケット処理ルール群が前記複数のＦＥに設定された媒体に関する。
【背景技術】
【０００８】
本発明はおおむねどのような種類のネットワークにも適用可能だが、本発明をソフトウェアデファインドネットワークとの関連で説明する。
【０００９】
本発明はネットワークのプロトコルスタックの異なるレベル間などの対応付けを行うおおむねどのような種類のエンドホスト及び／又はユーザー装置生成制御プロトコルにも適用可能だが、本発明をＲＦＣ  ８２６によるアドレス解決プロトコル（ＡＲＰ）との関連で説明する。
【００１０】
ソフトウェアデファインドネットワーク（ＳＤＮ）の主要な原則の１つは、パケットに対して何を行うか及びそれらをどこへ転送するかを判断する機能（判断機能、しばしばコントロールプレーンと呼ばれる）からパケットの処理及び転送機能（実行機能、しばしばデータプレーンと呼ばれる）を分離することである。第２の主要な原則は、制御機能を集中し、それらを、ＳＤＮスイッチ（ネットワーク要素）内にパケットの処理及び転送機能を設定するいわゆるＳＤＮコントローラー内に組み込むことである。
【００１１】
これが、制御と実行がネットワーク要素内でコロケートされ、各ネットワーク要素がパケットに対し何を実行しそれらをどこへ転送するかを決定する、周知の依然利用されている分散ネットワーク制御プロトコルとの違いである。
【発明の概要】
【発明が解決しようとする課題】
【００１２】
しかしながら、今日のＳＤＮに関わる問題の１つは、レガシーネットワークの要素のサポートが欠如していること、及び、集中及び分散制御方法などの異なる制御方法が一体になっていることである。レガシー制御プロトコルを扱う従来の方法は、それらをＳＤＮコントローラーに中継しＳＤＮコントローラーに以下のことをさせることである：
（１）レガシー制御パケットを検査し、
（２）そのデータベースを更新し、
（３）必要な変更を計算し、
（４）必要であれば、ＳＤＮスイッチを再設定し、
（５）最後に、インカミングコントロールトラフィックへ応答する。
【００１３】
しかしながら、これは“ルーティング”（ＢＧＰ、ＯＳＰＦなど）、ＤＮＳ、“マルチキャスト”などの低容量でネットワーク間の（ネットワークの境界を越えた）レガシー制御プロトコルにのみ該当する。それに比較して、ＡＲＰ（アドレス解決プロトコル、ＲＦＣ  ８２６）などのエンドホスト及びユーザー装置生成制御プロトコルは、多量のトラフィックを引き起こすのに加えサポートが必要であるため、効率的な処理が難しい。
【００１４】
ＷＯ  ２０１５／０００５１７  Ａ１には、スイッチ内での応答生成を設定して、レガシー制御パケット用などのパケットを要求するためのパケットテンプレートが示されている。ソフトウェアデファインドネットワークにおけるＡＲＰパケットの他の従来の処理例が、以下に開示されている：非特許文献Roberto Bifulco, Julien Boite, Mathieu Bouet, Fabian Schneider. Improving SDN with InSPired Switches, In proceedings ACM Symposium on SDN Research (SOSR), 2016及び非特許文献Hyunjeong Cho, Saehoon Kang and Younghee Lee, "Centralized ARP proxy server over SDN controller to cut down ARP broadcast in large-scale data center networks," 2015 International Conference on Information Networking (ICOIN), Cambodia, 2015, pp. 301-306. doi: 10.1109/ICOIN.2015.7057900（後者の文献では仮想マシンのインスタンス化とＳＤＮコントローラーとの間の相互作用が示され、ＡＲＰがＳＤＮコントローラー内にプロキシを介して実装される）。
【００１５】
本発明の実施形態により取り組まれる課題の１つは、ＡＲＰのトラフィックを削減しフレキシビリティを維持しながらコントローラーと転送要素間の対話を削減することである。
【課題を解決するための手段】
【００１６】
実施形態において、本発明は、互いに接続された複数の転送要素（ＦＥ）と前記複数のＦＥの１つ又は複数に接続された１つ又は複数のエンドホスト（ＥＨ）と前記複数のＦＥを制御するコントローラーとを含む基礎物理ネットワークに基づくソフトウェアデファインドネットワークなどの仮想ネットワークを制御する方法であって、アドレス解決プロトコル（ＡＲＰ）などのエンドホスト制御プロトコル群（ＥＣＰ）のパケット処理ルール群が前記複数のＦＥに設定されており、
ａ）ＥＣＰ要求（ＥＣＰＲＱ）がＦＥにより受信され、かつ
ａ１）前記ＥＣＰＲＱが前記コントローラーにより処理されていない場合、前記ＥＣＰＲＱは前記コントローラーに提供され、ＥＣＰ応答が、対応付け情報が提供されている場合該対応付け情報に基づく転送情報に対応付けられた前記ＥＣＰＲＱから抽出された情報に基づいて前記受信したＦＥにより計算され、
ａ２）前記ＥＣＰＲＱが前記コントローラーにより処理されている場合、前記ＥＣＰＲＱは前記ＥＣＰＲＱの転送情報に従って転送され、
ｂ）ＥＣＰ応答（ＥＣＰＲ）がＦＥにより受信されると前記ＥＣＰＲは転送情報に従って転送され、前記受信したＦＥがエッジＦＥである場合前記ＥＣＰＲは前記コントローラーに提供され、
ｃ）各ＥＨのネットワーク位置、プロトコルネットワーク位置、及びネットワーク接続情報を含むＥＣＰデータベースが前記コントローラーにより保持及び更新され、前記ＥＣＰデータベースの中の特定の状態の少なくとも一部が前記複数のＦＥのいくつかに設定されている、方法を提供する。
【００１７】
更なる実施形態において、本発明は、互いに接続された複数の転送要素（ＦＥ）と前記複数のＦＥの１つ又は複数に接続された１つ又は複数のエンドホスト（ＥＨ）とを含むネットワークを制御するコントローラーであって、
アドレス解決プロトコル（ＡＲＰ）などのエンドホスト制御プロトコル群（ＥＣＰ）のパケット処理ルール群が前記ＦＥに設定されており、
前記コントローラーは
Ａ）前記コントローラーにより処理されていないＥＣＰ要求（ＥＣＰＲＱ）をＦＥから受信し、
Ｂ）エッジＦＥであるＦＥからＥＣＰ応答（ＥＣＰＲ）を受信し、
Ｃ）各ＥＨのネットワーク位置、プロトコルネットワーク位置、及びネットワーク接続情報を含むＥＣＰデータベースを保持及び更新し、
Ｄ）前記ＥＣＰデータベースの中の特定の状態の少なくとも一部を前記複数のＦＥのいくつかに設定する、ように構成されたコントローラーを提供する。
【００１８】
更なる実施形態において、本発明は、互いに接続された複数の転送要素（ＦＥ）と前記複数のＦＥに接続された１つ又は複数のエンドホスト（ＥＨ）とを含むネットワークのコントローラーにより制御される転送要素（ＦＥ）であって、
アドレス解決プロトコル（ＡＲＰ）などのエンドホスト制御プロトコル群（ＥＣＰ）のパケット処理ルール群が前記複数のＦＥに設定されており、
前記ＦＥは
Ａ１）ＥＣＰ要求（ＥＣＰＲＱ）を受信し、該ＥＣＰＲＱが前記コントローラーにより処理されていない場合、前記ＥＣＰＲＱを前記コントローラーに提供し、
Ｂ１）対応付け情報が提供されている場合該対応付け情報に基づく転送情報に対応付けられた前記ＥＣＰＲＱから抽出された情報に基づいてＥＣＰ応答を計算し、
Ｃ１）前記ＥＣＰＲＱが前記コントローラーにより処理されている場合、前記ＥＣＰＲＱを前記ＥＣＰＲＱの転送情報に従って転送し、
Ｄ１）ＥＣＰ応答（ＥＣＰＲ）を受信し、該ＥＣＰＲを転送情報に従って転送し、前記ＦＥがエッジＦＥである場合、前記ＥＣＰＲを前記コントローラーに提供する、ように構成されたＦＥを提供する。
【００１９】
更なる実施形態において、本発明は、請求項１２に記載の複数の転送要素（ＦＥ）と前記複数のＦＥの１つ又は複数に接続された１つ又は複数のエンドホスト（ＥＨ）と請求項１１に記載のコントローラーとを含む基礎物理ネットワークに基づくソフトウェアデファインドネットワークなどの仮想ネットワークを提供する。
【００２０】
更なる実施形態において、本発明は、互いに接続された複数の転送要素（ＦＥ）と前記複数のＦＥの１つ又は複数に接続された１つ又は複数のエンドホスト（ＥＨ）と前記複数のＦＥを制御するコントローラーとを含むネットワークを制御する方法をコンピュータに実行させるプログラムを記憶する非一時的コンピュータ可読媒体であって、
アドレス解決プロトコル（ＡＲＰ）などのエンドホスト制御プロトコル群（ＥＣＰ）のパケット処理ルール群が前記複数のＦＥに設定されており、
ａ）ＥＣＰ要求（ＥＣＰＲＱ）がＦＥにより受信され、かつ
ａ１）前記ＥＣＰＲＱが前記コントローラーにより処理されていない場合、前記ＥＣＰＲＱは前記コントローラーに提供され、ＥＣＰ応答が、対応付け情報が提供されている場合該対応付け情報に基づく転送情報に対応付けられた前記ＥＣＰＲＱから抽出された情報に基づいて前記受信したＦＥにより計算され、
ａ２）前記ＥＣＰＲＱが前記コントローラーにより処理されている場合、前記ＥＣＰＲＱは前記ＥＣＰＲＱの転送情報に従って転送され、
ｂ）ＥＣＰ応答（ＥＣＰＲ）がＦＥにより受信されると該ＥＣＰＲは転送情報に従って転送され、前記受信したＦＥがエッジＦＥである場合前記ＥＣＰＲは前記コントローラーに提供され、
ｃ）各ＥＨのネットワーク位置、プロトコルネットワーク位置、及びネットワーク接続情報を含むＥＣＰデータベースが前記コントローラーにより保持及び更新され、前記ＥＣＰデータベースの中の特定の状態の少なくとも一部が前記複数のＦＥのいくつかに設定されている、非一時的コンピュータ可読媒体を提供する。
【００２１】
更なる実施形態において、本発明は、互いに接続された複数の転送要素（ＦＥ）と前記複数のＦＥの１つ又は複数に接続された１つ又は複数のエンドホスト（ＥＨ）とを含むネットワークを制御するコントローラーを操作する方法をコンピュータに実行させるプログラムを記憶する非一時的コンピュータ可読媒体であって、
アドレス解決プロトコル（ＡＲＰ）などのエンドホスト制御プロトコル群（ＥＣＰ）のパケット処理ルール群が前記複数のＦＥに設定されており、
前記方法は
Ａ）前記コントローラーにより処理されていないＥＣＰ要求（ＥＣＰＲＱ）をＦＥから受信し、
Ｂ）エッジＦＥであるＦＥからＥＣＰ応答（ＥＣＰＲ）を受信し、
Ｃ）各ＥＨのネットワーク位置、プロトコルネットワーク位置、及びネットワーク接続情報を含むＥＣＰデータベースを保持及び更新し、
Ｄ）前記ＥＣＰデータベースの中の特定の状態の少なくとも一部を前記複数のＦＥのいくつかに設定することを含む、非一時的コンピュータ可読媒体を提供する。
【００２２】
「転送要素」「エンドホスト」「コントローラー」などは、特に請求項において、好ましくは明細書において、パーソナルコンピュータ、タブレット、携帯電話、サーバなどの、演算を行う装置を意味し、１つ又は複数のコアを有する１つ又は複数のプロセッサを備える。これらは、本発明の１つ又は複数の実施形態の対応するステップを実行するように構成されたアプリケーションを記憶するメモリに接続可能であってもよい。アプリケーションは、プロセッサがその上で動作可能なメモリにソフトウェアベースでインストールされてもよく、及び／又はハードウェアベースでインストールされてもよい。演算装置は、演算される対応するステップが最適なやり方で実行されるように構成されてもよい。例えば、異なるステップが単一のプロセッサの異なるコア上で並列に実行されてもよい。また、それらの演算装置が同一であって単一の演算装置を形成してもよい。また、それらの演算装置が１つの物理演算リソース上で動作する１つの仮想装置としてインスタンス化されてもよく、それにより異なる演算装置をこの物理演算リソース上で動作させてもよい。
【００２３】
また、「転送要素」とは、特に請求項において、好ましくは明細書において、スイッチやルーターなどの、ネットワークにおいて情報やデータ等の転送を実行するように構成された装置を意味する。このような装置は、コンピュータネットワークなどのネットワークにおいてパケットを転送及び／又は処理するための専用ハードウェアサポートを備えてもよい。
【００２４】
「コンピュータ可読媒体」とは、演算装置やコンピュータとともに利用でき情報の保存が可能なあらゆる種類の媒体を意味してもよい。この情報はコンピュータのメモリに読み込み可能な任意のデータであってよい。例えば、この情報に前記コンピュータで実行するプログラムコードが含まれてもよい。コンピュータ可読媒体の例として、テープ、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、ＤＶＤ−ＲＡＭ、ＤＶＤ−ＲＷ、ブルーレイ、ＤＡＴ、ミニディスク、ソリッドステートディスク（ＳＳＤ）、フロッピーディスク、ＳＤカード、ＣＦカード、メモリスティック、ＵＳＢスティック、ＥＰＲＯＭ、ＥＥＰＲＯＭなどがあげられる。
【００２５】
「ルール」とはその最も広い意味で理解されるべきであり、特に請求項において、好ましくは明細書において、１つ又は複数のアクションが割り当てられた又は結びつけられた１つ又は複数の条件を意味し、この条件が適合したとき当該アクションが実行される。例えば、条件を形成するパケットの種類及びサイズなどの所定のパラメータが適合したとき、当該パケットの特定のエンドホストへの転送などのアクションが実行される。
【００２６】
「転送情報」及び「ネットワーク位置」とは、その最も広い意味で理解されるべきであり、特に請求項において、好ましくは明細書において、物理アドレス、例えば、ＭＡＣアドレスなどのハードウェアアドレスを意味する。
【００２７】
「エッジ転送要素」又は「エッジＦＥ」とは、その最も広い意味で理解されるべきであり、特に請求項において、好ましくは明細書において、レガシーＩＰ／ＴＣＰスタックを起動する場合がある少なくとも１つのエンドホスト（ＥＨ）に直接接続され、ＥＣＰ要求を生成する場合もある転送要素を意味する。
【００２８】
「トポロジー」とは、特に請求項において、好ましくは明細書において、互いに接続された転送要素とエンドホストとを含むネットワークの全ての接続の少なくとも一部についての情報を意味する。
【００２９】
「プロトコルネットワーク位置」とはその最も広い意味で理解されるべきであり、特に請求項において、好ましくは明細書において、ＩＰアドレスなどのプロトコルネットワークアドレスを意味する。
【００３０】
「ネットワーク接続点」とは、その最も広い意味で理解されるべきであり、特に請求項において、好ましくは明細書において、転送要素の１つ又は複数のインターフェースを特定するデータ識別などのデータ経路についての情報を意味する。
【００３１】
ＥＣＰデータベースに関する「状態」とは、その最も広い意味で理解すべきであり、特に請求項において、好ましくは明細書において、ＭＡＣ−ＩＰ間の対応付けのような、ハードウェアアドレスなどのハードウェア位置情報とプロトコルアドレスなどのプロトコル位置情報との関係や対応付けなどを意味する。
【００３２】
「ツリー」とは、請求項において、好ましくは明細書において、互いに接続され、木のような構造の中に配置され、秩序の中に位置付けられた少なくとも２つのネットワーク装置を意味する。特に、「転送」に関する「ツリー」とは、それぞれがデータをエンドホストへ転送する異なる転送要素を含む転送ツリー群にしたがって転送される情報を意味する。
【００３３】
「状況」という用語に関する「例外」とは、その最も広い意味で理解されるべきであり、特に請求項において、好ましくは明細書において、例えば、特定のパラメータの１つ又は複数のしきい値を上回っている又は下回っているときの、仮想又は物理ネットワーク内の任意の状況、シナリオ、状態などを意味する。
【００３４】
少なくとも１つの実施形態は以下の利点のうちの少なくとも１つを有する場合がある：
−転送要素とコントローラーとの対話が減少して対応する制御チャネルとコントローラーへの負荷が減少する。これは特にネットワークを介してブロードキャストされているＡＲＰ要求などの従来のＥＣＰ要求と比較した場合に当てはまる。
−制御されたネットワーク内のＡＲＰトラフィックなどのＥＣＰトラフィックが減少する。これは特にコントローラー内の、又はそれとともに用いられるＡＲＰプロキシと比較した場合に当てはまる。
−随時処理や転送を変更する仮想ネットワーク制御のフレキシビリティが維持される。これは、例えば、コントローラーが要求元に可能な限り最も近くで選択されているどのネットワーク要素がＡＲＰ要求などのＥＣＰ要求に応答するかを判断することを意味する。
【００３５】
更なる特徴、利点、及び更なる実施形態が以下に記載される、又は明らかになる場合がある：
上記ＥＣＰはＡＲＰであってもよい。
【００３６】
ネットワークのトポロジーを検出してもよく、また転送情報を演算し転送ツリーの形で提供してもよい。これにより、非常に効果的に仮想ネットワーク及び稼働用基礎物理ネットワークを構築することが可能になる。
【００３７】
ＥＣＰＲＱが前記コントローラーにより処理されたかどうかを判断するために、前記抽出された情報がブロードキャストアドレスなどのブロードキャスト情報に相当するかどうかを確認してもよい。このように、要求が既にコントローラーにより処理されているかどうかを容易な方法で識別できる。抽出された情報がブロードキャスト情報に相当する場合、この要求はコントローラーにより処理されていないと判断される。
【００３８】
前記ＥＣＰデータベースの中の１つ又は複数の状態が所定期間後に削除されてもよい。このようにもはや使用されないエントリーを除去することにより、稼働中にＥＣＰデータベースを「クリーン」に保つことが可能になる。これにより上記データベースのリソースを節約できる。
【００３９】
前記ＥＣＰデータベースの中の状態を前記エッジＦＥのいくつかにのみ設定してもよい。このように最適なやり方でエッジスイッチ内で演算リソースを使用することができる。これは、例えば、ＦＥ内のメモリは通常非常に限られているからであり、また、例えば、大規模ネットワークでは、個々のエッジスイッチで全てのＩＰ−ＭＡＣ間の対応付けを複製することは望ましくない場合があるからである。
【００４０】
前記ＥＣＰデータベースの中のＥＨの前記状態を、該ＥＨのＥＣＰＲＱが受信されたエッジＦＥにのみ設定してもよい。これによりルール及び状態が、対応する設定された状態にマッチする特定のＥＣＰＲＱを受信するエッジスイッチにのみ設定されるため、効率を更に高めることができる。
【００４１】
ＦＥに設定された状態の設定情報を前記ＥＣＰデータベースに保存してもよい。これによりコントローラーは対応するＦＥの状態を認識しているため、コントローラーによる動作及びルールの設定が更に向上する。
【００４２】
前記ネットワークの例外状況の場合、ＥＣＰＲＱ及び／又はＥＣＰＲの前記コントローラーへの送信を省略しながらより優先度の高いルールを前記ＦＥの１つ又は複数に設定してもよい。これにより、例えば、例外状況であるオーバーロード状況の場合にＥＣＰＲＱ及びＥＣＰＲのコントローラーへの送信を回避することが可能になる。したがってネットワーク内のオーバーロードが減少する。
【００４３】
前記より優先度の高いルールはハードタイムアウトを備えてもよい。これにより、このより優先度の高いルールが例外なく−「ハードに」−所定の量の時間に制限されることが確実になる。これは、例えば、このより優先度の高いルールがコントローラーに対応付けを学習させないようにしコントローラーが一時的にネットワーク内の設定状態などについての状況を認識できなくなるからである。
【００４４】
ＦＥに設定される状態は該ＦＥにプッシュしてもよい。これにより、コントローラーはスイッチが要求するまで待たなくても確実に毎回連続して状態をＦＥに設定できるようになる。
【００４５】
本発明の内容を有利に設計し発展させる方法がいくつもある。このため、独立請求項に従属する請求項、及び以下の図示された例としての本発明の更なる実施形態の説明を参照されたい。図に補助された本発明の更なる実施形態の説明と関連して、本発明の内容の更なる実施形態及び更なる進歩が説明されよう。
【図面の簡単な説明】
【００４６】
【図１】図１は、本発明の実施形態による方法の一部を示す。
【図２】図２は、本発明の更なる実施形態による方法の一部を示す。
【図３】図３は、本発明の更なる実施形態による方法の一部を示す。
【図４】図４は、本発明の更なる実施形態による方法の一部を示す。
【図５】図５は、本発明の更なる実施形態による方法の一部を示す。
【発明を実施するための形態】
【００４７】
図１は、本発明の実施形態による方法の一部を示す。
【００４８】
図１において、仮想ネットワークのコントローラーを操作する方法が示されている。図１によるコントローラーを操作する方法を実行する前に、準備の方法又は段階が実行される。
【００４９】
準備段階では、デフォルトのＡＲＰパケット処理ルールがルール＃１〜＃４を持つ以下の表１に示されるようにＳＤＮスイッチに設定され、トポロジーが検出され、転送ツリーが計算され、対応する転送エントリーがスイッチのフローテーブルに設定される。転送ツリーは、例えば、スパンニングツリーアルゴリズムやマルチキャストツリー計算などのメカニズムを用いて計算できる。そのような転送ツリーを特定するためのＭＡＣアドレスを保存しておいてもよい。単純なスタートポロジーネットワークでは、そのようなツリーへの転送は、例えば、ブロードキャストに相当しよう。この場合、デフォルトを超える追加のブロードキャスト用ＭＡＣアドレスが必要になることがある。より複雑なトポロジーでは、特にそれぞれ転送ツリーなどの自身のブロードキャストを持つデータセンター仮想ネットワークにおいて、既に複数のスパンニングツリーやマルチキャストツリーが使用されている。一部のルールにおいて、エッジスイッチと他のスイッチは区別される。エッジスイッチは、レガシーＩＰ／ＴＣＰネットワークスタックを起動するエンドホストに直接接続されており、それによりＡＲＰ要求を生成するという特徴がある。
【００５０】
表１：
【表１】
2020114024.tif 000003
「ARP_op」とは、ＡＲＰ動作（要求又は応答）を意味し、「ARP_MAC_dst」とは、ＡＲＰターゲットハードウェアアドレスを意味し、「To_Controller」とは、受信したパケットをコントローラーに送信することを意味し（“オープンフロー”では、これは、例えば、packet_in instructionを用いることにより可能）、（転送ツリーに従って）「Output」とは、選択された転送ツリーのための標準的なＬ２転送ルールに沿ってパケットを転送することを意味する。
【００５１】
スイッチ内でのパケット生成が、例えば、EP 16 167 292.8に示されるようなアクションARP_PacketTemplateにより呼び出される。各エッジスイッチは、ＳＤＮコントローラーがＭＡＣアドレスのＩＰアドレスへの対応付けを設定できる状態テーブルを保持する。アクションARP_PacketTemplateが開始されると、以下の処理が発生する：
１．宛先ＩＰアドレスが受信されたＡＲＰ要求パケットから抽出される
２．このＩＰがＭＡＣ  ＩＰ状態テーブル内で検索される
３．エントリーが存在する場合、以下を行うことによりＡＲＰ応答パケットが生成される：
ａ．ARP_PacketTemplateの一部として保存されたテンプレートＡＲＰ応答パケットをロードする
ｂ．テンプレートのソース／送信元ＭＡＣ・ＩＰアドレス−宛先／ターゲットＭＡＣ・ＩＰアドレスフィールドをコピーする
ｃ．以前に抽出された宛先ＩＰアドレス及び対応するＭＡＣアドレスをＭＡＣ  ＩＰ状態テーブルからテンプレートのソース／送信元ＭＡＣ・ＩＰアドレスフィールドにコピーする
ｄ．  生成されたパケットのイーサネットチェックサムを計算する
ｅ．通常のＬ２転送に従ってこのパケットを送出する
４．エントリーが存在しない場合、それ以上アクションは行わない。この場合、必要に応じてスイッチはコントローラーにエントリーが存在しないことを通知してもよい。
【００５２】
ここで、ＳＤＮコントローラーにより処理されたＡＲＰ要求と処理されていないものが区別される。これは最初の２つのルール＃１、＃２により反映される。ＡＲＰ要求のARP_MAC_dstがブロードキャストアドレスである場合、この要求はコントローラーにより処理されていないと判断される。従って、この要求はコントローラーに送信される。ARP_MAC_dstが別のアドレス、例えば、マルチキャストツリーの識別子である場合、当該パケットはコントローラーにより既に処理されたと想定され、再度送信されることはない。
【００５３】
次のステップで、必要であればコントローラーの動作を最適化とともに実行する。
【００５４】
動作段階では、コントローラーメソッドが任意の最適化とともにループ内で動作する。コントローラーのアルゴリズム又はメソッドは、ネットワーク全体のＭＡＣ学習テーブルであって“ハードウェアアドレス”（例えば、イーサネットＭＡＣアドレス）、“プロトコルアドレス”（例えば、ＩＰアドレス）、及び対応するネットワーク接続点との間の対応付けを記録するコントローラーＡＲＰテーブル（ＣＡＴ）を維持する。コントローラーメソッドはまた、局所的に実行されるスイッチ内パケット生成機能がＡＲＰ要求者に近いＡＲＰ応答パケットを生成できるように、収集された状態の一部をスイッチに設定する。
【００５５】
最適化段階では、コントローラーに送信されるパケットの負荷を更に減らすために特別な転送ルールを設定することができ、またＣＡＴの状態は全スイッチの一部のみと選択的に共有できる。
【００５６】
本発明の実施形態はデータセンターネットワークを主な対象としているが、スイッチ内パケット生成が可能なＳＤＮネットワークなどの全ての仮想ネットワークに適用可能である。
【００５７】
動作段階では、ＳＤＮコントローラーはコントローラー−ＡＲＰテーブル（ＣＡＴ）を保持し図１に示された方法を実行する。ＣＡＴの例を以下に示す。
【００５８】
表２：コントローラー−ＡＲＰテーブル（ＣＡＴ）の例
【表２】
2020114024.tif 000004
このネットワーク全体のＡＲＰテーブルの中に、コントローラーはネットワークに接続された全てのエンドホスト（ＥＨ）についての知識を保持する。このテーブルには、エンドホスト（ＥＨ）毎に、ＭＡＣアドレス、ＩＰアドレス、ＤＰＩＤという形のネットワーク接続点（データパスＩＤ、スイッチを特定する）、及び当該ＤＰＩＤを持つスイッチにおけるポート番号が記憶されている。加えて、この状態（ＭＡＣ  ＩＰ対応付け）が転送されたスイッチが記録されている。
【００５９】
ＣＡＴテーブルの内容と各スイッチへの命令は図１に示されるようなステップにより管理される。
【００６０】
（デフォルトルールからのアクションTo_Controllerに従って）ＡＲＰパケットがコントローラーに送信されると、この方法は２つのステップからなる処理を経る。２つのステップは独立して又は連続して実行されてもよい。（“更新ＣＡＴ”処理に入る前の図１の左側に示される）第１のステップは、ＡＲＰ応答が生成されるようにするためのステップである。（「ＣＡＴ更新」処理で始まる図１の右側の）第２のステップは、対応付けを学習しこの知識を各スイッチに配信するステップである。
【００６１】
第１のステップはパケットの宛先／ターゲットアドレスに注目する。このステップはＡＲＰ要求がネットワーク内で初めて観察されるかどうかを確認することから始まる。これはdst_MACアドレスがブロードキャストアドレスである場合に当てはまる。そうではなく、かつ当該パケットがＡＲＰ応答である場合、第２のステップが実行される。dst_MACアドレスがブロードキャストアドレスである場合、該当する対応付け（すなわち、dst_IPがＣＡＴ内にある）が学習されたかどうかという２つの選択肢がある。学習されていない場合、当該パケットは転送ツリーに沿ってブロードキャストされてdst_MACアドレスが転送ツリーアドレスに置き換えられる。対応付けが既に学習されている場合、学習された状態が受信スイッチに設定されているかどうか（すなわち、学習された状態がＣＡＴのスイッチリストにおける受信スイッチのＤＰＩＤであるかどうか）が確認される。設定されている場合、受信スイッチはデフォルトルールに従って既にＡＲＰ応答を生成しており、その後ＣＡＴの更新が行われる。設定されていない場合、応答がコントローラー上で生成される（この場合は最適化段階で処理可能な例外でなければならない）。
【００６２】
第２のステップで、コントローラーはソース／送信元情報でＣＡＴを更新する。学習されている場合、この更新はＣＡＴにおける該当するエンドホストのタイマーリセットに限定されてもよい。ただし、ＣＡＴに変更があった場合、例えば、更新により新しいエントリー又はエントリーの変更が生じた場合、コントローラーはこの状態を各エッジスイッチにプッシュし該当するＭＡＣ  ＩＰ対応付けがプッシュされたスイッチのリストを保持する必要がある。必要に応じて、このステップで古い状態をＣＡＴから取り戻してもよい。
【００６３】
仮想マシン（ｖｉｒｔｕａｌ  ｍａｃｈｉｎｅ：ＶＭ）がそのＩＰ及びＭＡＣアドレスや位置などの詳細を知っている可能性のあるクラウド管理システムによりインスタンス化されるデータセンターのデプロイシナリオでは、予めＣＡＴを埋めるためにそのような情報をＳＤＮコントローラーと交換してもよいが、これは任意である。
【００６４】
「愛想のよい」ＡＲＰ応答、すなわち、ＡＲＰ対応付けテーブルを更新するために該当するＡＲＰ要求なしに故意に送信されるＡＲＰ応答は、本発明の実施形態により適切に処理される。上記のルールによれば、エッジスイッチ上の全てのＡＲＰ応答はコントローラーへ転送される。そこでＡＲＰ応答に対するソースホストの対応付けが学習される。
【００６５】
以下の図２〜５において、図１のステップによるコントローラーの動作の一例が示される。
【００６６】
図２は、本発明の更なる実施形態による方法の一部を示す。
【００６７】
図２は、コントローラーに最初のＡＲＰ要求がありエントリーはないことを示している。
【００６８】
始めに、ＡＲＰパケットはまったく処理されていないため、ＣＡＴは空であるとする。図２に示されるように、ＡＲＰ要求がスイッチＳ０により受信されコントローラーに送信される（ｒｕｌｅ  ＃１）。状態が設定されていないため、このスイッチではＡＲＰ応答が生成されない。
【００６９】
図３は、本発明の更なる実施形態による方法の一部を示す。
【００７０】
図３には、コントローラーによる最初のＡＲＰ要求の処理及び転送が示されている。
【００７１】
図３は、コントローラーによれば、dst_IP（この場合、Ｈ９９）はまだ学習されておらず、dst_MACはTree1(D0)のアドレスに書き換えられ、パケットは指定された転送ツリーに沿って配信されることを示している。また、Ｈ１の対応付けが学習されてＣＡＴに記憶されている（右上を参照）。Ｈ９９は最終的に自身のためのＡＲＰ要求を受信することになる。デフォルトのルールによれば、Ｓ０だけがパケットをコントローラーに送信し、一方dst_MACがツリーアドレスＤ０に書き換えられているので全ての他のスイッチはパケットを転送ツリーに沿って転送する（ルール＃２）。
【００７２】
図４は、本発明の更なる実施形態による方法の一部を示す。
【００７３】
図４では、最初のＡＲＰ要求に対するＡＲＰ応答が示されている。
【００７４】
図４はＡＲＰ応答の配信を示す。ＡＲＰ応答を受信次第、スイッチＳ９はＨ９９の対応付けが学習できるようにコピーをコントローラーに送信する（ルール＃３）。パケットはＡＲＰ応答であるので、コントローラー操作方法の第２ステップだけが処理される。また、ＡＲＰ応答はＨ１とＨ９９間の標準的なＴＣＰ／ＩＰ接続を可能にするＨ１へのユニキャスト経路に沿って転送される。
【００７５】
ここで、図の右上角のＣＡＴの最右列に示されるように、対応付け状態が全エッジスイッチに配信される。これは、２つのＡＲＰパケット（要求及び応答）の後、全てのエッジスイッチ（Ｓ０−Ｓ９）が図５に示されるＨ１とＨ９９のＡＲＰ応答を直接生成することを意味する。
【００７６】
上記の方法を最適化するために、任意の最適化段階を実行してもよい。以下の最適化が考えられる。
【００７７】
・スイッチの制限：スイッチのメモリはしばしば制限されているので、大規模なネットワークでは個々のエッジスイッチで全てのＩＰ−ＭＡＣ間の対応付けを複製するのは望ましくない場合がある。特に、例えば、特定の仮想ネットワークにおける全てのホストが２つのスイッチのみに接続されている場合（すなわち、図５に示されたトポロジーにおいてホストＨ３、Ｈ５、Ｈ６、Ｈ７、Ｈ８０、Ｈ８１、Ｈ８２の仮想ネットワークを想定すると）、他のスイッチにおいてこれらのホストの対応付けを保存するのは（すなわち、Ｓ０及びＳ８でのみそれらを保存するのは）無駄であろう。
【００７８】
他の例として、あるホストの対応付け状態を当該ホストのＡＲＰ要求が到着したエッジスイッチのみに設定するというより一般的なメソッド又はプロシージャ、又はある状態をその状態のＡＲＰ要求を受信しなかった一定期間の後各スイッチから削除するメソッド又はプロシージャが考えられる。このような最適化を可能にするために、コントローラーは対応付け状態を設定した場所及び自らＡＲＰ応答を生成するためにフォールバックを必要とする場所を記録してもよい。このようなフォールバックが開始された際該当する対応付けを再度設定することが賢明である場合がある。
・コントローラーに対する制約：ＳＤＮコントローラーは多数のpacket_inを処理する必要がある。基本的に、ＣＡＴを更新するために、エッジスイッチで受信されたＡＲＰメッセージのコピーがコントローラーに送信される。定常状態のネットワークにおいて、このタスクは、コントローラーに多量の処理負荷をかけコントローラーが通信チャネルを切り替える必要があるメンテナンスタスクに低下する。このような潜在的なオーバーロード状況に対処するために、コントローラーは、コントローラーへのpacket_inを省略した表３にあるような特定のより優先度の高いルールを一時的に選択してもよい。
【００７９】
表３：特別なルール（より優先度が高い）
【表３】
2020114024.tif 000005
コントローラーがこのオプションを用いることを選択すると、ステール状態は避けられるはずである。このルールは基本的にコントローラーにＣＡＴの対応付け、すなわち、新しい対応付け及び更新された既存の対応付けを学習させないようにする。これはそのようなエントリーのハードタイムアウトをデプロイすることにより可能である。いずれにしても、古くなったエントリーはＩＣＭＰの宛先到達不可などの他の障害通知を引き起こす場合がある。
【００８０】
本発明の更なる実施形態は、以下のステップを含むスイッチ内パケット生成のＳＤＮ化されたＡＰＲ処理の方法を提供する：
１）（表１に定義されるように）プログラマブルなスイッチ内パケット生成機構を用いてＡＲＰ処理のためのデフォルトのＳＤＮルールを構成し、
２）（図１に示されるように）ネットワークの稼働中にＳＤＮコントローラー内でＡＲＰ処理制御アルゴリズムを起動する。
【００８１】
要約すると、本発明の実施形態は特に以下のことを可能にする又は提供する：
１）全体としてＳＤＮのコンセプトをてこ入れし個別にスイッチ内パケット生成（過去の特許出願を参照）をてこ入れするＡＲＰ処理方法の設計。より詳細には以下の通りである：
ａ．ブロードキャストツリー上で転送しながら常にＳＤＮコントローラーに通知するのを避けるための、未知の宛先Ｌ３アドレスのＡＲＰ要求を「ブロードキャスト」するための追加的なＬ２アドレスの使用、
ｂ．PacketTemplatesを用いてコントローラー上ではなくスイッチ上で応答を生成することができる、コントローラーで学習された状態と選択されたエッジスイッチとの同期。
ｃ．状態の選択されたスイッチへのプッシュ及びどのスイッチがPacketTemplatesを設定されたかを保存、
２）パケット処理ルールとコントローラーアルゴリズムの組み合わせによるレガシーエンドホストベースのＡＲＰ処理のネットワークにアシストされたＡＲＰ処理への置き換えとそれによるネットワーク負荷の削減、
３）スイッチのメモリ上の制約とコントローラー及びコントロールチャネルへの負荷に対処するための任意の最適化方法。
【００８２】
本発明の実施形態はとりわけ以下の利点のうちの１つ又は複数を有する場合がある。
【００８３】
−特に全てのＡＲＰ要求をネットワークを介してブロードキャストする場合と比べて、制御されたネットワークにおけるＡＲＰトラフィックの減少。
−特にコントローラーデプロイメントにおけるＡＲＰプロキシと比べた場合の、ＳＤＮスイッチとＳＤＮコントローラー間の対話の減少（及びそれによるＳＤＮコントロールチャネルとＳＤＮコントローラーへの負荷の削減）。
−ＳＤＮ制御コントロールのフレキシビリティを維持しながらの随時の処理と転送の変更。すなわち、コントローラーはどのネットワーク要素がＡＲＰ要求に応答するかを決定し、理想的にはソースに最も近いものを選択する。
【００８４】
ここで説明した本発明の変形例や他の実施形態が、本発明が関係し上記の説明や添付の図面に示された内容の恩恵を受ける当業者により想到されよう。従って、本発明は開示された特定の実施形態に限定されるべきではなく、変形例や他の実施形態が添付の特許請求の範囲に含まれることが意図されていると理解すべきである。ここでは特定の用語が使われているが、それらは限定する目的ではなく一般的及び説明的意味で使われている。
【図１】
2020114024.tif 000006
【図２】
2020114024.tif 000007
【図３】
2020114024.tif 000008
【図４】
2020114024.tif 000009
【図５】
2020114024.tif 000010
【手続補正書】
【提出日】令和2年4月27日(2020.4.27)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
互いに接続された複数の転送要素（ＦＥ）と前記複数のＦＥの１つ又は複数に接続された１つ又は複数のエンドホスト（ＥＨ）と前記複数のＦＥを制御するコントローラーとを含むネットワークを制御する方法であって、
アドレス解決プロトコル（ＡＲＰ）などのエンドホスト制御プロトコル群（ＥＣＰ）のパケット処理ルール群が前記複数のＦＥに設定されており、
ａ）ＥＣＰ要求（ＥＣＰＲＱ）がＦＥにより受信され、かつ
ａ１）前記ＥＣＰＲＱが前記コントローラーにより処理されていない場合、前記ＥＣＰＲＱは前記コントローラーに提供されて処理され、また、対応付け情報が前記コントローラーにより提供されていれば、ＥＣＰ応答が前記ＥＣＰＲＱから抽出された情報に基づいて前記受信したＦＥにより計算されて転送情報に対応付けられ、提供されていなければ、前記ＦＥがＥＣＰ応答を計算するための前記ＥＣＰＲＱの転送情報に従って前記ＥＣＰＲＱを前記エンドホストに転送し、
ａ２）前記ＥＣＰＲＱが前記コントローラーにより処理されている場合、前記ＥＣＰＲＱは前記ＥＣＰＲＱの転送情報に従って転送され、
ｂ）ＥＣＰ応答（ＥＣＰＲ）がＦＥにより受信されると前記ＥＣＰＲは転送情報に従って転送され、前記受信したＦＥが前記ＥＣＰＲを送信したＥＨに接続されたエッジＦＥである場合前記ＥＣＰＲは前記コントローラーに提供され、
ｃ）各ＥＨのネットワーク位置、プロトコルネットワーク位置、及びネットワーク接続情報を含むＥＣＰデータベースが前記コントローラーにより保持及び更新され、前記ＥＣＰデータベースの中の特定の状態の少なくとも一部が前記複数のＦＥのいくつかに設定されている、方法。
【請求項２】
前記ネットワークのトポロジーが検出され、転送情報が演算され転送ツリーの形で提供される、請求項１に記載の方法。
【請求項３】
ＥＣＰＲＱが前記コントローラーにより処理されたかどうかを判断するために、前記抽出された情報がブロードキャストアドレスなどのブロードキャスト情報に相当するかどうかを確認する、請求項１及び２のいずれかに記載に方法。
【請求項４】
前記ＥＣＰデータベースの中の１つ又は複数の状態が一定期間後削除される、請求項１〜３のいずれかに記載に方法。
【請求項５】
前記ＥＣＰデータベースの中の状態が前記エッジＦＥのいくつかに対してのみ設定される、請求項１〜４のいずれかに記載の方法。
【請求項６】
前記ＥＣＰデータベースの中のＥＨの前記状態は、該ＥＨのＥＣＰＲＱが受信されたエッジＦＥにのみ設定される、請求項５に記載の方法。
【請求項７】
ＦＥに設定された状態の設定情報が前記ＥＣＰデータベースに保存されている、請求項１〜６のいずれかに記載の方法。
【請求項８】
前記ネットワークの例外状況の場合、ＥＣＰＲＱ及び／又はＥＣＰＲの前記コントローラーへの送信を省略しながらより優先度の高いルールが前記複数のＦＥの１つ又は複数に設定される、請求項１〜７のいずれかに記載の方法。
【請求項９】
前記より優先度の高いルールはハードタイムアウトを備える、請求項８に記載の方法。
【請求項１０】
ＦＥに設定される各状態が前記複数のＦＥにプッシュされる、請求項１〜９のいずれかに記載の方法。
【請求項１１】
互いに接続された複数の転送要素（ＦＥ）と前記複数のＦＥの１つ又は複数に接続された１つ又は複数のエンドホスト（ＥＨ）とを含むネットワークを制御するコントローラーであって、
アドレス解決プロトコル（ＡＲＰ）などのエンドホスト制御プロトコル群（ＥＣＰ）のパケット処理ルール群が前記ＦＥに設定されており、
前記コントローラーは
Ａ）ＥＣＰ要求（ＥＣＰＲＱ）が前記コントローラーにより処理されていない場合、前記ＥＣＰＲＱをＦＥから受信し、前記ＥＣＰＲＱを処理し、対応付け情報が提供されていなければ、ＥＣＰ応答を計算するための前記ＥＣＰＲＱの転送情報に従って前記ＥＣＰＲＱを前記エンドホストに転送し、
Ｂ）ＥＣＰ応答（ＥＣＰＲ）を受信したＦＥが前記ＥＣＰ応答（ＥＣＰＲ）を送信したＥＨに接続されたエッジＥＨであれば、該ＦＥから前記ＥＣＰＲを受信し、
Ｃ）各ＥＨのネットワーク位置、プロトコルネットワーク位置、及びネットワーク接続情報を含むＥＣＰデータベースを保持及び更新し、
Ｄ）前記ＥＣＰデータベースの中の特定の状態の少なくとも一部を前記複数のＦＥのいくつかに設定する、ように構成された、コントローラー。
【請求項１２】
互いに接続された複数の転送要素（ＦＥ）と前記複数のＦＥに接続された１つ又は複数のエンドホスト（ＥＨ）とを含むネットワークのコントローラーにより制御される転送要素（ＦＥ）であって、
アドレス解決プロトコル（ＡＲＰ）などのエンドホスト制御プロトコル群（ＥＣＰ）のパケット処理ルール群が前記複数のＦＥに設定されており、
前記ＦＥは
Ａ１）ＥＣＰ要求（ＥＣＰＲＱ）を受信し、該ＥＣＰＲＱが前記コントローラーにより処理されていない場合、前記ＥＣＰＲＱを処理するために前記コントローラーに提供し、
Ｂ１）対応付け情報が前記コントローラーから提供されていれば、ＥＣＰ応答を、前記ＥＣＰＲＱから抽出された情報に基づいて計算して転送情報に対応付け、提供されていなければ、ＥＣＰ応答を計算するための前記ＥＣＰＲＱの転送情報に従って前記ＥＣＰＲＱを前記エンドホストに転送し、
Ｃ１）前記ＥＣＰＲＱが前記コントローラーにより処理されている場合、前記ＥＣＰＲＱを前記ＥＣＰＲＱの転送情報に従って転送し、
Ｄ１）ＥＣＰ応答（ＥＣＰＲ）を受信し、該ＥＣＰＲを転送情報に従って転送し、前記ＦＥが前記ＥＣＰＲを送信したＥＨに接続されたエッジＦＥである場合、前記ＥＣＰＲを前記コントローラーに提供する、ように構成されたＦＥ。
【請求項１３】
請求項１２に記載の複数の転送要素（ＦＥ）と、前記複数のＦＥの１つ又は複数に接続された１つ又は複数のエンドホスト（ＥＨ）と、請求項１１に記載のコントローラーとを含むネットワーク。
【請求項１４】
互いに接続された複数の転送要素（ＦＥ）と前記複数のＦＥの１つ又は複数に接続された１つ又は複数のエンドホスト（ＥＨ）と前記複数のＦＥを制御するコントローラーとを含むネットワークを制御する方法をコンピュータに実行させるプログラムを記憶する非一時的コンピュータ可読媒体であって、
アドレス解決プロトコル（ＡＲＰ）などのエンドホスト制御プロトコル群（ＥＣＰ）のパケット処理ルール群が前記複数のＦＥに設定されており、
ａ）ＥＣＰ要求（ＥＣＰＲＱ）がＦＥにより受信され、かつ
ａ１）前記ＥＣＰＲＱが前記コントローラーにより処理されていない場合、前記ＥＣＰＲＱは前記コントローラーに提供されて処理され、また、対応付け情報が前記コントローラーにより提供されていれば、ＥＣＰ応答が、前記ＥＣＰＲＱから抽出された情報に基づいて前記受信したＦＥにより計算されて転送情報に対応付けられ、提供されていなければ、前記ＦＥがＥＣＰ応答を計算するための前記ＥＣＰＲＱの転送情報に従って前記ＥＣＰＲＱを前記エンドホストに転送し、
ａ２）前記ＥＣＰＲＱが前記コントローラーにより処理されている場合、前記ＥＣＰＲＱは前記ＥＣＰＲＱの転送情報に従って転送され、
ｂ）ＥＣＰ応答（ＥＣＰＲ）がＦＥにより受信されると該ＥＣＰＲは転送情報に従って転送され、前記受信したＦＥがＥＨに接続されたエッジＦＥである場合前記ＥＣＰＲは前記コントローラーに提供され、
ｃ）各ＥＨのネットワーク位置、プロトコルネットワーク位置、及びネットワーク接続情報を含むＥＣＰデータベースが前記コントローラーにより保持及び更新され、前記ＥＣＰデータベースの中の特定の状態の少なくとも一部が前記複数のＦＥのいくつかに設定されている、非一時的コンピュータ可読媒体。
【請求項１５】
互いに接続された複数の転送要素（ＦＥ）と前記複数のＦＥの１つ又は複数に接続された１つ又は複数のエンドホスト（ＥＨ）とを含むネットワークを制御するコントローラーを操作する方法をコンピュータに実行させるプログラムを記憶する非一時的コンピュータ可読媒体であって、
アドレス解決プロトコル（ＡＲＰ）などのエンドホスト制御プロトコル群（ＥＣＰ）のパケット処理ルール群が前記複数のＦＥに設定されており、
前記方法は
Ａ）ＥＣＰ要求（ＥＣＰＲＱ）が前記コントローラーにより処理されていない場合、前記ＥＣＰＲＱをＦＥから受信し、前記ＥＣＰＲＱを処理し、対応付け情報が提供されていなければ、ＥＣＰ応答を計算するための前記ＥＣＰＲＱの転送情報に従って前記ＥＣＰＲＱを前記エンドホストに転送し、
Ｂ）ＥＣＰ応答（ＥＣＰＲ）を受信したＦＥが前記ＥＣＰ応答（ＥＣＰＲ）を送信したＥＨに接続されたエッジＥＨであれば、該ＦＥから前記ＥＣＰＲを受信し、
Ｃ）各ＥＨのネットワーク位置、プロトコルネットワーク位置、及びネットワーク接続情報を含むＥＣＰデータベースを保持及び更新し、
Ｄ）前記ＥＣＰデータベースの中の特定の状態の少なくとも一部を前記複数のＦＥのいくつかに設定することを含む、非一時的コンピュータ可読媒体。