从云到NAT /防火墙后面的机器的消息

时间:2011-08-12 00:31:16

标签: http cloud firewall skype nat

我希望云计算机将消息发送到公司NAT /防火墙后面的计算机。

我的想法是在企业计算机上安装一个客户端,该客户端向云计算机发送长HTTP请求,当云端有消息时,它会返回响应。

我以为我发明了轮子,直到我读到“http隧道”(这就是我正在做的事情?)。 我还读到一些防火墙阻止非HTML流量,即使它是在http上。 那么我有什么机会让它发挥作用呢?

我还读到skype使用更复杂的机制。 是因为我的想法不起作用还是因为他们的想法更快?

我现在可以在速度上妥协 - 哪种方法有效且易于实施?

2 个答案:

答案 0 :(得分:3)

我知道你想用TCP / HTTP做这件事, 但我这样做的方法是使用UDP NAT'打孔',从而建立UDP通道, 然后使用通过它发送的UDP数据包 渠道作为信号机制...

这些可能(或可能不)有用或相关:

http://en.wikipedia.org/wiki/STUN
http://en.wikipedia.org/wiki/Hole_punching
http://en.wikipedia.org/wiki/UDP_hole_punching
http://en.wikipedia.org/wiki/TCP_hole_punching

另外 - 如果你真的必须使用HTTP,你可以 只需每X秒发出一次新的HTTP请求......

HTTP轮询,如果你愿意......

答案 1 :(得分:2)

如果他们阻止端口80上的非html,你可以尝试端口443.除非有一个SSL“中间人”代理(不太可能),你就没事了。

IIRC skype使用端口跳跃,所以基本上你需要一个算法来找到你可以连接的未经过滤的(通过智能猜测的暴力)端口。