Download as pdf or txt
Download as pdf or txt
You are on page 1of 4

Enhanced Random Early Detection Algorithm

BACnet Router For Congestion Avoidance-


Shubin Wu Xiande Liu Zhongming Wang
Optoelectronics Engineering Deportment, Htrazhong Univ. of Sci. & Tech.,Hubei, P.R. China
shubinwu@xinhuanet. cam mlzhou@public.wh.hb.cn wangzm20U3@163.com

.
U

Abstruct- This paper analyses the reason for congestion in To realize the congestion avoidance in BACnet network, this
BACnet network and conventional congestion avoidance paper presents an extended Random Early Detection (ERED)
algorithm. On the base of Conventional RED algorithm, an algorithm for BACnet router.
absolute priority based congestion avoidance algoriihm named
Enhanced Rnndom Early Detection @RED) algorithm is
presented. Similar to the conventional RED algorithm, ERED 2. Using RED Algorithm in BACnet network
detects congestion according to the average queue length. ERED
differs from conventional RED algorithm in queue management BACnet standard didn’t define the criterion of congestion
and dropping strategy. ERED adopts active queue management control algorithm, but BACnet standard indicates that any
mechanism to store packets. ERED drops packets according to congestion control algorithm used for BACnet router must
priority. Combined with BACnet standard’s congestion control consider the following two factors:
mechanism, ERED can be used by BACnet router to solve the
(1) The percentage of buffer space currently occupied;
congestion in BACnet network. At the same time, ERED
(2) The rate at which new packets have been arriving at the
.
algorithm ensures the reliability of BACnet network..
router;
There are two kinds of congestion avoidance algorithm:
Keywords - ERED, BACnet router, congestion avoidance,
passive congestion avoidance algorithm and active congestion
..
reliability.
avoidance algorithm.
Passive congestion avoidance algorithm such as drop tail
-
1. Introduction algorithm isn’t suitable for BACnet network’s congestion
avoidance. The reason is shown as follows:
BACnet is an international standard o f data communication Passive congestion avoidance algorithm can’t ensure the
protocol for building automation and control network. As an reliability of BACnet network. To ensure communication
open protocol, BACnet is used more and more wideIy in reliability, BACnet standard’s net-layer defines packets
building automation field. BACnet defines a series of standard priority to denote the grade of emergency: life safety,
objects and services. BACnet objects’ properties represent the critical equipment, urgent and normal message. Usually,
setting and status of building automationequipments. Through passive congestion avoidance algorithm takes effect after
BACnet services, BACnet objects’ properties can be accessed congestion has occurred already. Once congestion occurs,
or operated. all new arrived packets will be dropped, including high
Network congestion control is necessary in BACnet network. priority packets.
Because BACnet standard’s feature decides congestion is Passive congestion avoidance algorithm can’t adapt to
unavoidable in BACnet network. Comparing with OS1 the outburst of BACnet network. Usually, passive
reference model, BACnet standard has its own unique feature. congestion avoidance algorithm couldn’t detect network
At first, BACnet is based on a four-layer collapsed outburst in advance. Once great deals of packets arrive at
architecture that corresponds to the application, network, data arouter in a short time, router’s buffer will overflow.
link, and physical layers of the OS1 reference model. BACnet As an active contestion avoidance algorithm, RED algorithm
hasn’t transport-layer, so BACnet network lacks end-to-end detects congestion by computing the average queue size of
flow control mechanism. Second, BACnet net-layer has router’s buffer. When the average queue size exceeds a preset
limited net-layer functions. BACnet net-layer defines that low threshold, the router drops each amving packet with a
there is only one route between two BACnet equipments. So certain probability, where the exact probability is a function of
BACnet net-layer can’t afford load equalization. Third, the average queue size. When the average queue size exceeds a
BACnet network i s a heterogeneous control network. Many preset high threshold, the router drops each arriving packet
kinds of LAN technologies can be used in BACnet’s absolutely. Thus, congestion could be detected in advance.
data-link-layer,such as Ethemet, MSRP over RS485,ARCnet, router could adopt congestion control mechanism to release
PTP and so on. So in BACnet network, communication rate is the congestion degree of nerwork. So we can see, RED
various greatly between two different link. algorithm takes router buffer’s capability and new packet’s
arriving rate into account, satisfies the requirement of BACnet

- 1156 -
standard. We can use RED algonthm as the basis of BACnet ERED dropper decides whether drop the packet
network's congestion avoidance. according to the average queue length and the priority of
In addition, BACnet net-layer defines three types of the packet marked by ERED priority marker:
messages that can be used to control the congestion of BACnet ERED queue stores the arrived packet according to its
network: Router-Busy-To-Network message, priority.
Router-Available-To-Network message and Absolute priority scheduler schedules packets in ERED
Reject-Message-To-Network message. Combined with RED queue from high priority to low priority in order. So the
algorithm, these congestion control messages could be used to higher priority of the packet, the quicker the packet is
control congestion in BACnet network actively. handled by router.
With this congestion control model, BACnet router
3. ERED Framework processes new arrived BACnet packet by following steps:
(1) When a new BACnet packet arrives the router, routa
On base of the conventional RED algorithm, the paper puts resolves the packet's net-layer header. The emergency
forward ERED algorithm. ERED algorithm differs with degree of the packet may be life safety, critical
conventional RED algorithm in queue management and equipment, urgent or normal. F'riority marker marks the
dropping strategy. priority of the new arrived packet according to the
When congestion might occur, ERED algorithm drops emergency degree.
packets according to the BACnet packet's priority. Usually, (2) ERED counter computes the current average queue
conventional RED algorithm puts effect on congestion length.
avoidance through the connection-oriented transport-layer (3) Marked BACnet packet is handled by ERED dropper.
protocol, such as TCP. But BACnet standard has not ERED dropper detects congestion according to the
transport-layer and is a connectionless-oriented protocol in current average queue length that is computed by ERED
nature. So ERED must adapt active congestion control counter. If congestion might happen in BACnet network,
measure to avoid congestion. Once packets are dropped, active ERED dropper will drop packets according to dropping
congestion control measure will start to notify BACnet end strategy. At the same time, active congestion control
equipments or other BACnet routers. Thus, BACnet end mechanism is started up.
equipments and other BACnet routers can know the (4) Un-dropped BACnet packets are stored in ERED queue
congestion situation in network and decrease packets sending according to their marked priority.
rate. Once congestion is released in network, BACnet router ( 5 ) Absolute priority scheduler scans the ERED queue at
should notify BACnet end equipments and other BACnet interval. Sends out packet from high priority to low
routers. So other BACnet end equipments or routers can priority in order. Then router can handle these output
increase packets sending rate. packets.
In ERED algorithm, we utilize three types of congestion
control messages defined by BACnet standard to curtail or 4. Function of the ERED model
increase the packets sending rate.
The paper introduces an E E D model to realize BACnet A. Congestion estimate
network congestion control. Figure1 shows the model's logic
structure framework. ERED estimates network congestion according to the
average queue length. As shown in figure 2, min,, and
maxi* denote preset low queue threshold.and high queue
threshold respectively. Once a BACnet packet arrives at the
router, ERED counter will compute the ERED average queue
length qovasing equation (1):

u u u u *
Figure 1. structure of the ERED algorithm modet
Where q .is current queue 1ength.T: is the current average
As shown as figurel, ERED algorithm model is made of by
priority marker, ERED dropper, ERED queue, Absolute queue length, and q;' is the last time average queue length.
priority scheduler and ERED counter. Each component's wq is weight constant, which reflects the affection degree
function is:
current queue length q .acting on average queue length.
(1) Priority marker marks the priority of the new arrived
BACnet packet according to the packet's net-layer ERED estimates network congestion according to current
header. average ERED queue qk . Let qm denote qh , current
(2) ERED counter computes the average queue lengthonce a average ERED queue q, has three types of different status:
new packet arrives.

