IS

您所在的位置:网站首页 lsa的几种报文 IS

IS

2024-07-09 13:02:19| 来源: 网络整理| 查看: 265

个人认为,理解报文就理解了协议。通过报文中的字段可以理解协议在交互过程中相关传递的信息,更加便于理解协议。 凡是报文未携带的内容都具有本地概念。

在这里插入图片描述关于标准ISIS的基本原理,可参考ISO/IEC 10589:2002。 关于集成ISIS的基本原理,可参考RFC1195-Use of OSI IS-IS for Routing in TCP/IP and Dual Environments。 关于OSPF和ISIS的常用RFC,可参考博客OSPF/IS-IS RFC历史版本集合。 关于ISIS的常用TLV,可参考IANA发布的IS-IS TLV Codepoints。

持续更新~

目录

Integrated IS-IS 目录0.Integrated IS-IS简介1.IS-IS Hello报文介绍1.1.IS-IS Header1.2.IS-IS Hello1.3.ISIS的邻居建立1.4.影响ISIS邻居的因素1.5.DIS选举(广播型链路)1.6.其他需要注意内容1.6.1.Circuit ID1.6.2.LSP ID1.6.3.分片扩展 2.IS-IS LSP报文2.1.LSP报文分析2.2.LSP的新旧判断2.3.ISIS不验证接口掩码的问题2.4.LSP的概念说明 3.IS-IS SNP报文3.1.SNP报文3.2.LSP报文交互 4.IS-IS路由泄露/跨Level通信4.1.Level-2访问Level-1区域4.2.Level-1访问Level-2区域4.2.1.ATT置位4.2.2.Level-2路由泄露 5.IS-IS协议特性5.1.Overload特性5.2.度量值5.3.外部路由5.4.认证5.5.路由汇总 更新

0.Integrated IS-IS简介

基于TCP/IP的IS-IS也即集成IS-IS(Integrated Intermediate System to Intermediate System),描述的是IS中间系统(Intermediate System,一般指的是路由器。也有End System通常指的是终端)到中间系统的通信协议。 最初的ISIS是ISO(International Standardization Organization,国际化标准组织)定义的OSI(Open System Interconnection Reference Model,开放系统互联通信参考模型)协议栈中CLNS(Connectionless Network Service,无连接网络)的一部分。

CLNS由三部分组成= CLNP(Connection Less Network Protocol,无连接网络协议)+ IS-IS(Intermediate System to Intermediate System,中间系统到中间系统也即ISIS)+ ES-IS(End System to Intermediate System,边缘系统到中间系统)

因此实际上IS-IS是没有IP的概念的,相似的为了定位节点ISIS使用NSAP(Network Service Access Point,网络服务接入点)进行标识。 NSAP是OSI模型用于定位资源的地址,相当于TCP/IP模型的IP。

NSAP=IDP(Initial Domain Part,初始域部分)+DSP(Domain Special Part部分) 详细来说,IDP相当于IP地址的网段概念或网络位概念,DSP相当于IP的子网或主机地址

IDP= AFI(Authority and Format Identifier,授权与格式标识符。表示给出地址及其格式的组织)+ IDI(Initial Domain Identifier,初始域标识符。表示给出负责地址分配的授权机构)

DSP= HighOrder DSP(高位DSP,通常用于区域分割)+ System ID(系统标识,类似OSPF的Router-ID)+ SEL(NSAP Selector,NSAP选择器。协议标识符,在IP中默认就是00。)

Integrated IS-IS主要使用NET地址。NET(Network Entity Title,网络实体名称。是一种特殊的NSAP地址,其SEL=00)。

在Integrated ISIS中NSAP可简化为=Area ID(变长,1-13字节)+SystemID(6字节)+SEL(1字节,IP为00)。NET地址最长20字节。

在这里插入图片描述可以根据NET各个字段的长度来反推每个字段。 因此这里Area ID=49,SystemID=0000.0000.0001,SEL固定为00。

1.IS-IS Hello报文介绍

ISIS协议的一个重要特点是使用TLV(Type,Length和Value)构建报文。ISIS协议可以通过规定头部字段类型及长度而放开TLV字段的类型及长度,从而很容易通过“打补丁”方式对ISIS进行扩展。而IS(中间系统也即路由器)只需忽略自己无法识别的TLV即可完成兼容。(而OSPF每种报文都有严格定义。)后续将对该特定进行介绍 接下来将从报文底层依次向上对Integrated IS-IS报文进行介绍。 在这里插入图片描述 1@:底层使用IEEE 802.3型Ethernet,另一种以太网类型是Ethernet II。

ISIS可以通过底层协议来判断网络类型,如果底层为PPP或HDLC则认为为Point to Point链路。IEEE 802.3和Ethernet II最长都为1518字节。

Source= = 接口Mac地址; Destination= = 组播Mac地址。同时ISIS也具有区域的概念,对于Level-1的邻居固定使用Mac=01-80-c2-00-00-14;而Level-2的邻居固定使用01-80-c2-00-00-15。

