You are on page 1of 38

Traffic Steering &

Service Chaining
Optimize & Monetize with PEM

Bart Salaets
Solution Architect
Agenda
• F5 Gi LAN Strategy
• Traffic Steering & Service Chaining
• Recent Evolutions
• Policy-Based “Per-Flow” and “Per-Transation” Steering
• Static & Dynamic Service Chaining : Evolution to IETF model

• Policy Enforcement Manager


• Traffic Classification
• Policy Actions

• Evolution towards NFV


• Summary

F5 Agility 2014 2
F5 Gi LAN
Strategy
F5 in the S/Gi network – A Consolidated Approach
Simplifying the delivery of network services
BEFORE F5

VAS layer
Static port 80 steering

PGW/ RTR LDNS Policy URL CGNAT Firewall Internet


GGSN Enforcement Filtering

WITH F5

VAS layer
Dynamic intelligent steering
VIPRION

PGW/ Internet
GGSN

F5 Agility 2014 4
Traffic Steering
&
Service Chaining
Traditional Steering to VAS & Optimization platforms
A router steers all port 80 traffic to VAS platforms

STATIC STEERING

GGSN RTR DPI Firewall/CGNAT Internet


PGW

All port 80 traffic service chained


through all VAS platforms
Data Center

Video Transparent Parental WAP


Optimization Caching Controls Gateway

F5 Agility 2014 6
Challenges with the traditional approach
• All VAS platforms need to classify and process all port 80 traffic
• Waste of resources for pass-through traffic
• Duplication of resources

• Time-to-market challenge for new services


• Network integration
• PCC integration

• Video optimization and transparent caching requires a fresh look


• Cost benefit or QoE mgmt tool
• Rise of ABR video (HLS, MPEG-DASH)
• Increase in SSL / SPDY

F5 Agility 2014 7
Challenges with the traditional approach

“Doing more of the


same is economically
no longer viable”

F5 Agility 2014 8
Solution : Intelligent traffic steering to VAS platforms
Offloading VAS services & Optimizing infrastructure utilization
INTELLIGENT STEERING

Diameter Gx

PCRF

RTR Internet
PGW/
GGSN VIPRION

Context-aware & policy-driven


CONTEXT steering & intelligent service chaining

SUBSCRIBER Data Center


DEVICE-TYPE
RAT-TYPE
CONTENT (VIDEO, URI, ... ) Video Transparent Parental WAP
CONGESTION Optimization Caching Controls Gateway

F5 Agility 2014 9
Policy-Based “per-flow” Steering
• Use cases – Steering policy for each flow dependent on ...
• Subscriber policy
• RAT-Type (2G / 3G / LTE / Wifi)
• Location (roaming)
• Network congestion
• Device-type (IMEI, HTTP User-Agent)
• Content-Type (HTTP Content-Type, DPI signature)
... or any combination of the above

• Control Plane interactions


• Diameter Gx (from PCRF)
• Radius (from GGSN)
• Custom API (eg for congestion based steering)

F5 Agility 2014 10
Policy-based Flow Steering in Action
Steering to 2 VAS services : Subscriber + RAT-type based

User Service Policy

John Video Optimization “LTE bypass”


Parental Control “No”
Paul Video Optimization “Always”
Service Provider VAS Control Plane Parental Control “Yes”

Video Optimization Parental Control

PCRF AAA

Emma Radius
Radius Diameter Gx
(RAT-type updates) Other API

GGSN
John PGW

Internet

Paul

Subscriber
Policy-based Flow Steering in Action
User John : http traffic in LTE
User Service Policy

John Video Optimization “LTE bypass”


Parental Control “No”
Paul Video Optimization “Always”
Service Provider VAS Control Plane Parental Control “Yes”

Video Optimization Parental Control

PCRF AAA

Emma Radius
Diameter Gx
Other API
http (LTE) Radius
GGSN
John PGW

Internet

Paul

Subscriber
Policy-based Flow Steering in Action
User John : http traffic in 3G
User Service Policy

John Video Optimization “LTE bypass”


Parental Control “No”
Paul Video Optimization “Always”
Service Provider VAS Control Plane Parental Control “Yes”

Video Optimization Parental Control

PCRF AAA

Emma Radius
Diameter Gx
Other API
http (3G) Radius
GGSN
John PGW

Internet

Paul

Subscriber
Policy-based Flow Steering in Action
User Paul : http traffic in 3G or LTE
User Service Policy

John Video Optimization “LTE bypass”


Parental Control “No”
Paul Video Optimization “Always”
Service Provider VAS Control Plane Parental Control “Yes”

Video Optimization Parental Control

PCRF AAA

Emma Radius
Diameter Gx
Other API
Radius
GGSN
John PGW

http Internet

Paul

Subscriber
Policy-Based Flow Steering & Service Chaining
Summary
POLICY-BASED STEERING + LOAD BALANCING
DIAMETER Gx
(subscriber policy indicates parental
RADIUS control)
(RAT-TYPE updates for subscriber in
interim accounting) PCRF

RTR DPI Firewall Internet


PGW/ Intelligent Steering CGNAT
GGSN Platform

Steering leg Steering leg


controlled controlled
CONTEXT by Radius by PCRF
(RAT-Type) (subscriber policy)
SUBSCRIBER POLICY
DETERMINES STEERING Data Center
TO PARENTAL CONTROL

RAT-TYPE DETERMINES
Video Transparent Parental WAP
STEERING TO VIDEO OPT. Optimization Caching Control Gateway

F5 Agility 2014 15
Policy-based “per-transaction” Steering

• Video Optimization – A changing use case


• Increasing desire to offload any HTTP traffic that is not carrying video
• Increasing desire to offload ABR video traffic
• Possibly further refined with per-subscriber (for QoE differentiation) and RAT-
type based (for LTE offload) steering policies

• The Technical Challenge


• Accurate video detection requires checking both the HTTP request and the
response headers
• If the detection happens at the response level, how can we steer video to video
optimizers ‘after-the-facts’ (connection to video server is already established) ?

• The Technical Solution


• Requires HTTP request-based & response-based (per-transaction) steering
F5 Agility 2014 16
HTTP Messages Differ from IP Packets & TCP Flows

Packet Header HTTP Header Split Across packets

TCP/IP Packet
Multiple Messages in one packet
HTTP Message Header • HTTP message can span multiple
packets
• Packets may have multiple HTTP
messages
HTTP Message Body • Delimiting HTTP messages may
GET / HTTP/1.1\r\n <body data>
require inspection of every byte
Host: www.myhost.com\r\n 0\r\n • Message steering in some cases
Transfer-Encoding: chunked\r\n may cause TCP stream to be split
Cookie: userId=“username”,
userData=abdefa1839290…\r\n – may lead to chaos in client to
User-Agent: Mozilla…\r\n end point communication
\r\n Body Terminator
for chunked mode
Steering on HTTP Request

• Establish TCP connection with client (full handshake)


• For each HTTP request message within that TCP connection from client
• Parse the HTTP request headers
• If steering policy is dependent on value(s) of one or more of the HTTP headers,
then determine the nexthop (VAS endpoint) for this HTTP message according to
this steering policy

• Establish new TCP connection with the VAS selected in the steering policy
and forward the HTTP message between client and selected VAS
• In case of service chaining (multiple VAS endpoints) there will be several
TCP connections being set up over which the HTTP message will be
forwarded

F5 Agility 2014 18
Steering on HTTP Response

• Establish TCP connection with client (full handshake)


• Establish another TCP connection with the server (full handshake)
• Forward HTTP message from client to server over the full proxy
• For each HTTP response message within that TCP connection from server
• Parse the HTTP response headers
• If steering policy is dependent on value(s) of one or more of the HTTP headers,
then determine the nexthop (VAS endpoint) for this HTTP message according to
this steering policy
• But how do we steer to the VAS ? The connection with the server is already
established ...

F5 Agility 2014 19
Steering on Response – Sequence of events
PGW/
GGSN RTR
Intelligent Steering
RAN Platform
INTERNET

