Sign up to receive free email alerts when patent applications with chosen keywords are publishedSIGN UP

Abstract:

Embodiments of the present disclosure provide a packet processing method
and apparatus. A first protocol identifier of a first to-be-processed
packet is acquired; and first protocol rule profile information that
corresponds to the first protocol identifier is acquired from a rule
profile repository, where the rule profile repository stores protocol
rule profile information of at least one protocol, protocol rule profile
information of each protocol in the at least one protocol is associated
with a protocol identifier of the protocol, the protocol rule profile
information of the protocol is used to describe a method and a parameter
for processing a packet, and the packet meets a standard stipulated by
the protocol; and the first to-be-processed packet is processed according
to the acquired first protocol rule profile information.

Claims:

1. A packet processing method, comprising: acquiring a first protocol
identifier of a first to-be-processed packet; acquiring, from a rule
profile repository, first protocol rule profile information that
corresponds to the first protocol identifier, wherein the rule profile
repository stores protocol rule profile information of at least one
protocol, protocol rule profile information of each protocol in the at
least one protocol is associated with a protocol identifier of the
protocol, the protocol rule profile information of the protocol is used
to describe a method and a parameter for processing a packet, and the
packet meets a standard stipulated by the protocol; and processing the
first to-be-processed packet according to the first protocol rule profile
information.

2. The method according to claim 1, wherein acquiring a first protocol
identifier of a first to-be-processed packet comprises: reading the first
to-be-processed packet according to a read location that is of a protocol
identifier and that is described in protocol rule profile information,
which is in the rule profile repository, of a protocol in the at least
one protocol; and when a read result from the read location of the first
to-be-processed packet matches a parameter that is described in the
protocol rule profile information, determining the first protocol
identifier of the first to-be-processed packet.

3. The method according to claim 1, wherein acquiring a first protocol
identifier of a first to-be-processed packet comprises: reading the first
to-be-processed packet from a preset location of the first
to-be-processed packet; and when a read result from the preset location
of the first to-be-processed packet matches a parameter that is described
in the protocol rule profile information, determining the first protocol
identifier of the first to-be-processed packet.

4. The method according to claim 1, wherein: before acquiring, from a
rule profile repository, first protocol rule profile information that
corresponds to the first protocol identifier, the method further
comprises: receiving an enabling command that is sent by a network
management device and corresponds to a service type; and acquiring, from
a rule profile repository, first protocol rule profile information that
corresponds to the first protocol identifier comprises: acquiring, from
the rule profile repository, first protocol rule profile sub-information,
which corresponds to the service type, of the first protocol rule profile
information that corresponds to the first protocol identifier, wherein
protocol rule profile information of each protocol in the at least one
protocol is classified, according to at least one service type, into at
least one piece of protocol rule profile sub-information, the protocol
rule profile sub-information is associated with the service type, and the
protocol rule profile sub-information is used to describe a method and a
parameter for processing, based on the service type, a packet.

5. The method according to claim 4, wherein before acquiring a first
protocol identifier of a first to-be-processed packet, the method further
comprises: receiving the protocol rule profile information that is sent
by the network management device and corresponds to the at least one
protocol, wherein protocol rule profile information of each protocol in
the at least one protocol is obtained by the network management device by
parsing content of the protocol, and a method and a parameter for
processing a packet that meets a standard stipulated by the protocol are
stipulated in content of the protocol; and associating the protocol rule
profile information of the protocol with an protocol identifier of the
protocol, and storing the protocol rule profile information of the
protocol in the rule profile repository.

6. The method according to claim 5, wherein before acquiring, from a rule
profile repository, first protocol rule profile information that
corresponds to the first protocol identifier, the method further
comprises: receiving a configuration instruction, which is sent by the
network management device, for the protocol rule profile information of
each protocol in the at least one protocol.

7. The method according to claim 2, wherein: before acquiring, from a
rule profile repository, first protocol rule profile information that
corresponds to the first protocol identifier, the method further
comprises: receiving an enabling command that is sent by a network
management device and corresponds to a service type; and acquiring, from
a rule profile repository, first protocol rule profile information that
corresponds to the first protocol identifier comprises: acquiring, from
the rule profile repository, first protocol rule profile sub-information,
which corresponds to the service type, of the first protocol rule profile
information that corresponds to the first protocol identifier, wherein
protocol rule profile information of each protocol in the at least one
protocol is classified, according to at least one service type, into at
least one piece of protocol rule profile sub-information, the protocol
rule profile sub-information is associated with the service type, and the
protocol rule profile sub-information is used to describe a method and a
parameter for processing, based on the service type, a packet.

8. The method according to claim 7, wherein before acquiring a first
protocol identifier of a first to-be-processed packet, the method further
comprises: receiving the protocol rule profile information that is sent
by the network management device and corresponds to the at least one
protocol, wherein protocol rule profile information of each protocol in
the at least one protocol is obtained by the network management device by
parsing content of the protocol, and a method and a parameter for
processing a packet that meets a standard stipulated by the protocol are
stipulated in content of the protocol; and associating the protocol rule
profile information of the protocol with an protocol identifier of the
protocol, and storing the protocol rule profile information of the
protocol in the rule profile repository.

9. The method according to claim 3, wherein: before acquiring, from a
rule profile repository, first protocol rule profile information that
corresponds to the first protocol identifier, the method further
comprises: receiving an enabling command that is sent by a network
management device and corresponds to a service type; and acquiring, from
a rule profile repository, first protocol rule profile information that
corresponds to the first protocol identifier comprises: acquiring, from
the rule profile repository, first protocol rule profile sub-information,
which corresponds to the service type, of the first protocol rule profile
information that corresponds to the first protocol identifier, wherein
protocol rule profile information of each protocol in the at least one
protocol is classified, according to at least one service type, into at
least one piece of protocol rule profile sub-information, the protocol
rule profile sub-information is associated with the service type, and the
protocol rule profile sub-information is used to describe a method and a
parameter for processing, based on the service type, a packet.

10. The method according to claim 9, wherein before acquiring a first
protocol identifier of a first to-be-processed packet, the method further
comprises: receiving the protocol rule profile information that is sent
by the network management device and corresponds to the at least one
protocol, wherein protocol rule profile information of each protocol in
the at least one protocol is obtained by the network management device by
parsing content of the protocol, and a method and a parameter for
processing a packet that meets a standard stipulated by the protocol are
stipulated in content of the protocol; and associating the protocol rule
profile information of the protocol with an protocol identifier of the
protocol, and storing the protocol rule profile information of the
protocol in the rule profile repository.