(OSPF类似也使用组播Mac,但OSPF使用的是组播IP转化而来的组播MAC)

Length== 2字节。1500表示携带的物理层以上数据大小为1500字节。 本次抓包文件共1514大小,除去6字节DMac和6字节SMac以及2字节Length后为1500大小。除有效字节外,其他为填充数据。

2@:LLC(Logical-Link Control,用于标识上层协议)。 DSAP== 1字节。Destination Service Access Point,目的复位访问点。 SSAP== 1字节。Source Service Access Point,源复位访问点。 Control Field== 1字节。标识上层协议。

对于私有协议,802.2头部还包含5字节的SNAP(Sub-Network Access Point)。此时,IEEE 802.3 Ethernet类型的数据最长为1492字节。 1492=1518-6(DMac)-6(SMac)-2(Length)-8(802头部)-4(4字节的CRC,一般用于纠错)。

3@:还有一个需要注意的是,可以强制指定Ethernet链路为PtoP链路。 在这里插入图片描述 并且此时的DMac固定为09:00:2b:00:00:05。 在这里插入图片描述

1.1.IS-IS Header

ISIS协议具有公有头部,并在Header中标识所携带的ISIS报文/PDU(Packet Data Unit)的类型。 在这里插入图片描述Intradomain Routing Protocol Discriminator:1字节,ISIS协议类型。0x83表示为集成ISIS,在此是固定的。 Length Indicator:1字节,ISIS协议长度。PDU 头部的长度=通用头部+专用头部。

专用头部指的是每种具体ISIS报文的头部。Length Indicator可以理解为去除了所有TLV部分后的ISIS报文大小。

version/Protocal:1字节,版本/协议标识扩展。 ID Length:1字节, System ID 区域的长度。 PDU Type:5bits,PDU的类型。对于集成ISIS有9种。 version:1字节,版本类型。 Reserved:1字节,保留字段。 Maximum Area Address:1字节,支持的最大区域个数。一般为3,且不支持更改。

1.2.IS-IS Hello

ISIS Hello(IIH)有三种:Level-1 IIH、Level-2 IIH和P2P IIH。 而发送哪种IIH报文是由中间系统(IS所决定的,也即路由器自己)。通过在ISIS Header中的PDU Type进行标识。 IIH描述了形成的是那种邻居关系,邻居关系实际由ISIS Header中的PDU Type和ISIS Hello的Circuit字段共同决定。 在这里插入图片描述 ISIS进程视图下决定路由器发送哪种IIH报文:Level-1设置ISIS Header的PDU Type=15,Leve-2设置ISIS Header的PDU Type=16,对于路由器存在PPP链路则在该链路上设置ISIS Header的PDU Type=17。 IS中间系统(路由器)默认为Level-1-2,因此在广播网上发送两种IIH。 在这里插入图片描述而端口下也可决定邻居类型。指定电路类型后,则会在相应IIH的Header(是IIH的头部而非公共头部)进行明确。而且进程类型优于电路类型优先生效。 例如: 进程Level-1-2,接口Level-1== 只发送Level-1的IIH并将电路类型指定为仅Level-1; 进程Level-1,接口Level-1-2== 只发送Level-1的IIH也并将电路类型指定为仅Level-1; 进程Level-1,接口Level-2== 只发送Level-1的IIH将电路类型指定为仅Level-1 进程Level-1-2,接口Level-1-2== 分别发送电路类型指定为Level-1-2的Level报文

自动换行 接下来对IIH报文进行介绍:红线以上为IIH的专用头部,并且Level-1 IIH和Level-2 IIH的格式相同。 在这里插入图片描述Circuit Type:2bits。与接口配置的电路类型相关。*0x1表示仅Level-1,0x2表示仅Level-2,0x3表示Level-1-2。 SystemID:6字节。发送IIH的SystemID,用于节点标识。 Holding timer:2字节。维持ISIS邻居的时间,相当于OSPF的Dead Interval。

注意与OSPF不同,不要求建立邻居时的Holding timer一致。 在这里插入图片描述 默认Holding timer=hello * 3。 在这里插入图片描述有意思的是Huawei默认为10s,但是在报文中显示的是9s。这是因为考虑到了非DIS发送时可除性。但是仅有10s会被填充为9s,用于和CISCO区分。DIS和非DIS在后文做介绍。

PDU Length:2字节。描述整个ISIS报文的字节数。与公共Header的Length Indicator做比较可以确定剩余TLV的长度。 Priority:7bits。用于选举DIS。越大越优先。

注意与OSPF不同的是,置0也可参与选举。 在这里插入图片描述

SystemID:6字节。DIS的SystemID,可以理解为OSPF的DR Router-ID。

