TCP/IP 五层协议栈

一、应用层

二、传输层

2.1 TCP

  • TCP 头部总长度(含固定字段 + 选项字段),值为20 ~ 60
2.1.1 头部固定字段
  • TCP 固定头部共 10 个字段,占 20 字节
  • 源端口(2字节):0 ~ 2字节
  • 目的端口(2字节):2 ~ 4字节
  • 序列号(4字节):4 ~ 8字节
  • 确认号(4字节):8 ~ 12字节
  • 数据偏移(4比特):也叫 "头部长度",单位为 "4 字节",标识 TCP 头部总长度(含固定字段 + 选项字段)
  • 标志位(6比特):URG,ACK,PSH,RST,SYN,FIN
  • 窗口大小(2字节):标识接收方当前的 "接收缓冲区剩余容量"(单位:字节),用于 TCP 流量控制
2.1.2 头部选项字段
  • 需 4 字节对齐(不足时用 0 填充)
  • 最大分段大小(Maximum Segment Size)(4字节):类型(1)+ 长度(1,固定为 4)+ MSS 值(2),类型为2,值不含 TCP/IP 头部,,仅在 SYN 报文(3 次握手)中携带
  • 窗口缩放选项(Window Scale)(4字节):类型(1)+ 长度(1,固定为 4)+ 缩放因子(2,0~14),类型为3,仅在 SYN 报文协商,连接建立后生效
  • 时间戳选项(Timestamp Option)(10字节):类型(1)+ 长度(1,固定为 10)+ 发送方时间戳(4)+ 回显时间戳(4),类型为8

三、网络层

3.1 IPV4

  • IPv4 头部采用 "固定头部 + 可选字段" 结构,固定部分 20 字节,可选字段 0~40 字节(需 4 字节对齐),总长度最大 60 字节
  • 版本(0.5字节):0 ~ 0.5字节,值为4或者6
  • 头部长度(0.5字节):0.5 ~ 1字节, 单位为 "4 字节",值为20 ~ 60
  • 总长度(2字节):2 ~ 4字节
  • 协议(1字节):9 ~ 10字节,可选值(1-ICMP,6-TCP,17-UDP,41-IPv6-in-IPv4,50-ESP,51-AH)
  • 源IP地址(4字节):12 ~ 16字节
  • 目的IP地址(4字节):16 ~ 20字节

四、数据链路层

4.1 以太网

  • MTU(Maximum Transmission Unit,最大传输单元):单次可传输的最大帧载荷长度(即数据部分的最大字节数,不含链路层头部和尾部),直接决定了上层协议(IP、TCP/UDP)数据包的最大尺寸
  • 若MTU=1500 字节(载荷部分),那么以太网帧总长度为1518=14(头部)+1500(MTU)+4(尾部)
  • MSS = 路径 MTU - IP 头部总长度(含选项) - TCP 头部总长度(含选项)
  • MSS 设计的初衷是 "让 TCP 段 + IP 头部的总长度 ≤ MTU",即使启用选项,也需通过 MSS 协商确保最终 IP 数据包不超过 MTU(避免 IPv4 分片,提升传输效率)
相关推荐
上海云盾-高防顾问6 小时前
中小企业低成本渗透测试实操指南
网络协议·web安全·网络安全
猿小路6 小时前
抓包工具-Wireshark
网络·测试工具·wireshark
Rabbit_QL6 小时前
【网络设置】Docker 自定义网络深度解析:从踩坑到工程实践
网络·docker·容器
阿波罗尼亚7 小时前
Tcp SSE Utils
android·java·tcp/ip
浩子智控8 小时前
电子产品三防设计
网络·系统安全
我要升天!8 小时前
Linux中《网络基础》
linux·运维·网络
安科瑞刘鸿鹏179 小时前
工业自动化系统中抗晃电保护的协同控制研究
运维·网络·嵌入式硬件·物联网
ZStack开发者社区9 小时前
ZStack Cloud 5.5.0正式发布
运维·服务器·网络
2501_945837439 小时前
云服务器的防护体系构建之道
网络·安全
徐*红9 小时前
物理层-传输介质:双绞线,同轴电缆,光纤,无线传输介质
网络