【コンピュータネットワーク】——通信プロトコルの概要(ネットワークプロトコル、ネットワークレイヤリング、ifconfige コマンドライン、DHCP および PXE)

1. ネットワーク プロトコルを学ぶ理由

協定の 3 つの要素:

人間とコンピューターの間で通信を行うには合意が必要であり、この合意によってのみ、コンピューターは私たちが何をしたいのかを知ることができます。

コンピュータ言語は、プログラマがコンピュータの作業を制御するためのプロトコルとして、プロトコルの 3 つの要素を備えていることがわかります。

文法とは、この段落の内容が特定の規則と形式に準拠している必要があることを意味します。たとえば、括弧をペアにする、セミコロンで終了する
などです。
セマンティクスとは、コンテンツのこの段落が特定の意味を表す必要があることを意味します。たとえば、数値から数値を減算することは理にかなっています
が、数値からテキストを減算することは一般的に意味がありません。
順序は、最初に何をし、後で何をするかです。たとえば、最初に値を加算してから値を減算できます。

ネットワーク プロトコルを介してのみ、マシンの大規模なグループが互いに協力して 1 つのことを一緒に達成できます。

では、ネットワーク プロトコルとはどのようなものでしょうか。あなたは何ができますか?

商品を購入する場合、ブラウザを開いてショッピングサイトのアドレスを入力するのが従来方法でした。ブラウザにカラフルなページが表示されますブラウザーがこれを行う方法について深く考えたことはありますか? カラフルなページを表示できるのは、HTTP プロトコルから「もの」を受け取るためです。

例として Netease Kaola を取り上げます。形式は次のとおりです。

まず第一に、それは文法に準拠しています。つまり、上記の形式に従ってのみ、ブラウザはそれを認識します。たとえば、ステータス、
ヘッダー、コンテンツの順に続きます。
第二に、それはセマンティクスに準拠しています。つまり、合意された意味に従わなければなりません。たとえば、ステータス 200 は、Web ページが正常に返されたことを意味します
失敗した場合は、当社共通の「404」です。
第三に、注文に従って、ブラウザをクリックして HTTP リクエストを送信すると、上記の HTTP の文字列が返されます

ブラウザは明らかに契約で合意されたことを実行し、最後のカラフルなページが目の前に表示されました.

 一般的に使用されているネットワーク プロトコルは何ですか?

発注プロセスを使用して、インターネット世界の運用に使用されているネットワーク プロトコルを確認します。

最初にブラウザに https://www.kaola.com と入力します。これはURLです

                                        ↓

ブラウザは名前が「www.kaola.com」であることしか認識していませんが、具体的な場所はわかっていないため、アクセス方法はわかりません

                                        ↓

アドレス帳を開いて調べます一般的なアドレス帳プロトコルDNSを使用して検索することも、別のより正確なアドレス帳検索プロトコルHTTPDNSを使用することもできます。

                                        ↓

どの方法で検索しても、最終的には 106.114.138.24 というアドレスが表示されますこれIPアドレスで、インターネット世界の「番地」です。

                                        ↓

ターゲット アドレスを認識したブラウザは、リクエストのパッケージ化を開始します。

ターゲット アドレスを認識したブラウザは、リクエストのパッケージ化を開始します。通常のブラウジング リクエストにはHTTP プロトコルがよく使用されます

ただし、ショッピングのリクエストについては、暗号化された送信が必要になることが多いため、HTTPSプロトコルが使用されます。どのような契約であっても、「何をどれだけ購入したいか」が記載されています。 

DNS、HTTP、および HTTPSが配置されている層は、アプリケーション層と呼ばれます。

                                         ↓

アプリケーション層のカプセル化の後、ブラウザーはアプリケーション層パッケージを次の層に渡して完成させます。これは、ソケット プログラミングによって実現されます。次の層はトランスポート層です。

                                         ↓

トランスポート層には2 つのプロトコルがあり、1 つはコネクションレス プロトコルUDPで、もう 1 つは接続指向プロトコルTCPです。

支払いには、TCP プロトコルがよく使用されます。いわゆる接続指向とは、TCP がパケットが確実に宛先に到達できることを意味します。届かない場合は届くまで再送となります。

                                         ↓

