Σχήμα 4.1. Δίκτυο μη συγκεκριμένης τοπολογίας (mesh topology)



Σχετικά έγγραφα
Διαδίκτυα και το Διαδίκτυο (Internetworking and the Internet)

ιαδίκτυα και το ιαδίκτυο (Internetworking and the Internet)

ΔΡΟΜΟΛΟΓΗΣΗ ΠΑΚΕΤΩΝ. Η δρομολόγηση των πακέτων μπορεί να γίνει είτε κάνοντας χρήση ασυνδεσμικής υπηρεσίας είτε συνδεσμοστρεφούς υπηρεσίας.

Πρωτόκολλα Επικοινωνίας Πρωτόκολλο IP

3.3 Πρωτόκολλα ανεύρεσης και απόδοσης διευθύνσεων, Address Resolution Protocol (ARP) και Dynamic Host Configuration Protocol (DHCP)

3.2 Το αυτοδύναμο πακέτο IP (datagram) Δομή πακέτου

Επίπεδο δικτύου IP Forwading κτλ

Δίκτυα Υπολογιστών ΙΙ (Ασκήσεις Πράξης)

Ιόνιο Πανεπιστήµιο Τµήµα Πληροφορικής Συστήµατα Επικοινωνίας. Μοντέλο TCP/IP. Ενότητα E. Πόσοι εµπλέκονται σε ένα Σύστηµα Επικοινωνίας

Εισαγωγή στο TCP/IP. Π. Γαλάτης

ΔΙΑΓΩΝΙΣΜΑ ΤΕΛΙΚΗΣ ΕΠΑΝΑΛΗΨΗΣ ΣΤΙΣ ΕΝΟΤΗΤΕΣ

Ιόνιο Πανεπιστήµιο Τµήµα Αρχειονοµίας Βιβλιοθηκονοµίας. Μοντέλο TCP/IP. Ενότητα E. Συστήµατα Επικοινωνίας

Σύντομη παρουσίαση των εργαλείων/εντολών telnet, ping, traceroute nslookup και nmap, zenmap

Επίπεδο δικτύου IP διευθυνσιοδότηση

Πρωτόκολλα Διαδικτύου Μέρος 2ο. Επικοινωνίες Δεδομένων Μάθημα 3 ο

Ethernet Ethernet ΙΕΕΕ CSMA/CD

ΟΜΟΣΠΟΝΔΙΑ ΕΚΠΑΙΔΕΥΤΙΚΩΝ ΦΡΟΝΤΙΣΤΩΝ ΕΛΛΑΔΟΣ (Ο.Ε.Φ.Ε.) ΕΠΑΝΑΛΗΠΤΙΚΑ ΘΕΜΑΤΑ ΕΠΑΝΑΛΗΠΤΙΚΑ ΘΕΜΑΤΑ 2018 Β ΦΑΣΗ

Εξοικείωση με τις εντολές ipconfig και ping

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΔΙΚΤΥΩΝ

Τεχνολογία TCP/IP ΙΑ ΙΚΤΥΩΣΗ- INTERNET. Τεχνολογίες Τηλεκπαίδευσης & Εφαρµογές - Ιούλιος

Δίκτυα Υψηλών Ταχυτήτων Ενότητα 7: Διευθυνσιοδότηση Internet Protocol (IP) v4

Επαναληπτικό µάθηµα επί των αρχών λειτουργίας του ιαδικτύου. ρ. Κωνσταντίνος Σ. Χειλάς. Ethernet

1.2.2 Το μοντέλο δικτύωσης TCP/IP 1 / 26

Γενικές Αρχές. Τεχνολογία ικτύων Επικοινωνιών ΙΙ

Επαναληπτικές Ασκήσεις Μαθήματος

Δίκτυα Η/Υ Θεωρία. Διάλεξη 2η

Α2. Να γράψετε τους αριθμούς 1-5 από τη Στήλη Α και δίπλα το γράμμα της Στήλης Β που δίνει τη σωστή αντιστοίχηση.

Κεφάλαιο 7.3. Πρωτόκολλο TCP

Οι Διαδικτυακές ανάγκες μιας εταιρείας σε διευθύνσεις IPv4, έχουν ως εξής: Τμήμα Διοίκησης Προσωπικού & Οικονομικών Σύνολο απαιτούμενων διευθύνσεων

ΤΕΧΝΟΛΟΓΙΑ ΔΙΚΤΥΩΝ ΕΠΙΚΟΙΝΩΝΙΩΝ 5ο ΚΕΦΑΛΑΙΟ

ίκτυα - Internet Μάθηµα 3ο Ενότητα Β: Το Πρότυπο ΤCP/IP Eισαγωγή - Επικοινωνία µεταξύ δύο Υπολογιστών Παρασκευή 10 NOE 2006 ιευθύνσεις

Προγραμματισμός Διαχείρισης Συστημάτων ΙΙ

Εργαστήριο Δικτύων Υπολογιστών

Τι είναι το πρωτόκολλο Διαδικτύου (Internet Protocol, IP);

α. Το μέγιστο μήκος δεδομένων του ωφέλιμου φορτίου του πλαισίου Ethernet είναι 1500 οκτάδες. ΣΩΣΤΟ

Α5.1 Εισαγωγή στα Δίκτυα. Α Λυκείου

ΤΕΙ Στερεάς Ελλάδας Τμ. Ηλ.γων Μηχ/κων ΤΕ. Δίκτυα Υπολογιστών. Διάλεξη 4: Επίπεδο 3 το πρωτόκολλο IP

ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ #3 Στρώµα ικτύου:ip Πρωτόκολλο και Πρωτόκολλα ροµολόγησης

Εργαστήριο «Δίκτυα Υπολογιστών Ι»

Πρωτόκολλα Διαδικτύου

ΤΕΛΟΣ 1ΗΣ ΑΠΟ 5 ΣΕΛΙ ΕΣ

Network Address Translation (NAT)

Δίκτυα Υπολογιστών Το επίπεδο δικτύου (network layer)

2η Σειρά Ασκήσεων ΗΥ-335α Network layer Παράδοση Παρασκευή 27/11/ :55

Υλοποίηση Δικτυακών Υποδομών και Υπηρεσιών: Δρομολόγηση

Δίκτυα Η/Υ στην Επιχείρηση

OSI και TCP/IP. Εισαγωγή στα Δίκτυα υπολογιστών και τεχνολογίες διαδικτύου

Κεφάλαιο 7 Διαδικτύωση-Internet. 7.2 Τεχνολογία TCP/IP

7.5 Πρωτόκολλο IP. Τεχνολογία ικτύων Επικοινωνιών ΙΙ

ΔΙΚΤΥΑ (23-26) Π. Φουληράς

7.5 Πρωτόκολλο IP. & Ερωτήσεις

ΤΕΧΝΟΛΟΓΙΑ ΙΚΤΥΩΝ ΕΠΙΚΟΙΝΩΝΙΩΝ

Κεφάλαιο > Ε Π Α Ν Α Λ Η Ψ Η Επικοινωνιακό Υποδίκτυο / TCP / UDP. Σελ

Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Εισαγωγή στην Επιστήμη των Υπολογιστών Δίκτυα υπολογιστών. (και το Διαδίκτυο)

ΔΙΚΤΥΑ (18-19) Π. Φουληράς

ΔΙΑΣΥΝΔΕΣΗ ΔΙΚΤΥΩΝ (INTERNETWORKING)

Δίκτυα και Διαδίκτυο

Ερωτήσεις / Απαντήσεις Πιστοποίησης (Επικοινωνίες Δεδομένων)

Διαχείριση Δικτύων Εργαστήριο (Διαφάνειες)

