1. メッセージ:
1.4 桁のバージョン番号: IPv4 および IPv6 (その他はラボ バージョンの場合があります)。
2.4ビットヘッダ長:TCPと同じ可変長、オプションあり、単位は4バイト。
3.8ビットサービスタイプ
全長 4.16 ビット: IP ヘッダー + IP ペイロード
トランスポート層はペイロードの長さを知らないため、ネットワーク層によって計算する必要があります。
IP パケット - IP ヘッダー = IP ペイロード = TCP パケット
TCP ペイロード = IP ペイロード (TCP パケット) - TCP ヘッダー
5. 16 ビット フラグ、3 ビット フラグ、および 13 ビット オフセットは、IP データグラムをアンパックおよびグループ化するプロセスを示します。
16 ビット識別子: 16 ビット識別子は、逆アセンブルされた複数のパッケージで同じです。
13 ビット オフセット: シーケンスを区別するために、前のパケット スライス オフセットは小さく、後のパケット スライス オフセットは大きくなります。
3 つのフラグ ビット: 1 つは未使用、1 つはアンパックが許可されているかどうかを示し、最後の 1 つは終了マークを示します (0 は最後のパッケージを示します)。
6.8ビットの生存時間(TTL)
単位は回ですが、
初期値(32/64/128)があり、
ルートが転送されるたびに、TTL は 1 ずつ減ります。
0 (ターゲットアドレスが存在しないことを示す) に減らされ、破棄されます。
7.8 ビット プロトコル: トランスポート層で使用されるプロトコル (TCP/UDP/KCP...)
8. 16 ビット ヘッダー チェックサム: IP ヘッダーのみをチェックする必要があり、ペイロード部分にはトランスポート層の独自のチェックサムがあります。
2.IPアドレス
1. IP アドレス: 32 ビット整数 (4 バイト)、ドット付き 10 進数を使用し、3 つのドットを使用して 4 つのセグメントに分割され、各セグメントはバイト (8 ビット) (0 ~ 255) (記号なし) のサイズを表します。
2. IP アドレスが不足している場合に対処する 3 つの方法:
a. IP アドレスの動的割り当て (DHCP): IP はオンラインにする必要がある場合に割り当てられますが、それ以外の場合は割り当てられません。
b. NAT メカニズム (ネットワーク アドレス変換): IP アドレスは、内部ネットワーク IP と外部ネットワーク IP の 2 つのカテゴリに分類されます。
1) イントラネット IP: LAN 内で繰り返すことはできません。
10.*
172.16.* ~ 172.31.*
192.168.*
2) 外部ネットワーク IP: 繰り返しできません。
3) ネットワーク通信を実行したい場合は、中継用の外部ネットワーク IP を持つデバイスが必要です。このとき、NAT メカニズムが関与します。データグラムがルーターに到達すると、ルーターは元の IP を元の IP に置き換えます。外部ネットワーク IP (イントラネット IP) の場合、サーバーはどのホストが自身と通信しているかは知りませんが、データグラムを送信するルーターの外部ネットワーク IP だけを知っています (特定のデバイスではなく、おおよその範囲のみ)。NAT デバイスの場合 (ルーター)、トリガー NAT 中にマッピング テーブルが維持されます。
4) NAT の欠点:
a) あまり効率的ではありません。
b) とても面倒です。
c) LAN 内のデバイスに自分でアクセスするのは不便です。
5) NAT の利点: 純粋なソフトウェア実装。
c.IPv6:
1) IPv4: 4 バイト、2^32 (41 億 9,000 万)。
2) IPv6: 16 バイト、2^128。
3. IP アドレスに関するその他の知識ポイント:
a. IP アドレスの構成:
1) ネットワーク番号:
2) ホスト番号:
規定:同一LAN内ではネットワーク番号は同一でホスト番号は異なり、LANが異なる場合はネットワーク番号が異なる必要があります。
b. IP アドレス内のネットワーク番号とホスト番号の区別:
区別するにはサブネットマスクを使用します。
c. 特別な IP アドレス:
1) IP アドレス内のすべてのホスト アドレスを 0 に設定します。これが、このローカル エリア ネットワークを表すネットワーク番号になります。
2) IP アドレス内のすべてのホスト アドレスを 1 に設定します。これはブロードキャスト アドレスとなり、同じリンク内で相互に接続されているすべてのホストにデータグラムを送信するために使用されます (UDP のみが使用でき、TCP は使用できません)。
3) 127.* の IP アドレスはローカル ループ バック (ループバック) テストに使用されます (通常は 127.0.0.1)。
4) ローカルマシンリターンは、主にローカルマシンからローカルマシンへのネットワーク通信に使用されます (システムの将来のパフォーマンスがネットワークを介して送信されることはありません) ネットワーク通信プログラムの開発では、一般的な開発方法は次のとおりです。ローカル マシンからローカル マシンへのローカル ネットワーク通信。
4. ルーティングの選択:
各ルーターには、ルーティング テーブルと呼ばれるデータ構造が内部にあります。データグラムがルーターに到着すると、ルーターはルーティング テーブルに問い合わせる (方向を尋ねる) 必要があります。見つかった場合は、その方向に直接転送を続けることができます。デフォルトの方向 (ネクストホップ アドレス) を指定すると、デフォルトの方向に沿って上位ルーターに向かうことがよくあります。