(57)【要約】【課題】ネットワークサービスとの関連性を客観的に示すＩＰアドレスを生成して自身に設定することで、他の機器からネットワークサービスを発見するのが容易になるとともに、フィルタリング、ルーティング、ＩＰｓｅｃ等の設定をネットワークサービス毎に行いやすくすることのできるネットワーク機器を提供する。【解決手段】ユーザの要求に応じて所定のネットワークサービスを提供するネットワーク機器であって、そのネットワークサービスと関連性を有する値より生成し、かつそのネットワークサービスを客観的に示す、ＩＰアドレスを生成する手段と、生成したＩＰアドレスを自身に設定し、そのＩＰアドレスでネットワークサービスを提供する手段とを備える。【選択図】図３
2008099251.tif 000002
【特許請求の範囲】
【請求項１】
ユーザの要求に応じて所定のネットワークサービスを提供するネットワーク機器であって、
そのネットワークサービスと関連性を有する値より生成し、かつそのネットワークサービスを客観的に示す、ＩＰアドレスを生成する手段と、
生成したＩＰアドレスを自身に設定し、そのＩＰアドレスでネットワークサービスを提供する手段とを備えたことを特徴とするネットワーク機器。
【請求項２】
請求項１に記載のネットワーク機器において、
上記のＩＰアドレスを生成する手段は、ＩＰアドレスの一部に補助的なアドレスを埋め込んでＩＰアドレスを生成することを特徴とするネットワーク機器。
【請求項３】
請求項１または２のいずれか一項に記載のネットワーク機器において、
生成し自身に設定するＩＰアドレスは、ＴＣＰないしはＵＤＰのポート番号をＩＰｖ６アドレスのサフィクス部に埋め込んだＩＰアドレスであることを特徴とするネットワーク機器。
【請求項４】
請求項１乃至３のいずれか一項に記載のネットワーク機器において、
生成したＩＰアドレスを自身に設定する際に、そのＩＰアドレスが既に他の機器で利用されているかどうかを判断する手段と、
既に利用されている場合は重複したＩＰアドレスのサフィクス部の一部の数値を変更する手段と、
再度ＩＰアドレスの重複確認を行う手段とを備えたことを特徴とするネットワーク機器。
【請求項５】
請求項３に記載のネットワーク機器において、
ＩＰｖ６アドレスのサフィクス部にポート番号を埋め込む際、ポート番号をＢＣＤ変換する手段と、
変換後の値をＩＰｖ６アドレスのサフィクス部に埋め込む手段とを備えたことを特徴とするネットワーク機器。
【請求項６】
ユーザの要求に応じて所定のネットワークサービスを提供するネットワーク機器の制御方法であって、
そのネットワークサービスと関連性を有する値より生成し、かつそのネットワークサービスを客観的に示す、ＩＰアドレスを生成する工程と、
生成したＩＰアドレスを自身に設定し、そのＩＰアドレスでネットワークサービスを提供する工程とを備えたことを特徴とするＩＰアドレス設定制御方法。
【請求項７】
請求項６に記載のＩＰアドレス設定制御方法において、
上記のＩＰアドレスを生成する工程は、ＩＰアドレスの一部に補助的なアドレスを埋め込んでＩＰアドレスを生成することを特徴とするＩＰアドレス設定制御方法。
【請求項８】
請求項６または７のいずれか一項に記載のＩＰアドレス設定制御方法において、
生成し自身に設定するＩＰアドレスは、ＴＣＰないしはＵＤＰのポート番号をＩＰｖ６アドレスのサフィクス部に埋め込んだＩＰアドレスであることを特徴とするＩＰアドレス設定制御方法。
【請求項９】
請求項６乃至８のいずれか一項に記載のＩＰアドレス設定制御方法において、
生成したＩＰアドレスを自身に設定する際に、そのＩＰアドレスが既に他の機器で利用されているかどうかを判断する工程と、
既に利用されている場合は重複したＩＰアドレスのサフィクス部の一部の数値を変更する工程と、
再度ＩＰアドレスの重複確認を行う工程とを備えたことを特徴とするＩＰアドレス設定制御方法。
【請求項１０】
請求項８に記載のＩＰアドレス設定制御方法において、
ＩＰｖ６アドレスのサフィクス部にポート番号を埋め込む際、ポート番号をＢＣＤ変換する工程と、
変換後の値をＩＰｖ６アドレスのサフィクス部に埋め込む工程とを備えたことを特徴とするＩＰアドレス設定制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はサーバ機能を持ったネットワーク機器に関する。
【背景技術】
【０００２】
現在ＩＰ（Internet Protocol）を使ったネットワーキングが流行しており、多くの機器でＩＰが採用されている。ＩＰはインターネット（Internet）での使用を前提として構築されたが、現在これは構内網にも広く応用され、多くの人々がＩＰの恩恵に預かっている。
【０００３】
ＩＰではＩＰアドレスを利用して通信する。図１に示すように、通信したいネットワーク機器＃１は相手のネットワーク機器＃２のＩＰアドレスを何らかの手段で知り、自身のＩＰアドレスから、その宛先のＩＰアドレスに対してパケットを送受信して通信を実現する。
【０００４】
現在もっとも一般に使用されているＩＰはＩＰｖ４（Internet Protocol version 4）である。このＩＰでは、ＩＰアドレスが約４２億個用意されている。つまり、４２億個のネットワーク機器が相互に通信可能であると言うことになる。しかしながら、世界中の人口が既に６０億人を越えた現在、ＩＰｖ４では一人１台のネットワーク機器を持つこともできないことになる。しかし、実際には、一人何台ものＩＰ機器を使用するのが通常である。例えば、会社内において一人で１台のＰＣ（Personal Computer）を持ち、自宅にもＰＣを持つ。ＰＣの他にもＩＰ通信可能な携帯電話を持ち、ＩＰ通信可能なデジカメ、ビデオデッキ、ホームサーバなどの家電製品を使う可能性もある。このような状況では、４２億個というＩＰｖ４のアドレス数は非常に少ない。
【０００５】
この様な問題を解決するため、ＩＰｖ６（Internet Protocol version 6）という新しいＩＰが提案された。従来のＩＰｖ４のアドレスの長さは３２ｂｉｔであり、アドレス数は４２億個であったが、ＩＰｖ６ではアドレス長を１２８ｂｉｔに拡張した。これにより、利用できるアドレス数は天文学的数値になり、事実上無限に近い機器を利用可能になった。
【０００６】
これによって、ＩＰｖ６では、従来ＩＰを利用できなかった雑多な機器にもＩＰアドレスが割り振られるようになったほか、従来は１個の機器に対して１個のＩＰアドレスが割り振られていたのに対して、ＩＰｖ６では１個の機器に複数のＩＰアドレスを割り振ることも検討されている。
【０００７】
ＩＰｖ６のアドレスは、管理上、構造を２分割した管理をしている。具体的には、図２に示すように、１２８ｂｉｔのＩＰアドレスのうち、上半分である上位６４ｂｉｔをプレフィクスと呼び、下位６４ｂｉｔをサフィクスと呼ぶ。
【０００８】
ＩＰｖ６環境では、特殊なケースを除いて一般的には、ＩＰアドレスは自動設定されるものとして考えられている。ＩＰアドレスの自動設定では、プレフィクスとサフィクスを別々に決定して、それらを組み合わせて１２８ｂｉｔの新たなＩＰアドレスとする。
【０００９】
リンクローカルアドレスと呼ばれるＩＰｖ６アドレスの場合、プレフィクスは固定値であり、ＩＰｖ６の仕様として既に決まっている。それは「ｆｅ８０：００００：００００：００００：：／６４」という値である。また、グローバルアドレスを決定するためには、多くの場合、ネットワーク上を流れるＲＡ（Router Advertisement）というパケットに記載された情報に従う。ＲＡの中には、そのネットワーク内で有効なプレフィクスが記載されていて、その情報から各機器が設定すべきプレフィクスを得る。
【００１０】
サフィクスについては、各機器が決定するが、多くの場合、自身のＭＡＣ（Media Access Control）アドレスをベースにしてＩＰアドレスを設定する。通常、ＭＡＣアドレスはＥＵＩ(Extended Unique Identifier)−４８という４８ｂｉｔの番号体系に従って管理されている。ＥＵＩ−４８に従えば、従った物の間ではユニークであることが保証される。このため、世界中のＮＩＣ（Network Interface Card）のあいだで、ＭＡＣアドレスの衝突が起り得ないようになっている。
【００１１】
そして、ＥＵＩ−４８の上位規格としてＥＵＩ−６４がある。ＥＵＩ−４８に従った番号体系は、ＥＵＩ−６４にもマッピングされるようになっており、ＥＵＩ−４８の数値は、ＥＵＩ−６４の数値に変換されることが可能である。
【００１２】
これを利用して、ＭＡＣアドレスからＥＵＩ−６４という６４ｂｉｔの数値を生成し、それをサフィクスとする。
【００１３】
以上の手順でプレフィクスとサフィクスが生成され、それらを結合することで１２８ｂｉｔの数値が生成される。これをＩＰｖ６アドレスとして、自身に設定する。
【００１４】
なお、出願人は出願時点までに本発明に関連する公開された先行技術文献を発見することができなかった。よって、先行技術文献情報を開示していない。
【発明の開示】
【発明が解決しようとする課題】
【００１５】
ところで、ネットワーク機器はユーザの要求に応じて何らかのネットワークサービスを提供するものであるが、従来、そのネットワーク機器のＩＰアドレスは管理者により任意に定められたＩＰｖ４アドレスであったり、上述したようにＭＡＣアドレスをベースにして自動設定されたＩＰｖ６アドレスであったりしたため、サービスを要求する側の他の機器からサービスを発見するのが困難であるという問題があった。
【００１６】
また、サービスとＩＰアドレスとが直接の関連性を持っていなかったため、フィルタリング、ルーティング、ＩＰｓｅｃ（Security Architecture for Internet Protocol）等の設定を個別にＩＰアドレス毎に行わなければならず、操作が煩雑であるという問題があった。
【００１７】
本発明は上記の従来の問題点に鑑み提案されたものであり、その目的とするところは、ネットワークサービスとの関連性を客観的に示すＩＰアドレスを生成して自身に設定することで、他の機器からネットワークサービスを発見するのが容易になるとともに、フィルタリング、ルーティング、ＩＰｓｅｃ等の設定をネットワークサービス毎に行いやすくすることのできるネットワーク機器を提供することにある。
【課題を解決するための手段】
【００１８】
上記の課題を解決するため、本発明にあっては、請求項１に記載されるように、ユーザの要求に応じて所定のネットワークサービスを提供するネットワーク機器であって、そのネットワークサービスと関連性を有する値より生成し、かつそのネットワークサービスを客観的に示す、ＩＰアドレスを生成する手段と、生成したＩＰアドレスを自身に設定し、そのＩＰアドレスでネットワークサービスを提供する手段とを備えるネットワーク機器を要旨としている。
【００１９】
また、請求項２に記載されるように、請求項１に記載のネットワーク機器において、上記のＩＰアドレスを生成する手段は、ＩＰアドレスの一部に補助的なアドレスを埋め込んでＩＰアドレスを生成するようにすることができる。
【００２０】
また、請求項３に記載されるように、請求項１または２のいずれか一項に記載のネットワーク機器において、生成し自身に設定するＩＰアドレスは、ＴＣＰないしはＵＤＰのポート番号をＩＰｖ６アドレスのサフィクス部に埋め込んだＩＰアドレスであるものとすることができる。
【００２１】
また、請求項４に記載されるように、請求項１乃至３のいずれか一項に記載のネットワーク機器において、生成したＩＰアドレスを自身に設定する際に、そのＩＰアドレスが既に他の機器で利用されているかどうかを判断する手段と、既に利用されている場合は重複したＩＰアドレスのサフィクス部の一部の数値を変更する手段と、再度ＩＰアドレスの重複確認を行う手段とを備えるようにすることができる。
【００２２】
また、請求項５に記載されるように、請求項３に記載のネットワーク機器において、ＩＰｖ６アドレスのサフィクス部にポート番号を埋め込む際、ポート番号をＢＣＤ変換する手段と、変換後の値をＩＰｖ６アドレスのサフィクス部に埋め込む手段とを備えるようにすることができる。
【００２３】
また、請求項６〜１０に記載されるように、ＩＰアドレス設定制御方法として構成することができる。
【発明の効果】
【００２４】
本発明のネットワーク機器にあっては、ネットワークサービスとの関連性を客観的に示すＩＰアドレスを生成して自身に設定するため、ネットワークサービスからＩＰアドレスが類推しやすくなり、他の機器からネットワークサービスを発見するのが容易になるとともに、フィルタリング、ルーティング、ＩＰｓｅｃ等の設定をネットワークサービス毎に行いやすくすることができる。
【発明を実施するための最良の形態】
【００２５】
以下、本発明の好適な実施形態につき説明する。
【００２６】
＜基本的処理＞
本発明では、あるネットワーク機器が、サーバとしてネットワークサービスの提供を開始するとき、そのサービス専用のサフィクスを持つＩＰアドレスを自身に割り振って、そのＩＰアドレスを使ってサービスを提供するものである。あるいは、そのネットワーク機器が、サーバとしてネットワークサービスの提供を開始するとき、そのサービスから類推可能なサフィクスを持つＩＰアドレスを自身に割り振って、そのＩＰアドレスを使ってサービスを提供するものである。
【００２７】
図３は本発明の各実施形態に共通な基本的な処理例を示すフローチャートである。
【００２８】
図３において、その機器が新たなサービスを提供する場合（ステップＳ１）、そのサービスに適するサフィクスを自身で選び（ステップＳ２）、そのサフィクスを持ったＩＰアドレスを自身に設定し（ステップＳ３）、そのＩＰアドレスで目的のサービスを提供する（ステップＳ４）ものである。
【００２９】
これによって、下記のような利点が生じる。
（１）あるサービスを利用したいとき、そのサービスについて公知ないしは類推可能なＩＰアドレスでサービスが提供されるため、他の機器からサービスを発見するのが容易になる。
（２）サービス毎にＩＰアドレスが変えられるため、フィルタリング、ルーティング、ＩＰｓｅｃの設定がサービス毎に行いやすい。
【００３０】
＜第１の実施形態＞
前述したように、本発明では、ユーザに提供するネットワークサービス一つ一つにＩＰアドレスを割り振り、そのサービスを利用するときは専用のＩＰアドレスに接続するという方式を提案するものである。
【００３１】
これを実現するため、第１の実施形態では、サーバがサービスを提供する際、サービスを提供するポート番号（ＴＣＰ（Transmission Control Protocol）ないしはＵＤＰ（User Datagram Protocol）のポート番号）をサーバが固定値で持ち、このポート番号の数値をサフィクスに埋め込み、そのサフィクスを持つＩＰアドレスでサービスを提供するものとする。
【００３２】
図４は本発明の第１の実施形態におけるポート番号を埋め込んだサフィクスを持つＩＰアドレスの例を示す図である。
【００３３】
例えば、ＨＴＴＰ（Hyper Text Transfer Protocol）のサービスを提供する場合、ＨＴＴＰのｗｅｌｌ−ｋｎｏｗｎポートは「８０」である。ＨＴＴＰのサービスを提供する場合、そのサーバが、この値をサフィクスに持つＩＰアドレスを自身に設定し、そのＩＰアドレスでサービスを提供する。これにより、ＨＴＴＰサービスを提供するホストのＩＰアドレスが容易に発見できることになる。
【００３４】
なお、このような機能を持たない、従来のシステムの構成を図５に示す。従来の基本的なシステムでは、ハードウェアがあり、それを抽象化するＯＳ（Operating System）があり、さらに上位にはユーザプログラムから計算機リソースを利用するための基本ライブラリがある。そして、さらに上位にユーザプログラムがある。
【００３５】
このような従来のシステムで、ｓｏｃｋｅｔと呼ばれる現在一般化しているネットワークサービスＡＰＩ（Application Program Interface）を持っている環境において、ネットワークサービスを提供するサーバプロセスを開始する処理は図６に示すようになる。
【００３６】
図６において、ユーザプログラムであるサーバプロセスは、基本ライブラリに対して、ｓｏｃｋｅｔ生成（ステップＳ１１）、ポート割り付け（ステップＳ１２）、接続要求受付開始（ステップＳ１３）を順次に要求する。そして、この基本ライブラリで受け取った情報を元に、ＯＳはネットワークリソースの確保と使用開始を行う（ステップＳ１４）。
【００３７】
従来のこのシステムの中では、ユーザのサービスポートに応じて、ＩＰアドレスを新たに割り振るなどの手順は用意されていない。本発明ではその手順を提供している。
【００３８】
図７は本発明の第１の実施形態におけるネットワーク機器のソフトウェア構成例を示す図である。
【００３９】
図７において、ネットワーク機器１には、ハードウェア１１があり、それを抽象化するＯＳ１２があり、さらに上位から計算機リソースを利用するための基本ライブラリ１３がある。そして、その上位にはＩＰアドレスを自動的に割り振る自動ＩＰアドレス割り振りレイヤ１４があり、さらに上位にユーザプログラム１５がある。すなわち、従来の構成にある基本ライブラリとユーザプログラムの間に自動ＩＰアドレス割り振りレイヤ１４を配置したものである。この自動ＩＰアドレス割り振りレイヤ１４では、ユーザプログラム１５がサービス提供開始を望むポートを知り、そのポートに応じたＩＰアドレスを自動的に割り振り、そのＩＰアドレスでサービスを開始させる。
【００４０】
図８は図７のネットワーク機器による処理例を示すフローチャートである。
【００４１】
図８において、ユーザがサーバ生成を希望した場合（ステップＳ２１）、そのサーバが使うポート番号を得て、その値に応じた６４ｂｉｔの数列を生成し、その数列をサフィクスとしたＩＰアドレスを生成する（ステップＳ２２）。そして、生成したＩＰアドレスを自身に設定する（ステップＳ２３）。
【００４２】
次いで、ＩＰアドレスの設定に成功したか否か判断し（ステップＳ２４）、失敗した場合はエラー終了する（ステップＳ２５）。
【００４３】
設定に成功した以降は、そのＩＰアドレスでのｌｉｓｔｅｎを前提にしたｓｏｃｋｅｔ生成を行い（ステップＳ２６）、ｓｏｃｋｅｔにポート番号とＩＰアドレスをｂｉｎｄし（ステップＳ２７）、そのｓｏｃｋｅｔを使って、サービスを提供する（ステップＳ２８、Ｓ２９）。
【００４４】
図９は図７のソフトウェア構成による処理例を示すシーケンス図である。
【００４５】
図９において、ユーザプログラム１５は、自動ＩＰアドレス割り振りレイヤ１４に対して、ポートを指定してｌｉｓｔｅｎすることを要求する（ステップＳ３１）。
【００４６】
すると、自動ＩＰアドレス割り振りレイヤ１４の中で、ＩＰアドレスの生成（ステップＳ３２）と設定（ステップＳ３３）、ｓｏｃｋｅｔの生成（ステップＳ３４）、ｂｉｎｄ（ステップＳ３５）、ｌｉｓｔｅｎ（ステップＳ３６）を実施する。これらは基本ライブラリ１３を経由して、ＯＳ１２に対して操作され、ＯＳ１２ではＩＰアドレスの設定（ステップＳ３７）、ｓｏｃｋｅｔリソースの利用（ステップＳ３８）を行う。
【００４７】
以上の手順で、ユーザプログラム１５が希望するサーバポート番号に応じたＩＰアドレスで、サーバプログラムが動作することになる。
【００４８】
これにより、図４に示すＩＰアドレスが割り振られ、そのＩＰアドレスでのサービスが開始される。
【００４９】
＜第２の実施形態＞
上述した第１の実施形態では、ユーザランドの中間ソフトウェアである自動ＩＰアドレス割り振りレイヤ１４によってＩＰアドレスの自動割り振りを実現していたが、本実施形態ではＯＳ１２の内部でこのような処理を実現するようにしている。
【００５０】
図１０は本発明の第２の実施形態におけるネットワーク機器のソフトウェア構成例を示す図であり、自動ＩＰアドレスの割り振りを行う自動ＩＰアドレス割り振りレイヤ１４をＯＳ１２内に包含する。ＯＳ１２はサーバ用ソケットの生成要求を受けたら、それに応じて新たなＩＰアドレスを用意し、そのアドレスで接続要求受付を開始する。
【００５１】
図１１は図１０のソフトウェア構成によるネットワークサーバ作成の処理例を示すシーケンス図であり、ユーザプログラム１５から基本ライブラリ１３を介して通常通りサーバ生成の要求が来たら（ステップＳ４１〜Ｓ４４）、ＯＳ１２側で自動的にＩＰアドレスを自身に設定し（ステップＳ４５）、そこでのｌｉｓｔｅｎを行うようにする（ステップＳ４６）。
【００５２】
図１２は図１０のソフトウェア構成によるＯＳ内でのlisten処理の例を示すフローチャートである。
【００５３】
図１２において、ユーザプログラム１５からサーバプログラム立ち上げの要求が来たら（ステップＳ５１）、新たなＩＰアドレスを生成し（ステップＳ５２）、それが同一ネットワーク内で重複しているかどうかの調査を行う（ステップＳ５３、Ｓ５４）。
【００５４】
重複していなければそのアドレスを自身のＩＰアドレスとして設定し（ステップＳ５５）、重複すれば新たなＩＰアドレスを生成し（ステップＳ５２）、再度重複チェックを行う（ステップＳ５３、Ｓ５４）。
【００５５】
次いで、ＩＰアドレスの設定に成功したか否か判断し（ステップＳ５６）、失敗した場合はエラー終了する（ステップＳ５７）。
【００５６】
成功した場合、ソケットリソースを確保し（ステップＳ５８）、ポート番号とＩＰアドレスをバインドし（ステップＳ５９）、ｌｉｓｔｅｎする（ステップＳ６０、Ｓ６１）。
【００５７】
なお、生成したＩＰアドレスが既に使用済であった場合の処理（ステップＳ５２）としては、ポート番号以外の部分の値をインクリメント（１を足すこと）して新たなＩＰアドレスとする。このアドレスについても重複した場合、さらにインクリメントして、新たなＩＰアドレスとする。これを繰り返して、ネットワーク上で未使用のユニークなＩＰアドレスを発見し、自身に設定する。その様子を図１３に示す。図１３では、プレフィクス「ｆｅ８０：００００：００００：００００」、サフィクス「００００：００００：００００：００５０」のＩＰアドレスが既にネットワーク上にあった場合、サフィクスを「００００：００００：０００１：００５０」に変更している。
【００５８】
＜第３の実施形態＞
先の第１および第２の実施形態では、ＩＰアドレスのサフィクスの一部にポート番号の値を入れた新たなＩＰアドレスを扱うという考え方であった。しかしながら、この方策では、ユーザの目から見て非常に判りづらい。何故なら、ポート番号は通常１０進数で表されるのに対して、ＩＰｖ６アドレスは１６進数で表される。このため、ＩＰｖ６アドレスをユーザが見ても、何のサービスを提供しているかが判りにくい。例えば、ユーザがポート「８０」でＨＴＴＰサービスを提供する場合、ＩＰアドレスには１６進数で「５０Ｈ」という数値が含まれるようになる。これでは、ポート「８０」のＨＴＴＰサービスを提供しているとは気付きにくい。ポート「２３」のｔｅｌｎｅｔを提供している場合、ＩＰアドレスには、「１７」という数字が割り振られ、これも非常に判りづらいものとなってしまう。
【００５９】
そこで、本実施形態ではこの問題を解決するため、従来のポート番号からＩＰアドレスのサフィクスに含まれる数値を算出する場合、従来通り値をそのまま封入するのではなく、ＢＣＤ（Binary Coded Decimal：２進化１０進数）によって変換をし、変換された値をサフィクスに挿入するようにしている。
【００６０】
ソフトウェア構成としては、図７もしくは図１０のいずれの構成であってもよい。
【００６１】
図１４は本発明の第３の実施形態におけるＢＣＤ化したポート番号をサフィクスに入れる処理の例を示すフローチャートである。
【００６２】
図１４において、ユーザプログラム１５からサーバプログラム立ち上げの要求が来たら（ステップＳ７１）、そのポート番号値をＢＣＤ変換し（ステップＳ７２）、新たなＩＰアドレスを生成する（ステップＳ７３）。そして、それが同一ネットワーク内で重複しているかどうかの調査を行う（ステップＳ７４、Ｓ７５）。
【００６３】
重複していなければそのアドレスを自身のＩＰアドレスとして設定し（ステップＳ７６）、重複すれば新たなＩＰアドレスを生成し（ステップＳ７３）、再度重複チェックを行う（ステップＳ７４、Ｓ７５）。
【００６４】
次いで、ＩＰアドレスの設定に成功したか否か判断し（ステップＳ７７）、失敗した場合はエラー終了する（ステップＳ７８）。
【００６５】
成功した場合、ソケットリソースを確保し（ステップＳ７９）、ポート番号とＩＰアドレスをバインドし（ステップＳ８０）、ｌｉｓｔｅｎする（ステップＳ８１、Ｓ８２）。
【００６６】
以前のＩＰアドレス設定処理は、図１２に記載した通りである。その方式では、ポート「８０」のＨＴＴＰサービスを提供すると、１６進数表記を行うＩＰｖ６アドレスにおいて、「５０」という数字がサフィクスに封入される。その様子が図１３である。対して、図１４の処理を利用すると、図１５に示すように、ポート番号が「８０」の場合、１６進数のＩＰｖ６アドレスの中に含まれる数値が「８０」となり、見掛け上、１０進数で表現されたポート「８０」と同一の文字になる。同様に、ポート番号が「８０８０」の場合、１６進数のＩＰｖ６アドレスの中に含まれる数値が「８０８０」となる。このようにして、ユーザにとって慣習的な１０進数によるポート番号が１６進数のＩＰアドレスに直接記載されるため、ユーザの視認性を高めることができ、非常に扱いやすく感じられるようになる。
【００６７】
＜第４の実施形態＞
第４の実施形態では、トランスポート種別とポート番号に応じて予めサフィクスをテーブルで対応付けておき、ｓｏｃｋｅｔがオープンされたときにテーブルから該当するＩＰアドレスを選択して設定するようにしたものである。
【００６８】
図１６はサフィクスリストの例を示す図であり、「トランスポート種別」と「ポート番号」と「サフィクス」が対応付けられて保持されている。ここでは、トランスポート種別「ＴＣＰ」、ポート番号「１００００」に対してサフィクス「：：１２３：４５６７：８９ａｂ：ｃｄｅｆ」が、トランスポート種別「ＴＣＰ」、ポート番号「８０」に対してサフィクス「：：ａａａａ：ａａａａ：ａａａａ：ａａａａ」が、トランスポート種別「ＴＣＰ」、ポート番号「８０」に対してサフィクス「：：ｂｂｂｂ：ｂｂｂｂ：ｂｂｂｂ：ｂｂｂｂ」が対応付けられた例を示している。
【００６９】
ソフトウェア構成としては、図７もしくは図１０のいずれの構成であってもよい。
【００７０】
図１７は本発明の第４の実施形態における処理例を示すフローチャートである。
【００７１】
図１７において、ユーザプログラム１５がトランスポート種別とポート番号を指定してサーバプログラムを立ち上げることを要求すると（ステップＳ１０１）、自動ＩＰアドレス割り振りレイヤ１４はサフィクスリスト（図１６）の先頭行を取得する（ステップＳ１０２）。
【００７２】
次いで、取得した行のトランスポート種別とポート番号が、ユーザが立ち上げようとしているサーバプログラムのトランスポート種別とポート番号に一致するかどうか比較する（ステップＳ１０３）。
【００７３】
ここで、両者が一致した場合、既存プレフィクスに該当するサフィクスリスト行のサフィクスを設定してＩＰアドレスを生成し、それが同一ネットワーク内で重複しているかどうかの調査（ＤＡＤ）を行う（ステップＳ１０４、Ｓ１０５）。
【００７４】
そして、重複していない場合は生成したＩＰアドレスを自身に設定し（ステップＳ１０６）、生成したＩＰアドレスだけで接続を受け付けるサーバプログラムを起動する（ステップＳ１０７）。
【００７５】
また、ＩＰアドレスが重複している場合は同一アドレスが発見されたことをログに書き込む（ステップＳ１０８）。
【００７６】
次いで、トランスポート種別とポート番号が一致しなかった場合（ステップＳ１０３の不一致）もしくはログへの書き込み（ステップＳ１０８）の後、今比較した行はサフィクスリストの最終行であるか否か確認し（ステップＳ１０９）、最終行ではない場合はサフィクスリストの次の行を取得し（ステップＳ１１０）、トランスポート種別とポート番号の一致比較（ステップＳ１０３）に戻る。
【００７７】
一方、サフィクスリストの最終行である場合、サフィクスリストにトランスポート種別とポート番号が一致する行がなかったり、あってもアドレス重複でサフィクスが使用できない場合、それでもサーバを生成することをユーザが望んでいるか否か確認し（ステップＳ１１１）、サーバを生成することをユーザが望んでいる場合は新たなＩＰアドレスを設定せず、全てのＩＰアドレスで受け取るサーバプログラムを起動する（ステップＳ１１２）。また、サーバを生成することをユーザが望んでいない場合はエラーを出して処理を終了する（ステップＳ１１３）。
【００７８】
例えば、図１６のサフィクスリストの場合、トランスポート種別「ＴＣＰ」、ポート番号「８０」でサーバを生成しようとすると、先ずサフィクスとして「：：ａａａａ：ａａａａ：ａａａａ：ａａａａ」を持つＩＰアドレスを自身に設定しようとする。もし、重複アドレス確認（ＤＡＤ）で既にこのＩＰアドレスが使われていることがわかった場合、表の次の行以降にある同条件のサフィクスで、再度自身に設定しようとする。ここでは「：：ｂｂｂｂ：ｂｂｂｂ：ｂｂｂｂ：ｂｂｂｂ」を設定しようとする。これが設定できる場合、これを設定して、このＩＰアドレスでｌｉｓｔｅｎするサーバプログラムを起動することになる。
【００７９】
＜総括＞
本発明にあっては、ユーザプログラムがネットワークサービスを開始する際に、そのサービスに応じたＩＰアドレスを生成し、そのＩＰアドレスでサービスを提供する機能を持つ。この機能によって、そのネットワーク機器が提供するサービスは、専用のＩＰアドレスによって提供されることになる。つまり、提供するサービスは、各サービスで専用のＩＰアドレスを持ち、そのＩＰアドレスでサービスを提供するようになる。これによって、従来ＩＰアドレスごとに制御されていた、ルーティング、フィルタリング、ＩＰｓｅｃなどの制御を、サービス単位で適用できるようになる。つまり、サーバが提供するサービス一つ一つでルーティング・フィルタリング・ＩＰｓｅｃを設定できるようになる。
【００８０】
また、提供するサービスのポート番号に応じたＩＰアドレスを生成および設定し、そのＩＰアドレスで目的のサービスを提供することによって、あるサービスについて、そのサービスが提供されるＩＰアドレスが容易に特定できるようになる。このため、サービスを利用したいユーザは、ＤＮＳ（Domain Name System）などのシステムを利用することなく、サービスが提供されているＩＰアドレスを容易に特定することができる。これによって、ユーザは容易にサーバが提供するサービスを利用することができるようになる。
【００８１】
また、サーバが新たなサービスを提供する際に、そのサービスに応じたＩＰアドレスを自身に設定しようとするとき、既に他の機器がそのＩＰアドレスを利用しているような状況であっても、そのＩＰアドレスに近いＩＰアドレスを自動設定することができる。この機能によって、同一ネットワーク内でアドレスが重複しても目的の処理を達成できるようになり、機器の信頼性が向上する。また、同一ネットワーク内で同じサービスが複数立ち上がるような場合でも、それらのＩＰアドレスが干渉することなく、同一種類の複数のサービスが共存できるようになる。
【００８２】
また、提供サービスのポート番号をＩＰｖ６アドレスに組み込む際に、ポート番号をＢＣＤ変換して登録することによって、従来通り１０進数表現されるポート番号と、ＩＰｖ６アドレスに１６進数で記載されるポート番号が、見掛け上同じ数値になり、ユーザがＩＰアドレスを視覚的に参照する場合でも、どのようなサービスをそのＩＰアドレスが提供しているか、容易に判断できるようになる。
【００８３】
以上、本発明の好適な実施の形態により本発明を説明した。ここでは特定の具体例を示して本発明を説明したが、特許請求の範囲に定義された本発明の広範な趣旨および範囲から逸脱することなく、これら具体例に様々な修正および変更を加えることができることは明らかである。すなわち、具体例の詳細および添付の図面により本発明が限定されるものと解釈してはならない。
【図面の簡単な説明】
【００８４】
【図１】ＩＰアドレスを使ったＩＰ通信の様子を示す図である。
【図２】ＩＰｖ６アドレスの構造を示す図である。
【図３】本発明の各実施形態に共通な基本的な処理例を示すフローチャートである。
【図４】本発明の第１の実施形態におけるポート番号を埋め込んだサフィクスを持つＩＰアドレスの例を示す図である。
【図５】本発明を適用しない一般的なネットワーク機器のソフトウェア構成例を示す図である。
【図６】図５のソフトウェア構成による処理例を示すシーケンス図である。
【図７】本発明の第１の実施形態におけるネットワーク機器のソフトウェア構成例を示す図である。
【図８】図７のネットワーク機器による処理例を示すフローチャートである。
【図９】図７のソフトウェア構成による処理例を示すシーケンス図である。
【図１０】本発明の第２の実施形態におけるネットワーク機器のソフトウェア構成例を示す図である。
【図１１】図１０のソフトウェア構成によるネットワークサーバ作成の処理例を示すシーケンス図である。
【図１２】図１０のソフトウェア構成によるＯＳ内でのlisten処理の例を示すフローチャートである。
【図１３】生成アドレスが他の機器と重複した場合の対処方法の例を示す図である。
【図１４】本発明の第３の実施形態におけるＢＣＤ化したポート番号をサフィクスに入れる処理の例を示すフローチャートである。
【図１５】ＢＣＤによって設定されるＩＰアドレスの例を示す図である。
【図１６】サフィクスリストの例を示す図である。
【図１７】本発明の第４の実施形態における処理例を示すフローチャートである。
【符号の説明】
【００８５】
１      ネットワーク機器
１１    ハードウェア
１２    ＯＳ
１３    基本ライブラリ
１４    自動ＩＰアドレス割り振りレイヤ
１５    ユーザプログラム
【図１】
2008099251.tif 000003
【図２】
2008099251.tif 000004
【図３】
2008099251.tif 000005
【図４】
2008099251.tif 000006
【図５】
2008099251.tif 000007
【図６】
2008099251.tif 000008
【図７】
2008099251.tif 000009
【図８】
2008099251.tif 000010
【図９】
2008099251.tif 000011
【図１０】
2008099251.tif 000012
【図１１】
2008099251.tif 000013
【図１２】
2008099251.tif 000014
【図１３】
2008099251.tif 000015
【図１４】
2008099251.tif 000016
【図１５】
2008099251.tif 000017
【図１６】
2008099251.tif 000018
【図１７】
2008099251.tif 000019