Trie Ip

Building a High-Performance IP Prefix Map in Go When working at scale with network devices and BGP peers, efficiently managing and querying IP address information becomes crucial. In this post, I’ll share how we built a high-performance IP prefix map using a Trie data structure in Go, and how it solved real-world problems. The Problem: BGP Peer to Interface Mapping While working at a previous company, we faced an interesting challenge: we needed to quickly determine which interface a BGP peer was associated with. Each network device had multiple interfaces, each with its own subnet, and BGP peers could connect from any of these ranges. Traditional IP lookup methods were either too slow or memory-intensive for our needs. ...

December 12, 2024 · 4 min · 662 words · Jared Henry

Peering Db MCP

In a previous post I talked about MCP and how to use it to integrate with LLMs. In this post I want to talk about how to use MCP to integrate with Peering DB. I am being honest here, this all really opens up a lot of power possibilities and I am barely scratching the surface of what is possible. What is Peering DB? Peering DB is a free and open-source database of network operators and their associated networks. It is a community-driven project that aims to provide accurate and up-to-date information about the internet’s infrastructure. ...

December 11, 2024 · 4 min · 698 words · Jared Henry

Bgpfig - Device Configuration Distribution via BGP

Using BGP for Network Device Configuration Distribution: A Proof of Concept In the world of network automation and configuration management, we’re constantly seeking elegant solutions for distributing configuration changes across our infrastructure. While there are many established tools and protocols for this purpose, I recently explored an unconventional approach: using BGP (Border Gateway Protocol) as a transport mechanism for device configurations. In this post, I’ll share my proof of concept that demonstrates how BGP can be repurposed for configuration distribution. ...

December 11, 2024 · 5 min · 1041 words · Jared Henry