关于System ID:
- 一个中间系统(路由器)至少有一个NET(最多可有254个),默认最多3个。
- 同一AREA中间系统必须有相同的area ID(level-2, level-2)。
- 每个中间系统在一个area中必须有一个唯一的System ID。
- 一个域中的两个Level-2中的系统不同有相同的System ID。
- NSA至少为8个字节,最多20个字节。
- 对于IP应用程序而言,1字节定义的AFI(标识二进制DSP语法的地址域),最少2字节定义实际区域信息,6字节定义系统ID和1字节的NSEL,故SNAP地址最少为10字节。
IS-IS整体拓扑:
为了支持大规模的路由网络,IS-IS在自治系统内采用骨干区域与非骨干区域两级分层结构。一般来说,将level-1路由器部署在非骨干区域,level-2路由器和Level-1-2路由器部署在骨干区域。每一个非骨干区域都通过level-1-2路由器与骨干区域相连。
IS-IS中选举DIS是为了减少LSP在网络中的通告次数,避免带宽浪费。
ISIS中DIS的特点:
- ISIS中只有DIS而没有备份的DIS。同时DIS可以被抢占。原因是ISIS中所有的路由器之间都可以建立邻接关系。并且DIS设备的hello报文是每隔10/3秒发送次,在华为中是3秒发送一次,holdtime时间是9秒,可以更快的发送DIS故障,重新选举DIS。非DIS设备每隔10s发送一次IIH,holdtime为30s。
- Level-1和Level-2分开选举DIS。
如何选举DIS?
- 比较优先级,优先级越大越优。默认优先级为64,在ISIS中如果将优先级设置为0,同样可以参加选举。
- 如果优先级一样,需要比较MAC地址,MAC地址越大越优。
影响ISIS邻居建立的条件?
区域ID不一致。(只会影响level-1)
网络类型不一致。
运行级别不一致。(注:在华为中如果系统级别和接口电路级别不同,以系统级别为准。)
修改接口级别主要用在以下两种场景:
- 只向该网段发送和接收L1或者L2的报文。
- 只将该接口的路由宣告进L1或L2。 (系统级别包含接口级别)
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)
level-1-2 和level-1-2 。(可以建立level-1的关系,但需保证区域ID一致。可以建立level-2的关系,不检测区域ID)
接口认证不一致。
注:在ISIS中如果收到报文中携带本地不识别的TLV,可以忽略并透传给其他邻居。
- 接口认证:会影响邻接的建立。
- 区域认证:不会影响邻接的建立,但会影响L1区域的SNP和LSP报文的接收。
- 域的认证:不会影响邻接的建立,但会影响L2区域的SNP和LSP报文的接收。
MTU不一致。(ISIS中存在隐式的MTU检测机制通过IIH报文)
- 广播网:1497:在广播网中发送的所有的IIH报文都会按出接口的MTU值进行填充。
- 点到点:1500:在点到点网络中建立邻接关系之前发送的IIH报文长度会按出接口的MTU值进行填充。建立邻接关系以后不填充,发送正常的IIH报文。
配置:
interface gi0/0/0
mtu 1100 \接口下修改MTU为1100
isis 1
is-level level-2
cost-style wide
lsp-length originate 1097\修改后同时需修改进程下的LSP的长度,长度要小于等于计算后的MTU值。
在接口在可通过配置isis small-hello,可以建立邻接关系。通过这种方式关闭MTU隐是检测。
system-id长度不一致。(默认是6个字节)
max area数量不一致。(默认是3个)
system id冲突(只限于直连设备)
多拓扑。(接口下既可以支持IPv6,也可以支持IPv4 )(思科中会有影响,华为默认会在TlV中携带多拓扑信息,不影响。)
IP地址不在同一个网段(ISIS在广播网中是开启源检查的,并且不能关闭。P2P也是默认开启,但是 可以关闭)
ISIS支持的网络类型:
只支持广播和点到点,不支持非广播,如果想支持非广播,需要改为点到点。
ISIS具体的报文:
Hello PDU (IIH)用于建立和维护邻居关系
- level-1 Lan IIH(01-80-C2-00-00-14)
- level-2 Lan IIH (01-80-C2-00-00-15)
- P2P IIH
LSP PDU用于交换链路状态信息
- Level-1 LSP
- Levle-2 LSP
SNP PDU用于维护LSDB的完整与同步,且为摘要信息
CSNP:
- Level-1 CSNP
- Levle-2 CSNP
CSNP:
- Level-1 CSNP
- Levle-2 CSNP
广播网中邻接建立过程:
在广播网中采用的是可靠的邻接建立过程,如果在接收的IIH报文中看到了自己接口的MAC地址,说明邻接已经收到并确认了自己发送的IIH报文。那么本地维护邻居的状态变为UP状态。
在广播网中通过IS邻居TLV携带邻居接口MAC地址的方式保证邻居建立的可靠性。
在点到点网络中邻接建立的过程:(2Way和3way的过程)
2Way是属于两次握手,没有可靠性保证。只要收到邻接发送的IIH报文,并检测通过,维护邻居的状态为UP状态。
3Way是属于三次握手,在点到点网络中使用3way的方式保证邻接建立的可靠性。新增一种TLV,点到点邻居状态TLV。
点到点邻居状态TLV中包含四个参数:
- state:本地当前维护邻居的状态。
- 本地接口扩展电路ID(4B)
- 邻居的System ID
- 邻接接口的扩展电路ID(4b)
注:在华为中默认是3way的建立过程。
扩展电路ID:4B.
ISIS LSP交互过程
广播网中LSP的交互过程:
所有设备之间建立邻接关系。
向组播地址通告自己的LSP,Level-1的组播地址01-80-C2-00-00-14,level-2的组播地址:01-80-C2-00-00-15。
由DIS收集LSP,并每隔10s发送一次CSNP,在CSNP报文中通告DIS设备中LSDB中所有LSP的摘要信息(LSP头部信息)。
其他设备收到DIS发送的CNSP报文后,需要查看在CNSP报文中是否包含自己的LSP,如果包含说明DIS收到了自己发送的LSP。如果没有需要重传。同时,还需要将CSNP中的摘要信息和本地的LSDB做对比,查看本地去缺少哪些LSP,后续通过PSNP报文向DIS请求自己缺少的LSP。
DIS收到PSNP报文后回复PSNP报文中请求的LSP。
注:上述过程中所有的报文都是以组播方式交互。
如何在广播网中保证LSP报文交互的可靠性:
通过DIS每隔10s发送一次CSNP报文。
点到点中LSP的交互过程:
- 首先建立邻接关系。
- 开始互相发送CSNP,在CSNP报文中包含本地LSBD中所有LSP的摘要信息。
- 收到邻居发送的CSNP报文,需要将CSNP报文中的LSP摘要信息和自己的LSDB做对比,查看缺少的LSP,并通过PSNP报文请求缺少的LSP。
- 收到PSNP请求后,回复LSP报文。
- 收到LSP报文后回复PSNP确认接收到的LSP。
注:在点到点网络中PSNP报文有两个作用,请求和确认。
在OSPF中收到LSA后,先给邻居发送LSA,后进行SPF计算。
在ISIS中收到LSP后,小进行SPF计算,后给邻居发送LSP。
SSN/SRM标志:
发送序列号/发送路由管理
都是基于发送、接收LSP的接口设置。用于LSP完整性、可靠性的保证。
P2P链路:
- SSN标志:用于P2P链路接收方,在收到一个LSP时设置,在完成PSNP确认时清除。
- SRM标志:用于P2P链路发送方,在发送一个LSP时设置,在收到其PSNP确认时清除。
广播网链路:
- SSN标志:用于广播网链路数据库同步过程中,请求完整的LSP。
- SRM标志:用于广播网链路发送方,在发送一个LSP时设置,但在LSP传送出去后被立即清除,因为广播链路不需要PSNP确认。
LSP的老化处理:
ISIS的LSP最大老化时间为1200s(20分钟),通告间隔时间为900s(15分钟)。在ISIS中LSP是通过剩余老化时间来维护的(倒计时),如果LSP的剩余老化时间为0,说明该LSP需要被清除。如果LSP的剩余老化时间为0,需要再等待60s(零老化时间)后将LSP删除。
在ISIS中如何判断LSP的新旧:
- 需要比较序列号。序列号越大越新。
- 如果序列号一样,比较看LSP的剩余老化时间是否为0,。如为0,LSP为最新。
- 如果LSP的剩余老化时间不为0,则认为一致。
华为的比较方法:
- 若收到的LSP比本地的序列号更小,则直接给对方发送本地的LSP,然后等待对方给自己一个PSNP报文作为确认。若收到的LSP比本地的序列号大更大,则将这个新的LSP存入自己的LSDB,再通过一个PSNP报文来确认收到此LSP,最后再将这个新的LSP发送个除了发送该LSP的邻居以外的邻居。
- 若收到的LSP序列号和本地相同,则比较Remaining Lifetime,若收到LSP的剩余老化时间小于本地LSP的剩余老化时间,则将收到的LSP存入LSDB中并发送PSNP报文来确认收到此LSP,然后将该LSP发送给LSP的邻居以外的邻居。若收到LSP的剩余老化时间大于本地的。则直接发送给对方本地的LSP,然后等待对方给自己一个PSNP报文作为确认。
- 若收到的LSP和本地LSP的序列号和Remaining Lifetime都相同,则比较Checksum,若收到LSP的Checksum大于本地LSP的Checksum,则将收到的LSP存入LSDB中并发送PSNP报文俩确认收到此LSP。然后将该LSP发送给LSP的邻居以外的邻居。若收到LSP的Checksum小于本地LSP的Checksum,则直接发送给对方本地的LSP,然后等待对方给自己一个PSNP报文作为确认。
- 若收到的LSP和本地LSP的序列号,Remaining Lifetime和Checksum都相同,则不转发该报文。
ISIS LSDB是由几部分组成的?
0000.0000.000 是system id。
00是伪节点ID部分。如果位00表示是标准的LSP,标准的LSP每台ISIS路由器都会通告,如果为非0值,说明是伪节点的LSP,伪节点LSP只有DIS才会通告。(* 部分表示是本地产生的LSP。)
-00是LSP的分片部分。标准分片:默认最多可以分256片(00-255)。00是首部分片,在00片中包含所有协议的TLV头部,而其他分片只有通告数据。如果接收过程中00片丢失,那么后续的分片都会被丢弃。
ATT:区域边界标识位
P:分段区域修复位(用于虚链路,但是各厂商均不支持。该比特位只有在L2 LSP才会被置位)
OL:overload过载位:如果邻居通告的LSP中OL位置位,那么需要通告该邻居到达的目的路由,都不会再该邻居做计算。但是该邻居通告的直连路由,还可以做计算(需要经过该邻居转发的路由不再做计算,但是该邻居始发的路由还可以做计算)。
OL位的设置有两种方式:
- 自动设置:内存不足。 协议联动(ISIS over BGP)。
- 手动设置。(用于流量的割接)
路由渗透:
Level1-2路由器手动将Level 2层级路由渗透到level 1层,可以避免level 1路由器路由次优路由。
在ISIS中Level-1区域的设备需要通过默认路由访问骨干区域,并且默认路由不是由Level1/2的设备通告的,而是由Level-1区域中的设备自动生成的。
Level-1区域的设备什么情况下会生成一条默认路由?
收到的Level-1的LSP中ATT位置位,就需要生成该设备的默认路由。
如果区域中存在多条Level-1的LSP中ATT位置位,则生成一条离自己最近的设备的默认路由。
只有Level1-2的设备才会通告ATT位置1的Level1的LSP。
什么情况下Level1-2的设备才会通告一条ATT置位的Level1的LSP?
- Level1/2的设备在骨干区域(level2)中存在活动的邻接关系。
- 骨干区域的区域ID不能和Level1/2的区域ID一样。
ISIS的度量值类型:
窄度量:
- 通过一个字节的长度,表示度量值。在这一个字节中,前两个比特位用于标志位。后面的六个bit表示度量值。
- 第一bit:up、dowm比特位,如果为0,代表Up,如果为1,代表down。主要目的是用于防环。如果收到的路由条目中down比特位置位,该路由不能被通告会level2的区域。
- 第二个bit :标识路由类型。(internal/external),如果为0,表示内部路由(internal),如果为1,表示外部路由(external)。
- 窄度量中同时还划分了四种度量值,分别为:
- 默认度量。(目前只有这个在使用)
- 延迟度量。
- 差错度量。
- 开销度量。
窄度量中接口下可以配置的最大度量值为63,转发路径上度量值之和最大为1024.如果在窄度量的环境中收到的路由条目的度量值大于1024,则该路由不选路。
ISIS中度量值的配置方式:
- 默认值为10.
- 手动设置。
宽度量(4B):
宽度量:接口COST = (bandwidth-reference/接口带宽)* 10;
窄度量:根据接口带宽范围有固定的cost值。
想要支持IPv6的话必须使用宽度量。
22TLV(3B)扩展的IS可达性
135TLV(4B)扩展的IP可达性
注:如果设备两端的度量类型不一致,无法计算路由。
什么场景下需要用到wide metric(宽度量)?
- 支持IPv6
- 携带Tag
- 支持MPLS-TE
- cost值范围不够用
ISIS的认证方式:
接口认证:
只对Level-1和level-2的Hello报文进行认证。
区域认证(area):
对Level-1的SNP和LSP报文进行认证。
路由域认证(domain):
对Level-2的SNP和LSP报文进行认证。
认证方式:
- 明文认证
- MD5
在负载是影响选路的配置weight:
nexthope命令用来设置等价路由的优先级。
在IS-IS根据SPF算法算出等价路由后,再根据weight的权重从这些等价路由中选择下一跳,值越小越优。
nexthop ip-address weight value
value值范围:1-254。缺省值255.