table of contentsbeta.eaict.ap.be/wp-content/uploads/2016/06/scriptie...hierbij aan zaken zoals...

53

Upload: others

Post on 15-Oct-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Table of Contentsbeta.eaict.ap.be/wp-content/uploads/2016/06/Scriptie...hierbij aan zaken zoals Latency, packet Loss, bandbreedte, etc. 0.2 Abstract 5 0.3 Het bedrijf Bij aanvang van
Page 2: Table of Contentsbeta.eaict.ap.be/wp-content/uploads/2016/06/Scriptie...hierbij aan zaken zoals Latency, packet Loss, bandbreedte, etc. 0.2 Abstract 5 0.3 Het bedrijf Bij aanvang van

1.1

1.1.1

1.1.2

1.1.3

1.1.4

1.1.4.1

1.2

1.2.1

1.2.2

1.3

1.3.1

1.3.1.1

1.3.2

1.4

1.4.1

1.4.2

1.4.3

1.4.4

1.5

1.6

TableofContents0.Introduction

0.1Dankwoord

0.2Abstract

0.3Hetbedrijf

0.4RaspberryPi

RaspberryPiSetupGuide

1.VoIPBasics

1.1SIPenRTP

1.2MOS

2.Python

2.1Sockets

SocketsVoorbeeld

2.2Scripts

3.MonitoringViaTools

3.1PortMirrorvsNetworkTap

3.2NTOPNG

3.3Smokeping

3.4MTR

4.BroadbandMonitoring

5.Conclusie

2

Page 3: Table of Contentsbeta.eaict.ap.be/wp-content/uploads/2016/06/Scriptie...hierbij aan zaken zoals Latency, packet Loss, bandbreedte, etc. 0.2 Abstract 5 0.3 Het bedrijf Bij aanvang van

Network&VoIPMonitoringUsingRaspberryPiByJonasCaers

DepartementWetenschappenenTechniek

OpleidingElektronica-ICT

Academiejaar2015-2016

Internepromotor:MaartenLuyts

Externepromotor:ThijsVandecasteele

0.Introduction

3

Page 4: Table of Contentsbeta.eaict.ap.be/wp-content/uploads/2016/06/Scriptie...hierbij aan zaken zoals Latency, packet Loss, bandbreedte, etc. 0.2 Abstract 5 0.3 Het bedrijf Bij aanvang van

0.1DankwoordEerstenvooralzouikIntellinetwillenbedankenommijdekanstegevenombijhunstagetedoen.VervolgenswilookzekerThijsVandecasteelebedankenvoordebegeleidingtijdensdestageenhetingoedebanenleidenvanhetproject.OokwilikRahulMalik,MinaMalikenBartMichielsbedankenvoordeaangenamewerksfeer.VerderwilikookMaartenLuytsbedankenvoordenodigefeedbackopdeveleverslagen.

Antwerpen,10juni2016

JonasCaers

0.1Dankwoord

4

Page 5: Table of Contentsbeta.eaict.ap.be/wp-content/uploads/2016/06/Scriptie...hierbij aan zaken zoals Latency, packet Loss, bandbreedte, etc. 0.2 Abstract 5 0.3 Het bedrijf Bij aanvang van

0.2AbstractMijnOpdrachtishetmonitorenvannetwerkenbijklanten.SpecifiekmoetikervoorproberenzorgendatdekwaliteitvandeVoiceoverIPgesprekkengegarandeertkanworden.Ditdoortekijkenwanneereennetwerkproblemenondervindtendatdeklantenhetbedrijfhiervaneenmeldingkrijgenmetinformatieoverwatermisgaat.DitmonitorenmoetgebeurenviaeenRaspberrypizodatdezemakkelijkbijeenklantgeplaatstkanworden.WegaanhierbijgebruikproberenmakenvanToolsdieervoorkunnenzorgendatwebelangrijkezakenkunnenmonitorendieeeninvloedkunnenhebbenopeenVoiceoverIPgesprek.DenkhierbijaanzakenzoalsLatency,packetLoss,bandbreedte,etc.

0.2Abstract

5

Page 6: Table of Contentsbeta.eaict.ap.be/wp-content/uploads/2016/06/Scriptie...hierbij aan zaken zoals Latency, packet Loss, bandbreedte, etc. 0.2 Abstract 5 0.3 Het bedrijf Bij aanvang van

0.3HetbedrijfBijaanvangvandestagezijnwegestartmeteenintroductietotdewerkingvanhetbedrijfendeverschillendestageopdrachten.hetbedrijfmaaktgebruikvanfreePBXvoorhetbeherenvandeVOIPnetwerken.freePBXiseenweb-basedopensourcegraphicaluserinterfacedatAsterisk(voiceoverIPserver)beheerd.Asteriskiseensoftwareimplementatievaneen"telephoneprivatebranchexchange"ofPBX.hetlaatonstoeommetaangekoppeldetelefoonsgesprekkennaarelkaartestartenenomconnectietemakenmetanderetelefoonserviceszoalshetpublicswitchedtelephonenetwork(PSTN)enVoiceoverInternetProtocol(VoIP).Hetbeschiktoverveelfeatureszoalsvoicemail,conferencecalling,interactivevoiceresponseenautomaticcalldistribution.AsteriskondersteuntverschillendestandaardVoiceoverIPprotocols,maarvooronsisdemeestbelangrijkedeSessioninitiationprotocolofkortwegSIP.Ditiseencommunicatieprotocoldatgebruiktwordtvoorsignaleringencontrollerenenhetregelenvanmultimediacommunicatiesessies.SIPmaakthoofdzakelijkgebruikReal-timeTransportProtocol(RTP),ditnetwerkprotocolwordtgebruiktvoorhetleverenvanaudioenvideooverIPnetwerken.NogeenbelangrijkbegripisTrunking,ditiseenmethodevooreensysteemomnetwerkaccessteverschaffenaanmeerdereclientsdooreensetlijnenoffrequenciestedelen.Eentrunkiseensingletransmissionchanneltussen2eindpunten,waarbijelkpunthetswitchingcenterisofweldenode.

0.3Hetbedrijf

6

Page 7: Table of Contentsbeta.eaict.ap.be/wp-content/uploads/2016/06/Scriptie...hierbij aan zaken zoals Latency, packet Loss, bandbreedte, etc. 0.2 Abstract 5 0.3 Het bedrijf Bij aanvang van

0.4RaspberryPi

Ikweetdatmeestemensendieditzullenlezenhoogstwaarschijnlijkalwelincontactzijngeweestmetderaspberrypioferopzenminsttochalvanhebbengehoord.Maarvoorzijdiehetnietkennenwiliktochkortuitleggenwathettoesteljuistisenwaartoehettotinstaatis,aangeziendittocheenenormbelangrijkonderdeelisvanhetproject.DeraspberryPiheeftbijwijzevansprekengezordvooreenrevolutiebinnendeinformatica.Dekleinemicro-computerheeftopeenzeerkorteperiodeeenenormgrotefanbaseingepalmdenwordtsteedsmeerenmeergebruiktbinnenbedrijven.Hetdevicewasorigineelontworpenomkinderenkennistelatenmakenmetprogrammerenzonderhetrisicotelopenprijzigecomputersdefecttekrijgen.

Deraspberrypikangebruiktwordenvooreenenormerangevanverschillendeapplicaties,inclusiefeenmini-PC.Hetisnietenormkrachtig,maarmeerdankrachtiggenoegomenkelebasistakentedoenofgewoonomophetinternettebrowsen.Hetisookenormpopulairbijmensendiehetwillengebruikenvoorretrogamingenemulaties.DeraspebrrypiissterkgenoegomdeklassiekeNESenSNESgamestespelenendeonlangsaangekondigdeOpenGLondersteuningzouervoorkunnenzorgendathetgamesvandevroegejaren2000zoukunnendraaien.IoTprojectenzijnookenormpopulairenzozijnermensenuitdecommunitydieerbijvoorbeeldeenmonitoringsysteemvanhetweerhebbengemaakt.

ErzijnverschillendemodellenvandeRaspberryPimaarvooronszijndebelangrijkstedeRaspberrypi2en3.DitvanwegedeethernetpoortenendeCPUsnelheden.Raspberrypi2heefteengeheugenvan1GBeneenCPUsnelheidvan900MHZ,Raspberrypi3isde

0.4RaspberryPi

7

Page 8: Table of Contentsbeta.eaict.ap.be/wp-content/uploads/2016/06/Scriptie...hierbij aan zaken zoals Latency, packet Loss, bandbreedte, etc. 0.2 Abstract 5 0.3 Het bedrijf Bij aanvang van

meestegeavanceerdemeteen1.2GHz64-bitCPU,maarhetheeftookingebouwdeBluetoothenWi-Fi.

0.4RaspberryPi

8

Page 9: Table of Contentsbeta.eaict.ap.be/wp-content/uploads/2016/06/Scriptie...hierbij aan zaken zoals Latency, packet Loss, bandbreedte, etc. 0.2 Abstract 5 0.3 Het bedrijf Bij aanvang van

RaspberryPiSetupGuideHettoestelzieterinhetbeginmisschieningewikkelduitomwerkendetekrijgen,maarnietsisminderwaar.Hetmoeilijkstedeeliswaarschijnlijkhetladenvanhetoperatingsystemophetdevice.DePiheeftgeeningebouwdeopslagruimteenmenmoetdaaromgebruikmakenvaneenmicroSDkaart.Dezewerktdanalsjeharddrive.

AlsjedePigeformatteerdhebtzuljeeenoperatingsystemmoetenklaarmakenomteladenopdePi.OmdatdePi"lowpowered"isvannature,zalgebruikmoetengemaaktwordenvanaangepastesofwaregebasseerdopdepopulaireLinuxDistro's.VeelmensenzullenomtebeginnengebruikmakenvandeNewOutOftheBoxSoftwareinstaller(NOOBS)(download),alraadikhetsterkaanomgebruiktemakenvanRaspbian(download).

WanneerdezedownloadsklaarzijnzaljedecontentnaardeSDmoetentransferen(ditkandoorgebruiktemakenvanbijvoorbeeldwin32diskmanager).Alsjeditprogrammastartzaljeeenimageendevicemoetenselecteren,selecteerdefilediejenetgedownloadhebtenjeSDkaartendrukdanopWrite.Hiernakanjejemonitor,muisentoetsenbordaandePikoppelen.StartdanhetDeviceopenjebentklaaromtebeginnenwerken.VergeetzekerooknietomhetgeheugenvandeSDuittebreiden,ditkanjedoendoorhetcommando"sudoraspi-config"integevenendan"expand"teselecteren.HetisookgewoonmogelijkomvanopjeeigenPCopdeRaspberryPitewerken,ditkanviaSSH.DownloadPutty,geefhetIPadresvanjePienmaakverbinding.

