前言

OSPF的知识较为繁杂,篇幅比较冗长,已经尽量写的简洁明了,可以根据目录进行使用

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

1、自制系统

  • 自治系统(Autonomous System,AS)指的是在同一组织管理下、使用相同策略的设备的集合。
  • 不同的AS通过AS号区分,AS号取值范围1-655535,其中64512-65535是私有AS号。IANA负责AS号的分发。
  • 中国电信163 AS号:4134
  • 中国电信CN2 AS号:4809
  • 中国网通AS号:9929

2、分类

按自治系统分为

内部网关路由协议(IGP)

  • 运行在as内部的路由协议称为内部网关路由协议IGP,主要解决as内部的选路问题,发现、计算路由。

  • 例如 RIP OSPF

外部网关路由协议(EGP)

  • as和as之间相互通信用的是外部网关路由协议EGP,他解决as之间的选路问题

  • 例如 BGP

按协议分类

距离矢量路由协议 rip1/2、bgp、eigrp

  • 路由器对全网拓扑并不完全了解,是“传说的路由”,a发路由信息给b,b加上自己的度量值又发给c,路由表里的条目是听来的。

链路状态路由协议 ospf is-is

  • 路由器对全网拓扑完全了解。是“传信的路由”。A将一封信发给B,B对其不做任何改变,拷贝下来,并将自己的信息放在另一封信里,两封信一起给C这样信息没有任何改变和丢失,最后所有路由器都收到相同的一堆信,这一堆信就是LSDB。然后,每个路由运用相同的SPF算法,以自己为根,计算出SPF Tree(即到达目的地的各个方案),选出最佳路径,放入路由表中。

二、OSPF的工作过程

1、三张表

  • 邻居列表

  • 链路状态数据库

  • 路由表

2、工作过程

image.png 建立邻接关系---学习链路状态信息----链路状态数据库(LSDB)----- Dijkstra算法(最短路径算法)----最短路径树----路由表

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

三、OSPF区域

1、简述

为了适应大型的网络,OSPF在AS内划分多个区域

每个OSPF路由器只维护所在区域的完整链路状态信息

2、区域ID

区域ID可以表示成一个十进制的数字

也可以表示成一个IP

3、区域分类

  • 骨干区域Area 0
  • 非骨干区域
    • 标准区域
    • 末梢区域(stub)
    • 完全末梢区域(Totally,stubby)
    • 非纯末梢区域(NSSA)

四、Router ID

1、简述

OSPF区域内唯一标识路由器的IP地址

2、Router ID的选取规则

  1. 选取路由器looback接口上数值最高的IP地址
  2. 如果没有loopback接口,在物理接口种选取IP地址最高的
  3. 也可以使用Router-id命令指定Router id(手动设置的这条优先级最高)

五、DR和BDR

1、简述

为减小多路访问网络中OSPF流量,OSPF会选择一个指定路由器(DR)和一个备份指定路由器(BDR)。当多路访问网络发生变化时,DR负责更新其他所有OSPF路由器。BDR会监控DR 的状态,并在当前DR发生故障时接替其角色。DR和BDR是由同一网段中所有的路由器根据路由器优先级、Router ID通过HELLO报文选举出来的,只有优先级大于0的路由器才具有选取资格。

2、DR和BDR的选举

  1. 自动选取 网段上Router ID最大的为DR,第二大的为BDR

  2. 手动选取 优先级0-255 值越大,优先级越高,默认为1 优先级相同则比较Router ID 优先级被设置为0,则不参加DR和BDR的选举

路由器的优先级可以影响一个选举过程,但是它不能强制跟换已经存在的DR或BDR路由

3、OSPF的组播地址

  • 224.0.0.5---------DR和BDR及选举过程用

  • 224.0.06---------其他路由器(Drothers)


六、OSPF度量值

  • OSPF的度量值是cost

  • cost(成本)=10的8次方/BW(接口带宽)


七、OSPF的数据包

1、简述

承载在IP数据包内,使用协议号89

2、类型

image.png


八、OSPF状态

  • Down状态 ------初始化
  • Init状态 ------收到第一个Hello包 发送信息回去
  • 2-Way状态 ------双向建立连接
  • Exstart状态 ------建立主从关系 选举DR、BDR
  • Exchange状态 ------交换摘要信息(DBD)
  • Loading状态 ------加载详细信息(LSR、LSU)
  • Full状态 ------收敛后 完全连接

九、网络划分类型

  • 点到点网络 自动发现邻居,不需要DR/BDR,组播224.0.0.5
  • 广播多路访问网络 自动发现邻居,选举DR/BDR,组播224.0.0.5、224.0.0.6
  • 非广播多路访问网络 手工指定邻居,选举DR/BDR,单播
  • 点到多点网络 自动发现邻居,不需要DR/BDR,组播224.0.0.5

十、从以下几方面考虑OFPS的应用

  • 网络规模
  • 网络拓补
  • 其他特殊要求
  • 路由器自身要求

十一、OSPF的特点

  • 可适应大规模网络
  • 路由变化收敛速度快
  • 无路由环
  • 支持变长子掩网码VLSM
  • 支持区域划分
  • 支持以组播地址发送协议报文 image.png

十二、实例和基础命令

image.png R1

<Huawei>sys
Enter system view, return user view with Ctrl+Z.
[Huawei]un in en
Info: Information center is disabled.
[Huawei]sys R1
[R1]int g0/0/0
[R1-GigabitEthernet0/0/0]ip add 192.168.10.1 24
[R1-GigabitEthernet0/0/0]int g0/0/1
[R1-GigabitEthernet0/0/1]ip add 12.0.0.1 24
[R1-GigabitEthernet0/0/1]q
[R1]int loo 0
[R1-LoopBack0]ip add 1.1.1.1 32
[R1-LoopBack0]q
[R1]ospf	
[R1-ospf-1]area 0	
[R1-ospf-1-area-0.0.0.0]network 1.1.1.1 0.0.0.0	
[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 12.0.0.0 0.0.0.255
[R1-ospf-1-area-0.0.0.0]q
[R1-ospf-1]
每个路由器配置大致相同,以R1为例

image.png dis ip routing-table image.png PING image.png


十三、OSPF多区域的生成

1、原因

  • 改善网络的可拓展性

  • 快速收敛

2、三种通信量

  • 区域内通信量
  • 区域间通信量
  • 区域外部通信量

3、路由器类型

  1. 内部路由器
  2. 区域边界路由器(ABR):区域间路由器
  3. 自治系统边界路由器(ASBR):与外部连接的路由器

十四、链路数据库的组成

1、链路状态通告类型

类型代码 描述 类型
Type 1 路由器LSA 由区域内的路由器发出的,描述了路由器的的链路状态和花费,传递到整个区域内
Type 2 网络LSA 由区域内的DR发出的,描述了区域内变更信息,传递到整个区域内
Type 3 网络汇总LSA ABR发出的,其他区域的汇总链路通告,描述了其他区域内某一-网段的路由, 区域间传递
Type4 ASBR汇总LSA ABR发出的,用于通告ASBR信息,确定ASBR的位置,不会出现在ASBR所属区域之内
Type 5 AS外部LSA ASBR发出的,用于通告外部路由,告诉相同AS的路由器通往外部AS的路径,在整个AS中进行泛洪
Type 7 NSSA外部LSA NSSA区域内的ASBR发出的,用于通告本区域连接的外部路由,与Type 5类似,仅在非纯末梢区域内进行泛洪,传递时会被ABR转换为LSA5

2、类型

  • 路由LSA
  • 网络LSA
  • 网络汇总LSA
  • ASBR汇总LSA
  • AS外部LSA

十五、末梢区域和完全末梢区域

1、满足条件的区域

  • 只有一个默认路由作为其区域的出口
  • 区域不能作为虚链路的穿越区域
  • stub区域里无自制系统边界路由ASBR
  • 非骨干Area 0

2、通告

  • 末梢区域 没有LSA4、5、7通告
  • 完全末梢区域 除了一条LSA3的默认路由通告外,没有LSA3、4、5、7通告

3、作用

  • 减少区域内LS条目及路由条目,减少对设备CPU和内存的占用。

  • 末梢区域和完全末梢区域中,ABR会自动生成一条默认路由发布到末梢区域或完全末梢区域中

4、基础命令

末梢区域

ARB

[R1]ospf 1
[R1-ospf-1]area 2
[R1-ospf-1-area-0.0.0.2]network x.x.x.x x.x.x.x  #先宣告直连网段,再配
[R1-ospf-1-area-0.0.0.2]stub


区域内路由

[R2]ospf 1
[R2-ospf-1]area 2
[R2-ospf-1-area-0.0.0.2]network x.x.x.x x.x.x.x  #先宣告直连网段,再配
[R2-ospf-1-area-0.0.0.2]stub
[R2]dis ip routing-table       #此时会显示一条默认路由到外部区域

完全末梢区域配置

ARB

[R3]ospf 1
[R3-ospf-1]area 2
[R3-ospf-1-area-0.0.0.2]network x.x.x.x x.x.x.x  #先宣告直连网段,再配
[R3-ospf-1-area-0.0.0.2]stub no-summary

区域内路由

[R4]ospf 1
[R4-ospf-1]area 2
[R4-ospf-1-area-0.0.0.2]network x.x.x.x x.x.x.x  #先宣告直连网段,再配
[R4-ospf-1-area-0.0.0.2]stub
[R4]dis ip routing-table       #此时会显示一条默认路由到外部区域

十六、多区域的好处

  1. 减少lsdb的大小,节约带宽;
  2. 提高路由的效率:缩减部分路由器的OSPF路由条目,降低路由收敛的复杂度,对某些特定的lsa,可以在区域边界上,实现汇总/过滤/控制,而实现全网互通;
  3. 提高网络的稳定性:当某个区域的某条路由出现抖动时,可以减少受影响的波及面。