2025-06-11

Router-Routing

1. Router & Routing
	1.1 Router
	1.2 routing 
	1.3 CEF
2. 路由表
	2.1 路由表的组成
	2.2 查看主机的IPv6路由表
3. 路由协议
	3.1 作用范围
	3.2 Routing algorithm 路由算法
	3.3 路由协议分类
	3.4 路由协议列表
	3.5 EIGRP
	3.6 OSPF
	3.7 OSPF-LSA
4. aggregation聚合
	4.1 PA
	4.2 PI
	4.3 PA vs PI
5. Supernet
	5.1 协议要求
	5.2 风险
6. CIRR
	6.1 IPv4 CIDR 块
	6.2 IPv6 CIDR 块
7. 多宿主
8. 更多相关信息

1. Router & Routing

1.1 Router

路由器(英语:Router,又称路径器)是将运算设备(例如电脑)及网络连线至其他网络的联网设备。
路由器在互联网上执行“流量引导”功能。路由器连接到来自不同IP 网络的两条或多条数据线路。
当数据包通过一条线路进入时,路由器会读取数据包报头中的网络地址信息,以确定最终目的地。
然后,路由器会利用其路由表或路由策略中的信息,将数据包引导至下一个网络。
数据包通过互联网络从一个路由器转发到另一个路由器,直到到达目标节点。

1.2 routing

路由是为网络中、多个网络之间或跨多个网络的流量选择路径的过程。
广义上讲,路由可以在多种类型的网络中执行,包括电路交换网络(例如公共交换电话网(PSTN))和计算机网络(例如互联网)。

路由,从狭义上讲,通常指IP 路由,与桥接相对。
IP 路由假设网络地址是结构化的,相似的地址意味着网络内的邻近性。
结构化地址允许单个路由表条目表示到一组设备的路由。
在大型网络中,结构化寻址(狭义上称为路由)的性能优于非结构化寻址(桥接)。
路由已成为互联网上主要的寻址形式。
桥接在局域网中仍然被广泛使用。

1.3 CEF

CEF Cisco Express Forwarding, Cisco 特快转发
开启CEF的Cisco路由器会更具数据平面所存储的两大数据结构来优化路由表查询
这两大数据结构是: 
  • FIB Forwarding information Base, 转发信息库: 基于路由表. 罗列(前缀/长度) 下一跳信息.  是IP路由表包含的转发信息的镜像.
  • 邻接表: FIB里下一跳对应的二层MAC地址. 来自邻居缓存表.
路由器只需关连这2张表, 就不需要执行递归查询. 

2. 路由表

在计算机网络中,路由表(routing table)或称路由择域信息库(RIB, Routing Information Base),是一个存储在路由器或者联网计算机中的电子表格(文件)或类数据库。
路由表存储着指向特定网络地址的路径(在有些情况下,还记录有路径的路由度量值)。
路由表中含有网络周边的拓扑信息。
路由表建立的主要目标是为了实现路由协议和静态路由选择。

构建路由表是路由协议的主要目标。
静态路由是固定的条目,而不是由路由协议和网络拓扑发现过程生成的。

本机路由(GUA或ULA)会进驻路由表, 也会进驻Cisco快速转发表(CFF). 
LLA不会进驻路由器的IPv6路由表.

2.1 路由表的组成

路由表至少由三个信息字段组成:
  1. identifier 网络标识符:IPv4(目标子网和网络掩码); IPv6(目标网络)
  2. metric:数据包发送路径的路由度量值。路由将沿着度量值最低的网关方向进行。 注: 使用地址127.0.0.1(localhost)与计算机本身通信比使用192.168.0.100(本机 IP 地址)更高效。
  3. hop 下一跳:下一跳或 [网关] 是数据包在到达最终目的地途中要发送到的下一个站点的地址
根据应用程序和实现情况,它还可以包含优化路径选择的附加值:
  1. Qos 与路由关联的服务质量。例如,U 标志表示 IP 路由处于 up 状态。
  2. filtering 过滤标准:与路由相关的访问控制列表 ACL
  3. interface:Linux用接口名称eth0表示, Windows下 IPv4(接口IP表示); IPv6(接口序号表示)

2.2 查看主机的IPv6路由表

Windows > route print
Windows > netstat -rn 
Windows > netsh interface ipv6 show route 
Linux $ netstat -rnA inet6 
MacOS $ netstat -rnf inet6 

3. 路由协议


路由协议(英语:Routing protocol)是一种指定数据包转送方式的网络协议。
Internet网络的主要节点设备是路由器,路由器通过路由表来转发接收到的数据。
  • 小规模的网络中, 转发策略可以是人工指定的(通过静态路由、策略路由等方法)。
  • 较大规模的网络中(如跨国企业网络、ISP网络),需要自动更新的动态路由。

路由算法决定具体的路由选择。避免路由环路、选择优选路由. 
每个路由器仅预先了解与其直接连接的网络。
路由协议首先在直接邻居之间共享此信息,然后在整个网络中共享。
这样,路由器就可以了解网络的拓扑结构。
路由协议能够动态调整以适应不断变化的条件(例如禁用的连接和组件)并绕过障碍物路由数据,从而使互联网具有容错性和高可用性。

3.1 作用范围

作用范围, Domain type 域类型: 
  • IGP (Interior Gateway Protocol) 内部网关, 用于自治系统内部.
    • RIP、IGRP、EIGRP、OSPF、IS-IS是内部网关协议(IGP),适用于单个ISP的统一路由协议,位于一个AS(自治系统)内,有统一的AS number(自治系统号)。
  • EGP (Exterior Gateway Protocol) 外部网关, 用于自治系统之间.
    • BGP是自治系统间的路由协议,是一种外部网关协议,多用于不同ISP之间交换路由信息,以及大型企业、政府等具有较大规模的私有网络。

3.2 Routing algorithm 路由算法


3.3 路由协议分类



 
分类 RIP Cisco OSPF
类型 小类 RIPv2 RIPng IGRP EIGRP OSPFv2 OSPFv3 IS-IS BGP
Routing
algorithm
路由算法
路径向量
Path vector
Y
距离向量
Distance Vector
Bellman-Ford DUAL
链路状态
Link State
Y Y Y
作用
范围
IGP内部网关
用于 AS 内部
Y Y Y Y Y Y Y
EGP 外部网关
用于 AS 之间
Y
OSI 4层 应用层 UDP520 UDP521 TCP
3层 网络层 Y Y Y Y
2层 数据链路 Y

地址 IPv4 IPv6 IPv4 IPv6 IPv4 IPv6

应用环境 小型 中型 复杂 大型 大型 外部
类型 小类 RIPv2 RIPng IGRP EIGRP OSPFv2 OSPFv3 IS-IS BGP

