CCNP之OSPF网络类型简析

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CCNP之OSPF网络类型简析相关的知识,希望对你有一定的参考价值。

参考技术A     关于OSPF网络类型的相关文档,随便一搜就可以搜到很多,但是细读后会发现,有些文档讲解的不够透彻,有些文档讲解的比较零散,结合众家之所长,以及自己多年的实战经验,最后总结一下,希望对大家有帮助,也希望各位大牛提出宝贵意见。 如果对你有所帮助,有钱的打赏,没钱的点赞,剩下的自己看着办。

1.1 OSPF网络类型诞生原因

      OSPF协议是工作在三层网络层,其所运行的数据链路层对应的有多种物理链路类型,为了能够适应数据链路层不同的网络环境,OSPF定义了四种网络类型。

     OSPF所运行的数据链路层的链路类型有三种:点到点(P2P),广播型,NMBA。

所对应的网络类型为:点到点(P2P),广播(Broadcast),NBMA,虚链路。

(网上所谓的:五种网络类型或者是六种网络类型,这是由于在NBMA网络类型下,RFC和Cisco定义了OSPF在NBMA网络中的运行模式,我们也可以将这些运行模式看作是每一种网络类型。)

1.2 物理链路类型

三种主要物理链路类型的特点:

(1)点到点(P2P):路由设备的接口通过点对点的方式与另一台路由设备相连,使用HDLC或者PPP封装。

(2)广播型:广播多路访问,目前而言对应的主要是以太网链路。

(3)NBMA(非广播多路访问):目前而言对应的是主要是帧中继网络链路。

  小知识点:广播多路访问和非广播多路访问的区别:

   广播多路访问是指多台路由器通过一台交换机连接在一起,如果连接在交换机上的一台路由器发送一个广播包,那么连接在此交换机上的其他路由器也是可以收到此广播包的。

    NBMA一般是指路由器通过帧中继网络连接在一起,如果路由器想发送包给其余N个路由器,那么就需要发送N个数据包,通过帧中继网络上的N条PVC传给对应的路由器,也就是发送数据包没有广播的能力。

1.3 OSPF网络类型

四种网络类型的特点:

1:点到点网络(P2P):当链路层采用PPP或者是HDLC封装时,OSPF缺省网络类型是P2P。此种网络类型的特点是:OSPF使用组播地址224.0.0.5发送协议报文。无需选举DR和BDR。

2:广播型网络(Broadcast):当链路层封装为Ethernet、FDDI时,OSPF缺省认为网络类型是广播型。此种网络类型中,需要进行DR和BDR的选举。DRothers使用224.0.0.6向DR和BDR发送协议报文,当DR接收到数据包并确认后,使用224.0.0.5泛洪数据包给其他的DRothers。

3:NBMA(Non-Broadcast  Multiple Access)网络:当数据链路层封装类型为FR,ATM时,OSPF缺省认为网络类型为NBMA。在这种网络类型中,NBMA是不可以发送组播报文。

(请注意:当数据链路封装为FR时,由于此种网络缺省情况下路由器不发送广播消息,那么OSPF的以组播形式发送的LSA报文无法到达,由此会导致无法生成路由表,针对此问题,RFC以及Cisco均提出了解决方案,即提出了OSPF在帧中继网络中的运行模式。关于这种解决方案,后续会有专门的文档进行讲解。)

4:虚链路:是点到点的一种特殊配置,在虚链路上OSPF是以单播的形式发送报文,并不在意链路是什么类型,关键是虚链路两段可以实现互通。

      以上四种是OSPF基本的网络类型,在NBMA网络中,为了解决OSPF无法传播组播报文而导致的OSPF无法运行的问题,RFC和Cisco提出了相对应的运行模式,这些运行模式对应的也可以看做是网络类型,在此进行一下简单介绍,在后续文档会有结合实验配置的详细介绍。

五种运行模式分别为:

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

non-broadcast,P2P,Broadcast。

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

