ΜΑΘΗΜΑ Νο3 ΤΟ ΕΠΙΠΕΔΟ ΔΙΚΤΥΟΥ

...ασύγχρονα μαθήματα Δικτύων

ΜΑΘΗΜΑ Νο3 ΤΟ ΕΠΙΠΕΔΟ ΔΙΚΤΥΟΥ

Δημοσίευσηαπό Star_Light » 24 Σεπ 2011, 03:35

Μέρος 1ο
================================================================================================================
Μετα την παρουσίαση και την συζήτηση σχετικά με σημαντικά θέματα και εργασίες στο 2ο επίπεδο της TCP/IP διαστρωμάττωσης , επανερχόμαστε ένα βήμα πιο πάνω για να εξετάσουμε το αμέσως επόμενο επίπεδο που είναι αυτο του Δικτύου. Πλεον έχουμε ξεφύγει απο τα τοπικά δίκτυα στα οποία είδαμε πως υπάρχουν πολλα πράγματα -με πρώτο και καλύτερο την αρχιτεκτονική τους- μεσα απο τα οποία διαφοροποιούνται και τελικά δεν είναι ομοιογενή. Σε αυτή λοιπον την παρουσίαση θα εξετάσουμε το επίπεδο Δικτύου και τα βασικά θέματα που υπάρχουν μεσα σε αυτο.

ΠΕΡΙΕΧΟΜΕΝΑ

Spoiler: show
1. ΕΙΣΑΓΩΓΗ
1.1 Τι είναι το Internet?
1.2 Γιατί Internet? Γιατί Επίπεδο Δικτύου ?
1.3 Tι συμβαίνει σε αυτο το επίπεδο?

2. ΔΡΟΜΟΛΟΓΗΣΗ

2.1 Δρομολογητές
2.2 Διαδικασίες Δρομολόγησης (Στατική / Δυναμική Δρομολόγηση)

3. TO IP ΠΑΚΕΤΟ

3.1 Η IP Διεύθυνση
3.2 Δομή ενος IP Πακέτου
3.3 Το πρωτόκολλο ICMP

4. ΕΝΤΟΛΕΣ - ΠΡΑΚΤΙΚΗ ΣΤΟ ΤΕΡΜΑΤΙΚΟ

4.1 Η εντολή ping
4.2 Η εντολή route
4.3 Η εντολή traceroute

================================================================================================================

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



Εικόνα



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

1.2 Μια καλή ερώτηση που θα μπορούσε κάποιος να σκεφτεί σε αυτο το σημείο ειναι η : "Γιατί Internet?" .

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

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

Εικόνα

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 : => Γέμισμα :D το πεδίο αυτο παρέχει επιπλέον μηδενικά bit ωστε το συνολικό μήκος της επικεφαλίδας να ειναι ακριβώς πολλ/σιο των 32 bit . H επικεφαλίδα πρέπει να τελειώνει μετα απο μια λέξη των 32 bit επειδή το 2ο πεδίο IHL μετράει το μήκος σε λέξεις των 32.

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 πεδιο :) Τα δεδομένα ειναι ίδια σε ολα τα επίπεδα της δικτύωσης καθως ειναι τα δεδομένα που θέλει εξαρχης να στείλει ενας αποστολέας σε εναν δέκτη. Εκείνο που προστίθεται ή αφαιρείται σε κάθε επίπεδο ειναι τα headers. Καθως τα δεδομένα κινούνται προς τα κάτω στη στοίβα το αποτέλεσμα μοιάζει με τις ξύλινες Ρώσικες κούκλες.

Creative Commons License
Η εργασία υπάγεται στην άδεια Creative Commons Αναφορά-Μη εμπορική χρήση-Παρόμοια διανομή 3.0 Ελλάδα
Τελευταία επεξεργασία από Star_Light και 27 Σεπ 2011, 02:25, έχει επεξεργασθεί 26 φορά/ες συνολικά
Γνώσεις ⇛ Linux: Βασικές ┃ Προγραμματισμός: Δέν θέλω μεροκάματο , θέλω C και κακο θάνατο! ┃ Αγγλικά: Lower
Λειτουργικό ⇛ Ubuntu 10.10 σε Dual Boot με Windows 7
Προδιαγραφές ⇛ Επεξεργαστής : Intel(R) Core(TM) i3 CPU 540 @3.07Ghz (64bit)
RAM : Kingston 2GB
HDD : Coreshare 500GB
Κάρτα Γραφικών : Intel Corporation Core Processor Integrated Graphics Controller(rev 18) (prog-if 00 [VGA controller]) [8086:0042]
Star_Light
superbTUX
superbTUX
 
Δημοσιεύσεις: 2787
Εγγραφή: 01 Μάιος 2010, 21:07
Τοποθεσία: Αθήνα
IRC: Star_Light
Εκτύπωση

Re: ΜΑΘΗΜΑ Νο3 ΤΟ ΕΠΙΠΕΔΟ ΔΙΚΤΥΟΥ

Δημοσίευσηαπό Star_Light » 24 Σεπ 2011, 03:36

Το be continued..... :)
Γνώσεις ⇛ Linux: Βασικές ┃ Προγραμματισμός: Δέν θέλω μεροκάματο , θέλω C και κακο θάνατο! ┃ Αγγλικά: Lower
Λειτουργικό ⇛ Ubuntu 10.10 σε Dual Boot με Windows 7
Προδιαγραφές ⇛ Επεξεργαστής : Intel(R) Core(TM) i3 CPU 540 @3.07Ghz (64bit)
RAM : Kingston 2GB
HDD : Coreshare 500GB
Κάρτα Γραφικών : Intel Corporation Core Processor Integrated Graphics Controller(rev 18) (prog-if 00 [VGA controller]) [8086:0042]
Star_Light
superbTUX
superbTUX
 
Δημοσιεύσεις: 2787
Εγγραφή: 01 Μάιος 2010, 21:07
Τοποθεσία: Αθήνα
IRC: Star_Light
Εκτύπωση

Re: ΜΑΘΗΜΑ Νο3 ΤΟ ΕΠΙΠΕΔΟ ΔΙΚΤΥΟΥ

Δημοσίευσηαπό Garrus » 25 Σεπ 2011, 21:05

Στο επιπεδο δικτυου οι ομαδες δεδομενων packets δεν λεγονται;Και στο απο πανω datagrams (UDP) / segments(TCP) ?
1 Γνώσεις Linux: Ελπίζω τουλ. μέτρια ┃ Προγραμματισμού: Καλή ┃ Αγγλικών: Very best englands
2 Ubuntu 15.10 wily 64bit (en_US.UTF-8),
3 Intel Core i5-3210M CPU @ 2.50GHz ‖ RAM 3843 MiB ‖ SAMSUNG ELECTRONICS CO., LTD. NP350E5C-S03GR [...]
4 Intel 3rd Gen Core processor Graphics Controller [8086:0166] (rev 09) ⋮ [AMD/ATI] Thames [Radeon HD 7500M/7600M Series] [1002:6840] (rev ff)
5 enp2s0: Realtek RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller [10ec:8168] (rev 09) ⋮ wlp3s0: Qualcomm Atheros AR9485 Wireless Network Adapter [168c:0032] (rev 01)
Garrus
punkTUX
punkTUX
 
Δημοσιεύσεις: 179
Εγγραφή: 26 Ιαν 2011, 03:23
Εκτύπωση

Re: ΜΑΘΗΜΑ Νο3 ΤΟ ΕΠΙΠΕΔΟ ΔΙΚΤΥΟΥ

Δημοσίευσηαπό Star_Light » 25 Σεπ 2011, 23:32

Μέρος 2ο
=========================================================================================================

Συνεχίζουμε τον οδηγό με πρακτική και τεχνική ενασχόληση απο το Τερματικό μας. Οι 3 εντολές που θα ακολουθήσουν ουσιαστικά αποτελούν τα βασικα βοηθητικά προγραμματα του TCP/IP .

4.1