3.4 路由协议列表

[protocol] 列 括号内表示 (IP protocol numbers)
Protocol Routing Protocol 地址/端口 适用于
RIPng RIP 路由信息协议, 是一种距离向量路由协议.
算法: Bellman-Ford. 路由更新周期30s, 支持触发更新.
使用跳数(hop count)作为衡量指标(最大16跳)
Routing Information Protocol next generation
1988 RFC1058 RIP.
1994 RFC2453 RIPv2 IPv4 UDP 520 224.0.0.9
1997 RFC2080 RIPng IPv6 UDP 521 FF02::9
UDP
IPv4 520
224.0.0.9

IPv6 521
FF02::9
小型网络,
配置简单.
(在大型网络中可能存在收敛速度慢和路由环路问题)
IGRP
(9)
Interior Gataway Protocol
内部网关协议. 是RIP的改进版
是思科开发的一种距离向量路由协议.

中等规模
的企业网络
用于AS内部
EIGRP
(88)
Enhanced Interior Gateway Routing Protocol
增强型内部网关路由协议, 是IGRP的 无类别 版.
是思科开发的距离矢量路由协议.但有链路状态特性.
使用的算法称为“DUAL”,即扩散更新算法
RTP (Reliable Transport Protocol) 可靠传输协议
2016 RFC 7868 EIGRP
IPv4
224.0.0.10


IPv6
ff02::a
复杂网络环境
OSPFv3
(89)
Open Shortest Path First version 3
开放最短路劲优先v3 是链路状态 无类别 路由协议.
1998 OSPFv2 IPv4 RFC2328 网管可指定度量, 名为路由开销(cost)值. 默认会根据接口带宽计算开销值.
2008 OSPFv3 IPv6 RFC5340 RFC5838(支持af地址家族), 单OSPFv3进程可同时支持IPv4和IPv6地址家族
v2: 224.0.0.5
v3: FF02::5
全部SPF路由器
v2: 224.0.0.6
v3: FF02::6
全部DR指定路由器
大型网络
和互联网
IS-IS
(124)
Intermediate System to Intermediate System
中间系统到中间系统
是一种内部网关协议, 基于链路状态...
2008 RFC 5308 Routing IPv6 with IS-IS

大型企业和ISP网络中
单一进程同时支持v4和v6
BGP
(8)
Border Gateway Protocol
边界网关, 路径矢量协议, 替代已过时的EGP
2007 RFC 4760 Multiprotocol Extensions for BGP-4

目前Internet
AS之间使用的EGP

3.5 EIGRP

加强型网关间选径协议(英语:Enhanced Interior Gateway Routing Protocol,缩写为EIGRP),又译增强型内部网关路由协议,一种内部网关协议(IGP)。
在内部网关路由协议(IGRP)的基础上,由思科公司发展而成,于2013年Cisco将此标准公开,不再是私有的路由协议,在同样。
EIGRP是一种高级距离矢量路由协议(也称混合型路由协议)。
Cisco IOS IPv6 Command Reference
P392 IPv4 EIGRP EIGRP
经典
通告的路由 IPv4 前缀 IPv6 前缀
路由协议 距离矢量路由协议
路由算法 DUAL
默认度量值 带宽和延迟
可选度量值 可靠性和负载
经典的EIGRP
度量值计算
32位复合度量值 Metric
(EIGRP 32位度量=IGRP 24位度量*256)
EIGRP命名模式
Metric计算
带宽(1G~4Tbit/s)
64位宽度量值
传输协议 RTP
路由更新消息 部分和有界更新
邻居发现 Hello 数据包
EIGRP
Router-ID
32位Router-ID 用点分十进制表示, 虽然可以派生自路由器接口的IPv4 地址,但其只是一个长度为32 位的数值,并非IPv4 地址。
协议消息的
源地址
IPv4 单播地址 IPv6 本地链路地址
协议消息的
目的地址
224.0.0.10 ff02::a
认证方法 明文和MD5认证 MD5, SHA(命名)
自动汇总 在有类边界
自动汇总
N/A

EIGRP路由器会为IPv4和IPv6单独维护的表格
  • EIGRP邻居表
  • EIGRP拓扑表
  • EIGRP路由表

3.6 OSPF

开放式最短路径优先(英语:Open Shortest Path First,缩写为 OSPF)是广泛使用的一种路由协议,它属于链路状态路由协议,具有路由变化收敛速度快、无路由环路、支持变长子网掩码(VLSM)和汇总、层次区域划分等优点。

OSPFv2 OSPFv3 传统 OSPFv3 支持 af
通告的路由 IPv4 路由前缀 IPv4 路由前缀 IPv4 和 IPv6 路由前缀
路由协议 链路状态路由协议
度量值 (24位?) 开销值, Cisco设备: 接口带宽
默认度量值 10^8/接口带宽(单位为kb)
支持多区域 支持多区域
Router-ID 32位
是否推举
DR和BDR
协议消息的
第三层封装方式
IPv4 IPv6 用IPv6封装IPv4和
IPv6 af OSPF协议消息
协议消息的
源地址
IPv4 IPv6 LLA
协议消息的
目的地址
(SPF路由器)
224.0.0.5 ff02::5
协议消息的
目的地址
(DR路由器)
224.0.0.6 ff02::6
IPv6单播路由 N/A 必须 必须, 即使只开启IPv4 AF进程
认证方式 明文和MD5 Ipsec Ipsec, HMAC SHA-1,
SHA-224, 256, 384, 512
邻居表和LSDB
链路状态数据库
IPv4 版 IPv6 版 IPv4和IPv6 同一个邻居表, 和同一个LSDB

  • area 区域
  • stub 末梢区域
  • totally stubby 完全末梢区域
  • NSSA 非完全末梢区域 not-so-stubby area
通过区域, 将区域内部路由器所要保存的链路状态数据库和路由表的规模降至最低. 

OSPFv3和v2公用以下5种协议消息
  1. Hello消息
  2. DD 数据库描述消息
  3. LSR 链路状态请求消息
  4. Lsack 链路状态确认消息
  5. LSU 链路状态更新消息

3.7 OSPF-LSA

  • LSA: 链路状态通告
  • ASBR: 自治系统边界路由器
  • ABR: 区域边界路由器

OSPFv2 LSA OSPFv3 LSA LSA: 链路状态通告
类型
字段
名称 LS类型
字段
名称 补充说明
1 路由器 LSA 0x2001 路由器 LSA
2 网络 LSA 0x2002 网络 LSA
3 网路汇总 LSA 0x2003 区域间前缀 LSA
4 ASBR 汇总 LSA 0x2004 区域间路由器 LSA v2: ASBR 自治系统
边界路由器
5 外部 AS LSA 0x2005 外部 AS LSA
6 群成员 LSA 0x2006 群成员 LSA v3: (用于多播扩展
[MOSPF], 已弃用)
7 外部 NSSA LSA 0x2007 NSSA LSA NSSA 非完全末梢区域
not-so-stubby area
0x2008 链路 LSA
0x2009 区域内前缀 LSA

4. aggregation聚合

路由聚合是指将多个具体的路由合并为一个更通用的路由,这样路由器就可以向其邻居发送更少的路由信息. 
减少路由表中条目的数量,提高路由协议的效率,并减少网络设备间的通信负担.

4.1 PA

提供商可聚合地址空间
Provider-aggregatable 提供商可聚合地址空间( PA ) 
是由区域互联网注册机构分配给互联网服务提供商的一组IP 地址,这些地址可以聚合到单个路由通告中,以提高互联网路由效率。

与提供商无关地址空间不同,使用这种地址的用户在更换上游服务提供商的时候,无法继续使用原先的IP地址,因为这些地址是被分配给服务商的。

4.2 PI

provider-independent 独立于提供商的地址空间(PI)
(PI)是由区域互联网注册管理机构(RIR)直接分配给最终用户组织的IP地址块 。 
用户必须通过互联网服务提供商与本地互联网注册管理机构(LIR)签订合同, 才能获得互联网内地址块的路由。

独立于提供商的地址为最终用户提供了在不重新编号网络的情况下更换服务提供商的机会,并允许在多宿主配置中使用多个接入提供商。
然而,独立于提供商的地址块可能会增加全局路由器的负担,因为通过无类域间路由(CIDR)进行高效路由聚合的可能性可能不存在。

IPv6分配
2009 年 4 月,RIPE接受了 2006 年 1 月的一项政策提案,即分配独立于 IPv6 提供商的IPv6前缀。
分配的地址范围为2001:678::/29,且最小前缀长度为/48。

4.3 PA vs PI

Item PI PA
名称 提供商无关 提供商可聚合
地址分配 RIR分配 ISP分配
IP地址归属 客户 ISP
迁移 灵活,可以自由迁移 受限,不能自由迁移
规模 地址空间更大 地址空间偏小
服务供应商 可接入多家SP 仅当前服务ISP
SP依赖性
价格 昂贵 便宜
适用范围 大型企业、多宿主网络 小型企业、家庭DSL
聚合 可能会增加全局路由器的负担
因为很可能不支持聚合
便于SP聚合

5. Supernet

超级网络 Supernetwork 或超网(Supernet)是由多个网络(或子网)聚合而成的互联网协议(IP) 网络。
聚合网络的新路由前缀代表单个路由表条目中的组成网络。
超网的形成过程称为超网划分、前缀聚合、路由聚合或路由汇总。

互联网中的超级网络是一种避免IP 地址空间碎片化的策略,它使用分层分配系统,将地址空间段的控制权委托给区域互联网注册机构。
这种方法有助于区域路由聚合。

超网的优势在于,它能够提高路由器在路由信息内存存储和路由匹配处理开销方面的效率。
然而,超网也可能会引发互操作性问题和其他风险。

5.1 协议要求

超网需要使用支持无类域间路由(CIDR) 的路由协议。
内部网关路由协议(IGP) 、外部网关协议 (EGP)和路由信息协议(RIPv1)版本 1 (RIPv1) 都采用有类寻址,因此无法传输超网所需的子网掩码信息。

增强型内部网关路由协议(EIGRP) 支持 CIDR。
默认情况下,EIGRP 会汇总路由表中的路由,并将这些汇总路由转发给其对等体。
其他支持 CIDR 的路由协议包括 RIPv2、开放最短路径优先、IS-IS 和边界网关协议。

5.2 风险

已发现以下超级网络风险:
  • 超网在不同的路由器上以不同的方式实现。
  • 一个路由器接口上的超网可以影响同一路由器的其他接口上的路由通告方式。
  • 在超网存在的情况下,检测持久路由循环成为一个难题。
  • 在具有不连续子网的异构路由环境中产生不利影响

6. CIRR

Classless Inter-Domain Routing 无类别域间路由 (CIDR /ˈsaɪdər, ˈsɪ-/) 是一种 为IP 路由分配IP地址的方法。
互联网工程任务组 ( IETF )于 1993 年引入了 CIDR,以取代互联网上之前的有类别网络寻址架构。
其目标是减缓互联网路由器上路由表的增长,并帮助减缓IPv4 地址的快速耗尽。

CIDR 基于可变长度子网掩码( VLSM ),其中网络前缀具有可变长度(与以前的有类网络设计的固定长度前缀相反)。
这样做的主要好处是,它可以更精细地控制分配给组织的子网大小,从而减缓因分配大于需要的子网而导致的 IPv4 地址耗尽。
CIDR 产生了一种称为 CIDR 表示法的 IP 地址编写新方法,其中 IP 地址后跟一个后缀,表示前缀的位数。
CIDR 表示法的一些示例包括IPv4 的地址192.0.2.0 / 24和 IPv6 的地址 2001:db8:: / 32。
具有连续前缀的地址块可以聚合为超网,从而减少全局路由表中的条目数。

前缀聚合
CIDR 提供细粒度的路由前缀聚合。
例如,如果网络前缀的前 20 位匹配,则可以聚合 16 个连续的/ 24网络,并将其作为单个/ 20 路由表条目发布到更大的网络。
这减少了需要发布路由的数量。

6.1 IPv4 CIDR 块

