Changes between Initial Version and Version 1 of Workshops/Sig Comm2022/Optical Tutorial


Ignore:
Timestamp:
Aug 1, 2022, 6:56:44 PM (2 years ago)
Author:
tingjunchen
Comment:

Legend:

Unmodified
Added
Removed
Modified
  • Workshops/Sig Comm2022/Optical Tutorial

    v1 v1  
     1[[Include(WikiToC)]]
     2
     3== Setting an Optical Network on COSMOS Test-bed ==
     4This wiki page contains the tutorial of setting up an optical network on the COSMOS Test-bed.
     5
     6Authors:
     7
     8Zehao Wang, Duke University <zehao.w[at]duke.edu> \\
     9Tingjun Chen, Duke University <tingjun.chen[at]duke.edu>
     10
     11----
     12= Description =
     13Cosmos 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.
     14
     15----
     16
     17= Compute Nodes and ToR switch interfaces used =
     18
     19* For sw-da-co1:
     20{{{
     21Eth 1/1/1:1 srv1-co1 data1
     22Eth 1/1/66  tunable 10g dwdm
     23}}}
     24
     25* Interfaces from srv1..4.lg1 -- data1 pool of interfaces
     26{{{
     27twentyFiveGigE 1/1/1     
     28twentyFiveGigE 1/1/2
     29twentyFiveGigE 1/1/3
     30twentyFiveGigE 1/1/4
     31}}}
     32
     33* Interfaces from srv1..4.lg1 -- data2 pool of interfaces
     34{{{
     35twentyFiveGigE 1/2/1
     36twentyFiveGigE 1/2/2
     37twentyFiveGigE 1/2/3
     38twentyFiveGigE 1/2/4
     39}}}
     40
     41* Interfaces from srv1..2.co1 -- data1 pool of interfaces
     42{{{
     43twentyFiveGigE 1/11/3
     44twentyFiveGigE 1/11/4
     45}}}
     46
     47* Interfaces from srv1..2.co1 -- data2 pool of interfaces
     48{{{
     49twentyFiveGigE 1/12/3
     50twentyFiveGigE 1/12/4
     51}}}
     52
     53----
     54
     55= Experiment_1 Context =
     56 || [[Image(Experiment_1.png, width=500px)]] ||
     57Fig.1 Logical Topology of Experiment_1
     58
     59Experiment 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”.
     60
     61Experiment includes 3 servers:
     62{{{
     63srv1-lg1.bed.cosmos-lab.org
     64srv2-lg1.bed.cosmos-lab.org
     65srv3-lg1.bed.cosmos-lab.org
     66}}}
     67
     68Experiment includes 4 ROADMs:
     69{{{
     70roadm1-co1.cosmos-lab.org (10.104.1.1)
     71roadm2-co1.cosmos-lab.org (10.104.1.2)
     72roadm3-co1.cosmos-lab.org (10.104.1.3)
     73roadm4-co1.cosmos-lab.org (10.104.1.4)
     74}}}
     75
     76
     773 interfaces are connected to these servers from data1 pool of ToR interfaces:
     78
     79{{{
     80twentyFiveGigE 1/1/1 <--> srv1-lg1.bed.cosmos-lab.org
     81twentyFiveGigE 1/1/2 <--> srv2-lg1.bed.cosmos-lab.org
     82twentyFiveGigE 1/1/3<--> srv3-lg1.bed.cosmos-lab.org
     83}}}
     84
     85
     863 interfaces and 3 transceivers are associated with them in vlans:
     87
     88{{{
     89vlan 121: twentyFiveGigE 1/1/1 ; tengigabitethernet 1/32/1;
     90vlan 122: twentyFiveGigE 1/1/2;  tengigabitethernet 1/29/1;
     91vlan 123: twentyFiveGigE 1/1/2;  tengigabitethernet 1/31/1;
     92}}}
     93
     94
     95We are assigning next wavelengths to tengigabitethernet:
     96
     97{{{
     981553,30 nm 193,00 with bandwidth ~[192.95;193.05] Thz
     99}}}
     100
     101
     102----
     103= Setting Up Optical Topology =
     104Setting 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.
     105
     106[[Include(Architecture/optical#prog_topo)]]
     107
     108Fig.2 Physical Optical Interconnections.
     109
     110Calient 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.
     111
     112In 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:
     113
     114||ID||||Ports Connection||||Devices Connection||||Comment||
     115||1||||1.1.1-1.4.1||||ROADM1.port_1 to ROADM2.port_1||||Forming pass through connection between ROADM1 and ROADM2||
     116||2||||1.1.2-5.7.1||||ROADM1.port_2 to ToR.port_29||||Connecting transceiver on ToR on port 29 to ROADM1 add/drop port 2||
     117||3||||1.4.8-5.8.1||||ROADM2.line to 32AoA.P1_P2||||Connecting line port or ROADM2 to port P1_P2 of a 22 km fiber loop going through 32 AoA.||
     118||4||||1.7.2-5.7.3||||ROADM3.port_2 to ToR.port_31||||Connecting transceiver on ToR on port 31 to ROADM3 add/drop port 2||
     119||5||||1.7.4-5.5.1||||ROADM3.port_4 to Loopback.port_1||||Connecting ROADM3 add/drop port 4 to a loop-back connection. Is needed to provide “Snake” connection (cf. Setting “Snake” Connection)||
     120||6||||2.2.8-1.1.8||||ROADM4.line to ROADM1.line||||Connecting line ports of ROADM1 and ROADM4||
     121||7||||5.7.4-2.2.2||||ROADM4.port_2 to ToR.port_32||||Connecting transceiver on ToR on port 32 to ROADM4 add/drop port 2.||
     122||8||||5.7.5-2.2.4||||ROADM4.port_4 to ToR.port_33||||Connecting transceiver on ToR on port 33 to ROADM4 add/drop port 4. Is needed to provide “Snake” connection (cf. Setting “Snake” Connection)||
     123||9||||5.8.2-1.7.8||||ROADM3.port_2 to 32AoA.P3_P4||||Connection line port or ROADM3 to port P3_P4 of a 22 km fiber loop going through 32 AoA.||
     124Table 1. Calient S320 Connections Table.
     125
     126
     127----
     128= ROADMs Configuration =
     129All 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.
     130
     131== Setting “Snake” Connection ==
     132Correct 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.
     133This kind of connection is called “Snake”.
     134
     135In order maintain this “Snake” for “Experiment_1” next connections form Table 1 must be in place: 1,3,5,6,8,9.
     136
     137=== tengigabitethernet 1/33/1 on ToR configuration ===
     138
     139Snake 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
     140
     141=== MUX/DEMUX configuration ===
     142
     143* ROADM 4:
     144        DEMUX IN/OUT port: 5101/5204
     145        MUX IN/OUT port: 4104/4201
     146* ROADM 1:
     147        DEMUX IN/OUT port: 5101/5201
     148        MUX IN/OUT port: 4101/4201
     149* ROADM 2:
     150        DEMUX IN/OUT port: 5101/5201
     151        MUX IN/OUT port: 4101/4201
     152* ROADM 3:
     153        DEMUX IN/OUT port: 5101/5204
     154        MUX IN/OUT port: 4104/4201
     155
     156=== ALS Disable Sequence (for 60 seconds) ===
     157
     1581. ROADM 4 booster,
     1592. ROADM 2 booster,
     1603. ROADM 3 booster,
     1614. ROADM 1 booster,
     162
     163== Setting “Experiment_1” Connections ==
     164
     165=== Configuring ToR1<->ToR2 Connection 1 ===
     166
     167* ROADM 4:
     1681. Enable MUX port 4102 “From ToR 1”
     1692. 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)
     1703. Enable DEMUX port 5202 “Towards ToR 1”
     1714. 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)
     172* ROADM 1:
     1735. Enable MUX port 4102 “From ToR 2”
     1746. Add Connection “From ToR 2” with I/O Port 4102/4201 with bandwidth [192.95;193.05]
     1757. Enable DEMUX port 5202 “Towards ToR 2”
     1768. Add Connection “Towards ToR 2” with I/O Port 5101/5202
     177
     178=== Configuting ToR1<->ToR3 Connection 2 ===
     179
     180* ROADM 4 (Same As For Connection 1):
     1811. Enable MUX port 4102 “From ToR 1”
     1822. Add Connection “From ToR 1” with I/O Port 4102/4201 with bandwidth [192.95;193.05]
     1833. Enable DEMUX port 5202 “Towards ToR 1”
     1844. Add Connection “Towards ToR 1” with I/O Port 5101/5202 with bandwidth [192.95;193.05]
     185* ROADM 1 <Not Same!>:
     1865. Enable MUX port 4101 “Through Port” (enabled for Snake)
     1876. Add Connection “Through In” with I/O Port 4101/4201 with bandwidth [192.95;193.05]
     1887. Enable DEMUX port 5201 “Through Port” (enabled for Snake)
     1898. Add Connection “Through Out” with I/O Port 5101/5201 with bandwidth [192.95;193.05]
     190* ROADM 2 (Same As For ROADM1):
     1919. Enable MUX port 4101 “Through Port” (enabled for Snake)
     19210. Add Connection “Through In” with I/O Port 4101/4201 with bandwidth [192.95;193.05]
     19311. Enable DEMUX port 5201 “Through Port” (enabled for Snake)
     19412. Add Connection “Through Out” with I/O Port 5101/5201 with bandwidth [192.95;193.05]
     195* ROADM 3 (Same As For ROADM4):
     19613. Enable MUX port 4102 “From ToR 3”
     19714. Add Connection “From ToR 3” with I/O Port 4102/4201 with bandwidth [192.95;193.05]
     19815. Enable DEMUX port 5202 “Towards ToR 3”
     19916. Add Connection “Towards ToR 3” with I/O Port 5101/5202 with bandwidth [192.95;193.05]
     200
     201----
     202
     203= Network Interfaces Configuration for Experiment_1 =
     204== Setting Up ToR switch with 3 logical ToR switches ==
     2051. Preparing the interfaces to be set as VLAN switch ports:
     206
     207{{{
     208sw-tor-lg1#configure
     209sw-tor-lg1(conf)#interface twentyFiveGigE 1/1/1
     210sw-tor-lg1(conf-if-tf-1/1/1)#switchport
     211sw-tor-lg1(conf-if-tf-1/1/1)#no shutdown
     212sw-tor-lg1(conf-if-tf-1/1/1)#exit
     213sw-tor-lg1(conf)#interface twentyFiveGigE 1/1/2
     214sw-tor-lg1(conf-if-tf-1/1/2)#switchport
     215sw-tor-lg1(conf-if-tf-1/1/2)#no shutdown
     216sw-tor-lg1(conf-if-tf-1/1/2)#exit
     217sw-tor-lg1(conf)#interface twentyFiveGigE 1/1/3
     218sw-tor-lg1(conf-if-tf-1/1/3)#switchport
     219sw-tor-lg1(conf-if-tf-1/1/3)#no shutdown
     220sw-tor-lg1(conf-if-tf-1/1/3)#exit
     221sw-tor-lg1(conf)#interface tengigabitethernet 1/31/1
     222sw-tor-lg1(conf-if-te-1/31/1)#switchport
     223sw-tor-lg1(conf-if-te-1/31/1)#no shutdown
     224sw-tor-lg1(conf-if-te-1/31/1)#exit
     225sw-tor-lg1(conf)#interface tengigabitethernet 1/29/1
     226sw-tor-lg1(conf-if-te-1/29/1)#switchport
     227sw-tor-lg1(conf-if-te-1/29/1)#no shutdown
     228sw-tor-lg1(conf-if-te-1/29/1)#exit
     229sw-tor-lg1(conf)#interface tengigabitethernet 1/32/1
     230sw-tor-lg1(conf-if-te-1/32/1)#switchport
     231sw-tor-lg1(conf-if-te-1/32/1)#no shutdown
     232sw-tor-lg1(conf-if-te-1/32/1)#exit
     233}}}
     234
     2352. Assigning interfaces to VLANs
     236
     237{{{
     238sw-tor-lg1#configure
     239sw-tor-lg1(conf)#interface vlan 121
     240sw-tor-lg1(conf-if-vl-121)#untagged twentyFiveGigE 1/1/1
     241sw-tor-lg1(conf-if-vl-121)#untagged tengigabitethernet 1/32/1
     242sw-tor-lg1(conf-if-vl-121)#exit
     243sw-tor-lg1(conf)#interface vlan 122
     244sw-tor-lg1(conf-if-vl-122)#untagged twentyFiveGigE 1/1/2
     245sw-tor-lg1(conf-if-vl-122)#untagged tengigabitethernet 1/29/1
     246sw-tor-lg1(conf-if-vl-122)#exit
     247sw-tor-lg1(conf)#interface vlan 123
     248sw-tor-lg1(conf-if-vl-123)#untagged twentyFiveGigE 1/1/3
     249sw-tor-lg1(conf-if-vl-123)#untagged tengigabitethernet 1/31/1
     250sw-tor-lg1(conf-if-vl-123)#exit
     251sw-tor-lg1(conf)#exit
     252}}}
     253
     2543. Assigning a wavelength to transceivers:
     255
     256{{{
     257sw-tor-lg1#configure
     258sw-tor-lg1(conf)#interface tengigabitethernet 1/32/1
     259sw-tor-lg1(conf-if-te-1/32/1)#wavelength 1553.3
     260sw-tor-lg1(conf-if-te-1/32/1)#exit
     261sw-tor-lg1(conf)#interface tengigabitethernet 1/29/1
     262sw-tor-lg1(conf-if-te-1/29/1)#wavelength 1553.3
     263sw-tor-lg1(conf-if-te-1/29/1)#exit
     264sw-tor-lg1(conf)#interface tengigabitethernet 1/32/1
     265sw-tor-lg1(conf-if-te-1/32/1)#wavelength 1553.3
     266sw-tor-lg1(conf-if-te-1/32/1)#exit
     267sw-tor-lg1(conf)#exit
     268}}}
     269
     2704. Verify VLANs:
     271
     272{{{
     273sw-tor-lg1#show vlan
     274
     275Codes: * - Default VLAN, G - GVRP VLANs, R - Remote Port Mirroring VLANs, P - Primary, C - Community, I - Isolated
     276       O - Openflow, Vx - Vxlan
     277Q: U - Untagged, T - Tagged
     278   x - Dot1x untagged, X - Dot1x tagged
     279   o - OpenFlow untagged, O - OpenFlow tagged
     280   G - GVRP tagged, M - Vlan-stack
     281   i - Internal untagged, I - Internal tagged, v - VLT untagged, V - VLT tagged
     282
     283    NUM    Status    Description                     Q Ports
     284    121    Active                                    U Te 1/32/1
     285                                                     U Tf 1/1/1
     286    122    Active                                    U Te 1/29/1
     287                                                     U Tf 1/1/2
     288    123    Active                                    U Te 1/31/1
     289                                                     U Tf 1/1/3
     290
     291}}}
     292
     293== Configuring Compute Nodes (Servers srv1..3-lg1) ==
     294
     2951. Install net-tools:
     296
     297{{{#!shell-session
     298sudo apt install net-tools
     299}}}
     300
     3012. Configure interfaces eo1 and assign IP addresses:
     302
     303{{{#!shell-session
     304native@srv1-lg1:~$ sudo ifconfig eno1 192.168.1.1 netmask 255.255.255.0
     305native@srv2-lg1:~$ sudo ifconfig eno1 192.168.1.2 netmask 255.255.255.0
     306native@srv3-lg1:~$ sudo ifconfig eno1 192.168.1.3 netmask 255.255.255.0
     307}}}
     308
     309
     310----
     311= Perform Experiment_1 =
     312
     3131. Establish Connection ToR1<->ToR2.
     3142. Try Ping from Srv1 to Srv2:
     315
     316{{{#!shell-session
     317native@srv1-lg1:~$ ping 192.168.1.3
     318PING 192.168.1.3 (192.168.1.3) 56(84) bytes of data.
     31964 bytes from 192.168.1.3: icmp_seq=1 ttl=64 time=0.460 ms
     32064 bytes from 192.168.1.3: icmp_seq=2 ttl=64 time=0.423 ms
     321}}}
     322
     3233. Establish Connection ToR1<->ToR2.
     3244. Try Ping from Srv1 to Srv3.
     325