计算机网络英文版课件:Chapter7 Multimedia Communication over IPV4 Network_第1页
计算机网络英文版课件:Chapter7 Multimedia Communication over IPV4 Network_第2页
计算机网络英文版课件:Chapter7 Multimedia Communication over IPV4 Network_第3页
计算机网络英文版课件:Chapter7 Multimedia Communication over IPV4 Network_第4页
计算机网络英文版课件:Chapter7 Multimedia Communication over IPV4 Network_第5页
已阅读5页,还剩55页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Chapter7:MultimediaCommunicationoverIPV4NetworkPrinciplesclassifymultimediaapplicationsidentifynetworkservicesapplicationsneedmakingthebestofbesteffortserviceProtocolsandArchitectures

specificprotocolsforbest-effort17:MultimediaNetworkingMMNetworkingApplicationsFundamentalcharacteristics:typicallydelay

sensitiveend-to-enddelaydelayjitter

losstolerant:infrequentlossescauseminorglitchesantithesisofdata,whicharelossintolerantbutdelaytolerant.ClassesofMMapplications:1)storedstreaming2)livestreaming3)interactive,real-timeJitteristhevariabilityofpacketdelayswithinthesamepacketstream27:MultimediaNetworkingStreamingStoredMultimediaStoredstreaming:mediastoredatsourcetransmittedtoclientstreaming:clientplayoutbeginsbeforealldatahasarrivedtimingconstraintforstill-to-betransmitteddata:intimeforplayout37:MultimediaNetworkingStreamingStoredMultimedia:

Whatisit?1.videorecorded2.videosent3.videoreceived,playedoutatclientCumulativedatastreaming:atthistime,clientplayingoutearlypartofvideo,whileserverstillsendinglaterpartofvideonetworkdelaytime47:MultimediaNetworkingStreamingStoredMultimedia:InteractivityVCR-likefunctionality:clientcanpause,rewind,FF,pushsliderbar10secinitialdelayOK1-2secuntilcommandeffectOKtimingconstraintforstill-to-betransmitteddata:intimeforplayout57:MultimediaNetworkingStreamingLiveMultimediaExamples:InternetradiotalkshowlivesportingeventStreaming(aswithstreamingstoredmultimedia)playbackbufferplaybackcanlagtensofsecondsaftertransmissionstillhavetimingconstraintInteractivityfastforwardimpossiblerewind,pausepossible!67:MultimediaNetworkingReal-TimeInteractiveMultimediaend-enddelayrequirements:audio:<150msecgood,<400msecOKincludesapplication-level(packetization)andnetworkdelayshigherdelaysnoticeable,impairinteractivitysessioninitializationhowdoescalleeadvertiseitsIPaddress,portnumber,encodingalgorithms?applications:IPtelephony,videoconference,distributedinteractiveworlds77:MultimediaNetworkingMultimediaOverToday’sInternetTCP/UDP/IP:“best-effortservice”noguaranteesondelay,lossToday’sInternetmultimediaapplicationsuseapplication-leveltechniquestomitigate(asbestpossible)effectsofdelay,lossButyousaidmultimediaappsrequiresQoSandlevelofperformancetobeeffective!???????????87:MultimediaNetworkingAboutaudiocompressionanalogsignalsampledandquantizedatconstantratetelephone:64kbpsCDmusic:1.4MbpsMP3:96,128,160kbpsInternettelephony:5.3kbpsandupreceiverconvertsbitsbacktoanalogsignal:somequalityreductionBeforeaudiocanbetransmittedoveracomputernetwork,itmustbedigitizedandcompressedAudiocompressionPCM:samplingrate:8Kspsand8bit/sampleGSM:13Kbps;G.729:8KbpsG.723.1:5.3~6.4Kbps97:MultimediaNetworkingAboutvideocompressionvideo:sequenceofimagesdisplayedatconstantratee.g.24images/secdigitalimage:arrayofpixelseachpixelrepresentedbybitsRedundancyspatial(withinimage)temporal(fromoneimagetonext)Beforevideocanbetransmittedoveracomputernetwork,itmustbedigitizedandcompressed1024*1024RGBresultsin3MBofstoragewithoutcompressionVideocompressionMPEG-XMPEG1(CD-ROM)1.5MbpsMPEG2(DVD)3-6MbpsMPEG4(oftenusedinInternet,<1Mbps)H.26XH.261H.263H.263+,H.263++H.264Research:layered(scalable)videoadaptlayerstoavailablebandwidth107:MultimediaNetworkingStreamingStoredMultimedia:QoScontrolapplication-levelstreamingtechniquesformakingthebestoutofbesteffortservice:client-sidebufferinguseofUDPversusTCPmultipleencodingsofmultimediaLosscontrol

jitterremovaldecompressionerrorconcealmentgraphicaluserinterfacecontrolsforinteractivityMediaPlayer117:MultimediaNetworkingInternetmultimedia:simplestapproachaudio,videonotstreamed:downloadandplaybackno,“pipelining,”longdelaysuntilplayout!audioorvideostoredinfilefilestransferredasHTTPobjectreceivedinentiretyatclientthenpassedtoplayer127:MultimediaNetworkingInternetmultimedia:streamingapproachbrowserGETs

metafilebrowserlaunchesplayer,passingmetafileplayercontactsserverserverstreamsaudio/videotoplayer137:MultimediaNetworkingStreamingfromastreamingserverallowsfornon-HTTPprotocolbetweenserver,mediaplayerUDPorTCP147:MultimediaNetworking

constantbitratevideotransmissionCumulativedatatimevariablenetworkdelayclientvideoreception

constantbitratevideoplayoutatclientclientplayoutdelaybufferedvideoStreamingMultimedia:ClientBufferingclient-sidebuffering,playoutdelaycompensatefornetwork-addeddelay,delayjitter157:MultimediaNetworkingStreamingMultimedia:ClientBufferingclient-sidebuffering,playoutdelaycompensatefornetwork-addeddelay,delayjitterbufferedvideovariablefillrate,x(t)constantdrainrate,d167:MultimediaNetworkingStreamingMultimedia:UDPorTCP?UDPserversendsatrateappropriateforclient(oblivioustonetworkcongestion!)oftensendrate=encodingrate=constantratethen,fillrate=constantrate-packetlossshortplayoutdelay(2-5seconds)toremovenetworkjittererrorrecover:timepermittingTCPsendatmaximumpossiblerateunderTCPfillratefluctuatesduetoTCPcongestioncontrollargerplayoutdelay:smoothTCPdeliveryrateHTTP/TCPpassesmoreeasilythroughfirewalls177:MultimediaNetworkingStreamingMultimedia:clientrate(s)Q:howtohandledifferentclientreceiveratecapabilities?28.8Kbpsdialup100MbpsEthernetA:serverstores,transmitsmultiplecopiesofvideo,encodedatdifferentrates1.5Mbpsencoding28.8Kbpsencoding187:MultimediaNetworkingUserControlofStreamingMedia:RTSPHTTPdoesnottargetmultimediacontentnocommandsforfastforward,etc.RTSP:RFC2326client-serverapplicationlayerprotocolusercontrol:rewind,fastforward,pause,resume,repositioning,etc…Whatitdoesn’tdo:doesn’tdefinehowaudio/videoisencapsulatedforstreamingovernetworkdoesn’trestricthowstreamedmediaistransported(UDPorTCPpossible)doesn’tspecifyhowmediaplayerbuffersaudio/video197:MultimediaNetworkingRTSP:outofbandcontrolFTPusesan“out-of-band”controlchannel:filetransferredoveroneTCPconnection.controlinfo(directorychanges,filedeletion,rename)sentoverseparateTCPconnection“out-of-band”,“in-band”channelsusedifferentportnumbersRTSPmessagesalsosentout-of-band:RTSPcontrolmessagesusedifferentportnumbersthanmediastream:out-of-band.port554mediastreamisconsidered“in-band”.207:MultimediaNetworkingRTSPOperation217:MultimediaNetworkingReal-timeinteractiveapplicationsPC-2-PCphoneSkypePC-2-phoneDialpadNet2phoneSkypevideoconferencewithwebcamsSkypePolycom

GoingtonowlookataPC-2-PCInternetphoneexampleindetail227:MultimediaNetworkingInteractiveMultimedia:InternetPhoneIntroduceInternetPhonebywayofanexample

speaker’saudio:alternatingtalkspurts,silentperiods.64kbpsduringtalkspurtpktsgeneratedonlyduringtalkspurts20msecchunksat8Kbytes/sec:160bytesdataapplication-layerheaderaddedtoeachchunk.chunk+headerencapsulatedintoUDPsegment.applicationsendsUDPsegmentintosocketevery20msecduringtalkspurt237:MultimediaNetworkingInternetPhone:PacketLossandDelaynetworkloss:IPdatagramlostduetonetworkcongestion(routerbufferoverflow)delayloss:IPdatagramarrivestoolateforplayoutatreceiverdelays:processing,queueinginnetwork;end-system(sender,receiver)delaystypicalmaximumtolerabledelay:400mslosstolerance:dependingonvoiceencoding,lossesconcealed,packetlossratesbetween1%and10%canbetolerated.247:MultimediaNetworking

constantbitratetransmissionCumulativedatatimevariablenetworkdelay(jitter)clientreception

constantbitrateplayoutatclientclientplayoutdelaybuffereddataDelayJitterconsiderend-to-enddelaysoftwoconsecutivepackets:differencecanbemoreorlessthan20msec(transmissiontimedifference)257:MultimediaNetworkingInternetPhone:FixedPlayoutDelayreceiverattemptstoplayouteachchunkexactlyqmsecsafterchunkwasgenerated.chunkhastimestampt:playoutchunkatt+q.chunkarrivesaftert+q:dataarrivestoolateforplayout,data“lost”tradeoffinchoosingq:largeq:lesspacketlosssmallq:betterinteractiveexperience267:MultimediaNetworkingFixedPlayoutDelay

sendergeneratespacketsevery20msecduringtalkspurt.firstpacketreceivedattimerfirstplayoutschedule:beginsatpsecondplayoutschedule:beginsatp’277:MultimediaNetworkingAdaptivePlayoutDelay(1)dynamicestimateofaveragedelayatreceiver:whereuisafixedconstant(e.g.,u=.01).Goal:

minimizeplayoutdelay,keepinglatelossratelowApproach:

adaptiveplayoutdelayadjustment:estimatenetworkdelay,adjustplayoutdelayatbeginningofeachtalkspurt.silentperiodscompressedandelongated.chunksstillplayedoutevery20msecduringtalkspurt.287:MultimediaNetworkingAdaptiveplayoutdelay(2)

alsousefultoestimateaveragedeviationofdelay,vi:

estimatesdi,vicalculatedforeveryreceivedpacket(butusedonlyatstartoftalkspurtforfirstpacketintalkspurt,playouttimeis:

whereKispositiveconstantremainingpacketsintalkspurtareplayedoutperiodically297:MultimediaNetworkingAdaptivePlayout(3)Q:Howdoesreceiverdeterminewhetherpacketisfirstinatalkspurt?ifnoloss,receiverlooksatsuccessivetimestamps.differenceofsuccessivestamps>20msec-->talkspurtbegins.withlosspossible,receivermustlookatbothtimestampsandsequencenumbers.differenceofsuccessivestamps>20msecandsequencenumberswithoutgaps-->talkspurtbegins.307:MultimediaNetworkingRecoveryfrompacketloss(1)ForwardErrorCorrection(FEC):simpleschemeforeverygroupofnchunkscreateredundantchunkbyexclusiveOR-ingnoriginalchunkssendoutn+1chunks,increasingbandwidthbyfactor1/n.canreconstructoriginalnchunksifatmostonelostchunkfromn+1chunksplayoutdelay:enoughtimetoreceivealln+1packetstradeoff:increasen,lessbandwidthwasteincreasen,longerplayoutdelayincreasen,higherprobabilitythat2ormorechunkswillbelost317:MultimediaNetworkingRecoveryfrompacketloss(2)2ndFECscheme“piggybacklower

qualitystream”sendlowerresolution

audiostreamas

redundantinformatione.g.,nominal

streamPCMat64kbps

andredundantstream

GSMat13kbps.

wheneverthereisnon-consecutiveloss,

receivercanconcealtheloss.canalsoappend(n-1)stand(n-2)ndlow-bitrate

chunk327:MultimediaNetworkingRecoveryfrompacketloss(3)Interleavingchunksdividedintosmallerunitsforexample,four5msecunitsperchunkpacketcontainssmallunitsfromdifferentchunksifpacketlost,stillhavemostofeverychunknoredundancyoverhead,butincreasesplayoutdelay337:MultimediaNetworkingContentdistributionnetworks(CDNs)Contentreplicationchallengingtostreamlargefiles(e.g.,video)fromsingleoriginserverinrealtimesolution:replicatecontentathundredsofserversthroughoutInternetcontentdownloadedtoCDNserversaheadoftimeplacingcontent“close”touseravoidsimpairments(loss,delay)ofsendingcontentoverlongpathsCDNservertypicallyinedge/accessnetworkoriginserverinNorthAmericaCDNdistributionnodeCDNserverinS.AmericaCDNserverinEuropeCDNserverinAsia347:MultimediaNetworkingContentdistributionnetworks(CDNs)ContentreplicationCDN(e.g.,Akamai)customeristhecontentprovider(e.g.,CNN)CDNreplicatescustomers’contentinCDNservers.whenproviderupdatescontent,CDNupdatesserversoriginserverinNorthAmericaCDNdistributionnodeCDNserverinS.AmericaCDNserverinEuropeCDNserverinAsia357:MultimediaNetworkingCDNexampleoriginserver()distributesHTMLreplaces:

http:///sports.ruth.gifwith

http:////sports/ruth.gifHTTPrequestfor/sports/sports.htmlDNSqueryforHTTPrequestfor//sports/ruth.gif123originserverCDN’sauthoritativeDNSserver

CDNservernearclientCDNcompany()distributesgiffilesusesitsauthoritativeDNSservertorouteredirectrequestsclient367:MultimediaNetworkingMoreaboutCDNsroutingrequestsCDNcreatesa“map”,indicatingdistancesfromleafISPsandCDNnodeswhenqueryarrivesatauthoritativeDNSserver:serverdeterminesISPfromwhichqueryoriginatesuses“map”todeterminebestCDNserverCDNnodescreateapplication-layeroverlaynetwork377:MultimediaNetworkingSummary:InternetMultimedia:bagoftricksuseUDPtoavoidTCPcongestioncontrol(delays)fortime-sensitivetrafficclient-sideadaptiveplayoutdelay:tocompensatefordelayserversidematchesstreambandwidthtoavailableclient-to-serverpathbandwidthchoseamongpre-encodedstreamratesdynamicserverencodingrateerrorrecovery(ontopofUDP)FEC,interleaving,errorconcealmentretransmissions,timepermittingCDN:bringcontentclosertoclients387:MultimediaNetworkingReal-TimeProtocol(RTP)RTPspecifiespacketstructureforpacketscarryingaudio,videodataRFC3550RTPpacketprovides

payloadtypeidentificationpacketsequencenumberingtimestampingRTPrunsinendsystemsRTPpacketsencapsulatedinUDPsegmentsinteroperability:iftwoInternetphoneapplicationsrunRTP,thentheymaybeabletoworktogether397:MultimediaNetworkingRTPrunsontopofUDPRTPlibrariesprovidetransport-layerinterfacethatextendsUDP:portnumbers,IPaddressespayloadtypeidentificationpacketsequencenumberingtime-stamping407:MultimediaNetworkingRTPExampleconsidersending64kbpsPCM-encodedvoiceoverRTP.applicationcollectsencodeddatainchunks,e.g.,every20msec=160bytesinachunk.audiochunk+RTPheaderformRTPpacket,whichisencapsulatedinUDPsegmentRTPheaderindicatestypeofaudioencodingineachpacketsendercanchangeencodingduringconference.RTPheaderalsocontainssequencenumbers,timestamps.417:MultimediaNetworkingRTPandQoSRTPdoesnotprovideanymechanismtoensuretimelydatadeliveryorotherQoSguarantees.RTPencapsulationisonlyseenatendsystems(not)byintermediaterouters.routersprovidingbest-effortservice,makingnospecialefforttoensurethatRTPpacketsarriveatdestinationintimelymatter.

427:MultimediaNetworkingRTPHeaderPayloadType(7bits):Indicatestypeofencodingcurrentlybeing

used.Ifsenderchangesencodinginmiddleofconference,senderinformsreceiverviapayloadtypefield.

Payloadtype0:PCMmu-law,64kbpsPayloadtype3,GSM,13kbpsPayloadtype7,LPC,2.4kbpsPayloadtype26,MotionJPEGPayloadtype31.H.261Payloadtype33,MPEG2videoSequenceNumber(16bits):IncrementsbyoneforeachRTPpacketsent,andmaybeusedtodetectpacketlossandtorestorepacketsequence.437:MultimediaNetworkingRTPHeader(2)Timestampfield(32byteslong):samplinginstantoffirstbyteinthisRTPdatapacketforaudio,timestampclocktypicallyincrementsbyoneforeachsamplingperiod(forexample,each125usecsfor8KHzsamplingclock)ifapplicationgenerateschunksof160encodedsamples,thentimestampincreasesby160foreachRTPpacketwhensourceisactive.Timestampclockcontinuestoincreaseatconstantratewhensourceisinactive.

SSRCfield(32bitslong):

identifiessourceoftRTPstream.EachstreaminRTPsessionshouldhavedistinctSSRC.447:MultimediaNetworkingReal-TimeControlProtocol(RTCP)worksinconjunctionwithRTP.eachparticipantinRTPsessionperiodicallytransmitsRTCPcontrolpacketstoallotherparticipants.eachRTCPpacketcontainssenderand/orreceiverreportsreportstatisticsusefultoapplication:#packetssent,#packetslost,interarrivaljitter,etc.feedbackcanbeusedtocontrolperformancesendermaymodifyitstransmissionsbasedonfeedback457:MultimediaNetworkingRTCP-Continued

eachRTPsession:typicallyasinglemulticastaddress;allRTP/RTCPpacketsbelongingtosessionusemulticastaddress.RTP,RTCPpacketsdistinguishedfromeachotherviadistinctportnumbers.tolimittraffic,eachparticipantreducesRTCPtrafficasnumberofconferenceparticipantsincreases467:MultimediaNetworkingRTCPPacketsReceiverreportpackets:fractionofpacketslost,lastsequencenumber,averageinterarrivaljitterSenderreportpackets:

SSRCofRTPstream,currenttime,numberofpacketssent,numberofbytessentSourcedescriptionpackets:

e-mailaddressofsender,sender'sname,SSRCofassociatedRTPstreamprovidemappingbetweentheSSRCandtheuser/hostname477:MultimediaNetworkingSynchronizationofStreamsRTCPcansynchronizedifferentmediastreamswithinaRTPsessionconsidervideoconferencingappforwhicheachsendergeneratesoneRTPstreamforvideo,oneforaudio.timestampsinRTPpacketstiedtothevideo,audiosamplingclocksnottiedtowall-clocktimeeachRTCPsender-reportpacketcontains(formostrecentlygeneratedpacketinassociatedRTPstream):timestampofRTPpacketwall-clocktimeforwhenpacketwascreated.receiversusesassociationtosynchronizeplayoutofaudio,video487:MultimediaNetworkingRTCPBandwidthScalingRTCPattemptstolimititstrafficto5%ofsessionbandwidth.Example

Supposeonesender,sendingvideoat2Mbps.ThenRTCPattemptstolimititstrafficto100Kbps.RTCPgives75%ofratetoreceivers;remaining25%tosender75kbpsisequallysharedamongreceivers:withRreceivers,eachreceivergetstosendRTCPtrafficat75/Rkbps.sendergetstosendRTCPtrafficat25kbps.

participantdeterminesRTCPpackettransmissionperiodbycalculatingavgRTCPpacketsize(acrossentiresession)anddividingbyallocatedrate

497:MultimediaNetworkingSIP:SessionInitiationProtocol

[RFC3261]SIPlong-termvision:alltelephonecalls,videoconferencecallstakeplaceoverInternetpeopleareidentifiedbynamesore-mailaddresses,ratherthanbyphonenumbersyoucanreachcallee,nomatterwherecalleeroams,nomatterwhatIPdevicecalleeiscurrentlyusing507:MultimediaNetworkingSIPServicesSettingupacall,SIPprovidesmechanisms..forcallertoletcalleeknowshewantstoestablishacallsocaller,calleecanagreeonmediatype,encodingtoendcalldeterminecurrentIPaddressofcallee:mapsmnemonicidentifiertocurrentIPaddresscallmanagement:addnewmediastreamsduringcallchangeencodingduringcallinviteotherstransfer,holdcalls517:MultimediaNetworkingSettingupacalltoknownIPaddress

Alice’sSIPinvitemessageindicatesherportnumber,IPaddress,encodingshepreferstoreceive(PCMulaw)

Bob’s200OKmessageindicateshisportnumber,IPaddress,preferredencoding(GSM)

SIPmessagescanbesentoverTCPorUDP;heresentoverRTP/UDP.

defaultSIPportnumberis5060.527:MultimediaNetworkingSettingupacall(more)codecnegotiation:supposeBobdoesn’thavePCMulawencoder.Bobwillinsteadreplywith606NotAcceptableReply,listinghisencodersAlicecanthensendnewINVITEmessage,advertisingdifferentencoderrejectingacallBobcanrejectwithreplies“busy,”“gone,”“paymentrequired,”“forbidden”mediacanbesentoverRTPorsomeotherprotocol537:MultimediaNetworkingExampleofSIPmessageINVITEsip:bob@SIP/2.0Via:SIP/2.0/UDP4From:sip:alice@To:sip:bob@Call-ID:a2e3a@Content-Type:application/sdpContent-Length:885c=INIP44m=audio38060RTP/AVP0Notes:HTTPmessagesyntaxsdp=sessiondescriptionprotocolCall-IDisuniqueforeverycall.

Herewedon’tknowBob’sIPaddress.IntermediateSIP

serversneeded.

Alicesends,receivesSIPmessagesusingSIPdefaultport506

AlicespecifiesinVia:

headerthatSIPclient

sends,receivesSIPmessagesoverUDP547:MultimediaNetworkingNametranslationanduserlocataioncallerwantstocallcallee,butonlyhascallee’snameore-mailaddress.needtogetIPaddressofcallee’scurrenthost:usermovesaroundDHCPprotocoluserhasdifferentIPdevic

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论