Step 18c. AS-External LSAs of ‘type 2 metric’ with the same advertised destination¶
Goals¶
The goal of this step is to demonstrate how OSPF selects between multiple ASBRs advertising the same external destination with Type-2 metrics.
When multiple ASBRs advertise the same destination with Type-2 metrics, the selection process is:
Primary: Compare external costs - lowest wins
Tiebreaker (if external costs are equal): Use internal cost to ASBR - lowest wins
Configuration¶
This configuration is based on Step 18b. Multiple ASBRs advertise the same external destination with Type-2 metrics.
The configuration in omnetpp.ini is the following:
[Config Step18c]
description = "AS-External LSAs of 'type 2 metric' with the same advertised destination"
extends = Step18
network = OSPF_Area_External_Same_Dest
*.R*.ospf.ospfConfig = xmldoc("ASConfig_Area_ExternalRoute_Type2_Dest.xml")
The OSPF configuration:
<?xml version="1.0"?>
<OSPFASConfig xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="OSPF.xsd">
<!-- Areas -->
<Area id="0.0.0.0">
<AddressRange address="R3>R4" mask="R3>R4" />
<AddressRange address="R4>R3" mask="R4>R3" />
</Area>
<Area id="0.0.0.1">
<AddressRange address="R1>switch1" mask="R1>switch1" />
<AddressRange address="R1>R2" mask="R1>R2" />
<AddressRange address="R1>R3" mask="R1>R3" />
<AddressRange address="R2>switch2" mask="R2>switch2" />
<AddressRange address="R2>R1" mask="R2>R1" />
<AddressRange address="R2>R3" mask="R2>R3" />
<AddressRange address="R3>R1" mask="R3>R1" />
<AddressRange address="R3>R2" mask="R3>R2" />
</Area>
<Area id="0.0.0.2">
<AddressRange address="R4>R5" mask="R4>R5" />
<AddressRange address="R5>R4" mask="R5>R4" />
<AddressRange address="R5>switch3" mask="R5>switch3" />
</Area>
<!-- Routers -->
<Router name="R1" RFC1583Compatible="true">
<BroadcastInterface ifName="eth0" areaID="0.0.0.1" interfaceMode="Passive" />
<PointToPointInterface ifName="ppp0" areaID="0.0.0.1" />
<PointToPointInterface ifName="ppp1" areaID="0.0.0.1" />
</Router>
<Router name="R2" RFC1583Compatible="true">
<BroadcastInterface ifName="eth0" areaID="0.0.0.1" interfaceMode="Passive" />
<PointToPointInterface ifName="ppp0" areaID="0.0.0.1" />
<PointToPointInterface ifName="ppp1" areaID="0.0.0.1" />
</Router>
<Router name="R3" RFC1583Compatible="true">
<PointToPointInterface ifName="ppp0" areaID="0.0.0.1" />
<PointToPointInterface ifName="ppp1" areaID="0.0.0.1" />
<PointToPointInterface ifName="ppp2" areaID="0.0.0.0" />
<ExternalInterface toward="N1" advertisedExternalNetworkAddress="R3>N1" advertisedExternalNetworkMask="255.255.255.0" externalInterfaceOutputCost="10" externalInterfaceOutputType="Type2" />
</Router>
<Router name="R4" RFC1583Compatible="true">
<PointToPointInterface ifName="ppp0" areaID="0.0.0.2" />
<PointToPointInterface ifName="ppp1" areaID="0.0.0.0" />
</Router>
<Router name="R5" RFC1583Compatible="true">
<BroadcastInterface ifName="eth0" areaID="0.0.0.2" interfaceMode="Passive" />
<PointToPointInterface ifName="ppp0" areaID="0.0.0.2" />
<ExternalInterface toward="N1" advertisedExternalNetworkAddress="R5>N1" advertisedExternalNetworkMask="255.255.255.0" externalInterfaceOutputCost="5" externalInterfaceOutputType="Type2" />
</Router>
</OSPFASConfig>
Results¶
With multiple ASBRs using Type-2 metrics for the same destination:
Each router compares the external costs from all ASBRs.
The ASBR with the lowest external cost is preferred.
If external costs are equal, the ASBR with the lowest internal cost (closest to the router) is selected.
All routers in the network see the same external cost, but may select different ASBRs based on internal costs if external costs are equal.
This demonstrates Type-2’s preference for external cost over internal topology, while still using internal cost for intelligent ASBR selection when needed.
Sources:
omnetpp.ini,
OSPF_Area_External.ned,
ASConfig_Area_ExternalRoute_Type2_Dest.xml
Discussion¶
Use this page in the GitHub issue tracker for commenting on this tutorial.