戦国IT - 情報処理技術者試験の過去問対策サイト
ブログお知らせお問い合わせ料金プラン

基本情報技術者 2013年 秋期 午後 問03


インターネットプロトコルのアドレス表記に関する記述を読んで、設問1,2に答えよ。

 インターネットプロトコル(IP)として現時点で広く使われているのは、IPバージョン4(以下、IPv4という)である。IPv4では、そのアドレスを表現するのに32ビットを使用している。単純に32ビットのアドレス空間を考えると、個(約43億個)のアドレスが使用できるが、世界の人口が約70億人であるので一人ひとりに1個ずつのアドレスを割り当てられない。今日、インターネットに接続できる機器の数が爆発的に増えていることを考えると、IPv4のアドレスを全て使い切ってしまうのは時間の問題である。これは、“IPv4アドレスの枯渇問題”として知られている。  そこで、IPバージョン6(以下、IPv6という)が開発された。IPv6では、アドレスを128ビットで表す。単純に128ビットのアドレス空間を考えると、個(約個)のアドレスが使用でき、世界中の人に割り当てても一人当たり約a個使える計算になる。  IPv4では、32ビットのアドレスを表現するのに8ビットごとに区切り、各8ビットの値を10進数で表し、区切りにドット(.)を使用する表記方法が用いられている。IPv6では、128ビットを16ビットごとに区切り、各16ビット(以下、16ビットセクションという)を16進数で表し、区切りにコロン(:)を使用する。また、次の規則を使用してアドレスを表現する文字列を圧縮できる。
(1) 各16ビットセクションの先行する0を省略する。例えば、0012は12になる。ただし、16ビットセクションが0000のときは、0とする。 (2) 0の16ビットセクションが連続する場合は、連続する2個のコロン(::)で表す。例えば、2001:0db8:0000:0000:0000:ff00:0042:8329は2001:db8::ff00:42:8329と表す。ただし、::は1か所にだけ使用できる。
 IPv6もIPv4と同様に、アドレスはネットワークを表す部分とホストを表す部分から成る。IPv6では、ネットワークの部分が何ビットで表されるかを示すのにプレフィックス長が用いられる。プレフィックス長は、先頭からのビット数を10進数で表したものである。アドレスとプレフィックス長は、スラッシュ(/)で区切る。例えば、2001:db8:abcd:12::/64では、プレフィックス長は64であり、先頭から64ビットがネットワークアドレス部であることを表している。  IPv6を導入することによってIPv4アドレスの枯渇問題は回避できるが、インターネットにつながる世界中のシステムや機器が一斉にIPv6に変更されるということは期待できず、長い時間を掛けて移行が行われると考えられる。そこで、IPv4からIPv6への移行期間中に二つのバージョンが共存する手段として様々な技術が開発されている。そのうちの一つがトンネル方式であり、送信元と宛先の間に異なるIPバージョンが存在するとき、元のIPバージョンのパケットを異なるIPバージョンのパケットにカプセル化し、異なるIPバージョンのネットワークを通過させる方式である。トンネル方式を実現する方法は幾つかあり、6to4と呼ばれる技術もその一つである。  6to4では、IPv4のグローバルアドレスが必要である。6to4で使用するIPv6アドレスの最初の16ビットは、必ず2002である。続いてIPv4のグローバルアドレスをそのまま付けたbビットがIPv6アドレスのプレフィックスとなる。例えば、IPv4グローバルアドレスが203.0.113.128の場合、IPv6アドレスのプレフィックスは、c/bとなる。

設問1:

問題文を見る
 説明文中のに入れる正しい答えを、解答群の中から選べ。   aに関する解答群  ア:  イ:  ウ:  エ:  オ:  カ:   bに関する解答群  ア:32  イ:40  ウ:48  エ:56  オ:64  カ:72  キ:80  ク:88  ケ:96   cに関する解答群  ア:2002::cb00:7180  イ:2002:0:0:cb00:7180::  ウ:2002:203:0:113:128::  エ:2002:cb:0:71:80::  オ:2002:cb00:7180::  カ:203:0:113:128::  キ:cb00:7180::

模範解答

a:イ、b:ウ、c:オ

解説

解答の導き方

