Common network/protocol functions

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

Improving QOS in IP Networks. Principles for QOS Guarantees

Master Course Computer Networks IN2097

Mohammad Hossein Manshaei 1393

Master Course Computer Networks IN2097

Quality of Service (QoS)

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

Real-Time Protocol (RTP)

Internet Services & Protocols. Quality of Service Architecture

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

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

Real-Time Control Protocol (RTCP)

Advanced Computer Networks

Telematics 2 & Performance Evaluation

of-service Support on the Internet

Master Course Computer Networks IN2097

Master Course Computer Networks IN2097

Lecture Outline. Bag of Tricks

Network Layer Enhancements

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

Multimedia networking: outline

Week 7: Traffic Models and QoS

Network Support for Multimedia

Lesson 14: QoS in IP Networks: IntServ and DiffServ

Multimedia networking: outline

Unit 2 Packet Switching Networks - II

Part1: Lecture 4 QoS

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

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

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

EPL606. Quality of Service and Traffic Classification

Overview. Lecture 22 Queue Management and Quality of Service (QoS) Queuing Disciplines. Typical Internet Queuing. FIFO + Drop tail Problems

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

Quality of Service in the Internet

Quality of Service II

Quality of Service in the Internet

QUALITY of SERVICE. Introduction

Resource Allocation. with slides from Leon-Garcia and Widjaja, Shenker and Stoica. Stefan Schmid - 1

CSE 123b Communications Software

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

Congestion Control Open Loop

Lecture 13. Quality of Service II CM0256

Lecture 14: Performance Architecture

The Diffie-Hellman Key Exchange

Lecture 24: Scheduling and QoS

Quality of Service (QoS)

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

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

Packet Scheduling and QoS

Quality of Service (QoS)

RSVP 1. Resource Control and Reservation

Resource Control and Reservation

Multicast and Quality of Service. Internet Technologies and Applications

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

A Preferred Service Architecture for Payload Data Flows. Ray Gilstrap, Thom Stone, Ken Freeman

EE 122: Differentiated Services

Quality of Service Monitoring and Delivery Part 01. ICT Technical Update Module

Kommunikationssysteme [KS]

Quality of Service (QoS)

Presentation Outline. Evolution of QoS Architectures. Quality of Service Monitoring and Delivery Part 01. ICT Technical Update Module

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

CS519: Computer Networks. Lecture 5, Part 5: Mar 31, 2004 Queuing and QoS

Multimedia Networking

Quality of Service (QoS) Computer network and QoS ATM. QoS parameters. QoS ATM QoS implementations Integrated Services Differentiated Services

Multimedia Networking. Network Support for Multimedia Applications

Internet QoS 1. Integrated Service 2. Differentiated Service 3. Linux Traffic Control

Page 1. Quality of Service. CS 268: Lecture 13. QoS: DiffServ and IntServ. Three Relevant Factors. Providing Better Service.

CS 268: Integrated Services

Integrated and Differentiated Services. Christos Papadopoulos. CSU CS557, Fall 2017

Configuring QoS. Finding Feature Information. Prerequisites for QoS

Intserv: QoS guarantee scenario. IETF Integrated Services. Call Admission. Intserv QoS: Service models [rfc2211, rfc 2212] Arriving session must :

Configuring QoS. Understanding QoS CHAPTER

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

Differentiated Services

VoIP Protocols and QoS

Configuring QoS CHAPTER

Principles for QOS Guarantees. Improving QOS in IP Networks

TDDD82 Secure Mobile Systems Lecture 6: Quality of Service

Towards Service Differentiation on the Internet

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

Congestion Control and Resource Allocation

Real-Time Applications. Delay-adaptive: applications that can adjust their playback point (delay or advance over time).

Differentiated Services

ITBF WAN Quality of Service (QoS)

From ATM to IP and back again: the label switched path to the converged Internet, or another blind alley?

QoS for Real Time Applications over Next Generation Data Networks

Configuring QoS CHAPTER

EECS 122: Introduction to Computer Networks Resource Management and QoS. Quality of Service (QoS)

Differentiated Service Router Architecture - Classification, Metering and Policing

Quality of Service (QoS)

Module objectives. Integrated services. Support for real-time applications. Real-time flows and the current Internet protocols

Computer Network Fundamentals Fall Week 12 QoS Andreas Terzis

Fairness, Queue Management, and QoS

Congestion Control and Resource Allocation

QoS in IPv6. Madrid Global IPv6 Summit 2002 March Alberto López Toledo.

Principles. IP QoS DiffServ. Agenda. Principles. L74 - IP QoS Differentiated Services Model. L74 - IP QoS Differentiated Services Model

Configuring QoS CHAPTER

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

Quality of Service (QoS)

Transcription:

Common network/protocol functions Goals: Identify, study common architectural components, protocol mechanisms Synthesis: big picture Depth: important topics not covered in introductory courses Overview: Signaling State Multiplexing / Resource Allocation Randomization Indirection Service location Network virtualization with slides from Leon-Garcia and Widjaja, Shenker and Stoica 1

Multiplexing Multiplexing: Sharing resource(s) among users of the resource. Users Resources In this lecture: The Resources are Bandwidth (Link Capacity) Queues (Buffers) The Users are Phone Calls TCP/UDP flows, packets Other types of resources: CPU Storage Frequency spectrum and other types of users? 2

The resources and the users H1 R1 R2 H4 H2 H5 H3 R1 output queue 1.5 Mbps bandwidth H6 3

From Multiplexing to QoS Basic facts of life: Bandwidth is finite Cannot support traffic demands beyond capacity 1 Mbps phone R1 R2 FTP server 1.5 Mbps Example: 1Mbps IP phone, FTP share 1.5 Mbps link bursts of FTP can congest router, cause large delays/audio loss What s to be done? Move away from the best-effort paradigm provide Quality of Service (QoS) 4

QoS: What is it? QoS Network provides applications with levels of performance guarantees needed for applications to function. Types of guarantees (service classes) Best-effort (elastic apps) Hard real-time (real-time apps) e.g., bounded loss / delay Soft real-time (tolerant apps) e.g., probabilistic loss / delay How to implement QoS? A set of five principles 5

Summary of QoS Principles 7-6

Principle 1. Traffic/Guarantees specification Two 1Mbps IP phones share 1.5 Mbps link want applications to specify: 1) how much bandwidth they need, 2) what levels of guarantees they want 1 Mbps phone 1 Mbps phone R1 1.5 Mbps Traffic/guarantees specification Principle 1 Traffic/guarantees specification (service contract) needed for router to plan whether it can provide certain levels of performance guarantees R2 7

Principle 2. Traffic classification 1Mbps IP phone, FTP share 1.5 Mbps link bursts of FTP can congest router, cause audio loss want to give priority to audio over FTP Can FTP server declare how much bandwidth it needs? 1 Mbps phone R1 voice FTP packets R2 FTP server 1.5 Mbps packet marking Principle 2 Packet marking needed for router to distinguish between different classes; and new router policy to treat packets accordingly 8

Principle 3. Traffic isolation what if applications misbehave (audio sends higher than declared rate) Want to force source adhere to traffic specification 1 Mbps phone R1 R2 FTP server 1.5 Mbps link packet policing / shaping Principle 3 provide protection (isolation) for one class from others 9

Principle 4. Call admission Bandwidth is finite Cannot support more than available To provide isolation, some flows have to be sacrificed 1 Mbps phone R1 R2 1 Mbps phone 1.5 Mbps link Principle 4 Call Admission: network may block call (e.g., busy signal) if it cannot meet needs. 10

Principle 5. Resource sharing Allocating fixed (non-sharable) bandwidth Inefficient if flows don t use it Circuit/packet switching; scheduling 1 Mbps phone R1 1 Mbps logical link R2 FTP server 1.5 Mbps link 0.5 Mbps logical link Principle 5 While providing isolation, it is desirable to use resources as efficiently as possible 11

Service Classes vs. Principles Traffic / Guarantees Specification Traffic Classification Traffic Isolation Call Admission Resource Sharing Best Effort Yes/No????? Hard real-time????? Soft real-time????? 12

Back to Multiplexing: many dimensions resource unavailability block, drop queue statistical reservations guaranteed on demand shared among class packet burst call per user user granularity Other dimensions? time granularity 13

Outline Scheduling Policing Admission Control General class-based link sharing (multiplexing) Concrete IETF proposals to do things in practice IntServ DiffServ Focus on packet-level multiplexing! 14

Scheduling And Policing Packets Scheduling: choose next packet to send on link FIFO (first in first out) scheduling: send in order of arrival to queue Real-world example: stop sign Discard policy: Tail drop: drop arriving packet RED 15

