Web Analytics Made Easy - StatCounter

工業大学生ももやまのうさぎ塾

うさぎでもわかるをモットーに大学レベルの数学・情報科目をわかりやすく解説! 数式が読み込まれない場合は1回再読み込みしてみてください。

うさぎでもわかるネットワーク Part02 IPアドレスのあれこれ

こんにちは、ももやまです。

今回は基本情報にもよく出てくるネットワークにおけるIPアドレスについてのまとめをしていきたいと思います。

具体的には、

  • IPアドレスとはなにか
  • IPアドレスのバージョン
  • IPアドレスのクラス
  • サブネット化
  • ドメイン名とIPアドレス
  • MACアドレスとの関係性

について説明していきます。

 

 

前回のネットワークに関する記事はこちら!

OSI参照モデルやTCP/IPについて説明しています。

www.momoyama-usagi.com

 

 

1.IPアドレスの基礎

(1) IPアドレスとは

皆さんが住んでいる家の場所には必ず「住所」があります。

ネットワーク世界上にも同じようにコンピュータの場所を表す「住所」があるのです。これがIPアドレスです。

ちなみに、IPアドレスのIPは、TCP/IPのIPです。

 

IPアドレスは、

10000110 01001011 01101101 00101000

のように32ビットの数字で表されるのですが、覚えにくいのはもちろんのこと、解読するのも一苦労です。

 

そこで、下のように8ビットずつ区切ってグループにし、グループごとに10進数に直して表します。

f:id:momoyama1192:20200317122451g:plain

すると、「134.75.109.40」と、少し読みやすい形になりましたね。

このように、10進数を4つ並べてドットで区切ってIPアドレスを表記したものをドットアドレス(DDN)と呼びます。

IPアドレスを表記する場合、ドットアドレス表記が使われることがほとんどです。

(2) IPv4とIPv6

(i) IPv4の問題点

先程、IPアドレスは32ビットの数字を8ビットごとに10進数にし、さらにドットで区切ったドットアドレスという形で表現できると説明しました。

この32ビットIPアドレスは、バージョン4のIPアドレスなのでIPv4*1と呼ばれ、現在最も普及しているバージョンのIPアドレスです。

 

しかし、32ビットで表せる数の総数は  2^{32} 個、つまり約43億弱個*2です。意外に多いと思うかもしれませんが、世界の総人口は80億人弱(2019年現在)なので、2人に1個くらいのIPアドレスしか割り当てられません。

現代のIT社会ではIPv4のIPアドレスが無くなりそうな問題が発生しています。

(IPアドレス枯渇問題と呼ばれています。)

(ii) 新たに搭乗したIPv6

そこで、もっと多くのIPアドレスが表現できるようにバージョン6のIPアドレス、IPv6が誕生しました。

IPv6では、128ビットでIPアドレスを表現します。つまり、 2^{128}*3のIPアドレスを表現することができます。

 

IPv6では、128ビットのアドレスを8組の16ビットごとに分け、16進数表記を行い、さらにコロン「:」で区切った形で表現します。例えば、

2020:ad12:3134:9a2f:ab2d:dead:beef:face

のような形になります。IPv4とはかなり異なった表記法ですね。

しかし、16進数で表記してもかなり長い表記になってしまうので、いくつか省略して掛けるルーがあります(余裕があれば別の記事で紹介したいと思います)。

(iii) IPv4とIPv6の変換

IPv4は  2^{32} 個、IPv6は  2^{128} 個なので、1対1に対応させることはできません。

そこで、IPv4とIPv6を同時に使えるようにするデュアルスタックや、IPv4ネットワークを通して、IPv6ノード同士の通信化ができるようにするカプセル化(トンネリン)などが行われています。

 

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

IPアドレスには、全世界上で使われるグローバルIPアドレスと、組織内だけで使われるプライベートIPアドレスの2つがあります。

 

(i) グローバルIPアドレス

グローバルIPアドレスは、インターネット上(つまり全世界上)で使われるIPアドレスです。

グローバルIPアドレスは、コンピュータを一意に特定できるようにするため、NIC(Network Information Center・アドレス発行機関)によって重複のないように厳密に管理されています。

(ii) プライベートIPアドレス

プライベートIPアドレスは、組織内で使える独立したネットワーク(イントラネットなど)で使えるIPアドレスです。

組織内で重複さえなければ、ネットワーク管理者が自由に使うことができます。

 

