UNIT IV -- TRANSPORT LAYER

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

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

Announcements. IP Forwarding & Transport Protocols. Goals of Today s Lecture. Are 32-bit Addresses Enough? Summary of IP Addressing.

Page 1. Review: Internet Protocol Stack. Transport Layer Services EEC173B/ECS152C. Review: TCP. Transport Layer: Connectionless Service

Problem 7. Problem 8. Problem 9

Page 1. Review: Internet Protocol Stack. Transport Layer Services. Design Issue EEC173B/ECS152C. Review: TCP

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

EE 122: IP Forwarding and Transport Protocols

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

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

Outline. CS5984 Mobile Computing

Transport Protocols and TCP: Review

Transport Protocols & TCP TCP

Networking Technologies and Applications

Announcements. No book chapter for this topic! Slides are posted online as usual Homework: Will be posted online Due 12/6

Chapter 24. Transport-Layer Protocols

Computer Networking Introduction

Applied Networks & Security

User Datagram Protocol (UDP):

Transmission Control Protocol. ITS 413 Internet Technologies and Applications

TCP: Overview RFCs: 793, 1122, 1323, 2018, 2581

ECE697AA Lecture 3. Today s lecture

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

ETSF05/ETSF10 Internet Protocols Transport Layer Protocols

Transport Protocols and TCP

Stream Control Transmission Protocol

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

CNT 6885 Network Review on Transport Layer

User Datagram Protocol

Different Layers Lecture 20

Fall 2012: FCM 708 Bridge Foundation I

No book chapter for this topic! Slides are posted online as usual Homework: Will be posted online Due 12/6

CSCD 330 Network Programming Winter 2015

Lecture 8. TCP/IP Transport Layer (2)

TCP over wireless links

Congestion Control. Daniel Zappala. CS 460 Computer Networking Brigham Young University

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

Transport Layer Protocols TCP

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

UNIT IV TRANSPORT LAYER

CSC 4900 Computer Networks: TCP

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

NT1210 Introduction to Networking. Unit 10

TCP/IP Protocol Suite 1

TCP/IP-2. Transmission control protocol:

Suprakash Datta. Office: CSEB 3043 Phone: ext Course page:

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

Lecture 3: The Transport Layer: UDP and TCP

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

05 Transmission Control Protocol (TCP)

The Transmission Control Protocol (TCP)

Application. Transport. Network. Link. Physical

TCP so far Computer Networking Outline. How Was TCP Able to Evolve

Transport Protocols Reading: Sections 2.5, 5.1, and 5.2

The Transport Layer Congestion control in TCP

Internet and Intranet Protocols and Applications

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

Correcting mistakes. TCP: Overview RFCs: 793, 1122, 1323, 2018, TCP seq. # s and ACKs. GBN in action. TCP segment structure

Transport Protocols Reading: Sections 2.5, 5.1, and 5.2. Goals for Todayʼs Lecture. Role of Transport Layer

II. Principles of Computer Communications Network and Transport Layer

Computer Networks and Data Systems

Transport Layer Marcos Vieira

Reliable Transport I: Concepts and TCP Protocol

ITS323: Introduction to Data Communications

Sequence Number. Acknowledgment Number. Data

Introduction to Protocols

TCP : Fundamentals of Computer Networks Bill Nace

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

NWEN 243. Networked Applications. Layer 4 TCP and UDP

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

CS321: Computer Networks Congestion Control in TCP

CSE 4213: Computer Networks II

CS Lecture 1 Review of Basic Protocols

Lecture 08: The Transport Layer (Part 2) The Transport Layer Protocol (TCP) Dr. Anis Koubaa

Transport Layer. Gursharan Singh Tatla. Upendra Sharma. 1

TCP Congestion Control

TCP Congestion Control

TSIN02 - Internetworking

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

CSC 401 Data and Computer Communications Networks

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

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

Lecture 5. Transport Layer. Transport Layer 1-1

Chapter 3: Transport Layer. Chapter 3 Transport Layer. Chapter 3 outline. Transport services and protocols

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

CSCD 330 Network Programming

CSCI Topics: Internet Programming Fall 2008

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

14-740: Fundamentals of Computer and Telecommunication Networks

Introduction to Networks and the Internet

Chapter 3- parte B outline

Lecture 3 The Transport Control Protocol (TCP) Antonio Cianfrani DIET Department Networking Group netlab.uniroma1.it

xkcd.com End To End Protocols End to End Protocols This section is about Process to Process communications.

EECS 122, Lecture 19. Reliable Delivery. An Example. Improving over Stop & Wait. Picture of Go-back-n/Sliding Window. Send Window Maintenance

CS519: Computer Networks. Lecture 5, Part 1: Mar 3, 2004 Transport: UDP/TCP demux and flow control / sequencing

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

Chapter 5 End-to-End Protocols

Transport Layer TCP / UDP

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

CS457 Transport Protocols. CS 457 Fall 2014

Transcription:

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 control protocol 10 4.7. User datagram protocol 11

Transport Layer CHAPTER 1 The transport layer plays a very important role in the network architecture. It is the one that provides an interface for all the upper layers to use the Internet to communicate with the peer layers at the other end. It is from this layer onwards that true end-to-end communication takes place. In the sense that a transport layer on source A talks to the transport layer on the final destination B. It is not concerned with what happens on the various intermediate nodes that the packets may actually traverse through.