- 1157-
(1) 4 , <min,h In this situation, p d = 0 , there is no congestion evidence in
If qw is shorter than the preset low queue threshold min,,, , BACnet network, ERED dropper will not drop packets.
ERED will estimate that ‘there is no congestion in BACnet
network. fninth < 4,, < m a t h
* . 1. I .
In this situation, p d # 0, BACnet network. might appear
( 2 ) minrh <qav <maxlh
light congestion. ERED dropper drops packets in proportion to
If qm i s longer than the preset low threshold min,,, , but dropping probability p d . With the growing of average queue
shorter than the preset high threshold maxi . ERED will length qm , p d k i l i growingrapidly. The maximum dropping
estimate that BACnet network might appear light congestion.
probability is max,, .
In this status, ERED.’s congestion avoidance mechanism will
be started. ., .
. .
(3) qm >max,h .‘
In this situation, p d = I , BACnet network might appear
If qm is longer than the preset high threshold max,,, ,
serious congestion. ERED dropper drops packets in proportion
ERED will estimate that BACnet network might appear to dropping probability p d = 1;
serious congestion. Stronger ERED’s congestion avoidance
mechanism will be started. To avoid congestion in BACnet network, ERED dropper
might drop some BACnet packets. ERED dr.opper drops
packets according to the ,packet’s priority marked by ERED
B. Congestion avoidance marker. ERED dropper compares the priority of the new
arrived packet with the priority of the packets that are stored in
If congestion might occur, ERED dropper must drop some ERED queue. ERED dropper will search the ERED queue
packets to avoid network congestion. ERED dropper drops
from low priority storage region to high priority storage region,
packets according to dropping probability pd --which is find a low priority packet and then drop it. Then the high
calculated.by ERED dropper. Equation (2) shows the value’s priority new amved packet is stored into ERED queue. If the
detmination of p d : new arrived packet’s prionty is lower than the one stored in
ERED queue, it will be dropped.
On the other hand, un-dropped packets will be stored into
EIZED queue according to the packet’s priority. High priority
packet will be stored in the queue’s head. Low priority packet
will be stored in the queue’s tail.
1,
C. Congestion control strategy
Where maxp indicates the maximum dropping probability, In the ERED algorithm, when congestion may happen in
and qov indicates the current average ERED queue length. BACnet network, BACnet router will drop packet and then
transfer corespondingport’s status to “busy”. Once a BACnet
Figure 2 shows the relationship between dropping probability
packet has been dropped, BACnet router will start active
p d and the current average ERED queue length qm .
congestion control strategy to notify other BACnet routers and
equipments.
PO . . Before a BACnet packet is dropped, ERED dropper will
resolve the packet’s destination network number. Then router
broadcasts a Router-Busy-To-Network. message with the
network number. Each router receiving a
Router-Busy-To-Network message will update its routing
table to indicate that the specified network is not reachable, the
port status is set temp-invalid. Then set or reset a 30-second
timer for this status, and broadcast a Router-3usy-To-Network
Figure 2. the relationship between pd and 4- message out each port other than the one on which it was
received so that all routers and equipments could learn of the
congestion control restriction. All other routers or equipments
As shown as figure 2, ERED dropper drops packets in stop sending packet to the congestion network.
proportion to dropping probability p d . After 30-second, if these routers or equipments have not
received the busy router’s Router-Available-To-Network
q , <min,h message, they can send packets to this busy router. In this
event, if the router is able to accept the packet, it will do so and
broadcast a Router-Busy-To-Network message for the benefit

