Δίκτυα Υπολογιστών (Γ’ έτος, ΣΤ’ εξ)

55
Δίκτυα Υπολογιστών (Γ’ έτος, ΣΤ’ εξ) Διάλεξη #5: Επίπεδο Δικτύου (IP layer). Δρομολόγηση (routing) σε IP δίκτυα. Εργαστηριακές ασκήσεις με το εργαλείο ανάλυσης πρωτοκόλλων (protocol analyzer) Ethereal. Γαβαλάς Δαμιανός [email protected] Εαρινό εξάμηνο

description

Δίκτυα Υπολογιστών (Γ’ έτος, ΣΤ’ εξ) Διάλεξη # 5: Επίπεδο Δικτύου ( IP layer). Δρομολόγηση ( routing) σε IP δίκτυα. Εργαστηριακές ασκήσεις με το εργαλείο ανάλυσης πρωτοκόλλων ( protocol analyzer) Ethereal. Γαβαλάς Δαμιανός [email protected]. Εαρινό εξάμηνο. Περίληψη διάλεξης. - PowerPoint PPT Presentation

Transcript of Δίκτυα Υπολογιστών (Γ’ έτος, ΣΤ’ εξ)

Page 1: Δίκτυα Υπολογιστών (Γ’ έτος, ΣΤ’ εξ)

Δίκτυα Υπολογιστών (Γ’ έτος, ΣΤ’

εξ)Διάλεξη #5: Επίπεδο Δικτύου (IP layer). Δρομολόγηση (routing) σε IP δίκτυα. Εργαστηριακές ασκήσεις με το εργαλείο ανάλυσης πρωτοκόλλων (protocol analyzer) Ethereal.

Γαβαλάς Δαμιανός[email protected]Εαρινό εξάμηνο

Page 2: Δίκτυα Υπολογιστών (Γ’ έτος, ΣΤ’ εξ)

Περίληψη διάλεξης

Εισαγωγή στο Επίπεδο Δικτύου (Network Layer) IP (Internet Protocol): η μορφή ενός IP πακέτου (IP

datagram), διευθυνσιοδότηση στο IPv4, ICMP, IPv6 Αρχές λειτουργίας των δρομολογητών (routers) Αλγόριθμοι δρομολόγησης Δρομολόγηση στο Internet Στόχοι της διάλεξης:

Κατανόηση των αρχών που διέπουν της υπηρεσίες του επιπέδου δικτύου:

Δρομολόγηση (επιλογή μονοπατιού) Αντιμετώπιση θεμάτων κλίμακας (scale) Πως λειτουργεί ένας δρομολογητής (router) Προχωρημένα θέματα: IPv6, κινητικότητα (mobility)

Εφαρμογή αυτών των αρχών στο Internet

Page 3: Δίκτυα Υπολογιστών (Γ’ έτος, ΣΤ’ εξ)
Page 4: Δίκτυα Υπολογιστών (Γ’ έτος, ΣΤ’ εξ)

Το μοντέλο αναφοράς OSI (Open Systems Interconnection)

Τα πακέτα

στο επίπεδο δικτύου

ονομάζονται

datagramsΤα

πακέτα στο data link layer ονομάζον

ται πλαίσια (frames)

Page 5: Δίκτυα Υπολογιστών (Γ’ έτος, ΣΤ’ εξ)

Ενθυλάκωση (encapsulation)

messagesegment

datagram

frame

αφετηρίαapplicatio

ntransportnetwork

linkphysical

HtHnHl M

HtHn M

Ht M

M

προορισμός

application

transportnetwork

linkphysical

HtHnHl M

HtHn M

Ht M

M

networklink

physical

linkphysical

HtHnHl M

HtHn M

HtHnHl M

HtHn M

HtHnHl M HtHnHl M

router

switch

Page 6: Δίκτυα Υπολογιστών (Γ’ έτος, ΣΤ’ εξ)

Βασικές λειτουργίες του Network Layer Προώθηση (forwarding): μεταφορά πακέτων από το

input ενός δρομολογητή (router) στο κατάλληλο router output