TCPプロトコルには 2 つのポートがあり、1 つはブラウザによって監視されるポートで、もう 1 つはe コマース サーバーによって監視されるポートです。オペレーティング システムは、取得したパッケージをどのプロセスにポート経由で渡すかを判断することがよくあります。

                                         ↓

トランスポート層がカプセル化されると、ブラウザはパケットをオペレーティング システムのネットワーク層に渡します

ネットワーク層のプロトコルはIP プロトコルです。IP プロトコルには、送信元 IP アドレス、つまり、ブラウザが配置されているマシンの IP アドレスと、ターゲットIP アドレス、つまり、電子商取引 Web サイトが配置されているサーバーの IP アドレスがあります。 .

                                         ↓

オペレーティング システムはターゲット IP アドレスを認識したので、この番地に基づいてターゲット マシンを見つける方法を考え始めます

                                         ↓

オペレーティング システムは、多くの場合、ターゲット IP アドレスがローカルか外国人かを判断します。地元の方なら番地で分かりますが、明らかにECサイトは地元ではなく、離れた場所にあります。

                                         ↓

外国に行けば税関に行く必要があり、他の場所に行く場合はゲートウェイに行かなければなりません。

オペレーティング システムが起動すると、DHCP プロトコルによって IP アドレスが設定され、デフォルト ゲートウェイの IP アドレス 192.168.1.1 が設定されます。

                                         ↓

オペレーティング システムはどのように IP アドレスをゲートウェイに送信しますか?

                                         ↓

ローカル通信は基本的に轟音に依存しているため、オペレーティングシステムが轟音を鳴らします.192.168.1.1は誰ですか?ゲートウェイがそれに答えます。私は、私の地元の住所は村の東端にあります。このローカルアドレスがMACアドレスで、うなり声がARPプロトコルです。

                                         ↓

そのため、オペレーティング システムは IP パケットを次の層であるMAC 層に渡しました。

次に、ネットワーク カードがパケットを送信します。このパケットには MAC アドレスが含まれているため、ゲートウェイに到達できます。

                                         ↓

多くの場合、ゲートウェイはルーターであり、特定の IP アドレスに移動する方法であり、これをルーティング テーブルと呼びます。

                                         ↓

ルーターは、玄奘三蔵が西への旅で通過した国の城門に少し似ています各シティゲートは2カ国に接続されており、それぞれの国がローカルエリアネットワークに相当し、それぞれの国内ではローカルアドレスMACを使用して通信することができます

                                         ↓

市の門を通過したら、IPヘッダーを取り出す必要があります。これは、貧しい僧侶が東の唐王朝の出身であり(つまり、送信元IPアドレス)、仏を崇拝するために西に行きたいということです。経典を求めます (ターゲット IP アドレスを参照)。バオディを通り過ぎて、一泊して、明日から、次はどうしよう? 

城関と隣接する城関はしばしば互いに通信するため、城関はしばしばこの「知識」を知っています。どこにどのように移動するか、この種の通信プロトコルはルーティング プロトコルと呼ばれ、一般的に使用されるのはOSPF と BGPです。 

                                         ↓

城関と城関の間には国があり、ネットワーク パケットが次にどの城関に行くかを知っている場合でも、その国の MAC アドレスを使用して、次の城関の MAC アドレスから次の城関を見つけ、次の城関に問い合わせる必要があります。次のステップ 最後のゲートを出るまで進みます。

                                         ↓

最後のゲートは、このネットワーク パケットの行き先を認識しています。では、この国に叫んでください。ターゲットの IP は誰ですか? ターゲット サーバーは MAC アドレスで応答します。ネットワーク パケットが税関を通過した後、この MAC アドレスを介してターゲット サーバーを見つけることができます。

                                         ↓

ターゲット サーバーは、MAC アドレスが一致することを検出し、MAC ヘッダーを削除して、オペレーティング システムのネットワーク層に送信します。IP も正しいことがわかり、IP ヘッダーが削除されます。カプセル化の層は、TCP プロトコルである IP ヘッダーに書き込まれ、トランスポート層、つまり TCP 層に渡されます。

                                         ↓