Το 1ο βοηθητικό πρόγραμμα που θα εξετάσουμε ειναι το ping. Η ονομασία του βασίζεται στην sonar τεχνολογία που χρησιμοποιείται απο τα υποβρύχια και γενικοτερα απο τα πλοία που θέλουν να εντοπίσουν αλλα αντικείμενα. Packet INternet Groper. Με λιγα λογια το ping σε ενα δικτυο χρησιμεύει ωστε να μπορέσει κάποιος να τεστάρει αν ενας υπολογιστής "ζει" ή οχι στο δίκτυο. Συνεχίζει δηλαδη ή οχι να ειναι ενεργό μέλος του δικτύου. Το ping προσφέρει επιλογές που το κάνουν αρκετα χρήσιμο για την αντιμετώπιση προβλημάτων σε ενα δίκτυο. Η μορφή μιας απλής εντολής ping χωρις ορίσματα ειναι :

Κώδικας: Επιλογή όλων
ping <IP_address>


πχ

Κώδικας: Επιλογή όλων
ping 192.168.1.254


για να δω αν το ρουτεράκι μου ειναι εντάξει.

[i] Το βοηθητικό πρόγραμμα ping στέλνει ενα μήνυμα στον δέκτη χρησιμοποιώντας την αίτηση ICMP echo , αν ο υπολογιστής υπάρχει && λειτουργεί αποκρίνεται με ενα ICMP echo Reply.

Τις διάφορες επιλογές και τα flags του προγράμματος ping μπορεί κάποιος να τα βρεί απο το manual της εντολής

Κώδικας: Επιλογή όλων
man ping


Δεν θα αναφερθώ αλλο στις εντολές μιας και ειναι εύκολο κάποιος να τις βρεί και να τις υλοποιήσει. Θα σταθώ ομως σε 5 βασικές επισημάνσεις σχετικά με το ping.

1. -> Αν το ping λειτουργεί σωστά δεν σημαίνει πως ολα τα προβληματα σε ενα δικτυο ειναι λυμένα. Με το ping μπορεις να καταλάβεις οτι δεν έχεις προβλήματα με τους προσαρμογείς , το 2ο επίπεδο γενικότερα τα καλώδια τους δρομολογητές κτλπ. Αυτο ομως δεν σημαίνει πως δεν έχεις προβλήματα με υψηλότερα επίπεδα πχ ΜΕΤΑΦΟΡΑΣ και TCP / UDP :)

2. ->

Κώδικας: Επιλογή όλων
ping με IP Vs ping με hostname


Αν μπορείς να κάνεις ping σε έναν υπολογιστή με την λογική του διεύθυνση αλλα οχι με το hostname του τοτε το πρόβλημα μπορει να βρίσκεται στην επίλυση των ονομάτων (DNS) .

3. ->
Κώδικας: Επιλογή όλων
kostas@kostas-SSL:~$ ping 192.168.1.254
PING 192.168.1.254 (192.168.1.254) 56(84) bytes of data.
64 bytes from 192.168.1.254: icmp_req=1 ttl=64 time=0.965 ms
64 bytes from 192.168.1.254: icmp_req=2 ttl=64 time=6.64 ms
64 bytes from 192.168.1.254: icmp_req=3 ttl=64 time=4.89 ms
64 bytes from 192.168.1.254: icmp_req=4 ttl=64 time=2.88 ms
^C
--- 192.168.1.254 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3004ms
rtt min/avg/max/mdev = 0.965/3.845/6.642/2.130 ms


Αν οι απαντήσεις του ping επιστρέφουν με μια τιμή στο πεδίο TTL (Time to Live) κοντα στο 0 αυτο μπορεί να ειναι μια ένδειξη οτι μερικά πακέτα χάνονται ή δεν φτάνουν.

4. ->

Αν σε ενα σύστημα που δουλεύει σε Windows (στο οποιο το ping στέλνει προκαθορισμενα 4 πακέτα ICMP ) κάποια δεν λαμβάνονται πχ τα 2 δεν φτάνουν αυτο δεν σημαινει 100% πρόβλημα στην σύνδεση αλλα στο ιδιο το πρωτόκολλο το οποιο δεν έχει σχεδιασθεί για να εγγυάται την παράδοση αλλα μπορει γενικότερα να ειναι και μια ένδειξη οτι το δίκτυο έχει πολλη κίνηση :)

5. ->

Το ping δείχνει 2 πράγματα. Αν ένας κόμβος είναι προσβάσιμος / ενεργός και υπάρχει ΚΑΙ το lag (τον χρονο δηλαδη απόκρισης). Δεν έχει καμια σχέση με τις ταχύτητες σύνδεσης επειδη πολλοι μπερδεύονται.

Οπως και άλλα πολλα προγράμματα ετσι και το ping προσφέρει διαφορες επιπλεον επιλογές στην γραμμή εντολών , αυτές οι επιλογές διαφέρουν αναλογα την υλοποιήση και το λειτουργικό σύστημα.

4.2

Το επόμενο βοηθητικό πρόγραμμα το οποίο θα εξετάσουμε στο επίπεδο που βρισκόμαστε ειναι το route. ΟΠως είδαμε και πιο πάνω καθε υπολογιστής ή δρομολογητής περιέχει εναν πίνακα δρομολόγησης το πρόγραμμα / εντολή route δείχνει και χειρίζεται τον IP πινακα δρομολόγησης.

Η κύρια χρήση του ειναι να δημιουργεί στατικές διαδρομές σε συγκεκριμένους κεντρικούς υπολογιστές ειναι ακριβώς οτι συζητήσαμε σχετικα με την στατική δρομολογηση και πιο πανω που έγραψα οτι κάποιες φορες ενας διαχειριστής θα πρέπει να εγγράψει κάποιες διαδρομές στον πίνακα ο ιδιος και με δικη του παρέμβαση.

Έτσι και εδω το πρωτο πράγμα που μπορει να μας λύσει τα χέρια ειναι το manual :)

Κώδικας: Επιλογή όλων
man route


Kαι θα ακολουθήσουν μερικά παραδείγματα εξόδων της εντολής route .


Κώδικας: Επιλογή όλων

Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.1.0 * 255.255.255.0 U 0 0 0 eth0
link-local * 255.255.0.0 U 1000 0 0 eth0
default oxygen.lan 0.0.0.0 UG 100 0 0 eth0


Το απλο αυτο παράδειγμα έχει να κάνει με το δικο μου δίκτυο. Δεν υπάρχουν και πολλα που μπορω να εξετάσω εδω :D (Αν υπάρχουν και άλλες γραμμές σαν την 1η τοτε αυτο δείχνει πως υπάρχουν και άλλα υποδίκτυα ή υπολογιστές προορισμού).
Το δικτυό μου λοιπον ειναι το 192.168.1.0 (δίκτυο προορισμού) με eth0 interface και gateway το oxygen.lan (μπορεί καποιος να παρατηρήσει στα Flags το G ) και mask 0.0.0.0 . Το πεδίο Genmask ειναι πολυ σημαντικό οπως θα δούμε και με ενα παράδειγμα πιο κάτω διοτι έχει την μάσκα δικτύου η οποία δείχνει στον δρομολογητή σε ποιο δίκτυο θα πρεπει να προωθήσει το πακέτο που έλαβε με βάση την διευθυνσή του . To Metric ειναι η απόσταση (σε όρους hops- μεταπηδήσεων). Το Metric χρησιμοποιείται για να καθοριστεί η καλύτερη δρομολόγηση για εναν προορισμό. Το μικρότερο νούμερο ειναι συνήθως και καλύτερο (πιο γρήγορο) , είναι συσχετισμένο με ένα κόστος όταν υλοποιείται η διαδικασία της δυναμικής δρομολόγησης.

Με την

Κώδικας: Επιλογή όλων
route -n


μπορεί καποιος να βρεί την IP του default gateway (δηλαδή προς ποιον κόμβο πρεπει να στείλω το πακέτο για να φτάσει στο εν λογω υποδίκτυο)

Κώδικας: Επιλογή όλων
kostas@kostas-SSL:~$ route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
169.254.0.0 0.0.0.0 255.255.0.0 U 1000 0 0 eth0
0.0.0.0 192.168.1.254 0.0.0.0 UG 100 0 0 eth0
kostas@kostas-SSL:~$


Το πεδίο link-local που βλέπουμε καθως δίνουμε την εντολή route χωρις το flag -n έχει IP διεύθυνση
169.254.0.0 (στην ουσία αυτη η IP βρίσκεται στο εύρος των ιδιωτικών διευθύνσεων και χρησιμοποιείται κυριως για
μηδενική διαμόρφωση).

Έστω τωρα μια άλλη έξοδος της route :

Κώδικας: Επιλογή όλων

Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.0.0 0.0.0.0 255.255.255.0 U 10 0 0 eth0
169.254.0.0 0.0.0.0 255.255.0.0 U 10 0 0 eth0
127.0.0.0 0.0.0.0 255.0.0.0 U 0 0 0 lo
0.0.0.0 192.168.0.1 0.0.0.0 UG 10 0 0 eth0


Η έξοδος αυτη δεν έχει κάποια σημαντική διαφορά με την ακριβώς προηγούμενη. Το μονο ειναι μια extra γραμμή με διεύθυνση
127.0.0.1 και Interface αυτής lo . Ο βρόγχος loopback χρησιμοποιείται για εσωτερικό έλεγχο στο τοπικό μας σύστημα.

ΕΡΩΤΗΣΗ 4 Γιατί έχω IP 129.168.0.0 ενω η μάσκα 255.255.255.0 είναι μάσκα κλάσης C ας πούμε? Συμφωνα με την ανάλυση
που έχει προηγηθεί σε προηγούμενους οδηγούς η IP διεύθυνση απο μόνη της δεν δείχνει τίποτα για το τοπικό μας δίκτυο.
Η συγκεκριμένη διεύθυνση (χωρίς την μάσκα) δεν λέει τιποτα αν κάποιος την κοιτάξει. Μην την θεωρήσει κάποιος σαν κλάσης Β ας πούμε
ενω η μάσκα ειναι κλάσης C και μπερδευτεί! Η μάσκα δείχνει πόσα bit της IP χρησιμοποιούνται για τους host σε ένα δίκτυο.
Άλλωστε έχω πει πως η μάσκα αποτελεί ενα "manual" - "χάρτη" για το διάσβασμα μιας IP διεύθυνσης.

Πάντως λογω του οτι οι κλάσεις φεύγουν απο την "μόδα" σιγα σιγα και πέρα απο το CIDR αλλα και την επερχόμενη είσοδο στο IPv6
συχνά μπορεί (σίγουρα) θα δείτε και μια IP κάπως ετσι -> 192.168.0.0/24 αυτο σημαίνει πως 24 bit μάσκας χρησιμοποιούνται για το δίκτυο
ενω τα αλλα 8 για τους host .

Το πεδίο Use χρησιμοποιείται για να δείξει ποσα πακέτα έχουν σταλθεί μεσω του αντίστοιχου μονοπατιού.


4.3

Τέλος πάμε να πούμε και μερικά πραγματάκια για το βοηθητικό πρόγραμμα traceroute se Linux OS ή tracert σε Windows συστήματα.

Πάμε να το καλέσουμε απο την γραμμή εντολών

Κώδικας: Επιλογή όλων
kostas@kostas-SSL:~$ traceroute www.google.gr
traceroute to www.google.gr (74.125.39.104), 30 hops max, 60 byte packets

1 oxygen.lan (192.168.1.254) 0.797 ms 1.025 ms 3.079 ms
2 62.169.255.45 (62.169.255.45) 27.106 ms 29.005 ms 30.879 ms
3 62.169.192.70 (62.169.192.70) 32.367 ms 33.749 ms 34.672 ms
4 62.169.192.5 (62.169.192.5) 37.355 ms 38.393 ms 40.055 ms
5 te2-1.atene2.ate.seabone.net (213.144.178.145) 45.761 ms 46.416 ms 46.806 ms
6 72.14.216.181 (72.14.216.181) 85.373 ms 85.375 ms 72.14.198.233 (72.14.198.233) 84.709 ms
7 216.239.47.128 (216.239.47.128) 87.836 ms 97.385 ms 63.128 ms
8 72.14.232.78 (72.14.232.78) 89.400 ms 92.075 ms 72.14.232.76 (72.14.232.76) 86.604 ms
9 209.85.254.114 (209.85.254.114) 91.124 ms 209.85.254.116 (209.85.254.116) 93.776 ms 94.610 ms
10 * 209.85.249.166 (209.85.249.166) 99.373 ms *
11 fx-in-f104.1e100.net (74.125.39.104) 86.781 ms 90.489 ms 91.327 ms



Όπως όλοι μπορούμε να δούμε το πρόγραμμα ουσιαστικά δείχνει την διαδρομή που παίρνουν τα datagrams σε επίπεδο δικτύου.
Η διαδρομή αυτή φυσικά δεν ειναι μοναδική και δεν υπάρχει καμια εγγύηση οτι θα είναι στάνταρ και μοναδική. Απλά ειναι μια διαδρομή .
Το παραπάνω πρόγραμμα θα μπορούσα φυσικά να το καλέσω και με μια IP διεύθυνση .Δεν γνωρίζω απέξω τις IP των server της google :P
αλλα γνωρίζω με ποια εντολή μπορω να τις ανακτήσω.

Κώδικας: Επιλογή όλων
kostas@kostas-SSL:~$ host www.google.gr


οπότε μετα

Κώδικας: Επιλογή όλων
traceroute <IP_address>


Το traceroute ωστόσο ειναι αργό πρόγραμμα καθως οπως θα δείτε και μονοι σας πρέπει να περιμένει σε κάθε δρομολογητή μερικα δευτερόλεπτα!

Creative Commons License
Η εργασία υπάγεται στην άδεια Creative Commons Αναφορά-Μη εμπορική χρήση-Παρόμοια διανομή 3.0 Ελλάδα
Τελευταία επεξεργασία από Star_Light και 27 Σεπ 2011, 00:55, έχει επεξεργασθεί 5 φορά/ες συνολικά
Γνώσεις ⇛ Linux: Βασικές ┃ Προγραμματισμός: Δέν θέλω μεροκάματο , θέλω C και κακο θάνατο! ┃ Αγγλικά: Lower
Λειτουργικό ⇛ Ubuntu 10.10 σε Dual Boot με Windows 7
Προδιαγραφές ⇛ Επεξεργαστής : Intel(R) Core(TM) i3 CPU 540 @3.07Ghz (64bit)
RAM : Kingston 2GB
HDD : Coreshare 500GB
Κάρτα Γραφικών : Intel Corporation Core Processor Integrated Graphics Controller(rev 18) (prog-if 00 [VGA controller]) [8086:0042]
Star_Light
superbTUX
superbTUX
 
Δημοσιεύσεις: 2787
Εγγραφή: 01 Μάιος 2010, 21:07
Τοποθεσία: Αθήνα
IRC: Star_Light
Εκτύπωση

Re: ΜΑΘΗΜΑ Νο3 ΤΟ ΕΠΙΠΕΔΟ ΔΙΚΤΥΟΥ

Δημοσίευσηαπό Star_Light » 25 Σεπ 2011, 23:41

Garrus έγραψε:Στο επιπεδο δικτυου οι ομαδες δεδομενων packets δεν λεγονται;Και στο απο πανω datagrams (UDP) / segments(TCP) ?


To πακέτο δεδομένων που δημιουργείται στο επίπεδο Εφαρμογής ονομάζεται μήνυμα.
Στο επίπεδο μεταφοράς τωρα το πακέτο που περιέχει το μήνυμα του επιπέδου εφαρμογής λέγεται segment αν προέρχεται απο το TCP ή datagram αν προερχεται απο το UDP οπως ειπες. Αλλα και στο επίπεδο δικτύου το πακέτο που περιέχει το τμήμα του επιπέδου μεταφοράς ονομάζεται datagram!

