IP Sub-Networking Mini-Howto Robert Hart, hartr@interweft.com.au v1.0, 31 Μαρτίου 1997 Το κείμενο αυτό περιγράφει το γιατί και πώς να υποδικτυώσετε ένα δίκτυο IP - κλάσης Α , Β και C ώστε να λειτουργεί σωστά για διάφορα διασυνδεδεμένα δίκτυα. 1. Πνευματική Ιδιοκτησία Το κείμενο αυτό διανείμεται κάτω από τους όρους της GNU Public License (GPL). Το κείμενο αυτό υποστηρίζεται άμεσα από τους ΙΤ σύμβουλους της InterWeft (Μελβούρνη, Αυστραλία). Η τελευταία έκδοση αυτού του κειμένου είναι διαθέσιμη από το InterWeft WWW site στο InterWeft IT Consultants και από το The Linux Documentation Project . 2. Εισαγωγή Με τους διαθέσιμους αριθμούς δικτύων IP να γίνονται σύντομα είδος υπό εξαφάνιση, η αποτελεσματική χρήση αυτού του ολοένα και σπανιότερου πόρου,είναι σημαντική. Αυτό το κείμενο περιγράφει πως να σπάσετε ένα απλό αριθμό δικτύου IP έτσι ώστε να μπορεί να χρησιμοποιηθεί σε διάφορα διαφορετικά δίκτυα. Το κείμενο αυτό επικεντρώνεται σε δίκτυα IP κλάσης C - αλλά οι αρχές εφαρμόζονται επίσης και σε δίκτυα A και Β κλάσεων. 2.1. Άλλες πηγές πληροφορίας Υπάρχει ένα πλήθος άλλων πηγών πληροφορίας που είναι σχετικές με λεπτομερείς πληροφορίες καθώς και με πληροφορίες υπόβαθρου σχετικά με διευθύνσεις IP. Αυτές που προτείνονται απο τον συγγραφέα είναι: · The Linux Network Administrators Guide . · The Linux System Administration Guide . · TCP/IP Network Administration του Craig Hunt, εκδόσεις O'Reilly and Associates . 3. Η ανατομία των αριθμών IP Πριν προχωρήσουμε στην απόλαυση της υποδικτύωσης (sub-networking) , χρειάζεται να θέσουμε τα βασικά σχετικά με τις διευθύνσεις IP. 3.1. Οι διευθύνσεις IP ανήκουν σε interface - ΟΧΙ σε host! Πρώτα απ'όλα, ας ξεκαθαρίσουμε μερικές βασικές αιτίες παρεξήγησης - οι αριθμοί IP δεν ανατίθενται σε host. Οι αριθμοί IP ανατίθενται σε interface δικτύων που έχουν οι host. Εεεε - Τι είναι αυτό? Ενώ πολλοί (αν όχι οι περισσότεροι) υπολογιστές σε ένα δίκτυο IP θα κατέχουν ένα μόνο interface δικτύου (και έχουν ένα μόνο αριθμό IP σα συνέπεια), αυτός δεν είναι ο μόνος τρόπος που γίνονται τα πράγματα. Οι υπολογιστές καθώς και άλλες συσκευές μπορούν να έχουν διάφορα (αν όχι πολλά) interface δικτύου -και κάθε interface να έχει τον δικό του αριθμό IP. Έτσι μια συσκευή με 6 διαφορετικά interface (όπως ένας δρομολογητής - router) θα έχει 6 αριθμούς IP- έναν για κάθε interface για κάθε δίκτυο στο οποίο είναι συνδεδεμένος. Η αιτία γι' αυτό είναι προφανής όταν κοιτάξουμε ένα δίκτυο IP! Παρόλ' αυτά, οι περισσότεροι αναφέρονται σε host διευθύνσεις όταν αναφέρονται σε αριθμούς IP. Απλά να θυμάστε, αυτό είναι μια ευκολία για τον αριθμό IP του συγκεκριμένου interface σε αυτόν τον host. Πολλές (αν όχι οι πλειοψηφία) των συσκευών στο Internet έχουν μοναδικό interface και επομένως μοναδικό αριθμό IP. 3.2. Οι αριθμοί IP σαν "Τετράδες με τελείες" Στην συγκεκριμένη (IPv4) υλοποίηση των αριθμών IP, αυτοί αποτελούνται από 4 byte (1 byte=8 bit) - δίνοντας ένα σύνολο 32 bit διαθέσιμης πληροφορίας. Αυτό καταλήγει σε αριθμούς που είναι μάλλον μεγάλοι (ακόμα και όταν είναι γραμμένοι σε δεκαδική μορφή). Έτσι για αναγνωσιμότητα (καθώς και για λόγους οργάνωσης) οι αριθμοί IP είναι συνήθως γραμμένοι σε μορφή 'τετράδας με τελείες' ('dotted quad'). Ο ΙP αριθμός 192.168.1.24 είναι ένα παράδειγμα αυτού- 4 (δεκαδικοί) αριθμοί διαχωριζόμενοι από (.) τελείες. Καθώς κάθε ένας από τους 4 αριθμούς είναι η δεκαδική αναπαράσταση ενός byte των 8 bit, κάθε ένας από τους 4 αριθμούς μπορεί να είναι από 0 εώς 255 (δηλαδή 256 μοναδικές τιμές - θυμηθείτε, το 0 είναι και αυτό μια τιμή). Επιπλέον, μέρος του αριθμού IP ενός host προσδιορίζει το δίκτυο στο οποίο ο host εδρεύει, τα υπόλοιπα 'bit' του αριθμού IP προσδιορίζουν το ίδιο το host (ουπς... -το interface του δικτύου). Ακριβώς το πόσα bit χρησιμοποιούνται για το ID του δικτύου και πόσα είναι διαθέσιμα για να προσδιορίζουν host (interface) σε αυτό το δίκτυο ορίζεται από την 'κλάση' ('class') του δικτύου. 3.3. Κλάσεις των Δικτύων IP Υπάρχουν τρεις κλάσεις αριθμών IP · Οι αριθμοί δικτύων IP κλάσης Α χρησιμοποιούν τα 8 αριστερότερα bit (τα αριστερότερα στην τετράδα) για να προσδιορίζουν το δίκτυο, αφήνοντας 24 bit (τα υπολειπόμενα τρία από την τετράδα) για να προσδιορίζουν host interface σε αυτό το δίκτυο. Οι διευθύνσεις κλάσης A πάντα έχουν στο αριστερότερο bit από το αριστερότερο byte ένα μηδενικό - αυτή είναι μια δεκαδική τιμή από 0 εώς 127 για την πρώτη τετράδα. Έτσι υπάρχουν το μέγιστο 128 αριθμοί 1ης τάξης δικτύου διαθέσιμοι, με καθέναν να περιέχει πάνω από 33,554,430 δυνατά interface. Όμως, τα δίκτυα 0.0.0.0 (γνωστό σαν προκαθορισμένη διαδρομή default route) και 127.0.0.0 (το δίκτυο ανάδρασης - loop back network) έχουν ειδική σημασία και δεν είναι διαθέσιμα για την διευθυνσιοδότηση δικτύων. Έτσι υπάρχουν μόνο 126 διαθέσιμοι αριθμοί δικτύων κλάσης Α. · Οι αριθμοί δικτύων IP κλάσης Β χρησιμοποιούν τα αριστερότερα 16 bit (τις δύο αριστερότερες τετράδες) για να προσδιορίζουν το δίκτυο, αφήνοντας 16 bit (τις δύο τελευταίες τετράδες) για να προσδιορίζουν host interface. Οι διευθύνσεις κλάσης Β πάντα έχουν τα αριστερότερα 2 bit του αριστερότερου byte 1 0. Αυτό αφήνει 14 bit υπόλοιπο για τον καθορισμό της διεύθυνσης του δικτύου δίνοντας 32767 διαθέσιμα δίκτυα κλάσης Β. Γι'αυτό τα δίκτυα 2ης τάξης έχουν αριθμούς από 128 εώς 191 για το πρώτο μέρος της τετράδας, με κάθε δίκτυο να περιέχει μέχρι 32,766 πιθανά interface. · Οι αριθμοί δικτύων IP κλάσης C χρησιμοποιούν τα 24 αριστερότερα bit (τα αριστερότερα τρία bytes) για να προσδιορίζουν το δίκτυο, αφήνοντας 8 bit (το δεξιότερο byte) για να προσδιορίζουν host interface. Οι διευθύνσεις κλάσης C πάντα ξεκινάνε με τα αριστερότερα 3 bit ρυθμισμένα σε 1 1 0 η σε ένα εύρος από 192 εώς 255 για το αριστερότερο μέλος της τετράδας. Υπάρχουν επομένως 4,194,303 διαθέσιμοι αριθμοί δικτύων IP κλάσης C, όπου το καθένα περιέχει 254 interface. (Τα δίκτυα κλάσης C που έχουν το πρώτο byte μεγαλύτερο από 223 είναι δεσμευμένα και μη διαθέσιμο για χρήση). Ανακεφαλαίωση: Τάξη δικτύου Χρήσιμο εύρος τιμών του 1ου byte (δεκαδικό) A (1η) 1 έως 126 B (2η) 128 έως 191 C (3η) 192 έως 254 Υπάρχουν επίσης ειδικές διευθύνσεις που είναι δεσμευμένες για 'μη συνδεδεμένα' δίκτυα - αυτά είναι δίκτυα που χρησιμοποιούν IP αλλά δεν είναι συνδεδεμένα στο Internet, οι διευθύνσεις αυτές είναι: · Ένα δίκτυο κλάσης Α 10.0.0.0 · 16 δίκτυα κλάσης B 172.16.0.0 - 172.31.0.0 · 256 δίκτυα κλάσης C 192.168.0.0 - 192.168.255.0 Θα παρατηρήσετε ότι το κείμενο αυτό χρησιμοποιεί αυτές τις αλληλουχίες διευθύνσεων για να αποφευχθεί το μπέρδεμα με 'πραγματικά' δίκτυα και host. 3.4. Οι αριθμοί δικτύων, διευθύνσεις interface, διευθύνσεις ανακοίνωσης (broadcast addresses) Οι αριθμοί IP μπορεί να έχουν τρεις πιθανές σημασίες: · Η διεύθυνση ενός δικτύου IP (μια ομάδα από συσκευές IP που έχουν κοινή πρόσβαση σε ένα μέσο μετάδοσης - όπως αν π.χ. βρίσκονται όλες στο ίδιο τμήμα ενός δικτύου Ethernet). Ένας αριθμός δικτύου πάντα θα έχει τα interface (host) bit του χώρου της διεύθυνσης 0 (εκτός και αν το δίκτυο έχει υποδίκτυα - όπως θα δούμε); · η διεύθυνση κοινής εκπομπής/ανακοίνωσης (broadcast) ενός δικτύου IP (η διεύθυνση που χρησιμοποιείται για να 'μιλάμε', ταυτόχρονα, σε όλες τις συσκευές σε ένα δίκτυο IP). Οι διευθύνσεις ανακοίνωσης για ένα δίκτυο πάντα έχουν τα interface (host) bit του χώρου διεύθυνσης 1 (εκτός και αν το δίκτυο έχει υποδίκτυο - πάλι, όπως θα δούμε). · η διεύθυνση ενός interface (όπως μια κάρτα Ethernet ή ένα PPP interface σε ένα host, δρομολογητή, διακομιστή εκτυπώσεων κλπ.). Αυτές οι διευθύνσεις μπορεί να έχουν οποιαδήποτε τιμή στα host bit εκτός όλα μηδενικά ή όλα 1 - γιατί με τα host bit όλα μηδενικά, η διεύθυνση είναι μια διεύθυνση δικτύου και με τα host bit όλα 1 η διεύθυνση είναι η διεύθυνση εκπομπής/ανακοίνωσης. Για ανακεφαλαίωση και για να ξεκαθαρίσουμε τα πράγματα Για ένα δίκτυο κλάσης Α ... (ένα byte του χώρου διεύθυνσης του δικτύου ακολουθούμενο από τρία byte του χώρου διεύθυνσης του host) 10.0.0.0 είναι ένας αριθμός, δικτύου κλάσης Α γιατί όλα τα host bit του χώρου διεύθυνσης, είναι 0 10.0.1.0 είναι η διεύθυνση ενός host σε αυτό το δίκτυο 10.255.255.255.255 είναι η διεύθυνση ανακοίνωσης/εκπομπής (broadcast) αυτού του δικτύου γιατί όλα τα host bit του χώρου διεύθυνσης είναι 1 Για ένα δίκτυο κλάσης Β ... (δύο byte του χώρου διεύθυνσης δικτύου ακολουθούμενα από δύο byte του χώρου διεύθυνσης του host) 172.17.0.0 είναι ένας αριθμός δικτύου κλάσης Β 172.17.0.1 είναι η διεύθυνση ενός host σε αυτό το δίκτυο 172.17.255.255 είναι η διεύθυνση ανακοίνωσης/εκπομπής αυτού του δικτύου Για ένα δίκτυο κλάσης C... (τρία byte του χώρου διεύθυνσης δικτύου ακολουθούμενα από ένα byte του χώρου διεύθυνσης του host) 192.168.3.0 είναι ένας αριθμός δικτύου κλάσης C 192.168.3.42 είναι η διεύθυνση ενός host σε αυτό το δίκτυο 192.168.3.255 είναι η διεύθυνση εκπομπής/ανακοίνωσης αυτού του δικτύου σχεδόν όλοι οι αριθμοί δικτύου IP που παραμένουν διαθέσιμοι για δέσμευση προς το παρόν είναι διευθύνσεις κλάσης C. 3.5. Η μάσκα δικτύου (network mask) Η μάσκα δικτύου λέγεται σωστότερα μάσκα υποδικτύου (subnetwork mask). Όμως, γενικά αναφερόμαστε σε αυτή ως η μάσκα δικτύου. Η μάσκα δικτύου και οι επιπτώσεις της στη μετάφραση των διευθύνσεων IP, τοπικά, σε ένα κομμάτι δικτύου IP, που κυρίως μας αφορά εδώ, καθώς αυτό καθορίζει ποιά (αν υπάρχει κάποια) υπο-δικτύωση λαμβάνει χώρα. Η κλασσική μάσκα (υπο-) δικτύου είναι όλα τα bit του δικτύου μιας διεύθυνσης '1' και όλα τα host bit '0'. Αυτό σημαίνει ότι οι κλασσικές μάσκες δικτύου για τις τρεις κλάσεις δικτύων είναι: · Μάσκα κλάσης δικτύου Α: 255.0.0.0 · Μάσκα κλάσης δικτύου Β: 255.255.0.0 · Μάσκα κλάσης δικτύου C: 255.255.255.0 Υπάρχουν δύο σημαντικά πράγματα που πρέπει να θυμάται κανείς για την μάσκα δικτύου: · Η μάσκα δικτύου επηρεάζει μόνο την τοπική μετάφραση τοπικών αριθμών IP (όπου τοπικό σημαίνει, σε αυτό το συγκεκριμένο κομμάτι του δικτύου); · Η μάσκα δικτύου δεν είναι αριθμός IP - χρησιμοποιείτε για να τροποποιεί τον τρόπο τοπικής μετάφρασης των αριθμών IP. 4. Τι είναι τα υποδίκτυα; Ένα υποδίκτυο είναι ένας τρόπος να πάρουμε μια διεύθυνση δικτύου IP και τοπικά να τη σπάσουμε έτσι ώστε αυτή η απλή διεύθυνση IP δικτύου να μπορεί στην πραγματικότητα να χρησιμοποιηθεί σε διάφορα διασυνδεδεμένα τοπικά δίκτυα. Θυμηθείτε, ένας απλός αριθμός IP μπορεί να χρησιμοποιηθεί μόνο σε ένα απλό δίκτυο. Το σημαντικό εδώ είναι το τοπικά: όσον αφορά τον κόσμο έξω από τις μηχανές και τα φυσικά δίκτυα που καλύπτονται από το υπο-δικτυωμένο δίκτυο IP, τίποτα δεν έχει αλλάξει - παραμένει ακόμα ένα απλό δίκτυο IP. Αυτό είναι σημαντικό - η υπο-δικτύωση είναι μια τοπική ρύθμιση και είναι αόρατη στον υπόλοιπο κόσμο. 5. Γιατί υποδίκτυο; Οι αιτίες πίσω από την υπο-δικτύωση χρονολογούνται πίσω στις πρώτες προδιαγραφές του IP - όπου μόνο λιγοστά site έτρεχαν σε αριθμούς δικτύου κλάσης Α, τα οποία επιτρέπουν εκατομμύρια συνδεδεμένους host. Προκαλείται προφανώς μεγάλο κυκλοφοριακό και διαχειριστικό πρόβλημα, αν όλοι οι IP computer σε ένα μεγάλο site πρέπει να είναι συνδεδεμένοι στο ίδιο δίκτυο: προσπαθώντας να ελέγξουμε ένα τέτοιο τεράστιο κτήνος θα ήταν εφιάλτης και το δίκτυο (σχεδόν σίγουρα) θα σωριαστεί κάτω από το φορτίο της ίδιας του της κίνησης (κορεσμός δικτύου). Και έτσι μπαίνουμε στην υπό-δικτύωση: η διεύθυνση του δικτύου IP κλάσης A, μπορεί να κατατμηθεί, ώστε να επιτρέψει τον διαμοιρασμό της σε μερικά (αν όχι πολλά) ξεχωριστά δίκτυα. Η διαχείριση κάθε τέτοιου ξεχωριστού δικτύου μπορεί επίσης να μεταβιβαστεί. Αυτό επιτρέπει τη δημιουργία μικρών, διαχειρίσιμων δικτύων - πολύ πιθανόν χρησιμοποιώντας διαφορετικές τεχνολογίες δικτύωσης. Θυμηθείτε, δε μπορείτε να αναμίξετε Ethernet, Token Ring, FDDI, ATM κλπ. στο ίδιο φυσικό δίκτυο - μπορούν παρόλ' αυτά να διασυνδεθούν! ’λλοι λόγοι υποδικτύωσης είναι:- · Η φυσική κατανομή του site είναι δυνατόν να δημιουργεί περιορισμούς (μήκος καλωδίων) σχετικούς με το πώς η φυσική υποδομή μπορεί να συνδεθεί, απαιτώντας πολλαπλά δίκτυα. Η υπο -δικτύωση επιτρέπει την υλοποίηση του παραπάνω, σε ένα περιβάλλον IP, χρησιμοποιώντας ένα μόνο αριθμό δικτύου IP. Ουσιαστικά το παραπάνω γίνεται πολύ συχνά από τους ISPs, που επιθυμούν να δίνουν στους, μόνιμα συνδεδεμένους πελάτες τους με τοπικά δίκτυα, στατικούς αριθμούς IP. · Ο φόρτος του δικτύου είναι αρκετά υψηλός, ώστε να προκαλεί σημαντικές επιβραδύνσεις. Με το να χωρίζουμε το δίκτυο, χρησιμοποιώντας υποδίκτυα, η κίνηση που είναι τοπική σε κάποιο δικτυακό τμήμα, κρατιέται τοπική - μειώνοντας την συνολική κίνηση και επιταχύνοντας την συνδεσιμότητα με το δίκτυο χωρίς την απαίτηση περισσότερου πραγματικού δικτυακού bandwidth (χωρητικότητα) · Οι προδιαγραφές ασφάλειας μπορεί επίσης να υπαγορεύουν πως διαφορετικές κλάσεις χρηστών δε μοιράζονται το ίδιο δίκτυο - καθώς η κίνηση σε ένα δίκτυο μπορεί πάντα να υποκλαπεί από έναν "σχετικό" χρήστη. Η υπο-δικτύωση παρέχει ένα τρόπο να κρατήσουμε το Τμήμα Προώθησης από το να παρακολουθεί/υποκλέπτει την δικτυακή κίνηση του Τμήματος Έρευνας και Ανάπτυξης (R & D) (ή τους φοιτητές από το να υποκλέπτουν το δίκτυο του Τμήματος Διαχείρισης)! · Ύπαρξη εξοπλισμού που χρησιμοποιεί ασύμβατες δικτυακές τεχνολογίες, και η ανάγκη να τις διασυνδέσετε και αυτές (όπως αναφέρθηκε και παραπάνω). 6. Πως να υποδικτυώσετε έναν αριθμό δικτύου IP Αφού αποφασίσατε πως χρειάζεται να υποδικτυώσετε τον αριθμό του δικτύου IP σας, πως θα προχωρήσετε; Τα παρακάτω είναι μια σύναψη των βημάτων, τα οποία και θα εξηγηθούν αργότερα με λεπτομέρεια:- · Κάντε την φυσική σύνδεση (καλωδίωση δικτύου και δικτυακές διασυνδέσεις - όπως δρομολογητές. · Αποφασίστε πόσο μεγάλο/μικρό χρειάζεται να είναι κάθε υποδίκτυο, με βάση τον αριθμό των συσκευών που θα είναι συνδεδεμένες σε αυτό - π.χ. πόσοι χρησιμοποιούμενοι αριθμοί IP απαιτούνται για κάθε επιμέρους τμήμα του δικτύου. · Υπολογίστε την κατάλληλη μάσκα δικτύου και διεύθυνση δικτύου. · Δώστε σε κάθε interface κάθε δικτύου την δικιά του διεύθυνση IP και την κατάλληλη μάσκα δικτύου. · Ρυθμίστε τις δρομολογήσεις (routes) στους δρομολογητές και τις κατάλληλες πύλες (gateways), τις δρομολογήσεις και τις προκαθορισμένες δρομολογήσεις στις δικτυακές συσκευές. · Ελέγξτε το σύστημα, λύστε τα προβλήματα και μετά χαλαρώστε! Για τους σκοπούς αυτού του παραδείγματος, θα υποθέσουμε πως υπο-δικτυώνουμε ένα μόνο αριθμό δικτύου κλάσης C: 192.168.1.0 Αυτός αρκεί για το πολύ 254 συνδεδεμένα interface (host), συν τον υποχρεωτικό αριθμό δικτύου (192.168.1.0) και την διεύθυνση εκπομπής (broadcast address) (192.168.1.255). 6.1. Κάντε την φυσική σύνδεση Θα χρειαστεί να εγκαταστήσετε την κατάλληλη υποδομή καλωδίωσης για όλες τις συσκευές που επιθυμείτε να διασυνδέσετε, ώστε να ανταποκρίνονται στην φυσική σας οργάνωση. Θα χρειαστείτε επίσης ένα μηχανισμό για να διασυνδέετε μεταξύ τους τα διάφορα τμήματα (δρομολογητές, μετατροπείς μέσων (media converters) κλπ.). Είναι προφανώς αδύνατη μια λεπτομερής συζήτηση αυτών των πραγμάτων εδώ. Σε περίπτωση που χρειαστείτε βοήθεια υπάρχουν γύρω σύμβουλοι σχεδιασμού/εγκατάστασης δικτύων που παρέχουν τέτοιου τύπου υπηρεσίες. Δωρεάν συμβουλές είναι διαθέσιμες επίσης σε ένα πλήθος Usenet news groups (όπως το comp.os.linux.networking). 6.2. Μέγεθος υποδικτύων Υπάρχει ένα παζάρι μεταξύ του αριθμού των υποδικτύων που δημιουργείτε και των 'χαραμισμένων' αριθμών IP. Το κάθε δίκτυο IP έχει δυο διευθύνσεις που είναι άχρηστες για διευθύνσεις interface (host)- τον ίδιο τον αριθμό του δικτύου IP και την διεύθυνση εκπομπής/ανακοίνωσης. Όταν υποδικτυώνετε, κάθε υποδίκτυο απαιτεί από μόνο του, μοναδικό αριθμό δικτύου IP και διεύθυνση ανακοινώσεων - και θα πρέπει να είναι έγκυρες διευθύνσεις από την γκάμα των διευθύνσεων που παρέχεται από το δίκτυο IP που υποδικτυώνετε. Έτσι, υποδικτυώνοντας, ένα δίκτυο IP σε δύο ξεχωριστά υποδίκτυα, δημιουργούνται δύο διευθύνσεις δικτύων και δύο διευθύνσεις εκπομπών- αυξάνοντας τις 'μη χρησιμοποιούμενες' διευθύνσεις interface (host); δημιουργώντας 4 υποδίκτυα δημιουργεί οκτώ άχρηστες διευθύνσεις για interface (host) κ.ο.κ. Στην ουσία, το μικρότερο χρήσιμο υποδίκτυο αποτελείται από 4 αριθμούς IP: · Δυο χρήσιμους αριθμούς IP για interface - ένας για το interface του δρομολογητή αυτού του δικτύου και ένα για τον μοναδικό host στο δίκτυο αυτό. · Ένας αριθμός δικτύου. · Μια διεύθυνση εκπομπής/ανακοίνωσης. Το γιατί κάποιος βέβαια θα ήθελε να δημιουργήσει ένα τόσο μικρό δίκτυο είναι μια άλλη ερώτηση! Με μόνο ένα host στο δίκτυο, κάθε δικτυακή επικοινωνία θα γίνεται προς άλλα δίκτυα και μόνο. Παρόλα αυτά, το παράδειγμα εξυπηρετεί στο να επιδείξει τον νόμο που ισχύει στην υπο-δικτύωση. Ουσιαστικά, μπορείτε να διαιρέσετε τον αριθμό δικτύου IP σας, το πολύ σε 2^n (όπου n είναι ένα λιγότερο από τον αριθμό των bit στον αριθμό δικτύου IP σας) ίδιου μεγέθους υποδίκτυα. Και έτσι, ας είσαστε ρεαλιστές κατά το σχεδιασμό του δικτύου σας - θέλετε τον ελάχιστο αριθμό ξεχωριστών τοπικών δικτύων που ανταποκρίνεται στους υλικούς περιορισμούς και στους περιορισμούς διαχείρισης, εξοπλισμού και ασφάλειας που έχετε! 6.3. Υπολογίζοντας την μάσκα υποδικτύου και τους αριθμούς δικτύων Η μάσκα δικτύου είναι αυτή που κάνει όλα τα τοπικά μαγικά της διαίρεσης ενός δικτύου IP σε υποδίκτυα. Η μάσκα δικτύου για ένα μη-υποδιαιρεμένο αριθμό δικτύου IP είναι απλά μια διαχωριζόμενη με τελείες τετράδα αριθμών που έχει όλα τα 'bit δικτύου' του αριθμού δικτύου ως '1' και όλα τα host bit ως '0'. Έτσι, για τις τρεις κλάσεις των δικτύων IP, οι κλασσικές μάσκες δικτύου είναι: · Κλάση A (8 bit δικτύου): 255.0.0.0 · Κλάση B (16 bit δικτύου): 255.255.0.0 · Κλάση C (24 bit δικτύου): 255.255.255.0 Ο τρόπος με τον οποίο η υπό-δικτύωση δρα, είναι να δανείζεται ένα ή περισσότερα από τα διαθέσιμα bit και μετά να κάνει τα interface τοπικά να μεταφράζουν τα δανεικά bit ως μέρος των network bit. Έτσι, για να διαιρέσουμε έναν αριθμό δικτύου σε δύο υποδίκτυα, θα δανειζόμασταν ένα host bit θέτοντας το κατάλληλο bit στην μάσκα δικτύου του πρώτου (κανονικού) host bit σε '1'. Για μια διεύθυνση κλάσης C, αυτό θα κατέληγε σε μια μάσκα δικτύου σαν την 11111111.11111111.11111111.10000000 ή 255.255.255.128 Για τον αριθμό δικτύου μας της κλάσης C 192.168.1.0, αυτές είναι μερικές από τις επιλογές υπο-δικτύωσης που έχετε:- ______________________________________________________________________ No of No of subnets Hosts/net netmask 2 126 255.255.255.128 (11111111.11111111.11111111.10000000) 4 62 255.255.255.192 (11111111.11111111.11111111.11000000) 8 30 255.255.255.224 (11111111.11111111.11111111.11100000) 16 14 255.255.255.240 (11111111.11111111.11111111.11110000) 32 6 255.255.255.248 (11111111.11111111.11111111.11111000) 64 2 255.255.255.252 (11111111.11111111.11111111.11111100) ______________________________________________________________________ Ουσιαστικά, δεν υπάρχει απολύτως κανένας λόγος για να ακολουθείστε τον παραπάνω τρόπο υποδικτύωσης, κατά τον οποίο τα bit της μάσκας δικτύου προστίθενται από το πιο σημαντικό bit του host προς το πιο ασήμαντο. Παρόλα αυτά, αν δεν το κάνετε κατ'αυτόν τον τρόπο, οι αριθμοί IP που θα προκύψουν θα είναι σε μια ΠΟΛΥ περίεργη ακολουθία! Αυτό κάνει πολύ δύσκολο για εμάς τους ανθρώπους, το να αποφασίσουμε σε ποιο υποδίκτυο ανήκει κάθε αριθμός IP, καθώς δεν είμαστε πολύ καλοί στο να σκεφτόμαστε στο δυαδικό σύστημα (οι υπολογιστές από την άλλη είναι και θα χρησιμοποιήσουν οποιοδήποτε σχήμα τους πείτε, με την ίδια πάντα ευκολία). Αφού αποφασίσετε για την κατάλληλη μάσκα δικτύου, χρειάζεται να καταλάβετε ποιες είναι οι διάφορες διευθύνσεις Δικτύου και εκπομπής/ανακοίνωσης - και την κλίμακα των αριθμών IP για κάθε ένα από αυτά τα δίκτυα. Πάλι, θεωρούμε μόνο έναν αριθμό δικτύου IP κλάσης C και απεικονίζοντας μόνο το τελευταίο μέρος (του host) έχουμε: ______________________________________________________________________ Netmask Subnets Network B'cast MinIP MaxIP Hosts Total Hosts -------------------------------------------------------------------------- 128 2 0 127 1 126 126 128 255 129 254 126 252 192 4 0 63 1 62 62 64 127 65 126 62 128 191 129 190 62 192 255 193 254 62 248 224 8 0 31 1 30 30 32 63 33 62 30 64 95 65 94 30 96 127 97 126 30 128 159 129 158 30 160 191 161 190 30 192 223 193 222 30 224 255 225 254 30 240 ______________________________________________________________________ Όπως μπορεί να ιδωθεί, υπάρχει μια πολύ καλά καθορισμένη ακολουθία σε αυτούς τους αριθμούς, η οποία τους κάνει τον έλεγχό τους σχετικά απλό. Η 'αρνητική πλευρά' της υπο-δικτύωσης είναι επίσης εμφανής, όσον αφορά την μείωση του ολικού αριθμού των διαθέσιμων host διευθύνσεων, όσο το πλήθος των υποδικτύων αυξάνει. Με αυτήν την πληροφόρηση, είσαστε πλέον σε θέση να αναθέσετε αριθμούς IP σε host και δίκτυα καθώς και μάσκες δικτύου. 7. Δρομολόγηση Αν χρησιμοποιείτε ένα Η/Υ Linux με δύο κάρτες δικτύου για να δρομολογείτε μεταξύ δύο (ή περισσότερων)υποδικτύων, χρειάζεται να έχετε ενεργοποιήσει την Προώθηση IP (IP Forwarding) στον πυρήνα σας. Κάντε ένα ______________________________________________________________________ cat /proc/ksyms | grep ip_forward ______________________________________________________________________ Θα πρέπει να σας επιστρέψει κάτι σαν... ______________________________________________________________________ 00141364 ip_forward_Rf71ac834 ______________________________________________________________________ Αν όχι, τότε δεν έχετε ενεργοποιήσει την Προώθηση IP (IP-Forwarding) στον πυρήνα σας και χρειάζεται να επαναμεταγλωτίσσετε και να εγκαταστήσετε έναν νέο. Για χάρη του παραδείγματος, ας υποθέσουμε πως έχετε αποφασίσει να υποδικτυώσετε τον C κλάσης αριθμό δικτύου σας 192.168.1.0 σε 4 υποδίκτυα (το καθένα από 62 χρησιμοποιήσιμους interface/host αριθμούς IP). Παρόλα αυτά, δύο από αυτά τα δίκτυα συνδυάζονται σε ένα μεγαλύτερο ενιαία δίκτυο, δίνοντας τρία φυσικά δίκτυα. αυτά είναι :- ______________________________________________________________________ Network Broadcast Netmask Hosts 192.168.1.0 192.168.1.63 255.255.255.192 62 192.168.1.64 192.168.1.127 255.255.255.192 62 182.168.1.128 192.168.1.255 255.255.255.126 124 (δες σημείωση) ______________________________________________________________________ Σημείωση: ο λόγος που το τελευταίο δίκτυο έχει μόνο 124 χρησιμοποιήσιμες διευθύνσεις δικτύου (όχι 126 όπως θα περιμέναμε από τη μάσκα δικτύου) είναι γιατί στην πραγματικότητα είναι ένα 'υπερ-δίκτυο' δύο υποδικτύων. Οι Host στα άλλα δύο δίκτυα θα μεταφράζουν το 192.168.1.192 σαν τη δικτυακή διεύθυνση του 'μη-υπαρκτού' υποδικτύου. Παρόμοια, θα μεταφράζουν το 192.168.1.191 σαν τη διεύθυνση εκπομπής/ανακοίνωσης του 'μη-υπαρκτού' υποδικτύου. Έτσι, αν χρησιμοποιείτε το 192.168.1.191 ή το 192 σαν host διευθύνσεις του τρίτου δικτύου, τότε οι μηχανές των δύο μικρότερων υποδικτύων δεν θα είναι ικανές να επικοινωνούν μαζί τους. Αυτό καταδεικνύει ένα σημαντικό θέμα με τα υποδίκτυα - οι χρησιμοποιήσιμες διευθύνσεις καθορίζονται από το ΜΙΚΡΟΤΕΡΟ υποδίκτυο στον χώρο διευθύνσεων σας. 7.1. Οι πίνακες δρομολογήσεων (routing tables) Ας υποθέσουμε ότι ένας υπολογιστής που τρέχει Linux δρα σαν router για αυτό το δίκτυο. Θα έχει τρία interface δικτύου στα τοπικά LANs και πιθανόν ένα τέταρτο interface στο Internet (που θα αποτελεί και την προκαθορισμένη του δρομολόγηση). Ας υποθέσουμε ότι το Linux χρησιμοποιεί την χαμηλότερη διαθέσιμη διεύθυνση IP σε κάθε υποδίκτυο στο αντίστοιχο interface για το δίκτυο αυτό. Θα ρύθμιζε τα δικτυακά του interface ως: ______________________________________________________________________ Interface IP Address Netmask eth0 192.168.1.1 255.255.255.192 eth1 192.168.1.65 255.255.255.192 eth2 192.168.1.129 255.255.255.128 ______________________________________________________________________ Η δρομολόγηση που θα εγκαθίδρυε θα ήταν: ______________________________________________________________________ Destination Gateway Genmask Interface 192.168.1.0 0.0.0.0 255.255.255.192 eth0 192.168.1.64 0.0.0.0 255.255.255.192 eth1 192.168.1.128 0.0.0.0 255.255.255.128 eth2 ______________________________________________________________________ Σε καθ'ένα από τα υποδίκτυα, οι host θα ρυθμίζονταν με το προσωπικό τους αριθμό IP και μάσκα δικτύου (κατάλληλη για το συγκεκριμένο δίκτυο). Κάθε host θα δήλωνε το Linux PC ως τη δικιά του πύλη/δρομολογητή (gateway/router), θέτοντας την διεύθυνση IP του interface του Linux γι'αυτό το συγκεκριμένο δίκτυο. Για σχόλια, παρατηρήσεις, διορθώσεις, ενημερώσεις περί της Ελληνικής μετάφρασης αυτού του HOWTO, στείλτε email στην Βούλα Σανιδά : voulariba@hellug.gr ή στον Ευριπίδη Παπακώστα : evris@hellug.gr και εναλλακτικά : ep@rocketmail.com Robert Hart Μελβούρνη, Αυστραλία Μάρτιος 1997.