IP/CIDR Δ 与最后一个
地址的差值
掩码 主机数 (*) 2^(n) 类别 备注 典型用途
a.b.c.d/32 +0.0.0.0 255.255.255.255 1 0 1/256 C Host route 主机路由
a.b.c.d/31 +0.0.0.1 255.255.255.254 2 1 1/128 C d = 0 ... (2n) ... 254 Point-to-point links (RFC 3021)
a.b.c.d/30 +0.0.0.3 255.255.255.252 4 2 1/64 C d = 0 ... (4n) ... 252 Point-to-point links (glue network)
a.b.c.d/29 +0.0.0.7 255.255.255.248 8 3 1/32 C d = 0 ... (8n) ... 248 Smallest multi-host network
a.b.c.d/28 +0.0.0.15 255.255.255.240 16 4 1/16 C d = 0 ... (16n) ... 240 Small LAN
小型局域网
a.b.c.d/27 +0.0.0.31 255.255.255.224 32 5 1/8 C d = 0 ... (32n) ... 224
a.b.c.d/26 +0.0.0.63 255.255.255.192 64 6 1/4 C d = 0, 64, 128, 192
a.b.c.d/25 +0.0.0.127 255.255.255.128 128 7 1/2 C d = 0, 128 Large LAN
大型局域网
a.b.c.0/24 +0.0.0.255 255.255.255.0 256 8 1 C
a.b.c.0/23 +0.0.1.255 255.255.254.0 512 9 2 C c = 0 ... (2n) ... 254
a.b.c.0/22 +0.0.3.255 255.255.252.0 1024 10 4 C c = 0 ... (4n) ... 252 Small business 小型企业
a.b.c.0/21 +0.0.7.255 255.255.248.0 2048 11 8 C c = 0 ... (8n) ... 248 Small ISP/ large business
小型 ISP/大型企业
a.b.c.0/20 +0.0.15.255 255.255.240.0 4096 12 16 C c = 0 ... (16n) ... 240
a.b.c.0/19 +0.0.31.255 255.255.224.0 8192 13 32 C c = 0 ... (32n) ... 224 ISP/ large business
ISP/大型企业
a.b.c.0/18 +0.0.63.255 255.255.192.0 16384 14 64 C c = 0, 64, 128, 192
a.b.c.0/17 +0.0.127.255 255.255.128.0 32768 15 128 C c = 0, 128
a.b.0.0/16 +0.0.255.255 255.255.0.0 65536 16 256 C (256 C = 1 B)
a.b.0.0/15 +0.1.255.255 255.254.0.0 131072 17 2 B b = 0 ... (2n) ... 254
a.b.0.0/14 +0.3.255.255 255.252.0.0 262144 18 4 B b = 0 ... (4n) ... 252
a.b.0.0/13 +0.7.255.255 255.248.0.0 524288 19 8 B b = 0 ... (8n) ... 248
a.b.0.0/12 +0.15.255.255 255.240.0.0 1048576 20 16 B b = 0 ... (16n) ... 240
a.b.0.0/11 +0.31.255.255 255.224.0.0 2097152 21 32 B b = 0 ... (32n) ... 224
a.b.0.0/10 +0.63.255.255 255.192.0.0 4194304 22 64 B b = 0, 64, 128, 192
a.b.0.0/9 +0.127.255.255 255.128.0.0 8388608 23 128 B b = 0, 128
a.0.0.0/8 +0.255.255.255 255.0.0.0 16777216 24 256 B (256 B = 1 A) Largest IANA block allocation
a.0.0.0/7 +1.255.255.255 254.0.0.0 33554432 25 2 A a = 0 ... (2n) ... 254
a.0.0.0/6 +3.255.255.255 252.0.0.0 67108864 26 4 A a = 0 ... (4n) ... 252
a.0.0.0/5 +7.255.255.255 248.0.0.0 134217728 27 8 A a = 0 ... (8n) ... 248
a.0.0.0/4 +15.255.255.255 240.0.0.0 268435456 28 16 A a = 0 ... (16n) ... 240
a.0.0.0/3 +31.255.255.255 224.0.0.0 536870912 29 32 A a = 0 ... (32n) ... 224
a.0.0.0/2 +63.255.255.255 192.0.0.0 1073741824 30 64 A a = 0, 64, 128, 192
a.0.0.0/1 +127.255.255.255 128.0.0.0 2147483648 31 128 A a = 0, 128
0.0.0.0/0 +255.255.255.255 0.0.0.0 4294967296 32 256 A 整个 IPv4 互联网,默认路由。

6.2 IPv6 CIDR 块

前缀长度 说明
128 单端口和回环
127 路由器间点对点链接
68~124
64 单个 LAN;SLAAC的默认前缀大小
60 一些(非常有限的)6rd部署(/60 = 16 /64 块)
56 最小终端站点分配;例如家庭网络(/56 = 256 /64 块)
52 /52 块 = 4096 /64 块
48 较大站点的典型分配(/48 = 65536 /64 块)
40, 44
36 未来可能出现的本地互联网注册管理机构(LIR) 超小分配
32 LIR minimum allocations 最小分配
28 LIR medium 中等分配
24 LIR large 大型分配
20 LIR extra large 超大分配
16
12 来自 IANA 的区域互联网注册管理机构(RIR) 分配
4, 8

7. 多宿主

多宿主是指将一台主机或计算机网络连接到多个网络的做法。
这样做可以提高可靠性或性能。

典型的主机或终端用户网络仅连接到一个网络。
连接到多个网络可以提高可靠性,因为即使一个连接发生故障,数据包仍可以通过剩馀的连接进行路由。
连接到多个网络还可以提高性能,因为数据可以同时通过多个连接进行发送和接收,从而成倍增加吞吐量,并且根据目的地的不同,通过一个网络或另一个网络进行路由可能更高效。

个人或家庭实例
一部手机可能同时连接到WiFi网络和4G网络,
而一台台式电脑可能同时连接到家庭网络和VPN。

经典多宿主
在经典的多宿主网络中,一个网络连接到多个提供商,并使用其自身的地址范围(通常来自提供商独立(PI) 范围)。
网络的边缘路由器使用动态路由协议(通常是BGP )与提供商通信,该协议会向所有提供商通告网络的地址范围。
如果其中一条链路发生故障,动态路由协议会在几秒或几分钟内识别到故障,并重新配置其路由表以使用剩馀的链路,这对主机来说是透明的。

传统的多宿主技术成本高昂,因为它需要使用所有提供商都接受的地址空间、公共自治系统(AS) 编号以及动态路由协议。
由于多宿主地址空间无法聚合,这会导致全局路由表增长。

8. 更多相关信息


2025-06-02

ICMPv6

1. ICMP
	1.1 ICMPv4
	1.2 ICMPv6
	1.3 基于ICMP消息的工具
2. ICMPv6消息的通用格式
3. ICMPv6消息类型及代码列表
4. ICMPv6-NDP(133-137)
	4.1 NDP(133-137)提供的功能
	4.2 NDP(133-137)消息可携的选项
	4.3 重复地址检测DAD
	4.4 邻居不可达检测(NUD)
5. ICMPv6其他功能
	5.1 MLD(130-132,143)
	5.2 SEND(148-149)
	5.3 MRD(151-153)
6. 两张缓存表
	6.1 Neighbor Cache
	6.2 Destination Cache

1. ICMP

1.1 ICMPv4

ICMP 依靠IP来完成它的任务,它是IP的主要部分。
它与传输协议(如TCP和UDP)显著不同:它一般不用于在两点间传输数据。 通常用于返回的错误信息或是分析路由。 
IPv4中的ICMP被称作ICMPv4,IPv6中的ICMP则被称作ICMPv6。
每个ICMP消息都是直接封装在一个IP数据包中的,因此,和UDP一样,ICMP是不可靠的。

