Reliable data transfer over a perfectly reliable channel rdt 1.0
First all consider the simplest care in which the underlying channel perfectly reliable. The protocols itself which in trivia. The finite state machine definition for the rdt 1.0 sender and receiver are shown in the FSM in defines the operation of the sender while the s FSM defines the operation of the defines receiver. It is important to note that there are separate FSM for the sender and of the receiver. The sender an deceiver FSM in figure each have just one state. The arrows in the FSM description indicate the transition of the protocols from one state to another. The event causing the transition is shown above the horizontal line labelling the transition and the actions taken when the event occurs are shown below the horizontal lien when no action is taken on an event or no event occurs and an action is taken we use the symbol a below or above the horizontal respectively to explicitly denote the lack of an action or event. The initial state of the FSM is indicated by the dashed arrow.
Figure rdt a protocol for a completely reliable channel
The sending side of rdt simply accepts data from the upper layer via the rdt send event, creates a packet containing the data and sends the packet into the channel. The rdt send event would result form procedure call by the upper layer application.
On the receiving side rdt receives a packet from the underlying channel via the rdt _rev event removes tha data from the packet and passes the data up to the upper layer. The rdt_ rcv event would result from a procedure call event from the lower layer protocols.
In this protocols there is no difference between a unit of data and a packet. Also all packet flow is from the sender to receiver with a perfectly reliable channel there is no need for the receiver side to provide any feedback to the sender.