HTTP Request Forward HTTP Request

Response to Client with 302 redirect to HTTP Response


Mobile (original video) 123.com
Client same URI extended with classification info

POLICY EXECUTION
IF
CONTENT-TYPE STARTS WITH “VIDEO/”
CONTENT-LENGHT > 1024KB
THEN
REDIRECT TO VIDEO OPTIMIZATION

Video
Optimization

F5 Agility 2014 20
Steering on Response – After the HTTP redirect
PGW/
GGSN RTR
Intelligent Steering
RAN Platform
INTERNET
New HTTP request with classification info
embedded in the URI

HTTP Response (optimized video)


Mobile 123.com
Client
Steer HTTP Request to
Video Optimizers HTTP Response
(optimized video) New HTTP connection
(original video)

POLICY EXECUTION
IF
URI CONTAINS VIDEO CLASSIFICATION INFO
THEN
STEER TO VIDEO OPTIMIZATION Video
& DELETE CLASSIFICATION INFO FROM URI Optimization

F5 Agility 2014 21
Steering on Response – ICAP variant with Skyfire
Rocket
PGW/ Optimizer
GGSN RTR
Intelligent Steering
RAN Platform
INTERNET

HTTP Request from client Forward HTTP Request

Response to Client with 302 redirect to HTTP Response


Mobile Skyfire Rocket optimizer (orginal URI embedded) 123.com
Client ICAP Request
(preview)

ICAP Response
(302 redirect to
Rocket Optimizer)
SKYFIRE PRE-FILTER LOGIC
IF
CONTENT-TYPE STARTS WITH “VIDEO/”
CONTENT-LENGTH > 1024KB
THEN
Rocket ICAP REQUEST TO ROCKET CONTROLLER
Analyze ICAP preview Controller
Do we optimize? Yes!

F5 Agility 2014 22
Steering on Response – After the HTTP redirect
Forward Rocket
PGW/ Optimizer
GGSN RTR HTTP request
Intelligent Steering HTTP request
RAN Platform
(original URL+cookie)
HTTP response
(optimized video)
http://cloud.skyfire.com/[URL]?[cookie]
INTERNET

HTTP response
Mobile
Forward HTTP response (optimized video) (original video)
Client

ICAP Response ICAP Request


123.com
(204 : No content) (preview)

SKYFIRE PRE-FILTER LOGIC


IF
CONTENT-TYPE STARTS WITH “VIDEO/”
CONTENT-LENGTH > 1024KB
Rocket THEN
Analyze ICAP preview Controller ICAP REQUEST TO ROCKET CONTROLLER
This is optimized flow

F5 Agility 2014 23
IETF – Service Chaining Working Group

• IP networks rely more and more on the combination of advanced functions


• Besides basic routing and forwarding functions (optimization, proxy, DPI, FW)

• The goal is to enforce service-inferred forwarding for traffic traversing a


given domain
• Differentiated by the set of Service Functions to be invoked
• Service-inferred forwarding is policy-based. Policies may be:
• Subscriber-aware
• Based on flow characteristics
• TE-oriented (e.g., optimize network resource usage)
• Combination thereof

• Several Service Function Chaining (SFC) IETF drafts available

F5 Agility 2014 24
IETF – Service Function Chaining

• SFC ingress : Policy classification will determine service chain SFC-ID –


pointing to a sequence of service functions (SFs)
• All Service Functions may be policy controlled via a control plane
• Meta-data can be added to the packets (to convey the SFC-ID to the SFs)

• Packet forwarding between SFs can be plain IP, SDN, overlay networks, ...

LOAD WEB
SFC-ID=1 FIREWALL NAT44
BALANCER PROXY
(SF3) (SF4)
(SF1) (SF2)

HEADER
SFC-ID=2 DPI FIREWALL
ENRICHM.
(SF5) (SF3)
(SF6)

F5 Agility 2014 25
Static & Dynamic Service Chaining – Today with F5
INTELLIGENT SERVICE CHAINING

