本帖最后由 小乔 于 2021-11-12 13:46 编辑
IS-IS简介
介绍IS-IS的定义和作用。
定义
中间系统到中间系统IS-IS(Intermediate System to Intermediate System)属于内部网关协议IGP(Interior Gateway Protocol),用于自治系统内部。IS-IS也是一种链路状态协议,使用最短路径优先SPF(Shortest Path First)算法进行路由计算。
目的
IS-IS是国际标准化组织ISO(the International Organization for Standardization)为它的无连接网络协议CLNP(ConnectionLess Network Protocol)设计的一种动态路由协议。
随着TCP/IP协议的流行,为了提供对IP路由的支持,IETF(Internet Engineering Task Force )在RFC1195中对IS-IS进行了扩充和修改,使它能够同时应用在TCP/IP和OSI(Open System Interconnection)环境中,称为集成IS-IS(Integrated IS-IS或Dual IS-IS)。
说明:
本资料中所指的IS-IS,如不加特殊说明,均指集成IS-IS。
随着IPv6网络的建设,同样需要动态路由协议为IPv6报文的转发提供准确有效的路由信息。IS-IS路由协议结合自身具有良好的扩展性的特点,实现了对IPv6网络层协议的支持,可以发现、生成和转发IPv6路由。
IS-IS IPv6
IS-IS最初是为OSI网络设计的一种基于链路状态算法的动态路由协议。之后为了提供对IPv4的路由支持,扩展应用到IPv4网络,称为集成IS-IS。
随着IPv6网络的建设,同样需要动态路由协议为IPv6报文的转发提供准确有效的路由信息。IS-IS路由协议结合自身具有良好的扩展性的特点,实现了对IPv6网络层协议的支持,可以发现和生成IPv6路由。
IETF的draft-ietf-isis-ipv6-05中规定了IS-IS为支持IPv6所新增的内容。为了支持IPv6路由的处理和计算,IS-IS新增了两个TLV(Type-Length-Value)和一个新的NLPID(Network Layer Protocol Identifier)。
新增的两个TLV分别是:
236号TLV(IPv6 Reachability):通过定义路由信息前缀、度量值等信息来说明网络的可达性。
232号TLV(IPv6 Interface Address):它相当于IPv4中的“IP Interface Address”TLV,只不过把原来的32比特的IPv4地址改为128比特的IPv6地址。
NLPID是标识网络层协议报文的一个8比特字段,IPv6的NLPID值为142(0x8E)。如果IS-IS支持IPv6,那么向外发布IPv6路由时必须携带NLPID值。
IS-IS多拓扑从IPv4网络向IPv6网络过渡的过程中,IPv4和IPv6两种拓扑必然有一段较长的共存时间。双协议栈是一项广泛应用于IPv4和IPv6网络互通的技术。其实现的功能是:一台同时支持IPv4和IPv6两种协议的路由器可以与只支持IPv4或IPv6的路由器通信。 产生背景IS-IS通过扩展TLV实现IPv6,保持了ISO10589和RFCl195有关建立及维护邻居数据库和拓扑数据库的规定。因此,IPv6具有和IPv4相同的拓扑结构。IPv4和IPv6的混合拓扑被看成是一个集成的拓扑,使用同样的最短路径进行SPF计算。这就要求所有的IPv6和IPv4拓扑信息必须一致。 在实际应用中,IPv4和IPv6协议在网络中的部署可能不一致,所以IPv4和IPv6的拓扑信息可能不同。混合拓扑中的一些路由器和链路不支持IPv6协议,但是支持双协议栈的路由器无法感知到这些路由器和链路,仍然会把IPv6报文转发给它们,这就导致IPv6报文因无法转发而被丢弃。同样,存在不支持IPv4的路由器和链路时,IPv4报文也无法转发。 IS-IS的多拓扑MT(Multi-Topology)特性用来解决上述问题。IS-IS MT是IS-IS为了支持多拓扑而做的扩展,遵循《draft-ietf-IS-IS-wg-multi-topology》中关于IS-IS部分扩展的规定,通过在IS-IS报文中定义新的TLV,MT信息被传播,并且可以按不同的拓扑分别进行SPF计算。
实现原理IS-IS MT是指在一个IS-IS自治域内运行多个独立的IP拓扑。例如IPv4拓扑和IPv6拓扑,而不是将它们视为一个集成的单一拓扑。这有利于IS-IS在路由计算中根据实际组网情况来单独考虑IPv4和IPv6网络。根据链路所支持的IP协议类型,不同拓扑运行各自的SPF计算,实现网络的相互屏蔽。 下面以图8-1中的网络拓扑为例介绍IS-IS MT。图中的数值表示对应链路上的开销值;RouterA、RouterC和RouterD支持IPv4和IPv6双协议栈;RouterB只支持IPv4协议,不能转发IPv6报文。 如果RouterA不支持IS-IS MT,进行SPF计算时只考虑单一的整体拓扑,则RouterA到RouterC的最短路径是RouterA->RouterB->RouterC,但由于RouterB不支持IPv6,所以RouterA发送的IPv6报文将无法通过RouterB到达RouterC。 如果在RouterA上使能了IS-IS MT,那么此时RouterA在进行SPF计算时会根据不同的拓扑分别计算。当RouterA需要发送IPv6报文给RouterC时,RouterA只考虑IPv6链路来确定IPv6报文转发路径,则RouterA->RouterD->RouterC路径被选为从RouterA到RouterC的IPv6最短路径。IPv6报文被正确转发。 图8-1 IS-IS MT组网
IS-IS MT的实现过程如下:
配置IS-IS IPv6的基本功能示例
组网需求
如图8-2所示:在IPv6拓扑网络中有4台路由器,现要求在这4台路由器上实现网络互联,并且因为RouterA和RouterB性能相对较低,所以还要使这两台路由器处理相对较少的数据信息。
图8-2 配置IS-IS的IPv6特性基本功能组网图
配置思路
采用如下的思路配置IS-IS IPv6的基本功能:
在各路由器的接口上配置IPv6地址,实现网络可达。
在各路由器上配置IS-IS for IPv6基本功能,实现网络互联。其中,将RouterA、RouterB设为Level-1路由器,从而使得这两台路由器可以维护相对少量的数据信息。
操作步骤
使能IPv6转发能力,配置各接口的IPv6地址,以RouterA为例,其他路由器的配置过程相同,不再赘述
<Huawei> system-view
[Huawei] sysname RouterA
[RouterA] ipv6
[RouterA] interface gigabitethernet 1/0/0
[RouterA-GigabitEthernet1/0/0] ipv6 enable
[RouterA-GigabitEthernet1/0/0] ipv6 address 10:1::2/64
配置IS-IS
# 配置RouterA。
[RouterA] isis 1
[RouterA-isis-1] is-level level-1
[RouterA-isis-1] network-entity 10.0000.0000.0001.00
[RouterA-isis-1] ipv6 enable
[RouterA-isis-1] quit
[RouterA] interface gigabitethernet 1/0/0
[RouterA-GigabitEthernet1/0/0] isis ipv6 enable 1
[RouterA-GigabitEthernet1/0/0] quit
# 配置RouterB。
[RouterB] isis 1
[RouterB-isis-1] is-level level-1
[RouterB-isis-1] network-entity 10.0000.0000.0002.00
[RouterB-isis-1] ipv6 enable
[RouterB-isis-1] quit
[RouterB] interface gigabitethernet 1/0/0
[RouterB-GigabitEthernet1/0/0] isis ipv6 enable 1
[RouterB-GigabitEthernet1/0/0] quit
# 配置RouterC。
[RouterC] isis 1
[RouterC-isis-1] network-entity 10.0000.0000.0003.00
[RouterC-isis-1] ipv6 enable
[RouterC-isis-1] quit
[RouterC] interface gigabitethernet 1/0/0
[RouterC-GigabitEthernet1/0/0] isis ipv6 enable 1
[RouterC-GigabitEthernet1/0/0] quit
[RouterC] interface gigabitethernet 2/0/0
[RouterC-GigabitEthernet2/0/0] isis ipv6 enable 1
[RouterC-GigabitEthernet2/0/0] quit
[RouterC] interface gigabitethernet 3/0/0
[RouterC-GigabitEthernet3/0/0] isis ipv6 enable 1
[RouterC-GigabitEthernet3/0/0] isis circuit-level level-2
[RouterC-GigabitEthernet3/0/0] quit
# 配置RouterD。
[RouterD] isis 1
[RouterD-isis-1] is-level level-2
[RouterD-isis-1] network-entity 20.0000.0000.0004.00
[RouterD-isis-1] ipv6 enable
[RouterD-isis-1] quit
[RouterD] interface GigabitEthernet 1/0/0
[RouterD-GigabitEthernet1/0/0] isis ipv6 enable 1
[RouterD-GigabitEthernet1/0/0] quit
[RouterD] interface GigabitEthernet 2/0/0
[RouterD-GigabitEthernet2/0/0] isis ipv6 enable 1
[RouterD-GigabitEthernet2/0/0] quit
验证配置结果
# 显示RouterA的IS-IS路由表。
[RouterA] display isis route
Route information for ISIS(1)
-----------------------------
ISIS(1) Level-1 Forwarding Table
--------------------------------
IPV6 Dest. ExitInterface NextHop Cost Flags
----------------------------------------------------------------------------
10:1::/64 GigabitEthernet1/0/0 Direct 10 D/L/-
10:2::/64 GigabitEthernet1/0/0 FE80::A83E:0:3ED2:1 20 A/-/-
Flags: D-Direct, A-Added to URT, L-Advertised in LSPs, S-IGP Shortcut,
U-Up/Down Bit Set
# 显示RouterC的IS-IS邻居的详细信息。
[RouterC] display isis peer verbose
Peer information for ISIS(1)
System Id Interface Circuit Id State HoldTime Type PRI
-------------------------------------------------------------------------------
0000.0000.0001 GE1/0/0 0000000001 Up 24s L1 --
MT IDs supported : 0(UP)
Local MT IDs : 0
Area Address(es) : 10
Peer IPv6 Address(es): FE80::996B:0:9419:1
Uptime : 00:44:43
Adj Protocol : IPV6
Restart Capable : YES
Suppressed Adj : NO
Peer System Id : 0000.0000.0001
0000.0000.0002 GE2/0/0 0000000001 Up 28s L1 --
MT IDs supported : 0(UP)
Local MT IDs : 0
Area Address(es) : 10
Peer IPv6 Address(es): FE80:C40:0:47A9:1
Uptime : 00:46:13
Adj Protocol : IPV6
Restart Capable : YES
Suppressed Adj : NO
Peer System Id : 0000.0000.0002
0000.0000.0004 GE3/0/0 0000000001 Up 24s L2 --
MT IDs supported : 0(UP)
Local MT IDs : 0
Area Address(es) : 20
Peer IPv6 Address(es): FE80::F81D:0:1E24:2
Uptime : 00:53:18
Adj Protocol : IPV6
Restart Capable : YES
Suppressed Adj : NO
Peer System Id : 0000.0000.0004
Total Peer(s): 3
# 显示RouterC的IS-IS LSDB的详细信息。
[RouterC] display isis lsdb verbose
Database information for ISIS(1)
--------------------------------
Level-1 Link State Database
LSPID Seq Num Checksum Holdtime Length ATT/P/OL
-------------------------------------------------------------------------------
0000.0000.0001.00-00 0x0000000c 0x4e06 1117 113 3/0/0
SOURCE 0000.0000.0001.00
NLPID IPV6
AREA ADDR 10
INTF ADDR V6 10:1::2
Topology Standard
NBR ID 0000.0000.0003.00 COST: 10
IPV6 10:1::/64 COST: 10
0000.0000.0002.00-00 0x00000009 0x738c 1022 83 3/0/0
SOURCE 0000.0000.0002.00
NLPID IPV6
AREA ADDR 10
INTF ADDR V6 10:2::2
Topology Standard
NBR ID 0000.0000.0003.00 COST: 10
IPV6 10:2::/64 COST: 10
0000.0000.0003.00-00* 0x00000020 0x6b10 771 140 1/0/0
SOURCE 0000.0000.0003.00
NLPID IPV6
AREA ADDR 10
INTF ADDR V6 30::1
INTF ADDR V6 10:2::1
INTF ADDR V6 10:1::1
Topology Standard
NBR ID 0000.0000.0002.00 COST: 10
NBR ID 0000.0000.0001.00 COST: 10
IPV6 10:2::/64 COST: 10
IPV6 10:1::/64 COST: 10
Total LSP(s): 3
*(In TLV)-Leaking Route, *(By LSPID)-Self LSP, +-Self LSP(Extended),
ATT-Attached, P-Partition, OL-Overload
Level-2 Link State Database
LSPID Seq Num Checksum Holdtime Length ATT/P/OL
-------------------------------------------------------------------------------
0000.0000.0003.00-00* 0x00000017 0x61b4 771 157 3/0/0
SOURCE 0000.0000.0003.00
NLPID IPV6
AREA ADDR 10
INTF ADDR V6 30::1
INTF ADDR V6 10:2::1
INTF ADDR V6 10:1::1
Topology Standard
NBR ID 0000.0000.0004.00 COST: 10
IPV6 30::/64 COST: 10
IPV6 10:2::/64 COST: 10
IPV6 10:1::/64 COST: 10
0000.0000.0004.00-00 0x0000000b 0x6dfa 1024 124 3/0/0
SOURCE 0000.0000.0004.00
NLPID IPV6
AREA ADDR 20
INTF ADDR V6 30::2
INTF ADDR V6 20::1
Topology Standard
NBR ID 0000.0000.0003.00 COST: 10
NBR ID 0000.0000.0005.00 COST: 10
IPV6 30::/64 COST: 10
IPV6 20::/64 COST: 10
Total LSP(s): 2
*(In TLV)-Leaking Route, *(By LSPID)-Self LSP, +-Self LSP(Extended),
ATT-Attached, P-Partition, OL-Overload
配置文件
RouterA的配置文件
#
sysname RouterA
#
ipv6
#
isis 1
is-level level-1
network-entity 10.0000.0000.0001.00
#
ipv6 enable topology standard
#
interface GigabitEthernet1/0/0
ipv6 enable
ipv6 address 10:1::2/64
isis ipv6 enable 1
#
return
RouterB的配置文件
#
sysname RouterB
#
ipv6
#
isis 1
is-level level-1
network-entity 10.0000.0000.0002.00
#
ipv6 enable topology standard
#
interface GigabitEthernet1/0/0
ipv6 enable
ipv6 address 10:2::2/64
isis ipv6 enable 1
#
return
RouterC的配置文件
#
sysname RouterC
#
ipv6
#
isis 1
network-entity 10.0000.0000.0003.00
#
ipv6 enable topology standard
#
interface GigabitEthernet1/0/0
ipv6 enable
ipv6 address 10:1::1/64
isis ipv6 enable 1
#
interface GigabitEthernet2/0/0
ipv6 enable
ipv6 address 10:2::1/64
isis ipv6 enable 1
#
interface GigabitEthernet3/0/0
ipv6 enable
ipv6 address 30::1/64
isis ipv6 enable 1
isis circuit-level level-2
#
return
RouterD的配置文件
#
sysname RouterD
#
ipv6
#
isis 1
is-level level-2
network-entity 20.0000.0000.0004.00
#
ipv6 enable topology standard
#
interface GigabitEthernet2/0/0
ipv6 enable
ipv6 address 20::1/64
isis ipv6 enable 1
#
interface GigabitEthernet1/0/0
ipv6 enable
ipv6 address 30::2/64
isis ipv6 enable 1
#
return
|