Chapter 24. Transport-Layer Protocols

Size: px
Start display at page:

Download "Chapter 24. Transport-Layer Protocols"

Transcription

1 Chapter 24. Transport-Layer Protocols 23.1 Introduction 23.2 User Datagram Protocol 23.3 Transmission Control Protocol 23.4 SCTP Computer Networks 24-1

2 Position of Transport-Layer Protocols UDP is an unreliable connectionless transport-layer protocol TCP is a reliable connection-oriented transport-layer protocol SCTP is a new protocol that combines the features of UDP and TCP Computer Networks 24-2

3 User Datagram Protocol (UDP) The User Datagram Protocol (UDP) is a connectionless, unreliable transport protocol. UDP is a very simple protocol using a minimum of overhead The calculation of checksum and its inclusion in the user datagram are optional Computer Networks 24-3

4 UDP: Checksum Checksum includes three section: a pseudoheader, the UDP header, and the data from the application layer Computer Networks 24-4

5 UDP Operation Connectionless services Flow and error control: no control without checksum Encapsulation and decapsulation Queuing Computer Networks 24-5

6 UDP Applications Features: Connectionless service, Lack of error control and congestion control Typical Applications: Suitable for a process that requires simple request-response communication with little concern for flow and error control Suitable for a process with internal flow and error control mechanisms such as TFTP Suitable for multicasting Used for management processes such as SNMP Used for some route updating protocols such as RIP Computer Networks 24-6

7 Transmission Control Protocol (TCP) Transmission Control Protocol (TCP) is a connection-oriented, reliable protocol. TCP explicitly defines connection establishment, data transfer, and connection teardown phases to provide a connection-oriented service. TCP uses a combination of GBN and SR protocols to provide reliability. TCP Services: Process-to-process communication Stream delivery service Full-duplex communication Multiplexing and demultiplexing Connection-oriented service Reliable service Computer Networks 24-7

8 Stream Delivery Service: TCP Unlike UDP, TCP is a stream-oriented protocol Buffering handles the disparity between the speed of the producing and consuming processes One example: to use a circular array of 1-byte locations Computer Networks 24-8

9 Segments: TCP IP layer needs to send data in packets not as a stream of byte Computer Networks 24-9

10 TCP Features Numbering system: sequence number and acknowledgment number Byte number: The bytes of data being transferred in each connection are numbered by TCP. The numbering starts with a randomly generated number The value in the sequence number field of a segment defines the number of the first data byte contained in that segment The value of the acknowledgment field in a segment defines the number of the next byte a party expects to receive. The acknowledgment number is cumulative Computer Networks 24-10

11 TCP Segment Format Computer Networks 24-11

12 TCP Control Field Computer Networks 24-12

13 Checksum: TCP The use of the checksum in TCP is mandatory Computer Networks 24-13

14 A TCP Connection: Establishment Connection establishment: Three-way handshaking A SYN segment cannot carry data, but it consumes one sequence number A SYN + ACK segment cannot carry data, but does consume one sequence number An ACK segment, if carrying no data, consumes no sequence number Simultaneous open and SYN flooding attack (denial-of service attack, cookie) Computer Networks 24-14

15 A TCP Connection: Data Transfer After connection is established, bidirectional data transfer can take place Pushing data and urgent data Computer Networks 24-15

16 A TCP Connection: Connection Termination Three-way handshaking The FIN segment consumes one sequence number if it does not carry data The FIN + ACK segment consumes one sequence number if it does not carry data Computer Networks 24-16

17 A TCP Connection: Connection Termination Half-Close Computer Networks 24-17

18 State Transition Diagram Computer Networks 24-18

19 States for TCP The state marked ESTABLISHED in the FSM is in fact two different sets of states that the client and server undergo to transfer data Computer Networks 24-19

20 FSM: Half-Close Scenario Computer Networks 24-20

21 Time-line Diagram for Common Scenario Computer Networks 24-21

22 Send Window in TCP Computer Networks 24-22

23 Receive Window in TCP rwnd = buffer size # of waiting bytes to be pulled Computer Networks 24-23

24 Flow Control Flow control balances the rate a producer creates data with the rate a consumer can use the data. TCP separates flow control from error control. We discuss flow control, ignoring error control. We assume that the logical channel between the sending and receiving TCP is error-free. Computer Networks 24-24

25 Opening and Closing Windows Computer Networks 24-25

26 Shrinking of Windows The receive window cannot shrink. The send window, on the other, can shrink if the receiver defines a value for rwnd that results in shrinking the window The receiver needs to keep the following relationship between the last and new ACK and the last and new rwnd values to prevent shrinking of the send window new ackno + new rwnd last ackno + last rwnd Window shutdown probing to prevent a deadlock Computer Networks 24-26

27 TCP Sliding Window The size of the window is the lesser of rwnd and cwnd. The source does not have to send a full window s worth of data. The window can be opened or closed by the receiver, but should not be shrunk. The destination can send an acknowledgment at any time as long as it does not result in a shrinking window. The receiver can temporarily shut down the window; the sender, however, can always send a segment of 1 byte after the window is shut down. Silly Window Syndrome Nagle s algorithm for syndrome created by the sender Clark s solution for syndrome created by the receiver (1) zero window announcement, (2) delayed ACK Computer Networks 24-27

28 Error Control Error detection and correction in TCP is achieved through the use of three simple tools: checksum, acknowledgment, and time-out Checksum: If corrupted, it is discarded and considered as lost Acknowledgment: ACK segments do not consume sequence numbers and are not acknowledged Two types of ACKs for TCP: Cumulative ACK (ACK) and Selective ACK (SACK) Retransmission: In modern implementations, a retransmission occurs if the retransmission timer expires or three duplicate ACK segments have arrived No retransmission timer is set for an ACK segment Retransmission after RTO (Retransmission Time-Out): RTO is updated based on the RTT (Round Trip Time) Retransmission after three duplicate ACK segments Out-of-order segments Data may arrive out of order and be temporarily stored by the receiving TCP, but TCP guarantees that no out-of-order segment is delivered to the process Computer Networks 24-28

29 Simplified FSM for TCP Sender Side Computer Networks 24-29

30 Simplified FSM for TCP Receiver Side Computer Networks 24-30

31 Normal Operation Scenarios Computer Networks 24-31

32 Lost Segment Scenarios Computer Networks 24-32

