史上最全ospf的说明书

目录

ospf基础知识

ospf的三 五 七 故障排错

ospf的dr和bdr

ospf的多区域配置

lsa解析

特殊区域

路由汇总

区域配置错误的解决办法

ospf选路

ospf的配置错误的排错思路


ospf基础知识

ospf出现的背景

手工配置静态路由过于繁琐且容易出错,就有了动态路由协议

ospf是什么:

开放式最短路径优先协议,选举最优的路由.

适用于中、大型网络规模,常见的场景有:

&政企网,层次化的网络架构

&数据中心内部,用于实现把不同的网段打通

ospf的骨干区域和非骨干区域:

ospf里把area 0 定义为骨干区域,除了骨干区域其他的都是非骨干区域,骨干区域和非骨干区域必须相连

ospf的单区域配置:

拓扑图:

要求:不配置静态路由,实现全网互通

配置:

R1:配置
ospf 1 router-id 1.1.1.1    //指定ospf进程号, 指定router-id
 area 0.0.0.0               //指定区域id
  network 192.168.1.0 0.0.0.255     //宣告直连网段
  network 192.168.12.0 0.0.0.255    //宣告直连网段
  
R2:配置
ospf 1 router-id 2.2.2.2
 area 0.0.0.0 
  network 192.168.23.0 0.0.0.255 
  network 192.168.12.0 0.0.0.255 
  
R3:配置
ospf 1 router-id 3.3.3.3
 area 0.0.0.0 
  network 192.168.23.0 0.0.0.255 
  network 192.168.2.0 0.0.0.255

display  ospf   peer  brief     //查看邻居表简要信息
display  ip routing-table       //查看路由表
PC1  ping  PC2  验证结果  

ospf的三 五 七 故障排错

ospf三个的工作过程

建立邻居-同步数据库-选举最优路由

ospf的五种报文

hello报文:建立,维护,断开邻居

dd报文:用于发送简要的数据库信息

lsr报文:请求自己数据库没有的lsa

lsu报文:对于收到的lsr,更新lsa给对方

lsack:对于收到更新的lsa后,表示确认

ospf的七种状态

down:最开始的状态,发送hello报文

init:发送hello报文,但是hello报文不含自己的router-id

2-way:发送hello报文,而且hello报文含有自己的router-id,邻居关系已经完全建立

exstart:开始建立邻接关系,开始发送第一个dd报文,dd报文中含有数据库的简要信息

exchange:开始交互剩下的dd报文,完成lsa的同步

loading:开始交互剩下的lsr,lsu,lsack

full:邻接关系已经完全建立

这提供几个排错的知识:

路由器停留在init状态:同网段的路由器不能互通,配置了路由的策略,接口未开启

路由器停留在2-way状态:dr没有选举成功

路由器停留在exstart状态:master设备的mtu值小于slave设备的mtu(就是mtu值不一致)

                                            router-id大的为master设备

路由器停留在exchange状态:master设备的mtu值大于slave设备的mtu(就是mtu值不一致)

状态已经是full,但是无法同步数据库:两端的网络类型不一样,例如一端是广播,一端是点对点

ospf的dr和bdr

dr是什么:

dr就相当于大哥,其他的路由器就相当于小弟,所有小弟只需要和大哥建立连接,不需要和旁边的小弟建立连接,

作用

减少邻接关系,加快ospf的数据库的同步,减少了ospf的协议流量

特点:

不可以抢占,选举原则:先比较优先级(默认为1),优先级一样,则比较router-id

修改优先级

[R2-G0/0/0]ospf dr-priority 100 //修改接口的优先级为100

<r1>reset ospf process  //在用户视图下,重启ospf的进程

<r2>reset ospf process

bdr:dr的备份

dr一定存在,bdr可以存在也可以不存在

dr-other

除了dr和bdr其他的路由器都是dr-other

ospf的多区域配置

拓扑图:

 要求:使用ospf要求全网互通

配置:


R1配置:
ospf 1 router-id 1.1.1.1 
  area 0.0.0.12 
    network 192.168.1.0 0.0.0.255 
    network 192.168.12.0 0.0.0.255 
R2配置:
ospf 1 router-id 2.2.2.2 
  area 0.0.0.0 
    network 192.168.23.0 0.0.0.255 
  area 0.0.0.12 
    network 192.168.12.0 0.0.0.255 
R3配置:
ospf 1 router-id 3.3.3.3 
  area 0.0.0.0 
    network 192.168.23.0 0.0.0.255 
    network 192.168.34.0 0.0.0.255
R4配置:
ospf 1 router-id 4.4.4.4 
  area 0.0.0.0 
    network 192.168.34.0 0.0.0.255 
    network 192.168.45.0 0.0.0.255 
R5配置:
ospf 1 router-id 5.5.5.5 
  area 0.0.0.0 
    network 192.168.45.0 0.0.0.255 
  area 0.0.0.56 
    network 192.168.56.0 0.0.0.255 
R6配置
ospf 1 router-id 6.6.6.6 
  area 0.0.0.56 
    network 192.168.2.0 0.0.0.255 
    network 192.168.56.0 0.0.0.255

**常用查询命令**
display  ip interface brief  查看接口IP地址
display  ospf interface 查看dr /bdr信息
display  ospf lsdb  查看ospf数据库信息

lsa解析

一类lsa:用来描述自己的,我在哪个网段,我的子网掩码是多少,我连着谁,用来计算区域内的路由信息和拓扑信息

二类lsa:用来描述dr的子网掩码,同时记录了和dr的相连的路由器的信息,完善区域内的拓扑信息

三类lsa:一类lsa和二类lsa的汇总,发送到其他区域,实现区域与区域之间的通信,每经过一个ABR设备, (通告路由器)都会变化一次,变成所有经过的那台ABR的 Router-id

五类的lsa:由lsdb(连接外部的路由器)产生,用来描述外部的路由信息,他将泛洪到所有区域

四类的lsa:由同时属于lsdb的那个区域的abr产生,帮助其他的abr找到asbr的router-id,为了配合5类的lsa,计算外部路由信息

七类的lsa

-产生的路由器:AdvRouter : NSSA区域的ASBR的Router-id

用于通告NSSA区域的外部路由

特殊区域

作用:为了保护另外一个区域不受外部链路的影响

           减少路由表和数据库的规模,减少设备的压力,减少路由数量

stub区域

作用:保护一个区域不受来自外部链路的影响,避免外部路由对路由器带宽和存储资源的消耗,缩减LSDB和路由表的规模,减少路由信息数量,降低设备负载

不接收,4类和5类的LSA

只接收,1类,2类,3类的LSA

拓扑图:

 配置(ospf多区域的配置这里就不再赘述,这里主要介绍区域的设置和路由的引入):

[R1]ospf 1
[R1-ospf-1]area 12
[R1-ospf-1-area 0.0.0.12]stub

**R6配置**
#
interface GigabitEthernet0/0/0
 ip address 192.168.67.6 255.255.255.0 
#
ip route-static 192.168.3.0  24  192.168.67.7
 

**R7配置**
interface GigabitEthernet0/0/0
 ip address 192.168.67.7 255.255.255.0 
#
interface GigabitEthernet0/0/1
 ip address 192.168.3.254 255.255.255.0 
#
ip route-static 192.168.0.0  16  192.168.67.6

R6上在OSPF进程下引入静态路由
**R6配置**
ospf 1 router-id 6.6.6.6 
   import-route static

外部引入路由:一定要进行宣告进入ospf区域,路由才可以进入

stub-no summary

区域的ABR会自动产生一条默认的3类的LSA,帮助转发数据,相比stub区域多了3类的lsa

配置:

[R1-ospf-1-area 0.0.0.12]stub no-summary

nssa区域

-作用:保护一个区域不受来自外部链路的影响,避免外部路由对路由器带宽和存储资源的消耗,缩减LSDB数据库的规模,减少路由表信息数量,降低设备负载,但是nssa自己区域的设备又可以引入外部路由

-该区域允许接受1类,2类,3类,7类的LSA

-该区域不学习和接受,4类,5类LSA

-NSSA区域的ABR会自动产生表示默认路由的7类的LSA

-NSSA区域的ABR会自动的将7类的LSA转成5类的LSA

-7类的LSA只能在特殊区域NSSA内部传播

-该区域会通过ABR生产成一条默认的7类LSA,用于访问外部网络

(结合了stub区域的特点,但是还可以接收外部的路由)

配置:

[R1-ospf-1-area 0.0.0.12]nssa  

nssa no-summary

该区域不接收3类,4类,5类的lsa

但是该区域会通过ABR生产成一条默认的3类LSA和7类LSA用于访问外部网络

该区域的ABR会自动的将7类的LSA转成5类的LSA

7类的LSA只能在特殊区域NSSA内部传播

路由汇总

概念:将具有多条有相同前缀的路由汇总成一条路由

作用:减少路由条目,减小设备的压力,减小数据库的规模,减小其他区域不稳定链路的影响

区域间的路由汇总:

区域间的路由器上宣告多条路由,在abr上面汇总

拓扑:

配置:

区域间路由汇总:ABR汇总
第一步:配置接口信息(在R1上配置)
interface LoopBack0
  ip address 10.10.1.1 255.255.255.0 
#
interface LoopBack1
  ip address 10.10.2.1 255.255.255.0 
#
interface LoopBack2
  ip address 10.10.3.1 255.255.255.0 
#
interface LoopBack3
  ip address 10.10.4.1 255.255.255.0

interface LoopBack4
  ip address 10.10.5.1 255.255.255.0
  
第二步:宣告路由(在R1上配置)
ospf 1 router-id 1.1.1.1
  area 0.0.0.12
    network 192.168.12.0 0.0.0.255
    network 10.10.1.0 0.0.0.255
    network 10.10.2.0 0.0.0.255
    network 10.10.3.0 0.0.0.255
    network 10.10.4.0 0.0.0.255 
    network 10.10.5.0 0.0.0.255
    
    
第三步:配置ABR汇总信息(在R2上配置-ABR上配置)
ospf 1 router-id 2.2.2.2
  area 0.0.0.12
     abr-summary 10.10.0.0 255.255.0.0

