2 Simulation program » History » Version 43
2. Simulation program¶
First simulation as been run without modem. Steps 1 to 4 must be executed in both PC engines.
Step 1. Configuration of both PC engines. Line commands to configure the PC engines are described in part II.3.
Step 2. Addition of space delay to user interface and hub interface.
tc qdisc add dev p5p1 root netem delay 300ms
Step 3. Test connection and delay from 192.168.2.1 to 192.168.3.1
ping 192.168.3.1 -I 192.168.2.1
Step 4. Definition of gateway to allow the IP forwarding by both modems.
route add -net 192.168.3.0/24 gw 192.168.2.2
This command add a rule in the route table, which define 192.168.2.2 as a gateway to access all network 192.168.3.0/24.
Step 5 is only executed on remote terminal side, because PEPsal is only deployed on the user side.
Step 5. Implementation of routing rules in order to use PEPSal. Indeed PEPSal uses port 5000, consequently TCP flow must be redirected on this port.
iptables -t mangle -A PREROUTING -s 192.168.2.1 --proto tcp --tcp-flags ALL SYN -j QUEUE
iptables -t nat -A PREROUTING -s 192.168.2.1 --proto tcp -j REDIRECT --to-port 5000
iptables -t mangle -A PREROUTING -d 192.168.2.1 --proto tcp --tcp-flags ALL SYN -j QUEUE
iptables -t nat -A PREROUTING -d 192.168.2.1 --proto tcp -j REDIRECT --to-port 5000
PREROUTING chain is used because packets are redirected in a local machine. Table mangle is used to identify packets to be transfered and table nat is used to determine where packets must be forwarded.
Display all rules to verify
iptables -t mangle -t nat -L
Step 6. Execution of PEPSal on remote terminal side.
pepsal -a 192.168.2.1
Then a TCP flow is simulated thanks to the iperf command.
2.2. Post processing¶
In order to get information on TCP packets, the tcpdump commmand is executed. The save option is run and data are collected in a file.pcap.
tcpdump tcp -w fileName.pcap
Files transfert from PC engine right to local computer as following:
- sequence number packets,
- windows size evolution.
Tests in terms of quality of usage, such as download a web browser, were planed. However due to difficulties in network configuration, those tests will not be run.