BGP: the Border Gateway Protocol
Advanced Internet Routing Resources
BGP Tools, BGP Software, BGP Utilities
Securing the Domain Name System with DNSSEC DNS, BIND, DHCP, LDAP Resource Directory Border Gateway Protocol and Advanced Routing Intrusion Detection, Honeypots & Incident Response Wireless LAN (802.11) Security and Wardriving Computer Forensics and Cybercrime Resources The Computer Security Bookstore The Networking & Sysadmin Bookstore

 BGP Software & Diagnostics
BGP Looking Glass Servers
BGP Tools, Utilities, Software

 BGP Peering Points (IXP)
Internet Exchange Points

 All About BGP
BGP & Internet Routing Books
BGP Articles, Links, Whitepapers
BGP Technical Presentations
BGP Security, ISP Core Security
BGP related Mailinglists
BGP Vendors (hardware)

 IETF Protocol Reference (RFC)
BGP Protocol (IETF RFCs)

Home - About - Contact

Always handy:
Cisco BGP Features Roadmap
Cisco IOS BGP Commands
JunOS BGP Configuration Guidelines
JunOS BGP Configuration Statements
Quagga Routing Documentation
OpenBGPD Manual Pages
Understanding IP Addressing
BGP Large Communities
IPv4 Netmask Table
IPv4 CIDR Prefix Sizes
The RFC Archive

 BGP Tools, BGP Software, BGP Utilities

Related Reading
BGP Articles, Links, Whitepapers
BGP Technical Presentations
BGP Security & ISP Core Security
BGP Peering Points by Country

Related Software Tools
BGP Looking Glasses & Route Servers

Please send additions and updates to, thanks!

AS Ranking by Cooperative Association for Internet Data Analysis (CAIDA)

This CGI script presents CAIDA's ranking of Autonomous Systems (AS) based on the size of their customer cone as observed from the largest publicly available interdomain routing data set. Ranking relies upon AS relationship information that is discovered using a new inference algorithms. This algorithm is rooted in economic AS relationships, ranking each AS as a function of the number of IP prefixes advertised by this AS, its customer ASes, their customers ASs, and so on. Online, web-based tool.

aggregate by Joe Abley

