The network stack implemented in ''ContikiOS'' is a little bit different than the usual 5-layers model typically adopted in TCP/IP. In-between the ''Physical'' and the ''Network'' layers, where usually is located the MAC, we have 3 different layers: '''Framer''', '''Radio Duty-Cycle (RDC)''' and '''Medium Access Control (MAC)'''. The figure below shows the organization of layers in ''ContikiOS''.
 
The network stack implemented in ''ContikiOS'' is a little bit different than the usual 5-layers model typically adopted in TCP/IP. In-between the ''Physical'' and the ''Network'' layers, where usually is located the MAC, we have 3 different layers: '''Framer''', '''Radio Duty-Cycle (RDC)''' and '''Medium Access Control (MAC)'''. The figure below shows the organization of layers in ''ContikiOS''.
   −
[[File:contiki-layers.jpg|200px|center]]
+
[[File:contiki-layers.jpg|150px|center]]
    
The network layers can be accessed through the global variables NETSTACK_FRAMER, NETSTACK_RDC and NETSTACK_MAC, which are defined in compilation time. All network layers variables can be found in ''core/net/netstack.h''. Every network layer is defined by the pragmas ''#define'' in the beginning of this file.
 
The network layers can be accessed through the global variables NETSTACK_FRAMER, NETSTACK_RDC and NETSTACK_MAC, which are defined in compilation time. All network layers variables can be found in ''core/net/netstack.h''. Every network layer is defined by the pragmas ''#define'' in the beginning of this file.
   Exception encountered, of type "Error"