107 NW’98 6 ο Φροντιστήριο Δικτύων Μακρογιαννάκης Αντώνης
Agenda Επίπεδα δικτύου Ενθυλάκωση Δικτυακές συσκευές IP, MAC addressing
Network Layers: Στοίβα πρωτοκόλλων OSI και TCP/IP Telnet www … IP TCP UDP DNS SNMP TFTP …. ICMP IGMP PING TRACE … MCAST apps TCP/IP stack APPLICATION PRESENTATION SESSION TRANSPORT NETWORK DATA-LINK PHYSICAL OSI (ISO) Αρχή αδιαφάνειας Το κάθε επίπεδο «παρέχει υπηρεσίες» στο ανώτερο επίπεδο, κρύβοντάς του τις σχετικές λεπτομέρειες. FDDIEthernetSONETATM
Network Layers: Επικοινωνία μεταξύ επιπέδων και Η/Υ APPLICATION PRESENTATION SESSION TRANSPORT NETWORK DATA-LINK PHYSICAL Host A APPLICATION PRESENTATION SESSION TRANSPORT NETWORK DATA-LINK PHYSICAL Host B
Network Layers: Επικοινωνία μεταξύ επιπέδων Το κάθε επίπεδο Παραλαμβάνει από το ανώτερο επίπεδο ένα πακέτο πληροφορίας Προσθέτει πληροφορίες που απαιτούνται για να εκτελέσει τα «καθήκοντά» του Παραδίδει το νέο επαυξημένο πακέτο πληροφορίας στο κατώτερο επίπεδοκαι Παραλαμβάνει από το κατώτερο επίπεδο ένα πακέτο πληροφορίας Επεξεργάζεται και αφαιρεί τις πληροφορίες που το αφορούν Παραδίδει το υπόλοιπο του πακέτου στο ανώτερο επίπεδο Παράδειγμα: ένα ethernet frame… Κεφαλίδα Ethernet Ουρά Ethernet Κεφαλίδα IP Κεφαλίδα TCP Δεδομένα Εφαρμογής IP packet Διάφορα «πεδία» σε κάθε κεφαλίδα (header). Τα σημαντικότερα: Source & Destination addresses
Κλάσεις Δικτυακών Στοιχείων Transport Network Data Link Physical Network Application Services Network Application Services Bridge ATM switch Ethernet switch Web server FTP server Domain Name Server Router L3 switch Multi- plexer stat mux Hub Modem Καλώδια χαλκού (UTP, STP, FTP) Οπτικές ίνες (single-mode, multi-mode) Μετατροπείς μέσου (media converters)
IP, MAC addressing
Διευθύνσεις, διευθύνσεις... και άλλες διευθύνσεις! APPLICATION PRESENTATION SESSION NETWORK DATA-LINK PHYSICAL TRANSPORT Ε-mail addressesFTP addressesHTTP addressesTCP portsUDP portsIP addressesAppletalk addressesIPΧ addressesMAC addresses
Διευθύνσεις, διευθύνσεις... και άλλες διευθύνσεις! MAC addresses: 6 bytes μορφή xxxx.xxxx.xxxx όπου x = hex «μοναδικός» αριθμός για κάθε αντάπτορα και κάρτα δικτύου είναι πλέον εύκολο να αλλαχτεί με MAC spoofing IP address: αναλυτικά στη συνέχεια TCP / UDP port: 0 – 65535
Αντιστοιχίσεις μεταξύ διευθύνσεων Layer 2 devices: switches Αντιστοιχίσεις μεταξύ MAC address και θύρας της συσκευής “MAC Address Table” Layer 2 devices: switches Αντιστοιχίσεις μεταξύ MAC address και θύρας της συσκευής “MAC Address Table” Layer 3 devices: routers Αντιστοιχίσεις μεταξύ διευθύνσεων 2 ου και 3 ου επιπέδου π.χ. μεταξύ MAC address και IP address - Address Resolution Protocol - “ARP table” Layer 3 devices: routers Αντιστοιχίσεις μεταξύ διευθύνσεων 2 ου και 3 ου επιπέδου π.χ. μεταξύ MAC address και IP address - Address Resolution Protocol - “ARP table”
Address Resolution Protocol Πρέπει να επικοινωνήσω με τον Δεν υπάρχει στο ARP table μου ARP request Από: 0011.aabb.ccdd Προς: ffff.ffff.ffff Ποιος έχει την IP address ??? Μπααα... Δεν είμαι εγώ αυτός! Μπααα... Δεν είμαι εγώ αυτός! Μπααα... Δεν είμαι εγώ αυτός! Ααααα... Αυτή είναι η δική μου IP address!!! ARP response Από: 0022.aabb.ccdd Προς: 0011.aabb.ccdd ΕΓΩ έχω την IP address Ok, ενημερώνω το ARP table μου : 0022.aabb.ccdd
IP Addressing IP address=32-bit number Decimal value bytes decimal notation Η κάθε διεύθυνση έχει network part και host part
Subnet mask Σειρά από 32 «1» και «0», όπου οι «1» καθορίζουν ποιο τμήμα της IP διεύθυνσης είναι το network part και τα «0» το host part. Logical AND μεταξύ IP address και subnet mask δίνει το network number. Χρήση subnet mask από κάθε σταθμό του δικτύου για να διαπιστώσει αν ο σταθμός προορισμού ανήκει στο ίδιο δίκτυο.
Subnet mask - Παράδειγμα Να βρεθεί το network number για IP: , subnet mask: Παίρνουμε IP και subnet mask σε δυαδική μορφή: IP addr = Mask = Λογικό AND δίνει: Σε dotted decimal notation, αυτό αντιστοιχεί στο network number:
Subnet mask (συνέχεια) Η πρώτη διεύθυνση ενός subnet ονομάζεται network address. H τελευταία διεύθυνση ενός subnet είναι η broadcast address.
Default Subnet masks Class A networks: ή /8 Class B networks: ή /16 Class C networks: ή /24
IP addressing Γιατι χρειαζόμαστε τις IP addresses ? Ιεραρχικά, βασισμένοι στην γεωγραφική θέση, όπως οι τηλεφωνικοί αριθμοί: xxxx Κλιμακωσιμότητα στο routing Κλιμακωσιμότητα στην ανάθεση
Πώς επικοινωνεί ένας υπολογιστής; Το Dest_IP είναι στο δίκτυό μου; – Έλεγχος: My_IP AND Dest_IP > My_Subnet_Mask? Αν Dest_IP στο δίκτυό μου, ARP request: ποιος είναι ο Dest_IP; Βρίσκω αντιστοιχία Dest_MAC – Dest_IP Στέλνω δεδομένα με πακέτα με Dest_IP, Dest_MAC Αν Dest_IP OXI στο δίκτυό μου, χρήση του Default gateway ARP request: ποιος είναι ο My_default_gw_IP; Βρίσκω αντιστοιχία My_default_gw_IP – My_default_gw_MAC Στέλνω δεδομένα με πακέτα με My_default_gw_MAC, Dest_IP (και ο gateway μου θα ξέρει πώς να τα προωθήσει!)
Network Layer - 19 Network Router A R1 C R3 D Interface 0 B Interface 1 Χρήση MAC και IP MAC addresses: για μετάδοση frames στο LAN IP addresses: για μετάδοση datagrams στον τελικό προορισμό R2 R1 H4 H5 H3 H2 H1 H6 H7R3H8 Network A Network B Network C A.XA.YA.Z B.X B.Z B.R C.XC.S C.R R2 Routing Table Network Router C R2 A Interface 0 B Interface 1 R1 Routing Table Network D
Network Layer - 20 Προώθηση Datagram όταν Src/Dst στο ίδιο Δίκτυο 1. Συγκρίνει τον αριθμό δικτύου του προορισμού με τον δικό του: (A=A) 2. Χρησιμοποιεί ARP για να βρεί την Ethernet address του A.Z 1. Κοιτάει το ARP table 2. Στέλνει Broadcast query αν δεν είναι στο table 3. Στέλνει το Ethernet frame στον προορισμό από το βήμα 2. R2 R1 H4 H5 H3 H2 H1 H6 H7R3H8 Network A Network B Network C A.XA.YA.Z B.X B.Z B.R C.XC.S 0 1 Host A.X θέλει να στείλει ένα datagram στον A.Z Network D
Network Layer - 21 Datagram Forwarding when Src/Dst on Different Network 1. Συγκρίνει τον αριθμό δικτύου του προορισμού με τον δικό του: (A B) 2. Βρίσκει το επόμενο hop (default router) από το table: R1 3. Χρησιμοποιεί ARP για να βρεί την Ethernet address του R1 1. Κοιτάει το ARP table 2. Στέλνει Broadcast query αν δεν είναι στο table 4. Στέλνει το Ethernet frame στον προορισμό από το βήμα Ο R1 παίρνει το frame, ψάχνει την IP address προορισμού(B.X): Στέλνει από το interface 1 6. Χρησ. ARP για να βρει την Ethernet address του B.X R2 R1 H4 H5 H3 H2 H1 H6 H7R3H8 Network A Network B Network C A.XA.YA.Z B.X B.Z B.R C.XC.S 0 1 Network Router C R2 A Interface 0 B Interface 1 R1 Routing Table Host A.X θέλει να στείλει ένα datagram στον B.X Network D
Network Layer - 22 Datagram Forwarding when Src/Dst on Different Network R2 R1 H4 H5 H3 H2 H1 H6 H7R3H8 Network A Network B Network C A.XA.YA.Z B.X B.Z B.R C.XC.S 0 1 Network Router C R2 A Interface 0 B Interface 1 R1 Routing Table Network D B.XA.X E(R1,1) E(H4) B.XA.XE(H1) E(R1,0) 1. Συγκρίνει τον αριθμό δικτύου του προορισμού με τον δικό του: (A B) 2. Βρίσκει το επόμενο hop (default router) από το table: R1 3. Χρησιμοποιεί ARP για να βρεί την Ethernet address του R1 1. Κοιτάει το ARP table 2. Στέλνει Broadcast query αν δεν είναι στο table 4. Στέλνει το Ethernet frame στον προορισμό από το βήμα Ο R1 παίρνει το frame, ψάχνει την IP address προορισμού(B.X): Στέλνει από το interface 1 6. Χρησ. ARP για να βρει την Ethernet address του B.X Host A.X θέλει να στείλει ένα datagram στον B.X
Ερωτήσεις???