Bootstrap

计算机网络作业——数据链路层

求一键三连

希望大家看完觉得有用的话点赞、关注和收藏,感谢!!!

数据链路层:

任务1:

1.在数据链路层如何实现“在有差错的链路上进行无差错的数据传输”这一目标?

通过差错控制和流量控制来实现无差错的数据传输。
对于物理层提交的数据链路层会封装成帧,然后采用CRC循环校验码等方式对帧进行编码来实现差错控制,确保链路层点对点收到数据的正确性。然后还将使用后退N帧协议或者选择重传协议来进行流量控制,确保传输的正确性。在这些协议实现的传输过程中还会使用确认机制(ack)和超时重传两种机制来保证可靠传输,确保是无差错的数据传输!

2.上一问中“有差错的链路”指的是谁?为什么?

指的是物理层
因为物理层传输是会出现错误的,传输的错误是由噪声引起的,由于线路本身的电气特性所产生的随机噪声是信道固有的,随机存在的,以及外界特定的原因会造成冲击噪声。这些是产生差错的主要原因,所以链路层的任务就是创造一个逻辑上无差错的链路,其实就是进行检错,保证数据正确性

任务2:

两台主机之间的数据链路层采用停等协议传输数据,数据传输速率为10 kbps(kb/s 1s=1000ms),单向传播时延为 250ms,双方使用的数据帧长度是1000bit(其中帧序号占用5bit),接收方单独发送确认帧(假设确认帧只需要序号)与使用捎带的方式进行确认,在信道利用率上有区别吗?为什么?

这道题挺困扰的,不太会做,只能尽力写一个答案,希望老师可以讲解!

在这里插入图片描述

捎带:就是接受方不单独发送一个ack确认,而是当发送方再发送下一个帧时,携带接受方的确认到发送方( 一个TCP连接允许数据在任何一个方向流动 当分组从 A 发往B 时,可携带对 B 发来数据的确认)

传播时延: 路上的时间
发送时延:数据帧/传输速率(有效时间)
应答时延:确认帧/传输速率
信道利用率=发送时延/(发送时延+2*传播时延+应答时延)

第一个疑问:那就是停等协议传输可以使用捎带吗,如果没有收到确认帧时不会进行下一个数据帧传输的,那么此时就无法使用捎带方式确认,所以题目也就无法成立!

第二个问题:假设可以使用捎带方式进行确认,即发完一个数据帧后,发送下一个数据帧时捎带确认,携带接受方的确认到发送方。那么此时的信道利用率肯定是有提高的,总时间肯定是下降的,因为应答时延没有了,算在了下一个的发送时延里,而发送时延没有变化,所以信道利用率提高了。此时这样的模式不就变成了后退N帧(GBN)协议了吗?

任务3:

在使用滑动窗口协议通信时,数据帧带有序号以标识不同的帧,这些带序号的帧需要同时携带对方的地址信息吗?为什么?

不用吧,因为接受方只按顺序接受帧,所以他们之间的序号应该是一一对应的吧,所以就不需要再带地址信息进行标识了。

;