ISIS基础笔记
ISIS不需要hello时间一致,也可以建立邻居
OSPF是工作在网络层之上的路由协议
ISIS是工作在数据链路层指上的路由协议
他是工作在IGP里的,链路状态路由协议,优先级是15, 度量值cost(带宽)默认10
工作在二层数据链路层
ISIS的LSDB里面存放的是LSP不是LSA
L1的MAC是0180-0200-0014 L2的MAC是0180-0200-0015
它不用rou-id 用的是netiby=网络实体名
ISIS的配置必须在接口下宣告了,才能进行其他配置
ISIS常用命令 Hello时间默认为10s
修改该接口的电路类型,isis circuit-level ?
区域的概念
一.ISIS区域概念 和OSPF相似
-
- 管理区域: Area ID (基于路由器的管理,人管理设备的区域)
- 算法区域: 骨干区域和非骨干区域
骨干区域:由连续的L2或者L1/L2路由器组成的逻辑区域
非骨干区域:由连续的L1或者L1/L2 的路由器组成的逻辑区域
注:设计的时候一定不要分割骨干区域ISIS不支持虚链路,没有补救措施
二.级别:
- 路由器级别
Level-1路由器
Level-2 路由器
Level1-2 路由器(缺省)
- 邻居级别
Level-1:和相同区域的level-1路由器建立邻居,和不同区域的L1无法建立邻居
和相同区域的Level-2路由器无法建立邻居,和不同区域的L2无法建立邻居
和相同区域的Level-1/2路由器建立L1邻居,和不同区域的L1-2无法建立邻居
L1路由器只能和L1或者L1/2路由器建立L1级别邻居,要求区域ID相同才可以!
Level-2:和相同区域的L1无法建立邻居,和不同区域也无法建立 L2无法和L1建立邻
和相同区域L2路由器建立L2邻居,和不同区域L2路由器建立L2邻居 L2不限制区域建立
和相同区域的L1/2路由器建立L2邻居,和不同区域的L1/2路由器建立L2邻居
L2路由器只能跟L2或者L1/2建立L2级别邻居,不限制区域ID
Level-1/2: 和相同区域的L1建立L1级别邻居,和不同区域的L1路由器无法建立邻居
和相同区域的L2建立L2级别邻居,和不同区域的L2建立L2级别邻居
和相同区域的L1/2路由器建立L1和L2邻居,和不同区域的L1/2建立L2邻居
总结 :
L1只支持建立L1邻居,且区域ID要求一致
L2只支持建立L2邻居,不要求区域ID一致
L1/2既支持L1也支持L2,但是区域ID不同只支持建立L2邻居
- 链路级别
3.1:L1的路由器,在广播链路上发送L1的hello报文,与链路级别无关, 始终发送L1的hello报文
3.2:L2的路由器,在广播链路上发送L2的hello报文,与链路级别无关, 始终发送L2的hello报文
3.3:L1/2的路由器,在广播链路上发送L1和L2的hello报文,与链路级别有关系,链路级别默认是它本身路由器的级别,只要一改就会只发送当前更改的级别hello报文
3.4:对于点到点链路和广播链路是一致的
总:对于仅支持一种级别路由器来说,链路级别不起作用。
对于支持两种级别路由器来说,链路级别起作用,默认是它自身链路级别,改什么就会默认发什么链路级别hello报文
ISIS的报文发送
广播链路上L1的报文发送目的组播MAC:01-80-C2-00-00-14
广播链路上L2的报文发送目的组播MAC:01-80-C2-00-00-15
如果在广播链路上修改电路类型为P2P后,那么发送报文的目的MAC是 09-00-2B-00-00-05
- ISIS的电路类型 DIS=伪节点
- 广播
当链路状态为以太网时,ISIS的电路类型默认为广播
当电路类型为广播时(MA)需要选举DIS
- 点到点
当链路层为PPP或者HDLC,ISIS的电路类型默认为P2P
DIS的作用:
- 在SPF计算时,都会作为伪节点计算SPF树,将MA网络简化计算
- 都是为了减少LSP的泛洪
- 在ISIS里,DIS在广播网络下保证LSDP同步的可靠性
DIS选举: DIS不支持单设备选举 可以被抢占
- 接口的DIS优先级0~127 默认为64 越大的越优
- 接口的MAC地址,越大越优
抢占问题:
- 邻居状态
OSPF的DR不具备抢占,MA网络下OSPF路由器的邻居状态为2-way和full,一但DR被抢占,那么FULL和2-way可能会大范围改变,造成网络中断,OSPF重新收敛学习,
ISIS的DIS支持抢占,MA网络下ISIS的路由器邻居状态下全部都是邻接关系,DIS的改变,不会造成邻接状态的改变。
- 算法角度
OSPF的DR看做2类LSA,如果2类LSA被抢占,就会造成SPF树重新计算
ISIS的DIS被抢占的话,伪节点信息发生改变,会导致其他路由器重新计算
ISIS的报文
一.ISIS的9种报文
1. hello报文
L1级别的hello报文
用于在广播链路上建立L1级别邻居关系报文
L2级别的hello报文
用于在广播链路上建立L2级别邻居关系报文
P2P级别的hello报文
用于在点到点链路上建立ISIS邻居的报文
- LSP报文=link state PDU 链路状态协议数据单元
用于描述链路状态信息作用的,类似于OSPF里的LSU报文(LSA)
L1级别的LSP报文
用于描述L1级别的链路状态信息
L2级别的LSP报文
用于描述L2级别的链路状态信息
- SNP报文
序列号报文。里面包括了完全序列号报文CSNP,部分序列号报文PSNP
L1 CSNP报文:类似OSPF的DD报文,用于描述L1的LSDB当中所有的LSP摘要信息
L2 CSNP报文:类似OSPF的DD报文,用于描述L2的LSDB当中所有的LSP摘要信息
L1 PSNP报文:类似OSPF的LSR和LSACK报文,用于请求LSP和确认作用
L2 PSNP报文:类似OSPF的LSR和LSACK报文,用于请求LSP和确认作用
注:当电路类型为广播时,PSNP只有请求作用,没有确认作用
当电路类型为P2P时,PSNP既有请求也有确认作用
L1路由器只会维护L1级别的LSDB数据库
L2路由器只会维护L2级别的LSDB数据库
L1/2路由器即维护L1级别的LSDB也维护L2级别的LSDB数据库
ISIS路由器协议的邻居建立
- 邻居状态
- Down:
当接口宣告了ISIS以后,发出hello报文,在没有收到其他路由器收到其他路由器发送过来的hello报文之前,处于down状态
1.2: init
当收到其他路由器发送过来的第一个hello包(且这个hello包里不包含自己的neighbor信息时)为init状态
1.3: up
当收到了其他路由器的hello包,且报文中包含自己接口MAC地址时,就变为UP(neighbor信息)
OSPF的稳定邻居状态为2-WAY和full
ISISI的邻居稳定状态只有UP(相当于邻接关系)
OSPF在建立2-way状态以后,指定了状态机来同步数据库
ISIS在建立UP状态以后,没有指定状态机来同步数据库
ISIS报文
ISIS报文分为3个部分:
- 通用报文头部
- 专用报文头
- 变长字段
ISIS路由协议的变成字段基于TLV编码来携带各项属性的,T代表type=类型,L代表lenght=长度,V代表value=属性值
3.1:使用TLV来做报文编码的路由协议,发送报文时只携带需要携带的属性,不需要携带的属性可以不携带
3.2:OSPFv2不是TLV编码,所有的字段为固定字段,所有拓展性比较差没有TLV可以延伸方便
3.3:基于TLV编码的路由协议还有BGP,LDP,EIGRP
Padding字段是用来填充里面缺的字段,保证MTU=1500、
ISIS的路由渗透:
路由渗透只能在L1/2路由器使用,其目的就是为了让L1路由器学习到L2路由器里的叶子信息,但是L1/2还是会发送缺省路由在L1的路由表中,这是默认的不会改变因为ATT置位为1了,所有需手工配置路由渗透
*号表示DU bit(down/up)比特位
当骨干区域的叶子信息手动泄露到非骨干后,就会将DU bit置位为1 代表路由优先级
L1级别路由>L2级别路由>L1*路由
配置方法