The bwtester application¶
The bandwidth testing application
bwtester enables a variety of bandwidth tests on the SCION network. Installation and usage are described below. Documentation of the code and protocol are described in the bwtester README.
To install bwtestclient and get dependencies as listed in vendor file:
go get github.com/netsec-ethz/scion-apps/bwtester/bwtestclient cd $GOPATH/src/github.com/netsec-ethz/scion-apps/ govendor sync
For govendor, see note .
If you are running SCION in a VM this app is already installed.
Sample servers are installed at the following locations:
And at the attachment points:
You can test the application as follows, replacing the client address with your own address after the
-c option (you can select any available port number for the client):
bwtestclient -s 17-ffaa:0:1102,[220.127.116.11]:30100 -c 17-ffaa:1:6,[10.0.2.15]:30102
The application supports specification of the test duration (up to 10 seconds), the packet size to be used (at least 4 bytes), the total number of packets that will be sent, and the target bandwidth. For instance,
5,100,10,1600bps specifies that 10 packets of size 100 bytes will be sent over 5 seconds, resulting in a bandwidth of 1600bps. The question mark
? character can be used as wildcard for any of these parameters. Its value is then computed according to the other parameters. The parameters for the test in the client-to-server direction are specified with
-cs, and the server-to-client direction with
-sc. So for instance to send 1 Mbps for 10 seconds from the client to the server, and 10 Mbps from the server to the client, you can use this command:
bwtestclient -s 17-ffaa:0:1102,[18.104.22.168]:30100 -c 17-ffaa:1:6,[10.0.2.15]:30102 -cs 10,1000,1250,1Mbps -sc 10,1000,12500,10Mbps
For more information run the application without arguments to print its usage.
To install bwtestserver and get dependencies as listed in vendor file:
go get github.com/netsec-ethz/scion-apps/bwtester/bwtestserver cd $GOPATH/src/github.com/netsec-ethz/scion-apps/ govendor sync
For govendor, see note .
The server is started as follows, where the address needs to be adjusted as for other applications:
bwtestserver -s 17-ffaa:0:1102,[22.214.171.124]:30100 &
 govendor: govendor is already installed by the main SCION installation with the supported version. If you don't have govendor installed, you can do so using the following steps:
mkdir $GOPATH/kardianos; cd $GOPATH/kardianos/ git clone https://github.com/kardianos/govendor.git cd ./govendor/ git fetch; git checkout fbbc78e8d1b533dfcf81c2a4be2cec2617a926f7 go install -v