← 返回内容列表

了解 IPv6 链路本地地址

了解 IPv6 链路本地地址

本文档的目的是提供对网络中 IPv6 链路本地地址的理解。链路本地地址是 IPv6 单播地址,可以使用链路本地前缀 FE80::/10 (1111 1110 10) 和修改后的 EUI-64 格式的接口标识符在任何接口上自动配置。链路本地地址不一定绑定到 MAC 地址(以 EUI-64 格式配置)。也可以使用ipv6 address link-local命令以 FE80::/10 格式手动配置链路本地地址。 这些地址仅指特定的物理链路,用于在单个链路上进行寻址,用于自动地址配置和邻居发现协议等目的。链路本地地址可用于到达连接到同一链路的相邻节点。节点不需要全局唯一地址来进行通信。路由器不会使用链路本地地址转发数据报。IPv6 路由器不得将具有链路本地源或目标地址的数据包转发到其他链路。所有启用 IPv6 的接口都有一个本地链路单播地址。

<h2>介绍</h2> <p>本文档的目的是提供对网络中 IPv6 链路本地地址的理解。链路本地地址是 IPv6 单播地址,可以使用链路本地前缀 FE80::/10 (1111 1110 10) 和修改后的 EUI-64 格式的接口标识符在任何接口上自动配置。链路本地地址不一定绑定到 MAC 地址(以 EUI-64 格式配置)。也可以使用<strong><a href="https://www.cisco.com/en/US/docs/ios/ipv6/command/reference/ipv6_05.html#wp2320779">ipv6 address link-local</a></strong>命令以 FE80::/10 格式手动配置链路本地地址。</p> <p>这些地址仅指特定的物理链路,用于在单个链路上进行寻址,用于自动地址配置和邻居发现协议等目的。链路本地地址可用于到达连接到同一链路的相邻节点。节点不需要全局唯一地址来进行通信。路由器不会使用链路本地地址转发数据报。IPv6 路由器不得将具有链路本地源或目标地址的数据包转发到其他链路。所有启用 IPv6 的接口都有一个本地链路单播地址。</p> <p><a name="prereq"></a></p> <h2>先决条件</h2> <p><a name="req"></a></p> <h3>要求</h3> <p>在尝试此配置之前,请确保您了解<a href="https://www.cisco.com/c/en/us/td/docs/ios-xml/ios/ipv6/configuration/15-2mt/ipv6-15-2mt-book/ip6-addrg-bsc-con.html#GUID-D361225C-8B53-49EA-BE0D-D8F9071F5828">IPv6 地址格式。</a></p> <p><a name="comp"></a></p> <h3>使用的组件</h3> <p>本文档不限于特定的软件和硬件版本。</p> <p>本文档中的配置基于带有 Cisco IOS&reg; 软件版本 12.4 (15)T1 的 Cisco 3700 系列路由器。</p> <p><a name="conf"></a></p> <h2>配置</h2> <p>在此示例中,路由器 R1、R2 和 R3 通过串行接口连接,并按照网络图中的说明配置 IPv6 地址。在路由器 R1 和 R3 上配置环回地址,路由器之间使用 OSPFv3 进行通信。此示例使用<strong>ping</strong>命令演示使用链路本地地址的路由器之间的连接。路由器 R1 和 R3 可以使用 IPv6 全局单播地址相互 ping,但不能使用它们的链路本地地址。但是,直接连接到 R1 和 R3 的路由器 R2 可以使用它们的链路本地地址与这两个路由器通信,因为链路本地地址仅在特定于物理接口的本地网络中使用。</p> <p><a name="diag"></a></p> <h3>网络图</h3> <p>本文档使用此网络设置:</p> <p><a href="https://www.cisco.com/c/dam/en/us/support/docs/ip/ip-version-6-ipv6/113328-ipv6-lla-01.gif"><img alt="ipv6-lla-01.gif" src="https://www.cisco.com/c/dam/en/us/support/docs/ip/ip-version-6-ipv6/113328-ipv6-lla-01.gif" /></a></p> <p><a name="configs"></a></p> <h3>配置</h3> <p>本文档使用以下配置:</p> <ul> <li> <p>路由器 R1</p> </li> <li> <p>路由器 R2 &amp; R3</p> </li> </ul> <p>下面是一个视频链接(可在<a href="https://community.cisco.com/t5/technology-and-support/ct-p/technology-support" target="_blank">Cisco 支持社区</a>获得),该视频演示了 Cisco IOS 路由器中 IPv6 链路本地地址和全球单播地址之间的主要区别:</p> <p>了解 IPv6 链路本地地址</p> <p><a href="https://www.cisco.com/c/dam/en/us/support/docs/ip/ip-version-6-ipv6/113328-ipv6-lla-02.gif"><img alt="ipv6-lla-02.gif" src="https://www.cisco.com/c/dam/en/us/support/docs/ip/ip-version-6-ipv6/113328-ipv6-lla-02.gif" /></a></p> <p><a name="t1"></a></p> <table border="1" cellpadding="3" cellspacing="1" style="width:60%"> <tbody> <tr> <th colspan="1" rowspan="1">路由器 R1</th> </tr> <tr> <td colspan="1" rowspan="1"> <pre> ! hostname R1 ! ipv6 cef ! ipv6 unicast-routing ! interface Loopback10 no ip address ipv6 address 2010::/64 eui-64 <em> !--- Assigned a IPv6 unicast address in EUI-64 format. </em> ipv6 ospf 1 area 1 <em> !--- Enables OSPFv3 on the interface and associates the interface looback10 to area 1. </em> ! interface Loopback20 no ip address ipv6 address 2020::/64 eui-64 ipv6 ospf 1 area 2 <em> !--- Associates the Interface loopback20 to area 2. </em> ! interface Serial0/0 no ip address ipv6 address 2001::1/124 ipv6 ospf 1 area 0 <em> !--- Associates the Interface serial0/0 to area 0. </em> clock rate 2000000 ! ipv6 router ospf 1 router-id 1.1.1.1 <em> !--- Router R1 uses 1.1.1.1 as router id. </em> log-adjacency-changes ! end</pre> </td> </tr> </tbody> </table> <p>&nbsp;</p> <p><a name="t2"></a></p> <table border="1" cellpadding="3" cellspacing="1" style="width:60%"> <tbody> <tr> <th colspan="1" rowspan="1">路由器 R2</th> <th colspan="1" rowspan="1">路由器 R3</th> </tr> <tr> <td colspan="1" rowspan="1"> <pre> 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</pre> </td> <td colspan="1" rowspan="1"> <pre> ! 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</pre> </td> </tr> </tbody> </table> <p>&nbsp;</p> <p><a name="veri1"></a></p> <h2>核实</h2> <p><a name="ospf1"></a></p> <h3>验证 OSPF 配置</h3> <p>使用此部分来确认您的配置是否正常工作。</p> <p>为了验证 OSPF 是否已正确配置,请在路由器 R1 和 R3 中使用<strong><a href="https://www.cisco.com/en/US/docs/ios/ipv6/command/reference/ipv6_16.html#wp2669925">show ipv6 route ospf命令。</a></strong></p> <table border="1" cellpadding="3" cellspacing="1" style="width:60%"> <tbody> <tr> <th colspan="1" rowspan="1"><strong>显示 ipv6 路由 ospf</strong></th> </tr> <tr> <td colspan="1" rowspan="1"><strong>Router R1</strong> <pre> 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</pre> <strong>Router R3</strong> <pre> R3#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</pre> </td> </tr> </tbody> </table> <p>&nbsp;</p> <p><a name="veri"></a></p> <h2>验证链路本地地址可达性</h2> <p>路由器可以用全球单播地址相互ping通。但是,当使用本地链接地址时,只有直接连接的网络可以通信。例如,R1 可以使用全局单播地址 ping R3,但两个路由器无法使用链路本地地址进行通信。这在路由器 R1 和 R3中使用<strong>ping</strong>和<strong>debug ipv6 icmp命令显示。</strong>本节提供场景以更好地理解链接本地地址。</p> <p><a name="remote"></a></p> <h3>从远程网络 ping 链路本地地址</h3> <p>当路由器 R1 尝试使用链路本地地址与路由器 R3 通信时,路由器 R1 返回一个 ICMP 超时消息,指示链路本地地址是本地特定的,并且不能与直接在该链路之外的链路本地地址通信。连接的网络。</p> <table border="1" cellpadding="3" cellspacing="1" style="width:60%"> <tbody> <tr> <th colspan="1" rowspan="1">从路由器 R1 ping R3 的链路本地地址</th> </tr> <tr> <td colspan="1" rowspan="1"><br /> <strong>在</strong>路由器<strong> R1 中</strong> <pre> R1#<strong>ping</strong> FE80::AB8 <em> !--- Pinging Link-Local Address of router R3. </em> Output Interface: serial0/0 <em> !--- To ping LLA, output interface must be entered. </em> 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) <em> !--- 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. </em></pre> </td> </tr> </tbody> </table> <p>&nbsp;</p> <p><a name="dc"></a></p> <h3>从直连网络 Ping 链路本地地址</h3> <p>对于路由器 R2,路由器 R1 和 R3 直接相连,并且可以通过提及连接到路由器的相应接口来 ping 路由器 R1 和 R2 的链路本地地址。输出如下所示:</p> <table border="1" cellpadding="3" cellspacing="1" style="width:60%"> <tbody> <tr> <th colspan="1" rowspan="1">从路由器 R2 ping R1 链路本地地址</th> </tr> <tr> <td colspan="1" rowspan="1"><strong>在路由器 R2 中</strong> <pre> R2#<strong>ping</strong> FE80::C000:1DFF:FEE0:0 </pre> <pre> <em>!--- ping 路由器 R1 的链路本地地址。 </em> </pre> <pre> Output Interface: serial0/0 </pre> <pre> <em> !--- 注意,要ping LLA,需要提到输出接口 在我们的例子中,R2 通过serial0/0 连接到R1。 </em> </pre> <pre> 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</pre> <strong>Debug output from R1</strong> <pre> R1# *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 <em> !--- 调试输出显示路由器 R2 可以 ping 路由器 R1 的链路本地地址。 </em> </pre> </td> </tr> </tbody> </table> <p>&nbsp;</p> <table border="1" cellpadding="3" cellspacing="1" style="width:60%"> <tbody> <tr> <th colspan="1" rowspan="1">从路由器 R2 ping R3 链路本地地址</th> </tr> <tr> <td colspan="1" rowspan="1"><strong>在路由器 R2 中</strong> <pre> R2# <strong>ping</strong> FE80::AB8 <em>!--- ping 路由器 R3 的链路本地地址。 </em> </pre> <pre> Output Interface: serial0/1 </pre> <pre> <em> !--- 请注意,要 ping LLA,应提及输出接口。在我们的例子中,R2 通过 serial0/1 连接到 R3。 </em> 键入转义序列以中止。 向 FE80::AB8 发送 5 个 100 字节的 ICMP Echo,超时为 2 秒: 发送源地址为 FE80::C001:1DFF:FEE0:0 的数据包 !!!!!! 成功率为 100% (5/5),往返 min/avg/max = 0/18/60 ms</pre> <strong>R3 的调试输出</strong> <pre> 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</pre> <pre> <em> !--- 调试输出显示路由器 R2 可以 ping 路由器 R3 的链路本地地址。 </em> </pre> </td> </tr> </tbody> </table> <p>&nbsp;</p> <p>顾名思义,链接本地地址仅特定于该本地网络。换句话说,路由器可以具有相同的本地链路地址,并且直接连接的网络仍然可以相互通信而不会发生任何冲突。在全球单播地址的情况下,这将是不同的。可路由的全球单播地址在网络中应该是唯一的。<strong><a href="https://www.cisco.com/en/US/docs/ios/ipv6/command/reference/ipv6_14.html#wp2373271">show ipv6 interface brief</a></strong>命令显示接口上链路本地地址的信息。</p> <table border="1" cellpadding="3" cellspacing="1" style="width:60%"> <tbody> <tr> <th colspan="1" rowspan="1"><strong>显示 ipv6 接口简介</strong></th> </tr> <tr> <td colspan="1" rowspan="1"><strong>在路由器 R1</strong> <pre> R1#show ipv6 interface brief Serial0/0 [up/up] <strong>FE80::AB8</strong> 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</pre> <strong>在路由器 R3</strong> <pre> R3#show ipv6 interface brief Serial0/0 [up/up] <strong>FE80::AB8</strong> 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</pre> <pre> <em> !--- 表明 R1 和 R3 的串行接口具有相同的链路本地地址 FE80::AB8。 </em> </pre> </td> </tr> </tbody> </table> <p>&nbsp;</p> <p>在本例中,R1 和 R3 被分配了相同的链路本地地址,通过指定相应的输出接口,R2 仍然可以到达两个路由器。</p> <table border="1" cellpadding="3" cellspacing="1" style="width:60%"> <tbody> <tr> <th colspan="1" rowspan="1">从 R2 ping R1 和 R3 的链路本地地址</th> </tr> <tr> <td colspan="1" rowspan="1"><strong>从 R2 ping R1 的链路本地地址</strong> <pre> R2#ping FE80::AB8 输出接口:serial0/0 <em> !--- R2 通过serial0/0 连接到R1。 </em> 键入转义序列以中止。 向 FE80::AB8 发送 5 个 100 字节的 ICMP Echo,超时为 2 秒: 发送源地址为 FE80::C001:1DFF:FEE0:0 的数据包 !!!!!! 成功率为 100% (5/5),往返 min/avg/max = 0/26/92 ms</pre> <strong>R1 的调试输出</strong> <pre> 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</pre> <strong>从 R2 ping R3 的链路本地地址</strong> <pre> R2#ping FE80::AB8 输出接口:serial0/1 <em> !--- R2 通过serial0/1 连接到R1。 </em> 键入转义序列以中止。 向 FE80::AB8 发送 5 个 100 字节的 ICMP Echo,超时为 2 秒: 发送源地址为 FE80::C001:1DFF:FEE0:0 的数据包 !!!!!! 成功率为 100% (5/5),往返 min/avg/max = 4/28/76 ms</pre> <strong>R3 的调试输出</strong> <pre> 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</pre> </td> </tr> </tbody> </table> <p>&nbsp;</p> <p><strong>注意:&nbsp;</strong>&nbsp;R2 只能 ping 通 R1 和 R3 的链路本地地址,因为它们是直连的。R2 无法 ping 路由器 R1 和 R3 中环回接口的链路本地地址,因为它们没有直接连接。只有在直连网络的情况下,Ping 才对链路本地地址起作用。</p> <p><strong>注意:&nbsp;</strong>&nbsp;Traceroutes 在链路本地地址的情况下不起作用,并返回<em>% No valid source address for destination。</em>错误信息。这是因为 IPv6 路由器不得将具有链路本地源或目标地址的数据包转发到其他链路。</p>

评论 (0)

加载评论中…