Επικοινωνία. Χάρης Μανιφάβας Τμήμα Εφ. Πληροφορικής & Πολυμέσων ΤΕΙ Κρήτης. Κατανεμημένα Συστήματα (E) Επικοινωνία 1

ΤΕΧΝΟΛΟΓΙΑ ΔΙΚΤΥΩΝ ΕΠΙΚΟΙΝΩΝΙΩΝ 7ο ΚΕΦΑΛΑΙΟ

Δίκτυα Επικοινωνίας και Υπολογιστών

7.2.2 Σχέση OSI και TCP/IP

Δίκτυα ΙΙ Τομέας Πληροφορικής,

Δίκτυα Υπολογιστών Το επίπεδο δικτύου (network layer)

Δίκτυα Θεωρία

Δίκτυα Υπολογιστών Ενότητα 7: Internet Control Message Protocol - ICMP

Μάθημα 6: Αρχιτεκτονική TCP/IP

Δίκτυα Υπολογιστών Ενότητα 8: Internet Protocol - IP

ίκτυα υπολογιστών Στόχοι κεφαλαίου ίκτυα

Β1. Σε ένα τοπικό δίκτυο τοπολογίας Ethernet-TCP/IP το επίπεδο πρόσβασης δικτύου περιλαμβάνει:

Δίκτυα Υπολογιστών Ενότητα 5: User Datagram Protocol - UDP

Κεφάλαιο 2. Υπολογιστές και Τεχνολογία Επικοινωνιών Παρελθόν - Παρόν - Μέλλον

Πανεπιστήμιο Πειραιά Τμήμα Ψηφιακών Συστημάτων. ίκτυα Υπολογιστών Ι. To Μοντέλο OSI. Αναπλ. Καθηγ. Π. εμέστιχας

Πρωτόκολλα Διαδικτύου

Διάρθρωση. Δίκτυα Υπολογιστών I Δίκτυα Μεταγωγής και Διαδίκτυα: Μέρος Β. Διάρθρωση. Αναγκαιότητα της διευθυνσιοδότησης. Ευάγγελος Παπαπέτρου

Δίκτυα Υπολογιστών I

ΕΠΑΝΑΛΗΠΤΙΚΟ ΤΕΣΤ ΣΤΙΣ ΕΝΟΤΗΤΕΣ

Δίκτυα (2 ο μέρος) ΜΥΥ-106 Εισαγωγή στους Η/Υ και στην Πληροφορική

ΠΡΟΤΕΙΝΟΜΕΝΑ ΘΕΜΑΤΑ ΣΤΑ ΔΙΚΤΥΑ ΥΠΟΛΟΓΙΣΤΩΝ ΙΙ Γ Τάξη Ε.Π.Α.Λ.

ΕΑΠ/ΠΛΗ22/ΑΘΗ.3 4 η ΟΣΣ 15/03/2014 Συμπληρωματικές Διαφάνειες

4.1.1 Πρωτόκολλο TCP - Δομή πακέτου

Εισαγωγή στο πως λειτουργεί το διαδίκτυο

ΠΡΩΤΟΚΟΛΛΟ TCP/IP ΜΑΚΡΟΠΟΥΛΟΣ ΝΙΚΟΛΑΟΣ

Τι είναι ένα δίκτυο υπολογιστών; Αρχιτεκτονική επιπέδων πρωτοκόλλων. Δικτυακά πρωτόκολλα

Συσκευές Τηλεπικοινωνιών και Δικτύωσης. Επικοινωνίες Δεδομένων Μάθημα 9 ο

Η απάντηση αυτή λαμβάνει 5 μονάδες. Και αφού βέβαια ο εξεταζόμενος γράψει το γράμμα της σωστής απάντησης μόνο.

Έλεγχος της σύνδεσης του υπολογιστή σας

ΚΕΦΑΛΑΙΟ 1.7. Πρωτόκολλα και Αρχιτεκτονική Δικτύου

Επίπεδο Μεταφοράς. (ανεβαίνουμε προς τα πάνω) Εργαστήριο Δικτύων Υπολογιστών Τμήμα Μηχανικών Η/Υ και Πληροφορικής

ΔΙΚΤΥΑ Η/Υ ΙΙ. Πρωτόκολλα δρομολόγησης

Ερώτηση 1 η μεταγωγής κυκλώματος? : Ποια είναι τα κύρια χαρακτηριστικά της. Ερώτηση 2 η : Ποια είναι τα κύρια χαρακτηριστικά της μεταγωγής μηνύματος?

Διαχείριση Δικτύων Εργαστήριο (Διαφάνειες)

6.1 Επεκτείνοντας το δίκτυο 6.2 Επιλεγόμενες τηλεφωνικές γραμμές modems Πλεονεκτήματα Μειονεκτήματα Βασική χρήση

α. Συνόδου β. Μεταφοράς γ. Δικτύου δ. Διασύνδεσης δεδομένων ε. Φυσικού Επιπέδου (Μονάδες 5)

1 Ερωτήσεις σωστό-λάθος

ΜΑΘΗΜΑ / ΤΑΞΗ : ΔΙΚΤΥΑ ΥΠΟΛΟΓΙΣΤΩΝ ΙΙ / ΕΠΑΛ(Α & Β ΟΜΑΔΑ) ΣΕΙΡΑ: ΗΜΕΡΟΜΗΝΙΑ: 11/12/2011 ΑΠΑΝΤΗΣΕΙΣ

ΟΜΟΣΠΟΝ ΙΑ ΕΚΠΑΙ ΕΥΤΙΚΩΝ ΦΡΟΝΤΙΣΤΩΝ ΕΛΛΑ ΟΣ (Ο.Ε.Φ.Ε.) ΕΠΑΝΑΛΗΠΤΙΚΑ ΘΕΜΑΤΑ ΕΠΑΝΑΛΗΠΤΙΚΑ ΘΕΜΑΤΑ 2012 ΙΚΤΥΑ ΥΠΟΛΟΓΙΣΤΩΝ ΙΙ / ΕΙ ΙΚΟΤΗΤΑΣ

ΘΕΜΑΤΑ ΙΑΧΕΙΡΙΣΗΣ ΕΡΓΑΣΤΗΡΙΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ

T.E.I. ΗΠΕΙΡΟΥ ΤΜΗΜΑ ΤΗΛΕΠΛΗΡΟΦΟΡΙΚΗΣ & ΔΙΟΙΚΗΣΗΣ ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ

Transcript:

