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

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

文章目录

      • 一、拓扑
      • 二、配置与分析
      • 三、简单概述
      • 四、小结

一、拓扑

华为 IS-IS协议总结之笔记_第1张图片

二、配置与分析

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。
华为 IS-IS协议总结之笔记_第2张图片

P2P:R2发送ISIS HELLO报文(DOWN状态)
携带了自己的systemID:0000.0000.0002,
TLV240、本地的链路ID。
华为 IS-IS协议总结之笔记_第3张图片

R2收到第一份的ISIS HELLO报文,状态进入Initializing。
华为 IS-IS协议总结之笔记_第4张图片

R1收到了R2的ISIS HELLO报文(systemID:0000.0000.0002),TLV240中邻居的包含了自己的systemID:0000.0000.0001、状态进入up。
华为 IS-IS协议总结之笔记_第5张图片
R2收到了R1的ISIS HELLO报文(systemID:0000.0000.0001),TLV240中邻居的包含了自己的systemID:0000.0000.0002、状态进入up。
华为 IS-IS协议总结之笔记_第6张图片

2.2.2 P2P 2-way 邻居建立过程

只要收到ISIS HELLO报文,就会单方向建立起邻居。

ISIS HELLO报文中不携带TLV的。
华为 IS-IS协议总结之笔记_第7张图片

P2P 3-way可向下兼容2-way(可以建立起邻居)。

华为 IS-IS协议总结之笔记_第8张图片
[AR1]dis isis peer
华为 IS-IS协议总结之笔记_第9张图片

P2P 3-way only不兼容2-way,建立不起邻居。

华为 IS-IS协议总结之笔记_第10张图片
华为 IS-IS协议总结之笔记_第11张图片
AR1有邻居(单向邻居),AR2没有邻居。

2.3 MA

收到第一份ISIS HELLO报文,状态变为init;

如果收到了TLV6中包含了自己的MAC地址,则状态进入UP。

华为 IS-IS协议总结之笔记_第12张图片10.1.12.1 00e0-fc48-15a2
10.1.12.2 00e0-fc65-4e39

R1收到R2的ISIS HELLO报文,发现TLV6里包含了自己的MAC地址00e0-fc48-15a2,所以状态变为UP。
华为 IS-IS协议总结之笔记_第13张图片

R2收到R1的ISIS HELLO报文,发现TLV6里包含了自己的MAC地址00e0-fc65-4e39,所以状态变为UP。
华为 IS-IS协议总结之笔记_第14张图片

2.4 常见的TLV

华为 IS-IS协议总结之笔记_第15张图片

TLV1:区域ID
TLV132:接口IP地址
TLV129:协议支持,如果支持IPv6的话,NLPID的值等于142

在这里插入图片描述

TLV240:描述的是邻居状态
TLV229:多拓扑
TLV8:padding

华为 IS-IS协议总结之笔记_第16张图片
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
名言警句时刻:
不急于表现自己,也不急于纠正旁人,再听一听,再看一看,再琢>磨琢磨。


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


华为 IS-IS协议总结之笔记_第17张图片
好了这期就到这里了,如果你喜欢这篇文章的话,请点赞评论分享收藏,如果你还能点击关注,那真的是对我最大的鼓励。谢谢大家,下期见!

你可能感兴趣的:(路由交换,网络)