Data Transfer Case Study: TCP  Go-back N ARQ  32-bit sequence # indicates byte number in stream  transfers a byte stream, not fixed size user blocks.

Slides:



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

24-1 Chapter 24. Congestion Control and Quality of Service (part 1) 23.1 Data Traffic 23.2 Congestion 23.3 Congestion Control 23.4 Two Examples.
IS333, Ch. 26: TCP Victor Norman Calvin College 1.
Transport Layer3-1 TCP. Transport Layer3-2 TCP: Overview RFCs: 793, 1122, 1323, 2018, 2581 r full duplex data: m bi-directional data flow in same connection.
Data Communications and Computer Networks Chapter 3 CS 3830 Lecture 16 Omar Meqdadi Department of Computer Science and Software Engineering University.
1 Transport Layer Lecture 9 Imran Ahmed University of Management & Technology.
CSE551: Computer Network Review r Network Layers r TCP/UDP r IP.
1 TCP - Part I Relates to Lab 5. First module on TCP which covers packet format, data transfer, and connection management.
Transport Layer – TCP (Part1) Dr. Sanjay P. Ahuja, Ph.D. Fidelity National Financial Distinguished Professor of CIS School of Computing, UNF.
Computer Networking Lecture 17 – TCP & Congestion Control Dejian Ye, Liu Xin.
Introduction 1 Lecture 14 Transport Layer (Transmission Control Protocol) slides are modified from J. Kurose & K. Ross University of Nevada – Reno Computer.
EEC-484/584 Computer Networks Lecture 12 Wenbing Zhao (Part of the slides are based on Drs. Kurose & Ross ’ s slides for their Computer.
Chapter 3 outline 3.1 transport-layer services
EEC-484/584 Computer Networks Lecture 14 Wenbing Zhao (Part of the slides are based on Drs. Kurose & Ross ’ s slides for their Computer.
Transport Layer 3-1 outline r TCP m segment structure m reliable data transfer m flow control m congestion control.
Transport Layer 3-1 Fast Retransmit r time-out period often relatively long: m long delay before resending lost packet r detect lost segments via duplicate.
EEC-484/584 Computer Networks Lecture 12 Wenbing Zhao (Part of the slides are based on Drs. Kurose & Ross ’ s slides for their Computer.
Transport Layer 3-1 Outline r TCP m Congestion control m Flow control.
Transport Layer 3-1 Transport Layer r To learn about transport layer protocols in the Internet: m TCP: connection-oriented protocol m Reliability protocol.
Transport Layer Transport Layer: TCP. Transport Layer 3-2 TCP: Overview RFCs: 793, 1122, 1323, 2018, 2581 r full duplex data: m bi-directional.
Transport Layer 3-1 Transport Layer r To learn about transport layer protocols in the Internet: m TCP: connection-oriented protocol m Reliability protocol.
CSCE 515: Computer Network Programming TCP Details Wenyuan Xu Department of Computer Science and Engineering.
Department of Electronic Engineering City University of Hong Kong EE3900 Computer Networks Transport Protocols Slide 1 Transport Protocols.
TCP. Learning objectives Reliable Transport in TCP TCP flow and Congestion Control.
2: Application Layer 1 1DT066 Distributed Information System Chapter 3 Transport Layer.
3-1 Transport services and protocols r provide logical communication between app processes running on different hosts r transport protocols run in end.
Error Checking continued. Network Layers in Action Each layer in the OSI Model will add header information that pertains to that specific protocol. On.
Data Transfer Case Study: TCP  Go-back N ARQ  32-bit sequence # indicates byte number in stream  transfers a byte stream, not fixed size user blocks.
Computer & Information Sciences University of Delaware
3: Transport Layer3b-1 TCP: Overview RFCs: 793, 1122, 1323, 2018, 2581 r full duplex data: m bi-directional data flow in same connection m MSS: maximum.
2: Transport Layer 21 Transport Layer 2. 2: Transport Layer 22 TCP: Overview RFCs: 793, 1122, 1323, 2018, 2581 r full duplex data: m bi-directional data.
TCOM 509 – Internet Protocols (TCP/IP) Lecture 04_b Transport Protocols - TCP Instructor: Dr. Li-Chuan Chen Date: 09/22/2003 Based in part upon slides.
TCP Transport Control Protocol Information management 2 Groep T Leuven – Information department 2/35 Introduction UDP provides the connection.
TCP : Transmission Control Protocol Computer Network System Sirak Kaewjamnong.
26-TCP Dr. John P. Abraham Professor UTPA. TCP  Transmission control protocol, another transport layer protocol.  Reliable delivery  Tcp must compensate.
ECE453 – Introduction to Computer Networks Lecture 14 – Transport Layer (I)
TCP1 Transmission Control Protocol (TCP). TCP2 Outline Transmission Control Protocol.
The Transmission Control Protocol (TCP) Application Services (Telnet, FTP, , WWW) Reliable Stream Transport (TCP) Connectionless Packet Delivery.
Transport Layer Moving Segments. Transport Layer Protocols Provide a logical communication link between processes running on different hosts as if directly.
Chapter 12 Transmission Control Protocol (TCP)
Transport Control Protocol (TCP) Features of TCP, packet loss and retransmission, adaptive retransmission, flow control, three way handshake, congestion.
CSE679: Computer Network Review r Review of the uncounted quiz r Computer network review.
1 Transport Layer Lecture 10 Imran Ahmed University of Management & Technology.
Transport Layer 3-1 Chapter 3 Transport Layer Computer Networking: A Top Down Approach 5 th edition. Jim Kurose, Keith Ross Addison-Wesley, April 2009.
Chapter 24 Transport Control Protocol (TCP) Layer 4 protocol Responsible for reliable end-to-end transmission Provides illusion of reliable network to.
TCP. TCP ACK generation [RFC 1122, RFC 2581] Event at Receiver Arrival of in-order segment with expected seq #. All data up to expected seq # already.
Explicit Congestion Notification (ECN) RFC 3168
Transport Layer3-1 Chapter 3 Transport Layer Computer Networking: A Top Down Approach 5 th edition. Jim Kurose, Keith Ross Addison-Wesley, April 2009.
Transport Layer: Sliding Window Reliability
Data Link Layer Flow and Error Control. Flow Control Flow Control Flow Control Specifies the amount of data can be transmitted by sender before receiving.
IT 424 Networks2 IT 424 Networks2 Ack.: Slides are adapted from the slides of the book: “Computer Networking” – J. Kurose, K. Ross Chapter 3: Transport.
Transport Layer3-1 Transport Layer If you are going through Hell Keep going.
CIS679: TCP and Multimedia r Review of last lecture r TCP and Multimedia.
Transmission Control Protocol (TCP) TCP Flow Control and Congestion Control CS 60008: Internet Architecture and Protocols Department of CSE, IIT Kharagpur.
CSEN 404 Transport Layer II Amr El Mougy Lamia AlBadrawy.
1 TCP ProtocolsLayer name DNSApplication TCP, UDPTransport IPInternet (Network ) WiFi, Ethernet Link (Physical)
Transport Layer3-1 Chapter 3 Transport Layer Computer Networking: A Top Down Approach Featuring the Internet, 4th edition. Jim Kurose, Keith Ross Chapter.
DMET 602: Networks and Media Lab Amr El Mougy Yasmeen EssamAlaa Tarek.
09-Transport Layer: TCP Transport Layer.
TCP - Part II.
Chapter 3 outline 3.1 Transport-layer services
DMET 602: Networks and Media Lab
TCP: Overview RFCs: 793, 1122, 1323, 2018, 2581 full duplex data:
Introduction to Networks
Introduction of Transport Protocols
Internet and Intranet Protocols and Applications
TCP Overview.
Transport Protocols: TCP Segments, Flow control and Connection Setup
Transport Protocols: TCP Segments, Flow control and Connection Setup
Presentation transcript:

Data Transfer Case Study: TCP  Go-back N ARQ  32-bit sequence # indicates byte number in stream  transfers a byte stream, not fixed size user blocks  full duplex (bi-rectional) data transfer  sends upper level data "at its convenience" (RFC793!), trying to accumulate 512 bytes of data  cumulative ACK: ACK(n) ack’s all bytes up through n  ACK for received A-to-B data piggybacked on B-to-A data packet  Internet checksum: add up data, take 1’s complement  covers both header and data

TCP Packet Format source port number dest. port number sequence number acknowledgment number head len unused urgurg ackack pshpsh rstrst synsyn finfin window size ptr to urgent data Internet checksum options data 32 bits

Data Transfer: XTP  XTP: Xpress transfer protocol  designed for high-speed, high-performance networks  32-bit sequence numbers with transition to 64-bit seq. numbers  32-bit priority field for different priority data  user-selectable: reliable or unreliable data transfer  Go-Back-N ARQ but receiver can also indicate spans of packets received  sender only retransmits gaps

Data Transfer: XTP  checksum:  form of two-dimensional parity  header and data checksummed separately  data checksumming can be disabled  data checksumming at end (send data while computing checksum (need only touch data once)

Flow and Congestion Control sometimes sender shouldn’t send a ready packet:  receiver not ready (e.g., buffers full)  react to congestion  many unACK’ed packets may mean long end-end delays, congested networks  network itself may provide sender with congestion indication  avoid congestion:  sender transmits smoothly to avoid temporary network overloads

Flow and Congestion Control flow control: speed and resource matching of sender and receiver  sender should not overwhelm receiver congestion control: action taken in response to network layer (and below) congestion  throttling sender is but one solution to congestion

The flow control scenario

Two approaches towards flow control Explicit flow control  receiver tells sender how much to send

Explicit flow control (cont) Useful abstraction: sender maintains sliding window over sequence number, indicating what it can send  done in TCP and TP4  congestion (as opposed to flow) control window may further restrict sender

Flow Control in TCP Receiver explicitly advertises available buffer space to sender:  16-bit "advertised window" specifies number of bytes (starting from ACKnum) receiver willing to receive  max window size is 64K  recent "scaling" option for larger windows

can send 1Kbytes, send 1K packet receiver advertises window size of 2048 bytes can send 1Kbytes, send 1K packet flow control window closed can send 1Kbytes, send 1K packet flow control window closed receiver delays ACK (no ACK generated) receiver generatess ACK ACK advertises window of 1024 bytes SenderReceiver

Implicit flow control  receipt of ACK’s triggers more sending  delayed ACK (for whatever reason) slows down sender  IBM virtual route pacing:  initially send window of N packets  ACK of first packet in this (and subsequent) windows of N allows sender to send N more  jumping", non-sliding window  max. number of unACK’ed packets?  decrease in traffic for explicit flow control

Congestion Control Temporary demand for shared resources (links, processing, buffers) in network layer and below may exceed demand:  packets buffered until resources available  buffers full: packet lost (discarded)  which to discard?  lots of buffering: excessive delays network layer switching and routing input buffers output buffers

Congestion Control: retransmission effects Ideal case:  every packet delivered successfully until subnet reaches capacity  beyond capacity: deliver packets at capacity rate In face of loss or long end-end delay, retransmissions can make things worse  inject more (not less) traffic into net  throwing fuel on fire!

Congestion Control: retransmission effects

Congestion Control (cont) Realistically:  as offered load increases, more packets lost, causing more retransmission, causing more traffic, causing more losses, …  at (b), each original packet sent four times on average  decreasing rate of transmission (e.g., a larger timeout value) increases overall throughput Moral:  when losses occur: backoff, don’t aggressively retransmit However:  social versus individual good: if most back off (and suffer) how to handle greedy sender who does not back off (and benefits)

Three Basic Approaches towards Congestion Control End-end congestion control  sender-observed congestion (e.g., delays, losses) used to control sender  closed loop control Network-indicated congestion control  network layer provides feedback to sender Rate-based control  sender behavior fixed (bounded) over time  open-loop control Real-world protocols sometimes mix/combine these