米葫芦网

IS-IS与OSPF的比较

热度:10℃ 发布时间:2023-11-16 19:39:28

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)来计算路由。
4) 两种协议都使用域(area)来建立两层分级的网络拓扑结构
IS-IS的骨干不是特定的一个域,而是由连续的Level 2 路由器组成;
OSPF的骨干必须有而且必须为area 0;
IS-IS的域边界是在路由器之间的链路(link)上;
OSPF的域边界是在路由器上;
IS-IS的两层分级的网络拓扑结构不是必须的,网络可以完全由Level 1 路由器或完全由Level 2 路由器构成。
OSPF的必须有area 0,可以只有一个area,但必须是area 0。
5) IS-IS的特性之一是:IS-IS路由器最多能有3个域地址(area addresses),这在域间传输中很有用。
6) 两种协议都是无类路由协议,都在area间汇总(summary)
7) 两种协议处理错误(corrupted)LSP/LSA的方法不同:
IS-IS中任何一个路由器都能丢弃(purge)corrupted LSP;
OSPF中只有corrupted LSA的发送者(originator)才能丢弃(purge)它。
8) 在广播网络(broadcast network)中两种协议都要建立adjacency关系
IS-IS中,只要neighbor的Hello数据报中有你的identity,adjacency关系就建立成功。该阶段经历一个三次握手的过程:Down→Init→Up。
OSPF中,建立adjacency关系前经历的过程:Down→Init→Two-way→Exstart→Exchange→Uploading→Full。
9) IS-IS neighbors会建立adjacency关系,即使Hello-intervals或Hello multipliers不同;
OSPF neighbors不会建立adjacency关系,假如Hello-intervals或Dead-intervals不同。
10) 在广播网络(broadcast network)中两种协议都要选择一个DIS/DR
IS-IS中DIS是动态选择的,即若有更高优先级或更大的地址的路由器加入网络,则新加入的路由器成为DIS;
OSPF中DR相对稳定,即只要DR没有down掉,DR保持其地位;
IS-IS中,广播网络中的路由器与所有的邻居建立adjacency关系;
OSPF中,广播网络中的路由器只与DR和BDR邻居建立adjacency关系;
IS-IS中,DIS不与它的neighbors同步(synchronize)。DIS生成the pseudonode for the LAN,并且每3秒发送PSNPs(partial sequence number PDUs)或每10秒发送CSNPs(complete sequence number PDUs)。其他的路由器也可以用PSNPs向DIS申请丢失的LSP或发送给DIS一个新的LSP。因为DIS能flood PDUs,所以DIS不需要与其neighbors同步(synchronization);有因为不需要与其neighbors同步(synchronization),所以不需要BDIS。
OSPF中,DR/BDR用单播(unicast)传送DDP的方式分别与其他的所以路由器同步(synchronization)。
11) 两种协议都有认证(authentication)
IS-IS只支持简单认证;
OSPF支持简单认证和MD5认证。
12) IS-IS的L1/L2路由器不向L1路由器发布L2路由。L1路由器就象OSPF中的完全端域(totally stubby area)。


网友评论
评论
发 布

更多软件教程
  • 软件教程推荐
更多+
Greenfoot设置中文的方法

Greenfoot设置中文的方法

Greenfoot是一款简单易用的Java开发环境,该软件界面清爽简约,既可以作为一个开发框使用,也能够作为集成开发环境使用,操作起来十分简单。这款软件支持多种语言,但是默认的语言是英文,因此将该软件下载到电脑上的时候,会发现软件的界面语言是英文版本的,这对于英语基础较差的朋友来说,使用这款软件就会...

07-05

Egret UI Editor修改快捷键的方法

Egret UI Editor修改快捷键的方法

Egret UI Editor是一款开源的2D游戏开发代码编辑软件,其主要功能是针对Egret项目中的Exml皮肤文件进行可视化编辑,功能十分强大。我们在使用这款软件的过程中,可以将一些常用操作设置快捷键,这样就可以简化编程,从而提高代码编辑的工作效率。但是这款软件在日常生活中使用得不多,并且专业性...

07-05

KittenCode新建项目的方法

KittenCode新建项目的方法

KittenCode是一款十分专业的编程软件,该软件给用户提供了可视化的操作界面,支持Python语言的编程开发以及第三方库管理,并且提供了很多实用的工具,功能十分强大。我们在使用这款软件进行编程开发的过程中,最基本、最常做的操作就是新建项目,因此我们很有必要掌握新建项目的方法。但是这款软件的专业性...

07-05

Thonny设置中文的方法

Thonny设置中文的方法

Thonny是一款十分专业的Python编辑软件,该软件界面清爽简单,给用户提供了丰富的编程工具,具备代码补全、语法错误显示等功能,非常的适合新手使用。该软件还支持多种语言,所以在下载这款软件的时候,有时候下载到电脑中的软件是英文版本的,这对于英语基础较差的小伙伴来说,使用这款软件就会变得十分困难,...

07-05

最新软件下载