Shivkumar Kalyanaraman Rensselaer Polytechnic Institute 1 TCP (Part III: Miscl) Shivkumar Kalyanaraman Rensselaer Polytechnic Institute

Slides:



Advertisements
Similar presentations
Laboratório de Teleprocessamento e Redes1 Unix Network Programming Prof. Nelson Fonseca
Advertisements

1 Transport Protocols & TCP CSE 3213 Fall April 2015.
TCP - Part I Relates to Lab 5. First module on TCP which covers packet format, data transfer, and connection management.
CSCI 4550/8556 Computer Networks
Transmission Control Protocol (TCP)
Slide Set 13: TCP. In this set.... TCP Connection Termination TCP State Transition Diagram Flow Control How does TCP control its sliding window ?
CS 6401 Transport Control Protocol Outline TCP objectives revisited TCP basics New algorithms for RTO calculation.
Chapter 12 Transport protocols. Outline 12.1 introduction 12.2 TCP/IP protocol suite.
1 TCP - Part I Relates to Lab 5. First module on TCP which covers packet format, data transfer, and connection management.
1 CS 4396 Computer Networks Lab Transmission Control Protocol (TCP) Part I.
Provides a reliable unicast end-to-end byte stream over an unreliable internetwork.
BZUPAGES.COM 1 User Datagram Protocol - UDP RFC 768, Protocol 17 Provides unreliable, connectionless on top of IP Minimal overhead, high performance –No.
1 TCP CSE May TCP Services Flow control Connection establishment and termination Congestion control 2.
Fundamentals of Computer Networks ECE 478/578 Lecture #21: TCP Window Mechanism Instructor: Loukas Lazos Dept of Electrical and Computer Engineering University.
Shivkumar Kalyanaraman Rensselaer Polytechnic Institute 1 TCP (Part II) Shivkumar Kalyanaraman Rensselaer Polytechnic Institute
CSCE 515: Computer Network Programming Chin-Tser Huang University of South Carolina.
Shivkumar Kalyanaraman Rensselaer Polytechnic Institute 1 UDP, TCP (Part I) Shivkumar Kalyanaraman Rensselaer Polytechnic Institute
Internet Networking Spring 2002 Tutorial 11 T/TCP (TCP extension for Transactions)
CSCE 515: Computer Network Programming Chin-Tser Huang University of South Carolina.
TDC375 Winter 03/04 John Kristoff - DePaul University 1 Network Protocols Transmission Control Protocol (TCP)
1 Data Transmissions in TCP Dr. Rocky K. C. Chang 17 October 2006.
Shivkumar Kalyanaraman Rensselaer Polytechnic Institute 1 UDP, TCP (Part I) Shivkumar Kalyanaraman Rensselaer Polytechnic Institute
Computer Networks Transport Layer. Topics F Introduction  F Connection Issues F TCP.
Shivkumar Kalyanaraman Rensselaer Polytechnic Institute 1-1 TCP Shivkumar Kalyanaraman Rensselaer Polytechnic Institute
1 K. Salah Module 6.1: TCP Flow and Congestion Control Connection establishment & Termination Flow Control Congestion Control QoS.
TCP. Learning objectives Reliable Transport in TCP TCP flow and Congestion Control.
Shivkumar Kalyanaraman Rensselaer Polytechnic Institute 1 UDP, TCP (Part I) Shivkumar Kalyanaraman Rensselaer Polytechnic Institute
Shivkumar Kalyanaraman Rensselaer Polytechnic Institute 1 Internet Control Message Protocol (ICMP) Shivkumar Kalyanaraman Rensselaer Polytechnic Institute.
Shivkumar Kalyanaraman Rensselaer Polytechnic Institute 1 TCP (Part II) Shivkumar Kalyanaraman Rensselaer Polytechnic Institute
Shivkumar Kalyanaraman Rensselaer Polytechnic Institute 1 TCP (Part II) Shivkumar Kalyanaraman Rensselaer Polytechnic Institute
1 Transport Layer Computer Networks. 2 Where are we?
Shivkumar Kalyanaraman Rensselaer Polytechnic Institute 1 Internet Control Message Protocol (ICMP) Shivkumar Kalyanaraman Rensselaer Polytechnic Institute.
CS 356: Introduction to Computer Networks Lecture 16: Transmission Control Protocol (TCP) Xiaowei Yang
COMT 4291 Communications Protocols and TCP/IP COMT 429.
TCP Timers Chia-tai Tsai Introduction The 7 Timers for each Connection Connection-Establishment Timer Establish a new connection.
Copyright © Lopamudra Roychoudhuri
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.
1 Transport Protocols (continued) Relates to Lab 5. UDP and TCP.
Transport Layer: TCP and UDP. Overview of TCP/IP protocols Comparing TCP and UDP TCP connection: establishment, data transfer, and termination Allocation.
Copyright © Lopamudra Roychoudhuri
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:
1 TCP Timeout And Retransmission Chapter 21 TCP sets a timeout when it sends data and if data is not acknowledged before timeout expires it retransmits.
Prentice HallHigh Performance TCP/IP Networking, Hassan-Jain Chapter 13 TCP Implementation.
ECE 4110 – Internetwork Programming
TCP Timeout and Retransmission
TCP continued. Discussion – TCP Throughput TCP will most likely generate the saw tooth type of traffic. – A rough estimate is that the congestion window.
IP Configuration API. Network Interface Configuration NAIfconfigIsDeviceUp() NAIfconfigDeviceFromInterface() NAIfconfigBringDeviceUp() NAIfconfigSetIpAddress()
1 Reliable Byte-Stream (TCP) Outline Connection Establishment/Termination Sliding Window Revisited Flow Control Adaptive Timeout.
Transmission Control Protocol (TCP) connection-oriented stream data transfer data sent as an unstructured stream of bytes reliability acknowledgements.
Computer Networking Lecture 10 – TCP & Routers.
TCP/IP1 Address Resolution Protocol Internet uses IP address to recognize a computer. But IP address needs to be translated to physical address (NIC).
1 Transmission Control Protocol (TCP) RFC: Introduction The TCP is intended to provide a reliable process-to-process communication service in a.
3. END-TO-END PROTOCOLS (PART 1) Rocky K. C. Chang Department of Computing The Hong Kong Polytechnic University 22 March
TCP - Part II.
TCP - Part III TCP Timers Selective Acknowledgements.
Chapter 5 TCP Sequence Numbers & TCP Transmission Control
TCP: Overview RFCs: 793, 1122, 1323, 2018, 2581 full duplex data:
Transport Control Protocol
TCP Wrap-up TCP Timers Selective Acknowledgements.
5. End-to-end protocols (part 1)
TCP.
CS 5565 Network Architecture and Protocols
Hojun Lee TCP enhancements Hojun Lee 11/8/2018.
TCP - Part I Relates to Lab 5. First module on TCP which covers packet format, data transfer, and connection management.
CS 5565 Network Architecture and Protocols
Transport Control Protocol
TCP - Part I Relates to Lab 5. First module on TCP which covers packet format, data transfer, and connection management.
Transport Protocols: TCP Segments, Flow control and Connection Setup
TCP: Transmission Control Protocol Part II : Protocol Mechanisms
Presentation transcript:

Shivkumar Kalyanaraman Rensselaer Polytechnic Institute 1 TCP (Part III: Miscl) Shivkumar Kalyanaraman Rensselaer Polytechnic Institute Shivkumar Kalyanaraman Rensselaer Polytechnic Institute

Shivkumar Kalyanaraman Rensselaer Polytechnic Institute 2 q TCP Persist and Keepalive timers q Silly window syndrome q Path MTU q Window Scale Factor q Timestamp option q T/TCP: TCP for transactions Ref: Chap 22, 23, 24; RFC 1323 q TCP Persist and Keepalive timers q Silly window syndrome q Path MTU q Window Scale Factor q Timestamp option q T/TCP: TCP for transactions Ref: Chap 22, 23, 24; RFC 1323 Overview

Shivkumar Kalyanaraman Rensselaer Polytechnic Institute 3 TCP Persist Timer q Receiver flow control can set window to zero q Receiver later sends “window update acks” q But TCP does not transmit acks reliably => update acks may be lost and source may be stuck at a zero window value q TCP uses persist timer to query the receiver periodically to find if the window has been increased. q Persist timer always bounded between 5s and 60s. It does exponential backoff like other timers too. q Receiver flow control can set window to zero q Receiver later sends “window update acks” q But TCP does not transmit acks reliably => update acks may be lost and source may be stuck at a zero window value q TCP uses persist timer to query the receiver periodically to find if the window has been increased. q Persist timer always bounded between 5s and 60s. It does exponential backoff like other timers too.

Shivkumar Kalyanaraman Rensselaer Polytechnic Institute 4 Silly Window Syndrome q A) The system operates at a small window (sends segments which are not MSS-sized) even if the receiver grants a large window. q B) Receiver advertises small windows. q Solution: batching q Receiver must not advertise small windows q Sender waits until segment full before sending (extension of Nagle’s algo), q It can transmit everything if it is not waiting for any ACK (or if Nagle’s algo has been disabled) q A) The system operates at a small window (sends segments which are not MSS-sized) even if the receiver grants a large window. q B) Receiver advertises small windows. q Solution: batching q Receiver must not advertise small windows q Sender waits until segment full before sending (extension of Nagle’s algo), q It can transmit everything if it is not waiting for any ACK (or if Nagle’s algo has been disabled)

Shivkumar Kalyanaraman Rensselaer Polytechnic Institute 5 TCP Keepalive timer q Optional timer. q Not part of TCP spec, but found in most implementations. q Not necessary, because “connection” defined by endpoints. q Connection can be “up”as long as source/destination “up”. q Typical use: to detect idle clients or half-open connections and de-allocate server resources tied up to them. Eg: telnet, ftp. q Optional timer. q Not part of TCP spec, but found in most implementations. q Not necessary, because “connection” defined by endpoints. q Connection can be “up”as long as source/destination “up”. q Typical use: to detect idle clients or half-open connections and de-allocate server resources tied up to them. Eg: telnet, ftp.

