Transport Layer3-1 Chapter 3 Transport Layer Computer Networking: A Top Down Approach Featuring the Internet, 4th edition. Jim Kurose, Keith Ross Chapter.

Slides:



Advertisements
Similar presentations
Transport Layer3-1 Transport Overview and UDP. Transport Layer3-2 Goals r Understand transport services m Multiplexing and Demultiplexing m Reliable data.
Advertisements

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.
24-1 Chapter 24. Congestion Control and Quality of Service (part 1) 23.1 Data Traffic 23.2 Congestion 23.3 Congestion Control 23.4 Two Examples.
CSE551: Computer Network Review r Network Layers r TCP/UDP r IP.
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 A.
EEC-484/584 Computer Networks Lecture 12 Wenbing Zhao (Part of the slides are based on Drs. Kurose & Ross ’ s slides for their Computer.
UNIT 07 Process – to – Process Delivery: UDP,TCP and SCTP
EEC-484/584 Computer Networks Lecture 12 Wenbing Zhao (Part of the slides are based on Drs. Kurose & Ross ’ s slides for their Computer.
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 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
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 Outline r TCP m Congestion control m Flow control.
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
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.
8-1 Transport Layer Our goals: r understand principles behind transport layer services: m multiplexing/demultipl exing m reliable data transfer m flow.
EEC-484/584 Computer Networks Lecture 6 Wenbing Zhao (Part of the slides are based on Drs. Kurose & Ross ’ s slides for their Computer.
Transport Layer Transport Layer. Transport Layer 3-2 Chapter 3 Transport Layer Computer Networking: A Top Down Approach Featuring the Internet,
IP-UDP-RTP Computer Networking (In Chap 3, 4, 7) 건국대학교 인터넷미디어공학부 임 창 훈.
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.
CECS 474 Computer Network Interoperability Notes for Douglas E. Comer, Computer Networks and Internets (5 th Edition) Tracy Bradley Maples, Ph.D. Computer.
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.
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.
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 Layer 3-1 Chapter 3 Transport Layer Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Addison-Wesley March 2012 A.
Transport Layer3-1 Chapter 3 Transport Layer Computer Networking: A Top Down Approach Featuring the Internet, 2 nd edition. Jim Kurose, Keith Ross Addison-Wesley,
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!
23.1 Chapter 23 Process-to-Process Delivery: UDP, TCP, and SCTP Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
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 Transport Layer Computer Networking: A Top Down Approach 5 th edition. Jim Kurose, Keith Ross Addison-Wesley, April 2009.
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.
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,
Computer Networks23-1 PART 5 Transport Layer. Computer Networks23-2 Position of Transport Layer Responsible for the delivery of a message from one process.
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.
1 Computer Communication & Networks Lecture 23 & 24 Transport Layer: UDP and TCP Waleed Ejaz
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.
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:
CSEN 404 Transport Layer I Amr El Mougy Lamia Al Badrawy.
Chapter 3 Transport Layer
Introduction to Networks
Chapter 3 Transport Layer
Introduction to Networks
Process-to-Process Delivery, TCP and UDP protocols
PART 5 Transport Layer Computer Networks.
CS 1652 Jack Lange University of Pittsburgh
Introduction to Networks
Transport Layer Our goals:
Computer Networks Protocols
Chapter 3 Transport Layer
Transport Layer Our goals:
Presentation transcript:

Transport Layer3-1 Chapter 3 Transport Layer Computer Networking: A Top Down Approach Featuring the Internet, 4th edition. Jim Kurose, Keith Ross Chapter 23 (mainly read this) Transport Layer

Transport Layer3-2 Transport Layer Our goals: r Review transport layer services: m reliable data transfer m flow control m multiplexing/demult iplexing r learn about transport layer protocols in the Internet: m UDP: connectionless transport m TCP: connection- oriented transport TCP congestion control

Transport Layer3-3 Transport services and protocols r provide logical communication between app processes running on different hosts r more than one transport protocol available to applications m TCP and UDP 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 Layer3-4 Transport vs. network layer r network layer: logical communication between hosts r transport layer: logical communication between processes m relies on, enhances, network layer services Household analogy: 12 kids sending letters to 12 kids r processes = kids r app messages = letters in envelopes r hosts = houses r transport protocol = Ann and Bill r network-layer protocol = postal service

Transport Layer3-5 Internet transport-layer protocols r reliable, in-order delivery (TCP) m error & flow control m connection setup m congestion control r unreliable, unordered delivery: UDP m no-frills extension of “best-effort” IP r services not available: m delay guarantees m bandwidth guarantees 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 Layer3-6 Addressing r MAC address- physical address r IP Address- host address r Port no- process/application identifier Transport Layer

3-7 Socket addrees IP address + Port number

Transport Layer3-8 Socket address

Transport Layer3-9 outline r Transport-layer services r Multiplexing and demultiplexing r Connectionless transport: UDP r Connection-oriented transport: TCP m segment structure m reliable data transfer m flow control m connection management r Principles of congestion control

Transport Layer3-10 UDP: User Datagram Protocol [RFC 768] r “no frills,” “bare bones” Internet transport protocol r “best effort” service, UDP segments may be: m lost m delivered out of order to app r connectionless: m no handshaking between UDP sender, receiver m each UDP segment handled independently of others

Transport Layer3-11 UDP Datagram format r small segment header r no connection establishment (which can add delay) r simple: no connection state at sender, receiver r no congestion control: UDP can blast away as fast as desired

Transport Layer3-12 UDP: more r often used for streaming multimedia apps m loss tolerant m rate sensitive r other UDP uses m DNS m SNMP r reliable transfer over UDP: add reliability at application layer m application-specific error recovery!

Transport Layer3-13 Outline r Transport-layer services r Multiplexing and demultiplexing r Connectionless transport: UDP r Connection-oriented transport: TCP m segment structure m reliable data transfer m flow control m connection management r Principles of congestion control

Transport Layer3-14Transport Layer 3-14 TCP: Overview RFCs: 793, 1122, 1323, 2018, 2581 r full duplex data: m bi-directional data flow in same connection r connection-oriented: m handshaking (exchange of control msgs) init’s sender, receiver state before data exchange r flow controlled: m sender will not overwhelm receiver r point-to-point: m one sender, one receiver r reliable, in-order byte steam r pipelined: m TCP congestion and flow control set window size r send & receive buffers

Transport Layer3-15 TCP Segment format

TCP Sequence Numbers: r The bytes of data being transferred in each connection are numbered by TCP. r Number of the first data byte contained in that segment. r The numbering can start with a randomly generated number. Transport Layer3-16

Transport Layer3-17 TCP seq. #’s example:

TCP Acknowledgement Number: r The number of the next byte a party expects to receive. r The acknowledgment number is cumulative. Transport Layer3-18

Transport Layer3-19 TCP Control Fields:

Transport Layer3-20 TCP Connection Establishment: Three Way Handshake

Transport Layer3-21 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. TCP Notes:

Transport Layer3-22 TCP Data Transfer:

TCP Window Size r Purpose: To control the flow of data so that the destination does not become overwhelmed with data. r The amount of data in bytes that a send can send without waiting for an acknowledgement. r TCP sliding windows are byte-oriented. Transport Layer3-23

TCP Window Size r Window Size 3000 bytes means: r 3000 bytes can be sent (if ready) without any acknowledgement from receiver. r This 3000 bytes can be in one segment or multiple segments. Transport Layer3-24

TCP Window – Sender Window 3-25 r Sender Window Size is dictated by the receiver window. r Usually sender window size is determined by the available buffer space in the receiver (rwnd).

3-26 TCP Window – Receiver Window

Normal Flow Control Transport Layer3-27

Transport Layer3-28 What is the value of the receiver window (rwnd) for host A if the receiver, host B, has a buffer size of 5000 bytes and 1000 bytes of received and unprocessed data? Solution The value of rwnd = 5000 − 1000 = Host B can receive only 4000 bytes of data before overflowing its buffer. Host B advertises this value in its next segment to A. TCP Receiver Window:

Transport Layer3-29 TCP Window r Today, TCP protocols include that the sender’s window size is not only determined by the receiver but also by congestion in the network. r Windows Size of TCP m Minimum of rwnd and cwnd m Where rwnd is the receiver advertised window size m And cwnd is the networks congestion window size Actual window size = minimum of (rwnd,cwnd)

Transport Layer3-30 What is the size of the window for host A if the value of rwnd is 3000 bytes and the value of cwnd is 3500 bytes? Solution The size of the window is the smaller of rwnd and cwnd, which is 3000 bytes. TCP Window Size:

Transport Layer3-31 cwnd = 20 bytes rwnd = 09 bytes TCP Window Size:

Transport Layer3-32 ACK segments do not consume sequence numbers and are not acknowledged. TCP Notes:

Transport Layer3-33 Data may arrive out of order and be temporarily stored by the receiving TCP. TCP guarantees that no out-of-order segment is delivered to the process. The receiver TCP delivers only ordered data to the process. TCP Notes:

Transport Layer3-34 TCP Normal Operation:

Transport Layer3-35 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. TCP Retransmissions:

Transport Layer3-36 Lost Segment:

Transport Layer3-37 Fast Transmission:

Transport Layer3-38 TCP Termination- 3 Way:

Transport Layer3-39 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. TCP Notes:

Transport Layer3-40 TCP Termination- Half Close:

Transport Layer3-41 TCP Congestion Control

Transport Layer3-42 Congestion Control Vs Flow Control Congestion control try to make sure networks can carry o ff ered tra ffi c, a global issue involving all the hosts and routers. It can be open-loop based or involving feedback Flow control is related to point-to-point tra ffi c control between given sender and receiver. it always involves direct feedback from receiver to sender

Transport Layer3-43 Congestion occurs the load on the network > the capacity of the network Congestion: the number of packets sent to the networkthe number of packets a network can handle.

Transport Layer3-44 Queues in a router If packet arrival rate > the packet processing rate input queues becomes longer and longer If packet departure rate < the packet processing rate output queues becomes longer and longer

Transport Layer3-45 Network Performance Delay has a negative effect on the load consequently the congestion. When a packet is delayed, no ack for source, so source retransmits, making the delay and congestion worse.

Transport Layer3-46 Network Performance Why does the throughput sharply decline after the load reaches capacity instead of remaining constant?

Transport Layer3-47 Congestion Control What is Congestion Control?  mechanisms and techniques to control the congestion  and keep the load below the capacity. Two categories of Congestion Control  Open Loop (Prevention)  Closed Loop ( Removal)

Transport Layer3-48 Congestion Control Categories

Transport Layer3-49 Open Loop Congestion Control

r Involves deciding: m When to accept traffic m When to discard packets m Which packets to discard m Making scheduling decisions etc r Decisions taken in regardless of the current state of network. Transport Layer3-50 Open Loop Congestion Control

Policies at different layers: Transport Layer3-51

Policy concerned with:  How fast a sender times out  What it transmit upon timeout Go-Back N ARQ window vs Selective Repeat ARQ. Transport Layer3-52 Retransmission /Window Policy

Acknowledgement Policy Transport Layer3-53 Acknowledging every packet, ack packets generate extra traffic. Lesser acks (waiting to do piggybacking) may create  Extra timeouts  Retransmissions A tight flow control scheme, a balance will fight congestion.

Transport Layer3-54 Open Loop Congestion Control Discarding Policy:  A good policy by routers may prevent congestion and at the same time may not harm the integrity of the transmission. Admission Policy:  Check resource requirement before sending packet.  Allow no new virtual circuits.

Transport Layer3-55 Closed Loop

r Approach has three parts: m Monitor the system to detect congestion m Pass this information to where action can be taken m Adjust system operation to correct the problem m Detect, Feedback and Correct Transport Layer3-56

Transport Layer3-57 Backpressure r Congestion node stops receiving data from upstream nodes. r Upstream nodes may get congested, they in turn reject data from their upstream nodes. r Used in Virtual Circuits.

Transport Layer3-58 Choke packet r From a router to source directly. r Immediate nodes are not warned. r Example ICMP-source quench message. Immediate routers take no action.

Transport Layer3-59 Implicit Signaling r No communication between the congested node or nodes and the source. r Source guesses congestion by m No acknowledgement for sent packets m Delayed acknowledgements r Then source slows down.

Transport Layer3-60 Explicit Signaling r The node experiencing congestion sends signal to the source. r Not a separate packet like the “choke”packet. r Signal included in the data packet itself. r Can be m Backward Signaling-Source warned, slows data m Forward Signaling-Receiver warned, slows acks.

Transport Layer3-61 Congestion Control in TCP

Transport Layer3-62 TCP congestion control r TCP does congestion control in three phases: m Slow Start m Congestion Avoidance m Congestion Detection

Transport Layer3-63 Slow Start r cwnd starts with one maximum segment size(MSS). r MSS determined during connection establishment. r MSS increases exponentially after each acknowledgement.

Transport Layer3-64 Slow Start- Exponential Increase

Transport Layer3-65 MSS (max. segment size) Slow Start- Exponential Increase

Transport Layer3-66 In the slow-start algorithm, the size of the congestion window increases exponentially until it reaches a threshold. r Assumptions: r rwnd>cwnd, so sender window=cwnd r Each segment 1 byte r Each segment is acknowledged individually*. Slow Start- Exponential Increase

Transport Layer3-67 Sender keeps track of a variable named ssthresh. When window reaches ssthresh the next phase starts. Most implementation ssthresh is 65,535 bytes. Slow Start

Transport Layer3-68 In the congestion avoidance algorithm, the size of the congestion window increases additively until congestion is detected. Congestion Avoidance:

Transport Layer3-69 Congestion Avoidance:

Transport Layer3-70 Congestion Avoidance:

Transport Layer3-71 An implementation reacts to congestion detection in one of the following ways: ❏ If detection is by time-out, a new slow start phase starts. ❏ If detection is by three ACKs, a new congestion avoidance phase starts. Congestion Detection:

Transport Layer3-72 TCP Congestion Policy:

Transport Layer3-73 TCP Congestion Example: