Ladda ner presentationen
Presentation laddar. Vänta.
Publicerades avAnna-Karin Gunnarsson
1
Övervakning av kvalitet för SIP-baserad kommunikation Magisterarbete i Datornätverk gjort på KTH Syd av Emma Roos Handledare: Thomas Lindh
2
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 NeTraMet 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
3
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
4
RTP - Real-time Transport Protocol Används av datatrafiken i en mediasession Klarar av flera mediatyper Transportprotokoll: UDP
5
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
6
SIP-laboration: Exempel på meddelandeutbyten Klient BSIP-proxy INVITE 100 Trying 180 Ringing 200 OK ACK RTP Trafik (går ej genom proxy) BYE ACK A ringer upp B B svarar Klient A Samtalet avslutas Samtal mellan två parter, med ”record route” Klient AKlient B SIP-Proxy INVITE 100 Trying 180 Ringing A ringer upp B 486 Busy Here/603 Decline ACK Uppringsninsförsöket avbryts av mottagaren, B. Uppringd är upptagen eller avbryter genom aktivt beslut
7
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
8
Flödesmätaren NeTraMet 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 NeMaC Administrerar NeTraMet Hämtar trafikstatistik från NeTraMet
9
Undersökning av NeTraMet 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.
10
Undersökning av NeTraMet: 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 mot mottagarens port 7
11
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 NeMaC Starta OAM-paketgeneratorn Stoppa mätningen när samtalet kopplas ner
12
Utveckling av prototyp: Prototypens uppbyggnad Skriven i Perl Använder sig av modulerna: Net::PcapUtils NetPacket Finns i två varianter där: Klienten gör statistikinsamlandet SIP-servern gör statistikinsamlandet
13
Protoypen: Lösning 1 Klienten gör statistikinsamling
14
Prototypen: Lösning 1 Programmet i stora drag Nej Ja Start Hämta UDP-paket Är paketet ett SIP-paket? Gå till siphandler- subrutinen Avkoda paketet
15
Prototypen: Lösning 1 Perlskriptets delar Importering av Perlmoduler Definiering av globala variabler Huvudprogrammet Subrutiner: got_a_packet() siphandler() createconfig() get_callid()
16
Prototypen: Lösning 1 Subrutinen siphandler() Har algoritmen som hanterar SIP- meddelandena Startar endast mätningar för samtal från en specifik klient
17
Mätning pågår CANCEL, 486 Busy Here eller 603 Declined CANCEL, 486 Busy Here, 480 Temporarily Unavailable, 603 Declined eller 404 Not Found INVITE 180 Ringing 200 OK BYE 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 Hämta destinationens IP Vänta på nästa relevanta SIP-meddelande Ta bort SRL- och regelfilerna plus rensa satta variabler Starta NeMaC-instanser mot sändarens och mottagarens NeTraMet Starta UDP-generatorn mot mottagarens port 7 Stoppa NeMaC-instanserna och UDP-generatorn Vänta på relevant SIP-meddelande
18
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
19
Prototypen: Lösning 2 Klientskriptet Hämtar information om: Call-ID Mottagarens IP-nummer Startar UDP-generatorn vid samtalets start
20
Prototypen: Lösning 2 Serverskriptet En instans per dator körs Hämtar information om klienten som startar samtalet Skapar SRL-fil och kompilerar den Startar NeMaC vid samtalets start
21
Mätning av trafik Mätning för att testa prototypen IP-telefonisamtal mellan Haninge och Karlskrona
22
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
23
Mätning av trafik Fyra tidstämplar per OAM-paket
24
Resultat av mätning Fördröjning Räknades ut med hjälp av tidstämplar RTT: t4-t1 Processeringstid: t3-t2 ”Exakt” RTT: t4-t1-(t3-t2) Fördröjning Karlskrona -> Haninge: t2-t1 Fördröjning Haninge -> Karlskrona: t4-t3 RTTProcesseringstid”Exakt” RTT Medelvärde13,56 ms0,861 ms12,699 ms Standardavvikelse1,835 ms1,732 ms0,533 ms Maxvärde23,89 ms11,179 ms14,946 ms Minvärde11,694 ms0,363 ms11,266 ms
25
Resultat av mätning Fördröjning Mindre spridning på värdena när ”exakt” RTT används
26
Resultat av mätning Fördröjning Processeringstiden har stor påverkan på RTT:n
27
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-TFördröjningsvariation, IETF Medelvärde0 ms0,004 ms Standardavvikelse0,533 ms0,756 ms Maxvärde2,248 ms2,352 ms Minvärde-1,433 ms-2,225 ms
28
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
29
Resultat av mätning Genomströmning Genomströmning per övervakningsblock (antal_bytes(i-1,i)*8)/(tid(i)-tid(i-1)) GenomströmningKarlskrona -> HaningeHaninge -> Karlskrona Medelvärde85,459 kbps85,598 kbps Standardavvikelse0,585 kbps1,258 kbps Maxvärde87,32 kbps88,068 kbps Minvärde82,144 kbps82,938 kbps
30
Resultat av mätning Genomströmning Jämn genomströmning RTP skickar små paket med konstant hastighet Tappades inga eller få paket
31
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
32
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
33
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 NeTraMet och hur OAM-paket ska genereras Utveckling av prototyp i Perl Klientversion Serverversion Mätning gjord med prototypen
34
Frågor?
Liknande presentationer
© 2024 SlidePlayer.se Inc.
All rights reserved.