剩余字段则为TLV字段:Type固定1字节,用于TLV区分;Length固定1字节,描述TLV中Value长度;Value根据Length确定。 Area address:T=1,L=2。描述所在区域。ISIS允许有3个区域。每有1个区域,则Value增加2字节。(Length数值也相应增加2) IS neighbor:T=6,L=6。描述邻居的MAC地址,如果是广播网有多个邻居则字段相应添加。 IP Interface address:T=132,L=4。描述自己运行ISIS的接口地址。 Protocols Supported:T=129,L=1。描述中间系统IS自己支持的协议。IP取值为0xcc;IPv6取值为0x8e。如果都支持则L=2,Value相应增加。 Restart signaling:T=211,L=3。用于重启IS节点时避免或减小错误或无路由的业务中断。

在这里插入图片描述此时Wireshark未显示完全,相关内容参见RFC8706,有意者可自行阅读。 目前主要用到5个bits:从左开始依次为: 3bits的保留字段。 PA-bit:Planned restart acknowledgement PR-bit:Restart is planned SA-bit:Suppress adjacency advertisement RA-bit:Restart Acknowledgement RR-bit:Restart Request。 这里其实是1个字节,而Length为3。也即在该FLAG之后有2字节的保留位。 并且如果要重启,还会在保留字段后添加相应的Restarting Neighbor System ID。

Multi Topology:T=229,L=2。用于描述生成树计算情况0x000表示IPv4生成树;0x002表示IPv6生成树。

PtoP链路IIH与广播网基本相同,只存在如下区别: 在这里插入图片描述从图中可以看出, P2P IIH 中的多数字段与 LAN IIH 相同。不同的是没有 Priority、 DIS和IS Neighbor TLV字段,而多了 Local Circuit ID:1字节。表示本地链路 ID。 和TLV Point-to-point Adjacency state:T=240,L=5。描述邻接状态和本地电路ID。

网络类型Hello IntervalDead IntervalDIS3s10s非DIS10s30sPTP10s30s

自动换行 这里虽然只介绍了广播网BroadCast和点到点PtoP类型的链路层介绍,但是实际上非广播多路访问NBMA可以参考广播网而点到多点PtoMP可以参考点到点

点击此处回到目录

1.3.ISIS的邻居建立

ISIS的邻居建立比较特殊,只需要3次握手便可建立。(广播网3次,PtoP2次。)。这里以路由器A和B建立邻居为例子,进行介绍。 1@:路由器A发送IIH,此报文不包含邻居MAC

(在IIH包的TLV=IS neighbor TLV携带,初始不携带该TLV)

2@:路由器B接收该IIH,检查通过。并回复包含自己MAC信息的IS neighbor TLV:T=6,L=12,V=对端MAC(该MAC自动识别)

3@:路由器A收到该IIH,发现自己的MAC便可建立邻居关系。 如果收到邻居的IIH中包含自己的MAC,邻居状态由init变为up。

ISIS可以指定PtoP链路进行2次或3次握手。(广播网强制3次握手)在这里插入图片描述

并且需要注意的是虽然建立了邻居关系,但是此时LSP并未同步。也即其实路由信息没有完成同步和收敛。

1.4.影响ISIS邻居的因素

ISIS Hello(IIH)报文主要用于建立和维护ISIS邻居,因此相应的根据ISIS报文相应字段便可判断影响ISIS邻居影响的因素。

ISIS Header层: 1@:PDU Type。(实际上决定了使用哪种Mac,甚至PPP无需用到Mac)。Level-1只建立Level-1邻居关系,Level-2只建立Level-2邻居关系。而Level-1-2路由器实际上是既发送Level-1的报文又发送Level-2的报文。并不单纯是OSPF的ABR概念,ISIS的路由器可以全部是Level-1-2。 (ISIS发送两种报文分别建立邻居,OSPF则是一种报文)。实际上,可以将Level理解成两种ISIS协议的叠加,只是ISIS默认会将Level-1引入Level-2实现导通而已。 2@:ID Length。集成System ID长度默认值,一般也不支持更改。 3@:Maximum Area Address。默认为3,一般也不支持更改。

IIH层: 4@:SystemID。相当于OSPF的Router ID,用于唯一标识。 5@:Area address(TLV)。level-1要求必须一致,多个NET地址有一个相同即可。Level-2不进行检查。 6@:IP Interface address(TLV)。一般要求同网段即可,与OSPF不同的是,ISIS不包含掩码因此掩码可不相同。 (例如:10.1.1.1/24和10.1.1.2/30可以判定对方的主机地址在自己的网段中,因此可以建立邻居。但是这样会带来些许问题。)

对于PtoP链路,甚至可以强制忽略对端的IP地址。 在这里插入图片描述

7@:Multi Topology(TLV)。一般要求相同。

其他影响因素: 8@:接口MTU。接口丢弃大于自己MTU的报文。在这里插入图片描述接口MTU默认1500。值得注意的是display isis interface 显示的却是1497。因为LLC层占用了3字节。 在这里插入图片描述 9@:接口认证。由于ISIS是TLV格式的,会忽略自己无法识别的TLV。认证功能的实现是通过携带额外的TLV来实现的。

1.5.DIS选举(广播型链路)

1@:接口优先级(默认64)。越大越优。

在这里插入图片描述ISIS的DIS设置为0也可参与选举,而OSPF的DR优先级为0时表示不参与选举。

2@:Mac地址。越大越优。

PTP没有MAC地址,也没有DIS。

3@:支持抢占。 OSPF不支持是因为广播网所有设备都与DR和BDR建立邻接,其他建立邻居关系。抢占影响范围大。而广播网中所有任意2台IS之间都建立邻接,此时只需更换一台进行伪节点的发送即可,邻居/关系状态不变。 4@:以链路Level进行选举,也即每有一种Level关系就进行一种DIS选举。

从这一点也能侧面了解,ISIS的Level和OSPF的区域还是存在区别的。ISIS的Level更像一个“独立”的协议。也即整个ISIS域=Level-1的网络+Level-2的网络。

5@:ISIS不需要选举备用DIS。 6@:DIS选举完成后,DIS每10/3s发送一次IIH。而非DIS每10s发送一次IIH。

1.6.其他需要注意内容 1.6.1.Circuit ID

这是啥描述邻居的标识Circuit ID=System ID+节点ID。PTP链路上填充的是与接口序号相关的电路ID。 作用在于,在PTP类型Hello时间内,如果建立的设备不变(system不变)但是端口迁移改变。需要等待邻居改变。可以通过改变发送IIH中circuit ID来感知。 而广播网中填充的是MAC,而端口MAC是唯一的。这样可以快速感知。

1.6.2.LSP ID

在这里插入图片描述

链路信息的标识:LSP ID=System-ID+节点标识+分片标识。System-ID为系统ID,唯一标识不可重复。

节点00表示实节点,IS(中间系统,也即路由器)自己产生;非00表示伪节点产生用于描述广播网的拓扑信息。1字节。 分片标识用于决定报文是否分片。1字节,因此最大可分256。

1.6.3.分片扩展

ISIS默认分片标识1字节,因此可分片256。并且为了支持更大范围的分片,对TLV进行新增。

分片扩展lsp-fragments-extend:默认对Level-1-2进行mode-1模式分片。

mode-1: 用于网络中有设备不支持LSP分片扩展特性的场景。

mode-2: 用于网络中所有设备支持LSP分片扩展特性的场景。

分片扩展TLV,重启ISIS生效在这里插入图片描述 使用Type=24号TLV。参见RFC5311,有意者可自行拆解字段在这里插入图片描述

附加系统ID(Additional System-ID):virtual-system。一台IS可以有多个virtual-system ID,但ISIS域全局唯一不可重复。 此时virtual-system ID相当于模拟出多个虚拟路由器R1、R1.1和R1.2。当R2收到R1、R1.1、R1.2设备发来的LSP时,认为有1台设备R1并只与R1进行单台SPF路由计算。

不同virtual-system ID发出的LSP都必须具有与真实IS相同的TLV特性。

点击此处回到目录

2.IS-IS LSP报文 2.1.LSP报文分析

(集成)IS-IS协议的LSP(Link State Protocol Data Unit)分为Level-1 LSP和Level-2 LSP。这里对LSP报文进行介绍。 在这里插入图片描述PDU Length:2字节。整个ISIS报文的长度。 Remaining Lifetime:2字节。LSP 的生存时间,类似OSPF的LS age。不同的是从1200s开始倒数,而OSPF从0开始计数。 LSP ID:8字节。System ID+伪节点 ID+分片后的编号。该字段便可用于唯一确认一条LSP。 Sequency Number:4字节。LSP 的序列号与OSPF的LSA中含义相同。 Checksum:2字节。LSP 的校验和。 Type Block:1字节。

P-bit:1个bit。仅与 L2 LSP 有关,表示路由器是否支持自动修复区域分割。区域修复位:区域修复位,暂无应用。一般用于骨干虚链路,但是所有厂商都不支持。 Attachment:4个bit。此字段只和 Level-1-2 路由器始发的Level-1 LSP 有关。用来表明相连的区域所使用的度量方式。自左往右依次是 差错度量、开销度量、时延度量和缺省度量。 Overload-bit:1个bit。过载标志位。在计算通过超载路由器的路由时不会被采用。一般用于当路由器内存不足时,系统自动在发送的 LSP 报文中设置过载标志位。 在这里插入图片描述//这里的ATT/P/OL分别标识该字段。

Type of IS:2个bit。生成 LSP 的路由器的类型。01 表示Level-1,11表示 Level-2。 剩余项为可变长的TLV。其他在IIH中已做过描述,这里对IS Reachability、IP Interface address和IP Internal Reachability介绍:在这里插入图片描述

