内网IP地址被划分为三个主要的私有地址范围,分别对应不同的网络类别:A类、B类、C类。这些地址段专门用于私有网络中的设备通信,而不在公共互联网上使用。下面将详细说明这些地址段的分类、等级、数量以及功能,并以表格化方式呈现。

arp -a 拆解|底层原理 / 依赖文件 / 依赖关系 / 配套链 / 逻辑链路 / 边界

arp -a 是 Windows 控制台命令,用于查看 ARP 缓存表(地址解析协议缓存);图中输出包含:单播局域网 IP、多播 IP、静态 / 动态类型,其中224.0.0.252就是前面 LLMNR 协议的链路本地多播地址。

一、底层原理

ARP(Address Resolution Protocol,地址解析协议):IPv4 转二层 MAC 地址,作用在二层与三层之间。

  1. 当主机要向同网段 IPv4 目标发包,内核先查ARP 缓存表:IP → MAC 映射。
  2. 缓存无记录,发送 ARP 广播请求:谁是192.168.1.8,请告诉我你的MAC地址。
  3. 目标主机收到广播,单播回复自身 MAC;本机将这条 IP-MAC 写入 ARP 缓存,标记动态 (Dynamic),带 TTL 老化。
  4. 多播地址(224.0.0.0/4):ARP 表里面多播条目不是 ARP 协商出来的,内核自动静态生成,不需要发 ARP 请求。
    • 224.0.0.252:LLMNR 多播地址(对应你上一节的协议)
    • 224.0.0.22:IGMPv3 多播
    • 224.0.0.251:mDNS(Bonjour)
    • 239.255.255.250:UPnP 设备发现

类型区分:

  • 动态 (Dynamic):ARP 广播学习到的,有老化超时,到期自动删除。
  • 静态 (Static):内核预生成多播 MAC 映射,或者管理员手动 arp -s 添加,不会自动老化。

图中关键点:多播 IP 全部标记静态,不会通过 ARP 广播去查询 MAC;IPv4 多播有固定的二层多播 MAC 前缀01-00-5e-xx-xx-xx,内核直接计算生成。

二、依赖文件(Windows)

文件 角色
arp.exe 用户态可执行程序,控制台前端,负责读取内核 ARP 缓存,格式化输出打印;不收发网络包,只是读取展示
tcpip.sys 内核 TCP/IP 协议栈,ARP 协议实现主体;维护内核 ARP 缓存表、发送 ARP 请求 / 应答、处理多播地址静态条目生成
ndis.sys 网络驱动接口规范,网卡驱动与 tcpip.sys 中间层,提供二层帧收发
网卡驱动(*.sys) 硬件驱动,收发以太网帧,处理广播 / 多播帧
iphlpapi.dll IP 辅助 API 库;arp.exe底层调用GetIpNetTable2这类 API 读取内核 ARP 表

三、依赖关系

  1. 底层依赖:网卡 + 网卡驱动 + tcpip.sys 网卡必须启用并绑定 IPv4,ARP 缓存按每个独立接口(网卡)分开维护;图中接口:192.168.1.55 ---0x7就是网卡索引。网卡断开,该接口 ARP 缓存清空。
  2. API 依赖 iphlpapi.dll arp.exe 本身不直接读内核内存,调用 IP Helper API,从 tcpip.sys 内核读取 IP-NetTable(ARP 表)。
  3. 协议依赖:IPv4 ARP 仅属于 IPv4;IPv6 使用 NDP 邻居发现协议,不使用 ARP,arp -a看不到 IPv6 邻居。
  4. 多播条目依赖 IGMP:内核加入多播组时,自动在 ARP 表生成静态多播 IP 条目。

四、配套链(配套协议 / 组件 / 配套命令)

配套协议

  1. ARP:IPv4 地址解析
  2. IGMP:互联网组管理协议,管理多播组订阅(图内 224.0.0.x 链路本地多播全部依赖 IGMP)
  3. IPv4:ARP 只服务 IPv4,IPv6 用 NDP 替代 ARP

