Download Part I: Introduction

Document related concepts

Video on demand wikipedia , lookup

AppleTalk wikipedia , lookup

Computer network wikipedia , lookup

Zero-configuration networking wikipedia , lookup

Airborne Networking wikipedia , lookup

Distributed firewall wikipedia , lookup

RapidIO wikipedia , lookup

Lag wikipedia , lookup

Asynchronous Transfer Mode wikipedia , lookup

TCP congestion control wikipedia , lookup

Multiprotocol Label Switching wikipedia , lookup

IEEE 1355 wikipedia , lookup

Internet protocol suite wikipedia , lookup

SIP extensions for the IP Multimedia Subsystem wikipedia , lookup

Wake-on-LAN wikipedia , lookup

Cracking of wireless networks wikipedia , lookup

Streaming media wikipedia , lookup

Deep packet inspection wikipedia , lookup

Real-Time Messaging Protocol wikipedia , lookup

Recursive InterNetwork Architecture (RINA) wikipedia , lookup

Net bias wikipedia , lookup

Quality of service wikipedia , lookup

Transcript
Multimedia
Applications
Multimedia and QoS
#1
Multimedia Applications
 Multimedia requirements
 Streaming
 Recovering from Jitter and Loss
 RTP
Multimedia and QoS
#2
Application Classes
 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 of applications:
 Streaming
 Unidirectional Real-Time
 Interactive Real-Time
Multimedia and QoS
#3
Application Classes (more)
 Streaming
 Clients request audio/video files from servers and
pipeline reception over the network and display
 Interactive: user can control operation (similar to VCR:
pause, resume, fast forward, rewind, etc.)
 Delay: from client request until display start can be 1 to
10 seconds
Multimedia and QoS
#4
Application Classes (more)
 Unidirectional Real-Time:
 similar to existing TV and radio stations,
• but delivery on the network

Non-interactive, just listen/view
 Interactive Real-Time :
 Phone conversation or video conference
 More stringent delay requirement than Streaming and
Unidirectional because of real-time nature
 Video: < 150 msec acceptable
 Audio: < 150 msec good, <400 msec acceptable
Multimedia and QoS
#5
Multimedia 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?...
Multimedia and QoS
#6
Challenges (more)
 Most router implementations:
 use only First-Come-First-Serve (FCFS)
 Limited packet processing and transmission scheduling
 To mitigate impact of “best-effort” protocols, we
can:



Use UDP to avoid TCP and its slow-start phase…
Buffer content at client and control playback to remedy
jitter
Adapt compression level to available bandwidth
Multimedia and QoS
#7
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 (“Differentiated
Services”):



Use two traffic classes for all packets and differentiate
service accordingly
Charge based on class of packets
Network capacity is provided to ensure first class
packets incur no significant delay at routers
Multimedia and QoS
#8
Encoding and compressing Audio
 Pulse Code Modulation (PCM)
 Sample at a fixed rate
• value is an arbitrary real number


Quantization: map samples to a given set of values
Encoding: encode the values as bits.
 Examples:
 sample rate 8000/sec. & 256 values : 64Kbps
 CD: sample 44,100/sec. & 16 bits : 705.6 Kbps
 Compressions:
 Depend on the output rate:
• GSM (13 Kbps) G.729 (8 Kbps) G.723.3 (6.4 or 5.3 Kbps)
• MP3 (128 or 112 Kbps)
Multimedia and QoS
#9
Video Compression
 Raw rate:
 images: 24 or 30 per second.
 Size: 1024 x 1024 = 1 M pixels
 pixel encoding 24 bit
 Rate: 576 or 900 Mbps !!!
 Compression schemes (many):
 MPEG 1 (1.5 Mbps) CD quality
 MPEG 2 (3-6 Mbps) DVD quality
 Motion JPEG
 H.261 (for ISDN)
 Variable rate compression
 Compression is a world of its own
Multimedia and QoS
#10
Streaming
 Important and growing application due to
 reduction of storage costs,
 increase in high speed net 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)
Multimedia and QoS
#11
Streaming
 User interactive control is provided, e.g. the public
protocol Real Time Streaming Protocol (RTSP)
 Helper Application: displays content, which is
typically requested via a Web browser; e.g.
RealPlayer; typical functions:




Decompression
Jitter removal
Error correction: use redundant packets to be used for
reconstruction of original stream
GUI for user control
Multimedia and QoS
#12
Streaming From Web Servers: I
 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
- No pipelining
Multimedia and QoS
#13
Streaming From Web Server: II
 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
Multimedia and QoS
#14
Meta file requests
Multimedia and QoS
#15
III: 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)
Multimedia and QoS
#16
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
Multimedia and QoS
#17
Real Time Streaming Protocol (RTSP)
 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 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
Multimedia and QoS
#18
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">
<track type=audio
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>
Multimedia and QoS
#19
RTSP Operation
Multimedia and QoS
#20
Jitter: Definitions
 Input: t0, …, tn
 Delay Jitter:
 Delay jitter J
 For every k: |t0 + kX - tk |  J
 X = (tn - t0) / n
 Rate Jitter
 Rate Jitter A
 Ik = tk - tk-1
 For every k and j: |Ij - Ik|  A
 Jitter and buffering
 delay versus jitter
Multimedia and QoS
#21
Fixed Playout Delay (Delay Jitter)
Multimedia and QoS
#22
Adaptive Playout Delay (Rate Jitter)
 Objective is to use a delay value that tracks the
network delay performance as it varies

Modify the inter-packet times
 Estimate the inter-arrival time
 Similar to estimates of RTT and deviation in TCP
 Use the estimate for playout rate
Multimedia and QoS
#23
Recovery From Packet Loss
 Loss is in a broader sense:
 packet never arrives or
 arrives later than its scheduled playout time
 Retransmission is inappropriate for Real Time
applications,
 Other methods are used to reduce loss impact.
Multimedia and QoS
#24
I: Recovery From Packet Loss - FEC
 FEC is Forward Error Correction
 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
 More errors ...
Multimedia and QoS
#25
II: Recovery From Loss - Mixed Quality
 Include two qualities
 High quality
 Low quality
 If high quality lost, play low quality.
 Better lower quality than nothing
 Send the low quality with the next high quality
 Can recover from single losses
 Bandwidth blowup:
 Depends on the low quality
Multimedia and QoS
#26
Piggybacking Lower Quality Stream
Multimedia and QoS
#27
III: Recovery From Loss - Interleaving
 Divide audio data to smaller units and interleave
 Upon loss, the missing data is spread out
 Has no redundancy, but can cause delay in playout
beyond Real Time requirements
Multimedia and QoS
#28
Real-Time Protocol (RTP)
 Provides standard packet format for real-time




application
Typically runs over UDP
Specifies header fields below
Payload Type: 7 bits, providing 128 possible
different types of encoding; eg PCM, MPEG2
video, etc.
Sequence Number: 16 bits; used to detect packet
loss
Multimedia and QoS
#29
Real-Time Protocol (RTP)
 Timestamp: 32 bytes; gives the sampling instant
of the first audio/video byte in the packet; used
to remove jitter introduced by the network
 Synchronization Source identifier (SSRC): 32
bits; an id for the source of a stream; assigned
randomly by the source
Multimedia and QoS
#30
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
Multimedia and QoS
#31
Quality of
Service
Support
Multimedia and QoS
#32
QoS in IP Networks
 IETF groups are working on proposals to provide
QoS control in IP networks, i.e., 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:
Multimedia and QoS
#33
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
Multimedia and QoS
#34
Principles for QOS Guarantees (more)
 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:
Multimedia and QoS
#35
Principles for QOS Guarantees (more)
 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
Multimedia and QoS
#36
Principles for QOS Guarantees (more)
 Cannot support traffic beyond link capacity
 Two phone calls each requests 1 Mbps
 PRINCIPLE 4: Need a Call Admission Process;
