1 / 50

CPSC441

Transport Layer. The most visible layer to application designers. The service of the transport layer is to provide a virtual end-to-end

nadda
Download Presentation

CPSC441

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


    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.

More Related