UDP与TCP安全性

时间:2013-03-27 19:09:04

标签: security tcp network-programming udp

我们正在开发一款游戏,数百万客户与我们的服务器进行通信。这些游戏大部分都是回合制的。我知道UDP提供了一些优于TCP的性能优势,但我想知道一个协议是否比其他协议具有安全优势?我已经阅读了一些网站,表明TCP通常会更安全,但我已经看到了大量利用TCP漏洞的攻击。<​​/ p>

我们的代码非常容忍不可靠的连接和丢失/无序数据,这就是我想到UDP的原因。谢谢!

2 个答案:

答案 0 :(得分:6)

UDP的一个重大安全问题是您容易受到欺骗和DOS攻击。因为握手永远不会完成,所以不可能使用TCP在互联网上欺骗地址。使用UDP的OTOH没有隐式握手 - 任何会话维护都必须由您的代码完成(处理开销)。

  

我知道UDP提供了一些优于TCP的性能优势

仅在局域网中 - 部分原因是减少了不必进行握手的延迟 - 但最大的区别在于它绕过了拥塞控制机制。对于数据包丢失率非常低的局域网数据而言,这不是问题 - 但如果您想通过互联网发送数据,则必须在应用程序中实施带宽限制,错误恢复和拥塞控制(更多处理高架)。虽然您可以通过前向错误控制来处理某些类型的数据包丢失,但这对于过载的路由器无济于事。所有那些减慢UDP速度的东西都是有原因的。

如果您的数据流不超过,比如说任何方向的2 MSS,然后是来自远程端的确认,那就去吧 - 但是如果你想快速移动大量数据,请使用TCP(或旅行车)

答案 1 :(得分:5)

这是比较UDP和TCP的好资源:http://www.skullbox.net/tcpudp.php

传统上,大多数实时应用程序使用UDP,例如:VOIP。我不是安全专家, 但我猜他们都同样安全/不安全。这取决于安全协议的使用,如TLS等。

TCP只有保证数据包传输的机制。