前言:
我的公司销售一套软件,用于提供实时和点播多媒体(视频、幻灯片、聊天等)。我们提供服务器、客户端创作工具和客户端浏览器播放器。我们的许多客户都是大型企业巨头,他们有一个共同点:复杂的全球内部网。我们经常遇到代理、网关、TCP 加速器、反向代理缓存服务器、QoS 协议、防火墙和偶尔的 BOFH 问题。
我们的团队很小,办公室基础设施也很小。每个人都使用 OSX,只有几台测试用的 Windows 机器。我们的网络由 OSX Server、AirPort Extreme、HP 2510-G24 和 100mbps 有线互联网连接组成。没有什么比我们的客户更复杂。如果它坏了,我们会跑到商店买一个新的。
这种差异浪费了我们的时间、金钱和面子。我们可以做得更好。我想建立一个开发内部网来模拟我们客户的网络。有了这样的设备,我们可以更好地了解客户遇到的问题,并为他们提供可靠的建议。
问题:
我如何模拟通用的企业内部网?我可以以低成本实现哪些最小设置来重现我们客户的网络环境?
一些背景细节:
- 我们的平台:
- 我们的内容播放器基于 Flex,视频采用 h264 编码
- 我们通过 HTTP 传输点播内容,并进行带宽监管。
- 我们通过以下方式直播内容实时消息协议,并会不合时宜地回退到 RTMPT(通过 HTTP 传输的 RTMP)
- 平台规模不断扩大,唯一的瓶颈是网络
- 我们遇到的技术问题:
- 不允许 RTMP(端口 1935)访问
- 代理请求的速率限制。(RTMPT 将进行多次 HTTP POST 调用每秒)
- 此前未披露的带宽上限
- 病毒扫描程序要求在发送给客户端之前完整下载所有文件
- 内部网中子网之间的带宽配额受到严格限制(例如:校园到校园、城市到城市)
- 古老的基础设施(您想流式传输高清视频?到 BFE?通过一条已有 12 年历史的固定线路,甚至没人能找到其文件?到没有扬声器的 NT4 客户端盒? 奥里?)
- 故意限制带宽n- 字节数(这是正确的词吗?)
- 我们想尝试:
- 多播协议/技术
- 内部网中子网之间的多播
- 内部网中子网之间的专有 p2p 流媒体技术
- 自适应速率流
- QoS 协议配置
这样的系统应该使我们能够:
- 在我们的软件中开发可靠的后备机制
- 开发一个易于使用的诊断工具(销售、经理)
- 记录经过验证的代理/防火墙配置片段
- 向我们的客户端播放器中的最终用户提供准确的错误消息
- 甚至可能还有一两份白皮书
最初我考虑在一台 Linux 机器上运行乌贼加上一个不错的低端管理型交换机就足够了。但我在骗谁呢?我以前从未设计过网络。
有什么想法吗?我遗漏了什么吗?欢迎提出具体的设备建议。
(顺便说一句:预算有限。头发尖尖的老板手头拮据,但如果我能记录下明确的成本/收益,我就会提交。)
答案1
听起来像是虚拟机的工作(dun duhhhh....)
但说真的,很多网络设备(防火墙、代理、路由器等)都有“硬件”和“设备”版本。设备版本可以安装在 VMWare 等虚拟机服务器上。借助虚拟机的灵活性,您唯一需要分配的硬件就是用于映像的磁盘空间(当您不使用特定设置时,只需关闭电源,即可恢复所有 CPU/RAM/等。
VMWare 提供了其 ESX 虚拟机管理程序的免费(如啤酒)版本,ESX 可能是最流行的企业级虚拟机管理程序,但大多数设备将在 XEN 上运行,有些甚至在 KVM 上运行。
这确实有一些缺点,主要是您想要使用的每台设备都需要获得许可(除非您与提供商达成特殊协议,您的使用属于“试用”范围,或者有一个免费版本会限制您的需求)。
如果您不需要相同的环境,那么另一种选择就是使用 FOSS。一个接一个地设置 3 个防火墙虚拟机(是的,我的学校使用三个防火墙串联,我不知道为什么),将其放在代理后面并阻止 POST 请求,强制带宽限制等。我以为如果您不需要相同的环境,会有一些软件可以提供类似的miss功能。
总结
虚拟化一切