2010-05-10 56 views
1

HI all。TCP和UDP正在使用不同的OS緩衝區?

這是場景。

我有我的程序使用的端口8888。

我在該端口上構建一個TCP和UDP偵聽器。 (這可如何是好,C#允許的,因爲它們是兩個不同的協議)

我的問題是

如果網絡交通十分繁忙,TCP套接字可以拒絕或信令的另一端停止發送的東西,它是稱爲擁塞控制,對吧?因此,如果TCP是擁塞控制,其他端可能不會發送更多的數據,在這個「TCP安靜期」,UDP通道應該沒有那麼多的流量,對吧?

我想知道TCP流量會不會影響UDP流量?

回答

2

是的,TCP和UDP流量可以相互影響,因爲它們都是IP流量。中間路由器不會區分這兩者,並且如果擁塞,則可能會被丟棄。港口是什麼沒有區別。

如果報文被丟棄,TCP可能傾向於降低發送端的傳輸速率,而UDP會傾向於丟棄報文。

你真的在問什麼?

+0

Thanks WhirlWind。例如,我只想弄清楚,如果有很多TCP連接被大量使用和使用,UDP是否會從這種擁塞中生存下來? – Jack 2010-05-10 19:42:48

+0

這取決於你的意思是「生存」。某些UDP段可能會丟失。 – WhirlWind 2010-05-10 19:46:35

+0

即使沒有其他流量,一些UDP數據報可能總是丟失 - 您應該設計假設您將始終丟失並重復來自UDP的數據報。 – 2010-05-11 06:44:51

0

要回答這個問題,明確在標題...

TCP和UDP有不同的緩衝器,但他們都聊到IP,其在內核中一個緩衝區,通常被認爲是相等的數據包被路由過網絡。

因此,TCP和UDP不會在「傳輸」層進行交互,但會在其下的「網絡」,「數據鏈路」和「物理」層進行交互。