DEPARTEMENT INDUSTRIELE WETENSCHAPPEN EN TECHNOLOGIE Associatie
K. U. L e u v e n
Basisopleiding van 1 cyclus
Academiejaar : 2004 - 2005 Opleiding :
ELEKTRICITEIT
Keuzerichting :
TELECOMMUNICATIE
Optie :
ELEKTRONICA
Eindwerk
Integratie van Voice over IP in een bedrijfsnetwerk
door
Tony De Craemer
onder leiding van Ing. L. Vanhee, KHBO De hr. I. Lingier, LICOM TELECOMCENTER BVBA
Eindwerk aangeboden tot het behalen van het diploma
GEGRADUEERDE IN ELEKTRICITEIT Katholieke Hogeschool Brugge - Oostende Zeedijk 101 , 8400 Oostende tel +32 59 56 90 00 - fax +32 59 56 90 01
Deze eindverhandeling was een examen; de tijdens de verdediging vastgestelde fouten werden nadien niet gecorrigeerd. Gebruik als referentie in publicaties is toegelaten na inwinning van het advies van de KHBOpromotor, vermeld op het titelblad.
Tony De Craemer
Woord vooraf Hierbij zou ik van de gelegenheid gebruik willen maken om alle mensen te bedanken die rechtstreeks en onrechtstreeks hebben bijgedragen tot de verwezenlijking van dit eindwerk. Daarom mijn welgemeende dank aan: ? De werknemers van de firma Licom Telecomcenter BVBA, in het bijzonder; ? Dhr. Ives Lingier die mij de kans gegeven heeft om mijn stage en eindwerk te realiseren bij Licom. ? Grad. Anthony Vandeberge en Grad. Ruben Adriaensens voor de aangename werksfeer en het delen van hun praktische kennis met mij, gedurende de stageperiode. ? Alle docenten die in de loop van de voorbije drie jaar getracht hebben hun kennis aan mij over te brengen. ? Ing. Luc Vanhee voor de goede begeleiding tijdens het uitschrijven van deze verhandeling. ? Alle personen die hun technische publicaties gratis ter beschikking stellen op het Internet. ? Mijn ouders voor de financiering van mijn studies. ? Mijn vriendin voor de steun in de moeilijkere periodes van mijn studieloopbaan.
Integratie van VoIP in een bedrijfsnetwerk
Tony De Craemer
-3-
Samenvatting In telecommunicatiesystemen vloeien data- en telefonienetwerken steeds meer in elkaar over. De integratie van deze netwerken maakt het mogelijk om spraak en allerhande data over eenzelfde netwerk te versturen en te ontvangen. Een technologie die voor deze integratie gebruikt kan worden, is gekend onder de naam “Voice over IP” of VoIP. Dit eindwerk handelt over de technologie van VoIP op zich en ook over de integratie ervan in een bestaand bedrijfsnetwerk. In het eerste deel wordt de technolo gie zelf besproken. Hierbij wordt vooral aandacht besteed aan de gebruikte audiocodecs ( voor de digitalisering van de spraak) en de gebruikte protocollen. Verder wordt er ook aandacht besteed aan de noodzakelijke eigenschappen om kwalitatieve VoIP-gesprekken te hebben. In het tweede deel van het eindwerk wordt besproken hoe deze technologie werd geïntegreerd in het bedrijfsnetwerk van de stageplaats. Tevens wordt nagegaan wat de voor- en nadelen zijn van VoIP en wat de aandachtspunten zijn bij de algemene integratie in een bedrijfsnetwerk.
Integratie van VoIP in een bedrijfsnetwerk
Tony De Craemer
-4-
Inhoudsopgave Woord vooraf Samenvatting
3
Inhoudsopgave
4
Figurenlijst
7
Tabellenlijst
8
Lijst van gebruikte afkortingen en symbolen
9
Inleiding
11
1
Evolutie van de telefonie
12
2
Het begrip VoIP
15
2.1
Algemeen
15
2.2
Soorten VoIP
16
2.3
Verschillen t.o.v PS TN
16
2.4
Verschillen t.o.v VoDSL
17
3
De H.323-standaard
18
3.1
Media Control Protocol
19
3.2
Call Signaling Protocol
19
3.3
Real-Time Protocol
19
3.4
De audiocodecs 3.4.1 De G.711-audiocodec 3.4.1.1 Principe 3.4.1.2 Bemonsteren van het LF-signaal 3.4.1.3 Kwantiseren en coderen 3.4.1.4 De A-wet 3.4.2 De G.729A audiocodec
Integratie van VoIP in een bedrijfsnetwerk
20 22 22 22 23 24 26
Tony De Craemer
4 4.1
-5-
Transport van data
27
Lagenstructuur
27
4.2
Het OSI-model 4.2.1 De fysische laag (laag 1) 4.2.2 De datalinklaag (laag 2) 4.2.3 De netwerklaag (laag 3) 4.2.4 De transportlaag (laag 4) 4.2.5 De sessielaag (laag 5) 4.2.6 De presentatielaag (laag 6) 4.2.7 De applicatielaag (laag 7)
30 31 31 31 32 32 32 33
4.3
Het TCP/IP model 4.3.1 De Network acces- laag (laag 1) 4.3.2 De internetlaag (laag 2) 4.3.3 De Host to host- laag (laag 3) 4.3.4 De applicatielaag (laag 4)
34 35 35 35 36
4.4
Het IP-protocol 4.4.1 De IP-header 4.4.2 IP-adressering 4.4.3 Routing
37 37 40 41
4.5
Hogere protocollen 4.5.1 Tranmission Control Protocol 4.5.1.1 De TCP-header 4.5.2 User Datagram Protocol 4.5.2.1 De UDP-header
43 43 44 46 46
Kenmerken en problemen van VoIP
47
Delay 5.1.1 Propagation delay 5.1.2 Serialization delay 5.1.3 Handling delay 5.1.4 Queuing delay
47 47 47 48 48
5 5.1
5.2
Jitter
49
5.3
Echo
50
5.4
Packet loss
51
5.5
Voice Activity Detection
52
5.6
D/A conversies
53
Integratie van VoIP in een bedrijfsnetwerk
Tony De Craemer
5.7
6
Real-Time Protocol
Quality of Service 6.1
CRTP
-6-
53
55 55
6.2
Queuing 6.2.1 FIFO 6.2.2 Priority Queuing 6.2.3 Custom Queuing 6.2.4 Weighted Fair Queuing 6.2.5 CB-WFQ 6.2.6 PQ binnen CB-WFQ
57 57 57 59 60 60 60
6.3
Packet classification 6.3.1 IP precedence 6.3.2 RSVP
61 61 62
6.4
Traffic policing en shaping 6.4.1 Commited Acces Rate 6.4.2 Generic Traffic Shaping 6.4.3 Frame Relay Traffic Shaping
62 62 63 63
6.5
Congestion Avoidence 6.5.1 Global synchronization 6.5.2 RED en WRED
64 64 65
Praktische realisatie
67
7.1
Bespreking van het bedrijfsnetwerk 7.1.1 Netwerksituatie in Blankenberge 7.1.2 Netwerksituatie in Brugge 7.1.3 De telefooncentrale 7.1.4 Virtual Private Network
67 67 68 69 74
7.2
De integratie van VoIP 7.2.1 Hardware 7.2.2 Software 7.2.2.1 Programmatie van de IP-extension kaart 7.2.2.2 Programmatie van de IP-gateway kaart
76 76 77 77 82
7
Besluit
89
Bijlagen
91
Literatuurlijst
94
Integratie van VoIP in een bedrijfsnetwerk
Tony De Craemer
-7-
Figurenlijst Figuur 1.1: Circuitgeschakeld netwerk Figuur 1.2: Pakketgeschakeld netwerk Figuur 3.1: Relatie tussen verschillende protocollen binnen VoIP Figuur 3.2: Indeling van MOS Figuur 3.3: Sampling van een audiosignaal Figuur 3.4: Voorstelling van uniforme kwantisering Figuur 3.5: Voorstelling van niet- uniforme kwantisering Figuur 3.6: Voorstelling van kwantisering volgens de A-wet Figuur 3.7: Betekenis van alle bits in 8-bit codewoord Figuur 4.1: Vereenvoudigde voorstelling van een lagenstructuur Figuur 4.2: De 7 lagen van het OSI- model Figuur 4.3: De 4 lagen van het TCP/IP- model Figuur 4.4: Structuur van de IP- header Figuur 4.5: Klasse A, B, C, D en E adresformaten Figuur 4.6: Structuur van de TCP-header Figuur 4.7: Structuur van de UDP-header Figuur 5.1: Jitter Figuur 5.2: Voice Activity Detection Figuur 5.3: Structuur van de RTP- header Figuur 6.1: Compressie van de IP/RTP/UDP-header Figuur 6.2: Werking van PQ Figuur 6.3: Werking van CQ Figuur 6.4: Globale synchronisatie bij ‘tail drop’-systeem Figuur 6.5: Werking van Random Early Detect Figuur 7.1: Modulaire opbouw van telefooncentrale Figuur 7.2: De PSU-eenheid van een KX-TDA 100 Figuur 7.3: De MPR-kaart van de KX-TDA 100 in combinatie met een MEC-kaart Figuur 7.4: BRI-kaart van de KX-TDA 100 Figuur 7.5: DHCL 8-kaart van de KX- TDA 100 Figuur 7.6: IP-GW 4-kaart van de KX-TDA 100 Figuur 7.7: OPB 3-kaart van de KX-TDA 100 Figuur 7.8: Principiële voorstelling van de VPN-situatie Figuur 7.9: Kiezen van de verbinding voor de programmatie Figuur 7.10: Buiten dienst stellen van de IP-extension kaart Figuur 7.11: Instellen van IP-adres en subnetmasker Figuur 7.12: Registratie van de router Figuur 7.13: Registratie van IP-telefoons Figuur 7.14: Beeld van de webpagina voor de programmatie van de IP-gateway Figuur 7.15: Netwerkinstellingen van de IP-gateway kaart Figuur 7.16: H.323- instellingen van de IP- gateway kaart Figuur 7.17: Voice Communication Detailed Settings voor de IP-gateway kaart Figuur 7.18: Instellen van Hunt Pattern op de IP-gateway Figuur 7.19: Gateway Entry Figuur 7.20: DN2IP Entry
Integratie van VoIP in een bedrijfsnetwerk
13 14 19 21 23 24 25 25 26 29 30 34 38 40 44 46 49 52 54 56 58 59 64 66 69 70 71 72 72 73 74 75 77 78 79 80 80 82 83 84 85 86 87 88
Tony De Craemer
-8-
Tabellenlijst Tabel 2.1: VoIP versus PSTN Tabel 2.2: VoIP versus VoDSL Tabel 3.1: De H.323 protocollen en hun functie Tabel 3.2: Overzicht van Coderingsmethodes Tabel 4.1: Voorbeeld van een routeringstabel Tabel 5.1: Gebruiksvormen en hun vertragingen Tabel 6.1: Overzicht van codecs en hun gebruikte bandbreedte Tabel 6.2: Waarden van IP-precedence veld
Integratie van VoIP in een bedrijfsnetwerk
17 17 18 20 42 48 55 61
Tony De Craemer
-9-
Lijst van gebruikte afkortingen en symbolen ACK ACR ADC ADPCM ASCII ATM BECN BGP BRI CAR CB-WFQ CF CLEP CLIP CoS CQ CRC CRTP CS-ACELP CSIF CTI D/A DHCL DHCP DN2IP DSL DSP FDM FECN FIFO FR FRTS FTP GTS HF IHL INS IP IP-GW ISDN ISO ISP ITU-T LAN LAPD
Acknowledgment Absolute category Rating Analoog naar Digitaal Convertor Adaptive Pulse Code Modulation American Standard Code for Information Interchange Asynchronous Transfer Mode Backward Explicit Congestion Notification Border Gateway Protocol Basic Rate Interface Commited Acces Rate Class Based-Weighted Fair Queuing Call Forwarding Code-exicted Linear Prediction Calling Line Identity Presentation Class of Service Custom Queuing Cyclic Redundancy Check Compressed Real- Time Protocol Conjugate-Structure Algebraic-Code-Excited Linear-Prediction Cell Station Interface Computer Telephony Integration Digitaal naar Analoog Digital Hybrid Line Card Dynamic Host Configuration Protocol Dailed Number to IP address translation Digital Subscriber Line Digital Signal Processing Frequency division multiplexing Forward Explicit Congestion Notification First In First Out Frame Relay Frame Relay Transfer Shaping File Transfer Protocol Generic Traffic Shaping Hoogfrequent IP-Header Length In Service Internet Protocol Internet Protocol-Gateway Integrated Services Digital Network International Standardization Organization Internet Service Provider Telecom standardisation sector of the International Telecommunication Union Local Area Network Link Access Protocol-channel D
Integratie van VoIP in een bedrijfsnetwerk
Tony De Craemer
LD-CLEP LF LSB MAC MEC MOS MPR MSB OPB OSI OSPF OUS PABX PAM PBX PCM PPP PQ PRA PSTN PSU PT QoS Qsig RAS RED RJ-45 RMT RSVP RTP RTCP SIP SMTP SSRO TCP TDM ToS UDP USB UTP VAD VoDSL VoIP VPN WAN WFQ WRED WRR
Low Delay Code-exicted Linear Prediction Laagfrequent Least Significant Bit Media Access Control Memory Expansion Card Mean Opinion Score Main Processing Most Significant Bit Optional Base Open System Interconnection Open Shortest Path First protocol Out of Service Private Automatic Branch Exchange Pulse Amplitude Modulation Private Branch Exchange Pulse Code Modulation Point-to-Point Protocol Priority Queuing Primary Rate Interface Public Switched Telephone Network Power Supply Unit Payload Type Quality of Service Quality signaling Registration Admission Status Random Early Detect Recommended Jack 45 Remote Resource Reservation Setup Protocol Real-Time Protocol RTP Control Protocol Session Initiation Protocol Simple Mail Transfer Protocol Synchroniztion Source Identifier Transmission Control Protocol Time Division Multiplexing Type of Service User Datagram Protocol Universal Serial Bus Unshielded Twisted Pair Voice Activity Detection Voice over Digital Subscriber Line Voice over Internet Protocol Virtual Private Network Wide Area Network Weighted Fair Queuing Weighted Random Early Detect Weighted Round Robin
Integratie van VoIP in een bedrijfsnetwerk
- 10 -
Tony De Craemer
- 11 -
Inleiding Met dit eindwerk was het de bedoeling om de technologie van Voice over IP onder de knie te krijgen en deze technologie te integreren in het bedrijfsnetwerk van de stageplaats. Het doel van Voice over IP is: real- time spraaksignalen en de daarbij ho rende controleinformatie te versturen over netwerken die steunen op het Internet Protocol. In hoofdstuk 1 “evolutie van de telefonie” worden als algemene introductie, de veranderingen in de telefoniewereld gedurende de jaren aangehaald. Hierbij komen tevens enkele basisbegrippen aan bod. In hoofdstuk 2 “het begrip VoIP” wordt de globale werking van VoIP uitgelegd. Verder worden ook nog enkele soorten VoIP kort besproken en komen de verschillen van deze technologie t.o.v PSTN en VoDSL aan bod. Hoofdstuk 3 “de H.323-standaard” handelt over de belangrijkste, overkoepelende standaard voor VoIP op dit moment. In dit hoofdstuk wordt ondermeer een omschrijving gegeven van de protocollen die deel uitmaken van deze standaard. Daarnaast wordt er ook nog gedetailleerd ingegaan op de werking van de gebruikte audiocodecs, voor de digitalisatie van spraaksignalen. In hoofdstuk 4 “transport van data” worden de begrippen en protocollen besproken die belangrijk zijn voor het transport van data over IP- netwerken. Eerst en vooral wordt het begrip ‘lagenstructuur’ uitgelegd en dieper uitgespit a.d.h.v het OSI- en TCP/IP- model. Vervolgens wordt het Internet Protocol en enkele begrippen hieromtrent besproken. Tot slot wordt ook nog aandacht besteed aan de werking van hogere protocollen, zoals UDP en TCP, die ook van belang zijn voor het transport van data. In hoofdstuk 5 “kenmerken en problemen van VoIP” worden de belangrijkste problemen die zich kunnen voordoen in een VoIP-omgeving besproken. Zo komen begrippen als delay, jitter, echo, enz. aan bod. Hoofdstuk 6 “quality of service” handelt over een aantal begrippen die een positieve invloed kunnen hebben op de kwaliteit van VoIP binnen een multimedianetwerk. In hoofdstuk 7 “praktische realisatie” wordt eerst de netwerksituatie van het stagebedrijf besproken. Daarna volgt ook nog een beschrijving van de werkelijke integratie van VoIP binnen het bedrijfsnetwerk van het stagebedrijf (BVBA Licom). Tot slot hoop ik dat elke lezer deze verhandeling mag ervaren als een aangename en leerrijke kennismaking met de wereld van VoIP.
Integratie van VoIP in een bedrijfsnetwerk
Tony De Craemer
- 12 -
1 Evolutie van de telefonie In 1876 werd voor de eerste keer spraak getransporteerd over een fysisch medium dat slechts twee toestellen met elkaar verbond. De man die dit verwezenlijkte en zo het startschot gaf voor de evolutie van het telefonienetwerk was Alexander Graham Bell. Doorheen de tijd evolueerde dit simpele ontwerp. Eerst was er sprake van een unidirectioneel spraaksysteem, waarbij enkel één gebruiker kon spreken. Later evolueerde het systeem verder tot een bidirectioneel spraaksysteem, waarbij twee gebruikers tegelijkertijd konden spreken. Om de spraak te verzenden was er een fysische kabel nodig naar elke gebruiker die men wenste te bereiken. Naarmate het gebruik van de telefoon evolueerde zag men al snel in dat dit een veel te duur en onefficiënt systeem was. Omdat het onmogelijk was om een kabel te trekken tussen iedereen over de hele wereld die toegang wilde tot het telefoonnetwerk, werd er een ander mechanisme uitgevonden. Dit mechanisme kon twee willekeurige toestellen met elkaar verbinden en werd een ‘switch’ genoemd. Zo had elke gebruiker nog slechts één kabel nodig die naar een gecentraliseerde switch liep. In het begin handelde een telefoonoperator als switch. Deze persoon vroeg dan aan de bellers naar waar ze wilden bellen en maakte dan manueel de verbinding tussen de twee spraakkanalen. Ongeveer honderd jaar later werd deze menselijke switch vervangen door een electronische switch. Bij het telefoonnetwerk zoals het werd uitgevonden door Alexander Graham Bell aan het einde van de ne gentiende eeuw was het spraakverkeer volledig gebaseerd op analoge technieken. Spraak werd hierbij tijdens de overdracht op een geheel analoge manier behandeld d.m.v. filters, versterkers en mengers. Deze methoden van overbrenging van spraak en data kenden heel wat technologische beperkingen die te wijten waren aan fysische factoren zoals temperatuur en vochtigheid, die op hun beurt lijden tot verschillende problemen. Enkele van deze problemen zijn toenemende ruis, afnemende versterking, enz. Bovendien was het duur om dergelijke netwerken te onderhouden, aangezien ze een hoge graad van menselijke interactie vereisten. Daarbij komt nog dat de verbindingen zeer foutgevoelig waren en weinig beveiliging hadden, ze namen een belangrijke hoeveelheid aan plaats in en verbruikten heel wat energie. Nog een ander probleem was het verzenden van meerdere communicatiesessies over één enkele fysische verbinding. Dit werd verwezenlijkt d.m.v. een techniek die ‘Frequency Division Multiplexing’ heet en die tot stand gebracht werd door complexe analoge HF mixers. Later, bij de introductie van ISDN ( Integrated Services Digital Network ) werd het mogelijk om spraak te transporteren in de vorm van digitale informatie. Dit was mogelijk doordat de analoge informatie eerst omgezet werd in digitale vorm alvorens de spraak werd overgezonden. In de praktijk kan deze omzetting gebeuren in de telefoon zelf (dit is dan wel een digitale telefoon) of in een telefooncentrale, ook wel PABX genoemd (Private Automatic Branch Exchange) die zich in het bedrijf van de consument bevindt.
Integratie van VoIP in een bedrijfsnetwerk
Tony De Craemer
- 13 -
Door deze toepassing was de telefonie- infrastructuur niet langer onderhevig aan de bestaande fysische aspecten zoals wel het geval was bij de volledige analoge structuur. De voordelen zijn: betere kwaliteit, lagere onderhoudskosten, betere beveiliging, hogere datasnelheden en bovenal de mogelijkheid om nieuwe diensten te creëren zoals CLIP (Calling Line Identity Presentation) en CF (Call Forwarding). Deze zijn slechts enkele van de vele diensten die mogelijk zijn. Nog een ander voordeel van ISDN is dat de gebruikte digitale trunks gebruik maken van TDM (Time Division Multiplexing) i.p.v. FDM. Dit laat een vloeiende integratie van spraak en data toe met een hoge graad van kwaliteit. Figuur 1.1 geeft een verduidelijkend idee van hoe het verkeer verloopt in een digitaal netwerk.
Figuur 1.1: Circuitgeschakeld netwerk
Wat alle traditionele telefoonnetwerken gemeen hebben is hun connectiegeoriënteerde werking. Dit houdt in dat er telkens voordat er een gesprek gevoerd kan worden, een verbinding tot stand gebracht moet worden. Dit heeft als gevolg dat een communicatie die niet connectiegeoriënteerd is moeilijk ondersteund wordt. Dit was een tiental jaar geleden nog geen probleem. Omdat alle connectieloze data getransporteerd werd over specifiek daarvoor voorziene netwerken. Een voorbeeld van zo’n netwerk die iedereen kent is het internet. Het is een pakketgeoriënteerd netwerk dat werkt op een connectieloze manier. M.a.w de data wordt verzonden naar de bestemming zonder vooraf een bepaalde verbindingsweg op te bouwen tussen de bron en de bestemming. Pakketgeöriënteerd betekent dat de data in de vorm van pakketten getransporteerd wordt over een zogenaamd packet switched network. Dit soort netwerk behandelt alle pakketten individueel en onafhankelijk van de andere pakketten.
Integratie van VoIP in een bedrijfsnetwerk
Tony De Craemer
- 14 -
De steeds evoluerende technologie heeft ons tot een situatie gebracht waarbij steeds meer netwerken die gebruik maken van het IP protocol ook in staat zijn om connectiegeoriënteerde datatransport, zoals spraak, te verwezenlijken. Dit is dan ook het moment waarop VoIP op de proppen komt als de huidige technologie om spraak te versturen over IP georiënteerde netwerken met bepaalde eisen van kwaliteit. Figuur 1.2 geeft een verduidelijkende weergave va n hoe spraak verzonden wordt over een packet switched network.
Figuur 1.2: Pakketgeschakeld netwerk
Integratie van VoIP in een bedrijfsnetwerk
Tony De Craemer
- 15 -
2 Het begrip VoIP 2.1 Algemeen In dit hoofdstuk wordt een globale bespreking gegeven van VoIP, en wat de verschillen zijn met PSTN en VoDSL. Later wordt VoIP meer in detail behandeld. VoIP en IP-telefonie zijn begrippen die vaak door elkaar worden gebruikt. Er is echter een duidelijk verschil. IP-telefonie is VoIP met dit specifieke kenmerk dat bij IP-telefonie gebruik gemaakt wordt van beheerde bedrijfsnetwerken (LAN, WAN). Dus wanneer we spreken over de integratie van VoIP binnen een bedrijfsnetwerk, dan spreken we eigenlijk van IP-telefonie. Voice over IP ( VoIP ) is een technologie die er voor zorgt dat het mogelijk wordt om spraak met een aanvaardbare kwaliteit te versturen over een IP-netwerk. Voor alle duidelijkheid, een IP-netwerk is een computernetwerk dat gebruik maakt van het IP-protocol voor de overdracht van informatie. De VoIP-technologie werkt met het TCP/IP-protocol. De taak van het IP-protocol is het opsplitsen van de data in pakketten. Deze pakketten worden geadresseerd zodat ze op de juiste bestemming aankomen. De adressering zelf gebeurt met IP-adressen. Het TCP-protocol zal er voor zorgen dat de data foutloos van de zender naar de ontvanger wordt verzonden. Het controleert of de data goed is overgekomen. Indien dit niet het geval is zorgt het TCP-protocol ervoor dat het verloren datapakket opnieuw wordt uitgezonden. Voor de meeste internettoepassingen (zoals: email, webpagina’s en bestandsoverdrachten ) is dit een oplossing. Maar bij real-time toepassingen zoals VoIP is dit niet bruikbaar. Pakketten met geluidsbestanden die niet goed zijn aangekomen, kunnen beter verloren gaan dan dat ze opnieuw uitgezonden worden. Het komt de kwaliteit van audio niet ten goede wanneer er af en toe nog resten binnenkomen van voorgaande gesprekken. Gelukkig is er een eenvoudige oplossing voor dit probleem. Bij het TCP-protocol kan de foutcontrole worden uitgeschakeld door gebruik te maken van het ingebouwde UDP-protocol. UDP controleert niet of de data goed is overgekomen, voert geen controles uit, maar verzendt de data gewoon. En wat verloren gaat, gaat verloren. Om audio te versturen is er meer nodig dan het verpakken en adresseren. Zo dient de audio bijvoorbeeld gecomprimeerd te worden. Dit wordt niet gedaan door het TCP/IP-protocol maar door andere protocollen. De protocollen die zich hiertoe lenen zijn onderdelen, en dit samen met nog wat andere protocollen, va n de alles overkoepelende H.323-standaard. Zowel het TCP/IP-protocol als de H.323-standaard zullen verder in deze tekst dieper uitgespit worden.
Integratie van VoIP in een bedrijfsnetwerk
Tony De Craemer
- 16 -
2.2 Soorten VoIP Op dit ogenblik zijn er verschillende soorten VoIP beschikbaar, vier om meer specifiek te zijn. Ze hebben allen hun eigen kostprijs en kwaliteit. 1. VoIP via speciale IP-lijnen Hiervoor moet u een eigen IP-netwerk hebben en investeren in een nieuwe telefooncentrale (IP telefonie server) en speciale IP-telefoons. Dat is alleen rendabel bij een behoorlijke schaalgrootte en voor bedrijven met veel verspreide vestigingen en een goed eigen IPnetwerk. Wel biedt deze vorm van VoIP vele extra mogelijkheden boven de traditionele telefonie. Zo kan de telefonie gekoppeld worden aan interne computerapplicaties. Een ander voordeel is dat u gratis kunt bellen naar andere vestigingen, mits er vaste computerverbindingen aanwezig zijn. 2. VoIP via de bestaande internetaanbieder U maakt gebruik van uw eigen internetaansluiting en laat de telefonie via deze verbinding verstur en. Aan deze methode zit echter een groot nadeel. De internetconnectie is niet altijd even snel en betrouwbaar, waardoor de kwaliteit van de verbinding kan tegenvallen. Wel is dit vaak de goedkoopste oplossing. De investeringen zijn gering, afhankelijk van de aanbieder. Bij de een heeft u een apparaat nodig dat u tussen de internetverbinding en de telefoon plaatst, en bij de ander hoeft u alleen software te installeren. 3. VoIP via DSL Wordt ook wel VoDSL genoemd. De telefonie wordt verstuurd via dezelfde DSL-verbinding waarmee kan worden gesurft. Een groot voordeel van VoDSL ten opzichte van VoIP via een speciale IP- lijn is dat er geen nieuwe telefoontoestellen voor nodig zijn. Bovendien kunnen spraakverbindingen tussen klanten van dezelfde ISP goedkoper plaatsvinden en er zijn er al die het tegen een vast tarief 'gratis' aanbieden. 4. VoIP via kabelmodem Bij deze variant van VoIP heb je niet langer een telefoonlijn nodig. Het spraaksignaal wordt via de kabel verstuurd. Net als bij VoIP via de internetaanb ieder is deze vorm echter niet geschikt voor een bedrijf dat veel lijnen nodig heeft.
2.3 Verschillen t.o.v PSTN Momenteel zijn de meeste functionaliteiten die met VoIP zonder meerprijs geleverd worden (caller ID, voicemail, call logs, call forwarding, call return en andere) vaak tegen meerprijs beschikbaar op het PSTN-netwerk. Door de integratie met andere IP-toepassingen zullen echter daadwerkelijke nieuwe functionaliteiten beschikbaar komen, zoals ‘unified messaging’ (integratie van spraak, instant messaging, email, voicemail, fax) en op basis hiervan ‘presence’, ofwel informatie over de beschikbaarheid van een persoon voor communicatie, waarbij ook het op dat moment meest geschikte communicatiemedium (telefoon, mobiel, sms, email) wordt aangegeven of automatisch wordt ingeschakeld. Dit is slechts één van de verschillen tussen VoIP en PSTN, er zijn er echter nog meerdere. Tabel 2.1 geeft hiervan een overzicht.
Integratie van VoIP in een bedrijfsnetwerk
Tony De Craemer
PSTN Adressering op basis van een locatiegebonden telefoonnummer. Gesloten netwerk in ha nden van de serviceprovider. Communicatiemedia zijn spraak en voicemail. Technologie en bedrijfsmodellen op basis van verticale integratie en zelfstandige netwerken. Gebruikersinterface op basis van beltoon en Voice Response systemen. Iedere gebruiker heeft dezelfde functionaliteit. Technologie en toepassingen op basis van industriestandaarden.
- 17 -
VoIP Individuele adressering. Open netwerk, Internet. Unified messaging: integratie van spraak, instant messaging, email, voicemail,fax. IP-netwerk in gebruik door meerdere applicaties en gedeeld ( spraak, video, data ). Spraak is slechts één van de toepassingen. Audiovisuele gebruikersinterface, via display op telefoon of web- interface. Functionaliteit is aan de wensen van gebruikers aan te passen. Platform voor ontwikkeling van nieuwe diensten door individuele partijen.
Tabel 2.1: VoIP versus PSTN
2.4 Verschillen t.o.v VoDSL VoDSL is iets wat de laatste tijd naast VoIP ook veel aan populariteit aan het winnen is. De belangrijkste verschillen tussen deze twee technologieën zijn daarom weergegeven in tabel 2.2. VoDSL Spraak en data maken virtueel gescheiden gebruik van hetzelfde transportkanaal. Spraak is direct gekoppeld met het openbare netwerk en vervangt de normale telefoonlijn. Is single site georiënteerd. Geen gratis on- net verkeer ( tussen vestigingen van hetzelfde bedrijf ). Gegarandeerde spraakkwaliteit. Tabel 2.2: VoIP versus VoDSL
Integratie van VoIP in een bedrijfsnetwerk
VoIP ( via speciale IP-lijnen ) Spraak- en datapakketten lopen door elkaar heen. De routers integreren en de- integreren de verschillende pakketten. Is multi-site georiënteerd. Gratis on-net verkeer ( tussen vestigingen van hetzelfde bedrijf ) is mogelijk maar vereist dan wel een IP-VPN. Kwaliteit van de spraak is afhankelijk van het toegepaste transmissiemedium.
Tony De Craemer
- 18 -
3 De H.323-standaard Voor VoIP bestaan tal van IP-signaliseringsprotocollen bestaan. De meest besproken protocollen zijn op dit moment H.323 en SIP (Session Initiation Protocol). H.323 wordt op dit moment als de meest uitgewerkte standaard aanzien. Het is ook de standaard die al het langst van toepassing is binnen dit domein van de telecommunicatie. Daarom zal in het verdere verloop van deze verhandeling enkel de H.323-standaard besproken worden. De H.323-standaard is dan ook de standaard die gebruikt is voor de praktische realisatie van de eindwerk opdracht. H.323 is een ITU-T standaard die ontwikkeld is voor het versturen van audio, video en data over het Internet. Om deze reden speelt deze standaard ook een heel belangrijke rol bij VoIP. De H.323-standaard bestaat zelf ook nog eens uit een aantal protocollen. Deze protocollen zijn dan bedoeld om een aantal diensten te verwezenlijken die ook onder de standaard vallen. In tabel 3.1 wordt een overzicht gegeven van de protocollen die in de H.323-standaard vervat zitten samen met hun functie. Protocol H.225 H.245 G.711, G.722, G.723, G.728, G.729 H.261, H.263 T.120 RTP/RTCP
Functie Call Signaling Media Control Audio Codecs Video Codecs Data Sharing Media Transport
Tabel 3.1: De H.323 protocollen en hun functie
In figuur 3.1 wordt de relatie tussen de verschillende protocollen die van belang zijn binnen het domein van VoIP weergegeven. De H.323-protocollen zijn hierbij aangeduid in de licht oranje kleur.
Integratie van VoIP in een bedrijfsnetwerk
Tony De Craemer
- 19 -
signalering
transport
G.711 G.723 G.729 H.225 RAS
H.225 Q.931
H.261 H.263
T.120
H.245 RTCP
RTP
UDP
TCP
TCP
IP Figuur 3.1: Relatie tussen verschillende protocollen binnen VoIP
3.1 Media Control Protocol H.245 zal meer bepaald het controle protocol voor multimediacommunicatie tussen twee H.323 eindpunten definiëren. H.245-procedures brengen logische kanalen tot stand voor de transmissie van audio, video en controle- informatie. Per gespreksessie zal een eindpunt een H.245-kanaal tot stand brengen. Het H.245-protocol maakt ook een onderscheid tussen de zender en de ontvanger, hierdoor kan het protocol er voor zorgen dat er alleen me t protocollen wordt gewerkt die door beide zijden van een communicatiesessie ondersteund worden.
3.2 Call Signaling Protocol Het H.225-protocol specificeert het gebruik van Q.931-signaleringen. Hiervoor wordt een betrouwbaar controlekanaal opgezet over een IP netwerk. Over dit controlekanaal zullen Q.931-signaleringen overgezonden worden. Deze signalen hebben als doel: het opzetten, onderhouden en verbreken van gesprekken.
3.3 Real-Time Protocol RTP zal zorgen voor de goede transport van real-time toepassingen, zoals audio en video, in een H.323-omgeving. RTP maakt ook nog gebruik van ander mechanismen om ondermeer te zorgen voor betrouwbaarheid en QoS. RTP wordt nog dieper besproken in hoofdstuk 5.
Integratie van VoIP in een bedrijfsnetwerk
Tony De Craemer
- 20 -
3.4 De audiocodecs Deze codecs zorgen voor de digitalisering van het geluid. Binnen de H.323 standaard bestaan er echter nog verschillende codecs, elk met hun eigen specificaties. Tabel 3.2 geeft een overzicht van deze codecs. Coderingsmethode G.711 PCM G.726 ADPCM G.728 LD-CELP G.729 CS-ACELP G.729ª CS-ACELP G.723.1 ACELP
Snelheid (kbps) 64 32 16 8 8 5,3
Vertraging (msec) 0,75 1 3-5 10 10 37,5
Framelengte MOS-score (msec) 0,125 4,1 0,125 3,85 0,625 3,61 10 3,92 10 3,7 30 3,65
Tabel 3.2: Overzicht van Coderingsmethodes
? De ITU- T aanbeveling G.711 PCM en G.726 ADPCM vormen de standaard golfvorm codec's. ? De ITU- T aanbeveling G.728 is een codec die gebruik maakt van een 16 kbps Low Delay Code-Exicted Linear Prediction algoritme (LD-CELP). ? De ITU- T aanbeveling G.729 is een 8 kbps Conjugate-Structure Algebraic-CodeExcited Linear-Prediction (CS-ACELP) algoritme. Het algoritme heeft een vertragingstijd van 10 ms en bezit een goede spraakkwaliteit. Hoewel oorspronkelijk ontworpen voor draadloze omgeving is het ook prima bruikbaar in de IP en de multimedia wereld. De G.729A variant maakt gebruik van dezelfde snelheid en frame structuur als de G.729. Ze kunnen dan ook met elkaar gecombineerd worden. ? De ITU- T aanbeveling G.723.1 bevat een 6,3 en 5,3 kbps vocoder voor multimediacommunicatie en is bedoeld voor gebruik in lage bandbreedte videotelefoons. De framelengte bedraagt 30 msec en de vertragings tijd bedraagt 37,5 msec. In toepassingen waar geringe vertraging van belang is, kan G.723.1 dus niet bruikbaar zijn. Als dit wel toelaatbaar is, dan biedt G.723.1 een alternatief voor G.729 met minder bandbreedte tegen een geringe reductie in geluidskwaliteit. In de laatste kolom wordt de MOS-score weergegeven. MOS staat voor ‘Mean Opinion Score’. Dit is een score die wordt toegekend aan de kwaliteit van de algoritmes. Deze kwaliteit wordt bepaald door een zogenaamde ‘benchmark test’. Een veelvuldig toegepaste ‘benchmark test’ is de ACR (Absolute Category Rating) test. Meerdere proefpersonen worden gevraagd om naar geluidsfragmenten van 8 tot 10 seconden te luisteren en deze te beoordelen naar kwaliteit. Hierbij wordt gebruik gemaakt van een schaal van 1 tot 5 die ingedeeld is zoals weergegeven in figuur 3.2.
Integratie van VoIP in een bedrijfsnetwerk
Tony De Craemer
- 21 -
5
Kwaliteit van een gesprek van persoon tot persoon.
4
Kwaliteit van een normaal telefoongesprek.
3
Voldoende verstaanbaarheid, maar niet van goede kwaliteit.
2
De woorden zijn begrijpbaar, maar de spreker is niet herkenbaar.
1
De woorden zijn onverstaanbaar en de spreker is onherkenbaar.
Figuur 3.2: Indeling van MOS
Bij uitmiddelen van de verschillende numerieke waarden ontstaat op deze manier de “Mean Opinion Score” (MOS). Het materiaal waarnaar geluisterd wordt, bestaat uit verschillende fragmenten met meerdere talen en verschillende stemmen (man, vrouw). Tijdens de testen wordt ook gebruik gemaakt van verschillende niveaus van achtergrondruis en situaties waarbij meerdere keren achter elkaar gecodeerd en gedecodeerd wordt. Op deze manier wordt een redelijk objectief beeld gekregen van de kwaliteit van coderingsalgoritmen. De hierboven besproken codecs verzorgen niet alleen de codering van de audio maar staan ook in voor andere functies i.v.m audio. Deze functies zijn ondermeer: ? geluidscompressie, ? VAD (Voice Activity Detection). Geluidscompressie Geluidscompressie is er om het gedigitaliseerde ge luid ‘kleiner te maken’, waardoor deze minder bandbreedte in beslag neemt. Voor communicatie met telefoonkwaliteit waarbij er gedigitaliseerde spraakinformatie verzonden wordt, is er in normale omstandigheden een bandbreedte nodig van 64 Kbps. Indien er gebruik gemaakt wordt van compressie dan kan dit herleid worden tot 16 Kbps en in sommige gevallen zelfs tot 8 Kbps. Hierdoor wordt de snelheid van de te verzenden data verhoogd. VAD (Voice Activity Detection) Bij de meeste gesprekken is er altijd een persoon tegelijk aan het woord. De spreker vertelt terwijl de luisteraar stil is. Omdat het versturen van pakketten met stilte van de luisteraar verspilling is van de bandbreedte heet VAD hier een oplossing voor. De pakketten die stilte bevatten worden uitgefilterd en bijgevolg niet verstuurd. Indien de luisteraar terug spreekt dan wordt zijn stem gedetecteerd en worden er terug pakketten verstuurd. Dit fenomeen wordt dieper behandeld in hoofdstuk 5.
Integratie van VoIP in een bedrijfsnetwerk
Tony De Craemer
- 22 -
De audiocodecs die van toepassing zijn binnen het kader van de eindwerkopdracht zijn de G.711 en G.729A. Daarom worden deze codecs in het volgende stuk wat uitgebreider behandeld.
3.4.1 De G.711-audiocodec 3.4.1.1 Principe De G.711-codec is eigenlijk niet meer of niet minder dan PCM codering van een spraaksignaal. PCM staat voor ‘Pulse Code Modulation’ en is één van de best geschikte methoden om een audiosignaal te coderen. De omzetting van een analoog signaal in een digitale code gebeurt hierbij in twee stappen: ? bemonsteren van het LF-signaal, ? kwantiseren en coderen van de samples. 3.4.1.2 Bemonsteren van het LF-signaal Het bemonsteren, ook wel samplen genoemd van het LF-signaal, gebeurt met een samplefrequentie die minstens tweemaal zo groot moet zijn als de hoogste frequentie die in het LF-signaal voorkomt. Bij spraaksignalen zal de maximum frequentie zo’n 4000 Hz bedragen, waardoor voor de samplefrequentie dan een waarde wordt genomen van 8000 Hz . Men moet aan deze eis voldoen bij het samplen om geen verlies aan informatie te hebben uit het LF-signaal. Interessant om weten is ook dat deze eis steunt op de sample-theorie van Shanon. Het bemonsteren gebeurt door een sample-and- hold-schakeling. Hierbij wordt het analoog signaal op een vast en periodisch ritme bemonsterd, waarna de analoge waarde wordt vastgehouden tot er een nieuwe sample wordt genomen. De nieuwe sample wordt pas genomen wanneer de ADC die zich in de volgende trap bevindt de overeenkomende digitale code gevormd heeft voor de huidige sample. Het signaal dat gebruikt wordt voor de bemonstering heeft liefst een zo kort mogelijke pulsduur. Het resultaat van deze bewerking zal een PAM-signaal afleveren, die dan wordt doorgegeven aan de ADC voor de kwantisering en codering van het signaal. In figuur 3.3 wordt een audiosignaal weergegeven, met daaronder het tijdsbeeld van de gesampelde versie van het signaal.
Integratie van VoIP in een bedrijfsnetwerk
Tony De Craemer
- 23 -
Figuur 3.3: Sampling van een audiosignaal
3.4.1.3 Kwantiseren en coderen Kwantiseren is het omzetten van de amplitudes van de PAM-pulsen in een aantal vastgelegde waarden. Bij het coderen worden deze waarden omgezet in een n-bit code. De waarde van n is afhankelijk van het aantal kwantiseringsintervallen i die worden gebruikt. De waarde van n wordt dan bepaald aan de hand van de onderstaande formule. n = ²log i In het geval van 256 kwantiseringsintervallen is de waarde van n gelijk aan 8. We moeten ook opletten dat we door een te slechte kwatisering geen slechte benadering van het signaal gaan verkrijgen. Het is zo dat de benadering van het signaal beter wordt naarmate het aantal kwantiseringsintervallen groter wordt. Uit de stellingen van daarnet kunnen we dus ook afleiden dat de benadering van het werkelijke verloop van het signaal ook beter zal zijn naargelang het aantal gebruikte bits uit de n-bit code groter is. De meeste fabrikanten garanderen echter een adequate weergave indien er 16 bits gebruikt worden in de n-bit code. In dit geval wordt de maximale kwantiseringsfout beperkt tot een halve LSB. Met de kwatiseringsfout wordt het verschil tussen de aangenomen waarde en de werkelijke waarde van het analoge signaal bedoeld.
Integratie van VoIP in een bedrijfsnetwerk
Tony De Craemer
- 24 -
3.4.1.4 De A-wet In Europa wordt de G.711 codec gebruikt samen met het principe van de A-wet. De Amerikaanse variant hierop is de µ-wet. Deze A-wet is de toepassing van een techniek om een nadelig gevolg van de al eerder aangehaalde kwantiseringsfout te verminderen. De kwantiseringsfout veroorzaakt bij een gecodeerd signaal kwatiseringsruis. Er bestaan namelijk twee soorten kwantisering : ? uniforme kwantisering, ? niet-uniforme kwantisering. Bij uniforme kwantisering wordt het ingangssignaal ingedeeld in gelijke kwantiseringsintervallen en per interval is er één gekwantiseerde waarde. Dit heeft als gevolg dat de kwantiseringsruis even groot is voor kleine als voor grote ingangssignalen. Dit betekent dan ook dat de signaal-ruisverhouding van het gecodeerde signaal daalt naarmate het niveau van het ingangssignaal daalt. Figuur 3.4 geeft het verloop weer van de kwantiseringsfout bij uniforme kwantisering.
Figuur 3.4: Voorstelling van uniforme kwantisering
Bij niet-uniforme kwantisering wordt het signaal ingedeeld in ongelijke kwantiseringsintervallen. De intervallen worden dan ook zo ingedeeld dat ze groter worden naarmate het niveau van het ingangssignaal groter wordt. Hierdoor is de kwantiseringsruis bij de grote signalen groter dan bij kleine signalen. Op die manier verkrijgen we voor alle signaalniveaus een even grote signaal- ruisverhouding, wat beter is voor het onderscheiden van de signalen t.o.v de ruis. Figuur 3.5 geeft het verloop weer van de kwantiseringsfout bij niet-uniforme kwantisering.
Integratie van VoIP in een bedrijfsnetwerk
Tony De Craemer
Figuur 3.5: Voorstelling van niet-uniforme kwantisering
De A-wet is nu eigenlijk een vorm van niet-uniforme kwantisering. Hierbij gaat men per kwantiseringsinterval één segment voorzien. In totaal zijn er 13 segmenten (A-G-A). Elk segment wordt dan nog eens opgedeeld in 16 niveaus. Segment A vormt hierop een uitzondering omdat die opgedeeld wordt in 4 maal 16 niveaus. Figuur 3.6 geeft nu een weergave van die indeling volgens de A-wet.
Figuur 3.6: Voorstelling van kwantisering volgens de A-wet
Integratie van VoIP in een bedrijfsnetwerk
- 25 -
Tony De Craemer
- 26 -
Wanneer we nu de onderstaande berekening beschouwen, dan komen we op een totaal van 256 niveaus bij de toepassing van de A-wet. Tot. Aantal niveaus = (4 x 16 niveaus) + (12 x 16 niveaus) = 256 Bijgevolg kunnen de 256 kwantiseringsintervallen gecodeerd worden met 8 bits. n = ²log 256 = 8 Figuur 3.7 geeft een verduidelijkende weergave van de betekenis van alle bits uit het 8-bit codewoord dat als resultaat van een sample uit een analoog ingangssignaal wordt afgeleverd. Kortom een deel van het resultaat als gevolg van de uitvoering van de G.711 codec met de Awet op een analoog signaal.
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Teken
Segment
Niveau
1: +
000 (A1) 000 (A2)
0000 (0) 0001 (1)
111 (G)
1111 (15)
Bit 0
0: -
Figuur 3.7: Betekenis van alle bits in 8-bit codewoord
3.4.2 De G.729A audiocodec De G.729 codec specificeert een codeerschema, dat als doel heeft een 64 kbps PCMspraaksignaal te comprimeren tot een 8 kbps signaal. De codec steunt hierbij op een bepaald algoritme dat het CS-ACLEP genoemd wordt. De afkorting staat voor ‘Conjugate Structure Algebraic-Code-excited Linear-Prediction’. Bij deze techniek gaat men elk spraaksignaal zo veel mogelijk comprimeren zonder dat de spraak onverstaanbaar wordt. Dit is mogelijk door de spraak te vergelijken met een gamma van signalen die opgeslagen zijn in een codeboek. Het signaal dat het best overeenkomt met het oorspronkelijke signaal gaat men dan ook gebruiken. Deze codec is ontworpen om frames van 80 samples, of 10 milliseconden van spraakdata te produceren. Hij doet tevens ook een voorspelling van 5 milliseconden, waardoor de totale vertraging oploopt tot 15 milliseconden. De G.729A is een variant van de G.729 codec en heeft een minder complexe opbouw dan de G.729 codec. Deze codecs worden meestal toegepast in de vorm van software die in een DSPprocessor geladen wordt.
Integratie van VoIP in een bedrijfsnetwerk
Tony De Craemer
- 27 -
4 Transport van data Naast de digitalisering en comprimering van spraak is het ook van belang dat gegevens op een behoorlijke manier worden overgezonden. Voor we kunnen spreken van VoIP is het van belang dat eerst uitgelegd wordt wat IP is en van waar dit komt. Zo is het van belang dat begrippen als netwerk software architectuur, OSImodel en TCP/IP- model duidelijk zijn. Om het transport proces bij VoIP zo duidelijk mogelijk te bespreken, wordt eerst aandacht besteed aan enkele belangrijke begrippen die hiervoor reeds vernoemd zijn. Zo wordt eerst het begrip ‘lagenstructuur’ uitgelegd om dan over te gaan naar het OSI-model. Dit OSI- model is een toepassing van een lagenstructuur en vormt eveneens een referentiemodel voor het TCP/IP- model. Het uiteindelijke IP-protocol die van toepassing is binnen het VoIP domein, is gebaseerd op dit TCP/IP-model. Samen met het IP-protocol worden er ook nog andere protocollen gebruikt bij VoIP om de overdracht van data optimaal te laten verlopen. Deze protocollen zullen dan ook allemaal aan bod komen in dit hoofdstuk.
4.1 Lagenstructuur Tegenwoordig is netwerksoftware zeer gestructureerd in opbouw. Om het ontwerp van die netwerksoftware te vergemakkelijken wordt er meestal gebruik gemaakt van een ‘lagenstructuur’. In deze structuur voorziet elke laag in een bepaalde functionaliteit binnen het geheel. De functionaliteit van een bepaalde laag is dan ook bruikbaar voor de bovenliggende laag, er is dus een wisselwerking tussen twee lagen. Het gebruik van deze lagen structuur brengt dan ook heel wat voordelen met zich mee. Eerst en vooral is het op deze manier al gemakkelijker om software te ontwerpen. Wanneer je een bepaalde functionaliteit onmiddellijk zou integreren in het geheel zouden er heel wat fouten in de programmatie kunnen sluipen, die dan ook nog moeilijk op te sporen zijn. Als je nu gebruik maakt van een in lagen verdeelde structuur, dan hoeft men zich bij de integratie van een bepaalde structuur slecht zorgen te maken over één bepaalde laag. Dit maakt het daarom niet gemakkelijk, maar wel een stuk meer gestructureerd waardoor je ook sneller eventuele fouten zou terug vinden. Een ander voordeel is de mogelijkheid tot gemakkelijk aanpassen van de software. Wanneer je bijvoorbeeld de software wil aanpassen voor de verbetering van een bepaald algoritme, dan hoef je enkel veranderingen aan te brengen in de daartoe behorende laag, zolang de samenwerking met de bovenliggende laag dezelfde blijft. Wanneer de lagen goed ingedeeld zijn, dan is het ook zo dat slechts enkele hiervan zullen moeten aangepast worden om dezelfde software goed te laten werken met eventuele andere hardware of vernieuwde hardware.
Integratie van VoIP in een bedrijfsnetwerk
Tony De Craemer
- 28 -
Tenslotte is het ook zo, dat aangezien vele tot alle lagen geïmplementeerd zijn in het besturingssysteem, de applicaties voor de eindgebruiker deze lagen niet hoeven te bevatten. Op die manier wordt de omvang van deze applicaties ook gereduceerd. Om een communicatiesessie op te bouwen tussen twee eindgebruikers is er een bepaald fysisch medium nodig. Alle data zal dan over dit medium verzonden worden. Het is wel zo dat slechts de laagste laag van de lagenstructuur rechtstreeks toegang zal hebben tot dit medium. Naast de wisselwerking tussen 2 aangrenzende lagen is het ook mogelijk voor twee verschillende lagen die zich op hetzelfde niveau bevinden, maar binnen verschillende systemen, om een rechtstreekse verbinding op te zetten met elkaar via een ‘peer-to-peer protocol’. Wanneer een bepaalde laag nu data wenst te versturen naar een corresponderende laag die zich op een ander station bevindt, dan doet hij dit door gebruik te maken van de functies in de onderliggende lagen. De onderliggende laag zal dan aan de data die hij krijgt van de bovenliggende laag, controle- informatie toevoegen die van belang is voor de corresponderende laag aan de ontvangerzijde. Deze controle- informatie wordt toegevoegd in de vorm van een zo genoemde ‘header’. Dit proces blijft zich herhalen tot de data uiteindelijk over het fysische medium verstuurd wordt. Wanneer de data dan het ontvangende station bereikt, zal de eerste laag de controle- informatie (header) die op dat niveau van belang is verwerken en de overige data doorgeven aan de bovenliggende laag. Zo blijft dit proces zich voor alle lagen herhalen tot de uiteindelijke data van het oorspronkelijke bericht overblijft. De tot hier toe besproken aandachtspunten i.v.m een lagenstructuur worden verduidelijkt in figuur 4.1.
Integratie van VoIP in een bedrijfsnetwerk
Tony De Craemer
- 29 -
Werkstation A
Werkstation B
data
data
Laag 3/4 interface
Laag 3/4 interface
H3
data
data
H3
Laag 2/3 interface
H2
Laag 2/3 interface
data
data
Laag 1/2 interface
H1
H2 Laag 1/2 interface
data
data
Fysische medium
Figuur 4.1: Vereenvoudigde voorstelling van een lagenstructuur
Integratie van VoIP in een bedrijfsnetwerk
H1
Tony De Craemer
- 30 -
4.2 Het OSI-model Het OSI- model is een referentiemodel voor een lagenstructuur met de kenmerken zoals deze eerder in de tekst besproken zijn. De afkorting staat voor ‘Open System Interconnection’. Het is een model dat uitgewerkt is in 7 lagen en ontworpen is door de ISO (International Standardization Organization). De naam van het model is niet zomaar gekozen, want onder ‘Open System Interconnection’ moet worden verstaan: een ontwerp waarbij elk willekeurig gegevensverwerkend systeem in staat is te communiceren met elk ander gegevensverwerkend systeem door het gebruik van OSI-standaarden. Het model legt enkel uit wat elke laag moet doen zonder in detail te treden over de protocollen die er van toepassing zijn. Qua opbouw is het OSI- model een zeer goed voorbeeld van een lagenstructuur. Vele van deze structuren die opgebouwd worden steunen dan ook op dit referentiemodel. Dit is ook de reden waarom dit onderwerp aangehaald wordt vooraleer we dieper ingaan op de transportprotocollen en structuren die van toepassing zijn bij VoIP. Figuur 4.2 geeft de zeven lagen van het OSI- model weer.
Applicatie gericht
Laag 7
Applicatielaag
Laag 6
Presentatielaag
Laag 5
Sessielaag
Laag 4
Transportlaag
Laag 3
Netwerklaag
Laag 2
Datalinklaag
Laag 1
Fysische laag
Transport gericht
Figuur 4.2: De 7 lagen van het OSI-model
Integratie van VoIP in een bedrijfsnetwerk
Tony De Craemer
- 31 -
4.2.1 De fysische laag (laag 1) Dit is de laagste laag in het model. Het is ook de enige laag die directe toegang heeft tot het gebruikte transportmedium.Deze laag bevat alle elementen die bijdragen tot de opbouw, het onderhouden en het verbreken van een fysische verbinding. Enkele begrippen die van toepassing zijn in deze laag: ? synchrone/asynchrone transmissie, ? snelheden, ? modulatiemethodes, ? interfaces, ? simplex, half-duplex en full-duplex, ? punt-tot-punt verbinding, multipuntverbinding.
4.2.2 De datalinklaag (laag 2) Deze laag maakt het mogelijk om blokken van data te verzenden tussen twee stations. Ze bevat bijgevolg alle elementen die bijdragen tot de opbouw, het onderhouden en verbreken van een logische verbinding. Enkele begrippen die van toepassing zijn in deze laag: ? berichtenopmaak, ? foutencontrole, ? statuscontrole.
4.2.3 De netwerklaag (laag 3) De tot nog toe besproken lagen staan enkel in voor de transport van informatie tussen stations die verbonden zijn met elkaar via hetzelfde transportmedium. De functie van de netwerklaag is, de overdracht van datapakketten mogelijk te maken tussen verschillende stations die met elkaar verbonden zijn via verschillende transportmedia. Dit betekent dat er zich tussen de verschillende fysische media toestellen bevinden die de overzetting van de data van het ene medium naar het andere verzorgen. Deze toestellen zijn de routers, ook wel gateways genoemd. Het gebruik van deze toestellen brengt extra werk mee voor de netwerklaag. Eerst en vooral is het mogelijk dat er tussen de bron en de bestemming verschillende routes mogelijk zijn. Het is dan de taak van de netwerklaag om te bepalen welke route er gevolgd zal worden. De bepaling van een route kan op voorhand gebeuren, maar het is ook mogelijk dat de netwerklaag de routeringsinformatie dynamisch aanpast om zo betere prestaties te bekomen binnen het transportgeheel. Ten tweede, de stroom van gegevens tussen aangrenzende netwerken kan zeer groot worden. Hierdoor is het mogelijk dat de router de hoeveelheid aan informatie niet aankan en zo de stroom van gegevens vertraagd. De taak van de netwerklaag is nu, het verwerken van dit soort congesties van data.
Integratie van VoIP in een bedrijfsnetwerk
Tony De Craemer
- 32 -
4.2.4 De transportlaag (laag 4) Deze laag zal data, afkomstig van de sessielaag, opsplitsen in kleinere stukken en deze vervolgens doorgeven aan de netwerklaag. Wanneer er pakketten verloren gaan dan zal deze laag ingrijpen en ervoor zorgen dat de ontvanger toch de juiste datastroom ontvangt. Dit is mogelijk doordat de transportlaag een foutencontrole doet op het volledige bericht (header + data). Aan de ontvangerzijde zal deze laag de gefragmenteerde data terug samenstellen. De transportlaag bevat ook een ‘flow-control’ mechanisme om de overbelasting van de ontvanger met een teveel aan data te voorkomen. Het bevat ook nog een ander mechanisme ter preventie van datacongestie. De netwerklaag bevatte al een mechanisme om congesties op te lossen. Het mechanisme in de transportlaag probeert deze datacongesties zo veel mogelijk te voorkomen.
4.2.5 De sessielaag (laag 5) De sessielaag maakt het mogelijk om een sessie tot stand te brengen tussen twee eindgebruikers. De sessielaag zal er dus voor zorgen dat via de onderliggende lagen een dialoog tot stand kan gebracht worden. De sessielaag zal dan ook de hele dialoog besturen en controleren. Hij zal er bijvoorbeeld voor zorgen dat de commando’s, van een systeem die functioneert met verschillende applicatieprogramma’s, bij het juiste applicatieprogramma aankomen. Verder waakt deze laag er ook over gebeurtenissen waarbij verschillende terminal- gebruikers tegelijkertijd hetzelfde applicatieprogramma willen gebruiken. Tot slot zorgt deze laag er ook voor dat de transportgerichte lagen niet gereserveerd blijven wanneer ze niet in gebruik zijn.
4.2.6 De presentatielaag (laag 6) Deze laag zal ervoor zorgen dat de informatie die voor de eindgebruiker bestemd is, in de juiste vorm wordt aangeboden. Voorbeeld: Als het bronstation gegevens verzend in de vorm van Unicode en het bestemmingsstation werkt met ASCII-karakters, dan zal de presentatielaag de omzetting van de Unicode naar de ASCII-karakters verzorgen. Deze laag houdt zich niet enkel bezig met de omzetting van karaktercodes, maar ook met de omzetting van commando’s.
Integratie van VoIP in een bedrijfsnetwerk
Tony De Craemer
- 33 -
4.2.7 De applicatielaag (laag 7) Deze laag is de hoogste laag van het OSI- model en bevat de eindgebruikers van een systeem. Enkele voorbeelden van eindgebruikers: ? applicatieprogramma’s, ? databanken, ? terminal- gebruikers, ? periferie-apparatuur.
Integratie van VoIP in een bedrijfsnetwerk
Tony De Craemer
- 34 -
4.3 Het TCP/IP-model Zoals al eerder vermeld is het TCP/IP- model een lagenstructuur die opgebouwd is naar het voorbeeld van het OSI-model. Dit model was oorspronkelijk bedoeld voor het militaire APRANET, die later uitgegroeid is tot het internet zoals we het vandaag kennen. Het IP-protocol, dat gebruikt wordt bij VoIP, is een protocol dat van toepassing is binnen het TCP/IP- model. De verschillen met het OSI- model zijn: ? Het TCP/IP- model heeft een andere ontwikkeling gekend t.o.v het OSI- model. Bij het OSI-model heeft men eerst zeer aandachtig de structuur van het model ontwikkeld en heeft men nadien protocollen bedacht die aan de functies van het model voldeden. Bij TCP/IP is men eerst uitgegaan van een reeks protocollen die men later in een structuur heeft gegoten. ? Het OSI- model bestaat uit zeven lagen terwijl het TCP/IP- model slechts vier lagen bevat. Door de verschillen van TCP/IP t.o.v het OSI- model is het zo dat TCP/IP enkel kan toegepast worden in TCP/IP-georiënteerde netwerken. Ondanks deze beperking is TCP/IP toch uitgegroeid tot een zeer populair gegeven en wordt het wereldwijd toegepast. Figuur 4.3 toont de verhouding van de lagen van het TCP/IP- model. Daarna worden alle lagen afzondelijk besproken.
Laag 4
Applicatielaag
Laag 3
Host to host- laag
Laag 2
Internetlaag
Laag 1
Network acces-laag
Figuur 4.3: De 4 lagen van het TCP/IP-model
Integratie van VoIP in een bedrijfsnetwerk
Tony De Craemer
- 35 -
4.3.1 De Network acces-laag (laag 1) Dit is de laagste laag van het model. De enige vereiste die het model stelt aan deze laag is, dat ze IP datagrammen die afkomstig zijn van de bovenliggende laag moet kunnen verzenden en ontvangen over het netwerk. Daarom zijn de protocollen die deze laag bevat allemaal netwerkprotocollen (Ethernet, V25bis, X25, LAPD). Deze laag heeft zowat dezelfde functies als de fysische- en datalinklaag van het OSI- model. Dit betekent dat deze laag enkel in staat is om data te verzenden naar stations die verbonden zijn met hetzelfde medium.
4.3.2 De internetlaag (laag 2) De internetlaag komt overeen met de netwerklaag in het OSI- model. Zijn taak bestaat erin om datapakketten van bron naar bestemming te verzenden over verschillende types van netwerken als deze zich voordoen. Er is echter geen garantie dat de datapakketten zullen aankomen of dat hun volgorde bewaard zal gebleven zijn. De dienst die deze laag biedt, wordt dan ook wel ‘best-effort’ service genoemd. De pakketten die uitgewisseld worden, worden IP datagrammen genoemd en het protocol die hiervoor gebruikt wordt is het Internet Protocol (IP). De datagrammen bestaan uit twee delen, namelijk de header en de werkelijke data. De opbouw van de headers wordt verder in de tekst behandeld in het stuk dat handelt over het IP-protocol. Net zoals in de netwerklaag van het OSI- model zijn er routers nodig om de transmissie over verschillende types van netwerken mogelijk te maken. De IP-datagrammen worden verzonden volgens een stap-voor-stap procedure. Dit betekent dat net zoals bij de netwerklaag van het OSI-model, routeringsalgoritmes en congestiecontrole belangrijke aspecten zijn voor de internetlaag.
4.3.3 De Host to host-laag (laag 3) Om zeker te zijn dat verschillende applicaties tegelijk gebruik kunnen maken van de netwerkfuncties is er een extra benamingsmechanisme nodig. De internetlaag bevat een benamingsmechanisme dat een onderscheid maakt tussen de verschillende stations. Toch moet er nog een mogelijkheid zijn om een onderscheid te maken tussen de verschillende processen die gebruik maken van het netwerk. Dit wordt gedaan in de host to host- laag door het gebruik van een poortnummer. Deze laag heeft zowat dezelfde functie van de transportlaag van het OSI- model. TCP/IP hanteert twee belangrijke protocollen in de host to host- laag. Eén daarvan is het ‘Transmission Control Protocol’(TCP). Dit protocol zet de connectieloze, onbetrouwbare en pakketgeoriënteerde dienst van de internetlaag om naar een connectiegeoriënteerde, betrouwbare byte stroom. Het is een zeer belangrijk protocol aangezien ze betrouwbare communicatie mogelijk maakt. Daarom is de naam van dit protocol ook verwerkt in de naam van het model.
Integratie van VoIP in een bedrijfsnetwerk
Tony De Craemer
- 36 -
De voornaamste taken van dit protocol zijn: ? ? ? ?
segmeteren van data, herstellen van de juiste sequentie, foutendetectie van een segment, flow control.
Het tweede protocol dat men gebruikt binnen dit model heet het ‘User Datagram Protocol’ (UDP). Dit is een protocol dat gebruikt wordt door applicaties die geen nood hebben aan de diensten die TCP biedt, of die zelf hun eigen protocol hebben. Het ‘User Datagram Protocol’ is slechts een uitbreiding van het Internet Protocol. Het is eveneens een onbetrouwbaar connectieloos protocol. De enige echte overeenkomst met IP is de aanwezigheid van een poortnummer en een optionele ‘checksum’ van de data.
4.3.4 De applicatielaag (laag 4) Net zoals in het OSI- model, bevat de applicatielaag de protocollen die nodig zijn bij netwerkapplicaties. Hieronder bevinden zich onderandere de virtuele terminal applicaties (TELNET protocol), file transfer applicaties (FTP protocol) en e- mail (SMTP protocol).
Integratie van VoIP in een bedrijfsnetwerk
Tony De Craemer
- 37 -
4.4 Het IP-protocol IP is een connectieloos protocol en bevind t zich in laag 2 van het TCP/IP- model. Eén van de belangrijkste taken van dit protocol is het routeren van datapakketten over niet compatibele netwerken. Het protocol werkt samen met andere protocollen uit bovenliggende lagen om datapakketten over te zenden. Deze andere protocollen zijn TCP en UDP en bevinden zich in laag 3 van het TCP/IP- model. Elk van deze protocollen biedt diensten waarvan applicaties kunnen gebruik maken om te communiceren over netwerken. Een IP-datagram kan op drie manieren geadresseerd worden. Deze drie methodes heten: unicast, multicast en broadcast. ? Unicast is de methode die gebruikt wordt wanneer er datagrammen verzonden worden van een bron naar één enkele bestemming. ? Broadcast is de methode die gebruikt wordt om datagrammen te verzenden naar alle gebruikers van een lokaal subnetwerk. Deze pakketten kunnen doorheen hubs en switches gaan, maar niet doorheen routers. ? Multicast is de methode die gebruikt wordt om pakketten te verzenden naar een groep van gebruikers die zich op verschillende subnetwerken bevinden. Opmerkingen: Een IP-adres is netwerkonafhankelijk en wordt zo in elk netwerk herkend die gebruik maakt van TCP/IP. Elk toestel in een IP-netwerk beschikt naast een IP-adres en ook over een tweede adres. Dit tweede adres is het MAC-adres en is enkel van belang op lokaal vlak (binnen eenzelfde LAN).
4.4.1 De IP-header Elk pakket dat door de internetlaag afgeleverd wordt bestaat uit een IP-header, gevolgd door een dataveld. Het formaat van zo’n IP-header is weergegeven in figuur 4.4. De linkse bit is de ‘most significant bit’ (MSB) en is aangeduid met een nul. De rechtse bit is de ‘least significant bit ’ (LSB) en is aangeduid met het nummer éénendertig. Dit zijn belangrijke bits voor de transmissievolgorde van de IP-header. Bij de transmissie van elk 32-bit woord verzendt men de MSB als eerste en de LSB als laatste.
Integratie van VoIP in een bedrijfsnetwerk
Tony De Craemer
- 38 -
0
32 bits
Version
IHL
Type of Service
Identification Time to Live
31
Total Length Flags
Protocol
Fragment Offset
Header Checksum
Source Address Destination Address Options (+ padding) Figuur 4.4: Structuur van de IP-header
De velden in de IP-header worden als volgt gedefinieerd: ? Version: De ingevulde waarde van dit veld geeft aan welke versie van het Internet Protocol er wordt gebruikt. Normaal zal dit veld de waarde vier bevatten. ? IP-header length (IHL): Dit veld geeft de lengte van de header aan, uitgedrukt in 32-bit woorden. De waarde van dit veld zal tussen 5 en 15 liggen, aangezien de IP-header minimum 20 en maximum 60 bytes lang is. ? Type of Service: De waarde van dit veld geeft aan op welke manier de bovenliggende protocollen willen dat het datapakket behandeld word. Het geeft als het ware de graad van prioriteit voor een pakket weer. ? Total length: Dit veld geeft de totale lengte van een IP-datagram (header + data) weer in bytes. Dit veld bevat 16 bits, waardoor dat de maximum grootte van een IP-datagram 65535 bytes bedraagt. Soms kan het wel zijn dat een bepaald netwerk waarover het pakket moet getransporteerd worden zo’n grote IP-datagrammen niet aankan. In dat geval moet het pakket gesplitst worden en opnieuw verzonden worden. ? Indentification: Dit veld biedt hulp bij het reassembleren van gefragmenteerde datagrammen. Elk fragment van een datagram zal in dit veld dezelfde waarde hebben. De host verhoogt de waarde van dit veld met één, voor elk verzonden datagram. ? Flags: Dit veld bestaat uit 3 bits, waarvan de twee laagste bits de fragmentatie van een datagram controleren. De hoogste bit in dit veld wordt niet gebruikt. De ene bit bepaalt of je de data kan fragmenteren. De andere bit bepaalt of een fragment de laatste is in een serie van gefragmenteerde pakketten. ? Fragment offset: Door gebruik van dit veld, kan de internetlaag gefragmenteerde datagrammen reassembleren. De waarde van 13 bits in dit veld bepaalt het begin van een fragment in de originele datagram.
Integratie van VoIP in een bedrijfsnetwerk
Tony De Craemer
- 39 -
? Time To Live: De waarde die in dit veld ingevuld wordt, beperkt de levensduur van een datagram. De waarde van dit veld wordt met één verminderd, iedere keer dat de datagram doorheen een router gaat. Als de waarde van de TTL nul is geworden, dan wordt de datagram verworpen. Op die manier wil men voorkomen dat een datagram in een netwerk blijft rondgaan. ? Protocol: De waarde van dit veld geeft aan, aan welk hoger gelegen protocol de inkomende data moet afgeleverd worden nadat het werk van het IP-protocol voltooid is. ? Header Checksum: Dit veld wordt gebruikt om de juistheid van de header na te gaan. De checksum is hier enkel geldig voor de header. Andere protocollen zullen dus voor hun eigen checksum moeten zorgen om de juistheid van hun data te controleren. ? Source Address: Dit veld bevat het IP-adres van de zender. ? Destination Address: Dit veld bevat het IP-adres van de ontvanger. Dit veld zal, samen met het veld van het bronadres, uitgebreider behandeld worden in de volgende paragraaf. ? Options: Dit laat IP toe om gebruik te maken van verschillende opties, zoals beveiliging en routering.
Integratie van VoIP in een bedrijfsnetwerk
Tony De Craemer
- 40 -
4.4.2 IP-adressering Een IP-adres bestaat uit 32 bits. De betekenis van de bits in dit adres hangt af van het soort netwerk die van toepassing is. Er bestaan vijf soorten netwerken. Deze netwerken worden onderverdeeld in klasse A, klasse B, klasse C, klasse D en klasse E netwerken. Het soort netwerk wordt telkens aangegeven door de uiterst linkse bits in het IP-adres. De structuur van een IP-adres voor de verschillende netwerken wordt weergegeven in figuur 4.5. Klasse A
0
Klasse B
1
0
Klasse C
1
1
0
Klasse D
1
1
1
0
Multicastadres (28 bits)
Klasse E
1
1
1
1
Experimenteeladres (28 bits)
Netwerknr. (7bits)
Hostnr. (24 bits)
Netwerknr. (14 bits)
Hostnr. (16 bits)
Netwerknr. (21 bits)
Hostnr. (8 bits)
Figuur 4.5: Klasse A, B, C, D en E adresformaten
De manier waarop een IP-adres normaal wordt geschreven, word de ‘dotted decimal format’ genoemd. Dit wordt gedaan door de waarde van 32 bits te splitsen in vier waarden van 8 bits. Deze vier waarden worden dan in decimale vorm genoteerd, telkens gescheiden van elkaar door een punt. Voorbeeld: De 32-bit waarde “11000010 11011100 100000101 00111100” komt dan overeen met het IP-adres “194.220.133.60”. De eerste drie klassen bevatten de adressen die kunnen worden toegekend aan de hosts. Niet alle combinaties zijn echter toegelaten. Er zijn namelijk enkele gereserveerde adressen. Deze gereserveerde adressen worden hieronder besproken. ? Een IP-adres waarvan alle hostbits nul zijn stemt niet overeen met een bepaalde host, maar duidt het netwerk aan waarop alle hosts met dat netwerknummer zich bevinden. ? Een IP-adres waarvan alle hostbits één zijn is een omroepadres voor een bepaald netwerk. Wanneer je een IP-datagram verzendt naar zo’n IP-adres, dan wordt dat IPdatagram bezorgd aan alle host van het betreffende netwerk.
Integratie van VoIP in een bedrijfsnetwerk
Tony De Craemer
- 41 -
Wanneer nu alle bits van het netwerknummer nul zijn, dan wijst het IP-adres naar het lokale netwerk. Dit type adres wordt alleen gebruikt bij initialisatieprocedures, wanneer het lokale netwerknummer niet gekend is. Verder zijn er nog twee andere gereserveerde adressen. Dit zijn de IP-adressen 0.0.0.0 en 255.255.255.255. Van de twee overblijvende klassen, wordt slechts de klasse D gebruikt. Klasse E is bedoeld voor gebruik in de toekomst. Klasse D specificeert een multicastadres. Wanneer je dus een IPdatagram verzendt naar zo’n adres, dan wordt dit datagram aan alle hosts binnen de overeenkomende multicastgroep bezorgd. Tot slot is het ook mogelijk om een IP-netwerk in meerdere subnetwerken op te delen. Dit systeem wordt toegepast bij klasse A, B en C netwerken en kan gerealiseerd worden door bits van het hostnummer te gebruiken als subnetnummer.
4.4.3 Routing De internetlaag maakt gebruik van de network acces-laag om data ook werkelijk te verzenden. Maar de network acces- laag is echter alleen in staat om data over te zenden naar de hosts die verbonden zijn met hetzelfde medium. Om nu toch in staat te zijn om data over te zenden naar verschillende netwerken, zal men gebruik maken van routers. Deze toestellen verbinden verschillende netwerken en zorgen ervoor, dat de IP-datagrammen die ze ontvangen, doorgezonden worden naar de juiste netwerken. Hierna volgt een beschrijving van hoe dit proces in z’n werk gaat. Wanneer de internetlaag van een host een datagram wil verzenden naar een bepaalde bestemming, dan bestudeert deze eerst het IP-adres van de bestemmeling. Dit is nodig omdat de internetlaag moet meedelen aan de network acces- laag, voor welke gebruiker deze data bestemd is. Wanneer het IP-adres van de bestemming zich op hetzelfde netwerk bevindt, dan zal de gebruiker die de datagram ontvangt ook meteen de eindbestemming zijn van de transmissie. Wanneer het IP-adres nu verwijst naar een host die zich niet op het lokale netwerk bevindt, dan zal de internetlaag zijn routeringstabel raadplegen. De inhoud van zo’n routeringstabel kan aanzien worden als paren van bestemmingsadressen en routeradressen. Het bestemmingsadres kan in dit geval het adres zijn van een host of van een netwerk zelf. De internetlaag begint dan te zoeken naar een router naar waar hij het datagram kan zenden. Daarvoor vergelijkt hij het bestemmingsadres van de datagram met de bestemmingsadressen die zich in de routeringstabel bevinden. Als er geen volledig gelijk IP-adres wordt gevonden, dan kijkt hij of er in een bepaald IP-adres van de routeringstabel een gelijkenis bestaat met het netwerknummer van het bestemmingsadres. Als dit eveneens niet het geval is, gebruikt hij een default IP-adres. Als er wel een IP-adres te vinden is met gelijkenis in het netwerknummer, neemt de internetlaag het IP-adres van de overeenkomstige router en geeft bevel aan de network acces- laag om het datagram te verzenden naar dit adres.
Integratie van VoIP in een bedrijfsnetwerk
Tony De Craemer
- 42 -
Voorbeeld: We beschikken over een host met IP-adres “199.198.1.10”. We willen vanaf deze host een datagram verzenden naar een andere host met IP-adres “199.198.2.100”. We kunnen afleiden uit het IP-adres dat de host die de datagram zou moeten ontvangen, zich niet op hetzelfde netwerk bevindt als de zendende host. Hierdoor zal de internetlaag van de zendende host de routeringstabel raadplegen. Veronderstellen we nu dat de routeringstabel er als volgt uit ziet: Bestemming Router 199.198.5.10 199.198.1.251 199.198.2.0 199.198.1.252 default 199.198.1.253 Tabel 4.1: Voorbeeld van een routeringstabel
De internetlaag zal nu eerst in de tabel op zoek gaan naar een volledig overeenkomend adres met het IP-adres “199.198.2.100”. Hij zal geen volledig gelijkaardig IP-adres vinden en zal vervolgens op zoek gaan naar een overeenstemmend netwerknummer. Dit keer zal de zoekbewerking wel resultaat geven. Op de tweede rij van de eerste kolom bevindt zich een IPadres waarvan het netwerknummer overeenstemt met dit in het IP-adres van de bestemming. De internetlaag neemt nu het IP-adres van de overeenstemmende router en verzend het datagram naar dit adres. Wanneer het verzonden datagram de router bereikt, gaat het over van de network acces- laag naar de internetlaag. De internetlaag voert dan bijna dezelfde procedure opnieuw uit om zo de datagram naar de eindbestemming te kunnen zenden. Het enige verschil is dat de router normaal in verbinding staat met verschillende netwerken. Hierdoor zal ook de geschikte interface, om de data te verzenden, moeten bepaald worden. Deze hele procedure blijft zich herhalen tot de datagram zijn eindbestemming bereikt heeft. Om er zeker van te zijn dat de goede wegen gekozen worden om data over te zenden, communiceren vele routers met elkaar. Ze wisselen hun routeringsinformatie uit met elkaar en gebaseerd op deze informatie zal elke router zijn routeringstabel updaten. Op die manier zal de router telkens de beste route voor iedere bestemming kunnen bepalen. Het type van informatie en de manier waarop ze uitgewisseld wordt, wordt bepaald door zogenaamde routingprotocollen die gebruikt worden. Enkele voorbeelden van dergelijke routingprotocollen zijn: het Open Shortest Path First (OSPF) protocol en het Border Gateway Protocol (BGP).
Integratie van VoIP in een bedrijfsnetwerk
Tony De Craemer
- 43 -
4.5 Hogere protocollen Daarnet hebben we de functies en het protocol van de internetlaag besproken binnen het TCP/IP- model. Nu bevinden er zich ook nog protocollen in de hoger gelegen lagen van het TCP/IP- model. Deze zijn op zijn minst even belangrijk voor toepassingen die gebruik maken van TCP/IP. De protocollen waarover in dit stuk meer uitleg zal volgen, zijn de protocollen die zich in de host to host- laag bevinden. Deze protocollen zullen dan ook interactie hebben met het reeds besproken internet protocol. De meest voorkomende transportprotocollen die in de de host to host-laag zitten zijn: TCP en UDP. In de hoogste laag van het TCP/IP-model bevinden zich ook protocollen, deze zijn echter applicatieafhankelijk.
4.5.1 Transmission Control Protocol TCP is momenteel het meest gebruikte protocol binnen de host to host- laag van het TCP/IPmodel. In tegenstelling tot IP en UDP is dit een verbindingsgeoriënteerd protocol. Dit protocol zet de onbetrouwbare en pakket- georiënteerde dienst van de internetlaag om naar een betrouwbare stroom van bytes. Dit protocol is ontworpen om communicatie tussen twee eindgebruikers tot stand te brengen. Om deze dienst mogelijk te maken moet de TCP module heel wat werk verrichten. Eerst en vooral moet er een TCP verbinding tot stand gebracht worden. De module moet er ook voor zorgen dat er geen ongewenste verbindingen tot stand gebracht worden. De stroom van bytes moet aan de zenderzijde opgesplitst worden en aan de ontvangstzijde opnieuw samengesteld worden. Er moet ook aandacht besteedt worden aan de nood om verkeerd aangekomen pakketten opnieuw juist te ordenen. Bovendien moet er ook een mechanisme zijn die een oplossing bied wanneer er pakketten verloren gegaan zijn. TCP zal voor al de voorgaande aspecten een oplossing bieden. Om een verbinding tot stand te brengen maakt TCP gebruik van een 3 weg ‘handshake’ mechanisme. Door elkaar gehaalde datagrammen worden behandeld door het gebruik van sequentienummers. Als laatste worden de verloren gegaan pakketten opgevangen door een ‘acknowledgement’ mechanisme. Dit mechanisme houdt in dat alle bytes van een bytestroom beantwoordt moeten worden met een bevestiging (acknowledgement) van de ontvanger. Als de zender na een bepaalde tijd geen bevestiging gekregen heeft van de ontvanger, zal de zender die specifieke data waarvan het geen bevestiging kreeg, opnieuw verzenden. Het protocol beschrijft ook ‘flow control’ mechanismen die de overbelasting van een tragere ontvanger moeten voorkomen. Verder beschrijft het ook nog mechanismen voor de controle van congestie in een netwerk. TCP kan bovendien verschillende conversaties uit de bovenliggende lagen tegelijkertijd ondersteunen. Dit doet TCP door gebruik te maken van poortnummers in een TCP-header.
Integratie van VoIP in een bedrijfsnetwerk
Tony De Craemer
- 44 -
Binnen het deel van de signalering van VoIP, zal TCP gebruikt worden om de betrouwbaarheid van het tot stand brengen van een gesprek te garanderen. Door de manier waarop TCP werkt is het echter niet wenselijk om TCP ook te gebruiken voor de overdracht van de werkelijke spraakdata van een VoIP gesprek. 4.5.1.1 De TCP-header Alle datagrammen die afkomstig zijn uit de host to host- laag bestaan uit een header en data. Alle diensten die TCP biedt worden gedefinieerd in die header zoals bij het IP-protocol ook het geval was. Het principe van telkens, per laag, een header toe te voegen aan de data uit de bovenliggende laag werd al aangehaald in de tekst over het OSI- model. In figuur 4.6 zie je de structuur van de TCP-header met daarop volgend een omschrijving van de velden van de header. 0
32 bits source port number
31 destination port number
sequence number acknowledgment offset
reserved
u r g
a c k
p s h
r s t
s y n
f i n
checksum
window
urgent pointer options
Figuur 4.6: Structuur van de TCP-header
De velden in de TCP-header worden als volgt gedefinieerd: ? Source port number: De waarde in dit veld geeft aan welke toepassing er in de applicatielaag van de zender wordt gebruikt. ? Destination port number: De waarde in dit veld geeft aan welke toepassing er in de applicatielaag van de ontvanger wordt gebruikt. ? Sequence number: Met de waarde, ingevuld in dit veld kan worden nagegaan of alle TCP-segmenten werden ontvangen. TCP nummert niet het aantal segmenten maar het aantal bytes. Wanneer er bijvoorbeeld 300 bytes per segment worden uitgezonden, dan zal de waarde van dit veld voor de eerste drie segme nten respectievelijk 0, 300 en 600 zijn.
Integratie van VoIP in een bedrijfsnetwerk
Tony De Craemer
- 45 -
? Acknowledgement: Met de waarde die ingevuld wordt in dit veld kan de goede ontvangst van databytes worden bevestigd.Wanneer dit veld bijvoorbeeld de waarde 501 bevat, dan betekent dit dat de ontvanger alle bytes tot en met nummer 500 goed ontvangen heeft en dat hij de volgende keer databytes verwacht vanaf het nummer 501. ? Data offset: De waarde in dit veld geeft aan hoeveel 32-bit woorden de TCP-header bevat. ? Reserved: Dit veld wordt gereserveerd voor toekomstig gebruik. ? Window: Dit veld wordt gebruikt voor ‘flow control’. De waarde die ingevuld wordt in dit veld duidt dan ook aan hoeveel bytes de ontvanger van de zender kan aannemen. Als men nu een verzending van gegevens verondersteld waarvan het nummer van de beginnende byte 30 is. Dan zal de ontvanger, wanneer de waarde van het window veld 15 is, bytes 30 t.e.m 44 kunnen ontvangen. ? Checksum: Dit veld bevat een CRC-controle (Cyclic Redundancy Check) die berekend wordt over het hele TCP-segment. In tegenstelling tot IP controleert TCP naast de header ook het dataveld, waardoor het een betrouwbaar protocol is. ? Urgent pointer: Dit is een pointer die verwijst naar de eerste dringende databyte in het pakket. ? Options: Specificeert verschillende TCP opties.
Integratie van VoIP in een bedrijfsnetwerk
Tony De Craemer
- 46 -
4.5.2 User Datagram Protocol UDP is een veel eenvoudiger protocol dan TCP en is bruikbaar in situaties waar de betrouwbaarheid van TCP niet vereist is. UDP is bovendien een connectieloos protocol en maakt gebruik van een kleinere header, waardoor de overhead geminimaliseerd word. UDP zal steeds data, die voorafgegaan wordt door een UDP-header, doorgeven aan de internetlaag. Deze internetlaag zal dan op zijn beurt de verzending van het datagram verzorgen. Binnen de technologie van VoIP wordt UDP gebruikt voor overdracht van de werkelijke spraakdata. TCP wordt hiervoor niet gebruikt omdat ‘flow control’ en hertransmissie van pakketten met spraakdata niet noodzakelijk zijn. Omdat UDP heeft de eigenschap dat het pakketten zal blijven doorsturen, onafhankelijk van de hoeveelheid pakketten die verloren gaat (packet loss). Stel dat we toch TCP gebruiken om spraak over te zenden, dan zou de vertraging die het wachten op bevestigingen en hertransmissies teweeg brengt, de spraakkwaliteit enorm doen dalen. Bij VoIP en andere real- time applicaties is het controleren van vertragingen belangrijker dan het verzekeren van de betrouwbare aankomst van elk pakket. 4.5.2.1 De UDP-header In figuur 4.7 zie je de weergave van een UDP-header. Uit de figuur blijkt dat de opbouw van deze header zeer eenvoudig is. De UDP-header heeft slechts vier velden, dat zijn de volgende: source port, destination port, length en UDP-checksum. De source en destination port velden hebben dezelfde functie als deze in de TCP-header. Het ‘length’ veld definieert de lengte van de UDP-datagram. Ten slotte heb je nog het ‘checksum’ veld dat optioneel is. 0
32 bits
31
source port
destination port
length
checksum
Figuur 4.7: Structuur van de UDP-header
Integratie van VoIP in een bedrijfsnetwerk
Tony De Craemer
- 47 -
5 Kenmerken en problemen van VoIP Om met VoIP een goed functionerend netwerk tot stand te brengen is het van belang dat men weet voor welke problemen men kan komen te staan. In dit hoofdstuk worden dan ook de belangrijkste problemen besproken die in een VoIPomgeving kunnen voorkomen.
5.1 Delay De delay of vertraging bij VoIP wordt aanzien als de totale tijd die spraak nodig heeft om de mond van de spreker te verlaten en het oor van de luisteraar te bereiken. De belangrijkste vertragingen zijn de volgende: ? ? ? ?
propagation delay, serialization delay, handling delay, queuing delay.
Deze vertragingen verschillen van elkaar maar zullen allemaal een invloed hebben op de spraakkwaliteit van VoIP. Hoe groter elk van deze vertragingen zijn, hoe groter de negatieve invloed op de spraakkwaliteit zal zijn.
5.1.1 Propagation delay De ‘propagation delay’ wordt bepaald door de snelheid waarmee het licht zich verplaatst in glasvezel of de snelheid van elektronen in koper. Licht verplaatst zich met een snelheid van 300 000 km/s in het vacuüm en elektronen verplaatsen zich met een snelheid van 200 000 km/s in glasvezel of koper. Stel dat we nu een gesprek voeren over een netwerk die zich verspreid over de helft van de wereld (± 20921 km). De vertraging van het heengaande signaal bedraagt dan ongeveer 70 ms. Dit is een zeer kleine vertraging en is dan ook nauwelijks hoorbaar voor het menselijk oor. In samenspraak met de ‘handling delay’ kan deze vorm van vertraging wel een merkbare vermindering van de spraakkwaliteit teweeg brengen. Een echte oplossing voor deze vorm van vertraging bestaat er dan ook niet. De gebruiker kan enkel kiezen voor het snelste medium als hij dat wil.
5.1.2 Serialization delay ‘Serialization delay’ is de tijd die nodig is om een bit of een byte van de lijn op een interface te plaatsen. Deze vorm van vertraging is afhankelijk van de grootte van het pakket dat van de lijn wordt gehaald of er op wordt gezet en van de bitsnelheid van de lijn. Als we uitgaan van de bitsnelheden die tegenwoordig gerealiseerd worden, kunnen we zeggen dat dit een verwaarloosbare vorm van vertraging is.
Integratie van VoIP in een bedrijfsnetwerk
Tony De Craemer
- 48 -
5.1.3 Handling delay ‘Handling delay’ wordt ook wel ‘processing delay’ genoemd en definieert enkele verschillende vormen van delay. Deze vorm van vertraging wordt veroorzaakt door toestellen die frames doorheen het netwerk transporteren. ‘Handling delay’ komt net zoals ‘propagation delay’ ook voor in gewone telefoonnetwerken, maar is in sterkere mate aanwezig in pakketgeoriënteerde netwerken. Stel nu dat we voor de comprimering van spraak gebruik maken van de G.729-codec. Deze codec genereert iedere 10 ms één spraaksample. Vervolgens worden er twee spraaksamples in één pakket geplaatst. Hierdoor is de vertraging van het pakket 20 ms. Daarnaast voert deze codec ook nog een begin voorspelling uit van 5 ms, wat de vertraging voor dit spraakframe op 25 ms brengt. Sommige fabrikanten zorgen ervoor dat de gebruiker zelf kan instellen hoeveel spraaksamples er in één frame vervat zitten. Op die manier bepaalt men dan ook de grootte van de ‘handling delay’.
5.1.4 Queuing delay Voor pakketgeoriënteerde netwerken bestaan er nog twee andere vormen van vertragingen: ? de tijd om een pakket naar een uitgaande wachtrij te brengen, ? queuing delay. ‘Queuing delay’ is het resultaat van pakketten die in een wachtrij komen te staan door congestie van een overbelaste interface. Een interface kan overbelast raken doordat er meer pakketten verzonden worden dan de interface aankan binnen een bepaald tijdsinterval. Door deze congesties ontstaan er wachtrijen in de interface. Al naargelang de grootte van de congestie zal een pakket langer of minder lang in de wachtrij komen te staan. Omdat een realtime pakket voorrang zou krijgen in deze wachtrij op een non-real-time pakket, wordt er gebruik gemaakt van queuing mechanismen. Dit fenomeen wordt nog verder uitgewerkt in hoofdstuk 6 (Quality of Service). Tot slot raad men aan om de ‘queuing delay’ te beperken tot 10 ms. De ITU-T raad in hun G.114-standaard aan om de ‘one-way’, ‘end-to-end delay’ te beperken tot een maximum van 150 ms. Men gaat er van uit dat beneden deze grenswaarde een goede spraakkwaliteit verzekerd is. Zoals in tabel 5.1 te zien is, zijn er gebruiksvormen die grotere vertragingen hebben maar die toch gebruikt worden door de afwezigheid van goede alternatieven. Gebruiksvorm Hoge kwaliteit Satelliet kwaliteit CB kwaliteit Fax Relay Tabel 5.1: Gebruiksvormen en hun vertragingen
Integratie van VoIP in een bedrijfsnetwerk
Vertraging 0 - 160 ms 160 - 530 ms 410 - 720 ms 450 - 800 ms
Tony De Craemer
- 49 -
‘Queuing delay’ is dus een element dat bijdraagt tot de ‘end-to-end delay’ van een netwerk. Er is echter nog een ander element dat hier toe bijdraagt, namelijk ‘jitter’.
5.2 Jitter Jitter is een verschijnsel dat enkel bestaat in pakket georiënteerde netwerken. Jitter kan eenvoudig worden omschreven als, de variatie in aankomsttijd van pakketten. In spraaktoepassingen wordt er verwacht van de zender dat hij na regelmatige intervallen spraakpakketten verzend. Deze pakketten kunnen vertragingen oplopen in het netwerk en zo niet met dezelfde intervallen aankomen in het ontvangende station. Het verschil tussen het tijdstip waarop het pakket verwacht wordt door het ontvangende station en het tijdstip waarop het werkelijk aankomt heet jitter. Dit fenomeen wordt nog iets duidelijker gemaakt aan de hand van de volgende figuur.
Netwerk
Zenden
1
2
3 t
Ontvangen
1
2
3 t
dt 1
dt 2 = dt 1
dt 3
Figuur 5.1: Jitter
In figuur 5.1 zie je dat de tijd die nodig is om pakket 1 en 2 te verzenden en te ontvangen even groot is. Het derde pakket loopt extra vertraging op in het netwerk en komt later aan dan verwacht wordt. De oplossing voor dit verschijnsel is een jitter buffer. Let wel op, jitter is niet hetzelfde als totale vertraging. Wanneer jitter veel voorkomt in een netwerk kan dat wel de totale vertraging doen stijgen. Dit komt omdat je afhankelijk van de hoeveelheid jitter die aanwezig is, een grotere jitterbuffer moet hebben om de onvoorspelbaarheid in aankomst van een pakket te compenseren. Wanneer je een goed gestructureerd netwerk hebt waarin je de nodige voorzorgen neemt betreffende dit probleem, kan je de hoeveelheid jitter beperken. Door dit te doen heb je slechts nood aan een kleinere jitterbuffer, waardoor de bijdrage van deze buffer tot de totale ‘end-to-end delay’ daalt.
Integratie van VoIP in een bedrijfsnetwerk
Tony De Craemer
- 50 -
Nu bestaan er twee soorten jitterbuffers: ? statische jitterbuffers, ? dynamische jitterbuffers. Van deze twee soorten zijn de dynamische jitterbuffers de beste oplossing. Een statische buffer is namelijk altijd te groot of te klein. Dit leidt dan opnieuw tot dalende spraakkwaliteit. Deze daling in spraakkwaliteit is respectievelijk het gevolg van buitensporige vertragingen en verlies van pakketten. Een dynamische buffer daarentegen past zich voortdurend aan, aan de hoeveelheid jitter van de laatste pakketten.
5.3 Echo Echo is een zeer vervelend verschijnsel dat ervaren kan worden gedurende een telefoongesprek. Als men zijn eigen stem hoort in de ontvanger terwijl men spreekt, ervaart men dit als normaal. Als dit nu echter gebeurt met een vertraging van 25 ms, dan wordt dit een zeer vervelende ervaring. Het kan zelfs in een zodanige mate vervelend zijn dat het de vloeiendheid van een gesprek verhindert. In de traditionele netwerken is echo het gevolg van misaanpassingen in impedantie. De mogelijke oplossingen voor echo zijn: ? echo cancellers, ? echo surpressors. Belangrijk om weten is, dat wanneer men gebruik maakt van echo surpressors, er geen ISDNtoepassingen meer mogelijk zijn. Dit komt omdat een echo surpressor het frequentiedomein waarvan deze toepassing gebruik maakt, zal onderdrukken. Tegenwoordig worden echo cancellers ingebouwd in een DSP-processor of worden ze softwarematig uitgevoerd. Wanneer ze ingebouwd worden in een DSP-processor dan gebeurt dit in de vorm van codecs. Deze methode is ook de beste van de twee mogelijkheden, omdat ze het meest de voordelen van echo cancelling behoud t Om nu te begrijpen hoe een echo canceller werkt is het van belang om eerst te weten hoe echo ontstaat. In het volgende voorbeeld wordt eerst uitgelegd waar echo vandaan komt en daarna hoe een echo canceller werkt. Voorbeeld: Veronderstellen we nu dat er één persoon aan het praten is en dat de andere luistert. Als de heengaande spraak op zijn doortocht een misaanpassing in impedantie ontmoet, dan keert deze spraak terug naar de spreker. De spreker kan het teruggekeerde spraaksignaal dan ook horen, enkele milliseconden nadat hij gesproken heeft.
Integratie van VoIP in een bedrijfsnetwerk
Tony De Craemer
- 51 -
Om de echo te verwijderen zal het toestel van de spreker gedurende een bepaalde tijd een invers beeld van de heengaande spraak bewaren. De echo canceller luistert dan naar het terugkerende signaal en trekt het inverse spraaksignaal hiervan af. Het is nu zo, dat de goede werking van een echo canceller afhangt van de tijd dat de canceller wacht op het terugkerende signaal. Bij integratie van VoIP in een netwerk is het dan ook van belang om op voorhand de juiste hoeveelheid ‘echo cancellation’ te gaan bepale n. Als men te weinig ‘echo cancellation’ in rekening brengt, ervaren de gebruiker echo tijdens het gesprek. Wanneer men dan teveel ‘echo cancellation’ in rekening brengt zal de echo canceller er langer over doen om de echo te verwijderen.
5.4 Packet loss ‘Packet loss’ is een vertrouwd verschijnsel binnen datanetwerken. Het is zelfs zo vertrouwd dat sommige netwerken er gebruik van maken om de huidige toestand van het netwerk te controleren. Op die manier kunnen ze dan het aantal pakketten dat ze overzenden regelen. Wanneer een pakket niet aankomt binnen een vooropgestelde tijd, wordt het aanzien als een verloren gegaan pakket. Omdat een pakket dat verloren gegaan is slecht 20 ms aan spraak bevat, zal de gemiddelde luisteraar dit niet eens opmerken. Stel dat we gebruik maken van de G.729 codec en dat er een pakket verloren gaat. Het ontvangende station zal dan eerst een bepaalde tijd wachten en daarna de ‘concealment strategy’ toepassen. Deze ‘concealment strategy’ zal ervoor zorgen dat het laatste correct ontvangen pakket opnieuw afgespeeld wordt, om te vermijden dat de luisteraar stille periodes waarneemt. Doet er zich nu een situatie voor waarbij er meerdere opeenvolgende pakketten verloren gaan, dan wordt de ‘concealment strategy’ slecht één maal toegepast.
Integratie van VoIP in een bedrijfsnetwerk
Tony De Craemer
- 52 -
5.5 Voice Activity Detection In een normaal gesprek is er één persoon die praat en één persoon die luistert. In een netwerk gaat men voor zo’n gesprek een constante, bidirectionele 64 kbps verbinding tot stand brengen. Daardoor zal men bij de traditionele technologieën een verspilling hebben van 50 procent van de bandbreedte. VoIP zal door het gebruik van VAD deze verspilde bandbreedte voor andere doeleinden gaan gebruiken. Zoals wordt verduidelijkt in figuur 5.2, zal de VAD de sterkte van de spraak detecteren en aan de hand daarvan beslissen wanneer de spraak niet meer in pakketten gestopt word. Signaalsterkte (dB) Controle van spraak
Hang Over
Controle van spraak
Hang Over
Signalto-Noise Treshold
Noise Floor
Tijd FSC
FSC
Figuur 5.2: Voice Activity Detection
Wanneer de VAD merkt dat er een zekere val is in signaalsterkte, wacht het eerste een bepaalde tijd (± 200 ms) voor het beslist om spraak niet meer in pakketten te stoppen. Deze wachttijd wordt de ‘hangover’ genoemd. VAD heeft echter nog twee zwakke punten. De eerste zwakte van VAD is dat het in een luidruchtige omgeving geen onderscheid kan maken tussen spraak en achtergrondgeluiden. De grens tot waar het een onderscheid kan maken tussen deze beide is in figuur 5.2 aangeduid met ‘Signal-to-Noise Treshold’. Wanneer deze grens overschreden wordt, zal de VAD zichzelf vanaf het begin van het gesprek uitschakelen. De tweede zwakte van VAD is dat het moeilijk het begin van spraak kan detecteren. Hierdoor wordt het begin van een zin dan ook weggelaten. Dit verschijnsel wordt ‘Front-end speech clipping’ genoemd en wordt door de luisteraar niet eens opgemerkt.
Integratie van VoIP in een bedrijfsnetwerk
Tony De Craemer
- 53 -
5.6 D/A conversies Terwijl een spraaksignaal onderweg is moet het dikwijls enkele D/A conversies ondergaan. Een signaal dat meerdere D/A conversies ondergaat zal een slechtere kwaliteit hebben, doordat het verloop van het signaal na elke conversie wijzigingen oploopt. Een signaal dat onderworpen is aan compressietechnieken is nog gevoeliger aan D/A conversies dan een gewoon signaal. Zo is het mogelijk dat een signaal dat bewerkt is met de G.729-codec, slechts na twee conversies al een sterke daling kent in de ‘Mean Opinion Score’ (MOS). Een VoIP-toepassing die gebruik maakt van de G.711-codec is wat gevoeligheid aan D/A conversies betreft, vergelijkbaar met een netwerk van traditionele telefonie. Hier komt het er terug op neer om voor de integratie van VoIP in te spelen op deze eigenschap. Daarmee bedoelt men dat je dit probleem onder controle kan houden als je maakt dat er zo weinig mogelijk van deze conversies voorkomen in je netwerk. Nu is het ook zo dat er een vermindering va n de spraakkwaliteit kan ontstaan doordat een signaal onderweg teveel gecomprimeerd en gedecomprimeerd wordt. Naar dit verschijnsel wordt nogal eens verwezen onder de naam ‘Tandem encoding’.
5.7 Real-Time Protocol Zoals al eerder vermeld in hoofdstuk 5, zijn er twee protocollen die bovenop het IP-protocol werken. Dit zijn het Transmission Control Protocol (TCP) en het User Datagram Protocol (UDP). Algemeen neemt men aan dat je TCP verkiest voor een betrouwbare verbinding. UDP wordt dan gebruikt wanneer je kiest voor eenvoud en wanneer betrouwbaarheid niet je hoofdvereiste is. Door het belang van het tijdsaspect in spraakverkeer neemt men UDP/IP als norm voor het transporteren van de spraakdata zelf. Bij een pakketgeoriënteerd netwerk is er echter meer informatie vereist dan deze die UDP biedt. Zo heeft men voor real-time of vertragingsgevoelige toepassingen het Real- Time Protocol (RTP) ontwikkeld. VoIP is zo’n toepassing en zal bijgevolg voor het verzenden van spraakpakketten, gebruik maken van een RTP/UDP/IP-header. Deze header zal bestaan uit een IP-header die voorafgegaan wordt door een UDP-header. De UDP-header wordt dan op zijn beurt voorafgegaan door een RTP-header. De twee eerste headers zijn reeds besproken in hoofdstuk 4. In figuur 5.3 is de struc tuur te zien van een RTPheader.
Integratie van VoIP in een bedrijfsnetwerk
Tony De Craemer
V=2
P
- 54 -
X
CC
M
PT
Sequence number
Timestamp Synchroniztion Source (SSRO) Identifier Figuur 5.3: Structuur van de RTP header
RTP is dus de standaard voor het transporteren van vertragingsgevoelig verkeer over een pakketgeoriënteerd netwerk. Dit protocol voorziet het ontvangende station van informatie die niet vervat zit in de UDP/IP-stream. Er zijn nu twee belangrijke informatievelden in een RTP-header zoals deze te zien is in figuur 5.3. Ten eerste hebben we het veld die het ‘sequence number’ bevat. De informatie in dit veld geeft aan of de pakketten in de juiste volgorde ontvangen worden. Ten tweede hebben we nog het veld die de timestamp informatie bevat. De waarde van dit veld zal gebruikt worden om de jitter te bepalen. Verder is het ook de moeite waard om te weten welke functie het PT (Payload Type) veld en het ‘Synchroniztion Source (SSRO) Identifier’ veld hebben. Het PT- veld zal de gebruikte codec aan de ontvanger meedelen. Het SSRO-veld zal de ontvanger vertellen van wie het ontvangen pakket afkomstig is indien men in conferentie aan het bellen is. Want bij deze toepassing zenden alle bronnen naar hetzelfde multicastadres. Het gebruik van RTP is zeer belangrijk voor real-time verkeer. Er zijn echter ook enkele nadelen aan verbonden. De IP, RTP en UDP headers zijn respectievelijk 20, 8 en 12 bytes groot. De totale header heeft dan een grote van 40 bytes. De header is, in het geva l we gebruik maken van de G.729-codec om twee spraak samples over te zenden, dubbel zo groot als de werkelijke data. Men kan deze grote header gaan comprimeren tot 2 of 4 bytes door gebruik te maken van RTP- headercompressie (CRTP). CRTP wordt dieper uitgespit in hoofdstuk 6.
Integratie van VoIP in een bedrijfsnetwerk
Tony De Craemer
- 55 -
6. Quality of Service Wanneer je real-time dataverkeer (telefonie en video) en non real-time dataverkeer (e- mail) in één netwerk samenvoegt, dan verkrijg je een multimedianetwerk. Zo’n multimedianetwerk moet de verschillende soorten dataverkeer van elkaar kunnen onderscheiden en ze de geschikte diensten aanbieden. Bovendien moet dat netwerk die diensten van het ene naar het andere eindpunt kunnen aanbieden. Wanneer een netwerk dit allemaal kan, dan zegt men dat het netwerk voorzien is van ‘Quality of Service’ (QoS). VoIP heeft ook zo zijn problemen, zoals gebleken is uit het vorige hoofdstuk. QoS heeft nu de mogelijkheid om een oplossing te bieden voor een deel van deze problemen. Het IP-protocol, waarvan VoIP gebruik maakt, is oorspronkelijk niet ontworpen om QoS te leveren aan ‘flows’. Nu bestaan er al methoden om het IP-protocol van een bepaalde hoeveelheid QoS te voorzien. Een ‘flow’ is een unidirectionele stroom van pakketten tussen een bepaalde bron en bestemming. De bron en bestemming worden hierbij aangeduid met een IP-adres en een poortnummer. Soms gaat men verschillende ‘flows’ gaan groeperen tot een ‘class’. QoS zelf bestaat uit ‘Class of Service’ (CoS) en ‘Type of Service’ (ToS). De bedoeling van deze twee is om de bandbreedte en vertragingsvereisten die gelden voor een bepaalde applicatie te verwezenlijken. CoS is in staat om verschillende ‘flows’, met elk hun eigen bandbreedte en vertragingen, te groeperen. ToS is een veld in de IP-header die het mogelijk maakt om CoS uit te voeren. De QoS is dan in staat om de verschillende ‘flows’ binnen een ‘class’ te onderscheiden en ze eventueel te voorzien van verschillende diensten.
6.1 CRTP Een eerste grote zorg bij VoIP toepassingen zijn de beperkingen wat de bandbreedte betreft. Afhankelijk van de gebruikte codec en het aantal spraaksamples per pakket, zal de nodige bandbreedte variëren. Codec
Gebruikte Bandbreedte Gebruikte bandbreedte na CRTP G.729 met één 10 ms sample/pakket 40 kbps 9,6 kbps G.729 met twee 10 ms samples/pakket 24 kbps 11,2 kbps G.729 met vier 10 ms samples/pakket 16 kbps 8,4 kbps G.711 met één 10 ms sample/pakket 112 kbps 81,6 kbps G.729 met twee 10 ms samples/pakket 96 kbps 80,8 kbps Tabel 6.1: Overzicht van codecs en hun gebruikte bandbreedte
De headers die noodzakelijk zijn voor het overzenden van data zullen ook een grote rol spelen bij het innemen van de beschikbare bandbreedte. In tabel 6.1 zijn enkel de headers uit laag 3 en de bovenliggende lagen van het OSI-model in rekening gebracht. De headers uit de datalinklaag van het OSI- model zijn in tabel 6.1 niet in rekening gebracht.
Integratie van VoIP in een bedrijfsnetwerk
Tony De Craemer
- 56 -
Dit houdt in dat de nodige bandbreedte nog kan variëren afhankelijk van het gebruikte netwerk (Ethernet, Frame Relay, ATM, PPP). RTP- headercompressie is een techniek die ervoor zorgt dat de gebruikte bandbreedte voor een VoIP-gesprek beperkt kan worden. Een IP/RTP/UDP-header is normaal 40 bytes groot. Met CRTP kan de grootte van deze header herleidt worden tot 2 of 4 bytes. Stel dat we gebruik maken van een verbinding van 56 kbps. Door de toepassing van CRTP kunnen we probleemloos vier VoIP-gesprekken (met G.729-codec en twee samples/pakket) voeren over deze verbinding. Zonder het toepassen van CRTP kunnen we in deze situatie slechts 2 VoIP- gesprekken voeren. Zonder compressie Header IP 20 bytes
UDP
RTP
8 bytes
12 bytes
Payload 20 tot 160 bytes
Met compressie Payload 20 tot 160 bytes 2 tot 4 bytes Figuur 6.1: Compressie van de IP/RTP/UDP-header
De mate van compressie toegepast door CRTP is afhankelijk van het al dan niet gebruiken van de UDP-checksum. Wanneer we deze gebruiken, word de IP/RTP/UDP-header gecomprimeerd tot 4 bytes. Passen we de UDP-checksum niet toe dan zal de IP/RTP/UDPheader gecomprimeerd worden tot 2 bytes. Nu is het echter beter om CRTP niet toe te passen binnen interfaces met een hoge snelheid. De winst die men zal maken aan bandbreedte zal gewoonlijk niet opwegen tegen de nadelen op de vlotte werking van je netwerk. Door gebruik van CRTP zal de router meer bewerkingen moeten verrichten, waardoor hij minder snel andere opdrachten zal kunnen afhandelen.
Integratie van VoIP in een bedrijfsnetwerk
Tony De Craemer
- 57 -
6.2 Queuing ‘Queuing’ is het verschijnsel waarbij in een interface een wachtrij van pakketten gevormd wordt. Indien deze wachtrijen te groot worden kunnen ze leiden tot congesties en zo de vlotte werking van het netwerk benadelen. In het teken van QoS bestaan er nu verschillende mechanismen om een wachtrij af te handelen. Afhankelijk van de toepassing en de gewenste prioriteiten wordt er een keuze gemaakt uit de verschillend e mechanismen.
6.2.1 FIFO FIFO staat voor ‘First In First Out’. Uit de naam alleen al kan men afleiden dat er bij dit mechanisme geen enkele vorm van prioriteit zal gegeven worden aan gelijk welk pakket in de wachtrij. Het komt er dus op neer dat het pakket die het eerst in de wachtrij komt te staan ook eerst de wachtrij zal verlaten. Een real- time pakket zal dus even lang in de wachtrij staan als gelijk welk ander pakket. Dit is dan ook geen goed mechanisme om VoIP mee te gaan uitrusten.
6.2.2 Priority Queuing Deze manier van ‘queuing’ maakt gebruik van 4 wachtrijen met respectievelijk een lage, normale, middelmatige en hoge prioriteit. ‘Priority queuing’ (PQ) laat toe om een groep van datapakketten in één van de vier wachtrijen te plaatsen en er op die manier ook een graad van prioriteit aan toe te kennen. De opdeling van alle pakketten in verschillende soorten noemt men classificatie. Die classificatie gebeurt door de router, die hiervoor door de gebruiker geconfigureerd moet worden. Men kan het dataverkeer bijvoorbeeld indelen aan de hand van het gebruikte protocol. Figuur 6.2 geeft nu een verduidelijkende weergave van de werking van ‘priority queuing’.
Integratie van VoIP in een bedrijfsnetwerk
Tony De Craemer
- 58 -
Hoog
Middelmatig
Transmit Queue
Inkomende pakketten Normaal classificatie
Laag
APS
Fysische lijn
Interface buffer Figuur 6.2: Werking van PQ
‘Priority queuing’ werkt als volgt: de binnenkomende pakketten worden in vier verschillende niveaus van prioriteit opgedeeld. Vervolgens worden de pakketten naargelang hun prioriteit in de juiste wachtrij geplaatst. Tot slot wordt op alle wachtrijen ‘absolute priority scheduling’ toegepast. Hierbij worden eerst de rijen met de grootste prioriteit afgehandeld en daarna pas de wachtrijen met de overige graden van prioriteit. Bij het gebruik van PQ moet men goed oppassen dat men ze goed configureert, anders kan dit er toe leiden dat er telkens slechts één wachtrij afgehandeld wordt. Toepassingen die van een hoge prioriteit genieten en bijna de volledige bandbreedte van de lijn gebruiken, zullen verhinderen dat dataverkeer met een lagere prioriteit nog afgehandeld wordt. Mogelijke oplossingen voor dit probleem kunnen geboden worden door CAR of GTS. Deze komen later in dit hoofdstuk nog aan bod. Bovendien is PQ een statische configuratie waardoor ze zich niet aanpast aan de veranderende netwerkcondities.
Integratie van VoIP in een bedrijfsnetwerk
Tony De Craemer
- 59 -
6.2.3 Custom Queuing Met ‘C ustom Queuing’ (CQ) kan men tot 16 wachtrijen definiëren, plus een systeemwachtrij. Deze systeemwachtrij moet ervoor zorgen dat belangrijke systeeminformatie voorrang krijgt. De systeemwachtrij wordt dan ook als eerste leeg gemaakt. Vervolgens worden de andere wachtrijen leeg gemaakt door een scheduling mechanisme. Het scheduling mechanisme die hier van toepassing is heet ‘Weighted Round Robin’ (WRR). Het ‘WRR scheduling’ mechanisme werkt als volgt: iedere wachtrij wordt één voor één overlopen. Telkens worden er van elke wachtrij een aantal pakketten op de verzendende wachtrij geplaatst. Van de ene wachtrij kunnen meer pakketten afgenomen worden dan van de andere. Het aantal pakketten dat wordt afgenomen hangt af van de waarde van de ‘bytecount ’ van elke wachtrij. Deze bytecount is een waarde die per wachtrij toegekend wordt in de router. Het ‘scheduling’ mechanisme zal dan pakketten blijven afnemen van een bepaalde wachtrij zolang het aantal afgenomen bytes kleiner is dan de waarde van de ‘bytecount’. Voorbeeld: Een bytecount van 512 bytes betekent dat de WRR drie pakketten van 250 bytes zal afhalen en geen twee want 2*250 < 512. Stel dat de pakketgrootte nu 1024 bytes bedraagt, dan zal de WRR één pakket afhalen. Figuur 6.3 geeft nu een verduidelijking van de algemene werking van ‘custom queuing’.
Transmit Queue
Inkomende pakketten
classificatie
Tot 16 wachtrijen
WRR
Fysische lijn
Interface buffer Figuur 6.3: Werking van CQ
Wanneer men vooraf de grootte van alle pakketten kent, kan men aan de hand van de bytecount een percentage van de bandbreedte toekennen aan een bepaalde wachtrij. Hierdoor stelt het mechanisme de gebruiker ook in staat om een bepaald percentage van de bandbreedte vast te leggen voor een bepaald protocol. Dit kan men doen door dataflows die gebruik maken van een bepaald protocol in éénzelfde wachtrij te plaatsen en bovendien aan deze wachtrij een voldoende grote ‘bytecount’ toe te kennen.
Integratie van VoIP in een bedrijfsnetwerk
Tony De Craemer
- 60 -
6.2.4 Weighted Fair Queuing WFQ zal gebruik maken van meerdere wachtrijen om dataflows te splitsen. Vervolgens zal WFQ aan alle dataflows eenzelfde bandbreedte beschikbaar stellen. Hierdoor wil men vermijden dat één bepaalde toepassing alle bandbreedte zou opgebruiken. De dataflows met lage volumes, die het meeste van alle dataverkeer uitmaken, krijgen een voorkeursbehandeling. Die voorkeursbehandeling houdt in dat ze alle bandbreedte beschikbaar krijgen die ze nodig hebben. De overige bandbreedte wordt op een evenwichtige manier verdeeld over de dataflows met hoge volumes. Wanneer er een bepaalde dataflow wegvalt, zal de WFQ de vrijgekomen bandbreedte ook benutten voor de resterende dataflows. WFQ zal het type dataflow bepalen aan de hand van bron- en bestemmingsadres, protocol type, socket en poortnummer en de QoS/ToS-waarden. Elk type dataflow wordt dan in een afzonderlijke wachtrij geplaatst. Er zijn maximum 4096 verschillende wachtrijen mogelijk. De wegingsfactor bij WFQ wordt beïnvloed door zes mechanismen: IP-precedence, FECN, BECN, RSVP, ‘IP RTP priority’ en ‘IP RTP reserve ’. Deze mechanismen komen later in dit hoofdstuk uitgebreider aan bod. Hier volgt alvast een klein woordje uitleg over enkele mecha nismen. IP-precedence zal afhankelijk van een waarde tussen 0 en 7, een bepaalde bandbreedte beschikbaar stellen aan het betreffende dataverkeer. FECN en BECN zijn van toepassing binnen een FR-netwerk. Eigenlijk zijn dit vlaggen die gebruikt worden om congestie van dataverkeer te voorkomen. Bij de toepassing van WFQ moet de netwerkbeheerder er voor zorgen dat applicaties geen grotere prioriteiten aanvragen voor hun data, dan ze werkelijk nodig hebben. Bovendien is WFQ niet bedoeld om toegepast te worden op interfaces die sneller werken dan 2,048 Mbps.
6.2.5 CB-WFQ Class Based-WFQ is een speciale vorm van WFQ. Ze heeft alle voordelen van WFQ en is bovendien toepasbaar voor routers die werken met hoge snelheden. Men heeft bij CB-WFQ de mogelijkheid om een specifieke klasse te definiëren voor spraak. Men kan aan elke klasse een minimum gegarandeerde bandbreedte toekennen. Tot slot is het mogelijk om met CB-WFQ tot 64 klassen te behandelen met elk hun eigen eigenschappen qua bandbreedte.
6.2.6 PQ binnen CB-WFQ Dit is een bijzonder ‘queuing’ mechanisme die ontwikkeld is om absolute prioriteit te geven aan spraakverkeer ten opzichte van al het andere verkeer op de interface. Deze vorm wordt ook wel ‘low latency queuing’ genoemd.
Integratie van VoIP in een bedrijfsnetwerk
Tony De Craemer
- 61 -
6.3 Packet classification Om bij bepaalde ‘queuing’ mechanismen (WFQ) een goede afhandeling van pakketten te bekomen moet men weten hoe men een wegingsfactor kan toekennen aan een pakket. Hieronder worden de verschillende mogelijke technieken besproken.
6.3.1 IP-precedence IP-precedence verwijst naar het gebruik van drie bits in het TOS-veld die zich op zijn beurt in een IP-header bevindt. Elke combinatie van deze drie bits zal dit veld een waarde van 0 t.e.m 7 geven. Op die manier kan men acht verschillende CoS-types definiëren. In de onderstaande tabel zijn alle CoS-types dan ook zichtbaar. Waarde 0 1 2 3 4 5 6 7
Type service Routine Priority Immediate Flash Flash-override Critical Internet Network
Doel Set routine precedence Set priority precedence Set immidiate precedence Set flash precedence Set flash-override precedence Set critical precedence Set internet precedence Set network precedence
Tabel 6.2: Waarden van IP precedence veld
De IP-prioriteitswaarden 6 en 7 zijn voorbehouden voor netwerkinformatie. IP-prioriteit laat een router toe om dataverkeer te groeperen aan de hand van deze prioriteitsniveaus. Gebaseerd op deze informatie, bron-, bestemmingsadressen en de poortnummers zal de data dan ook in wachtrijen geplaatst worden. IP-precedence is een QoS- mechanisme die kan gebruikt worden zonder dat er extra signalering nodig is. Hierdoor heb je ook een minder grote overhead. Dit voordeel zorgt er dan ook voor dat IP-precedence één van de meest toegepaste QoS-mechanismen is. Ze wordt dan ook vooral gebruikt in grootschalige netwerken. Het is wel belangrijk om te weten dat IP-precedence geen controle uitvoert op de juistheid van de prioriteit van een pakket. De netwerkbeheerder moet daarom zijn voorzorgen nemen en maken dat deze prioriteiten niet kunnen aangepast worden door eindgebruikers. Op die manier kan een gebruikersapplicatie de prioriteit van netwerkgegevens niet in het gedrang brengen.
Integratie van VoIP in een bedrijfsnetwerk
Tony De Craemer
- 62 -
6.3.2 RSVP RSVP is een andere methode van classificatie. Deze methode maakt het mogelijk voor de eindgebruiker om zelf te kiezen welke vorm van QoS men nodig heeft voor een bepaalde applicatie. RSVP gaat doorheen het netwerk vooraf aan de data en zegt aan elke interface welke prioriteit het volgende pakket nodig heeft. Hierdoor zal het RSVP-signaleringsprotocol een bepaalde bandbreedte innemen. Het is wel nog altijd de interface (router) die beslist of hij die prioriteit al dan niet verleend. RSVP is geen routeringsprotocol en kan dus de routeringstabel van een router niet aanpassen. Het maakt routers alleen mogelijk om de best mogelijke route te bepalen.
6.4 Traffic policing en shaping Naast het in wachtrijen plaatsen en toekennen van prioriteiten aan datastromen, kan het ook zeer nuttig zijn om de hoeveelheid dataverkeer te regelen of te beperken. Een aantal mechanismen die ervoor zorgen dat een netwerkbeheerder kan bepalen hoeveel bandbreedte een applicatie of eindgebruiker mag gebruiken zijn: CAR, GTS en FRTS. CAR is een policing mechanisme, terwijl GTS en FRTS shaping mechanismen zijn. Met ‘shaping’ mechanismen kan je dataverkeer gaan regelen om tegemoet te komen aan de vereisten van het netwerk. Ze voorkomen packet loss en worden vooral toegepast in FRnetwerken. GTS en FRTS kunnen gebruikt worden om: ? controle op het gebruik van beschikbare bandbreedte, ? tegemoet te komen aan de netwerkvereisten, ? doorstroming van dataverkeer te regelen om congesties te vermijden. Voor VoIP is het belangrijk om vertragingen te controleren. Door het dataverkeer en het verlies ervan te beperken, kan men het dataverkeer vlotter laten verlopen en real-time verkeer voorrang geven.
6.4.1 Commited Acces Rate CAR zal gebruikt worden door een netwerkbeheerder om er voor te zorgen dat een bepaalde gebruiker niet meer bandbreedte gebruikt dan hem toegekend werd. CAR zal geen data bufferen wanneer het netwerk een plotse belasting van data te verwerken krijgt. Hierdoor is het een goed bruikbaar mechanisme voor netwerken met hoge snelheden.
Integratie van VoIP in een bedrijfsnetwerk
Tony De Craemer
- 63 -
6.4.2 Generic Traffic Shaping GTS zal het dataverkeer vlotter doen verlopen door de data die boven de vooraf vastgelegde grens komt in een wachtrij te plaatsen. GTS zal voor de afhandeling van het vertraagde verkeer beroep doen op het ‘WFQ-queuing’ mechanisme. GTS heeft het kenmerk dat het per interface configureerbaar is. Verder werkt het ook nog samen met verscheidene technologieën uit de tweede laag van het OSI-model zoals: ATM, FR en Ethernet. Op interfaces die zich in een FR- netwerk bevinden kan men GTS toepassen om dynamisch de beschikbare bandbreedte aan te passen. Dit zal men doen door gebruik te maken van BECN signalen. Binnen een ATM netwerk wordt GTS toegepast in samenwerking met RSVP.
6.4.3 Frame Relay Traffic Shaping Zoals de naam al doet vermoeden zal FRTS zeer vaak toegepast worden in FR netwerken. Dit komt omdat een FR netwerk bij het optreden van congestie niet kan bepalen welk pakket er verworpen moet worden. Net zoals GTS, behandelt FRTS pieken in dataverkeer door het overtollige dataverkeer te bufferen. FRTS zal echter geen gebruik maken van WFQ om het uitgestelde verkeer te behandelen, maar zal CQ of PQ gebruiken om dit af te handelen. FRTS zal gebruik maken van BECN en FECN signalen om het gebruik van de bandbreedte dynamisch aan te passen.
Integratie van VoIP in een bedrijfsnetwerk
Tony De Craemer
- 64 -
6.5 Congestion Avoidence PQ, CQ en WFQ zijn mechanismen die dataverkeer verwerken wanneer er congestie optreedt. Nu bestaan er ook mecha nismen zoals RED en WRED die ervoor zorgen dat congestie vermeden wordt. In het volgende stuk wordt het probleem van globale synchronisatie besproken dat invloed heeft op congestie. Vervolgens worden dan ook de mechanismen besproken die hier een oplossing voor bieden.
6.5.1 Global synchronization TCP/IP-netwerken maken vanzelfsprekend gebruik van TCP- flows. Deze flows zijn gevoelig aan wat men in het Nederlands vertaald als globale synchronisatie. Wat dit precies inhoudt en hoe het verholpen kan worden, wordt verder in deze tekst besproken. Wanneer een wachtrij van een queuing mechanisme vol is en er nog nieuwe pakketten aankomen voor deze wachtrij, dan zullen deze verwijderd worden. Dit ve rschijnsel noemt men ‘Tail Drop’. Als dit verschijnsel optreedt bij meerdere TCP-flows die allen op een verschillend moment starten maar door dezelfde ‘queue ’ moeten, dan zal er globale synchronisatie ontstaan.
1 TCP flow 1 Tijd TCP flow 2
2
Tijd
TCP flow 3
3 TCP flow 4
Tail Drop Figuur 6.4: Global synchronization bij tail drop systeem
TCP is een protocol dat via ‘self- clocking’ zich wil aanpassen aan de bandbreedte die het kan gebruiken van het netwerk. Het verliezen van een pakket speelt hierbij een grote rol. Als de zender van een TCP pakket geen bevestiging krijgt via een ‘acknowledgement ’ (ACK), dan veronderstelt hij dat het pakket verloren gegaan is en zendt hij het opnieuw uit.
Integratie van VoIP in een bedrijfsnetwerk
Tony De Craemer
- 65 -
Deze hertransmissie gebeurt ongeveer met de helft van de snelheid, als de snelheid die gebruikt werd voor het pakket verloren gegaan was. Dit verschijnsel staat bekend als de slow start modus van een TCP-sessie. Daarna zal de transmissiesnelheid langzaam terug verhogen Het probleem bij congestie van verschillende TCP-flows op één queue met een ‘Tail Drop’systeem is dat vaak alle TCP-flows op hetzelfde moment hun pakketten verliezen. Zo zullen ook alle TCP-flows op hetzelfde moment terugvallen in ‘slow start mode’. Het gevolg is dat de TCP-flows ook op hetzelfde moment hun transmissiesnelheid opnieuw zullen verhogen en terug in congestie zullen gaan. Ze verliezen dan ook allemaal opnieuw en gelijktijdig een pakket, waardoor ze weer terugvallen in snelheid. Vervolgens treden ze opnieuw allemaal samen in congestie en zo blijft dat doorgaan. In dit geval spreekt men van globale synchronisatie die het gevolg is van TCP-flows in een ‘Tail Drop’ systeem. In figuur 6.4 zie je een voorstelling van zo’n globale synchronisatie. In situatie 1 zijn er drie TCP-flows weergegeven die op een verschillend moment starten en op het zelfde moment onderhevig worden aan ‘packet loss’ die teweeg gebracht wordt door het ‘Tail Drop’systeem. Ze halveren alle drie hun snelheid en starten in situatie 2 praktisch gelijktijdig met de hertransmissie. Iets later start nog een vierde TCP-flow. Deze vierde TCP-flow zal later samen met de andere drie terug de nadelen van congestie ondervinden met alle gevolgen van dien. In derde situatie zitten we dan al met vier TCP flows die opnieuw in congestie treden. De gevolgen van globale synchronisatie bij een ‘Tail Drop’- systeem zijn: ? soms worden delen van de bandbreedte niet gebruikt, ? verhoogde vertraging van de TCP flows, ? periodieke momenten van congestie.
6.5.2 RED en WRED Zoals al eerder vermeld, zijn RED en WRED mechanismen die congestie vermijden. RED staat voor Random Early Detect en zal in tegenstelling tot ‘Tail Drop’, willekeurig pakketten vernietigen nog voor de wachtrij vol is. Hierdoor zullen niet alle TCP-flows tegelijkertijd een pakket verliezen, waardoor globale synchronisatie vermeden wordt. RED zal dus zorgen voor de volgende gevolgen: ? beter gebruik van de bandbreedte, ? verminderde vertraging, ? periodiek terugkerende pieken van congestie verdwijnen. Het RED algoritme zal de gemiddelde grootte van de wachtrij berekenen aan de hand van de volgende formule: Gem = (1 – 2-n ) * oud_gem + 2-n * huidige_q_grootte n = een gewichtsfactor die men zelf kan instellen, huidige_q_grootte = de grootte van het met pakketten gevulde deel van de wachtrij.
Integratie van VoIP in een bedrijfsnetwerk
Tony De Craemer
- 66 -
Elke waarde van de gemiddelde queue grootte komt overeen met een bepaalde waarschijnlijkheid van vernietiging van het aankomende pakket (P drop). RED kan vanaf een minimum waarde van de threshold met een bepaalde waarschijnlijkheid pakketten vernietigen. Die waarschijnlijkheid kan stijgen tot aan een bepaalde maximum ‘threshold’-waarde. Op dat moment zullen alle pakketten vernietigd worden zoals bij ‘Tail Drop’ het geval is. De waarden van de maximum ‘threshold’, de minimum ‘threshold’ en de maximale waarschijnlijkheid van vernietiging kan men zelf instellen. Zo kunnen in een bepaalde toepassing de parameters anders zijn naargelang de IP-precedence van de pakketten. In dit geval spreekt men van WRED. Kortom, dit mechanisme zal de technologie van RED en IP-precedence samen toepassen. Pdrop
Gemiddelde grootte v/d wachtrij Min_th Figuur 6.5: Werking van Random Early Detect
Integratie van VoIP in een bedrijfsnetwerk
Max_th
Tony De Craemer
- 67 -
7 Praktische realisatie 7.1 Bespreking van het bedrijfsnetwerk Voor de integratie van VoIP bestond het bedrijfsnetwerk uit twee gedeelten. Het eerste deel bevindt zich in Blankenberge waar de telecomwinkel van het bedrijf zich bevindt. Het tweede deel bevindt zich in Brugge, in het kantoor van de afdeling Telecom Systems. De twee vestigingen zijn verbonden met elkaar via een Virtual Private Network (VPN). Hieronder volgt een beschrijving van de netwerksituaties. Deze netwerksituaties zijn ook schematisch weergegeven in de bijlagen van dit eindwerk. Bijlage 1 geeft de schematische voorstelling van de netwerksituatie in Blankenberge weer. Bijlage 2 stelt de netwerksituatie in Brugge voor alsook deze van de extra vestiging in Gent. De vestiging in Gent maakt al deel uit van de VoIP- integratie. In deze schema’s zijn ook alle elementen die deel uitmaken van de VoIP- integratie weergegeven (blauwe kleur). Van deze elementen volgt later meer uitleg.
7.1.1 Netwerksituatie in Blankenberge In Blankenberge is het netwerk voorzien van een vast IP-adres. Hierdoor heeft men op het Internet voortdurend hetzelfde IP-adres. Dit zal van belang zijn voor het opbouwen van de VPN tussen de twee vestigingen. Op het vlak van datacommunicatie bestaat het netwerk van de vestiging in Blankenberge uit de volgende toestellen: ? router, ? switch, ? PC’s, ? exchange server, ? terminal server, ? netwerkprinter, ? wifi aansluiting, ? IP- camera’s. De terminal server vult hierbij een speciale functie in. De gegevens die zich op deze server bevinden kunnen via het netwerk van op afstand gewijzigd worden. Op vlak van telecommunicatie bestaat het netwerk van de vestiging in Blankenberge uit de volgende elementen: ? telefooncentrale (TDA 30), ? Belgacom ISDN-lijnen, ? de telefoontoestellen, ? simbox.
Integratie van VoIP in een bedrijfsnetwerk
Tony De Craemer
- 68 -
De simbox heeft als doel om goedkoper te bellen wanneer men van een vast toestel naar een gsm belt. Wanneer men een voornummer van een gsm vormt, wordt de opbouw van het gesprek automatisch toevertrouwt aan de simbox. De simbox is ook rechtstreeks gekoppeld aan de switch (LAN), maar dit is puur voor de programmatie. Over de telefooncentrale zal later nog meer uitleg verschaft worden omdat deze zeer belangrijk is voor de communicatie tussen de twee vestigingen. Verder zal ze ook nog van groot belang zijn voor de integratie van VoIP.
7.1.2 Netwerksituatie in Brugge In het bedrijfsnetwerk in Brugge beschikt men niet over een vast IP-adres. Op vlak van datacommunicatie bestaat het netwerk in Brugge uit de volgende elementen: ? 4 labtops (DHCP), ? netwerkprinter, ? server. Op vlak van telecommunicatie bestaat het netwerk in Brugge uit de volgende elementen: ? telefooncentrale (TDA 100), ? Belgacom ISDN-lijnen, ? de telefoontoestellen. De telefooncentrale is ook hier van groot belang voor de communicatie tussen de twee vestigingen en de integratie van VoIP.
Integratie van VoIP in een bedrijfsnetwerk
Tony De Craemer
- 69 -
7.1.3 De telefooncentrale In deze paragraaf wordt de algemene opbouw van het type telefooncentrale besproken, die in het bedrijfsnetwerk gebruikt zal worden voor de realisatie van VoIP. Deze centrale is de KX- TDA 100 IP telefooncentrale van Panasonic. De KX-TDA 30 die zich in Blankenberge bevindt zal eveneens gebruikt worden bij de VoIP integratie, maar zal geen wijzigingen ondergaan op vlak van hardware. De KX-TDA 100 is zoals alle andere centrales van Panasonic, modulair van opbouw. Hierdoor is ze zeer flexibel en aanpasbaar naar de aard van diensten en toepassingen die de gebruiker wenst te hebben. De modulaire opbouw zelf wordt gerealiseerd door het plaatsen van kaarten in de centrale. Er bestaan vele verschillende kaarten voor al evenveel verschillende mogelijkheden. De KX-TDA 100 biedt onder andere de volgende mogelijkheden: ? ? ? ? ? ? ? ? ? ?
ISDN of analoge netlijnen, integratie met datanetwerk (CTI), Voice over IP compatibel, digitale of analoge telefoontoestellen, USB-aansluiting, Dect compatibel (draadloze telefonie), van 1 tot 64 digitale toestellen, van 1 tot 32 analoge toestellen, tot 32 ISDN lijnen of 2 PRA lijnen, ….
In de volgende figuur zie je een figuur die de modulaire opbouw verduidelijkt. Dit is wel een weergave voor een KX-TDA 200. Het verschil met de KX-TDA 100 die gebruikt wordt in het bedrijfsnetwerk is echter klein. De KX-TDA 100 bevat minder uitbreidingssleuven dan de KX-TDA 200, waardoor zijn mogelijkheden beperkter zijn.
Figuur 7.1: Modulaire opbouw van telefooncentrale
Integratie van VoIP in een bedrijfsnetwerk
Tony De Craemer
- 70 -
De KX-TDA 100 telefooncentrale bevat vijf uitbreidingssleuven waar, volgens de toepassingswensen, kaarten ingeschoven kunnen worden. De twee onderdelen die de centrale standaard bevat zijn de PSU en de MPR-kaart. Verder bestaan er nog kaarten voor allerhande toepassingen. Daarvan worden enkel de kaarten besproken die in het bedrijfsnetwerk gebruikt worden. De PSU-eenheid PSU staat voor ‘Power Supply Unit’. Deze eenheid bevindt zich uiterst links in de centrale en zal zorgen voor de voeding van de centrale. Er is bovendien een mogelijkheid om back-up batterijen aan te sluiten. Op die manier kan de centrale en dus het telefoonverkeer verder gaan wanneer de netspanning wegvalt. Let wel op, bij IP-telefoons zal dit niet het geval zijn omdat deze telefoons hun voeding niet krijgen van de ISDN- lijn. Deze worden gevoed met een aparte voedingeenheid die zich in de telefoon zelf bevindt en zich van energie voorziet via het net.
Figuur 7.2: De PSU-eenheid van een KX-TDA 100
Integratie van VoIP in een bedrijfsnetwerk
Tony De Craemer
- 71 -
De MPR-kaart Deze kaart is de ‘Main Processing’-kaart. Deze kaart bevat de hoofdprocessor van de centrale. Deze hoofdprocessor zal alle processen die de centrale aankan, kunnen sturen. Aan de voorzijde van deze kaart is er ook no g een slot voorzien waar een SD-kaart kan worden aangebracht. Deze SD-kaart zal dan ook de programmatie van de centrale bevatten. Zo is het mogelijk voor de centrale om zijn programmatie te laden vanaf deze SD-kaart wanneer er zich een uitval van de spanning heeft voorgedaan of er een reset gebeurd is. De MPR-kaart zelf is nog verder uitbreidbaar met een ‘Memory Expansion Card’(MEC). Deze kaart zal de processor voorzien van meer geheuge n, zodat er meer nummers kunnen opgeslagen worden en er eventueel ‘Call Billing’ mogelijk is. Naast de MEC-kaart is de MPR kaart ook nog uitbreidbaar met een RMT-kaart. Deze kaart is een analoge modem kaart voor communicatie van op afstand met de centrale zelf.
Figuur 7.3: De MPR-kaart van de KX-TDA 100 in combinatie met een MEC-kaart
Integratie van VoIP in een bedrijfsnetwerk
Tony De Craemer
- 72 -
De BRI-kaart BRI staat voor ‘Basic Rate Interface’. Deze kaart dient om ISDN-lijnen aan te sluiten op de centrale. De kaart bestaat zowel in een uitvoering voor 4 aansluitingen als een uitvoering voor 8 aansluitingen. In de centrale van het bedrijf wordt de BRI 8 gebruikt. Op elke poort van deze kaart kan er een ISDN-lijn aangesloten worden.
Figuur 7.4: BRI-kaart van de KX-TDA 100
De DHCL-kaart Dit is de kaart waarop men de telefoontoestellen zal aansluiten. Er kunnen tot 8 toestellen aangesloten worden. Deze toestellen kunnen zowel analoog als digitaal toestellen zijn. De aansluiting van de toestellen op de kaart gebeurt met een amphenolverbinding die een kabel bevat waarin per toestel een paar aanwezig is.
Figuur 7.5: DHCL 8-kaart van de KX-TDA 100
Integratie van VoIP in een bedrijfsnetwerk
Tony De Craemer
- 73 -
De CSIF-kaart Dit is een kaart voor het aansluiten van Dect-stations op de centrale. CSIF staat dan ook voor ‘Cell Station Interface’. De kaart bestaat in twee uitvoeringsvormen: een kaart voor de aansluiting van 4 Dect-cellen en een voor de aansluiting van 8 Dect-cellen. De aansluiting van de cellen gebeurt via RJ-45 connectoren. De uitvoering van deze kaart is vergelijkbaar met een BRI-kaart (zie figuur 8.4). Deze kaart heeft wel geen schakelaars op de zijkant en heeft ook iets minder controleledjes. De IP-GW-kaart De IP-Gateway kaart bestaat in een 4-kanaals en een 16-kanaals uitvoering. In het bedrijfsnetwerk wordt de 4-kanaals versie gebruikt. Deze kaart wordt gebruikt voor de communicatie over de VPN tussen de twee vestigingen. Deze kaart ondersteunt het H.323protocol en de G.729A en G.723.1 audiocodecs. Daarom zal ze ook gebruikt worden na de integratie van VoIP om de gesprekken op te bouwen. De programmatie van de IP-GW gebeurt via een webbrowser en zal verder in deze tekst nog uitgebreid besproken worden.
Figuur 7.6: IP-GW 4-kaart van de KX-TDA 100
Integratie van VoIP in een bedrijfsnetwerk
Tony De Craemer
- 74 -
De OPB 3-kaart Deze kaart is voorzien van drie slots die met uitbreidingskaarten naar keuze kunnen worden ingevuld. Deze uitbreidingskaarten kunnen toepassingen als deurtelefoon, deuropener, ‘messageservice’ en ‘echo cancellation’ ondersteunen.
Figuur 7.7: OPB 3-kaart van de KX-TDA 100
7.1.4 Virtual Private Network Een VPN is een sys teem dat toelaat om verschillende netwerken over het Internet met elkaar te verbinden tot één groot netwerk. Simpel gezegd is een VPN een getunnelde verbinding tussen verschillende vestigingen of medewerkers die toegang hebben tot dezelfde netwerkbronnen. Een VPN kan hardwarematig of softwarematig opgezet worden. ? Hardwarematig: hierbij wordt de verbinding opgebouwd tussen twee firewalls, of tussen een firewall en een router. ? Softwarematig: mobiele gebruikers hebben een VPN-client die zorgt voor de authenticatie. Deze werkwijze laat toe om van om het even waar op het netwerk in te loggen. Een VPN is uiterst betrouwbaar. Dit komt omdat de firewall een “tunnel” opbouwt die volledig afgescheiden is van de buitenwereld. Bovendien zorgt de firewall ervoor dat hackers en bepaalde virussen geen enkele kans krijgen om in te breken in het netwerk. Om een VPN te kunnen opbouwen is op alle vestigingen een permanente verbinding met het Internet nodig (Telenet, DSL, ….). Afhankelijk van de noden moet men over een vast IPadres beschikken. Tot slot is een firewall een onmisbaar element om de beveiliging van een VPN te garanderen.
Integratie van VoIP in een bedrijfsnetwerk
Tony De Craemer
- 75 -
In de firewall kan de netwerkbeheerder instellen welke encryptievorm er gebruikt moet worden. Daarnaast kan men in de firewall ook bepalen wie er toegang krijgt tot het netwerk en welk IP-adres een VPN-client krijgt binnen het netwerk. Encrytie betekent dat de data die over de VPN verstuurd wordt in een bepaalde vorm versleuteld wordt. Op die manier is de data enkel toegankelijk voor gebruikers die over de sleutel beschikken. In het bedrijfsnetwerk van de stageplaats wordt er hardwarematig een VPN opgebouwd. De VPN wordt opgebouwd tussen Blankenberge en Brugge. In de twee vestigingen beschikt men over een permanente verbinding met het Internet, maar enkel de vestiging in Blankenberge beschikt over een vast IP-adres. De VPN wordt opgebouwd met behulp van de volgende elementen: ? Netasq router firewall, ? Netopia router firewall, ? twee IP-gateway kaarten. Een VPN-verbinding tussen Brugge en Blankenberge wordt opgebouwd via de twee telefooncentrales (PBX), met behulp van hun IP-gateway kaarten. Deze IP-gateway kaarten ondersteunen ook het H.323-protocol waardoor ze ook bruikbaar zijn voor VoIP- gesprekken. Een intern gesprek verloopt dus over de VPN van het bedrijfsnetwerk, maar een extern gesprek gebeurt over de ISDN-lijnen van Belgacom.
Blankenberge
Brugge Internet
PBX
Netasq
Netopia VPN
Figuur 7.8: Principiële voorstelling van de VPN-situatie
Integratie van VoIP in een bedrijfsnetwerk
PBX
Tony De Craemer
- 76 -
7.2 De integratie van VoIP De hele integratie van VoIP binnen het bedrijfsnetwerk van de stageplaats gebeurt met materiaal van Panasonic. Dit komt doordat het hele netwerk voor telefonie is opgebouwd rond telefooncentrales van Panasonic.
7.2.1 Hardware Om de VoIP- integratie te verwezenlijken zijn er op het vlak van hardware enkele aanpassingen gebeurd in de situatie van het bedrijfsnetwerk. Eerst en vooral heeft het bedrijf een IP-extension kaart aangekocht. Deze kaart wordt in de telefooncentrale van Panasonic aangebracht en is nodig om de IP-telefoons op te registreren. Verder heeft men ook nog enkele IP-telefoontoestellen in gebruik genomen. Tot slot is er ook nog een derde vestiging bijgekomen in Gent. Deze vestiging is eigenlijk een thuismedewerker die voorzien werd van een Linksys VPN-router en een IP-telefoon. Wat ook belangrijk is, is dat deze medewerker eveneens over een permanente verbinding met het Internet beschikt. Van bij deze medewerker wordt er een tweede VPN opgebouwd met Blankenberge. Wanneer deze persoon wenst te bellen naar een binnenpost in Brugge, dan zal het gesprek eerst verlopen over de VPN tussen Gent en Blankenberge en daarna over de VPN tussen Blankenberge en Brugge. Het verschil tussen een IP-telefoon en een digitaal telefoontoestel zit vooral in de firmware van het toestel. Er is eveneens een verschil in verbindingswijze van de toestellen aan de centrale. Een digitaal toestel wordt met een telefoonstekker en het digitaal paar van een telefoonkabel verbonden aan de centrale. Bij een IP-toestel gebeurt de verbinding met de centrale via een UTP-kabel en een RJ 45-connector. Dit verschil in verbindingswijzen brengt nog een laatste verschil met zich mee. Een digitaal toestel zal gevoed worden door de centrale, doordat hij de voeding mee krijgt over de telefoonkabel. De IP-telefoons ondersteunen geen ‘power over ethernet’, waardoor ze hun voeding niet kunnen krijgen van de centrale. Dit wil dan ook zeggen dat elke IP-telefoon apart gevoed zal moeten worden via een adapter die op het elektriciteitsnet wordt aangesloten.
Integratie van VoIP in een bedrijfsnetwerk
Tony De Craemer
- 77 -
7.2.2 Software De software die nodig was of aangepast moest worden is afhankelijk van de nieuwe hardware. Dit houdt in dat via de programmatiesoftware van de Panasonic centrale, de IP-extension kaart zal ingesteld moeten worden. Verder moeten de IP-gateway kaarten ook nog geprogrammeerd worden, maar dit gebeurt via een webbrowser. 7.2.2.1 Programmatie van de IP-extension kaart Men zal op de IP-extension kaart alle IP-telefoons registreren die met het netwerk verbonden zijn. Zoals reeds vermeld werd, zal het instellen van deze kaart gebeuren via de programmatiesoftware van de Panasonic-telefooncentrale. De instelling van deze kaart wordt hierna stap voor stap besproken. Wanneer men de software van de centrale opstart dan krijgt men eerst een venster te zien waar men een wachtwoord moet ingeven om de programmatie van de centrale te kunnen wijzigen. Dit is uiteraard om veiligheidsredenen. Na het ingeven van het juiste wachtwoord zal de software opstarten. Vervolgens moet men de manier kiezen waarop men verbinding wil maken met de centrale. Dit zal meestal gebeuren via een USB- of RS-232-verbinding. Hoe men deze keuze maakt en ingeeft in het programma, is weergegeven in figuur 7.9.
Figuur 7.9: Kiezen van de verbinding voor de programmatie
Nadat de verbindingswijze bevestigt is zal de console ook zijn werkelijke vorm aannemen. Hierbij kan men een overzicht behouden van de verschillende niveaus in de programmatie, en dit in het linkerdeel van het scherm. Het rechter deel neemt dan steeds een ander indeling aan, afhankelijk van de keuzes gemaakt in het linker deel.
Integratie van VoIP in een bedrijfsnetwerk
Tony De Craemer
- 78 -
a) Algemene instellingen Men kiest voor de algemene programmatie van de IP-extension kaart eerst voor ‘configuration’ en vervolgens voor ‘slot’. Daarna moet men rechts in het scherm gaan werken. Daar klikt men het vakje dat overeenstemt met de IP-EXT 16-kaart in de kolom ‘status’ aan en zet men deze kaart op ‘OUS ’. Hierdoor is de kaart buiten dienst geplaatst. Nu klikt men in de kolom ‘card type’ in het vakje met de vermelding IP-EXT 16. Dit alles wordt duidelijk gemaakt in figuur 7.10.
Figuur 7.10: Buiten dienst stellen van de IP-extension kaart
Omdat men in de vorige stap het vakje met de vermelding IP-EXT 16 heeft aangeklikt, zal het rechter deel van het scherm een andere indeling aannemen. Deze indeling is weergegeven in figuur 7.11 op de volgende pagina. In deze indeling moet men nu twee waarden invullen. De eerste waarde die men moet invullen is deze in het vakje die overeenstemt met ‘IP address’. Hier moet men het IP-adres invullen die aan de IP-extension kaart wordt toegekend. In ons geval is dit het volgende IP-adres: 192.168.100.240. De tweede waarde is deze van het Subnetmasker en heeft bij ons de volgende waarde: 255.255.255.0. Als men dat wenst kan men ook nog de waarden van de ‘Echo Canceller Ability’, ‘Keep Alive Time Out ’, enz. instellen. Deze hebben echter door de fabrikant al een standaardwaarde meegekregen. Na bevestiging van alle gegevens komt men terug in de indeling van figuur 7.10 terecht, waar men de IP-extension kaart opnieuw in dienst (INS) moet plaatsen.
Integratie van VoIP in een bedrijfsnetwerk
Tony De Craemer
- 79 -
Figuur 7.11: Instellen van IP-adres en subnetmasker
Aangezien in het bedrijfsnetwerk ook nog communicatie gevoerd wordt over een VPN, zal de router die de VPN met Blankenberge onderhoud t, ook moeten geregistreerd worden in de programmatie van de IP-extension kaart. Hoe deze registratie gebeurt, zal nu worden besproken aan de hand van figuur 7.12. Voor de registratie van de router in de software van de IP-extension kaart klikt men links in het scherm eerst op ‘System’ en vervolgens op ‘IP Extension Settings’. In het vakje dat overeenstemt met ‘Gateway Address’ vult men dan het IP adres van de router in Brugge in. Bij ons is deze 192.168.100.254. In dit gedeelte van de programmatie zijn ook nog de poorten gedefinieerd voor het transport van RTP- verkeer. Dit is de poort met nummer 8000.
Integratie van VoIP in een bedrijfsnetwerk
Tony De Craemer
- 80 -
Figuur 7.12: Registratie van de router
Opmerkingen: ? De IP-adressen die kunnen worden toegekend aan de IP-extension kaart liggen binnen het volgende bereik: 1.0.0.0 tot 223.255.255.255 ? De IP-adressen die kunnen worden toegekend aan het subnetmasker liggen binnen het volgende bereik: 1.0.0.0 tot 255.255.255.254 ? De IP-adressen die kunnen worden toegekend aan de default gateway liggen binnen het volgende bereik: 0.0.0.0 tot 223.255.255.255 b) Registratie van IP-toestellen Nadat alle algemene instellingen gemaakt zijn, kan men nu overgaan tot de registratie van de IP-telefoons op de IP-extension kaart. Deze werkwijze wordt in dit stuk behandeld. Voor de registratie van de IP-telefoons klikken we in het linker deel van het scherm opnieuw ‘Configuration’ aan en daarna ‘IP-Extension Port’. Dan krijgen we rechts in het scherm de indeling te zien die in figuur 7.13 wordt weergegeven.
Figuur 7.13: Registratie van IP-telefoons
Integratie van VoIP in een bedrijfsnetwerk
Tony De Craemer
- 81 -
In het rechter deel van het scherm zoals het te zien is in figuur 7.13, kan men in de linkerkolom aflezen dat de IP-extension kaart zich in slot 5 van de telefooncentrale bevind t. In de kolom ‘status’ kan men aflezen of er op de overeenkomstige poort al dan niet een toestel is aangesloten (registered of none). Als er een toestel is aangesloten (registered) dan kan men in de kolom ‘connection’ zien of dat toestel in dienst is of niet (INS of OUS). In de overige kolommen kan men ook nog zien welke beltoon op het toestel ingesteld staat, welke codec er wordt gebruikt voor het digitaliseren van de spraak, welke sampletijd er gehanteerd wordt en of er al dan niet een headset aanwezig is. Een IP-telefoon registreren is zeer simpel. Men klikt in de kolom ‘select’ één of meerdere vakjes aan zodat ze in de ‘ON’ toestand staan en klikt vervolgens op ‘Registration’. Wanneer de registratie gelukt is verschijnt er een dialoogvenster met het bericht “Registration succeed”. Stel dat er geen enkele IP-telefoon zou aangesloten zijn, dan blijft het programma zoeken naar een IP-telefoon en blijft in het dialoogvenster voortdurend de boodschap “Waiting: IP-PT Registration” staan. Opmerking: De IP-codec en de sampletijd van elk toestel kan ook ingesteld worden. Deze hebben respectievelijk G.711 en 20msec als standaard waarden. Voor de toepassing van de eindwerkopdracht hebben we als codec ook de G.711 verkozen. Voor de communicatie over de VPN zal dit niet zo zijn en zal men de G.729A gebruiken.
Integratie van VoIP in een bedrijfsnetwerk
Tony De Craemer
- 82 -
7.2.2.2 Programmatie van de IP-gateway kaart Bij de programmatie van de IP-gateway kaart zullen ondermeer de instellingen voor de VPN en de codecs voor het gebruik van VoIP ingesteld worden. Deze kaart wordt geprogrammeerd via een webbrowser en niet via de software van de centrale. Om deze kaart te kunnen programmeren zal men eerst een programma als internet explorer openen en in de adresbalk het IP-adres van de gateway kaart ingeven. Wanneer men dit gedaan heeft, krijgt men een pagina waar men een gebruikersnaam en wachtwoord moet ingeven. Dit is vanzelfsprekend voor de beveiliging van deze instellingen. Daarna wordt er een pagina weergegeven waarvan de belangrijkste elementen in de onderstaande figuur zijn weergegeven.
Figuur 7.14: Beeld van de webpagina voor de programmatie van de IP-gateway
De instellingen zoals ze verder in de tekst zullen weergegeven en besproken worden zijn deze van de IP-gateway kaart in Brugge. De programmatie van de IP-gateway kaart in Blankenberge zal analoog verlopen aan deze in Brugge maar zal dan wel andere IP-adressen en nummeringen bevatten.
Integratie van VoIP in een bedrijfsnetwerk
Tony De Craemer
- 83 -
Voordat men de programmatie van de IP- gateway kaart instelt of verandert, moet men onder het tweede punt ‘Change RUN/STOP status’ aanklikken. Want als de kaart in ‘RUN’-status staat kan men zijn instellingen niet wijzigen. Als de kaart in ‘STOP’-status staat kan men beginnen met de programmatie. Daarvoor klikt men eerst het onderdeel ‘Network Settings, General’ aan. Dan komen we op de onderstaande pagina terecht.
Figuur 7.15: Netwerkinstellingen van de IP-gateway kaart
Op deze pagina stellen we het IP-adres in van de gateway kaart, het subnetmasker en het IP-adres van de router waarmee deze IP-gateway kaart zal communiceren om gesprekken te kunnen voeren over de VPN. Met andere woorden, het IP-adres van de default gateway op deze pagina is het adres van de router die zich in Brugge bevindt. Verder stelt men op deze pagina ook nog het http-poortnummer (=80) en het poortnummer voor de toepassingen met het QSIG-protocol in. Zoals men in figuur 7.15 kan zien, zijn de DHCP-instellingen hier niet van toepassing. Tot slot kan op deze pagina ook nog een naam toegekend worden aan de host. Dit gedeelte is wel niet zichtbaar op de figuur en is ook optioneel. Wanneer al deze instellingen gemaakt zijn keren we terug naar de pagina die weergegeven is in figuur 7.14. Op deze pagina kiezen we dan vervolgens voor ‘H.323 Detailed Settings’ waardoor we op de pagina komen zoals die weergegeven is in figuur 7.16.
Integratie van VoIP in een bedrijfsnetwerk
Tony De Craemer
- 84 -
Figuur 7.16: H.323-instellingen van de IP-gateway kaart
Op deze pagina worden eerst en vooral de poorten ingesteld die nodig zijn om een VoIPsessie te houden. Dit zijn zowel de poorten van de signalisatie (H.225, H.245, RAS) als de poort voor het RTP-verkeer. Verder wordt er ook nog bepaald welke codec er gebruikt zal worden voor de spraakpakketten die over de VPN getransporteerd worden. Tot slot ziet men ook nog een deel van de instellingen voor de gatekeeper. In het bedrijfsnetwerk waar de integratie plaats vindt, wordt echter geen gebruik gemaakt van een gatekeeper. Bijgevolg zijn deze instellingen niet van belang. Na het bevestigen van deze gegevens keren we terug naar de beginpagina zoals die weergegeven is in figuur 7.14. Op deze pagina maakt men opnieuw een keuze en dit maal kiest men voor ‘Voice Communication Detailed Settings’. Na het aanklikken van deze keuze komt men terecht op een pagina waar men heel wat instellingen kan maken. De instellingen bepalen ondermeer de QoS, het gebruik van jitter buffers, de lengte van frames en het gebruik van echocancellers en VAD. Van deze instellingen worden lang niet alle gebruikt. Een overzicht van de voornaamste instellingen volgt in figuur 7.17.
Integratie van VoIP in een bedrijfsnetwerk
Tony De Craemer
- 85 -
Figuur 7.17: Voice Communication Detailed Settings voor de IP-gateway kaart
Bovenaan figuur 7.17 ziet men dat het TOS-veld op normaal is ingesteld. Daaronder is de minimum- en maximumtijd van de jitter buffer vastgelegd op respectievelijk 10 en 400 ms. Tot slot ziet men ook dat er echo cancelling is ingeschakeld. VAD zal worden gebruikt in het geval dat de G.723.1-codec wordt toegepast, wat in de eindwerkopdracht niet het geval is. Na al deze instellingen kiezen we in het hoofdmenu voor het onderdeel ‘VoIP gateway/IP-PBX Interface Settings’. Hier wordt slechts één belangrijke instelling gemaakt voor VoIP. Men moet er kiezen welke codec er toegepast zal worden in de IP-PBX. Men heeft de keuze tussen de G.711-codec toegepast met de A-wet of diezelfde codec toegepast met de µ- wet. Aangezien men in het bedrijf zal werken volgens de Europese normering, zal men het gebruik van de A-wet kiezen. Vervolgens keert men voor de voorlaatste keer terug naar het hoofdmenu, waar me n dan kiest voor het onderdeel ‘Hunt Pattern’. De instellingen zijn weergegeven in figuur 7.18 en geven aan, welk intern nummer er aan de gateway gevraagd kan worden om op te roepen. Voorbeeld: Een toestel in Blankenberge kan aan de IP-gateway in Brugge vragen om het toestel met nummer 104 in Brugge op te roepen. De IP-gateway zal dan aan de hand van het gevormde nummer, het juiste toestel activeren.
Integratie van VoIP in een bedrijfsnetwerk
Tony De Craemer
- 86 -
Figuur 7.18: Instellen van Hunt Pattern op de IP-gateway
In figuur 7.18 dient het stuk juist boven de knop met vermelding ‘entry’ om de gegevens in te voeren. Het stuk onder de knop met de vermelding ‘sort’ geeft dan de huidige instellingen weer. Concreet ziet men in de onderste tabel dat er twee soorten interne nummers kunnen gevraagd worden om op te roepen. Nummers startend met het cijfer 1 en nummers startend met het cijfer 4. Voor elk van deze nummers bestaat er een bepaald patroon (Hunt Pattern). Na deze instellingen gaat men voor de laatste keer terug naar het hoofdmenu. Tot slot kiest men nu voor het onderdeel ‘DN2IP’. Door het maken van deze keuze verschijnt een nieuwe pagina. Op deze pagina verschijnen nogmaals twee onderdelen. Deze onderdelen zijn de volgende: ? GW Entry, ? DN2IP Entry.
Integratie van VoIP in een bedrijfsnetwerk
Tony De Craemer
- 87 -
In het onderdeel ‘GW Entry’ geeft men een naam, nummer en IP-adres in voor de IPgateway(s) waarmee de IP- gateway in Brugge in contact kan komen. Dit onderdeel is weergegeven in figuur 7.19. Volgens de instellingen is er dus nog één andere gateway waar de gateway in Brugge mee in contact kan komen. Deze ander gateway draagt de naam Blankenberge, heeft het nummer 8 en bezit het IP-adres “10.0.0.250”.
Figuur 7.19: Gateway Entry
In het onderdeel ‘DN2IP Entry’ geeft men aan welke interne nummers er door een plaatselijk toestel aan de IP- gateway gevraagd kunnen worden om op te roepen. De nummers die in dit deel van de programmatie mogelijk aangevraagd kunnen worden om op te roepen, zullen steeds aangevraagd worden door een toestel dat zich in dezelfde vestiging bevind als de IPgateway. In dit ge val zullen het toestel en de IP-gateway zich beiden in Brugge bevinden. Voorbeeld: Een toestel in Brugge wil een toestel in Blankenberge met nummer 203 oproepen. De IP-gateway ziet dat het verkorte nummer begint met een 2 en weet aan de hand van zijn programmatie dat hij bij een dergelijk nummer een verbinding moet maken met de IPgateway in Blankenberge. De IP-gateway in Blankenberge zal dan aan de hand van het opgeroepen nummer, het juiste toestel activeren.
Integratie van VoIP in een bedrijfsnetwerk
Tony De Craemer
- 88 -
Figuur 7.20: DN2IP Entry
De pagina die in figuur 7.20 wordt weergegeven is in opbouw analoog aan de opbouw van de pagina in figuur 7.19. Het bovenste deel dient om de gewenste instellingen in te geven en het onderste deel geeft de huidige instellingen weer. Onderaan ziet men dat er vanuit Brugge twee soorten interne nummers opgeroepen kunnen worden. De nummers zijn allen drie cijfers groot en kunnen als eerste cijfer een 2 of een 3 hebben. Bij het oproepen van een van deze combinaties zal er een communicatie opgebouwd worden met de gateway die aangeduid wordt met nummer 8. Dit is de gateway uit Blankenberge. Na de programmatie van alle gegevens die hierboven besproken zijn mag men echter niet vergeten om de IP-gateway terug in ‘RUN’-status te plaatsen voordat men de programmatie verlaat. Na het veranderen van de status van de IP-gateway naar de status ‘RUN’ zullen alle instellingen worden opgeslagen en worden ze ook meteen gehanteerd. Het is bijgevolg niet nodig om het systeem (PBX) opnieuw op te starten.
Integratie van VoIP in een bedrijfsnetwerk
Tony De Craemer
- 89 -
Besluit Uit dit eindwerk is gebleken dat het technisch mogelijk is om kwalitatieve telefoongesprekken te voeren over IP-netwerken. De kwaliteit van een gesprek kan van netwerk tot netwerk verschillen, afhankelijk van de gekozen technologieën waarmee men zal werken (keuze van codecs, queuing mechanismen, enz.). Wat de integratie van VoIP betreft, zal een bedrijf eerst voor zichzelf moeten bepalen of de investering in deze technologie rendabel is, want op dit ogenblik is VoIP een dure aangelegenheid. Desond anks kan het voor zeer grote bedrijven met veel telefoonverkeer op termijn een zeer kostenbesparende keuze zijn om VoIP te integreren in hun netwerk. De introductie en groei van VoIP zal in de toekomst zeker zijn stempel drukken op de structuur van telefo nie- en datanetwerken. Zo zullen een gesplitst telefonie- en datanetwerk in de toekomst steeds minder voorkomen. Dit heeft dan ook als logisch gevolg dat de twee werelden steeds meer in elkaar zullen overvloeien en zo één geheel zullen vormen.
Integratie van VoIP in een bedrijfsnetwerk
DEPARTEMENT INDUSTRIELE WETENSCHAPPEN EN TECHNOLOGIE Associatie
K. U. L e u v e n
Basisopleiding van 1 cyclus
Academiejaar : 2004 - 2005 Opleiding :
ELEKTRICITEIT
Keuzerichting :
TELECOMMUNICATIE
Optie :
ELEKTRONICA
Bijlage
Integratie van Voice over IP in een bedrijfsnetwerk
door
Tony De Craemer
onder leiding van Ing. L. Vanhee, KHBO De hr. I. Lingier, LICOM TELECOMCENTER BVBA
Eindwerk aangeboden tot het behalen van het diploma
GEGRADUEERDE IN ELEKTRICITEIT Katholieke Hogeschool Brugge - Oostende Zeedijk 101 , 8400 Oostende tel +32 59 56 90 00 - fax +32 59 56 90 01
Tony De Craemer
Bijlagen ? Bijlage 1: Netwerksituatie in Brugge ? Bijlage 2: Netwerksituatie in Blankenberge
Integratie van VoIP in een bedrijfsnetwerk
- 91 -
Netwerksituatie in Brugge
ADSL Plus
192.168.100.1
192.168.100.20
Server
Netwerkprinter
192.168.100.254
Netopia router firewall
VPN
D-link Switch
not fixed IP
IP telefoons 192.168.100.253
IP gateway kaart
Belgacom ISDN
192.168.100.240
Telefooncentrale TDA 100
IP ext. kaart
L01 Binnenposten 101…113 L02
Gent
DHCP PC
Telenet Expressnet VPN not fixed IP
Linksys VPN router
L03
DHCP IP telefoon
L04
Netwerksituatie in Blankenberge 10.0.0.80
IP-camera 1
10.0.0.1
Exchange Server 10.0.0.101
Kassa 1 10.0.0.102
10.0.0.81
IP-telefoons
IP-camera 2
10.0.0.2
Terminal Server
David 10.0.0.103
D-link Switch
Kassa 2
Telenet office fixed IP
Netasq router firewall
VPN Fixed IP 81.82.193.9
10.0.0.40
10.0.0.104
Sofie
10.0.0.254
LAN
Netwerkprinter
10.0.0.105
Servicedesk 10.0.0.106
Reserve
10.0.0.253 10.0.0.252
WIFI
Simbox 10.0.0.250
IP gateway
Telefooncentrale TDA 30
Binnenposten 201…213
Belgacom ISDN
Tony De Craemer
- 94 -
Literatuurlijst AGORIA-FEBELTEL, 2004. IP Telephony Position Paper. http://www.agoria.be/febeltel/nl/frameset.htm CATRYSSE, Bart, 1999. Voice over IP. niet- gepubliceerd eindwerk, Oostende, KHBO, 113 p. CISCO SYSTEMS, 2005. Waveform coding techniques. http://www.cisco.com/en/US/tech/tk652/tk701/technologies_tech_note09186a0080114 9b3.shtml DAVIDSON, Jonathan en PEETERS, James, 2000. Voice over IP fundamentals. Indianapolis, Cisco press, 372 p. ISBN 1-57870-168-6. KHASNABISH, Bhumip, 2003. Implementing Voice over IP. Massachusetts, WileyInterscience, 208 p. ISBN 0-471-21666-6. PANASONIC COMMUNICATIONS CO., 2003. Installation Manual KX- TDA 100. Handleiding, Japan, 250 p. PANASONIC COMMUNICATIONS CO., 2004. Information about IP Proprietary Telepho nes. Brochure, Japan, 40 p. VAN DER STARRE, Ferry, POS, Hans en LOOSMAN, Steven, 2001. Wat is Voice over IP. http://www.et.fnt.hvu.nl/docenten%5Clab/project_telematica_DT/2001_voorjaar/VOI P-hello%20world/doc/module1voip.doc (22-02-05). VANHEE, Luc, s.d. Telecommunicatie. niet-gepubliceerde cursus, Oostende, KHBO, 174 p. VANHEE, Luc, s.d. Datacommunicatie. niet-gepubliceerde cursus, Oostende, KHBO, 219 p.
Integratie van VoIP in een bedrijfsnetwerk