Linux MAC/IPV4/IPV6/インターネットワーク/ゲートウェイ/ブリッジ、TCP/IP プロトコル ファミリ モデル、TCP/IP トランスポート層プロトコルの包括的な紹介

Yuxian: CSDN コンテンツ パートナー、CSDN の新人スター メンター、フルスタック クリエイティブ スター クリエイター、51CTO (トップ セレブ + エキスパート ブロガー)、Github オープン ソース愛好家 (ゴーゼロ ソース コードの二次開発、ゲーム バックエンド アーキテクチャ https: https:/ /github.com/Peakchen)

 

Linux は、無料のオープンソースの Unix に似たオペレーティング システムです。TCP/IP プロトコル ファミリを含むさまざまなネットワーク プロトコルをサポートします。この回答では、Linux の MAC、IPv4、IPv6、インターネット相互接続、ゲートウェイ、ブリッジを紹介し、TCP/IP プロトコル ファミリのモデル、トランスポート層プロトコルの基礎となる構造、アーキテクチャ図、および関連する原則を提供します。および使用シナリオの詳細な説明。

Macアドレス

MAC アドレスは、メーカーによって事前に割り当てられる一意のデータリンク層のアドレスです。MAC アドレスは通常 48 ビットの 16 進数で表現され、最初の 24 ビットがメーカー識別コード、最後の 24 ビットが機器識別コードです。Linux では、 コマンドifconfigまたはを使用してip addr、ネットワーク インターフェイスの MAC アドレスを表示できます。

IPv4

IPv4 は、インターネット プロトコル (IP) のバージョン 4 です。これは、インターネット上でデータ パケットを送信するために使用されるコネクションレス型プロトコルです。IPv4 アドレスは 32 ビットの 2 進数で、通常は 0 ~ 255 の範囲の 4 つの 10 進数で表され、192.168.1.1 のようにドット付き 10 進数で表されます。Linux では、 コマンドifconfigまたはを使用してip addr、ネットワーク インターフェイスの IPv4 アドレスを表示できます。

IPv6

IPv6 は、インターネット プロトコル (IP) のバージョン 6 です。IPv4 の後継であり、インターネット上でデータ パケットを送信するために使用されます。IPv6 アドレスは 128 ビットの 2 進数で、通常は 2001:0db8:85a3:0000:0000:8a2e:0370:7334 のように、コロンで区切られた 8 つの 16 ビット 16 進数で表されます。Linux では、 コマンドifconfigまたはを使用してip addr、ネットワーク インターフェイスの IPv6 アドレスを表示できます。

インターネット

インターネットは、相互接続された多数のコンピュータ ネットワークからなるグローバル ネットワークです。Linux では、pingこのコマンドを使用して他のインターネット ホストへの接続をテストできます。たとえば、Google の IPv4 アドレスに接続できるかどうかをテストするには、次のコマンドを実行します。

ping 8.8.8.8

ゲートウェイ

ゲートウェイは 2 つの異なるネットワークを接続するデバイスであり、あるネットワークから別のネットワークにデータ パケットを送信できます。Linux では、routeコマンドを使用してルーティング テーブルを表示および構成できます。たとえば、デフォルト ゲートウェイを追加するには、次のコマンドを実行します。

route add default gw 192.168.1.1

ブリッジは、複数のネットワークを接続するために使用されるデバイスです。すべてのネットワーク上のデバイスが相互に通信できるようにしながら、あるネットワークから別のネットワークにデータのパケットを転送します。Linux では、brctlコマンドを使用してブリッジを構成および管理できます。たとえば、br0という名前のブリッジを作成するには、次のコマンドを実行します。

brctl addbr br0

TCP/IPプロトコルファミリーモデル

