广播如何在不同的网络上工作?


14

我正在阅读DHCP(RFC 2131),我具有中继代理和广播的基本知识。但是为了深入了解DHCP,我觉得我必须详细了解广播和中继代理(RFC 1542)。但是找不到详细广播的任何RFC(RFC919,922没什么帮助)。

  1. 广播数据包路由如何?因为如果数据包打算用于与源不同的网络,则路由器显然会丢弃该数据包。有什么协议吗?路由器会阻止所有广播还是仅阻止受限/本地广播?

  2. 我们可以发送不带广播MAC地址的目的地为直接/受限广播IP的数据包吗?如果是,我认为由于特定的MAC地址,数据包将转发到单个主机,所以这个问题在这种情况下会有所帮助。

  3. 考虑路由器由中继代理启用。当DHCPDiscover(这是一个广播数据包)到达该路由器时,如何进行?因为首先它也是一个广泛的转换IP,而且网络“ 0”也存在,所以,如果报文是DHCP的,总是中继代理会首先检查该报文吗?

我的问题不是来自某个垂直学科(DHCP ond Broadcasting),所以您可能会生气,但是请帮助我。谢谢


1
提示:我从不建议人们生气。它可能会打勾他们。;-)
SDsolar

Answers:


15

路由器如何处理受限广播和定向广播

要回答您的问题,首先要了解的是有限的广播帧不会被路由。默认情况下,当路由器收到带有在第2层或第3层广播的目标地址的帧时,路由器会简单地丢弃该帧。这就是为什么路由器被称为广播域的边界的原因。

这些示例包括:

  • ff-ff-ff-ff-ff-ff (第2层广播)
  • 255.255.255.255 (第3层有限广播)

考虑一下,这是有道理的。如果路由器转发广播,则单个arp请求将到达Internet上的每个可访问主机,这将导致效率极低且非常愚蠢。

另一方面,定向广播有时会被路由。(IE 192.168.1.255/24)通常默认情况下禁用此功能,但可以通过ip directed-broadcast在路由器上发出命令来启用此功能。这将允许它根据其路由表转发定向广播,就好像它们是普通数据包一样。这并没有然而,让路由器转发受限广播,那些仍然默认阻止。对于您的原始问题,这也略有偏离主题,有关更多信息,请参见此cisco表单页面


第3层广播但第2层不是吗?

要回答您的第二个问题,没有第2层广播地址的第3层广播地址的帧是没有意义的。这将破坏它作为广播帧的全部目的,而不能完全正常工作。具有单播第2层目标地址根本不会改变路由器的行为,因为路由器在第3层做出决策。所有路由器关心的是该255.255.255.255目标地址并丢弃数据包。

这与根本不关心第3层地址的交换机有关。交换机将仅看到单播第2层地址。与其将数据包从同一VLAN上的所有接口发送出去,不如将其与其他任何单播目标地址一样使用源地址表(SAT)。实际上,通过分配单播第2层地址,即使该帧255.255.255.255在第3层具有地址,该帧也不再是广播帧。


DHCP中继如何实际工作

至于最后一个问题,DHCP中继是路由器“欺骗”不转发广播数据包规则的一种方式。让我们看一下DHCP Discover数据包:

  • 源MAC:[源的单播mac]
  • 目的地MAC: ff-ff-ff-ff-ff-ff
  • 来源IP: 0.0.0.0
  • 目的IP: 255.255.255.255
  • 源端口:UDP 68
  • 目标端口:UDP 67

当路由器看到ip helper-address配置了命令的数据包到达接口时,它将检查是否匹配默认情况下“受帮助”或使用global ip forward-protocol命令配置的任何协议。在这种情况下,因为它是DHCP,所以路由器会看到目标端口与UDP 67相匹配,并允许该数据包被“帮助”。然后,路由器将目标IP地址从更改为命令255.255.255.255配置的IP地址,并将ip helper-address源地址更改为数据包到达的路由器接口的地址,并将数据包传递到其余的路由逻辑。

现在,数据包具有单播目标地址,路由器将其像对待其他任何数据包一样对待。它先发送目的地IP地址(现在是辅助地址),然后替换第2层地址,然后再将数据包发送出适当的接口。

再次回来

路由器对发送回客户端的DHCP服务使用相反的过程。DHCP服务器将报价发送到在DHCP Discover数据包上指定为源地址的IP地址。因此,离开DHCP服务器的数据包如下所示:

  • 源MAC:DHCP服务器的单播mac
  • 目的地MAC:路由器 DHCP服务器的默认网关的mac地址
  • 源IP:DHCP服务器的单播IP地址
  • 目的IP:DHCP Discover数据包到达的第一个路由器接口的IP地址
  • 源端口:UDP 67
  • 目标端口:UDP 68