1.2 ICMPv6

互联网控制消息协议版本 6 ( ICMPv6 ) 是互联网控制消息协议(ICMP) 在互联网协议版本 6 (IPv6)中的实现。
ICMPv6 是 IPv6 不可或缺的一部分,执行错误报告和诊断功能。

ICMPv6 定义于 RFC 4443 "Internet Control Message Protocol (ICMPv6) for the Internet Protocol Version 6 (IPv6) Specification". 
运行 TCP/IP协议的任何操作系统必定会以生成ICMP 消息(信息类消息或错误类消息)的方式,来传达与TCP/IP 运行状态有关的信息或错误报告。
用户还可以利用各种应用程序(例如ping 和 traceroute 实用工具),以发送 ICMP 消息的方式来测试两台IP设备之间的连通性。

1.3 基于ICMP消息的工具

traceroute 命令
在PC中,traceroute和tracert是诊断命令行界面命令,用于显示互联网协议(IP)网络上数据包的可能路由(路径)和传输延迟。
traceroute 是通过发送包含有特殊的TTL的包,然后接收ICMP超时消息和目标不可达消息来实现的。 
注意 RFC 1393 “Traceroute Using an IP Option”定义了一种更为有效的执行路由跟踪的方法。
在(RFC 6814) 正式弃用部分 IPv4 选项 中 废弃了RFC 1393、RFC 1385、RFC 1770、RFC 1475

Ping不通, 不一定不通.
  • ping 在IPv4下, 用ICMP的 (Type: 8 Echo request) 和 (Type: 0 Echo reply) 消息来实现的。
  • ping 在IPv6下, 用ICMPv6的 (128, Echo Request 请求), (129, Echo Reply 应答) 消息来实现的。
用户可让一台设备发送 ICMPv6 Echo Request 消息,促使目标设备回复 ICMPv6 Echo Reply 消息,以验证两台设备间的网络层连通性。
若发送设备未收到相应的ICMPv6 Echo Reply 消息,也不能说与目标设备之间丧失了网络层连通性,  有可能是设备间的联网设备(例如路由器或防火墙)丢弃了ICMPv6 Echo Request/Reply 消息,  或目标设备自身不接受或不响应ICMPv6 Echo Request 消息。

2. ICMPv6消息的通用格式

所有ICMPv6 消息的格式都是相同的,ICMPv6 消息的通用格式与ICMPv4 消息基本相同。
如下图所示,位列 ICMPv6 头部之前的IPv6 主包头或扩展包头的下一个头部字段值为58(封装 ICMPv4 消息的IPv4 包头的协议字段值为1)。
在IPv6 数据包中,位列ICMPv6消息之前的包头未必是IPv6 主包头,也可以是各种 IPv6 扩展包头中的一种。



  • 类型字段(8位): 其值用来指明 ICMPv6 消息的类型.  例如 ICMPv6 Echo Request消息、目的不可达消息或数据包过长消息。
  • 代码字段(8位): 根据“类型”字段值分类的每一种ICMPv6 消息的具体含义由代码字段值指明。 例如类型1表示目标不可达, 具体路由还是地址问题就由代码字段来说明. 
  • 校验和字段(16位): 该字段值来源于生成IPv6 消息的主机针对ICMPv6 消息以及IPv6 包头的部分内容所执行的校验和计算,用来检测 ICMPv6 消息在传输过程中发生的任何损坏。

3. ICMPv6消息类型及代码列表

用户可根据类型字段(8位)值,将各种ICMPv6 消息分为以下两大类。
  • ICMPv6 错误类消息:类型字段值为 0~127。最高位必定为0(类型字段值为 0xxxxxx)。 
  • ICMPv6 信息类消息:类型字段值为 128~255。最高位必定为1(类型字段值为 1xxxxxx)。 
分类 Type Type 类型含义 Code Code Meaning 代码含义 生成 Maddress ICMPv4 Code Type 分类
Error 1 Destination unreachable
目的地不可达
0 无到达目的地的路由 (no route) 路由器 网络不可达 0 1 Error
1 与目的地的通信被管理禁止 (prohibited) 防火墙 1
2 超出源地址所能企及的范围 (beyond scope) 路由器 2
3 地址不可达. 由路由器或主机生成 (设备) 主机不可达 3
4 端口不可达 目的主机 4
5 源地址不符合入口/出口策略 (policy) 防火墙 5
6 拒绝到达目的地的路由 (reject) 路由器 6
7 源路由报头错误 7
2 Packet too big 数据包太大 0 需要分片. 路劲 PMTU发现(RFC 8201) 路由器 0 2
3 Time exceeded 超时 0 传输过程中超出跳数限制 (hop limit exceeded) 路由器 TTL 0 3
1 碎片重组时间已超出 (time exceeded) 目的节点 1
4 Parameter problem 参数问题 0 遇到错误的报头字段 (erroneous header) 0 4
1 遇到无法识别的下一个报头类型 (unrecognized) 1
2 遇到无法识别的 IPv6 选项 2
100 Private experimentation 实验 100
101 Private experimentation 实验 101
127 Reserved for expansion 保留 127
Ping 128 Echo Request 回显请求 0 接收设备忽略 (RFC 4443) (设备) 0 128 Ping
129 Echo Reply 回显应答 0 接收设备忽略 (设备) 0 129
MLD 130 Multicast Listener Query (MLD) 查询 (RFC 2710) 0 通用查询,多播地址特定查询 LLA ff02::1 0 130 MLD
131 Multicast Listener Report (MLDv1) 报告 0 接收设备忽略 RFC 2710 0 131
132 Multicast Listener Done (MLD) 完成 0 接收设备忽略 0 132
NDP 133 Router Solicitation (NDP) 请求 RFC 4861 0 IPv6 前缀发现; SLAAC动态地址分配;
默认网关的IPv6 地址
主机 ff02::2 路由器发现 0 133 NDP
134 Router Advertisement (NDP) 通告 0 路由器 ff02::1 路由器发现 0 134
135 Neighbor Solicitation (NDP) 请求 0 地址冲突检测(DAD); 邻居不可达检测(NUD);
地址解析功能
(设备) 恳求节点多播 ARP请求 0 135
136 Neighbor Advertisement (NDP) 通告 0 (设备) ARP应答 0 136
137 Redirect Message (NDP) 重定向 0 路由器与主机间,用来发现更优的第一跳路由器 路由器 重定向 0 137
138 Router Renumbering (RFC 2894)
用于路由器重新编址,
通知一组路由器,让它们执行重新编址操作的机制
0 路由器重新编号命令 (Renumbering) 0 138
1 路由器重新编号结果 1
255 序列号重置 (Sequence) 255
Node 139 ICMP Node Information Query (RFC 4620)
请求 IPv6节点提供某些网络信息,
例如请求 IPv6 节点 提供其主机名或完全限定域名
0 数据字段包含(查询主题)的 IPv6 地址 0 139 Node
1 数据包含(查询)的名称,或在 NOOP 下为空。 1
2 数据字段包含(查询主题)的 IPv4 地址。 2
140 ICMP Node Information Response
ICMP节点信息响应
0 成功回复。回复数据字段可为空 (successful) 0 140
1 若响应方拒绝答复,回复数据字段将为空。 1
2 若响应方不知道查询的 Qtype,回复空。 2
Inverse 141 Inverse ND Solicitation Message 反向ND请求 0 类似IPv4的 RARP 请求(RFC3122) RARP请求 0 141 Inverse
142 Inverse ND Advertisement Message 反向ND通告 0 类似IPv4的 RARP 应答帧 RARP应答 0 142
MLD 143 Multicast Listener Discovery (MLDv2) reports 报告 RFC 9777 LLA, (::) ff02::16 224.0.0.22 143 MLD
Mobile 144 Home Agent Address Discovery Request Message 0 归属代理地址发现请求及回复
移动前缀请求及回复
用来支持移动 IPv6 (RFC 3775)
0 144 Mobile
145 Home Agent Address Discovery Reply Message 0 0 145
146 Mobile Prefix Solicitation 移动前缀请求 0 0 146
147 Mobile Prefix Advertisement 移动前缀通告 0 0 147
SEND 148 Certification Path Solicitation (SEND) 认证路径请求 为邻居发现协议提供安全保障 LLA, (::) ff02::2 148 SEND
149 Certification Path Advertisement (SEND) 认证路径通告 LLA ff02::1 149
MRD 151 Multicast Router Advertisement (MRD) 多播路由器通告 用来发现多播路由器 (RFC 4286) 路由器 ff02::6a 224.0.0.106 151 MRD
152 Multicast Router Solicitation (MRD) 多播路由器请求 (设备) ff02::2 224.0.0.2 152
153 Multicast Router Termination (MRD) 多播路由器终止 路由器 ff02::6a 224.0.0.106 153
155 RPL Control Message 控制消息 155
Eecho 160 Extended Echo Request 扩展回显请求 0 请求扩展回显 (Extended) 0 160 Eecho
161 Extended Echo Reply 扩展回显回复 0 无错误 0 161
1 查询格式错误 (Malformed) 1
2 无此接口 2
3 无此表项 (Entry) 3
4 多个接口满足查询 (Satisfy) 4
200 Private experimentation 私人实验 (RFC 4443) 200
201 Private experimentation 私人实验 201
255 Reserved for expansion 保留 255

用于IPv4 的 ICMP消息类型及代码列表

4. ICMPv6-NDP(133-137)

