To effectively engineer the Internet, crucial issues such as the large scale structure of its underlying physical topology, its time evolution and the contribution of its individual components to its overall function need to be well understood.
During the design phase of an Internet-based technology, extensive simulations are usually performed to assess its feasibility, in terms of efficiency and performance. In general, Internet studies and simulations assume certain topological properties or use synthetically generated topologies. If such studies are to give accurate guidance as to Internet-wide behavior of the protocols and algorithms being studied, the chosen topologies must exhibit fundamental properties or invariants empirically found in the actual extant structure of the Internet. Otherwise, correct conclusions cannot be drawn.
Unfortunately, achieving a deep understanding of the topology of the Internet has proven to be a very challenging task since it involves solving difficult problems such as mapping the actual topology, characterizing it, and developing generation models that capture its fundamental properties. In addition, the topology of the Internet is a target that is constantly evolving, and it is controlled by a set of autonomous authorities that are not often willing to exchange low-level connectivity information .
There are several synthetic topology generators available to the networking research community [25,8,5,16,13,1]. Many of them differ significantly with respect to the characteristics of the topologies they generate. A researcher is faced with the question of which topology generator to use for a specific simulation study. The answer may be to use a specific generator, or perhaps to use several topologies generated by different generators. More challenging yet, a completely new generator may be required if the existing generation models do not address specific issues of importance to a particular study. Furthermore, existing topology generators fail to produce complete representations of the Internet since they focus primarily on network connectivity or structural characteristics only, and do not attempt to model other properties of the network such as link bandwidths and delays.
Our objective caters to two groups of researchers. On the one hand, there are researchers investigating Internet protocols and algorithms who need topology generation tools to obtain good synthetic topologies that are the base of their simulations. On the other hand, there are researchers (like us) investigating the challenges associated with generating accurate synthetic topologies. For both groups it would be very useful to have topology generation tools that allow them to easily evaluate the pros and cons of new generation models.
An attractive scenario is to have a topology generation tool that provides a researcher with a wide variety of generation models, as well as the ability to easily extend such a set by combining existing models or adding new ones. In this paper we discuss the design and implementation of BRITE, the Boston university Representative Internet Topology gEnerator, which is a tool designed to realize this scenario.
This paper is organized as follows. In Section 2 we discuss the challenges that must be tackled to generate accurate synthetic topologies, what are the characteristics of an ideal generation tool and the approach taken to achieve these. In Section 3 we describe the general design of BRITE and some implementation details. In Section 4 we describe the graphical user interface (GUI) that can be used as a front-end to BRITE. In Section 5 we provide a walk-through of generating a topology using BRITE. Section 6 explains how to extend BRITE by adding a new generation model. Section 7 briefly describes the BRITE Analysis Engine. Section 8 presents some results obtained using BRITE as the generation tool. Section 9 presents concluding remarks. In the Appendices we describe several technical issues of interest to BRITE users. Appendix A discusses the issue of including heavy-tailed distributions in several aspects of BRITE. Appendix B gives a summary of the parsing support routines provided by BRITE. Finally, Appendix C describes how to download and install BRITE.