Copyright 1999, S.D. Personick. All Rights Reserved. Telecommunications Networking II Lecture 32 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.
1 CS 4396 Computer Networks Lab Transmission Control Protocol (TCP) Part I.
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)
© 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.
Lect3..ppt - 09/12/04 CIS 4100 Systems Performance and Evaluation Lecture 3 by Zornitza Genova Prodanoff.
1 Transport Layer Computer Networks. 2 Where are we?
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.
1 LAN Protocols (Week 3, Wednesday 9/10/2003) © Abdou Illia, Fall 2003.
TCP : Transmission Control Protocol Computer Network System Sirak Kaewjamnong.
University of the Western Cape Chapter 12: The Transport Layer.
1 The Internet and Networked Multimedia. 2 Layering  Internet protocols are designed to work in layers, with each layer building on the facilities provided.
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.
The Transmission Control Protocol (TCP) Application Services (Telnet, FTP, , WWW) Reliable Stream Transport (TCP) Connectionless Packet Delivery.
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.
Institute of Technology Sligo - Dept of Computing Chapter 12 The Transport Layer.
Transport Protocols.
UDP & TCP Where would we be without them!. UDP User Datagram Protocol.
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 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
Process-to-Process Delivery
TCP.
Process-to-Process Delivery:
TRANSMISSION CONTROL PROTOCOL
PART V Transport Layer.
PART 5 Transport Layer.
Process-to-Process Delivery: UDP, TCP
Transport Layer 9/22/2019.
Presentation transcript:

Copyright 1999, S.D. Personick. All Rights Reserved. Telecommunications Networking II Lecture 32 Transmission Control Protocol (TCP) Ref: Tanenbaum pp:

Copyright 1999, S.D. Personick. All Rights Reserved. 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 1999, S.D. Personick. All Rights Reserved. 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 1999, S.D. Personick. All Rights Reserved. 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 -places these “pieces” into IP datagrams -delivers these datagrams to the IP layer

Copyright 1999, S.D. Personick. All Rights Reserved. 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 1999, S.D. Personick. All Rights Reserved. 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 1999, S.D. Personick. All Rights Reserved. Implementing TCP 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)

Copyright 1999, S.D. Personick. All Rights Reserved. Implementing TCP 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,535 byte IP datagram, but segments are typically much smaller

Copyright 1999, S.D. Personick. All Rights Reserved. Implementing TCP 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)

Copyright 1999, S.D. Personick. All Rights Reserved. Implementing TCP 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”

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

Copyright 1999, S.D. Personick. All Rights Reserved. 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 32-byte words Unused bits (6)

Copyright 1999, S.D. Personick. All Rights Reserved. The TCP Header 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

Copyright 1999, S.D. Personick. All Rights Reserved. The TCP Header 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

Copyright 1999, S.D. Personick. All Rights Reserved. The TCP Header 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

Copyright 1999, S.D. Personick. All Rights Reserved. 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 Complex algorithms are used to throttle back the sending of segments when timeouts occur

Copyright 1999, S.D. Personick. All Rights Reserved. A TCP “Conversation” Hellooooo: IP host …. I want to set up a TCP connection on your port number 25 (SMTP); my IP number is I can accept 1048 byte IP datagrams Okay…. I agree to set up a connection between you and I on port number 25. I can accept 2096 byte IP datagrams Thanks

Copyright 1999, S.D. Personick. All Rights Reserved. Congestion Control Tanenbaum pp Generic approach: If a timeout occurs, the sender dramatically reduces the rate at which it transmits segments (bytes per second); and then increases this rate as newly sent segments are acknowledged Problem: This approach may cause problems when wireless links are used

Copyright 1999, S.D. Personick. All Rights Reserved. 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 seconds x 2 x 155Mbps = ~9.3 Megabytes in flight