- 1158-
of this node again. If the router is unable to accept the message, with priority 3, priority 2, priority I and priority 0 respectively.
it will immediately return a Reject-Message-To-Network to Then the packet could be stored in ERED queue according to
the sender. It will then also broadcast another its marked pnority. High priority packet is stored in the kont
Router-Busy-To-Network message. of ERED queue, and IOW priority packet is stored in the rear of
To support active congestion control in BACnet network, ERED queue. Packets with the same priority are stored in the
BACnet routing table adds port status and active time field. same storage region according to FIFO (First In First Out)
Port status field indicates the corresponding network’s principle. The principle 1s that first amved packet is stored in
congestion status. If a port’s status IS valid, corresponding the front of the storage region and iast arrived packet is stored
network is reachable, else if a port’s status is temp-invalid, in the rear of the storage region,
corresponding network may be in congestion status. The ERED absolute priority scheduler scans the ERED queue
router couldn’t send packet to the network. from head to tail. BACnet packet stored in the head of ERED
Table 1 shows an example fraction of routing table. is served at first. When all packets with high priority have been
handled over, packets with low priority can be handled.
Table 1. An example routing table in BACnet router When congestion occurs in network, Packets with low
Destination priority might be dropped to store packets with high priority.
part Next station port status time
Network
2 1 Valid 17:05:03
For example, packets with priority 0 might be dropped at first,
3 2 192.168.10.5 Temp invalid 17:04:36
and then packets with priority 1, packets with priority 2 and
4 3 202.1 14.5.176 Temp invalid 17:04:39
packets with priority 3.
5 4 202.1 14.3.45 Temp invalid 17:03:06
5. Conclusion
ERED counter scans the ERED queue at interval. If the
ERED queue is empty, ERED counter will inform ERED Using ERED algorithm and BACnet standard’s congestion
dropper to scan the router’s routing table, and find out all control mechanism, BACnet router can detect congestion in
temp-invalid ports. Then, ERED dropper broadcasts a network and release the congestion of BACnet network
Router-Available-To-Network message with a list of effectually. In addition, ERED algorithm ensures BACnet
corresponding network numbers, it means that the router is network’s rekability.
now able to receive packets for these specific networks. Other
router or equipments can send BACnet packets to these REFERENCES
networks. [I] ANSVASHRAE Standard 135-2001, BACnet; A Data Communication
Protocol for Building Automation and Control Networks, American
Society of Heating, Refrigeration and Air-Conditioning Engineers Inc.
D. Queue management Atlanta, GA.
[2] IS0 16484-5, Building automation and controt system-Part 5 Data
ERED queue is used to store input BACnet packets. ERED communication protocol. KO. 2003.
queue is a link list in nature. Corresponding to four types of [3] Hong. S, Song. W, ‘3tudy on the performance analysis of building
priority, there are four storage regons in the ERED queue: automation network”. 2003 IEEE International Symposium on Industrial
priority 3, priority 2, priority 1 and priority 0. Electronics, Vol. 1,9-11 Jun. 2003,pp. 184-188.
[4] Brandauer C ,lannaccone G., Diot C., etc, “Comparison of tail drop and
ERED queue structure is shown as Figure 3. active queue management performance for bulk-data and Weblike
Intemet traffic”, Proceedings. Sixth IEEE Symposium on Computers and
Communications, Jul. 2001, pp. 122-129.
[SI WANG Xiao-chun, ZHANG Yao-xue, “A Scheduling and Dmpping
priority 3 life safety packet list Algorithm for Packets in QoS Controlling”, Chinese loumal of Software,
I I /I Vol. 5, NOV. 2000, pp. 654-659.
[6] Dracinschi A, Fdida S, ‘‘Eficient congestion avoidance mechanism”,
Pnxeedings. 25th Annual IEEE Conference on Local Computer
priority 2 critical equipment packet Iist Networks, 2000,8-10 Nov. 2000, pp. 228-237.
[7] Arpaci M, Copeland J.A., “An adaptive queue management method for
congestion avoidance in TCHIP networks”, Global Telecommunications
Conference, 2000, Vol. I, 27 Nov.- 1 Dec. 2000, pp. 309-315.
priority 1 urgent packet list [8] Tamboli. C, Manikopoulos. C.N, “Determination ofthe optimum packet
length and buffer sizes for the industrial building automation and control
networks”, Proceedings of the IEEE International Symposium on
Industrial Electronics, Vol. 2, Jul. 1995, pp. 831-836.
f ,
priority 0 y normaf packet list
I

I1
[9] S. Floyd, V.Jacobson, “Random earIy detection gateway for congestion
avoidance”, IEEEiACM Transactions on Networking, Vol. 4, Jan. 1993,
I
I
pp. 397-413.
[ IOIComer, D.E., Yavatkar, R.S., “A rate-based congestion avoidance and
Figure 3. The structure of ERED queue control scheme for packet switched networks“, 10th International
Conference on Distributed Computing Systems, Proceedings., Jun. 1990,
pp. 390-397.
When a BACnet packet amves BACnet router, ERED [ L l]Jain R., “Congestion control in computer networks: issues and trends”,
marker will handle the packet at first. ERED marker will mark IEEE Network Magazine, Vol. 4, No. 3, May 1990, pp. 24-30.
the life safety BACnet packet, critical equipment BACnet
packet, urgent BACnet packet and normal BACnet packet

- 1159-

You might also like