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

Slides:



Advertisements
Liknande presentationer
Inloggning Mobil Administration Finns på Ange ditt användarnamn och PIN-kod. Klicka på OK. Ett SMS skickas till din mobil.
Advertisements

Skapa ett video-CV på YouTube
NÄTVERKSPROTOKOLL Föreläsning
X-mas algebra Är du redo? Klicka!!.
Uppgiften i PowerPoint
Raindance Budget & Prognos
Flexicon – Din systempartner
Maria Kihl och Jens A Andersson Kapitel 9: Applikationer.
Lektion 6 Mahmud Al Hakim
Programmering B PHP Lektion 1
Display för GymAssistWear - Huvudmeny Välj Av/På Upp i Menyn Ned i Menyn Meny Tillbaka Antal repetitioner Göra Playlist Sparade Playlist Visa statistik.
”Ett sätt att distribuera Business Objects via webben”
Enkel dator teknik Tips och tricks.
Leif Håkansson’s Square Dancer Rotation
Programmeringsteknik Föreläsning 13 Skolan för Datavetenskap och kommunikation.
Föreläsning 7 Analys av algoritmer T(n) och ordo
Tentamensdags och lab 3…. Större program delas normalt upp i flera filer/moduler vilket har flera fördelar:  Programmets logiska struktur när man klumpar.
Objektorienterad tänkande
Distribuerade filsystem
NÄTVERKSPROTOKOLL Föreläsning INNEHÅLL - Routingprotokoll - Interior gateway protocols - Exterior gateway protocols - Link state routing.
Algoritm analys och rekursiva metoder kap 5,7
Panasonic’s SIP Telefon KX-HGT100 HGT100 SIP Telephone Innehåll HGT100 SIP Telefon KX-HGT100 - Funktionsöversikt Display – Samtals ID – Samtals logg Vänt,
Välkommen till Ledardagen!
Övervakning av kvalitet för SIP-baserad kommunikation
Tentamensdags och lab 3…. Större program delas normalt upp i flera filer/moduler vilket har flera fördelar:  Programmets logiska struktur när man klumpar.
1 1 Musikprogrammering och mobil ljuddesign Föreläsning 4 Kommunikation över nätverk – UDP och MaxMSP.
Programmering B PHP Lektion 1 Mahmud Al Hakim Folkuniversitetet
Pointers. int a=5; int f(int b) { a--; b++; return b; } int main() { int a=3; printf("%d,",f(a)); printf("%d",a); return 0; }
Liten genomgång för driftsättning av porttelefoni i Vaka
NÄTVERKSPROTOKOLL Föreläsning
Tabeller.
Positiv Livskraft © Att komma dit du vill
Lektion 3 Mahmud Al Hakim
UTVECKLING MED RAMVERKET.NET Marcus Medina. Dagens visdomsord ” Ingen vet vad han klarar innan han har försökt. ” - Publilius Syrus (85 f.Kr.-43 f.Kr.).
Outline för dagens övning
Maria Kihl och Jens A Andersson Kapitel 5: Transportprotokoll.
Medlemsregistrering SAFF har skapat en förenklad version på hur ni i föreningarna lägger upp era medlemmar. Har ni frågor ring Marika Holm på
Samordnad vårdplanering Regelverk och konfiguration Mats Forsberg Ingrid Joustra Enquist.
Mitt första Java program Mahmud Al Hakim Copyright, Mahmud Al Hakim, 1.
Terminaler Klicka på ”Visa terminaler ” så får du se alla terminaler som företaget har.
Maria Kihl och Jens A Andersson Kapitel 4: Internet Protocol (IP)
1 Logging and monitoring of TCP traffic in SSH tunnels Masters thesis Anton Persson.
UDP Pålitlig byteström TCP
SUSEC/Kalmar 26 april 061 BOF - Nätsäkerhet -Segmentering av nät/firewall/exponering -Autenticering -Avlyssning/kryptering – kom vi inte att prata mycket.
Forskning om dialog och dialogsystem på inst. för lingvistik målsättning: –utveckla teorier om mänsklig dialog som kan användas i byggandet av dialogsystem.
Network Services (Nätverkstjänster) Client/Servers And Their Interaction (Client/Server och deras interaktion)
HOST IDENTITY PROTOCOL - EN KANDIDAT FÖR FRAMTIDENS INTERNET PROTOKOLL Jonny Mattsson IT 4.
NÄTVERKSPROTOKOLL Föreläsning INNEHÅLL - DHCP (Dynamic Host Configuration Protocol)‏
6558/G558 DATAKOMMUNIKATION Jan Westerholm hösten 2005 / andra perioden.
BVForum - en genomgång för revisorer Sören Thuresson.
Repetition Datakommunikation I.
Windows Live Messenger. MSN. Vad är Windows Live Messenger ? Ett klient program för direktmeddelanden, dvs ett program som laddas ned från Internet och.
NÄTVERKSPROTOKOLL Föreläsning INNEHÅLL - Routingprotokoll - Interior gateway protocols - Exterior gateway protocols - Link state routing.
William Sandqvist Funktionsbibliotek När man utvecklat en funktion så långt att den är "färdigutvecklad" kan man lika gärna spara den på.
Jonny Karlsson PROCESSPROGRAMMERING Föreläsning 8 ( ) Innehåll: -Exekveringstrådar.
Dokumentation Workshop Stockholm | Målsättning Gå igenom en students väg från programmets start till examen via Byte av program Byte av programtillfälle.
Nätverk.
Programmeringteknik Webbdelen 2. webbprogrammering Server Den dator som websidan ligger på Klient Dator som tittar på webbsidan med en webbläsare (t ex.
SNABBGUIDE FÖR SÄNDFUNKTIONER OCH FAX PÅ CANON imageRunner ADVANCED Denna guide är till för att du snabbt skall komma igång med att utnyttja din Canon.
Enkel dator teknik Tips och tricks. Välja storlek och radavstånd Här väljer du storlek på texten vi vill att ni använder 14 p till rubriker och 12 p till.
Daniel Stenberg Mer data på kortare tid, tack!. Daniel Stenberg 2 31:a maj 2010 Daniel Stenberg Haxx och Fossgruppen curl libssh2 IETF
Nätverk – optisk fiber Störningsfri Avlyssningssäker Snabb överföring Klarar långa avstånd Dyr Ömtålig.
Lots Tävlingar och administration
Python.
Införande av blodsamverkan
Projektet Vårddatalager
Microsoft® Office SharePoint® 2007-utbildning
Genomgång av Automation Builder
13 maj 2019 Produktuppdatering Alpha PRODUKT UPPDATERING
Presentationens avskrift:

Ö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 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

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 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

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 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

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.

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

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

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

Protoypen: Lösning 1 Klienten gör statistikinsamling

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

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 SIP- meddelandena  Startar endast mätningar för samtal från en specifik klient

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

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

Prototypen: Lösning 2 Klientskriptet  Hämtar information om:  Call-ID  Mottagarens IP-nummer  Startar UDP-generatorn vid samtalets start

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

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: 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

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-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

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ö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

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 NeTraMet och hur OAM-paket ska genereras  Utveckling av prototyp i Perl  Klientversion  Serverversion  Mätning gjord med prototypen

Frågor?