AKJPプロンプト

Mathematical.jp BU/repo



IPアドレス


IPアドレスとは

コンピューターネットワークにおいてその通信相手を識別するには、それぞれの機器(インターフェイス)を見分けるための識別子なるもの-つまりアドレスが必要になります。これらはデータリンク層では16進数で表されるMACアドレスがあり、さらにはルータやホストを識別するためのパケットの経路制御のためにあるネットワーク層のIPアドレスがあります。
通信を行うルータやホストPCであればこのIPアドレスを必ず設定しなければなりません。

IPアドレスは32ビットの2進数で表されます。LANやインターネット環境などのIPネットワーク上において通信をする場合にはこのIPアドレスをそれぞれのホストに割り当てる必要があります。

二進数

0,1,10,11,100、 ・・・・ といった1と0だけで表示がされ1より上は一行繰り上がって表示される数値の表現方法であり、コーディングなどをする際にはある程度知っておいたほうがよい知識になります。 それぞれの桁はビットと呼ばれ、たとえば8ビットであれば1バイトなどと呼ばれたりします。

それぞれの位置に対して重みをかける数の割り振り

11010101
1286432168421

=(128×1)+(64×1)+(32×0)+(16×1)+(8×0)+(4×1)+(2×0)+(1×1)

=128 + 64 + 16 + 4 + 1

=213

上記のテーブル表において上の2進数の数字(0 or 1)を下に対応している数字にかけて、そしてそれを全体に渡って加算すれば10進数に変換できるという仕組みになっています。

10進数から2進数への変換の方法

10進数をn進数に変換するには、10進数をnで割って、その余りを求めることを繰り返し、そしてその余りを並べることによってn進数が出来上がります。

左の計算図は10進数の“213”を2進数に変換していく過程になります。

変換する進数(2)で割っていき、その余りを下から並べていきます。
なので213を2進数変換すれば“110100101”となります。

その他の10進数から2進数への変換

次に10進数の100を2進数に変換してみましょう。

100を2進数変換していった場合、8ケタで表現できるはずの2進数が7ケタだけ出てきます。

こうした場合左の図のように先頭部分に“0”を付け足してそれを補います。

このようにしたら先ほどと同じように左下から右、さらには下から上へ0、または1を並べていけば求める2進数が決まります。

IPアドレス

IPアドレスとはたとえば192.168.1.1のように4つの番号をドットで区切って表されます。1つの番号は8ビットで表示されるため0~255のいずれかになります。つまり8ビットの最小の値は00000000=0で最大値は11111111=255となるためです。

合計32ビットの表示になります。また8ビットのことをオクテッドと呼ぶこともあります。

IPアドレスの範囲

2進数

00000000. 00000000. 00000000. 00000000 ~ 11111111. 11111111. 11111111.

11111111

10進数

0. 0. 0. 0 ~ 255. 255. 255. 255

この場合、左から1バイトづつを第1オクテッド、第2オクテッド、第3オクテッド、第4オクテッドといいます。

IPアドレスのクラス

IPアドレスは最初の1バイトによってクラス分けされており、各クラスによってネットワーク部とホスト部が決定されます。ネットワークアドレスは通信できるグループの値であり、この数字が異なるIPアドレス間では通信ができないようになっています。
またホストアドレスは端末1つ1つにに与える数字となり、同一のネットワークアドレスは一つの固有アドレスのホストアドレスしか存在してはなりません。

IPアドレスのクラスは次のようになっています。

クラスA 1. 0. 0. 0 ~ 127. 255. 255. 255

ネットワークホストホストホスト
127. 0. 0. 0 ~ 127. 255. 255. 255 の範囲はループバックアドレスといわれているもので、この部分のIPアドレスはホストアドレスとして使用できないようになっています。

クラスB 128. 0. 0. 0 ~ 191. 255. 255. 255

ネットワークネットワークホストホスト

クラスC 192. 0. 0. 0 ~ 223. 255. 255. 255

ネットワークネットワークネットワークホスト

クラスD 224. 0. 0. 0 ~ 239. 255. 255. 255

クラスE 240. 0. 0. 0 ~ 254. 255. 255. 255

例えば、クラスCのIPアドレスにおいて次のような 192. 168. 1. 1 と 192. 168. 1. 2 は第3オクテッド部分のビットが同じであるために互いに通信が可能ですが、192. 168. 1. 1 と 192. 168. 2. 2 は第3オクテッドのネットワークアドレスが異なるために通信ができません。

余談になりますがクラスCの192.168.~の呼び方は「ヒトクニ イロハ」などと言ったりします。

使用できないIPアドレス

IPアドレスには、プライベート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

ipconfig

自分のPCに割り当てられているIPアドレスをコマンドプロンプトを使って調べてみましょう。
コマンドプロンプトは、Win11の場合、下部メニューの検索のところでcmdと入力してEnterを押下すれば次のような黒い画面が出てきます。

個の画面上において次のようにC:\>の後にipconfigと入力します。

ipconfig

こうすると今自分が使っているPCのローカルIPアドレスやMACアドレス、サブネット、デフォルトゲートウェイなどのネットワークの情報、さらには周辺インターフェイスなどの諸元が表示されます。

さらに詳しい情報を知りたい場合は次のように入力します。

ipconfig /all

そうすると右のような表示がされ、IPアドレスやMACアドレス以外の情報も見ることができます。

pingコマンド

pingとは主にネットワーク疎通用に用いられるコマンドになります。ネットワークにつながっている機器であればIPアドレスがあるはずなのでこのIPアドレスを使ってpingを打てばその疎通確認ができます。

左の画面のように“arp -a”と打ち込んでEnterを押します。

C:\>arp -a

すると右の画面のようにARPエントリが表示されるのでその中の192.168.179.2(これは自動的に割り振られたプリンタのIPアドレス)に対してpingを打ちます。

次のように打ち込みます。

C:\>ping 192.168.179.2

ping到達が数回繰り返されて次のように表示されます。

補遺
上記の同一LAN内(192.168.179.~)において、表示されているIPであるにもかかわらずping応答がないのは7から10にバージョンが上がった際のセキュリティポリシーの変更が原因である可能性が高いです。その場合ドメイン、プライベート、パブリックのファイアウォールを有効にしたままpingを通すにはファイアウォールの詳細設定を変更する必要があります。

そしてそれらはLAN上のみではなくグローバル上(インターネット)でも確認ができます。

ドメインによるIPアドレスの確認

インターネット上のホームページなどは一般的にはそのアドレスはURLを意味しますがそれは一意的に表示させるためにマッピングしているものなので基本的にそのホームページにもIPアドレスがきちんと付与されています。それを実際に確認してみましょう。

例えばこのサイトのドメインはakjp.orgになりますがこれに割り振られているサーバのグローバルドメインを調べるには次のようにします。

ping akjp.org

すると以下のような表示がされます(2024年5月当時)。

このサイト(https://akjp.org)の割り振られているグローバルIPアドレスは219.94.241.201になることがわかります(2024年5月当時。現在は違います)。


  • IPアドレス

    IPアドレス

    カテゴリー :

    コンピューターネットワークにおいてその通信相手を識別するには、それぞれの機器(インターフェイス)を見分けるため…

    続きを読む


PAGE TOP