200 likes | 385 Views
Iperf NLANR Network Performance and Measurement Tools. 2006-04-19 Sung-Gon Mun msgon@ece.skku.ac.kr. What is Iperf?. Tools to measure network performance Measuring TCP and UDP bandwidth performance. The primary goal is to help in tuning TCP connections over a particular path.
E N D
IperfNLANR Network Performance and Measurement Tools 2006-04-19 Sung-Gon Mun msgon@ece.skku.ac.kr
What is Iperf? • Tools to measure network performance • Measuring TCP and UDP bandwidth performance. • The primary goal is to help in tuning TCP connections over a particular path. • Tuning issue for TCP is the TCP window size. • Iperf can be tuning the TCP window size.
Tuning Iperf’s window size • using setsockopt() • tuning TCP window size • In the Iperf, • The “tcp_window_size.c” file in the “src” directory • int setsock_tcp_windowsize() • set the TCP window size • int getsock_tcp_windowsize() • return the TCP window size on the sending buffer ,SO_SNDBUF
Features(1/2) • Measuring TCP bandwidth performance. • Measure bandwidth. • Report MSS/MTU size and observed read sizes. • Support for TCP window size via socket buffers. • Multi-thread, • Clinet and server can have multiple simultaneous connections.
Features(2/2) • Measuring UDP bandwidth performance. • Client can create UDP streams of specified bandwidth. • Measure packet lose and delay jitter. • Multicast capability • Multi-threaded, • Client and server can have multiple simultaneous connections. (Does not work in Windows.)
Installation of iperf • To install • ./configure –prefix=/install/directory • configure for your machine • make • compile Iperf • make install • Intstall Iperf • Environment variance # vi /etc/profile PATH=/install/dircetory/bin # source /etc/profile
Iperf brief options • -s : run in server mode • -D and -R: run the server as a daemon and remove • -c : run in client mode • -m : print TCP MSS (only server mode) • -M : set TCP MSS • -t : time in seconds to transmit for (default 10) • -i : seconds between periodic bandwidth reports • -w : TCP window size (socket buffer size) • -p : server port to listen on / connect to • -P : number of parallel client threads to run • -u : use UDP rather than TCP • -b : for UDP, bandwidth to send at in bits/sec (default 1Mbit/sec) • -B : Multicast • -V : Set the domain to IPv6 • -h : print help • -v : print version information
Iperf Command # iperf –s –D –w 256k • Run the server mode as a daemon. # iperf –c ip_address –t 10 –i 1 –w 256k -P 10 -p 5001 -m • Run the client mode with options.
Iperf test topology KOREN : 1Gbps , 0.2ms Client mode - cpu 3.0GHz - memory : 1GB - NIC : intel 1GHz Server mode - cpu 2.4GHz - memory : 1GB - NIC : intel 1GHz
Experiment – default Server mode Client mode
Experiment – window size 256k Server mode Client mode
Experiment – window size 512k Server mode Client mode
Experiment – turn off the linux autotuning Server mode Client mode
Appendix A (tcpdump) • Iperf’s packet capture Iperf는 초당 최대한 많은 데이터를 전송하기에, 정확한 테스트를 위해서는 측정할 네트워크 상에서 다른 트래픽이 없어야 한다.
Appendix B (parallel) TWO THREE FOUR
Appendix C (UDP) server mode client mode
Simulation • Bandwidth : 1Gbps • Delay : 10ms (using the nistnet) • time : 20 sec • Simulation • 1. End-Hosts using default window size. • 2. End-Hosts using tuning window size(1MB). • 3. End-Hosts using tuning window size(512MB) with two parallel sockets.