aggregate takes a list of prefixes in conventional format on stdin, and performs two optimisations to reduce the length of the prefix list. It removes any supplied prefixes which are supurfluous because they are already included in another supplied prefix (e.g., would be removed if was also supplied), and identifies adjacent prefixes that can be combined under a single, shorter-length prefix (e.g., and can be combined into the single prefix Manpage: aggregate(1). Operating System: Unix/Linux/POSIX.

BENTO: BGP-Enabled Network Traffic Organizer by Network Signature

BENTO allows you to explore your traffic based on Autonomous System and BGP path information. Rather than producing graphs of traffic based on router interfaces in your network, BENTO produces graphs of traffic based on AS information. In effect, you can see beyond the border routers of your network, and identify how much traffic you exchange with other networks both near and far away. BENTO lends itself equally well to both real time monitoring of active traffic and to longer term planning for network optimisation. In a real time operational situation, it is easy to configure the BENTO interface to eg pick up and highlight large amounts of ICMP traffic, which would indicate a malfunction or DoS attack. For network planning, BENTO allows you to explore the entire AS spectrum beyond peers and transit providers, and identify interesting hot spots and networks elsewhere. A typical situation would be that you're wondering if it might be worthwhile connecting directly to another exchange. BENTO enables you to see how much traffic you could exchange with the networks present at that exchange. Operating System: Currently BENTO is available for Linux/Intel architectures, and a BSD port is planned. Principally BENTO requires little else than a POSIX compatible system, and should port easily to other systems. At this time, however, such porting would be by specific customer request and agreement.

BGP Inject by Martin Kluge

The BGP injector (based on Net::BGP) allows to setup BGP sessions and to inject and withdraw BGP routes. Features include a cisco like CLI with tab completion, reverse search and history, creation of BGP routes with specific attributes, random and pseudo-random routes, simulation of BGP peer and route flapping, a XML based configuration file, simple test cases and detailed overviews of peer and route statistics. Operating system: UNIX/Linux/Posix. Written in Perl.

BGP-Inspect by Merit Networks / Univ. of Maryland

This is a BGP update messages research tool. The goal is to make the vast quantities of Routeviews data easily accesible to the network operator and research community. This involves not just allowing people to query and obtain the update messages, but also providing some simple analysis and statistics on the data which can help in locating anomalies and problems. Two additional websites are available - this should provide much better visibility than before: BGP-Inspect-RIPE and BGP-Inspect-MERIT. Online, web-based tool.

BGP++ Simulation Tool by Maniacs Research Group at Georgia Tech

BGP++ is a C++ implementation of BGP for ns-2. BGP++ was not developed from scratch, but existing software (Zebra bgpd) was modified to work with the simulator. Zebra is an open source imlementation of BGP as well as other routing protocols for UNIX platforms. BGP++ tries to maintain most of the Zebra bgpd functionality while it incorporates the software in a OO simulation enviroment. The advantage of this approach is that it saves development effort since the same algorithms are not rewritten and it builds on tested code. Written in C++.

BGP Monitor by Massachusetts Institute of Technology

The BGP Monitor allows network operators and researchers to look at BGP update traffic history to learn more about network faults. The BGP monitor receives a BGP update feed from MIT's border router; thus, we only learn about changes to choices in best routes to a particular prefix. The monitor supports both live and historical queries. Data is archived into the database every 30 minutes. The monitor can output traffic in text and graph formats. Online, web-based search facility.

BGP Monitoring System (BGPmon) by Netsec Group, Colorado State University

Real BGP routing information is an essential resource for both researchers and operation communities in Internet routing. In order to collect large number of data in real time, BGP Monitoring System (BGPmon) is designed to monitor BGP updates and routing tables from BGP routers. It uses modular architecture to scalably monitor many BGP routers by distributed deployment while allowing a consolidated and neat interface to end users. BGPmon uses the Extensible Markup Language (XML) for BGP data. This format can accurately record BGP data without any information loss and it is extendable for possible new features in BGP updates. Note: During beta, downloads of BGPmon are password protected. Login info can be obtained by contacting the developers.

BGPmon Realtime BGP Data Stream (XML) by Netsec Group, Colorado State University

People who want to use realtime BGP data in XML can telnet to port 50001 or open a TCP connection. The format of the received XML stream is described in the XML specification "BGP routing information in XML format". Online Service.

BGP Origins by BGP Origins Project

One very real threat that faces the Internet today is BGP prefix hijacking. Any malicious (or misconfigured) Autonomous System (AS) can announce that it owns any prefixes (ranges of IP addresses). Through announcing this, any number of Internet Service Providers (ISPs) may begin to send traffic to, potentially, malicious routers on the Internet. Automatically mapping BGP prefixes to the ASes that are authorized to announce them is challenging. It is not always straight forward to know who is authorized to announce a prefix. Allowing operational autonomy and freedom complicates structured approaches. BGP-Origins fuses global prefix monitoring data from PHAS and user attestations in a rigorous framework to enable operational entities to view current BGP prefix mappings and to use their own policies/decision making to determine the validity of origin mappings. BGP-Origins uses the DNS protocol as both a look-up and update mechanism. Users can easily query for the mappings of a prefix by issuing a familiar DNS query. Online Service.

BGP Toolkit by Hurricane Electric (HE)

Includes lots of tools, like: BGP Prefix Report, BGP Peer Report, Multi Origin Routes Report, Top Host Report, BGP Statistics, and more. Online Service.

BGPath by Luca Cittadini et al, Roma Tre University

BGPath is an on-line service that helps understanding BGP updates. The service relies on BGP RIB dumps and updates collected by the Routing Information Service and the Route Views Project in the week from 12/26/2006 to 01/02/2007. BGPath features a stream-based back-end system, which: 1. Collects data from many monitors, 2. Performs data cleaning processes that cope with both long-lasting unreliabilities of data sources and short-lived dirty data bursts, 3. Computes metrics over input data within strict time constraints. BGPath also provides a user with an effective graphical interface that, given a routing change c: * Places the ASes involved in c according to the customer-provider hierarchy of the ISPs, * Visualizes both aggregated and disaggregated information for each interdomain link appearing in c, * Traces different paths to the prefix involved in c over time. The service is integrated with software imported from the graphical interface of BGPlay. As an additional function, BGPath also allows to perform comparisons of observed routing data against routing policies stored inside the Internet Routing Registry. The displayed registry information is retrieved and processed by the same engine used in the RPSL Analysis Service. Online, web-based search tool.

BGPbotz by Eric Wustrow, Manish Karir, Jon Oberheide

BGPbotz is a BGP looking-glass interface available over Instant Messaging. It is similar to route-servers that run on telnet, but has been adapted for the AIM and Jabber IM protocols. by Steven Hessing is a partial implementation of the BGP protocol (RFC 4271) written in perl. It has been designed as a module to be used in other applications and as tool to monitor BGP routing updates and collect all kinds of statistics. is NOT written to be used as a BGP router in an operational network, in fact is has no support to propogate routing information because there is no code to send BGP UPDATE messages. also does not touch the routing table of the host it runs on. Written in Perl.

BGPdump (libbgpdump) by RIPE NCC, RIS Project

libbgpdump is a C library designed to help with analyzing dump files produced by Zebra/Quagga or MRT. libbgpdump supports IPv4 and IPv6 in v1.3 and above. C Library.

BGPlay by Roma Tre University

BGPlay is a Java application which displays animated graphs of the routing activity of a certain prefix within a specified time interval. Its graphical nature makes it much easier to understand how BGP updates affect the routing of a specific prefix than by analyzing the updates themselves. The routing data are taken directly from the RIS database (in the future they will also be obtained from the Oregon Route Views project). See also: iBGPlay. Written in Java.

bgplg by OpenBSD Project

The bgplg CGI program is a looking glass for the bgpd(8) Border Gateway Protocol daemon. The looking glass will provide a simple web interface with read-only access to a restricted set of bgpd(8) and system status information, which is typically used on route servers by Internet Service Providers (ISPs) and Internet eXchange points (IXs). It is intended to be used in a chroot(2) environment in /var/www. Operating System: OpenBSD.

bgplgsh by OpenBSD Project

The bgplgsh program is a looking glass shell for the bgpd(8) Border Gateway Protocol daemon. The looking glass will provide a simple command line interface with read-only access to a restricted set of bgpd(8) and system status information, which is typically used on route servers by Internet Service Providers (ISPs) and Internet eXchange points (IXs). Operating System: OpenBSD.

bgpsimple by Christian Zeng

Simple BGP peering and route injection script. This perl script allows to setup an BGP adjacency with a BGP peer, monitor the messages and updates received from that peer, and to send out updates from a predefined set of NLRIs/attributes. BGP session and message handling is done by Net::BGP. The script was mainly written to take a file with BGP route information (TABLE_DUMP_V2 format) and to inject these routes over a BGP adjacency. It grew a little over the time, and has some additional features to tweak and filter those routes before advertising them to the peer. UPDATE messages received will be logged. Currently, there is no implementation of any local routing policy (except the features and sanity checks described at the NOTES section). Furthermore, no adj-rib-in and adj-rib-out databases are maintained. Please note that you might need to patch Net::BGP to get correct handling of AGGREGATOR attributes (see the end of this file), this got fixed in Net::BGP version 0.12. Operating System: Unix/Linux/POSIX (scripts written in Perl).

bgptools by M.I.T. Laboratory for Computer Science

This distribution of "bgptools" provides tools that aid in the analysis of BGP updates. It has been in an attempt to solve the following problems: 1) Provide a publicly-available tool for parsing MRT-formatted BGP update dumps (as various software routers, such as Zebra dump to a log file). 2) Provide a framework for real-time analysis of BGP update data ("traced" is an example of a tool that uses this framework). 3) Provide a publicly-available library, "libbgpdump.a", that exports a simple API that makes developing BGP analysis tools easy and fast. Operating System: Unix/Linux.

