PR

【初心者向け】ICMPv6とは?わかりやすく3分で解説

IT-Skills

ICMPv6 (Internet Control Message Protocol for IPv6) はIPv6におけるICMPの役割を担うプロトコルです。

簡単に説明するとICMPv6はICMPの進化版。ICMPがIPv4で利用されていたのに対して、ICMPv6はIPv6で利用されるというだけです。ICMPと比較すると多少機能が拡張されており、各種資格試験ではその点に関する出題がなされていたりします。

このページでは、IPv6とICMPについて復習しつつICMPv6の仕組みと役割をネットワーク初心者向けに分かりやすく解説します。

このページで学べる内容
  • 【復習】ICMPとは?/IPv6とは?
  • ICMPv6の役割
  • ICMPv6メッセージ

ネットワークエンジニアを目指す方であれば知っておきたい重要知識の1つ。是非最後までご覧ください。

スポンサーリンク

【復習】ICMPとは?

ICMP(Internet Control Message Protocol)は、インターネット通信(IPを利用するTCP/IPのパケット通信)で発生したエラーとその原因を伝えるためのプロトコルです。

IPはコネクションレス型通信のため、パケット転送に失敗したとしても「失敗したこと」を検知することはできません。そこで、IP通信を行う際にその失敗を通知する仕組みが必要となります。それがICMPです。

例えば、ネットワークを構築した際に何故かあっちのサーバーにつながらない・・・なんていうこともよくあります。こんなときに、「何が問題」で「どこのネットワーク機器でエラーが起きているのか?」ということを調べる必要が出てきまがこのような場合もICMPを用います。

以下のような簡単なネットワークでPCからスマートフォンに向けてパケット送信する場合を考えます。

ICMP わかりやすく

PC【A】から送付されたパケットはルーターAからルーターBへ、ルーターBからルーターCへ送られ、最後に目的のPC【B】に届けられます。

このとき、PC【B】の電源が切れてしまっていた場合、ルーターCはPC【B】に対して、パケット転送を試みるものの、そのパケットは正常に送り届けられることはありません。

ICMP わかりやすく

このままでは、PC【A】は送ったパケットが正常に届けられたかどうか?を知る術はありません。仮に、パケット送信に失敗していたとしても、どこで失敗したかは分かりません。

このときに活躍するのがICMPです。ルーターCはICMPのルールに沿って、PC【A】に対して「到達不能(Destination Unreachable)」メッセージを返します。

これで、PC【A】はパケット送信がルーターCからPC【B】の間でエラーとなっていることを検知できるのです。

ICMP わかりやすく

これがICMPの役割です。

ICMPはその役割から「エラー報告プロトコル」「インターネット制御通知プロトコル」と呼ばれます

【復習】IPv6とは?

ICMPv6はIPv6で利用するICMPプロトコルです。

ここでは、IPv6を簡単におさらいしておきます。

IPv6とはIPv4の進化版。IPアドレス(=インターネット上の住所)を用いてデータを目的のコンピュータに届けるための諸々のルールを定義するプロトコルです。

IPv6プロトコルのその最大の特徴は、IPアドレスのアドレス長を128bitとして規定している点。

IPv6とは 分かりやすく

IPv4アドレスはのアドレス長は32bitであるので、理論上約43億個(※ 2の32乗=4,294,967,296個(約43億個) )の割り当てが可能です。

ですが、世界的にインターネットが普及し、パソコンやスマートフォン・その他ネットワーク機器が膨大な数に。結果、43億個のIPv4アドレスだけでは、全ての機器にIPアドレスを割り当てることが困難になりました。この問題を解決するために導入が進んでいるのがIPv6です。

ICMPv6とは?

ICMPv6 (Internet Control Message Protocol for IPv6) はIPv6におけるICMPの役割を担うプロトコルです。

基本的な役割はICMPと同様、データ転送に関するエラー通知を行うことを主な目的としていますがICMPv6ではARPの機能(IPアドレスからMACアドレスの探索)の機能も兼ね備えているという点が特徴です。

ARPとは

ARPとは、 IPアドレスからMACアドレスの情報を取得するためのプロトコルです。

コンピュータ同士がLANケーブルや無線LAN通信を行う際には、IPアドレスではなくMACアドレスが必要となります。その際、IPアドレスからMACアドレスを探索するルールを定めているのがARPです。

ARPとは IT

ICMPv6のパケットフォーマット

ICMPv6の具体的な仕組みについてさらに詳しくイメージできるよう、ICMPv6でやり取りするパケットフォーマットを見てみましょう。

ICMPv6

ICMPv6メッセージはエラーメッセージ情報メッセージの2つに分類されます。上記のパケットフォーマットを用いて以下のような通知を行います。すべて暗記する必要はありませんが、ICMPv6がどのようなメッセージを通知しているのか?イメージを持てればOKです。

種類タイプ意味
エラーメッセージ1宛先到達不能(Destination Unreachable)
エラーメッセージ2パケット過大(packet too big)
エラーメッセージ3時間超過(Time Exceed)
エラーメッセージ4パラメーター問題(Parameter Problem)
情報メッセージ128エコー要求(Echo Request)
情報メッセージ129エコー応答(Echo Reply)
情報メッセージ133ルータ要請(Router Solicitation)
情報メッセージ134ルータ通知(Router Advertisement)
情報メッセージ135近隣ホスト要請(Neighbor Solicitation)
情報メッセージ136近隣ホスト通知(Neghbor Advertisement)
情報メッセージ137リダイレクト(Redirect Message)
情報メッセージ139ICMP Node Information Query
情報メッセージ140ICMP Node Information Response
ICMPv6のまとめ
  • ICMPv6 (Internet Control Message Protocol for IPv6) はIPv6におけるICMPの役割を担うプロトコル
  • 基本的にはICMPと同様にデータ転送に関するエラー通知を行うことを主な目的としていますがICMPv6ではARPの機能(IPアドレスからMACアドレスの探索)の機能も兼ね備えているという点が特徴

ネットワークエンジニアを目指す方は

コンピュータとコンピュータはどのように通信をしているのか?インターネットはどのような仕組みで構成されているのか?

ネットワークの基礎を1から学習したい方(=ネットワークエンジニアを目指す方)は、以下の書籍が非常におすすめ。

blank
インターネットのプロトコルTCP/IP入門書の決定版!

日常生活で例えた説明や豊富な図解付きでIT初心者でも分かりやすく理解することができます。

ただし、ページ数も多くさくっと手軽に読める内容ではありません。しかしながら、ネットワークエンジニアを目指す場合、ほぼ全員が一度は読んだことがある書籍なので是非一度読破しておきたい1冊

ネットワークエンジニアを目指す方ではなくても、ネットワークの知識がある/なしで今後のキャリアプランに大きく影響します。1度手に取ってみてはいかがでしょうか?

またシステムエンジニアを目指す方や、IT知識を1から身につけたい方は以下のページをご覧ください。

正直どこから学び始めればよいかわからない。どのように勉強していけば、エンジニアとしてのスキルが磨けるか?が分からない・・・という方は必見です。

システムエンジニア向けに「できるエンジニア」になる方法を1から解説しておりますので、是非ご覧ください。

無料で読めるようにしてあります。累計15万人に参考にしていただきました!

タイトルとURLをコピーしました