LoginSignup
0
0

More than 3 years have passed since last update.

<IPアドレス入門>IPv4とIPv6の違いについて

Last updated at Posted at 2021-02-05

はじめに

「IPアドレスなんて、とりあえず、インターネット上の住所みたいなもんでしょー!? 指定すれば繋がるやん!!」

・・・って、
題名にある通り、
私自身、恥ずかしながら、
大分、大〜分、知ったかしていたクズ人間です。

IPアドレスさん、ごめんなさい。

傲慢でした。許してください。上辺だけの関係はやめましょう。

しっかりと勉強してまいりたいと存じまする。

IPとは

IPとは、インターネットプロトコルの略です。

ふむふむ、
インターネットはもちろんいつも使ってるし、
ブラウザを使ってみんなと繋がれるネットワーク環境だよね?
って印象ですが、

まず、プロトコルとか文言が理解し難いですねぇ。

プロトコルって日常生活で一回も発したことがないし。

「お宅のプロトコル、どないまんねん!!!!」
みたいな、わけわからんですね。

とりあえず、前置き長くなりましたが、
プロトコルっていうのは、お約束事ってことです。

つまり、インターネット通信におけるお約束事の一つってことで、

これはもう決められている以上は、拒否とかできませんし、素直に受け入れるしかありません。

IP(インターネットプロトコル)って、どう決められたの?

RFC 791に、定められていて、
みんなこの定義書を元に、
インターネットプロトコルを使用して、アプリケーションやシステム開発等をしてきましたね。

少し歴史も振り返りたいと思います。

RFCは、1968年ごろ、スティーブ・クロッカー が考案したと言われており、はじめのRFCは1969年4月7日の日付となっている (RFC 1) 。その後情報科学研究所 (ISI) のジョン・ポステルにより管理される。RFCの歴史についてはRFC 2555に30 Years of RFCsとしてまとめられている。
引用:wikipedia

また、

RFC(Request for Comments)は、現在はインターネットで用いられるさまざまな技術の標準化や運用に関する事項など幅広い情報共有を行うために公開される文書シリーズ
引用:日本ネットワークインフォーメーションセンター

とのことです。
なるほど、これは、決められたレールの上で、踊るしかありません。

IPv4とは

やっと本題に入りますが、
実は最初に提唱されたインターネットプロトコルが、IPv4です。
上述した、RFC 791 です。
正式名称は、インターネットプロトコルバージョン4

最初にバージョン4?!

自分も疑問です。
えと、、バージョン1~3もあるんじゃないの?って思いますよね。

ないです。

諸説あると思いますが、

IPv4のIPアドレスは、32ビットの数字を変換して4つに区切られていて(4オクテット)
区切りが4つだから、名前がIPv4になった
ということらしいです。

突然の、4!!心の声:粗品風に言いたい

アドレスの表記方法

32ビット固定長として表現され、

1100000101010000000000100000001

8ビットのまとまりに区切り、

1100000.10101000.00000001.00000001

これを10進数で表すと、

192.168.1.1

となります。

<第1オクテット>.<第2オクテット>.<第3オクテット>.<第4オクテット>

8ビットをオクテットと呼びますが、
なんだかあの妖艶なドラマ「カルテット」を思い出しますねえ〜

IPv4にはネットワーク部とホスト部がある

IPv4アドレス = ネットワーク部 + ホスト部
スクリーンショット 2021-02-05 16.43.38.png

  • ネットワーク部:各ホスト(コンピューターとか)が属するネットワークの範囲を表す
  • ホスト部:そのネットワーク内でコンピューターを識別するための部分になる

ふむ、別れていることはわかったけど、いまいちピンとこない。。。

例えば、
超ピンポイントに、野村不動産の高級建売住宅のプラウドに置き換えてみると、
あの高級感漂う、平民は足を踏み入れてはいけない禁止区域みたいなプラウドの敷地エリアが、ネットワーク部
一つ一つの建売戸建てが、ホスト部の一つ一つを表す。

みたいな、、、
おっつ、なんかピンときました。(自己解決)

要するに、
ネットワーク部ってのが、ネットワークの範囲指定をして、ホスト部の番号を使って、コンピューターなり、ルーターなり、をホストする
ってことですな。
ネットワーク部ってのは、グループを形成している感覚に近いんだろうな。

