78
63

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【TCP/IP】重要な技術すぎる

Last updated at Posted at 2025-08-21

はじめに

TCP/IPを学んで衝撃を受けたのでまとめます。
現代がこんなに便利なのはこの技術のおかげかもしれません。

TCP/IPって何?

TCP/IPは「Transmission Control Protocol/Internet Protocol」の略で、インターネット上でデータをやり取りするためのルール(プロトコル)の集合体です。

わかりやすい例え話

TCP/IPを郵便システムに例えてみましょう。

  • TCP(Transmission Control Protocol):配達方法
    • 確実に届けるための仕組み
    • 書留郵便のように、確実に相手に届いたか確認する
  • IP(Internet Protocol):住所システム
    • どこに送るかを決める(IPアドレス)
    • 郵便番号や住所のようなもの

TCP/IPが使われている身近な例

実は、私たちが普段使っているサービスのほとんどでTCP/IPが活躍しています!

🌐 インターネットサービス

ウェブサイト閲覧

  • Google、YouTube、Amazon
  • ニュースサイト、SNS
  • オンラインショッピング

メール

  • Gmail、Outlook
  • 企業のメールシステム

動画・音楽配信

  • Netflix、Amazon Prime Video
  • Spotify、Apple Music

📱 スマートフォン・アプリ

SNSアプリ

  • Twitter(X)、Instagram、TikTok
  • LINE、WhatsApp

ゲーム

  • オンラインゲーム
  • スマホゲームのデータ通信

地図・ナビ

  • Google Maps、Apple Maps
  • リアルタイム交通情報

🏠 家庭内ネットワーク

スマート家電

  • スマートテレビでの動画視聴
  • Amazon Echo、Google Home
  • スマート照明、エアコン

IoTデバイス

  • 防犯カメラ
  • スマートドアベル

💼 ビジネス

リモートワーク

  • Zoom、Teams でのビデオ会議
  • クラウドサービス(Google Drive、OneDrive)
  • VPN接続

電子商取引

  • オンライン決済
  • 在庫管理システム

つまり、デジタル社会のすべてがTCP/IPで成り立っていると言っても過言ではありません!

なぜTCP/IPが必要なのか?

1. 異なるネットワーク同士の接続

昔は、各社が独自のネットワーク規格を作っていました:

  • IBMのSNA(Systems Network Architecture)
  • DECのDECnet
  • AppleのAppleTalk

これでは、異なるメーカーのコンピュータ同士で通信できません。TCP/IPは共通の言語として、どんなメーカーのコンピュータでも通信できるようにしました。

2. 大規模ネットワークの実現

世界中の何億台ものコンピュータをどうやって接続すべきか。

TCP/IPの解決策:

  • 階層化:複雑な問題を4つの層に分けて解決
  • ルーティング:最適な経路を自動的に見つける
  • パケット分割:大きなデータを小さく分けて送信

3. 信頼性の確保

インターネットは不安定なネットワークです。

  • ケーブルが切れることがある
  • サーバーがダウンすることがある
  • データが途中で失われることがある

TCP/IPが提供する解決策:

送信者: 「データ1を送ったよ」
受信者: 「データ1、受け取りました!」
送信者: 「データ2を送ったよ」
受信者: 「...(応答なし)」
送信者: 「あれ?もう一度データ2を送るね」
受信者: 「データ2、受け取りました!」

4. スケーラビリティ(拡張性)

TCP/IPはどんなサイズのネットワークにも対応できます。

  • 小規模: 家庭のWi-Fi(数台のデバイス)
  • 中規模: 企業のLAN(数百〜数千台)
  • 大規模: インターネット全体(数十億台)

5. 現実世界の例

もしTCP/IPがなかったら...

ウェブサイト閲覧:

❌ www.google.com にアクセスしようとする
❌ でも、Googleのサーバーがどこにあるかわからない
❌ データの送り方もわからない
❌ 結果:何もできない

TCP/IPがあると:

✅ www.google.com → IPアドレスに変換
✅ 最適な経路を自動で見つける
✅ データを安全に送受信
✅ 結果:検索ページが表示される

6. 標準化の重要性

TCP/IPは国際標準です:

  • どの国でも同じルールで通信
  • どのメーカーの機器でも相互接続可能
  • 新しい技術も同じ基盤の上で開発

: 日本のスマホからアメリカのサーバーにアクセス

日本のスマホ(TCP/IP)
    ↓