IS Reachability:T=2,L=12。自左往右依次描述差错度量(1字节)、开销度量(1字节)、时延度量(1字节)和缺省度量(7bits)。随后描述了IS邻居== 邻居的System ID+节点。相当于OSPF Router-LSA的Transit信息。 需要说明的是实节点LSP中的TLV=IS Reachability,描述的是所连接的伪节点。(也即这里描述0000.0000.0004是伪节点)。而伪节点产生的0000.0000.0004-01 LSP则是完全的描述所连接的实节点,相当于OSPF的Network-LSA。此时所携带的4种度量=0。

IP Interface address:T=132,L=8。描述宣告入ISIS协议接口的IP。相当于OSPF Router-LSA的Transit信息。有意思的是OSPF将Loopback作为的是Router-LSA的StubNet信息,ISIS没做区分。 在这里插入图片描述IP Internal Reachability:T=128,L=24。描述节点所连接的路由信息。(包括前缀-4字节,前缀长-4字节和4种度量值-4字节=12字节)。相当于OSPF的Router-LSA的StubNet。

在这里插入图片描述LSPID:System ID+伪节点 ID(00标识实节点;非00标识伪节点)+分片后的编号。 点击此处回到目录

2.2.LSP的新旧判断

在《ISO/IEC 10589:2002》的《7.3.16.3 Remaining lifetime field》中定义:

1@:比较Seq Number(LSP的专用头部head中携带)。越大越新。如果收到小于本地的LSP,则向收到的端口自动发送本地的LSP。Seq Number=全ff时,则将其保留保存延时60s。该60s也可称为零老化时间。 一共可留存1200s+60s=LSP老化时间+保存延时=21min,用于将其删除。

2@:如果Remaining Lifetime等于0,则认为是最新的,用于删除一条LSP(当Remain Lifetime=0时, 存在60s的保存延时。60s后进行删除),并向外广播该LSP。每隔15分钟(900s)周期更新,更新之后Seq Number+1。

此外还有: 3@:比较checksum,越大越新。并向外广播新数据库内容。如果收到的checksum小于本地。则向收到的端口自动发送本地的LSP。

4@:若checksum(LSP的head中携带)一样则是一样的LSP。

2.3.ISIS不验证接口掩码的问题

在第1.4.章节中(点击此处回到该章节),我们发现IIH中携带的TLV=IP Interface address只有接口的IP地址,也即接口的掩码不影响IS-IS邻居建立。只需要邻居的接口主机位所包含于自己的网段中即可。 同时在广播网中的实节点在TLV=IP Internal Reachabilit中描述了自己叶子路由;伪节点描述的是所连接的实节点,度量=0)在这里插入图片描述最终效果是路由器可能出现多条主机位相同而掩码不同的ISIS路由,此时根据–掩码最长匹配原则点击此处可查看路由选择顺序可能导致网络不通的情况。 在这里插入图片描述 根据ISIS的LSP报文AR12上会根据每台路由器的叶子路由计算出多条路由。AR12向AR13通信10.1.1.3时,根据最长掩码会将报文发往AR11(10.1.1.3被10.1.1.0/30匹配到。)。AR11发现为自己的广播地址,将其丢弃。 封装包MAC为下一跳的MAC 此时会出现一个比较有意思的情况,没有建立ISIS邻居时AR12和AR13的接口地址可以通,而建立了ISIS之后反而因为最长掩码不通了。在这里插入图片描述

2.4.LSP的概念说明

通过以上介绍说明,LSP(Link State Protocol Data Unit)是一种报文。ISIS通过这个报文完成了类似OSPF的LSU功能。并且需要注意的是,OSPF有针对单条路由和拓扑的LSA分类复杂但详细描述。 此时有一个需要注意的是ISIS删除单条路由的方式是,重新发送一个不包含所需要删除路由的LSP。因为无法针对单条路由进行超时删除。 (OSPF可发送专门的LSA)

点击此处回到目录

3.IS-IS SNP报文

(集成)IS-IS协议的SNP(Sequence Numbers Protocol Data Unit)分为CSNP和PSNP。而每种SNP报文又可以分成Level-1和Level-2。 因此实际上SNP有4种。L1 CSNP PDU-Type=24,L2 CSNP PDU-Type=25,L1 PSNP PDU-Type=26,L2 PSNP PDU-Type=27。

3.1.SNP报文

这里对CSNP报文进行举例介绍。 在这里插入图片描述PDU Length:2字节。整个ISIS报文的长度。 Source-ID:7字节。发出 SNP 报文的路由器的 System ID。 Start LSP-ID:8字节。CSNP 报文中第一个 LSP 的 ID 值。 End LSP-ID:8字节。CSNP 报文中最后一个 LSP 的 ID 值。 接下来为TLV LSP Entry:T=9,L=可变长。携带了LSP的概要信息 LSP Sequence Numbers:4字节的Sequence Numbers Remaining Lifetime:2字节的剩余生存时间 LSP Checksum:2字节的检验和 LSP-ID:8字节的LSP唯一标识。

