- N +

tcp和udp的區別和聯系,tcp和udp的聯系

大家好,如果您還對tcp和udp的區別和聯系不太了解,沒有關系,今天就由本站為大家分享tcp和udp的區別和聯系的知識,包括tcp和udp的聯系的問題都會給大家分析到,還望可以解決大家的問題,下面我們就開始吧!

tcp和udb的區別和聯系

tcp是一種面向連接的、可靠的、基于字節流的傳輸層通信協議,由IETF的RFC793定義。TCP旨在適應支持多網絡應用的分層協議層次結構。

udp是實現中國電信應用層統一認證的基礎網元設備,也是有效支撐中國電信賬號經營的基礎平臺。通過UDB平臺可將中國電信各個獨立業務系統整合成以統一賬號為基礎的綜合服務平臺,從而達到改善服務品質以及提升客戶感知的目的。

TCP與UDP的區別

1、連接方面區別

TCP面向連接(如打電話要先撥號建立連接)。

UDP是無連接的,即發送數據之前不需要建立連接。

2、安全方面的區別

TCP提供可靠的服務,通過TCP連接傳送的數據,無差錯,不丟失,不重復,且按序到達。

UDP盡最大努力交付,即不保證可靠交付。

3、傳輸效率的區別

TCP傳輸效率相對較低。

UDP傳輸效率高,適用于對高速傳輸和實時性有較高的通信或廣播通信。

4、連接對象數量的區別

TCP連接只能是點到點、一對一的。

UDP支持一對一,一對多,多對一和多對多的交互通信。

TCP協議和UDP協議有什么區別

TCP和UDP的基礎知識,可以去翻閱相應書籍。

我說幾個在選擇和應用協議時比較重要的點,如果你不是很熟悉TCP/IP,應該是有所幫助的。尤其是關于對可靠性的理解。

基于字節流和面向數據報

TCP基于字節流:TCP接收到應用層協議的消息(已編碼為二進制)后,然后參考該計算機連接的網絡數據鏈路層MTU(最大傳輸單元)確定是否要分包,然后交給IP層。但是并不會在不同的消息之間設置分隔符,應用層協議需要在自己的消息中包含該消息的長度信息。類比:你向一個文件追加一系列的序列化對象數據(可看做應用層協議包),如果你自己不標記每次序列化數據的長度,到了反序列化的時候就沒辦法了。如果你類似Redis在處理字符串的時候在頭部維護字符串的長度,就可以安全的讀出該字符串。

UDP基于數據報:Udp接收到應用協議的某個消息(已編碼為二進制)后,不會分包,但是要記錄當前數據包的大?。ㄏ⒋笮〖由?個字節頭部),然后交給IP層。IPV4對UDP數據報的大小限制為65535字節(包含頭部8個字節),你每次可以直接發送的消息不能超過65507字節。然后UDP協議會自行根據頭部的報文長度字段確定完整的消息,對于應用層協議來說,這就是一條完整的消息,不用再做邏輯分離消息。

不管是TCP或者UDP,IP層都會再次考慮MTU確定是否分包。IP層的功能這里不展開。

可靠性和時效性

TCP是可靠的,可靠性通過確認和超時重傳機制保證。它是保證路由可達時最終能傳輸成功。

但是如果你加上時效性要求,這個“可靠性”就大打折扣了!考慮RPG游戲場合,如果因為網絡丟包等原因,導致超時重傳消息1秒后才到,這種延遲你能接受么?

通信鏈路不總是可靠的,如果出現問題,TCP協議是不會向上匯報的。而是通過ICMP協議來完成,最終由操作系統接收處理,而操作系統一般會接受多次反饋后才會最終確認“斷網了”,WIndows就會長達幾分鐘。你可以嘗試拔掉路由器的WLAN端口,再看看你的操作系統什么時候才反應過來無法連接到因特網。你的應用協議可以忍受這么長時間的“懵逼”狀態么?

所以,即使TCP有可靠性保證,絕大部分基于TCP的應用層協議都會顯示或隱式地包含確認功能和超時設置。考慮HTTP,顯示的確認功能,客戶端都會有請求超時時間限制。

Tips:

自定義應用層協議需要保證消息有序傳輸時,tcp的滑動窗口是個很好的實現參考。

選擇問題

關于TCP和UDP的一般選擇,這里不說了,到處都可以找到。

說幾兩個需要可靠性但是適用UDP的場合吧。

1、如果你需要做實時性很高且消息?。ū热缧∮谝蕴W的MTU1500Byte)的通信程序,UDP就很適合。關鍵消息重復發,不用等確認都可以,當然最終還是需要確認。

2、如果是內網環境,網絡非常穩定,UDP幾乎不會出問題,如果極度要求性能,可以考慮。

3、如果你公網網絡資源有限,而用戶之間需要傳遞大量數據,可以考慮用UDP做NAT穿透。

個人見解,歡迎大家評論或者提出意見。

簡述TCP和UDP的區別

TCP與UDP的區別:

1.基于連接與無連接;

2.對系統資源的要求(TCP較多,UDP少);

3.UDP程序結構較簡單;

4.流模式與數據報模式;

5.TCP保證數據正確性,UDP可能丟包,TCP保證數據順序,UDP不保證。

udp和tcp協議的路由區別

TCP路由

實現跨網段通信路由器的工作原理是基于路由器中的路由表來實現數據包的路徑選擇;當路由器收到一個數據包的時候,會讀取數據包的目標IP地址,根據目標IP地址來匹配路由表中的規則;單個路由器不會負責數據包全程的發送,只負責把數據包轉發到下一個路由器即完成了任務。

UDP路由

它會向目標主機發送UDP包,當到達經過的路由器時,TTL值為0,還沒有找到目標主機,經過的路由器將返回超時消息的ICMP數據包,如果成功到達主機,將不會返回任何響應信息。netwox工具提供了編號為61和62的模塊,用來構造UDP包進行路由跟蹤。

文章分享結束,tcp和udp的區別和聯系和tcp和udp的聯系的答案你都知道了嗎?歡迎再次光臨本站哦!

返回列表
上一篇:
下一篇: