OSPF动态路由协议(了解ospf,RIP协议,外部网关协议内部网关协议,ospf工作过程,选举过程,ospf邻居关系7个状态)

OSPF动态路由协议

路由协议OSPF全称为Open Shortest Path First,开放式最短路径优先(Open Shortest Path First,OSPF)是广泛使用的一种动态路由协议,它属于链路状态路由协议,具有路由变化收敛速度快、无路由环路、支持变长子网掩码(VLSM)和汇总、层次区域划分等优点。在网络中使用OSPF协议后,大部分路由将由OSPF协议自行计算和生成,无须网络管理员人工配置,当网络拓扑发生变化时,协议可以自动计算、更正路由,极大地方便了网络管理。但如果使用时不结合具体网络应用环境,不做好细致的规划,OSPF协议的使用效果会大打折扣,甚至引发故障。

OSPF协议是一种链路状态协议。每个路由器负责发现、维护与邻居的关系,并将已知的邻居列表和链路费用LSU(Link State Update)报文描述,通过可靠的泛洪与自治系统AS(Autonomous System)内的其他路由器周期性交互,学习到整个自治系统的网络拓扑结构;并通过自治系统边界的路由器注入其他AS的路由信息,从而得到整个Internet的路由信息。每隔一个特定时间或当链路状态发生变化时,重新生成LSA,路由器通过泛洪机制将新LSA通告出去,以便实现路由的实时更新。

OSPF的简单说就是两个相邻的路由器通过发报文的形式成为邻居关系,邻居再相互发送链路状态信息形成邻接关系,之后各自根据最短路径算法算出路由,放在OSPF路由表,OSPF路由与其他路由比较后优的加入全局路由表

常见的路由协议

静态路由协议—static–管理员手工配置,适用于小型企业网络
动态路由协议IGP(内部网关路由协议):能够自动地建立自己的路由表,并且能够根据实际情况的变化适时地进行调整

而动态路由中又有许多的路由协议

距离矢量型路由协议(依靠邻居通告路由给我路由) RIP

OSPF(Open Shortest Path First):开放式最短路径优先协议

IS-IS(Intermediate System-to-Intermediate System):中间系统到中间系统路由协议

BGP(Border Gateway Protocol):边界网关协议

RIP距离矢量型路由协议

  • RIP的基本概念
  • 定期更新
  • 邻居
  • 广播更新
  • 全路由更新

全路由表更新

RIP的度量值与更新时间

  • RIP度量值为跳数

    最大跳数为15跳,16跳不可达

  • RIP跟新时间

    每隔30s发送路由更新新消息,UDP520端口

  • RIP路由更新消息

    发送整个路由表信息

    RIP v1和RIP v2的区别

    RIP V1 RIP v2
    有类路由协议 无类路由协议
    广播更新(255.255.255.255) 组播更新(24.0.0.9)
    不支持VLSM 支持VLSM
    自动路由汇总,不可关闭 自动汇总可关闭,可手工汇总
    不支持不连续子网 支持不连续子网

    内部网关协议和外部网关协议

    • 自治系统(AS)
    • 内部网关协议(IGP)
    • 外部网关协议(EGP)

OSPF的基本概念和工作过程

OSPF(Open Shortest Path First开放式最短路径优先)是一个内部网关协议(Interior Gateway Protocol,简称IGP),用于在单一自治系统(autonomous system,AS)内决策路由。是对链路状态路由协议的一种实现,隶属内部网关协议(IGP),故运作于自治系统内部。著名的迪克斯加算法被用来计算最短路径树。OSPF支持负载均衡和基于服务类型的选路,也支持多种路由形式,如特定主机路由和子网路由等

AS(autonomous system,自治系统)

在互联网中,一个自治系统(AS)是一个有权自主地决定在本系统中应采用何种路由协议的小型单位。这个网络单位可以是一个简单的网络也可以是一个由一或多个普通的网络管理员来控制的网络群体,它是一个单独的可管理的网络单元(例如一所大学,一个企业或者一个公司个体)。

一个自治系统将会分配一个全局的唯一的16位号码,有时我们把这个号码叫做自治系统号(ASN)

image-20200803133145355

