A load balancing apparatus performed on a network, wherein the network comprises a first ingress node, a first egress node, and at least one intermediate node; the first ingress node is connected to the first egress node through the at least one intermediate node; the apparatus is used on the first ingress node; and the apparatus comprises: a first packet receiving module, configured to receive a plurality of packets comprised in a first packet flow, wherein a destination address of the first packet flow is an address of a host connected to the first egress node through a first chip, and the first egress node comprises the first chip; a chip determining module, configured to determine an identifier of the first chip based on the first packet flow and a first entry in a forwarding table, wherein the first entry comprises the destination address of the first packet flow and the identifier of the first chip; a channel allocation module, configured to allocate a first channel identifier to the first packet flow based on the identifier of the first chip; a sequence number allocation module, configured to allocate a sequence number to each of the plurality of packets comprised in the first packet flow, wherein each sequence number is used to indicate a sequence in which a corresponding packet enters a first channel, the first channel identifier is used to indicate the first channel, and the first channel is one of a plurality of channels between the first ingress node and the first chip; a packet updating module, configured to generate an updated first packet flow based on the first packet flow, wherein the updated first packet flow comprises a plurality of packets, the plurality of packets comprised in the updated first packet flow are in a one-to-one correspondence with the plurality of packets comprised in the first packet flow, and each packet in the updated first packet flow comprises a corresponding packet in the first packet flow, a sequence number of the corresponding packet in the first packet flow, and the first channel identifier; and a packet sending module, configured to send the plurality of packets in the updated first packet flow to the first egress node in a per-packet load sharing manner. a first packet receiving module, configured to receive a plurality of packets comprised in a first packet flow, wherein a destination address of the first packet flow is an address of a host connected to the first egress node through a first chip, and the first egress node comprises the first chip; a chip determining module, configured to determine an identifier of the first chip based on the first packet flow and a first entry in a forwarding table, wherein the first entry comprises the destination address of the first packet flow and the identifier of the first chip; a channel allocation module, configured to allocate a first channel identifier to the first packet flow based on the identifier of the first chip; a sequence number allocation module, configured to allocate a sequence number to each of the plurality of packets comprised in the first packet flow, wherein each sequence number is used to indicate a sequence in which a corresponding packet enters a first channel, the first channel identifier is used to indicate the first channel, and the first channel is one of a plurality of channels between the first ingress node and the first chip; a packet updating module, configured to generate an updated first packet flow based on the first packet flow, wherein the updated first packet flow comprises a plurality of packets, the plurality of packets comprised in the updated first packet flow are in a one-to-one correspondence with the plurality of packets comprised in the first packet flow, and each packet in the updated first packet flow comprises a corresponding packet in the first packet flow, a sequence number of the corresponding packet in the first packet flow, and the first channel identifier; and a packet sending module, configured to send the plurality of packets in the updated first packet flow to the first egress node in a per-packet load sharing manner.