Transmission Control Protocol (TCP)

Slides:



Advertisements
Similar presentations
TCP Variants.
Advertisements

Introduction 1 Lecture 13 Transport Layer (Transmission Control Protocol) slides are modified from J. Kurose & K. Ross University of Nevada – Reno Computer.
Different TCP Flavors CSCI 780, Fall TCP Congestion Control Slow-start Congestion Avoidance Congestion Recovery Tahoe, Reno, New-Reno SACK.
Prentice HallHigh Performance TCP/IP Networking, Hassan-Jain Chapter 2 TCP/IP Fundamentals.
CSE551: Computer Network Review r Network Layers r TCP/UDP r IP.
1 Comnet 2010 Communication Networks Recitation 9 Fairness & TCP Congestion Control.
TCP: Transmission Control Protocol Overview Connection set-up and termination Interactive Bulk transfer Timers Improvements.
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.
Transport Layer – TCP (Part1) Dr. Sanjay P. Ahuja, Ph.D. Fidelity National Financial Distinguished Professor of CIS School of Computing, UNF.
Copyright 1999, S.D. Personick. All Rights Reserved. Telecommunications Networking II Lecture 32 Transmission Control Protocol (TCP) Ref: Tanenbaum pp:
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 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 3-1 Transport Layer r To learn about transport layer protocols in the Internet: m TCP: connection-oriented protocol m Reliability protocol.
TCP. Learning objectives Reliable Transport in TCP TCP flow and Congestion Control.
Gursharan Singh Tatla Transport Layer 16-May
Introduction 1 Lecture 14 Transport Layer (Congestion Control) slides are modified from J. Kurose & K. Ross University of Nevada – Reno Computer Science.
The Transport Layer.
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.
TCP/IP. TCP/IP Protocol Suite (1) Physical layer Data-link layer –PPP, ARP, RARP Network layer – IP, ICMP, IGMP, BootP Transport layer _ TCP, UDP, RTP.
Copyright 2002, S.D. Personick. All Rights Reserved.1 Telecommunications Networking II Topic 20 Transmission Control Protocol (TCP) Ref: Tanenbaum pp:
TCP1 Transmission Control Protocol (TCP). TCP2 Outline Transmission Control Protocol.
Transmission Control Protocol
CSE679: Computer Network Review r Review of the uncounted quiz r Computer network review.
TCP: Transmission Control Protocol Overview Connection set-up and termination Interactive Bulk transfer Timers Improvements.
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.
1 TCP - Part II Relates to Lab 5. This is an extended module that covers TCP data transport, and flow control, congestion control, and error control in.
Lecture 9 – More TCP & Congestion Control
What is TCP? Connection-oriented reliable transfer Stream paradigm
1 CS 4396 Computer Networks Lab TCP – Part II. 2 Flow Control Congestion Control Retransmission Timeout TCP:
Transport Protocols.
NUS.SOC.CS2105 Ooi Wei Tsang Application Transport Network Link Physical you are still here.
Peer-to-Peer Networks 13 Internet – The Underlay Network
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.
Computer Networks 1000-Transport layer, TCP Gergely Windisch v spring.
1 TCP ProtocolsLayer name DNSApplication TCP, UDPTransport IPInternet (Network ) WiFi, Ethernet Link (Physical)
DMET 602: Networks and Media Lab Amr El Mougy Yasmeen EssamAlaa Tarek.
TCP/IP.
09-Transport Layer: TCP Transport Layer.
TCP Selective Acknowledgement Options
DMET 602: Networks and Media Lab
TCP Lecture 4.
Internet Protocol (IP) / Transmission Control Protocol (TCP)
ECE4605: IP & TCP.
Introduction to Networks
Transmission Control Protocol (TCP)
TCP Protocol Slides originally from Williamson at Calgary
TCP.
Process-to-Process Delivery
© 2003, Cisco Systems, Inc. All rights reserved.
PART 5 Transport Layer Computer Networks.
TCP.
Magda El Zarki Professor, ICS UC, Irvine
Introduction of Transport Protocols
Internet and Intranet Protocols and Applications
TCP - Part II Relates to Lab 5. This is an extended module that covers TCP flow control, congestion control, and error control in TCP.
TCP - Part I Relates to Lab 5. First module on TCP which covers packet format, data transfer, and connection management.
PART V Transport Layer.
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
Transport Protocols: TCP Segments, Flow control and Connection Setup
TCP flow and congestion control
Transport Layer 9/22/2019.
Lecture 6, Computer Networks (198:552)
Presentation transcript:

