reliably detecting the presence of a bridge?

Mikael Abrahamsson swmike at swm.pp.se
Wed Dec 16 10:32:22 UTC 2015


On Tue, 15 Dec 2015, Dave Taht wrote:

> I am curious if there is some sort of igmp or other form of message
> that would reliably detect if a switch had a bridge on it. How could
> deviceA detect deviceC was a bridge in this case?
>
> deviceA  -> ethernet switch -> deviceB
>                    ethernet switch -> deviceC with bridged wifi and ethernet
>
> question came up in the context of:
>
> http://lists.alioth.debian.org/pipermail/babel-users/2015-December/002231.html

It seems that the goal here is to find out if there is some kind of L2 
device that bridges to a medium that uses retransmits to handle that it's 
not natively up to the 10^-12 BER that wired ethernet adheres to and that 
might have variable transfer speeds and might stall due to adverse 
conditions from time to time?

I would say no, there is no simple way of doing that. You can 
heuristically detect if multiple parties on the LAN participates and if 
you're willing to send probe packets to see if there is a mac-learning 
device in the middle, but it's hard to determine if this just a regular 
wired ethernet switch or if it uses some other medium.

Easiest way for babel is most likely to do the link quality detection on 
all mediums, or at least do it as soon as there has been some packet loss 
seen. If the devices are willing to time stamp the packets and they check 
that the RTT between the devices is always sub-1ms, then that's a decent 
indicator that the link is high speed and wired, and if it's over 1ms, 
it's time to start running the link quality estimation algorithm. Facing 
bufferbloat so that link is over 1ms RTT, you probably want to 
link-estimate it anyway...

-- 
Mikael Abrahamsson    email: swmike at swm.pp.se



More information about the NANOG mailing list