ISIS_基础&IPV6

ISIS基础实验

  • 基础配置

    # AR1
    sys
    sysn AR1
    int l0
    ip add 10.0.1.1 32
    int g0/0/0
    ip add 10.0.13.1 24
    int s3/0/0
    ip add 10.0.12.1 24
    isis 1 
    network-entity 49.0001.0000.0000.0001.00
    int g0/0/0
    isis en 1
    int l0
    isis en 1
    int s3/0/0
    isis en 1
    
    # AR2
    sys
    sysn AR2
    int l0
    ip add 10.0.2.2 32
    int g0/0/0
    ip add 10.0.24.2 24
    int s4/0/0
    ip add 10.0.12.2 24
    isis 1 
    network-entity 49.0001.0000.0000.0002.00
    int g0/0/0
    isis en 1
    int s4/0/0
    isis en 1
    int l0
    isis en 1
    quit
    
    # AR3
    sys
    sysn AR3
    isis 1
    network-entity 49.0001.0000.0000.0003.00
    int l0
    ip add 10.0.3.3 32
    isis en 1
    int g0/0/0
    ip add 10.0.13.3 24
    isis en 1
    int g0/0/1
    ip add 10.0.35.3 24
    isis en 1
    quit
    
    # AR4
    sys
    sysn AR4
    isis 1
    network-entity 49.0001.0000.0000.0004.00
    int l0
    	ip add 10.0.4.4 32
    	isis en 1
    int g0/0/0
    	ip add 10.0.45.4 24
    	isis en 1
    int g0/0/1
    	ip add 10.0.24.4 24
    	isis en 1
    	quit
    
    # AR5
    sys
    sysn AR5
    isis 1
    network-entity 49.0002.0000.0000.0005.00
    int g0/0/0
    	ip add 10.0.35.5 24
    	isis en 1
    int g0/0/2
    	ip add 10.0.45.5 24
    	isis en 1
    int g0/0/1
    	ip add 10.0.56.5 24
    	isis en 1
    int l0
    	ip add 10.0.5.5 32
    	isis en 1
    	quit
    
    # AR6
    sys
    sysn AR6
    isis 1
    network-entity 49.0003.0000.0000.0006.00
    int g0/0/0
    	ip add 10.0.56.6 24
    	isis en 1
    int g0/0/1
    	ip add 10.0.67.6 24
    	isis en 1
    int l0
    	ip add 10.0.6.6 32
    	isis en 1
    	quit
    
    # AR7
    sys
    sysn AR7
    isis 1
    network-entity 49.0003.0000.0000.0007.00
    int g0/0/0
    	ip add 10.0.67.7 24
    	isis en 1
    int l0
    	ip add 10.0.7.7 32
    	isis en 1
    	quit
    
  • 查看配置的命令

    [AR5]dis isis interface
    
                           Interface information for ISIS(1)
                           ---------------------------------
     Interface       Id      IPV4.State          IPV6.State      MTU  Type  DIS   
     GE0/0/0         001         Up                 Down         1497 L1/L2 No/No 
     GE0/0/2         002         Up                 Down         1497 L1/L2 No/No 
     GE0/0/1         003         Up                 Down         1497 L1/L2 No/No 
     Loop0           001         Up                 Down         1500 L1/L2 -- 
    **[AR1]dis isis peer**
    
                              Peer information for ISIS(1)
    
      System Id     Interface          Circuit Id       State HoldTime Type     PRI
    -------------------------------------------------------------------------------
    0000.0000.0003  GE0/0/0            0000.0000.0003.01 Up   7s       L1(L1L2) 64 
    0000.0000.0003  GE0/0/0            0000.0000.0003.01 Up   7s       L2(L1L2) 64 
    0000.0000.0002  S3/0/0             0000000001        Up   25s      L1L2     --
    
    Total Peer(s): 3
    **[AR5]dis isis lsdb**
    

    注意,dis isis peer当中的type列,L2(L1L2)的含义是自己与对方建立了L2的邻居关系,括号里面是邻居的类型;如S3/0/0就建立了点到点的邻居关系,显示与MA网络略有不同。

  • 验证

    • 不同区域之间的只能建立LEVEL-2
    • 改变路由级别,让默认路由显示出来
    • 会在AR1上发现两个默认路由,修改一下让其变成等价路由
    • 解释一下在AR2上看到的关于7.7.7.7的路由只有L2是为什么?
