wiki:Tutorials/Optical/Tutorial1

Site Navigation

  1. COSMOS Testbed Overview
    1. Concepts
    1. Testbed Workflow
    1. Availability and Resource Status
    1. Events and Conferences
  2. Getting Started
    1. Make an Account
    2. Create and Configure SSH Keys
    3. Make a Reservation
    4. Log in to your Reservation
    5. Control Resources with OMF
    6. Run a Hello World Experiment
    7. Get Help and Support
  3. COSMOS/ORBIT User Guide
    1. The COSMOS Portal
    2. Connecting to the Testbed
    3. Running Experiments
    4. Policies and Support
    5. Quick Links
    1. Policies
    1. Account Creation
    1. Camera Streaming
    1. Scheduling and Reservations
    1. Disk Images
    1. Frequently Asked Questions
    1. Resource Control with OMF
  4. COSMOS Portal
    1. Your First Visit
    2. Setting Up Your Account
    3. Reserving Testbed Time
    4. Monitoring Your Experiment
    5. Connecting via SSH
    6. Managing Disk Images
    7. Joining the Community
    8. Browsing Users and Groups
    9. Tips
  5. Account Management
    1. Edit Profile
    2. Change Password
    3. SSH Keys
  6. Portal Dashboard
    1. Profile Card
    2. Usage Statistics
    3. Community Forum
  7. Directory
    1. Users
    2. Groups
    3. Privacy Note
  8. Disk Images
    1. Browsing Images
    2. Image Details
    3. Searching and Sorting
    4. Managing Your Images
    5. Baseline Images
    6. Saving Custom Images
    7. Storage and Retention
  9. Community Forum
    1. Accessing the Forum
    2. Forum Categories
    3. How to Use the Forum
    4. Forum Etiquette
    5. Privacy and Access
  10. Getting Started with the COSMOS Portal
    1. Creating an Account
    2. Logging In
    3. What to Do After Logging In
  11. SSH Access to Testbed Nodes
    1. Access Model
    2. Console Servers
    3. Basic Connection
    4. SSH Config File
    5. SSH Tunneling
    6. File Transfer
    7. Troubleshooting
  12. Scheduler
    1. Calendar View
    2. Reservation Colors
    3. Creating a Reservation
    4. Competing for a Slot
    5. Modifying or Canceling Reservations
    6. My Reservations
    7. Resource Information
  13. Testbed Status
    1. Node Status Grid
    2. RF Matrix Control (SB4)
    3. Understanding Node States During Experiments
    1. Remote Access
    1. Chrome Remote Desktop Setup Page
  14. Installing Chrome Remote Desktop (CRD) on a Custom Image
    1. Measurement & Result Collection
    1. Storage
    1. Support
    1. Contributing to the Wiki
  15. Tutorials
    1. SDR and Wireless
    2. Wireless Digital Twins
    3. Optical Networking
    4. Wired Networking
    5. Edge Computing
    6. 4G/5G Systems
    7. Orchestration Platforms
  16. Architecture
    1. Data Flow
    1. Deployment Map
    1. Domains
    1. Naming Convention
    1. Networks
    1. Optical
  17. Resources, Services and APIs
    1. RF Control
    2. SDR Control
    3. Compute Control
    4. Network Control
    5. Optical Control
  18. Datasets
  19. Hardware Info
    1. Cameras
    1. Compute
    1. FR3 SDRs
    1. Network
    1. Nodes
    1. Optical
    1. RF Subsystems
    1. Antennas
    1. Full-Duplex Radio
    1. RF Front End
    1. Software Defined Radios (SDR)
  20. RF Policies & Compliance
    1. Outdoor Radio Frequency Allocation
    2. Program Experiment License
    3. Spectrum Monitoring
    4. Emergency Stop Procedures
    5. Network and Platform Security

Setting an Optical Network on COSMOS Test-bed

This wiki page contains the tutorial of setting up an optical network on the COSMOS Test-bed.

Authors:

Artur Minakhmetov, Telecom Paris : artur.minakhmetov[at]telecom-paris.fr
Craig Gutterman, Columbia University : clg2168[at]columbia.edu
Michael Sherman, Rutgers University : msherman[at]winlab.rutgers.edu
Jiakai Yu, University of Arizona : jiakaiyu[at]email.arizona.edu
Tingjun Chen, Columbia University: tc2668[at]columbia.edu

Change Log

16 October: corrected "tengigabitethernet 1/33/1" to "tengigabitethernet 1/33"

7 October: 2019 (Updated Optical Topology)


Description

Cosmos test-bed provides a possibility to create and use optical networks of various topologies. An example of how an optical network could be configured and used is provided. A simple experiment on switching of optical paths is described.


Compute Nodes and ToR switch interfaces used

  • Each compute node has 2 ethernet interfaces:
    eo1 from data1 pool
    eo2 form data2 pool
    
  • Interfaces from srv1..4.lg1 — data1 pool of interfaces
    twentyFiveGigE 1/1/1      
    twentyFiveGigE 1/1/2
    twentyFiveGigE 1/1/3
    twentyFiveGigE 1/1/4
    
  • Interfaces from srv1..4.lg1 — data2 pool of interfaces
    twentyFiveGigE 1/2/1
    twentyFiveGigE 1/2/2
    twentyFiveGigE 1/2/3
    twentyFiveGigE 1/2/4
    
  • Interfaces from srv1..2.co1 — data1 pool of interfaces
    twentyFiveGigE 1/11/3
    twentyFiveGigE 1/11/4
    
  • Interfaces from srv1..2.co1 — data2 pool of interfaces
    twentyFiveGigE 1/12/3
    twentyFiveGigE 1/12/4
    

Experiment_1 Context

Fig.1 Logical Topology of Experiment_1

Experiment consists in changing the light path from ToR1←→ToR2 to ToR1←→ToR3, representing changing of the light path in C-RAN when “Client” wants to move its base-band processing from “Edge Cloud” to “Central Cloud”.

Experiment includes 3 servers:

srv1-lg1.bed.cosmos-lab.org
srv2-lg1.bed.cosmos-lab.org
srv3-lg1.bed.cosmos-lab.org

Experiment includes 4 ROADMs:

roadm1-co1.cosmos-lab.org (10.104.1.1)
roadm2-co1.cosmos-lab.org (10.104.1.2)
roadm3-co1.cosmos-lab.org (10.104.1.3)
roadm4-co1.cosmos-lab.org (10.104.1.4)

3 interfaces are connected to these servers from data1 pool of ToR interfaces:

twentyFiveGigE 1/1/1 <--> srv1-lg1.bed.cosmos-lab.org
twentyFiveGigE 1/1/2 <--> srv2-lg1.bed.cosmos-lab.org
twentyFiveGigE 1/1/3<--> srv3-lg1.bed.cosmos-lab.org

3 interfaces and 3 transceivers are associated with them in vlans:

vlan 121: twentyFiveGigE 1/1/1 ; tengigabitethernet 1/32/1;
vlan 122: twentyFiveGigE 1/1/2;  tengigabitethernet 1/29/1;
vlan 123: twentyFiveGigE 1/1/2;  tengigabitethernet 1/31/1;

We are assigning next wavelengths to tengigabitethernet:

1553,30 nm 193,00 with bandwidth ~[192.95;193.05] Thz

Setting Up Optical Topology

Setting up an optical topology consists in connecting ROADMs accordingly to the needs of experiment. ROADMs need to be connected correctly to each other and to ToR switch. All interconnections are realized by Calient S320 Switch.

Fig.2 Physical Optical Interconnections.

Calient Switch S320 has ports physically connected to ROADMs, ToR, Prof. Zussman’s lab and 3 loopback connections. All ports are designated in the Fig.2 Physical Optical Interconnections.

In order to support the Experiment_1 logical connections and to realize emulate real distance between Edge Cloud an Central Cloud, one could choose to pass the optical signal through the loop of 22 km passing by 32 Avenue of the Americas, NYC; and organize Client port Connections as Next:

IDPorts ConnectionDevices ConnectionComment
11.1.1-1.4.1ROADM1.port_1 to ROADM2.port_1Forming pass through connection between ROADM1 and ROADM2
21.1.2-5.7.1ROADM1.port_2 to ToR.port_29Connecting transceiver on ToR on port 29 to ROADM1 add/drop port 2
31.4.8-5.8.1ROADM2.line to 32AoA.P1_P2Connecting line port or ROADM2 to port P1_P2 of a 22 km fiber loop going through 32 AoA.
41.7.2-5.7.3ROADM3.port_2 to ToR.port_31Connecting transceiver on ToR on port 31 to ROADM3 add/drop port 2
51.7.4-5.5.1ROADM3.port_4 to Loopback.port_1Connecting ROADM3 add/drop port 4 to a loop-back connection. Is needed to provide “Snake” connection (cf. Setting “Snake” Connection)
62.2.8-1.1.8ROADM4.line to ROADM1.lineConnecting line ports of ROADM1 and ROADM4
75.7.4-2.2.2ROADM4.port_2 to ToR.port_32Connecting transceiver on ToR on port 32 to ROADM4 add/drop port 2.
85.7.5-2.2.4ROADM4.port_4 to ToR.port_33Connecting transceiver on ToR on port 33 to ROADM4 add/drop port 4. Is needed to provide “Snake” connection (cf. Setting “Snake” Connection)
95.8.2-1.7.8ROADM3.port_2 to 32AoA.P3_P4Connection line port or ROADM3 to port P3_P4 of a 22 km fiber loop going through 32 AoA.

Table 1. Calient S320 Connections Table.


ROADMs Configuration

All of these configurations can be performed by Python scripts developed to work with the COSMOS test-bed. The Python commands send NETCONF commands to the ROADM.

Setting “Snake” Connection

Correct ROADM operation requires Line In port of a ROADM to always receive a light. That is why there is a dedicated transceiver (tengigabitethernet 1/33 on ToR) that sends light through all ROADMs by passing through loop-back connection on Calient S320 (port 5.5.1) and redirecting back, so the light is received on the same transceiver. This kind of connection is called “Snake”.

In order maintain this “Snake” for “Experiment_1” next connections form Table 1 must be in place: 1,3,5,6,8,9.

tengigabitethernet 1/33/1 on ToR configuration

Snake Interface (to passe through all ROADMs in loop): 60 (DWDM Channel C60) 1529,55 nm 196,00 Thz with frequency range [195.95,196.05] Thz

MUX/DEMUX configuration

  • ROADM 4:

DEMUX IN/OUT port: 5101/5204 MUX IN/OUT port: 4104/4201

  • ROADM 1:

DEMUX IN/OUT port: 5101/5201 MUX IN/OUT port: 4101/4201

  • ROADM 2:

DEMUX IN/OUT port: 5101/5201 MUX IN/OUT port: 4101/4201

  • ROADM 3:

DEMUX IN/OUT port: 5101/5204 MUX IN/OUT port: 4104/4201

ALS Disable Sequence (for 60 seconds)

  1. ROADM 4 booster,
  2. ROADM 2 booster,
  3. ROADM 3 booster,
  4. ROADM 1 booster,

Setting “Experiment_1” Connections

Configuring ToR1↔ToR2 Connection 1

  • ROADM 4:
  1. Enable MUX port 4102 “From ToR 1”
  2. Add Connection “Exp1-FromTor1” with Input/ Output Port 4102/4201 with bandwidth [192.95;193.05] (python add_connection.py 10.104.1.4 1 10 in-service false 4102 4201 192950 193050 5 Exp1-FromTor1)
  3. Enable DEMUX port 5202 “Towards ToR 1”
  4. Add Connection “Exp1-TorwardTor1” with I/O Port 5101/5202 (python add_connection.py 10.104.1.4 2 10 in-service false 5101 5202 192950 193050 5 Exp1-TorwardTor1)
  • ROADM 1:
  1. Enable MUX port 4102 “From ToR 2”
  2. Add Connection “From ToR 2” with I/O Port 4102/4201 with bandwidth [192.95;193.05]
  3. Enable DEMUX port 5202 “Towards ToR 2”
  4. Add Connection “Towards ToR 2” with I/O Port 5101/5202

