ROUTING IMPLEMENTATION
CISCO VS. MIKROTIK
Lay Minh (Makito)
CCIE # 47682
MikroTik Certified Trainer, MikroTik Consultant
ABOUT ME
Lay Minh
My nick name is Makito
CCIE # 47682
MikroTik Certified Trainer & Consultant
Chief Technology Officer (CTO) at i-BEAM
Experiences:
10 years in ISP industry since 2005
Billing solutions for service providers
ISP core network design and operations
Certifications:
CCIE Service Provider, JNCIA-Junos, JNCIS-SP
Areas of interest: BGP, MPLS, IPv6
ABOUT THE PRESENTATION
This presentation IS talking about differences between
Cisco IOS implementation and MikroTik RouterOS
implementation on some standardized technologies
This presentation IS NOT a lecture talks about the
technology itself
There are some prerequisites:
General knowledge about routing concepts
Basic understanding about what they are and what they do:
Open Shortest Path First (OSPF)
Border Gateway Protocol (BGP)
Multiprotocol Label Switching (MPLS)
ROUTING COMPONENTS
Network
RIB (Routing Information Base)
Well-known as IP Routing Table
For network engineers to read routing information
FIB (Forwarding Information Base)
Well-known as IP Forwarding Table
More hardware-friendly, for the router hardware
CEF (Cisco Express Forwarding) in Cisco IOS
Network
GENERAL ROUTING
Difference between vendors implementations:
Cisco IOS
MikroTik RouterOS
FIB Load
Balancing
Per Src. and Dst. Address Pair
or Per-Packet
Per Src. and Dst. Address Pair
(Flush every 10 minutes)
Equal Cost Multi
Path (ECMP)
Add multiple routes to same
destination with same
distance, but different
gateway
Add only one route by
mentioning multiple gateways
in the same route
Recursive
Nexthop Lookup
Enabled
Disabled by default, can
manually enable by routes
Target Scope parameter
Route Filtering
Behavior
Implicit deny at the end of
each filtering component
(access-list, prefix-list, filterlist, route-mapetc.)
Implicit permit at the end of
filtering component (Routing
Filters)
LOAD BALANCING WITH ECMP
Cisco IOS configuration:
R1(config)#ip route 0.0.0.0 0.0.0.0 10.1.1.1
R1(config)#ip route 0.0.0.0 0.0.0.0 10.2.2.1
MikroTik RouterOS configuration:
[admin@R1] > /ip route add dst-address=0.0.0.0/0 \
gateway=10.1.1.1,10.2.2.1
RECURSIVE NEXTHOP
In common ISP practice, R1 and R2 will have iBGP peering
R2 advertises routes to R1 with its Loopback as nexthop
R2: Wanna go to 8.8.8.0/24? Come to me! Then Ill send you there!
R1 performs recursive lookup to find out ways to reach R2
R1: Wellhow to go to R2? let me take a look in my routing table...
R1: Ahha! I got it! It is via R3 or R5, thanks to my lovely OSPF!
OPEN SHORTEST PATH FIRST
(OSPF)
RFC 2328 for OSPFv2, RFC 5340 for OSPFv3
Difference between vendors implementations:
Cisco IOS
MikroTik RouterOS
Router ID
Highest active Loopback IP,
then Highest active Interface IP
Lowest active interface IP
Link Cost
Vary depends on Link BW
Ref. BW (bps) / Link BW (bps)
Default Ref. BW is 100Mbps
Fixed Cost 10 for any links,
changeable in OSPF interface
configuration
OSPF Timer
Vary depends on network type
Fixed Hello interval 10, and
Dead interval 40, changeable
in OSPF interface
configuration
broadcast and point-topoint, Hello interval is 10,
Dead interval is 40
*** CAUTION: When
For nbma, Hello interval is 30, changed network type,
Dead interval is 120
intervals are not changed!!
OPEN SHORTEST PATH FIRST
(OSPF) (CONT.)
Cisco IOS
Stub Area
MikroTik RouterOS
Type 3 LSAs are advertised into
Stub Area by default, unless
configured as Totally Stubby
Area
Behaves like Totally Stubby
Area in IOS by default.
Route Filtering
Use distribute-list command
to permit/deny routes to be
installed into RIB
Use Routing Filters to
permit/deny routes to be
installed into RIB, but can
filter only Type 5 LSAs
Advertising
Loopback
interface into
OSPF
By default, subnet mask of the
interface route is forced to be
/32
By default, exact subnet
mask is advertised, no action
required
Set the interface network type
as point-to-point to advertise
exact subnet mask
Enable Inject Summary LSAs
option if want to advertise
Type 3 LSAs into Stub Area
OSPF COST (IOS)
Link Cost = Reference Bandwidth in bps / Link Bandwidth in bps
By default, Reference Bandwidth is 100Mbps
For R1 to reach R2s Loopback (10.255.255.2)
Shortest path is R5-R6-R2, total cost is 4 (1+1+1+1)
Path via R3 has higher cost 13 (10+1+1+1)
OSPF COST (ROUTEROS)
Link Cost = 10
For R1 to reach R2s Loopback (10.255.255.2)
There are two shortest paths, R3-R4-R2 and R5-R6-R2
Each paths total cost is 40 (10+10+10+10)
R1 will install ECMP route and load balance over both links
BORDER GATEWAY PROTOCOL
(BGP)
Described in RFC 4271
Difference between vendors implementations:
Cisco IOS
MikroTik RouterOS
Router ID
Highest active Loopback IP,
Highest active Interface IP
Lowest active interface IP
Routes Received
Stores in BGP table, best path
will be installed to RIB
Stores in RIB, best path will
be active
Best Path
Selection
IGP Metric to Nexthop is
considered when multiple
equal-cost paths exist
IGP Metric to Nexthop is
ignored
Soft
Reconfiguration
Unused routes are stored in
BGP table and marked with
(receive-only) flag
Unused routes are installed
in RIB, but inactive
BORDER GATEWAY PROTOCOL
(BGP) (CONT.)
Cisco IOS
BGP Multi Path
Up to 8 ~ 32 paths depends on
IOS version
MikroTik RouterOS
Not supported
For dual-homed scenarios,
can tweak BGP load sharing
by peering eBGP multi-hop
with Loopbacks if there are
multiple links to neighbor AS
Route
Advertisement
Based on BGP table, can
advertise best path installed in
BGP table but not in RIB
Based on RIB, can
advertisement only best path
installed and active in RIB
BGP Community
Receive only, community
sending is disabled by default
Send and receive are
enabled by default
IPv6 Prefix over
IPv4 BGP Session
Nexthop is IPv4 address, needs
to correct with route-map
Nexthop is IPv6 address, no
action required
BGP BEST PATH SELECTION
OSPF link costs in AS65502 are set to 10 for ease of understanding
Customer A connects to 2 provider routers (dual-homed)
eBGP peering with R2 and R6
Advertises prefix 10.200.0.0/24 with exact same BGP attributes
BGP BEST PATH SELECTION (CONT.)
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
Nexthop must be reachable.
Highest Weight (default 0).
Highest Local Pref. (default 100).
Shortest AS Path.
Locally originated path (aggregated route or BGP network).
Lowest origin type (IGP < EGP < Incomplete).
Lowest MED (default 0).
Prefer eBGP over iBGP.
Lowest Router ID.
Lowest Originator ID.
Shortest route reflection cluster (default 0).
Lowest neighbor address.
BGP MULTI PATH (IOS)
If R1-R3 link and R3-R4 link both have OSPF link cost 5
From R1s point of view, there are 2 equal cost paths (via R2 & R6)
in BGP to reach 10.200.0.0/24
R1 can install both of them into RIB and perform load balancing
BGP MULTI PATH (ROUTEROS)
RouterOS does not support BGP Multi Path feature as IOS
However, it is possible to do load balancing when customer has
multiple links to the same Provider Edge (PE) router
Point ECMP routes to PE and CEs Loopbacks, then peer multi-hop eBGP
ROUTE ADVERTISEMENT (IOS)
R4 advertises 10.255.255.4/32 into both OSPF and BGP
R5 receives 10.255.255.4/32 via both protocols
According to AD, R5 installs only OSPF route into RIB
However, R5 will reflect BGP prefix 10.255.255.4/32 to other RR clients
Other routers receive 10.255.255.4/32 via both protocols
According to AD, they install only OSPF route into RIB
But they will also re-advertise it to eBGP peers (if not filtered)
ROUTE ADVERTISEMENT (ROUTEROS)
R4 advertises 10.255.255.4/32 into both OSPF and BGP
R5 receives 10.255.255.4/32 via both protocols
According to AD, R5 installs only OSPF route into RIB
R5 will not advertise BGP prefix 10.255.255.4/32 further, because the
received BGP prefix is inactive in RIB
Other routers receive 10.255.255.4/32 via OSPF only
OSPF route is installed
ROUTE REDISTRIBUTION
Difference between vendors implementations:
Cisco IOS
Redistribute from
BGP into OSPF
By default, prefixes are
redistributed as classful
subnet
MikroTik RouterOS
By default, prefixes are
redistributed as CIDR, no
action required
Use subnets keyword to
redistribute as CIDR
Redistribute from
OSPF into BGP
Origin code of the prefix is
Incomplete
Origin code of the prefix is
IGP
External routes are not
redistributed by default
unless external or nssaexternal keyword is
specified
External routes are
redistributed by default
MULTIPROTOCOL LABEL SWITCHING
(MPLS)
MPLS Architecture described in RFC 3031
MPLS is covering more than 130 RFCs
Difference between vendors implementations:
Cisco IOS
Multi Path with
Label Distribution
Protocol (LDP)
Yes
MikroTik RouterOS
No, only first gateway will be
used in MPLS forwarding
table (MFIB)
MPLS Fast Reroute Link Protection (~50ms)
Node Protection
Not supported
MPLS Applications 6PE, 6VPE, L3VPN (Unicast
and Multicast), AToM, VPLS
L3VPN (Unicast), VPLS
MPLS QoS with
EXP bit
Only possible on PE routers, P
routers will not apply any
policy to MPLS packets
Possible on P routers and PE
routers by utilizing Modular
QoS CLI (MQC)
MPLS QOS
Provider Edge (PE) = Access Router or Border Router
Provider (P) = Core Router
In IOS, QoS is possible everywhere along the path
In RouterOS, P router ignores all QoS treatments and firewall
filters, policies have to be implemented on PEs
Newer versions of RouterOS does not have this limitation anymore
QUESTIONS & ANSWERS
If you have any questions, please feel free to ask!
THE END
THANKS FOR YOUR ATTENTION!
Contact Me
makito@informationbeam.net
Skype: akn_makito
Phone: (+95) 09 799 799 282