I had the opportunity to present at ITNOG on the web the use of a switch as an internet border router, and how to set up a distribution strategy within the backbone to reduce the routing information while maintaining an “almost optimal” routing.
For the border router, I used a selective FIB installation in TCAM only for significant destinations. The wide availability of RAM on recent switches permits to hold the FIRT (Full Internet Routing Table) and tag with a BGP Community the relevant destination to be loaded into the FIB. For the remaining prefixes a “hot-potato” strategy can be applied using a default-router to the transit provider.
The optimal border selection with a “cold-potato” approach is then realized into the backbone, using an intelligent external route reflection on the route-reflector.
The border routers sends the FIRT to the route-reflector with significant prefixes already cataloged with BGP communities. it therefore becomes a task of the RR to reflect only these significant prefixes or make a further selection, for example by combining the destinations with a netflow analysis.
The idea is inspired by the work of David Barroso and Paolo Lucente with their SIR (Software Internet Router)
The main difference of my solution:
- It’s a combination of selective FIB installation on border router and selective route distribution in the backbone
- the border router lies in the approach completely based on BGP and native policies, and not by an external programming or by the loading of the FIB by an external controller.
- Further route selection, driven by a netflow analysis it’s performed only on the route-reflector.
- All the backbone router operates without the FIRT and a traditional aligned RIB/FIB.
The solution is therefore extremely simple and requires peering devices capable of managing the FIRT in RAM and in TCAM a number of prefixes certainly much smaller than the size of the current FIRT.
Presentation
The full presentation it’s available on my GitHub Repository