1、假定有一个通信协议,每个分组都引入100字节的开销用于头和成帧。现在使用这个协议发送106字节的数据,然而在传送的过程中有一个字节被破坏,因而包含该字节的那个分组被丢弃。试对于1000字节和20000字节的分组的有效数据大小分别计算“开销+丢失”字节的总数目。分组数据大小的最佳值是多少?
法1:
没看懂上边的过程,可以看看如下法2
2、考虑一个最大距离为2KM的局域网,当带宽等于多大时,传播延时(传播速率为2×108m/s)等于100B分组的发送时延?对于512B分组结果又当如何?
3、在两台计算机之间传输一个文件有两种可行的确认策略。第一种策略把文件截成分组,接收方逐个确认分组,但就整体而言,文件没有得到确认。第二种策略不确认单个分组,但当文件全部收到后,对整个文件予以确认。请讨论这两种方式的优缺点。
4、试在下列条件下比较电路交换和分组交换。要传送的报文共 x 比特。从源点到终点共经过 K 段链路,每段链路的传播时延为 d 秒,数据传输速率为 b 比特/秒。在电路交换时,电路的建立时间为 s 秒。在分组交换时分组长度为 p 比特,且各结点的排队等待时间可忽略不计。问在怎样的条件下,分组交换的时延比电路交换的时延要小?(提示,画草图观察 k 段链路共有几个结点。)
答:
由于忽略排队时延,因此,
电路交换时延 = 连接时延 + 发送时延 + 传播时延;
分组交换时延 = 发送时延 + 传播时延。
显然,二者的传播时延都为kd。
①对电路交换,由于不采用存储转发技术,虽然是k段链路,连接后没有存储转发的时延,因此,发送时延 = 数据块长度/信道宽度 = x/b ,从而,电路交换总时延为 s + x/b +kd 。
②对于分组交换,设共有n个分组( n=x/p ) , 由于采用存储转发技术,一个站点的发送时延 t = p/b ,显然,数据的第一个分组在信道中经过 k 个 t 时间的流动后到达最后一个结点,紧接着剩下的每个 t 时间段都会有一个分组到达目的结点,于是还有n - 1个 t 喽,总的发送时延 = kt +( n - 1) t .把 t = p/b ,n=x/p ,带入,
整理得,总的发送时延 = kp/b +( x/p - 1) p/b ;再加上传播时延 kd;
即,分组交换总时延为 kp/b +( x/p - 1) p/b + kd。
要使,分组交换总时延 <电路交换总时延,解下列不等式,
即,(k - 1)p/b < s 时,分组交换总时延 小于 电路交换总时延
5、在上题的分组交换网中,设报文长度和分组长度分别为 x 和p+h比特,其中p为分组的数据部分的长度,而h为每个分组所带控制信息固定长度,与p的大小无关。通信两端共经过k段链。链路的数据传输速率为b比特/秒,传播时延、结点的排队时延和处理时延均可忽略不计。若欲使总的时延为最小,问分组的数据部分长度p应取多大?
答:
设总时延为D,经分析,D = k ×(p+h)/b + (x/p -1)× (p+h) / b。
然后求D的极小值,即对p求导后令其等于0,整理后,结果为p = 根号下 (xh) / (1-k)
6、在下列情况下,计算传送1000KB文件所需要的总时间,即从开始传送时起直到文件的最后一位到达目的地为止的时间。假定往返时间RTT为100ms,一个分组是1KB(即1024KB)的数据,在开始传送整个文件数据之前进行的起始握手过程需要2RTT的时间。
1)带宽是1.5Mb/s,数据分组可连续发送。
答:总时延 = 发送时延 + 传播时延 +握手时延;
(换算:1KB=210B,1B = 8 bit;1Mb/s = 106b/s 。
发送时延 = 1000KB/(1.5Mb/s)
…………=(1000×210×8 bit ) / (1.5×106 b/s)
…………=8192000bit / (1500000 b/s )
…………=5.46 s
握手时延=2RTT = 2×100=200 ms
传播时延=RTT/2 = 100/2 =50 ms
所以总时延 = 5.71 s
2)带宽是1.5Mb/s,但在发送完每个数据分组后,必须等待一个RTT(等待来自接收方的确认)才能发送下一个数据分组。
答:
1000KB/1KB = 1000个分组,于是,在上一小题答案的基础上再加999 个RTT即可,
即 总时间为 5.71 s+999×100 ms =105.61 s
3)假设带宽是无限大的值,即我们取发送时间为0,并在等待每个RTT后可以发送多达20个分组。
答:既然发送时延为0,那只需要计算传播时延即可。
总共1000个分组,由于每个RTT后可发送20个分组,则需要1000/20 = 50次;除最后一个分组,它只进行0.5个RTT因为没有返回RTT,所以50-1 = 49个RTT 。
即,总时间为 2×RTT(握手时间) + 49RTT + 0.5RTT = 51.5RTT = 105.61 s
7、有两个网络,它们都提供可靠的面向连接的服务,一个提供可靠的字节流,另一个提供可靠的报文流。请问两者是否相同?为什么?
答; 不相同。
在报文流中,网络保持对报文边界的跟踪;
而在字节流中,网络不进行这样的跟踪。
例如:一个进程向一条连接写了1024B,稍后又写了1024B,那么接收方共读了2048B。对于报文流,接收方将得到两个报文,每个报文1024B。对于字节流,报文边界不被识别,接收方将全部2048B作为一个整体,在此已经体现不出原先有两个不同报文的事实。