TCP和UDP使用不同的OS Buffer?

时间:2010-05-10 19:24:58

标签: windows tcp udp winsock

全部。

以下是该方案。

我的程序使用端口8888。

我在该端口上构建了TCP和UDP侦听器。 (这可以,c#允许,因为它们是两种不同的协议)

我的问题是

如果网络流量非常繁忙,TCP套接字可能会拒绝或发信号通知另一端停止发送内容,这称为拥塞控制,对吗?

因此,如果TCP是拥塞控制,其他端可能不会发送更多数据,在这个“TCP静默期”,UDP通道应该没有那么大的流量,对吗?

我想弄清楚TCP流量是否会影响UDP流量?

2 个答案:

答案 0 :(得分:2)

是的,TCP和UDP流量可以相互影响,因为它们都是IP流量。中间路由器不会区分这两者,如果有拥塞,可能会丢弃。这个端口没什么区别。

如果数据包被丢弃,TCP可能会因为拥塞控制而降低发送方的传输速率,而UDP则倾向于丢弃数据包。

你真的在问什么?

答案 1 :(得分:0)

回答标题中的明确问题......

TCP和UDP具有不同的缓冲区,但它们都与IP通信,内核中有一个缓冲区,并且通常认为数据包通过网络路由是相同的。

因此,TCP和UDP不会在“传输”层进行交互,而是会在其下方的“网络”,“数据链路”和“物理”层进行交互。