7: Multimedia Networking 7-1 SIP Session Initiation Protocol Comes from IETF SIP long-term vision All telephone calls and video conference calls take place over the Internet People are identified by names or e-mail addresses, rather than by phone numbers. You can reach the callee, no matter where the callee roams, no matter what IP device the callee is currently using.
66
Embed
7: Multimedia Networking7-1 SIP r Session Initiation Protocol r Comes from IETF SIP long-term vision r All telephone calls and video conference calls take.
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
7: Multimedia Networking 7-1
SIP
Session Initiation Protocol Comes from IETFSIP long-term vision All telephone calls and video conference calls
take place over the Internet People are identified by names or e-mail
addresses, rather than by phone numbers. You can reach the callee, no matter where the
callee roams, no matter what IP device the callee is currently using.
7: Multimedia Networking 7-2
SIP Services
Setting up a call Provides mechanisms
for caller to let callee know she wants to establish a call
Provides mechanisms so that caller and callee can agree on media type and encoding.
Provides mechanisms to end call.
Determine current IP address of callee. Maps mnemonic
identifier to current IP address
Call management Add new media
streams during call Change encoding
during call Invite others Transfer and hold
calls
7: Multimedia Networking 7-3
Setting up a call to a known IP address
• Alice’s SIP invite message indicates her port number & IP address. Indicates encoding that Alice prefers to receive (PCM ulaw)
• Bob’s 200 OK message indicates his port number, IP address & preferred encoding (GSM)
• SIP messages can be sent over TCP or UDP; here sent over RTP/UDP. •Default SIP port number is 5060.
time time
Bob'stermina l rings
A lice
167.180.112.24
Bob
193.64.210.89
port 38060
Law audio
G SMport 48753
7: Multimedia Networking 7-4
Setting up a call (more) Codec negotiation:
Suppose Bob doesn’t have PCM ulaw encoder.
Bob will instead reply with 606 Not Acceptable Reply and list encoders he can use.
Alice can then send a new INVITE message, advertising an appropriate encoder.
(1) Jim sends INVITEmessage to umass SIPproxy. (2) Proxy forwardsrequest to upenn registrar server. (3) upenn server returnsredirect response,indicating that it should try [email protected]
(4) umass proxy sends INVITE to eurecom registrar. (5) eurecom registrar forwards INVITE to 197.87.54.21, which is running keith’s SIP client. (6-8) SIP response sent back (9) media sent directly between clients. Note: also a SIP ack message, which is not shown.
SIP client217.123.56.89
SIP client197.87.54.21
SIP proxyum ass.edu
SIP registrarupenn.edu
SIPregistrareurecom .fr
1
2
34
5
6
7
8
9
7: Multimedia Networking 7-10
Comparison with H.323
H.323 is another signaling protocol for real-time, interactive
H.323 is a complete, vertically integrated suite of protocols for multimedia conferencing: signaling, registration, admission control, transport and codecs.
SIP is a single component. Works with RTP, but does not mandate it. Can be combined with other protocols and services.
H.323 comes from the ITU (telephony).
SIP comes from IETF: Borrows much of its concepts from HTTP. SIP has a Web flavor, whereas H.323 has a telephony flavor.
SIP uses the KISS principle: Keep it simple stupid.
7: Multimedia Networking 7-11
Chapter 7 outline
7.1 Multimedia Networking Applications
7.2 Streaming stored audio and video
7.3 Real-time Multimedia: Internet Phone study
7.4 Protocols for Real-Time Interactive Applications RTP,RTCP,SIP
7.5 Distributing Multimedia: content distribution networks
7.6 Beyond Best Effort
7.7 Scheduling and Policing Mechanisms
7.8 Integrated Services and Differentiated Services
7.9 RSVP
7: Multimedia Networking 7-12
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
origin server in North America
CDN distribution node
CDN serverin S. America CDN server
in Europe
CDN serverin Asia
7: Multimedia Networking 7-13
Content distribution networks (CDNs)
Content replication CDN (e.g., Akamai)
customer is the content provider (e.g., CNN)
CDN replicates customers’ content in CDN servers. When provider updates content, CDN updates servers
origin server in North America
CDN distribution node
CDN serverin S. America CDN server
in Europe
CDN serverin Asia
7: Multimedia Networking 7-14
CDN example
origin server (www.foo.com) distributes HTML replaces: http://www.foo.com/sports.ruth.gif
with
http://www.cdn.com/www.foo.com/sports/ruth.gif
HTTP request for
www.foo.com/sports/sports.html
DNS query for www.cdn.com
HTTP request for
www.cdn.com/www.foo.com/sports/ruth.gif
1
2
3
Origin server
CDNs authoritative DNS server
NearbyCDN server
CDN company (cdn.com) distributes gif files uses its authoritative
DNS server to route redirect requests
7: Multimedia Networking 7-15
More about CDNs
routing requests CDN creates a “map”, indicating distances
from leaf ISPs and CDN nodes when query arrives at authoritative DNS
server: server determines ISP from which query originates uses “map” to determine best CDN server
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?
7: Multimedia Networking 7-26
Scheduling Policies: still moreround robin scheduling: multiple classes cyclically scan class queues, serving one from each class (if available) real world example?
7: Multimedia Networking 7-27
Scheduling Policies: still more
Weighted Fair Queuing: generalized Round Robin each class gets weighted amount of service in
each cycle real-world example?
7: Multimedia Networking 7-28
Policing Mechanisms
Goal: limit traffic to not exceed declared parameters
Three common-used criteria: (Long term) Average Rate: how many pkts can be sent per unit time
(in the long run) crucial question: what is the interval length: 100 packets per sec or 6000
packets per min have same average!
Peak Rate: e.g., 6000 pkts per min. (ppm) avg.; 1500 ppm peak rate (Max.) Burst Size: max. number of pkts sent consecutively (with no
intervening idle)
7: Multimedia Networking 7-29
Policing Mechanisms
Token Bucket: limit input to specified Burst Size and Average Rate.
bucket can hold b tokens tokens generated at rate r token/sec unless
bucket full over interval of length t: number of packets
admitted less than or equal to (r t + b).
7: Multimedia Networking 7-30
Policing Mechanisms (more)
token bucket, WFQ combine to provide guaranteed upper bound on delay, i.e., QoS guarantee!
WFQ
token rate, r
bucket size, b
per-flowrate, R
D = b/Rmax
arrivingtraffic
7: Multimedia Networking 7-31
Chapter 7 outline
7.1 Multimedia Networking Applications
7.2 Streaming stored audio and video
7.3 Real-time Multimedia: Internet Phone study
7.4 Protocols for Real-Time Interactive Applications RTP,RTCP,SIP
7.5 Distributing Multimedia: content distribution networks
7.6 Beyond Best Effort
7.7 Scheduling and Policing Mechanisms
7.8 Integrated Services and Differentiated Services
7.9 RSVP
7: Multimedia Networking 7-32
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?
path message contents: address: unicast destination, or multicast group flowspec: bandwidth requirements spec. filter flag: if yes, record identities of upstream
senders (to allow packets filtering by source) previous hop: upstream router/host ID refresh time: time until this info times out
path message: communicates sender info, and reverse-path-to-sender routing info later upstream forwarding of receiver
reservations
7: Multimedia Networking 7-49
RSVP: simple audio conference
H1, H2, H3, H4, H5 both senders and receivers multicast group m1 no filtering: packets from any sender forwarded audio rate: b only one multicast routing tree possible
H2
H5
H3
H4H1
R1 R2 R3
7: Multimedia Networking 7-50
inout
inout
inout
RSVP: building up path state
H1, …, H5 all send path messages on m1: (address=m1, Tspec=b, filter-spec=no-filter,refresh=100)
Suppose H1 sends first path message
H2
H5
H3
H4H1
R1 R2 R3L1
L2 L3
L4L5
L6 L7
L5 L7L6
L1L2 L6 L3
L7L4m1:
m1:
m1:
7: Multimedia Networking 7-51
inout
inout
inout
RSVP: building up path state
next, H5 sends path message, creating more state in routers
H2
H5
H3
H4H1
R1 R2 R3L1
L2 L3
L4L5
L6 L7
L5 L7L6
L1L2 L6 L3
L7L4
L5
L6L1
L6
m1:
m1:
m1:
7: Multimedia Networking 7-52
inout
inout
inout
RSVP: building up path state
H2, H3, H5 send path msgs, completing path state tables
• no filter: any packets address to multicast group can use reservation
• fixed filter: only packets from specific set of senders can use reservation
• dynamic filter: senders who’s packets can be forwarded across link will change (by receiver choice) over time.
filter spec reservations flow upstream from receiver-to-
senders, reserving resources, creating additional, receiver-related state at routers
7: Multimedia Networking 7-54
RSVP: receiver reservation example 1
H1 wants to receive audio from all other senders H1 reservation msg flows uptree to sources H1 only reserves enough bandwidth for 1 audio
stream reservation is of type “no filter” – any sender can
use reserved bandwidth
H2
H5
H3
H4H1
R1 R2 R3L1
L2 L3
L4L5
L6 L7
7: Multimedia Networking 7-55
inout
RSVP: receiver reservation example 1 H1 reservation msgs flows uptree to sources routers, hosts reserve bandwidth b needed on
downstream links towards H1
H2
H5
H3
H4H1
R1 R2 R3L1
L2 L3
L4L5
L6 L7
L1L2 L6
L6L1(b)
inout
L5L6 L7
L7L5 (b)
L6
inout
L3L4 L7
L7L3 (b)
L4L2
b
bb
b
bb
b
m1:
m1:
m1:
7: Multimedia Networking 7-56
inout
RSVP: receiver reservation example 1 (more)
next, H2 makes no-filter reservation for bandwidth b
H2 forwards to R1, R1 forwards to H1 and R2 (?) R2 takes no action, since b already reserved on
L6
H2
H5
H3
H4H1
R1 R2 R3L1
L2 L3
L4L5
L6 L7
L1L2 L6
L6L1(b)
inout
L5L6 L7
L7L5 (b)
L6
inout
L3L4 L7
L7L3 (b)
L4L2
b
bb
b
bb
b
b
b
(b)m1:
m1:
m1:
7: Multimedia Networking 7-57
inout
RSVP: receiver reservation: issues
What if multiple senders (e.g., H3, H4, H5) over link (e.g., L6)? arbitrary interleaving of packets L6 flow policed by leaky bucket: if H3+H4+H5 sending rate
exceeds b, packet loss will occur
H2
H5
H3
H4H1
R1 R2 R3L1
L2 L3
L4L5
L6 L7
L1L2 L6
L6L1(b)
inout
L5L6 L7
L7L5 (b)
L6
inout
L3L4 L7
L7L3 (b)
L4L2
b
bb
b
bb
b
b
b
(b)m1:
m1:
m1:
7: Multimedia Networking 7-58
RSVP: example 2
H1, H4 are only senders send path messages as before, indicating filtered
reservation Routers store upstream senders for each upstream link
H2 will want to receive from H4 (only)
H2 H3
H4H1
R1 R2 R3L1
L2 L3
L4L6 L7
H2 H3
L2 L3
7: Multimedia Networking 7-59
RSVP: example 2
H1, H4 are only senders send path messages as before, indicating filtered
eventually state in routers will timeout and disappear!
gonefishing!
7: Multimedia Networking 7-63
The many uses of reservation/path refresh
recover from an earlier lost refresh message expected time until refresh received must be longer
than timeout interval! (short timer interval desired) Handle receiver/sender that goes away without
teardown Sender/receiver state will timeout and disappear
Reservation refreshes will cause new reservations to be made to a receiver from a sender who has joined since receivers last reservation refresh E.g., in previous example, H1 is only receiver, H3 only
sender. Path/reservation messages complete, data flows
H4 joins as sender, nothing happens until H3 refreshes reservation, causing R3 to forward reservation to H4, which allocates bandwidth
7: Multimedia Networking 7-64
RSVP: reflections
multicast as a “first class” service receiver-oriented reservations use of soft-state
7: Multimedia Networking 7-65
Multimedia Networking: Summary
multimedia applications and requirements
making the best of today’s best effort service
scheduling and policing mechanisms next generation Internet: Intserv, RSVP,
Diffserv
7: Multimedia Networking 7-66
What else is being done?
Many, many research projects! Adaptive encodings, e.g. Multiple description
coding (MDC) Application to mobile networks. …….. Multicast tree construction using overlays,
techniques for handling flash crowds. One of my M.Sc. students is working on
improved algorithms for application layer multicast for streaming live video.