OSPF概述
1、OSPF是什么
-开放式最短路径优先协议,一种最受欢迎的动态路由协议
-版本:OSPFv2(IPv4) 和OSPFv3(IPv6)
-OSPF位于OSI参考模型的第三层,数据封装在IP报头的后面
-协议号是89
2、场景:适用于中、大型网络规模,常见的场景有
&政企网,层次化的网络架构中
&数据中心内部,用于实现把不同的网段打通
3、作用:便于大型网络中对路由的管理和维护
4、路由分类
-直连路由
-非直连路由
&:静态路由
&:动态路由
1)IGP:内部网关路由协议(公司内部使用)
-OSPF:开放式最短路径优先(企业用:功能多,可以精细化控制)
2)EGP:外部网关路由协议:公司与公司之间使用
-BGP:边界网关协议
OSPF的工作过程
-建立邻居表:成为朋友,交换个人基本信息
hello报文:建立邻居关系和维护邻居关系
打招呼,你好,我是小红
您好,我是小兰
你好,小兰,我是小红,我和你是朋友
你好,小红,我是小兰,我和你是朋友
周期性发送hello ,用于维护邻居关系(朋友关系)
-同步数据库:把秘密分享给对方(我有有多少邻居,邻居特点,住址)
DD报文:用于描述数据库摘要信息
小红家:有蔬菜 小兰家:有肉
黄瓜 猪肉
西红柿 牛肉
LSR报文:用于请求对方数据库中的LSA(链路状态通告)
小红:兰姐,我想要你家的猪肉和牛肉
小兰:红妹,我想要你家的黄瓜和西红柿
LSU报文:根据对方的请求,更新信息,传递LSA
小兰:红妹,猪肉和牛肉发了,你查收一下
小红:兰姐,黄瓜和西红柿发了,你查收一下
LSACK:报文收到对方的更新信息(LSA)进行确认
小红:兰姐,你的牛肉和猪肉,我收到了,谢谢你
小兰:红妹,你的黄瓜和西红柿,我收到了,谢谢你
-计算路由表:根据得到的信息构建一张地图,根据地图导航最优路径
报文类型
-Hello 用于建立,维护邻居关系
-DD 用于描述数据库摘要信息(发菜单)
-LSR 请求数据库中没有的LSA信息
-LSU 根据对方的请求信息,更新给对方
-LSack 收到对方的更新信息后,进行确认
OSPF路由角色
- 骨干路由器:路由器只要有一个接口在骨干区域
- 非骨干路由器:路由器的所有接口都在非骨干区域
- ABR(区域边界路由器) 同时连接着骨干区域和非骨干区域的路由器
- ASBR(自治系统边界路由器)具有产生外部路由能力的路由器
OSPF区域
1、区域划分:
OSPF适用于大型网络,采用分层设计,分为骨干区域和非骨干区域。
2、OSPF 骨干区域
区域号为0,表示的就是“骨干区域”
3、OSPF 非骨干区域
区域号不为0,表示的就是“非骨干区域”
4、非骨干区域必须和骨干区域“直接”相连,能实现“区域之间的互通”
5、OSPF 区域的表示
通过十进制表示,例如区域 0、1、2、3等
通过点分十进制表示,例如区域 0.0.0.0 、0.0.0.1、0.0.0.2等
display ospf peer brief //查看邻居表简要信息
display ip routing-table //查看路由表
备注
1、Process : 进程号
ospf 1 :指定ospf进程号1
1)作用:在同一个设备上,区分不同的ospf路由协议
2)通过不同的进程号的ospf 协议所学习到的路由信息是不会自动相互传递的,
从而实现各个ospf 协议之间的隔离
3)ospf 进程号只在本地路由器起作用,不同的路由器的进程号,可以相同,也可以不同
4)进程号范围 <1-65535>
2、Router ID
router-id 1.1.1.1 //指定router-id 为1.1.1.1
1)ospf协议给路由器起的一个名字,格式类似于IP地址(点分十进制)但是不是IP地址
2)在ospf 网络中,router-id 是唯一的标识一台路由器
3)router-id 的生产方式
选举规则:-手动指定:最优
-如果没有手动指定router-id ,会进行自动选举
&:自动选举
-首先选举本设备上的loopback接口的IP地址,选择IP地址最大的
--如果没有配置loopback 接口选举物理接口IP地址最大的
备注:自动选举的前提是,所有的接口同时运行ospf ,如果没有同时运行,那个接口先启用ospf,
就选择那个接口的地址号,做router-id
手动配置
[huawei] ospf 1 router-id 1.1.1.1 //手动指定的命令
备注:当路由器已选router-id 后,手修改router-id 并不会生效
为什么? ospf需要稳定,ospf稳定,网络才会稳定,一旦选举router-id,就不会被替代
-如果已经有了router-id ,后来又手动指定的router-id 想让新的router-id生效,怎么办?
重启ospf 进程:
<huawei> reset ospf process //在用户视图下执行命令
3、Area Id :区域号
area 0.0.0.0
1)表示的是与对方设备建立邻居关系时,所使用的区域号
2)对于ospf 来说,这个区域号一定不能少
3)区域号的表示方式有两种
&: 十进制数: 0-4294967295
&:点分十进制: 0.0.0.0 - 255.255.255.255
4)区域分为两类:
&: 骨干区域: 0
&: 非骨干区域 : 不为 0
4、Interface :使用那个接口与对端建立的邻居
5、Neighbor id :邻居的router-id
6、State :邻居之间的状态
OSPF网络类型
为什么要有网络类型?
因为OSPF运行在不同的链路层就会有不同的问题,比如运行在以太网,默认为广播的网络环境下,就会存在共享网段中邻居数量多的问题,占用设备资源的问题,所以有了多种网络类型来适应不同的网络环境。
分类
- 广播类型(Broadcast)
数据链路层协议为以太网时,OSPF默认的网络类型为广播
- 非广播类型(NBMA)
当链路层协议是fr时,国内都已经不用了,OSPF运行在这个网络环境中,默认使用NBMA的网络类型 (不常见)
- 点到点(P2P)
数据链路层运行的协议为PPP或者HDLC时,默认的网络类型为P2P
- 点到多点(P2MP)
点到多点就是多个点到点(不常见)
1. 为什么要有DR/BDR?
-共享网络中,邻居关系数量多,重复发送协议报文,占用网络资源,同步信息效率低
2. 什么是DR/BDR
理解:DR就是班长,BDR就是副班长,其他同学只和班长和副班长建立邻居,同学之间不需要建立邻居,从而减少了维护邻居的数量
3. DR的作用
-减少邻接关系,降低设备负担
-减少OSPF协议流量
-加快数据库同步
4. DR的选举原则
-比较接口优先级,如果相同,越大约优
-比较Router-id,越大越优
5. DR的特点
-不能抢占
-每个网段中DR只有一个,BDR可以没有,DR必须有一个,如果没有DR,邻居将会一直卡在To-way状态
-当DR优先级为0时,不参加DR选举,直接变成D-other
6. 路由器的接口角色
-DR:指定路由器
-BDR:备份指定路由器
-DR-Other
注意:D是接口的概念,不是路由器的概念,我们可以说这个接口是不是DR或者BDR,不能说这个路由器是不是DR路由器或者BDR路由器。
链路状态数据库(LSDB)
作用:存储各种类型的LSA
- LSA概念:链路状态通告信息
- LSA作用:计算路由的原材料,相当于土豆(LSA),用土豆来制作土豆丝(路由),好比在OSPF中就用LSA来计算路由
- LSA分类:
1类LSA:Router-LSA
2类LSA:Network-LSA
3类LSA:Network-summary-LSA
4类LSA: ASBR-summary-LSA
5类LSA:AS-external-LSA
7类LSA:NSSA LSA
1、邻居建立失败的原因有那些?
实验1:两台路由器的router-id 不能相同,才能建立邻居关系
1)修改R1路由器的的router-id 为2.2.2.2 让R1的router-id 和R2的router-id 相同
[R1]ospf 1 router-id 2.2.2.2 //修改R1的router-id 为2.2.2.2
<R1>reset ospf process //重启ospf 进程
3)验证:无法建立邻居关系
4)结论: 两台路由器的router-id 不能相同,如果相同无法建立邻居关系
5)备注:验证完成,记得恢复配置,把R1的router-id 在改回1.1.1.1
实验2: 两台路由器的Area id 必须相同,才能建立邻居关系
1)修改R1路由器的的Area id 为2 让R1的Area id 和R2的Area id 不相同
2)配置命令
[R1]ospf 1 [R1-ospf-1]area 0 [R1-ospf-1-area 0]undo network 192.168.10.0 0.0.0.255 [R1-ospf-1-area 0]area 2 [R1-ospf-1-area 0]network 192.168.10.0 0.0.0.255
3)验证:无法建立邻居关系
<R1>display ospf peer brief
OSPF Process 1 with Router ID 1.1.1.1
Peer Statistic Information
Area Id Interface Neighbor id State
4)结论:两台路由器的Area id 必须相同,才能建立邻居关系