【干货】IS-IS (IPv6)原理与配置
IS-IS (IPv6)概述
IS-IS最初是为OSI网络设计的一种基于链路状态协议的动态路由协议。之后为了提供对IPv4的路由支持,扩展应用到IPv4网络,称为集成IS-IS。
IS-IS报文有以下几种类型:Hello PDU(Protocol Data Unit)、LSP和SNP。
报文格式为:
IS-IS报文中的变长字段部分是多个TLV(Type-Length-Value)三元组,使用TLV结构构建报文使IS-IS更具灵活性和扩展性,增加新特性只需要增加新TLV即可。
为了支持IPv6路由的处理和计算,IS-IS新增了两个TLV(Type-Length-Value)和一个NLPID(Network Layer Protocol Identifier,网络层协议标识符)。
新增TLV
在不同的PDU中,接口地址字段的内容是不同的。
对于Hello报文,“接口地址”只能包含发送Hello报文接口的链路本地地址。
对于LSP报文,“接口地址”只能包含分配给设备接口的非链路本地地址。
上述IPv6 Reachability TLV在LSP中可以出现任意次数(包括0次)。其中,链路本地前缀不是用这个TLV来发布。
232号TLV(IPv6 Interface Address)字段解释:
Type:8bit,TLV类型,此时值为232(0xE8)。Length:8bit,TLV的Value部分长度。
Interface Address:128bit,IPv6地址。
236号TLV(IPv6 Reachability)字段解释:
Type:8bit,TLV类型,此时值为236(0xEC)。Length:8bit,TLV的Value部分长度。
Metric:32bit,度量值。
U:1bit,Up/Down位,标识这个前缀是否是从高Level通告下来的。
X:1bit,External Original位,标识这个前缀是否是从其他路由协议中引入的。
S:1bit,Sub-TLV Present位,子TLV标识位(可选)。
R:5bit,Reserve位,保留位。
Prefix Length:8bit,前缀长度。▫Prefix:IPv6地址前缀。
Sub-TLV Length:8bit,子TLV长度。若S位置1,则存在。
Sub-TLV:子TLV。若S位置1,则存在。
129号TLV中新增NLPID
为了支持IPv6路由的处理和计算,IS-IS在129号TLV中新增了一个NLPID。
129号TLV(Protocol Supported)
字段解释:
Type:8bit,TLV类型,此时值为129(0x81),表示支持协议TLV。
Length:8bit,TLV的Value部分长度。
NLPID:8bit,网络层协议标识符。若支持IPv4,则值为204(0xCC);若支持IPv6,则值为142(0x8E)
如果IS-IS支持IPv6,那么向外发布IPv6路由时必须携带NLPID值。
IS-IS多拓扑技术背景
缺省情况下,在运行IS-IS的网络环境中,IPv4和IPv6的混合拓扑被看成是一个集成的拓扑,IS-IS针对IPv4和IPv6经计算形成相同的最短路径树。
IS-IS单拓扑存在的问题:
混合拓扑中的一些路由器和链路不支持IPv6协议,但是支持双协议栈的路由器无法感知到这些路由器和链路,仍然会把IPv6报文转发给它们,这就导致IPv6报文因无法转发而被丢弃。
同样,存在不支持IPv4的路由器和链路时,IPv4报文也无法转发。
IS-IS单拓扑的不足之处:
网络部署不适合拓扑分离。
为维护相同的拓扑,所有接口都必须同时运行IS-IS(IPv4)和IS-IS(IPv6),部署不够灵活。
不能使用IPv4区域来连接不同的IPv6区域,即无法通过IPv4网络解决IPv6孤岛问题。
IS-IS多拓扑概述
IS-IS多拓扑(Multi-Topology,MT)特性是指在一个IS-IS自治域内运行多个独立的IP拓扑。例如IPv4拓扑和IPv6拓扑,而不是将它们视为一个集成的单一拓扑。这有利于IS-IS在路由计算中根据实际组网情况来单独考虑IPv4和IPv6网络。根据链路所支持的IP协议类型,不同拓扑运行各自的SPF计算,实现网络的相互屏蔽。
IS-IS多拓扑的实现过程
建立拓扑:通过报文交互建立邻居,从而建立多拓扑。SPF计算:在不同的拓扑上分别进行SPF计算。
IS-IS的多拓扑特性可以解决单拓扑的不足之处。
IS-IS多拓扑原理
IS-IS定义了新的TLV,该TLV中包含接口所属拓扑信息(MT信息)。MT信息的传播,使得网络按不同的拓扑分别进行SPF计算,最终实现拓扑分离。
229号多拓扑TLV:
重要字段解释:
Type:8bit,TLV类型,此时值为229(0xE5),表示支持多拓扑。
O:1bit,Overload,超载位。
A:1bit,Attach,附着位。
MT ID:12bit,表示该接口属于什么拓扑。
IS-IS为了支持多拓扑特性,定义了多种TLV,包括:多拓扑TLV、多拓扑中间系统TLV、多拓扑可达的IPv4前缀TLV和多拓扑可达的IPv6前缀TLV。其中本课程将对多拓扑TLV进行讲解,其他内容不详细展开。
多拓扑TLV:
多拓扑TLV仅包含在IIH报文和LSP的0分片报文中。
预留的MT ID字段:
▪MT ID=0,用于标准IPv4拓扑
▪MT ID=2,预留给IPv6拓扑。
IS-IS (IPv6)的基础配置命令
1.使能IS-IS(IPv6)功能
[Huawei-isis-1] ipv6 enable [ topology { ipv6 | standard } ]
[Huawei-isis-1] ipv6 enable [ topology { ipv6 | standard } ]
在IS-IS进程下,使能该进程的IPv6能力。
[Huawei-GigabitEthernet0/0/1] isis ipv6 enable [ process-id ]
在接口上使能IS-IS的IPv6功能并指定要关联的IS-IS进程号。
注意:配置此命令前,必须先使能接口的IPv6功能
2.配置IS-IS接口在IPv6网络中的开销
[Huawei-GigabitEthernet0/0/1] isis ipv6 cost { cost | maximum } [ level-1 | level-2 ]
缺省情况下,IPv6拓扑中IS-IS接口的链路开销值为10。
IS-IS(IPv6)的基础配置命令与配置方式与IS-IS(IPv4)一致,其他配置命令不再赘述,详细内容请参考《HCIP-Datacom-Core Technology》课程。
[Huawei-isis-1] ipv6 enable [ topology { ipv6 | standard } ]
topology:用于指定网络的拓扑类型。
▫ipv6:指定拓扑类型为IPv6拓扑,即在IPv6拓扑上使能IS-IS进程的IPv6。网络中的链路可以配置成IPv4或IPv6,但SPF计算在各自的拓扑中单独进行。▫standard:指定拓扑类型为标准模式,即在集成拓扑上使能IS-IS进程的IPv6。网络管理员必须保证网络中所有的链路支持一致的拓扑模式。缺省情况下,使能IPv6选择standard参数。
[ Huawei-GigabitEthernet0/0/1] isis ipv6 cost { cost | maximum } [ level-1 | level-2 ] ▫cost:指定IPv6接口的链路开销值。整数形式,取值范围根据开销类型而定。
▪当开销类型为narrow、narrow-compatible或compatible时,取值范围是1~63。
▪当开销类型为wide或wide-compatible时,取值范围是1~16777214。
▪缺省值为10。
▫maximum:指定接口的链路开销值为16777215。▫level-1:指定配置level-1链路的开销值。如果不指定配置链路开销的接口级别,则同时为Level-1和Level-2级别的接口设置链路开销。
▫level-2:指定配置level-2链路的开销值。如果不指定配置链路开销的接口级别,则同时为Level-1和Level-2级别的接口设置链路开销。
检查IS-IS (IPv6)基本功能的配置结果
IS-IS双栈配置举例
场景描述:
某公司通过部署IS-IS实现IPv4网络的互联互通。该公司为了保证未来的业务发展,同时部署了IPv6网络进行业务测试,因此需要在该网络的IS-IS中使能IPv6功能。
由于设备性能不同,要求通过修改开销值,让IPv4和IPv6业务优选不同的路径,且IPv6网络单独计算拓扑。
所有路由器运行IS-IS协议,整个网络都处于区域49.0001中,且所有路由器均为Level-2路由器。配置完成后,每台路由器都应学到AS内的所有网段的IPv4路由和IPv6路由。
部署IPv4网络
1、配置各路由器接口的IPv4地址。(略)
2、配置IS-IS基本功能。
R2、R3和R4的配置与R1类似,不再赘述。
其中,它们的网络实体名分别为:
R2:49.0001.0000.0000.0002.00
R3:49.0001.0000.0000.0003.00
部署IPv6网络
1、配置各路由器接口的IPv6地址。(略)
2、使能IS-IS(IPv6)功能。
查看IS-IS (IPv4)网络路由信息
以R1为根计算最短路径树为例,可以发现IS-IS(IPv4)的逻辑拓扑如右下图所示。
查看IS-IS (IPv6)网络路由信息
以R1为根计算最短路径树为例,可以发现IS-IS(IPv6)的逻辑拓扑如右下图所示。