目录
- 业务链(SFC)简介
- 什么是业务链?
- 业务链的体系架构
- 业务链的基本工作流程
- PBR
- PBR实现的SFC工作流程
- NSH
- NSH报文
- NSH实现的SFC工作流程
- 区别
- 业务链的应用
- 配置指南
业务链(SFC)简介
- 业务链是网络功能虚拟化(NFV)中一种关键技术,它允许对数据中心网络中的流量按需有序地进行业务处理。
- 一般来说,SFC的实现有
PBR
和NSH
两种方式。
什么是业务链?
业务链
是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封装使得业务链路径上的各个节点能够相互传递信息。基本工作流程如下:
- 用户流量到达SC节点后进行分类,分类后的流量被重定向到SFC业务链中,根据将要封装的NSH报文中SPI/SI信息查询NSH转发表,得到下一跳是SFF1的VTEP IP地址,对应的出接口信息为VXLAN隧道。将用户报文的ETH报文头剥除,然后进行NSH封装和ETH封装,再进行VXLAN封装,最后根据VXLAN的DIP查询路由表,得到出接口信息。
- SFF1节点接收到上一步的报文,对VXLAN报文头和ETH报文头进行终结,之后根据SPI/SI信息查询NSH转发表,得到下一跳是SF1的接口IP地址。根据此IP地址查询到的ARP信息构造新的ETH头。
- SF1收到报文后,剥除外层封装,对报文进行分析,然后将SI值减1,再封装NSH报文头和新的ETH报文头,将报文转发给SFF1节点。
- SFF1收到报文后,剥除报文的ETH报文头,根据NSH报文头的SPI/SI信息查询NSH转发表,得到下一跳是SFF2的VTEP IP地址。然后进行NSH封装、ETH封装和VXLAN封装。
- SFF2收到报文后,对VXLAN报文头和ETH报文头进行终结,之后根据SPI/SI信息查询NSH转发表,得到下一跳是Proxy的接口IP地址。根据此IP地址查询到的ARP信息构造新的ETH报文头。
- Proxy收到报文后,剥除外层封装,对报文进行分析,然后将SI值再减1,删除NSH封装信息,将报文转发给SF2节点。从SF2回来的流量重定向到Proxy,Proxy再添加上NSH封装和ETH封装信息,将报文转发给SFF2。
- 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 配置指南-业务链