一、IS-IS协议基本原理
1、 ISIS协议的应用场景
(1)园区网特点
应用型网络,主要面向企业网用户。 路由器数量偏少,动态路由的LSDB库容量相对偏少,三层路由域相对偏少。 有出口路由的概念,对内部外部路由划分敏感。 地域性跨度不大,带宽充足,链路状态协议开销对带宽占用比偏少。 路由策略和策略路由应用频繁多变,需要精细化的路由操作。 OSPF的多路由类型(内部/外部),多区域类型(骨干/普通/特殊),开销规则优良 (根据带宽设定),网络类型多样(最多五种类型)的特点在园区网得到了极大的发 挥。
(2)骨干网特点
服务型网络,由ISP(互联网服务提供商)组建,并为终端用户提供互联服务。 路由调度占据绝对统治地位,路由器数量庞大。 架构层面扁平化,要求IGP作为基础路由为上层BGP协议服务。 LSDB规模宏大,对链路收敛极度敏感,线路费用高昂。 追求简单高效,扩展性高,满足各种客户业务需求(IPV6/IPX)。 IS-IS的快速算法(PRC得到加强),简便报文结构(TLV),快速邻居关系建立,大 容量路由传递(基于二层开销低)等一系列特点在骨干网有着天然的优势。
2、IS-IS的协议历史起源
最初是国际标准化组织ISO(the International Organization for Standardization) 为它的无连接网络协议CLNP(ConnectionLess Network Protocol)设计的一种动态路 由协议。 为了提供对IP的路由支持,IETF在RFC1195中对IS-IS进行了扩充和修改,使它能够同时应 用在TCP/IP和OSI环境中,称为集成化IS-IS(Integrated IS-IS),后面如果没有特别说明, 提到的IS-IS都是指集成IS-IS。 IS-IS属于内部网关协议,用于自治系统内部。IS-IS是一种链路状态协议,使用最短路径优 先算法进行路由计算。
3、ISIS路由计算:
(1)邻居关系建立
邻居关系建立主要是通过HELLO包交互并协商各种参数,包括电路类型(level- 1/level-2),Hold time,网络类型,支持协议,区域号,系统ID,PDU长度,接口 IP等。
(2)链路信息交换
与OSPF不同,ISIS交互链路状态的基本载体不是LSA(link state advertisement), 而是LSP(link state PDU);交互的过程没有OSPF协议那样经历了多个阶段,主要 是通过CSNP和PSNP两种协议报文来同步,请求以及确认链路状态信息(承载的是 链路状态信息摘要),而链路状态信息的详细拓扑和路由信息是由LSP报文传递。
(3)路由计算
SPF计算和OSPF基本一样的,但ISIS算法分离了拓扑结构和IP网段,加快了网络收敛 速度。
4、地址结构
(1)NSAP地址
IDP相当于IP地址中的主网络号。它是由ISO规定,并由AFI与IDI两部分组成。AFI表示地址 分配机构和地址格式,IDI用来标识域。 DSP相当于IP地址中的子网号和主机地址。它由High Order DSP、System ID和SEL三个 部分组成。High Order DSP用来分割区域,System ID用来区分主机,SEL用来指示服务 类型。
(2)Area Address(Area ID)
由IDP和DSP中的High Order DSP组成,既能够标识路由域, 也能够标识路由域中的区域。因此,它们一起被称为区域地址,相当于OSPF中的区域编号。 System ID用来在区域内唯一标识主机或路由器。在设备的实现中,它的长度固定为48bit (6字节)。 SEL的作用类似IP中的“协议标识符”,不同的传输协议对应不同的SEL。在IP上SEL均为 00。
(3)NET
网络实体名称NET指的是设备本身的网络层信息,可以看作是一类特殊的NSAP(SEL= 00),NET的长度与NSAP的相同,最多为20个字节,最少为8个字节。在路由器上配置 IS-IS时,只需要考虑NET即可,NSAP可不必去关注。 在配置IS-IS过程中,NET最多也只能配3个。在配置多个NET时,必须保证它们的System ID都相同。
5、ISIS协议中三种类型路由器
(1)Level-1路由器
Level-1只能与属于同一区域的Level-1和Level-1-2路由器形成邻居关系,只负责维 护Level-1的链路状态数据库,该LSDB包含本区域内的路由信息,到本区域外的报文 转发给最近的Level-1-2路由器。Level-1路由器只可能建立Level-1的邻接关系。
(2)Level-2路由器
Level-2路由器负责区域间的路由,它可以与相同或者不同区域的Level-2路由器或者 不同区域的Level-1-2路由器形成邻居关系。Level-2路由器维护一个Level-2的LSDB, 该LSDB包含区域间的路由信息。Level-2路由器只可能建立Level-2的邻接关系。
(3) Level-1-2路由器
同时属于Level-1和Level-2的路由器称为Level-1-2路由器。Level-1-2路由器维护两 个LSDB,Level-1的LSDB用于区域内路由,Level-2的LSDB用于区域间路由。 Level-1-2路由器可以与同一区域的Level-1形成Level-1邻居关系,也可以与其他区 域的Level-2和Level-1-2路由器形成Level-2的邻居关系。 不同区域间,只能建立Level-2的邻接关系: Level-2路由器可以与Level-2路由器建立邻接关系。 Level-1-2路由器可以与Level-2路由器建立邻接关系。
6、 邻居hello报文
(1)HELLO PDU(Hello protocol data unit)
HELLO报文的作用是邻居发现,协商参数并建立邻居关系,后期充当保活报文。 IS-IS建立邻居关系和OSPF一样,通过hello报文的交互来完成。但是会根据场景分为 三种类型的hello报文。 广播网中的Level-1 IS-IS使用Level-1 LAN IIH(Level-1 LAN IS-IS Hello),目的 组播MAC为:0180-c200-0014。 广播网中的Level-2 IS-IS使用Level-2 LAN IIH(Level-2 LAN IS-IS Hello),目的 组播MAC为:0180-c200-0015。 非广播网络中则使用P2P IIH(point to point IS-IS Hello)。但是其没有表示DIS (虚节点)的相关字段。 IIH报文需要通过填充字段用于邻居两端协商发送报文的大小。
(2)IS-IS支持的网络类型
点对点网络类型(P2P)。 广播多路访问网络类型(Broadcast Multiple Access)。
(3)在P2P链路上,分为两次握手机制和三次握手机制
两次握手只要路由器收到对端发来的Hello报文,就单方面宣布邻居为up状态,建立 邻居关系,不过容易存在单通风险。 通过三次发送P2P的IS-IS Hello PDU最终建立起邻居关系,与广播链路邻居关系的 建立情况相同。
(3)在广播链路上,使用LAN IIH报文执行三次握手建立邻居关系。
当收到邻居发送的Hello PDU报文里面没有自己的system ID的时候,状态机进入 initialized。 只有收到邻居发过来的Hello PDU有自己的system ID才会up,排除了链路单通的风 险。
7、DIS以及DIS和DR的类比
1、DIS与伪节点
DIS是指指定中间系统(Designated IS)。 伪节点是指在广播网络中由DIS创建的虚拟路由器。
2、DIS的特点
在广播网络,需要选举DIS,所以在邻居关系建立后,路由器会等待两个Hello报文间 隔再进行DIS的选举。Hello报文中包含Priority 字段,Priority值最大的将被选举为 该广播网的DIS。若优先级相同,接口MAC地址较大的被选举为DIS。IS-IS中DIS发 送Hello时间间隔默认为10/3秒,而其他非DIS路由器发送Hello间隔为10秒。
3、DIS与DR的类比
选举时优选级的比较,DIS的优先级为0也可以参与选举。OSPF中优先级为0不参与 选举DR。 选举的过程需要一定的时间,OSPF选举DR/BDR需要waiting time达40秒,过程也 选举结果ISIS只有一个DIS,但是OSPF除了有DR,还有一个BDR用做备份。 选举结束后,后期有新的Router加入到链路进来,如果优先级比DIS高是可抢占的, 但是DR是不可抢占的。 选举完成后,ISIS网络链路内所有的路由器之间都建立的是邻接关系。OSPF中 DRothers只与DR/BDR形成full邻接关系, DRothers之间只有2-way的关系。
4、关于DIS和DR的作用
进行SPF计算时,都把它当成虚节点,简化MA网络的逻辑拓扑(相同点)。 都是为了减少LSP/LSA的泛洪(相同点)。
8、 链路状态信息的载体
(1)ISIS TLV
*TLV的含义是:*类型(TYPE),长度(LENGTH),值(VALUE)。实际上是一个 数据结构,这个结构包含了这三个字段。 使用TLV结构构建报文的好处是灵活性和扩展性好。采用TLV使得报文的整体结构固 定,增加新特点只需要增加新TLV即可。不需要改变整个报文的整体结构。 网络拓扑结构和路由信息用TLV结构表现使得报文的灵活性和扩展性得到了极大的发 挥。
(2)LSP PDU(Link State Protocol PDU)
LSP类似于OSPF的LSA,承载的是链路状态信息,包含了拓扑结构和网络号。 Level-1 LSP由Level-1 路由器传送。 Level-2 LSP由Level-2 路由器传送。 Level-1-2 路由器则可传送以上两种LSP。 LSP 报文中包含了两个重要字段是ATT字段、IS-Type字段。其中ATT字段用于标识 该路由是L1/L2路由器发送的,IS-Type用来指明生成此LSP的IS-IS类型是Level-1还 是Level-2 IS-IS。 LSP的刷新间隔为15分钟;老化时间为20分钟。但是一条LSP的老化除了要等待20分 钟外,还要等待60秒的零老化时延;LSP重传时间为5秒。
(3)SNP PDU(Sequence Number PDU):**
CSNP(Complete Sequence Number PDU)包括LSDB中所有LSP的摘要信息,从 而可以在相邻路由器间保持LSDB的同步 PSNP(Partial Sequence Number PDU)包含部分LSDB中的LSP摘要信息,能够对LSP 进行请求和确认。 CSNP 类似于OSPF的DD报文传递的是LSDB里所有链路信息摘要。PSNP类似于OSPF的 LSR或LSAck报文用于请求和确认部分链路信息。
9、链路状态信息的通告
(1)P2P网络LSDB同步过程
建立邻居关系之后,RTA与RTB会先发送CSNP给对端设备。如果对端的LSDB与 CSNP没有同步,则发送PSNP请求索取相应的LSP。 假定RTB向RTA索取相应的LSP,此时向RTA发送PSNP。RTA发送RTB请求的LSP的 同时启动LSP重传定时器,并等待RTB发送PSNP作为收到LSP的确认。 如果在接口LSP重传定时器超时后,RTA还没有收到RTB发送的PSNP报文作为应答, 则重新发送该LSP直至收到RTB的PSNP报文作为确认。
(2)MA网络中新加入的路由器与DIS 的LSDB同步交互过
假设新加入的路由器RTC已经与RTB(DIS)和RTA建立了邻居关系。 建立邻居关系之后,RTC将自己的LSP发往组播地址(Level-1:01-80-C2-00-00- 14;Level-2:01-80-C2-00-00-15)。这样网络上所有的邻居都将收到该LSP。 该网段中的DIS会把收到RTC的LSP加入到LSDB中,并等待CSNP报文定时器超时 (DIS每隔10秒发送CSNP报文)并发送CSNP 报文,进行该网络内的LSDB同步。 RTC收到DIS发来的CSNP报文,对比自己的LSDB数据库,然后向DIS发送PSNP报文 请求自己没有的LSP(如RTA和RTB的LSP就没有)。
10、IS-IS的计算特点:
在本区域内路由器第一次启动的时候执行的是Full-SPF算法。 后续收到的LSP更新,如果是部分拓扑的变化执行的iSPF计算。 如果只是路由信息的变化,执行的就是PRC计算。 由于采用拓扑与网络分离的算法,路由收敛速度得到了加强。 ISIS路由计算的开销方式: Narrow模式(设备默认模式开销都是10,手工配置接口开销取值范围为1~63)。 Wide模式(设备默认模式开销都是10,手工配置接口开销取值范围是1~ 16777215)。 进程下加入auto-cost enable命令,Narrow模式和Wide模式都会参考接口带宽大小 计算开销值,只是参考准则有少许差异。
11、IS-IS整体拓扑:
为了支持大规模的路由网络,IS-IS在自治系统内采用骨干区域与非骨干区域两级的分 层结构。一般来说,将Level-1路由器部署在非骨干区域,Level-2路由器和Level-1- 2路由器部署在骨干区域。每一个非骨干区域都通过Level-1-2路由器与骨干区域相连。 拓扑中为一个运行IS-IS协议的网络,它与OSPF的多区域网络拓扑结构非常相似。整 个骨干区域不仅包括Level-2的所有路由器,还包括Level-1-2路由器。 Level-1-2级别的路由器可以属于不同的区域,在Level-1区域,维护Level-1的LSDB, 在Level-2区域,维护Level-2的LSDB。 拓扑所体现的IS-IS与OSPF不同点: 在OSPF中,每个链路只属于一个区域;而在IS-IS中,每个链路可以属于不同的区域; 在IS-IS中,单个区域没有物理的骨干与非骨干区域的概念;而在OSPF中,Area0被 定义为骨干区域; 在IS-IS中,Level-1和Level-2级别的路由器分别采用SPF算法,分别生成最短路径树 SPT;在OSPF中,只有在同一个区域内才使用SPF算法,区域之间的路由需要通过骨 干区域来转发。
12、区域间路由:
(1)Level-1路由器的路由特点
只拥有Level-1的链路状态数据库。 其链路状态数据库中只有本区域路由器LSP。 其路由表里没有其他区域的路由信息。 其路由表里都有一条默认路由,下一条是指向到Level-1-2路由器。
(2)Level-2路由器的路由特点
Level-2路由器只有Level-2的链路状态数据库。 其LSDB中有骨干区域路由器的LSP,但是没有Level-1路由器产生的LSP。 路由表里面有整个网络的路由信息。
(3)Level-1-2路由器的路由特点
Level-1-2路由器同时拥有Level-2和Level-1的链路状态数据库。 Level-1数据库包含本区域的LSP,Level-2数据库包含骨干区域LSP。 在自己产生的Level-1的LSP中设置了ATT比特位为1。
(4)区域49.0001访问区域49.0002
L1/2路由器RTA产生ATT置位为1的LSP L1路由器收到ATT为1的LSP会产生下一跳指向L1/2路由器的默认路由
(5)区域49.0002访问区 域49.0001
L1/2路由器RTA会把区域49.0001的明细路由以叶子节点方式挂载在L 2级别的LSP.上面并处在Level-2的L SDB中 L2路由器通过自己SPF计算得出访问Area49.0001的明细路由
二、IS-IS与OSPF的区别
1、 ISIS和OSPF的差距
2、网络类型和开销方式:
IS-IS协议只支持两种网络类型,且所有带宽默认开销值都是一样的,OSPF协议支持 四种网络类型,且会根据不同的带宽设定相应的开销值,对帧中继,按需链路等网络 类型有很好的支持。
(1)区域类型
IS-IS协议分L1/L2区域,L2区域是骨干区域有全部明细路由。L1去往L2只有默认路由。 OSPF协议分骨干区域,普通区域,特殊区域。普通区域和特殊区域跨区域访问需要 经过骨干区域。
(2)报文类型
IS-IS协议路由承载报文类型只有LSP报文且里面路由信息是不区分内部与外部的,简 单高效,无需递归计算。OSPF协议路由承载报文LSA类型多样,有1/2/3/4/5/7类等。 路由级别等级森严,且需要递归计算,适合精细化调度计算。
(3) 路由算法
ISIS协议区域内某个节点上的网段发生变化时,触发的是PRC算法,收敛比较快,计 算路由的报文开销也比较小。OSPF协议由于网络地址参与了拓扑的构建,在区域内 当网段地址改变触发的是i-spf算法,相对来说过程繁琐复杂些。
(4)扩展性
ISIS协议任何路由信息都使用TLV传递,结构简单,易于扩展,如对IPv6的支持只增 加2个TLV就解决了。且ISIS本身对IPX等协议是支持的。OSPF协议本身是为IP特定开 发的,支持IPv4和IPv6的OSPF协议是两个独立的版本(OSPFv2和OSPFv3)。
3、具体差异总结
它们有很多共同之处,都是链路状态路由协议,都使用SPF算法,VSLM 快速会聚。从使用的目的来说没有什么区别。从协议实现来说OSPF其于TCP/ ip协议簇,运行在IP层上,协议号89;ISIS基于ISO CLNS,设计初是为了实现ISO CLNP路由,在后来加上了对IP路由的支持。
(1)从具体细节来说:
1:区域设计不同,OSPF采用一个骨干AREA0与非骨干区域,非骨干区域必须与AREAO连接。ISIS由 L1 L2 L12路由器组成的层次结构,它使用的LSP要少很多,在同一个区域的扩展性要比OSPF好。 2 OSPF有很多种LSA,比较复杂并占用资源,而ISIS的LSP要少很多,所以在CPU占用和处理路由更新方面,ISIS要好一些。 3 isis 的定时器允许比OSPF更细的调节,可以提高收敛速度。华为、Cisco网络技术论坛 4 OSPF数据格式不容易增加新的东西,要加,就需要新的LSA,而ISIS可以很容易的通过增加TLV进行扩展,包括对IPV6等的支持。 5 从选择来说,ISIS更适合运营商级的网络,而OSPF非常适合企业级网络。
(2)从稳定和可靠性来看
骨干网要求路由协议的高稳定性和可靠性,以及快速收敛。OSPF协议是基于IP层的,所以其只能支持IP网络,且网络上一些基于IP的攻击会影响到OSPF的正常运行。ISIS是直接运行在链路层上的,其可以承载多种网络类型,且在预防网络攻击方面也有一些天然的优势。
(3)从支持的网络规模来看
OSPF、ISIS都有网络分层的概念,也都有区域的概念,OSPF有骨干区域0和分支区域,ISIS有相应的Level2、Level1的概念。OSPF有普通区域、Stub区域、Total Stub区域、NSSA区域等区域类型,而IS-IS 从功能上看它就是一个OSPF 的简化版本,只实现了骨干区(LEVEL2) 和STUB 区(LEVEL1),由于其LEVEL1访问其他区域网络是采用到最近的L1/L2 路由器方式,容易产生路由次优化问题, 这样某些组网时就需要借助其他的方法来实现某些功能,如:在构建MPLS VPN的过程中就需要采用路由渗透,造成实现和维护复杂。由于ISIS计算路由的时候采用PRC计算,ip前缀作为最短生成树的叶子节点,而OSPF是围绕链路建立的,在相同大小的区域,ISIS比OSPF更加稳定且消耗资源少,相比OSPF支持的网络规模更大。
(4)从灵活性来看
OSPF协议比较灵活,协议是基于接口的,支持的网络类型全面,且技术成熟,在城域网中,使用IGP用来传播用户路由,组网设备杂,关注的是协议的灵活性兼容性,以及能否满足大量用户复杂路由控制的需求,这些是OSPF 的强项,建议使用OSPF。对于新维护方面OSPF协议在城域网中得到了广泛的应用,尤其是早期的网络维护人员对OSPF协议相当熟悉;
(5)从扩展性来看
ISIS结构严谨,运行稳定,IS-IS路由器只能属于一个区域,并且不提供对NBMA、P2MP接口的直接支持。ISIS可扩展性更好:ISIS能支持多种网络层协议( OSPF仅支持IP协议);ISIS区域能平滑地平移、分割、合并,流量不中断;ISIS是基于TLV的,协议本身扩展容易。最近几年,在各大运营商的骨干网络中大量使用了ISIS协议,在选取协议时,需要考虑原有网络中运行的是何种协议,如目前某些运营商在骨干层次采用ISIS,而在城域网内部采用OSPF协议,为了保护网络的延续性,在选取协议类型时需要予以考虑。新建的网络,如果所有设备都支持ISIS,可以考虑ISIS。
三、IS-IS应用场景配置
1、华为IS-IS常用命令
代码语言:javascript复制isis 1
network-entity 49. 0123. 1111. 1111.1111. 00 配置设备的NET地址
is- name AR1 配置设备的名称(可以不配)
interface Gigabi tEthernet0/0/0
ip address 172. 16. 10. 1 255. 255. 255. 0
isis enable 1 将接口宣告进ISIS进程
dis isis peer 查看ISIS的邻居
dis isis lsdb 查看ISIS的数据库
[AR3]dis isis int 查看本路由器上哪些接口宣告进ISIS进程
display isis route 查看isis路由表
display ip routing- table protocol isis
相同区域的链路状态数据库 同时建立leval1 和lavel2 两种级别的
不同区域内只建立level2的数据库
(1)查看命令:
(2)配置命令
(3)路由重分发
(4)路由汇总
2:实验验证
2.1:环境准备
eNSP软件 6台路由器,IP地址自定义
2.2:实验拓扑图
2.3各路由器进行基础配置
R5配置:
R4配置:
R3配置:
R2配置:
R1配置:
R6配置:
2.4路由重分发配置:
此时使用R2查看路由信息,发现isis中的路由可以学习到rip中路由表条目了 但是此时会发现,R1和R6学习不到isis中的路由网段,且R5也学习不到本区域外的网段,那么如何解决?原因:因为R1是L1,所以他只能学习区域内的路由,其他区域的isis路由信息学习不到 解决:路由泄露
此时再次查看R1和R5,会发现已经学习到路由条目了 同理,在R4上,将路由信息泄露给R5
2.5路由汇总配置:
我们发现R5和R6的两个loopback地址是同网段的,使用其他路由器查看路由表的时候,可以发现这些loopback地址是分开的
我们可以汇总
此时我们使用路由查看IP地址
实验结束