• OSPF 网络类型


    OSPF 网络类型

    原理概述

    OSPF协议定义了4种不同的网络类型分别为广播网络也称为Broadcast网络)、NBMANon-Broadcast Multi-Access网络点到点网络

    也称为Point-to-Point网络或P2P网络和点到多点网络也称为Point-to-Multipoint网络或P2MP网络)。不同类型的网络上OSPF

    协议的工作机制会存在一些差别例如前两种类型的网络都要进行DR和BDR的选举而后两种类型的网络不进行DR和BDR的选举也不存

    在DR和BDR

    默认情况下OSPF协议会根据接口的链路层封装协议去自动设定接口的网络类型以太网接口的默认网络类型为Broadcast串行接口如果

    链路层封装协议是PPP协议Point-to-PointProtocol或HDLCHigh-level Data Link Control Protocol协议则默认网络类型为点到点

    类型ATM或帧中继Frame-Relay接口的默认网络类型为NBMA需要强调的是接口的网络类型是可以根据需要而进行人为修改的

    一特点使得OSPF协议具备了更多的灵活性和更强的适应能力可以满足复杂网络中的各种不同需求

    实验目的

    • 理解OSPF不同网络类型的主要差别
    • 掌握OSPF不同网络类型的配置方法

    网络图:

     

    基本配置:R1、R2和R3的基本配置相同,下面以R3为例的接口基本配置:

     接下来进行路由器的配置。注意,为了在帧中继网络中支持组播及广播报文,必须在配置帧中继映射时添加关键字Broadcast。如果不添加关键字Broadcast,则帧中继接口无法

    封装组播及广播报文。

     

     配置完后,在R1上使用ping命令检测R1和R2之间的连通性:

    2、配置OSPF点到点网络类型:

    在R1和R2上配置OSPF网络协议:

     

     配置完后,在R1的串行接口s4/0/0在OSPF协议中的默认网络类型:

     可以看到,帧中继接口在OSPF协议中的默认网络类型为NBMA,并且需要选择DR和BDR,默认的Hello报文间隔30s,Dead Time的时间是Hello报文间隔的4倍。

    由于企业总部目前只需与一个分支机构通信 ,所以决定在R1和R2上将s4/0/0接口的网络类型修改为点到点类型:

     

     配置完后,在R1上查看OSPF邻居状态和路由表:

     

     可以看到,R1与R2已经自动建立了OSPF邻接关系,并且R1的路由表中也拥有了去往R2的Loopback接口所在网段的路由信息。

      在R1上使用命令 dis  ospf  int  s4/0/0查看 s4/0/0接口上的OSPF信息:

     可以看到,R1的s4/0/0接口的网络类型现在已经变成修改后的点到点类型,Hello报文间隔为10s,Dead  Time的时间也是Hello报文间隔的4倍。

            在R1上使用命令 terminal  debugging  ,然后再使用命令 debugging  ospf  packet  hello对OSPF  Hello报文的情况进行调试:

    不停滚动.......

           可以看到,Hello报文的目的IP地址是组播地址224.0.0.5,并且无需进行DR和BDR的选举。至此,R1和R2已成为了一个典型的OSPF点到点

    网络,路由器通过组播Hello报文自动发现邻居并建立邻接关系,且不需要DR和BDR。

         现在,公司有了一个新增的分支机构,增加的路由器是R3。为了使R3也能够加入原来的OSPF网络,可在R1和R3之间再建立一条帧中继PVC,并将

    其OSPF网络类型配置为点到点类型:

     

     配置完后,在R1上查看OSPF邻居信息:

     观察发现,虽然R1和R2建立起了邻接关系,但R1和R3却不能建立邻接关系。原来,点到点网络的两端只能允许一个专门的接口:现在R1、R2、R3的s4/0/0接口

    都配置成了点到点网络类型,这就意味着R1的s4/0/0接口即工对应R1到R2这个点到点网络,又要对应R1到R3这个点到点网络,而这种情况是无法实现的。解决这

    一问题的方法之一是在R1上增加一个物理接口,其中一个接口对应R1到R2这个点到点网络,另一个接口对应R1到R3这个点到点网络;还有一个方法就是在R1的

    s4/0/0接口下配置两个子接口,两个子接口使用不同网段的IP地址,并分别用来与R2和R3建立点到点网络。第一种方法显然会明显增加设备的成本,第二种方法

    会涉及到诸如重新编址等问题。其实,除了这些方法之外,采用NBMA网络类型应该更能有效地解决问题。

    3、配置OSPF的NBMA及Broadcast网络类型

    配置R1、R2、R3的s4/0/0接口为NBMA类型:

     

     

     NBMA类型是帧中继串行接口运行OSPF时的默认网络类型。NB表示非广播,其含义是指NBMA接口不支持广播或组播报文;MA表示多路访问,在多路

    访问的网络中,OSPF是需要进行DR和BDR的选举的。

      为了验证NBMA网络的特点,可在R1、R2、R3的s4/0/0接口配置帧中继映射时不添加关键字Broadcast,这样一来,即使OSPF希望通过组播形式发

    送Hello报文,链路层也无法对组播Hello报文进行封装,从而导致无法建立邻接关系。

     

     

     

     配置完后,在R1上查看OSPF邻居信息:

     可以看到,R1与R2、R1与R3都无法建立邻接关系,原因是此时每个接口都无法发送组播OSPF Hello报文。NBMA网络类型不支持通过组播方式

    自动发现邻居,而需要通过手动配置来指定邻居,并通过单播OSPF Hello报文来建立邻接关系。

          在R1、R2、R3上使用peer命令指定OSPF邻居:

     

     

     配置完后,查看R1的OSPF邻居信息:

     可以看到,R1与R2、R1与R3现在已经成功建立起了邻接关系。

    查看R1、R2、R3的路由表:

     

     

     观察发现,R1和R3相互都接收到了对方Loopback 0的路由,但是R1的路由表中没有去往R2的Loopback 0的路由,R2的路由表中没有去往R1和R3的Loopback 0的路由,

    R3的路由表中没有去往R2的Loopback 0的路由。

          查看R1的OSPF邻居的详细信息:

     可以看到,R1在s4/0/0接口上存在两个邻居,但是同时也有两个不同的DR。在多路访问的网络中,DR只能有一个,这说明网络存在故障。

     目前,R1、R2、R3的s4/0/0接口都工作在NBMA模式下,需要选举DR和BDR,而R1、R2、R3的s4/0/0接口的DR优先级值都是1,因此Router-ID最大的路由器将

    被选举为DR。但是,由于R2与R3之间缺少了PVC,导致R2和R3都认为各自的OSPF网络中只存在邻居R1,所以R2和R3都认为自己是DR,而R1为BDR。

          在R1上使用命令 display  ospf  int  s4/0/0查看s4/0/0接口的OSPF详细信息:

     可以看到,R1认为R3是OSPF网络的DR,自己是BDR。尽管在R1的邻居表中显示R2也是DR,但是在R1的s4/0/0接口的详细信息中显示的DR却是R3,导致的结果是,

    R1和R3之间路由信息可以正常传递,但R1和R2之间的路由信息传递却出现了问题。

            要解决这个问题,就必须要确保DR有且只有一个。对于目前这个具有Hub-Spoke结构的网络,应该保证Hub成为DR路由器,Spoke端R2和R3成为DRother路由器。

     

     

     配置完后,在R1上使用命令dis  ospf  int  s4/0/0查看 s4/0/0接口的OSPF详细情况:

     可以看到,现在R1已经是DR了。

    查看R1、R2、R3的路由表:

     

     

     可以看到,现在每台路由器都获得了其他路由器的Loopback 0的路由,R2去往10.0.3.3的下一跳是R3的10.0.123.3,R3去往R2的下一跳是R2的10.0.123.2。

      测试R2和R3的Loopback 0接口之间的连通性:

     可以看到,R2与R3的连通性存在问题。虽然路由表中彼此有了去往对方的路由,但网络仍然无法进行正常通信。

             在R2上测试去往R3的Loopback 0接口的下一跳10.0.123.3是否可达:

     可以看到,10.0.123.3对于R2是不可达的。

            在R2上查看是否存在去往10.0.123.3的映射,在R3上查看是否在了在去往10.0.123.2的映射:

     

     可以看到,R2的帧中继映射表中缺少了去往10.0.123.3的映射 , R3的帧中继映射表中缺少了去往10.0.123.2的映射。

            为了解决R2和R3之间的互通性问题,可以在R2与R3之间增加一条PVC,使得网络成为全互联的状态。增加一条PVC不仅可以解决R2与R3之间

    通信问题,而且还可以避免之前遇到的DR选举问题。需要说明的是,对于小型网络而言,增加PVC的数量使网络保持全互联状态的确是可行的做法,

    但是对于规模不断扩大的网络而言,这种方法所需增加的PVC数量会急剧增长,各种成本和工作量也会随之猛增,最终会变得理论上可行而实际上无法

    接受。

           还有另一种方法可以用来解决R2和R3之间的互通性问题,就是不增加新的PVC,而是在R2和R3上分别配置去往10.0.123.3和10.0.123.2的帧中继

    映射条目,即R2利用DLCI 201这行PVC经R1中转去往10.0.123.3,R3利用DLCI 301这条PVC经R1中转去往10.0.123.2。

     

     配置完后,在R2、R3上查看映射信息:

     

     可以看到,R2有了去往10.0.123.3的映射,R3有了去往10.0.123.2的映射。

            测试R2和R3的Loopback 0接口之间的连通性:

     可以看到,现在R2和R3之间实现了互通,R2和R3的Loopback 0接口之间可以正常通信了。至此,R1、R2、R3构成了一个典型的OSPF NBMA网络,它不支持

    通过组播OSPF Hello报文自动发现邻居并建立邻接关系,而需要通过手工指定邻居,同时网络还需要进行DR和BDR的选举。

           我们还可以将R1、R2、R3组成的网络修改为OSPF Broadcast类型的网络,但是这有个前提,就是网络中的PVC必须支持广播。不过,先尝试一下在配置帧中

    继映射时不添加关键字Broadcast,看看情况会怎么样:

     

     

     

     配置完后,在R1上使用dis  ospf  peer  b命令查看OSPF邻居信息:

     可以看到,R1没有建立起任何邻居关系。

      重新修改接R1、R2、R3的s4/0/0接口的帧中继映射,添加关键字Broadcast:

     

     

     配置完后,在R1上使用dis  ospf  peer命令来查看OSPF邻居信息:

     可以看到,R1被 选举为了DR,而R2和R3的接口因为DR优先级的值已被设置为0,所以没有参加选举。

      测试R2和R3的Loopback 0接口之间的连通性:

     可以看到,R2和R3之间可以互通,R2和R3的Loopback 0接口之间可以正常通信。至此,R1、R2、R3已构成了一个OSPF Broadcast网络,它通过组播OSPF Hello报文

    自动发现邻居并建立邻接关系,并且需要进行DR和BDR的选举。

    4、配置OSPF的点到多点网络类型

      接下来,将现在的网络类型修改配置为点到多点网络。点到多点类型与点到点类型非常相似,点到多点网络可以理解为由多个点到点网络组成,它通过组播OSPF Hello报文

    自动发现邻居并建立邻接关系,不选举也不存在DR和BDR。

     

     

     

     

     

     上述配置完后,在R1上查看OSPF邻居信息和路由表:

     

     可以看到,R1自动与R2和R3建立了OSPF邻接关系,不存在DR和BDR,R1的路由表中拥有去往R2和R3的Loopback 0接口的路由。

      在R2和R3上查看OSPF邻居信息和路由表:

     

     

     

     可以看到,通信正常。至此,R1、R2、R3构成了一个OSPF点到多点网络。最后需要指出的是,与其他OSPF网络类型相比,

    在Hub-Spoke的网络结构上应用点到点网络类型是最为合适的,配置工作也最为简便。

  • 相关阅读:
    iOS 打电话 发邮件
    iOS
    varchar(50)能存50个汉字
    CSS 内联元素
    mysql修改用户密码的方法
    PHP error_reporting(0)
    索引数组和关联数组
    ubuntu文件夹右键没有共享选项
    Ubuntu安装samba的问题
    安卓.开发规范(高级)
  • 原文地址:https://www.cnblogs.com/duanqibo/p/16214536.html
Copyright © 2020-2023  润新知