伝送効率を考えた転送時間の計算をバイトとビットの換算から確かめる
基本情報技術者試験 平成30年度春期 午前 問31 / ネットワーク › ネットワーク方式
過去問にチャレンジ
10Mバイトのデータを100,000ビット/秒の回線を使って転送するとき,転送時間は何秒か。ここで,回線の伝送効率を50%とし,1Mバイト=バイトとする。
- ア
200
- イ
400
- ウ
800
- エ
1,600
会話形式の解説
講師今回は、回線でデータを送るときに何秒かかるかを求める計算問題です。注目点は、データ量がバイト、回線速度がビット/秒と、単位が違うことです。
受験者私は単純に、10,000,000バイトを100,000で割って100秒、と考えかけました。選択肢にないので、どこかが違うのですね。
講師はい。まず単位をそろえます。1バイトは8ビットなので、データ量は ビットです。
受験者次は回線速度ですね。問題文にある伝送効率50%というのは何のことですか。
講師伝送効率は、回線の速度のうち、実際のデータを送るのに使える割合です。回線速度に伝送効率を掛けたものを実効速度と呼び、実際に使える速度を表します。
受験者すると実効速度は ビット/秒です。転送時間は で、1,600秒になります。
講師そのとおりです。1,600秒が正解です。ほかの選択肢が、どの間違いから出てくるかも確かめておきましょう。
受験者800秒は、80,000,000ビットを100,000ビット/秒のまま割った値でしょうか。伝送効率を忘れた場合です。
講師はい。伝送効率が50%なら使える速度は半分なので、転送時間は800秒の2倍かかります。だから800秒は誤りです。
受験者400秒は、80,000,000を200,000で割った値ですね。0.5を掛けるところを、0.5で割ってしまうとこうなりそうです。
講師そうです。伝送効率で割ると、元の速度より速くなってしまいます。効率50%の回線が元の速度より速くなることはないので、400秒は誤りです。
受験者200秒は、バイト数の10,000,000を実効速度の50,000で割った値です。8倍してビットに直すのを忘れた場合ですね。
講師はい。バイト数をビット/秒の速度で割ると単位が合いません。ビットに直すと80,000,000ビットなので、200秒も誤りです。
受験者まとめると、バイトを8倍してビットにする、速度には伝送効率を掛ける、総ビット数を実効速度で割る、の3段階ですね。
講師そのとおりです。検算はバイト単位でもできます。50,000ビット/秒を8で割ると6,250バイト/秒で、 秒と一致します。
まとめ
転送時間は、総ビット数を実効速度で割って求めます。データ量がバイトで示されているときは8を掛けてビットにそろえるので、10Mバイトは80,000,000ビットです。実効速度は回線速度に伝送効率を掛けて求め、100,000ビット/秒の50%で50,000ビット/秒になります。80,000,000を50,000で割ると転送時間は1,600秒です。伝送効率を考えない、伝送効率で割る、ビットに換算しない、のいずれかの誤りをすると、ほかの選択肢の値になります。
解答・解説
正解はエです
この問題のテーマ
伝送効率(回線の速度のうち、実際のデータを送るのに使える割合)を考えて、データの転送時間を求める問題です。データ量はバイト、回線速度はビット/秒で示されているので、単位をそろえる必要があります。
解き方の考え方
最初に、データ量の単位をビットにそろえます。1バイトは8ビットなので、 ビットになります。次に、回線速度に伝送効率を掛けて、実際に使える速度(実効速度)を求めます。 ビット/秒です。最後に、総ビット数を実効速度で割ります。 秒となり、エの値と一致します。
選択肢ごとの解説
- ×ア 200アは200秒としています。200秒は、10,000,000を50,000で割った値です。ただし、10,000,000はバイト数であり、ビット/秒の速度で割るには単位が合いません。ビットに直したデータ量は80,000,000ビットなので、アは誤りです。
- ×イ 400イは400秒としています。400秒は、80,000,000ビットを200,000ビット/秒で割った値です。しかし、伝送効率50%の回線で使える速度は回線速度の半分なので、元の速度より速い200,000ビット/秒にはなりません。実効速度は50,000ビット/秒です。したがって、イは誤りです。
- ×ウ 800ウは800秒としています。800秒は、80,000,000ビットを回線速度の100,000ビット/秒のまま割った値です。一方、問題文は伝送効率を50%と指定しています。そのため実効速度は半分の50,000ビット/秒になり、転送時間は800秒の2倍かかります。したがって、ウは誤りです。
- ○エ 1,600エは1,600秒としています。データ量をビットに直すと80,000,000ビットです。実効速度は伝送効率を掛けた50,000ビット/秒です。80,000,000ビットを50,000ビット/秒で割ると1,600秒になるので、エが正解です。
補足
バイト単位にそろえて検算することもできます。実効速度50,000ビット/秒を8で割ると6,250バイト/秒です。 秒となり、ビット単位で計算した結果と一致します。
POINT
- 転送時間は、総ビット数を実効速度で割って求めます。
- データ量がバイトで示されているときは、8を掛けてビットにそろえます。
- 実効速度は、回線速度に伝送効率を掛けて求めます。伝送効率で割ってはいけません。
- 伝送効率が50%なら、使える速度は半分になり、転送時間は2倍になります。