由于此数据包具有单播第3层,目的地址路由器将正常转发该数据包,直到它到达路由器的IP地址与该数据包的目的IP匹配的接口为止。请记住,从前该路由器ip helper-address仍在该接口上进行配置。路由器检查数据包是否为DHCP提供,然后将数据包重写为广播数据包,并在知道DHCP客户端在该网段的某个位置将其发送回该接口。现在,离开路由器的数据包看起来像这样。

  • 源MAC:路由器接口的单播mac
  • 目的地MAC: ff-ff-ff-ff-ff-ff
  • 源IP:DHCP服务器的单播IP地址
  • 目的IP: 255.255.255.255
  • 源端口:UDP 67
  • 目标端口:UDP 68

TL:DR; DHCP中继使用ip helper-addressinterface子命令“ cheat”绕着规则,即路由器无法通过在路由之前将数据包的目标IP地址更改为DHCP服务器的单播IP地址来转发有限广播。这允许所有下行路由器将数据包适当地路由到DHCP服务器。回复时,DHCP服务器将数据包发送回路由器接口的单播IP地址,该接口首先接收到DHCP Discover数据包(带有ip helper-interface命令的地址)。当路由器收到报价时,它将其转换回广播数据包,并将其发送到与广播域中的客户端的接口。


Ty Bad Wolf,这非常有用,谢谢@Bad Wolf
dillip_beta 2014年

1
  1. 路由器将转发定向广播,例如配置为192.168.1.255/24。对于思科,您可以在界面下使用“无IP定向广播”禁用此行为。

要使路由器将本地广播255.255.255.255从一个接口转发到另一个接口,您需要桥接这两个接口。IE配置IRB或CRB和BVI。

  1. 这是不可能的。路由器将为其转发到的每个链接建立一个新的Dst MAC地址。

  2. 路由器将看到它是DHCP数据包,并通过单播将其发送到预配置的DHCP“帮助”地址。

这是一篇很好的文章,可能会帮助您并提供更多详细信息...

http://www.ciscopress.com/articles/article.asp?p=330807&seqNum=9

高温超导


0

没有广播的特定标准。他们使用常规IP(Internet协议)向/从特定地址发送和接收。

我从事过多个品牌的自动化系统的研究,其中大多数是基于服务器的。他们使用常规的网络设备,例如您的办公室PC网络。我什至都看到它们都在同一系统上运行,但是在大型电台上却不起作用,因为一个用户可能会导致广播音频中断。最好将它们分开。

将它们连接起来的唯一可能的地方是“流量”-确保按合同播放广告,并记录以进行验证。

这些广播音频系统的工作方式非常类似于邮件服务器或Netflix。特定的录音室将向服务器“询问”特定文件(歌曲或促销等),然后将其通过控制板流式传输到通往发射机的输出。播放列表通常是在PD(程序主管)办公室的一台PC上设置的。

您询问了DHCP。这是将地址自动分配给演播室中的控制板和PD的PC的简单方法。特定的地址本身并不重要,很像当您与邮件服务器联系以检索电子邮件或Netflix观看视频时在ISP上的地址。

唯一重要的地址是服务器本身。就像您的电子邮件服务器一样-pop.xyzcorp.com和smtp.xyzcorp.com或www.netflix.com。这些地址通常被编码到每个工作室中,就像您的电子邮件程序“记住”用于发送和接收电子邮件的服务器地址一样。

大多数自动化服务器系统都提供DHCP服务(无论是在同一盒子中还是在网络中的另一个盒子中),因此您无需为每个客户端工作室输入静态IP地址。

如果您的问题是信号如何不纠结并发送到错误的位置,则可能在将工作室与服务器互连的交换机中找到答案。他们检查目标地址,并将数据包发送到具有该特定地址的演播室的正确端口。

是的,在整个行业中,通俗地说,这就是路由器,但这是对老式电视时代的遗留,因为路由器是将视频信号从一个地方发送到另一个地方的物理单元。

它们是交叉点切换器,但之所以称为路由器,是因为当您指示它们从输入x接收视频并将其发送到输出y时,它们将按照指示来路由信号。

网络交换机足够聪明,可以将服务器文件发送到正确的工作室,就像您的ISP仅向您而不是向所有邻居发送电子邮件一样。这就是IP(互联网协议)的本质。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.