11. A packet processing apparatus, comprising: a protocol identifier
acquiring module, configured to acquire a first protocol identifier of a
first to-be-processed packet; a rule profile acquiring module, configured
to acquire, from a rule profile repository, first protocol rule profile
information that corresponds to the first protocol identifier, wherein
the rule profile repository stores protocol rule profile information of
at least one protocol, protocol rule profile information of each protocol
in the at least one protocol is associated with a protocol identifier of
the protocol, the protocol rule profile information of the protocol is
used to describe a method and a parameter for processing a packet, and
the packet meets a standard stipulated by the protocol; and a processing
module, configured to process the first to-be-processed packet according
to the first protocol rule profile information.

12. The apparatus according to claim 11, wherein the protocol identifier
acquiring module is configured to: read the first to-be-processed packet
according to a read location that is of the first protocol identifier and
that is described in the protocol rule profile information, which is in
the rule profile repository, of a protocol in the at least one protocol;
and when a read result from the read location of the first
to-be-processed packet matches a parameter that is described in the
protocol rule profile information, determine the first protocol
identifier of the first to-be-processed packet.

13. The apparatus according to claim 11, wherein the protocol identifier
acquiring module is configured to: read the first to-be-processed packet
from a preset location of the first to-be-processed packet; and when a
read result from the preset location of the first to-be-processed packet
matches a parameter that is described in the protocol rule profile
information, determine the first protocol identifier of the first
to-be-processed packet.

14. The apparatus according to claim 11, wherein: the apparatus further
comprises: a receiving module, configured to receive an enabling command
that is sent by a network management device and corresponds to a service
type; and the rule profile acquiring module is configured to: acquire,
from the rule profile repository, first protocol rule profile
sub-information, which corresponds to the service type, of the first
protocol rule profile information that corresponds to the first protocol
identifier, wherein protocol rule profile information of each protocol in
the at least one protocol is classified, according to at least one
service type, into at least one piece of protocol rule profile
sub-information, the protocol rule profile sub-information is associated
with the service type, and the protocol rule profile sub-information is
used to describe a method and a parameter for processing, based on the
service type, a packet.

15. The apparatus according to claim 14, wherein: the receiving module is
further configured to: receive the protocol rule profile information that
is sent by the network management device and corresponds to the at least
one protocol, wherein protocol rule profile information of each protocol
in the at least one protocol is obtained by the network management device
by parsing content of the protocol, and a method and a parameter for
processing a packet that meets a standard stipulated by the protocol are
stipulated in content of the protocol; and the apparatus further
comprises: a storage module, configured to associate the protocol rule
profile information of the protocol with an protocol identifier of the
protocol, and store the protocol rule profile information of the protocol
in the rule profile repository.

16. The apparatus according to claim 15, wherein the receiving module is
further configured to: receive a configuration instruction, which is sent
by the network management device, for the protocol rule profile
information of each protocol in the at least one protocol.

17. The apparatus according to claim 12, wherein: the apparatus further
comprises: a receiving module, configured to receive an enabling command
that is sent by a network management device and corresponds to a service
type; and the rule profile acquiring module is configured to: acquire,
from the rule profile repository, first protocol rule profile
sub-information, which corresponds to the service type, of the first
protocol rule profile information that corresponds to the first protocol
identifier, wherein protocol rule profile information of each protocol in
the at least one protocol is classified, according to at least one
service type, into at least one piece of protocol rule profile
sub-information, the protocol rule profile sub-information is associated
with the service type, and the protocol rule profile sub-information is
used to describe a method and a parameter for processing, based on the
service type, a packet.

18. The apparatus according to claim 17, wherein: the receiving module is
further configured to: receive the protocol rule profile information that
is sent by the network management device and corresponds to the at least
one protocol, wherein protocol rule profile information of each protocol
in the at least one protocol is obtained by the network management device
by parsing content of the protocol, and a method and a parameter for
processing a packet that meets a standard stipulated by the protocol are
stipulated in content of the protocol; and the apparatus further
comprises: a storage module, configured to associate the protocol rule
profile information of the protocol with an protocol identifier of the
protocol, and store the protocol rule profile information of the protocol
in the rule profile repository.

19. The apparatus according to claim 13, wherein: the apparatus further
comprises: a receiving module, configured to receive an enabling command
that is sent by a network management device and corresponds to a service
type; and the rule profile acquiring module is configured to: acquire,
from the rule profile repository, first protocol rule profile
sub-information, which corresponds to the service type, of the first
protocol rule profile information that corresponds to the first protocol
identifier, wherein protocol rule profile information of each protocol in
the at least one protocol is classified, according to at least one
service type, into at least one piece of protocol rule profile
sub-information, the protocol rule profile sub-information is associated
with the service type, and the protocol rule profile sub-information is
used to describe a method and a parameter for processing, based on the
service type, a packet.

20. The apparatus according to claim 19, wherein: the receiving module is
further configured to: receive the protocol rule profile information that
is sent by the network management device and corresponds to the at least
one protocol, wherein protocol rule profile information of each protocol
in the at least one protocol is obtained by the network management device
by parsing content of the protocol, and a method and a parameter for
processing a packet that meets a standard stipulated by the protocol are
stipulated in content of the protocol; and the apparatus further
comprises: a storage module, configured to associate the protocol rule
profile information of the protocol with an protocol identifier of the
protocol, and store the protocol rule profile information of the protocol
in the rule profile repository.

Description:

CROSS-REFERENCE TO RELATED APPLICATIONS

[0001] This application is a continuation of International Application No.
PCT/CN2014/076824, filed on May 6, 2014, which claims priority to Chinese
Patent Application No. 201310173260.4, filed on May 10, 2013, both of
which are hereby incorporated by reference in their entireties.

TECHNICAL FIELD

[0002] Embodiments of the present disclosure relate to the field of
information technologies, and in particular, to a packet processing
method and apparatus.

BACKGROUND

[0003] To meet increasing network service demands of users, various new
network technologies, for example, layer-2 network technologies such as
an NVGRE (Network Virtualization using Generic Routing Encapsulation)
technology and a VXLAN (virtual extensible local area network)
technology, are generated. As new network technologies emerge, it is
inevitable that new network protocols constantly emerge to cooperate with
network services, but new network protocols introduce a new problem to
existing network services, that is, existing network service methods are
inapplicable to networks using new network protocols, for example, an
existing communication method cannot be used for communication between a
layer-2 network and a traditional network.

[0004] To solve the foregoing problem, program developers develop,
according to new network protocols, complete programs for implementing
network services, where the programs further need to be compatible with
networks that use traditional network protocols, and the networks that
use new network protocols and the networks that use traditional network
protocols can compatibly provide network services in coordination. In
other words, program developers need to develop a set of complete
programs for each network protocol used by a network, but many
development resources need to be invested to develop programs that
support a network protocol, and a development cycle is long, which
affects network service performance.

SUMMARY

[0005] Embodiments of the present disclosure provide a packet processing
method, which helps solve a problem in the prior art that development of
programs that support a new network protocol affects network service
performance.

[0006] According to a first aspect, an embodiment of the present
disclosure provides a packet processing method, including:

[0007] acquiring a first protocol identifier of a first to-be-processed
packet;

[0008] acquiring, from a rule profile repository, first protocol rule
profile information that corresponds to the first protocol identifier,
where the rule profile repository stores protocol rule profile
information of at least one protocol, protocol rule profile information
of each protocol in the at least one protocol is associated with a
protocol identifier of the protocol, the protocol rule profile
information of the protocol is used to describe a method and a parameter
for processing a packet, and the packet meets a standard stipulated by
the protocol; and

[0009] processing the first to-be-processed packet according to the first
protocol rule profile information.

[0010] According to a second aspect, an embodiment of the present
disclosure provides a packet processing apparatus, including:

[0011] a protocol identifier acquiring module, configured to acquire a
first protocol identifier of a first to-be-processed packet;

[0012] a rule profile acquiring module, configured to acquire, from a rule
profile repository, first protocol rule profile information that
corresponds to the first protocol identifier, where the rule profile
repository stores protocol rule profile information of at least one
protocol, protocol rule profile information of each protocol in the at
least one protocol is associated with a protocol identifier of the
protocol, the protocol rule profile information of the protocol is used
to describe a method and a parameter for processing a packet, and the
packet meets a standard stipulated by the protocol; and

[0013] a processing module, configured to process the first
to-be-processed packet according to the first protocol rule profile
information.

[0014] In the packet processing method and apparatus provided in the
embodiments of the present disclosure, during processing on a
to-be-processed packet, the packet may be processed according to protocol
rule profile information in a rule profile repository. That is, the
processing on the packet may not be limited by a protocol, a process of
processing the packet is simplified, and processing programs do not need
to be developed according to a protocol, thereby saving development
resources, and helping improve network service performance.

BRIEF DESCRIPTION OF THE DRAWINGS

[0015] To describe the technical solutions in the embodiments of the
present disclosure more clearly, the following briefly introduces the
accompanying drawings required for describing the embodiments.
Apparently, the accompanying drawings in the following description show
some embodiments of the present disclosure, and persons of ordinary skill
in the art may still derive other drawings from these accompanying
drawings without creative efforts.

[0016] FIG. 1 is a flowchart of Embodiment 1 of a packet processing method
according to the present disclosure;

[0017] FIG. 2 is a flowchart of Embodiment 2 of a packet processing method
according to the present disclosure;

[0018] FIG. 3 is a flowchart of Embodiment 3 of a packet processing method
according to the present disclosure;

[0019] FIG. 4 is a structural diagram of Embodiment 1 of a packet
processing apparatus according to the present disclosure;

[0020] FIG. 5 is a structural diagram of Embodiment 2 of a packet
processing apparatus according to the present disclosure; and

[0021] FIG. 6 is a schematic diagram of a hardware structure of a packet
processing apparatus according to an embodiment of the present
disclosure.

DETAILED DESCRIPTION

[0022] To make the objectives, technical solutions, and advantages of the
embodiments of the present disclosure clearer, the following clearly
describes the technical solutions in the embodiments of the present
disclosure with reference to the accompanying drawings in the embodiments
of the present disclosure. Apparently, the described embodiments are some
but not all of the embodiments of the present disclosure. All other
embodiments obtained by persons of ordinary skill in the art based on the
embodiments of the present disclosure without creative efforts shall fall
within the protection scope of the present disclosure.

[0023] FIG. 1 is a flowchart of Embodiment 1 of a packet processing method
according to the present disclosure. As shown in FIG. 1, the method in
this embodiment may be implemented by a packet processing apparatus, and
the processing apparatus may be implemented by means of hardware and/or
software, and is preferably disposed in a device that has functions of
receiving, sending, and processing data, to complete packet processing.
The method includes:

[0024] S101: Acquire a first protocol identifier of a first
to-be-processed packet.

[0025] According to different protocols, encapsulation methods, formats,
and parameters that correspond to the protocols and are used for a
to-be-processed packet that may be processed by the packet processing
apparatus are different; therefore, methods used by the packet processing
apparatus to acquire a protocol identifier are also different (for
example, in the prior art, different protocol identification programs are
developed for different protocols). In this embodiment, a method
universally applicable to at least one of the foregoing protocols may be
used to acquire a protocol identifier. For example, in a method, the
first to-be-processed packet may be read according to a read location
that is of a protocol identifier and that is described in protocol rule
profile information, which is in a rule profile repository, of at least
one protocol; and when a read result matches a parameter that is
described in the protocol rule profile information and corresponds to the
read location, the first protocol identifier of the first to-be-processed
packet is determined, where the rule profile repository is located in the
packet processing apparatus, and is used to store the protocol rule
profile information of the at least one protocol. For example, the rule
profile repository stores protocol rule profile information obtained by
parsing two types of protocols, where a read location that is of a
protocol identifier and that is described in a first type of protocol
rule profile information is the tenth byte after an Ethernet header
field, and a value of the protocol identifier is 0x11; and a read
location that is of a protocol identifier and that is described in a
second type of protocol rule profile information is the fourteenth byte
after the Ethernet header field, and a value of the protocol identifier
is 0x1F. The tenth byte and the fourteenth byte after the Ethernet header
field of the to-be-processed packet are separately read according to the
two types of protocol rule profile information. A result obtained by
reading the tenth byte after the Ethernet header field is 0x13, which
fails in matching a first protocol; however, a result obtained by reading
the fourteenth byte after the Ethernet header field is 0x1F, which
succeeds in matching a second protocol; and therefore, the protocol
identifier of the to-be-processed packet is a second protocol identifier
02.

