Как создать топологию LTE в OMNeT ++? - PullRequest
0 голосов
/ 23 сентября 2019

Я должен создать топологию для LTE.Дело в том, что мой супервайзер только сказал, что я должен играть с bgp Router-density для топологии lte.Итак, я создал это: 3 базовых станции (eNodes), которые связаны друг с другом через x2-interface-link.Все базовые станции подключены к BGP-маршрутизаторам.BGP-маршрутизаторы (у меня 15 маршрутизаторов bgp) связаны друг с другом в виде ячеек и имеют ссылку на lteInternet.В lteInternet есть ссылка на sgw, а на sgw на pgw.

Но OMNeT ++ не поддерживал PCRF, MME.Только PGW и SGW.И я не уверен, что я должен делать вместо этого.Может быть, у кого-то есть идея?Я был бы признателен за любую помощь, которую я мог бы получить, потому что мне нужно представить эту работу в течение 3 дней, и я действительно не знаю, что делать.

network lte
{
    parameters:
        int numUe1 = default(1);
        int numUe2 = default(1);
        int numUe3 = default(1);
        int numUe4 = default(1);
        int numUe5 = default(1);
        int numUe6 = default(1);
        int numExtCells = default(1);
        volatile double sendInterval @unit(s) = default(exponential(1s));
                               // time between generating packets
        volatile int packetLength @unit(byte) = default(100B);
                               // length of one packet
        volatile int timeToLive = default(32);
                               // maximum number of network hops to survive

    types: 
        channel DatarateChannel extends ned.DatarateChannel
        {
            datarate = 100Mbps;

        }
            // represents the propagation delay of the message
        channel DelayChannel extends ned.DelayChannel
        {
            delay = 100s; // propagation delay
        }


    submodules:
        configurator: Ipv4NetworkConfigurator {
            @display("p=6546.739,2754.855");
            config = xmldoc("demo.xml");
        }
        binder: LteBinder {
            @display("p=6546.739,2137.3877");
        }
        eNodeB1: eNodeB {
            @display("p=2778.6038,2137.3877;is=vl");
        }
        eNodeB2: eNodeB {
            @display("p=4567.6763,2137.3877;is=vl");
        }
        eNodeB3: eNodeB {
            @display("p=1171.6051,2137.3877;is=vl");
        }
        sgwStandard: SgwStandard {
            @display("p=5066.4004,150.40875");
        }
        routingTableRecorder: RoutingTableRecorder {
            @display("p=6522.99,1591.1663");
        }
        // turn off the connectivity check for all gates
        radio: Radio {
            @display("p=6522.99,1005.3638");
        }
        scenarioManager: ScenarioManager {
            @display("p=6522.99,4029.3713");
        }
        tcp: Tcp {
            @display("p=6522.99,419.56128");
        }
        lteInternet: LteInternet {
            @display("p=2960.6775,150.40875");
        }
        bgpRouter2: BgpRouter {
            @display("p=2659.86,1274.5164");
        }
        bgpRouter: BgpRouter {
            @display("p=2758.712,419.804");
        }
        bgpRouter1: BgpRouter {
            @display("p=3364.4065,1234.935");
        }
        bgpRouter3: BgpRouter {
            @display("p=223.532,697.856");
        }
        bgpRouter4: BgpRouter {
            @display("p=3516.54,419.804");
        }
        bgpRouter5: BgpRouter {
            @display("p=1171.6051,1274.5164");
        }
        bgpRouter6: BgpRouter {
            @display("p=1668.312,419.804");
        }
        bgpRouter7: BgpRouter {
            @display("p=3989.79,1234.935");
        }
        bgpRouter8: BgpRouter {
            @display("p=4972.224,632.432");
        }
        bgpRouter9: BgpRouter {
            @display("p=4852.6616,1234.935");
        }
        bgpRouter10: BgpRouter {
            @display("p=2262.58,419.804");
        }
        bgpRouter11: BgpRouter {
            @display("p=883.224,419.804");
        }
        bgpRouter12: BgpRouter {
            @display("p=1804.905,1274.5164");
        }
        bgpRouter13: BgpRouter {
            @display("p=4298.524,482.89127");
        }
        bgpRouter14: BgpRouter {
            @display("p=443.31003,1314.0975");
        }
        wirelessHost: WirelessHost {
            @display("p=5406.799,3791.8838");
        }
        wirelessHost1: WirelessHost {
            @display("p=3839.3813,3625.6426");
        }
        wirelessHost2: WirelessHost {
            @display("p=3111.0864,3673.1401");
        }
        wirelessHost3: WirelessHost {
            @display("p=2184.885,3673.1401");
        }
        wirelessHost4: WirelessHost {
            @display("p=443.31003,3744.3865");
        }
        wirelessHost5: WirelessHost {
            @display("p=1432.8413,3744.3865");
        }
        lteChannelControl: LteChannelControl {
            @display("p=6546.739,3530.6477");
        }
        pgwStandard: PgwStandard {
            @display("p=5945.104,435.39377");
        }
    connections allowunconnected:

        eNodeB1.x2++ <--> bgpRouter2.pppg[0];
        eNodeB3.x2++ <--> bgpRouter2.pppg[0];
        eNodeB2.x2++ <--> bgpRouter2.pppg[0];
        sgwStandard.pppg <--> lteInternet.peerLteIp++;
        bgpRouter3.pppg[0] <--> bgpRouter14.pppg[0];
        bgpRouter14.pppg[0] <--> bgpRouter5.pppg[0];
        bgpRouter5.pppg[0] <--> bgpRouter12.pppg[0];
        bgpRouter12.pppg[0] <--> bgpRouter2.pppg[0];
        bgpRouter2.pppg[0] <--> bgpRouter1.pppg[0];
        bgpRouter1.pppg[0] <--> bgpRouter7.pppg[0];
        bgpRouter7.pppg[0] <--> bgpRouter9.pppg[0];
        bgpRouter9.pppg[0] <--> bgpRouter13.pppg[0];
        bgpRouter13.pppg[0] <--> bgpRouter8.pppg[0];
        bgpRouter8.pppg[0] <--> bgpRouter4.pppg[0];
        bgpRouter4.pppg[0] <--> bgpRouter.pppg[0];
        bgpRouter.pppg[0] <--> bgpRouter10.pppg[0];
        bgpRouter10.pppg[0] <--> bgpRouter6.pppg[0];
        bgpRouter6.pppg[0] <--> bgpRouter11.pppg[0];
        bgpRouter11.pppg[0] <--> bgpRouter3.pppg[0];
        bgpRouter3.pppg[0] <--> bgpRouter5.pppg[0];
        bgpRouter3.pppg[0] <--> bgpRouter12.pppg[0];
        bgpRouter3.pppg[0] <--> bgpRouter2.pppg[0];
        bgpRouter3.pppg[0] <--> bgpRouter1.pppg[0];
        bgpRouter11.pppg[0] <--> bgpRouter5.pppg[0];
        bgpRouter11.pppg[0] <--> bgpRouter12.pppg[0];
        bgpRouter11.pppg[0] <--> bgpRouter2.pppg[0];
        bgpRouter6.pppg[0] <--> bgpRouter2.pppg[0];
        bgpRouter2.pppg[0] <--> bgpRouter10.pppg[0];
        bgpRouter6.pppg[0] <--> bgpRouter12.pppg[0];
        bgpRouter14.pppg[0] <--> bgpRouter6.pppg[0];
        bgpRouter14.pppg[0] <--> bgpRouter13.pppg[0];
        bgpRouter10.pppg[0] <--> bgpRouter1.pppg[0];
        bgpRouter10.pppg[0] <--> bgpRouter12.pppg[0];
        bgpRouter.pppg[0] <--> bgpRouter7.pppg[0];
        bgpRouter.pppg[0] <--> bgpRouter1.pppg[0];
        bgpRouter2.pppg[0] <--> bgpRouter.pppg[0];
        bgpRouter4.pppg[0] <--> bgpRouter7.pppg[0];
        bgpRouter4.pppg[0] <--> bgpRouter1.pppg[0];
        bgpRouter4.pppg[0] <--> bgpRouter9.pppg[0];
        bgpRouter8.pppg[0] <--> bgpRouter7.pppg[0];
        bgpRouter8.pppg[0] <--> bgpRouter1.pppg[0];
        bgpRouter2.pppg[0] <--> bgpRouter4.pppg[0];
        bgpRouter9.pppg[0] <--> bgpRouter8.pppg[0];
        bgpRouter.pppg[0] <--> lteInternet.peerLteIp++;
        bgpRouter10.pppg[0] <--> lteInternet.peerLteIp++;
        bgpRouter4.pppg[0] <--> lteInternet.peerLteIp++;
        bgpRouter8.pppg[0] <--> lteInternet.peerLteIp++;
        bgpRouter6.pppg[0] <--> lteInternet.peerLteIp++;
        bgpRouter11.pppg[0] <--> lteInternet.peerLteIp++;
        bgpRouter3.pppg[0] <--> lteInternet.peerLteIp++;
        eNodeB1.x2++ <--> eNodeB2.x2++;
        eNodeB3.x2++ <--> eNodeB1.x2++;
        sgwStandard.pppg <--> pgwStandard.filterGate;
        eNodeB2.x2++ <--> wirelessHost.pppg[0];
        wirelessHost.pppg[0] <--> eNodeB2.x2++;
        eNodeB2.x2++ <--> wirelessHost1.pppg[0];
        wirelessHost1.pppg[0] <--> eNodeB2.x2++;
        eNodeB1.x2++ <--> wirelessHost2.pppg[0];
        eNodeB1.x2++ <--> wirelessHost3.pppg[0];
        wirelessHost2.pppg[0] <--> eNodeB1.x2++;
        wirelessHost3.pppg[0] <--> eNodeB1.x2++;
        wirelessHost5.pppg[0] <--> eNodeB3.x2++;
        eNodeB3.x2++ <--> wirelessHost4.pppg[0];
        wirelessHost4.pppg[0] <--> eNodeB3.x2++;
        eNodeB3.x2++ <--> wirelessHost5.pppg[0];
}
...