IS333, Ch. 26: TCP Victor Norman Calvin College 1.

Slides:



Advertisements
Similar presentations
Prentice HallHigh Performance TCP/IP Networking, Hassan-Jain Chapter 2 TCP/IP Fundamentals.
Advertisements

TCP - Part I Relates to Lab 5. First module on TCP which covers packet format, data transfer, and connection management.
Guide to TCP/IP, Second Edition1 Guide To TCP/IP, Second Edition Chapter 5 Transport Layer TCP/IP Protocols.
CSCI 4550/8556 Computer Networks
Transmission Control Protocol (TCP)
Intermediate TCP/IP TCP Operation.
Guide to TCP/IP, Third Edition
Chapter 7 Intro to Routing & Switching.  Upon completion of this chapter, you should be able to:  Explain the need for the transport layer.  Identify.
UDP & TCP Where would we be without them!. UDP User Datagram Protocol.
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.
1 CS 4396 Computer Networks Lab Transmission Control Protocol (TCP) Part I.
BZUPAGES.COM 1 User Datagram Protocol - UDP RFC 768, Protocol 17 Provides unreliable, connectionless on top of IP Minimal overhead, high performance –No.
© 2007 Cisco Systems, Inc. All rights reserved.Cisco Public 1 Version 4.0 OSI Transport Layer Network Fundamentals – Chapter 4.
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.
WXES2106 Network Technology Semester /2005 Chapter 8 Intermediate TCP CCNA2: Module 10.
Gursharan Singh Tatla Transport Layer 16-May
What Can IP Do? Deliver datagrams to hosts – The IP address in a datagram header identify a host IP treats a computer as an endpoint of communication Best.
Process-to-Process Delivery:
TRANSPORT LAYER T.Najah Al-Subaie Kingdom of Saudi Arabia Prince Norah bint Abdul Rahman University College of Computer Since and Information System NET331.
1 Chapter Internetworking Part 4 (Transport Protocols, UDP and TCP, Protocol Port Numbers)
1 Transport Layer Computer Networks. 2 Where are we?
11 September 2015 RE Meyers, Ms.Ed. CCENT ICND1 Exam Topics Review Describe the Operation of Data Networks: Network Diagrams and Data Paths.
TCP Lecture 13 November 13, TCP Background Transmission Control Protocol (TCP) TCP provides much of the functionality that IP lacks: reliable service.
26-TCP Dr. John P. Abraham Professor UTPA. TCP  Transmission control protocol, another transport layer protocol.  Reliable delivery  Tcp must compensate.
CS332, Ch. 26: TCP Victor Norman Calvin College 1.
University of the Western Cape Chapter 12: The Transport Layer.
SMUCSE 4344 transport layer. SMUCSE 4344 transport layer end-to-end protocols –transport code runs only on endpoint hosts encapsulates network communications.
Transport Layer Natawut Nupairoj, Ph.D. Department of Computer Engineering Chulalongkorn University.
FALL 2005CSI 4118 – UNIVERSITY OF OTTAWA1 Part 2.5 Internetworking Chapter 25 (Transport Protocols, UDP and TCP, Protocol Port Numbers)
TCP1 Transmission Control Protocol (TCP). TCP2 Outline Transmission Control Protocol.
Networked & Distributed Systems TCP/IP Transport Layer Protocols UDP and TCP University of Glamorgan.
The Transmission Control Protocol (TCP) Application Services (Telnet, FTP, , WWW) Reliable Stream Transport (TCP) Connectionless Packet Delivery.
Transmission Control Protocol
Transport Layer Moving Segments. Transport Layer Protocols Provide a logical communication link between processes running on different hosts as if directly.
Transport Control Protocol (TCP) Features of TCP, packet loss and retransmission, adaptive retransmission, flow control, three way handshake, congestion.
Dr. John P. Abraham Professor UTPA
1 TCP: Reliable Transport Service. 2 Transmission Control Protocol (TCP) Major transport protocol used in Internet Heavily used Completely reliable transfer.
Lecture 4 Overview. Ethernet Data Link Layer protocol Ethernet (IEEE 802.3) is widely used Supported by a variety of physical layer implementations Multi-access.
Institute of Technology Sligo - Dept of Computing Chapter 12 The Transport Layer.
Chapter 24 Transport Control Protocol (TCP) Layer 4 protocol Responsible for reliable end-to-end transmission Provides illusion of reliable network to.
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
UDP & TCP Where would we be without them!. UDP User Datagram Protocol.
Guide to TCP/IP Fourth Edition
1 End-to-End Protocols User Datagram Protocol (UDP) Transmission Control Protocol(TCP)
4343 X2 – The Transport Layer Tanenbaum Ch.6.
IP1 The Underlying Technologies. What is inside the Internet? Or What are the key underlying technologies that make it work so successfully? –Packet Switching.
1 Computer Communication & Networks Lecture 23 & 24 Transport Layer: UDP and TCP Waleed Ejaz
TCP/IP1 Address Resolution Protocol Internet uses IP address to recognize a computer. But IP address needs to be translated to physical address (NIC).
Cisco I Introduction to Networks Semester 1 Chapter 7 JEOPADY.
Computer Networks 1000-Transport layer, TCP Gergely Windisch v spring.
1 TCP ProtocolsLayer name DNSApplication TCP, UDPTransport IPInternet (Network ) WiFi, Ethernet Link (Physical)
Ch. 25, 26 UDP, TCP CS332, Spring 2016 Victor Norman, Professor Extraordinaire.
1 Chapter 24 Internetworking Part 4 (Transport Protocols, UDP and TCP, Protocol Port Numbers)
Distributed Systems 11. Transport Layer
Victor Norman IS333 Spring 2016
Introduction to Networks
Module 1 UDP & TCP.
Process-to-Process Delivery, TCP and UDP protocols
TCP - Part I Karim El Defrawy
Transport Layer Unit 5.
TRANSMISSION CONTROL PROTOCOL
TCP - Part I Relates to Lab 5. First module on TCP which covers packet format, data transfer, and connection management.
Process-to-Process Delivery: UDP, TCP
Computer Networks Protocols
Transport Layer 9/22/2019.
Presentation transcript:

