Transport Layer Moving Segments. Transport Layer Protocols Provide a logical communication link between processes running on different hosts as if directly.

Slides:



Advertisements
Similar presentations
Introduction 1 Lecture 13 Transport Layer (Transmission Control Protocol) slides are modified from J. Kurose & K. Ross University of Nevada – Reno Computer.
Advertisements

Transport Layer3-1 Transport Overview and UDP. Transport Layer3-2 Goals r Understand transport services m Multiplexing and Demultiplexing m Reliable data.
Introduction 1-1 Chapter 3 Transport Layer Intro and Multiplexing Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Addison-Wesley.
Transmission Control Protocol (TCP)
Transport Layer3-1 TCP. Transport Layer3-2 TCP: Overview RFCs: 793, 1122, 1323, 2018, 2581 r full duplex data: m bi-directional data flow in same connection.
1 Transport Layer Lecture 9 Imran Ahmed University of Management & Technology.
Transport Layer 3-1 Transport services and protocols  provide logical communication between app processes running on different hosts  transport protocols.
EEC-484/584 Computer Networks Lecture 12 Wenbing Zhao (Part of the slides are based on Drs. Kurose & Ross ’ s slides for their Computer.
Chapter 3 outline 3.1 transport-layer services
EEC-484/584 Computer Networks Lecture 14 Wenbing Zhao (Part of the slides are based on Drs. Kurose & Ross ’ s slides for their Computer.
Transport Layer 3-1 Fast Retransmit r time-out period often relatively long: m long delay before resending lost packet r detect lost segments via duplicate.
Computer Communication Digital Communication in the Modern World Transport Layer Multiplexing, UDP
Chapter 3: Transport Layer
EEC-484/584 Computer Networks Lecture 12 Wenbing Zhao (Part of the slides are based on Drs. Kurose & Ross ’ s slides for their Computer.
Transport Layer 3-1 Transport Layer r To learn about transport layer protocols in the Internet: m TCP: connection-oriented protocol m Reliability protocol.
Transport Layer3-1 Transport Layer Our goals: r understand principles behind transport layer services: m multiplexing/demultipl exing m reliable data transfer.
EEC-484/584 Computer Networks Lecture 14 Wenbing Zhao (Part of the slides are based on Drs. Kurose & Ross ’ s slides for their Computer.
Transport Layer 3-1 Transport Layer r To learn about transport layer protocols in the Internet: m TCP: connection-oriented protocol m Reliability protocol.
Lecture 8 Chapter 3 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.
2: Application Layer 1 1DT066 Distributed Information System Chapter 3 Transport Layer.
WXES2106 Network Technology Semester /2005 Chapter 8 Intermediate TCP CCNA2: Module 10.
3-1 Transport services and protocols r provide logical communication between app processes running on different hosts r transport protocols run in end.
8-1 Transport Layer Our goals: r understand principles behind transport layer services: m multiplexing/demultipl exing m reliable data transfer m flow.
Gursharan Singh Tatla Transport Layer 16-May
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.
Ch 3. Transport Layer Myungchul Kim
1 Transport Layer Computer Networks. 2 Where are we?
Data Communications and Computer Networks Chapter 3 CS 3830 Lecture 12 Omar Meqdadi Department of Computer Science and Software Engineering University.
CS 1652 The slides are adapted from the publisher’s material All material copyright J.F Kurose and K.W. Ross, All Rights Reserved Jack Lange.
Network LayerII-1 RSC Part III: Transport Layer 1. Basic Concepts Redes y Servicios de Comunicaciones Universidad Carlos III de Madrid These slides are,
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.
3: Transport Layer3b-1 TCP: Overview RFCs: 793, 1122, 1323, 2018, 2581 r full duplex data: m bi-directional data flow in same connection m MSS: maximum.
TCP : Transmission Control Protocol Computer Network System Sirak Kaewjamnong.
ECE453 – Introduction to Computer Networks Lecture 14 – Transport Layer (I)
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 Part.
TCP1 Transmission Control Protocol (TCP). TCP2 Outline Transmission Control Protocol.
Chapter 3 Transport Layer
Transport Layer3-1 Chapter 3: Transport Layer Our goals: r understand principles behind transport layer services: m multiplexing/demultipl exing m reliable.
Transport Layer1 Ram Dantu (compiled from various text books)
1 Transport Layer Lecture 7 Imran Ahmed University of Management & Technology.
Lecture91 Administrative Things r Return homework # 1 r Review some problems in homework # 1 r Questions about grading? Yona r WebCT for CSE245 is working!
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.
Transport Layer 3-1 Internet Transport Layer Lecture 8 Dr. Najla Al-Nabhan.
Prof. Younghee Lee 1 1 Computer Networks u Lecture 5: Transport services and protocols Prof. Younghee Lee * Some part of this teaching materials are prepared.
MULTIPLEXING/DEMULTIPLEXING, CONNECTIONLESS TRANSPORT.
Transport Protocols.
IP1 The Underlying Technologies. What is inside the Internet? Or What are the key underlying technologies that make it work so successfully? –Packet Switching.
IT 424 Networks2 IT 424 Networks2 Ack.: Slides are adapted from the slides of the book: “Computer Networking” – J. Kurose, K. Ross Chapter 3: Transport.
Transport Layer3-1 Chapter 3: Transport Layer Our goals: r understand principles behind transport layer services: m multiplexing/demultipl exing m reliable.
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).
Introduction 1-1 source application transport network link physical HtHt HnHn M segment HtHt datagram destination application transport network link physical.
CSEN 404 Transport Layer II Amr El Mougy Lamia AlBadrawy.
Ch 3. Transport Layer Myungchul Kim
Ch 3. Transport Layer Myungchul Kim
CSEN 404 Transport Layer I Amr El Mougy Lamia Al Badrawy.
Introduction to Networks
Introduction to Networks
06- Transport Layer Transport Layer.
PART 5 Transport Layer Computer Networks.
CS 1652 Jack Lange University of Pittsburgh
Transport Layer Our goals:
Process-to-Process Delivery:
Transport Layer Our goals:
Process-to-Process Delivery: UDP, TCP
Transport Layer Our goals:
Presentation transcript:

Transport Layer Moving Segments

Transport Layer Protocols Provide a logical communication link between processes running on different hosts as if directly connected Implemented in end systems but not in network routers (Possibly) break messages into smaller units, adding transport layer header to create segment We have two protocols: TCP and UDP

An Analogy Ann, her brothers and sisters on West Coast; Bill and family on East Coast –Application messages = letters in envelopes –Processes = cousins –Hosts (end systems) = houses –Transport Layer Protocol = Ann and Bill –Network Layer Protocol = Postal Service

UDP User Datagram Protocol Provides an unreliable, connectionless service to a process Provides integrity checking by including error detection fields in segment header

TCP Transmission Control Protocol Provides reliable data transfer –Flow control –Sequence numbers –Acknowledgments –Timers Provides congestion control Provides integrity through error checking

Multiplexing and Demultiplexing Multi- is the job of gathering data chunks thru sockets and creating segments Demulti- is delivering data chunks (segments minus Transport header) to correct socket

Segment Identification UDP: destination IP address and port number TCP: source IP, source port, destination IP and destination port

TCP Handshake Server application has a “welcome socket” that waits for connection requests Client generates a connection- establishment request (includes source IP and port at client) Server creates new port (socket) for client Both sides allocate resources for connection

UDP Defined in RFC 768 Does about as little as a transport protocol can do Attaches source and destination port numbers and passes segment to network layer No handshaking before segment is sent DNS uses UDP

Why use UDP? Finer application-level control over what data is sent and when No connection establishment (thus no delays) No connection state information Only 8 bytes of packet overhead Out of order receipt can be discarded Lack of congestion control can lead to high loss rates if network is busy

UDP Checksum For error detection, can’t fix error(s) Add (with wrap-around) 16-bit words Take 1’s compliment (invert 0/1) Send this value At receiver, all words are added (including checksum) and result should be

Principles of Reliable Data Transfer No transferred data bits are corrupted All are delivered in the order sent This gets complicated because lower layer (IP) is a best-effort (no guarantees) delivery service

Stop and Wait protocol Sender sends packet Receiver gets packet, checks for accuracy Receiver sends acknowledgement back If sender times out, presume NAK and resend packet Use sequence number to identify packets sent/resent

A little math West coast to East coast transfer; RTT = 30msec; Channel with 1GHz rate; packet size of 1000 bytes (8000 bits) Time needed to send packet is 8 microsec msec for packet to get to East coast Ack packet back to sender after msec Utilization is.00027; effective throughput is 267 kbps P 215

Pipelining Range of sequence numbers must increase May have to buffer packets on both sides of link Error response either Go-Back-N or Selective Repeat

Go-Back-N (GBN) Sender allowed to transmit multiple packets but is constrained to have no more than some maximum, N, not ACK’ed N is window size and GBN is sliding window protocol

Selective Repeat Avoids unnecessary retransmission by having the sender retransmit only those packets that it suspects were in error Big difference is that we will buffer (keep) out- of-order packets

TCP Client first sends a TCP segment Server responds with a second segment Client responds with a third segment (that can optionally have message data) Connection is point-to-point, not one to many Can be full duplex

TCP Timer We need to know when data is lost We can measure round trip time Timer expiration could be due to congestion in the network, so… If timeout, we double timeout value next interval and go back to original value when ACK received.

Flow Control We have receive buffer. If application is slow to read, we can overflow buffer Receiver sends value of receive window to sender (with each ACK) Sender makes sure un-ACK’ed data does not exceed receive window size.

Closing a connection Client issues a close command (FIN=1) Server sends ACK Server sends a close command (FIN=1) Client sends ACK Resources are now deallocated

Congestion Control Theory: As supply (feed) rate increases, output increases to limit of output line and then levels off T2: As feed rate increases, delay grows exponentially As feed rate grows, we start loosing packets at router – forcing retransmission TCP has to infer that this is congestion

TCP Congestion Control Additive-increase, multiplicative-decrease Slow start Reaction to timeout events

Speed Control Congestion window = amount of data “in the pipeline” With congestion (lost packet) we halve the window for each occurrence With ACKs, we increase window by set amount (Maximum Segment Size)

Slow Start Start at one MSS – send one packet Double that value each time an ACK comes back – send two, then four, then …