🍇

IPアドレスとCIDR

2023/07/08に公開

はじめに

もやもやしていたIPアドレスとCIDRについて学び直しました。
間違いなどあれば、ぜひ教えていただけますと幸いです!

IPアドレスとは

インターネットプロトコル(Internet Protocol)の略
各デバイスやウェブサイトがインターネット上で識別されるための一意の番号のこと。

例えば、あなたの家の住所が一意で、郵便物を正確に届けるために必要なのと同じような理由で、
各デバイスやウェブサイトが通信を行うためにはIPアドレスが必要です!

パソコンに振られているIPアドレスの確認方法

Macの場合

$ ifconfig en0

Windowsの場合

>ipconfig

ifconfigやipconfigは、ネットワークインターフェースの状況を確認するコマンドです!

ネットワークインターフェースとは、、
コンピューターや他のデバイスがネットワークに接続するための部品や設定のこと。
一種の「中継点」で、デバイスがネットワークと通信するための通路の役割を果たします。

IPアドレスの形式

IPアドレスは主に2つの形式で表されます。

  • IPv4

最も広く使用されているIPアドレスの形式。
32ビットの2進数で表され、通常は10進数の4つのオクテット(各オクテットは8ビット)に分けて表現されます。
それぞれのオクテットはドット(.)で区切られ、それぞれの数値は0から255の範囲となります。
(例:192.168.1.1)

IPv4の構造

  • IPv6

128ビットで、8組の4桁の16進数で表されます。
それぞれの4桁のグループはコロン(:)で区切られます。
(例:2001:0db8:85a3:0000:0000:8a2e:0370:7334)

インターネットの急速な拡大によりIPv4アドレスが不足し始めたため、
より多くのアドレスを提供できる新しい形式が導入されました

数値を2進数(バイナリ)、10進数(デシマル)、16進数(ヘキサデシマル)で表した表は以下のとおりです。

10進数 2進数 16進数
0 0 0
1 1 1
2 10 2
3 11 3
4 100 4
5 101 5
6 110 6
7 111 7
8 1000 8
9 1001 9
10 1010 A

2進数は、数字を「0」と「1」で表す。コンピュータデータの最小単位。

「1ビット」は、2進数の一桁。1ビットで表せるのは「0」と「1」。2ビットでは「00」、「01」、「10」、「11」の4とおり表せる。

10進数は、わたしたちが日常的に使用している数字。

16進数は、10以上の数値を表示するために英字が使用されます(10はA、11はB、12はC、13はD、14はE、15はF)。これは、2進数や10進数では表現が難しい大きな数値やコンピュータのデータを簡潔に表現するためです!

IPアドレスの種類

IPアドレスには、主に2つの種類があります。

  • パブリックIPアドレス

インターネット上で一意で、世界中からアクセス可能なアドレスです。
必ず「一意」で割り振られます。

  • プライベートIPアドレス(グローバルIPアドレス)

ローカルネットワーク内(例えば、あなたの家やオフィスのネットワーク)でのみ有効なアドレス。
外部から直接アクセスすることはできません

プライベートIPアドレスの範囲は以下の通りです!(IPv4の場合)

  • 10.0.0.0 ~ 10.255.255.255
  • 172.16.0.0 ~ 172.31.255.255
  • 192.168.0.0 ~ 192.168.255.255

ネットワークAやBでは、IPアドレスとして同じ番号が使われていても問題ありません。

パブリックIPアドレスとプライベートIPアドレスを分ける主な理由

インターネットの規模を管理し、有限なIPアドレスの空間を効果的に利用するためです。

すべてがパブリックIPアドレスだけの世界になってしまうと、
ネットワークにつなげるあらゆる機器にパブリックIPアドレスを割り振ることになり、
IPアドレスが枯渇してしまう問題があります🥲

そのため、インターネットに直接接続しない機器は、プライベートIPアドレスを利用しています!

プライベートIPアドレスとNATの使用

NAT(ネットワークアドレス変換)は、プライベートIPアドレスをパブリックIPアドレスに変換する技術です。
これにより、単一のパブリックIPアドレスを使用して複数のデバイスにインターネット接続を提供することができます。

IPアドレスの役割

