What is RPL and How to simulate RPL Routing Protocol in cooja?


RPL is a IPv6 based Routing Protocol for Low-Power and Lossy Networks. A Low-Power and Lossy Networks (LLNs) are a class of network. Here both routers and their interconnects are constrained devices.(i.e) processing power, memory, and energy consumption.RPL routing based on following principle: Destination Oriented Acyclic Graphs or DODAGs.

   Open the Contiki OS with Vmware
worksation. An login into Contiki user
password: user .

   Now open the terminal in contiki
desktop and make the right
directories to run the cooja simulator

In terminal,

Go to the Directory : cd
----> Press Enter

Give Command in terminal :
ant run ------> Press Enter

  After successful execution of above
command. make file will build
automatically and then Contiki Cooja
Network simulator application tool
will appear. It’s a blue color

Open file menu on cooja and create
new simulation with random seeding it
will autogenerate the seeds for
every time while you reload
the simulation.

   File -new simulation (or)
(ctrl+ n).

   select-Radio medium .

   click -New random seed on
reload option.

   click -Create .

Create motes in cooja.

  • Open motes menu  add motes
    >>create new motes type
    >> choose mote
  • Number of motes are available
    theyare differs in based
    upon yourrequirements you choose
    the motes.
  • Two files are necessary to
    runRPL protocols. Inorder to
    createthe motes,
  1. Udp-server.c
  2. Udp-client.c

To create server motes,


Choose a file location >> compile>>
create >> choose sever >> Add motes.

To create client motes

ipv6/rpl-udp /udp-client.c

Choose a file in location >> compile >>
create >> choose client count(30) >> Add motes.

to run the cooja simulator

   In, network terminal View
menu -choose the options you want,

   For example: mote Type, mote ID’s,
radio traffic,etc..

Simulation Control

   Click to start run the simulation.

Leave Comment

Your email address will not be published. Required fields are marked *

clear formSubmit