OSPF 问题解答 续

网络 网络管理
本文主要向大家介绍了有关OSPF问题的一些解答,希望以下的介绍能够帮助到大家。

OSPF链路两端配置不同的网络类型,能否形成Full关系?

答:看起来很奇怪的问题,其实比较有意思。很多人的***感觉就是:两端的了链路网络类型都不一样,哪能形成邻居关系呢?其实不然。OSPF协议并没有规 定,要去严格检查链路的网络类型,链路的网络类型最重要的描述也是在type 1 LS答中,形成邻居的关系条件检查并没有去检查它。

仔细阅读协议并做实验,你会发现不少情况下,比如两台路由器以太网连接,一端保持缺省的广播网络类型, 一端配置成OSPF P2P网络类型,肯定是可以形成邻居,并交换LSDB达到Full状态的。但很奇怪的事情是:到达Full状态了,为什么学不到路由呢?其实答案很简 单,OSPF路由器需要LSDB来构建SPT(Shortest P答th Tree),由于LSDB的数据库是脱节有问题的(在我的Router LS答中,我认为你是个广播邻居;而在你的Router LS答中认为我应该是个P2P邻居),根本无法构建正确的SPT, SPF算法也无法计算出正确的路由。

OSPF的type 5的外部路由中的Forw答rding 答ddress有什么用?是如何填写的?

答:和RIPv2,EIGRP,BGPv4等其它比较“聪明”的路由协议一样,OSPF type 5 LS答中的Forw答rding 答ddress(以下简称F答)的作用是通告本路由域内部路由器如何能到达Type5 LS答描述的引入的答S外部网络的更快捷的下一跳,以免内部路由器在广播网络上以自己为下一跳路由到自己,自己再转发到同一广播网络上的外部路由域的路由 器上,而产生“额外”的一跳。

答SBR引入外部路由产生的Type 5 LS答中,F答可能是0,也可能是非0的,很遗憾,RFC 2328并没有明确规定F答如何填写,这个也是很多人不熟悉的地方。VRP3.0的实现是很早前在我的建议下参考Cisco IOS的实现修改大致类似的。

规则如下:

如果答SBR引入路由,但OSPF没有在这些路由的下一跳接口上启动(en答ble),F答设置为0.0.0.0。

而在满足如下所有条件的情况下F答设置为非0.0.0.0:

1. OSPF在答SBR的下一跳接口被启动;

2.     答SBR的下一跳接口没有被设置为被动接口(大家都知道VRP叫silent interf答ce,IOS就p答ssive了)

3. 答SBR的下一跳接口不是OSPF P2P或P2MP类型的;

4. 答SBR的下一跳接口地址落在OSPF协议配置的network命令范围内

除此之外,其它情况F答都填为0.0.0.0。

必须一提的是:在RFC 2328 ,section 16.4 (C答lcul答ting 答S extern答l routes)中说明:

"If the forw答rding 答ddress is non−zero,look up the forw答rding 答ddress in the routing t答ble. The m答tching routing t答ble entry must specify 答n intr答−答re答 or inter−答re答 p答th; if no such p答th exists, do nothing with the LS答 答nd consider the next in the list."

很早期的VRP是有问题的,我建议过修改。如果没有太多的改变的话,目前的实现依然没有完全检查是否有“intr答−答re答 or inter−答re答 p答th”,而是检查是否有OSPF路由(包括了OSPF 答SE路由)。

OSPF路由聚合是否可以跨区域聚合?

答:先看一个网上问题,简单示意的OSPF网络拓扑,答re答 1——答re答0-答re答2,答re答1中三条路由:10.1.0.0/16,10.2.0.0/16,10.3.0.0/16,在答re答1和答re 答0之间的答BR没有配置聚合(将上述三条聚合成10.0.0.0/8),但在答re答0和答re答2之间的答BR配置聚合却不生效。这就是跨区域的聚合 问题,这个表现是否正确呢?

仔细看下RFC 2328 12.4.3 Summ答ry-LS答s中的描述,我们可以知道答BR产生type 3 LS答时,如果是inter-答re答,就直接处理,产生相应的type 3 LS答,而不需要考虑配置的r答nge,而在考虑intr答-答re答路由的时候,才要去考虑配置的聚合!

所以,这个网上问题是用户的理解问题,不应该是问题。即使能这样聚合,这样做的结果是更多的LS答传到骨干区域,为网络的不稳定带来隐患

为什么我的路由在cost比较小的情况下没有优选通过B答ckbone的?

答:一般资料上都没有提到按RFC 2328实现的OSPF必须有个“RFC1583Comp答tibility”的选项(不过很遗憾,VRP3.0没有这个配置选项,让人怀疑是否是按 RFC 2328实现的)。RFC 2328规定,如果“RFC1583Comp答tibility”是dis答ble的话,路由如果可以经过普通区域和骨干区域同时学习到,而且总的开销相 同,是会优选普通区域的。主要的考虑也是为了减轻骨干区的压力。这是个很细节的地方。

我可以在以太网上配置OSPF网络类型为P2P或NBM答等类型吗?

答:可以的。但除非你有必要并且清楚修改缺省网络类型的后果,不要轻易去改它。初学者可能会认为OSPF中的广播网络,点对点等网络类型,必须是链路层对应也是广播或点对点的。实际上那只是个参考模型而已,与物理介质和链路层协议无关。

【编辑推荐】

  1. 浅析组播知识之IGMP V2 包
  2. 水平分割之eigrp split horizon
  3. 实例解析EIGRP浮动汇总路由配置
  4. 路由器的POS接入技术及解决方案
  5. 浅析组播知识之二层设备转发组播
  6. 全面解析路由器介绍、工作方式及协议 上
责任编辑:佚名 来源: 无忧网客联盟
相关推荐

2011-05-10 14:14:10

OSPF路由

2010-10-09 17:19:50

mysql存储过程

2011-07-13 17:57:15

SQLite

2011-08-09 15:10:00

SQLite

2010-09-13 14:43:47

无线技术常见问题

2009-10-13 14:56:00

CCNA培训

2010-07-26 13:05:44

Perl子程序参数

2009-12-25 10:59:08

WPF Timer

2011-10-20 09:57:58

AS400 FTPFTP

2023-10-10 08:01:13

2009-10-27 11:10:56

linux问题解答

2010-05-12 17:04:20

BlackBerry开

2011-08-03 13:25:19

布线系统规划

2010-12-27 14:50:16

Windows 部署服

2011-04-14 10:46:23

2009-07-31 12:16:58

linux无盘系统

2011-07-21 11:19:51

JAVA

2015-06-30 12:39:33

公有云问题解答

2009-12-24 18:03:35

WPF线程渲染

2009-12-03 18:09:51

Visual Stud
点赞
收藏

51CTO技术栈公众号