RaspberryPiSetupGuide

9

Page 10: Table of Contentsbeta.eaict.ap.be/wp-content/uploads/2016/06/Scriptie...hierbij aan zaken zoals Latency, packet Loss, bandbreedte, etc. 0.2 Abstract 5 0.3 Het bedrijf Bij aanvang van

VoIPBasicsVoorwekunnenbeginnenmetmonitorenishethandigomeersttebegrijpenhoeVoIPjuistwerkt,oftochalleszinsdebasis.

ErzijndriehoofdVoIPprotocolsfamilies,voornamelijkgebasseerdop:StandaardprotocolszoalsSIP/RTP/H.323ofproprietaryprotocolszoalsCiscoSkinnyofSkype.belangrijkpuntisdathetgebruikenvaneenstandaardprotocolsnietaltijdwilzeggendathetmogelijkisomallestemonitoren,wantprotocolszoalsRTP(gebruiktvoorvideoenaudio)kunnendatavervoerendatencodedismeteenproprietarycodec.InhetAlgemeenzijnalleprotocolsbijVoIPgebasseerdopeenconnectionlessprotocolzoalshetUserDatagramProtocol,UDP.UDPisonbetrouwbaarenhetprotocolbiedtgeengarantiedatdegegevenswerkelijkgaanaankomen.hetprotocolwordtvooralgebruiktbijapplicatiesdiesnelgegevensmeteenkortereactietijdmoetenkunnenoverdragenenhetnietzoergisdatereenpakketjeverlorengaat,denkhierbijaantelefonie,streamsendergelijken.depacketlossmaguiteraardniettegrootzijnzodatdepersoonaandeanderekantnietmeerverstaanbaarisofdestreamnietmeertebekijkenis.Ditisduswatwegaanproberentemonitorenmetderaspberrypi.

ElkecommunicatiebijVoIPbestaatuit3basisstappen:

1. wanneereenbellerwilcommunicerenmeteenanderepartijdanzalheteencommunicatiebeginnenmetderemotepartyofwelmeteengateway/PBX(ditisafhankelijkvanhetprotocoldatgebruiktwordtendesetupvanhetlokaalnetwerk)doorgebruiktemakenvaneensignalingprotocol.dezestapisverantwoordelijkvoor:verifiërenvancredentials,uitzoekenofhetvoiceisofvoice&video,overeenkomenwelkecodecgebruiktwordtenovereenkomenwelkepoortengebruiktzullenworden.

2. hetgesprekvindtplaatsopdepoortendieweeerderovereengekomenzijn,depayloadwordtencodedmetdecodecdiewehebbengespecificeerd.RTPstandaardhetprotocolzijndatgeselecteerdisenbijeenvideocallzullenertweeonafhankelijkeRTPstreamszijn,eenvoorvoiceeneenvoorvideo.

3. wanneeriemandbeslistomhetgesprektebeëindigen,danzalhetgesprekafgeslotenwordendoorgebruiktemakenvanhetsignalingprotocol.

Vanhettrafficmonitoringstandpunt:

hetsignalingprotocolbevatbelangrijkeinformatiezoalstypecall(voiceofvideo-call),codecs,duur,eninformatieoverdeRTPsessie.devoice/videotransportprotocolisgebruiktominformatiezoalsjitterpacketlossenpacketlatencyeruittehalen.

1.VoIPBasics

10

Page 11: Table of Contentsbeta.eaict.ap.be/wp-content/uploads/2016/06/Scriptie...hierbij aan zaken zoals Latency, packet Loss, bandbreedte, etc. 0.2 Abstract 5 0.3 Het bedrijf Bij aanvang van

protocollenzoalsRTCPXSwordengebruiktominformatieoverdertpstreamsweertegeven,zoalspacketloss,delayencallandtransmissionqualitymetrics.

1.VoIPBasics

11

Page 12: Table of Contentsbeta.eaict.ap.be/wp-content/uploads/2016/06/Scriptie...hierbij aan zaken zoals Latency, packet Loss, bandbreedte, etc. 0.2 Abstract 5 0.3 Het bedrijf Bij aanvang van

1.1SIPenRTPVoormensenmetgeenachtergrondinnetwerkenkanSIPenRTPopheteerstezichtbijzonderingewikkeldlijken,ikzaldaaromdetweeprotocolsproberenuitteleggenzodatdittocheenbeetjeduidelijkerwordtenjezalmerkendatditallemaalnogwelgoedmeevalt.

Zoalsdenaamzegt,SessionInitiationprotocolwordtgebruiktomeensessietestartentussen2eindpunten.SIPvervoertzelfhelemaalgeenvideoofvoicedata,hetgaatsimpelweg2eindpuntentoelateneenconnectietemakenmetelkaarengaandanviahetReal-Timetransportdatanaarelkaarversturen.StructuurvaneenSIPpacket:

Uitlegnummersvanafbeelding:

1. DittoontdesourceendestinationipadresvanhetSIPpakketje.(belangrijkomtewetenisdatditzalveranderenwanneerhetandereSIPproxyserverspasseert)

2. Transportprotocolenpoort.(inditgevalpoort5060,destandaardpoortvoorSIP)3. DitisdeSIPrequestheaderdatzegtoverwelktypeSIPmessagehetgaat.4. deViaheaderbevatalleinformatieoverwelkeSIPproxyservershetheeftgepasseerd.5. deToisdeSIPpacketdestination.6. From*geeftaanvanwiehetpakketheeftverstuurd.7. DitspecifiekpakketjeiseenSIP/SDpacket,ditwilzeggendathetinformatiebevatdat

1.1SIPenRTP

12

Page 13: Table of Contentsbeta.eaict.ap.be/wp-content/uploads/2016/06/Scriptie...hierbij aan zaken zoals Latency, packet Loss, bandbreedte, etc. 0.2 Abstract 5 0.3 Het bedrijf Bij aanvang van

deremoteclienteenRTPsessionmoetopenenvoorhetgesprek8. HetIPadresvandeSIPClient9. HetIPadresdatdedestinationSIPclientmoetcontacterenomeenRTPsessiete

openen.10. Debelangrijkstezakenindezeheaderzijnaudio,33438enRTP/AVP.

integenstellingtotSIP,datluistertoppoort5060,maaktRTPgebruikvanvaneendynamicportrange(enisaltijdUDP),normaalgezientussen10000en20000.RTPsessieswordenrechtstreeksopgezettussenSIPclients.

Nu,SIPiseenenormhandigprotocolmaarzakenwordeningewikkelderwanneerNATerbijwordtbetrokken.SIPpakketjeszelfbewegenzichzonderveelproblemenvandeeneservernaardeandere.BijRTPisditniethetgeval.ofwelzijnbeideclientszichervanbewustdatzeachterNATzittenenwisselenzehunIPadressenuitvoorhunpubliekeIP'sinhunSessiondescriptionmessagesenopenenzedenodigefirewallpoorten.ofandersmoeterietswordenaangepastindeSIPpakketjesterwijlzeonderwegzijn.Ditiswaareenback-to-backuseragentzoalsAsteriskvanpaskomt,dezekandienenalseenproxyvandeRTPtrafiek.

AsteriskkanSIPpakketjeswijzigenzodatdecallerendestinationeenRTPsessiemetzichzelftotstandbrengen,inplaatsvanmetelkaar.Ditishandiginsituatieswaar2SIPclientsgeendirectaccesshebbenmetelkaar.Bijtroubleshootingvanpacketcaptureskanjebestaandachthebbenvoordeze2zaken:

1. DepoortenenIPadressenindeSIPmessageheader(to,from,via).2. depoortenenipadressenindesessiondescription.

1.1SIPenRTP

13

Page 14: Table of Contentsbeta.eaict.ap.be/wp-content/uploads/2016/06/Scriptie...hierbij aan zaken zoals Latency, packet Loss, bandbreedte, etc. 0.2 Abstract 5 0.3 Het bedrijf Bij aanvang van

1.1SIPenRTP

14

Page 15: Table of Contentsbeta.eaict.ap.be/wp-content/uploads/2016/06/Scriptie...hierbij aan zaken zoals Latency, packet Loss, bandbreedte, etc. 0.2 Abstract 5 0.3 Het bedrijf Bij aanvang van

1.2MOSMOSstaatvoorMeanOpinionScore.Nu,watiseenMeanOpinionScoreenwaaromkanhetbelangrijkzijnbijVoiceoverIP.MeanOpinionscoreiseenrelatieveschaaldierekeninggaathoudenmetmeerderefactorendieinvloedkunnenhebbenopeennetwerk,dieeventueeldekwaliteitvaneenVoiceoverIPgesprekkunnenbeïnvloeden(hetwoordrelatiefishierbelangrijkomdatditsoorttestenormsubjectiefis).Erzijnveelfactorenwaarmenrekeningmetkanhouden,eeneersteisBandbreedte,jebandbreedtezalgaanbepalenhoeveelgesprekkenjesimultaanzalkunnendoen,wanneerjemeergesprekkenvoertdanjebandbreedteaankandanzuljedekwaliteitvanhetgesprekdrastischhorendalen.VervolgenskanookdeHardwarediejegebruikteeninvloedhebbenopdekwaliteitvaneengesprek,maarookzakenzoalsJitter(meeruitleghieroverlater),LatencyenpacketlosshebbeneenenormgroteinvloedopdekwaliteitvanjevoiceoverIPgesprek.DeCodecdiewegebruikenkanookzorgenvooreenslechteofbeterekwaliteitvaneengesprek.Zozaldeg711codec(noncompressed)zorgenvooreenbetereresultaatzorgenomdatomdatcompressieendecompressiehiernietnodigis.G711heeftookminderkansoppacketloss,zelfseenkleinbeetjepacketlosskanleidentoteenminderekwaliteitvanjegesprek.Hetnadeelbijdezecodecisdanweerdathetveelmeerbandbreedtegaatgebruikentenopzichtevandeg729codec.

DeMeanOpinionScorezalaltijdeenwaardehebbenvan1tot5,waar1enormslechtisen5debestmogelijkkwaliteitis.Voordeg711codecis4.4demaximummogelijkeMOS.vanaf3.9zaljeziendatmensenalmerkendatereendalingisvandekwaliteitvanhetgesprek.

hiereenvoorbeeldvanhoelatencyinvloedheeftopdeMeanOpinionScorebijdeG711enG729codec:

1.2MOS

15

Page 16: Table of Contentsbeta.eaict.ap.be/wp-content/uploads/2016/06/Scriptie...hierbij aan zaken zoals Latency, packet Loss, bandbreedte, etc. 0.2 Abstract 5 0.3 Het bedrijf Bij aanvang van

1.2MOS

16

