Friday, September 20, 2024

Đo băng thông mạng hiệu quả với Iperf3

-

Iperf3 là gì?

Iperf3 là một công cụ dòng lệnh mã nguồn mở được sử dụng rộng rãi để đo hiệu suất mạng, đặc biệt là băng thông (throughput). Nó cung cấp một cách chính xác và linh hoạt để kiểm tra tốc độ truyền dữ liệu giữa các máy tính trong mạng, từ mạng cục bộ đến mạng rộng.

Tại sao sử dụng Iperf3?

  • Đo băng thông chính xác: Iperf3 cho phép bạn đo băng thông tối đa mà một kết nối mạng có thể đạt được, bao gồm cả băng thông TCP và UDP.
  • Linh hoạt: Bạn có thể tùy chỉnh nhiều tham số khác nhau như thời gian kiểm tra, kích thước gói tin, giao thức mạng để phù hợp với nhu cầu cụ thể của bạn.
  • Miễn phí và mã nguồn mở: Iperf3 là một công cụ miễn phí và mã nguồn mở, do đó bạn có thể sử dụng và tùy chỉnh nó một cách tự do.
  • Dễ sử dụng: Mặc dù là một công cụ dòng lệnh, nhưng Iperf3 có cú pháp khá đơn giản và dễ sử dụng.

Cài đặt Iperf3 đơn giản chỉ cần chạy lệnh dưới.

apt install iperf3 -y

Ví dụ về cấu trúc lệnh ở đầu Server.

shell> iperf3 -s -p 7575 -B 10.237.7.71
-----------------------------------------------------------
Server listening on 7575
-----------------------------------------------------------
  • iperf3: Tên của chương trình.
  • -s: Chế độ server (máy chủ). Máy tính chạy lệnh này sẽ đóng vai trò là máy chủ, chờ các kết nối từ các máy khách.
  • -p 7575: Chỉ định cổng sử dụng để kết nối. Ở đây, cổng 7575 được sử dụng.
  • -B 10.237.7.71: Chỉ định địa chỉ binding, tức là giao diện mạng mà máy chủ sẽ lắng nghe. Trong trường hợp này, máy chủ sẽ lắng nghe trên giao diện có địa chỉ IP 10.237.7.71.

Nhờ cho phép IP client truy cập cổng 7575 nhé.

iptables -I INPUT -p tcp -s 10.237.7.72 --dport 7575 -j ACCEPT

Cách thức hoạt động.

  • Khởi chạy server: Khi bạn chạy lệnh trên, máy chủ iperf3 sẽ bắt đầu lắng nghe trên cổng 7575 của giao diện mạng 10.237.7.71.
  • Khởi chạy client: Một máy tính khác (client) sẽ kết nối đến máy chủ này bằng một lệnh tương tự nhưng với các tùy chọn khác nhau để thực hiện việc đo.
  • Truyền dữ liệu: Client sẽ gửi dữ liệu đến server và server sẽ trả lời. Iperf3 sẽ đo tốc độ truyền dữ liệu trong quá trình này.
  • Hiển thị kết quả: Cả server và client sẽ hiển thị kết quả đo, bao gồm băng thông, độ trễ, jitter, v.v.

Ví dụ về lệnh client.

Giả sử bạn muốn đo băng thông từ một máy tính khác đến máy chủ đang chạy lệnh trên, bạn có thể sử dụng lệnh sau trên máy client:

shell> iperf3 -c 10.237.7.71 -p 7575
Connecting to host 10.237.7.71, port 7575
[  5] local 10.237.7.72 port 51210 connected to 10.237.7.71 port 7575
[ ID] Interval           Transfer     Bitrate         Retr  Cwnd
[  5]   0.00-1.00   sec  1004 MBytes  8.42 Gbits/sec   64   1.26 MBytes       
[  5]   1.00-2.00   sec  1.01 GBytes  8.64 Gbits/sec   14   1.41 MBytes       
[  5]   2.00-3.00   sec  1024 MBytes  8.59 Gbits/sec   23   1.15 MBytes       
[  5]   3.00-4.00   sec  1.02 GBytes  8.72 Gbits/sec   10   1.31 MBytes       
[  5]   4.00-5.00   sec  1.03 GBytes  8.86 Gbits/sec   15   1.44 MBytes       
[  5]   5.00-6.00   sec  1.03 GBytes  8.82 Gbits/sec   26   1.18 MBytes       
[  5]   6.00-7.00   sec  1.03 GBytes  8.86 Gbits/sec    1   1.37 MBytes       
[  5]   7.00-8.00   sec  1.05 GBytes  9.00 Gbits/sec    5   1.51 MBytes       
[  5]   8.00-9.00   sec  1.05 GBytes  9.02 Gbits/sec   12   1.25 MBytes       
[  5]   9.00-10.00  sec  1.06 GBytes  9.07 Gbits/sec    1   1.43 MBytes       
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-10.00  sec  10.2 GBytes  8.80 Gbits/sec  171             sender
[  5]   0.00-10.04  sec  10.2 GBytes  8.76 Gbits/sec                  receiver

