Load Watch Notification

Purpose

QoS controls transmit packets according to policy. However, it cannot control receive packets. A receiving device may discard packets overflowing at the entrance of the LAN interface when a high load (even if they are high priority packets).

The load watch notification function minimizes unintentional discard of received packets by the following ways.

  • Monitor the load status of own (receiving) device
  • Notify the other device to suppress the sending of packets when the load increases

In particular, this function works effectively in environments where the sending device cannot predict the load status of the receiving device. For example, in a hub-and-spoke network, when a center processes traffic from multiple branches, the branch device cannot know the load status of the center device. At this time, the center device sends a request for temporary traffic suppression to the branch device according to its load status. This operation prevents packet loss and stabilizes communication quality.

image

However, you should be careful in environments where most of the traffic is generated on communication with devices other than the controlled device. In the above figure, if there is also a connection other than branches, it may occupy most of the traffic received by the center device. In that case, even if you suppress traffic from the branches, the load of the center device is not reduced. QoS control at the time of sending from a branch prevents the discard of significant packets. However, since the load of the center device remains high, the branch device continues to suppress sending. As a result, the bandwidth that the controlled branch can use narrows down.

This function cannot be used simultaneously with the bandwidth detection function.

Compatible Models & Firmware Revisions

The Yamaha routers support the load watch notification function with the following models and firmware.

Model Revision
RTX5000 Rev.14.00.15 or later
FWX120 Rev.11.03.23 or later
RTX810 Rev.11.01.29 or later

Outline of Operations

"Server" is a device that detects its own load and "Client" is a device that receives a control request from the server.

Server

The server monitors the following values as the load of the device.

Monitored object Threshold
CPU load CPU usage (%)
LAN interface Amount of reception Number of bits per unit time
Number of reception overflows Number of times per unit time
Amount of transmission Number of bits per unit time
Tunnel interface Amount of reception Number of bits per unit time
Amount of transmission Number of bits per unit time

When these values exceed the specified suppression request threshold, the server sends a suppression request to the client. As long as any value exceeds the threshold, the server sends a suppression request to the client at regular intervals. Likewise, when all of the above values fall below the suppression release threshold, the server sends a suppression release to the client. Then, the amount of traffic sent from the client returns promptly to the state before suppression.
Using these two types of thresholds prevents frequent changes of "request" and "release" status in a short period. Also, you can specify the number of detections leading up to the notification.

Example of server behavior

Example of Server Behavior (Notify with Three Consecutive Detections)

Client

The client receives notification from the server and performs QoS control. When the client receives a suppression request, it suppresses traffic at the specified rate. By repeatedly receiving notifications, the client suppresses more traffic. As long as the client receives no notification from the server, the client gradually recovers the amount of traffic. The target amount is either the maximum configured bandwidth or the bandwidth before suppression, which is smaller. When the client receives a suppression release, it returns promptly to the bandwidth before suppression.

When the amount of traffic suppression changes due to notification from the server or recovery action, internal QoS behavior also changes. Therefore, depending on the load and timing, the following may occur.

  • Packet loss
  • Temporary impact on the behavior of Dynamic Class Control
Example of client behavior

Example of Client Behavior

List of Setting Options Necessary for a Server and a Client in Load Watch Notification Function

Operations for each counterpart can be defined in the option setting. List of options is shown below. For more information refer to the Command section.

✅: Required setting
✓: Can be set
⚠: Cannot be set

Setting item Setting value "cooperation load-watch remote" command
Client side
(role : 'server' )
Server side
(role : 'client' )
Necessity Initial value Necessity Initial value
id 1 to 100 - -
role server, client
(server)
-
(client)
-
address (Note1) - -
option trigger Trigger definition number, Multiple acceptable - Not set
control Control operation definition number Not set -
port Port number in decimal 59410 59410
syslog on, off off off
apply on, off (Note2) on (Note2) on
register on,off (Note3) off -
register-interval 1 to 2147483647 [sec] (Note3) 1200 -
register-time 1 to 2147483647 [sec] - (Note4) 3600
name up to 16 characters (Note5) Not set (Note5) Not set
[Caution]

Note1:
IP address or FQDN or 'any' can be set.
In case of an undefined IP address on the client side, 'any' should be set in the server side, and 'register=on' should be set in the client side.

