SCTP Tunnel
A demonstration of an IPv4 tunnel (over SCTP) between the Node A and Node B subnets.
- GitHub Link: https://github.com/packetcord/packetcord.io/tree/main/apps/l3_sctp_tunnel
- Topology File: topology_examples/l3_tunnel_example.json
Topology diagram
Steps
Build the project (all examples)
cd packetcord.io
mkdir build
cd build
cmake .. --fresh
make
Start the topology
Load the l3_tunnel_example.json project file. On the two TEP nodes (A and B), change the network app field to point to the corresponding SCTP tunnel compiled binaries (TEP A is client and TEP B is server). It is also recommended to modify the MTU sizes from 1420 to 1400 - inside the shell commands field.
Note: Complete example topology file will be added as part of the next release of Network Builder IDE.
Save the project file after the changes. Then Validate, Generate and Launch the topology.
Inside the shell of TEP B
cd /root
./l3_sctp_tunnel_tep_s_app
Inside the shell of TEP A
cd /root
./l3_sctp_tunnel_tep_c_app
Result
Open the shells of Node A and Node B. Try to ping each other (11.11.11.100 and 192.168.111.100).
# ping -c4 192.168.111.100
PING 192.168.111.100 (192.168.111.100): 56 data bytes
64 bytes from 192.168.111.100: seq=0 ttl=64 time=0.149 ms
64 bytes from 192.168.111.100: seq=1 ttl=64 time=0.186 ms
64 bytes from 192.168.111.100: seq=2 ttl=64 time=0.224 ms
64 bytes from 192.168.111.100: seq=3 ttl=64 time=0.234 ms
Let's also run iperf3 between Node A (client) and Node B (server):
Inside the shell of Node B
iperf3 -s
Inside the shell of Node A
iperf3 -c 192.168.111.100
Connecting to host 192.168.111.100, port 5201
[ 5] local 11.11.11.100 port 35546 connected to 192.168.111.100 port 5201
[ ID] Interval Transfer Bitrate Retr Cwnd
[ 5] 0.00-1.00 sec 82.5 MBytes 691 Mbits/sec 46 96.1 KBytes
[ 5] 1.00-2.00 sec 95.9 MBytes 804 Mbits/sec 55 117 KBytes
[ 5] 2.00-3.00 sec 94.6 MBytes 794 Mbits/sec 57 96.1 KBytes
[ 5] 3.00-4.00 sec 94.2 MBytes 791 Mbits/sec 57 117 KBytes
[ 5] 4.00-5.00 sec 94.8 MBytes 795 Mbits/sec 55 121 KBytes
[ 5] 5.00-6.00 sec 95.1 MBytes 798 Mbits/sec 58 94.8 KBytes
[ 5] 6.00-7.00 sec 94.8 MBytes 795 Mbits/sec 54 118 KBytes
[ 5] 7.00-8.00 sec 94.2 MBytes 790 Mbits/sec 52 93.5 KBytes
[ 5] 8.00-9.00 sec 95.0 MBytes 797 Mbits/sec 54 94.8 KBytes
[ 5] 9.00-10.00 sec 94.2 MBytes 790 Mbits/sec 57 118 KBytes
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval Transfer Bitrate Retr
[ 5] 0.00-10.00 sec 935 MBytes 785 Mbits/sec 545 sender
[ 5] 0.00-10.21 sec 935 MBytes 768 Mbits/sec receiver
Terminate
Use the Destroy button to terminate the emulation.