Δρομολόγηση (routing): καθορισμός του δρομολογίου (διαδρομής) που θα ακολουθήσουν τα πακέτα από την αφετηρία ως τον προορισμό τους

Αλγόριθμοι δρομολόγησης (Routing algorithms) Αναλογία:

Δρομολόγηση: η διαδικασία προγραμματισμού ενός ταξιδιού από μια αφετηρία σε ένα προορισμό

Προώθηση: η διαδικασία μετάβασης στον επόμενο ενδιάμεσο σταθμού

Page 7: Δίκτυα Υπολογιστών (Γ’ έτος, ΣΤ’ εξ)

Διασύνδεση LANs: Γέφυρες (Bridges)

Όπως είδαμε στην προηγούμενη διάλεξη, οι Bridges είναι συσκευές που λειτουργούν στο Επίπεδο Διασύνδεσης Δεδομένων (data link layer devices).

Τα δίκτυα που συνδέουν πρέπει να είναι όμοια, μπορούν όμως να συνδέσουν διαφορετικούς τύπους καλωδίου

Ενώ υπήρξαν πολύ δημοφιλείς στο παρελθόν, πλέον χάνουν μερίδιο στην αγορά από τους μεταγωγείς (switches) που έχουν γίνει φθηνότεροι και ισχυρότεροι

Page 8: Δίκτυα Υπολογιστών (Γ’ έτος, ΣΤ’ εξ)

Διασύνδεση 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 επεξεργάζονται μόνο τα μηνύματα που απευθύνονται σε εκείνους

Page 9: Δίκτυα Υπολογιστών (Γ’ έτος, ΣΤ’ εξ)

Διασύνδεση LANs: Δρομολογητές (Routers)

Page 10: Δίκτυα Υπολογιστών (Γ’ έτος, ΣΤ’ εξ)

Διασύνδεση LANs: Πύλες (Gateways)

Λειτουργούν σε υψηλότερο επίπεδο από εκείνο των routers, και μπορούν να συνδέσουν δίκτυα που δεν χρησιμοποιούν το ίδιο network layer πρωτόκολλο (IP και μη-IP δίκτυα)

Page 11: Δίκτυα Υπολογιστών (Γ’ έτος, ΣΤ’ εξ)

Μοντέλο υπηρεσιών (Service model) του Network Layer Ερώτηση: τι μοντέλο υπηρεσιών χρησιμοποιείται

σε ένα κανάλι για τη μεταφορά datagrams? Παραδείγματα υπηρεσιών για ανεξάρτητα

datagrams: Εγγυημένη παράδοση Εγγυημένη παράδοση με καθυστέρηση λιγότερο από

40 msec Παραδείγματα υπηρεσιών για ροή από datagrams:

Παράδοση datagrams στη σωστή σειρά Εγγυημένη χρήση του ελάχιστου δυνατού εύρους

ζώνης για όλη τη ροή των datagrams Περιορισμοί σε διακυμάνσεις στην καθυστέρηση

παράδοσης συνεχόμενων datagrams

Page 12: Δίκτυα Υπολογιστών (Γ’ έτος, ΣΤ’ εξ)

Μοντέλο υπηρεσιών του Network Layer στο Internet Internet Service model: “Best effort” (καλύτερη

δυνατή προσπάθεια) Δηλαδή, δεν δίνονται εγγυήσεις για:

Βέλτιστη χρήση του εύρους ζώνης (bandwidth) Απώλειες πακέτων (loss) Σειρά παράδοσης των datagrams (order) Καθυστέρηση παράδοσης των datagrams (timing)

Επίσης δεν δίνονται πληροφορίες ούτε αλλάζει η δρομολόγηση ανάλογα με τη συμφόρηση του δικτύου (no congestion feedback)

Page 13: Δίκτυα Υπολογιστών (Γ’ έτος, ΣΤ’ εξ)

Αρχιτεκτονική των δρομολογητών (routers) Ένας router εκτελεί δύο κύριες λειτουργίες:

Εκτελεί ένα αλγόριθμο δρομολόγησης (RIP, OSPF, BGP)

Προωθεί (forwarding) datagrams από το εισερχόμενο (incoming) στο εξερχόμενο (outgoing) port ή link

Page 14: Δίκτυα Υπολογιστών (Γ’ έτος, ΣΤ’ εξ)

Οι λειτουργίες των 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)

Page 15: Δίκτυα Υπολογιστών (Γ’ έτος, ΣΤ’ εξ)

Οι λειτουργίες των output ports ενός router

Buffering: απαιτείται όταν τα datagrams προωθούνται στο output port με ρυθμό μεγαλύτερο από εκείνον του ρυθμού μετάδοσης (ταχύτητα) του καναλιού (link)

Scheduling discipline: επιλέγει ανάμεσα στα datagrams που περιμένουν στην ουρά, ποια θα σταλούν

Page 16: Δίκτυα Υπολογιστών (Γ’ έτος, ΣΤ’ εξ)

Το επίπεδο δικτύου (Network Layer)

Πίνακαςπροώθησης

Πρωτόκολλα δρομολόγησης•επιλογή διαδρομής•RIP, OSPF, BGP

IP πρωτόκολλο•συμβάσεις διευθυνσιοδότησης•datagram format•Συμβάσεις χειρισμού πακέτων

ICMP πρωτόκολλο•αναφορά λαθών•Σηματοδοσίαδρομολογητών (router “signaling”)

Transport layer: TCP, UDP

Data Link layer

physical layer

Networklayer

Page 17: Δίκτυα Υπολογιστών (Γ’ έτος, ΣΤ’ εξ)

IP datagram format

ver length

32 bits

data (μεταβλητό μήκος,Συνήθως ένα TCP

ή ένα UDP segment)

16-bit identifier

Internet checksum

time tolive

32 bit source IP address

Έκδοση IP πρωτοκόλλου

Μήκος επικεφαλίδας (bytes)

Μέγιστος αριθμόςεναπομένωντων hops(μειώνεται κατά ένα

σε κάθε router)

Για τεμάχιση/συναρμολόγηση

Συνολικό μήκος datagram (bytes)

Σε ποιο πρωτόκολλοανώτερου επιπέδου θα

παραδοθούν τα δεδομένα

head.len

type ofservice

“ Τύπος” δεδομένων flgsfragment

offsetupper layer

32 bit destination IP address

Options (if any) π.χ. timestamp,καταγραφή τουδρομολογίου, προσδιορισμόςλίστας routers που θα ακολουθήσουν

Διεύθυνσηαποστολέα/παραλήπτη

Page 18: Δίκτυα Υπολογιστών (Γ’ έτος, ΣΤ’ εξ)

Επικεφαλίδα ενός IP datagram

Πόσο κοστίζει η επικεφαλίδα του IP μαζί με του TCP?

20 bytes για το TCP 20 bytes για το IP = 40 bytes + επικεφαλίδα του application layer

Page 19: Δίκτυα Υπολογιστών (Γ’ έτος, ΣΤ’ εξ)

Τεμάχιση και συναρμολόγηση στο IP (IP Fragmentation and Reassembly)

ID=x

offset=0

fragflag=0

length=4000

ID=x

offset=0

fragflag=1

length=1500

ID=x

offset=185

fragflag=1

length=1500

ID=x

offset=370

fragflag=0

length=1040

Ένα μεγάλο datagram τεμαχίζεται σε πολλά μικρότερα datagrams

Παράδειγμα 4000 byte datagram Μέγιστο μήκος

datagram (MTU: Maximum Transfer Unit) = 1500 bytes

1480 bytes δεδομένα(data field) + 20 bytes επικεφαλίδα

offset =1480/8(σε bytes)

Page 20: Δίκτυα Υπολογιστών (Γ’ έτος, ΣΤ’ εξ)

IP Διευθύνσεις στο Διαδίκτυο

Κάθε IP διεύθυνση αποτελείται από 4 bytes. Για να είναι ευανάγνωστη γράφεται σε δεκαδική μορφή με το δεκαδικό σημείο να διαχωρίζει τα bytes (dotted-decimal notation) όπως δείχνει το σχήμα:

Page 21: Δίκτυα Υπολογιστών (Γ’ έτος, ΣΤ’ εξ)

