6

华为 IS-IS协议总结之笔记

 3 years ago
source link: https://blog.csdn.net/HYD696/article/details/111643986
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

哈喽,大家好!我是艺博东 ,是一个思科出身、专注于华为的网工;好了,话不多说,我们直接进入正题。

在这里插入图片描述

二、配置与分析

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。

[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 
[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携带再骨干。

4.8 认证

IS-IS协议认证是通过TLV携带的,默认不携带认证TLV
(1)接口认证:本质是对HELLO报文做认证。
接口下
(2)区域认证:本质是对L1的SNP/LSP报文做认证。
区域 area-authentication-mode
(3)路由域认证:本质是对L2的SNP/LSP报文做认证。
路由器域 domain-authentication-mode

OK
名言警句时刻:
不急于表现自己,也不急于纠正旁人,再听一听,再看一看,再琢磨琢磨。


欢迎访问我的易百纳技术社区文章《华为 IS-IS协议总结之笔记》
https://www.ebaina.com/articles/140000005422


在这里插入图片描述
好了这期就到这里了,如果你喜欢这篇文章的话,请点赞评论分享收藏,如果你还能点击关注,那真的是对我最大的鼓励。谢谢大家,下期见!


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK