🆓

TCP/IP基礎編

に公開

TCP/IP基礎

はじめに

ネットワークの基盤技術「TCP/IP」。名前は聞いたことがあるけど、実務では具体的にどう役立つのかピンと来ないという人も多いのではないでしょうか?

本記事では、TCP/IPの基礎から実際のパケット解析ツール(Wireshark)を用いた実践的な視点まで、インフラ・アプリ・SRE・セキュリティどの職種の方にも役立つように解説します。


TCP/IPとは何か?なぜ重要か?

TCP/IPはインターネット通信の“共通言語”です。あらゆるWebアプリケーションやAPI、メール、ファイル転送などがこの仕組みの上に成り立っています。

TCP/IPの理解は、以下のような課題を解決する上で極めて重要です:

  • アプリ通信ができない原因の切り分け
  • 不審なパケットの検出(セキュリティ対応)
  • 通信ボトルネックの特定

TCP/IPの4層モデル(OSI参照モデルとの比較)

OSI参照モデル TCP/IPモデル 主なプロトコル
アプリケーション層 アプリケーション層 HTTP, FTP, DNS
プレゼンテーション層 アプリケーション層 HTTP, FTP, DNS
セッション層 アプリケーション層 HTTP, FTP, DNS
トランスポート層 トランスポート層 TCP, UDP
ネットワーク層 インターネット層 IP, ICMP
データリンク層 ネットワークインターフェース層 Ethernet
物理層 ネットワークインターフェース層 ケーブルや電気コネクタ

TCP/IPモデルでは、7層構造を4層に統合し、より実装に近い形で定義されています。


各層の実務的なポイントとトラブル対策

🔸 インターネット層(IP)

  • IPアドレス、サブネット、ゲートウェイ、ルーティング
  • ICMP(ping, traceroute)が通信経路の診断に有効

🔸 トランスポート層(TCP/UDP)

  • TCP: コネクション型、信頼性重視(3-way handshake)
  • UDP: 非コネクション型、軽量(DNS, VoIP, SNMPなど)
  • アプリ通信不具合時はポート番号をチェック

🔸 アプリケーション層

  • HTTP/HTTPS通信では、ヘッダ情報HTTPステータスコードが重要な分析対象
  • DNSの名前解決失敗がアプリ接続不良の原因になることも

Wiresharkで学ぶパケット解析入門

Wiresharkは、TCP/IP通信を可視化する強力なツールです。

簡単な使い方

  1. インタフェースを選択してキャプチャ開始
  2. tcp.port == 80ip.addr == 192.168.1.10 でフィルタ
  3. TCP 3-way handshake を観察
    • SYN → SYN/ACK → ACK
  4. アプリレベルのエラーや再送なども確認可能

代表的なトラブル例と対応フロー

Webアプリが接続できない

  • ping → ネットワーク疎通確認
  • telnet <host> <port> → ポートの開通確認
  • nslookup or dig → DNS解決確認
  • tcpdump or Wiresharkでパケットを追跡

外部APIのレスポンスが遅い

  • RTT(往復遅延)の測定
  • TCP再送・ウィンドウサイズの確認
  • ネットワーク経路のHop数をtracerouteで確認

まとめ

TCP/IPは全ITエンジニアの共通知識です。本記事で紹介した内容を実践していくことで、ネットワークの「見えない層」をしっかりと把握できるようになります。
まだまだ基礎の段階ですが、通信の流れや構成の仕組みをイメージしやすくなりました。
今後も、実機演習や構築演習を通じてさらに理解を深めていきたいと思います!


Discussion