A protection switching method, wherein the method comprises: if n links carrying a client service are unavailable in a flexible Ethernet, FlexE link group, selecting, by a first network device from other links than the n links in the FlexE link group, at least one link as a protection link, wherein said protection link is an available link in a formal working state or a link that is not faulty, wherein a bandwidth provided by the protection link is greater than or equal to a bandwidth of the client service, the FlexE link group comprises a plurality of links that are logically bound, and n is a positive integer; sending, by the first network device configured as an active end, a negotiation request to a second network device configured as a passive end over the protection link, wherein the negotiation request is used to request to negotiate on switching the client service, transmitted over the n links, to the protection link for transmission; and receiving, by the first network device, a negotiation acknowledge sent by the second network device over the protection link, and switching the client service, transmitted over the n links, to the protection link for transmission, wherein after the selecting at least one link as a protection link, the method further comprises: if p first slots that have already been assigned to the client service exist on the n links, selecting, by the first network device, p second slots from available slots of the protection link, and assigning the p second slots to the client service, wherein the p second slots are used to transmit the client service, and p is a positive integer, wherein the negotiation request carries an identifier of the client service switched to the protection link and identifiers of the second slots. if n links carrying a client service are unavailable in a flexible Ethernet, FlexE link group, selecting, by a first network device from other links than the n links in the FlexE link group, at least one link as a protection link, wherein said protection link is an available link in a formal working state or a link that is not faulty, wherein a bandwidth provided by the protection link is greater than or equal to a bandwidth of the client service, the FlexE link group comprises a plurality of links that are logically bound, and n is a positive integer; sending, by the first network device configured as an active end, a negotiation request to a second network device configured as a passive end over the protection link, wherein the negotiation request is used to request to negotiate on switching the client service, transmitted over the n links, to the protection link for transmission; and receiving, by the first network device, a negotiation acknowledge sent by the second network device over the protection link, and switching the client service, transmitted over the n links, to the protection link for transmission, wherein after the selecting at least one link as a protection link, the method further comprises: if p first slots that have already been assigned to the client service exist on the n links, selecting, by the first network device, p second slots from available slots of the protection link, and assigning the p second slots to the client service, wherein the p second slots are used to transmit the client service, and p is a positive integer, wherein the negotiation request carries an identifier of the client service switched to the protection link and identifiers of the second slots. if p first slots that have already been assigned to the client service exist on the n links, selecting, by the first network device, p second slots from available slots of the protection link, and assigning the p second slots to the client service, wherein the p second slots are used to transmit the client service, and p is a positive integer, wherein the negotiation request carries an identifier of the client service switched to the protection link and identifiers of the second slots.