知識(shí)點(diǎn)延伸 | RTP協(xié)議

/?寫在前面的話?/
鑒于市面上現(xiàn)有計(jì)算機(jī)考研教輔資料存在結(jié)構(gòu)疏松、內(nèi)容殘缺等特點(diǎn),因此開設(shè)“知識(shí)延伸系統(tǒng)”專欄,通過對(duì)知識(shí)點(diǎn)進(jìn)行拓展及總結(jié)解題套路,全面還原知識(shí)背景,精準(zhǔn)剖析來龍去脈,以便考生對(duì)感興趣的部分進(jìn)行了解,希望能對(duì)考研學(xué)子有所幫助。
RTP是英文“Real-time Transport Protocol”的縮寫,中文含義是“實(shí)時(shí)傳輸協(xié)議”。它是IETF研制的實(shí)時(shí)傳輸協(xié)議。RTP標(biāo)準(zhǔn)實(shí)際上定義了一對(duì)協(xié)議,即RTP和實(shí)時(shí)傳輸控制協(xié)議(RTCP)。前者用于多媒體數(shù)據(jù)交換,后者用于定期發(fā)送跟某個(gè)數(shù)據(jù)流相關(guān)的控制信息。當(dāng)在UDP上運(yùn)行的時(shí)候,RTP數(shù)據(jù)流和相關(guān)的RTCP控制流使用相繼的運(yùn)輸層端口。RTP數(shù)據(jù)使用一個(gè)偶數(shù)端口號(hào),RTCP控制信息使用下一個(gè)較高的(奇數(shù))端口號(hào)。
因?yàn)镽TP被設(shè)計(jì)成支持廣泛種類的應(yīng)用,它提出了一個(gè)靈活的機(jī)制,使得在研制新的應(yīng)用的時(shí)候不必反復(fù)修改RTP協(xié)議本身。對(duì)于每個(gè)種類的應(yīng)用(例如音頻),RTP定義一個(gè)預(yù)制文件和一個(gè)或多個(gè)格式。該預(yù)制文件提供一個(gè)范圍的信息,以保證在該類應(yīng)用中對(duì)RTP頭的各個(gè)段有共同的理解。格式描述說明如何解釋后隨RTP頭的數(shù)據(jù)。例如,RTP頭可能后隨一個(gè)字節(jié)序列,每個(gè)字節(jié)代表單個(gè)音頻采樣,該采樣跟前一個(gè)采樣有規(guī)定的時(shí)間間隔。數(shù)據(jù)格式也可能比較復(fù)雜,例如,使用MPEG編碼的視頻流就需要有大量的結(jié)構(gòu)表示所有不同類型的信息。
RTP的設(shè)計(jì)包含一個(gè)稱作應(yīng)用級(jí)成幀(ALF)的體系結(jié)構(gòu)原則。該原則是由Clark和Tennenhouse在1990年提出來的一個(gè)為正在涌現(xiàn)的多媒體應(yīng)用設(shè)計(jì)協(xié)議的新方法。他們意識(shí)到,現(xiàn)存的協(xié)議,如TCP,不太可能很好地服務(wù)于這些新應(yīng)用,而且也不可能有一個(gè)通用的協(xié)議滿足所有這些新應(yīng)用的需求。該原則的核心是相信應(yīng)用程序本身最了解自己的需要。
例如,一個(gè)MPEG視頻應(yīng)用最懂得如何從丟失的幀中恢復(fù),以及如何對(duì)I幀或B幀的丟失做出不同的反應(yīng)。同樣的應(yīng)用也懂得如何將待傳輸?shù)臄?shù)據(jù)分段,例如,最好把來自不同幀的數(shù)據(jù)放在不同的數(shù)據(jù)報(bào)中發(fā)送,以便一個(gè)丟失的分組僅破壞單個(gè)幀,而不是兩個(gè)幀。正因?yàn)檫@個(gè)原因,RTP把許多協(xié)議細(xì)節(jié)都放到預(yù)制文件和格式文檔中,而且這些細(xì)節(jié)都是針對(duì)一個(gè)應(yīng)用的。
RTP為實(shí)時(shí)數(shù)據(jù)(例如音頻、視頻等)提供端到端的服務(wù),這些服務(wù)包括:負(fù)載類型標(biāo)識(shí)、順序編號(hào)、時(shí)間定位和傳輸監(jiān)控等。然而,RTP本身并不提供對(duì)信息傳輸?shù)娜魏螘r(shí)間和質(zhì)量上的保證,而是依賴其下層網(wǎng)絡(luò)提供這樣的功能。同時(shí),它既不保證傳輸?shù)目煽啃裕膊患俣ㄏ聦泳W(wǎng)絡(luò)能提供可靠的和保序的通信。
RTP分組中的順序號(hào)使接收方按順序重組信息成為可能。如果把RTP和RSVP協(xié)議配合使用,就可以為在Internet上傳輸多媒體數(shù)據(jù)提供一個(gè)切實(shí)可行的解決方案。典型的RTP運(yùn)行在UDP之上,在層次結(jié)構(gòu)上,我們也可以認(rèn)為RTP和UDP共同完成運(yùn)輸層的功能,然而RTP亦可基于其它各種運(yùn)輸層和網(wǎng)絡(luò)層,如果下層網(wǎng)絡(luò)許可,RTP也可支持廣播數(shù)據(jù)傳輸。
蘇世學(xué)社旗下品牌,專注于計(jì)算機(jī)考研
計(jì)算機(jī)考研一手資訊,原創(chuàng)高質(zhì)量干貨
深度的學(xué)習(xí)分享丨咨詢前輩丨個(gè)性化指導(dǎo)
