導航:首頁 > 數據分析 > udp緩存多少數據包解決丟包問題

udp緩存多少數據包解決丟包問題

發布時間:2023-08-14 17:37:55

❶ 如何解決UDP丟包問題

看你需要是否嚴謹。
udp傳輸本來就會丟失包的現象,但是效率高。
如果需求比較嚴謹的話 用tcp傳輸。不過效率就沒有udp高。
udp本來就是這樣設計的,是本身的特性,除非你自己寫個udp。
包多的時候,要能保證接收端在收到數據後能立刻再次回到監聽狀態,以防在處理這個包的消息的時候有新的包發過來卻因為接收端還未回到監聽狀態而造成丟包。研究一下委託回調吧。

另一個是要注意每個包不要攜帶過長的數據量,可以拆分成若干小包後在每個包頭前編號,接收端在收到後排序整理,發現哪個編號丟了返還給發送端要求沖發該吧。研究下消息隊列吧。

❷ UDP為什麼丟包很嚴重

udp是不可靠協議,意思是說沒有應答重傳機制,這個可以自己上層做一個應答等待內和握手。容
udp在區域網內,低數據量,是比較可靠的,連續十幾萬包都幾乎不丟包。而且區域網內沒多路由分支路徑,基本能夠保證到達順序的先後。它只有在網路擁堵,數據包太多,接收方處理不過來導致丟失,還有就是交換機處理不過來導致丟包。
udp在長距離,網路跳點太多的網際網路才比較容易丟包。還有一個是包的順序無法保證,因為是多路由分支傳輸過來,在網路環境擁堵和交換機處理轉發延時下,無法確保到達包的先後順序。
udp作為命令的發送,少數據的傳輸,佔用資源更少,更高效,加上廣播機制,比tcp便捷太多了。尤其在一對多的信息傳輸中更有優勢,因為tcp需要佔用連接,同時處理並發數據請求能力有限,一旦終端卡死掉線就必須等待長時間的釋放,也容易出問題。
一般丟包嚴重,首先要確定接收緩存是否溢出,處理數據是否耗時,是否能夠跟上發送方速度。而tcp是跟udp一樣傳輸的,只是加上重傳機制和順序組裝機制,如果udp丟包很嚴重,tcp其實也很低效,幾乎無法用了。所以區域網udp丟包嚴重是網路和緩存程序的問題多。

❸ 網路丟包原因及解決方案

網路丟包是我們在使用ping對目站進行詢問時,數據包由於各種原因在信道中丟失的現象。ping 使用了ICMP 回送請求與回送回答報文。ICMP 回送請求報文是主機或路由器向一個特定的目的主機發出的詢問,收到此報文的機器必須給源主機發送 ICMP 回送回答報文。這種詢問報文用來測試目的站是否可到達以及了解其狀態。

許多時候,我們可能都會碰到網路連接時斷時續的故障現象,面對這種網路故障,不少網路管理員都會使用Ping命令對網路連通性進行測試,測試結果表明此時的網路傳輸線路數據丟包現象非常嚴重,那麼究竟是什麼因素導致了數據丟包現象比較嚴重呢?是連接線路接觸不穩定?是網路病毒?還是其他的潛在因素?

原因一:物理線路故障

網管員發現廣域網線路時通時斷, 發生這種情況時, 有可能是線路出現故障, 也可能是用戶方面的原因。為了分清是否是線路故障,可以做如下測試。

如果廣域網線路是通過路由器實現的,可以登錄到路由器,通過擴展 ping 向對端路由器廣域網介面發送大量的數據包進行測試。如果線路是通過三層交換機實現,可在線路兩端分別接一台計算機,並將 IP 地址分別設為本端三層路由交換機的廣域網介面地址,使用 「ping 對端計算機地址 - t 」命令進行測試。

如果上述測試沒有發生丟包現象, 則說明線路運營商提供的線路是好的, 引起故障的原因在於用戶自身,需要進一步查找。

如果上述測試發生丟包現象, 則說明故障是由線路供應商提供的線路引起的, 需要與線路供應商聯系盡快解決問題。

