带宽检测功能

目的

在使用QoS功能时,可以防止重要的数据包在网络内被不合适的丢弃。QoS功能指,在限定了发送速度的内部队列中使数据包滞留,可以实现控制发送的顺序和时间。

这时,在发送速度按照策略确定为某一特定值时,该发送速度可以用speed命令或queue class property命令来设置的话就没有问题。但是,想要设置发送速度为线路的实际最大速度时,该数值就不是很确定了。实际速度依赖于网络内的状态,受其他流量的影响也不少。设置了和实际速度不相同的速度时,可能会发生丢弃重要数据包,或者不必要的限制带宽的情况。

  ■:重要数据包
  □:非重要数据包
                            ┏━━━━━━┓
 ┏━━━┓                ┃            ┃                ┏━━┓
  ┃路由器┣━━━━━━━━┫  网  络    ┣━━━━━━━━┫对端┃
  ┗━━━┛                ┃            ┃                ┗━━┛
                            ┗━━━━━━┛

     为了不丢弃'■'                    网络中的窄带宽处
     在路由器出口处QoS                '■'被丢弃了

                                       比路由器出口
        丢弃                           更窄的带宽中
        □□                             丢弃了 ■□            重要数据包'■'丢包

     ──────────→                                  ─────────→
     □■■□■■■□■                                   □ ■ ■ □ ■ ■ ■

本功能可以动态测定线路的实际带宽,提高设备的QoS功能的有效性。在带宽可能发生变动的情况下可以定期的检测,也可以追踪发送速度的带宽的变动。

                            ┏━━━━━━┓
 ┏━━━┓                ┃            ┃                ┏━━┓
  ┃路由器┣━━━━━━━━┫  网  络  ┣━━━━━━━━┫对端┃
  ┗━━━┛                ┃            ┃                ┗━━┛
                            ┗━━━━━━┛
      带宽测定
        ================---------→
      在路由器的出口上
      根据网络的带宽
      的宽窄应用QoS

        丢弃                      即使在窄带宽中
        □□□□                  也不会丢弃               重要数据包'■'不丢失

       ──────────→             ─────────→
       □ ■ ■ ■ ■ ■ ■               □ ■ ■ ■ ■ ■ ■

支持的机型和固件版本

雅马哈路由器的以下机型和固件版本,支持带宽检测功能。

机型 固件
RTX5000 Rev.14.00.15以后
RTX820 Rev.11.03.16以后
RTX1200 Rev.10.01.20以后
RTX800 Rev.10.01.20以后

运行概要

网络内存在窄带宽的线路时,会将经由此线路的复数的数据包的间隔加大。或者说复数的数据包中的某些数据包在网络内被丢弃而无法到达对端。可以利用这些变化的数据包和丢包率来测定带宽。

          从客户端处间隔的发送多个数据包
             ────────────→
                ■■■■         ■ ■ ■ ■
                      ┏━━━━━━┓
 ┏━━━━━━┓    ┃            ┃    ┏━━━┓
  ┃  客  户  端┣━━┫   网   络  ┣━━┫服务器┃
  ┗━━━━━━┛    ┃            ┃    ┗━━━┛
                      ┗━━━━━━┛
                                       ■
                 ←────────────
                  服务器将接受间隔信息等通知客户端

通过服务器・客户端的方式进行测定,客户端根据测定带宽的间隔发送复数的数据包。服务器测定这些数据包的接收间隔,将结果通知给客户端。客户端根据服务器的接收间隔等信息,判断线路的带宽。

客户端在通过命令登录服务器信息时,或者在手动执行时,开始运行带宽检测。确定了带宽值之后,测定运行进入休眠状态。测定的结果会反映在客户端侧的qoS的设置中。

  客户端的运行动作

  设置完成  ┌────┐测定完成、带宽确定    ┌────┐
  ────→│贷款测定│──────────→│休眠状态│←───────┐
            └────┘                      └────┘                │
                  ↑                            │定期的运行              │
                  │                            │                        │
                  │                            ↓                        │
                  │          带宽发生变化了┌──────┐带宽没发生变化│
                  └────────────│确认带宽测定│───────┘
                                            └──────┘

即使在休眠状态时,也会每隔一定时间确认测定对象的带宽是否发生了变动。和上次的确定值进行比较,差别比较大的话会再次开始进行带宽测定动作并变更带宽设置值。该贷款确认的间隔时间可以通过设置来变更。

   测定带宽的推移

     带宽测定        带宽确认  带宽确认   带宽测定    带宽确认  带宽确认
       ←──────→休止←─→休止←─→休止←───→休止←─→休止←─→

                        带宽发生了变化
                                           ▼
      ↑                      
      │                       ●NG   ●NG   ●NG 
      │                   - - - - - - - - - - - - - - - - - -  带宽   
      │                      ○OK○OK   ○OK   ○OK
  带宽│                         带宽确定
      │     ●NG   ●NG   ●NG    ○OK
      │- - - - - - - - - - - - - - - - - -
      │    ○OK○OK   ○OK   ○OK
      │            带宽确定
      │   ○OK
      │
      │  ○OK    
      │
      │ ○OK
      │ 
      │○OK
       ──────────────────────────────────→
                                                        时间

另外,在带宽变化较大的环境中,通过调整测定的感度,可以防止带宽设置值的频繁变更。

   由于感度设置的不同,再测定开始级别的不同
                                                   C
           ────────────────────○─低感度 在C的时间再测定,变更带宽设置值
                                               ----
                   A----                A----
           ────○──--───────○──────高感度 在A,B的时间再测定,变更带宽设置值
               ----        --          --
     确定值━--━━━━━━━--━━━--━━━━━━━━
                               --  --
           ───────────○──────────高感度
                                 B

           ──────────────────────低感度
   --:变化的带宽值
  ○:再测定的时间

测定用的数据包使用UDP。可以通过设置变更使用的端口号。

本功能是以测定连接在LAN接口的带宽为目的。LAN接口或者是使用LAN接口的PPPoE的线路为对象。指向对端的线路为IPsec隧道时,本功能使用的数据包也会加密。

本功能中使用的数据包,不管在服务器・客户端,都不会称为过滤和NAT的对象。

在测定动作中会暂时将发送接口切换为优先控制,以最优先Class的数据包发送测定数据包。这时,内部的QoS功能的运行发生变更,由于负载和时间点,可能发生丢包,Dynamic Class Control的运行也会暂时受到影响。另外,为了避免测定中的设置切换的影响,在变更和保存config时,用show status cooperation命令确认是否正在测定中,推荐在本功能为off状态时进行操作。测定完成后,测定结果通过LAN接口的speed命令反映。只是单独进行带宽测定动作的话,测定结果可能不会通过speed命令反映。

命令规格中的最小值为64[kbit/s],最大值为100[Mbit/s]。即使存在比最大值更高的带宽的环境也不能测定出比最大值更大的值。实际的测定可能的带宽值因为非常依赖测定对象的延迟,波动和丢包等状态。所以可测定的带宽值,从最小值的64[kbit/s]开始,根据使用的设备的性能,在不进行加密的环境中,最大值大概可以到达50-60[Mbit/s]。

在1台设备上可以同时运行服务器功能和客户端功能,在2台设备间可以做双向测定。而且1台服务器可以同时对复数的客户端进行测定,网络结构可以支持网状和hub・and・spoke型两种。

不能和负载通知功能同时使用。

通过选项的设置可以对每个对端的动作进行定义。选项的一览如下所示。详细请参考命令的项目。

[带宽检测功能中服务器和客户端必须设置的选项一览]

◎:必须的设置
○:可以设置
×:不可设置

设置项目 设置值 cooperation bandwidth-measuring remote命令
remote=server
(客户端侧)
remote=client
(服务器侧)
必要性 默认值 必要性 默认值
ID 1~100 - -
ROLE server,client
(server)
-
(client)
-
ADDRESS (注1) - -
OPTION apply on,off on × -
port 表示端口号的10进制数 59410 59410
initial-speed [bit/s] 10M × -
interval 60~2147483647[sec],off (注2) 3600 × -
retry-interval 60~2147483647[sec] 3600 × -
sensitivity high,middle,low high × -
syslog on,off off off
interface LAN接口 无设置 × -
class Class (注3) 无设置 × -
limit-rate [%] 无设置 × -
number 5~100 无设置 × -
local-address IP地址 无设置 无设置