Διευθύνσεις - Ονόματα Περιοχής

Κάθε Η/Υ έχει ένα μοναδικό (ευμνημόνευτο από ανθρώπους) όνομα στο Διαδίκτυο (που αντιστοιχίζεται στην IP διεύθυνσή του) και δίνεται από τον διαχειριστή του Η/Υsapfo.lesvos.aegean.gr (αντιστοιχεί στην IP διεύθυνση 195.251.128.3)

zeus.harvard.edu Το πρώτο τμήμα δηλώνει έναν ειδικά Η/Υ

(sapfo) Το υπόλοιπο είναι το όνομα περιοχής (domain

name), που δηλώνει τον οργανισμό (lesvos.aegean.gr)

Το τελευταίο τμήμα (πρόσφυμα, suffix) κάθε ονόματος περιοχής συνήθως υποδηλώνει τον τύπο του οργανισμού ή τη χώρα

Page 22: Δίκτυα Υπολογιστών (Γ’ έτος, ΣΤ’ εξ)

Ονόματα Περιοχής

edueducomcomorgorgnetnet

- - εκπαιδευτικό ίδρυμαεκπαιδευτικό ίδρυμα- - εμπορική επιχείρησηεμπορική επιχείρηση

- - μη κερδοσκοπική επιχείρησημη κερδοσκοπική επιχείρηση- - διαδικτυακός οργανισμόςδιαδικτυακός οργανισμός

Το πρόσφυμα ως δηλωτικό της χώρας:

Νέες κατηγορίες προσφυμάτωνΝέες κατηγορίες προσφυμάτωνείναι υπό θεώρησηείναι υπό θεώρηση

ukukauaucacasesegrgr

- - Ενωμένο ΒασίλειοΕνωμένο Βασίλειο- Αυστραλία- Αυστραλία- Καναδάς- Καναδάς- Σουηδία- Σουηδία

Για παράδειγμα,

- - ΕλλάδαΕλλάδα

Page 23: Δίκτυα Υπολογιστών (Γ’ έτος, ΣΤ’ εξ)

Ονόματα Περιοχής

Ένα όνομα περιοχής μπορεί να έχει αρκετά τμήματα (π.χ. lesvos.aegean.gr)

Μοναδικά ονόματα περιοχής σημαίνει ότι πολλαπλές τοποθεσίες μπορούν να έχουν ατομικούς Η/Υ με το ίδιο τοπικό όνομα (π.χ. sapfo.di.uoa.gr)

Όταν χρησιμοποιείται, μια διεύθυνση στο Διαδίκτυο μεταφράζεται σε μια IP διεύθυνση με ένα λογισμικό που λέγεται Domain Name System (DNS). To λογισμικό αυτό «τρέχει» σε έναν Η/Υ γνωστό ως DNS server

Page 24: Δίκτυα Υπολογιστών (Γ’ έτος, ΣΤ’ εξ)

IP διευθυνσιοδότηση (addressing): Εισαγωγή

IP address: Ένα 32-bit αναγνωριστικό της διεπαφής (interface) ενός Η/Υ ή router

interface: σύνδεση ανάμεσα στον Η/Υ ή router και το φυσικό κανάλι Οι routers έχουν

συνήθως περισσότερα από ένα interfaces

Κάθε IP address συσχετίζεται με ένα interface

223.1.1.1

223.1.1.2

223.1.1.3

223.1.1.4 223.1.2.9

223.1.2.2

223.1.2.1

223.1.3.2223.1.3.1

223.1.3.27

223.1.1.1 = 11011111 00000001 00000001 00000001

223 1 11

Page 25: Δίκτυα Υπολογιστών (Γ’ έτος, ΣΤ’ εξ)

IP διευθυνσιοδότηση (addressing): Εισαγωγή Το τμήμα μια IP διεύθυνσης που αφορά το τοπικό

(υπο)δίκτυο (subnet portion) είναι αυθαίρετου μήκους

Address format: a.b.c.d/x, όπου x είναι μήκος του subnet portion (σε bit)

Τι συνέπειες θα έχει ένα subnet portion με μεγάλο μήκος;

