传输层协议 TCP

TCP****协议

TCP 全称为 "传输控制协议(Transmission Control Protocol"). 人如其名, 要对数据的传输进行一个详细的控制;
TCP****协议段格式

4位首部长度:4位二进制表示的数字[0,15],乘以4字节,得到首部总范围[0,60]

由于头部20字节是必带的,选项是可能没有的。所以范围是[20,60]。

例如没有选项:

x*4=20-->x=5-->4位首部长度填0101

交流机制

确认应答**(ACK)**机制


确认序号=序号+1,代表(序号+1)之前的内容全收到了
问题:明明感觉报头带一个序号就行了啊?为什么协议里面是两个序号?

服务器S接收方有时为了提高效率,会进行捎带应答。就是应答的时候夹带数据。

导致这次应答既是回应又是发送。发送方要进行回应。

所以两种序号都需要用到。

ACK是接收方收到后表示确认的位段,置1后进行回应。

当然,其他位段表示其他类型。

序号的理解:

把缓冲区当成一个数组,序号就是数组的下标号经过转换后代表哪一个字节的字节号。

超时重传机制

发送方收到ACK,代表接收方收到收到数据

没有收到ACK就直接代表对方没有收到数据。

连接管理机制
在正常情况下, TCP 要经过三次握手建立连接, 四次挥手断开连接

问题:建立连接为什么要三次握手?

答:对连接先描述,再组织。连接是内核数据结构,维护需要时间和空间。所以维护连接需要成本。3次握手相比1次2次握手可以更好的应对SYN洪水。

相关推荐
YMWM_2 小时前
UDP协议详解:从原理到Python实践
网络·网络协议·udp
pengyi8710152 小时前
共享 IP 与独享 IP 怎么选?被封后升级方案避坑
网络·网络协议·tcp/ip
YuanDaima20482 小时前
Linux 进阶运维与 AI 环境实战:进程管理、网络排错与 GPU 监控
linux·运维·服务器·网络·人工智能
凯勒姆3 小时前
网工网络设备原理及配置
网络·智能路由器
上海云盾-小余4 小时前
网站恶意爬虫拦截策略:智能识别与封禁实操方案
网络·爬虫·安全·web安全
xhbh6664 小时前
网关端口映射和路由器端口转发有什么区别?配置要点全解析
运维·服务器·网络·智能路由器·端口映射·映射·无痕网关
半壶清水4 小时前
用P4 Tutorial、BMv2 和 Mininet‌解析网络第一集------模拟环境搭建
运维·服务器·网络·网络协议·tcp/ip
高翔·权衡之境5 小时前
主题10:实时性——硬实时与软实时
服务器·网络·驱动开发·信息与通信·智能硬件
BullSmall5 小时前
Promtheus和Alertmanager 之间是通过管理平面还是业务层面IP交互
网络协议·tcp/ip·平面
黄筱筱筱筱筱筱筱5 小时前
交换综合实验
网络