IPv4とIPv6はそれぞれIPアドレスを表しています。
4,6はバージョンの違いでこれまでよく使われてきたのがIPv4で、IPv6は近年急速に普及しているものです。
それでは、IPv4とIPv6の違いについて説明していきます。
アドレス長
IPv4は32bitで構成されており、\(2^32=約43億\)のアドレスを持っています。
しかし、近年、5Gが発達するなどネットワーク機器が大量に必要となってきています。
そのため、IPアドレスが43億では足りなくなります。
最近まではNATを使ってIPアドレスをアドレスを節約していましたが、それでも足りない状態となってきました。
そこで、IPv6が使用されるようになってきました。
IPv6は128bitで構成されており、\(2^128\)のアドレスで構成されています。
\(2^128\)=\(3.4×10^38\)でほぼ使い切れない量となっています。
アドレス表記
IPv4は10進数で表記されています。
例:192.168.0.1という風に表記されています。
ここで「.」で分けられていますが、これは二進数で表すと8bitずつ分かれています。
二進数で表すと11000000.10101000.00000000.00000001となっています。
8個の塊ごとに分け、一つの塊は最大255となっています。
一方、IPv6は16進数で表されています。
例:fe80::1a2b:3c4d:5e6f:7g8hという風に表記さてています。(::は0が連続しているところを省略している。)
4つの塊ごとに8個のブロックを持っています。
IPヘッダーでの構造
IPv4のIPヘッダは下図のような構造となっています。
IPヘッダの中でIPv4とIPv6の情報が含まれるのは、バージョンの4bitです。
IPv4の場合、0100(二進数)が入っています。
IPv6で同じフォーマットのIPヘッダを使おうとするとIPアドレス部が足らなくなります。(IPが128bitあるから)
そのため、IPヘッダが下の構造となります。
このようにIPv4の時と結構異なります。
IPv6ではネットワーク効率を上げるために他のネットワーク機器で実行できるものは削除されました。
そして、このヘッダのバージョン部に0110(二進数)が入ります。
また、IPv4ヘッダ長は20byte以上の可変長に対し、IPv6のヘッダ長は40byteの固定長となっています。そのため、処理がしやすくなります。
役割が同じなもの
IPv4とIPv6でフィールドが同じなのは名前だけを見るとバージョンだけです。
しかし、名前が違うだけでほとんど同じ役割を持ったものはいくつかあります。
IPv4のサービスタイプとIPv6のトラフィッククラスは優先度に関するフィールドです。
IPv4のサービスタイプは8bitで構成されており優先度は3bit、遅延は1bit、転送量は1bit、信頼性は1bit、コストは1bit、予約1bitで役割分担されています。
一方、IPv6のトラフィッククラスでは8bitの内6bitはDSCP、2bitはECNで構成されDSCPの前半3bitで優先度、後半3bitで破棄されやすさ、ECNでネットワークの混雑状況がわかります。
以上のことからIPv4のサービスタイプとIPv6のトラフィッククラスを比べるとどちらも優先度に関するフィールドであることがわかります。
他にもIPv4の生存時間(TTL)とIPv6のホップ制限があります。
どちらも、0になるとICMPエラーメッセージがルータから送信されます。
コメント