🆓
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通信を可視化する強力なツールです。
簡単な使い方
- インタフェースを選択してキャプチャ開始
-
tcp.port == 80
やip.addr == 192.168.1.10
でフィルタ - TCP 3-way handshake を観察
- SYN → SYN/ACK → ACK
- アプリレベルのエラーや再送なども確認可能
代表的なトラブル例と対応フロー
Webアプリが接続できない
-
ping
→ ネットワーク疎通確認 -
telnet <host> <port>
→ ポートの開通確認 -
nslookup
ordig
→ DNS解決確認 -
tcpdump
or Wiresharkでパケットを追跡
外部APIのレスポンスが遅い
- RTT(往復遅延)の測定
- TCP再送・ウィンドウサイズの確認
- ネットワーク経路のHop数を
traceroute
で確認
まとめ
TCP/IPは全ITエンジニアの共通知識です。本記事で紹介した内容を実践していくことで、ネットワークの「見えない層」をしっかりと把握できるようになります。
まだまだ基礎の段階ですが、通信の流れや構成の仕組みをイメージしやすくなりました。
今後も、実機演習や構築演習を通じてさらに理解を深めていきたいと思います!
Discussion