CCNP之OSPF在NBMA中的五种运行方式

    这篇文档主要是针对OSPF在NBMA网络中运行的五种模式,由于这五种模式一直是比较难理解的部分,文档会结合实验拓扑图以及对实验配置结果的分析对五种模式进行详细阐述。仔细阅读并按照我的操作步骤进行实验配置,绝对会让你醍醐灌顶。最后还是欢迎各位大牛提出宝贵意见。

1. OSPF在网络中运行模式产生的原因

      由于在本文中,只介绍NBMA网络中的FR网络,所以以下的NBMA网络将由FR网络代替。

        FR网络没有广播功能,而OSPF利用组播传送LSA报文,在FR网络中为了实现广播或者多播功能,路由器复制要广播或者多播的分组,并通过永久虚电路(PVC)发到所有目的地。该过程需要占用大量的CPU和带宽。并且,如果FR网络不是全网互联,例如我们常见的hub-spoken拓扑的FR网络,那么路由发送的信息就不会到达所有的目的路由器,也就无法保证OSPF的正常运行。

        为了解决上述问题,RFC定义了OSPF在NBMA网络中的两种运行模式,Cisco在此基础上增加了三种运行模式,共五种运行模式。通过定义这五种运行模式,克服了OSPF在帧中继网络中运行存在的问题。

2. OSPF在帧中继网络运行的五种模式

五种运行模式分别为:

non-broadcast,point-to-multipoint,point-to-multipoint

non-broadcast,P2P,Broadcast。

其中前两种是RFC定义的,Cisco支持以上五种。

要修改OSPF的运行模式,可以使用命令:


在本实验中需要提前掌握的知识点为:

(1)帧中继网络的基本配置

(2)帧中继网络中动态映射和静态配置的区别

(3)帧中继网络中全互连和hub-spoken结构的区别

(4)OSPF的基本配置

3:五种运行模式的区别

模式一:non-broadcast模式

     此种模式为OSPF在帧中继网络中默认的运行模式,在此模式下,OSPF模仿在广播网络上的运行模式。如果是一个全互连(Full-Mesh)的帧中继网络,不需要指定邻居;如果是一个非全互连(Partial-Mesh)的帧中继网络,则需要手动指定邻居。当网络中邻居不多时,non-broadcast是在NBMA网络中运行OSPF效率最高的方式。

在本试验中,采用的是hub-spoken结构,属于非全互连,所以需要手动指定邻居


模式二:broadcast模式

    当运行OSPF的接口设置为broadcast模式后,此时NBMA网络完全看作是一个广播型链路,类似于以太网。此种选举模式中,需要选举DR和BDR。

请注意:在本模式下,有两条关键命令:

第一条:

frame-relaymap ip ip-address  DLCI号  broadcast

关键字broadcast选项表明可以在这条VC上传播broadcast,multicast帧,所以OSPF的组播报文就可以正常传输,保证了路由协议的正常运行。

第二条:

ip ospf priority

由于OSPF的hello报文的TTL值为1,只能传输1跳。在Hub&Spoken模式下,为了解决OSPF运行混乱问题,需要通过手动配置方式,将DR固定在Hub端。解决方式是将处于Hub的路由器的接口的优先级大于0,其余Spoken端的路由器的接口均为0。

模式三:点到多点(Point-to-multipoint)

    在此模式中,将所有路由器与路由器之间的连接看作是多个点到点链路的集合。无需手动指定邻居,也无需手动指定DR和BDR。

模式四:点到多点非广播(Point-to-multipoint  non-broadcast)

     此种模式下,需要手动指定邻居。

模式五:点到点(point to point)

    此模式运用于点到点子接口。将路由器之间的互联看作是多条点与点链路的集合。与point-to-multipoint的区别在于,point-to-point将Hub端的接口划分为多个逻辑子接口,点与点子接口之间的连接看作是专用VC。每条VC采用组播224.0.0.5发送协议报文,无需选举DR和BDR。

请注意:point-to-point和point-to-multipoint的虽然都可以看作是多个点到点链路的集合,但是他们的的区别在于:hello间隔和死亡时间间隔不一样。



四:实验拓扑图


五:实验配置及结果分析

