DATA COMMUNICATOIN NETWORKING

Similar documents
Lecture 15: Congestion Control. CSE 123: Computer Networks Stefan Savage

Outline. TCP connection setup/data transfer Computer Networking. TCP Reliability. Congestion sources and collapse. Congestion control basics

First Midterm for ECE374 03/09/12 Solution!!

Transport Layer Protocols

TCP in Wireless Mobile Networks

TCP over Wireless Networks

TCP over Multi-hop Wireless Networks * Overview of Transmission Control Protocol / Internet Protocol (TCP/IP) Internet Protocol (IP)

Chapter 6 Congestion Control and Resource Allocation

Router-assisted congestion control. Lecture 8 CS 653, Fall 2010

Data Networks Summer 2007 Homework #3

Transport Layer and Data Center TCP

Improving the Performance of TCP Using Window Adjustment Procedure and Bandwidth Estimation

Final for ECE374 05/06/13 Solution!!

A Survey on Congestion Control Mechanisms for Performance Improvement of TCP

First Midterm for ECE374 03/24/11 Solution!!

CSE 473 Introduction to Computer Networks. Exam 2 Solutions. Your name: 10/31/2013

Congestions and Control Mechanisms n Wired and Wireless Networks

Application Level Congestion Control Enhancements in High BDP Networks. Anupama Sundaresan

TCP/IP Over Lossy Links - TCP SACK without Congestion Control

TCP Westwood for Wireless

TCP Adaptation for MPI on Long-and-Fat Networks

Prefix AggregaNon. Company X and Company Y connect to the same ISP, and they are assigned the prefixes:

Visualizations and Correlations in Troubleshooting

15-441: Computer Networks Homework 2 Solution

2 TCP-like Design. Answer

Optimization of Communication Systems Lecture 6: Internet TCP Congestion Control

Low-rate TCP-targeted Denial of Service Attack Defense

Parallel TCP Data Transfers: A Practical Model and its Application

Transport layer issues in ad hoc wireless networks Dmitrij Lagutin,

Analytic Models for the Latency and Steady-State Throughput of TCP Tahoe, Reno and SACK

Transport layer protocols for ad hoc networks

Simulation-Based Comparisons of Solutions for TCP Packet Reordering in Wireless Network

Lecture Objectives. Lecture 07 Mobile Networks: TCP in Wireless Networks. Agenda. TCP Flow Control. Flow Control Can Limit Throughput (1)

CSE331: Introduction to Networks and Security. Lecture 9 Fall 2006

TCP and Wireless Networks Classical Approaches Optimizations TCP for 2.5G/3G Systems. Lehrstuhl für Informatik 4 Kommunikation und verteilte Systeme

Midterm Exam CMPSCI 453: Computer Networks Fall 2011 Prof. Jim Kurose

This sequence diagram was generated with EventStudio System Designer (

SJBIT, Bangalore, KARNATAKA

1. The subnet must prevent additional packets from entering the congested region until those already present can be processed.

Active Queue Management (AQM) based Internet Congestion Control

Computer Networks - CS132/EECS148 - Spring

TCP for Wireless Networks

Chaoyang University of Technology, Taiwan, ROC. 2 Department of Computer Science and Information Engineering

CS268 Exam Solutions. 1) End-to-End (20 pts)

Protagonist International Journal of Management And Technology (PIJMT) Online ISSN Vol 2 No 3 (May-2015) Active Queue Management

Congestion Control Review Computer Networking. Resource Management Approaches. Traffic and Resource Management. What is congestion control?

Advanced Computer Networks Project 2: File Transfer Application

Mobile Communications Chapter 9: Mobile Transport Layer

Packet Queueing Delay

High Speed Internet Access Using Satellite-Based DVB Networks

COMP 3331/9331: Computer Networks and Applications. Lab Exercise 3: TCP and UDP (Solutions)

TCP/IP Optimization for Wide Area Storage Networks. Dr. Joseph L White Juniper Networks

Research of TCP ssthresh Dynamical Adjustment Algorithm Based on Available Bandwidth in Mixed Networks

A packet-reordering solution to wireless losses in transmission control protocol

TCP in Wireless Networks

Per-Flow Queuing Allot's Approach to Bandwidth Management

First Midterm for ECE374 02/25/15 Solution!!

