bandwidth test controller (bwctl) speaker: shin-fu huang date: 2009/10/08 1

23
Bandwidth Test Controller (BWCTL) Speaker: Shin-Fu Huang Date: 2009/10/08 1

Upload: shon-reeves

Post on 21-Jan-2016

221 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Bandwidth Test Controller (BWCTL) Speaker: Shin-Fu Huang Date: 2009/10/08 1

Bandwidth Test Controller (BWCTL)

Speaker: Shin-Fu HuangDate: 2009/10/08

1

Page 2: Bandwidth Test Controller (BWCTL) Speaker: Shin-Fu Huang Date: 2009/10/08 1

Outline

• Architecture of BWCTL

• Building BWCTL

• Applications of BWCTL– BWCTLD(bwctld.conf, bwctld.limits,

bwctld.keys)

– BWCTL

• Reference

2

Page 3: Bandwidth Test Controller (BWCTL) Speaker: Shin-Fu Huang Date: 2009/10/08 1

Architecture of BWCTL

Source : http://www.internet2.edu/pubs/bwctl-cookbook.pdf3

Page 4: Bandwidth Test Controller (BWCTL) Speaker: Shin-Fu Huang Date: 2009/10/08 1

Architecture of BWCTL(Cont.)

Source : http://www.internet2.edu/pubs/bwctl-cookbook.pdf4

Page 5: Bandwidth Test Controller (BWCTL) Speaker: Shin-Fu Huang Date: 2009/10/08 1

Building the Application

• tar –zxvf bwctl-1.3.tar.gz • cd bwctl-1.3• ./configure --prefix=/ami– --prefix is only needed if you don't like the default– (/usr/local on most systems)

• make• make install

5

Page 6: Bandwidth Test Controller (BWCTL) Speaker: Shin-Fu Huang Date: 2009/10/08 1

Applications of BWCTL

• bwctl (Client)• bwctld (Deamon)

6

Page 7: Bandwidth Test Controller (BWCTL) Speaker: Shin-Fu Huang Date: 2009/10/08 1

BWCTLD

• bwctld.conf– Configuration file for the bwcltd daemon

• bwctld.limits– Authentication(who)– Authorization(what)

• bwctld.keys– Be used to hold the identity/AES keys pairs

needed for bwctld to authenticate users

7

Page 8: Bandwidth Test Controller (BWCTL) Speaker: Shin-Fu Huang Date: 2009/10/08 1

bwctld.conf

• var_dir– Directory where bwctld.pid file is stored

• user – Specifies the uid the bwctld process will run as

• group – Specifies the gid the bwctld process will run as

8

Page 9: Bandwidth Test Controller (BWCTL) Speaker: Shin-Fu Huang Date: 2009/10/08 1

bwctld.limits

• allow_open_mode (on)– This limit is only useful if the class is assigned to a

netmask. It is used to limit specific IP/netmask identities to only encrypted or authenticated mode transactions or to allow open mode.

• allow_tcp (on)– Allow TCP Iperf tests for userclass.

• allow_udp (off)– Allow UDP Iperf tests for userclass.– Security issue(UDP no congestion control)

9

Page 10: Bandwidth Test Controller (BWCTL) Speaker: Shin-Fu Huang Date: 2009/10/08 1

bwctld.limits(Cont.)

• bandwidth– Maximum amount of bandwidth to allow

userclass to use in a UDP Iperf test. 0 indicates unlimited by policy, but remember this is checked all the way to the root of the hierarchy.

– If you want an unlimited userclass, your root must be unlimited, and the whole path down to the given userclass.

10

Page 11: Bandwidth Test Controller (BWCTL) Speaker: Shin-Fu Huang Date: 2009/10/08 1

bwctld.limits(Cont.)

• Hierarchical Limitclasses

rootallow_udp=on

ncnuallow_udp=off

jail regular local

11

Page 12: Bandwidth Test Controller (BWCTL) Speaker: Shin-Fu Huang Date: 2009/10/08 1

bwctld.limits(Cont.)

• root:– limit root with \

bandwidth=900m, \ allow_udp=on, \ allow_tcp=on, \ allow_open_mode=off

