# Fuzzy RED: Congestion control for TCP/IP Diff-Serv

Networking and Communications

Oct 26, 2013 (4 years and 6 months ago)

104 views

Fuzzy RED: Congestion control
for TCP/IP Diff
-
Serv

Explosion of Internet

new congestion control
method is needed

WHY? :

Users now demand for integrated services network

New services with high bandwidth demands (video on
demand, video conferencing, etc)

Need for quality of service demanded by new
applications (e.g. streaming video)

Current internet infrastructure can only support best
effort traffic

Diff
-
Serv

A more evolutionary approach than Int
-
Serv

Int
-

In Internet based applications they were in some cases
bigger than the existing connection period

Diff
-
Serv does not require significant changes to
the Internet Infrastructure

Uses existing ToS bits in IP header of service
differentiation

Works in the edges of a network

Provides QoS using drop
-
preference algorithm

Diff
-
Serv

Differentiation of services is provided
through 3 classes of services called per
-
hop
behaviour

Expedited Forwarding

EF:

Low losses

Very low queuing delays

Allocation of resources through SLA at
connection setup

Diff
-
Serv

Assured Forwarding

AF:

Low packet losses

Has 3
-
4 independent forward classes

Each such class has 2
-
3 different drop
preferences

Preferentially drops best
-
effort packets and
non
-
conforming packets when congestion
occurs

RED

Most popular algorithm used for Diff
-
Serv networks:

for each packet arrival

calculate the average
queue size avg

if min
th

avg

max
th

calculate probability
p
a

with probability
p
a
: mark the arriving packet

else if
max
th

avg

mark the arriving packet

Explain what mark means

RED

Uses min, max dropping thresholds for each
class

The algorithm used for calculating the
queue average determines the allowed
degree of burstiness

The p
a

probability is a function of the
average queue size. Varies linearly from 0
to 1.

RED

EF

AF Class

Best Effort

Check and

traffic

shaping

Priority Queue

Yes

No

RIO Queue

Min

Max

Fuzzy RED

We replaced fixed thresholds with an FLC

FLC
-

Fuzzy Logic Controller:

Calculates p
a

based on two inputs, queue size
and queue rate of change

The two inputs are described by fuzzy sets

The FLC determines the p
a

by applying a
set of rules.

Each class of service has an FLC

Fuzzy RED
-

The algorithm

Algorithm:

for each packet arrival

calculate queue size, queue rate of change

calculate probability p
a
based on above metrics

with probability p
a

mark the arriving packet

p
a

is calculated by the FLC

Fuzzy RED

Input Sets

FLC set for queue
-

q (90 packet buffer)

empty 0 0 18 35

moderate 20 33 42 63

full 44 64 90 90

FLC set for queue rate of change
-

dq

decreasing
-
44
-
44
-
7

1

zero
-
14 0 0 14

increasing 1 7 44 44

Fuzzy RED

Output Set

FLC set for p
a

zero

20

20 0 0

low 0 0.10 0.10 0.20

medium 0.15 0.20 0.20 0.30

high 0.20 0.60 0.60 1.0

As with input sets p
a

can also be different for each
class of service

Best describe the behavior expected by the

Fuzzy RED
-

Rules

Based on linguistic rules we calculate the
dropping probability

Each class of service has its own definition
of set and rules

Sample of rules:

If q is empty the p
a

is zero

If q is full and dq is zero the p
a

is medium

If q is full and dq is increasing then p
a

is high

Fuzzy RED

Calculating p
a

Input Evaluation

Output Evaluation

Rule: If q is full and dq is decreasing then

pa is high

44 64 90
-
20
-
7

1 0.2 0.6 1

Input: q is 68 and dq is
-
3

Output: the weighted average of the colored surface: 0.4

1

0.4

Fuzzy RED
-

Conclusions

Simplicity
-

just 3 steps

Effectiveness

Scalability
-

each class has its own FLC rule
file

Robustness

Currently ………