ただし、グローバルIPアドレスとプライベートIPアドレスがごちゃごちゃになったら困るので、プライベートIPアドレスに使うことができるIPアドレスは下の範囲に限られています。

(なぜ上のように3段階に分けられているかは下のほうで改めて紹介したいと思います。)

10.0.0.0 〜 10.255.255.255
172.16.0.0 〜 172.31.255.255
192.168.0.0 〜 192.168.255.255

上のIPの範囲内であれば、自由にプライベートIPアドレスを割り当てることができます。

逆に、それ以外のアドレスは原則としてグローバルIPアドレスに割り当てられます。

 

 

グローバルIPアドレス、プライベートIPアドレスのイメージとしては、グローバルIPアドレスが外線番号*4プライベートIPアドレスが内線番号*5です。

(4) NATとNAPT

内部ネットワークの中では、プライベートIPアドレスを使うのが一般的です。しかし、外部ネットワークにアクセスする際には、グローバルIPアドレスが必要です。

 

では、グローバルアドレスを持たず、プライベートIPアドレスしか持たないようなコンピュータは外部ネットワークにアクセスできないのでしょうか。

実はそんなことなく、ある魔法(プロトコル)を使うことで、プライベートIPアドレスをグローバルIPアドレスに変換し、外部ネットワークにアクセスすることができます。

 

そんな魔法がNATやNAPTなのです。

NAT (Network Address Translation)

NATは、グローバルIPアドレスをとプライベートIPアドレスを1対1対応させることで、2つのIPアドレスを相互変換できるようにします。

しかし、1対1対応なので、グローバルIPアドレスの数を超えて同時にインターネット接続をすることはできません

NAPT (Network Address Port Translation)・IPマスカレード

NAPTでは、1つのグローバルIPアドレスに対し、複数のプライベートIPアドレスを対応、変換することで、NATではできなかった同時にグローバルIPアドレスの数を超えたアクセスができるようになります。IPマスカレードとも呼ばれます。

仕組みとしては、IPアドレスに加えてポート番号も対応、変換することで複数のプライベートIPアドレスを対応させています。

 

2.IPアドレスのクラス

(1) どうしてクラス分けされてるの?

日本の固定電話の電話番号は、基本的に10桁で構成されています。

その中の前半の何桁かは、場所を示す市外局番となっています。

 

市外局番の長さは、利用者数(人口)によって変わっています。

 

利用者の多い東京や、大阪であれば市外局番は 03, 06 のように2桁で構成されています。利用者数が多いので、市外局番の桁数が増えると登録できる番号数が減ってしまうからです。

一方利用者の少ない地域であれば、市外局番は 0577, 07468 のような4桁、5桁で構成されています。利用者数が少ないので、市外局番の桁数が多くても、登録できる番号数的に十分だからです。そんな地域に2桁の市外局番を与えるのはもったいないですよね。

 

IPアドレスも、固定電話の番号と同じように、前半の何ビットかはネットワークがどこに属するのかを示すネットワーク部となっており、ネットワークの規模によってネットワーク数のビット数(桁数)が変化します。

f:id:momoyama1192:20200317122443g:plain

IPアドレスは、前半の何ビットかでどのネットワークに属するのかを示すネットワーク部残りのビットでどのコンピュータ(ホスト)なのかを示すホスト部で構成されているのです!

 

ネットワークの規模が大きいところには、短いビット数のネットワーク部を与え、たくさんのホスト(コンピュータ)にIPアドレスを与えられるようにし、小さいところには長いビット数のネットワーク部を与え、規模相応のIPアドレスの個数を与えられるようにすることで、IPアドレスを有効に活用しているのです。

(2) 特殊なIPアドレス

IPアドレスの中には、特別な意味をもつIPアドレスがあります。

具体的には、

  • ホスト部がすべて0のアドレス
  • ホスト部がすべて1のアドレス

は特別な意味を持っています。

そのため、上の2つのアドレスはホストに割り当てることができません

(i) ネットワークアドレス(ホスト部がオール0)

ホスト部がすべて0のビットのIPアドレスはネットワークアドレスと呼ばれ、ネットワーク本体を表します。

f:id:momoyama1192:20200317122507g:plain

(ii) ブロードキャストアドレス(ホスト部がオール1)