BGPView by Kuniaki Kondo, Internet Initiative Japan Inc., Intec NetCore, Inc.

BGP-4 Protocol Viewer, or "BGPView", makes a connection to the router using the BGP-4 protocol. It can monitor details of received BGP packets and create statistics based on received data. Operating System: FreeBSD, BSDI, SunOS, Unix.

BIRD Internet Routing Daemon by RNDr. Libor Forst, Martin Mare, Pavel Machek, Ondrej Filip

The BIRD project aims to develop a fully functional dynamic IP routing daemon primarily targeted on (but not limited to) UNIX-like systems and distributed under the GNU General Public License. BIRD supports both IPv4 and IPv6, multiple routing tables, BGP, RIP, OSPF (IPv4 only), static routes, inter-table protocol, command-line interface, soft reconfiguration, and powerful language for route filtering. Operating System: Unix/POSIX.

C-BGP by University of Louvain-la-Neuve

C-BGP is an efficient BGP decision process simulator. The BGP model implemented in C-BGP is not hindered by the transmission of BGP messages on simulated TCP connections as in SSFNet or JavaSim. The simulator supports the complete BGP decision process, import and export filters and redistribution communities. It is easily configurable through a CISCO-like command-line interface. C-BGP does not model session establishment and timers (MRAI, dampening, etc.). C-BGP can be used to experiment with modified decision processes and additional BGP attributes. It can also be used to evaluate the impact of input/output policies on the routing tables of other ASes. Thanks to its efficiency, it can be used with large topologies with sizes of the same order of magnitude than the Internet. C-BGP is open source and written in C language. It has been tested on various platforms like Linux, FreeBSD and Solaris. To make large simulations easier to perform, C-BGP is able to load interdomain topologies produced by University of Berkeley and is also able to output all the exchanged BGP messages in MRT format so that existing analysis scripts may be re-used. Operating System: Unix/Linux/FreeBSD/Solaris/POSIX.

Cyclops by Ricardo Oliveira, Ying-Ju Chi, Mohit Lad

Cyclops is a system that collects and displays information of AS-level connectivity between different networks extracted from looking glasses, route-servers and BGP tables+updates of hundreds of routers across the Internet. From an operational standpoint, Cyclops provides ISPs a view of how their connectivity is perceived from the outside, enabling a comparison between their observed connectivity and their intended connectivity. ISPs can easily use the tool to detect BGP misconfigurations, route leakages or false AS-link hijacks. Currently the tool provides two modules: a web interface and a visualizer. Cyclops uses data from thousands of routers from RouteViews, RIPE-RIS, Abilene, Packet Clearing House and University of Colorado Bgpmon, making it the widest and fastest free tool to assess how the rest of the world is reaching your network. Online, web-based tool.

Dataconnection DC-BGP by Data Connection Ltd.

DC-BGP is an implementation of Border Gateway Protocol (BGP) source code designed explicitly to support the scalability, availability and functional requirements of OEMs building devices for next generation networks. DC-BGP is a component of the IP Routing software developed by Data Connection, and shares its Common Architecture. It is available for both IPv4 and IPv6 networks. DC-BGP has comprehensive support for the relevant standards, with management interfaces and a design suited for the most demanding applications. Further details are provided below. The DC-BGP architecture splits the product into modular components. This allows these components to be distributed onto line cards and supports multiple instances as required for virtual routers and VPNs. OEM source code distribution.

Egressor by The MITRE Corporation

MITRE has released a freeware tool that allows a company to check the configuration of their Internet point-of-presence router. This tool will help companies determine whether their routers are configured to the Help Defeat Denial of Service Attacks guidelines. This configuration of egress filtering reduces the chance that their computers can unwittingly contribute to a distributed denial of service attack. The tool has two parts; a generator and a receiver. The test generator (or "client") is being provided as C source code and the test receiver (or "server") is a PERL script. Both are currently known to work on LINUX, and the server also works on Solaris. Operating System: Server: Perl/Linux/Solaris. Client: C source code/Linux.

ExaBGP by Thomas Mangin

This program is a BGP route injector. ExaBGP is an application designed to provide an easy way for programmers and system admistrators to interact with BGP networks. The program is designed to allow the injection of arbitrary routes into a network, including IPv6 and FlowSpec. It can be used to announce IPv4/IPv6 routes with arbitrary next-hops into your network or source flow routes. The route injector can connect using either IPv4 or IPv6 and announce both IPv4 and IPv6 routes. ExaBGP can parse incoming routes and pass the textual representation of the route to helper programs for background processing, it can as well announce routes generated by third party programs. Potential use are: * Injection of service IPs like AS112 announcement * Temporary route redirection (adding more specific route with different next-hop) * Injection of flow routes to handle DDOS. This programs does not have any dependences on any third party libraries and will run out of the box on most Unix systems. Operating System: Unix/Linux/FreeBSD/Solaris/POSIX.

Flamingo: Visualizing Internet Traffic by Merit Network, Inc.

Flamingo is a unique software tool that enables Internet traffic data exploration in real-time. Alongwith 3-dimensional data representations, it also provides the necessary navigation and filtering controls to allow users to manipulate the visual displays. Flamingo is composed of two parts, the client and the server. The Flamingo server receives netflow feeds from various routers. This netflow data is then processed, before it is transmitted to the client for visualization. A single Flamingo server can support multiple netflow feeds as well as multiple Flamingo visualization clients. Each client can select to explore different types of data from the same server. Flamingo relies on a set of visualizations to represent complex network data instead of a single representation. The visualizations currently supported are: * Traffic Volume by IP Address or Prefix : In this visualization method we display the volume of traffic being originated from or sent to an IP address or prefix. * Traffic Volume by Peer AS: This visualization method displays the volume of traffic being originated from or sent to various routing peers of the router from which the netflow data is being generated. * Source/Destination Port Traffic: In this visualization we display per port information for each IP address or prefix. * Source IP - Destination IP Traffic Flows: In this visualization we graphically represent individual flows as observed at the sampling router. This shows the relative volume of traffic from various source IP addresses or prefixes to various destinations. * Source IP,Port - Destination IP,Port Traffic Flows: In this comprehensive visualization method we represent in a single display, traffic flows from various source IP addresses/prefixes and source ports to various destination IP addresses and ports. Operating System: Linux.

FutureSoft BGP4 Stack by Future Software Limited

FutureSoft BGP4 (Border Gateway Protocol) software is a portable implementation of the BGP Version-4 related RFCs. FutureSoft BGP4 exchanges network reachability information with other BGP systems. This information helps in constructing graphs of the AS so that routing loops can be detected. Intelligent routing decisions can be taken based on policies like Multi Exit Discriminator/Local Preference. The software includes support for interaction with IGP and classless inter-domain routing. Source code written in C, including porting process document, OEM/VAR.

GrepCIDR by SysDesign

GrepCIDR can be used to filter a list of IP addresses against one or more Classless Inter-Domain Routing (CIDR) specifications, or arbitrary networks specified by an address range. As with grep, there are options to invert matching and load patterns from a file. GrepCIDR is capable of comparing thousands or even millions of IPs to networks with little memory usage and in reasonable computation time. GrepCIDR has endless uses in network software, including: mail filtering and processing, network security, log analysis, and many custom applications. Operating System: Unix/Linux.

GRH: Ghost Route Hunter - IPv6 only by

Ghost Route Hunter, GRH for short, is a tool for hunting down Ghost Routes in the IPv6 routing tables. Online, web-based tool.

Hubble: Monitoring Internet Reachability in Real-Time by University of Washington

Hubble is a system that operates continuously to find persistent Internet black holes as they occur. Hubble has operated continuously since September 17, 2007. During that time, it identified 882,875 black holes and reachability problems. Hubble uses PlanetLab vantage points to monitor prefixes around the world. For each black hole, the table gives the prefix, the origin AS (the ISP owning the prefix), the country, the percentage of Hubble vantage points able to reach the prefix in the last quarter-hourly set of probes, and the duration of the problem so far. The map adjoining the table shows the locations of those prefixes that we are able to geographically map using iPlane or MaxMind GeoLite City. Clicking a link in the table or a marker on the map brings up information on the black hole, including a link to a map showing which vantage points can and cannot reach the prefix. The darker the shadow below a marker, the more problem prefixes in that city. Zooming in on the map will allow you to choose between them. Online, web-based search tool.

iBGPlay by Roma Tre University

Visualization of the inter-domain routing evolution from the point of view of an Internet Service Provider. iBGPlay, an evolution of BGPlay, is a system devised for Internet Service Providers to graphically audit their inter-domain routing, in real-time or looking at the past. iBGPlay addresses the needs of the ISPs audit the BGP activity and allows to easily inspect how the paths to ISP's relevant destinations change over time. The system can show the relationships among paths and Internet exchange points and is equipped with a friendly user interface to select the interesting information among the large amount of data that iBGPlay can deal with. iBGPlay improves the visualization technology already appreciated in BGPlay. Written in Java.

ICM Looking Glass Software by ICM / Warsaw University

Looking Glass Software. Written in Perl.

InMon Traffic Server by InMon Corp.

Managing today's large, high-speed networks brings unique challenges, combining the problems of managing L2 switched networks with the complexity of routing and BGP peering. In order to provide cost-effective, uninterrupted, high-performance network services, it must be possible to respond to real-time congestion and quality of service issues, defend against security threats, generate revenue from value-added service usage, and plan for future resource deployment. Visibility into current and historical traffic patterns across the entire network makes this possible. InMon Traffic Server provides a unique combination of features that meet these challenges. Operating System: Traffic Server is a web-based appliance that runs on dedicated hardware under RedHat Linux.

Internet Routing Registry (IRR) Toolset Project by RIPE NCC, maintained by ISC

The Internet Routing Registry Toolset (IRRToolSet) project is a new activity proposed by the RIPE NCC. IRRToolSet is a suite of policy analysis tools to operate with routing policies in RPSL [RFC 2622] format, registered in Internet Routing Registry (IRR). The main goal of the project is to make routing information more convenient and useful for network engineers, by providing tools for automated router configuration, routing policies analysis, and maintenance. Tools included are: RtConfig, CIDRAdvisor, peval, prtraceroute, prpath, aoe, roe, and rpslcheck(prcheck). The project consists of the following tools: * RtConfig - analyzes the routing policies registered in the Internet Routing Registry (IRR) and produces router configuration files. * CIDRAdvisor - suggests safe cidr aggregates (i.e. those that do not violate any policy constraints) that an Autonomous System (AS) can advertise to each of its neighbour ASes. * peval - low level policy evaluation tool that can be used to write router configuration generators. * prtraceroute - prints the route and policy information packets take to a network host. * prpath - enumerates a list of paths between Autonomous System and specified destination. * aoe - C++/Tcl/Tk program that displays the aut-num object for the specified Autonomous System. * roe - C++/Tcl/Tk program that lists the routes registered by the specified autonomous system. * rpslcheck(prcheck) - syntax-checks the aut-num object for Autonomous System registered in the Internet Routing Registry (IRR). Operating System: C++ on a UNIX platform. Ported successfully to many platforms including: Sun Sparc stations running SunOS 4.1.3 or Solaris, FreeBSD, DEC Alphas running OSF/1, BSDI, Linux and NetBSD.

IP to ASN Whois Server by Team Cymru

A public whois server dedicated to mapping IP numbers to ASNs, located at This daemon can also supports bulk IP submissions when combined with netcat, for those who wish to further optimize their queries. Also available are a DNS daemon and a web based proxy to the whois based service. Online tool.

IRL BGP Parser by UCLA IRL, Jason Ryder, Alex Wang, Paul Wang, et al

The IRL BGP Parser converts BGP messages stored in binary MRT format to human-readbable XML format. The XML format is compatible with the output of CSU BgpMon. See this presentation (pdf) for more info. Multiple platforms are supported (Linux, Windows, Mac). Written in C++.

IRR Power Tools by Richard Steenbergen

A collection of tools which allow ISPs to easily track, manage, and utilize the routing information contained in Internet Routing Registry (IRR) databases for the purposes of maintaining customer BGP prefix-lists. Operating System: All POSIX (Linux/BSD/UNIX-like OSes).

IRRD: Internet Routing Registry Daemon by Merit Network, Inc.

IRRd is a stand-alone Internet Routing Registry database server. IRRd can store information and answer queries about local network, campus and ISP backbone topology, address allocation and routing policies. IRRd can be used as an independent local database server, or as part of the global Internet Routing Registry (IRR). The Internet Routing Registry is the union of a growing number of world-wide routing policy databases, including servers operated by Cable & Wireless, APNIC, Merit, RIPE, Verio, and many other organizations. IRRd supports the Routing Registry Specification Language (RPSL) routing registry syntax. As of version 2.2.0, IRRd also supports the RPSLng IPv6 and Multicast extensions to RPSL. The IRRd distribution includes all needed IRR support services, including: automated real-time mirroring of other IRR databases, update syntax checking, update security checking, and update notification. The current version of IRRd also supports several RIPEdb whois flags. When used in conjunction with policy tools such as RtConfig, Roe, and Aoe, the IRRd server allows: * Automated generation of router configuration files and access-list. * Internet topology visualization. * Network trouble-shooting and debugging. In addition to user-oriented whois queries, the IRRd Server also provides several query commands for performing RPSL set expansions and AS number to route prefix mappings which are useful for automated tools (such as IRRToolSet). The IRRd distribution also includes the irr_rpsl_submit e-mail/TCP front-end update program which performs RPSL syntax and authentication checking. Operating System: Unix/Linux.

Jaspvi by Milos Prodanovic

J.A.S.P.V.I.(Java Autonomous System Path Visualization Interface) is tool that will help you to see internet Autonomous System connections. It enables you to view current internet (bgp4) connections, browse your neighbour BGP connections, predict 'what if' scenarios, show you multiple networks, and traceroute as-path, for both IPv4 and IPv6. Online Java Tool.

Java Implementation of BGP-4 by B.J. Premore (SSF Research Network)

Provides the core functionality of the Border Gateway Protocol version 4 (BGP-4). This package also contains subpackages which are necessary for the protocol's proper implementation. Written in Java.

Kewlio Looking Glass by Daniel Austin

Looking Glass for Cisco, Juniper & Zebra/Quagga routers with AS-name lookups and community name translations. PHP Script (require MySQL).

LinkRank by UCLA & Colorado State University

LinkRank is a graphical tool for visualizing BGP routing changes. This tool can be used by BGP operators to understand routing dynamics as well as by people who want to learn more about BGP. LinkRank summarizes megabytes of BGP updates received from collection points and produces easy to understand graphs indicating the segments of routes affected. With the LinkRank tool, one can easily see which AS-AS links are important carriers as viewed from different observation points. LinkRank captures routing dynamics in the form of a Rank-Change graph which shows clearly which AS-AS links have lost routes and which ones have gained routes. Written in Java.

Looking Glass (LG) by Cougar

LG is a Looking Glass written in Perl as a CGI script. It can execute almost all BGP-related commands and do ping and traceroute in routers or relay these queries to other looking glasses. It supports both IPv4 and IPv6 commands, and is tested with Cisco, Zebra, and Juniper. It can connect to a router using SSH, telnet or rsh. Written in Perl.

MDFMT - MRT Dump File Manipulation Toolkit by CAIA, Geoff Huston, Grenville Armitage, Mattia Rossi, et al

Collecion of tools written in Python for MRT dump file manipulation. Includes a patchset for dpkt, a Python based packet creation/parsing library, which is needed in all tools. Includes also a tool to replay historic BGP data from MRT files into live BGP sessions. Written in Python.

Modified version of the Digex Looking Glass (perl Source Code) by Alex Bik

This looking glass, written in perl, is a heavily modified version of the original Digex Looking Glass. To see this modified script in action, visit the looking glass pages at Written in Perl.

MRLG - Multi-Router Looking Glass (perl Source Code) by John Fraizer

Source code of the popular MRLG software. Multi-Router Looking Glass allows network administrators to execute commands on multiple routers via a nice web interface. MRLG is modular. Administrators can add or remove commands from the MRLG to fit their individual needs. Written in Perl.

MRLG4PHP - Multi-Router Looking Glass (PHP version) by Denis Ovsienko

Multi-router looking glass for PHP is a full rewrite of the Perl version of MRLG into PHP. It allows network administrators to execute commands on multiple routers via a nice Web interface. It is flexible, clear, and configurable. Default, per-router, and per-service options may be set. The Web-page layout and queries set are adjustable. Written in PHP.

Net::BGP (BGP4 Speaker/Listener Library) by Stephen J. Scheck

This perl module is an implementation of the BGP-4 inter-domain routing protocol. It encapsulates all of the functionality needed to establish and maintain a BGP peering session and exchange routing update information with the peer. It aims to provide a simple API to the BGP protocol for the purposes of automation, logging, monitoring, testing, and similar tasks using the power and flexibility of perl. The module does not implement the functionality of a RIB (Routing Information Base) nor does it modify the kernel routing table of the host system. However, such operations could be implemented using the API provided by the module. Written in Perl.