La couche transport dans l'internet (la suite TCP/IP)

Linux TCP Implementation Issues in High-Speed Networks

A Study on TCP Performance over Mobile Ad Hoc Networks

An Improved TCP Congestion Control Algorithm for Wireless Networks

Digital Audio and Video Data

Applying Router-Assisted Congestion Control to Wireless Networks: Challenges and Solutions 1

International Journal of Scientific & Engineering Research, Volume 6, Issue 7, July ISSN

Multipath TCP under Massive Packet Reordering

Internet structure: network of networks

17: Queue Management. Queuing. Mark Handley

Names & Addresses. Names & Addresses. Hop-by-Hop Packet Forwarding. Longest-Prefix-Match Forwarding. Longest-Prefix-Match Forwarding

Applications. Network Application Performance Analysis. Laboratory. Objective. Overview

TCP over High Speed Variable Capacity Links: A Simulation Study for Bandwidth Allocation

Networking part 3: the transport layer

B-2 Analyzing TCP/IP Networks with Wireshark. Ray Tompkins Founder of Gearbit

High-Speed TCP Performance Characterization under Various Operating Systems

Performance evaluation of TCP connections in ideal and non-ideal network environments

TCP PACKET CONTROL FOR WIRELESS NETWORKS

CS551 End-to-End Internet Packet Dynamics [Paxson99b]

COMP 361 Computer Communications Networks. Fall Semester Midterm Examination

An enhanced TCP mechanism Fast-TCP in IP networks with wireless links

SELECTIVE-TCP FOR WIRED/WIRELESS NETWORKS

Higher Layer Protocols: UDP, TCP, ATM, MPLS

Traffic Mangement in ATM Networks Dollar Day Sale

TCP based Denial-of-Service Attacks to Edge Network: Analysis and Detection

A Survey: High Speed TCP Variants in Wireless Networks

TCP Flow Control. TCP Receiver Window. Sliding Window. Computer Networks. Lecture 30: Flow Control, Reliable Delivery

Computer Networks. Chapter 5 Transport Protocols

AN IMPROVED SNOOP FOR TCP RENO AND TCP SACK IN WIRED-CUM- WIRELESS NETWORKS

Analysis and Detection of a Denial-of-Service Attack Scenario generated by TCP Receivers to Edge Network

Network Layer: Network Layer and IP Protocol

TCP Trunking for Bandwidth Management of Aggregate Traffic

Network Friendliness of Mobility Management Protocols

Linux 2.4 Implementation of Westwood+ TCP with rate-halving: A Performance Evaluation over the Internet

Homework 2 assignment for ECE374 Posted: 02/21/14 Due: 02/28/14

Delay-Based Early Congestion Detection and Adaptation in TCP: Impact on web performance

[Prof. Rupesh G Vaishnav] Page 1

TCP/IP Performance with Random Loss and Bidirectional Congestion

Multipath TCP in Practice (Work in Progress) Mark Handley Damon Wischik Costin Raiciu Alan Ford

Chapter 5. Transport layer protocols

TTC New Reno - Consistent Control of Packet Traffic

TCP, Active Queue Management and QoS

Lecture 8 Performance Measurements and Metrics. Performance Metrics. Outline. Performance Metrics. Performance Metrics Performance Measurements

Transcription:

DATA COMMUNICATOIN NETWORKING Instructor: Ouldooz Baghban Karimi Course Book: Computer Networking, A Top-Down Approach By: Kurose, Ross Introduction

Course Overview Basics of Computer Networks Internet & Protocol Stack Application Layer Transport Layer Network Layer Data Link Layer Advanced Topics Case Studies of Computer Networks Internet Applications Network Management Network Security Introduction 2

Congestion Too many sources sending too much data too fast for network to handle Different from flow control Manifestations Lost packets (buffer overflow at routers) Long delays (queuing in router buffers) Introduction 3

Causes & Costs of Congestion Scenario (1) Two senders, two receivers One router, infinite buffers Output link capacity: R No retransmission original data: l in Host A unlimited shared output link buffers throughput: l out Host B R/2 l out delay l in R/2 l in R/2 Maximum per-connection throughput: R/2 Large delays as arrival rate, l in, approaches capacity Introduction 4