IPv4には、ネットワーク部とホスト部を区切り方が結構ある

結構ある、ってざっくり言っちゃいましたけど、
代表的なものを軽く触れたいと思います。

クラス

ちょい、「古き良き日本」みたいなレトロなやり方? 流行りトレンディではなさそう。
ただ知っておくのは大事◎

クラスにはA~Eが存在しています。
実際にネットワーク部とホスト部を区切れるのは、クラスA~C

クラス 第1オクテットの先頭ビット列 アドレス範囲 割当可能ホスト数 用途
A 0 0.0.0.0 ~ 127.255.255.255 16,777,214 任意
B 10 128.0.0.0 ~ 191.255.255.255 65,534 任意
C 110 192.0.0.0 ~ 223.255.255.255 254 任意
D 1110 224.0.0.0 ~ 239.255.255.255 - IPマルチキャスト用
※ホストアドレス部分なし
E 1111 240.0.0.0 ~ 255.255.255.255 - TCP/IP(IPv4)の開発当初から予約された実験用
※実際に使われることはありません。
ちなみに、

クラスAでは、
0.0.0.0 は全てのネットワークを表すアドレスですので使用不可
127.0.0.1ループバックアドレスと呼ばれ、自分を示す特殊なIPアドレス

よくmacのパソコンとかで、
localhostを確認すると127.0.0.1と指定されていますが、
そういったことだったんですねえ

クラスDでは、
1対N(グループ宛て)の通信に利用されます。なお、224.0.0.0 〜 224.0.0.255 の範囲のアドレスは、
同一ネットワーク上でのみ送信されルーターによる転送はない、とのこと。

プライベートアドレスはクラスA、B、Cで、それぞれ範囲が決められている

社内や、組織内、家庭内で使う内部ネットワークでのみ利用可能なIPアドレス。
つまり、インターネット上には出ていくことはありません。

クラス アドレス範囲
A 10.0.0.0 〜 10.255.255.255
B 172.16.0.0 〜 172.31.255.255
C 192.168.0.0 〜 192.168.255.255

CIDR(サイダー)

※三ツ矢サイダーではありません。

CIDR(サイダー)です。
流行ってます。はい。こっちがモダンな匂いがプンプンします。

「いやいや、クラスってめちゃめちゃ範囲、縛られてんじゃん、うまくホストできなかったら、アドレスちょー無駄になっちゃうじゃん。めちゃめちゃ箱入息子やんっ」

って嘆きを解消するために、生まれたと言っても過言ではないと思います。

本名も Classless Inter-Domain Routingってなってて、

実際に、ネットワーク部とホスト部の区切りが自由だぁぁぁぁあああああ!!!!!!!!!!

CIDR(サイダー)の飲み方 書き方
192.168.1.0/24

シンプルに美しい。

範囲としては、
192.168.1.0 - 192.168.1.255
を指します。

ネットワーク部:192.168.1.
ホスト部:0~255
を指します。

すげええ簡略貸されて、自由度MAXですねぇ!!!
ちなみに、/.24の部分をプレフィックスと呼ぶようです。

余談だけど、サブネットで表記することもできるよ

もうお腹いっぱいなんだけど、サブネットって突然、何!?ってなると思いますが、簡単です。

プレフィックスの部分を
/255.255.255.0
と表したものがサブネットです。

32ビットで表記すると

1111111.1111111.1111111.00000000

を指して、1の部分が、ネットワーク部ね!!と宣言できます。

これがサブネット

クラスちゃんは束縛激しいし、サブネットくんは鬱陶しいな〜って思った人たちの発明が、サイダー表記ですなあ!

みんな賢い!!!!!!!!!!!!

もう全部IPv4でいいじゃん。なんでIPv6が生まれたの?

それは、単刀直入に、
IPv4アドレスの枯渇
です。

石油などの天然資源も有限で、いつ枯渇してもおかしくないと言われていますが、
IPv4もその危機にあります。

単純に、256の4乗してみましょう。
256^4 = 4,294,967,296
つまり、約43億個のユニークなグローバルIPアドレスしか用意できません。

「いやいや"しか"って、、、43億って十分じゃね?」
と思うかもしれませんが、そんなことはありません。

