It is possible to implement out-of-band data transmission using a physically separate channel, but most commonly out-of-band data is a feature provided by a transmission protocol using the same channel as normal data. A typical protocol might divide the data to be transmitted into blocks, with each block having a header word that identifies the type of data being sent, and a count of the data bytes or words to be sent in the block. The header will identify the data as being in-band or out-of-band, along with other identification and routing information. At the receiving end, the protocol looks at the header and routes the data to the normal reception endpoint if it is in-band, and to a separate mechanism if it is out-of-band. Depending on the implementation, there may be some mechanism for notifying or interrupting the receiving application when out-of-band data has arrived.