Scheduling Policies: more Strict 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. real world example: reservations versus walk-ins arrivals 2 1 3 4 5 time packet service 1 3 2 4 5 departures 1 time 3 2 4 5 16

Scheduling Policies: still more Round robin scheduling: Multiple classes Cyclically scan class queues, serving one from each class (if available) Real-world example: 4-way stop (distributed scheduling) 17

Scheduling Policies: still more Weighted Fair Queuing: generalized Round Robin each class gets weighted amount of service in each cycle 18

Stefa n Excursion: Fairness (1) How to divide a resource fairly? Philosophical question many notions of fairness exist! Fair shares for flows A,B,C,D? A B C C D

Excursion: Fairness (2) Important concept: max-min fairness Max-Min Fairness A max-min fair scheduler maximizes the minimum rate of any data flow. (First, the smallest rate is maximized, then the second smallest, etc.) 20

Bits/second Policing Mechanisms Goal: Limit traffic to not exceed declared parameters Peak rate Average rate Burst size? Time Three commonly-used criteria: (Long term) Average Rate: how many pkts can be sent per unit time (in the long run) crucial question: what is interval length: 100 packets per sec or 6000 packets per min have same average! Peak Rate: e.g., 6000 pkts per min. (ppm) avg.; 15000 ppm peak rate (Max.) Burst Size: max. number of pkts sent consecutively (with no intervening idle) 21

Leaky Bucket Algorithm Used to police arrival rate + burst size of a packet flow(s) water poured irregularly leaky bucket water drains at a constant rate Leak rate corresponds to long-term rate Bucket depth corresponds to maximum allowable burst arrival 1 packet per unit time Assume constant-length packet Let X = bucket content at last conforming packet arrival Let t a last conforming packet arrival time = depletion in bucket 22

Leaky Bucket Algorithm Arrival of a packet at time t a X = X - (t a - LCT) Depletion rate: 1 packet per unit time Current bucket content X < 0? Interarrival time Yes b = L+I = Bucket Depth I = increment per arrival, nominal interarrival time Non-empty No X = 0 Nonconforming packet Yes X > L? empty arriving packet would cause overflow No X = X + I LCT = t a conforming packet X = value of the leaky bucket counter X = auxiliary variable LCT = last conformance time conforming packet 23

Leaky Bucket Example I = 4 L = 6 Packet arrival Nonconforming Time L+I Bucket content I * * * * * * * * * Time Non-conforming packets not allowed into bucket & hence not included in calculations 24

Policing Mechanisms (more) Leaky bucket, WFQ combine to provide guaranteed upper bound on delay, i.e., QoS guarantee! arriving traffic token rate, r bucket size, b WFQ per-flow rate, R D = b/r max 25

Admission Control Users watch either one of two movies Star Wars (with the declared parameters) Silence of the Lambs (with the declared parameters) Concrete Problem: How many users can be admitted at a C=100Mbps link such that the delay for each user/movie is less than d=200ms? SW SOTL C=100Mbps 26

Admission Control (Contd.) Peak rate admission control Provides hard-guarantees Dual Leaky-bucket admission control Provides hard-guarantees Statistical admission control Provides soft-guarantees Average rate admission control Only qualitative guarantees (e.g., delay is always finite) 27

Admission Control. Numerical Example Multiplexing Gain 28

General Model of Class-based Link Scheduling estimator class 1 class 2 classifier class 3 class 4 scheduler 29

Link sharing among classes The question: sharing link among classes of packets in times of overload isolation among classes sharing between classes when link not fully used link link flow1 flow2 flow3 NSF ARPA DOE 30

Link Scheduling Framework each class guaranteed some share (fraction) of bandwidth (over suitable time interval) if needed Use it or lose it: unused bandwidth should be used by others who can use it Under-limit class: used less than guaranteed share Over-limit class: used more than guaranteed share. Not a bad thing if not needed by others! At-limit class Unsatisfied class: has a persistent backlog and is under limit (persistent backlog intentionally not defined) Satisfied: not unsatisfied 31

Link Scheduling Hierarchies link 50% 40% 10% Agency A Agency B Agency C ftp http smtp IP ATM rt nrt 30% 10% 10% 25% 15% 9% 1% Classes may be divided into subclasses, which can then further divide class bandwidth according to link scheduling guidelines 32

Link Scheduling Guidelines A class can continue unregulated if one of the following hold: the class is not overlimit the class has a notoverlimit ancestor at level i, and there are no unsatisfied classes in link sharing structure at levels lower than i Agency A link Agency B Agency C ftp http smtp IP ATM rt nrt 33

