Step 14. Hierarchical OSPF topology and summary LSA¶
Goals¶
[explanation]
Configuration¶
This step uses the following network:
network OSPF_AreaTest
{
@display("bgb=1153.1,510.9");
types:
channel PppLink100M extends DatarateChannel
{
delay = 5us;
datarate = 100Mbps;
}
submodules:
configurator: Ipv4NetworkConfigurator {
@display("p=760.5,65");
}
visualizer: IntegratedCanvasVisualizer {
@display("p=893.1,65");
}
scenarioManager: ScenarioManager {
@display("p=1055.6,65");
}
host1: StandardHost {
@display("p=102.7,67.6");
}
host2: StandardHost {
@display("p=92.299995,445.9");
}
R1: Router {
@display("p=392.6,157.3");
}
R2: Router {
@display("p=392.6,336.69998");
}
R3: Router {
@display("p=542.1,245.7");
}
switch1: EtherSwitch {
@display("p=243.09999,66.299995");
}
switch2: EtherSwitch {
@display("p=243.09999,445.9");
}
host3: StandardHost {
@display("p=1085.5,245.7");
}
R4: Router {
@display("p=678.6,245.7");
}
R5: Router {
@display("p=821.6,245.7");
}
switch3: EtherSwitch {
@display("p=955.5,244.4");
}
connections:
host1.ethg++ <--> Eth100M <--> switch1.ethg++;
switch1.ethg++ <--> Eth100M <--> R1.ethg++;
R1.pppg++ <--> PppLink100M <--> R3.pppg++;
switch2.ethg++ <--> Eth100M <--> host2.ethg++;
R1.pppg++ <--> PppLink100M <--> R2.pppg++;
R2.pppg++ <--> PppLink100M <--> R3.pppg++;
R2.ethg++ <--> Eth100M <--> switch2.ethg++;
R4.pppg++ <--> PppLink100M <--> R5.pppg++;
R5.ethg++ <--> Eth100M <--> switch3.ethg++;
switch3.ethg++ <--> Eth100M <--> host3.ethg++;
R3.pppg++ <--> PppLink100M <--> R4.pppg++;
}
The configuration in omnetpp.ini
is the following:
[Config Step14]
description = "Hierarchical OSPF topology and summary LSA"
network = OSPF_AreaTest
*.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 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' /> \
</config>")
*.R*.ospf.ospfConfig = xmldoc("ASConfig_Area.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" />
</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>