はじめに
「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には、ネットワーク部とホスト部を区切り方が結構ある
結構ある、ってざっくり言っちゃいましたけど、
代表的なものを軽く触れたいと思います。
クラス
ちょい、「古き良き日本」みたいなレトロなやり方? 流行りトレンディではなさそう。
ただ知っておくのは大事◎
クラスには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
で、速い。
いま、IPoE
はIPv6
に対応している。
つまり、
IPv4 over IPv6
は、
いいとこ取りしちゃえばいいじゃん〜ってお話で、
基本的には、IPv6
環境で通信を行いながらも、
従来のIPv4
アドレスでの通信もできるようにしちゃうよってこと。
なんとも次世代の技術でしたね。
まとめ
奥が深すぎて、溺れた、、、
IPアドレスさん、ありがとう。
以上、
ありがとうございました!!!!!!!!!