TCP/IP プロトコル ファミリ モデルは階層化モデルであり、インターネット プロトコルをアプリケーション層、トランスポート層、ネットワーク層、データ リンク層の 4 つの層に分割します。各層には独自の機能とプロトコルがあります。

  • アプリケーション層: HTTP、FTP、SMTP など、アプリケーションとネットワーク間の対話の処理を担当します。
  • トランスポート層: TCP プロトコルや UDP プロトコルなど、2 つのホスト間のデータ送信を担当します。
  • ネットワーク層: IP プロトコルなど、送信元ホストから宛先ホストへのデータ パケットの送信を担当します。
  • データリンク層: イーサネットプロトコルなど、あるノードから別のノードへのデータパケットの転送を担当します。

TCP/IP トランスポート層プロトコルの基礎となる構造

TCP/IP トランスポート層プロトコルには、TCP と UDP が含まれます。TCP は、データ パケットの順序と整合性を提供する信頼性の高いトランスポート プロトコルですが、ある程度の遅延が発生します。UDP は信頼性の低いトランスポート プロトコルであり、データ パケットの順序と整合性は保証されませんが、待ち時間は短くなります。TCP と UDP はどちらもポート番号を使用してアプリケーションとサービスを識別します。

TCP と UDP の両方のヘッダー構造には、送信元ポート番号、宛先ポート番号、シーケンス番号、確認番号、ウィンドウ サイズなどの情報が含まれます。TCP ヘッダーには、オプションのオプション フィールドも含まれています。

TCP/IPプロトコルファミリーのアーキテクチャ図

次の図は、TCP/IP プロトコル ファミリのアーキテクチャ図を示しています。

+----------------------------------------+
|              应用层                     |
+----------------------------------------+
|                传输层                   |
+----------------------------------------+
|                 网络层                  |
+----------------------------------------+
|                数据链路层                |
+----------------------------------------+

利用シーンと実践的な活用方法を詳しく解説

TCP/IP プロトコル ファミリは、インターネットおよび企業の内部ネットワークで広く使用されています。実際のアプリケーションの例をいくつか示します。

  • Web ブラウザは、HTTP プロトコルを使用してアプリケーション層で Web サーバーと通信します。
  • 電子メール クライアントは、SMTP プロトコルを使用してアプリケーション層でメール サーバーと通信します。
  • ファイル転送クライアントは、FTP プロトコルを使用して、アプリケーション層で FTP サーバーと通信します。
  • VoIP クライアントは、RTP プロトコルを使用して、トランスポート層で音声データを送信します。
  • リモート デスクトップ クライアントは、RDP プロトコルを使用して、トランスポート層でグラフィック データを送信します。
  • オンライン ゲーム クライアントは、UDP プロトコルを使用してトランスポート層でゲーム データを送信します。

原理の詳しい説明

TCP/IP プロトコル ファミリは階層化モデルに基づいており、各層には独自の機能とプロトコルがあります。データを送信する際、データはアプリケーション層から始まり、トランスポート層、ネットワーク層、データリンク層を経て、最終的に物理層に到達してネットワークに送信されます。データを受信する際、データは物理層から始まり、データリンク層、ネットワーク層、トランスポート層、アプリケーション層を経て、最後にアプリケーションプログラムに渡されます。

TCP プロトコルは、確認応答と再送信を使用してデータ パケットの順序と整合性を保証する、信頼性の高いデータ送信を提供します。UDP プロトコルは、データ パケットの順序と整合性を保証しない信頼性の低いデータ送信を提供しますが、遅延は短くなります。

IP プロトコルは、送信元ホストから宛先ホストへのデータ パケットの送信を担当し、IP アドレスを使用してホストとルーターを識別します。ルーターはパケットを正しいネットワークに配信する責任を負い、ネットワークはルーティング テーブルを使用してネクスト ホップを決定します。ネットワーク上のすべてのデバイスには一意の MAC アドレスがあり、データ リンク層がデータ パケットをあるノードから別のノードに送信するために使用します。

ドキュメントへのリンク

Linux ネットワークと TCP/IP プロトコル ファミリに関する文献へのリンクをいくつか示します。

おすすめ

転載: blog.csdn.net/feng1790291543/article/details/131833743