SRV6跨域优势

news/2024/7/7 22:52:23

背景

运营商网络作为一张覆盖全国的网络,其主体分为骨干,省干,城域网层级,主流的管理模式为分层级管理。随着运营商网络服务的终端规模不断增长,不同地理位置之间网络连接的需求变得非常的普遍,但不同网络的BGP AS号不同,如果一个租户流量,需要从地市A访问地市B,就需要部署跨域VPN来解决问题。

跨域VPN部署现状

当前主流的跨域VPN分为Option A,Option B,Option C类型;

Option A

两个AS的PE路由器直接相连,并且作为各自所在自治系统的边界路由器ASBR。两个PE都把对方当作自己的CE设备,通过EBGP会话向对端发布普通的IPv4单播路由,并将需要跨域的VPN实例与至少一个接口关联。
在这里插入图片描述
在这里插入图片描述

  基于以上分析,Option A类跨域适合业务变化不大,且VPN数量较少的跨域;

Option B

两个ASBR通过MP-EBGP交换它们从各自AS的PE路由器接收的VPN-IPv4路由;
在这里插入图片描述
在这里插入图片描述

Option C

不同AS的PE之间建立多跳MP-EBGP会话,通过该会话直接在PE之间发布VPN-IPv4路由。此时,一端PE上需要具有到达远端PE的路由以及该路由对应的标签,以便在两个PE之间建立跨越AS的公网隧道。
在这里插入图片描述

在这里插入图片描述

总结:

传统MPLS转发面的跨域部署,不同技术总是存在各自的问题,为客户开展业务带来了部署,管理,维护等困扰;

SRV6的跨域能力

MPLS转发面的跨域问题,主要的难点在于不仅仅需要跨域路由可达,还需要考虑标签分配关联,域间分发问题,而如果不需要考虑MPLS问题,仅需要考虑native Ethernet的IP路由,跨域将变得简单;
SRv6具有Native IPv6的特质,在跨域的场景中,只需要将一个域的IPv6路由通过BGP4+引到另外一个域,就可以开展跨域业务部署,尤其是IP路由具备天然的汇聚能力,可以将跨域路由汇总后再发布,大大降低路由压力,因此无论是部署难度,还是设备压力,都变得较为简单。
在这里插入图片描述

如上图所示,AS1和AS3域内,ASBR将域内的IPV6汇总路由发布给骨干网AS2,骨干网将AS1和AS2的汇总路由分别发布给对方,使得AS1和AS3的PE之间IPV6路由可达;两个AS域内PE可以直接建立多跳MP-BGP传递VPN私网路由,并且可以直接建立SRV6隧道;
无需考虑标签在域间分配管理传递问题,SRV6的跨域理念是:路由可达即业务可达;
所有的域内P节点,域间ASBR节点均不需要维护VPN私网路由表,也不需要为每个VPN部署VRF实例,以及绑定三层接口部署BGP对等体连接,大大降低了设备压力和配置复杂度,仅需要实现基于SRV6的公网转发即可,并且如果中间节点存在不支持SRV6的节点,也只需要支持IPV6即可;
但是同时我们也需要看到,SRV6跨域也存在一定的问题:
ASBR发布和接受远端汇总路由,需要做路由重分布,要做好路由策略防止环路影响收敛;
连接数的压力从ASBR下移到PE节点,PE节点压力增大,PE节点BGP邻居数成为了限制;
路由需要做好规划,便于ASBR汇总路由;
SRV6隧道如果采用BE方式部署,局部故障感知能力有限,收敛性能较差;如果采用SRV6-Policy部署,网络规模使得PE节点封装标签层数较多,对PE节点提出了很高的封装解封装能力要求,而PE节点通常是低端接入层级设备,本身能力有限,就需要在ASBR部署BSID标签缝接等技术来解决。SRV6本身,在带来优势的同时,也对网络业务部署的配置以及设备能力提出了更高的要求;

小结

MPLS转发体系,作为过去20年的承载网主流技术,体系成熟,为网络业务发展提供了强有力的支撑。但是也因为其MPLS转发面带来的天然劣势,跨域存在各种各样的问题,SRV6技术基于native Ethernet的IP转发,存在天然的跨域优势,同时我们也应该看到,SRV6技术本身也存在一定问题,其设备能力,产业链发展,标准技术规范等问题暂时无法达到效果。所以,当前我们部署SRV6,也需要根据具体的项目需求,合理的选择,发扬SRV6优势,为用户带来真正的价值,而不是将本身简单的技术做得比MPLS更加复杂,反而失去了其本来的意义。


http://lihuaxi.xjx100.cn/news/894109.html

相关文章

全网详解 .npmrc 配置文件:比如.npmrc的优先级、命令行,如何配置.npmrc以及npm常用命令等

文章目录1. 文章引言2. 简述.npmrc3. 配置.npmrc3.1 .npmrc配置文件的优先级3.2 .npmrc设置的命令行3.3 如何设置.npmrc4. 配置发布组件5. npm常用命令6. 重要备注6.1 yarn6.2 scope命名空间6.3 镜像出错1. 文章引言 今天在某低代码平台开发项目时,看到如下编译配置…

如何正确的在Flutter中添加webview

前言 为什么要在flutter中引入webview?这不是废话么,当然是为了加载一个网页,这不是移动端最基本的需求么,哈哈!说的真不错,接下来我要是告诉你我的用法,你可能要大吃一惊。我的用处很简单&…

Java实现调用ChatGPT的相关接口(附详细思路)

目录1.0.简单版2.0.升级版2-1.call.timeout()怎么传入新的超时值2-2.timeout(10, TimeUnit.SECONDS)两个参数的意思,具体含义3.0.进阶版3-1.java.net.SocketTimeoutException: 超时如何解决4.0.终极版1.0.简单版 以下是一个使用 Java 实际请求 ChatGPT 的简单示例代…

【DockerCE】Docker-CE 23.0.1正式版发布

很意外啊!Docker社区版竟然直接从20.xx.xx版本,升级到23.xx.xx版本了。官网地址(For RHEL/CentOS 7.9):https://download.docker.com/linux/centos/7/x86_64/stable/Packages/23.0.1版本官方安装包如下:# l…

基于ArgoCD实现k8s环境下的持续部署

什么是 argo CD Argo CD is a declarative, GitOps continuous delivery tool for Kubernetes. Argo CD是一个基于Kubernetes的声明式的GitOps工具。 这里我们引入了一个新的概念, 什么是GitOps GitOps是以Git为基础,使用CI/CD来更新运行在云原生环境…

【电商】订单拆单的流程中,系统需要做哪些工作?

什么是拆单? 在网上购买商品下单成功后,过一段时间再次浏览时,有时会发现你的订单会变成两个或多个,这就是系统做了拆单而导致的。 拆单,就是将一个大的订单依据某些规则的集合,将其分解成两个或多个子订…

【动画图解】这个值取对了,ViewPager2才能纵享丝滑

前言 在前两篇文章中,我们通过一张张清晰明了的「示意图」,详细地复盘了RecyclerView「缓存复用机制」与「预拉取机制」的工作流程,这种「图解」创作形式也得到了来自不同平台读者们的一致认可。 而从本文开始,我们将正式进入Vi…

simple-git-hook一个轻量的git钩子库-官方文档翻译

simple-git-hooks 一个让您轻松管理git钩子的工具 零依赖极少的配置(仅为package.json中的1个对象)轻量 用法 添加simple-git-hooks到项目中 安装simple-git-hooks作为开发依赖项: npm install simple-git-hooks --save-dev添加simple-gi…