IS-IS与OSPF的相同点

从IS-IS与OSPF的功能上讲,它们之间存在着这么大的相似之处,虽然它们在结构上有着差异:

  • IS-IS与OSPF同属于链路状态路由协议。作为链路状态路由协议,IS-IS与OSPF都是为了满足加快网络的收敛速度、提高网络的稳定性、灵活性、扩展性等这些需求而开发出来的高性能的路由选择协议。
  • IS-IS与OSPF都使用链路状态数据库收集网络中的链路状态信息,链路状态数据库存放的是网络的拓扑结构图,而且区域中的所有路由器都共享一个完全一致的链路状态数据库。
  • IS-IS与OSPF都使用泛洪(flooding)的机制来扩散路由器的链路状态信息。
  • IS-IS与OSPF都使用相同的报文(OSPF中的LSA与IS-IS中的LSP)来承载链路状态信息。
  • IS-IS与OSPF都分别定义了不同的网络类型,而且在广播网络中都使用指定路由器(OSPF中的DR,IS-IS中的DIS)来控制和管理广播介质中的链路状态信息的泛洪。
  • IS-IS与OSPF同样都是采用SPF算法(Dijkstra算法)来根据链路状态数据库计算最佳路径。
  • IS-IS与OSPF同样都采用了分层了区域结构来描述整个路由域,即骨干区域和非骨干区域。
  • 基于两层的分级区域结构,所有非骨干区域见的数据流都要通过骨干区域进行传输。
  • IS-IS与OSPF都是支持VLSM(Variable Length Subnet Mask,可变长子网掩码)和CIDR(Classless Inter-Domain Routing,无类域间路由)的IP无类别路由选择协议。
  • IS-IS与OSPF都是标准协议。

 

IS-IS与OSPF的不同点

IS-IS

OSPF

  • IS-IS可以支持CLNP和IP两种网络环境
  • OSPF仅支持IP网络环境
  • IS-IS所使用的数据包被直接封装到数据链路层帧中
  • OSPF数据包被封装在IP报文中
  • IS-IS是ISO CLNS中的一个网络层协议
  • OSPF不是网络层协议,它运行在IP之上
  • IS-IS使用LSP承载所有的路由选择信息
  • OSPF使用不同类型的LSA承载路由选择信息
  • IS-IS利用TLV可以灵活的对协议进行扩展
  • OSPF很难进行扩展
  • IS-IS可以忽略不支持的TLV
  • 网络中所有路由器都必须能够识别所有LSA
  • IS-IS PDU可以承载多个TLV字段,只有一个报头,节省带宽
  • 1类、2类LSA可以承载多个IP前缀;3类、4类、5类LSA只能承载单个IP前缀,如果需要发送多个IP前缀信息,需要多个LSA
  • IS-IS仅支持广播类型链路与点到点类型链路
  • OSPF可以支持多种网络类型:广播、点到点、NBMA、点到多点和按需电路(Demand Circuit)
  • IS-IS邻接关系建立过程简单,仅3步
  • OSPF需要通过多种状态建立邻接关系
  • 数据库同步在建立邻接关系之后
  • 数据库同步在邻接关系建立之前
  • IS-IS路由器只属于一个区域,基于节点分配区域
  • OSPF路由器可以属于多个区域,典型的是ABR,OSPF基于接口分配区域
  • IS-IS的区域边界在链路上
  • OSPF的区域边界在路由器上
  • IS-IS的L1区域(非骨干区域)为末节(stub)区域,除非使用路由泄漏(Route Leaking)机制
  • 默认情况下,OSPF非骨干区域不是stub区域,但可以配置为stub区域
  • IS-IS仅在点到点链路上的扩散是可靠的,在广播链路中通过DIS周期性的发送CSNP来实现可靠性
  • OSPF在所有链路上的扩散都是可靠的
  • IS-IS中没有备份DIS
  • OSPF中要选举BDR,以接替DR的角色
  • IS-IS中的DIS可以被抢占
  • OSPF中的DR不能被抢占
  • DIS以3倍的频率发送Hello PDU
  • DR以正常的频率发送Hello报文
  • 默认情况下,IS-IS的LSP最大生存时间为1200s,刷新间隔为900s,而且定时器的值可调
  • OSPF的LSA的老化时间为3600s,刷新间隔为1800s,而且是固定值
  • 默认情况下,IS-IS的接口cost值为10
  • 默认情况下,OSPF的接口cost值根据带宽进行计算
  • 默认情况下,IS-IS保持时间(holding-time)为30s,而且在建立邻接关系时不需要双方的保持时间匹配
  • 默认情况下,OSPF的保持时间(dead-interval)为40s,而且为了建立邻接关系,必须使双方的保持时间一致
  • IS-IS通过将Hello PDU的大小填充至接口MTU大小来检查双方的MTU是否匹配
  • OSPF通过在DBD报文中嵌入接口MTU字段来检查双方的MTU是否匹配