当前位置: 首页 > news >正文

[传输层]TCP协议

文章目录

  • 报文格式
  • 连接管理
  • 可靠传输

面向连接的传输层协议
每一条TCP连接只能有两个端点,每一条TCP连接只能是点对点的
TCP提供可靠有序,不丢不重
TCP是面向字节流的

TCP工作模型:
在这里插入图片描述
发送方有一个缓存,缓存:
1.待发送
2.已发送但未得到确认
接收方也有一个缓存,缓存:
收到但未确认的
不按序到达的

TCP提供全双工的通信方式

报文格式

MSS:Maximum Segment Size,一个TCP报文中最大可携带多少有效数据

在这里插入图片描述
数据偏移:首部长度,4B为单位,有4位,表示TCP首部长度,所以TCP首部长度范围在20B到4*15=60B

连接管理

在这里插入图片描述

三个阶段:
连接建立-数据传送-连接释放

方式:
客服/服务器方式,主动发起连接的叫客户,被动等待连接建立的叫服务器
客户和服务器都是进程

连接建立:
三次握手
有件事不知当讲不当讲 (询问)
当讲你说吧 (确认)
好的,,巴拉巴拉 (对确认再确认)

在这里插入图片描述
ROUND1:
客户端发送连接请求报文段,无应用层数据
SYN=1,seq=x(随机)

ROUND2:
服务器端为该TCP连接分配缓存和变量,并向客户端返回确认报文段,允许连接,无应用层数据
SYN=1, ACK=1, seq=y(随机), ack=x+1

ROUND3:
客户端为该TCP连接分配缓存和变量,并向服务器返回确认的确认,并可以携带数据
SYN=0,ACK=1,seq=x+1, ack=y+1

SYN洪泛攻击

连接释放:
四次挥手
我说完了
好的那我想说巴拉巴拉
好我也说完了
好的

在这里插入图片描述
ROUND1:
FIN=1, seq=u

ROUND2:
ACK=1, seq=v, ack=u+1

经过ROUND1和ROUND2,已经单方面断开了A到B的连接,A已经不能向B发送数据了,但B还能向A发送数据

ROUND3:
FIN=1, ACK=1, seq=w(w取决于ROUND2之后服务器端又发了多少), ack=u+1

ROUND4:
客户端回一个确认报文段,再等到2MSL(最长报文段寿命)后,连接彻底关闭
ACK=1,seq=u+1,ack=w+1

但是不一定非要首先客户端去释放连接,也可以服务器首先去释放连接,但是发起连接必须要客户端去发起

ACK报文,握手3,挥手2,挥手4,还有数据传输中的确认报文(你传过来一个,我回一个确认报文),这些确认报文,都不消耗序号

可靠传输

网络层提供的是best-effort,不可靠传输,那么传输层,就要用TCP协议实现可靠传输

校验
报文格式里的校验字段

序号
序号字段

确认
确认报文段
如果由于传输速度等原因失序,那么会发送应到达的报文的确认报文,然后发送方收到以后知道失序,重传

重传
TCP的发送方如果在规定时间内没有收到确认,就要重传已发送的报文段,

重传时间,如果过短,就会导致有些报文还没到就要重传
如果过长,网络空闲又过大

自适应算法RTTs(加权平均往返时间)
冗余确认(冗余ACK)

在这里插入图片描述

相关文章:

  • Node.js 中的 URL 模块
  • 医疗系统开发架构和技术路线建议-湖南某三甲医院
  • 开源模型应用落地-qwen模型小试-Qwen3-8B-融合VLLM、MCP与Agent(七)
  • TikTok矩阵运营干货:从0到1打造爆款矩阵
  • WM_TIMER定时器消息优先级低,可能会被系统丢弃,导致定时任务无法正常执行
  • 论软件设计模式及其应用
  • 25.5.13
  • PyTorch中的nn.Embedding应用详解
  • 【架构】RUP统一软件过程:企业级软件开发的全面指南
  • 为什么hadoop不用Java的序列化?
  • ThingsBoard使用Cassandra部署时性能优化
  • React19源码系列之 API(react-dom)
  • Spring Boot配置文件
  • Spring Boot 项目中什么时候会抛出 FeignException?
  • dockerdesktop 重新安装
  • Spring Boot中HTTP连接池的配置与优化实践
  • 解决 MinIO 对象存储“AccessDenied”问题及 Docker 操作全解析
  • Kotlin 中的作用域函数
  • 配置Hadoop集群-上传文件
  • 基于Java和PostGIS的AOI面数据球面面积计算实践
  • 新剧|《藏海传》定档,《折腰》《人生若如初见》今日开播
  • 中共中央、国务院印发《生态环境保护督察工作条例》
  • 季后赛主场优势消失之谜,这事竟然要赖库里
  • 俄总统新闻秘书:普京提议谈判表明俄寻求和平解决方案意愿
  • 为何发胖?如何减肥?一个医学体重管理中心的探索启示
  • 奥园集团将召开债券持有人会议,拟调整“H20奥园2”本息兑付方案