傳輸層協(xié)議主要有TCP與UDP。
UDP:提供無連接的通信,不能保證數(shù)據(jù)包被發(fā)送到目的地址,典型的即時傳輸少量數(shù)據(jù)的應(yīng)用程序使用 UDP。
TCP:面向連接的。可靠地。基于字節(jié)流的通信協(xié)議,它為傳輸大量數(shù)據(jù)或為需要接受數(shù)據(jù)許可的應(yīng)用程序提供定向可靠地通信,TCP連接就像打電話,用戶撥特定的號碼,對方在線并拿起電話,然后雙方進行通話,通話完畢之后再掛斷。
而UDP就像是發(fā)短信,用戶短信發(fā)送給對方,對方有沒有收到信息,發(fā)送者根本不知道,而且對方是否回答也不知道,對方對信息發(fā)送者發(fā)送消息也是一樣。
TCP與UDP都是一種常用的通信方式,在特定的條件下發(fā)揮不同的作用。具體而言,TCP和UDP的區(qū)別主要表現(xiàn)在以下幾個方面:
(1)TCP是面向連結(jié)的傳輸控制協(xié)議,UDP提供的是無連接的數(shù)據(jù)包服務(wù)。
(2)TCP具有高可靠性,確保傳輸數(shù)據(jù)的正確性,不出現(xiàn)丟失或亂序;
(3)UDP在傳輸數(shù)據(jù)前不建立連結(jié),不對數(shù)據(jù)報進行檢查和修改,無需等待對方的應(yīng)答,所以會出現(xiàn)分組丟失,重復(fù),亂序,應(yīng)用程序需要負責(zé)傳輸可靠性方面的所有工作。
(4)TCP對系統(tǒng)資源要求多,UDP對系統(tǒng)資源要求少。
(5)UDP具有較好的實時性,工作效率較TCP高。
(6)UDP的段結(jié)構(gòu)比 TCP簡單,因此網(wǎng)絡(luò)開銷小。
有的朋友可能會問:UDP比TCP效率高,為什么TCP能夠保留呢?
其實TCP和UDP各有所長,各有所短,適用于不同的通信環(huán)境,有的環(huán)境用 UDP確實高效,有些環(huán)境需要可靠的連接,此時采用TCP則更好。在提及TCP的時候,一般也提及IP。
IP協(xié)議是一種網(wǎng)絡(luò)層協(xié)議,它規(guī)定每個互聯(lián)網(wǎng)上的計算機都有一個唯一的IP地址,這樣數(shù)據(jù)包就可以通過路由器轉(zhuǎn)發(fā)到達指定的計算機,但IP并不保證數(shù)據(jù)傳輸?shù)目煽啃浴?/p>