つまり、MAC アドレスが一致する場合は、次のようになります -> MAC ヘッダーを選択します -> IP ヘッダーを選択します -> TCP ヘッダーを選択します

                                         ↓

この層では、受信した各パケットに対して、受信したことを示す応答パケットがあります。この応答パケットは、この注文要求の結果、たとえば買い物が成功したかどうか、いくらの金額が差し引かれたかなどではなく、単なる TCP 層の記述、つまり受信後の応答です。もちろん、この返事は今来た方向に戻り、無事であることを報告します。

                                         ↓

いったん国を出れば、西への旅は困難と危険に満ちているからです. 砂漠に入ったり、強盗に襲われて殺されたりするなど、その過程でネットワークパケットが失われた場合はどうなりますか? だから私が到着したとき、私は自分の安全を報告したかった.

                                         ↓

しばらくしても届かない場合は、送信側の TCP 層がパケットを再送し、上記のプロセスを 1 日無事に返信が届くまで続けます。

                                         ↓

この再試行は、ブラウザが注文のアクションを再要求することを意味するものではありません。

                                         ↓

ブラウザの場合、注文リクエストが送信されTCP 層は独自に再試行を続けます接続が切断されたなど、TCP 層に問題がない限り、ブラウザのアプリケーション層が注文要求を再送信する番です

                                         ↓

ネットワーク パケットが安全に TCP 層に到達すると、TCP ヘッダーにターゲット ポート番号が含まれます.このポート番号を通じて、電子商取引 Web サイトのプロセスがこのポート番号をリッスンしていることがわかります.Tomcat を想定して、送信します。このパケットを e コマース Web サイトに送信します。 

                                         ↓

電子商取引 Web サイトのプロセスは、HTTP 要求のコンテンツを取得し、何をどれだけ購入するかを認識します。

多くの場合、e コマース Web サイトで最初にリクエストを受け取る Tomcat は、すべてを自分で行うのではなく、リクエストの調整と処理を担当する単なる受付係です。

                                         ↓

たとえば、受付係は、注文管理プロセスを伝え、特定の商品を購入するために登録し、いくら購入するか、在庫管理プロセスを伝え、在庫をどれだけ削減するかを伝え、支払いプロセスを伝え、いくら支払うべきかを伝える必要があります。すぐ。

                                         ↓

関連するプロセスをどのように伝えますか?

                                         ↓

多くの場合、RPC 呼び出し、つまりリモート プロシージャ コールによって実装されます。

                                         ↓

リモート プロシージャ コールは、管理順序プロセスを伝えるときに、受付担当者が途中のネットワーク相互接続の問題を気にする必要がなく、RPC フレームワークによって一律に処理されることを意味します。RPC フレームワークにはさまざまな種類があり、HTTP プロトコルに基づくものは HTTP メッセージに配置され、一部は TCP メッセージに直接カプセル化されます。

                                         ↓

受付担当者は、対応する部門が処理を終了したことを確認すると、HTTPS パケットで応答し、注文の成功を通知します。この HTTPS パッケージは、当時と同様に、さまざまな困難や危険を乗り越えて PC に到達し、最終的にブラウザに入り、支払いが成功したことを示します。

要約: 

 


2. ネットワーク階層化の本当の意味は何ですか?

ネットワークが階層化されているのはなぜですか? 

階層化しなければならない複雑なプログラムだからです。

复杂的程序都要分层,这是程序设计的要求。比如,复杂的电商还会分数据库层、缓存层、Compose 层、Controller 层和接入层,每一层专注做本层的事情。

程序是如何工作的? 

层与层之间的关系: 

所有不能表示出层层封装含义的比喻,都是不恰当的。

总经理之间沟通的时候,经理将总经理放在自己兜里,然后组长把经理放自己兜里,员工把组长放自己兜里,像套娃娃一样。那员工直接沟通,不带上总经理,就不恰当了。

在网络世界,应该是总经理说话,经理补充两句,组长补充两句,员工再补充两句。