IPアドレスは、インターネット上でデバイスが他のデバイスと通信するために必要な情報を提供します。

たとえば、あなたがウェブサイトを閲覧するとき、あなたのデバイス(例:パソコンやスマートフォン)はそのウェブサイトのIPアドレスにリクエストを送ります。その後、ウェブサイトはそのリクエストを受け取り、要求された情報(例:ウェブページ)をあなたのデバイスのIPアドレスに送り返します。

インターネットは巨大なネットワークで、その中の各デバイスはIPアドレスによって一意に識別されます。

このIPアドレスにより、データは正確に目的地に送られ、我々はウェブサイトを閲覧したり、メールを送受信したりすることが可能になります。

ネットワークを構築する際のIPアドレス範囲

ネットワークを構築する際には、自身が利用するIPアドレスの数を決め、用途に応じたネットワーク群を設計することになります。

利用する範囲のIPアドレスを決めるのが、IPアドレスのネットワーク部とホスト部です。

ネットワーク部
ネットワーク部は、あるデバイスが属しているネットワークを示します。

ホスト部
ホスト部は、特定のネットワーク内の特定のデバイスを示します。

IPアドレス範囲の設定

IPアドレス範囲を設定する際には、このネットワーク部とホスト部の概念が重要になります!

ネットワーク部を定義し(例えば、192.168.1.x)、ホスト部にはそのネットワーク内の各デバイスに対して一意の値を割り当てます(xの部分)。

この設定は、ネットマスクまたはサブネットマスクと呼ばれる数値を使用して行われます。
このマスクは、IPアドレスのどの部分がネットワーク部で、どの部分がホスト部を示しているのかを定義します。

サブネットマスクでは、"1"のビットはネットワークアドレス部分を、"0"のビットはホストアドレス部分を表します。
例えば、サブネットマスクが255.255.255.0の場合、最初の3つのオクテット(各オクテットは8ビット)は"1"で埋められ、最後のオクテットは"0"で埋められます。

このため、このマスクは"11111111.11111111.11111111.00000000"と表すことができます。これは、ネットワークアドレス部分が24ビット(最初の3つのオクテット)であり、ホストアドレス部分が8ビット(最後のオクテット)であることを意味します。

CIDR(サイダー)とは

Classless Inter-Domain Routingの略
CIDR」は、ネットワーク部やホスト部(IPアドレスの範囲)を決める方法の1つです。
IPアドレスをより効率的に管理できる!

従来のIPアドレス方式では、IPアドレスがクラス(クラスA、クラスB、クラスCなど)に基づいて固定されていたため、大規模なIPアドレスの割り当てが難しくなり、アドレス空間の浪費が生じることがありました。

CIDRでは、IPアドレスの表記法が変更され、より柔軟な割り当てが可能になりました!
CIDR表記では、IPアドレスの後にスラッシュ(/)と数値が続きます。

192.168.0.0/24はCIDR表記の一例です!
スラッシュの後の数値はプレフィックス長と呼ばれ、サブネットマスクのビット数を表します。
この例では、プレフィックス長が24なので、サブネットマスクは255.255.255.0となります。

また、ルーティングにおいてもCIDRを使用することで、ネットワークの経路情報をより効率的に伝達し、インターネット上のトラフィックを最適化することができます。

どうやってCIDRを決める?

CIDRのビット数を決めるには、ネットワーク上で必要となるホスト(デバイス)の数を考慮する必要があります。
この数値が多いほど、ネットワーク部分のビット数は少なくなります。

/30: ネットワーク部が30ビットで、2つのホストアドレスを提供します。小さなネットワーク(例えば、ポイントツーポイントのリンク)でよく使われます。

/29: ネットワーク部が29ビットで、6つのホストアドレスを提供します。

/28: ネットワーク部が28ビットで、14のホストアドレスを提供します。

/24: ネットワーク部が24ビットで、254のホストアドレスを提供します。家庭や小規模企業のLAN(ローカルエリアネットワーク)でよく使われます。

一般的に、IPアドレス数は250もあれば十分なので、「/24」にすることが多いそうです!

さいごに

ややこしくてうまくまとめられてないですが、
わからなかった用語など調べられてので良かった&大枠は大体理解できたかな、、🤔
積み重ねが大事!

Discussion