Making the Best of the Best-Effort Service (2) Advanced Multimedia University of Palestine...
-
Upload
leslie-flowers -
Category
Documents
-
view
215 -
download
3
Transcript of Making the Best of the Best-Effort Service (2) Advanced Multimedia University of Palestine...
Making the Best of Making the Best of thethe
Best-Effort Service Best-Effort Service (2)(2)
Advanced Multimedia
University of PalestineUniversity of Palestine Eng. Wisam ZaqootEng. Wisam Zaqoot November 2010November 2010
Ref: Computer Networking: A Top Down Approach, 4th ed., Kurose & Ross
Content distribution networks Content distribution networks (CDNs)(CDNs)
Content replicationContent replication challenging to stream large files challenging to stream large files
(e.g., video) from single origin (e.g., video) from single origin server in real timeserver in real time
solution:solution: replicate content at replicate content at hundreds of servers throughout hundreds of servers throughout InternetInternet content downloaded to CDN content downloaded to CDN
servers ahead of timeservers ahead of time placing content “close” to placing content “close” to
user avoids impairments user avoids impairments (loss, delay) of sending (loss, delay) of sending content over long pathscontent over long paths
CDN server typically in CDN server typically in edge/access networkedge/access network
origin server in North America
CDN distribution node
CDN serverin S. America CDN server
in Europe
CDN serverin Asia
Content distribution Content distribution networks (CDNs)networks (CDNs)
Content replicationContent replication CDN (e.g., Akamai) CDN (e.g., Akamai)
customer is the customer is the content provider content provider (e.g., CNN)(e.g., CNN)
CDN replicates CDN replicates customers’ content in customers’ content in CDN servers. CDN servers.
when provider when provider updates content, updates content, CDN updates serversCDN updates servers
origin server in North America
CDN distribution node
CDN serverin S. America CDN server
in Europe
CDN serverin Asia
CDN exampleCDN example
origin server (www.foo.com)origin server (www.foo.com) distributes HTMLdistributes HTML replaces:replaces: http://www.foo.com/sports.ruth.gifhttp://www.foo.com/sports.ruth.gif
withwith http://www.cdn.com/www.foo.com/sports/ruth.gifhttp://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
CDN’s authoritative DNS server
CDN server near client
CDN company (cdn.com)CDN company (cdn.com) distributes gif filesdistributes gif files uses its authoritative uses its authoritative
DNS server to route DNS server to route redirect requestsredirect requests
client
More about CDNsMore about CDNsRouting requests:Routing requests:
CDN creates a “map”, indicating distances CDN creates a “map”, indicating distances from leaf ISPs and CDN nodesfrom leaf ISPs and CDN nodes
when query arrives at authoritative DNS when query arrives at authoritative DNS server:server: server determines ISP from which query server determines ISP from which query
originatesoriginates uses “map” to determine best CDN serveruses “map” to determine best CDN server
CDN nodes create application-layer overlay CDN nodes create application-layer overlay networknetwork
Summary: Summary: Internet Internet Multimedia: bag of tricksMultimedia: bag of tricks
use UDPuse UDP to avoid TCP congestion control to avoid TCP congestion control (delays) for time-sensitive traffic(delays) for time-sensitive traffic
client-side client-side adaptive playout delayadaptive playout delay: to : to compensate for delaycompensate for delay
server side server side matches stream bandwidthmatches stream bandwidth to to available client-to-server path bandwidthavailable client-to-server path bandwidth chose among pre-encoded stream rateschose among pre-encoded stream rates dynamic server encoding ratedynamic server encoding rate
error recovery (on top of UDP)error recovery (on top of UDP) FEC, interleaving, error concealmentFEC, interleaving, error concealment retransmissions, time permittingretransmissions, time permitting
CDN: bring content closer to clientsCDN: bring content closer to clients
Protocols for real-time Protocols for real-time interactive applications interactive applications
RTP, RTCP, SIPRTP, RTCP, SIP
Real-Time Protocol Real-Time Protocol (RTP)(RTP)
RTP specifies RTP specifies packet structure for packet structure for packets carrying packets carrying audio, video dataaudio, video data
RFC 3550RFC 3550 RTP packet RTP packet
providesprovides payload type payload type
identificationidentification packet sequence packet sequence
numberingnumbering time stampingtime stamping
RTP runs in end RTP runs in end systemssystems
RTP packets RTP packets encapsulated in encapsulated in UDP segmentsUDP segments
interoperability: if interoperability: if two Internet phone two Internet phone applications run applications run RTP, then they RTP, then they may be able to may be able to work togetherwork together
RTP runs on top of UDPRTP runs on top of UDPRTP libraries provide transport-layer interface that extends UDP:
• port numbers, IP addresses• payload type identification• packet sequence numbering• time-stamping
RTP ExampleRTP Example
consider sending 64 consider sending 64 kbps PCM*-encoded kbps PCM*-encoded voice over RTP. voice over RTP.
application collects application collects encoded data in encoded data in chunks, e.g., every 20 chunks, e.g., every 20 msec = 160 bytes in a msec = 160 bytes in a chunk. chunk.
audio chunk + RTP audio chunk + RTP header form RTP header form RTP packet, which is packet, which is encapsulated in UDP encapsulated in UDP segment segment
RTP header RTP header indicates type of indicates type of audio encoding in audio encoding in each packeteach packet sender can change sender can change
encoding during encoding during conference.conference.
RTP header also RTP header also contains sequence contains sequence numbers, numbers, timestamps.timestamps.
RTP and QoSRTP and QoS
RTP does RTP does notnot provide any mechanism provide any mechanism to ensure timely data delivery or to ensure timely data delivery or other QoS guarantees. other QoS guarantees.
RTP encapsulation is only seen at end RTP encapsulation is only seen at end systems (not) by intermediate routers. systems (not) by intermediate routers. routers providing best-effort routers providing best-effort
service, making no special effort to service, making no special effort to ensure that RTP packets arrive at ensure that RTP packets arrive at destination in timely matter.destination in timely matter.
RTP HeaderRTP Header
Payload Type (7 bits): Indicates type of encoding currently being used. If sender changes encoding in middle of conference, sender informs receiver via payload type field.
•Payload type 0: PCM mu-law, 64 kbps•Payload type 3, GSM, 13 kbps•Payload type 7, LPC, 2.4 kbps•Payload type 26, Motion JPEG•Payload type 31. H.261•Payload type 33, MPEG2 video
Sequence Number (16 bits): Increments by one for each RTP packet sent, and may be used to detect packet loss and to restore packet sequence.
RTP Header (2)RTP Header (2) Timestamp field (32 bytes long):Timestamp field (32 bytes long): sampling instant sampling instant
of first byte in this RTP data packetof first byte in this RTP data packet for audio, timestamp clock typically increments for audio, timestamp clock typically increments
by one for each sampling period (for example, by one for each sampling period (for example, each 125 usecs for 8 KHz sampling clock) each 125 usecs for 8 KHz sampling clock)
if application generates chunks of 160 encoded if application generates chunks of 160 encoded samples, then timestamp increases by 160 for samples, then timestamp increases by 160 for each RTP packet when source is active. each RTP packet when source is active. Timestamp clock continues to increase at Timestamp clock continues to increase at constant rate when source is inactive.constant rate when source is inactive.
SSRC field (32 bits long):SSRC field (32 bits long): identifies source of t identifies source of t RTP stream. Each stream in RTP session should RTP stream. Each stream in RTP session should have distinct SSRC. have distinct SSRC.