Network Layer Enhancements

Similar documents
Improving QOS in IP Networks. Principles for QOS Guarantees

Topic 4b: QoS Principles. Chapter 9 Multimedia Networking. Computer Networking: A Top Down Approach

Master Course Computer Networks IN2097

Master Course Computer Networks IN2097

Real-Time Protocol (RTP)

Quality of Service (QoS)

Mohammad Hossein Manshaei 1393

of-service Support on the Internet

The Diffie-Hellman Key Exchange

Mul$media Networking. #10 QoS Semester Ganjil 2012 PTIIK Universitas Brawijaya

Multimedia networking: outline

Router Design: Table Lookups and Packet Scheduling EECS 122: Lecture 13

Internet Services & Protocols. Quality of Service Architecture

Master Course Computer Networks IN2097

Master Course Computer Networks IN2097

Real-Time Control Protocol (RTCP)

Lecture 7. Network Layer. Network Layer 1-1

CSC 4900 Computer Networks: Network Layer

Common network/protocol functions

Telematics 2. Chapter 3 Quality of Service in the Internet. (Acknowledgement: These slides have been compiled from Kurose & Ross, and other sources)

Multiplexing. Common network/protocol functions. Multiplexing: Sharing resource(s) among users of the resource.

Multimedia networking: outline

Key Network-Layer Functions

Chapter 4 Network Layer

CSE 3214: Computer Network Protocols and Applications Network Layer

Network Support for Multimedia

Unit 2 Packet Switching Networks - II

Week 7: Traffic Models and QoS

Advanced Computer Networks

Computer Networking. Queue Management and Quality of Service (QOS)

Quality of Service (QoS)

Topic 4a Router Operation and Scheduling. Ch4: Network Layer: The Data Plane. Computer Networking: A Top Down Approach

Telematics 2 & Performance Evaluation

Lecture Outline. Bag of Tricks

QoS Guarantees. Motivation. . link-level level scheduling. Certain applications require minimum level of network performance: Ch 6 in Ross/Kurose

CSCD 433/533 Advanced Networks Spring Lecture 22 Quality of Service

CSC 401 Data and Computer Communications Networks

Computer Networks. Instructor: Niklas Carlsson

Priority Traffic CSCD 433/533. Advanced Networks Spring Lecture 21 Congestion Control and Queuing Strategies

Queuing. Congestion Control and Resource Allocation. Resource Allocation Evaluation Criteria. Resource allocation Drop disciplines Queuing disciplines

CMSC 332 Computer Networks Network Layer

Master Course Computer Networks IN2097

Generic Architecture. EECS 122: Introduction to Computer Networks Switch and Router Architectures. Shared Memory (1 st Generation) Today s Lecture

Part1: Lecture 4 QoS

Lecture 24: Scheduling and QoS

Last time! Overview! 14/04/15. Part1: Lecture 4! QoS! Router architectures! How to improve TCP? SYN attacks SCTP. SIP and H.

Chapter 4. Computer Networking: A Top Down Approach 5 th edition. Jim Kurose, Keith Ross Addison-Wesley, sl April 2009.

EECS 122: Introduction to Computer Networks Switch and Router Architectures. Today s Lecture

EPL606. Quality of Service and Traffic Classification

Packet Scheduling and QoS

Quality of Service. Qos Mechanisms. EECS 122: Lecture 15

Today. March 7, 2006 EECS122 Lecture 15 (AKP) 4. D(t) Scheduling Discipline. March 7, 2006 EECS122 Lecture 15 (AKP) 5

Data Communication & Networks G Session 7 - Main Theme Networks: Part I Circuit Switching, Packet Switching, The Network Layer

Lecture 4 Wide Area Networks - Congestion in Data Networks

Episode 5. Scheduling and Traffic Management

Lecture 16: Network Layer Overview, Internet Protocol

Kommunikationssysteme [KS]

Overview Computer Networking What is QoS? Queuing discipline and scheduling. Traffic Enforcement. Integrated services

048866: Packet Switch Architectures

Routers: Forwarding EECS 122: Lecture 13

Network Model for Delay-Sensitive Traffic

What Is Congestion? Computer Networks. Ideal Network Utilization. Interaction of Queues

TELE Switching Systems and Architecture. Assignment Week 10 Lecture Summary - Traffic Management (including scheduling)

different problems from other networks ITU-T specified restricted initial set Limited number of overhead bits ATM forum Traffic Management

Chapter 4 Network Layer: The Data Plane

