八、路由详细介绍之动态路由OSPF(重点)

时间:2020-04-16 18:04:47   收藏:0   阅读:98

一、OSPF介绍

OSPF优点:无环路、收敛快、扩展性好、支持认证

二、工作原理:

技术图片

       图中RTA、RTB、RTC每个路由器都会生成一个LSA, 通过LSA泛洪进行互相发送相互学习,形成LSDB (链路状态通告数据库),LSDB数据库中存了各路由器的LSA链路状态通告。然后每个路由器拿这个数据库通过SPF算举动进行计算(SPF最短路径树算法),跟据最短路径数型成路由表。 

  LSA链路状态通告,包含:RouterID、网络\掩码信息(路由信息)、领居(谁跟我链在一起的)、网络类型、cost开销值 【领居、网络类型、cost形成拓扑】

  Router-ID 是一个IPV4地址格式的唯一标识,每个RouterID 是唯一的,不能相同

  RouterID:1、手动配置 2、自动选择(不手动配的话他会自动生产一个,先从环回接口、如果没有配环回接口,就从物理接口选择)

  LSDB数据库: 存了各路由器的LSA链路状态通告。

三、OSPF建立邻居关系和邻接关系

技术图片

  OSPF报文类型有5种:

    HELLO报文,

    DD(Database Description)报文,

    LSR(LSA Request)报文

    LSU(LSA Update)报文

    LSACK(Link State Acknowledgment)报文

 

第一过程:

       HELLO报文, 作用打招呼,用来发现、建立和维持OSPF邻居关系, HELLOW报文是组播的型式发送 224.0.0.5,只有相邻的路由器启动了OSPF都会收到HELLOW报文。没问动OSPF的不会收到。 

       RTA使用HELLO发现相邻的RTB和RTC路由器是否开启OSPF,如果启动了会发送HELLO报文 并先会协商一些协议(RouterID \ 发送HELLO报文时间等)、建立连接、每隔10秒时间会相互发送一次HELLO报文维持连接,如要4倍的时间收不到相邻的HELLO报文,就默认为邻居不在线,会自动在路由表中把它删掉

技术图片

 

 第二过程:

DD(Database Description)报文 。 数据描述报文

通过HELLO报文形成邻居后,路由器使用DD报文来进行主从路由器的选举和数据库摘要信息的交互。 

DD报文:包含LSA的头部信息,用来描述LSDB的摘要信息

技术图片

根据RourtID大小来确认路由器的主从关系,图上RTB是主,RTA是从

前三个DD报文确定主从关系,互相交换大家所知道的路由

确证主从关系后,两路由器就形成邻居关系

 

第三过程:

  确定邻居关系后,主路由会先发送一个LSR的请求报名给从路由器,从路由器就把LSU的报文发给主路由,主路由收到后就会向从路由发送一个LSACK确认报文进行确认。

  反之从路由器也会发一个LSR的请求报名给主路由器,主路由器就把LSU的报名发给从路由器,从路由器收到后也会向主路由器发送一个LSACK确认报文进行确认。

  两个主从的路由器只起到谁先请求的作用,不是说以哪个发的报文为准(谁说了算)。

    LSR(LSA Request)报文, 用于向对方请求所需要的LSA

    LSU(LSA Update)报文, 用于向对方发送其所需要的LSA

    LSACK(Link State Acknowledgment)报文 ,用于向对方发送收到LSA的确认

  LSACK报文确认完成后,两路由器间就会形成邻接关系。

技术图片

 四、OSPF配置

[RTA]ospf  1 router-id 1.1.1.1        #router id  在实际操作中为了严谨,必须要手动添加router-id。1指的是进程号
[RTA-ospf-1]area 0                     #区域0  默认把路由器放到区域0里面
[RTA-ospf-1-area-0.0.0.0]network 192.168.1.0 0.0.0.255       #宣告直连网段  反掩码

router-id可以全局配置,但优先级别较低。配置命 令: [R1]router id 11.11.11.11

反掩码计算:255.255.255.255减去当前掩码.。如:255.255.252.0 的反掩码是255.255.255.255 - 255.255.252.0=0.0.3.255

进程号:进程号是本地有效,若不同的路由器之间OSPF对接,两台路由器的OSPF进程号可以不同,这是不会有任何问题的,但是为了保证网络配置的规范性和标准化,建议还是采用相同的进程号。

 

配置案例1:

技术图片

 

1)配置路由器名字和各路由器接口ip

