网络层(Network Layer)是 OSI 参考模型的第三层,主要负责端到端的数据包路由与寻址,确保数据在复杂网络中从源到目标的正确传输。以下是网络层的核心协议及其功能:
1. IP 协议(互联网协议)
核心功能:
- 寻址:通过 IP 地址(如
192.168.1.1)标识网络中的设备。 - 路由:根据路由表选择最佳路径传输数据包。
- 分片与重组:将大数据包分割为适合物理链路传输的片段,并在接收端重组。
- 版本:
- IPv4:目前主流协议,32 位地址(如
192.168.1.1),地址空间有限。 - IPv6:128 位地址(如
2001:0db8:85a3::8a2e:0370:7334),解决地址枯竭问题,支持自动配置和更高安全性。
- IPv4:目前主流协议,32 位地址(如
数据包格式:
| 版本(4) | 首部长度(4) | 优先级与服务器类型(8) | 总长度(16) |
| 标识符(16) | 标志(3) | 段偏移量(13) | |
| TLL(8) | 协议号(8) | 首部校验和(16) | |
|
源地址(32) | |||
| 目标地址(32) | |||
|
可选项 | |||
| 数据 | |||
版本(Version)
- 长度:4 位( 0100,0110)
- 说明:表示 IP 协议版本(IPv4 为 4,IPv6 为 6)。
首部长度(Header Length)
- 长度:4 位(0101~1111)
- 说明:IP 头部的长度(以 4 字节为单位),范围为 5~15(即 20~60 字节)。
服务类型(Type of Service, TOS)
- 长度:8 位
- 说明:
- 前 3 位:优先级(已废弃)。
- 后 4 位:服务类型(最小延迟、最大吞吐量、最高可靠性等)。
- 最后 1 位:保留未用。
总长度(Total Length)
- 长度:16 位
- 说明:整个 IP 数据包的总字节数(头部 + 数据),最大值为 65535 字节。
标识(Identification)
- 长度:16 位
- 说明:用于分片重组,同一数据包的分片使用相同标识。
标志(Flags)
- 长度:3 位
- 说明:
- 第 1 位:保留未用。
- 第 2 位:是否允许分片(DF=1 表示不分片)。
- 第 3 位:是否为最后一个分片(MF=1 表示后续还有分片)。
片偏移(Fragment Offset)
- 长度:13 位
- 说明:分片在原始数据包中的相对位置(以 8 字节为单位),用于重组。
生存时间(Time to Live, TTL)
- 长度:8 位
- 说明:数据包在网络中的最大跳数(每经过一个路由器减 1),防止无限循环。
协议(Protocol)
- 长度:8 位
- 说明:指示上层协议类型(如 TCP=6,UDP=17,ICMP=1,IGMP=2)。
首部校验和(Header Checksum)
- 长度:16 位
- 说明:仅校验 IP 头部数据的完整性(不包含数据部分)。
源地址(Source Address)
- 长度:32 位
- 说明:发送方的 IP地址。
目的地址(Destination Address)
- 长度:32 位
- 说明:接收方的 IP地址。
选项(Options)
- 长度:可变(0~40 字节)
- 说明:用于特殊功能(如记录路由、时间戳、安全选项等),需配合填充字段使总长度为 4 字节的整数倍。
填充(Padding)
- 长度:可变
- 说明:补 0,使 IP 头部总长度为 4 字节的整数倍。
应用场景:所有基于 IP 的网络通信(如互联网、企业网)。
2. ICMP 协议(互联网控制报文协议)
核心功能:
- 错误报告:当 IP 数据包无法到达目的地或网络出现问题时,ICMP 会发送错误消息(如 “目的不可达”“超时”)。
- 诊断工具:支持 Ping(检测主机可达性)和 Traceroute(跟踪路由路径)等工具。
- 网络信息查询:允许设备查询其他设备的状态(如地址掩码请求、时间戳请求)。
报文类型:
ICMP 报文分为错误报告消息和查询消息两大类:
- 错误报告消息(类型值 0-127):
- 目的不可达(类型 3):数据包无法到达目的地(如网络不可达、端口不可达)。
- 超时(类型 11):数据包生存时间(TTL)耗尽或分片重组超时。
- 重定向(类型 5):通知主机更优的路由路径。
- 查询消息(类型值 128-255):
- 回显请求 / 应答(类型 8/0):Ping 命令的基础。
- 地址掩码请求 / 应答(类型 17/18):获取子网掩码。
- 时间戳请求 / 应答(类型 13/14):同步网络时间。
报文格式
ICMP 报文封装在 IP 数据包中,其结构包含:
- 类型(1 字节):标识消息类型(如错误报告或查询)。
- 代码(1 字节):进一步细分类型(如 “目的不可达” 的代码 0 表示网络不可达,代码 3 表示端口不可达)。
- 校验和(2 字节):验证报文完整性。
- 数据(可变长度):包含错误原因或诊断信息。
特点
- 无连接:直接通过 IP 协议发送,无需建立连接。
- 不可靠:不保证消息一定被接收(如错误消息本身可能丢失)。
- 辅助性:不传输用户数据,而是协助 IP 协议优化网络性能。
典型应用场景
- Ping:通过发送 ICMP 回显请求(类型 8)和接收应答(类型 0),测试主机是否可达。
- Traceroute:利用 ICMP 超时消息(类型 11)和目的不可达消息(类型 3),跟踪数据包的路由路径。
- 网络监控:检测网络拥塞、配置错误或设备故障。
注意事项
- 防火墙限制:某些防火墙可能禁用 ICMP,导致 Ping 或 Traceroute 失败。
3. ARP 协议(地址解析协议)
- 功能:
- 将 IP 地址解析为物理层的 MAC 地址(如将
192.168.1.1映射到00:1A:2B:3C:4D:5E)。 - 工作原理:
- 发送方广播 ARP 请求(“谁有 IP X?”)。
- 目标主机回复 ARP 应答(“我是 IP X,MAC 是 Y”)。
- 应用场景:局域网中数据链路层封装帧时需要 MAC 地址。
- 将 IP 地址解析为物理层的 MAC 地址(如将
4. 路由协议
- 分类:
- 静态路由:手动配置路由表,适合小型网络。
- 动态路由:自动学习并更新路由表,适合复杂网络。
- 动态路由协议:
- RIP(路由信息协议):基于距离向量算法,简单但收敛慢,适合小型网络。
- OSPF(开放最短路径优先):基于链路状态算法,收敛快,支持大规模网络。
- BGP(边界网关协议):用于不同自治系统(AS)间的路由,是互联网核心路由协议。
5. 其他协议
- IGMP(互联网组管理协议):管理多播组,支持一对多通信(如视频直播)。
- IPsec(IP 安全协议):提供加密、认证和完整性保护,常用于 VPN。

4478

被折叠的 条评论
为什么被折叠?



