ίκτυα Υπολογιστών (Γ έτος, ΣΤ εξ) ιάλεξη #5: Επίπεδο ικτύου (IP layer). ρομολόγηση (routing) σε IP δίκτυα. Εργαστηριακές ασκήσεις με το εργαλείο ανάλυσης πρωτοκόλλων (protocol analyzer) Ethereal. Γαβαλάς Δαμιανός dgavalas@aegean.gr Εαρινό εξάμηνο Περίληψη διάλεξης Εισαγωγή στο Επίπεδο ικτύου (Network Layer) IP (Internet Protocol): η μορφή ενός IP πακέτου (IP datagram), διευθυνσιοδότηση στο IPv4, ICMP, IPv6 Αρχές λειτουργίας των δρομολογητών (routers) Αλγόριθμοι δρομολόγησης ρομολόγηση στο Internet Στόχοι της διάλεξης: Κατανόηση των αρχών που διέπουν της υπηρεσίες του επιπέδου δικτύου: ρομολόγηση (επιλογή μονοπατιού) Αντιμετώπιση θεμάτων κλίμακας (scale) Πως λειτουργεί ένας δρομολογητής (router) Προχωρημένα θέματα: IPv6, κινητικότητα (mobility) Εφαρμογή αυτών των αρχών στο Internet 1
Το μοντέλο αναφοράς OSI (Open Systems Interconnection) Τα πακέτα στο επίπεδο δικτύου ονομάζονται datagrams Τα πακέτα στο data link layer ονομάζονται πλαίσια (frames) 2
Ενθυλάκωση (encapsulation) message segment H t datagram H n H t frame H l H n H t M M M M αφετηρία application transport network link physical H l H n H t M link H l H n H t physical M switch H t H n H t H l H n H t M M M M προορισμός application transport network link physical H n H t H l H n H t M M network link physical H n H t H l H n H t M M router Βασικές λειτουργίες του Network Layer Προώθηση (forwarding): μεταφορά πακέτων από το input ενός δρομολογητή (router) στο κατάλληλο router output ρομολόγηση (routing): καθορισμός του δρομολογίου (διαδρομής) που θα ακολουθήσουν τα πακέτα από την αφετηρία ως τον προορισμό τους Αλγόριθμοι δρομολόγησης (Routing algorithms) Αναλογία: ρομολόγηση: η διαδικασία προγραμματισμού ενός ταξιδιού από μια αφετηρία σε ένα προορισμό Προώθηση: η διαδικασία μετάβασης στον επόμενο ενδιάμεσο σταθμού 3
ιασύνδεση LANs: Γέφυρες (Bridges) Όπως είδαμε στην προηγούμενη διάλεξη, οι Bridges είναι συσκευές που λειτουργούν στο Επίπεδο ιασύνδεσης εδομένων (data link layer devices). Τα δίκτυα που συνδέουν πρέπει να είναι όμοια, μπορούν όμως να συνδέσουν διαφορετικούς τύπους καλωδίου Ενώ υπήρξαν πολύ δημοφιλείς στο παρελθόν, πλέον χάνουν μερίδιο στην αγορά από τους μεταγωγείς (switches) που έχουν γίνει φθηνότεροι και ισχυρότεροι ιασύνδεση LANs: ρομολογητές (Routers) Οι Routers λειτουργούν στο Επίπεδο ικτύου (network layer), συνδέοντας δύο ή περισσότερα τμήματα δικτύου τα οποία μπορεί να χρησιμοποιούν διαφορετικά data link layer πρωτόκολλα, αλλά το ίδιο network layer πρωτόκολλο Μπορούν να συνδέσουν και LANs με διαφορετικό είδος καλωδίωσης Ο Router αφαιρεί την επικεφαλίδα και ουρά (header & trailer) των εισερχόμενων data link layer πλαισίων και εξετάζουν την (IP) διεύθυνση του παραλήπτη στο network layer πακέτο (datagram). O router τότε δημιουργεί ένα νέο πλαίσιο που ενσωματώνει το IP πακέτο και το προωθεί σε ένα άλλο LAN (network segment) Άλλη μία σημαντική λειτουργία των routers είναι ότι επιλέγουν την «καλύτερη» διαδρομή που πρέπει να ακολουθήσει το πακέτο Έτσι προκύπτει το όνομα «δρομολογητής» (router) Αυτό σημαίνει ότι οι routers εκτελούν περισσότερη επεξεργασία από τις bridges / switches Σε αντίθεση με τις bridges, οι routers επεξεργάζονται μόνο τα μηνύματα που απευθύνονται σε εκείνους 4
ιασύνδεση LANs: ρομολογητές (Routers) ιασύνδεση LANs: Πύλες (Gateways) Λειτουργούν σε υψηλότερο επίπεδο από εκείνο των routers, και μπορούν να συνδέσουν δίκτυα που δεν χρησιμοποιούν το ίδιο network layer πρωτόκολλο (IP και μη-ip δίκτυα) 5
Μοντέλο υπηρεσιών (Service model) του Network Layer Ερώτηση: τι μοντέλο υπηρεσιών χρησιμοποιείται σε ένα κανάλι για τη μεταφορά datagrams? Παραδείγματα υπηρεσιών για ανεξάρτητα datagrams: Εγγυημένη παράδοση Εγγυημένη παράδοση με καθυστέρηση λιγότερο από 40 msec Παραδείγματα υπηρεσιών για ροή από datagrams: Παράδοση datagrams στη σωστή σειρά Εγγυημένη χρήση του ελάχιστου δυνατού εύρους ζώνης για όλη τη ροή των datagrams Περιορισμοί σε διακυμάνσεις στην καθυστέρηση παράδοσης συνεχόμενων datagrams Μοντέλο υπηρεσιών του Network Layer στο Internet Internet Service model: Best effort (καλύτερη δυνατή προσπάθεια) ηλαδή, δεν δίνονται εγγυήσεις για: Βέλτιστη χρήση του εύρους ζώνης (bandwidth) Απώλειες πακέτων (loss) Σειρά παράδοσης των datagrams (order) Καθυστέρηση παράδοσης των datagrams (timing) Επίσης δεν δίνονται πληροφορίες ούτε αλλάζει η δρομολόγηση ανάλογα με τη συμφόρηση του δικτύου (no congestion feedback) 6
Αρχιτεκτονική των δρομολογητών (routers) Ένας router εκτελεί δύο κύριες λειτουργίες: Εκτελεί ένα αλγόριθμο δρομολόγησης (RIP, OSPF, BGP) Προωθεί (forwarding) datagrams από το εισερχόμενο (incoming) στο εξερχόμενο (outgoing) port ή link Οι λειτουργίες των input ports ενός router Physical layer: ιάβασμα εισερχόμενων bits Data link layer: π.χ. Ethernet (αφαιρεί την επικεφαλίδα του data link layer και παραδίδει το datagram στο network layer Network layer: Μεταγωγή (προώθηση των εισερχόμενων datagrams) οσμένου του προορισμού του datagram, προώθησέ το στο κατάλληλο output port κάνοντας χρήση του πίνακα προώθησης (forwarding table) Στόχος: να ολοκληρωθεί η προώθηση με ταχύτητα ίδια με εκείνη του καναλιού ( line speed ) Ουρά (queuing): αν τα datagrams φθάνουν με ρυθμούς μεγαλύτερους του ρυθμού προώθησης τοποθέτησέ τα σε μια ουρά (buffer) 7
Οι λειτουργίες των output ports ενός router Buffering: απαιτείται όταν τα datagrams προωθούνται στο output port με ρυθμό μεγαλύτερο από εκείνον του ρυθμού μετάδοσης (ταχύτητα) του καναλιού (link) Scheduling discipline: επιλέγει ανάμεσα στα datagrams που περιμένουν στην ουρά, ποια θα σταλούν Το επίπεδο δικτύου (Network Layer) Transport layer: TCP, UDP Network layer Πρωτόκολλα δρομολόγησης επιλογή διαδρομής RIP, OSPF, BGP Πίνακας προώθησης Data Link layer IP πρωτόκολλο συμβάσεις διευθυνσιοδότησης datagram format Συμβάσεις χειρισμού πακέτων ICMP πρωτόκολλο αναφορά λαθών Σηματοδοσίαδρομολογητών (router signaling ) g physical layer 8
IP datagram format Έκδοση IP πρωτοκόλλου 32 bits Μήκος επικεφαλίδας ver head. type of (bytes) len service length Τύπος δεδομένωνδ fragment 16-bit identifier flgs offset Μέγιστος αριθμός time to upper Internet εναπομένωντων hops live layer checksum (μειώνεται κατά ένα 32 bit source IP address σε κάθε router) Σε ποιο πρωτόκολλο 32 bit destination IP address ανώτερου επιπέδου θα Options (if any) παραδοθούν τα δεδομένα data (μεταβλητό μήκος, Συνήθως ένα TCP ή ένα UDP segment) Συνολικό μήκος datagram (bytes) Για τεμάχιση/ συναρμολόγηση ιεύθυνση αποστολέα/ παραλήπτη π.χ. timestamp, καταγραφή του δρομολογίου, προσδιορισμός λίστας routers που θα ακολουθήσουν Επικεφαλίδα ενός IP datagram Πόσο κοστίζει η επικεφαλίδα του IP μαζί με του TCP? 20 bytes για το TCP 20 bytes για το IP = 40 bytes + επικεφαλίδα του application layer 9
Τεμάχιση και συναρμολόγηση στο IP (IP Fragmentation and Reassembly) Παράδειγμα 4000 byte datagram Μέγιστο μήκος datagram (MTU: Maximum Transfer Unit) = 1500 bytes 1480 bytes δεδομένα (data field) + 20 bytes επικεφαλίδα offset = 1480/8 (σε bytes) length =4000 ID =x length =1500 length =1500 fragflag =0 ID =x ID =x offset =0 Ένα μεγάλο datagram τεμαχίζεται σε πολλά μικρότερα datagrams length =1040 ID =x fragflag =1 fragflag =1 fragflag =0 offset =0 offset =185 offset =370 IP ιευθύνσεις στο ιαδίκτυο Κάθε IP διεύθυνση αποτελείται από 4bytes. Για να είναι ευανάγνωστη γράφεται σε δεκαδική μορφή με το δεκαδικό σημείο να διαχωρίζει τα bytes (dotted-decimal notation) όπως δείχνει το σχήμα: 10
ιευθύνσεις - Ονόματα Περιοχής Κάθε Η/Υ έχει ένα μοναδικό (ευμνημόνευτο από ανθρώπους) όνομα στο ιαδίκτυο (που αντιστοιχίζεται στην IP διεύθυνσή του) και δίνεται από τον διαχειριστή του Η/Υ sapfo.lesvos.aegean.gr (αντιστοιχεί στην IP διεύθυνση 195.251.128.3) zeus.harvard.edu Το πρώτο τμήμα δηλώνει έναν ειδικά Η/Υ (sapfo) Το υπόλοιπο είναι το όνομα περιοχής (domain name), που δηλώνει τον οργανισμό (lesvos.aegean.gr)) Το τελευταίο τμήμα (πρόσφυμα, suffix) κάθε ονόματος περιοχής συνήθως υποδηλώνει τον τύπο του οργανισμού ή τη χώρα Ονόματα Περιοχής Για παράδειγμα, edu - εκπαιδευτικό ίδρυμα com - εμπορική επιχείρηση org - μη κερδοσκοπική επιχείρηση net - διαδικτυακός οργανισμός Το πρόσφυμα ως δηλωτικό της χώρας: uk au ca se gr - Ενωμένο Βασίλειο - Αυστραλία - Καναδάς - Σουηδία - Ελλάδα Νέες κατηγορίες προσφυμάτων είναι υπό θεώρηση 11
Ονόματα Περιοχής Ένα όνομα περιοχής μπορεί να έχει αρκετά τμήματα (π.χ. lesvos.aegean.gr) Μοναδικά ονόματα περιοχής σημαίνει ότι πολλαπλές λές τοποθεσίες μπορούν να έχουν ατομικούς Η/Υ με το ίδιο τοπικό όνομα (π.χ. sapfo.di.uoa.gr) Όταν χρησιμοποιείται, μια διεύθυνση στο ιαδίκτυο μεταφράζεται σε μια IP διεύθυνση με ένα λογισμικό που λέγεται Domain Name System (DNS). To λογισμικό αυτό «τρέχει» σε έναν Η/Υ γνωστό ως DNS server IP διευθυνσιοδότηση (addressing): Εισαγωγή IP address: Ένα 32-bit αναγνωριστικό της διεπαφής (interface) ενός Η/Υ ή router interface: σύνδεση ανάμεσα στον Η/Υ ή router και το φυσικό κανάλι Οι routers έχουν συνήθως περισσότερα από ένα interfaces 223.1.1.1 223.1.2.1 223.1.1.2 223.1.1.4 223.1.2.9 223.1.1.3 223.1.3.1 223.1.3.27 223.1.2.2 223.1.3.2 Κάθε IP address συσχετίζεται με ένα interface 223.1.1.1 = 11011111 00000001 00000001 00000001 223 1 1 1 12
IP διευθυνσιοδότηση (addressing): Εισαγωγή Το τμήμα μια IP διεύθυνσης που αφορά το τοπικό (υπο)δίκτυο (subnet portion) είναι αυθαίρετου μήκους Address format: a.b.c.d/x, όπου x είναι μήκος του subnet portion (σε bit) subnet part host part 11001000 00010111 00010000 00000000 200.23.16.0/2323 0/23 Τι συνέπειες θα έχει ένα subnet portion με μεγάλο μήκος; Subnet masks Χρησιμοποιούνται για να διευκολύνουν το διαχωρισμό του subnet part της IP διεύθυνσης από το host part Παράδειγμα: Υποδίκτυο (subnet): 149.61.10.x Subnet mask: 255.255.255.000 ή (σε δυαδική μορφή) 11111111.11111111.11111111.00000000 Παράδειγμα: Subnet: 149.61.10.1/128, Subnet mask 255.255.255.128 or, in binary: 11111111.11111111.11111111.10000000 Μέχρι πόσους Η/Υ μπορώ να συνδέσω σε αυτό το υποδίκτυο; 13
ipconfig Πληκτρολογείστε στο Command Prompt: ipconfig ipconfig /all Παρέχει πληροφορίες για τα IP & MAC addresses, Subnet Mask, Network card, DHCP & DNS servers addresses, ipconfig Στο προηγούμενο παράδειγμα, το ipconfig «έδειξε» ότι η subnet mask είναι 255.255.255.192 Ποια είναι η μάσκα σε δυαδική μορφή; 11111111.11111111.11111111.11000000 11000000 Μέχρι πόσους Η/Υ μπορώ να συνδέσω σε αυτό το υποδίκτυο; 2 6 = 64 υπολογιστές 14
IP διευθύνσεις Πως να πάρω μία; (DHCP) Πως αποδίδεται σε έναν Η/Υ που έχει μόλις συνδεθεί σε ένα LAN μια νέα (και μοναδική) IP διεύθυνση; Υπάρχουν δύο τρόποι: «Με το χέρι» (manually), από το διαχειριστή του δικτύου Αυτόματα, με το Πρωτόκολλο υναμικής ιευθέτησης Υπολογιστών (Dynamic Host Configuration Protocol, DHCP) Παρέχει έναν αυτοματοποιημένο τρόπο για την απόδοση μοναδικών IP διευθύνσεων σε κάθε δικτυακή συσκευή Για να αποδοθεί σε μια συσκευή μια IP διεύθυνση από τον DHCP server, θα πρέπει να της δώσουμε την IP διεύθυνση του DHCP server ή να τη βρει μόνη της με ένα DCHP request/response Η IP διεύθυνση που αποδίδει o DHCP server δεν είναι μόνιμη, αλλά έχει συγκεκριμένη διάρκεια χρήσης (lease) IP διευθύνσεις Πως να πάρω μία; (DHCP) 15
IP διευθύνσεις Πως να πάρω μία; (DHCP) IP διευθύνσεις Πως να πάρω μία; Ερώτηση: Πως ένα δίκτυο μπορεί να κατοχυρώσει τη δική του IP διεύθυνση (subnet part);; Απάντηση: Του αποδίδεται μία διεύθυνση από το εύρος διευθύνσεων που διαχειρίζεται ο ISP (Internet Service Provider) στον οποίο ανήκει ISP's block 11001000 00010111 00010000 00000000 200.23.16.0/20 Organization 0 11001000 00010111 00010000 00000000 200.23.16.0/23 Organization 1 11001000 00010111 00010010 00000000 200.23.18.0/23 23 0/23 Organization 2 11001000 00010111 00010100 00000000 200.23.20.0/23....... Organization 7 11001000 00010111 00011110 00000000 200.23.30.0/23 Οι ISPs παίρνουν blocks IP διευθύνσεων από τον ICANN (Internet Corporation for Assigned Names and Numbers) 16
ρομολόγηση (Routing) στο Internet Forwarding Table στον Router B Host 1 Router X Host 3 Destination Host 1 Host 2 Host 3 Host 4 Router B Router D Output Port X-B link E-B link D-B link C-B link Κάθε router διατηρεί ένα routing ή forwarding table. Ανάλογα με το IP destination address του πακέτου, το προωθεί στο αντίστοιχο output port. Router C Router E Host 4 Router Y Host 2 ρομολόγηση (Routing) στο Internet Οι αλγόριθμοι δρομολόγησης (routing algorithms) που εκτελούν οι routers «βλέπουν» το δίκτυο ως γράφο Πρόβλημα: βρες το βέλτιστη διαδρομή για τα εισερχόμενα πακέτα ανάμεσα στον τρέχον router και τον προορισμό, δηλαδή εκείνη με το μικρότερο αθροιστικά κόστος. Τι πληροφορία χρειάζομαι; Συνολική πληροφορία για την τοπολογία του δικτύου Τα κόστη των links Ποιες παράμετροι μπορεί να καθορίζουν το κόστος ενός link; Φυσική απόσταση, συμφόρηση (traffic), ταχύτητα καναλιού,... Υπάρχουν δύο τύποι κατανεμημένων (distributed) αλγορίθμων για την εύρεση βέλτιστων διαδρομών ιανυσματικής απόστασης (Distance A 6 3 1 vector): εφαρμόζεται στον 2 αλγόριθμο δρομολόγησης RIP 1 E B Κατάστασης καναλιού (Link state): 4 1 εφαρμόζεται στον αλγόριθμο 9 C D δρομολόγησης OSPF F 17
Αλγόριθμοι δρομολόγησης (routing algorithms) στο Internet: Routing Information Protocol (RIP) Χρησιμοποιούνταν στο APRANET (πρόγονος του Internet) Στο RIP πρωτόκολλο, οι routers ανταλλάσσουν πληροφορία που τους επιτρέπει να διατηρούν ενημερωμένους τους πίνακες δρομολόγησης (routing tables) Ουσιαστικά ανταλλάσσουν περιοδικά τους routing tables τους Βασίζεται στη λογική της διανυσματικής απόστασης (Distance Vector) Η δρομολόγηση κάθε πακέτου αποφασίζεται με βάση τον μικρότερο αριθμό «μεταπηδήσεων» (hops) A B C G D F E π.χ.: από το A στο G ABCG Αλγόριθμοι δρομολόγησης (routing algorithms) στο Internet: Open Shortest Path First (OSPF) Το πρωτόκολλο OSFP έχει γίνει πολύ δημοφιλές στο Internet Χρησιμοποιεί μια ποικιλία παραμέτρων για να αποφασίσει πως θα δρομολογήσει ένα πακέτο π.χ. αριθμός hops, συμφόρηση, ταχύτητα καναλιού Όπως και στο πρωτόκολλο RIP, οι routers διατηρούν τα routing tables ενημερωμένα ανταλλάσσοντας πληροφορίες Ο OSFP είναι πιο αποδοτικός αλγόριθμος (οι routers ανταλλάσσουν μόνο τυχόν αλλαγές και όχι ολόκληρους τους routing tables) O OSFP παρέχει πιο αξιόπιστα μονοπάτια δρομολόγησης για τα πακέτα Λαμβάνει υπόψη μετρήσεις σχετικά με τη κίνηση και το ρυθμό λαθών (error rate) των καναλιών Έτσι, είναι λιγότερο πιθανό ένα πακέτο να χαθεί λόγω buffer overflow ή να παραληφθεί με λάθη και να χρειαστεί να επαναμεταδοθεί 18
IPv6 H έκδοση του IP για στην οποία αναφερθήκαμε ως τώρα είναι η 4 (IPv4) Το κύριο κίνητρο για την ανάπτυξη μιας νέας έκδοσης του IP (IPv6) είναι ότι οι 32-bit διευθύνσεις που προβλέπει η επικεφαλίδα (header) του IPv4 σύντομα θα έχουν όλες δοθεί Γιατί; 19
Ethereal Εργαλείο ανάλυσης πρωτοκόλλων (protocol analyzer tool ή packet sniffer) Χρησιμοποιείται: από επαγγελματίες για την ανάλυση, την ανάπτυξη και τον εντοπισμό προβλημάτων που σχετίζονται με δικτυακά πρωτόκολλα από διαχειριστές και σχεδιαστές δικτύων για να συλλέξουν στατιστικά στοιχεία για την κίνηση (traffic) σε δίκτυα, να εντοπίσουν ατέλειες και να χαράξουν στρατηγικές για την αναβάθμισή τους για εκπαιδευτικούς σκοπούς, με στόχο την κατανόηση της λειτουργίας διαδεδομένων δικτυακών πρωτοκόλλων ιατίθεται δωρεάν: http://www.ethereal.com/ Είναι προϊόν «ανοικτού κώδικα» (open source), επιτρέποντας σε προγραμματιστές να προσθέσουν νέα χαρακτηριστικά/λειτουργίες στο λογισμικό Απαιτεί δικαιώματα διαχειριστή (administration rights) στο σύστημα όπου είναι εγκατεστημένο για να λειτουργήσει Ethereal: τι κάνει «Ακούει» την τοπική κάρτα δικτύου και «πιάνει» (capture) πακέτα που στέλνονται ή λαμβάνονται από αυτή Τα δεδομένα των πακέτων που «συλλαμβάνονται» μπορούν να αποθηκευθούν σε αρχεία Υποστηρίζει περί τα 750 πρωτόκολλα Τα «συλληφθέντα» πακέτα αποδομούνται ώστε να διαχωρίζονται τα πραγματικά δεδομένα από τις επικεφαλίδες (headers) των διαφόρων πρωτοκόλλων Παρέχεται δυνατότητα επισκόπησης των περιεχομένων (πεδίων) των επικεφαλίδων πρωτοκόλλων αλλά και των δεδομένων των πακέτων μέσω μιας διεπαφής χρήστη (GUI) O χρήστης μπορεί να ορίσει φίλτρα (περιορισμούς) ύ ώστε το Ethereal να «συλλάβει» πακέτα που: Προέρχονται ή προορίζονται για έναν συγκεκριμένο Η/Υ (IP address) Αντιστοιχούν σε ένα συγκεκριμένο πρωτόκολλο (π.χ. IP, TCP, ARP, HTTP, ICMP, ) Πληρούν μία ή περισσότερες (συνδυασμό) από προϋποθέσεις 20
Ethereal: τι κάνει Ethereal: λειτουργία Επιλέξτε Capture Options Επιλέξτε στο πεδίο Interface την κάρτα δικτύου του H/Y σας Πατήστε Start για να αρχίσει το Ethereal να «πιάνει» πακέτα Μετά από λίγο πατήστε Stop για να σταματήσει η διαδικασία δ και να δείτε τις λεπτομέρειες των «συλληφθέντων» πακέτων Επιλογή κάρτας δικτύου Σύνολο πακέτων που «συλλαμβάνονται» και κατηγοριοποίηση βάσει του πρωτοκόλλου τους 21
Ethereal: λειτουργία Σύνοψη πληροφοριών για «συλληφθέντα» πακέτα (αφετηρία, προορισμός, πρωτόκολλο), διαφορετικός χρωματισμός ανάλογα με τον τύπο πακέτου Αποδόμηση επιλεγμένου πακέτου στις επί μέρους επικεφαλίδες των πρωτοκόλλων Περιεχόμενο επιλεγμένου πακέτου σε δεκαεξαδική και ASCII μορφή Ethereal: ανάλυση διάδρασης web browser web server Ανοίξτε σε ένα browser τη σελίδα και παρατηρείστε τον HTML κώδικά της: http://ct-green.aegean.gr/~dgavalas/test.htm Χρησιμοποιείστε το Ethereal για να «πιάσετε» τα πακέτα που ανταλλάσσονται ανάμεσα στον τοπικό Η/Υ και τον server που «φιλοξενεί» τη σελίδα κατά τη αίτηση και μεταφορά στον Η/Υ σας της σελίδας αυτής Τι φίλτρο θα πρέπει να δηλώσουμε;;; 1. Την IP διεύθυνση του Η/Υ μας 2. Την πόρτα (port) που αναφέρεται στο πρωτόκολλο μεταφοράς της σελίδας: χρησιμοποιείται το πρωτόκολλο HTTP που «ακούει» στην TCP πόρτα 80 (tcp port 80) Φίλτρο: host 195.251.130.208 and tcp port 80 Θα βρείτε την IP address του Η/Υ σας πληκτρολογώντας: ipconfig 22
Ethereal: ανάλυση διάδρασης web browser web server ιαδικασία: 1. «Ξεκινήστε» το Ethereal 2. Χρησιμοποιήστε τον browser για να «κατεβάσετε» β τη σελίδα http://ct-green.aegean.gr/~dgavalas/test.htm 3. «Σταματήστε» το Ethereal και παρατηρείστε τα πακέτα που «έπιασε» 4. Προσπαθήστε να εντοπίσετε στα πακέτα που «συνέλαβε» το Ethereal τον HTML κώδικα της σελίδας που «κατεβάσατε» Ethereal: ανάλυση διάδρασης web browser web server Εμφάνιση της σελίδας που «κατεβάζουμε» στην οθόνη του browser O ΗΤΜL κώδικας της ιστοσελίδας 23
Ethereal: ανάλυση διάδρασης web browser web server HTML κώδικας της σελίδας που μεταφέρθηκε με HTTP/TCP Ethereal: ανάλυση ping Χρησιμοποιείστε το Ethereal για να «πιάσετε» τα πακέτα που ανταλλάσσονται ανάμεσα στον τοπικό Η/Υ και έναν απομακρυσμένο Η/Υ της επιλογής σας όταν κάνουμε ping εκείνο (τον απομακρυσμένο) ) Η/Υ Τι φίλτρο θα πρέπει να δηλώσουμε;;; 1. Την IP διεύθυνση του Η/Υ μας 2. To πρωτόκολλο που είναι υπεύθυνο για τη μεταφορά των ping requests / responses (ICMP) Φίλτρο: host 195.251.130.208 and icmp «Ξεκινήστε» το Ethereal Κάνετε ping έναν απομακρυσμένο Η/Υ και μετρήστε τον αριθμό των ICMP requests / responses που ανταλλάσσονται «Σταματήστε» το Ethereal και παρατηρείστε τα πακέτα που «έπιασε» Πόσα ICMP requests / responses μετράτε;;; 24
Ethereal: ανάλυση ping Εκτέλεση του ping στο command prompt (στέλνονται 4 ICMP request packets και λαμβάνονται 4 ICMP response packets) Το Ethereal «συνέλαβε» 8 ICMP request/response πακέτα 25
Εργασία στο μάθημα «ίκτυα Υπολογιστών» Θα επαναλάβετε την ίδια άσκηση που εκτελέσαμε στη προηγούμενη (4η) διάλεξη: «Ανάλυση ενός FTP session» Θα κάνετε capture όλα τα εισερχόμενα και εξερχόμενα πλαίσια από τη στιγμή που κάνετε Login σε ένα FTP server μέχρι να κατεβάσετε από εκεί ένα αρχείο και να κλείσετε το session (να πληκτρολογήσετε bye) Να κατεβάσετε ένα σχετικά μεγάλο αρχείο (μεγέθους αρκετών ΚBytes), κατά προτίμηση σε μορφή text Θα αναλύσετε διεξοδικά ένα-προς-ένα όλα τα πακέτα που «συλλαμβάνει» το Ethereal Όλα τα πεδία του TCP header, IP header, Ethernet header & trailer και τα δεδομένα Εργασία στο μάθημα «ίκτυα Υπολογιστών» Μπορείτε να κατεβάσετε αρχεία από ένα server χωρίς να έχετε κάποιο account (anonymous FTP) π.χ. ftp ftp.freebsd.org, (username: anonymous, password: anonymous), μπορείτε να αλλάξετε κατάλογο (cd pub/freebsd) και να κατεβάσετε ένα text αρχείο (π.χ. get README.TXT) Ένα καλό φίλτρο για το Ethereal είναι το: tcp and host 204.152.184.73 204.152.184.73 είναι η IP διεύθυνση του ftp.freebsd.org 26
Εργασία στο μάθημα «ίκτυα Υπολογιστών» Μπορείτε να εκτελέσετε το FTP είτε από το command prompt είτε να κατεβάσετε έναν (δωρεάν) FTP client (με γραφικό περιβάλλον) από το Internet H βαθμολογία σας στην άσκηση θα εξαρτηθεί από το επίπεδο της ανάλυσης που θα κάνετε καθώς και της κατανόησης που θα δείξετε για τη λειτουργία αυτών των πρωτοκόλλων Θα πρέπει να συμβουλευτείτε το διδακτικό βιβλίο του μαθήματος (ή άλλο βιβλίο ή κάποιο web site) στο σημείο που εξηγεί τη λειτουργία αυτών των πρωτοκόλλων και αναλύει τη δομή των επικεφαλίδων τους (ποια πεδία περιλαμβάνουν οι επικεφαλίδες και τι ακριβώς σημαίνει το καθένα) εν θα μπορέσετε να «τρέξετε» το Ethereal σε κάποιο από τα εργαστήρια του Παν/μίου καθώς απαιτεί δικαιώματα administrator Θα χρειαστεί να κατεβάσετε το Ethereal (http://www.ethereal.com/) και να το εγκαταστήσετε σε δικό σας Η/Υ Εργασία στο μάθημα «ίκτυα Υπολογιστών» Θα πρέπει να δοθεί ιδιαίτερη έμφαση: στα πακέτα που αφορούν στην ανάλυση της εγκαθίδρυσης και λύσης των TCP συνδέσεων στα πεδία (fields) των Ethernet, IP και TCP επικεφαλίδων (headers) επιλεγμένων πακέτων Η ανάλυση όλων των πεδίων των επικεφαλίδων θα πρέπει να γίνει μόνο στο πρώτο πακέτο Στα υπόλοιπα πακέτα θα αναλύονται οι τιμές μόνο των πεδίων των οποίων η τιμή μεταβάλλεται σε σχέση με τα προηγούμενα πακέτα 27
Εργασία στο μάθημα «ίκτυα Υπολογιστών» Βαρύτητα στη βαθμολογία του μαθήματος: 20% Η εργασία είναι «υποχρεωτική» Όποιος(α) δεν την παραδώσει θα βαθμολογηθεί μόνο από το γραπτό (με άριστα το 8 αντί το 10) Ομάδες εργασίας των δύο ατόμων! Παράδοση: Τρίτη 26 Απριλίου 2010 Τρόπος παράδοσης: Με email στο: dgavalas@aegean.gr g g (subject: «Εργασία ίκτυα Υπολογιστών ) To email θα έχει μόνο ένα επισυναπτόμενο (attached) MS Word ή PDF έγγραφο με: Ανάλυση της διάδρασης web browser web server (πακέτο προς πακέτο) Εικόνες (screenshots) από το Ethereal με επιλεγμένα πακέτα 28