Consider two network entities. A and B. which are connected by a perfect hi-directional channel (i.e., any

Question:

Consider two network entities. A and B. which are connected by a perfect hi-directional channel (i.e., any message sent will he received correctly: the channel will not corrupt, lose, or re-order packets). A and B are to deliver data messages to each other in an alternating manner: First. A must deliver a message to B, then B must deliver a message to A, then A must deliver a message to B and so on. If an entity is in a state where it should not attempt to deliver a message to the other side, and there is an event like rdt_ send (data) call from above that attempts to pass data down for transmission to the other side, this call from above can simply he ignored with a call to rdt_unable_to_send (data), which informs the higher layer that it is currently not able to send data. [This simplifying assumption is made co you don€™t have to worry about buffering (data) Draw a FSM specification for this protocol (one FSM for A, and one FSM for B!). Note that you do not have to worry about a reliability mechanism here; the main point of this question is to create a FSM specification that reflects the synchronized behavior of the two entities. You should use the Following events and actions that have the same meaning as protocol rdtl.0 in Figure 3.9: rdt_send(data), packet make_pkt (data), udt_send (packet), rdt_rcv (packet). extract (packet, data), deliver_data (data). Make sure your protocol reflects the strict alter nation of sending between A and B. Also, make sure to indicate the initial states for A and B in your FSM descriptions.


Figure 3.9

rdt_send (data) Wait for call from packet=make_pkt (data) udt_send (packet) above a. rdt1.0: sending side rdt_rev(packet

Fantastic news! We've Found the answer you've been seeking!

Step by Step Answer:

Related Book For  book-img-for-question
Question Posted: