可靠传输原理

本文介绍了TCP如何在不可靠的IP层上实现可靠传输,从最简单的rdt1.0到处理比特差错的rdt2.0、rdt2.1、rdt2.2,再到解决丢包问题的rdt3.0。讨论了回退N步(GBN)和选择重传(SR)两种滑动窗口协议,以提高网络效率。
摘要由CSDN通过智能技术生成

TCP是在不可靠的的端到端网络协议(IP)实现的可靠的数据传输协议,换句话说就是IP层不能保证数据到接受方一定是有序,无丢失的,但是在上层的TCP需要去用一些机制保证下层过来的数据是有序无丢失的,更准确的说是TCP也不能使数据是不丢失有序的,但是他们的机制可以使这些丢失的数据,无序的数据 能够有序并且不丢失的到达目的地~~~

所以在理解TCP的可靠传输机制之前先思考几个问题~~
1、各种可靠机制是在什么样的情况下需要的,解决了什么样的问题?
2、从0到1构建一个可靠的传输协议

构造可靠传输协议

1、在一个可靠的信道上传输数据rdt1.0

因为是在一个可靠的信道上传输,所以在接受方和发送的状态机中,没有过多的处理,发送方将数据封包然后发送给接受方,接受方等到数据来后解包就继续向上传递数据,而且有了可靠的信道,接受方就不需要提供任何反馈,因为发送方肯定认为数据会无误的到达接受方
在这里插入图片描述

2、具有比特差错的可靠传输 rdt 2

rdt2.0

这里可以举一个小例子,比如两个人通话,当信号出现差错时,说话的一方会问一遍你刚刚是否听清楚了,那么你就需要回复,听清楚了或者没听清你在讲一遍,那么说话的一方就会将刚刚的话复述一遍(自动重传机制)
这个例子中出现了三个机制来处理(听不清的情况)

  • 差错检测:以接受方检测到合适出现了比特差错在UDP中使用了检验和(需要额外的比特)
  • 接受方反馈:当接受方检测到错误的时候需要返回信息给发送方如肯定确认(ACK)和否认确认(NAK)
  • 重传:接受方接受到有差错的分组时需要重传有差错的分组(不是所有分组)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值