TCP可靠传输

关于可靠

可靠就是保证接收方进程从缓存区里面读取出来的字节流和发送方发送的字节流是一样的。
在这里插入图片描述

TCP实现可靠的传输机制

在这里插入图片描述

校验和UDP一样 都是增加一个伪首部 通过二进制饭吗的求和方法来判断有没有发生错误

序号

序号就是报文段的第一个字节的序号 也就是ack
一个字节占一个序号

确认(累计确认)

发送方要一直保持这个发送的报文段 知道接受方确认收到完整的确认报文段才可以摘出

接受方接受到了报文段 会返回一个确认报文段(只是确认功能)(累计确认)
图中已经收到了第一个报文段 它期望收到的报文段是下一个报文段的第一个字节的确认号是第一个字节的序号也就是4,发送方就会删除掉321这个报文段
在这里插入图片描述

如果456报文段因为一些愿意没有发送过去 反而是78先发送过去了
虽然接受方接受到了78的报文段 但是因为456还没到
接受方返回的确认报文段 首部部分 确认号字段还是第二个报文段的第一个字节的序号4
虽然78会接受 但是接受方会一直向发送方说我需要你的456报文段 尽快发送过来
在这里插入图片描述

重传

确认重传不分家

TCP的发送方在规定的时间(重传时间)内没有收到确认就要重传已经发送的报文段。 超时重传

重传时间
TCP采用自适应算法 动态改变重传时间 RTTS(加权平均往返时间)

但在有的时候,等待的时间太长,这时候就会有一个方法能够提前知道接受方没有接受到传输数据

也就是

冗余ACK(冗余确认) 3次确认

每当比期望序号大的失序报文段到大时,发送一个冗余ACK 指明下一个期待字节的序号
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值