tcp/ip学习之10: IP协议格式
IP协议
IP(Internet Protocol,互联网协议)是 TCP/IP 协议栈中 网络层(Layer 3)的核心协议。它负责在不同网络之间传输数据包,并提供基本的路由功能。
TCP/IP 协议栈层次结构
TCP/IP 协议栈通常分为以下四个层次:
- 应用层(Application Layer)
- 功能:提供应用程序之间的通信服务。
- 常见协议:HTTP、HTTPS、FTP、SMTP、DNS、Telnet 等。
- 传输层(Transport Layer)
- 功能:提供端到端的通信服务,确保数据的可靠传输。
- 常见协议:TCP(传输控制协议)、UDP(用户数据报协议)。
- 网络层(Internet Layer)
- 功能:负责数据包的路由和转发,确保数据包能够在不同网络之间传输。
- 核心协议:IP(互联网协议)、ICMP(互联网控制消息协议)、IGMP(互联网组管理协议)等。
- 链路层(Link Layer)
- 功能:负责在物理介质上传输数据帧,提供物理层的接口。
- 常见协议:以太网(Ethernet)、Wi-Fi、PPP(点对点协议)等。
IP 协议的作用
IP 协议是网络层的核心协议,主要功能包括:
- 数据包的封装:
- IP 协议将上层协议(如 TCP 或 UDP)的数据封装成 IP 数据包(也称为 IP 数据报)。
- 每个 IP 数据包包含一个 IP 头部和数据负载。
- 路由和转发:
- IP 协议负责将数据包从源主机传输到目标主机,即使它们位于不同的网络中。
- 路由器使用 IP 地址来确定数据包的传输路径。
- 分片和重组:
- 如果数据包过大,IP 协议会将其分割成多个较小的片段(分片),并在目标主机处重新组装。
- 提供无连接服务:
- IP 协议提供无连接的服务,即它不保证数据包的可靠传输,也不维护连接状态。
- 可靠性由上层协议(如 TCP)来保证。
IP 数据包格式
IP 数据包由 IP 头部和数据负载组成。IP 头部的格式如下:
| 字段 | 长度(字节) | 说明 |
|---|---|---|
| 版本 | 4 位 | IP 协议版本(IPv4 或 IPv6) |
| 头部长度 | 4 位 | IP 头部的长度(以 32 位字为单位) |
| 服务类型 | 8 位 | 服务质量(QoS)相关参数 |
| 总长度 | 16 位 | IP 数据包的总长度(包括头部和数据) |
| 标识 | 16 位 | 用于分片和重组的标识符 |
| 标志 | 3 位 | 控制分片的标志位 |
| 片偏移 | 13 位 | 分片的偏移量 |
| 生存时间(TTL) | 8 位 | 数据包的生存时间(跳数) |
| 协议 | 8 位 | 上层协议类型(如 TCP、UDP、ICMP 等) |
| 校验和 | 16 位 | IP 头部的校验和 |
| 源 IP 地址 | 32 位 | 发送方的 IP 地址 |
| 目的 IP 地址 | 32 位 | 接收方的 IP 地址 |
| 选项(可选) | 可变 | 用于扩展功能的选项字段 |
IPv4 和 IPv6
IP 协议有两个主要版本:
- IPv4:32 位地址空间,支持约 43 亿个地址。
- IPv6:128 位地址空间,支持数量巨大的地址,解决了 IPv4 地址不足的问题。
总结
IP 协议是 TCP/IP 协议栈中网络层的核心协议,负责数据包的封装、路由和转发。它提供无连接的服务,确保数据包能够在不同网络之间传输。IP 协议是现代互联网的基础,使得全球范围内的设备能够相互通信。
在上个章节中分析ICMP协议的请求和响应时,已对IP协议作过分析,接下来不做过多的分析了。

浙公网安备 33010602011771号