## 1 Introduction  
Every object should be smart in today's technological world. The IoT is a new paradigm that gives common objects and things a whole new dimension. Wireless sensor networks, particularly LLNs, are essential components of IoT. It has a high impact on usage in everyday life [1]. The usage at home, industry and institutions is growing exponentially every day. It is considered one of the most influential technologies of the modern era. The devices added to IoT are growing in leaps and bounds every day. Homes, classrooms and cities are becoming smart with IoT [2, 3].  
IoT is a new paradigm that connects computers, humans, devices and objects together for communication. There are many definitions given for IoT [4]. A popular definition is: IoT is a connection between the physical and digital worlds. Sensors and actuators are used to connect the digital and physical worlds. IoT is a concept in which computing and networking capabilities are incorporated virtually into any device. The capabilities are used to query the state of the object as well as change it, if possible. IoT is the networking of persons, things, objects and devices that communicate with each other to achieve a complex task, where a high degree of collective intelligence is required [5]. For computing and communications, IoT makes use of sensors, actuators, transceivers and processors. IoT cannot be considered as a single or standalone technology. It is a large collection of connected technology that works synchronously [6].  
The network layer in IoT performs the major task of establishing connections among nodes and the server. It is the core layer that does the addressing, routing, formation and maintenance of the network. The network layer has protocols that perform the connectivity and networking tasks. The protocols of the network layer are: IPv4, IPv6, 6 LoWPAN, 6 TiSCH, 6 Lo, IPv6 over Bluetooth Low Energy, IPv6 over G.9959, etc. [7]. IoT consists of LLNs that have low power, low energy and scarce computing resources. The conventional routing protocols for the networks may not be suitable for LLNs. The network layer protocols available for IoT are IPv6 RPL [8], Cognitive RPL (CORPL) [9], Channel Aware Routing Protocol (CARP) [10], Enhancement over CARP (E-CARP) [11] and others.  
RPL has become a standard routing protocol suitable for LLNs due to the following characteristics in comparison with the rest: (i) RPL has a better packet reception ratio (PRR) and energy consumption; (ii) it has lesser churn and control traffic overhead; (iii) it had a shorter convergence time; (iv) it is independent of the link layer. Additionally, RPL has the following features: (i) self-healing; (ii) auto-configuration; (iii) Loop avoidance and detection; (iv) independence and transparency; (v) multiple edge routers [12].  
Various features of RPL remain the main reason for preferring RPL over other protocols. In spite of its features, RPL also has a lot of room for improvement since the IoT is exponentially growing, and improved routing support is required [13]. Various enhancement methods have been devised for the RPL based on its function and application. Each enhancement method focuses on improving any one of the limitations of RPL or adding more effectiveness to the existing function of RPL [14].