JP2021048615A - 時間で保護されたフロールールの設定 - Google Patents

時間で保護されたフロールールの設定 Download PDF

Info

Publication number
JP2021048615A
JP2021048615A JP2020200392A JP2020200392A JP2021048615A JP 2021048615 A JP2021048615 A JP 2021048615A JP 2020200392 A JP2020200392 A JP 2020200392A JP 2020200392 A JP2020200392 A JP 2020200392A JP 2021048615 A JP2021048615 A JP 2021048615A
Authority
JP
Japan
Prior art keywords
flow
time
packet
packet flow
state
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
JP2020200392A
Other languages
English (en)
Other versions
JP6963086B2 (ja
Inventor
ヨハネス レスマン
Lessmann Johannes
ヨハネス レスマン
ロベルト ビフルコ
Bifulco Roberto
ロベルト ビフルコ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Laboratories Europe GmbH
Original Assignee
NEC Laboratories Europe GmbH
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
Priority claimed from JP2018543240A external-priority patent/JP6857188B2/ja
Application filed by NEC Laboratories Europe GmbH filed Critical NEC Laboratories Europe GmbH
Priority to JP2020200392A priority Critical patent/JP6963086B2/ja
Publication of JP2021048615A publication Critical patent/JP2021048615A/ja
Application granted granted Critical
Publication of JP6963086B2 publication Critical patent/JP6963086B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

【課題】フローテーブルやコントロールプレーンをオーバーロードすることなく転送ソリューションを数百万のデータ送信装置にスケールするために、フロールールを設定する方法及びシステムを提供する。【解決手段】フローベースのプログラマブルネットワーク装置1において、SDNスイッチは、入力/出力ポート5a、5b、転送ルール群の中のルールにマッチするパケットフローに基づいて、入力ポートで受信したデータ送信装置群8からの各パケットフローを出力ポート5bにマッピングする転送ルール群を含むフローテーブル6を含む。コントロール実体4は、データ送信装置群からパケットフロー送信の時刻及び間隔についての情報を含むパケットフロー情報を取得し、転送ルール群をフローテーブルにプログラムし、特定のパケットフローのためにプログラムされた転送ルールの起動を特定のパケットフローの実際の送信の前にトリガーする。【選択図】図3

Description

本発明は概して、フローベースのプログラマブルネットワーク装置にフロールールを設定する方法とシステムに関する。
本発明の実施形態の用途の技術分野は、例えば、非常に多数のスマートメーターなどのセンサーがネットワークインフラストラクチャーに接続された、いわゆる「スマートシティ」及びそれと同等のシナリオである。このようなセンサーの多くは、非常に少ない頻度でのみ、例えば、一時間に一回、又は一日に一回、データをIoT(Internet of Things:物のインターネット)データベース又はサーバなどの何らかのシンクに送信する場合がある。各センサーは事前にこのデータを中央のIoTサーバに送り込む、又は後者が一定の間隔で又はオンデマンドでセンサーをポーリングする。
恒常的なフロールールをネットワークの各センサーに設定した場合、ネットワークの各スイッチのフローテーブル、特にIoTサーバの近くのフローテーブルが直ぐにオーバーロードになってしまう。アップリンク方向(すなわち、センサーからサーバーへの方向)では送信先IPアドレスに基づく集合転送によりこの問題の多くは軽減されるが、より粒状のフロールールを必要とするダウンリンク方向ではこの問題は避けられない。
現在、センサーからIoTサーバ又は他のシンクへパケットを伝送するネットワークインフラストラクチャーのフローベースのプログラマブルネットワーク装置に事後的にフロールールを設定することは可能である。この場合、センサー(又はそのIoTゲートウェイ)はそのデータパケットをイングレススイッチに送信する。イングレススイッチとは、SDNネットワークを想定しかつマッチングルールがないと想定した場合、SDNコントローラーに照会してオンデマンドでフロールールを取得するものである。このフロールールは関連するタイムアウト値を有していてもよく、それによりしばらくして消滅する。この方法は(“スマートシティ”ネットワークなどの異種システムにおける合理的な前提と思われる、各センサーは全てのデータパケットを同時に送信しないという前提で)時間とともにフロールールのエントリーを分散するので、フロールールのオーバーロード問題が軽減される。しかしながら、そのためにスイッチとSDNコントローラー間のシグナリング負荷が増大する。数百万のセンサーが一定間隔で転送経路に沿って数百万のメッセージ交換を行うことになる。これは本質的に問題とみなされてもよい。
代替的な方法として、フローテーブルの拡張があげられる(例えば、Roberto Bifulco、Anton Matsiuk:「スケーラブルSDNスイッチを目指して:フローテーブルへのより速いエントリ入力」、データ通信に関するスペシャルインタレストグループの2015ACM会議の会議録(SIGCOMM’15).ACM、ニューヨーク(NY)、アメリカ合衆国、343−344、DOI=http://dx.doi.org/10.1145/2785956.2790008、又はNaga Katta、Omid Alipourfard、Jennifer Rexford、David Walker:「ソフトウェアデファインドネットワークにおける無限キャッシュフロー」、ソフトウェアデファインドネットワーキングにおけるホットトピックに関する第3回ワークショップの会議録、(HotSDN’14).ACM、ニューヨーク(NY)、アメリカ合衆国、175−180、DOI=http://dx.doi.org/10.1145/2620728.2620734に記載されるもの)。例えば、スイッチのCPUを用いて多数のエントリーを保持することが可能なソフトウェアフローテーブルを実装してもよい。しかしその場合、データプレーントラフィックの処理に関する転送処理量及びスケーラビリティが限定されてしまう。
したがって、本発明の目的は、フローテーブルやコントロールプレーンをオーバーロードすることなく、転送ソリューションが数百万のIoTセンサーなどのデータ送信装置にスケールされるようにフローベースのプログラマブルネットワーク装置にフロールールを設定する方法及びシステムを改善及び発展させることである。
本発明によれば、上記の目的は、フローベースのプログラマブルネットワーク装置にフロールールを設定する方法により達成される。前記フローベースのプログラマブルネットワーク装置は入力/出力ポート、転送ルール群の中のルールにマッチするパケットフローに基づいて、前記入力ポートで受信したネットワーク内のデータ送信装置からのパケットフローを出力ポートにマッピングする前記転送ルールを含むフローテーブルと、前記各パケットフローの状態を特定する状態エントリーを含む状態テーブルとを含み、前記方法は、コントロール実体が前記データ送信装置群からパケットフロー送信の時刻及び間隔についての情報を含むパケットフロー情報を取得し、前記パケットフロー情報に基づいて前記転送ルール群を前記フローテーブルにプログラムし、特定のパケットフローのためにプログラムされた転送ルールの起動を前記特定のパケットフローの実際の送信の前にジャストインタイムでトリガーする、ことを含む。
更に、上記の目的は、フローベースのプログラマブルネットワーク装置とコントロール実体とを含むフロールール設定システムにより達成される。前記フローベースのプログラマブルネットワーク装置は入力/出力ポートと、転送ルール群の中のルールにマッチするパケットフローに基づいて、前記入力ポートで受信したネットワーク内のデータ送信装置からのパケットフローを前記出力ポートにマッピングする前記転送ルールを含むフローテーブルと、前記各パケットフローの状態を特定する状態エントリーを含む状態テーブルとを含み、コントロール実体は前記データ送信装置群からパケットフロー送信の時刻及び間隔についての情報を含むパケットフロー情報を取得し、前記パケットフロー情報に基づいて前記転送ルール群を前記フローテーブルにプログラムし、特定のパケットフローのためにプログラムされた転送ルールの起動を前記特定のパケットフローの実際の送信の前にジャストインタイムでトリガーするように構成される。
本発明によれば、上記の目的は時間で保護されたやり方でフロールールの設定を実現することにより達成できることが認識された。本発明の実施形態は、ステートフルなパケット処理を可能にしSDNコントローラーなどのコントロール実体によりプログラマブルだが毎回コントローラーを参照する必要のないSDNスイッチなどのフローベースのプログラマブルネットワーク装置の定義に基づくものである。特に、このようなスイッチは絶対時間に基づいてその内部状態を更新できる(及びそれにより内部アクションをトリガーできる)。本発明の実施形態の背後にある概念は、各スイッチがセンサーなどの接続されたデータ送信装置がトラフィックを生成する時間や間隔に関する知識を取得し、この知識を用いてこのセンサーのトラフィックシンク(例えば、IoTサーバ)への転送動作を統治するフロールールを自立的に「設定」又は「起動」するというものである。コントロールプレーンに負荷を与える事後的なルール設定の代わりに、本発明の実施形態はジャストインタイムでのフロールール設定を実現する。事後的な場合と同様、この方法は(例えば、Dusi, M.、Bifulco,R.、Gringoli,F.、Schneider,F.:「ソフトウェアデファインドネットワーキングにおける事後的ロジック:フローテーブル要求事項の測定」、無線通信とモバイルコンピューティングの会議(IWCMC)、2014 International、vol.、no.、pp.340−345、4−8(2014年8月)に記載されるように)経時的なフローテーブルのエントリーの分散を可能にし、その一方でコントローラーとの対話の回避を可能にする。
より詳細には、本発明の実施形態によれば、接続されたデータ送信装置毎のパケット生成の時間と間隔についての情報を取得するコントロール実体は、この情報を用いて、センサーとサーバ間でのトラフィックを転送するために計算された経路に沿って時間トリガーのフロールール生成をスイッチにプログラムする。そのようなプログラミングが一旦行われると、各スイッチは、実際にセンサーがデータパケットを送信する(又はサーバがセンサーにデータポーリングを要求する)前にジャストインタイムでコントローラーと対話せずに自立的に該当するフロールールを起動(及び非起動)することができる。ここで「ジャストインタイムで」とは、センサーからのデータの転送が実際の送信近くの設定可能な長さの時間窓の期間可能になることを意味する。コントローラーと対話せずにスイッチへの転送フロールールの時間決めされた又はジャストインタイムの生成又は設定をトリガーするそのような方法又はシステムを提供することにより、各スイッチにおける高粒度のトラフィック転送ルールの数がスケールされる、すなわち、フロールールのスケーラビリティが達成される。
要約すると、本発明の実施形態は、時間とともにフローエントリーを分配するフロールールをジャストインタイムで設定して低頻度でのみ通信する多数の装置のスケーラビリティを向上させることができる。また、これをコントローラーとの(多くの)対話なしに、すなわち、スイッチにより自立的に又は経路上のシグナリングを介して行うことができる。
本発明の実施形態によれば、前記特定のパケットフロー、すなわち、ネットワーク内の特定のデータ送信装置からのパケットフローのための転送ルールの起動は、前記特定のパケットフローのための新しい又は変更された状態エントリーを用いて適時行われた前記状態テーブル(7)の更新によりトリガーされる。実施形態によれば、前記新しい又は変更された状態エントリーは、その設定以来特定の時間が経過後その削除をトリガーするタイムアウトを用いて構成されてもよい。これにより、パケットフローの実際の送信時近くの(実装されたタイムアウト値によって設定可能な長さの)短い時間のみデータ送信装置のために可能な「送信窓」を開けることができる。これにより潜在的なアタッカーによるセンサーデータの遮断又は操作が困難になるため、ネットワークのセキュリティが向上する。タイムアウトを用いる代わりに、最後のパケットの転送後にルールの除去が可能である場合に所定の(及び公知の)数の連続するパケット(多くの場合、1つのみ)が個々のセンサーにより送信されるという事実を活用してフロールールの設定を自動的に解除してもよい。
実施形態によれば、前記フローベースのプログラマブルネットワーク装置は、前記コントロール実体が時間のトリガーのフロールールを生成するためにプログラムする時間トリガーモジュールを備える。より詳細には、前記状態テーブルの更新は、前記フローベースのプログラマブルネットワーク装置のCPU上に実装された時間トリガーモジュールにより実行されてもよい。前記時間トリガーモジュールは現在のクロック値に対する各パケットフロー送信の時刻を監視するように構成されてもよい。具体的には、時間トリガーモジュールは内部クロックを備えてもよく、コントロール実体により時間トリガーモジュールに報告・構成されるように、(ソフトウェアに実装された)センサー毎のパケット送信の時刻に対応する期限のリストを保持してもよい。
実施形態によれば、前記状態テーブルの更新は前記フローテーブルの転送ルール群に含まれる状態遷移アクションによって実行されてもよい。この場合、外部時間ソースを採用してもよい。例えば、この時間ソースはコントロール実体自体であってもよく、又はIEEE1588/PTP(プレシジョンタイムプロトコル)時間ソースであってもよい。時間ソースは、スイッチの高速経路に(時間値を含む)時間パケットを配信してもよい。具体的には、特定のパケットフローのための状態遷移アクションは、各パケットフローの送信時間に対応する時間値を保持する時間パケットを送信し、前記パケットフローが前記時間パケットとマッチするように、前記状態遷移アクションを含む前記フローテーブル内に前記転送ルールを構成することによりトリガーされてもよい。
実施形態によれば、前記外部時間ソースにより生成された前記時間パケットはブロードキャストとして送信されてもよい。これにより、時間パケットは、その到達により状態変化をトリガーできる全てのフローベースのプログラマブルネットワーク装置/スイッチ(すなわち、各データ送信装置/センサーからシンクへの経路上の全てのスイッチ)に最終的に到達することになる。
実施形態によれば、特定のパケットフローのための状態遷移アクションは、外部クロックソースにより生成された各クロックパケットを前記フローベースのプログラマブルネットワーク装置に送信することにより実現される各クロックパルスに依存することによりトリガーされてもよい。クロックソースの実装に関して、外部クロックソースは、その目的のために、例えば、コントロール実体の中に作成してもよい、又はクロックパルスやクロックチックとなる場合がある周期的な同期パケットを送信するIEEE1588/PTPマスタータイムサーバなどのレバレッジレガシーシステムの中に設けられてもよい。
外部クロックソースを基準ソースとして用いる際、フローテーブルにおける転送ルールは、クロックパケットにマッチし、受信したクロックパケット数を数えるために対応する各フロー状態を更新するように構成されてもよい。具体的に、クロックソースからブロードキャストとして送信されたクロックパルス又はクロックチックは、全てのスイッチが内部カウンターを増分してローカルタイマーが不在の状態で十分な粒度で時間をエミュレートするのを可能にする。
本発明の実施形態によれば、コントローラーがデータ送信装置毎のパケット生成の時間及び間隔に関する知識を取得できるように、各データ送信装置がそこから前記コントロール実体が必要な情報を照会することが可能なAPI(Application Programming Interface:“アプリケーションプログラミングインターフェース”)を含んでもよい。本発明の主要な用途シナリオによれば、各データ送信装置はセンサー及び/又はスマートグリッドなどのスマートメーターを備えてもよい。一般に、各装置のパケット送信の時間及び間隔についての知識は、新しい装置/センサーが一度接続されたときに静的又は手動の構成を介して、又は機械学習方法を介して取得できる。
本発明の内容を有利に設計し発展させる方法がいくつもある。このため、従属する請求項、及び以下の図示された例としての本発明の好適な実施形態の説明を参照されたい。図に補助された本発明の好適な実施形態の説明と関連して、本発明の内容の一般的に好適な実施形態及び更なる進展が説明されよう。
図1は、本発明の実施形態が適用可能なネットワークアーキテクチャの一般的概念を代表的に説明する概略図である。 図2は、本発明の実施形態による状態テーブルとフローテーブルを備えたネットワークスイッチを説明する概略図である。 図3は、本発明の実施形態による時間トリガーモジュールを備えたネットワークスイッチを説明する概略図である。 図4は、本発明の実施形態による外部時間ソースの最適化を伴うネットワークスイッチを説明する概略図である。 図5は、本発明の実施形態による外部時間ソースの最適化を伴うネットワークスイッチを説明する概略図である。
以下に詳細に説明するように、本発明の実施形態では、各フローベースのプログラマブルネットワーク装置1(例えば、SDNスイッチ2)がそれらを構成する又はプログラムするために用いることが可能なコントロールインターフェース3を露出しているものとする。また、一般性を失うことなく、簡素化のために、各装置1は論理的に中央のコントロール実体4(例えば、SDNコントローラー12)により制御されるものとする。しかし、当業者には理解されるように、本発明は、各ネットワーク装置1が異なるコントローラーにより制御される場合にも、それらのコントローラーが互いにメッセージを交換できるのであれば適用可能である。コントロール実体4は、コントロールチャネルによってネットワークの各装置(以後、相互交換可能に「フローベースのプログラマブルネットワーク装置1」又は短く「スイッチ2」という)に接続されている。各スイッチ2は、本発明の実施形態が適用可能なネットワークアーキテクチャの一般的概念を示す図1に代表的に示されるように、他のスイッチ2又はエンドホストに接続可能な一組のポート5(インプットポート5a及びアウトプットポート5b)を有する。エンドホストに接続されたポート5を「エッジポート」と呼び、1つ又は複数のポートを有するスイッチを「エッジスイッチ」と呼ぶ。
また、図1に示されるように、各スイッチ2は更にフローテーブル(FT)6を備える。フローテーブル6にはフローテーブルエントリー(FTE)が含まれる。FTEは、FTEが適用されるネットワークパケットをパケットのヘッダーフィールドの値を指定することにより特定するマッチ部と、マッチされたパケットに適用されるアクションを指定するアクション部と、当該FTEがどのパケットにもマッチしない場合その時間の経過後に当該FTEを削除しなければならない時間を指定するアイドルタイムアウトとからなる。スイッチ2のFT6におけるFTEのセットはそのスイッチ2がどのようにネットワークパケットを転送するかを規定する。FTEのアクションにコントロールチャネルを介したコントローラー4へのパケットの送信が含まれていてもよい。本発明の文脈において、スイッチ2からコントローラー4へのネットワークパケットの移転を「packet_in」と呼ぶ。packet_inには以下の情報が含まれる:それを生成したネットワークパケット、それが送信されるスイッチの識別子、及びパケットが受信されたスイッチ2のインプットポート5aの識別子。スイッチ2はFTEが削除されるたびにコントローラー4に通知するように構成されてもよい。
加えて、図2に示されるように、スイッチ2は状態テーブル7を備えてもよい。状態テーブルのエントリーは所定のネットワークフローの状態を規定する。例えば、(センサーやスマートメーターなどの)ネットワーク内のデータ送信装置8により生成されたパケットがスイッチ2に入り、状態テーブル7内のエントリーの1つにマッチした場合、パケットはスイッチ2内のそのような状態情報を保持するメタデータにより質が改善される。また、FTEがこの状態情報マッチしてもよい。更に、FTEのアクションが所定のフローのアクションset_stateを含んでいてもよい。そのようなアクションset_stateが、所定の状態テーブルのエントリーについて、状態テーブル7に含まれる状態情報を修正する。これにより、ネットワークパケットを受信次第、フローテーブル6を用いて所定のフローの状態遷移を実行することができる。状態テーブルのエントリーとFTEはともにアイドルとハードのタイムアウトの両方に関連付けられている。この種のスイッチのそれ以外の又は類似した特性/能力に関する詳細は、Giuseppe Bianchi他:「オープンステート:スイッチ内部のプログラミングプラットフォームから独立したステートフルオープンフローアプリケーション」、SIGCOMM Comput. Commun. Rev. 44、 2 (2014年4月)、44−51から得られる。
本発明の実施形態の以下の記述との関連において、それらの実施形態が適用されるネットワークとして、SDNネットワーク、例えば、“オープンフロー”技術に基づくSDNネットワークが想定される。実際、SDNネットワークは上記の全ての特性を示す。しかしながら、当業者には理解されるように、本発明はそのような特性を示す他のいずれのネットワークにも適用可能である。以下、「フロールール」、「転送ルール」、及び「FTE」という用語は折々に交換可能に用いられる。
図3は、時間で保護されたフロールールの設定がスイッチ2のCPUの上部に実装された時間トリガーモジュール9を用いることにより実行される本発明の実施形態を示す。コントローラー4は、「1」で示されるある時刻にスイッチ2のフローテーブル6と時間トリガーモジュール9を構成する。図示された実施形態において、コントローラー4は、状態DEFAULTを有するフローは全てドロップされると規定する第1の転送ルール(ID1を持つFTE)及び状態OKを有するフローは全て転送されると規定する第2の転送ルール(ID2を持つFTE)を設定することによりスイッチ2のフローテーブル6をプログラムする。
スイッチ2のフローテーブル6には当初、インカミングフローに状態DEFAULTを割り当てる(IDDを持つ)単一のエントリーだけが含まれる。そのため、以上の条件によりインカミングパケットはいずれもフローテーブルのFTE ID1により処理される、すなわち、ドロップされる。しかし、時刻「2」で時間トリガーモジュール9がコントローラー4によりプログラムされた動作を実行すると、状態テーブル7は(ID1を持つ)新しい状態エントリーで更新される。この時間トリガーモジュール9によって追加された新しい状態エントリーにより、フローA(ここでは、図示のセンサー8により送信されたと仮定する)の転送が可能になる。これは、このエントリーが状態OKと関連付けられているからである、換言すれば、フローAはフローテーブルのFTE ID2により処理される、すなわち、転送されるからである。状態エントリー1はまた、設定されて以来所定の時間が経過した後にその削除をトリガーするハードタイムアウトと関連付けられている。
本発明の実施形態に係わる時間トリガーモジュールの可能な実装方法の1つは、タイマーの使用である。すなわち、時間トリガーモジュール9は内部クロックを備え、関係するセンサー8の予定パケットフロー送信時刻に対応する期限のリストを保持する。時間トリガーモジュール9は内部クロックを監視してそのような期限の接近を確認する。各期限は、現在のクロック値と対比することによりその期限を超えたかどうかを示す時間値と関連付けられている。所定の期限を超えると、対応するイベントが生成される。例えば、図3の実施形態の文脈において、(コントローラー4により時間トリガーモジュール9にプログラムされた情報によって)フローAの予定送信時間が近づいているとき、時間トリガーモジュール9は、フローAの転送を有効にするために、フローAの状態遷移を実行する各エントリー(図3でID1を持つエントリー)を入力して状態テーブル7を更新する。10秒のタイムアウトの後、この状態エントリーは削除され「転送窓」は閉められる。すなわち、センサー8から送信されたデータはもはや転送されない。
以上のような実装は通常、スイッチ2のCPUに依存する。スイッチ2は通常、専用ASIC(Application Specific Integrated Circuit:“特定用途向け集積回路”)に実装された高速経路及びCPUの上部に実装された低速経路からなる。監視する期限数が多い場合、すなわち、構成されるイベント数が多い場合、スイッチ2のCPUはオーバーロードになる。スイッチ2で多くの時間を決められたイベントの記録を維持する場合、特に構成比の大きな周辺センサー8をアグリゲートするアグリゲーションスイッチ2では多量のCPUリソースを消費するので、本発明の更なる2つの実施形態による最適化を以下に説明する。両最適化とも外部の時間トリガーの存在に依存し、スイッチ2の高速経路における完全な実行を保証する(すなわち、スイッチ2のCPUに負荷をかけることがない)。
図4に示される第1の最適化は、ネットワークにデータパケットを送信する外部時間ソース10に依存する。このデータパケットは、スイッチ2が読み出すことができる時間値を含みTで表される時間パケットである。時間ソース10はコントローラー4自体であってもよく、又はIEEE1588/PTP(正確時間プロトコル)であってもよく、又は他の適切な時間ソースであってもよい。スイッチ2の高速経路に伝送されている時間パケットはスイッチ2の高速経路によってのみ処理される。
(センサーなどのネットワーク装置8からのデータ送信の期限を過ぎたことによる)イベントのトリガーは、FTEを用いて実行できる。すなわち、FTEが、スイッチ2において特定のフロールールを有効にする必要があるときに時間ソース10により送信される時間パケットTとマッチし、状態テーブル7における一部のエントリー(例えば、その通信を有効にする必要がある装置8に関連するエントリー)の状態を変更する状態set_actionを用いて構成される。具体的には、図示の実施形態によれば、スイッチ2の入力ポート5aで受信された時間パケットTがIDDを持つ状態テーブルのエントリーにより状態DEFAULTを割り当てられる。この時間パケットTは、スイッチ2のフローテーブル6により処理されると、いくつかのフロー、例えば、フローAに対し状態エントリーを設定するFTE ID1にマッチする、すなわち、時間パケットTはフローAの状態OKへの状態遷移を引き起こす。その結果、フローAはFTE ID2とマッチして転送される。状態エントリーは10秒のタイムアウトが満了した後消滅する。
このソリューションを大規模に機能させる1つの方法は、時間パケットをブロードキャストとして送信することである。それにより時間パケットは、その到達に応じて状態変更をトリガーすることができる全てのスイッチに最終的に到達する。また、ネットワークは時間パケットのリアルタイム配信を保証すべきである。これはネットワークにおいて適切なQoS機構を実施することにより実現できる。
第2の最適化による実施形態が図5に示される。具体的には、この第2の最適化はネットワーク内のどこかにある外部クロックソース11に依存しており、この外部クロックソース11はネットワークのデータプレーンに基準クロックパルス(「クロックチック」)をブロードキャストする(すなわち、基準クロックパルスは全てのネットワークスイッチ2により受信可能である)基準クロックとして用いられるものである。これらのクロックチックが定期的かつ公知の間隔で入力される場合、スイッチ2は(図3の実施形態のような)CPU集中型タイマーを保持する必要がなく、簡素な内部カウンターを増分して所定の粒度でクロックの進行を模倣することができる。この粒度は、接続された全てのセンサー8の組み合わせから生じるタイミング要求に対応するのに十分細かくなければならない。ただし、異なるセンサー8の個々のデータ送信特性を管理しそれに適応できる粒度の高い模倣クロックパルスを構築するために、異なる種類のクロックパルス、例えば、毎時発信されるクロックパルスT1と毎分発信されるクロックパルスT2とを組み合わせてもよい。
図5の実施形態において、コントローラー4はまず、クロックパケットにより実現されるクロックチックのカウンターを作成するために、いくつかの状態遷移を設定して(「1」に示されるような)スイッチ2のフローテーブル6をプログラムする。フローテーブル6のFTEはクロックパケットとマッチし、受信したクロックパケット数を数えるために対応するフロー状態を更新する。具体的には、状態1を有するクロックパケットがFTE ID1にマッチし、クロックパケットのフローの状態エントリー(すなわち、状態エントリーID2)の状態を状態2へ遷移させる。その結果、スイッチ2によって受信された次のクロックパケットは(状態テーブルのエントリーID2にマッチするので)状態2を割り当てられる。これにより、フローテーブル6では、このクロックパケットが、再度クロックパケットの状態遷移(すなわち、2から3への状態遷移)を引き起こすFTE ID2にマッチすることになる。図5におけるFTEの1つでカウンターをリセットするFTE、すなわち、FTE ID3は、いくつかのフロー、例えば、フローAに対し状態エントリーを設定する。したがって、クロックパルスが一時間毎に送信されるとすると、フローAが属するネットワーク内のデータ送信装置8は3時間毎にそのデータを送信するのを可能にされる。状態エントリーは10秒のタイムアウトが満了になった後消滅する。すなわち、実装されたタイムアウトにより「送信窓」は10秒間だけ開かれる。
上記の実施形態では、ネットワーク内の各スイッチ2はそれ自体のクロックカウンターを備えるので一般的なクロックソース11がネットワーク内の全てのスイッチ2に仕える場合があり、各スイッチ2は異なる時刻に状態テーブル7のエントリーを変更できることに注意されたい。
スケーラビリティと低いオーバーヘッドという利点に加えて、上記の実施形態はセキュリティ関連の利点も有する。第1に、実際のデータ送信の近くの非常に短い時間だけ「有効な」フロールールを有することにより、ネットワーク内のアタッカーがセンサー8に侵入する又はセンサーのデータを取得するのが困難になる。上記時間以外ではセンサー8に向けられたパケットは転送できず、またセンサー8は基本的に不可視である。第2に、フロールールの時間で保護された設定により、設置されたセンサー8のためのトラフィック生成及び転送の機会は基本的に制限される。“スマートシティ”などの文脈では、非常に異種のソースからのセンサー8が多数存在することになる。しかしながら、(データシート又は任意の情報源によって)一期間に一回のみデータを生成すると期待されるセンサー8はそれ以上の頻度でネットワークにデータを送り込むことには成功しないだろう。これは、イングレススイッチ2は事前に設定された時間の外で対応するフロールールを持つことはないからである。
最後に、(一定の間隔でのアクセスの代わりに)IoTサーバからのセンサーデータへのオンデマンドのアクセスもまた本発明の文脈において可能であることに注意されたい。しかしながら、この場合、イングレススイッチ2は事後モードを用いてコントローラー4に対し対応するフロールールを求める必要がある。
ここで説明した本発明の変形例や他の実施形態が、本発明が関係し上記の説明や添付の図面に示された内容の恩恵を受ける当業者により想到されよう。従って、本発明は開示された特定の実施形態に限定されるべきではなく、変形例や他の実施形態が添付の特許請求の範囲に含まれることが意図されていると理解すべきである。ここでは特定の用語が使われているが、それらは限定する目的ではなく一般的及び説明的意味で使われている。
1 フローベースのプログラマブルネットワーク装置
2 SDNスイッチ
3 コントロールインターフェース
4 コントロール実体
5 ポート
6 フローテーブル
7 状態テーブル
8 データ送信装置/センサー
9 時間トリガーモジュール
10 外部時間源
11 外部クロックソース
12 SDNコントローラー


Claims (15)

  1. フローベースのプログラマブルネットワーク装置(1)にフロールールを設定する方法であって、
    前記フローベースのプログラマブルネットワーク装置(1)は入力/出力ポート(5a、5b)、転送ルール群の中のルールにマッチするパケットフローに基づいて、前記入力ポート(5a)で受信したネットワーク内のデータ送信装置群(8)からの各パケットフローを出力ポート(5b)にマッピングする前記転送ルール群を含むフローテーブル(6)と、前記各パケットフローの状態を特定する状態エントリーを含む状態テーブル(7)とを含み、
    前記方法は、
    コントロール実体(4)が前記データ送信装置群(8)からパケットフロー送信の時刻及び間隔についての情報を含むパケットフロー情報を取得し、
    前記パケットフロー情報に基づいて前記転送ルール群を前記フローテーブルにプログラムし、
    特定のパケットフローのためにプログラムされた転送ルールの起動を前記特定のパケットフローの実際の送信の前にジャストインタイムでトリガーする、ことを含む方法。
  2. 前記特定のパケットフローのための転送ルールの起動は、前記特定のパケットフローのための新しい又は変更された状態エントリーを用いて適時行われた前記状態テーブル(7)の更新によりトリガーされる、請求項1に記載の方法。
  3. 前記新しい又は変更された状態エントリーは、その設定以来特定の時間が経過後その削除をトリガーするタイムアウトを用いて構成される、請求項2に記載の方法。
  4. 前記状態テーブル(7)の更新は、前記フローベースのプログラマブルネットワーク装置(1)のCPU上に実装された時間トリガーモジュール(9)により実行される、請求項1〜3のいずれかに記載の方法。
  5. 前記時間トリガーモジュール(9)は現在のクロック値に対する各パケットフロー送信の時刻を監視する、請求項4に記載の方法。
  6. 前記状態テーブル(7)の更新は前記フローテーブル(6)の転送ルール群に含まれる状態遷移アクションによって実行される、請求項1〜3のいずれかに記載の方法。
  7. 特定のパケットフローのための状態遷移アクションは、外部時間ソース(10)により生成され前記パケットフローの送信時間に対応する時間値を保持する時間パケットを前記フローベースのプログラマブルネットワーク装置(1)に送信し、前記パケットフローが前記時間パケットとマッチするように、前記状態遷移アクションを含む前記フローテーブル(6)内の前記転送ルールを構成することによりトリガーされる、請求項6に記載の方法。
  8. 前記外部時間ソース(10)により生成された前記各時間パケットはブロードキャストとして送信される、請求項7に記載の方法。
  9. 特定のパケットフローのための状態遷移アクションは、外部クロックソース(11)により生成された各クロックパケットを前記フローベースのプログラマブルネットワーク装置(1)に送信することにより実現される各クロックパルスに依存することによりトリガーされる、請求項1〜3にいずれかに記載の方法。
  10. 前記フローテーブル(6)内の転送ルール群は前記各クロックパケットとマッチし、受信したクロックパケット数を数えるために対応する各フロー状態を更新するように構成された、請求項9に記載の方法。
  11. 好ましくは請求項1〜10のいずれかに記載の方法を実行するための、フロールール設定システムであって、
    フローベースのプログラマブルネットワーク装置(1)と、
    コントロール実体(4)とを含み、
    前記フローベースのプログラマブルネットワーク装置(1)は入力/出力ポート(5a、5b)と、転送ルール群の中のルールにマッチするパケットフローに基づいて、前記入力ポート(5a)で受信したネットワーク内のデータ送信装置群(8)からの各パケットフローを前記出力ポート(5b)にマッピングする前記転送ルール群を含むフローテーブル(6)と、前記各パケットフローの状態を特定する状態エントリーを含む状態テーブル(7)とを含み、
    前記コントロール実体(4)は前記データ送信装置群(8)からパケットフロー送信の時刻及び間隔についての情報を含むパケットフロー情報を取得し、前記パケットフロー情報に基づいて前記転送ルール群を前記フローテーブルにプログラムし、特定のパケットフローのためにプログラムされた転送ルールの起動を前記特定のパケットフローの実際の送信の前にジャストインタイムでトリガーするように構成された、システム。
  12. 前記データ送信装置群(8)はそれぞれ、そこから前記コントロール実体(4)が前記データ送信装置群(8)のパケットフロー送信の時刻及び間隔を照会することが可能なAPIを含む、請求項11に記載のシステム。
  13. 前記データ送信装置群(8)はそれぞれ、センサー及び/又はスマートグリッドのスマートメーターを含む、請求項11又は12に記載のシステム。
  14. 請求項1から13にいずれかに記載の方法及び/又はシステムにおいて採用されるように構成されたフローベースのプログラマブルネットワーク装置、特にSDNスイッチ(2)。
  15. 請求項1から13にいずれかに記載の方法及び/又はシステムにおいて採用されるように構成されたコントロール実体、特にSDNコントローラー(12)。

JP2020200392A 2016-02-18 2020-12-02 時間で保護されたフロールールの設定 Active JP6963086B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2020200392A JP6963086B2 (ja) 2016-02-18 2020-12-02 時間で保護されたフロールールの設定

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2018543240A JP6857188B2 (ja) 2016-02-18 2016-02-18 時間で保護されたフロールールの設定
JP2020200392A JP6963086B2 (ja) 2016-02-18 2020-12-02 時間で保護されたフロールールの設定

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2018543240A Division JP6857188B2 (ja) 2016-02-18 2016-02-18 時間で保護されたフロールールの設定

Publications (2)

Publication Number Publication Date
JP2021048615A true JP2021048615A (ja) 2021-03-25
JP6963086B2 JP6963086B2 (ja) 2021-11-05

Family

ID=74876694

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020200392A Active JP6963086B2 (ja) 2016-02-18 2020-12-02 時間で保護されたフロールールの設定

Country Status (1)

Country Link
JP (1) JP6963086B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114553762A (zh) * 2022-01-30 2022-05-27 阿里巴巴(中国)有限公司 一种对流表中的流表项处理的方法及装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114553762A (zh) * 2022-01-30 2022-05-27 阿里巴巴(中国)有限公司 一种对流表中的流表项处理的方法及装置
CN114553762B (zh) * 2022-01-30 2023-12-26 阿里巴巴(中国)有限公司 一种对流表中的流表项处理的方法及装置

Also Published As

Publication number Publication date
JP6963086B2 (ja) 2021-11-05

Similar Documents

Publication Publication Date Title
JP6857188B2 (ja) 時間で保護されたフロールールの設定
CN109691038B (zh) 时间敏感的软件定义的网络
US9407560B2 (en) Software defined network-based load balancing for physical and virtual networks
JP6637196B2 (ja) ネットワークにおいてパケットフロー群を転送する方法及びネットワークシステム
US11726460B2 (en) Network resource management in a communication network for control and automation systems
US9455915B2 (en) Hierarchical congestion control with congested flow identification hardware
JP2003258890A (ja) クライアントコンピュータシステムとインターネットネットワークとの間のデータ伝送を制御する方法およびそのためのシステム
CN103259703A (zh) 适用于电力行业的实时总线跨安全区通信方法
CN101461194A (zh) 用于远程访问网络中的装置的方法和系统
US11824650B2 (en) Publish-subscribe communication architecture for highly-versatile field devices in control and automation systems
KR20140106235A (ko) 오픈플로우 스위치 및 그 패킷 처리 방법
JP6449430B2 (ja) ネットワーク装置用の時刻同期方法、装置及び時刻同期サーバ
US9929829B1 (en) System and method for provisioning resources for lossless operation in a network environment
Garbugli et al. End-to-end qos management in self-configuring tsn networks
JP6963086B2 (ja) 時間で保護されたフロールールの設定
US10356196B2 (en) Apparatus and method for managing devices
WO2020128683A1 (en) A device and method for scheduling data transmission for non-tsn devices over time sensitive networking (tsn)
Rost et al. 5G plug-and-produce
CN112753206A (zh) 工业通信网络内数据传输的方法和通信设备
WO2022185586A1 (ja) 通信方法、通信システムおよびネットワークコントローラ
WO2022190431A1 (ja) 制御システムおよびデータ送信方法
US20200285210A1 (en) Concurrent 3-way bidirectional message redirection
JP2018042179A (ja) 通信装置及び通信方法
CN109150729B (zh) 一种数据转发控制方法、装置、系统、介质和计算设备
JP2015191563A (ja) コマンド提供システムおよびコマンド提供装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20201202

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20201223

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210927

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20211014

R150 Certificate of patent or registration of utility model

Ref document number: 6963086

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350