
























网络层(Network Layer) 的主要功能是实现主机之间的逻辑寻址、路由选择和分组转发,确保数据在不同网络(如局域网、广域网)之间的传输
| 协议类别 | 核心协议 | 路由协议 | 辅助协议 | 扩展协议 |
|---|---|---|---|---|
| 功能 | 逻辑寻址、分组转发 | 路径计算与路由表维护 | 地址解析、错误控制、组播管理 | 安全、NAT、QoS等 |
| 典型协议 | IPv4/IPv6、IPSec | OSPF、BGP、RIP | ARP、ICMP、IGMP | NAT、GRE、DiffServ |
IP(Internet Protocol),是分配给连接到计算机网络的每个设备唯一标识符,用于在网络中通信。IP地址使数据包能够在网络上找到其位置,将数据从源主机路送到目的主机,跨越多个中间网络设备(路由器),屏蔽底层网络差异(如以太网、Wi-Fi、广域网)。
但IP协议有点类似渣男,秉承着不主动,不拒绝,不负责原则:
它来鹅城只做三件事:

| 字段 | 长度 | 说明 |
|---|---|---|
| 版本 | 4位 | IPv4(值为4)或IPv6(值为6) |
| 首部长度 | 4位 | 以32位字为单位,最小5(20字节),最大60字节(含可选字段) |
| 区分服务 | 8位 | 旧称TOS(服务类型),用于QoS(服务质量),如优先级、延迟、吞吐量配置 |
| 总长度 | 16位 | 数据报总字节数(首部+数据),最大65535字节 |
| 标识 | 16位 | 唯一标识同一原始数据报的分片,用于重组 |
| 标志 | 3位 | 包括“保留位”、“不分片(DF)”、“更多分片(MF)”标志 |
| 片偏移 | 13位 | 分片数据在原始数据报中的偏移量(以8字节为单位) |
| 生存时间(TTL) | 8位 | 数据报最大跳数(每经一个路由器减1,为0时丢弃,防止环路) |
| 协议 | 8位 | 上层协议类型(如TCP=6,UDP=17,ICMP=1) |
| 首部校验和 | 16位 | 仅校验IP首部,不校验数据(提高效率,可靠性由上层协议处理) |
| 源IP地址 | 32位 | 发送方IP |
| 目的IP地址 | 32位 | 接收方IP |
| 可选字段 | 0-40字节 | 用于调试、安全等(如记录路由、时间戳),较少使用 |
IPv4地址已经快枯竭了,但依旧是互联网的主流。因为还有DHCP,CIDR,NAT为它续命。
看过<三体>的小伙伴一定对647号小宇宙不陌生,路由器就是为IPv4构建了一个又一个的小宇宙,不至于枯竭。
| 特性 | IPv4 | IPv6 |
|---|---|---|
| 地址长度 | 32位(约43亿地址) | 128位(足够为每粒沙子分配地址) |
| 地址空间 | 分类严格(A/B/C类),浪费严重 | 无类别(CIDR),地址分配灵活 |
| 首部长度 | 可变(20~60字节),处理复杂 | 固定40字节,效率更高 |
| 安全性 | 依赖IPsec(可选) | 强制支持IPsec(加密与认证) |
| 移动性 | 需额外协议(如MIP) | 内置移动性支持(家乡地址) |
| 分片 | 源主机和路由器均可分片 | 仅源主机分片,路由器不处理 |
| 兼容性 | 与IPv6不直接兼容 | 支持双栈(同时运行IPv4/IPv6) |
根据作用范围,IP地址可以分为两种
根据是否可以更改
ICMP(Internet Control Message Protocol),用于IP层的错误报告和网络诊断,是一种面向无连接的协议。当IP数据无法访问目标IP,目标路由器时,会自动发送ICMP消息。
我们常用的Ping命令就是基于ICMP
数据链路层是 物理层(硬件连接)与 网络层(IP 寻址)的桥梁,负责在相邻节点之间传输数据帧,处理物理寻址、接入控制和错误检测。
数据链路层分为两个子层:
LLC层常被简化,属于被抛弃的小孩
MAC地址:Media Access Control Address,是网络设备的硬件地址,用于在局域网中标识设备。MAC工作在链路层,用于设备间通信。

