View | Details | Raw Unified | Return to bug 938
Collapse All | Expand All

(-)a/src/topology-read/doc/topology.h (-18 / +1 lines)
 Lines 16-38    Link Here 
16
 * - ns3::InetTopologyReader for Inet 3.0 traces (http://topology.eecs.umich.edu/inet/)
16
 * - ns3::InetTopologyReader for Inet 3.0 traces (http://topology.eecs.umich.edu/inet/)
17
 * - ns3::RocketfuelTopologyReader for Rocketfuel traces (http://www.cs.washington.edu/research/networking/rocketfuel/)
17
 * - ns3::RocketfuelTopologyReader for Rocketfuel traces (http://www.cs.washington.edu/research/networking/rocketfuel/)
18
 *
18
 *
19
 * An helper ns3::TopologyReaderHelper is provided to assist on trivial tasks.
19
 * See the ns-3 manual for further informations.
20
 *
21
 * A good source for topology data is also Archipelago (http://www.caida.org/projects/ark/)
22
 *
23
 * The current Archipelago Measurements, monthly updated, are stored here:
24
 * http://data.caida.org/datasets/topology/ipv4.allpref24-aslinks/
25
 * (complete notation and triple data source, one for each working group)
26
 *
27
 * A different and more compact notation that signs only the AS-relationships is here:
28
 * http://www.caida.org/data/active/as-relationships/index.xml
29
 * (a sort of more Orbis-like format)
30
 *
31
 * The compact notation can be easily stripped down to a pure Orbis format, just removing
32
 * the double relationships (the compact format use one-way links, while Orbis use two-way
33
 * links) and pruning the 3rd parameter. Note that with the compact data Orbis can then be
34
 * used create a rescaled version of the topology, thus being the most effective way
35
 * (to my best knowledge) to make an internet-like topology.
36
 *
37
 * Examples can be found in the directory src/topology-read/examples/
20
 * Examples can be found in the directory src/topology-read/examples/
38
 */
21
 */
(-)a/src/topology-read/doc/topology.rst (+39 lines)
Line 0    Link Here 
1
.. include:: replace.txt
2
3
Topology Input Readers
4
----------------------
5
6
 The topology modules aim at reading a topology file generated by an automatic topology generator.
7
 
8
 The process is divided in two steps:
9
 - running a topology generator to build a topology file
10
 - reading the topology file and build a ns-3 simulation
11
 
12
 Hence, model is focused on being able to read correctly the various topology formats.
13
 
14
 Currently there are three models:
15
* ``ns3::OrbisTopologyReader`` for Orbis 0.7 traces (http://sysnet.ucsd.edu/~pmahadevan/topo_research/topo.html)
16
* ``ns3::InetTopologyReader`` for Inet 3.0 traces (http://topology.eecs.umich.edu/inet/)
17
* ``ns3::RocketfuelTopologyReader`` for Rocketfuel traces (http://www.cs.washington.edu/research/networking/rocketfuel/)
18
 
19
An helper ``ns3::TopologyReaderHelper`` is provided to assist on trivial tasks.
20
 
21
A good source for topology data is also Archipelago (http://www.caida.org/projects/ark/)
22
23
The current Archipelago Measurements, monthly updated, are stored here:
24
http://data.caida.org/datasets/topology/ipv4.allpref24-aslinks/
25
(complete notation and triple data source, one for each working group)
26
27
A different and more compact notation that signs only the AS-relationships is here:
28
http://www.caida.org/data/active/as-relationships/index.xml
29
(a sort of more Orbis-like format)
30
31
The compact notation can be easily stripped down to a pure Orbis format, just removing
32
the double relationships (the compact format use one-way links, while Orbis use two-way
33
links) and pruning the 3rd parameter. Note that with the compact data Orbis can then be
34
used create a rescaled version of the topology, thus being the most effective way
35
(to my best knowledge) to make an internet-like topology.
36
37
Examples can be found in the directory ``src/topology-read/examples/``
38
39
(-)a/src/topology-read/helper/topology-reader-helper.h (+2 lines)
 Lines 28-33    Link Here 
28
namespace ns3 {
28
namespace ns3 {
29
29
30
/**
30
/**
31
 * \ingroup topology
32
 *
31
 * \brief Helper class which makes it easier to configure and use a generic TopologyReader.
33
 * \brief Helper class which makes it easier to configure and use a generic TopologyReader.
32
 */
34
 */
33
class TopologyReaderHelper
35
class TopologyReaderHelper
(-)a/src/topology-read/model/inet-topology-reader.h (-1 / +2 lines)
 Lines 23-29    Link Here 
23
#define INET_TOPOLOGY_READER_H
23
#define INET_TOPOLOGY_READER_H
24
24
25
#include "ns3/nstime.h"
25
#include "ns3/nstime.h"
26
27
#include "topology-reader.h"
26
#include "topology-reader.h"
28
27
29
namespace ns3 {
28
namespace ns3 {
 Lines 32-37    Link Here 
32
// ------------------------------------------------------------
31
// ------------------------------------------------------------
33
// --------------------------------------------
32
// --------------------------------------------
34
/**
33
/**
34
 * \ingroup topology
35
 *
35
 * \brief Topology file reader (Inet-format type).
36
 * \brief Topology file reader (Inet-format type).
36
 *
37
 *
37
 * This class takes an input file in Inet format and extracts all
38
 * This class takes an input file in Inet format and extracts all
(-)a/src/topology-read/model/orbis-topology-reader.h (-1 / +2 lines)
 Lines 23-29    Link Here 
23
#define ORBIS_TOPOLOGY_READER_H
23
#define ORBIS_TOPOLOGY_READER_H
24
24
25
#include "ns3/nstime.h"
25
#include "ns3/nstime.h"
26
27
#include "topology-reader.h"
26
#include "topology-reader.h"
28
27
29
namespace ns3 {
28
namespace ns3 {
 Lines 32-37    Link Here 
32
// ------------------------------------------------------------
31
// ------------------------------------------------------------
33
// --------------------------------------------
32
// --------------------------------------------
34
/**
33
/**
34
 * \ingroup topology
35
 *
35
 * \brief Topology file reader (Orbis-format type).
36
 * \brief Topology file reader (Orbis-format type).
36
 *
37
 *
37
 * This class takes an input file in Orbis format and extracts all
38
 * This class takes an input file in Orbis format and extracts all
(-)a/src/topology-read/model/rocketfuel-topology-reader.h (-1 / +2 lines)
 Lines 22-28    Link Here 
22
#define ROCKETFUEL_TOPOLOGY_READER_H
22
#define ROCKETFUEL_TOPOLOGY_READER_H
23
23
24
#include "ns3/nstime.h"
24
#include "ns3/nstime.h"
25
26
#include "topology-reader.h"
25
#include "topology-reader.h"
27
26
28
namespace ns3 {
27
namespace ns3 {
 Lines 31-36    Link Here 
31
// ------------------------------------------------------------
30
// ------------------------------------------------------------
32
// --------------------------------------------
31
// --------------------------------------------
33
/**
32
/**
33
 * \ingroup topology
34
 *
34
 * \brief Topology file reader (Rocketfuel-format type).
35
 * \brief Topology file reader (Rocketfuel-format type).
35
 *
36
 *
36
 * http://www.cs.washington.edu/research/networking/rocketfuel/
37
 * http://www.cs.washington.edu/research/networking/rocketfuel/
(-)a/src/topology-read/model/topology-reader.h (+12 lines)
 Lines 33-38    Link Here 
33
namespace ns3 {
33
namespace ns3 {
34
34
35
/**
35
/**
36
 * \ingroup topology
37
 *
36
 * \brief Interface for input file readers management.
38
 * \brief Interface for input file readers management.
37
 *
39
 *
38
 * This interface perform the shared tasks among all possible input file readers.
40
 * This interface perform the shared tasks among all possible input file readers.
 Lines 52-59    Link Here 
52
  class Link
54
  class Link
53
  {
55
  {
54
public:
56
public:
57
  /**
58
   * \brief Constant iterator to scan the map of link attributes.
59
   */
55
    typedef std::map<std::string, std::string >::const_iterator ConstAttributesIterator;
60
    typedef std::map<std::string, std::string >::const_iterator ConstAttributesIterator;
56
61
62
    /**
63
     * \brief Constructor
64
     * \param fromPtr Ptr to the node the link is orginating from
65
     * \param fromName name of the node the link is orginating from
66
     * \param toPtr Ptr to the node the link is directed to
67
     * \param toName name of the node the link is directed to
68
     */
57
    Link ( Ptr<Node> fromPtr, std::string fromName, Ptr<Node> toPtr, std::string toName );
69
    Link ( Ptr<Node> fromPtr, std::string fromName, Ptr<Node> toPtr, std::string toName );
58
70
59
    /**
71
    /**

Return to bug 938