数据链路层和传输层的疑惑解答

1)停止等待、后退N帧和滑动窗口

  【1】这三种协议是做什么的?

    流量控制:接收方控制发送方,发送方的速率不要太快,让接收方来得及接收。

    差错控制:帧错误、帧丢失、帧重复。


2)数据链路层的差错控制和运输层的可靠传输有什么区别? 
【1】从“干什么”的角度来讲 
数据链路层负责结点之间链路的事情。把有比特查错的物理信道变成无比特差错的数据链路。 
运输层负责应用进程之间端到端的事情。就两项任务:差错管理+业务复用。 
【2】从“服务”的角度来讲 
当然是为上一层服务啦! 
数据链路层将源机网络层来的数据可靠地传输到相邻结点的目标机网络层。 
传输层为应用进程提供可靠的,无误的数据传输,屏蔽下面网络核心的细节。 
【3】从“怎么干”的角度来讲 
数据链路层主要靠三大法宝: 
封装成帧:“信封”。 
透明传输:帧中可以有控制字。 
差错检测:FCS,CRC循环冗余检验。 
运输层(实际上就是TCP协议)主要靠: 
面向连接的服务。 
停止等待、后退N帧、滑动窗口。 
【4】从“干到什么程度”来讲 
{1}数据链路层可以做到:“无比特错误” 
“无差错接收”:“凡是接收端数据链路层接受的帧均无差错”. 
不保证“可靠传输”:只考虑“帧错误”,不考虑“帧丢失”,“帧重复”和“帧失序”。 
(注意1)现在的数据链路层协议: 
对通信质量良好的有线信道: 
不采用确认重传 
对通信质量不好的无线信道: 
确认重传 
(注意2)PPP协议,以太网协议没有确认重传机制。
{2}TCP协议是可靠传输的最后一道屏障,必须真正做到“可靠传输”。 
“可靠传输”:帧错误、帧丢失、帧重复、帧失序。 
IP是“尽最大努力交付”,不可靠传输,所以TCP要采用确认重传机制,就是1)里讲的停止等待、后退N帧和滑动窗口。

原文:https://blog.csdn.net/u013657981/article/details/46481295 
版权声明:本文为博主原创文章,转载请附上博文链接!

猜你喜欢

转载自blog.csdn.net/qq_37391017/article/details/86603371