外部路由汇总

拓扑和配置和区域间的路由汇总是一样的,唯一不同点是在asbr上面汇总

区域配置错误的解决办法

情景:骨干区域无法和非骨干区域连接在一起,无论怎么规划都不行

解决方案:

vlink虚拟链路

拓扑图:

 配置(建立一条虚拟链路,指向对方的router-id):

AR2:
ospf 1 router-id 2.2.2.2 
  area 0.0.0.12 
    network 192.168.12.0 0.0.0.255 
  area 0.0.0.34 
    network 192.168.23.0 0.0.0.255 
    vlink-peer 5.5.5.5
    
AR5:
ospf 1 router-id 5.5.5.5 
  area 0.0.0.0 
    network 192.168.56.0 0.0.0.255 
  area 0.0.0.34 
    network 192.168.45.0 0.0.0.255 
    vlink-peer 2.2.2.2

注:十分的脆弱,且很依赖传输区域

多进程导入

一台设备上可以有多个ospf进程,利用这些进程相互独立的特点,通过进程互相引入的方式,学习不同进程下的路由,就像在OSPF中引入其他路由协议一样

拓扑图:

 配置:

AR2配置:
ospf 1 router-id 2.2.2.2 
 import-route ospf 3      //导入ospf进程3
 area 0.0.0.12 
  network 192.168.12.0 0.0.0.255 
#
ospf 3 router-id 2.2.2.2 
 import-route ospf 1      //导入ospf进程1
 area 0.0.0.56 
  network 192.168.23.0 0.0.0.255 

注:多进程导入相当于改变了网络结构,像在OSPF中引入其他路由协议一样

建立隧道

通用路由封装协议,GRE使用Tunnel里面的ip地址,作为建立区域0邻居关系的地址,建立一条隧道,通过隧道地址进行互通,真正的建立邻居的隧道地址,在传输过程中不会解封装,通过隧道地址在区域34进行转发,只有到达隧道的终点,才会解封装,漏出真实的地址,实现了跨越多个网络建立了直连的区域0 的邻居关系(就相当于从东北穿着毛衣去了三亚,到了三亚把衣服脱了下来,你还是你,只是在路途需要毛衣)

拓扑:

 配置:


配置GRE隧道
sysname R2
#
interface LoopBack0
 ip address 20.20.20.20 255.255.255.0   //配置loopback接口,
 做隧道中的源IP地址 ,为什么,因为稳定,不会down


interface Tunnel0/0/3     //创建隧道接口  
 ip address 10.10.10.2 255.255.255.0   //给隧道接口配置IP地址,(在已经建立的隧道, 在ospf中区域0建立邻居)
 tunnel-protocol gre     //把隧道的模式,定义为GRE
 source 20.20.20.20       //进入隧道的数据要进行二次封装,在原始的数据包的IP头部前,在加1层IP头部,封装新的源IP和目的IP                         
 destination 50.50.50.50  //二次封装的目的IP地址
 
 
sysname R5
#
interface LoopBack0
 ip address 50.50.50.50 255.255.255.0
#
interface Tunnel0/0/3
 ip address 10.10.10.5 255.255.255.0 
 tunnel-protocol gre
 source 50.50.50.50
 destination 20.20.20.20

 sysname R2
#
 ospf 1 router-id 2.2.2.2 
 area 0.0.0.0                    //创建区域0
  network 10.10.10.0 0.0.0.255   //把隧道接口的IP地址,宣告进区域0,让R2变成ABR
 area 0.0.0.12 
  network 192.168.12.0 0.0.0.255 
 area 0.0.0.34 
  network 20.20.20.0 0.0.0.255    //把loopback接口的IP地址,宣告进区域34
  network 192.168.23.0 0.0.0.255 
  

 sysname R5
#
ospf 1 router-id 5.5.5.5 
 area 0.0.0.0 
  network 10.10.10.0 0.0.0.255 
  network 192.168.56.0 0.0.0.255 
 area 0.0.0.34 
  network 50.50.50.0 0.0.0.255 
  network 192.168.45.0 0.0.0.255 

注:这种是最好的,最常用的

ospf选路

进入接口视图 输入命令:ospf cost 5 (默认是1),利用自己设置开销值,让流量按照我们自己规划的方向走

这里还扩展一个小知识:ospf type1 和ospf type 2

type 1 :计算内部开销值+外部开开销值

type 2 :只计算外部的开销值

为什么可以在接口上选路,为什么还要设置type 1 和 type 2 ?

当出现两个出口设备的时候,就要设置type1,因为出去和回来的路径不对称就会导致 外网无法访问内网这个需求满足不了(当然不需要这个服务,就当了解)

ospf的配置错误的排错思路

ospf的邻居关系建立不成功的可能的原因

1.路由器id相同

2.区域id不同

3.认证类型不同,不能ping通 

(一端是接口认证,一端是区域认证)

( 一端认证是md5 一端是simple)

4.认证数据不同(密码不同 )

5.hellointerval配置不同

6.routerdeadinterval配置不同

7.接口mtu不同

8.帧中继map映射缺少broadcast关键字

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值