vervakning av kvalitet fr SIPbaserad kommunikation Magisterarbete i

Övervakning av kvalitet för SIP-baserad kommunikation Magisterarbete i Datornätverk gjort på KTH Syd av Emma Roos Handledare: Thomas Lindh

Projektbeskrivning § Titta på en multimediasessions signaleringsinformation för att: § Få statistik om sessionen § Konfigurera mätning av datatrafikens kvalité § Datatrafiken ska mätas med en flödesmätare § I arbetet skulle det: § SIP och flödesmätaren Ne. Tra. Met undesökas § Utveckla en prototyp som tar information från SIP och konfigurerar en mätning med denna information § Testa prototypen i en mätning

SIP – Session Initiation Protocol § Signaleringsprotokoll på applikationsnivå § Kopplar upp och ner mediasessioner § Informerar om ändringar i en mediasession § Olika SIP-servertyper § Proxy § Omdirigering § Registrering § SIP Express Router - SER

RTP - Real-time Transport Protocol § Används av datatrafiken i en mediasession § Klarar av flera mediatyper § Transportprotokoll: UDP

SIP-laboration § Mål: § Få en översikt hur SIP fungerar § Se vilken signaleringsinformation som kan användas vid kvalitetsövervakning § Koppla upp olika trafikfall mellan klienter via en SIP-server § Spela in SIP- och RTP-trafiken

SIP-laboration: Exempel på meddelandeutbyten Klient A SIP-proxy Klient B INVITE 180 Ringing A ringer upp B 180 Ringing INVITE 100 Trying 200 OK 180 Ringing B svarar ACK RTP Trafik ACK (går ej genom proxy) ACK 180 Ringing 486 Busy Here/603 Decline ACK 486 Busy Here/603 Decline BYE Klient B BYE ACK Samtal mellan två parter, med ”record route” A ringer upp B 100 Trying SIP-Proxy Klient A INVITE 100 Trying Samtalet avslutas Uppringd är upptagen eller avbryter genom aktivt beslut Uppringsninsförsöket avbryts av mottagaren, B.

SIP-laboration: Nyttig information i signaleringsmeddelandena § Typ av SIP-meddelande § Klienternas IP-adresser (”Contact”-raden) § Call-ID § Mediainformation i SDP-datadelen § Mediatyp § Protokoll (RTP) § RTP-port

Flödesmätaren Ne. Tra. Met OAM-version § Mäter trafikflöden mellan två ändpunkter § Flödena definieras t. ex. med IP-adresser, § § § protokolltyp och portar Operations Administration and Maintenance Kombinerar passiv och aktiv mätning Använder monitoreringspaket (OAM-paket) Inkommande OAM-paket triggar mätning Programmet Ne. Ma. C § Administrerar Ne. Tra. Met § Hämtar trafikstatistik från Ne. Tra. Met

Undersökning av Ne. Tra. Met § SRL-skript från annat examensarbete som skrevs om § Datatrafiken och OAM-paketen ändrades från ICMP till UDP § Bara sändarens IP-adress och portar definierades § Hur ska OAM-paket ska genereras? § Test av SRL-skript och OAM-generering.

Undersökning av Ne. Tra. Met: Generering av OAM-paket § OAM-paket behöver: § Ha UDP som transportprotokoll § Ha samma storlek som datapaketen § Svar skickas tillbaka från mottagaren § Lösning: § Paketen genererades med ngen § Skicka paketen mottagarens port 7

Utveckling av prototyp: Prototypens funktion § Prototypen ska: § Se att ett samtal håller på att kopplas upp § Hämta nödvändig information från signaleringen § Skapa SRL-filen och kompilera den § När mottagaren svarar § Starta två instanser av Ne. Ma. C § Starta OAM-paketgeneratorn § Stoppa mätningen när samtalet kopplas ner

Utveckling av prototyp: Prototypens uppbyggnad § Skriven i Perl § Använder sig av modulerna: § Net: : Pcap. Utils § Net. Packet § Finns i två varianter där: § Klienten gör statistikinsamlandet § SIP-servern gör statistikinsamlandet

Protoypen: Lösning 1 Klienten gör statistikinsamling

Prototypen: Lösning 1 Programmet i stora drag Start Hämta UDP-paket Är paketet ett SIP-paket? Nej Ja Avkoda paketet Gå till siphandlersubrutinen

Prototypen: Lösning 1 Perlskriptets delar § Importering av Perlmoduler § Definiering av globala variabler § Huvudprogrammet § Subrutiner: § got_a_packet() § siphandler() § createconfig() § get_callid()

Prototypen: Lösning 1 Subrutinen siphandler() § Har algoritmen som hanterar SIPmeddelandena § Startar endast mätningar för samtal från en specifik klient