Note2:
If 'apply=off' is set on the server side, the server does not send the result of load watch notification to the client.
If 'apply=off' is set on the client side, the client does not apply the received result to the QoS control.

Note3:
It is available when address on the server side is specified other than 'any'.

Note4:
It is available when address on the client side is specified as 'any'.

Note5:
If 'name' is not set, accept all requests and notifications.
If 'name' is set, accept only requests and notifications matching the name.

Settings Examples

Example 1. The Center Sends a Suppression Request to the Respective Branch According to the Load, and Each Branch Reflects It in the QoS Setting.

Topology


                  +----------+
    172.16.100.1  | Branch-A +-----------+
                  +----------+           |
                                 +-------+-------+
                  +----------+   |               |    +----------+
    172.16.110.1  | Branch-B +---+    Network    +----+  Center  | 172.16.10.1
                  +----------+   |               |    +----------+
                                 +-------+-------+
                  +----------+           |
    172.16.120.1  | Branch-C +-----------+
                  +----------+


  * Traffic of Branch-A is most suppressed. 
  * Traffic of Branch-C is least suppressed. 

An Example of the Change in the Reception Load on LAN2 of the Center Device

It shows the behavior with the increase/decrease of the load of the center.

Center behavior

Settings

Center

#cooperation load-watch trigger 1 lan2 receive high=50m low=20m,1
#cooperation load-watch trigger 2 lan2 receive high=80m,1 low=50m
#cooperation load-watch trigger 3 lan2 receive high=80m low=50m,1
#cooperation load-watch remote 1 client 172.16.100.1 trigger=1
#cooperation load-watch remote 2 client 172.16.110.1 trigger=2
#cooperation load-watch remote 3 client 172.16.120.1 trigger=3
#cooperation load-watch server on
Branch-A (Priority control)

#speed lan2 20m
#queue lan2 type priority
#cooperation load-watch client on
#cooperation load-watch control 1 high=20m low=1m
#cooperation load-watch remote 1 server 172.16.10.1 control=1
Branch-B (Bandwidth control)

#speed lan2 50m
#queue lan2 type shaping
#queue lan2 class property 1 bandwidth=30%
#cooperation load-watch client on
#cooperation load-watch control 1 high=50m low=1m lower=50 raise=2
#cooperation load-watch remote 1 server 172.16.10.1 control=1
Branch-C (Priority control)

#speed lan2 50m
#queue lan2 type priority
#cooperation load-watch client on
#cooperation load-watch control 1 high=50m low=10m lower=20 raise=5
#cooperation load-watch remote 1 server 172.16.10.1 control=1

Description

Center
#cooperation load-watch trigger 1 lan2 receive high=50m low=20m,1

Set the notification trigger. When the reception speed(*) exceeds 50 [Mbit/s] three consecutive times, Center sends a suppression request. After that, when the reception speed becomes 20 [Mbit/s] or less once, Center sends a suppression release.
(*) Reception speed : Center determines from the number of received bytes from LAN2 per unit time.

#cooperation load-watch trigger 2 lan2 receive high=80m,1 low=50m

Set the notification trigger. When the reception speed exceeds 80 [Mbit/s] once, Center sends a suppression request. After that, when the reception speed becomes 50 [Mbit/s] or less three consecutive times, Center sends a suppression release.

#cooperation load-watch trigger 3 lan2 receive high=80m low=50m,1

Set the notification trigger. When the reception speed exceeds 80 [Mbit/s] three consecutive times, Center sends a suppression request. After that, when the reception speed becomes 50 [Mbit/s] or less once, Center sends a suppression release.

#cooperation load-watch remote 1 client 172.16.100.1 trigger=1

Register Branch-A as a client. Set trigger 1 for notification.

#cooperation load-watch remote 2 client 172.16.110.1 trigger=2

Register Branch-B as a client. Set trigger 2 for notification.

#cooperation load-watch remote 3 client 172.16.120.1 trigger=3

Register Branch-C as a client. Set trigger 3 for notification.

#cooperation load-watch server on

Make itself function as a server.

Branch-A (Priority control)
#speed lan2 20m

Set the LAN2 interface speed.

#queue lan2 type priority

