パケット到着時間について
戸根先生、はじめまして。
今、「設計・分析・管理のすべて」を読ませていただいているのですが、
疑問点について、質問させてもらってもよろしいでしょうか?
第5章にて遅延時間の計算がありますが、
ホストA→ルータ1→ルータ2→ルータ3→ルータ4→ホストB
という構成で、10Mbpsで接続(NICが10M)されてるとします。
ホストAからホストBへ「1パケット」伝送について考えます。
シリアル化遅延(パケットサイズ÷実効帯域)
内部処理時間(ルータの内部処理時間)
伝送遅延(信号の伝播時間、回線長・種類に依存)
とした場合、
ホストAから伝送したパケットが、ホストBへ到着するまでにかかる時間
(パケット到着時間)の算出法ですが、
ルータはストア・アンド・フォワーディングを行うため、
--------------------------------------
ホストA~ルータ1間で
シリアル化遅延+内部処理時間+伝送遅延
ルータ1~ルータ2間で
シリアル化遅延+内部処理時間+伝送遅延
ルータ2~ルータ3間で
シリアル化遅延+内部処理時間+伝送遅延
ルータ3~ルータ4間で
シリアル化遅延+内部処理時間+伝送遅延
ルータ4~ホストB間で
シリアル化遅延+内部処理時間+伝送遅延
--------------------------------------
となり、その合計時間になるように思われるのですが。
たぶん、この算出法では間違いだとは思うのですが、
どうして、ダメなのかが解かりません。
また、それについて人に聞いたところ、
---------------------------------------------------
「シリアル化遅延の考え方がおかしい、
10Mbps接続(NICが10M)は、バス幅が10Mbpsってことで、
10M以上のデータを流さなければ、フラグメントされない限り
10byteだろうが100btyeだろうがパケット到着時間は変わらない。
だから、電気信号に変換する時間にNICのバス幅を使うのはおかしくて
それはOSに依存する」
----------------------------------------------------
といわれたのですが、それもどうも納得できません。
(もしかしたら、私の理解不足で、そう聞こえたのかもしれませんが…)
御教授のほど、どうぞよろしくお願いします。
コメント
基本は293ページの図2
匿名希望さん,こんにちわ。
>シリアル化遅延(パケットサイズ÷実効帯域)
デジタルデータを信号に変換して送出するのに要する時間は,
パケットサイズ÷伝送速度ですね。
>ルータはストア・アンド・フォワーディングを行うため、
(途中省略)
>となり、その合計時間になるように思われるのですが。
ノード間で信号を送受信する際に起こる,
送信側で信号を送出する
信号が伝わる
受信側で信号を受け取る
という動作は一体のものですから,
そこに要する時間は一まとめにして考えた方がよいのですが,
ノード内でパケットを処理する時間は,
そのノードの内部で単独に起こる動作なので,
送受信動作に要する時間とは分けて考えた方がいいんじゃないかしら。
それから,内部処理時間は,
フォワーディング処理に要する時間と
待ち行列で待つ時間を
合計したものになります。
そして,言うまでもないかもしれませんが,
待ち行列で待つ時間は混雑具合によって変動します。
>たぶん、この算出法では間違いだとは思うのですが、
>どうして、ダメなのかが解かりません。
どこが,どのように,間違っていると考えているのか,推測しかねますけれど,
気づいた点,上に書いておきました。
>また、それについて人に聞いたところ、
『パケット到着時間』というのは何を意味しているでしょうか?
パケットの先頭部分の信号が到着することなのか,
それとも,パケット全体(パケットの末尾まで)が受信側に届くことなのか?
先頭部分だけ考えるなら,信号の伝播時間だけ考えればいいので,
パケットのサイズに関わらず,到着する時間は同じですが,
パケット全体で考えるなら,パケットのサイズを考慮しなければいけませんね。
いずれにしても,
信号が流れるときの基本的な考え方は,293ページの図2で示したものなので,
上のように指摘された方に,この図を見てもらったらどうかしら?