[0026] In another method, the first protocol identifier of the first
to-be-processed packet is read from a preset location of the first
to-be-processed packet. That is, a preset location is reserved for each
packet with different encapsulation methods according to a uniform
standard, and is used to place a protocol identifier of the packet. For
example, the uniform standard stipulates that a preset location is the
first bit of a packet; and the packet processing apparatus reads the
first bit of the first to-be-processed packet when receiving the first
to-be-processed packet, and determines the first protocol identifier of
the first to-be-processed packet when a read result matches a parameter
that is described in protocol rule profile information and corresponds to
the preset location. For example, a result obtained by the packet
processing apparatus by reading the first bit of the first
to-be-processed packet is 0x1F, which matches a parameter that is
described in protocol rule profile information, which is stored in the
rule profile repository in the apparatus, of each protocol in at least
one protocol and corresponds to the first bit, and the first protocol
identifier of the first to-be-processed packet is determined. It may also
be understood that when the packet processing apparatus currently
supports only one protocol, the packet processing apparatus matches the
read result with a known parameter of the packet processing apparatus,
and determines the protocol identifier of the to-be-processed packet.

[0027] Flexibly, when the protocol rule profile information of each
protocol in the at least one protocol is associated with the parameter
that is described in the protocol rule profile information of the
protocol and used for acquiring the protocol identifier, during
determining of the first protocol identifier of the first to-be-processed
packet, the read result may be used as the protocol identifier. For
example, the protocol rule profile information of the second protocol is
stored in the rule profile repository in association with the parameter
0x1F described in the protocol rule profile information of the second
protocol, and when the result obtained by reading the fourteenth byte
after the Ethernet header field of the first to-be-processed packet is
consistent with 0x1F, it is determined that the first protocol identifier
of the first to-be-processed packet is 0x1F.

[0028] S102: Acquire, from a rule profile repository, first protocol rule
profile information that corresponds to the first protocol identifier.

[0029] The rule profile repository stores protocol rule profile
information of at least one protocol, the protocol rule profile
information of the at least one protocol is associated with a protocol
identifier of the at least one protocol, the protocol rule profile
information of the at least one protocol is used to describe a method and
a parameter for processing a packet, and the packet meets a standard
stipulated by the at least one protocol, where protocol rule profile
information of each protocol in the at least one protocol is written in a
uniform language that can be read by the packet processing apparatus.
That is, the rule profile repository stores the protocol rule profile
information of the at least one protocol, and when processing the first
to-be-processed packet, the packet processing apparatus processes the
first to-be-processed packet by using only first protocol rule profile
information that corresponds to the first protocol identifier acquired in
S101.

[0030] S103: Process the first to-be-processed packet according to the
first protocol rule profile information.

[0031] For example, processing performed by the packet processing
apparatus on the first to-be-processed packet is network communication,
and specific operations include learning a packet address, searching for
a forwarding table, re-encapsulating a packet, and sending the packet.
The multiple operations are already built in the packet processing
apparatus, and the first to-be-processed packet is processed in the
multiple operations according to the first protocol rule profile
information. The multiple operations may be understood as built-in
operations irrelevant to a protocol, that is, during processing on a
packet under each protocol, the packet is processed in each operation
according to protocol rule profile information that is acquired according
to a protocol identifier. A packet is processed according to each of the
foregoing operations in network communication under each protocol;
therefore, during specific processing on a packet under a protocol, the
packet is processed in the built-in operations according to a method and
a parameter that are described in protocol rule profile information,
which is in the rule profile repository, of the protocol.

[0032] Therefore, it may be understood that the built-in operations are
built in the packet processing apparatus; when needing to cope with a new
protocol, the packet processing apparatus parses content of the new
protocol to obtain protocol rule profile information when processing a
packet under the new protocol, and stores the protocol rule profile
information in the rule profile repository in the packet processing
apparatus; and during processing on the packet under the new protocol,
the packet may be processed in the built-in operations according to the
protocol rule profile information, which is in the rule profile
repository, of the new protocol.

[0033] In this embodiment, each protocol is parsed to obtain protocol rule
profile information, and the protocol rule profile information is stored
in a rule profile repository; and during processing on a packet, the
packet may be processed in built-in operations according to the protocol
rule profile information. That is, the processing on the packet may not
be limited by each protocol, a process of processing the packet is
simplified, and processing programs do not need to be developed according
to a protocol, thereby saving development resources, and helping improve
network service performance.

[0034] FIG. 2 is a flowchart of Embodiment 2 of a packet processing method
according to the present disclosure. As shown in FIG. 2, the method
includes:

[0035] S201: Receive protocol rule profile information, which is sent by a
network management device, of at least one protocol.

[0036] For example, when a packet processing apparatus is used for the
first time, the network management device sends corresponding protocol
rule profile information according to at least one protocol that needs to
be supported by the packet processing apparatus. For example, a packet
processing apparatus is to be used in a network environment in which two
protocols are used, and the network management device parses the two
protocols to obtain protocol rule profile information described in a
uniform language that can be read by the packet processing apparatus, and
sends the protocol rule profile information of the two protocols to the
packet processing apparatus. For another example, as new technologies
develop, a network that uses a third protocol emerges, but a current
packet processing apparatus is only applicable to two protocols that
emerge before the third protocol. To enable the packet processing
apparatus to be applicable to the network that uses the third protocol,
the network management device parses the third protocol to obtain
protocol rule profile information of the third protocol, and sends the
protocol rule profile information of the third protocol to the packet
processing apparatus, where the protocol rule profile information of the
third protocol is written in a language that is uniform with that of the
protocol rule profile information of the two protocols and can be read by
the packet processing apparatus. When receiving the protocol rule profile
information, which is sent by the network management device, of the at
least one protocol, the packet processing apparatus associates the
protocol rule profile information of the at least one protocol with a
protocol identifier of the at least one protocol, and stores the protocol
rule profile information of the at least one protocol in a rule profile
repository, which may also be understood as configuring, in the packet
processing apparatus, a method and a parameter that are needed for
processing a packet.

[0037] The protocol rule profile information that corresponds to the at
least one protocol is obtained by the network management device by
parsing content of the at least one protocol, and a method and a
parameter for processing a packet that meets a standard stipulated by
each protocol of the at least one protocol are stipulated in content of
the protocol. For example, a protocol stipulates a format and content of
a packet, and a method and a parameter that should be used for processing
a packet for which the protocol is used are obtained by parsing the
protocol, that is, protocol rule profile information of the protocol is
obtained.

[0038] S202: Receive a configuration instruction, which is sent by the
network management device, for the protocol rule profile information of
the at least one protocol.

[0039] The configuration instruction is a configuration command for the
protocol rule profile information of the at least one protocol, for
example, to enable or disable a piece of protocol rule profile
information, or set interworking between rule profile information under
two protocols.