11001000 00010111 00010000 00000000

subnetpart

hostpart

200.23.16.0/23

Page 26: Δίκτυα Υπολογιστών (Γ’ έτος, ΣΤ’ εξ)

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 Μέχρι πόσους Η/Υ μπορώ να συνδέσω σε αυτό το

υποδίκτυο;

Page 27: Δίκτυα Υπολογιστών (Γ’ έτος, ΣΤ’ εξ)

ipconfig

Πληκτρολογείστε στο Command Prompt: ipconfig ipconfig /all

Παρέχει πληροφορίες για τα IP & MAC addresses, Subnet Mask, Network card, DHCP & DNS servers addresses, …

Page 28: Δίκτυα Υπολογιστών (Γ’ έτος, ΣΤ’ εξ)

ipconfig

Στο προηγούμενο παράδειγμα, το ipconfig «έδειξε» ότι η subnet mask είναι 255.255.255.192

Ποια είναι η μάσκα σε δυαδική μορφή; 11111111.11111111.11111111.11000000

Μέχρι πόσους Η/Υ μπορώ να συνδέσω σε αυτό το υποδίκτυο; 26 = 64 υπολογιστές

Page 29: Δίκτυα Υπολογιστών (Γ’ έτος, ΣΤ’ εξ)

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)

Page 30: Δίκτυα Υπολογιστών (Γ’ έτος, ΣΤ’ εξ)

IP διευθύνσεις – Πως να πάρω μία; (DHCP)

Page 31: Δίκτυα Υπολογιστών (Γ’ έτος, ΣΤ’ εξ)

IP διευθύνσεις – Πως να πάρω μία; (DHCP)

Page 32: Δίκτυα Υπολογιστών (Γ’ έτος, ΣΤ’ εξ)

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 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)

Page 33: Δίκτυα Υπολογιστών (Γ’ έτος, ΣΤ’ εξ)

Δρομολόγηση (Routing) στο Internet

RouterC

RouterD

RouterB

RouterE

RouterX

RouterY

Host 1

Host2

Host 3

Destination Output Port

Host 1 X-B link

Host 2 E-B link

Host 3 D-B link

Host 4 C-B link

Forwarding Table στονRouter B

Host 4

Κάθε router διατηρεί ένα routing ή forwarding table. Ανάλογα με το IP destination address του πακέτου, το προωθεί στο αντίστοιχο output port.

Page 34: Δίκτυα Υπολογιστών (Γ’ έτος, ΣΤ’ εξ)

Δρομολόγηση (Routing) στο Internet Οι αλγόριθμοι δρομολόγησης (routing algorithms) που

εκτελούν οι routers «βλέπουν» το δίκτυο ως γράφο Πρόβλημα: βρες το βέλτιστη διαδρομή για τα

εισερχόμενα πακέτα ανάμεσα στον τρέχον router και τον προορισμό, δηλαδή εκείνη με το μικρότερο αθροιστικά κόστος. Τι πληροφορία χρειάζομαι; Συνολική πληροφορία για την τοπολογία του δικτύου Τα κόστη των links

Ποιες παράμετροι μπορεί να καθορίζουν το κόστος ενός link; Φυσική απόσταση, συμφόρηση (traffic), ταχύτητα καναλιού, ...

Υπάρχουν δύο τύποι κατανεμημένων (distributed) αλγορίθμων για την εύρεση βέλτιστων διαδρομών

4

36

21

9

1

1D

A

FE

B

C

Διανυσματικής απόστασης (Distance vector): εφαρμόζεται στον αλγόριθμο δρομολόγησης RIP

Κατάστασης καναλιού (Link state): εφαρμόζεται στον αλγόριθμο δρομολόγησης OSPF

Page 35: Δίκτυα Υπολογιστών (Γ’ έτος, ΣΤ’ εξ)

Αλγόριθμοι δρομολόγησης (routing algorithms) στο Internet: Routing Information Protocol (RIP) Χρησιμοποιούνταν στο APRANET (πρόγονος του

Internet) Στο RIP πρωτόκολλο, οι routers ανταλλάσσουν

