SCIONproto is an open-source implementation being developed by the SCION Association with support from a community of collaborators. The aim is to provide a reference implementation against which other implementations can be tested, to provide a code base that can be implemented into vendor products, to improve security by opening the code base to public scrutiny, and to encourage a community of SCION developers. In particular, it is used by the research and education community and utilized for the SCIERA network.
In 2024, the focus was to provide an operationally viable core implementation, whilst allowing for innovation through modularity. This included stabilizing the control plane communication protocols, extending the beaconing policy configuration, and providing RPM packaging for multiple platforms including x86_64, 32- and 64-bit ARM and OpenWRT.
More recent work has focused on improving performance of the SCION router with the objective of reaching or exceeding 10 Gb/s line speeds. This includes a refactoring of the source code to support underlay implementations, including tighter integration with the Linux kernel and to utilise XDP (eXpress Data Path) which is a high-performance data path supported by Network Interface Controllers to send and receive packets that bypass most of the operating system networking stack. Additional features include multiple NAT traversal.
Tests have demonstrated that Intel i7-13 based hardware is currently capable of generating around 8 Gb/s on virtual interfaces using the ring-based approach. It is expected that real-world performance will significantly exceed 10 Gb/s once XDP is implemented. An implementation has also been successfully tested on AMD Jaguar GX-412TC based hardware (dating from 2014), demonstrating that it is possible to utilize inexpensive and older commodity hardware.
Looking ahead in 2025, it is planned to continue with the router IO optimization as well as implement end-host autoconfiguration, improve the control service API, rationalize the configuration files structure, and implement rolling key change for hop keys. Some of this work will be undertaken by ETH Zurich along with the SCION development team which was recently expanded with the addition of two developers.
This work is supported by a grant from the NLnet Foundation’s NGI Zero Fund which is itself supported by the EU Horizon Europe Programme. We also thank Marc Frei, Jan Luan and Tilmann Zäschke from the NetSec group at ETH Zurich for their code contributions.