Filename: 317508099 ako Uitleg TCP/IP adressering. Opzet: Uitleg TCP/IP adressering Binair rekenen IP classes Subnetten Supernetten Alvorens op de IP-adressen in te gaan is het eerst nodig even dieper in op het binaire stelsel in te gaan. Het binaire stelsel bestaat uit nullen en enen. De positie van een nul of een 1 bepaalt de decimale waarde. Het meest rechtse bit uit een binair getal is het "least significant bit", oftewel de bit met de minste waarde. Het meest linkse bit wordt het "most significant bit" genoemd. Dit bit is dus het meeste waard. Ieder bit in een binair getal stelt een macht van 2 voor. Het linkse bit stelt 2^0 voor: 1 dus. Het bit daar links van is 2^1: 2 dus. Het bit daar weer links van is 2^2: 4. Dit loopt zo door tot het meest linkse bit en hiermee kan dus ieder geheel getal gemaakt worden. Een voorbeeld 1011.0011: 1 * 2^0 = 1 1 * 2^1 = 2 0 * 2^2 = 0 0 * 2^3 = 0 1 * 2^4 = 16 1 * 2^5 = 32 0 * 2^6 = 0 1 * 2^7 = 128 Bij elkaar opgeteld wordt dat: 1+2+16+32+128=179. De ip-adressen die het TCP/IP protocol gebruikt bestaan uit 4 bytes (een byte bestaat uit 8 bit en iedere byte kan 256 combinaties van enen en nullen bevatten). De gebruike manier om ip-adressen te schrijven is de "dotten decimal notation", wat zoiets betekent als "punt-gescheiden decimale notitie. In deze vorm worden de bytes als een decimaal getal geschreven, dus een nummer dat van 0 tot 255 loopt, en wordt gescheiden door een punt. Iedere nul die het getal bevat wordt weggelaten, behalve als het niet aan het begin van een getal staat (056 -> 56, 103 > 103). De afspraak is dat ieder apparaat dat het TCP/IP protocol gebruikt een IP-adres heeft. IPnetwerken bestaan uit opeenvolgende IP-nummers. Alle adressen in een netwerk hebben een aantal getallen die overeen komen met het netwerkadres. Het stuk van het IP-adres dat voor elk adres binnen het netwerk hetzelfde is, heet het "netwerk deel" van het adres. De overgebleven nummer heten het "host deel". Het aantal bits van het IP-nummer dat het netwerkdeel aangeeft, wordt weergegeven door het "netmask". Het netmask wordt meestal weergegeven achter het IP-adres gescheiden door een "/". Een voorbeeld machine adres: netmask: netwerkdeel: netwerknummer: host-deel: 192.168.0.32 255.255.255.0 192.168.0. 192.168.0.0 .32 Nu zijn er nog een paar speciale IP-adressen. Als we het voorbeeld van hierboven er nog even bijpakken zien we dat het netwerknummer er nog niet bijstaat. Ook is er nog een adres dat het "broadcast adres" genoemd wordt. Het netwerknummer is in dit geval: "192.168.0.0". Dit is het nummer waar het complete netwerk mee aangegeven wordt en wordt veel gebruikt in routerings-tabellen. Deze tabellen komen we nog op terug. Het broadcast-adres is het laatste nummer in het netwerk en waar ieder apparaat (met een adres in het netwerkadres) op reageert. Dit nummer is in het bovenstaande geval "192.168.0.255". Nu zijn er verschillende klassen waar IP-adressen in kunnen vallen. Dit zijn klasse A, klasse B, klasse C en de multicast adressen. In welke klasse een nummer valt hangt af van het netmask. Hier onder een tabel waar de verschillende klassen in samengevat worden: Pagina 1 van 4 Filename: 317508099 Klasse A B C Multicast Netmask 255.0.0.0 255.255.0.0 255.255.255.0 224.0.0.0 ako IP-adressen 0.0.0.0 - 127.255.255.255 128.0.0.0 - 191.255.255.255 192.0.0.0 - 223.255.255.255 224.0.0.0 - 239.255.255.255 Bits 010110111 - De multicast-adressen kom ik later nog op terug. Nu staat er dus dat de eerste 8 bits van een klasse A adres gebruikt worden voor het netwerk- adres aan te geven. Dat houdt dus in dat er nog 24 bits voor de adressen in het netwerk over zijn. Een klasse A netwerk kan dus 16.777.214 adressen bevatten (256*256*256=16777216, dan min 1 voor het netwerkadres en min 1 voor het broadcast adres). multicast-adressen kom ik later nog op terug. Nu staat er dus dat de eerste 8 bits van een klasse A adres gebruikt worden voor het netwerk- adres aan te geven. Dat houdt dus in dat er nog 24 bits voor de adressen in het netwerk over zijn. Een klasse A netwerk kan dus 16.777.214 adressen bevatten (256*256*256=16777216, dan min 1 voor het netwerkadres en min 1 voor het broadcast adres). Een klasse A netwerk: machine adres: netmask: netwerkdeel: netwerknummer: host-deel: IP-adresruimte: broadcast-adres: Een klasse B netwerk: machine adres: netmask: netwerkdeel: netwerknummer: host-deel: IP-adresruimte: broadcast-adres: 11.2.3.4 255.0.0.0 11. 11.0.0.0 .2.3.4 11.0.0.1 - 11.255.255.254 11.255.255.255 180.45.87.12 255.255.0.0 180.45 180.45.0.0 .87.12 180.45.0.1 - 180.45.255.254 180.45.255.255 Een klasse C netwerk: machine adres: netmask: netwerkdeel: netwerknummer: host-deel: IP-adresruimte: broadcast-adres: 193.180.45.2 255.255.255.0 193.180.45 19.180.45.0 .2 195.180.45.1 - 195.180.45.254 195.180.45.255 Welke klasse dus gekozen moet worden hangt geheel van het aantal machines af en eventueel de ruimte voor uitbreidingen. Nu zijn er voor iedere klasse "prive-netwerknummer". Dit zijn netwerknummers die niet op het internet voorkomen en dus geschikt zijn voor bijv. bedrijfsnetwerken. De Internet Assigned Numbers Authority Pagina 2 van 4 Filename: 317508099 ako (IANA) heeft ervoor gezorgd dat deze netwerknummers gereserveerd zijn en niet op het internet voorkomen. Dit zijn: 10.0.0.0 - 10.255.255.255 (10/8 prefix) 172.16.0.0 - 172.31.255.255 (172.16/12 prefix) 192.168.0.0 - 192.168.255.255 (192.168/16 prefix) De eerste is dus een klasse A en de derde een klasse B. Nu bestaat er ook nog zoiets als supetnetten en subnetten. Deze kunnen gemaakt worden door het netmask aan te passen. Supernetten zijn 2 (of meer) samengetrokken netwerken uit een bepaalde klasse nummers. Op een klasse C netwerk kunnen maar 255 adressen uitgedeeld worden. Als het nu nodig is om ruimte voor 510 adressen te maken, wordt er een bit van het netmask afgehaald. Het netmask wordt dan (binear weergegeven) "11111111.11111111.11111110.0000000". Dit is decimaal weergegeven "255.255.248.0". Nu kunnen er dus 2 klasse C netwerken samengevoegd worden. Voorbeeld supernet: machine adres: 193.180.1.2 netmask: 255.255.248.0 netwerkdeel: 193.180.1 netwerknummer: 19.180.0.0 host-deel: 1.2 IP-adresruimte: 195.180.0.1 - 195.180.1.254 broadcast-adres: 195.180.255.255 Subnetten zijn netwerken uit een bepaalde klasse die opgedeeld zijn in meerdere netwerken. Dit wordt ook weer gerealiseerd door het netmask aan te passen. In het volgende voor beeld wordt een klasse C netwerk opgedeeld in 2 aparte netwerken. Voorbeeld subnet: machine adres: netmask: netwerkdeel: netwerknummer: host-deel: IP-adresruimte: broadcast-adres: 192.1.108.2 255.255.255.128 192.1.108 192.1.108.0 .2 192.1.108.1 - 192.1.108.127 192.1.108.128 Tegenwoordig worden de verschillende klassen op het internet niet meer gebruikt. Alles loopt tegenwoordig door elkaar en alles is opgedeeld in sub- en supernetten. De laatste tijd is een klassenloze notatie van IP-adressen gebruikelijk. In deze notatie (CIDR (Classless Inter-Domain Routing)) wordt door het getal achter de "/" het aantal enen aan het begin van het netwerkmasker weergegeven. Zo komt 192.168.0.0/16 dus overeen met 192.168.0.0/255.255.0.0 (het decimale getal 255 bestaat immers in het binaire stelsel uit 8 enen). Nu de multicast-adressen. Waar multicast voor gebruikt wordt is voor informatie die naar meerdere machines op een netwerk verstuurd moet worden. Denk hierbij aan streaming audio en video. Het is natuurlijk nutteloos als het 1.000 mensen naar een radiostation luisteren via het internet, om deze data Pagina 3 van 4 Filename: 317508099 ako dan duizend keer te versturen. Het is immers duizend keer dezelfde informatie. Het is een beetje te zien als het afstemmen op een radio-frequentie. Aangezien dit een nogal complex systeem is en het door weinig bedrijven of hobbyisten gebruikt wordt, ga ik hier verder niet op in. Dan is er nog een speciaal netwerknummer en dat is 127.0.0.1. Dit is het loopback-netwerk. Dit is een klasse A nummer en heeft dus als netwerkmasker 255.0.0.0. De loopback heeft als functie dat een pakket dat naar een 127 netwerk verstuurd wordt, eerst door de machine loopt. Pakketten met als bron- of doeladres dat uit het loopback-adres komt, horen nooit ergens op een netwerk voor te komen. Pagina 4 van 4