[注意事项]

  • 注1:可以设置为IP地址或FQDN或any。客户端侧为不确定的IP地址时,服务器侧设置为any。
  • 注2:"interval=off"时,测定完成后不会进行定期的确认。另外,如果测定失败时,不管当前interval设置为何值,都将设置到下次测定为止的时间为3600秒。
  • 注3:"class"选项,只有内置了带宽控制功能的机型才能使用。带宽检测的结果会设置为带宽控制的Class的上限值。

设置例

例1.中心分别连接了3个分支,测定各分支对中心端的线路的上传速度并反映在QoS设置中

                                      ┌───┐
                          ┌─────┤分支A │172.16.100.1
                          │          └───┘
                  ┌───┴──┐
 ┌────┐    │            │    ┌───┐
  │中  心├──┤ 网   络 ├──┤分支B │172.16.110.1
  └────┘    │            │    └───┘
  172.16.10.1     └───┬──┘
                          │          ┌───┐
                          └─────┤分支C │172.16.120.1
                                      └───┘

[设置说明]

中心
#cooperation bandwidth-measuring remote 1 client 172.16.100.1
#cooperation bandwidth-measuring remote 2 client 172.16.110.1
#cooperation bandwidth-measuring remote 3 client 172.16.120.1
#cooperation bandwidth-measuring server on
分支A(优先控制)
#queue lan2 type priority
#cooperation bandwidth-measuring client on
#cooperation bandwidth-measuring remote 1 server 172.16.10.1
分支B(带宽控制)
#queue lan2 type shaping
#queue lan2 class property 1 bandwidth=30%
#cooperation bandwidth-measuring client on
#cooperation bandwidth-measuring remote 1 server 172.16.10.1
分支C(优先控制)
#queue lan2 type priority
#cooperation bandwidth-measuring client on
#cooperation bandwidth-measuring remote 1 server 172.16.10.1

[解说]

中心
#cooperation bandwidth-measuring remote 1 client 172.16.100.1

将分支A登录为客户端。

#cooperation bandwidth-measuring remote 2 client 172.16.110.1

将分支B登录为客户端。

#cooperation bandwidth-measuring remote 3 client 172.16.120.1

将分支C登录为客户端。

#cooperation bandwidth-measuring server on

作为服务器运行。

分支A(优先控制)
#queue lan2 type priority

LAN2接口使用优先控制。另外需要进行Class的设置。

#cooperation bandwidth-measuring client on

作为客户端运行。

#cooperation bandwidth-measuring remote 1 server 172.16.10.1

将中心侧登录为服务器。这条命令执行后开始了带宽测定动作。

分支B(带宽控制)
#queue lan2 type shaping

LAN2接口使用带宽控制。

#queue lan2 class property 1 bandwidth=30%

需要动态反映带宽测定的结果时,queue class property命令的带宽需要指定为%。指定为%以外时,带宽测定的结果比那个值小的情况下,就不能保证该设置值了。另外需要进行Class的设置。

#cooperation bandwidth-measuring client on

作为客户端运行。

#cooperation bandwidth-measuring remote 1 server 172.16.10.1

将中心侧登录为服务器。这条命令执行后开始了带宽测定动作。

分支C(优先控制)
#queue lan2 type priority

LAN2接口使用优先控制。另外需要进行Class的设置。

#cooperation bandwidth-measuring client on

作为客户端运行。

#cooperation bandwidth-measuring remote 1 server 172.16.10.1

将中心侧登录为服务器。这条命令执行后开始了带宽测定动作。

例2.2分支间相互测定上传速度并反映在QoS设置中

                ┌──────┐
 ┌───┐    │            │    ┌───┐
  │分支A ├──┤ 网   络 ├──┤分支B │
  └───┘    │            │    └───┘
  172.16.10.1   └──────┘    172.16.20.1

[设置说明]

分支A
#queue lan2 type priority
#cooperation bandwidth-measuring server on
#cooperation bandwidth-measuring client on
#cooperation bandwidth-measuring remote 1 server 172.16.20.1
#cooperation bandwidth-measuring remote 2 client 172.16.20.1
分支B
#queue lan2 type priority
#cooperation bandwidth-measuring server on
#cooperation bandwidth-measuring client on
#cooperation bandwidth-measuring remote 1 server 172.16.10.1
#cooperation bandwidth-measuring remote 2 client 172.16.10.1

[解说]

分支A
#queue lan2 type priority

LAN2接口使用优先控制。另外需要进行Class的设置。

#cooperation bandwidth-measuring server on

服务器功能设为有效。

#cooperation bandwidth-measuring client on

客户端功能设为有效。

#cooperation bandwidth-measuring remote 1 server 172.16.20.1

将分支B作为服务器进行登录。这条命令执行后开始了带宽测定动作。

#cooperation bandwidth-measuring remote 2 client 172.16.20.1

将分支B作为客户端进行登录。

分支B
#queue lan2 type priority

LAN2接口使用优先控制。另外需要进行Class的设置。

#cooperation bandwidth-measuring server on

服务器功能设为有效。

#cooperation bandwidth-measuring client on

客户端功能设为有效。

#cooperation bandwidth-measuring remote 1 server 172.16.10.1

将分支A作为服务器进行登录。这条命令执行后开始了带宽测定动作。

#cooperation bandwidth-measuring remote 2 client 172.16.10.1

将分支A作为客户端进行登录。

命令

设置运行时使用的端口号

[格式]

cooperation port PORT
no cooperation port [PORT]

[设置值]

  • PORT ... 端口号

[说明]

设置运行时使用的UDP的端口号。发送的数据包的源端口号使用此端口。另外,接收到发送至该端口号的数据包时,将当做运行相关的数据包进行处理。

[默认值]

59410

设置是否进行带宽检测动作

[格式]

cooperation bandwidth-measuring ROLE SW
no cooperation bandwidth-measuring ROLE [SW]

[设置值]

  • ROLE ... 运行时的角色
    • server ... 服务器
    • client ... 客户端
  • SW
    • on ... 有效
    • off ... 无效

[说明]

设置带宽检测动作中,每个功能的动作。

[默认值]

所有功能off

带宽检测中,进行每个对端运行的动作的设置

[格式]

cooperation bandwidth-measuring remote ID ROLE ADDRESS [OPTION=VALUE]
no cooperation bandwidth-measuring remote ID [ROLE ADDRESS [OPTION=VALUE]]

[设置值]

  • ID ... 对端的ID号(1-100)
  • ROLE ... 对端的角色
    • server ... 对端作为服务器运行
    • client ... 对端作为客户端运行
  • ADDRESS ... 对端的IP地址、FQDN或者'any'
  • OPTION ... 选项
    • apply ... 测定结果是否反映在LAN接口的速度设置上'on' or 'off'
    • port ... 对端使用的UDP的端口号(1-65535)
    • initial-speed ... 测定开始值(64000-100000000)[bit/s]
    • interval ... 定期监控间隔(60-2147483647)[sec] or 'off'
    • retry-interval ... 因错误停止后的再试时间间隔(60-2147483647)[sec]
    • sensitivity ... 测定感度、'high', 'middle' or 'low'
    • syslog ... 是否保存log、'on' or 'off'
    • interface ... 反映测定结果的LAN接口
    • class ... 反映测定结果的Class
    • limit-rate ... 设置值的最大变化比例(1-10000)[%]
    • number ... 测定时使用的数据包数量(5-100)
    • local-address ... 数据包发送时的源IP地址

[说明]

带宽检测中,进行每个对端运行的动作的设置。

[Note]

ROLE参数中设置为client时,选项中只有port,syslog和local-address可以设置。设置为server时,所有的选项都可以设置。

只有在ROLE参数中设置为client时,才可以设置对端为any。

apply选项为'on'时,带宽检测的结果会覆盖连接对端的LAN接口的speed lan命令的设置值。设置了class选项时,测定结果会反映在queue lan class property命令的bandwidth参数中。

initial-speed选项可以设置测定开始的速度。对端无应答,测定值超过容许范围等的无法正确测定时,将以该设置的速度开始测定。在参数的后面加上'k'或'M'的话,分别表示kbit/s、Mbit/s。

