【ネットワーク原則2】ネットワーク層のIPプロトコル、データリンク層のイーサネットプロトコルとMTU

ネットワーク層プロトコル

IPプロトコル

IPプロトコル形式

ここに画像の説明を挿入

4 桁のバージョン番号 (version) : IP プロトコルのバージョンを指定します。IPv4 の場合は 4 です。
4ビットヘッダ長(header length):IPヘッダの長さが32ビット何バイトになるか、つまり長さのバイト数*4。4bit は最大数が 15 であることを意味するため、IP ヘッダーの最大長は 60 バイトになります。
8 ビット タイプ オブ サービス (Type of Service) : 3 ビットの優先フィールド (非推奨)、4 ビットの TOS フィールド、および 1 ビットの予約フィールド (0 に設定する必要があります)。4 ビット TOS はそれぞれ、最小遅延、最大スループット、最高の信頼性、最小コストを表します。この 4 つは互いに矛盾しており、選択できるのは 1 つだけです。ssh/telnet などのアプリケーションの場合は、最小遅延がより重要であり、ftp のようなプログラムの場合は、最大スループットがより重要です。
16 ビットの合計長 (totallength) : IP データグラムが全体として占めるバイト数
16 ビットの識別子 (id) : ホストによって送信されたメッセージを一意に識別します。IP パケットがデータリンク層でフラグメント化されている場合、各フラグメントの ID は同じです。
3 ビットのフラグ フィールド:
最初のビットは予約されています (予約されているということは、現在は使用されていませんが、まだ理解していない場合は将来使用される可能性があることを意味します)。
2 番目のビットが 1 の場合、フラグメンテーションは禁止され、このときパケット長が MTU を超える場合、IP モジュールはパケットを破棄します。
3 番目のビットは「さらなるフラグメント」を意味します。フラグメント化されている場合、最後のフラグメントは 0 に設定され、残りのフラグメントは 1 に設定されます。終了タグに似ています。現在、より多くのフラグメントとして表現されている場合は、表示されたメッセージが大きなメッセージ本文の一部である可能性があることを意味します。
13 ビットのフラグメンテーション オフセット (フレームセグメント オフセット): は、元の IP パケットの先頭を基準としたフラグメントのオフセットです。実際、これは現在のフラグメントが元のメッセージのどこにあるかを示します。実際のオフセットのバイト数は、この値 * 8 で取得されます。したがって、最後のメッセージを除き、他のメッセージの長さは 8 の整数倍である必要があります (そうでない場合、メッセージは不連続になります)。
8 ビットの存続時間 (Time To Live、TTL) : TTL の値は、 8 ビットの存続時間 (Time To Live、TTL) :ネットワーク デバイスの場合、値は 1 減ります。TTL が 0 に減った場合は、ネットワークが利用できないことを意味します。このフィールドは主にルーティング ループを防ぐために使用されます。
ここに画像の説明を挿入

8 ビット プロトコル: TCP、UDP...どのプロトコルが使用されるかを示します。
16 ビット チェックサム: CRC チェックサムがトランスポート層で使用されます。
32 ビットの送信元 IP と宛先 IP アドレス: ネットワーク層によって決定される送信元 IP と宛先 IP です。
オプション: ペイロード、トランスポート層によって送信されるデータ。

IPアドレス

ここに画像の説明を挿入

IPv4

全長は 32 ビットで、最大 42 億のアドレスを表すことができます。コンピュータが相互にアクセスできるようにネットワーク上に IP アドレスを割り当てるにはどうすればよいですか?
1.動的割り当て: デバイスはオンライン時に IP を取得し、オフラインになると IP を取り戻します。IP は同時に 1 つのホストのみを表すことができます。
2. NET メカニズム: サブネット内のすべてのマシンはパブリック IP アドレスを共有し、サブネット内のマシンにはイントラネット IP が割り当てられます。イントラネット IP アドレスは異なるサブネットで繰り返すことができますが、パブリック ネットワーク IP アドレスは繰り返すことができません。

ここに画像の説明を挿入


IP アドレスは、外部ネットワーク IP/パブリック ネットワーク IP、内部ネットワーク IP/LAN IP: 規則 10.、172.16. ~ 172.31.、196.168の 2 つのカテゴリに分類されます

