教育行業(yè)A股IPO第一股(股票代碼 003032)

全國咨詢/投訴熱線:400-618-4000

快速掌握TCP協議和UDP協議區(qū)別

更新時間:2017年11月13日14時30分 來源:傳智播客 瀏覽次數:

要想了解TCP協議和UDP協議的區(qū)別,首先我們要了解TCP/IP協議,TCP/IP協議是個協議族。里面包含很多協議,UDP只是其中的一個,之所以命名為TCP/IP協議,因為TCP,IP協議是兩個很重要的協議,就以它們命名了。TCP/IP協議包含應用層,傳輸層,網絡層,網絡訪問層。


下面我們就著重講解一下TCP協議和UDP協議的區(qū)別:


TCP(Transmission Control Protocol,傳輸控制協議)是面向連接的協議,也就是說,在收發(fā)數據前必須和對方建立可靠的連接。一個TCP連接必須要經過三次“對話”才能建立起來,其中的過程非常復雜,下面只是簡單的描述下這三次對話的簡單過程:主機A向主機B發(fā)送連接請求數據包:“我想給你發(fā)送數據,可以嗎?”,這是第一次會話:主機B向主機A發(fā)送同意連接和要求同步(同步就是兩臺主機一個在發(fā)送,一個在接收,協調工作)的數據包:“可以,什么時候發(fā)呢”,這是第二次對話:主機A再發(fā)出一個數據包確認主機B的要求同步:“我現在就發(fā),你接著吧”,這是第三次對話,這三次“對話”的目的是使數據包的發(fā)送和接收同步,經過三次“對話”之后,主機A才向主機B正式發(fā)送數據。


TCP三次握手過程:


1、 主機A通過主機B發(fā)送一個含有同步序列號的標志位的數據段給主機B,向主機B請求簡歷連接,通過這個數據段,主機A告訴主機B兩件事:

我要和你通信;你可以用哪個序列號作為起始數據段來回應我。

2、 主機B接收帶主機A的請求后,用一個帶有確認應答(ACK)和同步序列號(SYN)標志位的數據段響應主機A,他也告訴主機A兩件事:

我已經接收到你的請求了,你可以傳輸數據了;你要用哪個序列號作為起始數據段來回應我

3、 主機A接收到這個數據段后,在發(fā)送一個確認應答,確認已經收到主句B的數據段:“我已經收到回復,我現在要開始傳輸實際數據了”這樣三次握手就完成了主機A和主機B就可以傳輸數據了。


三次握手的特點:


沒有應用層的數據,SYN這個標志位只用在TCP建立連接才會被設置1,握手完成后SYN標志位被設置為0。


UDP 是User Datagram Protocol的簡稱, 中文名是用戶數據包協議,是 OSI 參考模型中一種無連接的傳輸層協議,提供面向事務的簡單不可靠信息傳送服務。


UDP協議特點:


1、UDP是一個非連接的協議,傳輸數據之前源端和終端不建立連接,當它想傳輸時就簡單的去抓取來自應用程序的數據,并盡可能快的把它扔在網絡上。在發(fā)送端,UDP傳輸數據的速度僅僅是受應用程序產生數據的速度、計算機的能力和傳輸寬帶的限制;在接收到,UDP把每個消息放在隊列中,應用程序每次從隊列中讀一個消息段。

2、由于傳輸數據不建立連接,因此也就不需要維護連接狀態(tài),包括收發(fā)送狀態(tài)等,因此 一臺服務機可同時向多個客戶機傳輸相同的消息。

3、UDP信息包的標題很短,只有8個字節(jié),相對于TCP的20個字節(jié)信息包的額外開銷很小。

4、吞吐量不受擁擠控制算法的調節(jié),只受應用軟件生成數據的速度、傳輸寬帶、源端和終端主機性能的限制。

5、UDP使用盡量最大努力交付,即不保證可靠交付,因此主機不需要維持復雜的連接狀態(tài)表。

6、UDP是面向報文的。發(fā)送方的UDP對應程序交下來的報文,在添加首部后就向下交付給IP層。既不拆分,也不合并,而是保留這些報文的邊界,因此,應用程序需要選擇合適的報文大小


我們經常使用“ping”命令來測試兩臺主機之間TCP/IP通信是否正常,其實“ping”命令的原理及時面向對方主機發(fā)送UDP數據包,然后對方主機確認收到數據包,如果數據包是否達到達的消息及時反饋回來,那么網絡就是通的。


小結TCP協議和UDP協議區(qū)別:


1、 TCP基于連接,UDP基于無連接;

2、 TCP對系統資源要求較多,UDP較少;

3、 TCP是流模式,UDP是數據報模式;

4、 TCP保證數據完整性,UDP可能丟包;

5、 TCP保證數據順序,UDP不保證;


友情提示:獲得更多學科學習視頻+資料+源碼,請加QQ:3276250747。

0 分享到:
和我們在線交談!