Page 17: Table of Contentsbeta.eaict.ap.be/wp-content/uploads/2016/06/Scriptie...hierbij aan zaken zoals Latency, packet Loss, bandbreedte, etc. 0.2 Abstract 5 0.3 Het bedrijf Bij aanvang van

2.PythonAangezienderaspberrypiwerktopeenlinuxbaseddistrohebikgekozenomeenstekijkenofikzelfnietietskanprogrammereninpythondatmijkanhelpenbijhetmonitorenvaneennetwerk.Pythoniseentaaldatzeermakkelijktegebruikenisopeenlinuxbasedoperatingsystem,meestalhoefjezelfnietsmeerteinstallerenenkanjemeteenbeginnen.MomenteelbenikbezigaaneenPINGscriptdatmijkanhelpenomzotegaankijkennaardestatusvaneenhostofclient.OokhebikeeneenUDPSENDenRECEIVEscriptdatmijkanhelpenomdestabiliteitvaneenconnectietetestenenomtekijkenoferpacketlossisoverdelijn.NuvoorweietskunnenprogrammereninPythonvoornetwerken,moetenweeerstwetenhoeSocketswerken.Ditligtnamelijkaandebasisvanallesenhetlijktmedaarombesthandigomtocheenbasiskennistehebbenhierover.

2.Python

17

Page 18: Table of Contentsbeta.eaict.ap.be/wp-content/uploads/2016/06/Scriptie...hierbij aan zaken zoals Latency, packet Loss, bandbreedte, etc. 0.2 Abstract 5 0.3 Het bedrijf Bij aanvang van

2.1SocketsSocketszijnenormbelangrijkvoorwanneerjeietswilprogrammereninverbandmetnetwerken.latenwebeginnenmetsneleenseensimpelsocketaantemaken,ditkandooreerstdesocketlibraryteimporterendoor"importsocket"endandesocketineenvariabeletesteken.desyntaxhiervoorgaatalsvolgt:"s=socket.socket(socket.AF_INET,socket.SOCK_STREAM)".Wehebbenhierduseensocketinstanceaangemaaktenhet2parametersmeegegeven.deeersteparameterisAF_INETendetweedeisSOCK_STREAM.AF_INETverwijstnaarhetaddressfamilyipv4.vooripv6isditookmogelijkenmoetjenamelijkinplaatsAF_INETerAF_INET6vanmaken.DandeSOCK_STREAMgeeftweerwelkprotocoljewiltgebruiken,inditgevalgebruikenwedushetTCPprotocol.laterwordtookuitgelegdhoejebijvoorbeeldeenUDPpakketjeaanmaakt,ditisnamelijkideaalalsjemetVoIPbezigbent.Nugaanwetrachtenommetdezesocketeenconnectietemakenmeteenserver.Alserenigeerrorswarenmethetaanmakenvandesocketdanzalereensocket.errorgegevenwordenenzaljeenkelmetdeserverconnectiekunnenmakenalsjehetIPweet.stelnudawemetdeservervangooglewillenconnecterendankanjeeensimpelepingdoeninjecommandpromptofdoorinjecodedelijn"ip=socket.gethostbyname('google.com')"toetevoegen.

2.1Sockets

18

Page 19: Table of Contentsbeta.eaict.ap.be/wp-content/uploads/2016/06/Scriptie...hierbij aan zaken zoals Latency, packet Loss, bandbreedte, etc. 0.2 Abstract 5 0.3 Het bedrijf Bij aanvang van

SocketsVoorbeeldInditdeelgaikaandehandvaneenvoorbeeldproberenomdewerkingvansocketsduidelijkertemaken.

Latenwenuevendecodevanhetscriptomconnectietemakenmetgooglebekijken:

importsocket

importsys

try:

s=socket.socket(socket.AF_INET,socket.SOCK_STREAM)

print"Socketsuccessfullycreated"

exceptsocket.erroraserr:

print"socketcreationfailedwitherror%s"%(err)

port=80

try:

host_ip=socket.gethostbyname('www.google.com')

exceptsocket.gaierror:

#thismeanscouldnotresolvethehost

print"therewasanerrorresolvingthehost"

sys.exit()

s.connect((host_ip,port))

print"thesockethassuccessfullyconnectedtogoogle\

onport==%s"%(host_ip)

depoort80diewenemenisdedefaultportvoordesocket.Slahetscriptjenuopenlaathetrunnen,nuzoujenormaalmoetekunnenziendatdesocketsuccesvolisaangemaaktgeweest.

nuwathebbenwehierpreciesgedaan,eersthebbenwedesocketaagemaakt,danhebbenwegooglezijnipgenomenendeconnectiemetdeservergemaakt.Nuditisallemaalzeerinteressant,maarwatweechtwillenwetenishoedatasturendoorzoeensocket.voorhetsturenvandatadooreensocketheeftdelibraryeen'sendall'function.dezefunctielaatjetoeomdatateversturennaardeserverwaardesocketismetverbondenendeserverkanookdataversturennaardeclientaandehandvandezefunctie.

Laatonsnukortzienhoezo'nserver-clientprogrammainzijnwerkgaatomdeverschillendeconceptentochnognetietsduidelijkertemaken.

SocketsVoorbeeld

19

Page 20: Table of Contentsbeta.eaict.ap.be/wp-content/uploads/2016/06/Scriptie...hierbij aan zaken zoals Latency, packet Loss, bandbreedte, etc. 0.2 Abstract 5 0.3 Het bedrijf Bij aanvang van

eerstmisschienwatmeeruitlegoverdeserver.eenserverheefteenbind()methodediehetbindaaneenspecifiekeipenpoortzodathetkanluisterennaarinkomenderequestsopdieipenpoort.vervolgensheeftdeserverookeenlisten()methodediedeserverinlistenmodezet.ditlaatdeservertoeomteluisterennaarinkomendeconnecties.alslaatsteheeftdeserverookeenaccept()enclose()methode.theacceptmethodeopenteenconnectiemetdeclientendeclosemethode,raarmaarwaar,sluitdeconnectiemetdeclient.Nugaanweeenszienhoedecodevandeservererkanuitzien.

importsocket

s=socket.socket()

print"Socketsuccessfullycreated"

port=12345

s.bind(('',port))

print"socketbindedto%s"%(port)

s.listen(5)

print"socketislistening"

whileTrue:

c,addr=s.accept()

print'Gotconnectionfrom',addr

c.send('Thankyouforconnecting')

c.close()

watdoenwehiernujuist?eerstenvooralgaanweopnieuwdesocketlibraryimporteren,ditiszowathetbelangrijkstedatjemoetdoen.DangaanwenogmaalseensocketobjectaanmakeneneenportreserverenoponzePC.Naditbindenweonzeserveropdiepoort.hetdoorgevenvaneenlegestringwilzeggendatdeserverookkanluisterennaarconnectiesvananderecomputers.Alswebijvoorbeeld127.0.0.1zoudenmeegevendanzoudeserverenkelluisterennaarcallsindelocalcomputer.hiernazettenweonzeserverinlistenmode.Bijdelistenzienwenuhetgetal5staan,ditwilzeggendat5connectiesinde"wacht"kunnenwordengezetalsdeserverbezigis,een6connectiezaldusgeweigerdworden.alslaatstegaanweeenwhileloopaanmakendieinkomendeconnectiesgaataccepterenendieconnectiesgaatsluitennahet"thankyou"berichtje.Watonsnunogrestishetaanmakenvandeclient.

Declientiswatgaatpratenmetonzeserver.wekunnennatuurlijkeerstproberenomeentelnettedoennaaronzeserveromzekertezijndatonzeserverwelwerkt.voordatjeditdoet,vergeetnietdeservereerstaanstaatdoorhetscriptterunnenmet"pythonserver.py"of"sudopythonserver.py"omalsroottestarten.

nulatenweonzeclientgaanaanmaken;

SocketsVoorbeeld

20

Page 21: Table of Contentsbeta.eaict.ap.be/wp-content/uploads/2016/06/Scriptie...hierbij aan zaken zoals Latency, packet Loss, bandbreedte, etc. 0.2 Abstract 5 0.3 Het bedrijf Bij aanvang van

importsocket

s=socket.socket()

port=12345

s.connect(('127.0.0.1',port))

prints.recv(1024)

s.close()

hetscripthierbovenspreektvoorzichzelf,maarikgahettochsneleventoelichten.eerstenvooralgaanwenogmaalshetsocketobjectaanmaken,dangaanweverbindingmakenmetdelocalhostoppoort12345(ditisdepoortwaardeserveroploopt)enalslaatstegaanwededatavandeserverontvangenendandeconnectiesluiten.nuslaaghetscripjeopenstarthetvandeterminal.alsallesgoediszoujenutekstmoetenzienverschijnendatdeconnectieinordeis.

nuikweetdatdezeuitlegmisschiennogwattebasicis,maarhetzoujetochaleengoedideemoetengevenvanhoesocketswerkeninpython.

SocketsVoorbeeld

21

Page 22: Table of Contentsbeta.eaict.ap.be/wp-content/uploads/2016/06/Scriptie...hierbij aan zaken zoals Latency, packet Loss, bandbreedte, etc. 0.2 Abstract 5 0.3 Het bedrijf Bij aanvang van

2.2ScriptsVoorweverdergaanwiliktochevenvermeldendatiktijdensdeloopvanmijnstagemijnfocusvandezescriptsverlegthebnaarhetwerkenmettoolsinplaatsvanverderdezescriptsuittebreiden.Dithebikvooralgedaanomdatmijnkennisvanpythontochietstebeperktwasvooreenprojectalsdit.Tochgaikdescriptseventoelichtenomdatdebasisertochisenerzekernogopverderkangegaanworden.

PINGscript

Heteerstescriptdatwehierhebben,gaanwegebruikenomnategaanofdedevicesvandeklantnogbereikbaarzijnenofdeklantdeservervanintellinetnogkanbereiken.hetscriptkanzoveelclientspingenalsjezelfwilt,erisdusweldegelijkruimtevooraanpassingen.

ErzitookalIPV6functionaliteitin,ditkanjeziendoorhetgebruikvandeAF_INET6(zoalseerderhierbovenaluitgelegdis).Bijhetaanmakenvandesocketzienwedatwe"socket.SOCK_RAW"gebruikeninplaatsvande"_STREAM",een"_RAW"wiltzeggendajedeapplicatietoelaatomcustomheadersaantemakeninplaatsvandeheadersvanhetonderliggendeoperatingsystem.

UDPSENDscript

IkhadeerderalvermelddatweviaeenUDPscriptgaankijkennaardekwaliteitenpacketlossvaneenlijn.MetditscriptgaanwebijdeklantUDPpakketjesaanmakenviasockets,zoalseerdervermeld,endezedanversturennaardepbxdiedepakketjesdanzalontvangen.Nuwegaanpakketjesversturendieingroteverschillenenwegaandusaandereceiverviaeentrigger(datadiewemeesturenineenpakketje)latenwetenhoeveeldatawegaansturenoverdelijn.

