1. A method for forwarding a multicast program, comprising: receiving, by an Optical Line Terminal (OLT), a multicast join request message from a user for requesting an on-demand program; obtaining, by the OLT, forwarding decision information according to the multicast join request message; acquire, by the OLT, a decision result by searching data elements with the obtained forwarding decision information; wherein the data elements indicate a correspondence between various types of forwarding decision information and various types of forwarding modes; wherein the various types of forwarding modes comprise a forwarding according to Passive Optical Network (PON) replication and a forwarding according to user replication; wherein the decision result is the forwarding according to PON replication or the forwarding according to user replication; and forwarding, by the OLT, the on-demand program to the user according to the decision result.