ネットワークプロトコルについての楽しい話-講義4 | DHCPおよびPXE:IPはどのようにして生まれ、なぜそうではなかったのですか?

関連するブログ、参照この一連のオタクの時間-ネットワークプロトコルについての何か

ネットワークプロトコルについての楽しい話-講義4 | DHCPおよびPXE:IPはどのようにして生まれ、なぜそうではなかったのですか?

前のセクションでは、IPのいくつかの基本概念について説明しました。他のマシンと通信する必要がある場合は、通信アドレスが必要です。そのようなアドレスをネットワークカードに構成する必要があります。

IPアドレスの設定方法は?

設定方法は?関連する知識と蓄積がある場合は、コマンドラインを使用して自分でアドレスを構成できます。ifconfigまたはip addrを使用できます。設定後、次の2つのコマンドを使用してネットワークカードを起動すると、作業を開始できます。

net-toolsを使用します。

$ sudo ifconfig ethl 10.0.0.1/24
$ sudo ifconfig ethl up

iproute2を使用します。

$ sudo ip addr add 10.0.0.1/24 dev ethl
$ sudo ip link set up ethl

あなたが質問するかもしれません、これを自分で設定するのはあまりにも自由ですか、何か設定できますか?万人向けではないアドレスを設定するとどうなりますか?たとえば、側のマシンはすべて192.168.1.xですが、16.158.23.6を構成する必要があります。どうなりますか?

現象が発生しないため、パッケージを発送できません。どうして送れないの?例を挙げましょう。

同じスイッチ上であっても、192.168.1.6がマシンの横にあり、マシンのアドレスを16.158.23.6に設定します。このマシンで192.168.1.6にpingを送信しようとしましたが、パケットが送信されている限り、同じスイッチ上の別のマシンがすぐにそれを受信すると思いますか?

しかし、Linuxシステムはこれとは異なり、思ったほどスマートではありません。マシンが肉眼で隣にあることがわかり、独自のロジックに従って処理する必要があります。

セクション2で述べた原則を覚えていますか?パケットがネットワーク上で実行されている限り、それらはすべて完全です。下位層も上位層も存在しない可能性があります。上位層と下位層を持たせることは絶対に不可能です。

つまり、独自の送信元IPアドレス16.158.23.6と宛先IPアドレス192.168.1.6があることがわかりますが、MAC層がまだ満たされていないため、パケットを送信できません。

自分のMACアドレスを知るのは簡単です。しかし、ターゲットMACはどうでしょうか?このマシンのMACアドレス192.168.1.6を入力しましたか?

もちろん違います。Linuxは最初に、移動するアドレスが私と同じネットワークセグメントにあるか、それとも私のネットワークカードの1つと同じネットワークセグメントにあるかを判断しますか?ネットワークセグメントの場合のみ、MACアドレスを取得するためにARP要求を送信します。そうでない場合はどうなりますか?

Linuxのデフォルトのロジックは、これがクロスセグメントコールの場合、パケットをネットワークに直接送信せず、ゲートウェイにパケットを送信しようとすることです。

ゲートウェイを設定すると、LinuxはゲートウェイのMACアドレスを取得して、パケットを送信します。192.168.1.6のマシンの場合、ターゲットIPはドアを通過するこのパケットですが、MACアドレスは無力であるため、ネットワークカードはパケットを受け入れません。

ゲートウェイが構成されていない場合はどうなりますか?パッケージはまったく送信できませんでした。

ゲートウェイが192.168.1.6に構成されている場合はどうなりますか?ゲートウェイは現在のネットワークの少なくとも1つのネットワークカードと同じネットワークセグメント上にある必要があるため、Linuxでは正常に構成できません。16.158.23.6192.168.1.6のゲートウェイはどうですか?

したがって、マシンのネットワークIPを手動で構成する必要がある場合は、必ずネットワーク管理者に問い合わせてください。コンピュータルームにいる場合は、ネットワーク管理者に申請して、正しいIPアドレスを割り当てさせます。もちろん、実際に構成するときは、コマンドで直接構成するのではなく、構成ファイルに配置する必要があります。不同系统的配置文件格式不同,但是无非就是CIDR、子网掩码、广播地址 和 网关地址

動的ホスト構成プロトコル(DHCP)

IPを構成するには多くの方法があることがわかります。IPを構成した後は、通常は変更できませんが、サーバーマシンを構成しても問題ありませんが、クライアントマシンはどうでしょうか。ラップトップを持って会社内を歩き回ったり、昼も夜も歩いています。使用するたびにIPアドレスを構成する必要があります。人事や管理などの技術者以外の人もいますが、会社のすべてのコンピュータにITスタッフが必要な場合は、忙しすぎるでしょう。

したがって、动态主机配置协议Dynamic Host Configuration Protocolとしても知られる、自動的に構成されたプロトコルの省略形が必要DHCPです。

この合意により、ネットワーク管理者ははるかに簡単になります。彼は共有IPアドレスを構成するだけでよく、新しく接続された各マシンはDHCPプロトコルを介してこの共有IPアドレスに適用し、それを自動的に構成します。他のマシンが使用できるように、誰かが去る、またはなくなるまで待ってから戻ってください。

したがって、それがデータセンター内のサーバーである場合、IPを構成しても基本的には変更されません。これは、家を購入して改修することと同じです。DHCPは家を借りるのと同じです。あなたは改修する必要はありません、それらはすべてあなたのために構成されています。しばらく使用でき、リースのキャンセルに使用できます。

DHCPの動作を分析する

マシンが新しいネットワークに参加するとき、それは恥ずかしくてはならず、自分のMACアドレスしか知りません。どうする?最初の叫び、私は誰か来ますか?この時のコミュニケーションは基本的に「轟音」に依存していました。このステップは、私たちが呼ぶものDHCP Discoverです。

新しいマシンは、IPアドレス0.0.0.0を使用してブロードキャストパケットを送信し、宛先IPアドレスは255.255.255.255です。ブロードキャストパケットはUDPでカプセル化され、UDPはBOOTPでカプセル化されます。実際、DHCPはBOOTPの拡張バージョンですが、パケットをキャプチャする場合、おそらく表示される名前はBOOTPプロトコルのままです。

このブロードキャストパッケージでは、新人が叫びました:私はここにいます(Boot request)、私のMACアドレスはこれです、まだIPを持っていないので、IPアドレスを貸してくれます!

形式は次のとおり
ここに画像の説明を挿入
です。ネットワーク管理者がネットワークで構成する場合DHCP Server、彼はこれらのIPの管理者と同等です。彼はすぐに「新人」が来ることを知っていました。現時点では、MACアドレスのみの重要性を理解できます。マシンが独自のMACアドレスでネットワークに参加する場合、MACが唯一のIDであり、これが繰り返されたとしても、それを構成する方法はありません。

MACが一意である場合にのみ、IP管理者はこれが新しいメンバーであり、IPアドレスと呼ばれるプロセスをリースする必要があることを知ることができますDHCP Offer同時に、DHCPサーバーは提供されたIPアドレスをこのクライアント用に予約するため、このIPアドレスを他のDHCPクライアントに割り当てません。
DHCPオファーのフォーマットは、下の図に示すとおりで、新規参入者に割り当てられたアドレスが含まれています。
ここに画像の説明を挿入
DHCPサーバーは、ブロードキャストアドレスを宛先アドレスとして使用します。これは、現時点で、IP割り当てを要求する新規の参加者が自分のIPを持っていないためです。

DHCPサーバーは、利用可能なIPを割り当てたと答えました。さらに、サーバーはサブネットマスク、ゲートウェイ、IPアドレスのリース期間などの情報も送信しました。

新しいマシンは非常に満足しており、その「うなり声」に答えており、誰かがIPアドレスを貸してくれます。つまり、ネットワーク上に立つことができます。もちろん、複数のDHCPサーバーがある場合、この新しいマシンが複数のIPアドレスを受け取ることはさらに楽しいです。

通常、最初に到着すると、ネットワークに送信されます、のためにそれを一つ選択DHCPオファーペナルティDHCP Requestブロードキャストパケットは、パケットがクライアントのMACアドレスを含み、リースで受信したIPアドレスは、このリースDHCPサーバのアドレスを提供します、そしてすべてのDHCPサーバーに、提供されたIPアドレスを受け入れるサーバーを伝え、他のDHCPサーバーに伝え、同意していただき、次のIPリース要求者に提供するために、提供されたIPアドレスを取り消すように要求します。
ここに画像の説明を挿入
現時点では、DHCPサーバーは最終確認を受信して​​いないため、クライアントは引き続き送信元IPアドレスとして0.0.0.0を使用し、ブロードキャストの宛先アドレスとして255.255.255.255を使用します。BOOTPで、DHCPサーバーに割り当てられたIPを受け入れます。

