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

1 CONGESTION CONTROL. 2 Congestion Control When one part of the subnet (e.g. one or more routers in an area) becomes overloaded, congestion results. Because.
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.
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.
Introduction 1 Lecture 14 Transport Layer (Transmission Control Protocol) slides are modified from J. Kurose & K. Ross University of Nevada – Reno Computer.
School of Information Technologies TCP Congestion Control NETS3303/3603 Week 9.
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.
Transport Layer3-1 Congestion Control. Transport Layer3-2 Principles of Congestion Control Congestion: r informally: “too many sources sending too much.
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.
Week 9 TCP9-1 Week 9 TCP 3 outline r 3.5 Connection-oriented transport: TCP m segment structure m reliable data transfer m flow control m connection management.
1 Chapter 3 Transport Layer. 2 Chapter 3 outline 3.1 Transport-layer services 3.2 Multiplexing and demultiplexing 3.3 Connectionless transport: UDP 3.4.
Department of Electronic Engineering City University of Hong Kong EE3900 Computer Networks Transport Protocols Slide 1 Transport Protocols.
CMPE 257 Spring CMPE 257: Wireless and Mobile Networking Spring 2005 E2E Protocols (point-to-point)
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.
Process-to-Process Delivery:
Lect3..ppt - 09/12/04 CIS 4100 Systems Performance and Evaluation Lecture 3 by Zornitza Genova Prodanoff.
3: Transport Layer3b-1 Principles of Congestion Control Congestion: r informally: “too many sources sending too much data too fast for network to handle”
Transport Layer3-1 Chapter 3 outline r 3.1 Transport-layer services r 3.2 Multiplexing and demultiplexing r 3.3 Connectionless transport: UDP r 3.4 Principles.
Computer & Information Sciences University of Delaware
Principles of Congestion Control Congestion: informally: “too many sources sending too much data too fast for network to handle” different from flow control!
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.
TCP CS 168 Discussion Week 6 Many thanks to past EE 122 GSIs.
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 6 th edition Jim Kurose, Keith Ross Addison-Wesley March
Chapter 24 Transport Control Protocol (TCP) Layer 4 protocol Responsible for reliable end-to-end transmission Provides illusion of reliable network to.
TCP: Transmission Control Protocol Part II : Protocol Mechanisms Computer Network System Sirak Kaewjamnong Semester 1st, 2004.
1 CS 4396 Computer Networks Lab TCP – Part II. 2 Flow Control Congestion Control Retransmission Timeout TCP:
By N.Gopinath AP/CSE Unit: III Introduction to Transport layer.
Advance Computer Networks Lecture#09 & 10 Instructor: Engr. Muhammad Mateen Yaqoob.
Lecture Network layer -- May Congestion control Algorithms.
ECE 4110 – Internetwork Programming
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.
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.
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.
TCP as a Reliable Transport. How things can go wrong… Lost packets Corrupted packets Reordered packets …Malicious packets…
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.
Transmission Control Protocol (TCP) TCP Flow Control and Congestion Control CS 60008: Internet Architecture and Protocols Department of CSE, IIT Kharagpur.
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.
TCP - Part II.
DMET 602: Networks and Media Lab
Introduction to Networks
COMP 431 Internet Services & Protocols
Data Link Layer What does it do?
Internet and Intranet Protocols and Applications
TCP Overview.
Transport Layer: Congestion Control
TCP Sliding Windows, Flow Control, and Congestion Control
Error Checking continued
TCP Sliding Windows, Flow Control, and Congestion Control
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

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  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

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