业务链SFC简介

news2025/1/18 11:47:57

目录

  • 业务链(SFC)简介
    • 什么是业务链?
    • 业务链的体系架构
    • 业务链的基本工作流程
      • PBR
        • PBR实现的SFC工作流程
      • NSH
        • NSH报文
        • NSH实现的SFC工作流程
      • 区别
    • 业务链的应用
  • 配置指南

业务链(SFC)简介

  • 业务链是网络功能虚拟化(NFV)中一种关键技术,它允许对数据中心网络中的流量按需有序地进行业务处理。
  • 一般来说,SFC的实现有PBRNSH两种方式。

什么是业务链?

  • 业务链是NFV虚拟网络中对流量按需有序进行业务处理的重要手段。它通过在网络路径中插入增值服务设备(VAS),如防火墙、负载均衡器、入侵防御设备等,来确保网络安全和业务调度。
  • 业务链最主要的作用,是可以在不变更现有网络的情况下,横向的扩展VAS。使用SFC进行流量引导,而不是将VAS串联进现网。

业务链的体系架构

业务链的体系架构包括以下几个关键角色:

  • 分类器SC(Service Classifier):位于SFC域的边界入口,负责流量分类和业务标识设置。一般是ServerLeaf
  • 服务节点SF(Service Function):提供增值服务功能的设备,包括防火墙,负载均衡设备等。VAS
    • 根据设备是否识别NSH(Network Service Header,网络服务报头)报文封装,SF又可以分为:
      • NSH-aware SF:能够识别NSH报文并转发
      • NSH-unaware SF:不能识别NSH报文将其丢弃。
  • 业务链转发节点SFF(Service Function Forwarder):连接SF服务功能点的设备,根据SF业务流信息进行转发。一般是BorderLeaf和ServerLeaf
  • SFC代理(SFC Proxy):位于SFF与NSH-unaware SF之间,负责删除或添加NSH封装信息。
  • SFP业务路径(Service Function Path):根据配置计算出的一条报文路径。
    在这里插入图片描述

业务链的基本工作流程

PBR

  • PBR的操作对象是数据包,通过在流行为中配置重定向实现,对接口入方向的报文或从VXLAN隧道过来的报文生效,设备按照PBR指定的下一跳转发相关流量。
  • PBR可以写在流量的入接口/VBDIF/全局使用
PBR实现的SFC工作流程

在这里插入图片描述

  • 控制器SC节点下发过滤和重定向策略,选择性的将业务流量重定向到SF1,PBR方式不改变CONSUMER访问PROVIDER的业务报文
  • 控制器SFF1节点下发隧道侧和用户侧过滤和重定向策略,SFF1节点选择性将业务流量牵引至SF1、SF2。
  • 控制器SFF2节点下发隧道侧过滤和重定向策略,SFF2节点选择性将业务流量牵引至SF3,最后将业务报文转发给PROVIDER。

NSH

定义了一种新的数据面业务封装格式NSH(Network Service Header),封装头包括业务路径和MetaData信息等,使得业务链路径上的各个节点能够相互传递路径信息。
兼容性较差,必须VAS设备支持NSH才能使用。

NSH报文
  • NSH方式实现的SFC,实际上是在报文中添加NSH报文字段,类似于VLAN插入VLANTag字段。
  • NHS中PBR还是要用,作用是捕捉流量,添加NHS的标识。
  • NSH可以承载在VLAN或VXLAN网络中:
    在这里插入图片描述
  • 以下是具体的NSH格式:
    在这里插入图片描述
  • 最重要的字段:
    • SPI:用于区分不同业务链
    • SI:标识当前经过第几个业务功能点,最多255个
      在这里插入图片描述
NSH实现的SFC工作流程

在这里插入图片描述

业务链通过NSH(Network Service Header)封装实现,NSH封装使得业务链路径上的各个节点能够相互传递信息。基本工作流程如下:

  1. 用户流量到达SC节点后进行分类,分类后的流量被重定向到SFC业务链中,根据将要封装的NSH报文中SPI/SI信息查询NSH转发表,得到下一跳是SFF1的VTEP IP地址,对应的出接口信息为VXLAN隧道。将用户报文的ETH报文头剥除,然后进行NSH封装和ETH封装,再进行VXLAN封装,最后根据VXLAN的DIP查询路由表,得到出接口信息。
  2. SFF1节点接收到上一步的报文,对VXLAN报文头和ETH报文头进行终结,之后根据SPI/SI信息查询NSH转发表,得到下一跳是SF1的接口IP地址。根据此IP地址查询到的ARP信息构造新的ETH头
  3. SF1收到报文后,剥除外层封装,对报文进行分析,然后将SI值减1再封装NSH报文头和新的ETH报文头,将报文转发给SFF1节点
  4. SFF1收到报文后,剥除报文的ETH报文头,根据NSH报文头的SPI/SI信息查询NSH转发表,得到下一跳是SFF2的VTEP IP地址。然后进行NSH封装、ETH封装和VXLAN封装。
  5. SFF2收到报文后,对VXLAN报文头和ETH报文头进行终结,之后根据SPI/SI信息查询NSH转发表,得到下一跳是Proxy的接口IP地址。根据此IP地址查询到的ARP信息构造新的ETH报文头。
  6. Proxy收到报文后,剥除外层封装,对报文进行分析,然后将SI值再减1,删除NSH封装信息,将报文转发给SF2节点。从SF2回来的流量重定向到Proxy,Proxy再添加上NSH封装和ETH封装信息,将报文转发给SFF2。
  7. SFF2收到报文后,判断SI值是否等于最后一跳的SI值。如果等于,就剥除NSH报文头,对报文做普通封装,转发出去,结束报文在SFC域中的转发;如果不等于,就查询NSH转发表继续在SFC域中转发。

区别

对比点PBR业务链NSH业务链(NSH-aware)
基本特点PBR业务链不需要改变原始报文(优)NSH业务链需要改变原始报文
地址变换VAS(NAT和LB)NAT难度在于控制器编排和来回路径NSH转发平面可以减少NAT编排难度(优)
MetaData信息不支持支持(优)
Fabric设备要求无兼容性需求(优)有兼容性需求
VAS设备要求无需求(优)需支持NSH需求
业务链防环无防环能力(cisco能防环)无环(优)
带宽资源占用不增加协议头部(优)增加协议头部
VAS节点规格受限ACL资源,IPv4最多8跳业务链
受限ACL资源,IPv6最多8跳业务链
最大支持255(优)
单特性转发转发性能下降不明显(优)转发性能下降明显
Bypass能力无Bypass能力(当SF为L3类型时,单跳业务链自带逃生)当SF为L3类型时,支持逃生(优)
流量可视无需适配(优)流量可视软件支持NSH协议
ACL资源消耗需要每跳用户侧或网络侧匹配只在SC节点匹配ACL,其他节点不消耗(优)

业务链的应用

业务链在数据中心网络中的应用主要包括:

  • 东西向流量:在不同安全等级的服务器间,业务链可以灵活定义流量经过的服务节点,实现安全防护。
  • 南北向流量:通过业务链定义,将数据中心网络与外部网络之间的访问流量编排到服务节点上,实现地址转换和安全过滤。
    在这里插入图片描述

配置指南

参考华为官方的业务链配置指南:
CloudEngine 6800, 5800 V200R019C10 配置指南-业务链

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1881267.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

javascript v8编译器的使用记录

我的机器是MacOS Mx系列。 一、v8源码下载构建 1.1 下载并更新depot_tools git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git export PATH/path/to/depot_tools:$PATH 失败的话可能是网络问题,可以试一下是否能ping通,连…

【轻量化】YOLOv8 更换骨干网络之 MobileNetv4 | 《号称最强轻量化网络》

论文地址:https://arxiv.org/pdf/2404.10518 代码地址:https://github.com/tensorflow/models/blob/master/official/vision/modeling/backbones/mobilenet.py 文章速览 文章摘要 MobileNetV4引入了一个名为Universal Inverted Bottleneck (UIB) 的新搜索模块,这个模块融合…

vue 组件el-tree添加结构指示线条

效果展示: 注意&#xff1a;组件中需要添加:indent"0" 进行子级缩进处理&#xff0c;否则会出现子级缩进逐级递增 :expand-on-click-node"false" 设置点击箭头图标才会展开或者收起 代码&#xff1a; <el-tree class"tree filter-tree" :da…

高并发场景下的热点key问题探析与应对策略

目录 一、问题描述 二、发现机制 三、解决策略分析 &#xff08;一&#xff09;解决策略一&#xff1a;多级缓存策略 客户端本地缓存 代理节点本地缓存 &#xff08;二&#xff09;解决策略二&#xff1a;多副本策略 &#xff08;三&#xff09;解决策略三&#xff1a;热点…

商标字体的选择:企业和个人申请注册商标攻略!

对于汉字商标&#xff0c;就会涉及到字体的选择&#xff0c;普推商标老杨也经常看到企业因为文字商标字体侵权收到相关字体公司的律师函&#xff0c;所以商标字体选择上要特别注意。 建议选择可以商用的免费字体&#xff0c;常见的有黑体、宋体等&#xff0c;如果这些字体前面…

vue 组件批量删除

element ui table表格中前面这个勾选框 对应 type"selection" 属性&#xff0c;绑定事件时selection-change,当你勾选全面的框时就会触发selection-change 对应的事件 绑定事件里面这样定义方法时&#xff0c;这个val 就是选中的时候那一行的数据&#xff0c;如下图…

数学建模(1):期末大乱炖

1 概述&#xff01;&#xff01; 1.1 原型和模型 原型&#xff1a;客观存在的研究对象称为原型&#xff0c;也称为“系统”、“过程”。 机械系统、电力系统、化学反应过程、生产销售过程等都是原型&#xff1b; 研究原型的结构和原理&#xff0c; 从而进行优化、预测、评价…

02.Linux下安装FFmpeg

目录 一、下载FFmpeg的编译源码 二、编译源码 三、ffmpeg工具结构解析 1、bin目录 2、include库 3、lib库 四、注意事项 五、可能出现的一些问题 1、某些工具未安装/版本过久 2、缺少pkg-config工具 3、缺少ffmplay FFmpeg 是一个开源的跨平台音视频处理工具集&…

QListView自定义item(结合QSqlQueryModel)

QListView:绘制自定义List&#xff08;一&#xff09;——设置ItemDelegate_qt_繁星执着-开放原子开发者工作坊 (csdn.net) QListView自定义Item_qlistview 自定义item-CSDN博客 结合我写的上一篇文章&#xff1a; QTableView与QSqlQueryModel的简单使用-CSDN博客 这次尝试…

[数据集][目标检测]桥梁检测数据集VOC+YOLO格式1116张1类别

数据集格式&#xff1a;Pascal VOC格式YOLO格式(不包含分割路径的txt文件&#xff0c;仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数)&#xff1a;1116 标注数量(xml文件个数)&#xff1a;1116 标注数量(txt文件个数)&#xff1a;1116 标注…

zfile文件共享系统使用

1.简介 zfile是一款基于java开源的文件共享软件&#xff0c;有两种部署&#xff08;jar包和war包&#xff09;,非常适合广大的Java开发人员使用&#xff08;当然其他人员也可使用&#xff09;&#xff0c;或者你也可以称它为网盘&#xff0c;可以在Windows、MacOS、Linux上部署…

C#串口通信Seriaport和页面传值

串口通信 串口COM&#xff1a;是一种用于连接计算机和外设设备的接口&#xff0c;也叫串行接口&#xff0c;简称com,常见的串口有一半电脑应用的RS-232&#xff08;使用25针或9针的 连接器&#xff09;通俗来讲串口就是usb接口、鼠标串口。键盘串口 串口通讯&#xff1a;是指外…

【MySQL】Linux下MySQL的目录结构、用户、权限与角色

一、Linux下MySQL的目录结构 1、MySQL相关目录 数据库文件存放路径&#xff1a;/var/lib/mysql数据库命令存放路径&#xff1a;/user/bin和/user/sbin配置文件目录&#xff1a;/usr/share/mysql-8.0/、/usr/share/mysql/和/etc/my.cnf 2、假设我们创建了一个数据库dbtest1&a…

uniapp 安卓、IOS、H5、微信小程序实现PDF在线预览

在使用uniapp开发移动端时&#xff0c;微信开发者工具里webview能正常打开后端接口返回的pdf文件流。正式发布后&#xff0c;在配置了业务域名和服务器域名的前提下&#xff0c;预览pdf文件却只能看到白屏&#xff0c;因此我猜测微信小程序不能通过webview读取文件流。这个想法…

论文阅读_基于嵌入的Facebook搜索

英文名称&#xff1a;Embedding-based Retrieval in Facebook Search 中文名称&#xff1a;基于嵌入式检索的Facebook搜索 时间&#xff1a;Wed, 29 Jul 2020 (v2) 地址&#xff1a;https://arxiv.org/abs/2006.11632 作者&#xff1a;Jui-Ting Huang, Ashish Sharma, Shuying …

09_计算机网络模型

目录 OSI/RM七层模型 OSI/RM七层模型 各层介绍及硬件设备 传输介质 TCP/IP协议簇 网络层协议 传输层协议 应用层协议 完整URL的组成 IP地址表示与计算 分类地址格式 子网划分和超网聚合 无分类编址 特殊含义的IP地址 IPv6协议 过渡技术 OSI/RM七层模型 OSI/RM七…

《昇思25天学习打卡营第6天 | 函数式自动微分》

《昇思25天学习打卡营第6天 | 函数式自动微分》 目录 《昇思25天学习打卡营第6天 | 函数式自动微分》函数式自动微分简单的单层线性变换模型函数与计算图微分函数与梯度计算Stop Gradient 函数式自动微分 神经网络的训练主要使用反向传播算法&#xff0c;模型预测值&#xff0…

LeetCode题练习与总结:重排链表--143

一、题目描述 给定一个单链表 L 的头节点 head &#xff0c;单链表 L 表示为&#xff1a; L0 → L1 → … → Ln - 1 → Ln请将其重新排列后变为&#xff1a; L0 → Ln → L1 → Ln - 1 → L2 → Ln - 2 → … 不能只是单纯的改变节点内部的值&#xff0c;而是需要实际的进…

centos 7.9 离线环境安装GPU服务环境

文章目录 centos 7.9 离线环境安装GPU服务环境系统配置更新 gcc更新内核安装显卡驱动安装cuda安装docker 和 nvidia-container-runtime验证 centos 7.9 离线环境安装GPU服务环境 基于centos 7.9 离线安装gpu 服务基础环境&#xff0c;用于在docker 中运行算法服务 系统配置 …

python open函数中文乱码怎么解决

首先在D盘下新建一个html文档&#xff0c;接着在里面输入含有中文的Html字符&#xff0c;使用中文格式对读取的字符进行解码&#xff0c;再用utf-8的模式对字符进行编码&#xff0c;然后就能正确输出中文字符。 代码如下&#xff1a; # -*- coding: UTF-8 -*- file1 open(&quo…