赞
踩
传输层:负责端口与端口之间的传输
传输层的两个典型协议:UDP,TCP;
无连接,不可靠,面向数据报
UDP数据最大为65536字节=UDP协议的字段长度+应用层数据
如果超过UDP最大传输大小,需要拆包传输【数据长度: 是否拆分:1/0 拆分位置】
结论:对于超过UDP传输大小的应用层数据,需要应用层字节进行分包传输,分包传输本质上就是需要应用层程序自定制应用层协议
应用层协议当中应当满足分包/合包的要求+可靠传输
UDP适合局域网
包序列管理:客户端和服务端都需要维护一套序号,用来标识客户端/服务端数据
确认序号=上一次对端发送数据的序号+数据长度
三次握手:
四次挥手:
URG:紧急标志位
ACK:确认标志位
PSH:发送数据标志位
RST:重置连接标志位
SYN:连接发起标志位
FIN:断开连接标志位
1.在三次握手当中协商这个值,取决于连接双方较小值
2.协商最大报文长度本质:防止报文过大,在网络当中丢失数据,引发后续超时重传机制
3.MSS的值受到数据链路层MTU的影像
MTU:最大传输单元(一般在1500左右)
保证数据可靠有效的到达对端
现象:发送方发送消息需要接受方进行确认
结论:本质上是对序号的确认
当发送方发送数据的时候启动超时重传计时器,当计时的时间超过“超时重传时间”之后,还没有收到确认信号,则重传该报文
RTO=RTT(上次)i+RTT(上上次)(1-i)
i一般取0.9
在网络比较差的情况下,TCP发送数据完全不考虑网络的转发能力,则丢失的TCP数据包就会越来越糟,重传的数据包越来越多,从而网络当中的数据量越来越多,这样只会越来越糟糕
解决方法:
1.自身发送数据量
由于MSS决定了一次性传输数据的上限,所以没办法修改
确认应答机制:每一个TCP数据包都是需要确认的-后续的滑动窗口机制会打破
2.对方的接收English:对方接收缓冲区的大小
3.网络转发能力
允许窗口大小的数据(不需要等待上次数据的确认)发送到网络当中进行传输,提高数据吞吐量
滑动窗口的四个区域
注意:在已经发送等待接收区域,如果前面发送的信息没有得到确认,及时后面发送的信息已经确认,窗口也不能进行滑动
缓冲区的本质:环形队列
滑动窗口向前滑动:当收到窗口中最早发送分组数据的确认应答,则窗口向后滑动,收到中奖分组但没有收到最早分组,窗口不滑动
滑动窗口丢包问题:
结论:当多个分组中某个分组的ack丢失,可以通过后续分组的确认应答进行确认,发送方不会触发超时重传
结论:一定会触发数据重传,不过,在双方按照滑动窗口发送数据的时候,可以通过连续三次的重复确认,触发快重传。在发送方还没有触发超时重传的时候,数据以及快速重传
发送方在发送打了窗口数据被对方接收后,就收方的tcp缓冲区空间急剧减少,此时需要发送方降低发送速率(滑动窗口控制),减少发送的数据量
接收方通过窗口大小来控制发送方的发送速率
结论:接受方控制发送方的发送速率
方法:通过tcp报头当中的窗口大小来控制。窗口的大小数据即接受方的接收能力
1.每次接受方回复确认应答时,会在TCP包头当中携带窗口大小,来告知发送方自己的接收能力
2.发送方要通过接收方通告的窗口大小来调整发送窗口
延迟应答思想:接收方收到数据后,等待一会,在等待时间呃逆应用层将数据读走,这样,接收缓冲区的空间变大之后,再进行应答
1.TCP通过滑动窗口来流控,但是TCP认为这样不够:流控只是网络模型4层以上的事,TCP还应该更聪明的指定整个网络上的事
2.TCP不是一个自私的协议,当拥塞发生的时候,要做自我牺牲
基于想要探测网络转发能力的需求,TCP还维护了拥塞窗口(cwnd),是发送方维护的一个状态变量,会根据网络的拥塞程度动态变化
对于发送方而言,发送的数据大小w=min(发送窗口,拥塞窗口)
维护拥塞窗口的方式:慢启动,拥塞避免,快恢复
随着次数的增加,拥塞窗口呈现指数增长,知道拥塞窗口达到慢开始门限当到达慢开始门限时,执行拥塞避免算法
随着轮询次数的增加,拥塞窗口呈现线性增长(每次拥塞窗口大小增加1),知道发生拥塞(tcp丢包)
执行快恢复
计算新的慢开始门限(阈值)=拥塞发生时拥塞窗口的1/2
拥塞窗口大小=新的慢开始门限值
执行拥塞避免算法
1.服务器每收到一次客户的数据,就重新设置保活计时器,时间的设置通常是两个小时
2.若两个小时都没有收到客户端的数据,服务端就发送一个探测报文段(保活数据包/心跳),以后每个75秒发送一次
若连续发送10次都没有得到响应,服务端就会认为客户端出了故障,接着关闭这个连接
创建一个TCP的socket,同时在内核中创建一个发送缓冲区和一个接收缓冲区
由于缓冲区的存在,TCP程序的读和写不需要一一匹配
如何避免粘包问题?明确两个包的边界
对于UDP协议,是否存在粘包问题
[详细]
-->赞
踩
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。