|
Open Model Railroad Network (OpenMRN)
|
OpenMRN can be used to logically connect two physical network interfaces. The details of this design are ongoing and the documentation will be udated as the design progresses. The term "bridge" is purposely avoided in this documentation as this can be a rather ambiguous term.
A hub connects two or more physical interfaces through software. It makes no interpretation of the incoming messages. A hub simply forwards an incoming message coming in on one segment to all of the other segments participating in the hub. A hub may connect more than one physical interface type (i.e. CAN, GridConnect over serial or TCP, raw TCP, etc...). All participants in a hub must have the same abstract protocol (OpenLCB for example).
A router connects two or more physical interfaces through software. It can interpret incoming messages from each segment and make an intelligent decision as to which of the other participating segments the message should be forwarded onto. The decision process can be made based on static routing tables, or based on a learning tree as to what segment a message is destined. All participants in a router must have the same abstract protocol (OpenLCB for example).
A gateway connects exactly two physical interfaces through software. Unlike a Hub or Router, a gateway connects two segments with differing abstract protocols. For example, a gateway can connect an XpressNet segment to an OpenLCB segment. A translation between the two abstract protocols takes place in the implementation of the gateway.