UDPRECEIVEscript

AangezienUDPeenconnectionlessprotocolisgaathetscriptdatdedataverstuurtgeenideehebbenvanhoeveelergaanaankomen.daarommakenwedusgebruikvaneenUDPreceivescriptomzodedatadieverstuurtwordtvanbijdeklantopdeserverteontvangen.Nudezenderstuurtentriggermeewaarinstaathoeveeldatahijzalversturen,opdezemanierkunnenwedusheelmakkelijkberekenopdereceiverhoeveelpacketlossisdoorgewoontegaanzienhoeveeldezenderverstuurtenhoeveelpacketserzijnaangekomenopdePBX.

2.2Scripts

22

Page 23: Table of Contentsbeta.eaict.ap.be/wp-content/uploads/2016/06/Scriptie...hierbij aan zaken zoals Latency, packet Loss, bandbreedte, etc. 0.2 Abstract 5 0.3 Het bedrijf Bij aanvang van

Crontab

Crontabiseenzeerhandigetooldiewekunnengebruikenomdeverschillendescriptsopbepaaldeintervalstelatenlopenofomzeopbepaaldetijdsstippentelatenlopen.Ditisbijzonderhandigaangezienwenietwillendatdescriptscontinublijvendraaienbijdeklantenzomisschienhetnetwerkonnodigveelbelast.

2.2Scripts

23

Page 24: Table of Contentsbeta.eaict.ap.be/wp-content/uploads/2016/06/Scriptie...hierbij aan zaken zoals Latency, packet Loss, bandbreedte, etc. 0.2 Abstract 5 0.3 Het bedrijf Bij aanvang van

3.MonitoringViaToolsVoorhetmonitorenvaneennetwerkopderaspberrypikanmengebruikmakenvanenkeletoolsdiehetwerkvoorudoen.DeeerstetooldieiktegenkwamwasNagios,maarhebbeslotenomdezeniettegebruikenomdatnagiosvooralbedoeltisomgegevensvaneenservertemonitorenendatvoornetwerktemonitorenerwaarschijnlijkbeteretoolszijn.DaaromhebikopaanradenvanmijnbegeleideropdestagemijevenverdieptinMunin.MuninmaaktgebruikvanPlug-insomeennetwerktemonitoren.NuMuniniseenenormhandigetoolvoorhetmonitorenvaneennetwerk,zoheefthetbijvoorbeeldeenpluginomeenasteriskservertemonitoren,maarMuninisnaarmijnmeningenormbeperktenbiedtweinigruimteomuittebreidentenzijjeeengoedekennishebtvandetaalPearl.VeellaterbenikNTOPNG(deopvolgervanNTOP)tegengekomenendezetoolleekmijexactwatiknodighebenhebdaarombeslotenommehierinteverdiepen.

Nuhetprobleemmetditsoortmonitoringtoolsopderaspberrypiisdatdezeenkeldedataoverzijneigeninterfacezalmonitoren.NawatresearchhebikgevondendatomditprobleemoptelossendatmenkandoenaanPortMirroringofeenPortTapkangebruiken.ikgaproberenombeidetechniekeninvolgendedelenzoduidelijkmogelijkuitteleggenomzojetocheenideetegevenvanwaterjuistgebeurt.

Verderhebikookgebruikgemaaktvandetool"Smokeping".Dezetoolgaatproberenomgegevenszoalslatency,jitterenpacketlossbijtehoudenendezedangrafischweergevenviazijngrafischeuserinterface.Ikgaproberenomdewerkingeninstallatievandezetoolzogoedmogelijktoetelichten.

OokMTRof"matt'straceroute"gaikproberenuitteleggen.Viadezetoolkanjeaannetwerkdiagnosedoenvanopderaspberrypi.

3.MonitoringViaTools

24

Page 25: Table of Contentsbeta.eaict.ap.be/wp-content/uploads/2016/06/Scriptie...hierbij aan zaken zoals Latency, packet Loss, bandbreedte, etc. 0.2 Abstract 5 0.3 Het bedrijf Bij aanvang van

3.1PortMirrorvsNetworkTapOmuitteleggenhoedezetechniekenwerkenenwatdeverschillenzijntussendetweeishetbelangrijkomtebegrijpenhoeEthernetjuistwerkt.bij100Mbitenmeer,sprekenhostsmeestalinfullduplex,ditwilzeggendathostszowelkunnenzendenalsontvangenopdezelfdemoment.Overeen100Mbitkabelverbondenmeteenhost,isdetotalhoeveelheiddatadateenhostkanverzenden/ontvangen2x100Mbit(200Mbit).

PortMirror

Eenportmirroriseen"activepacketduplication",ditwilzeggendateennetworkdevicedepacketsfysiekmoetgaankopieërenopdemirrorport.

Ditwilzeggendathetdevicedezetaakmoetdoendoorgebruiktemakenvanresources(bvCPU)endatbeidetrafficdirectionsopdezelfdepoortgekopiëerdzullenworden.Infullduplexkandedatavananaarbenbnaaraniethogerzijndandesnelheidvanhetnetwerkvoordaterpacketlosszichvoordoet.Ditomwillevandatergeenfysiekeplaatsisomdepacketsnaartekopieëren.Hetgevolghiervanisdatneenportmirroreengoedetechniekisdatdoorvelenswitchesgedaankanworden(nietallemaal)methetenigenadeeldatvanpacketlossalsjeeenlinkmonitoredmetmeerdan50%load,ofdepoortmirroredmeteensnellerepoort(bijvoorbeeldeen100Mbiutpoortmeteen1Gbitpoort).Ookkanportmirroringtotgevolghebbendatmeerresourcesgebruiktmoetenendatzodeperformantievandeswitchnaarbenedengaat.

NetworkTap

Eennetworktapisintegenstellingtotdeportmirroreen"fullpassive"device.

3.1PortMirrorvsNetworkTap

25

Page 26: Table of Contentsbeta.eaict.ap.be/wp-content/uploads/2016/06/Scriptie...hierbij aan zaken zoals Latency, packet Loss, bandbreedte, etc. 0.2 Abstract 5 0.3 Het bedrijf Bij aanvang van

Elektrischofoptisch,packetswordengekopiëerdopdetapports.Eentapheefteentappoortperrichting(tenzijjeeenaggregatietapgebruikt).Ditbetekentdatalsje1linkwilmonitoren,jetweeNIC'snodiggaathebben,eenvoordeeersterichtingeneenvoordetegengestelderichting.inditgevalzaljenooiteenpacketverliezenintegenstellingtotdeportmirror,omdatelkerichtingeenlinkgebruiktinplaatsbeiderichtingentemergenopdezelfdelink.alsjebeiderichtingenwilmergennaareenenkelepoort,kanjedenetwerkswitchgebruiken;

Tappoortenontvangengeendatamaargaanenkeldatauitsturen,deswitchheeftgeenenkelideewieerachterdepoortzit.hetgevolghiervanisdathetdatazalbroadcastennaarallepoorten.alsjedusjemonitoringdeviceverbindmetdeswitchzaldezedusalledataontvangen.belangrijkenotitieisdatdezetechniekenkelwerktalshetmonitoringdeviceGEENdatanaardeswichstuurt,anderszaldeswitchdenkendatdetappedpacketsnietvoorzulkdevicezijn.OmdittebereikenkanjeeennetwerkkabelgebruikenwaaropjedeTXdraadennietverbondenhebtofjekaneenIP-lessnetworkinterfacegebruikendatgeenpacketstransmit.

Conclusie

zowelpacketmirroringenTaphebbenpossitieveennegatievekanten.Hetisdusaanjouomteexperimenterenwelkemethodehetbestevoorjouofjeinfrastructureuitkomt.

NuZoalseerdervermeldwerkendezetechniekennietopalleswitchen,vooralbijkleinereklantenkanditvoorproblemenzorgen.

3.1PortMirrorvsNetworkTap

26

Page 27: Table of Contentsbeta.eaict.ap.be/wp-content/uploads/2016/06/Scriptie...hierbij aan zaken zoals Latency, packet Loss, bandbreedte, etc. 0.2 Abstract 5 0.3 Het bedrijf Bij aanvang van

3.2NTOPNGIkgaproberenomzoduidelijkmogelijktoetelichtenwaterwelennietmogelijkismetNTOPNG,ookzalikhetinstallatieproceservankorttoelichtenalsookhetgebruikvandeapplicatie.

EerstenvooralishetbelangrijkdatmenbeschiktovereenrouterofswitchdiePortmirroringondersteunt,omdatandersderaspberrypimetntopngenkeloverzijneigeninterfacezalkunnenmonitoren.Ditwiltduszeggendatdeapplicatienietaltijdoptimaalgebruiktzalkunnenwordenomdatnietelkerouterofswitchdezeportmirroringzalondersteunen.nogeenpuntisdatwanneerjeportmirroringdoetopeenswitchinplaatsvanopderouter,jedewi-fitrafieknietzalkunnenmonitorenmetdeapplicatie.NTOPNGiseenenormuitgebreidetooldieenormveelkanenenormveelnutkanhebben,maarhetzalmaarinbeperktesituatiesoptimaalgebruiktkunnenworden.Alsjedusnietbeschiktovereenswitchofrouterdieportmirroringondersteuntzalhetvolgendestukjemisschienietsminderinteressantzijn.

Ntopng,deopvolgervanNTOP,iseenpassievetooldieaanmonitoringdoetendefocuslegtophetweergevenvanflowsenstatistieken.NTOPNGheeftdeoudeNTOPvervangenomdatdemanierwaaropNTOPontworpeniservoorzorgdedatnietmeerdaneenpaarMbitbehandeltkonworden.Ookbeschikthetovereengrafischeuserinterfacedieenormoutdatedis.NTOPNGgaatdusverderopNTOPmaarmaaktgebruikvaneennieuweenmeermoderneGrafischeuserinterface.VerdermaakthetgebruikvaneennieuwereenmeeruitgebreideDPI.DPIstaatvoorDeepPacketInspectioneniseenmethodedieonstoelaatomaanpacketfilteringtedoen,DPIfunctioneertopdeapplicatielaagvanhetOSI(OpensSystemInterconnection)referentiemodel(omjegeheugenevenoptefrissenvanhetOSImodelkanjedezeLinkeenbekijken).HetgebruikvanDeeppacketinspectionmaakthetmogelijkompakketjestevinden,identificeren,reroute,blokkerendieanderepacketfilteringmethodesnietzoudenvindenomdatdezeenkeldepacketheadersgaancontroleren.

