目次
TCP/IPとは
- Transmission Control Protocol / Internet Protocol の略
- インターネットや社内ネットワークで最も使われている通信ルール(=プロトコル)の集まり。
- 名前の由来:特に重要な TCP(通信の信頼性を保証)と IP(住所=アドレスを決める)が中心だから。
- 実際は、TCPやIP以外にも HTTP(Web用)、SMTP(メール用)、ICMP(エラーチェック用) など、多くの仲間が含まれる。
TCP/IPの階層モデル(4階層)
| TCP/IP階層 | OSI参照モデルに対応 | 主な役割 | 代表プロトコル |
|---|---|---|---|
| アプリケーション層 | OSI第5〜7層 | アプリごとの通信機能を実現 | HTTP, FTP, SMTP, SSH |
| トランスポート層 | OSI第4層 | 信頼性ある転送(TCP) or 効率重視の転送(UDP) | TCP, UDP |
| インターネット層 | OSI第3層 | ネットワーク間の通信、アドレス指定 | IP, ICMP |
| ネットワークインターフェース層 | OSI第1〜2層 | 直接接続ノード間通信 | Ethernet, PPP |
上の層ほど 人間に近い(アプリが使う)
下の層ほど 機械に近い(ケーブルや信号の世界)
各層の役割まとめ
アプリケーション層
- アプリごとの通信サービスを提供
- 例:Web(HTTP)、メール(SMTP, POP3)、ファイル転送(FTP)
トランスポート層
- データ転送の信頼性を確保(TCP)
- 高速・効率重視通信(UDP)
インターネット層
- IPアドレスによるエンドツーエンド通信
- 経路選択(ルーティング)
ネットワークインターフェース層
- 物理的な隣接ノード間通信
- LAN(Ethernet)やWAN(PPP)でMACアドレスを利用
カプセル化と非カプセル化(TCP/IP)
- 送信側
アプリケーション層 → トランスポート層 → インターネット層 → ネットワークインターフェース層 → 物理伝送
→ 各層でヘッダを付加(カプセル化) - 受信側
物理伝送 → ネットワークインターフェース層 → インターネット層 → トランスポート層 → アプリケーション層
→ 各層でヘッダを削除(非カプセル化)
郵便でいうと、
1手紙を書く(アプリ層)
2封筒に入れる(トランスポート層)
3宛先を書く(インターネット層)
4郵便局やトラックで運ぶ(ネットワーク層)
…というイメージ。
Webサイトを見るときの実例
- アプリケーション層:ブラウザがHTTPを使って「ページをください」と要求
- トランスポート層:TCPでデータを順番通りに、壊れず届くように管理
- インターネット層:IPアドレスで「どのサーバへ?」を決定
- ネットワーク層:Ethernetで実際にケーブルやWi-Fiから信号を送信
IPとは
- IP(Internet Protocol) は、インターネットやLANで使う基本的な通信ルールのひとつ。
- OSI参照モデルでは 第3層(ネットワーク層) にあたり、TCP/IPモデルでは インターネット層 にあたる。
- 各コンピュータや機器に IPアドレス(住所のような番号) を割り当てて、正しい相手にデータを届ける。
IPヘッダとは
- IPヘッダ:データを送るときに、前につける「伝票」のような情報。
- 宛先住所(IPアドレス)、荷物の番号(識別子)、有効期限(TTL)などが書かれている。
- サイズは基本 20バイト(オプション付きで最大60バイト)。
- データ本体は IPペイロード と呼ばれる部分。
IPヘッダの各フィールドの内容
| フィールド | 英語 | サイズ | 内容(初心者向けの例え) |
|---|---|---|---|
| バージョン | Version | 4bit | IPv4なら「4」。世代番号のようなもの。 |
| ヘッダ長 | IHL | 4bit | ヘッダの長さ(通常20バイト)。伝票のサイズ。 |
| サービスタイプ | ToS | 8bit | 優先度の指定。音声通信を優先、など。 |
| 全長 | Total Length | 16bit | パケット全体の長さ。荷物のサイズ。 |
| 識別番号 | Identification | 16bit | 分割したパケットをまとめるための番号。伝票番号。 |
| フラグ | Flags | 3bit | 分割を許可するかどうか、最後のパケットかどうかを示す。 |
| フラグメントオフセット | Fragment Offset | 13bit | 分割されたパケットが元データのどの位置かを示す。 |
| 生存時間(TTL) | Time to Live | 8bit | ルータを何台通れるか。寿命。0になると廃棄。 |
| プロトコル | Protocol | 8bit | 上位プロトコルを指定。TCP=6, UDP=17 など。 |
| ヘッダチェックサム | Header Checksum | 16bit | ヘッダにエラーがないかを確認する。 |
| 送信元IP | Source Address | 32bit | 出発地(送り主の住所)。 |
| 宛先IP | Destination Address | 32bit | 届け先の住所。 |
| オプション | Options | 可変長 | 普段は使わない。特別な調査やテスト用。 |
| パディング | Padding | 可変長 | 長さを32bit単位に揃えるための「空白調整」。 |
IPの3つの特徴
- コネクションレス型
- 相手と事前に「接続を確立」しないで、いきなりデータを送る方式。
- 例:手紙を投函するとき、ポストに入れたらすぐ配達が始まる。
- ベストエフォート型
- 「最善は尽くすけど、必ず届く保証はしません」という通信。
- ただしTCPと組み合わせれば、再送などで結果的に「必ず届くように見える」。
- 階層型アドレッシング
- IPアドレスは「ネットワーク部」と「ホスト部」に分かれている。
- ネットワーク部=町名、ホスト部=番地 のイメージ。
プロトコル番号(代表例)
- 1 = ICMP(通信エラーや確認に使う)
- 6 = TCP(信頼性の高い通信)
- 17 = UDP(速いけど保証なし)
- 89 = OSPF(経路制御に使う)