Differentiated Services Fuzzy Assured Forward

1 downloads 0 Views 965KB Size Report
2Department of Computer, Science And Research Branch, Islamic Azad University Khozestan, Iran. ... flow control in the computer networks is very important. Routing control, traffic control ..... [4] Forouzan, B. A. (2007). Data Communications and. Networking, 4th ed. ... Cisco IOS Quality of Service Solutions ... The ns Manual.
Differentiated Services Fuzzy Assured Forward Queuing for Congestion Control in Intermediate Routers Amir Massoud Bidgoli1, Alireza Yousefzadeh Bahri2, Amir Massoud Rahmani3 Islamic Azad University, Tehran North Branch, Tehran, Iran. [email protected] 2 Department of Computer, Science And Research Branch, Islamic Azad University Khozestan, Iran. [email protected] 3 Science And Research Branch, Islamic Azad University Tehran, Iran. [email protected] 1

Abstract – Todays, computer networks play a very important role in our daily activities. In order to have a better network management, data packet problems, should be considerably reduced. One of the most important problems that happens in networks and is not recognizable easily, is congestion, That encouraged experts to research more about this topic. Congestion avoidance is a QOS1 method that prevents considerable packet loss in networks and assures successful packet forwarding to destination. In this article we have implemented a new queuing mechanism that uses fuzzy logic with assured forwarding in the intermediate routers, in order to control and avoid congestion by using an AQM2 method. We have simulated it by Matlab software and NS3 package4, then compared it with RED5 and dsRED methods in order to evaluate efficiency of this new method, and discussed the results. The simulation results show a better performance compared to the previously mentioned mechanisms. Keywords: Assured Forwarding, Congestion control, Differentiated Services6, Fuzzy Logic, QOS

1 Introduction Computer networks are communication agent between workstations and in this communication, data are exchanged between workstations. So the influence of data flow control in the computer networks is very important. Routing control, traffic control, congestion control, sequence control and etc are elements to control data flow in computer networks [1]. So flow control is related to point to point traffic between a sender and a receiver, and congestion control provides mechanisms to make sure weather subnet is able to carry the traffic [2]. In recent

                                                              1- Quality Of Services 2- Active Queue Management 3- Network Simulation 4- NS 2.35 5- Random Early Detection 6- DS

years data packet flow has been increased, because the number of users and accessible data have been increased. Packets with different sizes are exchanged in such networks, but packet losses and delays usually occurs because of the network congestion. To avoid these unpleasant situations packet routing is used to control the flow in the network [3]. In fact congestion is the worst delay that is caused by datagram overloads in one or more nodes of a router. When congestion occurs, the delays will increase and a router tries to queue datagram until they can be sent [4]. In this article we will discuss a new method of congestion control. With this method, we control queuing in the router by using fuzzy logic and assured forwarding in order to manage queue congestion of routers so that we have minimum traffic and packet loss probability in a flow. In this article, a method to control the congestion in intermediate routers in a network by using fuzzy logic is discussed in second section and then in the third section we will discuss the design of a fuzzy controller in this queue, and in the forth section we will explain about the conditions of simulation. Then we will compare the efficiencies of the suggested method, the RED and the dsRED queue methods in fifth section, and finally we will discuss the simulation results in the sixth section.

2 Differentiated Services Fuzzy Assured Forwarding Queue (dsFAFQ) In this article we use distributed class-based queuing, based on fuzzy logic. We have defined 4 distributed queuing classes in differentiated nodes with its special attributes [7], and in these distributed queuing classes [5], we classify packets according to assured forwarding that is given by Heinanen and colleagues [6]. Each class takes its specific resources and produces packets classified in one of the classes willingly.Then they are marked after being placed in one of the four classes according to assured forwarding. At this level, 3 probabilities are defined to drop packet that is caused by congestion.

Packets are marked with different drop packet probability including low drop precedence, middle drop precedence and high drop precedence. As we have four assured forwarding classes and three packet drop probabilities, so we will have 12 differentiated services class in total. Besides, a router’s buffer is divided into edge and core router and can be considered as 2 seperated routers. In edge part, router is devided into 4 classes in order to separate output flow and flow that can not send data quickly, so buffer space will be occupid and other flows will face to starvation [8, 9]. As it’s shown in fig.1, a physical queue is assigned to each assured forwarding class. As packets with 3 different packet drop probabilities enter to each queue, we should assign a virtual queue to any single packet drop probability. On the other hand, we must dedicate 3 virtual queue to each one of physical queues.

Fig.1: Classifying packets in the nodes based on differentiated services The edge part is connectd to core part by a fuzzy controller that is shown in fig.2. This would mean that the fuzzy controller checks the queue status existing in the core at specific times, and identifies all those packets that should be transmited from edge part to core part. Then packets are placed in physical and virtual queues and will be sent from core part assuredly.

calculated by a fuzzy controller. Then packets are transmitted from edge router to core router and scheduling is carried out to give service or exit the packets. Services to different queues is given by round robin method. When we don’t have congestion in network any packets with any drop priorities can enter into edge queue of router and receive services by transmitting to core part, but in congestion period not only entering into queues in core part will be decreased by fuzzy logic, but also packets with high drop priorities don’t have permission to enter into edge part of router.

3 Design of Fuzzy Controller for Fuzzy Assured Forward Queuing The secret of success in fuzzy system is its simple implementation, simple maintenance, simple understanding, stability and cheapness [10]. And two weaknesses of fuzzy system are the absence of learning ability and it’s not easy to define membership function for it [11]. But of course the second weakness depends on how good is our recognition of system. Fuzzy systems are suitable for estimated or vague inferences specially those systems that it’s difficult to make a mathematical model for them [11]. So fuzzy controller in the router must be designed that, it can control the packets entrance with specific drop priority into the core router, so that congestion in router and network doesn’t occur. That means the queue get filled quickly, if the percentage of packets entering the core queue of routers was more than specific queue threshold, the controller decreases the number of forwarding packets to that queue until the queue get to a balance status. In other words, the number of forwarded packets to any queue should relate to current queue load and average of waiting time in the queue. Control of packets entering the specified class priority in the core of router is done by fuzzy controller that is shown in fig.3. Two input parameters and one output parameter have been considered in fuzzy controller that is: • Queue load The number of existing packets in the queue core of router that are waiting to get services, is called queue load and 7 fuzzy sets are considered for it: QueueLoad={Empty, MEmpty, LHalf, Half, MHalf, Full, VFull}

Fig2: Buffer space division into edge and core part and the connection between them . Packets are entered into physical queue according to a specified class and specific drop probability in edge router part and then packet transmission percentage are

The members in the set show empty, more than empty, less than half, half, more than half, full, very full status. • Waiting time It’s the period of time that packet waits to get services (this time doesn’t include the time of servicing). We consider 7 input fuzzy sets for it:

Waiting Time= {Small, BSmall, SMed, Med, BMed, Large, VLarge}

result that is produced as a matrix will be used in the next simulation scenario in the following section.

The members in the set show small, bigger than small, smaller than med, med, bigger than med, large, very large status. • The number of forwarded packets It’s the average number of sent packets to every class. The number of packets that are forwarded by fuzzy controller is output parameters that 7 fuzzy sets has been considered for it. Forward= {VLow, Low, LNorm, Norm, MNorm, High, VHigh}

Fig.4: Membership function for queue load input parameter

The members show very low, low, less than normal, normal, more than normal, high, very high status.

Fig.5: Membership function for waiting time input parameter

Fig.3: fuzzy controller and suggested method to manage congestion We assign a membership function to any single output and input parameters. The most common function that are used in this method are trapmf1 and trimf2 that are drawn by fuzzy logic of Matlab software which are shown in fig.4, 5, 6. This software is the product of math works company in 1984 that is so practical for different field of engineering and fuzzy toolbox is used to edit and create fuzzy inference systems and we can use it's result in object Oriented programming or simulations [12]. Hence we use Matlab software to create membership function of input & output parameters and the detected

                                                              1- Trapezoidal Membership Function (trapmf) 2- Triangular Membership Function (trimf)

Fig.6: Membership function for number of packet forward output parameter

4 The simulation condition of dsFAFQ The method of packet processing for assured forwarding is shown in fig.7. In the first level data packets are produced with specific rate by source and then are classified into one of the four classes according to their priority. In the second level packets that are placed in the priority classes, will be marked according to types of drop packets. So we use an 8 bits field called TOS in IP packets, and 6 bits out of 8 bits are used for identifying the packet differentiated services of classes according to suggested code point that is given by Heinanen and colleagues [6] and is explained in [7, 13]. These two levels are done by sender machine. As there

are 4 class and 3 drop probabilities for each packet, all in all 12 differentiated services class or DS are created. So any differentiated services of class is shown with AFij and i shows physical class or queue and j shows the type of drop packets or virtual queue. Low drop precedence is shown by number 0 and high drop precedence is shown by number 2. For example ,AF22 means a packet in third virtual queue and second physical queue and high drop precedence.



The size of all packets are fixed to 1,000 bytes and the number of produced packets by the source, are about 100,000 packets. These packets enter into system by a fixed rate, specified class and specified drop priority.



Every queue in edge router has a maxthresh about 10 packets so there might be 2 state in the system. ¾

If the number of packets in a queue is less than the maxthresh, packets will enter into that queue with any drop priority.

¾

If the number of packets in a queue is more than the maxthresh, just LD packets enter into that queue until the queue overflows which in this case we use tail drop policy.

The results that are given in table 1, are related to the suggested queue simulation that in 20th , 40th , 60th and 80th is registered and also total simulation time is 85th. Fig.7: Packet classification based forwarding mechanism for an input flow.

on

assured

Table 1: The number of total packets, sent packets and drop packets in router queues.

After separating packets in sender, output flow enters into third level (router machine). In this level buffer of router that is divided into 2 parts, edge router and core router, separated into 4 classes in each part and a physical queue is assigned to each class as can be seen in fig.7. Classified packets enter to edge router with a specific rate. Percentage of transmitted packets from the same queue in edge router to core router are determined by fuzzy controller. The fuzzy controller checks status of existing queue in core router using waiting time and current queue load parameters. The packets are forwarded to the determined physical and virtual queues in core router and then the packets are sent from core router assuredly. The processing and servicing of packets to different classes in core router is done by round robin method. This would mean after that packets are placed in the queue by a scheduler that manage packets departure by round robin, servicing or packet sending will be done. So the suggested queue that has been made in router has the following characteristics: •

Packets are produced by 2 CBR1 one with rate of 4Mb/s and the other with rate of 6 Mb/s in UDP protocol.



Physical queue limit in edge router is 20 packets and total system limit is 80 packets.



Packets are sent with output bandwidth 7 Mb and input packets enter into router queue by 2 separated 10 Mb bandwidth link.

Table 1 shows that in simulation period 60, 310 packets out of 99,994 packets have been entered into router queues and 39,684 packets have been dropped because the capacity of connection link is limited. It means 59,941 packets have been sent assuredly. In table 1, the code points, are those 12 separated AF classes that is produced by senders which enter into physical and virtual router queues. In table 1 the CPs2 of 10, 11, 12 are

                                                              1- constant bit rate traffic

                                                              2- Code Point

related to virtual queues of the first physical queue. The CPs of 20, 21, 22 are related to virtual queues of the second physical queue. CPs of 30,31,32 are related to virtual queues of the third physical queue and CPs of 40,41,42 are related to virtual queues of the fourth physical queue.

5 Performance Evaluation In this article all simulations and their produced results are done by NS2.35 software [14]. In this section the efficiency of the three types of queues, RED, dsRED that are described in detail in [15, 16, 17] and our suggested dsFAFQ queue will be compared in terms of packets sent rate, packet drop rate and bandwidth rate. The comparisons have been done with the same traffic rate and same simulation period of time. Input traffic enter into each three algorithms from two separated links with 10Mb bandwidth and 5ms link delay. The traffic rate is 4Mb/s in the first link and 6Mb/s in second link and simulation period for all three algorithms is 85 second. Total number of packets that are produced by sender is 100,000 packets and the size of packets are fixed to 1,000 Bytes. We ignore the servicing delay time. If we focus on the output of dsRED algorithm [7, 14, 17] in table 2 and compare it with the results of suggested algorithm shown in table 1 under the same conditions, we will find out that 50,025 packets out of a total 99,986 packets have been sent and 48,118 packets have been dropped. Table 2 shows that dsRED algorithm with 4 differentiated services class for classifying input packets has weaker management in case of sending and dropping input packets in congestion, in comparison with our newly suggested algorithm, dsFAQ, that has 12 differentiated services class for classifying packets. As the registered result in table 2 shows, the number of sent and dropped packets in 80th simulation time are almost equal but at the same period of time, the number of sent and dropped packets in our suggested method shows a remarkable improvement comparing the difference in number. Table 2: The number of total packets, sent packets and drop packets

As can be observed in figs 8, 9, 10, 11 the efficiency of our suggested method has been compared with RED and dsRED methods and the simulation results show that the suggested method that is based on fuzzy logic works better and has a better performance in comparison with the other 2 methods.

Fig.8: Comparison between our suggested method, RED & dsRED queues with 4Mb/s rate traffic agent.

Fig.9: Comparison between our suggested method, RED & dsRED queues with 6Mb/s rate traffic agent.

Fig.10: Total sent rate comparison between our suggested method, RED and dsRED queues.

Fig.12: Bandwidth comparison between our suggested method, RED & dsRED queues.

6 Conclusions In our suggested differentiated services fuzzy assured forward method that is described in this article and according to the requirements of each class or flow, packets are forwarded to different queues that have specific quality of service. The reason that fuzzy method is used is that we can implement unclear concepts easily and control unstable systems to make an exact decision. The advantages of fuzzy assured forward queuing are as follows: Fig.11: Drop packet rate comparison between our suggested method, RED & dsRED queues. In fig.8 the rate of received packets from first sender with 4Mb/s traffic rate and in fig.9 sent packet rate from second sender with 6Mb/s traffic rate and in fig.10 total received packets that have been sent by two senders show preference of our suggested method in comparison with the other two methods. And in fig.11 drop rate of received packets from two senders has been shown which indicates that, the number of packets loss in our suggested method has been decreased in congestion and it has better efficiency. In fig.12 bandwidth rate usage in output channel of router is shown for our suggested method and the other two methods. It shows that bandwidth rate that is used in our suggested method is average rate of the other two methods.

• Probability of starvation decreases remarkably in comparison with the RED method, because packets are forwarded into queue according to membership functions and servicing is done by round robin method. • If the queue limit of a router increases, the number of packet drop decreases and the result is most better. • If we assign more bandwidth to output channel of a router, this algorithm send all entered packets to router queues, assuredly. • As the buffer space is classified and the entering into the classes is controlled by a fuzzy controller according to queue status of router, hence almost all buffer spaces are used and it avoids wasting buffer space. Disadvantage of fuzzy assured forward queuing are as follows: • In this method the buffer space is divided in to 4 equal parts so that any one of these parts has the same resources. So, any packets with any priority will enter into queues before reaching

the threshold. And in cases when queues are overloaded, packets with high priority, can not enter into queues and will be dropped because we used tail drop policy. • If the capacity of router queues increases, efficiency of our algorithm will decrease, because of processing of fuzzy logic information in the overloaded in the router. • As we use fuzzy logic and need to make decisions in this algorithm, hence the implementation of this algorithm will be costly in intermediate routers.

7 References [1] Horiguchi, T., Hayashi, K., & Tretiakov, A. (2005). Reinforcement learning for congestion-avoidance in packet flow. ScienceDirect Physica A 349:329–348. [2] A.S. Tanenbaum, ( 2003), Computer Networks, Fourth ed., Copyright by Prentice-Hall, ISBN: 0-13066102-3. [3] Kimura, T., Nakajima, H., & Ikeguchi, T. (2007). A packet routing method for complex networks by a stochastic neural network. ScienceDirect Physica A 376 : 658–672 . [4] Forouzan, B. A. (2007). Data Communications and Networking, 4th ed. McGrew-Hill Foruzan network Series Copyright by The MCGraw-Hill Companies, Inc. [5] Cisco, S. (2008). Congestion Management Overview. Cisco IOS Quality of Service Solutions Configuration Guide, QC:83-116. [6] Heinanen, J., Finland, T., Baker, F., Weiss, W., & Wroclawski, J. (1999). Assured Forwarding PHB Group. Lucent Technologies, RFC 2597. [7] Wales, J. (2010 , 12 25). Differentiated services. Retrieved from wikipedia: http://en.wikipedia.org/wiki/Differentiated_services. [8] Nagle, J. (1987). on Packet switches with infinite storage. IEEE Trans, Communications, computer 35, 435-438. [9] Demers, A., Keshav, S., & Shenker, S. (1990). Analysis and simulation Of Fair Qeueing Algorithm. Internetworking: Research and Experience, vol. 1, 3-26. [10] Kasabov, & Nikola, K. (1998). Foundations of neural networks, fuzzy systems, and knowledge engineering. The MIT Press.

[11] Munakata, T. (2008). Fundamentals of the New Artificial Intelligence, Neural, Evolutionary, Fuzzy and More. Springer. [12] Lotfi Zadeh, A., & Berkley, C. (1995). Fuzzy Logic Toolbox For use with Matlab. Copyright 1995 - 1999 by The MathWorks, Inc. [13] Haden, R. (1996-2010). Quality of Service, diff serv code point, ip precedence. Retrieved from rhyshaden: http://www.rhyshaden.com/qos.htm. [14] Fall, K., & Varadhan, K. (2009). The ns Manual (formerly ns Notes and Documentation). The VINT Project A Collaboration between researchers at UC Berkeley, LBL, USC/ISI, and Xerox PARC. [15] Braden, B., Clark, D., Crowcraft, J., Davie, B., Deering, S., Floyd, S., et al. (1998). Recommendations on Queue Management and Congestion Avoidance in the Interne. IETF RFC2309. [16] Floyd, S., & Jacobson, V. (1993). Random Early Detection Gateways for Congestion Avoidance. IEEE/ACM Transactions on Networking . [17] Pieda, P., Ethridge, J., Baines, M., & Shallwani, F. (2000). A Network Simulator Differentiated Services Implementation. Open IP, Nortel Networks.