raw

Overview

At a Glance

Purpose:

Stores network topology definition files

Location:

data/raw/

Supported Format:

.txt files only

The raw/ directory contains network topology files that define the physical structure of optical networks used in simulations. Each file describes the nodes and links (with distances) that make up a network.

File Format

Topology files use a simple tab-separated format:

<source_node>        <destination_node>      <length_km>

Where:

  • source_node: The source node identifier (integer or string)

  • destination_node: The destination node identifier

  • length_km: The link length in kilometers

Important

Bi-directional connections: If your network requires bi-directional links, you must explicitly add both directions. For example, a link between nodes 0 and 1 requires two entries:

0 1       1000
1 0       1000

Example

Here is an excerpt from nsf_network.txt (NSFNet topology):

0    1       1000
0    2       1500
0    7       2400
1    0       1000
1    3       700
1    2       600
2    0       1500
2    1       600
2    5       1800

This defines:

  • A 1000 km link from node 0 to node 1 (and back)

  • A 1500 km link from node 0 to node 2 (and back)

  • And so on…

Directory Contents

raw/
├── nsf_network.txt          # NSFNet (14 nodes)
├── us_network.txt           # US Network
├── europe_network.txt       # Pan-European Network
├── USB6014.txt              # US Backbone 60 nodes
├── SPNB3014.txt             # Spain Backbone 30 nodes
├── geant.txt                # GEANT Network
├── toy_network.txt          # Small test network
├── metro_net.txt            # Metro network
├── dt_network.txt           # Deutsche Telekom network
├── USB6014_core_nodes.txt   # Core nodes for USbackbone60
├── SPNB3014_core_nodes.txt  # Core nodes for Spainbackbone30
└── (legacy files)           # .ini and .xlsx files (not used)

Core Node Files

Some networks have associated _core_nodes.txt files that identify which nodes are core (backbone) nodes. These files contain one node identifier per line:

51
46
59
55
...

Legacy Files

The .ini and .xlsx files in this directory are from a legacy version of FUSION and are not used by the current simulation. Only .txt files are supported.

Configuration

To select a network topology, set the network parameter in your configuration file under [topology_settings]:

[topology_settings]
network = NSFNet

Available Network Names

The following network names are supported and map to their respective files:

Config Name

File

Description

NSFNet

nsf_network.txt

NSF Network (14 nodes, 21 links)

USNet

us_network.txt

US Network

Pan-European

europe_network.txt

Pan-European Network

USbackbone60

USB6014.txt

US Backbone (60 nodes)

Spainbackbone30

SPNB3014.txt

Spain Backbone (30 nodes)

geant

geant.txt

GEANT Network

toy_network

toy_network.txt

Small test network

metro_net

metro_net.txt

Metro network

dt_network

dt_network.txt

Deutsche Telekom network

Adding a Custom Network

To add your own network topology:

  1. Create a .txt file in data/raw/ with your topology:

    0 1       500
    1 0       500
    1 2       750
    2 1       750
    0 2       1000
    2 0       1000
    
  2. Add a mapping in fusion/io/structure.py in the network_files dictionary:

    network_files = {
        # ... existing networks ...
        "MyNetwork": "my_network.txt",
    }
    
  3. Use your network in the configuration:

    [topology_settings]
    network = MyNetwork
    
  4. (Optional) If your network has core nodes, create a corresponding my_network_core_nodes.txt file and add the loading logic in fusion/io/structure.py.

Connection to Simulation

Network topologies are loaded by fusion/io/structure.py via the create_network() function. This function:

  1. Maps the config network name to the appropriate file

  2. Reads the topology file and creates a network dictionary

  3. Optionally loads core nodes if available

  4. Returns the network structure for use in the simulation