πληροφορία που τους επιτρέπει να διατηρούν ενημερωμένους τους πίνακες δρομολόγησης (routing tables) Ουσιαστικά ανταλλάσσουν περιοδικά τους routing

tables τους Βασίζεται στη λογική της διανυσματικής

απόστασης (Distance Vector) Η δρομολόγηση κάθε πακέτου αποφασίζεται με

βάση τον μικρότερο αριθμό «μεταπηδήσεων» (hops)

π.χ.: από το A στο G ABCG

B

AC

DE

F

G

Page 36: Δίκτυα Υπολογιστών (Γ’ έτος, ΣΤ’ εξ)

Αλγόριθμοι δρομολόγησης (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 ή να παραληφθεί με λάθη και να χρειαστεί να επαναμεταδοθεί

Page 37: Δίκτυα Υπολογιστών (Γ’ έτος, ΣΤ’ εξ)

IPv6

H έκδοση του IP για στην οποία αναφερθήκαμε ως τώρα είναι η 4 (IPv4)

Το κύριο κίνητρο για την ανάπτυξη μιας νέας έκδοσης του IP (IPv6) είναι ότι οι 32-bit διευθύνσεις που προβλέπει η επικεφαλίδα (header) του IPv4 σύντομα θα έχουν όλες δοθεί

Γιατί;

Page 38: Δίκτυα Υπολογιστών (Γ’ έτος, ΣΤ’ εξ)
Page 39: Δίκτυα Υπολογιστών (Γ’ έτος, ΣΤ’ εξ)

Ethereal

Εργαλείο ανάλυσης πρωτοκόλλων (protocol analyzer tool ή packet sniffer)

Χρησιμοποιείται: από επαγγελματίες για την ανάλυση, την ανάπτυξη και τον

εντοπισμό προβλημάτων που σχετίζονται με δικτυακά πρωτόκολλα από διαχειριστές και σχεδιαστές δικτύων για να συλλέξουν

στατιστικά στοιχεία για την κίνηση (traffic) σε δίκτυα, να εντοπίσουν ατέλειες και να χαράξουν στρατηγικές για την αναβάθμισή τους

για εκπαιδευτικούς σκοπούς, με στόχο την κατανόηση της λειτουργίας διαδεδομένων δικτυακών πρωτοκόλλων

Διατίθεται δωρεάν: http://www.ethereal.com/ Είναι προϊόν «ανοικτού κώδικα» (open source),

επιτρέποντας σε προγραμματιστές να προσθέσουν νέα χαρακτηριστικά/λειτουργίες στο λογισμικό

Απαιτεί δικαιώματα διαχειριστή (administration rights) στο σύστημα όπου είναι εγκατεστημένο για να λειτουργήσει

Page 40: Δίκτυα Υπολογιστών (Γ’ έτος, ΣΤ’ εξ)

Ethereal: τι κάνει

«Ακούει» την τοπική κάρτα δικτύου και «πιάνει» (capture) πακέτα που στέλνονται ή λαμβάνονται από αυτή Τα δεδομένα των πακέτων που «συλλαμβάνονται» μπορούν

να αποθηκευθούν σε αρχεία Υποστηρίζει περί τα 750 πρωτόκολλα Τα «συλληφθέντα» πακέτα αποδομούνται ώστε να

διαχωρίζονται τα πραγματικά δεδομένα από τις επικεφαλίδες (headers) των διαφόρων πρωτοκόλλων

Παρέχεται δυνατότητα επισκόπησης των περιεχομένων (πεδίων) των επικεφαλίδων πρωτοκόλλων αλλά και των δεδομένων των πακέτων μέσω μιας διεπαφής χρήστη (GUI)

O χρήστης μπορεί να ορίσει φίλτρα (περιορισμούς) ώστε το Ethereal να «συλλάβει» πακέτα που: Προέρχονται ή προορίζονται για έναν συγκεκριμένο Η/Υ (IP

address) Αντιστοιχούν σε ένα συγκεκριμένο πρωτόκολλο (π.χ. IP, TCP,

ARP, HTTP, ICMP, …) Πληρούν μία ή περισσότερες (συνδυασμό) από προϋποθέσεις

Page 41: Δίκτυα Υπολογιστών (Γ’ έτος, ΣΤ’ εξ)

Ethereal: τι κάνει

Page 42: Δίκτυα Υπολογιστών (Γ’ έτος, ΣΤ’ εξ)

Ethereal: λειτουργία

Επιλέξτε Capture Options Επιλέξτε στο πεδίο Interface την κάρτα δικτύου του

H/Y σας Πατήστε “Start” για να αρχίσει το Ethereal να «πιάνει»

πακέτα Μετά από λίγο πατήστε “Stop” για να σταματήσει η

διαδικασία και να δείτε τις λεπτομέρειες των «συλληφθέντων» πακέτων

Επιλογή κάρτας δικτύου

Σύνολο πακέτων που

«συλλαμβάνονται» και

κατηγοριοποίηση βάσει του

πρωτοκόλλου τους

Page 43: Δίκτυα Υπολογιστών (Γ’ έτος, ΣΤ’ εξ)

Ethereal: λειτουργίαΣύνοψη πληροφοριών για «συλληφθέντα» πακέτα (αφετηρία,

προορισμός, πρωτόκολλο), διαφορετικός

χρωματισμός ανάλογα με τον τύπο πακέτου

Αποδόμηση επιλεγμένου πακέτου

στις επί μέρους επικεφαλίδες των

πρωτοκόλλων

Περιεχόμενο επιλεγμένου πακέτου σε δεκαεξαδική και

ASCII μορφή

Page 44: Δίκτυα Υπολογιστών (Γ’ έτος, ΣΤ’ εξ)

Ethereal: ανάλυση διάδρασης web browser – web server

Ανοίξτε σε ένα browser τη σελίδα και παρατηρείστε τον HTML κώδικά της: http://ct-green.ct.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

Page 45: Δίκτυα Υπολογιστών (Γ’ έτος, ΣΤ’ εξ)

Ethereal: ανάλυση διάδρασης web browser – web server

Διαδικασία:1. «Ξεκινήστε» το Ethereal2. Χρησιμοποιήστε τον browser για να «κατεβάσετε»

τη σελίδα http://ct-green.ct.aegean.gr/~dgavalas/test.htm

3. «Σταματήστε» το Ethereal και παρατηρείστε τα πακέτα που «έπιασε»

4. Προσπαθήστε να εντοπίσετε στα πακέτα που «συνέλαβε» το Ethereal τον HTML κώδικα της σελίδας που «κατεβάσατε»

Page 46: Δίκτυα Υπολογιστών (Γ’ έτος, ΣΤ’ εξ)

Ethereal: ανάλυση διάδρασης web browser – web server

Εμφάνιση της σελίδας που

«κατεβάζουμε» στην οθόνη του browser

O ΗΤΜL κώδικας της ιστοσελίδας

Page 47: Δίκτυα Υπολογιστών (Γ’ έτος, ΣΤ’ εξ)

Ethereal: ανάλυση διάδρασης web browser – web server

HTML κώδικας της σελίδας που μεταφέρθηκε με

HTTP/TCP

Page 48: Δίκτυα Υπολογιστών (Γ’ έτος, ΣΤ’ εξ)

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 μετράτε;;;

Page 49: Δίκτυα Υπολογιστών (Γ’ έτος, ΣΤ’ εξ)

Ethereal: ανάλυση ping

Το Ethereal «συνέλαβε» 8

ICMP request/response

πακέτα

Εκτέλεση του ping στο command

prompt (στέλνονται 4 ICMP request packets και

λαμβάνονται 4 ICMP response

packets)

Page 50: Δίκτυα Υπολογιστών (Γ’ έτος, ΣΤ’ εξ)
Page 51: Δίκτυα Υπολογιστών (Γ’ έτος, ΣΤ’ εξ)

Εργασία στο μάθημα «Δίκτυα Υπολογιστών» Θα επαναλάβετε την ίδια άσκηση που εκτελέσαμε

στη προηγούμενη (4η) διάλεξη: «Ανάλυση ενός FTP session»

Θα κάνετε capture όλα τα εισερχόμενα και εξερχόμενα πλαίσια από τη στιγμή που κάνετε Login σε ένα FTP server μέχρι να κατεβάσετε από εκεί ένα αρχείο και να κλείσετε το session (να πληκτρολογήσετε bye)

Να κατεβάσετε ένα σχετικά μεγάλο αρχείο (μεγέθους αρκετών ΚBytes), κατά προτίμηση σε μορφή text

Θα αναλύσετε διεξοδικά ένα-προς-ένα όλα τα πακέτα που «συλλαμβάνει» το Ethereal

Όλα τα πεδία του TCP header, IP header, Ethernet header & trailer και τα δεδομένα

Page 52: Δίκτυα Υπολογιστών (Γ’ έτος, ΣΤ’ εξ)

Εργασία στο μάθημα «Δίκτυα Υπολογιστών»

Μπορείτε να κατεβάσετε αρχεία από ένα 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

Page 53: Δίκτυα Υπολογιστών (Γ’ έτος, ΣΤ’ εξ)

Εργασία στο μάθημα «Δίκτυα Υπολογιστών» Μπορείτε να εκτελέσετε το FTP είτε από το command prompt

είτε να κατεβάσετε έναν (δωρεάν) FTP client (με γραφικό περιβάλλον) από το Internet

H βαθμολογία σας στην άσκηση θα εξαρτηθεί από το επίπεδο της ανάλυσης που θα κάνετε καθώς και της κατανόησης που θα δείξετε για τη λειτουργία αυτών των πρωτοκόλλων

Θα πρέπει να συμβουλευτείτε το διδακτικό βιβλίο του μαθήματος (ή άλλο βιβλίο ή κάποιο web site) στο σημείο που εξηγεί τη λειτουργία αυτών των πρωτοκόλλων και αναλύει τη δομή των επικεφαλίδων τους (ποια πεδία περιλαμβάνουν οι επικεφαλίδες και τι ακριβώς σημαίνει το καθένα)

Δεν θα μπορέσετε να «τρέξετε» το Ethereal σε κάποιο από τα εργαστήρια του Παν/μίου καθώς απαιτεί δικαιώματα administrator Θα χρειαστεί να κατεβάσετε το Ethereal (

http://www.ethereal.com/) και να το εγκαταστήσετε σε δικό σας Η/Υ

Page 54: Δίκτυα Υπολογιστών (Γ’ έτος, ΣΤ’ εξ)

Εργασία στο μάθημα «Δίκτυα Υπολογιστών» Θα πρέπει να δοθεί ιδιαίτερη έμφαση:

στα πακέτα που αφορούν στην ανάλυση της εγκαθίδρυσης και λύσης των TCP συνδέσεων

στα πεδία (fields) των Ethernet, IP και TCP επικεφαλίδων (headers) επιλεγμένων πακέτων

Η ανάλυση όλων των πεδίων των επικεφαλίδων θα πρέπει να γίνει μόνο στο πρώτο πακέτο

Στα υπόλοιπα πακέτα θα αναλύονται οι τιμές μόνο των πεδίων των οποίων η τιμή μεταβάλλεται σε σχέση με τα προηγούμενα πακέτα

Page 55: Δίκτυα Υπολογιστών (Γ’ έτος, ΣΤ’ εξ)

Εργασία στο μάθημα «Δίκτυα Υπολογιστών» Βαρύτητα στη βαθμολογία του μαθήματος: 20% Η εργασία είναι «υποχρεωτική»

Όποιος(α) δεν την παραδώσει θα βαθμολογηθεί μόνο από το γραπτό (με άριστα το 8 αντί το 10)

Ομάδες εργασίας των δύο ατόμων! Παράδοση:

Τρίτη 22 Μαΐου 2007 Τρόπος παράδοσης:

Με email στο: [email protected] (subject: «Εργασία ‘Δίκτυα Υπολογιστών’)

To email θα έχει μόνο ένα επισυναπτόμενο (attached) MS Word ή PDF έγγραφο με: Ανάλυση της διάδρασης web browser – web server

(πακέτο – προς – πακέτο) Εικόνες (screenshots) από το Ethereal με

επιλεγμένα πακέτα