CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  专题开发/技术/项目 >  网络通信

呵呵,一个有趣的想法:局域网再分发

楼主chocky(大雄猫)2005-12-25 19:08:46 在 专题开发/技术/项目 / 网络通信 提问

比如:一段视频数据到达局域网,然后再分发到局域网的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

相关问题

  • 来者有分。。局域网语音通信如何实现,给点想法
  • 请问代理(网管)是如何确保把数据分发到局域网的多个用户去的?
  • 局域网
  • 局域网????
  • 局域网
  • 组局域网?????????????????
  • 让我好头痛的局域网问题 也是个有趣的问题 解决后必付100分
  • 让单机版的程序在局域网上去运行,我的想法是这样的………
  • 局域网聊天
  • 局域网问题..............

关键词

  • 局域网
  • 路由器
  • 服务器
  • 网关
  • 防火墙
  • 协议
  • 数据
  • 电脑
  • 网络
  • 组播

得分解答快速导航

  • 帖主:chocky
  • herryhuang
  • netsys2
  • fierygnu

相关链接

  • CSDN Blog
  • 技术文档
  • 代码下载
  • 第二书店
  • 读书频道

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo