Step 22. Virtual link - connect a disconnected area to the backbone¶
Goals¶
The goal of this step is to demonstrate using virtual links to connect an area that is not directly attached to the backbone.
OSPF requires all areas to be connected to Area 0 (the backbone). If an area cannot be physically connected to the backbone, a virtual link through a transit area can provide the logical connection required for proper OSPF operation.
Configuration¶
This step demonstrates an area that is not direct ly connected to Area 0, and a virtual link is used to connect it.
The configuration in omnetpp.ini is the following:
[Config Step22]
description = "Virtual link - connect a disconnected area to the backbone"
network = VirtualLink_2
*.R*.ospf.ospfConfig = xmldoc("ASConfig_Virtual_Disconnected.xml")
*.R1.numApps = 1
*.R1.app[0].typename = "PingApp"
*.R1.app[0].destAddr = "R3"
*.R1.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="R1>switch1" mask="R1>switch1" />
</Area>
<Area id="0.0.0.1">
<AddressRange address="R1>R2" mask="R1>R2" />
<AddressRange address="R2>R1" mask="R2>R1" />
<AddressRange address="R2>R3" mask="R2>R3" />
<AddressRange address="R2>switch2" mask="R2>switch2" />
</Area>
<Area id="0.0.0.2">
<AddressRange address="R3>switch3" mask="R3>switch3" />
</Area>
<!-- Routers -->
<Router name="R1" RFC1583Compatible="true">
<BroadcastInterface ifName="eth0" areaID="0.0.0.0" interfaceMode="Passive" />
<PointToPointInterface ifName="ppp0" areaID="0.0.0.1" />
<VirtualLink endPointRouterID="R3%routerId" transitAreaID="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">
<BroadcastInterface ifName="eth0" areaID="0.0.0.2" interfaceMode="Passive" />
<PointToPointInterface ifName="ppp0" areaID="0.0.0.1" />
<VirtualLink endPointRouterID="R1%routerId" transitAreaID="0.0.0.1" />
</Router>
</OSPFASConfig>
Results¶
When an area is disconnected from Area 0:
Without a connection to the backbone, the disconnected area cannot exchange Summary LSAs properly.
Routers in the disconnected area may have incomplete routing information.
A virtual link is configured between an ABR in the disconnected area and an ABR in the backbone, through a transit area.
The virtual link provides the required logical connection to Area 0.
Summary LSAs can now flow between the previously disconnected area and the backbone.
Full inter-area routing is established.
This demonstrates how virtual links maintain OSPF’s hierarchical design principles even when physical topology constraints prevent direct backbone connectivity.
Sources:
omnetpp.ini,
VirtualLink_2.ned,
ASConfig_Virtual_Disconnected.xml
Discussion¶
Use this page in the GitHub issue tracker for commenting on this tutorial.