(57)【特許請求の範囲】
【請求項１】
ネットワーク装置であって、
ネットワークから標準的なプロトコルを用いてデータを受信する受信手段と、
前記データの前記標準的なプロトコルのヘッダにおいて特殊な属性値を検出する検出手段と、
前記データの宛先物理アドレスと前記ネットワーク装置の物理アドレスとが同一であり、前記特殊な属性値が前記検出手段により検出された場合、前記データの宛先論理アドレスを前記ネットワーク装置の論理アドレスとして設定する設定手段とを備えることを特徴とするネットワーク装置。
【請求項２】
前記設定手段は、前記データの宛先論理アドレスと前記ネットワーク装置の論理アドレスとが異なり、かつ、前記宛先物理アドレスが前記ネットワーク装置の物理アドレスとが同一である場合、前記データの宛先論理アドレスを前記ネットワーク装置の論理アドレスとして設定することを特徴とする請求項１に記載のネットワーク装置。
【請求項３】
前記論理アドレスはＩＰアドレスであり、前記物理アドレスはＭＡＣアドレスであることを特徴とする請求項１或いは２に記載のネットワーク装置。
【請求項４】
前記データは、ＩＣＭＰプロトコルによるＩＣＭＰエコーメッセージであることを特徴とする請求項１乃至３のいずれかに記載のネットワーク装置。
【請求項５】
前記属性値は、前記データの全データ長または前記データのＴＴＬ値であることを特徴とする請求項１乃至４のいずれかに記載のネットワーク装置。
【請求項６】
ネットワーク装置であって、
ＩＣＭＰエコーメッセージを受信する受信手段と、
前記ＩＣＭＰエコーメッセージのヘッダにおいてデータ長を検出するデータ長検出手段と、
前記ＩＣＭＰエコーメッセージのＭＡＣアドレスが前記ネットワーク装置のＭＡＣアドレスと同一であり、前記データ長検出手段により検出されたデータ長が特殊な値である場合、前記ＩＣＭＰエコーメッセージの宛先論理アドレスを前記ネットワーク装置の論理アドレスとして設定する設定手段とを備えることを特徴とするネットワーク装置。
【請求項７】
ネットワーク装置であって、
ネットワークから標準的なプロトコルを用いてデータを受信する受信手段と、
前記データの前記標準的なプロトコルのヘッダにおいて特殊な属性値を検出する検出手段と、
前記特殊な属性値が前記検出手段により検出された場合、前記データの宛先アドレスを前記ネットワーク装置のアドレスとして設定する設定手段とを備えることを特徴とするネットワーク装置。
【請求項８】
ネットワークデバイスを制御するネットワークデバイス制御方法であって、
ネットワークから標準的なプロトコルを用いてデータを受信する受信ステップと、
前記データの前記標準的なプロトコルのヘッダにおいて特殊な属性値を検出する検出ステップと、
前記データの宛先物理アドレスと前記ネットワークデバイスの物理アドレスとが同一であり、前記特殊な属性値が前記検出ステップで検出された場合、前記データの宛先論理アドレスを前記ネットワークデバイスの論理アドレスとして設定する設定ステップとを有することを特徴とするネットワークデバイス制御方法。
【請求項９】
ネットワークデバイスを制御するネットワークデバイス制御方法であって、
ＩＣＭＰエコーメッセージを受信する受信ステップと、
前記ＩＣＭＰエコーメッセージのヘッダにおいてデータ長を検出するデータ長検出ステップと、
前記ＩＣＭＰエコーメッセージのＭＡＣアドレスが前記ネットワークデバイスのＭＡＣアドレスと同一であり、前記データ長検出ステップで検出されたデータ長が特殊な値である場合、前記ＩＣＭＰエコーメッセージの宛先論理アドレスを前記ネットワークデバイスの論理アドレスとして設定する設定ステップとを有することを特徴とするネットワークデバイス制御方法。
【請求項１０】
ネットワークデバイスを制御するネットワークデバイス制御方法であって、
ネットワークから標準的なプロトコルを用いてデータを受信する受信ステップと、
前記データの前記標準的なプロトコルのヘッダにおいて特殊な属性値を検出する検出ステップと、
前記特殊な属性値が前記検出ステップで検出された場合、前記データの宛先アドレスを前記ネットワークデバイスのアドレスとして設定する設定ステップとを有することを特徴とするネットワークデバイス制御方法。
【請求項１１】
ネットワークデバイスのコンピュータにより読み取り可能なプログラムが格納された記録媒体であって、前記プログラムは、
ネットワークから標準的なプロトコルを用いてデータを受信する受信ステップと、
前記データの前記標準的なプロトコルのヘッダにおいて特殊な属性値を検出する検出ステップと、
前記データの宛先物理アドレスと前記ネットワークデバイスの物理アドレスとが同一であり、前記特殊な属性値が前記検出ステップで検出された場合、前記データの宛先論理アドレスを前記ネットワークデバイスの論理アドレスとして設定する設定ステップと、をコンピュータに実行させることを特徴とする記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ネットワークに接続されているネットワークデバイス制御装置に関するもので、特にネットワークデバイス制御装置の設定方法に関するものである。
【０００２】
【従来の技術】
近年、コンピュータを相互に接続したローカルネットワーク（ＬＡＮ）が普及しており、様々な場所で、例えば、ビルの１フロアやビル全体、地域、或いはさらに大きなエリアで構築されている。更に、ＬＡＮが相互に接続され、世界規模のネットワークが構築されている。このように相互接続された各ＬＡＮでは、多様なハードウェア相互接続技術と、いくつものネットワークプロトコルが用いられている。
【０００３】
特に、ＬＡＮにおける代表的なネットワークプロトコルとしてＴＣＰ／ＩＰがある。ＴＣＰ／ＩＰは階層化されたネットワークプロトコル群で、ネットワーク層にＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）、ＩＣＭＰ（Ｉｎｔｅｒｎｅｔ  Ｃｏｎｔｒｏｌ  Ｍｅｓｓａｇｅ  Ｐｒｏｔｏｃｏｌ）、ＡＲＰ（Ａｄｄｒｅｓｓ  Ｒｅｓｏｌｕｔｉｏｎ  Ｐｒｏｔｏｃｏｌ）など、トランスポート層にＴＣＰ（Ｔｒａｎｓａｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ）、ＵＤＰ（Ｕｓｅｒ  Ｄａｔａｇｒａｍ  Ｐｒｏｔｏｃｏｌ）などといった標準化されたプロトコルから成り立っている（各プロトコルの詳細やＩＰアドレス体系については、「詳解  ＴＣＰ／ＩＰ」  Ｗ．ＲｉｃｈａｒｄＳｔｅｖｅｎｓ＝著／井上尚司＝監訳・橘康雄＝訳  ソフトバンク（株）発行１９９７年３月３１日初版  を参照のこと）。
【０００４】
ＴＣＰ／ＩＰプロトコルでは、ネットワーク通信を行う場合、ＩＰアドレスというネットワークにおける論理アドレスをネットワークデバイス装置ごとに一意に決める必要がある。ＩＰアドレスは３２ビット（４バイト）で構成されており、一般には３２ビットを８ビットずつに区切って１５０．６１．１４６．１００（０ｘ９６３ｄ９２６４）というように表記される。
【０００５】
このＩＰアドレスをネットワークデバイス装置に設定するために、現在、様々な方法がある。一般に、コンピュータ端末の場合は、コンピュータ端末に付属のキーボードからＩＰアドレスを入力して、そのコンピュータ端末にＩＰアドレスを設定することが可能である。
【０００６】
しかし、キーボードが付属されていないネットワークデバイス装置では、例えば、▲１▼ＤＨＣＰ（Ｄｙｎａｍｉｃ  Ｈｏｓｔ  Ｃｏｎｆｉｇｒａｔｉｏｎ  Ｐｒｏｔｏｃｏｌ）やＢＯＯＴＰ、ＲＡＲＰなどのプロトコルを用いて、ネットワークデバイス装置が電源投入された時に、ネットワークデバイス装置がネットワークのサーバからＩＰアドレスを獲得し、設定する方法、▲２▼ネットワークのコンピュータ端末から、独自プロトコルで、ネットワークデバイス装置にＩＰアドレスを設定する方法などが用いられている。
【０００７】
しかしながら、▲１▼の方法では、ネットワークに必ずサーバが必要であり、また、そのサーバでの設定も行わなければならずユーザにとって負担が大きい。▲２▼の方法では、独自プロトコルを用いて通信するためのコンピュータ端末やそのコンピュータ端末で動作するプログラムが必要であり、これもまたユーザにとって負担が大きい。
【０００８】
こうしたことから、ネットワークデバイス装置にＩＰアドレスを設定する方法として、ネットワークにそれ専用のサーバを設置する必要がなく、かつ、標準的なプロトコルや標準的なプログラムを用いて、ＩＰアドレスを設定する方法が求められている。
【０００９】
そこで、近年では、標準的なプロトコルとしてＩＣＭＰプロトコルを用い、標準的なプログラムとしてｐｉｎｇプログラムを用いて、そのＩＰアドレスを設定する方法が考えられている。ｐｉｎｇプログラムはＩＣＭＰプロトコルのエコー要求メッセージをネットワークデバイス装置に送信し、そのエコー応答メッセージが返ってくるのを待つプログラムである。ＴＣＰ／ＩＰプロトコルが実装されているコンピュータには、おおよそｐｉｎｇプログラムが実装されている。
【００１０】
ｐｉｎｇプログラムから送信されるＩＣＭＰエコー要求メッセージを受信したネットワークデバイス装置は、その宛先アドレスであるＩＰアドレスを自ＩＰアドレスとして認識し、ＩＣＭＰエコー応答メッセージを返信する。
【００１１】
具体的には、ｐｉｎｇプログラムを実行する前に、ａｒｐというプログラムを用いて、ネットワークデバイス装置の物理アドレスと、そのネットワークデバイス装置に設定したいＩＰアドレスを関連付ける。すると、ｐｉｎｇプログラムで当該ＩＰアドレスを指定して、ＩＣＭＰエコー要求メッセージを送信した場合、そのＩＣＭＰエコー要求メッセージの宛先物理アドレスには当該ネットワークデバイス装置の物理アドレスが設定される。
【００１２】
一方、ネットワークデバイス装置は、自物理アドレスが指定された当該ＩＣＭＰエコー要求メッセージを受信する。ここで、普通ならば、ネットワークデバイス装置は、そのＩＣＭＰエコー要求メッセージの宛先ＩＰアドレスが自ＩＰアドレスと異なると判断する。しかし、ネットワークデバイス装置の設定として、自物理アドレス宛てのＩＣＭＰエコー要求メッセージを受信した場合には、そのメッセージの宛先ＩＰアドレスを自ＩＰアドレスとして認識するように設定しておく。
【００１３】
そして、ネットワークデバイス装置は、自ＩＰアドレスとして認識したＩＰアドレスを仮のＩＰアドレスとして、以後、そのＩＰアドレスでネットワーク通信を行う。
【００１４】
なお、このａｒｐプログラムは、ｐｉｎｇプログラムと同様にＴＣＰ／ＩＰプロトコルが実装されているコンピュータではおおよそ実装されている。
【００１５】
【発明が解決しようとする課題】
しかしながら、上記従来例では、ｐｉｎｇプログラムがあまりにも汎用的であるため、ｐｉｎｇプログラムを利用した他のネットワークアプリケーションによっても、容易にネットワークデバイス装置のＩＰアドレスを設定することができてしまう。その結果、誤ったＩＰアドレスを設定してしまうという問題点がある。
【００１６】
例えば、定期的にｐｉｎｇプログラムを実行して、ネットワーク上のそれぞれのネットワークデバイス装置が応答を返してくるかを監視しているネットワーク管理プログラムにおいて、従来のネットワークデバイス装置では、本来設定されるべきＩＰアドレスと異なるＩＰアドレスが設定されてしまう。
【００１７】
本発明は、上記の問題点を解決するためになされたものであり、汎用的なプログラムによるＩＰアドレスの誤設定を回避しつつ、本来設定されるべきＩＰアドレスを汎用的なプログラムを用いて設定できるようなネットワークデバイス装置を提供することを目的とする。
【００１８】
【課題を解決するための手段】
上記課題を解決するために、本発明に係るネットワーク装置は、ネットワーク装置であって、ネットワークから標準的なプロトコルを用いてデータを受信する受信手段と、前記データの前記標準的なプロトコルのヘッダにおいて特殊な属性値を検出する検出手段と、前記データの宛先物理アドレスと前記ネットワーク装置の物理アドレスとが同一であり、前記特殊な属性値が前記検出手段により検出された場合、前記データの宛先論理アドレスを前記ネットワーク装置の論理アドレスとして設定する設定手段とを備えることを特徴とする。
【００１９】
また、前記設定手段は、前記データの宛先論理アドレスと前記ネットワーク装置の論理アドレスとが異なり、かつ、前記宛先物理アドレスが前記ネットワーク装置の物理アドレスとが同一である場合、前記データの宛先論理アドレスを前記ネットワーク装置の論理アドレスとして設定することを特徴とする。
【００２０】
また、前記論理アドレスはＩＰアドレスであり、前記物理アドレスはＭＡＣアドレスであることを特徴とする。
【００２１】
また、前記データは、ＩＣＭＰプロトコルによるＩＣＭＰエコーメッセージであることを特徴とする。
【００２２】
また、前記属性値は、前記データの全データ長または前記データのＴＴＬ値であることを特徴とする。
【００２３】
上記課題を解決するために、本発明に係るネットワーク装置は、ネットワーク装置であって、ＩＣＭＰエコーメッセージを受信する受信手段と、前記ＩＣＭＰエコーメッセージのヘッダにおいてデータ長を検出するデータ長検出手段と、前記ＩＣＭＰエコーメッセージのＭＡＣアドレスが前記ネットワーク装置のＭＡＣアドレスと同一であり、前記データ長検出手段により検出されたデータ長が特殊な値である場合、前記ＩＣＭＰエコーメッセージの宛先論理アドレスを前記ネットワーク装置の論理アドレスとして設定する設定手段とを備えることを特徴とする。
【００２４】
上記課題を解決するために、本発明に係るネットワーク装置は、ネットワーク装置であって、ネットワークから標準的なプロトコルを用いてデータを受信する受信手段と、前記データの前記標準的なプロトコルのヘッダにおいて特殊な属性値を検出する検出手段と、前記特殊な属性値が前記検出手段により検出された場合、前記データの宛先アドレスを前記ネットワーク装置のアドレスとして設定する設定手段とを備えることを特徴とする。
【００２５】
上記課題を解決するために、本発明に係るネットワークデバイス制御方法は、ネットワークデバイスを制御するネットワークデバイス制御方法であって、ネットワークから標準的なプロトコルを用いてデータを受信する受信ステップと、前記データの前記標準的なプロトコルのヘッダにおいて特殊な属性値を検出する検出ステップと、前記データの宛先物理アドレスと前記ネットワークデバイスの物理アドレスとが同一であり、前記特殊な属性値が前記検出ステップで検出された場合、前記データの宛先論理アドレスを前記ネットワークデバイスの論理アドレスとして設定する設定ステップとを有することを特徴とする。
【００２６】
上記課題を解決するために、本発明に係るネットワークデバイス制御方法は、ネットワークデバイスを制御するネットワークデバイス制御方法であって、ＩＣＭＰエコーメッセージを受信する受信ステップと、前記ＩＣＭＰエコーメッセージのヘッダにおいてデータ長を検出するデータ長検出ステップと、前記ＩＣＭＰエコーメッセージのＭＡＣアドレスが前記ネットワークデバイスのＭＡＣアドレスと同一であり、前記データ長検出ステップで検出されたデータ長が特殊な値である場合、前記ＩＣＭＰエコーメッセージの宛先論理アドレスを前記ネットワークデバイスの論理アドレスとして設定する設定ステップとを有することを特徴とする。
【００２７】
上記課題を解決するために、本発明に係るネットワークデバイス制御方法は、ネットワークデバイスを制御するネットワークデバイス制御方法であって、ネットワークから標準的なプロトコルを用いてデータを受信する受信ステップと、前記データの前記標準的なプロトコルのヘッダにおいて特殊な属性値を検出する検出ステップと、前記特殊な属性値が前記検出ステップで検出された場合、前記データの宛先アドレスを前記ネットワークデバイスのアドレスとして設定する設定ステップとを有することを特徴とする。
【００２８】
上記課題を解決するために、本発明に係る記録媒体は、ネットワークデバイスのコンピュータにより読み取り可能なプログラムが格納された記録媒体であって、前記プログラムは、ネットワークから標準的なプロトコルを用いてデータを受信する受信ステップと、前記データの前記標準的なプロトコルのヘッダにおいて特殊な属性値を検出する検出ステップと、前記データの宛先物理アドレスと前記ネットワークデバイスの物理アドレスとが同一であり、前記特殊な属性値が前記検出ステップで検出された場合、前記データの宛先論理アドレスを前記ネットワークデバイスの論理アドレスとして設定する設定ステップと、をコンピュータに実行させることを特徴とする。
【００３０】
【発明の実施の形態】
〔第１の実施の形態〕
以下、添付の図面を参照して本発明の実施例を説明する。
【００３１】
図１は、ネットワークボードをプリンタに接続した場合のネットワークの構成を示す概略図である。ネットワークボード１０１は、ＬＡＮ１００に接続されているネットワークデバイス装置の一例である。ＬＡＮへは、ＲＦ−４５を持つ１０Ｂａｓｅ−Ｔなどのインターフェースを介して接続されている。
【００３２】
パーソナルコンピュータ（ＰＣ）１０３もＬＡＮ１００に接続されており、ＰＣ１０３はＬＡＮ１００を介してネットワークボード１０１と通信することができる。
【００３３】
通常、ＬＡＮ１００は、幾分ローカルなグループ、例えば、１つの建物内の１つの階や連続した複数の階のユーザグループに対してサービスを提供する。また、ユーザ同士が異なる建物にいる場合には、ユーザ同士の距離に応じて、ワイドエリアネットワーク（ＷＡＮ）を構築してもよい。ＷＡＮは基本的には、複数のＬＡＮが高速度サービス総合デジタルネットワーク（ＩＳＤＮ）電話などの高速度デジタルラインで接続されて形成されたＬＡＮの集合体である。
【００３４】
図２は、本実施例におけるネットワークボード１０１の内部の制御構成を示すブロック図である。ネットワークボード１０１は、ＣＰＵ２０１、ＲＯＭ２０２、ＲＡＭ２０３、拡張Ｉ／Ｆ制御部２０４、ＮＶＲＡＭ２０５、ネットワークＩ／Ｆ制御部２０６、バス２０７を備えている。
【００３５】
ＣＰＵ２０１は、ＲＯＭ２０２に格納されている本実施例のプログラムを実行する。ＮＶＲＡＭ２０５は各種設定パラメータを保存しておく。
【００３６】
ネットワークボード１０１は、ネットワークＩ／Ｆ制御部２０６を介してネットワークと接続しており、また、拡張Ｉ／Ｆ制御部２０４を介してプリンタ１０２と接続している。拡張Ｉ／Ｆ制御部２０４が制御可能な機器であれば、プリンタのみならず、ファクシミリやコピアなどにも接続可能であり、ネットワークボード１０１により様々な機器がネットワークに接続可能となる。
【００３７】
次に、ネットワークボード１０１のプログラム構成を説明する。図３は、本実施例におけるネットワークボード１０１のプログラム構成を示すブロック図である。
【００３８】
プリンタＩ／Ｆドライバモジュール３０１は拡張Ｉ／Ｆ制御部２０４を制御して、プリンタとデータの送受信を行う。印刷プロトコルモジュール３０２は、ネットワークにおける汎用印刷プロトコルをサポートする。ネットワークプロトコル通信モジュール３０３は、ネットワークの通信制御を行う。ネットワークドライバモジュール３０４は、ネットワークＩ／Ｆ制御部２０６を制御し、実際にＬＡＮ１００との間でパケットの送受信を行う。
【００３９】
印刷プロトコルモジュール３０２は、プロトコルで決められた印刷通信手順に従って、ネットワークプロトコル通信モジュール３０３を介してネットワークから印刷データを受信する。受信された印刷データは、プリンタＩ／Ｆドライバモジュール３０１を介してプリンタ１０２に送出される。
【００４０】
デバイス管理モジュール３０５は、ＰＣ１０３によるネットワークボード１０１に関する情報の設定や参照、プリンタ情報の設定や参照を処理する。
【００４１】
更に詳しく、図３のネットワークプロトコル通信モジュール３０３について説明する。図４は、ネットワークプロトコル通信モジュール３０３におけるＴＣＰ／ＩＰプロトコルに関するプログラム構成図である。
【００４２】
ソケットインターフェース管理モジュール４０１は、印刷プロトコルモジュール３０２やデバイス管理モジュール３０５に、ＴＣＰ／ＩＰにおけるソケットと言われるインターフェースを提供する。ソケットインターフェース管理モジュール４０１により、ＰＣ１０３から送られてきたデータが、印刷データであるか、ネットワークボード情報やプリンタ情報の設定・参照の要求であるかが判定され、印刷データは印刷プロトコルモジュール３０２に送出され、ネットワークボード情報やプリンタ情報の設定・参照の要求はデバイス管理モジュール３０５に送出される。
【００４３】
ＴＣＰ管理モジュール４０２ではＴＣＰプロトコルが実装されており、ＵＤＰ管理モジュール４０３ではＵＤＰプロトコルが実装されている。また、ＩＰモジュール４０６ではＩＰプロトコルが実装されている。ＴＣＰ管理モジュール４０２やＵＤＰ管理モジュール４０３がＩＰモジュール４０６と組み合わさることにより、ＬＡＮ１００に接続されているコンピュータとのＴＣＰ／ＩＰによる通信が可能となる。
【００４４】
ＩＣＭＰ管理モジュール４０４ではＩＣＭＰプロトコルが実装されており、疑似ＩＣＭＰ管理モジュール４０４は、ＩＣＭＰ管理モジュール４０４を利用して本発明を実現するためのモジュールである。なお、ＩＣＭＰプロトコルを用いた疑似ＩＣＭＰモジュール４０５の処理内容については、後に詳説する。ＡＲＰモジュール４０７ではＡＲＰ（Ａｄｄｒｅｓｓ  Ｒｅｓｏｌｕｔｉｏｎ  Ｐｒｏｔｏｃｏｌ）プロトコルが実装されており、ＡＲＰプロトコルとはＩＰアドレスからハードウェアアドレスを知るためのプロトコルである。
【００４５】
図５はＩＣＭＰメッセージのフレーム概要を示す概念図である。ＩＣＭＰメッセージは、Ｅｔｈｅｒｎｅｔ  Ｈｅａｄｅｒ  ５０１、ＩＰ  Ｈｅａｄｅｒ  ５０２、ＩＣＭＰ  Ｈｅａｄｅｒ  ５０３、Ｄａｔａ５０４、ＣＲＣ  ５０５から構成されている。ＣＲＣ５０５はフレームの終端に付加されている。以後、それぞれについて説明する。
【００４６】
まず、Ｅｔｈｅｒｎｅｔ  Ｈｅａｄｅｒ  ５０１について説明する。図６は本実施例におけるＥｔｈｅｒｎｅｔ  Ｈｅａｄｅｒの概略図である。本実施例では、ＴＣＰ／ＩＰプロトコルによるパケットをＥｔｈｅｒｎｅｔＩＩフォーマットで送受信する。よって、図６はＥｔｈｅｒｎｅｔＩＩフォーマットによるＥｔｈｅｒｎｅｔ  Ｈｅａｄｅｒの概略図となっている。
【００４７】
ＥｔｈｅｒｎｅｔＩＩＨｅａｄｅｒは、宛先アドレス６０１、発信元アドレス６０２、フレームタイプ６０３とから構成されている。宛先アドレス６０１と発信元アドレス６０２には、それぞれ宛先と発信元のＭＡＣ（Ｍｅｄｉａ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌ）アドレスが格納されている。ＭＡＣアドレスとは、ネットワークにおける機器固有の物理アドレスで、Ｅｔｈｅｒｎｅｔの場合、６バイト長のコードになっている。
【００４８】
６バイトのうち、先頭の３バイトはベンダーコードになっており、ＩＥＥＥ（Ｉｎｓｔｉｔｕｔｅ  ｏｆ  Ｅｌｅｃｔｒｉｃａｌ  ａｎｄ  Ｅｌｅｃｔｒｏｎｉｃ  Ｅｎｇｉｎｅｒｒｓ、米国電気電子学会）がこのベンダコードの管理・割当を行っている。残りの３バイトは、各ベンダにより独自に管理されているコードである。その結果、世界中で、同じＭＡＣアドレスを持つネットワーク機器は存在せず、全てのネットワーク機器に異なるＭＡＣアドレスが割り当てられている。
【００４９】
フレームタイプ６０３は、上位プロトコルのタイプを示しており、ＩＰの場合は“０ｘ０８００”、ＡＲＰの場合は“０ｘ０８０６”と決められている。
【００５０】
次に、ＩＰ  Ｈｅａｄｅｒ  ５０２について説明する。図７は、ＩＰ  Ｈｅａｄｅｒ  ５０２を示す概略図である。ＩＰ  Ｈｅａｄｅｒ  ５０２はＩＰバージョン７０１、ＩＰヘッダレングス７０２、サービスタイプ（Ｔｙｐｅ  Ｏｆ  Ｓｅｒｖｉｃｅ）７０３、全データ長７０４、識別子７０５、フラグフィールド７０６、生存時間フィールド７０７、プロトコル識別７０８、チェックサム７０９、発信元ＩＰアドレス７１０、宛先ＩＰアドレス７１１から構成されている。
【００５１】
ＩＰバージョン７０１はＩＰ  Ｈｅａｄｅｒ５０２のバージョン番号を表している。ＩＰヘッダレングス７０２はＩＰ  Ｈｅａｄｅｒ  ５０２自体の大きさを表している。サービスタイプ７０３は送信しているＩＰのサービス品質を表している。全データ長７０４はＩＰ  ＨｅａｄｅｒとＩＰデータを加えたパケット全体の大きさを表している。識別子７０５は上位プロトコルへデータを渡す際の参考情報として使用される。フラグフィールド７０６はパケットの分割に関する制御を指示するのに使用される。生存時間フィールド７０７はパケットがネットワークに存在してよい時間を秒単位で表している。
【００５２】
プロトコル識別７０８は上位プロトコルがなんであるかを示しています。例えば、以下のように、上位プロトコルに対して番号が割り当てられている。
【００５３】
１    ＩＣＭＰ
６    ＴＣＰ
１７    ＵＤＰ
【００５４】
次に、ＩＣＭＰ  Ｈｅａｄｅｒ  ５０３について説明する。図８は、ＩＣＭＰ  Ｈｅａｄｅｒ  ５０３を示す概略図である。ＩＣＭＰ  Ｈｅａｄｅｒ  ５０３は、ＩＣＭＰタイプ８０１、ＩＣＭＰコード８０２、チェックサム８０３、識別子８０４、シーケンス番号８０５から構成されている。
【００５５】
ＩＣＭＰタイプ８０１にはＩＣＭＰエコー要求メッセージの場合は８、ＩＣＭＰエコー応答メッセージの場合は０がセットされる。ＩＣＭＰコード８０２には、ＩＣＭＰエコーメッセージの場合は常に０がセットされる。
【００５６】
識別子８０４は、ＰＣ１０３で実行されたｐｉｎｇプログラムが、要求したエコーコマンドが正しく応答されているかを確認するのに用いられる。また、シーケンス番号８０５は、ｐｉｎｇプログラムがパケットの消失、順序違い、重複などを確認するのに用いられる。
【００５７】
以後、図１１、１２を用いて、通常のＩＣＭＰエコーメッセージの処理の流れについて説明する。図１１は、ネットワークドライバモジュール３０４が、ネットワークＩ／Ｆ制御部２０６を介して、図５に示したようなフレームを受信した後の動作を示すフローチャートである。
【００５８】
ネットワークドライバモジュール３０４がフレームを受信すると、まず、ステップＳ１１０１において、図６に示すＥｔｈｅｒｎｅｔ  Ｈｅａｄｅｒを解析する。そして、ステップＳ１１０２において、受信したフレームの宛先ＭＡＣアドレスが自ＭＡＣアドレスであるか否かを判定する。フレームが自ＭＡＣアドレス向けのものでなければ、ステップＳ１１０３において、宛先ＭＡＣアドレスが、ブロードキャストアドレスか、登録されたマルチキャストアドレスのいずれかであるかを判定する。
【００５９】
ステップＳ１１０２とステップＳ１１０３の判定の結果、宛先ＭＡＣアドレスが、自ＭＡＣアドレス、ブロードキャストアドレス、登録されたマルチキャストアドレスのいずれでもない場合には、ステップＳ１１０４において、受信したフレームは破棄される。
【００６０】
ステップＳ１１０２とステップＳ１１０３の判定の結果、宛先ＭＡＣアドレスが、自ＭＡＣアドレス、ブロードキャストアドレス、登録されたマルチキャストアドレスのいずれかである場合には、ステップＳ１１０５において、Ｅｔｈｅｒｎｅｔ  Ｈｅａｄｅｒ内のフレームタイプ６０３を調べて、その値が“０ｘ０８００”であるか否かを判定する。
【００６１】
“０ｘ０８００”であれば、上位プロトコルはＩＰプロトコルである、つまり、フレームのＥｔｈｅｒｎｅｔ  Ｈｅａｄｅｒ以外のバイトストリームはＩＰプロトコルによるパケットであると判断して、そのパケットをＩＰモジュール４０６に渡す。ステップＳ１１０５において、“０ｘ０８００”でなければ、上位プロトコルはＡＲＰプロトコルである、つまり、フレームのＥｔｈｅｒｎｅｔ  Ｈｅａｄｅｒ以外のバイトストリームはＡＲＰプロトコルによるパケットであると判断して、そのパケットをＡＲＰモジュール４０７に渡す。
【００６２】
図１１のステップＳ１１０６の続きとして、次に、ＩＰモジュール４０６がＩＰプロトコルによるパケットを受け取った後の処理の流れについて説明する。図１２は、ＩＰモジュール４０６がパケットを受け取った後の動作を示すフローチャートである。
【００６３】
まず、ステップＳ１２０１において、図７に示したＩＰ  Ｈｅａｄｅｒを解析する。そして、ステップＳ１２０２において、宛先ＩＰアドレス７１１が自ＩＰアドレスになっているかを判定する。宛先ＩＰアドレスが自ＩＰアドレスでない場合には、更に、ステップＳ１２０３において、宛先ＩＰアドレスがブロードキャストアドレスか、登録されたマルチキャストアドレスのいずれかであるか否かを判定する。
【００６４】
ステップＳ１２０２とステップＳ１２０３の判定の結果、宛先ＩＰアドレスが、自ＩＰアドレス、ブロードキャストアドレス、登録されたマルチキャストアドレスのいずれでもない場合には、ステップＳ１２０４において、受け取ったパケットは破棄される。
【００６５】
ステップＳ１２０２とステップＳ１２０３の判定において、宛先ＩＰアドレスが、自ＩＰアドレス、ブロードキャストアドレス、登録されたマルチキャストアドレスのいずれかである場合には、次に、ＩＰ  Ｈｅａｄｅｒのプロトコル識別７０８を調べて、プロトコル識別７０８がＴＣＰプロトコルを示しているか、つまり、上位プロトコルがＴＣＰプロトコルであるか否かを判定する。プロトコル識別７０８がＴＣＰプロトコルを示している場合には、受け取ったパケットのＩＰ  Ｈｅａｄｅｒ以外のビットストリームはＴＣＰプロトコルによるパケットであると判断して、そのパケットをＴＣＰ管理モジュール４０２に渡す。
【００６６】
ステップＳ１２０５において、プロトコル識別７０８がＴＣＰプロトコルを示していなければ、更に、ＵＤＰプロトコルを示しているか否かを判定する。プロトコル識別７０８がＵＤＰプロトコルを示していれば、受け取ったパケットのＩＰ  Ｈｅａｄｅｒ以外のビットストリームはＵＤＰプロトコルによるパケットであると判断して、ステップＳ１２０９において、そのパケットをＵＤＰ管理モジュール４０３に渡す。
【００６７】
なお、プロトコル識別７０８がＴＣＰプロトコル、ＵＤＰプロトコルのいずれも示していない場合には、ＩＣＭＰプロトコルを示していると判断して、ステップＳ１２０９において、パケットをＩＣＭＰ管理モジュール４０４に渡す。
【００６８】
更に、図１２のステップＳ１２０９の続きとして、ＩＣＭＰ管理モジュール４０４がＩＣＭＰプロトコルによるパケットを受け取った後の処理の流れについて説明する。図１３は、ＩＣＭＰ管理モジュール４０４がパケットを受け取った後の動作を示すフローチャートである。
【００６９】
ＩＣＭＰ管理モジュール４０４は、ＩＰモジュール４０６からパケットを受け取ると、ステップＳ１３０１において、図８に示したＩＣＭＰ  Ｈｅａｄｅｒの解析を行う。そして、ＩＣＭＰ管理モジュール４０４は、ステップＳ１３０２において、チェックサム８０３をチェックし、これが不正な値である場合にはこのパケットを破棄する。
【００７０】
そして、ＩＣＭＰタイプ８０１を調べて、このパケットがエコー要求メッセージであるかを判定する。エコー要求メッセージでなければ、ステップＳ１３０４において、その他の処理を行う。
【００７１】
受け取ったパケットがエコー要求メッセージであれば、ステップＳ１３０５において、エコー応答メッセージを返す準備をする。ＩＣＭＰ管理モジュール４０４はエコー応答メッセージを返す場合には、図８に示したようなＩＣＭＰ  Ｈｅａｄｅｒを作成する。ＩＣＭＰタイプ８０１にはＩＣＭＰ応答を示すコードが、ＩＣＭＰコード８０２には０がセットされる。また、識別子８０４には上記受け取ったＩＣＭＰエコー要求メッセージの識別子が、シーケンス番号８０５には上記受け取ったＩＣＭＰエコー要求メッセージのシーケンス番号がセットされる。
【００７２】
最後に、チェックサムが計算されてセットされ、ステップＳ１３０６において、作成されたエコー応答パケットはＩＰモジュール４０６に渡される。
【００７３】
ＩＰモジュール４０６では、ＩＣＭＰ管理モジュール４０４が作成したパケットに、図７に示したようなＩＰ  Ｈｅａｄｅｒを付ける。ＩＰ  Ｈｅａｄｅｒの発信元ＩＰアドレス７１０には自ＩＰアドレスが、宛先アドレスには上記受信したＩＰパケットの発信元ＩＰアドレスがセットされる。作成されたＩＰパケットはネットワークドライバモジュール３０４に渡される。
【００７４】
ネットワークドライバモジュール３０４では、ＩＰモジュール４０６が作成したパケットに、図６に示したようなＥｔｈｅｒｎｅｔ  Ｈｅａｄｅｒを付ける。Ｅｔｈｅｒｎｅｔ  ＨｅａｄｅｒのプロトコルタイプにはＩＰプロトコルであることを示す“０ｘ０８００”がセットされる。また、発信元アドレス６０２には自ＭＡＣアドレスが、宛先アドレス６０２には上記受信したフレームの発信元ＭＡＣアドレスがセットされる。
【００７５】
作成されたエコー応答メッセージは、ネットワークＩ／Ｆ制御部２０６を介してＬＡＮ１００に発信される。このとき、ＣＲＣ５０５がエコー応答メッセージの最後に付加される。
【００７６】
以上が、通常のＩＣＭＰエコーメッセージの処理の流れである。本発明では、このような一般のＩＣＭＰエコーメッセージの処理にＩＣＭＰ疑似管理モジュール４０５による処理を加え、更に、ＩＰモジュール４０６の処理に一部変更を加える。それにより、ＩＣＭＰエコー要求メッセージによる、より安全なＩＰアドレス設定処理が実現されている。
【００７７】
以下、本発明におけるＩＣＭＰエコーメッセージの処理の流れについて説明する。
【００７８】
先程説明したように、ＰＣ１０３で実行されているｐｉｎｇプログラムからＩＣＭＰエコー要求メッセージが発信されると、ネットワークドライバモジュール３０４がＬＡＮ１００からネットワークＩ／Ｆ制御部２０６を介して、当該ＩＣＭＰエコー要求メッセージを受信する。そして、ネットワークドライバモジュール３０４は、図１１のフローチャートに従って処理を行った後、パケットがＩＰモジュール４０６に渡される。ただし、ネットワークドライバモジュール３０４からＩＰモジュール４０６にパケットを渡す際には、Ｅｔｈｅｒｎｅｔ  Ｈｅａｄｅｒを外すことなく、そのままの状態でパケットを渡す。
【００７９】
図９は、ＩＰモジュール４０６がパケットを受け取った後の動作を示すフローチャートである。まず、ステップＳ９０１において、チェックサムの確認を行った後、受け取ったパケット内のＩＰ  Ｈｅａｄｅｒを解析する。
【００８０】
そして、ステップＳ９０２において、パケットの宛先ＩＰアドレス７１１が自ＩＰアドレスと一致するかを判定する。一致すれば、ステップＳ９０７において、図１２と同様な処理を行う。
【００８１】
ステップＳ９０２において、宛先ＩＰアドレスと自ＩＰアドレスが一致しなければ、ステップＳ９０３において、宛先ＩＰアドレスが、ブロードキャストアドレスか、登録されたマルチキャストアドレスのいずれかであるか否かを判定する。もし、ブロードキャストアドレスか登録されたマルチキャストアドレスのいずれかであれば、ステップＳ９０７において、図１２と同様な処理を行う。
【００８２】
ステップＳ９０２とステップＳ９０３の判定の結果、宛先ＩＰアドレスが、自ＩＰアドレス、ブロードキャストアドレス、登録されたマルチキャストアドレスのいずれでもない場合には、ステップＳ９０４において、ＩＰ  Ｈｅａｄｅｒのプロトコル識別７０８と、ＩＣＭＰ  ＨｅａｄｅｒのＩＣＭＰタイプ８０１を調べて、パケットがＩＣＭＰエコー要求メッセージであるかどうかを判定する。
【００８３】
ステップＳ９０４の判定の結果、ＩＣＭＰエコー要求メッセージでなければ、ステップＳ９０６において、そのパケットは破棄される。ＩＣＭＰエコー要求メッセージであれば、ステップＳ９０５において、受け取ったパケットを疑似ＩＣＭＰ管理モジュール４０５へ渡す。なお、この際に、ＩＰモジュール４０６はＥｔｈｅｒｎｅｔ  Ｈｅａｄｅｒ及びＩＰ  Ｈｅａｄｅｒをパケットから取り除くことをしない。つまり、ネットワークドライバモジュール３０４がＬＡＮ１００から受信したパケットのまま、パケットは疑似ＩＣＭＰ管理モジュール４０５へ渡される。
【００８４】
次に、疑似ＩＣＭＰ管理モジュール４０５の処理の流れについて説明する。図１０は、疑似ＩＣＭＰ管理モジュール４０５がパケットを受け取った後の動作を示すフローチャートである。疑似ＩＣＭＰ管理モジュール４０５がＩＰモジュール４０６からパケットを受け取ると、ステップＳ１００１において、パケットのＥｔｈｅｒｎｅｔ  Ｈｅａｄｅｒ５０１を調べて、パケットの宛先ＭＡＣアドレス６０１が自ＭＡＣアドレスと一致するかどうかを判定する。自ＭＡＣアドレスと一致しない場合には、ステップＳ１００６において、そのパケットは破棄される。
【００８５】
ステップＳ１００１において、宛先ＭＡＣアドレスが自ＭＡＣアドレスと一致する場合には、ステップＳ１００２において、ＩＰ  Ｈｅａｄｅｒ５０２の全データ長７０４を調べて、全データ長７０４が５０９バイトになっているかどうかを判定する。全データ長７０４が５０９バイトになっている場合には、ステップＳ１００５において、ＮＶＲＡＭ２０５に格納してある設定パラメータを全て工場出荷値に変更する。
【００８６】
ステップＳ１００２において、全データ長７０４が５０９バイトになっていなければ、更に、ステップＳ１００３において、全データ長７０４が５０７バイトになっているかどうかを判定する。全データ長７０４が５０９バイト、５０７バイトのいずれにもなっていない場合には、ステップＳ１００６において、パケットを破棄する。
【００８７】
ステップＳ１００３において、全データ長７０４が５０７バイトになっている場合には、ステップＳ１００４において、ＩＰ  Ｈｅａｄｅｒ５０２の宛先ＩＰアドレス７１１を自ＩＰアドレスとして設定する。疑似ＩＣＭＰ管理モジュール４０５はＩＰアドレスを設定した後は、パケットをＩＣＭＰ管理モジュール４０４に渡す。なお、この際には、不必要なＥｔｈｅｒｎｅｔ  ＨｅａｄｅｒやＩＰ  Ｈｅａｄｅｒは取り除かれる。
【００８８】
ＩＣＭＰ管理モジュール４０４は、図１３と同様な処理を行い、エコー応答メッセージをＰＣ１０３に返す。
【００８９】
これまでは、ネットワークデバイス装置での処理について説明したが、次に、ＰＣ１０３での処理について説明する。ＴＣＰ／ＩＰで通信可能なホストコンピュータには、一般的にｐｉｎｇプログラムが実装されており、ユーザはこのプログラムを用いてＩＣＭＰエコー要求メッセージを送信することができる。
【００９０】
よって、ユーザは、ＰＣ１０３からネットワークボード１０１にＩＰアドレスを設定する場合、以下の手順で処理を行う。
【００９１】
▲１▼  ＡＲＰプログラムを用いて、ＰＣ１０３のＡＲＰテーブルにネットワークボードのＭＡＣアドレスと設定したいＩＰアドレスを登録する。
【００９２】
▲２▼  ｐｉｎｇプログラムを用いて、設定したいＩＰアドレス向けにＩＣＭＰエコー要求メッセージを送出する。このとき、ｐｉｎｇプログラムのオプションを使って（通常は、“−ｌ”オプションで送信するバッファサイズを指定できる）、全データ長７０４が５０７バイトになるように調整する。また、設定パラメータを工場出荷値に変更したいときには、オプションを使って、全データ長７０４が５０９バイトになるように調整する。
【００９３】
通常は、ｐｉｎｇプログラムによるエコー要求メッセージでは、ＩＰ  Ｈｅａｄｅｒの全データ長７０４は６４バイトになる。そのため、上記設定したＩＰアドレスに向けて、あらためてＩＣＭＰエコー要求メッセージを通常どおりに送出しても、本発明におけるネットワークデバイス装置では図１０のステップＳ１００３でパケットが破棄される。
【００９４】
本発明では、通常のｐｉｎｇプログラムの実行によるＩＰアドレスの設定を排除するため、ＩＣＭＰエコー要求メッセージのＩＰ  Ｈｅａｄｅｒの全データ長７０４に着目し、全データ長７０４があるデータ長になっている場合にのみ、ＩＰアドレスの設定が行われるようにしている。
【００９５】
〔第２の実施の形態〕
第１の実施の形態では、ＩＣＭＰエコー要求メッセージのＩＰ  Ｈｅａｄｅｒの全データ長７０４に着目したが、第２の実施の形態では、ＩＰ  ＨｅａｄｅｒのＴＴＬ（Ｔｉｍｅ  Ｔｏ  Ｌｉｖｅ）７０７に着目する。ＴＴＬ値は８ビットで表現され、０から２５５までの数値になる。ちなみに、一般的には、３２や６４といった値になる。
【００９６】
この値は、ネットワークにおけるルータによって参照され、ルータがパケットを受け取るとそのパケットのＴＴＬ値を１減算する。その結果、ＴＴＬ値が０になると、ルータはそのパケットを破棄する。よって、初めＴＴＬ値が３２になっていると、そのパケットは最大３２台のルータを通過することができる。この仕組みにより、パケットが永遠にネットワーク間で転送されつづけることを防ぐことが可能である。
【００９７】
なお、本実施の形態におけるネットワーク環境では、この値が減算されることがないものと仮定する。
【００９８】
そこで、第２の実施の形態では、第１の実施の形態における図１０のフローチャートの代わりに、図１４のフローチャートを用いる。なお、その他の処理については、第１の実施の形態と同様であるため、説明を省略する。
【００９９】
図１４は、疑似ＩＣＭＰ管理モジュール４０５がパケットを受け取った後の動作を示すフローチャートである。疑似ＩＣＭＰ管理モジュール４０５がＩＰモジュール４０６からパケットを受け取ると、ステップＳ１４０１において、パケットのＥｔｈｅｒｎｅｔ  Ｈｅａｄｅｒ５０１を調べて、パケットの宛先ＭＡＣアドレス６０１が自ＭＡＣアドレスと一致するかどうかを判定する。自ＭＡＣアドレスと一致しない場合には、ステップＳ１４０６において、そのパケットは破棄される。
【０１００】
ステップＳ１４０１において、宛先ＭＡＣアドレスが自ＭＡＣアドレスと一致する場合には、ステップＳ１４０２において、ＩＰ  Ｈｅａｄｅｒ５０２のＴＴＬ７０７を調べて、ＴＴＬ７０７の値が２０９になっているかどうかを判定する。ＴＴＬ７０７が２０９になっている場合には、ステップＳ１４０５において、ＮＶＲＡＭ２０５に格納してある設定パラメータを全て工場出荷値に変更する。
【０１０１】
ステップＳ１４０２において、ＴＴＬ７０７が２０９になっていなければ、更に、ステップＳ１４０３において、ＴＴＬ７０７が２０７になっているかどうかを判定する。ＴＴＬ７０７が２０９、２０７のいずれにもなっていない場合には、ステップＳ１４０６において、パケットを破棄する。
【０１０２】
ステップＳ１４０３において、ＴＴＬ７０７が２０７になっている場合には、ステップＳ１４０４において、ＩＰ  Ｈｅａｄｅｒ５０２の宛先ＩＰアドレス７１１を自ＩＰアドレスとして設定する。疑似ＩＣＭＰ管理モジュール４０５はＩＰアドレスを設定した後は、パケットをＩＣＭＰ管理モジュール４０４に渡す。なお、この際には、不必要なＥｔｈｅｒｎｅｔ  ＨｅａｄｅｒやＩＰ  Ｈｅａｄｅｒは取り除かれる。
【０１０３】
ＩＣＭＰ管理モジュール４０４は、図１３と同様な処理を行い、エコー応答メッセージをＰＣ１０３に返す。
【０１０４】
これまでは、ネットワークデバイス装置での処理について説明したが、次に、ＰＣ１０３での処理について説明する。ＴＣＰ／ＩＰで通信可能なホストコンピュータには、一般的にｐｉｎｇプログラムが実装されており、ユーザはこのプログラムを用いてＩＣＭＰエコー要求メッセージを送信することができる。
【０１０５】
よって、ユーザは、ＰＣ１０３からネットワークボード１０１にＩＰアドレスを設定する場合、以下の手順で処理を行う。
【０１０６】
▲１▼  ＡＲＰプログラムを用いて、ＰＣ１０３のＡＲＰテーブルにネットワークボードのＭＡＣアドレスと設定したいＩＰアドレスを登録する。
【０１０７】
▲２▼  ｐｉｎｇプログラムを用いて、設定したいＩＰアドレス向けにＩＣＭＰエコー要求メッセージを送出する。このとき、ｐｉｎｇプログラムのオプションを使って（通常は、“−ｉ”オプションでＴＴＬの値を設定できる）、ＴＴＬ７０７の値が２０７になるように調整する。また、設定パラメータを工場出荷値に変更したいときには、オプションを使って、ＴＴＬの値が２０９になるように調整する。
【０１０８】
通常は、ｐｉｎｇプログラムによるエコー要求メッセージでは、ＩＰ  ＨｅａｄｅｒのＴＴＬの値は３２か６４である。そのため、上記設定したＩＰアドレスに向けて、あらためてＩＣＭＰエコー要求メッセージを通常どおりに送出しても、本発明におけるネットワークデバイス装置では図１０のステップＳ１００３でパケットが破棄される。
【０１０９】
本発明では、通常のｐｉｎｇプログラムの実行によるＩＰアドレスの設定を排除するため、ＩＣＭＰエコー要求メッセージのＩＰ  ＨｅａｄｅｒのＴＴＬ７０７に着目し、ＴＴＬ７０７がある値になっている場合にのみ、ＩＰアドレスの設定が行われるようにしている。
【０１１０】
〔第３の実施の形態〕
第１及び第２の実施の形態では、本発明をネットワークボードで実現したが、レーザビームプリンタやインクジェットプリンタ等のプリンタ自身で実現しても、本発明の目的は達成されることは言うまでもない。図１５はこの場合のレーザビームプリンタの内部構造を示す断面図である。このＬＢＰは、文字パターンデータ等を入力して記録紙に印刷することができる。
【０１１１】
図１５において、１５４０はＬＢＰ本体であり、供給される文字パターン等を基に、記録媒体である記録紙上に像を形成する。１５００は操作のためのスイツチ及びＬＥＤ表示器などが配されている操作パネル、１５０１はＬＢＰ１５４０全体の制御及び文字パターン情報等を解析するプリンタ制御ユニツトである。このプリンタ制御ユニツト１５０１は主に文字パターン情報をビデオ信号に変換してレーザドライバ１５０２に出力する。
【０１１２】
レーザドライバ１５０２は半導体レーザ１５０３を駆動するための回路であり、入力されたビデオ信号に応じて半導体レーザ１５０３から発射されるレーザ光１５０４をオン・オフ切替えする。レーザ光１５０４は回転多面鏡１５０５で左右方向に振られて静電ドラム１５０６上を走査する。これにより、静電ドラム１５０６上には文字パターンの静電潜像が形成される。この潜像は静電ドラム１５０６周囲の現像ユニツト１５０７により現像された後、記録紙に転写される。
【０１１３】
この記録紙にはカットシートを用い、カットシート記録紙はＬＢＰ１５４０に装着した複数種の用紙に対応した複数の用紙カセツト１５０８に収納され、給紙ローラ１５０９及び搬送ローラ１５１０と１５１１とにより装置内に取込まれて、静電ドラム１５０６に供給される。
【０１１４】
次に、上述したレーザビームプリンタの記録制御を実行するための制御構成について、図１６に示すブロック図を参照して説明する。図１６において、１６３０はプリンタ制御ユニットである。ネットワークインターフェイス部１６１５を制御するネットワークインターフェイス部１６１４を介して、ネットワーク１６１８に接続されているホストコンピュータ１６１６と通信可能に構成されている。
【０１１５】
１６０２はＣＰＵで、ＲＯＭ１６０４に記録された制御プログラムに基づいて、バス２０３に接続された各デバイスを制御する。なお、ＣＰＵ１６０２が本発明に係るプログラム（第１及び第２の実施の形態において説明したフローチャート等）を実行することにより、本発明は実現される。１６０５はＲＡＭで、ＣＰＵ１６０２の使用するデータや、印字データなどを一時的に記憶する。
【０１１６】
１６１０は、エンジン制御部で、エンジンインターフェイス（Ｉ／Ｆ）部１６１１を介して、プリンタエンジン１６１２を制御し、印字処理を行う。
【０１１７】
１６０６はメモリ制御部で、メモリ１６０７を制御する。１６０９は回線制御部で、パラレル回線Ｉ／Ｆ部１６０８Ａやシリアル回線Ｉ／Ｆ部１６０８Ｂを制御する。１１６１３はパネル制御部で、パネル１６２０を制御する。
【０１１８】
１６１８は、プリンタ制御ユニット１６３０とホストコンピュータ１６１６をつなぐネットワークである。
【０１１９】
また、レーザビームプリンタを例にして説明したが、これに限定されるものでなく、以下で説明するインクジェットプリンタ等にも適応可能である。図１７は、不図示であるが複数種の用紙を印刷ジョブに対応して給紙可能であるインクジェット記録装置の概観図である。
【０１２０】
同図において、駆動モータ５０１３の正逆回転に連動して駆動力伝達ギア５０１１，５００９を介して回転するリードスクリュー５００５の螺旋溝５００４に対して係合するキャリッジ５１００は、ピン（不図示）を有し、矢印ａ，ｂ方向に往復移動される。このキャリッジ５１００には、インクジェットカートリッジ５１０１が搭載されている。
【０１２１】
５００２は紙押え板であり、キャリッジの移動方向に亙って紙をプラテン５０００に対して押圧する。５００７，５００８はフォトカプラで、キャリッジのレバー５００６のこの域での存在を確認して、モータ５０１３の回転方向切り換え等を行うためのホームポジション検知手段である。
【０１２２】
５０１６は記録ヘッドの前面をキャップするキャップ部材５０２２を支持する部材で、５０１５はこのキャップ内を吸引する吸引手段で、キャップ内開口５０２３を介して記録ヘッドの吸引回復を行う。
【０１２３】
５０１７はクリーニングブレードで、５０１９はこのブレードを前後方向に移動可能にする部材であり、本体支持板５０１８にこれらが支持されている。ブレードは、この形態でなく周知のクリーニングブレードが本例に適用できることは言うまでもない。又、５０２１は、吸引回復の吸引を開始するためのレバーで、キャリッジと係合するカム５０２０の移動に伴って移動し、駆動モータからの駆動力がクラッチ切り換え等の公知の伝達手段で移動制御される。
【０１２４】
これらのキャッピング、クリーニング、吸引回復は、キャリッジがホームポジション側の領域に来た時にリードスクリュー５００５の作用によってそれらの対応位置で所望の処理が行えるように構成されているが、周知のタイミングで所望の作動を行うようにすれば、本例にはいずれも適用できる。
【０１２５】
次に、上述したインクジェット記録装置の記録制御を実行するための制御構成について、図１８に示すブロック図を参照して説明する。制御回路を示す同図において、１８００は記録信号を入力するインターフェース、１８０１はＭＰＵ、１８０２はＭＰＵ１８０１が実行する制御プログラムを格納するプログラムＲＯＭ、１８０３は各種データ（上記記録信号やヘッドに供給される記録データ等）を保存しておくダイナミック型のＲＯＭである。ＭＰＵ１８０１が、本発明に係るプログラム（第１及び第２の実施の形態において説明したフローチャート等）を実行することにより、本発明は実現される。
【０１２６】
１８０４は記録ヘッド１８０８に対する記録データの供給制御を行うゲートアレイであり、インターフェース１８００、ＭＰＵ１８０１、ＲＡＭ１８０３間のデータ転送制御も行う。１８１０は記録ヘッド１８０８を搬送するためのキャリアモータ、１８０９は記録紙搬送のための搬送モータである。１８０５はヘッドを駆動するヘッドドライバ、１８０６、１８０７はそれぞれ搬送モータ１８０９、キャリアモータ１８１０を駆動するためのモータドライバである。
【０１２７】
上記制御構成の動作を説明すると、インターフェース１８００に記録信号が入るとゲートアレイ１８０４とＭＰＵ１８０１との間で記録信号がプリント用の記録データに変換される。そして、モータドライバ１８０６、１８０７が駆動されると共に、ヘッドドライバ１８０５に送られた記録データに従って記録ヘッドが駆動され、印刷が行われる。
【０１２８】
以上のようなインクジェットプリンタの制御構成に、本発明の構成要素を組み込むことも可能であり、本発明はレーザビームプリンタに限らず、上記インクジェットプリンタ等にも適用できることは明らかである。
【０１２９】
〔第４の実施の形態〕
なお、本発明は、複数の機器（例えばホストコンピュータ，インタフェイス機器，リーダ，プリンタなど）から構成されるシステムに適用しても、一つの機器からなる装置（例えば、複写機，ファクシミリ装置など）に適用してもよい。
【０１３０】
また、図１９に示すように、本発明の目的は、前述した第１、第２及び第３の実施の形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、図２、図１６及び図１８に示すシステムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読出し実行することによっても、達成されることは言うまでもない。
【０１３１】
また、図１９に示すように、前述した第１、第２及び第３の実施の形態の機能を実現するソフトウェアのプログラムコードをネットワーク或いは公衆回線を介してサーバコンピュータから図２、図１６及び図１８に示すシステムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が供給されたプログラムコードを実行することによっても、達成されることは言うまでもない。
【０１３２】
この場合、記憶媒体から読出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体及びそのプログラムコードを送出したサーバ装置は本発明を構成することになる。
【０１３３】
本実施例では、記憶媒体から本プログラム及び関連データを直接ＲＡＭにロードして実行させる例を示したが、この他にＦＤ等の外部記憶媒体から本プログラム及び関連データを一旦外部メモリ内の不揮発性記憶媒体であるハードディスクに格納（インストール）しておき、本データ作成・送信処理制御プログラムを動作させる際にハードディスクからＲＡＭにロードするようにしても良い。
【０１３４】
プログラムコードを供給するための記憶媒体としては、例えば、フロッピディスク，ハードディスク，光ディスク，光磁気ディスク，ＣＤ−ＲＯＭ，ＣＤ−Ｒ，磁気テープ，不揮発性のメモリカード，ＲＯＭなどを用いることができる。また、コンピュータが読出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているＯＳ（オペレーティングシステム）などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０１３５】
さらに、記憶媒体から読出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０１３６】
【発明の効果】
以上説明したように、本発明によれば、標準的なプロトコルを用いながら、ネットワークデバイス装置での設定、例えば、論理アドレスの設定またはアドレスの設定を安全に行うことが可能になる。
【図面の簡単な説明】
【図１】ネットワークボードをプリンタに接続した場合の、ネットワークの構成を示す概略図である。
【図２】ネットワークボード１０１の制御構成の概略を示すブロック図である。
【図３】ネットワークボード１０１のプログラム構成の概略を示すブロック図である。
【図４】ネットワークプロトコル通信モジュール内のＴＣＰ／ＩＰプロトコルに係るプログラム構成の概略を示すブロック図である。
【図５】ＩＣＭＰエコーメッセージのフレーム概要を示す概略図である。
【図６】Ｅｔｈｅｒｎｅｔ  Ｈｅａｄｅｒを示す概略図である。
【図７】ＩＰ  Ｈｅａｄｅｒを示す概略図である。
【図８】ＩＣＭＰ  Ｈｅａｄｅｒを示す概略図である。
【図９】本発明のＩＰモジュール４０６の処理の流れを示すフローチャートである。
【図１０】第１の実施の形態における疑似ＩＣＭＰ管理モジュール４０５の処理の流れを示すフローチャートである。
【図１１】一般のネットワークドライバモジュール３０４の処理の流れを示すフローチャートである。
【図１２】一般のＩＰモジュール４０６の処理の流れを示すフローチャートである。
【図１３】一般のＩＣＭＰ管理モジュール４０４の処理の流れを示すフローチャートである。
【図１４】第２の実施の形態における疑似ＩＣＭＰ管理モジュール４０５の処理の流れを示すフローチャートである。
【図１５】レーザビームプリンタの内部構造を示す断面図である。
【図１６】レーザビームプリンタの記録制御を実行するための制御構成を示すブロック図である。
【図１７】インクジェット記録装置の内部構造を示す概観図である。
【図１８】インクジェット記録装置の記録制御を実行するための制御構成を示すブロック図である。
【図１９】発明に係るプログラムコードの供給方法の一例を示す図である。
【符号の説明】
１００  ローカルエリアネットワーク（ＬＡＮ）
１０１  ネットワークボード
１０２  プリンタ
１０３  パーソナルコンピュータ
２０１  ＣＰＵ
２０２  ＲＯＭ
２０３  ＲＡＭ
２０４  拡張インターフェイス制御部
２０５  ＮＶＲＡＭ
２０６  ネットワークインターフェイス制御部
３０１  プリンタインターフェイスドライバモジュール
３０２  印刷プロトコルモジュール
３０３  ネットワークプロトコル通信モジュール
３０４  ネットワークドライバモジュール
３０５  デバイス管理モジュール
４０１  ソケットインターフェイス管理モジュール
４０２  ＴＣＰ管理モジュール
４０３  ＵＤＰ管理モジュール
４０４  ＩＣＭＰ管理モジュール
４０５  疑似ＩＣＭＰ管理モジュール
４０６  ＩＰモジュール
４０７  ＡＲＰモジュール
２２０１  本発明に係るシステム或いは装置
２２０２  フロッピーディスク
２２０３  フロッピーディスクドライブ
２２０４  サーバコンピュータ
２２０５  ネットワーク或いは公衆回線
【図１】
0003563990.tif 000002
【図２】
0003563990.tif 000003
【図３】
0003563990.tif 000004
【図４】
0003563990.tif 000005
【図５】
0003563990.tif 000006
【図６】
0003563990.tif 000007
【図７】
0003563990.tif 000008
【図８】
0003563990.tif 000009
【図９】
0003563990.tif 000010
【図１０】
0003563990.tif 000011
【図１１】
0003563990.tif 000012
【図１２】
0003563990.tif 000013
【図１３】
0003563990.tif 000014
【図１４】
0003563990.tif 000015
【図１５】
0003563990.tif 000016
【図１６】
0003563990.tif 000017
【図１７】
0003563990.tif 000018
【図１８】
0003563990.tif 000019
【図１９】
0003563990.tif 000020