世界中のルーター(TCP/IP)
    ↓
アメリカのサーバー(TCP/IP)

つまり、TCP/IPはインターネットを可能にした革命的な技術なんです!

TCP/IPの4層モデル

TCP/IPは4つの層(レイヤー)に分かれています。下から順番に見ていきましょう。

1. ネットワークインターフェース層(物理層)

役割: 実際にデータを送る物理的な部分

  • LANケーブル、Wi-Fi、光ファイバーなど
  • 0と1のデジタル信号を電気信号や光信号に変換

2. インターネット層(ネットワーク層)

役割: データをどこに送るかを決める

  • IP(Internet Protocol) が動作
  • IPアドレスを使って宛先を特定
  • ルーティング(道順決め)を行う

3. トランスポート層

役割: データを確実に届ける

  • TCPUDPが動作
  • データの分割・組み立て
  • エラー検出・修正

4. アプリケーション層

役割: 私たちが使うアプリケーションが動作

  • HTTP/HTTPS(ウェブサイト)
  • SMTP(メール送信)
  • FTP(ファイル転送)

IPアドレスとは?

IPアドレスは、インターネット上の住所のようなものです。

IPv4アドレス

192.168.1.1
  • 4つの数字を「.」で区切った形式
  • 各数字は0〜255の範囲
  • 約43億個のアドレスが利用可能

IPv6アドレス

2001:0db8:85a3:0000:0000:8a2e:0370:7334
  • 16進数を「:」で区切った形式
  • IPv4のアドレス不足を解決
  • 約340澗(かん)個のアドレスが利用可能

43億 x 43億 x 43億 x 43億 らしい。デカ~

プライベートIPとパブリックIP

プライベートIP: 家庭内ネットワークで使用

192.168.xxx.xxx
10.xxx.xxx.xxx
172.16.xxx.xxx 〜 172.31.xxx.xxx

パブリックIP: インターネット上で使用される唯一のアドレス

TCPとUDPの違い

どちらもデータを送るトランスポート層のプロトコルですが、目的が異なります。

TCP(Transmission Control Protocol)

特徴: 信頼性重視

  • データが確実に届く
  • 順序が保たれる
  • エラー検出・修正機能あり
  • 速度は比較的遅い

使用例:

  • ウェブサイトの閲覧(HTTP/HTTPS)
  • メール送信(SMTP)
  • ファイル転送(FTP)

UDP(User Datagram Protocol)

特徴: 速度重視

  • データが届かない可能性がある
  • 順序が保たれない場合がある
  • エラー検出機能は最小限
  • 速度が速い

使用例:

  • 動画配信(YouTube、Netflix)
  • オンラインゲーム
  • DNS(名前解決)

ポート番号とは?

ポート番号は、同じコンピュータ内でどのアプリケーションにデータを渡すかを決める番号です。

よく使われるポート番号

ポート番号 プロトコル 用途
80 HTTP ウェブサイト(暗号化なし)
443 HTTPS ウェブサイト(暗号化あり)
8080 HTTP 開発用ウェブサーバー
25 SMTP メール送信
110 POP3 メール受信
22 SSH セキュアなリモート接続
21 FTP ファイル転送

アドレスの書き方

192.168.1.1:8080
  • 192.168.1.1:IPアドレス
  • 8080:ポート番号

localhost:8080 ってこれのことか!!

TCP/IPの通信の流れ

実際にウェブサイトにアクセスする時の流れを見てみましょう。

1. DNS名前解決

www.example.com → 192.0.2.1

ドメイン名をIPアドレスに変換

2. TCP接続確立(3ウェイハンドシェイク)

クライアント → サーバー: SYN
サーバー → クライアント: SYN-ACK  
クライアント → サーバー: ACK

3. HTTPリクエスト送信

GET / HTTP/1.1
Host: www.example.com

4. HTTPレスポンス受信

HTTP/1.1 200 OK
Content-Type: text/html

<html>...</html>

5. TCP接続終了

まとめ

TCP/IPは、インターネットの基盤となる重要な技術です。

重要なポイント:

  1. TCP/IPは4つの層に分かれている
  2. IPアドレスはインターネット上の住所
  3. TCPは信頼性、UDPは速度を重視
  4. ポート番号でアプリケーションを特定
  5. 普段使っているインターネットサービスはすべてTCP/IPで動いている
78
63
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
78
63

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?