那 TCP 在三次握手的时候,IP 层和 MAC 层在做什么呢?当然是 TCP 发送每一个消息,都会带着 IP 层和 MAC 层了。因为,TCP 每发送一个消息,IP 层和 MAC 层的所有机制都要运行一遍。而你只看到 TCP 三次握手了,其实,IP 层和 MAC 层为此也忙活好久了。

这里要记住一点:

只要是在网络上跑的包,都是完整的。可以有下层没上层,绝对不可能有上层没下层。

所以,对 TCP 协议来说,三次握手也好,重试也好,只要想发出去包,就要有 IP 层和
MAC 层,不然是发不出去的。


都知道那台机器的 IP 地址了,直接发给他消息呗,要MAC 地址干啥?这里的关键就是,没有 MAC 地址消息是发不出去的。

所以如果一个 HTTP 协议的包跑在网络上,它一定是完整的。无论这个包经过哪些设备,它都是完整的。


所谓的二层设备、三层设备,都是这些设备上跑的程序不同而已。

一个 HTTP 协议的包经过一个二层设备,二层设备收进去的是整个网络包。这里面 HTTP、TCP、 IP、 MAC 都有。

什么叫二层设备呀,就是只把 MAC 头摘下来,看看到底是丢弃、转发,还是自己留着。

では、3層デバイスとは何ですか? MAC ヘッダーを削除した後、IP ヘッダーを削除して、破棄、転送、または保持されているかどうかを確認します。

要約:

原則を常に心に留めておいてください。パッケージがネットワーク上で実行されている限り、パッケージは完全です。上層なくして下層はあり得るが、下層なくして上層というのは絶対にありえない。


3. ifconfig: 最もよく知られたコマンドラインとなじみのないコマンドライン

IP アドレスの確認方法:

これは、Windows では ipconfig、Linux では ifconfig です。

Linux で IP アドレスを表示する他のコマンドを知っていますか?

答えは ip アドレスです。この質問に答えられない場合は、Linux をあまり使用していない可能性があります。

ifconfig と ip addr の違いを知っていますか?

一応、そのような詳細を理解する必要はありませんが、これもよく試される知識ポイントです。

切断された非常に小さな Linux システムにログインすると、ifconfig コマンドも ip addr コマンドも存在しないことがわかりました.このシステムはまったく役に立たないと思いますか? この時点で、 net-tools と iproute2 の2 つのツールを自分でインストールできます。もちろん、ほとんどの場合、これら 2 つのコマンドはシステムに付属しています。

インストールしたら、ip addr を実行しましょう。当然のことながら、次のように出力されます。

このコマンドは、このマシン上のすべてのネットワーク カードを表示します。もちろん、ほとんどのネットワーク カードには IP アドレスがありますが、これは必須ではありません。次の共有では、IP アドレスがないという状況に遭遇します。

IPアドレスとは、ネットワーク世界におけるネットワークカードの通信アドレスであり、現実世界における私たちの番地に相当します

IP アドレスの目的: アドレス情報を区別するため。

これは番地であるため、全員が同じであるとは限りません。そうしないと、競合が発生します。

上記の出力の結果、10.100.122.2 が IP アドレスです。アドレスはドットで区切られた 4 つの部分に分割され、各部分が 8 ビットであるため、IP アドレスは合計 32 ビットになります。

つまり、IP アドレスは 4 つのグループの 8 ビット バイナリで構成されています。

その結果、IP アドレスの数はすぐに不足します。

十分でないため、上記の出力にはIPv6 、つまり inet6fe80::f816:3eff:fec7:7975/64 があります。これは 128 ビットで、今は十分に見えますが、将来どうなるか誰にもわかりません。

 元の 32 ビット IP アドレスでは不十分で、5 つのカテゴリに分類されます。

ネットワークアドレスには、少なくとも当時設計された時点では、主にクラス A、B、および C の 2 つの部分があります。最初の部分はネットワーク番号であり、後半の部分はホスト番号です。

 これは簡単に理解できます。たとえば、次のようになります。

みんな1001号機6号機

私はコミュニティAの6号機1001号機で、あなたはコミュニティBの6号機1001号機です。


以下の表は、A、B、C の 3 種類のアドレスに含めることができるホストの数を詳細に示しています。

