Files
net-research/README.md
T

2.0 KiB

Task 5

Prerequisites

Ensure you have the following installed on your system:

Deploying environment

NOTE: You must have libvirt daemon running running

Goto Terraform directory

cd terraform

Create and edit dotenv file

cp .env.template .env

Add client and server records to /etc/hosts

# ...
10.6.6.10 client
10.6.6.20 server

Init Terraform

terraform init

Start the environment

terraform apply

NOTE: Wait for several minutes until all required things will provided to the vms

CheatSheet

Commands for client

# For HTTP/1.1 (TCP)
curl server:80/<size>MB.file -o <size>MB.file

# For HTTP/2 (TCP)
curl --http2-prior-knowledge server:81/<size>MB.file -o <size>MB.file

# For HTTP/3 (UDP)
./curl --http3-only --insecure https://server:443/<size>MB.file -o <size>MB.file

# For TFTP (UDP)
tftp server -c get /var/www/<size>MB.file

Run benchmarks

./scripts/run_benchmarks

This script does the following things

Change CC (on vms, 4 combinations for tcp protocols)

sysctl net.ipv4.tcp_congestion_control=bbr|reno -w

Starts tcpdump on hypervisor with filters according to protocol

tcpdump -i "$interface" -w "$pcap_file" "$filter"

Runs download command according to protocol

Refer to this

Stops tcpdump

Merge pcap files

mergecap -w merged.pcap dump1 dump2 ...
./scripts/change_profile

And follow the instructions

This script just executes this command on server vm

tc qdisc replace dev $interface root netem delay ${delay}ms loss ${loss}%

OR:

tc qdisc del dev $interface root