簡體   English   中英

本地主機上的多播數據包順序

[英]multicast packet order on localhost

由於多播數據包通常基於udp,因此不可靠

在本地主機上,我會假設一個數據包只是從一個進程的緩沖區復制到另一個進程,因此按發送方發送的順序將其排在隊列中,對嗎?

我不確定的是:

  1. 我可以假定本地主機上用於多播(或udp)的包順序正確嗎? 如果沒有,為什么呢?
  2. 不同的操作系統處理(win,mac,linux)有什么具體區別?

謝謝

我是否可以在本地普遍采用正確的軟件包順序來進行多播(或udp)? 如果沒有,為什么?

不,因為未對數據包進行分類。 另外,您可能已經知道,無法保證環回連接將使UDP保持順序。

不同操作系統處理(win,mac,linux)的具體區別是什么?

協議沒有什么區別(請參閱RFC ),但具體細節很可能取決於平台(和版本),而且我敢肯定沒有人會立刻了解它們(無論如何都是近源的)。 這是最有可能無法保證有序性的另一個原因。 即使您確實對此進行了測試並且數據包按順序排列,在環回連接中依賴UDP數據包的順序之類的東西也是一個非常糟糕的主意(tm)。

另外 :關於UDP是“不可靠的”的說法雖然正確,但可能會引起誤解。 許多具有安全意識的軟件都可以通過UDP運行,並且通常只丟棄一小部分數據包。 有了適當的應急措施,如果使用UDP(為了性能起見,可以說)和丟包,則不應破壞某個軟件。 但是,如果您對此感到擔心,為什么不使用TCP?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM