受限的广播
受限的广播地址是2 5 5 . 2 5 5 . 2 5 5 . 2 5 5。该地址用于主机配置过程中I P数据报的目的地址,此时,主机可能还不知道它所在网络的网络掩码,甚至连它的I P地址也不知道。在任何情况下,路由器都不转发目的地址为受限的广播地址的数据报,这样的数据报仅出现在本地网络中。
一个未解的问题是:如果一个主机是多接口的,当一个进程向本网广播地址发送数据报时,为实现广播,是否应该将数据报发送到每个相连的接口上?如果不是这样,想对主机所有接口广播的应用必须确定主机中支持广播的所有接口,然后向每个接口发送一个数据报复制。
大多数B S D系统将2 5 5 . 2 5 5 . 2 5 5 . 2 5 5看作是配置后第一个接口的广播地址,并且不提供向所属具备广播能力的接口传送数据报的功能。不过,r o u t e d(见1 0 . 3节)和r w h o d(B S D r w h o客户的服务器)是向每个接口发送U D P数据报的两个应用程序。这两个应用程序均用相似的启动过程来确定主机中的所有接口,并了解哪些接口具备广播能力。同时,将对应于那种接口的指向网络的广播地址作为发往该接口的数据报的目的地址。
Host Requirements RFC没有进一步涉及多接口主机是否应当向其所有的接口发送受限的广播。
指向网络的广播
指向网络的广播地址是主机号为全1的地址。A类网络广播地址为n e t i d . 2 5 5 . 2 5 5 . 2 5 5,其中n e t i d为A类网络的网络号。一个路由器必须转发指向网络的广播,但它也必须有一个不进行转发的选择。
指向子网的广播
指向子网的广播地址为主机号为全1且有特定子网号的地址。作为子网直接广播地址的I P 地址需要了解子网的掩码。例如,如果路由器收到发往1 2 8 . 1 . 2 . 2 5 5的数据报,当B类网络1 2 8 . 1的 子网掩码 为2 5 5 . 2 5 5 . 2 5 5 . 0时,该地址就是指向子网的广播地址;但如果该子网的掩码为2 5 5 . 2 5 5 . 2 5 4 . 0,该地址就不是指向子网的广播地址。
指向所有子网的广播
指向所有子网的广播也需要了解目的网络的 子网掩码 ,以便与指向网络的广播地址区分开。指向所有子网的广播地址的子网号及主机号为全1 。例如,如果目的 子网掩码 为2 5 5 . 2 5 5 . 2 5 5 . 0,那么I P地址1 2 8 . 1 . 2 5 5 . 2 5 5是一个指向所有子网的广播地址。然而,如果网络没有划分子网,这就是一个指向网络的广播。
当前的看法[Almquist 1993]是这种广播是陈旧过时的,更好的方式是使用多播而不是对所有子网的广播。
[Almquist 1993] 指出RFC 922要求将一个指向所有子网的广播传送给所有子网,但当前的路由器没有这么做。这很幸运,因为一个因错误配置而没有 子网掩码 的主机会把它的本地广播传送到所有子网。例如,如果I P地址为1 2 8 . 1 . 2 . 3的主机没有设置 子网掩码 ,它的广播地址在正常情况下的默认值是1 2 8 . 1 . 2 5 5 . 2 5 5。但如果 子网掩码 被设置为255.255.255.0,那么由错误配置的主机发出的广播将指向所有的子网。
1 9 8 3年问世的4 . 2 B S D是第一个影响广泛的T C P / I P的实现,它使用主机号全0作为广播地址。一个最早提到广播IP地址的是IEN 212 [Gurwitz and Hinden 1982],它提出用主机号中的1比特来表示I P广播地址(IENs 是互联网试验注释,基本上是R F C的前身)。RFC 894 [Hornig 1984]认为4.2BSD使用不标准的广播地址,但RFC 906 [Finlayson 1984] 注意到对广播地址还没有I n t e r n e t标准。R F C编辑在RFC 906中加了一个脚注承认缺少标准的广播地址,并强烈推荐将主机号全1作为广播地址。尽管1 9 8 6年的4 . 3 B S D采用主机号全1表示广播地址,但直到9 0年代早期,操作系统(著名的是SunOS 4.x)还继续使用非标准的广播地址。
受限的广播地址是2 5 5 . 2 5 5 . 2 5 5 . 2 5 5。该地址用于主机配置过程中I P数据报的目的地址,此时,主机可能还不知道它所在网络的网络掩码,甚至连它的I P地址也不知道。在任何情况下,路由器都不转发目的地址为受限的广播地址的数据报,这样的数据报仅出现在本地网络中。
一个未解的问题是:如果一个主机是多接口的,当一个进程向本网广播地址发送数据报时,为实现广播,是否应该将数据报发送到每个相连的接口上?如果不是这样,想对主机所有接口广播的应用必须确定主机中支持广播的所有接口,然后向每个接口发送一个数据报复制。
大多数B S D系统将2 5 5 . 2 5 5 . 2 5 5 . 2 5 5看作是配置后第一个接口的广播地址,并且不提供向所属具备广播能力的接口传送数据报的功能。不过,r o u t e d(见1 0 . 3节)和r w h o d(B S D r w h o客户的服务器)是向每个接口发送U D P数据报的两个应用程序。这两个应用程序均用相似的启动过程来确定主机中的所有接口,并了解哪些接口具备广播能力。同时,将对应于那种接口的指向网络的广播地址作为发往该接口的数据报的目的地址。
Host Requirements RFC没有进一步涉及多接口主机是否应当向其所有的接口发送受限的广播。
指向网络的广播
指向网络的广播地址是主机号为全1的地址。A类网络广播地址为n e t i d . 2 5 5 . 2 5 5 . 2 5 5,其中n e t i d为A类网络的网络号。一个路由器必须转发指向网络的广播,但它也必须有一个不进行转发的选择。
指向子网的广播
指向子网的广播地址为主机号为全1且有特定子网号的地址。作为子网直接广播地址的I P 地址需要了解子网的掩码。例如,如果路由器收到发往1 2 8 . 1 . 2 . 2 5 5的数据报,当B类网络1 2 8 . 1的 子网掩码 为2 5 5 . 2 5 5 . 2 5 5 . 0时,该地址就是指向子网的广播地址;但如果该子网的掩码为2 5 5 . 2 5 5 . 2 5 4 . 0,该地址就不是指向子网的广播地址。
指向所有子网的广播
指向所有子网的广播也需要了解目的网络的 子网掩码 ,以便与指向网络的广播地址区分开。指向所有子网的广播地址的子网号及主机号为全1 。例如,如果目的 子网掩码 为2 5 5 . 2 5 5 . 2 5 5 . 0,那么I P地址1 2 8 . 1 . 2 5 5 . 2 5 5是一个指向所有子网的广播地址。然而,如果网络没有划分子网,这就是一个指向网络的广播。
当前的看法[Almquist 1993]是这种广播是陈旧过时的,更好的方式是使用多播而不是对所有子网的广播。
[Almquist 1993] 指出RFC 922要求将一个指向所有子网的广播传送给所有子网,但当前的路由器没有这么做。这很幸运,因为一个因错误配置而没有 子网掩码 的主机会把它的本地广播传送到所有子网。例如,如果I P地址为1 2 8 . 1 . 2 . 3的主机没有设置 子网掩码 ,它的广播地址在正常情况下的默认值是1 2 8 . 1 . 2 5 5 . 2 5 5。但如果 子网掩码 被设置为255.255.255.0,那么由错误配置的主机发出的广播将指向所有的子网。
1 9 8 3年问世的4 . 2 B S D是第一个影响广泛的T C P / I P的实现,它使用主机号全0作为广播地址。一个最早提到广播IP地址的是IEN 212 [Gurwitz and Hinden 1982],它提出用主机号中的1比特来表示I P广播地址(IENs 是互联网试验注释,基本上是R F C的前身)。RFC 894 [Hornig 1984]认为4.2BSD使用不标准的广播地址,但RFC 906 [Finlayson 1984] 注意到对广播地址还没有I n t e r n e t标准。R F C编辑在RFC 906中加了一个脚注承认缺少标准的广播地址,并强烈推荐将主机号全1作为广播地址。尽管1 9 8 6年的4 . 3 B S D采用主机号全1表示广播地址,但直到9 0年代早期,操作系统(著名的是SunOS 4.x)还继续使用非标准的广播地址。