IGP(Interior Gateway Protocol,内部网关协议)

在一个自治系统内部使用的路由选择协议,包括RIP,OSPF等。

image-20200803224008471

EGP:外部网关协议(Exterior Gateway Protocol)

外部网关协议(EGP)是一种在自治系统的相邻两个网关主机间交换路由信息的协议。 EGP 通常用于在因特网主机间交换路由表信息。它是一个轮询协议,利用 Hello 和 I-Heard-You 消息的转换,能让每个网关控制和接收网络可达性信息的速率,允许每个系统控制它自己的开销,同时发出命令请求更新响应。路由表包含一组已知路由器及这些路由器的可达地址以及路径开销,从而可以选择最佳路由。每个路由器每间隔 120 秒或 480 秒会访问其邻居一次,邻居通过发送完整的路由表以示响应,代表协议是边界网关协议(BGP)。

image-20200803224016134

ospf的工作过程

建立邻居列表

如图,A通过建立邻接关系,学习到所有的链路状态信息,即所有的网段信息。

链路状态数据库

A将学习到的链路状态信息存储在自己的链路状态数据库中。

形成路由表

A的链路状态数据库通过 Dijkstra算法 算出A到达每一个地点的最短路径,形成最短路径树。最终生成路由表。

image-20200803224904922

image-20200803224941033

OSPF区域

OSPF的区域分为以下5种,不同类型的区域对由自治系统外部传入的路由信息的处理方式。

标准区域:标准区域可以接受任何链路更新信息和路由汇总信息。

主干区域:主干区域是连接各个区域的传输网络,其他区域都通过主干区域交换路由信息。主干区域拥有标准区域的所有性质。

存根区域:不接受本地自治系统以外的路由信息,对自治系统以外的目标采用默认路由0.0.0.0。

完全存根区域:不接受自治系统以外的路由信息,也不接受自制系统内其他区域的路由汇总信息,发送到本地区域外的报文使用默认路由0.0.0.0。完全存根区域是Cisco定义的,是非标准的。

不完全存根区域(NSAA):类似于存根区域,但是允许接收以类型7的链路状态公告发送的外部路由信息。

OSPF中的router id

OSPF 路由器 ID 用于唯一标识 OSPF 路由域内的每台路由器。一个路由器 ID 其实就是一个 IP 地址。Cisco 路由器按下列顺序根据下列三个条件确定路由器 ID:

  1. 使用通过 OSPF router-id 命令配置的 IP 地址。

  2. 如果未配置 router-id,则路由器会选择其所有环回接口的最高 IP 地址。

  3. 如果未配置环回接口,则路由器会选择其所有物理接口的最高活动 IP 地址。

OSPF DR 和 BDR

DR:designated router 指定路由器。
BDR:backup designated router 备份指定路由器。

在一个LAN连接中,OSPF将选举出一个路由器做为DR,再选举一个做为BDR,所有其他的和DR以及BDR相连的路由器形成完全邻接状态而且只传输LSA(链路状态通告)给DR和BDR。*

换句话说,在一个OSPF的网络中,所有的路由器将被分为两类:指定路由器(DR/BDR)和非指定路由器(DROTHER)。所有的非指定路由器都要和指定路由器建立邻居关系,并且把自己的LAS发送给DR,而其他的OSPF路由器将不会相互之间建立邻居关系。也就是说,OSPF网络中,DR和BDR的LSDB(链路状态数据库)将会包含有整个网络的完整拓扑。|

DR从邻居处转发更新到另外一个邻居那里。DR的主要功能就是在一个LAN内的所有路由器拥有相同的数据库,而且把完整的数据库信息发送给新加入的路由器。路由器之间还会和LAN内的其他路由器(非DR/BDR,即DROTHERs)维持一种部分邻居关系(two-way adjacency)。OSPF的邻接一旦形成以后,会交换LSA来同步LSDB,LSA将进行可靠的洪泛。