Λειτουργίες του Network Layer - Δρομολόγηση Στο ακόλουθο σχήμα φαίνεται ένα δίκτυο μη συγκεκριμένης τοπολογίας (mesh topology), όπως είναι για παράδειγμα ένα δίκτυο ευρείας περιοχής WAN (Wide Area Network). Σχήμα 4.1. Δίκτυο μη συγκεκριμένης τοπολογίας (mesh topology) Ένα τέτοιο δίκτυο περιλαμβάνει τους κόμβους, οι οποίο ονομάζονται δρομολογητές (router) και οι οποίοι αναλαμβάνουν τη διακίνηση των πακέτων στο δίκτυο. Κάθε δρομολογητής λαμβάνει ολόκληρο ένα πακέτο, το αποθηκεύει στη μνήμη του και στη συνέχεια το στέλνει στον επόμενο κόμβο. Γι αυτό και τα δίκτυα αυτού του τύπου λέγονται αποθήκευσης και προώθησης (store and forward).οι Η/Υ (σταθμοί εργασίας ή servers) συνδέονται στο δίκτυο μέσω κάποιου δρομολογητή. Επειδή σε κάποιες χρονικές στιγμές τα πακέτα που έρχονται μπορεί να είναι περισσότερα από αυτά που ο router μπορεί να στείλει, τοποθετούνται σε ουρά αναμονής. Έτσι, υπεισέρχεται και η έννοια της κυκλοφοριακής συμφόρησης (congestion) σε ένα δίκτυο, η οποία επηρεάζει άμεσα τον χρόνο που χρειάζεται ένα δίκτυο για να φτάσει στον προορισμό του. Το 2ο επίπεδο ασχολείται με συνδέσεις σημείου προς σημείο, δηλαδή πως ένα πακέτο θα φτάσει από τον ένα κόμβο στον άλλο. Το 3ο επίπεδο ασχολείται με το πώς ένα πακέτο θα φτάσει από τον έναν Η/Υ στον άλλον, δηλαδή αφορά από άκρο σε άκρο συνδέσεις. Χαρακτηριστικό ενός τέτοιου δικτύου σαν το προηγούμενο είναι ότι υπάρχουν πολλές διαδρομές από τον αποστολέα στον παραλήπτη που μπορεί να ακολουθήσει ένα πακέτο. Κάθε διαδρομή έχει διαφορετικό κόστος (το κόστος είναι ο συνολικός χρόνος που θα χρειαστεί το πακέτο για να φτάσει στον παραλήπτη), που εξαρτάται από τον αριθμό των κόμβων που πρέπει να διασχίσει, από την ταχύτητα μετάδοσης αλλά και την κυκλοφορία σε κάθε γραμμή από όπου πρόκειται να περάσει. Βασική λειτουργία του 3ου επιπέδου είναι να αποφασίσει ποια διαδρομή θα ακολουθήσει ένα πακέτο. Η λειτουργία αυτή λέγεται δρομολόγηση (routing) και πραγματοποιείται από όλους τους κόμβους του δικτύου. Υπάρχουν δύο τεχνικές για την αποστολή των πακέτων σε ένα τέτοιο δίκτυο. (α) datagram. Όταν ο αποστολέας θέλει να στείλει ένα σύνολο από δεδομένα (συνήθως ονομάζεται message), τα δεδομένα τεμαχίζονται σε πακέτα και σε κάθε πακέτο τοποθετείται αρίθμηση, διεύθυνση αποστολέα και παραλήπτη κλπ. Το κάθε πακέτο στέλνεται ανεξάρτητα, δηλαδή από διαφορετική διαδρομή μέσα στο δίκτυο. Τα πακέτα μπορούν έτσι να φτάσουν στον παραλήπτη με λάθος σειρά ή κάποια να χαθούν. Αν το 3ο επίπεδο προσφέρει υπηρεσίες σύνδεσης τύπου connection oriented, περιμένει να λάβει με τη σωστή σειρά τα πακέτα πριν τα παραδώσει στο από πάνω επίπεδο. Αν η σύνδεση που παρέχει είναι connectionless απλώς τα παραδίδει όπως έρχονται. Επίσης αν η σύνδεση είναι αξιόπιστη (reliable) διορθώνει με επανεκπομπή τα λανθασμένα πακέτα. Ο κάθε κόμβος δρομολογεί το πακέτο ανεξάρτητα, δηλαδή όταν το λάβει ένα πακέτο αποφασίζει εκείνη τη στιγμή ποιος θα είναι ο επόμενος κόμβος στον οποίον θα το στείλει. Το κριτήριο για την επιλογής είναι η ελαχιστοποίηση του συνολικού χρόνου που θα χρειαστεί για την τελική παράδοση του πακέτου. Οι δρομολογητές ανταλλάζουν σε τακτά χρονικά διαστήματα πληροφορίες μεταξύ τους σχετικά με την κυκλοφοριακή κατάσταση σε κάθε κόμβο του δικτύου. Έτσι κάθε router έχει μια ολοκληρωμένη εικόνα για τη κυκλοφοριακή κατάσταση σε όλο δίκτυο και έτσι μπορούν να πάρουν κάθε φορά τη σωστή απόφαση για την κατεύθυνση αποστολής ενός πακέτου. Η τεχνική datagram χρησιμοποιείται στο Internet. ;Eχει μεγάλη ευελιξία, αν βγει εκτός λειτουργίας κάποιος κόμβος και χαθεί πακέτο, χρειάζεται να ξανασταλθεί (από άλλη διαδρομή) μόνο αυτό. Το σοβαρό μειονέκτημά της είναι ότι ο χρόνος παράδοσης ενός πακέτου μέσα στο δίκτυο δεν μπορεί να προκαθοριστεί γιατί εξαρτάται από την κυκλοφορία στο δίκτυο, και συνεπώς είναι ακατάλληλη για

αποστολή δεδομένων όπως φωνή και ήχος σε πραγματικό χρόνο (real time). (β) Virtual Circuits. Όλα τα πακέτα ακολουθούν την ίδια διαδρομή μέσα στο δίκτυο. Η διαδρομή αυτή αποφασίζεται κατά πριν από την έναρξη της μετάδοσης δεδομένων, και ονομάζεται και νοητό (εικονικό) κύκλωμα. Κάθε εικονικό κύκλωμα για να ξεχωρίζει από τα υπόλοιπα περιέχει όταν δημιουργείται λαμβάνει έναν αριθμό, τον αριθμό νοητού κυκλώματος. Ένα νοητό κύκλωμα καταργείται όταν τελειώσει η μεταφορά δεδομένων. Το κάθε πακέτο δεν χρειάζεται να περιέχει τη διεύθυνση αποστολέα και παραλήπτη αλλά μόνο τον αριθμό του νοητού κυκλώματος στο οποίο ανήκει. Κατά συνέπεια το μέγεθος των πακέτων είναι μικρότερο σε σχέση με τα datagram. Επίσης η λειτουργία των κόμβων σε ένα δίκτυο virtual circuit (λέγονται switches και όχι routers) είναι απλούστερη και ταχύτερη σε σχέση με τη λειτουργία των δρομολογητών στα δίκτυα datagram. Τα δίκτυα που χρησιμοποιούν την τεχνική virtual circuit προσφέρουν υπηρεσίες σύνδεσης τύπου connection oriented ενώ αυτά που χρησιμοποιούν datagram προσφέρουν υπηρεσίες connectionless. χαρακτηριστικός εκπρόσωπος των δικτύων virtual circuit είναι τα δίκτυα που χρησιμοποιούν την τεχνολογία (ΑΤΜ,Asynchronous Transfer Mode). Το κυριότερο πλεονέκτημα των δικτύων datagram είναι ότι μπορούν να εξασφαλίσουν ποιότητα υπηρεσιών (Quality Of Service), δηλαδή τα δύο μέρη που επικοινωνούν μπορούν να ζητήσουν από το δίκτυο να τους εξασφαλίσει έναν ελάχιστο ρυθμό μετάδοσης σε όλη τη διάρκεια της επικοινωνίας. 4.2 Αρχιτεκτονική TCP/IP Η αρχιτεκτονική TCP/IP περιλαμβάνει τρία επίπεδα Internet layer. Αντιστοιχεί στο Network Layer του μοντέλου OSI. Transport Layer. Αντιστοιχεί στο Transport Layer του μοντέλου OSI. Application Layer περιλαμβάνει τα τρία τελευταία επίπεδα του μοντέλου OSΙ, δηλαδή τα session, presentation και application layers. Σε κάθε επίπεδο αντιστοιχούν και κάποια πρωτόκολλα με κυριότερα το IP (Internet Protocol) στο Internet Layer και το TCP (Transport Control Protocol) στο Transport Layer. To TCP/IP δεν περιλαμβάνει τα δύο πρώτα επίπεδα του OSI, τα οποία απλώς αναφέρονται με το όνομα Network Access Layer. Το τρίτο επίπεδο της αρχιτεκτονικής IP προσφέρει υπηρεσίες σύνδεσης τύπου Connectionless και unreliable (μη αξιόπιστες), και συνεπώς τα δίκτυα που χρησιμοποιείται το IP είναι τύπου Datagram. Το τέταρτο επίπεδο του TCP/IP μπορεί να προσφέρει υπηρεσίες σύνδεσης τύπου Connection Oriented και reliable (αξιόπιστες) αν χρησιμοποιηθεί το πρωτόκολλο TCP ή Connectionless και unreliable. 4.3 Πρωτόκολλο IP (Internet Protocol) Στο σχήμα 3.1 φαίνεται η επικεφαλίδα του πρωτοκόλλου IP. Σχήμα 4.2. H επικεφαλίδα του ΙP Η σημασία των κυριοτέρων πεδίων της επικεφαλίδας είναι η ακόλουθη: Version(4 bit): Περιέχει την έκδοση του πρωτοκόλλου. Η τρέχουσα έκδοση του πρωτοκόλλου είναι η 4. Έτσι αυτό το πεδίο έχει τιμή (100)2. IPL (IP Header Length) (4 bit): Περιέχει το μήκος της επικεφαλίδας σε λέξεις των 32 bit. Η ελάχιστη τιμή είναι η 5 (20 bytes) και η μέγιστη 15 (60 bytes). Total Length: Το συνολικό μήκος όλου του πακέτου μαζί με την επικεφαλίδα. Αφού το πεδίο αυτό έχει μήκος 16 bit το μέγιστο μήκος ενός IP πακέτου είναι 65.535 byte. Identification: Όταν ένα πακέτο για να φτάσει στον προορισμό του πρέπει να περάσει μέσα από

