01-服务链配置
本章节下载: 01-服务链配置 (211.16 KB)
服务链(Service Chain)技术应用于VXLAN网络,它结合SDN(Software Defined Network,软件定义网络)来实现业务编排,引导网络业务报文按照要求的顺序通过服务节点进行处理和转发。
如图1-1示,VCFC(VCF Controller,VCF控制器)基于不同的租户应用,通过OpenFlow下发引流规则来控制Overlay网络中的VXLAN报文是否进入服务链处理,并确保报文在服务链内各个节点间传递。
服务链分为接入点和服务节点两种角色。
接入点是VXLAN网络的边缘设备VTEP(VXLAN Tunnel End Point,VXLAN隧道端点)。由它根据VCFC下发的引流规则来判断报文是否进入服务链,并对进入服务链的报文进行服务链封装。
(1) 服务节点
服务节点是网络中处理某种业务的设备,可以是物理设备,也可以是NFV(Network Function Virtualisation,网络功能虚拟化)设备。一条服务链上可以存在多个服务节点。各服务节点根据服务列表指定的服务类型对报文进行处理。
服务列表用于指定服务的类型及处理顺序,目前支持的服务类型包括ACG、DPI、FW、IPS、IPsec、LB和NAT。
服务节点包含两种特殊的节点类型:
· 首节点:服务链中首个对报文进行处理的服务节点。
· 尾节点:服务链中最后一个对报文进行处理的服务节点。
服务链报文采用VXLAN封装,并在VXLAN报文头中标识服务链信息,如图1-2所示:
图1-2 携带服务链信息的VXLAN报文格式示意图
在VXLAN报文头中,以下两个字段用于标识报文所使用的服务链:
· 标记位:“S”位为1时,表示VXLAN头中的Service Chain字段有效;为0,表示Service Chain字段无效。
· Service Chain:长度为24比特,由方向标记位D和Service Path ID两部分组成。“D”位为0时,表示正向报文;为1时,表示反向报文。Service Path ID长度为23比特,用来标识一个服务链。
服务链的工作原理大致如下:
(1) 报文入方向的接入点根据VCFC下发的引流规则将报文进行VXLAN封装,然后发送给服务链的首节点。
(2) 服务链的首节点收到VXLAN报文后,根据报文头中的Service Path ID字段在本地查找匹配的服务链。
¡ 如果本地没有匹配的服务链,则对该报文进行正常的VXLAN转发。
¡ 如果本地存在匹配的服务链,则该报文进入服务链处理。
(3) 服务链完成处理后:
¡ 如果该服务链配置了下一跳地址,则报文转发给下一个服务节点处理。
¡ 如果该服务链没有配置下一跳地址,则该节点作为服务链的尾节点,删除VXLAN报文中的Service Path ID字段,并将报文转发给报文出方向的接入点。
(4) 报文出方向的接入点对VXLAN报文进行解封装,并进行IP转发。
服务链可以通过VCFC和命令行两种方式进行配置,建议采用VCFC通过NETCONF下发配置的方式。本手册仅介绍命令行的配置方式,通过VCFC配置的详细介绍请参见VCFC配套的手册。
当设备作为服务节点时,需要进行以下配置:
(1) 创建服务链,并指定正向报文的下一个服务节点及反向报文的下一个服务节点。需要注意的是:
· 如果设备作为服务链的首节点,则仅需要为其指定正向报文的下一个服务节点即可。
· 如果设备作为服务链的尾节点,则仅需要为其指定反向报文的下一个服务节点即可。
(2) 创建服务节点并配置服务节点处理的业务类型。
表1-1 配置服务节点
命令 |
说明 |
|
进入系统视图 |
system-view |
- |
创建服务链,并进入服务链视图 |
service-chain path path-id |
缺省情况下,不存在服务链 |
配置正向报文下一个服务节点的IP地址 |
next-service-node ip-address |
缺省情况下,未配置正向报文下一个服务节点的IP地址 如果设备作为服务链尾节点,则不需要配置该命令 |
配置反向报文下一个服务节点的IP地址 |
previous-service-node ip-address |
缺省情况下,未配置反向报文下一个服务节点的IP地址 如果设备作为服务链首节点,则不需要配置该命令 |
创建服务节点,并进入服务节点视图 |
service function function-id |
缺省情况下,不存在服务节点 |
配置服务列表 |
service list { acg | dpi | fw | ips | ipsec | lb | nat }* |
缺省情况下,不存在服务列表 |
在完成上述配置后,在任意视图下执行display命令可以显示服务链的配置情况,通过查看显示信息验证配置的效果。
表1-2 服务链显示和维护
操作 |
命令 |
显示服务链信息 |
display service-chain path { path-id | all } |
显示服务链的统计信息 |
display service-chain statistics |
如图1-3所示,通过配置服务链功能,实现VM 1与VM 2间的报文先在Device B上进行FW和NAT业务处理,然后在Device D上进行LB业务处理。
请配置各设备的IP地址以及设备间的路由,确保网络互通,具体配置步骤略。
(1) Device A和Device C的配置
在VCFC通过OpenFlow为Device A和Device C下发引流规则,使VM 1与VM 2间的VXLAN报文增加编号为1的服务链编号。
(2) Device B的配置
# 创建服务链,编号为1,并进入服务链视图。
<DeviceB> system-view
[DeviceB] service-chain path 1
# 指定报文下一跳地址。
[DeviceB-spath1] next-service-node 13.1.1.1
# 指定反向报文的下一跳地址。
[DeviceB-spath1] previous-service-node 12.1.1.1
# 创建并配置服务节点1,并指定服务列表中包含业务类型为FW和NAT。
[DeviceB-spath1] service function 1
[DeviceB-spath1-func1] service list fw nat
(3) Device D的配置
# 创建服务链,编号为1,并进入服务链视图。
<DeviceD> system-view
[DeviceD] service-chain path 1
# 指定反向报文的下一跳地址。
[DeviceD-spath1] previous-service-node 13.1.1.2
# 创建并配置服务节点1,并指定服务列表中包含业务类型为LB。
[DeviceD-spath1] service function 1
[DeviceD-spath1-func1] service list lb
VM 1发往VM 2的报文进入编号为1的服务链进行处理,依次进行FW、NAT和LB业务的处理。
不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!