クラス C アドレスに含めることができるホストの最大数は小さすぎて、わずか 254 です。

また、クラス B アドレスに含めることができるホストの最大数が多すぎます。

1 つのネットワークの下に 60,000 台以上のマシンが配置されており、通常の企業では基本的にこの規模には到達できず、アイドル アドレスは無駄になります。

タイプレス ドメイン間ルーティング (CIDR) 

この方法は、当初設計されたいくつかのタイプのアドレスの慣習を打ち破り、32 ビット IP アドレスを 2 つに分割し、前にネットワーク番号、後ろにホスト番号を配置します。

10.100.122.2/24、この IP アドレスにはスラッシュがあり、その後に数字の 24 が続きます。このアドレス表現はCIDRです。

24は、32 ビットのうち、最初の 24 ビットがネットワーク番号で、最後の 8 ビットがホスト番号であることを意味します。

 

 その無理な割り当てを解消するために、サブネットマスクが誕生しました。

 

 

 

 

CIDR とともに、1 つはブロードキャスト アドレス10.100.122.255 です。このアドレスが送信されると、10.100.122 ネットワーク内のすべてのマシンが受信できます。もう 1 つはサブネット マスク255.255.255.0 です。

AND サブネット マスクと IP アドレス。

最初の 3 つの 255 は 2 進数に変換するとすべて 1 になります. 1 と任意の値は元の値である AND をとるため、最初の 3 つの数字は変更されず、10.100.122 になります.

後者の 0 は 2 進数に変換すると 0 になり、0 と任意の値を AND するとすべて 0 になるため、最後の数字は 0 になり、組み合わせは 10.100.122.0 になります

これはネットワーク番号です。ネットワーク番号は、サブネット マスクと IP アドレスをビットごとに AND することで取得できます

パブリックおよびプライベート IP アドレス

表の右端の列は、プライベート IP アドレスの範囲です。

私たちが通常目にするデータセンターでは、オフィス、家庭、または学校の IP アドレスは一般にプライベート IP アドレス セグメントです。

これらのアドレスにより、組織内の IT スタッフは自分自身を管理および割り当てることができ、それらを繰り返すことができるためです。

したがって、あなたの学校の特定のプライベート IP アドレス セグメントは、私の学校のそれと同じである可能性があります。


パブリック IP アドレスは、組織によって一律に割り当てられ、購入する必要があります。

学校で使用する Web サイトを構築する場合は、学校の IT スタッフに IP アドレスを提供するよう依頼してください。しかし、NetEase 163 のような Web サイトを作成する場合は、世界中の人々がアクセスできるようにパブリック IP アドレスが必要です。


表の 192.168.0.x は、最も一般的に使用されるプライベート IP アドレスです。自宅に Wi-Fi がある場合は、それに対応する IP アドレスが割り当てられます。通常、自宅には 256 台を超えるインターネット デバイスがないため、基本的には /24 で十分です。場合によっては /16 の CIDR も見られますが、これら 2 つは最も一般的で理解しやすいものです。


10 進数を 2 進数の 32 ビットに変換しなくても、192.168.0 がネットワーク番号であり、その後にホスト番号が続くことは明らかです。
また、ネットワーク全体の最初のアドレス 192.168.0.1 は、多くの場合、プライベート ネットワークの出口アドレスです。

たとえば、
自宅のコンピューターが Wi-Fi に接続されている場合、Wi-Fi ルーターのアドレスは 192.168.0.1 で、192.168.0.255 がブロードキャスト アドレスです。このアドレスが送信されると、192.168.0 ネットワーク全体のすべてのマシンがそれを受信できます。

例: 「間違い」を起こしやすい CIDR

16.158.165.91/22 の CIDR を見てみましょう。このネットワークの最初のアドレス、サブネット マスク、およびブロードキャスト アドレスを見つけます。

出てきたときに 16.158.165.1 と書くだけでは、大きな間違いを犯しています。

/22 は 8 の整数倍ではないので扱いが難しく、2 進数でしか見ることができません。16.158 の部分は動かず、最初の 16 の位置を占めています。真ん中の 165 は 2 進数では 10100101 になります。

