OSPF路由协议概述

OSPF路由协议           OSPF配置命令

一,基本概述
    1,邻居路由器:位于同一条物理链路或物理网段上的路由器

    2,链路状态数据库:也称为拓扑数据库,它包含所有路由器。路由器的链路以及这些链路的状态,还包含所有网络以及到达这些网络的所有路径
    3,邻接关系:当两台运行OSPF写一的邻居路由器的链路状态数据库达到一致(同步时),它们就是完全邻接的

    4,运行RIP路由协议的路由器只需要保存一张路由表,而使用OSPF路由协议的路由器需要保存以下三张表
        ·邻居列表:列出每台路由器已经建立邻接关系的全部邻接路由器
        ·链路状态数据库(LSDB):列出网络中其他路由器信息,由此显示了全网的网络拓扑
        ·路由表:列出通过SPF算法计算出的到达每个项相连网络的最佳路径

    △OSPF是一种链路状态的路由协议,不会产生环路问题,因此不需要使用最大跳数等限制来防止环路的产生
    △OSPF将AS分割成多个小的区域,OSPF的路由器只在区域内部学习完整的链路状态信息,而不必了解整个AS内部所有的链路状态




二,Router ID
    1,因为运行OSPF的路由器要了解每条链路时链接在哪个路由器上的,因此,就需要由一个唯一的表示来标记OSPF网络中的路由器,这个表示成为Router ID。
    2,Router ID是OSPF区域内唯一表示路由器的IP地址,Cisco路由器通告下面的方法得到它们的Router ID。
    3,首先,路由器选取它所有Loopback接口上数值最高的IP地址。
    4,如果路由器没有配置Loopback皆苦的IP地址,那么路由器就在所有活动物理端口中选取一个数值最高的IP地址作为路由器的Router ID。用作Router ID的路由器接口不一定非要运行OSPF协议。
    5,使用Loopback接口作为Router ID的主要好处是Loopback接口比任何其他的物理端口都更稳定,一定能路由器启动成功,这个换回接口就会处于活动状态,只有整个路由器失效时他才会小时。
    6,在OSPF协议中可以通告router-id命令指定路由器的Router ID,所以网络管理员可以配置便于记忆的Router ID值
    7,在实际工程中配置OSPF时都需要手工指定路由器的Router ID,这已经成为了一种标准配置。



三,DR和BDR
(1),DR和BDR的概念
    DR:指定路由器,指定一台路由器和通网络中其他路由器连接,并负责将网段上的变化告知它们
    BDR:备份指定路由器,当指定路由器失效时,备份指定路由器生效,顶替。

(2),DR和BDR的选举
    可以由OSPF自动选举DR和BDR,也可以手工选择

1,自动选举DR和BDR
    网段上Router ID最大的路由器将被选举为DR,第二大的将被选举为BDR,这样的选举结果可能不是最佳的,例如,如果网段中由Cisco 7200和3800系列路由器,那么3800路由器可能由于Router ID较大而被选举为DR

2,手工选择DR和BDR
    要手工选择DR和BDR,需要设置路由的优先级,每台路由器的接口都有一个路由优先级,(Router Priority),用一个八位的无符号整数来表示,大小范围时0~255,数值越大,优先级越高,Cisco路由器上默认的优先级是1,接口优先级可以通告ip ospf priority命令来更改,如果路由器的优先级被设置为0,它将不参与DR和BDR的选举

注意:优先级越高,赢得选举的可能性越大,如果优先级相同,则需要比较Router ID

OSPF的度量值:
    OSPF用来度量路径的优劣的度量值成为开销(Cost),是指从该接口发送出去的数据包的出站口开销,链路开销使用16位的无符号的整数表示,大小范围是1~65535,。
    Cisco公司使用的默认代价是10的8次方/BW,表示一个整数,在这里BW指在接口上配置的带宽,而10的8次方是Cisco路由器使用的参考带宽
    


四,OSPF邻接关系

(1),OSPF的数据包类型
    OSPF信息不适用TCP或UDP,它承载在IP数据包内,使用协议号89(十进制)
    OSPF路由器协议依靠五中不同类型的包来识别它们的了邻居以及更新链路状态信息,这五中类型的包使得OSPF具备了高级和复杂的通信能力,如下

Hello包               :用于发现和位置邻居关系,选举DR和BDR
数据库描述包(DBD)     :用于向邻居发送摘要信息以同步链路状态数据库
链路状态请求包(LSR)   :在路由器收到包含新信息的DBD发送后,用于请求更详细的信息
链路状态更新包(LSU)   :收到LSR后发送链路状态通告(LSA),一个LSU数据包可能包含几个LSA
链路状态确认包(LSAck) :确认收到LSU,每个LSA需要被分别确认


(2),OSPF邻接关系的建立
    1,失效状态(Down):这是OSPF建立交互关系的初始化状态,路由器没由与任何邻居交换信息
    
    2,初始状态(init):路由器的各个接口通过224.0.0.5发送Hello报文,这里以R1发送Hello报文为例,当邻居路由器R2收到第一个Hello报文,这时就进入init状态,在该状态下,路由器R2已经接收到Hello报文,但自身的ID并没有出现在Hello报文内
    
    3,双向状态(2-way):路由器R2向路由器R1发送一个Hello回应报文,该Hello回应报文含有路由器R1的ID,当路由器R1收到该Hellp回应报文,发现含有自身的ID,这时就进入2-way状态,双向通信已经建立,DR和BDR的选举正式在这个状态下完成的。
    
    4,准启动状态(ExStart):
    在选举出DR和BDR之后,路由器就被认为时处于ExStart状态,在该状态下,DR和BDR与网络中其他各路由器建立邻接关系,在这个过程中,两个邻接路由器之间建立起一个主/从(Master/Slave)关系,路由器ID大的作为主路由器,用来发起通信。
    
    5,交换状态(Exchange):主/从路由器之间交换一个或多个数据库描述包(DBD),路由器进入Exchange状态,DBD包含的是链路状态数据库中的LSA条目摘要信息,主/从路由器之间交换DBD时要确保双方都能接收到。

    6,加载状态(Loading):
    如果收到的DBD有更新的LSA条目的摘要信息,路由器将向对方发送链路状态请求包(LSR)请求更详细的信息,对方路由器用链路状态更新包(LSU)回应该LSR,此过程成为Loading状态,链路状态更新包(LSU)需要对方确认收到。

    7,完全邻接状态(Full):
    当路由器之间完成了数据库同步,它们的链路状态数据库已经完全一致,此时就达到了Full状态,到此,路由器中的链路状态数据库已经完全一直了,路由器可以根据这个一致的链路状态数据库通过最短路径优先算法(SPF)来计算到达目的网络的最佳路径并形成路由表


(3),OSPF的网络类型
根据路由器所链接的物理网络不同,OSPF将网络划分为以下四种类型

1,点到点(Point-to-Point)网络
    点到点网络连接单独的一对路由器,在点到点网络上的有效邻居总是可以形成邻接关系,步需要DR和BDR,在这些网络上的OSPF报文的目的地主也总是224.0.0.5,点到点一般采用PPP协议,HDLC协议等

2,广播多路访问(Broadcast MultiAccess, BMA)网络
    广播多路访问网络,如以太网和光纤分布式数字网(FDDI)等,它们可以链接多于两台的设备,而且由于它们是广播型的,因而邻接在这种网络上的所有设备,都可以接收到传送的报文,在广播型网络上的OSPF路由器会选举DR和BDR,OSPF包采用组播方式发送

3,非广播多路访问(None Broadcast MultiAccess, NBMA)网络
    非广播多路访问,如X.25和帧中继等,可以连接两台以上的路由器,但是它们没有广播数据包的能力,在非广播多路访问网络上的OSPF路由器需要手工配置邻居,选举DR和BDR,并且所有的OSPF报文都是单播的。

4,点到多点(Point-to-MultiPoint)网络
    点到多点网络时费广播多路访问网络的一个特殊配置,可以看做一群点到点链路的集合,在这些网络上的OSPF路由器不需要选举DR和BDR,OSPF报文时组播的。


五,OSPF的特点
OSPF主要具有以下几个特点:

1.可适应大规模网络
2.路由变化收敛速度快
3.无路由环路
4.支持可变长子网掩码(VLSM)
5.支持以组播地址发送协议报文


猜你喜欢

转载自blog.csdn.net/weixin_41768978/article/details/80208689
今日推荐