Chinaunix首页 | 论坛 | 博客
  • 博客访问: 226949
  • 博文数量: 52
  • 博客积分: 2010
  • 博客等级: 大尉
  • 技术积分: 650
  • 用 户 组: 普通用户
  • 注册时间: 2005-07-06 16:10
文章存档

2011年(2)

2010年(1)

2009年(1)

2008年(3)

2007年(45)

我的朋友

分类: 系统运维

2007-10-05 14:18:58

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来修复分开的骨干区域或让远端的普通区域连接骨干区;
 
 
 
 
   1.IS-IS 只定义了两种网络拓扑类型:broadcast和general topology。在Cisco器中链路分为point-to-point
  和broadcast。
 OPSF定义了四种网络拓扑类型:point-to-point、point-to-multipoint、broadcast和nonbroadcast。
   
  2.两种协议都维护一个链路状态(Link State Database)
  
  IS-IS使用LSP(Link State PDU),LSP自己就是一个数据报;
  OSPF使用LSA(Link State Advertisements),LSA必须被封装(encapsulate)在OSPF报头和IP报头内。
  
  3.两种协议都使用SPF算法来计算
 
IS-IS在域内(intra-area)运行Level 1 SPF计算,在域间(inter-area)运行Level 2 SPF计算;
  
  OSPF在域内(intra-area)运行SPF计算,在域间(inter-area)运行距离向量算法(distance vector algorithm)来计算。
阅读(1740) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~