[an error occurred while processing this directive]
BWCTL: Scheduling Tests Without Conflict
| The decentralized design of the Internet hampers the provision of services that are coordinated across operating domains, such as end-to-end path analysis. Users attempting to run bandwidth tests could not be certain they were scheduling tests when other tests were not running (to avoid skewed results) and found it difficult to get permission to run tests to certain locations (due to security restrictions at those sites). Internet2’s piPEs, for which BWCTL was created, gives the average user a tool to locate problems and identify the administrative domain responsible for its solution. A battery of regularly scheduled active tests provides data on loss, jitter, throughput, and one- way latency. If the necessary data is not included in the database, a test can be scheduled on demand. For the initial implementation of piPEs, a full mesh of regularly scheduled tests on the 11-node Abilene backbone was planned; the designers realized that piPEs must have a method to control when both regularly scheduled tests were performed and allow on-demand tests users need (without allowing those tests to interfere with the regular testing). These are requirements beyond the scope for which Iperf was designed. BWCTL was born of that need; it is a command line client application and a scheduling and policy daemon that wraps Iperf. BWCTL actually executes the Iperf command line program (although that may be changed in the future). The client application works by contacting a daemon process on both the remote system and on the local system to request that they perform a specific Iperf test between them. The daemon process manages and schedules the resources of the host on which it runs. Note : The client can arrange for a test between two servers that are not even on the same host as the client (as in Figure 1)! |
![]() |
![]() Figure 1: BWCTL Client Arranging a Test Between Two Servers |
bwctl contacts a daemon on each test endpoint to ensure more than one Iperf process does not happen at the same time on either host. In the event that the local host is one of the endpoints and there is no local bwctld running, bwctl will spawn additional processes to execute the local side of the test directly. In this case, a
diagram of the processes involved would look like the illustration in Figure 2.
|
![]() Figure 2: BWCTL Client Directly Testing with a Server |
BWCTL allows the administrator to classify incoming connections based upon a user name and AES key (generated by a passphrase) combination or, alternatively, based upon an IP/netmask. Once the connection is classified, the daemon process can determine the exact type and intensities of Iperf tests that will be allowed. (More details on policy controls can be found in the manual pages.)
-- Dr. David Lapsley (Massachusetts Institute of Technology, Haystack Observatory) |
|
1000 Oakbrook Drive, Suite 300, Ann Arbor MI 48104 | Phone: +1-734-913-4250 |