(57)【要約】【課題】収容アドレス空間の縮小および経路集約可能なアドレス空間の設計を実現した上で、さらに、アドレス空間の柔軟な拡張性を実現する。【解決手段】ネットワーク制御装置１は、アドレス空間を二分木構成で管理するアドレス空間情報１００を記憶する記憶部１５と、取得したＩＰアドレス数よりも所定数大きい値を必要ＩＰアドレス数として計算し、必要ＩＰアドレス数が収容可能なアドレス空間を、アドレス空間情報１００を参照して二分木探索することにより決定するアドレス空間計算部１２１と、を備える。アドレス空間計算部１２１は、二分木探索において、親アドレス空間が割当済みの場合は、当該親アドレス空間以下の子アドレス空間を利用不可とし、子アドレス空間が割当済みの場合は、当該子アドレス空間以上の親アドレス空間を利用不可として、利用可能な空きアドレス空間に割り当てる。【選択図】図１
2019083425.tif 000002
【特許請求の範囲】
【請求項１】
ＩＰアドレスのアドレス空間を設計するネットワーク制御装置であって、
前記アドレス空間を二分木構成で管理するアドレス空間情報を記憶する記憶部と、
前記アドレス空間に収容されるＩＰアドレス数を取得して、当該ＩＰアドレス数よりも所定数大きい値を必要ＩＰアドレス数として計算し、前記必要ＩＰアドレス数が収容可能なアドレス空間を、前記アドレス空間情報を参照して二分木探索することにより決定するアドレス空間計算部と、を備え、
前記アドレス空間計算部は、前記二分木探索において、親アドレス空間が割当済みの場合は、当該親アドレス空間以下の子アドレス空間を利用不可とし、子アドレス空間が割当済みの場合は、当該子アドレス空間以上の親アドレス空間を利用不可として、利用可能な空きアドレス空間に、前記必要ＩＰアドレス数が収容可能なアドレス空間を割り当てること
を特徴とするネットワーク制御装置。
【請求項２】
前記ＩＰアドレス数よりも所定数大きい値を、前記ＩＰアドレス数よりも大きい最小の２のべき乗値として前記必要ＩＰアドレス数を計算すること
を特徴とする請求項１に記載のネットワーク制御装置。
【請求項３】
前記アドレス空間計算部は、前記二分木探索において、前記必要ＩＰアドレス数を収容可能なアドレス空間が、前記二分木構成で管理される単一のアドレス空間では割り当てられない場合に、前記必要ＩＰアドレス数が収容可能なアドレス空間を分割し、利用可能な空きアドレス空間に割り当てること
を特徴とする請求項１または請求項２に記載のネットワーク制御装置。
【請求項４】
前記必要ＩＰアドレス数が収容可能なアドレス空間を分割した複数のアドレス空間のサイズは、同一のサイズ若しくは異なるサイズの組み合わせであること
を特徴とする請求項３に記載のネットワーク制御装置。
【請求項５】
前記必要ＩＰアドレス数が収容可能なアドレス空間を分割した複数のアドレス空間を、同一グループとして管理し、当該グループ内で連続的にＩＰアドレスの割り当てを行うこと
を特徴とする請求項３に記載のネットワーク制御装置。
【請求項６】
前記アドレス空間を管理する二分木は、管理対象として最大管理規模のＩＰアドレス数が収容可能なアドレス空間をrootとし、管理対象として最小管理規模のＩＰアドレス数が収容可能なアドレス空間をleafとして構成すること
を特徴とする請求項１または請求項２に記載のネットワーク制御装置。
【請求項７】
ＩＰアドレスのアドレス空間を設計するネットワーク制御装置のアドレス設計方法であって、
前記ネットワーク制御装置は、
前記アドレス空間を二分木構成で管理するアドレス空間情報を記憶する記憶部を備えており、
前記アドレス空間に収容されるＩＰアドレス数を取得して、当該ＩＰアドレス数よりも所定数大きい値を必要ＩＰアドレス数として計算し、前記必要ＩＰアドレス数が収容可能なアドレス空間を、前記アドレス空間情報を参照して二分木探索することにより決定するアドレス空間計算ステップを実行し、
前記アドレス空間計算ステップの前記二分木探索において、親アドレス空間が割当済みの場合は、当該親アドレス空間以下の子アドレス空間を利用不可とし、子アドレス空間が割当済みの場合は、当該子アドレス空間以上の親アドレス空間を利用不可として、利用可能な空きアドレス空間に、前記必要ＩＰアドレス数が収容可能なアドレス空間を割り当てること
を特徴とするアドレス設計方法。
【請求項８】
コンピュータを、請求項１乃至請求項６のいずれか１項に記載のネットワーク制御装置として機能させるためのアドレス設計プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＳＤＮ（Software Defined Network）技術を用いたネットワークの構築に際し、ＩＰアドレスのアドレス空間を設計するネットワーク制御装置、アドレス設計方法およびアドレス設計プログラムに関する。
【背景技術】
【０００２】
近年、非特許文献１に示すようなソリューションとして、ＳＤＮ技術を用いた自動ネットワーク構築システムが盛んに検討されている。ＩＰアドレスの自動設計についてもその対象となる。このＩＰアドレスの自動設計においては、以下の２要件が必要とされる。
【０００３】
（要件１）リソースを有効活用するため、網全体における収容ＩＰアドレス空間を縮小する。
（要件２）障害時等における経路収束性の高速化や安定性向上のため、経路集約可能なＩＰアドレスを設計する。
【０００４】
上記の２要件を可能な限り満たすように、従来技術としていくつかのアドレス設計手法が提案されている。その内、上記の２要件を最も満たし得る手法として、非特許文献２で提案されているアドレス設計手法がある。非特許文献２のアドレス設計手法（以下、アドレス設計手法「１」と称する。）では、事前に将来取得され得るアドレス空間の予測をし、その予測結果に基づきアドレス空間の設計を行う。具体的には、以下の手順を実行する。
【０００５】
（手順１−１）Ｎ個のアドレス空間を取得する場合、１〜Ｎ番目のアドレス空間に必要なアドレス数を予測する計算を行う。
（手順１−２）必要なアドレス数の計算後、そのアドレス数よりも大きい最小の２のべき乗値を必要なアドレス数（必要アドレス数）として再計算する。
（手順１−３）（手順１−１）および（手順１−２）を行った後、そのアドレス数（必要アドレス数）に基づき降順に並び替えた上で、アドレス空間の予約を行う。
（手順１−４）（手順１−３）以降は、必要に応じて（拠点増設やユーザ規模追加等）、事前計算されたアドレス空間を割り当てる。
【０００６】
このアドレス設計手法「１」を用いることにより、収容ＩＰアドレス空間の縮小が可能となる（（要件１）満たす。）ことが示されている。また、２のべき乗値をアドレス数とすることで、経路集約可能なＩＰアドレスが確保可能となる（（要件２）を満たす。）。
【０００７】
一方、ＩＰアドレスを確保する際に、そのＩＰアドレス数を最小化するための手法として、以下に示す手法（以下、アドレス設計手法「２」と称する。）がある。アドレス設計手法「２」では、以下の手順を実行する。
【０００８】
（手順２−１）アドレス確保の要求を受信した際に、必要最低限のアドレス数を計算する。
（手順２−２）直前に確保したＩＰアドレスの終点アドレスから順に、詰め込む形で必要最低限のアドレスを確保する。
【０００９】
このアドレス設計手法「２」を用いることにより、ＩＰアドレスの確保数を最小化することが可能となる。
【先行技術文献】
【非特許文献】
【００１０】
【非特許文献１】「ＣＯＮＴＲＡＩＬアーキテクチャ」、［online］、ジュニパーネットワークス、2014年、［平成29年10月12日検索］、インターネット＜ＵＲＬ：https://www.juniper.net/assets/jp/jp/local/pdf/whitepapers/2000535-jp.pdf＞
【非特許文献２】入野仁志、他３名、「データセンタの IP アドレス設計自動化に関する一考察 」、電子情報通信学会ソサイエティ大会講演論文集 B-6-1、一般社団法人電子情報通信学会、2015年、通信(2)１
【発明の概要】
【発明が解決しようとする課題】
【００１１】
しかしながら、上記したアドレス設計手法「１」では、事前の予測に基づいてアドレス空間設計を行っているため、実運用中に予測よりも必要となるアドレス数が大きくなってしまった場合に、アドレス空間の再設計およびＩＰアドレスのリナンバリングが必要となる。また、事前予測以上にアドレス空間数を確保しようとする際にもアドレス空間の再設計が生じてしまう。
一方、アドレス設計手法「２」は、アドレス設計手法「１」に比べ、アドレス確保要求を受け付けた際に、詰め込む形でアドレス空間を確保するため、アドレス空間の追加や拡張には柔軟に対応することができる。しかし、経路集約を考慮していない設計のため、ネットワークの安定性が低減するおそれがある。例えば、対象をインフラＩＰアドレスとし、アンダーレイをＩＧＰ（Interior Gateway Protocol）により構成している場合、障害が生じた際に経路収束に時間がかかってしまうという問題がある。
【００１２】
これらの問題に加え、次のような新たな課題もある。近年の仮想化技術の進展に伴い、ネットワークを利用したサービスの成長が著しく、将来の規模が容易に予想できない場合が想定される。よって、急峻な需要変動にも対応可能なアドレス空間の追加・拡張等の柔軟性が求められている。
【００１３】
このような点に鑑みて本発明がなされたのであり、本発明は、収容アドレス空間の縮小および経路集約可能なアドレス空間の設計を実現した上で、さらに、アドレス空間の柔軟な拡張性を実現することができる、ネットワーク制御装置、アドレス設計方法およびアドレス設計プログラムを提供することを課題とする。
【課題を解決するための手段】
【００１４】
前記した課題を解決するため、請求項１に記載の発明は、ＩＰアドレスのアドレス空間を設計するネットワーク制御装置であって、前記アドレス空間を二分木構成で管理するアドレス空間情報を記憶する記憶部と、前記アドレス空間に収容されるＩＰアドレス数を取得して、当該ＩＰアドレス数よりも所定数大きい値を必要ＩＰアドレス数として計算し、前記必要ＩＰアドレス数が収容可能なアドレス空間を、前記アドレス空間情報を参照して二分木探索することにより決定するアドレス空間計算部と、を備え、前記アドレス空間計算部は、前記二分木探索において、親アドレス空間が割当済みの場合は、当該親アドレス空間以下の子アドレス空間を利用不可とし、子アドレス空間が割当済みの場合は、当該子アドレス空間以上の親アドレス空間を利用不可として、利用可能な空きアドレス空間に、前記必要ＩＰアドレス数が収容可能なアドレス空間を割り当てることを特徴とするネットワーク制御装置とした。
【００１５】
また、請求項７に記載の発明は、ＩＰアドレスのアドレス空間を設計するネットワーク制御装置のアドレス設計方法であって、前記ネットワーク制御装置が、前記アドレス空間を二分木構成で管理するアドレス空間情報を記憶する記憶部を備えており、前記アドレス空間に収容されるＩＰアドレス数を取得して、当該ＩＰアドレス数よりも所定数大きい値を必要ＩＰアドレス数として計算し、前記必要ＩＰアドレス数が収容可能なアドレス空間を、前記アドレス空間情報を参照して二分木探索することにより決定するアドレス空間計算ステップを実行し、前記アドレス空間計算ステップの前記二分木探索において、親アドレス空間が割当済みの場合は、当該親アドレス空間以下の子アドレス空間を利用不可とし、子アドレス空間が割当済みの場合は、当該子アドレス空間以上の親アドレス空間を利用不可として、利用可能な空きアドレス空間に、前記必要ＩＰアドレス数が収容可能なアドレス空間を割り当てることを特徴とするアドレス設計方法とした。
【００１６】
このようにすることで、ネットワーク制御装置は、アドレス空間の重複を避けた上でＩＰアドレスを詰め込んで設定することにより収容ＩＰアドレス空間を縮小することができる。また、取得したＩＰアドレス数よりも所定数大きい値を単位としてアドレス数を管理することにより、効率的な経路集約が可能となる。さらに、管理対象の規模（必要となるアドレス数）が事前の予測よりも大きくなった場合でも、利用可能な空きアドレス空間に必要とするアドレス空間を割り当てることができる。
【００１７】
請求項２に記載の発明は、前記ＩＰアドレス数よりも所定数大きい値を、前記ＩＰアドレス数よりも大きい最小の２のべき乗値として前記必要ＩＰアドレス数を計算することを特徴とする請求項１に記載のネットワーク制御装置とした。
【００１８】
このようにすることで、ネットワーク制御装置は、２のべき乗単位でアドレス数を管理することができる。よって、さらに効率的な経路集約を行うことが可能となる。
【００１９】
請求項３に記載の発明は、前記アドレス空間計算部が、前記二分木探索において、前記必要ＩＰアドレス数を収容可能なアドレス空間が、前記二分木構成で管理される単一のアドレス空間では割り当てられない場合に、前記必要ＩＰアドレス数が収容可能なアドレス空間を分割し、利用可能な空きアドレス空間に割り当てることを特徴とする請求項１または請求項２に記載のネットワーク制御装置とした。
【００２０】
このようにすることで、ネットワーク制御装置は、必要とするアドレス空間が二分木構成で管理される単一のアドレス空間で割り当てられない場合でも、アドレス空間を分割して利用可能な空きアドレス空間に割り当てることができる。
【００２１】
請求項４に記載の発明は、前記必要ＩＰアドレス数が収容可能なアドレス空間を分割した複数のアドレス空間のサイズは、同一のサイズ若しくは異なるサイズの組み合わせであることを特徴とする請求項３に記載のネットワーク制御装置とした。
【００２２】
このようにすることで、ネットワーク制御装置は、必要とするアドレス空間を分割する際に、分割したアドレス空間を最適なサイズに設定して割り当てることができる。
【００２３】
請求項５に記載の発明は、前記必要ＩＰアドレス数が収容可能なアドレス空間を分割した複数のアドレス空間を、同一グループとして管理し、当該グループ内で連続的にＩＰアドレスの割り当てを行うことを特徴とする請求項３に記載のネットワーク制御装置とした。
【００２４】
このようにすることで、ネットワーク制御装置は、二分木構成において分割された複数のアドレス空間に割り当てられるＩＰアドレスを、同一グループの連続的に割り当てられるＩＰアドレスとして管理することができる。
【００２５】
請求項６に記載の発明は、前記アドレス空間を管理する二分木を、管理対象として最大管理規模のＩＰアドレス数が収容可能なアドレス空間をrootとし、管理対象として最小管理規模のＩＰアドレス数が収容可能なアドレス空間をleafとして構成することを特徴とする請求項１または請求項２に記載のネットワーク制御装置とした。
【００２６】
このようにすることで、ネットワーク制御装置は、管理対象とするＩＰアドレス数の大きさに応じた適切なアドレス空間のサイズを設定し、二分木構成として管理することができる。
【００２７】
請求項８に記載の発明は、コンピュータを、請求項１乃至請求項６のいずれか１項に記載のネットワーク制御装置として機能させるためのアドレス設計プログラムとした。
【００２８】
このようにすることにより、一般的なコンピュータを用いて、請求項１乃至請求項６のいずれか１項に記載のネットワーク制御装置の各機能を実現させることができる。
【発明の効果】
【００２９】
本発明によれば、収容アドレス空間の縮小および経路集約可能なアドレス空間の設計を実現した上で、さらに、アドレス空間の柔軟な拡張性を実現する、ネットワーク制御装置、アドレス設計方法およびアドレス設計プログラムを提供することができる。
【図面の簡単な説明】
【００３０】
【図１】本実施形態に係るネットワーク制御装置を含むシステムの全体構成例と、ネットワーク制御装置の構成例を示す機能ブロックとを示す図である。
【図２】最大管理規模と最小管理規模とに基づいて二分木構成を生成する例を説明するための図である。
【図３】本実施形態に係るネットワーク制御装置が生成する二分木構成を例示する図である。
【図４】本実施形態に係るネットワーク制御装置が二分木にアドレス空間を割り当てる際の割当ポリシを説明するための図である。
【図５】本実施形態に係るネットワーク制御装置が実行するアドレス空間割当処理の流れを示すフローチャートである。
【図６】本実施形態に係るアドレス空間構成情報を例示する図である。
【図７】本実施形態に係るアドレス空間割当情報を例示する図である。
【図８】本実施形態に係るネットワーク制御装置が実行する分割アドレス空間割当の処理の流れを示すフローチャートである。
【図９】本実施形態に係るアドレス空間構成情報（分割アドレス空間割当）を例示する図である。
【図１０】本実施形態に係るアドレス空間割当情報（分割アドレス空間割当）を例示する図である。
【図１１】分割アドレス空間割当時において、３つのアドレス空間を分割して割り当てた場合を例示する図である。
【図１２】分割アドレス空間割当時におけるアドレス設計を説明するための図である。
【図１３】本実施形態に係るネットワーク制御装置の適用例として、データセンタネットワークにおけるインフラＩＰアドレス設計を示す図である。
【図１４】ネットワーク運用開始時におけるアドレス空間計算の処理の流れを示すフローチャートである。
【図１５】拠点増設時におけるアドレス空間計算の処理の流れを示すフローチャートである。
【図１６】装置増設時におけるアドレス計算の処理の流れを示すフローチャートである。
【図１７】増設するLeafおよびSpineのアドレス計算を説明するための図である。
【図１８】装置増設時のLoopbackアドレスのアドレス計算を説明するための図である。
【図１９】拠点間リンクの新設時におけるアドレス計算の処理の流れを示すフローチャートである。
【図２０】拠点間リンクアドレスのアドレス計算を説明するための図である。
【発明を実施するための形態】
【００３１】
次に、本発明を実施するための形態（以下、「本実施形態」と称する。）における、ネットワーク制御装置１等について説明する。
図１は、本実施形態に係るネットワーク制御装置１を含むシステムの全体構成例と、ネットワーク制御装置１の構成例を示す機能ブロックとを示す図である。
本実施形態に係るネットワーク制御装置１は、例えば、制御対象となる、ルータ、スイッチ、サーバ等のネットワーク装置（ＮＥ：ネットワークエレメント）に接続されるＳＤＮコントローラとして実現される。そして、このネットワーク制御装置１は、ネットワークに設置される各ネットワーク装置に関するＩＰアドレスの設計を、上記した「収容ＩＰアドレス空間の縮小」、「経路集約可能なＩＰアドレス設計」、「アドレス空間の柔軟な拡張」の要件を満たすように行う。
このネットワーク制御装置１は、図１に示すように、制御部１０と、入出力部１４と、記憶部１５とを含んで構成される。
【００３２】
入出力部１４は、ネットワークで接続された制御対象となる各ネットワーク装置等との間で、情報の送受信を行うための通信インタフェースと、タッチパネルやキーボード等の入力装置や、モニタ等の出力装置との間で情報の送受信を行うための入出力インタフェースとから構成される。
【００３３】
記憶部１５は、フラッシュメモリやハードディスク、ＲＡＭ（Random Access Memory）等により構成される。
この記憶部１５には、後記するアドレス設計部１２が管理する情報として、アドレス空間情報１００およびアドレス管理情報２００が格納される（詳細は後記）。また、この記憶部１５には、制御部１０の各機能を実行するためのプログラム（アドレス設計プログラム）が記憶される。
【００３４】
制御部１０は、ネットワーク制御装置１全体の制御を司り、要求受付部１１と、アドレス設計部１２と、アドレス設定部１３とを備える。なお、ネットワーク制御装置１が、ＳＤＮコントローラとして機能する場合には、例えば、各ネットワーク装置（ＮＥ）のインタフェースへプロトコルの設定を実行するプロトコル処理部（図示省略）や、各ネットワーク装置を監視する装置監視部（図示省略）等の機能がさらに備えられ、これらの機能の処理に伴う情報が記憶部１５に記憶される。また、この制御部１０は、例えば、記憶部１５に格納されたプログラム（アドレス設計プログラム）を不図示のＣＰＵ（Central Processing Unit）が、ＲＡＭに展開し実行することにより実現される。
【００３５】
要求受付部１１は、上位システムや当該ネットワーク制御装置１（ＳＤＮコントローラ）の使用者等による処理実行要求を、例えば、Ｒｅｓｔ（Representational State Transfer）等により受け付ける。要求受付部１１が受け付ける入力パラメータは、例えば、以下の２パターンがある。
【００３６】
（パターン１）ＩＰアドレス空間要求
要求受付部１１は、追加予定のアドレス空間規模を計算するための入力パラメータ、若しくは、アドレス空間規模そのものの入力を受け付ける。例えば、ネットワーク装置の台数や接続リンク数等である。なお、アドレス空間の割り当てを要求する、ここでの入力パラメータを、以下「要求ＩＰアドレス数」と称する場合がある。
（パターン２）ＩＰアドレス設計要求
要求受付部１１は、割当完了後の各アドレス空間を用いて、アドレス計算（各装置やリンク等へのＩＰアドレスの設定）を行うための具体的なパラメータの入力を受け付ける。例えば、利用アドレス空間ＩＤ、装置ＩＤ、リンクＩＤ等である。
【００３７】
アドレス設計部１２は、要求受付部１１が受け付けた処理実行要求に基づき、アドレス空間の設計を行い、また、割当済みのアドレス空間におけるアドレス設定対象へのアドレス設計（計算）を行う。このアドレス設計部１２は、アドレス空間計算部１２１およびアドレス計算部１２２を備える。なお、以下においては、ＩＰｖ４に適用した例として説明するがこれに限定されない。
【００３８】
アドレス空間計算部１２１は、上位システム等から必要となるアドレス数（要求ＩＰアドレス数）を受け付け、アドレス空間の設計を行う。このアドレス空間計算部１２１は、以下に示す、「二分木構成の生成」、「二分木探索によるアドレス空間割当」、「分割アドレス空間割当」を実行する機能を備える。
【００３９】
（二分木構成の生成）
アドレス空間計算部１２１は、最大管理規模と最小管理規模とに基づいて二分木構成を生成することによりアドレス空間を管理する。
アドレス空間計算部１２１は、図２に示すように、ネットワーク全体で必要なアドレス数（後記する「必要ＩＰアドレス数」）が「／２４（２５６個）」であり、最小管理規模が「／２７（３２個）」の場合は、「／２４」をroot（ルート）とし、「／２７」を末端のleaf（リーフ）とするような二分木を、例えば図３に示すように構築する。
【００４０】
（二分木探索によるアドレス空間割当）
アドレス空間計算部１２１は、二分木にアドレス空間を割り当てるに際し、次に示すようなポリシ（割当ポリシ）を採用する（図４参照）。
・親アドレス空間が割当済みの場合、それ以下の子アドレス空間は利用不可とする。
・子アドレス空間が割当済みの場合、それ以上の親アドレス空間は利用不可とする。
【００４１】
図４に示す例では、符号αで示す「／２５」のアドレス空間が割当済みの場合、上記の割当ポリシにより、それ以下の子アドレス空間である符号α１の領域にあるアドレス空間が利用不可となる。そして、それ以上の親アドレス空間である符号α２のアドレス空間が利用不可となる。
また、符号βで示す「／２７」のアドレス空間が割当済みの場合、上記の割当ポリシにより、それ以上の親アドレス空間である符号β１とβ２のアドレス空間が利用不可となる。
【００４２】
この割当ポリシは、それぞれアドレス空間の重複を避けるためのポリシである。経路集約可能なアドレス空間の設計のためには、上位システム等から取得したＩＰアドレス数（要求ＩＰアドレス数）よりも所定数大きい値（例えば、２のべき乗）単位でのアドレス数管理を行うことと、アドレス空間の重複を回避することが条件となる。上記の二分木構成とこの割当ポリシとにより、当該条件を満たすことができる。
【００４３】
アドレス空間計算部１２１は、上位システム等からアドレス空間割当要求として、必要なＩＰアドレス数（要求ＩＰアドレス数）や、許容分割数（詳細は後記）の情報を受け取る。次に、アドレス空間計算部１２１は、以下の（式１）に示すように、要求ＩＰアドレス数よりも所定数大きい値（ここでは、要求ＩＰアドレス数よりも大きい最小の２のべき乗値とする。）を、必要ＩＰアドレス数として求める。そして、アドレス空間計算部１２１は、以下の（式２）を用いて、必要となるアドレス空間を計算する。
【００４４】
【数１】
2019083425.tif 000003
【００４５】
ここで、Ｘは、上位システム等が必要とする（要求する）ＩＰアドレス数（要求ＩＰアドレス数）である。Ｘ’は、必要ＩＰアドレス数である。Ｐは、プレフィックスで示されるアドレス空間である。また、（式１）のｌｏｇ２Ｘおよび（式２）のＸ’の左右の符合は、天井関数を示す。ここで天井関数は、実数に対しそれ以上の最小の整数を対応付ける関数を意味する（以下の式も同様）。
【００４６】
アドレス空間計算部１２１は、（式１）および（式２）を用いて、必要なアドレス空間Ｐを計算した後、割当可能なアドレス空間を二分木探索する。アドレス空間計算部１２１は、この二分木探索において、割当可否を上記した割当ポリシに基づき判定する。そして、アドレス空間計算部１２１は、割当候補を発見した場合には、その情報を記憶部１５内のアドレス空間情報１００（図１参照）に反映させる。
【００４７】
アドレス空間情報１００は、図１に示すように、アドレス空間構成情報１１０およびアドレス空間割当情報１２０を含んで構成される。
アドレス空間構成情報１１０は、アドレス空間を二分木構成で示す情報である。このアドレス空間構成情報１１０では、割当済みのアドレス空間にフラグ（割当済みフラグ）を立てて管理する。なお、本実施形態の各図においては、アドレス空間構成情報１１０における未割当のアドレス空間を丸印（〇）で示し、割当フラグが付された割当済みのアドレス空間を丸印に交差斜線を付して示している。
【００４８】
アドレス空間割当情報１２０は、割当済みのアドレス空間を示す情報である。このアドレス空間割当情報１２０は、空間ＩＤ、グループＩＤ、始点アドレス、プレフィックス（Prefix）のデータ項目で管理される。
空間ＩＤは、割り当てられたアドレス空間に付される固有なＩＤである。グループＩＤは、空間ＩＤで示されるアドレス空間を分割した際の分割後のアドレス空間のグループ内で識別可能なＩＤを示す。ここで、図１に示すように、空間ＩＤが「４」でグループＩＤが「１」「２」というように、２つのグループが存在する場合には、アドレス空間が２分割されていることを示している。一方、例えば、空間ＩＤが「１」でグループＩＤが「１」というように、１つのグループしか登録されていない場合には、そのアドレス空間は、分割されていないことを示す。
なお、このアドレス空間構成情報１１０とアドレス空間割当情報１２０とは、一組のアドレス空間情報１００として管理される。また、本実施形態においては、アドレス空間計算部１２１が空き若番空間から割り当てを行うものとして以下において説明する。
【００４９】
（分割アドレス空間割当）
アドレス空間計算部１２１は、二分木探索によるアドレス空間割当処理を、割当ポリシに基づき実行した場合において、割当候補のアドレス空間が発見できなかったときに、アドレス空間を分割して割り当てる処理（分割アドレス空間割当）を実行する。
この分割アドレス空間割当における分割の回数は、上位システム等からアドレス空間割当要求として受け取った許容分割数により決定される。アドレス空間計算部１２１による、分割アドレス空間割当の詳細は、図８を参照して後記する。
【００５０】
図１に戻り、アドレス計算部１２２は、ＩＰアドレス付与の対象となる装置ＩＤやリンクＩＤ等を上位システム等から受け付け、アドレス設計を行う。このアドレス計算部１２２によるアドレス設計は、利用するアドレス空間のシチュエーション（インフラアドレスか、ユーザアドレスか否か等）で大きく異なる。そのため、アドレス空間計算部１２１によりアドレス空間の割り当てが行われた後のこのアドレス設計の計算手法は、各管理者の運用ポリシによるものとする。アドレス計算部１２２は、アドレス管理情報２００として、計算後のアドレスが設定済みであることを記憶する。これにより、重複設定を回避することができる。
【００５１】
アドレス設定部１３は、アドレス設計部１２によるＩＰアドレスの演算結果を、例えば、Ｎｅｔｃｏｎｆ（Network Configuration Protocol）やＣＬＩ（Command Line Interface）により、ネットワーク装置（ＮＥ等）に送信して設定する。このアドレス設定部１３による各ネットワーク装置への設定処理は、ＩＰアドレス設計要求を受け付けた場合に実行される。
【００５２】
≪処理の流れ≫
次に、ネットワーク制御装置１が実行するアドレス空間設計の処理の流れを説明する。
図５は、本実施形態に係るネットワーク制御装置１が実行するアドレス空間割当処理の流れを示すフローチャートである。
なお、ここでは、アドレス設計部１２（アドレス空間計算部１２１）が、図３に示すように、二分木構成のアドレス空間（アドレス空間構成情報１１０）として、最大管理規模「／２４（２５６個）」、最小管理規模「／２７（３２個）」の二分木を構築しており、網全体の始点ＩＰアドレスが「10.0.0.0」に初期設定されているものとして説明する。
【００５３】
まず、ネットワーク制御装置１のアドレス空間計算部１２１は、要求受付部１１を介し、上位システム等からのアドレス空間割当要求として、ＩＰアドレス数（要求ＩＰアドレス数）および許容分割数の情報を受け付ける（ステップＳ１）。
【００５４】
続いて、アドレス空間計算部１２１は、上記した（式１）および（式２）を用いて、要求ＩＰアドレス数からそれより大きい最小の２のべき乗値を、必要ＩＰアドレス数として求め、必要となるアドレス空間（アドレス空間Ｐ）を計算する（ステップＳ２）。
ここでは、アドレス空間計算部１２１が、必要となるアドレス空間（アドレス空間Ｐ）として、「／２７（３２個）」が計算されたものとする。
【００５５】
次に、アドレス空間計算部１２１は、記憶部１５のアドレス空間情報１００（具体的には、アドレス空間構成情報１１０）を参照し、割当可能なアドレス空間を二分木探索する（ステップＳ３）。なお、アドレス空間計算部１２１は、この二分木探索において割当可能か否かを上記した割当ポリシに基づき判定する。
【００５６】
そして、アドレス空間計算部１２１は、割当可能なアドレス空間を発見できなかった場合には（ステップＳ４→Ｎｏ）、ステップＳ６に進む。ステップＳ６の分割アドレス空間割当については、後記する図８を参照して説明する。一方、アドレス空間計算部１２１は、割当可能なアドレス空間を発見できた場合には（ステップＳ４→Ｙｅｓ）、ステップＳ５に進む。
【００５７】
ステップＳ５において、アドレス空間計算部１２１は、発見した割当可能なアドレス空間をアドレス空間情報１００に設定する。
ここで、アドレス空間計算部１２１は、例えば、図６のアドレス空間構成情報１１０に示すように、符号γで示すアドレス空間が割当可能として発見でき、図７に示すように、記憶部１５内のアドレス空間割当情報１２０に設定する。ここでは、割り当てるアドレス空間の空間ＩＤが「６」であり、グループＩＤは「１」（分割されたアドレス空間ではない）、アドレス空間の始点アドレスが「10.0.0.32」、プレフィックス（Prefix）が「／２７」が登録されることを示している。
このアドレス空間の設定により、ネットワーク制御装置１はアドレス空間の割当処理を終了する。
【００５８】
（分割アドレス空間割当）
続いて、アドレス設計部１２（アドレス空間計算部１２１）による分割アドレス空間割当の処理について説明する。
図８は、本実施形態に係るネットワーク制御装置１が実行する分割アドレス空間割当の処理の流れを示すフローチャートである。この処理は、図５のステップＳ６において行われる。
なお、ここでは、図５のステップＳ１において、アドレス空間割当要求に許容分割数「２」の情報が含まれていたものとする。許容分割数は「１」がデフォルトとして設定され、アドレス空間が分割されないことを意味し、「２」は、アドレス空間が２分割されることを意味し、「３」は、アドレス空間が３分割されることを意味する。以下同様に、「Ｎ」は、アドレス空間がＮ分割されることを意味する。
【００５９】
まず、アドレス空間計算部１２１は、ステップＳ６１において、アドレス空間の分割に関するカウンタ値ｉを「２」に設定する。
【００６０】
続いて、アドレス空間計算部１２１は、図５のステップＳ２において計算された、必要となるアドレス空間（アドレス空間Ｐ）をカウンタ値ｉで除算し、分割アドレス空間ＳＰを計算する（ステップＳ６２）。
【００６１】
次に、アドレス空間計算部１２１は、割当空間を分割アドレス空間ＳＰとし、記憶部１５のアドレス空間情報１００（具体的には、アドレス空間構成情報１１０）を参照して、ｉ空間分の割当可能なアドレス空間を二分木探索する（ステップＳ６３）。なお、アドレス空間計算部１２１は、この二分木探索において割当可能か否かを上記した割当ポリシに基づき判定する。
【００６２】
そして、アドレス空間計算部１２１は、分割割当可能なアドレス空間を発見できた場合には（ステップＳ６４→Ｙｅｓ）、ステップＳ６５に進む。
ステップＳ６５において、アドレス空間計算部１２１は、発見したｉ空間分の割当可能なアドレス空間を、記憶部１５内のアドレス空間情報１００に設定する。
【００６３】
ここで、アドレス空間計算部１２１は、例えば、図９に示すように、当初図５のステップＳ２において、必要となるアドレス空間（アドレス空間Ｐ）が「／２６（６４個）」と計算された場合に、そのアドレス空間Ｐを２分割する。そして、アドレス空間計算部１２１は、分割アドレス空間ＳＰを「／２７（３２個）」とし、符号δ１，δ２で示す分割されたアドレス空間を割当可能として発見する。
続いて、アドレス空間計算部１２１は、図１０に示すように、アドレス空間割当情報１２０を更新する。ここでは、割り当てるアドレス空間の空間ＩＤが「６」、グループＩＤ「１」、始点アドレスが「10.0.0.32」、プレフィックス（Prefix）が「／２７」のレコードと、割り当てるアドレス空間の空間ＩＤが「６」、グループＩＤ「２」、始点アドレスが「10.0.0.160」、プレフィックス（Prefix）が「／２７」のレコードとが登録される。
ここで、同一のアドレス空間の空間ＩＤ（ここでは「６」）を設定することにより、グループＩＤが異なるそれぞれの分割アドレス空間を、単一のアドレス空間として紐付けることができる。
【００６４】
なお、ここでは一意な同一のアドレス空間規模でアドレス空間を分割した例で説明したが、分割するアドレス空間は、異なる規模（サイズ）を組み合わせたものでもよい。
【００６５】
図８に戻り、アドレス空間計算部１２１は、ステップＳ６４において分割割当可能なアドレス空間を発見できないと判定した場合には（ステップＳ６４→Ｎｏ）、アドレス空間の分割に関するカウンタ値ｉをインクリメントする（ステップＳ６６）。
ここでは、カウンタ値「２」に１を加算し、「３」となったものとする。
【００６６】
続いて、アドレス空間計算部１２１は、ステップＳ６６の処理の結果であるカウンタ値ｉが許容分割数Ｎ以下であるか否かを判定する（ステップＳ６７）。ここで、カウンタ値ｉが許容分割数Ｎ以下である場合には（ステップＳ６７→Ｙｅｓ）、ステップＳ６２に戻り、さらにアドレス空間を分割して処理を進める。一方、カウンタ値ｉが許容分割数Ｎ以下でない場合（ステップＳ６７→Ｎｏ）、つまり許容分割数を超えた場合には、ステップＳ６８に進む。
【００６７】
ステップＳ６８において、アドレス空間計算部１２１は、運用ポリシに基づき、空きアドレス空間を追加して取得するか否かを判定し、空きアドレス空間を追加して取得する運用ポリシである場合には（ステップＳ６８→Ｙｅｓ）、二分木構成をさらに追加し（ステップＳ６９）、空きアドレス空間を拡張してステップＳ６３に戻る。
一方、空きアドレス空間を追加して取得する運用ポリシでない場合には（ステップＳ６８→Ｎｏ）、アドレス空間計算部１２１は、アドレス空間割当処理に失敗した旨の情報を上位システム等に通知して（ステップＳ７０）、処理を終える。
【００６８】
（アドレス設計）
次に、アドレス設計部１２（アドレス計算部１２２）が実行するＩＰアドレス設計の処理について説明する。上記のように、ＩＰアドレス設計は、利用するシチュエーションにより大きく異なり、各運用ポリシに則って計算される。ここでは、本実施形態の特徴である分割アドレス空間割当が行われた場合のアドレス設計手法を説明する。アドレス空間を分割して割り当てた場合であっても、アドレスを通番的に設計することは可能である。また、分割アドレス空間割当時と、分割を行わない単一アドレス空間の割当時で、同様のロジックによりアドレス設計することが望ましい。
【００６９】
ここでは、図１１に示すように、３つのアドレス空間を分割して割り当てた場合を例として説明する。ここで、図１１の「Ｘ０」「Ｘ１」「Ｘ２」は、それぞれのアドレス空間始点ＩＰアドレスを意味する。Ｒは、当該アドレス空間が有するアドレス数を意味する。
【００７０】
図１１に示すように分割したアドレス空間が割り当てられた場合、アドレス計算部１２２は、図１２（ａ）に示すように、始点ＩＰアドレスを０として、通番的にＩＰアドレスを計算する。次に、アドレス計算部１２２は、その計算結果ｙが、どのレンジ（領域）に属しているかを判定する（図１２（ｂ）参照）。ここでは、アドレス計算部１２２が、Ｒを始点とするレンジに計算結果ｙが属していると判定する。
続いて、アドレス計算部１２２は、その分割したアドレス空間の始点ＩＰアドレス「Ｘ１」を始点としたＩＰアドレスに変換する。この例では、図１２（ｃ）に示すように、求めたい値ｙのアドレスＹが、Ｙ＝ｙ−Ｒ＋Ｘ１となる。
このようにして、アドレス計算部１２２は、アドレス付与の対象について、アドレス設計をすることができる。
【００７１】
≪本実施形態の適用例≫
次に、本実施形態に係るネットワーク制御装置１によるアドレス設計を、図１３に示す、分散配置型のデータセンタネットワークにおけるインフラＩＰアドレス設計への適用例として説明する。
データセンタの構成はファブリックネットワークを想定し、１拠点（データセンタ）は、Leaf-SpineによるClosトポロジで構成されるものとする。また、拠点間の接続は、ゲートウェイの役割を持つLeaf（GW-Leaf）間でそれぞれ接続するものとし、スター型から最大規模としてフルメッシュ構成となることを想定する。また、前提として、アンダーレイは、ＩＧＰによるＥＣＭＰ（Equal Cost Multi Path）を有効にしているものとする。そして、アドレス空間確保の粒度としては、拠点間リンクＩＰアドレスを１つのアドレス空間として確保する。また、拠点内のLeaf-Spine間リンクＩＰアドレスやLoopbackアドレスは、まとめて拠点ごとにアドレス空間を確保するものとする。
【００７２】
このデータセンタネットワークにおいては、以下のような処理実行要求が到来することが想定される。
（１）ネットワーク開始時（アドレス空間計算）：二分木構成や拠点間リンクアドレス空間確保のためのアドレス空間計算。
（２）拠点増設：拠点番号（拠点ＩＤ）に紐付いた新たなアドレス空間を確保。
（３）装置増設：指定された拠点内においてLeaf若しくはSpineを増設する。このとき、Loopbackアドレスの計算と、Leaf-Spine間リンクＩＰアドレスの計算が生じる。使用するアドレス空間は、指定された拠点のＩＰアドレス空間である。
（４）拠点間リンク新設：指定された拠点間でリンクを新設する。このとき、拠点間リンクＩＰアドレスの計算が生じる。使用するアドレス空間は、拠点間リンクＩＰアドレス空間である。
以下、上記の処理実行要求をネットワーク制御装置１が受信した場合のネットワーク制御装置１（アドレス設計部１２）の処理を具体的に説明する。
【００７３】
＜ネットワーク運用開始時（アドレス空間計算）＞
ネットワーク運用開始時において、ネットワーク制御装置１は、まず、管理対象となるアドレス空間の二分木構成の計算を行う。二分木の計算を行うため、ネットワーク制御装置１のアドレス設計部１２（アドレス空間計算部１２１）は、最大管理規模と最小管理規模の計算を行う。この最大管理規模と最小管理規模の計算には、拠点間リンクアドレス空間Ｘinterと拠点内アドレス空間Ｘinを計算する必要がある。また、拠点内アドレス空間Ｘinの計算には、Leaf-Spine間リンクアドレス空間Ｘintraと各装置のLoopbackアドレス空間Ｘloを計算する必要がある。それぞれの計算式は以下の通りとなる。なお、以下、ＸinterとＸintraのアドレスは「／３０」、Ｘloは「／３２」を想定し記述する。また、Ｘinterは、最大接続構成（フルメッシュ接続）をカバーするものとする。
【００７４】
【数２】
2019083425.tif 000004
【００７５】
ここで、Ｎcluは最大接続拠点数、Ｎsは当該拠点内の最大Spine数、Ｎlは当該拠点内の最大Leaf数を示す。
上記の（式３）〜（式６）を用いて、最大管理規模と最小管理規模の計算例を説明する。また、拠点間リンクアドレス空間の計算例を説明する。
【００７６】
（最大管理規模）
最大管理規模は、拠点間リンクアドレス空間Ｘinterと拠点内アドレス空間Ｘin×拠点数の合計値に相当し、以下の（式７）（式８）で表される。
【００７７】
【数３】
2019083425.tif 000005
【００７８】
Ｘmax、Ｐmaxは、それぞれ最大管理規模におけるアドレス数とプレフィックスを示す。また、Ｘinの計算においては、Spine数、Leaf数は想定最大数を入力値として計算するものとする。ここでは、例として、最大Spine数「4」、最大Leaf数「10」、拠点数「10」とした場合の計算結果を以下に示す。
Ｘmax ＝ 8192、 Ｐmax ＝ /19
【００７９】
（最小管理規模）
最小管理規模は、Spine数、Leaf数を最小管理規模数とした場合の拠点内アドレス空間Ｘinを計算することで求められる。ここでは、例として、最小Spine数「1」、最小Leaf数「2」とした場合の計算結果を以下に示す。
【００８０】
【数４】
2019083425.tif 000006
【００８１】
上記のＰmaxとＰminとにより、アドレス空間計算部１２１は、「／１９」を根（root）、「／２８」を葉（leaf）とする二分木を構成する。
【００８２】
（拠点間リンクアドレス空間）
拠点間リンクアドレス空間Ｘinterは、上記した（式３）により求まる。拠点数を「10」とした場合の計算結果を以下に示す。
Ｘinter ＝ 256
Ｐinter ＝ 32 − log2Ｘinter ＝ /24  ・・・（式１１）
これにより、拠点間リンクアドレス空間としては、「／２４」のアドレス空間を探索し確保すればよい。
【００８３】
次に、ネットワーク制御装置１が実行する、ネットワーク運用開始時におけるアドレス空間計算の処理の流れを、図１４を参照して説明する。
【００８４】
まず、ネットワーク制御装置１のアドレス空間計算部１２１は、要求受付部１１を介して、上位システム等からのアドレス空間割当要求を受け付ける（ステップＳ１０）。このアドレス空間割当要求には、次に示す情報が含まれる。
・最大接続拠点数
・最大Spine数、最大Leaf数
・最小Spine数、最小Leaf数
なお、アドレス空間割当要求には、網全体の始点ＩＰアドレスの情報を含めて受信してもよいし、始点ＩＰアドレスの指定がない場合には、ネットワーク制御装置１に予め記憶しておいたロジックに基づき、始点ＩＰアドレスを決定するようにしてもよい。
【００８５】
次に、アドレス空間計算部１２１は、最大管理規模と最小管理規模の計算を行うことにより、アドレス空間の二分木構成の計算を行う（ステップＳ１１）。
具体的には、アドレス空間計算部１２１は、上記した（式３）〜（式６）を用いて、拠点間リンクアドレス空間Ｘinter、Leaf-Spine間リンクアドレス空間Ｘintra、Loopbackアドレス空間Ｘlo、拠点内アドレス空間Ｘinを計算する。そして、（式７）（式８）のようにして、最大管理規模におけるプレフィックスＰmaxを求める。また、（式９）（式１０）のようにして、最小管理規模におけるプレフィックスＰminを求める。アドレス空間計算部１２１は、この最大管理規模のプレフィックスＰmaxと最小管理規模におけるプレフィックスＰminとにより、要求されたアドレス空間の二分木構成を行い、記憶部１５にアドレス空間情報１００（アドレス空間構成情報１１０）として記憶する。
【００８６】
続いて、アドレス空間計算部１２１は、拠点間リンクアドレス空間の確保を行う（ステップＳ１２）。
具体的には、アドレス空間計算部１２１は、最大接続拠点数により（式３）を用いて計算した拠点間リンクアドレス空間Ｘinterにより、拠点間リンクアドレス空間のプレフィックスＰinterを（式１１）のようにして計算し、記憶部１５にアドレス空間情報１００として設定する。
【００８７】
このようにして、ネットワーク制御装置１は、ネットワーク運用開始時において、管理対象となるアドレス空間の二分木を構成し、アドレス空間を確保することができる。
【００８８】
＜拠点増設時（アドレス空間計算）＞
次に、拠点を増設した際における、ネットワーク制御装置１の処理の流れを、図１５を参照して説明する。
拠点増設時において、ネットワーク制御装置１は、その拠点ｉで最大限利用する予定のSpine数ＮsiおよびLeaf数Ｎliからアドレス空間を計算し、二分木への割り当てを行う。
【００８９】
まず、ネットワーク制御装置１のアドレス空間計算部１２１は、要求受付部１１を介して、上位システム等から、最大Spine数、最大Leaf数、許容分割数の情報を受け付ける（ステップＳ２０）。
【００９０】
続いて、アドレス空間計算部１２１は、その拠点ｉでの最大Spine数Ｎsi、最大Leaf数Ｎliを、上記した拠点内アドレス空間Ｘinと同様に計算し、必要ＩＰアドレス数Ｘiとアドレス空間（プレフィックスＰi）とを計算する（ステップＳ２１）。
例えば、Ｎsi＝2、Ｎli＝4とした場合の計算結果は、以下のようになる。
Ｘi ＝ 64
Ｐi ＝ 32 − log2Ｘi ＝ /26
したがって、この例では「／２６」のアドレス空間を二分木上で探索すればよい。
【００９１】
続いて、アドレス空間計算部１２１は、ステップＳ２１で計算したプレフィックスＰiに基づき二分木探索を行い、記憶部１５にアドレス空間情報１００として設定する（ステップＳ２２）。
【００９２】
このようにして、ネットワーク制御装置１は、拠点増設時において、その増設する拠点のアドレス空間を確保することができる。
【００９３】
＜装置増設時（アドレス計算）＞
次に、指定された拠点内において、Leaf若しくはSpineを増設する際のアドレス計算について、図１６を参照して説明する。
装置増設時のアドレス計算の対象は、装置増設によって生じる、Leaf-Spine間リンクアドレスと、Loopbackアドレスとなる。使用するアドレス空間は、指定された拠点のＩＰアドレス空間である。
【００９４】
図１６に示すように、まず、ネットワーク制御装置１のアドレス設計部１２（アドレス計算部１２２）は、要求受付部１１を介して、上位システム等から、拠点ＩＤiと、Leafの装置ＩＤ（LeafＩＤn）若しくはSpineの装置ＩＤ（SpineＩＤm）との情報を受け付ける（ステップＳ３０）。ここで、LeafＩＤnとSpineＩＤmは、独立に管理されているものとする。
【００９５】
次に、アドレス計算部１２２は、拠点ＩＤiに基づき、記憶部１５内のアドレス空間情報１００を参照し、利用アドレス空間を特定する。そして、アドレス計算部１２２は、特定した利用アドレス空間に関して、当該拠点における始点ＩＰアドレスＸ０iを確定する（ステップＳ３１）。アドレス計算部１２２は、この始点ＩＰアドレスＸ０iを起点として、各アドレスを計算する。なお、分割してアドレス空間が確保されている場合には、アドレス空間情報１００（特に、アドレス空間割当情報１２０）を参照することにより、上記した図１２で示した手法等でアドレスを決定する。
【００９６】
続いて、アドレス計算部１２２は、Leaf-Spine間リンクアドレスを計算する（ステップＳ３２）。このLeaf-Spine間リンクアドレスは、すべてのLeafＩＤとSpineＩＤとの組合せで、一意に計算できるものとする。
例えば、図１７に示すように、Leafが４台、Spineが２台で構成され、利用アドレス空間が「／３０」の場合には、LeafのアドレスとSpineのアドレスは、以下の式で示される。
【００９７】
ｓ ＝ ４（Ｎsi（ｎ−１）＋ｍ−１）＋１＋Ｘ０i
ｔ ＝ ４（Ｎsi（ｎ−１）＋ｍ−１）＋２＋Ｘ０i
【００９８】
ここで、ｓはLeaf側のアドレス、ｔはSpine側のアドレスを示す。装置増設時において、増設された装置のＩＤに対応するＩＰアドレスを上記の式により、アドレス計算部１２２が一意に計算することができる。
なお、図１７には、LeafとSpineのそれぞれにおいて、始点ＩＰアドレスＸ０iからの加算分を示している。例えば、「Ｌ１」で示されるLeafのリンクアドレスは、始点ＩＰアドレスＸ０iに「.1」が加算された値がアドレスとなる。また、「Ｓ１」で示されるSpineのリンクアドレスは、始点ＩＰアドレスＸ０iに「.2」が加算された値がアドレスとなる。
【００９９】
次に、アドレス計算部１２２は、Loopbackアドレスを計算する（ステップＳ３３）。
例えば、Leaf４台、Spine２台を増設する場合においては、Loopback始点ＩＰアドレスＸl０iを起点として、図１８に示すように、Leaf１→Leaf２→Leaf３→Leaf４→Spine１→Spine２が割り当てられる。
なお、Loopback始点ＩＰアドレスＸl０iは、Leaf-Spine間リンクアドレスとの重複を避けるため以下の（式１２）のように計算される。
【０１００】
【数５】
2019083425.tif 000007
【０１０１】
そして、アドレス設定部１３は、アドレス設計部１２（アドレス計算部１２２）が計算したＩＰアドレスを、Leaf-Spine間リンクアドレス、Loopbackアドレスとして設定する。また、アドレス計算部１２２は、記憶部１５内のアドレス管理情報２００に、該当アドレスが設定済みであることを記憶する（ステップＳ３４）。
【０１０２】
このようにして、ネットワーク制御装置１は、指定された拠点内においてLeaf若しくはSpineを増設する際、Leaf-Spine間リンクアドレスと、Loopbackアドレスのアドレス計算をすることができる。
【０１０３】
＜拠点間リンクの新設時（アドレス計算）＞
次に、指定された拠点間でリンクを新設する際の該当インタフェースのアドレス計算について、図１９を参照して説明する。
【０１０４】
図１９に示すように、まず、ネットワーク制御装置１のアドレス設計部１２（アドレス計算部１２２）は、要求受付部１１を介して、上位システム等から、新設される拠点間リンクに接続される対向拠点ＩＤ（拠点ＩＤiと拠点ＩＤj）の情報を受け付ける（ステップＳ４０）。
【０１０５】
次に、アドレス計算部１２２は、拠点ＩＤiに若しくは拠点ＩＤjに基づき、記憶部１５内のアドレス空間情報１００を参照し、拠点間リンクアドレス空間を特定する。そして、アドレス計算部１２２は、特定した拠点間リンクアドレス空間に関して、当該拠点間リンクアドレスにおける始点ＩＰアドレスＸ０interを確定する（ステップＳ４１）。アドレス計算部１２２は、この始点ＩＰアドレスＸ０interを起点として、各拠点間リンクアドレスを計算する。なお、分割してアドレス空間が確保されている場合には、アドレス空間情報１００（特に、アドレス空間割当情報１２０）を参照することにより、上記した図１２で示した手法等でアドレスを決定する。
【０１０６】
続いて、アドレス計算部１２２は、拠点間リンクアドレスを計算する（ステップＳ４２）。例えば、図２０に示すように、３つの拠点（Clu１，Clu２，Clu３）の間に新設される拠点間リンクのインタフェースのアドレスを計算するものとすると、各拠点間リンクアドレスは、以下の式で示される。
【０１０７】
ｕ ＝ ４（ｊ−ｉ＋（ｉ−１）（Ｎclu−１）−１）＋１＋Ｘ０inter
ｖ ＝ ４（ｊ−ｉ＋（ｉ−１）（Ｎclu−１）−１）＋２＋Ｘ０inter
【０１０８】
ここで、ｕは拠点ｉ側のアドレス、ｖは拠点ｊ側のアドレスを示す。拠点間リンクの新設時において、拠点間で新設されたリンクのインタフェースに対応するＩＰアドレスを上記の式により、アドレス計算部１２２が一意に計算することができる。
なお、図２０には、各拠点間で新設されたリンクのインタフェースにおいて、始点ＩＰアドレスＸ０interからの加算分を示している。例えば、「Clu１」と「Clu２」との間の拠点間リンクの拠点「Clu１」側のインタフェースのアドレスは、始点ＩＰアドレスＸ０interに「.1」が加算された値がアドレスとなる。
【０１０９】
そして、アドレス設定部１３は、アドレス設計部１２（アドレス計算部１２２）が計算したＩＰアドレスを、拠点間リンクアドレスとして設定する。また、アドレス計算部１２２は、記憶部１５内のアドレス管理情報２００に、該当アドレスが設定済みであることを記憶する（ステップＳ４３）。
【０１１０】
このようにして、ネットワーク制御装置１は、指定された拠点間でリンクを新設する際、拠点間リンクアドレスを計算することができる。
【０１１１】
以上説明したように、本実施形態に係る、ネットワーク制御装置１、アドレス設計方法およびアドレス設計プログラムによれば、以下のような効果が得られる。
（リソース有効活用）
本実施形態に係るネットワーク制御装置１が実行するアドレス空間設計は、アドレス空間を適切に（重複することなく）詰め込んで設計するアルゴリズムとなっている。これにより、網全体で収容するＩＰアドレス空間を縮小することが可能となる。
（信頼性向上）
本実施形態に係るネットワーク制御装置１が実行するアドレス空間設計は、上位システム等から取得したＩＰアドレス数（要求ＩＰアドレス数）よりも所定数大きい値（２のべき乗値）をアドレス数とすることにより、効率的な経路集約が可能となる。これにより、障害発生時等において経路収束時間が短縮する等の効果が得られ、網の安定性が向上する。
（柔軟性向上）
本実施形態に係るネットワーク制御装置１が実行するアドレス空間設計では、管理対象の規模に変化（拠点の増設等）が生じ、アドレス空間をさらに確保する必要が生じた場合でも、分割アドレス空間の割り当てを可能としている。これにより、アドレス空間の再設計およびＩＰアドレスのリナンバリングを不要とすることができる。よって、ネットワーク制御装置１は、アドレス空間の柔軟な拡張性を実現することができる。即ち、急峻な需要変動にも対応可能なアドレス空間の追加・拡張を実現できる。
【０１１２】
なお、本実施形態に係るネットワーク制御装置１を独立した装置として説明したが、これに限定されない。例えば、ネットワーク制御装置１の各機能を分割して複数の装置に備えさせるシステムとしてもよい。その他にも、一般的なコンピュータのハードウェア資源を、ネットワーク制御装置１の各手段として動作させるプログラム（アドレス設計プログラム）として、本発明を実現することもできる。また、このプログラム（アドレス設計プログラム）は、通信回線を介して配布したり、ＣＤ−ＲＯＭ等の記録媒体に記録して配布したりすることも可能である。
【符号の説明】
【０１１３】
１      ネットワーク制御装置
１０    制御部
１１    要求受付部
１２    アドレス設計部
１３    アドレス設定部
１４    入出力部
１５    記憶部
１００  アドレス空間情報
１１０  アドレス空間構成情報
１２０  アドレス空間割当情報
１２１  アドレス空間計算部
１２２  アドレス計算部
２００  アドレス管理情報
【図１】
2019083425.tif 000008
【図２】
2019083425.tif 000009
【図３】
2019083425.tif 000010
【図４】
2019083425.tif 000011
【図５】
2019083425.tif 000012
【図６】
2019083425.tif 000013
【図７】
2019083425.tif 000014
【図８】
2019083425.tif 000015
【図９】
2019083425.tif 000016
【図１０】
2019083425.tif 000017
【図１１】
2019083425.tif 000018
【図１２】
2019083425.tif 000019
【図１３】
2019083425.tif 000020
【図１４】
2019083425.tif 000021
【図１５】
2019083425.tif 000022
【図１６】
2019083425.tif 000023
【図１７】
2019083425.tif 000024
【図１８】
2019083425.tif 000025
【図１９】
2019083425.tif 000026
【図２０】
2019083425.tif 000027