500 likes | 665 Views
Transport Layer. The most visible layer to application designers. The service of the transport layer is to provide a virtual end-to-end
E N D
1. CPSC441
2. In order to implement this algorithm we had to address these six issues.
In order to implement this algorithm we had to address these six issues.
3. In order to implement this algorithm we had to address these six issues.
In order to implement this algorithm we had to address these six issues.
4. OSI Model versus TCP/IP
5. In order to implement this algorithm we had to address these six issues.
In order to implement this algorithm we had to address these six issues.
6. In order to implement this algorithm we had to address these six issues.
In order to implement this algorithm we had to address these six issues.
7. In order to implement this algorithm we had to address these six issues.
In order to implement this algorithm we had to address these six issues.
8. In order to implement this algorithm we had to address these six issues.
In order to implement this algorithm we had to address these six issues.
9. Nesting of Transport Protocol Data Unit (TPDU), packets, and frames.
10. Connection Establishment How a user process in host 1 establishes a connection with a time-of-day server in host 2.
11. Transport Service Primitives The primitives for a simple transport service.
12. Transport Service Primitives The primitives for a simple transport service.
13. Connection Establishment (3)
14. Connection Release (3) Four protocol scenarios for releasing a connection. (a) Normal case of a three-way handshake. (b) final ACK lost.
15. In order to implement this algorithm we had to address these six issues.
In order to implement this algorithm we had to address these six issues.
16. TCP/IP Protocols TCP (Transmission Control Protocol) ? reliable, connection-oriented, error-free byte stream delivering; handles flow control (Metaphor: phone system)
UDP (User Datagram Protocol) ? unreliable, connectionless; No TCP’s flow control; applications where prompt delivery more important than accurate delivery (speech, video, …)
(Metaphor: postal service)
17. In order to implement this algorithm we had to address these six issues.
In order to implement this algorithm we had to address these six issues.
18. In order to implement this algorithm we had to address these six issues.
In order to implement this algorithm we had to address these six issues.
19. Remote Procedure Call (RPC)
20. The Real-Time Transport Protocol (a) The position of RTP in the protocol stack. (b) Packet nesting.
21. In order to implement this algorithm we had to address these six issues.
In order to implement this algorithm we had to address these six issues.
22. In order to implement this algorithm we had to address these six issues.
In order to implement this algorithm we had to address these six issues.
23. In order to implement this algorithm we had to address these six issues.
In order to implement this algorithm we had to address these six issues.
24. In order to implement this algorithm we had to address these six issues.
In order to implement this algorithm we had to address these six issues.
25. In order to implement this algorithm we had to address these six issues.
In order to implement this algorithm we had to address these six issues.
27. TCP Connection Establishment (a) TCP connection establishment in the normal case.
(b) Call collision.
28. TCP Connection Management Modeling The states used in the TCP connection management finite state machine.
29. TCP Connection Management Modeling
30. TCP Transmission Policy Window management in TCP.
31. In order to implement this algorithm we had to address these six issues.
In order to implement this algorithm we had to address these six issues.
32. In order to implement this algorithm we had to address these six issues.
In order to implement this algorithm we had to address these six issues.
33. In order to implement this algorithm we had to address these six issues.
In order to implement this algorithm we had to address these six issues.
34. In order to implement this algorithm we had to address these six issues.
In order to implement this algorithm we had to address these six issues.
35. In order to implement this algorithm we had to address these six issues.
In order to implement this algorithm we had to address these six issues.
36. In order to implement this algorithm we had to address these six issues.
In order to implement this algorithm we had to address these six issues.
37. In order to implement this algorithm we had to address these six issues.
In order to implement this algorithm we had to address these six issues.
38. In order to implement this algorithm we had to address these six issues.
In order to implement this algorithm we had to address these six issues.
39. In order to implement this algorithm we had to address these six issues.
In order to implement this algorithm we had to address these six issues.
40. In order to implement this algorithm we had to address these six issues.
In order to implement this algorithm we had to address these six issues.
41. In order to implement this algorithm we had to address these six issues.
In order to implement this algorithm we had to address these six issues.
42. TCP Flow control versus Congestion Control
43. Slow Start Initial CW = 1.
After each ACK, CW += 1;
Continue until:
Loss occurs OR
CW > slow start threshold
Then switch to congestion avoidance
If we detect loss, cut CW in half
Exponential increase in window size per RTT
44. Congestion Avoidance
45. How are losses recovered? Say packet is lost (data or ACK!)
Coarse-grained Timeout:
Sender does not receive ACK after some period of time
Event is called a retransmission time-out (RTO)
RTO value is based on estimated round-trip time (RTT)
RTT is adjusted over time using exponential weighted moving average:
RTT = (1-x)*RTT + (x)*sample
(x is typically 0.1)
First done in TCP Tahoe
46. Fast Retransmit Receiver expects N, gets N+1:
Immediately sends ACK(N)
This is called a duplicate ACK
Does NOT delay ACKs here!
Continue sending dup ACKs for each subsequent packet (not N)
Sender gets 3 duplicate ACKs:
Infers N is lost and resends
3 chosen so out-of-order packets don’t trigger Fast Retransmit accidentally
Called “fast” since we don’t need to wait for a full RTT
47. Other loss recovery methods Selective Acknowledgements (SACK):
Returned ACKs contain option w/SACK block
Block says, "got up N-1 AND got N+1 through N+3"
A single ACK can generate a retransmission
New Reno partial ACKs:
New ACK during fast retransmit may not ACK all outstanding data. Ex:
Have ACK of 1, waiting for 2-6, get 3 dup acks of 1
Retransmit 2, get ACK of 3, can now infer 4 lost as well
Other schemes exist (e.g., Vegas)
Reno has been prevalent; SACK now catching on
48. TCP Timer Management (a) Probability density of ACK arrival times in the data link layer.
(b) Probability density of ACK arrival times for TCP.
49. Wireless TCP and UDP Splitting a TCP connection into two connections.