由物理線路引起的丟包現象還有很多,如光纖連接問題,跳線沒有對准設備介面,雙絞線及 RJ-45 接頭有問題等。另外,通信線路受到隨機雜訊或者突發雜訊造成的數據報錯誤,射頻信號的干擾和信號的衰減等都可能造成數據包的丟失。我們可以藉助網路測試儀來檢查線路的質量。

原因二:設備故障

設備故障主要是指設備硬體方面的故障,不包含軟體配置不當造成的丟包。如網卡是壞的,交換機的某個埠出現了物理故障,光纖收發器的電埠與網路設備介面,或兩端設備介面的雙工模式不匹配。

曾看過這樣的例子,一交換機埠的光纖模塊故障造成的丟包現象, 該交換機在通信一段時間後死機,即不能通信,重啟後恢復正常。在經過一段時間觀察後發現,某光纖模塊存在問題,取一塊新的模塊替換,一切正常。

究其原因,交換機會對所有接收到的數據包進行 CRC 錯誤檢測和長度校驗,將檢查出有錯誤的包丟棄,正確的包轉發出去。但這個過程中有些有錯誤的包在 CRC 錯誤檢測和長度校驗中都均未檢測出錯誤,這樣的包在轉發過程中不會被發送出去,也不會被丟棄,它們將會堆積在動態緩存中,永遠無法發送出去,等到緩存中堆積滿了,就會造成交換機死機的現象。最終結果是,數據包無法到達目的主機。

原因三:網路擁塞

網路擁塞造成丟包率上升的原因很多,主要是路由器資源被大量佔用造成的。

如果發現網速慢, 並且丟包率呈現上升的情況, 這時應該 show process cpu 和 show process mem ,一般情況下發現 IP input process 佔用過多的資源。接下來可以檢查 fast switching 在大流量外出埠是否被禁用,如果是,則需要重新使用。

再看一下 Fast switching on the same interface是否被禁用,如一個介面配有多個網段並且這些網段間流量很大時,路由器工作在 process-switches 方式,這種情況下要在介面上執行命令「enable ip route-cache same- interface 。」

接下來,用 show interfaces 和 show interfaces switching 命令識別大量包進出的埠。一旦確認進入埠後,打開 IP accounting on the outgoing interface 看其特徵,如果是攻擊,源地址會不斷變化但是目的地址不變,可以用命令 「access list 」暫時解決此類問題(最好在接近攻擊源的設備上配置),最終解決辦法是停止攻擊源。

應用中遇到的造成網路擁塞的情況還有很多, 如大量的 UDP 流量, 可以用解決 spoof attack 的步驟解決此問題。大量的組播流、廣播包穿越路由器,路由器配置了 IP NAT 並且有很多 DNS 包穿越路由器等。上述情況造成網路擁塞後,通信雙方採取流量控制,丟棄不能傳輸的包。

原因四:MTU 配置不當

在關鍵設備上MTU設置不當,也會造成網路丟包(乙太網:1500 位元組,IEEE 802.3/802.2 1492位元組)。查看網路中關鍵設備的 MTU 配置。

在了解了如何定位網路丟包的位置之後,網管需要進一步分析丟包發生的原因,以排除故障。打開網路分析軟體以後,我們配置好網路檔案,選擇分析檔案之後,就可以開始分析了。

首先我們可以在圖表中添加利用率統計,可以看到,在14:38:05 之後,網路利用率突然升高,接近40% 。推薦利用率不高於15% ,當網路利用率超過了 30% ,就會產生1%的丟包,並且呈幾何倍數的增長。這個網路中,利用率高達 40%,肯定存在著嚴重的丟包現象。

了解了有丟包就會有 TCP 數據包重傳之後,網管可以在診斷中,找出 TCP 數據包重傳比較嚴重的主機。

如何確定網路丟包的存在

通常我們利用 PING x.x.x.x -t 這個命令來進行測試網路中是否存在丟包。

在上圖中可以看到,在本機上向 192.168.122.2 這個不存在的地址進行長時間 PING 的時候,發送出去的 ICMP 包都丟失了,丟失率達到 100% 。即從本機到 192.168.122.2 這個實際不可達地址的路徑上存在丟包。

