Παράδειγμα:
IP: 128.42.5.4
Σε δυαδικό σύστημα: 10000000 00101010 00000101 00000100
Υποδίκτυο: 255.255.248.0
Πώς θα μπορούσατε να προσδιορίσετε τους αριθμούς προθέματος, δικτύου, υποδικτύου και κεντρικού υπολογιστή;
Μετατρέψτε τη διακεκομμένη δεκαδική αναπαράσταση της μάσκας δικτύου σε δυαδικό σύστημα. Στη συνέχεια, μετρήστε τον αριθμό των συνεχόμενων bits 1, ξεκινώντας από το πιο σημαντικό bit της πρώτης οκτάδας (δηλ. την αριστερή πλευρά του δυαδικού αριθμού).
255.255.248.0 in binary: 11111111 11111111 11111000 00000000
-----------------------------------
I counted twenty-one 1s -------> /21
Το πρόθεμα του 128.42.5.4 με μάσκα δικτύου 255.255.248.0 είναι /21.
Η διεύθυνση δικτύου είναι το λογικό ΚΑΙ των αντίστοιχων bits στη δυαδική αναπαράσταση της διεύθυνσης IP και της μάσκας δικτύου. Ευθυγραμμίστε τα bits και στις δύο διευθύνσεις και εκτελέστε ένα λογικό AND σε κάθε ζεύγος των αντίστοιχων bits. Στη συνέχεια, μετατρέψτε τις επιμέρους οκτάδες του αποτελέσματος σε δεκαδικό σύστημα.
Πίνακας αλήθειας λογικού AND:
128.42.5.4 in binary: 10000000 00101010 00000101 00000100
255.255.248.0 in binary: 11111111 11111111 11111000 00000000
----------------------------------- [Logical AND]
10000000 00101010 00000000 00000000 ------> 128.42.0.0
Όπως μπορείτε να δείτε, η διεύθυνση δικτύου του 128.42.5.4/21 είναι 128.42.0.0
Η διεύθυνση εκπομπής μετατρέπει όλα τα bits του κεντρικού υπολογιστή σε 1s...
Θυμηθείτε ότι η διεύθυνση IP μας σε δεκαδική μορφή είναι:
128.42.5.4 in binary: 10000000 00101010 00000101 00000100
Η μάσκα δικτύου είναι:
255.255.248.0 in binary: 11111111 11111111 11111000 00000000
Αυτό σημαίνει ότι τα bits του host είναι τα τελευταία 11 bits της διεύθυνσης IP, επειδή βρίσκουμε τη μάσκα host αντιστρέφοντας τη μάσκα δικτύου:
Host bit mask : 00000000 00000000 00000hhh hhhhhhhh
Για να υπολογίσουμε τη διεύθυνση εκπομπής, αναγκάζουμε όλα τα bits του host να είναι 1:
128.42.5.4 in binary: 10000000 00101010 00000101 00000100
Host bit mask : 00000000 00000000 00000hhh hhhhhhhh
----------------------------------- [Force host bits]
10000000 00101010 00000111 11111111 ----> 128.42.7.255
Κατά γενικό κανόνα κατασκευάζετε υποδίκτυα αναδιανέμοντας μερικά από τα bits του host ως bits δικτύου για κάθε υποδίκτυο. Πολλές φορές δεν υπάρχει'ένας σωστός τρόπος για να υποδικτυώσετε ένα μπλοκ... ανάλογα με τους περιορισμούς σας, μπορεί να υπάρχουν διάφοροι έγκυροι τρόποι για να υποδικτυώσετε ένα μπλοκ διευθύνσεων.
Ας υποθέσουμε ότι θα σπάσουμε το 128.42.0.0/21 σε 4 υποδίκτυα που πρέπει να περιέχουν τουλάχιστον 100 hosts το καθένα...
Σε αυτό το παράδειγμα, γνωρίζουμε ότι χρειάζεστε τουλάχιστον ένα πρόθεμα /25 για να περιέχει 100 hosts- επέλεξα ένα /24 επειδή πέφτει σε ένα όριο οκτάδων. Παρατηρήστε ότι η διεύθυνση δικτύου για κάθε υποδίκτυο δανείζεται host bits από το γονικό μπλοκ δικτύου.
Πώς ήξερα ότι χρειάζομαι τουλάχιστον ένα μήκος μάσκας /25 για 100 hosts; Υπολογίστε το πρόθεμα με την υποστήριξη του αριθμού των bit υποδοχής που απαιτούνται για να περιέχουν 100 υποδοχείς. Χρειάζονται 7 bits υποδοχής για να περιέχει 100 υποδοχείς. Επισήμως αυτό υπολογίζεται με:
Bits ξενιστών = Log2(Αριθμός-ξενιστών) = Log2(100) = 6,643
Δεδομένου ότι οι διευθύνσεις IPv4 έχουν πλάτος 32 bits και χρησιμοποιούμε τα host bits (δηλαδή τα λιγότερο σημαντικά bits), απλά αφαιρέστε το 7 από το 32 για να υπολογίσετε το ελάχιστο πρόθεμα υποδικτύου για κάθε υποδίκτυο... 32 - 7 = 25.
Δεδομένου ότι θέλουμε μόνο τέσσερα υποδίκτυα από ολόκληρο το μπλοκ 128.42.0.0/21, θα μπορούσαμε να χρησιμοποιήσουμε υποδίκτυα /23. Επέλεξα το /23 επειδή χρειαζόμαστε 4 υποδίκτυα... δηλαδή δύο επιπλέον bits που προστίθενται στη μάσκα δικτύου.
Αυτή είναι μια εξίσου έγκυρη απάντηση στον περιορισμό, χρησιμοποιώντας /23 υποδίκτυα του 128.42.0.0/21...
Απλά επαναχρησιμοποιήστε τη μάσκα κεντρικού υπολογιστή από την εργασία που κάναμε όταν υπολογίσαμε τη διεύθυνση εκπομπής 128.42.5.4/21... Αυτή τη φορά θα χρησιμοποιήσω 1s αντί για h
, επειδή πρέπει να εκτελέσουμε ξανά ένα λογικό AND στη διεύθυνση δικτύου.
128.42.5.4 in binary: 10000000 00101010 00000101 00000100
Host bit mask : 00000000 00000000 00000111 11111111
----------------------------------- [Logical AND]
00000000 00000000 00000101 00000100 -----> 0.0.5.4
Για να βρείτε τον μέγιστο αριθμό host, εξετάστε τον αριθμό των δυαδικών bits στον αριθμό host παραπάνω. Ο ευκολότερος τρόπος για να το κάνετε αυτό είναι να αφαιρέσετε το μήκος της μάσκας δικτύου από το 32 (αριθμός των bits σε μια διεύθυνση IPv4). Αυτό σας δίνει τον αριθμό των bits του host στη διεύθυνση. Σε αυτό το σημείο...
Μέγιστος αριθμός κεντρικών υπολογιστών = 2**(32 - netmask_length) - 2
Ο λόγος που αφαιρούμε το 2 παραπάνω είναι επειδή οι αριθμοί host all-ones και all-zeros είναι δεσμευμένοι. Ο αριθμός all-zeros host είναι ο αριθμός δικτύου- ο αριθμός all-ones host είναι η διεύθυνση εκπομπής.
Χρησιμοποιώντας το παράδειγμα υποδικτύου 128.42.0.0/21 παραπάνω, ο αριθμός των host είναι...
Μέγιστος αριθμός κεντρικών υπολογιστών = 2**(32 - 21) - 2 = 2048 - 2 = 2046
Ας υποθέσουμε ότι κάποιος μας δίνει δύο διευθύνσεις IP και περιμένει να βρούμε τη μεγαλύτερη netmask που περιέχει και τις δύο- για παράδειγμα, τι θα γινόταν αν είχαμε:
Το πιο εύκολο πράγμα που μπορούμε να κάνουμε είναι να μετατρέψουμε και τις δύο σε δυαδικό σύστημα και να αναζητήσουμε τη μεγαλύτερη σειρά από δικτυακά bit από την αριστερή πλευρά της διεύθυνσης.
128.42.5.17 in binary: 10000000 00101010 00000101 00010001
128.42.5.67 in binary: 10000000 00101010 00000101 01000011
^ ^ ^
| | |
+--------- Network ---------+Host-+
(All bits are the same) Bits
Σε αυτή την περίπτωση η μέγιστη μάσκα δικτύου (ελάχιστη μάσκα κεντρικού υπολογιστή) θα ήταν /25.
ΣΗΜΕΙΩΣΗ: Αν προσπαθήσετε να ξεκινήσετε από τη δεξιά πλευρά, μην ξεγελαστείτε μόνο και μόνο επειδή βρίσκετε μια στήλη με ταιριαστά bits- μπορεί να υπάρχουν και μη ταιριαστά bits πέρα από αυτά τα ταιριαστά bits. Ειλικρινά, το ασφαλέστερο πράγμα που μπορείτε να κάνετε είναι να ξεκινήσετε από την αριστερή πλευρά.
Η παραπάνω απάντηση πετυχαίνει τέλεια το καρφί στο κεφάλι. Ωστόσο, όταν πρωτοξεκίνησα, χρειάστηκα μερικά διαφορετικά παραδείγματα από διάφορες πηγές για να το καταλάβω πραγματικά. Ως εκ τούτου, αν σας ενδιαφέρουν άλλα παραδείγματα, έγραψα μερικές αναρτήσεις στο ιστολόγιο σχετικά με το θέμα - http://www.oznetnerd.com/category/subnetting/.
Διαχειριστές, αν αυτή η ανάρτηση θεωρείται spam, παρακαλώ μη διστάσετε να τη διαγράψετε.
Επεξεργασία: Σύμφωνα με την πρόταση του YLearn's, θα προσπαθήσω να αρπάξω τα σχετικά μέρη από το Μέρος 1 της σειράς μου, χωρίς να επικολλήσω ολόκληρη την καταχώρηση εδώ.
Ας χρησιμοποιήσουμε το 195.70.16.159/30 ως παράδειγμα.
Καθώς πρόκειται για ένα /30, γνωρίζουμε ότι το τμήμα του host θα βρίσκεται στην τέταρτη οκτάδα. Ας το μετατρέψουμε σε δυαδικό σύστημα:
128 64 32 16 8 4 2 1
SN SN SN SN SN SN H H
1 0 0 1 1 1 1 1
Τώρα για να βρούμε τη διεύθυνση δικτύου το μόνο που κάνουμε είναι να προσθέσουμε τα SN bits που έχουν ένα 1 από κάτω, μαζί. (128 + 16 + 8 + 4 = 156).
Όταν προσθέσουμε αυτό το 156 στις τρεις πρώτες οκτάδες της διεύθυνσης, μας μένει η Διεύθυνση δικτύου 195.70.16.156.
Τώρα, καθώς γνωρίζουμε ότι η πρώτη χρησιμοποιήσιμη διεύθυνση είναι πάντα η Διεύθυνση Δικτύου συν ένα, το μόνο που χρειάζεται να κάνουμε είναι να εκτελέσουμε τον ακόλουθο υπολογισμό: (156 + 1 = 157).
Αυτό μας δίνει την πρώτη χρησιμοποιήσιμη διεύθυνση 195.70.16.157.
Τώρα ας παραλείψουμε για λίγο την Τελευταία Χρήσιμη Διεύθυνση και ας βρούμε τη Διεύθυνση Εκπομπής. Για να μάθουμε ποια είναι αυτή, το μόνο που χρειάζεται να κάνουμε είναι να προσθέσουμε όλα τα bits H μαζί (ανεξάρτητα από το αν είναι 1 ή 0) και στη συνέχεια να προσθέσουμε αυτόν τον αριθμό στη Διεύθυνση Δικτύου. (2 + 1 + 156 = 159).
Αυτό μας δίνει μια Διεύθυνση Εκπομπής 195.70.16.159.
Και τέλος, ας υπολογίσουμε την τελευταία χρησιμοποιήσιμη διεύθυνση. Αυτή η διαδικασία είναι παρόμοια με την εύρεση της Πρώτης Χρήσιμης Διεύθυνσης, ωστόσο, αντί να προσθέσουμε ένα στη διεύθυνση δικτύου, στην πραγματικότητα αφαιρούμε ένα από τη Διεύθυνση Εκπομπής. (159 - 1 = 158).
Αυτό μας δίνει την τελευταία χρησιμοποιήσιμη διεύθυνση 195.70.16.158.
Και ορίστε! Το temaplte μας είναι πλήρες. Για εύκολη αναφορά, εδώ είναι ξανά:
Ως συντόμευση, μπορείτε επίσης να χρησιμοποιήσετε αυτόν τον τύπο. Λειτουργεί σε υποδίκτυα οποιουδήποτε μεγέθους:
Παράδειγμα:
IP: 128.42.5.4
Σε δυαδικό σύστημα: 10000000 00101010 00000101 00000100
Υποδίκτυο: 255.255.248.0
Πώς θα μπορούσατε να προσδιορίσετε τους αριθμούς προθέματος, δικτύου, υποδικτύου και κεντρικού υπολογιστή;
32768 16384 8192 4096 2048 1024 512 256 ----> Binary
128 192 224 240 248 252 254 255 ----> Sunet Mask
/17 /18 /19 /20 /21 /22 /23 /24 ----> CIDR
32766 16382 8190 3094 2046 1022 510 254 ----> Host
128 64 32 16 8 4 2 1 ----> Binary
128 192 224 240 248 252 254 255 ----> Sunet Mask
/25 /26 /27 /28 /29 /30 /31 /32 ----> CIDR
126 62 30 14 6 2 * - ----> Host
128 64 32 16 8 4 2 1
10000000 01000000 00100000 00010000 00001000 00000100 00000010 00000001
Example
Network=192.168.1.0 /24;
Network Address with Subnet mask = 192.168.1.0 subnet 255.255.255.0
Ip address range 192.168.1.0----192.168.1.255
Fist available ip address 192.168.1.1;
Last available ip address 192.168.1.254;
Broadcast address = 192.168.1.255;
254 Host
Network=192.168.1.0 /25;
Network Address with Subnet mask = 192.168.1.0 subnet 255.255.255.128
Ip address range 192.168.1.0----192.168.1.128
Fist available ip address 192.168.1.1;
Last available ip address 192.168.1.126;
Broadcast address = 192.168.1.127;
126 Hosts
When the CIDR increased ex. /24. /25. the network will divided by the
binary number.
/25 increase network 0-128| 128- 256 | you will have 2 Networks
/26 increase network 0-64 | 64 - 128 | 128-192 | 192-256 you will have 4 Networks
.
.
.
/32......