原理概述
IS-IS 协议为路由器的每个 IS-IS 接口定义并维护了一个 Level-1开销值和一个 Level-2开销值。开销值可以在接口上或者全局上手动配置,也可以使用 Auto-Cost 自动计算确定。开销值的优先顺序为:接口上手动配置的开销值,全局上手动配置的开销值, Auto-Cost 方式自动计算确定的开销值。
采用 Auto-Cost 计算确定接口的开销值时,如果开销值类型为 Wide ,则接口开销值=(参考带宽÷接口带宽)x10:如果开销值类型为 Narrow ,则接口开销值为与接口带宽绑定的固定值。开销值类型为 Narrow 时,接口带宽分为几个档次,依次为小于等于10MB、大于10MB小于等于100MB、大于100MB小于等于155MB、大于155MB小于等于622MB、大于622MB小于等于2.5GB,大于2.5GB,而相应的接口开销值分别为60、50、40、30、20、10。在没有任何配置的情况下, IS-IS 开销类型默认为 Narrow ,且所有带宽档次的接口默认开销值均为10。
任何一条路由都有相应的协议优先级,例如,直连路由的协议优先级的值为0, OSPF 内部路由的协议优先级的值为10,静态路由的协议优先级的值为60, RIP 路由的协议优先级的值为100, OSPF ASE ( AS External )路由的协议优先级的值为150, EIGP 路由的协议优先级的值为255, IBGP 路由的协议优先级的值为255, IS-IS 路由的协议优先级的值为15。注意,路由的协议优先级的值越小,路由的优先级越高。
与许多动态路由协议一样, IS-IS 也拥有一系列的计时器,其中的 Hello Timer 是用来控制 IS-IS Hello 报文发送的时间间隔的。
实验目的
掌握修改 IS-IS 开销值的方法
掌握修改 IS-IS 协议优先级的方法
掌握修改 IS-IS Hello Timer 设定值的方法
实验内容
实验拓扑如图所示。本实验模拟了一个简单的企业网络场景,R1、R2、R3、R4均为 Level-1 IS- IS 路由器,R1为企业分支机构的路由器,R4的Loopback0接口、Loopback1接口以及 Loopback 2接口分别模拟了企业总部的3台服务器 A 、 B 、 C 。网络需求是:企业分支机构访问服务器 A 的报文通过R2转发,企业分支机构访问服务器 B 和服务器 C 的报文通过R3转发。此外,为了减少链路上 IS-IS Hello报文带来的开销,Hello Timer的设定值需要被修改增大。
实验拓扑
1.基本配置
根据拓扑图进行相应的基本配置,并使用ping命令检测R1与R2之间的连通性。
其余直连网段的连通性测试过程在此省略。
2.配置IS-IS路由协议
在每台路由器上配置IS-IS协议。注意,各路由器均为Level-1路由器。
[r1]isis
[r1-isis-1]network-entity 10.0000.0000.0001.00
[r1-isis-1]is-level level-1
[r1-isis-1]is-name r1
[r1-isis-1]q[r1]int g0/0/0
[r1-GigabitEthernet0/0/0]isis enable
[r1-GigabitEthernet0/0/0]int g0/0/1
[r1-GigabitEthernet0/0/1]isis enable
[r2]isis
[r2-isis-1]network-entity 10.0000.0000.0002.00
[r2-isis-1]is-level level-1
[r2-isis-1]is-name r2
[r2-isis-1]q
[r2]int g0/0/0
[r2-GigabitEthernet0/0/0]isis enable
[r2-GigabitEthernet0/0/0]int g0/0/1
[r2-GigabitEthernet0/0/1]isis enable[r3]isis
[r3-isis-1]network-entity 10.0000.0000.0003.00
[r3-isis-1]is-level level-1
[r3-isis-1]is-name r3
[r3-isis-1]q
[r3]int g0/0/0
[r3-GigabitEthernet0/0/0]isis enable
[r3-GigabitEthernet0/0/0]int g0/0/1
[r3-GigabitEthernet0/0/1]isis enable
[r4]isis
[r4-isis-1]network-entity 10.0000.0000.0004.00
[r4-isis-1]is-level level-1
[r4-isis-1]is-name r4
[r4-isis-1]q
[r4]int g0/0/0
[r4-GigabitEthernet0/0/0]isis enable
[r4-GigabitEthernet0/0/0]int g0/0/1
[r4-GigabitEthernet0/0/1]isis enable
[r4-GigabitEthernet0/0/1]int lo 0
[r4-LoopBack0]isis enable
[r4-LoopBack0]int lo 1
[r4-LoopBack1]isis enable
[r4-LoopBack1]int lo 2
[r4-LoopBack2]isis enable
配置完成后,,在R1上查看IS-IS邻居信息。
可以看到,R1与R2和R3成功建立了Level-1邻接关系。
3.修改IS-IS开销值
在R1上使用display isis route命令查看IS-IS路由表。
可以看到,R1去往10.0.100.1/32、10.0.100.2/32、10.0.100.3/32的路由采用了负载均衡的方式,分别以R2和R3为下一跳。
在R1上查看GE0/0/0接口的IS-IS协议详细信息。
可以看到,R1的GE0/0/0接口的IS-IS Level-1和Level-2的开销值均为10。
为了使R1访问10.0.100.1/32、10.0.100.2/32、10.0.100.3/32的报文都通过R3转发,可以在R1的G0/0/0接口上使用isis cost 50 level-1命令修改Level-1的开销值为50。
[r1]int g0/0/0
[r1-GigabitEthernet0/0/0]isis cost 50 level-1
配置完成后,在R1上查看G0/0/0接口的IS-IS 协议详细信息。
可以看到,R1的GE0/0/0 接口的Level-1开销值已经变成了50。
在R1上查看IS-IS路由表。
可以看到,现在R1去往10.0.100.1/32、10.0.100.2/32、10.0.100.3/32的路由的下一跳均为R3。
在R1上使用tracert命令验证去往10.0.100.1/32、10.0.100.2/32、10.0.100.3/32的报文所经过的路径。
可以看到,R1去往各服务器的报文均选择了经由R3的路径。
4. 修改IS-IS协议优先级
接下来,为了使R1访问服务器A的报文选择经由R2的路径,可配置如下的静态路由。
[r1]ip route-static 10.0.100.1 32 10.0.12.2
在R1上查看路由表。
可以看到,路由表中R1去往10.0.100.1/32的路由信息依旧是通过IS-IS协议所获得的,这是由于IS-IS协议的协议优先级的值为15,而静态路由的协议优先级的值为60。注意,路由的协议优先级的值越小,路由的优先级就越大。
在R1上使用tracert命令验证从R1去往10.0.100.1/32的报文所经过的路径。
可以看到,R1访问服务器A时依旧使用的是经由R3的路径。
在R1上使用display default-parameter isis命令查看IS-IS协议的默认参数。
可以看到,IS-IS对于IPv4的协议优先级的值默认为15。接下来,在R1的IS-IS视图下使用preference 70命令修改R1的IS-IS协议优先级的值为70。
[r1]isis
[r1-isis-1]preference 70
配置完成后,在R1上查看路由表。
可以看到,现在R1访问10.0.100.1/32的报文使用的是静态路由了,经由R2转发。
在R1上使用tracert命令验证从R1去往10.0.100.1/32的报文所经过的路径。
可以看到,现在R1访问服务器A时选择了经由R2的路径。
在R1上使用tracert命令验证从R1去往10.0.100.2/32和10.0.100.3/32的报文所经过的路径。
可以看到,R1去往服务器B和服务器C时依旧选择的是经由R3的路径。
5.修改IS-SI Hello Timer的设定值
为了减少在链路上发送IS-IS Hello报文的频率,可以人为地增大IS-IS Hello报文的时间间隔。在R1上查看GE0/0/0接口的IS-IS协议详细信息。
可以看到,默认情况下IS-IS接口的Level-1和Level-2 Hello报文时间间隔均为10s,但是DIS接口的Level-1和Level-2 Hello报文的时间间隔均为3s(自动取相应值的三分之一,并取整)。注意,R1的GE0/0/0接口现在就是Level-1 DIS接口。
在R1的GE0/0/0接口视图下使用isis timer hello 30 level-1命令修改GE0/0/0接口发送IS-IS Level-1 Hello报文的时间间隔为30s。
[r1]int g0/0/0
[r1-GigabitEthernet0/0/0]isis timer hello 30 level-1
配置完成后,在R1上查看GE0/0/0接口的IS-IS协议详细信息。
可以看到,Level-1 Hello时间间隔修改为30s后,DIS的Level-1 Hello时间间隔自动变化10s。
查看R1的GE0/0/1接口的Level-1 Hello报文的时间间隔。
可以看到,R1是接口GE0/0/1所在链路的DIS路由器,GE0/0/1的Hello报文的时间间隔仍为10s。