TCP提供可靠性方式

1,  应用数据被分割成TCP认为最适合发送的数据块,UDP则对应用程序产生的数据报长度保持不变。

TCP中最大报文段长度MSS,表示TCP传往另一端的最大块数据的长度。双方可以协商MSS,但是不能完全避免分片,因为中间某个路由器MTU更小。

2,  TCP发送一个段后,它启动一个定时器,等待目的端确认收到这个报文段,如果不能收到确认,将重发这个报文段。也就是自适应的超时及重传策略。

3,  TCP收到发自另一端的数据,它将发送一个确认,这个确认不是立即发送,而是推迟几分之一秒。

这样做的主要目的是将ACK和下一个数据一起发送,省去不必要的数据传输。

4,  TCP保持首部和数据的校验和,如果校验和不对,则丢弃不确认,UDP则不强制使用,不过一般也会有校验和。

5,  TCP使用IP作为传输,那么可能会乱序,例如a和b报文,a先发出,但是可能b先到达,TCP会对收到的数据进行重新排序,然后交给用户程序。

6,  同样也会丢弃重复的数据。

7,  TCP同时提供流控功能。UDP没有流控,导致数据发送过快时会丢包。滑动窗口。


其他TCP重点概念

1,TIME_WAIT状态,让TCP再次发送最后的ACK防止ACK丢失。同时在这个期间内,这个连接不能再被使用。

客户端执行主动关闭进入TIME_WAIT状态,服务器通常是被动关闭,不会进入TIME_WAIT状态,如果使用SO_REUSEADDR,那么同一个socket也是不允许的,就是说对端IP端口和本机IP端口和上一个socket一致,不能成功。但如果不是一致,那么是可以成功的。

2,

坚持定时器当窗口大小为0时

保活定时器没有数据发送时

3,其他

IP校验和只对IP头部进行,而不对首部后面的数据进行计算。

链路层 MTU 最大传输单元

IP 网际协议

ARP 地址解析协议 将IP地址解析为对应的物理地址,ARP代理,一台路由器开启代理就是说帮忙回应对应的arp请求。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值