Autumn 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
© 2007 Cisco Systems, Inc. All rights reserved.Cisco Public ITE PC v4.0 Chapter 1 1 OSI Transport Layer Network Fundamentals – Chapter 4.
CSCI 4550/8556 Computer Networks
Transmission Control Protocol (TCP)
Intermediate TCP/IP TCP Operation.
Guide to TCP/IP, Third Edition
CPSC 441: Intro, UDP1 Transport Layer Instructor: Carey Williamson Office: ICT Class Location:
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
Spring 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.
CECS 474 Computer Network Interoperability Notes for Douglas E. Comer, Computer Networks and Internets (5 th Edition) Tracy Bradley Maples, Ph.D. Computer.
IP and Errors IP Best Effort Datagrams can be: –Lost –Delayed –Duplicated –Delivered out of order –Corrupted.
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.
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 Layer Moving Segments. Transport Layer Protocols Provide a logical communication link between processes running on different hosts as if directly.
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.
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.
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
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)
5. End-to-end protocols (part 1)
Process-to-Process Delivery, TCP and UDP protocols
PART 5 Transport Layer Computer Networks.
Internet and Intranet Protocols and Applications
Process-to-Process Delivery:
Process-to-Process Delivery: UDP, TCP
Presentation transcript:

Autumn 2000John Kristoff1 Transport Layer Computer Networks

Autumn 2000John Kristoff2 Where are we?

Autumn 2000John Kristoff3 Recall ÑNetwork Layer ÑProvides host-to-host communication ÑSource and destination addresses identify host interfaces ÑMachine-to-machine networking

Autumn 2000John Kristoff4 Transport Protocols Ñ Provide application-to-application communication Ñ Need extended addressing mechanism to identify applications Ñ Called end-to-end Ñ Optionally provide: ÑReliability ÑFlow Control ÑCongestion Control

Autumn 2000John Kristoff5 Example Transport Layer: Transmission Control Protocol (TCP) Ñ Standardized by IETF as RFC 793 Ñ Most popular layer 4 protocol Ñ Connection-oriented protocol Ñ Conceptually between applications and IP Ñ Full-duplex operation Ñ Byte-stream interface Ñ Of utmost importance for this class! Ñ The book: TCP/IP Illustrated, Volume I - W.R. Stevens Ñ Also see:

Autumn 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.

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

Autumn 2000John Kristoff8 Apparent Contradiction ÑIP offers best-effort (unreliable) delivery ÑTCP uses IP ÑTCP provides completely reliable transfer ÑHow is this possible?

Autumn 2000John Kristoff9 Achieving Reliability ÑReliable connection setup ÑReliable data transmission ÑReliable connection shutdown

Autumn 2000John Kristoff10 Reliable Data Transmission ÑPositive Acknowledgement Ñ Receiver returns short message when data arrives Ñ Call an acknowledgement ÑRetransmission Ñ Sender starts timer whenever message is transmitted Ñ If timer expires before acknowledgement arrives, sender retransmits message

Autumn 2000John Kristoff11 Retransmission Illustrated

Autumn 2000John Kristoff12 How Long Should TCP Wait Before Retransmitting? ÑTime for acknowledgement to arrive depends on ÑDistance to destination ÑCurrent traffic conditions ÑMultiple connections can be open simultaneously ÑTraffic conditions change rapidly

Autumn 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.

Autumn 2000John Kristoff14 Solving the Retransmission Problem ÑKeep estimate of round trip time on each connection ÑUse current estimate to set retransmission timer ÑKnown as adaptive retransmission  Key to TCP ’ s success

Autumn 2000John Kristoff15 Adaptive Retransmission Illustrated Ñ Timeout depends on current round-trip estimate

Autumn 2000John Kristoff16 TCP Flow Control ÑReceiver ÑAdvertises available buffer space ÑCalled the window ÑSender ÑCan send up to entire window before ACK arrives ÑAlso called a sliding window protocol

Autumn 2000John Kristoff17 Window Advertisement ÑEach acknowledgement carries new window information ÑCalled window advertisement ÑCan be zero (called closed window) ÑInterpretation: I have received up through X and can take Y more octets

Autumn 2000John Kristoff18 Window Advertisement Illustrated

Autumn 2000John Kristoff19 Another View: Sliding Window Illustrated

Autumn 2000John Kristoff20 Startup and Shutdown ÑConnection Startup ÑMust be reliable ÑConnection Shutdown ÑMust be graceful ÑDifficult

Autumn 2000John Kristoff21 Why Startup/Shutdown is Difficult ÑSegments can be Ñ lost Ñ duplicated Ñ delayed Ñ delivered out of order Ñ either side can crash Ñ either side can reboot  Need to avoid duplicate shutdown "message ” from affecting later connection

Autumn 2000John Kristoff22 TCP ’ s Startup Solution ÑUse three-message exchange ÑKnown as the 3-way handshake ÑNecessary and sufficient for unambiguous, reliable startup ÑSYN messages used for connection establishment

Autumn 2000John Kristoff23 3-Way Handshake Illustrated

Autumn 2000John Kristoff24 TCP ’ s Shutdown Illustrated

Autumn 2000John Kristoff25 Byte Stream Sequencing Ñ Segments are labeled with a sequence number Ñ Protects from out-of-order delivery Ñ 32-bit number Ñ Limited size of byte stream? Ñ Initial Sequence Numbers (ISNs) must be exchanged at TCP connection establishment

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

Autumn 2000John Kristoff27 Application Multiplexing ÑCannot extend IP address ÑNo unused bits ÑCannot use OS dependent quantity ÑProcess ID ÑTask number ÑJob name ÑMust work on all computer systems

Autumn 2000John Kristoff28 Application Multiplexing Illustrated

Autumn 2000John Kristoff29 Protocol Ports Ñ Each application assigned a unique integer Ñ Server Ñ Follows standard Ñ Always uses same port number Ñ Usually uses lower port numbers Ñ Client Ñ Obtains unused port from protocol software Ñ Usually uses higher port numbers

Autumn 2000John Kristoff30 Protocol Port Example Ñ Web server application is assigned port 80 Ñ Web client application obtains port Ñ TCP segment sent from client to server has Ñ source port number Ñ destination port number 80 Ñ When web server responds, TCP segment has Ñ source port number 80 Ñ destination port number 32938

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

Autumn 2000John Kristoff32 TCP Segment Format

Autumn 2000John Kristoff33 Example Transport Layer: User Datagram Protocol (UDP) ÑUnreliable message delivery ÑConnectionless protocol ÑNo flow control (no window) ÑNo error recovery (no ACKs) ÑProvides application multiplexing ÑError detection optional (checksum field)

Autumn 2000John Kristoff34 UDP Message Format