Page 118 - DCAP406_DCAP_207_Computer Networks
P. 118
Unit 8: Data Link Protocols
have more than one outstanding frame at a time and destination node to accept out of order Notes
frames and store them in its window.
In Selective Repeat scheme, time-outs, loop iterations and retransmissions are all the same as Go
Back N except that the source node retransmits the corresponding frame identified by the not
acknowledgement but not all subsequent frames. Hence, the destination node that keeps a
window of frames, it requires only to retransmit the timed out frame but not the whole series.
At the receiving end, the destination node waits until a frame arrives. In case of damaged frame,
timeout frames or an out of sequence frame arriving, a not acknowledgement is sent for the
expected sequence number. If there is empty slot in the buffer of a destination machine, a packet
is stored in the correct slot and the slot is flagged as used. If all slots are full the packet is passed
to the network layer with a flag set to transmit an acknowledgement and the buffer slot is reset
to empty. This increases the upper bound of the window and the lower bound for expected
frame is circularly incremented. Subsequent to this, it loops back to find out the buffer slot for
expected sequence number. The loop continues until the expected slot is empty. Thus, all packets
available in buffer are passed to the network layer in order.
Notes The Selective Repeat protocol is more difficult to implement than other types of
protocols as given above.
In this case, the sequence numbers are kept greater than the window size to avoid overlap in the
window. This enables source and destination machine to be in synchronization even when
frames and acknowledgements are lost at a very high rate. Thus, enhanced buffering and
acknowledgements allow this protocol to easily handle congestion, damaged frames and lost
frames. It also calls for a much higher timeout value as compared to Go Back N in order to reduce
the number of frames sent. If a lower timeout value is kept, it will call for too many frames for
retransmission unnecessarily.
8.3 Protocol Verification
Protocols are a set of rules, which govern the exchange of messages between two nodes or
processes to provide a particular set of services to its local protocol layers above and to furnish
a set of logical rules or protocols to its remote peer machines. Protocols are verified either
during the design phase before implementation of the system or during the testing and simulation
phase after implementation of the system. The design verification is considered to reduce the
cost of protocol development and testing. Design verification divides the work into two tasks.
They are service-specification verification and protocol specification verification. The protocol
specification verification attempts to detect the existence of logic errors in the protocol design.
Interaction and concurrency are two major components of any multi-process local or distributed
systems. Interaction is coordination or synchronization among processes. Concurrency is
parallelism between different processes. In other words, concurrency is the execution of processes
in a multi process local or distributed system simultaneous and independent from any other
processes in the same system.
Finite State Machine Models
In the Finite State Machine (FSM) model, each process has a communicating finite state machine
or a directed labeled graph. The directed labeled graph has nodes and edges to represent states
and transitions respectively. A message transmission transition is indicated by a “-” (minus
LOVELY PROFESSIONAL UNIVERSITY 111