请问广播消息的原理是怎么样的?(30分)

  • 主题发起人 主题发起人 aipingren
  • 开始时间 开始时间
A

aipingren

Unregistered / Unconfirmed
GUEST, unregistred user!
有人说:
网段分为A、B、C三类
每一类都有一个广播地址地

如192.168.0.1这样的网址的广播地址为 192.168.0.255

只要向这个地址发送消息就实现了广播

请问是什么意思?他的原理是什么啊》谢谢!

 
没什么,IP协议就是这么规定的。找本计算机网络的书看看就知道了。
 
我想问问是怎么广播的?是不是那个广播地址收到消息后就向该段的其他IP地址广播受到的消息啊?
 
不用,以太网是一种信道共享技术,其实以太网任意一个数据包都会广播给所有机器,但
该机器的网卡判断该包的目的MAC地址不是自己的MAC地址或广播、组播地址,就会丢弃该包,
Sniffer之所以能进行网络监听,就是这个原因。
 
关于TCP/IP全0与全1网段


如果你有一个CLASS C的IP地址,比如192.168.10.0,你想把它分成8个网段,每个网段内可以有32台主机,你可以这样分,

subnet mask是:255.255.255.224:

192.168.10.0 - 31, 网络地址:192.168.10.0,广播地址:192.168.10.31

192.168.10.32 - 63, 网络地址:192.168.10.32,广播地址:192.168.10.63

192.168.10.64 - 95, 网络地址:192.168.10.64,广播地址:192.168.10.95

192.168.10.96 - 127,网络地址:192.168.10.96,广播地址:192.168.10.127

192.168.10.128- 159,网络地址:192.168.10.128,广播地址:192.168.10.159

192.168.10.160- 191,网络地址:192.168.10.160,广播地址:192.168.10.191

192.168.10.192- 223,网络地址:192.168.10.192,广播地址:192.168.10.223

192.168.10.224- 255,网络地址:192.168.10.224,广播地址:192.168.10.255


即:每个网段32个IP地址,第一个是网络地址,用来标志这个网络,最后一个是广播地址,用来代表这个网络上的所有主机.这两个IP地址被TCP/IP保留,不可分配给主机使用.

另外,第一个子网192.168.10.0-31和最后一个子网192.168.10.224-255通常也被保留,不能使用.原因是,第一个子网的网络地址192.168.10.0和最后一个子网的广播地址192.168.10.255具有二意性。

先看看这个大C的网络地址和广播地址。

192.168.10.0是它的网络地址,192.168.10.255是它的广播地址.显然,它们分别与第一个子网的网络地址和最后一个子网的广播地址相重了。

那么怎样区分192.168.10.0到底是哪个网络的网络地址呢?

答案是:把子网掩码加上去!

192.168.10.0 255.255.255.0是大C的网络地址,

192.168.10.0 255.255.255.224是第一个子网的网络地址.

192.168.10.255 255.255.255.0是大C的广播地址,

192.168.10.255 255.255.255.224是最后一个子网的广播地址。带上掩码,它们的二意性就不存在了。

所以,在严格按照TCP/IP ABCD给IP地址分类的环境下,为了避免二意性,全0和全1网段都不让使用.这种环境我们叫作Classful.在这种环境下,子网掩码只在所定义的路由器内有效,掩码信息到不了其它路由器.比如RIP-1,它在做路由广播时根本不带掩码信息,收到路由广播的路由器因为无从知道这个网络的掩码,只好照标准TCP/IP的定义赋予它一个掩码.比如,拿到10.X.X.X,就认为它是A类,掩码是255.0.0.0;拿到一个204.X.X.X,就认为它是C类,掩码是255.255.255.0。但在Classless的环境下,掩码任何时候都和IP地址成对地出现,这样,前面谈到的二意性就不会存在。

是Classful还是Classless取决于你在路由器上运行的路由协议,一个路由器上可同时运行Classful和Classless的路由协议.RIP是Classful的,它在做路由广播时不带掩码信息;OSPF,EIGRP,BGP4是Classless的,它们在做路由广播时带掩码信息,它们可以同时运行在同一台路由器上。

在CISCO路由器上,缺省你可以使用全1网段,但不能使用全0网段.所以,当你在CISCO路由器上给端口定义IP地址时,该IP地址不能落在全0网段上.如果你配了,你会得到一条错误信息.使用IP SUBNET-ZERO命令之后,你才能使用全0网段.

另外要强调的是,使用了IP SUBNET-ZERO命令之后,如果路由协议使用的是CLASSFUL的(比如RIP),虽然你的定义成功了,但那个子网掩码还是不会被RIP带到它的路由更新报文中.即,IP SUBNET-ZERO命令不会左右路由协议的工作.

总之,TCP/IP协议中,全0和全1网段因为具有二意性而不能被使用.CISCO缺省使全1网段可以被使用,但全0网段只有在配置了IP SUBNET-ZERO后方可被使用.

 
那怎么才能让所以的在线的电脑都受到自己的广播的消息呢?
 
用limited broadcast,参见:
http://www.delphibbs.com/delphibbs/dispq.asp?lid=1125210
我想说得已经够明白了。
 
接受答案了.
 

Similar threads

回复
0
查看
848
不得闲
D
回复
0
查看
911
DelphiTeacher的专栏
D
D
回复
0
查看
868
DelphiTeacher的专栏
D
后退
顶部