IPアドレスについて

## はじめに
ITスクールRareTECHで学習しているゆーせーです。今回初めてQiitaに投稿するため、何卒温かい目で見守っていただけたら幸いです。
そんな私が書く記事第1号ですが、エンジニアになるための登竜門「 **IPアドレスについて** 」説明いたします。
![名称未設定のデザイン.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/4035327/c3743032-c135-46b8-841e-70ee79fdc6ca.png)
## IPアドレスとは？
IPアドレスについて「なんとなくわかっているが、結局なんなの？」と感じている人も少なくないと思います。皆さんと同じ思いを持った私がIPアドレスについて少し理解できたかなと感じたので、どう解釈すればわかりやすいのかなどを今回ご紹介いたします！
### ■IPアドレスとはインターネット上の住所みたいなものです！
これは皆さん耳に胼胝ができるくらい聞いていると思います。
しかしIPアドレスを学習するうえでこのたとえが一番わかりやすいと思います。

**ではなぜインターネット上の住所なのか？**
例えば友達に手紙を書いて送るときに住所を記載しますよね？それはあなたが送りたい相手に届けたいからだと思います。インターネット上でも同じで、データのやり取りをする際に正しい相手に送信するため、相手の住所(IPアドレス)を識別し、データを正しく送受信したいからです。
よってIPアドレスのおかげで私たちはデータの送受信が可能になります。

### ■IPアドレスの特徴
IPアドレスにはIPv4やIPv6があります。まずIPv4は通常、0~255の10進数4つのグループをドットで区切って表記し、全体で32ビットです(各グループは8ビット、つまり1バイトに相当します)。
IPv6は16進数で表され、8つのグループで表記し、全体で128ビットです。
上記で表記形式が違うことはわかっていただけかと思います。さらに大きな違いとしては、アドレス数やインターネットに直接接続できる/できないなどが挙げられます。

**アドレス数の違い**
おそらく現在皆さんが普段使っているのはIPv4だと思います。IPv4のアドレスの数は約43億個しかなくインターネットが普及する今では枯渇してしまい、IPv6が誕生しました。しかしIPv6もすぐ枯渇してしまうんじゃないの？と思うかもしれませんがIPv6は340澗(かん)個以上あります。
よってIPv6が誕生したことにより事実上無限のアドレス数を確保することができました。
しかし実際の利用状況は、日本やアメリカなどの先進国では、約40~50%がIPv6に対応してきていますが、世界全体でみると、IPv4がまだ過半数を占めています。

:::note warn
しかし実際の利用状況は、日本やアメリカなどの先進国では、約40~50%がIPv6に対応してきていますが、世界全体でみると、IPv4がまだ過半数を占めています。
:::
**ではなぜIPv4が今でも使われているのか？**
それは既存の設備がIPv4前提で作られていることやNATで無理やり延命できてしまっているからです。NATとはプライベートIPアドレスをグローバルIPアドレスを変換する技術のことです。
Ipv4にはプライベートIPアドレスとグローバルIPアドレスと二種類存在します。詳しくは下記で説明しますが、違いをざっくりいうと誰でも使えるのが `プライベートIPアドレス` で世界で**一意**な住所なのが `グローバルIPアドレス` になります。詳しくは下記で説明します！

### ■プライベートIPとグローバルIPの違い
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/4035327/07b83ffc-aa17-4202-99eb-47f5fd73fad8.png)
引用：https://clouddirect.jp.fujitsu.com/service/navi-words-ip_address
**プライベートIPアドレス**
プライベートIPアドレスは自宅や会社など特定の範囲内で使用されるIPアドレスです。
インターネットに接続することはできませんが、特定の範囲内であればやり取りすることが可能です。さらにグローバルIPアドレスは一意でなくてはいけませんが、プライベートIPアドレスは重複することが可能です。なぜかというと同じ範囲内での重複はできませんが、別の範囲内で重複していてもなんの支障もないからです。

**グローバルIPアドレス**
グローバルIPアドレスはインターネットに接続するためには必要不可欠になります。
上記でも述べたようにグローバルIPアドレスはインターネット上で一意の数列になります。さらに私たちが使用するグローバルIPアドレスは動的であり、昨日と今日で変わってしまいます。
また、私たちがグローバルIPアドレスを使用するためにはインターネットサービスプロバイダーからグローバルIPアドレスを借りなければいけません。
これでなんとなく違いが分かったと思います。

### ■クラス
IPアドレスにはクラスが存在します。クラスはA,B,C,D,Eとあります。このクラス分けによってよってネットワークの規模を定義しています。下記を見てわかるようにクラスAが1番大きく、クラスCが1番小さくなります。それなら常にクラスAを使えばいいんじゃない？と思いがちですが、それではダメです。IPアドレスにはネットワーク部とホスト部があります。ネットワーク部とは、同じネットワークにいるかどうかを判断する部分で、ホスト部はネットワーク内での個体番号(囚人番号みたいなイメージ)です。
そのためむやみにクラスAを選択すると、接続できる数は多いが区切られているネットワークの数は少ないということになります。例えば、クラスAを使用して大規模な会社を設立するとして、256×256×256台は接続できるが、128個までしか区切ることができないので、128個しか部署を作れないということです。

:::note info
ネットワーク部とホスト部はトレードオフの関係ということです。
:::
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/4035327/598932d7-2273-4308-903f-ec46c018d8e3.png)
引用：https://www.itmanage.co.jp/column/about-ip-address/

### ■サブネットマスク
上記の説明でネットワーク部とホスト部が存在すると説明いたしましたが、それらを分けるためにサブネットマスクというものがあります。
サブネットマスクはIPアドレスと同じように全体で32ビットで表します。
サブネットマスクが255に近いほどネットワークが狭いということになり、先ほどのクラスでいうとクラスＣに該当します。また、0に近い程ネットワークは広くなり、クラスＡに該当します。
この説明だけでは、は？となる方がほとんどだと思うので、下記の表にまとめます。
| サブネットマスク | ネットワーク部のビット数 | ホスト数(最大) | ネットワークの広さ | 
|:-:|:-:|:-:|:-:|
| `255,0,0,0`  | 8ビット  | 約1,670万台 | とっても広い |
| `255,255,0,0`  | 16ビット  | 約6.5万台 | けっこう広い |
| `255,255,255,0`  | 24ビット  | 254台 | 小規模ネットワーク |

上記の説明で少しでも理解いただければと思います！

## まとめ
これらの説明からIPアドレスがネットワーク上の住所であるということが少しはわかっていただけたかなと思います！
今回初めて記事を書いて文字ばっかりでイマイチよくわからなかったと思う方もいると思います。それも私の成長の第一歩だと思って温かい目で見守ってほしいです！
これからも少しずつアウトプットとして記事を書いていくつもりです。何卒よろしくお願いいたします:bow_tone2: