TCP (Part 1) - PowerPoint PPT Presentation

About This Presentation
Title:

TCP (Part 1)

Description:

Reliable Stream Transport Service ... Providing reliable stream delivery ... Reliable Stream (TCP) User Datagram (UDP) Internet (IP), ICMP. Network Interface. 6 ... – PowerPoint PPT presentation

Number of Views:58
Avg rating:3.0/5.0
Slides: 29
Provided by: admi1042
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
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