.... κ.ο.κ..... ;)
Γνώσεις ⇛ Linux: Βασικές ┃ Προγραμματισμός: Δέν θέλω μεροκάματο , θέλω C και κακο θάνατο! ┃ Αγγλικά: Lower
Λειτουργικό ⇛ Ubuntu 10.10 σε Dual Boot με Windows 7
Προδιαγραφές ⇛ Επεξεργαστής : Intel(R) Core(TM) i3 CPU 540 @3.07Ghz (64bit)
RAM : Kingston 2GB
HDD : Coreshare 500GB
Κάρτα Γραφικών : Intel Corporation Core Processor Integrated Graphics Controller(rev 18) (prog-if 00 [VGA controller]) [8086:0042]
Star_Light
superbTUX
superbTUX
 
Δημοσιεύσεις: 2787
Εγγραφή: 01 Μάιος 2010, 21:07
Τοποθεσία: Αθήνα
IRC: Star_Light
Εκτύπωση

Re: ΜΑΘΗΜΑ Νο3 ΤΟ ΕΠΙΠΕΔΟ ΔΙΚΤΥΟΥ

Δημοσίευσηαπό linuxs » 28 Σεπ 2011, 15:35

Star_Light όταν λέμε για επίπεδα γενικότερα μιλάμε για αυτά έτσι? http://el.wikipedia.org/wiki/TCP/IP ...για να ξέρω που βρίσκομαι...
Αν το πρόβλημά μας επιλυθεί. Επιλέγουμε το θέμα που βοήθησε στην επίλυση και πατάμε το κουμπάκι Εικόνα.
Γνώσεις ⇛ Linux: Μέτριο┃Προγραμματισμός: C┃Αγγλικά: Καλά
Λειτουργικό ⇛ Linux Ubuntu 10.4 LTS
Προδιαγραφές ⇛ Intel Pentium @T4500 2.3GHz│ 512GB VRAM│ 500 HDD│ ATI RADEON HD545v 512 MB │ Screen: 15.6''
Άβαταρ μέλους
linuxs
daemonTUX
daemonTUX
 
Δημοσιεύσεις: 1060
Εγγραφή: 02 Ιούλ 2010, 13:19
Τοποθεσία: GR
IRC: linuxs
Εκτύπωση

Re: ΜΑΘΗΜΑ Νο3 ΤΟ ΕΠΙΠΕΔΟ ΔΙΚΤΥΟΥ

Δημοσίευσηαπό Star_Light » 29 Σεπ 2011, 13:37

linuxs έγραψε:Star_Light όταν λέμε για επίπεδα γενικότερα μιλάμε για αυτά έτσι? http://el.wikipedia.org/wiki/TCP/IP ...για να ξέρω που βρίσκομαι...


Nαι. Σε καθε επιπεδο υλοποιείται μια βασική λειτουργια της δικτυωσης. Γενικα παντα.
Να φανταστεις καθε επιπεδο ειναι τοσο απαιτητικο (περα απο την συνοπτικη παρουσιαση που προσπαθω να κανω εδω) που
αποτελει απο μονο του μια εξιδεικευση . Πχ αλλος δουλευει στο LAYER 1 αλλοι στο 3 κτλπ.
Αν προλαβω θα προσπαθησω να βρω ή να φτιαξω καμια ασκηση με πινακες δρομολογησης.
Γνώσεις ⇛ Linux: Βασικές ┃ Προγραμματισμός: Δέν θέλω μεροκάματο , θέλω C και κακο θάνατο! ┃ Αγγλικά: Lower
Λειτουργικό ⇛ Ubuntu 10.10 σε Dual Boot με Windows 7
Προδιαγραφές ⇛ Επεξεργαστής : Intel(R) Core(TM) i3 CPU 540 @3.07Ghz (64bit)
RAM : Kingston 2GB
HDD : Coreshare 500GB
Κάρτα Γραφικών : Intel Corporation Core Processor Integrated Graphics Controller(rev 18) (prog-if 00 [VGA controller]) [8086:0042]
Star_Light
superbTUX
superbTUX
 
Δημοσιεύσεις: 2787
Εγγραφή: 01 Μάιος 2010, 21:07
Τοποθεσία: Αθήνα
IRC: Star_Light
Εκτύπωση

Re: ΜΑΘΗΜΑ Νο3 ΤΟ ΕΠΙΠΕΔΟ ΔΙΚΤΥΟΥ

Δημοσίευσηαπό Garrus » 04 Οκτ 2011, 17:20

imageshack errors!
Γιατι δεν τις ανεβαζεις στο imagebin ?
1 Γνώσεις Linux: Ελπίζω τουλ. μέτρια ┃ Προγραμματισμού: Καλή ┃ Αγγλικών: Very best englands
2 Ubuntu 15.10 wily 64bit (en_US.UTF-8),
3 Intel Core i5-3210M CPU @ 2.50GHz ‖ RAM 3843 MiB ‖ SAMSUNG ELECTRONICS CO., LTD. NP350E5C-S03GR [...]
4 Intel 3rd Gen Core processor Graphics Controller [8086:0166] (rev 09) ⋮ [AMD/ATI] Thames [Radeon HD 7500M/7600M Series] [1002:6840] (rev ff)
5 enp2s0: Realtek RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller [10ec:8168] (rev 09) ⋮ wlp3s0: Qualcomm Atheros AR9485 Wireless Network Adapter [168c:0032] (rev 01)
Garrus
punkTUX
punkTUX
 
Δημοσιεύσεις: 179
Εγγραφή: 26 Ιαν 2011, 03:23
Εκτύπωση

Re: ΜΑΘΗΜΑ Νο3 ΤΟ ΕΠΙΠΕΔΟ ΔΙΚΤΥΟΥ

Δημοσίευσηαπό Star_Light » 05 Οκτ 2011, 18:01

Garrus έγραψε:imageshack errors!
Γιατι δεν τις ανεβαζεις στο imagebin ?


Δεν το γνώριζα... με imageshack ξεκίνησα και με αυτο παρέμεινα :)
Παρολαυτα θενξ για την επισημανσή σου και θα το διορθώσω.
Γνώσεις ⇛ Linux: Βασικές ┃ Προγραμματισμός: Δέν θέλω μεροκάματο , θέλω C και κακο θάνατο! ┃ Αγγλικά: Lower
Λειτουργικό ⇛ Ubuntu 10.10 σε Dual Boot με Windows 7
Προδιαγραφές ⇛ Επεξεργαστής : Intel(R) Core(TM) i3 CPU 540 @3.07Ghz (64bit)
RAM : Kingston 2GB
HDD : Coreshare 500GB
Κάρτα Γραφικών : Intel Corporation Core Processor Integrated Graphics Controller(rev 18) (prog-if 00 [VGA controller]) [8086:0042]
Star_Light
superbTUX
superbTUX
 
Δημοσιεύσεις: 2787
Εγγραφή: 01 Μάιος 2010, 21:07
Τοποθεσία: Αθήνα
IRC: Star_Light
Εκτύπωση

Re: ΜΑΘΗΜΑ Νο3 ΤΟ ΕΠΙΠΕΔΟ ΔΙΚΤΥΟΥ

Δημοσίευσηαπό stamatiou » 15 Οκτ 2011, 16:52

Στα headers, το source address γιατί είναι μόνο 16bit;
1Γνώσεις→Linux: Αρχάριος┃Προγραμματισμός:Αρχάριος┃Αγγλικά:Μέτριος
2Λειτουργικό→Arch Linxu 32bit
3Προδιαγραφές→2x AMD AthlonX2 DualCore QL-66 ‖ RAM 1751 MiB ‖ Hewlett-Packard 308C - Hewlett-Packard Compaq 615
4Κάρτες γραφικών:ATI RS780M/RS780MN [Radeon HD 3200 Graphics][1002:9612]
5Δίκτυα:eth0:Marvell 88E8042 PCI-E Fast Ethernet Controller [11ab:4357] (rev 10)⋮eth1: Broadcom BCM4312 802.11b/g LP-PHY [14e4:4315](rev 01)
Πρωσοπική Ιστοσελίδα: http://giwrg98.co.cc
Άβαταρ μέλους
stamatiou
daemonTUX
daemonTUX
 
Δημοσιεύσεις: 947
Εγγραφή: 25 Ιουν 2010, 20:23
Εκτύπωση

Επόμενο

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

Επιστροφή στο Μαθήματα Δικτύων