[0040] It should be noted that S201 and S202 are optional steps, that is,
when the packet processing apparatus is used for the first time and not
configured with protocol rule profile information, or protocols that need
to be supported by the packet processing apparatus change, S201 and S202
are performed, that is, content of a related protocol is parsed to obtain
rule profile information of the protocol, and the rule profile
information is configured in the packet processing apparatus. For a
packet processing apparatus that is already configured with protocol rule
profile information and can process a packet, during processing on the
foregoing first to-be-processed packet, S201 and S202 do not need to be
performed, and S203 may be directly performed.

[0041] S203: Acquire a protocol identifier of a first to-be-processed
packet.

[0042] Specific content is described in S101 in Embodiment 1, and is not
described in detail herein again.

[0043] S204: Receive an enabling command that is sent by the network
management device and corresponds to a service type.

[0044] As network services become diversified, a same packet processing
apparatus may perform multiple types of services such as a network
communications service and a subscription information acquiring service,
and for different services, the packet processing apparatus processes
packets in different procedures. For example, for the network
communications service, a processing procedure thereof is sequentially
learning a packet address, searching for a forwarding table, and
re-encapsulating a packet, but a processing procedure of the subscription
information acquiring service is sequentially identifying a subscription
item symbol, searching for subscription information, subscription
information matching, and the like. The foregoing operations are
configured in the packet processing apparatus as different built-in
operations according to different service types; therefore, before
processing the first to-be-processed packet, the packet processing
apparatus needs to receive the enabling command that is sent by the
network management device and corresponds to a service type, that is, the
packet processing apparatus enables, according to the enabling command, a
service type for which the packet processing apparatus is currently
responsible. For example, two sets of built-in operations that correspond
to two service types are built in the packet processing apparatus, where
one set of built-in operations is responsible for the network
interworking service, and the other set of built-in operations is
responsible for the subscription information acquiring service; in a
current working environment, the packet processing apparatus is
responsible only for the network interworking service; and according to
the received enabling command that corresponds to a service type (for
performing network interworking), the network interworking service is
selected to be enabled (that is, the corresponding built-in operations
are enabled), and the subscription information acquiring service is
disabled (that is, the corresponding built-in operations are disabled).
However, it should be noted that when it is preset during initialization
that the packet processing apparatus is responsible only for one service
type (correspondingly, rule profile information corresponds only to this
service type), or after the packet processing apparatus already enables,
according to the enabling command sent by the network management device,
a service type for which the packet processing apparatus is responsible,
in a subsequent packet processing process, S204 may not be performed, and
S205 may be directly performed. In this embodiment, as an example, the
packet processing apparatus is responsible for processing multiple types
of services, and does not enable a service type for which the packet
processing apparatus is responsible, that is, S204 is performed. S204 may
be performed before S203, or may be performed after S203.

[0045] S205: Acquire, from a rule profile repository, first protocol rule
profile information that corresponds to a first protocol identifier.

[0046] Protocol rule profile information of each protocol in the protocol
rule profile information, which is stored in the rule profile repository,
of the at least one protocol is classified, according to at least one
service type, into at least one piece of protocol rule profile
sub-information, and the protocol rule profile sub-information is
associated with the service type, where the protocol rule profile
sub-information is used to describe a method and a parameter for
processing, based on the service type, the packet; therefore, when the
packet processing apparatus is responsible only for one service type, the
protocol rule profile sub-information may be equivalent to the protocol
rule profile information. In this embodiment, first protocol rule profile
sub-information, which corresponds to the service type, of the first
protocol rule profile information that corresponds to the first protocol
identifier is acquired from the rule profile repository according to the
first protocol identifier acquired in S203 and the enabling command,
which is received in S204, for enabling a service type.

[0047] S206: Process the first to-be-processed packet according to the
first protocol rule profile information.

[0048] For example, the first protocol rule profile information includes a
method for processing and a parameter that are used when a packet is
processed according to the network communications service, and the method
for processing includes at least one of the following methods:

[0049] identifying a protocol, learning an address, re-encapsulating,
acquiring a flow identifier, and determining a sending interface; and

[0050] optionally, the parameter includes at least one of the following
parameters:

[0051] a protocol identifier, a packet format, a source Internet Protocol
(IP) address, a destination IP address, a destination Media Access
Control (MAC) address, a source MAC address, a network identifier, and a
computing value for determining the sending interface.

[0052] Processing on the packet is completed according to the method for
processing and the parameter that are described in the protocol rule
profile information, which is described in S103, and is not described in
detail herein again.

[0053] In this embodiment, each protocol is parsed to obtain protocol rule
profile information, and the protocol rule profile information is stored
in a rule profile repository; and during processing on a packet, the
packet is processed according to the protocol rule profile information.
That is, the processing on the packet may not be limited by a protocol, a
process of processing the packet is simplified, and processing programs
do not need to be developed according to a protocol, thereby saving
development resources, and helping improve network service performance.

[0054] FIG. 3 is a flowchart of Embodiment 3 of a packet processing method
according to the present disclosure. As shown in FIG. 3, a service type
in this embodiment is network communication, and the method includes:

[0055] S301: Receive protocol rule profile information, which is sent by a
network management device, of at least one protocol, and a configuration
instruction for the protocol rule profile information of the at least one
protocol.

[0056] When a packet processing apparatus is used for the first time, the
network management device sends, according to protocols that need to be
supported by the packet processing apparatus, protocol rule profile
information that corresponds to the protocols. In this embodiment, the
protocols that need to be supported are, for example, a VXLAN protocol
and an NVGRE protocol, and the network management device parses content
of the VXLAN protocol and the NVGRE protocol to obtain protocol rule
profile information shown in Table 1, and stores the protocol rule
profile information in a rule profile repository of the packet processing
apparatus, where the protocol rule profile information may be identified
by a built-in operation, which is in the packet processing apparatus, for
performing the network communications service or other services.

[0057] In the two types of protocol rule profile information provided in
Table 1, [FORMAT] defines a keyword "eth/ip/udp/payload" and a packet
format that can be identified by a built-in operation, where eth
represents an Ethernet header field, ip represents an IP header field,
udp represents a UDP (User Datagram Protocol) header field, and payload
represents data payload; and proto is used as a keyword for defining a
format that cannot be identified by a built-in operation, that is, newly
added content (a character, an assigned value, a format, or the like)
that has not been identified by a built-in operation before appears in a
new protocol, and when the new protocol is parsed to obtain protocol rule
profile information, the keyword "proto" is used to define the newly
added content that appears in the new protocol. For example, a data
format that has not been identified by a built-in operation before is
newly added to the VXLAN protocol, where the data format includes 4
constants "08-00-00-00", a variable "VNI", and a constant "00", and when
the VXLAN protocol is parsed to obtain protocol rule profile information,
the keyword proto is used to define the data format "08-00-00-00-VNI-00".

