TCP Lecture 13 November 13, 2000. TCP Background Transmission Control Protocol (TCP) TCP provides much of the functionality that IP lacks: reliable service.

Slides:



Advertisements
Similar presentations
© 2007 Pearson Education Inc., Upper Saddle River, NJ. All rights reserved.1 Computer Networks and Internets with Internet Applications, 4e By Douglas.
Advertisements

Prentice HallHigh Performance TCP/IP Networking, Hassan-Jain Chapter 2 TCP/IP Fundamentals.
CISCO NETWORKING ACADEMY Chabot College ELEC Transport Layer (4)
TCP - Part I Relates to Lab 5. First module on TCP which covers packet format, data transfer, and connection management.
CCNA – Network Fundamentals
CSCI 4550/8556 Computer Networks
Transmission Control Protocol (TCP)
IS333, Ch. 26: TCP Victor Norman Calvin College 1.
CSEE W4140 Networking Laboratory Lecture 6: TCP and UDP Jong Yul Kim
UDP & TCP Where would we be without them!. UDP User Datagram Protocol.
Configuring a Router with RIP Basic Configuration and Show Commands.
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.
TCP: Transmission Control Protocol Overview Connection set-up and termination Interactive Bulk transfer Timers Improvements.
Transmission Control Protocol (TCP) Basics
Provides a reliable unicast end-to-end byte stream over an unreliable internetwork.
Transport Layer – TCP (Part1) Dr. Sanjay P. Ahuja, Ph.D. Fidelity National Financial Distinguished Professor of CIS School of Computing, UNF.
Chapter 7 – Transport Layer Protocols
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.
- Reliable Stream Transport Service
Transport Layer 3-1 Transport Layer r To learn about transport layer protocols in the Internet: m TCP: connection-oriented protocol m Reliability protocol.
CSEE W4140 Networking Laboratory Lecture 6: TCP and UDP Jong Yul Kim
CMPE 80N - Introduction to Networks and the Internet 1 CMPE 80N Spring 2003 Week 8 Introduction to Networks and the Internet.
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.
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.
1 Chapter Internetworking Part 4 (Transport Protocols, UDP and TCP, Protocol Port Numbers)
1 Transport Layer Computer Networks. 2 Where are we?
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.
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.
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.
The Transmission Control Protocol (TCP) Application Services (Telnet, FTP, , WWW) Reliable Stream Transport (TCP) Connectionless Packet Delivery.
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.
Chapter 24 Transport Control Protocol (TCP) Layer 4 protocol Responsible for reliable end-to-end transmission Provides illusion of reliable network to.
Transmission Control Protocol (TCP) BSAD 146 Dave Novak Sources: Network+ Guide to Networks, Dean 2013.
COP 4930 Computer Network Projects Summer C 2004 Prof. Roy B. Levow Lecture 9.
© Jörg Liebeherr (modified by Malathi Veeraraghavan) 1 Overview Formats, Data Transfer, etc. Connection Management.
UDP & TCP Where would we be without them!. UDP User Datagram Protocol.
1 End-to-End Protocols User Datagram Protocol (UDP) Transmission Control Protocol(TCP)
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/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.
Two Transport Protocols Available Transmission Control Protocol (TCP) User Datagram Protocol (UDP) Provides unreliable transfer Requires minimal – Overhead.
3. END-TO-END PROTOCOLS (PART 1) Rocky K. C. Chang Department of Computing The Hong Kong Polytechnic University 22 March
1 Chapter 24 Internetworking Part 4 (Transport Protocols, UDP and TCP, Protocol Port Numbers)
Introduction to Networks
5. End-to-end protocols (part 1)
Process-to-Process Delivery, TCP and UDP protocols
TCP.
TCP - Part I Karim El Defrawy
TCP - Part I Relates to Lab 5. First module on TCP which covers packet format, data transfer, and connection management.
Dr. John P. Abraham Professor UTPA
Dr. John P. Abraham Professor UTPA
TCP - Part I Relates to Lab 5. First module on TCP which covers packet format, data transfer, and connection management.
The Transmission Control Protocol (TCP)
Transport Protocols: TCP Segments, Flow control and Connection Setup
Transport Layer 9/22/2019.
Presentation transcript:

TCP Lecture 13 November 13, 2000

TCP Background Transmission Control Protocol (TCP) TCP provides much of the functionality that IP lacks: reliable service

TCP Service TCP provides the following functionality – Connection Orientated – Point-to-Point Communication – Complete Reliability – Full Duplex Communication – Streaming – Reliable Connection Startup – Graceful Connection Shutdown

