ホームページ  >  記事  >  ブートストラップとはどのようなプロトコルですか?

ブートストラップとはどのようなプロトコルですか?

青灯夜游
青灯夜游オリジナル
2021-12-28 14:38:282329ブラウズ

ブートストラップ プロトコルの正式名称は「Bootstrap Protocol」、中国語で「ブートストラップ プロトコル」を意味し、「UDP/IP」をベースにしたプロトコルで、主にクライアントがブートストラップ プロトコルを取得するために使用されます。サーバーからの独自の IP アドレス サーバーの IP アドレスとブート イメージ ファイル名。

ブートストラップとはどのようなプロトコルですか?

#このチュートリアルの動作環境: Windows 7 システム、DELL G3 コンピューター

BOOTP: ブートストラップ プロトコル

ブートストラップ プロトコル (BOOTP) は、UDP/IP に基づくプロトコルです。このプロトコルを使用すると、ユーザーの監視なしで起動ホストを動的に構成できます。 BOOTP は主に、クライアントが自身の IP アドレス、サーバーの IP アドレス、およびサーバーからブート イメージ ファイル名を取得するために使用されます。ローカル サブネット マスク、ローカル タイム オフセット、デフォルト ルーター アドレス、さまざまなインターネット サーバー アドレスなどのその他の構成情報は、BOOTP プロトコルを使用してクライアントに伝達できます。

BOOTP は、2 つの異なる既知の通信ポート UDP67/68 を使用します。 UDP67 はサーバーに使用され、UDP68 は BOOTP クライアントに使用されます。クライアントの起動時、クライアントにはまだ IP アドレスがありません。このとき、BOOTP クライアントは、ブロードキャストの形式で BOOTREQUEST という名前の IP アドレス クエリ要求パケットを送信します。この要求パケットには、クライアントの物理アドレスが含まれており、また、 IP アドレス。すでに存在する場合。クライアントは、アドレス 255.255.255.255 を使用してブロードキャストを送信します。この特別なアドレスは、制限付きブロードキャスト アドレスと呼ばれます。次に、クライアントはサーバーからの応答を待ちます。一定期間内に応答が受信されない場合、クライアントは要求を再発行します。

サーバーは、bootreply パケットを通じてクライアントの要求に応答します。リクエストには、unix や ethertip などの「一般的な」ブート ファイル名を含めることができます。ただし、サーバーがブート応答パケットを送信すると、このフィールドは対応するブート ファイルの正確なパス名に置き換えられます。パス名を決定するために、サーバーは独自のデータベースにクエリを実行します。このデータベースは、クライアント アドレス、要求されたファイル名、およびユーザー用にカスタマイズされた特別なブート ファイルを関連付けます。リクエスト (bootrequest) ファイル名が空の場合、サーバーはクライアントがロードする必要があるデフォルト ファイルを示すファイル名フィールドを返します。

クライアントの IP アドレスが不明な場合、サーバーにはハードウェア アドレスと IP アドレスに対応するデータベースが必要です。クライアントの IP アドレスも「bootreply」のフィールドに入力されます。

BOOTP は RARP に似ていますが、RARP は LAN ネットワークのデータ リンク層でのみ実行されます。一方、UDP/IP ベースの構成プロトコル BOOTP はより多くの構成情報を提供し、IP ネットワーク全体を動的に構成できます。 . .要約すると、BOOTP とその拡張機能は、Dynamic Host Configuration Protocol (DHCP) の基礎となりました。

#プロトコル構造

8HtypeフラグYiaddrSiaddrGiaddrChaddr (16 バイト) sname (64 バイト) ファイル (128 バイト) オプション (変数) Htype – ハードウェア アドレス タイプ
##16 24 32 ##Op
Hlen ホップ Xid
##Ciadr
Op - メッセージ オペレーション コード。ブート要求 (BOOTREQUEST) またはブート応答 (BOOTREPLY) にすることができます
Hlen – ハードウェア アドレスの長さ
  • Xid – トランザクション ID.
  • Secs – クライアントがアドレス要求または更新を開始した後 経過時間 (秒)
  • Flags – フラグ
  • Ciaddr – クライアント IP アドレス
  • Yiaddr – 「お客様の」(クライアント) IP アドレス
  • Siaddr – IPブートストラップで次に利用可能なサーバーのアドレス
  • Giaddr – プロキシ経由で起動する場合のプロキシの IP アドレス
  • Chaddr – クライアント ハードウェア アドレス
  • Sname - 他の利用可能なサーバーホスト名、ヌル ターミネータ
  • ファイル - ブート ファイル名、ヌル ターミネータ、DHCPDISCOVER パッケージの属性名またはヌル値、DHCPOFFER パッケージの完全修飾ディレクトリ パス名
  • オプション – オプションのパラメータ フィールド
  • BOOTP は IETF (http://www.ietf.org) RFC 951 および RFC 1542 によって定義されています。
  • さらに関連する知識については、
  • FAQ
  • 列を参照してください。

以上がブートストラップとはどのようなプロトコルですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。