模拟通用企业内部网

前言:

我的公司推出了一个软件套件,用于提供实时和按需多媒体(video,幻灯片,聊天等)。 我们提供服务器,客户端创作工具和客户端浏览器播放器。 我们的许多客户都是巨大的企业巨人,有一个共同点:复杂的全球内联网。 我们经常遇到代理,网关,TCP加速器,反向代理caching服务器,QoS协议,防火墙和偶尔的BOFH问题。

我们的团队很小,我们的办公室基础设施也是如此。 每个人都在OSX上,有几个testingWindows机器。 我们的networking由OSX服务器,AirPort Extreme,HP 2510-G24和100mbps有线互联网提供。 甚至没有像我们的客户那么复杂。 如果它坏了,我们跑到商店买一个新的。

这种差距耗费我们的时间,金钱和面子。 我们可以做得更好。 我想build立一个开发内联网来模仿我们客户的networking。 有了这样的钻机,我们可以提高我们对客户遇到的问题的理解,并为他们提供可靠的build议。

题:

我怎样才能模拟一个通用的企业内联网。 我可以以低廉的价格实施什么样的最低限度的设置来重现客户的networking环境?

一些背景细节:

  • 我们的平台
    • 我们的内容播放器是基于Flex的,video编码为h264
    • 我们通过HTTP传输需求内容,调节带宽。
    • 我们通过RTMPstream式传输实时内容,不期望的回退到RTMPT(通过HTTP隧道传输的RTMP)
    • 平台规模,唯一的瓶颈就是networking
  • 我们遇到的技术问题
    • 不允许RTMP(端口1935)访问
    • 代理请求的速率限制。 (RTMPT将每秒发出几个HTTP POST调用)
    • 以前未公开的带宽上限
    • 病毒扫描程序坚持在发送到客户端之前完整地下载所有文件
    • 局域网内子网之间的高度限制带宽配额(例如:校园到校园,城市到城市)
    • 古老的基础设施(你想把高清stream送到BFE?在一个12年的固定线路上,甚至没有人能够find这个文件)到一个没有扬声器的NT4客户端? O RLY ?)
    • n个字节之后的有意的带宽限制(这是正确的字吗?)
  • 我们想尝试一下:
    • 多播协议/技术
    • 内联网中子网之间的多播
    • Intranet中子网之间专有的P2Pstream媒体技术
    • 自适应速率stream
    • QoS协议configuration

这样一个系统应该允许我们:

  • 开发坚实的回退机制到我们的软件
  • 开发一个简单易用的诊断工具(销售,经理)
  • certificate经过validation的代理/防火墙configuration片段
  • 向我们的客户端用户提供准确的错误信息
  • 甚至可能是一两张白纸

最初,我开始思考一个运行鱿鱼的单一Linux机器以及一个体面的低端pipe理交换机就足够了。 但是我在开玩笑吗? 我从来没有devise过一个networking。

有任何想法吗? 我错过了什么吗? 鼓励具体的设备build议。

(顺便说一句:预算是有限的,尖尖的老板对现金很紧张,但如果我能certificate明确的成本/收益,就会提交。)

听起来像一个虚拟机的工作(dun duhhhh ….)

但严重的是,很多networking设备(防火墙,代理服务器,路由器等)都有“硬件”和“设备”版本。 设备版本可以安装在VMWare等虚拟机服务器上。 而且由于虚拟机的灵活性,唯一需要分配的硬件就是图像的磁盘空间(当你不使用某个特定的设置时,只需closures它,就可以获得所有的CPU / RAM /等等。

VMWare提供免费(如啤酒)版本的ESX hyper-visor,ESX可能是最受欢迎的企业级hyper-visor,但大多数设备将在XEN上运行,有些甚至在KVM上运行。

这确实有一些缺点,主要是你想要使用的每个设备都需要获得许可(除非你与提供商达成了特别的协议,你的使用受到“试用”的约束,或者有免费的版本来限制你的需求)。

如果你不需要一个相同的环境的替代scheme,就会为FOSS而疯狂。 设置3个防火墙虚拟机(是的,我的学校使用三个防火墙链,我不知道为什么),坚持它代理后面,并阻止POST请求,强制带宽限制等。我会想,如果你不'需要一个相同的环境,将有一些软件可用来提供类似的错过function。

TL; DR

虚拟化所有的东西