33 Fast Retransmission Scenarios Computer Networks 24-33

34 Lost ACK Scenarios Deadlock created by lost ACK: persistent timer needed Computer Networks 24-34

35 TCP Congestion Control Receive window, rwnd, is the size of the send window which is controlled by the receiver Congestion window, cwnd, whose size is controlled by the congestion situation in network Actual window size = minimum (rwnd, cwnd) Congestion Detection TCP sender uses the occurrence of two events as a sign of congestion in the network Time-out and three duplicate ACKs Taho TCP (earlier version) treated both events similarly Reno TCP treats these two signs differently Computer Networks 24-35

36 Slow Start: Exponential Increase In the slow-start algorithm, the size of the congestion window increases exponentially until it reaches a threshold Computer Networks 24-36

37 Slow Start: Exponential Increase If an ACK arrives, cwnd = cwnd + 1 Start cwnd = After 1 RTT cwnd = cwnd + 1 = = After 2 RTT cwnd = cwnd + 2 = = After 3 RTT cwnd = cwnd + 4 = = Computer Networks 24-37

38 Congestion Avoidance: Additive Increase In the congestion-avoidance algorithm, the size of the congestion window increases additively until congestion is detected If an ACK arrives, cwnd = cwnd + (1/cwnd) Start cwnd = i After 1 RTT cwnd = i + 1 After 2 RTT cwnd = i + 2 After 3 RTT cwnd = i + 3 Computer Networks 24-38

39 Fast Recovery Three duplicated ACKs are interpreted as light congestion Use additive increase like congestion avoidance If a duplicated ACK arrives, cwnd = cwnd + (1/cwnd) Policy Transition When each of these congestion policies is used and when TCP moves from one policy to another? Three versions of TCP: Taho TCP, Reno TCP, and New Reno TCP Computer Networks 24-39

40 FSM for Taho TCP Computer Networks 24-40

41 Example 24.9: Taho TCP Computer Networks 24-41

42 FSM for Reno TCP Computer Networks 24-42

43 Example 24.10: Reno TCP Computer Networks 24-43

44 AIMD Additive Increase, Multiplicative Decrease Computer Networks 24-44

45 TCP Throughput If the cwnd is a constant (flat line) function of RTT, Throughput = cwnd/rtt (unrealistic) If each tooth were exactly the same, Throughput = [(maximum + minimum)/2]/rtt The max is twice the value of the min because in each congestion detection the value of cwnd is set to half of its previous value. Throughput = (0.75) W max /RTT Computer Networks 24-45

46 TCP Timers Computer Networks 24-46

47 Example 24.12: Retransmission Timer Computer Networks 24-47

48 Example 24.13: Karn s Algorithm TCP does not consider the RTT of a retransmitted segment in its calculation of a new RTO Use an exponential backoff strategy if a retransmission occurs Computer Networks 24-48

49 TCP Timers Persistence Timer: To deal with a zero-window-size advertisement ACK segment announcing nonzero window size is lost: deadlock Set to the value of the retransmission timer up to 60 seconds Keepalive Timer: To prevent a long idle connection between two TCPs Usually after 2 hours, send 10 probes, each of which is 75 seconds apart No response after 10 probes, terminate the connection TIME-WAIT Timer: 2MSL(maximum segment lifetime) during connection termination Common value of MSL is 30 seconds, 1 or 2 minutes Allow TCP to resend the final ACK in case of the ACK is lost Computer Networks 24-49

50 SCTP Stream Control Transmission Protocol (SCTP) is a new reliable, message-oriented transport layer protocol that combines the best features of UDP and TCP SCTP Services: Process-to-process communication: use all well-known ports in TCP Multiple streams Multihoming Full-duplex communication Connection-oriented service Reliable service Computer Networks 24-50

51 SCTP Services Multiple streams: An association in SCTP can involve multiple streams Multihoming: SCTP association allows multiple IP addresses for each end Computer Networks 24-51

52 SCTP Features Transmission sequence number is used to number a data chunk Stream identifier (SI) to distinguish between different streams Stream sequence number to distinguish between different data chunks belong to the same stream Packets: TCP has segments; SCTP has packets In SCTP, control information and data information are carried in separate chunks Computer Networks 24-52

53 Differences between SCTP and TCP 1. The control information in TCP is part of the header; the control information in SCTP is included in the control chunks 2. The data in a TCP segment treated as one entity; an SCTP packet can carry several data chunks 3. The option section, which can be part of a TCP segment, does not exist in an SCTP packet 4. The mandatory part of the TCP header is 20 bytes, while the general header in SCTP is only 12 bytes 5. The checksum in TCP is 16 bits; in SCTP, it is 32 bits 6. The verification tag in SCTP is an association identifier, which does not exist in TCP 7. TCP includes one sequence number in the header, which defines the number of the first byte in the data section. AN SCTP packet can include several different data chunks 8. Some segments in TCP that carry control information (such as SYN and FIN) need to consume one sequence number; control chunks in SCTP never use a TSN, SI, or SSN Computer Networks 24-53

54 Packet, Data Chunks, and Stream Data chunks are identified by three items: TSN, SI, and SSN. TSN is a cumulative number identifying the association; SI defines the stream; SSN defines the chunk in a stream Acknowledgment Number In SCTP, acknowledgment numbers are used to acknowledge only data chunks; control chunks are acknowledged by other control chunks if necessary Computer Networks 24-54

55 SCTP Packet Format In an SCTP packet, control chunks come before data chunks General Header Computer Networks 24-55

56 SCTP Chunks Computer Networks 24-56

57 SCTP Association SCTP, like TCP, is a connection-oriented protocol A connection in SCTP is called an association to emphasize multihoming Association establishment requires a four-way handshake No other chunk is allowed in a packet carrying an INIT or INIT ACK chunk. A COOKIE ECHO or a COOKIE ACK chunk can carry data chunks Computer Networks 24-57

58 SCTP Association: Data Transfer Bidirectional data transfer Like TCP, SCTP supports piggybacking In SCTP, only DATA chunks consume TSNs; DATA chunks are the only chunks that are acknowledged The acknowledgment defines the cumulative TSN, the TSN of the last data chunk received in order Computer Networks 24-58

59 Association Termination Computer Networks 24-59

60 SCTP Flow Control Flow control in SCTP is similar to that in TCP. But, SCTP use two units of data, the byte and the chunk. The value of rwnd and cwnd are expressed in byte; the value of TSN and acknowledgment are in chunks Computer Networks 24-60

61 Flow Control Scenario Computer Networks 24-61

62 SCTP Error Control SCTP, like TCP, is a reliable transport layer. It uses a SACK chunk to report the state of the receiver buffer to the sender Computer Networks 24-62

63 SCTP Error Control Sender site Computer Networks 24-63

64 Error Control Sending Data Chunks: Whenever there are data chunks in the sending queue with a TSN greater than or equal curtsn or if there are data chunks in the retransmission queue Retransmission: Using retransmission timers and receiving three SACKs with the same missing chunks Generating SACK Chunks: Similar rule used for ACK with the TCP ACK flag Congestion Control : The same strategies in TCP. SCTP has slow start (exponential increase), congestion avoidance (additive increase), and congestion detection (multiplicative decrease). SCTP also use fast retransmission and fast recovery Computer Networks 24-64

TCP/IP Protocol Suite 1

TCP/IP Protocol Suite 1 TCP/IP Protocol Suite 1 Stream Control Transmission Protocol (SCTP) TCP/IP Protocol Suite 2 OBJECTIVES: To introduce SCTP as a new transport-layer protocol. To discuss SCTP services and compare them with

More information

Chapter 23 Process-to-Process Delivery: UDP, TCP, and SCTP 23.1

Chapter 23 Process-to-Process Delivery: UDP, TCP, and SCTP 23.1 Chapter 23 Process-to-Process Delivery: UDP, TCP, and SCTP 23.1 Copyright The McGraw-Hill Companies, Inc. Permission required for reproduction or display. 23-1 PROCESS-TO-PROCESS DELIVERY 23.2 The transport

More information

UNIT IV TRANSPORT LAYER

UNIT IV TRANSPORT LAYER Transport Layer UNIT IV TRANSPORT LAYER Congestion Control and Quality of Service Ref: Data Communication & Networking, 4 th edition, Forouzan IV-1 DATA TRAFFIC The main focus of congestion control and

More information

Chapter 23 Process-to-Process Delivery: UDP, TCP, and SCTP

Chapter 23 Process-to-Process Delivery: UDP, TCP, and SCTP Chapter 23 Process-to-Process Delivery: UDP, TCP, and SCTP 23.1 Copyright The McGraw-Hill Companies, Inc. Permission required for reproduction or display. 23-1 PROCESS-TO-PROCESS DELIVERY The transport

More information

Stream Control Transmission Protocol

Stream Control Transmission Protocol Chapter 13 Stream Control Transmission Protocol Objectives Upon completion you will be able to: Be able to name and understand the services offered by SCTP Understand SCTP s flow and error control and

More information

23-3 TCP. Topics discussed in this section: TCP Services TCP Features Segment A TCP Connection Flow Control Error Control 23.22

23-3 TCP. Topics discussed in this section: TCP Services TCP Features Segment A TCP Connection Flow Control Error Control 23.22 23-3 TCP 23.22 TCP is a connection-oriented protocol; it creates a virtual connection between two TCPs to send data. In addition, TCP uses flow and error control mechanisms at the transport level. Topics

More information

Transport Layer. The transport layer is responsible for the delivery of a message from one process to another. RSManiaol

Transport Layer. The transport layer is responsible for the delivery of a message from one process to another. RSManiaol Transport Layer Transport Layer The transport layer is responsible for the delivery of a message from one process to another Types of Data Deliveries Client/Server Paradigm An application program on the

More information

IS370 Data Communications and Computer Networks. Chapter 5 : Transport Layer

IS370 Data Communications and Computer Networks. Chapter 5 : Transport Layer IS370 Data Communications and Computer Networks Chapter 5 : Transport Layer Instructor : Mr Mourad Benchikh Introduction Transport layer is responsible on process-to-process delivery of the entire message.

More information

Unit 2.

Unit 2. Unit 2 Unit 2 Topics Covered: 1. PROCESS-TO-PROCESS DELIVERY 1. Client-Server 2. Addressing 2. IANA Ranges 3. Socket Addresses 4. Multiplexing and Demultiplexing 5. Connectionless Versus Connection-Oriented

More information

TSIN02 - Internetworking

TSIN02 - Internetworking TSIN02 - Internetworking Literature: Lecture 4: Transport Layer Forouzan: ch 11-12 Transport layer responsibilities UDP TCP 2004 Image Coding Group, Linköpings Universitet 2 Transport layer in OSI model

More information

TSIN02 - Internetworking

TSIN02 - Internetworking Lecture 4: Transport Layer Literature: Forouzan: ch 11-12 2004 Image Coding Group, Linköpings Universitet Lecture 4: Outline Transport layer responsibilities UDP TCP 2 Transport layer in OSI model Figure

More information

05 Transmission Control Protocol (TCP)

05 Transmission Control Protocol (TCP) SE 4C03 Winter 2003 05 Transmission Control Protocol (TCP) Instructor: W. M. Farmer Revised: 06 February 2003 1 Interprocess Communication Problem: How can a process on one host access a service provided

More information

TSIN02 - Internetworking

TSIN02 - Internetworking Lecture 4: Transport Layer Literature: Forouzan: ch 11-12 2004 Image Coding Group, Linköpings Universitet Lecture 4: Outline Transport layer responsibilities UDP TCP 2 Transport layer in OSI model Figure

More information

TSIN02 - Internetworking

TSIN02 - Internetworking Lecture 4: Outline Literature: Lecture 4: Transport Layer Forouzan: ch 11-12 RFC? Transport layer introduction UDP TCP 2004 Image Coding Group, Linköpings Universitet 2 The Transport Layer Transport layer

More information

Transport Layer. Application / Transport Interface. Transport Layer Services. Transport Layer Connections

Transport Layer. Application / Transport Interface. Transport Layer Services. Transport Layer Connections Application / Transport Interface Application requests service from transport layer Transport Layer Application Layer Prepare Transport service requirements Data for transport Local endpoint node address

More information

Transport Protocols & TCP TCP

