OPEN-SOURCE SCION IMPLEMENTATION ROADMAP 2025
Document Revision History | ||||
Version* | Status | Update Comment | By | Date |
0.0 | Draft | Initial version | Matthias Frei | 21.09.2023 |
0.1 | Draft | Extensions after internal discussion | Matthias Frei | 26.09.2023 |
0.2 | Draft | Revision after discussion in TC-I | Matthias Frei | 03.10.2023 |
0.3 | Prerelease | Phrasing and stylistic revision, ready to publish. | Matthias Frei | 09.10.2023 |
1.0 | Public | Published | Matthias Frei | 10.10.2023 |
2.0 | Draft | Updating as of Feb 2025 | J-C Hugly | 02.02.2025 |
2.1 | Public | Adding roadmap item proposed by TC members | J-C Hugly | 25.03.2025 |
The purpose of the open-source SCION implementation is to drive and facilitate the adoption of SCION. It serves as a reference implementation and a common basis for the SCION ecosystem. It is a vendor-independent, low-barrier entry point to SCION, and can serve as an insurance or fallback for SCION adopters.
All of these aspects require an open-source implementation that is complete, i.e. not missing any required components or critical features, and of sufficient quality (in terms of correctness, performance and usability), and with sufficient documentation to be minimally operationally viable.
The SCION open-source implementation includes
The scope of the project and these components is the “base” SCION protocol, as described in the IETF drafts: draft-dekater-scion-dataplane-04 - SCION Data Plane, draft-dekater-scion-controlplane-07 - SCION Control Plane, draft-dekater-scion-pki-08 - SCION Control Plane PKI.
For the time being expressly not in scope are experimental SCION-extensions such as the bandwidth reservation system Colibri, or the distributed source authentication and authorization system EPIC.[1]
Different aspects of the SCION open-source implementation is consumed in different ways:
In view of these different consumers, our software releases aim to enable the different supply chains.
Releases consist of:
Determining exactly which platforms and formats to support for the binary distribution is work in progress and subject to change. The currently supported platforms are as follow:
Debian | Rpm | Openwrt | NixOS Linux | NixOS Darwin | |
x86_64 | Scion release | Scion release | Scion release | NixOS release | NixOS release |
i386/i686 | Scion release | Scion release | N/A | NixOS release | N/A |
arm64 | Scion release | Scion release | N/A | NixOS release | NixOS release |
arm32 | Scion release | Scion release | N/A | N/A | N/A |
More specific integrations of the SCION infrastructure components into e.g. network operating systems or other operational environments may later be in project scope.
We are not committing to a fixed release schedule for now.
New versions will be tagged and released after merging significant changes or on-demand.
Planned releases will be announced with one week notice.
The release version numbers are v0.x.y, that is, semantic version numbering with a major version number 0 indicating in-development and unstable status. This should indicate that the interface of the SCION application programming libraries is not stable yet and may change without earlier deprecation notice.
Note that the SCION protocols are more stable than what this versioning scheme implies, but for practical reasons we only track one single version number.
Changes that affect the interoperability between different components, include a compatibility mode for at least one release cycle, both for the inter-domain as well as AS-local control protocols, packet formats etc.
Where appropriate and feasible, incompatible changes to programs, program options, configuration files and operational APIs include a compatibility mode for at least one release cycle.
Above, we have proclaimed that the goal for the SCION open-source projects should be to become a complete, operational implementation of SCION. The current operational readiness level of the SCION open-source components is mixed. The control service and the control plane PKI tooling are relatively mature. However, there is a general lack of tooling for operators to use the SCION open-source implementation in production systems. Furthermore, specifically the router and SCION-IP-gateway need improvements in terms of performance.
The primary focus areas for the work on the open-source SCION implementation are thus to improve operational readiness, deployability, and performance.
The following lists contain topics that we consider priorities and plan to work on.
Not all tasks will be worked on in parallel and ETAs are aspirational.
Ttitle | State | Issue/doc | Owners | Progress | Target Date |
Completeness & compatibility | |||||
Peering links | Completed | 100% | |||
Dispatcher-less application stack | Completed | 100% | |||
Stabilize control plane communication protocols | In progress | tzaeschke (Tilmann) · GitHub , oncilla (Dominik Roos) · GitHub | 50% | Jun-2025 | |
Rolling key change for hop keys | Not started | 0% | Sep-2025 | ||
SCION-IP-Gateway configurable path/routing policies | Not started | N/A | 0% | ||
Compatibility assessment tool for router | Not started | N/A | 0% | ||
Automate detection of segment metadata | Not started | 0% | |||
Performance, stability, scalability | |||||
Router basic performance improvements | Completed | 100% | |||
Router use high performance IO (XDP) | In progress | 60% | Jul-2025 | ||
Extend control service beaconing policy configuration | In progress | 50% | Sep-2025 | ||
SCION-IP-Gateway performance improvements | Not started | N/A | 0% | ||
MTU | In progress | 0% | |||
Maintenability, usability, evolvability | |||||
Documentation | Completed | 100% | |||
Software Packaging | Completed | 100% | |||
IPV4 NAT Traversal support | In progress | 70% | Apr-2025 | ||
General configuration file structure overhaul | Not started | N/A | 0% | ||
End-host autoconfiguration | Not started | #4681, Automated end host bootstrapping — SCION documentation | 40% | Jun-2025 | |
Enable experimental features safely | Not started | N/A | 0% |
Topics under exploration for the longer-term evolution of the SCION protocol and implementation.
All contributors to the SCION implementation and related projects are encouraged to join the developer chat (#dev:matrix.scion.org Matrix chatroom, scionproto workspace on Slack) to make their work visible and to coordinate.
Furthermore, the TC Implementation organizes a regular call for contributors to coordinate their work and related technical discussions.
[1] There are ongoing discussions about whether the DRKey system and authentication for the SCION Control Message Protocol (SCMP) should be in scope for standardization/specification. We have thus moved related topics in the development roadmap to the exploration section.