- Lid sinds
- 8 feb 2001
- Berichten
- 35.386
- Waarderingsscore
- 1.238
- Punten
- 113
- Leeftijd
- 61
- Locatie
- State Penitentiary
Aangeboden en geschreven door: Kerstkonijn
LET OP: Om een en ander uit te lijnen, worden de streepjes - en _ gebruikt. Deze hebben dus geen andere betekenis dan een spatie!
DEEL 1
Alleen om niet zoveel 1-tjes te schrijven, worden binaire getallen vertaald in decimale cijfers (omdat we daarmee op school hebben leren rekenen. Verder geen enkele andere logische reden! De computer kan niet decimaal rekenen.)
En hoe doen ze dat? Laten we een byte in 8 bits verdelen. En daar met een truc decimale getallen van maken:
_1 | 1 | 1 | 1 | 1 | 1 | 1 | 1_ binair
---+---+---+---+---+---+---+---
128| 64| 32| 16| 8 | 4 | 2 | 1_ decimaal
---+---+---+---+---+---+---+---
2^7|2^6|2^5|2^4|2^3|2^2|2^1|2^0 (^=tot de macht, dus 2^3=2x2x2=
Tel alle getallen onder de lijn op, waar boven de lijn een 1 staat.
Voorbeeld:
-1- -0- -0- -1- -0- -1- -0- -0- =10010100 binair
-------------------------------
128+ 0 + 0 + 16+ 0 + 4 + 0 + 0_ =148 decimaal
Het subnetmask van een klasse C adres is: 255.255.255.0 Dat is binair:
11111111 11111111 11111111 00000000
!!! De manier om subnetting moeilijk te maken, is er decimaal naar te kijken!
Doe het dus alleen binair. Om het later op te schrijven, vertalen we het naar decimaal. Eerder niet. Dus: NOG NIET BINAIR REKENEN!
Een subnet masker geeft aan hoeveel ip-adressen er in een subnet zitten. Alle 1-tjes zijn getallen die op slot zitten, de 0 betekent vrij, kan in ip-adres een 1 of 0 zijn.
1 = vast, gelocked
0 = vrij
ipadres 192.168.54.41 ga ik nu eerst terug vertalen naar binair. Kijk er naar en laat het verder voor wat het is. Dit is niet waar het werkelijk over gaat:
192 is groter/gelijk aan 128? Ja : 1e bit = 1 - 192 - 128 = 64
_64 is groter/gelijk aan _64? Ja : 2e bit = 1 - _64 - _64 = _0
_ 0 is groter/gelijk aan _32? Nee: 3e bit = 0 - __0
_ 0 is groter/gelijk aan _16? Nee: 4e bit = 0 - __0
_ 0 is groter/gelijk aan _ 8? Nee: 5e bit = 0 - __0
_ 0 is groter/gelijk aan _ 4? Nee: 6e bit = 0 - __0
_ 0 is groter/gelijk aan _ 2? Nee: 7e bit = 0 - __0
_ 0 is groter/gelijk aan _ 1? Nee: 8e bit = 0 - __0
168 is groter/gelijk aan 128? Ja : 1e bit = 1 - 168 - 128 = 40
_40 is groter/gelijk aan _64? Nee: 2e bit = 0 - _40
_40 is groter/gelijk aan _32? Ja : 3e bit = 1 - _40 - _32 = _8
_ 8 is groter/gelijk aan _16? Nee: 4e bit = 0 - __8
_ 8 is groter/gelijk aan _ 8? Ja : 5e bit = 1 - __8 - __8 = _0
_ 0 is groter/gelijk aan _ 4? Nee: 6e bit = 0 - __0
_ 0 is groter/gelijk aan _ 2? Nee: 7e bit = 0 - __0
_ 0 is groter/gelijk aan _ 1? Nee: 8e bit = 0 - __0
_54 is groter/gelijk aan 128? Nee: 1e bit = 0 - _54
_54 is groter/gelijk aan _64? Nee: 2e bit = 0 - _54
_54 is groter/gelijk aan _32? Ja : 3e bit = 1 - _54 - _32 = 22
_22 is groter/gelijk aan _16? Ja : 4e bit = 1 - _22 - _16 = _6
_ 6 is groter/gelijk aan _ 8? Nee: 5e bit = 0 - __6
_ 6 is groter/gelijk aan _ 4? Ja : 6e bit = 1 - __6 - __4 = _2
_ 2 is groter/gelijk aan _ 2? Ja : 7e bit = 1 - __2 - __2 = _0
_ 0 is groter/gelijk aan _ 1? Nee: 8e bit = 0 - __0
_41 is groter/gelijk aan 128? Nee: 1e bit = 0 - _41
_41 is groter/gelijk aan _64? Nee: 2e bit = 0 - _41
_41 is groter/gelijk aan _32? Ja : 3e bit = 1 - _41 - _32 = _9
_ 9 is groter/gelijk aan _16? Nee: 4e bit = 0 - __9
_ 9 is groter/gelijk aan _ 8? Ja : 5e bit = 1 - __9 - __8 = _1
_ 1 is groter/gelijk aan _ 4? Nee: 6e bit = 0 - __1
_ 1 is groter/gelijk aan _ 2? Nee: 7e bit = 0 - __1
_ 1 is groter/gelijk aan _ 1? Ja : 8e bit = 1 - __1 - __1 = _0
Dus: 11000000 10101000 00110110 00101001
Nogmaals: Niet meer decimaal denken, alleen kijken. Dus nog NIETS rekenen!
Met een subnetmask van 255.255.255.252 (11111111 11111111 11111111 11111100)
Hieronder is te zien welke mogelijkheden er nog meer zijn:
11000000 10101000 00110110 00101001 (192.168.54.41)
11111111 11111111 11111111 11111100 (255.255.255.0) Subnetmask (1 = vast)
betekent dus:
11000000 10101000 00110110 001010.. (. = kan 1 of 0 zijn)
Alle mogelijkheden zijn dan:
11000000 10101000 00110110 00101000 (192.168.54.40) * (deze host)
11000000 10101000 00110110 00101001 (192.168.54.41)
11000000 10101000 00110110 00101010 (192.168.54.42)
11000000 10101000 00110110 00101011 (192.168.54.43) * (broadcast)
-------- -------- -------- ------^^
*) Afspraak:
250 is groter/gelijk aan 128? Ja : 1e bit = 1 - 250 - 128 = 64
122 is groter/gelijk aan 064? Ja : 2e bit = 1 - 122 - _64 = 58
_58 is groter/gelijk aan 032? Ja : 3e bit = 1 - _58 - _32 = 26
_26 is groter/gelijk aan 016? Ja : 4e bit = 1 - _26 - _16 = 10
_10 is groter/gelijk aan 008? Ja : 5e bit = 1 - _10 - __8 = _2
__2 is groter/gelijk aan 004? Nee: 6e bit = 0 - __2
__2 is groter/gelijk aan 002? Ja : 7e bit = 1 - __2 - __2 = _0
__0 is groter/gelijk aan 001? Nee: 8e bit = 0 - __0
Met een subnetmask van 255.255.255.250 (11111111 11111111 11111111 11111010)
Hieronder is te zien welke mogelijkheden er nog meer zijn:
11000000 10101000 00110110 00101001 (192.168.54.41)
11111111 11111111 11111111 11111010 (255.255.255.250) Subnetmask
betekent dus:
11000000 10101000 00110110 00101.0. (. = kan 1 of 0 zijn)
Alle mogelijkheden zijn dan:
11000000 10101000 00110110 00101000 (192.168.54.40) (deze host)
11000000 10101000 00110110 00101001 (192.168.54.41)
11000000 10101000 00110110 00101100 (192.168.54.44)
11000000 10101000 00110110 00101101 (192.168.54.45) (broadcast)
-------- -------- -------- -----
Dat hoort te werken! Maarrrr, voor ons decimaal ingestelde mensen wordt het nu erg onoverzichtelijk, want de decimale getallen volgen elkaar niet op. Binair dus erg overzichtelijk, maar decimaal een puinhoop. En dat decimaal doen we alleen maar om korter te schrijven!
En de afspraak is: geef met het aantal 1-tjes aan, welk deel het netwerk is. De rest zijn dan nullen. Dus netwerkmask 255.255.255.250 mag ook niet. Want er zitten 0-letjes en 1-tjes door elkaar. Tja, en dan is het nog maar de vraag hoe de software erop gaat reageren.... Met alle onvoorspelbare gevolgen van dien.
LET OP: Om een en ander uit te lijnen, worden de streepjes - en _ gebruikt. Deze hebben dus geen andere betekenis dan een spatie!
DEEL 1
Alleen om niet zoveel 1-tjes te schrijven, worden binaire getallen vertaald in decimale cijfers (omdat we daarmee op school hebben leren rekenen. Verder geen enkele andere logische reden! De computer kan niet decimaal rekenen.)
En hoe doen ze dat? Laten we een byte in 8 bits verdelen. En daar met een truc decimale getallen van maken:
_1 | 1 | 1 | 1 | 1 | 1 | 1 | 1_ binair
---+---+---+---+---+---+---+---
128| 64| 32| 16| 8 | 4 | 2 | 1_ decimaal
---+---+---+---+---+---+---+---
2^7|2^6|2^5|2^4|2^3|2^2|2^1|2^0 (^=tot de macht, dus 2^3=2x2x2=
Tel alle getallen onder de lijn op, waar boven de lijn een 1 staat.
Voorbeeld:
-1- -0- -0- -1- -0- -1- -0- -0- =10010100 binair
-------------------------------
128+ 0 + 0 + 16+ 0 + 4 + 0 + 0_ =148 decimaal
Het subnetmask van een klasse C adres is: 255.255.255.0 Dat is binair:
11111111 11111111 11111111 00000000
!!! De manier om subnetting moeilijk te maken, is er decimaal naar te kijken!
Doe het dus alleen binair. Om het later op te schrijven, vertalen we het naar decimaal. Eerder niet. Dus: NOG NIET BINAIR REKENEN!
Een subnet masker geeft aan hoeveel ip-adressen er in een subnet zitten. Alle 1-tjes zijn getallen die op slot zitten, de 0 betekent vrij, kan in ip-adres een 1 of 0 zijn.
1 = vast, gelocked
0 = vrij
ipadres 192.168.54.41 ga ik nu eerst terug vertalen naar binair. Kijk er naar en laat het verder voor wat het is. Dit is niet waar het werkelijk over gaat:
192 is groter/gelijk aan 128? Ja : 1e bit = 1 - 192 - 128 = 64
_64 is groter/gelijk aan _64? Ja : 2e bit = 1 - _64 - _64 = _0
_ 0 is groter/gelijk aan _32? Nee: 3e bit = 0 - __0
_ 0 is groter/gelijk aan _16? Nee: 4e bit = 0 - __0
_ 0 is groter/gelijk aan _ 8? Nee: 5e bit = 0 - __0
_ 0 is groter/gelijk aan _ 4? Nee: 6e bit = 0 - __0
_ 0 is groter/gelijk aan _ 2? Nee: 7e bit = 0 - __0
_ 0 is groter/gelijk aan _ 1? Nee: 8e bit = 0 - __0
168 is groter/gelijk aan 128? Ja : 1e bit = 1 - 168 - 128 = 40
_40 is groter/gelijk aan _64? Nee: 2e bit = 0 - _40
_40 is groter/gelijk aan _32? Ja : 3e bit = 1 - _40 - _32 = _8
_ 8 is groter/gelijk aan _16? Nee: 4e bit = 0 - __8
_ 8 is groter/gelijk aan _ 8? Ja : 5e bit = 1 - __8 - __8 = _0
_ 0 is groter/gelijk aan _ 4? Nee: 6e bit = 0 - __0
_ 0 is groter/gelijk aan _ 2? Nee: 7e bit = 0 - __0
_ 0 is groter/gelijk aan _ 1? Nee: 8e bit = 0 - __0
_54 is groter/gelijk aan 128? Nee: 1e bit = 0 - _54
_54 is groter/gelijk aan _64? Nee: 2e bit = 0 - _54
_54 is groter/gelijk aan _32? Ja : 3e bit = 1 - _54 - _32 = 22
_22 is groter/gelijk aan _16? Ja : 4e bit = 1 - _22 - _16 = _6
_ 6 is groter/gelijk aan _ 8? Nee: 5e bit = 0 - __6
_ 6 is groter/gelijk aan _ 4? Ja : 6e bit = 1 - __6 - __4 = _2
_ 2 is groter/gelijk aan _ 2? Ja : 7e bit = 1 - __2 - __2 = _0
_ 0 is groter/gelijk aan _ 1? Nee: 8e bit = 0 - __0
_41 is groter/gelijk aan 128? Nee: 1e bit = 0 - _41
_41 is groter/gelijk aan _64? Nee: 2e bit = 0 - _41
_41 is groter/gelijk aan _32? Ja : 3e bit = 1 - _41 - _32 = _9
_ 9 is groter/gelijk aan _16? Nee: 4e bit = 0 - __9
_ 9 is groter/gelijk aan _ 8? Ja : 5e bit = 1 - __9 - __8 = _1
_ 1 is groter/gelijk aan _ 4? Nee: 6e bit = 0 - __1
_ 1 is groter/gelijk aan _ 2? Nee: 7e bit = 0 - __1
_ 1 is groter/gelijk aan _ 1? Ja : 8e bit = 1 - __1 - __1 = _0
Dus: 11000000 10101000 00110110 00101001
Nogmaals: Niet meer decimaal denken, alleen kijken. Dus nog NIETS rekenen!
Met een subnetmask van 255.255.255.252 (11111111 11111111 11111111 11111100)
Hieronder is te zien welke mogelijkheden er nog meer zijn:
11000000 10101000 00110110 00101001 (192.168.54.41)
11111111 11111111 11111111 11111100 (255.255.255.0) Subnetmask (1 = vast)
betekent dus:
11000000 10101000 00110110 001010.. (. = kan 1 of 0 zijn)
Alle mogelijkheden zijn dan:
11000000 10101000 00110110 00101000 (192.168.54.40) * (deze host)
11000000 10101000 00110110 00101001 (192.168.54.41)
11000000 10101000 00110110 00101010 (192.168.54.42)
11000000 10101000 00110110 00101011 (192.168.54.43) * (broadcast)
-------- -------- -------- ------^^
*) Afspraak:
- alle laatste cijfers 0 = deze host
alle laatste cijfers 1 = directe broadcast
- alle cijfers 1 _______ = lokale broadcast
250 is groter/gelijk aan 128? Ja : 1e bit = 1 - 250 - 128 = 64
122 is groter/gelijk aan 064? Ja : 2e bit = 1 - 122 - _64 = 58
_58 is groter/gelijk aan 032? Ja : 3e bit = 1 - _58 - _32 = 26
_26 is groter/gelijk aan 016? Ja : 4e bit = 1 - _26 - _16 = 10
_10 is groter/gelijk aan 008? Ja : 5e bit = 1 - _10 - __8 = _2
__2 is groter/gelijk aan 004? Nee: 6e bit = 0 - __2
__2 is groter/gelijk aan 002? Ja : 7e bit = 1 - __2 - __2 = _0
__0 is groter/gelijk aan 001? Nee: 8e bit = 0 - __0
Met een subnetmask van 255.255.255.250 (11111111 11111111 11111111 11111010)
Hieronder is te zien welke mogelijkheden er nog meer zijn:
11000000 10101000 00110110 00101001 (192.168.54.41)
11111111 11111111 11111111 11111010 (255.255.255.250) Subnetmask
betekent dus:
11000000 10101000 00110110 00101.0. (. = kan 1 of 0 zijn)
Alle mogelijkheden zijn dan:
11000000 10101000 00110110 00101000 (192.168.54.40) (deze host)
11000000 10101000 00110110 00101001 (192.168.54.41)
11000000 10101000 00110110 00101100 (192.168.54.44)
11000000 10101000 00110110 00101101 (192.168.54.45) (broadcast)
-------- -------- -------- -----
Dat hoort te werken! Maarrrr, voor ons decimaal ingestelde mensen wordt het nu erg onoverzichtelijk, want de decimale getallen volgen elkaar niet op. Binair dus erg overzichtelijk, maar decimaal een puinhoop. En dat decimaal doen we alleen maar om korter te schrijven!
En de afspraak is: geef met het aantal 1-tjes aan, welk deel het netwerk is. De rest zijn dan nullen. Dus netwerkmask 255.255.255.250 mag ook niet. Want er zitten 0-letjes en 1-tjes door elkaar. Tja, en dan is het nog maar de vraag hoe de software erop gaat reageren.... Met alle onvoorspelbare gevolgen van dien.
Laatst bewerkt door een moderator: