TCP是面向連接的
UDP是面向無連接的
就是這種關系了
TCP(Transmission Control Protocol,傳輸控制協議)
UDP(User Datagram Protocol,用戶數據包協議)
當IP包通過路由將數據傳輸到目的地時,會根據TCP或UDP包頭中的源端口和目的端口信息,請求和獲取不同的應用。也就是說,不管TCP還是UDP,都含有網絡服務必須的源端口和目的端口信息,以建立和實現網絡傳輸服務。這時,你的疑問就來了:既然都用於傳輸,為何要搞兩個不同的協議呢?這就需要從網絡中不同服務的需求來談起。
在網絡中,有些服務,如HTTP、FTP等,對數據的可靠性要求較高,在使用這些服務時,必須保證數據包能夠完整無誤的送達;
而另外一些服務,如DNS、即時聊天工具等,並不需要這么高的可靠性,高效率和實時性才是它們所關心的。
根據這兩種服務不同的需求,也就誕生了面向連接的TCP協議,以及面向無連接的UDP協議。
這里的連接(Connection)和無連接(Connectionless)是網絡傳輸中常用的術語,它們的關系可以用一個形象地比喻來說明,就是打電話和寫信。
打電話時,一個人首先必須撥號(發出連接請求),等待對方響應,接聽電話(建立了連接)后,才能夠相互傳遞信息。通話完成后,還需要掛斷電話(斷開連接),才算完成了整個通話過程。
寫信則不同,你只需填寫好收信人的地址信息,然后將信投入郵局,就算完成了任務。此時,郵局會根據收信人的地址信息,將信件送達指定目的地。
歡迎關注微信公眾號:shoshana