lec10b - Transport Layer 3-21 Principles of Reliable data...

Info iconThis preview shows pages 1–9. Sign up to view the full content.

View Full Document Right Arrow Icon

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

View Full DocumentRight Arrow Icon

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

View Full DocumentRight Arrow Icon

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

View Full DocumentRight Arrow Icon

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

View Full DocumentRight Arrow Icon
This is the end of the preview. Sign up to access the rest of the document.

Unformatted text preview: Transport Layer 3-21 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) Transport Layer 3-22 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) Transport Layer 3-23 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) Transport Layer 3-24 Reliable data transfer: getting started send side receive side rdt_send(): called from above, (e.g., by app.). Passed data to deliver to receiver upper layer udt_send(): called by rdt, to transfer packet over unreliable channel to receiver rdt_rcv(): called when packet arrives on rcv-side of channel deliver_data(): called by rdt to deliver data to upper Transport Layer 3-25 Reliable data transfer: getting started We ` ll: ! incrementally develop sender, receiver sides of reliable data transfer protocol (rdt) ! consider only unidirectional data transfer " but control info will flow on both directions! ! use finite state machines (FSM) to specify sender, receiver state 1 state 2 event causing state transition actions taken on state transition state: when in this l state z next state uniquely determined by next event event actions Transport Layer 3-26 Rdt1.0: reliable transfer over a reliable channel ! 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 Transport Layer 3-27 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 (ACKs): receiver explicitly tells sender that pkt received OK " negative acknowledgements (NAKs): receiver explicitly tells sender that pkt had errors " 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 How do humans recover from l errors z during conversation? Transport Layer 3-28 Rdt2.0: channel with bit errors ! underlying channel may flip bits in packet...
View Full Document

Page1 / 28

lec10b - Transport Layer 3-21 Principles of Reliable data...

This preview shows document pages 1 - 9. Sign up to view the full document.

View Full Document Right Arrow Icon
Ask a homework question - tutors are online