A wireless network communication system comprising: a non-transitory memory storing, for a network node (N1; N2; N3), information associated with a plurality of communication channels (Ch1,..., Ch5), wherein the information stored for the node includes data indicating whether the communication channels are reserved; and one or more hardware processors in communication with the memory and configured to execute instructions to cause the system to communicate over one or more of the plurality of communication channels by performing operations comprising: updating the stored information for the node, based on received data regarding which communication channels are reserved; selecting a channel from the plurality of communication channels, based on the updated information for the node that the channel is not reserved, wherein selecting the channel comprises selecting a channel that is not in use by a neighboring node, based on a channel selection rule table that indicates whether a channel is in use by a neighboring node, excluding channels in use by the node; contending for communication on the selected channel; and in response to communication being established on the selected channel, transmitting data indicating that the selected channel is reserved; and attaching a protocol header to packets of a transmission, wherein entries in the protocol header describe a status of each communication channel at each node, characterised in that the status is chosen from a group of possible statuses and the group of possible statuses comprises that the respective channel is available for reception, actively receiving, used for reception, actively transmitting, and open, having potential to either transmit or receive. a non-transitory memory storing, for a network node (N1; N2; N3), information associated with a plurality of communication channels (Ch1,..., Ch5), wherein the information stored for the node includes data indicating whether the communication channels are reserved; and one or more hardware processors in communication with the memory and configured to execute instructions to cause the system to communicate over one or more of the plurality of communication channels by performing operations comprising: updating the stored information for the node, based on received data regarding which communication channels are reserved; selecting a channel from the plurality of communication channels, based on the updated information for the node that the channel is not reserved, wherein selecting the channel comprises selecting a channel that is not in use by a neighboring node, based on a channel selection rule table that indicates whether a channel is in use by a neighboring node, excluding channels in use by the node; contending for communication on the selected channel; and in response to communication being established on the selected channel, transmitting data indicating that the selected channel is reserved; and attaching a protocol header to packets of a transmission, wherein entries in the protocol header describe a status of each communication channel at each node, characterised in that the status is chosen from a group of possible statuses and the group of possible statuses comprises that the respective channel is available for reception, actively receiving, used for reception, actively transmitting, and open, having potential to either transmit or receive. updating the stored information for the node, based on received data regarding which communication channels are reserved; selecting a channel from the plurality of communication channels, based on the updated information for the node that the channel is not reserved, wherein selecting the channel comprises selecting a channel that is not in use by a neighboring node, based on a channel selection rule table that indicates whether a channel is in use by a neighboring node, excluding channels in use by the node; contending for communication on the selected channel; and in response to communication being established on the selected channel, transmitting data indicating that the selected channel is reserved; and attaching a protocol header to packets of a transmission, wherein entries in the protocol header describe a status of each communication channel at each node, characterised in that the status is chosen from a group of possible statuses and the group of possible statuses comprises that the respective channel is available for reception, actively receiving, used for reception, actively transmitting, and open, having potential to either transmit or receive.