Resource Control and Reservation

RSVP 1. Resource Control and Reservation

Multicast and Quality of Service. Internet Technologies and Applications

The Network Layer and Routers

Congestion in Data Networks. Congestion in Data Networks

Quality of Service II

Resource allocation in networks. Resource Allocation in Networks. Resource allocation

QUALITY of SERVICE. Introduction

Routers: Forwarding EECS 122: Lecture 13

Lecture 21. Reminders: Homework 6 due today, Programming Project 4 due on Thursday Questions? Current event: BGP router glitch on Nov.

TDDD82 Secure Mobile Systems Lecture 6: Quality of Service

Wide area networks: packet switching and congestion

fair-queue aggregate-limit

Congestion Control and Resource Allocation

Quality of Service in the Internet

CSE 123b Communications Software

Lecture 13. Quality of Service II CM0256

BROADBAND AND HIGH SPEED NETWORKS

Advanced Lab in Computer Communications Meeting 6 QoS. Instructor: Tom Mahler

Quality of Service (QoS)

Network layer overview

Announcements. Quality of Service (QoS) Goals of Today s Lecture. Scheduling. Link Scheduling: FIFO. Link Scheduling: Strict Priority

Chapter 6: Congestion Control and Resource Allocation

Routing in packet-switching networks

Defining QoS for Multiple Policy Levels

ATM Quality of Service (QoS)

Basics (cont.) Characteristics of data communication technologies OSI-Model

Quality of Service in the Internet. QoS Parameters. Keeping the QoS. Leaky Bucket Algorithm

COMP/ELEC 429/556 Introduction to Computer Networks

Quality of Service in the Internet

Quality of Service Commands policy-map. This command has no default behavior or values.

CS 457 Multimedia Applications. Fall 2014

This Lecture. BUS Computer Facilities Network Management. Switching Network. Simple Switching Network

Fairness, Queue Management, and QoS

Sharing Bandwidth Fairly During Congestion

Transcription:

Network Layer Enhancements EECS 122: Lecture 14 Department of Electrical Engineering and Computer Sciences University of California Berkeley Today We have studied the network layer mechanisms that enable best effort service Today s focus: How to make best effort better! How are virtual circuits established? Why do they help in improving performance? What does it mean to treat the packets of a network fairly Max Min Fairness What network layer mechanisms improve performance? Scheduling Policing March 2, 2006 EECS122 Lecture 14 (AKP) 2 1

Network Service Models Q: What service model for channel transporting datagrams from sender to rcvr? Example services for individual datagrams: Guaranteed delivery Guaranteed delivery with less than 40 msec delay Example services for a flow of datagrams: In-order datagram delivery Guaranteed minimum bandwidth to flow Jitter Control: Restrictions on changes in inter-packet spacing Need Virtual Circuits to Provide Flow-Based Services March 2, 2006 EECS122 Lecture 14 (AKP) 3 Network layer service models: Network Architecture Service Model Bandwidth Guarantees? Loss Order Timing Congestion feedback Internet ATM ATM ATM ATM best effort CBR VBR ABR UBR ne constant rate guaranteed rate guaranteed minimum ne yes yes yes yes yes yes yes yes (inferred via loss) congestion congestion yes March 2, 2006 EECS122 Lecture 14 (AKP) 4 2

Virtual circuits: signaling protocols used to setup, maintain teardown VC used in ATM, frame-relay, X.25 t used in today s Internet application transport network data link physical 5. Data flow begins 6. Receive data 4. Call connected 3. Accept call 1. Initiate call 2. incoming call application transport network data link physical March 2, 2006 EECS122 Lecture 14 (AKP) 5 Virtual circuits Signaling: call setup, teardown for each call before data can flow Addressing: each packet carries VC identifier (t destination host address) Router State: every router on source-dest path maintains state for each passing connection Resource Allocation: link, router resources (bandwidth, buffers) may be allocated to VC March 2, 2006 EECS122 Lecture 14 (AKP) 6 3

VC implementation A VC consists of: 1. Path from source to destination 2. VC numbers, one number for each link along path 3. Entries in forwarding tables in routers along path Packet belonging to VC carries a VC number. VC number must be changed on each link. New VC number comes from forwarding table This is label switching! March 2, 2006 EECS122 Lecture 14 (AKP) 7 Forwarding table VC number 12 1 2 3 22 32 Forwarding table in rthwest router: interface number Incoming interface Incoming VC # Outgoing interface Outgoing VC # 1 12 3 22 2 63 1 18 3 7 2 17 1 97 3 87 Routers maintain connection state information March 2, 2006 EECS122 Lecture 14 (AKP) 8 4

