1 / 19

Επαλήθευση Πρωτοκόλλων

Επαλήθευση Πρωτοκόλλων. Περίληψη. Προδιαγραφή και επαλήθευση Πρωτοκόλλων Μηχανές Πεπερασμένων Καταστάσεων ( Finite State Machines ) Petri-Nets.

inez-kirk
Download Presentation

Επαλήθευση Πρωτοκόλλων

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Επαλήθευση Πρωτοκόλλων

  2. Περίληψη Προδιαγραφή και επαλήθευση Πρωτοκόλλων • Μηχανές Πεπερασμένων Καταστάσεων (Finite State Machines) • Petri-Nets

  3. Περιγραφή πρωτοκόλλου χρησιμοποιώντας γράφους (graphs) όπου οι κόμβοι (nodes) αντιπροσωπεύσου την κατάσταση (state) του πρωτοκόλλου και τα προσανατολισμένα τόξα (directed arcs) τις μεταβάσεις (transitions) μεταξύ των καταστάσεων. Χρησιμοποιούνται για την ανάλυση και επαλήθευση πρωτοκόλλων. Ανάλυση προσεγγισιμότητας (reachability analysis) Προβλήματα μη πλήρους προδιαγραφών (το πρωτόκολλο δεν προσδιορίζει πλήρως τι θα γίνει αν κάποιο πλαίσιο παραληφθεί σε κάποια κατάσταση). Ανίχνευση αδιεξόδων (deadlocks) Μηχανές Πεπερασμένων Καταστάσεων (Finite State Machines)

  4. Τετράδα (S,M,I,T), όπου S: Το σύνολο των καταστάσεων όπου μπορεί να βρίσκεται κάποια διαδικασία (state space) M: Το σύνολο των πλαισίων που ανταλλάσσονται μεταξύ των στρωμάτων (message set) I: Το σύνολο των αρχικών καταστάσεων διαδικασιών (initial states) T: Το σύνολο το μεταβάσεων μεταξύ των καταστάσεων (transition set) Τυπική Περιγραφή Μηχανών Πεπερασμένων Καταστάσεων

  5. Παράδειγμα: Πρωτόκολλο Παύσης και Αναμονής 0 Μεταβάσεις Wait frm 1 Wait frm 0 Frm 0 Received Frm 1 Received Καταστάσεις • Παραλήπτης Frm 0 received Pass frm to higher layer Send Ack 0 Frm 1 received Αρχική Κατάσταση Pass frm to higher layer Send Ack 1 Αναμενόμενα πλαίσια: frm 0, frm 1, Ack 0, Ack 1

  6. Παράδειγμα: Πρωτόκολλο Παύσης και Αναμονής 0 Ack 0 or 1 Received Send frm 0 frm 0 transmitted Ack 1 Received Timeout Wait Ack 0 Wait Ack 1 Ack 1 Received Ack 0 Received Timeout frm 1 transmitted Ack 0 Received Send frm 1 Start Timer Start Timer Ack 0or 1 Received • Αποστολέας

  7. Αδιέξοδο • Το προηγούμενο πρωτόκολλο παρουσιάζει ένα σοβαρό πρόβλημα. • Ο Αποστολέας στέλνει το frm 0. • Ο δέκτης παραλαμβάνει και επαληθεύει το frm 0 και αναμένει το frm 1. • Η επαλήθευση χάνεται. • Αφού το χρονόμετρο του αποστολέα λήξει, ξαναστέλνει το frm 0. • Ο δέκτης, δεν αναμένει το frm 0 και το αγνοεί! • Αφού το χρονόμετρο του αποστολέα λήξει, ξαναστέλνει το frm 0. • Ο δέκτης, δεν αναμένει το frm 0 και το αγνοεί! • …

  8. Πρωτόκολλο Παύσης και Αναμονής 1 Send frm 0 Ack 1 Received frm 0 transmitted Timeout or Ack 1 Received Wait Ack 0 Wait Ack 1 Timeout or Ack 0 Received Ack 0 Received frm 1 transmitted Send frm 1 • Αποστολέας

  9. Πρωτόκολλο Παύσης και Αναμονής 1 Wait frm 1 Wait frm 0 frm 0 Received frm 1 Received • Παραλήπτης frm 0 received Pass frm to higher layer Send Ack 0 Send Ack 0 Send Ack 1 frm 1 received Pass frm to higher layer Send Ack 1

  10. Παράδειγμα: Πρωτόκολλο Παύσης και Αναμονής συμπεριλαμβανομένου Καναλιού • Σύνολο Καταστάσεων: X=(S,R,C) • S  {0,1}. Ο αποστολέας προσπαθεί να μεταδώσει το πακέτο 0 ή 1 • R  {0,1}. Ο παραλήπτης περιμένει το πακέτο 0 ή 1 • C  {0,1, A, -}. Το κανάλι περιέχει frm 0, frm 1, ack, ή είναι άδειο. • Κατοίκων εργασία: Σχεδιάστε τη Μηχανή Πεπερασμένων Καταστάσεων (FSM)που αντιστοιχεί στο πρωτόκολλο Παύσης και Αναμονής και συμπεριλαμβάνει την κατάσταση του καναλιού.

  11. Petri Nets • Τεχνική Περιγραφής Πρωτοκόλλων • Χρησιμοποιούνται για την ανάλυση και επαλήθευση πρωτοκόλλων. • Ανάλυση προσεγγισιμότητας (reachability analysis) • Προβλήματα μη πλήρους προδιαγραφών (το πρωτόκολλο δεν προσδιορίζει πλήρως τι θα γίνει αν κάποιο πλαίσιο παραληφθεί σε κάποια κατάσταση). • Ανίχνευση αδιεξόδων (deadlocks)

  12. Petri Nets • Ένα Petri Net αποτελείται από • Θέσεις (places) • Μεταβάσεις (Transitions) • Τόξα εισόδου και εξόδου (input/output arcs) • Σκυτάλες (Tokens) • Μια μετάβαση είναι ενεργοποιημένη (enabled transition) εάν υπάρχει τουλάχιστον μία σκυτάλη σε κάθε θέση από την οποία έρχονται τόξα εισόδου. • Όταν μία μετάβαση αναφλεγεί (fire), τότε αφαιρείται μία σκυτάλη από όλες τις θέσεις που είναι συνδεδεμένες με τόξα εισόδου και προστίθεται στις θέσεις που είναι συνδεδεμένες με τόξα εξόδου.

  13. Παράδειγμα Petri Nets Transition 0 Place 0 Place 1 Transition 1 Τόξο εξόδου Τόξο εισόδου Θέση (place) Μετάβαση (transition) Σκυτάλη (token)

  14. Παράδειγμα Petri Nets receive frm 0 Wait frm 0 Wait frm 1 Receive frm 0 • Παραλήπτης σε πρωτόκολλο Παύσης και αναμονής

  15. Πρωτόκολλο Παύσης και Αναμονής: Αναμενόμενη Λειτουργία frm 0 Get frm 0 Send frm 0 Ack 0 Wait frm 1 Wait Ack 0 frm 1 Get frm 1 Send frm 1 Wait Ack 1 Ack 1 Wait frm 0 Κατάσταση Αποστολέα Κατάσταση Παραλήπτη Κατάσταση καναλιού

  16. Πρωτόκολλο Παύσης και Αναμονής: Αναμενόμενη Λειτουργία frm 0 Get frm 0 Send frm 0 Ack 0 Wait frm 1 Wait Ack 0 frm 1 Get frm 1 Send frm 1 Wait Ack 1 Ack 1 Wait frm 0 Κατάσταση Αποστολέα Κατάσταση Παραλήπτη Κατάσταση καναλιού

  17. Πρωτόκολλο Παύσης και Αναμονής: Αδιέξοδο frm 0 Get frm 0 Send frm 0 loss Ack 0 Wait frm 1 Wait Ack 0 loss frm 1 Get frm 1 Send frm 1 Wait Ack 1 loss Ack 1 Wait frm 0 loss Κατάσταση Αποστολέα Κατάσταση Παραλήπτη Κατάσταση καναλιού

  18. Πρωτόκολλο Παύσης και Αναμονής: Χρονόμετρα για Αποφυγή Αδιεξόδων frm 0 Get frm 0 Send frm 0 loss Ack 0 Wait frm 1 Wait Ack 0 timer loss frm 1 Get frm 1 Send frm 1 timer Wait Ack 1 loss Ack 1 Wait frm 0 loss Κατάσταση Αποστολέα Κατάσταση Παραλήπτη Κατάσταση καναλιού

  19. Πρωτόκολλο Παύσης και Αναμονής: Απώλεια Πλαισίου Επαλήθευσης frm 0 Get frm 0 Send frm 0 loss Ack 0 Reject 0 Reject 1 Wait frm 1 Wait Ack 0 timer loss frm 1 Get frm 1 Send frm 1 Wait Ack 1 loss Ack 1 Wait frm 0 loss Κατάσταση Αποστολέα Κατάσταση Παραλήπτη Κατάσταση καναλιού timer

More Related