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

网络工程 路由 ip dhcp 播送 射频卡
2021-07-11 16:03:29

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

  1. 如何广播数据包路由?因为如果数据包用于与源不同的网络,显然路由器将丢弃数据包。是否有任何协议?路由器是阻止所有广播还是只阻止有限/本地广播?

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

  3. 考虑路由器由中继代理启用。当 DHCPDiscover(广播数据包)到达该路由器时,它是如何进行的?因为首先它是广播 IP 并且网络“0”也在那里,如果数据包是 DHCP 的,中继代理是否总是首先检查数据包?

我的问题不是来自特定主题(DHCP 和广播),所以你可能会生气,但请帮助我。谢谢

3个回答

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

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

其中的一些例子是:

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

这么一想,还真是有道理。如果路由器转发广播,单个 arp 请求将到达互联网上每个可访问的主机,这将非常低效且相当愚蠢。

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


第 3 层广播而不是第 2 层?

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

这对于根本不关心第 3 层地址的交换机来说很重要。交换机只会看到单播第 2 层地址。它不会将数据包发送到同一 vlan 上的所有接口,而是像处理任何其他单播目标地址一样使用源地址表 (SAT)。实际上,通过分配单播第 2 层地址,该帧根本不再是广播帧,即使它具有第255.255.255.2553 层地址。


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

既然数据包有一个单播目标地址,路由器就会像对待任何其他数据包一样对待它。它为目标 IP 地址(现在是帮助程序地址)进行 arp,然后在将数据包发送到适当的接口之前替换第 2 层地址。

再回来

对于发送回客户端的 DHCP 提议,路由器使用本质上相同的过程。DHCP 服务器将提议发送到在 DHCP 发现数据包上指定为源地址的 IP 地址。所以离开 DHCP 服务器的数据包看起来像:

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

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

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

TL:博士;DHCP 中继使用ip helper-addressinterface 子命令“欺骗”路由器不能通过在路由之前将数据包的目标 IP 地址更改为 DHCP 服务器的单播 IP 地址来转发有限广播的规则。这允许线路下游的所有路由器将数据包适当地路由到 DHCP 服务器。DHCP 服务器在回复时将数据包发送回第一个收到 DHCP Discover 数据包的路由器接口的单播 IP 地址(带有ip helper-interface命令的接口)。当路由器收到返回的提议时,它会将其转换回广播数据包,并将其发送到与广播域中的客户端的接口。

  1. 路由器将转发定向广播,例如 192.168.1.255/24(如果配置为这样做)。对于 Cisco,您可以使用界面下的“no ip direct-broadcast”禁用此行为。

要让路由器将本地广播 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

HTH

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

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

将它们连接起来可能有意义的唯一地方是“流量”——确保按合同播放广告,并登录以验证相同。

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

您询问了 DHCP。它只是一种自动为演播室中的控制板和 PD 的 PC 分配地址的方法。具体地址本身并不重要,就像您联系邮件服务器检索电子邮件或联系 Netflix 观看视频时您在 ISP 上的地址一样。

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

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

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

是的,在业界,整个东西通俗地称为路由器,但这是旧电视时代的遗留物,路由器是将视频信号从一个地方发送到另一个地方的物理单元。

它们是交叉点切换器,但被称为路由器仅仅是因为当您指示它们从输入 x 获取视频并将其发送到输出 y 时,它们会按照指示处理信号的路由。

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