• 1.9、习题2-时延相关习题


    例1:

    • 假设主机要发送数据,横坐标表示距离,链路带宽为 1 M b / s 1Mb/s 1Mb/s.

      信号在该链路上的传播速率为 2 × 1 0 8 m / s 2 \times 10^8 m/s 2×108m/s

    • 主机发送一个比特的信号,由于该链路的带宽为 1 M b / s 1Mb/s 1Mb/s,因此主机的发送速率可以是 1 M b / s 1Mb/s 1Mb/s

      那么主机发送完 1 比特的时间为: 1 b 1 M b / s = 1 × 1 0 − 6 s = 1 u s \large\frac{1b}{1Mb/s} = 1\times 10^{-6}s = 1us 1Mb/s1b=1×106s=1us

    此时表示该比特的信号的前端已经传播出去多远了?(就是第 2 个比特发送的瞬间,第 1 个比特走了多远)

    解:

    • 1 u s × ( 2 × 1 0 8 ) m / s = 200 m 1us \times (2 \times 10^8)m/s = 200m 1us×(2×108)m/s=200m

    image-20221115203301869


    若把链路带宽提高 8 倍到 8 M b / s 8Mb/s 8Mb/s

    image-20221115203450164


    image-20221115203525208

    解析:

    • 由于带宽为 10 M b / s 10Mb/s 10Mb/s ,所以主机的发送速率可以是 10 M b / s 10Mb/s 10Mb/s
    • 发送延时 : t 1 = 1 b 10 M b / s = 1 × 1 0 − 7 s \large t1 = \frac{1b}{10Mb/s} = 1 \times 10^{-7} s t1=10Mb/s1b=1×107s
    • 传播时延 : t 2 = 60 m 2 × 1 0 8 m / s = 3 × 1 0 7 s \large t2 = \frac{60m}{2 \times 10^8m/s} = 3 \times 10^7 s t2=2×108m/s60m=3×107s
    • 共耗费的时间: t = t 1 + t 2 = 4 × 1 0 − 7 s \large t = t1 + t2 = 4 \times 10^{-7}s t=t1+t2=4×107s

    image-20221115204521015

    ① 若将链路长度改成 20 m 20m 20m 。其余不变。

    解析:

    • 主机将表示这 1 1 1 比特的信号发送到链路上,所耗费的时间(发送时延): 1 0 − 7 s 10 ^ {-7}s 107s
    • 此时,信号的·前端·已经传播出去 20 m 20m 20m,也就是说刚刚到达另一台主机
    • 而该信号的·后端·还要经过 1 1 1 个传播时延才能到达另一台主机
      • 即:传播时延 = 20 m 2 × 1 0 8 m / s = 1 × 1 0 − 7 s \large = \frac{20m}{2 \times 10 ^8 m/s} = 1 \times 10^{-7} s =2×108m/s20m=1×107s
    • 总耗费的时间: 2 × 1 0 − 7 s \large 2 \times 10^{-7}s 2×107s

    image-20221115205122863

    ② 若链路长度再次减少到 10 m 10m 10m,其余不变

    解析:

    • 主机将表示这 1 1 1 比特的信号发送到链路上,所耗费的时间(发送时延): 1 0 − 7 s 10 ^ {-7}s 107s

    • 此时,信号的·前半段·已经被另一台主机接受。

    • 而该信号的后端还需要经过 1 1 1 个传播时延才能到达另一台主机

      • 即:传播时延 = 10 m 2 × 1 0 8 m / s = 0.5 × 1 0 − 7 s \large = \frac{10m}{2 \times 10 ^8 m/s} = 0.5 \times 10^{-7} s =2×108m/s10m=0.5×107s
    • 总耗费的时间: 1.5 × 1 0 − 7 s \large 1.5 \times 10^{-7}s 1.5×107s

      image-20221115205913127

    ③ 若其中一台主机给另一台主机连续发送 n n n 比特信息(其他条件不变),当主机接收完该信息时共耗费多长时间?

    解析:

    • 3 3 3 个比特发送的时候另一台主机还没有接受。
      • 当发送第 4 4 4 个的时候第 1 1 1 个比特被接受
      • 当发送第 5 5 5 个的时候第 2 2 2 个比特被接受
      • . . . . . . . ....... .......
      • 当发送第 n n n 个的时候第 n − 3 n - 3 n3 个比特被接受
      • 最后只剩下 n − ( n − 3 ) n - (n - 3) n(n3) 个比特在路上,
      • 即 还剩下 3 3 3 个比特需要计算传播时延(其中每 1 1 1 个比特 20 m 20m 20m
    • 一个比特的传播时延 : t 2 = 60 m 2 × 1 0 8 m / s = 3 × 1 0 7 s \large t2 = \frac{60m}{2 \times 10^8m/s} = 3 \times 10^7 s t2=2×108m/s60m=3×107s
    • 即总耗费的时间: 3 × 1 0 7 s + n × 1 0 7 s = ( n + 3 ) × 1 0 7 s \large3 \times 10^7s + n \times 10^7s= (n + 3) \times 10^7s 3×107s+n×107s=(n+3)×107s

    image-20221115211553523

    第一种解法的错误在于:重复包含了 ( n − 1 ) (n - 1) n1个传播时延

    第二种(类似于指令的流水的方式)

    • 总时延为:所有分组的发送时延 + 信号在这一段链路上的传播时延

    image-20221115212034816


    假设:分组等长,各链路长度相同、带宽也相同,忽略处理器的处理时间

    image-20221115212507964

    2 2 2 个分组在 3 3 3 段链路上的总时延是否是 1 1 1 个分组在 3 3 3 段链路上的 2 2 2 倍呢?

    • 答案是否定的

    image-20221115212723198

    image-20221115212811619

    image-20221115212858185

    n n n 个分组, m m m 段链路,则总时延是多少?

    • ( m − 1 ) (m-1) (m1) 其实是转发次数, m m m 段链路就有 ( m − 1 ) (m - 1) (m1) 次转发

      image-20221115213427853

    示意图记住了,结论自然的记住了


    image-20221115213502067

    解析:

    • 电路交换的总时延

      • s + x b + k ⋅ d \large s + \frac{x}{b} + k \cdot d s+bx+kd ①式

        image-20221115215208162

    • 分组交换

      • 一共有 x p \large \frac{x}{p} px 个分组
      • 一个分组的发送时延: p b \large \frac{p}{b} bp
      • k k k 段链路的传播时延: k ⋅ d k \cdot d kd
      • 分组总时延 = x p ⋅ p b + p b ⋅ ( k − 1 ) + k ⋅ d = x b + p b ⋅ ( k − 1 ) + k ⋅ d \large = \frac{x}{p} \cdot \frac{p}{b} + \frac{p}{b} \cdot (k-1) + k \cdot d = \frac{x}{b}+ \frac{p}{b} \cdot (k-1) + k \cdot d =pxbp+bp(k1)+kd=bx+bp(k1)+kd ②式
    • ①式 > ②式

    • 解得:

      • s > ( k − 1 ) p b \large s \gt (k-1)\frac{p}{b} s>(k1)bp

    image-20221115215406189

    解析:

    • 一共有 x p \large \frac{x}{p} px 个分组

    • 一个分组的发送时延: p + h b \large \frac{p + h}{b} bp+h

    • 转发次数: k − 1 k - 1 k1

    • 总发送时延: t = x p ⋅ p + h b + p + h b ⋅ ( k − 1 ) \large t= \frac{x}{p} \cdot \frac{p + h}{b} + \frac{p + h}{b} \cdot (k - 1) t=pxbp+h+bp+h(k1)

    • 要是 t t t 最小 ,对 p p p 求导: k − 1 b − x h b ⋅ 1 p 2 = 0 \large \frac{k-1}{b} - \frac{xh}{b} \cdot \frac{1}{p^2} = 0 bk1bxhp21=0

      • 解得: p = x h k − 1 \large p = \sqrt{\frac{xh}{k-1}} p=k1xh

    image-20221115220738017

    解析:

    • 报文交换

      • 一个报文的发送延迟: 8 M b 10 M b / s = 0.8 s \large \frac{8Mb}{10Mb/s} = 0.8s 10Mb/s8Mb=0.8s

      • 即总发送时延: 2 × 0.8 s = 1.6 s 2 \times 0.8s = 1.6s 2×0.8s=1.6s

        image-20221115224425996

    • 分组交换

      • 一个分组的发送时延: 10 K b 10 M b / s = 1 × 1 0 − 3 s \large \frac{10Kb}{10Mb/s} = 1 \times 10^{-3}s 10Mb/s10Kb=1×103s

      • 一共 8 M b 10 K b = 8 × 1 0 2 \large \frac{8Mb}{10Kb} = 8 \times 10^2 10Kb8Mb=8×102 个分组

      • 总发送延时: 8 × 1 0 2 × 1 × 1 0 − 3 + 1 × 1 0 − 3 × ( 2 − 1 ) = 801 m s 8 \times 10^2 \times 1 \times 10^{-3} + 1 \times 10^{-3} \times (2 - 1) = 801ms 8×102×1×103+1×103×(21)=801ms

        image-20221115224524953

    • 所以选 D


    image-20221115224610698

    解析:

    • 一个分组的发送延时: 1000 B 100 M b / s = 1000 × 8 b 100 × 1 0 6 b / s = 8 × 1 0 − 5 s \large \frac{1000B}{100Mb/s} = \frac{1000 \times 8b}{100 \times 10^6b /s} = 8 \times 10^{-5}s 100Mb/s1000B=100×106b/s1000×8b=8×105s

    • 一共 980000 B 980 B = 1000 \frac{980000B}{980B} = 1000 980B980000B=1000 个分组

    • 总发送延迟: 8 × 1 0 − 5 × 1000 + 8 × 1 0 − 5 × ( 3 − 1 ) = 80.16 m s \large 8 \times 10^{-5} \times 1000 + 8 \times 10^{-5} \times (3-1) = 80.16ms 8×105×1000+8×105×(31)=80.16ms

    image-20221115232211286

    答案 C

  • 相关阅读:
    C++ 笔记
    BUUCTF [BJDCTF2020]认真你就输了 1
    支持在线写SQL的Oracle学习免费网站(个人常使用)
    Spring | 基于SpringBoot的多数据源实战 - 使用seata实现多数据源的全局事务管理
    【PAT甲级】1099 Build A Binary Search Tree
    统一网关 Gateway(黑马程序员)
    抓住金三银四的尾巴,解锁程序员面试《刷题神器》
    【css】css优先级之 !important
    SamSung三星笔记本NP930QCG-K02CN原装出厂OEM预装Win10系统
    数据挖掘复盘——apriori
  • 原文地址:https://blog.csdn.net/qq_67720621/article/details/127876422