呵呵,一个有趣的想法:局域网再分发
比如:一段视频数据到达局域网,然后再分发到局域网的20台机器上去.这样比这段数据送20次到局域网带宽占用就小多了.
问题就来了:
服务器端怎样确认这些电脑属于同一个局域网?
我想过使用多播技术通知局域网的其它机器,收到多播就知道大家属于一个局域网了.只是目前的防火墙都把多播给阻止了.这个办法行不能啊.
问题点数:100、回复次数:18Top
1 楼herryhuang(Herry)回复于 2005-12-25 20:14:08 得分 30
有两个方法,不过都需要设备支持:
1。组播,但是要网关路由器支持组播报文的转发,也要支持这个网络的组播路由协议。你所说的“防火墙都把多播给阻止了”,应该确认一下,到底是防火墙给挡住了,还是网关根本就没有转发组播的功能(或者没有配置)。
2。子网广播,这是一种不符合协议的做法,就是说从局域网外部向这个局域网发送广播报文,其网络地址是这个局域网的网络地址,主机地址是局域网的广播地址。按照协议,网关应该丢弃这样的报文,不过某些路由器是可以配置的,可以配置成转发这种报文。
Top
2 楼fierygnu(va_list)回复于 2005-12-25 21:13:32 得分 0
典型的组播需求。楼主的疑问正是组播路由协议解决的问题。Top
3 楼chocky(大雄猫)回复于 2005-12-25 21:55:14 得分 0
我安装了一个诺顿, 只要一开就收不到组播包,必须手工把它关掉才行.
走组播就有这麻烦.
配置网关或者路由器好象不适合我的程序.因为我的程序希望最小用户手工操作.用起来全自动最好.Top
4 楼chocky(大雄猫)回复于 2005-12-25 21:56:50 得分 0
估计SP2也会阻挡组播包,哈哈.现在的杀毒软件应该都差不多吧.Top
5 楼fierygnu(va_list)回复于 2005-12-25 22:11:13 得分 0
过滤是一回事,你用什么组播路由协议?应用是否支持IGMP注册?Top
6 楼chocky(大雄猫)回复于 2005-12-25 22:20:56 得分 0
哦,我就是用最简单的东西,组播还分品种?哈哈.
IGMP我也不懂,好象见过.呵呵
教下我吧.Top
7 楼chocky(大雄猫)回复于 2005-12-25 22:22:19 得分 0
我只是想通过一种方法,确认几台机器存在于一个局域网,它们之间能够直接连起来.然后,无论是通过组播还是通过TCP,只要能完成数据分发就行.Top
8 楼fierygnu(va_list)回复于 2005-12-25 23:03:48 得分 0
你想利用链路层的广播能力,减少网络层的流量?Top
9 楼chocky(大雄猫)回复于 2005-12-25 23:44:28 得分 0
也许是吧.走什么播我都无所谓,我关心怎样知道哪些机器处于相同的局域网.然后,同一个局域网内做数据分发.
有什么好办法吗?或者提示一下,我查找下相关的内容.Top
10 楼fierygnu(va_list)回复于 2005-12-26 09:26:21 得分 0
1、你在什么位置判断“哪些机器处于相同的局域网”?
2、”同一个局域网内做数据分发“由谁完成分发?Top
11 楼netsys2(来电!)回复于 2005-12-26 09:49:25 得分 30
服务器端怎样确认这些电脑属于同一个局域网?
---->如果是通过NAT的,那么源地址是相同IP的就是同一局域网。Top
12 楼chocky(大雄猫)回复于 2005-12-26 09:57:17 得分 0
无论是在局域网内还是在服务器端判断都行啊.
分发的机器是任意的同一个局域网内的机器.我准备走TCP了.
啊,这个办法不错.同一个局域网内的电脑对外使用的应该是同一个IP.如果是走代理服务器,嗯,也应该是相同的IP吧? 就这么做了.
谢谢!
如果有更好的办法,请建议!Top
13 楼fierygnu(va_list)回复于 2005-12-26 10:02:48 得分 40
“同一个局域网内的电脑对外使用的应该是同一个IP”,错,是同一个IP子网地址,但对你的服务器来说,你根本无法知道对端的网络其子网地址是多少,因为途中的路由器可能做了子网聚合。
走代理就更不用说了,可以有多个子网走一个代理的。
楼主的需求需要组播支持。如果象你认为的那么简单,组播早就不是问题了 :)Top
14 楼chocky(大雄猫)回复于 2005-12-26 10:07:37 得分 0
日,真麻烦.如果组播包不被过滤多好.
难道只有手动配置组播树一种办法了吗?Top
15 楼fierygnu(va_list)回复于 2005-12-26 10:13:23 得分 0
楼主你一直没有说明你的网络环境,是不是用了路由器,路由器是否支持组播,服务器和客户的位置,业务模式(VOD还是网络会议,等等),这些都对网络配置和你的应用有影响的。Top
16 楼chocky(大雄猫)回复于 2005-12-26 10:16:35 得分 0
网络实时视频音频文件会议多点多操作系统,
运行于互联网.
客户端的环境是未知的.:)Top
17 楼fierygnu(va_list)回复于 2005-12-26 10:29:12 得分 0
单播吧。谁来点就给谁。因为你无法对互联网做假设。Top
18 楼chocky(大雄猫)回复于 2005-12-26 10:54:33 得分 0
行了,了解了.谢谢大家.给分.Top




