Networked Systems and Services, Fall 2018 Chapter 3

Size: px
Start display at page:

Download "Networked Systems and Services, Fall 2018 Chapter 3"

Transcription

1 Networked Systems and Services, Fall 2018 Chapter 3 Jussi Kangasharju Markku Kojo Lea Kutvonen

2 4. Transport Layer Reliability with TCP Transmission Control Protocol (TCP) RFC more than hundred other RFCs TCP Loss Recovery mechanisms (not exhaustive): Timer (RTO) Recovery & TCP Reno [RFC 5681] TCP NewReno [RFC 3782, RFC 6582] Limited Transmit [RFC 3042] TCP SACK-based Loss Recovery [RFC 2018, RFC 6675] 2

3 Remember the Protocol Stack? End-to-end Argument? User Application Transport Network What is the right place to implement reliability? Transport is lowest level end-to-end protocol(in theory) Network User Application Transport Network Link Link Link Physical Physical Physical

4 Transport Layer Application Presentation Session Transport Network Data Link Physical Function: Demultiplexing (port numbers) Optional functions (TCP provides): Creating long lived connections Reliable, in-order packet delivery Error detection Flow and congestion control Key challenges: Efficient data delivery in the presence of losses Detecting and responding to congestion Balancing fairness against high utilization 4

5 TCP Transport Service to Applications Connections, 3 Phases of communication Connection establishment, data transfer, connection termination Bidirectional byte stream TCP does not provide messages ==> Applications have to take care of message boundaries! (cf., Unix pipes) Reliable transport No data loss or corruption, data delivered in order, no duplication of data Flow control Congestion control (with approximate fairness) 5

6 TCP Segment Format Source port Destination port TCP header length Reserved Checksum Checksum Sequence number Acknowledgement number U A PRSF RCS S Y I G K H T N N Window Urgent pointer Options (0 or more 32 bit words) (padding) Payload (optional) 6

7 TCP Options Options field for optional features Option space limited - TCP header length field (= 4 bits) indicates the length of the header in 32-bit words => Header max length 15*4 bytes = 60 bytes - 20 bytes for the fixed header => max. 40 bytes for options Option type Option length Option value 1 byte 1 byte length - 2 bytes 7

8 Connection Setup Why do we need connection setup? To establish state on both hosts Most important state: sequence numbers - Count the number of bytes that have been sent&received - Initial value chosen at random - Why? Client Server isn = initial sequence number 8

9 Data Transfer & Sequence Number Space TCP uses a byte stream abstraction Each byte in each stream is (implicitly) numbered 32-bit value, wraps around Byte stream broken down into segments (packets) Size limited by the Maximum Segment Size (MSS) MSS set to limit IP fragmentation MSS is based on the local link MTU size and the Receiver MSS negotiated during the connection setup (MSS Option) OR using Path MTU Discovery Each segment has a sequence number Segment 8 Segment 9 Segment 10 9

10 TCP Connection Termination Client Server Close Close Timed wait 2*MSL Closed Time Time Closed 10

11 How are TCP Acks Generated? Acknowledgement number indicates the sequence number that receiver expects to receive next Highest sequence number received in order + 1 Acknowledgements are cumulative ACK number k implies ACK of all sequences numbers < k Delayed ACKs Receiver does not need to acknowledge each segment separately At least every second (full-sized) segment should be acknowledged Sending ACK is delayed at most 500 msecs, if the next segment in order has not arrived - Many implementations use delayed ACK timer of 200 msecs Out-of-order segments are acknowledged immediately! Send ACK for the highest sequence number received in order 11

12 TCP Congestion Control TCP congestion control is one of the most important functions to ensure stable operation of the Internet When routers become congested, they have to drop packets Congestion control is intertwined with the loss recovery and thereby with TCP performance Congestion window,cwnd, controls how much unacknowledged data can be in flight in the network (FlightSize) Largest allowed sequence number when sending = highest acknowledged sequence number + cwnd In the following, Congestion window and other congestion control details are present, but we focus on loss recovery In the Internet Protocol course we focus on congestion control 12

13 Slow Start Slow Start is used, when the network state is considered unknown At the beginning of the TCP connection (Initial Slow Start) After retransmission timer expires (in RTO Recovery) When there has not been anything to send for a while (Restart After Idle) Basic idea Increasecwnd until segment loss is detected = network becomes congested ORcwnd reaches Slow Start Threshold (ssthresh) cwnd is increased at most by one MSS per arriving new acknowledgement (an ACK that acknowledges new data) -cwnd gets roughly doubled per each Round-Trip Time (RTT) * Exponential growth as function of RTT 13

14 Slow Start cwnd starts from 1 MSS for RTO loss recovery Cwnd can be larger for Initial Slow Start and Restart After Idle Sender cwnd = 1 MSS 1. RTT Receiver Data segment cwnd = 2 MSS 2. RTT ACK cwnd = cwnd = 3 MSS 4 MSS 3. RTT Slow Start also effectively diverts RTO Recovery away from go-back-n 14

15 Retransmission Timeout (RTO) Recovery Retransmission timer is set when data segment is sent When retransmission timer expires, it starts the RTO loss recovery with congestion control actions: cwnd = 1 MSS; ssthresh = max (FlightSize/2, 2*SMSS) (*) Retransmit first unacknowledged segment Continue (re)transmission in Slow Start until cwnd > ssthresh after which enter Congestion Avoidance Each new ACK indicates next sequence number (segment) to retransmit When there are no more segments to retransmit, continue by transmitting new data (*) FlightSize: the amount of unacknowledged data a TCP sender has in flight ssthresh (Slow-Start Threshold): is used to indicate previously observed safe sending rate 15

16 RTO Recovery For simplicity: MSS = 1 B (byte) Sender Receiver Assume TCP cwnd = 4 MSS Ack =2 RTO Ack =2 Ack=2 Timer expires, enter RTO loss recovery ssthresh= 2; cwnd = 1 cwnd = 2... Time... Time 16

17 Retransmission timer [RFC 6298] Retransmission timer runs for the first unacknowledged segment Important to find a proper value for the retransmission timer: Too big timer value: start of the loss recovery is delayed Too small timer value: timer expires spuriously - Results in unnecessary retransmissions, in the worst case full window of data is unnecessarily retransmitted! - Results also in unnecessary congestion response (transmission rate decreased) Initial RTO value >= 1 sec (recently changed from 3 to 1 sec) After this, a proper value is estimated (computed) dynamically from the measured Round-Trip Time (RTT) 17

18 Calculating RTO timer value RTT is measured continuously when ACKs arrive TCP sender calculates weighted moving average, to be used as the smoothed RTT:SRTT SRTT is updated each time an RTT sample is measured (at least once per window, i.e., once per RTT) SRTT = (1-α)*SRTT + α*rttsample where α = 1/8 = Calculates also RTT variation,rttvar RTTvar =(1-β)*RTTvar + β* RTTsample-SRTT where β = 1/4 = 0.25 Timer value: RTO = SRTT + 4*RTTvar 18

19 RTT Sample Ambiguity RTO Sample? RTO Sample? What is RTT of a retransmitted segment? 19

20 Accurate measurement of RTO Solution to acknowledgement ambiguity: Karn s algorithm Don t update the RTT estimate for retransmitted segments How often RTT samples are measured? Some implementations take only one sample per window (= one per RTT) - RFC 6298 requires at least once per RTT Many newer implementations, e.g., Linux, measures RTT for each valid segment In practice only one retransmission timer is running at a time For the first unacknowledged segment Timer is restarted each time when an ACK that acknowledges new data arrives ==> effective timer value = RTO + 1 RTT 20

21 Fast Retransmit Duplicate ACK (dupack) When an out-of-order data segment arrives at a TCP receiver, the TCP receiver acknowledges immediately with a pure ACK the highest sequence number received in order (i.e., the same acknowledgement number as in the ACK that acknowledged the last segment received in order) Receiving dupacks indicates that Segments are leaving the network A segment has been received out-of-order and what is the expected sequence number After receiving 3 consecutive dupacks, TCP sender Fast Retransmits the first unacknowledged segment [ Sets also cwnd & ssthresh (see steps 1&2 on slide 23) ] After the Fast Retransmit, the sender continues in Fast Recovery 21

22 New Reno Fast Recovery [RFC 6582, (old: RFC 3782 * )] Fast Recovery allows transmission of new data during loss recovery NewReno Fast Recovery is able to recover one lost segment per RTT * See RFC 3782 for possibly easier to understand description 22

23 Fast Recovery (NewReno) recover variable is used to determine when recovery is over (and to avoid multiple false Fast Retransmits) Fast Retransmit & Fast Recovery (NewReno) triggered by 3 rd DupACK: 1. Set recover = highest sequence number transmitted so far" [ Setssthresh = max (FlightSize / 2, 2*MSS) ] 2. Retransmit the first unacknowledged segment and [ set cwnd = ssthresh + 3*MSS ] 3. For each additional duplicate ACK received while in Fast Recovery increment cwnd by one MSS to potentially allow transmitting new segment 4. Transmit a new segment, if allowed by the new value of cwnd (andrwnd) 5. When an ACK arrives that acknowledges new data, a) If this ACK acknowledges all of the data up to and including "recover", then recovery is completed; b) Otherwise, acknowledgement is a Partial ACK and recovery should continue (see next slide) Step 3 allows transmitting new data also during loss recovery 23

24 NewReno/Step 5 b): Partial ACK On each Partial ACK Retransmit first unacknowledged segment [ Deflatecwnd by the amount of new data acknowledged by the Partial ACK. If the partial ACK acknowledges at least one MSS of new data, then add back MSS bytes tocwnd ] Transmit a new segment, if allowed by the new value of cwnd Continue Fast Recovery - Repeat steps 3&4 on arrival of dupack - Repeat step 5 on arrival of an ACK that acknowledges new data 24

25 Fast Retransmit&Fast Recovery (NewReno) Sender Receiver For simplicity: MSS = 1B cwnd = 6 ssthresh=3; cwnd = 3+3 = 6; Recover =7 cwnd = = 5 cwnd = = 4 cwnd = 4+1 = 5 Recovery Done cwnd = 3 Time... Time 25

26 Limited Transmit [RFC 3042] Problem: If cwnd is small (cwnd < 4 ), OR several segments are dropped in a single window ==> It is possible that TCP sender cannot receive three dupacks ==> TCP sender has to wait for retransmission timeout and recover using Slow Start (with drasticcwnd reduction) This delays the start of a recovery and is inefficient Solution: Limited Transmit Transmit a new data segment on each of the first two dupacks Transmitting new data segments can be allowed as a dupack indicates that a segment has left the network New data segments trigger more dupacks 26

27 Limited Transmit For simplicity: MSS = 1B Sender Receiver cwnd = 3 Ack =2 Ack =3 No need to wait for RTO, as three dupacks arrive RTO Fast Retransmit Time Time 27

28 TCP Selective Acknowledgements [RFC 2018, RFC 6675] Duplicate ACKs indicate only one missing segment (next expected) Similarly each cumulative ACK during recovery (i.e., NewReno partial ack) indicates only one missing segment (next expected) ==> NewReno Fast Recovery can recover only one segment per RTT Also, in RTO recovery several segments are often unnecessarily retransmitted Selective Acknowledgement (SACK) option allows identifying several missing segments with a single dupack 28

29 SACK option (RFC 2018) TCP SACK-permitted option type =4 length=2 1 byte 1 byte Used in connection establishment (with SYN segments) to negotiate the use of SACK option TCP SACK option Carries information about sequence number ranges (SACK blocks) that have arrived successfully, but outof-order, at the receiver (stored in the receive buffer) 29

30 TCP SACK option type =5 length=n Beginning of the 1 st block (seq.no) End of the 1st block (seq.no+1) Beginning of the 2 nd block (seq.no) End of the 2 nd block (seq.no+1) Beginning of the 3 rd block (seq.no) End of the 3 rd block (seq.no+1) One TCP segment may carry max 4 SACK blocks, as max 40 bytes have been reserved for TCP options (use of other TCP options reduces this). 30

31 Sending SACK option Always, when acknowledging an out-of-order segment (i.e., always, when acknowledging other than the highest sequence number that has arrived) SACK option includes as many latest sequence number ranges as possible Each arrived segment (block) becomes reported several times (i.e., repeated with the later ACKs) First block in the SACK option includes the segment that triggered the acknowledgement SACK information is only informative for the TCP sender TCP sender must not remove a segment from its send buffer until a cumulative ACK acknowledging it arrives 31

32 SACK-based Recovery [RFC 6675] With help of the SACK option a TCP sender may recover more than one lost segment within one RTT (cf. NewReno) TCP sender maintains scoreboard data structure with the retransmission queue (updated on arrival of an ACK and after transmitting a segment) SACKed: information whether a SACK block corresponding to the segment has been received HighACK: sequence number of the highest byte of data that has been cumulatively ACKed HighRxt: highest sequence number that has been retransmitted during the current loss recovery phase HighData: highest sequence number transmitted pipe: an estimate of the number of bytes (segments) outstanding in the network cwnd limits transmission of segments during loss recovery; Ifcwnd pipe >= 1 SMSS, sender can transmit segments If there are segments that are considered lost, retransmit as many lost segments as cwnd allows - a segment is considered lost, if at least 3 discontinuous SACKed sequences have arrived above the segment or more than 2 * SMSS bytes with sequence numbers above the segment have been SACKed If there are not enough lost segments to transmit, transmit as many new data segments ascwnd allows If no lost nor new segments to transmit, follow the rules in Steps (3) & (4) of NextSeg() in RFC 6675 to retransmit one data segment not considered lost 32

