IS-IS协议基本概述

目录

 更多精彩,尽在G Z H:数通那点事

一、IS-IS基本概述

(一)IS-IS协议中的路由器级别

(二)IS-IS中的邻居级别

(三)IS-IS的链路级别

(四)IS-IS的地址结构

(五)IS-IS的基本配置

(六)IS-IS实验

二、IS-IS协议的网路类型

(一)广播类型

(二)点对点类型

 三、IS-IS协议报文

(一)Hello报文:用于建立邻居。

(二)LSP报文:用于描述链路状态信息。

)SNP报文:序列号报文,主要包括CSNP(完全序列号报文)和PSNP(部分序列号报文)

四、域间路由


 

 更多精彩,尽在G Z H:数通那点事

一、IS-IS基本概述

        IS-IS(Intermediate System-to-Intermediate System,中间系统到中间系统)路由协议最初是ISO(国际标准化组织)为CLNP(Connection Less Network Protocol,无连接网络协议)设计的一种动态路由协议,也是一种基于链路状态并使用最短路径优先算法(SPF)进行路由计算的一种IGP协议。

       协议优先级为15

       本篇文章主要阐述一些基本的知识点,分别是路由器级别,邻居级别,链路级别,NET地址,基本配置。

(一)IS-IS协议中的路由器级别

      在IS-IS协议中,路由器分为三个级别,分别是Level-1,Level-1/2,Level-2。

    (1)Level-1路由器能和Level-1、level-1/2建立Level-1级别的邻居,与Level-2路由器不能建立邻居。

      (2)Level-2路由器能和Level-1/2、Level-2建立Level-2级别的邻居,与Level-1路由器不能建立邻居。

      (3)level-1/2路由器能和Level-1路由器建立Level-1级别的邻居,能和Level-2路由器建立Level-2级别的邻居,能和Level-1/2路由器同时建立Level-1和Level-2级别的邻居。

       PS:Level-1路由器只能和同区域的建立邻居,Level-2可以和不同区域的路由器建立邻居。

(二)IS-IS中的邻居级别

      IS-IS协议中的邻居级别总共有两种,分别是Level-1级别和Level-2级别。

      Level-1邻居级别是Level-1级别路由器建立起来的邻居;

       Level-2邻居级别是Level-2级别路由器建立起来的邻居。

       由建立Level-2邻居级别的路由器所组成的区域,称为骨干区域。建立Level-1邻居级别邻居的路由器所组成的区域,称为非骨干区域。

       特别注意,骨干区域必须是连续的,不能被非骨干区域分割。

(三)IS-IS的链路级别

      IS-IS的链路级别分为Level-1链路级别和level-2链路级别。主要作用在两个Level-1/2

      对于只支持Level-1和level-2级别路由器,配置链路级别不起作用。只维护自身级别的链路。

       对于level-1/2级别的路由器,配置链路级别起作用,仅维护配置的链路级别。

(四)IS-IS的地址结构

      1、IDP相当于IP地址中的主网络号,由AFI和IDI两部分组成。

      AFI:组织机构标识,表示地址分配机构和地址格式,49为私有网段。

      IDI:用来标识域,相当于一个下属机构。。

      2、DSP相当于IP地址中的子网号和主机地址,由High Order DSP、System ID、SEL组成。

      High Order DSP:用来分割区域,进一步细化标识域;

       System ID:用来区分主机

       SEL:用来指示服务类型

     3、Area ID:由High Order DSP 和 AFI 和 IDI 组成。既能标识路由域,也能标识路由域中的区域。

       打个比方:IDI就相当于中国,AFI相当于山西,High Order DSP相当于山西的一个地级市-晋城。

      4、System ID:表示的是区域内唯一主机或路由器,长度固定为48bit(6字节)。

     一个路由器,不论你在哪个区域,System ID要保持一致,就好比,你的名字,不论你去哪个市,你的名字是不能变得。

    5、NET:是一类特殊的NSAP(SEL=00),NET长度与NSAP相同,最多为20个字节,最少为8个字节。

(五)IS-IS的基本配置

[全局]isis  X(进程号)  //配置isis进程

[isis]network-entity 49.0001.0000.0000. 0001. 00  //配置NET地址

[接口]isis   enable  //启用isis协议。

[isis]is-level  level-X  //更改路由器级别,X的取值为1、2、1/2。

[isis]isis  circuit-type  网络类型  //修改网络类型,isis网络中,只有广播和P2P两种网络类型。

[接口]isis  circuit-level  level-X  //修改链路级别。

(六)IS-IS实验

R1上的配置:

R2的配置:

R3的配置:

      为了验证level-2级别的路由可以在不同区域间建立邻居,我们将R3的区域号与其他两个路由的区域号进行区别。 

      通过实验,我们可以发现,R2与R1建立了type为L1的邻居,与R3建立了type为L2的邻居。

 

二、协议的网路类型

(一)广播类型

      当数据链路层运行以太网协议时,IS-IS的网络类型为广播。

      在广播类型中,IS-IS网络会选举出一个类似于OSPF中Dr的节点,我们称之为DIS-伪节点。其作用主要是用于保证所有路由器的LSDB的是同步的,并且DIS会每10s进行一次周期性的发送CSNP(完全序列号报文),起到确认的作用。需要注意的是,IS-IS不会再选举类似于OSPF中BDR的备份伪节点。

关于DIS的选举原则:

     1.根据接口的优先级选举,取值为0~127,默认为64,越大越优,所有值都参选。他不像OSPF中的DR,0不参加选举。

    2.根据接口的Mac地址选举,越大越优。

关于DIS的选举时间:

      DIS的选举时间为2个HELLO报文的时间。普通路由器的hello时间为10s,Dis的hello时间为3s。

关于DIS的邻接关系:

     在MA网络中,所有路由器相互之间都是邻接关系。

关于DIS的抢占性:

      DIS具备抢占性,由于各路由之间是邻接关系,DIS的变更并不会影响到各邻居关系的变动,但是,会引起其他路由器从新计算链路信息。

关于DIS在LSDB的表示:

在LSDB表中,0000.0000.0001.01-00

00:表示分片标识符,00表示未分片。

01:伪节点表示符,00为实节点。非00为伪节点。

0000.0000.0001:表示system id。

     表中的*表示自己的节点。

关于DIS和DR的区别:

(二)点对点类型

     当数据链路层运行PPP、HDLC协议时,IS-IS的网络类型为点对点。点对点网络类型,不选举DIS。

 三、协议报文

       IS-IS协议总共有9中报文类型,分别是3种Hello报文(L1 Hello报文、L2Hello报文、P2P报文),2种LSP报文(L1 LSP报文、L2  LSP报文),4种SNP报文(L1 CSNP报文、L2 CSNP报文、L1 PSNP报文、L2 PSNP报文)

(一)Hello报文:用于建立邻居。

      图中方框内,为IS-IS通用头部报文。在IS-IS的Hello报文,LSP报文,SNP报文中都会存在。

   Intradomain Routing Protocol Discriminator:域内路由选择协议鉴别符:这里是ISIS

       length indicator:PDU头部的长度。

       ID  Length:system id的长度。

      PDU Type:PDU的类型:9种类型,这里01111表示的是一个Level-1的hello,10000表示是一个Level-2的hello报文。

      Maximum Area address:支持的最大区域个数。

(1)Hello报文:分为L1和L2两种,用于在广播链路上建立各自的邻居关系。

      Circuit Type:最后两位表示发出hello报文路由器的类型(01表示L1,10表示L2,11表示L1-L2)

      SystemID {sender of PDU}:表示这个hello报文是哪个路由器发出来的

       Holding Timer:相当于死亡时间,如果这个时间内没有收到邻居发来的hello报文,则结束邻居关系

       PDU Length:总长度,单位是字节

      Priority:优先级,默认64,范围为0~127,DIS选举会关注它

     

以下为变长字段:

      采用TLV编码来携带各项属性,T代表类型,L代表长度,V代表属性值。

      Area address:发hello包那台路由器所属的区域名

      IS Neighbor:发出hello包的路由器的邻居的接口mac地址

      IP interface address:从哪个接口发出的hello报文

      Padding:用于作为填充字段,保证MTU值为1500

     

      当建立邻居后,会在hello报文中。增加IS Neighbor:表示邻居的mac地址。

(2)P2P  Hello报文:用于在点对点链路上建立IS-IS邻居关系。

      P2P的hello报文与广播的hello报文基本相同,唯一的区别是广播的hello报文有priority优先级,用于选举DIS,P2P网络没有优先级,增加了local circuit id,用于。

(二)LSP报文:用于描述链路状态信息。

      LSP的通用头部报文与hello报文的相同,知识内部参数有些变动,PDU类型变为10010,表示L1 LSP。

 LSP报文:分为L1和L2两种,用来描述各自的链路状态信息。

       PDU Length:总长度,单位:字节

     Remaining Lifetime:生存时间,单位:秒

       LSP-ID:发出LSP报文的路由器,可用来识别唯一的一条LSP。

       Sequence number:序列号

       Checksum:校验和

       type block:类型块,

       ip internal reachablilty:描述ip网段的可达性。

三、SNP报文:序列号报文,主要包括CSNP(完全序列号报文)和PSNP(部分序列号报文)

​(1)CSNP:分为L1和L2两种,用于描述各自的LSDB当中的所有LSP的摘要信息。

       PDU length:总长度

      Source ID:发出CSNP报文的路由器的System ID

      Start LSP ID:CSNP报文中第一个LSP的ID值

      End LSP ID:CSNP报文中最后一个LSP的ID值

       LSP entries:lsp条目。

(2)PSNP:分为L1和L2两种,用于请求LSP和确认作用。

    除了LSP条目外。只包含PDU 长度和Source id源id的信息。

四、域间路由

前面提到,IS-IS包含骨干区域和非骨干区域,今天我们梳理两个区域是如何进行通信的。

       首先搭设一个多区域的IS-IS网络。

R1的配置为:

R2的配置为:

R3的配置为:

R4的配置为:

在R2路由器上,我们查看其lsdb。

      我们可以发现,在level-1/2路由器上,会自动将level-1级别的路由条目加载到Level-2的lsdb中,从而使level-2级别的路由器访问到Level-1级别内的路由条目。Level-1/2路由器并不会将Level-2的路由条目加载到level-1级别内。

     那level-1的路由器如何访问Level-2的路由条目?

我们在R1中,查看其路由条目。

      发现,其有一条缺省路由,其下一跳分别是R2和R3路由。

     其原理就是,当L1/2连接了骨干区域和非骨干区域,他会将自身产生的实节点LSP中的ATT置位为1当这个实节点LSP传递到其他L1的路由器时,其他路由器会通过ATT为1,得知其为L1/2路由,并产生一条缺省路由指向L1/2路由。

       如果我们想让骨干区域的路由条目宣告到非骨干中,我们,可以进行IS-IS的路由泄露。

具体配置为

[L1/2路由的isis]import-route isis level-2  into  Level-1

L2的路由泄露到L1中,将会在L1的LSP里,把L2的路由加*,用于防环。

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值