CS2910 Week 9, Class 1 Today –Quiz on SMTP –TCP: Flow control vs. Congestion Control –TCP startup, error recovery, and shut-down Before 8am Thursday: –Watch.

Slides:



Advertisements
Similar presentations
CS144 Review Session 4 April 25, 2008 Ben Nham
Advertisements

Introduction 1 Lecture 13 Transport Layer (Transmission Control Protocol) slides are modified from J. Kurose & K. Ross University of Nevada – Reno Computer.
2: Transport Layer 31 Transport Layer 3. 2: Transport Layer 32 TCP Flow Control receiver: explicitly informs sender of (dynamically changing) amount of.
© 2007 Pearson Education Inc., Upper Saddle River, NJ. All rights reserved.1 Computer Networks and Internets with Internet Applications, 4e By Douglas.
Transport Layer – TCP (Part2) Dr. Sanjay P. Ahuja, Ph.D. Fidelity National Financial Distinguished Professor of CIS School of Computing, UNF.
Transmission Control Protocol (TCP)
NET0183 Networks and Communications Lecture 28 TCP: a transport layer protocol... the story continues... Sagan halda áfram 8/25/20091 NET0183 Networks.
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.
EEC-484/584 Computer Networks Lecture 8 Wenbing Zhao (Part of the slides are based on Drs. Kurose & Ross ’ s slides for their Computer.
Chapter 7 – Transport Layer Protocols
School of Information Technologies TCP Congestion Control NETS3303/3603 Week 9.
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.
CSEE W4140 Networking Laboratory Lecture 7: TCP flow control and congestion control Jong Yul Kim
CSCE 515: Computer Network Programming Chin-Tser Huang University of South Carolina.
CSEE W4140 Networking Laboratory Lecture 7: TCP congestion control Jong Yul Kim
EEC-484/584 Computer Networks Lecture 14 Wenbing Zhao (Part of the slides are based on Drs. Kurose & Ross ’ s slides for their Computer.
Department of Electronic Engineering City University of Hong Kong EE3900 Computer Networks Transport Protocols Slide 1 Transport Protocols.
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.
EEC-484/584 Computer Networks Lecture 16 Wenbing Zhao (Part of the slides are based on Drs. Kurose & Ross ’ s slides for their Computer.
Transport Layer TCP and UDP IS250 Spring 2010
TCP: flow and congestion control. Flow Control Flow Control is a technique for speed-matching of transmitter and receiver. Flow control ensures that a.
1 Transport Layer Computer Networks. 2 Where are we?
1 Semester 2 Module 10 Intermediate TCP/IP Yuda college of business James Chen
Network LayerII-1 RSC Part III: Transport Layer 3. TCP Redes y Servicios de Comunicaciones Universidad Carlos III de Madrid These slides are, mainly, part.
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.
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 : Transmission Control Protocol Computer Network System Sirak Kaewjamnong.
TCP Lecture 13 November 13, TCP Background Transmission Control Protocol (TCP) TCP provides much of the functionality that IP lacks: reliable service.
TCP1 Transmission Control Protocol (TCP). TCP2 Outline Transmission Control Protocol.
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.
1 TCP: Reliable Transport Service. 2 Transmission Control Protocol (TCP) Major transport protocol used in Internet Heavily used Completely reliable transfer.
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.
Transport Layer 3-1 Chapter 3 Transport Layer Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Addison-Wesley March
CS640: Introduction to Computer Networks Aditya Akella Lecture 15 TCP – III Reliability and Implementation Issues.
Computer Networking Lecture 18 – More TCP & Congestion Control.
1 CS 4396 Computer Networks Lab TCP – Part II. 2 Flow Control Congestion Control Retransmission Timeout TCP:
Computer Networks23-1 PART 5 Transport Layer. Computer Networks23-2 Position of Transport Layer Responsible for the delivery of a message from one process.
ECE 4110 – Internetwork Programming
Transport Layer3-1 Chapter 3 Transport Layer Computer Networking: A Top Down Approach 5 th edition. Jim Kurose, Keith Ross Addison-Wesley, April 2009.
IP1 The Underlying Technologies. What is inside the Internet? Or What are the key underlying technologies that make it work so successfully? –Packet Switching.
TCP as a Reliable Transport. How things can go wrong… Lost packets Corrupted packets Reordered packets …Malicious packets…
1 Computer Communication & Networks Lecture 23 & 24 Transport Layer: UDP and TCP Waleed Ejaz
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.
TCP/IP1 Address Resolution Protocol Internet uses IP address to recognize a computer. But IP address needs to be translated to physical address (NIC).
Transmission Control Protocol (TCP) TCP Flow Control and Congestion Control CS 60008: Internet Architecture and Protocols Department of CSE, IIT Kharagpur.
@Yuan Xue A special acknowledge goes to J.F Kurose and K.W. Ross Some of the slides used in this lecture are adapted from their.
Transport Layer session 1 TELE3118: Network Technologies Week 11: Transport Layer TCP Some slides have been taken from: r Computer Networking:
1 TCP ProtocolsLayer name DNSApplication TCP, UDPTransport IPInternet (Network ) WiFi, Ethernet Link (Physical)
Chapter 5 Peer-to-Peer Protocols and Data Link Layer Timing Recovery.
DMET 602: Networks and Media Lab Amr El Mougy Yasmeen EssamAlaa Tarek.
09-Transport Layer: TCP Transport Layer.
Chapter 3 Transport Layer
DMET 602: Networks and Media Lab
CS450 – Introduction to Networking Lecture 19 – Congestion Control (2)
TCP: Overview RFCs: 793, 1122, 1323, 2018, 2581 full duplex data:
The Transport Layer (TCP)
Introduction to Networks
CS2911 Week 9, Sometime Today Week 10, Tuesday TCP
Internet and Intranet Protocols and Applications
CS4470 Computer Networking Protocols
CS2911 Week 7, Class 3 Today Week 8, Lab period Muddiest Point
Transport Layer: Congestion Control
TCP flow and congestion control
Chapter 3 Transport Layer
Chapter 3 Transport Layer
Presentation transcript:

CS2910 Week 9, Class 1 Today –Quiz on SMTP –TCP: Flow control vs. Congestion Control –TCP startup, error recovery, and shut-down Before 8am Thursday: –Watch video. Take quiz. (see links online) SE-2811 Slide design: Dr. Mark L. Hornick Content: Dr. Hornick Errors: Dr. Yoder 1

Acknowledgement Acknowledgements are cumulative –Acknowledgement of any octet implies receipt of all previous octets –Think (30 s) –Pair (30 s) –Shair What if timeout was here?

Timeout and Retransmission What do we use for a timeout? –LAN – round-trip time for ACK might be ms –Internet – 100x –Varies over time

Adaptive Retransmission Round-trip time (RTT) is monitored for each transmission/ACK 0 ≤ α < 1 Recommended value of α = [RFC 6298] Recommended β is 0.25

Sliding Window - Pipelined Requires buffering on each end Remaining space on receiver in last acknowledgement

Sliding Window supports Flow Control Won't over-fill receiver's buffer Waits for receiving application to be ready This is one reason to call recv even before we have gotten the whole message

Flow vs. Congestion Control Flow control is a function of the receiver and its ability to accept data Congestion control is a function of the network and its ability to carry messages Congestion control avoids sending more data than the network can handle, resulting in collapse of the networkcollapse

New Variable - cwnd Two windows Un-acknowledged bytes –cwnd – congestion window –rwnd – receive (flow control) window

cwnd We can send up to cwnd bytes per RTT period Average transmission rate is roughly cwnd/RTT bytes/sec By manipulating cwnd, transmission rate can be controlled

Congestion Detection If segments lost, maybe we are sending too many Adjust cwnd –Decrease when a segment is lost –Increase when [consistent] ACKs are received Continue to increase until a segment is lost, then backoff

TCP Slow Start Start with a small cwnd (one MSS)

cwnd Over Time

Challenge: How to avoid accidental message? What if a TCP message from a previous connection gets stuck in a router for a while, but then eventually gets delivered later? How to avoid it being mistaken for the newer message?

Exercise: TCP sequence & acknowlegement numbers TCP sequence numbers actually start at a random number To establish the number, the sender sends the random first sequence number. The receiver replies with the sequence number + 1 After this, the current sequence number is always first number total number of bytes sent/received

Starting a TCP sequence Client Server SYN, SEQ = 368 ACK, ACK = 369 SEQ = 369, 10 bytes data ACK, ACK = 379 SEQ = 379, 10 bytes data ACK = 389

Server also can send data Client Server SYN, SEQ = 824 ACK, ACK = 825 SEQ = 825, 30 bytes data ACK, ACK = 855 SEQ = 855, 20 bytes data

All together now… Client Server SYN, SEQ = 824 ACK, ACK = 825 SEQ = 825, 30 bytes data ACK, ACK = 855 SEQ = 855, 20 bytes data SYN, SEQ = 368 ACK, ACK = 369 SEQ = 369, 10 bytes data ACK, ACK = 379 SEQ = 379, 10 bytes data ACK = 389 Three-way Handshake

Multiple pending messages Client SYN, SEQ = 368 ACK, ACK = 369 SEQ = 369, 10 bytes data SEQ = 379, 20 bytes data ACK, ACK = 369

Closing a TCP connection Client Server FIN ACK FIN ACK

Exercise Fill in the blanks of the sample TCP message below

A very brief history of the internet 1957 – Sputnik launched, ARPA formed 1962 – ARPA forms IPTO to create ARPAnet 1969 – First packet switched network at UCLA 1983 – TCP/IP first deployed 1986 – NSFNET created (& many others) 1991 – NSFNET allows commercial activities. e-Bay, Google, Amazon … 2000's – Facebook, Twitter, Youtube, … Source: Kurose & Ross, 6 th, Ed, Section 1.7 and

The content of this lecture is based in part on lecture slides from a very good textbook, and used with the author’s permission: Computer Networking: A Top-Down Approach, 6e, by Jim Kurose and Keith Ross Publisher: Pearson, 2013 It is also based on slides provided by Dr. Darrin Rothe