Πρωτόκολλο Εναλλασσόμενου Β it

Post on 30-Dec-2015

36 views 4 download

description

Παρασκευή 6 / 7 /2007. Πρωτόκολλο Εναλλασσόμενου Β it. Μόκα Ευαγγελία 152 Μπελόγια Αικατερίνη 154. Τυπικές Μέθοδοι Ανάλυσης Συστημάτων Υπεύθυνος : Κατσαρός Παναγιώτης. ΠΡΩΤΟΚΟΛΛΟ ΕΝΑΛΛΑΣΣΟΜΕΝΟΥ ΒΙΤ. Πρωτόκολλο μετάδοσης μηνυμάτων σε γραμμή με πιθανές «απώλειες». ΣΤΟΧΟΣ. - PowerPoint PPT Presentation

Transcript of Πρωτόκολλο Εναλλασσόμενου Β it

Computers: Information Technology in PerspectiveBy Long and Long

Copyright 2002 Prentice Hall, Inc.

Πρωτόκολλο Πρωτόκολλο Εναλλασσόμενου ΒΕναλλασσόμενου Βitit

Μόκα Ευαγγελία 152Μόκα Ευαγγελία 152Μπελόγια Μπελόγια

Αικατερίνη 154Αικατερίνη 154

Τυπικές Μέθοδοι Τυπικές Μέθοδοι Ανάλυσης ΣυστημάτωνΑνάλυσης Συστημάτων

Υπεύθυνος :Υπεύθυνος :Κατσαρός ΠαναγιώτηςΚατσαρός Παναγιώτης

Τυπικές Μέθοδοι Τυπικές Μέθοδοι Ανάλυσης ΣυστημάτωνΑνάλυσης Συστημάτων

Υπεύθυνος :Υπεύθυνος :Κατσαρός ΠαναγιώτηςΚατσαρός Παναγιώτης

Παρασκευή Παρασκευή 66//77/2007/2007

QuitQuit

ΠΡΩΤΟΚΟΛΛΟ ΕΝΑΛΛΑΣΣΟΜΕΝΟΥ ΠΡΩΤΟΚΟΛΛΟ ΕΝΑΛΛΑΣΣΟΜΕΝΟΥ ΒΙΤΒΙΤ

Πρωτόκολλο μετάδοσης μηνυμάτων Πρωτόκολλο μετάδοσης μηνυμάτων σε γραμμή με πιθανές «απώλειες»σε γραμμή με πιθανές «απώλειες»

Εγγύηση επιτυχούς επικοινωνίαςΕγγύηση επιτυχούς επικοινωνίας

ΣΤΟΧΟΣΣΤΟΧΟΣΣΤΟΧΟΣΣΤΟΧΟΣ

Επιτρέπεται η απώλεια μηνυμάτων Επιτρέπεται η απώλεια μηνυμάτων από τη γραμμή & η αποστολή από τη γραμμή & η αποστολή πλεονασματικώνπλεονασματικών

QuitQuit

ΠΡΩΤΟΚΟΛΛΟ ΕΝΑΛΛΑΣΣΟΜΕΝΟΥ ΠΡΩΤΟΚΟΛΛΟ ΕΝΑΛΛΑΣΣΟΜΕΝΟΥ ΒΙΤΒΙΤΛΕΙΤΟΥΡΓΙΑΛΕΙΤΟΥΡΓΙΑ

SenderSender ReceiverReceiver

Message Channel Message Channel

ΟΝΤΟΤΗΤΕΣΟΝΤΟΤΗΤΕΣ ΟΝΤΟΤΗΤΕΣΟΝΤΟΤΗΤΕΣ

Acknowledgment Channel Acknowledgment Channel

Αποστολή πακέτων με 1 Αποστολή πακέτων με 1 bit bit ελέγχουελέγχου

00 11

CONTROL BITCONTROL BITCONTROL BITCONTROL BIT

QuitQuit

ΠΡΩΤΟΚΟΛΛΟ ΕΝΑΛΛΑΣΣΟΜΕΝΟΥ ΠΡΩΤΟΚΟΛΛΟ ΕΝΑΛΛΑΣΣΟΜΕΝΟΥ ΒΙΤΒΙΤΛΕΙΤΟΥΡΓΙΑΛΕΙΤΟΥΡΓΙΑ

ΜετάδοσηΜετάδοση: : 11ουου πακέτου πακέτου ++ bit bit ελέγχου 0ελέγχου 0

RECEIVER RECEIVER RECEIVER RECEIVER

SENDER SENDER SENDER SENDER

ΕπιβεβαίωσηΕπιβεβαίωση: : bit bit ελέγχου 0ελέγχου 0

ΜετάδοσηΜετάδοση: 2: 2ουου πακέτου πακέτου ++ bit bit ελέγχου 1ελέγχου 1

ΕπιβεβαίωσηΕπιβεβαίωση: : bit bit ελέγχου 1ελέγχου 1

RECEIVER RECEIVER RECEIVER RECEIVER

SENDER SENDER SENDER SENDER

Με λήψη 1Με λήψη 1ουου πακέτου πακέτου

Με παραλαβή επιβεβαίωσηςΜε παραλαβή επιβεβαίωσης

Με λήψη 2Με λήψη 2ουου πακέτου πακέτου

QuitQuit

ΠΡΩΤΟΚΟΛΛΟ ΕΝΑΛΛΑΣΣΟΜΕΝΟΥ ΠΡΩΤΟΚΟΛΛΟ ΕΝΑΛΛΑΣΣΟΜΕΝΟΥ ΒΙΤΒΙΤΛΕΙΤΟΥΡΓΙΑΛΕΙΤΟΥΡΓΙΑ

Αγνόηση πακέτων με μη αναμενόμενο Αγνόηση πακέτων με μη αναμενόμενο bit bit ελέγχουελέγχου

Εναλλαγή Εναλλαγή bitbit ελέγχου ελέγχου

Διασφάλιση από απώλεια Διασφάλιση από απώλεια πακέτων & μετάδοση πακέτων & μετάδοση πλεονασματικώνπλεονασματικών

Μετάδοση πακέτων Μετάδοση πακέτων & & bit bit ελέγχουελέγχου

Μετάδοση Μετάδοση bit bit ελέγχου ελέγχου επιβεβαίωσηςεπιβεβαίωσης

MessageMessage ChannelChannel MessageMessage

ChannelChannel

AcknowledgmentAcknowledgment ChannelChannel

AcknowledgmentAcknowledgment ChannelChannel

QuitQuit

ΠΡΩΤΟΚΟΛΛΟ ΕΝΑΛΛΑΣΣΟΜΕΝΟΥ ΠΡΩΤΟΚΟΛΛΟ ΕΝΑΛΛΑΣΣΟΜΕΝΟΥ ΒΙΤΒΙΤΛΕΙΤΟΥΡΓΙΑΛΕΙΤΟΥΡΓΙΑ

Διαρκής αποστολή ίδιου πακέτου με Διαρκής αποστολή ίδιου πακέτου με ίδιο ίδιο bit bit ελέγχουελέγχου

Διαρκής αποστολή προηγούμενης Διαρκής αποστολή προηγούμενης επιβεβαίωσηςεπιβεβαίωσης

SENDER SENDER SENDER SENDER

RECEIVER RECEIVER RECEIVER RECEIVER

Λήψη μη αναμενόμενου Λήψη μη αναμενόμενου bit bit ελέγχουελέγχου

QuitQuit

ΠΡΩΤΟΚΟΛΛΟ ΕΝΑΛΛΑΣΣΟΜΕΝΟΥ ΠΡΩΤΟΚΟΛΛΟ ΕΝΑΛΛΑΣΣΟΜΕΝΟΥ ΒΙΤΒΙΤΛΕΙΤΟΥΡΓΙΑΛΕΙΤΟΥΡΓΙΑ

Sender Receiver

msg0

ack0

msg1

ack1

msg0

ack0

msg1

QuitQuit

ΠΡΩΤΟΚΟΛΛΟ ΕΝΑΛΛΑΣΣΟΜΕΝΟΥ ΠΡΩΤΟΚΟΛΛΟ ΕΝΑΛΛΑΣΣΟΜΕΝΟΥ ΒΙΤΒΙΤΛΕΙΤΟΥΡΓΙΑΛΕΙΤΟΥΡΓΙΑ

Sender Receiver

msg0

ack1

msg0

ack0

msg1

QuitQuit

colset BIT = int with 0..1;colset BIT = int with 0..1; colset DATA = string;colset DATA = string; colset INTxDATAxBIT= product INT * colset INTxDATAxBIT= product INT *

DATA * BIT;DATA * BIT; colset INTxDATA = product INT * colset INTxDATA = product INT *

DATA;DATA; colset INTxBIT = product INT * BIT;colset INTxBIT = product INT * BIT; var n : INT;var n : INT; var p,str : DATA;var p,str : DATA; var b, k : BIT;var b, k : BIT; val stop = "########";val stop = "########";

ΤΥΠΟΙ (ΤΥΠΟΙ (COLOR SETS)COLOR SETS)

QuitQuit

colset msglist = list INTxDATAxBIT;colset msglist = list INTxDATAxBIT;

colset bitlist = list BIT;colset bitlist = list BIT;

var seq, seq2 : msglist;var seq, seq2 : msglist;

var ackseq, ackseq2 : bitlist;var ackseq, ackseq2 : bitlist;

ΤΥΠΟΙ (ΤΥΠΟΙ (COLOR SETS)COLOR SETS)ΛΙΣΤΕΣΛΙΣΤΕΣ

QuitQuit

TOPTOP

Ο αποστολέας στέλνει το

μήνυμα μαζί με το bit ελέγχου

Το μήνυμα + bit προωθείται μέσω του

καναλιού στον παραλήπτη

Ο παραλήπτης λαμβάνει το μήνυμα και στέλνει την

επιβεβαίωση (bit)

Η επιβεβαίωση προωθείται μέσω του

καναλιού στον αποστολέα

QuitQuit

SENDERSENDER

Αρχικό μήνυμα

Προώθηση μηνύματος & bit ελέγχου

Προώθηση πακέτου & bit ελέγχου

Λήψη bit επιβεβαίωσης

Προώθηση bit επιβεβαίωσης Φρουρός

Διατήρηση control bit &

θέσης επομένου πακέτου

QuitQuit

SENDERSENDER

Ένα πακέτο προστίθεται στη λίστα Ένα πακέτο προστίθεται στη λίστα seqseq μόνο αν δεν υπάρχει ήδη, για αποφυγή μόνο αν δεν υπάρχει ήδη, για αποφυγή έκρηξης χώρου καταστάσεωνέκρηξης χώρου καταστάσεων

QuitQuit

SENDERSENDER

Αν το Αν το bit bit της κεφαλής της λίστας της κεφαλής της λίστας ackseqackseq είναι το αναμενόμενο:είναι το αναμενόμενο: Αν ισούται με Αν ισούται με 00 n=n+1 n=n+1 & & k=1,k=1, Αν ισούται με ένα Αν ισούται με ένα n=n+1n=n+1 & k=0& k=0

Αλλιώς το Αλλιώς το kk & το & το n n παραμένουν ίδιαπαραμένουν ίδια

QuitQuit

SENDERSENDERΠΑΡΑΔΕΙΓΜΑΠΑΡΑΔΕΙΓΜΑ

QuitQuit

SENDERSENDERΠΑΡΑΔΕΙΓΜΑΠΑΡΑΔΕΙΓΜΑ

QuitQuit

SENDERSENDERΠΑΡΑΔΕΙΓΜΑΠΑΡΑΔΕΙΓΜΑ

QuitQuit

MESSAGE CHANNELMESSAGE CHANNEL

Προώθηση Πακέτου & Bit

Ελέγχου

ΦρουρόςΠροώθηση

Πακέτου & Bit Ελέγχου στον

Παραλήπτη

QuitQuit

colset Ten0 = int with 0..10;colset Ten0 = int with 0..10;

colset Tencolset Ten11 = int with = int with 11..10; ..10;

var s: Ten0;var s: Ten0;

