返回
ZStack 实践汇|OSPF搭建与物理网络通信的“桥梁”
2020-10-30 00:13
前言

年3月,国家人大会议提出,要加快5G网络、数据中心等新型基础设施的建设进度。新型基础设施建设,包括信息基础设施、融合基础设施以及创新基础设施。

信息基础设施包括以5G、物联网、工业互联网、卫星互联网为代表的通信网络基础设施;以人工智能、云计算、区块链等为代表的新技术基础设施;以数据中心、智能计算中心为代表的算力基础设施等。其中,云计算作为智能世界的冷静大脑,能够更好地计算数据,是未来数字经济的基础设施,也将在推动经济与社会的进步中,发挥更加重要的作用。

随着新基建建设速度的不断加快、建设规模的不断扩大,云计算中对网络的要求也越来越高,尤其以大型数据中心网络上云为代表,构建云数据中心,如何解决云数据中心与物理数据中心联接的问题也愈发明显。以往,多数云平台一般是通过加载“外部网络”到达物理交换机或防火墙设备上,然后再通过物理交换机或防火墙,与物理数据中心网络实现路由互通;但这种方式也增加了硬件及运维的成本。在此情况下,OSPF就成了能够很好解决云平台内部网络和物理外部网络之间连接问题的“桥梁”。

OSPF路由协议简介

在了解OSPF的基本概念之前,我们先大概介绍下路由。

众所周知,路由分为直连路由、静态路由和动态路由。其中,动态路由通过动态路由协议进行维护,动态路由协议包括了RIP、OSPF、IS-IS等内容。动态路由协议通过路由信息的交换生成并维护转发所需的路由表,当网络拓扑结构改变时动态路由协议可以自动更新路由表,并负责决定数据传输的最佳路径。在此环境下,管理员不需要像对待静态路由一样,通过人工方式对路由器上的路由表进行维护,而是在每台路由器上运行一个路由协议。这个路由协议会根据路由器上接口的配置及所连接的链路状态,生成路由表中的路由表项。

OSPF是一种基于SPF算法的链路状态的内部网关路由协议,全称叫开放最短路径优先协议。下图为OSPF路由协议实现“自力更生”的过程:

图片1.png

每台运行OSPF的路由器都了解整个网络的链路状态信息。首先,OSPF的收敛过程由链路状态公告LSA(Link State Advertisement)泛洪开始,收到LSA的路由器根据LSA提供的信息,建立自己的链路状态数据库LSDB(Link State Database)。之后,通过SPF算法,在LSDB的基础上自行计算,构建起到每个网络的最短路径树。最后,通过最短路径树,得出到达目的网络的最优路由,并将其加入到IP路由表中。

在此过程中,只有建立起邻接关系才会计算路由信息。在使用OSPF之后,路由器会周期性的发送Hello报文;当收到邻居发来的Hello包以后,状态变更为Init状态;路由器互相收到了从邻居发来的Hello报文,就会切换为2-Way状态;在此状态下,双向通信已经建立,但是尚未与邻居建立起邻接关系,这是建立邻接关系以前的最高级状态。

如果网络为广播网络,这个时候就会选举DR/BDR(DR:广播网络中的指定路由器,所有邻居只和DR/BDR同步LSA条目,以此减少OSPF流量;BDR:备份指定路由器),与后续所有路由器建立关系,减少邻居会话;再之后,网络会经过ExStart、Exchange、Loading、Full状态建立起邻接关系,再由DR将计算出的整个网络的拓扑信息发送给所有路由器;最后,所有路由器以自己为根,根据算法计算出到各网段的最优路径并写入路由表。该段所描述过程如下图所示:

图片2.png

据链路层协议分为多种,Ethernet、PPP、HDLC及帧中继等,一般常用的为Ethernet。那么当数据链路层协议是Ethernet的时候,OSPF支持的默认网络类型为广播类型,在此网络类型下,需要进行DR和BDR的选举,选举的目的是减少邻居会话,产生网络LSA。一般在邻居发现完成之后,路由器会根据网段类型、以及参与选举的每个接口的优先级,进行DR选举,值越高越优先,默认为1;当优先级相同时,再去比较Router ID,值越大越优先。为了给DR做备份,还要选举一个BDR。DR、BDR会与网络上所有的路由器建立邻接关系。

为了控制LSA 泛洪的范围,减小LSDB的大小,实现网络快速地收敛,OSPF协议会按照一定标准,将一个自治系统划分为不同区域,用于分层管理路由器。

1、Standard:标准区域(Standard Area),支持所有类型的LSA;

2、Stub:末节区域(Stub Area),不支持第4、5类型的LSA;

3、NSSA:Stub衍变的末节区域(Not So Stubby Area),只支持学习第7类型的LSA。

其中,Stub区域中路由器的路由表规模,以及路由信息传递的数量,都会大大减少。Stub区域是不能引入外部路由的,这样可以避免大量外部路由对Stub区域路由器带宽和存储资源的消耗。

那么,对于既需要引入外部路由又要避免外部路由带来资源消耗的场景,Stub区域就不再满足需求了。因此,Stub区域的变形——NSSA区域(not so stub area)就产生了。


OSPF在ZStack云平台中的实现

我们在ZStack云平台中的网络资源-VPC-路由协议资源里面,可以配置OSPF路由协议。

图片3.png

区域ID:在一个自治系统中,每个OSPF区域采用区域ID标识,全局唯一。0号区域(区域ID:0.0.0.0)称为骨干区域,所有区域必须与骨干区域连通。

区域类型:OSPF区域包括Standard、Stub及NSSA三种类型。同一VPC路由器可以添加到不同OSPF区域;但同一VPC路由器上的网络(VPC网络、公有网络)只能添加到一个OSPF区域。

认证方式:为增强协议包的安全性,OSPF协议支持区域认证加密,OSPF区域共支持三种认证方式。1、None:接收报文时不进行身份认证;2、Plaintext:接收报文时通过报文中携带的密码进行身份认证;3、MD5:接收报文时通过报文中携带的Key ID和密码散列值进行身份认证。


OSPF的应用场景

场景一:用户存在于云平台上的两个不同的虚拟VPC网络环境。为了两个VPC网络环境能够相互通信,在ZStack环境中,创建同一区域的OSPF区域,将两个三层网络隔离的虚拟VPC路由器加入到同一个OSPF区域;路由器间通过OSPF协议建立邻居关系,相互通信,即可实现两个不同的虚拟VPC路由器中网络之间的相互通信。过程如下图所示:

图片4.png

场景二:用户存在两套网络环境:一套为云平台上的虚拟VPC网络环境、一套为物理环境中已配置OSPF协议的传统网络环境。为了两套网络环境能够相互通信,在ZStack环境中,创建一个与物理环境中一样的OSPF区域,将三层网络隔离的虚拟VPC路由器和传统路由器加入到同一个OSPF区域;路由器间通过OSPF协议建立邻居关系,相互通信,就可实现虚拟VPC路由器中的网络与传统网络间相互通信。过程如下图所示:

图片5.png


不同VPC网络通过OSPF实现网络互通实战

最后,我们通过实战来演示OSPF的配置过程。我们先看下OSPF的配置流程图,这里我们拿应用场景一为例。首先,创建两个VPC网络,验证未使用OSPF协议时网络的连通性;然后,创建OSPF区域,将VPC路由器加入OSPF区域;最后,验证OSPF协议生效后的网络连通性。

图片6.png

具体步骤如下:

第一步:创建两个VPC网络,分别为VPC网络-01(192.168.3.0/24)和VPC网络-01(192.168.4.0/24)。

图片7.png

第二步:分别使用两个VPC网络创建两台云主机,分别为VPC云主机-01(地址:192.168.3.254)和VPC云主机-02(地址:192.168.4.101)。

图片8.png

第三步:验证未使用OSPF协议时网络的连通性,在VPC云主机-01上ping测试VPC云主机-02,可以看到无法正常通信。

图片9.png

第四步:创建OSPF区域并将VPC路由器加入到OSPF区域中,区域ID为0.0.0.0,类型为Standard标准区域,认证方式None。


图片10.png

 

          图片11.png


等待一段时间后,可以看到DR和BDR已经选举成功,且邻居状态为Full状态,邻接关系建立成功。

图片12.png

图片13.png

第五步:验证使用OSPF协议时网络的连通性,在VPC云主机-01上ping测试VPC云主机-02,可以看到能够正常通信。

图片14.png


总结

通过OSPF为不同VPC网络之间、云平台内部网络与物理外部网络之间,搭建起通信的桥梁,简化了网络架构,减少了硬件及运维的成本,也提高了云平台的简单易用性。

今后,ZStack也将在产品化道路上持续发力,提供一个简单、健壮、弹性、智能的可信赖的、产品化的云平台。

下载ZStack企业版

您已填写过基本信息?点击这里

姓名应该不少于两个字符
手机号格式错误
验证码填写错误 获取短信验证码 60 秒后可重发
公司名称不应该少于4个字符
邮箱格式错误

下载链接将会通过邮件形式发送至您的邮箱,请谨慎填写。

下载ZStack企业版

还未填写过基本信息?点击这里

邮箱或手机号码格式错误
验证手机号
手机号格式错误
验证码填写错误 获取短信验证码 60 秒后可重发
登录观看培训视频
仅对注册用户开放,请 登录 或 填写资料 观看培训视频
填写资料

商务咨询:

400-962-2212 转 1

售后咨询:

400-962-2212 转 2

商务联系:

sales@zstack.io
ZStack认证培训咨询
姓名应该不少于两个字符
手机号格式错误
验证码填写错误 获取短信验证码 60 秒后可重发
公司名称不应该少于4个字符
邮箱格式错误

商务咨询:

400-962-2212 转 1

商务联系:

channel@zstack.io
申请ZStack多机版
姓名应该不少于两个字符
手机号格式错误
验证码填写错误 获取短信验证码 60 秒后可重发
公司名称不应该少于4个字符
邮箱格式错误

商务咨询:

400-962-2212 转 1

售后咨询:

400-962-2212 转 2

商务联系:

sales@zstack.io

下载链接已发送至您的邮箱。

如未收到,请查看您的垃圾邮件、订阅邮件、广告邮件。 当您收到电子邮件后,请点击 URL 链接,以完成下载。

下载链接已发送至您的邮箱。

如未收到,请查看您的垃圾邮件、订阅邮件、广告邮件。
或点击下方URL链接 (IE内核浏览器请右键另存为), 完成下载:

感谢您使用 ZStack 产品和服务。

成功提交申请。

我们将安排工作人员尽快与您取得联系。

感谢您使用 ZStack 产品和服务。

立即体验

联系我们

商务咨询
400-962-2212 转 1
售后咨询
400-962-2212 转 2

回到顶部

产品试用申请
请选择您要试用的产品
ZStack企业版
ZStack混合云版
ZStack信创云平台
ZStack Ceph企业版
ZStack Mini 边缘计算一体机
ZStack CMP 多云管理平台
请填写您的基本信息
姓名应该不少于两个字符
手机号格式错误
验证码填写错误 获取短信验证码 60 秒后可重发
公司名称不应该少于4个字符
邮箱格式错误

商务咨询:

400-962-2212 转 1

售后咨询:

400-962-2212 转 2

商务联系:

sales@zstack.io

成功提交申请。

我们将安排工作人员尽快与您取得联系。

感谢您使用 ZStack 产品和服务。