Vänta på relevant SIP-meddelande INVITE Hämta och lagra sändarens IP, mediaport och Call-ID Skapa SRL-filen och kompilera denna Vänta på nästa relevanta SIP-meddelande CANCEL, 486 Busy Here, 480 Temporarily Unavailable, 603 Declined eller 404 Not Found 180 Ringing Hämta destinationens IP Vänta på nästa relevanta SIP-meddelande 200 OK Starta Ne. Ma. C-instanser mot sändarens och mottagarens Ne. Tra. Met Starta UDP-generatorn mottagarens port 7 Mätning pågår BYE Stoppa Ne. Ma. C-instanserna och UDP-generatorn CANCEL, 486 Busy Here eller 603 Declined Ta bort SRL- och regelfilerna plus rensa satta variabler

Prototypen: Lösning 2 SIP-servern gör statistikinsamling § Bygger i stor del på lösning 1 § ”Record-route” måste vara satt på proxyn

Mätning av trafik § Mätning för att testa prototypen § IP-telefonisamtal mellan Haninge och Karlskrona

Mätning av trafik § § § Samtal initierades från Karlskrona Samtalstid ca 5 minuter Ett OAM-paket i sekunden skickades Resultat skrevs i två flödesfiler Information som ficks i flödesfilerna § § OAM-paketets ID-värde Tidstämpel Antal bytes RTP-trafik in och ut Antal RTP-paket in och ut

Mätning av trafik § Fyra tidstämplar per OAM-paket

Resultat av mätning Fördröjning § Räknades ut med hjälp av tidstämplar § § § RTT: t 4 -t 1 Processeringstid: t 3 -t 2 ”Exakt” RTT: t 4 -t 1 -(t 3 -t 2) Fördröjning Karlskrona -> Haninge: t 2 -t 1 Fördröjning Haninge -> Karlskrona: t 4 -t 3 RTT Processeringstid ”Exakt” RTT Medelvärde 13, 56 ms 0, 861 ms 12, 699 ms Standardavvikelse 1, 835 ms 1, 732 ms 0, 533 ms Maxvärde 23, 89 ms 11, 179 ms 14, 946 ms Minvärde 11, 694 ms 0, 363 ms 11, 266 ms

Resultat av mätning Fördröjning § Mindre spridning på värdena när ”exakt” RTT används

Resultat av mätning Fördröjning § Processeringstiden har stor påverkan på RTT: n

Resultat av mätning Fördröjningsvariation § Räknades ut med värdena för ”exakt” RTT § ITU-T: s metod § d(i)-medel(d) (eller d(i)-min(d)) § IETF: s metod § d(i)-d(i-1) Fördröjningsvariation, ITU-T Medelvärde Fördröjningsvariation, IETF 0 ms 0, 004 ms Standardavvikelse 0, 533 ms 0, 756 ms Maxvärde 2, 248 ms 2, 352 ms Minvärde -1, 433 ms -2, 225 ms

Resultat av mätning Fördröjningsvariation § ITU-T: s fördröjningsvariation § Samma sannolikhetsfördelning som ”exakt” RTT § IETF: s fördröjningvariation § Jämnt fördelat runt medelvärdet

Resultat av mätning Genomströmning § Genomströmning per övervakningsblock § (antal_bytes(i-1, i)*8)/(tid(i)-tid(i-1)) Genomströmning Medelvärde Karlskrona -> Haninge -> Karlskrona 85, 459 kbps 85, 598 kbps Standardavvikelse 0, 585 kbps 1, 258 kbps Maxvärde 87, 32 kbps 88, 068 kbps Minvärde 82, 144 kbps 82, 938 kbps

Resultat av mätning Genomströmning § Jämn genomströmning § RTP skickar små paket med konstant hastighet § Tappades inga eller få paket

Diskussion och slutsatser § Problem med att använda ngen mot port 7 § Problem med tidstämplingens noggrannhet § Tidstämpling görs i programmet ej på nätverkskortet § Synkronisering av klockor görs med NTP § GPS ingen lösning

Idéer för att förbättra prototypen § Ta fram metod för att välja ut vilka samtal som ska mätas § Skriva om källkod så: § § § Server- och klientversionerna finns i samma program Andra mediatyper än audio hanteras Information om missade samtal etc. sparas § Utveckla program som behandlar och redovisar flödesfilerna § Utveckla bättre metod att generera OAM-paket

Sammanfattning § Hämta information från SIP för att: § Få statistik om samtal § Konfigurera mätning med flödesmätare § SIP-laboration § Undersökning av Ne. Tra. Met och hur OAM-paket ska genereras § Utveckling av prototyp i Perl § Klientversion § Serverversion § Mätning gjord med prototypen

Frågor?
- Slides: 32