开发者社区> 技术小甜> 正文

IS-IS vs OSPF 比较之详尽篇

简介:
+关注继续查看
IS-IS近年来由于Cisco的力推,得到了比较大范围的应用。IS-IS和OSPF作为两种典型的链路状态路由协议,很多人希望知道他们的异同点和各自的优点,本文对这两种协议做了些总结,很多都是自己的观点,仅供参考。不当之处,欢迎讨论!

相同点:

IS-IS和OSPF是链路状态路由协议的两个最典型的代表,都采用SPF算法来计算路由;

由于具有快速收敛、无环路等特点,IS-IS和OSPF都能很好地支持大型网络,但从全球的部署来看,采用OSPF的还是占了多数,而IS-IS在近几年开始得到比较多的应用;

IS-IS和OSPF一样采用Hello协议来维护邻居关系,但IS-IS的Hello协议与OSPF比起来,相对简单的多;

IS-IS和OSPF都采用分层路由的概念,都有骨干区域,为网络规划提供了比较灵活而且实际的设计方案;

为了控制链路状态数据库的规模和复杂度,IS-IS和OSPF在广播网络上都选举DR来担任数据库同步的主要角色,但在细节处理上还是有较大的差别的;

对协议报文的验证能力是所有高级路由协议所必须具备的功能,IS-IS对于协议报文的验证处理是有些特别的,它按照Level和PDU类型来处理;

IS-IS和OSPF对路由开销的度量(metric)都采用了接口可配置的cost,能够比较正确地反映网络的实际情况;

在支持大型网络的时候,触发更新的Update方式比周期性广播方式要节约大量的协议报文所产生带宽消耗;

对于每个LSP(LSA)都有一个记时器相关联,正常情况下在一定时间内(较长时间)会更新重新计时,如果在规定时间内没有收到新的更新,将从数据库中清除该LSP(LSA),不再用做路由计算用;

对于边缘区域中的路由器,一是通过区域划分,二是通过设置区域类型来减少对路由器资源的需求。IS-IS可以将区域中的路由器设置为level-1 only类型,OSPF可以将整个区域设置为stub、total-stub或NSSA来减少数据库的大小,同时保证正确路由。

不同点:

IS-IS最初是为ISO的标准协议,为CLNS设计的,后来增加了对IP的支持;而OSPF一开始就是IETF为IP网络设计的;

IS-IS协议直接在链路层上运行,报文直接封装在链路层报文中,支持CLNS、IP等多种协议;OSPF报文封装在IP中,只支持IP协议;

IS-IS协议中整个路由器只能全部属于一个区域,区域边界位于两个路由器之间,路由器的LSDB按Level来维护;而OSPF按接口来,一个路由器可以属于多个区域,为每个区域维护一个LSDB数据库;

OSPF通过特殊的区域ID Area0区来定义骨干区,而IS-IS是通过连续的L2路由器来组成骨干区;

IS-IS的采用的Hello协议比较简单,OSPF比较复杂;而且IS-IS检查比较宽松,邻居之间的Hello和Dead等间隔不一定必须一样,不象 OSPF要求必须一致才能形成邻居关系;IETF对IS-IS提供一个改进的3-way的Hello协议,现已有draft:draft-isis- 3way-04.txt(3-way handshake);

IS-IS的LSP生存时间是从20分钟(可配置)往下计算到0来清除旧的LSP,而OSPF是从0往最大值涨到60分钟(周期不可配置)来清除更新旧的LSA的;

IS-IS协议的DR选举比较简单,而且是抢占式可预见的,优先级最高的是DR,优先级别为0的也可能成为DR;为了保证变动比较小,OSPF协议DR选 举机制比较复杂并不可预见,优先级最高的不一定是DR,优先级为0的不可能成为DR,并且有BDR的概念,DR失败,BDR立即承担DR的职责,而IS- IS没有BDR,DR失败,重新选举DR;

