大家应该了解,基本上ISP骨干网的IGP都用的是ISIS,为什么用ISIS不用OSPF,相信网上有不少说法。
我本人也负责维护所在ISP骨干网的ISIS,这里我简单讲下个人的一些理解。
ISIS全称是Intermediate System to Intermediate System, 最早由ISO 10589制定,基于ISO CLNS (ConnectionLess-mode Network Services), RFC1195里才增加了对IP的支持。
ISIS和OSPF都是链路状态路由协议,都支持SPF, VSLM快速收敛,为啥运营商喜欢用ISIS呢?刚才提到,ISIS是基于CLNS的,就是说它是跑在数据链路层,这样即使IP层出了问题,只要二层能通就不会断(而OSPF只跑在IP层)。另一个优势是其使用TLV(TYPE/LENGTH/VALUE),给协议带来了极大的扩展性,比如对IPV6的支持。
另外,OSPF所有非骨干区域都必须和骨干AREA 0互联,ISIS只分两层(L1/L2),无需配置骨干区域。OSPF有很多种LSA,ISIS的LSP很少,资源占用也比较低。
在配置ISIS的时候,路由器之间的“Hello interval"和"router dead interval"不需要匹配,而OSPF则必须配置成一样的。
当网络规模比较大的时候,ISIS的收敛速度会远远快于OSPF。
因此对于运营商来说,更少的prefixes和更快的收敛速度是选择ISIS的根本原因。
ISIS分为L1(边缘)和L2(骨干),路由器则分L1,L2和L1L2三种。中小型的ISP(小于400台路由器),可以很happy的只使用Level-2,比如我服务的ISP _
ISIS支持多协议,RFC5308增加了对IPV6的支持,RFC5120增加了多拓扑(multi-topology)的支持,在配置的时候可以选择IPV4和IPV6使用一个拓扑,或者两者分开,这里我的建议是使用multi-topology,我所知的其他ISP也没有发现哪个IPV4和IPV6采用同一拓扑的。
ISIS的链路有两种:P2P(point-to-point)和Multi-access network如以太网。 实践中,我把所有互联链路都配成了P2P,这样有几个好处,P2P的链路不需要考虑DIS(Designated Intermediate System),不需要选举一台路由器来生成LSP,可以节约资源。另一个好处是P2P的互联地址可以配置成/31的,节约IPV4地址资源。
如果是Multi-access Network,就需要考虑DR(Designated Router)的选举问题。我们当然希望性能较好的路由器来做DR,但如果不配优先级的话,往往不尽人意--因为ISIS的DR选举时看MAC地址的。大家知道MAC地址是一个48bit的地址,前24位代表了厂商(OUI),后24位是厂商自行分配的,这样如果有不同厂商的设备互联,其中一个厂商的设备会总是被选为DR,这不是我们想看到的。因此配置优先级,优先级高的优先选为DR。比如思科路由器:
Interface gigabitethernet0/1
isis priority 130 level-2
再说一下NET(Network Entity Title)编码问题。NET长度可以在64-160bits之间。ISP常用的编码方式是这样的:
1、前缀(8bits)--这个一般ISP自选,通常用49.
2、接下来16bits --区域编码,比如0001.
3、接下来48bits -- 路由是loopback地址,比如 192.168.1.1, 写成 1921.6800.1001,方法是不足3位的补0,然后按4位分割。
4、最后8bits --全0.
因此 L0为192.168.1.1的路由器NET会写成:
49.0001.1921.6800.1001.00
另外一种更短一点的简单编码方式是这样,也有人用:
1、前缀(8bits)-- 同上。
2、接下来16bits --区域编码
3、接下来16bits --pop编码
4、接下来16bits --路由器编码
5、最后8bits --全0
49.0001.0009.0003.00 就指, area 1的 POP 9 的 #3号路由器。
思科路由器ISIS配置要点:
1、基本配置:
router isis as44
这里的as44是进程号,进程号是本地使用,不会在路由器之间传递,一般我们使用自己的AS号。
CISCO IOS默认路由器是L1L2,这点被人吐槽很多次,就是不改。所以初始配置要自己改:
全局:
log-adjacency-changes --开启日志
metric-style wide --配置成wide
is-type level-2-only --搭配router-wide使用
net 49.0001.<loopback>.00
端口:
interface Gigabit 6/0
ip router isis as44
2、配置metric--思科路由器默认metric 10 (继续吐槽)
在实际网络配置中要根据链路容量进行修改,比较多的ISP会把metric设一个很大的数值,比如我就设成 100000。也有些ISP的策略是把metric设成100
isis metric 100 level-2
3、邻居认证:一般都要配,比如思科路由器:
key chain isis-as44
key 1
key-string <password>
每个钥匙环可以最多配置255个不同的key
全局配置:
router isis as44
authentication mode md5 level-2 authentication key-chain isis-as44 level-2
!
应用到端口上:
interface Gigabit 4/0
isis authentication mode md5 level-2
isis authentication key-chain isis-as42 level-2
!
4、默认路由--一定要配置默认路由
router isis as42
default-information originate
从BGP引入默认路由,如果RIB里有:
ip access-list standard BGP-NH
permit <ebgp neighbor address>
!
ip prefix-list DEFAULT-ROUTE permit 0.0.0.0/0
!
route-map DEFAULT-ORIG permit 10
match ip address prefix-list DEFAULT-ROUTE
match ip next-hop BGP-NH
!
router isis as44
default-information originate route-map DEFAULT-ORIG
IPV6同样操作
router isis as44
address-family ipv6
default-information originate
ipv6 access-list BGP-NHv6
permit ipv6 host <ebgp neighbor link-local address> any
!
ipv6 prefix-list DEFAULT-v6ROUTE permit ::/0
!
route-map DEFAULT-ORIGv6 permit 10
match ipv6 address prefix-list DEFAULT-v6ROUTE
match ipv6 next-hop BGP-NHv6
!
router isis as44
address-family ipv6
default-information originate route-map DEFAULT-ORIGv6
5、互联接口的P2P配置
interface Gigabit 4/0
isis network point-to-point
ipv6 router isis as44
6、全局配置multi-topology
router isis as44
address-family ipv6
multi-topology
配置模板:
全局:
key chain <asXX-key>
key 1
key-string <password>
!
router isis asXX
net 49.0001.<loopback>.00
is-type level-2-only
metric-style wide
log-adjacency-changes all
metric 100000
!
address-family ipv6
multi-topology
!
authentication mode md5 level-2
authentication key-chain <asXX-key> level-2
!
#下面一句是宣告L0到ISIS的简化配置方式
passive-interface loopback0
!
端口
interface Fastethernet 0/0
ip router isis asXX
isis network point-to-point
ipv6 router isis asX0
!
interface Gigabitethernet 1/0
ip router isis asXX
isis network point-to-point
ipv6 router isis asXX
!
interface Gigabitethernet 2/0
ip router isis asXX
isis network point-to-point
ipv6 router isis asXX
!
完成配置后,可以使用sh clns neighbour 和sh isis neighbour, sh ip routing isis 命令来查看效果。
网友评论