# Week 3 ( mmWave ) Note ## Name : Christofel Rio Goenawan ## University : Bandung Institute of Technology (ITB) ## Date : 19/1/2020 - 24/1/2020 ## Objectives: 1. Understand concept and work of iPerf (What? How? Why ? ) 2. Know how to use iPerf. ## 1. What is IPerf? iPerf3 is a tool for measuring real archievable bandwith of a connection in IP network. iPerf3 supports tuning of various parameters related to timing, buffers and protocols (TCP, UDP, SCTP with IPv4 and IPv6). ![](https://i.imgur.com/RtX1t76.png) For each test it reports : 1. **bandwidth** 2. **loss** 3. etc This is a new implementation of iPerf and have no independencies in iPerf and also is not backwards compatible. iPerf was orginally developed by NLANR/DAST and iPerf3 is principally developed by ESnet / Lawrence Berkeley National Laboratory. Some importan features of iPerf3 is shown as below. * **TCP and SCTP** :Measure bandwidth, Report MSS/MTU size and observed read sizes, Support for TCP window size via socket buffers. * **UDP** :Client can create UDP streams of specified bandwidth, Measure packet loss, Measure delay jitter, Multicast capable * **Cross-platform**: Windows, Linux, Android, MacOS X, FreeBSD, OpenBSD, NetBSD, VxWorks, Solaris, etc. * Client and server can have **multiple simultaneous connections** (-P option). * Server handles **multiple connections**, rather than quitting after a single test. * Can run for **specified time** (-t option), rather than a set amount of data to transfer (-n or -k option). * Print **periodic, intermediate bandwidth, jitter, and loss** reports at **specified intervals** (-i option). * Run the server as a **daemon** (-D option) ## 2. Why using iPerf3? As explained above, iPerf3 have been popular tool for maesure bandwith of a connection either wireless or with wire because a lot of useful features , high throughput of the program because it low complexity , work in multiple platform / OS, have a lot of parameter users can measure through option and can run the server as a daemon. ## 3. How to use iPerf 3 for Measuring Bandwith The work of iPerf3 for measuring bandwith can be explained as diagram below. ![](https://i.imgur.com/fxgJnTl.gif) First the user make a PC as a iPerf3 **server**. Then the user use another PC in same connection that want to be measured, and make it as **client**. The 2 PC can have different OS , but must have same internet protocol and in the same connection. Than the user make a ****ping**** from client that will measure the bandwith , loss , and other parameters through the connection of PC Server and PC Client. ### 3.1. Download the iPerf3 First we must download the binary file in zip in this link. https://iperf.fr/iperf-download.php The download web shown as below. ![](https://i.imgur.com/UN9ZEuz.png) Then we download the version that we wanted and in OS we have. Because I use Windows 10 OS, then I download the iPerf3 for Windows 10 64 bit. Then save the zip file in a folder and unzip it. After the zip it contain file as below. ![](https://i.imgur.com/UCuUATn.png) ### 3.2. Make a PC as Server To make PC the client , first we open the ```iPerf3.exe``` using either command prompt or window power shell prompt. The writer decide to use power shell by holding the ```shift``` key and right click the file ```iPerf3.exe```, then choose ```Open PowerShell window here``` as below. ![](https://i.imgur.com/9SDEVRh.png) Then the power shell window will open. For making the PC server, first we must see the **IPv4 address** of the server PC in the connection. This can be done by type code as below. ```ipconfig``` Then the connection information of the PC will be shown as below. ![](https://i.imgur.com/cC4RM9h.png) From the information above the writer's server PC IP adress is 192.168.5.44. Then to make the PC as server, use the code below. ```./iperf3.exe -s``` The ```-s``` is flag to make the PC the server. Then the prompt will be shown as below. ![](https://i.imgur.com/BhU4uD7.png) This sign that the PC has been server for the iPerf3 test. To stop the host, use ```ctrl + c``` . ### 3.3. Make a PC as Client and Measure Bandwith Then to make the PC as client , first download and open the power shell prompt as above. And use this code in the prompt. ```./iperf3.exe -c 192.168.5.44``` That is use ```-c``` for client and the server PC's IP address. Then the prompt will measure the measurement as below. ## Source: 1. https://iperf.fr/ 2. https://documentation.meraki.com/zGeneral_Administration/Tools_and_Troubleshooting/Troubleshooting_Client_Speed_using_iPerf 3. https://www.youtube.com/watch?v=74SPZFgTudM