基本情報技術者 2011年 春期 午後 問04
ルータの経路制御テーブルの更新に関する次の記述を読んで、設問に答えよ。
ルータは、二つ以上の異なるネットワークをまたいだ通信における通信経路の選択を、ルータ内の経路制御情報を格納したテーブル(以下、テーブルという)に基づいて行う。同一のネットワークに接続された端末(ルータを含む)は同じネットワークアドレスをもつ。あるネットワークでブロードキャストしたパケットは異なるネットワークには転送されない。
テーブルの各レコードは送信先ネットワークのための経路制御情報を表し、送信先ネットワークアドレス(主キー)、転送先ルータのIPアドレス及び距離で構成される。送信先ネットワークアドレスは受信したパケットのあて先のネットワークアドレスであり、転送先ルータのIPアドレスはそのパケットを転送すべきルータのIPアドレスである。あるネットワークあてのパケットは、該当する転送先ルータに転送すればよいことを表す。距離は、そのルータから転送されたパケットが、送信先のネットワークに到達するまでに経由する、ルータの個数である。
ネットワーク構成の例を図1に、図1中のルータ1のテーブルの例を図2に示す。

ルータは、同一のネットワークに接続しているほかのルータが、ブロードキャストで定期的に送信する経路制御情報を受信することによって、自身のテーブルを更新する。これによって、異なるネットワーク上の端末にパケットを送信するときに、目的の端末にパケットが到達するまでに経由するルータの個数が最小になるよう、テーブルを動的に構成することができる。テーブルの更新手順を次に示す。
〔テーブルの更新手順〕
(1) ルータは、そのルータに直接接続されたすべてのネットワークに、ブロードキャストで、保持するすべての経路制御情報を送信する。最初の送信は起動直後に行い、以後30秒間隔で送信する。
(2) 起動中のルータは、ほかのルータから送信された経路制御情報を受信し、自身のテーブルを次のとおりに更新する。
① 受信した経路制御情報のそれぞれの距離に1を加え、その距離を更新距離とする。
② 受信した経路制御情報のうち、送信先ネットワークアドレスが一致するレコードが自身のテーブルにあるものは、更新距離と該当するレコードの距離を比較し、更新距離の方が小さい場合は、距離を更新距離の値にし、転送先ルータのIPアドレスを受信した経路制御情報の送信元ルータのIPアドレスに更新する。
③ 受信した経路制御情報のうち、送信先ネットワークアドレスが一致するレコードが自身のテーブルにないものは、自身のテーブルに追加する。ただし、距離は更新距離の値とし、転送先ルータのIPアドレスは受信した経路制御情報の送信元ルータのIPアドレスとする。
設問1:
問題文を見る 次の記述中のに入れる正しい答えを、解答群の中から選べ。
図1のネットワーク構成の例において、ルータ1、2、3を順に、5秒間隔で起動した。各ルータの起動直後のテーブルには、それぞれのルータが直接接続されたネットワーク(ルータ1ではネットワークAとネットワークB)の経路制御情報だけがあるとすると、ルータ1にネットワークCのための経路制御情報が反映されるのは、図3に示すように、ルータ1を起動した5秒後(ルータ2が起動直後に送信したテーブルを受信したとき)であり、ネットワークDのための経路制御情報が反映されるのは、ルータ1の起動からa秒後である。

ルータ2にネットワークAのための経路制御情報が反映されるのは、ルータ1の起動からb秒後であり、そのときのルータ2のテーブルは、表1となる。

また、ルータ1の起動から20秒後には、ルータ3のテーブルに、dのための経路制御情報が保持され、40秒後には、eのための経路制御情報が保持されている。
a, bに関する解答群
ア:5
イ:10
ウ:30
エ:35
オ:40
cに関する解答群
d, eに関する解答群
ア:ネットワークA、B、C及びD
イ:ネットワークA、B及びC
ウ:ネットワークA、B及びD
エ:ネットワークA、C及びD
オ:ネットワークB、C及びD
カ:ネットワークC及びD
d, eに関する解答群
ア:ネットワークA、B、C及びD
イ:ネットワークA、B及びC
ウ:ネットワークA、B及びD
エ:ネットワークA、C及びD
オ:ネットワークB、C及びD
カ:ネットワークC及びD模範解答
a:エ、b:ウ、c:イ、d:カ、e:ア
解説
解答の導き方
ルータは、パケット(ネットワークでやり取りするデータのまとまり)をどこへ転送するか、経路制御テーブル(宛先のネットワークごとに、転送先を記録した表)を使って決めます。IPアドレス(IPはInternet Protocolの略で、ネットワーク上の機器や接続口を識別する番号です)は、その転送先を示す情報の一つです。
この問題では、次のルールを押さえることが大切です。
- 起動直後に経路制御情報をブロードキャスト(同じネットワーク上の機器全体への一斉送信)します。その後は30秒間隔で送信します。
- 受信した経路制御情報の距離に1を加えます。
- テーブルにないネットワークは追加します。すでにある場合は、計算した距離の方が小さいときだけ更新します。
- ブロードキャストは異なるネットワークには転送されません。
まず、ルータの起動時刻と送信時刻を整理します。ルータ1を0秒に起動したとすると、ルータ2は5秒後、ルータ3は10秒後に起動します。各ルータの起動直後の送信と、その後の送信時刻は次のとおりです。
aを求めます。
ルータ3は10秒に起動し、ネットワークCとネットワークDの情報をブロードキャストします。ルータ2はネットワークCでその情報を受信し、ネットワークDへの経路をテーブルに追加します。この時点で、ルータ2はネットワークDまでの距離を1として記録します。
ただし、ルータ2は情報を受信した直後に再送信するのではなく、次の定期送信である35秒に送信します。ルータ1はその情報をネットワークBで受け取り、ネットワークDへの経路を追加します。したがって、ネットワークDの情報がルータ1に反映されるのは、起動から35秒後です。
よって、aは35秒です。解答群では「エ」に当たります。
bを求め、cの表を選びます。
ルータ1は起動直後の0秒に経路制御情報を送信しますが、この時点ではルータ2がまだ起動していません。送信済みの情報が後から届くことはないので、ルータ2は0秒の送信を受け取れません。
ルータ1が次に送信するのは30秒です。ルータ2はこの送信を受信し、まだテーブルにないネットワークAへの経路を追加します。ルータ1のネットワークB側のIPアドレスは10.0.1.1なので、ネットワークAへの転送先は10.0.1.1、距離は1です。
よって、bは30秒です。解答群では「ウ」に当たります。
この時点でルータ2のテーブルには、ネットワークDへの経路もすでにあります。ルータ2は10秒にルータ3からネットワークDの情報を受け取り、距離1で記録しているためです。したがって、bの時点のテーブルは次の内容になります。
ネットワークBとネットワークCはルータ2に直接つながっているので、転送先は「-」、距離は0です。ネットワークDへの転送先は、ルータ3のネットワークC側のIPアドレスである10.0.2.2です。
この表に一致するのは、cの解答群の「イ」です。
dとeを求めます。
ルータ3が起動するのは10秒です。ルータ2は5秒に起動直後の送信を終えており、次に送信するのは35秒です。そのため、20秒の時点でルータ3はルータ2から経路制御情報を受信していません。
また、ルータ1の送信は別のネットワークで行われるため、ルータ3には届きません。ブロードキャストは異なるネットワークには転送されないからです。したがって、20秒時点のルータ3のテーブルにあるのは、直接つながっているネットワークCとネットワークDです。**dは「カ」**です。
35秒になると、ルータ2はテーブルに保持している経路制御情報を送信します。この情報には、30秒にルータ1から学んだネットワークAへの経路も含まれています。ルータ3はこの送信をネットワークCで受信し、ネットワークAとネットワークBへの経路を追加します。
ルータ3にはネットワークCとネットワークDがもともと直接つながっているため、更新後もこの2つの情報は保持されます。よって、40秒時点ではネットワークA、B、C及びDの情報がそろっています。**eは「ア」**です。
誤りやすいポイント
- 起動直後に送信された情報が、起動前のルータに後から届くと考えないようにします。ルータ1の0秒の送信をルータ2は受信できず、次の機会は30秒です。
- 経路制御情報を受信した直後に、すぐ再送信するわけではありません。この問題では、送信のタイミングは起動時と、その後30秒ごとです。
- ブロードキャストは接続されたネットワークの外へは届きません。ルータ3の情報はまずルータ2が受信し、ルータ2の次の送信でルータ1へ伝わります。
- すでに直接つながっているネットワークは距離0です。受信した情報から計算した距離が大きい場合は、既存の経路を置き換えません。
- cの表を選ぶときは、起動時に直接つながっているネットワークだけでなく、すでに受信していたネットワークDの情報も確認します。
FAQ
Q: ルータ2は、ルータ3からネットワークDの情報を受信したあと、すぐルータ1に送らないのですか?
A: この問題の手順では、受信をきっかけにすぐ送信するのではなく、30秒間隔の送信時刻に送ります。ルータ2は5秒に起動しているため、次の送信は35秒です。
Q: ルータ1は、ルータ2が起動した5秒後にネットワークCを知るのに、ルータ3のネットワークDはすぐには知りません。なぜですか?
A: 5秒時点ではルータ2が起動直後に送信した情報をルータ1が受け取れます。一方、ネットワークDの情報は10秒にルータ3からルータ2へ届き、その情報をルータ2が送信するのは35秒です。情報がルータを経由するたびに、送信を待つ時間が発生します。
Q: 距離に1を加えるのはなぜですか?
A: 受信した経路制御情報は、送信元のルータから見た距離を示しています。受信側のルータから見た距離にするには、送信元のルータを経由する分として1を加える必要があります。
関連キーワード: 経路制御テーブル、ブロードキャスト、経路制御情報、距離(ホップ数)、IPアドレス




