3 iii DEDICATION To my parents, my wife, my brothers and sisters, and my son for their encouragement, and help during this thesis.
4 iv ACKNOWLEDGEMENT I would like to thank my supervisor prof. Jameel Ayoub for his guidance, encouragement, and patience during my work. He was always very supportive and patient with me.
5 v Subject Page Committee Decision ii Dedication iii Acknowledgement iv List of Contents v List of Tables vi List of Figures vii Abbreviations ix Abstract xi 1. Introduction Background Related Work Problem Description Voice over IP Introduction VoIP Components and Call Scenarios Routing Protocols VoIP Quality measurements Overlay Networks Introduction Overlay nodes Overlay Protocols Enhanced Real Time Recovery Protocol (ERTP) Introduction ERTP Protocol Procedure Case 1 (One Overlay Link) Case 2 (Multiple Overlay Links Analysis) Optimizing Number of Overlay Nodes Application Specific Routing Metric Simulator Results and Conclusions Introduction VoIP System and Overlay Protocols (RTP) ERTP for One Overlay Link ERTP for Multiple Overlay Links Application Specific Metric Conclusions References Appix Abstract (in Arabic)
6 vi LIST OF TABLES Table 2.1: Comparison between Codec Types Table 5.1: Comparison between RTP and ERTP in terms of delay and loss rate-- 51
7 vii LIST OF FIGURES Fig.2.1: Different Types of Source Destination VoIP Network Fig.2.2: Gatekeeper as a central point Fig.3.1: Overlay Network: Dotted lines (A-B-C-D-B) makeup overlay Topology Fig3.2: Layers of Overlay Node Fig3.3: A representation of an overlay network Fig.4.1: One Lossy Overlay link Fig.4.2: Example of Large Overlay Network Fig.4.3: An Overlay network consisting of n-1 Overlay links Fig.4.4: Routing in Overlay Network Fig4.5: Flow Chart of the simulator used in the thesis Fig.5.1: VoIP, Background Poisson traffic models Fig.5.2: RTP using our Matlab Simulator Fig.5.3: Delay Characteristics for both RTP and ERTP for a link loss rate of Fig.5.4: Delay characteristics for both RTP and ERTP for a link loss rate of Fig.5.5: Delay characteristics for both RTP and ERTP for a link loss rate of 0.04 and delay of 20 ms Fig.5.6: Average difference delay (ADD) between RTP and ERTP Fig.5.7: Number of saved packets when applying ERTP vs. loss rate for different voice traffic percentages Fig.5.8: Delay characteristics for RTP and ERTP for a link with 10% loss rate, uniform random delay that ranges from 5ms to 10 ms
8 viii with an average of 7.5 ms Fig.5.9: Effect of varying loss rate at both RTP and ERTP, for 1 link that has constant delay of 10 ms, and uniform random loss rate that ranges from 0% to 10% Fig.5.10: Delay characteristics for RTP and ERTP for a varying loss rate of mean 0.05 and varying delay that has a mean of 7.5 ms Fig.5.11: Delay characteristics for 2 concatenated overlay links Fig.5.12: Delay characteristics for 10 overlay links Fig.5.13: Relation between number of overlay links and average Difference delay Fig.5.14: Relation between network overall delay and number of overlay links Fig.5.15: Relation between number of nodes and added overlay Acknowledgements Fig.5.16: Delay characteristics for 4 overlay links with variable loss rate and delay values Fig.5.17: Effect of varying the routing metric on average delay
9 ix ABBREVIATIONS ADD Average Difference Delay ARQ Automatic Repeat Request Avg Average BGP-4 Border Gateway Protocol Version 4 CAG Call Agent CRC Cyclic Redundancy Check DiffServ Differentiated Service DNS Domain Name Service DS1 Digital Signaling 1 DVR Distance Vector Routing EGP Exterior Gateways Protocols ERTP Enhanced Real Time Recovery Protocol FEC Forward Error Correction FIFO First-In-First-Out FTP File Transfer Protocol IEEE Institute of Electrical and Electronics Engineers IGP Interior Gateway Protocol IP Internet Protocol ISDN Integrated Services Digital Network ISP Internet Service Provider ITU International Telecommunication Union LAN Local Area Network LSA Link State Algorithm LSAs Link State Advertisements LSR Link State Routing MOS Mean Opinion Score MPLS Multi Protocol Label Switching OPNET Optimized Network Engineering Tool OSPF Open Short Path First PESQ Perceptual Evaluation of Speech Quality PCM Pulse Code Modulation Pps packets per seconds PQ Priority Queuing PSTN Public Switching Telephony Network QoS Quality of Service RIP Route Information Protocol RON Resilient Overlay Network RSVP Resource Reservation Protocol RTP Real Time Recovery Protocol RTT Round-Trip Time SNMP Simple Network Management Protocol SS7 Signaling System Number 7 TCP Transmission Control Protocol TDM Time Division Multiplexing TFTP Trivial File Transfer Protocol TOS Type of Service
10 x UDP VoIP WFQ User Datagram Protocol Voice over Internet Protocol Weighted-Fair Queuing
11 xi PERFORMANCE OF VOIP FOR OVERLAY NETWORKS By Nabeeh Al-Tamimi Supervisor Dr. Jamil Ayoub, Prof. ABSTRACT VOIP has become a profitable investment for Telecom operators and providers because of its low cost and easy deployment. Since the IP network uses the connectionless User Datagram Protocol (UDP) to transfer voice and online application packets. This best effort model results in a bad Quality of Service (QoS) for voice. One of the most recent studies to improve the QoS of VOIP is to use overlay networks. An overlay network is a virtual network which is built on top of one or more of existing networks to implement a service or to change one network figure or parameter without adding new equipment, and instead, to deploy new software on top of existing software. The importance of overlay networks comes from the complexity of today's networks and the difficulties to modify certain object or parameter in the whole architecture. One approach was to modify the UDP protocol, such that the destination nodes in the overlay network will s a negative acknowledgement asking for a retransmission to the source node in case one packet failed due to congestion or any other reason. The corresponding protocol, called Real Time Recovery Protocol (RTP) helps to decrease the overall loss rate, although it increases the overall network latency and increases an added overhead to the network. In this thesis we suggest to modify this RTP protocol to serve only VoIP traffic, while other UDP applications like DNS, TFTP etc. continue to be routed using UDP protocol. Also, for routing of packets, we suggest to use an application specific metric (i.e. metric per application). We call this protocol with all these modifications as Enhanced Real Time Recovery Protocol (ERTP). Simulation studies run on ad hoc networks show that ERTP achieves better performance in terms of network latency (-to- delay) and overall utilization. Many of these simulation results were predicted by analysis. Moreover, we study the relation between the number of chosen overlay nodes and network performance. We found that for a fixed source and destination nodes, as the number of segmented overlay links increases, the overall network delay decreases, but the overhead increases. We use both simulation and formulas to optimize the number of overlay nodes that achieve an acceptable overall delay without increasing the overlay overhead and cost as well.
12 -1-1. INTRODUCTION 1.1 Background: There are a lot of services that are provided by Telecom operators, like voice calls, video streams, data, accessing the internet, conference calls and other many services. But the main service is still the transfer of voice calls. Before several years, the main network to transfer voice calls was the Public Switching Telephone Network (PSTN); but now there is other developing network which is the transfer over the Internet Protocol (IP). Digital transmission in the PSTN relies on using Time Division Multiplexing (TDM), which is a type of multiplexing technology. TDM repeatedly transmits a fixed sequence of time slots over a single transmission channel and combines multiple voice or data streams by assigning each stream a different time slot in the sequence. The time slot (circuit or channel) is fixed in capacity (i.e. 64 Kbps). Although the PSTN infrastructure and technology is relatively complex and expensive, it delivers reliable voice services at a very high quality with minimal delays. The technology is proven, reliable and generally accepted. The PSTN is also called circuit switched network, because there is a dedicated link (channel) between the calling and the called parties. The links that carry the calls may be comprised of copper wires, fiber optics, or radio systems, deping on the network infrastructure that exists between the caller and called parties. While the phone connections used in most homes are traditionally analog, connections between large telephone switches for instance, calls between subscribers of competing phone companies is digital. These telephone switches communicate between each other with a standard Protocol known as Signaling System Number 7 (SS7).
13 -2- Also PSTN is a connection oriented network, because of the dedicated path (link) between the calling and the called parties. This path dedication guarantees the service quality for PSTN. On the other hand it is bandwidth consuming, since mostly each call is served by 64Kbps regardless of the repetitive patterns or silence periods of the call. Although PSTN enjoys high quality and reliability, it requires high investments and operational costs. Further, its requirement for higher dedicated bandwidth, and its limited scalability, lead the Telecom operators to find new alternatives to transfer Voice calls. The main alternative is to utilize the existing IP backbone to transfer voice calls and provide their customers with new services. This is called Voice over IP (VoIP). But that doesn't mean to migrate totally into the IP; rather it means to use both to provide new convergent services, and to provide the customers with new cheap alternative medium (especially for international calls). VoIP is the routing of voice calls over the Internet or through any other IP-based network. The IP network is used to transfer Voice, Video, and Data services; so it is a convergent protocol, which means the flexible deployment with a variety of services. The IP is bandwidth optimized, scalable, flexible, and requires the minimal cost. Unlike PSTN, VoIP is a connectionless protocol, where there is no dedicated link between the source and the destination. So the sent packets may pass through different paths, which cause some packets to be dropped, and others to be delayed. This leads to un guarantee its Quality of Service (QoS). However VoIP due to its unreliability, is called best effort model (David et al., 2001), (Yair et al., 2006). VoIP is one of the important research areas because of its developing investment recently in Telecom markets and its relative low cost. As discussed before, its QoS is still the main obstacle in its development. Because of this, many solutions were
14 -3- suggested and tested to improve its QoS. For example, to use the Multi Protocol Label Switching (MPLS) technique, which is based on using a label switching to forward data through a virtual path, and to precisely engineer traffic tunnels to avoid congestion and utilize all available bandwidth (Vasu and Shahram, 2002), (Siemens, 2000). Another example is the Differentiated Services (DiffServ) protocol, which is based on utilizing the Queue discipline classification to differentiate between services, by giving each service a class based on its sensitivity to delay. Thus, each application will be given a priority through classification. Resource Reservation Protocol (RSVP) is also used to enhance the QoS for internet applications including VoIP by means of controlled reservation of resources to meet guaranteed quality characteristics (Siemens, 2000). In order to deploy the above protocols, it is necessary to modify the network architecture for all the nodes inside the network, which makes it very hard and expensive. Recently one important technique is used to enhance certain service on top of a network without modifying the overall network architecture. This technique is called the Overlay Network, which is simply based on choosing a set of powerful nodes to deploy a service without modifying the other nodes. In this thesis, we will study the performance of VoIP using Overlay Networks. We will study the performance in terms of loss rate and -to- delay (also called latency), because as we will see later, these two factors are very important to enhance speech quality. We will use Matlab to design a model to measure the performance of VoIP using Overlay Networks, and we will compare the effect of routing algorithms on the QoS. Later, we will study the effect of the number of overlay nodes on the quality and the cost of deployed architecture.
15 -4- In this introduction we will review briefly some work related to the subject considered in this thesis, and then give a brief description of the problem that we will study. In chapter 2 we will describe the VoIP architecture, its components, its protocols and its QoS parameters. Next in chapter 3 we will briefly go over the main aspects of Overlay Networks. In Chapter 4 we will present our Enhanced Real Time Protocol (ERTP) and analyze its performance analytically and through simulation. In chapter 5 we will present the simulation results we obtained and compare it with other related results. Finally, and based on our results, we will highlight the main conclusions we reached. 1.2 Related Work: The deployment of an Overlay Network to enhance VoIP quality is a relatively recent research; and it is a very important area because this work doesn't need the modification of the whole network architecture and nodes. Instead, a few nodes need to be enhanced. One important study is to modify the User Datagram Protocol (UDP) at the transport layer (as will be explained more in chapter 2) such that one node will ask the preceding one to s one packet only when it failed to be received, and this protocol is called Real-Time-Recovery Protocol (RTP) (Yair et al., 2006). Moreover one routing protocol is developed to route the received packets. Another study on Overlay Networks is the development of the Resilient Overlay Network (RON) given in (David et al., 2001). It is used mainly to detect Route failures within 20 sec, while in the normal routing protocols (like Route Information Protocol (RIP)) it needs several minutes until detecting a route failure. This is done by probing each RON node with the other RON nodes. This study is suitable for any internet service or traffic streams.
16 -76- Delay_VRT(i)=Delay_VRT(i)+T2(j); elseif log.data(i)<=(2*(r2(j))^2-3*(r2(j))^3+(r2(j))^4) Res_VRT(i)=-1;%Failure of Voice Packets fail_voice=fail_voice+1; Delay_VRT(i)=0; elseif (Res_VRT(i)>=0 & log.data(i)>=(2*(r2(j))^2-3*(r2(j))^3+(r2(j))^4)) Res_VRT(i)=Res_VRT(i)+0.01; Delay_VRT(i)=Delay_VRT(i)+3*T2(j)+Delta; neg_ack_vrt=neg_ack_vrt+1; elseif Res_VRT(i)<=0 Delay_VRT(i)=0; %disp('[res_vrt; Delay_VRT]'); %vec2=[res_vrt; Delay_VRT]'; fail_vrt=fail_voice+fail_nonvoice; Total_Received_VRT=z-fail_VRT; fail_voice fail_nonvoice R2_VRT=fail_VRT/z disp('vec22=[z; neg_ack_vrt; fail_vrt; Total_Received_VRT]') vec22=[z; neg_ack_vrt; fail_vrt; Total_Received_VRT]' l=0; latency=0; subcount=0; n=100*f; J(1)=0; for j=1:200+f latency=0; subcount=0; for i=1:z if (Res_RT(i)==j) latency=latency+delay_rt(i); subcount=subcount+1; if subcount~=0 l=l+1; J(l)=j; count_rt(l)=subcount; avg_delay_rt(l)=latency/subcount; else l=l; count_rt disp('vec_rt=[j; count_rt; avg_delay_rt]') vec_rt=[j; count_rt; double(avg_delay_rt)]'
17 -77- for i=1:z Res_VRT(i)=round(Res_VRT(i)); l=0; latency=0; subcount=0; for j=1:200+f latency=0; subcount=0; for i=1:z if (Res_VRT(i)==j & Delay_VRT(i)>= f*latency1 ) latency=latency+delay_vrt(i); subcount=subcount+1; if subcount~=0 l=l+1; J(l)=j; count_vrt(l)=subcount; avg_delay_vrt(l)=latency/subcount; else l=l; disp('vec_vrt=[j; count_vrt; avg_delay_vrt]') vec_vrt=[j; count_vrt; double(avg_delay_vrt)]' Delay_VRT; %avg_delay_vrt=sort(avg_delay_vrt); %count_vrt=sort(count_vrt); %Delay=sort(Delay); disp('vec=[r1; T1; R2; T2]') vec=[r1; T1; R2; T2]' %disp('vec_rt=[avg_delay_rt; count_rt; avg_delay_vrt; count_rt]'); %Delay_RT; %Delay_VRT; %disp('avg.delay_vrt=mean(delay_vrt); avg.delay_rt=mean(delay_rt)') %avg.delay_vrt=latency/subcount;%mean(delay_vrt) count2=0; sum2=0; for i=1:z if Delay_VRT(i)>=f*latency1 count2=count2+1; sum2=sum2+delay_vrt(i); Delay_VRT1(i)=Delay_VRT(i); else count2=count2; sum2=sum2; Delay_VRT1(i)=0;
18 -78- sum2; count2; avg_vrt=sum2/count2; %avg.delay_rt=mean(delay_rt) count2=0; sum2=0; for i=1:z if Delay_RT(i)>=f*latency1 count2=count2+1; sum2=sum2+delay_rt(i); Delay_RT1(i)=Delay_RT(i); else count2=count2; sum2=sum2; Delay_RT1(i)=0; for i=1:z Delay_RT2(i)=Delay_RT(i)-Delay_RT1(i); Delay_VRT2(i)=Delay_VRT(i)-Delay_VRT1(i); Delay_VRT1; Delay_RT1; Delay_VRT2=sort(Delay_VRT1); Delay_RT2=sort(Delay_RT1); avg.delay_rt2=sum2/count2; avg.delay_rt2 avg_vrt subplot(2,2,1);plot(delay_rt1);title('delay Charecterisation assuming RTP Protocol');xlabel('Packet number');ylabel('delay (ms)'); subplot(2,2,2);plot(delay_vrt1);title('delay Charecterisation assuming ERTP Protocol');xlabel('Packet number');ylabel('delay (ms)'); subplot(2,2,3);plot(delay_rt2);title('sorting Delay Charecterisation assuming RTP Protocol');xlabel('Packet number');ylabel('delay (ms)'); subplot(2,2,4);plot(delay_vrt2);title('sorting Delay Charecterisation assuming ERTP Protocol');xlabel('Packet number');ylabel('delay (ms)');