Skip to the content.

Tìm hiểu iperf

1.iperf là gì?

iperf là một công cụ chuẩn đoán các vấn đề về tốc độ mạng bằng các đo thông lượng mạng tối đa mà server có thể xử lý. Nó hỗ trợ điều chỉnh một loạt các thông số khác nhau liên quan tới thời gian, giao thức và buffers. Với mỗi lần test, nó sẽ đều cho ra các bài báo cáo về throughput/bitrate hay số package bị mất… Iperf hiện có 2 phiên bản là 2 và 3. Iperf 3 đầu tiên được phát triển cho CentOS Linux, FreeBSD, và macOS. Theo thời gian, nó dần hỗ trợ thêm một loạt các hệ điều hành khác như OpenBSD, NetBSD, Android, Solaris… perf3 được phát triển chủ yếu bởi Phòng thí nghiệm Quốc gia ESnet / Lawrence Berkeley. Nó được phát hành tuân thủ theo giấy phép three-clause BSD.

2.Các tính năng trên iperf2 và iperf3

Các tính năng trên iperf 2 vẫn được hỗ trợ trên iperf 3:

Tính năng trên iperf 2 mà iperf 3 không có

3. Lab sử dụng iperf.

Cài đặt iperf

Mô hình client server TCP/IP Cú pháp:

Ví dụ:

- Trên client chạy lệnh:

iperf -c 192.168.50.181

```sh
# iperf -c 192.168.50.181
------------------------------------------------------------
Client connecting to 192.168.50.181, TCP port 5001
TCP window size: 85.0 KByte (default)
------------------------------------------------------------
[  3] local 192.168.0.162 port 36350 connected with 192.168.50.181 port 5001
[ ID] Interval       Transfer     Bandwidth
[  3]  0.0-10.5 sec  8.38 MBytes  6.71 Mbits/sec

Test băng thông giữa hai máy ảo trong vmware worktation(cen1:10.88.88.):

[root@cen1 ~]# iperf -s 
------------------------------------------------------------
Server listening on TCP port 5001
TCP window size: 85.3 KByte (default)
------------------------------------------------------------

[root@cen2 ~]# iperf -c 10.88.88.151 -f m -i 1 
------------------------------------------------------------
Client connecting to 10.88.88.151, TCP port 5001
TCP window size: 0.52 MByte (default)
------------------------------------------------------------
[  3] local 10.88.88.152 port 48682 connected with 10.88.88.151 port 5001
[ ID] Interval       Transfer     Bandwidth
[  3]  0.0- 1.0 sec   433 MBytes  3633 Mbits/sec
[  3]  1.0- 2.0 sec   491 MBytes  4120 Mbits/sec
[  3]  2.0- 3.0 sec   491 MBytes  4120 Mbits/sec
[  3]  3.0- 4.0 sec   492 MBytes  4124 Mbits/sec
[  3]  4.0- 5.0 sec   478 MBytes  4012 Mbits/sec
[  3]  5.0- 6.0 sec   489 MBytes  4104 Mbits/sec
[  3]  6.0- 7.0 sec   491 MBytes  4119 Mbits/sec
[  3]  7.0- 8.0 sec   485 MBytes  4065 Mbits/sec
[  3]  8.0- 9.0 sec   491 MBytes  4119 Mbits/sec
[  3]  9.0-10.0 sec   451 MBytes  3783 Mbits/sec
[  3]  0.0-10.0 sec  4792 MBytes  4020 Mbits/sec
[root@cen2 ~]# 


**Mô hình client server UDP**
Cú pháp 
- Trên server: `iperf -s -u`
- Trên client: `iperf -c <server-ip> -u`

Ví dụ:
Trên server:
```sh
[root@lamth-cen1 ~]# iperf -s -u
------------------------------------------------------------
Server listening on UDP port 5001
Receiving 1470 byte datagrams
UDP buffer size:  208 KByte (default)
------------------------------------------------------------

Trên client:

# iperf -c 192.168.50.181 -u
------------------------------------------------------------
Client connecting to 192.168.50.181, UDP port 5001
Sending 1470 byte datagrams, IPG target: 11215.21 us (kalman adjust)
UDP buffer size:  208 KByte (default)
------------------------------------------------------------
[  3] local 192.168.0.162 port 60079 connected with 192.168.50.181 port 5001
[ ID] Interval       Transfer     Bandwidth
[  3]  0.0-10.0 sec  1.25 MBytes  1.05 Mbits/sec
[  3] Sent 893 datagrams
[  3] Server Report:
[  3]  0.0-10.0 sec  1.25 MBytes  1.05 Mbits/sec   0.000 ms 2147481862/2147482755 (0%)