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 分片,提升传输效率)
相关推荐
IpdataCloud7 分钟前
批量查IP的API接口怎么选?免费API配额瓶颈与离线库本地批量方案实测
网络·网络协议·tcp/ip
ITyunwei09872 小时前
售后夜间值守怎么落地:从告警到交接的工单系统配置笔记
网络
Smoothcloud润云2 小时前
GPU远程纳管安全吗?最小权限、网络边界与日志审计实战
服务器·网络·人工智能·安全·gpu算力·gpu
ai大模型-探索者2 小时前
Function Call与MCP(区别、联系与实战)
java·服务器·网络
木子欢儿3 小时前
Debian 13 + vsftpd 搭建FTP服务
linux·服务器·前端·网络·debian
达~熊迪3 小时前
IP 分配前核查:把在线状态和使用登记一起看
服务器·网络·tcp/ip
西索斯coding4 小时前
Qwen3-Max 与 Qwen-Plus:60 个真实修复任务评测方案
大数据·网络·算法·ai
瓶瓶持续学习中4 小时前
数字孪生与空间智能技术架构解析:五类厂商路线及选型方法
大数据·网络·架构
天启HTTP5 小时前
动态IP是如何自动切换的?从分配机制到轮换逻辑
网络
一只旭宝5 小时前
【网络精讲6】muduo 的组件与接口:可视化了解muduo库
网络·数据库