Allocating Resources Circuit switched networks allocate resources by allocating timeslots during which other flow can use the link Virtual Circuit networks use Scheduling Policing Drop Policies Call Admission What are these things? Let s look at a simple motivating example March 2, 2006 EECS122 Lecture 14 (AKP) 9 Example 0.5Mbps IP phone, FTP share 1.5 Mbps link. bursts of FTP can congest router, cause audio loss This is because the link at R1 is using First Come First Serve Classification and Scheduling packet marking needed for router to distinguish between different classes; and new router policy to treat packets accordingly March 2, 2006 EECS122 Lecture 14 (AKP) 10 5

Example what if applications misbehave (audio sends higher than declared rate) policing: force source adherence to bandwidth allocations marking and policing at network edge: Policing provide protection (isolation) for one class from others March 2, 2006 EECS122 Lecture 14 (AKP) 11 Example Allocating fixed (n-sharable) bandwidth to flow: inefficient use of bandwidth if flows doesn t use its allocation Efficiency While providing isolation, it is desirable to use resources as efficiently as possible March 2, 2006 EECS122 Lecture 14 (AKP) 12 6

Example Basic fact of life: can t support traffic demands beyond link capacity Call Admission flow declares its needs, network may block call (e.g., busy signal) if it cant meet needs March 2, 2006 EECS122 Lecture 14 (AKP) 13 Mechanisms to Improve Best Effort Classification and Scheduling Drop Policies Policing Call admission Implementing even a subset of these can help! Next Question. How should we use these mechanisms to improve performance? March 2, 2006 EECS122 Lecture 14 (AKP) 14 7

Fairness A 100 10 0.55 R 1 1.1 C B 0.55 What is the fair allocation: (0.55, 0.55) or (0.1, 1)? March 2, 2006 EECS122 Lecture 14 (AKP) 15 Fairness A 100 10 R 1 1.1 D B C 0.2 Now, what is the fair allocation? March 2, 2006 EECS122 Lecture 14 (AKP) 16 8

Fairness B A 100 10 R 1 Max-Min Fair Allocation Want to treat all the flows as equally as possible. 1.1 D C 0.2 Give C the full 0.2 A and B get 0.45 each (0.45,0.45,0.2) March 2, 2006 EECS122 Lecture 14 (AKP) 17 Ather Example C B A 10 0.5 0.1 R 5 D 1 Allocate 0.1 to C. This leaves 0.9 for the rest. Each of A, B and D are > 0.3 so allocate them each 0.3 Max-Min Fair Allocation is (.3,.3,.1,.3) March 2, 2006 EECS122 Lecture 14 (AKP) 18 9

Max-Min Fairness Algorithm N flows share a link of rate C. Flow f wishes to send at rate W(f), and is allocated rate R(f). 1. Pick the flow, f, with the smallest desired rate. 2. If W(f) < C/N, then set R(f) = W(f). 3. If W(f) > C/N, then set R(f) = C/N. 4. Set N = N 1. C = C R(f). 5. If N > 0 goto 1. March 2, 2006 EECS122 Lecture 14 (AKP) 19 Example Revisted C B A 10 0.5 0.1 R 5 D 1 Round 1: Set R(f C ) = 0.1 Round 2: Set R(f B ) = 0.9/3 = 0.3 Round 3: Set R(f D ) = 0.6/2 = 0.3 Round 4: Set R(f A ) = 0.3/1 = 0.3 March 2, 2006 EECS122 Lecture 14 (AKP) 20 10

Router Without any classification Model of FIFO router (output) queue A(t) B(t) R D(t) Classification and Scheduling Model of router queues Scheduling Discipline Router With M classes A(t) A 1 (t) A 2 (t) A M (t) R(f 1 ) R(f 2 ) D(t) R(f M ) Nick Mckeown March 2, 2006 EECS122 Lecture 14 (AKP) 21 Scheduling Goals Flexibility Must be able to accommodate a wide range of performance objectives Must be fair Predictable/Analyzable Must have some way to determine if the performance objectives are met Implementable Cost Performance March 2, 2006 EECS122 Lecture 14 (AKP) 22 11