PSNP 只列举最近收到的一个或多个 LSP 的序号,它能够一次对多个 LSP 进行确认,当发现 LSDB 不同步时,也用 PSNP 来请求邻居发送新的 LSP。 在这里插入图片描述相比于PSNP缺少了Start LSP-ID和End LSP-ID,并且TLV并不包含完整。这里的Source-ID没有显示完整,实际上也是7字节。 当PSNP非全0时用于请求邻居发送新的LSP,发送全0时表示确认。

3.2.LSP报文交互

ISIS的广播网 1@:每台设备都建立邻居关系。选举DIS。 2@:DIS每10s向整个广播网中发送CSNP报文(包含了广播网所有设备信息,类似OSPF的DBD),当非DIS收到该信息后主动发起PSNP(PSNP只有DIS才会接收)向DIS请求自己数据库中未包含的LSP信息。DIS发送相应LSP进行信息同步。其他IS设备不对此LSP进行PSNP的回应确认。 3@:如果非DIS收到的CSNP中不含自身的信息,则非DIS不断重新发送LSP直到DIS发送含有自身LSP的CSNP报文。 因此ISIS不需要进行类似OSPF的LSAck报文。 ISIS的广播网新增设备 1@:新增路由器和DIS(经过选举)一旦建立邻居,会主动发送自身LSDB的LSP组播报文。 2@:DIS将相应的LSP 信息增加至CSNP中。随后周期发送。并且新增路由器和DIS进行LSP和PSNP交互 3@:新增路由器和非DIS建立邻居关系,但在收到该LSP组播报文后,(如果自身没有)添加到自身的LSDB中。既不发送PSNP确认,也不主动发送LSP交互(DIS负责)。 ISIS的PtoP 1@:建立邻居后发送都发送CSNP,随后发送PSNP请求自己不存在的LSP 2@:建立邻居后发送LSP,随后相互回应PSNP确认。(不周期发送CSNP) 3@:如果一直(5s)没有收到PSNP进行重传。 点击此处回到目录

4.IS-IS路由泄露/跨Level通信

前文提到ISIS在不同的Level级别上分别发送自己的IIH、LSP和SNP报文。实际理解上可以将不同Level分成两种协议,ISIS是两种Level协议的叠加。区域也可以全部由Level-1-2组成,而OSPF的ABR必须有两个以上区域。 ISIS存在两种Level:Level-1和Level-2,并将Level-2作为类似OSPF的骨干区域。

4.1.Level-2访问Level-1区域

Level-1的明细路由会由Level-1-2路由器默认导入到Level-2骨干区域中。并类似OSPF的ABR将该路由作为自身的叶子路由,参与SPF计算。 在这里插入图片描述该命令是默认生效的。

4.2.Level-1访问Level-2区域

默认情况下,Level-2的明细路由不会发布到Level-1区域。但会在Level-1-2(类似OSPF的ABR)上通告缺省路由。这一效果,非常类似OSPF的完全末节区域(AS外路由和AS内其他Level路由都通过缺省路由通信)。

4.2.1.ATT置位

Attachment位(区域关联位):只会在Level-1-2的IS上设置该LSP设置,用于向邻居的Level-1通告,以表明需要在Level-1的IS上生成缺省路由向外通信。 在这里插入图片描述例如:此处LSP-ID=0000.0000.0005.00-00将ATT=1用于向Level-1通告,Level-1本地产生缺省路由。

ATT-bit可以强制置1,用于强制产生缺省路由或强制不产生。 attached-bit advertise 该命令Level-1-2生效。 attached-bit avoid-learning用于Level-1不计算生成缺省路由 在这里插入图片描述 Note:同一个区域的多个Level-1-2也不会计算该缺省路由。

ATT自动置位的条件 1@:Level-1-2需要有Level-2和Level-1邻居关系; 2@:Level-1-2区域ID不能和骨干区域ID一致(必须是Level-2存在Level-1-2没有的area id);

这里实际上指的是Level-1-2路由器所拥有的区域关系不能和Level-2区域所拥有的区域关系一致。用数学表达的方式为:Level-1-2路由器的区域集合A和Level-2的区域集合B。当A并集B=A时,ATT不可自动置位;当A并集B>A时,ATT可自动置位。 例如Level-1-2路由器有区域49.0001和49.0002,而Level-1所连接的Level-2区域不能仅有49.0001和49.0002关系。这里指的是区域的概念而不是Level-1-2所连接的直连网段。 如果Level-1-2路由器有区域49.0001和49.0002,而Level-2区域仅有49.0001或仅有49.0002是不行的。 ISIS的Area ID是路由器概念,OSPF的Area ID是链路概念/接口概念。

3@:该邻居关系仅限完全的Level-1和Level-1-2(排除Level-1-2和Level-1-2也会有Level-1邻居关系的情况)。

