What is Libra?
Libra is a tool to verify that a snapshot of the network forwarding table state satisfies some basic properties such as connectivity, lack of blackholes, and policies such as isolation (the opposite of reachability). What makes Libra unique is that it is specifically designed with scalability in mind. Using MapReduce, Libra runs on a network with 2.6 million forwarding rules and 11 thousand subnets in less than a minute.
Libra was presented at NSDI 2014. Here is the talk video:
This website has a description of the datasets we used to evaluate Libra and external links to download it. We are releasing ONE of these datasets as it will help the community in two ways:
- Evaluate new graph analysis algorithms on top of the same datasets to facilitate easier and fairer comparison to Libra.
- Use this dataset for testing scalability of other algorithms designed for large networks.
Dataset
There are three datasets:
- DCN: An emulated data center topology.
- DCN-G: A larger emulated data center topology, constructed by replicating DCN 100 times.
- INET: An Internet topology based on Sprint's backbone network from RocketFuel.
The table below shows the sizes of the topology. Section 8.1 in the paper has a more detailed description.
Dataset | Switches | Rules | Subnets |
---|---|---|---|
DCN | 11,260 | 2,657,422 | 11,136 |
DCN-G | 1,126,001 | 265,742,626 | 1,113,600 |
INET | 316 | 151,649,486 | 482,966 |
INET
Download INET RIB CSV here. To generate INET by yourself, visit Libra data repo and follow the instructions.
DCN
Work in progress.
DCN-G
Work in progress.
Format
The RIB CSV file contains the following:
Prefix,LocalRouter,RemoteRouterHere, Prefix is in
IPAddress/PrefixLength
format denoting the
prefix (e.g. 1.0.0.0/8). LocalRouter is a string that is the name of the node
in the topology. RemoteRouter is the next hop router name the packet matching
the routing entry should be forwarded to.
Citation
If you use this dataset in your project, please use this citation. The one on Google Scholar has some errors.
@article{zeng2014libra, title={{Libra: Divide and Conquer to Verify Forwarding Tables in Huge Networks}}, author={Zeng, Hongyi and Zhang, Shidong and Ye, Fei and Jeyakumar, Vimalkumar and Ju, Mickey and Liu, Junda and McKeown, Nick and Vahdat, Amin}, journal={NSDI}, year={2014} }