Διάλεξη 2 Επισκόπηση 1 ου παραδοτέου, OSI Model, IP addressing - routing, iwconfig / ifconfig / route / wireless tools Διάλεξη 2 1
Επισκόπηση 1 ου παραδοτέου, OSI Model, IP addressing - routing, encapsulation, iwconfig / ifconfig / route / wireless tools Διάλεξη 2 2
Σύστημα προς υλοποίηση (1/6) Στα πλαίσια του μαθήματος καλείστε να υλοποιήσετε ένα πρωτότυπο σύστημα παρακολούθησης ΙΕΕΕ 802.11 σταθμών βάσης (WiFi Access Points). Το συνολικό 25/11/2012 σύστημα θα αποτελείται από 3 επιμέρους υποσυστήματα: Λογισμικό παρακολούθησης περιβάλλοντος σε PC/Laptop. Παρακολούθηση του ασύρματου περιβάλλοντος της περιοχής και της κατάστασης των δικτυακών διεπαφών του μηχανήματος. Λογισμικό αποθήκευσης και παρουσίασης της πληροφορίας. Αποθήκευση και διαχείριση της πληροφορίας σε κεντρικό δικτυακό κόμβο. Λογισμικό παρακολούθησης του στίγματος και της μπαταρίας σε Smartphone/PDA, απεικόνιση και μετάδοση της πληροφορίας. Παρακολούθηση της λειτουργίας του κινητού. Διάλεξη 2 3
Σύστημα προς Υλοποίηση (2/6) Διάλεξη 2 4
Σύστημα προς υλοποίηση (3/6) Για κάθε IF Λίστα Α Όνομα interface (π.χ. eth0, ath0) Διεύθυνση MAC του interface Διεύθυνση IP του interface Μάσκα δικτύου του interface Διεύθυνση δικτύου Broadcast διεύθυνση Default gateway Μέγιστος ρυθμός μετάδοσης δεδομένων (kbps) Τρέχον ρυθμός μετάδοσης δεδομένων (kbps) Τρέχον ποσοστό καταναλισκόμενου εύρους γραμμής (%) Ρυθμός σφαλμάτων (packet error rate) Διάλεξη 2 5
Σύστημα προς υλοποίηση (4/6) Για κάθε ασύρματο IF - Λίστα Β Tην διεύθυνση MAC του σταθμού βάσης στον οποίο είναι συνδεδεμένο το interface (αν είναι) Το ΕSSID του σταθμού βάσης στον οποίο είναι συνδεδεμένο το interface (αν είναι) Το κανάλι στο οποίο έχει συνδεθεί το interface (αν έχει συνδεθεί) Η κατάσταση λειτουργίας του Access Point που έχει συνδεθεί το interface (αν έχει συνδεθεί) Η ισχύς εκπομπής του interface Η ποιότητα της σύνδεσης Η ισχύς του λαμβανομένου σήματος Η ισχύς του θορύβου Ο αριθμός των απορριφθέντων πακέτων Διάλεξη 2 6
Σύστημα προς υλοποίηση (5/6) Για κάθε sensed AP - Λίστα Γ Tην διεύθυνση MAC Το ΕSSID Το κανάλι στο οποίο εκπέμπει Η κατάσταση λειτουργίας του Η ισχύς του λαμβανομένου σήματος Για να ελέγξετε τη λειτουργικότητα θα χρειαστείτε πρακτικά τουλάχιστον ένα ενσύρματο IF και δύο ασύρματα για έλεγχο. Εναλλακτικά μπορείτε να δοκιμάσετε τη λειτουργικότητα με ένα ενσύρματο IF και ένα ασύρματο Διάλεξη 2 7
Σύστημα προς υλοποίηση (6/6) Sensing period Μεταβλητό sleep time Success Η μετάβαση από μια κατάσταση Αλλαγή σε στον μια άλλη αριθμό εξαρτάται των interfaces μόνο από την τρέχουσα κατάσταση και Αλλαγή όχι από τις στην προηγούμενες MAC, ΙΡ, Default (το σύστημα gateway, δεν έχει μνήμη). Subnet mask ενός interface Αλλαγή στο καταναλισκόμενο εύρος πάνω success από Χ% Αλλαγή στο Packet Error Rate πάνω από Χ% Αλλαγή της ισχύος εκπομπής... S 1 Αλλαγή του επιπέδου θορύβου Αλλαγή στην ποιότητα του λαμβανόμενου σήματος failure Αλλαγή στον αριθμό των ΑΡ που αντιλαμβάνεται S k S k-1 Διάλεξη 2 8
Επισκόπηση 1ου παραδοτέου, OSI Model, IP addressing routing, iwconfig / ifconfig / route / wireless tools Διάλεξη 2 9
OSI Model Διάλεξη 2 10
OSI Model Physical Layer Physical Layer Φυσικό Επίπεδο Αποτελεί την φυσική διασύνδεση μεταξύ πομπού και δέκτη Είναι η αποστολή bits Περιλαμβάνει: Καλωδιώση Καρτες δικτύου Προσαρμογείς δικτύου Hub, repeater, and patch panel specifications Συσκευές ασύρματης δικτύωσης... Διάλεξη 2 11
OSI Model Data Link Layer Data Link Layer Επίπεδο Ζεύξης Δεδομένων Επιτρέπει πρόσβαση στο δίκτυο και αποστολή/λήψη μηνυμάτων. Επιτρέπει τη διευθυνσιοδότηση με φυσικές διευθύνσεις (MAC). Παρέχει error-detection λειτουργίες Περιλαμβάνει: Κάρτες δικτύου. Ethernet (και Token Ring) switches Διάλεξη 2 12
OSI Model Network Layer Network Layer Επίπεδο Δικτύου Παρέχει μία end-to-end διασύνδεση και πλήρη διευθυνσιοδότηση έτσι ώστε να μπορεί να γίνει η δρομολόγηση της πληροφορίας ανάμεσα σε αποστολέα και παραλήπτη. Περιλαμβάνει IP addressing Routers Routing protocols Διάλεξη 2 13
OSI Model Transport Layer Transport Layer Επίπεδο Μεταφοράς Το επίπεδο μεταφοράς παρέχει end-to-end επικοινωνία ανάμεσα σε δύο δικτυακές συσκευές. Το επίπεδο μεταφοράς μπορεί να παρέχει αξιόπιστη επικοινωνία, best effort, κτλ. Τα ποιο κοινά είναι τα Transport Control Protocol (TCP) και User Datagram Protocol (UDP). Περιλαμβάνει: Αναγνώριση εφαρμογής Confirmation that the entire message arrived intact Segmentation of data for network transport Transmission-error detection Διάλεξη 2 14
OSI Model Session Layer Session Layer Επίπεδο Συνόδου Παρέχει ένα σύνολο λειτουργιών, όπως το άνοιγμα, τερματισμό και διαχείριση μίας συνόδου. Επίσης, η διαχείριση των ροών αποστολής και λήψης (tracking the number of bytes) γίνεται από το εν λόγω επίπεδο. Περιλαμβάνει: Virtual connection ανάμεσα στις οντότητες Συγχρονισμός ροών δεδομένων Διαπραγμάτευση παραμέτρων σύνδεσης Διαχωρισμός υπηρεσιών σε λειτουργικές ροές Επαν-αποστολή δεδομένων σε περίπτωση που απαιτείται. Διάλεξη 2 15
OSI Model Presentation Layer Presentation Layer Επίπεδο Παρουσίασης Το επίπεδο παρουσίασης αναλαμβάνει τη διαμόρφωση των δεδομένων πριν αποσταλούν. Πρακτικά, επιτρέπει σε μία εφαρμογή να διαβάζει (κατανοεί) τα μηνύματα που αποστέλονται. Περιλαμβάνει: Κρυπτογράφηση και αποκτυπρογράφηση των μηνυμάτων Συμπίεση/αποσυμπίεση Graphics formatting System-specific translation Διάλεξη 2 16
OSI Model Application Layer Application Layer Επίπεδο Eφαρμογής Είναι η διεπαφή του χρήστη (πρακτικά τι βλέπει ο χρήστης). Περιλαμβάνει τα δεδομένα που βλέπει ο χρήστης οταν έχει προσβαση σε μία εφαρμογή. Περιλαμβάνει: File transfers (ftp) Electronic mail (smtp) Browsing (http/https) Secure shell (ssh) etc Διάλεξη 2 17
IP addressing (1/3) Μία IP (Internet Protocol) διεύθυνση είναι ένα «μοναδικό» αναγνωριστικό μιας δικτυακής συσκευής σε ένα δίκτυο. Είναι ένας 32-bit δυαδικός αριθμός που αποτελείται από 4 δυαδικούς αριθμούς (8-bit έκαστος) που χωρίζονται από τελεία (.). Αυτοί αντιστοιχούν σε 4 δεκαδικούς αριθμούς με εύρος από το 0-255. π.χ. 192.168.1.5 11000000.10101000.00000001.00000101 Διάλεξη 2 18
IP addressing (2/3) Address classes: ανάλογα με τα 4 πρώτα bits του 1 ου 8-bit αριθμού, οι IP διευθύνσεις χωρίζονται σε 5 κατηγορίες (classes) Οι κλάσεις είναι οι ακόλουθες: Class A: διευθύνσεις που ξεκινούν με 0xxx, 1-126 Class B: διευθύνσεις που ξεκινούν με 10xx, 128-191 Class C: διευθύνσεις που ξεκινούν με 110x, 193-223 Class D: διευθύνσεις που ξεκινούν με 1110, 224-239 Class E: διευθύνσεις που ξεκινούν με 1111, 240-254 Οι διευθύνσεις που εκκινούν από 01111111 (127) είναι δεσμευμένες για ελεγχο εσωτερικών διεργασιών στην τοπική δικτυακή συσκευή (ping 127.0.0.1), καθώς επίσης και οι διευθύνσεις που εκκινούν από 00001010 (10 - class A), 10101100 (172-class B), 11000000 (192 - class C) χρησιμοποίούνται για private υποδικτύωση. H κλάση D είναι δεσμευμένη για multicasting. Διάλεξη 2 19
IP addressing (3/3) Σε κάθε IP διεύθυνση, ένα τμήμα της ορίζει το δίκτυο (N) και ένα άλλο τον εκάστοτε δικτυακό κόμβο (n) Class A: NNNNNNNN.nnnnnnnn.nnnnnnn.nnnnnnn Class B: NNNNNNNN.NNNNNNNN.nnnnnnnn.nnnnnnnn Class C: NNNNNNNN.NNNNNNNN.NNNNNNNN.nnnnnnnn Σε μία IP 140.179.220.200 (Class B) 140.179.0.0: διεύθυνση δικτύου Αν θέσουμε όλα 1 στα στοιχεία που ορίζουν το δικτυακό κόμβο τότε έχουμε την broadcast διεύθυνση 10001100. 10110011.11111111.11111111 (140.179.255.255) είναι η broadcast address. Αυτό ισχύει ανεξαρτήτων του μήκους του node section. Διάλεξη 2 20
Subnetting (1/3) Ένα δίκτυο TCP/IP κλάσης A, B ή C μπορεί να διαιρεθεί περαιτέρω ή να διακριθεί σε υποδίκτυα από ένα διαχειριστή συστήματος. Σε περίπτωση εκχώρησης του δικτύου κλάσης C 193.168.123.0 μπορούν να χρησιμοποιηθούν οι διευθύνσεις από 193.168.123.1 έως 193.168.123.254 για διευθυνσιοδότηση. Οι διευθύνσεις 193.168.123.0 και 193.168.123.255 δε μπορούν να χρησιμοποιηθούν. Σε περίπτωση που οι υπολογιστές προς διευθυνσιοδότηση βρίσκονται τοποθετημένοι σε διαφορετικές φυσικές περιοχές δημιουργούμε υποδίκτυα (sub-netting). Διάλεξη 2 21
Subnetting (2/3) Για τη δημιουργία υποδικτύων διαιρούμε το δίκτυο σε υποδίκτυα, χρησιμοποιώντας μια μάσκα υποδικτύου (subnet mask). Έτσι κάνουμε τη διεύθυνση δικτύου μεγαλύτερη (δεσμεύουμε διευθύνσεις) και την πιθανή περιοχή διευθύνσεων κεντρικού υπολογιστή μικρότερη. Με την IP διεύθυνση και τη μάσκα υποδικτύου μπορούμε να βρούμε τη διέυθυνση του δικτύου χρησιμοποιώντας τη λογική AND: 10001100.10110011.11110000.11001000 (140.179.240.200 Class B IP Address) 11111111.11111111.00000000.00000000 (255.255.000.000 Class B Subnet Mask) ----------------------------------------------- 10001100.10110011.00000000.00000000 140.179.000.000 ΠΡΟΣΟΧΗ: Μια μάσκα είναι μια συνεχής ακολουθία 1 και στο τέλος 0. Δεν μπορεί να παρεμβληθεί ενα 0 ανάμεσα σε δύο 1. Διάλεξη 2 22
Subnetting (3/3) Σε περίπτωση που θέλουμε να «σπάσουμε» ένα δίκτυο σε υποδίκτυα χρησιμοποιούμε τη μάσκα υποδικτύου. Παράδειγμα: Διαιρεση του δικτύου 200.133.175.0 (C class) σε 16 υποδίκτυα. Για τη δημιουργία 16 υποδικτύων χρειαζόμαστε 4 bits στη μάσκα υποδικτύου (2 4 = 16 υποδίκτυα) subnet mask 11111111. 11111111. 11111111. 11110000 (network address) 11001000.10000101.10101111.00000000 (subnet address (subnet bits - 0000)) 11111111.11111111.11111111.00000000 (subnet broadcast) 11001000.10000101.10101111.00001111 1o (network address) 11001000.10000101.10101111.00000000 (subnet address (subnet bits - 0001)) 11111111.11111111.11111111.00010000 (subnet broadcast) 11001000.10000101.10101111.00011111 2o (network address) 11001000.10000101.10101111.00000000 (subnet address (subnet bits - 0010)) 11111111.11111111.11111111.00100000 (subnet broadcast) 11001000.10000101.10101111.00101111 3o Διάλεξη 2 23
Classless Inter-Domain Routing (CIDR) Απαραίτητη από 1994 λόγω της ραγδαίας αύξησης των πινάκων δρομολόγησης των δρομολογητών του Διαδικτύου και της εξάλειψης του χώρου διευθύνσεων κλάσης Β Βασικά χαρακτηριστικά Εξάλειψη των παραδοσιακών προσεγγίσεων (κλάση Α,Β,C) και αντικατάσταση με μία γενικότερη προσέγγιση «network-prefix» Αποδοτική εκμετάλλευση του χώρου διευθύνσεων Μία εγγραφή στο πίνακα δρομολόγησης καθορίζει τη δρομολόγηση για εκατοντάδες δίκτυα στηριζόμενα σε κλάσεις Υποστήριξη δικτύων με αυθαίρετο μέγεθος Πως λειτουργεί Κάθε πληροφορία δρομολογείται με μία μάσκα bit που καθορίζει τον αριθμό των περισσότερων αριστερών bit στο κομμάτι του δικτύου, για κάθε εγγραφή στο πίνακα δρομολόγησης Οι δρομολογητές που υποστηρίζουν CIDR δεν κάνουν καμία υπόθεση με βάση τα 3 πρώτα bits, αλλά στηρίζονται στην πληροφορία καθορισμού bit που λαμβάνουν Για παράδειγμα μια /20 διεύθυνση θα μπορούσε να είναι είτε class A, είτε class B, ή class C Ασυμβατότητα με τις διεπαφές των hosts που υποστηρίζουν classful διευθυνσιοδότηση μπορεί να δημιουργήσει προβλήματα Block assigned to Classless ISP assignment to Classful a client assignment requiring to 800 a client hosts requiring 800 hosts 1 εγγραφή στο πίνακα δρομολόγησης 4 εγγραφές στο πίνακα δρομολόγησης Διάλεξη 2 24
Routing (1/2) Η διαδικασία μεταφοράς των πακέτων μέσα στο δίκτυο από την πηγή στον προορισμό. Η δρομολόγηση γίνεται με βάση την IP διεύθυνση προορισμού και η απόφαση λαμβάνεται ανά hop (Σε IP δίκτυα). Δεν απαιτείται ο κάθε κόμβος να γνωρίζει όλη τη διαδρομή αλλά τον επόμενο κόμβο κάθε φορά. Πως θα γνωρίζει τον επόμενο κόμβο?? Πίνακας Δρομολόγησης Περιέχει Στατικές και Δυναμικές καταχωρήσεις Αν υπάρχει καταχώρηση για το υποδίκτυο που ανήκει η ΙΡ προορισμού (κοιτάζουμε το Destination+Genmask), τότε δρομολογείται στη διεπαφή (Use Iface) που ορίζει η καταχώρηση αυτή. Παράδειγμα αν ένα πακέτο έχει ΙΡ προορισμού 195.134.65.214 τότε θα δρομολογηθεί στο gateway που ορίζει η πρώτη καταχώρηση (eth0). Αν όχι, τότε δρομολογείται στο default gateway Το default gateway είναι ένας κόμβος που γνωρίζω (είναι στο υποδίκτυο μου) και «ποντάρω» ότι θα ξέρει που να πάει το πακέτο Λειτουργεί σαν συνδετήρας του υποδικτύου μου με τον υπόλοιπο κόσμο. Διάλεξη 2 25
Routing (2/2) ΠΡΟΣΟΧΗ: Κάθε χειροκίνητη αλλαγή του χρήστη στα interfaces (/etc/network/interfaces) απαιτεί επανεκκίνηση του service /etc/init.d/networking restart Χρήσιμες Απορίες Ερώτηση 1: Πώς δρομολογούνται τα πακέτα που φεύγουν από το pc του σπιτιού σας? Ποιό το gateway? Πως βλέπετε DNS? Απάντηση 1: Το router του παρόχου σας είναι το default gateway. Αυτό γνωρίζει που θα πάνε τα πακέτα σας μέσα από το δίκτυο του παρόχου και αυτό γνωρίζει που να βρει τον DNS του παρόχου. ΠΡΟΣΟΧΗ: Το router αυτό έχει private IP γιατί ο πάροχος χρησιμοποιεί ΝΑΤ. Συνεπώς ΔΕΝ βγαίνει στο Internet με 192.168.Χ.Χ αλλά με μια public. Ερώτηση 2: Πως μπορώ να κάνω ένα υπολογιστή να δρομολογήσει πακέτα? Ποιές οι προϋποθέσεις? Απάντηση 2: Προϋπόθεση 1: Ο υπολογιστής να διαθέτει τουλάχιστον 2 interfaces. Προϋπόθεση 2: Να ρυθμίσουμε το pc μέσω registry (Ubuntu: /etc/sysctl.conf net.ipv4.ip_forward=1 Save sysctl -p) να κάνει IP forwarding. Προϋπόθεση 3: Να εισάγω τις κατάλληλες καταχωρήσεις στο routing table. Ερώτηση 3: Τί γίνεται αν ορίσω 2 default gateways? Ποιό θα διαλέξει το λειτουργικό?? Απάντηση 3: Το λειτουργικό θα «μπερδευτεί». Για να το ξεμπερδέψουμε πρέπει να ορίσουμε metric. Η καταχώρηση με το μικρότερο metric έχει προτεραιότητα. Ερώτηση 4: Πως δημιουργείται ο πίνακας δρομολόγησης και με ποιό τρόπο παίρνει καταχωρήσεις δυναμικά? Απάντηση 4: Κάθε φορά που boot-άρει το μηχάνημα, το λειτουργικό κοιτάζει τα διαθέσιμα interfaces καθώς και το αρχείο ορισμού τους (Ubuntu: /etc/network/interfaces) και ορίζει κάποιες καταχωρήσεις στον πίνακα. Αν ο χρήστης τροποποιήσει το αρχείο, τροποποιεί έμμεσα και το πίνακα. Αν στο μηχάνημα τρέχουν δυναμικά πρωτόκολλα (DHCP), τα πρωτόκολλα αυτά συμπληρώνουν extra καταχωρήσεις. Διάλεξη 2 26
Επισκόπηση 1ου παραδοτέου, OSI Model, IP addressing - routing, wireless tools / iwconfig / ifconfig / route Διάλεξη 2 27
wireless tools Wireless Tools (WT) Είναι μία ομάδα από εργαλεία για το χειρισμό των ασύρματων διεπαφών της συσκευής. Βασίζονται σε εντολές (textual interface) Περιλαμβάνει τις ακόλουθες εντολές iwconfig για χειρισμό των βασικών ασύρματων παραμέτρων iwlist για scanning, listing συχνοτήτων, bit rates, txpower iwspy για λήψη link quality ανά κόμβο ifrename για μετονόμασία ενός interface βασισμένος σε στατικά κριτήρια Διάλεξη 2 28
iwconfig iwconfig χρησιμοποιείται για να διαχειριστούμε τις βασικές παραμέτρους ενός ασύρματου interface Για να συνδεθείς στο ESSID SCAN_AP", Channel 11, BSSID 00:11:50:06:E6:3B, μέσω του interface wlan0: iwconfig wlan0 essid SCAN_AP iwconfig wlan0 channel 11 iwconfig wlan0 ap 00:11:50:06:E6:3B Διάλεξη 2 29
iwlist iwlist παρέχει πληροφορία για αυτό που iwlist wlan0 scan: iwlist wlan0 frequency iwlist wlan0 txpower Διάλεξη 2 30
ifconfig ifconfig (interface configurator): χρησιμοποιείται για τη διαχείρηση δικτυακών interfaces Εμφανίζει τις παραμέτρους όλων των δικτυακών interfaces ifconfig wlan0 ifconfig wlan0 down/up ifconfig eth0 192.168.2.2 ifconfig eth0 netmask 255.255.255.0 ifconfig eth0 broadcast 192.168.2.255 Διάλεξη 2 31
route route χειρίζεται τα IP routing tables του λειτουργικού συστήματος Υπάρχει η δυνατότητα να προσθέσεις και να αφαιρέσεις διαδρομές δρομολόγησης χρησιμοποιώντας τις επιλογές add και del Υπάρχει επίσης δυνατότητα να ορίσουμε/αλλάξουμε το default gateway. Ενδεικτικές εντολές route add -net 224.0.0.0 netmask 240.0.0.0 dev eth0 route add -net 192.57.66.0 netmask 255.255.255.0 gw 192.75.66.1 route add default gw 192.168.1.1 Διάλεξη 2 32