補足はバイナリ高速メソッドになります:

前の 16 ビットに加えて、6 ビットが残っています。したがって、これらの 8 ビットの最初の 6 ビットはネットワーク番号 16.158.<101001> であり、<01>.91 はマシン番号です。

最初のアドレスは 16.158.<101001><00>.1、つまり 16.158.164.1 です。

サブネット マスクは 255.255.<111111><00>.0、つまり 255.255.252.0 です。

ブロードキャスト アドレスは 16.158.<101001><11>.255、つまり 16.158.167.255 です。

最初のアドレスは 16.158.164.1 です。

サブネット マスクは 255.255.252.0 です。

ブロードキャスト アドレス 16.158.167.255。


この 5 種類のアドレスには、もう 1 つのタイプ D のマルチキャスト アドレスがあります。

このタイプのアドレスを使用すると、特定のグループに属するすべてのマシンが受信できます。これは、社内の全員がメーリング グループに参加したようなものです。メールを送信すると、このグループに参加している全員がメールを受け取ります。マルチキャスト アドレスについては、VXLAN プロトコルを説明する際に後述します。

IP アドレスの背後にはスコープがあり、ネットワーク カード eth0 の場合、これはグローバルであり、このネットワーク カードが外部にあり、さまざまな場所からパケットを受信できることを示します。lo の場合、これはホストです。つまり、このネットワーク カードはローカルでのみ相互に通信できます。
lo の完全な名前は loopback で、ループバック インターフェイスとも呼ばれ、アドレス 127.0.0.1 に割り当てられることがよくあります。このアドレスは
ローカル通信に使用され、カーネルによって処理された直後に返され、ネットワークには表示されません。

Macアドレス

IP アドレスの上の行は link/ether fa:16:3e:c7:79:75 brd ff:ff:ff:ff:ff:ff です。これは MAC アドレスと呼ばれ、ネットワーク カードの物理アドレスです。 . 6 バイトで表される 16 進数。

MAC アドレスはグローバルに一意であると言われ、2 つのネットワーク カードが同じ MAC アドレスを持つことはなく、ネットワーク カードは作成されてからこのアドレスを保持します。


この場合、インターネット上のすべての通信で MAC アドレスを使用する必要がありますが、これはもちろん受け入れられません。ある場所から別の場所に送信されるネットワーク パケットには、明確なアドレスを持つことに加えて、測位機能も必要です番地属性を持つIP アドレスのみがリモート ロケーション機能を持ちます

MAC アドレスは、一意の識別子である ID カードに似ています。そのユニークな設計はネットワーキング用であり、異なるネットワーク カードがネットワークに配置されている場合、競合を心配する必要はありません。ハードウェアの観点からは、異なるネットワーク カードが異なる識別子を持っていることを確認してください。

インターネット通信は、杭州市王上路 599 号 B 棟の 6 階にある Liu Chao に行くのと同じです. 道路で道を尋ねると、尋ねた人はどの B 棟か分からないかもしれませんが、王上路への道順を教えてください。でも人に聞いたら、このID番号の人がどこにいるか知っていますか?予想通り、誰も知りませんでした。


MAC アドレスには特定の測位機能がありますが、その範囲は非常に限られています。

你可以根据 IP 地址,找到杭州市网商路 599 号 B 楼 6 层,但是依然找不到我,你就可以靠吼了,大声喊身份证 XXXX 的是哪位?我听到了,我就会站起来说,是我啊。但是如果你在上海,到处喊身份证 XXXX 的是哪位,我不在现场,当然不会回答,因为我在杭州不在上海

所以,MAC 地址的通信范围比较小,局限在一个子网里面。例如,从 192.168.0.2/24 访问 192.168.0.3/24 是可以用 MAC 地址的。一旦跨子网,即从 192.168.0.2/24 到192.168.1.2/24,MAC 地址就不行了,需要 IP 地址起作用了。

网络设备的状态标识

 解析完了 MAC 地址,我们再来看 <BROADCAST,MULTICAST,UP,LOWER_UP> 是干什么的?这个叫作net_device flags,网络设备的状态标识

UP 表示网卡处于启动的状态;