Configuting ToR1↔ToR3 Connection 2

  • ROADM 4 (Same As For Connection 1):
  1. Enable MUX port 4102 “From ToR 1”
  2. Add Connection “From ToR 1” with I/O Port 4102/4201 with bandwidth [192.95;193.05]
  3. Enable DEMUX port 5202 “Towards ToR 1”
  4. Add Connection “Towards ToR 1” with I/O Port 5101/5202 with bandwidth [192.95;193.05]
  • ROADM 1 <Not Same!>:
  1. Enable MUX port 4101 “Through Port” (enabled for Snake)
  2. Add Connection “Through In” with I/O Port 4101/4201 with bandwidth [192.95;193.05]
  3. Enable DEMUX port 5201 “Through Port” (enabled for Snake)
  4. Add Connection “Through Out” with I/O Port 5101/5201 with bandwidth [192.95;193.05]
  • ROADM 2 (Same As For ROADM1):
  1. Enable MUX port 4101 “Through Port” (enabled for Snake)
  2. Add Connection “Through In” with I/O Port 4101/4201 with bandwidth [192.95;193.05]
  3. Enable DEMUX port 5201 “Through Port” (enabled for Snake)
  4. Add Connection “Through Out” with I/O Port 5101/5201 with bandwidth [192.95;193.05]
  • ROADM 3 (Same As For ROADM4):
  1. Enable MUX port 4102 “From ToR 3”
  2. Add Connection “From ToR 3” with I/O Port 4102/4201 with bandwidth [192.95;193.05]
  3. Enable DEMUX port 5202 “Towards ToR 3”
  4. Add Connection “Towards ToR 3” with I/O Port 5101/5202 with bandwidth [192.95;193.05]

Network Interfaces Configuration for Experiment_1

Setting Up ToR switch with 3 logical ToR switches

  1. Preparing the interfaces to be set as VLAN switch ports:
sw-tor-lg1#configure
sw-tor-lg1(conf)#interface twentyFiveGigE 1/1/1
sw-tor-lg1(conf-if-tf-1/1/1)#switchport
sw-tor-lg1(conf-if-tf-1/1/1)#no shutdown
sw-tor-lg1(conf-if-tf-1/1/1)#exit
sw-tor-lg1(conf)#interface twentyFiveGigE 1/1/2
sw-tor-lg1(conf-if-tf-1/1/2)#switchport
sw-tor-lg1(conf-if-tf-1/1/2)#no shutdown
sw-tor-lg1(conf-if-tf-1/1/2)#exit
sw-tor-lg1(conf)#interface twentyFiveGigE 1/1/3
sw-tor-lg1(conf-if-tf-1/1/3)#switchport
sw-tor-lg1(conf-if-tf-1/1/3)#no shutdown
sw-tor-lg1(conf-if-tf-1/1/3)#exit
sw-tor-lg1(conf)#interface tengigabitethernet 1/31/1
sw-tor-lg1(conf-if-te-1/31/1)#switchport
sw-tor-lg1(conf-if-te-1/31/1)#no shutdown
sw-tor-lg1(conf-if-te-1/31/1)#exit
sw-tor-lg1(conf)#interface tengigabitethernet 1/29/1
sw-tor-lg1(conf-if-te-1/29/1)#switchport
sw-tor-lg1(conf-if-te-1/29/1)#no shutdown
sw-tor-lg1(conf-if-te-1/29/1)#exit
sw-tor-lg1(conf)#interface tengigabitethernet 1/32/1
sw-tor-lg1(conf-if-te-1/32/1)#switchport
sw-tor-lg1(conf-if-te-1/32/1)#no shutdown
sw-tor-lg1(conf-if-te-1/32/1)#exit
  1. Assigning interfaces to VLANs
