tcp part 1 l.
Skip this Video
Loading SlideShow in 5 Seconds..
TCP (Part 1) PowerPoint Presentation
Download Presentation
TCP (Part 1)

Loading in 2 Seconds...

play fullscreen
1 / 28

TCP (Part 1) - PowerPoint PPT Presentation

  • Uploaded on

TCP (Part 1). - Reliable Stream Transport Service. D.E. Comer “Internetworking with TCP/IP: Principles, Protocols and Architectures”, Ch. 13, Prentice Hall, 2000 Presented by Ming Su. Content. TCP Introduction Issue in TCP --- Flow Control Sliding window protocol

I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
Download Presentation

PowerPoint Slideshow about 'TCP (Part 1)' - weylin

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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
tcp part 1

TCP (Part 1)

- Reliable Stream Transport Service

D.E. Comer “Internetworking with TCP/IP: Principles, Protocols and Architectures”, Ch. 13, Prentice Hall, 2000

Presented by Ming Su

  • TCP Introduction
  • Issue in TCP --- Flow Control
    • Sliding window protocol
    • TCP acknowledgement scheme
    • TCP segment
    • TCP timeout
  • Summary
introduction tcp
Introduction - TCP
  • TCP
    • Transmission Control Protocol
    • TCP is not a software
  • Purpose
    • Providing reliable stream delivery
    • Isolating application programs from the details of networking
tcp conceptual layering
TCP Conceptual Layering


Reliable Stream (TCP)

User Datagram (UDP)

Internet (IP), ICMP

Network Interface

properties of the reliable delivery service
Properties of the reliable delivery service
  • Stream Orientation
    • data as a stream of bits, divided into 8-bit octets
  • Virtual Circuit Connection
  • Buffered Transfer
    • transfer more efficiently & minimize network traffic
  • Unstructured Stream
  • Full Duplex Connection
    • Two-way connection
two issues in tcp
Two issues in TCP
  • Flow Control
    • End-to-end flow control problem
    • Congestion control problem
  • Virtual Circuit Connection
flow control sliding window protocol
Flow Control

- Sliding window protocol

end to end flow control
End-to-end flow control
  • Problem
    • Sender can send more traffic that receiver can handle. (Too fast)
  • Solution
    • variable sliding window protocol

each acknowledgement, which specifies how many octets have been received, contains a window advertisement that specifies how many additional octets receiver are prepared to accept.

variable window size
Variable Window Size

Window Advertisement



sliding window protocol in tcp
Sliding window protocol in TCP
  • TCP allows the window size to vary over time.
  • Window size changes at the time it slides forward.
  • Advantage: it provides flow control as well as reliable transfer.
flow control tcp acknowledgement scheme
Flow Control

- TCP acknowledgement scheme

acknowledgements and retransmission
Acknowledgements and Retransmission
  • Cumulative acknowledgement scheme is used in TCP.
  • A TCP ACK specifies “the sequence number of the next octet that the receiver expects to receive”.
acknowledgements and retransmission15
Acknowledgements and Retransmission
  • Adv.
    • Easy to generate and unambiguous.
    • The lost ACKs don’t force retransmission.
  • Disadv.
    • No information about all successful transmissions for the sender, but only a single position in the stream.
flow control tcp segment
Flow Control

- TCP segment

tcp segment format
TCP segment format






Source Port

Destination Port

Sequence Number

Acknowledge Number



Code Bits



Urgent Pointer

Options (if any)



flow control tcp timeout
Flow Control

- TCP timeout

timeout and retransmission
Timeout and Retransmission
  • Question
    • How to determinetimeout?
    • Is the timeout always a constant?
timeout and retransmission20
Timeout and Retransmission
  • An adaptive retransmission algorithm is used in TCP.
  • TCP monitors the performance of each connection and adjust its timeout parameter accordingly
    • Timeout value may change.
  • Timeout is adjusted when a new round trip sample ( RTT) is obtained.
timeout and retransmission21
Timeout and Retransmission
  • RTT =

(α * Old_RTT) + ((1 –α) * new_RTT_sample )

    • 0 < α < 1
    • α close to 1 => no change in a short time
    • α close to 0 => RTT changes too quickly
  • Timeout = β * RTT
    • β >1
    • Recommended setting, β= 2
accurate measurement of round trip samples
Accurate Measurement of Round Trip Samples
  • TCP acknowledgements are ambiguous.
    • It is caused by the cumulative acknowledgement scheme.
    • It happens when retransmission.
    • It causes the question that the first received ACK does correspond the original datagram or the retransmitted datagram.
    • RTT couldn’t be measured accurately if the above question cannot be answered.
  • How to do?
accurate measurement of round trip samples karn s algorithm and timer backoff
Accurate Measurement of Round Trip Samples --- Karn’s Algorithm and Timer Backoff
  • Karn’s algorithm: when computing the round trip estimate, ignore samples that correspond to retransmitted segments, but use a back-off strategy, and retain the timeout value from a retransmitted packet for subsequent packets until a valid sample is obtained.
  • Timer back-off strategy:
    • New_timeout = γ * timeout ( typically, γ =2 )
    • Each time timer expires (retransmit happens), TCP increases timeout value.
karn s algorithm
Karn’s Algorithm
  • Use RTT to compute Timeout
  • When retransmission happens, Timeout increases in γtimes continuously, until transfer successfully. [Backoff strategy]
  • Use the timeout in the final turn of the last step to send next segment. [Backoff strategy]
  • When an acknowledgement arrives corresponding to a segment that did not require retransmission, then TCP re-computes the RTT and reset the timeout accordingly
responding to high variance in delay
Responding to High Variance in Delay
  • Queuing theory: variation in round trip delay is proportional to 1/(1-L), where L is the current network load, 0<L<1
  • ( Timeout = β * RTT ) & (β=2 ) => L < 30%
    • Not efficient
  • 1989 TCP specification requires to use estimated variance in place of β
new rtt and timeout algorithm
New RTT and Timeout Algorithm
  • DIFF = sample – old_RTT
  • Smoothed_RTT = old_RTT + d * DIFF
  • DEV = old_DEV + p (|DIFF| - old_DEV)
  • Timeout = Smoothed_RTT + g * DEV
    • DEV estimated mean deviation
    • d, a fraction between 0 and 1 to control how quickly the new sample affects the weighted average
    • p, a fraction between 0 and 1 to control how quickly the new sample affects mean deviation
    • g, a factor controls how much deviation affects round trip timeout
    • Research suggests: d=1/8, p=1/4 and g=4
  • Purpose of TCP
  • End-end Flow Control issue
    • Variable Sliding window protocol in TCP
    • TCP acknowledgement scheme
    • TCP segment
    • TCP timeout
      • RTT-Timeout Calculation and Karn’s Algorithm
      • New RTT and Timeout Algorithm