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 分片,提升传输效率)
相关推荐
jun_bai3 小时前
python写的文件备份网盘程序
运维·服务器·网络
爱吃牛肉的大老虎3 小时前
网络传输架构之gRPC讲解
网络·架构
Warren983 小时前
Python自动化测试全栈面试
服务器·网络·数据库·mysql·ubuntu·面试·职场和发展
云飞云共享云桌面4 小时前
无需配置传统电脑——智能装备工厂10个SolidWorks共享一台工作站
运维·服务器·前端·网络·算法·电脑
骆驼10244 小时前
手机热点和无线路由器在 IPv6 工作模式上的区别
网络·ipv6
jenchoi4136 小时前
【2025-11-23】软件供应链安全日报:最新漏洞预警与投毒预警情报汇总
网络·数据库·安全·web安全·网络安全
独行soc7 小时前
2025年渗透测试面试题总结-258(题目+回答)
网络·python·安全·web安全·渗透测试·安全狮
AI绘画小338 小时前
网络安全(黑客技术)—2025自学手册
网络·安全·web安全·网络安全·渗透测试
s09071369 小时前
ZYNQ DMA to UDP 数据传输系统设计文档
网络协议·fpga开发·udp
恒创科技HK10 小时前
香港服务器流量有限制和带宽有限制区别在哪?
运维·服务器·网络