Spring 2000John Kristoff1 Transport Layer Computer Networks.

Slides:



Advertisements
Similar presentations
Transport Layer3-1 Transport Overview and UDP. Transport Layer3-2 Goals r Understand transport services m Multiplexing and Demultiplexing m Reliable data.
Advertisements

Umut Girit  One of the core members of the Internet Protocol Suite, the set of network protocols used for the Internet. With UDP, computer.
© 2007 Pearson Education Inc., Upper Saddle River, NJ. All rights reserved.1 Computer Networks and Internets with Internet Applications, 4e By Douglas.
CCNA – Network Fundamentals
CSCI 4550/8556 Computer Networks
Transmission Control Protocol (TCP)
Intermediate TCP/IP TCP Operation.
Guide to TCP/IP, Third Edition
Chapter 7 – Transport Layer Protocols
UNIT 07 Process – to – Process Delivery: UDP,TCP and SCTP
TDC365 Spring 2001John Kristoff - DePaul University1 Internetworking Technologies Transmission Control Protocol (TCP)
Chapter 3: Transport Layer
Autumn 2000John Kristoff1 Transport Layer Computer Networks.
TDC375 Winter 03/04 John Kristoff - DePaul University 1 Network Protocols Transmission Control Protocol (TCP)
William Stallings Data and Computer Communications 7 th Edition (Selected slides used for lectures at Bina Nusantara University) Transport Layer.
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.
3-1 Transport services and protocols r provide logical communication between app processes running on different hosts r transport protocols run in end.
Process-to-Process Delivery:
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?
Review: –What is AS? –What is the routing algorithm in BGP? –How does it work? –Where is “policy” reflected in BGP (policy based routing)? –Give examples.
IP and Errors IP Best Effort Datagrams can be: –Lost –Delayed –Duplicated –Delivered out of order –Corrupted.
TCP : Transmission Control Protocol Computer Network System Sirak Kaewjamnong.
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.
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.
Section 5: The Transport Layer. 5.2 CS Computer Networks John Mc Donald, Dept. of Computer Science, NUI Maynooth. Introduction In the previous section.
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 Layer1 Ram Dantu (compiled from various text books)
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.
McGraw-Hill©The McGraw-Hill Companies, Inc., 2000 Transmission Control Protocol (TCP)
23.1 Chapter 23 Process-to-Process Delivery: UDP, TCP, and SCTP Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
Transport Layer 3-1 Chapter 3 Outline r 3.1 Transport-layer services r 3.2 Multiplexing and demultiplexing r 3.3 Connectionless transport: UDP.
Chapter 3: Transport Layer Our goals: r understand principles behind transport layer services: m multiplexing/demultipl exing m reliable data 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.
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.
NET 221D:COMPUTER NETWORKS FUNDAMENTALS Lecture : Transport Layer: Behrouz A. Forouzan” Data communications and Networking 1.
ECE 4110 – Internetwork Programming
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.
1 Computer Communication & Networks Lecture 23 & 24 Transport Layer: UDP and TCP Waleed Ejaz
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).
Spring 2006 CPE : Transport Layer Overview2-1 Special Topics in Computer Engineering The Transport Layer in the Internet: Overview Some of these.
Ch 3. Transport Layer Myungchul Kim
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)
Chapter 9: Transport Layer
5. End-to-end protocols (part 1)
Transport Layer.
Process-to-Process Delivery, TCP and UDP protocols
PART 5 Transport Layer Computer Networks.
Internet and Intranet Protocols and Applications
Process-to-Process Delivery:
Dr. John P. Abraham Professor UTPA
Dr. John P. Abraham Professor UTPA
Process-to-Process Delivery: UDP, TCP
Presentation transcript:

Spring 2000John Kristoff1 Transport Layer Computer Networks

Spring 2000John Kristoff2 Where are we?

Spring 2000John Kristoff3 Recall zNetwork Layer yProvides host-to-host communication ySource and destination addresses are computers yMachine-to-machine networking

Spring 2000John Kristoff4 Transport Protocols zProvide application-to-application communication zNeed extended addressing mechanism to identify applications zCalled end-to-end zOptionally provide: xReliability xFlow Control xCongestion Control

Spring 2000John Kristoff5 Example Transport Layer: Transmission Control Protocol (TCP) zStandardized by IETF as RFC 793 zMost popular layer 4 protocol zConnection-oriented protocol zConceptually between applications and IP zFull-duplex operation zByte-stream interface zOf utmost importance for this class! zThe book: TCP/IP Illustrated, Volume I - W.R. Stevens

Spring 2000John Kristoff6 TCP Feature Summary Provides a completely reliable (no data duplication or loss), connection-oriented, full-duplex stream transport service that allows two application programs to form a connection, send data in either direction and then terminate the connection.

Spring 2000John Kristoff7 Relationship Between TCP and Other Protocols zTCP on one computer uses IP to communicate with TCP on another computer

Spring 2000John Kristoff8 Apparent Contradiction zIP offers best-effort (unreliable) delivery zTCP uses IP zTCP provides completely reliable transfer zHow is this possible?

Spring 2000John Kristoff9 Achieving Reliability zReliable connection setup zReliable data transmission zReliable connection shutdown

Spring 2000John Kristoff10 Reliable Data Transmission zPositive Acknowledgement yReceiver returns short message when data arrives yCall an acknowledgement zRetransmission ySender starts timer whenever message is transmitted yIf timer expires before acknowledgement arrives, sender retransmits message

Spring 2000John Kristoff11 Retransmission Illustrated

Spring 2000John Kristoff12 How Long Should TCP Wait Before Retransmitting? zTime for acknowledgement to arrive depends on yDistance to destination yCurrent traffic conditions zMultiple connections can be open simultaneously zTraffic conditions change rapidly

Spring 2000John Kristoff13 Important Point The delay required for data to reach a destination and an acknowledgement to return depends on traffic in the internet as well as the distance to the destination. Since it allows multiple application programs to communicate with multiple destinations concurrently, TCP must handle a variety of delays that can change rapidly.

Spring 2000John Kristoff14 Solving the Retransmission Problem zKeep estimate of round trip time on each connection zUse current estimate to set retransmission timer zKnown as adaptive retransmission zKey to TCP’s success

Spring 2000John Kristoff15 Adaptive Retransmission Illustrated zTimeout depends on current round-trip estimate

Spring 2000John Kristoff16 TCP Flow Control zReceiver yAdvertises available buffer space yCalled the window zSender yCan send up to entire window before ACK arrives zAlso called a sliding window protocol

Spring 2000John Kristoff17 Window Advertisement zEach acknowledgement carries new window information yCall window advertisement yCan be zero (called closed window) zInterpretation: I have received up through X and can take Y more octets

Spring 2000John Kristoff18 Window Advertisement Illustrated

Spring 2000John Kristoff19 Another View: Sliding Window Illustrated

Spring 2000John Kristoff20 Startup and Shutdown zConnection Startup yMust be reliable zConnection Shutdown yMust be graceful zDifficult

Spring 2000John Kristoff21 Why Startup/Shutdown is Difficult zSegments can be ylost yduplicated ydelayed ydelivered out of order yeither side can crash yeither side can reboot zNeed to avoid duplicate shutdown “message” from affecting later connection

Spring 2000John Kristoff22 TCP’s Startup Solution zUse three-message exchange zKnown as the 3-way handshake zNecessary and sufficient for unambiguous, reliable startup zSYN messages used for connection establishment

Spring 2000John Kristoff23 3-Way Handshake Illustrated

Spring 2000John Kristoff24 TCP’s Shutdown Illustrated

Spring 2000John Kristoff25 Byte Stream Sequencing zSegments are labeled with a sequence number zProtects from out-of-order delivery z32-bit number zLimited size of byte stream? zInitial Sequence Numbers (ISNs) must be exchanged at TCP connection establishment

Spring 2000John Kristoff26 More Complete Illustration of the 3-Way Handshake

Spring 2000John Kristoff27 Application Multiplexing zCannot extend IP address yNo unused bits zCannot use OS dependent quantity yProcess ID yTask number yJob name zMust work on all computer systems

Spring 2000John Kristoff28 Application Multiplexing Illustrated

Spring 2000John Kristoff29 Protocol Ports zEach application assigned a unique integer zServer yFollows standard yAlways uses same port number yUsually uses lower port numbers zClient yObtains unused port from protocol software yUsually uses higher port numbers

Spring 2000John Kristoff30 Protocol Port Example zWeb server application is assigned port 80 zWeb client application obtains port zTCP segment sent from client to server has ysource port number ydestination port number 80 zWhen web server responds, TCP segment has ysource port number 80 ydestination port number 32938

Spring 2000John Kristoff31 Standard Protocol Ports zSee for standard protocol port assignments zSee /etc/services in UNIX systems and \winnt\system32\drivers\etc\services in Windows NT

Spring 2000John Kristoff32 TCP Segment Format

Spring 2000John Kristoff33 Example Transport Layer: User Datagram Protocol (UDP) zUnreliable message delivery zConnectionless protocol zNo flow control (no window) zNo error recovery (no ACKs) zProvides application multiplexing zError detection optional (checksum field)

Spring 2000John Kristoff34 UDP Message Format