目录
一、概述
1.1 概述
1.2 NET地址组成
1.3 ISIS和OSPF区域对比
1.4 邻居级别
1.5 路由器级别
1.6 链路级别
1.7 选举DIS设备
二、报文及状态
2.1 报文
2.2 ISIS邻居状态
三.SPF计算
3.1 LSP的类型
3.2 SPF的计算
四.ISIS的小特性
4.1 ISIS路由过载
4.2 ISIS认证
4.3 ISIS度量值
4.4 ISIS中的缺省路由
一、概述
1.1 概述
osI-七层模型,TcP/IP四层模型.
在osI模型中我们将具有报文转发的网络节点,叫做IS,即中间系统的意思,类似于TCP/IP模型中路由器。
在osI模型中我们没有路由能力或者报文转发能力的没备叫做ES,即端系统的意思,类似于TCP/IP模型中终端。
IS-IS协议叫做中间系统到中间系统,早期的时候是服务于oST参考模型的IGP协议,与OSPF是同父异母的好兄弟。
ISIS用于支持CLNP协议,而OSPF中用于支持IP协议。
CLNP无连接的网络服务,作用类似于TCP/IP模型中的IP协议,都是用来进行逻辑寻址的网络层协议。
由于ISIS协议工作在数据链路层,不依赖网络层进行工作,所以无论网络层运行IPV4或者IPV6或者CLNP都可以灵活的适应,扩展性好,收敛快等一系列特点,被运营商广泛使用
1.2 NET地址组成
NET地址由三步组成:1、Area ID 2、Systeam ID 3、SEL
NET地址作用:在ISIS中用于标识为一个一台路由器和路由器所处的区域。
判断ISIS路由区域的方法: net地址从后往前数7个字节,剩下的部分都是区域ID部分。
1.3 ISIS和OSPF区域对比
相同点:都具有骨干区域和非骨干区域。
不同点:1、OSPF的区域划分边缘在路由器上,而ISIS的区域划分边界在链路上。(OSPF一个路由器可以属于多个区域,ISIS只能属于一个区域)
2、OSPF区域的类型由区域号决定,协议规定区域号为0的区域就是OSPF的骨干区域,
非0区域就是非骨干区域
ISIS区域的类型由邻居级别决定。
1.4 邻居级别
Level-1的邻居:建立L1的邻居关系要求路由器两端区域ID一致。
Level-2的邻居:建立L2的邻居关系不要求路由器两端区域ID一致。
骨干区域:是由连续的L2的路由器和L1/2的路由器之间,建立L2的邻居关系,
组建成的逻辑区域为骨干区域:是由L1的路由和L1/2的路由器,
建立L1的邻居关系,组成建成逻辑区域为非骨干区域。
1.5 路由器级别
1、L1: L1的路由器只能建立L1的邻居关系,但是要求两端区域ID一致。
2、L2:L2的路由器只能建立L2的邻居关系,但是不要求两端区域ID一致。
3、L1/2: L1/2的路由既能建立L1的邻居关系(要求区域ID一致),
也能建立L2的邻居关系(不要求区域ID一致)。
1.6 链路级别
ISIS两种网络类型:
在ISIS中网络类型由链路层协议进行判断,当链路层协议是以太网的时候网络类型为广播型;
当链路层协议是HDLC或者PPP的时候网络类型为P2p类型,目前ISIS不支持P2MP和NBMA网络类型。
1.7 选举DIS设备
OSPF在MA网络中会选举DR和BDR,ISIS在MA网络中会选择DIs,没有备用DIS概念。
DR和DIS共同的特点:
1、在SPF计算的时候,都当做虚拟的节点,用于简化MA网络的逻辑拓扑,减轻算法的负担
2、都是用于减少LSA/LSP泛洪。
3、ISIS中DIS发送CLNP报文,用于在MA网络中同步LSDB。
OSPF DR的特点:
1、DR优先级默认等于1.
2、当DR优先为o的时候不参加DR和BDR的选举。
3、DR和BDR不支持抢占。
4、DR和BDR的优先级最高为255.
5.作用:周期发送CSNP,保障MA网络LSDB同步
ISIS DIS的特点:
1、DIS优先级默认等于64.
2、当DIS优先级为0的时候依然参加选举。
3、ISIS中没有备份DIS的概念。
4、ISIS DIS的优先级最高为127.
5.作用:为了减少LSA泛洪
ISIS DIS选举规则:
1、首先比较DIS优先级,优先级大的设备成为DIS。
2、当优先级相同的时候,比较接口MAC地址,越大越优。
OSPF DR选举规则:
1 、首先比较DR优先级,优先级大的设备成为DR。
2、当优先级相同的时候,比较Router id,越大越优。
二、报文及状态
2.1 报文
IsIs报文的类型:
(1)、 He1lo报文作用:用于发现,维护,建立ISIs邻居关系。
1、 L1的hello报文:在广播链路上用于建立L1的邻居关系。
2、L2的hello报文:在广播链路上用于建立L2的邻居关系。
3、P2P Hello:用于在点对点链路上建立L1或者L2的邻居关系。
(2)、LSP报文:用于描述链路状态信息,类似于OSPF的LSU。
1、L1 LSP:用于描述L1的链路状态信息。
2、L2 LSP:用于描述L2的链路状态信息
(3)、SNP报文:即序列号报文,包含:1、完全序列号报文CSNP 2、部分序列号报文PSNP。
1、 L1 CSNP:用于描述L1的LSDB中所有LSP摘要信息,类似于SSPF的DD报文。
2、L2 CSNP:用于描述L2的LSDB中所有LSP摘要信息,类似于OSPF的DD报文。
3、L1 PSNP:用于对LSP请求或者确认的作用,类似于OSPF的LSR和LSACK。
4、L2 PSNP:用于对LSP请求或者确认的作用,类似于OSPF的LSR和LSACK。
2.2 ISIS邻居状态
ISIs邻居状态:
1、Down:接口一旦启用ISIs协议之后就是Down状态。
2、Init:收到了邻居的Hello报文后,发现了邻居,one-way 。
3、up状态:收到了邻居的Hello报文,并且在邻居的hello报文中发现了自己。
ISIS邻居建立的条件:
1、路由器级别一致
2、建立L1的邻居要求区域ID一致,L2不要求。
3、互联接口地址在相同网段
4、互联接口地址网络类型一致。
5、system-ID不能冲突
6、如果存在认证,要求认证信息一致。
7、接口MTU一致。
链路级别:
@华为设备中,默认启用了ISIS的链路为L1/2的链路,通过命令:ISIS circuit-level//修改
1、当路由器为L2的路由器时,无论链路级别为多少,始终只会发送L2的hello报文。
2、当路由器为L1的路由器时,无论链路级别为多少,始终只会发送L1的hello报文。
3、当路由器为L1/2的路由器时,hello报文的发送与链路级别存在关系,发送结果取交集处。
ISIS中hello报文的发送时间间隔为10s一次,邻居失效时间为30s 。
三.SPF计算
3.1 LSP的类型
LSP类型分为两种:
1、实节点LSP:每个启用ISIS路由的路由器都会产生实节点LSP,用于描述自身的链路状态信息。2、伪节点LSP:由DIS产生,用于描述MA网络上的邻居信息。
交互自身没有的LSP,使用新的LSP替换掉旧的LSP。
如何确定一条唯一的LSP呢?使用LSP-ID: 0000.0000.0001.00-00
1、system-id:产生此LSP路由器的系统ID。
2、伪节点标识符:如果取值为00,代表该LSP为实节点LSP;如果取值为非0,则代表该LSP为伪节点LSP。 (黄色的为伪节点标识符)
3、分片标识符:长度为一个字节,用于描述LSP的分片。(绿色的为分片标识符)
如何确定一条LSP的新旧呢?
1、比较LSP的序列号
2、比较holdtime 如果为0,则代表最新用于删除一条LSP,如果都不为0则选择更新的一个(即holdtime值更大)
3、比较校验和,越大越优。
ISIS的更新机制:
1、触发更新:
2、周期更新:每个ISIS路由器每个900s都会周期更新一次自身产生的LSP。ISIS LSP的老化机制;
即,每个LSP产生的时候都有1200s的holdtime时间,随着时间递减,当LSPholdtime减为0的时候将会删除一条LSP。
链路状态信息的交互
1.P2P网络CSNP报文只会发送一次,邻居建立后立即发送
A—>B发送自己的链路状态CSNP给B,B看看有没有自己没有的LSP,没有就下一步
B—>A发送请求自己没有的LSP,发送PSNP请求
A—>B A再把B请求的LSP发送给B
B—>A B收到了自己请求的LSP后会向A发送PSNP确认
如果A发送了LSP并且重传计时器超时,会再次向B发送他所请求的LSP
B收到了会给A回PSNP确认
2.MA网络CSNP报文只由DIS组播发送,时间默认为10秒
当网络中有节点需要请求LSP,会发送PSNP请求,然后无论请求的是谁的LSP,都会由DIS设备进行回复
3.2 SPF的计算
1.骨干区域如何访问非骨干区域?
默认情况下,L1/2的路由器,会将L1的路由,以叶子的形式放入方自身产生的L2 LSP中。
针对OSPF来说﹔区域间路由计算使用的是链路状态计算和距离矢量计算。
针对ISIS来说:ISIS的路由计算,是个区域的链路状态计算。
2.非骨干区域如何访问骨干区域呢?
非骨干区域内部的路由器,通过缺省路由访问骨干区域。
非骨干区域的缺省如何产生呢?
L1/2路由器会产生ATT置位为1的LSP,L1路由器收到ATT置位为1的LSP会产生下一跳指向L1/2路由器的默认路由
ATT(骨干区域连接符)﹔用于表明L1/2的路由器与骨干区域连接着,用于指导非骨干区域访问骨干区域。
ATT BIT的特点:
@L1/2的路由器,至少存在一个不在相同区域的L2的邻居,Att bit才会置1.
@ATTbit只在L1的LSP中才会置1.
@如果在骨干区域没有L2的邻居,将不会产生ATT bit置1,此ATT bit也不具备指导报文访问骨干区域。
缺省路由的特点:
@L1的路由器可以通过ATT置1发现本区域的L1/2的路由器存在。
@缺省路由是L1的路由器自己产生,而不是L1/2的路由器通告给L1的路由。
@缺省路由的下一跳地址,是自身去往该LSP产生者最短路径的下一跳。
@缺省路由的Cost值,是自身去往该LSP产生着的最短路径树的cost。
1.首先每个路由器都会以自己为根,查看自己产生的LSP
AR1的LSDB数据库信息如下:
[AR1]dis isis lsdb
Database information for ISIS(100)
----------------------------------
Level-1 Link State Database
LSPID Seq Num Checksum Holdtime Length ATT/P/OL
-------------------------------------------------------------------------------
0000.0000.0001.00-00* 0x00000004 0xbc46 1075 70 0/0/0
0000.0000.0001.01-00* 0x00000002 0x9b61 1075 66 0/0/0
0000.0000.0002.00-00 0x00000008 0x1f9f 1074 124 1/0/0
0000.0000.0003.00-00 0x00000008 0x8d2d 1074 124 1/0/0
Total LSP(s): 4
*(In TLV)-Leaking Route, *(By LSPID)-Self LSP, +-Self LSP(Extended),
ATT-Attached, P-Partition, OL-Overload
//第一条就是自己产生的本地LSP
//第二条就是自己作为伪节点产生的LSP
//第三四条就是邻居传来自己没有的LSP
查看AR1产生的第一条LSP
[AR1]dis isis lsdb 0000.0000.0001.00-00 verbose
Database information for ISIS(100)
----------------------------------
Level-1 Link State Database
LSPID Seq Num Checksum Holdtime Length ATT/P/OL
-------------------------------------------------------------------------------
0000.0000.0001.00-00* 0x00000004 0xbc46 1031 70 0/0/0
SOURCE 0000.0000.0001.00
NLPID IPV4
AREA ADDR 49.0001 //描述产生的区域号
INTF ADDR 10.1.1.1 //描述的自身网段信息
NBR ID 0000.0000.0001.01 COST: 10 //伪节点标识为非00,代表连接了一个伪节点
IP-Internal 10.1.1.0 255.255.255.0 COST: 10 //描述的是自身连接的网段信息
Total LSP(s): 1
*(In TLV)-Leaking Route, *(By LSPID)-Self LSP, +-Self LSP(Extended),
ATT-Attached, P-Partition, OL-Overload
2.再查看AR1连接的邻居信息
[AR1]dis isis lsdb 0000.0000.0001.01 verbose
0000.0000.0001.01-00* 0x00000003 0x9962 971 66 0/0/0
SOURCE 0000.0000.0001.01 //伪节点LSP,system id标识为DIS的系统ID
NLPID IPV4
NBR ID 0000.0000.0001.00 COST: 0 //表示此伪节点连接了三个邻居
NBR ID 0000.0000.0002.00 COST: 0
NBR ID 0000.0000.0003.00 COST: 0
3.再查看伪节点的邻居0000.0000.0002.00
[AR1]dis isis lsdb 0000.0000.0002.00-00 verbose
LSPID Seq Num Checksum Holdtime Length ATT/P/OL
-------------------------------------------------------------------------------
0000.0000.0002.00-00 0x00000009 0x1da0 616 124 1/0/0
SOURCE 0000.0000.0002.00
NLPID IPV4
AREA ADDR 49.0001
INTF ADDR 10.1.1.2 //描述本地连接的网段信息
INTF ADDR 172.16.1.1
NBR ID 0000.0000.0001.01 COST: 10 //描述自己的邻居信息,连接了一个伪节点
IP-Internal 10.1.1.0 255.255.255.0 COST: 10 //这两个表示为自己直连的网段息
IP-Internal 172.16.1.0 255.255.255.0 COST: 10
IP-Internal* 200.10.10.0 255.255.255.0 COST: 20 //这个不是自己直连的
IP-External* 192.168.1.0 255.255.255.0 COST: 84 //这两条路由是外部引入的
IP-External* 192.168.2.0 255.255.255.0 COST: 84
3.再查看伪节点的邻居0000.0000.0003.00
[AR1]dis isis lsdb 0000.0000.0003.00-00 verbose
LSPID Seq Num Checksum Holdtime Length ATT/P/OL
-------------------------------------------------------------------------------
0000.0000.0003.00-00 0x0000000a 0x892f 1067 124 1/0/0
SOURCE 0000.0000.0003.00
NLPID IPV4
AREA ADDR 49.0001
INTF ADDR 10.1.1.3 //这两条自己直连的
INTF ADDR 172.16.2.1
NBR ID 0000.0000.0001.01 COST: 10
IP-Internal 10.1.1.0 255.255.255.0 COST: 10
IP-Internal 172.16.2.0 255.255.255.0 COST: 10
IP-Internal* 200.10.10.0 255.255.255.0 COST: 20 //和上一条查询的一样
IP-External* 192.168.1.0 255.255.255.0 COST: 84
IP-External* 192.168.2.0 255.255.255.0 COST: 84
level-1只有这几条LSP,如果level-1区域的路由器想要访问level-2的路由器,那么就会根据level-1/2产生的LSP中的ATT置位为1,然后产生一条默认路由,找到level-1/2路由器
[AR1]dis isis route
ISIS(100) Level-1 Forwarding Table
----------------------------------
IPV4 Destination IntCost ExtCost ExitInterface NextHop Flags
-------------------------------------------------------------------------------
0.0.0.0/0 10 NULL GE0/0/0 10.1.1.3 A/-/-/-
GE0/0/0 10.1.1.2
这个就是AR1根据收到level-1/2路由器的LSP产生的默认路由
192.168.2.0/24 10 20 GE0/0/0 10.1.1.3 A/-/-/U
GE0/0/0 10.1.1.2
192.168.1.0/24 10 20 GE0/0/0 10.1.1.3 A/-/-/U
GE0/0/0 10.1.1.2
172.16.2.0/24 20 NULL GE0/0/0 10.1.1.3 A/-/-/-
200.10.10.0/24 30 NULL GE0/0/0 10.1.1.3 A/-/-/U
GE0/0/0 10.1.1.2
172.16.1.0/24 20 NULL GE0/0/0 10.1.1.2 A/-/-/-
10.1.1.0/24 10 NULL GE0/0/0 Direct D/-/L/-
四.ISIS的小特性
4.1 ISIS路由过载
OL作用:当ISIS路由器的LSP OL=1,其他路由器执行SPF计算时,将不会计算该LSP的拓扑信息,只会计算叶子信息。(用于割接环境)
进入过载的方式:
1、设备异常情况下,将会自动进入到过载状态。
2、人为配置设备进入过载状态: set-overload //配置lsp中OL=1。
set-overload allow interlevel //执行路由过载,ATT=0,并且执行路由泄露,
set-overload allow external //执行路由过载,ATT=1,并且执行路由引入。
(这两条是在level1-2路由器,不加的话默认都是拒绝的)
set-overload on-startup XX //当设备重启之后,在XX时间内,将OL置1.
set-overload on-startup wait-for-bgp xx//用来配置ISIS等待BGP收敛的时间,即在重启之后,XX时间内0L=1,超出时间则置0. wait-for-bgp的作用更像一种注释,表达是预留给BGP协议的收敛时间。
4.2 ISIS认证
注:ISIS认证,通过TLV携带认证信息进行实现,缺省情况下ISIS没有启用任何认证,不会携带认证TLV
只有接口认证会影响ISIS邻居建立,区域认证和路由域认证不会影响邻居建立
接口认证:只对level-1和level-2的hello报文认证
isis authentication-mode md5 cipher huawei //发送报文携带认证TLV,并且要求接收的报文携带认证TLV。
isis authentication-mode md5 plain huawei send-only //发送报文携带认证TLV,不对接收的报文要求认证。
使用这个send only,可以在不影响认证的情况下进行更改密码
路由器A 路由器B
huawei huawei 首先密码都一样
huawei send only A把密码改为send only
cisco send only B把密码改成cisco,双方都不要求认证
cisco A把密码改了,但是B不要求认证,所以A无所谓
cisco A要求密码一致了,B更改完成
区域认证:只对level-1的SNP(PSNP,CSNP)和LSP报文进行认证
area-authentication-mode md5 cipher huawei//发送的报文认证TLV,并要求接收的报文携带认证TLV。
area-authentication-mode md5 cipher huawei all-send-only //发送报文携带认证TLV,不对接收的报文要求认证。
路由域认证:只对level-2的SNP(PSNP,CSNP)和LSP报文进行认证
domain-authentication-mode md5 cipher huawei //发送的报文认证TLv,并要求接收的报文携带认证TLV。
domain-authentication-mode md5 cipher huawei all-send-only //发送报文携带认证TLV,不对接收的报文要求认证。
4.3 ISIS度量值
如果设备支持某种度量值,将会在产生的LsP中携带相应的TLV,其他设备不是能别该TLV,将不会计算该LSP。
cost-style narrow //只会发送窄度量风格的LSP,也只会计算窄度量风格的LSP。
cost-style wide //只会发送宽度量风格的LSP,也只会计算宽度量风格的LSP。
cost-style narrow-compatible //只会发送窄度量风格的LSP,但是能够计算宽/窄度量的LSP。cost-style wide-compatible //只会发送宽度量风格的LSP,但是能够计算宽/窄度量的LSP。
cost-style compatible //即会发送宽/窄度量风格的LSP,也会计算宽/窄度量的LSP。
项目中都是使用wide度量,cost取值范围更大,并且支持为路由打标记(TAG)。
三种cost修改方式:
1、接口下直接配置isis cost。
2、在ISIS进程下,设置ISIS默认的cost值。circuit-cost xx
3、根据带宽自动计算ISIS cost值。 auto-cost enable
窄度量中ISIS外部路由分为两种类型internal external其中internal优先于external。
宽度量中ISIS外部路由不区分类型。
ISIS小特性—主机名映射
1、使用背录
在ISIS中通过唯一的系统ID去标识一台设备,系统ID复杂,并且不好记忆,那么未来在做网络运维和管理的时候,导致非常繁琐,主机名映射可以很好的解决这个问题。
主机名映射:
主机名映射就是将某个系统ID与某个名字关联到一起,(类似与IP到域名的绑定关系),方便网络管理员记忆,便于对网络进行管理。配置之后在邻居信息,LSDB,LSDB详细信息中都会把系统ID显示为主机名。
主机名映射的两种方式:
1、动态主机名映射:当开启了动态主机名映射之后,设备在发送的lsp中携带TLV137,包含设备的名字(人为配置),其他设备收到该LSP之后,将会知道该LSP携带的系统ID与某个名字映射到一起。
is-name R2
2、静态主机名映射:静态主机名映射,是在本地将某个系统D与某个名字进行绑定,在设备不支持TLv137的情况下,人为的将系统ID与名字映射到一起。
is-name map o000.0000.0002 XY
4.4 ISIS中的缺省路由
default-route-advertise //强制产生缺省路由,做用等同于default-route-advertise always
如果不携带always选项,只有当本地存在其他协议或者其他ISIS进程的缺省路由时,才会产生缺省路由。
avoid-learning本地产生缺省路由,但是不计算其他设备产生的缺省路由(多出口用于防环)
cost修改产生缺省路由的cost。
match条件产生缺省路由,
route-policy指定条件产生缺省路由(比如在route-policy中抓取匹配缺省路由并且匹配缺省cost为20那么当路由表中出现了cost为20的缺省路由,isis才会产生缺省)Ⅰ
tag用于为缺省路由添加TAG
文章来源:https://www.toymoban.com/news/detail-495430.html
文章来源地址https://www.toymoban.com/news/detail-495430.html
到了这里,关于中间系统-中间系统(IS-IS)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!