HetinstallatieprocesvanNTONGisvrijeenvoudigeninenkelestappenkanjehetalwerkendehebbenenkanjebeginnenmethetmonitoringvanjenetwerk.

heteerstecommandodatwegaaningevenis"wgethttp://packages.ntop.org/apt/ntop.key"enditvolgenweopdoor"apt-keyaddntop.key".Vervolgensgaanwe2echocommando'smoeteningeven,namelij:"echo"debhttp://apt.ntop.org/jessie_piarmhf/">/etc/apt/sources.list.d/ntop.list"en"echo"debhttp://apt.ntop.org/jessie_piall/">>/etc/apt/sources.list.d/ntop.list".Hiernagaanweeenupdatedoenvia"apt-getupdate".Nugaanwentopngennprobeinstalleren,ditdoenwesimpelwegmetvolgendcommando:"apt-getinstallntopngnprobe".Nudatntopnggeïnstalleerdiszijnernogenkelezakendie

3.2NTOPNG

27

Page 28: Table of Contentsbeta.eaict.ap.be/wp-content/uploads/2016/06/Scriptie...hierbij aan zaken zoals Latency, packet Loss, bandbreedte, etc. 0.2 Abstract 5 0.3 Het bedrijf Bij aanvang van

wemoetendoen,zogaanwe2servicesmoetenstarten,wegaandentopngenredisserverdaemonstarten.Ditdoenwemetvolgendecommando's:"serviceredis-serverstart"en"servicentopngstart".

Hierzijnwelnogeenaantalzakendiezeerbelangrijkzijn,dezeinstallatieisbedoeldvoorhetRaspbianoperatingsysteemenvooranderelinuxdistro'szuljeduseenanderinstallatieprocesmoetenvolgen(dezezullenwelnietenormveelverschillenvandezeinstallatie,maarhetiswelbelangrijkdatjeweetvoorwelkoperatingsystemjedeinstallatiewildoen),meerinfooverdeverschillendeinstallatieprocessenvindjeopdesitezelfteruglink.Eentweedebelangrijkpunthierisdatallecommando'smoeteningegevenwordenals"superuser',ditdoejesimpeldoor"sudo"voorjecommando'steplaatsen.

