2009-12-17 24 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