将上述五种运行模式看作是网络类型后,那么除去与基本网络类型重叠的部分,所有的网络类型可以总计如下表格:

1.4 网络类型的修改

网络类型是可以在接口上进行修改的,修改的命令是:

router(config-if)#ip ospf network network_type     #将该接口的OSPF网络类型设置为某一个网络类型。

其中network_type为point-to-point,broadcast,non-broadcast,point-to-multipoint,point-to-multipoint non-broadcast中的任意一种。

1.5 实验验证

实验拓扑图如下:

第一步:对R1和R2做基本的配置:

R1的基本配置为:

R1(config)#int s1/0

R1(config-if)#ip add 192.168.12.1 255.255.255.0

R1(config-if)#no shu

R1(config)#int lo 0

R1(config-if)#ip add 1.1.1.1 255.255.255.0

R1(config-if)#no shu

R1(config-if)#exit

R1(config)#router ospf 1

R1(config-router)#router-id 1.1.1.1

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

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

R2的基本配置为:

R2(config)#int s1/0

R2(config-if)#ip add

R2(config-if)#ip address 192.168.12.2 255.255.255.0

R2(config-if)#no shu

R2(config-if)#exit

R2(config)#int lo 0

R2(config-if)#no shutdown

R2(config-if)#ip add 2.2.2.2 255.255.255.0

R2(config-if)#exit

R2(config-router)#router-id 2.2.2.2

R2(config-router)#network 192.168.12.00.0.0.255 area 0

R2(config-router)#network 2.2.2.00.0.0.255 area 0

基本的配置完成之后,查看路由表并进行测试:

R2(config)#do show ip rou

C192.168.12.0/24 is directly connected,Serial1/0

1.0.0.0/32 is subnetted, 1 subnets

O1.1.1.1 [110/65] via 192.168.12.1,00:00:03, Serial1/0

2.0.0.0/24 is subnetted, 1 subnets

C2.2.2.0 is directly connected, Loopback0

R2#ping 1.1.1.1

Type escape sequence to abort.

Sending 5, 100-byte ICMP Echos to 1.1.1.1, timeout is 2 seconds:

!!!!!

Success rate is 100 percent (5/5), round-trip min/avg/max =8/25/44 ms

由此基本的配置成功。

第二步:修改网络类型

(1) point-to-point

对上述拓扑图完成基本的配置之后,不做任何网络类型修改,show相关内容。

R2#show ip ospf int s1/0

Serial1/0 is up, line protocol isup

Internet Address 192.168.12.2/24, Area 0

Process ID 1, Router ID 2.2.2.2, Network Type POINT_TO_POINT , Cost: 64

Transmit Delay is 1 sec, State POINT_TO_POINT

Timer intervals configured, Hello 10, Dead40, Wait 40, Retransmit 5

由此可以看出,当采用路由器的接口为串口时,默认的OSPF接口类型为point-to-point.

R2#show ip ospf neighbor

由此可以看出点到点的网络不进行DR和BDR的选举。

(2)第二种网络类型:Broadcast

在R1和R2上分别作如下修改:

R1(config-if)#int s1/0

R1(config-if)#ip ospf network broadcast

R2config-if)#int s1/0

R2(config-if)#ip ospf network broadcast

修改后

R1#show ip os int s1/0

Serial1/0 is up, line protocol isup

Internet Address 192.168.12.1/24, Area 0

Process ID 1, Router ID 1.1.1.1, Network Type BROADCAST , Cost: 64

Transmit Delay is 1 sec, State BDR, Priority 1

Designated Router (ID) 2.2.2.2, Interface address 192.168.12.2

Backup Designated router (ID) 1.1.1.1, Interface address 192.168.12.1

Timer intervals configured, Hello 10, Dead 40, Wait 40, Retransmit 5

oob-resync timeout 40

由此看出,接口的网络类型已经发生改变。

R1(config)#do show ip os ne

(3)non-broadcast

在R1和R2上分别作如下修改:

R1(config-if)#int s1/0

R1(config-if)#ip ospf network non-broadcast

R2config-if)#int s1/0

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

查看R1的s1/0的接口类型,请注意黑体字部分。

R1(config-if)#do show ip os int s1/0

Serial1/0 is up, line protocol isup

Internet Address 192.168.12.1/24, Area 0

Process ID 1, Router ID 1.1.1.1, Network Type NON_BROADCAST , Cost: 64

Transmit Delay is 1 sec, State WAITING, Priority 1

No designated router on this network

No backup designated router on this network

Timer intervals configured, Hello 30, Dead 120, Wait 120, Retransmit 5

oob-resync timeout 120

查看NBMA网络邻居关系:

R1#show ip os neighbor

R1#

可以看出,没有形成邻居关系。这是由于NBMA网络不能发送广播报文,所以需要手动指定邻居。

R1(config)#router ospf 1

R1(config-router)#neighbor 192.168.12.2////只需要手动指定一端就可以

R1(config)#do show ip os nei

查看邻居的建立关系:

R1(config)#do show ip os nei

(4)point-to-multipoint

在R1和R2上分别作如下修改:

R1(config-if)#int s1/0

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

R2config-if)#int s1/0

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

查看R1的s1/0的接口类型,请注意黑体字部分。

R1(config-if)#do show ip os int s1/0

Serial1/0 is up, line protocol is up

Internet Address192.168.12.1/24, Area 0

Process ID 1, Router ID1.1.1.1, Network Type POINT_TO_MULTIPOINT , Cost: 64

Transmit Delay is 1 sec,State POINT_TO_MULTIPOINT

Timer intervalsconfigured, Hello 30, Dead 120, Wait 120, Retransmit 5

oob-resync timeout 120

查看point-to-multipoint网络邻居关系:

R1#show ip os nei

发现形成邻居关系,但是不进行DR和BDR的选举。

(5)point-to-multipoint no-broadcast

在R1和R2上分别作如下修改:

R1(config-if)#int s1/0

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

R2config-if)#int s1/0

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

查看R1的s1/0的接口类型,请注意黑体字部分。

R1(config-if)#do show ip os int s1/0

Serial1/0 is up, line protocol is up

Internet Address192.168.12.1/24, Area 0

Process ID 1, Router ID1.1.1.1, Network Type POINT_TO_MULTIPOINT , Cost: 64

Transmit Delay is 1 sec,State POINT_TO_MULTIPOINT

Timer intervalsconfigured, Hello 30, Dead 120, Wait 120, Retransmit 5

oob-resync timeout 120

Hello due in 00:00:28

这里比较特殊请注意,查看到接口类型为POINT_TO_MULTIPOINT,只有通过show run才可以看到真正的网络类型

查看point-to-multipoint non-broadcast网络邻居关系:

R1#show ip os nei

R1#

可以看出没有形成邻居关系,这时候需要手动指定邻居。

R1(config)#router os 1

R1(config-router)#nei 192.168.12.2

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

可以看出通过指定邻居之后,邻居形成。但是没有DR和BDR的选举。

     通过上述实验, OSPF 协议的网络类型的种类和特点,以及邻居关系的建立更加清晰,网络类型的不同,那么 hello 时间有可能不同,直接影响 OSPF 邻居关系的建立。所以在不同的网络类型中,对于OSPF的配置要特别小心。

大型公司网络之——OSPF高级配置(实验)

OSPF高级配置

路由重分发:

一.理解路由重分发:

1.一个单一IP路由协议是管理网络中IP路由的首选方案

2.Cisco ISO能执行多个路由协议,每一个路由协议和该路由协议所服务的网络属于同一个自治系统

3.Cisco ISO使用路由重分发特性以交换不同协议创建的路由信息

二.路由重分发的考虑:

1.度量值

2.管理距离

三.重分发到OSPF域中路由的路径类型:


1.类型1的外部路径(type1 external path,E1)

2.类型2的外部路径(type2 external path,E2)

路由重分发配置

一.路由重分发配置命令:

Router(config-router)#redistribute protocol metric metric-value metric-type type-value subnets

二.OSPF与RIP重分发配置实例:

router rip

  redistribute ospf 1metric 10

router ospf 1

  redistribute rip metric 200 subnets
三.OSPF重分发静态路由配置实例:
router ospf 1

  redistribute static metric 100 subnets metric-type2
四.OSPF重分发默认路由配置实例:
router ospf 1

  network 192.168.0.0 0.0.0.255 area 0

  default-information originate metric 10 netric-type 1

ip route 0.0.0.0 0.0.0.0 10.0.1.1

OSPF高级配置实验:(GNS3中拓扑图如下)

技术图片

实验环境准备:GNS3及与之相连的CRT

实验中需要用到的协议有:默认路由协议、静态路由协议、RIP协议、OSPF协议

打开GNS3后:
1.拖出六个路由器(每台路由器需要右键点击选择configure,在Slots中添加一个端口NM-1FE-TX,点击OK添加)
2.四台PC机
3.将R6的 图标改为cloud(这里作为电信运营商)

其中:
1.area1和area2都为ospf协议
2.R4到R5段为RIP协议
3.R3担任ABR的角色

第一步:根据拓扑图上的端口环境配置端口地址:

R1:

  R1#conf t
  R1(config)#int f0/0    
  R1(config-if)#ip add 192.168.10.1 255.255.255.0
  R1(config-if)#no shut
  R1(config-if)#int f0/1
  R1(config-if)#ip add 192.168.20.1 255.255.255.0
  R1(config-if)#no shut
  R1(config-if)#ex
  R1(config)#ip route 0.0.0.0 0.0.0.0 192.168.20.0                  //末梢网络环境配置默认路由出去,指向下一跳地址

R2:

  R2#conf t
  R2(config)#int f0/1
  R2(config-if)#ip add 192.168.20.2 255.255.255.0
  R2(config-if)#no shut
  R2(config-if)#ex
  R2(config)#int f0/0
  R2(config-if)#ip add 192.168.30.1 255.255.255.0
  R2(config-if)#no shut
  R2(config-if)#ex
  R2(config)#router ospf 1                                                                  //启用OSPF进程1
  R2(config-router)#router-id 2.2.2.2                                                 //标注router-id
  R2(config-router)#network 192.168.30.0 0.0.0.255 area 1             //宣告30段落的网段,在area1中
  R2(config-router)#ex
  R2(config)#ip route 192.168.10.0 255.255.255.0 192.168.20.1      //做静态路由
  R2(config)#router ospf 1                                                                  //启用OSPF进程1
  R2(config-router)#redistribute connected subnets                         //直连网段20段落注入
  R2(config-router)#redistribute static subnets                                 //静态网段10段落注入
  R2(config-router)#ex

R3:

  R3#conf t
  R3(config)#int f0/0
  R3(config-if)#ip add 192.168.30.2 255.255.255.0
  R3(config-if)#no shut
  R3(config-if)#int f0/1
  R3(config-if)#ip add 192.168.40.1 255.255.255.0
  R3(config-if)#no shut
  R3(config-if)#int f1/0
  R3(config-if)#ip add 12.0.0.1 255.255.255.0
  R3(config-if)#no shut
  R3(config-if)#int f2/0
  R3(config-if)#ip add 192.168.70.1 255.255.255.0
  R3(config-if)#no shut
  R3(config-if)#do show ip int b
  Interface                  IP-Address      OK? Method Status                Protocol
  FastEthernet0/0            192.168.30.2    YES manual up                    up      
  FastEthernet0/1            192.168.40.1    YES manual up                    up      
  FastEthernet1/0            12.0.0.1        YES manual up                    up      
  FastEthernet2/0            192.168.70.1    YES manual up                    up      
  R3(config-if)#ex
  R3(config)#ip route 0.0.0.0 0.0.0.0 12.0.0.2                               //配置默认路由出去,指向下一跳
  R3(config)#router ospf 1                                                            //启用OSPF进程1
  R3(config-router)#router-id 3.3.3.3                                            //标注router-id
  R3(config-router)#network 192.168.30.0 0.0.0.255 area 1        //在area1中宣告30段
  R3(config-router)#network 192.168.40.0 0.0.0.255 area 0        //在area0中宣告40段
  R3(config-router)#network 192.168.70.0 0.0.0.255 area 0        //在area0中宣告70段
  R3(config-router)#default-information originate                         //注入外部默认路由 
  R3(config-router)#ex

R4:

  R4#conf t
  R4(config)#int f0/0
  R4(config-if)#ip add 192.168.40.2 255.255.255.0
  R4(config-if)#no shut
  R4(config-if)#int f0/1
  R4(config-if)#ip add 192.168.50.1 255.255.255.0
  R4(config-if)#no shut
  R4(config-if)#ex
  R4(config)#router rip                                                         //配rip协议
  R4(config-router)#ver 2
  R4(config-router)#no auto-summary
  R4(config-router)#network 192.168.50.0
  R4(config-router)#redistribute ospf 1 metric 5                  //注入ospf协议包含进程号和度量值
  R4(config-router)#ex
  R4(config)#router ospf 1                                                  //启用OSPF进程1
  R4(config-router)#router-id 4.4.4.4                                  //标注router-id
  R4(config-router)#network 192.168.40.0 0.0.0.255 area 0
  R4(config-router)#redistribute rip subnets                       //注入rip协议
  R4(config-router)#ex

R5:

  R5#conf t
  R5(config)#int f0/0
  R5(config-if)#ip add 192.168.50.2 255.255.255.0
  R5(config-if)#no shut
  R5(config-if)#int f0/1
  R5(config-if)#ip add 192.168.60.1 255.255.255.0
  R5(config-if)#no shut
  R5(config-if)#ex
  R5(config-if)#router rip                                                           //配rip协议 
  R5(config-router)#ver 2
  R5(config-router)#no auto-summary
  R5(config-router)#network 192.168.50.0
  R5(config-router)#network 192.168.60.0
  R5(config-router)#ex

R6:

  R6#conf t
  R6(config)#int f0/0
  R6(config-if)#ip add 12.0.0.2 255.255.255.0
  R6(config-if)#no shut
  R6(config-if)#int f0/1
  R6(config-if)#ip add 13.0.0.1 255.255.255.0
  R6(config-if)#no shut
  R6(config-if)#ex
  R6(config)#ip route 192.168.0.0 255.255.0.0 12.0.0.1          //配静态路由

第二步:进入四台客户机配置IP地址和网关:

1客户机>ip 192.168.10.2 192.168.10.1
2客户机>ip 192.168.70.2 192.168.70.1
3客户机>ip 13.0.0.13 13.0.0.1
4客户机>ip 192.168.60.2 192.169.60.1

第三步:进行全网互通测试:

进入PC1

PC1>ping 192.168.70.2 -t(长ping测试)
PC1>ping 192.168.60.2 -t(长ping测试)
PC1>ping 13.0.0.13 -t(长ping测试)
结果如下图,达成全网互通,实验成功!

技术图片

第四步:查看所有网段是否全部互相学习了

R1:

R1(config)#do show ip route
......(省略部分显示)
C    192.168.10.0/24 is directly connected, FastEthernet0/0
C    192.168.20.0/24 is directly connected, FastEthernet0/1
S*   0.0.0.0/0 [1/0] via 192.168.20.2

R2:

R2(config)#do show ip route
......(省略部分显示)
C        192.168.30.0/24 is directly connected, FastEthernet0/0
O  E2 192.168.60.0/24 [110/20] via 192.168.30.2, 00:12:45, FastEthernet0/0
S        192.168.10.0/24 [1/0] via 192.168.20.1
O  IA  192.168.40.0/24 [110/20] via 192.168.30.2, 01:43:09, FastEthernet0/0
C        192.168.20.0/24 is directly connected, FastEthernet0/1
O  E2 192.168.50.0/24 [110/20] via 192.168.30.2, 00:12:45, FastEthernet0/0
O  IA  192.168.70.0/24 [110/11] via 192.168.30.2, 01:42:47, FastEthernet0/0
O *E2 0.0.0.0/0 [110/1] via 192.168.30.2, 01:41:24, FastEthernet0/0

R3:

R3(config)#do show ip route
......(省略部分显示)
C        192.168.30.0/24 is directly connected, FastEthernet0/0
O  E2 192.168.60.0/24 [110/20] via 192.168.40.2, 00:21:06, FastEthernet0/1
O  E2 192.168.10.0/24 [110/20] via 192.168.30.1, 01:51:31, FastEthernet0/0
C        192.168.40.0/24 is directly connected, FastEthernet0/1
O  E2 192.168.20.0/24 [110/20] via 192.168.30.1, 01:51:31, FastEthernet0/0
          12.0.0.0/24 is subnetted, 1 subnets
C        12.0.0.0 is directly connected, FastEthernet1/0
O  E2 192.168.50.0/24 [110/20] via 192.168.40.2, 00:21:07, FastEthernet0/1
C        192.168.70.0/24 is directly connected, FastEthernet2/0
S*       0.0.0.0/0 [1/0] via 12.0.0.2

R4:

R4(config)#do show ip route
......(省略部分显示)
O IA 192.168.30.0/24 [110/20] via 192.168.40.1, 00:24:05, FastEthernet0/0
R    192.168.60.0/24 [120/1] via 192.168.50.2, 00:00:00, FastEthernet0/1
O E2 192.168.10.0/24 [110/20] via 192.168.40.1, 00:24:05, FastEthernet0/0
C    192.168.40.0/24 is directly connected, FastEthernet0/0
O E2 192.168.20.0/24 [110/20] via 192.168.40.1, 00:24:05, FastEthernet0/0
C    192.168.50.0/24 is directly connected, FastEthernet0/1
O    192.168.70.0/24 [110/11] via 192.168.40.1, 00:24:05, FastEthernet0/0
O*E2 0.0.0.0/0 [110/1] via 192.168.40.1, 00:24:07, FastEthernet0/0

R5:

R5(config)#do show ip route
......(省略部分显示)
R    192.168.30.0/24 [120/5] via 192.168.50.1, 00:00:20, FastEthernet0/0
C    192.168.60.0/24 is directly connected, FastEthernet0/1
R    192.168.10.0/24 [120/5] via 192.168.50.1, 00:00:20, FastEthernet0/0
R    192.168.40.0/24 [120/5] via 192.168.50.1, 00:00:20, FastEthernet0/0
R    192.168.20.0/24 [120/5] via 192.168.50.1, 00:00:20, FastEthernet0/0
C    192.168.50.0/24 is directly connected, FastEthernet0/0
R    192.168.70.0/24 [120/5] via 192.168.50.1, 00:00:20, FastEthernet0/0
R*   0.0.0.0/0 [120/1] via 192.168.50.1, 00:00:10, FastEthernet0/0

R6:

R6(config)#do show ip route
......(省略部分显示)
     12.0.0.0/24 is subnetted, 1 subnets
C       12.0.0.0 is directly connected, FastEthernet0/0
     13.0.0.0/24 is subnetted, 1 subnets
C       13.0.0.0 is directly connected, FastEthernet0/1
S    192.168.0.0/16 [1/0] via 12.0.0.1

以上实验就是在大型企业网络中会应用到的OSPF的高级配置,希望能给大家带来帮助,大家也可以使用GNS3根据上面的步骤进行操作。谢谢!

以上是关于CCNP之OSPF网络类型简析的主要内容,如果未能解决你的问题,请参考以下文章

大型公司网络之——OSPF高级配置(实验)

怎样修改ospf网络类型

再回顾CCNP之OSPF邻居建立时的几个状态

OSPF不同的网络类型

ccnp大型园区网实现思路解析

CCNP部分截取之路由重分发技术