Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

The RDT 2.2 protocol (c). Consider the rdt 2.2 sender and receiver below, with FSM transitions labeled in red. Also consider the sender and receiver

The RDT 2.2 protocol (c). Consider the rdt 2.2 sender and receiver below, with FSM transitions labeled in red. Also consider the sender and receiver timeline following the FSMs, where a green OK label indicates a message that is not corrupted, and a red corrupt label indicates a message that is corrupted. We are interested in the sequence number (0 or 1) of a data message, and the ACK number (0 or 1) of an ACK message for the messages sent at t= 2, 3, 4, 5 in the figure below.

Which of the following sequences of interleaved data sequence numbers and ACK numbers corresponds to those in the messages sent at t=2 (data sequence number); t=3 (ACK number), t=4 (data sequence number), and t=5 (ACK number)? Only one sequence is correct.

Note: you can generate/solve/practice many similar instances of this question here.

1, 0, 0, 1

1, 0, 1, 0

1, 1, 0, 1

0, 0, 0, 0

0, 1, 1, 0

1, 1, 1, 0

1, 0, 1, 1

1, 1, 1, 1

image text in transcribed

image text in transcribed

SO rdt_send(data) sndpkt-make_pkt(0, data, checksum) udt_send(sndpkt) rdt_rev(revpkt) && (corrupt (revpkt) || iSACK (revpkt,1)) (S1 udt_send(sndpkt) Wait for call o from above Wait for rdt_rev (revpkt) && not corrupt (revpkt) && ISACK(revpkt, 1) A RDT 2.2 sender rdt_rev (revpkt) && notcorrupt (revpkt) && ISACK (revpkt,0) S2 A S5 Wait for ACK 1 Wait for call 1 from above rdt_rev(revpkt) && (corrupt (revpkt) || S4 SACK( revpkt,0)) udt_send(sndpkt) S3 rdt_send(data) sndpkt-make_pkt(1, data, checksum) udt_send(sndpkt) RO rdt_rev (revpkt) && notcorrupt (revpkt) && has_seq0 (revpkt) extract (revpkt, data) deliver_data (data) sndpkt-make_pkt(ACK, 0, checksum) rdt_rev (revpkt) && udt_send(sndpkt) (corrupt (revpkt) | R1 has_seq0(revpkt)) sndpkt-make_pkt(ACK, 0, checksum) udt_send(sndpkt) Wait for RDT 2.2 Wait for O from 1 from below receiver below rdt_rev (revpkt) && (corrupt (revpkt)! has_seql(revpkt)) (R3 sndpkt-make_pkt (ACK, 1, checksum) udt_send (sndpkt) R2 rdt_rev (revpkt) && notcorrupt (revpkt) && has_seql (revpkt) extract (revpkt, data) deliver_data (data) sndpkt=make_pkt(ACK,1, checksum) udt_send(sndpkt) sender receiver t = 0 AK data OK t = 1

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image

Step: 3

blur-text-image

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Recommended Textbook for

Modern Database Management

Authors: Jeff Hoffer, Ramesh Venkataraman, Heikki Topi

12th edition

133544613, 978-0133544619

More Books

Students also viewed these Databases questions

Question

How does studying website analytics allow a company perform better?

Answered: 1 week ago