Reliable Delivery Service CHAPTER 2 Positive acknowledgment ( Ack ) Explicit confirmation by receiver o On cell phone, OK o But how do you know you heard correctly? TCP acknowledgments are cumulative ( I ve received everything up through sequence #N ) o With an option for acknowledging individual segments ( SACK ) Negative acknowledgment ( Nack ) Timeout I m missing the following: How might the receiver tell something s missing? Can they always do this? (Only used by TCP in implicit fashion - fast retransmit ) If haven t heard anything from receiver, send again Problem: for how long do you wait? o TCP uses function of estimated RTT Problem: what if no Ack for retransmission? o TCP (and other schemes) employs exponential back off o Double timer up to maximum - tapers off load during congestion A very different approach to reliability: send redundant data Cell phone analogy: Meet me at 3PM - repeat 3PM Forward error correction Recovers from lost data nearly immediately! But: only can cope with a limited degree of loss

And: adds load to the network (interesting tradeoff) TCP Support for Reliable Delivery Sequence numbers Used to detect missing data... and for putting the data back in order Checksum Used to detect corrupted data at the receiver leading the receiver to drop the packet No error signal sent - recovery via normal retransmission Retransmission Sender retransmits lost or corrupted data Timeout based on estimates of round-trip time (RTT) Fast retransmit algorithm for rapid retransmission

Congestion Control CHAPTER 3 Different congestion avoidance mechanisms Explicit congestion notification mechanism This kind of congestion control is used by DECbit, and Frame relay networks. The router monitors its queue length over a period of time; and when the average queue length exceeds a threshold, it identifies that the traffic is moving towards congestion. When the router detects congestion, it sets a bit (called the explicit congestion notification (ECN) bit) in the header of the packets that go through the router. If this bit is set in the packets that are going towards the destination, then it is referred to as forward notification, and it is the responsibility of the destination to inform the source that it has to reduce the rate at which it is sending packets. If this bit is set in the packets going towards the source, it is referred to as backward notification. The source then reduces the traffic it generates. Random Early Detection (RED) This scheme has been designed to indirectly use the TCP s congestion control mechanism for congestion avoidance. There is no explicit congestion notification since it is not provided for directly in the TCP or IP header. Hence, what the router does is this it monitors the queue length to detect congestion. When it finds that it is moving towards congestion, it randomly drops packets.

TCP congestion control and Avoidance Mechanisms. Congestion avoidance mechanisms Sender maintains two windows: one the receiver granted the other Congestion Window at the connection establishment- the congestion window is set to the size of the maximum segment in use on the connection Each burst acknowledged doubles the congestion window Congestion window grow exponentially This is called the Slow Start algorithm Slowstart algorithm initialize: Congwin = 1 for (each segment ACKed) Congwin++ until (loss event OR CongWin > threshold) RTT Host A Host B one segment two segments four segments time

Connection Establishment CHAPTER 4 Connection Establishment and Termination Allow each end to know that the other exists. Negotiation of optional parameters. Triggers allocation of transport entity resources by mutual agreement. Two way handshake connection establishment o Two way handshake A sends a CR, B replies with an ACK Lost CR s are handled by re-transmission Can lead to duplicate CRs Ignore duplicate CRs once connected o Lost or delayed data segments can cause connection problems Segments arriving from old connections Start segment numbers far removed from previous connection Use CR i Need ACK to include i o Three Way Handshake needed. Two way Handshake

Three way Handshake Connection Establishment Three protocol scenarios for establishing a connection using a three-way handshake. CR denotes a CONNECTION REQUEST. a) Normal operation, b) Old CONNECTION REQUEST appearing from nowhere. c) Duplicate CONNECTION REQUEST and duplicate ACK.

Flow Control CHAPTER 5 Adaptive Flow Control: One major function of a reliable transport layer protocol is to provide end-to-end flow control. TCP does this using the sliding window protocol. However, TCP s flow control mechanism differs slightly from the standard sliding window protocol in the sense that the window size of TCP is variable. Each acknowledgement from the receiver specifies the number of additional bytes the receiver is prepared to receive; i.e. it advertises its window size. The sender acts according to the receiver s advertised window size. In response to an increased window advertisement, the sender increases the size of its window and vice-versa. The receiver advertises its available buffer space as the window size. So, when the buffer is full, it advertises a window size of zero. Then, when the application reads the data from the buffer, the buffer starts becoming free, and the window size is increased. The situation is shown in the figure below.

Transmission Control Protocol CHAPTER 6 Specially designed to provide a reliable end to end byte stream over a unreliable network. The inter network differs from a single network in terms of topology and bandwidth delay packet size. TCP adapts to properties of such network. Each machine supporting TCP has TCP entity. IP layer provide no guarantee that the datagrams will be delivered so the TCP has to provide the reliability. TCP point-to-point: one sender, one receiver reliable, in-order byte steam: no message boundaries pipelined: TCP congestion and flow control set window size at the time of connection setup send & receive buffers the buffer size negotiated full duplex data: bi-directional data flow in same connection MSS: maximum segment size connection-oriented: handshaking (exchange of control messages) init s sender, receiver state before data exchange flow controlled: sender will not overwhelm receiver TCP Header

User Datagram Protocol CHAPTER 7 UDP: UDP is a simple transport protocol but it is unreliable as it is connectionless and it does not provide acknowledgement service as well as flow control. Even the error control supported is minimal. As IP is responsible for host- host communication only, Transport protocols are responsible for delivering data between the desired processes within the end hosts. The different processes within a host are identified by unique port numbers that are integers in the range of 0-65535. UDP datagram UDP formatted the messages received from higher layers as packets called as datagrams by adding the required header fields, the structure of which is given in the following figure 3.1.The UDP datagram is encapsulated in an IP datagram and is transported across the network. UDP Design Source port Total length Destination port Checksum