🐡

【ネットワーク基礎】IPパケットを理解する

に公開

はじめに

現代のインターネット通信は、膨大な量のデータが世界中を行き交っています。
このデータの最小単位となるのが「IPパケット」です。
IPパケットは、宛先や送り主、データ本体といった情報を一つにまとめ、インターネット上を効率的に運ぶ役割を担っています。

本記事では、IPパケットとは何か、その基本構造、実際の通信における役割についてわかりやすく解説します。

IPパケットとは?


https://xtech.nikkei.com/atcl/nxt/column/18/00780/052700001/ より

IPパケット(Internet Protocol Packet) は、インターネット上でデータを送るときに「小分けにされたデータの単位」です。このパケットには、
・宛先IP(宛先の住所)
・送信元IP(差出人)
・データ(荷物の中身) などが詰め込まれていて、インターネットを通って相手に届きます。
IPパケットは送り先に荷物を届けるための「段ボール箱」のようなものとイメージすることができます。

IPパケットの構造


https://xtech.nikkei.com/atcl/nxt/column/18/01606/032400002/ より

IPパケットは、大きく2つの部分で構成されています。
順番に解説していきます。

① IPヘッダー(Header)


https://xtech.nikkei.com/atcl/nxt/column/18/00780/052700001/ より

ヘッダーは送受信に必要な管理情報を含む部分で、宛先やルーティング、通信制御に使われます。

IPv4 のヘッダー構造
IPv4ヘッダーは、送信元から宛先にデータを正しく届けるための制御情報を含む部分です。全体で20バイト(オプションを除く)の固定長となっており、以下のようなフィールドで構成されています。

※以下、ChatGPTの解説より引用

フィールド名 サイズ 説明
Version(バージョン) 4ビット 使用するIPのバージョン(IPv4なら4)
IHL(Header Length) 4ビット ヘッダーの長さ(単位は4バイト)
Type of Service(ToS) 8ビット パケットの優先度や遅延・信頼性の要求を指定
Total Length 16ビット ヘッダー+データの合計長(バイト単位)
Identification 16ビット パケットの識別子。フラグメント再構築に使用
Flags 3ビット フラグメント(断片化)の制御
Fragment Offset 13ビット フラグメントの順序を示す
Time to Live(TTL) 8ビット パケットが生きられるルーター数(寿命)
無限ループ防止のため、ルーターを1つ通るごとに減少。0になると破棄される。
Protocol 8ビット 上位のプロトコル(例: TCPは6、UDPは17)
Header Checksum 16ビット ヘッダー部分のエラーチェック用
ヘッダー内容が壊れていないか確認
Source IP Address 32ビット 送信元IPアドレス
Destination IP Address 32ビット 宛先IPアドレス
Options(省略可) 可変長 拡張用フィールド(使用されないことが多い)

② データ(ペイロード)

ヘッダーの後ろに続くのが実際の中身のデータです。
上位のプロトコル(TCP, UDP, ICMPなど)が載っており、たとえば
・Webアクセス → TCPヘッダー+HTTPリクエストなど
・メール → TCP+SMTP
・動画ストリーミング → UDP+映像データ
といったデータが含まれています。
TCP/UDPはIPパケットの中身(ペイロード)として扱われるのです。

パケットで送る理由

① 効率的に送るため
大きなデータをそのまま送ると、途中で失敗したときに全部やり直しになってしまいます。そのため、大きなデータを分割して小さなパケットにして送ることで、再送時の無駄を減らすことができます。

② 回線によって最大サイズ(MTU)が違うため
回線により一度に流せるパケットサイズ(MTU)が違うため、それに合わせて分割されます。

③ 経路の最適化
IPパケットごとに、リアルタイムでネットワークの混雑状況や障害に応じて異なるルートで送ることができる(個別にルーティングされる)ため、より効率的で柔軟な通信が可能になります。
パケットに宛先IPアドレスがあるからこそ、ルーターがそのパケットをどこに届ければよいかを判断できます。

まとめ

IPパケットは、「どこからどこへ、何を、どうやって運ぶか」という通信の基本を担っています。
ヘッダーとペイロードというシンプルな構造ですが、宛先にデータを届けるための「住所情報」をもっており、これにより正確かつ効率的なデータの配送を支えています。
その点が理解できれば幸いです。

最後までお読みいただき、ありがとうございました。

参考・画像引用元URL

https://xtech.nikkei.com/it/article/COLUMN/20070619/275214/
https://xtech.nikkei.com/atcl/nxt/column/18/01606/032400002/
https://xtech.nikkei.com/atcl/nxt/column/18/00780/052700001/
https://xtech.nikkei.com/it/article/COLUMN/20071009/284011/
https://xtech.nikkei.com/it/atcl/column/17/011900625/011900001/
https://www.network-engineer.info/network_beginner/そもそもipパケットとはなにか?/
https://amateurse.hatenablog.com/entry/2021/08/10/201107

Discussion