CSC 401 Data and Computer Communications Networks
|
|
- Lewis Murphy
- 6 years ago
- Views:
Transcription
1 CSC 401 Data and Computer Communications Networks Transport Layer TCP Connection Management & Congestion Control Sec 3.6 and 3.7 Prof. Lina Battestilli Fall 2017
2 Transport Layer 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 structure, reliable data transfer, flow control, connection management 3.6 Principles of Congestion Control 3.7 TCP Congestion Control
3 Connection Management before exchanging data, sender/receiver handshake : agree to establish connection (each knowing the other willing to establish connection) agree on connection parameters application connection state: ESTAB connection variables: seq # client-to-server server-to-client rcvbuffer size at server,client network application connection state: ESTAB connection Variables: seq # client-to-server server-to-client rcvbuffer size at server,client network Socket clientsocket = newsocket("hostname","port number"); Socket connectionsocket = welcomesocket.accept(); 7
4 Agreeing to establish a connection 2-way handshake: Q: Will 2-way handshake always work in network? ESTAB choose x ESTAB Let s talk OK req_conn(x) ack_conn(x) ESTAB ESTAB variable delays retransmitted messages (e.g. req_conn(x)) due to message loss message reordering can t see other side 8
5 Agreeing to establish a connection 2-way handshake failure scenarios: choose x retransmit req_conn(x) req_conn(x) ack_conn(x) ESTAB choose x retransmit req_conn(x) req_conn(x) ack_conn(x) ESTAB ESTAB client terminates req_conn(x) connection x completes server forgets x ESTAB retransmit data(x+1) client terminates data(x+1) connection x completes req_conn(x) accept data(x+1) server forgets x half open connection! (no client!) ESTAB data(x+1) ESTAB accept data(x+1) 9
6 TCP 3-way handshake client state LISTEN SYNSENT ESTAB choose init seq num, x send TCP SYN msg received SYNACK(x) indicates server is live; send ACK for SYNACK; this segment may contain client-to-server data SYNbit=1, Seq=x SYNbit=1, Seq=y ACKbit=1; ACKnum=x+1 ACKbit=1, ACKnum=y+1 choose init seq num, y send TCP SYNACK msg, acking SYN received ACK(y) indicates client is live server state LISTEN SYN RCVD ESTAB 10
7 TCP 3-way handshake: FSM closed Socket connectionsocket = welcomesocket.accept(); SYN(x) SYNACK(seq=y,ACKnum=x+1) create new socket for communication back to client L listen Socket clientsocket = newsocket("hostname","port number"); SYN(seq=x) SYN rcvd SYN sent ACK(ACKnum=y+1) L ESTAB SYNACK(seq=y,ACKnum=x+1) ACK(ACKnum=y+1) 11
8 TCP: closing a connection client state server state ESTAB ESTAB clientsocket.close() FIN_WAIT_1 FIN_WAIT_2 can no longer send but can receive data wait for server close FINbit=1, seq=x ACKbit=1; ACKnum=x+1 can still send data CLOSE_WAIT TIMED_WAIT timed wait for 2*max segment lifetime FINbit=1, seq=y ACKbit=1; ACKnum=y+1 can no longer send data LAST_ACK CLOSED CLOSED client, server each close their side of connection, send TCP segment with FIN bit = 1 respond to received FIN with ACK, on receiving FIN, ACK can be combined with own FIN 12
9 TCP State Diagram Opening a connection Sending & Receiving Closing a connection 13
10 Transport Layer 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 structure, reliable data transfer, flow control, connection management 3.6 Principles of Congestion Control 3.7 TCP Congestion Control
11 Principles of congestion control congestion: informally: too many sources sending too much data too fast for network to handle different from flow control! manifestations: lost packets (buffer overflow at routers) long delays (queueing in router buffers) top-10 list of important networking topics! 16
12 Time Scales of Congestion 17
13 What causes congestion? A D(t) 12Mbps C B Cumulative Bits Q(t) A 1 (t) + A 2 (t) D(t) What would be a fair way to share the capacity? What if the buffer is finite? t 18
14 Another example A Mbps 12Mbps D B C Packets will be dropped How to prevent sending traffic, which will be dropped at a downstream router Not obvious how to split the links between the senders 19
15 Observations about Congestion 1. Congestion is inevitable, and arguably desirable. 2. Congestion happens at different time scales 3. If packets are dropped then retransmissions can make congestion even worse. resources are wasted upstream before the actual node where they were dropped 4. We need a definition of fairness, to decide how we want flows to share a bottleneck link. 20
16 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 network-assisted congestion control: routers provide feedback to end systems single bit indicating congestion (SNA, DECbit, TCP/IP ECN, ATM) explicit rate for sender to send at 21
17 Network-Assisted Congestion Control Example ATM ABR: available bit rate: elastic service if sender s path underloaded : sender should use available bandwidth if sender s path congested: sender throttled to minimum guaranteed rate RM (resource management) cells: sent by sender, interspersed with data cells bits in RM cell set by switches ( networkassisted ) NI bit: no increase in rate (mild congestion) CI bit: congestion indication Sec in textbook RM cells returned to sender by receiver, with bits intact RM cell data cell 22
18 Transport Layer 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 structure, reliable data transfer, flow control, connection management 3.6 Principles of Congestion Control 3.7 TCP Congestion Control
19 TCP Congestion Control TCP implements congestion control at the end-host. Reacts to events observable at the end host (e.g. packet loss). Exploits TCP s sliding window used for flow control. Tries to figure out how many packets it can safely have outstanding in the network at a time. 24
20 TCP Sliding Window LastByteAcked LastByteSent 25
21 TCP Sending Rate TCP sending rate (roughly): send window bytes, wait RTT for ACKS, then send more bytes Window Size rate ~ RTT bytes/sec 26
22 TCP History Timeline ARPAnet starts using TCP/IP 3-way handshake 1978 Van Jacobson & Karels, publish seminal TCP Congestion Control paper (Tahoe) BBR (Bottleneck and RTT) Congestion Control - by Google 1974 TCP and IP split 1983 into TCP/IP 1988 Fast recovery added (Reno) 2016 Internet begins to suffer congestion collapse C/2 l out l in C/2
23 Original TCP (before Tahoe) Original Implementation: Sender knows the flow control window size of the receiver On connection establishment, send a full window of packets Start a retransmit timer for each packet Problem: what if window is much larger than what network can support? 20Kbps Tahoe Improvements: Congestion window Timeout estimation Self-clocking Figure from Congestion Avoidance and Control, Van Jacobson and Michael Karels,
24 TCP Tahoe Congestion Window TCP varies the number of outstanding packets in the network by varying the window size: Window size = min{advertised window, Congestion Window} LastByteSent LastByteAcked the window is dynamic, function of perceived network congestion rwind based on the receiver buffer cwnd based on network congestion Q: How does the sender figure out the value for cwnd? 29
25 TCP is Self-Clocking Suppose congestion free, i.e., no loss occurring If ACK arrive then TCP will take that as indication that all is well along the path ACKs arrival rate used to clock the increase/decrease the size of the congestion window if ACKs arrive slowly then congestion window will be increased slowly if ACKs arrive fast then congestion window will be increased fast 30
26 TCP Congestion Control 1.Slow Start upon startup/timeout 2.Congestion Avoidance using AIMD in steady state Tahoe 3.Fast recovery to patch occasional loss Reno 31
27 RTT TCP Slow Start When connection begins, increase rate exponentially until first loss event: initially cwnd = 1 MSS double cwnd every RTT done by incrementing cwnd for every ACK received Host A Host B Summary: initial rate is slow but ramps up exponentially fast slow compared to prior approach time 32
28 Transition from Slow Start When should the exponential growth of the window end? Loss determined via Timeout cwnd = 1 ssthresh = cwnd/2 Slow Start begins again Reaching sshthresh Transition to Congestion Avoidance Loss determined via 3 Duplicate ACKs Fast retransmit Transition to Fast Recovery 33
29 TCP Congestion Control 1.Slow Start upon startup/timeout 2.Congestion Avoidance using AIMD in steady state Tahoe 3.Fast recovery to patch occasional loss Reno 34
30 TCP: Slow Start to Congestion Avoidance on Loss/Timeout event Ssthresh = 1/2 of cwnd just before loss event occured Sender has two parameters for congestion control ssthresh;initial value is bytes cwnd; initial value is MSS bytes (default is 536 bytes ) Tahoe: cwnd = 1 MSS Reno: cwnd = cwnd/2 35
31 cwnd: TCP sender congestion window size TCP Congestion Avoidance - AIMD Additive Increase, Multiplicative Decrease (AIMD) additive increase: multiplicative decrease: Until packet loss: increase cwnd by 1 MSS every RTT After packet loss: cwnd set to cwnd/2 additively increase window size. until loss occurs (then cut window in half) AIMD saw tooth behavior: probing for bandwidth 36
32 Transition from Congestion Avoidance When should linear increase of the window end? Loss/Timeout cwnd = 1 ssthresh = cwnd/2 Transition to Slow Start Loss/3 Duplicate ACKs Transition to Fast Recovery 38
33 TCP Congestion Control 1.Slow Start upon startup/timeout 2.Congestion Avoidance using AIMD in steady state Tahoe 3.Fast recovery to patch occasional loss Reno 39
34 TCP Fast recovery (Reno) When loss detected due to 3 duplicate ACKs, network still capable of delivering some segments cwnd = cwnd/2 set to half window then grows linearly Recommended but not required RFC
35 Transition from Fast Recovery Loss/Timeout cwnd = 1 ssthresh = cwnd/2 transition to Slow Start NEW ACK received cwnd = sstresh Transition to Congestion Avoidance 41
36 Summary: TCP Congestion Control L cwnd = 1 MSS ssthresh = 64 KB dupackcount = 0 timeout ssthresh = cwnd/2 cwnd = 1 MSS dupackcount = 0 retransmit missing segment dupackcount == 3 ssthresh= cwnd/2 cwnd = ssthresh + 3 retransmit missing segment duplicate ACK dupackcount++ slow start New ACK! new ACK cwnd = cwnd+mss dupackcount = 0 transmit new segment(s), as allowed cwnd > ssthresh L timeout ssthresh = cwnd/2 cwnd = 1 MSS dupackcount = 0 retransmit missing segment timeout ssthresh = cwnd/2 cwnd = 1 dupackcount = 0 retransmit missing segment fast recovery duplicate ACK new ACK cwnd = cwnd + MSS (MSS/cwnd) dupackcount = 0 transmit new segment(s), as allowed cwnd = ssthresh dupackcount = 0 congestion avoidance New ACK! New ACK cwnd = cwnd + MSS transmit new segment(s), as allowed. New ACK! duplicate ACK dupackcount++ dupackcount == 3 ssthresh= cwnd/2 cwnd = ssthresh + 3 retransmit missing segment 43
37 TCP Congestion Animation 44
38 TCP throughput macroscopic model Avg. TCP throughput is a function of window size and RTT? ignore Slow Start, assume always data to send W: window size (measured in bytes) where loss occurs avg. window size (# in-flight bytes) is ¾ W avg. throughput is 3/4W per RTT avg TCP thruput = 3 4 W RTT bytes/sec W W/2 45
39 TCP throughput more practical model Throughput in terms of segment loss probability, L, round-trip time RTT and maximum segment size MSS TCP throughput = MSS RTT L Note Inversely proportional to RTT if long RTT then low throughput Inversely proportional to loss rate if loss rate is high then low throughput The Macroscopic Behavior of the TCP Congestion Avoidance Algorithm, Mathis et al
40 TCP Futures: TCP over long, fat pipes Example: 1500 byte MSS, 100ms RTT, want 10 Gbps throughput requires W = 83,333 in-flight segments throughput in terms of segment loss probability, L TCP throughput = MSS RTT L to achieve 10 Gbps throughput, need a loss rate of L = (loss ever segments) a very small loss rate! new versions of TCP are needed for high-speed links! 47
41 TCP Innovation Many variants proposed summary in [Afanasyev 2010] TCP Vegas (RFC 2018, yr 1995) attempts to avoid congestion while maintaining good throughput, selective acknowledgments Others: TCP Hybla, TCP BIC, TCP CUBIC, Agile-SD TCP, TCP Westwood+, Compound TCP, etc. TCP Proportional Rate Reduction (RFC 6937, yr 2013) - window size after recovery is as close as possible to the slow start threshold. used as default in Linux kernels since ver 3.2 TCP Splitting (Performance Enhancing Proxy) summary in [Chen 2011] Used to solve TCP problems with large RTTs Breaks the end-to-end connection into multiple connections and using different parameters to transfer data across the different legs. end systems use standard TCP with no modifications 48
42 TCP Fairness fairness goal: if K TCP sessions share same bottleneck link of bandwidth R, each should have average rate of R/K TCP connection 1 TCP connection 2 bottleneck router capacity R 49
43 two competing sessions: Why is TCP fair? additive increase gives slope of 1, as throughout increases multiplicative decrease decreases throughput proportionally R equal bandwidth share loss: decrease window by factor of 2 congestion avoidance: additive increase loss: decrease window by factor of 2 congestion avoidance: additive increase Connection 1 throughput R In practice, smaller RTT connections can grab bandwidth more quickly have higher throughput 50
44 Fairness (more) Fairness and UDP multimedia apps often do not use TCP do not want rate throttled by congestion control instead use UDP: send audio/video at constant rate, tolerate packet loss Fairness, parallel TCP connections application can open multiple parallel connections between two hosts web browsers do this e.g., link of rate R with 9 existing connections: new app asks for 1 TCP, gets rate R/10 new app asks for 11 TCPs, gets R/2 51
45 Chapter 3: summary principles behind transport layer services: multiplexing, demultiplexing reliable data transfer flow control congestion control instantiation, implementation in the Internet UDP TCP next: leaving the network edge (application, transport layers) into the network core 52
46 References Some of the slides are identical or derived from 1. Slides for the 7 th edition of the book Kurose & Ross, Computer Networking: A Top-Down Approach, 2. Computer Networking, Nick McKeown and Philip Levis, 2014 Stanford University
CMPE 150/L : Introduction to Computer Networks. Chen Qian Computer Engineering UCSC Baskin Engineering Lecture 10
CMPE 150/L : Introduction to Computer Networks Chen Qian Computer Engineering UCSC Baskin Engineering Lecture 10 1 Midterm exam Midterm next Thursday Close book but one-side 8.5"x11" note is allowed (must
More informationTCP reliable data transfer. Chapter 3 outline. TCP sender events: TCP sender (simplified) TCP: retransmission scenarios. TCP: retransmission scenarios
Chapter 3 outline TCP reliable 3.2 principles of reliable 3.3 connection-oriented flow 3.4 principles of congestion 3.5 TCP congestion TCP creates rdt service on top of IP s unreliable service pipelined
More informationTCP: Overview RFCs: 793,1122,1323, 2018, 2581
TCP: Overview RFCs: 793,1122,1323, 2018, 2581 point-to-point: one sender, one receiver reliable, in-order byte steam: no message boundaries pipelined: TCP congestion and flow control set window size full
More informationChapter 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 informationChapter 3 Transport Layer
Chapter 3 Transport Layer Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Addison-Wesley March 2012 Slides adopted from original ones provided by the textbook authors. Transport
More informationChapter III: Transport Layer
Chapter III: Transport Layer UG3 Computer Communications & Networks (COMN) Myungjin Lee myungjin.lee@ed.ac.uk Slides copyright of Kurose and Ross TCP: Overview RFCs: 793,1122,1323, 2018, 2581 point-to-point:
More informationCSC 4900 Computer Networks: TCP
CSC 4900 Computer Networks: TCP Professor Henry Carter Fall 2017 Chapter 3 outline 3.1 Transport-layer services 3.2 Multiplexing and demultiplexing 3.3 Connectionless transport: UDP 3.4 Principles of reliable
More informationChapter 3 Transport Layer
Chapter 3 Transport Layer Part c Congestion Control Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Addison-Wesley Transport Layer 3-1 Chapter 3 outline 3.1 transport-layer
More informationCSC 401 Data and Computer Communications Networks
CSC 401 Data and Computer Communications Networks Transport Layer Connection Oriented Transport: TCP Sec 3.5 Prof. Lina Battestilli Fall 2017 Transport Layer Chapter 3 Outline 3.1 Transport-layer Services
More informationChapter 3 Transport Layer
Chapter 3 Transport Layer A note on the use of these ppt slides: We re making these slides freely available to all (faculty, students, readers). They re in PowerPoint form so you can add, modify, and delete
More informationCSC 8560 Computer Networks: TCP
CSC 8560 Computer Networks: TCP Professor Henry Carter Fall 2017 Project 2: mymusic You will be building an application that allows you to synchronize your music across machines. The details of which are
More informationChapter III: Transport Layer
Chapter III: Transport Layer UG3 Computer Communications & Networks (COMN) Mahesh Marina mahesh@ed.ac.uk Slides thanks to Myungjin Lee and copyright of Kurose and Ross Principles of congestion control
More informationChapter 3 Transport Layer
Chapter 3 Transport Layer 1 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
More informationrdt3.0: channels with errors and loss
rdt3.0: channels with errors and loss new assumption: underlying channel can also lose packets (data, ACKs) checksum, seq. #, ACKs, retransmissions will be of help but not enough approach: sender waits
More informationChapter 3 Transport Layer
Chapter 3 Transport Layer A note on the use of these Powerpoint slides: We re making these slides freely available to all (faculty, students, readers). They re in PowerPoint form so you see the animations;
More informationChapter 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 informationChapter 3 Transport Layer
Chapter 3 Transport Layer Part b Connection-Oriented Transport Transport Layer 3-1 Chapter 3 outline 3.1 transport-layer services 3.2 multiplexing and demultiplexing 3.3 connectionless transport: UDP 3.4
More informationComputer Networking Introduction
Computer Networking Introduction Halgurd S. Maghdid Software Engineering Department Koya University-Koya, Kurdistan-Iraq Lecture No.10 Chapter 3 outline 3.1 transport-layer services 3.2 multiplexing and
More informationChapter 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 informationChapter 3 outline. 3.5 connection-oriented transport: TCP segment structure reliable data transfer flow control connection management
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 informationCSC358 Week 5. Adapted from slides by J.F. Kurose and K. W. Ross. All material copyright J.F Kurose and K.W. Ross, All Rights Reserved
CSC358 Week 5 Adapted from slides by J.F. Kurose and K. W. Ross. All material copyright 1996-2016 J.F Kurose and K.W. Ross, All Rights Reserved Recap: Reliable Data Transfer rdt3.0 stop-and-wait checksum
More informationMid Term Exam Results
Mid Term Exam Results v Grade Count Percentage v 20-29 1 2.38% v 40-49 2 4.76% v 50-59 5 11.90% v 60-69 18 42.86% v 70-80 16 38.10% Please hand the paper back to me after this class since we have to update
More informationCS 4390 Computer Networks. Pointers to Corresponding Section of Textbook
CS 4390 Computer Networks UT D application transport network data link physical Session 10 Transmission Control Protocol (TCP) An Overview Adapted from Computer Networking a Top-Down Approach 1996-2012
More informationCMPE 150/L : Introduction to Computer Networks. Chen Qian Computer Engineering UCSC Baskin Engineering Lecture 9
CMPE 150/L : Introduction to Computer Networks Chen Qian Computer Engineering UCSC Baskin Engineering Lecture 9 1 Chapter 3 outline 3.1 transport-layer services 3.2 multiplexing and demultiplexing 3.3
More informationChapter III: Transport Layer
Chapter III: Transport Layer UG3 Computer Communications & Networks (COMN) Mahesh Marina mahesh@ed.ac.uk Slides thanks to Myungjin Lee and copyright of Kurose and Ross TCP: Overview RFCs: 793,1122,1323,
More information10 minutes survey (anonymous)
10 minutes survey (anonymous) v Comments/Suggestions to my lecture/lab/ homework/exam v If you like this course, which part do you like? v If you don t like it, which part do you not like? Thanks! Transport
More informationCNT 6885 Network Review on Transport Layer
CNT 6885 Network Review on Transport Layer Jonathan Kavalan, Ph.D. Department of Computer, Information Science and Engineering (CISE), University of Florida User Datagram Protocol [RFC 768] no frills,
More informationTCP (Part 2) Session 10 INST 346 Technologies, Infrastructure and Architecture
TCP (Part 2) Session 10 INST 346 Technologies, Infrastructure and Architecture Muddiest Points Reading pseudocode Reading finite state diagrams What parts of rdt are in TCP? Goals for Today Finish up TCP
More informationChapter 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 informationCS 43: Computer Networks. 19: TCP Flow and Congestion Control October 31, Nov 2, 2018
CS 43: Computer Networks 19: TCP Flow and Congestion Control October 31, Nov 2, 2018 Five-layer Internet Model Application: the application (e.g., the Web, Email) Transport: end-to-end connections, reliability
More informationChapter 3 Transport Layer
Chapter 3 Transport Layer All material copyright 1996-2016 J.F Kurose and K.W. Ross, All Rights Reserved Computer Networking: A Top Down Approach 7 th edition Jim Kurose, Keith Ross Pearson/Addison Wesley
More informationCC451 Computer Networks
CC451 Computer Networks Lecture 6 Transport Layer (cont d) Transport Layer 3-1 Chapter 3 Transport Layer A note on the use of these ppt slides: We re making these slides freely available to all (faculty,
More informationComputer 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 informationLecture 11. Transport Layer (cont d) Transport Layer 1
Lecture 11 Transport Layer (cont d) Transport Layer 1 Agenda The Transport Layer (continue) Connection-oriented Transport (TCP) Flow Control Connection Management Congestion Control Introduction to the
More informationLecture 12: Transport Layer TCP again
Lecture 12: Transport Layer TCP again COMP 332, Spring 2018 Victoria Manfredi Acknowledgements: materials adapted from Computer Networking: A Top Down Approach 7 th edition: 1996-2016, J.F Kurose and K.W.
More informationTCP: Overview RFCs: 793, 1122, 1323, 2018, 2581
TCP: Overview RFCs: 793, 1122, 1323, 2018, 2581 ocket door point-to-point: one sender, one receiver reliable, in-order byte steam: no message boundaries pipelined: TCP congestion and flow control set window
More informationOutline. TCP: Overview RFCs: 793, 1122, 1323, 2018, Development of reliable protocol Sliding window protocols
Outline Development of reliable protocol Sliding window protocols Go-Back-N, Selective Repeat Protocol performance Sockets, UDP, TCP, and IP UDP operation TCP operation connection management flow control
More informationChapter 3 Transport Layer
Chapter 3 Transport Layer All material copyright 1996-2013 J.F Kurose and K.W. Ross, All Rights Reserved Transport Layer 3-1 Chapter 3: Transport Layer our goals: understand principles behind transport
More informationChapter 3 Transport Layer
Chapter 3 Transport Layer A note on the use of these ppt slides: We re making these slides freely available to all (faculty, students, readers). They re in PowerPoint form so you can add, modify, and delete
More informationOutline. TCP: Overview RFCs: 793, 1122, 1323, 2018, steam: r Development of reliable protocol r Sliding window protocols
Outline r Development of reliable protocol r Sliding window protocols m Go-Back-N, Selective Repeat r Protocol performance r Sockets, UDP, TCP, and IP r UDP operation r TCP operation m connection management
More informationCSCD 330 Network Programming Winter 2015
CSCD 330 Network Programming Winter 2015 Lecture 11a Transport Layer Reading: Chapter 3 Some Material in these slides from J.F Kurose and K.W. Ross All material copyright 1996-2007 1 Chapter 3 Sections
More informationCourse on Computer Communication and Networks. Lecture 5 Chapter 3; Transport Layer, Part B
Course on Computer Communication and Networks Lecture 5 Chapter 3; Transport Layer, Part B EDA344/DIT 423, CTH/GU Based on the book Computer Networking: A Top Down Approach, Jim Kurose, Keith Ross, Addison-Wesley.
More informationLecture 8. TCP/IP Transport Layer (2)
Lecture 8 TCP/IP Transport Layer (2) Outline (Transport Layer) Principles behind transport layer services: multiplexing/demultiplexing principles of reliable data transfer learn about transport layer protocols
More informationCongestion Control. Principles of Congestion Control. Network-assisted Congestion Control: ATM. Congestion Control. Computer Networks 10/21/2009
Congestion Control Kai Shen Principles of Congestion Control Congestion: informally: too many sources sending too much data too fast for the network to handle results of congestion: long delays (e.g. queueing
More informationinternet technologies and standards
Institute of Telecommunications Warsaw University of Technology 2017 internet technologies and standards Piotr Gajowniczek Andrzej Bąk Michał Jarociński Transport Layer The majority of slides presented
More informationCongestion Control. Daniel Zappala. CS 460 Computer Networking Brigham Young University
Congestion Control Daniel Zappala CS 460 Computer Networking Brigham Young University 2/25 Congestion Control how do you send as fast as possible, without overwhelming the network? challenges the fastest
More informationCongestion Control. Principles of Congestion Control. Network assisted congestion. Asynchronous Transfer Mode. Computer Networks 10/23/2013
Congestion Control Kai Shen Principles of Congestion Control Congestion: Informally: too many sources sending too much data too fast for the network to handle Results of congestion: long delays (e.g. queueing
More informationChapter 3 Transport Layer
Chapter 3 Transport Layer Chapter 3: Transport Layer our goals: understand principles behind transport layer services: multiplexing, demultiplexing reliable data transfer flow control congestion control
More informationinternet technologies and standards
Institute of Telecommunications Warsaw University of Technology 2017 internet technologies and standards Piotr Gajowniczek Andrzej Bąk Michał Jarociński Transport Layer The majority of slides presented
More informationTransport 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 informationCSCI Topics: Internet Programming Fall 2008
CSCI 491-01 Topics: Internet Programming Fall 2008 Transport Layer Derek Leonard Hendrix College October 20, 2008 Original slides copyright 1996-2007 J.F Kurose and K.W. Ross 1 Chapter 3: Roadmap 3.1 Transport-layer
More informationTransport 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 informationChapter 3: Transport Layer
Chapter 3: Transport Layer our goals: understand principles behind transport layer services: multiplexing, demultiplexing reliable data transfer flow control congestion control learn about Internet transport
More informationChapter 3: Transport Layer
Chapter 3: Transport Layer our goals: understand principles behind transport layer services: multiplexing, demultiplexing reliable data transfer flow control congestion control learn about Internet transport
More informationLecture 15: Transport Layer Congestion Control
Lecture 15: Transport Layer Congestion Control COMP 332, Spring 2018 Victoria Manfredi Acknowledgements: materials adapted from Computer Networking: A Top Down Approach 7 th edition: 1996-2016, J.F Kurose
More informationChapter 3: Transport Layer
Chapter 3: Transport Layer our goals: understand principles behind transport layer services: multiplexing, demultiplexing reliable data transfer flow control congestion control learn about Internet transport
More informationPrinciples of congestion control
Principles of congestion control Congestion: Informally: too many sources sending too much data too fast for network to handle Different from flow control! Manifestations: Lost packets (buffer overflow
More informationApplication. Transport. Network. Link. Physical
Transport Layer ELEC1200 Principles behind transport layer services Multiplexing and demultiplexing UDP TCP Reliable Data Transfer TCP Congestion Control TCP Fairness *The slides are adapted from ppt slides
More informationDetecting half-open connections. Observed TCP problems
Detecting half-open connections TCP A TCP B 1. (CRASH) 2. CLOSED 3. SYN-SENT 4. (!!) 5. SYN-SENT 6. SYN-SENT 7. SYN-SENT
More informationChapter 3: Transport Layer
Chapter 3 Transport Layer A note on the use of these ppt slides: We re making these slides freely available to all (faculty, students, readers). They re in PowerPoint form so you see the animations; and
More informationCSE 4/589 Midterm Review. Hengtong Zhang SUNY Buffalo 10/30/2018
CSE 4/589 Midterm Review Hengtong Zhang SUNY Buffalo 10/30/2018 Chapter 1 overview: what s the Internet? what s a protocol? network edge; hosts, access net, physical media network core: packet/circuit
More informationChapter 3 Transport Layer
Chapter 3 Transport Layer Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Addison-Wesley March 2012 Modified form the following All material copyright 1996-2012 J.F Kurose
More informationPipelined protocols: overview
Pipelined protocols: overview Go-back-N: sender can have up to N unacked packets in pipeline receiver only sends cumulative ack doesn t ack packet if there s a gap sender has timer for oldest unacked packet
More informationChapter 3 Transport Layer
Chapter 3 Transport Layer A note on the use of these ppt slides: We re making these slides freely available to all (faculty, students, readers). They re in PowerPoint form so you see the animations; and
More informationChapter 3 Transport Layer
Chapter 3 Transport Layer A note on the use of these ppt slides: We re making these slides freely available to all (faculty, students, readers). They re in PowerPoint form so you see the animations; and
More informationChapter 3 Transport Layer
Chapter 3 Transport Layer A note on the use of these ppt slides: We re making these slides freely aailable to all (faculty, students, readers). They re in PowerPoint form so you see the animations; and
More informationLECTURE 3 - TRANSPORT LAYER
LECTURE 3 - TRANSPORT LAYER 1 GOALS (1) Understand principles behind transport layer services: multiplexing, demultiplexing reliable data transfer ow control congestion control GOALS (2) Learn about Internet
More informationTransport Layer. Chapter 3. Computer Networking: A Top Down Approach
Chapter 3 Transport Layer A note on the use of these Powerpoint slides: We re making these slides freely available to all (faculty, students, readers). They re in PowerPoint form so you see the animations;
More informationCSCI Topics: Internet Programming Fall 2008
CSCI 491-01 Topics: Internet Programming Fall 2008 Transport Layer Derek Leonard Hendrix College October 22, 2008 Original slides copyright 1996-2007 J.F Kurose and K.W. Ross 1 Chapter 3: Roadmap 3.1 Transport-layer
More informationTransport Layer. CMPS 4750/6750: Computer Networks
Transport Layer CMPS 4750/6750: Computer Networks 1 Outline Overview of transport-layer services Connectionless Transport: UDP Principles of reliable data transfer Connection-Oriented Transport: TCP TCP
More informationEC441 Fall 2018 Introduction to Computer Networking Chapter 3: Transport Layer
EC441 Fall 2018 Introduction to Computer Networking Chapter 3: Transport Layer This presentation is adapted from slides produced by Jim Kurose and Keith Ross for their book, Computer Networking: A Top
More informationComputer Networking: A Top Down Approach
Computer Networking: A Top Down Approach Seventh Edition Chapter 3 Transport Layer Slides in this presentation contain hyperlinks. JAWS users should be able to get a list of links by using INSERT+F7 Transport
More informationCS321: 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 informationCorrecting mistakes. TCP: Overview RFCs: 793, 1122, 1323, 2018, TCP seq. # s and ACKs. GBN in action. TCP segment structure
Correcting mistakes Go-back-N: big picture: sender can have up to N unacked packets in pipeline rcvr only sends cumulative acks doesn t ack packet if there s a gap sender has r for oldest unacked packet
More informationChapter 3 Transport Layer
Chapter 3 Transport Layer A note on the use of these Powerpoint slides: We re making these slides freely available to all (faculty, students, readers). They re in PowerPoint form so you see the animations;
More informationChapter 3 Transport Layer
Chapter 3 Transport Layer A note on the use of these Powerpoint slides: We re making these slides freely available to all (faculty, students, readers). They re in PowerPoint form so you see the animations;
More informationChapter 3 Transport Layer
Chapter 3 Transport Layer A note on the use of these Powerpoint slides: We re making these slides freely available to all (faculty, students, readers). They re in PowerPoint form so you see the animations;
More informationTransmission 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 informationChapter 3 Transport Layer
Chapter 3 Transport Layer A note on the use of these Powerpoint slides: We re making these slides freely available to all (faculty, students, readers). They re in PowerPoint form so you see the animations;
More informationChapter 3 Transport Layer
Chapter 3 Transport Layer A note on the use of these ppt slides: We re making these slides freely available to all (faculty, students, readers). They re in PowerPoint form so you see the animations; and
More informationTCP conges+on control
TCP conges+on control Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Addison-Wesley Some materials copyright 1996-2012 J.F Kurose and K.W. Ross, All Rights Reserved Chapter
More informationNT1210 Introduction to Networking. Unit 10
NT1210 Introduction to Networking Unit 10 Chapter 10, TCP/IP Transport Objectives Identify the major needs and stakeholders for computer networks and network applications. Compare and contrast the OSI
More informationChapter 3 Transport Layer
Chapter 3 Transport Layer A note on the use of these ppt slides: We re making these slides freely available to all (faculty, students, readers). They re in PowerPoint form so you see the animations; and
More informationCSCD 330 Network Programming Spring 2018 Lecture 11a Transport Layer
CSCD 330 Network Programming Spring 2018 Lecture 11a Transport Layer Reading: Chapter 3 Who is this? Some Material in these slides from J.F Kurose and K.W. Ross All material copyright 1996-2007 1 Bill
More informationTCP 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 informationArchitettura di Reti
Università di Ferrara Architettura di Reti Chapter 3: Transport Layer Carlo Giannelli carlo.giannelli@unife.it http://www.unife.it/scienze/informatica/insegnamenti/architettura-reti/ http://docente.unife.it/carlo.giannelli
More informationData Communications & Networks. Session 9 Main Theme Network Congestion Causes, Effects, Controls, and TCP Applications. Dr. Jean-Claude Franchitti
Data Communications & Networks Session 9 Main Theme Network Congestion Causes, Effects, Controls, and TCP Applications Dr. Jean-Claude Franchitti New York University Computer Science Department Courant
More informationCOMP/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 informationCS3600 SYSTEMS AND NETWORKS
CS3600 SYSTEMS AND NETWORKS NORTHEASTERN UNIVERSITY Lecture 24: Congestion Control Prof. Alan Mislove (amislove@ccs.neu.edu) Slides used with permissions from Edward W. Knightly, T. S. Eugene Ng, Ion Stoica,
More informationChapter 3 outline. Chapter 3: Transport Layer. Transport vs. network layer. Transport services and protocols. Internet transport-layer protocols
Chapter 3: Transport Layer our goals: understand principles behind transport layer : multiplexing, demultiplexing congestion control learn about Internet transport layer protocols: UDP: connectionless
More informationDiscussions. Chapter 3. Ch03 Transport Layer. Outline. Transport services and protocols. Transport vs. network layer. Message, Segment, Datagram
Chapter 3 Transport Layer Yanmin Zhu Department of Computer Science and Engineering Mobile Global ISP Home Regional ISP Institutional Discussions What services are provided by layer? What services do UDP
More informationChapter 3 Transport Layer
CSB051 Computer Networks 電腦網路 Chapter 3 Transport Layer 吳俊興國立高雄大學資訊工程學系 Reference: Computer Networking: A Top Down Approach, 7th Global Edition, Jim Kurose, Keith Ross, Pearson Chapter 3 outline 3.1 transport-layer
More informationCS4700/CS5700 Fundamentals of Computer Networks
CS4700/CS5700 Fundamentals of Computer Networks Lecture 15: Congestion Control Slides used with permissions from Edward W. Knightly, T. S. Eugene Ng, Ion Stoica, Hui Zhang Alan Mislove amislove at ccs.neu.edu
More informationOutline 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 informationInternetworking With TCP/IP
Internetworking With TCP/IP Application Layer Telnet Gopher NFS FTP X Win TFTP SMTP SNMP REXEC DNS RPC Transport Layer TCP UDP Network Layer ICMP IP IGMP ARP RARP Link Interface Ethernet, IEEE 802.3, Token
More informationTransmission Control Protocol
TDTS06: Computer Networks Instructor: Niklas Carlsson Email: niklas.carlsson@liu.se Transmission Control Protocol Notes derived from Computer Networking: A Top Down Approach, by Jim Kurose and Keith Ross,
More information15-744: Computer Networking TCP
15-744: Computer Networking TCP Congestion Control Congestion Control Assigned Reading [Jacobson and Karels] Congestion Avoidance and Control [TFRC] Equation-Based Congestion Control for Unicast Applications
More informationGo-Back-N. Pipelining: increased utilization. Pipelined protocols. GBN: sender extended FSM
Pipelined protocols Pipelining: sender allows multiple, in-flight, yet-to-be-acknowledged pkts range of sequence numbers must be increased buffering at sender and/or receiver Pipelining: increased utilization
More informationCSCI-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 informationCOMP211 Chapter 3 Transport Layer
COMP211 Chapter 3 Transport Layer All material copyright 1996-2016 J.F Kurose and K.W. Ross, All Rights Reserved Computer Networking: A Top Down Approach 7 th edition Jim Kurose, Keith Ross Pearson/Addison
More information