Fully Open Edge Cloud

How to implement a resilient and distributed core network

Mobile IPv6 does not really exist because after Louis Pouzin created the Cyclades network in 1971, only one of its main ideas - the datagram - was kept by Vint Cerf in 1974 for TCP/IP. The other idea - indirection - which is now part of RINA network and provides a clean implementation of mobility on packet networks, was ignored. We describe below how to implement a limited form of indirection on IPv6 thanks to a routing protocol and how this can be used to achieve mobile IPv6 on a distributed 5G core network infrastructure. All ideas are the result of Juliusz Chroboczek's work.
  • Last Update:2023-12-22
  • Version:002
  • Language:en

The Open Radio Station uses one core network for each base station. Each core network provides a local IPv6 range to UEs connected to the base station. This distributed architecture is resilient to any disaster of the backhaul network or of other ORS base stations and has no single point of failure. It is ideal for fixed wireless and for most of Industry 4.0 applications. This has been explained in this video:

5G Edge Computing for Digital Resiliency

This architecture can support a form of handover by resetting LTE/NT connections completely, as it happens for example whenever we cross a border and change operator from one country to another. In this case, UE will change its IPv6. TCP sessions will be lost. Downloads will be interrupted. Applications will have to reconnect. Communication can be lost during a few seconds to a minute.

We could use a central core network to achieve traditional handover. And we could have this central core network distributed over different hosts to achieve high availability or over different sites to achieve a form of resilience. ORS actually already does that and has been tested with core networks from CISCO, B-Com, Free5G, etc. in addition to Amarisoft core network. This way, UEs can move from one ORS to another one without losing their TCP session. But if that central core network is destroyed or access to it is lost, all connectivity is lost for all ORS. This would even be the case with a physically distributed core network (multiple hosts, multiple sites) based on a logically centralised approach requiring UEs to stay connected to the epc/5gc they were initially connected to. This is not acceptable for applications that require reslience.

We would therefore like to solve the limitations of the current ORS distributed core network approach and improve handover so that, whenever we move from one ORS to another ORS, we keep the same IPv6 on any UE and do not lose TCP session. This way, applications do not need to reconnect, download is not interrupted. We want this to happen in a context for which the backhaul topology is dynamic and not fully connected. In other words, if we move from ORS1 (gnb1, 5gc1) to ORS2 (gnb2, 5gc2), we do not want a UE attached to gnb2 to still be attached to 5gc1 because we can not ensure that backhaul connects ORS1 to ORS2 at any time. For example, ORS1 could be destroyed or some link between ORS1 and ORS2 could be down. This is typical of applications that require resilience such a natural disaster rescue.

To solve this problem, we intend to use a routing approach that was first tested on Wifi networks as a proof of concept: sroamd. With sroamd, every UE is allocated a unique IPv6 address which does not change no matter which core network it is attached to. With Wifi, sroamd communicates with hostapd to detect association and disassociation between UE and access point. In the case of NR networks, we plan to use a modified version of free5gc or of Amarisoft core network so that UEs are allocated the same IPv6 no matter which ORS they connect to, thanks to sroamd built-in torrent algorithm. In the same way, the core network has the same IPv6 on the air interface side, no matter the ORS. Only the backhaul IPv6 changes from one ORS to another ORS. Whenever signal becomes too weak, UE is detached from one gNb and handover happens through the NG interface, since we assume that ORS do not know each other in a truly distributed way. The UE tries to attach to a new gNb which is attached to another 5gc with same IPv6 as the previous one. This is where 5gc code modification is needed: all context information has to be recreated and air interface re-established as if the core network had faced a hard reset during the handover. The rest follows the same approach as between hostapd and sroamd. Regarding possible hysteresis, it is handled in the same ways in in babel protocol.

Once this is implemented, the resulting system will can integrated into re6st and babel

Next steps could consist in combining 5G with other radio networks (ex. Wifi, BT) and demonstrate cross-radio network handover.