實(shí)時傳輸協(xié)議RTP 1.RTP協(xié)議: RTP( Real-time Transport Protocol)協(xié)議最初是在70年代為了嘗試傳輸聲音文件,把包分成幾部分用來傳輸語音,時間標(biāo)志和隊列號。經(jīng)過一系列發(fā)展,RTP第一版本在1991年8月由美國的一個實(shí)驗(yàn)室發(fā)布了。到本世紀(jì)1996年形成了標(biāo)準(zhǔn)的的版本。很多著名的公司如Netscape ,就宣稱“Netscape LiveMedia”是基于RTP協(xié)議的。. Microsoft 也宣稱他們的“NetMeeting”也是支持RTP協(xié)議. RTP被定義為傳輸音頻、視頻、模擬數(shù)據(jù)等實(shí)時數(shù)據(jù)的傳輸協(xié)議。最初設(shè)計是為了數(shù)據(jù)傳輸?shù)亩嗖?,但是它也用于單播的。與傳統(tǒng)的注重的高可靠的數(shù)據(jù)傳輸?shù)倪\(yùn)輸層協(xié)議相比,它更加側(cè)重的數(shù)據(jù)傳輸?shù)膶?shí)時性。此協(xié)議提供的服務(wù)包括時間載量標(biāo)識、數(shù)據(jù)序列、時戳、傳輸控制等。RTP與輔助控制協(xié)議RTCP一起得到數(shù)據(jù)傳輸?shù)囊恍┫嚓P(guān)的控制信息。
2.RTP協(xié)議是如何工作的: 在前面說明過,威脅多媒體數(shù)據(jù)傳輸?shù)囊粋€尖銳的問題就是不可預(yù)料數(shù)據(jù)到達(dá)時間。但是流媒體的傳輸是需要數(shù)據(jù)的適時的到達(dá)用以播放和回放。RTP協(xié)議就是提供了時間標(biāo)簽,序列號以及其它的結(jié)構(gòu)用于控制適時數(shù)據(jù)的流放。 在流的概念中”時間標(biāo)簽”是最重要的信息。發(fā)送端依照即時的采樣在數(shù)據(jù)包里隱蔽的設(shè)置了時間標(biāo)簽。在接受端收到數(shù)據(jù)包后,就依照時間標(biāo)簽按照正確的速率恢復(fù)成原始的適時的數(shù)據(jù)。不同的媒體格式調(diào)時屬性是不一樣的。但是RTP本身并不負(fù)責(zé)同步,RTP只是傳輸層協(xié)議,為了簡化了運(yùn)輸層處理,提高該層的效率。將部分運(yùn)輸層協(xié)議功能(比如流量控制)上移到應(yīng)用層完成。同步就是屬于應(yīng)用層協(xié)議完成的。它沒有運(yùn)輸層協(xié)議的完整功能,不提供任何機(jī)制來保證實(shí)時地傳輸數(shù)據(jù),不支持資源預(yù)留,也不保證服務(wù)質(zhì)量。RTP報文甚至不包括長度和報文邊界的描述。同時RTP協(xié)議的數(shù)據(jù)報文和控制報文的使用相鄰的不同端口,這樣大大提高了協(xié)議的靈活性和處理的簡單性。 RTP協(xié)議和UDP二者共同完成運(yùn)輸層協(xié)議功能。UDP協(xié)議只是傳輸數(shù)據(jù)包,是不管數(shù)據(jù)包傳輸?shù)臅r間順序。RTP的協(xié)議數(shù)據(jù)單元是用UDP分組來承載的。在承載RTP數(shù)據(jù)包的時候,有時候一幀數(shù)據(jù)被分割成幾個包具有相同的時間標(biāo)簽,則可以知道時間標(biāo)簽并不是必須的。而UDP的多路復(fù)用讓RTP協(xié)議利用支持顯式的多點(diǎn)投遞,可以滿足多媒體會話的需求。 RTP協(xié)議雖然是傳輸層協(xié)議但是它沒有作為OSI體系結(jié)構(gòu)中單獨(dú)的一層來實(shí)現(xiàn)。RTP協(xié)議通常根據(jù)一個具體的應(yīng)用來提供服務(wù), RTP只提供協(xié)議框架,開發(fā)者可以根據(jù)應(yīng)用的具體要求對協(xié)議進(jìn)行充分的擴(kuò)展。目前,RTP的設(shè)計和研究主要是用來滿足多用戶的多媒體會議的需要,另外它也適用于連續(xù)數(shù)據(jù)的存儲,交互式分布仿真和一些控制、測量的應(yīng)用中。基于RTP的實(shí)驗(yàn)和商業(yè)產(chǎn)品也層出不窮。
實(shí)時傳輸控制協(xié)議RTCP協(xié)議
1. RTCP協(xié)議: RTCP(Real-time Transpor、Control Protocol)是設(shè)計和RTP一起使用的進(jìn)行流量控制和擁塞控制的服務(wù)控制協(xié)議。
2. RTCP協(xié)議如何工作: 當(dāng)應(yīng)用程序開始一個RTP會話時將使用兩個端口:一個給RTP,一個給RTCP。RTP本身并不能為按順序傳送數(shù)據(jù)包提供可靠的傳送機(jī)制,也不提供流量控制或擁塞控制,它依靠RTCP提供這些服務(wù)。在RTP的會話之間周期的發(fā)放一些RTCP包以用來傳監(jiān)聽服務(wù)質(zhì)量和交換會話用戶信息等功能。RTCP包中含有已發(fā)送的數(shù)據(jù)包的數(shù)量、丟失的數(shù)據(jù)包的數(shù)量等統(tǒng)計資料。因此,服務(wù)器可以利用這些信息動態(tài)地改變傳輸速率,甚至改變有效載荷類型。RTP和RTCP配合使用,它們能以有效的反饋和最小的開銷使傳輸效率最佳化,因而特別適合傳送網(wǎng)上的實(shí)時數(shù)據(jù)。根據(jù)用戶間的數(shù)據(jù)傳輸反饋信息,可以制定流量控制的策略,而會話用戶信息的交互,可以制定會話控制的策略。 RTCP協(xié)議處理機(jī)根據(jù)需要定義了五種類型的報文—— RR: receiver report SR: sender report SDES: source description items. BYE: indicates end of participation. APP: application specific functions 它們完成接收、分析、產(chǎn)生和發(fā)送控制報文的功能。
實(shí)時流協(xié)議RTSP協(xié)議 1. RTSP協(xié)議:
|