var r: Ten1; var r: Ten1;

fun Ok(s:Ten0,r:Ten1) = (r<=s);fun Ok(s:Ten0,r:Ten1) = (r<=s);

MESSAGE CHANNELMESSAGE CHANNEL

QuitQuit

MESSAGE CHANNELMESSAGE CHANNEL

Αν το πακέτο δε βρίσκεται ήδη στη λίστα Αν το πακέτο δε βρίσκεται ήδη στη λίστα seqseq2 των πακέτων που προωθούνται στον 2 των πακέτων που προωθούνται στον παραλήπτη & η συνάρτηση ΟΚ είναι παραλήπτη & η συνάρτηση ΟΚ είναι αληθής, τότε προστίθεται στη λίστααληθής, τότε προστίθεται στη λίστα

Διαφορετικά η Διαφορετικά η seq2seq2 παραμένει ως έχει παραμένει ως έχει

QuitQuit

MESSAGE CHANNELMESSAGE CHANNELΠΑΡΑΔΕΙΓΜΑΠΑΡΑΔΕΙΓΜΑ

QuitQuit

MESSAGE CHANNELMESSAGE CHANNELΠΑΡΑΔΕΙΓΜΑΠΑΡΑΔΕΙΓΜΑ

QuitQuit

MESSAGE CHANNELMESSAGE CHANNELΠΑΡΑΔΕΙΓΜΑΠΑΡΑΔΕΙΓΜΑ

QuitQuit

MESSAGE CHANNELMESSAGE CHANNELΠΑΡΑΔΕΙΓΜΑΠΑΡΑΔΕΙΓΜΑ

QuitQuit

RECEIVER

Λήψη μηνύματος & bit ελέγχου

μέσω του place B

Φρουρός

Συγκέντρωση του

μηνύματος

Διατήρηση του

αναμενόμενου control bitΠροώθηση

επιβεβαίωσης

Είσοδος της λίστας seq

QuitQuit

RECEIVER

Αν το bit που περιέχει το πρώτο στοιχείο της λίστας (κεφαλή) είναι το αναμενόμενο και το μήνυμα δεν περιέχει τη μεταβλητή τέλους, τότε το μήνυμα προστίθεται στη μέχρι τώρα ληφθείσα ακολουθία

QuitQuit

RECEIVER

Αν το bit της κεφαλής της λίστας είναι το αναμενόμενο: Αν ισούται με μηδέν k=1 Αν ισούται με ένα k=0

Αλλιώς το k παραμένει ίδιο

QuitQuit

RECEIVER

Αν το bit της κεφαλής της λίστας είναι το αναμενόμενο και (δεν είναι το ίδιο με το τελευταίο στοιχείο της λίστας ackseq ή η λίστα ackseq είναι κενή) προστίθεται στη λίστα επιβεβαίωσης ackseq

QuitQuit

RECEIVER

Αν το bit της κεφαλής της λίστας δεν είναι το αναμενόμενο προστίθεται στη λίστα ackseq η προηγούμενη επιβεβαίωση αν δεν είναι ίδια με το τελευταίο στοιχείο της ackseq ή η ackseq είναι κενή

QuitQuit

RECEIVER

Διαφορετικά η λίστα επιβεβαιώσεων παραμένει ως έχει

QuitQuit

RECEIVERΠΑΡΑΔΕΙΓΜΑΠΑΡΑΔΕΙΓΜΑ

QuitQuit

RECEIVERΠΑΡΑΔΕΙΓΜΑΠΑΡΑΔΕΙΓΜΑ

QuitQuit

ACKNOWLEDGMENT CHANNEL

Προώθηση Επιβεβαίωσης

Φρουρός

Συνάρτηση OK

Προώθηση Επιβεβαίωσης

στον αποστολέα

Αν η συνάρτηση ΟΚ είναι αληθής και (η λίστα ackseq2 είναι κενή ή η επιβεβαίωση δεν είναι ίδια με το τελευταίο στοιχείο της ackseq2), τότε η ack προστίθεται σε αυτή

Διαφορετικά η ackseq2 παραμένει ως έχει

