An mrouter, or multicast router, is a router program that distinguishes between multicast and unicast packets and determines how they should be distributed along the Multicast Internet (sometimes known as the Multicast Backbone or MBone). Using an appropriate algorithm, an mrouter tells a switching device what to do with the multicast packet.
Mrouters currently make up "islands" on the MBone separated by unicast routers. Thus, an mrouter can disguise multicast packets so that they can cross unicast routers. This is done by making each multicast packet look like a unicast packet; the destination address is the next mrouter. This process is called IP tunneling.
There are two multicast routing protocols that mrouters use to distribute multicast packets. They are dense-mode routing and sparse-mode routing. The protocol used is determined by available bandwidth and the distribution of end users over the network. If the network has many end users and there is enough bandwidth, dense-mode routing is used. However, if bandwidth is limited and users are thinly distributed, sparse-mode routing is used.