sw-tor-lg1#configure
sw-tor-lg1(conf)#interface vlan 121
sw-tor-lg1(conf-if-vl-121)#untagged twentyFiveGigE 1/1/1
sw-tor-lg1(conf-if-vl-121)#untagged tengigabitethernet 1/32/1
sw-tor-lg1(conf-if-vl-121)#exit
sw-tor-lg1(conf)#interface vlan 122
sw-tor-lg1(conf-if-vl-122)#untagged twentyFiveGigE 1/1/2
sw-tor-lg1(conf-if-vl-122)#untagged tengigabitethernet 1/29/1
sw-tor-lg1(conf-if-vl-122)#exit
sw-tor-lg1(conf)#interface vlan 123
sw-tor-lg1(conf-if-vl-123)#untagged twentyFiveGigE 1/1/3
sw-tor-lg1(conf-if-vl-123)#untagged tengigabitethernet 1/31/1
sw-tor-lg1(conf-if-vl-123)#exit
sw-tor-lg1(conf)#exit
  1. Assigning a wavelength to transceivers:
sw-tor-lg1#configure
sw-tor-lg1(conf)#interface tengigabitethernet 1/32/1
sw-tor-lg1(conf-if-te-1/32/1)#wavelength 1553.3
sw-tor-lg1(conf-if-te-1/32/1)#exit
sw-tor-lg1(conf)#interface tengigabitethernet 1/29/1
sw-tor-lg1(conf-if-te-1/29/1)#wavelength 1553.3
sw-tor-lg1(conf-if-te-1/29/1)#exit
sw-tor-lg1(conf)#interface tengigabitethernet 1/32/1
sw-tor-lg1(conf-if-te-1/32/1)#wavelength 1553.3
sw-tor-lg1(conf-if-te-1/32/1)#exit
sw-tor-lg1(conf)#exit
  1. Verify VLANs:
sw-tor-lg1#show vlan

Codes: * - Default VLAN, G - GVRP VLANs, R - Remote Port Mirroring VLANs, P - Primary, C - Community, I - Isolated
       O - Openflow, Vx - Vxlan
Q: U - Untagged, T - Tagged
   x - Dot1x untagged, X - Dot1x tagged
   o - OpenFlow untagged, O - OpenFlow tagged
   G - GVRP tagged, M - Vlan-stack
   i - Internal untagged, I - Internal tagged, v - VLT untagged, V - VLT tagged

    NUM    Status    Description                     Q Ports
    121    Active                                    U Te 1/32/1
                                                     U Tf 1/1/1
    122    Active                                    U Te 1/29/1
                                                     U Tf 1/1/2
    123    Active                                    U Te 1/31/1
                                                     U Tf 1/1/3

Configuring Compute Nodes (Servers srv1..3-lg1)

  1. Install net-tools:

After loading baseline image

sudo apt-get update

Then you can install packages

sudo apt install net-tools
  1. Configure interfaces eo1 and assign IP addresses:
native@srv1-lg1:~$ sudo ifconfig eno1 192.168.1.1 netmask 255.255.255.0
native@srv2-lg1:~$ sudo ifconfig eno1 192.168.1.2 netmask 255.255.255.0
native@srv3-lg1:~$ sudo ifconfig eno1 192.168.1.3 netmask 255.255.255.0

Perform Experiment_1

  1. Establish Connection ToR1↔ToR2.
  2. Try Ping from Srv1 to Srv2:
native@srv1-lg1:~$ ping 192.168.1.3
PING 192.168.1.3 (192.168.1.3) 56(84) bytes of data.
64 bytes from 192.168.1.3: icmp_seq=1 ttl=64 time=0.460 ms
64 bytes from 192.168.1.3: icmp_seq=2 ttl=64 time=0.423 ms
  1. Establish Connection ToR1↔ToR2.
  2. Try Ping from Srv1 to Srv3.
Last modified 9 months ago Last modified on Jul 18, 2025, 11:06:55 PM

Attachments (5)

Download all attachments as: .zip

Note: See TracWiki for help on using the wiki.