配套系统组件

  1. 网卡 NIC、NDIS 驱动栈
  2. TCP/IP 内核栈 (tcpip.sys) 维护 ARP 缓存老化定时器

配套命令

  • arp -a:查看 ARP 缓存(图中命令)
  • arp -s:添加静态 ARP 绑定(Win10/11 推荐用netsh interface ip add neighbors)
  • arp -d:清空 ARP 缓存
  • netsh interface ip show neighbors:现代替代,查看邻居表(ARP)
  • Get-NetNeighbor PowerShell,等价查看 ARP 缓存

关联前面内容:224.0.0.252 是 LLMNR 多播地址,在 ARP 表静态注册,主机加入该多播组,才能收发 LLMNR UDP5355 多播报文。

五、逻辑链路(arp -a 完整时序)

  1. 用户在 CMD 执行 arp -a,启动arp.exe
  2. arp.exe加载iphlpapi.dll,调用GetIpNetTable2API,请求获取所有网卡的 IPv4 邻居表
  3. API 向内核tcpip.sys发起查询,读取内核中每个网卡的 ARP 缓存
  4. tcpip.sys 返回邻居条目:区分动态学习单播条目 和 内核自动生成静态多播条目
  5. arp.exe 格式化输出:接口 IP、Internet 地址 (IP)、物理地址 (MAC)、类型
  6. 打印到控制台,就是截图里的结果

数据包层面链路(动态 ARP 条目生成,如 192.168.1.8)

  1. 本机需要发包到 192.168.1.8,查询内核 ARP 缓存,无记录
  2. tcpip.sys 构造 ARP 广播请求帧,二层目的 MAC 为 FF:FF:FF:FF:FF:FF
  3. 同交换机广播域所有主机收到广播
  4. 192.168.1.8 主机匹配 IP,回复 ARP 单播应答包,携带自身 MAC
  5. 本机 tcpip.sys 收到应答,写入 ARP 缓存,标记类型动态,启动 TTL 老化计时器

多播条目链路(如 224.0.0.252): 当系统启用 LLMNR,NrSvc 服务通知 tcpip.sys 加入该多播组;内核直接生成静态 ARP 条目,不需要发送 ARP 广播查询 MAC。

六、边界约束(边界、坑点、安全边界)

1. 广播域边界

ARP 广播包路由器不转发,ARP 只能在同一个二层 VLAN / 广播域。跨网段目标 IP,不会发 ARP 询问远端 IP,只会查询网关 MAC。

2. 缓存老化边界

  • 动态 ARP 条目有老化时间(Windows 默认 10~15 分钟),超时无流量自动删除;再次通信重新 ARP 请求。
  • 静态条目(多播 / 手动绑定)无老化,不会自动清除,重启网卡 / 重启机器才会清空。

3. 多播条目边界

所有224.0.0.0/24链路本地多播,不会发送 ARP 广播;内核直接计算二层多播 MAC,静态存入 ARP 表。

重点:224.0.0.252 就是 LLMNR 的多播地址,你前面加固关闭 LLMNR 后,系统不再加入该多播组,这条静态 ARP 条目会消失。

4. 平台与版本边界

arp.exe从早期 Windows 一直保留;微软推荐新系统用netsh或 PowerShell Get-NetNeighbor。 IPv6 邻居不在 arp -a 输出,要用netsh interface ipv6 show neighbors。

5. 安全边界(ARP 欺骗 / ARP 投毒)

ARP 协议无内置身份校验;内网攻击者可伪造 ARP 应答,篡改受害主机 ARP 缓存,把网关 IP 映射到攻击者 MAC,实现中间人攻击。

防护方案:DAI(Dynamic ARP Inspection,交换机层面)、静态 ARP 绑定。

6. 常见误区边界

