计算机网络习题
第1次作业
一、使用电路交换,要传送的报文共 10000 bit。从源点到终点共经过 5 段链路,每段链路的传播时延为 0.1 s,数据率为 10 kbit/s。在电路交换时电路的建立时间为 0.2 s。在分组交换时分组长度为 4000 bit,且各结点的排队等待时间可忽略不计。试比较分组交换与电路交换的时延大小。若报文长度为 $10^9$ bit,结果如何?
求解分组交换的时延 t
分组交换
t
分组时延
=t
发送时延
+
t
排队时延
+
t
处理时延
+
t
传播时延
时延的分类
- 发送时延
- 含义: 主机或路由器发送数据帧所需要的时间
t
发送时延
=$\frac{数据帧长度}{数据率}$
- 排队时延
- 含义: 数据包在路由器的输出队列中等待处理所耗费的时间
- 处理时延
- 含义: 路由器处理数据包所花费的时间。
- 举例: 比如说,路由器要解包,进行差错校验、查找下一条合适的路由;还有重新封装
- 传播时延
- 含义: 数据包走在路上花费的时间(在信道中传输所耗费的时间)
具体求解
值得注意的是,由题意可知,处理、排队所花费的时间不计。
不难理解,只有当 Host B 接收到 Host A 所发送的最后一个Bit时,传输才算结束!那我们不妨跟着最后一个 Bit 来进行一场旅行。
- 首先,主机 A 将一个
x (bit)
大小的报文发送到信道上,所花费的时间是 $\frac{x}{b}$。此时最后一个Bit刚刚上路~ - 虽然最后一个Bit出发的很晚,但是,它依然需要走
k
段链路,每段花费的时间都是d
,所以在路上就花费了 $k \cdot d$ 这么多的时间 - 不光在路上要花费时间,最后一个 Bit 还要过
k-1
道安检(路由器)。每次安检(路由器存储转发),要花费 $\frac{p}{b}$ 这么多的时间(存储转发的时间,不计排队和处理的时间)) - 算下来的话,一共需要花费 $\frac{x}{b} + k \cdot d + (k-1) \cdot \frac{p}{b}$ 这么多的时间
求解电路交换的时延 t电路交换
电路交换,传输报文的延时主要在于建立电路花费的时间、将报文发送到信道上花费的时间、以及报文走在路上花费的时间(传播时延)
具体求解
- 建立电路花费的时间是 $ s$
- 将报文发送到信道上花费的时间是 $\frac{x}{b}$
- 走在路上花费的时间是 $k \cdot d$
- 所以,一共花费的时间是 $s + \frac{x}{b} + k \cdot d$
总结
回到问题上来,不难得到,只要代入数据便能得出最后的结果。
二、在分组交换网中,设报文长度为 100000 bit, 分组长度包含数据部分长度和每个分组所带的控制信息固定长度,其中分组的控制信息固定长度为 160 bit。通信的两端共经过 5 段链路,链路的数据率为 10k bit/s,假设传播时延和结点排队时间均可忽略不计。若打算使总的时延为最小,问分组的数据部分长度应取为多大?试分析分组长度大小对时延的影响。
设:
-
设报文的长度和分组的长度分别为 x 和 (p+h) (bit)
- 其中 p 为分组的数据部分的长度
- h 为每个分组所带的控制信息固定长度,与 p 的大小无关
-
通信的两端共经过 k 段链路
-
链路的数据率为 b (bit/s)
则不难知道,要 Host A 要向 Host B 发送的总的数据大小为 $ \frac{x}{p} \cdot (p+h)$,那么 Host A 将所有的数据发送完,就需要 $\frac{x}{p} \cdot \frac{p+h}{b} $
依然以最后一个 Bit 作为参照,它需要经过 k 段链路,花费 $k \cdot d$ 这么多的时间
需要经过 (k-1) 各路由,每次耽误 $\frac{p+h}{b}$ ;要经过这么多路由就要花 $(k-1) \cdot \frac{p+h}{b} $ 这么多的时间
总的来说,花费了 $\frac{x}{p} \cdot \frac{p+h}{b} + k \cdot d + (k-1) \cdot \frac{p+h}{b}$ 这么多的时间
总结
不难知道,这是一个关于 p 的函数,只需要关于 p 进行求导,令其为零,就可以得到使总时延达到最小时 p 的取值。
三、R1 → R2 → R3 → R1之间的传输距离为 2000 km,S1 → R1 和 S2 → R2 的距离忽略不计,信号在媒体上的传播速率为 2 × $ 10^8 $ m/s 。试计算 S1 → S2 的最小发送时延和最小传播时延(忽略设备产生的处理时延和排队时延等):
四、长度为 500 字节的应用层数据交给传输层传送,需加上 20 字节的 TCP 首部。再交给网络层传送,需加上 20 字节的 IP 首部。再交给数据链路层的以太网传送,加上首部和尾部共 18 字节。最后加载到物理层上,需加上同步码 8 字节。试求数据的传输效率。数据的传输效率是指发送的应用层数据除以所发送的总数据(即应用数据加上各种首部和尾部的额外开销)。若应用层数据长度为 1400 字节,数据的传输效率是多少?
第2次作业
一、假定某信道受奈氏准则限制的最高码元速率为 20000 码元/秒。如果要获得数据率 160000 bit/s,采用振幅调制,需要把码元的振幅至少划分为多少个不同等级来传送?
二、电话线的通频带为 400 - 3400 Hz,最大信道传输速率为 36 Kbit/s,问信噪比 $\frac{S}{N}$ 应该是多少?根据电信领域使用的电磁频谱特性,定量分析双绞线、同轴电缆、光纤的信道容量。
三、站点 A、B、C 通过 CDMA 共享链路,A、B、C 的码片序列 (chipping sequence) 分别是(-1,1,-1,1) 、(1,1,1,1)和(-1,-1,1,1) 。若 C 从链路上收到的序列是 (-2,0,-2,0,0,2,0,2,0,-2,0,-2) ,则 C 收到 A 发送的数据是多少
四、什么是 ADSL、HFC 和 FTTx ?如果你家中要宽带接入(ADSL、HFC 和 FTTx),你会选择哪种接入方式?为什么?简述宽带接入使用设备的功能。
第3次作业
一、某一个数据通信系统采用 CRC 校验方式,待发送的数据比特序列是 101011,生成多项式是 $G(x)= x^4+x+1$ ,若没有产生传输错,则接收方收到的数据比特序列应该是多少? 如果目的结点接收到的二进制比特序列为 110111001,请判断传输过程中是否出现了差错?
二、在 4800 m 长的总线上,数据传输率为 10 Mbps,信号传播速率为 200 m/μs,采用 CSMA/CD 进行数据通信。(1)争用期是多少?(2)最小帧长应该为多少?(3)若 A 向 B 发送 1200 字节的数据,A 是否必须在数据发送期间一直进行冲突检测?为什么?
已知参数:
- 总线长度 L=4800 mL = 4800 , \text{m}L=4800m
- 数据传输率 R=10 MbpsR = 10 , \text{Mbps}R=10Mbps
- 信号传播速率 v=200 m/μsv = 200 , \text{m/μs}v=200m/μs
- 使用 CSMA/CD 协议。
解题步骤:
(1)争用期(tcollisiont_{collision}tcollision)
争用期定义为信号在总线两端传播一次(往返一次)的总时间。传播延迟为:
tpropagation=Lv=4800200=24 μst_{propagation} = \frac{L}{v} = \frac{4800}{200} = 24 , \mu \text{s}tpropagation=vL=2004800=24μs
争用期是传播延迟的两倍:
tcollision=2×tpropagation=2×24=48 μst_{collision} = 2 \times t_{propagation} = 2 \times 24 = 48 , \mu \text{s}tcollision=2×tpropagation=2×24=48μs
答案:争用期为 48 μs48 , \mu \text{s}48μs。
(2)最小帧长
CSMA/CD 协议要求发送数据的时间(帧传输时间)应大于或等于争用期的时间,以保证在发生冲突时,发送方能够检测到冲突。
帧传输时间:
tframe=帧长度 (bit)数据传输率 (bit/s)≥tcollisiont_{frame} = \frac{\text{帧长度 (bit)}}{\text{数据传输率 (bit/s)}} \geq t_{collision}tframe=数据传输率 (bit/s)帧长度 (bit)≥tcollision
最小帧长(bit 数)为:
帧长度≥tcollision×R\text{帧长度} \geq t_{collision} \times R帧长度≥tcollision×R
代入 tcollision=48 μs=48×10−6 st_{collision} = 48 , \mu\text{s} = 48 \times 10^{-6} , \text{s}tcollision=48μs=48×10−6s,R=10 Mbps=10×106 bpsR = 10 , \text{Mbps} = 10 \times 10^6 , \text{bps}R=10Mbps=10×106bps:
帧长度≥48×10−6×10×106=480 bit\text{帧长度} \geq 48 \times 10^{-6} \times 10 \times 10^6 = 480 , \text{bit}帧长度≥48×10−6×10×106=480bit
将其转化为字节:
最小帧长度=4808=60 字节\text{最小帧长度} = \frac{480}{8} = 60 , \text{字节}最小帧长度=8480=60字节
答案:最小帧长为 480 bit480 , \text{bit}480bit 或 60 字节60 , \text{字节}60字节。
(3)A 是否必须在数据发送期间一直进行冲突检测?
分析:
在 CSMA/CD 协议中,发送方需要在争用期内进行冲突检测。如果在争用期结束后未检测到冲突,则可以认为发送成功。争用期为 48 μs48 , \mu\text{s}48μs,而发送 1200 字节的数据所需的时间为:
tsend=帧长度 (bit)数据传输率 (bit/s)=1200×810×106=0.96 mst_{send} = \frac{\text{帧长度 (bit)}}{\text{数据传输率 (bit/s)}} = \frac{1200 \times 8}{10 \times 10^6} = 0.96 , \text{ms}tsend=数据传输率 (bit/s)帧长度 (bit)=10×1061200×8=0.96ms
由于数据发送时间远大于争用期(0.96 ms > 48 μs),A 只需要在争用期内检测冲突,之后无需继续检测。
答案:A 不需要在整个数据发送期间进行冲突检测,仅需在争用期内进行检测,因为争用期后发生冲突的概率为 0。
总结:
- 争用期为 48 μs48 , \mu\text{s}48μs。
- 最小帧长为 480 bit480 , \text{bit}480bit 或 60 字节60 , \text{字节}60字节。
- A 无需在数据发送期间一直进行冲突检测,仅需在争用期内检测。
三、有两台主机 A 和 B 接在 1000 m 长的电缆线的两端,并在 t = 0 时各自向对方发送一个帧,长度为 1500 bit(包括首部和前同步码)。假定在 A 和 B 之间有 4 个转发器,在转发帧时会产生 20 比特的时延。设传输速率为 100 Mbit/s,而 CSMA/CD 的退避时间是随机数 r 倍的争用期,争用期为 512 bit,在发生第一次碰撞后,在退避时 A 选择 r = 0 而 B 选择 r = 1。忽略发生碰撞后的人为干扰信号和帧间最小间隔。
- 设信号的传播速率是 $2×10^8$ m/s。试计算从 A 到 B(包括 4 个转发器)的传播时延。
- 在什么时间(以秒为单位)B 完全收到了 A 发送的帧?
- 现在假定只有A发送帧,帧长仍为 1500 bit,但 4 个转发器都用交换机来代替。交换机在进行存储转发时还要产生额外的 20 bit 的处理时延。在什么时间 B 完全收到了 A 发送的帧?
四、使用集线器的 10 Mbit/s 以太网中某个站在发送数据时检测到碰撞,执行退避算法时选择了随机数 r = 10。试问这个站需要等待多长时间后才能再次发送数据?如果是 100 Mbit/s 的以太网呢?如果使用交换机还会有碰撞吗?为什么?
第4次作业
1、主机 H 1 发送 IP 数据报给主机 H 2,途中经过了下图所示的设备。试问在 IP 数据报的发送过程中总共使用了几次 ARP ?
2、一个数据报长度为 2980 字节(固定首部长度)。现在经过一个网络传送,但此网络能够传送的最大数据长度为 1180 字节。试问应当划分为几个短些的数据报片?各数据报片的数据字段长度、片偏移字段和 MF 标志应为何数值?
3、地址聚合能够有效提升路由器转发效率,有如下 4 个 /25地址块:206.0.68.0/25、206.0.68.128/25、206.0.69.0/25、206.0.69.128/25。试问能否进行地址聚合?如果能,请进行最大可能的聚合;如果不能,请说明理由。
4、以下地址前缀中的哪一个地址与 23.52.90.140 匹配?请说明理由。
(1) 0/5; (2) 32/6; (3) 20/6; (4) 80/6。
5、路由器R收到一个分组,其目的地址D=13.1.2.5。如果R的路由表中有这样三项:
路由1 13.0.0.0/8 路由2 13.1.0.0/16 路由3 13.1.2.0/24 试问在转发这个分组时应当选择哪一个路由?为什么?
6、 某通信子网如下图所示,请依据距离矢量路由算法回答如下问题: 表1.路由器 XYZ 的距离矢量表
目的 | X的距离矢量(DV) | Y的距离矢量(DV) | Z的距离矢量(DV) |
---|---|---|---|
X | 0 | ① | ② |
Y | ③ | 0 | ④ |
Z | ⑤ | ⑥ | 0 |
(1)写出路由算法收敛时序号①~⑥处的值。
(2)如果链路 XZ 的费用在某一时刻由 4 变为 80 ,路由算法在重新计算路由时可能会出现什么问题?
(3)如果出现(2)所述问题,有哪些解决方案?