Probabilistic Search Verification of the Go-Back-N Protocol Adeyemi Aladesawe Annjana Ramesh Lingxue Li Nanjun Lu.

Slides:



Advertisements
Similar presentations
Data Link Layer Protocols Flow Control in Data Link Layer.
Advertisements

Assume that a file is transferred from a node A to a node B. The file has been fragmented in 5 frames. Frame 0 is corrupted, the ACK of frame 1 is corrupted,
Go-Back-N Improve Stop-and-Wait by not waiting!
Chapter 11 Data Link Control
Data link control. Data Link Control –Flow Control how much data may sent –Error Control How can error be detected and corrected.
11-5 NOISY CHANNELS Although the Stop-and-Wait Protocol gives us an idea of how to add flow control to its predecessor, noiseless channels are nonexistent.
11.1 Chapter 11 Data Link Control Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
TCP: flow and congestion control. Flow Control Flow Control is a technique for speed-matching of transmitter and receiver. Flow control ensures that a.
Principles of Reliable Data Transfer. Reliable Delivery Making sure that the packets sent by the sender are correctly and reliably received by the receiver.
CS3502: Data and Computer Networks DATA LINK LAYER - 2 WB version.
CS 4396 Computer Networks Lab
Data Link Control Protocols
Data Link Control Protocols Dr. Muazzam A. Khan. Flow Control Ensuring the sending entity does not overwhelm the receiving entity —Preventing buffer overflow.
McGraw-Hill©The McGraw-Hill Companies, Inc., 2004 Chapter 11 Data Link Control Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction.
11.1 Chapter 11 Data Link Control Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
Exercises. Problem 1 The link delay is 270ms. Each data frame is 1000 bits. Data rate is 1Mbps. What is the link efficiency of the Stop&Wait protocol?
3: Transport Layer 3a-1 8: Principles of Reliable Data Transfer Last Modified: 10/15/2015 7:04:07 PM Slides adapted from: J.F Kurose and K.W. Ross,
TCP1 Transmission Control Protocol (TCP). TCP2 Outline Transmission Control Protocol.
McGraw-Hill©The McGraw-Hill Companies, Inc., 2004 Data Link Control and Protocols.
11.1 Chapter 11 Data Link Control Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
Chapter 5 Peer-to-Peer Protocols and Data Link Layer PART I: Peer-to-Peer Protocols ARQ Protocols and Reliable Data Transfer Flow Control.
1 Transport Layer Lecture 10 Imran Ahmed University of Management & Technology.
Error/Flow Control Modeling (ARQ Modeling). Modeling of Go Back N.
1 TCP III - Error Control TCP Error Control. 2 ARQ Error Control Two types of errors: –Lost packets –Damaged packets Most Error Control techniques are.
Eighth Edition by William Stallings Chapter 7 – Data Link Control Protocols Data Link Control Protocols need layer of logic above Physical to manage exchange.
Chapter 3: Channel Coding (part 3). Automatic repeat request (ARQ) protocols ▫Used in combination with error detection/correction ▫Block of data with.
TCP OVER ADHOC NETWORK. TCP Basics TCP (Transmission Control Protocol) was designed to provide reliable end-to-end delivery of data over unreliable networks.
Transport Layer: Sliding Window Reliability
Lecture Focus: Data Communications and Networking  Data Link Layer  Data Link Control Lecture 22 CSCS 311.
Stack Processing Algorithm for Go Back N protocol Team Members: Vinti (vv2236) Garvit Singh (gs2731) Pramod Nayak (ppn2106) Vidhatre Gathey (vvg2111)
Data Link Layer Flow and Error Control. Flow Control Flow Control Flow Control Specifies the amount of data can be transmitted by sender before receiving.
© Janice Regan, CMPT 128, CMPT 371 Data Communications and Networking Principles of reliable data transfer 0.
COSC 3213: Computer Networks I Instructor: Dr. Amir Asif Department of Computer Science York University Section M Topics: 1.Flow Control and ARQ Protocols.
1 Flow&Error Control R. Supakorn. 2 Flow Control Flow control refers to a set of procedure used to restrict the amount of data that the sender can send.
Chapter 11 Data Link Control.
Probabilistic Verification Tong Wang tw2436 Yihan Zou yz2575 Hang Yin hy2368 Miaoqiong Wang mw2908 of Go-Back-N.
Formal Methods Project Design Yuanhui Luo yl3026, Ziwei Zhang zz2282, Yih-Nin Lai yl3030, Zhen Qiu zq2130.
Data Link Layer. Data link layer The communication between two machines that can directly communicate with each other. Basic property – If bit A is sent.
Part III. Data Link Layer Chapter 11. Data Link Control COMP 3270 Computer Networks Computing Science Thompson Rivers University.
Chi-Cheng Lin, Winona State University CS412 Introduction to Computer Networking & Telecommunication Data Link Layer Part II – Sliding Window Protocols.
Transmission Control Protocol (TCP) TCP Flow Control and Congestion Control CS 60008: Internet Architecture and Protocols Department of CSE, IIT Kharagpur.
Formal Methods Project Design Yuanhui Luo yl3026, Ziwei Zhang zz2282, Yih-Nin Lai yl3030, Zhen Qiu zq2130.
DATA LINK CONTROL. DATA LINK LAYER RESPONSIBILTIES  FRAMING  ERROR CONTROL  FLOW CONTROL.
Computer Networking Lecture 16 – Reliable Transport.
Ch 3. Transport Layer Myungchul Kim
NET 222: COMMUNICATIONS AND NETWORKS FUNDAMENTALS ( NET 222: COMMUNICATIONS AND NETWORKS FUNDAMENTALS (PRACTICAL PART) Tutorial 4 : Chapter 7 Data & computer.
Data Link Layer.
Chapter 3: The Data Link Layer –to achieve reliable, efficient communication between two physically connected machines. –Design issues: services interface.
PROTOCOL BASICS. 2 Introduction In chapter 3: Circuits and techniques can be employed to transmit a frame of information between 2 DTEs Error detection.
Fast Retransmit For sliding windows flow control we waited for a timer to expire before beginning retransmission of a packet TCP uses an additional mechanism.
Reliable Transmission
Data Link Layer Flow Control.
March 21, 2001 Recall we have talked about the Sliding Window Protocol for Flow Control Review this protocol A window of size I can contain at most I.
Part III Datalink Layer 10.
Chapter 11 Data Link Control
Chapter 23 Introduction To Transport Layer
Chapter 11 Data Link Control
Data Communications and Networking Pipelined reliable data transfer
CMPT 371 Data Communications and Networking
Chapter 3 Data Link Layer.
TCP - Part II Relates to Lab 5. This is an extended module that covers TCP flow control, congestion control, and error control in TCP.
Data Link Layer: Data Link Control
CS4470 Computer Networking Protocols
Sliding Window Protocol
Advanced Computer Networks
Chapter 11 Data Link Control
Probabilistic Search Verification of the Go-Back-N Protocol
Chapter 5 Peer-to-Peer Protocols and Data Link Layer
Lecture 4 Peer-to-Peer Protocols and Data Link Layer
Presentation transcript:

Probabilistic Search Verification of the Go-Back-N Protocol Adeyemi Aladesawe Annjana Ramesh Lingxue Li Nanjun Lu

Agenda Algorithm Assumptions Stopping Procedure Tests to verify Where we went wrong/What we did right What we would do differently

Algorithm At every state, there can be up to two packets- a message on the forward channel and an ACK on the reverse channel. When a message is lost at the initial state, there can be no ACK on the reverse channel. Transition of states take place depending on whether a message/ack/both are lost/received.

Assumptions Tuple observed includes:  Sender state The oldest message yet to be acknowledged  Receiver state The expected message number  Message no. on forward channel  Acknowledgment no. on reverse channel The no. of message expected by the receiver  Window size  Probability level  Service Sequence

Assumptions Message/Acknowledgement placed on the channel is received or lost by the receiver/sender in one state transition There are two conditions on the duplex channel  Only a message on the forward channel  Message on the forward, Ack on the reverse If message only, it can either be received or lost If both message and ack, then:  Message and ack can be lost  Message can be lost, ack can be received  Message can be received, ack can be lost  Message and ack can be received

Assumption If only one loss condition (message or ack), we drop down one probability level If both message and ack lost, we drop down two probability level The message processing time at the receiver is negligible Cumulative acknowledgement is used

Stopping Procedure On each probability level, we stop when we successfully send 1 message after 3 message losses (based on the problem statement of considering up to 3 message loss) This is because the sequence will successfully repeat henceforth

Test cases Case 1: If receiver is expecting M1, and the sender sends M2 or any other message>1, it immediately discards it. Where as, if receiver is expecting M1 (meaning M0 was received and acknowledged), and the sender sends M0, the receiver sends A1 again, thereby letting the sender know to send M1.

Test cases Case 2: In case of message loss, the sender should not retransmit any message until the entire window has been exhausted. That is say M1 is lost (Window size will be 3 minus 1=2), therefore, this M1 cannot be resent until M2 and M3 are sent (which will be discarded by the receiver as verified in Case 1). We have checked all our states for this possibility, and retransmissions occur only after the current window has been exhausted.

What we did wrong When 3 messages (including acks) are lost, the protocol stops as we are asked to design an algorithm up to 3 packet losses on the channel. But, when there are 2 successes, followed by 1 failure, and then another success, the probability level goes back to 0. So 3 consecutive losses are identified. * We could have avoided this by not including the probability level in each state

What we did wrong -The modeling of the States -We wrongly modeled the state as being the message number waiting to be acknowledged or message number being expected at the receiver -The modeling of the Sender state -Timeouts and Receipt of acknowledgement can happen concurrently while a message is being transmitted on the forward channel. We did not capture this in our model. Each event should be modeled as sub-machines having its own state -We wrongly model the state as message waiting to be acknowledged.

What we did wrong -The Stopping procedure -We wrongly assume that the receiver can differentiate between messages if received out of order, and did not include this as one of the test objectives -We considered a minimal number of possibilities that can realistically happen on the channel. -We assumed that the messages all travel through the same connection and have the same propagation time

What we will do differently -Model the states independently of the message or acknowledgement numbers -The Sender state will be 3-tupled, consisting the timeout machine state, the Ack receive state and the Message sending state -The test will stop only at the point when there is no reference to a message number still waiting to be acknowledged or received (when messages on the channel have been successfully sent and received

What we will do differently -The test will involve all possible combinations of messages on the channel for as many as 3 message loss on it. -Create modulus and real numbered fields to verify that the messages can be distinguished at the receiver - We could have on the forward channel: M0 M1 M2 M3.. M1 M2 M3 M0.. M2 M3 M0 M1.. M3 M0 M1 M2

Project split up Member - Assignment Lingxue – State transition diagram Adeyemi – Pseudo code/algorithm for the program Annjana – Program Nanjun - Table