❌误区:arp -a的所有条目都是 ARP 广播查出来的 ✅真相:多播 IP 条目是内核自动静态生成,没有 ARP 广播交互,截图里红框的多播地址全部属于这种。

❌误区:ARP 可以跨路由器 ✅真相:路由器阻断 ARP 广播,ARP 仅限同一二层网段。

7. 生效边界

ARP 缓存是内核内存里的临时表;重启网卡、执行arp -d *、重启系统都会清空动态 ARP 条目。


内网IP地址范围的详细分类、等级、数量、功能的表格,分别展示了IPv4和IPv6的内网地址划分。

IPv4 内网地址范围

类别 地址范围 子网掩码 可用地址数 功能
A类 10.0.0.0 - 10.255.255.255 255.0.0.0 16,777,216 适用于大型网络,提供大范围的内部IP地址。
B类 172.16.0.0 - 172.31.255.255 255.240.0.0 1,048,576 中型网络的地址分配,适用于公司或组织的内部网络。
C类 192.168.0.0 - 192.168.255.255 255.255.0.0 65,536 小型网络地址分配,常见于家庭或小型企业网络。

详细说明:

  • A类地址 (10.0.0.0 - 10.255.255.255):

    • 子网掩码:255.0.0.0
    • 提供16,777,216个可用地址,适合大规模的组织或公司网络,能够容纳大量的设备。
  • B类地址 (172.16.0.0 - 172.31.255.255):

    • 子网掩码:255.240.0.0
    • 提供1,048,576个可用地址,适用于中型企业或较大规模的局域网。
  • C类地址 (192.168.0.0 - 192.168.255.255):

    • 子网掩码:255.255.0.0
    • 提供65,536个可用地址,常用于小型办公室或家庭网络。

IPv6 内网地址范围及功能

IPv6的内网地址范围主要是由特定的地址前缀所定义,它包括本地链路地址和唯一本地地址。以下是对IPv6内网地址的分类和功能说明。

类别 地址范围 子网掩码 数量 功能
本地链路地址 FE80::/10 64位 约1.8 × 10^19个地址 仅限本地链路使用,自动分配,用于设备之间的通信,无需路由器。
唯一本地地址 FC00::/7(FC00::/8 和 FD00::/8) 64位 约1.8 × 10^19个地址 用于内部网络(类似IPv4私有地址),无需路由器即可在同一组织内通信。
全球单播地址 2000::/3 64位 约2 × 10^28个地址 用于全球范围的通信,类似于IPv4的公共地址。
多播地址 FF00::/8 不适用 无限制 用于多播通信,支持多个设备接收同一数据流。

详细说明:

  1. 本地链路地址 (FE80::/10):

    • 仅适用于设备在同一链路(如同一局域网)内的通信,不需要路由器进行转发。
    • 自动生成,设备开机时会自动为每个接口分配此类地址。
    • 示例:FE80::1,FE80::2 等。
  2. 唯一本地地址 (FC00::/7):

    • 类似于IPv4的私有地址,FC00::/8 被保留,FD00::/8 为实际使用地址。
    • 用于组织内部的网络通信,不会在全球范围内路由。
    • 示例:FD00::1,FD00::2 等。
  3. 全球单播地址 (2000::/3):

    • 用于全球范围的通信,类似于IPv4的公共地址(如 8.8.8.8)。
    • 由IANA分配,可在整个Internet上进行路由。
    • 示例:2001:0db8::1,2001:0db8::2 等。
  4. 多播地址 (FF00::/8):

    • 用于一对多或多对多的通信。
    • 支持多个设备同时接收相同的数据流,常用于视频、音频流等。
    • 示例:FF02::1(局部链路内所有节点)、FF05::1(组织范围内所有节点)。

 