Causes & Costs of Congestion Scenario (2) One router, finite buffers Sender retransmission of timed-out packet Application-layer input = application-layer output: l in = l out Transport-layer input includes retransmissions : l in l in l in : original data l' in : original data, plus retransmitted data l out Host A Host B finite shared output link buffers Introduction 5

Causes & Costs of Congestion Idealization: Perfect Knowledge Sender sends only when router buffers available R/2 l out l in R/2 copy l in : original data l' in : original data, plus retransmitted data l out Host A free buffer space! Host B finite shared output link buffers Introduction 6

Causes & Costs of Congestion Idealization: Known loss packets can be lost, dropped at router due to full buffers Sender only resends if packet known to be lost copy l in : original data l' in : original data, plus retransmitted data l out Host A no buffer space! Host B Introduction 7

Causes & Costs of Congestion Idealization: Known loss packets can be lost, dropped at router due to full buffers Sender only resends if packet known to be lost R/2 l out when sending at R/2, some packets are retransmissions but asymptotic goodput is still R/2 (why?) l in : original data l' in : original data, plus retransmitted data l in R/2 l out Host A free buffer space! Host B Introduction 8

Causes & Costs of Congestion Idealization: Known loss packets can be lost, dropped at router due to full buffers Sender only resends if packet known to be lost R/2 l out when sending at R/2, some packets are retransmissions but asymptotic goodput is still R/2 (why?) l in : original data l' in : original data, plus retransmitted data l in R/2 l out Host A free buffer space! Host B Introduction 9

Causes & Costs of Congestion Realistic: duplicates R/2 Packets can be lost, dropped at router due to full buffers Sender times out prematurely, sending two copies, both of which are delivered l out when sending at R/2, some packets are retransmissions including duplicated that are delivered! timeout l in l' in l in R/2 l out Host A free buffer space! Host B Introduction 10

Causes & Costs of Congestion Realistic: duplicates Packets can be lost, dropped at router due to full buffers Sender times out prematurely, sending two copies, both of which are delivered R/2 l out when sending at R/2, some packets are retransmissions including duplicated that are delivered! Costs of congestion More work (retransmit) for given goodput Unneeded retransmissions: link carries multiple copies of packet Decreasing goodput Introduction 11

Causes & Costs of Congestion Scenario (3) Four senders Multi-hop paths Timeout/retransmit Host A Q: what happens as l in and l in increase? A: as red l in increases, all arriving blue packets at upper queue are dropped, blue throughput 0 l in : original data l' in : original data, plus retransmitted data finite shared output link buffers l out Host B Host D Host C Introduction 12

Causes & Costs of Congestion C/2 l out l in C/2 Another cost of congestion when packet dropped, any upstream transmission capacity used for that packet was wasted! Introduction 13

Approaches Towards Congestion Control Two broad approaches towards congestion control: End-end congestion control No explicit feedback from network Network-assisted congestion control Routers provide feedback to end systems Congestion inferred from endsystem observed loss, delay Approach taken by TCP Single bit indicating congestion (SNA, DECbit, TCP/IP ECN, ATM) Explicit rate for sender to send at Introduction 14

Case Study: ATM ABR Congestion Control ABR: available bit rate elastic service If sender s path underloaded : Sender should use available bandwidth If sender s path congested: Sender throttled to minimum guaranteed rate RM (resource management) cells Sent by sender, interspersed with data cells Bits in RM cell set by switches ( network-assisted ) NI bit: no increase in rate (mild congestion) CI bit: congestion indication RM cells returned to sender by receiver, with bits intact Introduction 15

Case Study: ATM ABR Congestion Control RM cell data cell Two-byte ER (explicit rate) field in RM cell Congested switch may lower ER value in cell Senders send rate thus max supportable rate on path EFCI bit in data cells: set to 1 in congested switch If data cell preceding RM cell has EFCI set, receiver sets CI bit in returned RM cell Introduction 16

cwnd: TCP sender congestion window size TCP Congestion Control Additive Increase Multiplicative Decrease Approach: sender increases transmission rate (window size), probing for usable bandwidth, until loss occurs Additive increase: increase cwnd by 1 MSS every RTT until loss detected Multiplicative decrease: cut cwnd in half after loss additively increase window size. until loss occurs (then cut window in half) AIMD saw tooth behavior: probing for bandwidth time Introduction 17

TCP Congestion Control sender sequence number space cwnd TCP sending rate last byte ACKed sent, notyet ACKed ( inflight ) last byte sent Sender limits transmission: Roughly: send cwnd bytes, wait RTT for ACKS, then send more bytes LastByteSent- LastByteAcked < cwnd rate ~ cwnd RTT bytes/sec cwnd is dynamic, function of perceived network congestion Introduction 18

RTT TCP Slow Start Host A Host B When connection begins, increase rate exponentially until first loss event: Initially cwnd = 1 MSS Double cwnd every RTT Done by incrementing cwnd for every ACK received Summary: initial rate is slow but ramps up exponentially fast time Introduction 19

TCP: Detecting & Reacting to Loss Loss indicated by timeout cwnd set to 1 MSS; Window then grows exponentially (as in slow start) to threshold, then grows linearly Loss indicated by 3 duplicate ACKs: TCP RENO dup ACKs indicate network capable of delivering some segments cwnd is cut in half window then grows linearly TCP Tahoe always sets cwnd to 1 (timeout or 3 duplicate ACKs) Introduction 20

TCP: Switching from Slow Start to CA Q: when should the exponential increase switch to linear? A: when cwnd gets to 1/2 of its value before timeout. Implementation variable ssthresh on loss event, ssthresh is set to 1/2 of cwnd just before loss event Introduction 21

TCP Congestion Control L cwnd = 1 MSS ssthresh = 64 KB dupackcount = 0 timeout ssthresh = cwnd/2 cwnd = 1 MSS dupackcount = 0 retransmit missing segment dupackcount == 3 ssthresh= cwnd/2 cwnd = ssthresh + 3 retransmit missing segment duplicate ACK dupackcount++ slow start New ACK! new ACK cwnd = cwnd+mss dupackcount = 0 transmit new segment(s), as allowed cwnd > ssthresh L timeout ssthresh = cwnd/2 cwnd = 1 MSS dupackcount = 0 retransmit missing segment timeout ssthresh = cwnd/2 cwnd = 1 dupackcount = 0 retransmit missing segment fast recovery duplicate ACK new ACK cwnd = cwnd + MSS (MSS/cwnd) dupackcount = 0 transmit new segment(s), as allowed cwnd = ssthresh dupackcount = 0 cwnd = cwnd + MSS congestion avoidance New ACK! New ACK Introduction transmit new segment(s), as allowed 22. New ACK! duplicate ACK dupackcount++ dupackcount == 3 ssthresh= cwnd/2 cwnd = ssthresh + 3 retransmit missing segment

TCP Throughput Average TCP throughput as function of window size, RTT? Ignore slow start, assume always data to send Window size (measured in bytes) where loss occurs Average window size (number of in-flight bytes) is ¾ W Average throughput is 3/4W per RTT W W/2 average TCP throughput = 3 W 4 RTT bytes/sec Introduction 23

TCP Throughput Example 1500 byte segments, 100ms RTT, want 10 Gbps throughput Requires W = 83,333 in-flight segments Throughput in terms of segment loss probability, L [Mathis 1997]: TCP throughput = 1.22. MSS RTT L to achieve 10 Gbps throughput, need a loss rate of L = 2 10-10 a very small loss rate! New versions of TCP for high-speed Introduction 24

TCP Fairness Fairness goal if K TCP sessions share same bottleneck link of bandwidth R, each should have average rate of R/K TCP connection 1 TCP connection 2 bottleneck router capacity R Introduction 25

Why is TCP fair? Two competing sessions: Additive increase gives slope of 1, as throughout increases Multiplicative decrease decreases throughput proportionally R equal bandwidth share loss: decrease window by factor of 2 congestion avoidance: additive increase loss: decrease window by factor of 2 congestion avoidance: additive increase Connection 1 throughput Introduction 26 R

Fairness Fairness and UDP Fairness, parallel TCP connections Multimedia apps often do not use TCP Do not want rate throttled by congestion control Application can open multiple parallel connections between two hosts Web browsers do this Instead use UDP: Send audio/video at constant rate, tolerate packet loss e.g., link of rate R with 9 existing connections: New application asks for 1 TCP, gets rate R/10 New application asks for 11 TCPs, gets R/2 Introduction 27