本願の目的は、ルーティング情報送信(フラッディング)効率を向上するために、ルーティング情報送信方法、パケット送信方法、及び関連機器を提供することである。
第1の態様によると、本願は、ルーティング情報送信方法を提供し、前記方法は、ネットワークに適用され、前記ネットワークは第1エリア及び第2エリアを含み、前記第1エリア内の第1ノードは、集約ルーティング情報を取得し、前記集約ルーティング情報は、元のルーティング情報の複数のピースを集約することにより取得され、前記元のルーティング情報の複数のピースはネットワークセグメント内のN個のノードに対応し、前記ネットワークセグメントは第1エリアに含まれ、前記ネットワークセグメント内のN個のノードは同じフレキシブルアルゴリズムflex-algoを有し、前記集約ルーティング情報は、前記flex-algoを示すために使用されるアルゴリズム識別子と、前記ネットワークセグメントを示すために使用されるネットワークセグメント識別子と、を運び、Nは正整数である。第1ノードは、第2エリアへ集約ルーティング情報を送信し、集約ルーティング情報は、第2エリア内のノードに、集約ルーティング情報に基づきネットワークセグメント内のN個のノードへパケットを送信するよう指示するために使用される。
従って、本願の本実施形態では、第2エリアにフラッディングするとき、第1エリアは、集約ルーティング情報を第2エリアへ送信してよく、送信される必要のあるルーティング情報の量を削減し、及びルーティング「フラッディング」効率を向上する。更に、集約ルーティング情報は、ネットワークセグメント識別子及びアルゴリズム識別子を運ぶ。この方法では、第2エリア内のノードは、集約ルーティング情報を用いて、第1エリア内のネットワークセグメント、及びネットワークセグメント内のノードのアルゴリズムを決定できる。その結果、第2エリア内のノードは、第1エリア内のネットワークセグメント内のノードへパケットを送信する。
可能な設計では、前記元のルーティング情報の複数のピースの各々は、前記アルゴリズム識別子及びサブネット識別子を含み、前記サブネット識別子は、前記元のルーティング情報に対応するノードが位置するサブネットを示すために使用され、前記サブネットは前記ネットワークセグメントに含まれる。
前記元のルーティング情報は、前記アルゴリズム識別子及び前記サブネット識別子を含む。前記元のルーティング情報の中の前記アルゴリズム識別子は、前記元のルーティング情報に対応するノードにより使用されるアルゴリズムを決定するために使用され、前記元のルーティング情報の中の前記サブネット識別子は、前記元のルーティング情報に対応するノードが位置するサブネットを決定するために使用され、前記サブネットは、前記ノードが位置するネットワークセグメントを決定するために使用されてよい。従って、前記第1ノードは、同じアルゴリズム識別子を有し同じネットワークセグメントに属する前記元のルーティング情報の複数のピースを集約して、前記集約ルーティング情報を取得する。この方法では、前記第2エリアにフラッディングするとき、前記第1エリアは、前記集約ルーティング情報を前記第2エリアへ送信してよく、前記集約ルーティング情報の中の前記元のルーティング情報の複数のピースを送信する必要がなく、送信される必要のあるルーティング情報の量を削減し、ルーティング「フラッディング」効率を向上する。
可能な設計では、前記集約ルーティング情報の中で運ばれる前記ネットワークセグメント識別子は、前記元のルーティング情報の複数のピースの中の前記サブネット識別子に基づき決定される。
前記元のルーティング情報は、前記アルゴリズム識別子及び前記サブネット識別子を含む。前記サブネット識別子は、前記元のルーティング情報に対応するノードが位置するサブネットを決定するために使用され、前記サブネットは、前記ノードが位置するネットワークセグメントを決定するために使用されてよい。従って、前記第1ノードは、同じアルゴリズム識別子を有し同じネットワークセグメントに属する前記元のルーティング情報の複数のピースを集約して、前記集約ルーティング情報を取得する。この方法では、前記第2エリアにフラッディングするとき、前記第1エリアは、前記集約ルーティング情報を前記第2エリアへ送信してよく、前記集約ルーティング情報の中の前記元のルーティング情報の複数のピースを送信する必要がなく、送信される必要のあるルーティング情報の量を削減し、ルーティング「フラッディング」効率を向上する。
可能な設計では、前記元のルーティング情報複数のピースのうちの第1の元のルーティング情報の中のサブネット識別子が変化し、前記第1の元のルーティング情報に含まれるアルゴリズム識別子が不変のままであるとき、前記集約ルーティング情報の中の前記ネットワークセグメント識別子及び前記アルゴリズム識別子は両方とも不変のままである。
本願の本実施形態では、前記第1エリアが前記集約ルーティング情報を前記第2エリアへ送信した後に、前記第1エリア内でルートフラッピングが生じた場合、前記第1エリアは前記第2エリアに再フラッディングする必要がない。前記第1エリア内で前記ルートフラッピングが生じることは、前記第1エリア内のノードの元のルーティング情報が変化することを含む。例えば、前記集約ルーティング情報に集約された元のルーティング情報の複数のピースのうちの1つの中のサブネット識別子は変化するが、アルゴリズム識別子は不変のままである。この場合、前記集約ルーティング情報は不変のままである。言い換えると、前記集約ルーティング情報の中の前記ネットワークセグメント識別子及び前記アルゴリズム識別子は、不変のままである。従って、前記第1エリアは、前記集約ルーティング情報を第2エリアへ再送信する必要がなく、電力消費を低減する。
可能な設計では、前記方法は、第3ノードの元のルーティング情報を前記集約ルーティング情報に集約するステップであって、前記第3ノードは前記ネットワークセグメントに追加された新たなノードであり、前記第3ノードは前記flex-algoを有する、ステップを更に含む。
本願の本実施形態では、前記第1エリアが前記集約ルーティング情報を前記第2エリアへ送信した後に、前記第1エリアに新たなノードが追加されると、前記第1ノードは、前記新たに追加されたノードの元のルーティング情報を前記集約ルーティング情報に集約してよい。従って、前記第1エリアに新たなノードが追加されるとき、前記第1エリアは、前記第2エリアに再フラッディングする必要がなく、前記新たに追加されたノードの元のルーティング情報を前記第2エリアに送信する必要もなく、電力消費を低減する。
可能な設計では、前記第1ノードが、前記第3ノードの前記元のルーティング情報を前記集約ルーティング情報に集約することは、前記第1ノードが、前記第3ノードの前記元のルーティング情報を、前記集約ルーティング情報に対応する元のルーティング情報セットに追加することを含み、前記元のルーティング情報セットは、前記集約ルーティング情報に集約された全部の元のルーティング情報を含む。
前記第1ノードは、前記集約ルーティング情報及び前記集約ルーティング情報に対応する前記元のルーティング情報セットを格納してよい。従って、前記新たに追加されたノードの前記元のルーティング情報を前記集約ルーティング情報に集約するとき、前記第1ノードは、前記新たに追加されたノードの前記元のルーティング情報を前記元のルーティング情報セットに追加してよい。従って、前記第1エリアに新たなノードが追加されるとき、前記集約ルーティング情報は影響を受けず、前記第1エリアは、前記第2エリアに再フラッディングする必要がなく、前記新たに追加されたノードの元のルーティング情報を前記第2エリアに送信する必要もなく、電力消費を低減する。
可能な設計では、前記第1ノードは、前記第1エリア及び前記第2エリア内のエリア接続ノードであるか、又は前記第1ノードは、エリア接続ノード以外の前記第1エリア内の別のノードであり、前記エリア接続ノードは、前記第1エリア及び前記第2エリアの両方に位置する。
前記第1ノードは、前記第1エリア内の任意のノード、例えば、前記エリア接続ノード、又は前記エリア接続ノード以外の別のノード、であってよい。これは、本願の本実施形態において限定されない。
可能な設計では、前記第1ノードが前記エリア接続ノードであるとき、前記第1ノードが、前記集約ルーティング情報を前記第2エリアへ送信することは、前記第1ノードが、前記集約ルーティング情報を、前記エリア接続ノード以外の前記第2エリア内の別のノードへ送信することを含む。
前記第1ノードは、前記第1エリア内の前記エリア接続ノードであってよい。前記エリア接続ノードは前記第1エリア及び前記第2エリアの両方に位置するので、前記第1ノードは、前記集約ルーティング情報を、前記エリア接続ノード以外の前記第2エリア内の別のノードへ送信してよく、前記第1エリアから前記第2エリアへのルーティングフラッディングを実施する。前記第1エリアにより送信される必要のあるルーティング情報の量は比較的少ないので、前記ルーティング「フラッディング」効率が比較的高い。
可能な設計では、前記第1ノードが前記エリア接続ノード以外の前記第1エリア内の別のノードであるとき、前記第1ノードが、前記集約ルーティング情報を前記第2エリアへ送信することは、前記第1ノードが、前記集約ルーティング情報を、前記エリア接続ノードへ送信することを含み、その結果、前記集約ルーティング情報は、前記エリア接続ノードを用いて、前記エリア接続ノード以外の前記第2エリア内の別のノードへ送信される。
前記第1ノードは、前記エリア接続ノード以外の前記第1エリア内の別のノードであってよい。この場合、前記第1ノードは、前記エリア接続ノードを用いて、前記集約ルーティング情報を前記第2エリアへ送信してよく、前記第1エリアから前記第2エリアへのルーティングフラッディングを実施する。前記第1エリアにより送信される必要のあるルーティング情報の量は比較的少ないので、前記ルーティング「フラッディング」効率が比較的高い。
第2の態様によると、本願は、パケット送信方法を更に提供し、前記方法は、ネットワークに適用され、前記ネットワークは第1エリア及び第2エリアを含み、前記第2エリア内の第1ノードは、集約ルーティング情報を取得し、前記集約ルーティング情報は、元のルーティング情報の複数のピースを集約することにより取得され、前記元のルーティング情報の複数のピースはネットワークセグメント内のN個のノードに対応し、前記ネットワークセグメントは第1エリアに含まれ、前記N個のノードは同じフレキシブルアルゴリズムflex-algoを有し、前記集約ルーティング情報は、前記flex-algoを示すために使用されるアルゴリズム識別子と、前記ネットワークセグメントを示すために使用されるネットワークセグメント識別子と、を運び、Nは正整数である。前記第1ノードは、前記集約ルーティング情報に基づき、前記ネットワークセグメント内の前記N個のノードへパケットを送信する。
従って、本願の本実施形態では、第2エリアにフラッディングするとき、第1エリアは、集約ルーティング情報を第2エリアへ送信してよい。言い換えると、送信される必要のあるルーティング情報の量が削減され、及びルーティング「フラッディング」効率を向上する。更に、集約ルーティング情報は、ネットワークセグメント識別子及びアルゴリズム識別子を運ぶ。この方法では、第2エリア内のノードは、集約ルーティング情報を用いて、第1エリア内のネットワークセグメント、及びネットワークセグメント内のノードのアルゴリズムを決定できる。その結果、第2エリア内のノードは、第1エリア内のネットワークセグメント内のノードへパケットを送信する。
可能な設計では、前記元のルーティング情報の複数のピースの各々は、前記アルゴリズム識別子及びサブネット識別子を含み、前記サブネット識別子は、前記元のルーティング情報に対応するノードが位置するサブネットを示すために使用され、前記サブネットは前記、請求項1に記載の方法。
前記元のルーティング情報は、前記アルゴリズム識別子及び前記サブネット識別子を含む。前記元のルーティング情報の中の前記アルゴリズム識別子は、前記元のルーティング情報に対応するノードにより使用されるアルゴリズムを決定するために使用され、前記元のルーティング情報の中の前記サブネット識別子は、前記元のルーティング情報に対応するノードが位置するサブネットを決定するために使用され、前記サブネットは、前記ノードが位置するネットワークセグメントを決定するために使用されてよい。従って、前記第1ノードは、同じアルゴリズム識別子を有し同じネットワークセグメントに属する前記元のルーティング情報の複数のピースを集約して、前記集約ルーティング情報を取得する。この方法では、前記第2エリアにフラッディングするとき、前記第1エリアは、前記集約ルーティング情報を前記第2エリアへ送信してよく、前記集約ルーティング情報の中の前記元のルーティング情報の複数のピースを送信する必要がなく、送信される必要のあるルーティング情報の量を削減し、ルーティング「フラッディング」効率を向上する。
可能な設計では、前記集約ルーティング情報の中で運ばれる前記ネットワークセグメント識別子は、前記元のルーティング情報の複数のピースの中の前記サブネット識別子に基づき決定される。
前記元のルーティング情報は、前記アルゴリズム識別子及び前記サブネット識別子を含む。前記サブネット識別子は、前記元のルーティング情報に対応するノードが位置するサブネットを決定するために使用され、前記サブネットは、前記ノードが位置するネットワークセグメントを決定するために使用されてよい。従って、前記第1ノードは、同じアルゴリズム識別子を有し同じネットワークセグメントに属する前記元のルーティング情報の複数のピースを集約して、前記集約ルーティング情報を取得する。この方法では、前記第2エリアにフラッディングするとき、前記第1エリアは、前記集約ルーティング情報を前記第2エリアへ送信してよく、前記集約ルーティング情報の中の前記元のルーティング情報の複数のピースを送信する必要がなく、送信される必要のあるルーティング情報の量を削減し、ルーティング「フラッディング」効率を向上する。
可能な設計では、前記第1ノードは、前記第1エリア及び前記第2エリア内のエリア接続ノードであるか、又は前記第1ノードは、エリア接続ノード以外の前記第2エリア内の別のノードであり、前記エリア接続ノードは、前記第1エリア及び前記第2エリアの両方に位置する。
前記第1ノードは、前記第2エリア内の任意のノード、例えば、前記エリア接続ノード、又は前記エリア接続ノード以外の別のノード、であってよい。これは、本願の本実施形態において限定されない。
可能な設計では、前記第1ノードが前記エリア接続ノード以外の前記第2エリア内の別のノードであるとき、前記第1ノードが、集約ルーティング情報を取得することは、
前記第1ノードが、前記集約ルーティング情報を前記エリア接続ノードから取得することであって、前記エリア接続ノードは、前記集約ルーティング情報及び前記集約ルーティング情報に集約された全部の元のルーティング情報を格納することを含む。
前記第1ノードは、前記エリア接続ノード以外の前記第2エリア内の別のノードであってよい。前記エリア接続ノードは前記第1エリア及び前記第2エリアの両方に位置するので、前記第1ノードは、前記集約ルーティング情報を、前記エリア接続ノードから受信してよく、前記第1エリアから前記第2エリアへのルーティングフラッディングを実施する。前記第1エリアにより送信される必要のあるルーティング情報の量は比較的少ないので、前記ルーティング「フラッディング」効率が比較的高い。
可能な設計では、前記方法は、以下を更に含む。 前記第1ノードはパケットを取得し、前記パケットは前記集約ルーティング情報に一致し、前記パケットの宛先ノードは前記ネットワークセグメント内のノードである。前記第1ノードは、前記集約ルーティング情報に基づき、前記エリア接続ノードへ前記パケットを送信し、その結果、前記エリア接続ノードは前記パケットを前記宛先ノードへ送信する。
従って、本願の本実施形態で提供されるパケット送信方法では、前記パケットを前記第1エリアへ送信する前に、前記第2エリアは、前記第1エリア内の大量の元のルーティング情報を取得する必要がなく、元のルーティング情報の前記複数のピースを集約することにより取得された前記集約ルーティング情報を取得するだけでよく、ルーティング効率を向上する。更に、集約ルーティング情報は、ネットワークセグメント識別子及びアルゴリズム識別子を運ぶ。この方法では、第2エリア内のノードは、集約ルーティング情報を用いて、第1エリア内のネットワークセグメント、及びネットワークセグメント内のノードのアルゴリズムを決定できる。その結果、第2エリア内のノードは、第1エリア内のネットワークセグメント内のノードへパケットを送信する。
第3の態様によると、本願は、ルーティングノードを更に提供する。前記ノードはネットワーク内のノードであり、前記ネットワークは第1エリア及び第2エリアを含み、前記ノードは前記第1エリアに含まれ、前記ノードは、
集約ルーティング情報を取得するよう構成される処理ユニットであって、前記集約ルーティング情報は、元のルーティング情報の複数のピースを集約することにより取得され、前記元のルーティング情報の複数のピースは、ネットワークセグメント内のN個のノードに対応し、前記ネットワークセグメントは前記第1エリアに含まれ、前記N個のノードは同じフレキシブルアルゴリズム(flex-algo)を有し、前記集約ルーティング情報は、前記flex-algoを示すために使用されるアルゴリズム識別子と、前記ネットワークセグメントを示すために使用されるネットワークセグメント識別子と、を運び、Nは正整数である、処理ユニットと、
前記集約ルーティング情報に基づき、前記ネットワークセグメント内の前記N個のノードへパケットを送信するよう構成されるトランシーバユニットと、を含む。
可能な設計では、前記元のルーティング情報の複数のピースの各々は、前記アルゴリズム識別子及びサブネット識別子を含み、前記サブネット識別子は、前記元のルーティング情報に対応するノードが位置するサブネットを示すために使用され、前記サブネットは前記ネットワークセグメントに含まれる。
可能な設計では、前記集約ルーティング情報の中で運ばれる前記ネットワークセグメント識別子は、前記元のルーティング情報の複数のピースの中の前記サブネット識別子に基づき決定される。
可能な設計では、前記元のルーティング情報複数のピースのうちの第1の元のルーティング情報の中のサブネット識別子が変化し、前記第1の元のルーティング情報に含まれるアルゴリズム識別子が不変のままであるとき、前記集約ルーティング情報の中の前記ネットワークセグメント識別子及び前記アルゴリズム識別子は両方とも不変のままである。
可能な設計では、前記処理ユニットは、第3ノードの元のルーティング情報を前記集約ルーティング情報に集約するよう更に構成され、前記第3ノードは前記ネットワークセグメントに追加された新たなノードであり、前記第3ノードは前記flex-algoを有する。
可能な設計では、前記処理ユニットは、具体的に、前記第3ノードの前記元のルーティング情報を、前記集約ルーティング情報に対応する元のルーティング情報セットに追加するよう構成され、前記元のルーティング情報セットは、前記集約ルーティング情報に集約された全部の元のルーティング情報を含む。
可能な設計では、前記ノードは、前記第1エリア及び前記第2エリア内のエリア接続ノードであるか、又は前記ノードは、エリア接続ノード以外の前記第1エリア内の別のノードであり、前記エリア接続ノードは、前記第1エリア及び前記第2エリアの両方に位置する。
可能な設計では、前記ノードが前記エリア接続ノードであるとき、前記集約ルーティング情報を前記第2エリアへ送信するよう構成されると、前記トランシーバユニットは、具体的に、前記集約ルーティング情報を、前記エリア接続ノード以外の前記第2エリア内の別のノードへ送信するよう構成される。
可能な設計では、前記ノードが前記エリア接続ノード以外の前記第1エリア内の別のノードであるとき、前記集約ルーティング情報を前記第2エリアへ送信するよう構成されると、前記トランシーバユニットは、具体的に、前記集約ルーティング情報を、前記エリア接続ノードへ送信するよう構成され、その結果、前記集約ルーティング情報は、前記エリア接続ノードを用いて、前記エリア接続ノード以外の前記第2エリア内の別のノードへ送信される。
第4の態様によると、本願は、ルーティングノードを更に提供する。前記ノードはネットワーク内のノードであり、前記ネットワークは第1エリア及び第2エリアを含み、前記ノードは前記第2エリアに位置し、前記ノードは、
集約ルーティング情報を取得するよう構成される処理ユニットであって、前記集約ルーティング情報は、元のルーティング情報の複数のピースを集約することにより取得され、前記元のルーティング情報の複数のピースは、ネットワークセグメント内のN個のノードに対応し、前記ネットワークセグメントは前記第1エリアに含まれ、前記N個のノードは同じフレキシブルアルゴリズム(flex-algo)を有し、前記集約ルーティング情報は、前記flex-algoを示すために使用されるアルゴリズム識別子と、前記ネットワークセグメントを示すために使用されるネットワークセグメント識別子と、を運び、Nは正整数である、処理ユニットと、
前記集約ルーティング情報に基づき、前記ネットワークセグメント内の前記N個のノードへパケットを送信するよう構成されるトランシーバユニットと、を含む。
可能な設計では、前記元のルーティング情報の複数のピースの各々は、前記アルゴリズム識別子及びサブネット識別子を含み、前記サブネット識別子は、前記元のルーティング情報に対応するノードが位置するサブネットを示すために使用され、前記サブネットは前記ネットワークセグメントに含まれる。
可能な設計では、前記集約ルーティング情報の中で運ばれる前記ネットワークセグメント識別子は、前記元のルーティング情報の複数のピースの中の前記サブネット識別子に基づき決定される。
可能な設計では、前記ノードは、前記第1エリア及び前記第2エリア内のエリア接続ノードであるか、又は前記ノードは、エリア接続ノード以外の前記第2エリア内の別のノードであり、前記エリア接続ノードは、前記第1エリア及び前記第2エリアの両方に位置する。
可能な設計では、前記ノードが前記エリア接続ノード以外の前記第2エリア内の別のノードであるとき、前記処理ユニットは、具体的に、前記集約ルーティング情報を前記エリア接続ノードから取得するよう構成され、前記エリア接続ノードは、前記集約ルーティング情報及び前記集約ルーティング情報に集約された全部の元のルーティング情報を格納する。
可能な設計では、前記処理ユニットは、パケットを取得するよう更に構成され、前記パケットは、前記集約ルーティング情報に一致し、前記パケットの宛先ノードは前記ネットワークセグメント内のノードであり、
前記トランシーバユニットは、前記集約ルーティング情報に基づき、前記エリア接続ノードへ前記パケットを送信するよう更に構成され、その結果、前記エリア接続ノードは前記宛先ノードへ前記パケットを送信する。
第5の態様によると、ルーティングノードが更に提供される。前記ノードはネットワーク内のノードであり、前記ネットワークは第1エリア及び第2エリアを含み、前記ノードは前記第1エリアに含まれ、前記ノードは、
集約ルーティング情報を取得するよう構成されるプロセッサであって、前記集約ルーティング情報は、元のルーティング情報の複数のピースを集約することにより取得され、前記元のルーティング情報の複数のピースは、ネットワークセグメント内のN個のノードに対応し、前記ネットワークセグメントは前記第1エリアに含まれ、前記N個のノードは同じフレキシブルアルゴリズム(flex-algo)を有し、前記集約ルーティング情報は、前記flex-algoを示すために使用されるアルゴリズム識別子と、前記ネットワークセグメントを示すために使用されるネットワークセグメント識別子と、を運び、Nは正整数である、プロセッサと、
前記集約ルーティング情報を前記第2エリアへ送信するよう構成されるトランシーバであって、前記集約ルーティング情報は前記第2エリア内のノードに、前記集約ルーティング情報に基づき、前記ネットワークセグメント内の前記N個のノードへパケットを送信するよう指示するために使用される、トランシーバと、を含む。
可能な設計では、前記元のルーティング情報の複数のピースの各々は、前記アルゴリズム識別子及びサブネット識別子を含み、前記サブネット識別子は、前記元のルーティング情報に対応するノードが位置するサブネットを示すために使用され、前記サブネットは前記ネットワークセグメントに含まれる。
可能な設計では、前記集約ルーティング情報の中で運ばれる前記ネットワークセグメント識別子は、前記元のルーティング情報の複数のピースの中の前記サブネット識別子に基づき決定される。
可能な設計では、前記元のルーティング情報複数のピースのうちの第1の元のルーティング情報の中のサブネット識別子が変化し、前記第1の元のルーティング情報に含まれるアルゴリズム識別子が不変のままであるとき、前記集約ルーティング情報の中の前記ネットワークセグメント識別子及び前記アルゴリズム識別子は両方とも不変のままである。
可能な設計では、前記プロセッサは、第3ノードの元のルーティング情報を前記集約ルーティング情報に集約するよう更に構成され、前記第3ノードは前記ネットワークセグメントに追加された新たなノードであり、前記第3ノードは前記flex-algoを有する。
可能な設計では、前記プロセッサは、具体的に、前記第3ノードの前記元のルーティング情報を、前記集約ルーティング情報に対応する元のルーティング情報セットに追加するよう構成され、前記元のルーティング情報セットは、前記集約ルーティング情報に集約された全部の元のルーティング情報を含む。
可能な設計では、前記ノードは、前記第1エリア及び前記第2エリア内のエリア接続ノードであるか、又は前記ノードは、エリア接続ノード以外の前記第1エリア内の別のノードであり、前記エリア接続ノードは、前記第1エリア及び前記第2エリアの両方に位置する。
可能な設計では、前記ノードが前記エリア接続ノードであるとき、前記集約ルーティング情報を前記第2エリアへ送信するよう構成されると、前記トランシーバは、具体的に、前記集約ルーティング情報を、前記エリア接続ノード以外の前記第2エリア内の別のノードへ送信するよう構成される。
可能な設計では、前記ノードが前記エリア接続ノード以外の前記第1エリア内の別のノードであるとき、前記集約ルーティング情報を前記第2エリアへ送信するよう構成されると、前記トランシーバは、具体的に、前記集約ルーティング情報を、前記エリア接続ノードへ送信するよう構成され、その結果、前記集約ルーティング情報は、前記エリア接続ノードを用いて、前記エリア接続ノード以外の前記第2エリア内の別のノードへ送信される。
第5の態様によると、ルーティングノードが更に提供される。前記ノードはネットワーク内のノードであり、前記ネットワークは第1エリア及び第2エリアを含み、前記ノードは前記第2エリアに含まれ、前記ノードは、
集約ルーティング情報を取得するよう構成されるプロセッサであって、前記集約ルーティング情報は、元のルーティング情報の複数のピースを集約することにより取得され、前記元のルーティング情報の複数のピースは、ネットワークセグメント内のN個のノードに対応し、前記ネットワークセグメントは前記第1エリアに含まれ、前記N個のノードは同じフレキシブルアルゴリズム(flex-algo)を有し、前記集約ルーティング情報は、前記flex-algoを示すために使用されるアルゴリズム識別子と、前記ネットワークセグメントを示すために使用されるネットワークセグメント識別子と、を運び、Nは正整数である、プロセッサと、
前記集約ルーティング情報に基づき、前記ネットワークセグメント内の前記N個のノードへパケットを送信するよう構成されるトランシーバと、を含む。
可能な設計では、前記元のルーティング情報の複数のピースの各々は、前記アルゴリズム識別子及びサブネット識別子を含み、前記サブネット識別子は、前記元のルーティング情報に対応するノードが位置するサブネットを示すために使用され、前記サブネットは前記ネットワークセグメントに含まれる。
可能な設計では、前記集約ルーティング情報の中で運ばれる前記ネットワークセグメント識別子は、前記元のルーティング情報の複数のピースの中の前記サブネット識別子に基づき決定される。
可能な設計では、前記ノードは、前記第1エリア及び前記第2エリア内のエリア接続ノードであるか、又は前記ノードは、エリア接続ノード以外の前記第2エリア内の別のノードであり、前記エリア接続ノードは、前記第1エリア及び前記第2エリアの両方に位置する。
可能な設計では、前記ノードが前記エリア接続ノード以外の前記第2エリア内の別のノードであるとき、前記プロセッサは、具体的に、前記集約ルーティング情報を前記エリア接続ノードから取得するよう構成され、前記エリア接続ノードは、前記集約ルーティング情報及び前記集約ルーティング情報に集約された全部の元のルーティング情報を格納する。
可能な設計では、前記プロセッサは、パケットを取得するよう更に構成され、前記パケットは、前記集約ルーティング情報に一致し、前記パケットの宛先ノードは前記ネットワークセグメント内のノードであり、
前記トランシーバは、前記集約ルーティング情報に基づき、前記エリア接続ノードへ前記パケットを送信するよう更に構成され、その結果、前記エリア接続ノードは前記宛先ノードへ前記パケットを送信する。
第7の態様によると、本願はルーティングシステムを更に提供する。前記システムは、第1の態様で提供される方法を実施するよう構成される第1ノードと、第2の態様で提供される方法を実施するよう構成される第2ノードと、を含む。
前記第1ノード及び前記第2ノードはネットワーク内のノードであり、前記ネットワークは第1エリア及び第2エリアを含み、前記第1ノードは前記第1エリアに含まれ、前記第2ノードは前記第2エリアに含まれる。
第8の態様によると、本願は、ルーティングネットワークを更に提供する。前記ネットワークは第1エリア及び第2エリアを含む。
前記第1エリア内の第1ノードは、第1の態様で提供される方法を実施するよう構成される。
前記第2エリア内の第2ノードは、第2の態様で提供される方法を実施するよう構成される。
第9の態様によると、本願は、コンピュータ可読記憶媒体を更に提供する。前記コンピュータ可読記憶媒体はコンピュータ命令を含む。前記コンピュータ命令がコンピュータで実行されると、前記コンピュータは、第1の態様で提供される方法を実行可能にされる。
第10の態様によると、本願は、コンピュータ可読記憶媒体を更に提供する。前記コンピュータ可読記憶媒体はコンピュータ命令を含む。前記コンピュータ命令がコンピュータで実行されると、前記コンピュータは、第2の態様で提供される方法を実行可能にされる。
第11の態様によると、命令を含むコンピュータプログラムプロダクトが更に提供される。前記コンピュータプログラムプロダクトがコンピュータで実行されると、前記コンピュータは、第1の態様で提供される方法を実行可能にされる。
第12の態様によると、命令を含むコンピュータプログラムプロダクトが更に提供される。前記コンピュータプログラムプロダクトがコンピュータで実行されると、前記コンピュータは、第2の態様で提供される方法を実行可能にされる。
第13の態様によると、チップが更に提供される。前記チップは、プロセッサとデータインタフェースとを含み、前記プロセッサは、前記データインタフェースを用いてメモリに格納された命令を読み出して、第1の態様で提供される方法を実行する。
可能な設計では、前記チップは前記メモリを更に含んでよく、前記メモリは命令を格納し、前記プロセッサは、前記メモリに格納された命令を実行するよう構成され、前記命令が実行されると、前記プロセッサは第1の態様の方法を実行するよう構成される。
第14の態様によると、チップが更に提供される。前記チップは、プロセッサとデータインタフェースとを含み、前記プロセッサは、前記データインタフェースを用いてメモリに格納された命令を読み出して、第2の態様で提供される方法を実行する。
可能な設計では、前記チップは前記メモリを更に含んでよく、前記メモリは命令を格納し、前記プロセッサは、前記メモリに格納された命令を実行するよう構成され、前記命令が実行されると、前記プロセッサは第2の態様の方法を実行するよう構成される。
第3の態様~第14の態様の有利な効果については、第1の態様及び第2の態様の有利な効果の説明を参照のこと。詳細はここで再び記載されない。
以下は、先ず、本願において関連する用語を説明する。
(1)ルーティングノードは、ルーティング情報の生成、送信(又は転送)、受信、及び経路選択のような機能を有するネットワーク装置である。例えば、ルーティングノードは、ルータ又は別のルーティングモジュールであってよく、独立した装置、装置内の機器モジュール、装置内の複数の機器モジュールのセット、複数の装置のセット、等であってよい。これは、本願の実施形態において限定されない。
説明を容易にするために、ルーティングノードは、以下の明細書中で簡単にノードと呼ばれる。
(2)ルーティング情報について、本願におけるルーティング情報は、元のルーティング情報、及び集約ルーティング情報を含む。元のルーティング情報は、ノードがバックグラウンドでフラッディングを実行するルーティング情報に対応し、代替として、「集約されるべきルーティング情報」、「処理されるべきルーティング情報」、「ノードルーティング情報」、等と呼ばれてよい。この名称は、本願の実施形態において限定されない。
集約ルーティング情報は、元のルーティング情報の複数のピースを集約することにより取得され、元のルーティング情報の複数のピースはN個のノードに対応してよく、Nは正整数である。言い換えると、元のルーティング情報及びノードは、1対1対応であってよく、又は多対1対応であってよい。説明は、主に、元のルーティング情報及びノードが1対1対応である例を用いて、以下に提供される。
(3)ルーティング「フラッディング」は、ノードが該ノードの元のルーティング情報を近隣ノードへ送信することを意味し、元のルーティング情報は、例えばリンクステートパケット(link state packet, LSP)である。近隣ノードは、次に、元のルーティング情報を、元のルーティング情報を送信するノード以外の別の近隣ノードへ送信する。その結果、元のルーティング情報は、レベル毎に全部のノードへ送信される。この「フラッディング」方法では、全部のノードが元のルーティング情報を有することができ、リンクステートデータベース(link state data base, LSDB)同期が維持できる。データパケットは、LSDB同期を維持する複数のルーティングノードの間で送信できる。
(4)パケットは、プロトコルパケット及びデータパケットを含む。プロトコルパケットは、種々のルーティングプロトコル(例えば、ISISルーティングプロトコル)を含むパケット、例えば、近隣関係を確立し維持するために使用されるハローパケット又はシーケンス番号パケット(sequence number PDU, SNP)パケットとして理解されてよい。プロトコルパケットと異なり、データパケットは、送信されるべき情報を含むパケットである。「情報」を含むパケット内の「情報」は、端末装置によりサービスを実行する処理の中で生成されるサービスデータパケットであってよい。「端末装置がサービスを実行する」ことは、端末装置が種々のアプリケーションを実行することを含んでよい。例えば、端末装置がWeChatアプリケーションを実行して連絡先への音声呼を生成するシナリオでは、「情報」は、音声データパケットであってよく、データパケットは音声データパケットを含むパケットである。別の例では、端末装置がショートメッセージサービスアプリケーションを実行し、ユーザがショートメッセージサービスのメッセージのコンテンツを編集して、ショートメッセージサービスのメッセージの該コンテンツを連絡先へ送信するシナリオでは、「情報」は、テキスト情報等であってよく、データパケットは、テキスト情報を含むパケットである。
(5)エリア分割は、ノードを隔離するために、複数のノードが異なるエリアに分割される方法である。言い換えると、2個のエリアは、互いに隔離されている。「隔離」は、ここでは、2個のエリアの中のノードのLSDBが互いに独立であり、同期していないこととして理解されてよい。具体的に、第1エリア及び第2エリアが例として使用される。第1エリア内のノードのLSDBは同期され、従って、プロトコルパケットは第1エリア内の異なるノードの間で送信できる。同様に、第2エリア内のノードのLSDBは同期され、従って、プロトコルパケットはノードの間で送信できる。しかしながら、異なるエリア内のノードのLSDBは同期されず、プロトコルパケットの送信が実施できない。
勿論、第1エリア及び第2エリアは、異なる処理(process)に含まれる又は同じ処理に含まれる異なるエリアであってよい。
(6)ネットワークセグメント及びサブネットについて、1つのエリアは1つ以上のネットワークセグメントを含んでよい。1つのネットワークセグメントは、複数のサブネットを含んでよい。ネットワークセグメント識別子は、異なるネットワークセグメントの間を区別するために使用されてよい。サブネット識別子は、異なるサブネットの間を区別するために使用される。ネットワークセグメント及びサブネットが導入される前に、IPアドレスが先ず導入される。
インターネットプロトコルバージョン4(internet protocol version 4, IPv4)が例として使用される。IPv4アドレスは192.168.1.1/32であり、別のIPv4アドレスは192.168.1.2/32である。2つのIPv4アドレスは、同じネットワークセグメント192.168.1.0/24に含まれ、192.168.1.0/24はネットワークセグメントのネットワークセグメント識別子である。IPv4アドレスの中の「/24」は、サブネットマスクのビット数を示す。サブネットマスクのビット数の特定の値は、本願において限定されず、24ビット、32ビット、等であってよい。具体的に、IPv4アドレスがそれぞれ192.168.1.132及び192.168.2.2/32であるとき、2つのIPv4アドレスが同じネットワークセグメントに属することが特定の方法で決定できる。特定の決定方法は、本願の実施形態において説明されない。代替として、IPv4アドレスは192.168.2.1/32であり、別のIPv4アドレスは192.168.2.2/32である。2つのIPv4アドレスは、同じネットワークセグメント192.168.2.0/24に含まれ、192.168.2.0/24はネットワークセグメントのネットワークセグメント識別子である。
192.168.1.0/24及び192.168.2.0/24は異なるネットワークセグメントに属する。
インターネットプロトコルバージョン6(internet protocol version 6, IPv6)が例として使用される。ネットワークアドレスの数を増大するために、IPv4アドレスのビット数と比べて、IPv6アドレスのビット数は増大され、例えば128である。128ビットのIPv6アドレスが例として使用される。説明を容易にするために、128ビットのIPv6アドレスは、8個の16ビット2進セグメントに分けられる。各16ビット2進セグメントは、4ビットの16進数を用いて表現され、近隣2進セグメントは「:」(コロン)により分離される。例えば、IPv6アドレスは1000:0000:0000:0000:000A:000B:000C:000Dと表現される。0は省略されてよく、従って、IPv6アドレスは1000:0:0:0:A:B:C:Dと略されてよい。更に簡略化するために、近隣の0は2個のコロン「::」により置き換えられる。従って、IPv6アドレスは、最終的に1000::A:B:C:Dに簡略化される。128ビットのIPv6アドレスが上述の例として使用され、同じ原理が別のビット数を含むIPv6アドレスに適用される。これは、本願の実施形態において限定されない。
IPv4と同様に、複数のIPv6アドレスがそれぞれ4:1::/64、4:2::/64、4:3::/64、4:4::/64、及び4:5::/64であると仮定する。複数のIPv6アドレスは、同じネットワークセグメント4:0::/32(1個の0が中央に含まれるので、更に4::/32に略される)に含まれ、4::/32はネットワークセグメントのネットワークセグメント識別子である。代替として、複数のIPv6アドレスがそれぞれ3:1::/64及び3:2::/64であると仮定する。複数のIPv6アドレスは同じネットワークセグメント3:0::/32(1個の0が中央に含まれるので、更に3::/32)に略されてよい)に属し、3::/32はネットワークセグメントのネットワークセグメント識別子である。
従って、本願の実施形態では、ネットワークセグメント識別子は、ネットワークセグメントを識別するために使用される。IPv4が例として使用される。ネットワークセグメント識別子は、例えば192.168.1.0/24であってよく、サブネット識別子は192.168.1.1/32、192.168.1.2/32であってよい、等である。IPv6が例として使用される。ネットワークセグメント識別子は4::/32であってよく、サブネット識別子は4:1::/64、4:2::/64、4:3::/64、4:4::/64、4:5::/64であってよい、等である。
(7)フレキシブルアルゴリズム(flexible algorithm, flex-algo)では、各アルゴリズムは1つのルールを定め、ノードは、対応するアルゴリズムのルールに基づき、異なるトポロジを計算して、パケットを送信してよい。
従来のアルゴリズム(例えば、IGP又はSPF)と異なり、トポロジを計算するために、flex-algoには従来のアルゴリズムに基づき別の制約が追加されてよい。制約、つまりフレキシブルアルゴリズム定義(flexible algorithm definition, FAD)は、パラメータのグループを含み、例えば、3個のパラメータ、つまりメトリックタイプ(metric type)、計算タイプ(calc-type)、及びトポ制約(topo-constraints)を含む。
従来のアルゴリズムとflex-algoとの間の区別を助けるために、各アルゴリズムは、対応するアルゴリズム識別子を用いて識別される。例えば、0~255の範囲の値が、異なるアルゴリズムを識別するために使用される。例えば、0はSPFを識別するために使用され、1は厳格なSPFを識別するために使用され、128~255は異なるflex-algoを識別するために使用される。例えば、128はflex-algo(以下で簡単にflex-algo128と呼ばれる)を識別するために使用され、129は別のflex-algo(以下で簡単にflex-algo129と呼ばれる)を識別するために使用される。flex-algo128のFADは以下を含む:1.メトリックタイプ:遅延、2.計算タイプ:spf、3.トポ制約:exclude red。flex-algo129のFADは以下を含む:1.メトリックタイプ:te metric、2.計算タイプ:spf、3.トポ制約:exclude red。
プロトコルパケットは、同じflex-algoを有するノードの間で送信されてよい。例えば、図1Aを参照すると、ノード0及びノード9の両方は、flex-algo128及びflex-algo129を有する。ノード1~ノード4はflex-algo128を有し、ノード5~ノード8はflex-algo129を有する。ノード0がflex-algo128に従いトポロジを計算すると、トポロジはノード1~ノード4のうちの1つ以上のノードを含む。具体的に言うと、ノード0は、ノード1~ノード4のうちの1つ以上のノードを用いて、ノード9へプロトコルパケットを送信する。ノード0がflex-algo129に従いトポロジを計算すると、トポロジはノード5~ノード8のうちの1つ以上のノードを含んでよい。具体的に言うと、ノード0は、ノード5~ノード8のうちの1つ以上のノードを用いて、ノード9へプロトコルパケットを送信する。
(8)タイプ-長さ-値(type-length-value, TLV)は、情報符号化モードであり、パケットをカプセル化するためのフォーマットとして理解されてもよい。ここで、値は、パケットのデータエリア(又は情報エリア)を表し、送信される必要のある情報を格納するために使用され、タイプは、パケット内の値のタイプを表し、長さは、値のサイズ(例えば、バイト値)を示す。
例えば、上述の元のルーティング情報または集約ルーティング情報は、TLVに基づきカプセル化されてよい。
(9)本願の実施形態で使用される「複数の」は、少なくとも2つを意味する。理解されるべきことに、本願の実施形態の説明では、「第1」及び「第2」のような用語は、単に説明の間の区別のために使用され、相対的な重要性の指示又は示唆として理解されるべきではなく、順序の指示又は示唆として理解されるべきではない。
以下の実施形態で使用される用語は、単に、特定の実施形態を説明する目的であり、本願を限定することを意図しない。本願の明細書及び添付の請求の範囲で使用される単数形式の用語「1つの」(one、a)、「この」(this)は、文脈上明らかに断りのない限り、「1つ以上」のような表現も含むことも意図される。更に理解されるべきことに、本願の実施形態では、「1つ以上」は1、2、又はより多くを意味する。用語「及び/又は」は、関連付けられたオブジェクトの間の関連付け関係を記述し、3つの関係が存在し得ることを表す。例えば、A及び/又はBは、以下の3つの場合を表してよい。Aのみが存在する、A及びBの両方が存在する、並びにBのみが存在する、であり、ここでA及びBの各々は単数形又は複数形であってよい。文字「/」は、通常、関連付けられたオブジェクトの間の「又は」の関係を示す。
本明細書中の「実施形態」、「幾つかの実施形態」、等への言及は、実施形態を参照して説明される特定の特性、構造、又は特徴が、本願の1つ以上の実施形態に含まれることを意味する。従って、本明細書の異なる部分における「実施形態では」、「幾つかの実施形態では」、「幾つかの他の実施形態では」、「幾つかの他の実施形態では」等への言及は、必ずしも同じ実施形態を表さないが、特に強調されない限り、「1つ以上の、しかし全部ではない実施形態」を意味する。用語「含む」、「含む」、「有する」、及びそれらの変形は、特に強調されない限り、「~を含むがそれに限定されない」を意味する。
以上は、本願の実施形態で使用される関連y邦語を説明した。以下は、添付の図面を参照して、本願の実施形態における技術的ソリューションを説明する。
図1Bは、本願の実施形態によるネットワーク(又はネットワークアーキテクチャ)の概略図である。ネットワークは2つのエリア、つまり第1エリア及び第2エリアを含む。第1エリアは複数のノードを含み、第2エリアは複数のノードを含む。第1エリア及び第2エリアは、互いに独立している。言い換えると、第1エリア及び第2エリアのLSDBは、互いに独立しており、同期されない。従って、第1エリア及び第2エリアは、エリアに跨がるパケット送信を実施するために、2つのエリア間のLSDB同期を実施するよう、ルーティング「フラッディング」する必要がある。留意すべきことに、図1Bでは、ネットワークが2つのエリアを含むことが例として使用される。実際に、ネットワークはより多くのエリアを含んでよい。
可能なルーティング「フラッディング」方法では、第1エリアが第2エリアに「フラッディング」することが例として使用される。第1エリア内の各ノードは、該ノードの元のルーティング情報を、第2エリアへ送信する。各ノードは、元のルーティング情報の1つ以上のピースに対応してよい。第1エリアが複数のノードを含み、複数のノードの各々が元のルーティング情報の1つ以上のピースに対応すると仮定する。次に、第1エリアは、第2エリアに、大量の元のルーティング情報を「フラッディング」する必要がある。結果として、フラッディング効率は比較的低く、大量のルーティングエントリが存在する。
本願の本実施形態では、第1エリアは、集約ルーティング情報を第2エリアへ送信してよく、集約ルーティング情報は、第1エリア内の元のルーティング情報の複数のピースを集約することにより取得される。従って、集約ルーティング情報に集約された元のルーティング情報の複数のピースを第2エリアへ送信する必要がなく、送信される必要のあるルーティング情報の量を削減し、フラッディング効率を向上し、ルーティングエントリの数を削減する。
図2は、本願の実施形態によるネットワーク(又はネットワークアーキテクチャ)の別の概略図である。ネットワークは2つのエリア、つまり第1エリア及び第2エリアを含む。第1エリアは1つ以上のノードを含み、第2エリアは1つ以上のノードを含む。図1Bに示したネットワークと違い、図2に示すネットワークの中の第1エリアは、複数のネットワークセグメント、つまり第1ネットワークセグメント及び第2ネットワークセグメントを含み、1つのネットワークセグメントは1つ以上のノードを含む。従って、図2に示すネットワークは、図1Bに示すネットワークの改良として理解されてもよい。理解されるべきことに、図2では、第1エリアが2つのネットワークセグメントを含むことが例として使用される。実際に、第1エリアは、より多くの又はより少ないネットワークセグメントを含んでよく、第2エリアは、より多くのネットワークセグメントを含んでもよい。
同様に、第1エリア及び第2エリアは、ルーティング「フラッディング」を実行する必要がある。本願の本実施形態では、第1エリアは、集約ルーティング情報を第2エリアへ送信する。集約ルーティング情報は、第1エリア内の元のルーティング情報の複数のピースを集約することにより取得される。元のルーティング情報の複数のピースは、ネットワークセグメント内のN個のノードに対応し、ネットワークセグメントは第1エリア内にあり、N個のノードは同じフレキシブルアルゴリズムflex-algoを有する。例えば、集約ルーティング情報は、図2の第1ネットワークセグメント内の元のルーティング情報の複数のピースを集約することにより取得されてよい。従って、第1エリアは、元のルーティング情報の複数のピースを第2エリアへ送信する必要がなく、送信される必要のあるルーティング情報の量を削減し、フラッディング効率を向上し、ルーティングエントリの数を削減する。
本願の実施形態で提供される技術的ソリューションは、インターネットプロトコルバージョン4(internet protocol version 4, IPv4)、インターネットプロトコルバージョン6(internet protocol version 6, IPv6)、又は将来の可能なインターネットプロトコルに適用可能である。
例では、本願の本実施形態で提供されるネットワーク(例えば、図1B又は図2に示したネットワーク)は、IS-ISの2レベルのアーキテクチャであってよい。例えば、図3に示すように、ネットワークは、第1エリア及び第2エリアを含み、第1エリア及び第2エリアは異なるレベル(level)に属し、2つのlevelにあるノードの間ではプロトコルパケットは送信できない。第1エリアは、levle-1として表されてよく、第2エリアはlevle-2として表されてよい。通常、第1エリア及び第2エリアのうちの一方のエリアはバックボーンエリアであり、他方のエリアは通常エリアである。例えば、第1エリアlevel-1は通常エリアであり、第2エリアlevel-2はバックボーンエリアである。level-1は、level-2を用いてバックボーンネットワークに接続される必要がある。
level-1は、イントラlevel-1エリアノード(略して、イントラlevel-1ノードと呼ばれる)、及びエリア接続ノードを含む。例えば、図3では、ノード1~ノード4は、イントラlevel-1ノードであり、ノード5はエリア接続ノードである。同様に、level-2は、イントラlevel-2エリアノード(略して、イントラlevel-2ノードと呼ばれる)、及びエリア接続ノードを含む。例えば、図3では、ノード6及びノード7は、イントラlevel-2ノードであり、ノード5はエリア接続ノードである。エリア接続ノードは、level-1-2ノードと表されてよく、level-1及びlevel-2の両方に位置し、レベル-1及びlevel-2の接続ノードを表す。例えば、level-1内のノードは、level-1-2ノードを用いて、level-2内のノードへパケットを送信してよい。
留意すべきことに、第1エリア及び第2エリアの中の異なるネットワークセグメントは図3に示されないが、第1エリアは、1つ以上のネットワークセグメントを含んでよく、第2エリアも1つ以上のネットワークセグメントを含んでよい。第1エリア内のノード、及び第2エリア内のノードは、異なるネットワークセグメントに属する。例えば、イントラlevel-1ノード及びイントラlevel-2ノードは、異なるネットワークセグメントに属する。
図4は、本願の実施形態によるルーティング情報送信方法の概略図である。方法は、図2又は図3に示されるネットワークに適用可能であり、ネットワークは第1エリア及び第2エリアを含む。図4は、第1エリアが第2エリアに「フラッディング」する例を用いて説明される。図4に示すように、方法の処理は以下のステップを含む。
S401。第1エリア内の第1ノードは、集約ルーティング情報を取得する。
本願の本実施形態では、集約ルーティング情報は、ネットワークセグメント内の元のルーティング情報の複数のピースを集約することにより取得され、ネットワークセグメントは第1エリアに含まれ、元のルーティング情報の複数のピースに対応するノードは、同じフレキシブルアルゴリズムflex-algoを有する。図3が例として使用される。第1エリア内のノード1~ノード5は同じネットワークセグメント内のノードであり、ノード1~ノード5は同じflex-algo、例えばflex-algo128を有すると仮定する。次に、ノード1~ノード5の元のルーティング情報は、集約ルーティング情報を取得するために集約される。
第1エリアが1つ以上のネットワークセグメントを含んでよいことを考慮して、第1エリアが1つのネットワークセグメントを含む例、及び第1エリアが複数のネットワークセグメントを含む例を用いて、説明が以下に与えられる。
第1の例では、第1エリアは、1つのネットワークセグメントを含む。
図3が例として使用される。第1エリアは、1つのネットワークセグメントを含み、ネットワークセグメントは複数のノード、つまりノード1~ノード5を含む。
第1のケースでは、第1ノードは、エリア接続ノード、つまりノード5である。エリア接続ノードは、複数の方法、例えば以下の方法1又は方法2で、集約ルーティング情報を取得してよい。
方法1。エリア接続ノードは、自身で、集約ルーティング情報を生成する。この場合、第1ノードが集約ルーティング情報を取得することは、第1ノードが集約ルーティング情報を生成することを意味する。
方法2。エリア接続ノードは、別のノードから、集約ルーティング情報を受信する。この場合、第1ノードが集約ルーティング情報を取得することは、第1ノードが集約ルーティング情報を受信することを意味する。
前述の方法1について、可能な実装では、第1エリア内の各ノードは、該ノードの元のルーティング情報を、第1エリア内の全部の他のノードへ送信する。この方法では、第1エリア内の各ノードは、第1エリア内の全部の他のノードの元のルーティング情報を学習する。従って、エリア接続ノード、つまりノード5は、ノード1~ノード4の各々の元のルーティング情報を学習でき、各ノードの元のルーティング情報は、アルゴリズム識別子及びサブネット識別子を含む。
例えば、元のルーティング情報は、表1に示される。
[表1]
表1では、1つのノードが元のルーティング情報の1つのピースに対応することが例として使用される。実際に、1つのノードは、元のルーティング情報の複数のピースに対応してよい。例えば、ノード1は、元のルーティング情報1及び元のルーティング情報2に対応する。元のルーティング情報1では、アルゴリズム識別子は128であり、サブネット識別子は4:1::/64である。元のルーティング情報2では、アルゴリズム識別子は129であり、サブネット識別子は4:6::/64である。
更に表1を参照すると、各ノードの元のルーティング情報は、アルゴリズム識別子及びサブネット識別子を含み、アルゴリズム識別子はノードのflex-algoを示すために使用され、サブネット識別子はノードの位置するサブネットを示すために使用される。従って、各ノードの元のルーティング情報を取得した後に、第1ノードは、元のルーティング情報の中のアルゴリズム識別子を用いて、ノードのフレキシブルアルゴリズムを決定してよい。具体的に言うと、元のルーティング情報の中の同じアルゴリズム識別子を有するノードは、同じフレキシブルアルゴリズムを有する。第1ノードは、元のルーティング情報の中のサブネット識別子を用いて、各ノードの位置するネットワークセグメントを決定し、どのノードが同じネットワークセグメント内にあるかを決定してよい。サブネット識別子を用いて、2つのノードが同じネットワークセグメント内にあるかどうかを決定する処理は、上述された。詳細はここに再び説明されない。
ノード1~ノード4の元のルーティング情報を取得した後に、ノード5(第1ノード)は、同じアルゴリズム識別子を含む元のルーティング情報の複数のピースを集約して、集約ルーティング情報を取得する。任意で、ノード5は、サブネット識別子を用いて、ノード1~ノード4が同じネットワークセグメント内にあるかどうかを更に決定し、ノード1~ノード4が同じネットワークセグメント内にある場合、ノード1~ノード4の元のルーティング情報を集約して、集約ルーティング情報を取得してよい。
別の可能な実装では、図3が更に例として使用される。元のルーティング情報の送信経路は、ノード2、ノード4、ノード3、ノード1、及びノード5を順に通過すると仮定する。具体的に言うと、ノード2は、ノード2の元のルーティング情報をノード4へ送信する。ノード2の元のルーティング情報を受信した後に、ノード4は、ノード4の元のルーティング情報及びノード2の元のルーティング情報を集約して、集約ルーティング情報1を取得し、ノード4は集約ルーティング情報1をノード3へ送信する。ノード3は、ノード3の元のルーティング情報及び集約ルーティング情報1を集約して、集約ルーティング情報2を取得し、ノード3は集約ルーティング情報2をノード1へ送信する。ノード1は、ノード1の元のルーティング情報及び集約ルーティング情報2を更に集約して、集約ルーティング情報3を取得し、ノード1は集約ルーティング情報3をノード5へ送信する。ノード5は、ノード5の元のルーティング情報及び集約ルーティング情報3を更に集約して、最終集約ルーティング情報を取得する。この場合、第1ノードが集約ルーティング情報を取得することは、第1ノードが集約ルーティング情報を生成することを意味する。
前述の方法2について、可能な実装では、エリア接続ノード以外の第1エリア内の別のノードが、集約ルーティング情報を生成し、次に集約ルーティング情報をエリア接続ノード(第1ノード)へ送信するよう構成される。例えば、図3が更に例として使用される。ノード1は、集約ルーティング情報を生成し、集約ルーティング情報をノード5へ送信する。ノード1により、集約ルーティング情報を生成する方法は、ノード5により集約ルーティング情報を生成する前述の方法と同様であり、詳細は再び説明されない。代替として、図3が更に例として使用される。代替として、ノード2が、集約ルーティング情報を生成し、次に集約ルーティング情報をノード5へ送信してよい(例えば、集約ルーティング情報は、ノード1を用いてノード5へ送信される)。この場合、第1ノードが集約ルーティング情報を取得することは、第1ノードが集約ルーティング情報を受信することを意味する。
本願の本実施形態では、集約ルーティング情報は、flex-algoを示すために使用されるアルゴリズム識別子、及びネットワークセグメントを示すために使用されるネットワークセグメント識別子を運んでよい。例えば、表2は、元のルーティング情報の複数のピースを集約して集約ルーティング情報を取得する例を示す。
[表2]
この場合、第1エリアは、集約ルーティング情報の1つのピースを第2エリアへ送信する。従来(第1エリアが、ノード1~ノード5のそれぞれの元のルーティング情報、つまり5個のノードのルーティングの方向付けを、第2エリアへ送信する必要がある)と比べて、ルーティング情報の量は削減され、効率が向上し、ルーティングエントリが削減される。
前述の例(表1及び表2)では、ノード1~ノード5が同じflex-algoを有することが、例として使用される。幾つかの場合には、ノード1~ノード5は、異なるflex-algoを有してよい。例えば、図3を参照する。
[表3]
ノード1~ノード3はflex-algo128を有し、ノード4~ノード5はflex-algo129を有する。この場合、ノード1~ノード3の元のルーティング情報は、集約ルーティング情報の1つのピースを取得するために集約される。集約ルーティング情報では、アルゴリズム識別子は128であり、ネットワークセグメント識別子は4::/32である。ノード4及びノード5の元のルーティング情報は、集約ルーティング情報の別のピースを取得するために集約される。集約ルーティング情報では、アルゴリズム識別子は129であり、ネットワークセグメント識別子は4::/32である。
この場合、第1エリアは、集約ルーティング情報の2つのピースを第2エリアへ送信する。従来(第1エリアが、ノード1~ノード5のそれぞれの元のルーティング情報、つまり5個のノードのルーティングの方向付けを、第2エリアへ送信する必要がある)と比べて、ルーティング情報の量は削減され、効率が向上し、ルーティングエントリが削減される。
可能な場合を考えると、第1エリアは、元のルーティング情報が集約ルーティング情報に集約されていない1つ以上のノードを含んでよい。例えば、図3が更に例として使用される。ノード1はflex-algo129を有し、ノード2~ノード5はflex-algo128を有する。ノード2~ノード5の元のルーティング情報は、集約ルーティング情報を取得するために集約され、集約ルーティング情報は、ノード1の元のルーティング情報を含まない。この場合、集約ルーティング情報に加えて、第1エリアは、ノード1の元のルーティング情報を第2エリアへ送信してよい。
第1のケースについて(第1ノードがエリア接続ノードである)、可能な場合を考えると、1つより多くのエリア接続ノードが存在してよい。例えば、図5に示すように、第1エリアは、ノード3~ノード7を含み、第2エリアは、ノード0~ノード4を含み、ノード3及びノード4はエリア接続ノードである。この場合、第1エリアは、複数のエリア接続ノードから、1つのエリア接続ノードを決定して(例えば、ランダムに選択して)よい。エリア接続ノードは、第1ノードである。例えば、ノード3が第1ノードとして使用され、ノード3はノード3~ノード7の元のルーティング情報を集約して集約ルーティング情報を取得し、集約ルーティング情報を第2エリアへ送信する。
代替として、2つのエリア接続ノードが例として使用される。1つのエリア接続ノードは、幾つかのノードの元のルーティング情報を集約して、集約ルーティング情報の1つのピースを取得し、該ノードが同じflex-algo、例えばflex-algo128を有する。他のエリア接続ノードは、他のノードの元のルーティング情報を集約して、集約ルーティング情報の別のピースを取得し、該ノードが同じflex-algo、例えばflex-algo1298を有する。
第2のケースでは、第1ノードは、エリア接続ノード以外の第1エリア内の別のノード(これは非エリア接続ノードと呼ばれてよい)である。図3が更に例として使用される。第1ノードは、ノード1~ノード4のうちの任意のノードである。この場合、第1ノードは、複数の方法で集約ルーティング情報を取得する。例えば、第1ノードは、自身で、集約ルーティング情報を生成する。代替として、第1ノードは、別のノードから、集約ルーティング情報を受信する。特定の実装は、第1のケースと同様であってよく、詳細はここで再び説明されない。この場合、第1ノードが集約ルーティング情報を取得することは、第1ノードが集約ルーティング情報を生成すること、又は第1ノードが集約ルーティング情報を受信することを含む。
留意すべきことに、この場合、第1ノードは非エリア接続ノードであり、集約ルーティング情報を取得して後に、第1ノードは、エリア接続ノードを用いて、集約ルーティング情報を第2エリアへ送信してよい。
第2の例では、第1エリアは、複数のネットワークセグメントを含む。
図6に示すように、第1エリアは、複数のネットワークセグメント、例えば、第1ネットワークセグメント及び第2ネットワークセグメントを含む。第1ネットワークセグメントは、ノード1~ノード3を含み、第1ノードはエリア接続ノードである。第2ネットワークセグメントはノード4及びノード5を含む。
可能な場合では、第1ネットワークセグメント内の第1ノードは、第1集約ルーティング情報を取得する。第1集約ルーティング情報は、第1ネットワークセグメント内の複数のノードの元のルーティング情報を集約することにより取得され、第1ネットワークセグメント内の複数のノードは同じフレキシブルアルゴリズムを有する。第1ノードは、第1ネットワークセグメント内の任意のノードであってよい。例えば、第1ノードは、エリア接続ノード、つまりノード1であってよい。ノード1及びノード2は同じflex-algo、例えばflex-algo129を有すると仮定する。次に、ノード1は、ノード1及びノード2の元のルーティング情報を集約して、集約ルーティング情報を取得する。第2ネットワークセグメント内の第1ノードは、第2集約ルーティング情報を取得する。第2集約ルーティング情報は、第2ネットワークセグメント内の複数のノードの元のルーティング情報を集約することにより取得され、第2ネットワークセグメント内の複数のノードは同じフレキシブルアルゴリズムを有する。第1ノードは、第2ネットワークセグメント内の任意のノード、例えばノード4であってよい。
言い換えると、各ネットワークセグメント内のノードは、ネットワークセグメントに対応する集約ルーティング情報を生成する(各ネットワークセグメントは、集約ルーティング情報の1つ以上のピースに対応してよい)。
例えば、可能なシナリオでは、第1ネットワークセグメントはエリア接続ノードを含み、第2ネットワークセグメントもエリア接続ノードを含む。第1ネットワークセグメント内のエリア接続ノードは、第1ネットワークセグメントに対応する集約ルーティング情報を生成し、集約ルーティング情報を第2エリアへ送信する。或いは、第1ネットワークセグメント内の別のノードが、第1ネットワークセグメントに対応する集約ルーティング情報を生成し、エリア接続ノードを用いて、集約ルーティング情報を第2エリアへ送信する。第2ネットワークセグメント内のエリア接続ノードは、第2ネットワークセグメントに対応する集約ルーティング情報を生成する。或いは、第2ネットワークセグメント内の別のノードが、第2ネットワークセグメントに対応する集約ルーティング情報を生成し、第2ネットワークセグメント内のエリア接続ノードを用いて、集約ルーティング情報を第2エリアへ送信する。
従って、第1エリアは、集約ルーティング情報の複数のピースを第2エリアへ送信してよく、集約ルーティング情報の複数のピースは異なるネットワークセグメントに対応してよい。
幾つかの他の可能な場合では、第1ネットワークセグメント内の第1ノードは、第1集約ルーティング情報及び第2集約ルーティング情報を取得する。或いは、第2ネットワークセグメント内の第1ノードが、第1集約ルーティング情報及び第2集約ルーティング情報を取得する。或いは、第2ネットワークセグメント内の第1ノードが、第1集約ルーティング情報を取得し、第1ネットワークセグメント内の第1ノードが、第2集約ルーティング情報を取得する、等である。これは、本願の本実施形態において限定されない。
例えば、可能なシナリオでは、図6を更に参照して、第1ネットワークセグメントはエリア接続ノードを含み、第2ネットワークセグメントはエリア接続ノードを含まない。従って、第1ネットワークセグメント内の第1ノード(例えば、エリア接続ノード)は、第2集約ルーティング情報を生成し、第2集約ルーティング情報を第2エリアへ送信する。代替として、(第2ネットワークセグメント内のノード(非エリア接続ノード)は、第2集約ルーティング情報を取得する。第2ネットワークセグメントはエリア接続ノードを含まないので、第2ネットワークセグメントは、第2集約ルーティング情報を第1ネットワークセグメントへ送信する。その結果、第2集約ルーティング情報は、第1ネットワークセグメント内のエリア接続ノードを用いて、第2エリアへ送信される。
S402。第1エリア内の第1ノードは、集約ルーティング情報を第2エリアへ送信する。
図3が例として使用される。第1ノードは、第1エリア内のネットワークセグメント内の任意のノードであってよい。例えば、第1ノードがエリア接続ノード(例えば、ノード5)であるとき、第1ノードは集約ルーティング情報を第2エリアへ送信する。例えば、第1ノードは、集約ルーティング情報を別のノード、例えば、エリア接続ノード(ノード5)以外の第2エリア内の別のノード、例えばノード6へ送信する。その結果、集約ルーティング情報は、ノード6を用いて第2エリア内の他のノードへ送信される。別の例では、第1ノードが、エリア接続ノード以外の別のノード、例えばノード1であるとき、集約ルーティング情報を取得した後に、ノード1は、集約ルーティング情報をエリア接続ノード、つまりノード5へ送信し、ノード5は、集約ルーティング情報を第2エリアへ送信する。
幾つかの実施形態では、第1エリアは、元のルーティング情報が集約ルーティング情報に集約されていない1つ以上のノードを含む。図5が例として使用される。ノード3~ノード7に加えて、第1エリアは、ノード8(図示されない)を更に含む。ノード8のフレキシブルアルゴリズムがノード3~ノード7のものと異なる、又はノード8がノード3~ノード7に対応するネットワークセグメント内にない場合、ノード3~ノード7の元のルーティング情報は、集約ルーティング情報に集約されるが、ノード8の元のルーティング情報は集約ルーティング情報に集約されない。従って、集約ルーティング情報に加えて、第1エリアは、ノード8の元のルーティング情報を第2エリアへ更に送信する必要がある。
以下は、図5を例として用いて、本願で提供されるルーティング「フラッディング」方法の有利な効果を説明する。
第1エリアはM個のノードを含み、Mは2以上の整数であると仮定する。N個のフレキシブルアルゴリズムがノード毎に構成され、Nは1以上且つ128以下の整数である。P個のサブネット識別子が、ノード毎に構成されてよく、Pは1以上の整数である。第1エリアが各ノードの元のルーティング情報を第2エリアへ送信する場合、第1エリアにより送信される必要のある元のルーティング情報の合計量は、M*N*Pである。
本願の本実施形態で提供される技術的ソリューションに基づき、第1エリア内のM個のノードが同じネットワークセグメント内に位置し、M個のノードが同じフレキシブルアルゴリズムを有する場合、M個のノードの元のルーティング情報は、集約ルーティング情報の1つのピースに集約される。この場合、第1エリアは、集約ルーティング情報の1つのピースを送信する必要があるだけであり、送信されるルーティング情報の量及びルーティングエントリの量を大幅に削減する。
S403。第2エリアは、集約ルーティング情報に基づき、第1エリア内のネットワークセグメント内の複数のノードへパケットを送信する。
従って、第1エリアから集約ルーティング情報を取得した後に、第2エリアは、集約ルーティング情報に基づき、第1エリアへパケットを送信してよい。
図7は、本願の実施形態によるパケット送信方法の概略図である。方法の処理の中のステップは、図2のステップ203の詳細なステップとして理解されてもよい。方法は、以下のステップを含む。
S701。第2ノードはパケットを取得する。
第2ノードは、第2エリアに含まれるノードである。幾つかの実施形態では、パケットは、元のルーティング情報を運んでよい。例えば、元のルーティング情報1では、アルゴリズム識別子は128、及びサブネット識別子は4:1::/64.を含む。具体的に言うと、パケットの宛先ノードは、第1エリア内のネットワークセグメント内のノード、つまりノード7である(図5が例として使用される)。パケットはプロトコルパケット又はデータパケットであってよい。
S702。第2ノードは、パケットの中で運ばれる元のルーティング情報に基づき、パケットに一致する集約ルーティング情報を決定する。
理解されるべきことに、第2ノードは、集約ルーティング情報の複数のピースを取得し、集約ルーティング情報の複数のピースは、異なるエリアに由来し又は1つのエリア(例えば、第1エリア)に由来してよい、等である。従って、パケットを受信した後に、第2ノードは、パケットの中で運ばれる元のルーティング情報に基づき、多くの集約ルーティング情報から、パケットに一致する集約ルーティング情報を決定してよい。
例えば、表4を参照して、第2ノードが集約ルーティング情報の複数のピースを格納すると仮定する。
[表4]
第2ノードにより決定された、パケットに一致する集約ルーティング情報は、以下の条件を満たす。集約ルーティング情報の中のアルゴリズム識別子は、パケットの中で運ばれる元のルーティング情報の中のアルゴリズム識別子と同じであり、集約ルーティング情報の中のネットワークセグメント識別子により示されるネットワークセグメントは、元のルーティング情報の中のサブネット識別子により示されるサブネットを含む。第2ノードにより取得されたパケットの中で運ばれる元のルーティング情報が、アルゴリズム識別子128、及びサブネット識別子4:1::/64を含むと仮定する。次に、第2ノードは、表5の中で、集約ルーティング情報1がパケットに一致すると決定する。
S703。第2ノードは、集約ルーティング情報に基づき、エリア接続ノードへパケットを送信する。
表4が例として使用される。第2ノードは、集約ルーティング情報1及び集約ルーティング情報2を格納する。集約ルーティング情報1は、第2ノードによりエリア接続ノード1から取得され、集約ルーティング情報2は、第2ノードによりエリア接続ノード2から取得される。次に、集約ルーティング情報1は、エリア接続ノード1を含んでよく、又は、集約ルーティング情報1の中で示される次ホップノードはエリア接続ノード1である。従って、第2ノードが集約ルーティング情報1をパケットに基づき一致を通じて取得する場合、第2ノードは、パケットを、集約ルーティング情報1の中で示されるエリア接続ノード1へ送信してよい。同様に、集約ルーティング情報2は、エリア接続ノード2を含んでよく、又は、集約ルーティング情報2の中で示される次ホップノードはエリア接続ノード2である。従って、第2ノードが集約ルーティング情報2をパケットに基づき一致を通じて取得する場合、第2ノードは、パケットを、集約ルーティング情報2の中で示されるエリア接続ノード2へ送信してよい。
集約ルーティング情報1がエリア接続ノード1を示す複数の方法がある。例えば、集約ルーティング情報1は指示情報を運び、指示情報はエリア接続ノード1のノード識別子を示す。
第2ノードが集約ルーティング情報1をエリア接続ノード1から経路1で受信し、第2ノードが、パケットをエリア接続ノード1へ経路2で送信すると仮定する。経路2は、経路1の逆経路であってよく、又は経路2は経路1の逆経路と部分的に重なり合う経路である。
S704。エリア接続ノードは、パケットを、第1エリア内の目標ノードへ送信する。
上述のように、可能な場合では、エリア接続ノードは、集約ルーティング情報を生成する。従って、エリア接続ノードは、表5に示すように、集約ルーティング情報、集約ルーティング情報に集約された全部の元のルーティング情報、及び元のルーティング情報の各ピースに対応するノード識別子(これは、ノード番号、又はノードを識別するために使用される別の識別子であってよい)を格納する。
[表5]
パケットを受信した後に、エリア接続ノードは、パケットの中で運ばれる元のルーティング情報(アルゴリズム識別子128、及びサブネット識別子4:1::/64)が、ノード7に対応することを決定する。次に、エリア接続ノードは、元のルーティング情報に基づきパケットをノード7へ送信する。
上述のように、別の可能な場合では、図5が例として使用され、エリア接続ノード(つまり、ノード3)は、ノード5から集約ルーティング情報を受信する(例えば、集約ルーティング情報はノード5により生成される)。従って、エリア接続ノードは、集約ルーティング情報を格納し、集約ルーティング情報に集約された元のルーティング情報を格納しない。この場合、エリア接続ノードは、集約ルーティング情報に基づきパケットをノード5へ送信し続けてよい。ノード5が集約ルーティング情報、集約ルーティング情報に集約された全部の元のルーティング情報、及び元のルーティング情報の各ピースに対応するノード識別子(例えば、表5)を格納するので、ノード5は、表5に従い、パケット内の元のルーティング情報(アルゴリズム識別子128、及びサブネット識別子4:1::/64)がノード7に対応することを決定する。次に、ノード5は、パケットをノード7へ送信する。
留意すべきことに、図7に示す処理では、第2ノードが第2エリア内の非エリア接続ノードであることが例として使用される。実際の適用では、第2ノードは、代替として、エリア接続ノードであってよい。図5が例として使用される場合、第2ノードはノード3又はノード4であってよい。エリア接続ノードが、第1エリア内の全部のノードの元のルーティング情報を学習できるので、パケットを取得した後に、エリア接続ノードは、最長一致法に基づき、第1エリア内のノードに対応する元のルーティング情報とパケットを直接照合するが、元のルーティング情報に基づき、元のルーティング情報に対応するノードを直接決定するために集約ルーティング情報とパケットとを照合してパケットをノードへ送信することをしない。例えば、パケットの中で運ばれる元のルーティング情報は、アルゴリズム識別子128及びサブネット識別子4:1::/64を含み、エリア接続ノードは、第1エリア内の各ノードの元のルーティング情報を格納し、パケットの中で運ばれる元のルーティング情報に対応するノードがノード7であることを決定できる。次に、パケットはノード7へ送信される。
以上の明細書では、第1エリアが第2エリアへのルーティング「フラッディング」を実行することが例として使用された。第2エリアが第1エリアへのルーティング「フラッディング」を実行する処理は同様であり、詳細は再び説明されない。
本願の本実施形態では、第1エリアが集約ルーティング情報を第2エリアへ送信した後に、第1エリア内でルートフラッピングが生じた場合、集約ルーティング情報に対して引き起こされる影響は比較的小さい。第1エリア内でルートフラッピングが生じることは、第1エリア内のノードの元のルーティング情報が変化することを含む。例えば、第1エリア内の第3ノードのサブネット識別子は変化するが、アルゴリズム識別子は不変のままである。この場合、集約ルーティング情報は不変のままである。言い換えると、集約ルーティング情報の中のネットワークセグメント識別子及びアルゴリズム識別子は、不変のままである。図5が更に例として使用される。ノード7のサブネット識別子が4:1::/64から4:6::/64に変更されると仮定する。この場合、集約ルーティング情報(4::/32)は影響されない。言い換えると、第1エリアは、集約ルーティング情報を第2エリアへ再送信する必要がない。
勿論、第1エリア内のエリア接続ノードが集約ルーティング情報を生成する場合、第1エリア内の第3ノードのサブネット識別子が変化するとき、エリア接続ノードは、格納された対応を更新する必要がない。ここで、対応は、集約ルーティング情報、集約ルーティング情報に集約された全部の元のルーティング情報、及び元のルーティング情報の各ピースに対応するノード、の間の対応、例えば表5である。図5が更に例として使用される。ノード7のサブネット識別子が4:1::/64から4:6::/64に変更されると仮定する。次に、表5の中でノード7に対応するサブネット識別子は、4:1::/64から4:6::/64に更新される。
代替として、新しいノードが第1エリアに追加されると、第1ノードは、新たに追加されたノードの元のルーティング情報を集約ルーティング情報に集約してよい。図5が更に例として使用される。第4ノード、例えばノード8が第1エリアに追加され、第4ノードは、ノード3~ノード7と同じネットワークセグメント内に位置し、同じフレキシブルアルゴリズムを有する。この場合、ノード8の元のルーティング情報は、集約ルーティング情報(4::/32)に集約されてよい。具体的に、第1ノードは、ノード8の元のルーティング情報を、集約ルーティング情報に対応する(集約ルーティング情報に集約された全部の元のルーティング情報を含む)元のルーティング情報セットに追加してよい。例えば、第1ノードがノード8の元のルーティング情報を表5に追加した後に、表5は表6に更新される。
[表6]
従って、本願の本実施形態では、第1エリアが集約ルーティング情報を第2エリアへ送信した後に、第1エリア内でルートフラッピングが生じた場合、集約ルーティング情報は影響を受けず、集約ルーティング情報を第2エリアへ再送信する必要がなく、電力消費を低減する。
前述の概念と同じく、図8に示すように、本願の実施形態は、機器800を更に提供する。機器800は、トランシーバユニット802と処理ユニット801とを含む。
例では、機器800は、前述の方法で第1ノードの機能を実装するよう構成される。例えば、機器は、第1ノードであってよく、又は第1ノードの中の機器、例えばチップシステムであってよい。第1ノードは、ネットワーク内のノードであり、ネットワークは第1エリア及び第2エリアを含み、ノードは第1エリアに含まれる。
処理ユニット801は、集約ルーティング情報を取得するよう構成され、集約ルーティング情報は、元のルーティング情報の複数のピースを集約することにより取得され、元のルーティング情報の複数のピースはネットワークセグメント内のN個のノードに対応し、ネットワークセグメントは第1エリアに含まれ、N個のノードは同じフレキシブルアルゴリズムflex-algoを有し、集約ルーティング情報は、flex-algoを示すために使用されるアルゴリズム識別子と、ネットワークセグメントを示すために使用されるネットワークセグメント識別子と、を運び、Nは正整数である。
トランシーバユニット802は、第2エリアへ集約ルーティング情報を送信するよう構成され、集約ルーティング情報は、第2エリア内のノードに、集約ルーティング情報に基づきネットワークセグメント内のN個のノードへパケットを送信するよう指示するために使用される。
任意的に、元のルーティング情報の複数のピースの各々は、アルゴリズム識別子及びサブネット識別子を含み、サブネット識別子は、元のルーティング情報に対応するノードが位置するサブネットを示すために使用され、サブネットはネットワークセグメントに含まれる。
任意的に、集約ルーティング情報の中で運ばれるネットワークセグメント識別子は、元のルーティング情報の複数のピースの中のサブネット識別子に基づき決定される。
任意的に、元のルーティング情報複数のピースのうちの第1の元のルーティング情報の中のサブネット識別子が変化し、第1の元のルーティング情報に含まれるアルゴリズム識別子が不変のままであるとき、集約ルーティング情報の中のネットワークセグメント識別子及びアルゴリズム識別子は両方とも不変のままである。
任意的に、処理ユニット801は、第3ノードの元のルーティング情報を集約ルーティング情報に集約するよう更に構成され、第3ノードはネットワークセグメントに追加された新たなノードであり、第3ノードはflex-algoを有する。
任意的に、処理ユニット801は、具体的に、第3ノードの元のルーティング情報を、集約ルーティング情報に対応する元のルーティング情報セットに追加するよう構成され、元のルーティング情報セットは、集約ルーティング情報に集約された全部の元のルーティング情報を含む。
任意的に、ノードは、第1エリア及び第2エリア内のエリア接続ノードであるか、又はノードは、エリア接続ノード以外の第1エリア内の別のノードであり、エリア接続ノードは、第1エリア及び第2エリアの両方に位置する。
任意的に、ノードがエリア接続ノードであるとき、トランシーバユニット802は、具体的に、集約ルーティング情報を、エリア接続ノード以外の第2エリア内の別のノードへ送信するよう構成される。
任意的に、ノードがエリア接続ノード以外の第1エリア内の別のノードであるとき、トランシーバユニット802は、具体的に、集約ルーティング情報を、エリア接続ノードへ送信するよう構成され、その結果、集約ルーティング情報は、エリア接続ノードを用いて、エリア接続ノード以外の第2エリア内の別のノードへ送信される。
例では、機器800は、前述の方法で第2ノードの機能を実装するよう構成される。例えば、機器は、第2ノードであってよく、又は第2ノードの中の機器、例えばチップシステムであってよい。第2ノードは、ネットワーク内のノードであり、ネットワークは第1エリア及び第2エリアを含み、ノードは第2エリア内に位置する。
処理ユニット801は、集約ルーティング情報を取得するよう構成され、集約ルーティング情報は、元のルーティング情報の複数のピースを集約することにより取得され、元のルーティング情報の複数のピースはネットワークセグメント内のN個のノードに対応し、ネットワークセグメントは第1エリアに含まれ、N個のノードは同じフレキシブルアルゴリズムflex-algoを有し、集約ルーティング情報は、flex-algoを示すために使用されるアルゴリズム識別子と、ネットワークセグメントを示すために使用されるネットワークセグメント識別子と、を運び、Nは正整数である。
第1ノードは、集約ルーティング情報に基づき、ネットワークセグメント内のN個のノードへパケットを送信するよう構成される。
任意的に、機器800は、第1エリア及び第2エリア内のエリア接続ノードであるか、又はノードは、エリア接続ノード以外の第2エリア内の別のノードであり、エリア接続ノードは、第1エリア及び第2エリアの両方に位置する。
任意的に、機器800がエリア接続ノード以外の第2エリア内の別のノードであるとき、処理ユニット801は、具体的に、集約ルーティング情報をエリア接続ノードから取得するよう構成され、エリア接続ノードは、集約ルーティング情報及び集約ルーティング情報に集約された全部の元のルーティング情報を格納する。
任意的に、処理ユニット801は、パケットを取得するよう更に構成され、パケットは集約ルーティング情報に一致し、パケットの宛先ノードはネットワークセグメント内のノードである。
トランシーバユニット802は、集約ルーティング情報に基づき、エリア接続ノードへパケットを送信するよう更に構成され、その結果、エリア接続ノードはパケットを宛先ノードへ送信する。
処理ユニット801及びトランシーバユニット802の特定の実行処理については、前述の方法の実施形態における記録を参照する。本願の本実施形態におけるモジュール分割は一例であり、単なる論理的機能分割であり、実際の実装では他の分割であってよい。さらに、本願の実施形態における機能モジュールは、1つのプロセッサに統合されてよく、又は、モジュールの各々は物理的に単独で存在してよく、又は、2つ以上のモジュールが1つのモジュールに統合されてよい。統合されたモジュールは、ハードウェアの形式で実装されてよく、又はソフトウェア機能モジュールの形式で実装されてよい。
別の任意的変形として、機器はチップシステムであってよい。本願の本実施形態では、チップシステムは、チップを含んでよく、又はチップ及び別の個別コンポーネントを含んでよい。例えば、機器は、プロセッサ及びインタフェースを含み、インタフェースは入力/出力インタフェースであってよい。プロセッサは、処理ユニット801の機能を達成し、インタフェースはトランシーバユニット802の機能を達成する。機器は、メモリを更に含んでよい。メモリは、プロセッサ上で実行可能なプログラムを格納するよう構成される。プログラムを実行するとき、プロセッサは、前述の実施形態における方法を実施する。
前述の概念と同じく、図9に示すように、本願の実施形態は、機器900を更に提供する。通信機器900は、通信インタフェース901、少なくとも1つのプロセッサ902、及び少なくとも1つのメモリ903を含む。通信インタフェース901は、伝送媒体を用いて別の装置と通信するよう構成される。その結果、機器900内の機器は別の装置と通信できる。メモリ903は、コンピュータプログラムを格納するよう構成される。プロセッサ902は、メモリ903に格納されたコンピュータプログラムを呼び出し、前述の実施形態の方法を実施するために、通信インタフェース901を用いてデータを送信する。
例えば、機器900が第1ノードであるとき、メモリ903は、コンピュータプログラムを格納するよう構成される。プロセッサ902は、メモリ903に格納されたコンピュータプログラムを呼び出して、前述の実施形態における第1ノードにより実行される方法を実行する。機器900が第2ノードであるとき、メモリ903は、コンピュータプログラムを格納するよう構成される。プロセッサ902は、メモリ903に格納されたコンピュータプログラムを呼び出して、前述の実施形態における第2ノードにより実行される方法を実行する。
本願の本実施形態では、通信インタフェース901は、トランシーバ、回路、バス、モジュール、又は任意の種類の通信インタフェースであっってよい。プロセッサ902は、汎用プロセッサ、デジタル信号プロセッサ、特定用途向け集積回路、フィールドプログラマブルゲートアレイ、又は別のプログラマブル論理素子、個別ゲート又はトランジスタ論理素子、又は個別ハードウェアコンポーネントであってよく、本願の実施形態で開示した方法、ステップ、及び論理ブロック図を実装し又は実行してよい。汎用プロセッサは、マイクロプロセッサ又は任意の従来のプロセッサ、等であってよい。本願の実施形態に関して開示された方法のステップは、ハードウェアプロセッサにより直接実行されてよく、又はプロセッサ内のハードウェアとソフトウェアモジュールとの結合を用いて実行されてよい。メモリ903は、ハードディスクドライブ(hard disk drive, HDD)又は個体ドライブ(solid-state drive, SSD)のような不揮発性メモリであってよく、又はランダムアクセスメモリ(random-access memory, RAM)のような揮発性メモリ(volatile memory)であってよい。メモリは、期待されるプログラムコードを命令又はデータ構造の形式で運び又は格納でき、及びコンピュータによりアクセス可能な、任意の他の媒体であるが、これに限定されない。本願の本実施形態におけるメモリは、代替として、記憶機能を実施可能な回路又は任意の他の機器であってよい。メモリ903は、プロセッサ902に結合される。本願の本実施形態における結合は、機器、ユニット、又はモジュールの間の間接結合又は通信接続であり、電気的、機械的、又は別の形式であってよく、機器、ユニット、又はモジュールの間の情報交換のために使用される。別の実装では、メモリ903は、更に、機器900の外部に置かれてよい。プロセッサ902は、メモリ903と協働してよい。プロセッサ902は、メモリ903に格納されたプログラム命令を実行してよい。少なくとも1つのメモリ903のうちの少なくとも1つは、プロセッサ902に含まれてもよい。通信インタフェース901、プロセッサ902、及びメモリ903の間の接続媒体は、本願の本実施形態で限定されない。例えば、本願の本実施形態では、図9において、メモリ903、プロセッサ902、及び通信インタフェース901は、バスを用いて接続されてよい。バスは、アドレスバス、データバス、制御バス、等に分類されてよい。
図8に示す実施形態における機器800は、図9に示す機器900により実施されてよいことが理解され得る。具体的に、処理ユニット801は、プロセッサ902により実装されてよく、トランシーバユニット802は、通信インタフェース901により実装されてよい。
例では、機器900は、前述の方法で第1ノードの機能を実装するよう構成される。具体的に、プロセッサ902は、集約ルーティング情報を取得するよう構成され、集約ルーティング情報は、元のルーティング情報の複数のピースを集約することにより取得され、元のルーティング情報の複数のピースはネットワークセグメント内のN個のノードに対応し、ネットワークセグメントは第1エリアに含まれ、N個のノードは同じフレキシブルアルゴリズムflex-algoを有し、集約ルーティング情報は、flex-algoを示すために使用されるアルゴリズム識別子と、ネットワークセグメントを示すために使用されるネットワークセグメント識別子と、を運び、Nは正整数である。
通信インタフェース901は、第2エリアへ集約ルーティング情報を送信するよう構成され、集約ルーティング情報は、第2エリア内のノードに、集約ルーティング情報に基づきネットワークセグメント内のN個のノードへパケットを送信するよう指示するために使用される。
例では、機器900は、前述の方法で第2ノードの機能を実装するよう構成される。具体的に、プロセッサ902は、集約ルーティング情報を取得するよう構成され、集約ルーティング情報は、元のルーティング情報の複数のピースを集約することにより取得され、元のルーティング情報の複数のピースはネットワークセグメント内のN個のノードに対応し、ネットワークセグメントは第1エリアに含まれ、ネットワークセグメント内の複数のノードノードは同じフレキシブルアルゴリズムflex-algoを有し、集約ルーティング情報は、flex-algoを示すために使用されるアルゴリズム識別子と、ネットワークセグメントを示すために使用されるネットワークセグメント識別子と、を運び、Nは正整数である。
通信インタフェース901は、集約ルーティング情報に基づき、ネットワークセグメント内のN個のノードへパケットを送信するよう構成される。
本願の実施形態は、ルーティングシステムであって、第1ノードの機能を実装するよう構成される第1ノードと、第2ノードの機能を実装するよう構成される第2ノードと、を含むルーティングシステムを更に提供する。第1ノード及び第2ノードはネットワーク内のノードであり、ネットワークは第1エリア及び第2エリアを含み、第1ノードは第1エリアに含まれ、第2ノードは第2エリアに含まれる。
本願の実施形態は、コンピュータ可読記憶媒体を更に提供する。コンピュータ可読記憶媒体はコンピュータ命令を格納する。コンピュータ命令がコンピュータで実行されると、コンピュータは、ルーティング情報送信方法を実行可能にされる。
本願の実施形態における前述の方法の全部又は一部は、ソフトウェア、ハードウェア、ファームウェア、又はそれらの任意の組み合わせを用いて実装されてよい。実施形態を実装するためにソフトウェアが使用されるとき、実施形態は、コンピュータプログラムプロダクトの形式で完全に又は部分的に実装されてよい。コンピュータプログラムプロダクトは、1つ以上のコンピュータ命令を含む。コンピュータプログラム命令は、コンピュータ上にロードされ実行されると、本発明の実施形態による手順又は機能が全部又は部分的に生成される。コンピュータは、汎用コンピュータ、専用コンピュータ、コンピュータネットワーク、ネットワーク装置、ユーザ装置、又は他のプログラマブル機器であってよい。コンピュータ命令は、コンピュータ可読記憶媒体に格納されてよく、又はコンピュータ可読記憶媒体から別のコンピュータ可読記憶媒体へ送信されてよい。例えば、コンピュータ命令は、ウェブサイト、コンピュータ、サーバ、又はデータセンタから、別のウェブサイト、コンピュータ、サーバ、又はデータセンタへ、有線(例えば、同軸ケーブル、光ファイバ、又はデジタル加入者回線(digital subscriber line, 略してDSL))又は無線(例えば、赤外線、無線、又はマイクロ波)方式で送信されてよい。コンピュータ可読記憶媒体は、コンピュータによりアクセス可能な任意の使用可能媒体、又は1つ以上の使用可能媒体を統合するサーバ若しくはデータセンタのようなデータ記憶装置であってよい。使用可能媒体は、磁気媒体(例えば、フロッピーディスク、ハードディスク、又は磁気テープ)、光媒体(例えば、デジタルビデオディスク(digital video disc, 略してDVD)、半導体媒体(例えば、solid-state drive, SSD)等であってよい。
前述の実施形態は、単に本願の技術的ソリューションを説明するために使用された。前述の実施形態は、単に、本発明の実施形態における方法の理解を助けることを意図しており、本発明の実施形態に対する限定として考えられるべきではない。当業者により直ちに考案される任意の変形又は置換は、本発明の実施形態の保護範囲の中に包含されるべきである。