IS333, Ch. 26: TCP Victor Norman Calvin College 1

What are the important characteristics of TCP? Connection-oriented Point-to-point Full duplex Reliable Uses ports to identify applications using TCP. 2

What does TCP assume it gets from the layer below? Connection-less Point-to-point Simplex Unreliable delivery 3

What does connection-oriented mean? End points must communicate first and set up the virtual connection. No data is sent until that’s finished. End points must gracefully tear down the connection. 4

What does a Virtual Connection mean? The endpoints set up and maintain all the state of the “connection” – the middle devices (routers, NATs, etc.) know nothing about it. As opposed to a circuit through a network in which all devices must participate. 5

What does point-to-point mean? One application talks to one application – one port to one port 6

What does full duplex mean? Both applications on the endpoints can transmit at the same time. 7

What does reliable delivery mean? Gets the data there – quickly – correctly (without errors) – in order – completely 8

What kinds of problems does TCP have to be able to handle? Very unreliable delivery from IP. – Duplicate packets. – Packets out of order. – Errors in packets. Differing speeds of end points. End point reboot. Delay from when network changes radically. 9

How does TCP handle all this? Unreliable delivery from IP?: – checksum the data (eliminate bad data) – keep track of which bytes have been sent and which have been received, and resend missing bytes – “positive acknowledgement and retransmission” 10

How does TCP handle all this? (part 2) Different speeds of end points?: – (Two problems: how much data an end point can handle at once, and how long it takes to handle it.) – End points constantly communicate how much more data they can still handle at that time (called “window advertisement”). – This is “flow control”. 11

