赛迪网 > IT技术 热点推荐 > 文章
  IT资讯搜索
 
IT产品搜索
[程序开发][网管世界][网络安全][数据库技术]
[操作系统][嘉宾聊天·在线访谈][活动集锦]
[精彩专题][Symantec专区][订阅IT技术周刊]
[开发论坛][网管论坛][安全论坛][数据库论坛]
[操作系统论坛][Sybase专区][IBM dW技术专区]
[病毒求助][病毒与漏洞播报][文档·源码下载]

OSPF路由协议进阶

发布时间:2007.02.10 19:33     来源:赛迪网技术社区    作者:lynn

OSPF,这一众人心目中的IGP,其具体细节则有些复杂,不过奇怪的是,人们还都挺满意。了解其工作原理之后,我们感到疑惑的是:我们还需要什么?在开始这趟可能让你困惑的旅程之前,最好复习一下第一部分的内容。

本文将阐述LSA的类型、数据包类型和区域类型。不过首先要澄清关于动态路由的一个普遍误解:

人们常喜欢调盲目高速流量设置,即使他们的问题事实上与此无关。在OSPF网络中,除了调整metric值,你并没有其它方式来影响路由的工作模式。一些路由器支持对路径的weights参数做修改,但通常不需要这样做。OSPF一般会根据路由器上接口的速度考虑分配weights,如果有两条链路通往同一目的地,而你在它们上面做负载平衡,那么也可以在OSPF中采用ECMP(等价多路径)。不要试图乱改OSPF参数;如果你认为有问题,那多半是网络设计的问题,只要修改网络设计就可以解决。

LSA和数据包

要理解OSPF对网络的影响,关键是要认识到有多种类型的LSA。数据包每隔几秒都会更新并发送出去,从而刷新LSA数据库,并且还可能改变路由表。“new”类型的LSA会令每台路由器丢掉自己原来的路由表,开始进行SPF(最短路径优先)计算。

LSA包含5种不同的数据包类型。Hello和数据库描述信息已在第一部分介绍过,它们用于“建立相邻关系”。第三种OSPF数据包是链路状态请求,第四种是链路状态更新,而第五种则是链路状态ACK(命令正确应答)。OSPF在第4层协议上实现,所以直接位于IP最上端。OSPF没有用到TCP和UDP,因此为实现可靠性它有一个校验和(checksum)以及自己内置的ACK。为了能够通过查看流量来解决问题,我们必须知道OSPF的多点传送地址是224.0.0.5,而每台DR之间则用224.0.0.6进行对话。

即使采用现在最新式的路由器,在一个网络拓扑中要计算出最短路径也非常困难,并且要花相当长的时间。幸运的是,Edsger W. Dijkstra用他的SPF算法改善了这一问题,不过还是麻烦。这正是OSPF不能用于Internet 的主要原因,另外也不要把整个BGP(边界网关协议)路由表一股脑都交给OSPF,那太耗时了.每次增加或删除网络时,都会进行SPF计算。

不要被另一种“类型”搞糊涂了,OSPF有很多类型,所以一定要注意你所指的“类型”。LSA可以是更新的数据包,或者请求数据包,这些是可以发送的不同类型LSA,是第三类或第四类OSPF数据包:

第1类:路由器LSA。该数据包描述路由器自身以及相邻路由器的接口信息。

第2类:网络LSA。仅用于广播网络信息;该LSA由DR更新,包含网络上OSPF协议路由器列表。

第3类:网络汇总LSA。通过ASBR发送,广播所连接的网络信息。Stub区域路由器也会把它作为缺省路由信息。

第4类:ASBR-汇总LSA。由ASBR发送,但仅限内部。它告诉其它路由器如何仅用内部metric连接ASBR。

第5类:AS-外部LSA。用于描述连接内部区域的外部路由信息,表示“这条路通往Internet(或其子网)”。

第6类:Group汇总。用于多点传送(MOSPF)。不用管它。

第7类:NSSA区域导入。

注意我们同时拥有一个路由器LSA和一个网络LSA。而路由器LSA存在的原因是没有DR就不会发送网络LSA。路由器LSA包含网络上所有通往其它路由器的链路信息,这样没有DR或BDR时,OSPF也能正常工作,不过因为没有DR传送正确的汇总信息,情况会更加复杂。

区域

在第一部分我们已经说过几种类型的OSPF区域,也稍微介绍了一下主干区域(BA,也称为区域零)的概念。其实只有两种类型的区域:与区域零相连的普通区域,以及不与区域零相连的Stub区域。Stub区域不接收外部LSA,也不传送数据包。它只有一个出口,即通过它所相连的区域,这就意味着Stub区域内任何内部路由器不需要重新计算SPF。

好的,上面已经提到NSSA,所以不跟你玩文字游戏了,实际上还有一种区域:Not So Stubby Area。它与Stub区域的唯一不同之处在于NSSA可以发送第7类LSA输出内部路由信息。有意思的是,这种类型的LSA会由ABR转化为第五类(AS-外部)LSA,因此NSSA会向整个OSPF域发送一些具体的路由信息。你可以把它当成一个ASBR:它能向主干区域发送一些AS-外部路由信息,方法可能是在内部运行另一种路由协议,如RIP或BGP。NSSA路由器与区域(不是区域零,而是Stub区域)相连,无法接收AS-外部路由信息,只能发送。

下面就要让你真正感到困惑了。假如我们有一个NSSA因为物理位置原因无法与区域零进行物理连接,那么你可能想让上面所说的Stub区域位于区域零上。或者,你想让非主干区域上的两个Stub区域无需连接区域零而进行对话,因为如果通过主干区域就太耗时耗力了。这时虚拟链路可以把你从蹩脚设计的梦魇中拯救出来,虚拟链路在路由器之间建立隧道,两端的路由器之间就形成虚拟的相邻关系,并且可以相应调整自己的路由表。

OSPF非常能干,我甚至见过将OSPF用于获得高度可用性的失效自恢复设计。运行OSPF的路由器会自动检测路由是否丢失(因为运行ospfd的主机停止了响应),并且将不再向该主机发送数据流。这对工作安全很有益处,不过如果它在凌晨2点出了故障,而你又是唯一懂得OSPF的人,那可就糟糕了。不过认真来说,OSPF确实力量强大,主要是因为其收敛速度很快,使用的带宽又很小。在内部路由协议中还没有什么可与OSPF匹敌的。

小结

设计精良的网络无需“调整”即可超越路由协议本身所拥有的能力。

OSPF支持一些奇怪的配置,如NSSA等。尽量不要使用Stub区域,即使大型网络也尽可能避免。

关于类型:有OSPF数据包类型、LSA类型,以及路由器类型。看,多么有趣啊。


[ 发表评论 ] 字体[  ] [ 打印 ] [ 进入博客 ] [ 进入论坛 ]  [ 推荐给朋友 ]
  相关文章
· OSPF路由协议初步 (02-10) · HSRP技术在校园网的应用 (02-10)
· HSRP和MSHRP与NT 5.0和HP AdvanceStack的互操 (02-10) · HSRP路由热备协议简介 (02-10)
· HSRP协议原理及配置实例 (02-10) · HSRP协议概述 (02-10)
· PE的BGP设置 (02-10) · 智能路由控制改进BGP (02-10)
· 关于BGP 抖动参数设置 (02-10) · BGP路由抖动惩罚 (02-10)
  客户需求反馈表
* 姓  名:
更多资料  了解方案  认识厂商
* 单位名称:
* 联系电话:
* 电子邮件:
  赛迪推荐  
  手机·资费 ·新品·导购·评测·手机资费·宽带
手机搜索  诺基亚 N73 MOTO Z6
  IT产品 ·笔记本·台式机·服务器·打印·投影
IT产品搜索 
  IT技术 ·开发·网管·安全·数据库·操作系统
  信息化 ·热点·专题·访谈·周刊·方案案例
[政务][电信][金融][农业][制造业][中小企业]
[CIO][ERP][协同][IT管理][中间件][电子商务]
[政策][地方][专家][评估][辞典][博客][社区]
· 专题:一路畅通构想曲——让出行不再遭遇堵车
· CIO工作亲历:企业ERP选型不能忽视"选人关"
· 综述:信息化建设给中国监狱带来的各种变化
· 金融业风险管理和法规遵从有五点需考虑的因素
· 保险业CIO关注:该如何建立统一高效的CRM体系
· 调查显示:多数CIO对IT规划仍存在困惑和误解
  博客·论坛 ·曾剑秋·项立刚·Java学习·网管