Sunday, October 27, 2019
Simulation of Current Computer Networks
Simulation of Current Computer Networks The current Internet is based on IP protocol and supports only best effort services. With the exponential growth of Internet during the last years, IP networks are expected to support not only typical services like ftp and email, but also real-time services and video streaming application. The traffic characteristics of these applications require a certain Quality of Service (QoS) from the network in terms of bandwidth and delay requirements. We examine three queuing disciplines which are widely deployed and we compare their performance using simulation carried out in OPNET. The queuing disciplines considered in this paper are: First-In-First-Out (FIFO), Priority Queuing (PQ) and Weighted Fair queuing (WFQ). Background: In general, a queue is a line of people or things waiting to be handled, usually in sequential order starting at the beginning or top of the line or sequence. In network prospective packets are queuing in memory buffer of network devices like router and switch. Generally the packets are managed in first in first out fashion. To improve the quality of services different techniques use with the following properties like packets are handled fairly and prioritized properly. Several queuing techniques are uses to manage internet traffic, FIFO, WFQ, PQ. FIFO is common in all the queuing schemes, as it describes the basic method in which packets flow through queues. First in First out Queue (FIFO): FIFO queuing is the most basic queue scheduling discipline. In FIFO queuing, all packets are treated equally by placing them into a single queue, and then servicing them in the same order that they were placed into the queue. FIFO queuing is also referred to as First come, first served (FCFS) queuing. Figure 1: FIFO Queue. Priority Queue (PQ): Priority queuing (PQ) is the basis for a class of queue scheduling algorithms that are designed to provide a relatively simple method of supporting differentiated service classes. In classic PQ, packets are first classified by the system and then placed into different priority queues. Packets are scheduled from the head of a given queue only if all queues of higher priority are empty. Within each of the priority queues, packets are scheduled in FIFO order. Figure 2: Priority Queue. Weighted Fair Queue (WFQ): This is the combination of PQ and Fair Queue. In fair queue the problem is solved some queues may not get serviced because high-priority queues are being serviced. A round-robin approach is used to service all queues in a fair way. In WFQ All queues are serviced so that none are starved, but some queues are serviced more than others. A weight is applied to queues to give some queues higher priority. For example, one queue may get half the available bandwidth and other queues will get an allocation of the remaining bandwidth. Traffic may be prioritized according to packet markings, source and destination IP address fields, port numbers, and information in the ToS field. WFQ weights traffic so that low-bandwidth traffic gets a fair level of priority. If high-priority queues are not in use, lower-priority traffic uses its queues. This prevents high-bandwidth traffic from grabbing an unfair share of resources. WFQ uses an intelligent congestion management solution that provides Ã ¢Ã¢â ¬Ã âfairÃ ¢Ã¢â ¬Ã sharing of the interface bandwidth between multiple traffic flows. A traffic Ã ¢Ã¢â ¬Ã âflowÃ ¢Ã¢â ¬Ã (or conversation) is a unidirectional sequence of packets, defined based on the protocol type, the source/destination IP addresses, the source/destination ports numbers (when available), and partially on the IPv4 ToS byte value. For example, an HTTP file transfer between two hosts represents one packet flow, while ICMP packets sent from one host to another represents a second. The WFQ shares this buffer space between all flow queues. Figure 3: Weighted Fair Queue. Problem Solutions Q1: Analyze the graphs we obtained and verify the overlap of the Voice Packet End to End Delay and Voice Packet Delay Variation graphs. Compare the three queuing disciplines and explain their effect on the performance of the three applications. Packets Drop: Figure 4: IP Traffic Dropped for FIFO,PQ,WFQ. For all three cases, Transmission starts at 1 min 45 sec because for all three profiles start at time=100sec=1 min 40 sec and offset for each application from start of profile is 5 sec. Voice client/server rate= 500 packets/sec Video client/server: 130 packets/ sec FTP Client/server: 1- 33 packets/ sec For FTP, TOS=0 For Video TOS=4 For Voice TOS=6 In case of FIFO, there is only 1 queue of size 500 packets. In FIFO there is no priority to any type of traffic. When more packets arrive then transmitted, these are stored in a queue. If queue is full then any incoming packet will be dropped until there is some space in queue. As in case of FIFO there is no priority assigned to any type of traffic , queue will become full in less time because voice packets (500 packets/sec) will fill queue more quickly when router is transmitting other packets (packets of video and ftp client). For PQ, these are queue profile settings depending upon TOS of incoming traffic. For FTP, tos = 0, Priority= low, queue size= 80 packets For Video tos = 4, Priority = medium, queue size= 40 packets For Voice tos= 6, Priority = high, queue size= 20 packets Now PQ, Voice packets have highest priority. After voice, Video traffic has high priority and FTP has lowest priority. Affect of this is less dropped packets in queue because in PQ, each different TOS has different queue. Voice packets have highest priority so they are transmitted as soon as received. So now, ftp and video traffic cannot hold the bandwidth when there is voice packet to send. Similarly video traffic has priority over FTP. Important thing to note is that queue size is low for higher priority queues because low priority traffic need to wait more when there are high priority packets coming. Now for WFQ, Parameters are: For FTP, tos=0, weight = 1, queue size= 500 packets For Video tos=4, weight = 40, queue size= 500 packets For Voice tos=6, weight = 60, queue size= 500 packets Buffer capacity: 1000 packets For WFQ, although queue size is 500 for each queue but WFQ uses shared buffer that means it allows queue size to increase even after 500pkts until buffer capacity is filled. When buffer is full this means interface is in the state of congestion, now the interface starts enforcing the individual queue limits as explained in theory. So at 2 min and 40 sec approx, interface reaches at congestion state, now max size of each queue is enforced to 500 packets and new incoming packets are dropped. After congestion state, as now queue size has been enforced to 500 for each flow, now packets drop increase even a little bit more than PQ because in case of WFQ 40/101 ~= 40% BW is also assigned to Video traffic, So here Voice traffic has to wait when its turn for video packets causing packet loss after queue is full as opposed to PQ where voice traffic does not need to wait. Traffic Received for Video Conferencing: Figure 5: Video Conferencing Traffic Received. Traffic received for Video Conferencing is higher in the case of FIFO as compared to PQ and WFQ at steady state. For PQ, whole channel is occupied by voice packets because whenever there is voice traffic other traffic is stopped hence traffic received for Video Conferencing is less in PQ. Now for WFQ, at start traffic received is higher because system is not in congested state and WFQ is using shared buffer of 1000 packets size as compared to 500 packets buffer of FIFO, but as congestion state is achieved at approx 2 min 40 sec as shown in Fig4. Packet drop increases and now queue size of 500 packets is enforced for each queue. Also video packets are given weight of 40, while voice packets are given weight 60 this means video packets are given less priority which results in less traffic for video in WFQ. Traffic Received for VoIP: Figure 6: Voice Traffic Received. Traffic received for voice is less in case of FIFO as compared to the other two scenarios. FIFO is first come first serve based mechanism, in which no special traffic priority is given to any type of traffic. As in Fig5 In case of FIFO traffic received for Video traffic is more this surely leads to less traffic received for Voice traffic. In this case voice, FTP and video packets have equal opportunity. Now in case of PQ and WFQ, received traffic for voice is higher compared to the FIFO system. In PQ, Voice traffic is given highest priority and these packets are transmitted as soon as they are received, similarly voice traffic is also given priority in case of WFQ by assigning weight 60 as compared to 40 assigned for video traffic. Figure 7: Voice Traffic Received. If we further zoom in the Fig6 to analyze the small difference in the curves of PQ and WFQ for voice traffic. At start voice traffic is same for both, but after approx 2 min 30 sec, traffic received in case of WFQ fall a little bit due to congestion phenomenon in WFQ as already explained above in the report. End to End Delay for Voice Packets: Figure 8: Voice Packet End-to-End Delay. In case of PQ and WFQ, the end to end delays are almost negligible. Reason for such a small delay is the priority given to voice packets in case of PQ and WFQ. In PQ voice packets are given priority by stopping all other traffic when voice packets are coming and in WFQ voice packets are given priority by assigning higher weight i.e. approx 60% of bandwidth is assigned to voice traffic communication. In case of FIFO, there is no priority; all the packets are severed on first come and first out basis. So when there is video or FTP traffic, voice traffic has to wait. At start delay increases sharply, because at start buffer is empty and voice packets are served quickly but as buffer continues to fill up, delay increases because now voice packets has to wait more in buffer . When buffer is full, As in Fig8 at 2 min approx, now delay is approx constant with little variations because buffer is full so every packet has to wait at least until 500 packets of buffer are transmitted before its turn. Delay Variation for Voice Packets: Figure 9: Voice Packet Delay Variation and overlap with Voice packet End-to-End Delay. Packet delay variation is Variance among end to end delays for voice packets. From Fig9, Delay variation is less for PQ and WFQ as compared to FIFO. PQ and WFQ have the negligible delay variation. For FIFO, at start delay variation rises quickly to peak point this is because at start end to end delay variation is greater as buffer is empty and start filling as explained in Fig8 and then end to end delay becomes approx constant around a mean value when buffer is full as explained already in description of Fig8 which is reason why Packet delay variation decreases after peak point. Actually Packet Delay Variation does not only depend upon previous delay value. It is the cumulative effect of all the previous packets as we have already researched on it in period 2 Voice over IP delay measurements paper assignment in course Internet Services and Traffic Measurements. So as the end to end delay becomes more constant, packet delay variation value falls. In the case of PQ and WFQ delay variation is very small because end to end delay is very small; also there is no variation in end to end delay because voice packets are given highest priority in Both PQ and WFQ. Q2: In the implemented project, edit the Queues object and check the profiles assigned to the FIFO, PQ, and WFQ discipline. For each profile answer the following questions: How many queues are associated with each discipline? Table 1: Number of queues in each configuration Queue Configuration Number of queues FIFO 1 PQ 4 WFQ 8 In this lab, we used ToS to identify the priority and weight for the PQ and WFQ disciplines. What are the other parameters that can be used to identify the priority and weight? Protocol, Port and DSCP are the other parameters that can be used to identify priority and weight. In PQ, how are queues configured to serve different ToS values? Router identifies priority based on TOS field of the incoming packets and sort incoming packets in appropriate queue based on TOS. Table 2: PQ queue configuration Queue Priority Label ToS Queue Size 0 Low Best Effort(0),Background(1) 80 1 Normal Standard(2),Excellent(3) 40 2 Medium Steaming Multimedia(4),Interactive Multimedia(5) 60 3 High Interactive Voice(6),Reserved(7) 20 In WFQ, how are queues configured to serve different ToS values? In WFQ, weights are assigned to serve different TOS and TOS field of incoming packets is checked to route them in a specific queue and queues are served based on weights. Table 3: WFQ queue configuration Queue Weight ToS 0 1 Best Effort 1 10 Background 2 20 Standard 3 30 Excellent Effort 4 40 Streaming Multimedia 5 50 Interactive Multimedia 6 60 Interactive Voice 7 70 Reserved Q3: Compare queuing delay for all queuing disciplines. Queuing Delay for all scenarios: Figure 10: Queuing Delay for each configuration. From Fig10, FIFO has the worst queuing delay which is higher than the PQ because in case of FIFO there is only one queue and packets are served on first come first served basis. When there is other traffic, packets has to wait in queue. There is not much difference between the PQ and WFQ queuing delay. PQ has slightly higher queuing delay as compared to WFQ because PQ gives highest priority to voice traffic and when voice packets are coming then all other (Video and FTP) packets have to wait in queue while in case of WFQ each queue has a share in BW and packets in one queue does not disturbs the right of other queues to transmit. Specifically, in our example, there are more voice packets in traffic as compared to video packets. So assigning a weight of 60 to voice as compared to 40 for video justifies it. Conclusion In this lab, by using three different types of traffic, we analyzed the effect of different queuing systems on network performance in terms of packet loss, end to end delay and delay variation. In case of FIFO packets drop is greater as compared to PQ and WFQ. FIFO does not utilizes any priority scheme it works on first come first server basis ,when queue is full , incoming packets are dropped unless there is some space in queue. PQ gives priority to specific type of traffic, it is good when one type of traffic is very time sensitive and important and remaining traffic does not demand any special timing limits. PQ fails when there are many different types of traffic which are time sensitive because PQ does not shares Band Width equally with all types of traffics, So highest prioritized traffic can jam the rest of communication. WFQ is the combination of FIFO and PQ where bandwidth is shared between all queues and each queue get its turn in a round robin fashion. We concluded after analyzing graphs of different queues PQ and WFQ queuing system has very small end to end delay and delay variation which is required for real time applications where traffic is time sensitive e.g. VoIP or Video Conferencing.