application flow declares its needs, network may
block call if it cannot satisfy the needs
Multimedia and QoS
#37
Summary
Multimedia and QoS
#38
Scheduling And Policing Mechanisms
 Scheduling: choosing the next packet for transmission
 FIFO
 Priority Queue
 Round Robin
 Weighted Fair Queuing
 We had a lecture on that!
Multimedia and QoS
#39
Multimedia and QoS
#40
Policing Mechanisms
 (Long term) Average Rate
 100 packets per sec or 6000 packets per min??
• crucial aspect is the interval length
 Peak Rate:
 e.g., 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
 Units of measurement
 Packets versus bits
Multimedia and QoS
#41
Policing Mechanisms
 Token Bucket mechanism, provides a means for
limiting input to specified Burst Size and Average
Rate.
 Bucket can hold b tokens;
 tokens 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).
Multimedia and QoS
#42
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
Multimedia and QoS
#43
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
Multimedia and QoS
#44
Call Admission
 Call Admission: routers will admit calls based on
their R-spec and T-spec and base on the current
resource allocated at the routers to other calls.
Multimedia and QoS
#45
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 realtime applications which perform well in an
unloaded network
Multimedia and QoS
#46
QoS Routing: Multiple constraints
 A request specifies the desired QoS requirements
 e.g., BW, Delay, Jitter, packet loss, path reliability etc
 Two type of constraints:
 Additive: e.g., delay
 Maximum (or Minimum): e.g., Bandwidth
 Task
 Find a (min cost) path which satisfies the constraints
 if no feasible path found, reject the connection
Multimedia and QoS
#47
Example of QoS Routing
A
B
Constraints: Delay (D) < 25, Available Bandwidth (BW) > 30
Multimedia and QoS
#48
Example of QoS Routing
A
B
Constraints: Delay (D) < 25, Available Bandwidth (BW) > 30
Multimedia and QoS
#49
Differentiated Services
 Intended to address the following difficulties
with Intserv and RSVP;
 Scalability: maintaining states by routers in high
speed networks is difficult sue 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
Multimedia and QoS
#50
Differentiated Services
 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
Multimedia and QoS
#51
Edge Functions at DiffServ (DS)
 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
Multimedia and QoS
#52
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)
 BIG ADVANTAGE:
No state info to be maintained by routers!
Multimedia and QoS
#53
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
Multimedia and QoS
#54
Classification and Conditioning
 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
Multimedia and QoS
#55
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
Multimedia and QoS
#56
Forwarding (PHB)
 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
Multimedia and QoS
#57
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
Multimedia and QoS
#58
DiffServ Routers
DiffServ
Edge
Router
Classifier
DiffServ
Core
Router
Marker
Select PHB
Extract
DSCP
PHB
PHB
PHB
PHB
Meter
Policer
Local
conditions
Packet
treatment
Multimedia and QoS
#59
IntServ vs. DiffServ
IntServ
network
DiffServ
network
"Call blocking"
approach
"Prioritization"
approach
Multimedia and QoS
#60
Comparison of Intserv & Diffserv
Architectures
Intserv
Granularity of service
differentiation
State in routers(e.g.
scheduling, buffer
management)
Traffic Classification
Basis
Type of service
differentiation
Individual Flow
Admission Control
Required
Signaling Protocol
Required(RSVP)
Diffserv
Per Flow
Aggregate of
flows
Per Aggregate
Several header fields
DS Field
Deterministic or
statistical guarantees
Absolute or
relative
assurance
Required for
absolute
differentiation
Not required for
relative schemes
Multimedia and QoS
#61
Comparison of Intserv & Diffserv
Architectures
Coordination for
service differentiation
Scope of Service
Differentiation
Scalabilty
Network Accounting
Network Management
Interdomain
deployment
Intserv
Diffserv
End-to-End
Local (Per-Hop)
A Unicast or Multicast Anywhere in a
path
Network or in
specific paths
Limited by the number Limited by the
of flows
number of classes
of service
Based on flow
Based on class
characteristics and QoS usage
requirement
Similar to Circuit
Similar to existing
Switching networks
IP networks
Multilateral
Bilateral
Agreements
Agreements
Multimedia and QoS
#62