J.Crowcroft@CS.UCL.AC.UK (Jon Crowcroft) (07/22/89)
has anyone seen the following problem, and if so (or they understand it), can they explain it better...? Configuration: src dst a | | ------------------------------- subnet ~b | | subnet MAC routing Bridge sun C | | | ------------------------------- subnet b | dst b error 1: We got the subnet mask wrong on some src hosts They routed to all subnets *except* b, via sun C, which has the *SAME* ethernet address on both interfaces!! (by default, now changed). - The bridge forwarded their packets so the sun saw them on both interfaces. (bridge should prob. have kept local traffic local, but it saw the ethernet address in its farside port list, so assumed it wasnt local - i.e.bridge should check both for non-existence in local port as well as existence in farside port before forwarding, maybe?) - Interface on b receiving them causes IP on sunC to send icmp redirects (didnt see where it was redirecting to, but suspect the same suns interface on subnet ~b). - Hosts on ~b get routing entries installed, *for every host* on subnet ~b, even though if running real routing - Major disaster (and prob a bug): They subsequently (prob because they confuse redirect information when their subnet mask is wrong) route *broadcast* packets to sunC - i.e. put IP broadcast in Ethernet unicast packets directed to subnet router, which... - Correctly drops them... Hence, all services that rely on broadcast (for instance locating YP servers) die the bad death. so do the subnets/ethernets because they are flooded all the time with redirects (this was not restricted to suns - dec/hp and other YP clients were just as bad). p.s. our 3 fixes - 0) fix subnet masks i) turn off redirect in subnet router, ii) turn off one erthernet interface in subnet router other people's fixes: 0) never use the same physical address on multiple IP interfaces. i) never send an IP broadcast to a router as it isnt going to route it anyway. ii) dont use broadcast for locating important clients, use multicasts. anyone agree/disagree with findings? jon