Net::BGP::Router (BGP Router based on Net::BGP) by Martin Lorensen

This perl module implements a BGP router. It uses Net::BGP objects for the BGP sessions and a Net::BGP::RIB object to store the routes. Policy are handled using a Net::BGP::Policy object. Written in Perl.

NextHop GateD Next Generation Carrier (NGC) by NextHop Technologies, Inc.

NextHop Technologies' GateD family of products is a vendor-neutral, comprehensive control-plane solution which provides complete source-code for layer 3 IP routing protocols, MPLS, virtual routing, and virtual private networking. NextHop's GateD has been ported to many software and hardware environments including Solaris, LynxOS, Nucleus, Linux, HP-UX, Tru64 UNIX and proprietary OSes. NextHop can supply a pre-ported version of GateD NGC for a number of these environments including: NetBSD, Monta Vista Carrier Grade Linux, Red Hat Enterprise Linux, Wind River Systems VxWorks, PNE, Green Hills Integrity, ENEA OS.

OBGP: BGP Data Collection and Organization Tool by Colorado State University

The Organize BGP (O-BGP) project has developed software for downloading data from monitoring points such as RouteViews and RIPE RIS. The software organizes the data into a common format, adds labeling information into the updates, and compares the update logs with the routing table snapshots. Ideally, a routing table built from updates should equal the routing table snapshot from the corresponding time period, but this is often not the case. Written in Perl. Requires bgpdump/libbgpdump.

OpenBGPD by OpenBSD Project

OpenBGPD is a FREE implementation of the Border Gateway Protocol, Version 4. It allows ordinary machines to be used as routers exchanging routes with other systems speaking the BGP protocol. Started out of dissatisfaction with other implementations, OpenBGPD nowadays is a fairly complete BGP implementation, powering many sites. Users often praise its ease of use and high performance, as well as its reliability. OpenBGPD is primarily developed by Henning Brauer and Claudio Jeker as part of the OpenBSD Project. The software is freely useable and re-useable by everyone under a BSD license. Manpages: bgpd(8), bgpd.conf(5), bgpctl(8). Operating System: OpenBSD.

OpenContrail by Juniper Networks

OpenContrail is a network virtualization solution for data-center orchestrators such as OpenStack and CloudStack; It includes a fully functional BGP implementation that implements unicast, l3vpn and EVPN address families. OpenContrail provides interoperability between a server based overlay and physical routers supporting RFC 4364. OpenContrail can forward traffic within and between virtual networks without traversing a gateway. It supports features such as IP address management; policy-based access control; NAT and traffic monitoring. It interoperates directly with any network platform that supports the existing BGP/MPLS L3VPN standard for network virtualization.

PeeringDB by

The purpose of this project is to facilitate the exchange of information related to Peering. Specifically, what networks are peering, where they are peering, and if they are likely to peer with you. It gives details about co-location facilities, Internet Exchanges, and Network Peering (ASNs, public presence, private presence, contacts, etc.) Online service.

PGBGP: Pretty Good BGP by Josh Karlin, Stephanie Forrest, Jennifer Rexford

PGBGP is a distributed security mechanism for BGP that attempts to avoid prefix hijacks, sub-prefix hijacks, and spoofed paths. Each router individually computes its own idea of the origin ASes for each prefix based on the past few days of routing announcements. Routes for prefixes with new origin ASes are labeled as anomalous and are depreferenced for 24 hours, using the more trusted (stable) routes where possible. New links are also considered anomalous, as well as new sub-prefixes. New sub-prefixes are dealt with by choosing paths to the trusted less specific when possible for 24 hours. Opt-in emails are sent to operators to inform them of anomalies, to help them identify and fix the problem (if any) within the 24 hours. Running PGBGP requires roughly ~20MB of extra RAM. Adding additional BGP sessions does not significantly affect PGBGP memory requirements. CPU requirements are minimal. The reference implementation of PGBGP is developed for Quagga.

PHAS: Prefix Hijack Alert System by Network Security Group, Colorado State University