[0058] "Packet: eth[1]-ip[1]-udp[1]-proto[1]-eth[2]-ip[2]-payload" defines
a format and a variable parameter that are used for packet
decapsulation/encapsulation, where eth[1] represents the first Ethernet
header field, eth[2] represents the second Ethernet header field, and
similarly, a value in square brackets after a keyword such as ip or udp
stipulates a specific field.

[0059] [FIELD] defines a variable parameter, where outer_dst_mac,
outer_src_mac, outer_src_ip, outer_dst_ip, ip_protocol, dst_port,
VNI/VSID, inner_dst_mac, inner_src_mac, inner_src_ip, and inner_dst_ip
are all variable parameters, and assigned values of the variable
parameters may be obtained according to a specific read method stipulated
in Position. For example, an assigned value of the variable outer_scr_mac
is obtained through reading according to "Position: eth[1]; Offset: 6;
Length: 6", that is, an offset of 6 bytes is made from the start position
of the eth[1] field, bytes from the seventh byte to the twelfth byte are
read, and a read result is used as the assigned value of the variable
outer_scr_mac.

[0060] [IDENTIFICATION] defines a protocol identification rule,
[OPERATION] defines a parameter needed by the network communications
service, FORWARD represents a sub-service used to control packet
receiving and sending, and LB represents a sub-service used to control
load balancing. dst_ip, dst_mac, and domain in "dst_ip: inner_dst_ip;
dst_mac: inner_dst_mac; domain: VNI" are parameters needed by a built-in
operation in the network communications service, and specific assigned
values of these parameters are determined by the assigned values of the
variable parameters such as inner_dst_ip, or the assigned values of the
parameters such as dst_ip, dst_mac, and domain may also be directly
stipulated in the protocol rule profile information.

[0061] In addition, Table 1 is only used as an example to describe the
protocol rule profile information, and a specific manner in which the
rule profile repository stores the protocol rule profile information, and
a character, a format, and the like that are used are not limited to
those in Table 1.

[0062] It should be noted that S301 is an optional step. That is, when the
packet processing apparatus is used for the first time and not configured
with the protocol rule profile information, S301 is performed. For a
packet processing apparatus that is already configured with protocol rule
profile information and can process a packet, during processing on a
first to-be-processed packet, S301 does not need to be performed, and
S302 may be directly performed.

[0063] S302: Receive a first to-be-processed packet.

[0064] When performing S302, the packet processing apparatus does not know
a service type relating to the received first to-be-processed packet, and
a standard of a protocol that the received first to-be-processed packet
meets.

[0065] S303: Acquire a protocol identifier of the first to-be-processed
packet.

[0066] Variable parameters that are defined in [IDENTIFICATION] in the
protocol rule profile information and needed to identify a protocol are
"ip_protocol, dst_port"; corresponding locations are read according to
corresponding read methods defined in "Position: udp[1]; Offset: 2;
Length: 2" and "Position: ip[1]; Offset: 9; Length: 1", an assigned value
0x11 is obtained for the variable parameter ip_protocol, and an assigned
value 0x2118 is obtained for the variable parameter dst_port; and 0x11
and 0x2118 successfully match the VXLAN protocol in the rule profile
repository, thereby obtaining a protocol identifier 01.

[0067] In this embodiment, read locations in the protocol rule profile
information of the VXLAN protocol and the NVGRE protocol are the same.
However, in an actual application, when the read locations in the two
types of protocol rule profile information may be different, the read
locations in the two types of protocol rule profile information are
separately read, and matching is subsequently performed between read
content and a corresponding protocol identifier.

[0068] S304: Receive an enabling command that is sent by the network
management device and corresponds to a service type.

[0069] A specific acquiring method is described in S204, and is not
described in detail herein again. However, it should be noted that when
it is preset during initialization that the packet processing apparatus
is responsible only for one service type, as an option, S304 may not be
performed and S305 may be directly performed according to an actual
condition. In this embodiment, the packet processing apparatus is
responsible for processing multiple types of services, that is, S304 is
performed, and S304 may be performed before S303, or may be performed
after S303.

[0071] In this embodiment, the packet processing apparatus may be
responsible for various service types; therefore, the acquiring protocol
rule profile information is determining, according to first protocol rule
profile information that corresponds to the protocol identifier 01,
protocol rule profile sub-information that corresponds to the service
type 0305, that is, protocol rule profile sub-information of service 1
under the VXLAN protocol.

[0072] S306: Process the first to-be-processed packet by using the
acquired protocol rule profile information.

[0073] As described in S103, built-in operations in the network
communications service include learning a packet address, searching for a
forwarding table, and re-encapsulating a packet.

[0074] Specific content is as follows:

[0075] a. Learn an address. Because the protocol identifier of the first
to-be-processed packet is 01, a destination MAC address (the assigned
value of the variable parameter inner_dst_mac), a destination IP address
(the assigned value of the variable parameter inner_dst_ip), a network
domain identifier (the assigned value of the variable parameter VNI), and
the like are acquired according to the corresponding first protocol rule
profile information. It may be understood that when the protocol
identifier of the first to-be-processed packet is 02, a destination MAC
address (the assigned value of the variable parameter inner_dst_mac), a
destination IP address (the assigned value of the variable parameter
inner_dst_ip), a network identifier (an assigned value of a variable
parameter VSID), and the like are acquired according to the corresponding
protocol rule profile information. Therefore, it can be learned that the
built-in operations are irrelevant to a protocol, and during processing
on a packet in each operation, only protocol rule profile information
corresponding to a protocol identifier that corresponds to the packet
needs to be acquired from the rule profile repository, and the packet can
be processed according to a corresponding method and parameter.

[0076] b. Search for a forwarding table. It is learned that VNI=6000 by
learning an address under the VXLAN protocol, and because the
configuration instruction stipulates that VNI=6000 and VSID=3000 indicate
a same forwarding domain, a destination is determined in a forwarding
table of a network that corresponds to VSID=3000 according to a
destination IP address and a destination MAC address.

