Termen LAN Local Area Network WAN Wide Area Network Node Via verbinding bereikbaar netwerkstation Broadcast Een bericht aan ALLE node’s in het netwerk RAS (Remote Access Service) SLIP (Serial Line IP)(niet gecrypt of gecomprimeerd, dus onveilig) PPP (Point to Point Protocol) (tot provider data gecrypt) PPTP (Point to Point Tunneling Protocol)(gecrypt IN een nieuw IP pakket) VPN (Virtual Private Networking)(verbind je eigen netwerken via internet) Er zijn verschillende soorten netwerken. Tegenwoordig wordt voornamelijk ethernet gebruikt, voorheen ook wel tokenring Ethernet (sitecom’s netwerkkaarten) is goedkoper als tokenring en daardoor breder toepasbaar. Ethernet is ook bekent als IEEE 802.3 standaard en werkt op basis van CSMA/CD: Carrier Sensing Multiple Acces / Collision Detect, hetgeen betekent dat de netwerkkaart luistert of er ‘verkeer’ op de kabel is, zo niet gaat de kaart ‘zenden’. Mocht er een botsing (collision) plaatsvinden, ontvangt de kaart zijn eigen signaal ‘verminkt’ terug. Bij tokenring (IBM - IEEE 802.5) bevinden de netwerkstations zich achter elkaar in een cirkel en zenden om de beurt. De Nodes mogen om de beurt 10ms zenden. Elke volgende node stuurt dit signaal door. Voordelen boven Ethernet: Geen collision (nodes zenden om de beurt) Je weet of je bericht aankomt (anders komt het bij je terug) Je weet of het bericht verminkt is Je weet of de ontvanger bezig is Door vaste zendtijd (10 ms) meer efficientie bij snelheidsvehoging Ik beperk me verder tot ethernet. Schematische voorstelling Stel bovenstaande eens voor met betrekking tot onze e-mail: Outlook (applicatie) gaat verzenden en ontvangen en vraagt Windows (OS) dit te regelen. Windows doet een beroep op de service (Exchange) tot ontvangen van mail. Exchange stuurt een aanvraag naar het TCP/IP protocol (taal) Het TCP/IP protocol maakt hier een begrijpbaar pakketje van, voor de Adapter (driver) De driver stuurt dit pakketje naar de hardware (netwerkkaart). Nu bestaan er 1000-en applicaties en even zoveel soorten hardware, met elk hun eigen driver. Het is onmogelijk om voor elke applicatie/hardware combinatie een protocol te maken welke deze aan elkaar koppelt. Het protocol moet dus aan een standaard voldoen. Deze standaard wordt meestal OSI-model genoemd: (Open Systems Interconnect): Laag 1: Fysieke laag Deze laag is verantwoordelijke voor de besturing van de hardware: Manier van transport, pin layout van de netwerkkaart, PCI of ISA bus etc. Laag 2: Adressering Deze laag voegt logische informatie toe aan de data afkomstig van de fysieke laag, zoals informatie waar de data naar toe moet, welke computer de data verzend, etc. Laag 3: Routering Deze laag voegt het fysieke adres van de ontvanger toe aan het pakket ontvangen van de eerste 2 lagen. (IP-adres vertalen in MAC adres) en kent prioriteiten toe. (sommige dataverzending heeft een hogere prioriteit dan andere. BV e-mail is minder snelheids afhankelijk als video). Daarnaast verzorgd het de juiste route van het pakket. Laag 4: Transport Deze laag is verantwoordelijke voor de controle of het pakket foutloos is ontvangen. Ook ‘hakt’ het te lange pakketten in kleinere pakketjes(segmenten). Ook is deze laag verantwoordelijk voor het ontvangen van dit soort segmenten en voor het weer correct aan elkaar ‘plakken’ tot een geheel pakket. Ook is deze laag verantwoordelijk voor ‘ontvangstbevestiging’. Deze laag is voornamelijk verantwoordelijk voor foutcontrole. Laag 5: Sessie Deze laag definieert hoe 2 computers een verbinding opbouwen, synchroniseren, onderhouden en be-eindigen. Hier wordt “Heb je de data die ik je stuurde, juist ontvangen” geregeld. Laag 6: Presentatie Deze laag zorgt ervoor dat de data welke verzonden wordt er bij de ontvanger hetzelfde uitziet. BV. Wanneer ik een ‘5’ intik op een MAC, ziet dit er in bitjes anders uit als op een Windows PC. Deze laag zorgt ervoor dat wanneer ik een ‘5’ verstuur vanaf een MAC, een windows PC ook een ‘5’ ontvangt. Laag 7: Applicatie Deze laag bepaald hoe de uitwissling plaatsvind tussen het fysieke netwerk en de netwerkapplicatie (zoals bv een e-mail service, file/print service, etc.) Het meest gebruikte netwerk protocol TCP/IP werkt ook volgens het bovenstaande OSI model. Eigenlijk is TCP/IP geen protocol, maar een protocol stack, waarin meerdere protocollen zijn samen gebracht. TCP/IP bestaat uit de volgende protocollen: IP (Internet Protocol) Geeft een netwerkadres aan een node ARP (Adres Resource Protocol) Koppelt een Mac. Adres aan een IP adres ICMP (Internet Control Message Protocol) ‘memo’ berichten voor protocollen onderlingen (bv ping opdracht) UDP (User Datagram Protocol) Spreekt direct een service poort aan. Applicatie wil printen op een netwerkprinter UDP send deze aanvraag direct naar UDP van de (in dit geval) printerserver, welke vervolgens antwoord geeft. Echter vind er geen controle plaats (vandaar de vraag van windows “Is de testpagina goed afgedrukt” aangezien de applicatie dit op geen enkele manier kan weten) TCP (Transmission Control Protocol) Doet hetzelfde als UDP, echter met foutcontrole. Datapakketten kunnen onderweg in de war raken of kwijtraken (Packetloss, kan alleen bij routers plaatsvinden, immers op een goede kabel vind geen verlies plaats) controlle vind plaats via ‘3-way handschake’ 3-way handshake - Ik ga zenden - Ik let op - Ok ik weet dat je op let TCP/IP in verhouding tot OSI model NETBIOS NetBIOS is ontwikkeld door IBM. In een grijs verleden hoorde de netwerkhardware en software (applicatie en driver) bij elkaar. Door deze custom made systemen was het noodzakelijk, wanneer er over gestapt werd naar andere netwerkhardware, men ook andere netwerksoftware moest gebruiken. Men stapte dus niet snel over van hardware. Omdat IBM graag hun netwerkkaarten wilde verkopen, heeft men een algemeen ‘protocol’ ontwikkeld, welke elke applicatie aan elk soort hardware kon koppelen. Feitelijk de voorloper van de netwerkkaart driver. Windowsapplicaties maken nog steeds gebruik van NetBIOS over TCP/IP, als service. Het is zelfs nog rechtstreeks te gebruiken via het NetBeui protocol (netbios extended user interface). WINS Netbeui kan geen nummers (ip-adressen) en namen koppelen op een ander subnet. Dit is op te lossen dmv een WINS service (Windows Internet Naming Service). WINS gebruiken we dus alleen wanneer we met het netbeuiprotocol en meerdere subnetten werken. IP-Routing Wanneer je twee of meer aparte netwerken hebt (stel je bv de situatie sitecom/pirox voor), welke wel fysiek met elkaar verbonden zijn dmv een netwerkkabel, kan je de PC’s in de twee of meer aparte LAN’s toch met elkaar verbinden, zonder tussenkomst van een router. Je kan een PC namelijk ook IP-routing laten doen. Stel 3 netwerken voor, 1 in 10.0.0.0 range, 1 in 20.0.0.0 range en een derde in 30.0.0.0. Zelfs wanneer een PC uit 10.0.0.0 dmv een hub verbonden is met 30.0.0.0, is een verbinding tussen die twee pc’s niet mogelijk zonder IP-Routing. Bovenstaand voorbeeld schematisch weer gegeven: In het schematische voorbeeld zie je de laatste PC uit de 10.0.0.0 range ‘koppelen’ met de eerste PC uit de 20.0.0.0 range. Dit is mogelijk door die PC’s twee IP-adressen te geven. De laatste pc van 10.0.0.0 maakt dan dus deel uit van zowel de 10.0.0.0 range als de 20.0.0.0 range: De PC uit de verschillende segmenten zijn nu nog steeds niet bereikbaar, we moeten in elke PC een routing-tabel opgeven. Dit kunnen we doen in een dos-box met het commando: route add <segment ip> mask <segment mask ip> <gateway ip> In bovenstaand voorbeeld moeten we het volgende opgeven in desbetreffende PC’s: PC 10-1 Route add 20.0.0.0 mask 255.0.0.0 10.0.0.3 Route add 30.0.0.0 mask 255.0.0.0 10.0.0.3 PC 10-2 Route add 20.0.0.0 mask 255.0.0.0 10.0.0.3 Route add 30.0.0.0 mask 255.0.0.0 10.0.0.3 PC 10-3 Route add 30.0.0.0 mask 255.0.0.0 20.0.0.4 (fysiek al verbonden met 10 en 20, dus alleen routeren naar 30) PC 20-1 Route add 10.0.0.0 mask 255.0.0.0 20.0.0.1 Route add 30.0.0.0 mask 255.0.0.0 20.0.0.4 PC 20-2 Route add 10.0.0.0 mask 255.0.0.0 20.0.0.1 Route add 30.0.0.0 mask 255.0.0.0 20.0.0.4 PC 20-3 Route add 10.0.0.0 mask 255.0.0.0 20.0.0.1 (fysiek al verbonden met 20 en 30, dus alleen routeren naar 10) PC 30-1 Route add 10.0.0.0 mask 255.0.0.0 30.0.0.1 Route add 20.0.0.0 mask 255.0.0.0 30.0.0.1 PC 30-2 Route add 10.0.0.0 mask 255.0.0.0 30.0.0.1 Route add 20.0.0.0 mask 255.0.0.0 30.0.0.1 PC 30-3 Route add 10.0.0.0 mask 255.0.0.0 30.0.0.1 Route add 20.0.0.0 mask 255.0.0.0 30.0.0.1 Nu kunnen alle pc’s in elk segment elkaar bereiken Subnetten Het subnet masker bepaalt welk gedeelte van het IP-adres variabel is: 192.168.0.1 255.255.255.0 In dit voorbeeld is door het subnetmasker bepaalt dat de eerste 3 getallen de range bepalen. Het laatste getal is variabel. We kunnen dus 255 PC in de range 192.168.0 gebruiken. Wanneer we meer dan 255 netwerkstations (nodes) willen gebruiken, maskeren we allen de eerste 2 getallen van de range 192.168.0.1 255.255.0.0 Nu kunnen we 255 x 255 PC’s gebruiken in de range 192.168 Voor hele grote netwerken kunnen we alleen het eerste getal maskeren: 192.168.0.1 255.0.0.0 Nu kunnen we totaal 255 x 255 x 255 nodes gebruiken in de range 192 Deze manieren van maskeren heten klasse A, B en C A. 255.0.0.0 B. 255.255.0.0 C. 255.255.255.0 Klasse C is het meest gebruikt. Toch ‘verspillen’ we hier vaak IP-adressen mee. Immers al gebruik je in een klasse C subnet maar 3 nodes, blijven 252 IP adressen ongebruikt. Meestal is dit geen probleem, echter in sommige situaties wel. We kunnen ook binair maskeren: We gaan uit van een range 10.32.0.0 Ip adressen gaan nooit verder dan 255 (8-bits) 10 = 00001010. 32 = 00100000. 0 = 00000000. 0 = 00000000 10.32.0.0 = 00001010.00100000.00000000.00000000 Kortom, alleen de EERSTE 11 bits bepalen de range, we kunnen dus ook volstaan met de eerste 11 bits maskeren: 00001010.00100000.00000000.00000000 11111111.11100000.00000000.00000000 255 224 0 0 10.32.0.0 255.224.0.0 Dit is een 10.32.0.0/11 subnet. In deze range kunnen we tot 10.63. maskeren zonder verlies van IP-adressen: 00001010.00111111.00000000.00000000 10 63 0 0 11111111.11100000.00000000.00000000 255 224 0 0 Troubleshooting Altijd beginnen bij het meest eenvoudige: Kaarten goed geinstalleerd Link lampje brandt Gebruikers fout: RTFM (Read The Fucking Manual) EEOC (Equipment Exceeds Operators Capability) PEBCAK (Problem Exists Between Chair And Keyboard) ID ten T error (ID10T) Ping opdracht: pakket data wordt verstuurd over het netwerk, de ontvangende kaart geeft antwoord. Wanneer een PING opdracht werkt, is hardwarematig alles in orde. Immers een ping opdracht vind plaats in het ICMP protocol van het TCP/IP stack, BOVEN de fysieke lagen van het OSI model. TTL gegevens in een ping opdracht staan voor het aantal gepasseerde routers. Je kan je voorstellen dat wanneer 2 routers per ongeluk naar elkaar zouden verwijzen, de ping opdracht eeuwig in een virtueel ping-pong spel gevangen zou komen. Om dit te voorkomen telt TTL bij elke router 1 af. TTL begint op 128, en wanneer 0 bereikt wordt zonder op de plaats van de bestemming te zijn aangekomen krijgen we een ‘time-out’ Tracert opdracht: het ‘volgen’ van een ping opdracht. Vooral handig wanneer bepaalde pagina’s op internet niet openen. Tracert geeft namelijk aan over welke ‘knooppunten’ een pakket gaat. Er is dus terug te vinden welke router als laatste succesvol bezocht werd. Wanneer het laatste IP-adres zich NIET lokaal bevind, is weer duidelijk dat de hardware prima functioneert ARP opdracht: wie heb ik gepingt en door wie ben ik gepingt