hcna网络技术学习指南课程讲解(网络工程师HCIE不得不了解的ISIS)
hcna网络技术学习指南课程讲解(网络工程师HCIE不得不了解的ISIS)集成IS-IS能够同时应用在TCP/IP和 OSI环境中,我们通常讨论的IS-IS协议均为集成IS-IS。集成IS-IS注意事项1、支持CLNP网络和IP网络或者支持CLNP和IP双重网络;2、该集成ISIS工作在数据链路层。如果是纯的ISIS那么其只能支持CLNP网络 其属于OSI模型中的协议
今天学习ISIS之前我们来回顾下ISIS的历史。IS-IS最初是国际标准化组织ISO为它的无连接网络协议CLNP设计的一种动态路由协议。IETF对IS-IS进行了扩充和修改,使它能够同时应用在TCP/IP和OSI环境中,称为集成IS-IS。国际互联网工程任务组(The Internet Engineering Task Force,简称 IETF)。
ISIS历史
ISIS特点:仅仅用于在CLNS(无连接网络服务)环境中。
集成ISIS的特点:
1、支持CLNP网络和IP网络或者支持CLNP和IP双重网络;
2、该集成ISIS工作在数据链路层。
如果是纯的ISIS那么其只能支持CLNP网络 其属于OSI模型中的协议
集成IS-IS注意事项
集成IS-IS能够同时应用在TCP/IP和 OSI环境中,我们通常讨论的IS-IS协议均为集成IS-IS。
常用术语
CLNS:无连接网络服务:OSI协议族使用CLNS来提供无连接的数据传送
CLNS由以下三个协议构成:
CLNP:类似于TCP/IP中的IP协议;
IS-IS:中间系统(即路由器)间的路由协议,即路由器之间的协议(比如ospf,rip)
ES-IS:主机系统与中间系统间的协议,相当于IP中的ARP,ICMP等。
NSAP:OSI协议通过NSAP(NETwork Service Access Point)来寻址OSI网络中处于传输层
的各种服务,即NSAP类似于IP地址。NET地址=NSAP特殊地址=集成ISIS的地址
ISIS整体拓扑
通过ISIS整体拓扑我们不难发现IS-IS在自治系统内采用骨干区域与非骨干区域两级的分层结构,Level-1路由器部署在非骨干区域,Level-2路由器和Level-1-2路由器部署在骨干区域。每一个非骨干区域都通过Level-1-2路由器与骨干区域相连。
ISIS和OSPF的区别:
在OSPF中,每个链路只属于一个区域;而在IS-IS中,每个链路可以属于不同的区域;
在IS-IS中,单个区域没有物理的骨干与非骨干区域的概念;而在OSPF中,Area0被定义为骨干区域;
在IS-IS中,Level-1和Level-2级别的路由器分别采用SPF算法,分别生成最短路径树SPT;
在OSPF中,只有在同一个区域内才使用SPF算法,区域之间的路由需要通过骨干区域来转发。
ISIS 路由器分类
ISIS 路由器分类
ISIS中所谓邻居关系就是邻接关系
Level-1路由器
1)Level-1路由器负责区域内的路由,它只与属于同一区域的Level-1和Level-1-2路由器形成邻居关系,属于不同区域的Level-1路由器不能形成邻居关系。Level-1路由器只负责维护Level-1的链路状态数据库LSDB,该LSDB包含本区域的路由信息。
2)到本区域外的报文转发给最近的Level-1-2路由器。
3) Level-1路由器必须通过Level-1-2路由器才能连接至其他区域。(level-1是通过默认路由的方式访问到其他区域)
Level-2路由器
1)路由器负责区域间的路由,它可以与同一或者不同区域的Level-2路由器或者其它区域的Level-1-2路由器形成邻居关系。(其实level-2和level-1-2可以在同一个区域建立level-2的邻居关系)
2)Level-2路由器维护一个Level-2的LSDB,该LSDB包含IS-IS区域的所有路由信息。(其实该lsdb表中包含了所有建立level-2级别的所有路由器各自通告的lsp信息,而且这些建立level-2级别的路由器的RIB表中确有整个ISIS区域的明细路由)
3)所有Level-2级别(即形成Level-2邻居关系)的路由器组成路由域的骨干网,负责在不同区域间通信。路由域中Level-2级别的路由器必须是物理连续的,以保证骨干网的连续性。
Level-1-2路由器(isis协议设备默认的类型)
1)同时属于Level-1和Level-2的路由器称为Level-1-2路由器,它可以与同一区域的Level-1形成Level-1邻居关系,而和同一区域的level-1-2可以同时建立level-1和level-2的邻居关系,也可以与不同区域的Level-2和Level-1-2路由器形成Level-2的邻居关系。也可以与同一区域的level-2路由器形成level-2的邻居关系
2)Level-1路由器必须通过Level-1-2路由器才能连接至其他区域。
3)Level-1-2路由器维护两个LSDB,Level-1的LSDB 用于区域内路由,Level-2的LSDB用于区域间路由。
ISIS设备之间建立邻居关系的原则:
相1为命:其代表严格检查区域ID相同
1.Area id不同(L1严格检查检查区域ID,现在区域ID不同只能建立L2邻居关系)----只能建立level-2的邻居关系
2.area id相同的话---既可以建立L1邻居关系,也可以建立L2的邻居关系(即level-1只能与属于同一个区域的level-1和level-1-2建立邻居关系level-2可以与相同或者不同区域的Level-2路由器或者相同或者不同区域的Level-1-2路由器形成邻居关系)
同一区域:level-1-2 level-1-2====level-1邻居关系和level-2邻居关系
level-1-2 level1======level-1邻居关系
level-1 level-1==========level-1邻居关系
level-2 level-2==========level-2邻居关系
level-1-2 level-2=====level-2邻居关系
不同区域:level-1-2 level-1-2====level-2邻居关系
level-2 level-2=======level-2 邻居关系
level-1-2 level-2=====level-2 邻居关系
IS-IS支持的网络类型
ISIS网络类型
1)点到点链路:如PPP、HDLC
2)广播链路:如Ethernet等
IS-IS不能在点到多点链路P2MP上运行。
DIS的理论:(DR)
(1)在广播网络中,IS-IS需要在所有的路由器中选举一个路由器作为DIS。Level-1和Level-2的DIS是分别选举的。
(2)DIS选举的原则:DIS优先级数值最大的被选为DIS。如果优先级数值最大的路由器有多台,则其中MAC地址最大的路由器会被选中。(默认的优先级为64 ,优先级范围0-127)通过命令dis isis interface g0/0/0可以查看DIS
(3)用户可以为不同级别的DIS选举设置不同的优先级。
(修改优先级的命令:isis dis-priority (0-127) level-1/level-2)
(4)优先级为0的路由器也参与DIS的选举,且DIS选举支持抢占。(可以谋朝篡位)
(5)同一网段上的同一级别的路由器之间都会形成邻接关系,包括所有的非DIS路由器之间也会形成邻接关系,但LSDB的同步仍然依靠DIS来保证。(DIS与非DIS可以建立邻接关系,非DIS之间也可以建立邻接关系)
(6)DIS用来创建和更新伪节点,并负责生成伪节点的链路状态协议数据单元LSP(LSA)用来描述这个网络上有哪些网络设备。
(7)IS-IS中DIS发送Hello时间间隔为10/3秒,而其他非DIS路由器发送Hello间隔为10秒。
reset isis all命令用来重启IS-IS进程
伪节点
伪节点是用来模拟广播网络的一个虚拟节点,并非真实的路由器。在IS-IS中,伪节点用DIS
的System ID和一个字节的Circuit ID(非0值)标识。使用伪节点可以简化网络拓扑。当网络发生变化时,需要产生的LSP数量也会较少,减少进行SPF运算时的资源消耗。
<R3>dis isis lsdb
Database information for ISIS(1)
--------------------------------
Level-2 Link State Database
LSPID Seq Num Checksum Holdtime Length ATT/P/OL
-------------------------------------------------------------------------------
0000.0000.0002.00-00 0x0000000a 0xd886 644 98 0/0/0
0000.0000.0002.02-00 0x00000003 0xd1b3 644 55 0/0/0
0000.0000.0003.00-00* 0x00000005 0x6579 583 70 0/0/0
Total LSP(s): 3
*(In TLV)-Leaking Route *(By LSPID)-Self LSP -Self LSP(Extended)
ATT-Attached P-Partition OL-Overload
*号代表本地通告,“0000.0000.0003.00-00*”是由R3本地通告的
0000.0000.0002.02-00
1、0000.0000.0002代表LSP通告者的system-id
2、.02 代表伪结点ID(只用于广播网)非DIS发送这个伪节点一定是00,如果是DIS发送的伪节点一定是非00的。而在lsdb表中存在的LSP信息,这个LSP就是表示哪些设备和DIS建立邻接关系而这个LSP里面的信息就是这些与DIS建立邻接关系的设备的system id。(这表明
0000.0000.0002这台设备是DIS,而伪节点就是0000.0000.0002.02)
3、-00代表LSP的分段,范围是从00-FF(可以分256段)
ISIS DIS与OSPF DR/BDR的不同点
1)在IS-IS广播网中,优先级为0的路由器也参与DIS的选举,而在OSPF中优先级为0的路由器则不参与DR的选举。
2)在IS-IS广播网中,当有新的路由器加入,并符合成为DIS的条件时,这个路由器会被选中成为新的DIS,原有的伪节点被删除。此更改会引起一组新的LSP泛洪。而在OSPF中,当一台新路由器加入后,即使它的DR优先级值最大,也不会立即成为该网段中的DR。
3)在IS-IS广播网中,同一网段上的同一级别的路由器之间都会形成邻接关系,包括所有的非DIS路由器之间。
NSAP
ISIS地址结构
NSAP(CLNP类似于IP协议,而NSAP就是这个IP地址)
NSAP由IDP和DSP组成。IDP和DSP的长度都是可变的,NSAP总长最多20个字节,最少8个字节。
(1)IDP:相当于IP地址中的主网络号(也就是网络地址)。它是由ISO规定,并由AFI与IDI两部分组成。AFI(需要去IEEE电气电子工程师协会申请注册的)其表示地址分配机构和地址格式,IDI用来标识域。
(2)DSP:相当于IP 地址中的子网号和主机地址。它由High Order DSP、System ID和SEL三个部分组成。High Order DSP用来分割区域,System ID用来区分主机(类型于router id),SEL用来指示服务类型。
(3)Area Address(Area ID)由IDP和DSP中的High Order DSP组成,既能够标识路由域,也能够标识路由域中的区域。因此,它们一起被称为区域地址,相当于OSPF中的区域编号。同一Level-1区域内的所有路由器必须具有相同的区域地址,Level-2区域内的路由器可以具有不同的区域地址。
(4)System ID用来在区域内唯一标识主机或路由器。在设备的实现中,长度固定为48bit,也就是6字节。一般情况下,我们采用设备的router-id转换为System ID。
(5)SEL的作用类似IP中的“协议标识符”,不同的传输协议对应不同的SEL。在IP上SEL均为00。其用于标识CLNP协议的上层协议(即TP0-TP4,其为osi参考模型中传输层的协议)
NET(集成ISIS的IP地址=NET)
NET是一类特殊的NSAP(SEL=00)的地址
1)网络实体名称NET指的是设备本身的网络层信息,可以看作是一类特殊的NSAP(SEL=00),NET的长度与NSAP 的相同,最多为20个字节,最少为8个字节。在路由器上配置IS-IS 时,只需要考虑NET即可,NSAP可不必去关注。
2)在配置IS-IS过程中,由于一个IS-IS进程中区域地址最多可配置3个,所以NET最多也只能配3个。在配置多个NET时,必须保证它们的System ID都相同。
Net 49.0001.0000.0000.0001.00[从后往前数7B(字节)这7个字节是固定的,SEL为1B,而system id是6B,所以00位SEL为1B;而0000.0000.0001正好的是6B(16bit*3);而剩下的就是area id,并且area id是可以变长的,所以49.0001为area id ;0000.0000.0001为system id;00为SEL
ISIS报文类型
HELLO PDU(IIH)用于建立和维持邻居关系
1)Level-1 LAN IIH
2)Level-2 LAN IIH
3)P2P IIH
LSP PDU用于交换链路状态信息
1)Level-1 LSP
2)Level-2 LSP
SNP PDU用于维护LSDB 的完整与同步,且为摘要信息
1)CSNP
1.1)Level 1 CSNP
1.2)Level 2 CSNP
2)PSNP
2.1)Level 1 PSNP
2.2)Level 2 PSNP
ISIS总共有3大类报文类型:IIH LSP,SNP。由于level1 和level 2是完全独立的所以他们都有各自的三大类报文,所以导致ISIS 共有9种报文
HELLO PDU
1.)广播网中的Level-1 IS-IS使用Level-1 LAN IIH。
2.)广播网中的Level-2 IS-IS使用Level-2 LAN IIH。
【在广播网络类型中,其是用组播的形式来发现邻居关系,由于ISIS不是基于IP的,而是基于数据链路层作为承载的,它没有一个组播的IP地址但是它会有个组播的MAC地址(该组播MAC地址分为level -1 LAN IIH: 01-80-c2-00-00-14;level-2 LAN IIH: 01-80-c2-00-00-15)】
3.)点到点网络中则使用P2P IIH。(点到点是没有组播,并且也没有MAC地址)
1)IIH(中间系统到中间系统的hello报文) :Intermediate System to Intermediate System Hello PDU (相当于OSPF的Hello报文)hello-interval 10s hold-time 30s用于发现、建立和维护邻居关系 (通过组播MAC地址,在广播网络上,使用LAN IIH报文来建立邻接关系。有两种类型的LAN IIH:L1 LAN IIH(组播MAC:01-80-C2-00-00-14)和L2 LAN IIH (组播MAC:01-80-C2-00-00-15) ) DIS每隔3.3秒(3秒)发送一次IIH报文,老化时间为10S(9s)。
点到点的网络中则使用P2P IIH
P2P IIH中相对于LAN IIH来说,多了一个表示本地链路ID 的Local Circuit ID字段,缺少了表示广播网中DIS的优先级的Priority字段以及表示DIS和伪节点System ID的LAN ID 字段。
ISIS-LAN IIH格式报文
P2P IIH的格式报文
LSP PDU(类似于OSPF的LSA)
1.)Level-1 LSP由Level-1 IS-IS传送。
2.)Level-2 LSP由Level-2 IS-IS传送。
3.)Level-1-2 IS-IS 则可传送以上两种LSP。
LSP报文格式
LSP 报文中包含的主要字段有ATT字段、OL字段和IS-Type字段。其中ATT用于标识该路由是L1/L2发送的,OL字段后续部分会介绍,IS-Type(type of intermediate System)用来指明生成此LSP的IS-IS类型是Level-1还是Level-2 IS-IS(01表示Level-1,11表示Level-2)。
[R2-isis-1]attached-bit advertise never (将ATT置位为0)
2)LSP:Link state Protocol Data Unit 链路状态数据单元
LSP类似于OSPF中的LSA,通告自身所有的链接信息。LSP的刷新间隔为15分钟;老化时间为20分钟,但是一条LSP的老化除了要等待20分钟外,还要等待60秒的零老化时延;LSP重传时间为5秒。ISIS的时间是倒计时的从1200开始到0秒结束,ISIS有权利删除邻居通告过来的LSP PDU(ospf中是通过LSU来维护LSA的老化时间的,每隔1800s更新一次,最大老化时间3600s。该时间是从0开始的,在ospf中其没有权利删除邻居通告过来的LSA
3)SNP(contain a summary description of one or more LSPs.):部分序列号协议数据单元
3.1.)CSNP: Complete Sequence Numbers Protocol Data Unit,全部序列号协议数据单元(类似于OSPF的DBD报文),CSNP类似于OSPF中的DBD报文,用于通告LSP的摘要信息。
3.2.)PSNP(Partial sequence Number Protocol Data Unit局部序列号协议数据单元类似于OSPF中的LSACK(仅用于点到点网络)和LSR
SNP PDU
SNP PDU为LSDB的摘要信息,主要用于维护LSDB的完整与同步
1)CSNP包括LSDB中所有LSP的摘要信息,从而可以在相邻路由器间保持LSDB的同步。在广播网络上,CSNP由DIS定期发送(缺省的发送周期为10 秒);在点到点链路上,CSNP 只在第一次建立邻接关系时发送
2)PSNP包含部分LSDB中的LSP摘要信息,能够对LSP进行请求和确认(仅用于点到点的网络中,而不确认广播网络类型是不用得到确认,这是和DIS有关系的,因为DIS每隔10s更新一个csnp。)
IS-IS形成邻居关系的条件(邻居关系=邻接关系)
IS-IS按如下原则建立邻居关系:
1)只有同一层次的相邻路由器才有可能成为邻居。
2)对于Level-1路由器来说,区域号必须一致。
3)链路两端IS-IS接口的网络类型必须一致。(要么都是BMA,要么都是P2P),不同层次类型的路由器不能形成邻居关系,即Level-2路由器不能和Level-1路由器形成邻居关系,但是Level-1-2路由器既能和同一区域的Level-1路由器形成Level-1邻居关系又能和相同或者不同区域Level-2路由器形成Level-2邻居关系。Level-1路由器只能与同一区域的Level-1路由器或者Level-1-2路由器形成Level-1邻居关系。
链路两端IS-IS接口的地址必须处于同一网段
(1)S-IS 邻居关系的形成与IP 地址无关的,所以容易导致相互形成邻居关系的路由器间处于不同的IP网段。为了解决这一问题,华为设备进行同一网段检查,保证邻居关系的正确建立。
(2)如果网络需要不检查子网掩码,在P2P网络中,可以配置接口忽略IP 地址掩码检查;在广播网络中,需要将以太网接口模拟成P2P接口,然后才可以配置接口忽略IP地址掩码检查。忽略IP地址掩码检查的命令是:isis peer-ip-ignore
广播邻接关系的建立
广播邻接关系的建立
ISIS的网络类型分为BMA和P2P,那么这两种网络类型里面邻接关系的方式也有不同。那么接下来具体分析这两种不同网络类型建立邻接关系的过程
1、广播邻接关系的建立
两台运行IS-IS的路由器在交互协议报文实现路由功能之前必须首先建立邻居关系。在不同类型的网络上,IS-IS 的邻居建立方式并不相同。在广播网络上,使用LAN IIH报文来建立邻接关系。有两种类型的LAN IIH:
(1)L1 LAN IIH(组播MAC:01-80-C2-00-00-14)
(2)L2 LAN IIH (组播MAC:01-80-C2-00-00-15) 。
Level-1路由器通过交互L1 LAN IIH报文来建立邻接关系;
Level-2路由器通过交互L2 LAN IIH报文来建立邻接关系;
Level-1-2路由器会同时交互L1 LAN IIH报文和L2 LAN IIH报文来建立邻接关系。
以两台L2路由器在广播链路上建立邻居关系为例
1)R1组播发送Level-2 LAN IIH(组播MAC:01-80-C2-00-00-15),此报文中无邻居标识。
2)R2收到此报文后,将自己和R1的邻居状态标识为Initial。然后,R2再组播向R1回复Level-2 LAN IIH,此报文中标识R1为R2的邻居。
3)R1收到此报文后,将自己与R2的邻居状态标识为Up。然后R1再组播向R2发送一个标识R2为R1邻居的Level-2 LAN IIH。
4)R2收到此报文后,将自己与R1的邻居状态标识为Up。这样,两个路由器成功建立了邻居关系。因为是广播网络,需要选举DIS,所以在邻居关系建立后,路由器会等待两个Hello报文间隔(20s)再进行DIS的选举。Hello报文中包含Priority 字段,Priority值最大的将被选举为该广播网的DIS。若优先级相同,接口MAC地址较大的被选举为DIS。IS-IS中DIS发送Hello时间间隔为10/3秒,而其他非DIS路由器发送Hello间隔为10秒。
IS-IS和OSPF关于邻接关系的区别
1)IS-IS两个邻居路由器只要相互交换HELLO数据包就认为相互形成了邻接关系;而OSPF中,两台路由器进入2-Way状态则认为形成了邻居关系,但是只要进入Full状态才被认为进入完全邻接关系。
2)IS-IS中,优先级为0的路由器亦然可以参与DIS选举;而OSPF路由器优先级为0表示不参与选举。
3)IS-IS中,DIS是基于抢占的;OSPF中DR/BDR已经选举不得抢占。
P2P邻接关系的建立
P2P邻接关系的建立
2、P2P邻接关系的建立
在P2P链路上,邻居关系的建立不同于广播链路。分为两次握手机制和三次握手机制。
两次握手
只要路由器收到对端发来的Hello报文,就单方面宣布邻居为Up状态,建立邻居关系。容易存在单通风险。
三次握手
此方式通过三次发送P2P的IS-IS Hello PDU最终建立起邻居关系,类似广播邻居关系的建立。默认情况下:采用三次握手协商模型,三次握手模型为后向兼容,如果对方只支持二次握手则建立二次握手模型的邻接关系
广播网络LSP交互过程
广播网络LSP交互过程
在不同网络类型中设备之间是如何交换LSP的
1、广播网络LSP交互过程:新加入的路由器与DIS LSDB同步交互过程
(1)假设新加入的路由器R3已经与R2(DIS)和R1建立了邻居关系。
(2)建立邻居关系之后,R3将自己的LSP发往组播地址(Level-1:01-80-C2-00-00-14;Level-2:01-80-C2-00-00-15)。这样网络上所有的邻居都将收到该LSP。 (该LSP里面包含了R3的路由信息)
(3)该网段中的DIS会把收到R3的LSP加入到LSDB中,并等待CSNP报文定时器超时(DIS每隔10秒发送CSNP报文)并发送CSNP 报文,进行该网络内的LSDB同步。
(4)R3收到DIS发来的CSNP报文,对比自己的LSDB数据库,然后向DIS发送PSNP报文请
求自己没有的LSP。
(5)DIS收到该PSNP报文请求后向R3发送对应的LSP进行LSDB的同步。
如何判断LSP的新旧:
(1)DIS接收到LSP,在数据库中搜索对应的记录。若没有该LSP,则将其加入数据库,并广播新数据库内容。
(2)若DIS收到的LSP序列号大于本地LSP的序列号,就替换为新报文,并广播新数据库内容;若收到的LSP序列号小本地LSP的序列号,就向入端接口发送本地LSP报文。(序列号越大越优)
(3)若两个序列号相等,则比较Remaining Lifetime(剩余生存时间)。若收到的LSP的Remaining Lifetime 小于本地LSP 的Remaining Lifetime,就替换为新报文,并广播新数据库内容;若收到的LSP 的Remaining Lifetime 大于本地LSP 的RemainingLifetime,就向入端接口发送本地LSP 报文。(Remaining lifetime越小越优)
(4)若两个序列号和Remaining Lifetime都相等,则比较Checksum。若收到的LSP的Checksum 大于本地LSP的Checksum,就替换为新报文,并广播新数据库内容;若收到的LSP的Checksum小于本地LSP的Checksum,就向入端接口发送本地LSP报文。(checksum值越大越优)
(5)若DIS收到的LSP和自己LSDB中的LSP比较发现两个序列号、Remaining Lifetime 和Checksum都相等,则不转发收到的LSP报文。
2、P2P网络lsp交互过程
P2P网络lsp交互过程
P2P网络LSDB同步过程
(1)建立邻居关系之后,R1与R2会先发送CSNP给对端设备。如果对端的LSDB与CSNP没有同步,则发送PSNP请求索取相应的LSP。
(2)假定R2向R1索取相应的LSP。R1发送R2请求的LSP的同时启动LSP重传定时器,并等待R2发送的PSNP作为收到LSP的确认。
(3)如果在接口LSP重传定时器超时后,R1还没有收到R2发送的PSNP报文作为应答,则重新发送该LSP直至收到PSNP报文。点到点链路上LSP报文的重传间隔时间为5秒。
在P2P网络中如何判断LSP的新旧:
(1)若收到的LSP比本地的序列号更小,则直接给对方发送本地的LSP,然后等待对方给自己一个PSNP报文作为确认;若收到的LSP比本地的序列号更大,则将这个新的LSP 存入自己的LSDB,再通过一个PSNP 报文来确认收到此LSP,最后再将这个新LSP 发送给除了发送该LSP的邻居以外的邻居。(序列号越大越优)
(2)若收到的LSP序列号和本地相同,则比较Remaining Lifetime,若收到LSP的RemainingLifetime 小于本地LSP的Remaining Lifetime,则将收到的LSP存入LSDB中并发送PSNP报文来确认收到此LSP,然后将该LSP发送给除了发送该LSP的邻居以外的邻居;若收到LSP的Remaining Lifetime大于本地LSP 的Remaining Lifetime,则直接给对方发送本地的LSP,
然后等待对方给自己一个PSNP报文作为确认。(Remaining lifetime越小越优)
(3)若收到的LSP和本地LSP的序列号相同且Remaining Lifetime都相同,则比较Checksum,若收到LSP的Checksum大于本地LSP的Checksum,则将收到的LSP存入LSDB中并发送PSNP报文来确认收到此LSP,然后将该LSP发送给除了发送该LSP的邻居以外的邻居;若收到LSP的Checksum小于本地LSP的Checksum,则直接给对方发送本地的LSP,然后等待对方给自己一个PSNP报文作为确认。(checksum值越大越优)
(4)若收到的LSP和本地LSP的序列号、Remaining Lifetime和Checksum都相同,则不转发该收到的LSP报文。
在P2P网络中,PSNP的作用:
1.作为Ack应答以确认收到的LSP。(lsack)
2.用来请求所需的LSP。(lsr)
ISIS路由渗透
ISIS路由渗透
根据拓扑图显示:
次优路径为R1-R3-R5-R6
最优路径为R1-R2-R4-R5-R6
因为R1作为level-1根本无法知道本区域外的路由所以它只会找到离自己最近的level-1-2的
路由器产生的缺省路由出去访问。
无论是L1还是L2的邻居关系,其isis在以太网链路的cost值为10
ISIS路由过载
ISIS路由过载
原理描述
设置了过载标志位的LSP虽然还会在网络中扩散,但是在计算通过过载路由器的路由时不会被采用。即对路由器设置过载位后,其它路由器在进行SPF计算时不会使用这台路由器做
转发,只计算该节点上的直连路由。
拓扑说明
R1到R3的报文由R2转发,但如果R2的OL位置1,则R1认为R2的LSDB不完整,将转发流量通过R4、R5转发给3,但到R2直连地址的流量不受影响。
进入过载状态的方法
1)设备异常可导致自动进入过载状态。(当系统因为各种原因无法保存新的LSP,以致无法维持正常的LSDB同步时,该系统计算出的路由信息将出现错误。在这种情况下,系统就可以自动进入过载状态)
2)手工使设备进入过载状态。
设置OL过载在实际场景的好处:当网络中的某些IS-IS设备需要升级或维护时,需要暂时将该设备从网络中隔离。此时可以给该设备设置过载标志位,这样就可以避免其他设备通过该节点来转发流量。
IS-IS认证
IS-IS认证是基于网络安全性的要求而实现的一种认证手段,通过在IS-IS报文中增加认证字段对报文进行认证。当本地路由器接收到远端路由器发送过来的IS-IS报文,如果发现认证密码不匹配,则将收到的报文进行丢弃,达到自我保护的目的。
认证的分类
根据报文的种类,认证可以分为以下三类:
(1)接口认证:是指使能IS-IS协议的接口以指定方式和密码对Level-1和Level-2的Hello报文进行认证。
说明:
对于接口认证,有以下两种设置:
1、发送带认证TLV(Type length value)的认证报文,本地对收到的报文也进行认证检查。
2、发送带认证TLV的认证报文,但是本地对收到的报文不进行认证检查。
(2)区域认证:是指运行IS-IS的区域以指定方式和密码对Level-1的SNP和LSP报文进行认证。
(3)路由域认证:是指运行IS-IS的路由域以指定方式和密码对Level-2的SNP和LSP报文进行认证。[R2-ISIS-1]domain-authentication-mode simple plain huawei
说明:
对于区域和路由域认证,可以设置为SNP和LSP认证。
1、本地发送的LSP报文和SNP报文都携带认证TLV,对收到的LSP报文和SNP报文都进行认证检查。
2、对发送的LSP封装认证信息并检查收到的LSP,对发送的SNP不封装认证信息,也不检查收到的SNP。该情况下需要配置参数snp-packet authentication-avoid。(只对收到的LSP认证)
3、对发送的LSP和SNP都封装认证信息,只检查收到的LSP,不检查收到的SNP。该情况下需要配置参数snp-packet send-only。(只对收到的LSP认证)
4、对发送的LSP和SNP都封装认证信息,不检查收到的LSP和SNP。该情况下需要配
置参数all-send-only。
根据报文的认证方式,可以分为以下三类:
(1)明文认证:一种简单的认证方式,将配置的密码直接加入报文中,这种认证方式安全性不够。
(2)MD5认证:通过将配置的密码进行MD5算法之后再加入报文中,这样提高了密码的安全性。
(3)Keychain认证:通过配置随时间变化的密码链表来进一步提升网络的安全性。
ISIS LSP分片扩展
工作原理
在IS-IS中,每个系统ID都标识一个系统,每个系统都最多可生成256个LSP分片。通过增加附加系统ID,可以最多配置50个虚拟系统(而每个虚拟系统可以生成256个扩展LSP分片),从而使得IS-IS进程最多可生成13056个LSP分片。(256 50*256=13056)使能分片扩展功能之后,如果存在由于报文装满而丢失的信息,系统会提醒重启IS-IS。重启之后初始系统会尽最大能力装载路由信息,装不下的信息将放入虚拟系统的LSP中发送出去,并通过24号TLV来告知其他路由器此虚拟系统和自己的关系。(其实就是我的系统PDU报文太大了,所以不得不将装不下的信息放在虚拟系统中,而为了让其他路由器知道这些放在虚拟系统中的信息和我的关系,所以通过24号TLV来表示)
isis管理标签
管理标记特性允许在IS-IS域中通过管理标记对IP地址前缀进行控制,可以达到简化管理。其用途包括控制不同级别和不同区域间的路由引入,以及在同一路由器上运行的IS-IS多实例即我们说的Tag)。
拓扑描述
假设R1只想收到R2/R3/R4的Level-1路由信息。首先,可以给R2、R3、R4使能了IS-IS的接口配置相同的管理标记值tag。然后在Area47.0003 的Level-1-2 路由器做从Level-2到Level-1区域的路由渗透时,应用匹配指定的tag。即可满足需求。
注意事项
使能管理标记时,必须使能IS-IS wide metric属性
ISIS的度量值有两种:窄度量和宽度量
在早期的ISO10589中,使能IS-IS的接口下最大只能配置为63的开销值,范围是1-63,此时认为IS-IS开销类型为narrow。但是在大型网络设计中,较小的度量范围不能满足实际需求。所以在RFC3784中规定,使能IS-IS协议的接口开销值可以扩展到16777215,IS-IS路由开销值可以达到4261412864,此时IS-IS的开销类型为wide。IS-IS设备接收和发送路由的开销类型为narrow。
isis metric
当配置开销类型为compatible(兼容)的时候,会按照narrow类型和wide类型分别发送一份信息。wide类型下的IS-IS和narrow类型下的IS-IS不可实现互通。如果需要互通,就必须设置成一致的开销类型,让网络上所有路由器都可以接收其他路由器发的所有报文。