Example 1 link legend under limit at limit A B over limit satisfied unsatisfied backlog A1 A2 B1 B2 Q; which classes need to be regulated? 34

Example 2 link legend under limit at limit A B over limit satisfied unsatisfied backlog A1 A2 B1 B2 Q; which classes need to be regulated? 35

Example 3 link legend under limit at limit over limit satisfied unsatisfied backlog A1 A2 B1 B2 Q; which classes need to be regulated? 36

Example 4 link legend under limit at limit over limit satisfied unsatisfied backlog A1 A2 B1 B2 Q; which classes need to be regulated? 37

Link Sharing Summary Timescales over which persistent backlog and under/over limit defined are crucial Provide rationale basis for determining who is available to be scheduled in a multi-class, multi-objective system (elegantly) Devil is in the details E.g., malicious users, parallel flows... 38

QoS in the Internet. Part I. IETF Integrated Services Architecture for providing QOS guarantees in IP networks for individual application sessions Resource reservation: routers maintain state info of allocated resources, QoS req s Admit/deny new call setup requests: Question: can newly arriving flow be admitted with performance guarantees while not violating QoS guarantees made to already admitted flows? 39

Call Admission Arriving session must declare its QOS requirement R-spec: defines the QOS being requested characterize traffic it will send into network T-spec: defines traffic characteristics signaling protocol: needed to carry R-spec and T-spec to routers (where reservation is required) RSVP 40

Intserv QoS: Service models [rfc2211, rfc 2212] Guaranteed service: worst case traffic arrival: leaky-bucket-policed source simple (mathematically provable) bound on delay [Parekh 1992, Cruz 1988] arriving traffic token rate, r Controlled load service: "a quality of service closely approximating the QoS that same flow would receive from an unloaded network element." bucket size, b WFQ per-flow rate, R D = b/r max 41

Integrated Services Example Install per flow state Sender Receiver 42

Recall RSVP Signaling protocol for establishing per flow (soft) state Carry resource requests from hosts to routers Collect needed information from routers to hosts At each hop Consult admission control and policy module Set up admission state or informs the requester of failure Decouples routing from reservation 43

Integrated Services Example: Data Path Per-flow classification Sender Receiver 44

Integrated Services Example: Data Path Per-flow buffer management Sender Receiver 45

Integrated Services Example Per-flow scheduling Sender Receiver 46

Data Plane Control Plane How Things Fit Together Routing Messages Routing RSVP RSVP messages Admission Control Forwarding Table Per Flow QoS Table Data In Route Lookup Classifier Scheduler Data Out 47

QoS in the Internet. Part II. IETF Differentiated Services Want qualitative service classes behaves like a wire relative service distinction: Platinum, Gold, Silver Scalability: Simple functions in network core, relatively complex functions at edge routers (or hosts) signaling, maintaining per-flow router state difficult with large number of flows Don t define service classes, provide functional components to build service classes 48

Diffserv Architecture Edge router: per-flow traffic management marks packets as in-profile and out-profile b r marking Core router: per class traffic management buffering and scheduling based on marking at edge preference given to in-profile packets scheduling. 49

Edge-router Packet Marking Profile: pre-negotiated rate A, bucket size B Packet marking at edge based on per-flow profile Rate A B User packets Possible usage of marking: class-based marking: packets of different classes marked differently intra-class marking: conforming portion of flow marked differently than non-conforming one 50

Classification and Conditioning Packet is marked in the Type of Service (TOS) in IPv4, and Traffic Class in IPv6 6 bits used for Differentiated Service Code Point (DSCP) and determine PHB that the packet will receive 2 bits are currently unused 51

Classification and Conditioning May be desirable to limit traffic injection rate of some class: User declares traffic profile (e.g., rate, burst size) Traffic metered, shaped if non-conforming 52

Forwarding Per Hop Behavior (PHB) PHB result in a different observable (measurable) forwarding performance behavior PHB does not specify what mechanisms to use to ensure required PHB performance behavior Examples: Class A gets x% of outgoing link bandwidth over time intervals of a specified length Class A packets leave first before packets from class B 53

Forwarding (PHB) PHBs being developed: Expedited Forwarding: pkt departure rate of a class equals or exceeds specified rate logical link with a minimum guaranteed rate Assured Forwarding: 4 classes of traffic each guaranteed minimum amount of bandwidth each with three drop preference partitions 54