<AR1>dis ip routing-table protocol isis
Destination/Mask    Proto   Pre  Cost      Flags NextHop         Interface

       10.0.2.2/32  ISIS-L1 15   10          D   10.0.12.2       Serial3/0/0
       10.0.3.3/32  ISIS-L1 15   10          D   10.0.13.3       GigabitEthernet0/0/0
       10.0.4.4/32  ISIS-L1 15   20          D   10.0.12.2       Serial3/0/0
       10.0.5.5/32  ISIS-L2 15   20          D   10.0.13.3       GigabitEthernet0/0/0
       10.0.6.6/32  ISIS-L2 15   30          D   10.0.13.3       GigabitEthernet0/0/0
       10.0.7.7/32  ISIS-L2 15   40          D   10.0.13.3       GigabitEthernet0/0/0
      10.0.24.0/24  ISIS-L1 15   20          D   10.0.12.2       Serial3/0/0
      10.0.35.0/24  ISIS-L1 15   20          D   10.0.13.3       GigabitEthernet0/0/0
      10.0.45.0/24  ISIS-L1 15   30          D   10.0.12.2       Serial3/0/0
      10.0.56.0/24  ISIS-L2 15   30          D   10.0.13.3       GigabitEthernet0/0/0
      10.0.67.0/24  ISIS-L2 15   40          D   10.0.13.3       GigabitEthernet0/0/0

ISIS routing table status : <Inactive>
         Destinations : 0        Routes : 0

在默认情况下,为什么我们在AR1上看到的关于7.7.7.7的路由条目是L2的?

[AR1]dis ip routing-table protocol isis | incl 10.0.7.7
10.0.7.7/32  **ISIS-L2** 15   40          D   10.0.13.3       GigabitEthernet0/0/0
<AR6>dis ip routing-table protocol isis | incl 10.0.7.7
10.0.7.7/32  ISIS-L1 15   10          D   10.0.67.7       GigabitEthernet0/0/1

AR6和AR7之间是双重关系,但最终为优选level1的路由;

AR6与AR5之间只能传递L2

而AR2传递给AR3或AR4时也只能传递L2

自然AR3或AR2给AR1就是L2了

为什么当我们把R1的路由器级别改为LEVEL-1之后就再也看不到AR7的路由了呢?

<AR1>dis ip routing-table protocol isis
Destination/Mask    Proto   Pre  Cost      Flags NextHop         Interface
        0.0.0.0/0   ISIS-L1 15   10          D   10.0.12.2       Serial3/0/0
                    ISIS-L1 15   10          D   10.0.13.3       GigabitEthernet0/0/0
       10.0.2.2/32  ISIS-L1 15   10          D   10.0.12.2       Serial3/0/0
       10.0.3.3/32  ISIS-L1 15   10          D   10.0.13.3       GigabitEthernet0/0/0
       10.0.4.4/32  ISIS-L1 15   20          D   10.0.12.2       Serial3/0/0
      10.0.24.0/24  ISIS-L1 15   20          D   10.0.12.2       Serial3/0/0
      10.0.35.0/24  ISIS-L1 15   20          D   10.0.13.3       GigabitEthernet0/0/0
      10.0.45.0/24  ISIS-L1 15   30          D   10.0.12.2       Serial3/0/0

当我们把AR1的的级别更改为LEVEL-1之后,就相当于OSPF当中的完全NSSA区域,AR2和AR3会其发送LSP的时候会在报文里面将ATT位设置为1,AR1收到会自动自动一条默认路由,注意是自动生成,而不是AR2和AR3产生的。为什么有两条呢?是因为AR2和AR3目前都是level-1-2级别,发送的LSP报文当中的ATT位都为1.

ISIS-IPV6的概述

  • ISIS-IPV6须知
    • OSPFv3的RFC 2740有80页,而ISIS的IPV6草案只有7页
    • ISIS的报文因采用TLV的设计结构,因此扩展性很好
    • 为支持新的协议和特性,只需要扩展新的TLV或子TLV
    • IETF的draft-ietf-isis-ipv6-05(RPC5308)中规定:
      • 为支持IPV6路由的处理和计算,ISIS新增一个NLPID和两个TLV

PS:NLPID当中的NL的network layer的缩写,即网络层,所以NLPID可以理解为网络层的ID。

  • 关于多拓扑:
    • 多拓扑仅会用在IPV4和IPV6共存的情况下
    • ISIS和OSPF都存在多拓扑
    • 但ISIS的多拓扑应用的更广泛,而OSPF的多拓扑现在还处于草案阶段

我们对ISIS-IPV6的介绍也围绕着上述两个主题:

  1. ISIS-IPV6的新增字段
  2. 多拓扑

新增字段

NLPID

  • NLPID:Network layer protocol identifier 字段(网络层协议ID)

  • 作用:通过这个字段,标识支持哪些协议,有两种变化,如下所示:

    • 0x8e:IPV6
    • 0xcc:IPV4
  • 如果ISIS支持IPV6,那么向外发布IPV6路由时必须携带0x8e

  • 在AR220下仅开启了ISIS-IPV4后的hello报文

    image-20230508212328143

  • 在AR220下接口上仅开启了ISIS-IPV6后的hello报文,注意看NLPID,当前显示IPV6:

    image-20230508212343628

  • 在AR220下接口同时开启IPV4和IPV6的hello报文

    image-20230508212355372

TLV-Reachability

TLV 编号 备注
IPV6 Reachability 236 通告IPV6前缀信息
IPV6 interface address 232 通告IPV6接口地址
  • IPV6 Reachability在哪种类型当中?

    • hello报文当中并没有,LSP报文当中才有,正好与TLV-interface相对应
    • TLV-interface在有几条,Reachability就有几条,如下所示:
  • 在LSP报文当中看到Reachability和TLV-INTERFACE

    image-20230508212407055

  • 注意,Reachability当中还有三个位U/X/S需要注意一下,如下所示:

    image-20230508212422555

    • U位:up/down,标识这个前缀是否是从高level通告下来的,比如从L2注入到L1,主要是为了防环
    • X位:external original标识这个前缀是否是外部路由
    • S位:subtlv present,标识是否包含TLV(可选)

TLV-INTERFACE

TLV 编号 备注
IPV6 Reachability 236 通告IPV6前缀信息
IPV6 interface address 232 通告IPV6接口地址
  • TLV-INTERFACE

    • 作用:承载IPV6接口的IP地址
    • 在普通的hello报文当中就能看到此字段
    • 有几个接口加入到ISIS进程就会显示多少个TLV-INTERFACE
    • 在不同的报文类型当中显示的内容不一样
      • 在hello报文当中:链路本地地址
      • 在LSP报文当中:通常接口的单播地址
  • hello报文当中的TLV-INTERFACE是链路本地地址

    image-20230508212436713

  • LSP报文当中的TLV-INTERFACE是接口单播地址

    image-20230508212445828

小实验

image-20230508212456822

  • 基础配置

    # AR1
    sys
    sysn AR1
    ipv6
    isis 1
    	ipv6 enable
    	network 49.0001.0000.0001.00
    	is-level level-1
    int g0/0/0
    	ipv6 enable
    	ipv6 add auto link
    	isis ipv6 enable 1
    int g0/0/1
    	ipv6 enable
    	ipv6 add auto link
    	isis ipv6 enable 1
    ---
    # AR2
    sys
    sysn AR2
    ipv6
    isis 1
    	ipv6 enable
    	network 49.0001.0000.0002.00
    	is-level level-1
    int g0/0/0
    	ipv6 enable
    	ipv6 add auto link
    	isis ipv6 enable 1
    int g0/0/1
    	ipv6 enable
    	ipv6 add auto link
    	isis ipv6 enable 1
    ---
    # AR3
    sys
    sysn AR3
    ipv6
    isis 1
    	ipv6 enable
    	network 49.0001.0000.0003.00
    	is-level level-1
    int g0/0/0
    	ipv6 enable
    	ipv6 add auto link
    	isis ipv6 enable 1
    int g0/0/1
    	ipv6 enable
    	ipv6 add auto link
    	isis ipv6 enable 1
    
    
  • 查看

    因为ISIS的IPV4和IPV6是一个版本,所以用查看IPV4的命令可以正常查看IPV6

    # 可以正常看邻居,但有一个问题是无法分辨这是IPV6还是IPV4
    [AR3]dis isis peer 
    
                              Peer information for ISIS(1)
    
      System Id     Interface          Circuit Id       State HoldTime Type     PRI
    -------------------------------------------------------------------------------
    0001.0000.0002  GE0/0/0            0001.0000.0003.01 Up   29s      L1       64 
    0001.0000.0001  GE0/0/1            0001.0000.0003.02 Up   23s      L1       64
    
    **# 后面加上verbose,当中的Adj Protocol 字段会显示当前是IPV4还是IPV6
    # 如果只在IPV4就只显示IPV4,如果IPV4和IPV6都在那就会显示两个**
    [AR3]dis isis peer verbose 
    
                              Peer information for ISIS(1)
    
      System Id     Interface          Circuit Id       State HoldTime Type     PRI
    -------------------------------------------------------------------------------
    0001.0000.0002  GE0/0/0            0001.0000.0003.01 Up   21s      L1       64 
    
      MT IDs supported     : 0(UP) 
      Local MT IDs         : 0 
      Area Address(es)     : 49 
      Peer IPv6 Address(es): FE80::2E0:FCFF:FE37:1234
      Uptime               : 00:02:36
      **Adj Protocol         : IPV6** 
      Restart Capable      : YES
      Suppressed Adj       : NO
      Peer System Id       : 0001.0000.0002
    

多拓扑

概述

什么是多拓扑?多拓扑是什么意思?为什么ISIS-IPV4当中没有这个概念呢?想要回答上面这个问题,我们先要搞清楚什么是单拓扑!

  • 单拓扑
    • 如果设备之间如果同时跑IPV4和IPV6的ISIS,默认就是单拓扑
    • 单拓扑其实就是IPV4和IPV6共用一棵路径树

IPV4和IPV6共用一棵路径树,这不挺好嘛,看着也没啥问题呀,为什么又有多拓扑呢?如下所示:

image-20230508212507160

如上图所示,A、B、C、D四台设备,其中A、C、D都是IPV4和IPV6的ISIS同时运行,而B设备由于比较老旧不支持IPV6,那在这种情况下,A到C设备之间的IPV4走哪条路径呢?A到C设备之间的IPV6又走哪条路径呢?我们先看IPV4,A会在两个接口上收到C的信息,但是A肯定会走B这条路径到达C(ipv4路径),因为开销嘛!那IPV6路径呢?A只会从D收到关于C的IPV6通告,那A是否会再形成一条到达C的IPV6路径呢?不会了!为什么?因为默认情况下IPV4和IPV6使用同一棵树,在这棵树上从A到达C之间最优秀的路径就是A-B-C(通过开销算出来的),无论是IPV4还是IPV6都得使用这棵树,通过上文的描述我们也能看出来,开销同时影响了IPV4和IPV6。问题出现了,如果A向C转发数据,如果是IPV4数据没问题,那IPV6的呢?B根本都不支持IPV6!!严重的问题就出现了!这就是单拓扑会还来的问题。怎么解决呢?那得就用到多拓扑了!

PS:形成多拓扑的真正原因是ISIS通过扩展IPV4实现了IPV6,而不是重新设计,所以IPV6默认会共同使用一棵树,IPV4和IPV6的拓扑必须一致,默认通常是IPV6使用IPV4的拓扑。

  • 多拓扑:

    • 多拓扑是IPV4和IPV6共存的时候才会出现的
    • 如果设备之间如果同时跑IPV4和IPV6的ISISIS,默认是单拓扑,我们可以手工更改为多拓扑
    • 所谓的多拓扑就是IPV4和IPV6分别单独使用一个路径树,分家!
  • 怎么分家呢?

    • 通过MT ID,IPV4使用一个MT-ID,而IPV6使用另一个MT-ID

    • 不同的MT-ID建立不同的拓扑

    • 计算的时候也是不同的MT-ID单独计算,生成独立的路径树。

    • 如下所示

      image-20230508212518836

  • MT-ID:多拓扑ID,标识不同的拓扑

    • 在点到点网络当中,要求两台路由器具有相同的MT ID才能形成邻接关系
    • 在广播网络当中,邻接关系的建立跟接口的MTID是没有关系的,而且MT-ID不需要我们人为干预,会自动生成。

PS:在华为当中0就代表IPV4,而2就代表IPV6,华为设备当中就只有这两种变化。

我们可以通过dis isis peer verbose看当前是单拓扑还是多拓扑,如下所示,即使是IPV4和IPV6同时运行如果我们不手工更改成多拓扑,默认就是使用MT-ID-0,即IPV4的单拓扑结构。

[AR1]isis 1
[AR1-isis-1]dis th
[V200R003C00]
#
isis 1
 is-level level-1
 network-entity 49.0001.0000.0001.00
 import-route static 
 #
 **ipv6 enable topology standard   # standard的含义就是单拓扑,这一条命令是默认自动生成的**

<AR1>dis isis peer ver

                          Peer information for ISIS(1)

  System Id     Interface          Circuit Id       State HoldTime Type     PRI
-------------------------------------------------------------------------------
0001.0000.0002  GE0/0/0            0001.0000.0002.01 Up   9s       L1       64 

  **MT IDs supported     : 0(UP) # 0就代表IPV4
  Local MT IDs         : 0** 
  Area Address(es)     : 49 
  Peer IP Address(es)  : 10.0.12.2       
  Peer IPv6 Address(es): FE80::2E0:FCFF:FE37:1233
  Uptime               : 01:22:06
  **Adj Protocol         : IPV4  IPV6** 
  Restart Capable      : YES
  Suppressed Adj       : NO
  Peer System Id       : 0001.0000.0002  

0001.0000.0003  GE0/0/1            0001.0000.0003.02 Up   8s       L1       64

**[AR2-isis-1]ipv6 enable topology ipv6** 
[AR2-isis-1]dis th
[V200R003C00]
#
isis 1
 is-level level-1
 network-entity 49.0001.0000.0002.00
 #
 ipv6 enable topology ipv6

# 再查看,就会发现多拓扑了!
**AR1]dis isis peer verbose** 

                          Peer information for ISIS(1)

  System Id     Interface          Circuit Id       State HoldTime Type     PRI
-------------------------------------------------------------------------------
0001.0000.0002  GE0/0/0            0001.0000.0002.01 Up   9s       L1       64 

  **MT IDs supported     : 0(UP) 
  Local MT IDs         : 0  2** 
  Area Address(es)     : 49 
  Peer IP Address(es)  : 10.0.12.2       
  Uptime               : 01:27:50
  Adj Protocol         : IPV4 
  Restart Capable      : YES
  Suppressed Adj       : NO
  Peer System Id       : 0001.0000.0002  

0001.0000.0003  GE0/0/1            0001.0000.0003.02 Up   9s       L1       64 

  **MT IDs supported     : 0(DOWN) 
  Local MT IDs         : 2** 
  Area Address(es)     : 49 
  Peer IPv6 Address(es): FE80::2E0:FCFF:FE82:6241
  Uptime               : 00:57:02
  Adj Protocol         : IPV6 
  Restart Capable      : YES
  Suppressed Adj       : NO
  Peer System Id       : 0001.0000.0003

TLV和实验

如果想增加ISIS的功能,那就不断的扩展其TLV,ISIS为了支持多拓扑,又增加了四种TLV,如下所示:

TLV类型 备注
TLV-229 multi-topology identifier
TLV-222 multi-topology interfmediate system
TLV-235 multi-gopologies reachable ipv4 prefixes
TLV-237 multi-topologies reachable ipv6 prefixes
  • Multi Topology supported(229)下面这是IPV4的单拓扑(hello报文)

    image-20230508212540051

  • Multi Topology supported(229)下面这是多拓扑(hello报文)

    image-20230508212547918

  • multi topology is reachability(222)显示邻居的ID(LSP)

    image-20230508212608943

  • multi topology rachable ipv6 prefiexs(237)(LSP)

    image-20230508212620440

实验

image-20230508212633588