PCRF

PGW/ RTR Intelligent Steering DPI Firewall Internet


GGSN Platform CGNAT

VAS

Video Transparent Parental WAP


Optimization Caching Control Gateway

STATIC SERVICE CHAINING DYNAMIC SERVICE CHAINING


INTELLIGENT STEERING POLICY DEFINES A INTELLIGENT STEERING POLICY HAS BUILT-IN
FIXED SERVICE FUNCTION CHAIN (E.G. VAS1-VAS4) CONDITIONAL CHECKS PER VAS LEG TO DETERMINE
NEXT-HOP IN THE SERVICE CHAIN

F5 Agility 2014 26
Intelligent Service Chaining – Today and Future
SFC Ingress Classification SFC Ingress Classification
TRAFFIC TRAFFIC
STEERING STEERING
+ L4-L7 VIRTUAL
PHYSICAL (NFV)
SFC Forwarding SFC Forwarding

PHYSICAL VAS VAS VAS VAS VAS VIRTUAL VAS VAS VAS VAS VAS
OR 1 2 3 4 5 (NFV) 1 2 3 4 5
VIRTUAL (NFV)
L4-L7 L4-L7

• Available today – F5 TCP & HTTP proxy • IETF drafts


• Flexible use of "steering headers" towards • Requires all vendors to agree on same
VAS platforms (HTTP headers, DSCP, ... ) standard (packet header for metadata)
• Forwarding based on “connection entries” • How to leverage SDN for forwarding ?
• VAS health check built in (load balancing) • How to do VAS health-checks ?
• Control plane steering possible (eg ICAP) • How to do control plane steering ?

F5 Agility 2014 27
Policy
Enforcement
Manager
(PEM)
Policy Enforcement Manager – Policy Definition
Policy Name Bronze
Policy Name Silver
PolicyRule
Name1 Gold
PREC
PREC 10
10 CLASSIFIER RULE_10
CLASSIFIER RULE_10
POLICY ACTION RULE_10
POLICY ACTION RULE_10
Rule 1
Rule 1 Rule 2 CLASSIFIER
PREC 20 RULE_1 POLICY ACTION
CLASSIFIER RULE_20 RULE_1
POLICY ACTION RULE_20
Rule 2 PREC 20 CLASSIFIER RULE_20 POLICY ACTION RULE_20
Rule 2 Rule 3 PREC 30
CLASSIFIER RULE_2 POLICY
CLASSIFIER RULE_20 ACTION RULE_2
POLICY ACTION RULE_30
Rule 3 PREC 30 CLASSIFIER RULE_20 POLICY ACTION RULE_30
Rule 3 CLASSIFIER RULE_3 POLICY ACTION RULE_3

POLICY SUBSCRIBER POLICY ANALYTICS &


TYPE TYPE ASSIGNMENT CHARGING
• Global Policy • Static subscriber • Diameter Gx • Syslog
• Unknown Subscriber • Dynamic subscriber • Predefined • IPFIX
Policy
• Radius • Dynamic (gate, • Radius
• Subscriber Policy QoS)
• DHCP • Gy
• Radius
• Unknown IP SA • Gx Usage Monitoring
• Custom

F5 Agility 2014 29
Classification & Policy Actions
APPLICATION CLASSIF. URL CLASSIF. FLOW CLASSIF. CUSTOM CLASSIF.

• Application Category • URL Category • DSCP • irule / TCL script


(eg. P2P) (eg. Gambling)
• Protocol (TCP/UDP) • Examples
• Application • URL database from third • Other fields in the
(eg. bittorrent) party • IP source address range traffic flow (ip header,
& port http header, ... )
• Some applications are using • Ability to create custom DB
F5 signatures, other • IP destination address • Other fields stored in
applications rely on third • Used for HTTP and range & port the PEM sessionDB
party DPI signature engine HTTPS (SNI check) for that subscriber
(RAT-type, roaming,
• Incoming VLAN tower-id)

REPORTING HTTP REDIRECT HTTP HDR ENR. QOS MARKING