首先对四台路由器做基本的配置:

基本的配置如下:

R0(config)#hostname FRS

FRS(config)#frame-relay switching

FRS(config)#int s0/1

FRS(config-if)#clock rate 64000

FRS(config-if)#encapsulation frame-relay

FRS(config-if)#frame-relay lmi-type cisco

FRS(config-if)#frame-relay intf-type dce

FRS(config-if)#frame-relay route 102 int s0/2 201

FRS(config-if)#frame-relay route 103 int s0/3 301

FRS(config-if)#no shutdown

FRS(config-if)#int s0/2

FRS(config-if)#no shu

FRS(config-if)#clock rate 64000

FRS(config-if)#encapsulation frame-relay

FRS(config-if)#frame-relay lmi-type cisco

FRS(config-if)#frame-relay intf-type dce

FRS(config-if)#frame-relay route 201 int s0/1 102

FRS(config)#int s0/3

FRS(config-if)#encapsulation frame-relay

FRS(config-if)#clock rate 64000

FRS(config-if)#frame-relay lmi-type cisco

FRS(config-if)#frame-relay intf-type dce

FRS(config-if)#frame-relay route 301 int s0/1 103

以上为FRS(帧中继交换机)的基本配置,在这里请一定注意,本实验采用的是hub-spoken结构,所以在路由器R2和R3之间,并没有进行接口的映射配置。

FRS(config-if)#do show frame-relay rou////查看接口输入和输出对应的DLCI

     第一条命令的含义是:路由器从接口s0/1接口到DLCI=102的数据帧,需要从s0/2接口输出,并且将DLCI替换为201.其余命令的含义类似。

对路由器R1和R2和R3进行基本的配置

R1(config)#int lo 0

R1(config-if)#ip add 1.1.1.1 255.255.255.0

R1(config)#int s0/1

R1(config-if)#no shu

R1(config-if)#no shutdown

R1(config-if)#ip add 192.168.123.1 255.255.255.0

R1(config-if)#encapsulation frame-relay

R1(config-if)#frame-relay lmi-type cisco

R1(config-if)#frame-relay map ip  192.168.123.2 102 broadcast//采用静态映射方式

R1(config-if)#frame-relay map ip 192.168.123.3 103 broadcast

R1(config-if)#frame-relay map ip  192.168.123.1 102////配置自己接口的IP地址的映射

R1(config-if)#no frame-relay inverse-arp//关闭IARP

R1(config)#router ospf 1///OSPF的配置

R1(config-router)#network 1.1.1.0 0.0.0.255 area 0///网段的宣告

R1(config-router)#network 192.168.123.0  0.0.0.255 area 0

同理R2和R3的配置类似,但是由于R1是HUB点,R2和R3是Spoken点,那么配置有存在不一样

R2(config)#int lo 0

R2(config-if)#ip add 2.2.2.2 255.255.255.0

R2(config-if)#no shu

R2(config)#int s0/2

R2(config-if)#no shu

R2(config-if)#ip add 192.168.123.2 255.255.255.0

R2(config-if)#encapsulation frame-relay

R2(config-if)#frame-relay lmi-type cisco

R2(config-if)#frame-relay map ip 192.168.123.1 201 broadcast///关键点201

R2(config-if)#frame-relay map ip 192.168.123.3 201 br////关键点201

R2(config-if)#frame-relay map ip 192.168.123.2 201

R2(config-if)#no frame-relay inverse-arp

R2(config)#router ospf 1

R2(config-router)#network 2.2.2.0 0.0.0.255 area 0

R2(config-router)#network 192.168.123.0 0.0.0.255 area 0

R3的基本配置:

R3(config)#int lo 0

R3(config-if)#ip add 3.3.3.3 255.255.255.0

R3(config-if)#no shu

R3(config-if)#exit

R3(config)#int s0/3

R3(config-if)#no shu

R3(config-if)#no shutdown

R3(config-if)#ip add 192.168.123.3 255.255.255.0

R3(config-if)#encapsulation frame-relay

R3(config-if)#frame-relay lmi-type cisco

R3(config-if)#frame-relay map ip 192.168.123.1 301 b///关键点301

R3(config-if)#frame-relay map ip 192.168.123.2 301 br///关键点301

R3(config-if)#no frame-relay inverse-arp

R3(config)#router ospf 1

R3(config-router)#network 3.3.3.0 0.0.0.255 area 0

R3(config-router)#network 192.168.123.0 0.0.0.255 area 0

以上是基本配置,配置完成之后,

R1#show frame-relay map

由此表明静态映射配置成功

查看路由表生成状态:

R1#show ip route ospf

R1#

发现路由表没有生成。

R1#show ip os neighbor

表明邻居没有生成。

下面针对不同的运行模式找出出现上述问题的原因。

模式一:non-broadcast(缺省模式)

上述实验中,采用的是帧中继网络,默认的OSPF网络类型为NBMA

在NBMA中,不能发送广播或者组播报文,所以路由器的接口之间无法发送LSA,也就无法建立邻居。解决方案是手动指定邻居。

在上述基本配置的基础上,在R1上需要添加的命令为:

R1(config)#router ospf1

R1(config-router)#neighbor 192.168.123.2

R1(config-router)#nei 192.168.123.3

R1(config-router)#int s0/1

R1(config-if)#ip os priority 10

在R2上添加的命令:

R2(config)#int s0/2

R2(config-if)#ip os priority 0

在R3上添加的命令:

R3(config)#int s0/3

R3(config-if)# ip os pri 0

对上述命令的解释:

手动指定邻居(只需要指定一端就可以)之后,邻居可以建立起来。

R1(config-if)#do show ip os nei

邻居关系建立成功,但是请注意:

这里存在修改R1和R2和R3的优先级。

   由于位于spoken位置的R2和R3只和位于hub端的R1通信。由于hello包的TTL为1,那么路由器R1不会转发hello包,这样导致R2和R3无法交流hello包。由于R2和R3的路由器id均比R1大,那么他们就会认为自己是DR,而R1只会认为R3是DR,因为R3的路由器id最大。这样就会导致OSPF运行混乱。为了解决这个问题,将R1的优先级改为最大,R2和R3的优先级均修改为0.不参与DR和BDR的选举。请注意:R2和R3不可以参与BDR的选举,原理同上。

查看路由表:

R2#show ip route ospf

R2与R3之间的下一跳均是自己的非直连邻居。也就是他们之间互访的时候,忽略了R1的中转。

模式二:Broadcast

首先将在NBMA模式中指定邻居的命令删除:

R1(config)#router ospf 1

R1(config-router)#no neighbor 192.168.123.2

R1(config-router)#no neighbor 192.168.123.3

修改网络类型:

在R1,R2,R3上均做如下配置:

R1(config-if)#ipospf network br

查看路由表:

R2(config-if)#do show ip rou os

查看R1的邻居表

R1#show ip os nei

由实验可以看出,无需手动指定邻居,在这个过程中有DR的选举。

重点注意:由于在R1,R2,R3的基本配置命令中,存在关键字broadcast,例如:

R2(config-if)#frame-relay map ip192.168.123.1 201 broadcast

这里broadcast选项表明可以在这条VC上传播broadcast,multicast帧,所以OSPF的组播报文就可以正常传输,保证了路由协议的正常运行。

模式三:Point-to-multipoint

在上述配置的基础上,对R1,R2,R3上均如下配置:

R1/R2/R3(config-if)#ip ospf network point-to-multipoint

查看邻居关系

R1(config-if)#do show ip os nei

由此可以看出,在此种网络类型中,无需指定邻居。也不进行DR和BDR的选举。

模式四:point-to-multipoint NBMA

在上述配置的基础上作如下修改:

R1(config-router)#int s0/1

R1(config-if)#ip ospf network point-to-multipoint non-broadcast///修改模式

R1(config-router)#neighbor 192.168.123.2////指定邻居

R1(config-router)#neighbor 192.168.123.3

分别在R2和R3上做如下修改:

R2(config-if)#int s0/2

R2(config-if)#ip ospf network point-to-multipoint non-broadcast

R3(config-if)#int s0/3

R3(config-if)#ip ospf network point-to-multipoint non-broadcast

查看邻居建立关系:

查看路由表:

路由表成功生成。

模式五:point to point

首先是对位于hub端的R1进行配置

R1(config)#int s0/1

R1(config-if)#no ip add 192.168.123.1 255.255.255.0

R1(config-if)# no frame-relay map ip 192.168.123.2 102 bro////

R1(config-if)#no frame-relay map ip 192.168.123.3 103 bro

R1(config-if)#no frame-relay map ip 192.168.123.1 102 bro

////上述三条命令是将原来主接口下面的静态映射删除

////下面命令是设定子接口,并对子接口进行静态映射

R1(config)#int s0/1.2 po

R1(config)#int s0/1.2 point-to-point

R1(config-subif)#frame-relay interface-dlci 102

R1(config-subif)#ip address 192.168.12.1 255.255.255.0

R1(config-subif)#frame-relay interface-dlci 102

R1(config-fr-dlci)#exit

R1(config-subif)#exit

R1(config)#int s0/1.3 point-to-point

R1(config-subif)#ip add 192.168.13.1 255.255.255.0

R1(config-subif)#frame-relay interface-dlci 103

///下面命令是把子接口的网段宣告进OSPF进程

R1(config)#router ospf 1

R1(config-router)#network 192.168.12.0 0.0.0.255 area 0

R1(config-router)#network 192.168.13.0 0.0.0.255 area 0

下面对位于spoken端的R2和R3进行配置

R2(config)#int s0/2

///首先把主接口下原来的静态映射删除

R2(config-if)#no frame-relay map ip 192.168.123.1 201 br

R2(config-if)#no frame-relay map ip 192.168.123.3 201 br

R2(config-if)#no ip add

////修改主接口的网络类型

R2(config-if)#ip ospf network point-to-point

////保证主接口的ip地址与R1上对应的子接口的ip地址在同一个网段

R2(config-if)#ip add 192.168.12.2 255.255.255.0

R2(config-if)#EXIT

R2(config)#router ospf 1

R2(config-router)#network 192.168.12.0  0.0.0.255 area 0

R2(config-router)# no network 192.168.123.2 0.0.0.255 area 0

R3的配置为:

R3(config)#int s0/3

///首先把主接口下原来的静态映射删除

R3(config-if)#no frame-relay map ip 192.168.123.1 301 br

R3(config-if)#no frame-relay map ip 192.168.123.2 301 br

R3(config-if)#no ip add

////修改主接口的网络类型

R3(config-if)#ip ospf network point-to-point

////保证主接口的ip地址与R1上对应的子接口的ip地址在同一个网段

R3(config-if)#ip add 192.168.13.3 255.255.255.0

R3(config-if)#EXIT

R3(config)#router os

R3(config)#router ospf 1

R3(config-router)#network 192.168.13.0 0.0.0.255 area 0

R3(config-router)#no network 192.168.123.0 0.0.0.255 area 0

做完上述配置之后,查看邻居建立:

R1#show ip os neighbor

由此看出,此时邻居并没有建立成功

重点注意:

     之所以邻居关系没有建立成功,是由于把R1上的主接口ip地址去掉了,取而代之的是使用R1的子接口,所以在做静态映射到时候,需要对应的子接口的映射。

所以,我们需要做的就是在R2和R3的接口下作与子接口的静态映射

在R2上添加如下命令:

R2(config-if)#ints0/2

R2(config-if)#frame-relay map ip 192.168.12.1 201 broadcast

在R3上添加如下命令:

R3(config)#int s0/3

R3(config-if)#frame-relay map ip 192.168.13.1 301 broadcast

查看邻居关系:

R1#show ip os nei

邻居建立成功,但是不选举DR和BDR。

六:总结

       通过对实验的配置分析,得出如下结论:

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 157,298评论 4 360
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 66,701评论 1 290
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 107,078评论 0 237
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,687评论 0 202
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,018评论 3 286
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,410评论 1 211
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,729评论 2 310
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,412评论 0 194
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,124评论 1 239
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,379评论 2 242
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 31,903评论 1 257
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,268评论 2 251
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 32,894评论 3 233
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,014评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,770评论 0 192
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,435评论 2 269
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,312评论 2 260

推荐阅读更多精彩内容