資源描述:
《實(shí)時(shí)傳輸協(xié)議、實(shí)時(shí)傳輸控制協(xié)議(RTP、RTCP)簡(jiǎn)介課件.ppt》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫(kù)。
1、VOIP培訓(xùn)-----RTP、RTCP部分2002年8月11/25/981RTP簡(jiǎn)介RTP是一種提供端對(duì)端傳輸服務(wù)的實(shí)時(shí)傳輸協(xié)議,用來(lái)支持在單目標(biāo)廣播和多目標(biāo)廣播網(wǎng)絡(luò)服務(wù)中傳輸實(shí)時(shí)數(shù)據(jù),而實(shí)時(shí)數(shù)據(jù)的傳輸則由RTCP協(xié)議來(lái)監(jiān)視和控制。使用RTP協(xié)議的應(yīng)用程序運(yùn)行在RTP之上,而執(zhí)行RTP的程序運(yùn)行在UDP的上層,目的是為了使用UDP的端口號(hào)和檢查和。如圖16-12所示,RTP可以看成是傳輸層的子層。由多媒體應(yīng)用程序生成的聲音和電視數(shù)據(jù)塊被封裝在RTP信息包中,每個(gè)RTP信息包被封裝在UDP消息段中,然后再封裝
2、在IP數(shù)據(jù)包中。TCP/IP模型應(yīng)用層(application)傳輸層RTPUDPIP數(shù)據(jù)鏈路層(datalink)物理層(physical)RTP是傳輸層上的協(xié)議從應(yīng)用開(kāi)發(fā)人員的角度來(lái)看,可把RTP執(zhí)行程序看成是應(yīng)用程序的一部分,因?yàn)殚_(kāi)發(fā)人員必需把RTP集成到應(yīng)用程序中。在發(fā)送端,開(kāi)發(fā)人員必需把執(zhí)行RTP協(xié)議的程序?qū)懭氲絼?chuàng)建RTP信息包的應(yīng)用程序中,然后應(yīng)用程序把RTP信息包發(fā)送到UDP的套接接口(socketinterface),如下圖所示;同樣,在接收端,RTP信息包通過(guò)UDP套接接口輸入到應(yīng)用程序,
3、因此開(kāi)發(fā)人員必需把執(zhí)行RTP協(xié)議的程序?qū)懭氲綇腞TP信息包中抽出媒體數(shù)據(jù)的應(yīng)用程序。(注:一般上RTP被分配在一個(gè)偶數(shù)UDP端口上,而RTCP則被分配在一個(gè)奇數(shù)UDP端口上。)TCP/IP模型應(yīng)用層(application)RTP-套接接口UDPIP數(shù)據(jù)鏈路層(datalink)物理層(physical)RTP和UDP之間的接口現(xiàn)以用RTP傳輸聲音為例來(lái)說(shuō)明它的工作過(guò)程。假設(shè)音源的聲音是64kb/s的PCM編碼聲音,并假設(shè)應(yīng)用程序取20毫秒的編碼數(shù)據(jù)為一個(gè)數(shù)據(jù)塊(chunk),即在一個(gè)數(shù)據(jù)塊中有160個(gè)字節(jié)
4、的聲音數(shù)據(jù)。應(yīng)用程序需要為這塊聲音數(shù)據(jù)添加RTP標(biāo)題生成RTP信息包,這個(gè)標(biāo)題包括聲音數(shù)據(jù)的類型、順序號(hào)和時(shí)間戳。然后RTP信息包被送到UDP套接接口,在那里再被封裝在UDP信息包中。在接收端,應(yīng)用程序從套接接口處接收RTP信息包,并從RTP信息包中抽出聲音數(shù)據(jù)塊,然后使用RTP信息包的標(biāo)題域中的信息正確地譯碼和播放聲音。這里需要強(qiáng)調(diào)的是,RTP本身不提供任何機(jī)制來(lái)確保把數(shù)據(jù)及時(shí)遞送到接收端或者確保其他的服務(wù)質(zhì)量,它也不擔(dān)保在遞送過(guò)程中不丟失信息包或者防止信息包的次序不被打亂。RTP包格式v=2pxccm有
5、效載荷類型(pt)序列號(hào)碼時(shí)間戳同步源標(biāo)識(shí)(SSRC)提供源標(biāo)識(shí)(CSRC)(注:H.323中不使用)…相關(guān)Profile大小數(shù)據(jù)注:如果x=1的話則有最后兩行.v=2版本號(hào),目前版本號(hào)為2。p表示有效載荷是否被填充(1為填充)。x表示在最后CSRC之后是否有擴(kuò)展存在(1為有)。ccCSRC計(jì)數(shù),表示有多少個(gè)CSRC標(biāo)識(shí)符。M標(biāo)識(shí)位。由RTP剖面定義。在H.225.0中用于支持無(wú)聲抑制(silencesuppression)的音頻編碼,在每個(gè)無(wú)聲段之后有聲區(qū)的第一個(gè)包中必須設(shè)為1。Pt一些靜態(tài)的有效載荷類型
6、。序列號(hào)從一個(gè)隨機(jī)數(shù)開(kāi)始,每個(gè)RTP包加1。時(shí)間戳?xí)r間戳(Timestamp)域的長(zhǎng)度為32字節(jié)。它反映RTP數(shù)據(jù)信息包中第一個(gè)字節(jié)的采樣時(shí)刻(時(shí)間)。接收端可以利用這個(gè)時(shí)間戳來(lái)去除由網(wǎng)絡(luò)引起的信息包的抖動(dòng),并且在接收端為播放提供同步功能。同步源標(biāo)識(shí)(SSRC)同步源標(biāo)識(shí)符用來(lái)標(biāo)識(shí)RTP信息包流的起源,在RTP會(huì)話或者期間的每個(gè)信息包流都有一個(gè)清楚的SSRC。SSRC不是發(fā)送端的IP地址,而是在新的信息包流開(kāi)始時(shí)源端隨機(jī)分配的一個(gè)號(hào)碼。提供源(CSRC)當(dāng)一個(gè)RTP流是由RTP混和器提供幾個(gè)流組合的結(jié)果時(shí),
7、每個(gè)提供流的SSRC列表就會(huì)被加到該流的頭中為SSRC。最終的流有自己的SSRC。這一特性在H.323中沒(méi)有使用。相關(guān)Profile剖面定義(由用戶定義)。(注:如果用戶想定義多種數(shù)據(jù)類型時(shí),此處可以定義為參數(shù)的形式,但本文檔不提供這些參考)大小后面附加的數(shù)據(jù)的長(zhǎng)度。數(shù)據(jù)相關(guān)數(shù)據(jù)。實(shí)時(shí)傳輸控制協(xié)議(RTCP)簡(jiǎn)介多媒體網(wǎng)絡(luò)應(yīng)用把RTCP和RTP一起使用,尤其是在多目標(biāo)廣播中更具吸引力。當(dāng)從一個(gè)或者多個(gè)發(fā)送端向多個(gè)接收端廣播聲音或者電視時(shí),也就是在RTP會(huì)話期間,每個(gè)參與者周期性地向所有其他參與者發(fā)送RTCP
8、控制信息包,如下圖所示。RTCP用來(lái)監(jiān)視服務(wù)質(zhì)量和傳送有關(guān)與會(huì)者的信息。對(duì)于RTP會(huì)話或者廣播,通常使用單個(gè)多目標(biāo)廣播地址,屬于這個(gè)會(huì)話的所有RTP和RTCP信息包都使用這個(gè)多目標(biāo)廣播地址,通過(guò)使用不同的端口號(hào)可把RTP信息包和RTCP信息包區(qū)分開(kāi)來(lái)。RTCP的主要功能是為應(yīng)用程序提供會(huì)話質(zhì)量或者廣播性能質(zhì)量的信息。每個(gè)RTCP信息包不封裝聲音數(shù)據(jù)或者電視數(shù)據(jù),而是封裝發(fā)送端和/或者接收端的統(tǒng)計(jì)報(bào)表。這些信息包括