2009-12-17 28 views
6

我读过一些浏览器插件的支持UDP套接字(例如,Java,统一),但最流行的插件,Flash游戏,不支持UDP套接字!?我最喜欢的Silverlight也不是。为什么Silverlight或Flash不实现UDP套接字?

现在,我知道的Silverlight 4.0测试版具有多播UDP套接字,但这些是公共互联网,这是我想用我建立一个在浏览器应用的东西没用上。我知道Flash 10具有RTMFP,但仍不能用作UDP单播套接字。

所以,我听说过一些理论认为UDP是一个安全隐患,但我真的不明白它是如何更是TCP,或如何策略服务器并不免除风险的风险。请有人向我解释这里发生了什么事。谢谢。

回答

5

UDP的危险部分,不像TCP/IP,它不会做任何握手。实际上,这意味着可以构建一个攻击应用程序,使用UDP数据包来洪泛本地网络。我认为构建一个可以区分攻击应用程序和合法语音/视频流的策略很困难。想象一下这种攻击来源于网络:http://en.wikipedia.org/wiki/UDP_flood_attack。即使您将出站IP地址用作过滤器,外部服务器也不会有任何麻烦,只是忽略了洪泛,因为没有强制侦听的策略。外部服务器不需要发回任何东西,只有好的盒子才会发回ICMP错误。

我也想有可能是一些非常创造性的方式来压倒支持UDP穿越防火墙。

代理服务器的风格可以用来转换UDP到TCP出于安全原因。尽管如此,它对企业应用程序只有成本效益。

+1

是的,事实上,这很可能是Adobe最关心的问题。然而,我一直在思考,为什么Adobe会承担这么大的责任(而不是让内容生产者和消费者的社区决定),只是因为害怕......而忽略了所需的功能......当然,每个人都会责怪Adobe(这就是我们所做的)。无论如何,为什么我们不完全在互联网上杀死UDP?毕竟,它允许洪水攻击;-)感觉讽刺?不是说你错了,实际上你的答案是绝对有效的和解释性的,只是放泄... – amn 2011-01-15 13:35:09