Wanneer een applicatie traag is, kan het meten in netwerkprotocollen uitkomst bieden. Op deze manier verkrijg je namelijk inzicht in datastromen. Hier zijn heel wat tools voor te vinden. De meest bekende tool is Wireshark. In deze blog zal ik een aantal tips geven op het gebied van meten in netwerkprotocollen. Omdat Wireshark een aantal tekortkomingen heeft, bied ik ook een alternatief: de Observer Protocol Analyzer.
Waarom meten?
Het meten met Wireshark of meer geavanceerde tools is erg nuttig om inzicht te verkrijgen in datastromen. Hierdoor kan je onzichtbare fouten ontdekken en dus sneller en effectiever oorzaken achterhalen waarom een applicatie bijvoorbeeld traag is of waar de applicatie op wacht.
Een protocol bestaat uit data maar ook uit technische management informatie. Met deze informatie kan je veel. Je kan bijvoorbeeld bepalen of de server te druk is. Of dat de informatie niet ontvangen wordt en meerdere keren verstuurd dient te worden. Er zijn protocollen die heel gedetailleerd informatie geven over fouten. Deze ga je echter niet vinden in logfiles van Windows, switches of applicatie.
De volgende fouten kan je ontdekken wanneer je gaat meten in protocollen:
- Waar zit de traagheid? Zit het in de serverkant, werkstation of netwerk?
- Zit het in de applicatie? Of zit het in out of specs werkende hardware?
- Betreft het applicatie fouten? Met een protocol analyzer kan je letterlijk elke bit en byte zien en wat er goed en fout gaat. Het voordeel van Observer is dat je bijvoorbeeld met één klik een overzicht kan genereren van de fouten die aanwezig zijn. Hiermee heb je overzicht voor jezelf of voor de specialist.
- Zijn er netwerkfouten? Quality of Service problemen kunnen aangetoond worden of MTU MSS waardes. Loopt de routering van het verkeer zoals het geconfigureerd is? In de praktijk zien we vaak dat dit niet zo is.
- Communicatie fouten van Operating systems. Met een Protocol Analyzer kan je aantonen hoe Windows het verkeer bijvoorbeeld afwikkelt. En wat zijn de buffergroottes van Microsoft richting het netwerk en applicaties? Tevens kan je vaststellen of er wachtrijen zijn.
Wat is een netwerkprotocol?
Om te beginnen de definitie van een netwerkprotocol. Een netwerkprotocol is een protocol met een afgesproken communicatiewijze voor netwerkcomponenten. Door het toepassen van een standaard protocol kunnen componenten van verschillende leveranciers of fabrikanten met elkaar gegevens uitwisselen.
Zonder afspraken over standaarden is communicatie tussen zender en ontvanger niet mogelijk. De weg tussen de zender en de ontvanger bestaat uit een keten van hardware en software. Het is daarom belangrijk dat dezelfde taal wordt gesproken, die taal noemen we een protocol genoemd. Er zijn leverancier afhankelijke protocollen maar vele netwerkprotocollen zijn standaardprotocollen zoals het TCP en IP protocol.
Hoe werkt een protocol?
Simpel gezegd werkt een protocol met een zender en de ontvanger. Op beide systemen zal het protocol ingesteld moeten zijn en moeten werken. In de basis zal er altijd een startfase, een data overdracht of een taak en een afsluitingsfase zijn. In de hedendaagse IT-omgeving zijn de volgende protocollen actief: een ethernet protocol, een TCP/IP protocol en een applicatie protocol.
Een protocol is actief op een OSI laag. Het OSI model kent 7 lagen. Zie https://nl.wikipedia.org/wiki/OSI-model. Tussen deze lagen vindt er overdracht plaats van data of een taak. Juist deze uitwisseling is soms een grote uitdaging waardoor performance problemen kunnen ontstaan.
Problemen oplossen met protocollen
Het lezen van protocollen levert veel informatie op. Niet alleen kwantiteit van de overdacht aan data maar zeker ook inhoudelijke informatie over afwijkingen en storingen. Op het wereldwijde web zijn veel gratis tools te vinden voor het meten van protocollen. De kunst is om juist te meten en alle gegevens in de protocollen voor handen te hebben. Het missen van datapakketjes is niet wenselijk. Een goede diagnose stellen is dan niet mogelijk. Ik zelf gebruik daarom Observer, maar soms ook Wireshark.
Wireshark
Wireshark is waarschijnlijk de meest bekende tool. Deze Protocol Analyzer heeft als grote voordeel dat het gratis is. De datapakketjes staan onder elkaar en door filters toe te passen kan je analyses maken tussen zender en ontvanger. Het nadeel is dat het vinden van problemen in protocollen veel kennis vergt van Wireshark en ook diepgaande technische kennis van protocollen. Om een goede diagnose te kunnen stellen met Wireshark, moet je dus veel vlieguren met deze tool maken. De praktijk leert dat het vinden van de echte oorzaak van het probleem een grote uitdaging is en vaak heel veel tijd kost.
Wireshark informatie, analyse betekend zoeken in pakketjes zonder helicoperoverzicht.
Observer Protocol Analyzer
Met de Observer toolset verkrijg je in basis veel meer informatie uit de metingen. De nauwkeurigheid van de metingen is veel hoger doordat er geheugen gereserveerd wordt in bijvoorbeeld Windows. Hierdoor lopen computers niet vast bij het meten en analyseren van data. Met de rechtermuis knop tover je in enkele handelingen de juiste informatie uit de hoge hoed voor jou of je collega’s. Eenvoudig op deze manier een overzicht met fouten genereren, bespaart heel veel tijd. Nadeel van de Observer Protocol Analyzer is dat deze niet gratis is. Bij regelmatig gebruik verdient de tool zich echter eenvoudig en snel terug.
Observer Expert scherm met overzicht. Waar is het traag, wat gaat er fout of goed. Inzoomen is een kwestie van rechtermuis klik.
Starten met meten
Als je nog niet meet, raad ik aan om met een eenvoudige gratis tool te beginnen. Wanneer er dagelijks problemen zijn, is een meer geavanceerde tool op zijn plaats voorzien van een Expert systeem dat meehelpt in het analyseren van duizenden datapakketjes. Diagnoses worden dan onderbouwd met grafieken, oorzaken en stappenplannen.
Succes met de metingen en het analyseren van de protocollen.
Wil je hier meer over weten, bel ons gerust!