IS-IS不支持P-2-MP类型的网络,并且NBMA网络都只能设置为子接口模拟成P2P来运行;OSPF可以很好地支持以下各种网络类型:Broadcast,NBMA,P-2-P,P-2-MP;

标准的IS-IS 接口cost取值为:0-63,对链路层区分不够,并且一个网络的metric达到1024就认为不可达;而OSPF接口cost取值范围为:0- 1024,一个网络的metric达到65535才认为不可达。IEFT在 draf-ietf-isis-traffic-02.txt中扩大了IS-IS的cost的取值范围和最大有效路径metric。

IS-IS的Level-1的区域只能是是OSPF中Total Stub区域样,依赖最近的区域边界路由器作为所有到区域外网络的出口,造成次优路由;而OSPF非常灵活,非骨干普通区域即可设置为普通区域,选择最优 路由,也可以设置为Stub,Total Stub,NSSA;IETF对IS-IS已经提供一个改进解决方法: RFC 2966: Domain-wide Prefix Distribution with Two-Level IS-IS;

IS-IS一个路由器在一个协议报文中插入所有它发布的IP前缀信息,如果大于发布链路MTU,将分片,当前一个IS-IS LSP最多分为255片,限制了大约只有3000个IP地址前缀; IETF对IS-IS提供一个改进解决方法,现已有draft:draft-isis-lsp-fragmets-04.txt;

IS-IS虽然在《ISO 10589》中虽然提出了virtual-link来修复分开的骨干区域,但目前厂商基本没有实现,在RFC 1195中也没有提出;OSPF可以很好地支持virtual-link来修复分开的骨干区域或让远端的普通区域连接骨干区;

RFC 1195中对于Level-1引入的外部可达信息,没有以Code 130的TLV作为IP External Reachability Information加入到LSP中,与区域内的路由信息无法区分开;而OSPF对于引入的外部路由统一以Type 5(NSSA的时候是Type 7再转换成Type 5)的LSA来区分处理。该问题已经在RFC 2966: Domain-wide Prefix Distribution with Two-Level IS-IS中解决;

IS-IS历史上是为CLNS路由而制定的,发展比较缓慢,对于IP的支持很多地方需要改进,虽然已经提出了draft,但大部分还没有形成RFC, CNLP和IP双环境使用的优势并不明显,是一个不是很成熟的协议; OSPF是专门为IP设计的,更适合IP的路由,发展成熟,标准化程度高,支持厂商多,使用多缺点暴露多,改进也多。



















本文转自loveme2351CTO博客,原文链接:http://blog.51cto.com/loveme23/9674 ,如需转载请自行联系原作者


版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
OSPF动态路由协议基础知识
OSPF动态路由协议基础知识
31 0
OSPF高级配置——学习OSPF路由协议的高级应用
在一个大型的网络中会存在很多问题,如新建区域没有和骨干区域相连,路由条目过多,L.SDB过大,OSPF和其他路由协议之间如何通信等问题,需要进一步解决和优化。通过本章的学习可以解 决上面提到的OSPF网络中存在的一些问题,本章将介绍OSPF路由协议的NSSA区域的概念和配置以及一些OSPF路由协议的高级应用(路由重分发、地址汇总、虚链路等)的原理和配置。
44 0
全网对OSPF最言简意赅的归纳!强烈建议收藏!
大家好,我是瑞哥,今天带大家1分钟学习OSPF。OSPF可以说是网络数通技术中最为重要的一部分之一,,瑞哥这篇文章尽可能用最简洁、最有条理的梳理OSPF所涉及的内容。
56 0
OSPF深度好文:OSPF 路由汇总
路由汇总是指设备将学习到的部分路由网段按照一定的规则聚合成单个路由的操作,一般来说,路由汇总可以大大减少设备路由表项和转发表项。一方面可以减轻设备的负担,另一方面也可以让设备保存更多不同地址的路由。
79 0
+关注
技术小甜
文章
问答
视频
文章排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载