Stack Processing Algorithm for Go Back N protocol Team Members: Vinti (vv2236) Garvit Singh (gs2731) Pramod Nayak (ppn2106) Vidhatre Gathey (vvg2111) Contents Introduction: Go back N protocol Algorithm Software Modules Terminating Conditions Go Back N EFSM Assumptions Go Back N protocol Allow multiple packets in transmission so that the line isn’t idle in networks with long delays Accept all packets in proper order If packet ‘i’ lost, Transmitter sends ‘i+1’ and receiver receives ‘i+1’ out of order and rejects it After time out, Transmitter must go back and retransmit the lost frame and subsequent frames Stack Processing and Probabilistic Search Form probabilistic search tree, create a push down pop up Place state with lowest probability at the bottom of the stack At each new step, pop the top most sequence If a low probability event leads to this state, increase the probability by 1 Software Modules Modular approach used to develop the software for portability to any EFSM. Software verified using ARQ protocol first. EFSM states and transition saved in the header file. For a new protocol, only the header file needs to be updated. Implementation done in C++, <stack> class used to implement the stack. Algorithm Flow Chart Terminating Conditions Check for incorrect service sequence, if there is one, stop Check the probability of the top most element poped from the stack. P = pow(0.0001, probability.top()) If P < 10-16, stop GBN Transmitter Si Sw Timeout T T nx<Nx a<bi F F T SF F a>bi+ w GBN Receiver Si Re = 0 Sw F Output = 0 M=Re T Re= Re+1 Output = Ack(Re) Probabilistic Search Assumptions If the receiver receives a message it is not expecting, it does nothing Sender goes into state of failure if it receives Ack of a packet less than the base address. The number of retransmissions by sender after timeout is limited , once the limit is hit, it goes into a state of failure A simplified sequencing of the analysis has been considered Thank You !