ISIS:中间系统到中间系统
由ISO组织开发完成,最初是为了服务于OSI七层模型中网络层的CLNP网络
ISIS工作在TCP/IP中的数据链路层位置
NSAP:网络服务访问点
可以用于标识一台具体的设备或者标识上层服务
由IDP和DSP两部分组成:
IDP:可以理解为OSI七层模型中IP地址的网络部分
AFI:地址分配机构
IDI:地址标识域
DSP:可以理解为OSI七层模型中IP地址的主机部分
High order DSP:可以理解为OSI地址中的子网位
System-id:OSI地址中的主机位,标识网络中的一台主机
SEL:标识服务类型,服务于IP网络是,值为00
NET:网络实体名称
为NSAP的一个具体应用
Area id:AFI + IDI + high order DSP
Area id:用于标识一个区域
System id:用于标识区域中的一台主机
SEL:标识服务类型,服务于IP网络是,值为00
一台设备可以最多配置三个NET地址,当配置多个NET地址时,地址的system-id必须一致
华为推荐计算方式:
将router-id每个点分处填充为三位,不足三位填0
在将新得到的字符串重新以四位每组进行点分
得到新的system-id,再加上area id和SEL组成网络实体名称(NET)
注:现实场景中,会直接按照项目拓扑进行网络实体名称规划,不参考华为计算方式
ISIS路由器的分类:
Level-1路由器:
1、只能于同一区域的level-1或者level-1/2路由器形成邻接关系:相同area id
2、只维护level-1区域的LSDB
3、只能通过level-1/2路由器连接骨干区域
Level-2路由器:
1、可以和相同区域或者不同区域的level-2或者level-1/2路由形成邻接关系:不要求area id
2、只维护level-2区域的LSDB
3、所有的level-2形成骨干区域
Level-1/2路由器:
1、类似于OSPF中 的ABR设备
2、同时维护骨干区域和非骨干区域的LSDB
3、可以与相同区域的level-1设备建立level 1邻接关系
4、可以与相同或者不同区域的level 2路由器建立level 2的邻接关系
5、与相同区域的level-1/2路由器可以同时形成level 1和level 2邻接关系
骨干区域与普通区域的划分:
骨干区域:连续的level 2邻接关系组成骨干区域,有且只有一个
非骨干区域:连续的level 1邻接关系组成非骨干区域,可以有多个
ISIS支持网络类型:
ISIS支持广播和点对点网络
如果需要在NBMA或者P2MP网络类型上运行ISIS,需要将网络类型强改为P2P网络
ISIS开销计算:
ISIS接口开销默认为10,跟接口的具体带宽无关
开销的修改方式:
1、直接在接口视图下进行修改接口开销
2、在协议视图下将所有接口开销进行修改
3、将开销计算方式与接口带宽进行关联
注:同时进行了上述三种操作,接口修改 > 协议视图修改开销 > 计算
开销的类型:
1、窄度量:0--63,默认10
2、宽度量:0--16777215,默认10
默认采用窄度量,需要在协议视图下进行修改
修改命令:cost-style wide
ISIS邻接关系建立条件:
1、只有同一层次的路由器相互之间才可能建立邻接关系(level-1/2路由器可能看作level-1或者level-2路由器)
2、对于level-1路由器来说,只有相同area id才能建立邻接关系
3、两台路由器相连接口网络类型必须一致
4、在广播型网络中,默认相连接口需要处于同一网段
注释:当接口下配置了主IP和多个从IP时,只需要其中一个IP地址处于相同网段即可
接口从IP地址配置命令:
ISIS报文头部:
ISIS报文直接封装在以太网头部之上
ISIS报文由ISIS报文头部和可变长两部分组成
ISIS报文头部由ISIS通用头部和ISIS专属头部组成
ISIS通用头部参数:所有ISIS报文都需要携带
Intradomain Routing Protocol Discriminator:域内路由选择协议鉴别符,固定为0X83
Length header:ISIS报文头部长度,包含通用头部和专属头部
version:ISIS的版本,固定值为0X01
System ID length:基本为0,因为system-id长度通常为6字节
version:ISIS的版本,固定值为0X01
PDU type:用于标识报文具体为哪一类,HELLO、LSP、SNP
Max.areas:支持最大区域数量,0--254,当为0是,最大支持3个区域
ISIS报文类型:
ISIS报文一共有三大类,九小类:
hello:用于发现、建立、维护邻接关系
L1 hello:用于在L1区域发现、建立、维护邻接关系
L2 hello:用于在L2区域发现、建立、维护邻接关系
hello报文格式:
Circuit Type:表示路由器的类型,01为L1,10为L2,11为L 1/2
Source ID:表示发送者的system-id
Holding time:保活时间间隔,当此时间结束没有收对端发送的hello报文,则认为邻接死亡
priority:优先级,用于选举DIS设备,当优先级为0时,可以参与DIS选举
LAN ID:为DIS设备的system-id和伪节点ID,只存在LAN hello报文中
Local circuit ID:用于标识点对点链路
使用Circuit Type、Source ID、TLV值为1的area id去判断建立哪种类型的邻接关系
广播网络中建立邻接关系的过程:
R1<--------------------->R2
1、两台路由器都处于down状态
2、R1以组播形式发送lan hello报文
3、R2收到R1发送的hello报文,检查路由器角色、area id、system id
4、将R1的system id加入邻接列表,以组播的形式发送lan hello报文,并且状态机跳转initial
5、R1收到R2发送的hello,检查路由器角色、area id、system id,查看R1发送的hello邻接列表存在自己的system id,将状态机跳转为up
6、R1将R2的system id加入邻接列表,发送hello报文
LAN hello报文通过组播形式进行发送:
L1路由器监听组播MAC地址:0180-C200-0014
L2路由器监听组播MAC地址:0180-C200-0015
点对点网络中建立邻接关系两次握手:
R1<--------------------->R2
1、R1以组播的形式向R2发送P2P hello,并且将状态机跳转为up
2、R2收到R1发送的hello,状态机跳转为initial,检查,将R1的system id加入邻接列表中
3、R2以组播形式发送P2P hello,并且将状态机跳转为up状态
注:现网几乎所有产生的ISISI中P2P网络都采用三次握手,可以通过命令修改为两次握手
修改命令:[Huawei-Serial1/0/0]isis ppp-negotiation 2-way
广播网络中的DIS设备:
广播网络中会选举出DIS设备,由DIS设备产生伪节点LSP,同时通过伪节点周期发送CSNP报文,用于同步区域中所有路由器的LSDB
注:L1区域和L2区域会产生不同的DIS设备
DIS选举规则:
1、比较DIS优先级,以大为优,优先级取值为0-127,注0能够参与选举
2、当优先级相同时,比较设备的MAC地址,以大为优
DIS设备发送hello报文的时间为普通路由器的1/3,也就是10/3S
DIS设备的作用:
周期发送CSNP(完全序列号)用于同步区域内路由器的LSDB
DIS和DR的区别:
区别 | DIS | DR |
抢占 | 支持抢占 | 不支持抢占 |
选举规则 | 先比优先级,再比MAC地址 | 先比优先级,再比router-id |
优先为0时 | 优先级为0参与选举 | 优先级为0时不参与选举 |
作用 | 同步区域中的LSDB | 减少邻接关系的建立 |
备份 | 不存在备份 | 存在BDR设备 |
默认优先级 | 默认优先级为64 | 默认优先级为1 |
hello时间 | 10/3S | 10S/30S |
死亡时间 | 10S | 40S/120S |
选举时间 | 两倍的hello时间 | 四倍的hello时间 |
LSP:链路状态信息报文,交互链路信息
L1 LSP:交互L1的链路信息
L2 LSP:交互L2的链路信息
LSP报文格式:L1 和L2的LSP采用相同的报文格式
Remaining Lifetime :生存时间,初始为1200S,依次递减,直至减为0
LSP ID:用于唯一标识一条LSP
由system-id、伪节点id、LSP分片后的编号组成
Sequence Number:LSP的序列号,初始状态下的第一条LSP的序列号为1,后续更新LSP则序列号依次加1
Checksum:校验和,用于校验LSP的完整性
ATT:由Level-1/2路由器产生的LSP置位,用于告知区域内的路由器通过level-1/2路由器访问骨干区域或者其他区域
OL:过载位,用于告知其他路由器,自身硬件问题,在进行路由计算时,避免将路由计算到自身
IS-type:用于标识产生LSP的路由器角色
SNP:序列号报文,同步LSDB
CSNP:完全序列号,描述本地LSDB的摘要信息
L1 CSNP:描述L1区域的本地LSDB的摘要信息
L2 CSNP:描述L2区域本地LSDB的摘要信息
CSNP报文格式:
Source ID:DIS的system-id,发送者的system-id
Start LSP ID:在LSDB中的第一个LSP的ID
END LSP ID:在LSDB中的最后一个LSP的ID
还会携带相应TLV,用于携带LSP的生存时间、序列号、校验和
在广播型网络中,由DIS周期发送CSNP报文,周期为10S
在点对点网络类型中,只有刚建立邻接关系时才会发送CSNP报文
后续采用触发式更新,当某条LSP更新后,直接将更新的LSP发送到对端
PSNP:部分序列号,用于请求和确认自身所缺失的LSP
L1 PSNP:用于L1区域请求和确认自身所缺失的LSP
L2 PSNP:用于L2区域请求和确认自身所缺失的LSP
PSNP报文格式:
Source ID:发送者的system-id。
报文后还会携带对应的TLV,用于标识自身缺失或确认的LSP信息
广播网络中新设备加入LSDB同步过程:
情况一:新设备不抢占DIS角色
1、当新设备加入到网络中,会直接发送ISIS lan hello报文
2、当新设备和网络中所有设备建立了邻接关系后,直接将自己的LSP向网络中以组播的形式发送,L1为0180-C200-0014,L2为0180-C200-0015
3、网络中的设备收到新设备发送的LSP后,都会将LSP加入到自己的LSDB中,DIS也会,并且触发DIS发送新的CSNP报文,用于同步网络中所有设备的LSDB
4、新设备收到DIS设备发送的CSNP报文后,对比自己的LSDB,通过PSNP报文向DIS设备请求自身所缺失的LSP
5、DIS收到新设备发送的PSNP报文后,将新设备请求的LSP发送通过LSP报文给新设备
6、新设备收到DIS发送的LSP后,将LSP放入LSDB中,并且回应PSNP报文用于确认
情况二:新设备抢占DIS角色
1、当新设备加入到网络中,会直接发送ISIS lan hello报文,由于新设备优先级或MAC地址大于原来的DIS设备,会对DIS设备进行抢占,成为新的DIS设备
2、所有设备朝组播MAC地址发送自己的LSP,L1为0180-C200-0014,L2为0180-C200-0015
3、新的DIS设备将收到的LSP加入到自己的LSDB中
4、新的DIS设备等在定时器结束后周期发送CSNP报文
点对点网络中LSDB的同步过程:
1、两端设备先发送p2p hello,用于建立邻接关系
2、两端设备发送CSNP报文,描述本地LSDB的摘要信息
3、如果不同步,则发送PSNP报文,用于请求自身所缺失的LSP
4、发送对端请求的LSP,
5、收到对端发送的LSP后,回应PSNP报文进行确认
假设稳定以后拓扑发生改变:
1、感知到拓扑发生改变的路由器生成新的LSP,发送给对方或者收到其他路由器的更新LSP后,发送给对端
2、对端收到更新后的LSP后,发送PSNP报文进行确认
如需要考虑丢包问题导致的重传:
1、假设没有收到对端发送的PSNP确认报文,则会等待重传计时器结束后进行重新发送LSP报文
2、对端设备重新收到LSP报文后,需要再次发送PSNP报文进行确认
LSP新旧比较:
1、收到多条LSP,他们的LSP ID一致,首先比较序列号,如果序列号不同则以大为优,如果相同则进行下一步比较
2、比较生存时间,如果出向有生存时间为0S的LSP则为最优,如果不存在则看差值是否大于600S,如果大于600S,则生存时间大的优先,负责进行下一步比较
3、比较校验和,如果校验和不同,则校验和以大为优,如果相同则不对该LSP进行处理
ATT置位的条件:
1、设备角色为level-1/2路由器
2、与相同区域的level-1路由建立了邻接关系
3、与其他区域的路由建立level 2的邻接关系
如果需要产生多条缺省路由:
还需满足设备到达多个level-1/2路由的开销相同
为什么需要ATT置位:
由于在level-1/2路由器上会将骨干区域产生的LSP进行屏蔽,导致level 1区域的路由LSDB中不存在骨干区域的链路信息,无法进行骨干区域的路由计算。
为什么需要路由渗透:
由于L1区域存在多个level-1/2设备,导致产生了多条默认路由指向不同的level-1/2路由,路由默认采用逐流负载分担,导致次优路径的产生
路由渗透原理:
将level 2区域的明细路由在level-1/2路由器进行渗透,使得level-1/2路由器的LSP携带level 2区域的路由信息(包括开销信息等),使得level 1区域中的路由可以通过比较开销等方式进行最优路径的选择。
配置命令:
[Huawei-isis-1]import-route isis level-2 into level-1
ISIS的认证:
ISIS认证类型:
接口认证:配置接口认证后,会对接口发出和接收的IIH报文进行认证,如果认证不通过,则无法建立邻接关系
区域认证:配置区域认证后,会对所有接口发送和接收的level 1的CSNP、PSNP、LSP报文进行认证,认证不通过则无法交互LSP信息
路由域认证:配置区域认证后,会对所有接口发送和接收的level 2的CSNP、PSNP、LSP报文进行认证,认证不通过则无法交互LSP信息
ISIS认证方式:
简单明文认证:将密钥信息直接在链路上进行传递,安全性不高
MD认证:将密钥信息通过MD加密后,在链路上进行传递,收到对端发送的MD密文后,将自己的密钥信息通过MD5加密,并且将两个密文进行对比,如果一致,则认为密钥一致,认证通过,否则不通过
keychain认证:通过创建keychain字段,字段中包含多个key-id值,每一个key-id对应一个独立的密钥和算法,通过周期生效不同的key-id字段使得周期更换密钥和加密算法。安全性极高。