ISIS路由协议

oSI七层模型:       TCP/IP模型:

1、物理层         1、物理层

2、数据链路层       2、数据链路层

3、网络层   CLNP    3、网络层   IP

4、传输层         4、传输层

5、会话层         5、应用层

6、表示层

7、应用层

 

CLNP:无连接网络协议,他是为了osI七层模型中网络层研发的协议

IP :他是为了TCP/IP模型中网络层研发的协议

ISIS路由协议最初是为了7层模型研发的,后来IETF对其做了扩充和修改,使其可以兼容TCP/IP模型,称为集成化的ISIS

 

在oSI参考模型中。将具有数据转发能力的节点叫做Is(中间系统intermediate system),类似于TCP/IP模型中的路由器

将不具有数据转发能力的节点叫做ES(端系统end system),类似于TCP/IP模型中的终端

 

提问:OSPF工作在哪一层?

   OSPF是工作在网络层之上的路由协议。

   ISIS工作在哪一层?

   ISIS是工作在数据链路层之上的路由协议。

区域的概念

1、ISIS

  1.1 管理区域:Area ID(基于路由器的)

  1.2算法区域:骨干区域和非骨干区域

    骨干区域:由连续的L2或者L1/2的路由器组成的逻辑区域

    非骨干区域:由连续的L1或者L1/2的路由器组成的逻辑区域

  注意:设计的时候一定要避免骨干区域被分割,ISIS不支持虚链路,没有补救措施

级别:

1、路由器级别

  leve1-1路由器

  leve1-2路由器

  leve1-1/2路由器(缺省)

命令:[AR1-isis-1]is-level level-1 配置ISIS路由器级别。缺省是level-1/2

2、邻居级别

  level-1:和相同区域的L1路由器建立L1邻居,和不同区域的L1路由器无法建立邻居

      和相同区域的L2路由器无法建立邻居,和不同区域的L2路由器无法建立邻居

      和相同区域的L1/2路由器建立L1邻居,和不同区域的L1/2路由器无法建立邻居

      L1级别路由器只能和L1或者L1/2路由器建立L1级别邻居,且要求区域ID相同

  level-2:和相同区域的L1路由器无法建立邻居,和不同区域的L1路由器无法建立邻局

      和相同区域的L2路由器建立L2邻居,和不同区域的L2路由器建立L2邻居

      和相同区域的L1/2路由器建立L2邻居,和不同区域的L1/2路由器建立L2邻居

      L2级别路由器只能和L2或者L1/2路由器建立L2级别邻居,且不要求区域ID相同

  level-1/2:和相同区域的L1路由器建立L1邻居,和不同区域的L1路由器无法建立邻居

      和相同区域的L2路由器建立L2邻居,和不同区域的L2路由器建立L2邻居

      和相同区域的L1/2路由器建立L1和L2邻居,和不同区域的L1/2路由器建立L2邻居

总结: L1的路由器只支持建立L1级别的邻居,且要求区域ID相同

    L2的路由器只支持建立L2级别的邻居,不要求区域ID相同

    L1/2的路由器既支持L1级别邻居又支持L2级别邻居

3、链路级别

 

ISIS的电路类型

1、广播

当链路层协议为以太网时,ISIS的电路类型默认为广播

2、点到点

当链路层协议为PPP或者HDLC,ISIS的电路类型默认为P2P

 

当电路类型为广播时(MA)需要选举DIS

DIS:伪节点

DIs的作用:

  1、在SPF计算式,都会作为伪节点计算SPF树,将MA网络简单化计算

  2、都是为了减少LSA的泛洪(在ISIS里叫做LSP)

  3、在ISIS里,DIS在广播网络下用来保证LSDB同步的可靠性(新知识)

DIS的选举:

  1、接口的DIS优先级 0~127 默认为64 越大越优

  2、接口的MAC地址,越大越优

抢占问题:

1、邻居状态

  OSPF的DR是不具备抢占的,MA网络下oSPF的路由器邻居状态有2way和full,一旦DR被抢占,那么full和2-way可能会大范围的改变,造成网络终端,0SPF重新收敛。

  ISIS的DIS是支持抢占的,MA网络下ISIS的路由器邻居状态全部都是邻接,DIS的改变,不会造成邻接状态的改变

2、从算法角度讲

  OSPF的DR可以看做是2类LSA,如果2类LSA被抢占了,那么会造成SPF树重新计算。

  ISIS的DIS被抢占的话,伪节点的信息发生改变,会导致其他路由器重新计算。

 

ISIS和OSPF的区别

ISIS的常用命令:

1、is-level 1eve1-2 //修改路由器的ISIS级别先配置进程,后宣告接口

2、ISIS只支持接口宣告 isis enable 1 //顺序不能乱

3、修改ISIS接口的电路类型,缺省情况下是广播类型,通过命令可以配置成P2P

  [AR1-GigabitEthernet0/0/0]isis circuit-type p2p

4、修改接口的DIS优先级 取值范围是0~127缺省值为64

  [AR1-GigabitEthernet0/0/0]isis dis-priority 127

5、修改接口he11o时间 [AR1-GigabitEthernet0/0/0]isis timer hello XXX

 

报文

1、路由级别:L1 L2 L1/2

2、邻居级别:L1 L2

3、链路级别:L1 L2 L1/2

 

OSPF的报文:

1、hello DD LSR LSU LSACK

 

ISIS的9种报文

1、hello报文

L1 hello报文:用于在广播链路上建立L1级别邻居关系

L2 hello报文:用于在广播链路上建立L2级别邻居关系

P2P的hello报文:用于在点到点链路上建立ISIS邻居的报文

 

2、LSP报文:用于描述链路状态信息的,类似于OSPF的Lsu报文(LSA)

  link state Ppu 链路状态协议数据单元

L1 LSP报文:用来描述L1的链路状态信息

L2 LSP报文:用来描述L2的链路状态信息

 

3、SNP报文:序列号报文。其中包括了完全序列号报文CSNP,部分序列号报文PSNP

L1 CSNP:类比OSPF的DD报文:用于描述L1的LSDB当中的所有LSP的摘要信息

L2 CSNP:类比OSPF的DD报文:用于描述L2的LSDB当中的所有LSP的摘要信息

L1 PSNP:类比OSPF的LSR和LSACK报文:用于请求LSP和确认作用

L2 PSNP:类比OSPF的LSR和LSAcK报文:用于请求LSP和确认作用

备注:当电路类型为广播时,PSNP报文只有请求作用,没有确认作用。当电路类型为P2P时,PSNP报文既有请求作用,也有确认作用

L1路由器只会维护L1级别的LSDB

L2路由器指挥维护L2级别的LSDB

L1/2路由器既维护L1的LSDB又维护L2的LSDB

 

ISIS的链路级别

1、L1的路由器,在广播链路上发送L1的he1lo报文,与链路级别无关,始终发送L1 he11o报文

2、L2的路由器,在广播链路上发送L2的he1lo报文,与链路级别无关,始终发送L2 he11o报文

3、L1/2的路由器,在广播链路上发送L1和L2的hello报文,与链路级别有关系,取交集发送

4、对于点到点链路,和广播链路是一致的

  总结:对于仅支持一种级别的路由器来说,链路级别不起作用

     对于支持两种级别的路由器来说,链路级别起作用,取交集发出

ISIS报文的发送:

广播链路上L1的报文发送目的组播MAC:01-80-c2-00-00-14

广播链路上L2的报文发送目的组播MAC:01-80-c2-00-00-15

如果在广播链路上修改电路类型为P2P后,那么发送报文的目的MAc地址:09-00-2B-00-00-05

 

ISIS报文

ISIS的报文分为3个部分:

1、通用报文头

intradomain routeing pro dis :域内路由协议鉴别符:0x83代表为ISIS协议

length :头部长度(包括了通用头部和专用头部)

version :版本信息 isis目前只有版本1

ID length :system-id长度

reserved :保留字段

PDU type :描述专用报文类型

version :版本信息

reserved :保留字段

Maximum :可以配置的区域ID最大数量

 

2、专用报文头

Circuit type :链路级别:用于描述这个路由器发出的这个报文能够建立的邻居级别

system-id :代表ISIS网络内的唯一 一台路由器

Holding timer :邻居保持时间(死亡时间)

PDu Length :报文长度

PRI :接口的DIS优先级 缺省为64,取值范围0~127 越大越优

systemid(dis) :用来描述广播链路中DIS信息

 

3、变长字段

ISIS路由协议的变长字段是基于TLv编码来携带各项属性的。T代表type,L代表length,v代表value属性值。

3.1 使用TLv来做报文编码的路由协议,发送报文时只携带需要携带的属性即可,不需要携带的属性可以不携带

3.2 OSPFv2不是TLV编码,所有的字段全部为固定字段,所以拓展性比较差

3.3 基于TLV编码的路由协议还有 BGP LDP EIGRP

在报文结尾处经常会看到很多的padding字段,用来作为填充字段,保证MTU=1500

MTU隐式检测:在建立邻居之初,会用填充字段来填充报文,填充到1500来作为隐式确认。

1、在广播链路上,建立完邻居以后,hello包会继续填充

2、在P2P链路上,建立完邻居以后,hello包不在继续填充

ISIS计算

一、LSP:1ink state PDu(链路状态协议数据单元)

1、R3从报文的角度来看,LSP可以分为L1级别的LSP和L2级别的LSP

2、从用途的角度来看,LSP可以分为

  2.1 实节点LSP:用来描述路由器自身的链路状态(类比OSPF的1类LSA)

  2.2 伪节点LSP:用来描述广播网络上的链路信息的(类比oSPF的2类LSA)

二、LSDB

路由器在运行OSPF时必须将接口宣告进OSPF进程,LSDB才会出现LSA,如果没有宣告任何接口,LSDB为空。

路由器在运行ISIS时,只要配置了NET地址,LSDB中就会产生一条LSP用来描述自身节点(这个LSP是实节点LSP)

三、如何识别唯一的一条LSP

OSPF中,使用LSA的3要素来识别唯一的一条LSA(type1s-id adv-rtr)

ISIS中,使用LSP-ID来识别唯一的一条LSP

LSPID是由3部分组成

  a. system-id :用产生这条LSP的路由器的system-id充当

  b. 伪节点标识符 :如果取值为00代表这是一条实节点LSP,如果取值为非00代表这是一条伪节点LSP

  c. 分片识别符 :代表是否分片

四、如何判断一条LSP的新旧

1、序列号SEQ:也是越大越新,十六进制标识

2、剩余寿命:holdtime,一条LSP出生时1200s,每隔1s剩余寿命减1,直到减为0,LSP老化没了

        如果一台路由器收到一条LSP中holdtime=0:代表删除这条LSP

3、校验和:校验和也是越大越优,十六进制。

五、ISIS的更新机制

1、触发更新:当链路发生变化时,将会触发更新自己产生的LSP,更新时序列号+1,校验和重新计算,剩余寿命重置为1200s

2、周期更新:isis路由器会每隔900s,周期向邻居更新自己产生的LSP,更新时序列号+1,校验和重新计算,剩余寿命重置为1200

六、查看LSP详细信息

使用以下命令:display isis lsdb 0000.0000.0004.00-00 verbose

 

每台ISIS路由器根据路由器级别不同,所维护的LSDB也不同:

L1级别的路由器只维护L1级别的LSDB

L2级别的路由器只维护L2级别的LSDB

L1/2级别的路由器既维护L1的LSDB,又维护L2的LSDB

 

报文

SOURCE 0000.0000.0004.00      源节点系统,用来描述产生这条LSP路由器的sys-id+伪节点标识符

NLPID IPV4              描述网络层协议

AREA ADDR 49.0001          产生这条LSP路由器所在的area-id

INTF ADDR 14.1.1.4          产生这条LSP路由器宣告进ISIS进程的接口IP

NBR ID 0000.0000.0001.00 COST:10    用于描述自己链接到一个P2P邻居,此时system-id为邻居路由器的sys-id

IP-Internal 14.1.1.0 255.255.255.0 COST:10           用于描述自己直连的路由信息(叶子信息),并标记了自己到达该路由的cost

 

SOURCE 0000.0000.0003.01 源节点系统,使用DIS所在路由器的system-id来描述,01代表这是伪节点LSP

NLPID IPV4           网络层协议

 

多区域ISIS路由计算:

1、骨干区域是如何访问非骨干区域?

  1.1 默认情况下,L1/2的路由器会将L1级别LSDB中的叶子信息,添加到L2级别自己实节点的LSP中

2、OSPF和ISIS计算域间路由的区别

  OSPF是将隔壁区域的1类和2类LSA计算出来的最优路由以3类LSA方式传递到直连区域,3类LSA是路由信息

  所以OSPF计算域间路由时:自身路由器到达ABR的链路状态+3类LSA的路由信息

  ISIS是将非骨干区域的叶子信息直接放到骨干区域自己产生的实节点LSP中,作为叶子信息存在。

  所以ISIS的骨干区域计算费骨干区域路由时,是通过L1/2路由器的叶子信息计算

3、ISIS的cost

  在HCIP阶段,ISIS使用默认cost,即每个接口的cost固定为10

4、非骨干区域是如何访问骨于区域的?

  默认情况下,L1/2路由器不会将L2的叶子信息添加到L1级别LSP中。

  此时,非骨干如果想要访问骨干,将通过费骨干区域的缺省路由访问,类似于OSPF的末节区域

  如何产生的缺省路由:

  !!!L1/2路由器在直连了骨干区域和非骨干区域时,在传递L1实节点LSP时,将ATT置位1

  ATT:标识骨干区域连接符:用于表明该L1/2路由器和骨干区域直连,用于指导非骨千区域访问骨干区域

5、ISIS路由泄露

  在L1/2路由器配置:[AR1-isis-1]import-route isis level-2 into level-1

  手动将骨干区域的叶子泄露给非骨干区域路由器

6、DU bit(down/up)比特位

  当骨干区域的叶子信息手动泄露到非骨干后,就会讲Du bit置位1,代表:路由优先级

  L1级别路由>L2级别路由>L1*路由

posted @ 2024-11-02 18:42  半个小菜鸟  阅读(10)  评论(0编辑  收藏  举报