华为 IS-IS协议总结之笔记
哈喽,大家好!我是艺博东 ,是一个思科出身、专注于华为的网工;好了,话不多说,我们直接进入正题。
一、拓扑
二、配置与分析
2.1 握手机制
广播型链路通过IS NEI TLV实现3次握手建立邻居。
P2P的链路通过P2P ADJ Stata TLV实现3次握手建立邻居。
P2P的链路上可以通过2次握手建立邻居关系。
isis ppp-negotiation 3-way P2P链路上启用3次握手机制,但不要求接收的hello包携带p2p adj state tlv。
isis ppp-negotiation 3-way only P2P链路上只采用3次握手建立邻居,不兼容2次握手。
isis ppp-negotiation 2-way P2P链路上只采用2次握手建立邻居,忽略不处理p2p adj state tlv。
AR1
[Huawei]sysname AR1
[AR1]int g0/0/0
[AR1-GigabitEthernet0/0/0]ip address 10.1.12.1 24
[AR1-GigabitEthernet0/0/0]q
[AR1]isis
[AR1-isis-1]network-entity 49.0001.0000.0000.0001.00
[AR1-isis-1]is-level level-2
[AR1-isis-1]int g0/0/0
[AR1-GigabitEthernet0/0/0]isis enable
[AR1-GigabitEthernet0/0/0]isis circuit-type p2p
AR2
[Huawei]sysname AR2
[AR2]int g0/0/0
[AR2-GigabitEthernet0/0/0]ip address 10.1.12.2 24
[AR2-GigabitEthernet0/0/0]q
[AR2]isis
[AR2-isis-1]network-entity 49.0001.0000.0000.0002.00
[AR2-isis-1]is-level level-2
[AR2-isis-1]int g0/0/0
[AR2-GigabitEthernet0/0/0]isis enable
[AR2-GigabitEthernet0/0/0]isis circuit-type p2p
2.2 P2P
2.2.1 P2P 3-way(默认)邻居建立过程
P2P的链路通过邻接状态 Point-to-point Adjacency state来建立邻居。
在AR1的G0/0/0接口进行抓包
两端都会发DOWN状态的ISIS HELLO报文
P2P:R1发送ISIS HELLO报文(DOWN状态)
携带了自己的systemID:0000.0000.0001,
TLV240、本地的链路ID。
P2P:R2发送ISIS HELLO报文(DOWN状态)
携带了自己的systemID:0000.0000.0002,
TLV240、本地的链路ID。
R2收到第一份的ISIS HELLO报文,状态进入Initializing。
R1收到了R2的ISIS HELLO报文(systemID:0000.0000.0002),TLV240中邻居的包含了自己的systemID:0000.0000.0001、状态进入up。
R2收到了R1的ISIS HELLO报文(systemID:0000.0000.0001),TLV240中邻居的包含了自己的systemID:0000.0000.0002、状态进入up。
2.2.2 P2P 2-way 邻居建立过程
只要收到ISIS HELLO报文,就会单方向建立起邻居。
ISIS HELLO报文中不携带TLV的。
P2P 3-way可向下兼容2-way(可以建立起邻居)。
[AR1]dis isis peer
P2P 3-way only不兼容2-way,建立不起邻居。
AR1有邻居(单向邻居),AR2没有邻居。
2.3 MA
收到第一份ISIS HELLO报文,状态变为init;
如果收到了TLV6中包含了自己的MAC地址,则状态进入UP。
10.1.12.1 00e0-fc48-15a2
10.1.12.2 00e0-fc65-4e39
R1收到R2的ISIS HELLO报文,发现TLV6里包含了自己的MAC地址00e0-fc48-15a2,所以状态变为UP。
R2收到R1的ISIS HELLO报文,发现TLV6里包含了自己的MAC地址00e0-fc65-4e39,所以状态变为UP。
2.4 常见的TLV
TLV1:区域ID
TLV132:接口IP地址
TLV129:协议支持,如果支持IPv6的话,NLPID的值等于142
TLV240:描述的是邻居状态
TLV229:多拓扑
TLV8:padding
TLV6:MA网络描述的是邻居的MAC地址
三、简单概述
3.1 IS-IS协议背景
ISIS--------OSI 7层模型------用于支持CLNP的网络环境----中间系统----终端(End System)
OSPF------TCP/IP-------------用于IP的网络环境-----路由器-----------------终端
CLNP(无连的接网络层协议) 是OSI模型中的网络层协议,ISIS最初是为了支持CLNP而被开发。
由于 CLNP 没有被流行,所以ISIS在早期发展比较缓慢,比较沉寂。后来由于ISIS比较灵活,它自身一种工作上链路层之上的网络层协议,扩展性比较强。
ISIS工程小组后续对ISIS协议进行扩展,让它能支持IPv4,IPv6,CLNP所以现在ISIS协议被称为集成ISIS协议。由于扩展性强,收敛快,工作机制简单,被ISP大量的部署。
3.2 OSPF协议与IS-IS协议
OSPF协议默认情况下根据接口的链路层封装协议来确定网络类型。
ISIS类似,如果是以太网接口则默认认为是广播型,如果是PPP,HDLC则默认是P2P,不支持NBMA,P2NP网络类型。
DIS:指定中间系统
3.3 IP协议、CLNP协议
IP协议使用IP地址对接口进行编址。
CLNP协议使用NSAP(网络服务访问点)地址对设备进行编址。
3.4 NET地址
NET(网络实体标识)地址是一种特殊的NSAP地址,即SEL=0的NSAP地址,在ISIS协议由NET地址标识一台路由器。
SEL 网络服务鉴别器,1个字节长度,类似于IP报文中的协议号,用于区分上层协议类型。
由三部分组成:Area ID,System ID,SEL;
-------Area ID--------System ID------SEL
-----(1-13B)-------(6B)----------(1B)
所以最小是8B,最大是20B。
3.5 报文
HELLO的用途建立和维护邻居关系。
L1 Hello用于在广播型链路上建立L1的邻居;
L2 Hello用于在广播型链路上建立L2的邻居;
P2P hello用于在P2P链路上建立ISIS的邻居。
LSP用于描述携带LSA信息
L1 LSP描述非骨干区域的链路状态,对应于OSPF协议非骨干区域中的1类/2类LSA;
L2 LSP 描述骨干区域的链路状态,对应于OSPF协议骨干区域中的1类/2类LSA。
SNP序列号PDU
CSNP完全序列号PDU,类似OSPF的DD报文,分为L1 CSNP,L2 CSNP;
PSNP部分序列号PDU,类似OSPF的LSR/LSACK,分为L1 PSNP,L2 PSNP。
3.6 ISIS定义路由器级
ISIS协议的骨干区域和非骨干区域由路由器的邻居级别来确定。
ISIS定义路由器级别有3种
level-1
level-2
level-1-2
华为/思科路由器默认L1/2的路由器
3.7 ISIS邻居级别
ISIS邻居级别有2种
L1的邻居:要求区域号一致
L2的邻居:不要求区域号一致。
L1的路由器只能建立L1的邻居
L2的路由器只能建立L2的邻居
L1/2的路由器:和同区域的L1的路由器建立L1邻居,
和L2的路由器建立L2邻居
和L1/2的同区域路由器即建立L1的邻居,又建立L2的邻居。
和L1/2的不同区域的路由器只能建立L2的邻居。
3.8 骨干区域、非骨干区域
ISIS骨干区域就是由L2的邻居组成逻辑区域
ISIS非骨干区域就是由L1的邻居组成的逻辑区域
骨干和非骨干的边界在L1/2的路由器上。
四、小结
4.1 ISIS协议邻居的状态
(1)down没有收到邻居的hello
(2)init收到邻居的hello包,但没发现自身的mac地址,也称为one-way
(3)up收到邻居的hello包,并发现自己的接口的mac地址
4.2 DMAC地址
广播型链路上所有L1的ISIS报文使用的DMAC地址为:01:80:C2:00:00:14
广播型链路上所有L2的ISIS报文使用的DMAC地址为:01:80:C2:00:00:15
在以太网链路上如果链路类型被改为P2P的类型,则发送P2P的HELLO包,LSP,CSNP,PSNP均还是分L1/L2的,均使用DMAC地址为09:00:2b:00:00:05 .
4.3 广播型链路
默认情况下L1/2的路由器在广播型链路上即发L1的hello,也发L2的hello
L1/2的路由器在广播型链路上发送hello包的级别与接口的级别相关,和接口级别取交集。isis circuit-level设置链路的级别。
L1的路由器在广播型链路上只发L1的hello,跟链路级别无关。
L2的路由器在广播型链路上只发L2的hello,跟链路级别无关。
4.4 DIS
isis.hello.priority
用于DIS的选举,取值范围0-127,越大越优先,0也可以参与DIS的选举。如果优先级相同,则比较接口的MAC地址,越大越优先。
4.5 DIS选举
(1)接口优先级越大越优
(2)优先级相同,则比较mac地址,越大越优
(3)默认优先级64
(4)DIS具有抢夺性
(5)DIS分级别,L1的邻居选举L1_DIS,L2的邻居选举L2 DIS
(6)DIS优先级等于e的路由器也可以进行DIS的选举
(7)没有备份DIS
OSPF的DR, BDR为什么不抢夺,主要原因是广播型链路的邻居状态不一致。如果DR能够抢夺,将导致邻居状态发生大面积变化,会影响很多设备。
ISIS抢夺,不会导致邻居状态发生变化,稳定性更高。但是伪结点LSP会发生变化,对SPF算法有一定的影响。稳定网络中可以忽略该问题。
4.6 TLV
ISIS协议是基于TLV机制来协议各项属性的。
T:属性类型
L:长度取值
V:取值
TLV机制运行路由协议只携带需要的属性,不需要属性可以不携带,扩展性强,如果协议需要支持新的特性,则只需要开发新TLV属性即可支持。
OSPFv2不是基于TLV机制路由协议,报文字段都是固定的,所以扩展性比较差。
4.7 LSP-ID
0000.0000.0004.00-00 LSP-ID 8个字节长度
由3个部分组成
LSP-ID =system id(6字节).伪结点标识符(1字节)–分片标识符(1字节)
system id标识产生该LSP的路由器的system id。
伪结点标识符取值0或者非0
如果等于0,则代表该LSP是实结点LSP
如果非0,则代表该LSP是伪结点LSP,此时system id为 DIS 的system id
分片标识符,用于描述同一台路由器产生的不同的LSP。
PSNP,CSNP携带的LSP的摘要信息,包括LSP ID , remaning lifetimer,seq,checksum。
PSNP包中携带的LSP ID的序列号非0,则PSNP是确认的功能
PSNP包中携带的LSP ID的序列号是0,则PSNP是请求的功能
L1的路由器只通过L1的LSP描述直连链路信息,跟链路级别无关。
L2的路由器只通过L2的LSP描述直连链路信息,跟链路级别无关。
L1/2的路由器通过L1的LSP也通过L2的LSP描述自身L1/2的直连链路;
L1/2的路由器只通过L2的LSP描述自身L2的直连链路;
L1/2的路由器通过L1的LSP和L2的LSP描述自身L1的直连链路。
骨干区域如何访问非骨干区域?
L1/2的路由器将L1的路由作为自身直连的叶子进行描述,并通过L2的LSP携带再骨干。
OK
名言警句时刻:
不急于表现自己,也不急于纠正旁人,再听一听,再看一看,再琢>磨琢磨。
好了这期就到这里了,如果你喜欢这篇文章的话,请点赞评论分享收藏,如果你还能点击关注,那真的是对我最大的鼓励。谢谢大家,下期见!
- 分享
- 举报
-
浏览量:5041次2020-05-08 15:46:11
-
浏览量:2468次2020-06-12 19:39:57
-
浏览量:20699次2021-12-26 09:00:28
-
浏览量:5358次2020-12-27 19:50:40
-
浏览量:3592次2018-02-04 16:41:11
-
浏览量:2564次2024-03-18 14:27:20
-
浏览量:2239次2018-09-06 12:22:13
-
浏览量:3035次2017-11-28 12:33:29
-
浏览量:3969次2021-09-14 13:37:12
-
浏览量:823次2024-03-12 16:42:47
-
浏览量:2216次2019-01-31 12:32:38
-
浏览量:1684次2019-12-31 16:25:11
-
浏览量:10288次2020-12-07 23:36:10
-
浏览量:9307次2020-11-17 15:41:28
-
浏览量:1622次2024-03-13 15:15:04
-
浏览量:2151次2018-12-22 13:37:41
-
浏览量:2979次2020-10-10 09:32:12
-
浏览量:2697次2019-08-20 17:09:28
-
浏览量:2220次2024-03-18 15:00:34
-
广告/SPAM
-
恶意灌水
-
违规内容
-
文不对题
-
重复发帖
艺博东
感谢您的打赏,如若您也想被打赏,可前往 发表专栏 哦~
举报类型
- 内容涉黄/赌/毒
- 内容侵权/抄袭
- 政治相关
- 涉嫌广告
- 侮辱谩骂
- 其他
详细说明