tcp/ip二

image

 

image

 

image

 

image

image

image

 

image

 

image

 

image

 

image

 

image

 

image

image

image

 注意程序释放了端口不一定释放了端口是协议栈释放

image

image

 

image

 

image

 

image

 

 

image

 

image

 

image

 

image

 

以下是关于 IP 报文TCP 报文详细解释文档,包括它们各自的结构、字段说明及长度。此文档不包含对比,而是分别讲解每种报文的格式与用途,并附有简化结构图。


📄 IP 报文 和 TCP 报文结构与字段详解文档


🧱 一、IPv4 报文(IP Packet)详解

📌 功能说明:

IP 报文是网络层的核心数据结构,用于将数据从一个主机传送到另一个主机。它负责寻址与路由转发,但不提供可靠性。


🧩 报文结构图(IPv4 Header)

0                   1                   2                   3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|Version|  IHL  |Type of Service|          Total Length         |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|         Identification        |Flags|     Fragment Offset     |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|  Time to Live |   Protocol    |       Header Checksum         |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                     Source IP Address                        |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                   Destination IP Address                     |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                Options (if any, variable)                    |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

📦 IP 报文字段详解

字段名长度(bit)说明
Version 4 IP 协议版本(IPv4 为 4)
IHL 4 IP 头部长度(以 4 字节为单位),最小值 5(即 20 字节)
Type of Service 8 服务类型,控制优先级、延迟、吞吐量等
Total Length 16 IP 报文总长度(包括头部和数据),单位为字节
Identification 16 唯一标识,用于分片重组
Flags 3 标志位:如 DF(不分片)、MF(更多分片)
Fragment Offset 13 分片偏移,单位为 8 字节
Time to Live (TTL) 8 生存时间,防止环路,经过每个路由器减 1
Protocol 8 上层协议编号(如 TCP 为 6,UDP 为 17)
Header Checksum 16 检查 IP 头部是否损坏
Source IP Address 32 源 IP 地址
Destination IP Address 32 目标 IP 地址
Options(可选) 可变 特殊控制用途,如安全级别、时间戳等
填充(Padding) 可变 使头部总长度为 4 字节倍数

📐 IPv4 报文头最小为 20 字节,最大 60 字节(包含 options)


🧱 二、TCP 报文(TCP Segment)详解

📌 功能说明:

TCP 报文是传输层的数据结构,提供可靠、面向连接、按序传输的数据通道,支持流量控制、重传机制和拥塞控制。


🧩 报文结构图(TCP Header)

0                   1                   2                   3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|         Source Port           |      Destination Port         |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                      Sequence Number                          |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                   Acknowledgment Number                       |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Data |Rese-|U|A|P|R|S|F|                                       |
|Offset|rved |R|C|S|S|Y|I|        Window Size                   |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|       Checksum                |      Urgent Pointer           |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                Options (if any, variable)                     |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                         Data (payload)                        |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

📦 TCP 报文字段详解

字段名长度(bit)说明
Source Port 16 源端口号
Destination Port 16 目标端口号
Sequence Number 32 本段数据第一个字节的序号
Acknowledgment Number 32 期望接收的下一个序列号
Data Offset(Header Length) 4 TCP 头部长度(单位为 4 字节)
Reserved 3 保留字段
Flags(控制位) 9 如 SYN, ACK, FIN, RST 等,见下表
Window Size 16 接收方缓冲区剩余空间(流量控制)
Checksum 16 校验整个 TCP 段(包括伪首部)
Urgent Pointer 16 如果 URG 位为 1,表示紧急数据的结束偏移
Options(可选) 可变 例如最大报文段、时间戳、窗口扩大等
Data(Payload) 可变 实际传输的数据内容

🧿 TCP 控制位(Flags)说明

名称简写含义
URG 紧急 紧急指针字段有效
ACK 确认 确认号有效
PSH 推送 请求立即传送给接收应用
RST 重置 强制断开连接
SYN 同步 建立连接(握手)
FIN 结束 关闭连接

📏 三、长度总结

报文类型最小长度最大长度(含可选字段)
IPv4 Header 20 字节 60 字节
TCP Header 20 字节 60 字节(含 options)
TCP Payload 0+ 字节 取决于 MTU、窗口大小

✅ 四、常见组合(抓包可见)

场景IP 报文TCP 报文
建立连接 Protocol = 6 Flags: SYN, ACK
传输数据 Protocol = 6 Flags: PSH, ACK
正常关闭连接 Protocol = 6 Flags: FIN, ACK
异常断开连接 Protocol = 6 Flags: RST

📘 五、总结

  • IP 报文负责“主机到主机”的路由传输,定位的是 IP 地址。

  • TCP 报文负责“端口到端口”的可靠通信,处理的是连接、确认、重传等控制。

  • TCP 报文是被 IP 报文封装发送的,是一种分层封装的体现。


+-----------------------------+
| 以太网帧(MAC 层) |
| +------------------------+ |
| | IP 报文(L3) | |
| | +--------------------+| |
| | | TCP 报文(L4) || |
| | | +--------------+ || |
| | | | 应用数据 | || |
| | | +--------------+ || |
| | +--------------------+ |
| +------------------------+ |
+-----------------------------+

image

 

image

 

image

 

image

 

image

 

image

 

image

 

image

image

 

image

 

image

 

image

 

image

 

image

 

image

 重传

image

 

posted on 2025-07-29 18:28  吃草的青蛙  阅读(43)  评论(0)    收藏  举报

导航