21
2007/01/03 1 Bandwidth Test Controller Speaker Po-Chou Chen Cheng-Lin Tsai Advisor Quincy Wu Date 2008/01/03

2007/01/031 Bandwidth Test Controller Speaker : Po-Chou Chen Cheng-Lin Tsai Advisor : Quincy Wu Date : 2008/01/03

Embed Size (px)

Citation preview

Page 1: 2007/01/031 Bandwidth Test Controller Speaker : Po-Chou Chen Cheng-Lin Tsai Advisor : Quincy Wu Date : 2008/01/03

2007/01/03 1

Bandwidth Test Controller

Speaker : Po-Chou Chen

Cheng-Lin Tsai

Advisor : Quincy Wu

Date : 2008/01/03

Page 2: 2007/01/031 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

Page 3: 2007/01/031 Bandwidth Test Controller Speaker : Po-Chou Chen Cheng-Lin Tsai Advisor : Quincy Wu Date : 2008/01/03

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

Page 4: 2007/01/031 Bandwidth Test Controller Speaker : Po-Chou Chen Cheng-Lin Tsai Advisor : Quincy Wu Date : 2008/01/03

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

Page 5: 2007/01/031 Bandwidth Test Controller Speaker : Po-Chou Chen Cheng-Lin Tsai Advisor : Quincy Wu Date : 2008/01/03

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

Page 6: 2007/01/031 Bandwidth Test Controller Speaker : Po-Chou Chen Cheng-Lin Tsai Advisor : Quincy Wu Date : 2008/01/03

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

Page 7: 2007/01/031 Bandwidth Test Controller Speaker : Po-Chou Chen Cheng-Lin Tsai Advisor : Quincy Wu Date : 2008/01/03

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)

Page 8: 2007/01/031 Bandwidth Test Controller Speaker : Po-Chou Chen Cheng-Lin Tsai Advisor : Quincy Wu Date : 2008/01/03

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

Page 9: 2007/01/031 Bandwidth Test Controller Speaker : Po-Chou Chen Cheng-Lin Tsai Advisor : Quincy Wu Date : 2008/01/03

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

Page 10: 2007/01/031 Bandwidth Test Controller Speaker : Po-Chou Chen Cheng-Lin Tsai Advisor : Quincy Wu Date : 2008/01/03

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  

Page 11: 2007/01/031 Bandwidth Test Controller Speaker : Po-Chou Chen Cheng-Lin Tsai Advisor : Quincy Wu Date : 2008/01/03

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.

Page 12: 2007/01/031 Bandwidth Test Controller Speaker : Po-Chou Chen Cheng-Lin Tsai Advisor : Quincy Wu Date : 2008/01/03

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

Page 13: 2007/01/031 Bandwidth Test Controller Speaker : Po-Chou Chen Cheng-Lin Tsai Advisor : Quincy Wu Date : 2008/01/03

2007/01/03 13

Control Flow for BWCTL Architecture (General Case)

Page 14: 2007/01/031 Bandwidth Test Controller Speaker : Po-Chou Chen Cheng-Lin Tsai Advisor : Quincy Wu Date : 2008/01/03

2007/01/03 14

Local bwctld not available

Page 15: 2007/01/031 Bandwidth Test Controller Speaker : Po-Chou Chen Cheng-Lin Tsai Advisor : Quincy Wu Date : 2008/01/03

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.

Page 16: 2007/01/031 Bandwidth Test Controller Speaker : Po-Chou Chen Cheng-Lin Tsai Advisor : Quincy Wu Date : 2008/01/03

2007/01/03 16

Bwctld.limits

Hierarchical Limitclasses

Page 17: 2007/01/031 Bandwidth Test Controller Speaker : Po-Chou Chen Cheng-Lin Tsai Advisor : Quincy Wu Date : 2008/01/03

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

Page 18: 2007/01/031 Bandwidth Test Controller Speaker : Po-Chou Chen Cheng-Lin Tsai Advisor : Quincy Wu Date : 2008/01/03

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

Page 19: 2007/01/031 Bandwidth Test Controller Speaker : Po-Chou Chen Cheng-Lin Tsai Advisor : Quincy Wu Date : 2008/01/03

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

Page 20: 2007/01/031 Bandwidth Test Controller Speaker : Po-Chou Chen Cheng-Lin Tsai Advisor : Quincy Wu Date : 2008/01/03

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

Page 21: 2007/01/031 Bandwidth Test Controller Speaker : Po-Chou Chen Cheng-Lin Tsai Advisor : Quincy Wu Date : 2008/01/03

2007/01/03 21

Reference

Internet2

http://e2epi.internet2.edu/bwctl/

Iperf

http://dast.nlanr.net/Projects/Iperf/