定位網路丟包的分析步驟

在網路丟包發生的情況下,用戶會明顯感受到網路速度變慢,這時候網管首先需要做的就是進行 PING X.X.X.X –t 來進行大致是哪個網段的診斷。在發現確實有丟失率存在的情況下,我們可以利用科來軟體進行進一步分析。

在分析之前,我們有必要學習一下前置知識。

TCP協議的特點之一就是保障數據傳輸的可靠性,即確保數據能夠正確完整傳輸。那麼TCP究竟是如何來保障的?可以看到,TCP 在傳輸時,有著傳輸確認—重傳機制,即發送數據一方在傳輸數據時為每一個分段編制序列號( Sequence Number ),接收方會向發送方發送接收到分段數據的確認(Acknowledgment),通過這種方式確認數據是否准確傳送,在無法確認某分段數據被准確傳送或確認某分段數據沒有被准確傳送時重新進行傳輸。

所以,在網路丟包發生的情況下,必定會有 TCP 數據包重傳的出現。

1. 解決方案

分析關鍵鏈路(一般是出口鏈路) 的流量佔用情況, 查看網路利用率是否過高,每秒數據包是否過多,數據包大小分布是否合理、TCP會話是否正常等。

當然最根本的方法就是限制用戶流量,就是針對每個上網的用戶進行流量控制,比如禁止訪問視頻網站和其他與工作內容無關的網站,同時又能針對每個用戶做出精準的流量限制,防止其對有限網路帶寬的過度佔用。

還可以針對一些流量做出服務質量保證( QOS),比如可以將與工作關系比較大的流量:如網頁訪問、郵件流量等的流量優先順序提高,從而可以在一定程度上緩解網路擁塞,保證高優先順序業務可以優先得到轉發。 (治標不治本的方法)

2. 另外關於 ping IP 老是丟包的問題:

通常有以下幾種原因:

3. 總之一般排除故障的方法是:

引薦自:[ http://network.51cto.com/art/201810/584884.htm

❹ 如何測試UDP數據包的丟包率和延遲

iperf也可以用於UDP數據包復吞吐量制、丟包率和延遲指標,但是由於UDP協議是一個非面向連接的輕量級傳輸協議,並且不提供可靠的數據傳輸服務,因此對UDP應用的關注點不是傳輸數據有多快,而是它的丟包率和延時指標。通過iperf的「-u」參數即可測試UDP應用的傳輸性能,下圖測試的是在iperf客戶端傳輸100MB的UDP數據包的輸出結果:

iperf服務端顯示的UDP傳輸狀態

在這個輸出中,詳細記錄了在傳輸過程中,每個階段的傳輸延時和丟包率,在UDP應用中隨著傳輸數據的增大,丟包率和延時也隨之增加。對於延時和丟包可以通過改變應用程序來緩解或修復,例如視頻流應用,可以通過緩存數據的方式而可以容忍更大的延時。



閱讀全文

與udp緩存多少數據包解決丟包問題相關的資料

熱點內容
哪個app可以看好友距離 瀏覽:75
dbf文件找不到 瀏覽:174
如何搞word文件 瀏覽:393
表格多建立資料庫 瀏覽:430
win10文件圖標修復工具 瀏覽:190
蘋果手機攜程旅遊怎麼領流量 瀏覽:721
bestsonny系統升級 瀏覽:122
限制特定文件類型的是哪個 瀏覽:874
javaexcel導出2007 瀏覽:21
linuxcentos7top詳解 瀏覽:245
win10打開sep文件出錯 瀏覽:8
用編程怎麼做幸運大轉盤 瀏覽:274
編程溫州哪裡有學 瀏覽:305
做貿易app哪個好 瀏覽:38
電腦區域網傳輸文件 瀏覽:746
linuxshell覆蓋文件 瀏覽:725
如何全選文件夾里的全部內容 瀏覽:784
sai文件修復 瀏覽:968
編程語句折疊點哪裡 瀏覽:826
win7遠程linux系統 瀏覽:372

友情鏈接