Principles of Reliable data transfer important in app.,transport,link layers top-10 list of important networking topics! sending receiver process process 8 data data reliable channel JeAb (a)provided service characteristics of unreliable channel will determine complexity of reliable data transfer protocol(rdt) Transport Layer 3-21
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)
Principles of Reliable data transfer important in app.,transport,link layers top-10 list of important networking topics! O 西 sendina receiver process process data data reliable channel Lunreliable channel) (a)provided service (b)service implementation characteristics of unreliable channel will determine complexity of reliable data transfer protocol(rdt) Transport Layer 3-22
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)
Principles of Reliable data transfer important in app.,transport,link layers top-10 list of important networking topics! sending receiver process process 8 data data )reliable channel rdt_send (data] data]deliver data() reliable data JeAb reliable data transfer protoco fransfer profocol (sending side) (receiving side) udt_send()f packet packet rdt rev() Ounreliable channel) (a)provided service (b)service implementation characteristics of unreliable channel will determine complexity of reliable data transfer protocol(rdt) Transport Layer 3-23
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)
Reliable data transfer:getting started rdt send():called from above, deliver data():called by (e.g.,by app.).Passed data to rdt to deliver data to upper deliver to receiver upper layer rdt send() data data deliver data() send reliable data reliable data receive side transfer protocol transfer protocol (sending side) (receiving side) side udt send() packet packet rdt rcv() lunreliable channel udt send():called by rdt, rdt rev():called when packet to transfer packet over arrives on rcv-side of channel unreliable channel to receiver Transport Layer 3-24
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
Reliable data transfer:getting started We'll: incrementally develop sender,receiver sides of reliable data transfer protocol(rdt) consider only unidirectional data transfer o but control info will flow on both directions! use finite state machines(FSM)to specify sender,receiver event causing state transition actions taken on state transition state:when in this "state"next state state state uniquely determined event 2 by next event actions Transport Layer 3-25
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 “state” next state uniquely determined by next event event actions