IPv6

IP アドレスを表す全長は 128 ビットで、これは約 42 億 x 42 億 x 42 億 x 42 億に相当します。IPV6 は IPV4 と互換性がありません。

IP アドレス ルール - アドレス管理

サブネット マスク: これも 32 ビットで、左側は 1 で表され、ネットワーク番号を決定するために使用されます。1 が何個あるか、つまり、ネットワーク上のビットが何個あるかを示すために 1 と 0 が混在することはありません。 IP アドレスの左側はネットワーク番号です。IP アドレスとサブネット マスクはビットごとに AND 演算され、その結果がネットワーク番号になります。
デフォルト ゲートウェイ: すべてのトラフィックは、トラフィック制御が行われるゲートウェイを通過する必要があります。

ここに画像の説明を挿入

ルーティング

リクエストを送信した後にターゲットホストに到達する方法。地図上のナビゲーション ルートを想像してみてください。ルートはたくさんあります。ルート選択プロセス自体も動的なプロセスです。ルート選択のプロセスでは、各クエリとターゲットまでの1 ホップの進み、ホップごとに完全な通信プロセスが完了します。
具体的なプロセス:

ネットワークデータグラムがルータに到着すると、ルータ自身が「ルーティングテーブル(ルータがすでに知っている道)」を持っていますが、ルータはネットワークの全体像を認識することはできませんが、その一部は知っています。 IP はルータによって既知であるため、明確なルートが与えられます。現在の宛先 IP ルータがそれを知らない場合、このデータを次の「より知識のある」ルータ (より多くの知識のあるパス)、ネクストホップに送信します。そして最終的に宛先 IP へのパスを見つけます。

長いサークルを問い合わせても宛先が見つからないことはありますか? 可能です。たとえば、IP アドレスが存在しない場合、ルーターに問い合わせるたび (ルーティングと転送)、TTL は 1 ずつ減ります。 TTL が 0 の場合、応答はタイムアウトになります。ホストが見つかりません。

内部ネットワーク内のマシンはどのようにして外部ネットワーク上のリソースにアクセスし、外部ネットワークからの応答はどのようにして要求元のマシンに返されるのでしょうか?
1. DNS を介して IP アドレスを解決します。DNS は、すべての Web サイトのドメイン名 (文字列「www.baidu.com」など) と IP の間の対応を保存します。
2. 送信元 IP と宛先 IP を設定してレイヤーごとのルーティングを実行し、最終的にターゲット サーバーに到達します。
3. 応答を処理した後、同様に送信者に応答を返します。
ここに画像の説明を挿入

データリンク層プロトコル

イーサネットプロトコル

「イーサネット」は特定のネットワークではなく、データリンク層の内容だけでなく物理層の一部の内容も含む技術規格です。例: ネットワーク トポロジ、アクセス制御方法、伝送速度などが指定されています。たとえば、イーサネットのネットワーク ケーブルはツイスト ペアを使用する必要があります。伝送速度は 10M、100M、1000M などです。現在、イーサネットが最も高速です。広く使われているLAN技術、イーサネットと並行してトークンリングネットワークや無線LANなどもあります。

プロトコル形式

ここに画像の説明を挿入

送信元アドレスと宛先アドレスは、ネットワーク カードのハードウェア アドレス (MAC アドレスとも呼ばれる) を指し、長さは 48 ビットで、ネットワーク カードが工場出荷時に固定されます。
type フィールドには、 IP、ARP、RARP に対応する 3 つの値があり、
フレームの終わりは CRC チェック コードです。

MTU (最大伝送単位)

MTUはエクスプレス送信時のパッケージサイズの制限に相当します。この制限は、異なるデータ リンクに対応する物理層によって引き起こされる制限です。
イーサネットフレームのデータ長は最小46バイト、最大1500バイトと規定されており、ARPパケットの長さは46バイト未満で後からパディングビットを付加する必要があり、最大値1500を最大送信量と
呼ぶイーサネットの単位 (MTU)。ネットワーク タイプが異なれば MTU も異なります。
データ パケットがイーサネットからダイヤルアップ リンクにルーティングされ、データ パケットの長さがダイヤルアップ リンクの MTU より長い場合、データパケットを断片化する必要がある(フラグメンテーション); 異なるデータ
リンク 道路層標準の MTU が異なる;

IP プロトコルに対する MTU の影響

● データリンク層の MTU の制限により、大きな IP データ パケットは複数のパケットに分割する必要があります。大きな IP パケットを複数の小さなパケットに分割し、各小さなパケットにラベルを付けます。
● 各小さなパケットの IP プロトコル ヘッダーの 16 ビットの識別子 (ID) は同じです。
● IP プロトコル ヘッダーの 3 ビットのフラグは、フィールド内の各小さいパケットの 2 番目のビットは 0 で、フラグメンテーションが許可されていることを意味し、3 番目のビットは終了マークです (現時点で最後の小さいパケットであるかどうか、はいの場合は 1 に設定し、そうでない場合は 0 に設定します) )
; 、順番に再組み立てされ、まとめられてトランスポート層に戻されます;
● これらの小さなパケットのいずれかが失われると、受信側での再組み立ては失敗します。ただし、IP 層はデータの再送信を担当しません。

ここに画像の説明を挿入

UDP プロトコルに対する MTU の影響

● UDP によって伝送されるデータが 1472 (1500 - 20 (IP ヘッダー) - 8 (UDP ヘッダー)) を超えると、ネットワーク層で複数の IP データグラムに分割されます。
● これらの複数の IP データグラムのいずれかが失われると、受信側でのネットワーク層の再構成は失敗します。これは、UDP データグラムがネットワーク層で断片化されると、データ全体が失われる可能性が大幅に高まることを意味します。

TCP プロトコルに対する MTU の影響

● TCP データグラムは無限に大きくすることはできず、MTU の影響を受けます。単一の TCP データグラムの最大メッセージ長は MSS (Max Segment Size) と呼ばれます;
● TCP 接続を確立する過程で、通信当事者は MSS ネゴシエーションを実行します。
● 理想的には、MSS の値は、IP が断片化されない最大長にすぎません (この長さは、データ リンク層の MTU の影響を受けます)。
● 双方が SYN を送信するとき、サポートできる MSS 値を TCP ヘッダーに書き込みます。双方が相手の MSS 値を学習した後、小さい方を最終的な MSS として選択します。
● MSS の値は、TCP ヘッダー (kind=2) の 40 バイトの可変長オプションにあります。

未解決の質問

ブラウザにURLを入力して、最終表示ページへ行くとどうなるでしょうか?

1. DNS ドメイン名解決を実行します。
a. ネットワーク上では、IP アドレスがホストの識別として使用されますが、IP は覚えにくいため、IP アドレスを表すためにドメイン名が使用されます b. DNS サーバーの機能は、IP アドレスを変換することです
。 c.ドメイン名を IP アドレスに変換
c. 世界中に 13 台の DNS サーバーがある ルート サーバーのうち 1 台はメイン ルートと呼ばれ、12 台は補助ルートと呼ばれます

2. データのカプセル化を実行します
a. ブラウザは、ユーザーが要求したデータに従って HTTP リクエスト (アプリケーション層プロトコル) を構築します
b. それをトランスポート層 TCP
C に渡します。 d.宛先ホスト
d. カプセル化に IP プロトコルを使用して、データをネットワーク層に
送信します e. ネットワーク層はデータをデータ リンク層に配信します
f. データ リンク層はデータをカプセル化し、物理層に渡します。伝染 ; 感染

3. 送信プロセス
a. 途中でスイッチやルータなどのネットワーク機器を経由します
b. 各ネットワーク機器に分割され、カプセル化されて隣接するノードに送信されます。この部門は送信元 IP を置き換えるものです

4. ターゲット サーバーに到着します
a. レイヤーごとの分割を実行します
b. HTTP レイヤーに到達した後、サービスはユーザーが要求したリソースを解析できます
c. サーバーが応答します (サーバーによって処理されるビジネス ロジック)プログラム)

5. サーバーは応答データを再パッケージし、次の層に送信します。
6. 応答データは中間を介して転送され、クライアントに返されます。
7. クライアントはデータを解析して応答データを取得します
。 8. ブラウザは、コンテンツ


続けてください~
ここに画像の説明を挿入

おすすめ

転載: blog.csdn.net/qq_43243800/article/details/131537095