常用操作系统管理 返回
-
了解 IPv6 链路本地地址
-
介绍
本文档的目的是提供对网络中 IPv6 链路本地地址的理解。链路本地地址是 IPv6 单播地址,可以使用链路本地前缀 FE80::/10 (1111 1110 10) 和修改后的 EUI-64 格式的接口标识符在任何接口上自动配置。链路本地地址不一定绑定到 MAC 地址(以 EUI-64 格式配置)。也可以使用ipv6 address link-local命令以 FE80::/10 格式手动配置链路本地地址。
这些地址仅指特定的物理链路,用于在单个链路上进行寻址,用于自动地址配置和邻居发现协议等目的。链路本地地址可用于到达连接到同一链路的相邻节点。节点不需要全局唯一地址来进行通信。路由器不会使用链路本地地址转发数据报。IPv6 路由器不得将具有链路本地源或目标地址的数据包转发到其他链路。所有启用 IPv6 的接口都有一个本地链路单播地址。
先决条件
要求
在尝试此配置之前,请确保您了解IPv6 地址格式。
使用的组件
本文档不限于特定的软件和硬件版本。
本文档中的配置基于带有 Cisco IOS® 软件版本 12.4 (15)T1 的 Cisco 3700 系列路由器。
配置
在此示例中,路由器 R1、R2 和 R3 通过串行接口连接,并按照网络图中的说明配置 IPv6 地址。在路由器 R1 和 R3 上配置环回地址,路由器之间使用 OSPFv3 进行通信。此示例使用ping命令演示使用链路本地地址的路由器之间的连接。路由器 R1 和 R3 可以使用 IPv6 全局单播地址相互 ping,但不能使用它们的链路本地地址。但是,直接连接到 R1 和 R3 的路由器 R2 可以使用它们的链路本地地址与这两个路由器通信,因为链路本地地址仅在特定于物理接口的本地网络中使用。
网络图
本文档使用此网络设置:
配置
本文档使用以下配置:
-
路由器 R1
-
路由器 R2 & R3
下面是一个视频链接(可在Cisco 支持社区获得),该视频演示了 Cisco IOS 路由器中 IPv6 链路本地地址和全球单播地址之间的主要区别:
了解 IPv6 链路本地地址
路由器 R1 ! hostname R1 ! ipv6 cef ! ipv6 unicast-routing ! interface Loopback10 no ip address ipv6 address 2010::/64 eui-64 !--- Assigned a IPv6 unicast address in EUI-64 format. ipv6 ospf 1 area 1 !--- Enables OSPFv3 on the interface and associates the interface looback10 to area 1. ! interface Loopback20 no ip address ipv6 address 2020::/64 eui-64 ipv6 ospf 1 area 2 !--- Associates the Interface loopback20 to area 2. ! interface Serial0/0 no ip address ipv6 address 2001::1/124 ipv6 ospf 1 area 0 !--- Associates the Interface serial0/0 to area 0. clock rate 2000000 ! ipv6 router ospf 1 router-id 1.1.1.1 !--- Router R1 uses 1.1.1.1 as router id. log-adjacency-changes ! end
路由器 R2 路由器 R3 hostname R2 ! ipv6 cef ! ! ! ! ipv6 unicast-routing ! ! ! interface Serial0/0 no ip address ipv6 address 2001::2/124 ipv6 ospf 1 area 0 clock rate 2000000 ! ! interface Serial0/1 no ip address ipv6 address 2002::1/124 ipv6 ospf 1 area 0 clock rate 2000000 ! ! ! ipv6 router ospf 1 router-id 2.2.2.2 log-adjacency-changes ! end
! hostname R3 ! ipv6 cef ! ipv6 unicast-routing ! interface Loopback10 no ip address ipv6 address 1010::/64 eui-64 ipv6 ospf 1 area 1 ! interface Loopback20 no ip address ipv6 address 2020::/64 eui-64 ipv6 ospf 1 area 2 ! interface Serial0/0 no ip address ipv6 address FE80::AB8 link-local ipv6 address 2002::2/124 ipv6 ospf 1 area 0 clock rate 2000000 ! ipv6 router ospf 1 router-id 3.3.3.3 log-adjacency-changes ! end
核实
验证 OSPF 配置
使用此部分来确认您的配置是否正常工作。
为了验证 OSPF 是否已正确配置,请在路由器 R1 和 R3 中使用show ipv6 route ospf命令。
显示 ipv6 路由 ospf Router R1 R1#show ipv6 route ospf IPv6 Routing Table - 10 entries Codes: C - Connected, L - Local, S - Static, R - RIP, B - BGP U - Per-user Static route, M - MIPv6 I1 - ISIS L1, I2 - ISIS L2, IA - ISIS interarea, IS - ISIS summary O - OSPF intra, OI - OSPF inter, OE1 - OSPF ext 1, OE2 - OSPF ext 2 ON1 - OSPF NSSA ext 1, ON2 - OSPF NSSA ext 2 D - EIGRP, EX - EIGRP external OI 1010::C002:1DFF:FEE0:0/128 [110/128] via FE80::C001:1DFF:FEE0:0, Serial0/0 O 2002::/124 [110/128] via FE80::C001:1DFF:FEE0:0, Serial0/0 OI 2020::C002:1DFF:FEE0:0/128 [110/128] via FE80::C001:1DFF:FEE0:0, Serial0/0
Router R3R3#show ipv6 route ospf IPv6 Routing Table - 10 entries Codes: C - Connected, L - Local, S - Static, R - RIP, B - BGP U - Per-user Static route, M - MIPv6 I1 - ISIS L1, I2 - ISIS L2, IA - ISIS interarea, IS - ISIS summary O - OSPF intra, OI - OSPF inter, OE1 - OSPF ext 1, OE2 - OSPF ext 2 ON1 - OSPF NSSA ext 1, ON2 - OSPF NSSA ext 2 D - EIGRP, EX - EIGRP external O 2001::/124 [110/128] via FE80::C001:1DFF:FEE0:0, Serial0/0 OI 2010::C000:1DFF:FEE0:0/128 [110/128] via FE80::C001:1DFF:FEE0:0, Serial0/0 OI 2020::C000:1DFF:FEE0:0/128 [110/128] via FE80::C001:1DFF:FEE0:0, Serial0/0
验证链路本地地址可达性
路由器可以用全球单播地址相互ping通。但是,当使用本地链接地址时,只有直接连接的网络可以通信。例如,R1 可以使用全局单播地址 ping R3,但两个路由器无法使用链路本地地址进行通信。这在路由器 R1 和 R3中使用ping和debug ipv6 icmp命令显示。本节提供场景以更好地理解链接本地地址。
从远程网络 ping 链路本地地址
当路由器 R1 尝试使用链路本地地址与路由器 R3 通信时,路由器 R1 返回一个 ICMP 超时消息,指示链路本地地址是本地特定的,并且不能与直接在该链路之外的链路本地地址通信。连接的网络。
从路由器 R1 ping R3 的链路本地地址
在路由器 R1 中R1#ping FE80::AB8 !--- Pinging Link-Local Address of router R3. Output Interface: serial0/0 !--- To ping LLA, output interface must be entered. Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to FE80::AB8, timeout is 2 seconds: Packet sent with a source address of FE80::C000:1DFF:FEE0:0 ..... Success rate is 0 percent (0/5) !--- The ping is unsuccessful and the ICMP packet cannot reach the destination through serial0/0. !--- This timeout indicates that R1 has not received any replies from the router R3.
从直连网络 Ping 链路本地地址
对于路由器 R2,路由器 R1 和 R3 直接相连,并且可以通过提及连接到路由器的相应接口来 ping 路由器 R1 和 R2 的链路本地地址。输出如下所示:
从路由器 R2 ping R1 链路本地地址 在路由器 R2 中 R2#ping FE80::C000:1DFF:FEE0:0
!--- ping 路由器 R1 的链路本地地址。
Output Interface: serial0/0
!--- 注意,要ping LLA,需要提到输出接口 在我们的例子中,R2 通过serial0/0 连接到R1。
Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to FE80::C000:1DFF:FEE0:0, timeout is 2 seconds: Packet sent with a source address of FE80::C001:1DFF:FEE0:0 !!!!! Success rate is 100 percent (5/5), round-trip min/avg/max = 0/19/56 ms
Debug output from R1R1# *Mar 1 03:59:53.367: ICMPv6: Received echo request from FE80::C001:1DFF:FEE0:0 *Mar 1 03:59:53.371: ICMPv6: Sending echo reply to FE80::C001:1DFF:FEE0:0 *Mar 1 03:59:53.423: ICMPv6: Received echo request from FE80::C001:1DFF:FEE0:0 *Mar 1 03:59:53.427: ICMPv6: Sending echo reply to FE80::C001:1DFF:FEE0:0 *Mar 1 03:59:53.463: ICMPv6: Received echo request from FE80::C001:1DFF:FEE0:0 *Mar 1 03:59:53.463: ICMPv6: Sending echo reply to FE80::C001:1DFF:FEE0:0 *Mar 1 03:59:53.467: ICMPv6: Received echo request from FE80::C001:1DFF:FEE0:0 *Mar 1 03:59:53.467: ICMPv6: Sending echo reply to FE80::C001:1DFF:FEE0:0 R1# *Mar 1 03:59:53.471: ICMPv6: Received echo request from FE80::C001:1DFF:FEE0:0 *Mar 1 03:59:53.471: ICMPv6: Sending echo reply to FE80::C001:1DFF:FEE0:0 !--- 调试输出显示路由器 R2 可以 ping 路由器 R1 的链路本地地址。
从路由器 R2 ping R3 链路本地地址 在路由器 R2 中 R2# ping FE80::AB8 !--- ping 路由器 R3 的链路本地地址。
Output Interface: serial0/1
!--- 请注意,要 ping LLA,应提及输出接口。在我们的例子中,R2 通过 serial0/1 连接到 R3。 键入转义序列以中止。 向 FE80::AB8 发送 5 个 100 字节的 ICMP Echo,超时为 2 秒: 发送源地址为 FE80::C001:1DFF:FEE0:0 的数据包 !!!!!! 成功率为 100% (5/5),往返 min/avg/max = 0/18/60 ms
R3 的调试输出R3# *Mar 1 04:12:11.518: ICMPv6: Received echo request from FE80::C001:1DFF:FEE0:0 *Mar 1 04:12:11.522: ICMPv6: Sending echo reply to FE80::C001:1DFF:FEE0:0 *Mar 1 04:12:11.594: ICMPv6: Received echo request from FE80::C001:1DFF:FEE0:0 *Mar 1 04:12:11.598: ICMPv6: Sending echo reply to FE80::C001:1DFF:FEE0:0 *Mar 1 04:12:11.618: ICMPv6: Received echo request from FE80::C001:1DFF:FEE0:0 *Mar 1 04:12:11.618: ICMPv6: Sending echo reply to FE80::C001:1DFF:FEE0:0 *Mar 1 04:12:11.622: ICMPv6: Received echo request from FE80::C001:1DFF:FEE0:0 *Mar 1 04:12:11.622: ICMPv6: Sending echo reply to FE80::C001:1DFF:FEE0:0 R3# *Mar 1 04:12:11.626: ICMPv6: Received echo request from FE80::C001:1DFF:FEE0:0 *Mar 1 04:12:11.630: ICMPv6: Sending echo reply to FE80::C001:1DFF:FEE0:0
!--- 调试输出显示路由器 R2 可以 ping 路由器 R3 的链路本地地址。
顾名思义,链接本地地址仅特定于该本地网络。换句话说,路由器可以具有相同的本地链路地址,并且直接连接的网络仍然可以相互通信而不会发生任何冲突。在全球单播地址的情况下,这将是不同的。可路由的全球单播地址在网络中应该是唯一的。show ipv6 interface brief命令显示接口上链路本地地址的信息。
显示 ipv6 接口简介 在路由器 R1 R1#show ipv6 interface brief Serial0/0 [up/up] FE80::AB8 2001::1 Loopback10 [up/up] FE80::C000:1DFF:FEE0:0 2010::C000:1DFF:FEE0:0 Loopback20 [up/up] FE80::C000:1DFF:FEE0:0 2020::C000:1DFF:FEE0:0
在路由器 R3R3#show ipv6 interface brief Serial0/0 [up/up] FE80::AB8 2002::2 Loopback10 [up/up] FE80::C002:1DFF:FEE0:0 1010::C002:1DFF:FEE0:0 Loopback20 [up/up] FE80::C002:1DFF:FEE0:0 2020::C002:1DFF:FEE0:0
!--- 表明 R1 和 R3 的串行接口具有相同的链路本地地址 FE80::AB8。
在本例中,R1 和 R3 被分配了相同的链路本地地址,通过指定相应的输出接口,R2 仍然可以到达两个路由器。
从 R2 ping R1 和 R3 的链路本地地址 从 R2 ping R1 的链路本地地址 R2#ping FE80::AB8 输出接口:serial0/0 !--- R2 通过serial0/0 连接到R1。 键入转义序列以中止。 向 FE80::AB8 发送 5 个 100 字节的 ICMP Echo,超时为 2 秒: 发送源地址为 FE80::C001:1DFF:FEE0:0 的数据包 !!!!!! 成功率为 100% (5/5),往返 min/avg/max = 0/26/92 ms
R1 的调试输出R1# *Mar 1 19:51:31.855: ICMPv6: Received echo request from FE80::C001:1DFF:FEE0:0 *Mar 1 19:51:31.859: ICMPv6: Sending echo reply to FE80::C001:1DFF:FEE0:0 *Mar 1 19:51:31.915: ICMPv6: Received echo request from FE80::C001:1DFF:FEE0:0 *Mar 1 19:51:31.919: ICMPv6: Sending echo reply to FE80::C001:1DFF:FEE0:0 *Mar 1 19:51:31.947: ICMPv6: Received echo request from FE80::C001:1DFF:FEE0:0 *Mar 1 19:51:31.947: ICMPv6: Sending echo reply to FE80::C001:1DFF:FEE0:0 *Mar 1 19:51:31.955: ICMPv6: Received echo request from FE80::C001:1DFF:FEE0:0 *Mar 1 19:51:31.955: ICMPv6: Sending echo reply to FE80::C001:1DFF:FEE0:0 R1# *Mar 1 19:51:31.955: ICMPv6: Received echo request from FE80::C001:1DFF:FEE0:0 *Mar 1 19:51:31.955: ICMPv6: Sending echo reply to FE80::C001:1DFF:FEE0:0
从 R2 ping R3 的链路本地地址R2#ping FE80::AB8 输出接口:serial0/1 !--- R2 通过serial0/1 连接到R1。 键入转义序列以中止。 向 FE80::AB8 发送 5 个 100 字节的 ICMP Echo,超时为 2 秒: 发送源地址为 FE80::C001:1DFF:FEE0:0 的数据包 !!!!!! 成功率为 100% (5/5),往返 min/avg/max = 4/28/76 ms
R3 的调试输出R3# *Mar 1 19:53:38.815: ICMPv6: Received echo request from FE80::C001:1DFF:FEE0:0 *Mar 1 19:53:38.819: ICMPv6: Sending echo reply to FE80::C001:1DFF:FEE0:0 *Mar 1 19:53:38.911: ICMPv6: Received echo request from FE80::C001:1DFF:FEE0:0 *Mar 1 19:53:38.915: ICMPv6: Sending echo reply to FE80::C001:1DFF:FEE0:0 *Mar 1 19:53:38.923: ICMPv6: Received echo request from FE80::C001:1DFF:FEE0:0 *Mar 1 19:53:38.927: ICMPv6: Sending echo reply to FE80::C001:1DFF:FEE0:0 *Mar 1 19:53:38.955: ICMPv6: Received echo request from FE80::C001:1DFF:FEE0:0 *Mar 1 19:53:38.955: ICMPv6: Sending echo reply to FE80::C001:1DFF:FEE0:0 R3# *Mar 1 19:53:38.963: ICMPv6: Received echo request from FE80::C001:1DFF:FEE0:0 *Mar 1 19:53:38.963: ICMPv6: Sending echo reply to FE80::C001:1DFF:FEE0:0
注意: R2 只能 ping 通 R1 和 R3 的链路本地地址,因为它们是直连的。R2 无法 ping 路由器 R1 和 R3 中环回接口的链路本地地址,因为它们没有直接连接。只有在直连网络的情况下,Ping 才对链路本地地址起作用。
注意: Traceroutes 在链路本地地址的情况下不起作用,并返回% No valid source address for destination。错误信息。这是因为 IPv6 路由器不得将具有链路本地源或目标地址的数据包转发到其他链路。
-
-