Use priority control on the LAN2 interface. In addition, class separation setting is required.

#cooperation load-watch client on

Make itself function as a client.

#cooperation load-watch control 1 high=20m low=1m

Set suppression operation. Interface speed up to 20 [Mbit/s]. The speed decreases down to minimum 1 [Mbit/s] when receiving a suppression request.

#cooperation load-watch remote 1 server 172.16.10.1 control=1

Register the Center as a server. Apply the operation setting of when receiving a suppression request from the server.

Branch-B (Bandwidth control)
#speed lan2 50m

Set the LAN2 interface speed.

#queue lan2 type shaping

Use bandwidth control on the LAN2 interface.

#queue lan2 class property 1 bandwidth=30%

When using the load watch notification function, set the bandwidth in % with the queue class property command. If you set the bandwidth without %, the setting value is not guaranteed. In addition, class separation setting is required.
In this example, 30% of the interface speed (which changes depending on the load watch notification) is allocated to class 1.

#cooperation load-watch client on

Make itself function as a client.

#cooperation load-watch control 1 high=50m low=1m lower=50 raise=2

Set suppression operation. Interface speed up to 50 [Mbit/s]. The speed decreases down to minimum 1 [Mbit/s] when receiving a suppression request. In the case of receiving the suppression request, the suppression rate is 50%, and the recovery rate is 2% per unit time.

#cooperation load-watch remote 1 server 172.16.10.1 control=1

Register the Center as a server. Apply the operation setting of when receiving a suppression request from the server.

Branch-C (Priority control)
#speed lan2 50m

Set the LAN2 interface speed.

#queue lan2 type priority

Use priority control on the LAN2 interface. In addition, class separation setting is required.

#cooperation load-watch client on

Make itself function as a client.

#cooperation load-watch control 1 high=50m low=10m lower=20 raise=5

Set suppression operation. Interface speed up to 50 [Mbit/s]. The speed decreases down to minimum 10 [Mbit/s] when receiving a suppression request. In the case of receiving the suppression request, the suppression rate is 20%, and the recovery rate is 5% per unit time.

#cooperation load-watch remote 1 server 172.16.10.1 control=1

Register the Center as a server. Apply the operation setting of when receiving a suppression request from the server.

Command

Set the Port Number to Be Used by the Cooperation Function

[Syntax]
cooperation port port
no cooperation port [port]
[Setting and Initial value]
  • port
    • [Setting] : Port Number
    • [Initial value] : 59410
[Description]

Sets the UDP port number to be used by the cooperation function. This number is used as the source port number of packets send by the cooperation function. When packets with this destination port number is received, they are handled as packets of the cooperation function.

Set Whether to Use the Cooperation Function

[Syntax]
cooperation type role sw
no cooperation type role [sw]
[Setting and Initial value]
  • type : Cooperation type
    • [Setting] :
      Setting Description
      bandwidth-measuring Line bandwidth detection
      load-watch Load watch notification
    • [Initial value] : -
  • role : Cooperation role
    • [Setting] :
      Setting Description
      server Server operation
      client Client operation
    • [Initial value] : -
  • sw
    • [Setting] :
      Setting Description
      on Enable the function
      off Disable the function
    • [Initial value] : All operation functions set to off
[Description]

Sets the operation of each cooperation function.

Set the Operation of Each Peer That Is to Cooperate in the Load Watch Notification

[Syntax]
cooperation load-watch remote id role address [option=value]
no cooperation load-watch remote id [role address [option=value]]
[Setting and Initial value]
  • id
    • [Setting] : Peer ID number (1..100)
    • [Initial value] : -
  • role : Role of the peer in the cooperation
    • [Setting] :
      Setting Description
      server The peer performs server operation
      client The peer performs client operation
    • [Initial value] : -
  • address
    • [Setting] : Peer IP address of the cooperation, FQDN, or 'any'
    • [Initial value] : -
  • option : Option
    • [Setting] :
      Setting Description
      trigger Trigger definition number (1-65535) corresponding to the condition used to notify the client when the local side is operating as a server. Multiple numbers can be specified by separating each number with a comma. Can be specified only when the peer operation is set to client.
      control Control operation definition number (1-65535) when a notification is received from the server when the local side is operating as a client. Can be specified only when the peer operation is set to server.
      port UDP port number that the peer uses (1-65535)
      syslog Whether to log the operation (on or off)
      apply Whether to apply the result of the load watch notification to the operation (on or off)
      register Whether to send registration packets to the server (on or off)
      register-interval Interval at which registration packets are sent from the client to the server (1..2147483647)[sec]
      register-time The amount of time for which client registration information is stored on the server (1..2147483647)[sec]
      name Name for identifying the peer (up to 16 characters)
      local-address Source IP address of the sent packets
    • [Initial value] :
      • port=59410
      • syslog=off
      • apply=on
      • register=off
      • register-interval=1200
      • register-time=3600
[Description]

Sets the operation of each peer that is to cooperate in the load watch notification.

[Note]

The 'trigger' option can be used when the role parameter is set to 'client', and the 'trigger' option must be set when the role parameter is set to 'client'. The 'control' option can be used when the role parameter is set to 'server', and the 'control' option must be set when the role parameter is set to 'server'.

If 'any' is specified on the server side, on the client side, 'register' must be set to 'on' so that the server can be notified of the client's existence.

When the 'name' option is specified, the setting only functions when the same name is set on both the server and the client.

You can use the 'local-address' option to set the source IP address of the sent packets. If you do not set this option, the IP address of the interface is used.

If multiple triggers are specified, the transmission timing of the suppression request is detected individually by each trigger. If the transmission timing of the trigger differs, the suppression request is sent at the individual timing. If the timing matches, a single suppression request is sent.
If a suppression release is sent to the peer, no more suppression release is sent until a suppression request is sent.
Suppression release notification is not sent even if the trigger condition meets the suppression release condition if the suppression request has not been sent.
If the peer information is deleted while performing suppression control, the speed of the controlled interface maintains the setting at that point.

Set the Operation Trigger for the Load Watch Server

[Syntax]
cooperation load-watch trigger id point high=high [, count] low=low [, count] [option=value]
no cooperation load-watch trigger id [point high=high [, count] low=low [, count] [option=value]]
[Setting and Initial value]
  • id
    • [Setting] : Peer ID number (1-100)
    • [Initial value] : -
  • point : Load watch point
    • [Setting] :
      • cpu load
        • Specify the value for monitoring the CPU load at a given unit time interval as a percentage.
      • interface receive
        • Monitor the amount of reception per unit time on the interface. Specify the value as a number of bits per second.
          Parameter Setting
          interface Interface name (LAN,TUNNEL)
      • interface overflow
        • Monitor the increasing number of reception overflows and receive buffer errors per unit time on the LAN interface. Specify the value as a count.
          Parameter Setting
          interface LAN interface name
      • interface [class] transmit
        • Monitor the amount of transmission per unit time on the interface. Specify the value as a number of bits per second.
          Parameter Setting
          interface Interface name (LAN,TUNNEL)
          class Class number (for a LAN interface)
    • [Initial value] : -
  • high
    • [Setting] : High load detection threshold
    • [Initial value] : -
  • low
    • [Setting] : Load decrease detection threshold
    • [Initial value] : -
  • count
    • [Setting] : Number of detections at which the notification is to be sent (1-100). 3 if omitted.
    • [Initial value] : -
  • option : Option
    • [Setting] :
      Setting Description
      interval Watch interval (1-65535)[sec]. 10[sec] if omitted.
      syslog Whether to log the operation (on or off). off if omitted.
    • [Initial value] : -
[Description]

Sets the conditions for detecting the router load and sending traffic suppression requests to the peer. The load at the watch point is monitored at a unit time interval. When the threshold specified by high is exceeded the number of times specified by count, a suppression request is sent. As long as the high load condition in which the threshold value is exceeded persists, the suppression request is sent continuously at the count interval.
Likewise, if the traffic is less than the threshold value specified by low the number of times specified by count, a suppression release is sent. The suppression release is not sent to the same peer continuously.
The 'class' option can only be used on models with bandwidth control functions.

[Note]

To determine the threshold values, information that is shown by show environment and show status lan as well as the value shown in the log through the 'syslog' option can be used as reference.

[Example]
# cooperation load-watch trigger 1 cpu load high=80 low=30

