关于IS-IS的特性:
1.1 SPF算法Dijkstra:
目的在于计算到达网络拓扑中其它路由器的最短路径;通过计算得到的最短路径树SPT (Shortest Path Tree),可以建立路由信息表。
计算过程:重复执行以下三步N次
1、从tentative list 的所有路由器中找出离自己(根)最近的节点,并把它从tentative list 移到 paths list
2、发现此节点通告的所有前缀并安装到RIB中
3、发现此节点的所有邻居并把这些邻居移动到tentative list中 在IS-IS中,IP前缀是最短路径树上的叶子,不使用IP 前缀来计算和建立SPT 使用CLNS System-ID 来标记路由器
PRC计算:
ISPF计算:
- 树中不改变的部分保持原样
- 重新计算树中受影响的部分
- 把受影响的部分和保持原样的部分整合到一起
- 为了实现 i-SPF,我们必须维护列表 parent list
1.2 路由泄露:
L1路由器一般是使用指向边界L1/2路由器的默认路由访问外网的,当一个L1区域内存在多个边界出口时,可能会出现非对称路由的情况,如果该边界有防火墙存在时,就会出现不能访问外网的情况;此时就需要在L1/2路由器上使用路由泄露的方式将明细路由下放才能解决这个问题。
1.3 度量值计算
在ISIS路由协议中,使用Cost作为路由度量值,在路由选路中Cost值越低,则路由越优。缺省情况下与链路带宽无关,缺省值为10。
Cost的类型有两种:Narrow和Wide。 当使用Narrow类型的Cost时,IS-IS接口Cost长度为6bit,意味着一个接口所支持的Cost值范围为1-63,路由Cost的长度为10bit,接收到的路由最大的Cost值可以到1023;如果在窄度量的环境中收到的路由条目的度量值大于1024,则该路由不选路。当使用Wide类型的Cost时,接口Cost为24bit,路由Cost的长度为32bit范围得到了很大的扩展;进入ISI进程下使用cost-style wide或narrow可以选择类型;在现实部署中,要保证域内路由器使用相同的Cost类型。
窄度量(默认):
通过一个字节的长度,表示度量值。在这一个字节中,前两个比特位用于标志位。后面的六个bit表示度量值。
第一bit:up、dowm比特位,如果为0,代表Up,如果为1,代表down。主要目的是用于防环。如果收到的路由条目中down比特位置位,该路由不能被通告会level2的区域。
第二个bit :标识路由类型。(internal/external),如果为0,表示内部路由(internal),如果为1,表示外部路由(external)。
窄度量中同时还划分了四种度量值,分别为:
- 默认度量。(目前只有这个在使用)
- 延迟度量。
- 差错度量。
- 开销度量。
宽度量(4B):
宽度量:接口COST = (bandwidth-reference/接口带宽)* 10;
想要支持IPv6的话必须使用宽度量。
22TLV(3B)扩展的IS可达性
135TLV(4B)扩展的IP可达性
什么场景下需要用到wide metric(宽度量)?
- 支持IPv6
- 携带Tag
- 支持MPLS-TE
- cost值范围不够用
1.4 LSP报文的老化处理:
IS-IS的LSP最大老化时间为1200s(20分钟),通告间隔时间为900s(15分钟)。在ISIS中LSP是通过剩余老化时间来维护的(倒计时),如果LSP的剩余老化时间为0,说明该LSP需要被清除。如果LSP的剩余老化时间为0,需要再等待60s(零老化时间)后将LSP删除。
在IS-IS中如何判断LSP的新旧:
1、需要比较序列号。序列号越大越新。
2、如果序列号一样,比较LSP的剩余老化时间是否为0,。如为0,LSP为最新。
3、如果LSP的剩余老化时间不为0,则认为一致。
1.5 优雅重启Graceful-restart :
对于路由器ospf来说,有些配置需要重启ospf进程重启一下才能生效,比如更改router-id;另外有的设备路由器有两个控制板,一个活动主板,一个备用主板,当活动主板出现问题后(比如断电),路由器就会自动切换到备用主板,这样路由协议也会被迫重启。如果不用优雅重启的话,当重启IS-IS进程的以后(不管是手动输入命令来重启,还是断电导致重启),路由器都要与邻居断开IS-IS关系,转发表也会不可用;等IS-IS进程再次启动后,会跟邻居重新建立关系,再重新计算路由,这需要占用相当一部分时间;在断开邻居关系,到重新计算出路由的这段时间内,转发表无效,流量是不通的,对于大型的网络来说,这是不可取的,因为会造成很大的经济损失。用了GRGR以后,虽然重启了IS-IS进程,但是可以保持转发表不变,这样流量不会中断,当重启IS-IS进程时,会告诉邻居,不要断开与自己的关系,同时自己一直保持转发表有效。然后当IS-IS进程启动后,迅速与邻居建立好关系。之所以叫做优雅重启,就是因为重启不会造成流量的中断。
优雅重启在EIGRP、OSPF、BGP中同样可以使用。
IS-IS中,路由器开启优雅重启后,当邻居在10分钟内没有收到该路由器发送的hello报文,就会判断该路由器可能存在问题,立即断开该邻居关系。
1.6 认证:支持明文和MD5认证
接口认证:会影响邻接的建立,只对Level-1和level-2的Hello报文进行认证。
区域认证:不会影响邻接的建立,但会影响L1区域的SNP和LSP报文的接收。
域的认证:不会影响邻接的建立,但会影响L2区域的SNP和LSP报文的接收。
1.7 影响邻居建立的条件:
1、区域ID不一致(只会影响level-1)
2、网络类型不一致。
3、运行级别不一致 level-1 和 level-2 无法建立。
levle-1和level-1(需保证区域ID一致)
level-1 和level-1-2(需保证区域ID一致)
level-2 和level-2(level-2的邻居建立不会检查区域ID)
level-2 和level-1-2 (level-2的邻居建立不会检查区域ID) l
evel-1-2 和level-1-2 (可以建立level-1的关系,但需保证区域ID一致。可以建立level-2的关系,不检测区域ID)
4、接口认证不一致;在ISIS中如果收到报文中携带本地不识别的TLV,可以忽略并透传给其他邻居。
5、MTU不一致。(ISIS中存在隐式的MTU检测机制通过IIH报文) 广播网:1497:在广播网中发送的所有的IIH报文都会按出接口的MTU值进行填充。 点到点:1500:在点到点网络中建立邻接关系之前发送的IIH报文长度会按出接口的MTU值进行填充。建立邻接关系以后不填充,发送正常的IIH报文。
6、system-id长度不一致。(默认是6个字节)
7、max area数量不一致。(默认是3个)
8、system id冲突(只限于直连设备)
9、多拓扑。(接口下既可以支持IPv6,也可以支持IPv4 )(思科中会有影响,华为默认会在TlV中携带多拓扑信息,不影响。)
10、IP地址不在同一个网段(ISIS在广播网中是开启源检查的,并且不能关闭。P2P也是默认开启,但是 可以关闭)
1.8 IS-IS中LSP的数据分片:
当IS-IS要发布的链路状态协议数据报文PDU中的信息量太大时,IS-IS路由器将会生成多个LSP分片,用来携带更多的IS-IS信息;IS-IS LSP分片由LSP ID中的LSP Number字段进行标识,这个字段的长度是1字节。因此,一个IS-IS进程最多可产生256个LSP分片,携带的信息量有限。在RFC3786中规定,IS-IS可以配置虚拟的SystemID ,并生成虚拟IS-IS的LSP报文来携带路由等信息。
初始系统(Originating System):初始系统是实际运行IS-IS协议的路由器。允许一个单独的IS-IS进程像多个虚拟路由器一样发布LSP,而"Originating System"指的是那个"真正"的IS-IS进程。
系统ID(Normal System-ID):初始系统的系统ID。
虚拟系统(Virtual System):由附加系统ID标识的系统,用来生成扩展LSP分片。这些分片在其LSP ID中携带附加系统ID。
附加系统ID(Additional System-ID):虚拟系统的系统ID,由网络管理器统一分配。每个附加系统ID都允许生成256个扩展的LSP分片。
24号TLV(IS Alias ID TLV):用来表示初始系统与虚拟系统的关系。
在IS-IS中,每个系统ID都标识一个系统,每个系统都最多可生成256个LSP分片。通过增加附加系统ID,可以最多配置50个虚拟系统,从而使得IS-IS进程最多可生成13056个LSP分片。使能分片扩展功能之后,如果存在由于报文装满而丢失的信息,系统会提醒重启IS-IS。重启之后,初始系统会尽最大能力装载路由信息,装不下的信息将放入虚拟系统的LSP中发送出去,并通过24号TLV来告知其他路由器此虚拟系统和自己的关系。
随着规模越大,IS-IS比OSPF的扩展性更强,这个扩展性重点不是体现在能容纳的路由器更多,资源带宽占用更少,而是体现在IS-IS的TLV上:如果现在网络中出现一种新的应用,这中新应用要求与IGP进行交流和通信,如果这种IGP是OSPF的话,那么需要为此开发一种新的LSA,用来让OSPF支持这种新应用,但这样做所付出的代价巨大,且老的OSPF路由器无法识别而丢弃(就像思科路由器不支持LSA6,也就是MOSPF),也就是向后兼容性很差;但如果这种IGP是IS-IS的话,情况就简单了,它支持任何新的应用都无需开发新的LSP,因为它有TLV-T代表type(新特性的名字)、L代表length(新特性字段长度)、V代表value(新特性的具体属性),TLV相当于一节车厢,而LSP相当于一列车,当出现新应用后只需要加挂一节车厢即可,当出现和OSPF里类似的无法识别的情况时,不是作丢弃操作,而是跳过不读取而已。OSPF为了支持IPV6而专门开发了一个V3的版本,而对于IS-IS来说,无需再专门开发一个针对IPV6的版本,只要增加一个新的支持IPV6的TLV就可以了,IS-IS超强扩展性就在于此。
================================================================
更 多 免 费 思 科 认 证 课 程 资 料 >> 传送门
永 久 更 新