making the best of the best-effort service (2) advanced multimedia university of palestine...

13
Making the Best of Making the Best of the the Best-Effort Service Best-Effort Service (2) (2) Advanced Multimedia University of Palestine University of Palestine Eng. Wisam Zaqoot Eng. Wisam Zaqoot November 2010 November 2010 Ref: Computer Networking: A Top Down Approach, 4th ed., Kurose & Ross

Upload: leslie-flowers

Post on 03-Jan-2016

215 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: Making the Best of the Best-Effort Service (2) Advanced Multimedia University of Palestine University of Palestine Eng. Wisam Zaqoot Eng. Wisam Zaqoot

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

Page 2: Making the Best of the Best-Effort Service (2) Advanced Multimedia University of Palestine University of Palestine Eng. Wisam Zaqoot Eng. Wisam Zaqoot

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

Page 3: Making the Best of the Best-Effort Service (2) Advanced Multimedia University of Palestine University of Palestine Eng. Wisam Zaqoot Eng. Wisam Zaqoot

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

Page 4: Making the Best of the Best-Effort Service (2) Advanced Multimedia University of Palestine University of Palestine Eng. Wisam Zaqoot Eng. Wisam Zaqoot

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

Page 5: Making the Best of the Best-Effort Service (2) Advanced Multimedia University of Palestine University of Palestine Eng. Wisam Zaqoot Eng. Wisam Zaqoot

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

Page 6: Making the Best of the Best-Effort Service (2) Advanced Multimedia University of Palestine University of Palestine Eng. Wisam Zaqoot Eng. Wisam Zaqoot

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

Page 7: Making the Best of the Best-Effort Service (2) Advanced Multimedia University of Palestine University of Palestine Eng. Wisam Zaqoot Eng. Wisam Zaqoot

Protocols for real-time Protocols for real-time interactive applications interactive applications

RTP, RTCP, SIPRTP, RTCP, SIP

Page 8: Making the Best of the Best-Effort Service (2) Advanced Multimedia University of Palestine University of Palestine Eng. Wisam Zaqoot Eng. Wisam Zaqoot

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

Page 9: Making the Best of the Best-Effort Service (2) Advanced Multimedia University of Palestine University of Palestine Eng. Wisam Zaqoot Eng. Wisam Zaqoot

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

Page 10: Making the Best of the Best-Effort Service (2) Advanced Multimedia University of Palestine University of Palestine Eng. Wisam Zaqoot Eng. Wisam Zaqoot

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.

Page 11: Making the Best of the Best-Effort Service (2) Advanced Multimedia University of Palestine University of Palestine Eng. Wisam Zaqoot Eng. Wisam Zaqoot

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.

Page 12: Making the Best of the Best-Effort Service (2) Advanced Multimedia University of Palestine University of Palestine Eng. Wisam Zaqoot Eng. Wisam Zaqoot

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.

Page 13: Making the Best of the Best-Effort Service (2) Advanced Multimedia University of Palestine University of Palestine Eng. Wisam Zaqoot Eng. Wisam Zaqoot

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.