订户感知的服务链
随着通过电信网络的数据流量大幅增加,服务提供商已不再可能通过所有增值服务 (VAS) 引导所有流量。服务提供商应该能够优化 VAS 的使用,并智能地引导流量,以改善用户体验。例如,不包含视频的流量不需要视频优化。此外,如果订阅者连接到 4G 网络,则可以通过高清 (HD) 流式传输内容,并且可能不需要视频优化。但是,视频优化改善了 3G 网络中用户的体验。同样,缓存提供了更快、更好的用户体验,并且可以根据订阅者计划启用。VAS 的另一个例子是家长控制。如果父母向未成年子女提供移动手机,他们希望对其子女访问的网站进行某种控制。
为了做到上述和更多,服务供应商必须能够按每个用户提供增值服务。换句话说,服务提供商网络中的实体必须能够提取订阅者信息,并根据这些信息智能地指导数据包。
服务链确定了来自订阅者的流量必须通过的服务集,然后才能进入 Internet。Citrix ADC 不会将所有流量发送到所有服务,而是根据为订阅者定义的策略智能地将来自订阅者的所有请求路由到特定服务集。
下图显示了参与服务链接的实体。显示的值在图后面的过程中进行配置。Citrix ADC 设备上的内容交换虚拟服务器将请求引导到增值服务或跳过这些服务,具体取决于定义的规则,然后在执行 LSN 后将数据包发送到 Internet。
使用 CLI 为上述部署配置服务链
添加设备的子网 IP (SNIP) 地址。
示例:
add ns ip 192.168.10.1 255.255.255.0 -type snip
add ns ip 192.168.20.1 255.255.255.0 -type snip
add ns ip 192.168.30.1 255.255.255.0 -type snip
add ns ip 192.168.40.1 255.255.255.0 -type snip
add ns ip 192.168.50.1 255.255.255.0 -type snip
add ns ip 192.168.60.1 255.255.255.0 -type snip
add ns ip 100.1.1.1 255.0.0.0 -type snip
add ns ip 200.201.1.1 255.0.0.0 -type snip
<!--NeedCopy-->
添加 VLAN。VLAN 可帮助设备识别流量的源。将 VLAN 绑定到接口和子网 IP 地址。为每个 VAS 添加一个入口和一个导出 VLAN。
示例:
add vlan 10
add vlan 20
add vlan 30
add vlan 40
add vlan 50
add vlan 60
add vlan 100
add vlan 200
bind vlan 10 -ifnum 1/4 -tagged -IPAddress 192.168.10.1 255.255.255.0
bind vlan 20 -ifnum 1/4 -tagged -IPAddress 192.168.20.1 255.255.255.0
bind vlan 20 -ifnum 1/4 -tagged -IPAddress 192.168.30.1 255.255.255.0
bind vlan 20 -ifnum 1/4 -tagged -IPAddress 192.168.40.1 255.255.255.0
bind vlan 20 -ifnum 1/4 -tagged -IPAddress 192.168.50.1 255.255.255.0
bind vlan 20 -ifnum 1/4 -tagged -IPAddress 192.168.60.1 255.255.255.0
bind vlan 100 -ifnum 1/2 -tagged -IPAddress 100.1.1.1 255.0.0.0
bind vlan 200 -ifnum 1/3 -tagged -IPAddress 200.201.1.1 255.0.0.0
<!--NeedCopy-->
指定订阅者流量到达设备上的 VLAN。指定服务路径 AVP,用于告诉设备在订阅者会话中查找服务路径名称的位置。对于主 PCEF 功能,请将 interfaceType 指定为 RadiusAndGx。
示例:
set ns param -servicePathIngressVLAN 100
set subscriber gxinterface -servicepathAVP 1001 1005 -servicepathVendorid 10415
set subscriber param -interfaceType RadiusAndGx
<!--NeedCopy-->
配置 Diameter 类型的服务和虚拟服务器,并将服务绑定到虚拟服务器。然后,指定 PCRF 领域和订阅者 Gx 接口参数。对于主 PCEF 功能,请配置 RADIUS 侦听器服务和 RADIUS 接口。
示例:
add service sd1 10.102.232.200 DIAMETER 3868
add lb vserver vdiam DIAMETER 0.0.0.0 0 -persistenceType DIAMETER -persistAVPno 263
bind lb vserver vdiam sd1
set ns diameter -identity netscaler.sc1.net -realm pcrf1.net
set subscriber gxInterface -vServer vdiam -pcrfRealm pcrf1.net -holdOnSubscriberAbsence YES -idleTTL 1200 -negativeTTL 120
add service srad1 10.102.232.236 RADIUSListener 1813
set subscriber radiusInterface -listeningService srad1
<!--NeedCopy-->
添加服务函数以将 VAS 与入口 VLAN 关联。添加服务路径来定义链,即指定数据包必须发送到的 VAS 以及数据包必须转到该 VAS 的顺序。服务路径名称通常由 PCRF 发送。但是,如果以下任何情况为真,则默认订阅者配置文件 (*) 的服务路径应用:
- PCRF 没有订阅者信息。
- 订阅者信息不包括此 AVP。
- 设备无法查询 PCRF。例如,代表 PCRF 的服务是向下。
必须将包含此名称的服务路径 AVP 配置为早期全局配置的一部分。将服务函数绑定到服务路径。服务索引指定 VAS 添加到链中的顺序。最高数字 (255) 表示链的开始。
示例:
add ns servicefunction SF1 -ingressVLAN 20
add ns servicefunction SF2 -ingressVLAN 40
add ns servicefunction SF3 -ingressVLAN 60
add ns servicepath pol1
bind ns servicepath pol1 -servicefunction SF1 -index 255
bind ns servicepath pol1 -servicefunction SF2 -index 254
bind ns servicepath pol1 -servicefunction SF3 -index 253
add ns servicepath pol2
bind ns servicepath pol2 -servicefunction SF2 -index 255
add ns servicepath pol3
bind ns servicepath pol3 -servicefunction SF1 -index 255
add subscriber profile * -subscriberrules default_path
<!--NeedCopy-->
添加 LSN 配置。也就是说,定义 NAT 池并标识设备必须为其执行 LSN 的客户端。
示例:
add lsn pool pool1
bind lsn pool pool1 200.201.1.1
add lsn client client1
bind lsn client client1 -network 100.0.0.0 -netmask 255.0.0.0
add lsn group group1 -clientname client1
bind lsn group group1 -poolname pool1
<!--NeedCopy-->
默认情况下,设备执行 LSN。若要覆盖 LSN,必须创建启用 OverridelsN 参数的网络配置文件,并将此配置文件绑定到为增值服务 (VASS) 配置的所有负载平衡虚拟服务器。
示例:
add netprofile np1
set netprofile np1 -overrideLsn ENABLED
set lb vserver vs1 -netprofile np1
<!--NeedCopy-->
在设备上配置 VAS。这包括创建服务和虚拟服务器,然后将服务绑定到虚拟服务器。
示例:
add service vas1 192.168.10.2 ANY 80 -usip YES
add service vas2 192.168.30.2 ANY 80 -usip YES
add service vas3 192.168.50.2 ANY 80 -usip YES
add service sint 200.10.1.10 ANY 80 -usip YES
add lb vserver vs1 ANY -m MAC -l2Conn ON
add lb vserver vs2 ANY -m MAC -l2Conn ON
add lb vserver vs3 ANY -m MAC -l2Conn ON
add lb vserver vint ANY -m MAC -l2Conn ON
bind lb vserver vs1 vas1
bind lb vserver vs2 vas2
bind lb vserver vs3 vas3
bind lb vserver vint sint
<!--NeedCopy-->
添加内容切换 (CS) 配置。这包括虚拟服务器、策略及其相关操作。流量到达 CS 虚拟服务器,然后重定向到适当的负载平衡虚拟服务器。定义将虚拟服务器与服务函数关联的表达式。
示例:
add cs vserver cs1 ANY * 80 -l2Conn ON
add cs action csact1 -targetLBVserver vs1
add cs action csact2 -targetLBVserver vs2
add cs action csact3 -targetLBVserver vs3
add cs action csactint -targetLBVserver vint
add cs policy cspol1 -rule "SUBSCRIBER.SERVICEPATH.IS_NEXT("SF1") && SYS.VSERVER("vs1").STATE.EQ(UP)" -action csact1
add cs policy cspol2 -rule "SUBSCRIBER.SERVICEPATH.IS_NEXT("SF2") && SYS.VSERVER("vs2").STATE.EQ(UP)" -action csact2
add cs policy cspol3 -rule "SUBSCRIBER.SERVICEPATH.IS_NEXT("SF3") && SYS.VSERVER("vs3").STATE.EQ(UP)" -action csact3
bind cs vserver cs1 -policyName cspol1 -priority 110
bind cs vserver cs1 -policyName cspol2 -priority 120
bind cs vserver cs1 -policyName cspol3 -priority 130
bind cs vserver cs1 -lbvserver vint
<!--NeedCopy-->
使用 GUI 在设备上配置服务链
- 导航到 系统 > 网络 > IP 并添加子网 IP 地址。
- 导航到 系统 > 网络 > VLAN 并添加 VLAN,将 VLAN 绑定到接口和子网 IP 地址。
- 导航到 流量管理 > 服务链 > 配置服务路径入口 VLAN 并指定入口 VLAN。
- 导航到 流量管理 > 订阅者 > 参数 > 配置订阅者参数 并指定以下内容:
- 接口类型:指定 RadiusAndGx。
- 配置 Diameter 虚拟服务器、PCRF 领域和订阅者 GX 接口参数。
- 指定 RADIUS 接口参数。
- 导航到流量管理 > 服务链 > 服务功能,并添加服务功能以将增值服务与入口 VLAN 关联。
- 导航到 系统 > 网络 > 大规模 NAT 。单击 池 并添加池。单击 客户 端并添加客户端。单击“组”并添加组并指定客户端。编辑组并将池绑定到此组。
- 导航到 系统 > 网络 > 网络配置文 件并添加网络配置文件。选择 覆盖 LSN。或者,导航到“系统”>“网络”>“设置”>“配置第 3 层参数”,并验证是否未选择“覆盖 LSN”。
- 导航到 流量管理 > 负载平衡 > 虚拟服务器 ,并在设备上配置虚拟服务器和增值服务。将服务和网络配置文件绑定到虚拟服务器。
- 导航到 流量管理 > 内容交换 > 虚拟服务器 并配置虚拟服务器、策略和操作。指定目标负载平衡虚拟服务器。