3.1 .NET Packet Router Server Details

Every .NET Packet Routing Protocol router MUST implement processing to receive and send the PacketRoutable element.<1>

When a packet is received by a .NET packet router, and it contains a SOAP header that includes the PacketRoutable element, the router MUST process the XML element and downgrade the routing to packet routing, applying any routing algorithm to determine the next destination of the packet. At this stage, an NPR router MAY also process any vendor-specific extension (such as hop count).

When receiving a message from a sending node to the NPR router, failures are handled based on the specific transport protocol used. For example, if HTTP was selected, an HTTP status code of 200 or 202 signifies that the message was successfully received by the router. An HTTP status code of 500 signifies that the message was not successfully received or processed. The specific handling of errors and .NET Faults is outside the scope of this document.

State diagram of the receiving end of a .NET Packet Routing Protocol router

Figure 5: State diagram of the receiving end of a .NET Packet Routing Protocol router

When a .NET Packet Routing Protocol router sends a packet to a destination node, the router MUST maintain the PacketRoutable element in the outgoing packet, and it MAY maintain other vendor-specific extensions. Any outbound transport MAY be chosen based on the available capabilities of either the sending or the receiving router. This protocol does not specify how to determine the appropriate transport protocol or the selection process for the next destination node.

When a .NET Packet Routing Protocol router sends a packet to a destination node, any failure to deliver a message is handled based on the specific transport protocol that is used. For example, if HTTP was selected, an HTTP status code of 200 or 202 may signify that the message was successfully received by the destination node. An HTTP status code of 500 may signify that the message was not successfully received or processed by the destination node.

Vendor extensions to the protocol MAY implement retry mechanism for resending a message upon failure. This protocol does not recommend any specific handling of such failures.

State diagram of the sending side of a .NET Packet Routing Protocol router

Figure 6: State diagram of the sending side of a .NET Packet Routing Protocol router