[0077] c. Re-encapsulation. It is learned according to VSID=3000 that the
destination is a network that uses the NVGRE protocol; therefore, VXLAN
packet encapsulation of the packet is removed according to the protocol
rule profile information under the VXLAN protocol, and NVGRE packet
encapsulation is added according to the protocol rule profile information
under the NVGRE protocol. The VXLAN packet encapsulation of the packet is
removed according to a method, a parameter, and the packet format that
are described in [FORMAT] in the protocol rule profile information under
the VXLAN protocol, to acquire payload, and NVGRE packet encapsulation is
performed according to a method, a parameter, and the packet format that
are described in [FORMAT] in the protocol rule profile information under
the NVGRE protocol.

[0078] More preferably, in this embodiment, the packet processing
apparatus further has a function of controlling load balancing. During
sending of the first to-be-processed packet, the first to-be-processed
packet may be sent out through any physical interface that belongs to a
same logical interface, and to avoid additional overhead caused by packet
disorder, packets that belong to a same flow should be sent out through a
same physical interface. Therefore, in a process of performing step a to
step c, the following built-in operations that correspond to an LB
sub-service may also be performed:

[0079] d. Acquire a flow identifier. Corresponding to the protocol
identifier 01, according to "LB: para[1]: outer_src_ip; para[2]:
outer_dst_ip; para[3]: Name: inner_src_ip; para[4]: inner_dst_ip;
para[5]: VNI" in the protocol rule profile table, the assigned values of
the 5 variable parameters "outer_src_ip, outer_dst_ip, VNI, inner_src_ip,
inner_dst_ip" are used as flow identifiers for a hash operation. It may
be understood that when the packet corresponds to another protocol
identifier, when the operation of acquiring a flow identifier is
performed, assigned values of corresponding variable parameters are
acquired as stipulated in corresponding protocol rule profile
information. For example, a flow identifier acquiring method stipulated
in a protocol rule profile information that corresponds to a protocol
identifier is different from the method that corresponds to the protocol
identifier 01, and a parameter is also different, that is, it may be that
only three types of flow identifiers are needed.

[0080] e. Determine a sending interface.

[0081] An operation for determining a sending interface such as the hash
operation is performed, according to the corresponding protocol rule
profile information, on the five types of flow identifiers that are
obtained corresponding to the protocol identifier 01, and a physical
interface for sending a packet is determined according to a value
obtained by the operation.

[0082] S307: Send a packet.

[0083] The packet is sent to the destination on the network that uses the
NVGRE protocol.

[0084] In this embodiment, Embodiment 1 and Embodiment 2 are applied in a
network communications service, and in an actual environment, Embodiment
1 and Embodiment 2 are further applicable to another packet processing
service such as a subscription information acquiring service or a network
environment monitoring service. A program developer needs to develop only
built-in operations that match each service and are irrelevant to a
protocol, and when a packet for each protocol is processed, the packet is
processed in the built-in operations according to protocol rule profile
information.

[0085] In this embodiment, each protocol is parsed to obtain protocol rule
profile information, and the protocol rule profile information is stored
in a rule profile repository; and during processing on a packet, the
packet is processed in an operation according to the protocol rule
profile information. That is, the processing on the packet may not be
limited by a protocol, a process of processing the packet is simplified,
and processing programs do not need to be developed according to a
protocol, thereby saving development resources, and helping improve
network service performance.

[0086] FIG. 4 is a structural diagram of Embodiment 1 of a packet
processing apparatus according to the present disclosure. As shown in
FIG. 4, the apparatus includes:

[0087] a protocol identifier acquiring module 401, configured to acquire a
first protocol identifier of a first to-be-processed packet;

[0088] a rule profile acquiring module 402, configured to acquire, from a
rule profile repository, first protocol rule profile information that
corresponds to the first protocol identifier, where the rule profile
repository stores protocol rule profile information of at least one
protocol, the protocol rule profile information of the at least one
protocol is associated with a protocol identifier of the at least one
protocol, the protocol rule profile information of the at least one
protocol is used to describe a method and a parameter for processing a
packet, and the packet meets a standard stipulated by the at least one
protocol; and

[0089] a processing module 403, configured to process the first
to-be-processed packet according to the first protocol rule profile
information.

[0090] In this embodiment, the packet processing apparatus uses protocol
rule profile information that is stored in a rule profile repository and
corresponds to each protocol, and during processing on different packets
under each protocol, in a built-in operation that is not limited by a
protocol, the packets are processed according to protocol rule profile
information. That is, the processing on the packets may not be limited by
each protocol, processes of processing the packets under each protocol
are simplified, and processing programs do not need to be developed
according to each protocol, thereby saving development resources, and
helping improve network service performance.

[0091] FIG. 5 is a structural diagram of Embodiment 2 of a packet
processing apparatus according to the present disclosure. As shown in
FIG. 5, the protocol identifier acquiring module 401 is configured to
read the first to-be-processed packet according to a read location that
is of the first protocol identifier and that is described in the protocol
rule profile information, which is in the rule profile repository, of the
at least one protocol; and

[0092] when a read result matches a parameter that is described in the
protocol rule profile information and corresponds to the read location,
determine the first protocol identifier of the first to-be-processed
packet; or the protocol identifier acquiring module 401 is configured to
read the first to-be-processed packet from a preset location of the first
to-be-processed packet, and when a read result matches a parameter that
is described in the protocol rule profile information and corresponds to
the preset location, determine the first protocol identifier of the first
to-be-processed packet.

[0093] Further, the apparatus further includes a receiving module 404,
configured to receive an enabling command that is sent by a network
management device and corresponds to a service type; and

[0094] the rule profile acquiring module 402 is configured to acquire,
from the rule profile repository, first protocol rule profile
sub-information, which corresponds to the service type, of the first
protocol rule profile information that corresponds to the first protocol
identifier, where protocol rule profile information of each protocol in
the protocol rule profile information, which is stored in the rule
profile repository, of the at least one protocol is classified, according
to at least one service type, into at least one piece of protocol rule
profile sub-information, the protocol rule profile sub-information is
associated with the service type, and the protocol rule profile
sub-information is used to describe a method and a parameter for
processing, based on the service type, the packet.

[0095] Further, the receiving module 404 is further configured to receive
the protocol rule profile information that is sent by the network
management device and corresponds to the at least one protocol, where the
protocol rule profile information of the at least one protocol is
obtained by the network management device by parsing content of the at
least one protocol, and a method and a parameter for processing a packet
that meets a standard stipulated by each protocol of the at least one
protocol are stipulated in content of the protocol; and

[0096] the apparatus further includes a storage module 405, configured to
associate the protocol rule profile information of the at least one
protocol with the protocol identifier of the at least one protocol, and
store the protocol rule profile information of the at least one protocol
in the rule profile repository.