How does TCP handle all this? (part 3) End point reboot? (Or application on an endpoint restarts.) – Every connection is given a unique identifier and packets with that id are only accepted. 12

How does TCP handle all this? (part 4) Delay from network changes radically: consider this: – end points want to get data through as fast as possible (in general). – Usually end points want data to flow consistently, not bursty. – When network “goes down” for a bit, the more data that is “in transit”, the more has to be retransmitted. – This problem is very complex. Called “congestion control”. 13

TCP and IP Q: What is the relationship between TCP and IP? A: A TCP header and payload is the payload of an IP packet. The IP packet’s type field says it is carrying TCP. In other words, TCP is encapsulated in IP. TCP builds a virtual connection between the endpoints, using the unreliable IP. IP is responsible for moving the packets to the destination machine. 14

Fragmenting IP and TCP Q: If a packet carrying TCP is fragmented during delivery, and one fragment is lost, how does TCP handle this? A: 1) IP does fragmentation, when a packet is too large for one hop across the network. 2) If the fragment is lost, IP gives up on the packet and drops it. 3). If the TCP sender does not get an Ack before it times out, it resends the packet (which will get fragmented again). 4) When all fragments are received, the data is sent up to the TCP layer. It will then send an Ack. 15

Stream protocol Q: What does it mean that TCP is a stream protocol? A: When an application (layer 5) sends a UDP packet, the packet going across the wire contains all the data from the application, in one chunk. When it sends data using TCP, TCP is free to send as many or few bytes in a packet as it feels it can. The receiver also gets as many bytes at a time as TCP can give it. The data “flows” from sender to receiver, but the endpoints don’t know how the data is “chunked” when sent across the network. (Note: not important for IS333.) 16

Congestion control Q: Could you explain how TCP controls congestion better? How does reducing the buffer size or window size reduce the data rate? Wouldn't it still send packets of the same size? Can the window size get bigger if there is little traffic or is it initialized to a maximum size? A: The window size will be decreased  one packet can carry all the data  fewer packets generated  less contribution to congestion. TCP also increases the timeout values. TCP slowly increases the window size when it doesn’t encounter congestion. 17

Flow Control Q: Is flow control used quite often? A: Yes: flow control is built into TCP. It, as well as, congestion control, are implemented with the sliding window feature. 18

Calvin and Congestion Control Q: Does Calvin use any of these dynamic congestion control methods? A: Yes! You use it too – in the TCP/IP software in the OS on your machines. And Calvin’s firewalls/etc. change some values to slow down youtube bandwidth, etc… 19

Old Slides 20

Lost window/segment Q: If data lost in TCP, does the specific segment, or the whole window have to be retransmitted? A: A window in TCP is a number of bytes, not packets (Comer used packets as an illustration). So, if a segment (a packet) is lost, that segment must be retransmitted. 21

Handling slow hosts Q: How does the sliding window method help the slow host keep up? A: The slow host will ack more slowly, so the sender will send more slowly. The low-memory host will also send smaller window advertisements. 22

Handling reboots/outages Q: What would happen if a connection was interrupted by an outside glitch on one of the computers (e.g., power outage)? A: The TCP sender will stop receiving ACKs, will retransmit a few times, and then give up and return an error to the application. 23

Multiple users of one connection? Q: Is it possible for a connection to transfer data for two or more applications on each computer? A: Each connection is for one application. 24

Choosing an ID Q: How does the protocol software determine an appropriate ID and a "reasonable time" until that ID can be reused again? (Is it usually/always time-based?) A: I think it picks a random 32-bit number for each connection. 2^32 is a big number so it is unlikely to repick the number. 25

3-way Handshake Q: Can you explain the 3-way handshake more? A: Yes! The initiator sends a SYN packet (a packet with the SYN flag set), and includes its ID and window size. The responder sends a SYN- ACK response including its ID and window size. The initiator sends an ACK back. (And, I think it piggybacks data in that packet.) 26