广播机制是什么?

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/13 04:50:33
广播机制是什么?

广播机制是什么?
广播机制是什么?

广播机制是什么?
1. 介绍
在高速局域网中使用广播是一种通常的作法.因为IP中未指出广播的通用标准,因此协议实现者也就无法使用它了.这里我们考虑的是不可靠的,非串行的,包可重复的广播.我们假设数据链路层支持有效的广播,通常的网络如以太网,令牌网都支持广播.我们不能假设广播传输是可靠的,因为这样做代价太大,但我们假定主机发出的广播大部分还是能够到达目的地的.因为广播会对网络造成过大的负担,因此不能无限制地使用.
2. 为何采用广播
广播在主机不知道消息发送者的位置时是有用的,广播在主机需要为许多机器提供数据时也有作用.主机需要的信息可能在它的邻居中,它可以一一询问而得知,而把这些主机的地址固定存储是不合适的,因为主机的邻居可能会变化,这对管理是一个学生的负担.而对所有邻居的地址进行一一询问简直不可能,因为需要询问的主机的数目会太多.使用广播就不会出现这种问题.在主机需要邻居的信息时广播有用,当主机有信息需要向邻居传送时广播也很有用,例如网关就可以通过广播告知邻近的网关它的存在.我们会认为组播可能会代替广播,但是广播在硬件一层(或低层是进行的),而上层软件将不必要的信息过滤掉达到的效果就是组播.
3. 广播级别
有下面几种IP广播:
在本地网上进行单目的地广播:发送主机知道目的机地址,但在数据链路层进行广播,这是可能是为了避免进行路由.因为不是IP广播,所以IP层不需要介入.
在本地网上对所有主机进行广播:IP的主机号部分可以指定一个特定的值,这个值指出是广播.接收IP必须能够识别这个地址和它本身原有的地址.这是最常用的一种广播形式,它也是ARP,名字服务器,时间服务器等运作的基础.
对远程网的所有主机进行广播:它的机制和本地广播差不多,数据报在到达此网的网关前还是象平常一样传输,到达网关后再进行广播.
多子网广播:可以使用IP地址子网号表示这种广播.它的工作原来和对一个远程网进行广播相同,不过是对多个子网而已.
向整个Internet广播:这种广播可能根本没有用,而且也不会有人使用.
因为安全和效率的考虑,网关可以不转发广播,在自治系统中最好不要转发广播.
4. 广播方法
主机的IP接收层必须能够支持广播.有了广播机制,主机必须能够对接收到的数据报中的目的地址进行比较,看和自己的IP地址是不是一样,而且还必须能够知道这个地址是不是个广播地址,如果是也要接收.因为在数据链路层已经解决了广播问题,所以IP层主机如果需要广播只要发出带有广播地址的包就行了.网关上的算法要复杂一些.
但是在有子网的网络内进行广播可能比较麻烦.即使如此,也有相应的算法解决这个问题,而且不怎么费事.一个好的广播方法要达到下面几个条件:
不改变IP数据报格式
在进行多复本传输和路由选择时代价不能太大
对网关的改变要小
传输机制一致
对于算法来说,RPF(Reverse Path Forwarding)比较合适.RPF在代价和可靠性上是中等的,易于实现,而且不需要,对网关修改也比较少.
5. 网关与广播
在网关接收到本地广播时,它需要做一些工作,虽然简单,可如果处理不好会造成无限循环.正确处理有赖于下面几项:子网,目标网络,网关地址.
基本的方法就是不要向接收到广播的硬件地址再发广播了,可是这还不够 ,如果一个网络中有多个网关,可能会造成广播永远不会停止
如果数据报在硬件网络(也就是低层)上被接收,不应该转发,网关应该把自己看做是数据报的目的地.
如果数据报未在硬件网络上被接收,而且数据报地址来自于网关相邻的网络上,网关应该在数据链路层上进行广播,网关自己应该被看作是数据报接收的目的地
如果数据报的目的地在远方网络,网关只需要象平常一样转发这个包到下一个网关就是了
6. IP广播地址规范
如果不同的IP实现能够兼容,必须有规则可以区别所有主机和所有子网.因为本地网络层可以映射IP地址到数据链路层地址,选择IP广播主机号则是比较直接的.简单起见,可以把一个别的机器不用的地址用于广播主机号.全1地址可以.全部子网号也是全1的,因为主机在发送广播到远程网络时并不关心那个网络分不分子网.而255.255.255.255表示本地硬件地址广播,不能进行转发.因此,一台在网络号为36的网络上的主机可以
向255.255.255.255发包达到向相邻主机广播的目的
向36.255.255.255发包达到向36网络上所有子网进行广播的目的
一个好的应用程序应该首先向第一个地址进行广播,如果没有回应,再向第二个地址进行广播.全1地址指广播,那么全0地址指本地,如36.0.0.0指网络36,而36.255.255.255指网络36上的所有主机.