R1:
[Huawei]sysname R1
[R1]int g0/0/0
[R1-GigabitEthernet0/0/0]ip add 192.168.10.1 24
[R1-GigabitEthernet0/0/0]int g 0/0/1
[R1-GigabitEthernet0/0/1]ip add 192.168.1.1 24
R2:
[Huawei]sysname R2
[R2]int g0/0/0
[R2-GigabitEthernet0/0/0]ip add 192.168.10.254                                              
[R2-GigabitEthernet0/0/0]int g0/0/1
[R2-GigabitEthernet0/0/1]ip add 192.168.20.1 24
R3:
[Huawei]sysname R3
[R3]int g0/0/0
[R3-GigabitEthernet0/0/0]ip add 192.168.20.254 24 
[R3-GigabitEthernet0/0/0]int g0/0/1
[R3-GigabitEthernet0/0/1]ip add 192.168.2.1 24 

2)配置环回接口    

interface LoopBack0

R1:
[R1]interface LoopBack 0
[R1-LoopBack0]ip add 1.1.1.1 32
R2:
[R2]int LoopBack 0
[R2-LoopBack0]ip add 2.2.2.2 32
R3:
[R3]interface LoopBack 0
[R3-LoopBack0]ip add 3.3.3.3 32  

3)配置ospf

配router-Id 和区域 并宣告直连网络

R1:
[R1]ospf 1 router-id 1.1.1.1                              #创建ospf的进程 1和添加router-id
[R1-ospf-1]area 0    
[R1-ospf-1-area-0.0.0.0]network 192.168.1.0 0.0.0.255     #宣告直连网段
[R1-ospf-1-area-0.0.0.0]network 192.168.10.0 0.0.0.255    #宣告直连网段
[R1-ospf-1-area-0.0.0.0]network 1.1.1.1 0.0.0.0           #宣告环回地址
R2:
[R2]ospf 1 router-id 2.2.2.2    
[R2-ospf-1]area 0
[R2-ospf-1-area-0.0.0.0]network 192.168.10.0 0.0.0.255
[R2-ospf-1-area-0.0.0.0]network 192.168.20.0 0.0.0.255
[R2-ospf-1-area-0.0.0.0]network 2.2.2.2 0.0.0.0
R3:
[R3]ospf 1 router-id 3.3.3.3    
[R3-ospf-1]area 0
[R3-ospf-1-area-0.0.0.0]network 192.168.20.0 0.0.0.255
[R3-ospf-1-area-0.0.0.0]network 192.168.2.0 0.0.0.255    
[R3-ospf-1-area-0.0.0.0]network 3.3.3.3 0.0.0.0

4)配置完后,PC1可以ping通PC2,同时也能ping通各路由的环回地址

技术图片

 技术图片

常用命令: 

  查看OSPF协议相关运行参数    display ospf brief

  查看OSPF邻居表       display ospf peer

  查看LSDB表          display ospf lsdb

  查看OSPF路由        display ospf routing

  重启ospf进程        reset ospf process

 

五、邻居状态机

 技术图片

上图描述: 

还没建立邻居关系,还没开启ospf状态 (初始化状态)

当开始ospf时,往外发hello报文寻找邻居关系时,状态为lnit

当两个路由器都 收到对方发的hello报文后,形成2-way状态,等同于邻居状态(2-Way状态是最终的邻居状态)

----------------------------------------------------------------------------------------

成为邻居关系后,大家都向外发DD报文选主从关系,变成ExStart状态

确定主从关系后,成为Exchange状态,各自发送目录信息

目录信息(DD)信息交互完后,变成Loading状态,大家相互发送LSR和LSU信息和LSACK信息

LSACK确认完后变成FULL状态。FULL状态是邻接关系的最高状态。

六、OSPF支持的网络类形

广播类型和点对点类形

缺省情况下,OSPF认为网线把两设备连接在一起的都是以太网的网络类形是广播类形。

两设备用串口线连接起来的是PPP类形的网络是点对点网络。

技术图片

 缺省情况下,OSPF认为帧中继NBMA、ATM的网络类型是P2MP

技术图片

七、DR&BDR

DR可以减少广播型网络中的邻接关系的数量

如果大型网络中,每个路由器都建邻接关系太多,当某个路由信息发生变化时,同步时会产生大量的流量,占用带宽。

N*(N-1)/2,计算路由器建立邻居关系的数量,N指路由器。

如果4个路由器都需要建6个邻接关系。当路由器越多时建立的邻接关系太多。

技术图片

任命DR(老大),BDR(老二),其它都是DRother(小弟),像上图

RTA和RTB是DRothers(小弟)他们不需要建立邻接关系,只需要建立邻居关系即可

RTC(BDR 老二)和RTD(DR老大)和小弟间形成邻接关系就行,这样可减少邻接关系数量

 

DR&BDR的选举

DR是基于端口的路由器优先级的值进行选举的。

端口优先级由0-255,1是默认值,数值越大越优先。但0特殊优先级,如果路由器优先级是0,它就不参于选举。

如果路由器端口优先级一样,就拿router-id进行比较

技术图片

 

在OSPF中,如果一个网络己从端口或router-id优先级中选举出DR,如这个路由器端口优先级为100,后又添加了一个新的路由器,他的端口优先级为255,但也不能成为DR或DBR,只能当个小弟。