33 SACK Fast Retransmit (RFC 6675) If at least 3 segments above HighAck+1 has been SACKed (*): 1. SetRecoveryPoint = HighData; 2. [ Set ssthresh = cwnd = FlightSize / 2 ] 3. Retransmit the first unacknowledged segment and set HighRxt = highest sequence number in the retransmitted segment 4. Recalculate a new value for pipe: Includes all data (segments) that have been sent but not ACKed (either cumulatively or SACKed), but not segments that are considered lost ( = at least 3 later segments after the segment have reached the receiver and have been SACKed) Includes all retransmitted data (segments) (HighACK < seqno <=HighRxt) 5. Ifcwnd pipe >= 1 SMSS, sender can transmit segments In the first place retransmit lost segments then transmit new data As many as allowed by cwnd If no lost segments nor new data, send one segment as per Steps (3) & (4) of NextSeg() After transmitting, updatehighrxt,highdata andpipe (*) On each ACK with SACKed data, use Limited Transmit to send at most one SMSS of new data ( ifcwnd pipe >= 1 SMSS ) 33

34 SACK Fast Recovery (cont d) On each arriving ACK: A. If cumulative ACK number >RecoveryPoint Recovery completed, exit FastRecovery B. If cumulative ACK number <=RecoveryPoint Update scoreboard with SACK information Update pipe (like in step 4 above) C. Ifcwnd pipe >= 1 SMSS, sender can transmit segments In the first place retransmit lost segments then transmit new data As many as allowed by cwnd If no lost segments nor new data, send one segment as per Steps (3) & (4) of NextSeg() After transmitting, updatehighrxt,highdata andpipe 34

35 Fast Retransmit & Fast Recovery (SACK) Sender Receiver For simplicity: MSS = 1B ack=2 ack=2; SACK 3 cwnd = 6 ack=2; SACK 3, 5 ack=2; SACK 3, 5, 7 RecoveryPoint=7; ssthresh=3 cwnd = 3; pipe =2 pipe =3 ack=4; SACK 5, 7 cwnd = 3; pipe = 2 pipe = 3 ack=4; SACK 5, 7-8 Recovery Done pipe = 1 pipe = 2 pipe = 3 pipe = 2 pipe = 3 pipe = 1 pipe = 2 pipe = 3 pipe = 2 Time ack=6, SACK 7-8 ack=6, SACK 7-9 ack=6, SACK 7-10 ack=11 ack=12 Time 35

Networked Systems and Services, Fall 2017 Reliability with TCP

Networked Systems and Services, Fall 2017 Reliability with TCP Networked Systems and Services, Fall 2017 Reliability with TCP Jussi Kangasharju Markku Kojo Lea Kutvonen 4. Transmission Control Protocol (TCP) RFC 793 + more than hundred other RFCs TCP Loss Recovery

More information

Internet Networking recitation #10 TCP New Reno Vs. Reno

Internet Networking recitation #10 TCP New Reno Vs. Reno recitation #0 TCP New Reno Vs. Reno Spring Semester 200, Dept. of Computer Science, Technion 2 Introduction Packet Loss Management TCP Reno (RFC 258) can manage a loss of at most one packet from a single

More information

Congestion / Flow Control in TCP

Congestion / Flow Control in TCP Congestion and Flow Control in 1 Flow Control and Congestion Control Flow control Sender avoids overflow of receiver buffer Congestion control All senders avoid overflow of intermediate network buffers

More information

COMP/ELEC 429/556 Introduction to Computer Networks

COMP/ELEC 429/556 Introduction to Computer Networks COMP/ELEC 429/556 Introduction to Computer Networks The TCP Protocol Some slides used with permissions from Edward W. Knightly, T. S. Eugene Ng, Ion Stoica, Hui Zhang T. S. Eugene Ng eugeneng at cs.rice.edu

More information

image 3.8 KB Figure 1.6: Example Web Page

