TCP/IP 是個協議組,可以分爲三個層次:網絡層,傳輸層和應用層
在網絡層有IP協議、ICMP協議、ARP協議、RARP協議和BOOTP協議。
在傳輸層中有TCP協議與UDP協議。
在應用層有FTP、HTTP、TELNET、SMTP、DNS等協議。
TCP又叫傳輸控制協議,TCP是面向連接的,並且是一種可靠的協議,在基於TCP進行通訊時,通信雙方需要建立TCP連接,建立連接需要3次握手,握手成功才能進行通信,而斷開連接需要進行4次
UDP又叫用戶數據報協議,UDP是一個面向無連接,且不可靠的協議,在通信過程中,它並不像 TCP 那樣需要先建立一個連接,只要(目的地址,端口號,源地址,端口號)確定了,就可以直接發送信息報文,並且不需要確保服務端一定能收到或收到完整的數據。它僅僅提供了校驗和機制來保障一個報文是否完整,若校驗失敗,則直接丟棄報文,不做任何處理。
TCP與UDP的區別
基於連接無連接:TCP需要連接,UDP不需要連接
系統資源的要求:TCP佔用的系統資源較多,UDP較少
程序結構較簡單:TCP程序複雜,UDP程序簡單
流模式與數據報模式:TCP是流模式,UDP是數據報模式
可靠性:TCP保證數據的正確性,UDP丟包,TCP保證數據順序,UDP不保證
TCP與UDP應用場景:
從特點上我們已經知道,TCP 是可靠的但傳輸速度慢 ,UDP 是不可靠的但傳輸速度快。因此在選用具體協議通信時,應該根據通信數據的要求而決定。
若通信數據完整性需讓位與通信實時性,則應該選用 TCP 協議(如文件傳輸、重要狀態的更新等);反之,則使用 UDP 協議(如視頻傳輸、實時通信等)。