This application note describes three typical Use Cases of QoS implemented in RipEX.
Prioritization of Serial (COM) SCADA traffic
Prioritization of TCP application
Prioritization of Fast Remote Access
Typical serial SCADA application is Master-Slave communication, i.e. there is only ever one application related packet on the Radio channel at a time. For such an application, no QoS is required. But collisions and lost packets might appear once we utilize other traffic simultaneously with this SCADA traffic, such as SNMP monitoring, frequent watched values, NTP data or remote radio re-configuration. Because this other traffic is not crucial (mission-critical) compared to serial communication and must not influence/limit serial traffic. QoS can be configured to prioritize (for example) serial traffic over other traffic so that this mission-critical application can run smoothly all the time.
In the first example, the central SCADA is connected via Ethernet to RipEX-Base unit. The SCADA Center utilizes Modbus TCP, but the remote RTUs are connected via RS232 (COM1) port and are configured as Modbus RTU slaves. RipEX itself enables free Modbus TCP to/from Modbus RTU conversion.
The routing is not required, Base driven protocol (BDP) is configured and all communication is configured in the Settings menu. Remote units can have default Ethernet IP address/mask.
Modbus TCP is handled in RipEX-Base and transferred as UDP to remote units. The source port on the Radio channel is UDP/8902 and the destination is UDP port 8881. The direction from remotes to RipEX-Base just switches the ports. QoS is configured accordingly. See the details in the following configuration steps.
Parameters:
Unit name | RipEX-Base |
Operating mode | Router |
Radio protocol | Base driven |
Station type | Base |
Radio IP/Mask | 10.10.10.254/255.255.255.0 |
QoS | On |
ETH IP/Mask | 192.168.254.1/255.255.255.0 |
Modbus TCP | On |
The network is configured using Base driven Radio protocol. Set the Unit name, select the Router mode and configure correct IP addresses.
Open the Radio protocol menu and configure the protocol details.
Configure any Mode, Modulation type and rate, but keep the Mode and type the same within the whole network.
NOTE:
The Modulation rates and other parameters
can be different for remote units. Please see more details in the
Autospeed
application note.
Configure all 5 remote RipEX units and focus on the “Connection” and “Repeater Protocol addr.” columns.
Protocol address 1 – Direct connection
Protocol address 2 – Direct connection and configured as Repeater
Protocol address 3 – Direct connection
Protocol address 4 – Behind the Repeater #2
Protocol address 5 – Behind the Repeater #2
There is no need for any Routing rules. As stated earlier everything is controlled by the Base station by this Remotes’ table and BDP functionality. The Routing menu is empty.
NOTE:
Please see more details in the
BDP
application note.
Open the Ethernet option “Modbus TCP”.
Turn on the Modbus TCP functionality. Keep the default TCP port 502 for local Ethernet connection over Ethernet. Based upon your configuration, turn on or off the Broadcast option.
The address translation can be “Mask” because all the remote RTU’s are connected over COM1 and the Modbus RTU address equals to last Radio IP digit, e.g. RTU address 4 is connected to RipEX4 (Radio IP 10.10.10.4) via COM1 port.
Modbus TCP accepts the TCP connection from Modbus TCP SCADA Center (192.168.254.100) on port 502. The TCP connection is established only locally via Ethernet. Modbus TCP functionality in RipEX sends the Modbus TCP frames to remote units as UDP over the Radio channel. The Source port is internally set to UDP port 8902 and the destination port is the COM1’s port, i.e. 8881. QoS will be configured appropriately.
Please see more details in the Modbus TCP/RTU application note.
Open the Radio QoS Settings.
Turn on the QoS. Keep the Default priority to 8 (Lowest) and Queue size to 5 packets.
Add one QoS rule:
Protocol | UDP |
Source port | MBTCP (8902) |
Destination port | COM1 (8881) |
Assigned priority | 1 (Highest) |
As described above, the Protocol must be set to “UDP”, the Source port to 8902 and the Destination port to 8881. Assign the highest priority (1) for this traffic.
The current configuration ensures all the packets matching the defined filters are inserted to the highest priority queue and dispatched first.
All remote RipEX units have the same configuration except:
Unit name
Radio IP address
Common parameters for all remote units (blue):
Operating mode | Router |
Radio protocol | Base driven |
Station type | Remote |
Radio Mask | 255.255.255.0 (default) |
ETH IP/Mask | 192.168.169.169 / 255.255.255.0 (default) |
COM Protocol | Modbus |
Unique parameters for particular RipEX unit (red):
Unit name | RipEX2 |
Radio IP | 10.10.10.2 |
The network is configured using Base driven Radio protocol. Set the Unit name, select the Router mode and configure correct IP addresses.
Open the Radio protocol menu and configure the protocol details.
All remote units share completely the same BDP configuration.
Parameters:
Radio protocol | Base driven |
Station type | Remote |
Protocol address mode: | Automatic |
The Protocol address is automatically set based on the last Radio IP digit.
Open the COM1 Protocol menu.
Configure all remote RipEX units – select the Modbus protocol and the “Slave” mode.
Open the Radio QoS configuration.
Turn on the QoS. Keep the Default priority to 8 (Lowest) and Queue size to 5 packets.
Add one QoS rule:
Protocol | UDP |
Source port | COM1 (8881) |
Destination port | MBTCP (8902) |
Assigned priority | 1 (Highest) |
As described above, the Protocol must be set to “UDP”, the Source port to 8881 and the Destination port to 8902. Assign the highest priority for this traffic.
The current configuration assures all the packets matching the defined filters are inserted to the highest priority queue and dispatched first.
No routing rules are required in this example.
TCP’s typical behaviour is, simply stated, to use as much of the link capacity as possible. To control TCP’s behaviour, RipEX can be configured in Base driven Protocol to handleTCP efficiently and control channel utilization. QoS can improve the behaviour in the case of more than one TCP application being used in a network (or any other such as SNMP, NTP, remote configuration, …).
QoS can prioritize one or more traffic types over others. In our example, it is IEC104 traffic prioritization over other traffic. BDP controls TCP flows in a general way and QoS goes “deeper” and filters traffic according to given rules (particular ports, protocols, TOS fields, …) so that a primary IEC104 application runs smoothly.
This example requires modification of configuration settings in RipEX units. We need to change the remote Ethernet subnets – the IEC104 remote devices are connected via Ethernet and the SCADA Center needs to reach a remote device IP address. Default Ethernet IP address cannot be used (see Note below). Various options are possible; this method requires “only” IP address changes and Routing configuration.
NOTE:
Remote IEC104 slave devices could be
configured with the same (default) IP address, but NAT functionality
would be required. Please see the NAT
application notes for more details to find out
whether it suits your requirements, or not.
RipEX-Base configuration is almost the same as described in the previous Chapter 2.1 Serial (COM) SCADA Traffic Prioritization. The only difference is the QoS configuration.
NOTE:
You could, but do not have to turn off the
Modbus TCP functionality.
IEC104 uses the TCP port 2404 by default:
Protocol | TCP |
Source port | All |
Destination port | Manual (2404) |
Note that the Source port should be “All”, because the IEC104 centre uses TCP port 2404 only as a Destination port, but the Source port is usually dynamically chosen.
The Queue size is increased to 16. A TCP mechanism usually requires higher queue size than UDP. Optimize the value for your particular application in an interval 2-31 – Values higher than 12 are recommended.
Add 5 routing rules, one rule for each remote RipEX.
192.168.1.0/24 via 10.10.10.1
192.168.2.0/24 via 10.10.10.2
192.168.3.0/24 via 10.10.10.3
192.168.4.0/24 via 10.10.10.4
192.168.5.0/24 via 10.10.10.5
NOTE:
The network utilizes BDP and thus, gateways
are set to particular remote RipEX and not repeater IP (if it is
behind that repeater). This knowledge/control is set in the BDP
details (Settings menu).
In each remote, change the IP address following the rule:
Radio IP address: 10.10.10.X –> Ethernet IP 192.168.X.1
For RipEX2, Ethernet IP address is 192.168.2.1.
NOTE:
You can disable the Modbus protocol on
COM1.
Change the QoS configuration.
Increase the Queue size to 16 (the same value as in the Base unit).
Configure one QoS rule:
Protocol | TCP |
Source port | Manual (2404) |
Destination port | All |
The ports are just swapped compared to Base unit.
Fast Remote Access is a very helpful feature allowing remote units to be managed with minimum data being transmitted over the Radio channel. Only the effective data are transferred from remote RipEX over the Radio channel. The large amount of data needed to display full web interface is downloaded from the local unit which is usually connected via fast Ethernet interface.
A customer can have two different scenarios when controlling the unit management priority might be beneficial.
1.3.1. – Ordinary network traffic must not be affected by unit management (i.e. Fast Remote Access). QoS protects user application traffic against unwanted effects of management traffic.
1.3.2. – Remote unit management is important to work fluently under all circumstances. QoS is used to prioritize the management traffic, although it might even limit/disable running user application for a short period of time.
Applying QoS on management traffic might be useful especially in situations when a technical support package from a remote RipEX unit needs to be downloaded or a new firmware to a remote RipEX unit needs to be uploaded.
One approach is to change the default QoS priority and then configure a new QoS rule for Fast Remote Access traffic to lower its priority compared to other traffic.
Set the Default priority to 5. Any traffic going to the Radio channel which does not meet the QoS rules’ filters, is handled with priority 5.
Create a new QoS rule:
Protocol | TCP |
Source port | All |
Destination port | rem.access (8889) |
Assigned Priority | 8 (Lowest) |
Swap the Source and Destination ports in all remote RipEX units so that the opposite traffic is prioritized in remote RipEX as well. I.e. Source port = rem.access (8889), Destination port (All).
The default priority can remain as the default value (8).
Add a new rule
and put it on the first line (to be evaluated first).
Protocol | TCP |
Source port | All |
Destination port | rem.access (8889) |
Assigned Priority | 1 (Highest) |
Swap the Source and Destination ports in all remote RipEX units so that the opposite traffic is prioritized in remote RipEX as well. I.e. Source port = rem.access (8889), Destination port (All).