Reliable Transport I: Concepts and TCP Protocol
|
|
- Aron Marshall
- 5 years ago
- Views:
Transcription
1 Reliable Transport I: Concepts and TCP Protocol Stefano Vissicchio UCL Computer Science COMP0023
2 Today Transport Concepts Layering context Transport goals Transport mechanisms and design choices TCP Protocol (part I) 2
3 Context: Transport Layer Best-effort network layer drops, delays, reorders, corrupts packets Many applications want reliable transport all data reach receiver in order they were sent no data corrupted Need a transport protocol e.g., Internet s Transmission Control Protocol (TCP) WWW phone...! SMTP HTTP RTP...! TCP UDP!! IP!! ethernet PPP! CSMA async sonet...! copper fiber radio...! 3
4 TCP s Many End-to-End Goals Provide a connection-oriented service to applications Not totally insecure.. Ensure Reliability Recover from data loss Avoid receipt of duplicated data Preserve data ordering Provide integrity against corruption Transfer data as fast as possible Avoid sending faster than receiver can accept data Avoid congesting network 4
5 Ports: Identifying Senders and Receivers Host may run multiple, concurrent apps Typical layered multiplexing: transport protocol multiplexed by applications above Transport protocol must identify sending and receiving application instance Application instance ID: port TCP port number: 16 bits one each for sender and receiver Port owned by one application instance on host Servers often run on well-known ports e.g., HTTP tcp/80, SMTP tcp/25, ssh tcp/22 5
6 TCP: Reliable Byte Stream Transport Sending application offers a sequence of bytes: d 0, d 1, d 2, Receiving application sees all bytes arrive in same sequence: d 0, d 1, d 2,... Each byte stream: connection, or flow Each connection uniquely identified by: <sender IP, sender port, receiver IP, receiver port> 6
7 Segmentation and Reassembly Applications data unbounded in length Transport layer must perform segmentation and reassembly Segmentation: At sender, divide data into packets; mark each with range of bytes in original data Reassembly: At receiver, buffer packets in correct order; track which have arrived; pass to application only when all received up to that point in flow 7
8 Connection-Oriented Data Transfer Connection life cycle: 1. Open connection 2. Send/receive data 3. Close connection How to ensure that sender and receiver agree on a connection s state? What if delayed data from old connection arrive at receiver during new one? How to prevent host impersonation? 8
9 Connection-Oriented Data Transfer Connection life cycle: 1. Open connection 2. Send/receive data 3. Close connection How to ensure that sender and receiver agree on a connection s state? What if delayed data from old connection arrive at receiver during new one? How to prevent host impersonation? 9
10 TCP s Many End-to-End Goals Provide a connection-oriented service to applications Not totally insecure.. Ensure Reliability Recover from data loss Avoid receipt of duplicated data Preserve data ordering Provide integrity against corruption Transfer data as fast as possible Avoid sending faster than receiver can accept data Avoid congesting network 10
11 Fundamental Problem: Ensuring At-Least-Once Delivery Strategy to ensure delivery in a best-effort network: Sender attaches unique nonce to each data packet sent; keeps copy of sent packet Receiver returns ACK to sender for each data packet received, containing its nonce Sender sets timer on each transmission if timer expires before ACK returns, retransmit that packet if ACK returns, cancel timer, discard saved copy of that packet Sender limits maximum number of retransmissions How long should retransmit timer be? Too short à needless retransmissions Too long à needless delay detecting loss 11
12 Fundamental Problem: Ensuring At-Least-Once Delivery Strategy to ensure delivery in a best-effort network: Sender attaches unique nonce to each data packet sent; keeps copy of sent packet Receiver returns ACK to sender for each data packet received, containing its nonce Sender sets timer on each transmission if timer expires before ACK returns, retransmit that packet if ACK returns, cancel timer, discard saved copy of that packet Sender limits maximum number of retransmissions How long should retransmit timer be? Too short à needless retransmissions Too long à needless delay detecting loss 12
13 Fundamental Problem: Estimating RTT Expected time for ACK to return is round-trip time (RTT) end-to-end delay for data to reach receiver and ACK to reach sender includes propagation delay on links, packet serialization delay at each hop, queuing delay at routers What about using a fixed timer (e.g., 250 ms)? 13
14 Fundamental Problem: Estimating RTT Expected time for ACK to return is round-trip time (RTT) end-to-end delay for data to reach receiver and ACK to reach sender includes propagation delay on links, packet serialization delay at each hop, queuing delay at routers What about using a fixed timer (e.g., 250 ms)? What if the route changes? What if congestion occurs at one or more routers? 14
15 Fundamental Problem: Estimating RTT Fixed Expected timer time violates for ACK end-to-end return is argument round-trip time (RTT) details end-to-end of link delay behavior for data should to reach be receiver left to and link ACK layer! to reach sender Hard-coded includes propagation timers lead delay to brittle on links, behavior packet serialization as delay technology at each hop, evolves queuing delay at routers What about using a fixed timer (e.g., 250 ms)? What if the route changes? What if congestion occurs at one or more routers? 15
16 Estimating RTT: Exponentially Weighted Moving Average (EWMA) RTT is easy to measure: note time t when packet sent corresponding ACK returns at time t RTT measurement = m = t - t Using a single sample is too brittle though queuing, routing dynamics,... Adapt over time, using EWMA: measurements: m 0, m 1, m 2, fractional weight for new measurement, α RTT i = (1 - α)rtt i -1 + α m i t m t 16
17 Estimating RTT: Exponentially Weighted Moving Average (EWMA) RTT is easy to measure: How to choose α? t note time t when packet sent EWMA weights newest samples comparatively corresponding ACK returns at time t m more than history RTT measurement = m = t - t t - e.g., α=1/8 Is mean Using a sufficient single sample to capture is too brittle RTT behavior though over time? queuing, routing dynamics Adapt over time, using EWMA: measurements: m 0, m 1, m 2, fractional weight for new measurement, α RTT i = (1 - α)rtt i -1 + α m i 17
18 Retransmission and Duplicate Delivery When sender s retransmit timer expires, there are two indistinguishable cases: data packet dropped en route to receiver, or ACK dropped en route to sender In both cases, sender retransmits In latter case, duplicate data packet reaches receiver! How to prevent receiver from passing duplicates to application? 18
19 Eliminating Duplicates: Exactly Once Delivery Straw man: Each packet sent with unique nonce Receiver remembers nonces previously seen if received packet seen before, drop, but resend ACK to sender How many nonces must receiver store? Longest gap between duplicates unknown! Unbounded storage How 19
20 Eliminating Duplicates: Exactly Once Delivery Better plan: cumulative sequence numbers Sender marks each packet with monotonically increasing sequence number: non-random nonces Receiver tracks largest sequence number delivered to application Drops packets with earlier sequence numbers Stores out-of-order packets, doesn t deliver them to application Duplicate of an out-of-order packet is not a problem: receiver can tell it s a duplicate by checking its buffer 20
21 Eliminating Duplicates: Exactly Once Delivery Better plan: cumulative sequence numbers Sender marks each packet with monotonically increasing sequence number: non-random nonces Receiver tracks largest sequence number delivered to application Drops packets with earlier sequence numbers Stores out-of-order packets, doesn t deliver them to application Duplicate of an out-of-order packet is not a problem: receiver can tell it s a duplicate by checking its buffer How many sequence numbers we need? Need large enough sequence space that old packets can t arrive and be accepted as new! 21
22 End-to-End Integrity Achieved by using transport checksum Protects against things link-layer reliability cannot: router memory corruption, software bugs, etc. Covers data in packet, transport protocol header Also should cover layer-3 source and destination! Misdelivered packet should not be inserted into data stream at receiver, nor should be acknowledged Receiver drops packets w/failed transport checksum TCP pseudo header covers IP source and destination 22
23 TCP s Many End-to-End Goals Provide a connection-oriented service to applications Not totally insecure.. Ensure Reliability Recover from data loss Avoid receipt of duplicated data Preserve data ordering Provide integrity against corruption Transfer data as fast as possible Avoid sending faster than receiver can accept data Avoid congesting network 23
24 Transfer Data Rate Basic reliability protocols (i.e., stop-and-wait) are slow e.g., 70ms RTT, 1500-byte packets translates into a max throughput of 171 Kbps Key idea: pipeline transmissions to keep pipe full use a sliding window to transmit packets as ACK comes back Go-Back-N, Fast Retransmit, SACKs How large should the sliding window be? 24
25 Transfer Data Rate Basic reliability protocols (i.e., stop-and-wait) are slow e.g., 70ms RTT, 1500-byte packets translates into a max throughput of 171 Kbps Key idea: pipeline transmissions to keep pipe full use a sliding window to transmit packets as ACK comes back Go-Back-N, Fast Retransmit, SACKs How large should the sliding window be? last answer: at least equal the bandwidth-delay product (for max network utilization), if the bottleneck link is not shared 25
26 Transfer Data Rate Basic reliability protocols (i.e., stop-and-wait) are slow e.g., 70ms RTT, 1500-byte packets translates into a max throughput of 171 Kbps Key idea: pipeline transmissions to keep pipe full use a sliding window to transmit packets as ACK comes back Go-Back-N, Fast Retransmit, SACKs How large should the sliding window be? last answer: at least equal the bandwidth-delay product (for max network utilization), if the bottleneck link is not shared follow-up: Can the receiver sustain such rate? follow-up 2: What if the bottleneck link is shared? I.e., can the network cope with such rate (no congestion)? 26
27 Today Transport Concepts Layering context Transport goals Transport mechanisms and design choices TCP Protocol (part I) Packet header format Connection establishment and teardown 27
28 TCP Packet Header TCP header: 20 bytes long (minimum) Encapsulate data, encapsulated into an IP header Checksum covers header + pseudo header IP header source and destination addresses, protocol Length of TCP segment (TCP header + data) 28
29 TCP Header Details Source and destination ports UNIX: local ports below 1024 reserved (only root may use them) Connections inherently bidirectional; all TCP headers carry sequence numbers for both data and ACKs 32-bit sequence numbers are in units of bytes used for reliability (i.e., packet IDs) and reassembly enough numbers to avoid wrapping issues (so far) Window: advertisement of number of bytes advertiser is willing to accept relative to the ACKed bytes 29
30 TCP Connection Establishment: Motivation Goals: Start TCP connection between two hosts Avoid mixing data from old connection in new connection Avoid confusing previous connection attempts with current one Prevent (most) third parties from impersonating, or spoofing, one endpoint SYN packets (SYN flag in TCP header set) used to establish connections Use retransmission timer for lost SYNs What protocol meets above goals? 30
31 TCP Connection Establishment: Non-Solution I Use two-way handshake A sends SYN to B B accepts by returning SYN to A A retransmits SYN if not received A and B can ignore duplicate SYNs after connection established A SYN SYN data, seqno = 1 data, seqno = 512 SYN SYN data, seqno = 1 B closed time data, seqno = 512 data, seqno =
32 TCP Connection Establishment: Non-Solution I Use two-way handshake A sends SYN to B B accepts by returning SYN to A A retransmits SYN if not received A and B can ignore duplicate SYNs after connection established What about delayed data packets from old connection? A SYN SYN data, seqno = 1 data, seqno = 512 SYN SYN data, seqno = 1 data, seqno = 512 B closed time data, seqno =
33 TCP Connection Establishment: Non-Solution I Use two-way handshake A sends SYN to B B accepts by returning SYN to A A retransmits SYN if not received A and B can ignore duplicate SYNs after connection established What about delayed data packets from old connection? A SYN SYN data, seqno = 1 data, seqno = 512 SYN SYN data, seqno = 1 Connections shouldn t start with a constant sequence number: this risks mixing data between old and new connections data, seqno = 512 data, seqno = 1024 B closed time 33
34 TCP Connection Establishment: Non-Solution II Two-way handshake, as before But enclose random initial sequence numbers on SYNs What about delayed SYNs from old connection? A wrongly believes connection successfully established B will drop all of A s data! 34
35 TCP Connection Establishment: Non-Solution II Two-way handshake, as before But enclose random initial sequence numbers on SYNs What about delayed SYNs from old connection? A wrongly believes connection successfully established B will drop all of A s data! A SYN, seqno = k data, seqno = k+1 B closed time data ignored! 35
36 TCP Connection Establishment: Non-Solution II Two-way handshake, as before But enclose random initial sequence numbers on SYNs What about delayed Connection SYNs from attempts old should explicitly acknowledge connection? which SYN they are accepting! A wrongly believes connection successfully established B will drop all of A s data! A SYN, seqno = k data, seqno = k+1 B closed time data ignored! 36
37 TCP s 3-Way Handshake Set SYN on connection request A SYN, seqno = i B Each side chooses random initial sequence number Each side explicitly ACKs the sequence number of the SYN it s responding to. SYN, seqno = j, ACK = i+1 ACK = j+1 time 37
38 Robustness of 3-Way Handshake: Delayed SYN from old connection Suppose a copy of A s SYN i is delayed; arrives at B after connection closed: B responds with SYN/ACK for i+1 A doesn t recognize i+1 A SYN, seqno = i SYN, seqno = j, ACK = i+1 RST, ACK = j B closed time rejects connection responds with reset: RST flag set in TCP header 38
39 Robustness of 3-Way Handshake: Delayed SYN/ACK A attempts connection to B Suppose a past B s SYN delayed, arrives at A during new connection attempt A SYN, seqno = i B closed time A rejects first SYN from B; sends RST to B RST, ACK = k B ignores RST for connection it doesn t have Connection from A to B succeeds unimpeded ACK = j+1 39
40 Robustness of 3-Way Handshake: Source Spoofing Suppose host B trusts host A, based on A s IP address e.g., allows any account creation from A s IP address Adversary M may seek to impersonate, or spoof, host A Adversary may not need to receive data from B; only send data (e.g., create an account l33thax0r ) Can M establish a connection to B as A? A M B 40
41 Robustness of 3-Way Handshake: Source Spoofing Suppose host B trusts host A, based on A s IP address e.g., allows any account creation from A s IP address Adversary M may seek to impersonate, or spoof, host A Adversary may not need to receive data from B; only send data (e.g., create an account l33thax0r ) Can M establish a connection to B as A? A M B 41
42 Robustness of 3-Way Handshake: Source Spoofing Suppose host B trusts host A, based on A s IP address e.g., allows any account creation from A s IP address Adversary M may seek to impersonate, or spoof, host A Adversary may not need to receive data from B; only send data (e.g., create an account l33thax0r ) Can M establish a connection to B as A? A SYN, seqno = j, ACK = i+1 M B 42
43 Robustness of 3-Way Handshake: Source Spoofing Suppose host B trusts host A, based on A s IP address e.g., allows any account creation from A s IP address Adversary M may seek to impersonate, or spoof, host A A SYN, seqno = j, ACK = i+1 Adversary may not need to receive data from B; only send data (e.g., create an account l33thax0r ) Random ISNs on SYNs make it hard(er) for adversaries to Can spoof M establish A to B a and connection vice-versa to B as A? A sends a RST shortly after M B 43
44 TCP Connection Teardown Data may flow bidirectionally Each side independently decides when to close connection Criterion for closing: Both sides must agree last data are sent, and connection is ended Protocol is symmetric to connection opening FIN packets notify the intention to close a connection A FIN, seqno = i ACK = i+1 FIN, seqno = j ACK = j+1 B time 44
45 TCP Connection Teardown How to avoid mixing data from old connection with a new one? A FIN, seqno = i B Solution: one endpoint remembers the connection long enough A disallows new connections with same IPs and ports, when in TIME_WAIT state A stays in TIME_WAIT state for 2 x max segment lifetime ACK = j+1 ACK = i+1 FIN, seqno = j time enter TIME_WAIT state 45
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 informationTransport 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 informationUser Datagram Protocol
Topics Transport Layer TCP s three-way handshake TCP s connection termination sequence TCP s TIME_WAIT state TCP and UDP buffering by the socket layer 2 Introduction UDP is a simple, unreliable datagram
More informationReliable 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 information7. 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 informationConnection-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 informationApplied Networks & Security
Applied Networks & Security TCP/IP Protocol Suite http://condor.depaul.edu/~jkristof/it263/ John Kristoff jtk@depaul.edu IT 263 Spring 2006/2007 John Kristoff - DePaul University 1 ARP overview datalink
More informationECE697AA 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 informationUNIT 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 informationCSCD 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 informationChapter 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 informationCS 716: Introduction to communication networks th class; 7 th Oct Instructor: Sridhar Iyer IIT Bombay
CS 716: Introduction to communication networks - 18 th class; 7 th Oct 2011 Instructor: Sridhar Iyer IIT Bombay Reliable Transport We have already designed a reliable communication protocol for an analogy
More informationReliable Transport II: TCP and Congestion Control
Reliable Transport II: TCP and Congestion Control Brad Karp UCL Computer Science CS 3035/GZ01 31 st October 2013 Outline Slow Start AIMD Congestion control Throughput, loss, and RTT equation Connection
More informationLecture 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 informationCSC 4900 Computer Networks: TCP
CSC 4900 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 informationTCP 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 informationCS457 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 informationOutline. 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 informationTCP : Fundamentals of Computer Networks Bill Nace
TCP 14-740: Fundamentals of Computer Networks Bill Nace Material from Computer Networking: A Top Down Approach, 6 th edition. J.F. Kurose and K.W. Ross Administrivia Lab #1 due now! Reminder: Paper Review
More informationThe Transport Layer: TCP & Reliable Data Transfer
The Transport Layer: TCP & Reliable Data Transfer Smith College, CSC 249 February 15, 2018 1 Chapter 3: Transport Layer q TCP Transport layer services: v Multiplexing/demultiplexing v Connection management
More informationCS4700/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 informationL12: end to end layer
L12: end to end layer Dina Katabi 6.033 Spring 2007 http://web.mit.edu/6.033 Some slides are from lectures by Nick Mckeown, Ion Stoica, Frans Kaashoek, Hari Balakrishnan, Sam Madden, and Robert Morris
More informationICS 451: Today's plan. Sliding Window Reliable Transmission Acknowledgements Windows and Bandwidth-Delay Product Retransmission Timers Connections
ICS 451: Today's plan Sliding Window Reliable Transmission Acknowledgements Windows and Bandwidth-Delay Product Retransmission Timers Connections Alternating Bit Protocol: throughput tied to latency with
More informationLecture 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 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 informationLecture 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 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 informationTransport 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 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 informationThe Transport Layer Reliable data delivery & flow control in TCP. Transport Layer Protocols & Services Outline
CPSC 852 Internetworking The Transport Layer Reliable data delivery & flow control in TCP Michele Weigle Department of Computer Science Clemson University mweigle@cs.clemson.edu http://www.cs.clemson.edu/~mweigle/courses/cpsc852
More informationCOMP 431 Internet Services & Protocols. Transport Layer Protocols & Services Outline. The Transport Layer Reliable data delivery & flow control in TCP
COMP 431 Internet Services & Protocols Transport Layer Protocols & Services Outline The Transport Layer Reliable data delivery & flow control in TCP Jasleen Kaur Fundamental transport layer services» Multiplexing/Demultiplexing»
More informationCSCE 463/612 Networks and Distributed Processing Spring 2017
CSCE 463/612 Networks and Distributed Processing Spring 2017 Transport Layer IV Dmitri Loguinov Texas A&M University March 9, 2017 Original slides copyright 1996-2004 J.F Kurose and K.W. Ross 1 Chapter
More informationLecture 08: The Transport Layer (Part 2) The Transport Layer Protocol (TCP) Dr. Anis Koubaa
NET 331 Computer Networks Lecture 08: The Transport Layer (Part 2) The Transport Layer Protocol (TCP) Dr. Anis Koubaa Reformatted slides from textbook Computer Networking a top-down appraoch, Fifth Edition
More informationNWEN 243. Networked Applications. Layer 4 TCP and UDP
NWEN 243 Networked Applications Layer 4 TCP and UDP 1 About the second lecturer Aaron Chen Office: AM405 Phone: 463 5114 Email: aaron.chen@ecs.vuw.ac.nz Transport layer and application layer protocols
More informationNetwork 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 informationThe Transport Layer Reliable data delivery & flow control in TCP. Transport Layer Protocols & Services Outline
CPSC 360 Network Programming The Transport Layer Reliable data delivery & flow control in TCP Michele Weigle Department of Computer Science Clemson University mweigle@cs.clemson.edu http://www.cs.clemson.edu/~mweigle/courses/cpsc360
More informationTransport 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 informationProgramming Assignment 3: Transmission Control Protocol
CS 640 Introduction to Computer Networks Spring 2005 http://www.cs.wisc.edu/ suman/courses/640/s05 Programming Assignment 3: Transmission Control Protocol Assigned: March 28,2005 Due: April 15, 2005, 11:59pm
More information6.033 Computer System Engineering
MIT OpenCourseWare http://ocw.mit.edu 6.033 Computer System Engineering Spring 2009 For information about citing these materials or our Terms of Use, visit: http://ocw.mit.edu/terms. L2: end to end layer
More informationIntroduction to Networks and the Internet
Introduction to Networks and the Internet CMPE 80N Announcements Project 2. Reference page. Library presentation. Internet History video. Spring 2003 Week 7 1 2 Today Internetworking (cont d). Fragmentation.
More informationComputer 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 informationTransport Protocols Reading: Sections 2.5, 5.1, and 5.2
Transport Protocols Reading: Sections 2.5, 5.1, and 5.2 CE443 - Fall 1390 Acknowledgments: Lecture slides are from Computer networks course thought by Jennifer Rexford at Princeton University. When slides
More informationTCP 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 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 informationIntro 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 information32 bits. source port # dest port # sequence number acknowledgement number not used. checksum. Options (variable length)
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 Connectionoriented transport: TCP segment
More informationChapter 23 Process-to-Process Delivery: UDP, TCP, and SCTP 23.1
Chapter 23 Process-to-Process Delivery: UDP, TCP, and SCTP 23.1 Copyright The McGraw-Hill Companies, Inc. Permission required for reproduction or display. 23-1 PROCESS-TO-PROCESS DELIVERY 23.2 The transport
More informationInternet and Intranet Protocols and Applications
Internet and Intranet Protocols and Applications Lecture 1b: The Transport Layer in the Internet January 17, 2006 Arthur Goldberg Computer Science Department New York University artg@cs.nyu.edu 01/17/06
More informationTransport 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 informationAnnouncements. No book chapter for this topic! Slides are posted online as usual Homework: Will be posted online Due 12/6
Announcements No book chapter for this topic! Slides are posted online as usual Homework: Will be posted online Due 12/6 Copyright c 2002 2017 UMaine Computer Science Department 1 / 33 1 COS 140: Foundations
More informationEE 122: Transport Protocols. Kevin Lai October 16, 2002
EE 122: Transport Protocols Kevin Lai October 16, 2002 Motivation IP provides a weak, but efficient service model (best-effort) - packets can be delayed, dropped, reordered, duplicated - packets have limited
More informationNo book chapter for this topic! Slides are posted online as usual Homework: Will be posted online Due 12/6
Announcements No book chapter for this topic! Slides are posted online as usual Homework: Will be posted online Due 12/6 Copyright c 2002 2017 UMaine School of Computing and Information S 1 / 33 COS 140:
More informationProblem 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 informationIslamic University of Gaza Faculty of Engineering Department of Computer Engineering ECOM 4021: Networks Discussion. Chapter 5 - Part 2
Islamic University of Gaza Faculty of Engineering Department of Computer Engineering ECOM 4021: Networks Discussion Chapter 5 - Part 2 End to End Protocols Eng. Haneen El-Masry May, 2014 Transport Layer
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 informationLecture 5. Transport Layer. Transport Layer 1-1
Lecture 5 Transport Layer Transport Layer 1-1 Agenda The Transport Layer (TL) Introduction to TL Protocols and Services Connectionless and Connection-oriented Processes in TL Unreliable Data Transfer User
More informationCCNA 1 Chapter 7 v5.0 Exam Answers 2013
CCNA 1 Chapter 7 v5.0 Exam Answers 2013 1 A PC is downloading a large file from a server. The TCP window is 1000 bytes. The server is sending the file using 100-byte segments. How many segments will the
More informationInternet Layers. Physical Layer. Application. Application. Transport. Transport. Network. Network. Network. Network. Link. Link. Link.
Internet Layers Application Application Transport Transport Network Network Network Network Link Link Link Link Ethernet Fiber Optics Physical Layer Wi-Fi ARP requests and responses IP: 192.168.1.1 MAC:
More informationTransmission 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 informationCS 43: Computer Networks. 18: Transmission Control Protocol October 12-29, 2018
CS 43: Computer Networks 18: Transmission Control Protocol October 12-29, 2018 Reading Quiz Lecture 18 - Slide 2 Midterm topics Abstraction, Layering, End-to-end design HTTP, DNS, Email, BT, etc. (app
More informationReliable Byte-Stream (TCP)
Reliable Byte-Stream () Outline Connection Establishment/Termination Sliding Window Revisited Flow Control Adaptive Timeout Simple Demultiplexer (UDP) Header format Note 16 bit port number (so only 64K
More informationTransport Layer Protocols TCP
Transport Layer Protocols TCP Gail Hopkins Introduction Features of TCP Packet loss and retransmission Adaptive retransmission Flow control Three way handshake Congestion control 1 Common Networking Issues
More informationChapter 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 informationThe Transport Layer Reliability
The Transport Layer Reliability CS 3, Lecture 7 http://www.cs.rutgers.edu/~sn4/3-s9 Srinivas Narayana (slides heavily adapted from text authors material) Quick recap: Transport Provide logical communication
More informationOperating Systems and Networks. Network Lecture 8: Transport Layer. Adrian Perrig Network Security Group ETH Zürich
Operating Systems and Networks Network Lecture 8: Transport Layer Adrian Perrig Network Security Group ETH Zürich I was going to tell you a joke about UDP, but I wasn t sure if you were going to get it
More informationOperating Systems and Networks. Network Lecture 8: Transport Layer. Where we are in the Course. Recall. Transport Layer Services.
Operating Systems and s Lecture 8: Transport Layer I was going to tell you a joke about UDP, but I wasn t sure if you were going to get it Adrian Perrig Security Group ETH Zürich 2 Where we are in the
More informationComputer 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 informationCS 640 Introduction to Computer Networks Spring 2009
CS 640 Introduction to Computer Networks Spring 2009 http://pages.cs.wisc.edu/~suman/courses/wiki/doku.php?id=640-spring2009 Programming Assignment 3: Transmission Control Protocol Assigned: March 26,
More informationOutline 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 informationNetworked Systems and Services, Fall 2018 Chapter 3
Networked Systems and Services, Fall 2018 Chapter 3 Jussi Kangasharju Markku Kojo Lea Kutvonen 4. Transport Layer Reliability with TCP Transmission Control Protocol (TCP) RFC 793 + more than hundred other
More information05 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 informationTransport 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 informationTCP/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 informationTSIN02 - Internetworking
Lecture 4: Transport Layer Literature: Forouzan: ch 11-12 2004 Image Coding Group, Linköpings Universitet Lecture 4: Outline Transport layer responsibilities UDP TCP 2 Transport layer in OSI model Figure
More informationTransport 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 informationSuprakash Datta. Office: CSEB 3043 Phone: ext Course page:
CSE 3214: Computer Networks Protocols and Applications Suprakash Datta datta@cse.yorku.ca Office: CSEB 3043 Phone: 416-736-2100 ext 77875 Course page: http://www.cse.yorku.ca/course/3214 These slides are
More informationCSC 634: Networks Programming
CSC 634: Networks Programming Lecture 03: Review of Basic Networking Concepts (TCP/UDP) Instructor: Haidar M. Harmanani Recap 7-Layer OSI Model 7 6 5 4 3 2 1 Application Presentation (kinds of compression)
More informationSequence Number. Acknowledgment Number. Data
CS 455 TCP, Page 1 Transport Layer, Part II Transmission Control Protocol These slides are created by Dr. Yih Huang of George Mason University. Students registered in Dr. Huang's courses at GMU can make
More informationCSCI-GA Operating Systems. Networking. Hubertus Franke
CSCI-GA.2250-001 Operating Systems Networking Hubertus Franke frankeh@cs.nyu.edu Source: Ganesh Sittampalam NYU TCP/IP protocol family IP : Internet Protocol UDP : User Datagram Protocol RTP, traceroute
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 informationTCP. 1 Administrivia. Tom Kelliher, CS 325. Apr. 2, Announcements. Assignment. Read From Last Time
TCP Tom Kelliher, CS 325 Apr. 2, 2008 1 Administrivia Announcements Assignment Read 3.6 7. From Last Time Web server and mail user agent project discussions. Outline 1. TCP connection and segment structure.
More informationITS323: Introduction to Data Communications
ITS323: Introduction to Data Communications Sirindhorn International Institute of Technology Thammasat University Prepared by Steven Gordon on 23 May 2012 ITS323Y12S1L13, Steve/Courses/2012/s1/its323/lectures/transport.tex,
More informationBasic Reliable Transport Protocols
Basic Reliable Transport Protocols Do not be alarmed by the length of this guide. There are a lot of pictures. You ve seen in lecture that most of the networks we re dealing with are best-effort : they
More information23-3 TCP. Topics discussed in this section: TCP Services TCP Features Segment A TCP Connection Flow Control Error Control 23.22
23-3 TCP 23.22 TCP is a connection-oriented protocol; it creates a virtual connection between two TCPs to send data. In addition, TCP uses flow and error control mechanisms at the transport level. Topics
More informationEnd-to-End Protocols. End-to-End Protocols
End-to-End Protocols UDP (User Datagram Protocol) (Transport Control Protocol) Connection Establishment/Termination Sliding Window Revisit Flow Control Adaptive Retransmission End-to-End Protocols Limitations
More informationUser 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 informationFast 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 informationCSCI Topics: Internet Programming Fall 2008
CSCI 491-01 Topics: Internet Programming Fall 2008 Transport Layer Derek Leonard Hendrix College October 15, 2008 Original slides copyright 1996-2007 J.F Kurose and K.W. Ross 1 Chapter 3: Roadmap 3.1 Transport-layer
More informationPage 1. Goals for Today" Discussion" Example: Reliable File Transfer" CS162 Operating Systems and Systems Programming Lecture 11
Goals for Today" CS162 Operating Systems and Systems Programming Lecture 11 Reliability, Transport Protocols" Finish e2e argument & fate sharing Transport: TCP/UDP Reliability Flow control October 5, 2011
More informationCSEP 561 Connections. David Wetherall
CSEP 561 Connections David Wetherall djw@cs.washington.edu Connections Focus How do we (reliably) connect processes? This is the transport layer Topics Naming processes Connection setup / teardown Sliding
More informationConnectionless and Connection-Oriented Protocols OSI Layer 4 Common feature: Multiplexing Using. The Transmission Control Protocol (TCP)
Lecture (07) OSI layer 4 protocols TCP/UDP protocols By: Dr. Ahmed ElShafee ١ Dr. Ahmed ElShafee, ACU Fall2014, Computer Networks II Introduction Most data-link protocols notice errors then discard frames
More informationCMSC 417. Computer Networks Prof. Ashok K Agrawala Ashok Agrawala. October 11, 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 informationIntroduction to TCP/IP networking
Introduction to TCP/IP networking TCP/IP protocol family IP : Internet Protocol UDP : User Datagram Protocol RTP, traceroute TCP : Transmission Control Protocol HTTP, FTP, ssh What is an internet? A set
More informationECE 650 Systems Programming & Engineering. Spring 2018
ECE 650 Systems Programming & Engineering Spring 2018 Networking Transport Layer Tyler Bletsch Duke University Slides are adapted from Brian Rogers (Duke) TCP/IP Model 2 Transport Layer Problem solved:
More informationTransport Protocols. CSCI 363 Computer Networks Department of Computer Science
Transport Protocols CSCI 363 Computer Networks Department of Computer Science Expected Properties Guaranteed message delivery Message order preservation No duplication of messages Support for arbitrarily
More informationNetworked 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 informationKent State University
CS 4/54201 Computer Communication Network Kent State University Dept. of Computer Science www.mcs.kent.edu/~javed/class-net06f/ 1 A Course on Networking and Computer Communication LECT-10, S-2 IP- Internet
More informationTransport 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 informationCSE 4213: Computer Networks II
Next CSE 4213: Computer Networks II The layer Suprakash Datta datta@cs.yorku.ca Office: CSEB 3043 Phone: 416-736-2100 ext 77875 Course page: http://www.cs.yorku.ca/course/4213 These slides are adapted
More informationTCP. 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