Anda di halaman 1dari 5

HASIL ANALISA SCRIPT LTE PADA NS3

KELOMPOK 1
Nama anggota :
1. Ervan Davidian [14101089]
2. Muh. Rikhi Roikhan [14101103]
Script :
1. Pemanggilan class aplication
#include "ns3/lte-helper.h"
#include "ns3/epc-helper.h"
#include "ns3/core-module.h"
#include "ns3/network-module.h"
#include "ns3/ipv4-global-routing-helper.h"
#include "ns3/internet-module.h"
#include "ns3/mobility-module.h"
#include "ns3/lte-module.h"
#include "ns3/applications-module.h"
#include "ns3/point-to-point-helper.h"
#include "ns3/config-store.h"
Dalam proses menggunakan dan mengaktifkan berbagai fungsi dalam elemen
pembuatan simulasi LTE terdapat class class yang harus digunakan agar
dapat mengaktifkan perintah perintah dalam c++ atau biasa disebut
preprocessor, seperti modul LTE, config store, dan internet module yang
merupakan class aplication paling penting dalam proses simulasi LTE ini.
2. Mendefinisikan parameter pembentuk
using namespace ns3;

NS_LOG_COMPONENT_DEFINE ("EpcFirstExample");

Int main (int argc, char *argv[]) {

uint16_t numberOfNodes = 2;

double simTime = 1.1;

double distance = 60.0;

double interPacketInterval = 100;


int main() ini adalah function header dimana berada didalam perintah using
namespace. NS_LOG_COMPONENT_DEFINE ("EpcFirstExample"); merupakan
pendefinisian fungsi dengan nama NS_LOG_component_define yang isi dari
perintah perintahnya mengacu pada statement EpcFirstExample. Kemudian
didalam cript diatas terdapat penjabaran parameter object yang digunakan yaitu
Simtime , distance dan interpacketinterval, dan juga number of node, dari script
tersebut diketahui berapakah nilai dari parameter yang tersetting dalam program
simulasi tersebut.

3. Command line Argument

CommandLine cmd;

cmd.AddValue("numberOfNodes", "Number of eNodeBs + UE pairs",


numberOfNodes);

cmd.AddValue("simTime", "Total duration of the simulation [s])", simTime);

cmd.AddValue("distance", "Distance between eNBs [m]", distance);

cmd.AddValue("interPacketInterval", "Inter packet interval [ms])",


interPacketInterval);

cmd.Parse(argc, argv);

Yang dimaksud dari perintah script diatas merupakan penjabaran output


dari value yang telah jabarkan dalam pendefinisian object parameter
sebelumnya yaitu mulai dari numberOfNodes kemudian simTime , distance
dan interpacketinterval. Dimana nilai dari parameter itu dipanggil kembali
dan masuk kedalam perintah command line yang dapat digunakan secara
permanen dengan cukup memanggil nama parameter objectnya saja.
Sehingga mempermudah pemanggilan. Kemudian untuk perintah :

Ptr<LteHelper> lteHelper = CreateObject<LteHelper> ();

Ptr<PointToPointEpcHelper> epcHelper =
CreateObject<PointToPointEpcHelper> ();

lteHelper->SetEpcHelper (epcHelper);

ConfigStore inputConfig;

inputConfig.ConfigureDefaults();

dari perintah CreateObject<LteHelper>, merupakan perintah untuk membuat


object helper yaitu untuk LTE dan juga PointToPointEpcHelper untuk EPC, dimana
pada preprocessor sudah dilakukan pemanggilan konfigurasi yang berada
pada class tersebut, #include "ns3/lte-helper.h", #include "ns3/epc-
helper.h" dan #include "ns3/point-to-point-helper.h". jadi semua
konfigurasi yang masuk kedalam object diatas menggunakan konfigurasi
default yang sudah tertera dalam preprocessor helper diatas. Yang diperkuat
dengan memerintahkan semua input config dengan menggunakan default.
Seperti perintah berikut inputConfig.ConfigureDefaults();
4. Proses menimpa nilai default dari command line
cmd.Parse(argc, argv);

Ptr<Node> pgw = epcHelper->GetPgwNode ();


dari perintah comand line yang sebelumnya sudah dibuat seperti
numberOfNodes kemudian simTime , distance dan interpacketinterval
dengan perintah diatas akan menimpa nilai default yang sudah dijabarkan
pada parameter object diawal kedalam configurasi default ketiga helper
sebelumnya. Sehingga helper object yang sudah dibuat dapat menggunakan
nilai parameter default yang sudah dibuat diawal.yaitu number of nodenya 2
, dan sim timenya 1.1 s kemudian untuk distancenya 60 m serta inter packet
interval 100.
5. Membuat Single Remote Host

NodeContainer remoteHostContainer;

remoteHostContainer.Create (1);

Ptr<Node> remoteHost = remoteHostContainer.Get (0);

InternetStackHelper internet;

internet.Install (remoteHostContainer);

remoteHostContainer.Create (1); memaksudkan pembuatan remote host


dalam network sebuah node yaitu hanya 1 host saja, dimana didalam remote
host container diaktifkan pula protokol internet agar dapat mengakses host
dari jauh, maka dari itu disebutlah dengan proses meremote. Proses
pemanggilan protokol internet dilakukan dengan menggunakan perintah
InternetStackHelper internet; internet.Install (remoteHostContainer);
6. Membuat jaringan internet

PointToPointHelper p2ph;

p2ph.SetDeviceAttribute ("DataRate", DataRateValue (DataRate


("100Gb/s")));

p2ph.SetDeviceAttribute ("Mtu", UintegerValue (1500));

p2ph.SetChannelAttribute ("Delay", TimeValue (Seconds (0.010)));

NetDeviceContainer internetDevices = p2ph.Install (pgw, remoteHost);


Ipv4AddressHelper ipv4h;

ipv4h.SetBase ("1.0.0.0", "255.0.0.0");

Ipv4InterfaceContainer internetIpIfaces = ipv4h.Assign (internetDevices);

p2ph.SetDeviceAttribute ("DataRate", DataRateValue (DataRate ("100Gb/s")));


mengartikan perintah untuk mensetting data rate jaringan sebesar 100Gb / s dan
perintah diatas merupakan salah satu pengaturan dan pengisian atribut dalam
internet. Atribute yang digunakan adalah Mtu dan juga delay, besarnya mtu yang
tersetting yaitu 1500 dengan delay waktu pengiriman paket setiap pengiriman
sebesar 0.010 s atau 1 ms. Kemudian dalam komponen penting pembentukan
jaringan internet adalah mensetting ip address. Maka dari itu diperlukan perintah
pembentukan ip address v4 dengan perintah Ipv4AddressHelper ipv4h;
ipv4h.SetBase ("1.0.0.0", "255.0.0.0"); 1.0.0.0 merupakan alamat ip networknya
dan 255.0.0.0 merupakan subnet nya.

7. Pengaktifan remote host address dan proses routing


Ipv4Address remoteHostAddr = internetIpIfaces.GetAddress (1);

Ipv4StaticRoutingHelper ipv4RoutingHelper;

Ptr<Ipv4StaticRouting> remoteHostStaticRouting =
ipv4RoutingHelper.GetStaticRouting (remoteHost->GetObject<Ipv4> ());

remoteHostStaticRouting->AddNetworkRouteTo (Ipv4Address ("7.0.0.0"),


Ipv4Mask ("255.0.0.0"), 1);

NodeContainer ueNodes;

NodeContainer enbNodes;

enbNodes.Create(numberOfNodes);

ueNodes.Create(numberOfNodes);

Dalam sebuah jaringan internet yang terdiri dari beberapa node, dibutuhkan
proses routing agar dapat sampai ketujuan , khususnya routing untuk remote
host sangat diperlukan, untuk alamat ip network route yang digunakan yaitu
7.0.0.0 dengan subnet mask 255.0.0.0. dari proses routing ini maka akan
mengisi tabel routing sehingga diperlukan perintah agar mencatat proses
number of nodenya, maka dari itu dibentuklah fungsi NodeContainer
ueNodes; dan NodeContainer enbNodes;. Dimana akan mengisi nilai
atribut yang sudah dibuat yaitu number of nodenya .
8. Menginstall Mobility model

Ptr<ListPositionAllocator> positionAlloc = CreateObject<ListPositionAllocator>


();

for (uint16_t i = 0; i < numberOfNodes; i++)

positionAlloc->Add (Vector(distance * i, 0, 0));

MobilityHelper mobility;

mobility.SetMobilityModel("ns3::ConstantPositionMobilityModel");

mobility.SetPositionAllocator(positionAlloc);

mobility.Install(enbNodes);

mobility.Install(ueNodes);

Dalam script diatas, ditampilkan proses pembuatan fungsi list position


allocator, dimana berfungsi untuk mendata setiap proses roaming yang terjadi
dalam sistem mobile atau sistem selular LTE, dimana setelah mengetahui
number of nodenya , maka masing masing node akan diberikan alamt lokasi
atau berada pada posisi mana , maka dari itulah dibuat perintah menggunakan
fungsi for, dan ditambahkan pula lokasinya dengan perintah positionAlloc-
>Add (Vector(distance * i, 0, 0));. Kemudian untuk dapat menjalankan
proses pendataan posisi node, maka dibutuhkan tambahan modul seperti
mobility model yang akan memodelkan hasil data lokasi kedalam enbNodes
dan ueNodes, dengan mensetting posisi masing masing node secara konstan
hal ini terlihat dalam perintah.
mobility.SetMobilityModel("ns3::ConstantPositionMobilityModel");

Anda mungkin juga menyukai