User Tools

Site Tools


Sidebar

openbach:exploitation:reference_scenarios:network:configure_link:index

Configure Link

This page provides instructions to exploit network_configure_link scenario written using scenario_builder. This scenario relies on the OpenBACH jobs tc_configure_link which uses Linux Traffic Control (tc) with Network Emulation (netem) to emulate a network link or simulate networking conditions like WIFI, 4G. Many link characteristiscs can be emulated including:

  • bandwidh
  • losses
  • delay
  • jitter.

How to launch it ?

The scenario is available in network_configure_link. It uses helpers (see API scenario manual for more information on helpers) of previously cited jobs.

You must already have a project (i.e. “your_project”), one entity in the project (i.e. “your_entity”), with the following jobs installed on this entity: configure_link.

The executors script executor_network_configure_link will allow to launch it as follows.

python3 executor_network_configure_link.py your_project --entity your_entity --ifaces comma_separed_net_interfaces --mode targeted_direction --operation apply --bandwidth bw_value --lm loss_model --lmp loss_model_parameters --dd delay_distribution --delay delay --jitter inter_packet_delay run

Alternatively, it can create a JSON file that could be imported to the OpenBACH web interface:

python3 executor_network_configure_link.py your_project --entity your_entity ---ifaces comma_separed_net_interfaces --mode targeted_direction --operation apply --bandwidth bw_value --lm loss_model --lmp loss_model_parameters --dd delay_distribution --delay delay --jitter inter_packet_delay build .

You can make a parameter as an argument of generated scenario, just by specifying its value starting with '$'.

This script includes a manual page listing all of the command-line options. Issue following commands for more information about paramaters

python3 executor_network_configure_link.py -h

Use cases

This scenario can be used as module (or building block) to build more complex scenarios. Here is a scenario allowing to launch service_data_transfer under various network conditions (in terms of delay/bandwidth/losses).

The following examples can be used as reference network conditions :

WLAN :

  • Bandwidth : 20-30 Mbps
  • Delay : 20-35 ms
  • Loss model : random
  • Loss value : 1-2 %

3G :

  • Bandwidth : 3-5 Mbps
  • Delay : 65-75 ms
  • Loss model : random
  • Loss value : 0 %

Satellite Broadband (ent-to-end) :

  • Bandwidth : 10 Mbps
  • Delay : 250 ms
  • Loss model : gemodel (Gilbert-Ellot channel model)
  • Loss value : 1.7% 93.5% 6.5% 98.3%

The path characteristics are taken from the following sources :

  1. Yedugundla, Venkata & Ferlin, Simone & Dreibholz, Thomas & Alay, Ozgu & Kuhn, Nicolas & Hurtig, Per & Brunstrom, Anna. (2016). Is Multi-Path Transport Suitable for Latency Sensitive Traffic?. COMNET. 105. 10.1016/j.comnet.2016.05.008.
  2. Nicolas Kuhn, François Michel, Ludovic Thomas, Emmanuel Dubois, Emmanuel Lochin. QUIC: Opportunities and threats in SATCOM

Limitations

The generation of data and the exploitation of the configure link scenario on the same host can result in non-expected behaviour. It is recommended to isolate the hosts that generate data and the host that emulate bandwidth or latency limitations.

openbach/exploitation/reference_scenarios/network/configure_link/index.txt · Last modified: 2020/11/18 14:52 by dpradas