APP下载

两种常用IGP协议之异同

2019-02-13

广东通信技术 2019年11期
关键词:路由表路由器报文

IGP(Interior Gateway Protocol,内部网关协议)是在单一机构管理的自治网络内,网关(主机和路由器)间交换路由信息的协议。目前使用最为广泛IGP协议是IS-IS(Intermediate System-Intermediate System,中间系统到中间系统)、OSPF(Open Shortest Path First,开放式最短路径优先)、RIP(Routing Information Protocol,路由信息协议),其中IS-IS和OSPF是两种较为常用的IGP协议。

1987年,国际标准化组织(International Organization for Standard)发布标准化后的IS-IS协议,基于无连接网络协议设计(CLNP,ConnectionLess Network Protocol)的动态路由协议,主要为开放式系统互联(Open System Interconnection)服务,不支持TCP/IP协议。

为了支持TCP/IP协议,互联网工程任务组(Internet Engineering Task Force,IETF)成立了2个不同思路的独立工作组。拿来主义的“改造派”于1990年12月(RFC 1195)发布了集成Integrated IS-IS,另起炉灶的“自造派”于1991年7月推出OSPFv2(RFC1247)。由于IETF主导的TCP/IP协议大行其道,目前通常情况下所说的IS-IS都是指扩展后的Integrated IS-IS协议。IS-IS和OSPF协议在当初的研发过程中既有竞争,也有合作,二者都借鉴了阿帕网络(ARPANET)的路由协议运行经验和教训,IS-IS和OSPF协议在拓扑结构、路径算法与数据表维护等方面有众多相似之处。

以下通过实际案例,使用华为eNSP(版本1.2.00.510)模拟路由器及路由协议运行,通过Wireshark(版本1.4.3)数据抓包对比分析等手段,分析比较OSPF与IS-IS协议之间的异同。为了便于对比分析,设计如下网络模拟结构图,椭圆形区域作设置为OSPF的Area 0或IS-IS中的Level-2区域,方形区域设置为OSPF的常规区域或IS-IS的Level-1区域,路由器接口ip地址采用示例ip设置通用规则,例如R2的三个接口IP地址分别设置为:10.0.12.2、10.0.23.2、10.0.24.2。

在拓扑结构上,两种协议都采用层次化、多区域的部署方式形成两层的层次性拓扑,拓扑结构如图1所示。两种协议都设置了骨干区域,辅以路由汇总、默认路由等策略,有效减小了路由表规模,降低了局部区域路由变化与震荡对整体路由收敛影响,将拓扑变化产生的影响限制在一个相对更小的范围,因此两者都具有路由收敛速度快、无环路的优点,都能较好支持的大型网络。

图1 OSPF和IS-IS拓扑对比分析

在路径算法上,两种协议都以最短路径优先(Shortest Path First)算法为主,放弃了阿帕网络的Bellman-Ford算法。两种协议使用SPF算法(即Dijkstra算法)来计算路由。IS-IS在域内运行Level-1 SPF计算路由,在域间运行Level-2 SPF计算路由;OSPF在域内运行SPF计算路由,在域间(inter-area)运行距离向量算法来计算路由。之前的距离矢量路由协议(例如RIP)仅关心到达目的路由器有多远(跳数),不关心路况(带宽等链路状况),IS-IS和OSPF协议克服了RIP类协议的不足,在路由路径选择上引入“度量值”(cost)概念,综合考虑路由链路的距离和链路带宽。当然,距离向量算法有一定的不足,但此算法简单、高效,在IS-IS和OSPF跨域间路由计算中仍然得到应用。

在数据表维护上,两种协议都是基于链路状态的路由协议,在广播网络中皆选举指定路由(指定中间系统,DR/DIS)来担任链路状态数据库同步的主路由器,建立和维护“三张表”,即邻居表、链路状态数据库(LSDB)和协议路由表。邻居表采用“邻居数据结构“,描述每一台邻居路由器的所属区域、工作状态、邻居类型、Router-ID、优先级、接口IP、保持时间等。链路状态数据库都使用Hello报文建立和维护邻居/邻接关系。链路状态数据库存储路由器学习、搜集的各类LSA(链路状态通告)、拓扑结构和网段信息。协议路由表是指通过链路状态数据库的数据,采用SFP算法计算,得到的到达网络中各个网段的最佳路由信息表。协议路由表的信息是路由器全局路由表的重要来源,对于不同路由协议产生的同一网段的路由信息,由路由器比较路由优先级大小后择优载入全局路由表。

集成IS-IS和OSPF皆由互联网工程任务组(IETF)牵头制定的标准,但思路迥异的实施小组决定两种协议之间必然有众多不同之处,两种协议在支持的网络类型、分层结构、协议报文、防环机制、使能方式、扩展性等方面有着明显区别,下文以华为AR、CE系列数通产品为例介绍两种协议的区别。

