Copyright 2002, S.D. Personick. All Rights Reserved.1 Telecommunications Networking II Topic 20 Transmission Control Protocol (TCP) Ref: Tanenbaum pp:521-545.

Slides:



Advertisements
Similar presentations
Layer 3 of the TCP/IP protocol stack. Transport layer.
Advertisements

CISCO NETWORKING ACADEMY Chabot College ELEC Transport Layer (4)
CCNA – Network Fundamentals
© 2007 Cisco Systems, Inc. All rights reserved.Cisco Public ITE PC v4.0 Chapter 1 1 OSI Transport Layer Network Fundamentals – Chapter 4.
Transmission Control Protocol (TCP)
Intermediate TCP/IP TCP Operation.
CSEE W4140 Networking Laboratory Lecture 6: TCP and UDP Jong Yul Kim
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.
Networks I Transmission Control Protocol Instituto Tecnológico y de Estudios Superiores de Monterrey Campus Estado de México Prof. MSc. Ivan A. Escobar.
The Internet Transport Protocols – TCP and UDP
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.
Chapter 7: Objectives Part 1
Chapter 7 – Transport Layer Protocols
EECC694 - Shaaban #1 lec #12 Spring Internet Transport Protocols Transmission Control Protocol (TCP):Transmission Control Protocol (TCP):
TELE202 Lecture 14 TCP/UDP (2) 1 Lecturer Dr Z. Huang Overview ¥Last Lecture »TCP/UDP (1) »Source: chapter 17 ¥This Lecture »TCP/UDP (2) »Source: chapter.
TRANSPORT LAYER  Session multiplexing  Segmentation  Flow control (TCP)  Connection-oriented (TCP)  Reliability (TCP)
Copyright 1999, S.D. Personick. All Rights Reserved. Telecommunications Networking II Lecture 32 Transmission Control Protocol (TCP) Ref: Tanenbaum pp:
© 2007 Cisco Systems, Inc. All rights reserved.Cisco Public 1 Version 4.0 OSI Transport Layer Network Fundamentals – Chapter 4.
EEC-484/584 Computer Networks Lecture 15 Wenbing Zhao (Part of the slides are based on Drs. Kurose & Ross ’ s slides for their Computer.
CSEE W4140 Networking Laboratory Lecture 6: TCP and UDP Jong Yul Kim
William Stallings Data and Computer Communications 7 th Edition (Selected slides used for lectures at Bina Nusantara University) Transport Layer.
EEC-484/584 Computer Networks Lecture 13 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.
TCP. Learning objectives Reliable Transport in TCP TCP flow and Congestion Control.
Transport Layer TCP and UDP IS250 Spring 2010
Chapter 4 OSI Transport Layer
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.
The Transport Layer.
6.1. Transport Control Protocol (TCP) It is the most widely used transport protocol in the world. Provides reliable end to end connection between two hosts.
1 7-Oct-15 OSI transport layer CCNA Exploration Semester 1 Chapter 4.
Introduction to Networks CS587x Lecture 1 Department of Computer Science Iowa State University.
TCP : Transmission Control Protocol Computer Network System Sirak Kaewjamnong.
University of the Western Cape Chapter 12: The Transport Layer.
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.
CCNA 1 v3.0 Module 11 TCP/IP Transport and Application Layers.
1 TCP: Reliable Transport Service. 2 Transmission Control Protocol (TCP) Major transport protocol used in Internet Heavily used Completely reliable transfer.
CSCI 465 D ata Communications and Networks Lecture 27 Martin van Bommel CSCI 465 Data Communications & Networks 1.
Networking Basics CCNA 1 Chapter 11.
Institute of Technology Sligo - Dept of Computing Chapter 12 The Transport Layer.
Transport Protocols.
IP1 The Underlying Technologies. What is inside the Internet? Or What are the key underlying technologies that make it work so successfully? –Packet Switching.
Data Communications and Networks Chapter 6 – IP, UDP and TCP ICT-BVF8.1- Data Communications and Network Trainer: Dr. Abbes Sebihi.
McGraw-Hill Chapter 23 Process-to-Process Delivery: UDP, TCP Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
TCP/IP1 Address Resolution Protocol Internet uses IP address to recognize a computer. But IP address needs to be translated to physical address (NIC).
11 CS716 Advanced Computer Networks By Dr. Amir Qayyum.
Computer Networks 1000-Transport layer, TCP Gergely Windisch v spring.
1 TCP ProtocolsLayer name DNSApplication TCP, UDPTransport IPInternet (Network ) WiFi, Ethernet Link (Physical)
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
The Transport Layer Implementation Services Functions Protocols
Transmission Control Protocol (TCP)
5. End-to-end protocols (part 1)
Process-to-Process Delivery
TCP.
Process-to-Process Delivery:
PART V Transport Layer.
PART 5 Transport Layer.
Introduction to Computer Networks
Process-to-Process Delivery: UDP, TCP
Transport Layer 9/22/2019.
Presentation transcript:

Copyright 2002, S.D. Personick. All Rights Reserved.1 Telecommunications Networking II Topic 20 Transmission Control Protocol (TCP) Ref: Tanenbaum pp: Dr. Stewart D. Personick Drexel University

Copyright 2002, S.D. Personick. All Rights Reserved.2 Layer 4: Review The layer 4 (Transport Layer) protocol has responsibility to ensuring end-to-end (host-to- host) reliability of communication of packets. It is responsible for detecting lost packets, duplicate packets, and packets arriving out of their intended order Some layer 4 protocols, by design, ensure none of the above

Copyright 2002, S.D. Personick. All Rights Reserved.3 Internet Layer 4 Protocols TCP (transmission control protocol): for reliable communication of packets across a network UDP (user datagram protocol): for “best effort” delivery of packets…adds a checksum, but does not acknowledge receipt of packets at layer 4

Copyright 2002, S.D. Personick. All Rights Reserved.4 TCP: Transmission Control Protocol Each machine (e.g., host) which supports TCP has a (typically) software-defined “process” (transport entity) which -accepts data from other local processes -breaks the data up into “pieces” not exceeding ~64 Kbytes each [(2**16) - 40 = 65,496] -places these “pieces” into IP datagrams -delivers these datagrams to the IP layer

Copyright 2002, S.D. Personick. All Rights Reserved.5 TCP TCP-Transport Entity: a piece of software that implements/executes the TCP protocol TCP-Protocol: the set of “rules” defined in RFC 793, RFC 1122, and RFC 1323

Copyright 2002, S.D. Personick. All Rights Reserved.6 Implementing TCP The sender and the receiver (hosts) create “sockets” (abstract I/O entities) that consist of an IP address and local 16 bit port number. Sockets must be explicitly established on the sending and receiving machines Sockets may be used for multiple connections at the same time

Copyright 2002, S.D. Personick. All Rights Reserved.7 Certain port numbers below 1024 are reserved for “well known services” : e.g., port 21 is used for FTP (file transfer protocol); port 25 is used for SMTP (simple mail transfer protocol); port 80 is used by servers for incoming WWW connections from clients TCP connections are full-duplex and point-to- point (no multicasting) Implementing TCP

Copyright 2002, S.D. Personick. All Rights Reserved.8 TCP entities exchange data in the form of segments A segment consists of a 20-byte TCP header, plus zero or more data bytes Each segment, must fit into a 65,536 byte IP datagram, but segments are typically much smaller Implementing TCP

Copyright 2002, S.D. Personick. All Rights Reserved.9 Each transmitted byte is given a sequence number by its sender. The sequence numbers are modulo 2**32. Segments are numbered according to the sequence number of the last byte in the segment The receiving entity acknowledges received segments by their sequence numbers (it can piggyback acknowledgements with data going the other way) Implementing TCP

Copyright 2002, S.D. Personick. All Rights Reserved.10 An destination-specified “window size” determines the maximum number of unacknowledged bytes that can be sent Segments must be acknowledged in order (of their sequence numbers) Timers determine whether unacknowledged packets will be resent by their senders As usual, simple as this sounds: “the devil is in the details” Implementing TCP

Copyright 2002, S.D. Personick. All Rights Reserved.11 The TCP Header Source port Destination port Sequence number Acknowledgement Window size H.L. Checksum Urgent pointer Options: 0 or more 4-byte words Data (optional) Not used

Copyright 2002, S.D. Personick. All Rights Reserved.12 The TCP Header Source and Destination Port numbers Sequence number (# of last byte in segment) Acknowledgement number (# of next byte expected) H.L. : TCP Header length in 4-byte words Unused bits (6)

Copyright 2002, S.D. Personick. All Rights Reserved.13 URG (1) set to “1” if the urgent pointer is in use (see below) ACK(1) set to “1” if the acknowledgement sequence number is being used in this segment PSH (1) set to “1” if the receiver is requested to deliver the data to the application upon arrival, and not buffer it while waiting for a buffer to fill The TCP Header

Copyright 2002, S.D. Personick. All Rights Reserved.14 RST (1) : reset connection SYN (1) : used to establish connections FIN (1) : used to release connections Window Size : used for flow control; determines the maximum number of bytes that can be sent, starting with the last byte acknowledged by the destination Checksum: checks for errors, and includes a measure of the segment length in bytes The TCP Header

Copyright 2002, S.D. Personick. All Rights Reserved.15 Urgent pointer : indicates the byte offset, from the current sequence number at which urgent data can be found (used to deliver time- critical data) Options: as the name implies…example- used during connection establishment to specify the maximum datagram size that a host can accept The TCP Header

Copyright 2002, S.D. Personick. All Rights Reserved.16 Congestion Control Tanenbaum pp Senders retransmit segments when their timers “timeout” Lack of acknowledgement of a transmitted (sent) segment can be due to network congestion or damage to the segment on a link Various algorithms are used to throttle back the sending of segments when multiple timeouts occur

Copyright 2002, S.D. Personick. All Rights Reserved.17 Congestion Control Tanenbaum pp Generic approach: If several timeouts occur, the sender dramatically reduces its congestion control window size (the number of unacknowledged segments that can be transmitted for this connection); and subsequently increases this congestion control window size as newly sent segments are acknowledged. [E.g., reduce the window size to 1 segment. Then increase the window size by one segment, for each segment that is acknowledged.]

Copyright 2002, S.D. Personick. All Rights Reserved.18 Congestion Control Tanenbaum pp Generic approach: If several timeouts occur, the sender dramatically reduces its congestion control window size… Problem: This approach may cause problems when wireless links are used… I.e., packets lost due to damage incurred on wireless links will trigger unnecessary reductions in average transmission rates

Copyright 2002, S.D. Personick. All Rights Reserved.19 Large delay-bandwidth- product links Problem: On links with a large product of delay and bandwidth (data rate), the number of “bytes in flight” can get larger than the maximum window size (2**16). There is a protocol modification that allows hosts to specify a larger window size example: (GEO satellite link) 0.24 seconds x 2 x 155Mbps/ 8bits per byte = ~9.3 Megabytes “in flight” (I.e., unacknowledged)

Copyright 2002, S.D. Personick. All Rights Reserved.20 A TCP “Conversation” Hellooooo: IP host …. I want to set up a TCP connection on your port number 25 (SMTP); my IP number is My port number is I can accept up to 32,768 unacknowledged bytes. My byte counter is set at Okay…. I agree to set up a connection between you and me on my port number 25, your port number I can accept up to 16,384 unacknowledged bytes. My byte counter is set at 8971, I am expecting byte number 6254 from you. Okay….