Λήψη της λίστας Επιβεβαίωσης

QuitQuit

ACKNOWLEDGMENT CHANNEL

ΠΑΡΑΔΕΙΓΜΑΠΑΡΑΔΕΙΓΜΑ

QuitQuit

ACKNOWLEDGMENT CHANNEL

ΠΑΡΑΔΕΙΓΜΑΠΑΡΑΔΕΙΓΜΑ

QuitQuit

STATISTICSSTATISTICS STATISTICSSTATISTICS

State Space State Space

Nodes: Nodes: 637637

Arcs:Arcs: 83948394

Secs:Secs: 1 1

Status:Status: FullFull Ο γράφος του χώρου καταστάσεων

αποτελείται από 637 κόμβους & 8394 τόξα

REPORTREPORT

Η κατασκευή του συνολικού γράφου γίνεται σε 1 sec

QuitQuit

STATISTICSSTATISTICS STATISTICSSTATISTICS

Scc GraphScc Graph

Nodes: Nodes: 271271

Arcs:Arcs: 47894789

Secs:Secs: 00

Ο γράφος των ισχυρά συνδεδεμένων

τμημάτων αποτελείται από 271 τμήματα & 4789 τόξα

REPORTREPORT

Η κατασκευή του γίνεται σε 0 sec

QuitQuit

STATISTICSSTATISTICS STATISTICSSTATISTICS

Τα ισχυρά συνδεδεμένα τμήματα είναι λιγότερα από τους κόμβους

REPORTREPORT

Το σύστημα έχει τουλάχιστον ένα ισχυρά συνδεδεμένο τμήμα που περιέχει περισσότερους από έναν κόμβους

Υπάρχουν μη-πεπερασμένες ακολουθίες εκτέλεσης

Δεν μπορούμε να είμαστε σίγουροι ότι το πρωτόκολλο τερματίζει

QuitQuit

BOUNDEDNESS PROPERTIESBOUNDEDNESS PROPERTIES BOUNDEDNESS PROPERTIESBOUNDEDNESS PROPERTIES

REPORTREPORT

Οι ιδιότητες περατότητας δείχνουν πόσα tokens μπορεί να έχει ένα place

O μέγιστος & ο ελάχιστος αριθμός μαρκών που μπορεί να έχει κάθε place

QuitQuit

BOUNDEDNESS PROPERTIESBOUNDEDNESS PROPERTIES BOUNDEDNESS PROPERTIESBOUNDEDNESS PROPERTIES

Best Integer BoundsBest Integer Bounds

Upper LowerUpper Lower

AcknowledgementChannel'SAAcknowledgementChannel'SA 1 1 1 11 1

MessageChannel'SP 1 MessageChannel'SP 1 1 11 1

Receiver'NextBitRec 1 Receiver'NextBitRec 1 1 11 1

Sender'NextBitSend 1 Sender'NextBitSend 1 1 11 1

Sender'Send 1 Sender'Send 1 8 88 8

REPORTREPORT

QuitQuit

BOUNDEDNESS PROPERTIESBOUNDEDNESS PROPERTIES BOUNDEDNESS PROPERTIESBOUNDEDNESS PROPERTIES

Best Integer BoundsBest Integer Bounds

Upper LowerUpper Lower

Top'A Top'A 11 1 11 1

Top‘Top‘ΒΒ 11 1 11 1

Top'C 1 Top'C 1 1 11 1

Top‘D 1 Top‘D 1 1 11 1

Top'Received 1 Top'Received 1 11 11

REPORTREPORT

QuitQuit

REPORT

HOME PROPERTIESHOME PROPERTIES HOME PROPERTIESHOME PROPERTIES

Home Markings [554]

To Marking 554 είναι το επιθυμητό final marking, όπου όλα τα πακέτα έχουν ληφθεί στη σωστή σειρά.

QuitQuit

REPORT

HOME PROPERTIESHOME PROPERTIES HOME PROPERTIESHOME PROPERTIES

QuitQuit

REPORT

LIVENESS PROPERTIESLIVENESS PROPERTIES LIVENESS PROPERTIESLIVENESS PROPERTIES