BROADCAST 表示这个网卡有广播地址,可以发送广播包;

MULTICAST 表示网卡可以发送多播包;

LOWER_UP 表示 L1 是启动的,也即网线插着呢。

MTU1500 是指什么意思呢?是哪一层的概念呢?最大传输单元 MTU 为 1500,这是以太网的默认值。


MTU 是二层 MAC 层的概念。MAC 层有 MAC的头,以太网规定连 MAC 头带正文合起来,不允许超过 1500 个字节。正文里面有 IP 的头、TCP 的头、HTTP 的头。如果放不下,就需要分片来传输。

qdisc pfifo_fast  

qdisc pfifo_fast とはどういう意味ですか? qdisc の正式名称はキューイング・ディシプリンで、中国語でキューイング・ディシプリンと呼ばれます。

カーネルがネットワーク インターフェイス経由でデータ パケットを送信する必要がある場合、このインターフェイス用に構成された qdisc (キューイング規則) に従ってデータ パケットをキューに入れる必要があります。


最も単純な qdisc は pfifo で、着信データ パケットに対して何も処理を行わず、データ パケットは先入れ先出し方式でキューを通過します。pfifo_fastはもう少し複雑で、そのキューは 3 つのバンドで構成されています各バンド内では、先入れ先出しルールが使用されます。

3 つのバンドの優先順位も異なります。バンド 0 の優先度が最も高く、バンド 2 の優先度が最も低くなります。バンド 0 にデータ パケットがある場合、システムはバンド 1 のデータ パケットを処理しません。バンド 1 とバンド 2 の間でも同様です。


データ パケットは、サービスの種類 (TOS) に従って 3 つの帯域に割り当てられます。
TOS は IP ヘッダー内のフィールドで、現在のパケットの優先度が高いか低いかを表します。

要約:

このセクションを通じて、後で使用できる次の知識ポイントを覚えておきたいと思います。

IPはアドレスで測位機能あり、MACはIDカードで測位機能なし、
CIDRはローカルかどうかの判断に使える、
IPはパブリックIPとプライベートIPに分けられる。
次の章では、これに関連する「海外に行く」についてお話しします。 

4. DHCP と PXE: IP はどのようにして生まれ、どのように消えたのですか?

他のマシンと通信する必要がある場合は、通信アドレスが必要であり、ネットワーク カードにそのようなアドレスを構成する必要があります。

IP アドレスの設定方法を教えてください。

コマンドラインを使用して、自分でアドレスを構成できます。ifconfig または ip addr を使用できます。

設定後、これらの 2 つのコマンドを使用してネットワーク カードを起動すると、作業を開始できます。

ネットツールを使用します:

$ sudo ifconfig eth1 10.0.0.1/24
$ sudo ifconfig eth1 up

iproute2 の使用:

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

自分で構成する自由が多すぎますか? 誰とも一致しないアドレスを設定するとどうなりますか?

たとえば、私の隣のマシンはすべて 192.168.1.x で、16.158.23.6 を構成する必要があります。

現象はありません。つまり、パッケージを送信できません。なぜ発信できないのでしょうか?


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

(この原則は前のセクションで述べました。ネットワーク上で実行されるパケットが完全である限り、上位層なしで下位層が存在する可能性があり、下位層なしで上位層を持つことは絶対に不可能です。 )

自分の MAC アドレスはわかっていますが、ターゲット MAC には何を入力すればよいですか?

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

Linux のデフォルトのロジックでは、これがネットワーク セグメントをまたがる呼び出しの場合、ネットワークにパケットを直接送信するのではなく、パケットをゲートウェイに送信しようとします

ゲートウェイを構成すると、Linux はゲートウェイの MAC アドレスを取得し、パッケージを送信します。マシン 192.168.1.6 の場合、そのドアを通過するパケットのターゲット IP はそれですが、MAC アドレスはそれ自身のものではないため、そのネットワーク カードはパケットを受け入れません。

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

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