Connection Orientated A new connection must be created on both the sender and receiver before communication may begin.

Point-to-Point Communication With P-T-P Communication, a clear start and end point exist. Data is more secure; people should not be able to modify the data between the two points.

Complete Reliability TCP guarantees that the exact data sent will be received in proper order, without loss, at the destination. UDP, on the other hand, makes no such guarantee.

Full Duplex Communication TCP allows for data to flow from the sender to the receiver, and from the receiver to the sender. Either side can transmit at any time, or at the same time. TCP can buffer data to ensure a constant flow.

Stream Interface “Streaming” is where an application sends a constant flow of data. No guarantee is made that the data received is of the same size. (Think about MTU).

Reliable Connection Startup New connections must exist on both the sender and receiver before transmission begins. Both sender and receiver must agree to use the new connection. This eliminates errant packets from previous transmissions.

Graceful Communication Shutdown Either the sender or the receiver can shutdown the connection. TCP guarantees that all data is transmitted before shutting down the connection.

End-to-End Service TCP is said to be end-to-end. TCP provides the end-to-end connectivity between an application on the sender and an application on the receiver. The connections between the two machines are virtual; the are implemented in software. TCP data is encapsulated in an IP packet and transmitted.

A TCP/IP Visualization

Reliability Two major areas of concern – Unreliable delivery of the underlying medium Messages can be lost, delayed, delivered out of order, etc. If a second connection is opened between machines, how does the receiver determine if the messages are for the first or the second connection? – Hardware reboot If two machines are communicating, and one reboots, the other computer still sees an open connection. How does the computer that rebooted handle messages from the time before the reboot?

Packet Loss and Retransmission

Determining Retransmission Delay Consider the two examples – LAN communication Low delay High throughput IDEAL: low retransmission delay – Satellite communication High delay Low throughput IDEAL: high retransmission delay

Retransmission (cont.) Because TCP is was designed to work efficiently in multiple environments, a static retransmission delay was not effective. Adaptive retransmission was the workaround. – TCP estimates round-trip delay based on the time it takes for the message to be sent, plus the time to receive the ACK. – The retransmission delay then becomes a linear combination of the mean round-trip delay and the variance.

Retransmission (cont.)

In general, adaptive retransmission sets the actual retransmission delay to be slightly longer than the actual round-trip estimate.

TCP & Windows, Buffers TCP uses a similar scheme to the “sliding window” that was discussed earlier. Buffer – total amount of memory allocated for the individual transmission. Window – amount of data to send in one message. Window Advertisement – amount of buffer remaining on the receiver’s side.

TCP Windowing

TCP Windowing (cont.) If the receiving application can read data as fast as it arrives (or faster), it will send a window advertisement that is positive. If the receiving application cannot read data as fast as it arrives, eventually the buffer will fill and the receiving application will send a zero window advertisement! Sending application will stop transmission until a nonzero window advertisement is received.

Handshaking & Communication Shutdown

Handshaking (cont.) The handshaking process used to create a connection is referred to the synchronization segment (SYN). The process used to close a connection is referred to the finalize segment (FIN).

Congestion Control TCP contains built-in congestion control. As transmissions reach a busy node, they have an increased chance of having their TTL expiring! If all transmissions into a busy node timeout, imagine if all senders kept resending the messages! This is called congestion collapse.

Congestion Control (cont.) When TCP resends a message, it does so in the following manner: – If the message is the first in the retransmission, it will send a single message window, and wait for an ACK. – If the ACK is received w/o loss, it will double the amount of data to send (2 windows) – The increase continues until TCP is sending half of the advertised window, at which point it will slow itself down.

The TCP Segment Format

TCP Segment Header Source Port (16 bits) Destination Port (16 bits) Sequence Number (32 bits): used to combine improperly received segments Acknowledgement Number (32 bits): the value of the next ACK the sender is expecting to receive Data Offset (HLEN) (4 bits): the number of 32 bit words in the header Reserved (6 bits)

TCP Segment Header (cont.) Control Bits (6 bits): (from left to right) – URG: Urgent Pointer field significant – ACK: Acknowledgement field significant – PSH: Push function – RST: Reset the connection – SYN: Synchronize sequence numbers – FIN: No more data from sender Window (16 bits): The number of bytes the sender of this segment is willing to accept

TCP Segment Header (cont.) Checksum (16 bits): the 16 bit one’s compliment of the one’s complement sum of all 16 bit words in the header and text (payload). Urgent Pointer (16 bits): current value of the urgent pointer as an offset from the sequence number of this segment. Options (variable): multiples of 8 bits.