RtBrick's FullStack routing software is a new way to build and run your network, applying a cloud-native approach to deliver multiservice edge routing software that is more robust, more controllable and costs far less than a conventional network. Disaggregating your routing software from hardware allows you to build a lower-cost and more flexible network, using software that delivers at carrier-scale.
RtBrick's modular code makes it suitable for many use-cases that require robust and highly scalable IP/MPLS routing, including:
The code can be provided in an image that provides different combinations of edge services, as required.
We’ve done three fundamental, new things that have changed everything:
In the past, limitations in silicon performance meant that routing code had to optimize for CPU and memory utilization. This led to hundreds of different state databases in each router, each optimized for a different job. But we’ve replaced all of these with a single database, operating independently from run-code. This has brought a huge gain in simplicity.
We’ve taken an approach to our software that is native to virtual IT environments. You get your own unique code-version, built from discrete blocks and delivered as a Linux container. Your code is no longer bloated with features that you don’t use. This allows us to upgrade or add each feature independently, in sub-milliseconds, with no service disruption. As a result, route-processing, updates and restart is 20x faster than traditional operating systems. And we publish open interfaces – so you can even develop your own unique features if you want to.
Rather than try to build an unattainable flawless system, we’ve taken a web-scale approach and focused on self-healing systems.
Our composable code and single state database makes it easier to contain risk. For example, we can isolate different routing universes (such as public and enterprise networks) and watchdogs can detect issues and redeploy software if needed. And it’s inherently simpler to control, as we’ve replaced a ‘full-mesh’ of logical relationships between the control system and many network element databases with single links.
You can manage your whole network from a single browser window. And you get automation straight out-of-the-box. Simply power-on your bare metal switches and they will self-register, download the correct software image, discover their topology and all microservices self-start. Automated software version management reduces risk of human error, and new microservices can be updated and tested independently of other operating software. The system also includes tools to simplify repair, such as ‘clone a switch’ for zero-touch replacement of broken hardware. And there’s in-depth alarm and status management, with thresholds and abnormalities automatically flagged: from data rates to fan speeds. You can glue this into your existing OSS using our consumer-driven Management API, which can create a client in your choice of programming language.
RtBrick's software is compatible with CUPS (Control and User Plane Separation). The control plane is independent of the forwarding (or user) plane. The difference is that the control plane is usually collocated with the forwarding plane on the same bare-metal switch, taking advantage of the x86 processors that the switch already provides. But the two don't have to be collocated. For example, RtBrick's high availability solution uses the control plane of one switch to control the user plane of a remote failover switch and share state in real-time between them. The control plane could be run remotely on dedicated x86 infrastructure, using RtBrick's state synchronisation protocol to communicate between the two. But compared to using a centralized Control plane, a distributed system does bring certain benefits. It is:
The software is available in a number of discrete products, such as a BNG (Broadband Network Gateway) and a PE Router (Provider Edge).
The features supported by RtBrick FullStack are expanding all the time, because it's much faster for us to add and test new features than it is using a traditional monolithic code base. Currently supported features include:
Features * | BNG | PE Router |
General | ||
Routing Policy | ✔ | ✔ |
LDP | ✔ | ✔ |
L2X | ✔ | ✔ |
BGP | ||
IPv4 | ✔ | ✔ |
IPv6 | ✔ | ✔ |
LU-v4 | ✔ | ✔ |
LU-v6 | ✔ | ✔ |
VPNv4 | ✔ | ✔ |
VPNv6 | ✔ | ✔ |
Add-path | ✔ | ✔ |
Multi-path | ✔ | ✔ |
Multi-hop | ✔ | ✔ |
Segment Routing | ✔ | ✔ |
4-Byte AS | ✔ | ✔ |
TCP-AO | ✔ | ✔ |
ISIS | ||
IPv4 | ✔ | ✔ |
IPv6 | ✔ | ✔ |
Segment Routing | ✔ | ✔ |
OSPFv2 | ||
IPv4 | ✔ | ✔ |
IPv6 | ||
Segment Routing | ✔ | ✔ |
Forwarding Plane | ||
VPP | ✔ | ✔ |
ACLs (IPv4/6, L2) | ✔ | ✔ |
QoS (policing, scheduling, queuing, hierarchical) | ✔ | ✔ |
Access | ||
Radius support | ✔ | |
PPPoE | ✔ | |
IPoE | ✔ | |
L2TPv2(L3BSA) | ✔ | |
L2BSA - L2 Bitstream Access | ✔ | |
Accounting (Time/Volume based) | ✔ | |
IPTV | ||
Multicast - PIM, MVPN, IGMP v2/3 (all partial RFC compliance) | ✔ | |
Multicast - SSM Mapping | ✔ | |
Radius integration for subscriber channel policy, blacklisting and whitelisting | ✔ | |
Sub-second channel zap time | ✔ | |
Preview up to 15 other channels | ✔ | |
Preview up to 15 other channels | ✔ | |
IPTV usage statistics | ✔ | |
CGNAT | ||
CGNAT 444 | ✔ | |
Operations | ||
ResmondD (RtBrick resource monitoring application) | ✔ | ✔ |
CLI | ✔ | ✔ |
REST API | ✔ | ✔ |
RESTCONF | ✔ | ✔ |
SNMPv2C/v3 | ✔ | ✔ |
ZTP Provisioning | ✔ | ✔ |
RBMS (RtBrick Management System) | ||
Rules Engine | ✔ | ✔ |
Topology Discovery & Inventory | ✔ | ✔ |
REST API | ✔ | ✔ |
Microservice | ✔ | ✔ |
Dynamic Service Selection | ✔ | ✔ |
* may include some road-map features
RtBrick's Full Stack routing software can operate on many bare metal switches, depending on your performance and port count requirements. You can find details of compatible hardware here.