首页
Web开发
Windows程序
编程语言
数据库
移动开发
系统相关
微信
其他好文
会员
首页
>
其他好文
> 详细
tcp的可靠性
时间:
2017-08-09 22:16:50
阅读:
142
评论:
0
收藏:
0
[点我收藏+]
标签:
请求报文
个数
过程
automatic
作用
发送
tcp
注意
协议
在理想的传输条件下是不需要tcp这类协议来保证可靠传输的,所谓理想是指:
传输过程中数据不会出错、丢失(现在的网络质量很好,这种情况多数不会出现);
不论发送端多块发送,接收端都可以接收(这是主要问题)。
但真实传输条件远不能达到理想情况,所以才需要tcp来保证可靠传输。
可靠传输的工作原理
ARQ
(automatic repeated request,自动重传请求)保证了:
请求报文段在网络传输过程中出错,接收端通过校验会将其丢弃;
确认报文在网络中延迟、丢失,发送端超时重发,但接收端会丢弃重复的的报文段;
停止等待ARQ
,发送端都需要得到接收端的确认才会发送下一个请求;
连续ARQ
,利用滑动窗口,实现了一次发送多个请求,接收端只需要对连续接收到的最大的请求进行确认即可。如下图,发送窗口大小为5,发送方发送5个报文段后,等待接收方确认,收到确认1后向前滑动,发送6。
滑动窗口和缓存的关系(以字节为单位发送、接收)
TCP流量控制
借用滑动窗口很容易实现流量控制
当发送方收到窗口为0时会启动一个计时器,计时器到期后会向接收端发送一个探测报文,接收方的响应中就会携带窗口大小。
传输效率的问题,可以使用nagle算法尽量避免小数据传输(假设数据为1b,tcp、ip头部就有40b,再加上帧结构,网络利用率会很低),当然在要求实时性的场景下,小数据也需要随时发送。
TCP拥塞控制
注意
和流量控制相区别
,流量控制的对象是某tcp连接的两个端点,而拥塞控制的对象是整个网络(通过控制网络中的端点,最终达到控制网络的目标)。
经典的拥塞控制算法有慢开始、拥塞避免、快重传、快恢复。发送方会维护一个cwnd(拥塞窗口,只是一个数值),该窗口大小变换与所采用的算法和网络拥塞状况有关,最终拥塞窗口(cwnd)大小会和接收方窗口(rwnd)大小一起作用于滑动窗口大小(
发送方滑动窗口上限=Min(cwnd, rwnd)
)。
tcp的可靠性
标签:
请求报文
个数
过程
automatic
作用
发送
tcp
注意
协议
原文地址:http://www.cnblogs.com/holoyong/p/7295655.html
踩
(
0
)
赞
(
0
)
举报
评论
一句话评论(
0
)
登录后才能评论!
分享档案
更多>
2021年07月29日 (22)
2021年07月28日 (40)
2021年07月27日 (32)
2021年07月26日 (79)
2021年07月23日 (29)
2021年07月22日 (30)
2021年07月21日 (42)
2021年07月20日 (16)
2021年07月19日 (90)
2021年07月16日 (35)
周排行
更多
分布式事务
2021-07-29
OpenStack云平台命令行登录账户
2021-07-29
getLastRowNum()与getLastCellNum()/getPhysicalNumberOfRows()与getPhysicalNumberOfCells()
2021-07-29
【K8s概念】CSI 卷克隆
2021-07-29
vue3.0使用ant-design-vue进行按需加载原来这么简单
2021-07-29
stack栈
2021-07-29
抽奖动画 - 大转盘抽奖
2021-07-29
PPT写作技巧
2021-07-29
003-核心技术-IO模型-NIO-基于NIO群聊示例
2021-07-29
Bootstrap组件2
2021-07-29
友情链接
兰亭集智
国之画
百度统计
站长统计
阿里云
chrome插件
新版天听网
关于我们
-
联系我们
-
留言反馈
© 2014
mamicode.com
版权所有 联系我们:gaon5@hotmail.com
迷上了代码!