---
# System prepended metadata

title: Week 3 ( mmWave ) Note

---

# 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