この問題では、IPv6のアドレス数、6to4で使うプレフィックスの長さ、IPv4アドレスのIPv6表記への変換を考えます。
a:IPv6アドレスを一人当たり何個使えるか
IP(Internet Protocol:ネットワーク上でデータを届けるための通信規則)のアドレスは、機器の宛先を示す番号です。IPv6(IP version 6:128ビットでアドレスを表す方式)では、問題文にあるとおり、約個のアドレスを使えます。
世界の人口を約70億人、つまり人として、一人当たりの数を計算します。
選択肢では、これに最も近いのはです。したがって、aはイです。
b:6to4のプレフィックス長
6to4は、IPv4とIPv6が共存する期間に、IPv6の通信をIPv4のネットワーク上で運べるようにする方式の一つです。トンネル方式(元のパケットを別の形式のパケットで包み、異なる形式のネットワークを通す方法)を利用します。
問題文には、6to4のIPv6アドレスは、最初の16ビットが2002で、その後にIPv4のグローバルアドレスを付けるとあります。グローバルアドレスは、インターネット上で使うアドレスです。IPv4のアドレスは32ビットなので、プレフィックスの長さは次のとおりです。
したがって、bは48で、選択肢はウです。
c:IPv4アドレスをIPv6の表記にする
IPv4グローバルアドレス203.0.113.128の各数値を、10進数から16進数に直します。
  • 203は16進数でCB
  • 0は16進数で00
  • 113は16進数で71
  • 128は16進数で80
この4つをつなげると、IPv4アドレスの32ビット分はCB007180です。IPv6では16ビットごとに区切るので、これを2つに分けてcb00:7180と表します。
先頭の16ビットである2002を付けると、先頭48ビットは2002:cb00:7180です。IPv6のアドレス全体は128ビットなので、残りの80ビットは0です。連続する0の部分は「::」で省略できるため、IPv6アドレスは2002:cb00:7180::となります。
よって、cはオです。

誤りやすいポイント

  • aでは、アドレスの総数を人口で割ります。掛け算や引き算ではありません。
  • をで割るときは、指数を引いてにします。その後、係数を計算してに直します。
  • bでは、IPv4の32ビットだけでなく、先頭に付く2002の16ビットも数えます。
  • cでは、IPv4の各数値を10進数のまま書くのではなく、16進数に変換してから16ビットごとに区切ります。
  • 「::」は連続する0のセクションを省略する記号です。省略した0を元の個数に戻すと、IPv6アドレス全体が128ビットになる必要があります。

FAQ

Q: 「/48」は、IPv6アドレス全体が48ビットという意味ですか?
A: いいえ。IPv6アドレス全体は128ビットです。「/48」は、先頭の48ビットがネットワークを表す部分だという意味です。
Q: 2002:cb00:7180::の「::」は、何を表していますか?
A: 連続する0のセクションを省略したものです。この例では、先頭の3セクションの後ろに5個の0のセクションがあることを表します。
Q: IPv4の4つの数値は、なぜ2つのまとまりにまとめるのですか?
A: IPv4のアドレスは合計32ビットで、IPv6では16ビットごとに区切って表します。そのため、32ビットを16ビットずつの2つのまとまりに分けます。

関連キーワード: IPv4、IPv6、IPアドレス、16進数、プレフィックス長、トンネル方式

解説を読んでも分からないところは、AIに質問できます。 この問題の本文と解説をふまえて答えます。

この設問をAIに質問する

クイズモードで開きます(AIへの質問は無料の会員登録で使えます)

 表1は、IPv6アドレスの基本形と、それを最も短く表現する圧縮形の対応を示したものである。表1中のに入れる正しい答えを、解答群の中から選べ。ここで、基本形は全16ビットセクションを4桁の16進数で表現したもの(先行する0を省略しない)である。
基本情報技術者試験(平成25年 午後 問3 表1)
dに関する解答群  ア:2001:0db8:0000:0000:0000:0000:0000:0021  イ:2001:0db8:0000:0000:0000:0000:0000:2:01  ウ:2001:0db8:0000:0000:0000:0000:0002:0001  エ:2001:0db8:0000:0000:0000:0002:0001  オ:2001:0db8:0000:0000:0002:0001  カ:2001:0db8:0000:0000:0002:0001:0000  キ:2001:0db8:0000:0000:0002:0001:0000:0000   eに関する解答群  ア:2001:0db8::cd30::  イ:2001:0db8::cd30:0:0:0  ウ:2001:0db8:0:0:cd30  エ:2001:0db8:0:0:cd30::  オ:2001:db8::cd30::  カ:2001:db8::cd30:0:0:0  キ:2001:db8:0:0:cd30  ク:2001:db8:0:0:cd30::   fに関する解答群  ア:::0:1  イ:::0001  ウ:::1  エ::0::1  オ:0::1  カ:0:0::1  キ:0000::1

