ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ 5 ( εύτερο Κεφάλαιο του Προγράµµατος ALL THREE LAYERS - ΤΑ ΤΡΙΑ ΕΠΙΠΕ Α) Το κεφάλαιο αυτό ασχολείται µε τα τρία επίπεδα που περιλαµβάνει το πρωτόκολλο Χ.25, δηλαδή το φυσικό επίπεδο, το επίπεδο ζεύξης δεδοµένων και το επίπεδο δικτύου. LAYER 1 (PHYSICAL LEVEL) - ΣΤΡΩΜΑ 1 (ΦΥΣΙΚΟ ΕΠΙΠΕ Ο) Αυτή η ενότητα του κεφαλαίου ασχολείται µε τα ακόλουθα: - Που βρίσκεται το πρώτο επίπεδο του Χ.25 - Ποιός είναι ο ρόλος και τα χαρακτηριστικά του πρώτου επιπέδου - Ποιά είναι τα interfaces που χρησιµοποιούνται στα δηµόσια δίκτυα Το φυσικό επίπεδο συνδέει τα DPTE στο δίκτυο. Αυτό είναι το κανάλι που δροµολογεί τα δυαδικά στοιχεία. Κάθε DPTE συνδέεται λειτουργικά µε τον ίδιο τρόπο. Technical creation (Τεχνική δηµιουργία) : χαρακτηριστικά: synchronous ( σύγχρονη επικοινωνία ) bit transparency ( διαφανή µεταφορά bits ) full duplex (πλήρης αµφίδροµη επικοινωνία) Το interface DPTE - DCTE προτυποποιείται από τις συστάσεις του CCITT X.21 και X.21bis. Στην Γερµανία, χρησιµοποιείται. κυρίως το Χ.21, ενώ στη Γαλλία, το X.21bis, πιο κοινώς γνωστό σαν V24-V28, είναι περισσότερο διαδεδοµένο Ορισµός του Χ.21 Interface ανάµεσα σε DPTE και DCTE για σύγχρονη λειτουργία σε δηµόσια δίκτυα για δεδοµένα. ΕΡΩΤΗΣΕΙΣ 1. Ποιό είναι το πιο συχνά χρησιµοποιούµενο interface για την πραγµατοποιησή του επιπέδου 1 του Χ.25; 2. Ποιός είναι ο ρόλος και τα χαρακτηριστικά του επιπέδου 1; 3. Εντόπισε το πρώτο επίπεδο. 39
LAYER 2 (LINK LEVEL) ΣΤΡΩΜΑ 2 (ΕΠΙΠΕ Ο ΖΕΥΞΗΣ Ε ΟΜΕΝΩΝ) Αυτή η ενότητα ασχολείται µε τα ακόλουθα : - Που βρίσκεται το δεύτερο επίπεδο του Χ.25 - Ποιός είναι ο ρόλος του - Πως παρέχει ασφαλή δεδοµένα - Ποιά επιβεβαίωση παρέχει - Που και γιατί εφαρµόζεται ο έλεγχος ροής - Ανίχνευση τυπικών λαθών - Πως είναι οργανωµένος ο διάλογος. Η παρουσίαση του δεύτερου επιπέδου δίνεται από µια γενική άποψη. Εξηγούµε µε ένα ισοδύναµο παράδειγµα τη σχέση µεταξύ των δύο επιπέδων. Ο δρόµος συµβολίζει το επίπεδο 1, τα φορτηγά, σύµβολο του επιπέδου 2, χρησιµοποιούν αυτό το δρόµο. Είναι σηµαντικό να πούµε ότι τα φορτηγά πηγαίνουν µόνο από το επίπεδο 2 στο επίπεδο 2. Το επίπεδο 2 έχει 2 κύριους ρόλους : 1. ιόρθωση λαθών. Τα λάθη µετάδοσης πρέπει να ανιχνεύονται και να διορθώνονται. 2. Ελεγχο ροής Ο εκποµπός ελέγχεται από τον δέκτη. Ο δέκτης συνεχώς επεξεργάζεται τα φορτηγά στο παράδειγµά µας. Οταν η ροή των φορτηγών αυξηθεί, ο δέκτης αντιδρά πριν να έχουµε υπερχείλιση (µε πακέτο RNR όπως θα δούµε). Ο εκποµπός αναγκάζεται να σταµατήσει. Εξαιτίας της διαδικασίας HDLC (High Level Data Link Control) το interface Χ.25 πραγµατοποιεί τη διαχείριση της µετάδοσης δεδοµένων στο επίπεδο 2. Τα δεδοµένα µεταδίδονται µε ένα συγκεκριµένο τύπo: το πλαίσιο (frame) HDLC. Κάθε πλαίσιο έχει την ακόλουθη µορφή: (Ιδέ σχήµα στη θεωρία) Header (Επικεφαλίδα) Flag (Σηµαία) : Συγχρονισµός και οριοθέτηση του πλαισίου. Address ( ιεύθυνση) : Καθορίζει τη λογική κατεύθυνση της δροµολόγησης. Command (Πεδίο ελέγχου) : Αναγνώριση ταυτότητας του πλαισίου. Information (Πεδίο δεδοµένων) : Περιέχει δεδοµένα από το επίπεδο 3 εάν αυτά είναι τα πλαίσια των πληροφοριών (Ν-bits). Tail (Ουρά) FCS ( Frame Checking Sequence - Πεδίο ελέγχου σφάλµατος) : Ανίχνευση της µετάδοσης λαθών. Flag (Σηµαία) : Συγχρονισµός και οριοθέτηση του πλαισίου. Σχετικές πληροφορίες για τα ποικίλα πεδία που συνθέτουν το πλαίσιο δίδονται παρακάτω: Flag (Σηµαία) 40
Οι σηµαίες µεταδίδονται ανάµεσα στα πλαίσια (frames). Η σηµαία έχει πάντα την ίδια δυαδική δοµή, δηλαδή 0111110. Τα πλαίσια οριοθετούνται από τις σηµαίες, έτσι το µήκος τους µπορεί να ποικίλει. Για να διακρίνει ο δέκτης το περιεχόµενο του πλαισίου από τη σηµαία, πρέπει να υπάρχει εγγύηση ότι δεν υπάρχουν περισσότερα από πέντε συνεχή "1" στο πλαίσιο. Ο εκποµπός πρέπει να εξασφαλίζει ότι έξι συνεχή "1" δεν εκπέµπονται στα πλαίσια. Γι' αυτό ο εκποµπός συστηµατικά εισάγει ενα "0" µετά από πέντε συνεχή "1", χωρίς να λάβει υπόψη την τιµή του έκτου bit δεδοµένων. Στο πλαίσιο, ο δέκτης συστηµατικά εξαλείφει το δυαδικό στοιχείο που ακολουθεί πέντε συνεχή "1". Αddress ( ιεύθυνση) Μια σταθερή διεύθυνση έχει αποφασιστεί για το DPTE και το δίκτυο. Για το δίκτυο είναι 00000001 (01Hex) και για το DPTE είναι 00000011 (03Hex). Κάθε άκρο µπορεί να µεταβιβάσει και να λάβει πλαίσια εντολής και πλαίσια απάντησης. Το πεδίο διεύθυνσης αναγνωρίζει : - Τον δέκτη για ένα πλαίσιο εντολής - Τον αποστολέα για ένα πλαίσιο απάντησης. Command (Πεδίο ελέγχου) Στο δεύτερο επίπεδο υπάρχουν 3 τύποι πλαισίων : I frame (Information frame - Πλαίσιο πληροφοριών) : για µετάδοση δεδοµένων από το αµέσως υψηλότερο επίπεδο. S frame (Supervision frame - Πλαίσιο ελέγχου) : για έλεγχο λειτουργιών. U frame (un-numbered frame - Πλαίσιο αναρίθµητο) : για εγκατάσταση ή κατάργηση της σύνδεσης δεδοµένων. Position of bits (Θέση των bits) 8 7 6 5 4 3 2 1 I frame x x x x x x x 0 S frame x x x x x x 0 1 U frame x x x x x x 1 1 Στο πεδίο command, οι τύποι πλαισίων χαρακτηρίζονται από ένα ή δύο δυαδικά στοιχεία. Τα δυαδικά στοιχεία, τα οποία δεν είναι ακόµα ορισµένα, έχουν ένα διαφορετικό νόηµα για κάθε τύπο πλαισίου. Position of bits 8 7 6 5 4 3 2 1 I frame N(R) N(R) N(R) P N(S) N(S) N(S) 0 S frame N(R) N(R) N(R) P/F X X 0 1 N frame Y Y Y P/F Y Y 1 1 P/F : Πρόσκληση να στείλει bit όταν προέρχεται από µια εντολή (P:Polling) ή τερµατισµού bit όταν προέρχεται από µία απάντηση (F:Final). N(R): Αρίθµός σειράς λήψης (στον δέκτη) N(S): Αριθµός σειράς αποστολής (στον ποµπό) 41
X,Y: Κωδικοποίηση ποικίλων σειρών πλαισίου. Information (Πεδίο δεδοµένων) Αυτό το πεδίο περιέχει δεδοµένα από το αµέσως υψηλότερο επίπεδο. Το µέγιστο µήκος είναι 2051 bytes. Το πιο κοινώς χρησιµοποιούµενο µήκος είναι 131 bytes. FCS (Frame Checking Sequence - Πεδίο ελέγχου σφάλµατος) Το FCS είναι ένας δυαδικός αριθµός ελέγχου του πλαισίου που περιλαµβάνει 16 δυαδικά στοιχεία. Σχηµατίζεται από τα πεδία διεύθυνσης, ελέγχου και δεδοµένων. Ο δέκτης µπορεί έτσι να ανιχνεύσει δυαδικά λάθη. Το πεδίο FCS χρησιµοποιείται µε τον ακόλουθο τρόπο : Ο ποµπός αριθµεί διαδοχικά τα αποστελλόµενα πλαίσια, ενώ ο δέκτης τα σωστά λαµβανόµενα. - Με τη βοήθεια του FCS, ο δέκτης µπορεί να αναγνωρίσει τα πλαίσια που περιέχουν λάθη τα οποία πλαίσια αγνοεί. - Ο δέκτης καταγράφει τον αριθµό των πλαισίων που έλαβε σωστά. Ο αριθµός µεταδίδεται στο πεδίο ελέγχου των πακέτων που αποστέλλει κατά την αντίθετη κατεύθυνση. Ο αριθµός του επόµενου πλαισίου που αναµένεται, είναι αυτός που µεταδίδεται πίσω στον εκποµπό εντός του πεδίου N(R). Στην επόµενη οθόνη παρουσιάζεται η αλληλεπίδραση ανάµεσα σ' αυτούς τους δύο µετρητες στην πλευρά του εκποµπού και στην πλευρά του δέκτη. Principle of flow control (Αρχή λειτουργίας του ελέγχου ροής) Μία λύση είναι να επιβεβαιώνουµε κάθε I frame πριν µεταδόσουµε το επόµενο. Για να αυξήσουµε την αποδοτικότητα όµως της σύνδεσης, αρκετά συνεχή I frames µπορούν να σταλούν χωρίς λήψη άµεσων επιβεβαιώσεων. Ο µέγιστος αριθµός πλαισίων που στέλνονται, κ, είναι ίσος µε 3, όπως φαίνεται στο παράδειγµα της οθόνης. Αυτό ονοµάζεται παράθυρο πλαισίου ("frame window"). Εάν δεν φθάνουν επιβεβαιώσεις ο ποµπός σταµατά να στέλνει καινούργια πλαίσια και µετά κάποιο χρόνο (την εκπνοή ενός χρονιστή) ξαναστέλνει τα ήδη αποσταλέντα πλαίσια. Επειδή αυτό είναι σπατάλη ο δέκτης που κινδυνεύει µε υπερχείλιση δεν σταµατά τις επιβεβαιώσεις αλλά στέλνει πλαίσιο επίβλεψης RNR (Receiver not eady). Όταν είναι πάλι έτοιµος στέλνει RR. Error detection (Ανίχνευση λαθών) Στο δεύτερο επίπεδο, ο δέκτης µπορεί να αναγνωρίζει τους ακόλουθους τύπους λαθών: Transmission (Μετάδοσης) Frame structure ( οµής πλαισίου) Protocol (Πρωτοκόλλου) Excessive Acknowledgement time (υπερβολική παραβίαση χρόνου επιβεβαίωσης πλαισίων). Transmission error (Λάθος µετάδοσης) Ενα κατάλληλο κύκλωµα παράγει το FCS βασιζόµενο στα πεδία διεύθυνσης, ελέγχου και δεδοµένων. Το FCS (16 bits) µεταδίδεται στο τέλος του πλαισίου. Η ίδια µαθηµατική λειτουργία, στην πλευρά της λήψης, επιτρέπει ανίχνευση των δυαδικών λαθών µε σύγκριση. Frame structure error (Λάθος δοµής πλαισίου ) 42
Ελέγχεται ο τύπος του κάθε πλαισίου. Για παράδειγµα ελέγχονται: - Το µήκος του πλαισίου είναι µεγαλύτερο από ή ίσο µε 32bits. - Ενα S frame δεν πρέπει να περιέχει ένα πεδίο δεδοµένων - Ο τύπος του πλαισίου, που δίδεται στο πεδίο ελέγχου, πρέπει να είναι υπαρκτός.. - Στο πεδίο διεύθυνσης επιτρέπονται µόνο τιµές 00000001 ή 00000011. Protocol error (Λάθος πρωτοκόλλου) Ο διάλογος µεταξύ DPTE και δικτύου διευθύνεται από ένα σύνολο κανόνων που αποτελεί το πρωτόκολλο. Αυτό δείχνει µία σειρά καθορισµένων καταστάσεων ( παράδειγµα: "idle", "dialog established", etc ). Αλλαγή της κατάστασης επιτυγχάνεται µέσω καθορισµένων πλαισίων. Σε µία δεδοµένη κατάσταση, ένα πλαίσιο το οποίο δεν είναι µέρος της σειράς, παράγει ένα λάθος πρωτοκόλλου. Παραβίαση χρόνου λήψης επιβεβαίωσης (Excessive acknowledgement time error) Κάθε εντολή που αποστέλλεται πρέπει να επιβεβαιώνεται µέσα σε ορισµένο χρόνο. Αλλιώς η εντολή επαναλαµβάνεται. Προηγουµένως εξηγήσαµε ότι υπάρχει διάλογος ανάµεσα στο DPTE και στο δίκτυο, ο οποίος περιγράφεται από καθορισµένες καταστάσεις και αλλαγές κατάστασης. Εδώ είναι τέσσερις τυπικές φάσεις διαλόγου 1- Ενεργοποίηση/ Αρχικοποίηση 2- Μετάδοση δεδοµένων χωρίς λάθη 3- Μετάδοση δεδοµένων µε λάθη 4- Απενεργοποίηση Activation/ Initialization (Ενεργοποιήση/ Αρχικοποίηση) Για να ενεργοποιηθεί η φάση µεταβίβασης, χρησιµοποιούνται δύο 2U frames που είναι τα SABM και UA. Frame Command Response 8 7 6 5 4 3 2 1 Ι N(R) P N(S) N(S) 0 S N(R) P/F X X 0 1 U SABM 0 1 1 P 1 1 1 1 U UA 0 1 1 F 0 0 1 1 SABM (Set Asynchronous Balanced Mode): Είναι η εντολή που ζητά να µπεί ο ανταποκριτής σε φάση µετάδοσης UA (Unnumbered Acknowledgement of receipt): Το πλαίσιο απόκρισης το οποίο επιβεβαιώνει τη λήψη των πλαισίων και δέχεται τη λαµβανόµενη εντολή. Data transmission without errors (Μετάδοση δεδοµένων χωρίς λάθη) Οταν η φάση µετάδοσης δεδοµένων ενεργοποείται, η πληροφορία µέσα σ' ένα I frame, ανάµεσα στο DPTE και το δίκτυο, µπορεί να σταλεί. Ενα I ή S frame εκτελεί επιβεβαίωση. Frame Command Response 8 7 6 5 4 3 2 1 I I N(R) P N(S) N(S) 0 S RR RR N(R) P/F 0 0 0 1 U Y Y Y P/F Y Y 1 1 I (Information - Πληροφορία) 43
Στα πεδία N(S) και N(R) περιέχεται η τρέχουσα κατάσταση των µετρητών µετάδοσης και λήψης, αντιστοίχως. RR (Ready to Receive - έτοιµος για λήψη) είχνει διαθεσιµότητα για λήψη και επιβεβαιώνει λήψη των προηγουµένων λαµβανοµένων I frames. Το RR frame µεταδίδεται εάν δεν υπάρχει διαθέσιµο I frame να εκτελέσει αυτή τη λειτουργία. Σχόλιο: Στη φάση µετάδοσης δεδοµένων, αρκετά I frames µπορούν να στέλνονται χωρίς ενδιάµεση επιβεβαίωση. Ενα I ή S frame πληροφορεί τον εκποµπό για τη σωστή λήψη. Data transmission with errors (Μετάδοση δεδοµένων µε λάθη) Οταν τα λάθη ανιχνεύονται, το σύστηµα µπορεί να αντιδράσει µε δύο διαφορετικούς τρόπους, - επανάληψη του πλαισίου - απόρριψη του πλαισίου και επαναρχικοποίηση Frame Command Response 8 7 6 5 4 3 2 1 I I N(R) P N(S) N(S) 0 S REJ REJ N(R) P/F 1 0 0 1 U FRMR 0 1 1 F 0 0 1 1 REJ (Rejection - Απόρριψη) Κατά τη λήψη ενός I frame που έχει λανθασµένο N(S), επιτρέπει αίτηση αναµετάδοσης των I frames βασισµένα σε αριθµό µετάδοσης ίσο µε το N(R). FRMR (Frame Rejection - Απόρριψη πλαισίου) Χρησιµοποιείται όταν το λάθος δεν µπορεί να διορθωθεί από αναµετάδοση πλαισίου. Σχόλιο: Στην περίπτωση ενός λάθους που είναι αδύνατον να διορθωθεί από αναµετάδοση του πλαισίου, µεταδίδεται ένα FRMR frame, το οποίο προκαλεί επαναρχικοποίηση της σύνδεσης. Deactivation (Απενεργοποίηση) Για να απενεργοποιηθεί µια ζεύξη δεδοµένων χρησιµοποιούνται δύο U frames: τα DISC και UA Frame Command Response 8 7 6 5 4 3 2 1 I x x x x x x x x S x x x x x x x x U DISC 0 1 0 P 0 0 1 1 U UA 0 1 1 F 0 0 1 1 DISC (Disconnection - Αποσύνδεση) Εντολή για αποσύνδεση της σύνδεσης δεδοµένων στο τέλος της φάσης µετάδοσης. UA (Un-numbered Acknowledgement of receipt - Αναρίθµητη Επιβεβαίωση Λήψης) Το πλαίσιο απάντησης UA επιβεβαιώνει λήψη των U πλαισίων και δέχεται διαταγή. 44
ΕΡΩΤΗΣΕΙΣ 1. Ποιός είναι ο ρόλος του δεύτερου επιπέδου; 2. Πληκτρολογήστε το όνοµα του πεδίου στο ακόλουθο πλαίσιο. 3. Γεµίστε τον ακόλουθο πίνακα επιλέγοντας τα σωστά κουτιά. 4. Στο χρόνο t 0, πόσα πλαίσια το DTE µπορεί να µεταδόσει δεδοµένου ότι το µέγεθος παραθύρου είναι ίσο µε 3; 5. Πότε το DTE ή το δίκτυο ανιχνεύει µία δοµή λάθους; 6. Παρατηρήστε το διάλογο και δώστε τιµή στο πεδίο N(S) στο τελευταίο I frame. 7. Σηµειώστε την σωστή πρόταση που αφορά τον έλεγχο ροής. 8. Πως ανιχνεύονται τα λάθη πρωτοκόλλου του δεύτερου επιπέδου; 9. Ποιά είναι η αντίδραση από το DTE ή από το δίκτυο όταν λαµβάνει ένα πλαίσιο που περιέχει ένα δυαδικό λάθος; 10. Απο µετάδοση ποιού πλαισίου µπορεί η σωστή σειρά να επαναεγκατασταθεί ; 11. Εντόπισε το δεύτερο επίπεδο. 12. Σ' ένα διάλογο ποιά είναι η φάση που πρέπει να προηγείται της ανταλλαγής δεδοµένων και ποιά πλαίσια θα χρησιµοποιούνται; 13. Τι κάνει το DTE ή το δίκτυο εάν η αναµενόµενη απάντηση σε µία εντολή που εκπέµπεται δεν λαµβάνεται µέσα στον επιτρεπόµενο χρόνο; 45
46