Transport Protocols & TCP TCP Transport Protocols & TCP CSE 3213 Fall 2007 13 November 2007 1 TCP Services Flow control Connection establishment and termination Congestion control 2 1 TCP Services Transmission Control Protocol (RFC

More information

ECE697AA Lecture 3. Today s lecture

ECE697AA Lecture 3. Today s lecture ECE697AA Lecture 3 Transport Layer: TCP and UDP Tilman Wolf Department of Electrical and Computer Engineering 09/09/08 Today s lecture Transport layer User datagram protocol (UDP) Reliable data transfer

More information

Lecture 3: The Transport Layer: UDP and TCP

Lecture 3: The Transport Layer: UDP and TCP Lecture 3: The Transport Layer: UDP and TCP Prof. Shervin Shirmohammadi SITE, University of Ottawa Prof. Shervin Shirmohammadi CEG 4395 3-1 The Transport Layer Provides efficient and robust end-to-end

More information

CMSC 417. Computer Networks Prof. Ashok K Agrawala Ashok Agrawala. October 25, 2018

CMSC 417. Computer Networks Prof. Ashok K Agrawala Ashok Agrawala. October 25, 2018 CMSC 417 Computer Networks Prof. Ashok K Agrawala 2018 Ashok Agrawala Message, Segment, Packet, and Frame host host HTTP HTTP message HTTP TCP TCP segment TCP router router IP IP packet IP IP packet IP

More information

Transport Protocols and TCP

Transport Protocols and TCP Transport Protocols and TCP Functions Connection establishment and termination Breaking message into packets Error recovery ARQ Flow control Multiplexing, de-multiplexing Transport service is end to end

More information

Lecture 20 Overview. Last Lecture. This Lecture. Next Lecture. Transport Control Protocol (1) Transport Control Protocol (2) Source: chapters 23, 24

Lecture 20 Overview. Last Lecture. This Lecture. Next Lecture. Transport Control Protocol (1) Transport Control Protocol (2) Source: chapters 23, 24 Lecture 20 Overview Last Lecture Transport Control Protocol (1) This Lecture Transport Control Protocol (2) Source: chapters 23, 24 Next Lecture Internet Applications Source: chapter 26 COSC244 & TELE202

More information

TCP/IP Networking. Part 4: Network and Transport Layer Protocols

TCP/IP Networking. Part 4: Network and Transport Layer Protocols TCP/IP Networking Part 4: Network and Transport Layer Protocols Orientation Application Application protocol Application TCP TCP protocol TCP IP IP protocol IP IP protocol IP IP protocol IP Network Access

More information

CS321: Computer Networks Error and Flow Control in TCP

CS321: Computer Networks Error and Flow Control in TCP CS321: Computer Networks Error and Flow Control in TCP Dr. Manas Khatua Assistant Professor Dept. of CSE IIT Jodhpur E-mail: manaskhatua@iitj.ac.in SEQ and ACK numbers in TCP TCP views data as an unstructured,

More information

ECE 435 Network Engineering Lecture 10

ECE 435 Network Engineering Lecture 10 ECE 435 Network Engineering Lecture 10 Vince Weaver http://web.eece.maine.edu/~vweaver vincent.weaver@maine.edu 28 September 2017 Announcements HW#4 was due HW#5 will be posted. midterm/fall break You

More information

UNIT IV TCP, UNICAST AND MULTICAST ROUTING PROTOCOLS

UNIT IV TCP, UNICAST AND MULTICAST ROUTING PROTOCOLS UNIT IV TCP, UNICAST AND MULTICAST ROUTING PROTOCOLS Services flow, congestion and error control TCP package and operation state transition diagram unicast routing protocols RIP OSPF BGP multicast routing

More information

Transport Protocols and TCP: Review

Transport Protocols and TCP: Review Transport Protocols and TCP: Review CSE 6590 Fall 2010 Department of Computer Science & Engineering York University 1 19 September 2010 1 Connection Establishment and Termination 2 2 1 Connection Establishment

More information

Outline. CS5984 Mobile Computing

Outline. CS5984 Mobile Computing CS5984 Mobile Computing Dr. Ayman Abdel-Hamid Computer Science Department Virginia Tech Outline Review Transmission Control Protocol (TCP) Based on Behrouz Forouzan, Data Communications and Networking,

More information

Transport layer. UDP: User Datagram Protocol [RFC 768] Review principles: Instantiation in the Internet UDP TCP

Transport layer. UDP: User Datagram Protocol [RFC 768] Review principles: Instantiation in the Internet UDP TCP Transport layer Review principles: Reliable data transfer Flow control Congestion control Instantiation in the Internet UDP TCP 1 UDP: User Datagram Protocol [RFC 768] No frills, bare bones Internet transport

More information

Guide To TCP/IP, Second Edition UDP Header Source Port Number (16 bits) IP HEADER Protocol Field = 17 Destination Port Number (16 bit) 15 16

Guide To TCP/IP, Second Edition UDP Header Source Port Number (16 bits) IP HEADER Protocol Field = 17 Destination Port Number (16 bit) 15 16 Guide To TCP/IP, Second Edition Chapter 5 Transport Layer TCP/IP Protocols Objectives Understand the key features and functions of the User Datagram Protocol (UDP) Explain the mechanisms that drive segmentation,

More information

Transport layer. Review principles: Instantiation in the Internet UDP TCP. Reliable data transfer Flow control Congestion control

Transport layer. Review principles: Instantiation in the Internet UDP TCP. Reliable data transfer Flow control Congestion control Transport layer Review principles: Reliable data transfer Flow control Congestion control Instantiation in the Internet UDP TCP 1 UDP: User Datagram Protocol [RFC 768] No frills, bare bones Internet transport

More information

Computer Networks and Data Systems

Computer Networks and Data Systems Computer Networks and Data Systems Transport Layer TDC463 Winter 2011/12 John Kristoff - DePaul University 1 Why a transport layer? IP gives us end-to-end connectivity doesn't it? Why, or why not, more

More information

Networking Technologies and Applications

Networking Technologies and Applications Networking Technologies and Applications Rolland Vida BME TMIT Transport Protocols UDP User Datagram Protocol TCP Transport Control Protocol and many others UDP One of the core transport protocols Used

More information

ETSF05/ETSF10 Internet Protocols Transport Layer Protocols

ETSF05/ETSF10 Internet Protocols Transport Layer Protocols ETSF05/ETSF10 Internet Protocols Transport Layer Protocols 2016 Jens Andersson Transport Layer Communication between applications Process-to-process delivery Client/server concept Local host Normally initialiser

More information

User Datagram Protocol (UDP):

User Datagram Protocol (UDP): SFWR 4C03: Computer Networks and Computer Security Feb 2-5 2004 Lecturer: Kartik Krishnan Lectures 13-15 User Datagram Protocol (UDP): UDP is a connectionless transport layer protocol: each output operation

More information

COMP/ELEC 429/556 Introduction to Computer Networks

COMP/ELEC 429/556 Introduction to Computer Networks COMP/ELEC 429/556 Introduction to Computer Networks The TCP Protocol Some slides used with permissions from Edward W. Knightly, T. S. Eugene Ng, Ion Stoica, Hui Zhang T. S. Eugene Ng eugeneng at cs.rice.edu

More information

TCP: Flow and Error Control

TCP: Flow and Error Control 1 TCP: Flow and Error Control Required reading: Kurose 3.5.3, 3.5.4, 3.5.5 CSE 4213, Fall 2006 Instructor: N. Vlajic TCP Stream Delivery 2 TCP Stream Delivery unlike UDP, TCP is a stream-oriented protocol

More information

UNIT IV -- TRANSPORT LAYER

UNIT IV -- TRANSPORT LAYER UNIT IV -- TRANSPORT LAYER TABLE OF CONTENTS 4.1. Transport layer. 02 4.2. Reliable delivery service. 03 4.3. Congestion control. 05 4.4. Connection establishment.. 07 4.5. Flow control 09 4.6. Transmission

More information

Chapter 6. What happens at the Transport Layer? Services provided Transport protocols UDP TCP Flow control Congestion control

Chapter 6. What happens at the Transport Layer? Services provided Transport protocols UDP TCP Flow control Congestion control Chapter 6 What happens at the Transport Layer? Services provided Transport protocols UDP TCP Flow control Congestion control OSI Model Hybrid Model Software outside the operating system Software inside

More information

Department of Computer and IT Engineering University of Kurdistan. Transport Layer. By: Dr. Alireza Abdollahpouri

Department of Computer and IT Engineering University of Kurdistan. Transport Layer. By: Dr. Alireza Abdollahpouri Department of Computer and IT Engineering University of Kurdistan Transport Layer By: Dr. Alireza Abdollahpouri TCP/IP protocol suite 2 Transport Layer The transport layer is responsible for process-to-process

More information

Transport Layer. -UDP (User Datagram Protocol) -TCP (Transport Control Protocol)

Transport Layer. -UDP (User Datagram Protocol) -TCP (Transport Control Protocol) Transport Layer -UDP (User Datagram Protocol) -TCP (Transport Control Protocol) 1 Transport Services The transport layer has the duty to set up logical connections between two applications running on remote

More information

Network Protocols. Transmission Control Protocol (TCP) TDC375 Autumn 2009/10 John Kristoff DePaul University 1

Network Protocols. Transmission Control Protocol (TCP) TDC375 Autumn 2009/10 John Kristoff DePaul University 1 Network Protocols Transmission Control Protocol (TCP) TDC375 Autumn 2009/10 John Kristoff DePaul University 1 IP review IP provides just enough connected ness Global addressing Hop by hop routing IP over

More information

8. TCP Congestion Control

8. TCP Congestion Control 8. TCP Congestion Control 1 TCP Congestion Control Slow-start increase Multiplicative decrease Congestion avoidance Measurement of variation Exponential timer backoff 2002 Yanghee Choi 2 Congestion Control

More information

Transport Layer. Gursharan Singh Tatla. Upendra Sharma. 1

Transport Layer. Gursharan Singh Tatla.   Upendra Sharma. 1 Transport Layer Gursharan Singh Tatla mailme@gursharansingh.in Upendra Sharma 1 Introduction The transport layer is the fourth layer from the bottom in the OSI reference model. It is responsible for message

More information

Islamic University of Gaza Faculty of Engineering Department of Computer Engineering ECOM 4021: Networks Discussion. Chapter 5 - Part 2

Islamic University of Gaza Faculty of Engineering Department of Computer Engineering ECOM 4021: Networks Discussion. Chapter 5 - Part 2 Islamic University of Gaza Faculty of Engineering Department of Computer Engineering ECOM 4021: Networks Discussion Chapter 5 - Part 2 End to End Protocols Eng. Haneen El-Masry May, 2014 Transport Layer

More information

CS 356: Introduction to Computer Networks. Lecture 16: Transmission Control Protocol (TCP) Chap. 5.2, 6.3. Xiaowei Yang

CS 356: Introduction to Computer Networks. Lecture 16: Transmission Control Protocol (TCP) Chap. 5.2, 6.3. Xiaowei Yang CS 356: Introduction to Computer Networks Lecture 16: Transmission Control Protocol (TCP) Chap. 5.2, 6.3 Xiaowei Yang xwy@cs.duke.edu Overview TCP Connection management Flow control When to transmit a

More information

User Datagram Protocol

User Datagram Protocol Topics Transport Layer TCP s three-way handshake TCP s connection termination sequence TCP s TIME_WAIT state TCP and UDP buffering by the socket layer 2 Introduction UDP is a simple, unreliable datagram

More information

Transmission Control Protocol. ITS 413 Internet Technologies and Applications

Transmission Control Protocol. ITS 413 Internet Technologies and Applications Transmission Control Protocol ITS 413 Internet Technologies and Applications Contents Overview of TCP (Review) TCP and Congestion Control The Causes of Congestion Approaches to Congestion Control TCP Congestion

More information

Outline. History Introduction Packets Association/ Termination Data Transmission concepts Multihoming Streams

Outline. History Introduction Packets Association/ Termination Data Transmission concepts Multihoming Streams Outline History Introduction Packets Association/ Termination Data Transmission concepts Multihoming Streams 1 History Developed by IETF SIGTRAN working group (Internet Engineering Task Force) (SIGnaling

More information

Outline. TCP: Overview RFCs: 793, 1122, 1323, 2018, steam: r Development of reliable protocol r Sliding window protocols

Outline. TCP: Overview RFCs: 793, 1122, 1323, 2018, steam: r Development of reliable protocol r Sliding window protocols Outline r Development of reliable protocol r Sliding window protocols m Go-Back-N, Selective Repeat r Protocol performance r Sockets, UDP, TCP, and IP r UDP operation r TCP operation m connection management

More information

Process-to-Process Delivery:

Process-to-Process Delivery: CHAPTER 23 Process-to-Process Delivery: Solutions to Review Questions and Exercises Review Questions 1. Reliability is not of primary importance in applications such as echo, daytime, BOOTP, TFTP and SNMP.

More information

TCP/IP. Chapter 5: Transport Layer TCP/IP Protocols

TCP/IP. Chapter 5: Transport Layer TCP/IP Protocols TCP/IP Chapter 5: Transport Layer TCP/IP Protocols 1 Objectives Understand the key features and functions of the User Datagram Protocol Explain the mechanisms that drive segmentation, reassembly, and retransmission

More information

An SCTP-Protocol Data Unit with several chunks

An SCTP-Protocol Data Unit with several chunks SCTP for Beginners Section 2 SCTP Packets he protocol data units (PDU) of SCTP are called SCTP packets. If SCTP runs over IP (as described in RFC2960 ), an SCTP packet forms the payload of an IP packet.

More information

Outline. Connecting to the access network: DHCP and mobile IP, LTE. Transport layer: UDP and TCP

Outline. Connecting to the access network: DHCP and mobile IP, LTE. Transport layer: UDP and TCP Outline Connecting to the access network: DHCP and mobile IP, LTE Transport layer: UDP and TCP IETF TCP/IP protocol suite User application, e.g., http with Mozilla Communication for each process on computer

More information

Outline. TCP: Overview RFCs: 793, 1122, 1323, 2018, Development of reliable protocol Sliding window protocols

Outline. TCP: Overview RFCs: 793, 1122, 1323, 2018, Development of reliable protocol Sliding window protocols Outline Development of reliable protocol Sliding window protocols Go-Back-N, Selective Repeat Protocol performance Sockets, UDP, TCP, and IP UDP operation TCP operation connection management flow control

More information

Computer Networking Introduction

Computer Networking Introduction Computer Networking Introduction Halgurd S. Maghdid Software Engineering Department Koya University-Koya, Kurdistan-Iraq Lecture No.11 Chapter 3 outline 3.1 transport-layer services 3.2 multiplexing and

More information

UNIT V. Computer Networks [10MCA32] 1

UNIT V. Computer Networks [10MCA32] 1 Computer Networks [10MCA32] 1 UNIT V 1. Explain the format of UDP header and UDP message queue. The User Datagram Protocol (UDP) is a end-to-end transport protocol. The issue in UDP is to identify the

More information

CS 5520/ECE 5590NA: Network Architecture I Spring Lecture 13: UDP and TCP

CS 5520/ECE 5590NA: Network Architecture I Spring Lecture 13: UDP and TCP CS 5520/ECE 5590NA: Network Architecture I Spring 2008 Lecture 13: UDP and TCP Most recent lectures discussed mechanisms to make better use of the IP address space, Internet control messages, and layering

More information

Transport Layer: Outline

Transport Layer: Outline Transport Layer: Outline Transport-layer services Multiplexing and demultiplexing Connectionless transport: UDP Principles of reliable data transfer Connection-oriented transport: TCP Segment structure

More information

Fall 2012: FCM 708 Bridge Foundation I

Fall 2012: FCM 708 Bridge Foundation I Fall 2012: FCM 708 Bridge Foundation I Prof. Shamik Sengupta Instructor s Website: http://jjcweb.jjay.cuny.edu/ssengupta/ Blackboard Website: https://bbhosted.cuny.edu/ Intro to Computer Networking Transport

More information

CSC 4900 Computer Networks: TCP

CSC 4900 Computer Networks: TCP CSC 4900 Computer Networks: TCP Professor Henry Carter Fall 2017 Project 2: mymusic You will be building an application that allows you to synchronize your music across machines. The details of which are

More information

C H A P T E R 15 TRA N SM I SSI O N C O N T RO L P RO T O C O L (T C P ) SUM M A RY

C H A P T E R 15 TRA N SM I SSI O N C O N T RO L P RO T O C O L (T C P ) SUM M A RY C H A P T E R 15 TRA N SM I SSI O N C O N T RO L P RO T O C O L (T C P ) 497 15.15 SUM M A RY Transmission C ontrol Protocol (T C P) is one of the transport layer protocols in the T C P/IP protocol suite.

More information

TCP Review. Carey Williamson Department of Computer Science University of Calgary Winter 2018

TCP Review. Carey Williamson Department of Computer Science University of Calgary Winter 2018 TCP Review Carey Williamson Department of Computer Science University of Calgary Winter 2018 Credit: Much of this content came courtesy of Erich Nahum (IBM Research) The TCP Protocol Connection-oriented,

More information

Outline. User Datagram Protocol (UDP) Transmission Control Protocol (TCP) Transport layer (cont.) Transport layer. Background UDP.

Outline. User Datagram Protocol (UDP) Transmission Control Protocol (TCP) Transport layer (cont.) Transport layer. Background UDP. Outline User Datagram Protocol (UDP) Transmission Control Protocol (TCP) Matti Siekkinen 22.09.2009 Background UDP Role and Functioning TCP Basics Error control Flow control Congestion control Transport

More information

T Computer Networks II. Transport Issues Contents. TCP and UDP. Congestion Prevention. Motivation for Congestion Control

T Computer Networks II. Transport Issues Contents. TCP and UDP. Congestion Prevention. Motivation for Congestion Control T-110.5110 Computer Networks II Transport Issues 29.9.2008 Contents Transport Layer Overview Congestion Control TCP, TCP improvements, TCP and wireless Stream Control Transmission Protocol (SCTP) Datagram

More information

Internet and Intranet Protocols and Applications

Internet and Intranet Protocols and Applications Internet and Intranet Protocols and Applications Lecture 1b: The Transport Layer in the Internet January 17, 2006 Arthur Goldberg Computer Science Department New York University artg@cs.nyu.edu 01/17/06

More information

Chapter 5 End-to-End Protocols

Chapter 5 End-to-End Protocols Chapter 5 End-to-End Protocols Transport layer turns the host-to-host packet delivery service of the underlying network into a process-to-process communication channel Common properties that application

More information

Fast Retransmit. Problem: coarsegrain. timeouts lead to idle periods Fast retransmit: use duplicate ACKs to trigger retransmission

Fast Retransmit. Problem: coarsegrain. timeouts lead to idle periods Fast retransmit: use duplicate ACKs to trigger retransmission Fast Retransmit Problem: coarsegrain TCP timeouts lead to idle periods Fast retransmit: use duplicate ACKs to trigger retransmission Packet 1 Packet 2 Packet 3 Packet 4 Packet 5 Packet 6 Sender Receiver

More information

Reliable Transport I: Concepts and TCP Protocol

Reliable Transport I: Concepts and TCP Protocol Reliable Transport I: Concepts and TCP Protocol Stefano Vissicchio UCL Computer Science COMP0023 Today Transport Concepts Layering context Transport goals Transport mechanisms and design choices TCP Protocol

More information

Chapter 6 Transport Layer

Chapter 6 Transport Layer Chapter 6 Transport Layer A note on the use of these ppt slides: We re making these slides freely available to all (faculty, students, readers). They re in PowerPoint form so you can add, modify, and delete

More information

Chapter 3 outline. 3.5 Connection-oriented transport: TCP. 3.6 Principles of congestion control 3.7 TCP congestion control

Chapter 3 outline. 3.5 Connection-oriented transport: TCP. 3.6 Principles of congestion control 3.7 TCP congestion control Chapter 3 outline 3.1 Transport-layer services 3.2 Multiplexing and demultiplexing 3.3 Connectionless transport: UDP 3.4 Principles of reliable data transfer 3.5 Connection-oriented transport: TCP segment

More information

Chapter 3- parte B outline

Chapter 3- parte B outline Chapter 3- parte B outline 3.1 transport-layer services 3.2 multiplexing and demultiplexing 3.3 connectionless transport: UDP 3.4 principles of reliable data transfer 3.5 connection-oriented transport:

More information

ECE 435 Network Engineering Lecture 9

ECE 435 Network Engineering Lecture 9 ECE 435 Network Engineering Lecture 9 Vince Weaver http://web.eece.maine.edu/~vweaver vincent.weaver@maine.edu 2 October 2018 Announcements HW#4 was posted, due Thursday 1 HW#3 Review md5sum/encryption,

More information

TCP Basics : Computer Networking. Overview. What s Different From Link Layers? Introduction to TCP. TCP reliability Assigned reading

TCP Basics : Computer Networking. Overview. What s Different From Link Layers? Introduction to TCP. TCP reliability Assigned reading TCP Basics 15-744: Computer Networking TCP reliability Assigned reading [FF96] Simulation-based Comparisons of Tahoe, Reno, and SACK TCP L-9 TCP Basics 2 Key Things You Should Know Already Port numbers

More information

6.1 Internet Transport Layer Architecture 6.2 UDP (User Datagram Protocol) 6.3 TCP (Transmission Control Protocol) 6. Transport Layer 6-1

6.1 Internet Transport Layer Architecture 6.2 UDP (User Datagram Protocol) 6.3 TCP (Transmission Control Protocol) 6. Transport Layer 6-1 6. Transport Layer 6.1 Internet Transport Layer Architecture 6.2 UDP (User Datagram Protocol) 6.3 TCP (Transmission Control Protocol) 6. Transport Layer 6-1 6.1 Internet Transport Layer Architecture The

More information

CS4700/CS5700 Fundamentals of Computer Networks

CS4700/CS5700 Fundamentals of Computer Networks CS4700/CS5700 Fundamentals of Computer Networks Lecture 14: TCP Slides used with permissions from Edward W. Knightly, T. S. Eugene Ng, Ion Stoica, Hui Zhang Alan Mislove amislove at ccs.neu.edu Northeastern

More information

Transport Protocols. Raj Jain. Washington University in St. Louis

Transport Protocols. Raj Jain. Washington University in St. Louis Transport Protocols Raj Jain Washington University Saint Louis, MO 63131 Jain@cse.wustl.edu These slides are available on-line at: http://www.cse.wustl.edu/~jain/cse473-05/ 16-1 Overview q TCP q Key features

More information

Mobile Transport Layer Lesson 10 Timeout Freezing, Selective Retransmission, Transaction Oriented TCP and Explicit Notification Methods

Mobile Transport Layer Lesson 10 Timeout Freezing, Selective Retransmission, Transaction Oriented TCP and Explicit Notification Methods Mobile Transport Layer Lesson 10 Timeout Freezing, Selective Retransmission, Transaction Oriented TCP and Explicit Notification Methods 1 Timeout freezing of transmission (TFT) Used in situations where

More information

Sequence Number. Acknowledgment Number. Data

Sequence Number. Acknowledgment Number. Data CS 455 TCP, Page 1 Transport Layer, Part II Transmission Control Protocol These slides are created by Dr. Yih Huang of George Mason University. Students registered in Dr. Huang's courses at GMU can make

More information

CSC 401 Data and Computer Communications Networks

CSC 401 Data and Computer Communications Networks CSC 401 Data and Computer Communications Networks Transport Layer Connection Oriented Transport: TCP Sec 3.5 Prof. Lina Battestilli Fall 2017 Transport Layer Chapter 3 Outline 3.1 Transport-layer Services

More information

Functionality Split Computer Networking. Transport Protocols. Overview. Multiplexing & Demultiplexing

Functionality Split Computer Networking. Transport Protocols. Overview. Multiplexing & Demultiplexing Functionality Split 15-441 Computer Networking Transport Layer Network provides best-effort delivery End-systems implement many functions Reliability In-order delivery Demultiplexing Message boundaries

More information

Announcements Computer Networking. Outline. Transport Protocols. Transport introduction. Error recovery & flow control. Mid-semester grades

Announcements Computer Networking. Outline. Transport Protocols. Transport introduction. Error recovery & flow control. Mid-semester grades Announcements 15-441 Computer Networking Lecture 16 Transport Protocols Mid-semester grades Based on project1 + midterm + HW1 + HW2 42.5% of class If you got a D+,D, D- or F! must meet with Dave or me

More information

Intro to LAN/WAN. Transport Layer

Intro to LAN/WAN. Transport Layer Intro to LAN/WAN Transport Layer Transport Layer Topics Introduction (6.1) Elements of Transport Protocols (6.2) Internet Transport Protocols: TDP (6.5) Internet Transport Protocols: UDP (6.4) socket interface

More information

Internet Applications and the Application Layer Material from Kurose and Ross, Chapter 2: The Application Layer

Internet Applications and the Application Layer Material from Kurose and Ross, Chapter 2: The Application Layer Midterm Study Sheet Below is a list of topics that will be covered on the midterm exam. Some topics may have summaries to clarify the coverage of the topic during the lecture. Disclaimer: the list may

More information

Video Streaming with the Stream Control Transmission Protocol (SCTP)

Video Streaming with the Stream Control Transmission Protocol (SCTP) Chair for Network Architectures and Services Department of Informatics Technische Universität München Video Streaming with the Stream Control Transmission Protocol (SCTP) Lothar Braun, Andreas Müller Internet

More information

Computer Networks. Wenzhong Li. Nanjing University

Computer Networks. Wenzhong Li. Nanjing University Computer Networks Wenzhong Li Nanjing University 1 Chapter 5. End-to-End Protocols Transport Services and Mechanisms User Datagram Protocol (UDP) Transmission Control Protocol (TCP) TCP Congestion Control

More information

Computer Network Programming

Computer Network Programming Computer Network Programming SCTP Overview Dr. Sam Hsu Computer Science & Engineering Florida Atlantic University SCTP Overview Introduction Motivations Architectural & Functional Views Packet & Chunk

More information

TCP reliable data transfer. Chapter 3 outline. TCP sender events: TCP sender (simplified) TCP: retransmission scenarios. TCP: retransmission scenarios

TCP reliable data transfer. Chapter 3 outline. TCP sender events: TCP sender (simplified) TCP: retransmission scenarios. TCP: retransmission scenarios Chapter 3 outline TCP reliable 3.2 principles of reliable 3.3 connection-oriented flow 3.4 principles of congestion 3.5 TCP congestion TCP creates rdt service on top of IP s unreliable service pipelined

More information

Introduction to Networks and the Internet

Introduction to Networks and the Internet Introduction to Networks and the Internet CMPE 80N Announcements Project 2. Reference page. Library presentation. Internet History video. Spring 2003 Week 7 1 2 Today Internetworking (cont d). Fragmentation.

More information

Transport Layer TCP / UDP

Transport Layer TCP / UDP Transport Layer TCP / UDP Chapter 6 section 6.5 is TCP 12 Mar 2012 Layers Application Transport Why do we need the Transport Layer? Network Host-to-Network/Physical/DataLink High Level Overview TCP (RFC

More information

Congestion / Flow Control in TCP

Congestion / Flow Control in TCP Congestion and Flow Control in 1 Flow Control and Congestion Control Flow control Sender avoids overflow of receiver buffer Congestion control All senders avoid overflow of intermediate network buffers

More information

TCP. CSU CS557, Spring 2018 Instructor: Lorenzo De Carli (Slides by Christos Papadopoulos, remixed by Lorenzo De Carli)

TCP. CSU CS557, Spring 2018 Instructor: Lorenzo De Carli (Slides by Christos Papadopoulos, remixed by Lorenzo De Carli) TCP CSU CS557, Spring 2018 Instructor: Lorenzo De Carli (Slides by Christos Papadopoulos, remixed by Lorenzo De Carli) 1 Sources Fall and Stevens, TCP/IP Illustrated Vol. 1, 2nd edition Congestion Avoidance

More information

Transport Layer: outline

Transport Layer: outline Transport Layer: outline Transport-layer services Multiplexing and demultiplexing Connectionless transport: UDP Principles of reliable data transfer Connection-oriented transport: TCP Segment structure

More information

TCP and Congestion Control (Day 1) Yoshifumi Nishida Sony Computer Science Labs, Inc. Today's Lecture

TCP and Congestion Control (Day 1) Yoshifumi Nishida Sony Computer Science Labs, Inc. Today's Lecture TCP and Congestion Control (Day 1) Yoshifumi Nishida nishida@csl.sony.co.jp Sony Computer Science Labs, Inc 1 Today's Lecture Part1: TCP concept Part2: TCP detailed mechanisms Part3: Tools for TCP 2 1

More information

9th Slide Set Computer Networks

9th Slide Set Computer Networks Prof. Dr. Christian Baun 9th Slide Set Computer Networks Frankfurt University of Applied Sciences WS1718 1/49 9th Slide Set Computer Networks Prof. Dr. Christian Baun Frankfurt University of Applied Sciences

More information

NWEN 243. Networked Applications. Layer 4 TCP and UDP

NWEN 243. Networked Applications. Layer 4 TCP and UDP NWEN 243 Networked Applications Layer 4 TCP and UDP 1 About the second lecturer Aaron Chen Office: AM405 Phone: 463 5114 Email: aaron.chen@ecs.vuw.ac.nz Transport layer and application layer protocols

More information

CMPE 150 Winter 2009

CMPE 150 Winter 2009 CMPE 150 Winter 2009 Lecture 16 March 3, 2009 P.E. Mantey CMPE 150 -- Introduction to Computer Networks Instructor: Patrick Mantey mantey@soe.ucsc.edu http://www.soe.ucsc.edu/~mantey/ / t / Office: Engr.

More information

Computer Communication Networks Midterm Review

Computer Communication Networks Midterm Review Computer Communication Networks Midterm Review ICEN/ICSI 416 Fall 2018 Prof. Aveek Dutta 1 Instructions The exam is closed book, notes, computers, phones. You can use calculator, but not one from your

More information

Q23-5 In a network, the size of the receive window is 1 packet. Which of the follow-ing protocols is being used by the network?

Q23-5 In a network, the size of the receive window is 1 packet. Which of the follow-ing protocols is being used by the network? CS368: Exercise 5 Q23-5 In a network, the size of the receive window is 1 packet. Which of the follow-ing protocols is being used by the network? a) Stop_and_Wait b) Go-Back-N c) Selective-Repeat Q23-6.

More information

Computer Networks. Homework #4: No Grading

Computer Networks. Homework #4: No Grading Computer Networks Homework #4: No Grading Problem #1. Assume you need to write and test a client-server application program on two hosts you have at home. a. What is the range of port numbers you would

More information

32 bits. source port # dest port # sequence number acknowledgement number not used. checksum. Options (variable length)

32 bits. source port # dest port # sequence number acknowledgement number not used. checksum. Options (variable length) Chapter 3 outline 3.1 Transport-layer services 3.2 Multiplexing and demultiplexing 3.3 Connectionless transport: UDP 3.4 Principles of reliable data transfer 3.5 Connectionoriented transport: TCP segment

More information