image 3.8 KB Figure 1.6: Example Web Page image. KB image 1 KB Figure 1.: Example Web Page and is buffered at a router, it must wait for all previously queued packets to be transmitted first. The longer the queue (i.e., the more packets in the

More information

Transmission Control Protocol. ITS 413 Internet Technologies and Applications

Transmission Control Protocol. ITS 413 Internet Technologies and Applications Transmission Control Protocol ITS 413 Internet Technologies and Applications Contents Overview of TCP (Review) TCP and Congestion Control The Causes of Congestion Approaches to Congestion Control TCP Congestion

More information

TCP/IP Networking. Part 4: Network and Transport Layer Protocols

TCP/IP Networking. Part 4: Network and Transport Layer Protocols TCP/IP Networking Part 4: Network and Transport Layer Protocols Orientation Application Application protocol Application TCP TCP protocol TCP IP IP protocol IP IP protocol IP IP protocol IP Network Access

More information

8. TCP Congestion Control

8. TCP Congestion Control 8. TCP Congestion Control 1 TCP Congestion Control Slow-start increase Multiplicative decrease Congestion avoidance Measurement of variation Exponential timer backoff 2002 Yanghee Choi 2 Congestion Control

More information

TCP and Congestion Control (Day 1) Yoshifumi Nishida Sony Computer Science Labs, Inc. Today's Lecture

TCP and Congestion Control (Day 1) Yoshifumi Nishida Sony Computer Science Labs, Inc. Today's Lecture TCP and Congestion Control (Day 1) Yoshifumi Nishida nishida@csl.sony.co.jp Sony Computer Science Labs, Inc 1 Today's Lecture Part1: TCP concept Part2: TCP detailed mechanisms Part3: Tools for TCP 2 1

More information

CS 356: Introduction to Computer Networks. Lecture 16: Transmission Control Protocol (TCP) Chap. 5.2, 6.3. Xiaowei Yang

CS 356: Introduction to Computer Networks. Lecture 16: Transmission Control Protocol (TCP) Chap. 5.2, 6.3. Xiaowei Yang CS 356: Introduction to Computer Networks Lecture 16: Transmission Control Protocol (TCP) Chap. 5.2, 6.3 Xiaowei Yang xwy@cs.duke.edu Overview TCP Connection management Flow control When to transmit a

More information

TCP. CSU CS557, Spring 2018 Instructor: Lorenzo De Carli (Slides by Christos Papadopoulos, remixed by Lorenzo De Carli)

TCP. CSU CS557, Spring 2018 Instructor: Lorenzo De Carli (Slides by Christos Papadopoulos, remixed by Lorenzo De Carli) TCP CSU CS557, Spring 2018 Instructor: Lorenzo De Carli (Slides by Christos Papadopoulos, remixed by Lorenzo De Carli) 1 Sources Fall and Stevens, TCP/IP Illustrated Vol. 1, 2nd edition Congestion Avoidance

More information

Outline. CS5984 Mobile Computing

Outline. CS5984 Mobile Computing CS5984 Mobile Computing Dr. Ayman Abdel-Hamid Computer Science Department Virginia Tech Outline Review Transmission Control Protocol (TCP) Based on Behrouz Forouzan, Data Communications and Networking,

More information

TCP Performance. EE 122: Intro to Communication Networks. Fall 2006 (MW 4-5:30 in Donner 155) Vern Paxson TAs: Dilip Antony Joseph and Sukun Kim

TCP Performance. EE 122: Intro to Communication Networks. Fall 2006 (MW 4-5:30 in Donner 155) Vern Paxson TAs: Dilip Antony Joseph and Sukun Kim TCP Performance EE 122: Intro to Communication Networks Fall 2006 (MW 4-5:30 in Donner 155) Vern Paxson TAs: Dilip Antony Joseph and Sukun Kim http://inst.eecs.berkeley.edu/~ee122/ Materials with thanks

More information

cs/ee 143 Communication Networks

cs/ee 143 Communication Networks cs/ee 143 Communication Networks Chapter 4 Transport Text: Walrand & Parakh, 2010 Steven Low CMS, EE, Caltech Recap: Internet overview Some basic mechanisms n Packet switching n Addressing n Routing o

More information

Fast Retransmit. Problem: coarsegrain. timeouts lead to idle periods Fast retransmit: use duplicate ACKs to trigger retransmission

Fast Retransmit. Problem: coarsegrain. timeouts lead to idle periods Fast retransmit: use duplicate ACKs to trigger retransmission Fast Retransmit Problem: coarsegrain TCP timeouts lead to idle periods Fast retransmit: use duplicate ACKs to trigger retransmission Packet 1 Packet 2 Packet 3 Packet 4 Packet 5 Packet 6 Sender Receiver

More information

Guide To TCP/IP, Second Edition UDP Header Source Port Number (16 bits) IP HEADER Protocol Field = 17 Destination Port Number (16 bit) 15 16

Guide To TCP/IP, Second Edition UDP Header Source Port Number (16 bits) IP HEADER Protocol Field = 17 Destination Port Number (16 bit) 15 16 Guide To TCP/IP, Second Edition Chapter 5 Transport Layer TCP/IP Protocols Objectives Understand the key features and functions of the User Datagram Protocol (UDP) Explain the mechanisms that drive segmentation,

More information

User Datagram Protocol (UDP):

User Datagram Protocol (UDP): SFWR 4C03: Computer Networks and Computer Security Feb 2-5 2004 Lecturer: Kartik Krishnan Lectures 13-15 User Datagram Protocol (UDP): UDP is a connectionless transport layer protocol: each output operation

More information

Flow and Congestion Control Marcos Vieira

Flow and Congestion Control Marcos Vieira Flow and Congestion Control 2014 Marcos Vieira Flow Control Part of TCP specification (even before 1988) Goal: not send more data than the receiver can handle Sliding window protocol Receiver uses window

More information

TCP Basics : Computer Networking. Overview. What s Different From Link Layers? Introduction to TCP. TCP reliability Assigned reading

TCP Basics : Computer Networking. Overview. What s Different From Link Layers? Introduction to TCP. TCP reliability Assigned reading TCP Basics 15-744: Computer Networking TCP reliability Assigned reading [FF96] Simulation-based Comparisons of Tahoe, Reno, and SACK TCP L-9 TCP Basics 2 Key Things You Should Know Already Port numbers

More information

Transport Layer. Application / Transport Interface. Transport Layer Services. Transport Layer Connections

Transport Layer. Application / Transport Interface. Transport Layer Services. Transport Layer Connections Application / Transport Interface Application requests service from transport layer Transport Layer Application Layer Prepare Transport service requirements Data for transport Local endpoint node address

More information

CSCD 330 Network Programming

CSCD 330 Network Programming CSCD 330 Network Programming Lecture 10 Transport Layer Continued Spring 2018 Reading: Chapter 3 Some Material in these slides from J.F Kurose and K.W. Ross All material copyright 1996-2007 1 Last Time.

More information

Transport Protocols. Raj Jain. Washington University in St. Louis

Transport Protocols. Raj Jain. Washington University in St. Louis Transport Protocols Raj Jain Washington University Saint Louis, MO 63131 Jain@cse.wustl.edu These slides are available on-line at: http://www.cse.wustl.edu/~jain/cse473-05/ 16-1 Overview q TCP q Key features

More information

UNIT IV -- TRANSPORT LAYER

UNIT IV -- TRANSPORT LAYER UNIT IV -- TRANSPORT LAYER TABLE OF CONTENTS 4.1. Transport layer. 02 4.2. Reliable delivery service. 03 4.3. Congestion control. 05 4.4. Connection establishment.. 07 4.5. Flow control 09 4.6. Transmission

More information

TCP congestion control:

TCP congestion control: TCP congestion control: Probing for usable bandwidth: Ideally: transmit as fast as possible (cwnd as large as possible) without loss Increase cwnd until loss (congestion) Loss: decrease cwnd, then begin

More information

TCP: Flow and Error Control

TCP: Flow and Error Control 1 TCP: Flow and Error Control Required reading: Kurose 3.5.3, 3.5.4, 3.5.5 CSE 4213, Fall 2006 Instructor: N. Vlajic TCP Stream Delivery 2 TCP Stream Delivery unlike UDP, TCP is a stream-oriented protocol

More information

Transport Protocols & TCP TCP

Transport Protocols & TCP TCP Transport Protocols & TCP CSE 3213 Fall 2007 13 November 2007 1 TCP Services Flow control Connection establishment and termination Congestion control 2 1 TCP Services Transmission Control Protocol (RFC

More information

Fall 2012: FCM 708 Bridge Foundation I

Fall 2012: FCM 708 Bridge Foundation I Fall 2012: FCM 708 Bridge Foundation I Prof. Shamik Sengupta Instructor s Website: http://jjcweb.jjay.cuny.edu/ssengupta/ Blackboard Website: https://bbhosted.cuny.edu/ Intro to Computer Networking Transport

More information

Overview. TCP congestion control Computer Networking. TCP modern loss recovery. TCP modeling. TCP Congestion Control AIMD

Overview. TCP congestion control Computer Networking. TCP modern loss recovery. TCP modeling. TCP Congestion Control AIMD Overview 15-441 Computer Networking Lecture 9 More TCP & Congestion Control TCP congestion control TCP modern loss recovery TCP modeling Lecture 9: 09-25-2002 2 TCP Congestion Control Changes to TCP motivated

More information

Chapter 24. Transport-Layer Protocols

Chapter 24. Transport-Layer Protocols Chapter 24. Transport-Layer Protocols 23.1 Introduction 23.2 User Datagram Protocol 23.3 Transmission Control Protocol 23.4 SCTP Computer Networks 24-1 Position of Transport-Layer Protocols UDP is an unreliable

More information

Lecture 4: Congestion Control

Lecture 4: Congestion Control Lecture 4: Congestion Control Overview Internet is a network of networks Narrow waist of IP: unreliable, best-effort datagram delivery Packet forwarding: input port to output port Routing protocols: computing

More information

Chapter 3 outline. 3.5 Connection-oriented transport: TCP. 3.6 Principles of congestion control 3.7 TCP congestion control

Chapter 3 outline. 3.5 Connection-oriented transport: TCP. 3.6 Principles of congestion control 3.7 TCP congestion control Chapter 3 outline 3.1 Transport-layer services 3.2 Multiplexing and demultiplexing 3.3 Connectionless transport: UDP 3.4 Principles of reliable data transfer 3.5 Connection-oriented transport: TCP segment

More information

Transport Layer. -UDP (User Datagram Protocol) -TCP (Transport Control Protocol)

Transport Layer. -UDP (User Datagram Protocol) -TCP (Transport Control Protocol) Transport Layer -UDP (User Datagram Protocol) -TCP (Transport Control Protocol) 1 Transport Services The transport layer has the duty to set up logical connections between two applications running on remote

More information

file:///c:/users/hpguo/dropbox/website/teaching/fall 2017/CS4470/H...

file:///c:/users/hpguo/dropbox/website/teaching/fall 2017/CS4470/H... 1 of 9 11/26/2017, 11:28 AM Homework 3 solutions 1. A window holds bytes 2001 to 5000. The next byte to be sent is 3001. Draw a figure to show the situation of the window after the following two events:

More information

7. TCP 최양희서울대학교컴퓨터공학부

7. TCP 최양희서울대학교컴퓨터공학부 7. TCP 최양희서울대학교컴퓨터공학부 1 TCP Basics Connection-oriented (virtual circuit) Reliable Transfer Buffered Transfer Unstructured Stream Full Duplex Point-to-point Connection End-to-end service 2009 Yanghee Choi

More information

Chapter 6. What happens at the Transport Layer? Services provided Transport protocols UDP TCP Flow control Congestion control

Chapter 6. What happens at the Transport Layer? Services provided Transport protocols UDP TCP Flow control Congestion control Chapter 6 What happens at the Transport Layer? Services provided Transport protocols UDP TCP Flow control Congestion control OSI Model Hybrid Model Software outside the operating system Software inside

More information

Transport Protocols and TCP: Review

Transport Protocols and TCP: Review Transport Protocols and TCP: Review CSE 6590 Fall 2010 Department of Computer Science & Engineering York University 1 19 September 2010 1 Connection Establishment and Termination 2 2 1 Connection Establishment

More information

TCP Service Model. Today s Lecture. TCP Support for Reliable Delivery. EE 122:TCP, Connection Setup, Reliability

TCP Service Model. Today s Lecture. TCP Support for Reliable Delivery. EE 122:TCP, Connection Setup, Reliability Today s Lecture How does TCP achieve correct operation? EE 122:TCP, Connection Setup, Reliability Ion Stoica TAs: Junda Liu, DK Moon, David Zats Reliability in the face of IP s best effort service 3-way

More information

Lecture 5: Flow Control. CSE 123: Computer Networks Alex C. Snoeren

Lecture 5: Flow Control. CSE 123: Computer Networks Alex C. Snoeren Lecture 5: Flow Control CSE 123: Computer Networks Alex C. Snoeren Pipelined Transmission Sender Receiver Sender Receiver Ignored! Keep multiple packets in flight Allows sender to make efficient use of

More information

Outline Computer Networking. TCP slow start. TCP modeling. TCP details AIMD. Congestion Avoidance. Lecture 18 TCP Performance Peter Steenkiste

Outline Computer Networking. TCP slow start. TCP modeling. TCP details AIMD. Congestion Avoidance. Lecture 18 TCP Performance Peter Steenkiste Outline 15-441 Computer Networking Lecture 18 TCP Performance Peter Steenkiste Fall 2010 www.cs.cmu.edu/~prs/15-441-f10 TCP congestion avoidance TCP slow start TCP modeling TCP details 2 AIMD Distributed,

More information

Reliable Transport II: TCP and Congestion Control

Reliable Transport II: TCP and Congestion Control Reliable Transport II: TCP and Congestion Control Stefano Vissicchio UCL Computer Science COMP0023 Recap: Last Lecture Transport Concepts Layering context Transport goals Transport mechanisms and design

More information

Lecture 3: The Transport Layer: UDP and TCP

Lecture 3: The Transport Layer: UDP and TCP Lecture 3: The Transport Layer: UDP and TCP Prof. Shervin Shirmohammadi SITE, University of Ottawa Prof. Shervin Shirmohammadi CEG 4395 3-1 The Transport Layer Provides efficient and robust end-to-end

More information

Transport Layer Marcos Vieira

Transport Layer Marcos Vieira Transport Layer 2014 Marcos Vieira Transport Layer Transport protocols sit on top of network layer and provide Application-level multiplexing ( ports ) Error detection, reliability, etc. UDP User Datagram

More information

An Issue in NewReno After Fast Recovery. Yoshifumi Nishida

An Issue in NewReno After Fast Recovery. Yoshifumi Nishida An Issue in NewReno After Fast Recovery Yoshifumi Nishida nishida@dyyno.com RFC3782 Definition Definition of Fast Retransmit and Fast Recovery Algorithm (Step 5 of fast retransmit fast recovery) When a

More information

Advanced Computer Networks

Advanced Computer Networks Advanced Computer Networks Congestion control in TCP Contents Principles TCP congestion control states Congestion Fast Recovery TCP friendly applications Prof. Andrzej Duda duda@imag.fr http://duda.imag.fr

More information

F-RTO: An Enhanced Recovery Algorithm for TCP Retransmission Timeouts

F-RTO: An Enhanced Recovery Algorithm for TCP Retransmission Timeouts F-RTO: An Enhanced Recovery Algorithm for TCP Retransmission Timeouts Pasi Sarolahti Nokia Research Center pasi.sarolahti@nokia.com Markku Kojo, Kimmo Raatikainen University of Helsinki Department of Computer

More information

Announcements Computer Networking. Outline. Transport Protocols. Transport introduction. Error recovery & flow control. Mid-semester grades

Announcements Computer Networking. Outline. Transport Protocols. Transport introduction. Error recovery & flow control. Mid-semester grades Announcements 15-441 Computer Networking Lecture 16 Transport Protocols Mid-semester grades Based on project1 + midterm + HW1 + HW2 42.5% of class If you got a D+,D, D- or F! must meet with Dave or me

More information

TCP Congestion Control 65KB W

TCP Congestion Control 65KB W TCP Congestion Control 65KB W TO 3DA 3DA TO 0.5 0.5 0.5 0.5 3 3 1 SS SS CA SS CA TCP s Congestion Window Maintenance TCP maintains a congestion window (cwnd), based on packets Sender s window is limited

More information

Recap. TCP connection setup/teardown Sliding window, flow control Retransmission timeouts Fairness, max-min fairness AIMD achieves max-min fairness

Recap. TCP connection setup/teardown Sliding window, flow control Retransmission timeouts Fairness, max-min fairness AIMD achieves max-min fairness Recap TCP connection setup/teardown Sliding window, flow control Retransmission timeouts Fairness, max-min fairness AIMD achieves max-min fairness 81 Feedback Signals Several possible signals, with different

More information

Connection-oriented (virtual circuit) Reliable Transfer Buffered Transfer Unstructured Stream Full Duplex Point-to-point Connection End-to-end service

Connection-oriented (virtual circuit) Reliable Transfer Buffered Transfer Unstructured Stream Full Duplex Point-to-point Connection End-to-end service 최양희서울대학교컴퓨터공학부 Connection-oriented (virtual circuit) Reliable Transfer Buffered Transfer Unstructured Stream Full Duplex Point-to-point Connection End-to-end service 1 2004 Yanghee Choi 2 Addressing: application

More information

Advanced Computer Networks

Advanced Computer Networks Advanced Computer Networks Congestion control in TCP Prof. Andrzej Duda duda@imag.fr http://duda.imag.fr 1 Contents Principles TCP congestion control states Slow Start Congestion Avoidance Fast Recovery

More information

CS457 Transport Protocols. CS 457 Fall 2014

CS457 Transport Protocols. CS 457 Fall 2014 CS457 Transport Protocols CS 457 Fall 2014 Topics Principles underlying transport-layer services Demultiplexing Detecting corruption Reliable delivery Flow control Transport-layer protocols User Datagram

More information

Reliable Transport I: Concepts and TCP Protocol

Reliable Transport I: Concepts and TCP Protocol Reliable Transport I: Concepts and TCP Protocol Stefano Vissicchio UCL Computer Science COMP0023 Today Transport Concepts Layering context Transport goals Transport mechanisms and design choices TCP Protocol

More information

CPSC 441 COMPUTER COMMUNICATIONS MIDTERM EXAM SOLUTION

CPSC 441 COMPUTER COMMUNICATIONS MIDTERM EXAM SOLUTION CPSC 441 COMPUTER COMMUNICATIONS MIDTERM EXAM SOLUTION Department of Computer Science University of Calgary Professor: Carey Williamson March 8, 2013 This is a CLOSED BOOK exam. Textbooks, notes, laptops,

More information

Reliable Transport I: Concepts and TCP Protocol

Reliable Transport I: Concepts and TCP Protocol Reliable Transport I: Concepts and TCP Protocol Brad Karp UCL Computer Science CS 3035/GZ01 29 th October 2013 Part I: Transport Concepts Layering context Transport goals Transport mechanisms 2 Context:

More information

ECE697AA Lecture 3. Today s lecture

ECE697AA Lecture 3. Today s lecture ECE697AA Lecture 3 Transport Layer: TCP and UDP Tilman Wolf Department of Electrical and Computer Engineering 09/09/08 Today s lecture Transport layer User datagram protocol (UDP) Reliable data transfer

More information

Transport layer. UDP: User Datagram Protocol [RFC 768] Review principles: Instantiation in the Internet UDP TCP

Transport layer. UDP: User Datagram Protocol [RFC 768] Review principles: Instantiation in the Internet UDP TCP Transport layer Review principles: Reliable data transfer Flow control Congestion control Instantiation in the Internet UDP TCP 1 UDP: User Datagram Protocol [RFC 768] No frills, bare bones Internet transport

More information

Transport layer. Review principles: Instantiation in the Internet UDP TCP. Reliable data transfer Flow control Congestion control

Transport layer. Review principles: Instantiation in the Internet UDP TCP. Reliable data transfer Flow control Congestion control Transport layer Review principles: Reliable data transfer Flow control Congestion control Instantiation in the Internet UDP TCP 1 UDP: User Datagram Protocol [RFC 768] No frills, bare bones Internet transport

More information

Transport Protocols and TCP

Transport Protocols and TCP Transport Protocols and TCP Functions Connection establishment and termination Breaking message into packets Error recovery ARQ Flow control Multiplexing, de-multiplexing Transport service is end to end

More information

CE693 Advanced Computer Networks

CE693 Advanced Computer Networks CE693 Advanced Computer Networks Review 2 Transport Protocols Acknowledgments: Lecture slides are from the graduate level Computer Networks course thought by Srinivasan Seshan at CMU. When slides are obtained

More information

Topics. TCP sliding window protocol TCP PUSH flag TCP slow start Bulk data throughput

Topics. TCP sliding window protocol TCP PUSH flag TCP slow start Bulk data throughput Topics TCP sliding window protocol TCP PUSH flag TCP slow start Bulk data throughput 2 Introduction In this chapter we will discuss TCP s form of flow control called a sliding window protocol It allows

More information

Problem 7. Problem 8. Problem 9

Problem 7. Problem 8. Problem 9 Problem 7 To best answer this question, consider why we needed sequence numbers in the first place. We saw that the sender needs sequence numbers so that the receiver can tell if a data packet is a duplicate

More information

TCP Enhancements in Linux. Pasi Sarolahti. Berkeley Summer School Outline

TCP Enhancements in Linux. Pasi Sarolahti. Berkeley Summer School Outline TCP Enhancements in Linux Pasi Sarolahti Berkeley Summer School 6.6.2002 Outline TCP details per IETF RFC s Pitfalls in the specifications Linux TCP congestion control engine Features Discussion on performance

More information

Outline. User Datagram Protocol (UDP) Transmission Control Protocol (TCP) Transport layer (cont.) Transport layer. Background UDP.

Outline. User Datagram Protocol (UDP) Transmission Control Protocol (TCP) Transport layer (cont.) Transport layer. Background UDP. Outline User Datagram Protocol (UDP) Transmission Control Protocol (TCP) Matti Siekkinen 22.09.2009 Background UDP Role and Functioning TCP Basics Error control Flow control Congestion control Transport

More information

CS321: Computer Networks Congestion Control in TCP

CS321: Computer Networks Congestion Control in TCP CS321: Computer Networks Congestion Control in TCP Dr. Manas Khatua Assistant Professor Dept. of CSE IIT Jodhpur E-mail: manaskhatua@iitj.ac.in Causes and Cost of Congestion Scenario-1: Two Senders, a

More information

ENRICHMENT OF SACK TCP PERFORMANCE BY DELAYING FAST RECOVERY Mr. R. D. Mehta 1, Dr. C. H. Vithalani 2, Dr. N. N. Jani 3

ENRICHMENT OF SACK TCP PERFORMANCE BY DELAYING FAST RECOVERY Mr. R. D. Mehta 1, Dr. C. H. Vithalani 2, Dr. N. N. Jani 3 Research Article ENRICHMENT OF SACK TCP PERFORMANCE BY DELAYING FAST RECOVERY Mr. R. D. Mehta 1, Dr. C. H. Vithalani 2, Dr. N. N. Jani 3 Address for Correspondence 1 Asst. Professor, Department of Electronics

More information

Transport Over IP. CSCI 690 Michael Hutt New York Institute of Technology

Transport Over IP. CSCI 690 Michael Hutt New York Institute of Technology Transport Over IP CSCI 690 Michael Hutt New York Institute of Technology Transport Over IP What is a transport protocol? Choosing to use a transport protocol Ports and Addresses Datagrams UDP What is a

More information

CS419: Computer Networks. Lecture 10, Part 3: Apr 13, 2005 Transport: TCP performance

CS419: Computer Networks. Lecture 10, Part 3: Apr 13, 2005 Transport: TCP performance : Computer Networks Lecture 10, Part 3: Apr 13, 2005 Transport: TCP performance TCP performance We ve seen how TCP the protocol works But there are a lot of tricks required to make it work well Indeed,

More information

TCP/IP Performance ITL

TCP/IP Performance ITL TCP/IP Performance ITL Protocol Overview E-Mail HTTP (WWW) Remote Login File Transfer TCP UDP IP ICMP ARP RARP (Auxiliary Services) Ethernet, X.25, HDLC etc. ATM 4/30/2002 Hans Kruse & Shawn Ostermann,

More information

Transport Layer PREPARED BY AHMED ABDEL-RAOUF

Transport Layer PREPARED BY AHMED ABDEL-RAOUF Transport Layer PREPARED BY AHMED ABDEL-RAOUF TCP Flow Control TCP Flow Control 32 bits source port # dest port # head len sequence number acknowledgement number not used U A P R S F checksum Receive window

More information

Congestion Control in TCP

Congestion Control in TCP Congestion Control in TCP Outline Overview of RENO TCP Reacting to Congestion SS/AIMD example CS 640 1 TCP Congestion Control The idea of TCP congestion control is for each source to determine how much

More information

Department of Computer and IT Engineering University of Kurdistan. Transport Layer. By: Dr. Alireza Abdollahpouri

Department of Computer and IT Engineering University of Kurdistan. Transport Layer. By: Dr. Alireza Abdollahpouri Department of Computer and IT Engineering University of Kurdistan Transport Layer By: Dr. Alireza Abdollahpouri TCP/IP protocol suite 2 Transport Layer The transport layer is responsible for process-to-process

More information

Computer Communication Networks Midterm Review

Computer Communication Networks Midterm Review Computer Communication Networks Midterm Review ICEN/ICSI 416 Fall 2018 Prof. Aveek Dutta 1 Instructions The exam is closed book, notes, computers, phones. You can use calculator, but not one from your

More information

TCP based Receiver Assistant Congestion Control

TCP based Receiver Assistant Congestion Control International Conference on Multidisciplinary Research & Practice P a g e 219 TCP based Receiver Assistant Congestion Control Hardik K. Molia Master of Computer Engineering, Department of Computer Engineering

More information

CS4700/CS5700 Fundamentals of Computer Networks

CS4700/CS5700 Fundamentals of Computer Networks CS4700/CS5700 Fundamentals of Computer Networks Lecture 14: TCP Slides used with permissions from Edward W. Knightly, T. S. Eugene Ng, Ion Stoica, Hui Zhang Alan Mislove amislove at ccs.neu.edu Northeastern

More information

Improved Selective Acknowledgment Scheme for TCP

Improved Selective Acknowledgment Scheme for TCP Improved Selective Acknowledgment Scheme for TCP Rajkumar Kettimuthu and William Allcock Argonne National Laboratory, Globus Alliance Argonne, IL 60439, USA kettimut, allcock @mcs.anl.gov Abstract A selective

More information

Outline Computer Networking. Functionality Split. Transport Protocols

Outline Computer Networking. Functionality Split. Transport Protocols Outline 15-441 15 441 Computer Networking 15-641 Lecture 10: Transport Protocols Justine Sherry Peter Steenkiste Fall 2017 www.cs.cmu.edu/~prs/15 441 F17 Transport introduction TCP connection establishment

More information

Lecture 7: Flow Control"

Lecture 7: Flow Control Lecture 7: Flow Control" CSE 123: Computer Networks Alex C. Snoeren No class Monday! Lecture 7 Overview" Flow control Go-back-N Sliding window 2 Stop-and-Wait Performance" Lousy performance if xmit 1 pkt

More information

Lecture 20 Overview. Last Lecture. This Lecture. Next Lecture. Transport Control Protocol (1) Transport Control Protocol (2) Source: chapters 23, 24

Lecture 20 Overview. Last Lecture. This Lecture. Next Lecture. Transport Control Protocol (1) Transport Control Protocol (2) Source: chapters 23, 24 Lecture 20 Overview Last Lecture Transport Control Protocol (1) This Lecture Transport Control Protocol (2) Source: chapters 23, 24 Next Lecture Internet Applications Source: chapter 26 COSC244 & TELE202

More information

Transmission Control Protocol (TCP)

Transmission Control Protocol (TCP) Transmission Control Protocol (TCP) Antonio Carzaniga Faculty of Informatics University of Lugano May 3, 2005 Outline Intro to TCP Sequence numbers and acknowledgment numbers Timeouts and RTT estimation

More information

TCP Review. Carey Williamson Department of Computer Science University of Calgary Winter 2018

TCP Review. Carey Williamson Department of Computer Science University of Calgary Winter 2018 TCP Review Carey Williamson Department of Computer Science University of Calgary Winter 2018 Credit: Much of this content came courtesy of Erich Nahum (IBM Research) The TCP Protocol Connection-oriented,

More information

Communication Networks

Communication Networks Communication Networks Spring 2018 Laurent Vanbever nsg.ee.ethz.ch ETH Zürich (D-ITET) April 30 2018 Materials inspired from Scott Shenker & Jennifer Rexford Last week on Communication Networks We started

More information

Computer Networks and Data Systems

Computer Networks and Data Systems Computer Networks and Data Systems Transport Layer TDC463 Winter 2011/12 John Kristoff - DePaul University 1 Why a transport layer? IP gives us end-to-end connectivity doesn't it? Why, or why not, more

More information

05 Transmission Control Protocol (TCP)

05 Transmission Control Protocol (TCP) SE 4C03 Winter 2003 05 Transmission Control Protocol (TCP) Instructor: W. M. Farmer Revised: 06 February 2003 1 Interprocess Communication Problem: How can a process on one host access a service provided

More information

Computer Networking Introduction

Computer Networking Introduction Computer Networking Introduction Halgurd S. Maghdid Software Engineering Department Koya University-Koya, Kurdistan-Iraq Lecture No.11 Chapter 3 outline 3.1 transport-layer services 3.2 multiplexing and

More information

Network Protocols. Transmission Control Protocol (TCP) TDC375 Autumn 2009/10 John Kristoff DePaul University 1

Network Protocols. Transmission Control Protocol (TCP) TDC375 Autumn 2009/10 John Kristoff DePaul University 1 Network Protocols Transmission Control Protocol (TCP) TDC375 Autumn 2009/10 John Kristoff DePaul University 1 IP review IP provides just enough connected ness Global addressing Hop by hop routing IP over

More information

SSFNET TCP Simulation Analysis by tcpanaly

SSFNET TCP Simulation Analysis by tcpanaly SSFNET TCP Simulation Analysis by tcpanaly Hongbo Liu hongbol@winlabrutgersedu Apr 16, 2000 Abstract SSFNET is a collection of SSF-based models for simulating Internet protocols and networks It is designed

More information

CSCI-1680 Transport Layer II Data over TCP Rodrigo Fonseca

CSCI-1680 Transport Layer II Data over TCP Rodrigo Fonseca CSCI-1680 Transport Layer II Data over TCP Rodrigo Fonseca Based partly on lecture notes by David Mazières, Phil Levis, John Janno< Last Class CLOSED Passive open Close Close LISTEN Introduction to TCP

More information

Transport Layer: outline

Transport Layer: outline Transport Layer: outline Transport-layer services Multiplexing and demultiplexing Connectionless transport: UDP Principles of reliable data transfer Connection-oriented transport: TCP Segment structure

More information

Multiple unconnected networks

Multiple unconnected networks TCP/IP Life in the Early 1970s Multiple unconnected networks ARPAnet Data-over-cable Packet satellite (Aloha) Packet radio ARPAnet satellite net Differences Across Packet-Switched Networks Addressing Maximum

More information

TCP Strategies. Keepalive Timer. implementations do not have it as it is occasionally regarded as controversial. between source and destination

TCP Strategies. Keepalive Timer. implementations do not have it as it is occasionally regarded as controversial. between source and destination Keepalive Timer! Yet another timer in TCP is the keepalive! This one is not required, and some implementations do not have it as it is occasionally regarded as controversial! When a TCP connection is idle

More information

TCP Overview. Connection-oriented Byte-stream

TCP Overview. Connection-oriented Byte-stream TCP Overview Connection-oriented Byte-stream app writes bytes TCP sends segments app reads bytes Full duplex Flow control: keep sender from overrunning receiver Congestion control: keep sender from overrunning

More information

ECE 435 Network Engineering Lecture 10

ECE 435 Network Engineering Lecture 10 ECE 435 Network Engineering Lecture 10 Vince Weaver http://web.eece.maine.edu/~vweaver vincent.weaver@maine.edu 28 September 2017 Announcements HW#4 was due HW#5 will be posted. midterm/fall break You

More information

CMSC 417. Computer Networks Prof. Ashok K Agrawala Ashok Agrawala. October 25, 2018

CMSC 417. Computer Networks Prof. Ashok K Agrawala Ashok Agrawala. October 25, 2018 CMSC 417 Computer Networks Prof. Ashok K Agrawala 2018 Ashok Agrawala Message, Segment, Packet, and Frame host host HTTP HTTP message HTTP TCP TCP segment TCP router router IP IP packet IP IP packet IP

More information

Intro to LAN/WAN. Transport Layer

Intro to LAN/WAN. Transport Layer Intro to LAN/WAN Transport Layer Transport Layer Topics Introduction (6.1) Elements of Transport Protocols (6.2) Internet Transport Protocols: TDP (6.5) Internet Transport Protocols: UDP (6.4) socket interface

More information

Chapter 3- parte B outline

Chapter 3- parte B outline Chapter 3- parte B outline 3.1 transport-layer services 3.2 multiplexing and demultiplexing 3.3 connectionless transport: UDP 3.4 principles of reliable data transfer 3.5 connection-oriented transport:

More information

Congestion Control. Brighten Godfrey CS 538 January Based in part on slides by Ion Stoica

Congestion Control. Brighten Godfrey CS 538 January Based in part on slides by Ion Stoica Congestion Control Brighten Godfrey CS 538 January 31 2018 Based in part on slides by Ion Stoica Announcements A starting point: the sliding window protocol TCP flow control Make sure receiving end can

More information

Transport Protocols Reading: Sections 2.5, 5.1, and 5.2. Goals for Todayʼs Lecture. Role of Transport Layer

Transport Protocols Reading: Sections 2.5, 5.1, and 5.2. Goals for Todayʼs Lecture. Role of Transport Layer Transport Protocols Reading: Sections 2.5, 5.1, and 5.2 CS 375: Computer Networks Thomas C. Bressoud 1 Goals for Todayʼs Lecture Principles underlying transport-layer services (De)multiplexing Detecting

More information

Chapter 3 Review Questions

Chapter 3 Review Questions Chapter 3 Review Questions. 2. 3. Source port number 6 and destination port number 37. 4. TCP s congestion control can throttle an application s sending rate at times of congestion. Designers of applications

More information

ETSF05/ETSF10 Internet Protocols Transport Layer Protocols

ETSF05/ETSF10 Internet Protocols Transport Layer Protocols ETSF05/ETSF10 Internet Protocols Transport Layer Protocols 2016 Jens Andersson Transport Layer Communication between applications Process-to-process delivery Client/server concept Local host Normally initialiser

More information

Transport Layer Protocols. Internet Transport Layer. Agenda. TCP Fundamentals

Transport Layer Protocols. Internet Transport Layer. Agenda. TCP Fundamentals Transport Layer Protocols Application SMTP HTTP FTP Telnet DNS BootP DHCP ( M I M E ) Presentation Session SNMP TFTP Internet Transport Layer TCP Fundamentals, TCP Performance Aspects, UDP (User Datagram

More information