ホスト部がすべて1のビットのIPアドレスはブロードキャストアドレスと呼ばれ、同じネットワーク内のすべてのホストに一斉に同じデータを送信するために使われます。

f:id:momoyama1192:20200317174928g:plain

(3) 大まかな3つのクラス

IPアドレスは、ネットワークの規模によって、大きく3つのクラスに分けられ、それぞれクラスA、クラスB、クラスCと呼ばれます*6

f:id:momoyama1192:20200317173246g:plain

頭に入れておいたほうがいいのは、

  • 各クラスのネットワーク部とホスト部のビット数
  • 各クラスの始まりのビット
    (クラスAは0スタート、クラスBは10スタート、クラスCは110スタート)

です。IPアドレスの範囲は各クラスの始まりのビットを頭に入れておくことで計算ができるので丸暗記は不要です。

 

クラスA、クラスB、クラスCをまとめると下の表のようになります。

種類 規模 ビット IPアドレス範囲 ホスト部 ネットワーク部 接続可能数
クラスA 大規模用 0…… 0.0.0.0〜127.255.255.255 8bit 24bit  2^{24} - 2 = 16,777,214
クラスB 中規模用 10…… 128.0.0.0〜191.255.255.255 16bit 16bit  2^{16} - 2 = 65,534
クラスC 小規模用 100…… 192.0.0.0〜223.255.255.255 24bit 8bit  2^{8} - 2 = 254

基本的には、ホスト部のビット数分*7だけアクセスできるのですが、ホスト部の中で、

  • ネットワークアドレス(ホスト部オール0)
  • ブロードキャストアドレス(ホスト部オール1)

の2つはホストに割り当てることができないため、-2をする必要があります。

クラスとプライベートアドレス

先程プライベートアドレスに使われているアドレスの範囲について説明しました。

なぜ中途半端に3つ分かれているのかちょっと気になりますよね。

 

実は、それぞれのクラスごとによって割り当てられているプライベートアドレスの範囲が決まっているのです。

クラス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

3つに分かれていたのは、クラスA、クラスB、クラスCそれぞれのプライベートアドレスを設定するためだったんです! 

(4) CIDR (Classless Inter-Domain Routing)

ネットワークの規模によってクラス分けができるとしても、ネットワーク部が8ビット、16ビット、24ビットの3段階しかないと、規模によって細かく調整できないので少し不便です。

そこで、1ビット単位でネットワーク部の範囲を指定できるようにCIDRが導入されました。

 

CIDRでは、CIDR表記と呼ばれる独自の方法でネットワーク部の範囲を決めます。

具体的には、「134.74.109.40/26」のようにドットアドレス表記をしたあとに、左側から数えてどこまでをネットワーク部にするかを表記します。

f:id:momoyama1192:20200319151025g:plain

この場合、左から26ビットまでがネットワーク部、残りのビットがホスト部となります。

3.ネットワークの分割

(1) ネットワークの分割(サブネット化)をする理由

ネットワーク内のホスト数が増えてくると、管理が大変になってきます。

また、より多くの人がネットワークを使うようになるため、通信速度が低下します。

 

そこで、組織内のグループ(部門や事業など)ごとにネットワークを分割することができます。これをサブネット化と呼びます。

(2) サブネットマスクによるネットワークの分割

ネットワークを分割する際に、IPアドレスのどのビットを使ってグループを分けるのかを決める必要があります。

 

そこで、どのビットを使ってグループを識別するかを定義するのがサブネットマスクです。

 

サブネットマスクでは、グループを識別するためのビット(サブネット部)をどこまでにするかをビットごとに設定し、DDN表記(10進数の4ペアで表現)します。

ホスト部の左側数ビットがサブネット部となります。

f:id:momoyama1192:20200317122447g:plain

それぞれのビットが1であればサブネット部(またはネットワーク部)、0であればホスト部を表します。

サブネットマスクの1は、ネットワーク部も含まれる点がポイントです。

 

例えば、クラスCのIPアドレスを下のようなサブネットマスクでグループ化することを考えましょう。

f:id:momoyama1192:20200317122515g:plain

例の場合、サブネット部には3ビット用意しているので最大  2^3 = 8 通りのグループに分けることができます。

また、余ったホスト部は5ビットなので、  2^5 = 32 通りのIPアドレスを表現できるのですが、ホスト部がオール0、オール1のアドレスは特別な用途を持つアドレスなどで割り振れません。

なので、それぞれのグループには最大 32 - 2 = 30 通りのIPアドレスを割り振ることができます。

(3) IPアドレスとサブネットマスクを用いてネットワークアドレス算出

基本情報や応用情報では、IPアドレスに関する計算問題が頻出します。

特にIPアドレスとサブネットマスクが与えられたときにネットワークアドレスはよく出ます。

例題を見てみましょう。

例題1

次のIPアドレスとサブネットマスクをもつPCがある。このPCのネットワークアドレスとして,適切なものはどれか。

  • IPアドレス: 10.170.70.19
  • サブネットマスク:255.255.255.240

ア:10.170.70.0
イ:10.170.70.16
ウ:10.170.70.31
エ:10.170.70.255

解答1

解答:イ

まずは、サブネットマスクとIPアドレスを2進数表記に直しましょう。

f:id:momoyama1192:20200317122456g:plain

ネットワークアドレスは、ホスト部が全部0のアドレスのことでしたね。

なので、割り振られたIPアドレスのネットワーク部+サブネット部部分はそのまま、ホスト部は全部0にしたIPアドレスがネットワークアドレスになりますね。

なので、ネットワークアドレスは「10.170.70.16」となり答えはイとなります。

 

なお、「ネットワークアドレスはサブネットマスクとIPアドレスのAND演算で求められる」と書かれている参考書も多いと思います。

先程ネットワークアドレスを求める際に

  • ネットワーク部+サブネット部(サブネットマスクが1の部分)はそのまま
  • ホスト部は(サブネットマスクが0の部分)全部0

で求めましたね。この処理がまさに「サブネットマスクとIPアドレスのAND演算」に相当するのです!

f:id:momoyama1192:20200317122459g:plain

4.自動的なIPアドレスの割り振り(DHCP)

IPアドレスは、(ネットワーク内の)ホストと重複なく割り振る必要があります。

大規模なネットワークになればなるほど、ネットワーク内に重複なくIPアドレスを振るのが大変になります。

10,000台のホストに重複なくIPアドレスを振る作業なんてしたくありませんよね。

 

そこで、DHCPという自動的にIPアドレスを割り当てるプロトコルが非常に役に立ちます。

DHCPは、IPアドレスを割り振る際に、ネットワーク内で使われてないIPアドレスを自動的に割り振ります。

5.IPアドレスとドメイン名

(1) ドメイン名

4つの10進数の組で表されたドットアドレス(DDN)表記は、32ビット表記に比べたら見やすいですが、それでも少し覚えにくいですね。

そこで、それぞれのIPアドレスに名前を付けることを考えました。この名前のことをドメイン名(もしくはホスト名)と呼びます。

 

皆さんも「172.217.31.174」にアクセスしてと言われたら「あれ?」と思いますが、「google.com」にアクセスしてと言われたら「あ、あのサイトね!」となると思います。

(2) ドメイン名 / ホスト名の定義

ドメイン名、ホスト名の定義のされ方は様々ありますが、最も有名な例を私のサイト「www.momoyama-usagi.com」を例に紹介します。

f:id:momoyama1192:20200320001641g:plain

最初のwwwは、コンピュータの名前、つまりホスト名を表します。次の「momoyama-usagi.com」はどのネットワークに表すかを示す名前、つまりドメイン名を表します。

ホスト名とドメイン名をあわせた「www.momoyama-usagi.com」は一切省略をせずに表しているので、FQDN(Fully Qualified Domain Name)と呼ばれたりします。

別の定義法

他にもドメイン名・ホスト名の定義のされかたはあるのですが、私が習った先生では、下のようにホスト名をwwwではなく、FQDN(Fully Qualified Domain Name)としていました。

f:id:momoyama1192:20200320001646g:plain

(3) IPアドレス⇔ドメイン名の相互変換 (DNS)

ドメイン名とIPアドレスは1対1で対応付けたものは、サーバで管理されています。

この管理しているサーバーのことをDNS (Domain Name System)サーバ、もしくはネームサーバと呼ばれます。

 

皆さんが、ブラウザなどで様々なサイトにアクセスする際に「わざわざIPアドレスを入力しなくても」ドメイン名を入れるだけでサイトにアクセスできますね。

これは、DNSサーバがあるからこそできることなのです。

 

googleにアクセスするときも「172.217.31.174」ではなく、「google.com」と入れるとアクセスができるのもDNSサーバのおかげです。

 

