[This is preliminary documentation and subject to change.]
The router service program (Mrouter.exe) is the program that listens for packets coming from the content server application and forwards broadcast data to the virtual interface.
There are two possible ways for a content server application to send data to the MMR. The first is by sending IP multicast packets using an IP address on which the MMR expects data. The MMR passes these packets directly to the virtual interface for transmission. The content server is responsible for sending data at times and speeds that are acceptable to the transmission medium. For example, if the virtual interface is designed to send data to a vertical blanking interval (VBI) data inserter, the content server application must send the data at a rate slow enough for the VBI data inserter to keep up. In addition, if there is another content server application using the same virtual interface, both content server applications must be designed so that they do not send data at the same time.
The second way for a content server to send data to the MMR is through a TCP/IP tunnel. A TCP/IP tunnel is a TCP/IP connection between two applications that is used to carry other network data. In the case of the MMR, this data is UDP packets destined for the virtual interface. The advantage of using a TCP/IP tunnel is that it gives the MMR an opportunity to send messages back to the content server application. These messages tell the content server application when it is sending too much data or sending data at the wrong time.