中间系统IS:路由器 终端系统ES:PC端
基于链路状态协议,最初是国际标准化组织ISO为无连接的网络协议CLNP而设计的动态路由协议。路由协议优先级15
ISIS 工作在链路层之上的网络层协议
OSPF 工作在网络层之上的路由协议,和传输层一个层次
OSPF协议对路由器的定位:Area ID + Route ID ISIS协议对路由器的定位:Area ID + Systemd ID + 00 = NET地址(网络实体标识符)
ISIS是根据NET地址,NET地址是基于NSAP地址的
Area ID = 1-13 字节 System ID = 6 字节
IDP:相当于IP地址中的主类网络号,由ISO规定, AFI:地址分配机构和地址格式,IDI:用来标识域
DSP:相当于IP地址中的子网号和主机地址, 由High Order DSP,System ID,SEL组成,
High Order DSP(高位DSP)用来分割区域
System ID 用来区分主机,长度固定为48bit,6字节
SEL用来指示服务类型,相当于IP中的协议标识符,不同的传输协议对应不同的SEL
NET:网络实体名称NET指的是设备本身的网络层信息,可以看作是一类特殊的NASP(SEL=00)
在配置IS-IS过程中,NET最多只能配三个,在配置多个NET时,必须保证它们的System ID都相同
路由器分类:
L1路由器:相当于OSPF中非骨干区域中的IR路由器(所有接口都在一个区域) 维护L1的LSDB
L2路由器:相当于OSPF中骨干区域的IR路由器 维护L2的LSDB
L1-2路由器:相当于OSPF中的ABR L1和L2的都维护
华为默认路由器级别为L1-2
ISIS协议通过三种hello包建立邻居关系:
P2P hello 在P2P链路上建立L1-2邻居关系
L1 hello 在Broadcast链路建立L1邻居关系
L2 hello 在Broadcast链路链路建立L2邻居关系
hello包发送时间10s,邻居失效时间30s,DIS路由器默认10/3秒发送一次hello包,DIS路由器失效时间为10秒
isis timer holding-multiplier 3 //设置邻居超时时间为hello时间的三倍,默认为3
ISIS仅支持P2P Broadcast
PPP,HDLC,默认为P2P链路 Ethernet,FDDI(光纤上输送数据的协议默认为Broadcast)
isis ppp-negotiation 2-way //ppp链路仅支持两次握手建立邻居
isis ppp-negotiation 3-way //支持三次握手建立邻居,向下兼容2次握手建立邻居
自身发送的报文中携带了p2p adj state tlv
如果收到的hello报文中携带了p2p adj state tlv,则进行两次握手建立邻居
如果收到hello报文中携带了p2p adj state tlv 就进行三次握手建立邻居
isis ppp-negotiation 3-way only //仅采用三次握手,不向下兼容
邻居关系建立原则:
同一层次的相邻路由器才能成为邻接
对于Level-1路由器来说 Area ID必须一致,接口网络类型必须一致,L2建邻居区域可以不一样
同一网段(广播型链路必须同一网段,ppp链路下可以使用peer ig 命令不进行地址检查
加入到级别12的路由器在接口上会发生L1和L2的hello报文,可以使用 isis circuit-level level-2 更改链路类型为L2,就只会发生L2的hello报文
邻居关系建立:
在P2P链路上建立邻居关系需要2种方式,两次握手和三次握手,默认采用三次握手机制,兼容两次握手
只要路由器收到对端的hello报文,则单方面宣布邻居为up
三次握手和广播网络建立一样
P2P链路上有本地链路ID
在广播链路上,只能使用LAN IIH报文执行三次握手建立邻居
当收到邻居发来的hello报文里面没有自己的system-id的时候,状态机就进入 initialized
只有收到邻居发来的hello报文里有自己的system-id才会进入up状态,排除单通链路风险
广播网络邻居up后回选举 DIS,类似于OSPF的DR
1、ISIS协议在broadcast链路上会进行DIS选举
2、DIS类似于OSPF的DR,没有BDIS
3、DIS优先级的取值范围0-127,默认64.越大越优先成为DIS,0可以参与选举
4、DIS优先级相同,则比较接口的MAC地址,MAC地址大的优先成为DIS
5、DIS具备抢夺性,分为L1 DIS和L2 DIS
6、DIS每隔10s周期性发送CSNP报文,用于同步这个链路上其他ISIS路由器的LSDB
ISIS中描述广播型链路伪节点:
DIS ID中的01表示伪节点ID,区分不同的伪节点
TLV:ISIS协议报文的基本结构
type,length,value
L1的HELLO报文比P2P的HELLO报文多了一个表示本地链路ID的Local Circuit ID字段
但缺少了广播网络中的DIS的优先级Priority字段以及表示DIS和伪节点System ID的LAN ID字段
LSP类型: 实节点LSA :类似于OSPF的type 1 LSA
伪节点LSA :类似于OSPF的type 2 LSA
撤销一条路由时,会把该LSP老化时间设置为1200s
在广播链路上,
CSNP只由组播发送10s周期性发送一次,其他的路由器如果LSDB一样则收到不作回应,如果 不一样则发出LSP请求
DIS收到LSP中的处理过程,
序列号越大越新,RemainingLifetime/hold time,如果收到的值为0,则将本地报文替换为新报文,并广播。
如果收到的不为0,本地LSP报文为0,则向接收到的接口发送本地LSP报文
如果都不为0,则比较CheckSum,校验和大的最新
*号代表是自己产生的LSP报文,self-LSP
ISIS路由计算方式:设备默认接口开销都是10
区域间路由:
默认情况下
1,L1-2 路由器将自身 L1 的路由转成 L2 的路由在骨干区域进行泛洪
2,L1-2 路由器默认不会把 L2 路由泄露到 L1 区域中,即每个 L1 的区域默认为完全末节区域
ATT 骨干区域连接符号
L1-2 路由在自己的L1 LSP 中将ATT比特置1,用于描述自身连接着骨干区域
L1 的路由器根据ATT=1的标识,自动产生一条去往 L1-2 路由器的缺省路由(L12路由器自己的L2的LSDB中存在和自己区域不同的LSP产生ATT置1)
当L2的路由泄露到L1时,DU比特位置为1、另一个L12的路由器收到后不会对该路由做计算再引入到L1区域,这样就做到了防环
DU置位的条件:当非直连的level-2路由引入到level-1区域时,引入的level-2路由其DU比特置位1
当L1中的DU比特置位1的时候,则优先级顺序为:L1>L2>DU置位的L1。
让L12的路由不在L1的区域中产生ATT置为1的命令:attached-bit advertise never
下发缺省路由:
default-route-advertise always level-1 //在命令在isis中下发默认是下发的L2的缺省路由,在L1的路由器中是不会生效的需要加level-1参数改为L1
isis协议会将该命令产生的默认路由在lsdb中是分片的LSP,开销默认为0
L12的路由器如果在L1区域接收到一个L1的默认路由不会向L2区域传递
default-route-advertise match default 当只有该路由器中存在其他缺省路由时才会下发缺省路由
当AS内部其他路由器下发缺省路由并且优先级比其他路由协议得要好则学习其他路由器下发的缺省路由
default-route-advertise route-policy avoid-learning 条件下发缺省路由,不学习AS内部其他路由器下发的缺省路由
LSP ID唯一标识一条LSP,OSPF唯一标识一条LSA:Link-type Link-ID Adv-route
LSA不是报文是信息,通过LSU携带,LSP则是一种报文也是信息
LSP最后一字节是分片标识符,当一条LSP信息携带不下则会进行分片,因为分片标识符号只有一个字节 只支持分片256条
路由过载标识
关于ISIS LSP中OL(LSDB Overload):过载标志位。
OL作用:当OL=1时,表示设备性能过载,让数据包走另一条路,此期间可以进行替换成新的设备或者其它的操作。
OL=1时的现象:L1、L2和L1/2级别的路由器都可以设置过载,如果该L1/2路由器做了路由泄漏,则当该路由器设置过载后,就不再做路由泄露了。如果L1、L2设置过载,则产生的路由不会被学习和使用。
LSP分片扩展特性:
在RFC3786规定中,ISIS可以配置虚拟的System ID
虚拟系统:由附加系统ID标识得系统,用来生成扩展LSP分片,最多只能配置50个虚拟系统
附加系统ID:虚拟系统得系统ID,每个附加系统都允许生成256个扩展得LSP分片,,
24号TLV,别名TLV、表示初始系统和虚拟系统得关系
实现LSP分片扩展有两种模式
1、Mode-1,用于网络中部分路由器不支持LSP分片扩展特性的情况
2、Mode-2,用于网络中所有路由器都支持LSP分片扩展特性的情况
配置分片扩展功能:
lsp-fargment-extend { level-1|level-2|level-12 } { mode1|mode2 } //启用分片扩展功能
virtual-system { 虚拟系统ID } //只有开启了分片扩展,并应reset isis all命令重启ISIS进程,配置虚拟系统ID才会生效
ISIS选路机制:
L1的路由优于L2的路由,DU比特置为1
ISIS度量值:
默认是使用窄度量值风格
窄度量值接口metric只有个6比特,最大63,路径metric有10个比特即最大1023。
弊端如果网络过大,路由条目开销超过1023也只会显示1023,容易造成判断误差,一般是使用宽度量值
宽度量值接口metric 24比特,路径metric有 32 个比特即.
更改度量值类型命令: cost-style wide
ISIS路由类型有外部和内部的
ISIS汇总
华为ISIS汇总的cost继承明细路由中cost小的
华为ISIS汇总路由的外部路由不用分片进行描述,而是当成自身直连的路由进行描述
华为ISIS外网路由在L12路由器引入时DU bit置为0
ISIS动态主机名功能:
map是指静态的主机名,只在本地路由器有效
查看路由器产生的LSP可以直接敲该主机名,相当于systemid会自动替换为该主机名
ISIS过载
相当于OSPF的stub路由器,OL:overload超载位
当路由器收到一个OL置为1的LSP的话,不会将该路由放进路由表,即不会将该LSP的起源路由器作为去往目标网络的下一跳路由器
ATT位和OL位不会同时置1
attached-bi advertise never //ATT比特位强制置为1