WO2014205680A1 - 报文转发系统、设备和方法 - Google Patents
报文转发系统、设备和方法 Download PDFInfo
- Publication number
- WO2014205680A1 WO2014205680A1 PCT/CN2013/078012 CN2013078012W WO2014205680A1 WO 2014205680 A1 WO2014205680 A1 WO 2014205680A1 CN 2013078012 W CN2013078012 W CN 2013078012W WO 2014205680 A1 WO2014205680 A1 WO 2014205680A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- flow entry
- message
- user information
- switch
- flow
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 69
- 230000008569 process Effects 0.000 claims abstract description 34
- 238000012217 deletion Methods 0.000 claims description 72
- 230000037430 deletion Effects 0.000 claims description 72
- 238000012986 modification Methods 0.000 claims description 53
- 230000004048 modification Effects 0.000 claims description 53
- 230000000875 corresponding effect Effects 0.000 description 47
- 230000004044 response Effects 0.000 description 19
- 238000012545 processing Methods 0.000 description 14
- 230000009471 action Effects 0.000 description 10
- 230000006870 function Effects 0.000 description 9
- 238000010586 diagram Methods 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 230000006399 behavior Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/25—Routing or path finding in a switch fabric
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0895—Configuration of virtualised networks or elements, e.g. virtualised network function or OpenFlow elements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/64—Hybrid switching systems
- H04L12/6418—Hybrid transport
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
- H04L41/0813—Configuration setting characterised by the conditions triggering a change of settings
- H04L41/0816—Configuration setting characterised by the conditions triggering a change of settings the condition being an adaptation, e.g. in response to network events
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/34—Signalling channels for network management communication
- H04L41/342—Signalling channels for network management communication between virtual entities, e.g. orchestrators, SDN or NFV entities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/74—Address processing for routing
- H04L45/745—Address table lookup; Address filtering
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/2866—Architectures; Arrangements
- H04L67/30—Profiles
- H04L67/306—User profiles
Definitions
- the present invention relates to communication technologies, and in particular, to a message forwarding system, device, and method. Background technique
- OpenFlow transforms traditional physical fixed hardware into a dynamically variable Software Defined Network (SDN), which separates the control plane from the forwarding plane.
- SDN Software Defined Network
- the components of the OpenFlow switch (Switch) include Flow Table, Secure Channel, and OpenFlow Protocol (OF Protocol).
- the flow table stores the core information to implement the functions of searching, forwarding, statistic, and filtering.
- the flow table includes multiple flow entries. One flow entry corresponds to one forwarding rule.
- the packets entering the switch pass the lookup flow table. Get the destination port forwarded.
- the OpenFlow switch connects to an external controller (Controller) through a Secure Channel through the OpenFlow protocol, and the controller queries and manages the flow table.
- Controller Controller
- the control plane of the gateway installs the flow table corresponding to the attached user on the forwarding plane of the gateway, so as to forward the data packet.
- the MME sends a create session request message to the gateway control plane; the gateway control plane encapsulates the user information in the create session request in a flow table and sends it to the gateway forwarding plane, such as the user's tunnel endpoint identifier ( The tunnel end point ID (TEID) is forwarded.
- the gateway forwards the response message to the gateway control plane return flow table, and then forwards the packet according to the flow table.
- the gateway control plane feeds back the MME to create a session response message. , indicating that the flow table was created successfully.
- each bearer that generates an attached user will create a flow entry on the gateway forwarding plane.
- the number of flow entries on the gateway forwarding plane is proportional to the number of attached users.
- the current gateway The number of flow entries supported by the forwarding plane is relatively small, and the current There is an order of magnitude difference in user demand.
- the number of flow entries is also not conducive to the hardware implementation of the forwarding plane, resulting in reduced performance of the forwarding plane.
- the embodiment of the invention provides a packet forwarding system, device and method, which solves the technical problem that the number of flow entries on the gateway forwarding plane is large, and improves the performance of the forwarding plane.
- an embodiment of the present invention provides a packet forwarding system, including: a gateway control plane entity and a gateway forwarding plane entity, where the gateway forwarding entity includes a mobile agent and a switch;
- the gateway control plane entity is configured to send, in the process of establishing a bearer, a user information establishment message to the mobile agent, where the user information establishment message includes the user information of the bearer, and the mobile agent is configured to receive the After the user information is established, the user information of the bearer is saved;
- the switch after receiving the user plane packet, does not find the flow entry matching the user plane packet in the local flow table, and sends the matching to the mobile agent including the user plane packet a flow entry request of the parameter;
- the mobile agent is further configured to: after receiving the request of the flow entry, find the user information corresponding to the matching parameter in the user plane packet in the locally saved user information And generating, according to the found user information, a flow entry that matches the user plane packet, and sending the generated flow entry to the switch;
- the switch is further configured to save, in the flow table, a flow entry sent by the mobile agent, and forward the user plane packet according to an instruction set in a flow entry sent by the mobile proxy.
- the embodiment of the present invention further provides a switch, where the gateway forwarding entity includes a mobile agent and the switch;
- a memory for storing a flow entry
- a transceiver configured to receive user plane messages
- a processor configured to send, to the mobile agent, a flow entry request including a matching parameter in the user plane packet when searching, in the flow table, a flow entry that matches the user plane packet;
- the transceiver is further configured to: when the flow table is not found in the flow table, the processor sends a flow that includes matching parameters in the user plane packet to the mobile agent. Entry request
- the transceiver is further configured to: find, by the mobile agent, user information saved locally Receiving the flow entry sent by the mobile agent in the case that the user information in the user plane packet matches the user information corresponding to the parameter;
- the processor is further configured to save, in the flow table, a flow entry that is sent by the mobile agent, where the transceiver is further configured to forward the user according to an instruction set in a flow entry sent by the mobile proxy. Face message.
- an embodiment of the present invention provides a mobile agent, where the gateway forwarding entity includes the mobile agent and a switch, where the mobile agent includes:
- a transceiver configured to receive, by the gateway control plane entity, a user information establishment message, where the user information establishment message includes the bearer user information;
- a processor configured to save, in the memory, the user information of the bearer in the user information setup message
- the transceiver is further configured to: when the switch finds a flow entry that matches the user plane packet in the local flow table, the switch receives the flow entry that matches the user plane packet in the local flow table, and receives the A flow entry request sent by the switch, including the matching parameter in the user plane packet;
- the processor is further configured to: in the memory, search for user information corresponding to the matching parameter in the user plane packet, and if the user information corresponding to the matching parameter in the user plane packet is found, according to the The discovered user information generates a flow entry that matches the user plane packet; the transceiver is further configured to send the generated flow entry to the switch.
- an embodiment of the present invention provides a packet forwarding method, where a gateway user plane entity includes a switch and a mobile agent, and the method includes:
- the switch After receiving the user plane packet, the switch searches the local flow table for the flow entry matching the user plane packet; the flow table entry in the flow table includes the matching domain and the instruction set;
- the switch When the switch does not find the flow entry matching the user plane packet in the local flow table, the switch sends a flow entry request including the matching parameter in the user plane packet to the mobile agent;
- the switch receives and saves the flow entry sent by the mobile agent;
- the switch forwards the user plane message according to the instruction set in the flow entry sent by the mobile agent.
- an embodiment of the present invention provides a method for establishing a bearer, a gateway user plane entity package.
- switches and mobile agents including:
- the mobile agent receives and stores a user information setup message sent by the gateway control plane entity, where the user information setup message includes the bearer user information;
- the mobile agent receives the flow entry request that is sent by the switch and includes the matching parameter in the user plane packet;
- the flow entry includes a matching domain and an instruction set;
- the mobile agent locally searches for user information corresponding to the matching parameter in the user plane message
- the flow entry matching the user plane packet is generated according to the found user information, and the generated flow table is sent to the switch. item.
- the switch located on the gateway forwarding plane sends a flow entry to the mobile agent located on the gateway forwarding plane if the flow entry matching the user plane packet is not found locally.
- the request is obtained, and the entry matching the user plane packet is obtained from the mobile agent.
- the mobile agent dynamically generates a flow entry matching the user plane packet according to the found user information corresponding to the matching parameter in the user plane packet, and sends the flow entry to the switch, and the switch saves the mobile agent to send.
- the flow entry is forwarded according to the received flow entry.
- the user information corresponding to the matching parameter in the user plane packet is the user information of the bearer established for the attached user, and is sent by the gateway control plane entity to the mobile agent in the process of establishing a bearer for the attached user.
- the flow entry sent by the mobile agent to the switch is a flow entry that matches the user plane packet received by the switch. Therefore, the flow entry saved locally by the switch is a flow entry of the service, that is, an attached user of the service.
- the flow entry instead of all the flow entries of the attached user, reduces the number of flow entries saved by the switch and improves the performance of the switch located on the gateway forwarding plane.
- FIG. 1 is a schematic structural diagram of a message forwarding system according to an embodiment of the present invention
- FIG. 2 is a flowchart of a method for creating a bearer according to an embodiment of the present invention
- FIG. 3 is a flowchart of a packet forwarding method according to an embodiment of the present invention.
- FIG. 4 is a flowchart of another packet forwarding method according to an embodiment of the present invention.
- FIG. 5 is a flowchart of a method for modifying a bearer according to an embodiment of the present invention.
- FIG. 6 is a flowchart of a method for deleting a bearer according to an embodiment of the present invention.
- FIG. 7 is a schematic structural diagram of a switch according to an embodiment of the present invention.
- FIG. 8 is a schematic structural diagram of a mobile agent according to an embodiment of the present invention. detailed description
- the embodiment of the present invention adds a mobile proxy entity on the gateway forwarding plane, and is responsible for maintaining content related to the user's mobile behavior, such as content related to creating a bearer, deleting a bearer, or modifying a bearer, etc., and the switch on the gateway forwarding plane only responsible for forwarding packets, the number of flow entries saved on the MS is related to the number of attached users currently in the service, regardless of the current number of attached users.
- Flow table entries contain match field, counters, and instructions. Different vendors can design different flow tables according to their needs.
- the matching fields of the flow entry include the input interface, the source IP address of the packet, the destination IP address, and the TEID. Currently, there are 36 matches in the matching domain.
- the flow counter's counter statistics information such as active entries, number of lookups, number of sent packets, etc., can be maintained for each flow table, each flow, each port, and each queue.
- the instruction set of the flow entry indicates the instruction that the packet matching the flow entry should execute.
- the instruction set of a flow entry is divided into Required Actions and Optional Actions.
- the three mandatory actions are: Forwarding the flow to a given port; Encapsulating and forwarding the packet of this flow to the controller on the switch, the controller determines whether to add a flow to the flow table; discards the message.
- Optional actions include: setting the queue id of the packet, specifying which queue the packet ouput to the port; supporting VLAN and MPLS tag; setting or modifying the value of different header fields; modifying IPv4 TTL, IPv6 Hop Limit, or MPLS TTL.
- FIG. 1 is a schematic structural diagram of a packet forwarding system according to an embodiment of the present invention.
- the system provided in this embodiment includes: a gateway control plane entity 11 and a gateway forwarding plane entity 12.
- the gateway forwarding plane entity 12 includes a mobile agent 121 and a switch 122.
- the mobile agent 121 and the switch 122 may be different logical modules on the gateway forwarding plane entity 12, and may be deployed in the same physical location or in different physical locations.
- the gateway control plane entity 11 is configured to send a user information establishment message to the mobile agent during the establishment of the bearer, where the user information establishment message includes the user information of the bearer.
- the gateway control plane entity sends the user information of the bearer to the mobile agent located on the forwarding plane of the gateway in the process of establishing the bearer for the attached user, instead of sending the flow entry of the bearer to the mobile agent.
- the flow entry includes a matching domain and an instruction set, where the matching domain includes user information.
- An attached user has one or more bearers. Generally, one bearer has two flow entries in the flow table, which correspond to the uplink packet and the downlink packet.
- the bearer user information includes at least an International Mobile Subscriber Identification Number (IMSI, Mobile Subscriber International Integrated Service Digital Network (MSISDN), TEID, IP address, and access point). Information such as Access Point Name (APN).
- IMSI International Mobile Subscriber Identification Number
- MSISDN Mobile Subscriber International Integrated Service Digital Network
- TEID Mobile Subscriber International Integrated Service Digital Network
- IP address IP address
- access point IP address
- API Access Point Name
- the mobile agent 121 is configured to establish a message according to the user information, and save the user information.
- the user status may also be included in the user information establishment message.
- the mobile agent After receiving the user information establishment message, the mobile agent saves the user information therein.
- the gateway control plane entity sends a user information establishment message to the mobile agent, so the mobile agent can save all the carried user information.
- the primary key value of the user information saved in the mobile agent can be IMSI.
- the switch 122 after receiving the user plane packet, does not find the flow entry matching the user plane packet in the local flow table, and sends the message to the mobile agent including the user plane packet.
- the switch 122 is further configured to: after receiving the user plane packet, when the flow table finds the flow entry matching the user information, forwarding, according to the instruction set in the flow entry matching the user information The user plane message.
- the matching parameters in the user plane packet may include information such as a source IP address, a destination IP address, and a TEID.
- the switch locally stores a flow table. After receiving the user plane packet, the switch matches the matching parameters such as the IP address and the TEID in the user plane packet with the matching field of each flow entry in the flow table. If there is a flow table matching the matching parameter in the flow table, If the flow entry is matched with the user plane packet, the flow entry matching the user plane packet is not found. When the switch finds a flow entry matching the current user plane packet, it forwards the user plane packet according to the instruction set in the flow entry.
- the mobile agent 121 is further configured to save locally after receiving the flow entry request. If the user information corresponding to the matching parameter in the user plane packet is found in the user information, the flow entry matching the user plane packet is generated according to the found user information, and the generated Flow entry.
- the switch 122 is further configured to save the flow entry sent by the mobile agent in the flow table, and forward the user plane message according to the instruction set in the flow entry sent by the mobile agent.
- the switch When the switch does not find the flow entry matching the user plane packet, it sends a flow entry request to the mobile agent. After receiving the flow entry request, the mobile agent searches for the user information corresponding to the matching parameter in the user plane packet in the locally saved user information. When the mobile agent finds the corresponding user information locally, the mobile agent dynamically generates a flow entry matching the user plane packet according to the found user information, and sends the generated flow entry to the switch.
- the flow table entry includes the matching domain and the instruction set, and the instruction set consists of actions.
- the matching field includes information such as an IP address and a TEID in the found user information, and the action corresponding to the matching domain is to obtain a corresponding switch port according to the APN in the found user information.
- Action refers to which port the user plane message is sent to the switch.
- the MA maintains the mapping between the APN and the switch port in the user information.
- the APN obtains the corresponding switch port according to the found user information, and acts as the corresponding action in the matching domain.
- the user information corresponding to the matching parameter in the user plane packet further includes a user state
- the flow entry generated according to the user information may further include a user state, and when the user is in the idle state, the corresponding flow entry is Cannot be used. When the show is in the connected state, the corresponding flow entry can be used.
- the switch After receiving the flow entry sent by the mobile agent, the switch saves the local flow table and forwards the currently received user plane packet according to the instruction set in the flow entry. In the initial stage, the flow table of the switch is empty and there is no flow entry.
- the switch processes the received user plane packet, if the local flow table does not save the flow entry matching the current user plane packet, the switch obtains the flow entry from the mobile agent and forwards the current user plane packet according to the flow entry.
- the switch also saves the flow entry obtained from the mobile agent, so that when receiving other user plane packets of the same bearer, the switch can find the matching flow entry in the local flow table without obtaining the flow from the mobile agent. Entry.
- the flow entry obtained by the switch from the mobile agent is a flow entry matching the current user plane packet.
- the flow entry saved locally by the switch is a flow entry of the attached user with the service, and is not saved.
- the mobile agent 121 is further configured to: after receiving the flow entry request, if the user information corresponding to the matching parameter in the user plane packet is not found locally, to the switch A flow entry is sent to obtain a failure message, and a flow entry entry failure message is sent to the switch.
- the switch 122 is further configured to discard the user plane packet after receiving the flow entry failure message.
- the mobile agent If the mobile agent does not find the user information corresponding to the matching parameter in the user plane packet, the mobile agent sends a flow entry failure message to the switch, and the switch receives the flow entry failure message to discard the packet. .
- the switch is further configured to periodically collect statistics on the traffic entries of the flow entries, and delete the flow entries with zero access.
- the switch that is located on the gateway forwarding plane receives the user plane packet
- the switch moves to the mobile agent located on the gateway forwarding plane.
- a flow entry request is sent, and an entry matching the user plane packet is obtained from the mobile agent.
- the mobile agent dynamically generates a flow entry matching the user plane packet according to the found user information corresponding to the matching parameter in the user plane packet, and sends the flow entry to the switch, and the switch saves the mobile agent to send.
- the flow entry is forwarded according to the received flow entry.
- the user information corresponding to the matching parameter in the user plane packet is the user information of the bearer established for the attached user, and is sent by the gateway control plane entity to the mobile agent in the process of establishing a bearer for the attached user.
- the flow entry sent by the mobile agent to the switch is a flow entry that matches the user plane packet received by the switch. Therefore, the flow entry saved locally by the switch is a flow entry of the service, that is, an attached user of the service.
- the flow entry instead of all the flow entries of the attached user, reduces the number of flow entries saved by the switch and improves the performance of the switch located on the gateway forwarding plane.
- the gateway control plane entity further instructs the mobile agent to modify the user of the bearer.
- the mobile agent also instructs the switch to delete or modify the flow entry that matches the user information.
- the gateway control plane entity is further configured to send, in the process of modifying the bearer, a user information modification message to the mobile agent, where the user information modification message includes an index value of the carried user information.
- the mobile agent is further configured to modify the user information of the bearer according to the user information.
- the mobile agent can also enable the switch to modify the flow entry matching the user information of the bearer in the local flow table. details as follows:
- the mobile agent is further configured to modify the user information of the bearer according to the user information, generate an instruction set according to the modified user information, and send a flow entry modification message to the mobile switch, where the flow entry The modification message includes the generated instruction set and the value of the matching field in the flow entry to be modified; or, the user information of the bearer is modified according to the bearer modification message. And sending, by the mobile switch, a flow entry deletion message, where the flow entry deletion message includes a value of a matching domain in the flow entry to be deleted.
- the switch is further configured to: according to the flow entry deletion message, delete the flow entry indicated by the flow entry deletion message in the flow table; or modify the message according to the flow entry, The instruction set in the flow entry indicated by the flow entry deletion message is modified in the flow table.
- the mobile agent no longer needs to save the user information of the bearer.
- the gateway control plane entity also instructs the mobile agent to delete the bearer.
- User information carried, and the mobile agent also instructs the switch to delete the flow entry that matches the user information.
- the gateway control plane entity is further configured to send, in the process of deleting the bearer, a user information deletion message to the mobile agent, where the user information deletion message includes an index value of the user information of the bearer.
- the mobile agent is further configured to: delete the message according to the user information, delete the user information of the bearer, and send a flow entry deletion message to the switch, where the flow entry deletion message includes a flow entry to be deleted. Match the value of the domain.
- the switch is further configured to: after receiving the flow entry deletion message, delete the flow entry indicated by the flow entry deletion message in the flow table.
- FIG. 2 is a flowchart of a method for creating a bearer according to an embodiment of the present invention.
- a Mobile Controller includes a Mobile Management Entity (MME) and a GW-C.
- the GW-C is a gateway control plane entity, and the gateway forwarding plane entity includes a mobile proxy ( Mobile Agent (MA) and Mobile Switch (MS).
- the process of creating a bearer for a user is also a user access process.
- the method provided in this embodiment includes: Step 21: The MME sends a create session request to the GW-C.
- the create session request can be a Create Session Report message. Create a session request to create a host for the user.
- the information contained in the create session request includes IMSI, MSISDN, TEID, IP address, APN, etc.
- Other information includes PDN GW address, RAT type, default EPS bearer QoS, PDN type, APN-AMBR, EPS bearer ID, and protocol configuration.
- Optional information such as PCO and switching instructions.
- Step 22 The GW-C creates a bearer for the user according to the create session request.
- Step 23 The GW-C generates the user information of the bearer according to the information contained in the create session request, and sends a user information setup message to the MA, including the user information of the bearer.
- the user information establishment message may be a customized User Profile Indicate message.
- the user information generated by the GW-C according to the information contained in the created session request for the bearer includes at least information such as IMSI, MSISDN, TEID, IP address, and APN.
- the message between the GW-C and the MA may be a modified OpenFlow message, and the message between the GW-C and the MA may also be carried by the GTP message, or may be a customized message format, which is not limited by the present invention.
- Step 24 The MA saves the user information sent by the GW-C, and replies to the GW-C to establish a response message.
- the setup response message may be a customized User Profile Indicate Response message.
- Step 25 The GW-C replies to the MME to create a session response.
- the create session response can be a Create Session Response message.
- the MC When the MC establishes a bearer for the attached user, the user information of the bearer of the attached user is sent to the MA.
- FIG. 3 is a flowchart of a packet forwarding method according to an embodiment of the present invention.
- the execution subject of this embodiment is an MS located on the forwarding plane of the gateway.
- the method provided in this embodiment includes:
- Step 31 After receiving the user plane packet, the MS sends a flow entry request including the matching parameter in the user plane packet to the MA when the user does not find the flow entry matching the user plane packet.
- Step 32 When the user searches for the user information corresponding to the matching parameter in the user plane packet, the MA sends the flow entry matching the user information to the MS.
- Step 33 The MS saves the flow entry sent by the mobile agent, and forwards the user plane packet according to the flow entry sent by the MA.
- the matching parameters in the user plane packet may include information such as a source IP address, a destination IP address, and a TEID.
- the MS matches the matching parameters such as the IP address and the TEID in the user plane packet with the matching field of each flow entry in the flow table. If there is a flow table matching the matching parameter in the flow table, If the flow entry is matched with the user plane packet, the flow entry matching the user plane packet is not found.
- the MS finds the flow entry matching the current user plane packet, it forwards the user plane packet according to the instruction set in the flow table entry.
- the MS locally saves the flow table.
- the flow table In the initial stage, the flow table is empty.
- the switch also saves the flow entry obtained from the mobile agent, so that when receiving other user plane packets of the same bearer, the switch can find the matching flow entry in the local flow table without obtaining the flow from the mobile agent. Entry.
- the flow entry obtained by the switch from the mobile agent is a flow entry matching the current user plane packet. Therefore, the flow entry saved locally by the switch is a flow entry of the attached user with the service, and is not saved.
- a flow table for attached users without services. Therefore, the switch does not store all the flow entries that are attached to the household.
- FIG. 4 is a flowchart of another packet forwarding method according to an embodiment of the present invention. As shown in FIG. 4, the method provided in this embodiment includes:
- Step 41 The MS receives the user plane message.
- Step 42 The MS searches for a flow entry matching the user plane packet in the local flow table. If you find step 43, go to step 49.
- Step 43 When the flow entry that matches the user plane packet is not found locally, the MS sends a flow entry request including the matching parameter in the user plane packet to the mobile agent.
- Step 44 The MA searches the locally saved user information for the user information corresponding to the matching parameter in the user plane packet. If you find step 45, go to step 47.
- the user information saved by the MA is in one-to-one correspondence with the bearer, and one bearer corresponds to one user information.
- Step 45 In the case that the user information corresponding to the matching parameter in the user plane packet is found in the locally saved user information, the MA generates the user plane according to the found user information. A flow entry matching the packet, and sending the flow entry matching the user plane packet to the MS.
- the mobile agent finds the corresponding user information locally, the mobile agent dynamically generates a flow entry matching the user plane packet according to the found user information, and sends the generated flow entry to the switch.
- the flow table entry includes a matching field and an instruction set, and the instruction set is composed of actions.
- the matching field includes information such as an IP address and a TEID in the found user information, and the action corresponding to the matching domain is to obtain a corresponding switch port according to the APN in the found user information.
- Action refers to which port the user plane message is sent to the switch.
- the MA maintains the mapping between the APN and the switch port in the user information. When the MA generates the finger set of the flow entry, the corresponding switch port is obtained according to the APN in the found user information, and the corresponding action is performed in the matching domain.
- Step 46 The MS saves the flow entry corresponding to the user plane packet sent by the MA, and forwards the user plane packet according to the flow entry matching the user plane packet.
- Step 47 If the MA does not find the user information corresponding to the matching parameter in the user plane packet, the MA sends a flow entry acquisition failure message to the MS.
- Step 48 After receiving the flow entry failure message sent by the MA, the MS discards the user plane packet.
- Step 49 The MS forwards the user plane packet according to the instruction set in the flow entry matching the matching user plane packet.
- the MS After receiving the user plane packet, the MS searches for the flow entry matching the user plane packet in the local flow table. If the matching flow entry is found, the MS forwards the user plane packet according to the found flow entry. Otherwise, The MA obtains the dynamically generated flow entry, saves the flow entry obtained from the MA, and forwards the user plane packet according to the obtained flow entry.
- the MS-preserved flow entry is a flow entry that matches the received user-side packet. Therefore, the MS saves the flow entry of the attached user with the service, instead of the flow entry of all attached users.
- FIG. 5 is a flowchart of a method for modifying a bearer according to an embodiment of the present invention. As shown in FIG. 5, the method provided in this embodiment includes:
- Step 51 The MME sends a modify bearer request to the GW-C.
- Step 52 After modifying the bearer according to the modified bearer request, the GW-C generates new user information of the bearer according to the information included in the modify bearer request, and sends a user information modification message to the MA, where the user information modification message includes the bearer user.
- the user information modification message may be a customized User Profile Indicate Message.
- Step 53 The MA modifies the user information of the bearer according to the user information modification message.
- the MA modifies the user information of the bearer information included in the message according to the user information, and locally finds the user information to be modified, and modifies the found user information into the new user information of the bearer.
- Step 54 The MA replies to the GW-C with a modification response message.
- the modification response message may be a customized User Profile Indicate Response message.
- Step 55 The GW-C replies to the MME to modify the bearer response message.
- Step 56 The MA generates an instruction set according to the modified user information, and sends a flow entry modification message to the MS, where the flow entry modification message includes the generated instruction set and the value of the matching field in the flow entry to be modified.
- Steps 56 and 54 can be performed simultaneously, and step 56 can also be performed prior to step 54.
- Step 57 The MS modifies the instruction set in the flow entry indicated by the flow entry deletion message in the flow table according to the value of the matching field in the flow entry to be modified.
- the MS searches for the flow entry to be modified according to the value of the matching field in the flow entry to be modified, and modifies the instruction set in the flow entry to be the instruction set carried in the flow entry modification message.
- Step 58 The MS returns a flow entry modification response message to the MA.
- the MA modifies the user information of the bearer according to the user information.
- the sending flow entry deletion message may also be sent to the MS, where the flow entry deletion message includes the value of the matching domain in the flow entry to be deleted.
- the MS searches for the flow entry to be deleted in the flow table according to the value of the matching field in the flow entry to be deleted, and deletes the flow entry indicated by the flow entry deletion message in the flow table.
- the MC sends the updated user information to the MA, so that the MA updates the locally saved user information.
- FIG. 6 is a flowchart of a method for deleting a bearer according to an embodiment of the present invention.
- the process of deleting a bearer is also a process in which the user attaches.
- the method provided in this embodiment includes:
- Step 61 The MME sends a delete bearer request to the GW-C.
- Step 62 After deleting the bearer according to the delete bearer request, the GW-C deletes the message to the MA user information, where the user information delete message includes an index value of the bearer user information.
- the user information deletion message may be a customized User Profile Indicate message.
- Step 63 The MA deletes the message according to the user information, and deletes the user information of the bearer.
- Step 64 The MA replies to the GW-C with a delete response message.
- the delete response message may be a customized User Profile Indicate Response message.
- Step 65 The GW-C replies to the MME to delete the bearer response message.
- Step 66 The MA sends a flow entry deletion message to the MS, where the flow entry deletion message includes a value of the matching domain in the flow entry to be deleted.
- Step 67 The MS deletes the message according to the flow entry, and deletes the flow entry indicated by the flow entry deletion message in the flow table.
- Step 68 The MS returns a flow entry deletion response message to the MA.
- FIG. 7 is a schematic structural diagram of a switch according to an embodiment of the present invention.
- the switch provided in this embodiment includes: a transceiver 71 and a processor 72, and a memory 73.
- the storage unit 73 is configured to receive a flow table; the flow table entry in the flow table includes a matching field and an instruction set; and the transceiver 71 is configured to receive a user plane message;
- the processor 72 is configured to: when searching, in the flow table, the flow entry that matches the user plane packet, send a flow entry request that includes the matching parameter in the user plane packet to the mobile agent;
- the transceiver 71 is further configured to: when the flow table is not found in the flow table, the processor sends a matching parameter in the user plane packet to the mobile agent. Flow entry request;
- the transceiver 71 is further configured to: when the mobile agent searches for user information corresponding to the matching parameter in the user plane packet, the mobile agent receives the flow entry sent by the mobile agent. ;
- the processor 72 is further configured to save, in the flow table, a flow entry sent by the mobile agent;
- the transceiver 71 is configured to forward the user plane message according to the instruction set in the flow entry sent by the mobile agent.
- the processor is further configured to, after receiving the user plane message, when the flow table finds the flow entry matching the user information, the flow table matched according to the user information
- the instruction set in the item forwards the user plane message.
- the processor is further configured to periodically collect statistics of each flow table saved in the flow table. The amount of access to the item, and delete the flow entry with zero access.
- the mobile agent deletes the flow entry generated by the user information of the bearer on the switch:
- the transceiver is further configured to receive a flow entry deletion message sent by the mobile agent, where the flow entry deletion message includes a value of a matching domain in the flow entry to be deleted.
- the processor is further configured to delete, in the flow table, a flow entry indicated by the flow entry deletion message.
- the mobile control plane entity deletes or modifies the flow entry generated according to the old user information of the bearer in the process of modifying the bearer:
- the transceiver is further configured to receive a flow entry modification message sent by the mobile agent, where the flow entry modification message includes the generated instruction set and a value of a matching domain in the flow entry to be modified;
- the processor is further configured to modify the message according to the flow entry, and modify the instruction set in the flow entry indicated by the flow entry deletion message in the flow table.
- FIG. 8 is a schematic structural diagram of a mobile agent according to an embodiment of the present invention.
- the switch provided in this embodiment includes: a transceiver 81 and a processor 82, and a memory 83.
- the transceiver 81 is configured to receive, by the gateway control plane entity, a user information setup message, where the user information setup message includes the bearer user information;
- the processor 82 is configured to save, in the memory 83, the user information carried in the user information establishment message;
- the transceiver 81 is further configured to: when the switch finds a flow entry that matches the user plane packet in the local flow table, the switch receives the flow entry that matches the user plane packet in the local flow table. a flow entry request that includes a matching parameter in the user plane packet sent by the switch; the flow entry includes a matching domain and an instruction set;
- the processor 82 is further configured to: in the memory, search for user information corresponding to the matching parameter in the user plane packet, and if the user information corresponding to the matching parameter in the user plane packet is found, Generating, according to the found user information, a flow entry that matches the user plane packet; the transceiver 81 is further configured to send the generated flow entry to the switch.
- search for user information corresponding to the matching parameter in the user plane packet and if the user information corresponding to the matching parameter in the user plane packet is found, Generating, according to the found user information, a flow entry that matches the user plane packet; the transceiver 81 is further configured to send the generated flow entry to the switch.
- the transceiver 81 is further configured to send the generated flow entry to the switch.
- the internal processing of the mobile agent is as follows:
- the transceiver is further configured to receive, in the process of deleting the bearer, a user information deletion message sent by the gateway control plane entity, where the user information deletion message includes an index value of the bearer user information;
- the processor is further configured to delete, according to the user information deletion message, user information of the bearer saved by the memory;
- the transceiver is further configured to send a flow entry deletion message to the switch, where the flow entry deletion message includes a value of a matching domain in the flow entry to be deleted.
- the internal processing of the mobile agent is as follows:
- the transceiver is further configured to: in the process of modifying the bearer, receive a sending user information modification message sent by the gateway control plane entity, where the user information modification message includes an index value of the carried user information;
- the processor is further configured to modify, according to the user information modification message, the user information of the bearer saved by the memory;
- the transceiver is further configured to send a flow entry deletion message to the mobile switch, where the flow entry deletion message includes a value of a matching domain in the flow entry to be deleted.
- the processor is further configured to: after modifying the user information of the bearer. Generating an instruction set according to the modified user information; the transceiver is further configured to send a flow entry modification message to the mobile switch, where the flow entry modification message includes the generated instruction set and the to-be-modified flow entry The value of the matching field in .
- the present invention further provides a switch for performing a packet forwarding method, where the gateway forwarding entity includes a mobile agent and the switch, and the switch includes:
- a storage unit configured to store a flow entry
- a transceiver unit configured to receive a user plane message
- a processing unit configured to send, to the mobile proxy, a flow entry request including a matching parameter in the user plane packet when searching, in the flow table, the flow entry that matches the user plane packet;
- the transceiver unit is further configured to: the processing unit does not find the use in the flow table Sending, by the mobile agent, a flow entry request including a matching parameter in the user plane packet, when the flow entry is matched by the client packet;
- the transceiver unit is further configured to: when the mobile agent searches for user information corresponding to the matching parameter in the user plane packet, the mobile agent receives the flow entry sent by the mobile agent;
- the processing unit is further configured to save, in the flow table, a flow entry sent by the mobile agent;
- the transceiver unit is further configured to forward the user plane message according to the instruction set in the flow entry sent by the mobile agent.
- the transceiver unit is further configured to receive a flow entry deletion message sent by the mobile agent, where the flow entry deletion message includes a value of a matching domain in the flow entry to be deleted; And is further configured to delete, in the flow table, a flow entry that is indicated by the flow entry deletion message.
- the transceiver unit is further configured to receive a flow entry modification message sent by the mobile agent, where the flow entry modification message includes the generated instruction set and a matching domain in the flow entry to be modified.
- the processing unit is further configured to: modify the message according to the flow entry, and modify the instruction set in the flow entry indicated by the flow entry deletion message in the flow table.
- the processing unit is further configured to, after receiving the user plane packet, when the flow table finds the flow entry matching the user information, the flow table matched according to the user information
- the instruction set in the item forwards the user plane message.
- processing unit is further configured to periodically count the access volume of each flow entry saved in the flow table, and delete the flow entry with zero access.
- the present invention also provides a mobile agent that performs a method for establishing a bearer, where the gateway forwarding entity includes the mobile agent and a switch, and the mobile agent includes:
- a transceiver unit configured to receive a user information establishment message sent by the gateway control plane entity during the establishment of the bearer, where the user information establishment message includes the user information of the bearer;
- a processing unit configured to save user information of the bearer in the user information establishment message in a storage unit
- the transceiver unit is further configured to: when the switch finds a flow entry that matches the user plane packet in the local flow table, the switch receives the flow entry that matches the user plane packet in the local flow table, and receives the a flow entry request sent by the switch, including the matching parameter in the user plane packet; the flow The entry includes a matching field and an instruction set;
- the processing unit is further configured to: in the storage unit, search for user information corresponding to the matching parameter in the user plane packet, and if the user information corresponding to the matching parameter in the user plane packet is found, Generating, according to the found user information, a flow entry that matches the user plane packet;
- the transceiver unit is further configured to send the generated flow entry to the switch.
- the transceiver unit is further configured to: in a process of deleting the bearer, receive a user information deletion message sent by the gateway control plane entity, where the user information deletion message includes an index value of the bearer user information. ;
- the processing unit is further configured to delete the user information of the bearer saved by the storage unit according to the user information deletion message;
- the transceiver unit is further configured to send a flow entry deletion message to the switch, where the flow entry deletion message includes a value of a matching domain in the flow entry to be deleted.
- the transceiver unit is further configured to: in a process of modifying the bearer, receive a sending user information modification message sent by the gateway control plane entity, where the user information modification message includes an index of the carried user information.
- the processing unit is further configured to modify, according to the user information modification message, the user information of the bearer saved by the storage unit;
- the transceiver unit is further configured to send a flow entry deletion message to the mobile switch, where the flow entry deletion message includes a value of a matching domain in the flow entry to be deleted.
- the processing unit is further configured to: after modifying the user information of the bearer. Generating an instruction set according to the modified user information;
- the transceiver unit is further configured to send a flow entry modification message to the mobile switch, where the flow entry modification message includes the generated instruction set and a value of a matching domain in the flow entry to be modified.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本发明实施例提供一种报文转发系统、设备和方法,报文转发系统包括:网关控制面实体,用于在建立承载过程中,向移动代理发送用户信息建立消息,用户信息建立消息包括承载的用户信息;移动代理,用于保存承载的用户信息;交换机,用于接收到用户面报文后,在本地流表中没有查找到用户面报文匹配的流表项时,向移动代理发送包括用户面报文中匹配参数的流表项请求;移动代理,还用于接收到流表项请求后,根据查找到的用户信息生成用户面报文匹配的流表项,并向交换机发送生成的流表项;交换机,还用于在流表中保存移动代理发送的流表项,并根据移动代理发送的流表项中指令集转发用户面报文。
Description
报文转发系统、 设备和方法
技术领域
本发明涉及通信技术, 尤其涉及一种报文转发系统、 设备和方法。 背景技术
交换设备作为网络中的关键节点,在现有设备提供商的垄断之下开放 的接口十分有限, 网络中的很多开放想法和协议都无法进行测试与验证。 OpenFlow作为一套开放接口、支持多控制的交换标准应运而生。 OpenFlow 将传统的物理固定的硬件改造成为动态可变的软件可定义网络 (SDN , Software Defined Network ) , 实现了控制面与转发面的分离。 OpenFlow 交换机 (Switch) 的组成部分包括流表 (Flow Table ) 、 安全通道 (Secure Channel) 和 OpenFlow协议 (OF Protocol) 。 流表中存储最核心的信息实 现查找、 转发、 统计和过滤等功能, 流表包括多个流表项 (Flow entry) , 一个流表项对应一个转发规则,进入交换机的报文通过查找流表获得转发 的目的端口。 OpenFlow 交换机通过 OpenFlow 协议经过一个安全通道 ( Secure Channel ) 连接到外部控制器 (Controller) , 控制器对流表进行 查询和管理。
将 SDN架构引入到下一代分组核心网 (SAE) 网, 分离网关的控制 面功能和转发面功能。网关的控制面会将附着用户相对应的流表安装在网 关的转发面上, 从而实现对数据报文的转发。 为附着用户创建承载的过程 下: MME 向网关控制面发送创建会话请求消息; 网关控制面将创建会话 请求中的用户信息封装在流表中发送给网关转发面,例如用户的隧道端点 标识符 (Tunnel end point ID, 简称 TEID)等; 网关转发面向网关控制面回 执流表安装响应消息, 后续根据流表转发报文; 网关控制面接收到流表安 装响应消息后, 向 MME反馈创建会话响应消息, 表明流表创建成功。
从上述流程中可以看到, 每产生一个附着用户的承载都会在网关转发 面上建立一个流表项, 导致网关转发面的流表项数量与附着的用户数成正 比例关系, 然而, 当前网关的转发面支持的流表项数量比较少的, 与当前
用户的需求有着数量级的差距。 另外, 大量的流表项数量也不利于转发面 的硬件实现, 导致转发面的性能降低。 发明内容
本发明实施例提供一种报文转发系统、 设备和方法, 解决了网关转发 面的流表项数量较多的技术问题, 提高了转发面的性能。
第一方面, 本发明实施例提供一种报文转发系统, 包括: 网关控制面 实体和网关转发面实体, 所述网关转发实体包括移动代理和交换机;
所述网关控制面实体, 用于在建立承载过程中, 向所述移动代理发送 用户信息建立消息, 所述用户信息建立消息包括所述承载的用户信息; 所述移动代理, 用于接收到所述用户信息建立消息后, 保存所述承载 的用户信息;
所述交换机, 用于接收到用户面报文后, 在本地流表中没有查找到所 述用户面报文匹配的流表项时, 向所述移动代理发送包括所述用户面报文 中匹配参数的流表项请求; 所述移动代理, 还用于接收到所述流表项请求 后, 在本地保存的用户信息中查找到与所述用户面报文中匹配参数对应的 用户信息的情况下, 根据查找到的用户信息生成所述用户面报文匹配的流 表项, 并向所述交换机发送生成的流表项;
所述交换机, 还用于在所述流表中保存所述移动代理发送的流表项, 并根据所述移动代理发送的流表项中指令集转发所述用户面报文。
第二方面, 本发明实施例还提供一种交换机, 网关转发实体包括移动 代理和所述交换机; 包括:
存储器, 用于存储流表项;
收发器, 用于接收用户面报文;
处理器, 用于在所述流表中查找所述用户面报文匹配的流表项时, 向 移动代理发送包括所述用户面报文中匹配参数的流表项请求;
所述收发器, 还用于所述处理器在所述流表中没有查找到所述用户面 报文匹配的流表项时, 向移动代理发送包括所述用户面报文中匹配参数的 流表项请求;
所述收发器, 还用于所述移动代理在本地保存的用户信息中查找到与
所述用户面报文中匹配参数对应的用户信息的情况下, 接收所述移动代理 发送的流表项;
所述处理器, 还用于在所述流表中保存所述移动代理发送的流表项; 所述收发器, 还用于根据所述移动代理发送的流表项中指令集转发所 述用户面报文。
第三方面, 本发明实施例提供一种移动代理, 网关转发实体包括所述 移动代理和交换机, 所述移动代理包括:
收发器, 用于在建立承载过程中, 接收网关控制面实体发送的用户信 息建立消息, 所述用户信息建立消息包括所述承载的用户信息;
处理器, 用于在存储器中保存所述用户信息建立消息中所述承载的用 户信息;
所述收发器, 还用于交换机在本地流表查找所述用户面报文匹配的流 表项, 在本地流表中没有查找到所述用户面报文匹配的流表项时, 接收所 述交换机发送的包括所述用户面报文中匹配参数的流表项请求;
所述处理器, 还用于在所述存储器查找与所述用户面报文中匹配参数 对应的用户信息, 在查找到与所述用户面报文中匹配参数对应的用户信息 的情况下, 根据查找到的用户信息生成所述用户面报文匹配的流表项; 所述收发器, 还用于向所述交换机发送生成的流表项。
第四方面, 本发明实施例提供一种报文转发方法, 网关用户面实体包 括交换机和移动代理, 所述方法包括:
接收到用户面报文后, 交换机在本地流表查找所述用户面报文匹配的 流表项; 所述流表中流表项包括匹配域和指令集;
所述交换机在本地流表中没有查找到所述用户面报文匹配的流表项 时, 向移动代理发送包括所述用户面报文中匹配参数的流表项请求;
所述移动代理在本地保存的用户信息中查找到与所述用户面报文中 匹配参数对应的用户信息的情况下, 所述交换机接收并保存所述移动代理 发送的流表项;
所述交换机根据所述移动代理发送的流表项中指令集转发所述用户 面报文。
第五方面, 本发明实施例提供一种建立承载方法, 网关用户面实体包
括交换机和移动代理, 包括:
在建立承载过程中, 移动代理接收并保存网关控制面实体发送的用户 信息建立消息, 所述用户信息建立消息包括所述承载的用户信息;
当交换机在本地流表中没有查找到所述用户面报文匹配的流表项时, 所述移动代理接收所述交换机发送的包括所述用户面报文中匹配参数的 流表项请求; 所述流表项包括匹配域和指令集;
所述移动代理在本地查找与所述用户面报文中匹配参数对应的用户 信息;
在查找到与所述用户面报文中匹配参数对应的用户信息的情况下, 根 据查找到的用户信息生成所述用户面报文匹配的流表项, 并向所述交换机 发送生成的流表项。
上述技术方案中, 位于网关转发面上的交换机接收到用户面报文后, 在本地如果没有查找到该用户面报文匹配的流表项, 向位于网关转发面上 的移动代理发送流表项请求, 从移动代理获取该用户面报文匹配的表项。 移动代理接收到流表项请求后, 根据查找到的与该用户面报文中匹配参数 对应的用户信息, 动态生成该用户面报文匹配的流表项并发送给交换机, 交换机保存移动代理发送的流表项并根据接收到的流表项转发该用户面 报文。 其中, 与用户面报文中匹配参数对应的用户信息是为附着用户建立 的承载的用户信息, 由网关控制面实体在为附着用户建立承载的过程中下 发给移动代理。 由于, 移动代理发送给交换机的流表项是交换机接收到的 用户面报文匹配的流表项, 因而, 交换机本地保存的流表项是有业务的承 载的流表项即有业务的附着用户的流表项, 而不是所有附着用户的流表 项, 减少了交换机保存的流表项数量, 提高了位于网关转发面上的交换机 的性能。 附图说明
图 1为本发明 施例提供的一种报文转发系统结构示意图
图 2为本发明 施例提供的一种创建承载方法流程图;
图 3为本发明 施例提供的一种报文转发方法流程图;
图 4为本发明 施例提供的另一种报文转发方法流程图;
图 5为本发明 施例提供的一种修改承载方法流程图;
图 6为本发明 施例提供的一种删除承载方法流程图;
图 7为本发明 施例蝗供的一种交换机结构示意图;
图 8为本发明 施例提供的一种移动代理结构示意图。 具体实施方式
本发明实施例在网关转发面上增加了移动代理实体, 负责维护与用户 移动行为相关的内容、 例如与创建承载、 删除承载、 或修改承载等移动行 为相关的内容, 网关转发面上的交换机只负责报文的转发, 使得 MS上保 存的流表项数量与当前有业务的附着用户数量相关, 与当前的附着用户数 量无关。
流表项包含匹配域字段 (match field) 、 计数器 (counters ) 和指令集 ( instructions ) , 不同的厂商可以根据各自的需求设计功能各异的流表。 流表项的匹配域包括输入接口、 报文的源 IP地址、 目的 IP地址和 TEID 等。 目前, 匹配域有 36种匹配项。 流表的计数器统计流量的信息, 例如 活动表项、 查找次数、 发送包次数等, 可以针对每张流表、 每个流、 每个 端口、 每个队列进行维护。 流表项的指令集标明与流表项匹配的数据包应 该执行的指令。 流表项的指令集分为必备动作 (Required Actions ) 和可选 动作 (Optional Actions ) 。 三个必备动作为: 将流转发到给定端口; 封装 并转发此流的报文到交换机上的控制器, 由控制器决定是否在流表中增加 流;丢弃此报文。可选动作包括:设置数据包的 queue id,指定数据包 ouput 到端口的哪个 queue;支持 VLAN和 MPLS tag;设置或修改不同头域的值; 修改 IPv4 TTL、 IPv6 Hop Limit或者 MPLS TTL。
图 1为本发明实施例提供的一种报文转发系统结构示意图。如图 1所 示, 本实施例提供的系统包括: 网关控制面实体 11和网关转发面实体 12。 其中、 网关转发面实体 12包括移动代理 121和交换机 122。 移动代理 121 和交换机 122可以是网关转发面实体 12上不同的逻辑模块, 可以部署在 同一物理位置, 也可以部署在不同的物理位置。
所述网关控制面实体 11, 用于在建立承载过程中, 向移动代理发送用 户信息建立消息, 用户信息建立消息包括所述承载的用户信息。
网关控制面实体在为附着用户建立承载的过程中, 将该承载的用户信 息下发给位于网关转发面上的移动代理, 而不是将该承载的流表项下发给 移动代理。流表项包括匹配域和指令集, 其中, 匹配域中包括有用户信息。 一个附着用户有一个或多个承载, 通常情况下, 一个承载在流表中对应有 两个流表项, 分别对应于上行报文和下行报文。
其中, 承载的用户信息至少包括国际移动用户识别码 (International Mobile Subscriber Identification Number, 简称 IMSI、 移动用户综合业务数 字网 (Mobile Subscriber International Integrated Service Digital Network, 简 称 MSISDN) 、 TEID、 IP地址和接入点名称 (Access Point Name, 简称 APN) 等信息。
所述移动代理 121, 用于根据所述用户信息建立消息, 保存所述用户 信息。 可选地, 用户信息建立消息中还可包括用户状态。
移动代理接收到用户信息建立消息后, 在本地保存其中的用户信息。 每建立一个承裁, 网关控制面实体都向移动代理下发用户信息建立消息, 因此, 移动代理可保存所有承载的用户信息。 移动代理中保存的用户信息 的主键值可以是 IMSI。
所述交换机 122, 用于接收到用户面报文后, 在本地流表中没有查找 到所述用户面报文匹配的流表项时, 向所述移动代理发送包括所述用户面 报文中匹配参数的流表项请求;所述流表项包括匹配域和指令集。进一步, 所述交换机 122, 还用于接收到用户面报文后, 在所述流表查找到所述用 户信息匹配的流表项时, 根据所述用户信息匹配的流表项中指令集转发所 述用户面报文。
用户面报文中匹配参数可以包括源 IP地址、 目的 IP地址和 TEID等 信息。 交换机本地保存有流表。 交换机接收到用户面报文后, 将用户面报 文中 IP地址和 TEID等匹配参数,与流表中各个流表项的匹配域进行匹配, 如果流表中存在与该匹配参数匹配的流表项, 则查找到与用户面报文匹配 的流表项; 如果流表中不存在与该匹配参数匹配的流表项, 则没有查找到 与用户面报文匹配的流表项。交换机在本地查找到与当前用户面报文匹配 的流表项时, 根据查找到流表项中指令集转发用户面报文。
所述移动代理 121, 还用于接收到所述流表项请求后, 在本地保存的
用户信息中查找到与所述用户面报文中匹配参数对应的用户信息的情况 下, 根据查找到的用户信息生成所述用户面报文匹配的流表项, 并向所述 交换机发送生成的流表项。 所述交换机 122, 还用于在所述流表中保存所 述移动代理发送的流表项, 并根据所述移动代理发送的流表项中指令集转 发所述用户面报文。
交换机在本地没有查找到用户面报文匹配的流表项时, 向移动代理发 送流表项获取请求。 移动代理接收到流表项请求后, 在本地保存的用户信 息中查找与用户面报文中匹配参数对应的用户信息。移动代理在本地查找 到对应的用户信息的情况下, 移动代理根据查找到的用户信息, 动态生成 用户面报文匹配的流表项, 并向交换机发送生成的流表项。 流表项包括匹 配域和指令集, 指令集由动作组成。 其中, 匹配域包括查找到的用户信息 中 IP地址和 TEID等信息, 匹配域对应的动作是根据查找到的用户信息中 APN得到对应的交换机端口。 动作指的是将用户面报文发往交换机的哪个 端口。 MA维护有用户信息中 APN与交换机端口之间的映射关系。 MA生成 流表项的指集时, 根据查找到的用户信息中 APN得到对应的交换机端口, 作 为匹配域中对应的动作。 可选地, 与用户面报文中匹配参数对应的用户信 息中还包括用户状态, 根据该用户信息生成的流表项中还可包括用户状 态, 当用户处于 idle状态时,对应的流表项不能使用, 秀户处于连接态时, 对应的流表项可以使用。
交换机接收到移动代理发送的流表项后, 保存在本地流表中, 同时根据 流表项中指令集转发当前接收到的用户面报文。初始阶段, 交换机的流表中 为空, 没有流表项。 交换机在处理接收到的用户面报文过程中, 如果本地 流表没有保存与当前用户面报文匹配的流表项, 从移动代理获取流表项并 根据流表项转发当前用户面报文。 交换机还保存从移动代理获取到的流表 项, 从而在接收到同一承载的其它用户面报文时, 交换机可以在本地流表 中查找到匹配的流表项, 而不需要从移动代理获取流表项。 由于, 交换机 保存的从移动代理处获取的流表项, 是与当前用户面报文匹配的流表项, 因此, 交换机本地保存的流表项是有业务的附着用户的流表项, 不保存没 有业务的附着用户的流表。 因而交换机保存的不是所有附着有户的流表 项。
可选地, 所述移动代理 121, 还用于接收到所述流表项请求后, 在本 地没有查找到与所述用户面报文中匹配参数对应的用户信息的情况下, 向 所述交换机发送流表项获取失败消息, 向所述交换机发送流表项获取失败 消息。 所述交换机 122, 还用于接收到所述流表项获取失败消息后, 丢弃 所述用户面报文。
移动代理在本地没有查找到与用户面报文中匹配参数对应的用户信 息的情况下, 移动代理向所述交换机发送流表项获取失败消息, 交换机接 收到流表项获取失败消息可以丢弃报文。
可选地, 为减少交换机保存的流表项数量, 所述交换机, 还用于周期 性统计保存的各个流表项的访问量, 并删除访问量为零的流表项。
本实施例提供的转发系统中, 位于网关转发面上的交换机接收到用户 面报文后, 在本地如果没有查找到该用户面报文匹配的流表项, 向位于网 关转发面上的移动代理发送流表项请求, 从移动代理获取该用户面报文匹 配的表项。 移动代理接收到流表项请求后, 根据查找到的与该用户面报文 中匹配参数对应的用户信息, 动态生成该用户面报文匹配的流表项并发送 给交换机, 交换机保存移动代理发送的流表项并根据接收到的流表项转发 该用户面报文。 其中, 与用户面报文中匹配参数对应的用户信息是为附着 用户建立的承载的用户信息, 由网关控制面实体在为附着用户建立承载的 过程中下发给移动代理。 由于, 移动代理发送给交换机的流表项是交换机 接收到的用户面报文匹配的流表项, 因而, 交换机本地保存的流表项是有 业务的承载的流表项即有业务的附着用户的流表项, 而不是所有附着用户 的流表项, 减少了交换机保存的流表项数量, 提高了位于网关转发面上的 交换机的性能。
可选地, 为附着用户修改承载后, 该承载的用户信息会发生变化, 为 使移动代理保存的用户信息是该承载最新的用户信息, 网关控制面实体还 会指示移动代理修改该承载的用户信息, 移动代理还会指示交换机删除或 修改该用户信息匹配的流表项。
所述网关控制面实体, 还用于在修改所述承载过程中, 向所述移动代 理发送用户信息修改消息, 所述用户信息修改消息包括所述承载的用户信 息的索引值。
所述移动代理, 还用于根据所述用户信息修改修改所述承载的用户信 息。
另外, 移动代理还可以使交换机在本地流表中修改该承载的用户信息 匹配的流表项。 具体如下:
所述移动代理, 还用于根据所述用户信息修改修改所述承载的用户信 息, 根据修改后的用户信息生成指令集, 并向所述移动交换机发送流表项 修改消息, 所述流表项修改消息包括生成的所述指令集和待修改流表项中 的匹配域的值; 或, 根据所述承载修改消息修改所述承载的用户信息。 向 所述移动交换机发送流表项删除消息, 所述流表项删除消息包括待删除流 表项中的匹配域的值。
所述交换机, 还用于根据所述流表项删除消息, 在所述流表中删除所 述流表项删除消息指示的流表项; 或, 根据所述流表项修改消息, 在所述 流表中修改所述流表项删除消息指示的流表项中指令集。
可选地, 用户去附着即删除承载后, 移动代理不再需要保存该承载的 用户信息, 为减少移动代理保存的用户信息量, 删除承载过程中, 网关控 制面实体还会指示移动代理删除该承载的用户信息, 同时移动代理还会指 示交换机删除该用户信息匹配的流表项。
所述网关控制面实体, 还用于在删除所述承载过程中, 向所述移动代 理发送用户信息删除消息, 所述用户信息删除消息包括所述承载的用户信 息的索引值。 所述移动代理, 还用于根据所述用户信息删除消息, 删除所 述承载的用户信息, 并向所述交换机发送流表项删除消息, 所述流表项删 除消息包括待删除流表项中匹配域的值。 所述交换机, 还用于接收到所述 流表项删除消息后, 在所述流表中删除所述流表项删除消息指示的流表 项。
图 2为本发明实施例提供的一种创建承载方法流程图。 如图 2所示, 移动控制节点 (Mobile Controller, 简称 MC )包括移动管理实体(Mobile Management Entity, 简称 MME)和 GW-C, GW-C为网关控制面实体, 网 关转发面实体包括移动代理 (Mobile Agent , 简称 MA ) 和移动交换机 ( Mobile Switch, 简称 MS ) 。 为用户创建承载的过程中也是用户接入过 程。 如图 2所示, 本实施例提供的方法包括:
步骤 21 : MME 向 GW-C 发送创建会话请求。 创建会话请求可以是 Create Session Report消息。 创建会话请求用于为用户创建承载。
创建会话请求中包含的信息包括 IMSI、 MSISDN、 TEID、 IP地址、 APN等, 其他信息还包括 PDN GW地址、 RAT类型、默认 EPS承载 QoS、 PDN类型、 APN-AMBR、 EPS承载 ID、 协议配置件选项 PCO和切换指 示等信息。
步骤 22: GW-C根据创建会话请求为用户创建承载。
步骤 23 : GW-C根据创建会话请求中包含的信息生成该承载的用户信 息, 向 MA发送用户信息建立消息, 其中包括该承载的用户信息。 其中, 用户信息建立消息可以是自定义的 User Profile Indicate消息。
GW-C根据创建会话请求中包含的信息为承载生成的用户信息至少包 括 IMSI、 MSISDN、 TEID、 IP地址和 APN等信息。
GW-C与 MA之间的消息可以是修改后的 OpenFlow消息, GW-C与 MA之间的消息也可以通过 GTP消息承载,也可以是自定义的消息格式,, 本发明不对此进行限定。
步骤 24: MA保存 GW-C发送的用户信息, 并向 GW-C回复建立响 应消息。其中,建立响应消息可以是自定义的 User Profile Indicate Response 消息。
步骤 25 : GW-C 向 MME 回复创建会话响应。 创建会话响应可以是 Create Session Response消息。
MC为附着用户建立承载的过程中, 将为该附着用户的承载的用户信 息下发给 MA。
图 3为本发明实施例提供的一种报文转发方法流程图。 本实施例的执 行主体为位于网关转发面上的 MS。 如图 3所示, 本实施例提供的方法包 括:
步骤 31 : MS接收到用户面报文后, 在本地没有查找到所述用户面报 文匹配的流表项时, 向 MA发送包括用户面报文中匹配参数的的流表项请 求。
步骤 32: MA在本地保存的用户信息中查找到与所述用户面报文中匹 配参数对应的用户信息的情况下,向 MS发送所述用户信息匹配的流表项。
步骤 33 : MS保存所述移动代理发送的流表项, 并根据 MA发送的流 表项转发所述用户面报文。
用户面报文中匹配参数可以包括源 IP地址、 目的 IP地址和 TEID等 信息。 MS接收到用户面报文后, 将用户面报文中 IP地址和 TEID等匹配 参数, 与流表中各个流表项的匹配域进行匹配, 如果流表中存在与该匹配 参数匹配的流表项, 则查找到与用户面报文匹配的流表项; 如果流表中不 存在与该匹配参数匹配的流表项, 则没有查找到与用户面报文匹配的流表 项。 MS在本地查找到与当前用户面报文匹配的流表项时, 根据查找到流 表项中指令集转发用户面报文。
MS本地保存有流表, 初始阶段, 流表为空。 在处理接收到的用户面 报文过程中, 如果本地流表没有保存与当前用户面报文匹配的流表项, 从 移动代理获取流表项并根据流表项转发当前用户面报文。交换机还保存从 移动代理获取到的流表项, 从而在接收到同一承载的其它用户面报文时, 交换机可以在本地流表中查找到匹配的流表项, 而不需要从移动代理获取 流表项。 由于, 交换机保存的从移动代理处获取的流表项, 是与当前用户 面报文匹配的流表项, 因此, 交换机本地保存的流表项是有业务的附着用 户的流表项, 不保存没有业务的附着用户的流表。 因而交换机保存的不是 所有附着有户的流表项。
图 4为本发明实施例提供的另一种报文转发方法流程图。如图 4所示, 本实施例提供的方法包括:
步骤 41 : MS接收用户面报文。
步骤 42: MS查找本地流表中是否存在所述用户面报文匹配的流表项。 如果查找到执行步骤 43, 否则执行步骤 49。
步骤 43 : 在本地没有查找到所述用户面报文匹配的流表项时, MS向 所述移动代理发送包括用户面报文中匹配参数的的流表项请求。
步骤 44: MA在本地保存的用户信息中查找是否有与所述用户面报文 中匹配参数对应的用户信息。 如果查找到执行步骤 45, 否则执行步骤 47。
MA保存的用户信息与承载一一对应, 一个承载对应一则用户信息。 步骤 45 :在本地保存的用户信息中查找到与所述用户面报文中匹配参 数对应的用户信息的情况下, MA根据查找到的用户信息生成所述用户面
报文匹配的流表项, 向 MS发送所述用户面报文匹配的流表项。 移动代理在本地查找到对应的用户信息的情况下, 移动代理根据查找 到的用户信息, 动态生成用户面报文匹配的流表项, 并向交换机发送生成 的流表项。 流表项包括匹配域和指令集, 指令集由动作组成。 其中, 匹配 域包括查找到的用户信息中 IP地址和 TEID等信息, 匹配域对应的动作是 根据查找到的用户信息中 APN得到对应的交换机端口。 动作指的是将用户 面报文发往交换机的哪个端口。 MA维护有用户信息中 APN与交换机端口 之间的映射关系。 MA生成流表项的指集时, 根据查找到的用户信息中 APN 得到对应的交换机端口, 作为匹配域中对应的动作。
步骤 46: MS保存 MA发送的所述用户面报文匹配的流表项, 并根据 所述用户面报文匹配的流表项转发用户面报文。
步骤 47: MA在本地没有查找到与所述用户面报文中匹配参数对应的 用户信息的情况下, 向 MS发送流表项获取失败消息。
步骤 48 : MS接收到 MA发送的流表项获取失败消息后, 丢弃用户面 报文。
步骤 49: MS根据查找到的用户面报文匹配的流表项中指令集转发用 户面报文。
MS接收到用户面报文后, 先在本地流表中查找用户面报文匹配的流 表项, 如果查找到匹配的流表项, 根据查找到的流表项转发用户面报文, 否则从 MA获取动态生成的流表项,保存从 MA获取的流表项并根据获取 的流表项转发用户面报文。 由于, MS保存的流表项是接收到的用户面报 文匹配的流表项, 因此, MS保存的是有业务的附着用户的流表项, 而不 是所有附着用户的流表项。
图 5为本发明实施例提供的一种修改承载方法流程图。 如图 5所示, 本实施例提供的方法包括:
步骤 51 : MME向 GW-C发送修改承载请求。
步骤 52: GW-C根据修改承载请求修改承载后, 根据修改承载请求中 包含的信息生成该承载的新用户信息, 向 MA发送用户信息修改消息, 所 述用户信息修改消息包括所述承载的用户信息的索引值和所述承载的新 用户信息。 其中, 用户信息修改消息可以是自定义的 User Profile Indicate
消息。
步骤 53 : MA根据所述用户信息修改消息修改所述承载的用户信息。 MA根据用户信息修改消息包括的承载的用户信息的索引值, 在本地 查找到待修改的用户信息, 将查找到的用户信息修改为所述承载的新用户 信息。
步骤 54: MA向 GW-C回复修改响应消息。 其中, 修改响应消息可以 是自定义的 User Profile Indicate Response消息。
步骤 55 : GW-C向 MME回复修改承载响应消息。
步骤 56: MA根据修改后的用户信息生成指令集, 并向 MS发送流表 项修改消息, 流表项修改消息包括生成的所述指令集和待修改流表项中的 匹配域的值。
步骤 56和步骤 54可以同时执行,步骤 56也可以在步骤 54之前执行。 步骤 57 : MS根据待修改流表项中的匹配域的值, 在所述流表中修改 所述流表项删除消息指示的流表项中指令集。
MS根据待修改流表项中的匹配域的值查找待修改的流表项, 将查找 到的流表项中指令集修改为流表项修改消息中携带的指令集。
步骤 58: MS向 MA回复流表项修改响应消息。
进一步, MA根据所述用户信息修改修改所述承载的用户信息后。 还 可以向 MS发送发送流表项删除消息, 所述流表项删除消息包括待删除流 表项中的匹配域的值。 MS 根据待删除流表项中的匹配域的值在流表中查 找到待删除的流表项, 在所述流表中删除所述流表项删除消息指示的流表 项。
MC为附着用户修改承载的过程中,将更新后的用户信息下发给 MA, 使 MA更新本地保存的用户信息。
图 6为本发明实施例提供的一种删除承载方法流程图。删除承载的过 程也是用户去附着的过程。 如图 6所示, 本实施例提供的方法包括:
步骤 61 : MME向 GW-C发送删除承载请求。
步骤 62: GW-C根据删除承载请求删除承载后, 向 MA用户信息删除 消息, 用户信息删除消息包括所述承载的用户信息的索引值。 其中, 用户 信息删除消息可以是自定义的 User Profile Indicate消息。
步骤 63 : MA根据用户信息删除消息, 删除所述承载的用户信息。 步骤 64: MA向 GW-C回复删除响应消息。 其中, 删除响应消息可以 是自定义的 User Profile Indicate Response消息。
步骤 65 : GW-C向 MME回复删除承载响应消息。
步骤 66: MA向 MS发送流表项删除消息, 所述流表项删除消息包括 待删除流表项中匹配域的值。
步骤 67: MS根据流表项删除消息, 在流表中删除流表项删除消息指 示的流表项。
步骤 68: MS向 MA回复流表项删除响应消息。
MC为附着用户删除承载的过程中, 在 MA删除该承载的用户信息。 图 7为本发明实施例蝗供的一种交换机结构示意图。 如图 7所示, 本 实施例提供的交换机包括: 收发器 71和处理器 72以及存储器 73。
存储器 73, 用于保存流表; 所述流表中流表项包括匹配域和指令集; 收发器 71, 用于接收用户面报文;
处理器 72, 用于在所述流表中查找所述用户面报文匹配的流表项时, 向移动代理发送包括所述用户面报文中匹配参数的流表项请求;
所述收发器 71,还用于所述处理器在所述流表中没有查找到所述用户 面报文匹配的流表项时, 向移动代理发送包括所述用户面报文中匹配参数 的流表项请求;
所述收发器 71,还用于所述移动代理在本地保存的用户信息中查找到 与所述用户面报文中匹配参数对应的用户信息的情况下, 接收所述移动代 理发送的流表项;
所述处理器 72, 还用于在所述流表中保存所述移动代理发送的流表 项;
所述收发器 71,用于根据所述移动代理发送的流表项中指令集转发所 述用户面报文。
可选地, 所述处理器, 还用于在接收到所述用户面报文后, 在所述流 表查找到所述用户信息匹配的流表项时, 根据所述用户信息匹配的流表项 中指令集转发所述用户面报文。
可选地, 所述处理器, 还用于周期性统计所述流表中保存的各个流表
项的访问量, 并删除访问量为零的流表项。
本实施例可参见图 1对应实施例和图 3对应实施例中交换机的功能。 移动控制面实体在删除承载过程中, 移动代理在交换机上删除根据该 承载的用户信息生成的流表项:
所述收发器, 还用于接收到所述移动代理发送的流表项删除消息, 所 述流表项删除消息包括待删除流表项中匹配域的值。
所述处理器, 还用于在所述流表中删除所述流表项删除消息指示的流 表项。
本实施例可参见图 6对应实施例中交换机的功能。
移动控制面实体在修改承载过程中, 移动代理在交换机上删除或修改 根据该承载的旧用户信息生成的流表项:
所述收发器, 还用于接收所述移动代理发送的流表项修改消息, 所述 流表项修改消息包括生成的所述指令集和待修改流表项中的匹配域的值; 所述处理器, 还用于根据所述流表项修改消息, 在所述流表中修改所 述流表项删除消息指示的流表项中指令集。
本实施例可参见图 5对应实施例中交换机的功能。
图 8为本发明实施例提供的一种移动代理结构示意图。 如图 8所示, 本实施例提供的交换机包括: 收发器 81和处理器 82以及存储器 83。
收发器 81, 用于在建立承载过程中, 接收网关控制面实体发送的用户 信息建立消息, 所述用户信息建立消息包括所述承载的用户信息;
处理器 82, 用于在存储器 83中保存所述用户信息建立消息中所述承 载的用户信息;
所述收发器 81,还用于交换机在本地流表查找所述用户面报文匹配的 流表项, 在本地流表中没有查找到所述用户面报文匹配的流表项时, 接收 所述交换机发送的包括所述用户面报文中匹配参数的流表项请求; 所述流 表项包括匹配域和指令集;
所述处理器 82,还用于在所述存储器查找与所述用户面报文中匹配参 数对应的用户信息, 在查找到与所述用户面报文中匹配参数对应的用户信 息的情况下, 根据查找到的用户信息生成所述用户面报文匹配的流表项; 所述收发器 81, 还用于向所述交换机发送生成的流表项。
本实施例可参见图 2对应实施例中交换机的功能。
可选地, 删除承载过程中, 移动代理内部处理如下:
所述收发器, 还用于在删除所述承载过程中, 接收所述网关控制面实 体发送的用户信息删除消息, 所述用户信息删除消息包括所述承载的用户 信息的索引值;
所述处理器, 还用于根据所述用户信息删除消息, 删除所述存储器保 存的所述承载的用户信息;
所述收发器, 还用于向所述交换机发送流表项删除消息, 所述流表项 删除消息包括待删除流表项中匹配域的值。
本实施例可参见图 6对应实施例中交换机的功能。
可选地, 修改承载过程中, 移动代理内部处理如下:
所述收发器, 还用于在修改所述承载过程中, 接收所述网关控制面实 体发送的发送用户信息修改消息, 所述用户信息修改消息包括所述承载的 用户信息的索引值;
所述处理器, 还用于根据所述用户信息修改消息, 修改所述存储器保 存的所述承载的用户信息;
所述收发器, 还用于向所述移动交换机发送流表项删除消息, 所述流 表项删除消息包括待删除流表项中的匹配域的值。
可选地, 所述处理器, 还用于在修改所述承载的用户信息后。 根据修 改后的用户信息生成指令集; 所述收发器, 还用于向所述移动交换机发送 流表项修改消息, 所述流表项修改消息包括生成的所述指令集和待修改流 表项中的匹配域的值。
本实施例可参见图 5对应实施例中交换机的功能。
本发明还提供一种执行报文转发方法的交换机, 网关转发实体包括移 动代理和所述交换机, 所述交换机包括:
存储单元, 用于存储流表项;
收发单元, 用于接收用户面报文;
处理单元, 用于在所述流表中查找所述用户面报文匹配的流表项时, 向移动代理发送包括所述用户面报文中匹配参数的流表项请求;
所述收发单元, 还用于所述处理单元在所述流表中没有查找到所述用
户面报文匹配的流表项时, 向移动代理发送包括所述用户面报文中匹配参 数的流表项请求;
所述收发单元, 还用于所述移动代理在本地保存的用户信息中查找到 与所述用户面报文中匹配参数对应的用户信息的情况下, 接收所述移动代 理发送的流表项;
所述处理单元, 还用于在所述流表中保存所述移动代理发送的流表 项;
所述收发单元, 还用于根据所述移动代理发送的流表项中指令集转发 所述用户面报文。
可选地, 所述收发单元, 还用于接收到所述移动代理发送的流表项删 除消息, 所述流表项删除消息包括待删除流表项中匹配域的值; 所述处理 单元, 还用于在所述流表中删除所述流表项删除消息指示的流表项。
可选地, 所述收发单元, 还用于接收所述移动代理发送的流表项修改 消息, 所述流表项修改消息包括生成的所述指令集和待修改流表项中的匹 配域的值; 所述处理单元, 还用于根据所述流表项修改消息, 在所述流表 中修改所述流表项删除消息指示的流表项中指令集。
可选地, 所述处理单元, 还用于在接收到所述用户面报文后, 在所述 流表查找到所述用户信息匹配的流表项时, 根据所述用户信息匹配的流表 项中指令集转发所述用户面报文。
可选地, 所述处理单元, 还用于周期性统计所述流表中保存的各个流 表项的访问量, 并删除访问量为零的流表项。
本发明还提供一种执行建立承载方法的移动代理, 网关转发实体包括 所述移动代理和交换机, 所述移动代理包括:
收发单元, 用于在建立承载过程中, 接收网关控制面实体发送的用户 信息建立消息, 所述用户信息建立消息包括所述承载的用户信息;
处理单元, 用于在存储单元中保存所述用户信息建立消息中所述承载 的用户信息;
所述收发单元, 还用于交换机在本地流表查找所述用户面报文匹配的 流表项, 在本地流表中没有查找到所述用户面报文匹配的流表项时, 接收 所述交换机发送的包括所述用户面报文中匹配参数的流表项请求; 所述流
表项包括匹配域和指令集;
所述处理单元, 还用于在所述存储单元查找与所述用户面报文中匹配 参数对应的用户信息, 在查找到与所述用户面报文中匹配参数对应的用户 信息的情况下, 根据查找到的用户信息生成所述用户面报文匹配的流表 项;
所述收发单元, 还用于向所述交换机发送生成的流表项。
可选地, 所述收发单元, 还用于在删除所述承载过程中, 接收所述网 关控制面实体发送的用户信息删除消息, 所述用户信息删除消息包括所述 承载的用户信息的索引值;
所述处理单元, 还用于根据所述用户信息删除消息, 删除所述存储单 元保存的所述承载的用户信息;
所述收发单元, 还用于向所述交换机发送流表项删除消息, 所述流表 项删除消息包括待删除流表项中匹配域的值。
可选地, 所述收发单元, 还用于在修改所述承载过程中, 接收所述网 关控制面实体发送的发送用户信息修改消息, 所述用户信息修改消息包括 所述承载的用户信息的索引值;
所述处理单元, 还用于根据所述用户信息修改消息, 修改所述存储单 元保存的所述承载的用户信息;
所述收发单元, 还用于向所述移动交换机发送流表项删除消息, 所述 流表项删除消息包括待删除流表项中的匹配域的值。
可选地, 所述处理单元, 还用于在修改所述承载的用户信息后。 根据 修改后的用户信息生成指令集;
所述收发单元, 还用于向所述移动交换机发送流表项修改消息, 所述 流表项修改消息包括生成的所述指令集和待修改流表项中的匹配域的值。
本领域普通技术人员可以理解: 实现上述方法实施例的全部或部分步 骤可以通过程序指令相关的硬件来完成, 前述的程序可以存储于一计算机 可读取存储介质中, 该程序在执行时, 执行包括上述方法实施例的步骤; 而前述的存储介质包括: ROM、 RAM, 磁碟或者光盘等各种可以存储程 序代码的介质。
最后应说明的是: 以上各实施例仅用以说明本发明的技术方案, 而非
对其限制; 尽管参照前述各实施例对本发明进行了详细的说明, 本领域的 普通技术人员应当理解: 其依然可以对前述各实施例所记载的技术方案进 行修改, 或者对其中部分或者全部技术特征进行等同替换; 而这些修改或 者替换, 并不使相应技术方案的本质脱离本发明各实施例技术方案的范 围。
Claims
1、 一种报文转发系统, 其特征在于, 包括: 网关控制面实体和网关 转发面实体, 所述网关转发实体包括移动代理和交换机;
所述网关控制面实体, 用于在建立承载过程中, 向所述移动代理发送 用户信息建立消息, 所述用户信息建立消息包括所述承载的用户信息; 所述移动代理, 用于接收到所述用户信息建立消息后, 保存所述承载 的用户信息;
所述交换机, 用于接收到用户面报文后, 在本地流表中没有查找到所 述用户面报文匹配的流表项时, 向所述移动代理发送包括所述用户面报文 中匹配参数的流表项请求;
所述移动代理, 还用于接收到所述流表项请求后, 在本地保存的用户 信息中查找到与所述用户面报文中匹配参数对应的用户信息的情况下, 根 据查找到的用户信息生成所述用户面报文匹配的流表项, 并向所述交换机 发送生成的流表项;
所述交换机, 还用于在所述流表中保存所述移动代理发送的流表项, 并根据所述移动代理发送的流表项中指令集转发所述用户面报文。
2、 根据权利要求 1所述的系统, 其特征在于:
所述移动代理, 还用于接收到所述流表项请求后, 在本地没有查找到 与所述用户面报文中匹配参数对应的用户信息的情况下, 向所述交换机发 送流表项获取失败消息;
所述交换机, 还用于接收到所述流表项获取失败消息后, 丢弃所述用 户面报文。
3、 根据权利要求 1或 2所述的系统, 其特征在于, 所述交换机, 还 用于接收到用户面报文后, 在所述流表查找到所述用户面报文匹配的流表 项时, 根据所述用户面报文匹配的流表项中指令集转发所述用户面报文。
4、 根据权利要求 1至 3任一项所述的系统, 其特征在于:
所述网关控制面实体, 还用于在删除所述承载过程中, 向所述移动代 理发送用户信息删除消息, 所述用户信息删除消息包括所述承载的用户信 息的索引值;
所述移动代理, 还用于根据所述用户信息删除消息, 删除所述承载的
用户信息, 并向所述交换机发送流表项删除消息, 所述流表项删除消息包 括待删除流表项中匹配域的值;
所述交换机, 还用于接收到所述流表项删除消息后, 在所述流表中删 除所述流表项删除消息指示的流表项。
5、 根据权利要求 1至 3任一项所述的系统, 其特征在于:
所述网关控制面实体, 还用于在修改所述承载过程中, 向所述移动代 理发送用户信息修改消息, 所述用户信息修改消息包括所述承载的用户信 息的索引值;
所述移动代理, 还用于根据所述用户信息修改修改所述承载的用户信 息;
所述移动代理, 还用于根据修改后的用户信息生成指令集, 并向所述 移动交换机发送流表项修改消息, 所述流表项修改消息包括生成的所述指 令集和待修改流表项中的匹配域的值; 或, 向所述移动交换机发送流表项 删除消息, 所述流表项删除消息包括待删除流表项中的匹配域的值; 所述交换机, 还用于根据所述流表项删除消息, 在所述流表中删除所 述流表项删除消息指示的流表项; 或, 根据所述流表项修改消息, 在所述 流表中修改所述流表项删除消息指示的流表项中指令集。
6、 根据权利要求 1至 5任一项所述的系统, 其特征在于, 所述交换 机, 还用于周期性统计保存的各个流表的访问量, 并删除访问量为零的流 表。
7、 一种交换机, 其特征在于, 网关转发实体包括移动代理和所述交 换机, 所述交换机包括:
存储器, 用于存储流表项;
收发器, 用于接收用户面报文;
处理器, 用于在所述流表中查找所述用户面报文匹配的流表项时, 向 移动代理发送包括所述用户面报文中匹配参数的流表项请求;
所述收发器, 还用于所述处理器在所述流表中没有查找到所述用户面 报文匹配的流表项时, 向移动代理发送包括所述用户面报文中匹配参数的 流表项请求;
所述收发器, 还用于所述移动代理在本地保存的用户信息中查找到与
所述用户面报文中匹配参数对应的用户信息的情况下, 接收所述移动代理 发送的流表项;
所述处理器, 还用于在所述流表中保存所述移动代理发送的流表项; 所述收发器, 还用于根据所述移动代理发送的流表项中指令集转发所 述用户面报文。
8、 根据权利要求 7所述的交换机, 其特征在于:
所述收发器, 还用于接收到所述移动代理发送的流表项删除消息, 所 述流表项删除消息包括待删除流表项中匹配域的值;
所述处理器, 还用于在所述流表中删除所述流表项删除消息指示的流 表项; 或,
所述收发器, 还用于接收所述移动代理发送的流表项修改消息, 所述 流表项修改消息包括生成的所述指令集和待修改流表项中的匹配域的值; 所述处理器, 还用于根据所述流表项修改消息, 在所述流表中修改所 述流表项删除消息指示的流表项中指令集。
9、 根据权利要求 7或 8所述的交换机, 其特征在于, 所述处理器, 还用于在接收到所述用户面报文后, 在所述流表查找到所述用户信息匹配 的流表项时, 根据所述用户信息匹配的流表项中指令集转发所述用户面报 文。
10、 根据权利要求 8或 9所述的交换机, 其特征在于, 所述处理器, 还用于周期性统计所述流表中保存的各个流表项的访问量, 并删除访问量 为零的流表项。
11、 一种移动代理, 其特征在于, 网关转发实体包括所述移动代理和 交换机, 所述移动代理包括:
收发器, 用于在建立承载过程中, 接收网关控制面实体发送的用户信 息建立消息, 所述用户信息建立消息包括所述承载的用户信息;
处理器, 用于在存储器中保存所述用户信息建立消息中所述承载的用 户信息;
所述收发器, 还用于交换机在本地流表查找所述用户面报文匹配的流 表项, 在本地流表中没有查找到所述用户面报文匹配的流表项时, 接收所 述交换机发送的包括所述用户面报文中匹配参数的流表项请求; 所述流表
项包括匹配域和指令集;
所述处理器, 还用于在所述存储器查找与所述用户面报文中匹配参数 对应的用户信息, 在查找到与所述用户面报文中匹配参数对应的用户信息 的情况下, 根据查找到的用户信息生成所述用户面报文匹配的流表项; 所述收发器, 还用于向所述交换机发送生成的流表项。
12、 根据权利要求 11所述的移动代理, 其特征在于:
所述收发器, 还用于在删除所述承载过程中, 接收所述网关控制面实 体发送的用户信息删除消息, 所述用户信息删除消息包括所述承载的用户 信息的索引值;
所述处理器, 还用于根据所述用户信息删除消息, 删除所述存储器保 存的所述承载的用户信息;
所述收发器, 还用于向所述交换机发送流表项删除消息, 所述流表项 删除消息包括待删除流表项中匹配域的值。
13、 根据权利要求 11或 12所述的移动代理, 其特征在于: 所述收发器, 还用于在修改所述承载过程中, 接收所述网关控制面实 体发送的发送用户信息修改消息, 所述用户信息修改消息包括所述承载的 用户信息的索引值;
所述处理器, 还用于根据所述用户信息修改消息, 修改所述存储器保 存的所述承载的用户信息;
所述收发器, 还用于向所述移动交换机发送流表项删除消息, 所述流 表项删除消息包括待删除流表项中的匹配域的值。
14、 根据权利要求 13所述的移动代理, 其特征在于:
所述处理器, 还用于在修改所述承载的用户信息后。 根据修改后的用 户信息生成指令集;
所述收发器, 还用于向所述移动交换机发送流表项修改消息, 所述流 表项修改消息包括生成的所述指令集和待修改流表项中的匹配域的值。
15、 一种报文转发方法, 其特征在于, 网关用户面实体包括交换机和 移动代理, 所述方法包括:
接收到用户面报文后, 交换机在本地流表查找所述用户面报文匹配的 流表项; 所述流表中流表项包括匹配域和指令集;
所述交换机在本地流表中没有查找到所述用户面报文匹配的流表项 时, 向移动代理发送包括所述用户面报文中匹配参数的流表项请求;
所述移动代理在本地保存的用户信息中查找到与所述用户面报文中 匹配参数对应的用户信息的情况下, 所述交换机接收并保存所述移动代理 发送的流表项;
所述交换机根据所述移动代理发送的流表项中指令集转发所述用户 面报文。
16、 根据权利要求 15所述的方法, 其特征在于, 还包括:
所述交换机接收到所述移动代理发送的流表项删除消息后, 在所述流 表中删除所述流表项删除消息指示的流表项, 所述流表项删除消息包括待 删除流表项中匹配域的值; 或,
所述交换机接收到所述移动代理发送的流表项修改消息后, 根据所述 流表项修改消息, 在所述流表中修改所述流表项修改消息指示的流表项中 指令集, 所述流表项修改消息包括生成的所述指令集和待修改流表项中的 匹配域的值。
17、 根据权利要求 15或 16所述的方法, 其特征在于, 在接收到用户 面报文后, 还包括:
所述交换机在所述流表查找到所述用户信息匹配的流表项时, 根据所 述用户信息匹配的流表项中指令集转发所述用户面报文。
18、 一种建立承载方法, 其特征在于, 网关用户面实体包括交换机和 移动代理, 包括:
在建立承载过程中, 所述移动代理接收并保存网关控制面实体发送的 用户信息建立消息, 所述用户信息建立消息包括所述承载的用户信息; 当交换机在本地流表中没有查找到所述用户面报文匹配的流表项时, 所述移动代理接收所述交换机发送的包括所述用户面报文中匹配参数的 流表项请求; 所述流表项包括匹配域和指令集;
所述移动代理在本地查找与所述用户面报文中匹配参数对应的用户 信息;
在查找到与所述用户面报文中匹配参数对应的用户信息的情况下, 根 据查找到的用户信息生成所述用户面报文匹配的流表项, 并向所述交换机
发送生成的流表项。
19、 根据权利要求 18所述的方法, 其特征在于, 还包括:
在删除所述承载过程中, 所述移动代理接收所述网关控制面实体发送 的用户信息删除消息, 所述用户信息删除消息包括所述承载的用户信息的 索引值;
所述移动代理根据所述用户信息删除消息, 删除所述承载的用户信 息, 并向所述交换机发送流表项删除消息, 所述流表项删除消息包括待删 除流表项中匹配域的值。
20、 根据权利要求 18或 19所述的方法, 其特征在于, 还包括: 在修改所述承载过程中, 所述移动代理接收所述网关控制面实体发送 的发送用户信息修改消息, 所述用户信息修改消息包括所述承载的用户信 息的索引值;
根据所述用户信息修改消息修改所述承载的用户信息。 根据修改后的 用户信息生成指令集, 并向所述移动交换机发送流表项修改消息, 所述流 表项修改消息包括生成的所述指令集和待修改流表项中的匹配域的值; 或,
根据所述承载修改消息修改所述承载的用户信息。 向所述移动交换机 发送流表项删除消息, 所述流表项删除消息包括待删除流表项中的匹配域 的值。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201380000688.7A CN105264841B (zh) | 2013-06-26 | 2013-06-26 | 报文转发系统、设备和方法 |
EP13888297.2A EP3002916B1 (en) | 2013-06-26 | 2013-06-26 | Packet forwarding system, device and method |
PCT/CN2013/078012 WO2014205680A1 (zh) | 2013-06-26 | 2013-06-26 | 报文转发系统、设备和方法 |
US14/979,381 US9961020B2 (en) | 2013-06-26 | 2015-12-27 | Packet forwarding system, device, and method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2013/078012 WO2014205680A1 (zh) | 2013-06-26 | 2013-06-26 | 报文转发系统、设备和方法 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US14/979,381 Continuation US9961020B2 (en) | 2013-06-26 | 2015-12-27 | Packet forwarding system, device, and method |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2014205680A1 true WO2014205680A1 (zh) | 2014-12-31 |
Family
ID=52140786
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/CN2013/078012 WO2014205680A1 (zh) | 2013-06-26 | 2013-06-26 | 报文转发系统、设备和方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US9961020B2 (zh) |
EP (1) | EP3002916B1 (zh) |
CN (1) | CN105264841B (zh) |
WO (1) | WO2014205680A1 (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20150034627A (ko) * | 2013-09-26 | 2015-04-03 | 주식회사 케이티 | 플로우 테이블을 업데이트하는 방법 |
US10075567B1 (en) * | 2016-02-08 | 2018-09-11 | Barefoot Networks, Inc. | Packet generation in the data plane of a forwarding element |
EP3413514B1 (en) * | 2016-03-02 | 2020-02-26 | Huawei Technologies Co., Ltd. | Method and device for managing network apparatus |
US10248452B2 (en) * | 2016-05-20 | 2019-04-02 | Microsoft Technology Licensing, Llc | Interaction framework for executing user instructions with online services |
CN112235196B (zh) * | 2020-09-03 | 2022-01-18 | 广州数物科技有限公司 | 软硬协同的upf设备及其控制方法 |
CN112235211B (zh) * | 2020-09-03 | 2022-01-21 | 广州数物科技有限公司 | 基于交换机和upf设备协同的upf系统及其控制方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102904813A (zh) * | 2012-11-05 | 2013-01-30 | 华为技术有限公司 | 一种报文转发的方法及相应设备 |
CN102904804A (zh) * | 2012-10-22 | 2013-01-30 | 华为技术有限公司 | 路由转发信息添加方法、报文转发方法及装置、网络设备 |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5790935A (en) * | 1996-01-30 | 1998-08-04 | Hughes Aircraft Company | Virtual on-demand digital information delivery system and method |
US6427174B1 (en) * | 1998-11-12 | 2002-07-30 | Cisco Technology, Inc. | Dynamic IP addressing and quality of service assurance |
EP1274259B1 (en) * | 2001-07-06 | 2011-06-29 | Hewlett-Packard Company | Multi-service telecommunications system |
US7774826B1 (en) * | 2005-03-18 | 2010-08-10 | Novell, Inc. | System and method for determining effective policy profiles in a client-server architecture |
US8204898B2 (en) * | 2007-02-02 | 2012-06-19 | Telefonaktiebolaget L M Ericsson (Publ) | Multi-site common directory and method for using the multi-site common directory |
US9445036B2 (en) * | 2009-06-30 | 2016-09-13 | Rovi Guides, Inc. | Methods and systems for content scheduling across multiple devices |
WO2011049019A1 (ja) * | 2009-10-19 | 2011-04-28 | 日本電気株式会社 | 通信システム、フロー制御装置、フローテーブルの更新方法およびプログラム |
BR112013013630A2 (pt) * | 2010-12-02 | 2016-09-13 | Nec Corp | sistema de comunicação, dispositivo de controle, método de comunicação e programa para ser executado em um dispositivo de controle |
JP5370592B2 (ja) * | 2011-04-18 | 2013-12-18 | 日本電気株式会社 | 端末、制御装置、通信方法、通信システム、通信モジュール、プログラムおよび情報処理装置 |
US8681803B2 (en) * | 2011-09-20 | 2014-03-25 | Nec Corporation | Communication system, policy management apparatus, communication method, and program |
EP2833582A4 (en) * | 2012-03-28 | 2015-12-02 | Nec Corp | COMPUTER SYSTEM AND COMMUNICATION PATIENT MODIFIERS |
WO2014061583A1 (ja) * | 2012-10-15 | 2014-04-24 | 日本電気株式会社 | 通信ノード、制御装置、通信システム、パケット処理方法及びプログラム |
CN104040966B (zh) * | 2012-11-09 | 2017-04-26 | 华为技术有限公司 | 处理报文的方法、转发面装置及网络设备 |
US9203748B2 (en) * | 2012-12-24 | 2015-12-01 | Huawei Technologies Co., Ltd. | Software defined network-based data processing method, node, and system |
US9712439B2 (en) * | 2013-02-28 | 2017-07-18 | Texas Instruments Incorporated | Packet processing match and action unit with configurable memory allocation |
KR20140134943A (ko) * | 2013-05-15 | 2014-11-25 | 삼성전자주식회사 | 통신 망에서 소프트웨어 정의 네트워크를 이용한 데이터 전달 장치 및 방법 |
-
2013
- 2013-06-26 CN CN201380000688.7A patent/CN105264841B/zh active Active
- 2013-06-26 EP EP13888297.2A patent/EP3002916B1/en active Active
- 2013-06-26 WO PCT/CN2013/078012 patent/WO2014205680A1/zh active Application Filing
-
2015
- 2015-12-27 US US14/979,381 patent/US9961020B2/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102904804A (zh) * | 2012-10-22 | 2013-01-30 | 华为技术有限公司 | 路由转发信息添加方法、报文转发方法及装置、网络设备 |
CN102904813A (zh) * | 2012-11-05 | 2013-01-30 | 华为技术有限公司 | 一种报文转发的方法及相应设备 |
Non-Patent Citations (1)
Title |
---|
See also references of EP3002916A4 * |
Also Published As
Publication number | Publication date |
---|---|
CN105264841A (zh) | 2016-01-20 |
CN105264841B (zh) | 2018-03-13 |
US9961020B2 (en) | 2018-05-01 |
EP3002916A4 (en) | 2016-06-15 |
EP3002916B1 (en) | 2017-08-16 |
US20160142340A1 (en) | 2016-05-19 |
EP3002916A1 (en) | 2016-04-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5874851B2 (ja) | 通信システム、転送ノード、制御装置及び通信方法 | |
US9497661B2 (en) | Implementing EPC in a cloud computer with openflow data plane | |
US9961020B2 (en) | Packet forwarding system, device, and method | |
WO2013144747A1 (en) | Implementing epc in a cloud computer with openflow data plane | |
US11811650B2 (en) | Systems and methods for user plane function (“UPF”) offload at configurable routing fabric | |
US10581735B2 (en) | Packet processing method and apparatus | |
WO2016150140A1 (zh) | 一种基于sdn的网关中控制报文的处理方法及系统 | |
US10686701B2 (en) | Packet transmission method and device, and communications system | |
WO2011134327A1 (zh) | 确定策略和计费规则功能的方法及系统 | |
WO2022021971A1 (zh) | 通信方法、第一策略控制网元及通信系统 | |
US20230133444A1 (en) | Gateway Device, System and Method For Providing a Forwarding Policy | |
WO2015100593A1 (zh) | 一种报文传输方法、设备及通信系统 | |
US20160174131A1 (en) | Device for controlling an ip core network and control method implemented by this device | |
WO2015113281A1 (zh) | 用户数据处理方法、装置及网络系统 | |
WO2012089032A1 (zh) | 一种采用多种接入方式中的数据传输方法和接入设备 | |
WO2011144123A2 (zh) | 签约业务处理方法和网关及系统 | |
WO2012088828A1 (zh) | 表维护方法、系统和接入网关路由器 | |
WO2011134325A1 (zh) | 一种获取mtc服务器地址的方法及系统 | |
WO2011026355A1 (zh) | 节点接入家乡代理的方法、家乡代理集群系统及业务路由器 | |
Yu | Sdn-based local breakout for mobile edge computing in radio access network | |
WO2023280000A1 (zh) | 一种通信方法、系统和装置 | |
CN108667879B (zh) | 数据业务会话绑定方法和路由设备及系统 | |
JP2019024266A (ja) | パケット処理方法および装置 | |
EP4352922A1 (en) | System and method for establishing a dual-layer pdu session | |
CN118101475A (zh) | 用于提供转发策略的网关装置、系统和方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
WWE | Wipo information: entry into national phase |
Ref document number: 201380000688.7 Country of ref document: CN |
|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 13888297 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
REEP | Request for entry into the european phase |
Ref document number: 2013888297 Country of ref document: EP |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2013888297 Country of ref document: EP |