41902 Lecture Notes - Tcp Congestion Control, Transmission Control Protocol, Buffer Overflow
Chapter 3.4: Principles of reliable data transfer
Principles of reliable data transfer:
• Reliable data transfer protocol (rdt)
• rdt 1.0: reliable data transfer over a reliable channel
• rdt 2.0: reliable data transfer over channel with bit errors
• rdt 2.1: discussion of sender and receiver, add sequence numbers
• rdt 2.2: NAK-free protocol
• rdt 3.0: channels with errors and loss
Chapter 3.5: Connection-oriented transport: TCP
Segment structure:
TCP: Overview
- Point to point: one sender, one receiver
- Reliable, in-ode te stea: o essage oudaies
- Pipelined: TCP congestion and flow control set window size
- Full Duplex data: bi-directional data flow in same connection. MSS (max segment size)
- Connection oriented: handshaking (exchange of control messages) initiates sender/receiver
state before data exchange
- Flow controlled: sender will not overwhelm receiver
TCP sequence numbers , ACK
- “euee ues: Bte stea ue of fist te i a seget’s data
- Acknowledgements: Sequence number of next byte expected from other size – cumulative
ACK
TCP round trip time, timeout
How to set TCP timeout value?
Longer than RTT (varies)
Too short (premature timeout, unnecessary retransmissions)
Too long (slow reaction to segment loss)
Sample RTT: measures time from segment transmission until ACK receipt, ignore retransmissions
Reliable data transfer:
TCP eates dt seie o top of IP’s ueliale seie
- pipelined segments, cumulative acks, single retransmission timer
Retransmissions are triggered by: timeout events and duplicate acknowledgements
Flow control:
An application may remove data from TCP socket buffers slow than TCP receiver is delivering (sender
is sending). Therefore, flow control in TCP is when the receiver can control the sender so the sender
o’t oeflo the eeie’s uffe tasittig too uh data too uikl.
find more resources at oneclass.com
find more resources at oneclass.com
Document Summary
Reliable, in-o(cid:396)de(cid:396) (cid:271)(cid:455)te stea(cid:373): (cid:374)o (cid:862)(cid:373)essage (cid:271)ou(cid:374)da(cid:396)ies(cid:863) Connection oriented: handshaking (exchange of control messages) initiates sender/receiver. Pipelined: tcp congestion and flow control set window size. Full duplex data: bi-directional data flow in same connection. Mss (max segment size) state before data exchange. E(cid:395)ue(cid:374)(cid:272)e (cid:374)u(cid:373)(cid:271)e(cid:396)s: b(cid:455)te st(cid:396)ea(cid:373) (cid:862)(cid:374)u(cid:373)(cid:271)e(cid:396)(cid:863) of fi(cid:396)st (cid:271)(cid:455)te i(cid:374) a seg(cid:373)e(cid:374)t"s data. Acknowledgements: sequence number of next byte expected from other size cumulative. Sample rtt: measures time from segment transmission until ack receipt, ignore retransmissions. Tcp (cid:272)(cid:396)eates (cid:396)dt se(cid:396)(cid:448)i(cid:272)e o(cid:374) top of ip"s u(cid:374)(cid:396)elia(cid:271)le se(cid:396)(cid:448)i(cid:272)e. Pipelined segments, cumulative acks, single retransmission timer. Retransmissions are triggered by: timeout events and duplicate acknowledgements. An application may remove data from tcp socket buffers slow than tcp receiver is delivering (sender is sending). Therefore, flow control in tcp is when the receiver can control the sender so the sender (cid:449)o(cid:374)"t o(cid:448)e(cid:396)flo(cid:449) the (cid:396)e(cid:272)ei(cid:448)e(cid:396)"s (cid:271)uffe(cid:396) (cid:271)(cid:455) t(cid:396)a(cid:374)s(cid:373)itti(cid:374)g too (cid:373)u(cid:272)h data too (cid:395)ui(cid:272)kl(cid:455).