Professional Documents
Culture Documents
Data Net
Data Net
Data Net
Paul Cobbaut
Datacommunicatie en netwerken
Paul Cobbaut lt-0.9 Published Sun Feb 13 00:01:56 2011
Abstract
Deze cursus wordt gemaakt als leidraad voor de studenten die de module "Datacommunicatie en Netwerken" volgen aan het cvotsm in Mechelen. Deze cursus wordt op vrijwillige basis gemaakt, en bevat misschien niet de volledige leerstof. Vergeet dus niet te noteren tijdens de les.
Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the section entitled 'GNU Free Documentation License'. Copyright 2010-2011 Paul Cobbaut paul.cobbaut@gmail.com - paulc@cvotsm-leren.be XKCD images (c) http://xkcd.com/license.html
Table of Contents
1. inleiding .............................................................................................................. 1 1.1. kennismaking ........................................................................................... 1 1.2. terminologiebad ........................................................................................ 9 1.3. operating system .................................................................................... 10 1.4. geschiedenis internet .............................................................................. 13 2. terminologie ..................................................................................................... 19 2.1. bit ........................................................................................................... 19 2.2. byte ......................................................................................................... 19 2.3. kilobyte ................................................................................................... 20 2.4. zender en ontvangers ............................................................................. 23 2.5. lan-wan-man ........................................................................................... 25 2.6. topologie van een netwerk ..................................................................... 27 2.7. telefoon en data ...................................................................................... 29 2.8. oefening .................................................................................................. 31 3. derde les ........................................................................................................... 32 3.1. OSI model .............................................................................................. 32 3.2. OSI-model versus DoD .......................................................................... 35 3.3. sniffer ..................................................................................................... 36 3.4. op de computer ...................................................................................... 38 3.5. toestellen en lagen ................................................................................. 40 4. vierde les .......................................................................................................... 43 4.1. onze data op reis .................................................................................... 43 4.2. onze data onderweg ............................................................................... 45 4.3. bestemming bereikt ................................................................................ 46 4.4. er komt antwoord ................................................................................... 46 4.5. lagen oefening ........................................................................................ 48 4.6. tcp en udp .............................................................................................. 49 4.7. ping en arp ............................................................................................. 51 4.8. packetjes ................................................................................................. 52 5. weergave getallen ............................................................................................ 53 5.1. leren tellen ............................................................................................. 53 5.2. veel voorkomende getallen .................................................................... 57 5.3. machten van twee .................................................................................. 57 6. ip-adressen ....................................................................................................... 59 6.1. oefening .................................................................................................. 59 6.2. ip-adressen .............................................................................................. 61 6.3. private en publieke adressen .................................................................. 61 6.4. ip-adres klassen ...................................................................................... 63 6.5. oefening ip-adres klassen ....................................................................... 63 6.6. default subnet masks .............................................................................. 64 6.7. oefening default subnet masks ............................................................... 64 6.8. network id en host id ............................................................................. 65 6.9. oefening network id en host id .............................................................. 66 6.10. lokale computer of niet ? ..................................................................... 67 6.11. oefening lokale computer of niet? ....................................................... 68 6.12. subnet notatie ....................................................................................... 69
iii
Datacommunicatie en netwerken 6.13. computers in een netwerk tellen .......................................................... 69 7. 4 miljard ip-adressen ...................................................................................... 70 7.1. te weinig ip-adressen ? ........................................................................... 70 7.2. ip-adressen verdelen ............................................................................... 70 7.3. probleem voor de routing tables ............................................................ 70 7.4. Is nat een oplossing ? ............................................................................. 71 8. van subnet naar supernet ............................................................................... 72 8.1. binaire subnets ....................................................................................... 72 8.2. supernetting ............................................................................................ 73 8.3. binaire subnets decimaal voorstellen ..................................................... 75 8.4. 32 binaire subnet masks ......................................................................... 76 8.5. aantal computers .................................................................................... 77 8.6. network id en host id vinden ................................................................. 78 8.7. voorbeeldoefening binaire subnets ......................................................... 79 8.8. oefeningen binaire subnets ..................................................................... 81 8.9. zelfde of ander netwerk ? ....................................................................... 83 8.10. subnetworks .......................................................................................... 84 9. toets ................................................................................................................... 85 9.1. tussentijdse toets 20101010 ................................................................... 85 9.2. antwoorden toets 20101010 ................................................................... 89 10. inleiding tot routers ...................................................................................... 91 10.1. router tussen twee netwerken ............................................................... 91 10.2. twee routers met elkaar verbinden ....................................................... 95 10.3. lokale routing tables ............................................................................. 96 10.4. nat ......................................................................................................... 97 10.5. dnat ....................................................................................................... 98 10.6. dnat en internet .................................................................................... 99 10.7. port forwarding en pat ......................................................................... 99 10.8. snat ..................................................................................................... 100 10.9. snat en internet ................................................................................... 100 11. naamresolutie en DNS ................................................................................ 101 11.1. inleiding .............................................................................................. 101 11.2. logische DNS structuur ...................................................................... 104 11.3. DNS caching ...................................................................................... 105 11.4. praktijkvoorbeeld ............................................................................... 106 11.5. DNS records ....................................................................................... 106 11.6. DNS reverse lookup ........................................................................... 106 11.7. zone .................................................................................................... 106 11.8. DNS server software .......................................................................... 107 11.9. name resolving ................................................................................... 107 11.10. DNS IDN ......................................................................................... 107 11.11. Domeinnamen registreren ................................................................ 107 11.12. DNS round robin .............................................................................. 107 11.13. tekening DNS ................................................................................... 107 11.14. tekening DNS en routerke ............................................................... 110 11.15. screenshots DNS in actie ................................................................. 111 12. negende les ................................................................................................... 124 12.1. oefeningen DNS ................................................................................. 124
iv
Datacommunicatie en netwerken 12.2. demo DNS .......................................................................................... 12.3. oefening DHCP .................................................................................. 12.4. demo DHCP ....................................................................................... tiende les ...................................................................................................... 13.1. extra oefeningen ................................................................................. Test 9 en 10 november ............................................................................... 14.1. de vragen ............................................................................................ 14.2. de antwoorden .................................................................................... modems ........................................................................................................ 15.1. over modems ...................................................................................... 15.2. over DSL ............................................................................................ 15.3. over kabelmodems ............................................................................. 15.4. over bandbreedte ................................................................................ draadloze netwerken ................................................................................... 16.1. wireless ............................................................................................... 16.2. frequentie ............................................................................................ 16.3. spectrum ............................................................................................. 16.4. amplitude ............................................................................................ 16.5. fase ..................................................................................................... 16.6. golflengte ............................................................................................ 16.7. IEEE 802.11 ....................................................................................... 16.8. WiMAX .............................................................................................. 16.9. Wi-fi ................................................................................................... 16.10. Access Point ..................................................................................... 16.11. hotspot .............................................................................................. 16.12. draadloze beveiliging ....................................................................... 16.13. wardriving ........................................................................................ 16.14. bluetooth ........................................................................................... 16.15. Denial of Service ............................................................................. praktijk netwerk bouwen ........................................................................... 17.1. hubs .................................................................................................... 17.2. switches .............................................................................................. 17.3. routers ................................................................................................. 17.4. kabels ................................................................................................. 17.5. demo console switch .......................................................................... 17.6. stp ....................................................................................................... demo dhcp .................................................................................................... 18.1. inleiding .............................................................................................. 18.2. vier broadcasts ................................................................................... 18.3. dhcp server op windows .................................................................... 18.4. tekening DHCP .................................................................................. 18.5. dhcp server op Linux ......................................................................... 18.6. dhcp client .......................................................................................... demo webserver ........................................................................................... 19.1. inleiding .............................................................................................. 19.2. simpele websites ................................................................................ 19.3. de webservers ..................................................................................... 19.4. tekening http ...................................................................................... 126 126 126 127 127 133 133 136 138 138 139 142 142 144 144 144 145 145 145 146 146 147 148 148 148 148 149 150 150 151 151 151 151 151 153 155 159 159 159 160 162 164 164 166 166 166 168 169
13. 14.
15.
16.
17.
18.
19.
Datacommunicatie en netwerken 20. e-mail ............................................................................................................ 20.1. tekening pop3 ..................................................................................... 20.2. tekening smtp (deel 1) ....................................................................... 20.3. tekening smtp (deel 2) ....................................................................... A. GNU FDL ...................................................................................................... Index .................................................................................................................... 171 171 172 173 175 176
vi
List of Tables
1.1. ms-dos vs windows nt ................................................................................... 10 2.1. de waarden van een bit .................................................................................. 19 2.2. de byte en zijn verwanten .............................................................................. 20 2.3. veelvouden van 1000 of 1024 ....................................................................... 21 2.4. megabytes en meer ........................................................................................ 22 2.5. mebibytes en meer ......................................................................................... 22 2.6. isdn in kb en kB ............................................................................................ 30 2.7. weinig data over netwerken ........................................................................... 31 2.8. veel data over netwerken ............................................................................... 31 3.1. OSI model ...................................................................................................... 32 3.2. DoD of tcp/ip model ...................................................................................... 35 5.1. talstelsels naast elkaar .................................................................................... 54 5.2. oefening talstelsels ......................................................................................... 56 5.3. machten van twee .......................................................................................... 57 5.4. grote machten van twee ................................................................................. 58 6.1. private ip-adressen ......................................................................................... 61 6.2. oefening gereserveerde ip-adressen ............................................................... 62 6.3. ip address classes ........................................................................................... 63 6.4. oefening classful ip addressing ...................................................................... 63 6.5. default subnet mask ....................................................................................... 64 6.6. oefening default subnet masks ....................................................................... 64 6.7. network id en host id ..................................................................................... 65 6.8. local or remote computer? ............................................................................. 67 6.9. cidr notatie ..................................................................................................... 69 6.10. aantal computers in een subnet .................................................................... 69 8.1. binary classful subnets ................................................................................... 72 8.2. max computers classful subnets ..................................................................... 72 8.3. /24 netwerk in de klas .................................................................................... 73 8.4. /25 netwerk in de klas .................................................................................... 73 8.5. /25 binair bekijken ......................................................................................... 74 8.6. /26 binair bekijken ......................................................................................... 74 8.7. decimale waarde binaire subnet bytes ........................................................... 75 8.8. 31 binaire subnets .......................................................................................... 76 8.9. aantal computers in binaire subnets ............................................................... 77 8.10. oefening 192.168.234.234/17 ....................................................................... 79 8.11. oplossing 192.168.234.234/17 ..................................................................... 79 8.12. andere helft van 192.168.234.234/17 ........................................................... 80 8.13. oplossing andere helft 192.168.234.234/17 ................................................. 80 8.14. lege tabel 168.186.240.192/11 ..................................................................... 81 8.15. lege tabel 192.168.248.234/17 ..................................................................... 81 8.16. lege tabel 168.190.248.199/27 ..................................................................... 82 8.17. oplossing 168.186.240.192/11 ..................................................................... 83 8.18. oplossing 192.168.248.234/17 ..................................................................... 83 8.19. oplossing 168.190.248.199/27 ..................................................................... 83 8.20. echt supernetten ........................................................................................... 84 14.1. TCP of UDP .............................................................................................. 135
vii
viii
Chapter 1. inleiding
Table of Contents
1.1. 1.2. 1.3. 1.4. kennismaking ................................................................................................... 1 terminologiebad ................................................................................................ 9 operating system ............................................................................................ 10 geschiedenis internet ...................................................................................... 13
1.1. kennismaking
1.1.1. voorstelling leerlingen
1. Wie ben je ? 2. Welke informaticakennis heb je al ? 3. Welke netwerkenkennis heb je al ? 4. Waarom ben je hier ? 5. Welke onderwerpen wil je in deze cursus ?
inleiding
systeembeheer: 1994 tot 1998: IBM OS/2 1997 tot 2005: MS Windows NT/2000/2003 sinds 2000: Linux/RHEL/Debian sinds 2003: Solaris 9/10
Alle vragen i.v.m. systeembeheer en netwerk (dns, dhcp, tcp/ip, internet) zou ik moeten kunnen beantwoorden!
inleiding
inleiding
Leerinhouden: Voorbeelden aan de hand van de TCP/IP protocolsuite. -Adressering (IP-adressen): -IP-adres, netmask, netwerkadres, broadcast-adres -sub- en supernetting -Werking van de TCP en IP protocollen. -packetswitching: IP -virtual circuitswitching: TCP Leerinhouden: Datacommunicatie in de praktijk. -Het OSI-model in de praktijk -ontstaan en evolutie van Internet -verschil internet, extranet en intranet -netwerkbeveiliging -servers en werkstations Methodologische wenken: Deze module dient een inleiding te vormen in de datacommunicatiewereld. In de modules Netwerkbeheer 1 en 2 (A.10 - N.2) wordt de opgedane kennis aan de praktijk getoetst. Het is echter niet de bedoeling een zuiver theoretische cursus te geven. Praktijkvoorbeelden kunnen veel duidelijk maken: bijvoorbeeld -traces van een packetsniffer -verschillende interfaces
inleiding
1.1.4. boeken
Dit leerplan wordt bijna volledig besproken in het boek computernetwerken van Andrew S. Tanenbaum ISBN 90 395 0557 8 (in het Engels: Computer Networks, ISBN 0-13-066102-3). Ook Cisco heeft boeken (ter voorbereiding van hun CCNA examens) die de materie uit het leerplan in detail bespreken. Laat me ook nog Communications Systems and Networks vermelden van Ray Horak (ISBN 0 7645 7522 8), ook dit boek behandelt grotendeels de materie uit het leerplan.
inleiding
1.1.5. wikipedia
De meeste begrippen die in deze cursus besproken worden, worden ook vrij goed uitgelegd op wikipedia. Wikipedia is niet altijd betrouwbaar, maar dan gaat het vooral over informatie betreffende personen, bedrijven, regeringen, politiek, religie, economie enz. Wat betreft informatica en computernetwerken, is wikipedia over het algemeen correct. De Engelstalige wikipedia is meestal wel vollediger dan de Nederlandstalige.
inleiding
1.2. terminologiebad
Er gaat een blad rond, met daarop de volgende woorden. Iedere student kiest een woord en legt dit uit aan de klas. Andere studenten mogen op deze uitleg reageren.
802.11 arpanet broadcast bsd dhcp dns e-mail ethernet http hub internet intranet ip-adres ipsec isdn kilobyte lan - wan layer 2 switch leerplan linux loopback mac modem multicast nic operating system osi-model packet switching peer-to-peer pop3 port 80 rfc rfc 2131 router server smtp sniffer solaris T1 unicast unix vpn wep wikipedia windows nt zeroconf
inleiding
1.3.1. besturingssysteem
Het Engelse woord operating system wordt in het Nederlands vertaald als besturingssysteem. Een besturingssysteem is zelf software, geschreven door programmeurs. Meer informatie vindt u op wikipedia http://nl.wikipedia.org/wiki/Besturingssysteem. Een besturingssysteem bestaat uit een kernel omringd door applicaties en gegevens. Deze kernel is software die geschreven is om de hardware te besturen, het geheugen te beheren en applicaties te beheren. Onder hardware verstaan we toestellen zoals een toetsenbord, een scherm, een muis, maar ook interne onderdelen zoals cpu's, pci devices, scsi en ide harde schijven en nog veel meer. Moderne kernels zoals Linux, Solaris en NT (Windows) herkennen heel wat hardware en schermen die volledig af van applicaties en gebruikers.
De ms-dos lijn eindigde met windows me, maar deze versie werd door bijna iedereen snel van de computer afgegooid en weer vervangen door het immens populaire windows 98. 10
inleiding Wat de NT lijn betreft is windows xp nog steeds veruit de meest gebruikte, meer dan dubbel zoveel als windows vista en windows 7 tesamen. IBM en Microsoft werkten in de jaren tachtig samen aan OS/2. Toen IBM werkte aan OS/2 2.0 en Microsoft bezig was met OS/2 versie 3.00 eindigde de samenwerking. Even later in 1993 bracht Microsoft OS/2 3.00 uit onder de naam Windows NT 3.1 (gelijklopend met Windows 3.1). Enkele links:
http://nl.wikipedia.org/wiki/OS/2 http://nl.wikipedia.org/wiki/Windows http://nl.wikipedia.org/wiki/MS-DOS http://www.microsoft.com
1.3.3. Unix
Unix werd in 1969 ontwikkeld door Dennis Ritchie, Ken Thompson en Douglas McIlroy, onder de naam UNICS (Uniplexed Information and Computing System) in de befaamde Bell Labs. In de jaren tachtig maakte zowat elke grote firma zijn eigen versie van Unix (IBM AIX, HP HP-UX, Sun SunOS (later Solaris), Microsoft Xenix, etc). Vanaf midden jaren 70 was er een dispuut met de universitaire ontwikkelaars uit California. Deze hippies noemden hun Unix BSD, wat we vandaag nog terugvinden in OpenBSD, FreeBSD en NetBSD (ook MacOSX en Solaris hebben BSD-wortels). Wil je meer weten, google dan gerust op 'Unix history' of surf naar wikipedia of lees de inleiding over Unix op www.linux-training.be. 11
inleiding
1.3.4. GNU/Linux
Sinds 1991 is er Linux, of zeggen we beter GNU/Linux ? Het verhaal van Linux begint eigenlijk in de jaren 80 bij Richard Stallman. Hij vond het niet zo leuk dat de open samenwerking van begin jaren 70 in de Unix wereld moest plaats ruimen voor een gesloten 'ieder voor zich' mentaliteit. Hij wou een operating system dat vrij was : vrij om te gebruiken, vrij om te bestuderen, vrij om te wijzigen en vrij om te kopiren. Het duurde tot de winter van 1991, toen Linus Torvalds de Linux kernel schreef, vooraleer GNU/Linux geboren was. Richard schreef in de jaren 80 een licentie genaamd GNU GPL die bepaalt dat je software mag kopiren zoveel je maar wil. Je mag GPL software ook verkopen, maar de persoon die dat koopt krijgt dezelfde rechten. Je mag ook sleutelen aan de broncode van gpl software, op voorwaarde dat je jouw aanpassingen ook onder de gpl licentie naar buiten brengt. Deze software noemt men ook wel eens vrije software, dit in tegenstelling tot gesloten software zoals Microsoft producten (waar je geen broncode krijgt, niets mag kopiren en niets mag aanpassen aan de software). Meer weten hierover (strikt genomen behoort het niet tot het leerplan), surf dan naar:
http://nl.wikipedia.org/wiki/Vrije_software http://nl.wikipedia.org/wiki/Richard_M._Stallman http://nl.wikipedia.org/wiki/GNU_General_Public_License http://people.mech.kuleuven.be/~bruyninc/ictvisie.html http://nl.wikipedia.org/wiki/Linux
12
inleiding
Het arpanet was het eerste netwerk van computers dat gebruik maakte van packet switching technologie. Eind 1969 waren vier computers verbonden op dit internetwork. Het arpanet groeide tot honderden verbonden computers in 1983 (toen werd het opgesplitst in het publieke arpanet en het militaire milnet).
inleiding Beknopte uitleg op de Nederlandstalige wikipedia pagina, uitgebreide uitleg in het Engels.
http://nl.wikipedia.org/wiki/Packet_switching http://en.wikipedia.org/wiki/Packet_switching
1.4.3. jaren 70
De jaren 70 zagen ook de creatie van het X.25 netwerk, fidonet, compuserve, bulletin board systems en uucp. Al deze netwerken zijn vandaag volledig opgegaan in het internet en tcp/ip.
1.4.4. tcp/ip
De jaren 70 waren ook de start voor het tcp/ip protocol. Deze protocol stack zullen we later uitgebreid bespreken. Vandaag gebruikt 99 procent van het internet ipv4 (Internet Protocol versie 4). De opvolger ipv6 is klaar, maar breekt nauwelijks door.
inleiding Terzijde ook even vermelden dat in de jaren 80 zowat elke grote computerfirma begon met een eigen protocol ; IBM met SNA, Novell met IPX/SPX, Microsoft met NetBEUI, Apple met Appletalk en Banyan met Vines. Maar al deze protocols werden van de kaart geveegd door het oudere en open tcp/ip.
1.4.6. e-mail
Reeds in 1965 bestond er e-mail op mainframe computers. Het @ teken dateert uit 1971. In de jaren 70 kon je e-mailen tussen verschillende netwerken zoals arpanet, vnet(ibm), bitnet, nsfnet en alle computers die uucp of ncp spraken. Sinds 1982 bestaat e-mail als SMTP (Simple Mail Transfer Protocol), gedefineerd oorspronkelijk in rfc 821 (later meermaals uitgebreid).
http://nl.wikipedia.org/wiki/SMTP http://en.wikipedia.org/wiki/SMTP http://www.rfc-editor.org/rfc/rfc821.txt http://www.rfc-editor.org/rfc/rfc5321.txt
1.4.7. rfc
Sinds 1969 maakt men voor elk internet protocol een rfc (Request for Comments). Een rfc is een (ascii) tekstbestand en bepaalt de werking van alle protocols op het internet. Deze tekstbestanden zijn vrij te raadplegen en te implementeren. Enkele voorbeelden van protocols die bepaald zijn door een rfc zijn tcp, ip, ftp, udp, dns, smtp, ntp, dhcp, http en duizenden anderen. Op www.rfc-editor.org vind je alle rfc's. Je kan ook rechtstreeks naar de tekstversie gaan als je de rfc nummer kent (zoals 2131 voor dhcp) via :
http://www.rfc-editor.org/rfc/rfc2131.txt
Elke rfc bevat o.a. een datum, opgepast voor humor als je 1 april ziet.
1.4.8. www
Tim Berners Lee vond dat gopher en ftp niet volstonden, dus kwam hij in 1989 op de proppen met het World Wide Web. Toch was het nog wachten tot de release van eerst de mosaic browser en nadien netscape navigator alvorens dit www populair werd. In de jaren 1996-1997 surft 90 procent van de internetbevolking met Netscape Navigator op het world wide web. In 1995 kwam Spyglass, Inc met de internet explorer browser op de markt. Deze browser werkte op Windows 95 (zat in het Plus pack) en werd nadien gebundeld met Windows 98. Tussen 2001 en 2005 surft meer dan 90 procent van de internetbevolking met de blauwe e van Internet Explorer 6 op het world wide web. 15
inleiding Na jaren van Netscape dominantie en jaren van Internet Explorer 6 dominantie is de browser wereld nu verdeeld. De cijfers voor 2010 volgens NetApplications, W3C en StatCounter:
NA Internet Explorer 6 : 16% Internet Explorer 7 : 10% Internet Explorer 8 : 28% Moilla Firefox : 23% Google Chrome : 8% Safari : 5% Opera : 3% W3C 7% 8% 16% 46% 17% 4% 2% SC 25% 18% 11% 31% 8% 4% 2%
ICANN
De Internet Corporation for Assigned Names and Numbers is een Amerikaanse organisatie die beslist over domeinnamen (DNS) en controle heeft over IANA. De voorganger van ICANN was InterNIC.
IANA
De Internet Assigned Numbers Authority beslist wereldwijd over wie welke ipadressen krijgt (via de RIR's), beheert de DNS root servers en controleert MIMEtypes. 16
inleiding Hieronder een kaartje van de ip-adressen zoals ze verdeeld zijn. Dit is getekend door XKCD (een cartoonist).
RIR
Elke Regional Internet Registry krijgt ip-adressen van IANA en verdeelt die over een regio. Er zijn vijf van deze RIR in de wereld: 17
inleiding
ARIN : USA + Canada RIPE : Europa + USSR + Midden-Oosten AFRINIC : Africa LACNIC : Latijns Amerika APNIC : Oceanie + Asia (zonder USSR/Midden Oosten)
1.4.11. mensen
Vint Cerf
Vinton Gray Cerf werkte van 1976 tot 1982 bij DARPA aan de ontwikkeling van tcp/ip. Sinds 2005 werkt hij voor Google. Hij is medeoprichter van ICANN en de uitvinder van de EOF byte en de ASCII tabel. Hij is ook auteur van heel wat RFC's, onder andere rfc2468. Samen met Kahn, Kleinrock en Roberts vormt hij de vier vaders van het internet.
Jon Postel
Jon Postel is de man die in 1969 gestart was met de RFC's. Hij beheerde ook tot zijn dood in 1998 de IANA. Jon Postel is ook de man achter de uitspraak "wees conservatief in wat je zegt, en liberaal in wat je aanvaardt".
http://tools.ietf.org/html/rfc2468 http://www.postel.org/postel.html
Al Gore
Ondanks de misplaatste grappen rond zijn uitspraak "I invented the internet" tijdens de presidentsverkiezingen van 2000 hoort Al Gore toch thuis in dit rijtje omdat hij tijdens de jaren 70, 80 en 90 de grote drijfveer was achter de commercialisatie van het internet.
Chapter 2. terminologie
Table of Contents
2.1. 2.2. 2.3. 2.4. 2.5. 2.6. 2.7. 2.8. bit ................................................................................................................... byte ................................................................................................................. kilobyte ........................................................................................................... zender en ontvangers ..................................................................................... lan-wan-man ................................................................................................... topologie van een netwerk ............................................................................. telefoon en data .............................................................................................. oefening .......................................................................................................... 19 19 20 23 25 27 29 31
2.1. bit
Een bit is de kleinste eenheid van informatie in de informaticawereld. Een bit kan twee waarden aannemen : nul of een. Hieronder een tabel met alle mogelijk waarden van een bit en de manier waarop deze worden voorgesteld. Table 2.1. de waarden van een bit waarde nul een voorstelling 0 1
2.2. byte
Een byte is acht bits wordt wel eens gezegd. Maar zo eenvoudig is het niet. Toen Werner Buchholz de term in 1956 voor het eerst gebruikte bedoelde hij letterlijk "een reeks bits die de computer kan verwerken" (of bijten). Heden is een byte altijd gelijk aan acht bits, maar in de jaren zeventig waren er computers met bytes van 4 tot 36 bits (de PDP 10 uit 1966 had 36-bit bytes). Een byte wordt ook wel een octet genoemd. De volgende tabel toont termen die wel eens gebruikt worden in relatie tot een byte.
19
terminologie Table 2.2. de byte en zijn verwanten naam nibble byte word (x86) word (meestal) word (andere) dword (x86) long word (68k) aantal bits 4 8 16 8, 16 of 32 9, 12, 18, 24, 36, 39, 40, 48 of 60 32 32
De term dword staat voor double word en is op de Intel architectuur gelijk aan 32 bits. Dit ondanks dat de fysische word-grootte nu 32 bits of zelfs 64 bits is. Het long word was eind jaren 80 32 bits lang op de Apple en Commodore Amiga computers met 68k processor. Wat deze cursus betreft is een byte steeds 8 bits. Verder spreken we niet over een word of zijn varianten, maar zullen we steeds het aantal bits aanduiden.
2.3. kilobyte
2.3.1. 1000 of 1024
Hoeveel bytes is een kilobyte ? Sinds de beginjaren van de informatica was het antwoord hierop eenduidig 1024 bytes, toch als we praten over harde schijven en computer geheugen. (In de telecommunicatie en netwerkterminologie was een kilo gelijk aan 1000. Zo is de kilo in kilobits per seconde gelijk aan 1000.) Maar eind jaren negentig beginnen enkele makers van harde schijven veelvouden van 1000 te gebruiken i.p.v. 1024. Als voorbeeld drie harde schijven in mijn desktop computer. De eerste is een 60GB Seagate, de tweede een 80GB Maxtor en de derde een 200GB Western Digital. In veelvouden van 1000 geeft dit:
ST: 60.0 GB, 60022480896 bytes Maxtor: 81.9 GB, 81964302336 bytes WDC: 200.0 GB, 200049647616 bytes
In veelvouden van 1024 kom je op respectievelijk 56GB, 76GB en 186GB. De reden om 1000 te gebruiken i.p.v. 1024 is simpele marketing: hoe groter de harde schijven, hoe groter het verschil!
20
terminologie Table 2.3. veelvouden van 1000 of 1024 1000 1000 1000000 1000000000 1000000000000 1024 1024 1048576 1073741824 1099511627776 verschil 2,4 procent 4,9 procent 7,4 procent 10 procent
2.3.2. kibibyte
Er kwam een einde aan de verwarring (not!) toen de IEC in 1999 (met update in 2000 en tweede update in 2005) begon met een standaard die in 2008 samen met de IEEE, de ISO en het SI het volgende besliste: kilo = 1000 en kibi = 1024, behalve voor RAM geheugen en cache geheugen (en SD-kaartjes....). In de praktijk wordt nog steeds gesproken over 1024 bytes in elke kilobyte, tenzij je een harde schijf koopt.
21
terminologie
Wikipedia heeft een uitgebreid overzicht van de kilo-1000 versus kilo-1024 geschiedenis en de geboorte van kibibytes en zebibytes.
http://en.wikipedia.org/wiki/Binary_prefix
22
terminologie
2.4.1. unicast
Gaat een signaal naar een eenduidige unieke bestemming, dan is dit een unicast. Heel wat datacommunicatie bestaat uit unicast berichten tussen twee computers.
Voorbeelden van een unicast zijn frames op laag 2 naar een specifiek mac-adres en packets op laag 3 naar een ip-adres (dat niet het broadcast adres is).
2.4.2. multicast
Is het signaal bedoeld voor leden van een welbepaalde groep, dan spreken we over een multicast.
23
terminologie Voorbeelden van multicast zijn Realplayer (voor .sdp bestanden) en RIPv2 (zie later bij routers).
2.4.3. broadcast
Wanneer een signaal gestuurd wordt naar iedereen heet dit broadcast. Let wel op dat je duidelijk bepaalt wie 'iedereen' is. Als we de klas even beschouwen als 'iedereen', dan is een bericht dat de hele klas bereikt een broadcast in de klas. Als we echter alle klassen in de school beschouwen als 'iedereen', dan is een bericht dat de hele klas bereikt, maar niet de hele school, geen broadcast.
Typisch voorbeeld hier is de BBC (British Broadcasting Corporation) die uitzendt over de hele wereld. In datacommunicatie is broadcast meestal beperkt tot de LAN.
2.4.4. anycast
Nieuw tegenwoordig, en in de praktijk gebruikt door de root name servers van internet is de anycast. Een anycast is een signaal naar de dichtstbijzijnde van een groep.
24
terminologie
2.5. lan-wan-man
2.5.1. lan
Een lan (Local Area Network) is een lokaal netwerk. Dit kan een klaslokaal zijn, of een verdieping, of zelfs een gebouw. Men spreekt over een lan omdat de computers dicht bij elkaar staan. Heden wordt een lan meestal bepaald doordat de computers verbonden zijn met ethernet. Een lan kan bestaan uit meerdere kleine lan's. In deze tekening zie je een voorbeeld van een netwerk van een school, bestaande uit drie lan's.
2.5.2. man
Een man (Metropolitan Area Network) is een term die soms gebruikt wordt voor een netwerk dat meerdere gebouwen in dezelfde agglomeratie omvat.
2.5.3. wan
Een wan (Wide Area Network) is een netwerk waar de computers ver uit elkaar staan. Deze computers zijn dikwijls verbonden via gehuurde lijnen. Een wan is dus het omgekeerde van een lan. Een wan gebruikt geen ethernet maar andere protocols zoals FDDI, Frame Relay, ATM of X.25 om computers te verbinden die enkele of enkele duizenden kilometers van elkaar verwijderd zijn. Hieronder een voorstelling van een bijkantoor dat via Frame Relay verbonden is met het hoofdkwartier. 25
terminologie
De term wan wordt ook gebruikt voor netwerken die een groot oppervlak bestrijken, zoals het internet, ook al gebruiken deze netwerken tcp/ip. Cisco is vooral gekend voor wan technologie, zij maken routers die onder andere lan netwerken verbinden via wan protocols.
2.5.4. pan-can-wpan
Heel soms wordt er gesproken over een pan (Personal Area Network) of een can (Campus Area Network). Een draadloze pan is een wpan.
26
terminologie
2.6.2. bus
In een bus netwerk is elke computer verbonden met dezelfde kabel (meestal een coax kabel). Aan de twee eindes van de bus zit dan een terminator. Met T-stukjes kan je dan computers bij op de kabel plaatsen. Er kan slechts n computer tegelijk gebruik maken van de bus. Als twee computers tegelijk zenden, dan botsen de signalen tegen elkaar. Deze botsing heet een collision.
2.6.3. ster
Van zodra we een centraal toestel hebben zoals een hub, switch of MAU spreken we van een ster netwerk. Elke computer heeft een eigen kabel naar dit centrale toestel. In theorie kan je de point-to-point topologie beschouwen als een ster met n arm.
2.6.4. ring
Een ring topologie bestaat uit toestellen die elk met twee andere toestellen verbonden zijn, en wel zo dat ze een ring vormen. Gegevens gaan van de ene node naar de volgende, en zo de hele ring rond. Een probleem met n verbinding kan de hele ring platleggen. Typisch voorbeeld hier is een Token Ring netwerk. Deze technologie van IBM bestond fysisch uit een ster topologie met centrale MAU (Multistation Access Unit) 27
terminologie en speciale token ring kabels naar elke computer. Logisch gezien vormden de computers een ring. Telkens was er n computer die het token had, deze computer kon zenden op de ring.
2.6.5. tree
Een netwerk kan ook hierarchisch georganiseerd zijn, zoals een boomstructuur. We spreken dan van een tree met een root node aan de top van de boomstructuur. Type voorbeeld is de logische structuur van DNS servers op internet.
2.6.6. mesh
Elke computer in een mesh kan met vele (of alle) andere computers verbonden zijn. Een mesh netwerk bestaat dus uit computers die allen dienst kunnen doen als router.
2.6.7. hybride
Elke combinatie van bovenstaande architecturen die niet onder n van deze valt, noemt men een hybride netwerk.
28
terminologie
2.7.3. modem
Een modem is een toestel dat een digitaal apparaat, bijvoorbeeld een computer, verbindt met het analoge telefoonnetwerk. Aan de andere kant staat eveneens een modem die het geluid op het telefoonnetwerk weer omzet in (digitale) bytes. Op die manier kunnen twee computers verbonden worden. Tegenwoordig zijn er ook modems die niet met geluid werken, zoals adsl-modems en kabelmodems. Later volgt er een les die meer uitlegt geeft over allerhande modems.
2.7.4. ppp
Het Point-to-Point Protocol zit in laag 2 van het OSI Model en kan twee computers met elkaar verbinden via het telefoonnetwerk of via een serile kabel. ppp werd veel gebruikt voor dial up toegang tot internet. Het ppp protocol is ontworpen om behalve met ip ook te werken met ipx/spx en appletalk. Meer info op Wikipedia of rfc-editor.org.
http://www.rfc-editor.org/rfc/rfc1661.txt
Voor ppp was er slip om ip packetjes in te pakken zodat ze over een serile kabel of modem konden verstuurd worden. De meeste Unix computers ondersteunen dit nog steeds. 29
terminologie
http://www.rfc-editor.org/rfc/rfc1055.txt
2.7.5. isdn
Het isdn of Integrated Services Digital Network is recenter dan pots en is digitaal. Oorspronkelijk was isdn enkel te verkrijgen in stedelijke gebieden, de dag van vandaag is het (voor thuisgebruikers) overbodig gemaakt door (a)dsl en internet via de kabel. Een isdn bearer(B) kanaal heeft een bandbreedte van 64kb/s, en wordt met de letter B aangegeven. De meest courante isdn connecties werden genoteerd als 2B+D, wat betekent dat er twee bearer kanalen van 64kb/s voorzien zijn, samen met een 16kB/ s data(D). Deze 16kB/s link wordt ook bri of Basic Rate Interface genoemd. Table 2.6. isdn in kb en kB isdn type bearer B 2B D kanaal 2B+D bits/s 64000 128000 16000 144000 Bytes/s 8000 16000 2000 18000 kb/s 64 128 16 144 kB/s 8 16 2 18
2.7.6. kb of kB ?
Noteer even dat kb hier de afkorting is van kilobits en kB staat voor kiloBytes. In beide gevallen staat de k of kilo voor 1000, dat was vroeger al zo, en is volgens de nieuwe regels nog steeds zo. Als je b(bits) en B(bytes) verwarring wil vermijden, gebruik dan steeds kilobits of kilobytes i.p.v. van kb of kB.
2.7.7. T1
Een T1 is een 23B+D isdn verbinding in de Verenigde Staten. En ook al spreekt men van een T1 in de rest van de wereld, eigenlijk gebruikt men dan een E1 ofte 30B+D. Een T1/E1 noemt men ook een PRI (Primary Rate Interface).
2.7.8. T3
Een T3 lijn is een gehuurde lijn met een bandbreedte van 44.736 Mbit per seconde. Dit type verbinding wordt meestal gebruikt tussen providers en telefoonmaatschappijen onderling.
30
terminologie
2.8. oefening
Als oefening rekenen we even de totale bandbreedte van deze verbindingen. Hoe lang duurt het om een bestand van 1 kilobyte, 1 megabyte, 1 gigabyte en 1 gibibyte te kopiren langs een 9.6 kilobits/s modem, een 64 kilobits/s isdn modem, een T1, een E1, een 10Mbit LAN, een 100Mbit LAN en een 1gigabit LAN ? Table 2.7. weinig data over netwerken medium 9.6 modem isdn modem T1 E1 10Mbit LAN 100Mbit LAN 1Gbit LAN 1 KB 0,83" 0,13" 1 MB 13'53" 2'5" 5,43" 4,17" 0,8" 1 GB 9d15u28' 34u43'20" 1u30'35" 1u09'27" 13'20" 1'20" 8" 1 GiB 10d8u33' 37u16'58" 1u37'16" 1u14'34" 14'19" 1'25" 8,59"
Idem voor een terabyte, een exabyte en een zettabyte (veelvouden van duizend dus). Table 2.8. veel data over netwerken medium 9.6 modem isdn modem T1 E1 10Mbit LAN 100Mbit LAN 1Gbit LAN 1 TB 26 jaar 155 dagen 3jaar 351 dagen 62 dagen 21 uur 48 dagen 5 uur 9d6u13' 22u13'20" 2u13'20" 1 EB 26,4 miljoen jaar 3,9 miljoen jaar 172 duizend jaar 132 duizend jaar 25 duizend jaar 2536 jaar 238j8m5d 1 ZB 26,4 miljard jaar 3,9 miljard jaar 172 miljoen jaar 132 miljoen jaar 25 miljoen jaar 2,536 miljoen jaar 253 duizend jaar
31
derde les
derde les In deze laag vinden we ook het mac-adres van onze ethernet netwerkkaart. Het ethernet protocol zelf zit ook in deze laag, en zorgt voor de link naar laag 1. Ook isdn, ppp, slip, fddi, frame relay en ATM vinden we hier terug.
34
derde les
35
derde les
3.3. sniffer
Op het netwerk, op de bekabeling, reizen vele packetjes (hopelijk) naar hun bestemming. Als je een sniffer gebruikt, dan kan je al deze packetjes zien (en bewaren). Een sniffer is dus een software die toelaat dat je alles ziet wat er gebeurt op het netwerk. De gekendste en meest gebruikte sniffer heet wireshark (vroeger ethereal). We zullen deze sniffer in de klas gebruiken om meer inzicht te krijgen in een netwerk.
36
derde les
3.3.4. filters
Soms verlies je de weg in de vele packetjes. Een eenvoudigde oplossing is om filters te gebruiken, zo zie je enkel de packetjes die je interesseren. Als je arp intikt en dan op apply klikt, dan zie je enkel arp packetjes. Je kan twee protocols combineren met een logische of door het Engelse or ertussen te zetten. Het voorbeeld hieronder toont hoe je arp en bootp (of dhcp) packetjes kan bekijken.
En hier een voorbeeld van dns verkeer voor een welbepaald ip-adres.
!!!! Vraag toelating alvorens op een bedrijfsnetwerk een sniffer te gebruiken !!!!
37
derde les
3.4. op de computer
1. Installeer wireshark op de computer (google voor wireshark). 2. Open via "Start - cmd" een command prompt op Windows, of open een shell op Unix. Laat deze open staan, we zullen er later commando's in uitvoeren. 3. Noteer het ip-adres van jouw computer en van je buurman. Gebruik hiervoor op Windows het commando ipconfig in een command prompt. Op Unix, Linux, MacOSX kan je ifconfig gebruiken. 4. Start wireshark, en start in wireshark een capture. 5. Open een website en controleer dat je vanalles ziet in wireshark (roep anders de leraar). Zo weet je zeker dat wireshark werkt. Je moet nog niet begrijpen wat je allemaal ziet, we bespreken dat later stap voor stap. 6. Werk even samen met je buurman voor deze vraag. Start op beide computers een nieuwe capture. Deze oefening is makkelijker als je geen browser (internet explorer of firefox) hebt open staan (want dit zorgt soms voor veel packetjes in wireshark). Gebruik het commando ping ip-adres-buurman op 1 van de computers (niet op beide!), naar de andere computer. 7. Welke packetjes heb je in wireshark gezien door het uitvoeren van die ping ? Normaal gezien moet er twee arp packetjes zijn voor de ping (icmp packetjes). 8. Doe een ping naar een onbestaand ip-adres (bv 192.168.0.109). Wat zie je nu in wireshark ? 9. Je kan in wireshark een filter instellen om niet te veel packetjes te zien, bijvoorbeeld arp or icmp. Je kan elke lijn in wireshark selecteren en dan onderaan meer details zien. Kan je het ip-adres of het mac-adres vinden in de gesnuffelde packetjes ? 10. Wat zie je als je het commando arp (of arp -a) uitvoert ? 11. Doe een ping naar google.com. Wat zie je nu in de uitvoer van arp ? 12. Open nu het leerplatform, zorg dat je uitgelogd bent. Start een nieuwe capture en log dan in op het leerplatform. Stop de capture en bestudeer de boeiende informatie die je nu hebt zoals : 38
derde les Naam van de website : Besturingssysteem van de webserver : Besturingssysteem van jouw pc : MAC adres van jouw pc : Webserver software : Browser op jouw pc : ip-adres van de webserver : ip-adres van jouw pc : De poort gebruikt om de webserver te bereiken : De poort gebruikt om terug naar je client te gaan : Jou gebruikersnaam : Jou paswoord : 13. Waarom zie je het MAC-adres van de webserver niet ? 14. Welk ander MAC-adres zie je dan wel ? Iedereen die met een sniffer tussen jouw pc en de webserver zit kan dezelfde informatie zien. De mensen die de webserver beheren, beschikken ook over deze informatie... 15. Probeer het paswoord te sniffen van een gmail of hotmail account. Waarom lukt dit niet ? 16. Kopieer een tekstbestand van de ene computer naar de andere. Kan je dit bestand ook lezen via de sniffer ? 17. Kan je ook tekstbestanden lezen die andere computers in de klas naar elkaar sturen ? Waarom wel of waarom niet ?
39
derde les
3.5.1. physical
Toestellen in laag 1 zijn in principe onzichtbaar op ons netwerk. We kunnen ze niet allemaal eenvoudig met software detecteren. We vinden hier onder andere de netwerkkaart, de repeater, de hub en de modem. Hieronder de voorstelling van een hub in een netwerkdiagram.
De netwerkkaart of nic (Network Interface Card) of ook network adapter is tegenwoordig een vast onderdeel van elke computer. De netwerkkaart ontvangt elektrische signalen en zet deze om in bytes (en omgekeerd). De netwerkkaart controleert ook of een packetje van het netwerk wel voor haar is of niet. Indien niet, dan gooit de netwerkkaart dit packetje weg (drop). De meeste netwerkkaarten vandaag zijn ethernet kaarten met een 48-bit uniek macadres. Enkele jaren terug waren ook Token Ring kaarten courant in gebruik. Een repeater is een versterker. Elektrische signalen verzwakken, dus als de netwerkkabel te lang is, dan kan een repeater het signaal versterken. Een hub wordt ook wel een multiport repeater genoemd. Net zoals een repeater zal ook een hub het elektrische signaal versterken. Daar waar een repeater tussen twee kabels zit, zit een hub tussen meerdere kabels, en versterkt hij het signaal naar alle verbonden kabels. Hubs kunnen actief of passief zijn. Een passieve hub versterkt het elektrische signaal, en logischerwijs ook de ruis op het kanaal. Te veel passieve hubs achter elkaar zorgt voor een te grote versterking van de ruis, waardoor het signaal verloren kan gaan. Een actieve hub is slimmer dan een passieve hub. In plaats van het signaal gewoon te versterken, leest een actieve hub de bits van een signaal, en stuurt deze bits naar alle verbonden kanalen. Op deze manier treedt er geen ruisversterking op. 40
derde les Een modem (modulator/demodulator) is een toestel dat (in het geval van een potsmodem) bits omzet in geluid, en omgekeerd aan de andere kant van de lijn dit geluid weer omzet in dezelfde bits. Een kabel modem zoals die van Telenet of Brutele vertaalt bits naar frequenties die oorspronkelijk bedoeld waren om TV-signalen door te sturen. Ook ADSL modems gebruiken een frequentie die buiten de menselijke stem liggen.
Een bridge en switch zijn beide slimmer dan een hub of repeater, in de zin dat deze laatste niet weten wat een mac-adres is. Een bridge en een switch interpreteren het mac-adres om te weten of (in het geval van de bridge) en waar (in het geval van de switch) ze het packetje doorsturen. Een echte bridge is zeldzaam vandaag (want een switch kan alles wat een bridge kan).
3.5.3. network
De router en de layer 3 switch zijn typische layer 3 toestellen. Toestellen in deze laag weten wat een ip-adres is, en kunnen uiteraard ook alles wat layer 2 devices kunnen. Hieronder de voorstelling van een router in een netwerkdiagram.
41
derde les Een echte router verbindt netwerken (bijvoorbeeld ethernet met T1, of ADSL met WiFi), maar de term wordt ook gebruikt voor ethernet-ethernet toestellen. Een layer 3 switch kent bijvoorbeeld icmp en wordt ook gebruikt om sniffen van het netwerk te verhinderen.
42
vierde les
Je ziet drie tcp packetjes voordat het http packetje (wat ook een tcp packetje is) wordt verstuurd. tcp zet een sessie op door eerst een packetje te sturen met de vraag om een sessie op te zetten (SYN), hierop komt een antwoord van de VRT webserver (SYN,ACK) en als laatste wordt er vanuit mijn laptop nog een (ACK) gestuurd. In het screenshot hierboven zie je een http GET van pagina 511 i.p.v. pagina 525, maar dat heeft geen belang voor de theorie.
44
vierde les Hoe kan onze computer het ip-adres van de webserver van vrt teletekst kennen ? Daarvoor doet tcp/ip een beroep op dns. Indien je voor het eerst sinds een tijdje naar de website van teletekst gaat op url http://teletekst.een.be, zal er een dns-query gaan van onze computer naar onze lokale DNS server. DNS (Domain Name System) wordt later uitgebreid besproken, maar het zou kunnen dat je het volgende ziet in de sniffer.
vierde les
traceroute to 193.191.175.137 (193.191.175.137), 30 hops max, 60 byte packets 1 illyria (192.168.1.1) 0.812 ms 1.285 ms 1.764 ms 2 213.219.148.1.adsl.dyn.edpnet.net (213.219.148.1) 26.453 ms 26.833 ms 27.216 ms 3 ndl2-rb01.edpnet.be (213.219.132.237) 27.655 ms 28.035 ms 28.412 ms 4 adslgwbe.edpnet.net (212.71.1.78) 28.924 ms 29.305 ms 29.798 ms 5 10ge.cr1.brueve.belnet.net (194.53.172.65) 30.165 ms 30.543 ms 30.888 ms 6 10ge.ar1.brucam.belnet.net (193.191.16.193) 31.991 ms 31.530 ms 31.960 ms 7 vrt.customer.brussels.belnet.net (193.191.4.189) 32.046 ms 9.004 ms 24.205 ms 8 * * * 9 * * *
Wat je ziet, is dat de eerste router illyria heet en 192.168.1.1 als ip-adres heeft. Dit is mijn lokale adsl modem met ingebouwde router functie. Op de tweede lijn zie je de andere kant van mijn adsl modem, de kant van mijn internet service provider (ISP) genaamd edpnet. Daarna passeren we enkele routers van edpnet, om vervolgens te reizen naar belnet. Het Belgische belnet is een snel backbone netwerk waar o.a. universiteiten en openbare instellingen op aangesloten zijn. De laatste router die we zien heet vrt.customer.brussels.belnet.net. Uit deze naam kan je afleiden dat de VRT een klant is van belnet in Brussel. Nadien zien we enkel nog sterretjes, dat is omdat de systeembeheerder van de VRT beslist heeft om geen traceroute door zijn firewall te laten. Onze http request mag gelukkig wel door.
vierde les We zakken weer van de applicatie-laag (ja ook een http-server is een applicatie) naar beneden. Tussen haakjes, de presentatie van deze data aan de browser gebeurt met een mime type. Email berichten (en websites) bestaan al lang niet meer enkel uit ascii karakters, maar bevatten ook andere karakters, foto's, geluid en film. MIME (Multipurpose Internet Mail Extensions) defineert een mechanisme om deze inhoud te versturen over e-mail (of zoals in ons voorbeeld over http). Je zou mime in osi layer 6 kunnen zetten. De tcp-sessie die mijn laptop heeft opgezet, die is er nog steeds. Het antwoord kan dus onmiddellijk door de transport-laag naar ip, of toch bijna. De gevraagde webpagina is immers te groot om in 1 packetje door te sturen, dus moet er geknipt en geplakt worden door tcp. Dit kan je zien in de sniffer als een opeenvolging van tcp segment packetjes, gevolgd door een tcp acknowledgement.
Het ip protocol zal zorgen voor de terugweg van Brussel naar Antwerpen, eventueel via andere routers. Eens het antwoord terug op ons netwerk is, gaat de data van onder naar boven door de lagen, totdat onze browser de webpagina kan tonen.
4.4.1. vragen
1. Hoe weet de computer van de VRT dat het packetje naar de http-server moet ? 2. Hoe weet mijn laptop voor welke applicatie het packetje is ?
47
vierde les
48
vierde les
4.6.1. tcp
tcp staat voor Transmission Control Protocol. Het is een protocol dat een connectie opzet alvorens data te versturen. Als je zekerheid wil dat je packetjes aankomen, dan is tcp het aangewezen protocol. In de tcp header zit heel wat overhead. Als een tcp packetje niet aankomt, dan wordt het nogmaals verstuurd. De huidige tcp standaard werd vastgelegd in rfc 793 van 1981. De tcp triple handshake gaat steeds vooraf aan de tcp connectie. Dit wil zeggen dat er minstens vier packetjes over het netwerk gaan.
4.6.2. udp
In tegenstelling tot tcp is er bij udp geen connectie, en ook geen handshake. Men noemt udp een connectionless protocol. udp heeft minder overhead dan tcp en is bijgevolg sneller voor het doorsturen van data. Maar udp doet geen controle of een packetje ook wel degelijk aankomt. Als een udp packetje zijn bestemming niet bereikt, dan ben je het kwijt.
49
vierde les
4.6.3. oefening
Bedenk zelf wanneer je udp zou gebruiken, en wanneer tcp. e-mail van je manager ? website van een klant ? live radio uitzending van Clijsters tegen Henin ? dns ?
50
vierde les
51
vierde les
4.8. packetjes
Op het bord heb ik regelmatig 'packetjes' getekend. Technisch spreken we van een ethernet frame en van een ip datagram. Het exacte formaat (per bit of byte) van deze packetjes behoort niet tot de leerstof. Ik veronderstel hier enkel dat jullie weten dat een ethernet netwerkkaart de eerste zes bytes, zijnde het bestemmings-mac-adres vergelijkt met haar eigen mac-adres. Hieronder een ethernet frame met de bytes op ware grootte en enige info op de juiste positie.
Omdat we toch iets moeten kennen van mac-adressen, ip-adressen en poorten om protocols en toestellen te begrijpen, gebruiken we onderstaande vereenvoudigde voorstelling van een packetje op het netwerk.
52
weergave getallen Willen we nog verder, dan zetten we nog een extra cijfer voor de bestaande twee, en vermenigvuldigen deze waarde met zestien en nog eens zestien.
weergave getallen
55
weergave getallen
56
weergave getallen
Standaard classful subnet masks (we bespreken dit later in detail) komen soms decimaal, soms hexadecimaal voor in de uitvoer van systeembeheer programma's:
decimaal 255.0.0.0 255.255.0.0 255.255.255.0 hexadecimaal FF000000 FFFF0000 FFFFFF00
Alle data en alle applicaties op de computer bestaan uit bits. Als je in een tekstbestand het getal 42 wil bewaren, dan worden de volgende bits (in een volledige byte) bewaard:
00101010
Ook grotere machten van twee worden gebruikt. Zo is de grootte van een sector op harde schijven (voorlopig) 512 bytes, is het aantal tcp en udp poorten gelijk aan 65.536, is het aantal kleuren dat een truecolor videokaart kan tonen 16777256, is de 640KB geheugen in oude computers niet toevallig 512KB + 128KB en is een kilobyte (of kibibyte) exact 1024 bytes. De maximum grootte van variabelen in 57
weergave getallen programmeertalen is ook een macht van twee (65536 of 4294967296), schermen hebben wel eens een 1024x786 of 1280x1024 resolutie (768 = 512 + 256, 1280 = 1024 + 256) en Microsoft Excel kan maximum 65536 of 1048576 kolommen bevatten. Table 5.4. grote machten van twee decimaal 256 512 1024 2048 4096 65536 16777216 4294967296 hexadecimaal 100 200 400 800 1000 10000 1000000 100000000
58
Chapter 6. ip-adressen
Table of Contents
6.1. oefening .......................................................................................................... 6.2. ip-adressen ...................................................................................................... 6.3. private en publieke adressen .......................................................................... 6.4. ip-adres klassen .............................................................................................. 6.5. oefening ip-adres klassen ............................................................................... 6.6. default subnet masks ...................................................................................... 6.7. oefening default subnet masks ....................................................................... 6.8. network id en host id ..................................................................................... 6.9. oefening network id en host id ...................................................................... 6.10. lokale computer of niet ? ............................................................................. 6.11. oefening lokale computer of niet? ............................................................... 6.12. subnet notatie ............................................................................................... 6.13. computers in een netwerk tellen .................................................................. 59 61 61 63 63 64 64 65 66 67 68 69 69
6.1. oefening
0. Sluit je browser, tijdens de oefening ben je even het internet kwijt. 1. Gebruik ipconfig op Microsoft of ifconfig op Unix om je eigen ip-adres te vinden. Noteer het hier.
3. Test met ping dat jullie elkaar kunnen bereiken. Dit zou moeten werken.
ping ip-adres-partner
4. Test met ping dat jullie de router (192.168.0.4) en dnsserver (192.168.0.14) kunnen bereiken. Dit zou moeten werken.
5. Zoek de grafische interface om de eigenschappen van je ip-configuratie aan te passen, en noteer de informatie de je daar vindt. De kans is groot dat hier 'automatisch' of 'dhcp' staat.
59
ip-adressen 6. Gebruik deze grafische interface en de informatie uit vraag 1 om het eerste cijfer van je ip-adres aan te passen. Verander dit eerste cijfer in 10. Heb je nog steeds verbinding met je buurman ? (Dit zou moeten werken als jullie allebei de aanpassing gedaan hebben.) 7. Test met ping dat jullie nog steeds de router (192.168.0.4) en dnsserver (192.168.0.14) kunnen bereiken. Dit zou niet mogen werken.
8. Lukt dit ook als je het eerste cijfer verandert in 11 ? Zou moeten werken.
9. Lukt dit ook als je het eerste cijfer verandert in 127 ? Zou niet mogen werken.
10. Verander de eerste twee cijfers van je ip-adres in 169.254, maar behoud de laatste twee. Lukt dit ?
12. Zet je ip-configuratie terug zoals ze stond voor de oefening. Test dat je terug verbinding hebt met internet door te surfen naar www.linux-training.be ;-)
60
ip-adressen
6.2. ip-adressen
Een ip-adres is een 32-bit getal dat als logisch adres aan een computer wordt gegeven. Een ip-adres is de unieke identificatie van een host op laag 3. Theoretisch hebben we 4294967296 ip-adressen (256*256*256*256). In decimale octetjes schrijven we dat van 0.0.0.0 tot 255.255.255.255, in hexadecimale bytes is dat van 00:00:00:00 tot FF:FF:FF:FF en binair is dat van 00000000.00000000.00000000.00000000 tot 11111111.11111111.11111111.11111111.
ip-adressen Meestal is dit 127.0.0.1, vaak wijst de hele reeks echter naar ditzelfde adres.
van 127.0.0.0 tot 127.255.255.255
Als een computer in de praktijk in een bedrijf een zeroconf adres heeft, dan wil dit meestal zeggen dat de netwerkbekabeling van de computer onderbroken is. Soms duidt zo'n adres op een probleem met de dhcp server.
62
ip-adressen
Alle ip-adressen die beginnen met een getal lager dan 127 zijn dus klasse A adressen (onthoud dat 127 zelf gereserveerd is voor de loopback adapter).
63
ip-adressen
64
ip-adressen
65
ip-adressen
9.8.7.6
42.42.42.42
169.254.42.1
191.42.17.18
193.42.17.18
66
ip-adressen
67
ip-adressen
10.105.42.42 en 10.105.42.33
10.105.42.42 en 10.99.42.33
11.16.42.42 en 12.16.42.33
169.254.18.42 en 169.254.33.42
191.168.42.42 en 191.168.33.33
9.1.2.3 en 9.123.234.42
68
ip-adressen
69
4 miljard ip-adressen
71
Voor de volledigheid volgt ook nog eens het aantal computers dat in een classful netwerk past. Table 8.2. max computers classful subnets class A B C binary subnet 11111111.00000000.00000000.00000000 11111111.11111111.00000000.00000000 11111111.11111111.11111111.00000000 computers 256*256*256 - 2 256*256 - 2 256 - 2
72
8.2. supernetting
Zoals je ziet, begint de subnet mask binair steeds met eentjes en eindigt steeds met nulletjes. Wat als we nu een eentje meer of minder zetten ? Onze verkorte notatie laat toe om dit snel te noteren. We schrijven simpelweg 172.16.0.0/17 i.p.v. 172.16.0.0/16 . Maar wat zijn de gevolgen hiervan ? Ten eerste is een eentje meer hetzelfde als het halveren van het aantal computers in het netwerk. Want we vergroten het network id en verkleinen het aantal mogelijke host id's. Laten we ons voorbeeld beginnen met het netwerk in de klas zoals het er nu uitziet: Table 8.3. /24 netwerk in de klas network id subnet 192.168.0.0 /24 binair subnet 11111111.11111111.11111111.00000000 aantal computers 256 - 2 = 254
En kijk wat er gebeurt als we de subnet mask veranderen van 24 bits naar 25 bits die op 1 staan. Table 8.4. /25 netwerk in de klas network id subnet 192.168.0.0 /25 binair subnet 11111111.11111111.11111111.10000000 aantal computers 128 - 2 = 126
De reeks ip-adressen die behoren tot 192.168.0.0/25 begint met 192.168.0.1 en eindigt met 192.168.0.126, de network id is 192.168.0.0 en het broadcast adres is 192.168.0.127. Als we dit binair voorstellen wordt het duidelijk:
73
van subnet naar supernet Table 8.5. /25 binair bekijken omschrijving network id subnet mask eerste ip tweede ip derde ip vierde ip vijfde ip ... voorlaatste ip laatste ip broadcast ip binair 11000000.10101000.00000000.00000000 11111111.11111111.11111111.10000000 11000000.10101000.00000000.00000001 11000000.10101000.00000000.00000010 11000000.10101000.00000000.00000011 11000000.10101000.00000000.00000100 11000000.10101000.00000000.00000101 ... 11000000.10101000.00000000.01111101 11000000.10101000.00000000.01111110 11000000.10101000.00000000.01111111 decimaal 192.168.0.0 255.255.255.128 192.168.0.1 192.168.0.2 192.168.0.3 192.168.0.4 192.168.0.5 ... 192.168.0.125 192.168.0.126 192.168.0.127
We voegen nog een bit toe aan de subnet mask, dan komen we aan /26 (255.255.255.192). De tabel ziet er dan als volgt uit: Table 8.6. /26 binair bekijken omschrijving network id subnet mask eerste ip tweede ip derde ip ... voorlaatste ip laatste ip broadcast ip binair 11000000.10101000.00000000.00000000 11111111.11111111.11111111.11000000 11000000.10101000.00000000.00000001 11000000.10101000.00000000.00000010 11000000.10101000.00000000.00000011 ... 11000000.10101000.00000000.00111101 11000000.10101000.00000000.00111110 11000000.10101000.00000000.00111111 decimaal 192.168.0.0 255.255.255.192 192.168.0.1 192.168.0.2 192.168.0.3 ... 192.168.0.61 192.168.0.62 192.168.0.63
74
75
77
Als derde voorbeeld zullen we hetzelfde ip-adres nemen als in het tweede, maar met een supernet: 192.168.199.233/22. We bekijken het eerst binair, want dit is het eenvoudigste.
ip-adres subnet mask network id host id : : : : 11000000.10101000.11000111.11101001 11111111.11111111.11111100.00000000 11000000.10101000.11000100.00000000 00000000.00000000.00000011.11101001
78
79
van subnet naar supernet Het bovenstaande netwerk bevat exact de helft van alle ip-adressen in de 192.168.0.0/16 reeks. Kan je de tabel ook invullen voor de andere helft ? Table 8.12. andere helft van 192.168.234.234/17 binair ip address subnet mask network id eerste ip laatste ip broadcast ip aantal ip's Hieronder de oplossing van de andere helft. Table 8.13. oplossing andere helft 192.168.234.234/17 binair ip address subnet mask network id eerste ip laatste ip broadcast ip aantal ip's 11000000.10101000.01101010.11101010 11111111.11111111.10000000.00000000 11000000.10101000.00000000.00000000 11000000.10101000.00000000.00000001 11000000.10101000.01111111.11111110 11000000.10101000.01111111.11111111 decimaal 192.168.106.234 255.255.128.0 192.168.0.0 192.168.0.1 192.168.127.254 192.168.127.255 11111111.11111111.10000000.00000000 255.255.128.0 decimaal
80
Kan je de network id, subnet mask, eerste ip, laatste ip, broadcast ip en aantal ip's geven voor de subnets van die drie ip-adressen ? Zonder naar de oplossing hieronder te kijken ? Hieronder eerst drie lege tabellen om te oefenen, dan de oplossing. Table 8.14. lege tabel 168.186.240.192/11 binair ip address subnet mask network id eerste ip laatste ip broadcast ip aantal ip's Table 8.15. lege tabel 192.168.248.234/17 binair ip address subnet mask network id eerste ip laatste ip broadcast ip aantal ip's decimaal decimaal
81
van subnet naar supernet Table 8.16. lege tabel 168.190.248.199/27 binair ip address subnet mask network id eerste ip laatste ip broadcast ip aantal ip's decimaal
82
van subnet naar supernet Table 8.17. oplossing 168.186.240.192/11 binair ip address subnet mask network id eerste ip laatste ip broadcast ip aantal ip's 10101000.10111010.11110000.11000000 11111111.11100000.00000000.00000000 10101000.10100000.00000000.00000000 10101000.10100000.00000000.00000001 10101000.10111111.11111111.11111110 10101000.10111111.11111111.11111111 van 00000.00000000.00000001 tot 11111.11111111.11111110 decimaal 168.186.240.192 255.224.0.0 168.160.0.0 168.160.0.1 168.191.255.254 168.191.255.255 32*256*256-2
Table 8.18. oplossing 192.168.248.234/17 binair ip address subnet mask network id eerste ip laatste ip broadcast ip aantal ip's 11000000.10101000.11111000.11101010 11111111.11111111.10000000.00000000 11000000.10101000.10000000.00000000 11000000.10101000.10000000.00000001 11000000.10101000.11111111.11111110 11000000.10101000.11111111.11111111 van 0000000.00000001 tot 1111111.11111110 decimaal 192.168.248.234 255.255.128.0 192.168.128.0 192.168.128.1 192.168.255.254 192.168.255.255 128*256-2
Table 8.19. oplossing 168.190.248.199/27 binair ip address subnet mask network id eerste ip laatste ip broadcast ip aantal ip's 10101000.10111110.11111000.11000111 11111111.11111111.11111111.11100000 10101000.10111110.11111000.11000000 10101000.10111110.11111000.11000001 10101000.10111110.11111000.11011110 10101000.10111110.11111000.11011111 van 00001 tot 11110 decimaal 168.190.248.199 255.255.255.224 168.190.248.192 168.190.248.193 168.190.248.222 168.190.248.223 32-2
83
8.10. subnetworks
Je beheert een departement met 200 computers, verdeeld over vier verdiepingen in eenzelfde gebouw, met ongeveer vijftig computers per verdieping. Je krijgt van je netwerkbeheerder 192.168.5.0/24 en moet deze reeks verdelen over de vier verdiepen. Hoe doe je dat ? Je begint met uit te rekenen hoeveel computers er in die reeks kunnen:
192.168.5.0/24 --> 256 - 2 = 254 computers
Je weet ook uit de tabel hierboven dat een /26 subnet mask volstaat voor elke individuele verdieping. Je verdeelt jouw /24 netwerk in vier /26 netwerken. We bekijken dit eerst binair:
192.168.5.0 == 11000000.10101000.00000101.00000000 /24 mask == 11111111.11111111.11111111.00000000 /26 mask == 11111111.11111111.11111111.11000000
We moeten dus twee bits toevoegen aan de /24 netword id om een /26 network id te maken. Twee bits kunnen exact vier mogelijke waarden hebben: 00, 01, 10 of 11. We komen dus tot de volgende vier nieuwe /26 network id's.
/26 /26 /26 /26 network network network network id id id id 1 2 3 4 == == == == 11000000.10101000.00000101.00000000 11000000.10101000.00000101.01000000 11000000.10101000.00000101.10000000 11000000.10101000.00000101.11000000
Hieronder een tabel van eerste en laatste ip van de vier /26 netwerken. Tel bij de laatste ip eentje bij voor de broadcast ip. Table 8.20. echt supernetten verdieping 1 2 3 4 eerste ip 192.168.5.1 192.168.5.65 192.168.5.129 192.168.5.193 laatste ip 192.168.5.62 192.168.5.126 192.168.5.190 192.168.5.254
Tussen haakjes, nu zijn we echt aan het supernetten. Want in de routers van buitenaf staat er enkel 192.168.5.0/24 als bestemming, terwijl er intern eigenlijk vier /26 netwerkjes zijn.
84
Chapter 9. toets
Table of Contents
9.1. tussentijdse toets 20101010 ........................................................................... 85 9.2. antwoorden toets 20101010 ........................................................................... 89
1. Het internet is meer dan de blauwe e op de Windows desktop. In welk jaar is het internet ontstaan ?
A. B. C. D. E. 1302 1492 1789 1969 2002
2. Ter vervanging van vast toegewezen communicatiekanalen werd in de jaren 60 een nieuwe techniek ontwikkeld die alle gegevens die over een netwerk moeten getransporteerd worden opdeelt in kleine packetjes. Hoe heet deze techniek ?
A. B. C. D. E. circuit switching circuit scheduling packet switching packet netting circuit netting
3. Internet standaarden worden sinds 1969 bewaard in ascii tekstbestanden en zijn geldig voor alle besturingssystemen. Hoe heten deze standaarden ?
A. B. C. D. E. tcp/ip's rfc's ISO's smb's bluetooth
85
toets
B C D E gibibyte gigabyte kilobyte mebibyte
8. Hoe lang duurt het om een bestand van 1 gibibyte te kopiren over een 10Mbit LAN ?
A B C D E 14'30" 14'31" 14'32" minder dan 14 minuten 14'19"
9. In welke OSI laag vinden we de protocols http, dns, smtp, pop3, ntp en ftp ?
A B C D E Application Broadcast Session Data Link Expert
11. Wanneer je in wireshark ARP in de filter tikt, dan zie je enkel ARP packetjes. Wat moet je typen om DHCP packetjes te zien ?
A B C D E dhcp bootp chp arp or dhcp expert
86
14. Een macbook heeft een vast mac adres op de netwerkkaart. Hoe heet dit bij een IBM computer ?
A B C D E Een Een Een een IBM IBM adres mac adres ip adres arp adres computers hebben nooit een mac adres!
15. Uit hoeveel packetjes bestaat het opzetten van een udp-sessie ?
A B C D E 0 1 2 3 Een udp-sessie bestaat niet!
87
toets
D meer dan 8 E iedereen
88
toets
1. Het internet is meer dan de blauwe e op de Windows desktop. In welk jaar is het internet ontstaan ?
A. B. C. D. E. 1302 1492 1789 1969 2002 Guldensporenslag Columbus in Amerika Franse Revolutie Geboorte Internet Invoering Euro munten en briefjes
2. Ter vervanging van vast toegewezen communicatiekanalen werd in de jaren 60 een nieuwe techniek ontwikkeld die alle gegevens die over een netwerk moeten getransporteerd worden opdeelt in kleine packetjes. Hoe heet deze techniek ?
C. packet switching
3. Internet standaarden worden sinds 1969 bewaard in ascii tekstbestanden en zijn geldig voor alle besturingssystemen. Hoe heten deze standaarden ?
B. rfc's
8. Hoe lang duurt het om een bestand van 1 gibibyte te kopiren over een 10Mbit LAN ?
A B C D E 14'30" 14'31" 14'32" minder dan 14 minuten 14'19"
Deze vraag werd nogal moeilijk bevonden omdat 1024x1024x1024x8 nogal een groot getal is. Het lukt wel met vijf minuutjes rekenen op papier (tip 1024/1000 is 2.4 procent erbij tellen). 89
toets 9. In welke OSI laag vinden we de protocols http, dns, smtp, pop3, ntp en ftp ?
A Application
11. Wanneer je in wireshark ARP in de filter tikt, dan zie je enkel ARP packetjes. Wat moet je typen om DHCP packetjes te zien ?
B bootp
14. Een macbook heeft een vast mac adres op de netwerkkaart. Hoe heet dit bij een IBM computer ?
B Een mac adres
15. Uit hoeveel packetjes bestaat het opzetten van een udp-sessie ?
E Een udp-sessie bestaat niet!
90
Om iets te laten zien over routers heb je dus een router nodig en minstens twee computers, eentje aan elke kant van de router. Hier volgen twee voorbeelden, gedaan met vrije software in Virtualbox.
10.1.1. de opstelling
We beginnen met twee netwerken te bouwen, eentje links in de range 10.0.33.0/24 en eentje rechts in de range 10.0.42.0/24. Het linkse netwerk wordt leftnet genoemd, het andere rightnet.
91
In het linkse netwerk zetten we een Red Hat Enterprise Linux (rhel53) server met ip-adres 10.0.33.2/24. Linux noemt de lokale netwerkkaart eth0. Het volgende commando configureert het juiste ip-adres en subnet mask:
ifconfig eth0 10.0.33.2 netmask 255.255.255.0
Het mac-adres (of hardware address) van deze netwerkkaart is 08:00:27:F6:67:53. In het rechtse netwerk zetten we een Oracle Solaris 11 (sol11) server met ipadres 10.0.42.2/24. Solaris noemt de lokale netwerkkaart e1000g0. Het volgende commando configureert het juiste ip-adres en subnet mask:
ifconfig e1000g0 10.0.42.2 netmask 255.255.255.0
Het mac-adres (of ethernet address) van deze netwerkkaart is 8:0:27:5a:16:76. Tussen de twee netwerken staat een Fedora 13 (fed13) server die dienst doet als router. Deze router heeft twee netwerkkaarten, eentje verbonden met leftnet en eentje verbonden met rightnet. Het commando om beide netwerkkaarten te configureren is:
ifconfig eth0 10.0.33.1 netmask 255.255.255.0 ifconfig eth1 10.0.42.1 netmask 255.255.255.0
Het mac-adres van eth0 is hier 08:00:27:CE:93:98 en van eth1 is het 08:00:27:E8:BE:68.
___________ ____________________ ____________ | | | router | | | | rhel53 nic - leftnet - nic fedora13 nic - rightnet - nic sol11 | | 10.0.33.2| |10.0.33.1 10.0.42.1| |10.0.42.2 | |___________| |____________________| |____________|
Dit is een lokaal netwerk dus we zien twee gekende arp packetjes. De ping wordt met de correcte mac-adressen op het netwerk gezet.
Tussen haakjes, op MS Windows kan je dit door via Start - Instellingen - Controle Paneel - Netwerkbeheer - Eigenschappen - tcp/ip - Eigenschappen ergens de standaard gateway in te vullen en de laatste twee geopende vensters te sluiten.
Het is niet omdat een computer twee netwerkkaarten heeft, dat die automatisch router gaat spelen. 93
Vervolgens gaat de router het destination-mac-adres aanpassen naar het mac-adres van 10.0.33.2, en terzelfdertijd het source-mac-adres vervangen door dat van zijn eigen 10.0.33.1 interface. Zo komt het packetje (via leftnet) aan bij de bestemming. We hebben nu een werkende router tussen onze twee netwerken.
94
We voegen een Debian 5.04 server als router toe aan onze opstelling en verbinden beide routers via middlenet (en de nieuwe reeks 10.0.12.0/24). Er staan nu twee routers tussen de 10.0.42.0/24 en 10.0.33.0/24 netwerken.
____________________ _____________________ r | router | | router | i n nic deb504 nic - middlenet - nic fedora13 nic - g e |10.0.33.1 10.0.12.1| |10.0.12.100 10.0.42.1| h t |____________________| |_____________________| t
l n e e f t t
De configuratie van de twee gewone computers moet niet aangepast worden, zij behouden (wat ip-adres betreft) dezelfde default gateway.
10.2.2. rip
Het routing interface protocol laat toe dat routers hun eigen routing table opsturen naar nabije routers. Hieronder kan je zien hoe de fedore13 router via 10.0.12.100 aan de andere router vertelt dat hij direct (met een metric van 1) verbonden is met het 10.0.42.0/24 netwerk.
95
inleiding tot routers De metric in de routing table kan je zien als een kost. Een router zal steeds proberen om packetjes te leveren via de goedkoopste route.
Flags U UG
MSS Window 0 0 0 0
Onderstaande tabel is uitgebreider omdat deze computer nu drie netwerkkaarten heeft met elk een ip-adres in een ander netwerk. Trafiek dat niet voor een van deze netwerken is, wordt nog steeds naar 192.168.1.1 gestuurd via eth2.
[root@fed13 ~]# netstat -nr Kernel IP routing table Destination Gateway 10.0.33.0 0.0.0.0 192.168.1.0 0.0.0.0 10.0.42.0 0.0.0.0 0.0.0.0 192.168.1.1
Flags U U U UG
MSS 0 0 0 0
Window 0 0 0 0
irtt 0 0 0 0
96
10.4. nat
We hebben op het bord getekend hoe nat samenwerkt met pat om private adressen om te zetten in publieke, en omgekeerd. Hieronder een tekening van een packetje in een netwerk zonder router.
Hieronder een tekening van een packetje dat door een eenvoudige router gaat. Zoals je ziet, worden de mac-adressen aangepast.
97
10.5. dnat
We spreken van destination nat wanneer de router het bestemmings-ip-adres vertaalt naar een ander ip-adres. We beginnen met een simpel voorbeeld intern in een organisatie. Dit is een tekening van een packetje dat door een dnat router gaat. Zoals je ziet, wordt naast de macadressen, nu ook het bestemmings-ip-adres aangepast. De 'mb' laptop ziet dus het ipadres van de 'router' als bestemming, terwijl de 'www' server achter de router staat.
Hieronder hetzelfde voorbeeld, hetzelfde scenario, maar met ip-adressen ingevuld. Het bestemmings-ip-adres staat vet gedrukt omdat dit de kern is van een dnat router.
98
99
10.8. snat
We spreken van source nat wanneer de router het bron-ip-adres aanpast. Hieronder een tekening van een packetje dat door een snat router gaat. Zoals je ziet, wordt behalve de mac-adressen, nu ook het bron-ip-adres aangepast. De 'www' server ziet dus het ip-adres van de 'router' als bron.
We spreken van masquerading wanneer snat wordt toegepast op een dynamisch publiek ip-adres. Dit is het geval bij de meeste adsl verbindingen in Vlaanderen.
100
11.1. inleiding
11.1.1. Wat is naamresolutie ?
Om twee computers op een ip netwerk (zoals het internet) met elkaar te laten communiceren, hebben ze elkaars ip-adres nodig. Maar als mens is het eenvoudiger om namen zoals linux-training.be te onthouden i.p.v. 88.151.243.8 of 178.63.30.100. Naamresolutie is het zoeken van een ip-adres dat hoort bij deze naam van een computer. Een computer kan beschikken over een tekstbestand dat de relatie tussen namen en ip-adressen bevat, of kan verbonden zijn met een nameserver, bijvoorbeeld een dns server.
11.1.2. geschiedenis
Voordat dns bestond, gebruikten computers op arpanet een HOSTS.TXT bestand dat op een centrale server stond in Stanford. Dit bestand werd op regelmatige tijden gekopieerd naar de lokale machine. Dit systeem was op termijn onhoudbaar, zeker toen er begin jaren 80 duizenden computernamen in het bestand stonden en de groei exponentieel werd. In 1983 ontwikkelde de Griek Paul Mockapetris het Domain Name System (rfc 882/883, later rfc 1034/1035) als alternatief voor dit centrale hosts bestand. 101
naamresolutie en DNS dns is een gedistribueerde hirarchische naamgevende database voor diensten en computers op tcp/ip netwerken. Een van de voor de hand liggende functies is het vertalen van host- en domeinnamen naar ip-adressen (net zoals het /etc/hosts bestand dat al deed). dns is al enkele keren uitgebreid (tik maar eens dns als zoekterm op www.rfceditor.org), onder andere om het veilig te maken en om dns compatibel te maken met ipv6 (AAAA records).
11.1.3. /etc/hosts
We hebben vorige les reeds kennis gemaakt met het bestand /etc/hosts (alle Unix, incluis Linux en MacOSX) of %systemroot%/system32/drivers/etc/hosts (Microsoft). We hebben gezien hoe dit een tabel is die namen vertaalt naar ipadressen. De inhoud van het bestand ziet er bijvoorbeeld zo uit:
paul@laika:~$ cat /etc/hosts 127.0.0.1 localhost 127.0.1.1 laika 192.168.1.1 illyria 192.168.1.2 pasha 192.168.1.33 barry 192.168.1.34 laika 192.168.1.35 faith 192.168.1.36 wolf 192.168.1.38 rekkie 192.168.1.44 kiss 192.168.1.29 hero
Dankzij dit bestand zal een ping commando naar een van deze namen resulteren in een ping naar het ip-adres dat voor deze naam staat.
paul@laika:~$ ping illyria PING illyria (192.168.1.1) 56(84) bytes of data. 64 bytes from illyria (192.168.1.1): icmp_seq=1 ttl=254 time=0.596 ms 64 bytes from illyria (192.168.1.1): icmp_seq=2 ttl=254 time=0.588 ms
11.1.4. volgorde
Met twee technische oplossingen voor hetzelfde probleem (hosts tekstbestand en dns) moeten er duidelijke afspraken zijn over de prioriteit die beide systemen krijgen. Met andere woorden, als we een ping doen naar computer42, wordt dan eerst dns geraadpleegd ? Of eerst /etc/hosts ? Om dit te configureren moeten we een onderscheid maken tussen Microsoft, Mac OS X en de rest (Unix/Solaris/Linux/BSD...) 102
naamresolutie en DNS
Microsoft
Op Microsoft systemen is er geen optie om de volgorde in te stellen. Het lokale hosts bestand heeft volgens Microsoft altijd voorrang op dns. (Zie http:// support.microsoft.com/kb/172218 en gelijkaardige artikels voor W200X etc). De hostnames in deze lijst werken niet op Microsoft computers als je ze plaatst in het hosts bestand:
www.msdn.com msdn.com www.msn.com msn.com go.microsoft.com msdn.microsoft.com office.microsoft.com microsoftupdate.microsoft.com wustats.microsoft.com support.microsoft.com www.microsoft.com microsoft.com update.microsoft.com download.microsoft.com microsoftupdate.com windowsupdate.com windowsupdate.microsoft.com
We hebben ook commando's als ipconfig /all, ipconfig /displaydns en ipconfig / flushdns gezien in de vorige lessen. ipconfig /all toont je heel wat informatie over je ip-conguratie, incluis het ip-adres van je dns-server. ipconfig /displaydns geeft een lijst van namen die recent vertaald zijn aar ipadressen, en hoelang ze nog in de lokale cache blijven zitten. ipconfig /flushdns maakt de lokale dns cache leeg.
Mac OS X
Mac OS X gebruikt hiervoor twee .plist bestanden in de directory /Library/ Preferences/DirectoryService/ .
naamresolutie en DNS Zo zal bijvoorbeeld de volgende lijn bepalen dat eerst het lokale hosts bestand moet geraadpleegd worden, en dan pas dns.
paul@laika:~$ grep hosts /etc/nsswitch.conf hosts: files dns
Als je dit omdraait naar dns files dan krijgt dns onmiddellijk voorrang op /etc/hosts. Sommige applicaties zullen dit bestand ook aanmaken op Mac OS X.
Journalisten noemen dit wel eens de root servers of master servers van het internet. In 2002 en in 2007 was er een poging om alle root servers plat te leggen met een ddos (distributed denial of service) aanval.
http://en.wikipedia.org/wiki/Distributed_denial_of_service_attacks_on_root_nameservers
104
naamresolutie en DNS
.INT (nato.int)
Er zijn ook enkele honderden TLD's voor individuele landen, zoals .BE .NL .FR .US. Tussen haakjes, domeinnamen zijn hoofdletterongevoelig dus je kan zowel .be als .BE schrijven. Sinds enkele jaren zijn er enkele nieuwe generieke TLD's bijgekomen zoals .aero, .biz, .coop, .info, .museum, .name en .pro , maar deze worden behalve .info nauwelijks gebruikt.
11.2.4. fqdn
De combinatie van een hostname met een domeinnaam noemt men de fqdn ofte Fully Qualified Domain Name. De computer genaamd rhel5 in het classroom.local domein heeft dus rhel5.classroom.local als fqdn.
naamresolutie en DNS Het adsl routerke dat bij jullie thuis staat, is waarschijnlijk een caching only dns server.
11.4. praktijkvoorbeeld
De rol van DNS (en andere servers) bij het bezoeken van een website of het sturen van een e-mail tekenen we even op het bord.
11.7. zone
Een zone is een domeinnaam die op een dns server ingesteld is als primair (aanpasbaar) of secundair (read only copy). Een dns server kan verantwoordelijk zijn voor de inhoud (de resource records) van een bepaalde zone (aka domeinnaam), deze dns server heeft dan autoriteit over deze zone. Een zone is ofwel een forward lookup zone zoals linux-training.be of classroom.local, ofwel een reverse lookup zone. Zones kunnen primary of secondary zijn. Primary zones zitten op DNS servers en kunnen daar aangepast worden (records in de zone kunnen aanepast worden). Secondary zones krijgen kopies van een primary zone (en kunnen bijgevolg niet rechtstreeks aangepast worden). 106
naamresolutie en DNS
naamresolutie en DNS
0. Ik surf thuis op mijn laptop naar http://www.linux-training.be, we volgen het DNS verhaal om tot aan de webserver te geraken waar deze website staat. De laptop staat helemaal links op de tekening, de webserver staat helemaal rechts (ip 88.151.243.8). De webserver heeft meerdere namen (meerdere A records wijzen naar deze webserver). Voor deze test heb ik even rechtstreeks het ip-adres van de EDPNET DNS server (212.71.8.10) in de laptop gezet. Alternatief had ik ook het ip-adres van mijn routerke (alias dns/dhcp/adslmodem/nat) kunnen ingeven, een situatie die je kan bekijken in de volgende tekening. Hieronder dezelfde tekening zoals ik ze vorig jaar heb gemaakt met Dia (nu gebruik ik Inkscape).
108
naamresolutie en DNS
1. De laptop vraagt aan de DNS server van mijn ISP EDPNET de A record van www.linux-training.be. We gaan er even van uit dat ik de eerste ben vandaag die naar deze website surft. DNS is een caching protocol, dus als vijf minuten geleden een andere klant van EDPNET naar deze website is geweest, dan antwoord de DNS server gewoon uit zijn cache. 2. De DNS server van EDPNET vraagt in een iteratieve query aan een root server (hier de H root server in de USA) waar zich www.linux-training.be bevindt. 3. De root server antwoordt met een verwijzing naar de DNS server die verantwoordelijk is voor de hele .be zone. Als je snift dan zie je dat er een hele lijst van .be servers wordt gegeven en kan je zien dat deze lijst zowel namen als IPaddressen bevat. 4. De DNS server van EDPNET vraagt, wederom iteratief, waar www.linuxtraining.be is aan een van de .be DNS servers (de eerste uit de lijst van de vorige stap was a.ns.dns.be). 5. De .be DNS server antwoordt met een reeks namen en bijhorende ip-adressen van openminds (het hosting bedrijf waar de www.linux-training.be) webserver staat. 6. De DNS server van EDPNET heeft nu de DNS server gevonden die verantwoordelijk (authoritative) is voor linux-training.be en vraagt aan deze de A record voor www.linux-training.be. 7. De DNS server ns1.openminds.be antwoordt met de gezochte A record 88.151.243.8. 109
naamresolutie en DNS 8. De DNS server van EDPNET geeft dit antwoord aan de laptop. De laptop kan nu rechtstreeks de webserver bereiken (maar dat is een ander verhaal). In dit verhaal heeft de laptop een recursieve query gedaan, hij wil een volledig antwoord. De root servers en de .be servers antwoorden niet op recursieve queries, enkel op iteratieve! In dit verhaal werden enkel udp packetjes gebruikt, er is dus nergens een tcp sessie opgezet.
Je weet (hopelijk) dat het routerke twee ip-adressen heeft, eentje aan de binnenkant (de kant van het thuisnetwerk 192.168.1.1) en eentje aan de buitenkant (de internetkant).
110
naamresolutie en DNS
0. De laptop doet een recursieve DNS query naar het routerke. 1. Het routerke doet een recursieve DNS query naar de DNS server van de ISP. 2. tot 7. De DNS server van de ISP EDPNET doet al het werk. 8. Het routerke krijgt een definitief antwoord, en houdt dit antwoord bij in zijn cache. 9. De laptop krijgt een definitief antwoord van het routerke. Als even later een andere (thuis)computer dezelfde vraag stelt aan het routerke, dan kan dit antwoorden vanuit zijn cache.
111
naamresolutie en DNS
112
naamresolutie en DNS
Red Hat noemt dit Add/Remove Software. Ook hier zijn we gemakshalve aangelogd als root.
Alternatief kan je op Linux gebruik maken van de command line yum of aptitude.
root@RHEL5:~# yum install bind root@debian:~# aptitude install bind9
113
naamresolutie en DNS
Red Hat gebruikt de vrije applicatie genaamd BIND. BIND is sinds de ontwikkeling van DNS in 1983 de meest gebruikte DNS server.
114
naamresolutie en DNS
Red Hat heeft ook een GUI DNS tool, maar deze moet je wel apart installeren. Unix mensen zijn al jaren gewoon om rechtstreeks met de text bestanden te werken.
115
naamresolutie en DNS
En we doen hetzelfde op Red Hat. Alternatief kunnen we dit op zowat elke Unix ook zo doen:
echo nameserver 192.168.1.200 > /etc/resolv.conf
116
naamresolutie en DNS
BIND levert standaard een aantal zones mee. Zoals eerder gezegd, zullen Unix mensen meestal een bestaande zone-bestand copieren en aanpassen.
117
naamresolutie en DNS
Red Hat vraagt eveneens de naam van de aan te maken zone, en gebruikt deze naam om de zone database file aan te maken.
118
naamresolutie en DNS
11.15.8. nslookup
Hier gebruiken we nslookup om de DNS server te testen. We vragen de A record van w2003.classdemo.local en www.classdemo.local (die laatste bestaat niet).
Microsoft start vanzelf de DNS server, Red Hat wacht totdat we dit zelf doen. U ziet wederom nslookup met twee queries voor twee A records.
119
naamresolutie en DNS
11.15.9. A record
Na aanmaken van de A record, wordt die ook geresolved door nslookup.
120
naamresolutie en DNS
11.15.10. MX record
Een MX record wijst naar de smtp server van een domeinnaam. Deze mailserver kan zelf in een andere domein zitten.
121
naamresolutie en DNS
Op Linux wordt behalve nslookup ook meer en meer gebruikt gemaakt van dig.
122
naamresolutie en DNS
Knippen en plakken in deze files kan zelfs tussen Unix en Microsoft systemen.
123
2. Toon de lokale dns-cache op Windows met ipconfig /displaydns, ledig deze cache met ipconfig /flushdns (Standaard Linux isntallaties hebben geen lokale dns-cache). 3. Forceer een lookup van een A-record (je hebt toch genoteerd wat een A-record is in de vorige les?). Welke packetjes zie je op het netwerk alvorens er een antwoord komt op deze query ? 4. Welke poort gebruikt de client om de DNS server te bereiken ? 5. Gebruikt DNS tcp of udp ? 6. Wat is een AAAA record ? 7. Waarom zie je soms eerst een AAAA query voor een A query ? 8. Start nslookup interactief. Wat kan je met deze tool doen ? 9. Toon een A record via nslookup. 10. Verander van DNS-server (enkel in nslookup) naar de RHEL5 server (ip-adres staat op bord). 11. Wat is het ip-adres van www.classdemo.local volgens deze server ? 12. Hoe kan je deze DNS server als default instellen in Windows XP ?
124
negende les 13. Kan je nog op internet als je deze DNS-server instelt in Windows XP ? 14. Is dns een internet standaard ? Zo ja, waar is die neergeschreven ?
125
negende les
126
127
tiende les
B Nee
20. In welke OSI laag vinden we mac-adressen ? 21. In welke OSI laag vinden we ip-adressen ? 22. Wat is 192.168.1.42?
A. een mac-adres B. een ip-adres C. een ibm-adres
tiende les
betrouwbaar onbetrouwbaar connectie connectieloos sessie sessieloos three-way-handshake
29. Welk protocol zorgt voor de link tussen mac-adres en ip-adres ? 30. Welke kabel bevat de meeste 'twists' ?
A utp B twisted pair
31a. Hoe heet het toestel dat het telefoonnetwerk verbind met de computer (en dus geluid omzet in bytes en omgekeerd) ?
A B C D E hub switch router gateway modem
33. Wie stuurt de foutboodschappen die je te zien krijgt bij een ping ?
A B C D E IGMP IP ICMP MIME SNMP
34. Welke filter moet je instellen in wireshark om een tcp three-way handshake te zien ? 35. Welke filter moet je instellen in wireshark om http trafiek te zien ? 36. Welke filter moet je instellen in wireshark om dhcp broadcasts te zien ? 37. Welk commando kan je op Windows gebruiken om je ip-adres en subne mask te zien ?
A. traceroute B ping C ipconfig D ifconfig E arp -a
38. Welk commando kan je op Linux gebruiken om je ip-adres en subne mask te zien ?
A. traceroute B ping C ipconfig D ifconfig
129
tiende les
E arp -a
39. In welke OSI laag vinden we de hub ? 40. In welke OSI laag vinden we de repeater ? 41. In welke OSI laag vinden we de layer 2 switch ? 42. In welke OSI laag vinden we de router ? 43. In welke OSI laag vinden we de layer 3 switch ? 44. Welk commando toont ons alle routers tussen onze pc en een webserver ?
A. tracert of traceroute B ping of pong C firefox -r of firefox -tr D ipconfig /displayrouters E arp -a
46. Neem een screenshot van een TCP handshake in wireshark en zet deze op de desktop. Toon aan de leraar als hij passeert! 47. Neem een screenshot van een DNS forward lookup van www.google.com in wireshark en zet deze op de desktop. Toon aan de leraar als hij passeert! 48. Neem een screenshot van een PING met bijhorende ARP in wireshark en zet deze op de desktop. Toon aan de leraar als hij passeert! 49. Zet de volgende decimale getallen om in binair :
0 : 1 : 4 : 7 : 128 : 255 :
51. Noteer hier het broadcast mac-adres : 52. Noteer hier de default subnet mask voor een klasse A adres. 53. Noteer hier de default subnet mask voor een klasse A adres in hexadecimale vorm. 130
tiende les
59. Gebruik het volgende netwerk om vier delen te maken die minstens 200 ipadressen bevatten. Je moet niet alle ip-adressen gebruiken.
10.104.0.0/16
61. Geef de default subnet mask voor 172.16.0.1 62. Welke klasse is 192.168.1.1 ? 63. Zitten de volgende computers in hetzelfde netwerk ?
192.168.1.15/24 en 192.168.2.15/24
131
tiende les
B 65 duizend C 130 duizend
67. Uit hoeveel packetjes bestaat het opzetten van een udp sessie ?
A. B. C. D. E. 2 3 4 5 een udp-sessie bestaat niet
68. Maak een tekening met daarop jou pc, die van je buurman, de router van scheppers en de dns server van scheppers. Zet de juiste mac-adressen erbij. 69. Maak een tekening met daarop jou pc, die van je buurman, de router van scheppers en de dns server van scheppers. Zet de juiste ip-adressen erbij. 70. Wat gebeurt er met het bron-ip-adres als je een ping doet naar een machine achter een gewone router ? 71. Wat gebeurt er met het bestemmings-ip-adres als je een ping doet naar een machine achter een gewone router ? 72. Wat gebeurt er met het bron-ip-adres als je een ping doet naar een machine achter een snat router ? 73. Wat gebeurt er met het bestemmings-ip-adres als je een ping doet naar een machine achter een snat router ? 74. Wat gebeurt er met het bron-ip-adres als je een ping doet naar een machine achter een dnat router ? 75. Wat gebeurt er met het bestemmings-ip-adres als je een ping doet naar een machine achter een dnat router ?
132
14.1. de vragen
Vraag 1. De laptop genaamd mb doet een ping naar de desktop genaamd barry. In het linkse groene kadertje staat (vereenvoudigd) het packetje op het linkse netwerk. Het rechtse groene kadertje is voor het rechtse netwerk. Vul de tekening aan met de correcte omschrijvingen voor mac-adres en ip-adres (src = source of bron, dest = destination of bestemming). Vul de woorden mb, barry en router in de groene kadertjes. De router is een gewone router zonder nat.
Vraag 2. De laptop genaamd mb doet een ping naar de desktop genaamd barry. In het linkse groene kadertje staat (vereenvoudigd) het packetje op het linkse netwerk. Het rechtse groene kadertje is voor het rechtse netwerk. Vul de tekening aan met de correcte omschrijvingen voor mac-adres en ip-adres (src = source of bron, dest = destination of bestemming). Vul de woorden mb, barry en router in de groene kadertjes. De router is een source nat of snat router (vergelijkbaar met het routerke dat jullie thuis hebben staan).
133
Test 9 en 10 november
134
Test 9 en 10 november Vraag 3. Een volledige backup van een databank duurt volgens de berekening van je medewerker exact 740715 seconden (zevenhonderdveertigduizend en zevenhonderdvijftien). Zet die 740715 seconden om in dagen, uren, minuten en seconden. U mag hiervoor de rekenmachine van de computer gebruiken, op voorwaarde dat geen enkel ander venster open staat (ook niet geminimized).
Vraag 6. Welk besturingssysteem of webserver wordt gebruikt voor de volgende websites ? Kijk goed naar het eerste antwoord van de webserver. Geef geen informatie over advertenties die op dezelfde website staan. (Typ ook geen www. voor de gegeven url.)
sporza.be : vtm.be : ginsys.be : inuits.be : planet.grep.be :
135
Test 9 en 10 november
14.2. de antwoorden
Vraag 1. De laptop genaamd mb doet een ping naar de desktop genaamd barry. In het linkse groene kadertje staat (vereenvoudigd) het packetje op het linkse netwerk. Het rechtse groene kadertje is voor het rechtse netwerk. Vul de tekening aan met de correcte omschrijvingen voor mac-adres en ip-adres (src = source of bron, dest = destination of bestemming). Vul de woorden mb, barry en router in de groene kadertjes. De router is een gewone router zonder nat. mac-adressen blijven steeds lokaal tot aan de router! In het linkse netwerk kan je dus enkel de mac-adressen van de macbook en van de router schrijven, met macbook als bron en router als bestemming. In het rechtse netwerk kan je enkel de mac-adressen van de router en van de desktop zetten, met de router als bron. ip-adressen zorgen voor de verbinding tussen twee computers, en worden door (normale) routers niet aangepast. Links en rechts zet je dus hetzelfde ip-adres als bron (dat van de macbook waar de ping vertrekt) en hetzelfde ip-adres als bestemming (dat van de desktop die de ping ontvangt). Vraag 2. De laptop genaamd mb doet een ping naar de desktop genaamd barry. In het linkse groene kadertje staat (vereenvoudigd) het packetje op het linkse netwerk. Het rechtse groene kadertje is voor het rechtse netwerk. Vul de tekening aan met de correcte omschrijvingen voor mac-adres en ip-adres (src = source of bron, dest = destination of bestemming). Vul de woorden mb, barry en router in de groene kadertjes. De router is een source nat of snat router (vergelijkbaar met het routerke dat jullie thuis hebben staan). mac-adressen blijven steeds lokaal tot aan de router! In het linkse netwerk kan je dus enkel de mac-adressen van de macbook en van de router schrijven, met macbook als bron en router als bestemming. In het rechtse netwerk kan je enkel de mac-adressen van de router en van de desktop zetten, met de router als bron. Een source nat gaat het bron-ip-adres vervangen door zijn eigen ip-adres (als bron). De ip-adres bestemming blijft dus overal de desktop, de bron is links de macbook, en rechts de router.
136
Test 9 en 10 november Vraag 3. Zet 740715 seconden om in dagen, uren, minuten en seconden.
740715/60/60/24=8.573 (8 dagen, acher de komma bijhouden) 0.873*24=13.754 (13 uren, na de komma bijhouden) 0.754*60=45.25 (45 minuten, na de komma bijhouden) .25*60=15 (15 seconden)
schrap de niet private ranges (168.192.* 127.* 169.* 172.38.*) schrap de niet-netwerken 172.16.0.0/8 en 192.168.0.0/8) schrap de te kleine netwerken (alles boven de /24)
Je houdt nu nog twee netwerken over met meer dan 5000 ip's 10.0.0.0/12 en 172.16.0.0/15. Schrap de overlappende netwerken 10.0.x.0/24 en 172.17.2.0/24, dan blijven er nog drie over 172.26.1.0/24 , 192.168.2.0/24 en 192.168.4.0/24 Vraag 5. Schrijf de volgende woorden bij het juiste protocol. Table 14.2. TCP of UDP TCP connectie betrouwbaar sessie triple handshake http smtp rip UDP connectieloos onbetrouwbaar
De eerste groep kreeg rip, de tweede groep smtp. Vraag 6. Welk besturingssysteem of webserver wordt gebruikt voor de volgende websites ? Kijk goed naar het eerste antwoord van de webserver. Geef geen informatie over advertenties die op dezelfde website staan. (Typ ook geen www. voor de gegeven url.)
sporza.be : Apache/2.2.3 (Linux/SUSE) vtm.be : Oracle Application Server /10g (10.1.2) ginsys.be : Apache inuits.be : Apache/2.2.3 (CentOS) planet.grep.be : nginx
Gebruik dns or tcp als filter, dan zie je je dns-lookup voor sporza.be, vlak daarna de tcp-three-way-handshake, vlak daarna de http-request van je browser en vlak daarna de eerste reactie van de http-server. 137
15.1.1. modulatie-demodulatie
Per definitie is een modem een modulator-demodulator. Modulatie is het encoderen van digitale informatie (zoals bits) over een analoog signaal (zoals het geluid over een telefoonverbinding). Demodulatie is het terug omzetten van dit analoge signaal naar (hopelijk dezelfde) bits. Een modem is dus een interface tussen de computer en het telefoonnetwerk, en laat toe dat twee computers (digitaal) met elkaar praten over de (analoge) telefoon.
15.1.2. baud
Het moduleren van digitale informatie gebeurt in symbolen. Een symbool is een eenheid van digitale informatie die gecodeerd (gemoduleerd) is in een analoog signaal. Zo een eenheid van digitale informatie is bijvoorbeeld een bit (deze kan 0 of 1 zijn). Maar het kan evengoed een koppel bits zijn (mogelijke symbolen zijn dan 00, 01, 10 en 11). Indien een modem 300 symbolen per seconde kan zenden of ontvangen, spreken we van een modulatie rate of baud rate van 300.
modems Tbps). In tegenstelling tot de kibi vs kilo discussie bij harde schijven, is hier een kilo altijd gelijk geweest aan 1000 en een mega altijd aan 1000 kilo (enzoverder).
15.1.5. pariteit
Pariteit is een eenvoudige controle op fouten tijdens de transmissie.
modems In tegenstelling tot wat sommige mensen denken, maakt de DSL technologie geen gebruik van het echte pots netwerk, maar enkel van de local loop.
15.2.2. ADSL
Asynchronous DSL werkt ook over de telefoonlijn, of beter over het klassieke koperpaar tot aan de centrale (de local loop). adsl is veel sneller dan de 'normale' modems. adsl gebruikt andere frequenties dan de voice-modems, en werkt enkel op korte afstand (maximum 5km) van de DSLAM in de telefooncentrale. Die dslam splitst wederom de stem van de rest, en daar waar de stem over het pots netwerk verder gaat, gaat het adsl signaal over het datanetwerk van de telefoonmaatschappij (of isp) om zodoende het internet te bereiken. ADSL heeft typisch een veel grotere download bandbreedte dan upload. Een adsl modem synchroniseert met een bepaalde sync rate, de gebruiker bereikt door overhead maximaal 80-85 procent van deze sync rate.
15.2.3. SDSL
Synchronous DSL is nagenoeg identiek aan ADSL, behalve dat de up en download hetzelfde is.
15.2.4. DSLAM
Een DSLAM is een multiplexer die verscheidene DSL lijnen verbindt met het internet. Je kan pas ADSL nemen als jouw telefooncentrale over een DSLAM beschikt. De bandbreedte die je haalt tussen je xDSL modem en je lokale DSLAM wordt beperkt door de afstand tot aan de centrale:
300m 600m 900m 1200m 1500m 1800m 2100m 4500m --> --> --> --> --> --> --> --> 25 Mbit/s 24 Mbit/s 23 Mbit/s 22 Mbit/s 21 Mbit/s 19 Mbit/s 16 Mbit/s 1.5 Mbit/s
modems
15.2.6. ATM
ATM is ontwikkeld in de jaren 80 met realtime audio en video over het netwerk als doel. ATM werkt met zeer kleine cellen om jitter te voorkomen. Het is immers onaanvaardbaar dat packetjes te laat komen tijdens een telefoongesprek. Naast een DSLAM (in dezelfde telefooncentrale) staat soms een ATM verbonden met een ISP.
15.2.7. IP-DSLAM
Een IP-DSLAM is een DSLAM die rechtstreeks IP spreekt met routers (in tegenstelling tot de normale DSLAM die ATM gebruikt om daarna via een ATM-IP router te verbinden met IP).
15.2.8. IDSL
IDSL is DSL over ISDN. Het grote verschil met SDSL en ADSL is dat er bij IDSL geen gebruik wordt gemaakt van het klassieke voice-telefoonnetwerk. Alle data gaat over het ISDN netwerk. Nadeel is dan weer dat je niet tegelijk kan internetten en telefoneren (als je enkel over ISDN beschikt).
15.2.9. multiplexen
Multiplexen wil zeggen dat meerdere digitale signalen (die komen van meerdere kabels) worden samengezet op 1 enkel signaal (een enkele kabel). Multiplexen laat dus toe dat meerdere digitale signalen een (duur) kanaal (of een enkele kabel) delen. De multiplexer is een toestel dat meerdere signalen groepeert, de demultiplexer haalt de originele signalen er weer uit. Deze toestellen worden ook een muxer en een demuxer genoemd.
15.2.10. ADSL2+
ADSL2+ gebruikt een groter spectrum om de downloadsnelheid van ADSL te verdubbelen tot 24Mbit/s.
15.2.11. VDSL
15.2.12.
141
modems
15.2.13.
15.3.2. CMTS
Te vergelijken met de DSLAM bij DSL, verbinden de kabelmodems van de klanten zich met een CMTS in de centrales van het (TV-)kabelnetwerk. Een CMTS heeft (duizenden) coax kabels aan de ene kant, en ethernet interfaces aan de internet kant.
ISDN BRI IDSL SDSL ADSL ADSL2+ DOCSIS v1 EuroDOCSIS v1 DOCSIS v2 EuroDOCSIS v2 DOCSIS v3 EuroDOCSIS v3 ter info : GPON FTTH
--> 1024/ 128 kB/s --> 3072/ 448 kB/s --> 4750/ 1125 kB/s --> 6000/ 1125 kB/s --> 4750/ 3375 kB/s --> 6000/ 3375 kB/s --> 20000/15000 kB/s --> 25000/15000 kB/s --> +300000 kB/s
142
modems
143
16.1. wireless
Wireless is veel trager dan bijvoorbeeld utp kabels, maar meestal wel snel genoeg (sneller dus) dan gangbare thuis-internet verbindingen. Wireless ofte draadloos wil zeggen dat we alles bekijken wat golven van energie gebruikt om (data) te communiceren. Eerst eens kijken wat een golf is. Een golf (voor zover we die gebruiken bij datacommunicatie) beweegt zich voort in de lucht (of in een ander medium) met een bepaalde frequentie en amplitude. We laten voor het gemak de lichtgolven en elektromagnetische golven even buiten beschouwing.
16.2. frequentie
Frequentie wordt uitgedrukt in Hertz. Een golf met een frequentie van 440 Hertz ontvang je 440 keer in zijn geheel per seconde. Tussen haakjes, 440Hz is de basisfrequentie voor het stemmen van instrumenten (ook wel kamertoon genoemd). De meeste golven in deze cursus hebben echter een veel hogere frequentie, daarom gebruiken we onder andere kHz, MHz, GHz en THz (voor elke orde van 1000). Heinrich Hertz (1857-02-27 - 1894-01-01) was een Hamburgs natuurkundige die vooral bezig was met elektromagnetisme en lichtgolven. Hij was de eerste om het bestaan van VHF en UHF aan te tonen. 144
draadloze netwerken
16.3. spectrum
UHF en VHF zijn onderdelen van het volledige radiospectrum, gaande van 3 Hz tot 300 Ghz.
http://nl.wikipedia.org/wiki/Radiospectrum
De AM-radio uitzendingen (de langegolf) zitten bijvoorbeeld in de LF band (Low Frequency). FM en (analoge)TV uitzendingen gebruiken de VHF (30-300Mhz). Een toontje hoger zitten UHF-TV, GSM, onze microgolfoven, wireless LAN en Bluetooth. UHF golven zijn tussen de 10 centimeter en 1 meter lang, en overbruggen moeiteloos afstanden tot 100km. UHF wordt ook opgevangen door satellietschotel antennes. Het spectrum is bepaald door de ITU (http://www.itu.int).
16.4. amplitude
Amplitude is de grootte van de golf.
Een geluidsgolf is bijvoorbeeld sterker (of groter) als hij vertrekt bij uw mond, dan wanneer hij aankomt bij iemands oor (toch als je zonder versterkers in een open ruimte spreekt). Bij geluidsgolven wordt deze amplitude gemeten als luchtdruk (in pascal dus).
16.5. fase
De fase van een golf kan uitgedrukt worden in graden, waarbij 360 graden gelijk is aan 1 golflengte. Verschillende golven kunnen met elkaar in fase zijn, of niet.
145
draadloze netwerken
16.6. golflengte
De golflengte is de lengte in meter van een golf, te meten van top tot top (of eender welk ander puntenkoppel met dezelfde fase).
16.7.1. 802.11a
De IEEE 802.11a standaard dateert al uit 1999 en werkt op de 5GHz band. De theoretische maximum bandbreedte die je met deze standaard haalt, is 54Mbit/s (net zoals modems wordt er teruggevallen op lagere snelheden bij het handshaken). Deze standaard gebruikt 12 kanalen.
16.7.2. 802.11b
De IEEE 802.11b standaard (ook uit 1999) is beperkt tot maximaal 11Mbit/s, maar is wel al tien jaar beschikbaar in de praktijk. Bijkomend voordeel op de 802.11a is dat deze de 2.4GHz band gebruikt i.p.v. de 5GHz (deze laatste wordt makkelijker geabsorbeerd door muren). Nadeel is dan weer dat de 2.4GHz band een vrije band is, er is dus interferentie mogelijk met andere draadloze toestellen (en ook met microgolfovens). 146
draadloze netwerken
16.7.3. 802.11g
In 2003 kwam men op de proppen met de IEE 802.11g standaard. Deze werkt ook in het 2.4GHz spectrum, maar wel aan maximaal 54Mbit (in de praktijk 22Mbit bruikbare data). Al sinds januari 2003 (dus nog voordat de standaard er was) zijn er triband (ondersteuning voor a,b en g) producten op de markt.
16.7.4. 802.11n
Sinds eind 2009 is er een nieuwe standaard, de 802.11n met een theoretische bandbreedte van 600Mbit/s. De toestellen zijn al wel sinds twee jaar te koop.
http://en.wikipedia.org/wiki/IEEE_802.11n-2009
16.7.5. kanalen
Een band zoals bijvoorbeeld de 2.4GHz band wordt de een IEEE 802.11 standaard steeds onderverdeeld in kanalen. De 2.4Ghz band beschikt eigenlijk over alle frequenties van 2.400 Ghz tot en met 2.499 GHz. Vanaf het eerste kanaal op 2.412 GHz is er om de 5Mhz een nieuw kanaal. Alle kanalen zijn 22MHz breed, er is dus overlapping.
http://en.wikipedia.org/wiki/List_of_WLAN_channels
Het is aan te raden om enkel de kanalen 1, 6 en 11 te gebruiken als het bereik van de access points elkaar overlapt. Het gebruik van de kanalen 1, 4, 8 en 11 kan voor problemen zorgen (als je ze onverstandig plaatst).
http://www.cisco.com/en/US/docs/wireless/technology/channel/deployment/guide/Channel.htm
16.7.6. bonding
Producten die kanalen samen gebruiken (bonding) om 108Mbit aan te bieden, zijn niet beschreven in een standaard en zijn zeker niet met alle draadloze clients compatibel.
16.7.7. bandbreedte?
In de praktijk wordt door de asynchroniteit van deze standaarden en de overhead van de lagen een veel lagere doorvoer van data gehaald dan de geadverteerde 54Mbit (of 11Mbit).
16.8. WiMAX
WiMAX is de marketing naam voor de IEEE 802.16 standaard om mobiele draadloze toegang te voorzien met een bereik van enkele kilometer en een 147
draadloze netwerken bandbreedte tussen 1 en 20Mbit. Steden zoals Leuven, Gent en Aalst beschikken over een WiMAX netwerk (van Clearwire). Praktijkervaring leert dat de technologie nog in de kinderschoenen staat (of dat clearwire het aantal stations duidelijk onderschat). Er zijn (of waren) plannen bij Clearwire om heel Belgi te dekken met WiMAX (maar vandaag is er nog geen verbinding in Antwerpen bijvoorbeeld).
16.9. Wi-fi
Dit is een handelsmerk, meestal gebruikt voor WLAN (Wireless LAN) toestellen.
16.11. hotspot
Een hotspot is een plaats waar draadloos internet beschikbaar is. Zowel laptops, netbooks als pda en smartphones kunnen gebruik maken van hotspots. Beveiliging van hotspots (of wireless in het algemeen) is een heel groot onderwerp...
16.12.3. IP beveiliging
Je kan de draadloze DHCP server afzetten, en enkel werken met (enkele) toegelaten vaste ip-adressen.
16.12.4. WEP
WEP staat voor Wired Equivalency Privacy/Protocol en is een verouderde standaard om draadloze netwerken te beveiligen. De WEP standaard dateert uit 1997, sinds 2001 zijn er tools te vinden om WEP te kraken. Als reactie hierop werd WPA ontworpen. WEP bestaat (of bestond) in een 40bit en een 128bit standaard (danku USA). Een grotere sleutel wil zeggen dat er meer pakketjes moeten gesnift worden alvorens je de key kan berekenen (kraken). Een goeie crack-tool genereert zelf binnen enkele minuten de nodige trafiek om de WEP-sleutel te achterhalen. Sinds 2007 is publiek aangetoond dat dit ook binnen de enkele seconden kan.
http://eprint.iacr.org/2007/120.pdf
16.12.5. WPA
WPA staat voor Wi-Fi Protected Access en is ontworpen als reactie op de zwakke WEP beveiliging. WPA is ondertussen zelf vervangen door WPA2. WPA beveiliging met een simpele passphrase (pre-shared key) kan binnen de minuut gekraakt worden. WPA2 (dat AES gebruikt) is wel veilig als je een goeie 64-hex string gebruikt.
16.13. wardriving
wardriving is het zoeken naar draadloze (onbeveiligde) netwerken met een laptop of netbook, meestal al rijdend. Meestal worden tools zoals kismet of kismac gebruikt, soms ook netstumbler, maar er bestaan heel wat meer tools. wardriving brengt deze netwerken in kaart (door te luisteren). Het effectief gebruiken van (onbeveiligde) draadloze netwerken behoort niet tot het wardriven. (netstumbler gaat dus iets verder dan nodig om netwerken in kaart te brengen) 149
draadloze netwerken
16.14. bluetooth
Bluetooth is een draadloos protocol dat gebruikt maakt van een master om te communiceren met een slave. Een bluetooth toestel kan een verbinding hebben met maximaal zeven slaves. Enkel de master kan data sturen (of data opvragen). Heel wat toestellen hebben standaard bluetooth geactiveerd. Scannen naar bluetooth toestellen in je woonkamer kan wel eens verrassende resulaten opleveren als er toevallig mensen passeren op straat:
root@mac:~# hcitool scan Scanning ... 00:22:XX:XX:XX:XX HTC Hero grijs 00:16:53:0B:1C:75 Mercedes 00:16:53:08:EB:6E Julie 00:16:X8:4X:52:95 W810i 00:16:XX:XX:XX:8X n/a 00:16:XX:XX:XX:8X Steven Nokia 6021 00:19:4X:75:85:53 Johnneke 00:1X:XX:X2:9X:7X Nokia 6021 00:21:XX:XX:XX:XX Nokia 3120 classic 00:26:5X:7X:2X:88 David 18:86:XX:18:XX:39 Nokia 6300 X8:7X:33:XX:8X:X2 Nokia 6303 classic X8:7X:33:XX:93:X2 Nokia 6303 classic
150
17.1. hubs
We weten nog dat hubs in principe veredelde versterkers zijn die signalen die ze binnenkrijgen doorsturen naar alle andere poorten. Hubs zijn de eenvoudigste toestellen en zitten in laag 1. We beschikken over een GeoStax/E 16-port hub en over een 5-port 3Com OfficeConnect 'switch' (die behalve 802.1p en 10/100Mbit detectie eigenlijk een hub is).
17.2. switches
We weten nog dat switches in laag 2 zitten, en dat die dus ietsje slimmer zijn dan hubs. Switches bestaan er in 1001 soorten. We hebben een 24-port SmartStack ELS-100, een 24-port DNswitch 224s en een 24-port LinkSys/Cisco SR224.
17.3. routers
Routers kennen ip-adressen en zitten dus in laag 3. Brengt iemand een routerke mee van thuis ?
17.4. kabels
We hebben uiteraard straight en crossed utp kabels nodig, en ook een nullmodem kabel.
17.4.1. rj45
In de volksmond heeft men het dikwijls over rj11 en rj45 aansluitingen voor respectievelijk de telefoon-plug en de netwerkkabel-plug. Feitelijk berust dit op een misverstand. 151
http://en.wikipedia.org/wiki/RJ45
17.4.5. de console
Er bestaat soms veel verwarring over wat de console nu juist is. We gebruiken hier in de klas een nullmodem kabel om de console van een switch te bekijken. In onze klas is de console dus het scherm dat luistert naar de serile poort van een van de computers. Op Unix wordt het toestel (of het device) dat luistert naar /dev/console wel eens de console genoemd. 152
Het eerste screenshot hierboven toont het welkomstscherm van de SmartStack ELS100 switch. Je moet uiteraard over een userid en paswoord beschikken om de switch te beheren.
Je kan het stp (spanning tree protocol) beheren en installeren via dit menu. In het screenshot hierboven zie je dat er een kabel steekt in port 4.
154
Als je het ip-adres kent, dan kan je surfen naar de webinterface van de switch.
17.6. stp
Het spanning tree protocol of stp ... Een voorbeeldje van stp aan het werk (met dank aan GhosT die deze tekeningen onder CC Attribution 3.0 op wikipedia heeft gezet). Hieronder een netwerk bestaande uit 6 segmenten (letters a tot f), gescheiden door zeven switches (cijfers 3, 4, 5, 7, 12, 24, 92). Zonder stp zouden er eindeloze lussen ontstaan (van bijvoorbeeld arp broadcasts).
155
De eerste actie van stp is om een root bridge te verkiezen (herinner U dat bridges en switches beide op layer 2 zitten). De switch met de laagste bridge id wordt verkozen tot root bridge. Een bridge id is een combinatie van een in te stellen prioriteit (een geheel getal) en het mac adres. Enkel bij gelijke prioriteit wint de bridge(switch) met het laagste mac adres. In ons voorbeeld is switch nr 3 verkozen tot root bridge.
156
praktijk netwerk bouwen Vervolgens zoekt elke switch de kortste weg naar de root bridge. In ons voorbeeld hier heeft elk netwerk een cost van 1 gekregen, maar in de praktijk kan dit verschillen. Elke switch benoemt de poort van die kortste weg de root port (RP).
Vervolgens wordt er voor elk netwerksegment de poort gezocht die de kortste weg aanduidt naar de root bridge. Deze poort wordt dan de designated port (DP) voor dat netwerksegment genoemd.
157
praktijk netwerk bouwen Alle overige poorten worden geblocked (Blocked Ports).
Als het netwerk (door een losse kabel bijvoorbeeld) hertekend wordt, dan berekent stp automatisch de nieuwe koste weg naar de root bridge, met bijhorende herbenoeming van root ports en designated ports.
158
18.1. inleiding
Wat volgt is een demo van het opzetten van een DHCP server. Eerst op Windows 2003 Server zoals we in de klas vorige week gedaan hebben, dan op Red Hat Linux Server.
159
demo dhcp Pas na deze vier broadcasts mag de client de ip-configuratie die hij gekregen heeft gebruiken. Dit tot aan het einde van de lease periode.
Zoals de meeste Windows settings wordt je ook hier een wizard kado gedaan die je begeleidt door de setup van een nieuwe scope (of range).
160
demo dhcp
Elke setting krijgt een aparte pagina in de wizard. Hieronder de vraag naar de range van ip-adressen.
Als een client een ip-adres (of een ip-configuratie met subnet+router+dns+...) krijgt, dan is dit altijd tijdelijk. Als de helft van deze lease time bereikt is, dan zal de client terug een DHCPrequest broadcasten. Meestal komt er dan een DHCPack van de server, met een nieuwe (meestal dezelfde) lease time.
161
demo dhcp
Eens de wizard doorlopen, en de scope geactiveerd, kan je alle settings en alle leases bekijken via de DHCP tool (eigenlijk een dhcp snapin voor de mmc).
demo dhcp aan te tonen dat deze vier computers op hetzelfde netwerk, hetzelfde segment zitten. Alle vier de computers hebben een kabel naar de hub (niet getekend hier).
1. De client SunWS1 start op en stuurt een DHCPDiscover op het netwerk. Alle computers ontvangen deze broadcast. 2. Beide DHCP servers antwoorden met een DHCPOffer. DHCP-SRV1 is een dedicated DHCP server en is sneller met zijn offer dan DHCP-SRV2 (die ook fileserver is). 3. De client kiest het offer van DHCP-SRV1 en stuurt een DHCPRequest op het netwerk. 4. DHCP-SRV1 antwoordt met een DHCPAck (een acknowledge). Alle vier broadcasts (of vijf want er waren twee offers) zijn een layer 2 ethernet broadcast naar ff:ff:ff:ff:ff:ff en een layer 3 ip broadcast naar 255.255.255.255. Alle vier de computers hebben alle broadcasts ontvangen.
163
demo dhcp
We passen het voorbeeldje een beetje aan en kopiren de volgende configuratie naar /etc/dhcpd.conf.
subnet 192.168.1.0 netmask 255.255.255.0 { range 192.168.1.140 192.168.1.159 option routers 192.168.1.1; option subnet-mask 255.255.255.0; option domain-name "classdemo.local"; option domain-name-servers 192.168.1.1; default-lease-time 21600; }
U herkent hierboven (hopelijk) dezelfde opties als in de Windows 2003 DHCP Server wizard.
164
demo dhcp
165
19.1. inleiding
Vorige les hebben we een webserver opgezet op een Windows 2003 server, een simpele website gemaakt en deze beveiligd met een paswoord. We hebben de nadruk gelegd op http en welke informatie een webserver gebruikt om een van zijn websites te tonen: ip-adres, domeinnaam en poort. Je kan verschillende websites op dezelfde webserver benaderen door een andere poort te kiezen, een ander ip-adres te kiezen, of de website een andere domeinnaam te geven. Nadien hebben we ook met apache een webserver gemaakt die een simpele website toonde. We gebruikten een domeinnaam (toegevoegd aan het hosts bestand) om deze website te bereiken.
166
demo webserver
Hieronder een screenshot van de broncode (html source code) van onze website op Linux, getoond via de browser firefox.
167
demo webserver
19.3. de webservers
Op Windows maakten we gebruik van Microsoft IIS (Internet Information Server). We hebben de default website aangepast, en laten wijzen naar ons index.html document.
Op Red Hat Enterprise Linux hebben we enkel de laatste tien lijnen aangepast in httpd.conf (het configuratiebestand van de httpd (alias apache) webserver.
168
demo webserver
1. Stap 1 gebruikt udp om een A record te vragen aan de lokale DNS server (mijn routerke genaamd illyria). Dit is een forward lookup query voor www.google.com. 2. Is een antwoord van de DNS server dat het ip-adres (209.85.227.113) bevat van de webserver. Dit antwoord kwam ook in een udp packetje. 3. Dit packetje is de eerste stap in de tcp three-way handshake om een tcp sessie op te zetten. Op layer 4 is dit een sessie tussen de macbook en de webserver van Google, maar vergeet niet dat in de praktijk de layer 2 tot aan de router gaat, en de layer 3 (ip) via de router (en nog een tiental andere routers die je kan vinden via traceroute) gaat. 4. Dit is de tweede stap in de tcp handshake, de webserver antwoord met een tcp syn,ack packetje. 5. De macbook bevestigt de tcp sessie met een tcp ack. Na deze drie packetjes (syn ; syn,ack ; ack) is de tcp-sessie een feit. 6. Als de tcp-sessie klaar is, dan kan http eindelijk zijn http query doen om een webpagina te vragen aan de webserver. Zoals we in de demo-les hebben gezien bevat deze http GET een ip-adres, de naam van een website en een poortnummer (hier 80). Hieronder zie je de handshake en de http GET door de ogen van wireshark. 169
demo webserver
Vanaf stap 7, (niet op de tekening) zijn er heel wat packetjes die tussen de macbook en de webserver worden uitgewisseld.
170
1. De eerste actie is een dns A query voor mail.cobbaut.be. 2. Het routerke met ingebouwde DNS server antwoordt met 88.151.243.22 3. De tcp syn. 171
e-mail 4. De tcp syn, ack. 5. De tcp ack (de tcp sessie is nu een feit). 6. Nu kan pop3 in actie schieten. Als je snift, kan je zien dat pop3 een login vereist, en dat alle mails in platte tekst van de mailserver tot op de laptop komen. Hieronder nog even een wireshark screenshot van de 6 stappen.
1. Het eerste wat onze mailclient (Thunderbird hier) doet is een dns query voor de A record van smtp.edpnet.be (die naam haalt hij uit de instellingen die je manueel in je mailprogramma moet ingeven). 2. Gelukkig komt er een antwoord met ip 212.71.0.14 3. tcp syn 4. tcp syn, ack 5. tcp ack 172
e-mail 6. Als zesde stap zien we hieronder niet enkel het begin van smtp in actie. We zien ook dat de mailserver zich identificeert als Sendmail. Sendmail is open source software die door heel wat internet providers wordt gebruikt. Hieronder een wireshark screenshot met deze zes packetjes.
1. De eerste stap is het sturen van de mail naar de mailserver van de provider. In dit geval gaat de computer van de e-mail-verstuurder een tcp sessie opzetten met de smtp server van de isp (in dit geval smtp.edpnet.be). Deze ene stap is uitgelegd in meerdere stappen in de vorige tekening. 2. Als de mailserver van de internet provider de mail ontvangen heeft, dan gaat die eerst nakijken of die bedoeld is voor een lokale mailbox. Indien niet, dan gaat die op zoek naar de MX en de A record van de mailserver waar de mail wel naartoe moet. De mailserver vraagt dus aan zijn lokale DNS server voor de MX record van gmail.com (als je een mail stuurt naar gmail.com natuurlijk). 173
e-mail 3. Stap 3 is het antwoord van de DNS server op de MX query. Dit antwoord bevat ook de A records van o.a. smtp4.google.com. 4. De mailserver van edpnet maakt nu een smtp verbinding (en dus ook een tcp sessie op port 25) met de smtp4.google.com (72.14.221.25) server. De mail verlaat de internet provider van de verstuurder en bereikt de Google servers. 5. Stap 5 daar hebben we het raden naar. Google beschikt over tienduizenden servers, mails kunnen gelezen worden van verschillende servers tegelijkertijd... 6. De laatste stap is het gebruik van een protocol zoals pop3 om de mail te lezen. Om te vermijden dat mails onderweg gelezen worden, kan je ook pop3s (pop3 over ssl) gebruiken. Als extraatje een wireshark screenshot van pop3s in actie. (We hebben in de les nooit over pop3s gesproken, dus je moet dat niet kennen).
174
175
Index
Symbols
1000 bytes, 20 1024 bytes, 20, 21 127.0.0.1, 62 169.254.x.y, 62 23B+D(isdn), 30 2B+D(isdn), 30 30B+D(isdn), 30 32-bit, 20 64-bit, 20 68k, 20 8-bit, 20
C
cidr, 69, 73 circuit switched, 27, 29 Cisco, 7, 26 class A, 63, 70 class B, 63, 70, 70 class C, 63, 70, 70, 70 classful, 72, 76 collision, 27 Commodore Amiga, 20 computernetwerken, 7
D
DARPA, 35 data(isdn), 30 data link layer, 33 decimaal, 75 Dennis Ritchie, 11 dhcp, 37, 62 dial up, 29 dns, 37, 45, 71 dns server, 45 DoD model, 35 double word, 20 Douglas McIlroy, 11 drop, 40 dword, 20
A
adsl, 30, 34, 41, 46 Al Gore, 18 Andrew S. Tanenbaum, 7 anycast, 24 apipa, 62 Apple, 20 appletalk, 15, 29 application layer, 32 arp, 33, 34, 45, 67 arp(protocol), 37 arpanet, 13 ascii, 47 atm, 25 ATM, 34
E
E1(isdn), 30 edpnet, 46 e-mail, 15 ethereal, 36 ethernet, 34, 40
B
Banyan Vines, 15 bbs, 14 bearer(ISDN), 30 belnet, 46 besturingssysteem, 10 binair, 72, 74, 75, 76, 77 bit, 19, 19, 72, 73, 74, 84 bluetooth, 34 bootp, 37 bri(isdn), 30 bridge, 41 broadcast, 24, 69, 73 browser, 43 bsd, 11 bus(netwerk), 27 byte, 19, 72
F
facebook, 16 fddi, 25, 34 fidonet, 14 firefox, 43 firewall, 46 firewire, 34 frame relay, 25, 34 freeBSD, 11 ftp, 15, 71
G
gateway, 42 geheugen, 10 176
Index gehuurde lijn, 30 gigabyte, 22 GNU/Linux, 12 Google, 16 gopher, 15 gpl, 12 kernel, 10 kibibyte, 22 kilobits, 30 kilobyte, 20 kiloBytes, 30
L
LAN, 25 layer 2, 29 layer 3 switch, 41 layer 7 protocol, 43 leerplan, 5 linkedin, 16 link layer, 45 link local, 62 Linus Torvalds, 12 Linux, 12 localhost, 62
H
hardware, 10 Hertz, 29 hexadecimaal, 44 host, 33 host id, 65, 73, 78 http, 43, 43, 44, 45, 46 hub, 27, 40, 40 hub (actief), 40 hub (passief), 40 hybride netwerk, 28
I
ICANN, 16 icmp, 33, 42 IEC, 21 IEEE, 21 IETF, 16 ifconfig(Unix), 65 igmp, 33 Intel, 20 internet, 13, 14, 70 internet explorer, 15 InterNIC, 16 ip, 33, 47 ip-adres, 44, 46, 61, 63, 65, 72, 73, 78 ipconfig(MS), 65 ipsec, 33, 71 ipv4, 14 ipv6, 14 ipx/spx, 15, 29 irda, 34 isdn, 30, 34 ISO, 21, 32 isp, 61
M
mac, 34, 40, 45, 46 MAC, 67 MAN, 25 mau, 27 megabyte, 22 mesh, 28 milnet, 13 mime, 33, 47 modem, 29, 34, 40, 41 moduleren, 41 mosaic, 15 mozilla firefox, 43 ms-dos, 10, 10 multicast, 23 multiport repeater, 40 MultiStation Access Unit, 27
N
nat, 71 ncp, 14 NetBEUI, 15 netBSD, 11 netscape, 15 Netscape Navigator, 15 netwerkkaart, 40 network adapter, 40 network id, 65, 69, 73, 78, 84 network layer, 33 nic, 40 177
J
Jon Postel, 18
K
kb, 30 Ken Thompson, 11
Index nntp, 13 slip, 29, 34 smtp, 13, 15 SNA, 15 sniffer, 36, 44 social networking, 16 SpyGlass, 15 ster(netwerk), 27 stp, 29 subnet, 77 subnet mask, 64, 65, 69, 72, 73, 74, 75, 76, 84 supernet, 84 switch, 27, 41
O
octet, 19 openBSD, 11 open source, 12 operating system, 10 orkut, 16 OS/2, 11 OSI, 32 OSI-model, 29, 32 OSI protocol, 14
P
packet switching, 13, 13 PAN, 26 parallelle verbinding, 27 physical layer, 34 point-to-point, 27 point-to-point-protocol, 29 POTS, 29 pots, 30 ppp, 29, 34 presentation layer, 33 pri(isdn), 30 private ip-adressen, 71 private ip ranges, 61 PSTN, 29 punt-tot-punt, 27
T
T1, 30, 34 T3, 30 tcp, 33, 44, 47, 49 tcp/ip, 14, 35, 43, 45 tcp handshake, 49 tcp sessie, 44, 47 terabyte, 22 Tim Berners Lee, 15, 18 token, 28 Token Ring, 27, 40 traceroute, 45 transfer control protocol, 44 transport layer, 33 tree(netwerk), 28 T-stuk(coax), 27 twisted pair, 29, 34
R
regional internet registry, 61 repeater, 40, 40 rfc, 15, 16 rfc 821, 15 rfc-editor.org, 29 Richard Stallman, 12 ring(netwerk), 27 ripe, 61 RIR, 17 Robert Cailliau, 18 root servers(DNS), 24 router, 26, 28, 33, 41, 45, 67, 70
U
udp, 33, 49 unicast, 23 UNICS, 11 Unix, 11, 18, 29 usb, 34 utp, 29 uucp, 14
V
Vint Cerf, 18 vrije software, 12
S
serile verbinding, 27 session layer, 33 SI, 21 sip, 71
W
W3C, 16 WAN, 25 webserver, 43 Werner Buchholz, 19 178
Index wi-fi, 34 wikipedia, 8, 11 windows 7, 11 windows 98, 10 windows me, 10 windows nt, 10 windows vista, 11 windows xp, 11 wireshark, 36 world wide web, 13, 15 WPAN, 26 www, 15, 18 www.rfc-editor.org, 15
X
X.25, 14, 25 x86, 20
Z
zebibyte, 22 zeroconf, 62
179