广播机制相关内容整理
2011-11-17 10:51
387 查看
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上的所有主机。
在高速局域网中使用广播是一种通常的作法。因为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上的所有主机。
相关文章推荐
- Intent相关内容整理
- BOM的相关内容整理
- ASP中类Class相关内容的整理资料
- 安卓相关内容整理
- 整理浏览器相关内容
- APP开发实战76-广播机制相关API重要变迁
- SmsManager发短信的相关内容整理
- 字符串相关内容整理
- android broadcast 广播机制对短信处理 获取短信内容
- ios测试相关内容整理
- java正则表达式相关内容整理
- Maven相关内容收集整理-01
- Symbian签名和Uid相关内容的整理(一)
- 脉搏波相关概念及内容-记录整理
- 线程池相关内容整理
- iOS适配的相关内容的整理
- iOS适配的相关内容的整理
- java序列化相关内容整理
- Symbian 签名和Uid相关内容的整理(二)
- 关于新版本,iOS10的相关内容,兼容iOS 10 资料整理笔记