淺述傳輸層通信協(xié)議中的TCP和UDP
在網(wǎng)絡(luò)通信協(xié)議中,我們的傳輸層通信協(xié)議包括TCP協(xié)議,UDP協(xié)議等等。那么針對(duì)這兩方面的協(xié)議我們來(lái)進(jìn)行一個(gè)說(shuō)明。首先是對(duì)TCP協(xié)議的分析,相信這個(gè)協(xié)議大家是比較熟悉的。好了,不多贅述,還是請(qǐng)大家瀏覽下文吧。
傳輸層通信協(xié)議1:TCP協(xié)議的分析
傳輸控制協(xié)議TCP是TCP/IP協(xié)議棧中的傳輸層協(xié)議,它通過(guò)序列確認(rèn)以及包重發(fā)機(jī)制,提供可靠的數(shù)據(jù)流發(fā)送和到應(yīng)用程序的虛擬連接服務(wù)。與IP協(xié)議相結(jié)合,TCP組成了因特網(wǎng)協(xié)議的核心。它是一種面向連接的、可靠的傳輸層協(xié)議[4]。TCP協(xié)議是為了在主機(jī)實(shí)現(xiàn)高可靠性包交換的傳輸協(xié)議,在計(jì)算機(jī)網(wǎng)絡(luò)中用途很廣泛。
由于大多數(shù)網(wǎng)絡(luò)應(yīng)用程序都在同一臺(tái)機(jī)器上運(yùn)行,計(jì)算機(jī)上必須能夠確保目的地機(jī)器上的軟件程序能從源地址機(jī)器處獲得數(shù)據(jù)包,以及源地址計(jì)算機(jī)能收到目的計(jì)算機(jī)正確的回復(fù),這是通過(guò)使用TCP的“端口號(hào)"完成的。網(wǎng)絡(luò)IP地址和端口號(hào)相結(jié)合成為唯一的標(biāo)識(shí),我們稱之為“套接字"或“端點(diǎn)"。TCP在端點(diǎn)間建立連接或虛擬電路進(jìn)行可靠通信[5]。
傳輸層通信協(xié)議2:UDP協(xié)議的分析
UDP協(xié)議是英文UserDatagramProtocol的縮寫(xiě),即用戶數(shù)據(jù)報(bào)協(xié)議,主要用來(lái)支持那些需要在計(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協(xié)議從問(wèn)世至今已經(jīng)被使用了很多年,雖然其最初的光彩已經(jīng)被一些類似協(xié)議所掩蓋,但是即使是在今天,UDP仍然不失為一項(xiàng)非常實(shí)用和可行的網(wǎng)絡(luò)傳輸層協(xié)議[8]。與我們所熟知的TCP(傳輸控制協(xié)議)協(xié)議一樣,UDP協(xié)議直接位于IP(網(wǎng)際協(xié)議)協(xié)議的頂層。根據(jù)OSI(開(kāi)放系統(tǒng)互連)參考模型,UDP和TCP都屬于傳輸層協(xié)議。
UDP協(xié)議是一個(gè)簡(jiǎn)單的面向數(shù)據(jù)報(bào)的傳輸層協(xié)議,他不提供可靠性:即只把應(yīng)用程序傳給IP層的數(shù)據(jù)發(fā)送出去,但是并不能保證他們能到達(dá)目的廣播和多播是基于UDP協(xié)議的兩種消息發(fā)送機(jī)制。廣播數(shù)據(jù)即從一個(gè)工作站發(fā)出,局域網(wǎng)內(nèi)的其他所有工作站都能收到它。IP協(xié)議下,多播是廣播的一種變形:IP多播要求將對(duì)收發(fā)數(shù)據(jù)感興趣的所有主機(jī)加入到一個(gè)特定的組。
傳輸層通信協(xié)議3:UDP協(xié)議的應(yīng)用
既然UDP是一種不可靠的網(wǎng)絡(luò)協(xié)議,那么還有什么使用價(jià)值或必要呢?其實(shí)不然,在有些情況下UDP協(xié)議可能會(huì)變得非常有用。因?yàn)閁DP具有TCP所望塵莫及的速度優(yōu)勢(shì)。雖然TCP協(xié)議中植入了各種安全保障功能,但是在實(shí)際執(zhí)行的過(guò)程中會(huì)占用大量的系統(tǒng)開(kāi)銷,無(wú)疑使速度受到嚴(yán)重的影響。反觀UDP由于排除了信息可靠傳遞機(jī)制,將安全和排序等功能移交給上層應(yīng)用來(lái)完成,極大降低了執(zhí)行時(shí)間,使速度得到了保證。
關(guān)于UDP協(xié)議的最早規(guī)范是RFC768,1980年發(fā)布。盡管時(shí)間已經(jīng)很長(zhǎng),但是UDP協(xié)議仍然繼續(xù)在主流應(yīng)用中發(fā)揮著作用。包括視頻電話會(huì)議系統(tǒng)在內(nèi)的許多應(yīng)用都證明了UDP協(xié)議的存在價(jià)值。因?yàn)橄鄬?duì)于可靠性來(lái)說(shuō),這些應(yīng)用更加注重實(shí)際性能,所以為了獲得更好的使用效果(例如,更高的畫(huà)面幀刷新速率)往往可以犧牲一定的可靠性(例如,會(huì)面質(zhì)量)。這就是UDP和TCP兩種協(xié)議的權(quán)衡之處。根據(jù)不同的環(huán)境和特點(diǎn),兩種傳輸協(xié)議都將在今后的網(wǎng)絡(luò)世界中發(fā)揮更加重要的作用。