ένα δίκτυο το οποίο υποστηρίζει μέγεθος frame μικρότερο από το μέγεθος του πακέτου το επίπεδο δικτύου του router όπου βρίσκεται το πακέτο το τεμαχίζει σε τμήματα (fragments). Το κάθε τμήμα αποστέλλεται από το Router σαν ανεξάρτητο IP πακέτο. Για να γνωρίσει ο router παραλήπτης ότι όλα αυτά τα πακέτα αποτελούν τμήματα ενός άλλου πακέτου, τα οποία και πρέπει να συναρμολογήσει, στο πεδίο identification του καθενός τοποθετείται ένας αριθμός αναγνώρισης του πακέτου από το οποίο προήλθε το τμήμα. Προφανώς όλα τα τμήματα που προήλθαν από το ίδιο πακέτο έχουν την ίδια τιμή σε αυτό το πεδίο. DF(Don t Fragment) (1 bit): Έχοντας το flag true ένα πακέτο ζητάει από το Router να μην το τεμαχίσει, γιατί για παράδειγμα ο παραλήπτης δεν είναι σε θέση να το επανασυνθέσει. MF (More Fragments) (1 bit): Όλα τα τμήματα που προέρχονται από τη διάσπαση ενός πακέτου εκτός από το τελευταίο έχουν το bit αυτό ενεργοποιημένο. Έτσι ο router παραλήπτης όταν δέχεται ένα πακέτο γνωρίζει ότι ακολουθούν και άλλα τμήματα. Fragment Offset: Αν το πακέτο αυτό είναι τμήμα άλλου πακέτου το πεδίο αυτό υποδηλώνει τη θέση του μέσα στο αρχικό πακέτο, δηλαδή την απόστασή του από την αρχή του πακέτου. Η πληροφορία αυτή είναι απαραίτητη στο router παραλήπτη για να επανασυνθέσει το πακέτο. Time to Live (TTL): Εξαιτίας κάποιου προβλήματος ένα πακέτο μπορεί να περιπλανιέται άσκοπα στο δίκτυο. Το πεδίο TTL θέτει ένα ανώτατο όριο σε αυτή την περιπλάνηση. Ο αποστολέας αυτός θέτει μια τιμή σε αυτό το πεδίο και κάθε φορά που το πακέτο φτάνει σε κάποιο router η τιμή του πεδίου ελαττώνεται κατά 1. Όταν η τιμή μηδενιστεί ο Router απορρίπτει το πακέτο. Protocol:Το πρωτόκολλο στο επίπεδο μεταφοράς που δημιούργησε το πακέτο. Header checksum: Χρησιμοποιείται για έλεγχο λαθών μόνο της επικεφαλίδας Source Address: Η IP διεύθυνση του αποστολέα. Destination Address: H IP διεύθυνση του παραλήπτη. 4.4 Διευθυνσιοδότηση σε δίκτυο IP Ένα δίκτυο με το πρωτόκολλο IP στο τρίτο επίπεδο χωρίζεται συνήθως σε μικρότερα δίκτυα. Κάθε υπολογιστής ανεξαρτήτως σε ποιο δίκτυο ανήκει έχει μια μοναδική διεύθυνση IP μήκους 4 bytes (32 bits). Αυτό σημαίνει ότι δεν μπορεί να υπάρχουν δύο υπολογιστές η οποίοι να βρίσκονται στο ίδιο ή σε διαφορετικά δίκτυα να έχουν την ίδια διεύθυνση IP. Κάθε IP διεύθυνση αποτελείται από δύο μέρη. Την διεύθυνση του δικτύου όπου ανήκει (Network Address) και την διεύθυνση που έχει μέσα στο δίκτυο (Host Address). Ο διαχωρισμός αυτός φαίνεται στο επόμενο σχήμα. Σχήμα 4.3. H επικεφαλίδα του ΙP Σχετικά με το μήκος της διεύθυνσης δικτύου μέσα στην IP διεύθυνση υπάρχουν οι ακόλουθες κατηγορίες διευθύνσεων ή κλάσεις στο Internet οι οποίες φαίνονται στο σχήμα 3.3.

(β) (α) Σχήμα 4.4. (α) Κλάσεις IP διευθύνσεων (β) Ειδικές IP διευθύνσεις. Η κλάση D χρησιμοποιείται για να γίνει ένα πακέτο multicast. Multicast σημαίνει ότι ένα πακέτο λαμβάνεται από μια ομάδα υπολογιστών του δικτύου ενώ broadcast ότι λαμβάνεται από όλους τους υπολογιστές του δικτύου. Στο σχήμα 3.3 δίνονται μερικές ειδικές IP διευθύνσεις οι οποίες δεν μπορούν να δοθούν σε υπολογιστές. Η διεύθυνση (α) χρησιμοποιείται από έναν υπολογιστή μόνο κατά την εκκίνηση. Η διεύθυνση (β) επιτρέπει σε έναν υπολογιστή να στείλει ένα πακέτο σε έναν άλλο υπολογιστή του ίδιου δικτύου χωρίς να γνωρίζει την διεύθυνση του δικτύου. Θα πρέπει να γνωρίζει όμως τη κλάση της διεύθυνση ώστε να βάλει το σωστό αριθμό μηδενικών ως διεύθυνση δικτύου. Ένα πακέτο με τη διεύθυνση (γ) λαμβάνεται από όλους τους υπολογιστές του ίδιου δικτύου ενώ με τη διεύθυνση (δ) το πακέτο λαμβάνεται από όλους τους υπολογιστές του δικτύου του οποίου η διεύθυνση δικτύου περιέχεται στην IP διεύθυνση του πακέτου. Τέλος η διεύθυνση (ε) λέγεται loopback address και χρησιμοποιείται για να ελεγχθεί αν δουλεύει η IP στοίβα του υπολογιστή. Το πακέτο με αυτή τη διεύθυνση δεν τοποθετείται στο καλώδιο του δικτύου αλλά διαβάζεται εσωτερικά στον υπολογιστή. 4.5 Υποδίκτυα και subnet mask Σε μια εταιρεία ή οργανισμό που συνδέει το δίκτυό της στο Internet λαμβάνει μια IP διεύθυνση δικτύου (Network address) η οποία στις θέσεις της διεύθυνσης υπολογιστή έχει μηδενικά. Για παράδειγμα μπορεί να της δοθεί η διεύθυνση 147.102.0.0 είναι μια διεύθυνση κλάσης B. Κάθε υπολογιστής της εταιρείας θα έχει τα δύο πρώτα byte της διεύθυνσης σταθερά και ίσα με 147 και 102. Τα άλλα δύο byte o διαχειριστής μπορεί να τα χρησιμοποιήσει ελεύθερα για τη διευθυνσιοδότηση των υπολογιστών της εταιρείας. Υπενθυμίζεται ότι σύμφωνα με τις ειδικές διευθύνσεις σε έναν υπολογιστή δεν μπορεί να δοθεί η διεύθυνση host που να περιέχει όλο μηδενικά ή όλο άσσους. Στην πράξη κάθε εταιρεία ή οργανισμός χωρίζει το δίκτυό της σε υποδίκτυα subnets) τα οποία επικοινωνούν μεταξύ τους με δρομολογητές (routers). Αυτό γιατί όταν αυξάνει κατά πολύ ο αριθμός των H/Y σε ένα δίκτυο τύπου Ethernet λόγω των συγκρούσεων πέφτει η απόδοση του δικτύου (μεγαλώνει η καθυστέρηση κατά τη μετάδοση των πακέτων). Για τη διευθυνσιοδότηση αυτών των υποδικτύων ο διαχειριστής χρησιμοποιεί ένα τμήμα από τη host διεύθυνση. Το πόσο μεγάλο θα είναι αυτό το τμήμα εξαρτάται κάθε φορά από το πόσο μεγάλα είναι τα υποδίκτυα. Έτσι η IP διεύθυνση ενός υπολογιστή καταλήγει να αποτελείται από τρία μέρη όπως φαίνεται και στο σχήμα 3.4. Τη διεύθυνση δικτύου της

