マナビング基本情報技術者

伝送効率を考えた転送時間の計算をバイトとビットの換算から確かめる

基本情報技術者試験 平成30年度春期 午前 問31 / ネットワーク › ネットワーク方式

過去問にチャレンジ

平成30年度春期 午前 問31

10Mバイトのデータを100,000ビット/秒の回線を使って転送するとき,転送時間は何秒か。ここで,回線の伝送効率を50%とし,1Mバイト=10610^{6}バイトとする。

  1. ア

    200

  2. イ

    400

  3. ウ

    800

  4. エ

    1,600

会話形式の解説

講師講師
今回は、回線でデータを送るときに何秒かかるかを求める計算問題です。注目点は、データ量がバイト、回線速度がビット/秒と、単位が違うことです。
受験者受験者
私は単純に、10,000,000バイトを100,000で割って100秒、と考えかけました。選択肢にないので、どこかが違うのですね。
講師講師
はい。まず単位をそろえます。1バイトは8ビットなので、データ量は 10×106×8=80,000,00010 \times 10^{6} \times 8 = 80,000,000 ビットです。
受験者受験者
次は回線速度ですね。問題文にある伝送効率50%というのは何のことですか。
講師講師
伝送効率は、回線の速度のうち、実際のデータを送るのに使える割合です。回線速度に伝送効率を掛けたものを実効速度と呼び、実際に使える速度を表します。
受験者受験者
すると実効速度は 100,000×0.5=50,000100,000 \times 0.5 = 50,000 ビット/秒です。転送時間は 80,000,000÷50,00080,000,000 \div 50,000 で、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バイト/秒で、10,000,000÷6,250=1,60010,000,000 \div 6,250 = 1,600 秒と一致します。

まとめ

転送時間は、総ビット数を実効速度で割って求めます。データ量がバイトで示されているときは8を掛けてビットにそろえるので、10Mバイトは80,000,000ビットです。実効速度は回線速度に伝送効率を掛けて求め、100,000ビット/秒の50%で50,000ビット/秒になります。80,000,000を50,000で割ると転送時間は1,600秒です。伝送効率を考えない、伝送効率で割る、ビットに換算しない、のいずれかの誤りをすると、ほかの選択肢の値になります。

解答・解説

正解はエです

この問題のテーマ

伝送効率(回線の速度のうち、実際のデータを送るのに使える割合)を考えて、データの転送時間を求める問題です。データ量はバイト、回線速度はビット/秒で示されているので、単位をそろえる必要があります。

解き方の考え方

最初に、データ量の単位をビットにそろえます。1バイトは8ビットなので、10×106×8=80,000,00010 \times 10^{6} \times 8 = 80,000,000 ビットになります。次に、回線速度に伝送効率を掛けて、実際に使える速度(実効速度)を求めます。100,000×0.5=50,000100,000 \times 0.5 = 50,000 ビット/秒です。最後に、総ビット数を実効速度で割ります。80,000,000÷50,000=1,60080,000,000 \div 50,000 = 1,600 秒となり、エの値と一致します。

選択肢ごとの解説

  1. ×ア  200
    アは200秒としています。200秒は、10,000,000を50,000で割った値です。ただし、10,000,000はバイト数であり、ビット/秒の速度で割るには単位が合いません。ビットに直したデータ量は80,000,000ビットなので、アは誤りです。
  2. ×イ  400
    イは400秒としています。400秒は、80,000,000ビットを200,000ビット/秒で割った値です。しかし、伝送効率50%の回線で使える速度は回線速度の半分なので、元の速度より速い200,000ビット/秒にはなりません。実効速度は50,000ビット/秒です。したがって、イは誤りです。
  3. ×ウ  800
    ウは800秒としています。800秒は、80,000,000ビットを回線速度の100,000ビット/秒のまま割った値です。一方、問題文は伝送効率を50%と指定しています。そのため実効速度は半分の50,000ビット/秒になり、転送時間は800秒の2倍かかります。したがって、ウは誤りです。
  4. ○エ  1,600
    エは1,600秒としています。データ量をビットに直すと80,000,000ビットです。実効速度は伝送効率を掛けた50,000ビット/秒です。80,000,000ビットを50,000ビット/秒で割ると1,600秒になるので、エが正解です。

補足

バイト単位にそろえて検算することもできます。実効速度50,000ビット/秒を8で割ると6,250バイト/秒です。10,000,000÷6,250=1,60010,000,000 \div 6,250 = 1,600 秒となり、ビット単位で計算した結果と一致します。

POINT

  • 転送時間は、総ビット数を実効速度で割って求めます。
  • データ量がバイトで示されているときは、8を掛けてビットにそろえます。
  • 実効速度は、回線速度に伝送効率を掛けて求めます。伝送効率で割ってはいけません。
  • 伝送効率が50%なら、使える速度は半分になり、転送時間は2倍になります。

※出典:平成30年度春期 基本情報技術者試験 午前 問31