5G MANTRA: A Multi-Access Network Testbed
for Research on ATSSS
Matan Broner, Sangwoo Lee, Liuyi Jin, Radu Stoleru
Department of Computer Science and Engineering
Texas A&M University
Problem Statement
2
4G - Carrier WiFi Offloading
3
[1] 3GPP TR 22.934, "Feasibility study on 3GPP system to Wireless Local Area Network (WLAN) interworking," V15.1.0, June 2018.
[2] 3GPP TS 23.261, "IP flow mobility and seamless Wireless - Local Area Network (WLAN) offload; Stage 2," V17.1.0, June 2021.
Untrusted
WiFi Access
4G Core Network
ePDG
P-GW
SWu (802.11)
SWn
DN
SWm
SWx
AAA
HSS
S6b
SGi
5G - Core Network Background
4
PCF
DN
WiFi AP
N1
N2
N3
N3
N2
N11
N7
N4
N6
UE
Core Network
UPF
Transport
Convertor
SMF
RAN (eNB/gNB)
3GPP Interface
Non-3GPP Interface
AMF
N1
N3IWF
NWDAF
User Plane Function (UPF)
Responsible for packet forwarding, traffic routing, and applying quality of service (QoS) policies in the user plane, ensuring efficient and reliable data delivery between the user equipment (UE) and the network.
5G - Core Network Background
5
PCF
DN
WiFi AP
N1
N2
N3
N3
N2
N11
N7
N4
N6
UE
Core Network
UPF
Transport
Convertor
SMF
RAN (eNB/gNB)
3GPP Interface
Non-3GPP Interface
AMF
N1
N3IWF
NWDAF
Non-3GPP Interworking Function (N3IWF)
Enables interworking and mobility management between 5G and non-3GPP technologies, such as Wi-Fi, allowing seamless connectivity and handover between different network types.
5G - Core Network Background
6
PCF
DN
WiFi AP
N1
N2
N3
N3
N2
N11
N7
N4
N6
UE
Core Network
UPF
Transport
Convertor
SMF
RAN (eNB/gNB)
3GPP Interface
Non-3GPP Interface
AMF
N1
N3IWF
NWDAF
Network Data Analytics Function (NWDAF)
Responsible for collecting and analyzing network data to provide insights and intelligence for various network functions, such as network optimization, traffic steering, and resource allocation.
5G - ATSSS
7
3GPP Interface
Non-3GPP Interface
UPF
ATSSS Rules
ATSSS Rules
MA-PDU
[1] 3rd Generation Partnership Project (3GPP). 2019.
Access to the 3GPP 5G Core Network (5GCN) via non-3GPP access networks. TS 24.502 (2019)
State of the Art
8
[1] Georg Hampel, Anil Rana, and Thierry Klein. 2013. Seamless TCP Mobility Using Lightweight MPTCP Proxy
[2] Jeounglak Ha and Young-Il Choi. 2019. Support of a Multi-access Session in 5G Mobile Network
[3] Hongjia Wu, Giuseppe Caso, Simone Ferlin, Özgü Alay, and Anna Brunstrom. 2021. Multipath Scheduling for 5G Networks: Evaluation and Outlook.
State of the Art (Core Networks)
9
MPTCP
10
MPTCP Flow
MPTCP Flow
TCP Subflow
TCP Subflow
9 Mbps.
9 Mbps.
2 Mbps.
7 Mbps.
[1] Alan Ford, Costin Raiciu, Mark J. Handley, and Olivier Bonaventure. 2013. TCP Extensions for Multipath Operation with Multiple Addresses. RFC 6824. 6824 (Jan. 2013)
[2] Jonathan Corbet. 2019. Upstreaming multipath TCP.
LWN.net (26 92019).
Transport Converter
11
[1] Olivier Bonaventure, Mohamed Boucadair, Sri Gundavelli, SungHoon Seo, and Benjamin Hesmans. 2020. 0-RTT TCP Convert Protocol. RFC 8803. 8803 (July 2020)
[2] 3rd Generation Partnership Project (3GPP). 2019.
Access to the 3GPP 5G Core Network (5GCN) via non-3GPP access networks. TS 24.502 (2019)
MPTCP UE
Transport Converter
TCP Server
SYN[MP-CAPABLE]
SYN
SYN-ACK
SYN-ACK[MP-CAPABLE]
ACK
ACK
SYN[MP-JOIN]
SYN-ACK[MP-JOIN]
ACK
LTE
WiFi
5G MANTRA - Network Stack (UE to DN)
12
Integrated Core Network
13
[1] Fasferraz. [n. d.].
GitHub - fasferraz/NWu-Non3GPP-5GC: NWu IKEv2/IPSec Dialer for 5GC / N3IWF — github.com. https://github.com/fasferraz/NWu-Non3GPP-5GC. ([n. d.]).
Transport Converter - UE
14
libconvert
socket()
If IPPROTO_MPTCP, store socket for proxying
libconvert
connect()
Redirect socket to Transport Converter. Store original (IP, PORT) in SYN body.
Transport Converter - Server
15
Transport Converter
Transport Converter
Transport Converter - Server
16
Connection Proxy
Incoming Data
select()
New Connection
accept()
Forward Data
write()
5G CN
UPF
Web Server
LTE
WiFi
TCP
Transport Converter
MPTCP Subflow
TCP Flow
Convert Protocol Utility
Transport Converter
Transport Converter - Server
17
Transport Converter
Transport Converter - Server
18
Connection Proxy
Incoming Data
select()
New Connection
accept()
Forward Data
write()
Performance Logger
MPTCP Info Utility
getsockopt(MPTCP_TCPINFO)
DB Client
5G CN
UPF
Web Server
LTE
WiFi
TCP
Transport Converter
Generate thread per-session
MPTCP Subflow
TCP Flow
Convert Protocol Utility
SQLite
Transport Converter
Transport Converter - Server
19
Transport Converter
Transport Converter - Server
20
Connection Proxy
Incoming Data
select()
New Connection
accept()
Forward Data
write()
Performance Logger
MPTCP Info Utility
getsockopt(MPTCP_TCPINFO)
DB Client
Web Interface
DB Client
Flask Server
5G CN
UPF
Web Server
LTE
WiFi
TCP
Transport Converter
Generate thread per-session
Session ID
MPTCP Info Plots
MPTCP Subflow
TCP Flow
Convert Protocol Utility
SQLite
Transport Converter
Transport Converter - Server
21
Congestion
22
Mobility
23
Offloading
24
Real World Scenario
25
LTE Interface
WiFi
Interface
Client
libconvert
RAN (eNB)
WiFi AP
WiFi DN
LTE EPC
MME
PGW
SGW
Transport Converter
Performance Logger
Proxy Server
Web Server
WiFi Subflow
LTE Subflow
TCP Flow
Operator N
Real World Scenario
26
Conclusions
27
Q&A
28
Extra Slides
29
Network Stack (Access Networks)
30