www.cs.kau.se
Download
Report
Transcript www.cs.kau.se
Review Computer Communication II
Karlstads Universitet
Datavetenskap
Datakommunikation II
Katarina Asplund
1
Part I – Multimedia networking
•
•
•
•
Taxonomy of multimedia applications
Streaming stored audio and video
making the best out of best effort service
protocols for real-time interactive applications
RTP,RTCP
• providing multiple classes of service
• providing QoS guarantees
Karlstads Universitet
Datavetenskap
Datakommunikation II
Katarina Asplund
2
MM Networking Applications
Classes of MM applications:
1) stored streaming
2) live streaming
3) interactive, real-time
Jitter is the variability
of packet delays within
the same packet stream
Karlstads Universitet
Datavetenskap
Fundamental characteristics:
• typically delay sensitive
– end-to-end delay
– delay jitter
• loss tolerant: infrequent losses
cause minor glitches
• antithesis of data, which are
loss intolerant but delay
tolerant.
Datakommunikation II
Katarina Asplund
3
Multimedia Over Today’s Internet
TCP/UDP/IP: “best-effort service”
• no guarantees on delay, loss
?
?
?
?
?
?
?
?
But you said multimedia apps requires
QoS and level of performance to be
? effective!
?
?
Today’s Internet multimedia applications
use application-level techniques to mitigate
(as best possible) effects of delay, loss
Karlstads Universitet
Datavetenskap
Datakommunikation II
Katarina Asplund
4
How should the Internet evolve to better
support multimedia?
Integrated services philosophy:
• fundamental changes in Internet so
that apps can reserve end-to-end
bandwidth
• requires new, complex software in
hosts & routers
Laissez-faire
• no major changes
• more bandwidth when needed
• content distribution, applicationlayer multicast
– application layer
Differentiated services philosophy:
• fewer changes to Internet
infrastructure, yet provide 1st and
2nd class service
What’s your opinion?
Karlstads Universitet
Datavetenskap
Datakommunikation II
Katarina Asplund
5
Streaming Stored Multimedia
application-level streaming
techniques for making the
best out of best effort
service:
– client-side buffering
– use of UDP versus TCP
– multiple encodings of
multimedia
• Use web server or streaming
server
Karlstads Universitet
Datavetenskap
Media Player
•
•
•
•
jitter removal
decompression
error concealment
graphical user interface
w/ controls for interactivity
(RTSP)
Datakommunikation II
Katarina Asplund
6
Streaming Multimedia: UDP or TCP?
UDP
• server sends at rate appropriate for client (oblivious to network congestion !)
– often send rate = encoding rate = constant rate
– then, fill rate = constant rate - packet loss
• short playout delay (2-5 seconds) to remove network jitter
• error recover: time permitting
TCP
• send at maximum possible rate under TCP
• fill rate fluctuates due to TCP congestion control
• larger playout delay: smooth TCP delivery rate
• HTTP/TCP passes more easily through firewalls
Karlstads Universitet
Datavetenskap
Datakommunikation II
Katarina Asplund
7
Real-time applications
• network loss: IP datagram lost due to network congestion
(router buffer overflow)
• delay loss: IP datagram arrives too late for playout at
receiver
– delays: processing, queueing in network; end-system
(sender, receiver) delays
– typical maximum tolerable delay: 400 ms
• loss tolerance: depending on voice encoding, losses
concealed, packet loss rates between 1% and 10% can be
tolerated.
• Delay jitter
Karlstads Universitet
Datavetenskap
Datakommunikation II
Katarina Asplund
8
Mechanisms
• Jitter
– Seq#, timestamps, delaying playout
– Playout delay: fixed, adaptive
• Loss
– Forward error correction (FEC)
– Interleaving
Karlstads Universitet
Datavetenskap
Datakommunikation II
Katarina Asplund
9
Content distribution networks (CDNs)
Content replication
• challenging to stream large files (e.g.,
video) from single origin server in real
time
• solution: replicate content at hundreds of
servers throughout Internet
– content downloaded to CDN servers
ahead of time
– placing content “close” to user avoids
impairments (loss, delay) of sending
content over long paths
– CDN server typically in edge/access
network
Karlstads Universitet
Datavetenskap
origin server
in North America
CDN distribution node
CDN server
in S. America
Datakommunikation II
CDN server
in Europe
CDN server
in Asia
Katarina Asplund
10
Summary: Internet Multimedia: bag of tricks
• use UDP to avoid TCP congestion control (delays) for timesensitive traffic
• client-side adaptive playout delay: to compensate for delay
• server side matches stream bandwidth to available client-toserver path bandwidth
– chose among pre-encoded stream rates
– dynamic server encoding rate
• error recovery (on top of UDP)
– FEC, interleaving, error concealment
– retransmissions, time permitting
• CDN: bring content closer to clients
Karlstads Universitet
Datavetenskap
Datakommunikation II
Katarina Asplund
11
Real-Time Protocol (RTP)
• RTP runs in end systems
• RTP specifies packet
structure for packets
• RTP packets encapsulated
carrying audio, video data
in UDP segments
• RFC 3550
• interoperability: if two
Internet phone
• RTP packet provides
applications run RTP, then
– payload type
they may be able to work
identification
together
– packet sequence
numbering
– time stamping
Karlstads Universitet
Datavetenskap
Datakommunikation II
Katarina Asplund
12
RTP and QoS
• RTP does not provide any mechanism to ensure
timely data delivery or other QoS guarantees.
• RTP encapsulation is only seen at end systems
(not) by intermediate routers.
– routers providing best-effort service, making no
special effort to ensure that RTP packets arrive
at destination in timely matter.
Karlstads Universitet
Datavetenskap
Datakommunikation II
Katarina Asplund
13
Real-Time Control Protocol (RTCP)
• works in conjunction with RTP. • feedback can be used to
control performance
• each participant in RTP session
– sender may modify its
periodically transmits RTCP
transmissions based on
control packets to all other
feedback
participants.
• each RTCP packet contains
sender and/or receiver reports
– report statistics useful to
application: # packets sent,
# packets lost, interarrival
jitter, etc.
Karlstads Universitet
Datavetenskap
Datakommunikation II
Katarina Asplund
14
Providing Multiple Classes of Service
• thus far: making the best of best effort service
– one-size fits all service model
• alternative: multiple classes of service
– partition traffic into classes
– network treats different classes of traffic differently (analogy: VIP
service vs regular service)
• granularity: differential
service among multiple
classes, not among
0111
individual connections
• history: ToS bits
Karlstads Universitet
Datavetenskap
Datakommunikation II
Katarina Asplund
15
Principles for QoS guarantees
• Packet marking to distinguish between classes +
new router policy to treat packets differently
• Protect classes from each other (isolation)
• Use resources as efficient as possible
• Call admission (hard guarantees)
Karlstads Universitet
Datavetenskap
Datakommunikation II
Katarina Asplund
16
Scheduling and Policing mechanisms
• Scheduling
– FIFO
– Priority scheduling
– Weighted fair Queuing (WFQ)
• Policing
– Token bucket to regulate sending rate
Karlstads Universitet
Datavetenskap
Datakommunikation II
Katarina Asplund
17
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 define service classes, provide functional
components to build service classes
Karlstads Universitet
Datavetenskap
Datakommunikation II
Katarina Asplund
18
IETF Integrated Services
• architecture for providing QOS guarantees in IP
networks for individual application sessions
• resource reservation: routers maintain state info (a la
VC) of allocated resources, QoS req’s
• admit/deny new call setup requests:
Question: can newly arriving flow be admitted
with performance guarantees while not violated
QoS guarantees made to already admitted flows?
Karlstads Universitet
Datavetenskap
Datakommunikation II
Katarina Asplund
19
Part II - signaling
• Telecom signaling
– SS7
• Voice over IP
– Overview
– SIP
• SCTP
Karlstads Universitet
Datavetenskap
Datakommunikation II
Katarina Asplund
20
SIP Services
• Setting up a call, SIP provides
mechanisms ..
– for caller to let callee know she
wants to establish a call
– so caller, callee can agree on
media type, encoding
– to end call
Karlstads Universitet
Datavetenskap
• determine current IP address of
callee:
– maps mnemonic identifier to
current IP address
– SIP proxy, SIP registrar
• call management:
– add new media streams during
call
– change encoding during call
– invite others
– transfer, hold calls
Datakommunikation II
Katarina Asplund
21
Setting up a call to known IP address
Bob
Alice
167.180.112.24
INVITE bob
@193.64.2
10.89
c=IN IP4 16
7.180.112.2
4
m=audio 38
060 RTP/A
VP 0
193.64.210.89
Bob's
terminal rings
200 OK
.210.89
c=IN IP4 193.64
RTP/AVP 3
m=audio 48753
ACK
port 5060
m Law audio
port 38060
GSM
time
Karlstads Universitet
Datavetenskap
indicates her port number, IP
address, encoding she prefers
to receive (PCM ulaw)
Bob’s 200 OK message
indicates his port number, IP
address, preferred encoding
(GSM)
port 5060
port 5060
Alice’s SIP invite message
port 48753
SIP messages can be sent
over TCP or UDP; here sent over
RTP/UDP.
default
5060.
SIP port number is
time
Datakommunikation II
Katarina Asplund
22
What is SCTP?
• A (relatively) new general purpose transport
protocol
• Main motivation: TCP and UDP are inadequate for
telephony signaling transport
• Provides a reliable message-oriented transport
service
• + a number of functions beneficial for telephony
signaling
Karlstads Universitet
Datavetenskap
Datakommunikation II
Katarina Asplund
23
TCP Limitations
• Enforces total ordering of data
– May cause head-of-line blocking
• Is byte-oriented, i.e. does not support framing of
message boundaries
• Has no support for multi-homing
– Difficult to build link or path-level redundancy
• Is vulnerable to denial of service attacks
– Security is often a top priority for phone appl.
Karlstads Universitet
Datavetenskap
Datakommunikation II
Katarina Asplund
24
UDP Limitations
• Provides unreliable transport service
• Packets can be lost, duplicated or arrive out-oforder
• Has no congestion control mechanism
• Possible for the application to build its own
mechanism for the above, but…
Karlstads Universitet
Datavetenskap
Datakommunikation II
Katarina Asplund
25
Comparing SCTP to TCP - similarities
• Both are connection-oriented, i.e. exchange
messages at startup and closing down
• Both provides reliability through retransmissions,
using either timeouts or fast retransmit
• Both provides for orderly delivery of data (but
SCTP also allows for no or partial ordering)
• Both use the same congestion control mechanism
– Slow start, congestion avoidance (AIMD)
Karlstads Universitet
Datavetenskap
Datakommunikation II
Katarina Asplund
26
Comparing SCTP to TCP - differences
• Startup procedure
– Better protection against SYN flooding
• Message abstraction
– Easier buffering and framing for receiving application
• Multi-streaming
– Protection against head-of-line blocking
• Multi-homing
– Better robustness in the presence of network failure
Karlstads Universitet
Datavetenskap
Datakommunikation II
Katarina Asplund
27