Ciscoルータで学ぶネットワーク >BOOTP
当サイト概要CCNA・CCENT・資格書籍学習環境の準備リンクについてリンクの申込お問い合せプライバシーポリシー
◆BOOTP

BOOTPとは


BOOTP(ブートストラッププロトコル)は、DHCPの前に開発されたホストを構成するためのプロトコルです。

BOOTPは、1985年のRFC 951で定義されています。

 DHCPは、BOOTPに改良を加えたプロトコルで、ホストを構成するサービスとしてのBOOTP の限界を解決しています。30を超える設定パラメータがサポートされています。

 クライアントとサーバー間の通信では、UDPポートを使用します。クライアントからBOOTPおよびDHCPサーバへは、UDPのポート番号67を使用し、BOOTPおよびDHCPサーバからクライアントへは、UDPのポート番号68を使用します。このUDPポートの67番と68番は、現在でもBOOTPポートと呼ばれています。

BOOTPとDHCPの大きな相違点は3つあります。まとめると下の表のようになります。

●DHCPのメッセージの主要項目
BOOTP DHCP
スタティックマッピング ダイナミックマッピング
恒久的な割り当て リース
4つの設定パラメータのみをサポート 30を超える設定パラメータをサポート

 DHCPでは、クライアントへIPアドレスをダイナミックに割り当てることができますが、BOOTPでは、スタティックな割り当てを行います。

 BOOTPでは、クライアントからIPアドレスの要求があると、あらかじめBOOTPサーバ上で定義されているテーブルからクライアントのMACアドレスに関連付けられたIPアドレスを探し出し、それをクライアントに割り当てます。

 また、DHCPでは一定期間、クライアントにIPアドレスを割り当て、期間が過ぎると別のクライアントに割り当てることができますが、BOOTPでは、IPアドレスは、MACアドレスに関連付けられているため、別のクライアントにIPアドレスを割り当てることはできません。

 DHCPでは、WINSやドメイン名など、30を超える設定パラメータがサポートされていますが、BOOTPでは、4つの設定パラメータだけがサポートされています。


BOOTPのメッセージフォーマット


 BOOTP、DHCPのメッセージは、ほとんど同じ形式の構造を使用しています。最終フィールドのみ異なります。BOOTPの場合、この省略可能なフィールドを「ベンダ固有領域」と呼び64バイトに制限しています。

 BOOTP、DHCPのメッセージは、ほとんど同じ形式の構造を使用しています。最終フィールドのみ異なります。BOOTPの場合、この省略可能なフィールドを「ベンダ固有領域」と呼び64バイトに制限しています。

DHCPの場合、この領域は、可変長で「オプション」と呼び、DHCPオプション情報を伝達できるようにしています。

下の図は、BOOTPのメッセージフォーマットです。

0 15 16 31
OP
(8ビット)
ハードタイプ
(8ビット)
ハードウェア長
(8ビット)
ホップ数
(8ビット)
トランザクションID
(32ビット)
経過秒数
(16ビット)
フラグ
(16ビット)
CIADDR(クライアントのIPアドレス)
(32ビット)
SIADDR(サーバのIPアドレス)
(32ビット)
GIADDR(クライアントのIPアドレス)
(32ビット)
CHADDR(クライアントのMACアドレス)
(16バイト)
SNAME(サーバ名)
(64バイト)
ブートファイル名
(128バイト)
ベンダ固有領域
(64バイト)
←―― 32ビット ――→

BOOTPメッセージの主要の項目を下表に示します。

●BOOTPのメッセージフォーマット
情報名 説明
CIADDR クライアントIPアドレス、クライアントがBOUND、 RENEW、REBINDING状態の場合に用いられる。
YIADDR DHCPサーバが割り当てるクライアントのIPアドレス(自分のIPアドレス)
SIADDR DHCPサーバのIPアドレス
GIADDR DHCPリレーエージェントのIPアドレス。DHCPサーバはGIADDRを見てクライアントの所属するサブネットを識別する。
CHADDR クライアントのMACアドレス


BOOTPによるネットワークブートの仕組み


 コンピュータがまだ、非常に高価だった時、ハードディスクを持たない安価なディスクレスパソコンが企業でよく利用されていました。今でもハードディスクをユーザから物理的に切り離すことで情報漏洩の防止が期待できることから、また脚光を浴びています。

 特にコンピュータに最低限の機能しか持たせないでサーバ側でアプリケーションソフトやファイルなどの資源を管理するシンクライアントのシステムは注目を集めています。

ディスクレスのクライアントをネットワーク経由でブートして使用する方法には、いくつか方法があります。

●NICで起動してネットワーク経由でブートする方法
●DOSで起動してネットワークでブートする方法
●BOOTPに対応したカーネルを使用しフロッピーから起動する方法

 ここでは、今となっては対応しているNICが限られますがNICで起動してネットワーク経由でブートする仕組みを紹介して行きます。採用するにあたって使用するネットワークカードが対応しているかどうかが常に問題になります。

 ディスクレスコンピュータの場合、ハードディスクがないので、ローカルでブート情報を持つことができません。OSがないわけですから自力では起動することができません。

 そこで、ディスクレスコンピュータはネットワークを経由してブートを行う必要が生じじてきます。その時に使われるのがBOOTPです。

●BOOTPによるブートの仕組み

 BOOTPは、起動時にブート情報をサーバに対して要求し、ブート情報を転送するという難しい局面で使用され、次のような手順でやり取りが行われます。

@クライアントに電源がONになるとローカルのROMからUDP手順がロードされます。
AUDPを通じて、サーバにブート情報を要求します。
Bサーバ側はブート情報をTFTPを利用して転送します。

 ここで使用されるTFTPは、FTPの簡易版に当たるプロトコルで、認証などの機能がない分、軽快に動作するプロトコルです。UDPの69番のポートが使用されます。
◆Menu
◆スポンサードリンク
◆Amazon

Copyright(c)2014〜 Ciscoルータで学ぶネットワーク All rights reserved.