Infra Engineer

【独学CCNA】027.IPv4ヘッダその②
2021.09.29
Lv1

【独学CCNA】027.IPv4ヘッダその②

ゼロからのCCNA独学講座

本連載では、シスコ技術者認定資格であるCCNA合格を目指して、試験範囲の解説や問題演習などを扱っていきます!
今回は、前回に引き続きIPv4のヘッダについて説明していきます。

  • IPv4とは?
  • IPv4ヘッダ
  • まとめ
  • 確認問題

IPv4ヘッダ その2

前回はIPv4ヘッダのバージョンからフラグメントオフセットまでを解説しました。
今回は残りの各フィールドについてみていきましょう。

前回確認したとおり、IPv4ヘッダのフィールドは以下のようになっています。

それでは、前回の続きから内容を確認していきましょう。


TTL

TTL(Time To Live)はパケットの寿命、生存時間を表すフィールドです。TTLが表す生存時間は、パケットが経由するL3機器の数で表します。パケットが宛先に到達するまでの間にL3機器を経由するたび、TTLの値は1ずつ減っていきます。TTLの値が0になった時点でそのパケットは破棄されます。
TTLの値は、1つのパケットが同じネットワーク内に永遠に存在し続けることを防ぐ役割があります。何らかの理由でパケットがループする状態になってしまった場合、パケットを破棄する手段がなければそのパケットは同じ箇所を延々と回り続けます。そこでTTLを用いることで、ループしているうちにTTLが0になりパケットを破棄することができます。


プロトコル

プロトコルはペイロードがどんなプロトコルで構成されたかを表すフィールドです。
TCPであれば6、UDPであれば17というようにペイロード部分を構成したプロトコルを示す値が入っています。
この値はIANA(Internet Assigned Number Authority)が管理しており、以下のサイトから最新の情報を確認することが出来ます。
Assigned Internet Protocol Numbers


ヘッダチェックサム

ヘッダチェックサムはIPv4ヘッダの整合性確認のために用いられるフィールドです。
チェックサムの計算では1の補数演算を使っていて、RFC1071で定義されています。


送信元IPアドレス/宛先IPアドレス

送信元/宛先IPアドレスは名前の通り、パケットを送信した端末のIPアドレスと、最終的な宛先端末のIPアドレスをセットするフィールドです。パケットを送信する際、送信側端末は送信元IPアドレスに自身のIPアドレスを、宛先IPアドレスに通信を届けたい宛先のIPアドレスをセットしてパケットを作成します。
受信側の端末は、受け取ったパケットの宛先IPアドレスを確認し、自らが宛先であることを判断します。


オプション

オプションはIPパケットで扱える拡張機能を表すための可変長のフィールドです。宛先までに指定した経路を通過させるソースルーティングなど、いくつかのオプションが存在しています。通常の通信で使われることはあまりありません。


パディング

パディングはIPv4ヘッダの長さを整えるために使われるフィールドです。IPv4ヘッダは4byte単位と仕様で決まっていますが、オプションを使用した場合4byte単位ではなくなる場合があります。その場合、パディングに0を入れて穴埋めし、4byte単位になるようにIPv4ヘッダの長さを整えます。こちらもオプション同様、通常の通信で使われることはあまりありません。

IPv4ヘッダの各フィールドの説明は以上になります。

パケットをキャプチャしてヘッダをみてみよう

それでは、実際のパケットのヘッダをみてみましょう。
パケットの中身を確認するには、パケットキャプチャをするのが一番手っ取り早く確実です。
パケットキャプチャとは、端末の持つインターフェースで送受信されるデータを捕まえる(キャプチャする)ことです。実際にやり取りされるパケットを捕まえて中身を確認することで、プロトコルなどに対しての理解が深まりますし、トラブルシューティングにも役立ちます。
パケットキャプチャにはフリーソフトのWiresharkを用います。
Wireshark
WiresharkはOSSとして公開されているパケットキャプチャソフトです。今回はWiresharkを使って、実際にブラウザからWebサイトにアクセスした際に流れるパケットの、IPヘッダをみてみます。

パケットキャプチャをスタートした状態で、ブラウザからどこかにアクセスし、キャプチャできたパケットを確認してみましょう。
画面上部には、キャプチャしたパケットが一覧になって並んでいます。下半分には、キャプチャしたパケットのうち選択したものの詳細が表示されます。

キャプチャしたパケットを1つクリックしてみましょう。画面の下半分にクリックしたパケットの詳細な情報が表示されます。その中から、「Internet Protocol Version 4,…」となっている部分をクリックします。すると、先程説明していたIPv4ヘッダのフィールドが並んでいるのがわかるかと思います。

このように、IPv4ヘッダには通信に必要な様々な情報がセットされています。
トラブルシューティングの際などは、今回のようにパケットキャプチャをしてヘッダの中身を確認し、流れているパケットがどのような状態なのかを確認することがあります。

まとめ

  • IPv4ヘッダには多数のフィールドが定義されている
  • パケットキャプチャをすることでヘッダの内容を確認することができる

確認問題

以下の選択肢から正しいものを選んでください。

  1. プロトコルには、下位のレイヤで用いられるプロトコルの情報がセットされている
  2. TTLの値は、レイヤ2・3の機器を経由するたびに1ずつ減っていく
  3. オプションとパディングは、あらゆるパケットで用いられるというわけではない
  4. IPヘッダは常に2byte単位で構成されている
解答・解説
答え:3

1) プロトコルは、1つ上の階層であるトランスポート層で用いられるプロトコルを示す値がセットされるフィールドです。
2) TTLにセットされた値は、レイヤ3の機器で転送されるたびに1ずつ減少します。
3) 正解です。オプションは用途に応じて用いるものであり、通常のパケットではあまり使われません。パディングはオプションを使用した際にIPv4ヘッダを4byte単位に揃えるためのフィールドですので、こちらも通常はあまり使われません。
4) IPヘッダは4byte単位で構成されています。


今回はIPv4ヘッダの各フィールドについて解説しました。
次回はトランスポート層の概要について解説していきます。

ゼロからのCCNA独学講座 連載目次リンク

ゼロからのCCNA独学講座 連載目次

当連載を執筆している講師陣が所属するITスクールSAK

ITスクールSAK | CCNA合格保証パックコース紹介ページ