A multicast packet processing method, comprising: receiving , by a first network node, a first multicast packet sent by a second network node, wherein the second network node is any neighboring network node of the first network node, and the neighboring network node is a network node connected to the first network node; characterized by starting , by the first network node, a trickle timer corresponding to the first multicast packet, and executing a first trickle period in e trickle periods of the trickle timer, wherein e is an integer greater than or equal to 2; determining , by the first network node, whether a quantity Z1 of first multicast packets that are received in the first trickle period before a sending moment T1 is less than or equal to a first redundancy constant K1, wherein K1 is an integer greater than a quantity of neighboring network nodes, and T1 is a preset moment in the first trickle period; if Z1 is less than or equal to K1, broadcasting, by the first network node, the first multicast packet; determining , by the first network node, whether a quantity Z2 of first multicast packets that are received in a second trickle period before a sending moment T2 is greater than or equal to a second redundancy constant K2, wherein K2 is an integer equal to the quantity of neighboring network nodes, and T2 is a preset moment in the second trickle period; and if Z2 is greater than or equal to K2, stopping, by the first network node, broadcast of the first multicast packet in the second trickle period; or if Z2 is less than K2, broadcasting, by the first network node, the first multicast packet. receiving , by a first network node, a first multicast packet sent by a second network node, wherein the second network node is any neighboring network node of the first network node, and the neighboring network node is a network node connected to the first network node; characterized by starting , by the first network node, a trickle timer corresponding to the first multicast packet, and executing a first trickle period in e trickle periods of the trickle timer, wherein e is an integer greater than or equal to 2; determining , by the first network node, whether a quantity Z1 of first multicast packets that are received in the first trickle period before a sending moment T1 is less than or equal to a first redundancy constant K1, wherein K1 is an integer greater than a quantity of neighboring network nodes, and T1 is a preset moment in the first trickle period; if Z1 is less than or equal to K1, broadcasting, by the first network node, the first multicast packet; determining , by the first network node, whether a quantity Z2 of first multicast packets that are received in a second trickle period before a sending moment T2 is greater than or equal to a second redundancy constant K2, wherein K2 is an integer equal to the quantity of neighboring network nodes, and T2 is a preset moment in the second trickle period; and if Z2 is greater than or equal to K2, stopping, by the first network node, broadcast of the first multicast packet in the second trickle period; or if Z2 is less than K2, broadcasting, by the first network node, the first multicast packet. <EOS>