Υπολογιστής υποδικτύων IP: CIDR, μάσκα & εύρος host
Υπολογίστε τα στοιχεία ενός υποδικτύου IPv4 από μια διεύθυνση και ένα πρόθεμα CIDR: διεύθυνση δικτύου και broadcast, εύρος διαθέσιμων host, μάσκα υποδικτύου και μάσκα wildcard.
IP Subnet Calculator
Results
Subnet Mask in Binary
Results follow RFC 791 (IPv4 addressing), RFC 4632 (CIDR notation), RFC 950 with RFC 919 and RFC 922 (network and broadcast reservation), and RFC 3021 (/31 point-to-point links).
Τεκμηρίωση
Υπολογιστής υποδικτύων IP
Ένας υπολογιστής υποδικτύων IP υπολογίζει τις λεπτομέρειες του δικτύου πίσω από μια διεύθυνση IPv4 και ένα μήκος προθέματος. Από αυτά τα δύο δεδομένα βρίσκει τη διεύθυνση δικτύου, τη διεύθυνση εκπομπής, το εύρος των χρησιμοποιήσιμων διευθύνσεων υπολογιστών, τη μάσκα υποδικτύου και τη μάσκα μπαλαντέρ.
Τι κάνει ο υπολογιστής
Το εργαλείο δέχεται μια διεύθυνση IPv4 γραμμένη ως τέσσερις αριθμούς χωρισμένους με τελείες, όπως 192.168.1.10, και μήκος προθέματος από 0 έως 32. Λειτουργεί επίσης η γραφή και των δύο μαζί σε μορφή CIDR, όπως 192.168.1.10/24: το τμήμα /24 μεταφέρεται αυτόματα στο πεδίο του προθέματος.
Ο υπολογιστής επιστρέφει:
- Σημειογραφία CIDR: το δίκτυο σε μορφή διεύθυνσης/προθέματος, όπως 192.168.1.0/24.
- Διεύθυνση δικτύου: η πρώτη διεύθυνση του μπλοκ. Προσδιορίζει το ίδιο το δίκτυο.
- Διεύθυνση εκπομπής: η τελευταία διεύθυνση του μπλοκ. Ένα μήνυμα που αποστέλλεται σε αυτήν φτάνει σε κάθε υπολογιστή του υποδικτύου.
- Εύρος χρησιμοποιήσιμων διευθύνσεων υπολογιστών: η πρώτη και η τελευταία διεύθυνση που μπορεί πράγματι να χρησιμοποιήσει μια συσκευή.
- Χρησιμοποιήσιμοι κεντρικοί υπολογιστές και συνολικές διευθύνσεις: πόσες διευθύνσεις περιέχει το μπλοκ και πόσες είναι διαθέσιμες για συσκευές.
- Μάσκα υποδικτύου και μάσκα μπαλαντέρ: η μάσκα σε μορφή με τελείες, όπως 255.255.255.0, και το αντίστροφό της, 0,0.0,255.
- Η μάσκα υποδικτύου αναπτυγμένη bit προς bit, με οκτώ bit ανά οκτάδα.
Τα αποτελέσματα ακολουθούν το RFC 791 (διευθυνσιοδότηση IPv4), το RFC 4632 (σημειογραφία CIDR), το RFC 950 μαζί με τα RFC 919 και 922 (τις δεσμεύσεις για το δίκτυο και την εκπομπή), και το RFC 3021 (συνδέσεις σημείου προς σημείο /31).
Πώς λειτουργεί η υποδικτύωση
Μια διεύθυνση IPv4 είναι ένας αριθμός 32 bit. Γράφεται ως τέσσερις οκτάδες, όπου κάθε οκτάδα έχει 8 bit και περιέχει τιμή από 0 έως 255. Το μήκος προθέματος χωρίζει αυτά τα 32 bit σε δύο μέρη. Τα πρώτα bit, τόσα όσα ορίζει το πρόθεμα, προσδιορίζουν το δίκτυο. Τα υπόλοιπα προσδιορίζουν έναν υπολογιστή μέσα σε αυτό το δίκτυο.
Ένα δίκτυο /24 κρατά 24 bit για το τμήμα του δικτύου και αφήνει 8 bit για υπολογιστές. Οκτώ bit υπολογιστή δίνουν 2⁸ = 256 διευθύνσεις. Ένα δίκτυο /26 αφήνει μόνο 6 bit υπολογιστή, οπότε περιέχει 2⁶ = 64 διευθύνσεις.
Η μάσκα υποδικτύου γράφει τον ίδιο διαχωρισμό ως διεύθυνση: ένα bit 1 για κάθε bit δικτύου και ένα bit 0 για κάθε bit υπολογιστή. Για /24 αυτό είναι 255,255.255,0. Η μάσκα wildcard αντιστρέφει κάθε bit της μάσκας υποδικτύου. Οι λίστες πρόσβασης δρομολογητών, ιδίως σε εξοπλισμό Cisco, αντιστοιχίζουν διευθύνσεις με μάσκες wildcard, γι’ αυτό το εργαλείο εμφανίζει και τις δύο.
Ο τύπος του υποδικτύου
Για μήκος προθέματος p μεταξύ 0 και 30, ο υπολογιστής εφαρμόζει τους ακόλουθους κανόνες, όπως ορίζονται από τα RFC 950 και 4632:
- Μάσκα υποδικτύου = τα πρώτα p bit της λέξης 32 bit ορισμένα σε 1.
- Διεύθυνση δικτύου = διεύθυνση IP AND μάσκα υποδικτύου (το bitwise AND διατηρεί ένα bit μόνο όπου και οι δύο είσοδοι έχουν 1).
- Διεύθυνση εκπομπής = διεύθυνση δικτύου OR μάσκα wildcard (κάθε bit υπολογιστή ορισμένο σε 1).
- Συνολικές διευθύνσεις = 2⁽³²⁻ᵖ⁾.
- Χρησιμοποιήσιμοι υπολογιστές = 2⁽³²⁻ᵖ⁾ − 2. Η αφαίρεση εξαιρεί τη διεύθυνση δικτύου και τη διεύθυνση εκπομπής, τις οποίες δεσμεύουν τα RFC 950 και 919.
- Πρώτος χρησιμοποιήσιμος υπολογιστής = διεύθυνση δικτύου + 1. Τελευταίος χρησιμοποιήσιμος υπολογιστής = διεύθυνση εκπομπής − 1.
Δύο μήκη προθέματος ακολουθούν διαφορετικούς κανόνες. Ένα /31 περιέχει ακριβώς 2 διευθύνσεις και το RFC 3021 καθιστά και τις δύο χρησιμοποιήσιμες ως διευθύνσεις υπολογιστών σε σύνδεση σημείου προς σημείο, χωρίς καθόλου διεύθυνση εκπομπής. Ένα /32 προσδιορίζει μία μόνο διεύθυνση: 1 συνολική, 1 χρησιμοποιήσιμη, χωρίς διεύθυνση εκπομπής. Σε αυτές τις δύο περιπτώσεις το εργαλείο ονομάζει την πρώτη διεύθυνση «Βάση προθέματος» αντί για «Διεύθυνση δικτύου», επειδή κανένα από τα δύο μπλοκ δεν δεσμεύει διεύθυνση για την ονομασία του δικτύου.
Κάθε αποτέλεσμα προκύπτει από αριθμητική πράξη σε έναν αριθμό 32 bit. Το εργαλείο δεν παραθέτει τις διευθύνσεις μία προς μία, επομένως ένα /0 που καλύπτει και τις 4.294.967.296 διευθύνσεις IPv4 υπολογίζεται εξίσου γρήγορα με ένα /32.
Λυμένο παράδειγμα
Για τη διεύθυνση 10.128.7.33 με μήκος προθέματος /26:
- Μάσκα υποδικτύου: 26 bit με τιμή ένα ακολουθούμενα από 6 bit με τιμή μηδέν είναι 11111111,11111111.11111111,11000000, που γράφεται ως 255,255.255,192.
- Διεύθυνση δικτύου: εφαρμογή AND στη διεύθυνση και τη μάσκα. Οι τρεις πρώτες οκτάδες παραμένουν αμετάβλητες. Στην τελευταία οκτάδα, το 33 είναι 00100001 στο δυαδικό σύστημα· AND με 11000000 δίνει 00000000, δηλαδή 0. Η διεύθυνση δικτύου είναι 10.128.7.0, επομένως η σημειογραφία CIDR είναι 10.128.7.0/26.
- Διεύθυνση εκπομπής: ορισμός όλων των 6 bit υπολογιστή σε 1. Η τελευταία οκτάδα γίνεται 00111111, δηλαδή 63. Η διεύθυνση εκπομπής είναι 10,128.7,63.
- Πλήθος: 2⁶ = 64 συνολικές διευθύνσεις και 64 − 2 = 62 χρησιμοποιήσιμοι υπολογιστές.
- Εύρος υπολογιστών: από 10.128.7.1 έως 10,128.7,62.
- Μάσκα wildcard: το αντίστροφο της μάσκας υποδικτύου, 0,0.0,63.
Ένα δεύτερο παράδειγμα με την προεπιλεγμένη είσοδο του εργαλείου, 192.168.1.10/24: δίκτυο 192.168.1.0, εκπομπή 192.168.1.255, υπολογιστές από 192.168.1.1 έως 192.168.1.254, 254 χρησιμοποιήσιμοι υπολογιστές από 256 συνολικές διευθύνσεις, μάσκα υποδικτύου 255.255.255.0, μάσκα wildcard 0,0.0,255.
Συμβάσεις που ακολουθεί το εργαλείο
Οι οκτάδες με αρχικά μηδενικά απορρίπτονται. Το εργαλείο απορρίπτει το 010.1.1.1 αντί να το διαβάσει ως 10,1.1,1. Η επιλογή αυτή είναι σκόπιμη. Η συνάρτηση POSIX inet_aton, που χρησιμοποιείται από τα ping, curl και τους περισσότερους μηχανισμούς επίλυσης ονομάτων των λειτουργικών συστημάτων, αντιμετωπίζει μια οκτάδα με αρχικό μηδενικό ως οκταδική, επομένως το 010.1.1.1 σημαίνει 8.1.1.1 για αυτά τα προγράμματα. Καμία υπόθεση για δεκαδική ή οκταδική ερμηνεία δεν συμφωνεί με κάθε αναγνώστη, οπότε το εργαλείο δεν δέχεται καμία από τις δύο. Για τον ίδιο λόγο απορρίπτεται και ένα πρόθεμα γραμμένο ως /08.
Το πλήθος των διευθύνσεων υπολογιστών μειώνεται κατά δύο. Ορισμένες αριθμομηχανές αναφέρουν το ακατέργαστο μέγεθος του μπλοκ ως πλήθος διευθύνσεων υπολογιστών. Αυτό το εργαλείο ακολουθεί το RFC 950: σε κάθε μπλοκ από /0 έως /30, το τμήμα διευθύνσεων υπολογιστών με όλα τα bit μηδενικά προσδιορίζει το δίκτυο και το τμήμα με όλα τα bit ένα είναι η διεύθυνση εκπομπής, επομένως και τα δύο εξαιρούνται και ένα /24 έχει 254 χρησιμοποιήσιμες διευθύνσεις υπολογιστών, όχι 256.
Ένα /31 έχει δύο χρησιμοποιήσιμους υπολογιστές. Παλαιότερα κείμενα, γραμμένα πριν από το RFC 3021 (που δημοσιεύτηκε το 2000), θεωρούν ένα /31 μη χρησιμοποιήσιμο, επειδή η αφαίρεση των δύο δεσμευμένων διευθύνσεων αφήνει μηδέν. Το RFC 3021 κατάργησε και τις δύο δεσμεύσεις για συνδέσεις σημείου προς σημείο και οι δρομολογητές το υποστηρίζουν εδώ και δεκαετίες, οπότε το εργαλείο αναφέρει 2 χρησιμοποιήσιμους υπολογιστές και καμία διεύθυνση εκπομπής.
Γίνεται αποδεκτό κάθε πρόθεμα από /0 έως /32. Ένα /0 είναι έγκυρο μπλοκ που καλύπτει ολόκληρο τον χώρο IPv4, όπως φαίνεται από το 0.0.0.0/0 στους πίνακες δρομολόγησης ως προεπιλεγμένη διαδρομή.
Μόνο IPv4. Το IPv6 (RFC 4291) χρησιμοποιεί διευθύνσεις 128 bit και διαφορετική σημειογραφία, επομένως δεν καλύπτεται από αυτό το εργαλείο. Το εργαλείο επίσης δεν επισημαίνει εύρη ειδικού σκοπού, όπως ιδιωτικές ή διευθύνσεις επαναφοράς (RFC 6890)· αναφέρει μόνο την αριθμητική των διευθύνσεων.
Συχνές ερωτήσεις
Πόσους χρησιμοποιήσιμους υπολογιστές έχει ένα /24; 254. Ένα /24 αφήνει 8 bit υπολογιστή, δίνοντας 2⁸ = 256 διευθύνσεις. Δύο είναι δεσμευμένες: η διεύθυνση δικτύου και η διεύθυνση εκπομπής. Απομένουν 254 για συσκευές.
Τι είναι η μάσκα wildcard; Το αντίστροφο της μάσκας υποδικτύου bit προς bit. Όπου η μάσκα υποδικτύου έχει 1, η μάσκα wildcard έχει 0, και το αντίστροφο. Για τη μάσκα 255.255.255.0 η μάσκα wildcard είναι 0,0.0,255. Οι λίστες ελέγχου πρόσβασης σε πολλούς δρομολογητές χρησιμοποιούν μάσκες wildcard για να περιγράψουν ποιες διευθύνσεις αντιστοιχίζει ένας κανόνας.
Γιατί ένα /31 δεν εμφανίζει διεύθυνση εκπομπής; Ένα /31 περιέχει μόνο δύο διευθύνσεις. Αν δεσμευόταν μία για το δίκτυο και μία για την εκπομπή, δεν θα απέμενε καμία, επομένως το RFC 3021 ορίζει το /31 ως σύνδεση σημείου προς σημείο, όπου και οι δύο διευθύνσεις είναι υπολογιστές και δεν υπάρχει διεύθυνση εκπομπής. Ο υπολογιστής αναφέρει 2 χρησιμοποιήσιμους υπολογιστές και σημειώνει την εκπομπή ως μη εφαρμόσιμη.
Γιατί απορρίπτεται το 010.1.1.1 αντί να διαβαστεί ως 10.1.1.1; Επειδή τα λειτουργικά συστήματα διαφωνούν με την απλή δεκαδική ερμηνεία. Η POSIX inet_aton διαβάζει μια οκτάδα με αρχικό μηδενικό ως οκταδική, επομένως το 010 σημαίνει 8 στα περισσότερα συστήματα. Η απόρριψη της εισόδου είναι η μόνη λύση που δεν μπορεί να διαφέρει σιωπηρά από αυτό που θα έκανε ο υπολογιστής του χρήστη.
Ποια είναι η διαφορά μεταξύ συνολικών διευθύνσεων και χρησιμοποιήσιμων υπολογιστών; Οι συνολικές διευθύνσεις είναι το πλήρες μέγεθος του μπλοκ, 2 στη δύναμη του (32 μείον το μήκος προθέματος). Οι χρησιμοποιήσιμοι υπολογιστές είναι αυτός ο αριθμός μείον τις δύο δεσμευμένες διευθύνσεις, εκτός από ένα /31 (και οι δύο είναι χρησιμοποιήσιμες) και ένα /32 (η μοναδική διεύθυνση είναι ο υπολογιστής).
Τι σημαίνει η διεύθυνση δικτύου του 192.168.1.10/24; Είναι η 192.168.1.0, που προκύπτει διατηρώντας τα πρώτα 24 bit της διεύθυνσης και ορίζοντας τα bit υπολογιστή σε μηδέν. Προσδιορίζει ολόκληρο το υποδίκτυο και δεν μπορεί να εκχωρηθεί σε συσκευή.
Παραπομπές
- Postel, J. «RFC 791: Πρωτόκολλο Διαδικτύου». IETF, 1981.
- Mogul, J. και J. Postel. «RFC 950: Διαδικασία υποδικτύωσης προτύπου Διαδικτύου». IETF, 1985.
- Mogul, J. «RFC 919: Εκπομπή αυτοδύναμων πακέτων Διαδικτύου». IETF, 1984.
- Fuller, V. και T. Li. «RFC 4632: Δρομολόγηση μεταξύ δικτύων χωρίς κλάσεις (CIDR)». IETF, 2006.
- Retana, A. κ.ά. «RFC 3021: Χρήση προθεμάτων 31 bit σε συνδέσεις IPv4 σημείου προς σημείο». IETF, 2000.