在支持的网络类型上,两种协议支持的网络类型不尽相同,以华为数通产品为例,IS-IS 定义了两种常见网络拓扑类型:广播网络和点到点网络。OPSF与IS-IS比较,还可支持非广播型多路访问网络、点到多点网络。

在分层结构上,IS-IS的骨干区域不是特定的一个域,而是由网络端口直接连通的连续Level-2和Level-1-2 路由器组成;OSPF的骨干必须有而且必须为area 0; IS-IS的域边界是在路由器之间的链路(link)上,OSPF的域边界是在路由器上;IS-IS的两层分级的网络拓扑结构不是必须的,网络可以完全由Level-1路由器或完全由Level-2 路由器构成。IS-IS的Level-1区域类似于OSPF中的Total Stub区域,依赖最近的区域边界路由器作为缺省路由访问本区域以外任何目的地。OSPF的非骨干区域类型有常规区域(Normal Area)、末梢区域(Stub Area)、非完全末梢区域(NSSA)、完全次末节区域(Totally NSSA);

图2 OSPF协议报文类型

在协议报文方面,OSPF协议报文主要有5种:Hello、数据库描述(Database Description)、链路状态请求(Link State Request)、链路状态更新(Link State Update)、链路状态确认(Link State Acknowledgment),一次较为完整OSPF协议报文类型如图2所示。IS-IS协议报文直接采用数据链路层封装,封装在以太网的数据帧中,通过TLV(类型、长度、值)传递报文信息,与OSPF相比,IS-IS协议报文更简单、封装效率更高、可扩展性高。IS-IS的报文协议数据单元主要有:IIH(IS-IS Hello)、链路状态报文(Link-State Packet)、完全序列号报文(CSNP)、部分序列号报文(PSNP)。OSPF协议直接采用IP封装,对应的协议号为89,协议报文使用组播地址(224.0.0.5/6)为目的地址。IS-IS协议报文常见类型如图3所示。

图3 IS-IS报文主要类型

在防环机制上,首先协议在区域内(area和level)采用的SPF算法计算出来的最短路径树避免了出现路由环路的可能。IS-IS的NET(网络实体名称)和OSPF中的router-id都能起到全局唯一标识作用,在一定程度上能防止环路。其次,精巧的路由通告设计机制很大程度上避免了环路的产生。IS-IS的Level-1路由必需通过Level-2区域转发,当Level-2路由向Level-1区域引入渗透时,LSP报文中关联位(Attached bits)会被置位,避免通过Level-1路由再次通告到Level-2区域形成环路。OSPF的非area 0区域路由信息必须通过Area 0区域转发,不允许两个非骨干区域直接交换路由信息,OSPF中的ABR只能将自身到达所连接区域的区域内部路由Type-3 LSA通告给Area 0,不允许将区域间路由或者在非Area 0 区域内学习到的路由信息通告给Area 0。OSPF中的Type-5 LSA必需在明确对应的Type-4 LSA后方可在所有区域内泛洪通告;

在使能方式上,配置OSPF协议,只需要在系统视图界面下使用“ospf router-id”命令即可完成路由器和接口使能,如要针对特定接口取消OSPF使能,需在OSPF进程下使用“silent-interface”命令取消使能。配置IS-IS协议时,在路由器系统视图界面输入“isis process-id”全局使能后,仍需要在接口界面下再次使能每一个需要运行IS-IS协议接口,即在接口界面下输入”isis enable”命令后方可完成接口IS-IS使能。

与RIP距离矢量路由协议相比,IS-IS和OSPF在路由计算与选择时候充分考虑了链路状态因素,使得协议路由更加实用、科学,通过周期性地交互路由信息,有效保障了路由信息的准确性和实时性,是对RIP路由协议不足的显著改进。两种路由协议应用都比较广泛,业内也有混合使用IS-IS、OSPF组网,然后通过BGP协议进行域间路由交换。结合上述分析,本文作者认为,对于小型网络、中小企业网络、高校网络中,在网络设备性能显著提升且背景下,建议选择OSPF协议,可以充分利用OSPF的区域类型多、内置功能强大的优势,可灵活部署各种路由控制策略,机动、快捷操控路由和路径选择,满足大量用户多层次、精准化访问控制。对于IS-IS协议,相对简单的区域类型、更细致的定时器设置,简化了协议的复杂性,降低了协议对路由器CPU的占用,加快了路由收敛更新速度,基于TLV的报文传递设计,极大提升了IS-IS协议的扩展性,IS-IS更适用于大型骨干网、运营商网络中。

猜你喜欢

路由表路由器报文
基于J1939 协议多包报文的时序研究及应用
买千兆路由器看接口参数
维持生命
路由器每天都要关
路由器每天都要关
CTCS-2级报文数据管理需求分析和实现
基于OSPF特殊区域和LSA的教学设计与实践
研究路由表的查找过程
浅析反驳类报文要点
ATS与列车通信报文分析