mosaic5gapache v2.0 license 7 current implementation (1/2) gtp enabled ovs ovs 2.7.0 applied with...
TRANSCRIPT
LL-MEC
Mosaic5G A c o m m u n i t y L e d C o n s o r t i u m
What is LL-MEC?
A Low Latency Multi-access Edge
Computing Platform for Software-Defined
Mobile Network
2
3
LL-MEC objectives
User-plane (UP) monitoring and programmability in S1/N3/N6/N9 and potentially in F1 for 4G and 5G
Fine-grained UP slicing in support of QoS
IP-service endpoint and real-time RAN information
on per user/service basis
Low latency 4G/5G xApps
5G System Architecture
(source: 3GPP TS23.501)
Implemented use-cases
Video optimization (*)
Traffic steering
End-to-End (E2E) network slicing
Dedicated core network
Internet of Things (IoT) gateway
LL-MEC use-case examples
4
Possible use-cases
Service offloading
Load balancing
Content caching
Recommendation system
(*) https://gitlab.eurecom.fr/mosaic5g/mosaic5g/-/wikis/tutorials/ran-aware-video-optimisation
SDN-based UPF and SPGW (CUPS)
Leveraging OpenVirtualSwitch (OVS) with GPRS Tunnelling Protocol (GTP) support and OpenFlow (OF) protocol (v1.3)
Abstraction and Programmability
Well-defined Northbound interface (Nbi)
Traffic rules are automatically generated and pushed based on user activities
attach/detach & service request
Low latency xApps
Flexible application programming framework
Local apps with access and runtime privilege
Event-driven interaction among the xApps
Service-development kit
5
LL-MEC high-level features
UPF - User Plane Function, SPGW - Serving/PDN Gateway, CUPS - Control and User Plane Separation
LL-MEC architecture
LL-MEC Platform
Edge packet service (EPS) Traffic Rule Control
Multi OF libs, OVS-GTP
Static and dynamic rules
Radio network information services (RNIS)
Real-time control and monitoring
Abstraction layer (Mp2 type IF)
Data plane APIs: OpenFlow protocol
C-plane Radio API: FlexRAN protocol
Application manager (Mp1 type IF)
Elastic: Rest-API
Low-latency: Core-API
ETSI Mp1 reference point
6
LL-MEC controller
From scratch in C++ and
Python
x64 Linux support
Apache V2.0 license
7
Current implementation (1/2)
GTP enabled OVS
OVS 2.7.0 applied with GTP
patch
x64 Linux support (4.9 kernel)
Apache V2.0 license
LL-MEC implemented features
Add/delete/get UE/slice
Get flow statistics
Traffic redirection/forwarding
LL-MEC experimental features
Traffic Metering in support of
Slicing/QoS
MEC Mp1 APIs: ETSI MEC 011
MEC Radio Network Information
(RNI) APIs: ETSI MEC 012
New event handling for
RNI/MP1/LL-MEC events
Copy packets per user/slice
8
Current implementation (2/2)
LL-MEC NB API
API Target Direction Example Applications
Add UE / Slice UE, Slice EPC Slice • Create session request • SGi endpoint update
• Slice create
• Core network CU
• SPGWC
Delete UE / Slice UE, Slice EPC Slice • Release access bearer request
• SGi endpoint update
• Slice destroy
• Core network CU
• SPGWC
Get UE / Slice info UE, Slice EPC Slice • Scheduling decisions • Coordinated slicing
• Monitoring
Redirect UE / Slice UE, Slice EPC Slice • Video optimization
• IoT gateway
• Control actions • Programmability
Get flow statistic Stats EPC Slice • Traffic shaping • Monitoring
9
LL-MEC ETSI MEC Mp1 API
Group API Description
Mp1 Services
Create Mp1 service • Create/Register a Mp1 service
Update Mp1 service • Update a Mp1 service
Get service Info • Get information of a Mp1 service
Query service availability • Query the availability of a service
Mp1 Subscriptions
Create Mp1 subscription • Create a new subscription to the service availability notification
Delete Mp1 subscription • Delete a Mp1 subscription
Retrieve subscription information • Info subscription for an app instance
• Info for all subscriptions for an app instance
RNI Services
Get PLMN Info • Get the PLMN info associated with an app instance
Create/delete/update a subscription to RAB_Est notification
• Create/delete/update a subscription to RAB establishment notification from RNI service
Get RAB_Est subscription info • Get information of a RAB establishment subscription
10
Leverage OpenFlow as Mp2 reference point
UPF N4 interface
OVS-GTP needs to be updated to support additional GTP headers for 5G (e.g.,
QoS Flow Identifier (QFI))
Leverage Packet Forwarding Control Protocol (PFCP) as the
protocol for the Mp2 reference point
introduce PFCP into LL-MEC
UPF: OAI SPGWU(OAI-CNv2), OAI UPF (OAI-CN 5G)
11
Road to 5G
Useful links
Website: https://mosaic5g.io/ll-mec
Git repositories:
https://gitlab.eurecom.fr/mosaic5g/ll-mec
https://gitlab.eurecom.fr/mosaic5g/ll-mec-ovs
Snap : https://snapcraft.io/ll-mec
Docker: https://hub.docker.com/r/mosaic5gecosys/ll-mec
API doc: https://mosaic5g.io/ll-mec/#apidocs
Tutorials:
LL-MEC deployment with OAI-CNv2: https://gitlab.eurecom.fr/mosaic5g/ll-mec/-/wikis/LL-MEC-with-OAI-CNv2
OVS-GTP: https://gitlab.eurecom.fr/mosaic5g/mosaic5g/-/wikis/tutorials/ovs-gtp
Videos:
OAI-CNv2 deployment: https://www.youtube.com/watch?v=oFGj_FGpqEw&feature=youtu.be
LL-MEC deployment with OAI-CNv2: https://www.youtube.com/watch?v=Mkv6xHkSHUs&t=6s
12
Mosaic5G-Contact
E-mail: [email protected]
Website: mosaic-5g.io
Twitter: @mosaic5g
Linkedin: mosaic-5g
13
LL-MEC Demo
Traffic redirection feature with L2 simulator
14
LL-MEC deployment: high-level view
15
Traffic redirection: possible use-cases (2/2)
16
Traffic Steering
Video optimization
Traffic redirection: possible use-cases (1/2)
17
Traffic steering
Video optimization
https://gitlab.eurecom.fr/mosaic5g/mosaic5g/-/wikis/tutorials/ran-aware-video-optimisation
LL-MEC: a deployment example
18
(Quick) OAI-CNv2, LL-MEC, OVS-GTP and L2 Simulator setup
Multiple UEs with L2 simulator (UE attachment, internet connection)
Traffic statistics for monitoring/data mining
Traffic redirection/forwarding
19
Demo description (1/4)
Demo description (2/4)
20
Launch OAI-CNv2 components, LL-MEC, OVS-GTP
Launch simulated eNB/UE
Attach UE 0/1/2.. to the network (observing LL-MEC/OVS-GTP)
Test UE traffic with Ping
For UE0: $ ping -I 12.1.1.2 google.com
LL-MEC with OAI-CNv2: Multi-UE with L2 simulator
LL-MEC live demo
21
Demo description (3/4)
22
From a browser
http://192.168.10.10:9999/stats
From the command line, manipulate with jq, watch script
Get all flow statistics
$ curl 192.168.10.10:9999/stats | jq .
$ watch “curl 192.168.10.10:9999/stats | jq–f 2-stats.jq”
Get a particular traffic flow statistics (IMSI and bearer ID)
$ curl -X GET 192.168.10.10:9999/stats/imsi_bearer/208950000000002,5 (208950000000013: IMSI, 5:
EPS Bearer ID)
Traffic statistic for monitoring/data mining
LL-MEC live demo
23
Demo description (4/4)
24
(UE0) Download a file from a remote server using wget
$ wget --bind 12.1.1.2 --no-check-certificate 'http://vtn.company/ll-mec-video-final-09.09.20.mp4’
(UE0)Apply traffic redirection API to redirect the request to an edge server (in GW node), so to get file from this server
$ curl -X POST http://192.168.10.10:9999/bearer/redirect/imsi_bearer/208950000000013,5 -d '{"from":"159.203.107.199", "to":"172.16.1.253"}'
159.203.107.199: remote server Ip Addr (vtn.company), 172.16.1.253: GW IP Addr, 208950000000013: IMSI, 5: EPS Bearer ID
Traffic redirection/forwarding feature
LL-MEC live demo
25
Mosaic5G-Contact
E-mail: [email protected]
Website: mosaic-5g.io
Twitter: @mosaic5g
Linkedin: mosaic-5g
26