4.2.2.Level-2路由泄露

可以在Level-1-2上手动将Level-2路由泄露入Level-1。 (也同时可以指定路由策略过滤和tag)。但路由策略过滤对Level-2的直连路由不生效,也即Level-2的直连路由仍然会被泄露到Level-1中。 在这里插入图片描述 那Level-1如何进行Level外的路由区分呢? 在这里插入图片描述在这里插入图片描述 Level-1-2在LSP中描述该路由时,将IP Internal reachability TLV的该前缀DU位置位前缀DU位置位。同时也可以通过不将DU置位的路由回注到Level-2中,从而实现防环(水平分割)。 (来自Level-2的路由由于DU位不会回注到Level-2中) 在该场景下防止次优路径:Level-2优于泄露的Level-1 类似于OSPF的多ABR,ISIS的Level-1可能连接到多个Level-1-2路由器上。此时在其他Level-1-2路由器上既可以通过Level-1(Level-2泄露入Level-1中的DU置位的Level-1路由)路由可达,又可通过Level-2可达。此时优选Level-2路由,丢弃DU置位的路由。 防环手段:Level-1路由优于Level-2 此时由于Level区域的双向引入的存在,可能有这样的场景。 在其他Level-1-2路由器上既可以通过Level-1路由可达,又可通过Level-2(Level-1默认泄露入Level-2中的Level-2路由)可达。而Level-2路由是不会DU置位的!!! 此时优选Level-1路由。并且该Level-1-2不会将Level-1已有的路由从Level-2泄露入Level-1中。 注意:并且该Level-1-2不会将Level-1已有的路由从Level-2泄露入Level-1中可以支持类似OSPF的区域分裂。因为分裂的Area是没有该路由,可以在配置路由泄露的情况下进行泄露。 总结:Level-1 > Level-2 > (DU)Level-1。注意指定的网络位和掩码都一致。 点击此处回到目录

5.IS-IS协议特性

ISIS存在一些特殊属性,接下来对其进行介绍。

5.1.Overload特性

ISIS支持进行过载指示,以便使得低端路由器减小承载ISIS的压力。 在这里插入图片描述 1@:(向外通告OL=1的LSP,表明不可进行途径自身的路径计算。而目的地址为自身路由不受影响)。只计算至OL路由器的直连路由(只包含所通告的OL直连路由,也即不会跨过OL节点进行计算。端口宣告属于直连路由)。 2@:如果Level-1-2设置为OL路由器。此时Level-1-2不在进行Level-1的转换,Level-2此时也无法进行Level-1的计算(因为Level-2通过将Level-1路由视为计算Level-1-2的直连路由计算/叶子)。 同时也不在执行泄露功能(双向泄露都不进行) 在这里插入图片描述set-overload allow ? //设置泄露的路由属性。可以区分内部Level和外部路由,用于向外通告。并进行进行相应的路由泄露。比如只进行外部路由的泄露,而不进行内部Level路由的OL设置。一般在ASBR上使用。 在这里插入图片描述set-overload on-startup start-from-nbr ? //指定邻居在isis启动时没有建立邻居,则向其他邻居通告Overload=1的LSP(默认时间600s,超过600s后Overload=0)。 //也可增加参数设置建立邻居后的OL时间

5.2.度量值

ISIS有两种度量值:宽度量和窄度量。度量的差异主要是由于链路带宽的增加。(集成ISIS在1990年才正式发布RFC)。 默认带宽都为10。 在这里插入图片描述报文中体现为使用不同的TLV。默认使用窄度量,且不与宽度量兼容。在SPF树上如果发现自身邻居节点的cost-style不一致,就不会延该邻居节点继续向下进行SPF的计算。 窄度量: 接口Metric=6bits 路由Metric=10bits 在这里插入图片描述

宽度量: 接口Metric=24bits 路由Metric=32bits 在这里插入图片描述ISIS也可类似OSPF将度量设置为带宽自动计算:参考带宽默认100M 在这里插入图片描述

5.3.外部路由

ISIS的外部路由也可分为2类:Internal和External。 Internal:路由开销=引入时开销。(未加上节点到ASBR的开销) Exnternal:路由开销=引入时开销+64。(未加上节点到ASBR的开销) Internal优于External。随后优选度量小的

宽度量与类型无关,仅比较开销。相同则负责,不相同优选小的。 1@:引入外部路由时,默认引入Level-2中。 2@:Level-1-2引入外部路由进入Level-1时,DU不置位。此时Level-2也不会有该外部路由。

5.4.认证

在1.4章节,我们介绍了影响ISIS邻居建立的因素。其中一种因素是接口认证。此外还有2种认证:区域认证和路由域认证。 接口认证:通过对IIH报文进行认证。 在这里插入图片描述并且在IIH中新增TLV:T=10在这里插入图片描述并且由于ISIS是TLV格式的,此时会有一个特殊的情况。 当Ra配置认证而Rb未配置认证时,Rb忽略Ra发出IIH的认证TLV建立邻居状态为Init。(仍然发送IS Neighbor TLV携带对端Mac) 而Ra则处于无状态。(不发送IS Neighbor TLV携带对端Mac) 此时可以设置send-only,发送携带认证TLV但不强制要求邻居携带该TLV。 注意此时的状态是不检测认证TLV,也即即使对端携带了认证TLV也进行了忽略不检测。 在这里插入图片描述

区域认证:通过对Level-1的LSP报文进行认证。Level-1的邻居要求区域ID一致。 在这里插入图片描述 通过在LSP中添加认证TLV来实现。并将认证失败的TLV丢弃,不放入LSDB中。

路由域认证:通过对Level-2的LSP报文进行认证。 在这里插入图片描述

5.5.路由汇总

ISIS的路由聚合一般用于Level-1-2路由器上。对于Level-1或Level-2路由器使用时只能对直连路由生效。 在这里插入图片描述avoid-feedback:如果2台建立Level-1-2关系的其中一台路由器引入了Level-1的外部路由,则对端收到后进行汇总会在自身节点上将其转变为Level-2并在建立的Level-2区域泛洪。此时该汇总路由有可能产生环路。用于拒绝产生的该聚合路由。其他汇总路由循环传递的也可使用。 generate_null0_route:用于为聚合路由产生null0以避免路由黑洞。其他路由器正常收到汇总路由。 level-1:理解为ABR将Level-2的路由泄露进Level-1区域中。 level-2:默认该模式,理解为ABR将Level-1的路由泄露进Level-2区域中。此时向Level-2传递的LSP发生改变。 tag:为聚合路由设定tag。

@对于在Level-1-2上将Level-2的聚合使其对Level-1生效时,需要先将Level-2路由引入到Level-1,因为默认Level-1-2只对Level-1路由器产生缺省路由(ATT置位的正确情况下)。 @对于为未正确设置情况下,Level-1只有自己Level-1区域的路由无缺省路由了。

路由聚合的特定 1@:聚合路由的cost选择明细路由的最小值。 2@:外部路由会被宣告者/引入者当作自身节点,因此不产生分片。 3@:明细路由全部失效,汇聚路由失效。一般需要手动的添加聚合路由的null0或者generate_null0_route(本地新增聚合路由下一跳为null0),用于防止环路(部分明细路由失效时,和缺省路由联动导致环路)。 4@:纯Level-1和Level-2的路由器,只对自己直连路由生效(本地引入的路由也算)聚合。其他厂商不支持,必须引入外部路由。 缺省路由 在这里插入图片描述always:默认always生效,强制下发通过产生LSP生效。如果同一个区域多台都使用该命令,则对未知报文会产生环路。一般用于单台出口路由器上。 avoid-learning:避免学习该缺省路由。有其他协议的缺省路由或其他ISIS进程的缺省路由时,才下发缺省路由,当其他协议的缺省路由已经处于活跃状态,则无论优先级高低,总是不学习AS内部其他路由器下发缺省路由,当其他协议的缺省路由失效后,才学习AS内部其他路由器下发缺省路由,外部缺省再次有效时,比较优先级的高低。添加always时表示不学习其他ISIS产生的缺省路由。 match:非强制下发缺省路由,自身路由表存在缺省路由才下发缺省路由。添加avoid-learning时表示不学习其他ISIS产生的缺省路由。

更新

点击此处回到目录



【本文地址】

公司简介

联系我们

今日新闻


点击排行

实验室常用的仪器、试剂和
说到实验室常用到的东西,主要就分为仪器、试剂和耗
不用再找了,全球10大实验
01、赛默飞世尔科技(热电)Thermo Fisher Scientif
三代水柜的量产巅峰T-72坦
作者:寞寒最近,西边闹腾挺大,本来小寞以为忙完这
通风柜跟实验室通风系统有
说到通风柜跟实验室通风,不少人都纠结二者到底是不
集消毒杀菌、烘干收纳为一
厨房是家里细菌较多的地方,潮湿的环境、没有完全密
实验室设备之全钢实验台如
全钢实验台是实验室家具中较为重要的家具之一,很多

推荐新闻


图片新闻

实验室药品柜的特性有哪些
实验室药品柜是实验室家具的重要组成部分之一,主要
小学科学实验中有哪些教学
计算机 计算器 一般 打孔器 打气筒 仪器车 显微镜
实验室各种仪器原理动图讲
1.紫外分光光谱UV分析原理:吸收紫外光能量,引起分
高中化学常见仪器及实验装
1、可加热仪器:2、计量仪器:(1)仪器A的名称:量
微生物操作主要设备和器具
今天盘点一下微生物操作主要设备和器具,别嫌我啰嗦
浅谈通风柜使用基本常识
 众所周知,通风柜功能中最主要的就是排气功能。在

专题文章

    CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