摘自筆記
TCP(Transmission Control Protocol 傳輸控制協議)是一種面向連接的、可靠的、基於字節流的傳輸層通信協議,由IETF的RFC 793定義。在簡化的計算機網絡OSI模型中,它完成第四層傳輸層所指定的功能,用戶數據報協議(UDP)是同一層內另一個重要的傳輸協議。在因特網協議族(Internet protocol suite)中,TCP層是位於IP層之上,應用層之下的中間層。不同主機的應用層之間經常需要可靠的、像管道一樣的連接。
它的可靠性體現在:3次握手建立連接,滑動窗口機制,一定的擁塞避免算法,流量控制,以及一定的超時重傳機制。
TCP提供可靠,穩定的傳輸(三次握手,數據確認機制,重傳機制,擁塞控制),由於這些導致TCP傳輸效率低,速度慢(各種機制+每次連接都會消耗CPU,內存等資源)
tcp->傳輸控制協議
udp->用戶數據報協議
首先得理解什麼是可靠,在通信的角度來看,可靠即要確保通信雙方的通信信息不會丟失,若丟失了保證能夠對其進行恢復,並且收到的信息內容與原發送內容一樣。
udp通信模型
udp通信模型中,在通信開始之前,不需要建立相關的鏈接,只需要發送數據即可,類似於生活中,"寫信"",普通信件寄出去,無法保證對方是否收到。
tcp和udp區別
1)TCP面向連接---UDP面向無連接
2)TCP首部20字節---UDP首部8字節
3)TCP只能點對點通信---UDP可以實現一對一,一對多,多對一,多對多通信
4)TCP使用字節流傳輸---UDP使用報文傳輸
5)TCP提供可靠,穩定的傳輸(三次握手,數據確認機制,重傳機制,擁塞控制),由於這些導致TCP傳輸效率低,速度慢(各種機制+每次連接都會消耗CPU,內存等資源)---UDP提供不可靠,不穩定的傳輸(網絡不好容易丟包),但傳輸效率高,速度快