{[ promptMessage ]}

Bookmark it

{[ promptMessage ]}

Lecture08 - Thursday April 24 Midte#1 rm S core will...

Info icon This preview shows pages 1–10. Sign up to view the full content.

View Full Document Right Arrow Icon
1 Thursday, April 24 Midterm #1 Scores will be posted soon Lab #3 Report is due Friday, May 2 See lab schedule / signup Homework #2 Posted Hardcopy dueThursday, May 1 (BOC) Program #1 Definition is posted Only one partnership? Due Friday, May 9
Image of page 1

Info icon This preview has intentionally blurred sections. Sign up to view the full version.

View Full Document Right Arrow Icon
2 Today’s topics ReliableData Transport TCP Sub-protocols Stop-and-Wait Sliding-Window
Image of page 2
3 Principles of Reliable data transfer important in app., transport, link layers top-10 list of important networking topics! characteristics of unreliable channel will determine complexity of reliable data transfer protocol (rdt)
Image of page 3

Info icon This preview has intentionally blurred sections. Sign up to view the full version.

View Full Document Right Arrow Icon
4 Principles of Reliable data transfer important in app., transport, link layers top-10 list of important networking topics! characteristics of unreliable channel will determine complexity of reliable data transfer protocol (rdt)
Image of page 4
5 Reliable data transfer: getting started send side receive side rdt_send(): called fromabove, (e.g., by app.). Passed data to deliver to receiver upper layer udt_send(): called by rdt, to transfer packet over unreliablechannel to receiver rdt_rcv(): called when packet arrives on rcv-sideof channel deliver_data(): called by rdt to deliver data to upper layer
Image of page 5

Info icon This preview has intentionally blurred sections. Sign up to view the full version.

View Full Document Right Arrow Icon
6 Reliable data transfer: getting started Wewill: incrementally develop sender, receiver sides of reliabledata transfer protocol (rdt) start with “stop-and-go” model consider only unidirectional data transfer but control info will flow on both directions usefinitestatemachines (FSM) to specify sender, receiver state 1 state 2 event causing statetransition actions taken on statetransition state: when in this “state” next stateuniquely determined by next event event actions
Image of page 6
7 rdt1.0: reliabletransfer over a reliablechannel underlying channel perfectly reliable no bit errors no loss of packets separate FSMs for sender, receiver: sender sends data into underlying channel receiver read data from underlying channel Wait for call from above packet = make_pkt(data) udt_send(packet) rdt_send(data) extract (packet,data) deliver_data(data) Wait for call from below rdt_rcv(packet) sender receiver
Image of page 7

Info icon This preview has intentionally blurred sections. Sign up to view the full version.

View Full Document Right Arrow Icon
8 rdt2.0: channel with bit errors underlying channel may flip bits in packet checksum to detect bit errors the question: how to recover from errors: acknowledgements: positiveack ( ACK ): receiver tells sender that pkt received OK negativeack ( NAK ): receiver tells sender that pkt had errors retransmission : sender retransmits pkt on receipt of NAK new mechanisms in rdt2.0 (beyond rdt1.0 ): error detection receiver feedback: control msgs (ACK,NAK) rcvr->sender
Image of page 8
9 rdt2.0: FSM specification Wait for call from above sndpkt = make_pkt(data, checksum) udt_send(sndpkt) rdt_rcv(rcvpkt) && isACK(rcvpkt) udt_send(sndpkt) rdt_rcv(rcvpkt) && isNAK(rcvpkt) Wait for ACK or NAK sender
Image of page 9

Info icon This preview has intentionally blurred sections. Sign up to view the full version.

View Full Document Right Arrow Icon
Image of page 10
This is the end of the preview. Sign up to access the rest of the document.

{[ snackBarMessage ]}