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

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

一、拓扑

华为 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。 华为 IS-IS协议总结之笔记

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

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

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

2.2.2 P2P 2-way 邻居建立过程

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

ISIS HELLO报文中不携带TLV的。 华为 IS-IS协议总结之笔记

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

华为 IS-IS协议总结之笔记 [AR1]dis isis peer 华为 IS-IS协议总结之笔记

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

华为 IS-IS协议总结之笔记 华为 IS-IS协议总结之笔记 AR1有邻居(单向邻居),AR2没有邻居。

2.3 MA

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

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

华为 IS-IS协议总结之笔记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协议总结之笔记

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

2.4 常见的TLV

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

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

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

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

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

免责声明:文章内容来自互联网,本站不对其真实性负责,也不承担任何法律责任,如有侵权等情况,请与本站联系删除。
转载请注明出处:华为 IS-IS协议总结之笔记 https://www.yhzz.com.cn/a/13180.html

上一篇 2023-05-11 19:28:31
下一篇 2023-05-11 19:30:45

相关推荐

联系云恒

在线留言: 我要留言
客服热线:400-600-0310
工作时间:周一至周六,08:30-17:30,节假日休息。