当DR(老大)路由器挂了,再由BDR(老二)当DR,BDRothers(小弟)中再根据端口或优先级再选举哪个可以成为BDR。

DR和BDR是基于路由器的端口去选举的,同一个路由器不同接口在不同网络中状态是不一样的(有的是DR,有的是BDR,有的是DRother)

技术图片

上图中R8路由器的在上面的网络中EG/0/0/0接口是DR, 而在下面的网络接口E0/0/0就不是DR而是DRother

 

OSPF开销值

OSPF的开销计算公式为带宽参考值/带宽(接口带宽)、

可通过bandwidth-reference命令来设置带宽参考值

技术图片

 手动配置开销值(开销值1-65535)

[R1]int g0/0/0 
[R1-GigabitEthernet0/0/0]ospf cost 20

手动配置设置带宽参考值,(用得少,一般都直接设置开销值)

[R1]ospf 
[R1-ospf-1]bandwidth-reference 100000

 

八、OSPF认证

 认证有两种 方式:MD5和密文

华为ARG3系列路由器运行OSPF时,支持两种认证方式:区域认证和接口认证

技术图片

 

命令:

[R1]int g0/0/0
[R1-GigabitEthernet0/0/0]ospf authentication-mode md5 1 Ehong

 

OSPF认证实验1:

 技术图片

1)、配置路由器名字和各路由器接口ip

R1:
[Huawei]sysname R1
[R1]int g0/0/0
[R1-GigabitEthernet0/0/0]ip add 192.168.10.1 24
[R1-GigabitEthernet0/0/0]int g 0/0/1
[R1-GigabitEthernet0/0/1]ip add 192.168.1.1 24
R2:
 [Huawei]sysname R2
 [R2]int g0/0/0
[R2-GigabitEthernet0/0/0]ip add 192.168.10.254                                              ^
[R2-GigabitEthernet0/0/0]int g0/0/1
[R2-GigabitEthernet0/0/1]ip add 192.168.20.1 24
R3:
[Huawei]sysname R3
[R3]int g0/0/0
[R3-GigabitEthernet0/0/0]ip add 192.168.20.254 24 
[R3-GigabitEthernet0/0/0]int g0/0/1
[R3-GigabitEthernet0/0/1]ip add 192.168.2.1 24   

2)配置环回接口

interface LoopBack0

R1:
[R1]interface LoopBack 0
[R1-LoopBack0]ip add 1.1.1.1 32
R2:
[R2]int LoopBack 0
[R2-LoopBack0]ip add 2.2.2.2 32
R3:
[R3]interface LoopBack 0
[R3-LoopBack0]ip add 3.3.3.3 32    

3)配置ospf

配router-Id 和区域 并宣告直连网络

R1:
[R1]ospf 1 router-id 1.1.1.1      #创建ospf的进程 1和添加router-id
[R1-ospf-1]area 0    
[R1-ospf-1-area-0.0.0.0]network 192.168.1.0 0.0.0.255     #宣告直连网段
[R1-ospf-1-area-0.0.0.0]network 192.168.10.0 0.0.0.255    #宣告直连网段
[R1-ospf-1-area-0.0.0.0]network 1.1.1.1 0.0.0.0      #宣告环回地址
R2:
[R2]ospf 1 router-id 2.2.2.2    
[R2-ospf-1]area 0
[R2-ospf-1-area-0.0.0.0]network 192.168.10.0 0.0.0.255
[R2-ospf-1-area-0.0.0.0]network 192.168.20.0 0.0.0.255
[R2-ospf-1-area-0.0.0.0]network 2.2.2.2 0.0.0.0
R3:
[R3]ospf 1 router-id 3.3.3.3    
[R3-ospf-1]area 0
[R3-ospf-1-area-0.0.0.0]network 192.168.20.0 0.0.0.255
[R3-ospf-1-area-0.0.0.0]network 192.168.2.0 0.0.0.255    
[R3-ospf-1-area-0.0.0.0]network 3.3.3.3 0.0.0.0

配置完后要进行测试保证网络是通的,如果PC1可以ping通PC2,同时也能ping通各路由的环回地址,那就对路由器接口进行加密认证

4)配置OSPF认证加密

R1
[R1]int g0/0/0
[R1-GigabitEthernet0/0/0]ospf authentication-mode md5 1 ehong
R2
[R2]int g0/0/0
[R2-GigabitEthernet0/0/0]ospf authentication-mode md5 1 ehong
[R2-GigabitEthernet0/0/0]int g0/0/1
[R2-GigabitEthernet0/0/1]ospf authentication-mode md5 1 ehong
R3
[R3]int g0/0/0
[R3-GigabitEthernet0/0/0]ospf authentication-mode md5 1 ehong

配置完毕

 

 

 

评论(0
© 2014 mamicode.com 版权所有 京ICP备13008772号-2  联系我们:gaon5@hotmail.com
迷上了代码!