QUOTA MGMT STEERING (NH) STEERING (ICAP) BW CONTROL

SERVICE CHAIN GATE (FWD) CUSTOM / TCL


POLICY ACTIONS

F5 Agility 2014 30
PEM – Wide range of use cases
Per-subscriber Application & URL Subscriber Application Analytics Intelligent Traffic Steering
Bandwidth Control & Filtering & Service Chaining to VAS
• Subscriber ID / Rate Plan
• TCP-friendly rate limiter • Steer traffic based on
• Charging rules subscriber profile to Value
• Separate up/down rates
• Application Usage Reporting Added Services &
• Highly scalable solution Optimization Services
• TCP Optimization as a bonus • Intelligent Service Chaining

Online Charging (Gy) URL Filtering & Parental Control OTT Identification & Monetization
• Government lists
• Flexible rating group • Per-subscriber OTT
definitions based on • Per-subscriber parental application detection
applications and/or URI control opt-in/opt-out
• Per-OTT bandwidth, marking
service
• Redirect or block upon quota and charging rules
expiration • For HTTP & HTTPS

Header Enrichment & WAP offload Content Injection / Toolbars Lightweight BRAS/BNG

• HTTP HE for content-based • Java-script based content • DHCP-based BNG model


charging injection for wifi and wireline
deployments
• WAP GW bypass/offload and • Targeted advertisements
replacement • Radius AAA client

F5 Agility 2014 31
Evolution
towards
NFV
Step 1 : Consolidate SGi Functions & Virtualize VAS Layer

ADC DNS Policy TCP


CGNAT Firewall
Enforcement Optimization

RTR Internet
PGW/
GGSN VIPRION

VM Management
and Orchestration

• Virtualize the VAS layer


Gi VAS
VM VM VM
• Integrate both physical VIPRION and VNF Video Optimization
VNFs running VAS/optimization services Hypervisor
into Orchestration tool
Transparent URL Filtering Parental NFV Infrastructure
• Allow for dynamic VAS bursting Caching Controls

F5 Agility 2014 33
Step 2 : Virtualize SGi + VAS layer (NFV)

ADC DNS Policy TCP


CGNAT Firewall
Enforcement Optimization

VM VM VM

Hypervisor

RTR NFV Infrastructure Internet


PGW/
GGSN

VM Management
and Orchestration

• Virtualize the Gi & VAS layer Gi VAS


VNF PEM+CGN+AFM
VM VM VM VM VM VM VM VM VM VM VM VM
• Both Gi inline functions and VNF Video Optimization
VAS/optimization functions are fully
Hypervisor Hypervisor Hypervisor Hypervisor VNF Transparent Caching
virtualized (deployed as VNF)
VNF Parental Controls
• Several deployment models NFV Infrastructure

F5 Agility 2014 34
Virtualizing SGi functions – VNF mapping alternatives

TRAFFIC
TRAFFIC
STEERING
STEERING
+ L4-L7

VIDEO TRANSP URL VIDEO TRANSP


OPT CACHE FILTER OPT CACHE

• Maintain the L4-L7 consolidation model as • Only maintain PEM inline in the data path
deployed in the physical world in the NFV for intelligent traffic steering
world • Treat functions such as CGNAT and
• So you run PEM, CGN and AFM on the security/firewall functions as VAS
same VE (or on separate VEs but all inline in services (which are only used for
the data path) selected flows)

F5 Agility 2014 35
Summary
Summary – Traffic Steering & Service Chaining

• Market is demanding advanced steering capabilities for VAS offload


• F5 PEM platform supports context-aware intelligent steering and service
chaining

• Market is demanding an evolution path towards IETF-based service


chaining
• F5 PEM platform provides a stepwise approach

• Market is demanding a solution that supports a wide variety of use cases


• F5 PEM platform supports a wide range of classification criteria coupled with
strong policy action mechanisms

• Market is demanding a solution that can migrate from physical to virtual


• F5 PEM platform provides such a migration path, offering multiple alternative
deployment options for NFV
F5 Agility 2014 37

You might also like