模範解答

d:ウ、e:ク、f:ウ

解説

解答の導き方

IP(Internet Protocol:ネットワーク間でデータを届けるための通信規約)の第6版が、IPv6(Internet Protocol version 6)です。表1では、IPv6アドレスの基本形を、決められた規則に従って短く表します。
IPv6アドレスは128ビットで、16ビットずつに区切ります。そのため、区切りは全部で 個です。各区切りを16ビットセクションと呼びます。基本形では各セクションを4桁の16進数で書き、圧縮形では各セクションの先頭の0を省略できます。また、0のセクションが連続するときは、その並びを「::」に置き換えられます。ただし、「::」を使えるのは1か所だけです。
dは、圧縮形「2001:db8::2:1」を基本形に戻して考えます。「2001」「db8」「2」「1」の4セクションが書かれているので、「::」が表すのは残りの4セクションです。これらは0のセクションなので、基本形では「0000」と書きます。また、「db8」は基本形では「0db8」です。したがって、基本形は「2001:0db8:0000:0000:0000:0000:0002:0001」となり、選択肢ウが当てはまります。
eは、基本形の0セクションの並びを確認します。
位置基本形のセクション先頭の0を省略した形
120012001
20db8db8
3、40000、00000、0
5cd30cd30
6、7、80000、0000、00000、0、0
0の並びは、3、4番目の2個と、6、7、8番目の3個の2か所にあります。「::」は1か所にしか使えないので、最も短くするには、より多くの0セクションが続く6、7、8番目を「::」に置き換えます。3、4番目はそれぞれ「0」として残します。すると「2001:db8:0:0:cd30::」となり、選択肢クが当てはまります。
fは、最後のセクション「0001」より前に、0のセクションが7個続いています。先頭の0を省略すると最後のセクションは「1」になり、7個の0セクションを「::」に置き換えると「::1」です。したがって、選択肢ウが当てはまります。

誤りやすいポイント

  • 各セクションの先頭の0を省略することと、0のセクション全体を「::」に置き換えることは別の規則です。例えば、単独の「0000」は「0」と表せます。
  • 「::」を2か所に使うことはできません。複数の0の並びがある場合は、そのうち1か所だけを「::」にします。
  • 「::」が表す0セクションの個数は、常に同じとは限りません。圧縮後も8セクションになるように数を判断します。
  • eでは、0の並びをどちらも同じように圧縮できるわけではありません。最も短い表現にするため、3個続く方を「::」にします。

FAQ

Q: 「::」は何個の0セクションを表しますか?
A: アドレス全体が8セクションになるように、前後に書かれたセクションの数から決まります。例えば「::1」では、最後の「1」以外の7セクションを「::」が表します。
Q: eの「2001:db8::cd30:0:0:0」も有効な圧縮形ですか?
A: 有効な圧縮形ですが、最も短い形ではありません。この表し方では2個の0を「::」にしており、3個続く末尾の0を「::」にする「2001:db8:0:0:cd30::」の方が短くなります。
Q: 先頭の0を省略すると、セクションの区切りが分からなくなりませんか?
A: セクションはコロンで区切られているため、先頭の0を省略しても区切りは分かります。例えば「0db8」は「db8」と表せます。

関連キーワード: IPv6アドレス、16ビットセクション、16進数、アドレス圧縮、先行ゼロの省略

解説を読んでも分からないところは、AIに質問できます。 この問題の本文と解説をふまえて答えます。

この設問をAIに質問する

クイズモードで開きます(AIへの質問は無料の会員登録で使えます)

戦国ITクイズ機能

\ せっかくなら /

基本情報技術者を
クイズ形式で学習しませんか?

クイズ画面へ遷移する→

すぐに利用可能!

©︎2026 情報処理技術者試験対策アプリ

このサイトについてブログプライバシーポリシー利用規約特商法表記開発者について