iperf Done.
  • -c 10.237.7.71: Chỉ định địa chỉ IP của máy chủ.
  • -p 7575: Chỉ định cổng để kết nối, tương tự như trên server.

Lúc này trên Server cũng đã nhận được yêu cầu từ client như dưới.

shell> iperf3 -s -p 7575 -B 10.237.7.71                                                                                                                                                                                  
-----------------------------------------------------------
Server listening on 7575
-----------------------------------------------------------
Accepted connection from 10.237.7.72, port 51194
[  5] local 10.237.7.71 port 7575 connected to 10.237.7.72 port 51210
[ ID] Interval           Transfer     Bitrate
[  5]   0.00-1.00   sec   957 MBytes  8.03 Gbits/sec                  
[  5]   1.00-2.00   sec  1.01 GBytes  8.64 Gbits/sec                  
[  5]   2.00-3.00   sec  1.01 GBytes  8.65 Gbits/sec                  
[  5]   3.00-4.00   sec  1.01 GBytes  8.65 Gbits/sec                  
[  5]   4.00-5.00   sec  1.03 GBytes  8.87 Gbits/sec                  
[  5]   5.00-6.00   sec  1.03 GBytes  8.82 Gbits/sec                  
[  5]   6.00-7.00   sec  1.03 GBytes  8.86 Gbits/sec                  
[  5]   7.00-8.00   sec  1.05 GBytes  8.98 Gbits/sec                  
[  5]   8.00-9.00   sec  1.05 GBytes  9.02 Gbits/sec                  
[  5]   9.00-10.00  sec  1.06 GBytes  9.07 Gbits/sec                  
[  5]  10.00-10.04  sec  47.6 MBytes  9.17 Gbits/sec                  
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate
[  5]   0.00-10.04  sec  10.2 GBytes  8.76 Gbits/sec                  receiver

Phân tích kết quả.

Kết quả trên là output của Iperf3 khi chạy ở chế độ client để đo băng thông đến server có địa chỉ IP 10.237.7.71.

Kết nối:

  • Client đã kết nối thành công đến server với địa chỉ IP 10.237.7.71 trên cổng 7575.

Băng thông:

  • Băng thông trung bình: Kết quả cho thấy băng thông trung bình đạt được trong khoảng đo 10 giây là 8.80 Gbits/sec (Gigabit per second). Đây là một tốc độ truyền dữ liệu rất cao, thường thấy trên các kết nối mạng Gigabit Ethernet tốc độ cao.
  • Băng thông theo từng khoảng thời gian: Các dòng bắt đầu bằng “[ 5]” hiển thị băng thông đạt được trong mỗi khoảng thời gian 1 giây. Bạn có thể thấy băng thông dao động nhẹ trong khoảng 8.42 Gbits/sec đến 9.02 Gbits/sec. Điều này là bình thường do lưu lượng mạng đôi khi có thể thay đổi.
  • Retr (Retransmissions): Tổng số gói tin đã được truyền lại do lỗi. Giá trị 171 cho thấy có một số lượng nhỏ các gói tin cần truyền lại, nhưng nhìn chung không đáng kể so với tổng số gói tin đã được truyền.

Kết quả Iperf3 cho thấy chúng ta có một kết nối mạng rất tốt với băng thông cao và độ trễ thấp.

Các tùy chọn khác của Iperf3.

Iperf3 cung cấp rất nhiều tùy chọn khác để bạn có thể điều chỉnh quá trình đo, chẳng hạn như:

  • -t: Thời gian thực hiện kiểm tra (giây).
  • -b: Băng thông mục tiêu (bits/sec).
  • -P: Số luồng song song.
  • -u: Sử dụng giao thức UDP.

Ứng dụng của Iperf3.

  • Kiểm tra hiệu suất mạng: Đo băng thông để xác định các vấn đề về kết nối mạng.
  • So sánh hiệu suất của các thiết bị mạng: So sánh hiệu suất của các router, switch khác nhau.
  • Cài đặt và tối ưu hóa mạng: Đảm bảo rằng mạng đang hoạt động ở mức hiệu suất tối đa.
  • Giải quyết sự cố: Xác định nguyên nhân gây ra các vấn đề về kết nối mạng.

Lưu ý: Để có kết quả đo chính xác, bạn nên đảm bảo rằng không có các ứng dụng khác đang sử dụng nhiều băng thông mạng trong quá trình kiểm tra.

Kết luận.

Iperf3 là một công cụ vô cùng hữu ích cho các nhà quản trị mạng và kỹ thuật viên. Nó giúp bạn đánh giá hiệu suất mạng một cách nhanh chóng và chính xác. Với khả năng tùy chỉnh cao, Iperf3 có thể đáp ứng được nhiều yêu cầu khác nhau trong quản lý mạng.

LEAVE A REPLY

Please enter your comment!
Please enter your name here

4,956FansLike
256FollowersFollow
223SubscribersSubscribe
spot_img

Related Stories