PHAS-web is a web based service providing near real time information about possible prefix hijacks. PHAS-web provides 1) origin, lasthop and suballocation set change alarm query relating to a specific prefix in last 24 hours, 2) historical alarm data from July 28, 2006 and 3) alarm statistics in last 24 hours and daily summaries. Currently, PHAS-web uses BGP data (with 3 hours' delay) from RouteViews Oregon collection point. Online service.

PHP Looking Glass by Gabriella Paolini

Looking Glass for CISCO Routers. PHP Script.

Piranha by Pascal Gloor

Piranha is a BGP daemon. Unlike other known BGP daemons (OpenBSD BGPD, Zebra, Quagga, etc.) it is NOT a router. Piranha is a BGP collector, and does only that. Operating System: FreeBSD, Linux, Darwin, MacOS X. Note: system must be POSIX threads capable, this is mandatory.

Prefix List Sanity Checker by Packet Clearing House (PCH)

An interactive tool to help ISP provisioning techs qualify prefixes that customers want to BGP-advertise. This tool generates properly-formatted Cisco and Juniper prefix-lists and Juniper set-commands, to cut-and-paste into configurations or provisioning systems. Bogons and critical infrastructure like IXP subnets and root/TLD nameservers are flagged, long prefixes are flagged, geographic distribution is graphically mapped, and much more. Login is required. Online tool.

pybgpdump by Jon Oberheide

pybgpdump combines the functionality of libbgpdump and the ease of python to parse BGP messages from MRT dumps. Written in Python.

Quagga Accelerator (QA) by CAIA, Geoff Huston, Grenville Armitage, Mattia Rossi, et al

A tool based on Quagga and Python to replay historic BGP data recorded in MRT files in an accelerated time frame. Written in Python.

Quagga Patch Set by CAIA, Geoff Huston, Grenville Armitage, Mattia Rossi, et al

A set of patches providing an implementation of a per-prefix MRAI timer in Quagga, replacing the per-peer "burst" behavior - and an implementation of the path-exploration damping algorithm (the path damping interval - PDI).

Quagga Routing Software Suite by Quagga Project

Quagga is a routing software suite, providing implementations of OSPFv2, OSPFv3, RIP v1 and v2, RIPv3 and BGPv4 for Unix platforms, particularly FreeBSD and Linux and also NetBSD, to mention a few. Quagga is a fork of GNU Zebra which was developed by Kunihiro Ishiguro. The Quagga tree aims to build a more involved community around Quagga than the current centralised model of GNU Zebra. Operating System: Unix/Linux/BSD.

RADB: Routing Assets Database by Merit Network, Inc.

The RADb is a public registry of routing information for networks in the Internet. Hundreds of organizations that operate networks -- including ISPs, universities, and business enterprises -- publicly publish, or register, their routing policy and route announcements in the RADb to facilitate the operation of the Internet. Organizations throughout the world use the information in the RADb to troubleshoot routing problems, automatically configure backbone routers, generate access lists, and perform network planning. Online, web-based search facility.

RANCID Router Monitoring & Looking Glass by Shrubbery Networks

RANCID monitors a router's (or more generally a device's) configuration, including software and hardware (cards, serial numbers, etc) and uses CVS (Concurrent Version System) or Subversion to maintain history of changes. RANCID also includes looking glass software. It is based on Ed Kern's looking glass which was once used for Digex, for the old-school folks who remember it. Our version has added functions, supports cisco, juniper, and foundry and uses the login scripts that come with rancid; so it can use telnet or ssh to connect to your devices(s). Rancid currently supports Cisco routers, Juniper routers, Catalyst switches, Foundry switches, Redback NASs, ADC EZT3 muxes, MRTd (and thus likely IRRd), Alteon switches, and HP Procurve switches and a host of others. Rancid is known to be used at: AOL, Global Crossing, MFN, NTT America, Certainty Solutions Inc. Operating System: Unix/BSD and Solaris/Linux (with patches).

Rcat: Root Cause Analysis Tool by Anthony Lambert, Mickael Meulle, Marc-Olivier Buob

Rcat analyzes BGP announcements sent by route-views eBGP peers , so as to determine which ASs are the more likely to have originating the inter domain structure changes which have lead to the emission and spread of the BGP announcements collected. Rcat enables you to search for inter domain events with the possibility of setting many options (search period, time zone, impacted ASs, prefixes, inferred originators, size, multiplicity, etc.). For the events it finds, Rcat displays a picture (except for very huge events), details about each impacted prefix p, including the possibility of displaying the paths explored by each source router to reach p during the event. Rcat also enables you to draw many customizable graphs about announcements and events. Online tool.

rcc: Routing Configuration Checker by M.I.T. Laboratory for Computer Science

rcc (formerly known as RoLex, or Routing Lexer) will allow network operators to verify that their networks' router configurations satisfy high-level properties. rcc is still in the development phase, but the developers are actively seeking operator input to help us figure out what types of features, tools, etc., will be most useful to the operator community. Operating System: Unix/Linux.

RIS: Routing Information Service by RIPE NCC

The Routing Information Service (RIS) provides information about BGP routing much like "Looking Glass" services offered elsewhere on the Internet. However, the RIS is much more than a conventional "Looking Glass", because it can provide historical information about Internet routing without being bound to the perspective of a particular autonomous system. The service collects routing information by using Remote Route Collectors at different locations around the world and integrates this information into a comprehensive view. The project has a lot of different tools for querying the RIS Database. Online, web-based search facility.

Route Explorer by Packet Design, Inc.

Packet Design's Route Explorer, an IP routing (Layer 3) visualization, diagnostic and analysis appliance, enables network engineers to easily verify, monitor and optimize network operations, as well as detect, diagnose and resolve IP network problems faster than has been possible till now. Route Explorer works by passively monitoring the routing protocol exchanges (e.g. OSPF, EIGRP, IS-IS, BGP) between all routers on the network, then computing and displaying a routing topology map. This map is updated whenever the routing topology changes, providing the most accurate, real-time view of how the network is directing traffic. Unstable routes and other anomalies - undetectable by SNMP-based management tools because they are not device-specific problems - are immediately visible. Operating System: Dedicated Appliance.

RPSL Analysis Service by Giuseppe Di Battista, Tiziana Refice, Massimo Rimondini

The IRR is a unique and significant source of information to understand the Internet routing. However, since registries are maintained on a voluntary basis, information contained inside them may be inconsistent or outdated. Moreover, routing policies can be expressed in RPSL by using complex constructions, and the level of accuracy of the descriptions may vary. All these factors make the task of automatically extracting useful information from the IRR a difficult one. This service was designed to automatically extract peering information from the IRR. The service generates reports about the contents of the registries and provides a list of peering candidates extracted from RPSL data. Online tool.

S-BGP GateD implementation by BBN Technologies

This proof-of-concept S-BGP implementation is available as a set of diffs to GateD version 4.0.2.

sFlow by InMOn

sFlow is a technology for monitoring traffic in data networks containing switches and routers. In particular, it defines the sampling mechanisms implemented in an sFlow Agent for monitoring traffic, the sFlow MIB for controlling the sFlow Agent, and the format of sample data used by the sFlow Agent when forwarding data to a central data collector. The architecture and sampling techniques used in the sFlow monitoring system are designed to provide continuous site-wide (and network-wide) traffic monitoring for high speed switched and routed networks. sFlow Datagram Version 4 adds support BGP communities. The following BGP related features are supported by sFlow: Source AS, Source Peer AS, Destination AS, Destination Peer AS, Communities, AS Path. See also RFC 3176, which defines the sampling mechanisms implemented in an sFlow Agent for monitoring traffic, the sFlow MIB for controlling the sFlow Agent, and the format of sample data used by the sFlow Agent when forwarding data to a central data collector..

