Upload
iris-lane
View
240
Download
4
Tags:
Embed Size (px)
Citation preview
2007/01/03 1
Bandwidth Test Controller
Speaker : Po-Chou Chen
Cheng-Lin Tsai
Advisor : Quincy Wu
Date : 2008/01/03
2007/01/03 2
Outline
Introduction Bwctl install Iperf Client & Daemon Demo Reference
2007/01/03 3
Introduction
Bandwidth Test Controller (BWCTL) BWCTL was developed for use with E2E piPEs (En
d-to-End Performance Initiative Performance Environment System) and Abilene Measurement Infrastructure
Motivation Iperf is one of the tools for throughput tests The major objective for the BWCTL was to create
a resource allocation and scheduling daemon
2007/01/03 4
Introduction (Cont.)
Benefits Run Iperf tool on two endpoints and hosts on inter
mediate paths before the development of BWCTL
It allows authorized testers to request and run tests without hands on support from NOC staff
2007/01/03 5
Introduction (Cont.)
BWCTL wraps Iperf by actually executing the Iperf command line program on the system
BWCTL will work as a 3-party application. The client can arrange a test between two servers on two different systems
2007/01/03 6
Bwctl install
Iperf version 2.0 NTP (ntpd) synchronized clock on the local system NTP system calls % tar –zxvf bwctl-$VERS.tar.gz % cd bwctl-$VERS% ./configure --prefix=/ami
# --prefix is only needed if you don't like the default# (/usr/local on most systems)
% make% make install
2007/01/03 7
Bwctl install(Cont.)
TCP/8423 Control communication – client to server
TCP/ephemeral Control communication – server to server: Specific range s
ettable using peer ports in bwctld.conf TCP/5001
Iperf testing port – Settable to a range using test ports in bwctld.conf
UDP/5001 Iperf testing port – Settable to a range using test ports in b
wctld.conf)
2007/01/03 8
Iperf Iperf is a tool to measure maximum TCP bandwidth, allowing the
tuning of various parameters and UDP characteristics. Iperf reports bandwidth, delay jitter, datagram loss.
Server side: $ iperf -s $ iperf -s -D (run the server as a daemon) $ iperf -s -R (remove the iperf service)
Client side:$ iperf -c remohost
2007/01/03 9
Iperf (cont.) Client and Server Options
-f [k|m|K|M ]:A letter specifying the format to print bandwidth numbers in.
'b' = bits/sec 'B' = Bytes/sec 'k' = Kbits/sec 'K' = KBytes/sec 'm' = Mbits/sec 'M' = MBytes/sec 'g' = Gbits/sec 'G' = GBytes/sec -i : Sets the interval time in seconds between periodic band
width -u: Use UDP rather than TCP -w: For TCP, this sets the TCP window size. For UDP, it is j
ust the buffer which datagrams are received in
2007/01/03 10
Iperf (cont.) Client Options
-t : The time in seconds to transmit for (Default is 10 seconds )
-b: The UDP bandwidth to send at, in bits/sec. (Default is 1 Mbit/sec.)
-n: Sends an array of len bytes num times Bind to an IPv6 address
Server side: $ iperf -s -V
Client side:
$ iperf -c <Server IPv6 Address> -V
2007/01/03 11
bwctl (client) & bwctld (daemon) BWCTL contains two application
bwctl (client) bwctld (daemon)
bwctl bwctl makes requests to both endpoints of a test If no server is available on the localhost, the client
handles the test endpoint.
2007/01/03 12
bwctld (Daemon)
bwctld bwctld is a traditional accept/fork style daemon
The bwctld on each test host: Accepts request “Iperf” tests including time slot and pa
rameters for test Responds with a tentative reservation or a denied mes
sage Brokers resources Runs tests Returns results to both sides of the test
2007/01/03 13
Control Flow for BWCTL Architecture (General Case)
2007/01/03 14
Local bwctld not available
2007/01/03 15
Bwctld.conf var_dir vardir
Directory path where the bwctld.pid file will be placed. user user
Specifies the uid the bwctld process should run as. user can be specified using a valid user name on the system or by using -uid. This option is only used if bwctld is started as root. If the given user has root permissions, the root_folly option must also be specified.
group group Specifies the gid the bwctld process should run as. group c
an be specified using a valid group name on the system or by using -gid. This option is only used if bwctld is started as root.
2007/01/03 16
Bwctld.limits
Hierarchical Limitclasses
2007/01/03 17
Bwctld.limits (Cont.)
Available per limitclass Root: Complete set of resources available Hostile: No tests allowed NOC: Inherit Root limits Peer: Limit UDP to 500m
Could make children limitclasses for each individual peer if lower limits should be applied to some
Normal: UDP not needed for most end users Open: No tests allowed
Peerbandwidth=500m
OpenAllowTCP=False
NormalAllowUDP=False
NOC HostileAllowTCP=FalseAllowUDP=False
RootAllowTCP=TrueAllowUDP=Truebandwidth=900m
2007/01/03 18
Bwctld.limits (Cont.)
IP/netmask Assign net ::1/127 ami assign net 10.10.0.0/16 ami assign net 127.0.0.1/32 ami
Username and AES key assign user mac ami
2007/01/03 19
Bwctld.keys
/ami/bin/aespasswd Used to create and manage an AES keyfile.
SYNOPSIS aespasswd [-n] [-d] -f keyfile identity
OPTIONS -n Create the keyfile -d Delete given identity from keyfile -f keyfile
Specifies file that holds identity/key pairs
2007/01/03 20
Running Bandwidth Test Controller
Testing the bwctl Client /ami/bin/bwctl –c <IP>
create a test toward <IP> /ami/bin/bwctl –s <IP>
create a test from <IP> /ami/bin/bwctl -A AE aeskey mac –c <IP> -s <IP>
Testing the bwctld with debug mode /ami/bin/bwctld -Z
2007/01/03 21
Reference
Internet2
http://e2epi.internet2.edu/bwctl/
Iperf
http://dast.nlanr.net/Projects/Iperf/