Challenges on NS3 DEVICE TO DEVICE COMMUNICATION:
- Interference management
- Mobility management
- Security
- For enhance the performance and also quality of service of system
- Cellular network offloading
- D2D in IoT
Potential gains of D2D:
- Latency gain.
- User data gram gain.
- Capacity gain.
Characteristics of D2D communication in IoT:
- Heterogeneity of devices.
- Device limitation.
- Device network and networking standards.
- Unpredictable mobility pattern of devices.
- Device coexistence and collaboration.
- Self-configuration, self-organization and autonomy.
Ns3 Video Tutorial
Ns3 Video Tutorial – Latest NS3 Projects Output
Ns3 Tutorial
Ns3 Tutorial – Guide to Various Network Projects
Journal Support
Paper Publication for NS3 Simulation Projects
Contact Form
Contact Us- Customized Ns3 Simulator ProjectsSample code for NS3 DEVICE TO DEVICE COMMUNICATION
D2DCommunication::DoSendRrcConnectionRequest (LteRrcSap::RrcConnectionRequest msg)
{
m_rnti = m_rrc->GetRnti ();
SetEnbRrcSapProvider ();
Ptr<Packet> packet = Create<Packet> ();
RrcConnectionRequestHeader rrcConnectionRequestHeader;
rrcConnectionRequestHeader.SetMessage (msg);
packet->AddHeader (rrcConnectionRequestHeader);
LteRlcSapProvider::TransmitPdcpPduParameters transmitPdcpPduParameters;
transmitPdcpPduParameters.pdcpPdu = packet;
transmitPdcpPduParameters.rnti = m_rnti;
transmitPdcpPduParameters.lcid = 0;
m_setupParameters.srb0SapProvider->TransmitPdcpPdu (transmitPdcpPduParameters);
}
void
D2DCommunication::DoSendRrcConnectionSetupCompleted (LteRrcSap::RrcConnectionSetupCompleted msg)
{
Ptr<Packet> packet = Create<Packet> ();
RrcConnectionSetupCompleteHeader rrcConnectionSetupCompleteHeader;
rrcConnectionSetupCompleteHeader.SetMessage (msg);
packet->AddHeader (rrcConnectionSetupCompleteHeader);
LtePdcpSapProvider::TransmitPdcpSduParameters transmitPdcpSduParameters;
transmitPdcpSduParameters.pdcpSdu = packet;
transmitPdcpSduParameters.rnti = m_rnti;
transmitPdcpSduParameters.lcid = 1;
if (m_setupParameters.srb1SapProvider)
{
m_setupParameters.srb1SapProvider->TransmitPdcpSdu (transmitPdcpSduParameters);
}
}
void
D2DCommunication::DoSendRrcConnectionReconfigurationCompleted (LteRrcSap::RrcConnectionReconfigurationCompleted msg)
{
m_rnti = m_rrc->GetRnti ();
SetEnbRrcSapProvider ();
Ptr<Packet> packet = Create<Packet> ();
RrcConnectionReconfigurationCompleteHeader rrcConnectionReconfigurationCompleteHeader;
rrcConnectionReconfigurationCompleteHeader.SetMessage (msg);
packet->AddHeader (rrcConnectionReconfigurationCompleteHeader);
LtePdcpSapProvider::TransmitPdcpSduParameters transmitPdcpSduParameters;
transmitPdcpSduParameters.pdcpSdu = packet;
transmitPdcpSduParameters.rnti = m_rnti;
transmitPdcpSduParameters.lcid = 1;
m_setupParameters.srb1SapProvider->TransmitPdcpSdu (transmitPdcpSduParameters);
}
void
D2DCommunication::DoSendMeasurementReport (LteRrcSap::MeasurementReport msg)
{
m_rnti = m_rrc->GetRnti ();
SetEnbRrcSapProvider ();
Ptr<Packet> packet = Create<Packet> ();
MeasurementReportHeader measurementReportHeader;
measurementReportHeader.SetMessage (msg);
packet->AddHeader (measurementReportHeader);
LtePdcpSapProvider::TransmitPdcpSduParameters transmitPdcpSduParameters;
transmitPdcpSduParameters.pdcpSdu = packet;
transmitPdcpSduParameters.rnti = m_rnti;
transmitPdcpSduParameters.lcid = 1;
m_setupParameters.srb1SapProvider->TransmitPdcpSdu (transmitPdcpSduParameters);
}