DHCPサーバーは、クライアントのDHCPリクエストを受信すると、DHCP ACKメッセージパケットをクライアントにブロードキャストし、クライアントの選択が受け入れられたことを示し、このIPアドレスの正当なリース情報とその他の構成情報をブロードキャストに入れます。クライアントに送信されたパッケージは、ネットワークファミリへの参加を歓迎します。
ここに画像の説明を挿入
最終リースに達しても、それをブロードキャストして、全員に知らせる必要があります。

IPアドレスの回復とリースの更新

家を借りているので、レンタル期間があります。リースの期限が切れると、管理者はIPを取り戻します。

使用しない場合は、元に戻してください。家を借りるのと同じように、リースを更新したい場合、その時点でリースを更新することはできませんが、事前に家主に伝えてください。DHCPについても同様です。

クライアントは、リース期間が50%経過すると、IPアドレスを提供するDHCPサーバーにDHCP要求メッセージパケットを直接送信する機会があります。サーバーから返されたDHCP ACKメッセージパケットを受信した後、クライアントは、パケットで提供された新しいリース期間と更新された他のTCP / IPパラメータに従って構成を更新します。このようにして、IPリースの更新が完了します。

まあ、すべてが完璧に見えます。ほとんどの人はDHCPプロトコルを知っていますが、実際には詳細が隠されており、多くの人はDHCPプロトコルに注意を払わないかもしれません。次に、興味深いことについてお話します。ネットワーク管理者は、IPアドレスを自動的に割り当てるだけでなく、オペレーティングシステムを自動的にインストールすることもできます。

プリブート実行環境(PXE)

通常のノートブックコンピュータには、通常、この要求はありません。コンピュータを入手した時点で、すでにオペレーティングシステムを持っているので、自分でオペレーティングシステムを再インストールしても、それほど面倒なことではありません。ただし、データセンターでは異なります。データセンターの管理者は何百もの空のマシンを一度に取得する可能性があり、オペレーティングシステムを1つずつインストールするのは大変です。

したがって、管理者は、IPアドレスを自動的に割り当てるだけではなく、システムを自動的にインストールすることも求めています。システムのインストール後、IPアドレスが自動的に割り当てられ、起動後すぐに使用できますが、これが最適です。

この問題を注意深く考えることは実際にはかなり難しいです。オペレーティングシステムをインストールします。CDが必要です。データセンターでCDを使用することはできません。CDにインストールするオペレーティングシステムをサーバー上のCDに入れ、クライアントにCDをダウンロードさせるのが1つの方法です。しかし、クライアントはどこですか?ダウンロードするサーバーをどのようにして知るのですか?クライアントはオペレーティングシステムにインストールする必要がありますが、このクライアントはもともとオペレーティングシステムのインストールに使用されていますか?

実際、このプロセスはオペレーティングシステムの起動プロセスと似ています。まず、BIOSを起動します。これは、非常に小さなことしかできない非常に小さなシステムです。実際には、ハードディスクのMBRブートセクターを読み取ってGRUBを起動します。次に、GRUBに電力を渡し、GRUBがカーネルをロードし、initramfsファイルをルートファイルシステムとしてロードします。次に、電力をカーネルに渡します。最後に、カーネルが起動し、操作全体を初期化します。システム。

オペレーティングシステムのインストールプロセスは、BIOSの起動後にのみ挿入できます。システムがインストールされる前は、ブートセクターすらありませんでした。したがって、このプロセスは预启动执行环境Pre-boot Execution Environmentと呼ばれ、省略されPXEます。

PXEプロトコルはクライアントとサーバーに分かれており、まだオペレーティングシステムがないため、クライアントは最初にBIOSにのみ配置できます。コンピュータが起動すると、BIOSがPXEクライアントをメモリに転送し、サーバーに接続していくつかの操作を実行できます。