εταιρείας στο Internet (Network Address), τη διεύθυνση υποδικτύου (Subnet Address) όπου ανήκει ο υπολογιστής και τη διεύθυνση του υπολογιστή (Host Address). Σχήμα 4.5. IP διεύθυνση με διεύθυνση υποδικτύου Για να καθορίσει ο διαχειριστής σε έναν υπολογιστή ποιο τμήμα της IP διεύθυνσης είναι διεύθυνση υποδικτύου χρησιμοποιεί τη μάσκα υποδικτύου (subnet mask). Η μάσκα υποδικτύου έχει άσσους σε όλες τις θέσεις που αντιστοιχούν στη διεύθυνση δικτύου και τη διεύθυνση υποδικτύου της IP διεύθυνσης και μηδενικά στις υπόλοιπες όπως φαίνεται και στο σχήμα 3.5. Σχήμα 4.6. IP διεύθυνση με διεύθυνση υποδικτύου Έτσι σε ένα Η/Υ με εγκατεστημένο πρωτόκολλο IP θα πρέπει να οριστεί από τον Administrator (α) IP διεύθυνση (β) μάσκα υποδικτύου (Subnet Mask) Ένας Router που συνδέει π.χ. δύο υποδίκτυα έχει δύο διασυνδέσεις (interfaces) μία για κάθε δίκτυο. Η κάθε διασύνδεση έχει ξεχωριστή IP Address και subnet mask. Το τμήμα υποδικτύου της IP διεύθυνσης της κάθε διασύνδεσης είναι ίδιο με τη διεύθυνση του υποδικτύου που συνδέεται. Κάθε Η/Υ ενός υποδικτύου εκτός από IP και Subnet Mask έχει και μία άλλη διεύθυνση που ονομάζεται διεύθυνση πύλης (Gateway). H διεύθυνση πύλης είναι η IP Address που έχει η σύνδεση του Router από τη μεριά του υποδικτύου Η/Υ. Λέγεται πύλη γιατί η σύνδεση αυτή είναι η επικοινωνία του υποδικτύου με τον έξω κόσμο. Όταν πρόκειται να αποσταλεί ένα πακέτο, το software που υλοποιεί το πρωτόκολλο IP, εξετάζει την IP του παραλήπτη και σε συνδυασμό με τη μάσκα υποδικτύου βρίσκει αν ο παραλήπτης ανήκει στο ίδιο τοπικό δίκτυο. Αν δεν ανήκει τότε στέλνει το πακέτο στην διεύθυνση πύλης. 4.6 Δρομολόγηση σε δίκτυο LAN Για να κάνει δρομολόγηση σε ένα δίκτυο LAN ένας Router χρησιμοποιεί ένα πίνακα που διατηρεί στη μνήμη του και ο οποίος λέγεται πίνακας δρομολόγησης. Η κάθε γραμμή του πίνακα περιέχει μια διεύθυνση υποδικτύου και μία διεύθυνση IP μαζί με τη subnet mask η οποία αντιστοιχεί στην είσοδο κάποιου γειτονικού router. Η γραμμή αυτή παρέχει στο router την εξής πληροφορία: Αν ένα πακέτο φτάσει στο δίκτυο και η διεύθυνση υποδικτύου του είναι αυτή που περιέχεται στη συγκεκριμένη γραμμή το πακέτο στέλνεται στην IP διεύθυνση (δηλαδή στην κατεύθυνση) που καθορίζεται σε αυτή τη γραμμή. Έχουμε δύο ήδη δρομολόγησης τη στατική δρομολόγηση (stating routing) και τη δυναμική (dynamic). Στη στατική οι πίνακες δρομολόγησης είναι σταθεροί και ορίζονται από τον administrator. Στη δυναμική οι routers ανταλλάσσουν μεταξύ τους πληροφορίες και συμπληρώνουν μόνοι τους πίνακες οι οποίοι αλλάζουν κατά τη διάρκεια της λειτουργίας του δικτύου. Για να γίνει αυτή η ανταλλαγή πληροφοριών ανάμεσα στους routers απαιτούνται πρωτόκολλα δρομολόγησης. Έχουμε δύο είδη πρωτοκόλλων δρομολόγησης (α) πρωτόκολλα εσωτερικής δρομολόγησης (Interior Gateway Protocols, IGP), που χρησιμοποιούνται σε ένα αυτόνομα δίκτυο (π.χ. το δίκτυο μιας εταιρείας). Τα κυριότερα πρωτόκολλα αυτής της κατηγορίας είναι το RIP (Routing Information Protocol) και το είναι το OSPF (Open Shortest Path First). (β) Πρωτόκολλα εξωτερικής δρομολόγησης (Interior Gateway Protocols,EGP), που χρησιμοποιούνται σε WAN. O πίνακας δρομολόγησης έχει και μια τρίτη στήλη που περιέχει ένα μέτρο (metric) για τη διαδρομή. Για παράδειγμα για ένα συγκεκριμένο υποδίκτυο μπορεί στο πίνακα δρομολόγησης να υπάρχουν περισσότερες από μια γραμμές, δηλαδή ο Router έχει περισσότερες από μία επιλογές. Θα επιλέξει εκείνα με το καλύτερο μέτρο. Το πρωτόκολλο RIP για παράδειγμα χρησιμοποιεί ως μέτρο τον αριθμό των αλμάτων (hops) από Router σε router που χρειάζεται το πακέτο για να φτάσει στον προορισμό του αν ακολουθήσει τη συγκεκριμένη κατεύθυνση. Ως router μπορούμε να χρησιμοποιήσουμε οποιοδήποτε Η/Υ με λειτουργικό Linux ή Windows ΝΤ/2000 server αρκεί αυτός να διαθέτει μία κάρτα δικτύου για κάθε Interface. Μπορούμε τότε να δούμε τον πίνακα δρομολόγησης με την εντολή route ή την εντολή route -r. Στα Windows ΝΤ/2000 server το routing και συγκεκριμένα το πρωτόκολλο RIP v2. υλοποιείται από τον RRAS (Routing and Remote Access Server)..Μια άλλη εντολή με την οποία μπορούμε να δούμε από ποιους routers περνάει ένα πακέτο μέχρι να φτάσει στον παραλήπτη είναι η traceroute (ή tracert) και η pathping.

4.7 CIDR (Class Inter Domain Routing) Τα πρώτα χρόνια της λειτουργίας του Internet οι routers δεν χρησιμοποιούσαν submasks για να βρουν τη διεύθυνση δικτύου από μια IP, αλλά την καθόριζαν από την κλάση της IP (τα τρία πρώτα bits). Με τον καιρό ο αριθμός των δικτύων με IP κλάσης B και C αυξήθηκε και ήταν αδύνατο για κάθε router να περιέχει στον πίνακα δρομολόγησης μία διεύθυνση για κάθε δίκτυο στο Internet. To CIDR (ή superneting) είναι μια τεχνική σύμφωνα με την οποία ο router δεν γνωρίζει μεμονωμένες διευθύνσεις δικτύων αλλά μια περιοχή (ένα εύρος διευθύνσεων δικτύων). Π.χ. έστω 4 δίκτυα κλάσης C με IP διευθύνσεις 147.102.28.Χ, 147.102.29.Χ, 147.102.30.Χ, 147.102.31.Χ. Η διεύθυνση δικτύου έχει 24 bit μήκος. Το 3o byte για κάθε διεύθυνση είναι 00011100, 00011101, 00011110, 00011111. Από το byte αυτό τα 6 πρώτα bit είναι σταθερά. Συνεπώς ο Router αρκεί αντί να ξέρει 4 IP αρκεί να ξέρει μόνο μία IP όπου το μήκος διεύθυνσης δικτύου είναι 22 bits αντί για 24. To CIDR χρησιμοποιεί τον συμβολισμό 14.102.28.0/22 για μια IP που το /22 δηλώνει το μήκος της διεύθυνσης δικτύου. Με την τεχνική CIDR δίνεται επίσης η δυνατότητα σε έναν ISP να παραχωρήσει σε κάποιον πελάτη που χρειάζεται περισσότερες από 256 IPs μια ομάδα συνεχόμενων διευθύνσεων IP κλάσης C, αντί να του δώσει μια IP κλάσης B, και με αυτό τον τρόπο γίνεται εξοικονόμηση διευθύνσεων. 4.8 Μη δρομολογήσιμες IP διευθύνσεις και NAT (Network Address Translation) Υπάρχουν ορισμένες IP διευθύνσεις που έχουν προβλεφθεί να χρησιμοποιούνται ως εσωτερικές σε δίκτυα και δεν δίνονται ως επίσημες διευθύνσεις στο Internet. Οι δρομολογητές του Internet απορρίπτουν πακέτα με αυτές τις διευθύνσεις γι αυτό και λέγονται μη δρομολογήσιμες (Non Routable IP Addresses) γιατί οι Routers στο internet αν δουν πακέτα με αυτές τις διευθύνσεις τα απορρίπτουν.. Οι διευθύνσεις αυτές είναι οι ακόλουθες (i)10.0.0.0-10.255.255.255 (ii) 172.16.0.0-172.31.255.255 (iii) 192.168.0.0-192.168.255.255. Αν το δίκτυό μας χρησιμοποιεί εσωτερικά αυτές τις διευθύνσεις και εξωτερικά στο Internet κάποιες επίσημες (εξωτερικές), τότε απαιτείται μια διαδικασία αντιστοίχισης των εσωτερικών διευθύνσεων στις εξωτερικές που λέγεται Μετάφραση Διευθύνσεων Δικτύων NAT (Network Address Translation) και γίνεται από το Router που συνδέει το δίκτυό μας με το Internet. Με το NAT δεν χρειάζεται να έχουμε τόσες επίσημες IP όσοι και οι Η/Υ μας. Μπορούμε ακόμα και μία IP να τη «μοιράσουμε» σε πολλούς Η/Υ. To NAT χρησιμοποιείται επίσης και για λόγους ασφαλείας (να μην ξέρει κάποιος απ έξω τις πραγματικές διευθύνσεις των Η/Υ). 4.9 Πρωτόκολλα ελέγχου που συνοδεύουν το IP A) Internet Control Message Protocol (ICMP) Το πρωτόκολλο αυτό χρησιμοποιείται για να στέλνονται πληροφορίες στον αποστολέα σχετικά με κάποιο πρόβλημα που υπήρξε στο δίκτυο κατά την αποστολή του πακέτου του. Τα ICMP πακέτα λέγονται και μηνύματα (ICMP messages). Τα κυριότερα ICMP μηνύματα είναι τα ακόλουθα: DESTINATION UNREACHABLE (Προορισμός δεν μπορεί να προσεγγιστεί): Στέλνεται από κάποιον δρομολογητή όταν δεν βρίσκεται ο υπολογιστής με IP διεύθυνση αυτή που περιέχεται στο πακέτο. TIME EXCEEDED (Ο χρόνος εξαντλήθηκε): Στέλνεται από κάποιον δρομολογητή όταν μηδενιστεί ο μετρητής στο πεδίο TTL (Time To Live) του IP πακέτου. ECHO REQUEST και ECHO REPLY: Χρησιμοποιούνται από τον αποστολέα για να ελέγξει αν κάποιος υπολογιστής του δικτύου είναι προσπελάσιμος. Αρχικά ο αποστολέας στέλνει το μήνυμα ECHO REQUEST και ο παραλήπτης απαντά με ECHO REPLY. Οι εντολές echo request και reply χρησιμοποιούνται από την εντολή (και στο UNIX και στα Windows) ping (Packet INternet Groper), με την οποία μπορούμε να ελένξουμε αν έχουμε σύνδεση με κάποιο H/Y. TIMESTAMP REQUEST και TIMESTAMP REPLY: Ισχύουν τα ίδια με τα ECHO REQUEST και ECHO REPLY με μόνη διαφορά ότι σε κάθε μήνυμα τοποθετείται ο χρόνος που αυτό στέλνεται. Β) Address Resolution Protocol (ARP) Με αυτό τον πρωτόκολλο ένας H/Y αν ξέρει την IP κάποιου άλλου μπορεί να βρει τη MAC διεύθυνσή του. Λειτουργεί με broadcasting. Ενας υπολογιστής στέλνει μήνυμα σε όλους του H/Y του δικτύου ρωτώντας ο H/Y με τη συγκεκριμένη IP τη MAC έχει και απαντάει μόνο ο Η/Υ που όντως έχει αυτή την IP. Για να επιταχυνθεί αυτή η διαδικασία κάθε φορά που ο H/Y βρίσκει μια φυσική διεύθυνση που