Stripes Looking Glass by Kimmo Suominen

Stripes is a Looking Glass implementation that works with Zebra and Cisco routers. A Looking Glass is a CGI script for viewing results of simple queries executed on remote routers. The queries and routers can be listed in a configuration file. This allows for easy deployment on multiple machines without having to modify the program itself. The configuration file is written in Perl, so it has a lot of power for adapting to its environment. Perl Script

Super Sparrow by Simon Horman

Global Load Balancing Solution for Linux. Super Sparrow enables users to load balance traffic between geographically separated points of presence by finding the site network-wise closest to clients. This is done by accessing BGP routing information, the information that determines the path that traffic will take on the internet. Operating System: Unix/Linux.

TOTEM Project by S. Balon, O. Delcourt, J. Lepropre, G. Monfort, F. Skivee

The objective of the TOTEM project (TOolbox for Traffic Engineering Methods) is to develop a toolbox of algorithms for traffic engineering purposes. The project will generic algorithms for the optimization of networks of big size which will apply, on one hand, to IP networks, and on the other hand, to networks operated with (G)MPLS. Some of these algorithms will require extensions to the routing (OSPF-TE, ISIS-TE, BGP) or signalling (RSVP-TE) protocols which will be submitted to IETF. This toolbox will be available in open source and will be designed such that its elements can easily be integrated in various platforms such as Linux PCs, routers, and open source network simulators like NS and/or J-Sim. TOTEM depends on the following libraries: Brite, catalina-ant, C-BGP, Jakarta Commons Java Collections Framework, Colt, epsgraphics, Javac2, jax-qname, JAXB, JCommmon, JFreeChart, JGraphT, Jung, JUnit, Log4J, relaxngDataType, xsdlib and mt19937ar (used by IGPWO). Written in Java.

traceiface by John Kristoff

traceiface is traceroute with an extension to discovery the router egress hop in the path. Currenly you can find a prototype implementation written in Perl using Net::Traceroute::PurePerl. This module however requires a small patch which must be applied first (as of module version 0.10). Written in Perl.

Vyatta Community Edition by Vyatta Inc.

Vyatta has created an open-source, enterprise-class router / firewall / VPN that runs on x86 hardware. Vyatta products include support for standard routing (BGP, OSPF, RIP) protocols, interfaces from T1/E1 to GigE, plus config via CLI and web GUI. Vyatta software is available as a free Community Edition as well as tiered Software Subscriptions that include maintenance, upgrades and support. Operating System: Linux.

Web-based BGP Tools by

No description available. Online, web-based tools.

Webalizer ASN Patch by Init Seven AG

This is a modification of The Webalizer (a fast, free web server log file analysis program) that supports AS number (Autonomous System Number) lookups to generate additional statistics based on the origin of the hosts that have visited a website. It is useful for high-traffic sites and ISPs when they know from which networks the visitors are coming from. For example they can plan future peerings or other things based on this information. Operating System: Unix.

XORP Open Source IP Router by

XORP is an open router platform being developed at the ICSI Center for Open Networking (ICON) at the International Computer Science Institute in Berkeley, California, USA. XORP primary goal is to be both a research tool and a stable deployment platform that can be used to close the gap between network research and real world. XORP design philosophy is: * modularity. * extensibility. * performance. * robustness. This is achieved by carefully separating functionalities into independent modules, and by providing an API for each module. XORP divides into two subsystems. The higher-level ("user-level") subsystem consists of the routing protocols. The lower-level ("kernel") manages the forwarding path, and provides APIs for the higher-level to access. Operating System: FreeBSD/Linux. Also available as Live CD.

YALG (Yet Another Looking Glass) by Fabien Tassin

YALG is an expandable multiprotocol looking glass supporting multiple vendor hardware. Multiple hosts can be queried at once. YALG is an expandable multiprotocol looking glass supporting multiple vendor hardware. Multiple hosts can be queried at once. Supported protocols are: * IPv4/unicast * IPv4/multicast * IPv6/unicast. Supported vendors are: * Cisco (using rsh commands) * Unix and Unix like * Juniper (not yet available). Commands are parsed before beeing sent to equipment. Results are also parsed and colorized. Perl Script.

ZebOS Advanced Routing Suite (ARS) by IP Infusion Inc.

IP Infusion's ZebOS Advanced Routing Suite is a scalable, robust, and standards-based Layer 2 and Layer 3 carrier-class routing and switching software solution that allows OEMs to rapidly add networking capabilities to their new and existing lines of communication products. Its modular, platform-independent architecture enables OEMs to pick from amongst an impressive array of protocols and solutions to add to their equipment. The ZebOS Advanced Routing Suite (ARS) supports industry standard and best-of-breed operating systems, control, and dataplane processors. Although ARS is a control plane network software solution, it has been architected to take advantage of separate dataplane processors (NPUs and ASICs) to support highly modular and scalable communications equipment. Operating System: independent of hardware platform and OS. OEM/ODM.

Zebra / GNU Zebra by Kunihiro Ishiguro

GNU Zebra is free software that manages TCP/IP based routing protocols. It is released as part of the GNU Project, and it is distributed under the GNU General Public License. It supports BGP-4 protocol as described in RFC-4271 (A Border Gateway Protocol 4) as well as RIPv1, RIPv2 and OSPFv2. Unlike traditional, monolithic architectures and even the so-called "new modular architectures" that remove the burden of processing routing functions from the cpu and utilize special ASIC chips instead, Zebra software offers true modularity. Zebra is unique in its design in that it has a process for each protocol. Operating System: Unix/Linux/BSD/Solaris.


© 2002-2023 BGP4.AS. All rights reserved.
Page last modified on Mon 15 October 2018 00:14:45 CET
Privacy Statement