AR1和AR3 IPV4和IPV6全都运行,AR2只运行IPV4

  • 基础配置

    # AR1基础配置
    sys
    sysn AR1
    ipv6
    isis 1
    	is-level level-1
    	network-entity 49.0001.0000.0001.00
    	ipv6 enable
    int g0/0/0
    	ip add 10.0.12.1 24
    	isis enable 1
    int g0/0/1
    	ip add 10.0.13.1 24
    	ipv6 enable
    	ipv6 add auto link
    	isis enable 1
    	isis ipv6 enable 1
    int l0
    	ip add 10.0.1.1 32
    	ipv6 enable
    	ipv6 add 2::2 128
    	isis enable 1
    	isis ipv6 enable 1
    	quit
    ----
    # AR2基础配置
    sys
    sysn AR2
    ipv6
    isis 1
    	is-level level-1
    	network-entity 49.0001.0000.0002.00
    	ipv6 enable
    int g0/0/0
    	ip add 10.0.12.2 24
    	isis enable 1
    int g0/0/1
    	ip add 10.0.23.2 24
    	isis enable 1
    int l0
    	ip add 10.0.2.2 32
    	isis enable 1
    	quit
    
    # AR3
    sys
    sysn AR3
    ipv6
    isis 1
    	is-level level-1
    	network-entity 49.0001.0000.0003.00
    	ipv6 enable
    int g0/0/0
    	ip add 10.0.23.3 24
    	isis enable 1
    int g0/0/1
    	ip add 10.0.13.3 24
    	ipv6 enable
    	ipv6 add auto link
    	isis enable 1
    	isis ipv6 enable 1
    int l0
    	ip add 10.0.3.3 32
    	ipv6 enable
    	ipv6 add 3::3 128
    	isis enable 1
    	isis ipv6 enable 1
    	quit
    
  • 验证,邻居已经正常建立,从AR1去往AR3,无论是IPV4还是IPV6全都是走G0/0/1接口

    <AR1>dis isis peer
    
                              Peer information for ISIS(1)
    
      System Id     Interface          Circuit Id       State HoldTime Type     PRI
    -------------------------------------------------------------------------------
    0001.0000.0002  GE0/0/0            0001.0000.0002.01 Up   8s       L1       64 
    0001.0000.0003  GE0/0/1            0001.0000.0003.02 Up   9s       L1       64 
    
    Total Peer(s): 2
    <AR1>dis isis route 
    
                             Route information for ISIS(1)
                             -----------------------------
    
                            ISIS(1) Level-1 Forwarding Table
                            --------------------------------
    
    IPV4 Destination     IntCost    ExtCost ExitInterface   NextHop         Flags
    -------------------------------------------------------------------------------
    10.0.3.3/32          10         NULL    GE0/0/1         10.0.13.3       A/-/-/-
    10.0.23.0/24         20         NULL    GE0/0/0         10.0.12.2       A/-/-/-
                                            GE0/0/1         10.0.13.3      
    10.0.13.0/24         10         NULL    GE0/0/1         Direct          D/-/L/-
    10.0.2.2/32          10         NULL    GE0/0/0         10.0.12.2       A/-/-/-
    10.0.12.0/24         10         NULL    GE0/0/0         Direct          D/-/L/-
    10.0.1.1/32          0          NULL    Loop0           Direct          D/-/L/-
    
     IPV6 Dest.      ExitInterface   NextHop                       Cost       Flags
    -------------------------------------------------------------------------------
     **3::3/128        GE0/0/1         FE80::2E0:FCFF:FE82:6241      10         A/-/-**
     2::2/128        Loop0           Direct                        0          D/L/-
    
         Flags: D-Direct, A-Added to URT, L-Advertised in LSPs, S-IGP Shortcut,
                                   U-Up/Down Bit Set
    
  • 修改开销(重点)我们将AR1 G0/0/0接口和AR2的G0/0/1接口的的开销改小

    [AR1]int g0/0/0
    [AR1-GigabitEthernet0/0/0]isis cost 1
    
    [AR2]int g0/0/01
    [AR2-GigabitEthernet0/0/1]isis cost 1
    
  • 再去AR1上查看ISIS的路由表,会发现没有去往3::3的路由条目了,但AR3上10.0.3.3的路由还在,并且指向了R2

    <AR1>dis isis route 
    
                             Route information for ISIS(1)
                             -----------------------------
    
                            ISIS(1) Level-1 Forwarding Table
                            --------------------------------
    
    IPV4 Destination     IntCost    ExtCost ExitInterface   NextHop         Flags
    -------------------------------------------------------------------------------
    **10.0.3.3/32          2          NULL    GE0/0/0         10.0.12.2       A/-/-/-**
    10.0.23.0/24         2          NULL    GE0/0/0         10.0.12.2       A/-/-/-
    10.0.13.0/24         10         NULL    GE0/0/1         Direct          D/-/L/-
    10.0.2.2/32          1          NULL    GE0/0/0         10.0.12.2       A/-/-/-
    10.0.12.0/24         1          NULL    GE0/0/0         Direct          D/-/L/-
    10.0.1.1/32          0          NULL    Loop0           Direct          D/-/L/-
    
     IPV6 Dest.      ExitInterface   NextHop                       Cost       Flags
    -------------------------------------------------------------------------------
     2::2/128        Loop0           Direct                        0          D/L/-
    
         Flags: D-Direct, A-Added to URT, L-Advertised in LSPs, S-IGP Shortcut,
    
  • 解读dis isis peer verbose

    <AR1>dis isis peer verbose 
    
                              Peer information for ISIS(1)
    
      System Id     Interface          Circuit Id       State HoldTime Type     PRI
    -------------------------------------------------------------------------------
    0001.0000.0002  GE0/0/0            0001.0000.0002.01 Up   7s       L1       64 
    
      MT IDs supported     : 0(UP)      # MI ID也是0,说明当前使用IPV4这个路径村
      Local MT IDs         : 0 
      Area Address(es)     : 49 
      Peer IP Address(es)  : 10.0.12.2       
      Uptime               : 00:15:48
      Adj Protocol         : IPV4        # AR1认为和AR2之间形成了IPV4的邻居关系
      Restart Capable      : YES
      Suppressed Adj       : NO
      Peer System Id       : 0001.0000.0002  
    
    0001.0000.0003  GE0/0/1            0001.0000.0003.02 Up   7s       L1       64 
    
      MT IDs supported     : 0(UP)  # MI ID也是0,说明和AR3之间也使用IPV4这个路径村
      Local MT IDs         : 0 
      Area Address(es)     : 49 
      Peer IP Address(es)  : 10.0.13.3       
      Peer IPv6 Address(es): FE80::2E0:FCFF:FE82:6241
      Uptime               : 00:15:37
      Adj Protocol         : IPV4  IPV6   # 即使同时运行IPV4和IPV6,依然使用的IPV4的路径树
      Restart Capable      : YES
      Suppressed Adj       : NO
      Peer System Id       : 0001.0000.0003
    

思考一下,为什么AR1当前没了去往AR3上的3::3接口的路由条目了呢?是没有收到LSP吗?是收到的LSP里面没有3::3的IP了吗?显示不是,我们可以在AR1上查看一下收到的AR3的LSP,会发现AR3发现的LSP当中明明是有3::3的,如下所示:

  • dis isis lsdb 0001.0000.0003.00-00 verbose

    <AR1>dis isis lsdb 0001.0000.0003.00-00 verbose
    
                            Database information for ISIS(1)
                            --------------------------------
    
                              Level-1 Link State Database
    
    LSPID                 Seq Num      Checksum      Holdtime      Length  ATT/P/OL
    -------------------------------------------------------------------------------
    0001.0000.0003.00-00  0x00000006   0x4771        753           158     0/0/0   
     SOURCE       0001.0000.0003.00
     NLPID        IPV4
     NLPID        IPV6
     AREA ADDR    49 
     INTF ADDR    10.0.23.3
     INTF ADDR    10.0.13.3
     INTF ADDR    10.0.3.3
     INTF ADDR V6 3::3                           
     Topology     Standard
     NBR  ID      0001.0000.0003.01  COST: 10        
     NBR  ID      0001.0000.0003.02  COST: 10        
     IP-Internal  10.0.23.0       255.255.255.0    COST: 10        
     IP-Internal  10.0.13.0       255.255.255.0    COST: 10        
     IP-Internal  10.0.3.3        255.255.255.255  COST: 0         
     **IPV6         3::3/128                         COST: 0**         
    
    Total LSP(s): 1
        *(In TLV)-Leaking Route, *(By LSPID)-Self LSP, +-Self LSP(Extended), 
               ATT-Attached, P-Partition, OL-Overload
    