[0097] The receiving module 404 is further configured to receive a
configuration instruction, which is sent by the network management
device, for the protocol rule profile information of the at least one
protocol.

[0098] The method for processing includes at least one of the following
methods:

[0099] identifying a protocol, learning an address, re-encapsulating,
acquiring a flow identifier, and determining a sending interface; and

[0100] the parameter includes at least one of the following parameters:

[0101] a protocol identifier, a packet format, a source Internet Protocol
IP address, a destination IP address, a destination Media Access Control
MAC address, a source MAC address, a network identifier, and a computing
value for determining the sending interface.

[0102] The foregoing modules correspond to the foregoing method
embodiments, and details are not described herein again.

[0103] In this embodiment, a packet processing apparatus uses protocol
rule profile information that is stored in a rule profile repository and
corresponds to each protocol, and during processing on a packet, the
packet is processed according to the protocol rule profile information.
That is, the processing on the packet may not be limited by a protocol, a
process of processing the packet is simplified, and processing programs
do not need to be developed according to a protocol, thereby saving
development resources, and helping improve network service performance.

[0104] FIG. 6 is a schematic diagram of a hardware structure of a packet
processing apparatus according to an embodiment of the present
disclosure. As shown in FIG. 6, the apparatus includes: a processor 601,
a memory 602, a communications interface 603, a bus 604, a receiver 605,
and a transmitter 606.

[0105] The processor 601, the memory 602, and the communications interface
603 are connected to each other by using the bus 604, and the bus 604 may
be an ISA bus, a PCI bus, an EISA bus, or the like. The bus may be
classified into an address bus, a data bus, a control bus, and the like.
For ease of representation, in FIG. 6, only one thick line is used to
represent the buses, which does not indicate that there is only one bus
or only one type of bus.

[0106] The memory 602 is configured to store a program. The program may
include program code, and the program code includes a computer operation
instruction. The memory 602 may include a high-speed RAM memory, and may
further include a non-volatile memory, for example, at least one magnetic
disk memory.

[0107] The processor 601 executes the program stored in the memory 602,
and is configured to acquire a first protocol identifier of a first
to-be-processed packet; and

[0108] is further configured to acquire, from a rule profile repository,
first protocol rule profile information that corresponds to the first
protocol identifier, where the rule profile repository stores protocol
rule profile information of at least one protocol, the protocol rule
profile information of the at least one protocol is associated with a
protocol identifier of the at least one protocol, the protocol rule
profile information of the at least one protocol is used to describe a
method and a parameter for processing a packet, and the packet meets a
standard stipulated by the at least one protocol. The processor 601
processes the first to-be-processed packet according to the first
protocol rule profile information.

[0109] Further, the processor 601 is configured to read the first
to-be-processed packet according to a read location that is of the first
protocol identifier and that is described in the protocol rule profile
information, which is in the rule profile repository, of the at least one
protocol; and

[0110] when a read result matches a parameter that is described in the
protocol rule profile information and corresponds to the read location,
determine the first protocol identifier of the first to-be-processed
packet; or

[0111] the processor 601 is configured to read the first to-be-processed
packet from a preset location of the first to-be-processed packet, and
when a read result matches a parameter that is described in the protocol
rule profile information and corresponds to the preset location,
determine the first protocol identifier of the first to-be-processed
packet.

[0112] The receiver 605 is further configured to receive an enabling
command that is sent by a network management device and corresponds to a
service type; and the processor 601 is configured to acquire, from the
rule profile repository, first protocol rule profile sub-information,
which corresponds to the service type, of the first protocol rule profile
information that corresponds to the first protocol identifier, where
protocol rule profile information of each protocol in the protocol rule
profile information, which is stored in the rule profile repository, of
the at least one protocol is classified, according to at least one
service type, into at least one piece of protocol rule profile
sub-information, the protocol rule profile sub-information is associated
with the service type, and the protocol rule profile sub-information is
used to describe a method and a parameter for processing, based on the
service type, the packet.

[0113] Further, the receiver 605 is further configured to receive the
protocol rule profile information that is sent by the network management
device and corresponds to the at least one protocol, where the protocol
rule profile information of the at least one protocol is obtained by the
network management device by parsing content of the at least one
protocol, and a method and a parameter for processing a packet that meets
a standard stipulated by each protocol of the at least one protocol are
stipulated in content of the protocol; and

[0114] the memory 602 is configured to associate the protocol rule profile
information of the at least one protocol with the protocol identifier of
the at least one protocol, and store the protocol rule profile
information of the at least one protocol in the rule profile repository.

[0115] More specifically, the receiver 605 is further configured to
receive a configuration instruction, which is sent by the network
management device, for the protocol rule profile information of the at
least one protocol.

[0116] It should be noted that the method for processing includes at least
one of the following methods: identifying a protocol, learning an
address, re-encapsulating, acquiring a flow identifier, and determining a
sending interface; and

[0117] the parameter includes at least one of the following parameters:

[0118] a protocol identifier, a packet format, a source Internet Protocol
IP address, a destination IP address, a destination Media Access Control
MAC address, a source MAC address, a network identifier, and a computing
value for determining the sending interface.

[0119] When the processor 601 completes processing on the first
to-be-processed packet, the transmitter 606 sends, according to a
specific service type, a processed packet.

[0120] In this embodiment, a processor uses protocol rule profile
information that is stored in a rule profile repository and corresponds
to each protocol, and during processing on a packet, the packet is
processed according to the protocol rule profile information. That is,
the processing on the packet may not be limited by a protocol, a process
of processing the packet is simplified, and processing programs do not
need to be developed according to a protocol, thereby saving development
resources, and helping improve network service performance.

[0121] Persons of ordinary skill in the art may understand that all or
part of the steps of the method embodiments may be implemented by a
program instructing relevant hardware. The program may be stored in a
computer-readable storage medium. When the program runs, the steps of the
method embodiments are performed. The foregoing storage medium includes:
any medium that can store program code, such as a ROM, a RAM, a magnetic
disk, or an optical disc.

[0122] Finally, it should be noted that the foregoing embodiments are
merely intended to describe the technical solutions of the present
disclosure, but not to limit the present disclosure. Although the present
disclosure is described in detail with reference to the foregoing
embodiments, persons of ordinary skill in the art should understand that
they may still make modifications to the technical solutions described in
the foregoing embodiments or make equivalent replacements to part of or
all technical features thereof, without departing from the scope of the
technical solutions of the embodiments of the present disclosure.