To Marking 554 είναι το μοναδικό dead marking To πρωτόκολλο είναι μερικώς ορθό. Αν η

εκτέλεση σταματήσει, σταματά στο επιθυμητό final marking

Dead Markings [554]

QuitQuit

REPORT

LIVENESS PROPERTIESLIVENESS PROPERTIES LIVENESS PROPERTIESLIVENESS PROPERTIES

To Marking 554 είναι home marking Πάντα υπάρχει η δυνατότητα για σωστό

τερματισμό. Είναι αδύνατο να φτάσουμε σε μία κατάσταση, από την οποία δεν μπορούμε να φτάσουμε στο final marking

Dead Markings [554]

QuitQuit

REPORT

LIVENESS PROPERTIESLIVENESS PROPERTIES LIVENESS PROPERTIESLIVENESS PROPERTIES

Kάθε μετάβαση είναι ενεργοποιημένη σε τουλάχιστον ένα προσιτό μαρκάρισμα

Dead Transition Instances: None

QuitQuit

REPORT

LIVENESS PROPERTIESLIVENESS PROPERTIES LIVENESS PROPERTIESLIVENESS PROPERTIES

Μια διαρκής μετάβαση είναι μια μετάβαση η οποία πάντα μπορεί να ενεργοποιηθεί άλλη μια φορά

Live Transition Instances: None

Όταν υπάρχουν νεκρά μαρκαρίσματα, δεν μπορούν να υπάρχουν διαρκείς μεταβάσεις.

QuitQuit

REPORT

FAIRNESS PROPERTIESFAIRNESS PROPERTIES FAIRNESS PROPERTIESFAIRNESS PROPERTIES

AcknowledgementChannel'Transmit_Acknow 1 No Fairness

MessageChannel'Transmit_Packet 1 No Fairness

Receiver'Receive_Packet 1: No Fairness

Sender'Receive_Acknow 1: No Fairness

Sender'Send_Packet 1: Impartial

QuitQuit

REPORT

FAIRNESS PROPERTIESFAIRNESS PROPERTIES FAIRNESS PROPERTIESFAIRNESS PROPERTIES

Για το ABP είναι σημαντική η διασφάλιση της αμεροληψίας

Θέλουμε να διασφαλίσουμε την υπόθεση ότι αν το κάθε μήνυμα στέλνεται αρκούντως πολλές φορές, τελικά αυτό θα φθάνει στον προορισμό του

QuitQuit

REPORT

FAIRNESS PROPERTIESFAIRNESS PROPERTIES FAIRNESS PROPERTIESFAIRNESS PROPERTIES

Η μετάβαση Send_Packet είναι αμερόληπτη

Αν πάψει να εκτελείται, τότε το πρωτόκολλο, μετά από κάποια επιπρόσθετα βήματα, πρέπει να τερματίσει

Computers: Information Technology in PerspectiveBy Long and Long

Copyright 2002 Prentice Hall, Inc.

ΕΥΧΑΡΙΣΤΟΥΜΕ ΓΙΑ ΕΥΧΑΡΙΣΤΟΥΜΕ ΓΙΑ ΤΗΝ ΠΡΟΣΟΧΗ ΣΑΣΤΗΝ ΠΡΟΣΟΧΗ ΣΑΣ

Παρασκευή Παρασκευή 66//77/2007/2007

Μόκα Ευαγγελία 152Μόκα Ευαγγελία 152Μπελόγια Μπελόγια

Αικατερίνη 154Αικατερίνη 154

Τυπικές Μέθοδοι Τυπικές Μέθοδοι Ανάλυσης ΣυστημάτωνΑνάλυσης Συστημάτων

Υπεύθυνος :Υπεύθυνος :Κατσαρός ΠαναγιώτηςΚατσαρός Παναγιώτης

Τυπικές Μέθοδοι Τυπικές Μέθοδοι Ανάλυσης ΣυστημάτωνΑνάλυσης Συστημάτων

Υπεύθυνος :Υπεύθυνος :Κατσαρός ΠαναγιώτηςΚατσαρός Παναγιώτης