传输控制协议(TCP)

server/2024/11/30 5:34:16/

传输控制协议是Internet一个重要的传输层协议。TCP提供面向连接、可靠、有序、字节流传输服务。

1、TCP报文段结构

注:TCP默认采用累积确认机制。

2、三次握手、四次挥手

(1)当客户向服务器发送完最后一个数据段后,发送一个FIN段(FIN=1,seq=u),请求断开客户到服务器的连接,其状态由ESTABLISHED进入FIN_WAIT_1,在这一状态下,只能接收服务器发送过来的数据,而不再发送数据。 

(2)服务器收到客户的FIN段后,向客户发送一个ACK段(ACK=1,seq=V,ack_seq=u+1),服务器状态由ESTABLISHED进入CLOSE_WAIT,在这一状态下,服务器仍然可以发送数据,但不再接收数据。

(3)当客户收到ACK段后,其状态由FIN _WAIT_1进入FIN_WAIT_2,仍然可以接收来自服务器的数据,此时的TCP连接已经关闭了客户向服务器方向的数据传输。 

(4)当服务器向客户发送完最后一个数据段后,服务器向客户发送FIN段(FIN=1,ACK=1,seq=w,ack_seq=u+1),服务器状态则由CLOSE_WAIT进入LAST_ACK,此时服务器也不再发送数据。 

(5)当客户收到服务器发送的FIN段后,向服务器发送ACK段(ACK=1,seq=u+1,ack_seq=w+1),其状态由 FIN_WAIT_2进入TIME_WAIT,等待2MSL时间,然后进入CLOSED状态,最终关闭连接。 

(6)服务器在收到最后一次ACK段后,状态由LAST_ACK进入CLOSED,最终关闭连接。

3、TCP拥塞控制

在慢启动阶段,每收到1个确认段,拥塞窗口增加1个MSS。通常RTT相对较大,在1个RTT时间之内可以将窗口允许的所有报文段全部发送出去,并且当忽略报文段传输时延时,在慢启动阶段,每经过1个RTT,拥塞窗口增长1倍。在拥塞避免阶段,将拥塞窗口内的所有报文段全部发送,且全部得到确认后,拥塞窗口才增加1个MSS。

注:慢启动阶段(收到一个ACK,拥塞窗口增加1MSS(假设同一个RTT内连续发送的分组都能发送完,且忽略不同分组ACK时延)):拥塞窗口初始值为1MSS,

经过1个RTT,拥塞窗口变为2MSS(1MSS+1MSS)

经过2个RTT,拥塞窗口变为4MSS(2MSS+2MSS)

经过3个RTT,拥塞窗口变为8MSS(4MSS+4MSS)

例1:

例2:


http://www.ppmy.cn/server/146083.html

相关文章

国产FPGA+DSP 双FMC 6U VPX处理板

高性能国产化信号处理平台采用6U VPX架构,双FMC接口国产V7 FPGA 国产多核 DSP 的硬件架构,可以完成一体化电子系统、有源相控阵雷达、电子侦察、MIMO 通信、声呐等领域的高速实时信号处理。 信号处理平台的组成框图如图 1 所示, DSP处理器采…

【docker】8. 镜像仓库实战

综合实战一:搭建一个 nginx 服务 Web 服务器 Web 服务器,一般是指“网站服务器”,是指驻留于互联网上某种类型计算机的程序。Web 服务器可以向 Web 浏览器等客户端提供文档,也可以放置网站文件,让全世界浏览&#xf…

哪些行业对六西格玛管理方法的需求较大?

六西格玛作为一种追求极致质量和流程优化的管理哲学,自诞生以来,便在多个行业中展现出了巨大的应用价值。该方法通过定义、测量、分析、改进和控制(DMAIC)五个阶段,帮助企业实现流程的持续改进,提高产品质量…

Hive 索引 和 Hive Metastore 的三种配置方式

Hive 索引 和 Hive Metastore 的三种配置方式 Hive 索引(Index) Hive 索引是一种提高查询性能的技术,通过创建索引来加速对特定列的查询。类似于传统关系数据库的索引,Hive 索引能够在查询中快速定位数据,而不必扫描…

【Spring源码核心篇-04】spring中refresh刷新机制的流程和实现

Spring源码核心篇整体栏目 内容链接地址【一】Spring的bean的生命周期https://zhenghuisheng.blog.csdn.net/article/details/143441012【二】深入理解spring的依赖注入和属性填充https://zhenghuisheng.blog.csdn.net/article/details/143854482【三】精通spring的aop的底层原…

dmdba用户资源限制ulimit -a 部分配置未生效

dmdba用户资源限制ulimit -a 部分配置未生效 1 环境介绍2 数据库实例日志报错2.1 mpp01 实例日志报错2.2 mpp02 实例日志报错 3 mpp02 服务器资源限制情况4 关闭SELinux 问题解决4.1 临时关闭 SELinux4.2 永久关闭 SELinux 5 达梦数据库学习使用列表 1 环境介绍 Cpu x86 Os Ce…

【经典论文阅读】Transformer(多头注意力 编码器-解码器)

Transformer attention is all you need 摘要 完全舍弃循环 recurrence 和卷积 convolutions 只依赖于attention mechanisms 【1】Introduction 完全通过注意力机制,draw global dependencies between input and output 【2】Background 1:self-…

【docker集群应用】Docker数据管理与镜像创建

文章目录 Docker数据管理数据卷(Data Volumes)示例 数据卷容器(Data Volume Containers)示例 端口映射容器互联 Docker镜像的创建方法基于现有镜像创建1.首先启动一个镜像,在容器里做修改2.然后将修改后的容器提交为新…