Priority Scheduling Transmit highest priority queued packet multiple classes, with different priorities class may depend on marking or other header info, e.g. IP source/dest, port numbers, etc.. Problem: Higher priorities can hog March 2, 2006 EECS122 Lecture 14 (AKP) 23 Round Robin multiple classes cyclically scan class queues, serving one from each class (if available) Problems: What if the flows require different rates? What if the packet sizes are t equal? March 2, 2006 EECS122 Lecture 14 (AKP) 24 12

Fair Queueing This treats all the flows equally but allows for unequal packet sizes 1. Flows are scheduled one bit at a time, in a round-robin fashion. 2. This is called Bit-by-Bit Fair Queueing or Processor Sharing Flow 1 Bit-by-bit round robin Classification Flow N Scheduling March 2, 2006 EECS122 Lecture 14 (AKP) 25 Weighted Bit-by-Bit Fair Queueing Likewise, flows can be allocated different rates by servicing a different number of bits for each flow during each round. R(f 1 ) = 0.1 R(f 2 ) = 0.3 R(f 3 ) = 0.3 R(f 4 ) = 0.3 R 1 1 Order of service for the four queues: f 1, f 2, f 2, f 2, f 3, f 3, f 3, f 4, f 4, f 4, f 1, C Also called Generalized Processor Sharing (GPS) March 2, 2006 EECS122 Lecture 14 (AKP) 26 13

Packetized Weighted Fair Queueing (WFQ) Problem: We need to serve a whole packet at a time. Solution: 1. Determine what time a packet, p, would complete if we served flows bitby-bit. Call this the packet s finishing time, F p. 2. Serve packets in the order of increasing finishing time. Theorem: Packet p will depart before F p + (max packet transmission delay) Also called Packetized Generalized Processor Sharing (PGPS) March 2, 2006 EECS122 Lecture 14 (AKP) 27 Generalized Processor sharing can be used to control the delay at a router Example: Two Flows share a link of 1Mbs Both flows have large chunks to send Case 1: Treat them equally Class 1 w 1 = w 2 Class 2 Delay =4 Delay =5 March 2, 2006 EECS122 Lecture 14 (AKP) 28 14

Adjust weights to change delay Suppose we want to reduce flow 2 s delay to 4 Class 1 Class 2 3w 1 = w 2 Delay =5 Delay =4 March 2, 2006 EECS122 Lecture 14 (AKP) 29 Let s look at the what happens when serve packets t bits w 1 = w 2 In this example, packets finish later under WFQ March 2, 2006 EECS122 Lecture 14 (AKP) 30 15

WFQ Example II w 1 = w 2 Packets out of order Packet from Flow 1 finishes late under WFQ Theorem: Maximum lateness is L max /C where L max is the maximum packet size allowed. WFQ never falls further behind. March 2, 2006 EECS122 Lecture 14 (AKP) 31 The use of WFQ for (weighted) fairness WFQ can be used to provide different rates to different flows. Most routers today implement WFQ and can be used to give different rates to different flows. (Not used much yet). Different definitions of a flow are possible: Application flow, all packets to a destination, all packets from a source, all http packets, the CEO s traffic, etc. March 2, 2006 EECS122 Lecture 14 (AKP) 32 16

Policing Mechanisms Goal: limit traffic to t exceed declared parameters Three common-used criteria: (Long term) Average Rate: how many pkts can be sent per unit time (in the long run) crucial question: what is the interval length: 100 packets per sec or 6000 packets per min have same average! Peak Rate: e.g., 6000 pkts per min. (ppm) avg.; 1500 ppm peak rate (Max.) Burst Size: max. number of pkts sent consecutively (with intervening idle) March 2, 2006 EECS122 Lecture 14 (AKP) 33 Policing Mechanisms Token Bucket: limit input to specified Burst Size and Average Rate. bucket can hold b tokens tokens generated at rate r token/sec unless bucket full over interval of length t: number of packets admitted less than or equal to (r t + b). March 2, 2006 EECS122 Lecture 14 (AKP) 34 17

Policing Mechanisms (more) token bucket, WFQ combine to provide guaranteed upper bound on delay, i.e., QoS guarantee! arriving traffic token rate, r bucket size, b WFQ D = b/r max per-flow rate, R March 2, 2006 EECS122 Lecture 14 (AKP) 35 Summary Best Effort can be improved significantly through the addition of network layer flows Virtual circuits implement flows Even in the absence of flows, router mechanisms such as scheduling and intelligent drop policies can improve performance significantly Next time: Quality of Service in the internet March 2, 2006 EECS122 Lecture 14 (AKP) 36 18