Packet drop increase in changing SuperframeOrder on wpan

25 views
Skip to first unread message

Kwangbaek Lee

unread,
Jun 19, 2016, 9:24:33 PM6/19/16
to OMNeT++ Users

Hi omnet++ users,

 

Let me introduce myself first. My name is Kevin, Lee.

I am a PhD student in University of Melbourne and am preparing for a simulation using omnet++ 4.6 and inetmanet 2.0.

While doing the simulation, I met a problem and asked you for some help.

 

Thanks to your prior implementation, I saved a lot of time.

However I met a problem in changing SO(SuperframeOrder) dynamically.

When I changed SO during the simulation running, the number of packet drop is dramatically increased.

Roughly 50% of the packets were dropped.

To check if it is correct, I did some additional experiment as follows.

 

0.       Simulation environment

a.       Omnet++4.6, inetmanet 2.0

b.      Topology : StarNet (Star network) in inetmanet 2.0,

                      3 nodes (host 1 : PAN coordinator & receiver, host 0/2 : source device)

c.       Simulation parameter (please find attached “omnetpp.ini” file for more parameters)

                               **.host[*].**.mac.ack4Gts                                          = true

                               **.host[*].**.mac.gtsPayload                                    = 10       # should be consistent with that in trafconfig.xml

                               **.host[*].**.mac.dataTransMode                         = 1                         # 1: direct; 2: indirect; 3: GTS

                               **.host[*].**.mac.isRecvGTS                                     = false  # ignored

 

1.       Fix the SO(**.mac.SO=4) from the start(omnetpp.ini) and executed it.

2.       Change the SO(**.mac.SO=7) from the start(omnetpp.ini) and executed it.

a.       The delay was decreased but the number of packet drop rate was similar to the 1st case.

3.       Change the SO value in the function “void Ieee802154Mac::handleBcnTxTimer()” dynamically.

-    Old code

       txSfSpec.SO = mpib.macSuperframeOrder;

       txSfSpec.SD = aBaseSuperframeDuration * (1 << mpib.macSuperframeOrder);

-    New code

       uint8_t so= (uint8_t)par("SO") + intrand(4);

       mpib.macSuperframeOrder= so;

       txSfSlotDuration = aBaseSlotDuration * (1 << mpib.macSuperframeOrder);

       txSfSpec.SO = so;

       txSfSpec.SD = aBaseSuperframeDuration * (1 << txSfSpec.SO);

      

-    The average delay was decreased, but actually I used acknowledged mode and the number of dropped packets were increased to 50%.

 

scalar Ieee802154StarNet.host[0].nic.mac        "Total simulation time"         179.99452604265

scalar Ieee802154StarNet.host[0].nic.mac        "total num of upper pkts received"      300

scalar Ieee802154StarNet.host[0].nic.mac        "num of upper pkts dropped"     0

scalar Ieee802154StarNet.host[0].nic.mac        "num of BEACON pkts sent"       0

scalar Ieee802154StarNet.host[0].nic.mac        "num of DATA pkts sent successfully"    192

scalar Ieee802154StarNet.host[0].nic.mac        "num of DATA pkts failed"       107

scalar Ieee802154StarNet.host[0].nic.mac        "num of DATA pkts sent successfully in GTS"     0

scalar Ieee802154StarNet.host[0].nic.mac        "num of DATA pkts failed in GTS"        0

scalar Ieee802154StarNet.host[0].nic.mac        "num of ACK pkts sent"  0

scalar Ieee802154StarNet.host[0].nic.mac        "num of BEACON pkts received"   46

scalar Ieee802154StarNet.host[0].nic.mac        "num of BEACON pkts lost"       0

scalar Ieee802154StarNet.host[0].nic.mac        "num of DATA pkts received"     0

scalar Ieee802154StarNet.host[0].nic.mac        "num of DATA pkts received in GTS"      0

scalar Ieee802154StarNet.host[0].nic.mac        "num of ACK pkts received"      192

scalar Ieee802154StarNet.host[0].nic.mac        "num of collisions"     182

 

scalar Ieee802154StarNet.host[2].nic.mac        "Total simulation time"         179.99452604265

scalar Ieee802154StarNet.host[2].nic.mac        "total num of upper pkts received"      312

scalar Ieee802154StarNet.host[2].nic.mac        "num of upper pkts dropped"     0

scalar Ieee802154StarNet.host[2].nic.mac        "num of BEACON pkts sent"       0

scalar Ieee802154StarNet.host[2].nic.mac        "num of DATA pkts sent successfully"    204

scalar Ieee802154StarNet.host[2].nic.mac        "num of DATA pkts failed"       107

scalar Ieee802154StarNet.host[2].nic.mac        "num of DATA pkts sent successfully in GTS"     0

scalar Ieee802154StarNet.host[2].nic.mac        "num of DATA pkts failed in GTS"        0

scalar Ieee802154StarNet.host[2].nic.mac        "num of ACK pkts sent"  0

scalar Ieee802154StarNet.host[2].nic.mac        "num of BEACON pkts received"   46

scalar Ieee802154StarNet.host[2].nic.mac        "num of BEACON pkts lost"       0

scalar Ieee802154StarNet.host[2].nic.mac        "num of DATA pkts received"     0

scalar Ieee802154StarNet.host[2].nic.mac        "num of DATA pkts received in GTS"      0

scalar Ieee802154StarNet.host[2].nic.mac        "num of ACK pkts received"      204

scalar Ieee802154StarNet.host[2].nic.mac        "num of collisions"     176

 

 

Could you please give me a hint to solve out this problem ?

I appreciate your help and support in advance.

Thanks and regards,

 

Kevin

omnetpp.ini
Reply all
Reply to author
Forward
0 new messages