ECE453 – Introduction to Computer Networks Lecture 14 – Transport Layer (I)

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.
Prentice HallHigh Performance TCP/IP Networking, Hassan-Jain Chapter 2 TCP/IP Fundamentals.
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)
CSEE W4140 Networking Laboratory Lecture 6: TCP and UDP Jong Yul Kim
CSE551: Computer Network Review r Network Layers r TCP/UDP r IP.
CSci4211: Transport Layer:Part I1 Transport Layer: Part I  Transport Layer Services  connection-oriented vs. connectionless  multiplexing and demultplexing.
BZUPAGES.COM 1 User Datagram Protocol - UDP RFC 768, Protocol 17 Provides unreliable, connectionless on top of IP Minimal overhead, high performance –No.
CPSC 441: Intro, UDP1 Transport Layer Instructor: Carey Williamson Office: ICT Class Location:
EEC-484/584 Computer Networks Lecture 15 Wenbing Zhao (Part of the slides are based on Drs. Kurose & Ross ’ s slides for their Computer.
Transport Layer 3-1 outline r TCP m segment structure m reliable data transfer m flow control m congestion control.
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
Transport Layer 3-1 Outline r TCP m Congestion control m Flow control.
Introduction to Transport Layer. Transport Layer: Motivation A B R1 R2 r Recall that NL is responsible for forwarding a packet from one HOST to another.
Transport Layer3-1 Transport Layer Our goals: r understand principles behind transport layer services: m multiplexing/demultipl exing m reliable data transfer.
Lecture 8 Chapter 3 Transport Layer
CSEE W4140 Networking Laboratory Lecture 6: TCP and UDP Jong Yul Kim
TCP. Learning objectives Reliable Transport in TCP TCP flow and Congestion Control.
2: Application Layer 1 1DT066 Distributed Information System Chapter 3 Transport Layer.
Some slides are in courtesy of J. Kurose and K. Ross Review of Previous Lecture Electronic Mail: SMTP, POP3, IMAP DNS Socket programming with TCP.
3-1 Transport services and protocols r provide logical communication between app processes running on different hosts r transport protocols run in end.
1 Computer Networks Transport Layer Protocols. 2 Application-layer Protocols Application-layer protocols –one “piece” of an app –define messages exchanged.
8-1 Transport Layer Our goals: r understand principles behind transport layer services: m multiplexing/demultipl exing m reliable data transfer m flow.
IP-UDP-RTP Computer Networking (In Chap 3, 4, 7) 건국대학교 인터넷미디어공학부 임 창 훈.
Gursharan Singh Tatla Transport Layer 16-May
Process-to-Process Delivery:
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.
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.
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 : Transmission Control Protocol Computer Network System Sirak Kaewjamnong.
Transport Layer and UDP Tahir Azim Ref:
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
Fall 2005 By: H. Veisi Computer networks course Olum-fonoon Babol Chapter 6 The 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)
Transport Layer Moving Segments. Transport Layer Protocols Provide a logical communication link between processes running on different hosts as if directly.
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!
1 TCP: Reliable Transport Service. 2 Transmission Control Protocol (TCP) Major transport protocol used in Internet Heavily used Completely reliable transfer.
CSE679: Computer Network Review r Review of the uncounted quiz r Computer network review.
Transport Layer3-1 Chapter 3 Transport Layer Computer Networking: A Top Down Approach 4 th edition. Jim Kurose, Keith Ross Addison-Wesley, July A.
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 Layer3-1 Chapter 3 Transport Layer Computer Networking: A Top Down Approach Featuring the Internet, 3 rd edition. Jim Kurose, Keith Ross Addison-Wesley,
MULTIPLEXING/DEMULTIPLEXING, CONNECTIONLESS TRANSPORT.
Transport Protocols.
Transport Layer3-1 Chapter 3: Transport Layer Our goals: r understand principles behind transport layer services: m multiplexing/demultipl exing m reliable.
CIS679: TCP and Multimedia r Review of last lecture r TCP and Multimedia.
Transport Layer1 Goals: r understand principles behind transport layer services and protocols: m UDP m TCP Overview: r transport layer services r multiplexing/demultiplexing.
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.
2: Transport Layer 11 Transport Layer 1. 2: Transport Layer 12 Part 2: Transport Layer Chapter goals: r understand principles behind transport layer services:
Spring 2006 CPE : Transport Layer Overview2-1 Special Topics in Computer Engineering The Transport Layer in the Internet: Overview Some of these.
CSEN 404 Transport Layer I Amr El Mougy Lamia Al Badrawy.
3. END-TO-END PROTOCOLS (PART 1) Rocky K. C. Chang Department of Computing The Hong Kong Polytechnic University 22 March
Introduction to Networks
Chapter 3 outline 3.1 Transport-layer services
Introduction to Networks
Internet and Intranet Protocols and Applications
Transport Layer Goals: Overview:
Transport Layer 9/22/2019.
Presentation transcript:

ECE453 – Introduction to Computer Networks Lecture 14 – Transport Layer (I)

provide logical communication between application processes running on different hosts transport layer protocols are implemented in the end systems application transport network data link physical application transport network data link physical network data link physical network data link physical network data link physical network data link physical network data link physical logical end-end transport Transport Layer Service Model

Layering: Protocol Stack Data TCP DataTCPIP DataTCPIPEthernet Network Adapter (NIC) Network Adapter (NIC) Message Segment/Datagram Datagram Frame Bit stream Port no. IP address MAC address

