如何使用UDP进行跨网段广播(转)
广播域
首先我们来了解一下广播域的概念。
广播域是网络中能接收任一台主机发出的广播帧的所有主机集合。也就是说,如果广播域内的其中一台主机发出一个广播帧,同一广播域内所有的其它主机都可以收到该广播帧。
广播域的计算
如何知道一台主机是属于哪一个广播域呢?其实计算很简单,只要用主机的IP地址与子网掩码进行与运算即可知道该主机属于哪一个广播域。例如:一台主机的IP地址为192.168.23.150,子网掩码为255.255.255.0,那么它所属的广播域就是192.168.23.150&255.255.255.0=192.168.23.0。那么其它的在广播域192.168.23.0内的所有主机就可以到该设备发送的广播包。如果把子网掩码改为255.255.0.0,那么它所属的广播域就是192.168.23.150&255.255.0.0=192.168.0.0。那么其它的在广播域192.168.0.0内的所有主机都可以收到该设备发送的广播包。
广播地址的计算
要想相同广播域内的其它主机能收到的广播帧,还需要在发送广播包的时候指定当前所属广播域内的广播地址。广播地址的计算方法为子网掩码取反再与广播域进行或运算。
例如:如果主机当前所属广播域为192.168.0.0,子网掩码为255.255.0.0,那么广播地址则为192.168.255.255。
使用UDP进行跨网段广播
要使主机A发送的广播包能够被另一网段的主机B收到,那么只需要更改主机A的子网掩码使得与主机B在同一个广播域内,再使用新的广播域的广播地址发送广播包即可。
例如:要使用192.168.23.150发送广播包让192.168.27.135收到,只需要设置192.168.23.150的子网掩码为255.255.0.0,然后再使用广播地址192.168.255.255即可。
特别要指出的是:255.255.255.255是受限广播地址,不能使用该地址发送广播包。
最新文章
- flv转mp4选项设置
- [转]OOAD基本概念
- GridView联表搜索,排序
- win7下firefox浏览器不能使用
- Android RSA加密解密
- Mecanim的Avater
- C#: 获取执行程序所在路径和启动资源管理器
- 即时定位与地图构建SLAM(Simultaneous Localization and Mapping)
- 错误 undefined reference to __cxa_guard_acquire/release
- SSIS 组件点滴
- Spark RDDRelation
- 共享内存shared pool (3):Library cache
- 配置youcompleteme碰到的问题
- Project: Individual Project - Word frequency program----11061192zmx
- Ubuntu---2
- web.xml 详解contextConfigLocation 转
- grails-MappingException: Could not determine Type
- linux之sed用法【转载】
- 分享QQ第三方登陆SDK
- JSP中 JSTL
热门文章
- linux视频学习(简单介绍)20160405
- Learning Java characteristics (Java in a Nutshell 6th)
- Smoke Testing(冒烟测试)
- for循环与foreach
- USACO Section 1.3 Combination Lock 解题报告
- Python中括号的区别及用途
- sphinx query multiple indexes in php
- WebSphere MQ 入门指南【转】
- 在安装mysqli的时候,出现error: ext/mysqlnd/mysql_float_to_double.h: No such file or direc
- DNS开源服务器BIND最小配置详解<;转>;