This project implements the DCCP Extensions for Multipath Operation (MP-DCCP) as a loadable Linux kernel module. The MP-DCCP module works on top of the existing implementation of DCCP and enhances its functionality by allowing sessions to work across multiple paths simultaneously. It is meant to enable access bundling for services and/or applications which do not have a demand for reliability and it is suitable to be deployed in the following scenarios:
- As a part of a Hybrid Access Network architecture to provide residential multi-connectivity
- In compliance with 3GPP Rel. 16 ATSSS specifications to provide mobile device multi-connectivity
Hybrid Access scenario
Under the hybrid access scenario, the Hybrid CPE and the Hybrid Aggregation Gateway should be provisioned with MP-DCCP capabilities. The MP-DCCP engine will establish 2 DCCP tunnels between them, one through the Cellular access and one through the fixed. The uplink traffic generated by the devices attached to the Hybrid CPE will be routed through a virtual interface, to be then encapsulated and allocated to a specific DCCP tunnel (path) to be transmitted. The selection of the path used to send a data packet is performed by a scheduling function developed under a modular architecture, i.e., different algorithms are available to distribute the traffic across the tunnels established. A brief description of the schedulers can be found in the configuration section. Once the DCCP packets arrive at the aggregation gateway, they will be de-encapsulated and delivered to a second virtual interface to be routed towards the internet. A Modular reordering engine takes place as well at the receiving stage of the packets, with the purpose of correcting possible packet scrambling caused by the path's latency difference. At the moment the default behavior is to forward the packets to the virtual interface as they arrive, but different reordering algorithms are planned to be introduced in the future. A Data flow going in downlink direction should go through the same process -Encapsulation -> Scheduling -> Transmitting---->De-encapsulation -> Reordering -> Forwarding.
3GPP ATSSS scenario
The architecture used to provide mobile device multi-connectivity is quite similar to the one described for the Hybrid Access scenario, the main difference relies on the fact that, in this case, the UE has to be MP-DCCP enabled. Here the tunnels will be established over the WiFi and Cellular interfaces of the mobile device and the traffic generated and received by the applications has to be routed through the Virtual Network Interface. This topology has already been deployed using commercial LTE and Fixed networks, as part of a demo running over Google Pixel 4 devices and an a ATSSS UPF located on the Internet. Steering and Switching functionalities have been tested successfully.