Transmission Control Protocol (TCP)

Puzzle How can a toss be called over the phone (without requiring trust)?

Correction Supernetting 510 stations, not 126 stations after supernetting in the example

Congestion Control Alternative: Fall to W/2 and start Slow Start Start with W=1 For every ACK, W=W+1 Congestion Avoidance (linear increase) For every ACK, W = W+1/W Congestion Control (multiplicative decrease) ssthresh = W/2 W = 1 Alternative: Fall to W/2 and start congestion avoidance directly

Why LIMD? (fairness) W=1 W=W/2 100 10 diff = 90 1 1 diff = 0 Problem? – inefficient W=W/2 50 5 diff = 45 51 6 diff = 45 52 7 diff = 45 .. 73 28 diff = 45 37.5 14 diff = 23.5 61.75 38.25 diff = 23.5 30.85 19.65 diff = 11.2

Flow Control Prevent sender from overwhelming the receiver Receiver in every ACK advertises the available buffer space at its end Window calculation MIN(congestion control window, flow control window)

Sequencing Starting sequence number randomly chosen during connection 3 1 2 4 Byte sequence numbers TCP receiver buffers out of order segments and reassembles them later Starting sequence number randomly chosen during connection establishment Why? 1 given to app 2 given to app Loss 4 buffered (not given to app) 3 & 4 given to app 4 discarded

TCP Segment Format 16 bit SRC Port 16 bit DST Port 32 bit sequence number 32 bit ACK number HL resvd flags 16 bit window size Flags: URG, ACK, PSH, RST, SYN, FIN 16 bit TCP checksum 16 bit urgent pointer Options (if any) Data

TCP Flavors TCP-Tahoe TCP-Reno TCP-newReno TCP-Vegas, TCP-SACK W=1 adaptation on congestion TCP-Reno W=W/2 adaptation on fast retransmit, W=1 on timeout TCP-newReno TCP-Reno + intelligent fast recovery TCP-Vegas, TCP-SACK

TCP Tahoe Slow-start Congestion control upon time-out or DUP-ACKs When the sender receives 3 duplicate ACKs for the same sequence number, sender infers a loss Congestion window reduced to 1 and slow-start performed again Simple Congestion control too aggressive

TCP Reno Tahoe + Fast re-transmit Packet loss detected both through timeouts, and through DUP-ACKs Sender reduces window by half, the ssthresh is set to half of current window, and congestion avoidance is performed (window increases only by 1 every round-trip time) Fast recovery ensures that pipe does not become empty Window cut-down to 1 (and subsequent slow-start) performed only on time-out

TCP New-Reno TCP-Reno with more intelligence during fast recovery In TCP-Reno, the first partial ACK will bring the sender out of the fast recovery phase Results in timeouts when there are multiple losses In TCP New-Reno, partial ACK is taken as an indication of another lost packet (which is immediately retransmitted). Sender comes out of fast recovery only after all outstanding packets (at the time of first loss) are ACKed

TCP SACK TCP (Tahoe, Reno, and New-Reno) uses cumulative acknowledgements When there are multiple losses, TCP Reno and New-Reno can retransmit only one lost packet per round-trip time What about TCP-Tahoe? SACK enables receiver to give more information to sender about received packets allowing sender to recover from multiple-packet losses faster

TCP SACK (Example) Assume packets 5-25 are transmitted Let packets 5, 12, and 18 be lost Receiver sends back a CACK=5, and SACK=(6-11,13-17,19-25) Sender knows that packets 5, 12, and 18 are lost and retransmits them immediately

Other TCP flavors TCP Vegas TCP FACK Uses round-trip time as an early-congestion-feedback mechanism Reduces losses TCP FACK Intelligently uses TCP SACK information to optimize the fast recovery mechanism further

User Datagram Protocol (UDP) Simpler cousin of TCP No reliability, sequencing, congestion control, flow control, or connection management! Serves solely as a labeling mechanism for demultiplexing at the receiver end Use predominantly by protocols that do no require the strict service guarantees offered by TCP (e.g. real-time multimedia protocols) Additional intelligence built at the application layer if needed

UDP Header Src Port Dst Port Length: length of header + data (min = 8) Checksum

Recap TCP Connection management Reliability Flow control Congestion control TCP flavors UDP

Puzzle You have a chain consisting of 63 inter-linked gold links You have to stay at a motel where the charge per day is 1 gold link You do not trust the motel manager and neither does he trust you What is the minimum number of links you need to break in order to stay for 63 days? Clue: The manager will not sell the links till you check out