HCNP Routing&Switching之动态路由协议IS-IS基础

  前文我们了解了OSPF的特殊区域相关话题,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/15236330.html;今天我们来聊一聊另一动态路由协议IS-IS相关话题;

  IS-IS简介

  IS-IS(Intermediate System-to-Intermediate System,中间系统到中间系统)动态路由协议和ospf路由协议一样,两者都是基于链路状态,使用SPF算法计算路由的内部网关协议(IGP);IS-IS最初是国际化标准组织ISO为它的无连接网络协议CLNP(Connection Less Network Protocol)设计的一种动态路由协议;由于IP协议的广泛使用,为了提供对IP协议的路由支持,IETF在RFC1195中对IS-IS进行了扩充和修改,使得IS-IS协议同时能够应用在TCP/IP和OSI的环境中,修订后的IS-IS协议被称为集成化的IS-IS(Integrated IS-IS或Dual IS-IS);由于IS-IS的简便性和极强的扩展性,目前在大型的ISP的网络中被广泛应用;

  提示:IS-IS工作在数据链路层,在OSI七层模型中,它的上层协议是网络层CLNP,早期IS-IS只支持OSI七层模型环境;后来因为TCP/IP五层模型被广泛使用,为了能够提供对TCP/IP五层网络模型的支持,后面IS-IS协议经过修订和改良,扩充了对TCP/IP五层网络模型环境的支持,所以我们现在用到的IS-IS协议都是集成后的IS-IS协议;它既能支持OSI七层模型的CLNP网络,同时也支持TCP/IP的五层IP网络;相对于OSPF来说,OSPF支持ip网络,不支持CLNP网络;OSPF工作在IP层,而IS-IS协议工作在数据链路层;

  IS-IS场景应用

  提示:园区网特点,主要是应用型网络,主要面向企业网用户;路由器的数量偏少,动态路由的LSDB库容量相对较少,三层路由域相对偏少;有出口路由的概念,对内部外部路由划分比较敏感;地域性跨度不大,带宽充足,链路状态协议开销对宽带占用比偏少;路由策略和策略路由应用频繁多变,需要精心细化的路由操作;OSPF的多路由类型(内部/外部),多区域类型(骨干/非骨干/特殊),开销规则优良(根据带宽设定),网络类型多样(P2P/MA/P2MP/NBMA)的特点在园区网得到了极大的发挥,所以目前ospf普遍用于园区网;对于骨干网来说,它的特点主要是服务性网络,有ISP(互联网服务提供商)组建,并为终端用户提供互联服务;路由调度占绝对统治地位,路由器数量庞大;架构层面扁平化,要求IGP作为基础路由为上层BGP协议服务;LSDB规模宏大,对链路收敛极度敏感,线路费用昂贵;追求简单高效,扩展性高,满足公众客户业务需求;IS-IS的快速算法(RPC得到加强),简便报文机构(TLV),快速邻居关系建立,大容量路由传递(基于二层开销低)等一些特点在骨干网有着天然的优势,所以IS-IS在骨干网得到广泛应用;

  IS-IS拓扑结构

  提示:对于IS-IS来说,它不像OSPF中以接口来划分区域,一个路由器可以同时属于多个区域(ABR);在IS-IS中区域的边界是根据路由器的类型来划分的,这也意味着IS-IS中一个路由器只能属于某一个区域,不能同时属于多个区域;IS-IS为了适应中大型网络,它的拓扑结构使用了层次化结构;采用了骨干区域和非骨干区域两级的分层结构;一般来说,将Level-1路由器部署在非骨干区域,Level-2路由器和Level-1-2路由器部署在骨干区域;每一个非骨干区域都通过Level-1-2路由器与骨干区域相连;

  IS-IS与OSPF区域对比

  提示:对于is-is来说,区域划分是以路由器的类型来划分,而ospf的区域划分是以接口来划分;is-is骨干区域是有L2和L1/2路由器共同组成,而OSPF骨干区域是area 0为骨干区域;对于路由算法,is-is计算路由使用SPF算法,而ospf在同一个区域内使用SPF算法,区域间路由不是SPF算法,而是根据三类LSA传递(直接传递打包好的路由信息,不需要再次使用SPF算法计算);

  IS-IS路由器分类

  提示:is-is路由器分三种类型,分别是Level-1路由器(简写L1);该类型路由器只能创建L1类型路由器的LSDB;L2类型路由器只能创建L2类型路由器的LSDB;L1-2类型路由器是默认的类型,它能同时创建L1类型路由器的LSDB也能创建L2类型路由的LSDB;

  IS-IS邻居关系

  提示:对于L1类型路由器来说,它只能在同区域内和L1或者L1-2类型路由器建立邻居;所谓相同区域是指区域ID相同;对于L2类型路由器来说,它没有区域的限制,它可和同区域或不同区域的L2或L1-2建立邻居;对于L1-2路由器来说,它可以和相同区域或不同区域的L1或L2或L1/2类型路由建立邻居;这里需要注意一点的是,L1类型路由器不能与L2建立邻接关系,不管是否在同一区域;对于不同区域的L1类型路由也是不能建立邻接关系;

  总结:L1类型路由器建立邻居的条件是区域ID必须相同,其次不能与L2建立邻居,不管区域ID是否相同;对于L2来说,它没有区域id是否相同的限制,但它只能与L2或L1-2类型路由器建立邻居,不能与L1建立邻居,不管区域是否相同;对于L1-2,没有区域id是否相同的限制,同时也没有路由器类型限制,它可以和L1、L2、L1-2这三种类型路由器在不同区域或相同区域建立邻居;

  IS-IS网络类型

  提示:IS-IS的网络类型只有两种,分别是广播网络(LAN)和点到点网络(P2P);PPP和HDLC上,接口默认网络类型就是点到点(P2P);以太网和token-ring(令牌环网)上,接口默认网络类型为广播网络(LAN);

  点到点网络中的邻接关系

  提示:对于L1邻接关系,它只能在相同区域内建立;对于不同区域来说,L1的邻居是不能建立;在相同区域内,L1和L1或L1-2建立L1的邻接关系;L1-2和L1-2即建立L1的邻接关系同时也建立L2的邻接关系;对于不同区域来说L1-2和L1-2只能建立L2的邻接关系,不能建立L1的邻接关系;L2和L2建立L2的邻接关系;

  广播网络上的邻接关系

  提示:对于广播网络IS-IS和ospf一样,都要选择DR;在IS-IS里不叫DR而叫DIS;作用就是创建和更伪节点,以简化拓扑减少资源消耗;同一级别的路由器之间都会形成邻接关系;上图中L1和L1-2、L1 DIS建立L1的邻接关系;L1-2和L2 、L2 DIS建立L2邻接关系;

  DIS和DR对比

  提示:伪节点是在广播网络中自动生成的虚拟节点,它和其他路由之间通过虚拟链路连接,形成邻接关系;主要作用是发送CSNP,同步LSDB数据库;CSNP我们可以理解为OSPF中的DD包,用来对比数据库摘要;在ospf里DR的主要作用是减少LSA泛洪;其次对于邻接关系来讲,IS-IS中的DIS是与所有路由器建立邻接关系,而OSPF中DRother之间建立2way关系;在IS-IS里DIS没有备份,在OSPF里有BDR;同时OSPF里的DR不具有抢占性,一旦选定只有重启进程才能触发DR重新选举;而IS-IS里DIS是具有抢占性的;从层次性来讲ospf里没有层次性,在IS-IS里有L1的DIS和L2的DIS,不同类型路由之间建立不同类型的邻接关系,生成不同类型的DIS;

  IS-IS地址结构

  提示:NSAP(Network Service Access Point)网络服务接入点;它是OSI中网络层的地址,提供网络层和上层应用的接口,相当于ip地址和协议号;主要由DIP和DSP组成;IDP(Initial Domain Part)相当于ip地址中的主网络号;DSP(Domain Specific Part)相当于IP地址中的子网号和主机地址;AFI(authority and Format Identifier)标识地址分配机构和地址格式;IDI(Initial Domain Identifier)标识域;HODSP(High Order DSP)分割区域;AFI+IDI+HODSP这三个字段共同组成了区域地址;system ID区分主机,相当于OSPF里的router id;SEL是用来标识服务类型;SEL为00表示是NET服务类型,在IP网络中,SEL的值均为00;即IP网络中NSAP服务类型为NET;

  TCP/IP协议栈和OSI系统地址结构对比

  提示:OSI系统的CLNP协议就类似TCP/IP协议栈里的IP协议;NSAP地址就类似IP协议中的IP地址;对于OSI系统中的IS-IS协议来说,它的NET标识符,就类似IP协议中的OSPF区域ID和router ID;NET是一类特殊的NSAP地址(SEL=00),在路由器上配置IS-IS时,只需要考虑NET即可;

  NET地址结构

  提示:NET地址由三部分组成,第一部分是区域id,由16进制字符组成,最小1字节,最大13字节;区域地址主要作用既能标识路由域,同时也能表示路由域中的区域,相当于OSPF中的区域编号;两个不同的路由域中不允许有相同的区域地址,即多个区域不允许有相同的区域编号;一般情况下,一台路由器只需要配置一个区域地址,且同一区域中所有节点的区域地址都要相同;为了能够支持区域的平滑合并、分割及转换,一台路由器最多可配置3个区域地址;第二部分是system ID,占6字节,由12位16进制字符组成,每4位一组,分三组,system ID主要用来在区域内唯一标识主机或路由器,类似OSPF中的router ID;最后是SEL,占1字节,由2位16进制字符组成;在IP网络环境中,该值为固定00;NET是特殊的NSAP地址,即SEL=00的NSAP地址,最多20个字节,最少为8字节,一台路由器最多可配置三个NET地址,配置多个NET地址时,需要保证他们的system ID相同;

  NET生成方法

  提示:为了便于管理,一般根据router ID来生成对应的system id;这只是一种生成NET地址的方式,不是强制必须这样,我们也可以手动根据网络环境规划,自定义NET地址;

  NET地址规划注意事项

  提示:同一区域的区域id必须相同;system id必须唯一;

  实验:如下拓扑,配置IS-IS,实现R1的lo1接口和R2的lo接口互通

  R1配置接口ip地址

sys
sys R1
int g0/0/0
ip add 12.0.0.1 24
int lo 1
ip add 1.1.1.1 32
View Code

  R2配置接口ip地址

sys
sys R2
int g0/0/0
ip add 12.0.0.2 24
int lo 1
ip add 2.2.2.2 32
View Code

  R1上配置ISIS路由器类型为L1

  提示:isis命令后面的数字77表示进程号;

  R2上配置ISIS路由器类型为L1

  提示:默认路由器类型为L1-2;

  在R1上配置NET地址

  在R2上配置NET地址

  在R1的g0/0/0和lo1接口启用isis进程

  在R2的g0/0/0和lo1接口启用isis进程

  提示:在接口上启用isis的操作我们可以理解为ospf中的把对应网络宣告出去;

  抓包查看isis hello 包结构

  提示:从上面的抓包情况可以看到isis封装在数据链路层之上,它的二层协议不是Ethernet II 协议,而是802.3 Ethernet,和STP二层协议一样;对于ISIS的数据包来讲,它和OSPF一样也分为通用包头和专用包头;通用包头主要用来描述数据包类型,isis协议,数据包长度等信息;专用包头用来描述对应类型的包相关信息;

  验证:在R1上查看isis邻居

  提示:可以看到在R1上isis和system id为0000.0000.0002建立起类型为L1的邻居;

  验证:查看R1的路由表,看看是否学习到R2的lo1接口路由?

  提示:可以看到对应R1通过isis学习到R2的lo1接口的路由;

  验证:用R1 的lo1接口ping R2的lo接口地址,看看是否能够正常通信?

  提示:可以看到R1的lo1接口能够正常和R2的lo1接口通信;

posted @ 2021-09-10 01:34  Linux-1874  阅读(1567)  评论(0编辑  收藏  举报