Nudatntopngisgeïnstalleerdenjeservicesgestartzijnkunnenweonsbegevennaardegrafischeuserinterface,ditdoejedoorinjewebbrowserhetIPvanjeraspberrypiintegevenenhieraanookpoort3000aantoetevoegen(bijvoorbeeld:http://192.168.1.115:3000).Poort3000wordtstandaardgebruiktdoorntopng,maarditkunjezelfwelnogaanpassendoorditinjeconfigfilesgaanaantepassen.Deeerstekeerdatjemoetinloggenkunjeditdoendooradminintegevenvoorzowelhetpaswoordalsdeusername,ditzijndestandaardwaardentelkenswanneerjentopnginstalleerd.Hetisaanteradenomjeusernameenpaswoordaantepassenzodrajevoordeeerstekeerhebingelogd.

Eensdatweopdehoofdpaginazittenvandegrafischeuserinterfacedangaanwemeteenbovenaandehoofdtoolbarzienstaan,dezebevatonderhanden:Home,Flows,hosts,protocolsenandere.ErzalhierookeenAlerttevoorschijnkomenwanneereenvandetriggersgeactiveerdword,dezeAlertskunnenindeuserconfigurationingesteldwordenzoalsjezelfwilt.

Vanonderopdepaginazaljeeenmeterzienstaan,dezegaatdesaturatievanjebandbreedteweergeven.RechtshiervanzaljeookjeDownloadenUploadzienstaan,ditgeeftjemeteeneengoedideevanhoeveelDataeroverjenetwerkgaat.

3.2NTOPNG

28

Page 29: Table of Contentsbeta.eaict.ap.be/wp-content/uploads/2016/06/Scriptie...hierbij aan zaken zoals Latency, packet Loss, bandbreedte, etc. 0.2 Abstract 5 0.3 Het bedrijf Bij aanvang van

AlswedanvanHomenaaronsDashboardgaan,danzuljemeteenietstegenkomendatweeen"SankeyDiagram"noemen.DitSankeydiagramhaateenvisueleweergavebiedenvanallehostsdieophetmomentactiefzijnophetnetwerk.2hostszijnhiermetelkaarverbondenmeteenlijn,deClinethostwordttelkenslinksweergegevenendeserverhostrechts.Debreedtevandelijngeeftaanhoeveeldataertussenbeidehostsuitgewisseldwordt.Hetdiagramwordtstandaardomde5secondenvernieuwd,maarditkunjezelfinstellennaarjeeigenvoorkeur.Hetdiagramisuiterraardookinteractive(ditishetleukeaandenieuweversievanNTOP,allesisnamelijkinteractive),alsjedubbelkliktopeenvandehostszaljeinmeerdetailkunnenzienwatergaandeistussende2hosts.

voorbeeldvanzoeensankeydiagramhieronder:

zoalsjekanziengaatheteenmooioverzichtgevenvanwelkehostsermetelkaaraanhetcommunicerenzijnoverhetnetwerk.

AlsweverdergaanopdeinhetDashboardennaar"Hosts"gaan,dankrijgenweeenPiecharttezien,hierkrijgenweeenrepresentatievandetrafiek.Ditwordtgedaanperhost,gelijkaardigmethetSankeydiagramdatweeerderbesprokenhebben.depiechartgaatzichzelfookrefreshen.Verderhebbenwehierook"ports"enditgaatweergevenwelkepoortenhetmeestgebruiktworden,zowelvoordeclientsalsvoordeservers.Het"Application"gedeeltegaateenvisueleweergavebiedenvanhetbandbreedteverbruikengaatditopslitsenperapplicatieprotocol.DeidenticatiewordtgedaanviadenDPI(herrinerudeDeepPacketInspection)enprotocolsdienietherkendwordenzullenals"onbekend"wordenweergegeven.

VerderinhetdashboardvindenweonderhandennogASNenSendersterug,bijSendersgaanweeenoverzichtkrijgenvandemeestactievehostsophetnetwerk(vergelijkbaarmetwatwetezienkrijgenbijhetSankeyDiagram).

3.2NTOPNG

29

Page 30: Table of Contentsbeta.eaict.ap.be/wp-content/uploads/2016/06/Scriptie...hierbij aan zaken zoals Latency, packet Loss, bandbreedte, etc. 0.2 Abstract 5 0.3 Het bedrijf Bij aanvang van

AlsweterugnaardeToolbargaandanzienwenog"Flows"en"Hosts"staan.BijflowsgaanweinRealtimedetraffiekinformatiegaanweergeven,hierbijgaaninfogevenoverwelkeapplicationergebruiktwordt,hetL4protocol,clientetc.BijHostshebbenweeendropdownmenuwaarjeeenaantalleukeeninteressanteinteractievepagina's.Nuechtveelvalthiernietovertezeggenhetisleukeromditzelfeenstebekijkenomtezienwathetallemaalkan.

Hieronderenkelevoorbeeldenvanhoezulkeinteractievepagina'seruitzien(dezescreenshotszijnvanophetnetwerkbijmezelfthuisgenomen):

3.2NTOPNG

30

Page 31: Table of Contentsbeta.eaict.ap.be/wp-content/uploads/2016/06/Scriptie...hierbij aan zaken zoals Latency, packet Loss, bandbreedte, etc. 0.2 Abstract 5 0.3 Het bedrijf Bij aanvang van

3.2NTOPNG

31

Page 32: Table of Contentsbeta.eaict.ap.be/wp-content/uploads/2016/06/Scriptie...hierbij aan zaken zoals Latency, packet Loss, bandbreedte, etc. 0.2 Abstract 5 0.3 Het bedrijf Bij aanvang van

3.3SmokepingOmdatikeenbeetjeafstandwoudoenvanPython,benikgaanzoekennaareventuelealternatievenenikbendaniemandtegengekomendiemewisttezeggendatbijnaalleswatikprobeertedoeninPython,gedaankanwordenopdeRaspberryPimetdetoolSmokeping.

DezetoolisgebasseerdopdeRRDTool(zelfdemaker)engaatonsinstaatstellenopICMP(internetcontrolmessageprotocol)delay,maarookserviceszoalsdievanHTTP,SMTPofDNSetcetc.HetgaateengrootaantalstatistiekenweergevenenhetgaatjeooktoelatenAlertstegenerenzoalsjezelfwilt.Hetinstallatieproceservanisvrijeenvoudigmaarerzijntocheenaantalzakenwaarjezekerrekeningmetmoethouden(meerhieroverlaten).

Smokepinggaatdusdelatencyvanjenetwerkbijhoudenendezezogoedmogelijkvisueelweertegeven.eenvoorbeeldhiervanhieronder:

Nuhoemoetjeditsoortgrafiekevalueren,SmokepinggaatmeederepingsuitvoerenengaatdeRTTwaardenbijhouden,dezeorderenendaneenmedianbepalen.DeverschillendewaardenvanRTTgaanweweergevenalsverschillendeShadesofGrey(punintended),ditgeeftonsideevanJitteroverhetnetwerk(meerhieroverlater).Dehoeveelheidpacketlossdiewehebbengaatwordenweergegevendoordekleurvandehorizontalenlijnteveranderen(alsjenaardeafbeeldingteruggaatkijkendanziejedatdekleurverandert,ditwilzeggendaterduspacketlossis).Degroenekleurwilzeggendatergeenpacketlossisenhoedonkerderditwordthoemeerpacketlosserisoverhetnetwerk.

Hetinstallatieprocessverlooptalsvolgt,eensweverbondenzijnmetderaspberrypigaanweeersteenseenUpdatedoenvoordezekerheid,doetdieviahet"apt-getupdate".Ditdoenweomzekertezijndatjepackageindexdelaatsteversieis.Dankunnenweverdergaandoor"apt-getinstallsmokepingsendmail"integevenvoordeinstallatie.Deredendat

3.3Smokeping

32

Page 33: Table of Contentsbeta.eaict.ap.be/wp-content/uploads/2016/06/Scriptie...hierbij aan zaken zoals Latency, packet Loss, bandbreedte, etc. 0.2 Abstract 5 0.3 Het bedrijf Bij aanvang van

wehierook"sendmail"gaaninstallerenkomtdooreenfoutdieervoorzorgtdatsmokepingnietcorrectwerkttenzijditgeïnstalleerdis.Nuikhebweleenmaniergevondenhoeditzondersendmailkan,ditkandoorindemap"/etc/smokeping/config.d/pathnames"delijnwaar'/usr/bin/sendmail"staatincommentaartezetten.Ditisechtnietaanteradenenjebentbeterafdoorgewoonsendmailmeeteinstalleren,ookalverlengddithetinstallatieproceseenkleinbeetje.Verdergaanweindemap"/etc/apache2/conf-available",hetcommandoln-s../../smokeping/apache2.confsmokeping.conf"ingeven.Omhetinstallatieprocestebeëindigengaanwedecommando's"a2enconfigsmokeping"en"a2enmodcgid"ingevenenvervolgensgaanwedaapache2serviceherstartendoor"serviceapache2restart".Zoalsikbijeeneerdereinstallatiealhadvermeld,moetendecommando'singegevenwordenalssuperuser,gebruikdustelkens"sudo"voorjecommando.alsditgedaaniskanjejewebbrowseropenen"hostname/cgi-bin/smokeping"ingevenomnaardegrafischeuserinterfacetegaan.

HetleukeaanSmokepingishoeveelmogelijkhedenhetbiedtomzakentecustomizenzoalsjezelfwilt.jekanletterlijkallesaanpassen;deTargetsdiejewiltmonitoren,Hettypepingdatjewilgebruiken,wanneerjeAlertswilkrijgeninjemailboxenzelfshetuiterlijkvandegrafischeuserinterfacekanjeaanpassenmetHTMLcode.Aldezemogelijkhedenmaakthetvoormijenorminteressantommettewerken.Aldefilesdiejekancustomizenvindjeterugindemap"/etc/smokeping/config.d".Defilesdiejehierterugvindtzijn;Alerts,Database,General,pathnames,Presentation,Probes,Slaves(isvooronsnietbelangrijkwantwerdnietgebruikt)enTargets.

3.3Smokeping

33

Page 34: Table of Contentsbeta.eaict.ap.be/wp-content/uploads/2016/06/Scriptie...hierbij aan zaken zoals Latency, packet Loss, bandbreedte, etc. 0.2 Abstract 5 0.3 Het bedrijf Bij aanvang van

Deeerstefile,Alerts,zieteruitalsvolgt:

Watwehierzienisvrijsimpeluitteleggen.AlseerstegaanwezeggennaarwiedeAlertsgestuurdmoetenwordenwanneerdezevoorkomenenwegaanookzeggenvanwelkmailadresdezeverstuurdmoetenworden.JekandeAlertsnaarzoveelmensensturenalsjezelfwilt.

Watwehiergaandoenisdusookdealertsconfigureren,ditgebeurtzoalsjehierbovenkanzien,doortebeginnenjealerteennaamtegeven.Vervolgensgajehettypemoetenmeegeven,ditkanbijvoorbeeld'loss'zijnof'rtt'.Bij'pattern'gaanweaansmokepingzeggennaarwelksoortpatroonhetmoetgaankijkenvooraleerheteenalertstuurtnaardecontactpersonendieweeerderhaddeningesteld.Hetleukehierisdatjeditpatroonzoveelkuntcustomizenalsjezelfwilt.Inhetvoorbeeldhierboven,bij'alertTest'bijvoorbeeld,gaanweziennaarhetpatroon"==0%,==0%,>20%,>20%,>20%".Ditwiltzeggendatwanneererna2keerdatwepingengeenpacketlossisendatdevolgende3pingseenpacketlossvertonenvanmeerdan20%,wehiereenalertvankrijgen.Zoalsjeookinhetvoorbeeldhierbovenkanzienzijndemogelijkepatroneneindeloos,ditishetleukeaansmokeping,erisenormveelplaatsomzakentenaarjeeigenvoorkeurteconfigureren.

Eenmailvanzo'nSmokepingAlertzieteralsvolgtuit:

3.3Smokeping

34

Page 35: Table of Contentsbeta.eaict.ap.be/wp-content/uploads/2016/06/Scriptie...hierbij aan zaken zoals Latency, packet Loss, bandbreedte, etc. 0.2 Abstract 5 0.3 Het bedrijf Bij aanvang van

Zoalsjekanziengaatdemailookheelwatinformatiemeegeven,jekanzoziennaarwelkpatroondesmokepinggezochtheeftenhetgaatdanookdeeffectieveresultatenmeegeven.Ookzalheteencommentmeegeven(diejezelfuiteraardkaninstellen)omzomeerinformatietegevendiejezelfessentieelvindt.

DevolgendefileisdeDatabasefileendezezieteralsvolgtuit:

zoalsjekanzienstaathiernietveelinformatieinmaartochwelbijzondebelangrijkeinformatie.Jegaathiermetde"step"variabelemeegevenomdehoeveelsecondenerpingsmoetenuitgevoerdworden.Inde"pings"variabelegajemeegevenhoeveelpingserjuistmoetenuitgevoerdworden.Jemoethierwelmetopletten,alsjeeerstjesmokepinglaatwerkenmetstepgelijkaan60enjegaatdanditaantalverhogenofverlagen,danzaljesmokepingnietmeerwerkenomdatnudewaardenvanjegrafiekennietmeerovereenkomen.Jezaldande".rdd"filesmoetenverwijderenendesmokepingherladen,erzullendannieuwegrafiekenwordenaangemaaktmetdenieuwestepwaarden.

3.3Smokeping

35

Page 36: Table of Contentsbeta.eaict.ap.be/wp-content/uploads/2016/06/Scriptie...hierbij aan zaken zoals Latency, packet Loss, bandbreedte, etc. 0.2 Abstract 5 0.3 Het bedrijf Bij aanvang van

HierbovenziejedeGeneralfile,hierstaatooknietbijzonderzeerveelinformatie.watjehiergaatdoenisspecifiërenwatdemailhostisdiejegaatgebruikenvoordesmokepingalerts,inonsgevalisdatdesmtpservervangmail.Ookgajehierenkelecontactgegevensmeegeven.

Depathnamesfilebevatooknietveelinformatiemaarzieteralsvolgtuit:

Devolgendefile,Presentation,isaleenstukinteressantervoorons,hiergaanwemeegevenwatweallemaalgrafischwillenzienoponzegrafiek.Alleswatjehierdusaanpastzalzichtbaarzijnopdegrafiek.jekanhierbijvoorbeelddehoogte,breedteofrangevandegrafiekaanpassen.Inonsvoorbeeldzietdefileeralsvolgtuit:

3.3Smokeping

36

Page 37: Table of Contentsbeta.eaict.ap.be/wp-content/uploads/2016/06/Scriptie...hierbij aan zaken zoals Latency, packet Loss, bandbreedte, etc. 0.2 Abstract 5 0.3 Het bedrijf Bij aanvang van

3.3Smokeping

37

Page 38: Table of Contentsbeta.eaict.ap.be/wp-content/uploads/2016/06/Scriptie...hierbij aan zaken zoals Latency, packet Loss, bandbreedte, etc. 0.2 Abstract 5 0.3 Het bedrijf Bij aanvang van

DevolgendeenvoorlaatstefileisdeProbesfile.Hiergaanwegaanmeegevenwatvoortypepinggebruiktgaatworden.afhankelijkvanwatvoorpingjehiergebruiktgajebepaaldevariabelemoetenmeegeven.Standaardvoorelkeprobeisdatjedevariabele"step"gaatmoeteninvullen,dezegeeftaanomdehoeveelsecondendepingmoetwordenuitgevoerd.anderemogelijkevariabelenzijnbijvoorbeeld;offset,forks,size,port,protocol,etc.VooreenvolledigelijstvanProbesdiesmokepingkangebruikenkanjedezelinkeensbekijken.opdezesitezaljeallebruikbareprobesvindenmetdenodigeuitlegerbij.hieronderkanjedeProbesfileziendieikzelfhebgebruiktopderaspberrypi.

3.3Smokeping

38

Page 39: Table of Contentsbeta.eaict.ap.be/wp-content/uploads/2016/06/Scriptie...hierbij aan zaken zoals Latency, packet Loss, bandbreedte, etc. 0.2 Abstract 5 0.3 Het bedrijf Bij aanvang van

3.3Smokeping

39

Page 40: Table of Contentsbeta.eaict.ap.be/wp-content/uploads/2016/06/Scriptie...hierbij aan zaken zoals Latency, packet Loss, bandbreedte, etc. 0.2 Abstract 5 0.3 Het bedrijf Bij aanvang van

Dandelaatstefilediewegebruikthebbenuitde"config.d"map,isdeTargetsfile.watjehiergaatdoenisinstellenwelkehostsjewiltpingen,welkepinggebruiktmoetworden,watdenaamervanisenwelkeAlertsergebruiktmoetenwordenopdezehosts(ditkanverschillenvanhosttothost,ookisergeenlimietophoeveelalertserperhostgebruiktmogenworden).HetgebruiktvandeplustekenskanjevergelijkenmetdemappenstructuuropjePC,eenplusisdanbijvoorbeelddenaamvandemapentweeplussenisdandefilehierin.Erisookgeenlimietophoeveelhostserindezefilestaan,jekanzoveelhostsbijvoegen(ofverwijderenalshetnodigis)alsjezelfwilt.Alraadikhetwelaanomhetaantalhostsrelatiefbeperkttehouden.

3.3Smokeping

40

Page 41: Table of Contentsbeta.eaict.ap.be/wp-content/uploads/2016/06/Scriptie...hierbij aan zaken zoals Latency, packet Loss, bandbreedte, etc. 0.2 Abstract 5 0.3 Het bedrijf Bij aanvang van

Sendmail

3.3Smokeping

41

Page 42: Table of Contentsbeta.eaict.ap.be/wp-content/uploads/2016/06/Scriptie...hierbij aan zaken zoals Latency, packet Loss, bandbreedte, etc. 0.2 Abstract 5 0.3 Het bedrijf Bij aanvang van

VooronzeAlertsvansmokepingkunnenwerken,ishetbelangrijkdatsendmailjuistgeconfigureerdis.eerstgaanwedenodigezakenisntallerendoorhetvolgendecommandointegeven"apt-getinstallsendmailmailutilssendmail-bin".Vervolgensgaanweonzegmailauthenticatiefileaanmaken,ditdoenwesimpeldooreersthetcommando"mkdir-m700/etc/mail/authinfo/"endanindezemapeenfileaantemakenwaaronzeauthenticatiegegevensinkomen(dezefilekaneenderwelkenaamhebben).Deinfodatindefilemoetzieteralsvolgtuit:"AuthInfo:"U:root""I:YOURGMAILEMAILADDRESS""P:YOURPASSWORD"".Daninonzesendmailconfiguratiefilegaanwevolgendelijnenmoetentoevoegen:

define(SMART_HOST',[smtp.gmail.com]')dnldefine(RELAY_MAILER_ARGS',TCP$h587')dnldefine(ESMTP_MAILER_ARGS',TCP$h587')dnldefine(confAUTH_OPTIONS',Ap')dnlTRUST_AUTH_MECH(EXTERNALDIGEST-MD5CRAM-MD5LOGINPLAIN')dnldefine(confAUTH_MECHANISMS',EXTERNALGSSAPIDIGEST-MD5CRAM-MD5LOGINPLAIN')dnlFEATURE(authinfo',`hash-o/etc/mail/authinfo/gmail-auth.db')dnl

Omdeconfiguratievansendmailtevervolledigengaanwenogtweecommando'smoeteningeven.Eerstgaanwedeconfiguratiemoetenrebuilden:"make-C/etc/mail"enalslaatstegaanwesendmailmoetenherladen:"/etc/init.d/sendmailreload".

Jitter

NuzoalsikaleerderhadvermeldgingikmeeruitleggevenoverwatJitterisenwaaromheteffectkanhebbenopdekwaliteitvaneenVoiceoverIPgesprek.

wanneercomputersmetelkaargaancommunicerenovereennetwerk,maaktnietuittussenwatvooraparaathetis(kantussen2pc's,tussenPCentablet,eenderwatismogelijk),gaanzepakketjesnaarelkaarversturen.Nubijzakenzoalshetopenenvaneenemailofhetladenvaneenwebpagina(zakendiedusnietechtgevoeligzijnaanlatency)maakthetnietuitofeenpakketjein30msaankomtenhetvolgendeer80msoverdoet.hetverschilhiertussenistekleinomietsvanbelangtehebbenbijditsoortzaken.

AnderezakenzijndanwelmeergevoeligvoorlatencyenditiswaarJitterenenormeinvloedkanhebben.LatencykanmengelijkstellenaandetijddateenpakketjenodigheeftomzichtussentweepuntenteverplaatsenenJittergaatdeveranderingweergevenvanhoeveeltijdnodigisvooreenpakketjeomzichtussentweeeindpuntenteverplaatsen.

EensimpelemanieromtedemonstrerenhoeJitterjuistwerktisdoorutweecomputersintebeeldendiecontinunaarelkaarpacketssturen,laatonszeggenomde10ms.WanneerdeeerstePCzijnpakketjesverstuurdendetweedePCantwoordophieropzonderenigedelay,Danspreektmenvangeenjitterophetnetwerk.NuineenandergevalwaardeeerstePCnogsteedszijnpakketjesaanhetversturenisomde10msmaariemandophetnetwerkiseenzwaredownloadaanhetdoenofmeerderestreamsaanhetbekijken,ditkanervoor

3.3Smokeping

42

Page 43: Table of Contentsbeta.eaict.ap.be/wp-content/uploads/2016/06/Scriptie...hierbij aan zaken zoals Latency, packet Loss, bandbreedte, etc. 0.2 Abstract 5 0.3 Het bedrijf Bij aanvang van

zorgendatdepakketjesnietmeeromde10msaankomenmaarbijvoorbeeldpasna50msensomszelfsdatevengeenaankomenendanplotsmeerderetegelijk.DitiswanneermenJitterervaart.

IedereendieooitaleenseenstreamonlineheeftgezienofooitonlineeenspelheeftgespeeldzalJitteralervarenhebben.wanneerjestreamplotswegvaltofjespelevenblijfthangenendanlijkthetnetalsofiemandopdefastforwardknopduwt,dithebjetedankenaanJitter.Ditkomtdoordatdusmeerdereclient-servercommunicatiesplotsallemaaltegelijkaankomen.

BijVoIPishetbelangrijkdatergeenJitteris,hetminstejitteropeennetwerkkandekwaliteitdrastischdoendalen.Doordatpakketjes(dieaudiobevatten)opverschillendeintervallengaanaankomen,wiltditzeggendatwezenietzomaarkunnenafspelenwanneerzeaankomen.WatwekunnengebruikenomdittevoorkomeniseenJitterBuffer.hiermeegaanweervoorzorgendatinplaatsvanelkpakketjeeenverschillendedelayheeft,elkpakketjeeenconstanteDelaykrijgt.

3.3Smokeping

43

Page 44: Table of Contentsbeta.eaict.ap.be/wp-content/uploads/2016/06/Scriptie...hierbij aan zaken zoals Latency, packet Loss, bandbreedte, etc. 0.2 Abstract 5 0.3 Het bedrijf Bij aanvang van

3.4MTREensdatderaspberrypigeplaatstis,ishetookhandigdatjevanophettoestelzelfterplaatseaandiagnosekandoen.DitiswaarMTRofMatt'sTraceroutevoorgebruiktkanworden.MTRiseenkrachtigediagnosetooldieonskanhelpenomproblemeninhetnetwerkkanisoleren.MTRkanmenzienalseenevolutieopdedooriedereengekende"traceroute".VoormensendievooralmetwindowswerkenkanjedetoolvergelijkenmetdeWindowsvariant"pingplotter",beidetoolshebbendezelfdewerking.InditdeelgaikproberenomzogoedmogelijkdewerkingvanMTRuitteleggenenhoejedeinformatiedieMTRgenereertmoetinterpreteren.

MTRgaatICMPpakketjesversturenmeteensteedstoenemendeTTL(timetolive)omzoweertegevenwelkeroutehetpakketjeneemtofwelkeserievanhopshetpasseerdevanzijnvertrekpunttotzijneindpunt.JeTTLgaatdusbepalenhoeveel"hops"eenpakketjezaldoenendanterugkeertnaardeclient.Telkenswanneereenpakketjebijvorbeeldeenrouterpasseert(eenhop)zaldeTTLmetéénverminderdworden,wanneerdeTTLop0komt"sterft"hetenkeerthetterugnaardeclientdiehetverstuurdheeft.Mengaatduszoeersteenpakketjesturendatéénhopdoetenterugkeert,danstuurtheteenpakketjedattweehopsdoet,enzovoort.DitgaatMTRherhalentothetdehostbereiktheeft.Opdezemaniergaatdeclientduswetenwelkeroutehetheeftgenomenenhoeveelhopshetgepasseerdheeft.MTRgaatveelmeerdoendanenkelderouteweergeventussentweeeindpunten,zogaathetookinformatieweergevenvanbijvoorbeelddestatus,packetloss,latency,etc.

VoorwekunnenwerkenmetMTRmoethetnatuurlijkeerstgeïnstalleerdworden.AangezienwijmetRaspbian(variantvanDebian)hebbengewerkt,doenweditsimpeldoorhetcommando"sudoapt-getinstallmtr-tiny".Hetiswelaltijdaanteradenvoorjeietsnieuwinstalleertomeersteenseen"sudoapt-getupdate"tedoen.Ditzorgtervoordatdepackagesvanaljerepositoriesuptodatezijn.

NudatweMTRhebbengeïnstalleerdkunnenwedewerkingervantestendoorhetcommando"mtr-rwgoogle.com"indecommandlinetegeven.Detweeargumentendiewemeegevenzijn"r"en"w",ditwilzeggendatwevandemtreenreportwillenvanhetresultaatendatweookdevolledigehostnameswillenvanelkehopdiewepasseren.Hetbekomenresultaatzalerzoalsvolgtuitzien:

3.4MTR

44

Page 45: Table of Contentsbeta.eaict.ap.be/wp-content/uploads/2016/06/Scriptie...hierbij aan zaken zoals Latency, packet Loss, bandbreedte, etc. 0.2 Abstract 5 0.3 Het bedrijf Bij aanvang van

zoalsjekanziengenereertmtrenormveelinformatieenisopeerstezichtmisschieneenbeetjeonduidelijk.Hetcommandohierheeft10packetsgestuurdnaardehost"google.com"engeefthierhetresultaatvanweer.alswehierniethetargument"r"meegevenzalmtrgewooncontinupacketsblijvensturen.Hetgenererenvanzoeenreportduurtmeestalmaareenpaarseconden.Hetreportbestaatuiteenaantalhops,inonsgeval13.Hopszijndusderoutersofnodesdiewepasserenomaanonstargettegeraken.Naastdehopszienweooknog7kolommendieverschillendeinformatiegaangeven.Deeerstekolomgaatweergevenhoeveelpacketlosserisbijelkeindividuelehop."snt"gaatbijhoudenhoeveelpakketjeserverstuurdzijngeweest.Devolgendevierkolommendiewezijngaaninformatieweergevenoverdelatencyvandepakketjesenditdoethetinmilliseconden."Last"geeftdelatencyweervanhetlaatstverstuurdepakketje,"best"en"worstgevenweerwatdekorsteenlangstetijdwaren."Average"geeftzoalsdenaamzegtweerwathetgemiddeldewasvoorallepakketjes,dezekolomisdanookdebelangrijkstevande4.Delaatstekolom"stdev"geeftdestandaarddeviatieweer.alsdezestandaarddeviatiehoogis,wiltditzeggendaterveelfluctuatieistussendeverschillendemetingenendatdeconnectieonstabielis.Wewillendusdatdeze"StDev"zolaagmogelijkis.

Nudezetoolispashandigalswewetenhoealdezeinformatiedatmtrgenereertmoeteninterpreteren.wanneerwehetreportvanMTRgaananalyserenkijkenwenaartweezaken:lossenlatency.Alsjebijvoorbeeldpacketlosszietbijéénspecifiekehost,danzaldithoogstwaarschijnlijkkomendoorICMPlimitatie.Alsjedusbijéénhopplotsveelpacketlossziet,maarbijdevolgendehopsziejenietsverkeerd,danisdekansgrootdatwehiertemakenhebbenICMPlimitatie.Voorbeeldhierondergeeftditweer:

3.4MTR

45

Page 46: Table of Contentsbeta.eaict.ap.be/wp-content/uploads/2016/06/Scriptie...hierbij aan zaken zoals Latency, packet Loss, bandbreedte, etc. 0.2 Abstract 5 0.3 Het bedrijf Bij aanvang van

Zoalsjehierkanzienmelddetweedehopplotsdaterpacketlossis,maarderestvandehopsmerkthiernietsvan.DitkomtdoorICMPTlimitatieeninrealiteitiserdushelemaalgeenpacketloss.Hetispaswanneerermeerdereopeenvolgendehopspacketlossgaanmeldendatweonszorgenmoetenmaken,zoalsinhetvolgendevoorbeeld:

Bijdederdehopkanjeziendaterplotspacketlossis,maarookdevolgendehopsgaanmeldendaterpacketlossis.Ditverteltonsdaterweldegelijkeenprobleemistussende2eindpunten.Wezienhierweldatdewaardenhiertussen40%en60%ligt,maarwatisnudeeffectievepacketloss?inditgevalgaanwealtijddewaardenemenvandelaatstehopalsdeeffectievepacketloss(hierdus40%).

Alsweterugevennaardeeersteafbeeldinggaankijken,danzienwenogietsinteressant:

3.4MTR

46

Page 47: Table of Contentsbeta.eaict.ap.be/wp-content/uploads/2016/06/Scriptie...hierbij aan zaken zoals Latency, packet Loss, bandbreedte, etc. 0.2 Abstract 5 0.3 Het bedrijf Bij aanvang van

Wezienhierplotsenkelevraagtekens"???"verschijnenen100%packetloss.Ditwiltnietzeggendaterpacketlossis,wantwekunnennamelijkziendatdevolgendehopsnietmelden.Ditkanhetresultaatzijnvaneen"residentialgateway".

NogeeninteressantvoorbeeldvaneenMTRreportishetvolgende:

Hiergaateenslechtgeconfigureerderouterervoorzorgendatpacketsineenloopgestuurdgaanworden.

VoormeerinformatieoverhoedesyntaxvanMTRjuistwerktkanjealtijddezeLinkvolgen.DitzaljeeenbeterideegevenvanhoejeMTRgebruikt.

3.4MTR

47

Page 48: Table of Contentsbeta.eaict.ap.be/wp-content/uploads/2016/06/Scriptie...hierbij aan zaken zoals Latency, packet Loss, bandbreedte, etc. 0.2 Abstract 5 0.3 Het bedrijf Bij aanvang van

4.BroadbandMonitoringZoalsikinhetdeelvanMeanOpinionScore(MOS)hadvermeld,heeftdebandbreedteeeninvloedopdekwaliteitvaneengesprekenhetaantalsimultanegesprekkenergevoerdkunnenworden.Daaromishetdusbelangrijkdatweditkunnenmonitorenendatweeenmeldingkrijgenvanwanneerdezebandbreedtetelaagis.

Voorlinuxisereenzeerleuketooldiedebandbreedtekantestenvanopderaspberypi,namelijkde"speedtest-cli".Dezetoolwerktviadecommandlineinterfaceeniseenvoudigteinstallerendoorhetcommando"sudoapt-getspeedtest-cli",meerisnietnodigomditwerkendetekrijgen.Nuishethandigomdeinformatiedatdezetestgenereertbijtehoudenendezegrafischweertegeven.Doordezeinformatiegrafischgaanweertegevenishetvooronsveelgemakkelijkerombepaaldepatronentezien.Zokunnenwebijvoorbeeldziendatdebandbreedtetelkensophetzelfdetijdstipplotsnaarbenedengaat.Nuwillenweooknietdatdezetestcontinuloopt.Daaromgaanwegebruikmakenvande"Crontab"omdezetestopeenbepaaldintervaltelatenlopen.Ookgaanweviadezecrontabervoorzorgendatertelkensnadatdespeedtestgebruiktisgeweest,datweviaeenpythonscriptdezedatagaanwegschrijvennaareensqlitedatabase.Ditscriptzorgterookvoordatdedatawordtweggeschrevennaar"plot.ly".Ditiseenwebsitedieervoorzorgtdatdatagrafischkanwordenweergegeven.

Decrontabdewegebruikenzieteralsvolgtuit:

Misschieneventoelichtenwathierjuistgebeurt.Eerstenvooralgaanwehierelkuurdespeedtest-cliaanroepenendezestarten.Vervolgensgaatdedatadathetgenereertwegschrijvennaareenlogfile,inditgevalde"speed.txt"file,dezezieteralsvolgtuit:

Hierwordtgewoonbijgehoudenwatdelatency,downloadenuploadwasvandelaatstetestdieisuitgevoerdgeweest.

Danhettweededeelvandecrontabzal5minutennadeeerstecrontabwordenaangeroepen.Ditishetpythonscriptdatgaatzorgenvoorhetwegschrijvenvandedatanaardesqlitedatabaseendanhetgrafischweergevenervan.HetisookbelangrijkdatweviaditscriptkunnenzienwanneerdewaardevanDownloadofdewaardevanuploadte

4.BroadbandMonitoring

48

Page 49: Table of Contentsbeta.eaict.ap.be/wp-content/uploads/2016/06/Scriptie...hierbij aan zaken zoals Latency, packet Loss, bandbreedte, etc. 0.2 Abstract 5 0.3 Het bedrijf Bij aanvang van

laagis.Daaromgaanweinditscriptviaeen"if-loop"controlerenofdewaardenvanuploadofdownloadondereenbepaaldelimietgaat.WanneerdithetgevaliszaleenAlertgestuurdwordenviamailnaardecontactpersonen.Zoeenmailalertzieterdanalsvolgtuit:

Zoalsjekanziengaatindemaildeinformatiewordenmeegevenvanwatdedownloadenuploadisvanhetnetwerk.Ookzalhetdelinkvandegrafiektoevoegen.delinkmaaktgebruikvaneen"sharedkey".

Ditishetresultaatvandegrafiekdieonzedatavanuitdesqlitegrafischgaatweergeven:

ZoalsjekanzienzaldegrafiekdeDownloadenuploadsnelheidsamenvoegeninééngrafiek.VoordeDownloadkijkenwenaardeschaallinksenvoordeuploadnaarschaalrechts.

Voordeduidelijkheidgaikookevendecodeuitleggendiehiergebruiktwordt.alseerstegaanwealdeimportsdoendienodigzijn:

4.BroadbandMonitoring

49

Page 50: Table of Contentsbeta.eaict.ap.be/wp-content/uploads/2016/06/Scriptie...hierbij aan zaken zoals Latency, packet Loss, bandbreedte, etc. 0.2 Abstract 5 0.3 Het bedrijf Bij aanvang van

Vervolgensgaanweconnectiemakenmetdesqlitedatabaseendegegevensvandespeedtesthiernaarwegschrijven:

NadatdedataisweggeschrevennaardesqlitedatabasegaanwecontroledoenviadeIF-loopomzotezienofdewaardenvandedownloadofuploadtelaagis.AlsdithetgevalisgaanwehiereenAlertvansturenviamail.Dezecodezieteralsvolgtuit(Deblauwelijniswaarhetpaswoordkomt):

Deinformatiediejehiermeegeeftofdemailvanwaarjestuurtkanjeduszelfaanpassenzoalsjezelfwilt.

Hetlaatstedatwegaandoenismeegevenhoewewillendatonzedatawordtweergegevenopde"plot.ly"website.Wegaanhieruiteraardookonzeaccountgegevensmeegevenenwatdenamenvandefilesmoetenzijn:

4.BroadbandMonitoring

50

Page 51: Table of Contentsbeta.eaict.ap.be/wp-content/uploads/2016/06/Scriptie...hierbij aan zaken zoals Latency, packet Loss, bandbreedte, etc. 0.2 Abstract 5 0.3 Het bedrijf Bij aanvang van

4.BroadbandMonitoring

51

Page 52: Table of Contentsbeta.eaict.ap.be/wp-content/uploads/2016/06/Scriptie...hierbij aan zaken zoals Latency, packet Loss, bandbreedte, etc. 0.2 Abstract 5 0.3 Het bedrijf Bij aanvang van

5.ConclusieToenikdestagebegonhadikzogoedalsgeenkennisvanVoiceoverIPendatwaszekertemerken.Deeerstedagenenmisschienzelfswekenwasaldeinformatiedieikkreegi.v.mVoiceoverIPenormoverweldigend,maarheeftmijwelenormveelbijgeleerd.Ikhadgekozenvoordezestageommeertelerenovernetwerkenendatishiertochzekerhetgevalgeweest.Ikwasookblijdatikalsstagiairmeemochtnaarklantenominstallatiestedoen,hierdoorvoeldeikmijtochmeedeelvanhetbedrijfenhetleerdemijtochookwelhoejemet-somsmoeilijke-klantenmoetomgaan.

MijnopdrachtwasomteproberenmetderaspberrydekwaliteitvaneennetwerktemonitrenomzotekijkenofdekwaliteitvanVoiceoverIPgesprekkenhieronderlijdt.Ikwasbegonnenmethetzelfschrijvenvanenkelepythonscripts.Dezezoudendanopderaspberrypidraaieneninformatiebijhoudenoverhetnetwerk.Ikhadinitieelgekozenvoorpythonomdatdetaalmijenormhardinteresseerdeenookomdatikmezelfeenuitdagingwildegeven.Laterbleekechterdathetgezegde"hoogmoeddoetzeldegoed"tocheenvormvanwaarheidbevat.MijnkennisvanPythonbleeknamelijknietgoedgenoegomechtuitgebreidescriptsteschrijvenendatwasvoorditprojecttochechtwelnodig.Ditisderedendatikmijnfocushebverlegdnaarhetwerkenmettoolsenikbenzoincontactgekomenmetsmokepingenditiswaarikveelvanmijntijdhebgespendeerd.Hetleukeaansmokepingisdatwemetdezetoolpacketloss,jitterenlatencykunnenmonitoren.Aldezegegevenswordenookmooigrafischweergegevenviaeengrafischeuserinterface.smokepingbiedtookenormveelcustomization,jekanhetaanpassenzoalsjezelfwiltendezevrijheidisaltijdeenenormemeerwaarde.

InmijndeelvanMeanOpinionScorevermeldikdatzakenzoalsjitter,latency,packetlossenbandbreedtegaatbepalenwatdeuiteindelijkekwaliteitvanjeVoiceoverIPgesprekis.Nudeeerste3hierkunnenwemonitorenmetSmokepingmaarvoorbandbreedtemoestikeenanderemaniergaanzoekenomditbijtehouden.Dithebikverwezenlijktviaeencombinatievaneenbestaandetoolvanlinux(speedtest-cli),eenpythonscriptdatdegegevensgaatwegschrijvennaareensqlitedatabaseendanuiteindelijkgaatdedatagrafischwordenweergegevenviadewebservice"plot.ly".Metntopngkunnenweviaderaspberrypizienwelkeenhoeveeltrafiekerjuistoverhetnetwerkgaat.OokkunnenweMTRgebruikenvanopderaspberryomzoaandiagnosetedoen.

DebelangrijkstezakendiedekwaliteitvaneenVoiceoverIPgesprekkunnenbeïnvloedenkunnenmomenteelgemonitordworden.Hetnadeelmomenteelisweldaterverschillendeapplicatiesopderaspberrypimoetendraaieninplaatsvandatallesviaéénapplicatiegedaanwordt.Albijalkanikterugkijkenopeenzeeraangenameenleerrijkestage.Niet

5.Conclusie

52

Page 53: Table of Contentsbeta.eaict.ap.be/wp-content/uploads/2016/06/Scriptie...hierbij aan zaken zoals Latency, packet Loss, bandbreedte, etc. 0.2 Abstract 5 0.3 Het bedrijf Bij aanvang van

alleswasaltijdevensuccesvol,maarhetbelangrijkstevaneenstage(naarmijnmening)isdatjezoveelmogelijkbijleerdendatishiertochzekerhetgevalgeweest.ikhebnietalleenveelbijgeleerdoptechnischvlak,maarookveeloverhetbedrijfsleven.

5.Conclusie

53