类别 IPv4 IPv6
本地链路地址 无直接对应 FE80::/10
唯一本地地址 类似IPv4私有地址(10.x.x.x, 172.x.x.x, 192.x.x.x) FC00::/7(FD00::/8)
全球单播地址 公网地址(如 8.8.8.8) 2000::/3
多播地址 224.0.0.0 - 233.255.255.255 FF00::/8

这两种协议在IP地址范围的划分上有明显的不同,IPv6引入了更多的新功能和地址类型,如本地链路地址和全球单播地址,使得网络的通信和管理更加灵活。IPv4的私有地址范围(A类、B类、C类)常用于内网通信,而IPv6则通过唯一本地地址和全球单播地址为内外网通信提供了更高效的选择。


内网IP地址被划分为三个主要的私有地址范围,分别对应不同的网络类别:A类、B类、C类。这些地址段专门用于私有网络中的设备通信,而不在公共互联网上使用。下面将详细说明这些地址段的分类、等级、数量以及功能,并以表格化方式呈现。

内网IP地址划分

网络类别 地址范围 子网掩码 可用IP数量 功能说明
A类 10.0.0.0 - 10.255.255.255 255.0.0.0 16,777,216个 适用于大型网络,最多支持1677万个IP,通常用于大规模的企业或组织内部网络。
B类 172.16.0.0 - 172.31.255.255 255.255.0.0 1,048,576个 适用于中型网络,支持65,536个子网,每个子网支持65,536个设备。适合中型组织使用。
C类 192.168.0.0 - 192.168.255.255 255.255.255.0 65,536个 适用于小型网络,最多支持256个子网,每个子网最多支持254个设备。常用于家庭网络或小型公司。

详细解释

  1. A类(10.0.0.0 - 10.255.255.255):

    • 地址范围:从 10.0.0.0 到 10.255.255.255,包含了16,777,216个IP地址。
    • 子网掩码:255.0.0.0,意味着第一部分(8位)为网络地址,其余24位用于主机地址。
    • 可用IP数量:A类地址提供了16,777,216个可用IP地址,适用于大型网络,通常用于企业或大型组织内部。
    • 功能:适合大规模网络,能够划分为大量子网,支持大量设备。
  2. B类(172.16.0.0 - 172.31.255.255):

    • 地址范围:从 172.16.0.0 到 172.31.255.255,包含了1,048,576个IP地址。
    • 子网掩码:255.255.0.0,意味着前16位为网络地址,后16位用于主机地址。
    • 可用IP数量:B类地址提供了1,048,576个可用IP地址,适合中型网络,通常用于中等规模的企业和机构。
    • 功能:适合中型规模网络,支持最多65,536个子网,每个子网最多支持65,536个设备。
  3. C类(192.168.0.0 - 192.168.255.255):

    • 地址范围:从 192.168.0.0 到 192.168.255.255,包含了65,536个IP地址。
    • 子网掩码:255.255.255.0,意味着前24位为网络地址,后8位用于主机地址。
    • 可用IP数量:C类地址提供了65,536个IP地址,适合小型网络,通常用于家庭网络或小型办公室。
    • 功能:适合小型网络,支持最多254个设备,通常用于家庭或小型公司网络。

IPV4 类别

网络类别 地址范围 子网掩码 可用IP数量 功能说明
A类 10.0.0.0 - 10.255.255.255 255.0.0.0 16,777,216个 适用于大型网络,最多支持1677万个IP。
B类 172.16.0.0 - 172.31.255.255 255.255.0.0 1,048,576个 适用于中型网络,支持65,536个子网,每个子网支持65,536个设备。
C类 192.168.0.0 - 192.168.255.255 255.255.255.0 65,536个 适用于小型网络,最多支持254个设备。常用于家庭或小型公司。

这些地址段被保留为私有IP地址,不能在公共互联网中路由。这些私有IP地址可以通过网络地址转换(NAT)技术与互联网进行通信。


 

posted @ 2025-01-18 00:32  suv789  阅读(6925)  评论(0)    收藏  举报