Transport Layer Services Decompose/compose message into/from 4-PDU (TPDU) Demultiplexing/multiplexing Connection-oriented Service (TCP) Reliable data transfer (RDT) Flow control Congestion control TCP connection management Connectionless Service (UDP) checksum Source Port Sequence Number Acknowledge Number HLEN Checksum Options (if any) Data … Destination Port ReservedCode Bits Window Urgent Pointer Padding Source Port Length Data Destination Port Checksum

Transport Services (1) Decompose/compose message into/from 4- PDU (Protocol Data Unit) breaking application message into smaller chunks Add transport-layer header to each chunk 4-PDU for TCP is called segment 4-PDU for UDP is called datagram

Transport Service (2) Demultiplexing/multiplexing IP only delivers data between end systems identified with unique IP address IP does not deliver data between the application processes Demultiplexing: delivering the data in a transport- layer segment to the correct application process Multiplexing: gathering data at the source host from different application processes, enveloping data with header information to create segments and passing the segments to the network layer

Transport Service (3) Connection-oriented Service TCP Reliable data transfer TCP flow control TCP congestion control TCP connection management Connectionless Service UDP Through socket programming

Multiplexing/demultiplexing: Examples Web client host A Web server B Web client host C Source IP: C Dest IP: B source port: x dest. port: 80 Source IP: C Dest IP: B source port: y dest. port: 80 port use: Web server Source IP: A Dest IP: B source port: x dest. port: 80

UDP (User Datagram Protocol) source port #dest port # 32 bits Application data (message) UDP datagram format length checksum Length, in bytes of UDP datagram, including header Bare bone transport protocol Best-effort service Connectionless RFC 768 Eg. DNS Pros No connection delay No connection state Small packet header overhead (8 bytes vs. TCP’s 20 bytes) Unregulated send rate

Applications Using UDP Multicast Real-time applications Multimedia applications Tolerate a small fraction of packet loss

TCP Segment Structure Source Port Sequence Number Acknowledge Number HLEN Checksum Options (if any) Data … Destination Port ReservedCode Bits Window Urgent Pointer Padding

TCP Segment Structure Source Port Sequence Number Acknowledge Number HLEN Checksum Options (if any) Data … Destination Port ReservedCode Bits Window Urgent Pointer Padding

TCP Flow Control receiver: explicitly informs sender of (dynamically changing) the amount of free buffer space –RcvWindow field in TCP segment sender: keeps the amount of transmitted, unACKed data less than most recently received RcvWindow sender won’t overrun receiver’s buffers by transmitting too much, too fast flow control receiver buffering

Congestion Control Problem When intermediate machines (routers) become overloaded, the condition is called congestion, the mechanisms to solve the problem are called congestion control mechanism Difference from flow control?

Congestion Control Approaches End-end congestion control Network layer provides no explicit support to the transport layer for congestion- control purposes Network-assisted congestion control Routers provide explicit feedback to the sender regarding the congestion state in the network

How Can TCP Help? Which approach should TCP use? What does TCP know? What can TCP do?

Congestion Window At any time, TCP window size: LastByteSent-LastByteAcked <= Allowed window = min(receiver advertisement, congestion window)

Response To Congestion Two recommended techniques: Slow start Congestion avoidance  Additive increase  Multiplicative techniques

TCP Slowstart exponential increase (per RTT) in window size loss event: timeout and/or three duplicate ACKs initialize: Congwin = 1 for (each segment ACKed) Congwin++ until (loss event OR CongWin > threshold) Slowstart algorithm Host A one segment RTT Host B time two segments four segments How many RTT is needed before TCP can send N segments?

TCP Congestion Avoidance /* slowstart is over */ /* Congwin > threshold */ Until (loss event) { every w segments ACKed: Congwin++ } threshold = Congwin/2 Congwin = 1 perform slowstart Congestion avoidance

AIMD – TCP Congestion Avoidance AIMD: additive increase, multiplicative decrease increase window by 1 per RTT decrease threshold by factor of 2 on loss event

TCP Timeout and Retransmission Adaptive retransmission algorithm Next_RTT = (  * last_estimated_RTT) + (1 –  ) * newly_collected_RTT_sample, 0 <  < 1 Typically,  = 7/8

TCP Connection Management Establishing a connection Initial Sequence Number (ISN) Closing a TCP connection Connection Reset TCP state machine

Three-way Handshake Protocol BA Send SYN seq=x Receive SYN segment Send SYN, seq=y, ACK x Receive SYN + ACK segment Send DATA with seq = x Piggyback with ACK=y Receive TCP segment

ISN: Initial Sequence Number Two tasks have been accomplished by 3-way handshaking Both sides are ready to transfer data Both sides agree on ISN, ISN is chosen randomly Action taken in the three messages A node chooses x, B node ACKs x+1, which specifies that B will expect octet from x+1 B node piggybacks his chosen ISN, y, on second message, with SYN set A node ACKs this y by y+1

TCP: Closing Connection The Two-Army Problem

Connection Release (4 Scenarios)

TCP: Close Connection client FIN server ACK FIN Close wait (start timer) closed timed wait closed

TCP: Connection Reset Normally, TCP closes connection, analogous to closing a file Under abnormal conditions, an RST bit indicates immediate abort, resources such as buffers are released

TCP Segment Structure Source Port Sequence Number Acknowledge Number HLEN Checksum Options (if any) Data … Destination Port ReservedCode Bits Window Urgent Pointer Padding

TCP Code Bits Bit (left to right)Meaning if bit set to 1 URGUrgent pointer field is valid ACKAcknowledgement field is valid PSHThe segment requires a push RSTReset the connection SYNSynchronize sequence number FINSender has reached end of its byte stream

TCP: Finite State Machine TCP client lifecycle TCP server lifecycle