αντιστοιχεί σε κάποια IP την καταχωρεί σε πίνακα στη μνήμη του. Τον πίνακα αυτόν μπορούμε να το δούμε με την εντολή arp. Γ) Reverse Addressing Resolution Protocol (RARP) και Bootstrap Protocol (BOOTP) Σε δίκτυα με υπολογιστές χωρίς σκληρό δίσκο (diskless workstations) οι υπολογιστές αυτοί ξεκινούν (boot) με κατάλληλο λογισμικό που υπάρχει ενσωματωμένο στο υλικό της κάρτα δικτύου και στη συνέχεια φορτώνουν το λειτουργικό από κάποιο διακομιστή (server). Ως αποθηκευτικό χώρο χρησιμοποιούν ένα μέρος από το σκληρό δίσκο του διακομιστή. Για να γίνει όμως η σύνδεση με το διακομιστή και η φόρτωση του λειτουργικού θα πρέπει πρώτα ο υπολογιστής να μάθει την IP διεύθυνση του εαυτού του, τη subnet mask κλπ. Για το σκοπό αυτό χρησιμοποιείται το πρωτόκολλο RARP και το BOOTP. 4.10 IPV6 Το πρόβλημα με την τρέχουσα έκδοση του IP πρωτοκόλλου (version 4) στο internet είναι οι εξάντληση των IP διευθύνσεων. Το πρόβλημα γίνεται χειρότερο με τη χρήση υποδικτύων, όπου σπαταλούνται διευθύνσεις. Γι αυτό και η IETF (Internet Engineering Task Force) διαμόρφωσε την επόμενη έκδοση του πρωτοκόλλου, το IPv6 το οποίο χρησιμοποιεί διευθύνσεις 128 bit, οπότε ο αριθμός τους γίνεται πρακτικά απεριόριστος. Σταδιακά το IPV6 θα αντικαταστήσει το IPV4. 4.11 DHCP To DHCP (Dynamic Host Configuration Protocol) είναι ένα πρωτόκολλο, που επιτρέπει σε έναν Η/Υ να πάρει αυτόματα κατά την εκκίνησή του διεύθυνση IP, μάσκα υποδικτύου, καθώς και άλλες πληροφορίες (π.χ. διεύθυνση DNS server, WINS server) από έναν DHCP server. Ο DHCP server είναι πρόγραμμα που τρέχει σε κάποιο server στο δίκτυο (Windows ή Linux) και μοιράζει τις παραπάνω πληροφορίες. Με αυτό τον τρόπο δεν χρειάζεται να κάνουμε ρυθμίσεις (IP, subnet κ.λ.π.) σε κάθε Η/Υ. Βέβαια αυτό δεν σημαίνει ότι υποχρεωτικά όλοι οι Η/Υ του δικτύου θα παίρνουν αυτόματα ρυθμίσεις από τον DHCP. Μπορούμε σε κάποιους από αυτούς να ορίσουμε σταθερές ρυθμίσεις. Οι servers σε ένα δίκτυο αλλά και ο ίδιος o DHCP έχουν σταθερές IP (και άλλες ρυθμίσεις). Η διαδικασία αυτόματης λήψης IP ρυθμίσεων έχει ως εξής: όταν εκκινεί ο Η/Υ (κάνει boot) κάνει broadcast ένα πακέτο (DHCPDISCOVER) προκειμένου να ανακαλύψει αν υπάρχει DHCP server στο δίκτυο. Αν υπάρχει DHCP στέλνει απάντηση (DHCPOFFER) με την οποίο προσφέρεται να εξυπηρετήσει τον H/Y. Μπορεί στο δίκτυο υπάρχουν περισσότεροι από ένας DHCP. Ο H/Y αποδέχεται την προσφορά ενός από αυτούς και του ζητάει αποστολή IP (DHCPREQUEST). Ο DHCP server στέλνει ένα πακέτο (DHCPACK) το οποίο περιέχει όλες τις απαιτούμενες πληροφορίες (IP, subnet κλπ.). Στην περίπτωση αυτή λέμε ότι παραχωρήθηκε άδεια χρήσης (lease) στον H/Y τη συγκεκριμένη IP. Η άδεια αυτή δίνεται για συγκεκριμένο χρονικό διάστημα που καθορίζει ο Administrator όταν κάνει ρυθμίσεις στoν DHCP server. Όταν περάσει το μισό χρονικό διάστημα ο H/Y αρχίζει να ζητάει ανανέωση της άδειας. Ο administrator μπορεί να καθορίσει όλες οι άδειες να έχουν απεριόριστη χρονική διάρκεια..επίσης ο administrator καθορίζει στον DHCP server το διάστημα μέσα στο οποίο θα ανήκουν οι IP διευθύνσεις το οποίο λέγεται scope. Αν στο ίδιο δίκτυο υπάρχουν περισσότεροι από έναν DHCP servers θα πρέπει τα scopes του ενός να μην επικαλύπτονται με τα scopes του άλλου, δηλαδή να μην υπάρχει περίπτωση οι DHCP servers να δώσουν την ίδια διεύθυνση σε δύο διαφορετικούς Η/Υ Με βάση τα παραπάνω για την ανεύρεση του DHCP server χρειάζεται broadcasting και επειδή οι routers δεν επιτρέπουν τη διέλευση broadcasting πακέτων θα πρέπει ο DHCP server να βρίσκεται στο ίδιο υποδίκτυο με τον H/Y που ζητάει την IP. Αν αυτό δεν είναι δυνατό θα πρέπει κάποιος Η/Υ στο υποδίκτυο να λειτουργεί ως DHCP Relay Agent, δηλαδή ως μεσολαβητής, που θα μεταβιβάζει την αίτηση του H/Y για απόδοση IP σε κάποιον DHCP server στο δίκτυο.

TCP Το επίπεδοtransport Layer υπάρχει μόνο στον αποστολέα και τον παραλήπτη, δηλαδή στους Η/Υ που επικοινωνούν. Οι ενδιάμεσοι κόμβοι (routers) περιλαμβάνουν μέχρι και το επίπεδο 3 (Τα switches και οι γέφυρες μέχρι το 2 και τα hubs μέχρι το 1ο). Τα δύο βασικά πρωτόκολλα αυτού του επιπέδου στην αρχιτεκτονική TCP/IP είναι το TCP (Transport Control Protocol) και το UDP (User Datagram Protocol). 5.1 Πρωτόκολλo TCP (Transport Control Protocol) Βασική δουλειά του TCP είναι να δημιουργεί ένα συνεχές αμφίδρομο κανάλι επικοινωνίας μεταξύ αποστολέα και παραλήπτη απαλλαγμένο από λάθη. Το TCP είναι Connection Oriented και αξιόπιστο (reliable) πρωτόκολλο. Κάνει έλεγχο και διόρθωση λαθών χρησιμοποιώντας την τεχνική Go Back N καθώς και έλεγχο ροής. Τα πακέτα στο TCP λέγονται segments. H έννοια της πόρτας στο TCP (TCP port) Όταν λέμε ότι επικοινωνούν δύο υπολογιστές στην ουσία επικοινωνούν δύο προγράμματα. Για παράδειγμα όταν βλέπουμε μια σελίδα στο Internet το πρόγραμμα Internet Explorer στον Η/Υ μας (Client) επικοινωνεί με το κάποιον Web Server, δηλαδή ένα άλλο πρόγραμμα σε κάποιο server. Στον ίδιο server όμως μπορεί να τρέχουν και άλλα προγράμματα, όπως mail server, ftp server, telnet server κλπ. Συνεπώς όταν κάποιο πακέτο φτάσει στο server θα πρέπει να υπάρχει κάποιος τρόπος να γνωστοποιείται σε ποιο πρόγραμμα, από αυτά που εκείνη τη στιγμή τρέχουν πρέπει να παραδοθεί. Για το λόγο αυτό χρησιμοποιείται ο αριθμός πόρτας. Έτσι ενώ η IP διεύθυνση προσδιορίζει τον Η/Υ σε ένα δίκτυο, ο αριθμός πόρτας προσδιορίζει ένα συγκεκριμένο πρόγραμμα μέσα στον Η/Υ στο οποίο παραδίδεται το πακέτο. Έτσι κάθε πακέτο περιέχει IP και αριθμό πόρτας. O αριθμός πόρτας μαζί την IP διεύθυνση ονομάζεται socket. Ο αριθμός πόρτας μπορεί να πάρει τιμή από 0 έως 65535 (είναι αριθμός των 16 bit) Έχουμε δύο είδη συνδέσεων μέσω του πρωτοκόλλου IP. α) Passive (παθητική) Ένα πρόγραμμα όπως π.χ. ο Web Server βρίσκεται σε αναμονή περιμένοντας κάποιο άλλο πρόγραμμα να συνδεθεί μαζί του μέσω της συγκεκριμένης πόρτας. Λέμε τότε ότι το πρόγραμμα αυτό (o web server στο παράδειγμά μας) «ακούει στη συγκεκριμένη πόρτα. Το πρόγραμμα αυτό λέγεται server β) Ενεργητική (active). Κάποιο πρόγραμμα π.χ. ο internet explorer ανοίγει μια πόρτα στο δικό του μηχάνημα προκειμένου να επικοινωνήσει με κάποιο άλλο πρόγραμμα σε άλλο μηχάνημα (π.χ. Web server) σε μια συγκεκριμένη πρώτα που πρέπει να γνωρίζει εκ των προτέρων. Το πρόγραμμα αυτό λέγεται client. Σημείωση: Δύο προγράμματα που επικοινωνούν μέσω TCP πρέπει μπορεί να τρέχουν και στο ίδιο μηχάνημα. Για παράδειγμα μπορεί o Internet Explorer και ο Web Server να τρέχουν στον ίδιο υπολογιστή. Χρησιμοποιώντας την εντολή Netstat μπορούμε να δούμε ποιες TCP συνδέσεις είναι ανοικτές εκείνη τη στιγμή στον υπολογιστή μας (established connections) και ποιες διεργασίες συνδέονται. Επίσης μπορούμε να δούμε ποιες διεργασίες «ακούνε» σε κάποια πόρτα (listening). Οι αριθμοί πόρτας μέχρι και τη 1024 έχουν δεσμευθεί από τον IANA (Internet Addressing Numbering Authority) για συγκεκριμένες υπηρεσίες στο Internet. Για παράδειγμα: 20 και 21 για FTP 23 για Telnet 25 για mail (πρωτόκολλο SMPT) 67 DHCP 80 για HTTP (web servers) 103 για mail (POP3) 161 για το πρωτόκολλο SNMP (Simple Network Management Protocol) Οι πόρτες αυτές λέγονται well-known ports. Σημείωση: Στο παραπάνω παράδειγμα όταν είπαμε ότι ο Web server ακούει στην πόρτα 80 (για HTTP) δεν σημαίνει ότι την ίδια πόρτα στον H/Y του χρήστη χρησιμοποιεί και ο Internet Explorer. Ο Internet Explorer ανοίγει μια οποιαδήποτε πόρτα (πάνω από τη 1024). Η πόρτα 80 αναφέρεται στο server. Το TCP επιτρέπει πολλές ταυτόχρονες συνδέσεις στην ίδια πόρτα. Για παράδειγμα πολλοί Η/Υ μπορούν να συνδεθούν ταυτόχρονα στον ίδιο Web server (στην πόρτα 80). Δηλαδή, τo TCP κάνει πολύπλεξη/ απόπλεξη των TCP συνδέσεων. Από προγραμματιστική σκοπιά το TCP παρεμβάλλεται ανάμεσα στις εφαρμογές και στο δίκτυο. Ο προγραμματιστής δεν χρειάζεται να γνωρίζει τίποτα για το δίκτυο. Απλώς ζητάει από το TCP να του ανοίξει ένα κανάλι επικοινωνίας (socket) δίνοντας IP διεύθυνση και αριθμός πόρτας. Στη συνέχεια στέλνει ή λαμβάνει δεδομένα από αυτό το κανάλι. Στα Windows ο προγραμματιστής χρησιμοποιεί το Winsock API για να επικοινωνήσει με το TCP. Το λογισμικό που υλοποιεί Winsock API εμπεριέχεται στο

αρχείο Winsock.dll Σημείωση: Γενικά API (Application Programming Interface) είναι ένα σύνολο συναρτήσεων και διαδικασιών που ο προγραμματιστής καλεί μέσα από το πρόγραμμά του προκειμένου να επικοινωνήσει (το πρόγραμμά του) με κάποιο άλλο πρόγραμμα ή με το ίδιο το λειτουργικό. Για παράδειγμα, ένα πρόγραμμα για επικοινωνήσει με τα windows και να ζητήσει να ανοιχτεί ένα παράθυρο καλεί μια συνάρτηση από το WIN32 API. Τα APIs υλοποιούνται συνήθως σαν βιβλιοθήκες DLL. Η επικεφαλίδα του TCP φαίνεται στο ακόλουθο σχήμα. Σχήμα 5.1. Η επικεφαλίδα του ΙP Τα βασικότερα πεδία της επικεφαλίδες του TCP είναι Source Port: Αριθμός πόρτας αποστολέα Destination Port: Αριθμός πόρτας παραλήπτη Sequence Number: Αύξων Αριθμός (όταν πάρει τη μέγιστη τιμή μηδενίζεται και μετράει πάλι από την αρχή). Στο TCP δεν έχουμε αρίθμηση των πακέτων αλλά των αποστελλόμενων bytes. To πεδίο sequence number είναι αύξων αριθμός του πρώτου byte μέσα στο πακέτο. Acknowledgement Number: Αυτό το πεδίο δηλώνει στον αποστολέα ποιο είναι το επόμενο byte που περιμένει να λάβει ο παραλήπτης. Με αυτό τον τρόπο ο παραλήπτης δηλώνει ότι μέχρι εκείνο το byte όλα τα προηγούμενα τα έχει λάβει σωστά. Η τεχνική αυτή ονομάζεται τεχνική του ολισθαίνοντος παραθύρου (sliding window). Checksum: Χρησιμοποιείται για έλεγχο λαθών. Data Offset: Δηλώνει από 32άδα και μετά μέσα στο segment αρχίζουν τα δεδομένα. Με άλλα λόγια καθορίζει το μήκος της επικεφαλίδας. Window: Με αυτό το πεδίο υλοποιείται στο TCP ο έλεγχος ροής. Μέσω του πεδίου αυτού ο παραλήπτης λέει στο αποστολέα μέχρι πόσα byte από αυτό που καθορίζεται από το Acknowledgement number και μετά μπορεί να στείλει ο αποστολέας. Ο αποστολέας στέλνει όσα byte καθορίζει το πεδίο Window και μετά περιμένει μέχρι να λάβει κάποια επιβεβαίωση (acknowledgement) από τον παραλήπτη. Αριθμός πόρτας. 5.2 Το πρωτόκολλο UDP (User Datagram Protocol) Το UDP είναι. είναι connectionless πρωτόκολλο, δηλαδή δεν ανοίγει κανάλι επικοινωνίας αλλά τα πακέτα στέλνονται μεμονωμένα και λέγονται datagrams. Δεν κάνει έλεγχο λαθών, ούτε έλεγχο ροής, γι αυτό και είναι πολύ πιο γρήγορο από το TCP και χρησιμοποιείται σε εφαρμογές όπου μας ενδιαφέρει η ταχύτητα και όχι τόσο τα λάθη. Για παράδειγμα η μετάδοση εικόνας ή ήχου σε πραγματικό χρόνο. Πάντως το κυριότερο πλεονέκτημα αυτού του πρωτοκόλλου είναι ότι επιτρέπει το broadcasting κάτι που δεν μπορεί να γίνει με το TCP. Και στο UDP υπάρχει η έννοια της πόρτας. Έτσι σε έναν υπολογιστή έχουμε UDP και TCP πόρτες. Η επικεφαλίδα του UDP φαίνεται στο ακόλουθο σχήμα.

Σχήμα 5.1. Η επικεφαλίδα του TCP.