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


广播数据包如何路由?因为如果数据包打算用于与源不同的网络,则路由器显然会丢弃该数据包。有什么协议吗?路由器会阻止所有广播还是仅阻止“受限/本地”广播?
我们可以发送目的地为无广播MAC地址的直接/受限广播IP的数据包吗?如果是,我认为是由于特定的MAC地址,该数据包将转发到单个主机,因此出现问题,在这种情况下这将有所帮助。
请考虑由中继代理启用路由器。当DHCPDiscover(这是一个广播数据包)到达该路由器时,如何进行?因为首先它也是一个广泛的转换IP,而且网络“ 0”也存在,所以,如果报文是DHCP的,总是中继代理首先检查该报文吗?

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

#1 楼

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

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

ff-ff-ff-ff-ff-ff(第3层有限广播)

考虑一下,这很有意义。如果路由器转发了广播,则单个arp请求将到达Internet上的每个可访问主机,这将导致效率低下且非常愚蠢。另一方面,定向广播有时会被路由。 (即255.255.255.255)通常默认情况下,此功能是禁用的,但可以通过在路由器上发出192.168.1.255/24命令来启用。这将允许它根据其路由表转发定向广播,就好像它们是普通数据包一样。但是,这不允许路由器转发有限的广播,默认情况下仍会阻止这些广播。关于您的原始问题,这也有点偏离主题,有关此内容的更多信息,请参见此cisco表单页面。

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

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

这与根本不关心第3层地址的交换机有关。交换机将仅看到单播第2层地址。与其将数据包从同一VLAN上的所有接口发送出去,不如将其与其他任何单播目标地址一起使用源地址表(SAT)。实际上,通过分配第2层单播地址,即使该帧在第3层具有255.255.255.255地址,该帧也完全不再是广播帧。 br />
关于最后一个问题,DHCP中继是路由器围绕不转发广播数据包的规则“作弊”的一种方式。让我们看一下DHCP Discover数据包:源MAC:[源的单播mac]
目标MAC:255.255.255.255

源IP:ff-ff-ff-ff-ff-ff

目标IP:0.0.0.0

源端口:UDP 68
目标端口:UDP 67

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

现在,该数据包具有单播目标地址,路由器将其像对待其他任何数据包一样对待。它先请求目的地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:ip helper-address

源IP: DHCP服务器的单播IP地址
目标IP:ff-ff-ff-ff-ff-ff

源端口:UDP 67
目标端口:UDP 68


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

评论


Ty Bad Wolf,这非常有用,谢谢@Bad Wolf

–dillip_beta
2014年7月24日5:35

#2 楼


如果配置,路由器将转发定向广播,例如192.168.1.255/24。对于思科,您可以在接口下使用“ no ipdirected-broadcast”禁用此行为。

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


这是不可能的。路由器将为其转发到的每个链接建立一个新的Dst MAC地址。
路由器看到它是DHCP数据包,并通过单播将其发送到已配置的DHCP
“帮助者”地址。详细信息...

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

HTH

#3 楼

没有广播的特定标准。他们使用常规IP(Internet协议)向/从特定地址发送和接收。他们使用常规的网络设备,例如您的办公室PC网络。我什至都看到它们都在同一系统上运行,但是在大型电台上却不起作用,因为一个用户可能会导致广播音频中断。最好将它们分开。

唯一有意义的连接是在“流量”中-确保按合同播放广告,并记录以进行验证。

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

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

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

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

如果您的问题是信号如何不纠结并发送到错误的位置,则可能在将工作室与服务器互连的交换机中找到答案。他们检查目标地址,然后将数据包发送到具有该特定地址的演播室的正确端口。在过去的电视时代,路由器是一个物理单元,可以将视频信号从一个地方发送到另一个地方。

它们是交叉点切换器,但之所以称为路由器,是因为当您指示它们从输入x接收视频并将其发送到输出y时,它们将按照指示进行信号路由。
网络交换机足够智能,可以将服务器文件发送到正确的工作室,就像您的ISP仅将电子邮件发送给您而不是向所有邻居发送电子邮件一样。这就是IP(互联网协议)的本质。