interval选项可以设置在带宽测定正常完成后,定期的确认带宽有没有变化的时间间隔。指定为'off'时,在测定完成后不进行定期的确认。

retry-interval选项可以设置在带宽测定时,对端没有应答或者测定值超过容许范围等无法正常测定时的再试时间。但是,考虑到对网络的负载,也不应该在无法正常运行时,重复进行短时间间隔的重试。应该先解决无法正常测定的原因。

number选项可以设置测定时使用的数据包数。在数据包间隔波动大的环境中,该数值越大越可以得到安定的结果。但是,增加测定用的数据包可能会影响其他的数据通信。

sensitivity选项可以变更测定感度。在数据包间隔波动大,存在丢包的环境中,将测定感度设置为low,可以防止频繁的设置变更,缩短完成测定的时间。

interface选项中设置为LAN接口时,测定结果会通过该LAN接口的speed lan命令反映。在class选项中设置有数值时,测定结果会在queue lan class property命令的bandwidth参数中反映。

class选项只有内置带宽控制功能的机型可以使用。

设置limit-rate选项可以将设置值的激烈变动抑制在某一比例内。上次的测定值和这次的测定结果有较大差时,就不采用本次的测定结果,而是采用由该limit-rate计算的值。

local-address选项可以设置发送数据包的源IP地址。没有设置时,使用接口的IP地址。

[默认值]

apply=on
port=59410
initial-speed=10000000
interval=3600
retry-interval=3600
sensitivity=high
syslog=off
interface 无设置
class 无设置
limit-rate 无设置
number=30
local-address 无设置

动作的手动执行

[格式]

cooperation TYPE go ID

[设置值]

  • TYPE ... 动作类型
    • bandwidth-measuring ... 线路带宽检测
  • ID ... 对端的ID号(1-100)

[说明]

手动执行动作。

[Note]

测定结果显示在控制台中。

在接口速度的设置中,想要使用线路带宽测定的值时,该执行结果的值也会反映在设置中。

动作的状态的显示

[格式]

show status cooperation TYPE [ID]

[设置值]

  • TYPE ... 动作类型
    • bandwidth-measuring ... 线路带宽检测
  • ID ... 对端的ID号(1-100)

[说明]

显示动作的信息。

线路带宽检测时,会显示以下项目。

  • 对端信息
  • 状态显示
    • 次数
    • 测定时间
    • 客户端的试行速度(只在运行为服务器时)
    • 测定结果(只在运行为客户端时)
    • 现状(只在运行为客户端时)
    • 设置变更履历(只在运行为客户端时)
    • 下次测定前的剩余时间(只在运行为客户端时)
    • 错误次数和履历

[显示例]

线路带宽检测时

#show status cooperation bandwidth-measuring
1: 172.16.1.100
             remote: server
    measuring times: 43[times]
     last bandwidth: 56450[kbit/s] 2005/06/23 13:08:45
          set times: 3[times]
 last set bandwidth: 58650[kbit/s] 2005/06/23 13:08:45
            history: 58340[kbit/s] 2005/06/23 13:08:08
                   : 56400[kbit/s] 2005/06/23 13:05:06
     next measuring: 3592[seconds]
2: 172.16.1.100
             remote: client
    measuring times: 40[times]
         last tried: 8407[kbit/s] 2005/06/23 13:08:45

#show status cooperation bandwidth-measuring
1: 172.16.0.100
              对端动作: client
              检测次数: 43[times]
              最新试行: 8407[kbit/s] 2005/06/23 13:08:45
2: 172.16.0.100
              对端动作: server
              检测次数: 67[times]
          最新测定结果: 59520[kbit/s] 2005/06/23 13:10:15
          设置变更次数: 5[times]
        当前的设置带宽: 58190[kbit/s] 2005/06/23 13:10:15
          设置变更履历: 56030[kbit/s] 2005/06/23 13:09:34
                      : 57220[kbit/s] 2005/06/23 13:08:47
                      : 59830[kbit/s] 2005/06/23 13:08:15
                      : 58010[kbit/s] 2005/06/23 13:05:00
 下次测定前的剩余秒数 : 3596[seconds]

返回顶部Return to Top