Bandwidth test

MikroTik RouterOS 中的带宽测试功能允许使用 TCP 或 UDP 协议测量路由器之间的网络吞吐量,并详细解释了它们的行为和限制。它包括带宽服务器的配置选项,例如端口范围、认证和会话限制,以及在不进行客户端认证的情况下启用服务器的示例。

带宽测试

Sub-menu: /tool Packages required: system

带宽测试器可用于测量到另一台 MikroTik 路由器(有线或无线)的吞吐量,从而帮助发现网络“瓶颈”。

TCP 测试使用带确认机制的标准 TCP 协议,并遵循 TCP 算法根据延迟、丢包以及 TCP 算法中的其他特性来决定发送多少数据包。请查阅 TCP 协议以了解其内部速度设置以及如何分析其行为。吞吐量统计基于整个 TCP 数据流的大小计算。由于确认是 TCP 的内部工作方式,其大小和对链路的占用不计入吞吐量统计。因此,在估算吞吐量时,该统计值不如 UDP 统计值可靠。

UDP 测试器发送的数据包比链路另一端当前报告接收到的数量多 110% 或更多。要查看链路的最大吞吐量,数据包大小应设置为链路允许的最大 MTU,通常为 1500 字节。UDP 不需要确认;这一实现意味着可以获得最接近真实的吞吐量近似值。

警告

带宽测试会占用所有可用带宽和系统资源,可能影响网络的可用性。如果要测试路由器的真实吞吐量,应通过被测试的路由器(而非从该路由器本身或向该路由器本身)运行带宽测试。为此,至少需要 3 台串联连接的路由器:带宽服务器、被测试的路由器以及带宽客户端。 说明

如果使用 UDP 协议,带宽测试会统计 IP 头 + UDP 头 + UDP 数据。如果使用 TCP,带宽测试只统计 TCP 数据(不包括 TCP 头和 IP 头)。

带宽测试服务器

Sub-menu: /tool/bandwidth-server
属性描述
allocate-udp-ports-from (integer 1000..64000;默认:2000)UDP 端口范围的起始值
authenticate (yes | no;默认:yes)仅与通过认证的客户端通信
enabled (yes | no;默认:yes)定义带宽服务器是否启用
max-sessions (integer 1..1000;默认:100)最大并发测试数

示例

带宽服务器:

[admin@MikroTik] /tool/bandwidth-server> print                                  
                  enabled: yes                                                  
             authenticate: yes                                                  
  allocate-udp-ports-from: 2000                                                 
             max-sessions: 100                                                  
[admin@MikroTik] /tool/bandwidth-server>

活动会话:

[admin@MikroTik] /tool/bandwidth-server/session> print
  # CLIENT          PROTOCOL DIRECTION USER
  0 35.35.35.1      udp      send      admin
  1 25.25.25.1      udp      send      admin
  2 36.36.36.1      udp      send      admin
[admin@MikroTik] /tool/bandwidth-server/session>

在无客户端认证的情况下启用 bandwidth-test 服务器:

[admin@MikroTik] /tool/bandwidth-server> set enabled=yes authenticate=no        
[admin@MikroTik] /tool/bandwidth-server> print                                  
                  enabled: yes                                                  
             authenticate: no                                                   
  allocate-udp-ports-from: 2000                                                 
             max-sessions: 100                                                  
[admin@MikroTik] /tool/bandwidth-server>

带宽测试客户端

Sub-menu: /tool/bandwidth-test

属性描述
address (IP address | IPv6 prefix[%interface];默认:)主机的 IP 地址
direction (both | receive | transmit;默认:receive)数据流方向
duration (time;默认:)测试持续时间
interval (time: 20ms..5s;默认:1s)报告之间的延迟(秒)
local-tx-speed (integer 0..18446744073709551615;默认:)传输测试的最大速度(比特/秒)
local-udp-tx-size (integer: 28..64000)本地发送数据包大小(字节)
password (string;默认:"")远程用户的密码
protocol (udp | tcp;默认:udp)使用的协议
random-data (yes | no;默认:no)如果 random-data 设置为 yes,带宽测试数据包的载荷将包含不可压缩的随机数据流,这样使用数据压缩的链路就不会扭曲结果(此选项会大量占用 CPU,对于低性能 CPU 应将 random-data 设置为 no)
remote-tx-speed (integer 0..18446744073709551615;默认:)接收测试的最大速度(比特/秒)
remote-udp-tx-size (integer: 28..64000)远程发送数据包大小(字节)
connection-count (integer 1..255;默认:)要使用的 TCP 连接数
user (string;默认:"")远程用户

示例

要对 10.0.0.32 主机运行一次持续 15 秒的带宽测试,发送和接收 1000 字节的 UDP 数据包,并使用用户名 admin 进行连接:

[admin@MikroTik] /tool> bandwidth-test 10.0.0.32 duration=15s \
\... direction=both local-udp-tx-size=1000 protocol=udp \
\... remote-udp-tx-size=1000 user=admin
                status: done testing
              duration: 15s
            tx-current: 272.8Mbps
  tx-10-second-average: 200.3Mbps
      tx-total-average: 139.5Mbps
            rx-current: 169.6Mbps
  rx-10-second-average: 164.8Mbps
      rx-total-average: 117.0Mbps
          lost-packets: 373
           random-data: no
             direction: both
               tx-size: 1000
               rx-size: 1000
[admin@MikroTik] /tool>

链路本地 IPv6 示例

[admin@MikroTik] > /tool/bandwidth-test fe80::34:23ff:fe6a:570c%local
                status: running
              duration: 5s
            rx-current: 23.9Mbps
  rx-10-second-average: 15.1Mbps
      rx-total-average: 15.1Mbps
          lost-packets: 0
           random-data: no
             direction: receive
               rx-size: 1500