| 字段 | 长度(字节) | 功能描述 |
|---|---|---|
| 前导码(Preamble) | 7 | 由 1010...10 交替的二进制位组成,用于接收端同步时钟,使物理层设备调整接收速率。 |
| 帧开始定界符(SFD) | 1 | 固定为 10101011,标识MAC帧的开始,通知接收端后续为有效数据帧。 |
| 目的MAC地址(DMAC) | 6 | 接收方网卡的物理地址(48位),最高位为 0 表示单播地址,1 表示组播地址,全 1(FF:FF:FF:FF:FF:FF)为广播地址。 |
| 源MAC地址(SMAC) | 6 | 发送方网卡的物理地址(48位),无组播/广播标识,始终为单播地址。 |
| 类型字段(Type) | 2 | 标识上层协议类型: - 0x0800:IP协议- 0x0806:ARP协议- 0x86DD:IPv6协议该字段区分帧承载的是哪种网络层数据。 |
| 数据字段(Data) | 46~1500 | 封装上层(网络层)的数据包(如IP数据报、ARP报文)。 - 最小长度46字节:若上层数据不足,需填充(Pad)至46字节,确保CSMA/CD机制正常工作(最小帧长64字节,减去14字节头部和4字节FCS,剩余46字节)。 - 最大长度1500字节:即MTU(最大传输单元),超过则需在网络层分片。 |
| 帧校验序列(FCS) | 4 | 基于CRC(循环冗余校验)算法生成的校验码,用于检测帧在传输过程中是否发生错误,校验范围包括DMAC、SMAC、Type、Data和Pad字段(不包括前导码和SFD)。 |
Address Resolution Protocol(ARP,地址解析协议) 是计算机网络中用于将 IP 地址(网络层地址)解析为 MAC 地址(数据链路层地址) 的关键协议。它是局域网(LAN)通信的基础,主要解决 “已知 IP 地址,如何获取对应物理地址” 的问题。其帧直接封装在数据链路层(如以太网)的帧中

场景:主机 A(IP: 192.168.1.1)要向主机 B(IP: 192.168.1.4)发送数据,但不知道 B 的 MAC 地址。
广播形式发送到局域网(所有主机都会收到)。

| 字段 | 长度(字节) | 描述 | 示例值(以太网 + IPv4) |
|---|---|---|---|
| 硬件类型(Hardware Type) | 2 | 标识底层硬件类型(如以太网、令牌环等)。 以太网对应值为 0x0001。 |
0x0001(以太网) |
| 协议类型(Protocol Type) | 2 | 标识上层协议类型(如 IPv4、IPv6 等)。 IPv4 对应值为 0x0800。 |
0x0800(IPv4) |
| 硬件地址长度(Hardware Address Length) | 1 | 硬件地址(如 MAC 地址)的长度(单位:字节)。 以太网 MAC 地址为 6。 |
0x06 |
| 协议地址长度(Protocol Address Length) | 1 | 协议地址(如 IP 地址)的长度(单位:字节)。 IPv4 地址为 4。 |
0x04 |
| 操作码(Operation Code) | 2 | 标识 ARP 操作类型:1 = ARP 请求(Request),2 = ARP 响应(Reply),3 = RARP 请求(反向解析,已过时),4 = RARP 响应。 |
0x0001(请求)、0x0002(响应) |
| 发送方硬件地址(Sender Hardware Address) | 可变(依硬件地址长度) | 发送方的硬件地址(如发送方 MAC 地址)。 以太网中为 6 字节。 |
发送方 MAC 地址(例:00-0C-29-12-34-56,二进制填充) |
| 发送方协议地址(Sender Protocol Address) | 可变(依协议地址长度) | 发送方的协议地址(如发送方 IP 地址)。 IPv4 中为 4 字节。 |
发送方 IP 地址(例:192.168.1.100,点分十进制转换为 4 字节) |
| 目标硬件地址(Target Hardware Address) | 可变(依硬件地址长度) | 目标的硬件地址: - ARP 请求时,因目标 MAC 未知,填全 0(6 字节全 0);- ARP 响应时,填入目标真实 MAC 地址。 |
请求时:00-00-00-00-00-00(全 0);响应时:目标 MAC 地址 |
| 目标协议地址(Target Protocol Address) | 可变(依协议地址长度) | 目标的协议地址(如目标 IP 地址,需解析的 IP)。 | 目标 IP 地址(例:192.168.1.200,点分十进制转换为 4 字节) |
IP地址与MAC地址都能表示唯一,那为什么既有IP,又有MAC呢?
每个网段内的微观传输。跨网段的宏观路由。如果只用MAC地址进行网络寻址的话,MAC地址长度48位。2^48=256TB内存。这将会是你负担不起的路由器价格。
反向地址解析协议(RARP)
功能与 ARP 相反:已知 MAC 地址,解析对应的 IP 地址。
现已很少使用,被 DHCP 等协议替代。
免费 ARP(Gratuitous ARP)
主机主动发送 ARP 广播(即使无通信需求),属于ARP reply帧,但请求的目标是自己。
用于是告诉广播域中其它主机自己的存在,更新其他主机的 ARP 缓存(如虚拟机迁移后,负载均衡的主备切换)。
判断广播域中是否存在IP冲突
无状态 ARP(Stateless ARP)
主机不维护 ARP 缓存,每次通信前都发送 ARP 请求(适用于低功耗设备或动态网络)。


此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。