(57)【要約】【課題】  サブネットワーク構築時に、サブネットワーク内の全ての端末に、ユニークなアドレスを付与することができるルータおよびアドレス自動付与方法を提供することを目的とするものである。【解決手段】  サブネットワーク構築時に、サブネットワーク内の全ての端末に、アドレスを付与する場合、ルータのポート数がＰ１であり、上位ルータのプレフィックス長が、ｎビットである場合、ｎ＋ｌｏｇ２（Ｐ１＋１）ビットを、サブネットワークのプレフィックスとし、このサブネットワークのプレフィックス長に基づいて、上記サブネットワーク内の各端末にアドレスを付与するものである。【選択図】  図１
2005151059.tif 000002
【特許請求の範囲】
【請求項１】
上位ネットワークと、下位ネットワークであるサブネットワークとを接続するルータであって、上記ルータのポートに、ユニークなアドレスを付与するルータにおいて、
上記上位ネットワークのプレフィックスと、上記プレフィックスのビット長ｎとを、上記上位ネットワークから取得するプレフィックス取得手段と；
上記ルータのポート数Ｐ１を取得するポート数取得手段と；
上記プレフィックスのビット長ｎに加算すべき追加プレフィックスのビット長を、ｌｏｇ２（Ｐ１＋１）によって算出する追加プレフィックス長算出手段と；
上記プレフィックス長ｎと、上記追加プレフィックス長ｌｏｇ２（Ｐ１＋１）とを加算することによって、上記サブネットワークに付与されるプレフィックスのビット長を算出するサブネットワーク用プレフィックス長算出手段と；
上記サブネットワーク用プレフィックス長に基づいて、上記サブネットワーク内の各端末にアドレスを付与するアドレス付与手段と；
を有することを特徴とするルータ。
【請求項２】
請求項１において、
上記ルータの全てのポートを、上記追加プレフィックス長のビット数であって、異なる追加プレフィックスによって表し、上記プレフィックスに上記追加プレフィックスを追加したものを、上記各ポートに接続されているサブネットワークのプレフィックスとして使用することを特徴とするルータ。
【請求項３】
上位ネットワークと、下位ネットワークであるサブネットワークとを接続するルータのポートに、ユニークなアドレスを付与するアドレス自動付与方法において、
上記上位ネットワークのプレフィックスと、上記プレフィックスのビット長ｎとを、上記上位ネットワークから取得するプレフィックス取得段階と；
上記ルータのポート数Ｐ１を取得するポート数取得段階と；
上記プレフィックスのビット長ｎに加算すべき追加プレフィックスのビット長を、ｌｏｇ２（Ｐ１＋１）によって算出する追加プレフィックス長算出段階と；
上記プレフィックス長ｎと、上記追加プレフィックス長ｌｏｇ２（Ｐ１＋１）とを加算することによって、上記サブネットワークに付与されるプレフィックスのビット長を算出するサブネットワーク用プレフィックス長算出段階と；
上記サブネットワーク用プレフィックス長に基づいて、上記サブネットワーク内の各端末にアドレスを付与するアドレス付与段階と；
を有することを特徴とするアドレス自動付与方法。
【請求項４】
請求項３において、
上記ルータの全てのポートを、上記追加プレフィックス長のビット数であって、異なる追加プレフィックスによって表し、上記プレフィックスに上記追加プレフィックスを追加したものを、上記各ポートに接続されているサブネットワークのプレフィックスとして使用することを特徴とするアドレス自動付与方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークにおけるアドレス自動付与方法に関し、特に、サブネットワーク構築時におけるアドレス自動付与方法およびルータに関する。
【背景技術】
【０００２】
インターネットをはじめとするコンピュータネットワークにおいて、業界標準のＩＰ（Internet Protocol）を採用することが一般的であり、接続されるコンピュータのそれぞれに、ＩＰアドレスを割り当てて管理する。
【０００３】
したがって、インターネットに接続されているルータを介して、その下位としてサブネットワークを構築するためには、システム管理者が、ネットワーク構成に基づいてサブネットワークのＩＰアドレスを割り振る。
【０００４】
また、サブネットワークが、接続されていたルータから移動したときに、上記サブネットワークの移動先で、新たなアドレスを振り直し、上記サブネットワークの元のアドレス先に送信されたデータを、移動先のサブネットワークに転送できるようにしている（たとえば、特許文献１参照）。
【特許文献１】特開２０００−３４１３３０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかし、上記従来例において、システム管理者が、サブネットワーク全体のことを考えてアドレスの設計を行うことは、煩雑であり、また、サブネットワークの全体を、システム管理者が確実に把握しておかなければならず、非常に負担がかかるという問題がある。
【０００６】
本発明は、サブネットワーク構築時に、サブネットワーク内の全ての端末に、ユニークなアドレスを付与することができるルータおよびアドレス自動付与方法を提供することを目的とするものである。
【課題を解決するための手段】
【０００７】
本発明は、サブネットワーク構築時に、サブネットワーク内の全ての端末に、アドレスを付与する場合、ルータのポート数がＰ１であり、上位ルータのプレフィックス長が、ｎビットである場合、ｎ＋ｌｏｇ２（Ｐ１＋１）ビットを、サブネットワークのプレフィックスとし、このサブネットワークのプレフィックス長に基づいて、上記サブネットワーク内の各端末にアドレスを付与するものである。
【発明の効果】
【０００８】
本発明は、ルータのポート数がＰ１であり、上位ルータのプレフィックス長が、ｎビットである場合、ｎ＋ｌｏｇ２（Ｐ１＋１）ビットを、サブネットワークのプレフィックスとし、このサブネットワークのプレフィックス長に基づいて、上記サブネットワーク内の各端末にアドレスを付与するので、システム管理者が、ネットワーク構成に基づいてプレフィックス長を考えてサブネットワーク設計しなくても、サブネットワーク内の各端末に、異なるアドレスを自動的に付与することができるという効果を奏する。
【発明を実施するための最良の形態】
【０００９】
発明を実施するための最良の形態は、以下の実施例である。
【実施例１】
【００１０】
図１は、本発明の実施例１であるルータ１０を含むネットワークシステムＮＳ１の概略を示す図である。
【００１１】
ネットワークシステムＮＳ１は、ルータ１０、２０と、コンピュータ３０、４０とを有する。
【００１２】
ルータ１０は、上位ネットワークＮＷ１と、下位ネットワークであるサブネットワークとを接続し、そのポートに、ユニークなアドレスを付与するルータである。ルータ１０は、４ポートを具備するルータであり、ポート１１、１２、１３、１４を有し、ルータ２０は、２ポートを具備するルータであり、ポート２１、２２を有する。
【００１３】
また，ルータ１０は、プレフィックス取得手段と、ポート数取得手段と、追加プレフィックス長算出手段と、サブネットワーク用プレフィックス長算出手段と、アドレス付与手段とを有する。
【００１４】
プレフィックス取得手段は、上位ネットワークＮＷ１から、プレフィックスと、上記プレフィックスのビット長ｎとを取得する手段である。
【００１５】
ポート数取得手段は、上記ルータのポート数Ｐ１を取得する手段である。
【００１６】
追加プレフィックス長算出手段は、上記プレフィックスのビット長ｎに加算すべき追加プレフィックスのビット長ｎａを、ｌｏｇ２（Ｐ１＋１）によって算出する手段である。
【００１７】
サブネットワーク用プレフィックス長算出手段は、上記プレフィックス長ｎと、上記追加プレフィックス長ｎａ＝ｌｏｇ２（Ｐ１＋１）とを加算することによって、上記サブネットワークに付与されるプレフィックスのビット長を算出する手段である。
【００１８】
アドレス付与手段は、上記サブネットワーク用プレフィックス長に基づいて、上記サブネットワーク内の各端末（ルータのポート）にアドレスを付与する手段である。
【００１９】
サブネットワーク用プレフィックス長に基づいて、サブネットワーク内の各端末にアドレスを付与する場合の動作を、ＩＰｖ６アドレスを例にとって説明する。ＩＰｖ６アドレス長は、１２８ビットであり、上位ネットワークから付与されたプレフィックスを４８ビットとし、また、下位ネットワークを収容するポート数を４（Ｐ１）個とする。
【００２０】
この場合、追加プレフィックス長は、以下の式によって算出され、３ビットになる。
【００２１】
ｌｏｇ２（Ｐ１＋１）＝ｌｏｇ２（４＋１）＝３（小数点切上げ）
したがって、各ポートから下位ネットワークに付与するプレフィックスは、５１ビットになり、上位５１ビットは固定値とし、下位７７ビット分を下位ネットワークのアドレスとして使用することができる。
【００２２】
ネットワークシステムＮＳ１において、ルータ１０は、上位ネットワークＮＷ１に接続され、ルータ１０の各ポート１１、１２、１３、１４は、それぞれ下位のルータ，コンピュータ等を接続し、サブネットワークを構成している。
【００２３】
たとえば、ルータ１０のポート１１は、ルータ２０に接続され、ルータ２０の各ポート２１、２２は、それぞれ他のルータや端末（以下では、「コンピュータ」ともいう）等に接続されている。
【００２４】
次に、ルータ１０におけるサブネットワークのプレフィックス長の算出動作について説明する。
【００２５】
図２は、ルータ１０におけるサブネットワークのプレフィックス長の算出動作を示すフローチャートである。
【００２６】
まず、ルータ１０においては、上位ネットワークＮＷ１から、プレフィックスと、このプレフィックスの長さｎ（以下、「プレフィックス長」という）を取得する（Ｓ１）。以下、プレフィックス長ｎが４８ビットであるとする。
【００２７】
次に、ルータ１０のポート数Ｐ１を取得する（Ｓ２）。以下では、ルータ１０のポート数Ｐ１＝４であるとする。
【００２８】
そして、サブネットワークのプレフィックス長ｎを求めるために、このプレフィックス長ｎに加算すべきプレフィックス長（追加プレフィックス長）ｎａを、次の式（１）によって計算する（Ｓ３）。
【００２９】
追加プレフィックス長ｎａ＝ｌｏｇ２（Ｐ１＋１）  ……式（１）
なお、上記「追加プレフィックス」は、サブネットワークのプレフィックス長ｎに加算すべきプレフィックスである。また、上記「追加プレフィックス長」は、追加プレフィックスの長さであり、複数回、追加する場合には、「第１追加プレフィックス長」、「第２追加プレフィックス長」、……という。
【００３０】
上記式（１）によって求めたビット数に基づいて、ルータに設けられている全てのポートについて、ユニークな追加プレフィックスを割り当てることができる。
【００３１】
上記式（１）において、ポート数Ｐ１に１を加算しているのは、ルータ１０自身のサブネットルータエニキャストアドレスを確保するためである。なお、上記「サブネットルータエニキャストアドレス」は、該サブネット（プレフィックス）以降がａｌｌ“０”のアドレスであり、該サブネットを付与されたルータが使用するアドレスである。上記例の場合、上位４８ビットのｘに続いて、残り８０ビットが全て０のアドレスである。
【００３２】
ここでは、Ｐ１＝４であるので、追加プレフィックス長ｎａ＝ｌｏｇ２（Ｐ１＋１）＝ｌｏｇ２（４＋１）＝３であり、つまり、追加プレフィックス長が、３ビットである。なお、上記式（１）において、小数点以下は、切り上げる。
【００３３】
そして、上記のように、プレフィックス長ｎ＝４８ビットであるので、この４８ビットと、追加プレフィックス長ｎａ＝３ビットとを加算したビット数を、サブネットワークのプレフィックス長（＝５１ビット）とする（Ｓ４）。
【００３４】
さらに、ここで求めたサブネットワークのプレフィックス長５１ビットを、下位のルータ２０に通知する（Ｓ５）。
【００３５】
ルータ２０では、上記処理と同様に、ルータ１０で求めた追加プレフィックス長ｎａを、第１追加プレフィックス長とし、第２追加プレフィックス長ｎａ２を、次の式（２）によって計算する。
【００３６】
第２追加プレフィックス長ｎａ２＝ｌｏｇ２（Ｐ２＋１）  ……式（２）
ここで、ルータ２０のポート数をＰ２とすると、図１に示すように、ルータ２０のポート数Ｐ２＝２であるので、第２追加プレフィックス長ｎａ２＝ｌｏｇ２（Ｐ２＋１）＝ｌｏｇ２（２＋１）＝２であり、したがって、第２追加プレフィックス長ｎａ２は、２ビットである。なお、上記式（２）においても、小数点以下を、切り上げる。
【００３７】
よって、ルータ２０に接続されているサブネットワークでのプレフィックス長は、５１＋２＝５３ビットである。
【００３８】
上記のようにして、サブネットワークがいかに大きくなり、複雑になっても、サブネットワークのプレフィックス長を、自動的に算出することができる。
【００３９】
次に、上記実施例の具体的な動作について説明する。
【００４０】
以下、プレフィックスを簡略して表現するために、下記の例に示すように、１６進数の一桁（すなわち４ビット）を、Ｘで示し、これらの文字によって表されるプレフィックスの４桁毎に、区切り記号「：」を挿入して表記する。
【００４１】
さらに、プレフィックスの末尾に、「：：／ｎ」と記載し、この末尾における「ｎ」は、当該プレフィックスのビット数を示す。たとえば、「ｘｘｘｘ：ｘｘｘｘ：：／３２」のように表記し、この場合におけるプレフィックスのビット数は、３２である。
【００４２】
また、プレフィックス長が４ビット、１６ビットの倍数でない場合には、下位のビットが全て「０」である数で表現する。つまり、ＩＰｖ６の場合、ＩＰアドレスの１２８ビットを、４ビットずつに区切って１６進数（０〜９、Ａ〜Ｆ）で表記し、上位から４個ずつのブロックとして：で区切り記述するので、３２桁の文字・数字列になり、３２桁も書くのが煩雑であるので、プレフィックスが４８ビットであれば、１２個の文字・数字列だけを記述し、／ｎでプレフィックスのビット長を表記する。
【００４３】
たとえば、プレフィックス長ｎが「６」であり、ビット表現で、「０１１０  ０１」のものは、下位のビットを全て「０」とした「０１１０  ０１００  ００００  ００００」とし、「６４００：：／６」のように表す。
【００４４】
次に、上記実施例におけるアドレス付与処理について説明する。
【００４５】
図３は、上記実施例におけるアドレス付与処理を示すフローチャートである。
【００４６】
上記のように、プレフィックス長ｎを割り当てることによって、ルータ１０に接続されているサブネットワーク上のコンピュータ３０が起動され、アドレス取得要請を受ける（Ｓ１１）と、コンピュータ３０が接続されているルータのポートに、追加プレフィックスが割り当てられているか否かを判定する（Ｓ１２）。
【００４７】
この判定（Ｓ１２）で、ポートのプレフィックスが割り当てられていれば、プレフィックスが決定され（Ｓ３１）、アドレス要請されたコンピュータのアドレスを割り当てる（Ｓ３２）。
【００４８】
決定されたプレフィックスに基づいてアドレスを割り当てる場合、上記ＩＰｖ６を例にとると、下位７７ビット分のアドレス割付が可能であるので、最下位ビットから順に１ビットずつ加算し、１２８ビットのアドレスとして付与する。
【００４９】
上記判定（Ｓ１２）で、ポートのプレフィックスが割り当てられていなければ、ルータ１０に、プレフィックスが割り当てられているか否かを判定する（Ｓ１３）。ここで、ルータ１０にプレフィックスが割り当てられていれば、プレフィックスを取得し（Ｓ２１）、割り当てられていなければ、ポートのプレフィックスが割り当てられているかどうかを，ルータ１０に問い合わせる（Ｓ１４）。さらに、上位ルータで、プレフィックスが割り当てられているか否かを判定し（Ｓ１５）、プレフィックスが割り当てられているルータにたどり着くまで、上位ルータに問い合わせる動作（Ｓ１４）を繰り返す。
【００５０】
上位ルータに問い合わせ、プレフィックスが割り当てられていれば、そのプレフィックスを取得し（Ｓ２１）、該当ポートのプレフィックスを割り当てる（Ｓ２２）。
【００５１】
次に、このルータ１０のポートが、コンピュータ３０が接続されているポートであることを確認し（Ｓ２３）、コンピュータ３０が接続されているポートでなければ、下位のルータに問い合わせ（Ｓ２４）、該当のポートのプレフィックスを割り当てる（Ｓ２２）。コンピュータ３０が接続されているポートになるまで、上記問い合わせを繰り返し、該当ポートになったら、プレフィックスが決定され（Ｓ３１）、アドレス要請されたコンピュータのアドレスを割り当てる（Ｓ３２）。
【００５２】
上記処理によって、サブネットワーク上の全ての端末（コンピュータ等の端末）に、ユニークなアドレスを自動的に割り当てることができる。
【００５３】
次に、ルータ１０のポート１２に接続されているコンピュータ３０と、ルータ２０のポート２１に接続されているコンピュータ４０とに、アドレスを具体的に割り当てる動作について説明する。
【００５４】
ルータ１０のプレフィックスは、「Ｃ０Ａ８：０１８６：０１０１：：／４８」であるとする。
【００５５】
まず、ルータ１０のポート１２に接続されているコンピュータ３０が起動され、アドレス取得要請すると（Ｓ１１）、ルータ１０のポート１２は、まだ、追加プレフィックスが割り当てられていない（Ｓ１２）ので、ルータ１０のプレフィックスを確認し（Ｓ１３）、ルータ１０のプレフィックス「Ｃ０Ａ８：０１８６：０１０１：：／４８」を取得する（Ｓ２１）。
【００５６】
次に、ルータ１０のポート１２に、追加プレフィックス「０１１」という３ビットを割り当て（Ｓ２２）、このポート１２のプレフィックス「Ｃ０Ａ８：０１８６：０１０１：３０００：：／５１」が決定される（Ｓ３１）。そして、このプレフィックスに基づいて、コンピュータ３０のアドレスが割り当てられる（Ｓ３２）。
【００５７】
次に、ルータ２０のポート２１に接続されているコンピュータ４０が起動され、アドレス取得要請すると（Ｓ１１）、ルータ２０のポート２１には、まだ追加プレフィックスが割り当てられていない（Ｓ１２）ので、ルータ２０のプレフィックスを確認する（Ｓ１３）。
【００５８】
ここで、ルータ２０のプレフィックスは、まだ割り当てられていないので、上位のルータ１０に問い合わせる（Ｓ１４）。ルータ１０は、プレフィックスが割り当てられている（Ｓ１５）ので、ルータ１０のプレフィックス「Ｃ０Ａ８：０１８６：０１０１：：／４８」を、ルータ２０が取得する（Ｓ２１）。
【００５９】
次に、ルータ１０のポート１１の追加プレフィックスに、「００１」という３ビットを割り当て（Ｓ２２）、ポート１１のプレフィックス「Ｃ０Ａ８：０１８６：０１０１：２０００：：／５１」が決定される。続いて、下位ルータ２０の処理に戻り（Ｓ２３，Ｓ２４）、ルータ２０のポート２１の追加プレフィックスに、「０１」という２ビットを割り当てる（Ｓ２２）。
【００６０】
なお、ルータ２０が上位ネットワーク（ルータ１０）から付与されたプレフィックスが、５１ビットであり、ルータ２０のポート数が、２個であるので、上記と同じ計算を行うと、追加プレフィックス長は、２ビット、この２ビットをポート２１では「０１」として、ポート２２では「１１」として使用、したがって、ルータ２０の各ポートから下位ネットワークに付与するプレフィックスは５３ビットであり、ポート２１に関しては、ポート１１の３ビット（「００１」）に、さらに２ビット（「０１」）が追加される。したがって、２進数にすると、００１０  １０００  ００００  ００００となり、１６進数表記に戻すと、２８００となり、上位４８ビットとあわせ、ＣＯＡ８：１８６：０１０１：２８００：：／５３となる。
【００６１】
次に、このポート２１は、コンピュータ４０が接続されているルータ２０のポート２１であるので（Ｓ２３）、このポート２１のプレフィックス「Ｃ０Ａ８：０１８６：０１０１：２８００：：／５３」が決定される（Ｓ３１）。そして、このプレフィックスに基づいて、コンピュータ４０のアドレスが割り当てられる（Ｓ３２）。
【００６２】
つまり、上記実施例は、与えられた許容アドレス空間の中で、一意性を保つように下位に伝播させる実施例である。たとえば、電話番号６桁で説明すると、東京の総括交換機に許容アドレス空間として０３＊＊＊＊が与えられたとし、下位の交換機が３つ（交換機Ａ−Ｃ）であるとすると、０３０＊＊＊が総括交換機の電話番号であり（ルータでは、自身のアドレスが必要である）、０３１＊＊＊が交換機Ａの電話番号であり、０３２＊＊＊が交換機Ｂの電話番号であり、０３３＊＊＊が交換機Ｃの電話番号であるというように、電話番号の許容アドレスを割り振る。そして、交換機Ａ配下に交換機ａがあれば、０３１０＊＊が交換機Ａの電話番号であり、０３１１＊＊が交換機ａの電話番号である。
【００６３】
上記実施例によれば、サブネットワーク上の全ての端末に、ユニークなアドレスを自動的に付与することができる。つまり、上記実施例において、システム管理者が、ネットワーク構成に基づいて、プレフィックス長を考えてサブネットワーク設計をしなくても、サブネットワーク内の各端末に、異なるアドレスを自動的に付与する。
【００６４】
また、上記実施例によれば、追加プレフィックス長のビット数で、当該ルータの全てのポートを、異なる追加プレフィックスで表し、上記プレフィックスに、上記追加プレフィックスを追加したものを、上記各ポートの下位のサブネットワークのプレフィックスとするので、ルータのポート毎に異なる追加プレフィックスを割り振り、階層化したプレフィックスを割り当てることができ、簡単で確実にサブネットワーク内の全ての端末に異なるアドレスを付与することができる。
【００６５】
上記「異なる追加プレフィックス」は、上記例では、各４個のポートに対して、追加プレフィックス３ビットを、以下のように付与することを意味する。なお、ｘは、上位から付与された４８ビットの固定値である。
【００６６】
つまり、
ポート１には、ｘｘｘｘｘｘｘｘｘｘｘｘｘｘｘｘｘｘｘｘｘｘｘｘｘｘｘｘｘｘｘｘｘｘｘｘｘｘｘｘｘｘｘｘｘｘｘｘ００１
ポート２には、ｘｘｘｘｘｘｘｘｘｘｘｘｘｘｘｘｘｘｘｘｘｘｘｘｘｘｘｘｘｘｘｘｘｘｘｘｘｘｘｘｘｘｘｘｘｘｘｘ０１１
ポート３には、ｘｘｘｘｘｘｘｘｘｘｘｘｘｘｘｘｘｘｘｘｘｘｘｘｘｘｘｘｘｘｘｘｘｘｘｘｘｘｘｘｘｘｘｘｘｘｘｘ１０１
ポート４には、ｘｘｘｘｘｘｘｘｘｘｘｘｘｘｘｘｘｘｘｘｘｘｘｘｘｘｘｘｘｘｘｘｘｘｘｘｘｘｘｘｘｘｘｘｘｘｘｘ１１１
である。
【図面の簡単な説明】
【００６７】
【図１】本発明の実施例１であるルータ１０を含むネットワークシステムＮＳ１の概略を示す図である。
【図２】ルータ１０におけるサブネットワークのプレフィックス長の算出動作を示すフローチャートである。
【図３】上記実施例におけるアドレス付与処理を示すフローチャートである。
【符号の説明】
【００６８】
１０、２０…ルータ、
３０、４０…コンピュータ。
【図１】
2005151059.tif 000003
【図２】
2005151059.tif 000004
【図３】
2005151059.tif 000005