问题描述: 两站控制设备,需以UDP广播的方式,互相发送和接收对端UDP广播报文;以站1为例,从站1路由器上抓包,E1接口下可以看到本站到对端的发送报文和对站向本站发送的UDP报文;但是从以太网G0/0/0口上只能看到本站发送出去的UDP报文,却看不到对端发来的UDP报文;对方的报文仅到本端EI接口,无法转发到G0/0/0以太网接口,此时可认为两端均未收到对方发来的UDP报文,请问这个是什么原因,配置是否有错误和需完善的地方?配置前提: 每个站的路由器E1接口和以太网G0/0/0接口皆正确配置正确的IP地址,并在E1和G0/0/0接口下钧开启广播转发功能(IP diected broadcast),并且做好分别到对端的静态路由。网络结构图及配置如下:
确实是需要两条命令一起配置。
你抓到的数据应该也是正常的。按照前面提到的那个bug中的修复办法,在接口上配置“ip network-broadcast”这个会使路由器将收到的目标地址为255.255.255.255视为有效的本地广播并进行转发。通常情况下,路由器会丢弃这些广播包。按照思科提供的修复办法反向来看,17.3.x之后版本应该是在数据包处理过程中将目标地址替换成了255.255.255.255。
除了前面提到的bug,目前没有找到其他的17.3之后关于IP directed-broadcast的文档。这应该是这个版本正常的处理行为了(如果有服务的话可以找tac验证一下)
数据接收层面应该运转是正常的,将目标网段广播地址替换为全网广播地址,针对一个单个的接口的配置应该没啥太明显区别,要是一台路由器上多个接口配置了这个,可能会导致广播流量出现异常
另外e1接口上可能不需要配置directed-broadcast,全当是一个普通三层接口应该就可以。
bug提到的版本是17.3.1,要是有心愿意折腾一下,可以尝试一下之前的版本?我这没硬件来验证这玩意儿,全然只能靠你自己啦