邻居发现协议( NDP ),或简称为邻居发现( ND ),是与Internet 协议版本 6 (IPv6)一起使用的Internet 协议套件中的一种协议。 
它在Internet 模型的互联网层运行,负责收集网络通信所需的各种信息,包括本地连接的配置以及域名服务器和网关。
IPv6 ND 几乎具备所有IPv4 网络环境中的地址解析、路由器发现和路由重定向功能,但在运作方式上存在某些明显的差异。
IPv6 ND 还包括了新的功能,例如 IPv6 前缀发现、地址冲突检测(DAD)以及邻居不可达检测(Neighbor Unreachability Detection, NUD°

4.1 NDP(133-137)提供的功能

ICMPv6 邻居发现协议包括以下几种 ICMPv6 信息类消息(详见RFC 4861):
类型(133-137)的: RS, RA, NS, NA, 重定向(Redirect)消息。
这些消息用于提供以下功能:
  • 路由器发现:主机可以定位位于所连接链路上的路由器。
  • 前缀发现:主机可以发现连接链路的在线地址前缀。
  • 参数发现:主机可以找到链接参数(例如,MTU)。
  • 地址自动配置:可选的无状态网络接口地址配置(SLAAC)。
  • 地址解析:IP地址和链路层地址的映射。类似于 IPv4 中的地址解析协议(ARP)
  • 反向邻居发现(IND)协议扩展: 允许节点确定并通告与给定链路层地址相对应的 IPv6 地址,类似于IPv4 的反向 ARP。
  • 下一跳确定:主机可以找到目的地的下一跳路由器。
  • 邻居不可达检测 (NUD):确定邻居在链路上不再可达。
  • 重复地址检测(DAD):节点可以检查某个地址是否已被使用。
  • 通过路由器通告 (RA) 选项分配递归 DNS 服务器 (RDNSS) 和 DNS 搜索列表 (DNSSL)。这是自 2010 年起提出的一项标准,并于 2017 年 3 月更新,但并非所有客户端都支持。
  • 数据包重定向: 为某些目的地提供更好的下一跳路由。

IPv6 路径 MTU 发现
IPv6 路径 MTU 发现机制定义于RFC 8201 “Path MTU Discovery for IP version 6” 
构成数据包转发路径的各条链路的最 低MTU值被称为路径MTU(PMTU)值。 
由于指定的源、目的主机之间的流量转发路径可能会随时改变,因此 PMTU 值也会随之而变。
所以说,源主机必须根据 PMTU值,动态调整有待发送的IPv6 数据包的长度。
路径 MTU 发现机制支持IPv6单、多播数据包的发送。

4.2 NDP(133-137)消息可携的选项

5种ICMPv6 邻居发现消息可携带一或多个选项,其中的某些选项可在同一条消息内 多次出现。
这些选项有助于 IPv6 设备行使各种与邻居发现有关的功能。 以下所列为常见 的五种 ICMPv6 邻居发现选项。 

  1. 源链路层地址选项(类型字段值为 1): 该选项包含了发送 IPv6 数据包的设备的第2层地址(一般为以太网 MAC 地址)。
    • NS 邻居恳求消息、RS 路由器恳求消息以及 RA 路由器通告消息通常会包含该选项。
  2. 目标链路层地址选项(类型字段值为2): 该选项包含了执行地址解析的IPv6 设备有待获悉的第2层地址(一般为以太网 MAC 地址)。
    • NA 邻居通告消息和 Redirect 重定向消息通常会包含该选项。
  3. 前缀信息选项(类型字段值为3): 该选项包含了执行 SLAAC 的IPv6主机希望接收的IPv6前缀及其他地址信息。
    • RA 路由器通告消息会携带前缀信息选项。
  4. 重定向头部选项(类型字段值为4): 该选项由ICMPv6 Redirect 重定向消息携带,包含了触发 ICMPv6 重定向消息的IPv6 数据包的全部或部分内容。
  5. MTU 选项(类型字段值为5): MTU选项由 RA 路由器通告消息携带,作用是让本地链路上的所有IPv6 设备采用相同的MTU值。

4.3 重复地址检测DAD

RFC 4429 “Optimistic Duplicate Address Detection (DAD) for IPv6”讨 论了无须执行 DAD 的特殊情况。 
注意 IPv6 地址冲突检测(DAD)定义于
  • RFC 4429 Optimistic Duplicate Address Detection (DAD) for IPv6 (优化DAD)
  • RFC 4861 Neighbor Discovery for IP version 6 (IPv6) (NDP)
  • RFC 4862 IPv6 Stateless Address Autoconfiguration (SLAAC)
  • RFC 7527 Enhanced Duplicate Address Detection (增强DAD)

4.4 邻居不可达检测(NUD)

邻居不可达检测(Neighbor Unreachability Detection, NUD)定义于 RFC 4861" Neighbor Discovery for IP Version 6 (IPv6) 
确定与邻 居设备之间具备双向通信能力: 只要满足以下两个条件之一,
  • IPv6 设备发出 NA 消息作为对邻居设备发出的NS 消息的回应。 
  • IPv6 设备所运行的高层协议“指出”:本机与邻居设备之间成功建立了连接,例 如,与邻居设备之间建立起了 TCP 连接。 
IPv6 设备只有进行单播 通信时,才会执行邻居不可达检测操作。 
连接了大量IPv6主机的第一跳路由器在执行NUD 操作时,会加重其控制平面的负担。
此时,路由器不但要维护一张极为庞大的邻居缓存表,其CPU 还必须处理海量的 NS 和NA 消息

IPv6 设备 所执行的NUD(邻居不可达检测)算法,会让邻居缓存表记录处于5种可达性状态之一. 两种最常见的状态是 Reachable(可达)和 Stale(过期)。 

  • Fail (Delete Entry)状态: 失败(删除条目) 这并不是一种邻居缓存表记录所处的状态,它表示邻居缓存表中不存在指定的IPv6 地址以及与之相关联的MAC 地址的对应关系。
  • Incomplete 状态: 不完整 表示IPv6 设备正在执行地址解析操作,尚未知晓与指定的IPv6地址相关联的链路层地址。
    • 也就是说,IPv6 设备已经发出了NS 消息,意在解析与指定的IPv6 地址相关联的MAC 地址。
    • 若IPv6 设备连发3条NS 消息,都未能收到拥有该 IPv6 地址的邻居设备回复的NA 消息,则会删除状态为“Incomplete"的邻居缓存表记录,因为拥有指定的IPv6地址的邻居设备并不存在。
  • Reachable 状态: 可达 IPv6 设备刚收到拥有指定的IPv6 地址的邻居设备发送的数据包,并确定该邻居设备可达。
    • 为了解析与指定的IPv6 地址相关联的MAC 地址,IPv6设备在发出NS 消息之后,收到了拥有该IPv6 地址的邻居设备回复的NA 消息。
    • 此时,IPv6 设备会将与该邻居设备相关联的邻居缓存表记录(从Incomplete 状态)转变为 Reachable 状态。
  • Stale 状态: 陈旧 从拥有指定 IPv6 地址的邻居设备收到数据包之后,若在一段时间内(这段时长被称为可达时间)两者之间未再次发生通信,IPv6 设备便会将与该邻居设备相关联的邻居缓存表记录的状态从Reachable 转变为 Stale。
    • 收到“不请自来”的NA 消息(某邻居设备主动发送的NA 消息)时,IPv6设备也会将与该邻居设备相关联的邻居缓存表记录置为该状态。 此时,IPv6 设备无须执行任何邻居发现操作。
  • Delay 状态: 延迟 这是一种临时状态,表示IPv6设备已向邻居设备发出了数据包, 正在等待回复,目前还不能确认该邻居设备是否可达。 (例如,在建立 TCP 连接时,IPv6 设备向邻居设备发出了TCP SYN报文段,正等待邻居设备回复的 TCP SYN ACK 报文段)
    • 若在5秒之内收到了邻居设备回复的数据包,则 IPv6 设备会将与该邻居设备相关联的邻居缓存表记录转变为 Reachable状态; 否则,会转变为 Probe状态。
  • Probe: 探测 这是一种临时状态,表示IPv6 设备正在重新解析与指定的IPv6 地址相关联的MAC 地址,会像处于 Incomplete 状态那样,再次将NS 消息发往拥有该 IPv6地址的邻居设备。
    • 若拥有该 IPv6 地址的邻居设备回复相应的NA 消息,则IPv6设备会将与该邻居设备相关联的邻居缓存表记录转变为 Reachable 状态。
    • 若IPv6设备连发3条NS 消息,都未能收到拥有该IPv6 地址的邻居设备回复的NA 消息,则会删除状态为“Probe”的邻居缓存表记录。

5. ICMPv6其他功能

ICMPv6 具有一个用于扩展以实现新功能的框架。
目前已发布了多个扩展,定义了新的 ICMPv6 消息类型以及现有 ICMPv6 消息类型的新选项。
例如,邻居发现协议(NDP) 是一个基于 ICMPv6 的节点发现协议,它取代并增强了ARP的功能。
安全邻居发现(SEND) 是 NDP 的扩展,具有额外的安全性。
Pv6路由器使用多播侦听器发现(MLD) 来发现直连链路上的多播侦听器,就像IPv4中使用的Internet 组管理协议(IGMP) 一样。
多播路由器发现(MRD) 允许发现多播路由器。

5.1 MLD(130-132,143)

Pv6路由器使用多播侦听器发现(MLD) 来发现直连链路上的多播侦听器, 就像IPv4中使用的Internet 组管理协议(IGMP) 一样。
多播侦听器发现( MLD ) 是互联网协议第六版(IPv6) 协议套件的一个组件。
IPv6 路由器使用 MLD 来发现直连链路上的多播侦听器,类似于IPv4中使用的互联网组管理协议(IGMP) 。
该协议嵌入在ICMPv6中,而不是使用单独的协议。
MLDv1(RFC2710)与IGMPv2 类似,MLDv2(RFC9777)与 IGMPv3 类似。
与 MLDv1 相比,MLDv2 协议增加了对“源过滤”的支持, 即节点能够报告仅监听来自特定源地址的数据包以支持SSM (源特定多播 Source-Specifc Multicast RFC3569), 或监听来自除特定源地址之外的所有发送到特定多播地址的数据包。
MLDv2 旨在与 MLDv1 互操作。

MLD 的 Type 信息: 
  • 130  多播侦听器查询
  • 131  MLDv1 多播侦听器报告
  • 143  MLDv2 多播侦听器报告
  • 132  多播侦听器完成

其中 130  多播侦听器查询消息有三种变体: 
  • General Query: 查询器发送“通用查询”来了解哪些多播地址在连接的链路上有监听者。
    • “多播地址”字段和“源数量 (N)”字段均为零。⽬标地址: ff02::1
  • Multicast Address Specifc Query: 查询器发送“多播地址特定查询”来了解特定多播地址在连接的链路上是否有监听者。
    • “多播地址”字段包含感兴趣的多播地址,而“源数量 (N)”字段设置为零。查询的⽬标地址: 感兴趣的多播地址
  • Multicast Address and Source Specifc Query: 查询器发送“多播地址和源特定查询”来了解特定多播地址的指定列表中的任何源在连接的链路上是否有监听者。
    • “多播地址”字段包含感兴趣的多播地址,而“源地址 [i]”字段包含感兴趣的源地址。查询的⽬标地址: 感兴趣的多播地址

5.2 SEND(148-149)

安全邻居发现(SEND) 是 NDP 的扩展,具有额外的安全性。 在 RFC 3971 中定义,在 RFC 6494、RFC 6495、RFC 6980 中被更新。
它使用加密生成地址(CGA) 和资源公钥基础设施(RPKI),提供了一种独立于IPsec的加密方法来保护 NDP 的替代机制。

在IPv6中,邻居发现协议(NDP) 负责发现本地链路上的其他网络节点,确定其他节点的链路层地址,查找可用的路由器,并维护通往其他活动邻居节点路径的可达性信息 (RFC 4861)。
NDP 并不安全,且易受恶意干扰。SEND 旨在提供一种替代机制,采用独立于IPsec(IPv6 通信安全最初的固有方法)的加密方法来保护 NDP。

148 Certification Path Solicitation (SEND) 认证路径请求
  • 源地址:分配给发送接口的链路本地单播地址(LLA: ff80::/64), 如果发送接口未分配地址,则分配给未指定的地址。
  • 目标地址:通常是全路由器多播地址(All-Routers: ff02::2)、 请求节点多播地址(Solicited-Node: ff02::1:ff00:0/104)或 主机默认路由器的地址。

149 Certification Path Advertisement (SEND) 认证路径通告
  • 源地址:分配给发送此消息的接口的链路本地单播地址(LLA)。 请注意,路由器可能使用多个地址,因此此地址不足以作为路由器的唯一标识。
  • 目标地址:接收方的请求节点多播地址(Solicited-Node: ff02::1:ff00:0/104)或 链路范围内的全节点多播地址(All-Nodes: ff0::1)。

跳数限制: 255

5.3 MRD(151-153)

多播路由器发现( MRD ) 提供了一种在IP 网络上发现多播路由器的通用机制。
对于IPv4,该机制基于IGMP。对于IPv6,该机制基于MLD。多播路由器发现由 RFC 4286 定义。

多播路由器发现 (Multicast Router Discovery) 包含三条用于发现多播路由器的消息。
  • 151 Multicast Router Advertisement (MRD) 多播路由器通告,  由路由器发送,用于通告 IP 多播转发功能已启用。 周期性(4~180秒),  收到请求消息后 发送.
  • 152 Multicast Router Solicitation (MRD) 多播路由器请求,  设备可以通过LLA发送[多播路由器请求]消息,以便从多播路由器请求[通告消息]。
  • 153 Multicast Router Termination (MRD) 多播路由器终止,  当路由器停止某个接口上的 IP 多播路由功能时,会发送[多播路由器终止]消息。

通告多播路由器的位置外,通告还传达有关组管理协议变量的有⽤信息。 此信息可⽤于⼦⽹的⼀致性检查 。

⽬标地址 
通告和终⽌消息被发送到 All-Snoopers 多播地址。IPv6(ff02::6a) IPv4(224.0.0.106)
请求消息被发送到所有路由器多播地址。IPv6(ff02::2) IPv6MAC(33-33-ff-00-00-02) IPv4(224.0.0.2)

⽣存时间/跳数限制: IPv4 TTL 和 IPv6 跳数限制设置为 1。

6. 两张缓存表

IPv6 主机会为每块 NIC 维护以下两张缓存表:
  • 邻居缓存表(Neighbor Cache), 功能方面等同于IPv4 ARP 缓存表。
  • 目的缓存表(Destination Cache)。

6.1 Neighbor Cache

邻居缓存表 除了能反映出邻居设备的IPv6 单播地址和 MAC 地址的对应关系以外,邻居缓存表记录 还能告知用户:邻居设备是路由器还是主机、邻居设备的IPv6 地址的可达状态、 本机是否有排队待发的IPv6 数据包正在等待地址解析操作的完成,以及本机将要执行的下一次邻居不可达检测操作的时间。
IPv6 设备会根据收到的NA 消息所包含的信息,来维护本机邻居缓存表。

Windows 主机的邻居缓存表:
C:\> netsh interface ipv6 show neighbors
Linux 主机的邻居缓存表:
Linux# ip -6 neighbor show
MacOS 主机的邻居缓存表:
MacOS$ ndp -a

6.2 Destination Cache

目的缓存表
 >  netsh Interface ipv6 show destinationcache
IPv6 设备还会维护另外一张表,名为目的缓存表。
IPv6 主机会把刚刚与本机发生过通信的目的主机的IPv6 地址记录进目的缓存表,包括位于不隶属于本地链路上(本地子网)的目的主机的IPv6 地址。
若出现在目的缓存表里的目的主机的IPv6 地址不隶属于本 地链路, 则与该 IPv6 地址形成对应关系的将会是下一跳路由器的IPv6 地址。
每台 IPv6设备都会维护一张默认路由器的IPv6 地址列表,转发目的地址在本地链路(本地子网)之外的IPv6 数据包时,会从列表中选择一个 IPv6 地址作为转发此类 IPv6 数据包的默认路由器的IPv6 地址。
然后,IPv6 设备还会将选定的默认路由器的IPv6 地址保存进目的缓存表,与所要转发的IPv6 数据包的目的地址形成对应关系。

Microsoft-Store-error

导航 (返回顶部) 1. Store初始化失败 1.1 为何要卸载Edge 1.2 如何卸载Edge 1.3 为何删除Edge会影响微软商店 2. 微软商店无法联网 2.1 解除网络隔离的办法有: 3. CheckNetIsolation解除网络隔离 3.1 查...