由于多播路由而产生的随机数据包路由

由于多播路由而产生的随机数据包路由

我的 Linux 单板计算机中的当前网络配置如下:


~# ifconfig

eth0      Link encap:Ethernet  HWaddr 00:05:B7:EE:88:0A  
          inet addr:192.168.0.20  Bcast:192.168.0.255  Mask:255.255.255.0
          inet6 addr: fe80::205:b7ff:feee:880a/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:258814 errors:0 dropped:0 overruns:0 frame:0
          TX packets:358552 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:18117399 (17.2 MiB)  TX bytes:122851279 (117.1 MiB)
          Memory:d0400000-d047ffff 

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:3380889 errors:0 dropped:0 overruns:0 frame:0
          TX packets:3380889 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:956796465 (912.4 MiB)  TX bytes:956796465 (912.4 MiB)

~# ip route

default via 192.168.0.1 dev eth0 
192.168.0.0/24 dev eth0  proto kernel  scope link  src 192.168.0.20

239.255.42.21 dev eth0  scope link

后者的多播路由使我的网络不稳定,这意味着,随机地我无法再使用单播路由访问任何本地网络,当遇到此问题时,我使用此命令来检查问题的来源:

print route get 192.168.0.x 

该命令的结果是:

print route get 192.168.0.21
multicast 192.168.0.21 dev eth0 src 192.168.0.20 

cache <mc>

然而当我没有这个随机的问题,同样的后一个命令显示:

ip route get 192.168.0.21

192.168.0.21 dev eth0  src 192.168.0.20 

    cache

我不知道如何解决这个问题——我尝试使用在另一台机器上创建一个 TCP 服务器netcat,所以当遇到问题时,我尝试启动strace nc 192.168.0.21 12345来显示发生了什么,我得到的是网络不可达

我也曾经tcpdump检查过背后发生了什么,但我没有看到比“网络不可达”更好的有用信息

请问有什么帮助吗?

相关内容