仕組みとしては、ブラウザ側がDNSサーバにIPアドレスを問い合わせ、問い合わせた結果を用いて該当するIPアドレスのWebサーバにアクセスし、ページをもらいます。

f:id:momoyama1192:20200320013530g:plain

6.IPアドレスとMACアドレス

IPアドレスとMACアドレスは、どちらも通信の際にコンピュータを識別するために使いますね。

「あれ、どっちか片方があればいいのでは?」と思う人も多いと思います。

しかし、IPアドレスとMACアドレスはともに通信の際にかかせなく、どちらか一方が欠けると通信できなくなってしまいます。

 

そこで、この章ではIPアドレスとMACアドレスの違いについて説明したいと思います。

(1) MACアドレスとは

MACアドレスは、LANボードなどの機器に直接振られる48ビットの番号で、8ビットごとにコロン「:」かハイフン「-」で分け、16進数で表記されます。

48ビットのうち、前半24ビットでメーカー番号(ベンダーID)、残りの24ビットで固有製造番号を表します。

f:id:momoyama1192:20200320013526g:plain

なお、MACアドレスは機器に直接振られているため、番号の変更ができません。

一方IPアドレスは人が割り振っているため、変えようと思えば変えられます。

 

IPアドレス・MACアドレスの大まかなイメージ

MACアドレス:その人自身に割り振られる番号
(自分自身を表す番号なので変えることができない)

IPアドレス:その人が住んでいる場所を表す番号
(住所は引っ越すと変わる)

 

(2) なぜ通信にMACアドレスとIPアドレスの両方が必要なの?

MACアドレスとIPアドレスの両方が通信に必要な理由を説明していきたいと思います。

 

わかりやすく、郵便を例に説明しましょう。

 

Aさんが住所は知ってるけど会ったことのないBさんに手紙を送ることを考えます。

全く会ったことがないので、AさんはBさんに直接手紙を送ることはできませんね。

送れたら恐怖です。

f:id:momoyama1192:20200321204707g:plain

ネットワークの世界に戻すと、「AさんからBさんに手紙を送る」のは、端末Aから異なるネットワークにある端末Bと通信を行い、データ(正確にはパケット)を届けるのと同じです。

f:id:momoyama1192:20200319191234g:plain

端末A内にいるネットワークXからは、ネットワークX内のMACアドレスしかわからないため、端末BがあるネットワークYのMACアドレスがわかりません。

(同じネットワーク内のMACアドレスはわかりますが、異なるネットワーク内のMACアドレスはわかりません。)

 

再び手紙の話に戻りましょう。

AさんはBさんに会ったことがないので、直接手紙を送ることができません。

ですが住所は知っているので、郵便局に手紙を出せばBさんに手紙を送ることができますね。

f:id:momoyama1192:20200321204711g:plain

 

Aさんが出した手紙は、複数の郵便局を経由して、Bさんに配達されます。

 

ネットワークの世界でも同じように、直接データ(正式にはパケット)を送れなくても、送信先のIPアドレス(住所に相当)がわかれば、リアル世界の郵便局に相当する機器(ルータ)を複数経由することでデータを送ることができます。

f:id:momoyama1192:20200319191239g:plain

流れとしては、まず、端末Aは、ネットワークX内にある機器(ブリッジやスイッチングハブなど)を経由しながら、郵便局に相当するルータにデータを送ります。

(※同じネットワークX内の通信はMACアドレスで行います。)

 

次に、ネットワークX内のルータから複数のルータを経由し、端末BがあるネットワークY内のルータにデータを送ります。

 

ネットワークYにさえ届いてしまえば、Y内にある機器がMACアドレスを確認し、経由することで端末Bと通信を行うことができます。

 

このように、他のネットワークのホストと通信を行い、データを送信するためにはMACアドレスとIPアドレスの両方が必要なのです。

 

IPアドレス・MACアドレスの役目

MACアドレス:つぎにパケットを経由する機器を指定する際に使用
(どこを経由するのかを指定するのに使われる)

IPアドレス:通信したい目的地を表す
(最終的にどこに届けたいのか指定するときに使われる)

 

(3) IPアドレス⇔MACアドレスの変換(ARP・RARP)

(i) APR (Address Resolution Protocol)

MACアドレスは各ホスト内で管理しているため、同じネットワーク内にある端末でもMACアドレスがわからないことがわかります。

(同じ地域にいる住民の住所がわかっていても全然しらない他人なんてことはよくありますよね!)

 

そこで使われるのがAPRです。

ARPを用いることで、IPアドレスからMACアドレスを求めることができます。

(ii) RAPR (Reverse Address Resolution Protocol)

ARPとは反対に、MACアドレスからIPアドレスを求めるときに使うプロトコルがRARPです。

ですが、ARPほどは使われません。

7.練習問題

では、基本情報の問題で10問ほど練習してみましょう。

最初の5問が知識問題、残りの5問はIPアドレスの計算練習問題です。

練習1

IPv4にはなく,IPv6で追加・変更された仕様はどれか。

[基本情報平成27年秋期 問33]

ア:アドレス空間として128ビットを割り当てた。
イ:サブネットマスクの導入によって,アドレス空間の有効利用を図った。
ウ:ネットワークアドレスとサブネットマスクの対によってIPアドレスを表現した。
エ:プライベートアドレスの導入によって,IPアドレスの有効利用を図った。

解答1

解答:ア

IPv4では、アドレス空間が32ビットのため、IPアドレスがなくなりそうという問題点がありました。

そこで、アドレス空間を128ビットのIPv6が導入されました。

なお、他のイ、ウ、エの選択肢はすべてIPv4から標準搭載されている機能です。

練習2

TCP/IPネットワークにおけるARPの説明として,適切なものはどれか。

[基本情報平成19年春期 問52]

ア:IPアドレスからMACアドレスを得るプロトコルである。
イ:IPネットワークにおける誤り制御のためのプロトコルである。
ウ:ゲートウェイ間のホップ数によって経路を制御するプロトコルである。
エ:端末に対して動的にIPアドレスを割り当てるためのプロトコルである。

解答2

解答:ア

ARP (Adress Resolution Protocol) は、IPアドレスからMACアドレスを得るためのプロトコルなので、答えはアとなります。

[他の選択肢]

イ:TCP(Transmission Control Protocol)
ウ:RIP(Routing Information Protocol) ※あまり出ない
エ:DHCP(Dynamic Host Configuration Protocol)

練習3

TCP/IPネットワークでホスト名をIPアドレスに変換する機能を提供するものはどれか。

[基本情報平成18年春期 問53]

ア:ARP
イ:DHCP
ウ:DNS
エ:SNMP

解答3

解答:ウ

DHCPは、我々にとってわかりやすいホスト名(ドメイン名)をIPアドレスに変換するプロトコルです。(DHCPのおかげでIPアドレスを覚えなくてもネットができる)

よって答えはウとなります。

[他の選択肢]

ア:IPアドレスからMACアドレスを得るプロトコル
イ:IPアドレスを自動的に割り振るプロトコル
ウ:ネットワークの機器を監視、制御するプロトコル*8

練習4

DHCPの説明として,適切なものはどれか。

[基本情報平成23年特別 問39]

ア:IPアドレスの設定を自動化するためのプロトコルである。
イ:ディレクトリサービスにアクセスするためのプロトコルである。
ウ:電子メールを転送するためのプロトコルである。
エ:プライベートIPアドレスをグローバルIPアドレスに変換するためのプロトコルである。

解答4

解答:ア

DHCPは、IPアドレスを自動的に振り分けることで、IPアドレスの設定を自動化できるプロトコルです。よって答えはア。

[他の選択肢]

イ:LDAP(Lightweight Directory Access Protocol) ※ あまり出ない
ウ:SMTP
エ:NAT / NAPT(IPマスカレード)

 

練習5

IPv4において,インターネット接続用ルータのNAT機能の説明として,適切なものはどれか。

ア:インターネットへのアクセスをキャッシュしておくことによって,その後に同じIPアドレスのWebサイトへアクセスする場合,表示を高速化できる機能である。
イ:通信中のIPパケットを検査して,インターネットからの攻撃や侵入を検知する機能である。
ウ:特定の端末宛てのIPパケットだけを通過させる機能である。
エ:プライベートIPアドレスとグローバルIPアドレスを相互に変換する機能である。

解答5

解答:エ

NATとは、プライベートIPアドレスをグローバルIPアドレスに変換するプロトコルで、ルータに搭載されている。

よって、答えはエとなる。

練習6

IPv4のグローバルIPアドレスはどれか。

[平成27年春期 問36]

ア:118.151.146.138
イ:127.158.32.134
ウ:172.22.151.43
エ:192.168.38.158

解答6

解答:ア

IPv4のプライベート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

でした。なので、ウとエはプライベートIPアドレスを表しており、正解の候補から外れますね。

残った選択肢がアとイなのですが、実はイのように最初の8ビットがすべて1(ドットアドレス表記だと127.x.x.x)のIPアドレスは、自分自身(localhost)を表すローカル・ループバック・アドレスとなるので、イも選択肢の候補から外れます。

よって答えはアとなります。

練習7

IPアドレスが 192.168.0.x でサブネットマスクが 255.255.255.0 の TCP/IPネットワークで,ブロードキャストアドレスはどれか。

[基本情報平成20年秋期 問50]

ア:192.168.0.0
イ:192.168.0.255
ウ:192.168.255.0
エ:192.168.255.255

解答7

解答:イ

ブロードキャストアドレスは、ホスト部のビットがすべて1のアドレスを表します。

また、サブネットマスクが 255.255.255.0 となるので、左側から24ビットを除いた残りの8ビットがホスト部となります。

 

つまり、ブロードキャストアドレスは残りの8ビットがすべて1なので x = 255 が入る*9

よって答えはイ。

練習8

IPv4アドレス 128.0.0.0 を含むアドレスクラスはどれか。

[基本情報平成29年春期 問34]

ア:クラスA
イ:クラスB
ウ:クラスC
エ:クラスD

解答8

解答:イ

まず、それぞれのクラスのIPアドレスの範囲をビットとともに確認しましょう。

種類 ビット IP範囲
クラスA 0…… 0.0.0.0〜127.255.255.255
クラスB 10…… 128.0.0.0〜191.255.255.255
クラスC 100…… 192.0.0.0〜223.255.255.255

IPアドレス「128.0.0.0」をビットに直すと、「10……」となり、10から始まることがわかります。よって正解はイとなります。

練習9

クラスCのIPアドレスで,サブネットマスクを255.255.255.252としたとき,使用できるホスト数は幾つか。

[基本情報平成17年春期 問35]

ア:1
イ:2
ウ:3
エ:4

解答9

解答:イ

サブネットマスク「255.255.255.252」を10進数の表記に直すと、

11111111 11111111 11111111 11111100

となり、最後の2ビット意外はすべて1となります。

そのため、残った2ビットの部分がホスト部となります。2ビットで表現できる数は  2^2 = 4 通りですが、

  • ホスト部オール0(ネットワークアドレス)
  • ホスト部オール1(ブロードキャストアドレス)

はIPアドレスに使えないため、残りの2通りが使用できるホストとなります。

練習10

IPv4で192.168.30.32/28のネットワークに接続可能なホストの最大数はどれか。

[平成26年春期 問35]
ア:14
イ:16
ウ:28
エ:30

解答10

解答:ア

CIDR表記で表されたIPアドレスに関する問題です。

「192.168.30.32/28」なので、左から28ビットを除いた残りの4ビットがホスト部となります。

4ビットで表現できる数は  2^4 = 16 通りですが、

  • ホスト部オール0(ネットワークアドレス)
  • ホスト部オール1(ブロードキャストアドレス)

はIPアドレスに使えないため、残りの14通りが使用できるホストとなります。

8.さいごに

今回はネットワーク分野における、IPアドレスについて説明していきました。

次回のネットワーク記事は、

  • WWW(ブラウザでページが表示されるまでの流れ)
  • メールの送受信の流れ

の2つについてまとめていきたいと思います。

では、また次回。

*1:僕はIPバージョン4と呼んでいます。なぜ4なのかは不明です。

*2:全部のIPアドレスが使えるわけではないので、実際にはもっと少ない。

*3:約340澗( 3.4 \times 10^{38})個となる。ちなみに、1人が1兆個IPアドレスを持っても全然枯渇しないレベルで余ります。

*4:普段みんなが使う電話番号はこちらです。携帯だと090や080から始まりますね。

*5:内線番号は、外線番号と違って組織内の番号と衝突しなければ他の組織の番号をつけても問題ありませんよね。

*6:一応クラスDというのもありますが、基本的に試験に出ません。

*7:ホスト部が  n ビットのとき、 2^n となる。

*8:SNMPは、Simple Network Management Protocolの略です。

*9:2進数で11111111bは255。