Actions

Difference between revisions of "Network layer"

From Zenitel Wiki

(Message Format)
(Message Format)
Line 16: Line 16:
 
*'''<hop­count­byte>''': [[UINT1]]  <options size> <hop counter>
 
*'''<hop­count­byte>''': [[UINT1]]  <options size> <hop counter>
 
** '''<option size>'''  3 bits  
 
** '''<option size>'''  3 bits  
The number of optional bytes in the following <options> field. External applications can normally set this byte to zero. External applications may receive messages with options from AlphaCom, so the option length field must be handled when parsing messages, but the contents of the <options> can normally be ignored.  
+
***The number of optional bytes in the following <options> field. External applications can normally set this byte to zero. External applications may receive messages with options from AlphaCom, so the option length field must be handled when parsing messages, but the contents of the <options> can normally be ignored.  
 
For backward compatibility reasons AMC always removes the <options> field when sending on a ISO­1745 link.  The hop-count/options fields are removed all together when sent on port 0 to AlphaPro.
 
For backward compatibility reasons AMC always removes the <options> field when sending on a ISO­1745 link.  The hop-count/options fields are removed all together when sent on port 0 to AlphaPro.
 
(AMC 06.xx does not support the <options> field, and ignores these three bits.)
 
(AMC 06.xx does not support the <options> field, and ignores these three bits.)
 
** '''<hop counter>'''  5 bits
 
** '''<hop counter>'''  5 bits
A hop counter, counting the number of links that the message has traveled. The hop count (initially 0) is used for graceful handling of data routing configuration errors, by increasing it for every hop and discarding looping messages after 31 hops.  
+
***A hop counter, counting the number of links that the message has traveled. The hop count (initially 0) is used for graceful handling of data routing configuration errors, by increasing it for every hop and discarding looping messages after 31 hops.  
 
<options> The number of bytes is given by <hop­count­byte>.  
 
<options> The number of bytes is given by <hop­count­byte>.  
 
Currently only one option is defined: A UINT1 which is a message sequence number. The sequence number is chosen by the sender, and must follow the message to the destination. The sequence number is used in order to handle broadcast messages between exchanges in AlphaNet. Sequence number set to zero means “no sequence number”.  
 
Currently only one option is defined: A UINT1 which is a message sequence number. The sequence number is chosen by the sender, and must follow the message to the destination. The sequence number is used in order to handle broadcast messages between exchanges in AlphaNet. Sequence number set to zero means “no sequence number”.  

Revision as of 23:03, 19 June 2007

The network layer is responsible for message transport from a source device to a destination device, possibly via one or more transit nodes. It will also monitor broadcasts and discard messages that have been forwarded too many times (possibly going in loop). The network layer’s message header must always be included independent of which data link layer is used. Note that the header contains an <options> field, which need not be processed but your data receiver must advance the correct number of bytes.

Message Format

The network layer message has the following format:

<source> <destination> <hop­count­byte> <options>  

where:

  • <source>: UINT2
    • The Device Address for the sender of the message. See below.
  • <destination>: UINT2
    • The Device Address for the receiver of the message. See below.
  • <hop­count­byte>: UINT1 <options size> <hop counter>
    • <option size> 3 bits
      • The number of optional bytes in the following <options> field. External applications can normally set this byte to zero. External applications may receive messages with options from AlphaCom, so the option length field must be handled when parsing messages, but the contents of the <options> can normally be ignored.

For backward compatibility reasons AMC always removes the <options> field when sending on a ISO­1745 link. The hop-count/options fields are removed all together when sent on port 0 to AlphaPro. (AMC 06.xx does not support the <options> field, and ignores these three bits.)

    • <hop counter> 5 bits
      • A hop counter, counting the number of links that the message has traveled. The hop count (initially 0) is used for graceful handling of data routing configuration errors, by increasing it for every hop and discarding looping messages after 31 hops.

<options> The number of bytes is given by <hop­count­byte>. Currently only one option is defined: A UINT1 which is a message sequence number. The sequence number is chosen by the sender, and must follow the message to the destination. The sequence number is used in order to handle broadcast messages between exchanges in AlphaNet. Sequence number set to zero means “no sequence number”. is described in a later chapter. The maximum size of a network layer message handled by AlphaCom is 64 bytes.

Handling of Broadcast messages

Sequence numbers

When the AlphaCom message router receives a message addressed to a broadcast address, and the message does not have a sequence number, the router adds a non­zero sequence number to the message. Then the sequence number and the source address are stored in a message reference ring buffer with 20 elements, and the message is forwarded to all neighbour nodes.

When the AlphaCom message router receives a message addressed to a broadcast address, and the message does have a sequence number, the router searches the ring buffer in order find if the message is already forwarded. If the message reference is found, the message is discarded. Otherwise, the sequence number and the source address are stored in the ring buffer, and the message is forwarded to all neighbor nodes.

Alternative Routing Effect

The AlphaCom does not support alternative routing of signalling in cases where the configured routes are broken. Note that Broadcast messages are delivered through all possible links in a network, so a message will be delivered via an alternative route if the network has several connections throughout. The DP messages will then be received and processed by all transit nodes, but only the node that recognizes the A subscriber will act on it.

This effect should be used with some caution, though. If the audio link is broken at the same time, the human operator must set up alternative audio paths manually by using area codes. But as a backup procedure where the alternative is no communication at all, the customer may accept it!