A node device for forming a multi-hop network configured to avoid interference from coexisting interfering networks, comprising: a transceiver configured to receive and transmit data with respect to a Destination Oriented Directed Acyclic Graph, DODAG, Information Object message, DIO message; a memory configured to store computer executable programs including an interfered-node count, IC, program, single-rate link count, SLC, program, multi-rate link count, MLC, program, hop count, HP, program, path communication latency, PCL, program and an interference efficient and multi-rate supported routing program CoM-RPL; and a processor configured to perform steps of the computer executable programs, wherein the steps comprise: determining if the received DIO message indicates a new DODAG or an existing DODAG, wherein if a determined result in the determining indicates the new DODAG and no single-rate link and no interfered node on a path of multi-hop network, the node device joins DODAG network and the processor selects a sender of the DIO message as a default parent, computes a rank for itself, updates DIO message with its rank, IC, SLC, TRM, HP, PCL and transmits scheduled DIO messages based on transmission rate mode, if the path contains single-rate node or/and interfered node, the processor selects the sender of the DIO message as parent and starts a DIO waiting timer to wait for better paths, wherein timer is up, the node device joins network, selects a default parent with the minimum communication path latency, CPL, and transmits the updated DIO message. a transceiver configured to receive and transmit data with respect to a Destination Oriented Directed Acyclic Graph, DODAG, Information Object message, DIO message; a memory configured to store computer executable programs including an interfered-node count, IC, program, single-rate link count, SLC, program, multi-rate link count, MLC, program, hop count, HP, program, path communication latency, PCL, program and an interference efficient and multi-rate supported routing program CoM-RPL; and a processor configured to perform steps of the computer executable programs, wherein the steps comprise: determining if the received DIO message indicates a new DODAG or an existing DODAG, wherein if a determined result in the determining indicates the new DODAG and no single-rate link and no interfered node on a path of multi-hop network, the node device joins DODAG network and the processor selects a sender of the DIO message as a default parent, computes a rank for itself, updates DIO message with its rank, IC, SLC, TRM, HP, PCL and transmits scheduled DIO messages based on transmission rate mode, if the path contains single-rate node or/and interfered node, the processor selects the sender of the DIO message as parent and starts a DIO waiting timer to wait for better paths, wherein timer is up, the node device joins network, selects a default parent with the minimum communication path latency, CPL, and transmits the updated DIO message. determining if the received DIO message indicates a new DODAG or an existing DODAG, wherein if a determined result in the determining indicates the new DODAG and no single-rate link and no interfered node on a path of multi-hop network, the node device joins DODAG network and the processor selects a sender of the DIO message as a default parent, computes a rank for itself, updates DIO message with its rank, IC, SLC, TRM, HP, PCL and transmits scheduled DIO messages based on transmission rate mode, if the path contains single-rate node or/and interfered node, the processor selects the sender of the DIO message as parent and starts a DIO waiting timer to wait for better paths, wherein timer is up, the node device joins network, selects a default parent with the minimum communication path latency, CPL, and transmits the updated DIO message.