まず、PXEクライアントにはIPアドレスも必要です。PXEクライアントは起動するため、DHCP要求を送信し、DHCPサーバーにアドレスを割り当てることができます。PXEクライアントには独自のアドレスがあるため、PXEサーバーがどこにあるかをどのようにして知るのでしょうか。他の合意については、それは扱いやすいか、誰かが彼に話します。たとえば、アクセスするIPアドレスをブラウザに伝えるか、構成でそれを伝えます(たとえば、マイクロサービス間の相互呼び出し)。

しかし、PXEクライアントが起動したとき、何もありませんでした。さいわい、DHCPサーバーは、IPアドレスの割り当てに加えて、他のいくつかのことも実行できます。DHCPサーバーの構成例を以下に示します。

ddns-update-style interim;
ignore client-updates;
allow booting;
allow bootp;
subnet 192.168.1.0 netmask 255.255.255.0
{
option routers 192.168.1.1;
option subnet-mask 255.255.255.0;
option time-offset -18000;
default-lease-time 21600;
max-lease-time 43200;
range dynamic-bootp 192.168.1.240 192.168.1.250;
filename "pxelinux.0";
next-server 192.168.1.180;
}

上記の原則に従って、デフォルトのDHCPサーバーを構成する必要があります。IPを構成するときに必要なのは、IPアドレスセグメント、サブネットマスク、ゲートウェイアドレス、リース期間などです。PXEを使用する場合は、next-serverを構成し、PXEサーバーのアドレスをポイントして、初期起動ファイルのファイル名を構成する必要があります。

このように、PXEクライアントの起動後、DHCP要求を送信した後、IPアドレスを取得するだけでなく、PXEサーバーの場所を確認したり、PXEサーバーからファイルをダウンロードしてオペレーティングシステムを初期化する方法を確認したりすることもできます。

PXEの作業プロセスを分析する

次に、PXEの動作プロセスを詳しく見てみましょう。

まず、PXEクライアントを起動します。最初のステップは、DHCPプロトコルを介してDHCPサーバーに通知することです。到着したばかりで、何もする必要はありません。DHCPサーバーはIPアドレスをリースし、PXEサーバーのアドレスと起動ファイルも提供しますpxelinux.0

次に、PXEクライアントがこのファイルをPXEサーバーからダウンロードすることを認識した後、マシンを初期化できます。したがって、ダウンロードが開始され、ダウンロードにはTFTPプロトコルが使用されました。したがって、PXEサーバー上にTFTPサーバーが存在することがよくあります。PXEクライアントはTFTPサーバーにファイルのダウンロードを要求します。TFTPサーバーは「はい」と言って、ファイルをサーバーに渡します。

次に、ファイルを受信した後、PXEクライアントはファイルの実行を開始します。このファイルは、TFTPサーバーからコンピューターの構成情報を要求するようにPXEクライアントに指示しますpxelinux.cfgTFTPサーバーは、PXEクライアントに構成ファイルを提供します。これは、カーネルの場所とinitramfsの場所を示します。PXEクライアントはこれらのファイルを要求します。

最後に、Linuxカーネルを起動します。オペレーティングシステムが起動すると、将来はすべてが容易になります。
ここに画像の説明を挿入
これでこのセクションは終わり、今日の内容を要約します。

まとめ

  • DHCPプロトコルは、主に不動産業者のように顧客にIPアドレスをレンタルするために使用されます。交渉、契約の締結、およびリースの更新を行う場合、ブロードキャストは「注文をスナップ」できません。
  • DHCPプロトコルは、「装飾チーム」のPXEを顧客に推奨し、クラウドコンピューティングの分野で非常に役立つオペレーティングシステムをインストールできます。

最後に、このセクションを終了した後、2つの考え方について質問します。

  1. PXEプロトコルを使用してオペレーティングシステムをインストールできますが、再起動するたびにオペレーティングシステムをインストールすると、非常に面倒になります。オペレーティングシステムを初めてインストールし、その後通常どおりに起動する方法を知っていますか?
  2. インターネットアクセスは非常にシンプルになりました。ホームルーターを購入し、WFIに接続し、DHCPにIPアドレスを割り当てれば、インターネットに接続できます。単純なネットを自分で設定するために、より原始的な方法を使用したことがありますか?聞いてください。
公開された40元の記事 ウォンの賞賛1 ビュー4974

おすすめ

転載: blog.csdn.net/aha_jasper/article/details/105526246