TCP/IP プロトコルとネットワーク通信の基礎

ネットワークの定義と分類

コンピュータネットワークは、通信回線を介して地理的に分散したコンピュータシステムや通信機器を接続し、リソース共有と情報伝達を実現するシステムです。ネットワークは以下のように分類されます:

  • LAN:企業や学校など限られた範囲で利用されるネットワーク
  • MAN:都市圏規模のネットワーク
  • WAN:広域にわたる大規模ネットワーク

ネットワークアーキテクチャ

OSI参照モデル

機能
物理層ビットストリーム転送
データリンク層論理リンク確立
ネットワーク層ルーティング
トランスポート層信頼性のあるデータ転送
セッション層セッション管理
プレゼンテーション層データ変換
アプリケーション層ユーザサービス

TCP/IPモデル

  • ネットワークインタフェース層
  • インターネット層(IP)
  • トランスポート層(TCP/UDP)
  • アプリケーション層

主要プロトコル

IPプロトコル

ネットワーク層で動作し、パケット転送を担当。IPv4(32ビット)とIPv6(128ビット)が存在します。

TCPプロトコル

// TCP接続確立例
client → server: SYNフラグ, 初期シーケンス値=X
server → client: SYN+ACKフラグ, ACK=X+1, 初期シーケンス値=Y
client → server: ACKフラグ, ACK=Y+1

信頼性のある通信を実現するため、以下の機能を提供:

  • シーケンス制御
  • フロー制御(スライディングウィンドウ)
  • 輻輳制御

UDPプロトコル

非接続型の軽量プロトコルで、リアルタイム通信に適しています。

アドレッシング

  • MACアドレス:48ビットのハードウェア固有アドレス
  • IPアドレス:32ビット(IPv4)または128ビット(IPv6)の論理アドレス
  • ポート番号:アプリケーション識別用(0~65535)

接続管理

接続切断プロセス

クライアント → サーバ: FINフラグ
サーバ → クライアント: ACKフラグ
サーバ → クライアント: FINフラグ
クライアント → サーバ: ACKフラグ

TIME-WAIT状態は最終ACKの到達を保証するための仕組みです。

拡張プロトコル

  • UDT:UDPベースの高速データ転送プロトコル
  • QUIC:多重化と高速接続確立を特徴とする次世代プロトコル

タグ: TCP IP udp quic UDT

7月25日 21:24 投稿