BOOTP【Bootstrap Protocol】

広告

広告

BOOTP とは

最終更新
2006-01-29T13:01:00+09:00
この記事のURI参照
http://www.7key.jp/nw/tcpip/ip/bootp.html#bootp

BOOTstrap Protocolの略で、TCP/IPネットワーク上のホストにおいて、IPアドレスサブネットマスク、ホスト名、ドメイン名デフォルトゲートウェイ等の情報をBOOTPサーバから自動的にダウンロードするためのUDPとIP上で動作するプロトコルです。RFC951にて規定されています。BOOTPサーバ側では前もってMACアドレスとIPアドレス、ホスト名の対応表を用意しておきます。ホストはMACアドレスをブロードキャストし、それを受け取ったBOOTPサーバは既述の対応表に従ってIPアドレスを返答します(DHCPのように動的なIPアドレスの配布は行えません)。このことにより、各ホストに手動でネットワーク関連の設定を行う手間が軽減されます。ただし、DHCPと異なり、IPアドレスのリース期間ゲートウェイアドレスの設定などは行われません。

BOOTPクライアントは、通常IPブロードキャストを使って要求を送り、サーバが応答を生成します。この際、要求と応答で使われるメッセージのフォーマットは同じものが使われます(下記メッセージ構成参照)。応答が送られてこなければ、適切な間隔でそれが届くまでの間同じ要求を繰り返し続けます。要求では応答すべきサーバの名前を任意に示すことができます。このことにより、サーバ情報をBOOTPクライアントとなる装置に事前設定する必要がでてきますが、クライアントが明示的にサーバを指定することもできるのです。

BOOTP要求を作成するクライアントは、自身のIPアドレスが分かっている場合はそれを、分からなければ0をIPヘッダの送信元IPアドレスフィールドに入れます。更に、BOOTPサーバアドレスが分かっていればそれを、分からなければブロードキャストアドレスをIPヘッダの宛先IPアドレスフィールドに入れます。また、クライアントはUDP67番をUDPヘッダの宛先ポートフィールドに、UDP68番をUDPヘッダの送信元ポートフィールドに入れます。そして自身が知っている全ての情報をBOOTPパケットに入れ、送信を開始します。

BOOTPメッセージ構成

最終更新
2006-01-29T13:21:00+09:00
この記事のURI参照
http://www.7key.jp/nw/tcpip/ip/bootp.html#message
BOOTPメッセージ
Operation
(1)
Hardware Address Types
(1)
HardWare Address Length
(1)
Hops
(1)
TransactionID(4)
Seconds(2)Unused(2)
Client IP Address(4)
Your IP Address(4)
Server IP Address(4)
Gateway(Router) IP Address(4)
Client Hardware Address(16)
Server Name(64)
Boot File Name(128)
Vender Specific Area (64)
メッセージ各フィールド
Operation1は起動要求リクエスト、2は応答レスポンス
Hardware Address Typesデータリンク層で扱うハードウェアタイプ(10MbpsEthernet:1,FDDI:4,Ethernet:6...)
Hardware Address Lengthオクテット数で表したハードウェアアドレスの長さ(Ethernet,FDDI:6...)
HopsBOOTPを要求するクライアントが0を入れ、その後要求するサーバまでのホップ数を通過するルータが加えていく
Transaction ID要求を作成するクライアントが無作為に作成した値。トランザクションの固有番号として識別に使う。
Seconds要求を作成したクライアントが0を入れ、経過時間を記録する。
Unused-
Client IP AddressクライアントのIPアドレス(不明な場合は0)
Your IP AddressクライアントIPアドレスにゼロが入っていた場合、サーバはここにクライアントのIPアドレスを入れて返答する
Server IP AddressBOOTPサーバのIPアドレス
Gateway IP AddressゲートウェイのIPアドレス
Client Hardware Addressクライアントのハードウェアアドレス。余りフィールドは0でパディングする
Server Nameサーバの名称。クライアントが名称を知らなければ0を入れる
Boot File Name起動ファイルの名称
Vender Specific Area各ベンダーにて開発した固有のサービスに利用する為に用意されている。最初の4オクテットは後続のデータを解釈するモードを定義するために使われ、マジッククッキーと呼ばれる99.130.83.99の値が用いられる。この際、残りの領域は拡張可能タグ付きフィールドで構成される自由フォーマットとなる。データタイプは固定長と可変長に分けられ、固定長はタグを1つ持ち1オクテット長と認識されるものと特定のデータを持つものに分けられる。可変長データタイプは下表の通り。詳細はRFC1084を参照。
BOOTPベンダ固有領域の可変長データタイプ
タグデータタイプ長さ意味
0パディング-パディングのために使用
1サブネットマスク4ローカルネットワークのサブネットマスクを示す
2時差4ローカルネットの時計の協定世界時からの秒数での時差を符号付き32bit整数で示す
3ゲートウェイ可変フィールドはXオクテット長で、X/4台のルータのIPアドレスを示す。
4タイムサーバ可変フィールドはXオクテット長で、X/4台のタイムサーバのIPアドレスを示す。
5IEN-116サーバ可変フィールドはXオクテット長で、X/4台のIEN-116サーバのIPアドレスを示す。
6ドメインサーバ可変フィールドはXオクテット長で、X/4台のドメインサーバのIPアドレスを示す。
7ログサーバ可変フィールドはXオクテット長で、X/4台のログサーバのIPアドレスを示す。
8クッキーサーバ可変フィールドはXオクテット長で、X/4台のクッキーサーバのIPアドレスを示す。
9LPRサーバ可変フィールドはXオクテット長で、X/4台のBSDプリンタサーバのIPアドレスを示す。
10インプレスサーバ可変フィールドはXオクテット長で、X/4台のインプレスネットワークイメージサーバのIPアドレスを示す。
11RLPサーバ可変フィールドはXオクテット長で、X/4台のリソース位置プロトコルサーバのIPアドレスを示す。
12ホスト名可変クライアントの名前を示す
13起動ファイルサイズ2512オクテットのブロック単位で起動ファイルのサイズを示す。
128-254未使用-追加のサイト固有情報を示す。
255エンドオブリスト-ベンダ固有領域にある使用可能データの終わりを示す。この64オクテット領域の残りスペースは0でパディングされる。

補足

最終更新
2005-07-19T00:00:00+09:00
この記事のURI参照
http://www.7key.jp/nw/tcpip/ip/bootp.html#supplement

BOOTPを基本として一部を改良したDHCP【Dynamic Host Configuration Protocol】が開発され、広く利用されるようになりました。

BOOTPサーバDHCPサーバは同じUDPポート67をListenするため、同時に同じシステムで立ち上げることはできません。

通常、BOOTPクライアントDHCPクライアントも同様)は、UDPポート68を予約し、BOOTPサーバからの応答メッセージを受理します。

広告

当ページ作成にあたり、参考にさせてもらったリソース

Copyright (C) 2005-2006 七鍵 key@do.ai 初版:2005年07月19日 最終更新:2006年01月29日