================================================================================================================
Μετα την παρουσίαση και την συζήτηση σχετικά με σημαντικά θέματα και εργασίες στο 2ο επίπεδο της TCP/IP διαστρωμάττωσης , επανερχόμαστε ένα βήμα πιο πάνω για να εξετάσουμε το αμέσως επόμενο επίπεδο που είναι αυτο του Δικτύου. Πλεον έχουμε ξεφύγει απο τα τοπικά δίκτυα στα οποία είδαμε πως υπάρχουν πολλα πράγματα -με πρώτο και καλύτερο την αρχιτεκτονική τους- μεσα απο τα οποία διαφοροποιούνται και τελικά δεν είναι ομοιογενή. Σε αυτή λοιπον την παρουσίαση θα εξετάσουμε το επίπεδο Δικτύου και τα βασικά θέματα που υπάρχουν μεσα σε αυτο.
ΠΕΡΙΕΧΟΜΕΝΑ
Spoiler: show
================================================================================================================
1.1 Σε αυτον τον οδηγό λοιπον "ξεφεύγουμε" απο το τοπικό δίκτυο. Το ακριβώς προηγούμενο επίπεδο του TCP/IP το οποίο εξετάσαμε και στο οποίο μείναμε αρκετά (μιας και αυτη η παρουσίαση) θα ειναι λιγο πιο σύντομη σε σύγκριση με την προηγούμενη έδειξε μεταξυ των άλλων και την υποδικτύωση αλλα και το πρωτόκολλο ARP. Tο ARP οπως τόνισα και εκει κάποιος μπορει να το δει και στο επίπεδο δικτύου (βασικά σιγουρα θα το δει σε κάποια βιβλία στο επίπεδο δικτύου μιας και κάνει επεξεργασία με βάση την IP διεύθυνση μέχρι να βρεθεί η MAC οπως ειχαμε συζητήσει και εκει) αλλα παρολαυτα μαζι με την υποδικτύωση το παρουσίασα στο 2ο επίπεδο. Τωρα σε αυτο το σημείο καλο θα είναι να ξεκαθαρίσουμε λιγο τι εννοούμε με τον όρο Internet. Μπορεί να ακούγεται ή να διαβάζεται λιγο περίεργο αλλα καμια φορά ακομη και οι πιο απλές έννοιες ακριβως επειδη κάποιος οταν τις συζητάει και προσπαθεί να τις μεταδόσει στον άλλον το κάνει με πολυ απλο τρόπο συχνά παραμελούνται βασικά σημεία που βοηθούν στο να ξεδιαλύνει κάποιος τις βασικές έννοιες γιατι ακριβως εκεί ειναι το κλειδί της μάθησης. Οι δύσκολες έννοιες άλλωστε δεν ξεδιαλύνονται εύκολα αν κάποιος δεν έχει ξεδιαλύνει και προσεγγίσει τις απλές πρωτα. Καταρχήν ένα δίκτυο ειναι ένα σύνολο ΗΥ και συσκευών διασυνδεδεμένων μεταξύ τους επομένως το διαδίκτυο ειναι ενα σύνολο δικτύων συνδεδεμένων μεταξύ τους , ουσιαστικά δηλαδη το διαδίκτυο ειναι ενα δίκτυο απο δίκτυα. Στην παρακάτω Eικόνα 1 μπορούμε να δούμε ολα αυτα που γράφω :

Έχουμε λοιπον 3 τοπικά δίκτυα (LAN's) τα οποία οπως μπορείτε αμέσως να δείτε διαφοροποιούνται απευθείας μεσω της τοπολογίας τους - αρχιτεκτονικής τους δειχνοντας ετσι την ανομοιογένεια που υπάρχει μεταξύ τους. Στο Δίκτυο που ειναι αριθμημένο με το 1 έχει τοπολογία Δακτυλίου , στο 2 έχουμε Διαύλου (Το κλασσικό μας Ethernet) και στο 3 τοπολογία Αστέρα. Ακριβως η παραπάνω εικόνα δείχνει ενα διαδίκτυο επειδή ακριβώς ο router συνδέει 3 δίκτυα. Αν λοιπον (μπορέσουμε)


1.2 Μια καλή ερώτηση που θα μπορούσε κάποιος να σκεφτεί σε αυτο το σημείο ειναι η : "Γιατί Internet?" .
Στην ακριβώς προηγούμενη παρουσίαση που κάναμε μιλήσαμε για φυσική διευθυνσιοδότηση , δηλαδη για διευθυνσιοδότηση που έχει να κάνει με φυσικές διευθύνσεις , είχαμε επίσης πει πως αν θέλεις να στείλεις κατι σε κάποιον φίλο ή φίλη σου για παραδειγμα ο/η οποίος/οποία βρίσκεται στο τοπικό δίκτυο τοτε μπορείτε να επικοινωνήσετε απευθείας μεσω των MAC διευθύνσεων (εσύ στέλνεις πχ και το ακούνε όλοι αλλα το συγκρατεί εκείνος που θα δεί πανω την MAC του -σε ενα Ethernet πχ ) . Τι γίνεται τωρα στην περίπτωση που ο φίλος ή η φίλη σου (προορισμός του μηνύματος) δεν βρίσκεται στο ίδιο τοπικό δίκτυο με σένα και πιο συγκεκριμένα εσυ είσαι στην Αθήνα ενω ο άλλος / άλλη στην Πάτρα? Το Δίκτυο πλεον απο LAN γίνεται WAN

1.3 Σε αυτη την υποπαράγραφο θα περιγράψω συνοπτικά με τι ακριβώς θα ασχοληθούμε σε αυτη την παρουσίαση -ειναι αναγκαίο μιας και το αμεσως επόμενο κεφάλαιο 2 θα αρχίσει να εισάγει πρωτόκολλα και διαδικασίες δρομολόγησης σε επίπεδο δικτύου πλεον- . Πάμε λοιπον να δούμε την παρακάτω Εικόνα 2 η οποία ειναι ίδια με την παραπάνω με μια μικρή προσθήκη εκ μέρους (ενος ακόμη δρομολογητή) ενος απο τους πολλους


Eκείνο λοιπον που θα εξετάσουμε εδω ειναι τι ακριβώς γίνεται απο τον R1 (Router 1) και μετά. Έχω επίτηδες "ζωγραφίσει" και εναν ακομη δρομολογητή R2 για να σας προιδεάσω , διοτι τι γίνεται σε περίπτωση οπου ο παραλήπτης μας δεν βρίσκεται σε κάποιο απο τα άλλα δίκτυα με τα οποία οπως μπορείτε να διαπιστώσετε ο R1 ειναι απευθείας συνδεδεμένος?! Τοτε λοιπον το πακέτο θα πρέπει οπωσδήποτε να σταλεί στον επόμενο δρομολογητή. Γενικα ενα πακέτο θα ακολουθεί κάποια διαδρομή μεταξυ των δρομολογητών και σε επίπεδο δικτύου πλέον μέχρι να φτάσει στον τελικό του προορισμό. Δηλαδη σε έναν δρομολογητή ο οποίος ειναι συνδεδεμένος με το τοπικό δίκτυο στο οποίο βρίσκεται ο παραλήπτης . Ακριβώς αυτη η δρομολόγηση καθώς και τα πρωτοκολλά της ειναι ευθύνη αυτού του επιπέδου.
Τέλος στο σχήμα της Εικόνας 2 έχω βάλει και μια σημείωση για την συσκευή του δικτύου (τοπικού) , λόγος για αυτές τις συσκευές έχει γίνει και στην εισαγωγή των δικτύων αλλα και στο Μάθημα 2 , σε μια προσπάθεια να ξαναθυμηθούμε και καθως προχωράμε τα προηγούμενα και να τα συνθέτουμε ολα μαζι με μια σωστη δομή .
2.1 Εφόσον πιο πάνω κάναμε λόγο για τους δρομολογητές και παρουσιάστηκαν και στα σχήματα που δόθηκαν στο σημειο αυτο θα σταθούμε λιγο για να δούμε τι ακριβως είναι ενας δρομολογητής. Ο δρομολογητής αποτελεί μια συσκευή δικτύου και ειναι απαραίτητος σε οποιοδήποτε μεγάλο δίκτυο TCP/IP (Δίκτυο που ακολουθεί αυτο το μοντέλο της δικτύωσης) . Οι δρομολογητές λειτουργούν στο επίπεδο δικτύου που εξετάζουμε αλλα οχι μονο σε αυτο , καθως τα τελευταία χρόνια οι κατασκευαστές έχουν αναπτύξει δρομολογητές που λειτουργούν και σε υψηλότερα επίπεδα της στοίβας. Πάμε τωρα να δούμε πως ακριβώς δουλεύει ενας δρομολογητής. Καταρχήν στην απλη μορφη του ενας δρομολογητής φιλτράρει την κίνηση συμφωνα με μια λογική διεύθυνση (με βάση μια ΙP δηλαδη) . Ένας δρομολογητής (όπως παρουσιάζεται στις παραπάνω εικόνες) είναι ένας υπολογιστής ο οποίος μπορεί να διαθέτει περισσότερες απο μια κάρτες δικτύου και άρα περισσότερες απο μια IP διευθύνσεις οπως έχουμε πει σε προηγούμενη παρουσίαση διοτι μια IP έχει να κάνει με την κάρτα δικτύου και οχι με τον υπολογιστή. Ο υπολογιστής των εικόνων 1 & 2 λοιπον θα έχει 3 IP διευθύνσεις (μια για κάθε προσαρμογέα) οι οποίες και θα αντιστοιχούν σε τελείως διαφορετικά δίκτυα (στα 3 τοπικά με τα οποία ειναι άμεσα συνδεδεμένος οπως φαίνεται στο παραπανω σχήμα). Αν ο δρομολογητής λάβει ένα πακέτο απο το τοπικό δίκτυο 1 θα ελένξει τις πληροφορίες της IP διεύθυνσης για να δει που ανήκουν τα δεδομένα (ποιος θα είναι ο παραλήπτης) αντικαθιστά την επικεφαλίδα του επιπέδου 2 με μια επικεφαλίδα που παρέχει πληροφορίες πλεον φυσικής διεύθυνσης για το τμήμα που προορίζεται το πακέτο και τα μεταδίδει εκει.
ΕΡΩΤΗΣΗ 1 Ποιος ο λόγος ύπαρξης της συσκευής (hub / switch) μέσα στο τοπικό 3 του σχήματος 2?
O διακόπτης λαμβάνει το πλαίσιο (μιάς και ο δρομολογητής του έχει αντικαταστήσει τις πληροφορίες της φυσικής διεύθυνσης ) και στέλνει το πλαίσιο μονο στον προσαρμογέα του υπολογιστή που πρέπει να το λάβει επειδη ειναι ο παραλήπτης του (σε κάθε θύρα του διακόπτη βρίσκεται συνδεδεμένος ένας υπολογιστής με την φυσική διευθυνσή του) . Έτσι λοιπον κάθε υπολογιστής στο τοπικό δεν χρειάζεται να εξετάζει κάθε πλαίσιο το οποίο μεταδίδεται περιορίζοντας ετσι τις περιττές μεταδόσεις και αυξάνοντας την απόδοση του δικτύου. Φυσικά ο διακόπτης που μολις περιγράφτηκε ανήκει στο επίπεδο 2. Αλλα επειδή οπως εχω ξαναπεί υπάρχουν και διακόπτες που προωθούν τα δεδομένα αναλογα με μια διεύθυνση IP και στο επίπεδο δικτύου υπάρχουν και διακόπτες επιπέδου 3. Η διαφορα είναι η διεύθυνση με βάση την οποία θα γίνει η προώθηση για το αν θα χαρακτηρισθεί ο διακόπτης επιπέδου 2 ή 3. (MAC Vs IP)
ΕΡΩΤΗΣΗ 2 Ποια η ακριβής μορφή ενος Router? Είναι πραγματικα ένας υπολογιστής οποως φαίνεται στην εικόνα 2?
Η απάντηση ειναι Οχι. Καθώς στα σημερινά δίκτυα οι περισσότεροι δρομολογητές δεν ειναι υπολογιστές με πολλές θέσεις. Χρησιμοποιείται μια εξιδεικευμένη συσκευή για αυτη την δουλειά. Ο λογος ειναι το κόστος. Με μια εξιδεικευμένη συσκευή εκτελείς αποτελεσματικά μονο λειτουργίες δρομολόγησης και δεν περιλαμβάνονται επιπλεον λειτουργίες που βρίσκονται σε εναν πλήρη υπολογιστη

2.2
To σχήμα των Εικόνων 1 & 2 ειναι αρκετά απλό και "κρύβει" κάποια προβλήματα που μπορούν να αντιμετωπίσουν τα σύγχρονα δίκτυα. Καταρχην ο δρομολογητής στο παραπάνω σχήμα είναι άμεσα συνδεδεμένος και με τα 3 τοπικά δίκτυα και ετσι δεν θα δει ποτε μια IP διεύθυνση η οποία δεν σχετίζεται με μια απο τις θύρες του. Επομένως μπορει να παραδόσει οποιοδήποτε datagram μεσω άμεσης δρομολόγησης.
Τι θα συνέβαινε ομως αν το δίκτυο ηταν λίγο πιο περίπλοκο? Έστω η Εικόνα 3 :

ΕΡΩΤΗΣΗ 3 Πως μπορεί ο Δρομολογητής Α να ανακαλύψει το τμήμα 3 ?
Υπάρχουν 2 τρόποι για να μπορέσουν να μάθουν οι δρομολογητές τις έμμεσες διαδρομές. 1. Manually και απο τον διαχειριστή του συστήματος 2. ΑΠο άλλους δρομολογητές.
Ο 1ος τρόπος ανήκει στην Στατική Δρομολόγηση ενω ο 2ος στην Δυναμική. Σαφως και η Δυναμική Δρομολόγηση προσφέρει αρκετά πλεονεκτήματα εναντι της Στατικής. Καταρχήν δεν απαιτεί ανθρωπινη παρέμβαση και μπορεί να προσαρμοστεί σε αλλαγές του δικτύου. Η Στατική δρομολόγηση δουλεύει καλύτερα σε μικρά και μόνιμα δίκτυα (σε δίκτυα που δεν παίζουν αλλαγές δηλαδη) , καθως ομως αυξάνει ο αριθμός των δρομολογητών έπεται οτι ο αριθμός των πιθανών διαδρομών αυξάνεται καθως προστίθονται τμήματα στο δίκτυο και απαιτώντας ετσι επιπλεον Manual δουλειά απο τον διαχειριστή. Όπως γίνεται κατανοητό λοιπον οι περισσότεροι μοντέρνοι δρομολογητές χρησιμοποιούν κάποια μορφή δυναμικής δρομολόγησης μιας και οπως ειδαμε η στατική ενδέχεται να δημιουργήσει προβλήματα . Ωστόσο οι στατικές δρομολογήσεις χρησιμοποιούνται μερικές φορές για να στέλνουν την κίνηση σε μια συγκεκριμένη διαδρομή οποτε κάποιες φορες μπορει να χρησιμοποιηθεί συνδυασμός στατικής και δυναμικής δρομολόγησης.
2.3
3.1 Για τις IP διευθύνσεις έχουμε μιλήσει διεξοδικά όταν κάναμε αναφορές στην υποδικτύωση και τις κλάσεις διευθύνσεων. Σε αυτη την παρουσίαση θα πούμε καποια λιγα πράγματα ακομη ωστε να γίνει κατανοητή και η μορφή αλλα και ο σκοπός τους. Καταρχην μια IP διευθυνση προσδιορίζει μοναδικά κάθε υπολογιστή στο διαδίκτυο. Στο Internet οι υπολογιστές μπορούν να επικοινωνούν ο καθένας στέλνοντας και λαμβάνοντας πληροφορίες χρησιμοποιώντας ακριβώς αυτο το σχήμα διευθύνσεων. Έχω τονίσει σε προηγούμενη παρουσίαση πως μια IP διεύθυνση αποτελείται απο 4 οκτάδες και τελικα έχει ένα μέγεθος 32 bit.
- Κώδικας: Επιλογή όλων
xxx.xxx.xxx.xxx // γενικη αναπαρασταση
192.168.1.90
Το παραπάνω αποτελεί μια IP διεύθυνση η οποία ομως δεν ειναι διεύθυνση για το Internet (αλλα για ενα τοπικό δίκτυο) καθως ανήκει στο ιδιωτικό εύρος διευθύνσεων .
Πριν προχωρήσω στην δομή ενος datagram θα πρέπει να ξεκαθαρίσω 2 πράγματα τα οποια συχνά δημιουργούν σύγχυση και μπερδεύουν τον κοσμο :
1. => Μια IP διεύθυνση ειναι δεκαδική (επιφανειακά) και ως προς την αναπαράσταση της. Αλλα η διεύθυνση αυτη ειναι στην ουσία δυαδική. 32-bit numbers are used to represent IP addresses .Επειδη όλα στους υπολογιστές ειναι δυαδικά. Tα μοτίβα των 0 και 1 αντιστοιχουν καλύτερα στις καταστάσεις on & off των ψηφιακών κυκλωμάτων.
2. => Ένας υπολογιστής ο οποίος διαθέτει περισσότερους απο 1 προσαρμογείς (κάρτες δικτύου) διαθέτει και περισσότερες απο 1 IP διευθύνσεις.
Μια IP διεύθυνση μπορει να είναι ειτε στατική (static) είτε δυναμική (dynamic) . Η κύρια διαφορα τους γίνεται φανερή και μεσα απο το ονομά τους επειδη μια στατική διεύθυνση δεν αλλαζει. Ειναι μια μόνιμη διεύθυνση που σχετίζεται με εναν υπολογιστή. Σε αντίθεση με μια δυναμική διεύθυνση η οποία αλλάζει για παράδειγμα καθε φορα που συνδεόμαστε στο internet . Η IP που παίρνουμε απο τον παροχο μας για την δρομολογηση στο internet ειναι δυναμική (οι στατικές διευθύνσεις ειναι κυριως για τους servers). Αντίθετα η IP που έχω στο τοπικο μου δίκτυο ειναι στατική.
3.2
Kαι σε αυτο το σημείο πάμε να εξετάσουμε την δομή που θα έχει το πακέτο σε αυτο το επίπεδο σύμφωνα με το IP πρωτόκολλο. Το πακέτο θα έχει ως εξής λοιπον :

Πάμε να δούμε τα επιμέρους πεδία τα οποία ειναι 15.
Το 1ο πεδίο =>
1. Version (4 bits): Ουσιαστικά ειναι ενα πεδίο των 4 bit το οποιο μας λέει την έκδοση του IP (έκδοση 4 μιας και δεν έχουμε μπει ακομη στο IPv6)
το δυαδικό μοτίβο για το 4 θα ειναι το 0100. Απο το 1979 (RFC 791) το δυαδικό μοτίβο ειναι αυτο.
2. ΙΗL (Internet Header Length) (4 bits) : Δίνει το μήκος της IP επικεφαλίδας (πακέτου) σε λέξεις των 32 bit. Το ελάχιστο μήκος ειναι λέξεις των 32 bits επομένως 5 και δυαδικό μοτίβο 0101.
3. ΤΟS (8 bits) : => Type Of Service και αποτελεί μια περιγραφή για το πως θα πρέπει το πακέτο να αντιμετωπιστεί κατα την μεταφορά. Αυτο το πεδίο "σπαει" σε μικρότερα. Δηλαδη εφοσον καταλαμβάνει 8 bits τοτε απο 0 εως 7 θα έχουμε τα επιμέρους υπο-πεδία μέσα στο πεδίο. Τα πρωτα 3 bit (bit 0 , bit 1 & bit 2 ) λοιπον έχουν να κάνουν με την προτεραιότητα πχ για priority θα έχεις το μοτίβο 001 -Ευελιξία Πρωτοκόλλου- Εκμετάλευση αν υπάρχει συμφόρηση (conjestion). Τα άλλα 3 bit τωρα (bit 3 , 4, 5) έχουν να κάνουν με το delay , το throughput και το reliability. Με τον όρο delay εννοούμε την καθυστέρηση μεσα σε ενα δικτυο . Η καθυστέρηση ειναι ενα μεγάλο θέμα στα δίκτυα και επισης ενας παράγοντας ο οποίος αμαυρώνει το QoS (Quality Of Service) την ποιότητα δηλαδη των υπηρεσιών. Για 0 μοτίβο έχεις normal καθυστέρηση ενω για 1 έχεις χαμηλή. Τέλος τα bit 6 & 7 είναι δεσμευμένα για μελλοντική χρήση.
4. Total length (16 bits) : Σε αυτο το πεδίο έχουμε το συνολικό μήκος σε οκτάδες των IP δεδομένων , περιλαμβάνει την IP κεφαλίδα και το ωφέλιμο φορτίο. Χρησιμοποιείται αυτο το πεδίο για να δείχνει που οριοθετείται το πακέτο. Θεωρητικά το μέγεθος ειναι 2^ 16 = 65536 . Λεω θεωρητικά επειδη ποτέ κάποιος δεν θα δεί ενα τοσο μεγάλο πακέτο επειδή το ethernet δεν σε αφήνει να έχεις τοσο μεγάλο πακέτο θυμηθείτε το MTU που είχα αναφέρει στο Μάθημα 2.
5. Ιdentification (16 bits) : Aν ένα μήνυμα ειναι πολυ μεγάλο για να χωρέσει σε ενα IP datagram , το IP κομματιάζει το μήνυμα για να χωρέσει σε πολλα datagrams δινοντας σε όλα αυτα τον ίδιο αναγνωριστικό αριθμό ωστε να μπορέσει ο δέκτης να ανασυνθέσει το αρχικό μήνυμα.
6. Flags (3 bits) : Πολυ σημαντικό πεδίο το οποίο υποδεικνύει δυνατότητες κατακερματισμού , το 1ο bit δεν χρησιμοποιείται και έχει πάντοτε την τιμη 0. Τα επόμενο bit ονομάζεται σημαία DF (Don't Fragment) και δείχνει αν επιτρέπεται ή οχι ο κατακερματισμός αν δούμε την τιμή 1 σημαίνει πως ο κατακερματισμός δεν επιτρέπεται. Τέλος το επόμενο bit είναι η σημαία MF (More Fragment) που δείχνει στον δέκτη αν υπάρχουν και άλλα τμήματα που θα έρθουν αν έχει την τιμή 0 σημαίνει οτι δεν θα σταλούν άλλα τμήματα.
7. Fragment Offset (13 bits) : Μια αριθμητική τιμή που δίνεται σε καθε επόμενο τμήμα το IP πρωτόκολλο χρησιμοποιεί αυτο το πεδίο για να ανασυνθέσει τα τμήματα στην σωστή τους σειρά. Tα Fragments οπως ειδαμε πιο πάνω παίρνουν το ίδιο Identification
8. ΤΤL (Time To Live) (8 bits) : Αναφέρει τον χρόνο ζωής ενος datagram / το χρονικό διάστημα δηλαδή ή τον αριθμό των μεταπηδήσεων δρομολογητή στα οποία μπορεί να ζήσει ενα datagram πριν διαγραφτεί. Κάθε δρομολογητης ο οποίος θα εξετάσει αυτο το πεδίο θα το μειώσει κατα 1 ή και κατα τον αριθμό των δευτερολέπτων που το πακέτο καθυστερεί στον δρομολογητή (για οσο ειναι εκεί και το ελέγχει - επεξεργάζεται δηλαδη ο δρομολογητής) , οταν αυτο το πεδίο γίνει 0 το πακέτο καταστρέφεται.
9. Protocol (8 bits) : Eδω υποδεικνύεται το πρωτόκολλο (επόμενου επιπέδου) το οποίο θα λάβει το ωφέλιμο φορτίο. Υπάρχει ένα πινακάκι για τα πρωτόκολλα αυτά ενω εγω για συντομία θα αναφέρω μονο το TCP ας πουμε. Στην περίπτωση που σε αυτό το σημείο έχουμε δυαδικό μοτίβο
- Κώδικας: Επιλογή όλων
00000110 // 6
Αυτο σημαίνει (συμφωνα και με τον πινακα) πως το datagram περνα στο TCP.
10. Header Checksum (16 bits) : Περιέχει τιμή υπολογισμού για να επαληθεύει την εγκυρότητα μονο της κεφαλιδας. Αυτο το πεδίο υπολογίζεται σε κάθε router καθως μειώνεται το time to live πεδιο. Είναι μονο για το IP header και οχι για το περιεχόμενο. error control for the header only
11. Source IP Address (16 bits) : Η διέυθυνση προέλευσης του datagram
12. Destination IP Address (32 bits) : Η διεύθυνση προορισμού του Datagram
13. IP Options (μεταβλητό μέηεθος μεχρι 40 bytes) : Το πεδίο αυτο υποστηρίζει κάποιες ρυθμίσεις που χρησιμοποιούνται για έλεγχο , αποσφαλμάτωση και ασφάλεια.
14. Padding : => Γέμισμα

15. Data : Το ωφέλιμο φορτίο των δεδομένων (payload) ακριβώς αυτα τα δεδομένα προορίζονται για παράδοση στο TCP ή το UDP ένα επιπεδο πιο πάνω στο επίπεδο μεταφοράς.
3.3 Θα συμπεριλάβω και το πρωτόκολλο ICMP(Internet Control Message Protocol) στην παρούσα ενημέρωση διοτι πιο κάτω θα δούμε το διαγνωστικό πρόγραμμα ping που μπορεί κάποιος να χρησιμοποιήσει απο το τερματικό για να τεστάρει γενικότερα το δίκτυο και για να αντιληφθεί αν τυχόν υπάρχουν προβλήματα ή σφάλματα στο δίκτυο γενικότερα. Ακριβώς λοιπον και προς αυτην την κατεύθυνση κινείται και το ICMP πρωτόκολλο. Για να είμαστε πιο ακριβείς βέβαια ειναι ICMPv4 μιας και αποτελεί μέρος του IPv4 το οποίο συζητείται εδω.
Το ICMP έχει τυποποιηθεί στα έγγραφα RFC 792 και RFC 1122.Τα δεδομένα που στέλονται σε έναν μακρυνό υπολογιστή συνήθως θα ταξιδέψουν μέσα απο έναν ή και σίγουρα περισσότερους δρομολογητές. Για τον Α ή Β λογο αυτοί οι δρομολογητές μπορεί να συναντήσουν κάποιο πρόβλημα κατα την αποστολή του πακέτου στον τελικό του προορισμό. Σε αυτη λοιπον την περίπτωση οι δρομολογητές χρησιμοποιούν τα ICMP μηνύματα για να ειδοποιήσουν τον αποστολέα για τα προβλήματα αυτα.
Ένα παράδειγμα ενος τέτοιου μηνύματος μπορεί να είναι ας πούμε το :
- Κώδικας: Επιλογή όλων
Time Exceeded
Σε αυτη την περίπτωση το ICMP ειδοποιεί τον αποστολέα οτι το datagram διαγράφτηκε. Και γιατι διαγράφτηκε??? Γιατι οπως ειπαμε παραπάνω υπάρχει το πεδιο TTL το οποίο όταν φτάσει στο 0 τοτε το datagram θα διαγραφτεί. Αυτο δείχνει οτι ο προορισμός του πακέτου απέχει πολυ περισσότερες μεταπηδήσεις (hops) και με το τρέχον TTL δεν ήταν εφικτός ή οτι υπάρχουν θέματα στους πίνακες δρομολόγησης τα οποία αναγκάζουν το datagram να υλοποιεί έναν ατέρμονα βρόγχο με το να περιφέρεται κυκλικά στους ίδιους και τους ίδιους δρομολογητές. Το datagram σε αυτές τις περιπτώσεις παγιδεύεται και δεν πρόκειται να φτάσει ποτε στον προορισμό του μεχρι το TTL να γίνει 0 ολο αυτο ονομάζεται βρόγχος δρομολόγησης και περιστασιακά μπορεί να συμβεί και επειδη κάποιος διαχειριστής τοποθετεί στατικά στοιχεία σε έναν πίνακα δρομολόγησης.
ΕΡΩΤΗΣΗ 4 : Τι γίνεται σε περίπτωση που υπάρχει ένα Datagram με flag (bit) DF=1 στο πεδίο Flags ενω ο δρομολογητής χρειάζεται να το κατακερματίσει ωστε να το προωθήσει στην συνέχεια στον επόμενο δρομολογητή?
Καταρχήν το flag DF = 1 σημαίνει => Don't Fragment => OXI Κατακερματισμός . Επειδή ομως ο δρομολογητής χρειάζεται να το τμηματοποιήσει οπως ειπαμε ωστε να το στείλει στον επόμενο τότε το ICMP θα στείλει το μήνυμα
- Κώδικας: Επιλογή όλων
Fragmentation Needed

Συνοψίζοντας Στην παρουσίαση αυτή μιλήσαμε γενικά και εισαγωγικά για το επίπεδο Δικτύου. Σε αυτο το επίπεδο πρωταγωνιστικό ρόλο παίζουν οι δρομολογητές. Οι δρομολογητές ειναι εξειδικευμένες συσκευές οι οποίες επεξεργάζονται ενα πακέτο με βάση την λογική του διεύθυνση (IP) για να κάνουν ομως αυτη την επεξεργασία και τον έλεγχο χρειάζονται να έχουν κάποιες πληροφορίες οι οποίες παρέχονται απο τα headers , δηλαδη τις επικεφαλίδες των πακέτων (datagrams) . Κάθε επίπεδο χρειάζεται ειδικές πληροφορίες για να υλοποιηθούν οι λειτουργίες και τα πρωτοκολλα της δικτύωσης χωρις τα οποία δεν υπάρχει και δεν θα υπήρχε δικτύωση. Στο δικο μας παράδειγμα με το IP πακετο πιο πάνω η επικεφαλίδα header ξεκινά απο την αρχή και φτάνει ως και το padding πεδιο


Η εργασία υπάγεται στην άδεια Creative Commons Αναφορά-Μη εμπορική χρήση-Παρόμοια διανομή 3.0 Ελλάδα