什么是TCP
TCP(Transmission Control Protocol傳輸控制協(xié)議)是一種面向連接的,可靠的,基于字節(jié)流的傳輸通信協(xié)議。
1、tcp(Transmission Control Protocol傳輸控制協(xié)議)
2、傳輸層協(xié)議
3、原因:應用層需要可靠的連接,但是IP層沒有這樣的流機制
4、面向連接,即在客戶端和服務器之間發(fā)送數(shù)據(jù)之間,必須先建立連接
5、位于應用層和IP層之間
6、連接需要建立三次握手、四次揮手斷開連接
7、傳輸數(shù)據(jù)時可靠的
TCP連接建立——使用三次握手建立連接
1、客戶端發(fā)送請求【尋址請求】
2、服務器端收到報文請求,回應客戶端【確認請求】
3、客戶端收到服務端的報文進行回應。【連接請求】
三次握手完成,TCP客戶端和服務端成功地建立連接,可以傳輸數(shù)據(jù)。
TCP終止一個連接——四次握手
1、數(shù)據(jù)驗證請求碼
2、傳輸結(jié)束標記
3、確認結(jié)束標記
4、連接斷開標記
UDP(User Datagram Protocol用戶數(shù)據(jù)報協(xié)議)
1、UDP(User Datagram Protocol用戶數(shù)據(jù)報協(xié)議)
2、傳輸層協(xié)議
3、無連接的數(shù)據(jù)報協(xié)議
4、不能提供數(shù)據(jù)報分組,組裝和不能對數(shù)據(jù)報進行排序
5、主要用于不要求分組順序到達的傳輸中,分組傳輸順序的檢查和排序有應用層完成。
6、提供面向事務的簡單不可靠傳遞服務。
7、UDP協(xié)議使用端口分別運行在同一臺設備上的多個應用程序
8、功能:為了在給定的主句上能識別多個目的的地址,同時允許多個應用程序在同一臺主句上工作并能夠獨立地進行數(shù)據(jù)包的發(fā)送和接受,設計用戶數(shù)據(jù)報協(xié)議UDP
TCP、UDP兩者的區(qū)別
1、TCP是面向連接的(在客戶端和服務器之間傳輸數(shù)據(jù)之前要先建立連接),UDP是無連接的(發(fā)送數(shù)據(jù)之前不需要先建立連接)
2、TCP提供可靠的服務(通過TCP傳輸?shù)臄?shù)據(jù)。無差錯,不丟失,不重復,且按序到達);UDP提供面向事務的簡單的不可靠的傳輸。
3、UDP具有較好的實時性,工作效率比TCP高,適用于對高速傳輸和實時性比較高的通訊或廣播通信。隨著網(wǎng)速的提高,UDP使用越來越多。
4、沒一條TCP連接只能是點到點的,UDP支持一對一,一對多和多對多的交互通信。
5、TCP對系統(tǒng)資源要去比較多,UDP對系統(tǒng)資源要求比較少
6、UDP程序結(jié)構(gòu)更加簡單
7、TCP是流模式,UDP是數(shù)據(jù)報模式