ネットワークの定義と分類
コンピュータネットワークは、通信回線を介して地理的に分散したコンピュータシステムや通信機器を接続し、リソース共有と情報伝達を実現するシステムです。ネットワークは以下のように分類されます:
- 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:多重化と高速接続確立を特徴とする次世代プロトコル