TCP (Part 1) - PowerPoint PPT Presentation

About This Presentation
Title:

TCP (Part 1)

Description:

TCP (Part 1) - Reliable Stream Transport Service D.E. Comer Internetworking with TCP/IP: Principles, Protocols and Architectures , Ch. 13, Prentice Hall, 2000 – PowerPoint PPT presentation

Number of Views:14
Avg rating:3.0/5.0
Slides: 29
Provided by: Adm9445
Category:
Tags: tcp | part

less

Transcript and Presenter's Notes

Title: TCP (Part 1)


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
msu1_at_sfu.ca
2
Content
  • TCP Introduction
  • Issue in TCP --- Flow Control
  • Sliding window protocol
  • TCP acknowledgement scheme
  • TCP segment
  • TCP timeout
  • Summary

3
  • TCP Introduction

4
Introduction - TCP
  • TCP
  • Transmission Control Protocol
  • TCP is not a software
  • Purpose
  • Providing reliable stream delivery
  • Isolating application programs from the details
    of networking

5
TCP Conceptual Layering
Application
Reliable Stream (TCP)
User Datagram (UDP)
Internet (IP), ICMP
Network Interface
6
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

7
  • Issues in TCP

8
Two issues in TCP
  • Flow Control
  • End-to-end flow control problem
  • Congestion control problem
  • Virtual Circuit Connection

9
  • Flow Control
  • - Sliding window protocol

10
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.

11
Variable Window Size


Window Advertisement
Receiver
Transmitter
Transmitter Window Size Value of Window Advertisement Free space in buffer to fill
increase bigger increase
decrease smaller decrease
Stop transmissions 0 full
12
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.

13
  • Flow Control
  • - TCP acknowledgement scheme

14
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.

15
Acknowledgements and Retransmission
  • Adv.
  • Easy to generate and unambiguous.
  • The lost ACKs dont force retransmission.
  • Disadv.
  • No information about all successful transmissions
    for the sender, but only a single position in the
    stream.

16
  • Flow Control
  • - TCP segment

17
TCP segment format
24
0
4
31
16
Source Port
Destination Port
Sequence Number
Acknowledge Number
HLEN
Reserved
Code Bits
Window
Checksum
Urgent Pointer
Options (if any)
Padding
Data

18
  • Flow Control
  • - TCP timeout

19
Timeout and Retransmission
  • Question
  • How to determine timeout?
  • Is the timeout always a constant?

20
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.

21
Timeout and Retransmission
  • RTT
  • (a Old_RTT) ((1 a) new_RTT_sample )
  • 0 lt a lt 1
  • a close to 1 gt no change in a short time
  • a close to 0 gt RTT changes too quickly
  • Timeout ß RTT
  • ß gt1
  • Recommended setting, ß 2

22
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 couldnt be measured accurately if the above
    question cannot be answered.
  • How to do?

23
Accurate Measurement of Round Trip Samples ---
Karns Algorithm and Timer Backoff
  • Karns 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.

24
Karns 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

25
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, 0ltLlt1
  • ( Timeout ß RTT ) (ß2 ) gt L lt 30
  • Not efficient
  • 1989 TCP specification requires to use estimated
    variance in place of ß

26
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 d1/8, p1/4 and g4

27
Summary
  • 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 Karns Algorithm
  • New RTT and Timeout Algorithm

28
Thanks
Write a Comment
User Comments (0)
About PowerShow.com