この記事ではIPアドレスについてIT初心者にも分かりやすく解説します。
IPアドレス
- IPアドレスはインターネット上に存在する全ての端末に割り当てられる識別番号で、宛先を識別するのに使われる。
- IPアドレスの表現方法にはIPv4とIPv6がある。
- IPアドレスを人間用に分かりやすく表現したものがドメイン名で、IPアドレスとドメイン名を変換する仕組みがDNS。
- IPアドレスにはネットワーク部とホスト部がある。
- サブネット化はホスト部の上位ビットを借りてサブネット部を構成する仕組み。
- NATとNAPTはグローバルIPアドレスとプライベートIPアドレスを変換する仕組み。
基本情報ではIPアドレスに関する問題が出題されます。是非最後までご覧ください。
IPアドレスとは?
IPアドレスは、インターネット上に存在する全ての端末に割り当てられている識別番号です。サーバやパソコン、携帯電話などインターネットと繋がっている全ての端末にIPアドレスが与えられています。
IPアドレスは通信でどの端末にデータを送れば良いのかを識別するのに使われます。
IPアドレスの表現方法
IPアドレスの表現方法にはIPv4とIPv6があります。基本情報技術者では、ほとんどIPv4で表現されるので、IPv4で解説していきます。
IPv4
IPv4では32ビットの2進数でIPアドレスを表現します。しかし、例えば、「10101100001110100011100011100101」と表現されても分かりにくいですよね。
なので、32ビットを8ビットのブロックに分けて、それぞれのブロックを10進数で表現するのが一般的です。
これで「10101100001110100011100011100101」は「172.58.56.229」になります。2進数から10進数に変換する方法についてはこちらの記事を参考にしてください。
IPv6
IPv6では128ビットの2進数でIPアドレスを表現します。しかし、これもIPv4と同じで128個の0と1が並んでいても何がなんだか分かりませんよね。
なので、128ビットを4ビットのブロックに分けて、それぞれのブロックを16進数で表現するのが一般的です。
これで128ビットのIPアドレスを32桁で表現できます。
IPv6では16進数の数字をさらに4つずつに分けて、「:」で区切ります。すると、「2001:0db8:85a3:0000:0000:8a2e:0070:7334」のように表現できます。
(参考)IPv6では0を省略できる
IPv6では0の省略方法が2つあります。
「2001:0db8:85a3:0000:0000:8a2e:0070:7334」を例に考えてみましょう。
①各ブロックの先頭の0は省略できます。なので、「2001:db8:85a3:0:0:8a2e:70:7334」と表現出来ます。
②0だけのブロックがあれば「::」で省略できます。なので、「2001:db8:85a3::8a2e:70:7334」と表現出来ます。「::」は1回しか使えません。
IPアドレスを分かりやすく表現したドメイン名
IPアドレスは12桁の数字の羅列で表現されるため、人間に分かりやすいように文字に変換したものがドメイン名です。サイトURLの「www.ipa.go.jp」やメールアドレスの@以降「XXX@gmail.com」がドメイン名に当たります。
コンピュータはIPアドレスしか理解できないので、通信する時はドメイン名をIPアドレスに変換する必要があります。また、IPアドレスのままだと人間が理解しにくいのでドメイン名に変換する必要があります。IPアドレス⇔ドメイン名に変換することを名前解決と言います。
また、IPアドレス⇔ドメイン名の変換を行う仕組みをDNSと言います。
IPアドレスのネットワーク部とホスト部
ネットワーク部とホスト部
32ビットのIPアドレスはネットワーク部とホスト部で構成されています。
ネットワーク部:どのネットワークに所属しているか
ホスト部 :どのコンピュータか
ホスト部が全て0のIPアドレスと全て1のIPアドレスは特別なIPアドレスなので、コンピュータに割り当てることが出来ません。
(参考)ホスト部が全て0、全て1のIPアドレスの用途
全て0のアドレス
ホスト部が全て0のアドレスはネットワークアドレスと呼ばれ、そのネットワーク自体を表します。
全て1のアドレス
ホスト部が全て1のアドレスはブロードキャストアドレスと呼ばれ、そのネットワーク内の全てのコンピュータにデータを一斉送信するために使われます。
IPアドレスのクラス
IPアドレスはネットワークの大きさによってクラスA、クラスB、クラスCに分けられます。また、特別な通信に使われるクラスDというのも存在します。
クラスAは先頭8ビットがネットワーク部で構成されています。ホスト部に使えるビット列が多いので、多くのコンピュータを所属させることが出来ます。大規模ネットワークに使われます。ネットワーク部の先頭は「0」から始まります。
クラスBは先頭16ビットがネットワーク部で構成されています。中規模ネットワークに使われます。ネットワーク部の先頭は「10」から始まります。
クラスCは先頭24ビットがネットワーク部で構成されています。小規模ネットワークに使われます。ネットワーク部の先頭は「110」から始まります。
ちなみにクラスDは「1110」から始まります。
サブネットワーク
ネットワークに所属するコンピュータが多いと通信が混雑して速度が遅くなります。そのため、建物のフロアや部門ごとにネットワークを細分化することがあります。これをサブネット化と言います。
サブネット化ではホスト部の上位ビットを借りてサブネット部を構成します。サブネット化することで、「どのネットワーク」の「どのサブネット」の「どのコンピュータ」かを識別できます。
サブネット化することで、サブネットワークを含むネットワーク部とホスト部の境界線を自由に設定できます。
どこまでがネットワーク部(サブネットを含む)?
例えば、「192.168.10.12/28」と表記があれば上位28桁がネットワーク部になります。また、ネットワーク部に1、ホスト部に0を埋めたビット列を十進数で表記したものをサブネットマスクと呼びます。
IPアドレスに対してサブネットマスクをAND演算することで、そのコンピュータが所属しているネットワーク部を取得できます。
グローバルIPアドレスとプライベートIPアドレス
IPアドレスにはインターネット上での通信で使用するグローバルIPアドレスと内部ネットワークでの通信で使用するプライベートIPアドレスがあります。
グローバルIPアドレス
インターネット上での通信で使用するIPアドレス。世界中に同じIPアドレスは存在しない。
プライベートIPアドレス
特定のネットワーク内でのみ使用するIPアドレス。特定のネットワーク内で重複が無ければ自由に設定できる。
電話番号で言うと、グローバルIPアドレスは外線番号(普通の電話番号)で、プライベートIPアドレスは内線番号です。
NATとNAPT
NATは1つのグローバルIPアドレスと1つのプライベートIPアドレスを対応させるプロトコルです。
NAPTは1つのグローバルIPアドレスと複数のプライベートIPアドレスを対応させるプロトコルです。NAPTはIPマスカレードとも言います。
基本情報技術者試験での出題例
令和元年度秋期問33、平成29年度春期問32
基本情報技術者
午前試験 令和元年度秋期問33、平成29年度春期問32
LANに接続されている複数のPCをインターネットに接続するシステムがあり,装置AのWAN側インタフェースには1個のグローバルIPアドレスが割り当てられている。この1個のグローバルIPアドレスを使って複数のPCがインターネットを利用するのに必要となる装置Aの機能はどれか。
ア DHCP
ウ PPPoE
イ NAPT(IPマスカレード)
エ パケットフィルタリング
正解は”イ”
1つのグローバルIPアドレスを使って、ネットワーク内にある複数のコンピュータをインターネットに接続するので、複数のプライベートIPアドレスと1つのグローバルIPアドレスを対応させる必要があります。よって、答えはNAPTとなります。
平成31年度春期問32
基本情報技術者
午前試験 平成31年度春期問32
192.168.0.0/23(サブネットマスク255.255.254.0)のIPv4ネットワークにおいて,ホストとして使用できるアドレスの個数の上限はどれか。
ア 23
ウ 254
イ 24
エ 510
正解は”エ”
192.168.0.0/23なので、先頭23ビットがネットワーク部になります。よって、ホスト部に割り当てられたビット列は32ビット-23ビット=9ビットです。
よって、割り当てられるIPアドレスの数は2⁹=512個になりますが、全てが0のアドレスと全てが1のアドレスは割り当てできないので、512-2=510個となります。
平成30年度秋期問33
基本情報技術者
午前試験 平成30年度秋期問33
TCP/IPネットワークでDNSが果たす役割はどれか。
ア PCやプリンタなどからのIPアドレス付与の要求に対して,サーバに登録してあるIPアドレスの中から使用されていないIPアドレスを割り当てる。
イ サーバにあるプログラムを,サーバのIPアドレスを意識することなく,プログラム名の指定だけで呼び出すようにする。
ウ 社内のプライベートIPアドレスをグローバルIPアドレスに変換し,インターネットへのアクセスを可能にする。
エ ドメイン名やホスト名などとIPアドレスとを対応付ける。
正解は”エ”
DNSはドメイン名とIPアドレスを対応付けるものなので答えはエです。
平成30年度春期問32
基本情報技術者
午前試験 平成30年度春期問32
次のネットワークアドレスとサブネットマスクをもつネットワークがある。このネットワークをあるPCが利用する場合,そのPCに割り振ってはいけないIPアドレスはどれか。
ネットワークアドレス: 200.170.70.16
サブネットマスク : 255.255.255.240
ア 200.170.70.17
ウ 200.170.70.30
イ 200.170.70.20
エ 200.170.70.31
正解は”エ”
サブネットマスクから上位28ビットがネットワーク部だと分かります。PCに割り振ってはいけないIPアドレスはホスト部が全て0のアドレス及び全て1のアドレスです。
ホスト部が全て0のアドレスはネットワークアドレスとして問題文に与えられているので、全て1のアドレスを考えます。ホスト部が全て1のアドレスは「11001000.10101010.01000110.00011111」=「200.170.70.31」なので答えは”エ”です。
平成29年度秋期問33
基本情報技術者
午前試験 平成29年度秋期問33
IPv4において,インターネット接続用ルータのNAT機能の説明として,適切なものはどれか。
ア インターネットへのアクセスをキャッシュしておくことによって,その後に同じIPアドレスのWebサイトへアクセスする場合,表示を高速化できる機能である。
イ 通信中のIPパケットを検査して,インターネットからの攻撃や侵入を検知する機能である。
ウ 特定の端末宛てのIPパケットだけを通過させる機能である。
エ プライベートIPアドレスとグローバルIPアドレスを相互に変換する機能である。
正解は”エ”
NATはプライベートIPアドレスとグローバルIPアドレスを変換するプロトコルです。よって答えは”エ”です。
平成29年度秋期問35
基本情報技術者
午前試験 平成29年度秋期問35
次のIPアドレスとサブネットマスクをもつPCがある。このPCのネットワークアドレスとして,適切なものはどれか。
IPアドレス: 10.170.70.19
サブネットマスク:255.255.255.240
ア 10.170.70.0
ウ 10.170.70.31
イ 10.170.70.16
エ 10.170.70.255
正解は”イ”
サブネットマスクから上位28ビットがネットワーク部だと分かります。ネットワークアドレスはホスト部が全て0のアドレスなので、「00001010.10101010.01000110.00010000」=「10.170.70.16」が答えになります。
平成29年度春期問34
基本情報技術者
午前試験 平成29年度春期問34
IPv4アドレス 128.0.0.0 を含むアドレスクラスはどれか。
ア クラスA
ウ クラスC
イ クラスB
エ クラスD
正解は”イ”
問題文のIPアドレスは「10」から始まるのでクラスBが答えです。
基本情報に関する他の記事
ハードウェア | ソフトウェア | システム構成 |
ネットワーク | データベース | 開発手法 | 情報セキュリティ |
ネットワークに関する記事
OSI基本参照モデルについての記事
ネットワークに関するアドレスについての記事
【基本情報】基本情報で出題されるIPアドレスの全てを解説通信機器についての記事