Im kinda new to Mikrotik. Weve been using cisco for our routers but recently weve purchased 2 CCRs.
I thinks Mikrotik CCRs dont support an equivalent of routing in hardware which is CEF(Cisco Express Forwarding) in Cisco world. Correct me if im wrong.
I believe that the closest I can get to hardware routing in Mikrotik is MPLS. We are receiving 2 Full internet routing from 2 upstream ISPs. My question would be is it fine or a practice to label all BGP routes?
Also bear in mind that MPLS is best accelerating performance for P routers (all links are to other MPLS routers) and not to PE routers, which must perform encapsulation / decapsulation, which actually ADDS overhead… P routers are usually core and distribution routers (not border routers or access routers, these are the PE routers)
MPLS also simplifies your BGP layer because the P routers don’t even need to participate in BGP at all - two PE routers can establish an LSP between them based on a route in the iBGP table, and the P routers between them don’t even know what they’re forwarding. They just know that Label X means forward the packet towards router X.
FastPath is definitely the closest thing to CEF, but unlike CEF, fastpath only works on TCP and UDP (for now) and requires that the destination interface be a physical interface (etherX, not bridgeX or pppoeX or tunnelX, etc) and the physical interface must support hardware-only queueing. If these conditions are met, fastpath reportedly gives several times the performance of standard forwarding. If the target interface is logical, or doesn’t support HW queueing, or is using a software queue (qos, etc) then the packets can still be “half fastpath” for some but not full enhancement.
I haven’t played with fastpath yet (it’s very new) but it seems like a good enhancement.
It always matters how something is done. If you don’t understand the underlying tech and the pros/cons of various methods to choose from, then you’re just pushing buttons until it works, and not truly designing something that best suits your needs.
There are dozens of ways to accomplish pretty much anything anyone asks about on these forums, but various methods have situations they’re more suitable for.
example - bridging two interfaces: using the on-board atheros switch chip can give wire speed, but if you need STP then you can’t use it.
Of course there’s the whole concept of abstraction, and things like the OSI model where if you’re working with the TCP portion of the connection, then you don’t need to know about MAC addresses, root bridges, etc - but compartmentalizing a system is not the same as disregarding the inner workings of something.
I guess the real question is what are your throughput requirements?
Two full BGP feeds could be anywhere from 50 Mbps of traffic up to multiple 10 gig links. If your Internet requirements don’t exceed 40 Gbps, then you can select the appropriate RouterBoard to meet that need. You probably won’t see much of a performance gain in throughput or response time if you were to put a CEF enabled router and a CCR head-to-head on the same Internet circuits.
Hardware CEF was built as a way to scale chassis based systems beyond the CPU limitations of that time (circa early 2000s). FastTrack is more like Cisco’s earlier generations of Software CEF before everything became ASIC based L3 switching. The current generation of CEF in the 6500,7600, Nexus 7K etc bears little resemblance to FastTrack as there is no ASIC on the RouterBoard to push a compiled binary forwarding table into.
CEF is also necessary when you get into ultra low latency networking within a datacenter and microseconds count.
You need to know the limitations of your devices, but we are way beyond the time where you could know everything about the inner workings.
It’s all black boxes now and it’s all up to the vendor how much information he wants to provide.