当选举DR/BDR的时候要比较hello包中的优先级priority(设置命令route(config-if)#ip ospf cost {priority} 0~255),优先级最高的为DR,次高的为BDR。不作修改默认端口上的优先级都为1,在优先级相同的情况下比较Router ID,RID最高者为DR,次高者为BDR,当你把相应端口优先级设为0时,OSPF路由器将不能再成为DR/BDR,只能为DROTHER。

在使用默认优先级的OSPF的DR选举中,所有的路由器之间会交换自己的ROUTER-ID来确定DR。ROUTER-ID可以手工指定。如果没有手工指定ROUTER-ID的话,那么路由器会先看自己有没有环回接口(Loopback),如果有环回接口,则使用环回接口上的IP地址作为自己的ROUTER-ID。如果没有环回接口的话,则会去比较自己所有物理接口上的IP地址,并从中选择最大的一个IP地址作为自己的ROUTER-ID来参与DR的选举。*

DR和BDR的选举就可以用以下的方式来决定

1如果有手工指定的ROUTER-ID,则使用该ROUTER-ID参与选举;

2如果没有手工指定的ROUTER-ID,则看自己有没有Loopback接口,有则使用Loopback接口上的IP作为ROUTER-ID参与选举;

3如果没有Loopback接口,则比较所有的物理接口,并使用其中最大的IP作为ROUTER-ID参与选举;

4所有的OSPF路由器交换自己的ROUTER-ID,具有所有ROUTER-ID中最大一个的路由器将作为DR,具有次大ROUTER-ID的路由器则成为BDR。*

选举DR/BDR规则

当选举DR/BDR的时候要比较hello包中的优先级(priority:设置命令 route(config-if)#ip ospf cost {priority} 0~255),优先级最高的为DR,次高的为BDR.不作修改默认端口上的优先级都为1,在优先级相同的情况下比较Router ID,RID最高者为DR,次高者为BDR,当你把相应端口优先级设为0时,OSPF路由器将不能再成为DR/BDR,只能为DROTHER.

链路状态信息的传播 (在本区域内,骨干区域0,区域有2的32次方个,所有常规区域必须和骨干区域直接相连,除非开隧道OSPF虚电路)

DR/BDR选举完成后,DROTHER就只和DR/BDR逻辑上形成邻居关系, DROTHER组播链路状态信息LSU到ALLDOTHER地址224.0.0.6,而只有DR/BDR监听该地址。而DR组播泛洪LSU的hello包到224.0.0.5,DROTHER监听该地址,以使所有非DR/BDR的OSPF路由器跟踪其它邻居的信息。

这样做的好处,减少OSPF网络中的链路状态更新包,减少泛洪,降低路由协议本身占用链路带宽,并有效的避免了距离矢量路由协议如RIP中的环路等问题。

OSPF的度量值为COST

cost=10^8/BW

最短路径是基于接口指定代价(COST)计算

BW:带宽

cost值越低,说明带宽越高,代价越小,路径越短

OSPF的包类型

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

OSPF邻接关系

OSPF邻接关系的建立(7个状态)

状态 描述
Down状态 邻居状态的初始状态,是指过去的的Dead-Intterval时间内没有收敛的对方Hello,
Init状态(初始化状态) Down状态的端口接收到Hello信息后,自动激活init状态,此时,只能接收Hello包,不能发送Hello包
2-Way状态 route系统加载完成后从Init状态进入2-Way状态。2-Way状态中既可以接收Hello包也可以发送Hello包(选举出两个最大的Router ID,但是并不会确定主从路由身份)
ExStart状态(准启动状态) 确定主从路由身份。即确定DR和BDR身份。
Exchange状态 交换DBD信息库,同时接收到后也会有LSACK包。
Loading状态 最繁忙状态,包的种类最多,有LSR,LSU(包含多个LSA),LSACK,形成的路由表
Full 状态 稳定状态开始转发数据包

image-20200804102931534

image-20200804103229972

image-20200804103251700

OSPF建立邻居的条件

1、ROUTER ID不能相同;
2、HELLO时间必须一致;
3、DEAD时间必须一致;
4、区域ID必须相同;
5、认证必须相同;
6、STUB标志位必须相同(直连路由器特殊区域要求-致) ;
7、三层MTU不匹配无法形成邻接关系(一 边是EXSTART,-
边是EXCHANGE)

猜你喜欢

转载自blog.csdn.net/weixin_47151717/article/details/107782252
今日推荐