Step 19. Default-route distribution in OSPF¶
Goals¶
The goal of this step is to demonstrate how OSPF can distribute a default route (0.0.0.0/0) throughout the AS.
An ASBR can advertise a default route using an AS-External LSA. This allows routers throughout the OSPF domain to learn a default route for reaching destinations outside the AS, without needing specific routes to every external network.
Default routes are particularly useful for providing Internet connectivity in enterprise networks.
Configuration¶
This step configures an ASBR to advertise a default route into the OSPF domain.
The configuration in omnetpp.ini is the following:
[Config Step19]
description = "Default-route distribution in OSPF"
network = OSPF_Default_Route_Distribution
*.configurator.config = xml("<config> \
<interface hosts='R3' towards='R4' address='192.168.0.x' netmask='255.255.255.x' /> \
<interface hosts='R4' towards='R3' address='192.168.0.x' netmask='255.255.255.x' /> \
\
<interface hosts='R3' towards='N1.*' address='192.168.9.x' netmask='255.255.255.x' /> \
\
<interface among='host1 host2 R1 R2 R3' address='192.168.11.x' netmask='255.255.255.x' /> \
<interface among='R3 R4 R5 host3' address='192.168.22.x' netmask='255.255.255.x' /> \
\
<route hosts='host*' destination='*' netmask='0.0.0.0' interface='eth0' /> \
<route hosts='R3' destination='*' netmask='0.0.0.0' interface='eth0' /> \
</config>")
*.R*.ospf.ospfConfig = xmldoc("ASConfig_Area_Default_Route.xml")
# application parameters
*.host1.numApps = 1
*.host1.app[0].typename = "PingApp"
*.host1.app[0].destAddr = "host3"
*.host1.app[0].startTime = 60s
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" DistributeDefaultRoute="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" />
</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" />
</Router>
</OSPFASConfig>
Results¶
When an ASBR advertises a default route:
The ASBR generates an AS-External LSA with destination 0.0.0.0/0.
This LSA is flooded throughout the OSPF AS.
All routers install a default route pointing to the ASBR (or its Forwarding Address).
Traffic to unknown destinations is forwarded to the ASBR for external routing.
The routing tables show 0.0.0.0/0 routes pointing toward the ASBR.
Default route distribution simplifies configuration and reduces the number of external routes that must be advertised into OSPF, particularly useful when the AS has limited external connectivity points.
Sources:
omnetpp.ini,
OSPF_Default_Route_Distribution.ned,
ASConfig_Area_Default_Route.xml
Discussion¶
Use this page in the GitHub issue tracker for commenting on this tutorial.