上面这个问题是根本原因是就是因为IPV4和IPV6共同一棵树,准确的说应该是IPV6还在使用IPV4的路径树,IPV4计算出从R1-R2-R3这条路径,IPV6默认也必须得使用这条路径,但AR2明明不支持IPV6,所以在AR1-AR2-AR3的这条路径上,AR1只能收到AR3发送的IPV4的LSP,却收到不到AR3发送的IPV6和LSP!可是图上明明AR3和AR1有直连接口呀!是这样,AR1和AR3虽然物理上直连,但ISIS通过IPV4先形成逻辑路径树当中没有这根直连线,AR1的ISIS感知的的路径AR1和AR3并没有直连!AR1认为到AR3就只有通过AR2这一条路,所以就算AR1从AR3收到IPV6的LSP也会忽略的!

解决这个问题就得使用多拓扑,非常简单,我们只需要在AR1和AR3的ISIS进程当中打上这个命令:

[AR1-isis-1]ipv6 enable topology ipv6

[AR3-isis-1]ipv6 enable topology ipv6

OK,我们再去AR1上查看ISIS路由表,会发现去往10.0.3.3 走AR2,去往3::3是走与AR3直连的那条路,说明多拓扑生效了,这也就是我们想要的效果,如下所示:

<AR1>dis isis route 

                         Route information for ISIS(1)
                         -----------------------------

                        ISIS(1) Level-1 Forwarding Table
                        --------------------------------

IPV4 Destination     IntCost    ExtCost ExitInterface   NextHop         Flags
-------------------------------------------------------------------------------
**10.0.3.3/32          2          NULL    GE0/0/0         10.0.12.2       A/-/-/-**
10.0.23.0/24         2          NULL    GE0/0/0         10.0.12.2       A/-/-/-
10.0.13.0/24         10         NULL    GE0/0/1         Direct          D/-/L/-
10.0.2.2/32          1          NULL    GE0/0/0         10.0.12.2       A/-/-/-
10.0.12.0/24         1          NULL    GE0/0/0         Direct          D/-/L/-
10.0.1.1/32          0          NULL    Loop0           Direct          D/-/L/-

 IPV6 Dest.      ExitInterface   NextHop                       Cost       Flags
-------------------------------------------------------------------------------
 **3::3/128        GE0/0/1         FE80::2E0:FCFF:FE82:6241      10         A/-/-**
 2::2/128        Loop0           Direct                        0          D/L/-

     Flags: D-Direct, A-Added to URT, L-Advertised in LSPs, S-IGP Shortcut,
                               U-Up/Down Bit Set
<AR1>dis isis peer verbose

                          Peer information for ISIS(1)

  System Id     Interface          Circuit Id       State HoldTime Type     PRI
-------------------------------------------------------------------------------
0001.0000.0002  GE0/0/0            0001.0000.0002.01 Up   9s       L1       64 

  MT IDs supported     : 0(UP) 
  Local MT IDs         : 0 
  Area Address(es)     : 49 
  Peer IP Address(es)  : 10.0.12.2       
  Uptime               : 00:21:29
  Adj Protocol         : IPV4 
  Restart Capable      : YES
  Suppressed Adj       : NO
  Peer System Id       : 0001.0000.0002  

0001.0000.0003* GE0/0/1            0001.0000.0003.02 Up   8s       L1       64 

  **MT IDs supported     : 0(UP)  2(UP)    # 两条路径树都UP,说明同时生效了!!**
  Local MT IDs         : 0  2 
  Area Address(es)     : 49 
  Peer IP Address(es)  : 10.0.13.3       
  Peer IPv6 Address(es): FE80::2E0:FCFF:FE82:6241
  Uptime               : 00:21:18
  **Adj Protocol         : IPV4  IPV6** 
  Restart Capable      : YES
  Suppressed Adj       : NO
  Peer System Id       : 0001.0000.0003  

Total Peer(s): 2
posted @ 2023-05-08 21:29  张贺贺呀  阅读(138)  评论(0编辑  收藏  举报