図1は、本出願の実施形態に従った、実装環境の概略図である。実装環境は、中央機器101と、複数のネットワークデバイス102とを含み、中央機器101は、ネットワークを使用することによって、各ネットワークデバイス102に接続される。
中央機器101は、ネットワークデバイスを管理する機能を有し、ネットワークの管理センタとして動作し得る。中央機器101は、ネットワークデバイス102を管理するように構成される。任意選択で、中央機器101は、データ転送機能をさらに有し得、中央機器101は、ネットワーク上において送信されるパケットを転送するように構成され得る。中央機器101は、任意のネットワークデバイス102のパケットを受信し、パケットを別のネットワークデバイス102に送信し得る。
中央機器101は、スイッチ、ルータ、および光回線端末(optical line terminal、以下略して、OLT)などを含み得る。たとえば、中央機器101は、受動光ネットワーク(Passive Optical Network、以下略して、PON)上における、OLTデバイスであり得る。もちろん、中央機器101は、代替として、ネットワーク管理機能を有する、別のデバイスであり得る。任意選択で、モノのインターネットに適用される場合、中央機器101は、デバイスを管理する機能を有し、モノのインターネット上に存在する、任意のデバイスであり得る。たとえば、中央機器101は、モノのインターネットのゲートウェイを含み得る。
ネットワークデバイス102は、データ送信機能を有し、ネットワークの基本デバイスとして動作し得る。ネットワークデバイス102は、パケットを転送するように構成され得る。たとえば、ネットワークデバイス102は、送信元端末によって送信されたパケットを受信し、パケットを中央機器101に送信し得る。別の例については、ネットワークデバイス102は、中央機器101によって送信されたパケットを受信し、パケットを送信先端末に送信し得る。
ネットワークデバイス102は、スイッチ、ルータ、光ネットワーク端末(Optical network terminal、以下略して、ONT)、光ネットワークユニット(Optical Network Unit、以下略して、ONU)、または光スプリッタであり得る。任意選択で、ネットワークデバイス102は、モノのインターネット上における任意のデバイスであり得る。たとえば、ネットワークデバイス102は、ユーザに属するデバイス、サービスプロバイダによってユーザ側に配置されたデバイス、インフラストラクチャデバイス、および公共の場所にあるデバイスを含み得る。たとえば、ネットワークデバイス102は、マンホールカバー、消火栓、水道メータ、電気メータ、街灯、自転車、および自動車を含み得る。
この実施形態においては、ネットワークデバイス102は、ネットワーク上の物理層(Physical Layer)において動作するデバイスであり得、L1レイヤデバイス、物理層デバイス、またはレイヤ1ネットワークデバイスと呼ばれることがある。
中央機器101およびネットワークデバイス102は、直接的な接続方式または間接的な接続方式で接続され得る。中央機器101とネットワークデバイス102が直接的に接続されることは、中央機器101のダウンリンクポートが、ネットワークデバイス102のアップリンクポートに接続されることを意味する。中央機器101とネットワークデバイス102が間接的に接続されることは、中央機器101のダウンリンクポートが、別のデバイスのアップリンクポートに接続され、別のデバイスのダウンリンクポートが、ネットワークデバイス102のアップリンクポートに接続されることを意味する。
直接的な接続方式および間接的な接続方式を通して、複数のネットワークデバイス102は、マルチレベルネットワークトポロジを形成し得る。中央機器101に直接的に接続された少なくとも1つのネットワークデバイス102は、第1のレベルのネットワークトポロジを形成し、第1のレベルのネットワークトポロジ内の各ネットワークデバイス102は、第1のレベルのネットワークデバイスとして使用され得、第1のレベルのネットワークデバイスは、情報を中央機器101と直接的に交換することができる。同様に、第1のレベルのネットワークデバイスに直接的に接続された少なくとも1つのネットワークデバイスは、第2のレベルのネットワークトポロジを形成し、第2のレベルのネットワークトポロジ内の各ネットワークデバイス102は、第2のレベルのネットワークデバイス102として使用され得、第2のレベルのネットワークデバイス102は、第1のレベルのネットワークデバイス102のパケット転送機能を使用することによって、情報を中央機器101と交換することができる。
図1に示される実装環境に基づいて、中央機器101および複数のネットワークデバイス102は、マルチレベルネットワークを形成し得、たとえば、3つ以上のレベルを有するネットワークを形成し得る。例として、3レベルネットワークを使用すると、中央機器101は、コアレイヤネットワークに対応しており、第1のレベルのネットワークデバイスは、集約レイヤネットワークに対応しており、第2のレベルのネットワークデバイスは、アクセスレイヤネットワークに対応している。コアレイヤネットワークは、ネットワーク全体のバックボーンであり、ネットワーク全体を接続する際に、重要な役割を果たす。アクセスレイヤネットワークは、ユーザ接続またはネットワークアクセス向けの、ネットワーク全体の一部である。集約レイヤネットワークは、アクセスレイヤネットワークのトラフィックを集約し、それを介してコアレイヤネットワークに到達するアップリンクを提供するために使用される。
中央機器は、コアレイヤネットワーク上に配備されたデバイスとして、コアスイッチまたはコアルータであり得、第1のレベルのネットワークデバイスは、集約レイヤネットワーク上に配備されたデバイスとして、集約スイッチであり得、第2のレベルのネットワークデバイスは、アクセスレイヤネットワークに配備されたデバイスとして、アクセススイッチであり得る。
上では、説明のために、3レベルネットワークのアーキテクチャに基づいて、ネットワーキングが実行される例を使用していることに留意されたい。可能な実装においては、3つより多いまたは少ないレベルを有するネットワークが、ネットワーキングのために使用され得る。たとえば、図2を参照すると、コアレイヤネットワークとアクセスレイヤネットワークとを含む2レベルネットワークが、集約レイヤネットワークなしに、配備される。図2に示されるネットワーキングアーキテクチャにおいては、中央機器は、各ネットワークデバイスに直接的に接続される。
以下では、例示的な適用シナリオを参照して、説明を提供する。
現在は、イーサネット上において、従来のパケット交換技術(Packet switching technology、またはpacket−switched technologyと呼ばれる)が、スイッチのために使用される。パケットは、MACアドレス学習および検索を通して、水平に交換され、および垂直に交換される。スイッチの機能アーキテクチャは、MAC集約、パケット解析、パケット編集、パケット交換、およびトラフィック管理などを含む。そのような機能アーキテクチャは、水平交換ネットワーク上においては、相対的に適切であるが、データセンタの普及に伴い、ネットワークトラフィックは、主に垂直交換に基づいており、水平交換に対する要求は、徐々に減少している。元の2レベル交換ソリューションにおいて水平交換をサポートする機能は、冗長および複雑になり、動作中のスイッチの過度に高い消費電力、および不必要なコストの増加をもたらす。したがって、それの中心としてデータセンタを使用するネットワークアーキテクチャにおいては、ネットワークデバイスは、従来のスイッチの複雑な機能を使用することなしに、ちょうどパイプラインが行うように、ユーザ機器のデータをデータセンタに垂直に送信すべきである。これは、スイッチの特徴、すなわち、低電力消費、メンテナンスフリー、および簡素化された機能を実装する。
これを考慮して、図3を参照すると、図3は、本出願の実施形態に従った、スイッチの機能アーキテクチャ図である。MAC集約、パケット解析、パケット編集などのスイッチの機能は、除去され、データパケットMAC交換は、ビットブロック(データブロック)集約方式で置き換えられる。これは、スイッチの複雑さおよび電力消費を大幅に削減することができる。実験評価に従うと、同じスループットの場合、チップの電力消費および規模の観点からは、PHY(物理層)集約チップの電力消費および規模は、MAC集約チップのそれらと比較して、6分の1に削減されることができ、チップのコストの観点からは、PHY集約チップのコストは、MAC集約チップのそれと比較して、10分の1に削減されることができる。
しかしながら、スイッチのMAC層ネットワーク機能が、除去された後、スイッチは、物理層ネットワーク機能だけを有し、アップリンクポートおよびダウンリンクポートのデータを集約および分配することだけはできるが、レイヤ2ネットワークプロトコル、レイヤ3ネットワークプロトコル、またはより高位のレイヤのネットワークプロトコルを識別することはできず、デバイスのポートマッピング関係だけを記憶し、ネットワークトポロジを認識することができない。したがって、既存のレイヤ2ネットワークプロトコルおよびレイヤ3ネットワークプロトコルは、使用されることができず、物理層ネットワークプロトコルをサポートすることができる、新規なトポロジ構築ソリューションが、提供される必要がある。
本出願のこの実施形態は、物理層におけるネットワークデバイスに適用されることができ、ネットワークデバイスが、より高位のレイヤのネットワークプロトコルを識別することができず、ネットワークトポロジを認識しないという条件下において、ネットワークトポロジ構築を実装する問題を解決するために使用されることができる。
例示的なシナリオにおいては、本出願のこの実施形態は、スイッチを含む様々なネットワーク、たとえば、イーサネットアクセスネットワーク、企業スイッチネットワーク、およびキャンパススイッチネットワークに、適用されることができる。それの中心としてデータセンタを使用するネットワークが配備された後、ネットワークトラフィックが、主に垂直送信に基づき、水平交換に対する要件が、減少したとき、スイッチの複雑さ、電力消費、およびコストを大幅に削減するために、本出願の実施形態において提供される方法を実行するためのスイッチが、従来のスイッチの代用になることができる。例示的な適用シナリオにおいては、本出願の実施形態において提供される方法は、次世代アクセススイッチに適用されることができ、ファイバツーザビルディング(Fiber to The Building、以下略して、FTTB)アップグレーディング、ならびにネットワークインフラストラクチャ共同構築および共有などのシナリオに適用可能である。
別の例示的な適用シナリオにおいては、本出願のこの実施形態は、モノのインターネットシナリオに適用されることができる。モノのインターネットデバイスを含むネットワークトポロジを構築し、モノのインターネット内の大量のモノのインターネットデバイス間の接続を実装し、それによって、すべてのモノが接続される機能を実装するために、様々なモノのインターネットデバイスは、本出願の実施形態において提供される方法を実行する。加えて、本出願の実施形態において提供され、デバイスがより高位のレイヤのプロトコルを識別することが可能であることを必要とされない単純なステップを含む、方法においては、モノのインターネットデバイスの低電力消費、低コスト、およびメンテナンスフリーに対する要件が、満足されることができる。これは、デバイスの製造コスト、およびデバイスの動作によって引き起こされるエネルギーオーバヘッドを削減する。
本出願のこの実施形態においては、中央機器は、第1のレベルのネットワークトポロジを構築するために、中央機器に直接的に接続されたネットワークデバイスのデバイス情報を見つけることができる。以下では、図4の実施形態を参照して、詳細な説明を提供する。
図4は、本出願の実施形態に従った、ネットワークトポロジ生成方法のフローチャートである。方法における対話エンティティは、中央機器と、ネットワークデバイスとを含む。方法は、以下のステップを含む。
401。中央機器は、パケットを生成し、パケットは、ポート表示情報と、少なくとも1つのデータブロックとを含む。
中央機器によってパケットを生成するための機会に関して、中央機器は、ネットワークトポロジ構築のための任意の機会において、パケットを生成し得る。たとえば、中央機器は、ネットワークの初期化中に、ネットワークデバイスのデバイス情報を獲得するために、ネットワークデバイスが、ネットワークにアクセスしたときに、すなわち、ネットワークデバイスが、ネットワーク上においてオンラインになったときに、パケットを生成し得る。別の例については、中央機器は、ネットワークデバイスのデバイス情報を周期的に獲得し、ネットワークトポロジを定期的に更新するために、周期的にパケットを生成し得る。さらに別の例については、中央機器は、命令を受信したときに、パケットを生成し得、命令は、中央機器が、ユーザ要件および現在のネットワークステータスに基づいて、リアルタイムに、ネットワークトポロジを構築することができるように、中央機器の入力動作によってトリガされ得る。また別の例については、中央機器は、指定された時点に対応するネットワークトポロジを獲得するために、指定された時点において、パケットを生成し得る。この実施形態においては、中央機器によってパケットを生成するための機会は、限定されない。
ネットワークデバイスがネットワークにアクセスしたときに、パケットが生成されることが、例として使用される。ネットワークデバイスが、ネットワークにアクセスしたとき、コアネットワークデバイスは、ネットワークデバイスが、ネットワークにアクセスしたことを検出することができ、その後、パケットが、生成される。
ネットワークデバイスが、ネットワークにアクセスしたかどうかを検出する実装に関して、可能な実装においては、中央機器は、各ダウンリンクポートのステータスを決定し得る。いずれかのダウンリンクポートが、有効(アップ)状態にあるとき、中央機器は、ダウンリンクポートに接続されたネットワークデバイスが、ネットワークにアクセスしたと決定し得、またはいずれかのダウンリンクポートが、無効(ダウン)状態にあるとき、中央機器は、ダウンリンクポートに接続されたネットワークデバイスが、ネットワークにアクセスしていないと決定し得る。
具体的には、ネットワークデバイスによってネットワークにアクセスする処理において、ネットワークデバイスのアップリンクポートと、中央機器のダウンリンクポートは、有効化される必要があり、ネットワークデバイスのアップリンクポートのパラメータと、中央機器のダウンリンクポートのパラメータが、構成され、2つのポートのパラメータは、互いに一致させられる。ネットワークデバイスのアップリンクポートと、中央機器のダウンリンクポートが、電源オンにされた後、2つのポートは、互いにネゴシエートする。ネゴシエーションが、完了された後、ネットワークリンクが、ネットワークデバイスのアップリンクポートと中央機器のダウンリンクポートとの間に確立される。このケースにおいては、中央機器は、ダウンリンクポートの状態を変更し、ダウンリンクポートの状態を「ダウン」状態から「アップ」状態に調整し、ネットワークデバイスがネットワークにアクセスしたことを検出する。
例示的なシナリオにおいては、図5に示されるネットワークアーキテクチャにおいて、中央機器Aは、4つのダウンリンクポート、すなわち、ポート1、2、3、4を有し、ネットワークデバイスBは、2つのアップリンクポート、すなわち、ポート0a、0bを有し、中央機器Aのダウンリンクポート1とネットワークデバイスBのアップリンクポート0aとの間のネットワークリンクは、リンク1として示される。中央機器Aのダウンリンクポート1と、ネットワークデバイスBのアップリンクポート0aが、有効化され、電源オンにされた後、ダウンリンクポート1は、アップリンクポート0aとネゴシエートする。ネゴシエーションが、終了した後、中央機器Aのダウンリンクポート1の状態は、ネットワークデバイスBがネットワークにアクセスしたことを中央機器Aが検出するように、「アップ」状態に設定される。
本出願のこの実施形態は、中央機器によって生成されるパケットのための新規なパケット構造を提供し、新規なパケット構造は、主に、ポート表示情報と、データブロックとを含む。パケット構造に基づいて、パケットは、ポート表示情報と、少なくとも1つのデータブロックとを含み得る。設計されたパケット構造を使用することによって、パケットを送信/受信するデバイスが、レイヤ2プロトコルおよび/またはレイヤ3プロトコルをサポートすることが可能である必要があるという、厳しい制限が、克服され、パケット構造は、物理層におけるデバイスに適用可能であることができる。このようにして、物理層におけるネットワークデバイスは、パケットを識別および解析することができ、したがって、適用範囲が、大幅に拡張される。
以下では、(1)ポート表示情報と、(2)データブロックとを別々に詳述する。
(1)ポート表示情報
以下では、ポート表示情報を、ポート表示情報の機能、ロケーション、内容、フォーマット、および生成処理などの観点から、別々に詳述する。
(1.1)ポート表示情報の機能:ポート表示情報は、従来のレイヤ3ヘッダ(IPヘッダ)と、レイヤ2ヘッダ(MACヘッダ)に取って代わることができ、物理層に適用可能な新しいヘッダ情報として使用され得、パケット内のフィールドであり得る。ポート表示情報は、各データブロックの送信先ポートを示すために使用され、すなわち、パケット内の各データブロックが送信される、ネットワークデバイスの特定のポートを示すことができる。ネットワークデバイスは、ポート表示情報を識別することによって、異なる送信先ポート上のデータブロックを区別することができる。
(1.2)ポート表示情報の内容:可能な実装においては、ポート表示情報は、少なくとも1つのポート識別子を含み得、各ポート識別子は、ネットワークデバイスの1つのポートに対応しており、各ポート識別子は、パケット内の少なくとも1つのデータブロックが、対応するポートが送信先ポートであるデータブロックを含むかどうかを識別するために使用される。
ポート識別子に対応するポートの観点から、ネットワークデバイスは、異なる機能を有する2つのポート、すなわち、制御ポートと、ダウンリンクポートとを有し得る。それに対応して、ポート識別子は、制御ポート識別子と、ダウンリンクポート識別子とを含み得、制御ポート識別子は、ネットワークデバイスの制御ポートに対応しており、ダウンリンクポート識別子は、ネットワークデバイスのダウンリンクポートに対応している。
たとえば、図6は、本出願の実施形態に従った、ポート表示情報の概略図である。図6における各「X」は、ポート識別子を表し、パケット内の「X」の値は、実際には、「1」または「0」であり得る。図6に示されるポート表示情報において、第1の「X」は、ポート表示情報における第1のビットであり、制御ポート識別子を表し、第2の「X」から最後の「X」は、ポート表示情報における第2のビットからポート表示情報における最後のビットであり、ダウンリンクポート識別子を表す。たとえば、第2の「X」は、ポート1に対応するダウンリンクポート識別子を表し、第3の「X」は、ポート2に対応するダウンリンクポート識別子を表す。
制御ポートは、コンソールポート、管理ポート、または制御管理ポートとも呼ばれ、ネットワークデバイスのための命令および/または構成されたパラメータをネットワークデバイスに送信するように構成される。制御ポートは、論理的にポートであり得、すなわち、仮想ポートであり得、ソフトウェアを使用することによって実装され得る。たとえば、制御ポートは、コンピュータプログラムを含む、機能モジュールであり得る。任意選択で、制御ポートは、ネットワークデバイスのポート0として示され得る。
この実施形態において提供されるパケットにおいては、制御データブロックの送信先ポートは、制御ポートであり得る。加えて、制御データブロックの送信先ポートは、実際の要件に応じて、代替として、ネットワークデバイスの別のポートであり得る。制御データブロックは、制御管理パケットとして機能するように提供され得、制御データブロックは、ネットワークデバイスに送信される、ネットワークデバイスのための命令および/または構成されたパラメータを運ぶ。
制御ポート識別子は、少なくとも1つのデータブロックが、制御データブロックを含むかどうかを示すために使用され、たとえば、パケットが、制御ポートが送信先ポートであるデータブロックを有するかどうかを示し得る。少なくとも1つのデータブロックが、制御データブロックを有するとき、ネットワークデバイスが、少なくとも1つのデータブロックから制御データブロックを見つけ、その後、中央機器によってネットワークデバイスに送信された命令および/またはパラメータを獲得するように、ネットワークデバイスは、制御ポート識別子を使用することによって、少なくとも1つのデータブロックが、制御データブロックを有するかどうかを決定し得る。
ダウンリンクポートは、ネットワークデバイスの入出力ポートであり、パケットを次のレベルのネットワークデバイスまたは端末に送信するように構成される。ダウンリンクポートは、物理的にポートであり得、すなわち、物理的ポートであり得、または、ダウンリンクポートは、論理的にポートであり得、すなわち、仮想ポートであり得る。ダウンリンクポートが、仮想ポートであるとき、ダウンリンクポートは、ソフトウェアを使用することによって、実装され得る。たとえば、ダウンリンクポートは、コンピュータプログラムを含む、機能モジュールであり得る。任意選択で、ネットワークデバイスは、n個(nは正の整数)のダウンリンクポートを有し得る。異なるダウンリンクポートは、異なる次のレベルのネットワークデバイスに接続されることができ、n個のダウンリンクポートは、n個の次のレベルのネットワークデバイスに接続されることができ、n個のダウンリンクポートは、それぞれ、ネットワークデバイス内のポート1からポートnとして示され得る。
ダウンリンクポート識別子は、少なくとも1つのデータブロックが、ダウンリンクデータブロックを含むかどうか、たとえば、少なくとも1つのデータブロックが、ダウンリンクポートが送信先ポートであるデータブロックを有するかどうかを示すために使用される。説明を区別するために、この実施形態においては、ダウンリンクデータブロックは、別のデバイスに送信されるデータを運ぶ。別のデバイスは、送信先端末と、ネットワークデバイスに接続される次のレベルのネットワークデバイスとを含み得る。ダウンリンクデータブロックは、ダウンリンクポートを通して、別のデバイスに送信され、ダウンリンクポート識別子は、パケット内の少なくとも1つのデータブロックが、ダウンリンクデータブロックを有するかどうかを識別するために使用される。少なくとも1つのデータブロックが、ダウンリンクデータブロックを有するとき、ネットワークデバイスが、少なくとも1つのデータブロックからダウンリンクデータブロックを見つけ、その後、ダウンリンクデータブロックを別のデバイスに送信するように、ネットワークデバイスは、ダウンリンクポート識別子を使用することによって、少なくとも1つのデータブロックが、ダウンリンクデータブロックを有するかどうかを決定し得る。
ポート識別子の値の観点から、ポート識別子の値は、有効な識別子と、無効な識別子とを含み得る。有効な識別子は、少なくとも1つのデータブロックが、対応するポートが送信先ポートであるデータブロックを有することを示すために使用され、無効な識別子は、少なくとも1つのデータブロックが、対応するポートを有するデータブロックを有さないことを示すために使用される。
具体的には、少なくとも1つのデータブロックが、対応するポートが送信先ポートであるデータブロックを有するとき、ポート識別子の値は、有効な識別子であり、そのため、ネットワークデバイスは、ポート識別子が有効な識別子であることを識別したとき、少なくとも1つのデータブロックが、対応するポートが送信先ポートであるデータブロックを有することを知る。少なくとも1つのデータブロックが、対応するポートが送信先ポートであるデータブロックを有さないとき、ポート識別子の値は、無効な識別子であり、そのため、ネットワークデバイスは、ポート識別子が無効な識別子であることを識別したとき、少なくとも1つのデータブロックが、対応するポートが送信先ポートであるデータブロックを有さないことを知る。言い換えると、少なくとも1つのデータブロックが、対応するポートが送信先ポートであるデータブロックを有するかどうかに関する異なるケースは、有効な識別子および無効な識別子を使用することによって、区別されることができる。
有効な識別子は、数字、文字、文字列、および別のデータ型を含み得る。たとえば、有効な識別子は、1、Y、Yes、T、およびTrueなどを含み得る。無効な識別子は、数字、文字、文字列、および別のデータ型を含み得る。たとえば、無効な識別子は、0、N、No、F、およびFalseなどを含み得る。
有効な識別子が1であり、無効な識別子が0であることが、例として使用される。ポート表示情報内の1である制御ポート識別子は、パケットが制御データブロックを有することを示し得、ポート表示情報内の0である制御ポート識別子は、パケットが制御データブロックを有さないことを示し得る。同様に、ポート表示情報内の1であるダウンリンクポート識別子は、パケットがダウンリンクデータブロックを有することを示し得、ポート表示情報内の0であるダウンリンクポート識別子は、パケットがダウンリンクデータブロックを有さないことを示し得る。
この実施形態において提供されるパケットにおいては、ポート表示情報は、MACアドレスおよび/またはIPアドレスを運ぶ代わりに、各ポート識別子だけを運ぶことによって、データブロックの送信先ポートを示すことができる。したがって、ネットワークデバイスは、レイヤ2プロトコルおよび/またはレイヤ3プロトコルをサポートすることが可能であることを必要とされない。ネットワークデバイスは、ポート表示情報を識別することによって、パケットから各ポート上のデータブロックを見つけることができる。
上では、説明のために、ポート表示情報が、各ポート識別子だけを運ぶことによって、各データブロックの送信先ポートを示す例を使用していることに留意されたい。別の可能な実装においては、ポート表示情報は、代替として、別の方式で、各データブロックの送信先ポートを示し得る。この実施形態においては、データブロックの送信先ポートを示すために、ポート表示情報によって使用される、特定の方式は、限定されない。
(1.3)ポート表示情報のフォーマット:ポート表示情報内の各ポート識別子は、1ビットを占有する。ポート識別子の値が、2進法の1または0であり、各ポート識別子が、1ビット(2進数、以下略して、ビット)を占有するとき、ポート表示情報が、n個のポート識別子を有する場合、ポート表示情報は、合計でnビットを占有する。可能な設計においては、ポート表示情報は、合計で約56ビットを占有する。
ポート表示情報内において各ポート識別子によって占有されるビットは、事前に指定され得る。この実施形態においては、説明のために、ポート表示情報内の第1の事前設定されたロケーションのビットが、制御ポート識別子を運ぶことが指定される例が、使用される。第1の事前設定されたロケーションのビットは、第1のビットであり得、または実際の要件に応じて、別のロケーションに存在するように設計され得る。第1の事前設定されたロケーションのビットは、第1のビットとして設計され、制御ポート識別子は、ポート表示情報内の第1のビットであり、制御ポートは、正確には、ネットワークデバイスのポート0である。このケースにおいては、ポート表示情報における制御ポート識別子のシーケンスは、ネットワークデバイスのポートにおける制御ポートのシーケンスと一致する。
ダウンリンクポート識別子は、ポート表示情報内の第1の事前設定されたロケーションのビット以外のビットで運ばれ得、たとえば、ポート表示情報内の第2のビットから最後のビットのうちのいずれか1つで運ばれ得る。ネットワークデバイスが、複数のダウンリンクポートを有する場合、ポート表示情報は、複数のダウンリンクポート識別子に対応するビットを有し得、複数のビットのソートシーケンスは、ダウンリンクポートの番号と一致し得る。たとえば、ネットワークデバイスが、n個のダウンリンクポートを有する場合、n個のダウンリンクポートの番号は、それぞれ、ポート1、ポート2、...、およびポートnである。図6を参照すると、ポート表示情報は、n個のダウンリンクポート識別子に対応するビットを有し、n個のビットのソートシーケンスは、ポート1のビット、ポート2のビット、...、ポートnのビットである。
(1.4)ポート表示情報のロケーション:ポート表示情報は、パケットのヘッダ内に配置され得る。可能な実装においては、ポート表示情報は、パケット内の第1の情報であり得る。たとえば、ポート表示情報は、パケット内の第1のビットから第56のビットに配置され得る。別の可能な実装においては、パケット内において、他の情報が、ポート表示情報の前に存在し得る。たとえば、図7を参照すると、ポート表示情報の前に、パケットは、同期ヘッダおよびタイプなどの、他の情報をさらに含み得る。同期ヘッダは、2ビットを占有し、タイプは、8ビットを占有し、ポート表示情報は、パケット内の第10から第66のビットに配置され得る。
(1.5)ポート表示情報の生成処理:ポート表示情報内の複数のポート識別子の各々について、中央機器が、ポート表示情報を生成するたびに、中央機器は、少なくとも1つのデータブロックが、対応するポートが送信先ポートであるデータブロックを有するかどうかに基づいて、ポート識別子の値を決定する。具体的には、少なくとも1つのデータブロックが、対応するポートが送信先ポートであるデータブロックを有するとき、ポート識別子の値は、有効な識別子であると決定され、または、少なくとも1つのデータブロックが、対応するポートが送信先ポートであるデータブロックを有さないとき、ポート識別子の値は、無効な識別子であると決定される。複数のポート識別子の値が、獲得された後、複数のポート識別子の値は、ポート表示情報を形成し得る。
この実施形態においては、ネットワークデバイスのデバイス情報を獲得するために、中央機器に直接的に接続されたネットワークデバイスが発見される、シナリオにおいて、中央機器は、ネットワークデバイスに送信される制御データブロックを生成する。したがって、ポート表示情報の生成中、ポート表示情報内の制御ポート識別子の値は、有効な識別子であると決定される。たとえば、1が、ポート表示情報内の第1のビットに加算され得る。加えて、ダウンリンクポート識別子の値について、中央機器が、データをネットワークデバイスのダウンリンクポートに送信する要件を有する場合、ポート表示情報内の対応するダウンリンクポート識別子の値は、有効な識別子であり得る。たとえば、1が、ポート表示情報内の第2のビットに加算され得る。中央機器が、データをネットワークデバイスのダウンリンクポートに送信する要件を有さない場合、ポート表示情報内の対応するダウンリンクポート識別子の値は、無効な識別子であり得る。
上述の(1.1)〜(1.5)を参照すると、本出願のこの実施形態においては、ポート表示情報を提供することによって、少なくとも以下の技術的効果が、達成されることができる。
第1に、各データブロックの送信先ポートを示す機能が、実装される。各データブロックが送信されるポートは、各ポート識別子を使用することによって、正確に識別されることができる。ネットワークデバイスは、パケットから対応するポート上のデータブロックを見つけるために、各ポート識別子に基づいて、パケットが対応するポート上にデータブロックを有するかどうかを知ることができる。
第2に、ポート表示情報は、物理層におけるネットワークデバイスによって識別されることができる。ポート表示情報は、IPアドレスおよびMACアドレスを運ぶ必要がない。したがって、ネットワークデバイスは、レイヤ2プロトコルおよびレイヤ3プロトコルをサポートすることが可能である必要なしに、ポート表示情報を識別し、各データブロックの送信先ポートを決定することができる。このようにして、適用範囲が、拡張され、柔軟性は、望ましいものになる。
第3に、データボリュームが、小さい。ポート表示情報内の各ポート識別子は、1ビットだけを占有しさえすればよい。中央機器が、データブロックをネットワークデバイスのポートに送信する必要があるとき、中央機器は、少なくとも1つのデータブロックが、対応するポートが送信先ポートであるデータブロックを有することを示すために、ポートに対応するビットに1を加算しさえすればよい。中央機器が、データブロックをネットワークデバイスのポートに送信する必要がないとき、中央機器は、少なくとも1つのデータブロックが、対応するポートが送信先ポートであるデータブロックを有さないことを示すために、ポートに対応するビットに0を加算しさえすればよい。このように、ポート表示情報の総データボリュームは、非常に小さく、したがって、使用される送信リソースを削減する。
(2)データブロック(ビットブロック)は、データのセグメントがエンコードされた後に形成される、コードブロックである。この実施形態において提供されるパケット構造においては、パケットのデータ部分は、少なくとも1つのデータブロックに分割される。データブロックは、ネットワークデバイスに送信される命令、たとえば、デバイス情報送信命令を運び得る。代替として、データブロックは、ネットワークデバイス上において構成を実行するために使用される情報、たとえば、ポートマッピング関係を運び得る。代替として、データブロックは、データパケットとして使用され、送信される必要があるデータ、たとえば、送信元端末によって生成されたデータを運び得る。パケット内のすべてのデータは、対応する送信先ポートに基づいて、ブロックの単位でエンコードされる。1つのデータブロック内のデータの送信先ポートは、同じであり、送信先ポートが異なるデータは、異なるデータブロック内に存在する。データが、一度に複数の送信先ポートに送信される必要がある場合、複数のデータブロックが、1つのパケット内に存在する。たとえば、データが、ネットワークデバイスの制御ポートおよびダウンリンクポート1に送信される必要がある場合、パケットは、制御データブロックと、ダウンリンクポート1上のダウンリンクデータブロックとを有する。
データブロックタイプについて、各データブロックは、ネットワークデバイスの1つのポートに対応しており、データブロックは、対応するポートタイプに基づいて、制御データブロックと、ダウンリンクデータブロックとを含む。制御データブロックの送信先ポートは、ネットワークデバイスの制御ポートであり、制御データブロックは、ネットワークデバイスのための命令または構成されたパラメータを、ネットワークデバイスに送信するために使用される。ダウンリンクデータブロックの送信先ポートは、ネットワークデバイスのダウンリンクポートであり、ダウンリンクデータブロックは、ネットワークデバイスのダウンリンクポートを通して、データを別のデバイスに送信するために使用される。
制御データブロックに関して、制御データブロックは、命令または構成されたパラメータを運び、パケット内の少なくとも1つのデータブロックにおける制御データブロックのロケーションは、事前に指定され得る。この実施形態においては、制御データブロックのロケーションは、第2の事前設定されたロケーションと呼ばれる。第2の事前設定されたロケーションのビットは、第1のビットであり得、または実際の要件に応じて、別のロケーションに存在するように設計され得る。中央機器は、少なくとも1つのデータブロックにおける第2の事前設定されたロケーションに、制御データブロックを配置し得る。第2の事前設定されたロケーションのビットは、第1のビットとして設計され得る。ネットワークデバイスは、ポート表示情報を識別した後、ポート表示情報の後の第1のデータブロックを見つけ、すなわち、制御データブロックを獲得する。
ダウンリンクデータブロックに関して、ダウンリンクデータブロックは、ダウンリンクポートを通して、ダウンリンクにおいてネットワークデバイスによって送信される必要があるデータを運ぶ。たとえば、ネットワークデバイスのダウンリンクポートが、次のレベルのネットワークデバイスに接続されるとき、ダウンリンクデータブロックは、次のレベルのネットワークデバイスに送信される命令または構成されたパラメータを運び得る。別の例については、ネットワークデバイスのダウンリンクポートが、端末に接続されるとき、ダウンリンクデータブロックは、端末に送信されるデータを運び得る。このようにして、ネットワークトポロジ構築中、デバイス情報を報告するように、次のレベルのネットワークデバイスに命令するために、デバイス情報送信命令が、ダウンリンクデータブロックに追加され得る。ネットワークトポロジの配信中、ポートマッピング関係を記憶および使用するように、次のレベルのネットワークデバイスに命令するために、ポートマッピング関係が、ダウンリンクデータブロックに追加され得る。データ送信中、ユーザデータを端末に送信するために、ユーザデータが、ダウンリンクデータブロックに追加され得る。
パケット内の少なくとも1つのデータブロックにおけるダウンリンクデータブロックのロケーションは、事前決定され得る。データブロックが、ネットワークデバイスの複数のダウンリンクポートを通して、ダウンリンクにおいて送信される必要がある場合、パケットは、複数のダウンリンクデータブロックを有し得、複数のダウンリンクデータブロックのソートシーケンスは、ダウンリンクポートのソートシーケンスに一致し得る。たとえば、データが、ネットワークデバイスのポート1からポートnを通して、ダウンリンクにおいて送信される必要がある場合、ポート1上のダウンリンクデータブロックからポートn上のダウンリンクデータブロックは、パケット内において連続的にソートされる。
データブロックのエンコーディング方式について、可能な実装においては、各データブロックは、64b/66b方式でエンコードされ得る。具体的には、各データブロックは、66ビットを有する。第1の2ビットは、プリアンブル部であり、受信側において、データアライメントおよびビットストリーム同期のために使用され得、他の64ビットは、命令またはデータを運ぶ、データ部である。
たとえば、図8は、本出願の実施形態に従った、パケットの概略図である。パケットは、複数のデータブロックを有する。第1のデータブロックは、ネットワークデバイスの制御ポートに対応しており、制御データブロックであり、第2のデータブロックは、ネットワークデバイスのポート1に対応しており、ポート1上のダウンリンクデータブロックであり、第3のデータブロックは、ネットワークデバイスのポート2に対応しており、ポート2上のダウンリンクデータブロックであり、以下も同様である。
任意選択で、パケット内の少なくとも1つのデータブロックは、複数の期間に従って、連続的にソートされ得、各期間には、少なくとも1つのデータブロックが、存在する。1つの期間において、異なるデータブロックの送信先ポートは、異なり、データブロックは、ポートと1対1対応にある。具体的には、以下の2つのケースが、含まれる。
ケース1:すべてのポートに対応するデータブロックが、1つの期間内に含まれ得る。たとえば、ネットワークデバイスは、制御ポートと、ポート1と、ポート2とを有する。このケースにおいては、期間におけるパケット内には、3つのデータブロックが、すなわち、制御データブロックと、ポート1上のダウンリンクデータブロックと、ポート2上のダウンリンクデータブロック2が、存在する。
ケース2:いくつかのポートに対応するデータブロックが、1つの期間内に含まれ得る。たとえば、ネットワークデバイスは、制御ポートと、ポート1と、ポート2とを有する。命令または構成情報だけが、ネットワークデバイスに送信される必要があり、データは、ネットワークデバイスによってダウンリンクにおいて送信される必要がない場合、期間におけるパケット内には、1つのデータブロックが、すなわち、制御データブロックが、存在する。別の例については、ネットワークデバイスは、制御ポートと、ポート1と、ポート2とを有する。データだけが、ポート1およびポート2を通して、ネットワークデバイスによってダウンリンクにおいて送信される必要があり、命令または構成情報は、ネットワークデバイスに送信される必要がない場合、期間におけるパケット内には、2つのデータブロックが、すなわち、ポート1上のダウンリンクデータブロックと、ポート2上のダウンリンクデータブロック2が、存在する。
言い換えると、1つの期間におけるパケットが、いずれかのポートに対応するデータブロックを有するかどうかは、要件に応じて、柔軟に決定されることができる。期間におけるパケットは、すべてのポートに対応するデータブロック、またはデフォルトでいくつかのポートに対応するデータブロックを含み得る。この実施形態においては、これは、限定されない。
異なる期間におけるデータブロックのソート規則は、同じである。複数の期間において同じロケーションにあるデータブロックの送信先ポートは、同じである。たとえば、各期間における第1のデータブロックは、制御データブロックであり、各期間における第2のデータブロックは、ポート1上のダウンリンクデータブロックである。言い換えると、いずれかのポートに対応するデータブロックについて、データブロックが、第1の期間におけるロケーションi(iは正の整数)に存在する場合、データブロックは、第2の期間、第3の期間、...、および最後の期間においても、ロケーションiに存在する。
たとえば、図9は、本出願のこの実施形態による、パケットの概略図である。パケット中のデータブロックは、2つの期間にソートされる。第1の期間では、第1のデータブロックは、制御データブロックであり、第2のデータブロックは、ポート1上のダウンリンクデータブロックであり、第2の期間では、第1のデータブロックは、制御データブロックであり、第2のデータブロックは、ポート1上のダウンリンクデータブロックである。第1の期間中のデータブロックのソート規則が、第2の期間中のデータブロックのそれと同じであることが学習され得る。
複数の期間のフォーマットを設計することによって、単一のデータブロックの容量に対する制限が克服されることが可能であり、パケットの拡張性が改善される。各64b/66bのデータブロックは、最大64ビットのデータを搬送し、単一のデータブロックは、通常、すべてのデータに適応する要件を満たすことができない。この実施形態では、中央機器がネットワークデバイスのポートに大量のデータを送る必要がある場合、中央機器は、ポートのための複数のデータブロックを生成し、すべてのデータで複数のデータブロックをパディングし、複数の期間中に複数のデータブロックをソートし得る。データブロックが各期間中に順番にソートされることを保証しながら、パケット容量が著しく増加されることが可能である。さらに、パケットごとに期間の長さが要件に応じて決定され得る。搬送される必要があるデータの量が比較的少ない場合、データブロックのための比較的短い長さの期間があり得、したがって、パケットの長さが比較的短くなる。搬送される必要があるデータの量が比較的多い場合、データブロックのための比較的長い長さの期間があり得、したがって、パケットの長さが比較的長くなる。パケットの長さが要件に応じて柔軟に調整できることが学習されることが可能であり、拡張性および柔軟性は比較的望ましい。
データブロックコンテンツについて、このステップでは、ネットワークデバイスのデバイス情報を取得するために、中央機器は、デバイス情報送信命令を取得し得、少なくとも1つのデータブロック中の制御データブロックにデバイス情報送信命令を追加し、したがって、ネットワークデバイスは、デバイス情報送信命令に従ってネットワークデバイスのデバイス情報を送る。
デバイス情報送信命令は、ネットワークデバイスのデバイス情報を取得するために使用され、ネットワークデバイスにデバイス情報を送るように命令することができる。デバイス情報送信命令は、簡易ネットワーク管理プロトコル(Simple Network Management Protocol、以下略してSNMP)中の命令、リンクレイヤ発見プロトコル(Link Layer Discovery Protocol、以下略してLLDP)中の命令、ネットワーク構成(Network Configuration、以下略してNETCONF)プロトコル中の命令、またはデバイスに情報を報告するように命令することができる別の命令であり得る。たとえば、デバイス情報送信命令は、SNMP中の「get」命令であり得る。
制御データブロックにデバイス情報送信命令を追加する処理に関して、可能な実装では、中央機器は、最初に、複数のブランクデータブロックを生成し、ブランクデータブロック中で、第2のプリセットロケーションに配置されるブランクデータブロックを決定し、パディングされるべき制御データブロックとしてブランクデータブロックを使用し、パディングされるべき制御データブロックに対してデータ書込み動作を実行して、デバイス情報送信命令を書き込み得る。このようにして、制御データブロックは、デバイス情報送信命令を搬送する。ブランクデータブロックは、データでパディングされないデータブロックであり、大量のゼロまたは他のデフォルトデータを含み得る。
任意選択で、データブロックに対応する複数の期間に基づいて、中央機器は、各期間中のパディングされるべき制御データブロックを決定し、複数のパディングされるべき制御データブロックに対してデータ書込み動作を連続的に実行して、デバイス情報送信命令を書き込み得る。このようにして、複数のパディングされた制御データブロックは、組み合わされた後に完全なデバイス情報送信命令を搬送する。
要約すれば、上記は、(1)ポート表示情報と(2)データブロックとを別々に記述する。中央機器は、最初に、ポート表示情報と少なくとも1つのデータブロックとを生成し、次いで、ポート表示情報と少なくとも1つのデータブロックとをカプセル化して、パケットを取得し得る。カプセル化されたパケット中で、ポート表示情報は、ヘッダ中に位置し得、少なくとも1つのデータブロックは、ポート表示情報の後に位置し得る。
402.中央機器は、ネットワークデバイスにパケットを送る。
中央機器は、ネットワークデバイスに接続されたダウンリンクポートを決定し、ダウンリンクポートを通してパケットを送り得る。パケットは、ネットワークリンクを介して中央機器のダウンリンクポートからネットワークデバイスのアップリンクポートに送信され、したがって、ネットワークデバイスのアップリンクポートはパケットを受信する。
任意選択で、ステップ401では、中央機器によってパケットを生成するトリガオケージョンは、ネットワークデバイスがネットワークにアクセスしたことを検出することである場合、中央機器は、状態が変更されているダウンリンクポート、すなわち、状態が「アップ」状態に設定されているダウンリンクポートを決定し、パケットを送るためのダウンリンクポートとしてダウンリンクポートを使用し得る。
例示的なシナリオでは、図5を参照すると、アップリンクポート0aがネットワークにアクセスすることをネットワークデバイスBが可能にし、中央機器のダウンリンクポート1の状態が、「ダウン」状態から「アップ」状態に調整される場合、このステップでは、中央機器は、ダウンリンクポート1を通してパケットを送り、したがって、パケットは、ダウンリンクポート1を通してネットワークデバイスBのアップリンクポート0aに到着する。アップリンクポート0bがネットワークにアクセスすることをネットワークデバイスBが可能にし、中央機器のダウンリンクポート2の状態が、「ダウン」状態から「アップ」状態に調整される場合、このステップでは、中央機器は、ダウンリンクポート2を通してパケットを送り、したがって、パケットは、ダウンリンクポート2を通してネットワークデバイスBに到着する。
403.ネットワークデバイスは、パケットを受信し、ポート表示情報に基づいて少なくとも1つのデータブロック中の制御データブロックを決定する。
パケット中のポート表示情報を決定する特定の処理に関して、ネットワークデバイスは、ポート表示情報のロケーションを取得し、ポート表示情報のロケーションに基づいてポート表示情報を決定して、パケット中のポート表示情報を識別し得る。たとえば、ポート表示情報が、パケット中の第10のビットから第66のビット中に位置し得ることが事前に指定され得、この場合、ネットワークデバイスは、パケット中の第10のビットから第66のビットを決定し、パケット中の第10のビットから第66のビットを読み取って、ポート表示情報を取得し得る。
制御データブロックを決定する特定の処理に関して、可能な実装では、ネットワークデバイスは、以下のステップ1からステップ3でパケット中の制御データブロックを決定し得る。
ステップ1:ネットワークデバイスは、ポート表示情報中の制御ポート識別子を識別する。
ネットワークデバイスは、制御ポート識別子のロケーション、すなわち、第1のプリセットロケーションを事前記憶し得、ネットワークデバイスは、ポート表示情報中の第1のプリセットロケーションのビットをパースして、ビット中で搬送される制御ポート識別子を取得し得る。第1のプリセットロケーションのビットが第1のビットであることは、一例として使用される。ネットワークデバイスは、第1のビット中で搬送される制御ポート識別子を取得するためにポート表示情報中の第1のビットを識別し得る。
ステップ2:ネットワークデバイスは、制御ポート識別子が有効な識別子であるのかどうかを決定する。
制御ポート識別子が有効な識別子であるとき、少なくとも1つのデータブロックは、送信先ポートが制御ポートであるデータブロックを含むことを示し、したがって、ネットワークデバイスはステップ3を実行する。制御ポート識別子が無効な識別子であるとき、少なくとも1つのデータブロックは、送信先ポートが制御ポートであるデータブロックを含まないことを示し、したがって、ネットワークデバイスはステップ3を実行する必要がない。
有効な識別子が1であり、無効な識別子が0であることは、一例として使用される。ネットワークデバイスは、制御ポート識別子が1であるのかどうかを決定し、制御ポート識別子が1であるとき、ステップ3を実行し得る。
ステップ3:ネットワークデバイスは、少なくとも1つのデータブロックから制御データブロックを決定する。
ネットワークデバイスは、少なくとも1つのデータブロック中の制御データブロックのロケーション、すなわち、第2のプリセットロケーションを取得し、少なくとも1つのデータブロック中の第2のプリセットロケーションにおけるデータブロックを識別し、第2のプリセットロケーションにおけるデータブロックを制御データブロックとして使用し得る。第2のプリセットロケーションのビットが第1のビットであることは、例として使用される。ネットワークデバイスは、少なくとも1つのデータブロック中の第1のデータブロックを識別し、第1のデータブロックを制御データブロックとして使用し得る。
任意選択で、パケット中のデータブロックが、複数の期間に従って連続的にソートされる場合、ネットワークデバイスは、複数のデータブロックを取得するために各期間中の第2のプリセットロケーションにおけるデータブロックを決定し、すべての複数のデータブロックを制御データブロックとして使用し得る。
404.ネットワークデバイスは、デバイス情報送信命令を取得するために制御データブロックをパースし、デバイス情報送信命令に従って中央機器にデバイス情報を送る。
ステップ401において、中央機器は、制御データブロックにデバイス情報送信命令を追加する。したがって、このステップにおいて、ネットワークデバイスは、制御データブロック中で搬送されるデバイス情報送信命令を取得するために制御データブロックをパースし得、ネットワークデバイスは、デバイス情報送信命令に従って、中央機器がネットワークデバイスにデバイス情報を報告するように命令することを学習し得る。この場合、デバイス情報送信命令に応答して、ネットワークデバイスは、ネットワークデバイスのデバイス情報を取得し、中央機器にネットワークデバイスのデバイス情報を送り、したがって、中央機器は、ネットワークデバイスのデバイス情報に基づいてネットワークトポロジを生成する。
ネットワークデバイスのデバイス情報は、ネットワークトポロジを生成するために中央機器によって使用される。ネットワークデバイスのデバイス情報は、ネットワークデバイスの識別子とネットワークデバイスのポート情報とを含み得る。ネットワークデバイスの識別子は、対応するネットワークデバイスを識別するために使用され、ネットワークデバイスの番号、名前などであり得る。ネットワークデバイスのポート情報は、ネットワークデバイスのアップリンクポート情報および/またはダウンリンクポート情報を含み得る。ネットワークデバイスのポート情報は、ポートの量、ポート識別子、ポートが「アップ」状態にあるのかどうか、ポートタイプ、ポートのトラフィックシェーピングレート、ポートのシンプレックス/デュプレックスモード、ポートのリンクタイプ、ポートのネットワークケーブルタイプなどを含み得る。ポート識別子は、対応するポートを識別するのに使用され、ポートの番号、名前などであり得る。ポートのシンプレックス/デュプレックスモードは、シンプレックス/デュプレックスモード、全二重モード、自動ネゴシエーションなどを含み得る。
ネットワークデバイスによってデバイス情報を送る特定の処理に関して、可能な実装では、ネットワークデバイスは、本出願のこの実施形態において提供される新規のパケットフォーマットを使用することによってパケットを生成し、パケットにネットワークデバイスのデバイス情報を追加し、次いで、パケットを送り、それにより、デバイス情報を送り得る。
ネットワークデバイスによってパケットを生成する特定の実装では、ネットワークデバイスによってパケットを生成する処理は、中央機器によってパケットを生成することの逆処理と見なされ得る。ネットワークデバイスは、制御ポートを使用することによってパケットを生成し得る。パケットは、ポート表示情報と制御データブロックとを含み、制御データブロックは、デバイス情報を搬送する。可能な実装では、ネットワークデバイスは、最初に、ポート表示情報と制御データブロックとを生成し、制御データブロックにデバイス情報を追加し、ポート表示情報と制御データブロックとをカプセル化して、パケットを取得し得る。
ネットワークデバイスによって生成されたパケット中のポート表示情報は、上記の説明において中央機器によって生成されたポート表示情報と同様である。違いは、中央機器によって生成されたパケットがネットワークデバイスにダウンリンク中で送信され、中央機器によって生成されたポート表示情報が識別のためにネットワークデバイスによって使用されるということにある。したがって、中央機器によって生成されたポート表示情報は、各データブロックの送信先ポートを示すために使用され、したがって、データブロックは、対応する宛先ポートにダウンリンク中で送信される。ネットワークデバイスによって生成されたパケットは、中央機器にアップリンク中で送信され、ネットワークデバイスによって生成されたポート表示情報は、識別のために中央機器によって使用される。したがって、ネットワークデバイスによって生成されたポート表示情報は、各データブロックのソースポートを示すために、たとえば、制御データブロックのソースポートが制御ポートであることを示すために使用され、したがって、中央機器は、ソースポートを示す機能を使用することによってネットワークデバイスの、各データブロックが来る特定のポートを通知される。
このステップでは、制御データブロックのソースポートはネットワークデバイスの制御ポートである。したがって、ポート表示情報の生成中に、ネットワークデバイスは、有効な識別子としてポート表示情報中に制御ポート識別子を設定し、たとえば、ポート表示情報中の第1のビットに1を追加する。パケットが制御ポートから来た制御データブロックを有することは、制御ポート識別子を使用することによって示されることが可能であり、したがって、中央機器は、ポート表示情報中の制御ポート識別子に基づいて、パケットが制御ポートから来た制御データブロックを有すると決定する。
中央機器にネットワークデバイスによってパケットを送る特定の処理に関して、ネットワークデバイスは、デバイス情報送信命令を搬送するパケットがステップ405において受信されるアップリンクポートを決定し、アップリンクポートを通して、ネットワークデバイスによってカプセル化されたパケットを送り得る。この場合、パケットは、中央機器のダウンリンクポートとアップリンクポートとの間のネットワークリンクを介して中央機器のダウンリンクポートに送信され、したがって、中央機器のダウンリンクポートは、パケットを受信する。
例示的なシナリオでは、図5を参照すると、ネットワークデバイスBは、ステップ405においてアップリンクポート0aを通して、デバイス情報送信命令を搬送するパケットを受信する場合、ネットワークデバイスBは、このステップにおいてアップリンクポート0aを通して中央機器に、デバイス情報を搬送するパケットを送る。この場合、パケットは、アップリンクポート0aとダウンリンクポート1との間のネットワークリンクを通過し、中央機器Aのダウンリンクポート1に到着する。
デバイス取得命令を搬送するパケットのダウンリンク送信のための処理とデバイス情報を搬送するパケットのアップリンク送信のための処理とを参照すると、デバイス情報を搬送するパケットが、デバイス取得命令を搬送するパケットのダウンリンク送信経路に沿って戻って、アップリンク送信を実装することが学習されることが可能である。したがって、ネットワークデバイスの観点から、ネットワークデバイスは、中央機器のIPアドレスおよびMACアドレスの認識なしに、デバイス情報送信命令を搬送するパケットが受信される特定のアップリンクポートを決定するだけでよく、アップリンクポートを通して、デバイス情報を搬送するパケットを送り、それにより、中央機器にアップリンク送信を実装する。デバイス情報を搬送するパケットは、アップリンクポートとダウンリンクポートとの間の経路に沿って中央機器に自動的に戻る。
この実施形態では、アップリンクパケットの送信中に、ネットワークデバイスは、中央機器のIPアドレスまたはMACアドレスの認識なしに、パケットに中央機器のIPアドレスまたはMACアドレスを追加することなしにネットワークデバイス内のポートを認識するだけでよい。これは、上位レイヤプロトコルがサポートされることが可能であり、上位レイヤプロトコルのヘッダがカプセル化されることが可能であるという制限を克服する。このようにして、適用範囲が大幅に拡大され、柔軟性が改善される。さらに、従来のスイッチがMACアグリゲーションを通してパケットを送る複雑な方式と比較して、ネットワークデバイスは、本出願のこの実施形態において提供されるパケットフォーマットでデバイス情報を送り、したがって、動作が単純である。これは、複雑性を大幅に低減し、動作電力消費量を低減する。
405.中央機器は、デバイス情報を受信する。
中央機器は、ネットワークデバイスによって送られたデバイス情報を受信し、それにより、デバイス情報に基づいてネットワークトポロジを生成し得る。ステップ404においてネットワークデバイスによってパケットを生成し、送る方式を参照すると、中央機器は、ネットワークデバイスからパケットを受信し、パケット中のポート表示情報を決定し、ポート表示情報に基づいて、ソースポートがパケット中の制御ポートであるデータブロックを決定して、制御データブロックを取得し、制御データブロック中で搬送されるデバイス情報を取得するために制御データブロックをパースし得る。
中央機器によってパケットを受信する特定の処理に関して、ネットワークデバイスがアップリンクポートを通してパケットを送った後、パケットは、中央機器とネットワークデバイスのアップリンクポートとの間のネットワークリンクを介して中央機器のダウンリンクポートに送信され、次いで、中央機器のダウンリンクポートがパケットを受信する。
中央機器によって制御データブロックを決定する特定の実装について、可能な実装では、ステップ403におけるネットワークデバイスによって制御データブロックを決定する処理と同様に、中央機器は、以下のステップ1からステップ3においてパケット中の制御データブロックを決定し得る。
ステップ1:中央機器は、ポート表示情報中の制御ポート識別子を決定する。
たとえば、中央機器は、ビット中で搬送される制御ポート識別子を取得するためにポート表示情報中の第1のプリセットロケーションのビットを決定し得る。第1のプリセットロケーションのビットが第1のビットであることは、例として使用される。中央機器は、第1のビット中で搬送される制御ポート識別子を取得するためにポート表示情報中の第1のビットを決定し得る。
ステップ2:中央機器は、制御ポート識別子が有効な識別子であるのかどうかを決定する。
制御ポート識別子が有効な識別子であるとき、パケット中の少なくとも1つのデータブロックは、ソースポートが制御ポートであるデータブロックを有することを示し、したがって、中央機器はステップ3を実行する。制御ポート識別子が無効な識別子であるとき、パケット中の少なくとも1つのデータブロックは、ソースポートが制御ポートであるデータブロックを有しないことを示し、したがって、中央機器はステップ3を実行する必要がない。
有効な識別子が1であり、無効な識別子が0であることは、例として使用される。中央機器は、制御ポート識別子が1であるのかどうかを決定し、制御ポート識別子が1であるとき、ステップ3を実行し得る。
ステップ3:中央機器は、少なくとも1つのデータブロックから制御データブロックを決定する。
中央機器は、少なくとも1つのデータブロック中の制御データブロックのロケーション、すなわち、第2のプリセットロケーションを取得し、少なくとも1つのデータブロック中の第2のプリセットロケーションにおけるデータブロックを決定し、第2のプリセットロケーションにおけるデータブロックを制御データブロックとして使用し得る。第2のプリセットロケーションのビットが第1のビットであることは、例として使用される。中央機器は、少なくとも1つのデータブロック中の第1のデータブロックを決定し、第1のデータブロックを制御データブロックとして使用し得る。
任意選択で、パケット中のデータブロックが、複数の期間に従って連続的にソートされる場合、中央機器は、複数のデータブロックを取得するために各期間中の第2のプリセットロケーションにおけるデータブロックを決定し、すべての複数のデータブロックを制御データブロックとして使用し得る。
要約すれば、ステップ401からステップ405を使用することによって、中央機器は、ネットワークデバイスのデバイス情報を取得し、それにより、ネットワークデバイスの発見を完了する。任意選択で、中央機器は、複数回ステップ401からステップ405を実行し得、複数のネットワークデバイスのデバイス情報を取得し、それにより、すべてのネットワークデバイスの発見を完了する。
例示的なシナリオでは、図10に示されたネットワーキングにおいて、中央機器Aのダウンリンクポート1は、ネットワークデバイスDのアップリンクポート0aに接続され、中央機器Aのダウンリンクポート2は、ネットワークデバイスEのアップリンクポート0aに接続され、中央機器Aのダウンリンクポート3は、ネットワークデバイスFのアップリンクポート0aに接続され、中央機器Aのダウンリンクポート4は、ネットワークデバイスEのアップリンクポート0aに接続される。中央機器Aのダウンリンクポート1がネットワークデバイスDのアップリンクポート0aにパケットを送った後、ネットワークデバイスDのアップリンクポート0aは、デバイス情報を戻し、したがって、中央機器Aは、ネットワークデバイスDのデバイス情報を取得する。同様に、中央機器Aのダウンリンクポート2がネットワークデバイスEのアップリンクポート0aにパケットを送った後、ネットワークデバイスEのアップリンクポート0aは、デバイス情報を戻し、したがって、中央機器Aは、ネットワークデバイスEのデバイス情報を取得する。残りは、類推によって推論され得る。最後に、中央機器は、すべての第1のレベルのネットワークデバイス、ネットワークデバイスD、ネットワークデバイスE、ネットワークデバイスF、およびネットワークデバイスGのデバイス情報を取得する。言い換えれば、中央機器は、すべてのダウンリンクポートを通してパケットを送ることによってすべての第1のレベルのネットワークデバイスのデバイス情報を取得することができる。
この実施形態では、パケット中のデータは、異なる送信先ポートに基づいてブロックの単位で符号化され、各データブロックの送信先ポートは、ポート表示情報を使用することによって示される。ネットワーク初期化シナリオでは、ネットワークデバイスの識別子が未知であるという条件の下でネットワークデバイスのデバイス情報を取得する技術的問題が解決される。
具体的には、中央機器の観点から、ネットワーク初期化中に、ネットワークデバイスの、中央機器のダウンリンクポートが接続された特定のアップリンクポートは中央機器に知られていない。この実施形態では、ネットワークデバイスの任意のアップリンクポートがネットワークにアクセスするとき、中央機器は、ネットワークデバイスの、中央機器のダウンリンクポートが接続された特定のアップリンクポートの認識なしに、上記の方式でデバイス情報を報告するようにネットワークデバイスに一様に命令し得る。たとえば、図5を参照すると、中央機器Aのダウンリンクポート1が「アップ」状態にあるとき、中央機器Aは、ダウンリンクポート1がネットワークデバイスBのアップリンクポート0aに接続されるのか、またはネットワークデバイスBのアップリンクポート0bに接続されるのかを学習することなしにパケットを生成するだけでよく、パケット中のポート表示情報中の制御ポート識別子を有効な識別子として設定し、パケット中の制御データブロックにデバイス情報送信命令を追加し、ダウンリンクポート1を通してパケットを送る。
406.中央機器は、デバイス情報に基づいてネットワークトポロジを生成する。
ネットワークトポロジ(Network Topology)は、複数のネットワークデバイスのデバイス情報を含む。ネットワークトポロジは、リスト、グラフィックス、または別のデータ構造の形態で表され得、ネットワーク上のデバイス間のソート方式を物理的にまたは論理的に反映することができる。
この実施形態では、中央機器がネットワークデバイスのデバイス情報を取得するたびに、中央機器は、中央機器に直接接続されたネットワークデバイスを発見するためにデバイス情報に基づいてネットワークデバイスとネットワークデバイスのポートとを決定し得る。残りは、類推によって推論され得る。中央機器に直接接続されたすべてのネットワークデバイスは、中央機器に直接接続されたすべてのネットワークデバイスのデバイス情報を使用することによって発見され得る。ネットワークトポロジは、すべての発見されたネットワークデバイスのデバイス情報に基づいて生成され得る。
この実施形態において提供される方法では、新規のパケット符号化構造が設計される。パケット中のデータは、送信先ポートに基づいてブロックの単位で符号化され、制御データブロックの送信先ポートは、ポート表示情報を使用することによって示される。中央機器は、そのようなパケット符号化構造中でパケットを生成し、ネットワークデバイスにパケットを送る。次いで、ネットワークデバイスは、パケット中のポート表示情報に基づいてパケットから制御データブロックを発見し、制御データブロック中でデバイス情報送信命令を取得し、それにより、中央機器にデバイス情報を報告することができる。この実施形態では、ネットワークデバイスは、データリンクレイヤのプロトコルを識別する必要がなく、したがって、データリンクレイヤのプロトコルが使用されるときにのみネットワークデバイスが発見されることが可能であるという制限が克服される。さらに、ネットワークデバイスは、ネットワークレイヤのプロトコルを識別する必要がなく、したがって、ネットワークレイヤのプロトコルが使用されるときにのみネットワークデバイスが発見されることが可能であるという制限が克服される。これは、物理レイヤで動作するネットワークデバイスに適用されることが可能である。このようにして、適用範囲が大幅に拡大され、柔軟性が改善される。
中央機器によって、中央機器に直接接続されたネットワークデバイスを発見する処理が、図4の実施形態において説明される。本出願の実施形態では、中央機器は、各レベルのネットワークデバイスのレベルごとの発見を実装して、各レベルのネットワークデバイスのデバイス情報を取得し、それによって、マルチレベルネットワークトポロジ構成を実装することができる。以下は、図11の実施形態に関する詳細な説明を与える。
説明を容易にするために、図11の実施形態における説明のために2レベルのネットワークデバイスが発見される例を使用する。可能な実装では、3以上のレベルのネットワークデバイスを発見し、3以上のレベルをもつネットワークトポロジを構築するために同じ処理が使用され得る。ネットワークデバイスのために展開されるレベルの量および構築されたネットワークトポロジのレベルの量は、本出願では限定されない。
図11は、本出願の実施形態による、ネットワークトポロジの生成方法の流れ図である。本方法における対話エンティティは、中央機器と、第1のレベルのネットワークデバイスと、第2のレベルのネットワークデバイスとを含む。本方法は、図1に示された実装環境に適用されることが可能であり、本方法は、以下のステップを含む。
1101.中央機器は、パケットを生成する。
中央機器によってパケットを生成する場合に関して、可能な実装では、第2のレベルのネットワークデバイスがネットワークにアクセスするとき、中央機器は、第2のレベルのネットワークデバイスがネットワークにアクセスしたことを検出することができ、次いで、パケットが生成される。もちろん、中央機器は、代替として、他の場合にパケットを生成し得る。他の場合の例については、ステップ401を参照されたい。本明細書では、詳細は再び説明されない。
第2のレベルのネットワークデバイスがネットワークにアクセスしたのかどうかを検出する特定の実装では、第2のレベルのネットワークデバイスがネットワークにアクセスしたとき、第1のレベルのネットワークデバイスは、第2のレベルのネットワークデバイスがネットワークにアクセスしたことを検出することができ、第1のレベルのネットワークデバイスは、第2のレベルのネットワークデバイスがネットワークにアクセスしたことを中央機器に通知し得る。中央機器は、第1のレベルのネットワークデバイスの通知を使用することによって第2のレベルのネットワークデバイスがネットワークにアクセスしたことを検出することができる。
第1のレベルのネットワークデバイスによって、第2のレベルのネットワークデバイスがネットワークにアクセスしたのかどうかを検出する特定の実装では、ステップ401における、中央機器によって、第1のレベルのネットワークデバイスがネットワークにアクセスしたのかどうかを検出する実装と同様に、第1のレベルのネットワークデバイスは、各ダウンリンクポートの状態を決定し得る。任意のダウンリンクポートが「アップ」状態にあるとき、第1のレベルのネットワークデバイスは、ダウンリンクポートに接続された第2のレベルのネットワークデバイスがネットワークにアクセスしたと決定し得、または任意のダウンリンクポートが「ダウン」状態にあるとき、第1のレベルのネットワークデバイスは、ダウンリンクポートに接続された第2のレベルのネットワークデバイスがネットワークにアクセスしなかったと決定し得る。
具体的には、第2のレベルのネットワークデバイスによってネットワークにアクセスする処理では、第2のレベルのネットワークデバイスのアップリンクポートと第1のレベルのネットワークデバイスのダウンリンクポートとが使用可能にされる必要があり、第2のレベルのネットワークデバイスのアップリンクポートのパラメータと第1のレベルのネットワークデバイスのダウンリンクポートのパラメータとが構成され、2つのポートのパラメータが互いに一致させられる。次いで、第2のレベルのネットワークデバイスのアップリンクポートと第1のレベルのネットワークデバイスのダウンリンクポートとは互いにネゴシエートする。ネゴシエーションが完了された後、第2のレベルのネットワークデバイスのアップリンクポートと第1のレベルのネットワークデバイスのダウンリンクポートとの間にネットワークリンクが確立される。この場合、第1のレベルのネットワークデバイスは、ダウンリンクポートの状態を変更し、「ダウン」状態から「アップ」状態にダウンリンクポートの状態を調整し、第2のレベルのネットワークデバイスがネットワークにアクセスしたことを検出する。
例示的なシナリオでは、図12に示されたネットワークアーキテクチャでは、第1のレベルのネットワークデバイスBは、4つのダウンリンクポート、ポート1、2、3、および4を有し、第2のレベルのネットワークデバイスDは、2つのアップリンクポート、ポート0aおよび0bを有し、第1のレベルのネットワークデバイスBのダウンリンクポート1と第2のレベルのネットワークデバイスDのアップリンクポート0aとの間のネットワークリンクは、リンク3として示される。第1のレベルのネットワークデバイスBのダウンリンクポート1と第2のレベルのネットワークデバイスDのアップリンクポート0aとが使用可能にされ、ネゴシエーションを完了した後、第1のレベルのネットワークデバイスBのダウンリンクポート1の状態は、「アップ」状態に設定され、第1のレベルのネットワークデバイスBのダウンリンクポート1は、リンク3が有効であることを報告し、したがって、第1のレベルのネットワークデバイスBは、第2のレベルのネットワークデバイスDがネットワークにアクセスしたことを検出することができる。
第1のレベルのネットワークデバイスによって、中央機器に通知する特定の実装では、第1のレベルのネットワークデバイスは、通知メッセージを生成し、中央機器に通知メッセージを送り得、中央機器は、通知メッセージを受信し、通知メッセージに基づいて、第2のレベルのネットワークデバイスがネットワークにアクセスしたと決定し得る。通知メッセージは、第2のレベルのネットワークデバイスがネットワークにアクセスしたことを示すために使用され、通知メッセージは、第1のレベルのネットワークデバイスの制御ポートを使用することによって生成され得る。通知メッセージは、プログラム中にポートステータス変更メッセージとして記録され得、通知メッセージは、状態が「アップ」状態に設定されたダウンリンクポートの識別子を搬送し得る。通知メッセージは、ダウンリンクポートの識別子を使用することによって、第1のレベルのネットワークデバイス中で状態が変更されたダウンリンクポートを示すことができる。通知メッセージは、第1のネットワークデバイスのアップリンクポートを通して送られ、中央機器のダウンリンクポートとアップリンクポートとの間のネットワークリンクを通過し、次いで、中央機器のダウンリンクポートに到着し得る。
例示的なシナリオでは、図12を参照すると、第2のレベルのネットワークデバイスDがネットワークにアクセスしたことを検出した後に、第1のレベルのネットワークデバイスBは、制御ポートを使用することによって通知メッセージを生成し、アップリンクポート0aを通して通知メッセージを送り得る。この場合、中央機器のダウンリンクポート1は、通知メッセージを受信する。通知メッセージは、第1のレベルのネットワークデバイスBのポート1の識別子を搬送し得、これは、ポート1のポートステータス変更メッセージとして記録され得る。
マルチレベルネットワーキングアーキテクチャにおける中央機器によって生成されたパケットに関して、パケットは、ポート表示情報と少なくとも1つのデータブロックとを含む。少なくとも1つのデータブロックは、送信先ポートがネットワークデバイスのダウンリンクポートである少なくとも1つのダウンリンクデータブロックを含み、少なくとも1つのダウンリンクデータブロックは、ネットワークデバイスの次のレベルのネットワークデバイスに送られるべきであるポート表示情報と制御データブロックとを搬送し、制御データブロックは、デバイス情報送信命令を搬送する。この実施形態において提供される2レベルのネットワーキングは、例として使用される。パケット中の少なくとも1つのデータブロックは、送信先ポートが第1のレベルのネットワークデバイスのダウンリンクポートである少なくとも1つのダウンリンクデータブロックを含み、少なくとも1つのダウンリンクデータブロックは、第2のレベルのネットワークデバイスに送られるべきであるポート表示情報と制御データブロックとを搬送する。
たとえば、図13は、3つの矢印が指すフィールドを示す。第1の矢印が指すフィールド、すなわち、「X1XXX」を含むフィールドは、第1のレベルのネットワークデバイスに送られるべきポート表示情報である。「1」は、「X1XXX」中の第2のビットであり、第1のレベルのネットワークデバイスのダウンリンクポート1に対応する。「1」は、後続のパケットが、送信先ポートがダウンリンクポート1であるダウンリンクデータブロックを含むことを示す。
第2の矢印が指すフィールド、すなわち、「1XXXX」を含むフィールドは、第1のレベルのネットワークデバイスのダウンリンクポート1上のダウンリンクデータブロックと第2のレベルのネットワークデバイスに送られるべきポート表示情報との両方である。「1」は、「1XXXX」中の第1のビットであり、第2のレベルのネットワークデバイスの制御ポート識別子である。「1」は、後続のパケットが制御データブロックを含むことを示す。
第3の矢印が指すフィールドは、第2のレベルのネットワークデバイスの制御データブロックである。このステップでは、制御データブロックは、第2のレベルのネットワークデバイスに送られるべきデバイス情報送信命令を搬送する。ポートマッピング関係を配信する後続の処理では、制御データブロックは、第2のレベルのネットワークデバイスに送られるべきポートマッピング関係を搬送する。
具体的に言えば、図12のパケットは、2個のポート表示情報を含み、ここで、1個のポート表示情報は、第1のレベルのネットワークデバイスに送られるべきポート表示情報であり、他のポート表示情報は、第2のレベルのネットワークデバイスに送られるべきポート表示情報であり、また第1のレベルのネットワークデバイスのダウンリンクポート1によってダウンリンク中で送信されるダウンリンクデータブロックである。
上記の例から、この実施形態において提供されるパケットは階層構造にあるものとして理解されることが可能であり、各ネットワークデバイスに送られたパケットはコアネットワークデバイスによって生成されたパケットの1つのレイヤとして働き得ることが学習されることが可能である。具体的には、各レイヤは、ネットワークデバイスに送られるべきポート表示情報を少なくとも含む。任意選択で、命令または構成されたパラメータが任意のレベルのネットワークデバイスに送られる必要がある場合、各レイヤは、ネットワークデバイスに送られるべき制御データブロックをさらに含み得る。
パケットの階層構造を使用することによって、パケットは、ダウンリンク送信中にレイヤごとに分離され、したがって、ダウンリンク送信は、レベルごとに実行される。具体的には、1つのネットワークデバイスが通過されるたびに、パケットの1つのレイヤが分離される。言い換えれば、1つのネットワークデバイスがパケットを受信するたびに、ネットワークデバイスは、パケット中のネットワークデバイスに送られたポート表示情報を除去し、ポート表示情報中の制御ポート識別子が有効である場合、パケット中のネットワークデバイスに送られた制御データブロックをさらに除去し、ダウンリンクポートを通して次のレベルのネットワークデバイスにパケットの残りの部分、すなわち、少なくとも1つのダウンリンクデータブロックを送る。次のレベルのネットワークデバイスは、同様にポート表示情報と制御データブロックとを除去する。この場合、パケットが最後のレベルのネットワークデバイスに到着した後、最後のレベルのネットワークデバイスによって取得されたパケットはレイヤごとの分離を通して単一レイヤ構造にあり、パケットは、最後のレベルのネットワークデバイスに送られるべきであるポート表示情報と制御データブロックとを含む。
任意選択で、パケットの複数のレイヤのソートシーケンスは、ネットワークアーキテクチャ中のネットワークデバイスのレベルのシーケンスに一致し得る。たとえば、ネットワークアーキテクチャが、上から下まで、第1のレベルのネットワークデバイス、第2のレベルのネットワークデバイス、...、および最後のレベルのネットワークデバイスをそれぞれ含む場合、パケット中の複数のレイヤについて、最外レイヤは、第1のレベルのネットワークデバイスに送られるべきポート表示情報を含み、第2の最外レイヤは、第2のレベルのネットワークデバイスに送られるべきポート表示情報を含み、最内レイヤは、最後のレベルのネットワークデバイスに送られるべきポート表示情報を含む。
この実施形態における2レベルのネットワーキングアーキテクチャに基づいて、パケットは2つのレイヤを含む。外側のレイヤのパケットは、第1のレベルのネットワークデバイスに送られるべきポート表示情報を含み、内側のレイヤのパケットは、2つの役割を果たすものとして理解されることが可能である。一方、内側のレイヤのパケットは、第1のレベルのネットワークデバイスによってダウンリンク中で透過的に送信される必要があるデータパケットと見なされ得、内側のレイヤのパケットは、第1のレベルのネットワークデバイスに送られるべき少なくとも1つのダウンリンクデータブロックを含む。一方、内側のレイヤのパケットは、第2のレベルのネットワークデバイスによって受信され、処理される必要がある制御パケットとも見なされ得、内側のレイヤのパケットは、第2のレベルのネットワークデバイスに送られるべきであるポート表示情報と制御データブロックとを含む。
たとえば、図13および図14を参照すると、図13に示されたパケットは、中央機器によって生成されたパケット、すなわち、第1のレベルのネットワークデバイスによって受信されたパケットであり、図14に示されたパケットは、第2のレベルのネットワークデバイスによって受信されたパケットである。図13および図14から、図14に示されたパケットが図13に示されたパケット中に含まれるデータブロックを含み、図13に示されたパケットを分割することによって取得されたパケットと見なされ得ることが学習されることが可能である。
外側のレイヤのパケット中に含まれるポート表示情報、すなわち、第1のレベルのネットワークデバイスに送られるべきポート表示情報の場合、パケットが第1のレベルのネットワークデバイスに送られるべきダウンリンクデータブロックを有するので、中央機器は、第1のレベルのネットワークデバイスの、第2のレベルのネットワークデバイスに接続されたダウンリンクポートを決定し、ポート表示情報中のダウンリンクポートのダウンリンクポート識別子を有効な識別子として設定する。たとえば、ダウンリンクデータブロックが、第1のレベルのネットワークデバイスBのダウンリンクポート1を通して第2のレベルのネットワークデバイスDに第1のレベルのネットワークデバイスBによって送られる必要があり、ダウンリンクポート1のダウンリンクポート識別子が、ポート表示情報中の第2のビットである場合、中央機器は、ポート表示情報中の第2のビットに1を追加する。次いで、第1のレベルのネットワークデバイスは、ポート表示情報に基づいてパケットからダウンリンクデータブロックを発見することができ、パケットを取得するためにダウンリンクデータブロックをカプセル化し、第2のレベルのネットワークデバイスにパケットを送る。
内側のレイヤのパケット中に含まれるポート表示情報、すなわち、第2のレベルのネットワークデバイスに送られるべきポート表示情報の場合、中央機器は、ポート表示情報中の制御ポート識別子を有効な識別子として設定し、たとえば、ポート表示情報中の第1のビットに1を追加する。次いで、第2のレベルのネットワークデバイスは、ポート表示情報に基づいて、パケットが制御データブロックを含むと決定し、パケット中の少なくとも1つのデータブロックから制御データブロックを発見し、制御データブロックからデバイス情報送信命令を取得し、中央機器にデバイス情報を事前に報告し得る。
たとえば、図13を参照すると、パケット中の外側のレイヤのポート表示情報は「X1XXX」であり、第2のビットは1であり、したがって、パケットがポート1上にダウンリンクデータブロックを含むことを示し、内側のレイヤのポート表示情報は「1XXXX」であり、第1のビットは1であり、したがって、パケットが第2のレベルのネットワークデバイスに送られるべき制御データブロックを含むことを示す。
要約すれば、このステップでは、コアネットワークデバイスによって生成されたパケットは、2つのパケットの組合せと見なされ得、第1のレベルのネットワークデバイスに送られるべきパケットと第2のレベルのネットワークデバイスに送られるべきパケットとを含む。この実施形態において提供されるパケットフォーマットを使用することによって、コアネットワークデバイスは、パケットに第1のレベルのネットワークデバイスのIPアドレスおよび/または第2のレベルのネットワークデバイスのIPアドレスを追加することと、パケットに第1のレベルのネットワークデバイスのMACアドレスおよび/または第2のレベルのネットワークデバイスのMACアドレスを追加することと、パケットにプリセットされたMACアドレスまたはIPアドレスを追加することとを行うことなしに、たとえば、STPプロトコルによって指定されたマルチキャストアドレスを追加することなしにレベルごとにパケットに対してダウンリンク送信を実行することができる。このようにして、適用範囲が大幅に拡大される。
1102.中央機器は、第1のレベルのネットワークデバイスにパケットを送る。
中央機器は、第1のレベルのネットワークデバイスに接続されたダウンリンクポートを決定し、ダウンリンクポートを通してパケットを送り得る。パケットは、ネットワークリンクを介してダウンリンクポートから第1のレベルのネットワークデバイスのアップリンクポートに送信され、したがって、第1のレベルのネットワークデバイスのアップリンクポートはパケットを受信する。中央機器は、ステップ1101において通知メッセージを受信したダウンリンクポートを、パケットを送るためのダウンリンクポートとして決定し得る。
例示的なシナリオでは、図12を参照すると、第2のレベルのネットワークデバイスDがネットワークにアクセスした場合、第1のレベルのネットワークデバイスBのアップリンクポート0aは、中央機器Aのダウンリンクポート1に通知メッセージを送る。中央機器Aは、通知メッセージを受信するポートがダウンリンクポート1であると決定し得、ダウンリンクポート1を通してパケットを送り、したがって、パケットは、第1のレベルのネットワークデバイスBに到着する。
1103.第1のレベルのネットワークデバイスは、パケットを受信し、ポート表示情報に基づいて少なくとも1つのデータブロック中の少なくとも1つのダウンリンクデータブロックを決定する。
ダウンリンクデータブロックを識別する特定の処理に関して、可能な実装では、第1のレベルのネットワークデバイスは、送信先ポートが以下のステップ1からステップ3における少なくとも1つのデータブロック中のダウンリンクポートであるデータブロックを決定し、それにより、少なくとも1つのダウンリンクデータブロックを識別し得る。
ステップ1:第1のレベルのネットワークデバイスは、ポート表示情報中のダウンリンクポート識別子を決定する。
第1のレベルのネットワークデバイスの少なくとも1つのダウンリンクポートの各々ごとに、第1のレベルのネットワークデバイスは、ダウンリンクポートのダウンリンクポート識別子を事前記憶し、ポート表示情報中のロケーションにおいて、ポート表示情報中のロケーションのビットをパースして、ビット中で搬送されるダウンリンクポート識別子を取得し得る。
ポート1は、例として使用される。ポート1のダウンリンクポート識別子がポート表示情報中の第2のビット中で搬送されることが事前に指定される。第1のレベルのネットワークデバイスBは、ポート表示情報中の第2のビットを決定、第2のビット中で搬送されるダウンリンクポート識別子を取得するために第2のビットをパースし得る。たとえば、1を取得するために「X1XXX」中の第2のビットが決定され得る。
ステップ2:第1のレベルのネットワークデバイスは、ダウンリンクポート識別子が有効な識別子であるのかどうかを決定する。
ダウンリンクポート識別子が有効な識別子であるとき、少なくとも1つのデータブロックは、送信先ポートがダウンリンクポートであるデータブロックを含むことを示し、したがって、第1のレベルのネットワークデバイスはステップ3を実行する。ダウンリンクポート識別子が無効な識別子であるとき、少なくとも1つのデータブロックは、送信先ポートがダウンリンクポートであるデータブロックを含まないことを示し、したがって、第1のレベルのネットワークデバイスはステップ3を実行する必要がない。有効な識別子が1であり、無効な識別子が0であることは、例として使用される。第1のレベルのネットワークデバイスは、ダウンリンクポート識別子が1であるのかどうかを決定し得、ダウンリンクポート識別子が1であるとき、ステップ3を実行し得る。
ステップ3:第1のレベルのネットワークデバイスは、少なくとも1つのデータブロックからダウンリンクデータブロックを決定する。
可能な実装では、このステップは、次のように(1)と(2)とを含み得る。
(1)第1のレベルのネットワークデバイスは、ポート表示情報中のすべての有効な識別子中のダウンリンクポート識別子のロケーションを取得する。
ポート表示情報中の1つまたは複数のダウンリンクポート識別子は、有効な識別子として設定され得、ポート表示情報中の制御ポート識別子も、有効な識別子として設定され得る。任意のダウンリンクポート識別子について、ネットワークデバイスは、第1のポート識別子からポート表示情報中のダウンリンクポート識別子への各ポート識別子を決定し、ポート識別子の値に基づいて、ポート表示情報中のダウンリンクポート識別子の有効な識別子シーケンス番号、すなわち、ポート表示情報中のすべての有効な識別子中のダウンリンクポート識別子のロケーションを決定し得る。
(2)第1のレベルのネットワークデバイスは、ロケーションに対応する、少なくとも1つのデータブロック中のデータブロックをダウンリンクデータブロックとして決定する。
第1のレベルのネットワークデバイスは、パケット中のデータブロックのソートシーケンスを決定し、ロケーションに対応する、少なくとも1つのデータブロック中のデータブロックを決定し得る。たとえば、パケットが1つの期間中にしかデータブロックを含まない場合、パケット中の少なくとも1つのデータブロック中のロケーションにあるデータブロックが直接決定され、ロケーションにあるデータブロックがダウンリンクデータブロックとして使用される。別の例では、パケットが複数の期間中にデータブロックを含む場合、各期間中でロケーションにあるデータブロックが決定され、各期間中にロケーションにあるデータブロックが、ダウンリンクデータブロックとして使用されて、複数のダウンリンクデータブロックを取得する。
たとえば、図6を参照すると、第1のレベルのネットワークデバイスのポート1について、ポート表示情報中の最初の2ビットが01であると仮定すると、第1のレベルのネットワークデバイスは、ポート1のダウンリンクポート識別子が、すべての有効な識別子中の第1のビットであると決定し得る。この場合、第1のレベルのネットワークデバイスは、少なくとも1つのデータブロック中の第1のデータブロックを識別し、第1のデータブロックをポート1上のダウンリンクデータブロックとして使用し得る。さらに、複数の期間をもつ構造に基づいて、第1のレベルのネットワークデバイスは、第1の期間中の第1のデータブロック、第2の期間中の第1のデータブロックなどを決定し、最後の期間中の第1のデータブロックが決定されてからこの処理を終了し、すべてのこれらのデータブロックをポート1上のダウンリンクデータブロックとして使用し得る。
同様に、ポート表示情報が11であると仮定すると、第1のレベルのネットワークデバイスは、ポート1のダウンリンクポート識別子が、すべての有効な識別子中の第2のビットであると決定し得る。この場合、第1のレベルのネットワークデバイスは、少なくとも1つのデータブロック中の第2のデータブロックを識別し、第2のデータブロックをポート1上のダウンリンクデータブロックとして使用し得る。さらに、複数の期間をもつ構造に基づいて、第1のレベルのネットワークデバイスは、第1の期間中の第2のデータブロック、第2の期間中の第2のデータブロックなどを決定し、最後の期間中の第2のデータブロックが決定されてからこの処理を終了し、すべてのこれらのデータブロックをポート1上のダウンリンクデータブロックとして使用し得る。
1104.第1のレベルのネットワークデバイスが、少なくとも1つのダウンリンクデータブロックに基づいてパケットを生成し、パケットを第2のレベルのネットワークデバイスに送る。
第1のレベルのネットワークデバイスは、パケットを取得するために少なくとも1つのダウンリンクデータブロックをカプセル化し得る。
パケットを送る処理に関して、第1のレベルのネットワークデバイスは、第2のレベルのネットワークデバイスに接続されたダウンリンクポートを決定し、ダウンリンクポートを通してパケットを送り得る。パケットは、第1のレベルのネットワークデバイスのダウンリンクポートと第2のレベルのネットワークデバイスのアップリンクポートとの間のネットワークリンクを介して第1のレベルのネットワークデバイスのダウンリンクポートから第2のレベルのネットワークデバイスのアップリンクポートに送信され、それにより、第2のレベルのネットワークデバイスのアップリンクポートはパケットを受信する。第1のレベルのネットワークデバイスは、ステップ1101において状態が「アップ」状態に設定されているダウンリンクポートを決定し、第2のレベルのネットワークデバイスに接続されたダウンリンクポート、すなわち、パケットを送るためのダウンリンクポートとして、状態が「アップ」状態に設定されているダウンリンクポートを使用し得る。
例示的なシナリオでは、図12を参照すると、第2のレベルのネットワークデバイスDがネットワークにアクセスしており、第1のレベルのネットワークデバイスBのダウンリンクポート1の状態が、ステップ1101において「ダウン」状態から「アップ」状態に調整された場合、第1のレベルのネットワークデバイスBは、このステップにおいてダウンリンクポート1を通してパケットを送り、それにより、パケットは第2のレベルのネットワークデバイスDに到着する。第2のレベルのネットワークデバイスEがネットワークにアクセスしており、第1のレベルのネットワークデバイスBのダウンリンクポート2の状態が、ステップ1101において「ダウン」状態から「アップ」状態に調整された場合、第1のレベルのネットワークデバイスBは、このステップにおいてダウンリンクポート2を通してパケットを送り、それにより、パケットは第2のレベルのネットワークデバイスEに到着する。
1105.第2のレベルのネットワークデバイスが、パケットを受信し、ポート表示情報に基づいて制御データブロックを決定する。
ステップ1105はステップ1103と同様である。具体的には、第2のレベルのネットワークデバイスは、パケット中のポート表示情報を決定し、ポート表示情報中の制御ポート識別子を決定し、制御ポート識別子が有効な識別子であるかどうかを決定し、ポート識別子が有効な識別子であるとき、パケット中の少なくとも1つのデータブロックから、少なくとも1つのデータブロック中で送信先ポートが制御ポートであるデータブロックを決定して、制御データブロックを取得し得る。
1106.第2のレベルのネットワークデバイスが、制御データブロックをパースして、制御データブロック中で搬送されるデバイス情報送り命令を取得する。
中央機器は、デバイス情報送り命令を制御データブロックに追加する。したがって、このステップにおいて、第2のレベルのネットワークデバイスは、制御データブロックをパースして、制御データブロック中で搬送されるデバイス情報送り命令を取得し、第2のレベルのネットワークデバイスは、デバイス情報送り命令に従って、中央機器が、デバイス情報を報告するように第2のレベルのネットワークデバイスに命令することを知り得る。この場合、デバイス情報送り命令に応答して、第2のレベルのネットワークデバイスは、第2のレベルのネットワークデバイスのデバイス情報を取得し、デバイス情報を第1のレベルのネットワークデバイスに送り、それにより、第1のレベルのネットワークデバイスは、デバイス情報を中央機器に転送し、中央機器は、第2のレベルのネットワークデバイスのデバイス情報に基づいてネットワークトポロジを生成する。
第2のレベルのネットワークデバイスのデバイス情報の説明については、ステップ404を参照されたい。詳細について本明細書で再び説明されない。
1107.第2のレベルのネットワークデバイスが、第1のレベルのネットワークデバイスにデバイス情報を送る。
第2のレベルのネットワークデバイスによってデバイス情報を送る特定の処理に関して、可能な実装では、第2のレベルのネットワークデバイスは、本出願のこの実施形態において提供される新規のパケットフォーマットを使用することによって、新規のパケットフォーマットでパケットを生成し、パケットにデバイス情報を追加して、第2のレベルのネットワークデバイスのデバイス情報を送り得る。
第2のレベルのネットワークデバイスによってパケットを生成する特定の実装では、第2のレベルのネットワークデバイスによってパケットを生成する処理は、ステップ404においてパケットを生成する処理と同様である。具体的には、第2のレベルのネットワークデバイスは、制御ポートを使用することによってポート表示情報および制御データブロックを生成し得、ポート表示情報は、制御データブロックのソースポートを示すために使用される。第2のレベルのネットワークデバイスは、パケットを取得するためにポート表示情報および制御データブロックをカプセル化し得る。パケットは、ポート表示情報および制御データブロックを含み、制御データブロックは、第2のレベルのネットワークデバイスのデバイス情報を搬送する。
第2のレベルのネットワークデバイスによって第1のレベルのネットワークデバイスにパケットを送る特定の処理に関して、第2のレベルのネットワークデバイスは、ステップ1105においてパケットを受信するアップリンクポート、すなわち、デバイス情報送り命令を搬送するパケットが到着するアップリンクポートを決定し、アップリンクポートを通して、第2のレベルのネットワークデバイスによって生成されたパケットを送り得る。パケットは、第1のレベルのネットワークデバイスのダウンリンクポートとアップリンクポートとの間のネットワークリンクを介して第1のレベルのネットワークデバイスのダウンリンクポートに送信され、それにより、第1のレベルのネットワークデバイスのダウンリンクポートはパケットを受信する。
例示的なシナリオでは、図12を参照すると、第2のレベルのネットワークデバイスDが、ステップ1101においてアップリンクポート0aを通して第1のレベルのネットワークデバイスBによって送られたパケットを受信した場合、第2のレベルのネットワークデバイスDは、このステップにおいてアップリンクポート0aを通してパケットを第1のレベルのネットワークデバイスBに送る。パケットは、第2のレベルのネットワークデバイスDのアップリンクポート0aと第1のレベルのネットワークデバイスBのダウンリンクポート1との間のネットワークリンクを通過し、次いで、第1のレベルのネットワークデバイスBのダウンリンクポート1に到着する。
1108.第1のレベルのネットワークデバイスが、デバイス情報を受信し、デバイス情報を中央機器に送る。
第1のレベルのネットワークデバイスは、デバイス情報を受信するために、第2のレベルのネットワークデバイスのデバイス情報を搬送するパケットを第2のレベルのネットワークデバイスから受信し得る。
第1のレベルのネットワークデバイスによって第2のレベルのネットワークデバイスのデバイス情報を転送する特定の処理に関して、第1のレベルのネットワークデバイスはパケットを生成し得、パケットは、第2のレベルのネットワークデバイスのデバイス情報を含む。たとえば、第2のレベルのネットワークデバイスからパケットを受信した後に、第1のレベルのネットワークデバイスは、ポート表示情報を生成し、ポート表示情報を受信されたパケット中にカプセル化してカプセル化されたパケットを取得し、カプセル化されたパケットを中央機器に送り得る。この場合、カプセル化されたパケットは、第2のレベルのネットワークデバイスによって生成されたパケットを含み、第1のレベルのネットワークデバイスによって生成されたポート表示情報をさらに含む。
任意選択で、第1のレベルのネットワークデバイスが、中央機器に情報を報告するための要件を有する場合、第1のレベルのネットワークデバイスは、制御データブロックをさらに生成し、ポート表示情報および制御データブロックを受信されたパケット中にカプセル化し得る。この場合、カプセル化されたパケットは、第2のレベルのネットワークデバイスによって生成されたパケットを含み、第1のレベルのネットワークデバイスによって生成されたポート表示情報および制御データブロックをさらに含む。
この場合、第1のレベルのネットワークデバイスによって送られるパケットは、ステップ1101において中央機器によって送られるパケットと同様であり、また、2層構造を有する。内側層パケットは、第2のレベルのネットワークデバイスによって生成されるパケットであり、第2のレベルのネットワークデバイスのポート表示情報および制御データブロックを含み、制御データブロックは、第2のレベルのネットワークデバイスのデバイス情報を搬送する。外側層パケットは、第1のレベルのネットワークデバイスによって生成されるパケットであり、第1のレベルのネットワークデバイスによって生成されるポート表示情報を含む。
第1のレベルのネットワークデバイスによって生成されるポート表示情報は、パケットのソースポートを示すために使用される。第1のレベルのネットワークデバイスの観点からは、パケットは第1のレベルのネットワークデバイスによって生成されないがダウンリンクポートを通して受信されるので、第1のレベルのネットワークデバイスは、パケットのソースポートとしてダウンリンクポートを使用する。ポート表示情報の生成中に、ネットワークデバイスは、有効な識別子としてポート表示情報中のダウンリンクポート識別子を設定し、たとえば、ポート表示情報中の第1のビットに1を加算する。
この実施形態では、第1のレベルのネットワークデバイスは、パケットが、第2のレベルのネットワークデバイスによって生成されたデータを有することを示すために、パケットが、第1のレベルのネットワークデバイスのダウンリンクポートから来るダウンリンクデータブロックを有することをダウンリンクポート識別子を使用することによって示すことができる。この処理では、第1のレベルのネットワークデバイスは、第2のレベルのネットワークデバイスの識別子をパケットに追加する必要がなく、第2のレベルのネットワークデバイスのデバイス情報を認識する必要がなく、それにより、別のデバイスのネットワークトポロジの不認識に関する制約を満たす。
1109.中央機器がデバイス情報を受信する。
パケットを受信した後に、中央機器は、パケット中のポート表示情報を決定し、ポート表示情報に基づいて、パケット中でソースポートがダウンリンクポートであるデータブロックを決定して、ダウンリンクデータブロックを取得し、ダウンリンクデータブロックをパースして、ダウンリンクデータブロック中で搬送され、第2のレベルのネットワークデバイスによって生成されたパケットを取得し得る。中央機器は、パケット中のポート表示情報を決定し、パケットが、第2のレベルのネットワークデバイスによって生成された制御データブロックを含むと決定し、制御データブロックをパースして、制御データブロック中で搬送される第2のレベルのネットワークデバイスのデバイス情報を取得し得る。
ダウンリンクデータブロックを決定する特定の処理に関して、可能な実装では、中央機器は、以下のステップ1からステップ3においてパケット中のダウンリンクデータブロックを決定し得る。
ステップ1:中央機器が、ポート表示情報中のダウンリンクポート識別子を決定する。
第2のレベルのネットワークデバイスの少なくとも1つのダウンリンクポートの各々について、中央機器は、ダウンリンクポートのダウンリンクポート識別子を事前記憶し、ポート表示情報中のロケーションにおいて、ポート表示情報中のロケーションのビットをパースして、ビット中で搬送されるダウンリンクポート識別子を取得し得る。
ステップ2:中央機器は、ダウンリンクポート識別子が、有効な識別子であるかどうかを決定する。
ダウンリンクポート識別子が有効な識別子であるとき、それは、パケット中の少なくとも1つのデータブロックが、ソースポートがダウンリンクポートであるデータブロックを含むことを示し、その場合、中央機器はステップ3を実施する。ダウンリンクポート識別子が無効な識別子であるとき、それは、少なくとも1つのデータブロックが、ソースポートがダウンリンクポートであるデータブロックを含まないことを示し、その場合、中央機器はステップ3を実施する必要がない。例として、有効な識別子が1であり、無効な識別子が0であることが使用される。中央機器は、ダウンリンクポート識別子が1であるかどうかを決定し、ダウンリンクポート識別子が1であるとき、ステップ3を実施し得る。
ステップ3:中央機器が、少なくとも1つのデータブロックからダウンリンクデータブロックを決定する。
中央機器は、ポート表示情報中のすべての有効な識別子の中のダウンリンクポート識別子のロケーションを取得し、ダウンリンクデータブロックとして、少なくとも1つのデータブロック中のロケーションにおけるデータブロックを識別し得る。
任意選択で、パケット中のデータブロックが、複数の期間に従って連続的にソートされた場合、複数の期間の各々について、中央機器は、期間中のロケーションにおけるデータブロックを識別して期間中のダウンリンクデータブロックを取得して、複数の期間に対応する複数のデータブロックを取得し、すべての複数のデータブロックをダウンリンクデータブロックとして使用し得る。
第2のレベルのネットワークデバイスによって生成された制御データブロックを決定する特定の処理に関して、可能な実装では、ステップ405において中央機器によって制御データブロックを決定する処理と同様に、中央機器は、以下のステップ1からステップ3においてパケット中の制御データブロックを決定し得る。
ステップ1:中央機器が、ポート表示情報中の制御ポート識別子を決定する。
ステップ2:中央機器は、制御ポート識別子が、有効な識別子であるかどうかを決定する。
制御ポート識別子が有効な識別子であるとき、それは、少なくとも1つのデータブロックが、ソースポートが制御ポートであるデータブロックを含むことを示し、その場合、中央機器はステップ3を実施する。制御ポート識別子が無効な識別子であるとき、それは、少なくとも1つのデータブロックが、送信先ポートが制御ポートであるデータブロックを含まないことを示し、その場合、中央機器はステップ3を実施する必要がない。
ステップ3:中央機器が、少なくとも1つのデータブロックから制御データブロックを決定する。
1110.中央機器が、デバイス情報に基づいてネットワークトポロジを生成する。
中央機器が第2のレベルのネットワークデバイスのデバイス情報を取得するたびに、中央機器は、デバイス情報に基づいて第2のレベルのネットワークデバイスおよび第2のレベルのネットワークデバイスの各ポートを決定して、第2のレベルのネットワークデバイスを発見し得る。残りはアナロジーによって推論され得る。すべての第2のレベルのネットワークデバイスは、すべての第2のレベルのネットワークデバイスのデバイス情報を使用することによって発見されることが可能である。すべての発見された第2のレベルのネットワークデバイスのデバイス情報に基づいて、すべての第2のレベルのネットワークデバイスを含むネットワークトポロジが生成されることが可能である。
この実施形態において提供される方法によれば、階層パケットカプセル化、およびネットワークデバイスのレベルごとの発見が実装され、マルチレベルのネットワークトポロジ構築が実施されることが可能である。これは、複雑なネットワーキングシナリオにおいて使用されることが可能であり、広い適用範囲をもつ様々なタイプのアクセスネットワークシナリオに適用可能である。
上記の実施形態において構築されるネットワークトポロジは、非ツリーネットワークトポロジであり得る。本出願のこの実施形態では、中央機器は、端末グループを使用することによってネットワークデバイスの各ダウンリンクポートを対応するアップリンクポートに一意にマッピングして、非ツリーネットワークトポロジを複数のツリーネットワークにスプリットすることができる。以下で、図15の実施形態を使用することによってツリートポロジ構築について特に説明する。
図15は、本出願の実施形態によるネットワークトポロジ生成方法のフローチャートである。本方法を実施するためのエンティティは中央機器である。本方法は以下のステップを含む。
1501.中央機器が、ネットワークトポロジを照会して、ネットワークデバイスの少なくとも1つのアップリンクポートおよび少なくとも1つのダウンリンクポートを取得する。
ネットワークトポロジは、ネットワーク全体上の各ネットワークデバイスおよび各ネットワークデバイスのデバイス情報を含み得る。いずれかのネットワークデバイスについて、中央機器は、ネットワークトポロジを照会し、ネットワークトポロジからネットワークデバイスのポート情報を取得し、ポート情報に基づいてネットワークデバイスのアップリンクポートおよびダウンリンクポートを決定して、少なくとも1つのアップリンクポートおよび少なくとも1つのダウンリンクポートを取得し得る。
1502.中央機器が、各ダウンリンクポートのために少なくとも1つのアップリンクポートから1つのアップリンクポートを選択する。
この実施形態では、中央機器は、ネットワーク上の各ネットワークデバイスのためのポートマッピング関係を確立し、ポートマッピング関係をネットワークデバイスに送り得、それにより、ネットワークデバイスは、ポートマッピング関係を使用することによってパケット転送機能を実装する。
ポートマッピング関係を確立するために、ネットワークデバイスの少なくとも1つのダウンリンクポートおよび少なくとも1つのアップリンクポートを取得した後に、中央機器は、ネットワークデバイスの各ダウンリンクポートのために一意のアップリンクポートを選択し、すなわち、1つのダウンリンクポートのためにただ1つのアップリンクポートを選択して、1つのダウンリンクポートが最大1つのアップリンクポートにマッピングされることを保証し得る。
たとえば、アップリンクポートを選択する処理は、以下の2つの様式を含み得る。
様式1:ネットワークデバイスのすべてのアップリンクポートが、ダウンリンクポートにマッピングされるポートとして使用され得、すなわち、ダウンリンクポートはアップリンクポートにマッピングされる。この場合、確立されたポートマッピング関係に基づいて実施される後続のパケット送信中に、ネットワークデバイスのすべてのアップリンクポートが、パケット送信のためのポートとして使用される。
たとえば、図15は、本出願の実施形態によるネットワークデバイスのポートマッピングの概略図である。図15のネットワークデバイスは、アップリンクポート0a、アップリンクポート0b、ダウンリンクポート1、ダウンリンクポート2、ダウンリンクポート3、およびダウンリンクポート4を有する。ネットワークデバイスは、ダウンリンクポート1およびダウンリンクポート2をアップリンクポート0aにマッピングし、ダウンリンクポート3およびダウンリンクポート4をアップリンクポート0bにマッピングし得る。このようにして、ネットワークデバイスのすべてのアップリンクポートが、ダウンリンクポートにマッピングされるポートとして使用される。
様式2:ネットワークデバイスのいくつかのアップリンクポートが、ダウンリンクポートにマッピングされるポートとして使用され得る。具体的には、中央機器は、すべてのアップリンクポートからいくつかのアップリンクポートを選択し、これらのいくつかのアップリンクポートとダウンリンクポートとの間のマッピング関係を確立し、残りのアップリンクポートを待機ポートとして使用し得る。この場合、確立されたマッピング関係に基づいて実施される後続のパケット送信中に、ネットワークデバイスのいくつかのアップリンクポートが、パケット送信のためのポートとして使用される。
たとえば、図17を参照すると、ネットワークデバイスは、ダウンリンクポートにマッピングされるポートとしてアップリンクポート0aのみを使用し、待機ポートとしてアップリンクポート0bを使用し得る。この場合、中央機器は、ダウンリンクポート1、ダウンリンクポート2、ダウンリンクポート3、およびダウンリンクポート4のすべてをネットワークデバイスのアップリンクポート0aにマッピングし得る。
1503.中央機器が、各ダウンリンクポートにマッピングされたアップリンクポートに基づいてネットワークデバイスのためのポートマッピング関係を確立する。
ポートマッピング関係は、各ダウンリンクポートにマッピングされたアップリンクポートを示すために使用され、ポート表示情報は、ダウンリンクポートに基づいて対応するアップリンクポートを決定するためにネットワークデバイスによって使用され、それにより、ネットワークデバイスによって実施されるパケットアップリンク送信のための経路が決定される。ポートマッピング関係は、少なくとも1つのダウンリンクポートの識別子、および少なくとも1つのアップリンクポートの対応する識別子を含み得る。たとえば、ポートマッピング関係は表1のようにリストされ得る。
中央機器は、ネットワークデバイスのポートマッピング関係を記憶し、たとえば、ポートマッピング関係をデータベースに書き込み得ることに留意されたい。任意選択で、中央機器がネットワークデバイスのためのポートマッピング関係を確立した後に毎回、中央機器は、ネットワークデバイスのポートマッピング関係を記憶し得る。したがって、中央機器は、ネットワーク全体上のすべてのネットワークデバイスのポートマッピング関係を記憶して、ネットワークリンク障害が発生したとき、記憶されたポートマッピング関係に基づいて再調整を実施し得る。
1504.中央機器が、ポートマッピング関係をネットワークデバイスに送る。
本出願において提供されるパケット符号化フォーマットに基づいて、ポートマッピング関係を送る処理は、以下のステップ1からステップ3を含み得る。
ステップ1:中央機器が、ポートマッピング関係に基づいてパケットを生成し、パケットが、ポート表示情報および少なくとも1つのデータブロックを含む。
ネットワークデバイスが第1のレベルのネットワークデバイスである場合、中央機器によってポート表示情報およびデータブロックを生成する処理は、図4の実施形態におけるものと同様である。ネットワークデバイスが第2のレベルのネットワークデバイスまたは別のマルチレベルのネットワークデバイスである場合、中央機器によってポート表示情報およびデータブロックを生成する処理は、図10の実施形態におけるものと同様である。違いは、このステップにおいて、中央機器によって制御データブロックに追加される内容が異なることにある。中央機器は、図4の実施形態および図10の実施形態における制御データブロックにデバイス情報送り命令を追加し、一方、このステップにおいて、中央機器は、制御データブロックにポートマッピング関係を追加する。
ステップ2:ネットワークデバイスが、パケットを受信し、ポート表示情報に基づいて、少なくとも1つのデータブロック中で送信先ポートが制御ポートであるデータブロックを決定して、制御データブロックを取得する。
ステップ3:ネットワークデバイスが、制御データブロックをパースして、制御データブロック中で搬送されるポートマッピング関係を取得する。
ポートマッピング関係を取得した後に、ネットワークデバイスは、ポートマッピング関係を記憶し得、隣接するデバイスのデバイス情報の認識なしに、およびネットワーク全体のネットワークトポロジの認識なしに、ポートマッピング関係を使用することによってパケット転送機能を実装することができ、ネットワークデバイスのポートマッピング関係を維持する必要のみがある。これは、物理層におけるネットワークデバイスに適用されることが可能である。
たとえば、パケット送信のためにポートマッピング関係を使用する処理は、以下のステップ1およびステップ2を含み得る。
ステップ1:ネットワークデバイスが、何らかのダウンリンクポートを通して端末からパケットを受信する。
端末はユーザ側デバイスであり得、端末はパケットを生成し得る。端末によって生成されたパケットは、データパケットと呼ばれることがあり、サービスデータを搬送し得る。端末はパケットを送り得、ネットワークデバイスはダウンリンクポートを通してパケットを受信し得る。
ネットワークデバイスによって受信されるパケットは、端末によってネットワークデバイスに直接送られるパケットであり得ることに留意されたい。たとえば、ネットワークデバイスは、アクセス層におけるネットワークデバイスである。たとえば、ネットワークデバイスは、図1の第2のレベルのネットワークデバイスである。この場合、端末がパケットを送った後に、ネットワークデバイスのダウンリンクポートがパケットを受信することができる。加えて、ネットワークデバイスによって受信されるパケットは、代替として、端末によって送られた後に次のレベルのネットワークデバイスによって転送されるパケットであり得る。たとえば、ネットワークデバイスは、アグリゲーション層におけるネットワークデバイスである。たとえば、ネットワークデバイスは、図1の第1のレベルのネットワークデバイスである。この場合、端末がパケットを送った後に、第2のレベルのネットワークデバイスがパケットを受信し、パケットを第1のレベルのネットワークデバイスに転送する。次いで、第1のレベルのネットワークデバイスのダウンリンクポートがパケットを受信する。
ステップ2:ネットワークデバイスが、ポートマッピング関係を照会して、ダウンリンクポートにマッピングされたアップリンクポートを取得する。
パケットを受信する処理に関して、ネットワークデバイスの各ダウンリンクポートは、ネットワークリンクを通して別のデバイスに接続され得、ダウンリンクポートは、この別のデバイスによって送られたパケットを受信し得る。たとえば、図1に示されている実装環境では、第2のレベルのネットワークデバイスのダウンリンクポートは、端末によって送られたパケットを受信し得、第1のレベルのネットワークデバイスのダウンリンクポートは、第2のレベルのネットワークデバイスによって送られたパケットを受信し得る。
マッピング関係を照会する処理に関して、ネットワークデバイスは、パケットを受信するダウンリンクポートを決定し、ダウンリンクポートをインデックスとして使用してポートマッピング関係を照会して、ポートマッピング関係からダウンリンクポートに対応するアップリンクポートを取得し得る。
ステップ3:ネットワークデバイスが、ダウンリンクポートにマッピングされたアップリンクポートを通して中央機器にパケットを送る。
ネットワークトポロジが1レベルのネットワークトポロジである場合、パケットは、ネットワークデバイスによってパケットに対してアップリンク転送が実施された後に、中央機器に直接到着することができる。特に、パケットは、ネットワークデバイスのアップリンクポートと中央機器のダウンリンクポートとの間のネットワークリンクを通過し、次いで、中央機器のダウンリンクポートに到着する。
ネットワークトポロジがマルチレベルのネットワークトポロジである場合、ネットワークデバイスによってパケットに対してアップリンク転送が実施された後に、パケットは、下から上へとレベルごとに転送され続けてから、パケットは中央機器に到着する。特に、パケットは、ネットワークデバイスのアップリンクポートと前のレベルのネットワークデバイスのダウンリンクポートとの間のネットワークリンクを通過し、次いで、前のレベルのネットワークデバイスのダウンリンクポートに到着する。次いで、前のレベルのネットワークデバイスは、上記のステップと同様のステップを実施し、前のレベルのネットワークデバイスに記憶されたポートマッピング関係を照会し、対応するアップリンクポートを通してパケットを送る。パケットが中央機器のダウンリンクポートに転送されるまで、残りはアナロジーによって推論され得る。
1505.中央機器が、上記のステップを繰り返して、スプリッティングを通して取得される複数のツリートポロジを取得する。
ツリートポロジ(tree topology)は、階層的に配置されたネットワークノードをもつ上方ツリーと同様の形状のネットワークトポロジである。ツリートポロジは、ルートノードおよびリーフノードという、2つのタイプのネットワークノードを主に含む。ツリートポロジ中の各リーフノードとルートノードとの間の経路は一意であり、ネットワーク上のどの2つのネットワークノード間にもループは発生せず、ネットワークノードは管理が容易である。ツリートポロジには、ネットワークノードの拡張が便利でフレクシブルである、リンク経路の発見が比較的便利である、などの利点がある。
この実施形態では、中央機器は、ステップ1501からステップ1504を繰り返して、各ネットワークデバイスのためのポートマッピング関係を連続的に確立して、図4の実施形態または図10の実施形態において生成されたネットワークトポロジをツリートポロジにスプリットする。
特に、ネットワークデバイスのダウンリンクポートは、アップリンクポートに一意にマッピングされ、ポートマッピング関係は配信される。ネットワークデバイスがポートマッピング関係を使用してパケットを転送するとき、何らかのパケットがダウンリンクポートに到着した後に、パケットは、複数のアップリンクポートを通して繰り返し転送される代わりに、一意のアップリンクポートのみを通して転送される。これは、ネットワークデバイスにおけるパケットの内部送信経路の一意性を保証する。ネットワーク上の各ネットワークデバイスの内部送信経路の一意性に基づいて、ネットワークデバイスのダウンリンクポートは、端末に直接または間接的に接続され、ネットワークデバイスのアップリンクポートは、中央機器に直接または間接的に接続され、したがって、端末と中央機器との間の経路は一意である。したがって、中央機器の各ダウンリンクポートは、ツリートポロジ中のルートノードになり、各端末は、ツリートポロジ中のリーフノードになる。この場合、非ツリーネットワークトポロジは、複数のツリートポロジにスプリットされることが可能である。
たとえば、図12および図18を参照すると、中央機器Aは、図12の各ネットワークデバイスのためのポートマッピング関係を確立し、ポートマッピング関係をネットワークデバイスに配信し、ネットワークトポロジを図18に示されている2つのツリートポロジにスプリットする。中央機器Aのダウンリンクポート1は、下にツリートポロジを有し、中央機器Aのダウンリンクポート3は、下に別のツリートポロジを有する。例として、ダウンリンクポート1に対応するツリートポロジが使用される。図18の上側の図を参照すると、中央機器のダウンリンクポート1は、ルートノードであり、ダウンリンクポート1のリーフノードのグループは、端末1、端末2、端末5、端末7、端末8、端末11、端末12、端末14、および端末15である。
この実施形態において提供される方法では、ポートマッピング関係は各ネットワークデバイスについて確立され、ポートマッピング関係はネットワークデバイスに配信される。各ダウンリンクポートは、ポートマッピング関係において一意のアップリンクポートに対応しているので、ネットワークデバイスにおけるパケットの内部送信経路の一意性が保証されることが可能である。加えて、各ネットワークデバイスにおける内部送信経路の一意性は、端末と中央機器との間の経路の一意性を保証することができる。これは、ツリートポロジの構築を実装し、ネットワークトポロジ中に発生するループを回避することができ、ループ中のパケットの循環および急増によって引き起こされるブロードキャストストームをさらに回避することができ、それにより、ネットワークトポロジの安定性を保証する。
さらに、中央機器は、各ネットワークデバイスのためのポートマッピング関係を確立し、ポートマッピング関係をネットワークデバイスに配信する。ネットワークデバイスは、隣接するデバイスのデバイス情報の認識なしに、ならびにネットワーク全体のネットワークトポロジの認識および記憶なしに、ネットワークデバイスのポートマッピング関係を記憶することのみによってパケット転送機能を実装することができる。これは、ネットワークデバイスがレイヤ2ネットワークプロトコルまたはレイヤ3ネットワークプロトコルを識別することができるときのみ、ネットワークデバイスがパケットを転送することができるという制限を克服し、物理層におけるネットワークデバイスに適用可能にすることができる。物理層におけるネットワークデバイスは、パケットを転送する。これは、ネットワークデバイスの機能を極力簡略化するための要件を満たし、ネットワークデバイスの実行中の電力消費量を低減する。
ネットワークデバイスによって実施されるパケットダウンリンク送信のための処理は、図4の実施形態または図11の実施形態におけるものと同様であることに留意されたい。例として、処理が、図2に示されている実装環境に適用されることが使用される。パケットダウンリンク送信のための処理は、以下のステップ1からステップ6を含み得る。
ステップ1:中央機器がパケットを生成し、パケットが、ポート表示情報および少なくとも1つのデータブロックを含み、少なくとも1つのデータブロックは、送信先ポートがダウンリンクポートである少なくとも1つのダウンリンクデータブロックを含み、少なくとも1つのダウンリンクデータブロックが、端末に送られるべきデータを搬送する。
ステップ2:中央機器が、パケットをネットワークデバイスに送る。
ステップ3:ネットワークデバイスが、パケットを受信し、ポート表示情報に基づいて、パケット中で送信先ポートがダウンリンクポートであるデータブロックを決定して、少なくとも1つのダウンリンクデータブロックを取得する。
ステップ4:ネットワークデバイスがパケットを生成し、パケットが、ステップ3において取得された少なくとも1つのダウンリンクデータブロックを含む。
ステップ5:ネットワークデバイスが、ダウンリンクポートを通してパケットを端末に送る。
ステップ6:端末が、パケットを受信し、パケットからデータを取得する。
例として、処理が、図1に示されている実装環境に適用されることが使用される。パケットダウンリンク送信のための処理は、以下のステップ1からステップ9を含み得る。
ステップ1:中央機器がパケットを生成し、パケットが、第1のレベルのネットワークデバイスに送られるべきであるポート表示情報および少なくとも1つのデータブロックを含み、少なくとも1つのデータブロックは、送信先ポートがダウンリンクポートである少なくとも1つのダウンリンクデータブロックを含み、少なくとも1つのダウンリンクデータブロックが、第2のレベルのネットワークデバイスに送られるべきポート表示情報、および端末に送られるべきデータを搬送する。
ステップ2:中央機器が、パケットを第1のレベルのネットワークデバイスに送る。
ステップ3:第1のレベルのネットワークデバイスが、パケットを受信し、パケット中のポート表示情報に基づいて、少なくとも1つのデータブロック中で送信先ポートがダウンリンクポートであるデータブロックを決定して、少なくとも1つのダウンリンクデータブロックを取得する。
ステップ4:第1のレベルのネットワークデバイスがパケットを生成し、パケットが、ステップ3において取得された少なくとも1つのダウンリンクデータブロックを含む。
ステップ5:第1のレベルのネットワークデバイスが、ダウンリンクポートを通してパケットを第2のレベルのネットワークデバイスに送る。
ステップ6:第2のレベルのネットワークデバイスが、パケットを受信し、パケット中のポート表示情報に基づいて、パケット中で送信先ポートがダウンリンクポートであるデータブロックを決定して、少なくとも1つのダウンリンクデータブロックを取得する。
ステップ7:第2のレベルのネットワークデバイスがパケットを生成し、パケットが、ステップ6において取得された少なくとも1つのダウンリンクデータブロックを含み、少なくとも1つのダウンリンクデータブロックが、端末に送られるべきデータを搬送する。
ステップ8:第2のレベルのネットワークデバイスが、ダウンリンクポートを通してパケットを端末に送る。
ステップ9:端末が、パケットを受信し、パケットからデータを取得する。
ネットワークトポロジが構成された後に、ネットワークリンクは、ポート障害、ネットワークジッタ、または他の要因により、切断されることがある。本出願のこの実施形態では、ネットワークトポロジを動的に更新する機能が実装されることが可能である。ネットワークリンクが切断されたとき、ネットワークデバイスは、リンクステータスを中央機器に報告し得る。中央機器は、ネットワーク全体のトポロジを制御し、ネットワークデバイスによって報告されたリンクステータスに基づいてリアルタイムにネットワークデバイスのポートマッピング関係を調整し、ネットワークトポロジを再構築し、それにより、ネットワークトポロジを保護することができる。図19の実施形態を使用することによって、以下で、ネットワークトポロジを動的に更新する特定の実装を詳述する。
図19は、本出願の実施形態によるネットワークトポロジ生成方法のフローチャートである。本方法における対話エンティティは、中央機器およびネットワークデバイスを含む。本方法は以下のステップを含む。
1901.中央機器が、ポート障害がネットワークデバイス上で発生すると決定する。
ポート障害は、ポートが「ダウン」状態にある、ネットワークリンクが切断される、ネットワークリンクジッタ、送信遅延が比較的大きい、および他の異常状況を含み得る。ポート障害がネットワークデバイス上で発生したとき、中央機器は、ポート障害がネットワークデバイス上で発生していることを検出して、ネットワークデバイスのポートマッピング関係を再構築し得る。
説明を区別するために、ネットワークデバイスにおいて、障害が発生するいずれかのポートが第1のポートと呼ばれ、障害が発生しないいずれかのポートが第2のポートと呼ばれることが、この実施形態における説明のための例として使用される。第1のポートは、アップリンクポートであり得るかまたはダウンリンクポートであり得る。可能な実装では、ポート障害がネットワークデバイスの第1のポート上で発生したとき、中央機器は、以下のステップ1およびステップ2においてポート障害を検出し得る。
ステップ1:ポート障害が第1のポート上で発生した後に、ネットワークデバイスが、第2のポートを通して中央機器に通知メッセージを送る。
ネットワークデバイスは、各ポートのステータスを認識することができる。ポート障害が第1のポート上で発生したとき、ネットワークデバイスは、ポート障害を認識することができ、通知メッセージを送るための手順を実施する。
通知メッセージは、障害が第1のポート上で発生していることを示すために使用される。通知メッセージは、ネットワークデバイスの制御ポートを使用することによって生成され得、通知メッセージは、プログラム中でリンクステータス変化メッセージとして記録され得る。通知メッセージの内容に関して、通知メッセージは第1のポートの識別子を搬送し得、通知メッセージは、第1のポートの識別子を使用することによって第1のポートを示し得る。加えて、通知メッセージはまた、第1のポートに接続されたネットワークリンクの識別子も搬送して、ネットワークリンクの識別子を使用することによって、切断されたネットワークリンクを示し得る。通知メッセージは、ネットワークデバイスの第2のポートを通して送られ得る。第2のポートは第1のポートとは異なり、第2のポートは、ポート障害がネットワークデバイス上で発生していないポートである。
可能な実装では、ネットワークデバイスは、本出願において提供されるパケット符号化フォーマットを使用することによってポート表示情報および制御データブロックを生成し、制御データブロックに通知メッセージを追加し、ポート表示情報および制御データブロックをカプセル化してパケットを取得し、パケットを中央機器に送って、通知メッセージを送り得る。ネットワークデバイスが、中央機器に直接接続されたネットワークデバイスである場合、ネットワークデバイスによってパケットを送るための様式は、図4における実施形態におけるものと同様である。ネットワークデバイスが、中央機器に間接的に接続されたネットワークデバイスである場合、ネットワークデバイスによってパケットを送るための様式は、図11における実施形態におけるものと同様である。
例示的なシナリオでは、図20を参照すると、例として図20のネットワークデバイスDが使用される。ネットワークデバイスDが、アップリンクポート0aが切断されたことを認識したとき、ネットワークデバイスDは、ネットワークデバイスDのアップリンクポート0bを通して中央機器Aに通知メッセージを送る。通知メッセージは、経路2を通過し、次いで、中央機器Aに到着する。例として、図20のネットワークデバイスBが使用される。ネットワークデバイスBが、障害がダウンリンクポート1上で発生することを認識したとき、ネットワークデバイスBは、ネットワークデバイスBのアップリンクポート0aを通して中央機器Aに通知メッセージを送り得る。通知メッセージは、経路1を通過し、次いで、中央機器Aに到着する。
ステップ2:中央機器が、ネットワークデバイスの第2のポートから通知メッセージを受信する。
中央機器は、第2のポートを通してネットワークデバイスによって送られた通知メッセージをダウンリンクポートを通して受信し得、中央機器は、通知メッセージに基づいて、障害がネットワークデバイスの第1のポート上で発生すると決定し得る。たとえば、中央機器は、通知メッセージをパースして第1のポートの識別子を取得し、第1のポートの識別子に基づいて、障害が第1のポート上で発生すると決定し得る。加えて、ネットワークデバイスの第1のポートが切断されたと決定した後に、中央機器は、第1のポートにパケットを送ることを停止し得る。
1902.中央機器が、ネットワークデバイスのポートマッピング関係を照会して、第1のポートにマッピングされた少なくとも1つのポートを取得する。
中央機器は、ネットワークデバイスのあらかじめ確立されたポートマッピング関係を決定し、第1のポートをインデックスとして使用してネットワークデバイスのポートマッピング関係を照会し、ポートマッピング関係から、第1のポートにマッピングされた少なくとも1つのポートを取得して、少なくとも1つのポートにマッピングされたポートを更新し得る。たとえば、第1のポートがアップリンクポートである場合、第1のポートに当初マッピングされたダウンリンクポートは、第1のポート以外のアップリンクポートにマッピングさせられ得る。別の例では、第1のポートがダウンリンクポートである場合、第1のポートに当初マッピングされたアップリンクポートは、第1のポート以外のダウンリンクポートにマッピングさせられ得る。たとえば、図21を参照すると、例として、第1のポートがネットワークデバイスDのポート0aであることが使用される。ポートマッピング関係を照会した後に、中央機器は、ネットワークリンクが切断される前に、ポート0aにマッピングされたダウンリンクポートがポート1およびポート2を含むと決定し得る。
1903.中央機器が、ポートマッピング関係を更新して、更新されたポートマッピング関係を取得する。
ポートマッピング関係を更新する特定の処理に関して、中央機器は、ネットワークデバイスのネットワークに接続されたポートを決定して、第2のポートを取得し、第1のポートとのマッピング関係を当初確立された少なくとも1つのポートに、第2のポートとのマッピング関係を確立させて、更新されたポートマッピング関係を取得し得る。更新されたポートマッピング関係では、第1のポートに当初マッピングされた少なくとも1つのポートは、ネットワークデバイスの第2のポートにマッピングされる。
たとえば、ポート障害が発生する第1のポートはアップリンクポートであり、第2のポートを決定する処理は、以下の3つの実装を含み得る。
実装1:中央機器が、通知メッセージのソースポート、すなわち、通知メッセージを送るためにネットワークデバイスによって使用されるアップリンクポートを決定し、通知メッセージのソースポートを第2のポートとして使用し得る。
実装2:中央機器が、ポートマッピング関係におけるすべてのアップリンクポートを決定し、第2のポートとして、第1のポートを除くすべてのアップリンクポートからアップリンクポートを選択し得る。
実装3:中央機器が、ポートマッピング関係を確立する前に待機ポートとしてネットワークデバイスのアップリンクポートを予約し得る。次いで、このステップにおいて、中央機器が、ネットワークデバイスの待機ポートを決定し、待機ポートを第2のポートとして使用し得る。
たとえば、更新の前のポートマッピング関係が表1にリストされ、アップリンクポート0aに当初マッピングされたダウンリンクポートが、ダウンリンクポート1およびダウンリンクポート2であると仮定される。障害がアップリンクポート0a上で発生した後に、中央機器は、ダウンリンクポート1とアップリンクポート0bとの間、およびダウンリンクポート2とアップリンクポート0bとの間のマッピング関係を再確立し得る。この場合、更新されたポートマッピング関係は表2にリストされ得る。
ネットワークデバイスのポートマッピング関係の調整を通して、パケット送信中に、障害が発生するネットワークリンクはバイパスされ、それにより、ネットワークトポロジが調整されることに留意されたい。ポートマッピング関係が更新された後に、第1のポートを通して当初送られたパケットは、第2のポートを通して送られるように変更される。したがって、パケットは、第1のポートに接続されたネットワークリンクをバイパスすることによって送信される。加えて、第1のポートに接続されたネットワークデバイスは、第2のポートに接続されたネットワークデバイスとは異なることがあり、したがって、パケットが到着するネットワークデバイスも変化する。
たとえば、図22を参照すると、障害が発生する前に、端末1および端末2によって実施されるアップリンク送信のためのパケットは、第1のレベルのネットワークデバイスBのダウンリンクポート1と第2のレベルのネットワークデバイスDのアップリンクポート0aとの間のネットワークリンクを介して送信される。ネットワークリンクが切断された後に、ネットワークデバイスDのポートマッピング関係におけるアップリンクポート0aは、アップリンクポート0bに更新され、次いで、ネットワークトポロジは、図23の左側の図から右側の図に更新される。端末1および端末2によって実施されるアップリンク送信のためのパケットは、アップリンク送信のために、切断されたネットワークリンクを通過しないが、第1のレベルのネットワークデバイスCのダウンリンクポート1と第2のレベルのネットワークデバイスDのアップリンクポート0bとの間のネットワークリンクを通過する。
1904.中央機器が、パケットを生成し、パケットをネットワークデバイスに送り、パケットが、ポート表示情報および少なくとも1つのデータブロックを含み、ポート表示情報が、各データブロックの送信先ポートを示すために使用され、少なくとも1つのデータブロックが制御データブロックを含み、制御データブロックが、更新されたポートマッピング関係を搬送する。
中央機器は、更新されたポートマッピング関係をパケット中の制御データブロックに追加し、パケット中のポート表示情報中の制御ポート識別子を有効な識別子として設定し、たとえば、ポート表示情報中の第1のビットに1を加算し得る。
1905.ネットワークデバイスが、パケットを受信し、ポート表示情報に基づいて、少なくとも1つのデータブロック中で送信先ポートが制御ポートであるデータブロックを決定して、制御データブロックを取得する。
1906.ネットワークデバイスが、制御データブロックをパースして、制御データブロック中で搬送される更新されたポートマッピング関係を取得する。
更新されたポートマッピング関係を取得した後に、ネットワークデバイスは、更新されたポートマッピング関係を記憶し、たとえば、当初記憶されたポートマッピング関係を更新されたポートマッピング関係に置き換えて、その後、更新されたポートマッピング関係を使用してパケット転送する。
たとえば、図21を参照すると、ネットワークリンクが切断される前に、ネットワークデバイスDのアップリンクポート0aがダウンリンクポート1およびダウンリンクポート2にマッピングされると仮定される。障害がアップリンクポート0a上で発生した後に、ダウンリンクポート1およびダウンリンクポート2にマッピングされたアップリンクポートは、アップリンクポート0bに更新される。
たとえば、更新されたポートマッピング関係を使用してパケット転送する処理は、以下のステップ1からステップ3を含み得る。
ステップ1:ネットワークデバイスが、何らかのダウンリンクポートを通してパケットを受信する。
ステップ2:ネットワークデバイスが、更新されたポートマッピング関係を照会して、ダウンリンクポートに対応する第2のポートを取得する。
ステップ3:ネットワークデバイスが、第2のポートを通してパケットを送る。
ポートマッピング関係が更新されたので、ネットワークデバイスが、更新されたポートマッピング関係を照会した後に、取得されるアップリンクポートは、第1のポートから第2のポートに変更され、次いで、ネットワークデバイスは、代わりに第2のポートを通してパケットを送る。
この実施形態において提供される方法によれば、障害がネットワークデバイスの第1のポート上で発生した後に、中央機器は、ポートマッピング関係を更新し、ポートマッピング関係において第1のポートとのマッピング関係を当初確立した少なくとも1つのポートに、第2のポートとのマッピング関係を確立させる。このようにして、現在のネットワークリンクが切断されると、ネットワークトポロジを適応的および動的に更新する機能が実装される。これは、ネットワークトポロジのロバストネスを保証し、それにより、ネットワークトポロジを保護する。
図23は、本出願の実施形態によるネットワークトポロジ生成装置の概略構造図である。本装置は、受信モジュール2301、決定モジュール2302、および送信モジュール2303を含む。
受信モジュール2301は、ステップ403におけるパケットを受信する処理を実施するように構成される。
決定モジュール2302は、ステップ403における制御データブロックを決定する処理を実施するように構成される。
送信モジュール2303は、ステップ404におけるデバイス情報を送る処理を実施するように構成される。
可能な実装では、決定モジュール2302は、ポート表示情報中の制御ポート識別子を決定するように構成される。
可能な実装では、少なくとも1つのデータブロックは、少なくとも1つのダウンリンクデータブロックを含み、
少なくとも1つのダウンリンクデータブロックは、ネットワークデバイスの次のレベルのネットワークデバイスに送られるべきであるポート表示情報および制御データブロックを搬送するか、または少なくとも1つのダウンリンクデータブロックは、端末に送られるべきデータを搬送する。
可能な実装では、決定モジュール2302は、少なくとも1つのダウンリンクデータブロックを決定するように構成される。
可能な実装では、本装置は、ステップ1204におけるパケットを生成する処理を実施するように構成された、生成モジュールをさらに含む。
送信モジュール2303は、ステップ1204におけるパケットを送る処理を実施するようにさらに構成される。
可能な実装では、受信モジュール2301は、ステップ1203またはステップ1205におけるパケットを受信する処理を実施するように構成される。
可能な実装では、決定モジュール2302は、
ダウンリンクポート識別子のロケーションを取得するように構成された、取得サブモジュールと、
ロケーションに対応するデータブロックをダウンリンクデータブロックとして決定するように構成された、決定サブモジュールと
を含む。
可能な実装では、送信モジュール2303は、
ステップ404におけるパケットを生成する処理を実施するように構成された、生成サブモジュールと、
ステップ404におけるパケットを送る処理を実施するように構成された、送りサブモジュールと
を含む。
可能な実装では、送信モジュール2303は、ステップ1204、ステップ1207、およびステップ1208におけるパケットを送る処理を実施するように構成される。
受信モジュール2301は、電子デバイスの受信機によって実装され得、送信モジュール2303は、電子デバイスの送信機によって実装され得、決定モジュール2302は、電子デバイスのプロセッサによって実装され得ることに留意されたい。
図24は、本出願の実施形態によるネットワークトポロジ生成装置の概略構造図である。本装置は、生成モジュール2401、送信モジュール2402、および受信モジュール2403を含む。
生成モジュール2401は、ステップ401を実施するように構成される。
送信モジュール2402は、ステップ402を実施するように構成される。
受信モジュール2403は、ステップ405を実施するように構成される。
生成モジュール2401は、ステップ406を実施するようにさらに構成される。
可能な実装では、ポート表示情報中の制御ポート識別子は、有効な識別子である。
可能な実装では、少なくとも1つのデータブロックは、少なくとも1つのダウンリンクデータブロックを含み、
少なくとも1つのダウンリンクデータブロックは、ネットワークデバイスの次のレベルのネットワークデバイスに送られるべきであるポート表示情報および制御データブロックを搬送するか、または少なくとも1つのダウンリンクデータブロックは、端末に送られるべきデータを搬送する。
可能な実装では、生成モジュール2401は、ステップ1201および/またはステップ1210を実施するように構成される。
可能な実装では、ポート表示情報中のダウンリンクポート識別子は、有効な識別子である。
可能な実装では、ポート表示情報中のすべての有効な識別子中のダウンリンクポート識別子のロケーションは、少なくとも1つのデータブロック中のダウンリンクデータブロックのロケーションに対応している。
生成モジュール2401は、電子デバイスのプロセッサによって実装され得、送信モジュール2402は、電子デバイスの送信機によって実装され得、受信モジュール2403は、電子デバイスの受信機によって実装され得ることに留意されたい。
上記の実施形態において提供されるネットワークトポロジ生成装置がネットワークトポロジを生成するとき、上記の機能モジュールの分割は、説明のための例として使用されるにすぎないことに留意されたい。実際の適用例では、上記の機能は、要件に応じて実装のための異なる機能モジュールに割り振られ得、すなわち、デバイスの内部構造が、上記で説明された機能の全部または一部を実装するために異なる機能モジュールに分割される。加えて、上記の実施形態において提供されるネットワークトポロジ生成装置は、ネットワークトポロジ生成方法の実施形態と同じ概念に基づく。それの特定の実装処理については、方法実施形態を参照されたい。詳細について本明細書で再び説明されない。
図25は、本出願の実施形態による電子デバイスの概略構造図である。電子デバイス2500は、ネットワークデバイスおよび/または中央機器として提供され得る。図25を参照すると、電子デバイス2500は、プロセッサ2501およびメモリ2502を含み、トランシーバ2503をさらに含み得る。メモリ2502はコンピュータプログラムを記憶し、プロセッサ2501は、メモリ2502に記憶されたコンピュータプログラムを実行するように構成される。電子デバイス2500がネットワークデバイスとして提供されるとき、コンピュータプログラムは、以下の実施形態においてネットワークデバイス側によって実施されるネットワークトポロジ生成方法を実施するために使用される。電子デバイス2500が中央機器として提供されるとき、コンピュータプログラムは、以下の実施形態において中央機器側によって実施されるネットワークトポロジ生成方法を実施するために使用される。
メモリ2502は、ランダムアクセスメモリ(random−access memory、以下では略してRAM)、読取り専用メモリ(Read−Only Memory、以下では略してROM)、フラッシュメモリ(flash memory)、ハードディスクドライブ(Hard Disk Drive、以下では略してHDD)、およびソリッドステートドライブ(Solid−State Drive、以下では略してSSD)を含み得る。
プロセッサ2501は、中央処理ユニット(Central Processing Unit、以下では略してCPU)であり得る。
トランシーバ2503は、ネットワークデバイスのダウンリンクポートおよび/またはアップリンクポートであり得る。アップリンクポートは、前のレベルのデバイスに接続され得る。アップリンクポートは、前のレベルのデバイスによって送られたパケットを受信することができ、パケットを次のレベルのデバイスに送ることもできる。ダウンリンクポートは、次のレベルのデバイスに接続され得る。ダウンリンクポートは、次のレベルのデバイスによって送られたパケットを受信することができ、パケットを次のレベルのデバイスに送ることもできる。
電子デバイス2500がネットワークデバイスとして提供されるとき、プロセッサ2501は、中央機器からパケットを受信するようにトランシーバ2503を制御し、パケットは、ポート表示情報および少なくとも1つのデータブロックを含み、ポート表示情報は、各データブロックの送信先ポートを示すために使用され、
プロセッサ2501は、ポート表示情報に基づいて少なくとも1つのデータブロック中の制御データブロックを決定し、
プロセッサ2501は、制御データブロック中のデバイス情報送り命令に従って中央機器にデバイス情報を送るようにトランシーバ2503を制御し、デバイス情報は、ネットワークトポロジを生成するために中央機器によって使用される。
可能な実装では、プロセッサ2501は、ポート表示情報中の制御ポート識別子を決定することであって、制御ポート識別子は、少なくとも1つのデータブロックが制御データブロックを有するかどうかを識別するために使用される、決定することと、制御ポート識別子が有効な識別子であるとき、少なくとも1つのデータブロック中で送信先ポートが制御ポートであるデータブロックが制御データブロックであると決定することとを行う。
可能な実装では、少なくとも1つのデータブロックは、少なくとも1つのダウンリンクデータブロックを含み、
少なくとも1つのダウンリンクデータブロックは、次のレベルのネットワークデバイスに送られるべきであるポート表示情報および制御データブロックを搬送するか、または少なくとも1つのダウンリンクデータブロックは、端末に送られるべきデータを搬送する。
可能な実装では、プロセッサ2501は、ポート表示情報に基づいて少なくとも1つのデータブロック中の少なくとも1つのダウンリンクデータブロックを決定し、少なくとも1つのダウンリンクデータブロックに基づいてパケットを生成し、パケットは、少なくとも1つのダウンリンクデータブロックを含み、
プロセッサ2501は、ダウンリンクポートを通してパケットを送るようにトランシーバ2503を制御する。
可能な実装では、プロセッサ2501は、ポート表示情報中のダウンリンクポート識別子を決定し、ダウンリンクポート識別子は、少なくとも1つのデータブロックが、送信先ポートがダウンリンクポートであるデータブロックを有するかどうかを識別するために使用され、
プロセッサ2501は、ダウンリンクポート識別子が有効な識別子であるとき、少なくとも1つのデータブロック中で送信先ポートがダウンリンクポートであるデータブロックが、ダウンリンクデータブロックであると決定する。
可能な実装では、プロセッサ2501は、ポート表示情報中のすべての有効な識別子中のダウンリンクポート識別子のロケーションを取得し、ロケーションに対応する少なくとも1つのデータブロック中のデータブロックをダウンリンクデータブロックとして決定する。
可能な実装では、プロセッサ2501は、制御ポートを使用することによってパケットを生成し、パケットは、ポート表示情報および制御データブロックを含み、ポート表示情報は、制御データブロックのソースポートを示すために使用され、制御データブロックは、デバイス情報を搬送し、
プロセッサ2501は、パケットを中央機器に送るようにトランシーバ2503を制御する。
可能な実装では、プロセッサ2501は、中央機器からポートマッピング関係を受信するようにトランシーバ2503を制御し、ポートマッピング関係は、少なくとも1つのダウンリンクポートにマッピングされたアップリンクポートを示すために使用され、
プロセッサ2501は、いずれかのダウンリンクポートを通して端末からパケットを受信するようにトランシーバ2503を制御し、
プロセッサ2501は、ポートマッピング関係を照会して、ダウンリンクポートにマッピングされたアップリンクポートを取得し、
プロセッサ2501は、アップリンクポートを通してパケットを中央機器に送るようにトランシーバ2503を制御する。
可能な実装では、制御ポート識別子は、ポート表示情報中の第1のプリセットロケーションのビット中で搬送される。
可能な実装では、制御データブロックは、少なくとも1つのデータブロック中の第2のプリセットロケーションにある。
可能な実装では、パケット中のデータブロックは、複数の期間に従って連続的にソートされ、複数の期間中の同じロケーションにおけるデータブロックの送信先ポートは同じである。
可能な実装では、プロセッサ2501は、中央機器からパケットを受信するようにトランシーバ2503を制御し、パケットは、ポート表示情報および少なくとも1つのデータブロックを含み、
プロセッサ2501は、ダウンリンクポートを通してパケットを受信した後に制御データブロック中のポートマッピング関係に基づいてポートマッピング関係を照会して、ダウンリンクポートに対応するアップリンクポートを取得し、
プロセッサ2501は、アップリンクポートを通してパケットを送るようにトランシーバ2503を制御する。
任意選択で、各ダウンリンクポートは、ポートマッピング関係において一意のアップリンクポートにマッピングされる。
可能な実装では、プロセッサ2501は、第1のポートがネットワークから切断された後に、中央機器からパケットを受信するようにトランシーバ2503を制御し、パケットは、ポート表示情報および少なくとも1つのデータブロックを含み、第1のポートは、少なくとも1つのポートにマッピングされ、
プロセッサ2501は、ポート表示情報に基づいて少なくとも1つのデータブロック中の制御データブロックを決定し、制御データブロックをパースして、更新されたポートマッピング関係を取得し、更新されたポートマッピング関係は、第2のポートと少なくとも1つのポートとの間のマッピング関係を含み、第2のポートはネットワークに接続される。
電子デバイス2500が中央機器として提供されるとき、プロセッサ2501はパケットを生成し、パケットは、ポート表示情報および少なくとも1つのデータブロックを含み、ポート表示情報は、各データブロックの送信先ポートを示すために使用され、少なくとも1つのデータブロックは制御データブロックを含み、制御データブロックはデバイス情報送り命令を搬送し、
プロセッサ2501は、パケットをネットワークデバイスに送るようにトランシーバ2503を制御し、
プロセッサ2501は、ネットワークデバイスからデバイス情報を受信するようにトランシーバ2503を制御し、
プロセッサ2501は、デバイス情報に基づいてネットワークトポロジを生成する。
可能な実装では、ポート表示情報中の制御ポート識別子は、有効な識別子であり、制御ポート識別子は、少なくとも1つのデータブロックが制御データブロックを有するかどうかを識別するために使用される。
可能な実装では、少なくとも1つのデータブロックは、少なくとも1つのダウンリンクデータブロックを含み、
少なくとも1つのダウンリンクデータブロックは、ネットワークデバイスの次のレベルのネットワークデバイスに送られるべきであるポート表示情報および制御データブロックを搬送するか、または少なくとも1つのダウンリンクデータブロックは、端末に送られるべきデータを搬送する。
可能な実装では、ポート表示情報中のダウンリンクポート識別子は、有効な識別子であり、ダウンリンクポート識別子は、少なくとも1つのデータブロックがダウンリンクデータブロックを有するかどうかを識別するために使用される。
可能な実装では、ポート表示情報中のすべての有効な識別子中のダウンリンクポート識別子のロケーションは、少なくとも1つのデータブロック中のダウンリンクデータブロックのロケーションに対応している。
可能な実装では、プロセッサ2501は、トランシーバ2503を制御して、ネットワークトポロジを照会して、ネットワークデバイスの少なくとも1つのアップリンクポートおよび少なくとも1つのダウンリンクポートを取得し、
プロセッサ2501は、各ダウンリンクポートのために少なくとも1つのアップリンクポートから1つのアップリンクポートを選択し、
プロセッサ2501は、各ダウンリンクポートに対応するアップリンクポートに基づいてネットワークデバイスのためのポートマッピング関係を確立し、
プロセッサ2501は、ポートマッピング関係をネットワークデバイスに送るようにトランシーバ2503を制御する。
可能な実装では、プロセッサ2501は、ポートマッピング関係に基づいてパケットを生成し、パケットは、ポート表示情報および少なくとも1つのデータブロックを含み、少なくとも1つのデータブロックは制御データブロックを含み、制御データブロックはポートマッピング関係を搬送し、
プロセッサ2501は、パケットをネットワークデバイスに送るようにトランシーバ2503を制御する。
可能な実装では、制御ポート識別子は、ポート表示情報中の第1のプリセットロケーションのビット中で搬送される。
可能な実装では、制御データブロックは、少なくとも1つのデータブロック中の第2のプリセットロケーションにある。
可能な実装では、パケット中のデータブロックは、複数の期間に従って連続的にソートされ、複数の期間中の同じロケーションにおけるデータブロックの送信先ポートは同じである。
可能な実装では、プロセッサ2501は、ネットワークデバイスの第1のポートがネットワークから切断されたとき、ネットワークデバイスのポートマッピング関係を照会して、第1のポートにマッピングされた少なくとも1つのポートを取得し、
プロセッサ2501は、ポートマッピング関係を更新して、更新されたマッピング関係を取得し、更新されたポートマッピング関係における少なくとも1つのポートは、ネットワークデバイスの第2のポートにマッピングされ、第2のポートはネットワークに接続される。
可能な実装では、プロセッサ2501は、更新されたポートマッピング関係に基づいてパケットを生成し、パケットは、ポート表示情報および少なくとも1つのデータブロックを含み、少なくとも1つのデータブロック中の制御データブロックは、更新されたポートマッピング関係を搬送し、
プロセッサ2501は、パケットをネットワークデバイスに送るようにトランシーバ2503を制御する。
可能な実装では、プロセッサ2501は、第2のポートから通知メッセージを受信するようにトランシーバ2503を制御し、通知メッセージは、第1のポートがネットワークから切断されることを示すために使用される。
例として使用される実施形態は、コンピュータ可読記憶媒体、たとえば、命令を含むメモリをさらに提供する。命令は、上記の実施形態におけるネットワークトポロジ生成方法を完了するために、ネットワークデバイスのプロセッサおよび/または中央機器のプロセッサによって実行され得る。たとえば、コンピュータ可読記憶媒体は、読取り専用メモリ(Read−Only Memory、以下では略してROM)、ランダムアクセスメモリ(Random Access Memory、以下では略してRAM)、CD−ROM、磁気テープ、フロッピーディスク、または光データ記憶デバイスであり得る。
上記の実施形態の全部または一部は、ソフトウェア、ハードウェア、ファームウェア、またはそれらの任意の組合せを使用することによって実装され得る。実施形態を実装するためにソフトウェアが使用されるとき、実施形態は、完全にまたは部分的にコンピュータプログラム製品の形態で実装され得る。コンピュータプログラム製品は、1つまたは複数のコンピュータプログラム命令を含む。コンピュータプログラム命令がコンピュータ上にロードされ、実行されたとき、本出願の実施形態による手順または機能がすべてまたは部分的に生成される。コンピュータは、汎用コンピュータ、専用コンピュータ、コンピュータネットワーク、または別のプログラマブル装置であり得る。コンピュータ命令は、コンピュータ可読記憶媒体に記憶され得るか、またはコンピュータ可読記憶媒体から別のコンピュータ可読記憶媒体に送信され得る。たとえば、コンピュータプログラム命令は、ワイヤードまたはワイヤレス様式で、ウェブサイト、コンピュータ、サーバ、またはデータセンタから別のウェブサイト、コンピュータ、サーバ、またはデータセンタに送信され得る。コンピュータ可読記憶媒体は、コンピュータによってアクセス可能な任意の使用可能な媒体であるか、または1つもしくは複数の使用可能な媒体を組み込んでいるサーバもしくはデータセンタなどのデータ記憶デバイスであり得る。使用可能な媒体は、磁気媒体(たとえば、フロッピーディスク、ハードディスク、または磁気テープ)、光媒体(たとえば、デジタルビデオディスク(digital video disc、DVD))、半導体媒体(たとえば、ソリッドステートドライブ)などであり得る。
本出願における「および/または」という用語は、関連する対象を記述するための関連付け関係を記述するにすぎず、3つの関係が存在し得ることを表す。たとえば、Aおよび/またはBは、Aのみが存在する、AとBの両方が存在する、およびBのみが存在するの、3つの場合を表し得る。加えて、本出願における「/」という文字は、関連する対象間の「または」関係を概して示す。上記の説明は、本出願の任意選択の実施形態にすぎず、本出願を限定することを意図されていない。本出願に開示される技術範囲内で当業者によって容易に理解されるいかなる変更または置換も、本出願の保護範囲内に入るものである。
たとえば、図22を参照すると、障害が発生する前に、端末1および端末2によって実施されるアップリンク送信のためのパケットは、第1のレベルのネットワークデバイスBのダウンリンクポート1と第2のレベルのネットワークデバイスDのアップリンクポート0aとの間のネットワークリンクを介して送信される。ネットワークリンクが切断された後に、ネットワークデバイスDのポートマッピング関係におけるアップリンクポート0aは、アップリンクポート0bに更新され、次いで、ネットワークトポロジは、図22の左側の図から右側の図に更新される。端末1および端末2によって実施されるアップリンク送信のためのパケットは、アップリンク送信のために、切断されたネットワークリンクを通過しないが、第1のレベルのネットワークデバイスCのダウンリンクポート1と第2のレベルのネットワークデバイスDのアップリンクポート0bとの間のネットワークリンクを通過する。