营销型网站一般有哪些内容,网站空白模板下载,微信公众平台登录页面,广州信息流推广公司排名TCP协议原理 TCP协议是对数据传输提供的一个管控机制#xff0c;主要体现在可靠和效率两个方面#xff0c;即在保证数据可靠传输的情况下尽可能的提高效率 可靠传输机制 确认应答机制 向对方发送一个数据报#xff0c;对方要返回一个确认应答的数据报
实现的方式#x…TCP协议原理 TCP协议是对数据传输提供的一个管控机制主要体现在可靠和效率两个方面即在保证数据可靠传输的情况下尽可能的提高效率 可靠传输机制 确认应答机制 向对方发送一个数据报对方要返回一个确认应答的数据报
实现的方式序号和确认序号保证了响应应答针对的是哪一条消息的应答
说明
发送的数据是基于TCP报头中的“32位序号”来保存的一个字节对应一个序号 确认应答的数据是基于TCP报头中的“32位确认序号”来保存的ack确认信息标志位置为1返回某个序列号说明某个序列号之前的数据全部接收到 有了确认应答它才可以继续发送后边的数据 超时重传机制 发送的数据报可能因为网络拥堵等原因超过一定时间还没有收到确认应答的数据报就需要重新发送 。如果没有收到确认应答可能是因为发送数据时候就已经发生了丢包也可能是因为ACK丢包了。这种情况主机B可能会接收到许多重复的数据TCP内部有去重操作接收的数据会放在操作系统内核的接收缓冲区中接收缓冲区可以是一个内存空间视为是一个阻塞队列对于收到的数据TCP会根据序号检查这个数据是不是在缓冲区中已经存在如果存在则丢弃如果不存在则放进去
超时时间如何确定
如果超时时间设置的太长会导致重传的效率 如果超时时间设置的太短会导致频繁发送重复的数据
因此TCP协议为了保证在任何环境中都能有较高性能的通信系统会动态的计算这个超时时间
超时以500ms为一个单位每次判定超时重发的时间都是500ms的整数倍重发一次仍然不能收到应答等待2*500ms后再进行重传仍然等不到应答等待4*500ms进行重传以此类推以指数形式增长累积到一定重传次数TCP协议认为网络或者对端主机出现异常强制关闭连接 连接管理机制三次握手四次挥手
我之前的文章有详细的讲解可以看前面的文章。 流量控制 接收端主机处理数据的速度有限如果发送端发送数据太快导致接收端缓冲区被填满这时发送端继续发送数据的话就会造成丢包继而引起丢包重传等一些列连锁反应因此TCP协议根据接收端接收数据的能力来决定发送端发送数据的速度这个机制就叫作流量控制 接收端将自己剩余缓冲区大小存入TCP头部中的“16位窗口大小”字段 通过ACK通知发送端窗口大小越大说明网络吞吐量越高发送端根据接收到这个窗口的大小控制自己的发送速度如果接收缓冲区满了就会将窗口设置为0这时发送端不在发送数据而是定期的发送一个窗口探测报文只是为了知道窗口的大小让接收端将窗口大小告诉发送端 拥塞控制 刚开始发送数据时由于中间结点的网络情况不清楚如果贸然发送大量数据就会造成大量丢包所以TCP协议引入慢启动的方式先发少量数据探探路再决定按照多大速度发送数据 此处引入拥塞窗口刚开始时拥塞窗口设置为1每收到一个ACK时拥塞窗口加1每次发送数据的时候拥塞窗口和流量窗口的较小的值作为实际发送的窗口即滑动窗口的大小 注意上述增长方式是指数级别的指数式增长可以快速接近丢包的极限 拥塞窗口变化的方式
为了不增长那么快引入一个慢启动的阈值当拥塞窗口的大小超过了这个阈值不在按照指数方式增长而是按照线性方式增长如下图所示
开始时慢启动的阈值为窗口的最大值线性增长到一定程度时会发生丢包 网络拥塞时拥塞窗口置1慢启动阈值变为拥塞窗口/2重新开始增长。 博客参考【计算机网络】TCP协议详解-CSDN博客