12

Page 13: Bandwidth Test Controller (BWCTL) Speaker: Shin-Fu Huang Date: 2009/10/08 1

bwctld.limits(Cont.)

• default: – limit regular with parent=root, \

duration=30, \ allow_tcp=on, \ allow_udp=off, \ allow_open_mode=on

13

Page 14: Bandwidth Test Controller (BWCTL) Speaker: Shin-Fu Huang Date: 2009/10/08 1

bwctld.limits(Cont.)

• ncnu:– limit ncnu with parent=root, \

allow_open_mode=on, \ allow_udp=off, \ allow_tcp=on

14

Page 15: Bandwidth Test Controller (BWCTL) Speaker: Shin-Fu Huang Date: 2009/10/08 1

bwctld.limits(Cont.)

• Assign– assign default regular– net subnet• assign net 10.10.0.0/16 ncnu• assign net 2001:e10:6840::/48 ncnu• assign net 2001:288:c001::/48 ncnu

– user user• Assign a specific user to a given userclass. The user

must be defined in the bwctld.keys file. • assign user xinfu root

15

Page 16: Bandwidth Test Controller (BWCTL) Speaker: Shin-Fu Huang Date: 2009/10/08 1

bwctld.keys

• Username and AES Key Rules: – Usernames are limited to 16 characters – AES key is a 128 bit session key – AES key is not encrypted in the keys file, use UNIX

permissions to protect it – Can use a pass phrase to generate the AES key – Use aespasswd to add pass phrase generated

keys into the keys file – Client: application prompts user for pass phrase

16

Page 17: Bandwidth Test Controller (BWCTL) Speaker: Shin-Fu Huang Date: 2009/10/08 1

bwctld.keys(Cont.)

• aespasswd– To create a new key file use the ‘-n’ option • aespasswd -n -f bwctld.keys xinfu

– Add User• aespasswd -f bwctld.keys ccc

– Delete User• aespasswd -d -f bwctld.keys ccc

17

Page 18: Bandwidth Test Controller (BWCTL) Speaker: Shin-Fu Huang Date: 2009/10/08 1

BWCTL(Cont.)

• SYNOPSIS– bwctl [options] -c recvhost -s sendhost• From sendhost to recvhost

– bwctl [options] -c recvhost• Send to recvhost

– bwctl [options] -s sendhost• Receive from sendhost

18

Page 19: Bandwidth Test Controller (BWCTL) Speaker: Shin-Fu Huang Date: 2009/10/08 1

BWCTL(Cont.)

• Testing Authentication Options – Within a single authentication domain• bwctl -A AE AESKEY myname -s hostA -c hostB

– Between different authentication domains • bwctl -s hostA AE AESKEY myname -c hostB AE AESKEY

othername

19

Page 20: Bandwidth Test Controller (BWCTL) Speaker: Shin-Fu Huang Date: 2009/10/08 1

BWCTL(Cont.)

• OPTIONS• -u– UDP test.

• -T tool (iperf)– Specify which throughput tester to use: iperf,

thrulay, nuttcp

• -b bandwidth (1Mb)– Limit UDP send rate to bandwidth (bits/sec).

20

Page 21: Bandwidth Test Controller (BWCTL) Speaker: Shin-Fu Huang Date: 2009/10/08 1

BWCTL(Cont.)

• -l len– length of read/write buffers (bytes).

• -P nStreams (1)– Number of concurrent streams for the test.

• -t time (10)– Duration of test (seconds).

21

Page 22: Bandwidth Test Controller (BWCTL) Speaker: Shin-Fu Huang Date: 2009/10/08 1

BWCTL(Cont.)

• Output Arguments• -f units– Specify the units for the tool to use when

displaying the results.– Iperf: • k (Kilobits per second) • K (Kilobytes per second) • m (Megabits per second) • M (Megabytes per second)

22

Page 23: Bandwidth Test Controller (BWCTL) Speaker: Shin-Fu Huang Date: 2009/10/08 1

Reference

• Bandwidth Test Controller (BWCTL)– http://www.internet2.edu/performance/bwctl/

23