King Saud University - Dr Ahmad Al-Zubi1 COM210: Computer Networks (CN) Chapter 3: TCP Dr Ahmad Al-Zubi Chapter 3: TCP Dr Ahmad Al-Zubi.

Slides:



Advertisements
Similar presentations
Introduction 1 Lecture 13 Transport Layer (Transmission Control Protocol) slides are modified from J. Kurose & K. Ross University of Nevada – Reno Computer.
Advertisements

2: Transport Layer 31 Transport Layer 3. 2: Transport Layer 32 TCP Flow Control receiver: explicitly informs sender of (dynamically changing) amount of.
Transport Layer3-1 TCP. Transport Layer3-2 TCP: Overview RFCs: 793, 1122, 1323, 2018, 2581 r full duplex data: m bi-directional data flow in same connection.
3-1 TCP Protocol r point-to-point: m one sender, one receiver r reliable, in-order byte steam: m no “message boundaries” r pipelined: m TCP congestion.
Data Communications and Computer Networks Chapter 3 CS 3830 Lecture 16 Omar Meqdadi Department of Computer Science and Software Engineering University.
1 Chapter 3 Transport Layer. 2 Chapter 3 outline 3.1 Transport-layer services 3.2 Multiplexing and demultiplexing 3.3 Connectionless transport: UDP 3.4.
1 Transport Layer Lecture 9 Imran Ahmed University of Management & Technology.
Chapter 3 Transport Layer slides are modified from J. Kurose & K. Ross CPE 400 / 600 Computer Communication Networks Lecture 11.
Rensselaer Polytechnic Institute © Shivkumar Kalvanaraman & © Biplab Sikdar1 ECSE-4670: Computer Communication Networks (CCN) Chapter 3: TCP Shivkumar.
Transport Layer3-1 Summary of Reliable Data Transfer Checksums help us detect errors ACKs and NAKs help us deal with errors If ACK/NAK has errors sender.
1 TCP Congestion Control. 2 TCP Segment Structure source port # dest port # 32 bits application data (variable length) sequence number acknowledgement.
Week 9 TCP9-1 Week 9 TCP 3 outline r 3.5 Connection-oriented transport: TCP m segment structure m reliable data transfer m flow control m connection management.
Transport Layer3-1 TCP: Overview r full duplex data: m bi-directional data flow in same connection m MSS: maximum segment size r connection-oriented: m.
3: Transport Layer3b-1 TCP: Overview RFCs: 793, 1122, 1323, 2018, 2581 r full duplex data: m bi-directional data flow in same connection m MSS: maximum.
Transport Layer1 TCP: Overview RFCs: 793, 1122, 1323, 2018, 2581 r reliable, in-order byte steam: m no “message boundaries” r pipelined: m TCP congestion.
3: Transport Layer3b-1 TCP: Overview RFCs: 793, 1122, 1323, 2018, 2581 r full duplex data: m bi-directional data flow in same connection m MSS: maximum.
1 Congestion Control 2 Principles of Congestion Control Congestion: r informally: “too many sources sending too much data too fast for network to handle”
10/7/ /9/2003 TCP and Congestion Control October 7-9, 2003.
Transport Layer 3-1 Transport Layer r To learn about transport layer protocols in the Internet: m TCP: connection-oriented protocol m Reliability protocol.
Transport Layer Transport Layer: TCP. Transport Layer 3-2 TCP: Overview RFCs: 793, 1122, 1323, 2018, 2581 r full duplex data: m bi-directional.
Transport Layer 3-1 Transport Layer r To learn about transport layer protocols in the Internet: m TCP: connection-oriented protocol m Reliability protocol.
1 Announcement r Project 2 out m Much harder than project 1, start early! r Homework 2 due next Tuesday.
Transport Layer3-1 Chapter 3 Transport Layer Computer Networking: A Top Down Approach Featuring the Internet, 3 rd edition. Jim Kurose, Keith Ross Addison-Wesley,
3: Transport Layer3b-1 TCP: Overview RFCs: 793, 1122, 1323, 2018, 2581 r full duplex data: m bi-directional data flow in same connection m MSS: maximum.
Announcement Project 2 out –Much harder than project 1, start early! Homework 2 due next Tu.
Chapter 3 Transport Layer
1 TCP latency modeling. 2 Q: How long does it take to receive an object from a Web server after sending a request? r TCP connection establishment r data.
Transport Layer3-1 Data Communication and Networks Lecture 7 Transport Protocols: TCP October 21, 2004.
EEC-484/584 Computer Networks Lecture 16 Wenbing Zhao (Part of the slides are based on Drs. Kurose & Ross ’ s slides for their Computer.
TCP: Overview RFCs: 793, 1122, 1323, 2018, 2581 point-to-point:
3: Transport Layer3b-1 Principles of Congestion Control Congestion: r informally: “too many sources sending too much data too fast for network to handle”
Transport Layer 4 2: Transport Layer 4.
Transport Layer3-1 Chapter 3 outline r 3.1 Transport-layer services r 3.2 Multiplexing and demultiplexing r 3.3 Connectionless transport: UDP r 3.4 Principles.
Transport Layer 3-1 Chapter 3 Outline r 3.5 Connection-oriented transport: TCP m segment structure m reliable data transfer m flow control m connection.
Transport Layer3-1 TCP sender (simplified) NextSeqNum = InitialSeqNum SendBase = InitialSeqNum loop (forever) { switch(event) event: data received from.
Network LayerII-1 RSC Part III: Transport Layer 3. TCP Redes y Servicios de Comunicaciones Universidad Carlos III de Madrid These slides are, mainly, part.
Transport Layer1 Reliable Transfer Ram Dantu (compiled from various text books)
3: Transport Layer3b-1 TCP: Overview RFCs: 793, 1122, 1323, 2018, 2581 r full duplex data: m bi-directional data flow in same connection m MSS: maximum.
2: Transport Layer 21 Transport Layer 2. 2: Transport Layer 22 TCP: Overview RFCs: 793, 1122, 1323, 2018, 2581 r full duplex data: m bi-directional data.
TCOM 509 – Internet Protocols (TCP/IP) Lecture 04_b Transport Protocols - TCP Instructor: Dr. Li-Chuan Chen Date: 09/22/2003 Based in part upon slides.
17-1 Last time □ UDP socket programming ♦ DatagramSocket, DatagramPacket □ TCP ♦ Sequence numbers, ACKs ♦ RTT, DevRTT, timeout calculations ♦ Reliable.
1 End-to-End Protocols (UDP, TCP, Connection Management)
1 Transport Layer Lecture 10 Imran Ahmed University of Management & Technology.
Advance Computer Networks Lecture#09 & 10 Instructor: Engr. Muhammad Mateen Yaqoob.
September 26 th, 2013 CS1652 The slides are adapted from the publisher’s material All material copyright J.F Kurose and K.W. Ross, All Rights.
TCP. TCP ACK generation [RFC 1122, RFC 2581] Event at Receiver Arrival of in-order segment with expected seq #. All data up to expected seq # already.
Transport Layer3-1 Chapter 3 outline r 3.1 Transport-layer services r 3.2 Multiplexing and demultiplexing r 3.3 Connectionless transport: UDP r 3.4 Principles.
Transport Layer3-1 Chapter 3 Transport Layer Computer Networking: A Top Down Approach 5 th edition. Jim Kurose, Keith Ross Addison-Wesley, April 2009.
3: Transport Layer3a-1 Chapter 3: Transport Layer Chapter goals: r understand principles behind transport layer services: m multiplexing/demultiplex ing.
Transport Layer3-1 Chapter 3 Transport Layer Computer Networking: A Top Down Approach 5 th edition. Jim Kurose, Keith Ross Addison-Wesley, April 2009.
Transport Layer3-1 Transport Layer If you are going through Hell Keep going.
CIS679: TCP and Multimedia r Review of last lecture r TCP and Multimedia.
Transport Layer1 Goals: r understand principles behind transport layer services and protocols: m UDP m TCP Overview: r transport layer services r multiplexing/demultiplexing.
CSEN 404 Transport Layer II Amr El Mougy Lamia AlBadrawy.
DMET 602: Networks and Media Lab Amr El Mougy Yasmeen EssamAlaa Tarek.
09-Transport Layer: TCP Transport Layer.
COMP 431 Internet Services & Protocols
Chapter 3 outline 3.1 Transport-layer services
DMET 602: Networks and Media Lab
CS 1652 Jack Lange University of Pittsburgh
TCP: Overview RFCs: 793, 1122, 1323, 2018, 2581 full duplex data:
Approaches towards congestion control
Introduction to Networks
CS1652 TCP Jack Lange University of Pittsburgh
Review: UDP demultiplexing TCP demultiplexing Multiplexing?
Transport Layer Goals: Overview:
TCP Review.
TCP 3: Transport Layer.
ECSE-4670: Computer Communication Networks (CCN)
TCP: Overview RFCs: 793, 1122, 1323, 2018, 2581 point-to-point:
Presentation transcript:

King Saud University - Dr Ahmad Al-Zubi1 COM210: Computer Networks (CN) Chapter 3: TCP Dr Ahmad Al-Zubi Chapter 3: TCP Dr Ahmad Al-Zubi

King Saud University - Dr Ahmad Al-Zubi2 TCP: Overview Point-to-point: –one sender, one receiver Reliable, in-order byte steam: –no “message boundaries” –But TCP chops it up into segments for transmission internally Pipelined (window) flow control: –Window size decided by receiver and network Send & receive buffers

King Saud University - Dr Ahmad Al-Zubi3 TCP: Overview

King Saud University - Dr Ahmad Al-Zubi4 TCP: Overview Full duplex data: –bi-directional data flow in same connection –MSS: maximum segment size Connection-oriented: –handshaking (exchange of control msgs) init’s sender, receiver state before data exchange Flow & Congestion Control: –sender will not overwhelm receiver or the network

King Saud University - Dr Ahmad Al-Zubi5 TCP segment structure source port # dest port # 32 bits application data (variable length) sequence number acknowledgement number rcvr window size ptr urgent data checksum F SR PAU head len not used Options (variable length) URG: urgent data (generally not used) ACK: ACK # valid PSH: push data now (generally not used) RST, SYN, FIN: connection estab (setup, teardown commands) # bytes rcvr willing to accept counting by bytes of data (not segments!) Internet checksum (as in UDP)

King Saud University - Dr Ahmad Al-Zubi6 TCP seq. #’s and ACKs (I) Sequence Numbers: –byte stream “number” of first byte in segment’s data ACKs: –seq # of next byte expected from other side –cumulative ACK Q: how receiver handles out-of-order segments –A: TCP spec doesn’t say, - up to implementor

King Saud University - Dr Ahmad Al-Zubi7 Host A Host B Seq=42, ACK=79, data = ‘C’ Seq=79, ACK=43, data = ‘C’ Seq=43, ACK=80 User types ‘C’ host ACKs receipt of echoed ‘C’ host ACKs receipt of ‘C’, echoes back ‘C’ simple telnet scenario TCP Seq. #’s and ACKs (II)

King Saud University - Dr Ahmad Al-Zubi8 Temporal Redundancy Model Packets Sequence Numbers CRC or Checksum Status Reports ACKs NAKs, SACKs Bitmaps Packets FEC information Retransmissions Timeout

King Saud University - Dr Ahmad Al-Zubi9 Status Report Design Cumulative acks: –Robust to losses on the reverse channel –Can work with go-back-N retransmission –Cannot pinpoint blocks of data which are lost The first lost packet can be pinpointed because the receiver would generate duplicate acks

King Saud University - Dr Ahmad Al-Zubi10 TCP: reliable data transfer (I) wait for event wait for event event: data received from application above event: timer timeout for segment with seq # y event: ACK received, with ACK # y create, send segment retransmit segment ACK processing one way data transfer no flow, congestion control

King Saud University - Dr Ahmad Al-Zubi11 TCP: reliable data transfer (II) 00 sendbase = initial_sequence number 01 nextseqnum = initial_sequence number loop (forever) { 04 switch(event) 05 event: data received from application above 06 create TCP segment with sequence number nextseqnum 07 start timer for segment nextseqnum 08 pass segment to IP 09 nextseqnum = nextseqnum + length(data) 10 event: timer timeout for segment with sequence number y 11 retransmit segment with sequence number y 12 compute new timeout interval for segment y 13 restart timer for sequence number y 14 event: ACK received, with ACK field value of y 15 if (y > sendbase) { /* cumulative ACK of all data up to y */ 16 cancel all timers for segments with sequence numbers < y 17 sendbase = y 18 } 19 else { /* a duplicate ACK for already ACKed segment */ 20 increment number of duplicate ACKs received for y 21 if (number of duplicate ACKS received for y == 3) { 22 /* TCP fast retransmit */ 23 resend segment with sequence number y 24 restart timer for segment y 25 } 26 } /* end of loop forever */ Simplified TCP sender

King Saud University - Dr Ahmad Al-Zubi12 TCP ACK generation Event in-order segment arrival, no gaps, everything else already ACKed in-order segment arrival, no gaps, one delayed ACK pending out-of-order segment arrival higher-than-expect seq. # gap detected! arrival of segment that partially or completely fills gap TCP Receiver action delayed ACK. Wait up to 500ms for next segment. If no next segment, send ACK immediately send single cumulative ACK send duplicate ACK, indicating seq. # of next expected byte immediate ACK if segment starts at lower end of gap

King Saud University - Dr Ahmad Al-Zubi13 TCP: retransmission scenarios Host A Seq=92, 8 bytes data ACK=100 loss timeout time lost ACK scenario Host B X Seq=92, 8 bytes data ACK=100 Host A Seq=100, 20 bytes data ACK=100 Seq=92 timeout time premature timeout, cumulative ACKs Host B Seq=92, 8 bytes data ACK=120 Seq=92, 8 bytes data Seq=100 timeout ACK=120

King Saud University - Dr Ahmad Al-Zubi14 TCP Flow Control receiver: explicitly informs sender of free buffer space –RcvWindow field in TCP segment sender: keeps the amount of transmitted, unACKed data less than most recently received RcvWindow sender won’t overrun receiver’s buffers by transmitting too much, too fast flow control receiver buffering RcvBuffer = size or TCP Receive Buffer RcvWindow = amount of spare room in Buffer

King Saud University - Dr Ahmad Al-Zubi15 Timeout and RTT Estimation Timeout: for robust detection of packet loss Problem: How long should timeout be ? –Too long => underutilization –Too short => wasteful retransmissions –Solution: adaptive timeout: based on estimate of max RTT

King Saud University - Dr Ahmad Al-Zubi16 How to estimate max RTT? RTT = prop + queuing delay –Queuing delay highly variable –So, different samples of RTTs will give different random values of queuing delay Chebyshev’s Theorem: –MaxRTT = Avg RTT + k*Deviation –Error probability is less than 1/(k**2) –Result true for ANY distribution of samples

King Saud University - Dr Ahmad Al-Zubi17 Q: how to estimate RTT? SampleRTT: measured time from segment transmission until ACK receipt –ignore retransmissions, cumulatively ACKed segments SampleRTT will vary wildly => want estimated RTT “smoother” –use several recent measurements, not just current SampleRTT to calculate “AverageRTT” Round Trip Time and Timeout (II)

King Saud University - Dr Ahmad Al-Zubi18 AverageRTT = (1-x)*AverageRTT + x*SampleRTT Exponential weighted moving average (EWMA) influence of given sample decreases exponentially fast; x = 0.1 Setting the timeout AverageRTT plus “safety margin” proportional to variation Timeout = AverageRTT + 4*Deviation Deviation = (1-x)*Deviation + x*|SampleRTT- AverageRTT| TCP Round Trip Time and Timeout (III)

King Saud University - Dr Ahmad Al-Zubi19 TCP Connection Management - 1 Recall: TCP sender, receiver establish connection before exchanging data segments initialize TCP variables: –seq. #s –buffers, flow control info (e.g. RcvWindow) client: connection initiator Socket clientSocket = new Socket("hostname","port number"); server: contacted by client Socket connectionSocket = welcomeSocket.accept();

King Saud University - Dr Ahmad Al-Zubi20 TCP Connection Management - 2 Three way handshake: Step 1: client end system sends TCP SYN control segment to server –specifies initial seq # Step 2: server end system receives SYN, replies with SYNACK control segment –ACKs received SYN –allocates buffers –specifies server-> receiver initial seq. #

King Saud University - Dr Ahmad Al-Zubi21 Closing a connection: client closes socket: clientSocket.close(); Step 1: client end system sends TCP FIN control segment to server Step 2: server receives FIN, replies with ACK. Closes connection, sends FIN. TCP Connection Management - 3

King Saud University - Dr Ahmad Al-Zubi22 Fddfdf d client FIN server ACK FIN close closed timed wait TCP Connection Management - 4

King Saud University - Dr Ahmad Al-Zubi23 Step 3: client receives FIN, replies with ACK. –Enters “timed wait” - will respond with ACK to received FINs Step 4: server, receives ACK. Connection closed. Note: with small modification, can handle simultaneous FINs. TCP Connection Management - 5

King Saud University - Dr Ahmad Al-Zubi24 TCP client lifecycle TCP Connection Management - 6

King Saud University - Dr Ahmad Al-Zubi25 TCP server lifecycle TCP Connection Management - 7

King Saud University - Dr Ahmad Al-Zubi26 Recap: Stability of a Multiplexed System Average Input Rate > Average Output Rate => system is unstable! How to ensure stability ? 1.Reserve enough capacity so that demand is less than reserved capacity 2.Dynamically detect overload and adapt either the demand or capacity to resolve overload

King Saud University - Dr Ahmad Al-Zubi27 Congestion Problem in Packet Switching A B C 10 Mbs Ethernet 1.5 Mbs 45 Mbs D E statistical multiplexing queue of packets waiting for output link  Cost: self-descriptive header per-packet, buffering and delays for applications.  Need to either reserve resources or dynamically detect/adapt to overload for stability

King Saud University - Dr Ahmad Al-Zubi28 i  ii If information about i, and  is known in a central location where control of i or  can be effected with zero time delays, – the congestion problem is solved! The Congestion Problem 1 n Capacity Demand Problem: demand outstrips available capacity

King Saud University - Dr Ahmad Al-Zubi29 The Congestion Problem (Continued) Problems: –Incomplete information (eg: loss indications) –Distributed solution required –Congestion and control/measurement locations different –Time-varying, heterogeneous time- delay

King Saud University - Dr Ahmad Al-Zubi30 The Congestion Problem Static fixes may not solve congestion –a) Memory becomes cheap (infinite memory) No buffer Too late All links 19.2 kb/s Replace with 1 Mb/s S S S S S S S S S S S S S S S S File Transfer Time = 7 hours File Transfer time = 5 mins q b) Links become cheap (high speed links)?

King Saud University - Dr Ahmad Al-Zubi31 A B S C D Scenario: All links 1 Gb/s. A & B send to C => “high-speed” congestion!! (lose more packets faster!) The Congestion Problem (Continued) c) Processors become cheap (fast routers & switches)

King Saud University - Dr Ahmad Al-Zubi32 Principles of Congestion Control Congestion: informally: “too many sources sending too much data too fast for network to handle” different from flow control (receiver overload)! manifestations: –lost packets (buffer overflow at routers) –long delays (queuing in router buffers) a top-10 problem!

King Saud University - Dr Ahmad Al-Zubi33 Causes/costs of congestion: scenario 1 two senders, two receivers one router, infinite buffers no retransmission large delays when congested maximum achievable throughput

King Saud University - Dr Ahmad Al-Zubi34 Causes/costs of congestion: scenario 2 one router, finite buffers sender retransmission of lost packet

King Saud University - Dr Ahmad Al-Zubi35 Causes/costs of congestion: scenario 2 (continued) “Costs” of congestion: More work (retrans) for given “goodput” Unneeded retransmissions: link carries multiple copies of pkt due to spurious timeouts

King Saud University - Dr Ahmad Al-Zubi36 Causes/costs of congestion: scenario 3 Another “cost” of congestion: when packet dropped, any “upstream transmission capacity used for that packet was wasted!

King Saud University - Dr Ahmad Al-Zubi37 Approaches towards congestion control - 1 Two broad approaches towards congestion control: End-end congestion control: no explicit feedback from network congestion inferred from end-system observed loss, delay approach taken by TCP

King Saud University - Dr Ahmad Al-Zubi38 Approaches towards congestion control - 2 Network-assisted congestion control: routers provide feedback to end systems –single bit indicating congestion (SNA, DECbit, TCP/IP ECN, ATM) –explicit rate sender should send at

King Saud University - Dr Ahmad Al-Zubi39 TCP congestion control - 1 end-end control (no network assistance) transmission rate limited by congestion window size, Congwin, over segments:

King Saud University - Dr Ahmad Al-Zubi40 TCP congestion control - 2 w segments, each with MSS bytes sent in one RTT: throughput = w * MSS RTT Bytes/sec

King Saud University - Dr Ahmad Al-Zubi41 TCP congestion control - 3 “Probing” for usable bandwidth: –Window flow control: avoid receiver overrun –Dynamic window congestion control: avoid/control network overrun Policy: –Increase Congwin until loss (congestion) –Loss => decrease Congwin, then begin probing (increasing) again

King Saud University - Dr Ahmad Al-Zubi42 Additive Increase/Multiplicative Decrease (AIMD) Policy For stability: –rate-of-decrease > rate-of-increase –Decrease performed “enough” times as long as congestion exists AIMD policy satisfies this condition, provided packet loss is congestion indicator window time

King Saud University - Dr Ahmad Al-Zubi43 Fairness Fairness goal: if N TCP sessions share same bottleneck link, each should get 1/N of link capacity TCP connection 1 bottleneck router capacity R TCP connection 2

King Saud University - Dr Ahmad Al-Zubi44 Fairness Analysis

King Saud University - Dr Ahmad Al-Zubi45 AIMD Converges to Fairness

King Saud University - Dr Ahmad Al-Zubi46 TCP congestion control - 4 TCP uses AIMD policy in “steady state” Two “phases” –Transient phase: aka “Slow start” –Steady State: aka “Congestion avoidance” Important variables: –Congwin –threshold: defines threshold between two slow start phase, congestion avoidance phase

King Saud University - Dr Ahmad Al-Zubi47 TCP Slowstart - 1 Exponential increase (per RTT) in window size (not so slow!) Loss event: timeout (Tahoe TCP) and/or three duplicate ACKs (Reno TCP) Slowstart algorithm initialize: Congwin = 1 for (each segment ACKed) Congwin++ until (loss event OR CongWin > threshold)

King Saud University - Dr Ahmad Al-Zubi48 TCP Slowstart - 2 asdf Host A one segment RTT Host B time two segments four segments

King Saud University - Dr Ahmad Al-Zubi49 TCP Dynamics Rate of acks determines rate of packets : “Self-clocking” property. 100 Mbps10 Mbps Router Q 1st RTT 2nd RTT3rd RTT4th RTT

King Saud University - Dr Ahmad Al-Zubi50 TCP Congestion Avoidance - 1 /* slowstart is over */ /* Congwin > threshold */ Until (loss event) { every w segments ACKed: Congwin++ } threshold = Congwin/2 Congwin = 1 perform slowstart Congestion avoidance 1 1: TCP Reno skips slowstart (aka fast recovery) after three duplicate ACKs and performs close to AIMD

King Saud University - Dr Ahmad Al-Zubi51 TCP Congestion Avoidance - 2

King Saud University - Dr Ahmad Al-Zubi52 TCP window dynamics (more) Time (units of RTTs) Congestion Window (cwnd) Receiver Window Idle Interval Timeout 1 ssthresh

King Saud University - Dr Ahmad Al-Zubi53 TCP latency modeling - 1 Q: How long does it take to receive an object from a Web server after sending a request? TCP connection establishment data transfer delay

King Saud University - Dr Ahmad Al-Zubi54 TCP latency modeling - 2 Notation, assumptions: Assume one link between client and server of rate R Assume: fixed congestion window, W segments S: MSS (bits) O: object size (bits) no retransmissions (no loss, no corruption)

King Saud University - Dr Ahmad Al-Zubi55 TCP latency modeling - 3 Two cases to consider: WS/R > RTT + S/R: ACK for first segment in window returns before window’s worth of data sent WS/R < RTT + S/R: wait for ACK after sending window’s worth of data sent

King Saud University - Dr Ahmad Al-Zubi56 TCP latency modeling - 4 Case 1: latency = 2RTT + O/R

King Saud University - Dr Ahmad Al-Zubi57 TCP latency modeling - 5 Case 2: latency = 2RTT + O/R + (K-1)[S/R + RTT - WS/R] K = O/WS

King Saud University - Dr Ahmad Al-Zubi58 TCP latency modeling: slow start - 1 Now suppose window grows according to slow start. Will show that the latency of one object of size O is: where P is the number of times TCP stalls at server:

King Saud University - Dr Ahmad Al-Zubi59 - where Q is the number of times the server would stall if the object were of infinite size. - and K is the number of windows that cover the object. TCP latency modeling: slow start - 2

King Saud University - Dr Ahmad Al-Zubi60 Example: O/S = 15 segments K = 4 windows Q = 2 P = min{K-1,Q} = 2 Server stalls P=2 times. TCP latency modeling: slow start - 3

King Saud University - Dr Ahmad Al-Zubi61 TCP latency modeling: slow start - 4

King Saud University - Dr Ahmad Al-Zubi62 TCP latency modeling: slow start - 5

King Saud University - Dr Ahmad Al-Zubi63 Sample Results RO/RP Minimum Latency: O/R + 2 RTT Latency with slow start 28 Kbps28.6 sec128.8 sec28.9 sec 100 Kbps8 sec28.2 sec8.4 sec 1 Mbps800 msec 51 sec1.5 sec 10 Mbps80 msec70.28 sec0.98 sec

King Saud University - Dr Ahmad Al-Zubi64 Summary: Chapter 3 Principles behind transport layer services: multiplexing/demultiplexing reliable data transfer flow control congestion control Instantiation and implementation in the Internet UDP, TCP