QoS Control in the Internet Raouf Boutaba School of Computer Science University of Waterloo E-mail: rboutaba@bbcr.uwaterloo.ca APNOMS’02 , Jeju, Korea.

Slides:



Advertisements
Similar presentations
Streaming Video over the Internet
Advertisements

MM Networking Applications
IETF Differentiated Services Concerns with Intserv: r Scalability: signaling, maintaining per-flow router state difficult with large number of flows r.
Traffic Shaping Why traffic shaping? Isochronous shaping
29.1 Chapter 29 Multimedia Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
29.1 Chapter 29 Multimedia Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
TCP/IP Protocol Suite 1 Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display. Chapter 25 Multimedia.
CSE Computer Networks Prof. Aaron Striegel Department of Computer Science & Engineering University of Notre Dame Lecture 20 – March 25, 2010.
1 Providing Quality of Service in the Internet Based on Slides from Ross and Kurose.
Real-Time Protocol (RTP) r Provides standard packet format for real-time application r Typically runs over UDP r Specifies header fields below r Payload.
User Control of Streaming Media: RTSP
Chapter 6 outline r 6.1 Multimedia Networking Applications r 6.2 Streaming stored audio and video m RTSP r 6.3 Real-time, Interactive Multimedia: Internet.
Differentiated Services. Service Differentiation in the Internet Different applications have varying bandwidth, delay, and reliability requirements How.
Application layer (continued) Week 4 – Lecture 2.
Multimedia Applications
ACN: IntServ and DiffServ1 Integrated Service (IntServ) versus Differentiated Service (Diffserv) Information taken from Kurose and Ross textbook “ Computer.
CS Summer 2003 Lecture 8. CS Summer 2003 Populating LFIB with LDP Assigned/Learned Labels Changes in the LFIB may be triggered routing or.
CSE 401N Multimedia Networking-2 Lecture-19. Improving QOS in IP Networks Thus far: “making the best of best effort” Future: next generation Internet.
Multimedia Applications r Multimedia requirements r Streaming r Phone over IP r Recovering from Jitter and Loss r RTP r Diff-serv, Int-serv, RSVP.
TCP/IP Protocol Suite 1 Chapter 25 Upon completion you will be able to: Multimedia Know the characteristics of the 3 types of services Understand the methods.
School of Information Technologies IP Quality of Service NETS3303/3603 Weeks
Internet QoS Syed Faisal Hasan, PhD (Research Scholar Information Trust Institute) Visiting Lecturer ECE CS/ECE 438: Communication Networks.
CSc 461/561 CSc 461/561 Multimedia Systems Part C: 3. QoS.
Computer Networking Multimedia.
CS640: Introduction to Computer Networks
CS 218 F 2003 Nov 3 lecture:  Streaming video/audio  Adaptive encoding (eg, layered encoding)  TCP friendliness References: r J. Padhye, V.Firoiu, D.
RTSP Real Time Streaming Protocol
CIS679: RTP and RTCP r Review of Last Lecture r Streaming from Web Server r RTP and RTCP.
6: Multimedia Networking6a-1 Chapter 6: Multimedia Applications r Multimedia requirements r Streaming r Phone over IP r Recovering from Jitter and Loss.
Multimedia and QoS#1#1 Multimedia Applications. Multimedia and QoS#2#2 Multimedia Applications r Multimedia requirements r Streaming r Recovering from.
Ch 7. Multimedia Networking Myungchul Kim
Integrated Services (RFC 1633) r Architecture for providing QoS guarantees to individual application sessions r Call setup: a session requiring QoS guarantees.
CSE679: QoS Infrastructure to Support Multimedia Communications r Principles r Policing r Scheduling r RSVP r Integrated and Differentiated Services.
CS Spring 2011 CS 414 – Multimedia Systems Design Lecture 23 - Multimedia Network Protocols (Layer 3) Klara Nahrstedt Spring 2011.
CSE QoS in IP. CSE Improving QOS in IP Networks Thus far: “making the best of best effort”
Computer Networks: Multimedia Applications Ivan Marsic Rutgers University Chapter 3 – Multimedia & Real-time Applications.
K. Salah 1 Beyond Best Effort Technologies Our primarily objective here is to understand more on QoS mechanisms so that you can make informed decision.
Streaming Stored Audio and Video (1) and Video (1) Advanced Multimedia University of Palestine University of Palestine Eng. Wisam Zaqoot Eng. Wisam Zaqoot.
1 Internet Quality of Service (QoS) By Behzad Akbari Spring 2011 These slides are based on the slides of J. Kurose (UMASS)
1 Lecture 17 – March 21, 2002 Content-delivery services. Multimedia services Reminder  next week individual meetings and project status report are due.
CS640: Introduction to Computer Networks Aditya Akella Lecture 19 - Multimedia Networking.
Multimedia, Quality of Service: What is it?
1 Lecture 14 High-speed TCP connections Wraparound Keeping the pipeline full Estimating RTT Fairness of TCP congestion control Internet resource allocation.
Chapter 6 outline r 6.1 Multimedia Networking Applications r 6.2 Streaming stored audio and video m RTSP r 6.3 Real-time Multimedia: Internet Phone Case.
Beyond Best-Effort Service Advanced Multimedia University of Palestine University of Palestine Eng. Wisam Zaqoot Eng. Wisam Zaqoot November 2010 November.
Making the Best of the Best-Effort Service (2) Advanced Multimedia University of Palestine University of Palestine Eng. Wisam Zaqoot Eng. Wisam Zaqoot.
Multimedia networking: outline 7.1 multimedia networking applications 7.2 streaming stored video 7.3 voice-over-IP 7.4 protocols for real-time conversational.
03/11/2015 Michael Chai; Behrouz Forouzan Staffordshire University School of Computing Streaming 1.
Network Support for QoS – DiffServ and IntServ Hongli Luo CEIT, IPFW.
Computer Networking Multimedia. 11/15/20052 Outline Multimedia requirements Streaming Phone over IP Recovering from Jitter and Loss RTP QoS Requirements.
Multimedia and QoS#1 Quality of Service Support. Multimedia and QoS#2 QOS in IP Networks r IETF groups are working on proposals to provide QOS control.
Internet multimedia: simplest approach audio, video not streamed: r no, “pipelining,” long delays until playout! r audio or video stored in file r files.
Ch 6. Multimedia Networking Myungchul Kim
Chapter 6 outline r 6.1 Multimedia Networking Applications r 6.2 Streaming stored audio and video m RTSP r 6.3 Real-time, Interactive Multimedia: Internet.
Providing QoS in IP Networks
TCP/IP1 Address Resolution Protocol Internet uses IP address to recognize a computer. But IP address needs to be translated to physical address (NIC).
1 Lecture 15 Internet resource allocation and QoS Resource Reservation Protocol Integrated Services Differentiated Services.
Chapter 30 Quality of Service Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
19 – Multimedia Networking
Instructor Materials Chapter 6: Quality of Service
QoS & Queuing Theory CS352.
Multimedia Applications
Chapter 25 Multimedia TCP/IP Protocol Suite
CSE679: Multimedia and Networking
Multimedia Applications
CIS679: Two Planes and Int-Serv Model
Multimedia Applications
Real-Time Protocol (RTP)
Real-Time Protocol (RTP)
Presentation transcript:

QoS Control in the Internet Raouf Boutaba School of Computer Science University of Waterloo E-mail: rboutaba@bbcr.uwaterloo.ca APNOMS’02 , Jeju, Korea

Outline Multimedia Networking Applications Challenges and Solutions in IP Networks Audio/Video Compression in the Internet Streaming Stored Audio/Video, RTSP Real time (phone) over IP best effort RTP, RTCP, H.323 Improving QoS in IP: Basic Principles Scheduling and Policing Mechanisms Integrated & Differentiated IP Services MPLS and traffic engineering Policy Based Networking for QoS control COPS extensions for distributed control APNOMS’02 , Jeju, Korea

Multimedia Networking Appl’s Typically sensitive to delay, but can tolerate packet loss (would cause minor glitches that can be concealed) Data contains audio and video content (“continuous media”), Three classes: Streaming stored audio and video One to many streaming of real-time audio and video Real-time interactive audio and video APNOMS’02 , Jeju, Korea

Streaming Stored Audio/Video Clients Request audio/video files (compressed) from servers Examples: Music, Movies Clients pipeline reception over the network and display Delay From client request until display start can be 1 to 10 seconds Playback starts while client continues receiving file from server -> Streaming User interactivity User can control operation (similar to VCR): pause, resume, fast forward, rewind, etc. APNOMS’02 , Jeju, Korea

Unidirectionnel Real Time Similar to existing TV and radio stations, but delivery on the network Microsoft provides an Internet radio station guide One to many streaming Many users who are simultaneously receiving the same real- time audio/video program Efficient distribution through multicasting (however, today’s most one-to-many audio/video transmission in the Internet use separate unicast streams) Non-interactive, just listen/view Delay From client click until playback start is up to 10’s seconds APNOMS’02 , Jeju, Korea

Real-time Interactive Appl’s Internet Phone or video conference Delay More stringent delay requirement than Streaming and Unidirectional because of real-time nature Video: < 150 msec acceptable Audio: < 150 msec good, < 400 msec acceptable Interactivity One-to-many real-time is not interactive as users cannot pause or rewind transmission (hundreds others listening) Interactive in the sense that participants can orally and visually respond to each other in real time APNOMS’02 , Jeju, Korea

Challenges TCP/UDP/IP suite provides best-effort, no guarantees on expectation or variance of packet delay Streaming applications delay of 5 to 10 seconds is typical and has been acceptable, but performance deteriorate if links are congested (transoceanic) Real-Time Interactive requirements on delay and its jitter have been satisfied by over-provisioning (providing plenty of bandwidth), what will happen when the load increases?... Most router implementations use only FCFS packet processing and transmission scheduling APNOMS’02 , Jeju, Korea

Challenges (Cont) To mitigate impact of “best-effort” protocols, we can: Use UDP to avoid TCP and its slow-start phase… Delay playback (~100 ms) to diminish network-induced jitter Buffer content at client and control playback to remedy jitter Adapt compression level to available bandwidth etc… APNOMS’02 , Jeju, Korea

Solution Approaches in IP Networks Just add more bandwidth and enhance caching capabilities (over-provisioning) Need major change of the protocols: Incorporate resource reservation (bandwidth, processing, buffering), and new scheduling policies Set up service level agreements with applications, monitor and enforce the agreements, charge accordingly Need moderate changes: Use small number of (possibly two) traffic classes for all packets and differentiate service accordingly Charge based on class of packets (platinum, low-budget) Network capacity is provided to ensure first class packets incur no significant delay at routers APNOMS’02 , Jeju, Korea

Audio and Video Compression Audio and video are digitized and compressed Need for digitization: Internet transmits bits Need for compression: uncompressed audio/video consumes tremendous amount of storage and bandwidth Compression removes inherent redundancies in digitized audio/video Reduces amount of data by order of magnitude Example: A single image of 1024 pixels * 1024 pixels; each pixel encoded into 24 bits Without compression: Requires 3 MB of storage Takes 7 min over a 64 Kbps link With a modest compression (10:1 compression rate) Requires 300 KB of storage Takes less than 6 seconds APNOMS’02 , Jeju, Korea

Audio Compression in the Internet Pulse Code Modulation (PCM) Analog audio signal is sampled at some fixed rate; Value of each sample is an arbitrary real number Each sample is rounded to one of a finite number of values (“quantization”). Number of quantization values is power of 2 Each quantization value is represented by a fixed number of bits. Bit representations of all samples are concatenated together form the digital signal Examples of PCM encoding Speech: 8000 samples/sec; 8 bits per sample -> 64Kbps rate Compact Disk: 44,100 samples/sec; 16 bits per sample -> rate of 705.6 Kbps for mono and 1.411 Mbps for stereo Compression techniques used to reduce bit rate GSM (13 Kbps); G.729 (8 Kbps); G.723(6.4 and 5.3 Kbps) MPEG layer 3 (MP3): 128 or 112 Kbps (near CD-quality music) APNOMS’02 , Jeju, Korea

Video Compression in the Internet Principles A video is a sequence of images; each image is displayed at constant rate, e.g. at 24 or 30 images per second An uncompressed, digitally encoded image consists of an array of pixels; each pixel is encoded into a number of bits to represent luminance and color Two types of redundancy in video (exploited in compression) Spatial redundancy (within a given image; e.g. white space) Temporal redundancy (repetition from image to subsequent image; e.g. two exactly same images) MPEG MPEG 1, for CD-ROM quality video (1.5 Mbps) MPEG 2, for high quality DVD video (3-6 Mbps) MPEG 4, for object oriented video compression H.261 (also popular in the Internet) APNOMS’02 , Jeju, Korea

Streaming Stored Audio/Video Important and growing application due to reduction of storage costs, increase in high speed network access from homes, enhancements to caching and introduction of QoS in IP networks Audio/Video file is segmented and sent over either TCP or UDP, public segmentation protocol: Real-Time Protocol (RTP) User interactive control is provided, eg the public protocol Real Time Streaming Protocol (RTSP) Helper Application: displays content, which is typically requested via a Web browser; eg RealPlayer; typical functions: Decompression Jitter removal Error correction: use redundant packets to be used for reconstruction of original stream GUI for user control APNOMS’02 , Jeju, Korea

Streaming From Web Servers Audio: in files sent as HTTP objects Video (interleaved audio and images in one file, or two separate files and client synchronizes the display) sent as HTTP object(s) A simple architecture is to have the Browser requests the object(s) and after their reception pass them to the player for display APNOMS’02 , Jeju, Korea

Streaming From Web Server (Cont.) Alternative: set up connection between server and player, then download Web browser requests and receives a Meta File (a file describing the object) instead of receiving the file itself; Browser launches the appropriate Player and passes it the Meta File; Player sets up a TCP connection with Web Server and downloads the file APNOMS’02 , Jeju, Korea

Using a Streaming Server This gets us around HTTP, allows a choice of UDP vs. TCP and the application layer protocol can be better tailored to Streaming; Many enhancements options are possible (see next slide) APNOMS’02 , Jeju, Korea

Options When Using a Streaming Server Use UDP, and Server sends at a rate (Compression and Transmission) appropriate for client; to reduce jitter, Player buffers initially for 2-5 seconds, then starts display Use TCP, and sender sends at maximum possible rate under TCP; retransmit when error is encountered; Player uses a much large buffer to smooth delivery rate of TCP APNOMS’02 , Jeju, Korea

Real Time Streaming Protocol For user to control display: rewind, fast forward, pause, resume, etc… Out-of-band protocol (uses two connections, one for control messages (Port 554) and one for media stream RFC 2326 permits use of either TCP or UDP for the control messages connection, sometimes called the RTSP Channel As before, meta file is communicated to web browser which then launches the Player; Player sets up an RTSP connection for control messages in addition to the connection for the streaming media APNOMS’02 , Jeju, Korea

RTSP Operation APNOMS’02 , Jeju, Korea

Meta File Example <title>Twister</title> <session> <group language=en lipsync> <switch> <track type=audio e="PCMU/8000/1" src = "rtsp://audio.example.com/twister/audio.en/lofi"> e="DVI4/16000/2" pt="90 DVI4/8000/1" src="rtsp://audio.example.com/twister/audio.en/hifi"> </switch> <track type="video/jpeg" src="rtsp://video.example.com/twister/video"> </group> </session> APNOMS’02 , Jeju, Korea

RTSP Exchange Example C: SETUP rtsp://audio.example.com/twister/audio RTSP/1.0 Transport: rtp/udp; compression; port=3056; mode=PLAY S: RTSP/1.0 200 1 OK Session 4231 C: PLAY rtsp://audio.example.com/twister/audio.en/lofi RTSP/1.0 Session: 4231 Range: npt=0- C: PAUSE rtsp://audio.example.com/twister/audio.en/lofi RTSP/1.0 Range: npt=37 C: TEARDOWN rtsp://audio.example.com/twister/audio.en/lofi RTSP/1.0 S: 200 3 OK APNOMS’02 , Jeju, Korea

Real Time (Phone) Over IP’s Best Effort Internet phone applications generate packets during talk spurts Bit rate is 8 KBytes, and every 20 msec, the sender forms a packet of 160 Bytes + a header to be discussed below The coded voice information is encapsulated into a UDP packet and sent out; some packets may be lost; up to 20 % loss is tolerable; using TCP eliminates loss but at a considerable cost: variance in delay; FEC is sometimes used to fix errors and make up losses End-to-end delays above 400 msec cannot be tolerated; packets that are that delayed are ignored at the receiver Delay jitter is handled by using timestamps, sequence numbers, and delaying playout at receivers either a fixed or a variable amount With fixed playout delay, the delay should be as small as possible without missing too many packets; delay cannot exceed 400 msec APNOMS’02 , Jeju, Korea

Internet Phone with Fixed Playout Delay APNOMS’02 , Jeju, Korea

Adaptive Playout Delay Objective is to use a value for p-r that tracks the network delay performance as it varies during a phone call The playout delay is computed for each talk spurt based on observed average delay and observed deviation from this average delay Estimated average delay and deviation of average delay are computed in a manner similar to estimates of RTT and deviation in TCP The beginning of a talk spurt is identified from examining the timestamps in successive and/or sequence numbers of chunks APNOMS’02 , Jeju, Korea

Recovery From Packet Loss Loss is in a broader sense: packet never arrives or arrives later than its scheduled playout time Since retransmission is inappropriate for Real Time applications, FEC or Interleaving are used to reduce loss impact Simplest FEC scheme adds a redundant chunk made up of exclusive OR of a group of n chunks; redundancy is 1/n; can reconstruct if at most one lost chunk; playout time schedule assumes a loss per group Mixed quality streams are used to include redundant duplicates of chunks; upon loss playout available redundant chunk, albeit a lower quality one With one redundant chunk per chunk can recover from single losses APNOMS’02 , Jeju, Korea

Piggybacking Lower Quality Stream APNOMS’02 , Jeju, Korea

Interleaving Has no redundancy, but can cause delay in playout beyond Real Time requirements Divide 20 msec of audio data into smaller units of 5 msec each and interleave Upon loss, have a set of partially filled chunks APNOMS’02 , Jeju, Korea

Real-Time Protocol (RTP) Typically runs over UDP RTP viewed as a sub-layer of the transport layer RTP from an application developer perspective Application Application layer Application layer RTP RTP Transport layer Socket Interface UDP UDP IP IP Data Link layer Data Link layer Physical layer Physical layer APNOMS’02 , Jeju, Korea

RTP Packet RTP Provides standard packet format for real- time applications Specifies header fields below APNOMS’02 , Jeju, Korea

Some audio payload types supported by RTP RTP Packet (Cont) Payload Type: 7 bits, providing 128 possible different types of encoding; eg PCM, MPEG2 video, etc. Examples: Some video payload types supported by RTP Some audio payload types supported by RTP Payload Type Number Payload Type Number Audio Format Sampling Rate Video Format Throughput PCM mu-law 8 KHz 64 Kbps 26 Motion JPEG 1 1016 8 KHz 4.8 Kbps 31 H.261 3 GSM 8 KHz 13 Kbps 32 MPEG1 Video 7 LPC 8 KHz 2.4 Kbps 33 MPEG2 Video 9 G.722 8 KHz 48-64 Kbps 14 MPEG Audio 90 KHz ---- 15 G.728 8 KHz 16 Kbps APNOMS’02 , Jeju, Korea

RTP Packet (Cont) Sequence Number: 16 bits; used to detect packet loss. Timestamp: 32 bits; gives the sampling instant of the first audio/video byte in the packet; used to remove jitter introduced by the network; the timestamp is derived from a sampling clock at the sender. Synchronization Source identifier (SSRC): 32 bits; identifies the source of a stream; each stream in an RTP session has a distinct SSRC; assigned randomly by the source when the new stream is started. APNOMS’02 , Jeju, Korea

RTP Control Protocol (RTCP) Protocol specifies report packets exchanged between sources and destinations of multimedia information Three reports are defined: Receiver reception, Sender, and Source description Reports contain statistics such as the number of packets sent, number of packets lost, inter-arrival jitter Used to modify sender transmission rates and for diagnostics purposes APNOMS’02 , Jeju, Korea

RTCP Bandwidth Scaling If each receiver sends RTCP packets to all other receivers, the traffic load resulting can be large RTCP adjusts the interval between reports based on the number of participating receivers Typically, limit the RTCP bandwidth to 5% of the session bandwidth, divided between the sender reports (25%) and the receivers reports (75%) Period for transmitting RTCP packets for a sender: Period for transmitting RTCP packets for a receiver: Number of senders T = (average RTCP packet size) .25*.05*session-bandwidth Number of receivers T = (average RTCP packet size) .75*.05*session-bandwidth APNOMS’02 , Jeju, Korea

H.323 A standard for real-time audio and video conferencing among end systems on the Internet H.323 end systems should be able to communicate with ordinary telephones Gate keeper Internet Telephone Network Gateway Telephones H.323 End Points APNOMS’02 , Jeju, Korea

Improving QOS in IP Networks IETF groups are working on proposals to provide better QOS control in IP networks, ie going beyond best effort to provide some assurance for QOS Work in Progress includes RSVP, Differentiated Services, and Integrated Services Simple model for sharing and congestion studies: APNOMS’02 , Jeju, Korea

Principles for QOS Guarantees Consider a phone application at 1Mbps and an FTP application sharing a 1.5 Mbps link; bursts of FTP can congest the router and cause audio packets to be dropped; want to give priority to audio over FTP PRINCIPLE 1: Marking of packets is needed for router to distinguish between different classes; and new router policy to treat packets accordingly APNOMS’02 , Jeju, Korea

Principles for QOS Guarantees (Cont.) Applications misbehave (audio sends packets at a rate higher than 1Mbps assumed above); PRINCIPLE 2: provide protection (isolation) for one class from other classes Require Policing Mechanisms to ensure sources adhere to bandwidth requirements; Marking and Policing need to be done at the edges: APNOMS’02 , Jeju, Korea

Principles for QOS Guarantees (Cont.) Alternative to Marking and Policing: allocate a set portion of bandwidth to each application flow; can lead to inefficient use of bandwidth if one of the flows does not use its allocation PRINCIPLE 3: While providing isolation, it is desirable to use resources as efficiently as possible APNOMS’02 , Jeju, Korea

Principles for QOS Guarantees (Cont.) Cannot support traffic beyond link capacity PRINCIPLE 4: Need a Call Admission Process; application flow declares its needs, network may block call if it cannot satisfy the needs APNOMS’02 , Jeju, Korea

Summary APNOMS’02 , Jeju, Korea

Scheduling And Policing Mechanisms Scheduling: choosing the next packet for transmission on a link can be done following a number of policies; FIFO: in order of arrival to the queue; packets that arrive to a full buffer are either discarded, or a discard policy is used to determine which packet to discard among the arrival and those already queued APNOMS’02 , Jeju, Korea

Scheduling Policies Priority Queuing: classes have different priorities; class may depend on explicit marking or other header info, eg IP source or destination, TCP Port numbers, etc. Transmit a packet from the highest priority class with a non-empty queue Preemptive and non-preemptive versions APNOMS’02 , Jeju, Korea

Scheduling Policies (Cont.) Round Robin: scan class queues serving one from each class that has a non-empty queue Weighted Fair Queuing: is a generalized Round Robin in which an attempt is made to provide a class with a differentiated amount of service over a given period of time APNOMS’02 , Jeju, Korea

Policing Mechanisms Three criteria: (Long term) Average Rate (100 packets per sec or 6000 packets per min??), crucial aspect is the interval length Peak Rate: eg 6000 p p minute Avg and 1500 p p sec Peak (Max.) Burst Size: Max. number of packets sent consecutively, ie over a short period of time Token Bucket mechanism, provides a means for limiting input to specified Burst Size and Average Rate APNOMS’02 , Jeju, Korea

Policing Mechanisms (Cont.) Bucket can hold b tokens; token are generated at a rate of r token/sec unless bucket is full of tokens Over an interval of length t, the number of packets that are admitted is less than or equal to r t + b Token bucket and WFQ can be combined to provide upper bound on delay: APNOMS’02 , Jeju, Korea

Integrated Services An architecture for providing QOS guarantees in IP networks for individual application sessions relies on resource reservation, and routers need to maintain state info (Virtual Circuit??), maintaining records of allocated resources and responding to new Call setup requests on that basis APNOMS’02 , Jeju, Korea

Call Admission Session must first declare its QOS requirement and characterize the traffic it will send through the network R-spec: defines the QOS being requested T-spec: defines the traffic characteristics A signaling protocol is needed to carry the R-spec and T-spec to the routers where reservation is required; RSVP is a leading candidate for such signaling protocol Call Admission: routers will admit calls based on their R-spec and T-spec and based on the current resource allocated at the routers to other calls APNOMS’02 , Jeju, Korea

Integrated Services: Classes Guaranteed QOS: this class is provided with firm bounds on queuing delay at a router; envisioned for hard real-time applications that are highly sensitive to end-to-end delay expectation and variance Controlled Load: this class is provided a QOS closely approximating that provided by an unloaded router; envisioned for today’s IP network real-time applications which perform well in an unloaded network APNOMS’02 , Jeju, Korea

Differentiated Services Intended to address the following difficulties with Intserv and RSVP; Scalability: maintaining states by routers in high speed networks is difficult due to the very large number of flows Flexible Service Models: Intserv has only two classes, want to provide more qualitative service classes; want to provide ‘relative’ service distinction (Platinum, Gold, Silver, …) Simpler signaling: (than RSVP) many applications and users may only want to specify a more qualitative notion of service Approach: Only simple functions in the core, and relatively complex functions at edge routers (or hosts) Do not define service classes, instead provides functional components with which service classes can be built APNOMS’02 , Jeju, Korea

Edge Functions At DS-capable host or first DS-capable router Classification: edge node marks packets according to classification rules to be specified (manually by admin, or by some TBD protocol) Traffic Conditioning: edge node may delay and then forward or may discard APNOMS’02 , Jeju, Korea

Core Functions Forwarding: according to “Per-Hop-Behavior” or PHB specified for the particular packet class; such PHB is strictly based on class marking (no other header fields can be used to influence PHB) No state info to be maintained by routers! APNOMS’02 , Jeju, Korea

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 It may be desirable to limit traffic injection rate of some class; user declares traffic profile (eg, rate and burst size); traffic is metered and shaped if non-conforming APNOMS’02 , Jeju, Korea

Forwarding (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 PHBs under consideration: Expedited Forwarding: departure rate of packets from a class equals or exceeds a specified rate (logical link with a minimum guaranteed rate) Assured Forwarding: 4 classes, each guaranteed a minimum amount of bandwidth and buffering; each with three drop preference partitions APNOMS’02 , Jeju, Korea

Differentiated Services Issues AF and EF are not even in a standard track yet… research ongoing “Virtual Leased lines” and “Olympic” services are being discussed Impact of crossing multiple ASs and routers that are not DS-capable ... APNOMS’02 , Jeju, Korea

MPLS Multi-Protocol Label Switching: Hop-by-hop or source routing to establish labels Uses label native to the media Multi level label substitution transport Route at edge, switch in core MPLS is responsible for directing a flow of IP packets along a predetermined path across a network. This path is called a label-switched path. Label-switched paths are similar to ATM PVCs in that they are simplex in nature; that is, the traffic flows in one direction from the ingress router to a egress router. Duplex traffic requires two label-switched paths; that is, one path to carry traffic in each direction. A label-switched path is created by the concatenation of one or more label-switched hops, allowing a packet to be forwarded from one label-switching router to another label-switching router across the MPLS domain. A label-switching router is a router that supports MPLS-based forwarding. When an IP packet enters a label-switched path, the ingress router examines the packet and assigns it a label based on its destination, placing the label in the packet’s header. The label transforms the packet from one that is forwarded based on its IP routing information to one that is forwarded based on information associated with the label. The packet is then forwarded to the next router in the label-switched path. The key point in this scheme is that the physical path of the LSP is not limited to what the IGP would choose as the shortest path to reach the destination IP address. IP IP #L1 IP #L2 IP #L3 IP IP Forwarding LABEL SWITCHING IP Forwarding APNOMS’02 , Jeju, Korea

MPLS Header … IP Packet 32-bit MPLS Header IP packet is encapsulated in MPLS header and sent down LSP IP packet is restored at end of LSP by egress router TTL is adjusted by default MPLS is responsible for directing a flow of IP packets along a predetermined path across a network. This path is called a label-switched path. Label-switched paths are similar to ATM PVCs in that they are simplex in nature; that is, the traffic flows in one direction from the ingress router to a egress router. Duplex traffic requires two label-switched paths; that is, one path to carry traffic in each direction. A label-switched path is created by the concatenation of one or more label-switched hops, allowing a packet to be forwarded from one label-switching router to another label-switching router across the MPLS domain. A label-switching router is a router that supports MPLS-based forwarding. When an IP packet enters a label-switched path, the ingress router examines the packet and assigns it a label based on its destination, placing the label in the packet’s header. The label transforms the packet from one that is forwarded based on its IP routing information to one that is forwarded based on information associated with the label. The packet is then forwarded to the next router in the label-switched path. The key point in this scheme is that the physical path of the LSP is not limited to what the IGP would choose as the shortest path to reach the destination IP address. APNOMS’02 , Jeju, Korea

MPLS Header Label Used to match packet to LSP Experimental bits TTL Label Used to match packet to LSP Experimental bits Carries packet queuing priority (CoS) Stacking bit Time to live Copied from IP TTL An MPLS header consists of: 20-bit label—Used to identify the packet to a particular LSP Class of service value—Indicates queuing priority through the network. At each hop along the way, the class of service value determines which packets receive preferential treatment within the tunnel. Stacking bit—Indicates that this MPLS packet has more than one label associated with it. Time to live value—Contains a limit on the number of router “hops” this MPLS packet may travel through the network. It is decremented at each hop, and if the TTL value drops below one, the packet is discarded. APNOMS’02 , Jeju, Korea

Forwarding Equivalence Classes LSP IP1 IP2 IP1 IP2 IP1 #L1 IP2 IP1 #L2 IP2 IP1 #L3 IP2 Packets are destined for different address prefixes, but can be mapped to common path FEC = “A subset of packets that are all treated the same way by a router” The concept of FECs provides for a great deal of flexibility and scalability In conventional routing, a packet is assigned to a FEC at each hop (i.e. L3 look-up), in MPLS it is only done once at the network ingress APNOMS’02 , Jeju, Korea

Policy Based Networking (PBN) Based on policies E.g., give administrators high priority when accessing the network resources Policies are Abstract, Goal oriented “WHAT” instead of “HOW” E.g.: Administrators (10.1.1.x) must have high priority (DSCP=6) HOW approach: Remark 10.1.1.x traffic with DSCP=6 WHAT approach: Give high priority to Administrators The policy is still valid even if: topology and/or service implementation changes E.g., Administrators subnet is changed/expanded Administrators do not need to be associated with a specific subnet! APNOMS’02 , Jeju, Korea

PBN Architecture Policy Directory Editing tool Server Other Services e.g., Event PDP PEP PEP PEP Managed devices APNOMS’02 , Jeju, Korea

Common Open Policy Service The COPS BASE protocol [RFC 2784] Policy-related information exchange b/w the PDP to the PEP Determines the behavior of the entities, as far as the communication is concerned Does not define the semantics of the exchanged data Does not describe HOW this data is produced by the PDP or HOW this data will be interpreted by the PEP COPS client-types Control different management areas (DiffServ, RSVP, accounting, Security, etc.) Each PEP implements one or more clients of various client-types Client-types are defined in separate documents (standard or vendor-specific) COPS-RSVP and COPS-PR are such clients APNOMS’02 , Jeju, Korea

COPS Operation Modes Outsourcing Provisioning PDP PDP PEP PEP Device Current state Current state Policies Policies 3 PROCESS A CHANGE REQ 4 B 2 DEC DEC PEP PEP C New Event INSTALL, UPDATE, DELETE CONFIGURATION DATA 5 1 INSTALL Device Device APNOMS’02 , Jeju, Korea

COPS-PR [RFC 3084] Initialization Provisioning Policy Server The PEP connects to the PDP, reports its capabilities/limitations and requests configuration data The PDP generates the initial policies according to the global policies and current network state The PDP sends initial policies The PEP stores these policies in its PIB. The data in the PIB determines the behavior of the device Provisioning The PDP detects changes The PDP sends commands that add, update or delete policies in the PIB The PEP updates its PIB PDP Current state Policies 2 PROCESS A CHANGE REQ 3 B 1 DEC DEC PEP C INSTALL UPDATE, DELETE BOOT 4 INSTALL PIB Device APNOMS’02 , Jeju, Korea

Policy Information Base A tree of PRovisioning Classes (PRCs) PRovisioning Instances (PRIs) Policies can be constructed as a set of PRIs PIBs are pre-defined Different PIBs for different policing areas (Diffserv, Accounting, IP filtering, etc) APNOMS’02 , Jeju, Korea

PIB Example PRID VALUE 2.1.3.2.1 (100,2) 2.1.3.1.2 (4,NO) 2.2.1.2.1 (100,2,10) 2.2.1.2.2 (100,1,11) 2.2.1.1.1 (128.1.1.1,6) 2.2.1.1.2 (128.1.1.2,6) APNOMS’02 , Jeju, Korea

COPS-PR policy examples if traffic to IPs 128.1.1.1 or 128.1.1.2 has DSCP=4 then remark it with DSCP=6 Event: PDP->PEP DEC PIB (@ PEP) 2.1.3.2.1  (100,2) 2.1.3.1.2  (6,NO) 2.2.1.2.1  (100,2,10) 2.2.1.2.2  (100,1,11) 2.2.1.1.1  (128.1.1.1,4) 2.2.1.1.2  (128.1.1.2,4) PEP connects Install: 2.1.3.2.1  (100,2) 2.1.3.1.2  (6,NO) 2.2.1.2.1  (100,2,10) 2.2.1.2.2  (100,1,11) 2.2.1.1.1  (128.1.1.1,4) 2.2.1.1.2  (128.1.1.2,4) APNOMS’02 , Jeju, Korea

COPS-PR policy examples (Cont) if traffic to engineers has DSCP=4 then remark it with DSCP=6 2.1.3.2.1  (100,2) 2.1.3.1.2  (6,NO) 2.2.1.2.1  (100,2,10) 2.2.1.1.1  (128.1.1.1,4) Remove: 2.2.1.2.2 2.2.1.1.2 Engineer at 128.1.1.2 logs out if traffic to 128.1.1.1 has DSCP=4 then remark with DSCP=6 <EMPTY> <NULL> PEP connects No Engineer is logged Similar to the first case Install: 2.2.1.2.2  (100,1,11) 2.2.1.1.2  (128.1.1.3,4) An Engineer logs to 128.1.1.3 (similar to the first case) 2.2.1.1.2  (128.1.1.2,4) Two Engineers log on at 128.1.1.1 and 128.1.1.2 if traffic to 128.1.1.1 or 128.1.1.2 has DSCP=4 PIB (@ PEP) PDP->PEP DEC Event: APNOMS’02 , Jeju, Korea

COPS-PR Shortcomings Shortcomings: Policy: if network is not congested then mark with DSCP=6 all traffic from 128.1.1.1 else (when network is congested), mark it with DSCP=4 Suppose the PIB supports policies of the form: if packet matches X then set DSCP=Y PDP operation in COPS-PR: if network is not congested then ConfData1, where ConfData1 implements “if packet matches 128.1.1.1 then set DSCP=6” if network is congested then ConfData2, where ConfData2 implements “if packet matches 128.1.1.1 then set DSCP=4” Shortcomings: The PEP can only store and process limited types of policies The PDP communicates decisions instead of a decision-making process The PDP needs to be present in cases where this could be avoided APNOMS’02 , Jeju, Korea

Meta-Policies The PDP sends to the PEP the following rules (meta-policies): if (!C) then ConfData1, (“if packet matches 128.1.1.1 then set DSCP=6”) if (C) then ConfData2, (“if packet matches 128.1.1.1 then set DSCP=4”) Also, the PDP Sends values for “C” according to the network state (congestion) Or, directs the PEP how to evaluate C (e.g., from its MIB) APNOMS’02 , Jeju, Korea

The small company example Internal LAN traffic is always allowed The administrator can always access the Internet, whenever and from wherever he/she is logged in. During overall congestion, traffic between the employee domain and the Internet is denied. Internet can be accessed only during working hours (Monday to Friday, 9:00-17:00) (Rule #1 has the highest priority, rule #4 the lowest) “overall congestion” : evaluated based on the load @ the interfaces of Router A PIB of Router A: If ((Source matches Srcaddr/Srcmask) && (Destination matches Destaddr/Destmask) ) then allow Prid Src SM Dst DM APNOMS’02 , Jeju, Korea

Without Meta-policies Events 08:59: No Admin. logged on 09:00: Start of working day 11:00: Congestion detected 11:05: No congestion 15:08: Congestion detected 15:11: Administrator logs on at X.Y.3.7 15:20: No congestion 17:00: End of working day 17:15: Administrator logs out APNOMS’02 , Jeju, Korea

With Meta-Policies Events: 08:59: No Admin. logged on Congestion Authentication server PDP Administrator logged in AdminLogged=true, AdminIP=X.Y.3.7 7 5 6 12 11 10 8 4 2 1 9 3 Clock service, End of working day logged out Router A Boot Initial policies and meta-policies Prid SrcAddr SrcMask DstAddr DstMask X.Y.*.* 24 *.*.*.* * X.Y.1.0 X.Y.2.0 X.Y.3.7 8:59 9:00 11:00 17:15 11:05 15:08 15:11 15:20 17:00 parameter: evaluation method WorkTime: value sent by the PDP AdminLogged: AdminIP: if1Util: MIB variable a.b.c.d.e1 if2Util: MIB variable a.b.c.d.e2 if3Util: MIB variable a.b.c.d.e3 Meta-Policies Parameter evaluation methods FALSE Initial values MIB of No Congestion AdminLogged=false, AdminIP=0.0.0.0 id Condition Actions WorkTime install (2,*.*.*.*,24,*.*.*,*,24) install (3,X.Y.1.0,24,*.*.*.*,24) install (4, *.*.*.*,24, X.Y.1.0,24) install (5,X.Y.2.0,24,*.*.*.*,24) install (6, *.*.*.* ,24, X.Y.2.0,24) install(1,AdminIP,24,*.*.*.*,24) install(1, *.*.*.*,24, AdminIP,24,) (if1Util>80%) or (if2Itil>80%) (if3Util>80%) AdminLogged higher lower conflicts Beginning of Events: 08:59: No Admin. logged on 09:00: start of working day 11:00: congestion detected 11:05: no congestion 15:08: congestion detected 15:11: administrator logs on at X.Y.3.7 15:20: no congestion 17:00: end of working day 17:15: administrator logs out APNOMS’02 , Jeju, Korea

Meta-Policies: Formal Definition if (Condition) then {Actions} Actions: pre-generated COPS-PR commands may contain parameters Condition: a logical expression (encoded in a predefined way, e.g., according to an XML DTD) contains parameters The PDP directs the PEP how to evaluate the parameters MIB Value sent by the PDP Other (download script or code, LDAP, …) APNOMS’02 , Jeju, Korea

The Meta-Policy PIB PRCs APNOMS’02 , Jeju, Korea

Scenarios For each high-level policy, the PDP has the following options: Scenario 1: PDP sends a meta-policy. All (or some) parameters are evaluated by the PDP and sent to the PEP. Less PDP processing  scalability Smaller messages  robustness, efficiency Scenario 2: PDP sends a meta-policy. All parameters are evaluated by the PEP. All previous More distribution  scalability, efficiency Self dependency  robustness, fault-tolerance Scenario 3: PDP sends a meta-policy. It monitors (some) parameters, but it directs the PEP how to evaluate them, in case of PDP absence. All advantages of scenario 1 Fault-tolerance, robustness Scenario 4: PDP processes the policy and sends configuration data to the PEP according to COPS-PR (mainly for compatibility reasons) APNOMS’02 , Jeju, Korea

Conclusion Advantages of using Meta-policies: Efficiency Distribution Bandwidth: Similar commands do not need to be send to the PEP Some of the monitoring can be performed by the PEP PDP resources: CPU and memory savings (similar commands do not need to be re-generated or re-validated). Distribution Intelligence is distributed towards the PEPs Monitoring and Decision-Making are de-centralized Robustness Probability of PDP overload is reduced Less big DEC messages, which may get lost in a congested network, are exchanged Fault-tolerance Devices can operate correctly during larger periods of PDP absence APNOMS’02 , Jeju, Korea

Conclusion (Cont) Tradeoff: Additional functionality  increased complexity PDP: More complex algorithms However, the PDP is already complex PEP: Increased CPU & memory requirements The PDP may decide to send only a small number of selected meta-policies that will not overload the devices but they will increase the overall efficiency significantly The backwards compatibility allows PEPs not to implement the extra functionality (no meta-policies) APNOMS’02 , Jeju, Korea

References Open Source Internet Drafts Publications The Meta-Policy Information Base, http://sourceforge.net/projects/metapib/ Internet Drafts A. Polyrakis and R. Boutaba, The Meta-Policy PIB, Internet Draft, IETF, http://www.ietf.org/internet-drafts/draft-polirakis-mpib-00.txt. R. Boutaba and A. Polyrakis, COPS-PR-MP, Internet Draft, IETF, http://www.ietf.org/internet-drafts/draft-boutaba-copsprmp-00.txt Publications A. Polyrakis and R. Boutaba, The Meta-Policy Information Base, IEEE Network Magazine, special issue on Policy-based Networking, Vol.16, No. 2, pp. 40-48 2002. R. Boutaba and A. Polyrakis, Extending COPS-PR with Meta-policies for Scalable management of IP Networks, Journal of Network and Systems Management, special issue on Management of Converged Networks, Vol. 10, No. 1, March 2002 R. Boutaba, A. Polirakis, Towards Extensible Policy Enforcement Points, IEEE Policy Workshop (Policy’01), pp. 247-261, 2001. APNOMS’02 , Jeju, Korea