常用操作系统管理 返回

  • 了解 IPv6 链路本地地址

    • 发布人:peadmin
    • 阅读量:677
  • 介绍

    本文档的目的是提供对网络中 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 可以使用它们的链路本地地址与这两个路由器通信,因为链路本地地址仅在特定于物理接口的本地网络中使用。

    网络图

    本文档使用此网络设置:

    ipv6-lla-01.gif

    配置

    本文档使用以下配置:

    • 路由器 R1

    • 路由器 R2 & R3

    下面是一个视频链接(可在Cisco 支持社区获得),该视频演示了 Cisco IOS 路由器中 IPv6 链路本地地址和全球单播地址之间的主要区别:

    了解 IPv6 链路本地地址

    ipv6-lla-02.gif

    路由器 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 R3
    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

     

    验证链路本地地址可达性

    路由器可以用全球单播地址相互ping通。但是,当使用本地链接地址时,只有直接连接的网络可以通信。例如,R1 可以使用全局单播地址 ping R3,但两个路由器无法使用链路本地地址进行通信。这在路由器 R1 和 R3中使用pingdebug 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 R1
    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
    
    
    !--- 调试输出显示路由器 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
    在路由器 R3
    R3#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 路由器不得将具有链路本地源或目标地址的数据包转发到其他链路。

  • 2022-08-14