地球上の人口を見ても2021年2月現在76億近いですから、
明らかにたりないですね、こりゃ。

まあ、おそらく、1981年当時は、十分だったんですねえ。
みんながみんなスマホを手に取り、こんなネットビジネスやらインターネットが爆発的に利用されるとか
あんまり未来人のことなんか想像しないですからねぇ。

その背景として、生まれたのが、IPv6。

インターネットプロトコルバージョン6
おおお、ver.5 すらも超えて飛び級のバーションみたいな印象です。

初版は、1995年にRFC1883 で定義され、
1998年に第二版として、RFC2460
そして、最近2017年に最新版として、RFC8200
と2回、改訂されていますね!

2017年の改訂とのことですから、ついに、IPv6が本領発揮する時代に突入したんじゃないでしょうか!!

IPv6とは

これはIPv4が32ビットでしたが、IPv6は128ビットデータとして表現します、と。

つまり、アドレス総数は 2^128 = 約340澗(かん)個
聞いたことない単位出てきたYO!!

これは事実上無限。神の領域ですね。。

例えば、IPv4

 192.0.2.1

IPv6に変換して、実際に見てみると、こんな感じ。

0000:0000:0000:0000:0000:ffff:c000:0201

IPv4と同様の表記では冗長になりすぎるため、
アドレスの値を16ビット単位コロン(:)で区切り、十六進法で表記するのだそう。
16進数:1~9 a~fで表す。f = 15, 10 = 16 みたいな感じです。

ただ、上記の0000:ってこれまた冗長すぎるので、
あるセクションが 0 で始まる場合は、先行する 0 を省略できるルールがあって、

0:0:0:0:0:ffff:c000:0201

とできる。
さらに、一箇所だけ、0000:0000:0000:0000:0000と連続するときは、::で省略できる。
つまり、こう。

::ffff:c000:201

もし、

0000:0000:0000:ffff:0000:0000:c000:0201

こうなっていた場合は、

::ffff:0:0:c000:0201
0:0:0:ffff::c000:0201

とどちらかで、できる。

もうわけわからんすね、

IPv6アドレス、怖ひ、、、、、

なんでIPv5じゃなかったの?

うーむ。
IPv6とか突然、バージョン飛んだし、IPv4を踏襲して、第四オクテットの考え方を取り入れているなら、
IPv6のアドレス自体が、8分割されてるから、潔くIPv8とかでもよかったのにな〜〜

実は、
IANA(Internet Assigned Numbers Authority)という、
IPアドレスとかの、インターネットにまつわる番号を管理する本気の組織があって、

その組織の管理表的には、
本当は、IPv4とIPv6の間に、幻の5番目のプロトコルが存在している、みたい。

その名も「ST-II」

RFC1190に定められていますが、
目的としては、次世代IPとして開発されたものではなく、
飽くまでストリーム指向の実験的なプロトコルで、一般が利用するものではなかった
らしいです。
ST-IIは1990年にRFC化されていて、ちょうどIPv4とIPv6の間に挟まれた格好なので、飛び番になってしまった

というお話でした。

ちゃんちゃん♪

最後に、次世代の通信方法は、IPoE IPv4 over IPv6

ざっくりですが、
ID・パスワードを用いて、認証を挟んでインターネットに接続する従来のやり方を
PPPoE(Point-to-Point Protocol over Ethernet)
といって、(ポポポ-エって聞こえるのは何故・・・)

これは 認証で渋滞しちゃうので、遅いと言うわけですねえ。
で、IPv4は、結局のところ、PPPoEにしか対応していない。

そこで、もっと速い違う新方式のプロトコル
IPoE(IP over Ethernet)
が登場し、従来の認証のところを省いて、
直接インターネットに接続しちゃおうっていうのが、IPoEで、速い。

いま、IPoEIPv6に対応している。

つまり、
IPv4 over IPv6は、
いいとこ取りしちゃえばいいじゃん〜ってお話で、

基本的には、IPv6環境で通信を行いながらも、
従来のIPv4アドレスでの通信もできるようにしちゃうよってこと。

なんとも次世代の技術でしたね。

まとめ

奥が深すぎて、溺れた、、、
IPアドレスさん、ありがとう。

以上、
ありがとうございました!!!!!!!!!

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0