傳輸層協(xié)議概述
服務(wù)質(zhì)量運(yùn)輸層服務(wù)通過協(xié)議體現(xiàn),因此運(yùn)輸層協(xié)議的等級與網(wǎng)絡(luò)服務(wù)質(zhì)量密切相關(guān)。根據(jù)差錯(cuò)性質(zhì),網(wǎng)絡(luò)服務(wù)按質(zhì)量可分為以下三種類型:☆ A類服務(wù):低差錯(cuò)率連接,即具有可接受的殘留差錯(cuò)率和故障通知率;☆ B類服務(wù):高差錯(cuò)率連接,即具有不可接受的殘留差錯(cuò)率和故障通知率;☆ C類服務(wù):介于A類服務(wù)與B類服務(wù)之間。
協(xié)議級別差錯(cuò)率的接受與不可接受是取決于用戶的。因此,網(wǎng)絡(luò)服務(wù)質(zhì)量的劃分是以用戶要求為依據(jù)的。OSI根據(jù)運(yùn)輸層的功能特點(diǎn),定義了以下五種協(xié)議級別:☆ 0級:簡單連接。只建立一個(gè)簡單的端到端的傳輸連接,并可分段傳輸長報(bào)文。☆ 1級:基本差錯(cuò)恢復(fù)級。在網(wǎng)絡(luò)連接斷開、網(wǎng)絡(luò)連接失敗或收到一個(gè)未被認(rèn)可的傳輸連接數(shù)據(jù)單元等基本差錯(cuò)時(shí),具有恢復(fù)功能。☆ 2級:多路復(fù)用。允許多條傳輸共享同一網(wǎng)絡(luò)連接,并具有相應(yīng)的流量控制功能?!?3級:差錯(cuò)恢復(fù)和多路復(fù)用。是1級和2級協(xié)議的綜合?!? 4級:差錯(cuò)檢測、恢復(fù)和多路復(fù)用。在3級協(xié)議的基礎(chǔ)上增加了差錯(cuò)檢測功能。
傳輸層協(xié)議面向連接的傳輸協(xié)議(TCP):數(shù)據(jù)傳輸之前必須先建立連接,數(shù)據(jù)傳輸完成之后,必須釋放連接。僅支持單播傳輸:每條傳輸連接只能有兩個(gè)端點(diǎn),只能進(jìn)行點(diǎn)對點(diǎn)的連接,不支持多播和廣播的傳輸方式,UDP是支持的。提供可靠的交付服務(wù):傳送的數(shù)據(jù)無差錯(cuò)。不丟失,不重復(fù),且順序與與源數(shù)據(jù)一致。傳輸單位是數(shù)據(jù)段:每次發(fā)送的數(shù)據(jù)段不固定,受應(yīng)用層傳送報(bào)文大小和網(wǎng)絡(luò)中的MTU(最大傳輸單元)值大小的影響。最小數(shù)據(jù)段可能僅有21個(gè)字節(jié)(其中20個(gè)字節(jié)屬于TCP頭部,數(shù)據(jù)部分僅1字節(jié))。支持全雙工傳輸:通信雙方可以同時(shí)發(fā)數(shù)據(jù)和接收數(shù)據(jù)。TCP連接是基于字節(jié)流的:UDP是基于報(bào)文流的。TCP是一個(gè)可以保證可靠數(shù)據(jù)傳輸?shù)膫鬏攲訁f(xié)議,主要采用采用以下四個(gè)機(jī)制實(shí)現(xiàn)數(shù)據(jù)可靠性傳輸。字節(jié)編號(hào)機(jī)制:TCP數(shù)據(jù)段以字節(jié)為單位對數(shù)據(jù)段的"數(shù)據(jù)"部分進(jìn)行一一編號(hào),確保每一個(gè)字節(jié)的數(shù)據(jù)都可以有序傳送和接收。數(shù)據(jù)段確認(rèn)機(jī)制:每接收一個(gè)數(shù)據(jù)段都必須有接收端向發(fā)送端返回確認(rèn)數(shù)據(jù)段,其中的確認(rèn)號(hào)表示已經(jīng)正確接收的數(shù)據(jù)段序號(hào)。超時(shí)重傳機(jī)制:TCP中有一個(gè)重傳定時(shí)器(RTT),發(fā)送一個(gè)數(shù)據(jù)段的同時(shí)也開啟這個(gè)定時(shí)器,如果定時(shí)器過期之時(shí)還沒有返回確認(rèn),則定時(shí)器停止,重傳該數(shù)據(jù)。選擇性確認(rèn)機(jī)制:(Selective ACK,SACK)/只重傳缺少部分的數(shù)據(jù),不會(huì)重傳那些已經(jīng)正確接收的數(shù)據(jù)。UDP 是User Datagram Protocol的簡稱, 中文名是用戶數(shù)據(jù)報(bào)協(xié)議,是OSI(Open System Interconnection,開放式系統(tǒng)互聯(lián)) 參考模型中一種無連接的傳輸層協(xié)議,提供面向事務(wù)的簡單不可靠信息傳送服務(wù),IETF RFC 768是UDP的正式規(guī)范。UDP在IP報(bào)文的協(xié)議號(hào)是17。UDP協(xié)議全稱是用戶數(shù)據(jù)報(bào)協(xié)議,在網(wǎng)絡(luò)中它與TCP協(xié)議一樣用于處理數(shù)據(jù)包,是一種無連接的協(xié)議。
在OSI模型中,在第四層——傳輸層,處于IP協(xié)議的上一層。UDP有不提供數(shù)據(jù)包分組、組裝和不能對數(shù)據(jù)包進(jìn)行排序的缺點(diǎn),也就是說,當(dāng)報(bào)文發(fā)送之后,是無法得知其是否安全完整到達(dá)的。UDP用來支持那些需要在計(jì)算機(jī)之間傳輸數(shù)據(jù)的網(wǎng)絡(luò)應(yīng)用。包括網(wǎng)絡(luò)視頻會(huì)議系統(tǒng)在內(nèi)的眾多的客戶/服務(wù)器模式的網(wǎng)絡(luò)應(yīng)用都需要使用UDP協(xié)議。UDP報(bào)文分為UDP報(bào)文頭和UDP數(shù)據(jù)區(qū)域兩個(gè)部分。報(bào)頭由源端口,目的端口,報(bào)文長度以及校驗(yàn)和組成。UDP適合于實(shí)時(shí)數(shù)據(jù)傳輸,比如語音和視頻通信。相比TCP,UDP的傳輸效率更高,開銷更小,但是無法保證數(shù)據(jù)傳輸可靠性。UDP頭部的標(biāo)識(shí)如下:1)16位源端口號(hào):源主機(jī)的應(yīng)用程序使用的端口號(hào)。2)16位目的端口號(hào):目的主機(jī)的應(yīng)用程序使用的端口號(hào)。3)16位UDP長度:是指UDP頭部和UDP數(shù)據(jù)的字節(jié)長度。因?yàn)閁DP頭部長度是8字節(jié),所以字段的最小值為8。4)16位UDP校驗(yàn)和:該字段提供了與TCP校驗(yàn)字段同樣的功能;該字段是可選的。