Network 第八篇 – 动态路由-OSPF

动态路由:

 

在路由器之间动态协商路由表。

 

动态路由协议:

 

  • IGP协议:internal Gateway Protocol(内部网关协议)
    • DV:Distance vector:距离矢量——本质传递的是路由条目
      • RIP:routing information Protocol(最多传输路径16)
      • IGRP:思科
      • EIGRP:思科增强版(最多传输路径255)
    • LS:Link state 链路状态(不受路径个数影响)——本质传递的是LSA,通过计算(SPF)得到相关路由条目。
      • IS-IS:运用商使用(同时支持 clnp 与 ip,扩张性很强
      • OSPF:open shortest path first开放式的最短路径优先协议
  • EGP协议:External Gateway Protocol(外部网关协议)
    • BGP Border Gateway Protocol

 

RIP协议:

命令配置:

  1. Router rip #启动rip协议
  2. Version 2 #确定发送报文的rip版本
  3. No auto-summary #禁用自动汇总
  4. Network 192.168.1.0 不添加掩码,最终显示为主类网络的形式,表示的是一个IP地址范围;仅仅限制为直连链路,凡是被该类地址覆盖的ip地址,都启用RIP协议。(在发送报文的时候,值会将ip地址的网络部分放在RIP报文中传输给其他路由器)
  5. Ditance:表示路由条目的优先级,直连链路默认为0;值越小越优先

 

测试:

Show ip route

Show ip route rip

 

OSPF

open shortest path first开放式的最短路径优先协议,属于链路状态协议类型

用于配置动态路由,取代之前手工添加静态路由。防止出现环路

在路由器之间学习和计算路由条目

特点

  1. 一种公有协议
  2. 没有网络规模限制
  3. 支持层次化网络设计

原理

 

  1. 建立邻居~邻居表
    1. 通过参数协商,建立邻居条件
  2. 形成数据库(link-state database)
    1. 数据库条目,LSA(link-state advertisement 链路状态通告)
  3. 计算路由~路由表
    1. 每一个OSPF都会基于数据库中的LSA,进行路由计算(SPF算法),从而形成最终的"路由表"。各自路由器拥有独立计算,如果某一个链路路由出现问题,则只关系该路由本身。从而不会出现环路。

分层设计

区域:骨干区域:0区域 area 0

非骨干区域:非0区域

表示:十进制

点分十进制

注释:所有非骨干区域必须连接骨干区域,即所有非0区域必须连接0区域。

 

同一段链路如果不属于相同区域,则无法链接!

OSPF路由类型

 

  • 内部路由

    O—表示同一区域内部的路由

    O IA—表示不同区域之间的路由

  • 外部路由

    OE1—表示类型为1的外部路由,extermal

    OE2—表示类型为2的外部路由

 

ABR(area border router)区域边界路由器:

同时连着骨干区域与非骨干区域的理由器。必须链接0区域与非0区域。

Ospf路由在邻居关系中的角色

  • DR(designated route指定路由器)#角色
  • BDRbackup designated router 备份指定路由器)

     

    • 建立邻居的所有的设备,都仅仅与DR/BDR 进行路由计算数据库的同步;
    • 但是别人在请求时,仅有 DR 进行回应;
    • BDR仅仅是DR的备份,DR挂掉了,BDR就会升级为DR,实现 DR 的功能

 

  • DRother,既不是DR,又不是BDR,一个网段中,仅有一个DR,BDR可以没有。除了DR与BDR,其他都是DRother,DRother仅仅与DR,BDR建立full关系,其他任意DRother之间均建立two-way状态,不会成为full关系。

 

注意: 只有在"广播网络环境"中,建立邻居的路由器之间才会有这种角色之分;

        常见的"广播网络环境" - ethernet(即以太网)

 

OSPF报文类型:

 

  • HELLO 包:用于建立,维护,拆除 邻居数据关系,
    • 广播网络(点到点):周期发送,周期—10s,邻居存活时间-140s
    • 非广播网络:周期—30s,邻居存活时间—120s
  • DBD:database description 数据库描述报文,用于交换和同步数据库之间的准备工作。
  • LSA(link-state advertisement 链路状态通告
  • LSAck, LSA确认报文,链路状态确认报文。
  • LSR,链路状态请求:主动请求报文。
  • LSU;链路状态更新,包含LSA

 

OSPF包:是加载在3层头部:

结构:二层头部+三层头部+ospf头部+路由条目+校验盒

 

 

注释:

 

  • 邻居表:凡是出现在表中的设备都是邻居
  • 邻接表:只有状态显示为full时,才称之为邻接。(两边设备的数据库必须完全一致)

 

将路由条目引入数据库的方式

任何类型的路由协议,引入路由条目(路由数据库)的方式:

 

  1. network——仅仅是针对设备本地的直连路由,通过该方式引入到协议到数据库的路由,称为内部路由~可以发送包和收取包
  2. redistribute - 重分发/重发布通过该方式引入到协议数据库的成为外部路由,该方式可以引入"所有类型"的路由~

 

验证:

Show ip protocols

查看:redistributing ——static 表示重分发已经启用。

 

 

两种方式的区别:

  • Network,仅仅针对直连路由,redisitribute可以引入所有协议类型
  • Network,命令匹配的链路可以收发ospf报文,但是redistribute没有收发ospf报文的功能。

 

配置命令:

 

Show ip ospf neighbor #查询邻居表(邻接表 FULL)

 

Neighbor

ID

Pri

State

Dead Time

Address

Interface

2.2.2.2

 

1

FULL/DR

00:00:38

10.10.12.2

GigabitEthernet0/0

 

Neighbor id:对端设备的OSPF router—id

Pri:Priority#优先级,表示对端设备的优先级,默认为1

State:表示对端设备的状态和角色:down(关系未建立),init(初始化,收到对方的ospf包),attempt(单播环境),two-way(双向通信状态),exstart(交换初始化状态,为确定交换过程中的主从关系,保证后期的稳定性),exchange(交换状态,在该数据库状态下进行同步,本质上只是在加载数据库的目录),loading(加载状态,交换数据库条目)full(完全邻接状态,表示双方数据库内容完全一致)

Full#显示状态,表示完全邻接/ DR(destination route指定路由器)#角色

BDR(dateup destination route 备份指定路由器)

Date time#邻居之间存活时间,周期性发送报文(40s)

对方的ip——本身的端口

Show ip database

Show ip route ospf 查看路由表

Show ip protocol

Show ip ospf 查看ospf相关信息

Clear ip route * # 清除所有路由网段:

配置思路

  1. 启用OSPF进程1;route ospf 1( 编号)
  2. Route-id 1.1.1.1 //路由器命名,二进制地址形式编写的名称(可以不写
  3. Network 网段 +反掩码0.0.0.255 + area 0 //指定端口1
  4. Network 网段 +反掩码0.0.0.255 + area 0 //指定端口2

     

注释:Network的解释(RIP/EIGRP/OSPF)

  1. 后面跟的是ip网段范围
  2. Ip范围所覆盖的本地设备接口都启用路由协议(表示,该端口可以发送和接收该协议的报文,该端口上的ip地址的网络部分放入协议报文中传输)
Jarick.jiao
原文地址:https://www.cnblogs.com/jarick-jiao/p/7858342.html