Can this be done with MikroTik? (tough question on bridging)

Hello,

I have two wireless BRIDGEs: Link A and Link B

I want downlink data/traffic to go through Wireless Link A, and uplink data/traffic to go through Wireless Link B.

(please see attached jpg file below)

For both of my routers, I created a bridge between Eth1, Eth2, Eth3, then I added routing rules in the Bridge as follows:

MikroTik A:

  • if SRC = Eth1, DST = Eth2 then Accept
  • if SRC = Eth3, DST = Eth 1 then Accept
  • if SRC= Eth 2, DST = Eth 3 then Drop (I want to prevent packet storms).

MikroTik B:

  • if SRC = Eth1, DST = Eth3 then Accept
  • if SRC = Eth2, DST = Eth 1 then Accept
  • if SRC= Eth 2, DST = Eth 3 then Drop (I want to prevent packet storms).

This seems like a very simple thing to do, but it does not work!!!

Can someone please tell me what I am doing wrong? And can someone tell me what to do to get this to work?

Thanks in advance!
Vic
network.JPG

Wouldn’t it make more sense to bond the interfaces instead of splitting them?

No, because the UPLINK bandwidth is greater on one link and DOWNLINK bandwidth is greater on the other!

So, I’m trying to use the best of each link. :slight_smile:

Vic

If you use Nstreme-Dual , all the uplink traffic will go through one and all the downstream traffic through the other

I saw some mention in the notes from the US MUM of using OSPF for full duplex and redundancy. Lets compare.

Bonding: Full bandwidth either way. Redundancy?
NStream2: Full Duplex. 1/x redundancy.
OSPF: Full Duplex. Can push full bandwith with some packet marking. (I do not know how, do not ask) Redundancy squared.

The answer to the first question:

That is impossible with any normal bridge and any such solution would require custom coding which would be prone to a lot of issues.
A L2 network can normally only have one operational link between two places. Any additional links must be muted (disabled/blocked/prevented from forwarding). However, if the L2 network was to be tunneled (EoIP) over a routed L3 network then that would reduce the efficiency somewhat but would accomplish what you want.

Hi all,
I have the same application here :open_mouth: . Two sides to be bridged together (layer2), they are on a FLAT network and a DHCP server is on one side, giving new IP addresses both on local and remote site. An old wireless link between the two sites should be joined with a new one or more (usually of the same speed, but can be faster or slower).
In order to have redundancy, you can simply use STP protocol (spanning tree) and simple layer2 switches, but this will use only one (the “main”) of the links until the main link fails. What we need here is both links running together PLUS redundancy. Using one link for uploading only and the other for downloading only cannot be the way, unless you change the configuration “on the fly” as soon as the main link fails. So it seems that OSPF (a layer3 protocol) is the way, but basically we need bridging. Maybe the example here is the best ? http://wiki.mikrotik.com/wiki/Bonding_Examples (monitoring must be activated). Is there any additional script to write to let the whole system work ?

that is essentially impossible to do on L2, unless you bridge L2 over EoIP and let the L3 routing handle the bonding.
Why not use DHCP Forwarding?

sorry for an offtopic but
Why not? what about using an STP ??

Perhaps I’ve missed something so please tell me how you can conclude that STP would fix this?

And to answer your question; I based my statement on the 802.1d bridge specification.

To be brief (OT): Sten is right. As I said, STP lets ONE only link work at a time, while the other will be blocked so packets won’t be forwarded on both links but on one of them. As a result you spent money for a wireless link which is down most of the time. STP and Fast STP are layer2 protocols and cannot aggregate two or more channels in a single big one: they give you only redundancy. Although Layer 2 switches also allow you to do what they call “trunking” which is a real aggregation of N channels, it needs all channels to be the same (same speed and protocol) and usually you can do it only with cables/fibres. I’m even not sure about fault tolerance of trunks like those.

To return in the topic…
DHCP forwarding, EoIP tunnels, and L3 bonding is the key :smiley:
Did anyone test it ? Does it work ?

why not route between interfaces (remove eth bridge).
make eth2 and eth3 the gateways on MTA/MTB.

Sorry, i know you asked about bridging.

Routing may prevent broadcasts to pass from LAN-A to LAN-B. Usually you need broadcasts in a flat network (for example a DHCP server is usually on one side, VoIP softwares need broadcasts, …)

Not to messup the post, but a tunnel can solve this.

So, regarding to the original topic, what are you goals (L2, L3, failover, bandwidth) ?

I have the OSPF Full duplex working!! The issue i am having is my CPU load gets to 100% when trying to do a bandwith test. i think i would get better speed if i can get the load down.(remove things that are running that dont need to be.)

Thanks

It is normal behaviour that CPU load is 100% for bandwidth test time, as bandwidth test consumes a huge resources to generate the packets.

correction - it takes ALL the resources to generate the packets, this is a Test after all, so it is trying to squeese as much packets as it can.

I have connection tracking off. and i am doing the bandwith test with 2 laptops no the RB but i still only get around 10 mb each way.