TCP: A Closer Look Transmission Control Protocol.

Slides:



Advertisements
Similar presentations
CISCO NETWORKING ACADEMY Chabot College ELEC Transport Layer (4)
Advertisements

Guide to TCP/IP, Second Edition1 Guide To TCP/IP, Second Edition Chapter 5 Transport Layer TCP/IP Protocols.
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.
Guide to TCP/IP, Third Edition
UDP & TCP Where would we be without them!. UDP User Datagram Protocol.
Transmission Control Protocol (TCP) Basics
5/6/2015© 2010 Raymond P. Jefferis IIILect Transport Layer.
CS3505 The Internet and Info Hiway transport layer protocols : TCP/UDP.
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
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.
Module A.  This is a module that some teachers will cover while others will not  This module is a refresher on networking concepts, which are important.
IP Basics. Physical Link Network IP ARP ICMP RoutingTables.
IP Basics. IP encapsulates TCP IP packets travel through many different routers (hops) before reaching it’s destination MTU variation at the physical.
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
Module A Panko and Panko Business Data Networks and Security, 9 th Edition © 2013 Pearson.
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.
A Closer Look at HTTP, TCP, IP, and PPP Chapter 3 Copyright 2001 Prentice Hall Revision 2: July 2001.
More on TCP/IP Module A Copyright 2001 Prentice Hall.
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.
Mukesh N. Tekwani Elphinstone College Mumbai
A Closer Look at HTTP, TCP, IP, and PPP Chapter 3 Copyright 2001 Prentice Hall Revision 2: July 2001.
1 7-Oct-15 OSI transport layer CCNA Exploration Semester 1 Chapter 4.
Network Architecture Models: Layered Communications School of Business Eastern Illinois University © Abdou Illia, Fall 2015 (September 14, 2015 ) Encapsulation.
Transport Layer 3-1 Chapter 3 Transport Layer Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Addison-Wesley March 2012 All.
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.
Routers and Routing Basics CCNA 2 Chapter 10.
Copyright 2002, S.D. Personick. All Rights Reserved.1 Telecommunications Networking II Topic 20 Transmission Control Protocol (TCP) Ref: Tanenbaum pp:
Transmission Control Protocol
More on TCP Acknowledgements Sequence Number Field Initial Sequence Number Acknowledgement Number Field.
Transport Layer Moving Segments. Transport Layer Protocols Provide a logical communication link between processes running on different hosts as if directly.
Networking Basics CCNA 1 Chapter 11.
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.
S305 – Network Infrastructure Chapter 5 Network and Transport Layers.
Transport Protocols.
Point-to-Point Protocol
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.
1 14-Jun-16 S Ward Abingdon and Witney College CCNA Exploration Semester 1 OSI transport layer CCNA Exploration Semester 1 Chapter 4.
© 2006 Cisco Systems, Inc. All rights reserved.Cisco Public 1 OSI transport layer CCNA Exploration Semester 1 – Chapter 4.
Chapter 5 Network and Transport Layers
Introduction to TCP/IP networking
Multiplexing.
COMP2322 Lab 6 TCP Steven Lee Mar 29, 2017.
Process-to-Process Delivery, TCP and UDP protocols
TCP/IP Internetworking
Process-to-Process Delivery
© 2003, Cisco Systems, Inc. All rights reserved.
Standards Basics.
TCP/IP Internetworking
Process-to-Process Delivery:
Figure 3-23: Transmission Control Protocol (TCP) (Study Figure)
TCP and UDP Layer 3 of the TCP/IP protocol stack. Transport layer
Network Architecture Models: Layered Communications
Process-to-Process Delivery: UDP, TCP
Transport Layer 9/22/2019.
Presentation transcript:

TCP: A Closer Look Transmission Control Protocol

TCP: A Closer Look Browser does not send HTTP Requests directly to the webserver application –The application layer programs are not physically connected –Browser sends HTTP Request to the user PC’s transport layer process for delivery Browser Transport Process HTTP Request

TCP: A Closer Look Transport layer process stores the HTTP Request Temporarily Browser Transport Process Transport Process

TCP: A Closer Look User PC transport process opens a connection to the webserver transport layer process –This connection can be used to send several TCP segments to handle a each HTTP request- response cycle Browser Transport Process Transport Process

TCP: A Closer Look TCP has a Flags Field –Six one-bit flags Source Port # (16)Destination Port # (16) Sequence Number (32 bits) Acknowledgement Number (32 bits) Hdr Len (4) Flags (6)Window Size (16) Options (if any)PAD Bit 0Bit 31 Reserved (6) TCP Checksum (16)Urgent Pointer (16) TCP Segment Data Field

TCP/IP: A Closer Look Three Flags are Widely Used –SYN bit set to 1 in a TCP segment to request a connection –ACK bit set to 1 in a segment to acknowledge a received TCP segment –FIN bit set to 1 in a segment to inform of a connection closure Hdr Len (4) Flags (6)Window Size (16)Reserved (6)

TCP: A Closer Look Opening a connection takes 3 Segments –Second TCP segment asks to open a connection and also acknowledges the first SYN message User PC Transport Process Webserver Transport Process SYN SYN, ACK ACK

TCP: A Closer Look Next, user PC sends the HTTP Request –Sends HTTP Request in data field of a TCP segment –Receives an ACK TCP segment to acknowledge receipt User PC Transport Process Webserver Transport Process TCP segment containing HTTP Request ACK

Delivering the HTTP Response Transport layer process on the webserver receives the TCP segment delivering the HTTP Request –The transport process on the webserver passes the HTTP Request in the TCP segment data field to the webserver application program Webserver Application Transport Process HTTP Request

Delivering the HTTP Response Webserver application creates the HTTP Response message –Webserver application passes the HTTP Response message to the webserver transport layer process for delivery to the user PC transport layer process Webserver Application Transport Process HTTP Response

Delivering the HTTP Response Webserver Transport Process Delivers the Response –User PC transport process sends an acknowledgement User PC Transport Process Webserver Transport Process TCP segment containing HTTP Response ACK

TCP: A Closer Look Multiple HTTP Request-Response Cycles can be Handled with a Single TCP Connection in HTTP/1.1 and later versions Each will have the following: –TCP segment carrying the request –Acknowledgement of this segment –TCP segment carrying the response –Acknowledgement of response segment

TCP: A Closer Look Closing the Connection takes 4 TCP Segments –Initiated by the browser when it downloads the last file User PC Transport Process Webserver Transport Process FIN ACK

TCP: A Closer Look Refinement –ACKs have to be delivered quickly –Can be sent in TCP segments that carry only ACKs –However, if a data TCP segment is returned quickly, the ACK will be included with this segment –This segment will contain both new data and an acknowledgement of a previously received TCP segment –Reduces TCP segment transmissions

TCP: A Closer Look In human terms, consider a phone call to understand connection-oriented service –One person initiates the call –The second person acknowledges the first person’s by saying “hello.” This also indicates that they are available to talk –The first person acknowledges the second person’s availability by talking –Then talk back and forth –Then mutually agree to stop

TCP Connections: Recap For EACH HTTP request-response cycle… –3 TCP segments to open the connection –2 TCP segments to send the HTTP request and get an acknowledgement for EACH request-response cycle –2 TCP segments to send the HTTP response and get an acknowledgement for EACH request-response cycle –4 TCP segments to close the connection –A very chatty protocol

TCP: Error Handling TCP is reliable--it does error correction –Each TCP segment has a sequence number that increases with each TCP segment a transport process sends Source Port # (16)Destination Port # (16) Sequence Number (32 bits) Bit 0Bit 31 TCP Segment

TCP: Error Handling TCP is reliable--it does error correction –ACKs acknowledge a specific TCP segment in the sequence –If a TCP segment is not acknowledged, the other side retransmits it after awhile –This adds TCP segments beyond the ones we have seen

TCP: Error Handling TCP is reliable--it Places TCP Segments in Order –TCP segments are encapsulated in IP packets –IP does not guarantee that packets will arrive in order –TCP can place TCP segments in order based on their sequence numbers

TCP: Error Handling TCP Reliability in Perspective –Provides clean application data to application program –If data link layer frame or IP packet is lost at lower layers, receiving transport process will not acknowledge a segment –The sending transport process will resend automatically –So TCP protects against errors at lower layers as well as transport layer errors

TCP: Why Connections? Opens, closes, and ACKs create overhead, so undesirable Why do it? –Allows sequence numbers, so that errors can be handled easily Overall, TCP is a high-overhead, highly reliable transport layer protocol that catches any errors at lower layers, giving “clean” service to the application programs

TCP: Refinements Fragmentation –Transport process must fragments long application messages (break them into several pieces) and transmits them in several TCP segments –Each of these segments must be acknowledged separately –So when long files are downloaded in webservice, many more TCP segments will be generated than we discussed above Mod A

TCP: Refinements Flow Control –TCP implements flow control, so that one transport process will not overload its peer by transmitting too quickly Mod A

User Datagram Protocol (UDP) UDP –User Datagram Protocol –Alternative to TCP at the transport layer –Lightweight No connections No error correction Reduces work source and destination host must do

User Datagram Protocol (UDP) UDP –Good for voice, for which the delay of error correction would be unacceptable –Good for applications for which the cost of an occasional message is small compared to the cost of connection-oriented service