17
TCP Lightweight Agent Project Goal : Implementation of a generic agent that will be able to measure connection parameters between a client and a server. Environment : Over the web. Language : Java. Authors : Alon Golan. Robert Parham. Eyal Keren. Regev Smadar.

TCP Lightweight Agent Project Goal : Implementation of a generic agent that will be able to measure connection parameters between a client and a server

Embed Size (px)

Citation preview

Page 1: TCP Lightweight Agent Project Goal : Implementation of a generic agent that will be able to measure connection parameters between a client and a server

TCP Lightweight Agent Project

Goal : Implementation of a generic agent that will be able to measure connection parameters between a client and a server.

Environment : Over the web.

Language : Java.

Authors : Alon Golan. Robert Parham. Eyal Keren. Regev Smadar.

Page 2: TCP Lightweight Agent Project Goal : Implementation of a generic agent that will be able to measure connection parameters between a client and a server

TCP Lightweight Agent Project

The application is running on the server.The application reads the test names from the input file.Inserts the suitable tests to the Tests class and waits for Agent to connect.

server

Page 3: TCP Lightweight Agent Project Goal : Implementation of a generic agent that will be able to measure connection parameters between a client and a server

TCP Lightweight Agent Project

A client connects to the server over the web.

The server thread runs the server tests.

serverclient

The socket is accepted, and a server thread is started by a time out thread.

Page 4: TCP Lightweight Agent Project Goal : Implementation of a generic agent that will be able to measure connection parameters between a client and a server

TCP Lightweight Agent Project

The server thread starts the client helpers threads on the server.

The server thread sends the Tests class to the client (by serialization).

serverclient

Tests

The server thread initializes the client tests.

Page 5: TCP Lightweight Agent Project Goal : Implementation of a generic agent that will be able to measure connection parameters between a client and a server

TCP Lightweight Agent Project

The applet runs the client’s tests. Some of them connect with the suitable helpers on the server.

The client sends the results to the server.

serverclient

results

Page 6: TCP Lightweight Agent Project Goal : Implementation of a generic agent that will be able to measure connection parameters between a client and a server

TCP Lightweight Agent Project

The server thread gets the results and writes them to the HTML output file.The applet exits.

server

client

results

Page 7: TCP Lightweight Agent Project Goal : Implementation of a generic agent that will be able to measure connection parameters between a client and a server

TCP Lightweight Agent Project

Till this point we explained the “frame program” implementation.

The following part will introduce the tests we have implemented.

Server client

Agent

Page 8: TCP Lightweight Agent Project Goal : Implementation of a generic agent that will be able to measure connection parameters between a client and a server

TCP Lightweight Agent ProjectThe tests :

The interface of the tests - "TestInterface"All our tests implement this interface. This interface defines the methods every test should have- since tests can be added dynamically, they have to conform with this interface, so they will fit the frame program.

The interface of the helpers - "HelperInterface"All our helpers implement this interface. This interface defines the methods every helper should have- since tests can be added dynamically, we want their helpers to conform with this interface, so they will fit the frame program.

Page 9: TCP Lightweight Agent Project Goal : Implementation of a generic agent that will be able to measure connection parameters between a client and a server

TCP Lightweight Agent Project

Server Test : Sending a Ping - “PingTest”

serverclient

This test counts the roundtrip time of an echo message in the IP level to a specific client. This test does not need a helper.

ping

Page 10: TCP Lightweight Agent Project Goal : Implementation of a generic agent that will be able to measure connection parameters between a client and a server

TCP Lightweight Agent Project

Server Test : Router tracing- "TraceRtTest"

serverclient

tracert

This test returns the routers used when connecting the server to a specific client. This test does not need a helper.

Page 11: TCP Lightweight Agent Project Goal : Implementation of a generic agent that will be able to measure connection parameters between a client and a server

TCP Lightweight Agent Project

Client Test : TCP throughput Test- "TcpThroughputTest"

server

clientSending

bytes

This test calculates the throughput of a TCP connection, it simulates reading files with different sizes. This test needs a helper.

After the server-client connection was established the server (helper) starts sending bytes to the client (test). The client reads the bytes the server sends. The results of the test are the throughput (time/size) for reading different amounts of bytes.

connect

Page 12: TCP Lightweight Agent Project Goal : Implementation of a generic agent that will be able to measure connection parameters between a client and a server

TCP Lightweight Agent Project

Client Test : Roundtrip time test- "RttTest"

server

clientSend byte

This test calculates the roundtrip time of a TCP connection. This test needs a helper.

The client sends a byte to the server. When the server gets this byte, it answers right back with a byte. This process will repeat several times, and the result will be the average time.

Send byte

Page 13: TCP Lightweight Agent Project Goal : Implementation of a generic agent that will be able to measure connection parameters between a client and a server

TCP Lightweight Agent Project

Client Test : HTTP 1.0 test- "HTTPThrTest10"

server

client

download

Calculates the throughput of the download time of a HTML file, using the HTTP 1.0 protocol. HTML file with images or without .This test does not need a helper.

GET HTTP/1.0

Pbrush.exe

download

Page 14: TCP Lightweight Agent Project Goal : Implementation of a generic agent that will be able to measure connection parameters between a client and a server

TCP Lightweight Agent Project

Client Test : HTTP 1.1 test- "HTTPThrTest11"

server

client

download

Calculates the throughput of the download time of a HTML file, using the HTTP 1.1 protocol. HTML file with images.This test does not need a helper.

GET HTTP/1.1

Pbrush.exe

download

Page 15: TCP Lightweight Agent Project Goal : Implementation of a generic agent that will be able to measure connection parameters between a client and a server

TCP Lightweight Agent Project

Client Test : Time test- "TimeTest"

server

client acknowledge

This test checks the time it takes the network to do the "three way handshake" process and the time it takes the network make the domain name translation . This test does not need a helper.

The results are the three way handshake time, and the name resolution time.

connect

acknowledge

Page 16: TCP Lightweight Agent Project Goal : Implementation of a generic agent that will be able to measure connection parameters between a client and a server

TCP Lightweight Agent Project

Client Test : UDP test- "UDPTest"

server

client UDP packets

The client sends a TCP message to the server. The server sends back several UDP packets and a TCP message to the client with the number of UDP packets sent.

This test calculates loss rate of UDP packets sent between a server and a client. This test needs a helper.

TCP connect

TCP message

Page 17: TCP Lightweight Agent Project Goal : Implementation of a generic agent that will be able to measure connection parameters between a client and a server

TCP Lightweight Agent Project

The End