“SCSA-T学习导图+”首发:路由技术之OSPF入门
  

深信服认证 69623人觉得有帮助

{{ttag.title}}
本帖最后由 深信服认证 于 2023-1-4 14:23 编辑

深信服教学教研中心推出的“SCSA-S学习导图+”系列文章,结合初学者需求以及考试难点易错点,重视实用性、可读性,一经发布,收获一致好评;为此,围绕深信服安全技术认证A级(SCSA-T)需要掌握的知识点,我们开启全新系列,更好地帮助大家自主学习和提升,顺利获得证书,掌握新技能,把握新机遇,提升就业竞争力。

本期引言:路由技术是网络环境中,为不同的节点传输数据提供传输路径的技术,企业网络的拓扑一般会比较复杂,不同的部门或者总部和分支可能处于不同的网段中,此时就需要使用路由协议来连接不同的网段,实现数据的转发,所以路由协议为不同网段之间的互连起到了至关重要的作用,那本文主要讲解到的是路由协议中的OSPF路由协议。

  • 什么是OSPF路由协议
    OSPF(Open Shortest Path Fist)开放式最短路径优先是一种基于链路状态的路由协议,隶属于内部网关协议(IGP),其内部采用SPF算法来计算和收敛路由,OSPF一共分为两个版本:OSPFv2,主要适用于IPv4网络环境;OSPFV3,主要适用于IPV6网络环境。该协议主要用于中大型及大型网络环境中,其工作原理和配置过程比较复杂。
  • OSPF的基本知识
    2.1、OSPF区域化的结构
    OSPF为了适应大型的网络环境,在自治系统AS内划分了多个区域,每个OSPF路由器维护所在区域内完整的链路状态信息,区域ID可以表示为一个十进制的数字也可以表示为一个IP。其区域分类可以分为骨干区域Area0以及非骨干区域,非骨干区域可以再次细分为正常非骨干区域,末节区域以及完全末节区域。在这里我们只关注骨干区域和正常非骨干区域即可。如下图2-1所示区域划概况:



2.2、OSPF的路由器类型
OSPF路由器的类型决定了什么样的数据流能够进入和离开区域,以上图2-1为例,我们可以将路由器的类型分为以下几类:
路由器类型运行范围
内部路由器IR只运行在OSPF内部非骨干区域,形如R1
骨干路由器BR只运行在OSPF骨干区域,形如R3
区域边界路由器ABR运行在OSPF骨干区域和非骨干区域,形如R2
自治系统边界路由器ASBR运行多种路由协议且有外部路由协议路由重分发到OSPF域内,形如R4

2.3、DR与BDR的概念及作用
在网络中我们选举DR和BDR的目的是为了让DR产生特定的链路状态信息以及简化网络结构,选举规则为:先比较接口优先级,越大越优先。优先级相同,比较RID,越大越优先。
类型作用
DR(Designate router)指定路由器,其负责在MA网络建立和维护邻接关系并负责LSA的同步
BDR(Backup Disignate router)备用指定路由器,当DR出现故障时,BDR能够迅速替代DR的角色
DR other(Designate router other)其余非DR/BDR路由器
注意:LSA即链路状态通告,是一种描述OSPF路由器或者网络状态的数据单元,由于在OSPF中有很多种类,比较复杂,本文中不会展开描述。
2.4、OSPF支持的网络类型
OSPF支持的网络类型是指能够支持的二层网络类型,一般有以下几种:
支持的网络类型别名
广播网络Broadcast网络
非广播多路访问网络NBMA网络
点到点网络P2P网络
点到多点网络P2MP网络
注意:只有Broadcast网络和NBMA网络会选举指定路由器DR和备份指定路由器BDR。
2.5、OSPF的五种协议报文
OSPF的协议报文封装在IP报文内部,协议号是89,以下是五种报文的名称及作用:
类型功能
Hello包用于发现和维持邻居关系,选举DR和BDR
数据库描述包DBD用于向邻居发送摘要信息以同步链路状态数据库
链路请求包LSR在路由器收到包含新信息的DBD后发送,用于请求更详细的信息
链路状态更新包LSU收到LSR后,发送链路状态通告LSA,一个LSU数据包可能包含几个LSA
链路状态确认包LSAck确认已经收到DBD/LSU,每个LSA需要被分别确认

2.6、邻居和邻接关系
在OSPF中邻居关系就是在两台路由器中进行完两次Hello报文交互之后,建立起来的关系叫邻居关系。邻接关系是指在两台路由器中进行完链路状态数据库(LSDB)同步之后,建立起来的关系叫邻居关系。以下是网络类型与邻居/邻接关系的对应表:
网络类型是否和邻居建立邻接关系
P2P
BroadcastDR和BDR/DR other建立邻接关系;BDR和DR/DR other建立邻居接关系;DR other之间只建立邻居关系
NBMA
P2MP
  • OSPF多区域的常规配置


3.1、配置拓扑结构及IP地址如下图3-1所示:
3.2、网络地址及OSPF(进程号为10)区域规划如下:
设备名称接口名称IP地址用途所属OSPF区域
R1GE0/0/010.1.12.1/24互联地址Area 1
Loopback 01.1.1.1/32Route-id
Loopback 1192.168.10.1/24模拟业务网段A
R2GE0/0/010.1.12.2/24互联地址Area1
GE0/0/110.1.23.1/24互联地址Area0
Loopback 02.2.2.2/32Route-id
R3GE0/0/010.1.23.2/24互联地址
Loopback 03.3.3.3/32Route-id
Loopback 1192.168.20.1/24模拟业务网段B
注意:Route-id是OSPF区域内,唯一标示路由器的IP地址,Route-id的选举方法:选取路由器上Loopback数字最高的IP地址作为Route-id,如果没有Loopback,则选取在物理接口中地址数字最高的IP地址作为Route-id。

3.3、涉及配置命令
R1设备OSPF配置如下:
[R1]ospf 10 router-id 1.1.1.1
[R1-ospf-10]area 1
[R1-ospf-10-area-0.0.0.1]network 1.1.1.1 0.0.0.0
[R1-ospf-10-area-0.0.0.1]network 192.168.10.1 0.0.0.0
[R1-ospf-10-area-0.0.0.1]network 10.1.12.1 0.0.0.0
[R1-ospf-10-area-0.0.0.1]quit

R2设备OSPF配置如下:
[R2]ospf 10 router-id 2.2.2.2
[R2-ospf-10]area 1
[R2-ospf-10-area-0.0.0.1]network 10.1.12.2 0.0.0.0
[R2-ospf-10-area-0.0.0.1]area 0
[R2-ospf-10-area-0.0.0.0]network 2.2.2.2 0.0.0.0
[R2-ospf-10-area-0.0.0.0]network 10.1.23.1 0.0.0.0
[R2-ospf-10-area-0.0.0.0]quit

R3设备OSPF配置如下:
[R3]ospf 10 router-id 3.3.3.3
[R3-ospf-10]area 0
[R3-ospf-10-area-0.0.0.0]network 3.3.3.3 0.0.0.0
[R3-ospf-10-area-0.0.0.0]network 192.168.20.1 0.0.0.0
[R3-ospf-10-area-0.0.0.0]network 10.1.23.2 0.0.0.0
[R3-ospf-10-area-0.0.0.0]quit

3.4、检查配置结果
3.41、在R1设备上可以看到通过OSPF协议学来的不同网段的路由。

3.42、在R1设备上使用Ping命令Ping通R3设备的业务网段。

3.43、在R3设备上可以看到通过OSPF协议学来的不同网段的路由。

3.44、在R3设备上使用Ping命令Ping通R1设备的业务网段。

3.5、综上所述
我们已经通过OSPF路由协议互联了不同的网段,那假设我们R1与R3之间的网段如果ping无法通信的话,那我们也可以做一个简单的排查,我们要知道如果两个主机要通信则需要发送相应的数据包,所以相应节点的路由器就需要对应的路由,那么路由器之间就需要有邻居/邻接关系,那么影响OSPF建立邻居关系的因素有:
  • Router id冲突;
  • 区域ID配置错误;
  • 认证不一致;
  • MA网络环境中子网掩码需要一致;
  • hello/dead时间不一致;
  • 接口网络类型不匹配等等因素。


当我们看到邻接关系已经建立,仍然还是无法学到对方的路由,我们可以从网段是否宣告正确,相应的IP地址是否配置错误等等。

4、OSPF邻居和邻接关系的分析过程
接下来我们将通过上面的实验案例,来分析R1和R2设备之间的邻居关系/邻接关系以及链路状态信息的传递过程。(因为报文是多次交互的过程,所以在分析时截图不一定全部完整)

4.1、Hello报文的交互
4.11、假设R1先向R2发送Hello报文建立邻居关系,Hello报文目的地址为组播地址:224.0.0.5,因为这个这是第一个报文,DR和BDR字段都为空,所以也没有任何邻居路由器的信息。

4.12、路由器R2也会向R1发送Hello报文,由于R2的接口收到了R1发送的Hello报文,R2会将R1设置为它的邻居,故R1设备收到R2发送的Hello报文中,邻居列表为1.1.1.1。R2也是同理,则R1和R2设备都能在邻居列表中看到对方的Router id,邻居关系建立成功。


4.2、数据库描述报文的交互
4.21、假设R1设备发送了第一个DBD报文(I/M/MS位都置位),选举主从,其序列号为646。

4.22、R2也发送第一个DBD报文,选举主从,其序列号为:661。然后比较两个路由器的ID值,发现R2比较大,所以后续交互报文中使用主路由器R2的序列号。

4.23、主从协商完毕后,开始发送DBD报文,并且携带LSA(链路状态通告)的摘要信息,并且使用R2主路由器的序列号,当M=0时,说明报文发送完成。

4.3、LSR请求报文的交互
4.31、以R1设备为例,在接收到R2设备的DBD报文之后,会发送LSR报文请求具体信息。

4.4、LSU更新报文的交互
4.41、当R2设备收到R1的LSR之后,将会发送LSU报文给R1,里面携带详细的链路信息。

4.5、LSACK确认报文的交互
4.51、最终路由器R1确认收到R2的LSU之后就会发出LSACK报文予以确认。

至此,简单的报文交互过程完毕,其他报文交互过程不再赘述。

总结:本文从路由技术的概念出发,以OSPF路由协议为主,简要的介绍了OSPF的基本知识和多区域互联案例,以Wireshark软件为基础抓取OSPF的交互报文,分析其交互过程,能够帮助我们更好的理解OSPF的工作原理,在实际工作中,OSPF常常也会被用在运营商侧的底层互联协议,上层可能还会运行BGP和MPLS协议来实现路由的传递和网络的通信,这些内容还需要我们好好的学习。

练习题:【扩展】根据下图所示搭建OSPF的多区域环境,思考R1和R4之间之间能否传递相应的路由,如果不能,请说出原因并思考能够传递路由的解决方案。

本文作者:熊亮,深信服云计算认证专家,产业教育中心资深讲师,持有SCCE-C、CCSSP、CCSK、HCIE-Cloud Computing、HCIE-Datacom等多项技能证书,擅长企业级网络规划、云计算解决方案规划、云计算架构设计、私有云部署与管理,云灾备、云安全等技术方向;曾负责并参与金融、医疗及政企行业企业级云网络架构设计、私有云架构设计、企业级云迁移、云灾备等方案的规划与实施;并且作为特聘讲师多次为中国商务部援外研修班、央企、大中型企业、高校进行授课,研究方向为云计算架构深度解析、私有云架构设计、分布式存储架构实践、MPLS VPN骨干网络架构设计等技术领域,具有丰富的云计算一线实战经验以及技术转化和输出能力。

打赏鼓励作者,期待更多好文!

打赏
56人已打赏

小鱼儿 发表于 2023-1-5 16:52
  
感谢楼主分享,学习一下
日出 发表于 2023-1-5 16:57
  

感谢楼主分享,学习一下
小小胖 发表于 2023-1-5 17:01
  
感谢楼主分享,学习一下
小飞鱼 发表于 2023-1-5 17:05
  
感谢楼主分享,学习一下
司马缸砸了光 发表于 2023-1-5 18:45
  
感谢分享,资料很全面。
新手078326 发表于 2023-1-5 18:49
  
资料非常完整,非常感谢
新手899116 发表于 2023-1-5 18:53
  
资料非常完整,非常感谢
JM 发表于 2023-1-5 18:56
  
资料非常完整,非常感谢
新手780102 发表于 2023-1-5 18:58
  
资料非常完整,非常感谢
发表新帖
热门标签
全部标签>
每日一问
技术盲盒
技术笔记
干货满满
技术咨询
产品连连看
新版本体验
功能体验
标准化排查
自助服务平台操作指引
GIF动图学习
2023技术争霸赛专题
通用技术
运维工具
信服课堂视频
秒懂零信任
技术晨报
用户认证
社区帮助指南
答题自测
深信服技术支持平台
安装部署配置
上网策略
SDP百科
设备维护
每日一记
项目案例
玩转零信任
畅聊IT
专家问答
技术圆桌
在线直播
MVP
网络基础知识
升级
安全攻防
测试报告
日志审计
问题分析处理
流量管理
云计算知识
原创分享
解决方案
sangfor周刊
VPN 对接
SANGFOR资讯
专家分享
技术顾问
信服故事
功能咨询
终端接入
授权
资源访问
地址转换
虚拟机
存储
迁移
加速技术
排障笔记本
产品预警公告
信服圈儿
S豆商城资讯
技术争霸赛
「智能机器人」
追光者计划
答题榜单公布
纪元平台
卧龙计划
华北区拉练
天逸直播
以战代练
山东区技术晨报
文档捉虫活动
齐鲁TV
华北区交付直播
每周精选

本版版主

82
220
0

发帖

粉丝

关注

本版达人