したがって、マシンのネットワーク IP を手動で構成する必要がある場合は、必ずネットワーク管理者に問い合わせてください。コンピュータルームにいる場合は、ネットワーク管理者に申請して、正しい IP アドレスを割り当てるよう依頼してください。もちろん、実際に設定するときは、コマンドで直接設定するのではなく、設定ファイルに配置する必要があります。構成ファイルの形式はシステムごとに異なりますが、CIDR、サブネット マスク、ブロードキャスト アドレス、およびゲートウェイ アドレスにすぎません。

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

通常、IP は一度設定すると変更できません.クライアント マシンを設定するには、使用するたびに IP アドレスを設定する必要があります.どうすればよいですか?

DHCPと呼ばれるDynamic Host Configuration Protocol (Dynamic Host Configuration Protocol) と呼ばれる自動構成プロトコルが必要です

共有 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 プロトコルです。

ネットワーク管理者がネットワークで DHCP サーバーを構成する場合、彼はこれらの IP の管理者に相当します。
彼はすぐに「新参者」が来ることを知った。この時点で、MAC アドレスの重要性を認識できます。マシンが独自の MAC アドレスでネットワークに参加すると、MAC はその固有の ID . これが繰り返されると、それを構成する方法がありません。

MAC が一意である場合にのみ、IP 管理者はこれが新規参入者であり、IP アドレスをリースする必要があることを知ることができます.このプロセスは DHCP オファーと呼ばれます. 同時に、この IP アドレスが他の DHCP クライアントに割り当てられないように、DHCP サーバーはこのクライアントに提供された IP アドレスを予約します。

 この時点では、IP の割り当てを要求する新規ユーザーはまだ自分の IP を持っていないため、DHCP サーバーは引き続きブロードキャスト アドレスを宛先アドレスとして使用します。DHCP サーバーは、「使用可能な IP を割り当てました。どのように表示しますか?」と応答しました。さらに、サーバーは、サブネット マスク、ゲートウェイ、IP アドレスのリース期間などの情報も送信します。

新しいマシンは満足し、その「うなり声」に応え、だれかが喜んで IP アドレスをリースします。これは、ネットワーク上で足場を築くことができることを意味します。もちろん、さらに喜ばしいことは、複数の DHCP サーバーがある場合、この新しいマシンが複数の IP アドレスを受け取ることです。

DHCP オファーの 1 つ (通常は最初に到着するもの) を選択し、クライアントの MAC アドレス、受け入れられたリースの IP アドレス、提供された DHCP を含む
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 リースの更新が完了します。

ネットワーク管理者は、IP アドレスを自動的に割り当てるだけでなく、オペレーティング システムを自動的にインストールすることもできます。

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

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


その後、オペレーティング システムをインストールするプロセスは、BIOS の起動後にのみ挿入できます。システムがインストールされる前にブート セクタがないためです。したがって、このプロセスはPre-boot Execution Environment、略して PXE と呼ばれます。

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

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

まず、PXE クライアントを起動します。最初のステップは、DHCP プロトコルを介して DHCP サーバーに、到着したばかりで貧弱で白く、何も持っていないことを伝えることです。DHCP サーバーは IP アドレスをリースし、同時に PXE サーバーのアドレスと起動ファイル pxelinux.0 を提供します。


次に、PXE クライアントが PXE サーバーにアクセスしてこのファイルをダウンロードすることを認識した後、マシンを初期化できます。ということでダウンロードが始まり、ダウンロードの際はTFTPプロトコルが使われました。したがって、多くの場合、PXE サーバーには TFTP サーバーが必要です。PXE クライアントは TFTP サーバーにファイルをダウンロードするように要求し、TFTP サーバーは「はい」と言うので、ファイルを渡します。


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


最後に、Linux カーネルを起動します。オペレーティング システムが起動すると、今後はすべてが簡単に処理できるようになります。 

 

要約:

DHCP プロトコルは、主に顧客の IP アドレスをレンタルするために使用されますが、これは不動産業者と非常によく似ています. 交渉、契約の締結、およびリースの更新のために、ブロードキャストは「注文をつかむ」ことはできません; DHCP プロトコルは「装飾チーム」を推奨することができます
PXEクラウド コンピューティングの分野で非常に有用なオペレーティング システムをインストールできます。

おすすめ

転載: blog.csdn.net/qq_50497708/article/details/128247038