Shivkumar Kalyanaraman Rensselaer Polytechnic Institute 6 Path MTU discovery q Assume MSS = Min (local MTU - headers, destination MSS). Set DF bit. q If ICMP error, reduce segment size and retransmit. q Since routes change dynamically, a larger value can be tried again after a time interval (RFC 1191 recommends 10 min, but Solaris uses 30 s). q Assume MSS = Min (local MTU - headers, destination MSS). Set DF bit. q If ICMP error, reduce segment size and retransmit. q Since routes change dynamically, a larger value can be tried again after a time interval (RFC 1191 recommends 10 min, but Solaris uses 30 s).

Shivkumar Kalyanaraman Rensselaer Polytechnic Institute 7 Gigabit Networks q “Higher Bandwidth Networks” q Propagation latency unchanged. q Increasing bandwidth from 1.5Mb/s to 45 Mb/s (factor of 29) decreases file transfer time of 1MB by a factor of 25. q But, increasing from 1 Gb/s to 2 Gb/s gives an improvement of only 10% ! q Transfer time = propagation time + transmission time + queueing/processing. q Design networks to minimize delay (queueing, processing, reduce retransmission latency) q “Higher Bandwidth Networks” q Propagation latency unchanged. q Increasing bandwidth from 1.5Mb/s to 45 Mb/s (factor of 29) decreases file transfer time of 1MB by a factor of 25. q But, increasing from 1 Gb/s to 2 Gb/s gives an improvement of only 10% ! q Transfer time = propagation time + transmission time + queueing/processing. q Design networks to minimize delay (queueing, processing, reduce retransmission latency)

Shivkumar Kalyanaraman Rensselaer Polytechnic Institute 8 q Long Fat Pipe Networks (LFN): Satellite links q Need very large window sizes. q Normally, Max window = 2 16 = 64 KBytes q Window scale: Window = W × 2 Scale q Long Fat Pipe Networks (LFN): Satellite links q Need very large window sizes. q Normally, Max window = 2 16 = 64 KBytes q Window scale: Window = W × 2 Scale Window Scaling Option Kind = 3Length = 3Scale q Max window = 2 16 × q Option sent only in SYN and SYN + Ack segments. q RFC 1323

Shivkumar Kalyanaraman Rensselaer Polytechnic Institute 9 Timestamp option q For LFNs, need accurate and more frequent RTT estimates. q Timestamp option: q Place a timestamp value in any segment. q Receiver echoes timestamp value in ack q If acks are delayed, the timestamp value returned corresponds to the earliest segment being acked. q Segments lost/retransmitted => RTT overestimated q For LFNs, need accurate and more frequent RTT estimates. q Timestamp option: q Place a timestamp value in any segment. q Receiver echoes timestamp value in ack q If acks are delayed, the timestamp value returned corresponds to the earliest segment being acked. q Segments lost/retransmitted => RTT overestimated

Shivkumar Kalyanaraman Rensselaer Polytechnic Institute 10 PAWS: Protection against wrapped sequence numbers q Largest receiver window = 2^30 = 1 GB q “Lost” segment may reappear before MSL, and the sequence numbers may have wrapped around q The receiver considers the timestamp as an extension of the sequence number => discard out-of-sequence segment based on both seq # and timestamp. q Reqt: timestamp values need to be monotonically increasing, and need to increase by at least one per window q Largest receiver window = 2^30 = 1 GB q “Lost” segment may reappear before MSL, and the sequence numbers may have wrapped around q The receiver considers the timestamp as an extension of the sequence number => discard out-of-sequence segment based on both seq # and timestamp. q Reqt: timestamp values need to be monotonically increasing, and need to increase by at least one per window

Shivkumar Kalyanaraman Rensselaer Polytechnic Institute 11 T/TCP: Transaction Oriented TCP  Three-way handshake  Long delays for transaction-oriented applications. q T/TCP extension avoids 3-way handshakes q Request/reply data sent with connection messages q Server caches a connection count (CC) per-client to detect duplicate requests and avoid replaying transaction q TIME_WAIT is shortened by setting it to 8*RTO q Latency = RTT + server processing time (SPT)  Three-way handshake  Long delays for transaction-oriented applications. q T/TCP extension avoids 3-way handshakes q Request/reply data sent with connection messages q Server caches a connection count (CC) per-client to detect duplicate requests and avoid replaying transaction q TIME_WAIT is shortened by setting it to 8*RTO q Latency = RTT + server processing time (SPT)

Shivkumar Kalyanaraman Rensselaer Polytechnic Institute 12 Summary q Persist and keepalive timers, silly window avoidance q Enhancements for LFNs: window scale option, timestamp option, PAWS q T/TCP extension to TCP for transactions q Persist and keepalive timers, silly window avoidance q Enhancements for LFNs: window scale option, timestamp option, PAWS q T/TCP extension to TCP for transactions