|
Dit is slechts de inleiding, voor de volledig tutorial lees de PDF of DOC versie. Deze tutorial zal een overzicht geven van de TCP/ IP stack in het algemeen en IP nummering in het bijzonder. Er zal worden ingegaan op zaken als classful en classless IP adressering, subnetting, VLSM, DNS en routering. Alle screenshots en datagrammen die zijn gesniffed zijn gebaseerd op communicatie tussen een computer met Windows 2000 Advanced Server en een computer met Windows 2000 Professional
enerzijds, communicatie met computers op het Internet anderzijds. Dumps zijn gemaakt met de ingebouwde network sniffer van Advanced Server en met windump.exe. Grafische ondersteuning
van uitgewerkte voorbeelden van subnetting zullen worden gegeven aan de hand van de IP Subnet Calculator van WildPackets, te downloaden van de volgende URL: Dit programma zal echter alleen als ondersteuning worden gebruikt om de handberekende resultaten toe te lichten. Begrip gaat boven het intoetsen van wat nummers. Veel leesplezier toegewenst. |
|
Als mensen met elkaar willen communiceren, dan kunnen ze dat alleen als ze dezelfde communicatieregels en taal gebruiken (al dan niet via een derde persoon die voor de vertaling zorgt). Hetzelfde geldt voor computers: computers begrijpen elkaar alleen als ze dezelfde communicatieregels gebruiken en dezelfde taal gebruiken (of als er hardware aanwezig is die de communicatieregels en taal die beide partijen hanteren succesvol kan vertalen). Neem als voorbeeld een telefoongesprek tussen twee mensen. Hierbij worden meestal de volgende afspraken gehanteerd: Alhoewel de vergelijking met menselijke communicatie natuurlijk vastloopt, kan een verzameling vergelijkbare stappen worden onderscheiden bij communicatie tussen computers. Er wordt een verbinding opgezet, data uitwisseling vindt plaats, er wordt alleen data verstuurd als de andere partij niet stuurt, en de verbinding wordt aan het einde van de sessie weer verbroken. De taken die komen kijken bij het mogelijk maken van communicatie tussen computers, zoals het opzetten, coördineren en verbreken van de verbinding, het adresseren van de te versturen data etc., kunnen in aparte en onafhankelijke modulen worden ondergebracht. De functionaliteit van zo'n module wordt geïmplementeerd via een gestandaardiseerde verzameling regels en wordt met een duur woord een protocol genoemd. Nu zijn er, net zoals bij menselijke communicatie, verschillende protocollen. Zo nemen de mensen in andere landen de telefoon aan met "Ja?", of zeggen ze hun eigen telefoonnummer. Die mensen gebruiken dus een ander protocol. |
|
Om een goed beeld te krijgen van de communicatie protocollen die worden gebruikt door computers, is door de International Organisation for Standardization (ISO) een referentie model opgezet, waarbinnen protocollen een specifieke plaats krijgen al naar gelang de functie die het protocol uitvoert. Niet alle protocollen doen immers hetzelfde. De verzameling protocollen die is geïmplementeerd in een bepaald systeem wordt ook wel de protocol stack of protocol suite genoemd. De lagen waaruit het OSI model bestaat (en dus de protocollen in iedere laag) zijn onafhankelijk van zowel elkaar als het besturingssysteem waarop het model is geïmplementeerd. Iedere laag communiceert dus alleen met de laag direct boven of direct onder hem (uitzonderingen daargelaten). Ook maak het dus niet uit of de installatie op Linux zijn werk doet, of Windows XP. Door deze modulaire structuur wordt voorzien in verminderde complexiteit, een betere onderhoudbaarheid en standaardisatie waar iedereen gebruik van kan maken. De lagen die worden onderscheiden in het OSI model zijn de volgende: Aangezien weinig mensen de volgorde en de namen van deze lagen kunnen onthouden, is er een acroniem voor verzonnen, waarbij de eerste letter van het volgende woord overeenkomt met de bijbehorende laag (in het Engels, dus de laatste letter is niet correct) in het OSI model: All People Seem To Need Data ProcessingNu we weten waar het OSI model uit is opgebouwd, kunnen we gaan kijken naar de datagrammen zoals die over het netwerk vliegen. Stel je voor dat je een E-mail wilt versturen. De applicatie laag (het E-mail programma) stuurt de data van bovenaf door de protocol stack. Iedere laag voegt bepaalde controle informatie toe aan het ontvangen pakketje, en stuurt het nieuw gemaakte pakketje door naar de direct onderliggende laag. Deze laag ontvangt het pakketje van de bovenliggende laag, voegt er zijn eigen controle informatie aan toe, en stuurt het resultaat weer een laag naar beneden etc. Dit proces herhaalt zich net zolang totdat het pakketje uiteindelijk bij de fysieke laag uitkomt (er komen natuurlijk meer dingen bij kijken, maar dat is hier niet van belang). Als dit gebeurt, wordt het pakketje (in officiële termen spreekt men nu van een frame) vertaald in een rij enen en nullen, wordt het op het netwerk gezet en wordt verzonden. Het proces dat hier is beschreven (toevoegen van "eigen" informatie in de vorm van een header en het doorsturen naar een volgende laag) wordt encapsulation genoemd. Schematisch ziet dit er als volgt uit[1]: [1] Zoals wellicht duidelijk is zijn de headers niet in de correcte grootte afgebeeld. Headers op iedere laag verschillen van grootte, inhoud en structuur.
Dit was slechts de inleiding, ga nu verder met de PDF of DOC versie. |