Bootstrap Protocol

BOOTP(ブートストラッププロトコル)とは



Bootstrap Protocol(BOOTP)は、コンピュータネットワークに接続されたクライアントが、IPアドレスホスト名サブネットマスクなどのネットワーク設定情報を自動的に取得するためのプロトコルです。RFC 951で定義されており、主にオペレーティングシステムが起動する際に利用されます。BOOTPは、ネットワークに接続された機器が起動時に必要なネットワーク設定を自動的に行うことを可能にし、ネットワーク管理を効率化します。

BOOTPの概要



クライアントがネットワークに接続され、電源が投入されてオペレーティングシステムが起動すると、システムソフトウェアはBOOTPメッセージをネットワークにブロードキャストで送信し、IPアドレスの割り当てを要求します。BOOTPサーバは、この要求に基づいて、管理者によって設定されたIPアドレスプールからIPアドレスを割り当てます。BOOTPは転送プロトコルとしてUDPを使用し、サーバはポート番号67でクライアントからの要求を待ち受け、クライアントはポート番号68でサーバからの応答を受信します。これらのポート番号はDHCPと同じです。

BOOTPはIPv4でのみ動作します。歴史的には、IPアドレスの割り当てだけでなく、ディスクレスノードがブートイメージのネットワーク上の場所を取得するためにも使用されました。企業環境では、BOOTPを使って、事前に設定されたクライアントブートイメージを新しいPCに展開することも行われました。

初期のネットワーク接続を確立するためには、ネットワークカードの製造元はブート用のフロッピーディスクを用意する必要がありました。しかし、その後、インターフェイスカードのBIOSやオンボードネットワークアダプタを備えたシステムボードにBOOTPが組み込まれ、直接ネットワークブートが可能になりました。

BOOTPからDHCPへ



BOOTPは、IPアドレスのリース機能を持たないため、一度割り当てられたIPアドレスは固定となります。この制限を克服するために、リース機能を追加したDynamic Host Configuration Protocol(DHCP)が開発され、BOOTPは次第にDHCPに置き換えられました。しかし、現在でもBOOTPの一部はDHCPプロトコルにサービスを提供するために使用されており、DHCPサーバは従来のBOOTP機能も提供しています。

BOOTPの歴史



BOOTPは、1985年9月に公開されたRFC 951で最初に定義されました。これは、1984年6月にRFC 903で公開されたReverse Address Resolution Protocol(RARP)を置き換えるものでした。RARPがBOOTPに置き換えられた理由は、RARPがリンク層プロトコルであったため、多くのサーバープラットフォームでの実装が困難であり、かつサーバーを個々のサブネットに配置する必要があったからです。

BOOTPは標準IPルーティングを使用してローカルネットワークからBOOTPパケットを転送するリレーエージェントの技術を導入し、1つのBOOTPサーバーで多数のサブネット上のホストにサービスを提供できるようにしました。

BOOTPの動作



クライアントとサーバが同じネットワーク上にある場合


1. BOOTPサーバは、MACアドレスIPアドレスホスト名の対応表を事前に用意します。
2. ネットワークに接続された機器は、自身のMACアドレスブロードキャストで送信します。
3. BOOTPサーバは、受け取ったMACアドレスに対応するIPアドレスを対応表から検索し、クライアントに送信します。

DHCPのような動的なIPアドレスの配布は行えません。BOOTPサーバはUDPポート67でパッシブオープンコマンドを発行してクライアントを待ち受け、クライアントは起動時にポート68でアクティブオープンコマンドを発行します。このメッセージはUDPユーザデータグラムにカプセル化され、UDPユーザデータグラムはIPデータグラムにカプセル化されます。クライアントは送信元アドレスにオール0(0.0.0.0)、宛先アドレスにオール1(255.255.255.255)を使用します。

クライアントとサーバが異なるネットワーク上にある場合


BOOTPリクエストはブロードキャストで送信されるため、ルータを通過することができません。この問題を解決するために、リレーエージェントが導入されました。

1. リレーエージェントは、BOOTPサーバのユニキャストアドレスを事前に知っており、ポート67でブロードキャストメッセージを待ち受けます。
2. リレーエージェントがブロードキャストパケットを受信すると、メッセージをユニキャストデータグラムにカプセル化し、BOOTPサーバに要求を送信します。
3. ユニキャストパケットはルータを通過することができ、パケットがBOOTPサーバに到達します。BOOTPサーバはリレーエージェントに応答を送信します。
4. リレーエージェントは、BOOTPサーバからの応答を受け取ると、それをクライアントに送信します。

関連技術




外部リンク



もう一度検索

【記事の利用について】

タイトルと記事文章は、記事のあるページにリンクを張っていただければ、無料で利用できます。
※画像は、利用できませんのでご注意ください。

【リンクついて】

リンクフリーです。