MultiCell_Standalone.ned
NED File simulations/nr/networks/MultiCell_Standalone.ned
| Name | Type | Description |
|---|---|---|
| MultiCell_Standalone | network |
Two gNodeB cells served by a 5G core: the anchor Upf faces the data network (a router and a server), an intermediate Upf feeds both gNodeBs, and an X2 link joins them. numUe NrUe terminals attach, and numBgCells BackgroundCell cells can be added as interferers. |
Source code
// // Simu5G // // Copyright (C) 2019-2021 Giovanni Nardini, Giovanni Stea, Antonio Virdis et al. (University of Pisa) // Copyright (C) 2022-2026 Giovanni Nardini, Giovanni Stea et al. (University of Pisa) // // This file is part of a software released under the license included in file // "license.pdf". Please read LICENSE and README files before using it. // The above files and the present reference are part of the software itself, // and cannot be removed from it. // package simu5g.simulations.nr.networks; import inet.networklayer.configurator.ipv4.Ipv4NetworkConfigurator; import inet.networklayer.ipv4.RoutingTableRecorder; import inet.node.ethernet.Eth10G; import inet.node.inet.Router; import inet.node.inet.StandardHost; import simu5g.common.binder.Binder; import simu5g.common.carrierAggregation.CarrierAggregation; import simu5g.corenetwork.bearerConfigurator.BearerConfigurator; import simu5g.nodes.NrUe; import simu5g.nodes.gNodeB; import simu5g.nodes.Upf; import simu5g.nodes.BackgroundCell; import simu5g.world.radio.LteChannelControl; // // Two ~gNodeB cells served by a 5G core: the anchor ~Upf faces the data network // (a router and a server), an intermediate ~Upf feeds both gNodeBs, and an X2 // link joins them. numUe ~NrUe terminals attach, and numBgCells // ~BackgroundCell cells can be added as interferers. // // The topology is 5G standalone, deployment option 2 of 3GPP TR 38.801. // network MultiCell_Standalone { parameters: // The gNBs connect to a 5GC (Upf), so every cellular stack has SDAP: // TS 37.324 ties SDAP to the 5GC connection, not to the radio **.cellularNic.hasSdap = default(true); int numUe = default(1); int numBgCells = default(0); @display("i=block/network2;bgb=1088,678;bgi=background/pisa"); submodules: channelControl: LteChannelControl { @display("p=50,25;is=s"); } routingRecorder: RoutingTableRecorder { @display("p=50,75;is=s"); } configurator: Ipv4NetworkConfigurator { @display("p=50,125;is=s"); } binder: Binder { @display("p=50,175;is=s"); } bearerConfigurator: BearerConfigurator { @display("p=50,225;is=s"); } carrierAggregation: CarrierAggregation { @display("p=50,275;is=s"); } server: StandardHost { @display("p=212,118;is=n;i=device/server"); } router: Router { @display("p=351,115;i=device/smallrouter"); } upf: Upf { @display("p=500,115"); } iUpf: Upf { @display("p=500,215"); } gnb1: gNodeB { @display("p=250,300;is=vl"); } gnb2: gNodeB { @display("p=750,300;is=vl"); } bgCell[numBgCells]: BackgroundCell { @display("p=250,483;is=vl"); } ue[numUe]: NrUe { @display("p=500,428"); } connections: //# Data Network connections server.pppg++ <--> Eth10G <--> router.pppg++; router.pppg++ <--> Eth10G <--> upf.dnPppg; //# 5G Core Network connections upf.pppg++ <--> Eth10G <--> iUpf.pppg++; iUpf.pppg++ <--> Eth10G <--> gnb1.ppp; iUpf.pppg++ <--> Eth10G <--> gnb2.ppp; //# X2 connections gnb1.x2++ <--> Eth10G <--> gnb2.x2++; }