Show HN: I built an ISP infrastructure emulator from scratch with a custom vBNG
A CS sophomore built Aether, an open-source ISP infrastructure emulator complete with a custom virtual Broadband Network Gateway (vBNG). This impressive project, created to serve as a learning reference, demonstrates full IPoE IPv4 subscriber management from scratch. It's popular on HN for showcasing a sophisticated personal networking project that tackles real-world ISP complexities in an accessible way.
The Lowdown
Aether is an ambitious open-source project by a computer science sophomore, providing a comprehensive lab environment for emulating ISP infrastructure. Built largely from the ground up, it focuses on end-to-end IPoE IPv4 subscriber management. The author's motivation stems from a past internship where a lack of mentorship hindered their understanding of networking systems, aiming for Aether to be a valuable learning resource.
- Core Functionality: Aether emulates a multi-Broadband Network Gateway (BNG) ISP environment, supporting IPoE/IPv4 networks with features like RADIUS AAA for authentication, authorization, and accounting, and per-subscriber traffic shaping.
- Technical Stack: It utilizes a custom Python-based vBNG and simulates traffic using Containerlab, with configuration managed through
aether.config.yamlto generate the necessarytopology.yamland other service configurations. - Architecture: The vBNG operates on an event-driven architecture, using Redis Streams for message passing and a dedicated session manager to maintain state, ensuring clean and predictable data flow.
- Traffic Simulation: A simulator node generates traffic by executing Docker commands on selected hosts, providing a dynamic environment for testing and observation.
- Known Limitations: The project acknowledges several current limitations, including performance overhead due to virtual Ethernet hops, a simplified non-standard circuit ID format, and the absence of iBGP, VLAN, or IPv6 support (the latter being an intentional scope decision).
- Educational Purpose: The creator explicitly states that Aether is not production-grade but is designed to be a starting point and a learning reference for those grappling with complex ISP networking setups. This project stands out as a remarkable personal endeavor, offering a practical and accessible way to understand the intricate workings of ISP subscriber management. Despite its current limitations, Aether serves as an excellent educational tool, demonstrating the author's significant learning journey and providing a platform for others to explore network infrastructure.