Monitor the CPU load at a constant interval. If the load is greater than or equal to 80% for three consecutive measurements, send a suppression request. Then, if the load is less than or equal to 30% for three consecutive measurements, send a suppression release.

# cooperation load-watch trigger 2 lan2 receive high=80m,5 low=50m,1

Determine the reception speed from the number of received bytes from LAN2 within the unit time. If the value is greater than 80 [Mbit/s] for five consecutive measurements, send a suppression request. Then, if the value is less than or equal to 50 [Mbits/s] at least once, send a suppression release.

# cooperation load-watch trigger 3 lan2 overflow high=2,1 low=0,5

Watch the increase in the number of reception overflows at LAN2 within a unit time. If an overflow is detected twice, send a suppression request. If an overflow is not detected five consecutive times, send a suppression release.

Set the Operation Trigger for the Load Watch Client

[Syntax]
cooperation load-watch control id high=high [raise=raise] low=low [lower=lower] [option=value]
no cooperation load-watch control id [high=high [raise=raise] low=low [lower=lower] [option=value]]
[Setting and Initial value]
  • id
    • [Setting] : Peer ID number (1-100)
    • [Initial value] : -
  • high
    • [Setting] : bit/sec. Upper bandwidth limit.
    • [Initial value] : -
  • raise
    • [Setting] :
      • Percentage. The bandwidth is increased by this percentage at a constant interval while the upper bandwidth limit is not reached.
      • 5% if omitted.
    • [Initial value] : -
  • low
    • [Setting] : bit/sec. Lower bandwidth limit.
    • [Initial value] : -
  • lower
    • [Setting] :
      • Decrease the transmission bandwidth by this percentage when a suppression request is received until the lower bandwidth limit is reached.
      • 30% if omitted.
    • [Initial value] : -
  • option : Option
    • [Setting] :
      Setting Description
      interval Interval at which the bandwidth is increased (1-65535) [sec]. 10[sec] if omitted.
      interface LAN interface for which bandwidth is increased
      class Class for which bandwidth is increased
    • [Initial value] : -
[Description]

Sets the operation for the case when a traffic suppression request is received. The bandwidth is controlled between the bandwidth specified by high and the bandwidth specified by low.

If a suppression request is received, the transmission bandwidth is decreased by the percentage of the operating bandwidth specified by lower. If the bandwidth is less than high, the operating bandwidth increases according to the raise value.

If a traffic suppression release is received, the bandwidth increases to the bandwidth specified by high.

'class' can be specified in option only on units which have bandwidth control functionality enabled.

Manually Execute the Cooperation Function

[Syntax]
cooperation bandwidth-measuring go id
cooperation load-watch go id type
[Setting and Initial value]
  • bandwidth-measuring : Line bandwidth detection
    • [Initial value] : -
  • load-watch : Load watch notification
    • [Initial value] : -
  • id
    • [Setting] : Peer ID number (1-100)
    • [Initial value] : -
  • type : Packet type
    • [Setting] :
      Setting Description
      lower Load decrease detection packet
      raise High load detection packet
    • [Initial value] : -
[Description]

Manually executes the cooperation function.

[Note]

When 'bandwidth-measuring' is specified, the measured results appear in the log. If the interface speed is set so that the line bandwidth detection value is used, the result obtained by executing this command is also applied to the setting.

If 'load-watch' is specified, a packet that is same as the packet delivered to the specified peer according to load watch trigger is delivered. It is valid only for peers whose role is set to client.

Show the Cooperation Status

[Syntax]
show status cooperation type [id]
[Setting and Initial value]
  • type : Cooperation type
    • [Setting] :
      Setting Description
      bandwidth-measuring Line bandwidth detection
      load-watch Load watch notification
    • [Initial value] : -
  • id
    • [Setting] : Peer ID number (1-100)
    • [Initial value] : -
[Description]

Shows cooperation information.

The following items are shown for line bandwidth detection.

  • Peer information

  • Status display

    • Count

    • Time of measurement

    • Measured result (client operation only)

    • Current status (client operation only)

    • Configuration change history (client operation only)

    • Remaining time until the next measurement (client operation only)

The following items are shown for load watch notification.

  • Peer information

  • Status display

    • Suppression request county

    • Suppression release count

    • History

Return to Top