WO2018228309A1 - 缓存控制方法、网元及控制器 - Google Patents
缓存控制方法、网元及控制器 Download PDFInfo
- Publication number
- WO2018228309A1 WO2018228309A1 PCT/CN2018/090581 CN2018090581W WO2018228309A1 WO 2018228309 A1 WO2018228309 A1 WO 2018228309A1 CN 2018090581 W CN2018090581 W CN 2018090581W WO 2018228309 A1 WO2018228309 A1 WO 2018228309A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- cache
- flow table
- network element
- information
- indication
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 86
- 230000004044 response Effects 0.000 claims abstract description 36
- 238000012545 processing Methods 0.000 claims abstract description 24
- 230000008569 process Effects 0.000 claims abstract description 17
- 230000009471 action Effects 0.000 claims description 22
- 238000013461 design Methods 0.000 description 42
- 238000012986 modification Methods 0.000 description 27
- 230000004048 modification Effects 0.000 description 27
- 238000011144 upstream manufacturing Methods 0.000 description 20
- 238000012217 deletion Methods 0.000 description 15
- 230000037430 deletion Effects 0.000 description 15
- 238000010586 diagram Methods 0.000 description 14
- 230000006870 function Effects 0.000 description 13
- 238000004891 communication Methods 0.000 description 10
- 230000009286 beneficial effect Effects 0.000 description 8
- 230000005540 biological transmission Effects 0.000 description 8
- 238000001514 detection method Methods 0.000 description 6
- 230000007246 mechanism Effects 0.000 description 5
- 230000000694 effects Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 238000007726 management method Methods 0.000 description 4
- 238000000926 separation method Methods 0.000 description 4
- 230000001960 triggered effect Effects 0.000 description 4
- 230000003139 buffering effect Effects 0.000 description 3
- 238000004590 computer program Methods 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000003672 processing method Methods 0.000 description 3
- 235000014510 cooky Nutrition 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 239000003550 marker Substances 0.000 description 2
- 238000005259 measurement Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000009365 direct transmission Effects 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- COCAUCFPFHUGAA-MGNBDDOMSA-N n-[3-[(1s,7s)-5-amino-4-thia-6-azabicyclo[5.1.0]oct-5-en-7-yl]-4-fluorophenyl]-5-chloropyridine-2-carboxamide Chemical compound C=1C=C(F)C([C@@]23N=C(SCC[C@@H]2C3)N)=CC=1NC(=O)C1=CC=C(Cl)C=N1 COCAUCFPFHUGAA-MGNBDDOMSA-N 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/90—Buffering arrangements
- H04L49/9005—Buffering arrangements using dynamic buffer space allocation
-
- 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/38—Flow based routing
-
- 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/64—Routing or path finding of packets in data switching networks using an overlay routing layer
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/90—Buffering arrangements
- H04L49/9047—Buffering arrangements including multiple buffers, e.g. buffer pools
- H04L49/9052—Buffering arrangements including multiple buffers, e.g. buffer pools with buffers of different sizes
-
- 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/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/568—Storing data temporarily at an intermediate stage, e.g. caching
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W28/00—Network traffic management; Network resource management
- H04W28/02—Traffic management, e.g. flow control or congestion control
- H04W28/10—Flow control between communication endpoints
- H04W28/12—Flow control between communication endpoints using signalling between network elements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W28/00—Network traffic management; Network resource management
- H04W28/02—Traffic management, e.g. flow control or congestion control
- H04W28/10—Flow control between communication endpoints
- H04W28/14—Flow control between communication endpoints using intermediate storage
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W36/00—Hand-off or reselection arrangements
- H04W36/0005—Control or signalling for completing the hand-off
- H04W36/0011—Control or signalling for completing the hand-off for data sessions of end-to-end connection
- H04W36/0033—Control or signalling for completing the hand-off for data sessions of end-to-end connection with transfer of context information
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W36/00—Hand-off or reselection arrangements
- H04W36/02—Buffering or recovering information during reselection ; Modification of the traffic flow during hand-off
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W36/00—Hand-off or reselection arrangements
- H04W36/02—Buffering or recovering information during reselection ; Modification of the traffic flow during hand-off
- H04W36/023—Buffering or recovering information during reselection
- H04W36/0235—Buffering or recovering information during reselection by transmitting sequence numbers, e.g. SN status transfer
Definitions
- the present application relates to network technologies, and in particular, to a cache control method, a network element, and a controller.
- the 3rd generation partnership project (3GPP) standards organization defines the latest fifth-generation mobile communication technology (5th-generation, 5G).
- 5G fifth-generation mobile communication technology
- the network architecture is also based on control forwarding separation.
- SDN Software-defined network
- the SDN architecture includes: a control plane network element and a forwarding plane network element (or a user plane network element) of the mobile network; the control plane network element and the forwarding plane network element of the mobile network can communicate with the controller of the mobile network (where The forwarding plane network element of the mobile network can communicate with the controller through the openflow protocol).
- the forwarding plane network element of the mobile network needs to have a certain caching capability to ensure normal forwarding of data packets in the mobile network.
- the existing openflow protocol does not provide a special cache processing mechanism.
- the embodiment of the present invention provides a cache control method, a network element, and a controller, and implements a flow granularity-based cache processing mechanism in the openflow protocol to meet data cache requirements of a mobile network.
- an embodiment of the present application provides a cache control method, including:
- the network element receives a flow table message sent by the controller, where the flow table message includes cache information of the data packet matched by the flow table;
- the network element processes the cache of the data packet according to the cache information
- the network element sends a flow table response message to the controller.
- the flow table message sent by the controller is received by the network element by using the cache control method provided by the first aspect; wherein the flow table message includes cache information of the data packet matched by the flow table; further, the network element is configured according to the cache information
- the cache of the data packet is processed, so that the network element can store at least one data packet matched by the flow table into a cache corresponding to the flow table according to a corresponding storage manner.
- the cache control method provided by the embodiment of the present application implements the cache processing method based on the granularity of the data flow in the openflow protocol, and can meet the data cache requirement of the mobile network.
- the cache information includes creating cache indication information or modifying cache indication information or deleting cache indication information.
- the cache information includes cache type information, and the cache type information is used to indicate how the data packet is stored.
- the cache type information includes: storing the received data packet, or storing and forwarding the received data packet.
- the cache information includes: a cache creation trigger indication, wherein the cache creation trigger indication is used to indicate the creation timing of the cache.
- the triggering triggering indication of the cache includes: the network element generates an indication of the buffer when receiving the flow table message, or the receiving rate of the network element is greater than the network element An indication of the cache is created when the rate is forwarded.
- the cache information includes: a storage space size of the cache.
- the cache information is located in an action set field of the flow table message.
- an embodiment of the present application provides a cache control method, including:
- the controller sends a flow table message to the network element, where the flow table message includes cache information of the data packet matched by the flow table;
- the controller receives a flow table response message sent by the network element.
- the cache control method provided by the second aspect is configured to send, by the controller, a flow table message to the network element, where the flow table message includes cache information of the data packet matched by the flow table, so that the network element receives the flow table message according to the received
- the cache information is processed, and the cache of the data packet is processed, so that the network element can store at least one data packet matched by the flow table in a cache corresponding to the flow table according to a corresponding storage manner.
- the cache control method provided by the embodiment of the present application implements the cache processing method based on the granularity of the data flow in the openflow protocol, and can meet the data cache requirement of the mobile network.
- the cache information includes creating cache indication information or modifying cache indication information or deleting cache indication information.
- the cache information includes cache type information, and the cache type information is used to indicate how the data packet is stored.
- the cache type information includes: storing the received data packet, or storing and forwarding the received data packet.
- the cache information includes: a cache creation trigger indication, wherein the cache creation trigger indication is used to indicate the creation timing of the cache.
- the triggering triggering indication of the cache includes: the network element generates an indication of the buffer when receiving the flow table message, or the receiving rate of the network element is greater than the network element An indication of the cache is created when the rate is forwarded.
- the cache information includes: a storage space size of the cache.
- the cache information is located in an action set field of the flow table message.
- an embodiment of the present application provides a network element, including:
- a receiving module configured to receive a flow table message sent by the controller, where the flow table message includes cache information of the data packet matched by the flow table;
- a processing module configured to process, according to the cache information, a cache of the data packet
- a sending module configured to send a flow table response message to the controller.
- the cache information includes creating cache indication information or modifying cache indication information or deleting cache indication information.
- the cache information includes cache type information, and the cache type information is used to indicate how the data packet is stored.
- the cache type information includes: storing the received data packet, or storing and forwarding the received data packet.
- the cache information includes: a cache creation trigger indication, wherein the cache creation trigger indication is used to indicate the creation timing of the cache.
- the triggering triggering indication of the cache includes: the network element generates an indication of the buffer when receiving the flow table message, or the receiving rate of the network element is greater than the network element An indication of the cache is created when the rate is forwarded.
- the cache information includes: a storage space size of the cache.
- the cache information is located in an action set field of the flow table message.
- an embodiment of the present application provides a controller, including:
- a sending module configured to send a flow table message to the network element, where the flow table message includes cache information of the data packet matched by the flow table;
- the receiving module is configured to receive a flow table response message sent by the network element.
- the cache information includes creating cache indication information or modifying cache indication information or deleting cache indication information.
- the cache information includes cache type information, and the cache type information is used to indicate how the data packet is stored.
- the cache type information includes: storing the received data packet, or storing and forwarding the received data packet.
- the cache information includes: a cache creation trigger indication, wherein the cache creation trigger indication is used to indicate the creation timing of the cache.
- the triggering triggering indication of the cache includes: the network element generates an indication of the buffer when receiving the flow table message, or the receiving rate of the network element is greater than the network element An indication of the cache is created when the rate is forwarded.
- the cache information includes: a storage space size of the cache.
- the cache information is located in an action set field of the flow table message.
- an embodiment of the present application provides a network element, including: a memory, a processor, and a transceiver;
- the memory is used to store program instructions
- the transceiver is configured to receive a flow table message sent by the controller, where the flow table message includes cache information of the data packet matched by the flow table;
- the processor is configured to call a program instruction in the memory to perform the following steps: processing the buffer of the data packet according to the cache information;
- the transceiver is further configured to send a flow table response message to the controller.
- the cache information includes creating cache indication information or modifying cache indication information or deleting cache indication information.
- the cache information includes cache type information, and the cache type information is used to indicate how the data packet is stored.
- the cache type information includes: storing the received data packet, or storing and forwarding the received data packet.
- the cache information includes: a cache creation trigger indication, wherein the cache creation trigger indication is used to indicate the creation timing of the cache.
- the triggering triggering indication of the cache includes: the network element generates an indication of the buffer when receiving the flow table message, or the receiving rate of the network element is greater than the network element An indication of the cache is created when the rate is forwarded.
- the cache information includes: a storage space size of the cache.
- the cache information is located in an action set field of the flow table message.
- an embodiment of the present application provides a computer storage medium, where a computer storage medium stores instructions, and when executed on a computer, causes the computer to execute any one of the methods related to the first aspect.
- an embodiment of the present application provides a controller, including: a memory, a processor, and a transceiver;
- the memory is used to store program instructions; the processor is used to call program instructions in the memory;
- the transceiver is configured to send a flow table message to the network element, where the flow table message includes cache information of the data packet matched by the flow table;
- the transceiver is further configured to receive a flow table response message sent by the network element.
- the cache information includes creating cache indication information or modifying cache indication information or deleting cache indication information.
- the cache information includes cache type information, and the cache type information is used to indicate how the data packet is stored.
- the cache type information includes: storing the received data packet, or storing and forwarding the received data packet.
- the cache information includes: a cache creation trigger indication, wherein the cache creation trigger indication is used to indicate the creation timing of the cache.
- the triggering triggering indication of the cache includes: the network element generates an indication of the buffer when receiving the flow table message, or the receiving rate of the network element is greater than the network element An indication of the cache is created when the rate is forwarded.
- the cache information includes: a storage space size of the cache.
- the cache information is located in an action set field of the flow table message.
- an embodiment of the present application provides a computer storage medium.
- the computer storage medium stores an instruction, when the computer is running on the computer, causing the computer to perform any one of the methods involved in the second aspect.
- FIG. 1 is a schematic diagram of a software defined network structure in an embodiment of the present application.
- Embodiment 1 of a cache control method provided by the present application
- Embodiment 3 is a schematic flowchart of Embodiment 2 of a cache control method provided by the present application;
- Embodiment 4 is a schematic flowchart of Embodiment 3 of a cache control method provided by the present application.
- FIG. 5 is a schematic flowchart of Embodiment 4 of a cache control method provided by the present application.
- FIG. 6 is a schematic flowchart of Embodiment 5 of a cache control method provided by the present application.
- FIG. 7 is a schematic flowchart of Embodiment 6 of a cache control method provided by the present application.
- Embodiment 8 is a schematic structural diagram of Embodiment 1 of a network element according to the present application.
- Embodiment 9 is a schematic structural diagram of Embodiment 2 of a network element according to the present application.
- Embodiment 1 of a controller is a schematic structural diagram of Embodiment 1 of a controller according to the present application.
- FIG. 11 is a schematic structural diagram of Embodiment 2 of a controller according to the present application.
- the RAN-C involved in the embodiment of the present application mainly includes the control plane function of the traditional access network.
- the GW-C involved in the embodiment of the present application mainly includes the control plane function of the traditional gateway device.
- the controller of the mobile network involved in the embodiment of the present application is mainly responsible for the management of the lower layer forwarding plane resources and the services of the upper layer control plane network elements (for example, RAN-C, GW-C).
- the controller may also be referred to as an SDN controller, which is not limited in this embodiment of the present application.
- the RAN-U involved in the embodiment of the present application mainly includes the user interface function of the traditional access network, and communicates using the openflow protocol.
- the GW-U involved in the embodiment of the present application mainly includes a traditional gateway user plane function, and communicates using the openflow protocol.
- the mobility management entity (MME) involved in the embodiment of the present application is a key control node of the 3GPP protocol long term evolution (LTE) access network, and the main functions of the MME include access control and mobility management. , session management, network element selection, storage user bearer information, and so on.
- LTE long term evolution
- One or more data packets having the same header information are defined in the embodiment of the present application to belong to the same data stream.
- the flow table message involved in the embodiment of the present application may be sent/received by using the openflow protocol.
- FIG. 1 is a schematic diagram of a software-defined network structure in an embodiment of the present application.
- a control plane network element and a forwarding plane network element (or a user plane network) of a mobile network are implemented based on a software defined network (SDN) architecture. Separation of yuan).
- the control plane network element of the mobile network communicates with the controller of the mobile network through the northbound interface, wherein the control plane network element includes: a radio access network control plane (RAN-C) and a gateway control plane (gateway control) Plane, GW-C).
- RAN-C radio access network control plane
- GW-C gateway control plane
- the forwarding plane network element of the mobile network communicates with the controller of the mobile network through the openflow protocol, wherein the forwarding plane network element includes: a radio access network user plane (RAN-U) and a gateway user plane (gateway) User plane, GW-U).
- RAN-U radio access network user plane
- GW-U gateway user plane
- the cache control method, the network element, and the controller provided by the present application may be applied to the network structure shown in FIG. 1 , and may be applied to other equivalent or modified network structures as shown in FIG. 1 . There is no limit to this.
- RAN-U and/or GW-U need to have certain caching capabilities to ensure normal forwarding of data packets in the mobile network:
- the GW-U when the terminal device is in an idle state (for example, the air interface connection and the S1 connection have been released) and the GW-U receives the downlink data addressed to the terminal device, the GW-U cannot continue to forward the downlink data, so The GW-U needs to buffer the downlink data stream and wait for the establishment of the air interface connection and the S1 connection.
- the second case is that when the air interface connection of the terminal device has been released and the RAN-U receives the downlink data addressed to the terminal device, the RAN-U cannot continue to forward the downlink data, therefore, the RAN-U needs to The downstream data stream is buffered and waiting for the establishment of an air interface connection.
- the third scenario when the terminal device is in the connected state and the RAN-U receives a large amount of downlink data and forwards the downlink data to the terminal device through the air interface connection, the RAN-U is directed to the terminal due to the tight air interface resource.
- the rate at which the device forwards the downlink data may not match the rate at which the downlink data is received. Therefore, the RAN-U needs to buffer the received downlink data stream.
- the fourth scenario when the terminal device performs network handover, the target RAN-U needs to receive the downlink data sent by the source RAN-U and the GW-U, respectively. To ensure that the downlink data sent by the source RAN-U is preferentially forwarded, the RAN-U needs to The downlink data sent by the GW-U is buffered.
- the RAN-U and/or the GW-U may also have a certain buffering capability in other situations, which is not limited in the embodiment of the present application.
- the cache control method, the network element and the controller provided by the present application implement a flow granularity-based cache processing mechanism in the openflow protocol to meet the data cache requirement of the mobile network.
- FIG. 2 is a schematic flowchart of Embodiment 1 of a cache control method provided by the present application.
- the execution subject involved in this embodiment includes: a controller and/or a network element, and both the controller and the network element can be implemented by software and/or hardware.
- the network element involved in the embodiment of the present application may include, but is not limited to, GW-U or RAN-U.
- the method in this embodiment includes:
- Step S201 The controller sends a flow table message to the network element, where the flow table message includes cache information of the data packet matched by the flow table.
- the controller sends a flow table message to the network element; optionally, the flow table message is used to indicate information of the flow table.
- the flow table message includes cache information of the data packet matched by the flow table.
- the one or more data packets necessarily have the same header information, that is, the one or more data packets belong to the same data flow, that is, the same
- the data stream corresponds to the same cache (ie, the cache is used to store one or more data packets matched by the flow table, and the multiple data packets belong to the same data stream).
- the cache information includes: creating cache indication information or modifying cache indication information or deleting cache indication information.
- the creating cache indication information is used to instruct the network element to create a cache corresponding to the flow table (for storing at least one data packet that matches the flow table).
- the modified cache indication information is used to indicate that the network element modifies the cached attribute information corresponding to the flow table (including, but not limited to, the cached cache type information or the cached storage space size, etc.).
- the deletion cache indication information is used to instruct the network element to delete a cache corresponding to the flow table.
- the cache information may further include any one or more of the following: cache type information, a cache creation trigger indication, and a buffered storage space size.
- the cache information may also include other information, which is not limited in the embodiment of the present application.
- any one of the cache information including the cache type information, the cache creation trigger indication, and the cached storage space size.
- the cache information may include the cache type information, where the cache type information is used to indicate a storage manner of the data packet (that is, the data packet matched by the flow table is stored in the The way the cache is stored).
- the cache type information includes, but is not limited to, storing the received data packet (ie, storing only non-forwarding), or storing and forwarding the received data packet (ie, forwarding while storing).
- the cache type information may be indicated by a preset value of the first preset field, for example, if the first preset field is equal to the first preset value, the cache type information is included to receive And the data packet matched by the flow table is stored; if the first preset field is equal to the second preset value, the proxy type information includes storing the data packet matched by the received flow table. And forwarded.
- the cache type information may also be indicated in other manners, which is not limited in the embodiment of the present application.
- the cache information may include: a creation trigger indication of the cache, and the creation trigger indication of the cache is used to indicate a creation opportunity of the cache.
- the creation trigger indication of the cache includes, but is not limited to, an indication that the network element creates the cache when receiving the flow table message (that is, when the network element receives the flow table message) The cache is created immediately, or the indication of the cache is created when the receiving rate of the network element is greater than the forwarding rate of the network element.
- the receiving rate of the network element represents a rate at which the network element receives the at least one data packet that is matched by the flow table, where the forwarding rate is a rate at which the network element forwards the at least one data packet .
- the creation triggering indication of the cache may be indicated by a preset value of the second preset field, for example, if the second preset field is equal to the third preset value, triggering creation of the cache
- the indication includes the indication that the network element creates the cache when receiving the flow table message; if the second preset field is equal to the fourth preset value, the trigger trigger for creating the cache includes the network
- the indication of the cache is created when the receiving rate of the element is greater than the forwarding rate of the network element.
- the creation triggering indication of the cache may also be indicated by other means, which is not limited in the embodiment of the present application.
- the cache information may further include: a storage space size of the cache.
- the size of the cached storage space may be indicated by a preset value of the third preset field.
- the size of the storage space of the cache may be indicated by other means, which is not limited in the embodiment of the present application.
- the cache information includes at least two of the cache type information, the cache creation trigger indication, and the cached storage space size
- the foregoing (A)-(C) part may be used.
- the combination of the corresponding indication manners in the description is not repeated herein.
- the cache information may not include any one of the cache type information, the cache creation trigger indication, and the cached storage space size.
- the network element determining, according to the cache information, any one or more of a cache corresponding to the flow table according to preset cache type information, a preset creation trigger indication, and a preset storage space size.
- Determining, according to the cache information, the cache corresponding to the flow table according to the cache type information, a preset creation trigger indication, and the cache information, and the cache creation information and the cache type information, and the cache information The default storage size. For example, if the cache information includes the create cache indication information, the cache type information, and the cache creation trigger indication, the network element determines, according to the cache information, that the cache corresponding to the flow table is in accordance with the cache. Type information, the cache creation trigger indication, and a preset storage space size.
- the cache information in the embodiment of the present application may be located in an action set field of the flow table message; of course, the cache information may also be located in other fields of the flow table message, and the application is implemented. This example does not limit this.
- Table 1 shows the field types added in the action set field in the embodiment of the present application. As shown in Table 1, the following is an example in which the cache information is located in the action set field of the flow table message.
- Table 1 shows the field types added in the action set field in the embodiment of the present application.
- the flow table message may further include: an identifier of the flow table and/or matching information of the flow table, where the matching information of the flow table is used to indicate a data packet that matches the flow table.
- Characteristic information for example, including but not limited to the source IP address, source port number, destination IP address, destination port number, protocol type, etc.
- the matching information may be located in a match field of the flow table message.
- the matching information may also be located in other fields of the flow table message, which is not limited in this embodiment. .
- the flow table message may also include other information, which is not limited in the embodiment of the present application.
- Step S202 The network element receives the flow table message sent by the controller.
- the network element receives the flow table message sent by the controller, and optionally, the flow table message includes cache information of the data packet matched by the flow table.
- Step S203 The network element processes the buffer of the data packet according to the cache information.
- the network element caches the flow table according to the cache information (including but not limited to: creating cache indication information, modifying cache indication information, and deleting cache indication information) (for storing the flow table) Matching one or more data packets, and the plurality of data packets belong to the same data stream for corresponding processing (including but not limited to: creating the cache, modifying the cache, and deleting the cache).
- the cache information including but not limited to: creating cache indication information, modifying cache indication information, and deleting cache indication information
- the network element creates a size that satisfies the storage space according to the created cache indication information and the size of the cached storage space.
- Cache, and the buffered cache type information is preset cache type information
- the cache creation trigger indication is a preset creation trigger indication, so that the network element matches at least one data packet of the flow table.
- the cache corresponding to the flow table is stored in the corresponding storage manner.
- the network element corresponds to the flow table according to the modified cache indication information and the modified cache type information.
- the cached original cache type information is modified into the modified cache type information, so that the network element stores at least one data packet matched by the flow table in a cache corresponding to the flow table according to a corresponding storage manner.
- the network element deletes the cache corresponding to the flow table according to the deletion cache indication information.
- the cache information may further include other types of information.
- the network element performs corresponding processing on the cache corresponding to the flow table according to the cache information, which is not limited in the embodiment of the present application.
- Step S204 The network element sends a flow table response message to the controller.
- the network element after processing, by the network element, the buffer of the data packet according to the cache information, the network element sends a flow table response message to the controller, so as to notify the controller that the network element is according to the The result of processing the flow table message.
- the flow table response message carries the acknowledgement information; if the network element does not successfully complete the processing of the data packet, the The flow table response message carries non-confirmation information.
- Step S205 The controller receives a flow table response message sent by the network element.
- the flow table message is sent to the network element by the controller; the flow table message includes the cache information of the data packet matched by the flow table; further, the network element is configured according to the received flow table message.
- the cache information is processed, and the cache of the data packet is processed, so that the network element can store at least one data packet matched by the flow table in a cache corresponding to the flow table according to a corresponding storage manner, that is, A network element can store multiple data packets belonging to the same data stream into the same cache.
- the cache control method provided by the embodiment of the present application implements the cache processing method based on the granularity of the data flow in the openflow protocol, and can meet the data cache requirement of the mobile network.
- FIG. 3 is a schematic flowchart diagram of Embodiment 2 of a cache control method provided by the present application. As shown in FIG. 3, it is assumed that the flow table message sent by the controller to the network element includes: an identifier of the first flow table, cache information of the first flow table, an identifier of the second flow table, and a cache of the second flow table.
- the information of the cache information of the first flow table includes: the cache creation indication information of the first flow table and the cache type information of the first flow table (for example, storing the first data packet matched by the received first flow table)
- the cache information of the second flow table includes: creation cache indication information of the second flow table and cache type information of the second flow table (for example, storing the second data packet matched by the received second flow table) And forward).
- the network element When the network element receives the one or more first data packets (such as the first data stream) that are matched by the first flow table, the network element sends the one or one according to the cache information of the first flow table.
- the plurality of first data packets are stored in the cache corresponding to the first flow table; when the network element receives the one or more second data packets (such as the second data flow) that the second flow table matches from the entry 2, The network element stores the one or more second data packets according to the cache information of the second flow table and forwards them from the egress 2.
- FIG. 4 is a schematic flowchart diagram of Embodiment 3 of a cache control method provided by the present application. Based on the foregoing embodiment, in the embodiment of the present application, the cache control method is applied to an attach procedure when the terminal device accesses the network. As shown in FIG. 4, the method in this embodiment may include:
- Step 1 The terminal device sends an attach request message to the RAN-C through the RAN-U and the controller.
- Step 2 The RAN-C forwards the attach request message to the MME.
- Step 3 The MME performs authentication and security processing (authentication/security) on the attach request message.
- Step 4 The MME updates the location information (update location) on the home subscriber server (HSS).
- HSS home subscriber server
- Step 5 The MME sends a session creation request (create session request) message to the GW-C, where the session creation request message carries the identifier of the RAN-U.
- Step 6 The GW-C sends a first create flow request message to the controller, where the first create flow table request message is used to instruct the controller to control the GW-U to create a first downstream flow table, the first creation
- the flow table request message carries the identifier of the GW-U, the identifier of the RAN-U (that is, the identifier of the target network element of the data flow matched by the first downstream flow table), and the identifier of the APN (that is, the first downstream flow table matches) ID of the source network element of the data stream).
- Step 7 The controller sends a first flow table creation message to the GW-U through the openflow protocol, where the first flow table creation message is used to instruct the GW-U to create a first downstream flow table to the RAN-U.
- Step 8 The controller returns a first create flow response message to the GW-C, where the first create flow table response message includes a flow table creation result.
- Step 9 The GW-C returns a session creation response (create session response) message to the MME.
- Step 10 The MME sends an initial context setup request message to the RAN-C and carries an attach accept message.
- Step 11 The RAN-C sends a second create flow table request message to the controller, where the second create flow table request message is used to instruct the controller to control the RAN-U to create a second downstream flow table, where the second create flow table request message is carried.
- Step 12 The controller sends a second flow table creation message to the RAN-U through the openflow protocol, where the second flow table creation message is used to instruct the RAN-U to create a second downstream flow table to the terminal device.
- the second flow table creation message may include: an identifier of the second downstream flow table (such as a cookie) and matching information of the second downstream flow table.
- the air interface transmission rate (that is, the rate at which the RAN-U transmits data packets to the terminal device) may be smaller than the transmission rate of the GW-U to the RAN-U (ie, the reception rate of the data packet transmitted by the RAN-U receiving GW-U is greater than the RAN.
- -U forwards the forwarding rate of the data packet to the terminal device), and the RAN-U needs to buffer the received data packet.
- the second flow table creation message in the embodiment of the present application may be implemented in at least two ways:
- the second flow table creation message may further include cache information of the second downstream flow table.
- the action set of the second flow table creation message includes the cache information of the second downstream flow table, where the cache information of the second downstream flow table may include: creating the cache indication information, the size of the cached storage space, and the cache type information.
- a cache creation trigger indication includes an indication that the RAN-U receives the cache rate when the receiving rate is greater than the forwarding rate of the RAN-U.
- the second flow table creation message does not include the cache information of the second downstream flow table (that is, the second flow table creation message is a normal flow table message in the prior art).
- the RAN-U detects that the receiving rate is greater than the forwarding rate, the RAN-U reports a rate detection message to the controller, where the rate detection message carries: an identifier of the second downstream flow table and a rate mismatch identifier; the rate mismatch identifier is used to indicate The reception rate of the RAN-U is greater than the forwarding rate.
- the controller determines, according to the identifier of the second downstream flow table and the rate mismatch identifier, that the RAN-U needs to create a cache, and sends a first flow table modification message to the RAN-U by using the openflow protocol, where the first flow table modification message may include: The identifier of the second downstream flow table and the cache information of the second downstream flow table; the cache information of the second downstream flow table includes: a cache creation indication information, a cache storage space size, a cache type information, and a cache creation trigger indication; The cache type information includes storing and forwarding the received data packet, and the cache creation trigger indication includes an indication that the RAN-U creates a cache when receiving the first flow table modification message.
- Step 13 The controller returns a second create flow response message to the RAN-C, where the second create flow table response message includes a flow table creation result.
- Step 14 The RAN-C sends an RRC connection reconfiguration message to the terminal device through the controller and the RAN-U.
- Step 15 The terminal device returns an RRC connection reconfiguration complete message to the RAN-C.
- Step 16 The RAN-C replies to the MME with an initial context setup response message.
- Step 17 The terminal sends a direct transfer message to the RAN-C through the RAN-U and the controller, where the direct transmission message includes an attach complete message.
- Step 18 The RAN-C sends an attach complete message to the MME.
- the size of the step number is not limited to the sequence of the execution sequence, and the order of execution of the steps may be appropriately adjusted, which is not limited in the embodiment of the present application.
- the RAN-U in the attaching process when the terminal device accesses the network, when the forwarding rate of the downlink data forwarded by the RAN-U to the terminal device is smaller than the rate of receiving the downlink data, the RAN-U receives the received data.
- the downlink data is buffered based on the granularity of the data stream, so as to meet the data cache requirement of the mobile network.
- FIG. 5 is a schematic flowchart diagram of Embodiment 4 of a cache control method provided by the present application.
- the cache control method is applied to a network handover procedure triggered when the terminal device is in a connected state and the location changes.
- the method in this embodiment may include:
- Step 1 The source RAN-C performs signal measurement on the terminal device.
- Step 2 The source RAN-C determines to perform network switching according to the result of the signal measurement.
- Step 3 The source RAN-C sends a handover request message to the target RAN-C.
- Step 4 The target RAN-C performs admission control on the terminal device to decide whether to allow the terminal device to access.
- Step 5 The target RAN-C replies to the source RAN-C with a handover request ACK message.
- Step 6 The source RAN-C sends an RRC connection reconfiguration message to the terminal device through the controller and the source RAN-U.
- Step 7 The source RAN-C sends a handover command to the controller, where the handover command is used to instruct the controller to switch the user plane forwarding path.
- the handover command carries the identifier of the source RAN-U before the handover, the identifier of the target RAN-U after the handover, and the identifier of the terminal device, that is, the controller is notified which RAN-U to switch to which RAN-U.
- Step 8 The controller obtains the serial number status from the source RAN-U.
- the sequence number status may be the serial number status of the PDCP.
- Step 9 The controller notifies the target RAN-U of the serial number status.
- Step 10a The controller sends a second flow table modification message to the source RAN-U through the openflow protocol, where the second flow table modification message is used to indicate that the source RAN-U matches the target of the data flow matched by the downstream table in the source RAN-U.
- the network element is modified by the terminal device to the target RAN-U, so that the source RAN-U forwards the data packet originally forwarded to the terminal device to the target RAN-U.
- Step 10b The controller sends a third flow table creation message, a fourth flow table creation message, and a fifth flow table creation message to the target RAN-U through the openflow protocol.
- the third flow table creation message, the fourth flow table creation message, and the fifth flow table creation message may also create a message for a flow table, which is not limited in the embodiment of the present application.
- the third flow table creation message is used to instruct the RAN-U to create a first upstream flow table (for forwarding an uplink data packet from the terminal device to the GW-U), and the fourth flow table creation message is used to indicate the RAN- U creates a forwarding flow table (for forwarding a forwarding packet from the source RAN-U to the terminal device), and a fifth flow table creation message is used to indicate
- the RAN-U creates a third downstream flow table (for forwarding downlink packets from the GW-U to the terminal device).
- the third flow table creation message may include: an identifier of the first upstream flow table, matching information of the first upstream flow table, and cache information of the first upstream flow table; and the fourth flow table creation message may include: forwarding the flow The identifier of the table and the matching information of the forwarding flow table.
- the fifth flow table creation message may include: an identifier of the third downstream flow table, matching information of the third downstream flow table, and cache information of the third downstream flow table.
- the controller determines whether the upstream table in the GW-U can only match the data packet forwarded from the source RAN-U, and cannot match the data packet forwarded by the target RAN-U).
- the target RAN-U needs to buffer the data packets that need to be sent to the GW-U, and waits for the completion of the step 18 (ie, the controller determines that the upstream table in the GW-U can match the data packet forwarded by the target RAN-U). Forward the cached packet to GW-U.
- the third flow table creation message in the embodiment of the present application may be implemented by at least:
- the action set of the third flow table creation message includes the cache information of the first upstream flow table, where the cache information of the first upstream flow table may include: creating the cache indication information, the size of the cached storage space, the cache type information, and the creation of the cache. Trigger indication.
- the buffer type information includes storing the received data packet, and the cache creation triggering indication includes that the receiving rate of the target RAN-U (that is, the rate of receiving the data packet matched by the first upstream flow table) is greater than that of the target RAN-U.
- the rate ie, the rate at which the data packet matched by the first upstream table is forwarded
- the controller determines the target RAN-U and the terminal device.
- the air interface connection may not be established either, or because the air interface transmission rate (ie, the rate at which the target RAN-U sends data packets to the terminal device) may be smaller than the transmission rate of the source RAN-U to the target RAN-U (ie, the target RAN-U)
- the receiving rate of the data packet sent by the receiving source RAN-U is greater than the forwarding rate of the target RAN-U forwarding the data packet to the terminal device.
- the target RAN-U needs to buffer the received data packet.
- the fourth flow table creation message in the embodiment of the present application can be implemented in at least two ways:
- the fourth flow table creation message may further include the cache information of the forwarding flow table.
- the action set of the fourth flow table creation message includes the cache information of the forwarding flow table, where the cache information of the forwarding flow table may include: creating the cache indication information, the size of the cached storage space, the cache type information, and the creation of the cache. Trigger indication.
- the packet is stored and forwarded, and the cache creation trigger indication includes an indication of creating a cache when the receiving rate of the target RAN-U is greater than the forwarding rate of the target RAN-U.
- the cache type information includes receiving The obtained data packet is stored, and the cache creation trigger indication includes an indication of creating a cache when the receiving rate of the target RAN-U is greater than the forwarding rate of the target RAN-U.
- the fourth flow table creation message does not include the cache information of the forwarding flow table (that is, the fourth flow table creation message is a normal flow table message in the prior art).
- the target RAN-U detects that the receiving rate is greater than the forwarding rate, the target RAN-U reports a rate detection message to the controller, where the rate detection message carries: an identifier of the forwarding flow table and a rate mismatch identifier; the rate mismatch identifier is used to indicate The receiving rate of the target RAN-U is greater than the forwarding rate.
- the controller determines that the target RAN-U needs to create a buffer according to the identifier of the flow table and the rate mismatch identifier, and sends a third flow table modification message to the target RAN-U through the openflow protocol, where the third flow table modification message may include
- the forwarding information of the forwarding flow table and the cache information of the forwarding flow table may include: creating a cache indication information, a cache type information, and a cache creation trigger indication.
- the packet is stored and forwarded, and the cache creation trigger indication includes an indication that the target RAN-U creates a cache when receiving the third flow table modification message.
- the cache type information includes receiving The obtained data packet is stored, and the cache creation trigger indication includes an indication that the target RAN-U creates a cache when receiving the third flow table modification message.
- the control The device may not have received the notification message in step 29 below (ie, the controller determines that the target RAN-U has not yet completed the forwarding of the data packet sent by the source RAN-U), or because of the air interface transmission rate (ie, the target RAN-U direction)
- the rate at which the terminal device sends the data packet may be smaller than the transmission rate of the GW-U to the target RAN-U (ie, the target RAN-U receives the receiving rate of the data packet sent by the GW-U, and is larger than the target RAN-U forwards the data packet to the terminal device. Forwarding rate), the target RAN-U needs to cache the received data packets.
- the action set of the fifth flow table creation message includes the cache information of the third downstream flow table, and the cache information of the third downstream flow table may include: creating the cache indication information, the size of the cached storage space, the cache type information, and the cache creation trigger indication. . a) if the controller has received the notification message in step 29 below (ie, the controller determines that the target RAN-U has forwarded the data packet sent by the source RAN-U), the cache type information includes performing the received data packet.
- the cache creation trigger indication includes an indication of creating a cache when the reception rate of the target RAN-U is greater than the forwarding rate of the target RAN-U.
- the cache type information includes the received data.
- the packet is stored, and the cache creation trigger indication includes an indication of creating a cache when the reception rate of the target RAN-U is greater than the forwarding rate of the target RAN-U.
- Step 11 Since the target network element of the data stream matched to the downstream table in the source RAN-U is modified by the terminal device to the target RAN-U in the previous step 10a, the source RAN-U forwards the original RAN-U to the terminal in this step. The device's data packets are forwarded to the target RAN-U.
- Step 12 The terminal sends an RRC connection reconfiguration complete message to the target RAN-C through the target RAN-U and the controller, to indicate that the air interface connection has been established.
- Step 13 When the controller performs the above step 10b and has not received the RRC connection reconfiguration complete message in step 12, the cache type information of the fourth flow table creation message in the above step 10b includes storing the received data packet. Therefore, after the controller receives the RRC connection reconfiguration complete message in the step 12, the controller sends a fourth flow table modification message to the target RAN-U, where the fourth flow table modification message may include: And modifying the cache indication information and the cache type information; the cache type information includes storing and forwarding the received data packet, so that the target RAN-U smoothly forwards the data packet sent by the source RAN-U to the terminal device.
- step 13 is not required.
- Step 14 The target RAN-U sends downlink data to the terminal device according to the forwarding flow table and/or the third downstream flow table. In addition, the target RAN-U forwards the uplink data packet sent by the terminal device to the GW according to the first upstream flow table. U.
- Step 15 After receiving the RRC connection reconfiguration complete message in step 12, the target RAN-C sends a path switch request message to the MME.
- Step 16 The MME sends a first modify bearer request message to the GW-C.
- Step 17 The GW-C sends a first modify flow request message to the controller, where the first modified flow table request message is used to instruct the controller to modify the uplink and downlink flow table of the GW-U, and the first modified flow table
- the request message carries the identifier of the GW-U, the identifier of the target RAN-U (ie, the identifier of the target network element of the data flow matched by the downstream flow table in the GW-U), the identifier of the terminal device, and the identifier of the APN (used to identify the GW) -
- Step 18 The controller sends a fifth flow table modification message to the GW-U through the openflow protocol, where the fifth flow table modification message is used to instruct the GW-U to modify the uplink and downlink flow table in the GW-U, so that the GW-U can correctly
- the data packet transmitted by the target RAN-U is forwarded and the data packet can be correctly transmitted to the target RAN-U.
- Step 19a After performing step 18, the controller sends a packet out message to the GW-U through the openflow protocol, and forwards the message to the source RAN-U through the GW-U; wherein the packet out message carries the end identifier (End) The Marker) data packet, the end marker data packet is used to indicate that the GW-U to the source RAN-U has been sent.
- Step 19b After performing step 18, if the cache type information of the third flow table creation message in the above step 10b includes storing the received data packet, the controller sends the sixth stream to the target RAN-U through the openflow protocol.
- the table modification message may include: an identifier of the first upstream table, a modified cache indication information, and a cache type information; the cache type information includes storing and forwarding the received data packet to facilitate the target RAN.
- -U sends a packet to the GW-U.
- Step 19b-1 If the above step 19b is performed, when the cache corresponding to the first upstream table created in step 10b is empty or the action of creating the cache corresponding to the first upstream table has not been triggered, the target RAN-U The controller reports a first data forwarding complete message, where the first data forwarding complete message carries the identifier of the first upstream flow table.
- Step 19b-2 If the controller receives the first data forwarding complete message reported by the target RAN-U in step 19b-1, the seventh flow table modification message is sent to the target RAN-U through the openflow protocol, and the seventh flow table is modified.
- the message includes: an identifier of the first upstream table, matching information, and deletion of the cache indication information.
- the deletion cache indication information is used to indicate that the target RAN-U deletes the cache of the first upstream flow table.
- Step 20 The source RAN-U forwards the end identification data packet sent by the GW-U to the target RAN-U.
- Step 21 When the above step 20 is performed and the buffer corresponding to the downstream table in the source RAN-U is empty, the source RAN-U sends a second data forwarding complete message to the controller for notifying the controller source RAN-U.
- the packet forwarding to the target RAN-U is completed, where the second data forwarding completion message carries an identifier (such as a cookie information) of the downstream table in the source RAN-U.
- Step 22 After receiving the second data forwarding complete message in step 21, the controller sends a first flow table deletion message to the source RAN-U through the openflow protocol (for indicating that the source RAN-U deletes the downstream flow in the source RAN-U. Table), the first flow table deletion message includes: an identifier of a downstream flow table in the source RAN-U.
- Step 23 The controller returns a first modify flow response message to the GW-C.
- Step 24 The GW-C returns a first modify bearer response message to the MME.
- Step 25 The MME returns a path switch request Ack message to the target RAN-C.
- Step 26 The target RAN-C sends a UE context release message to the source RAN-C to indicate that the source RAN-C releases the context information of the terminal device.
- Step 27 The source RAN-C sends a resource release message to the controller, where the resource release message carries the identifier of the terminal device and the identifier of the source RAN-U, and is used to instruct the controller to release the corresponding terminal on the corresponding RAN-U.
- the resources of the device are not limited to the resource release message.
- Step 28 The controller determines the corresponding flow table according to the identifier of the terminal device and the identifier of the source RAN-U, and sends a second flow table deletion message to the source RAN-U through the openflow protocol (for indicating the source RAN-U deletion corresponding Flow table).
- Step 29 When the target RAN-U detects that the packet corresponding to the forwarding flow table created in step 10b (used to buffer the data packet sent by the source RAN-U) has been forwarded (that is, the cache corresponding to the forwarding flow table is The target RAN-U sends a third data forwarding complete message to the controller, and the third data forwarding complete message carries the identifier of the forwarding flow table.
- Step 30 After the controller receives the third data forwarding complete message in step 29, the controller determines that the target RAN-U has forwarded the data packet sent by the source RAN-U, so that the target RAN-U can start forwarding the GW- U sent the packet. If the buffered cache type information corresponding to the third downstream flow table created in the step 10b includes storing and forwarding the received data packet, the step is not performed; if the buffer is corresponding to the third downstream flow table created in the step 10b, The cache type information includes the storage of the received data packet, and the eighth flow table modification message is sent to the target RAN-U by using the openflow protocol.
- the eighth flow table modification message may include: an identifier of the third downstream flow table, Modifying the cache indication information and the cache type information; the cache type information includes storing and forwarding the received data packet, so that the target RAN-U starts to forward the data packet sent by the GW-U.
- Step 31 After receiving the third data forwarding completion message in step 29, the controller sends a third flow table deletion message to the target RAN-U through the openflow protocol, where the third flow table deletion message carries the forwarding flow table. And an identifier, configured to indicate that the target RAN-U deletes the forwarding flow table.
- the size of the step number is not limited to the sequence of the execution sequence, and the order of execution of the steps may be appropriately adjusted, which is not limited in the embodiment of the present application.
- the target RAN-U in the network switching process, when the air interface connection of the terminal device has been released and the target RAN-U receives the downlink data that needs to be sent to the terminal device, the target RAN-U cannot continue to forward the downlink data. Therefore, the target RAN-U performs a data stream granularity-based buffering manner for the downlink data, and when the target RAN-U forwards the downlink data to the terminal device, the forwarding rate is smaller than the rate at which the downlink data is received, and the target RAN-U receives the downlink.
- the data is buffered based on the granularity of the data stream, and when the terminal device performs the network handover, the target RAN-U needs to separately receive the downlink data sent by the source RAN-U and the GW-U, in order to ensure the downlink of the priority forwarding source RAN-U.
- the RAN-U performs the data stream granularity-based caching method for the downlink data sent by the GW-U, thereby meeting the data cache requirement of the mobile network.
- FIG. 6 is a schematic flowchart of Embodiment 5 of a cache control method provided by the present application.
- the cache control method is applied to the S1 connection release process triggered when the terminal device does not have a service for a period of time.
- the method in this embodiment may include:
- Step 1 The RAN-C sends an RRC connection release message (instructing the terminal device to release the RRC connection) to the terminal device through the controller and the RAN-U, and the RAN-C sends the S1 context release of the terminal device to the MME through the S1-AP interface.
- Request S1 UE context release request
- Step 2 The MME sends a release access bearers request message to the GW-C to request the GW-C to release the S1 connection of the terminal device.
- Step 3 The GW-C sends a modify downlink request message to the controller, where the downlink connection request message carries the identifier of the GW-U, the identifier of the RAN-U, and the identifier of the terminal device; Modifying the fourth downstream flow table of the corresponding terminal device from the GW-U to the RAN-U.
- Step 4 The controller determines the fourth downstream flow table according to the downlink connection request message, and sends a ninth flow table modification message to the GW-U through the openflow protocol, where the ninth flow table modification message may include: the identifier of the fourth downstream flow table.
- the cache information may include: creating a cache indication information, a cache type information, and a cache creation trigger indication; wherein the cache type information includes storing the received data packet, and the cache creation trigger indication includes a GW-
- the receiving rate of the U ie, the rate at which the data packet matched by the fourth downstream flow table is received
- the forwarding rate of the GW-U ie, the rate at which the data packet matched by the fourth downstream flow table is forwarded).
- Step 5 The controller replies to the GW-C with a modify downlink response message.
- Step 6 The GW-C replies to the MME with a release access bearer response message.
- Step 7 The MME sends a S1 UE context release command (S1 UE context release command) message to the RAN-C to release the S1 connection.
- S1 UE context release command S1 UE context release command
- Step 8 If the RRC connection has not been released, the RAN-C sends an RRC connection release message to the terminal device.
- Step 9 After receiving the S1 context release command message of the terminal device in step 7, the RAN-C sends a delete flow request message to the controller, where the RAN-U is carried in the delete flow table request message. Identification and identification of the terminal device.
- Step 10 The controller determines the corresponding uplink and downlink flow table according to the identifier of the RAN-U and the identifier of the terminal device in the deletion flow table request message, and sends a fourth flow table deletion message to the RAN-U through the openflow protocol (for The RAN-U is instructed to delete the corresponding uplink and downlink flow table and the cache corresponding to the uplink and downlink flow table.
- Step 11 The controller returns a delete flow response message to the RAN-C.
- Step 12 The RAN-C sends a S1 UE context release complete message of the terminal device to the MME.
- the size of the step number is not limited to the sequence of the execution sequence, and the order of execution of the steps may be appropriately adjusted, which is not limited in the embodiment of the present application.
- the GW-U in the S1 connection release process, when the terminal device is in an idle state (for example, the air interface connection and the S1 connection have been released) and the GW-U receives the downlink data that needs to be forwarded to the terminal device, the GW The -U cannot continue to forward the downlink data. Therefore, the GW-U performs a data stream granularity-based buffering method for the downlink data to wait for the establishment of the air interface connection and the S1 connection, thereby satisfying the data cache requirement of the mobile network.
- FIG. 7 is a schematic flowchart diagram of Embodiment 6 of a cache control method provided by the present application. Based on the foregoing embodiment, in the embodiment of the present application, the cache control method is applied to a service request process triggered when the terminal device is in an idle state and wants to initiate a service. As shown in FIG. 7, the method in this embodiment may include:
- Step 1 The terminal device sends a service request message to the MME.
- the service request message may be carried in a non-access-stratum (NAS) message.
- NAS non-access-stratum
- Step 2 The MME performs identity verification and security processing on the service request message of the UE.
- Step 3 The MME sends an initial context setup request message to the RAN-C.
- the MME may send an initial context setup request message through the S1-AP interface.
- Step 4 The RAN-C sends a third create flow table request message to the controller, where the third create flow table request message is used to instruct the controller to control the RAN-U to create a fifth downstream flow table, where the third create flow table request message is carried.
- the identifier of the RAN-U, the identifier of the GW-U that is, the identifier of the source network element of the data stream matched by the fifth downstream flow table
- the identifier of the terminal device that is, the target network element of the data stream matched by the fifth downstream flow table
- Step 5 The controller sends a sixth flow table creation message to the RAN-U through the openflow protocol, and the sixth flow table creation message is used to instruct the RAN-U to create a fifth downstream flow table to the terminal device.
- the sixth flow table creation message may include: an identifier of the fifth downstream flow table and matching information.
- the air interface transmission rate (that is, the rate at which the RAN-U transmits data packets to the terminal device) may be smaller than the transmission rate of the GW-U to the RAN-U (ie, the reception rate of the data packet transmitted by the RAN-U receiving GW-U is greater than the RAN.
- -U forwards the forwarding rate of the data packet to the terminal device), and the RAN-U needs to buffer the received data packet.
- the sixth flow table creation message in the embodiment of the present application may be implemented in at least two ways:
- the sixth flow table creation message may further include cache information of the fifth downstream flow table.
- the action set of the sixth flow table creation message includes the cache information of the fifth downstream flow table, where the cache information of the fifth downstream flow table may include: creating the cache indication information, the size of the cached storage space, and the cache type information.
- a cache creation trigger indication includes an indication that the RAN-U receives the cache rate when the receiving rate is greater than the forwarding rate of the RAN-U.
- the sixth flow table creation message does not include the cache information of the fifth downstream flow table (that is, the sixth flow table creation message is a normal flow table message in the prior art).
- the RAN-U detects that the receiving rate is greater than the forwarding rate, the RAN-U reports a rate detection message to the controller, where the rate detection message carries: an identifier of the fifth downstream flow table and a rate mismatch identifier; the rate mismatch identifier is used to indicate The reception rate of the RAN-U is greater than the forwarding rate.
- the controller determines, according to the identifier of the fifth downstream flow table and the rate mismatch identifier, that the RAN-U needs to create a cache, and sends a tenth flow table modification message to the RAN-U through the openflow protocol, where the tenth flow table modification message may be And including: an identifier of the fifth downstream flow table and the cache information of the fifth downstream flow table; the cache information of the fifth downstream flow table includes: a cache creation indication information, a cache storage space size, a cache type information, and a cache creation trigger indication; The cache type information includes storing and forwarding the received data packet, and the cache creation trigger indication includes an indication that the RAN-U creates a cache when receiving the ninth flow table modification message.
- Step 6 The controller returns a third create flow table response message to the RAN-C, and the third create flow table response message includes a flow table creation result.
- Step 7 The RAN-C sends an RRC connection reconfiguration message to the terminal device through the controller and the RAN-U.
- Step 8 The terminal device returns an RRC Connection Reconfiguration Complete message to the RAN-C.
- Step 9 The RAN-C sends an initial context setup complete message to the MME.
- Step 10 The MME sends a second modified bearer request message to the GW-C.
- Step 11 The GW-C sends a second modify flow request message to the controller, where the second modified flow table request message is used to instruct the controller to modify the sixth downstream flow table in the GW-U, and the second modification
- the flow table request message carries the identifier of the GW-U, the identifier of the RAN-U, the identifier of the terminal device, and the identifier of the APN.
- Step 12 The controller sends a tenth-level table modification message to the GW-U through the openflow protocol, where the tenth-level table modification message may include: an identifier, a matching information, and a cache information of the sixth downstream flow table; and a sixth downstream flow table.
- the cache information may include: modifying the cache indication information and the cache type information; the cache type information includes storing and forwarding the received data packet, so that the GW-U sends the data packet to the RAN-U.
- Step 13 The controller returns a second modify flow response message to the GW-C.
- Step 14 The GW-C returns a second modified bearer response message to the MME.
- Step 15 When the GW-U detects that the buffer corresponding to the sixth downstream flow table created in the S1 connection release process (for the downlink data packet buffered to the terminal device) is empty, the GW-U sends the fourth to the controller.
- the data forwarding completion message where the fourth data forwarding completion message carries the identifier of the sixth downstream flow table.
- Step 16 After receiving the fourth data forwarding completion message in the step 15, the controller sends the twelfth flow table modification message to the GW-U through the openflow protocol, where the twelfth flow table modification message may include: the sixth downlink The identifier of the flow table, the matching information, and the deletion of the cache indication information.
- the deletion cache indication information is used to instruct the GW-U to delete the cache corresponding to the sixth downstream flow table.
- the size of the step number is not limited to the sequence of the execution sequence, and the order of execution of the steps may be appropriately adjusted, which is not limited in the embodiment of the present application.
- the RAN-U when the RAN-U forwards the downlink data to the terminal device and the forwarding rate is lower than the rate of receiving the downlink data, the RAN-U performs the data stream based on the received data. Granular caching to meet the data caching needs of mobile networks.
- FIG. 8 is a schematic structural diagram of Embodiment 1 of a network element according to the present application.
- the network element 80 provided in this embodiment may include: a receiving module 801, a processing module 802, and a sending module 803.
- the receiving module 801 is configured to receive a flow table message sent by the controller, where the flow table message includes cache information of the data packet matched by the flow table.
- the processing module 802 is configured to process the buffer of the data packet according to the cache information.
- the sending module 803 is configured to send a flow table response message to the controller.
- the cache information includes creating cache indication information or modifying cache indication information or deleting cache indication information.
- the cache information includes cache type information, where the cache type information is used to indicate a storage manner of the data packet.
- the cache type information includes: storing the received data packet, or storing and forwarding the received data packet.
- the cache information includes: a cache creation trigger indication, where the cache creation trigger indication is used to indicate a creation timing of the cache.
- the setting triggering trigger of the cache includes: when the network element receives the flow table message, the indication of creating the cache, or the receiving rate of the network element is greater than a forwarding rate of the network element An indication to create the cache.
- the cache information includes: a storage space size of the cache.
- the cache information is located in an action set field of the flow table message.
- the network element in this embodiment may be used to perform the technical solution in any of the foregoing embodiments of the foregoing cache control method, and the implementation principle and the technical effect are similar, and details are not described herein again.
- FIG. 9 is a schematic structural diagram of Embodiment 2 of a network element according to the present application.
- the network element 90 provided in this embodiment may include: a memory 901, a processor 902, a transceiver 903, and at least one communication bus 904.
- the communication bus 904 is used to implement a communication connection between components.
- the memory 901 may include a high speed RAM memory, and may also include a non-volatile memory NVM, such as at least one disk memory, in which various program instructions may be stored for performing various processing functions and implementing the above embodiments in the present application. Method steps.
- the transceiver 903 can be a corresponding output/output interface having a communication function.
- the transceiver 903 is configured to receive a flow table message sent by the controller, where the flow table message includes cache information of the data packet matched by the flow table.
- the processor 902 is configured to invoke a program instruction in the memory 901 to perform the step of processing a buffer of the data packet according to the cache information.
- the transceiver 903 is further configured to send a flow table response message to the controller.
- the cache information includes creating cache indication information or modifying cache indication information or deleting cache indication information.
- the cache information includes cache type information, where the cache type information is used to indicate a storage manner of the data packet.
- the cache type information includes: storing the received data packet, or storing and forwarding the received data packet.
- the cache information includes: a cache creation trigger indication, where the cache creation trigger indication is used to indicate a creation timing of the cache.
- the setting triggering trigger of the cache includes: when the network element receives the flow table message, the indication of creating the cache, or the receiving rate of the network element is greater than a forwarding rate of the network element An indication to create the cache.
- the cache information includes: a storage space size of the cache.
- the cache information is located in an action set field of the flow table message.
- the network element in this embodiment may be used to perform the technical solution in any of the foregoing embodiments of the foregoing cache control method, and the implementation principle and the technical effect are similar, and details are not described herein again.
- FIG. 10 is a schematic structural diagram of Embodiment 1 of a controller according to the present application.
- the controller 100 provided in this embodiment may include: a sending block 1001 and a receiving module 1002.
- the sending module 1001 is configured to send a flow table message to the network element, where the flow table message includes cache information of the data packet matched by the flow table.
- the receiving module 1002 is configured to receive a flow table response message sent by the network element.
- the cache information includes creating cache indication information or modifying cache indication information or deleting cache indication information.
- the cache information includes cache type information, and the cache type information is used to indicate a storage manner of the data packet.
- the cache type information includes: storing the received data packet, or storing and forwarding the received data packet.
- the cache information includes: a cache creation trigger indication, where the cache creation trigger indication is used to indicate a creation timing of the cache.
- the setting triggering trigger of the cache includes: when the network element receives the flow table message, the indication of creating the cache, or the receiving rate of the network element is greater than a forwarding rate of the network element An indication to create the cache.
- the cache information includes: a storage space size of the cache.
- the cache information is located in an action set field of the flow table message.
- the controller of this embodiment may be used to perform the technical solution of any of the foregoing embodiments of the foregoing cache control method, and the implementation principle and technical effects are similar, and details are not described herein again.
- FIG. 11 is a schematic structural diagram of Embodiment 2 of a controller according to the present application.
- the controller 110 provided in this embodiment may include: a memory 1101, a processor 1102, a transceiver 1103, and at least one communication bus 1104.
- the communication bus 1104 is used to implement a communication connection between components.
- the memory 1101 may include a high speed RAM memory, and may also include a non-volatile memory NVM, such as at least one disk memory.
- Various program instructions may be stored in the memory 1101 for performing various processing functions and implementing the above embodiments in the present application. Method steps.
- the processor 1102 is configured to call program instructions in the memory 1101.
- the transceiver 1103 can be a corresponding output/output interface having a communication function.
- the transceiver 1103 is configured to send a flow table message to the network element.
- the flow table message includes the cache information of the data packet matched by the flow table.
- the transceiver 1103 is further configured to receive the flow table response message sent by the network element.
- the cache information includes creating cache indication information or modifying cache indication information or deleting cache indication information.
- the cache information includes cache type information, and the cache type information is used to indicate a storage manner of the data packet.
- the cache type information includes: storing the received data packet, or storing and forwarding the received data packet.
- the cache information includes: a cache creation trigger indication, where the cache creation trigger indication is used to indicate a creation timing of the cache.
- the setting triggering trigger of the cache includes: when the network element receives the flow table message, the indication of creating the cache, or the receiving rate of the network element is greater than a forwarding rate of the network element An indication to create the cache.
- the cache information includes: a storage space size of the cache.
- the cache information is located in an action set field of the flow table message.
- the controller of this embodiment may be used to perform the technical solution of any of the foregoing embodiments of the foregoing cache control method, and the implementation principle and technical effects are similar, and details are not described herein again.
- the disclosed apparatus and method may be implemented in other manners.
- the device embodiments described above are merely illustrative.
- the division of the unit is only a logical function division.
- there may be another division manner for example, multiple units or components may be combined or Can be integrated into another system, or some features can be ignored or not executed.
- the mutual coupling or direct coupling or communication connection shown or discussed may be an indirect coupling or communication connection through some interface, device or unit, and may be in an electrical, mechanical or other form.
- the units described as separate components may or may not be physically separated, and the components displayed as units may or may not be physical units, that is, may be located in one place, or may be distributed to multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of the embodiment.
- each functional unit in each embodiment of the present application may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit.
- the above integrated unit can be implemented in the form of hardware or in the form of hardware plus software functional units.
- the computer program product includes one or more computer instructions.
- the computer can be a general purpose computer, a special purpose computer, a computer network, or other programmable device.
- the computer instructions can be stored in a computer readable storage medium or transferred from one computer readable storage medium to another computer readable storage medium, for example, the computer instructions can be from a website site, computer, server or data center Transfer to another website site, computer, server, or data center by wire (eg, coaxial cable, fiber optic, digital subscriber line (DSL), or wireless (eg, infrared, wireless, microwave, etc.).
- the computer readable storage medium can be any available media that can be accessed by a computer or a data storage device such as a server, data center, or the like that includes one or more available media.
- the usable medium may be a magnetic medium (eg, a floppy disk, a hard disk, a magnetic tape), an optical medium (eg, a DVD), or a semiconductor medium (eg, a solid state disk (SSD)) or the like.
- a magnetic medium eg, a floppy disk, a hard disk, a magnetic tape
- an optical medium eg, a DVD
- a semiconductor medium eg, a solid state disk (SSD)
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
本申请实施例提供一种缓存控制方法、网元及控制器。该方法包括:网元接收控制器发送的流表消息;所述流表消息包括流表匹配的数据包的缓存信息;进一步地,所述网元根据所述缓存信息对所述数据包的缓存进行处理,并向所述控制器发送流表响应消息。本申请实施例的方法中,通过所述网元根据所述缓存信息对所述数据包的缓存进行处理,以便于所述网元可将所述流表匹配的至少一个数据包按照相应的存储方式存入所述流表对应的缓存。可见,实现了openflow协议中能支持基于数据流粒度的缓存处理方式,可以满足移动网络的数据缓存需求。
Description
本申请要求于2017年06月16日提交中国专利局、申请号为201710456925.0、申请名称为“缓存控制方法、网元及控制器”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
本申请涉及网络技术,尤其涉及一种缓存控制方法、网元及控制器。
随着网络技术的发展,控制转发分离是移动网络的发展趋势,第三代合作伙伴计划(3rd generation partnership project,3GPP)标准组织最新定义的未来第五代移动通信技术(5th-generation,5G)网络架构也是基于控制转发分离的。
基于软件定义网络(software defined network,SDN)架构是一种比较流行的实现控制转发分离的网络技术。其中,SDN架构包括:移动网络的控制面网元和转发面网元(或用户面网元);移动网络的控制面网元和转发面网元都可与移动网络的控制器通信(其中,移动网络的转发面网元可以通过openflow协议与控制器进行通信)。在部分场景下,移动网络的转发面网元需要具备一定的缓存能力,以保障移动网络中数据包的正常转发。但现有的openflow协议中并未提供专门的缓存处理机制。
发明内容
本申请实施例提供一种缓存控制方法、网元及控制器,实现了openflow协议中基于流粒度的缓存处理机制,以满足移动网络的数据缓存需求。
第一方面,本申请实施例提供一种缓存控制方法,包括:
网元接收控制器发送的流表消息;所述流表消息包括流表匹配的数据包的缓存信息;
所述网元根据所述缓存信息对所述数据包的缓存进行处理;
所述网元向所述控制器发送流表响应消息。
通过第一方面提供的缓存控制方法,通过网元接收控制器发送的流表消息;其中,所述流表消息包括流表匹配的数据包的缓存信息;进一步地,网元根据所述缓存信息对所述数据包的缓存进行处理,以便于所述网元可将所述流表匹配的至少一个数据包按照相应的存储方式存入所述流表对应的缓存。可见,本申请实施例提供的缓存控制方法实现了openflow协议中能支持基于数据流粒度的缓存处理方式,可以满足移动网络的数据缓存需求。
在一个可能的设计中,所述缓存信息包括创建缓存指示信息或修改缓存指示信息或删除缓存指示信息。
在一个可能的设计中,所述缓存信息包括缓存类型信息,所述缓存类型信息用于指示所述数据包的存储方式。
在一个可能的设计中,所述缓存类型信息包括:对接收到的数据包进行存储、或对接收到的数据包进行存储并转发。
在一个可能的设计中,所述缓存信息包括:缓存的创建触发指示,其中,所述缓存的创建触发指示用于指示所述缓存的创建时机。
在一个可能的设计中,所述缓存的创建触发指示包括:所述网元在接收到所述流表消息时创建所述缓存的指示,或者所述网元的接收速率大于所述网元的转发速率时创建所述缓存的指示。
在一个可能的设计中,所述缓存信息包括:所述缓存的存储空间大小。
在一个可能的设计中,所述缓存信息位于所述流表消息的动作集字段。
第二方面,本申请实施例提供一种缓存控制方法,包括:
控制器向网元发送流表消息;所述流表消息包括流表匹配的数据包的缓存信息;
所述控制器接收所述网元发送的流表响应消息。
通过第二方面提供的缓存控制方法,通过控制器向网元发送流表消息(所述流表消息包括流表匹配的数据包的缓存信息),以使网元根据接收的所述流表消息中的所述缓存信息,对所述数据包的缓存进行处理,以便网元可将所述流表匹配的至少一个数据包按照相应的存储方式存入所述流表对应的缓存。可见,本申请实施例提供的缓存控制方法实现了openflow协议中能支持基于数据流粒度的缓存处理方式,可以满足移动网络的数据缓存需求。
在一个可能的设计中,所述缓存信息包括创建缓存指示信息或修改缓存指示信息或删除缓存指示信息。
在一个可能的设计中,所述缓存信息包括缓存类型信息,缓存类型信息用于指示所述数据包的存储方式。
在一个可能的设计中,所述缓存类型信息包括:对接收到的数据包进行存储、或对接收到的数据包进行存储并转发。
在一个可能的设计中,所述缓存信息包括:缓存的创建触发指示,其中,所述缓存的创建触发指示用于指示所述缓存的创建时机。
在一个可能的设计中,所述缓存的创建触发指示包括:所述网元在接收到所述流表消息时创建所述缓存的指示,或者所述网元的接收速率大于所述网元的转发速率时创建所述缓存的指示。
在一个可能的设计中,所述缓存信息包括:所述缓存的存储空间大小。
在一个可能的设计中,所述缓存信息位于所述流表消息的动作集字段。
第三方面,本申请实施例提供一种网元,包括:
接收模块,用于接收控制器发送的流表消息;所述流表消息包括流表匹配的数据包的缓存信息;
处理模块,用于根据所述缓存信息对所述数据包的缓存进行处理;
发送模块,用于向所述控制器发送流表响应消息。
在一个可能的设计中,所述缓存信息包括创建缓存指示信息或修改缓存指示信息或 删除缓存指示信息。
在一个可能的设计中,所述缓存信息包括缓存类型信息,所述缓存类型信息用于指示所述数据包的存储方式。
在一个可能的设计中,所述缓存类型信息包括:对接收到的数据包进行存储、或对接收到的数据包进行存储并转发。
在一个可能的设计中,所述缓存信息包括:缓存的创建触发指示,其中,所述缓存的创建触发指示用于指示所述缓存的创建时机。
在一个可能的设计中,所述缓存的创建触发指示包括:所述网元在接收到所述流表消息时创建所述缓存的指示,或者所述网元的接收速率大于所述网元的转发速率时创建所述缓存的指示。
在一个可能的设计中,所述缓存信息包括:所述缓存的存储空间大小。
在一个可能的设计中,所述缓存信息位于所述流表消息的动作集字段。
上述第三方面的实施方式所提供的网元,其有益效果可以参见上述第一方面的各可能的实施方式所带来的有益效果,在此不再赘述。
第四方面,本申请实施例提供一种控制器,包括:
发送模块,用于向网元发送流表消息;所述流表消息包括流表匹配的数据包的缓存信息;
接收模块,用于接收所述网元发送的流表响应消息。
在一个可能的设计中,所述缓存信息包括创建缓存指示信息或修改缓存指示信息或删除缓存指示信息。
在一个可能的设计中,所述缓存信息包括缓存类型信息,缓存类型信息用于指示所述数据包的存储方式。
在一个可能的设计中,所述缓存类型信息包括:对接收到的数据包进行存储、或对接收到的数据包进行存储并转发。
在一个可能的设计中,所述缓存信息包括:缓存的创建触发指示,其中,所述缓存的创建触发指示用于指示所述缓存的创建时机。
在一个可能的设计中,所述缓存的创建触发指示包括:所述网元在接收到所述流表消息时创建所述缓存的指示,或者所述网元的接收速率大于所述网元的转发速率时创建所述缓存的指示。
在一个可能的设计中,所述缓存信息包括:所述缓存的存储空间大小。
在一个可能的设计中,所述缓存信息位于所述流表消息的动作集字段。
上述第四方面的实施方式所提供的控制器,其有益效果可以参见上述第二方面的各可能的实施方式所带来的有益效果,在此不再赘述。
第五方面,本申请实施例提供一种网元,包括:存储器、处理器和收发器;
其中,存储器用于存储程序指令;
收发器用于接收控制器发送的流表消息;所述流表消息包括流表匹配的数据包的缓存信息;
处理器用于调用存储器中的程序指令执行下述步骤:根据所述缓存信息对所述数据包的缓存进行处理;
收发器还用于向所述控制器发送流表响应消息。
在一个可能的设计中,所述缓存信息包括创建缓存指示信息或修改缓存指示信息或删除缓存指示信息。
在一个可能的设计中,所述缓存信息包括缓存类型信息,所述缓存类型信息用于指示所述数据包的存储方式。
在一个可能的设计中,所述缓存类型信息包括:对接收到的数据包进行存储、或对接收到的数据包进行存储并转发。
在一个可能的设计中,所述缓存信息包括:缓存的创建触发指示,其中,所述缓存的创建触发指示用于指示所述缓存的创建时机。
在一个可能的设计中,所述缓存的创建触发指示包括:所述网元在接收到所述流表消息时创建所述缓存的指示,或者所述网元的接收速率大于所述网元的转发速率时创建所述缓存的指示。
在一个可能的设计中,所述缓存信息包括:所述缓存的存储空间大小。
在一个可能的设计中,所述缓存信息位于所述流表消息的动作集字段。
上述第五方面的实施方式所提供的网元,其有益效果可以参见上述第一方面的各可能的实施方式所带来的有益效果,在此不再赘述。
第六方面,本申请实施例提供一种计算机存储介质,计算机存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述第一方面所涉及的任意一种方法。
第七方面,本申请实施例提供一种控制器,包括:存储器、处理器和收发器;
其中,存储器用于存储程序指令;处理器用于调用存储器中的程序指令;
收发器用于向网元发送流表消息;所述流表消息包括流表匹配的数据包的缓存信息;
收发器还用于接收所述网元发送的流表响应消息。
在一个可能的设计中,所述缓存信息包括创建缓存指示信息或修改缓存指示信息或删除缓存指示信息。
在一个可能的设计中,所述缓存信息包括缓存类型信息,缓存类型信息用于指示所述数据包的存储方式。
在一个可能的设计中,所述缓存类型信息包括:对接收到的数据包进行存储、或对接收到的数据包进行存储并转发。
在一个可能的设计中,所述缓存信息包括:缓存的创建触发指示,其中,所述缓存的创建触发指示用于指示所述缓存的创建时机。
在一个可能的设计中,所述缓存的创建触发指示包括:所述网元在接收到所述流表消息时创建所述缓存的指示,或者所述网元的接收速率大于所述网元的转发速率时创建所述缓存的指示。
在一个可能的设计中,所述缓存信息包括:所述缓存的存储空间大小。
在一个可能的设计中,所述缓存信息位于所述流表消息的动作集字段。
上述第七方面的实施方式所提供的控制器,其有益效果可以参见上述第二方面的各可能的实施方式所带来的有益效果,在此不再赘述。
第八方面,本申请实施例提供一种计算机存储介质,计算机存储介质中存储有指 令,当其在计算机上运行时,使得计算机执行上述第二方面所涉及的任意一种方法。
图1为本申请实施例中软件定义网络结构示意图;
图2为本申请提供的缓存控制方法实施例一的流程示意图;
图3为本申请提供的缓存控制方法实施例二的流程示意图;
图4为本申请提供的缓存控制方法实施例三的流程示意图;
图5为本申请提供的缓存控制方法实施例四的流程示意图;
图6为本申请提供的缓存控制方法实施例五的流程示意图;
图7为本申请提供的缓存控制方法实施例六的流程示意图;
图8为本申请网元实施例一的结构示意图;
图9为本申请网元实施例二的结构示意图;
图10为本申请控制器实施例一的结构示意图;
图11为本申请控制器实施例二的结构示意图。
首先,对本申请实施例中所涉及的部分词汇和应用场景进行解释说明。
本申请实施例中涉及的RAN-C主要包含传统接入网的控制面功能。
本申请实施例中涉及的GW-C主要包含传统网关设备的控制面功能。
本申请实施例中涉及的移动网络的控制器主要负责对下层转发面资源的管理以及对上层控制面网元(例如RAN-C,GW-C)的服务。可选地,所述控制器也可称之为SDN控制器,本申请实施例中对此并不作限制。
本申请实施例中涉及的RAN-U主要包含传统接入网用户面功能,并且使用openflow协议进行通信。
本申请实施例中涉及的GW-U主要包含传统网关用户面功能,并且使用openflow协议进行通信。
本申请实施例中涉及的移动性管理实体(mobile management entity,MME)是3GPP协议长期演进(long term evolution,LTE)接入网络的关键控制节点,MME的主要功能包括接入控制、移动性管理、会话管理、网元选择、存储用户承载信息等。
本申请实施例中定义具有相同包头信息的一个或多个数据包属于同一数据流。
本申请实施例中涉及的流表消息可以采用openflow协议进行发送/接收。
图1为本申请实施例中软件定义网络结构示意图,如图1所示,基于软件定义网络(software defined network,SDN)架构实现移动网络的控制面网元和转发面网元(或用户面网元)的分离。移动网络的控制面网元通过北向接口与移动网络的控制器通信,其中,控制面网元包括:无线接入网控制面(radio access network control plane,RAN-C)和网关控制面(gateway control plane,GW-C)。移动网络的转发面网元与移动网络的控制器通过openflow协议进行通信,其中,转发面网元包括:无线接入网用户面(radio access network user plane,RAN-U)和网关用户面(gateway user plane,GW-U)。
本申请提供的缓存控制方法、网元及控制器,可以适用于如图1所示的网络结构,当然,也可以适用于如图1所示的其它等效或变形网络结构,本申请实施例中对此并不作限制。
如图1所示的网络结构下,通常存在如下几种情形RAN-U和/或GW-U需要具备一定的缓存能力,以保障移动网络中数据包的正常转发:
第一种情形:当终端设备处于空闲态(例如空口连接和S1连接已经释放)且GW-U接收到发往所述终端设备的下行数据时,GW-U无法继续转发所述下行数据,因此,GW-U需要对所述下行数据流进行缓存,等待空口连接和S1连接的建立。
第二种情形:当终端设备的空口连接已经释放且RAN-U接收到发往所述终端设备的下行数据时,RAN-U无法继续转发所述下行数据,因此,RAN-U需要对所述下行数据流进行缓存,等待空口连接的建立。
第三种情形:当终端设备处于连接态且RAN-U收到大量下行数据并通过空口连接将所述下行数据转发给所述终端设备时,由于空口资源紧张,导致RAN-U向所述终端设备转发所述下行数据的速率可能无法匹配接收所述下行数据的速率,因此,RAN-U需要对接收到的所述下行数据流进行缓存。
第四种情形:当终端设备进行网络切换时,目标RAN-U需要分别接收源RAN-U和GW-U发送的下行数据,为了保证优先转发源RAN-U发送的下行数据,RAN-U需要将GW-U发送的下行数据进行缓存。
当然,RAN-U和/或GW-U也可在其它情形下需要具备一定的缓存能力,本申请实施例中对此并不作限制。
由于现有的openflow协议中并未提供专门的缓存处理机制,以及考虑到移动网络中的数据量非常大,openflow协议中如何实现专门的缓存处理机制,是亟待解决的技术问题。
因此,本申请提供的缓存控制方法、网元及控制器,实现了openflow协议中基于流粒度的缓存处理机制,以满足移动网络的数据缓存需求。
下面以具体地实施例对本申请的技术方案以及本申请的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。
图2为本申请提供的缓存控制方法实施例一的流程示意图。本实施例中涉及的执行主体包括:控制器和/或网元,该控制器和网元都可以通过软件和/或硬件实现。可选地,本申请实施例中涉及的网元可以包括但不限于:GW-U或者RAN-U。如图2所示,本实施例的方法包括:
步骤S201、控制器向网元发送流表消息;所述流表消息包括流表匹配的数据包的缓存信息。
本步骤中,控制器向网元发送流表消息;可选地,所述流表消息用于指示流表的信息。可选地,所述流表消息包括所述流表匹配的数据包的缓存信息。可选地,若所述流表能匹配一个或多个数据包,则所述一个或多个数据包必然具有相同的包头信息,即所述一个或多个数据包属于同一数据流,即同一数据流对应相同的缓存(即所述缓存用于存储所述流表匹配的一个或多个数据包,且所述多个数据包属于同一数据流)。
可选地,所述缓存信息包括:创建缓存指示信息或修改缓存指示信息或删除缓存 指示信息。其中,所述创建缓存指示信息用于指示所述网元创建所述流表对应的缓存(用于存储与所述流表匹配的至少一个数据包)。所述修改缓存指示信息用于指示所述网元修改所述流表对应的缓存的属性信息(例如包括但不限于:所述缓存的缓存类型信息或者所述缓存的存储空间大小等)。所述删除缓存指示信息用于指示所述网元删除所述流表对应的缓存。
可选地,所述缓存信息还可以包括以下任一项或多项:缓存类型信息、缓存的创建触发指示、缓存的存储空间大小。当然,所述缓存信息还可以包括其它信息,本申请实施例中对此并不作限制。
为了便于理解,本申请实施例的以下部分对所述缓存信息包括所述缓存类型信息、所述缓存的创建触发指示以及所述缓存的存储空间大小中的任一项进行解释说明。
(A)可选地,所述缓存信息可以包括所述缓存类型信息,所述缓存类型信息用于指示所述数据包的存储方式(即所述流表匹配的所述数据包存入所述缓存的存储方式)。可选地,所述缓存类型信息包括但不限于:对接收到的数据包进行存储(即只存储不转发)、或对接收到的数据包进行存储并转发(即边存储边转发)。
可选地,所述缓存类型信息可以通过第一预设字段的预设数值进行指示,例如:若所述第一预设字段等于第一预设数值,则代表所述缓存类型信息包括对接收到的所述流表匹配的数据包进行存储;若所述第一预设字段等于第二预设数值,则代表所述缓存类型信息包括对接收到的所述流表匹配的数据包进行存储并转发。当然,所述缓存类型信息还可以通过其它方式进行指示,本申请实施例中对此并不作限制。
(B)可选地,所述缓存信息可以包括:所述缓存的创建触发指示,所述缓存的创建触发指示用于指示所述缓存的创建时机。可选地,所述缓存的创建触发指示包括但不限于:所述网元在接收到所述流表消息时创建所述缓存的指示(即所述网元在接收到所述流表消息时立即创建所述缓存),或者所述网元的接收速率大于所述网元的转发速率时创建所述缓存的指示。可选地,所述网元的接收速率代表所述网元接收所述流表匹配的所述至少一个数据包的速率,所述转发速率为所述网元转发所述至少一个数据包的速率。
可选地,所述缓存的创建触发指示可以通过第二预设字段的预设数值进行指示,例如:若所述第二预设字段等于第三预设数值,则代表所述缓存的创建触发指示包括所述网元在接收到所述流表消息时创建所述缓存的指示;若所述第二预设字段等于第四预设数值,则代表所述缓存的创建触发指示包括所述网元的接收速率大于所述网元的转发速率时创建所述缓存的指示。当然,所述缓存的创建触发指示还可以通过其它方式进行指示,本申请实施例中对此并不作限制。
(C)可选地,所述缓存信息还可以包括:所述缓存的存储空间大小。可选地,所述缓存的存储空间大小可以通过第三预设字段的预设数值进行指示。当然,所述缓存的存储空间大小还可以通过其它方式进行指示,本申请实施例中对此并不作限制。
可选地,当所述缓存信息包括所述缓存类型信息、所述缓存的创建触发指示、所述缓存的存储空间大小中的至少两项时,可以通过上述(A)-(C)部分中记载的相应指示方式的结合,本申请实施例中此处不再赘述。
可选地,若所述缓存信息包括创建缓存指示信息,当然所述缓存信息也可以不包括所述缓存类型信息、所述缓存的创建触发指示、所述缓存的存储空间大小中的任意 一项或多项,则所述网元根据所述缓存信息确定所述流表对应的缓存按照预设的缓存类型信息、预设的创建触发指示、预设的存储空间大小中的任意一项或多项。例如:
若所述缓存信息包括创建缓存指示信息以及所述缓存类型信息,则所述网元根据所述缓存信息确定所述流表对应的缓存按照所述缓存类型信息、预设的创建触发指示、以及预设的存储空间大小。又例如:若所述缓存信息包括创建缓存指示信息、所述缓存类型信息以及所述缓存的创建触发指示,则所述网元根据所述缓存信息确定所述流表对应的缓存按照所述缓存类型信息、所述缓存的创建触发指示、以及预设的存储空间大小。
可选地,本申请实施例中所述缓存信息可以位于所述流表消息的动作集(action set)字段;当然,所述缓存信息也可以位于所述流表消息的其它字段,本申请实施例中对此并不作限制。
表1示出本申请实施例中action set字段新增的字段类型。如表1所示,以下以所述缓存信息位于所述流表消息的action set字段为例进行说明。
表1 示出本申请实施例中action set字段新增的字段类型
可选地,所述流表消息还可以包括:所述流表的标识和/或所述流表的匹配信息,其中,所述流表的匹配信息用于指示所述流表匹配的数据包的特征信息(例如:包括但不限于所述数据包的源IP地址、源端口号、目的IP地址、目的端口号、协议类型等)。可选地,所述匹配信息可以位于所述流表消息的匹配(match)字段,当然,所述匹配信息还可以位于所述流表消息的其它字段,本申请实施例中对此并不作限制。
当然,所述流表消息还可以包括其它信息,本申请实施例中对此并不作限制。
步骤S202、所述网元接收所述控制器发送的所述流表消息。
本步骤中,网元接收所述控制器发送的所述流表消息,可选地,所述流表消息包括流表匹配的数据包的缓存信息。
步骤S203、所述网元根据所述缓存信息对所述数据包的缓存进行处理。
本步骤中,所述网元根据所述缓存信息(包括但不限于:创建缓存指示信息、修改缓存指示信息、删除缓存指示信息)对所述流表对应的缓存(用于存储所述流表匹配的一个或多个数据包,且所述多个数据包属于同一数据流)进行相应处理(包括但不限于:创建所述缓存、修改所述缓存以及删除所述缓存)。
例如:若所述缓存信息包括创建缓存指示信息以及所述缓存的存储空间大小,则所述网元根据所述创建缓存指示信息以及所述缓存的存储空间大小,创建满足所述存储空间大小的缓存,且所述缓存的缓存类型信息为预设的缓存类型信息以及所述缓存的创建触发指示为预设的创建触发指示,以便于所述网元将所述流表匹配的至少一个数据包按照相应的存储方式存入所述流表对应的缓存。
又例如:若所述缓存信息包括修改缓存指示信息以及修改后的缓存类型信息,则所述网元根据所述修改缓存指示信息以及所述修改后的缓存类型信息,将所述流表对应的缓存原来的缓存类型信息修改为所述修改后的缓存类型信息,以便于所述网元将所述流表匹配的至少一个数据包按照相应的存储方式存入所述流表对应的缓存。
又例如:若所述缓存信息包括删除缓存指示信息,则所述网元根据所述删除缓存指示信息,删除所述流表对应的缓存。
当然,所述缓存信息还可以包括其它类型的信息,对应地,所述网元根据所述缓存信息对所述流表对应的缓存进行相应处理,本申请实施例中对此并不作限制。
步骤S204、所述网元向所述控制器发送流表响应消息。
本实施例中,所述网元在根据所述缓存信息对所述数据包的缓存进行处理后,向所述控制器发送流表响应消息,以便告知所述控制器所述网元根据所述流表消息的处理结果。可选地,若所述网元成功完成对所述数据包的处理,则所述流表响应消息中携带确认信息;若所述网元未成功完成对所述数据包的处理,则所述流表响应消息中携带非确认信息。
步骤S205、所述控制器接收所述网元发送的流表响应消息。
本实施例中,通过控制器向网元发送流表消息;所述流表消息包括流表匹配的数据包的缓存信息;进一步地,所述网元根据接收的所述流表消息中的所述缓存信息,对所述数据包的缓存进行处理,以便于所述网元可将所述流表匹配的至少一个数据包按照相应的存储方式存入所述流表对应的缓存,即所述网元可以将属于同一数据流的多个数据包存入相同的缓存。可见,本申请实施例提供的缓存控制方法实现了openflow协议中能支持基于数据流粒度的缓存处理方式,可以满足移动网络的数据缓存需求。
图3为本申请提供的缓存控制方法实施例二的流程示意图。如图3所示,假设所述控制器向所述网元发送的流表消息中包括:第一流表的标识、第一流表的缓存信息、第二流表的标识以及第二流表的缓存信息;其中,所述第一流表的缓存信息包括:第一流表的创建缓存指示信息以及第一流表的缓存类型信息(例如对接收到的所述第一流表匹配的第一数据包进行存储);所述第二流表的缓存信息包括:第二流表的创建缓存指示信息以及第二流表的缓存类型信息(例如对接收到的所述第二流表匹配的第二数据包进行存储并转发)。
当网元从入口1接收到所述第一流表匹配的一个或多个第一数据包(如第一数据流)时,所述网元根据所述第一流表的缓存信息将所述一个或多个第一数据包存入所述第一流表对应的缓存;当网元从入口2接收到所述第二流表匹配的一个或多个第二数据包(如第二数据流)时,所述网元根据所述第二流表的缓存信息将所述一个或多个第二数据包进行存储并从出口2转发。
图4为本申请提供的缓存控制方法实施例三的流程示意图。在上述实施例的基础上,本申请实施例中,将上述缓存控制方法应用于终端设备接入网络时的附着流程中。如图4所示,本实施例的方法,可以包括:
步骤1:终端设备通过RAN-U和控制器给RAN-C发送附着请求(attach request)消息。
步骤2:RAN-C给MME转发附着请求消息。
步骤3:MME对附着请求消息进行身份验证和安全处理(authentication/security)。
步骤4:MME更新归属签约用户服务器(home subscriber server,HSS)上的位置信息(update location)。
步骤5:MME向GW-C发送会话创建请求(create session request)消息,会话创建请求消息中携带RAN-U的标识。
步骤6:GW-C向控制器发送第一创建流表请求(create flow request)消息,第一创建流表请求消息用于指示控制器控制GW-U创建第一下行流表,第一创建流表请求消息中携带GW-U的标识、RAN-U的标识(即第一下行流表匹配的数据流的目标网元的标识)以及APN的标识(即第一下行流表匹配的数据流的源网元的标识)。
步骤7:控制器通过openflow协议向GW-U发送第一流表创建消息,第一流表创建消息用于指示GW-U创建到RAN-U的第一下行流表。
步骤8:控制器向GW-C返回第一创建流表响应(create flow response)消息,第一创建流表响应消息包括流表创建结果。
步骤9:GW-C给MME返回会话创建响应(create session response)消息。
步骤10:MME向RAN-C发送初始上下文建立请求(initial context setup request)消息,并携带附着接受(attach accept)消息。
步骤11:RAN-C向控制器发送第二创建流表请求消息,第二创建流表请求消息用于指示控制器控制RAN-U创建第二下行流表,第二创建流表请求消息中携带RAN-U的标识、GW-U的标识(即第二下行流表匹配的数据流的源网元的标识)、终端设备的标识(即第二下行流表匹配的数据流的目标网元的标识)。
步骤12:控制器通过openflow协议向RAN-U发送第二流表创建消息,第二流表创建消息用于指示RAN-U创建到终端设备的第二下行流表。可选地,第二流表创建消息可以包括:第二下行流表的标识(如cookie)以及第二下行流表的匹配信息。
考虑到空口传输速率(即RAN-U向终端设备发送数据包的速率)可能小于GW-U到RAN-U的传输速率(即RAN-U接收GW-U发送的数据包的接收速率,大于RAN-U向终端设备转发数据包的转发速率),RAN-U需要对接收到的数据包进行缓存。可选地,本申请实施例中的第二流表创建消息至少可以通过如下两种可实现方式:
第一种可实现方式:第二流表创建消息中还可以包括第二下行流表的缓存信息。可选地,第二流表创建消息的动作集中包含第二下行流表的缓存信息,其中,第二下行流表的缓存信息可以包括:创建缓存指示信息、缓存的存储空间大小、缓存类型信息以及缓存的创建触发指示。其中,缓存类型信息包括对接收到的数据包进行存储并转发,缓存的创建触发指示包括RAN-U的接收速率大于RAN-U的转发速率时创建缓存的指示。
第二种可实现方式:第二流表创建消息中不包括第二下行流表的缓存信息(即第二流表创建消息为现有技术中正常的流表消息)。当RAN-U检测到接收速率大于转发速率时,RAN-U向控制器上报速率检测消息,速率检测消息中携带:第二下行流表的标识以及速率不匹配标识;速率不匹配标识用于指示RAN-U的接收速率大于转发速率。进一步地,控制器根据第二下行流表的标识和速率不匹配标识确定RAN-U需要创建缓存,并通过openflow协议向RAN-U发送第一流表修改消息,第一流表修改消息中可以包括:第二下行流表的标识以及第二下行流表的缓存信息;第二下行流表的缓存信息包括:创建缓存指示信息、缓存的存储空间大小、缓存类型信息以及缓存的创建触发指示;其中,缓存类型信息包括对接收到的数据包进行存储并转发,缓存的创建触发指示包括RAN-U在接收到第一流表修改消息时创建缓存的指示。
步骤13:控制器向RAN-C返回第二创建流表响应(create flow response)消息,第二创建流表响应消息包括流表创建结果。
步骤14:RAN-C通过控制器和RAN-U给终端设备发送RRC连接重配置(RRC connection reconfiguration)消息。
步骤15:终端设备向RAN-C返回RRC连接重配置完成(RRC connection reconfiguration complete)消息。
步骤16:RAN-C向MME回复初始上下文建立响应(initial context setup response)消息。
步骤17:终端通过RAN-U和控制器向RAN-C发送直接传输(direct transfer)消息,直接传输消息中包含附着完成消息。
步骤18:RAN-C向MME发送附着完成(attach complete)消息。
可选地,本实施例中,上述步骤序号的大小并不限定执行顺序的先后,各步骤的 执行顺序可以适当调整,本申请实施例中对此并不作限制。
可见,本申请实施例中,实现了在终端设备接入网络时的附着流程中,当RAN-U向终端设备转发下行数据的转发速率小于接收下行数据的速率时,RAN-U对接收到的下行数据进行基于数据流粒度的缓存方式,从而能够满足移动网络的数据缓存需求。
图5为本申请提供的缓存控制方法实施例四的流程示意图。在上述实施例的基础上,本申请实施例中,将上述缓存控制方法应用于当终端设备处于连接态且位置发生变化时所触发的网络切换流程中。如图5所示,本实施例的方法,可以包括:
注:当RAN-C不发生改变时,(A1)和(A2)部分不执行;另外,本实施例中涉及的目标RAN-C与源RAN-C为同一RAN-C,可以不作区分。
步骤1:源RAN-C对终端设备进行信号测量。
步骤2:源RAN-C根据信号测量的结果确定进行网络切换。
步骤3:源RAN-C向目标RAN-C发送切换请求(handover request)消息。
步骤4:目标RAN-C对终端设备进行接入控制(admission control),以决策是否允许终端设备接入。
步骤5:目标RAN-C给源RAN-C回复切换请求确认(handover request ACK)消息。
步骤6:源RAN-C通过控制器和源RAN-U向终端设备发送RRC连接重配置消息。
步骤7:源RAN-C向控制器发送切换命令(handover command),切换命令用于指示控制器切换用户面转发路径。其中,切换命令中携带切换前的源RAN-U的标识、切换后的目标RAN-U的标识以及终端设备的标识,即通知控制器哪个终端设备从哪个RAN-U切换到哪个RAN-U。
步骤8:控制器从源RAN-U获取序列号状态。可选地,序列号状态可以为PDCP的序列号状态。
步骤9:控制器将序列号状态通知目标RAN-U。
步骤10a:控制器通过openflow协议向源RAN-U发送第二流表修改消息,第二流表修改消息用于指示源RAN-U将源RAN-U中的下行流表所匹配数据流的目标网元由终端设备修改为目标RAN-U,以便于源RAN-U将原来转发至终端设备的数据包都转发至目标RAN-U。
步骤10b:控制器通过openflow协议向目标RAN-U发送第三流表创建消息、第四流表创建消息以及第五流表创建消息。可选地,第三流表创建消息、第四流表创建消息以及第五流表创建消息也可以为一条流表创建消息,本申请实施例中对此并不作限制。
可选地,第三流表创建消息用于指示RAN-U创建第一上行流表(用于转发从终端设备到GW-U的上行数据包),第四流表创建消息用于指示RAN-U创建转发流表(用于转发从源RAN-U到终端设备的转发数据包),第五流表创建消息用于指示
RAN-U创建第三下行流表(用于转发从GW-U到终端设备的下行数据包)。可选地,第三流表创建消息可以包括:第一上行流表的标识、第一上行流表的匹配信息、第一上行流表的缓存信息;第四流表创建消息可以包括:转发流表的标识以及转发流表的 匹配信息;第五流表创建消息可以包括:第三下行流表的标识、第三下行流表的匹配信息、第三下行流表的缓存信息。
(A)针对第一上行流表:
考虑到若控制器尚未执行下述步骤18(即控制器确定GW-U中的上行流表还是只能匹配从源RAN-U转发的数据包,无法匹配目标RAN-U转发的数据包),目标RAN-U需要对需要发往GW-U的数据包进行缓存,并等待步骤18执行完成后(即控制器确定GW-U中的上行流表能匹配目标RAN-U转发的数据包)再将缓存的数据包转发至GW-U。可选地,本申请实施例中的第三流表创建消息至少可以通过如下可实现方式:
第三流表创建消息的动作集中包含第一上行流表的缓存信息,其中,第一上行流表的缓存信息可以包括:创建缓存指示信息、缓存的存储空间大小、缓存类型信息以及缓存的创建触发指示。其中,缓存类型信息包括对接收到的数据包进行存储,缓存的创建触发指示包括目标RAN-U的接收速率(即接收第一上行流表匹配的数据包的速率)大于目标RAN-U的转发速率(即转发第一上行流表匹配的数据包的速率)时创建缓存的指示,即目标RAN-U检测到第一上行流表匹配的数据包到达时创建缓存。
(B)针对转发流表
考虑到在目标RAN-U接收到源RAN-U发送的数据包时,控制器还未收到下述步骤12中的RRC连接重配置完成消息(即控制器确定目标RAN-U与终端设备之间的空口连接可能还未建立),或者由于空口传输速率(即目标RAN-U向终端设备发送数据包的速率)可能小于源RAN-U到目标RAN-U的传输速率(即目标RAN-U接收源RAN-U发送的数据包的接收速率,大于目标RAN-U向终端设备转发数据包的转发速率),目标RAN-U需要对接收到的数据包进行缓存。可选地,本申请实施例中的第四流表创建消息至少可以通过如下两种可实现方式:
第一种可实现方式:第四流表创建消息中还可以包括转发流表的缓存信息。可选地,第四流表创建消息的动作集中包含转发流表的缓存信息,其中,转发流表的缓存信息可以包括:创建缓存指示信息、缓存的存储空间大小、缓存类型信息以及缓存的创建触发指示。a)若控制器已收到下述步骤12中的RRC连接重配置完成消息(即控制器确定目标RAN-U与终端设备之间的空口连接已建立),缓存类型信息包括对接收到的数据包进行存储并转发,缓存的创建触发指示包括目标RAN-U的接收速率大于目标RAN-U的转发速率时创建缓存的指示。b)若控制器还未收到下述步骤12中的RRC连接重配置完成消息(即控制器确定目标RAN-U与终端设备之间的空口连接可能还未建立),缓存类型信息包括对接收到的数据包进行存储,缓存的创建触发指示包括目标RAN-U的接收速率大于目标RAN-U的转发速率时创建缓存的指示。
第二种可实现方式:第四流表创建消息中不包括转发流表的缓存信息(即第四流表创建消息为现有技术中正常的流表消息)。当目标RAN-U检测到接收速率大于转发速率时,目标RAN-U向控制器上报速率检测消息,速率检测消息中携带:转发流表的标识以及速率不匹配标识;速率不匹配标识用于指示目标RAN-U的接收速率大于转发速率。进一步地,控制器根据流表的标识和速率不匹配标识确定目标RAN-U需要创建缓存,并通过openflow协议向目标RAN-U发送第三流表修改消息,第三流表修改消息中可以包括:转发流表的标识以及转发流表的缓存信息,缓存信息可以包 括:创建缓存指示信息、缓存类型信息以及缓存的创建触发指示。a)若控制器已收到下述步骤12中的RRC连接重配置完成消息(即控制器确定目标RAN-U与终端设备之间的空口连接已建立),缓存类型信息包括对接收到的数据包进行存储并转发,缓存的创建触发指示包括目标RAN-U在接收到第三流表修改消息时创建缓存的指示。b)若控制器还未收到下述步骤12中的RRC连接重配置完成消息(即控制器确定目标RAN-U与终端设备之间的空口连接可能还未建立),缓存类型信息包括对接收到的数据包进行存储,缓存的创建触发指示包括目标RAN-U在接收到第三流表修改消息时创建缓存的指示。
(C)针对第三下行流表
为了保证目标RAN-U优先转发源RAN-U到终端设备的数据包,其次转发GW-U到终端设备的数据包,考虑到在目标RAN-U接收到GW-U发送的数据包时,控制器可能还未收到下述步骤29中的通知消息(即控制器确定目标RAN-U还未将源RAN-U发送的数据包转发完成),或者由于空口传输速率(即目标RAN-U向终端设备发送数据包的速率)可能小于GW-U到目标RAN-U的传输速率(即目标RAN-U接收GW-U发送的数据包的接收速率,大于目标RAN-U向终端设备转发数据包的转发速率),目标RAN-U需要对接收到的数据包进行缓存。可选地,本申请实施例中的第五流表创建消息至少可以通过如下可实现方式:
第五流表创建消息的动作集中包含第三下行流表的缓存信息,第三下行流表的缓存信息可以包括:创建缓存指示信息、缓存的存储空间大小、缓存类型信息以及缓存的创建触发指示。a)若控制器已收到下述步骤29中的通知消息(即控制器确定目标RAN-U已将源RAN-U发送的数据包转发完成),缓存类型信息包括对接收到的数据包进行存储并转发,缓存的创建触发指示包括目标RAN-U的接收速率大于目标RAN-U的转发速率时创建缓存的指示。b)若控制器还未收到下述步骤29中的通知消息(即控制器确定目标RAN-U还未将源RAN-U发送的数据包转发完成),缓存类型信息包括对接收到的数据包进行存储,缓存的创建触发指示包括目标RAN-U的接收速率大于目标RAN-U的转发速率时创建缓存的指示。
步骤11:由于上步骤10a中对源RAN-U中的下行流表所匹配数据流的目标网元由终端设备修改为目标RAN-U,因此,本步骤中源RAN-U将原来转发至终端设备的数据包都转发至目标RAN-U。
步骤12:终端通过目标RAN-U和控制器向目标RAN-C发送RRC连接重配置完成消息,用于指示空口连接已完成建立。
步骤13:当控制器在执行上述步骤10b且尚未收到步骤12中的RRC连接重配置完成消息时,上述步骤10b中第四流表创建消息的缓存类型信息包括对接收到的数据包进行存储,因此,在控制器接收到步骤12中的RRC连接重配置完成消息后,控制器向目标RAN-U发送第四流表修改消息,第四流表修改消息中可以包括:转发流表的标识、修改缓存指示信息以及缓存类型信息;缓存类型信息包括对接收到的数据包进行存储并转发,以便于目标RAN-U将源RAN-U发送的数据包顺利地转发至终端设备。
可选地,当控制器在执行上述步骤10b且收到步骤12中的RRC连接重配置完成 消息时,则无需执行步骤13。
步骤14:目标RAN-U根据转发流表和/或第三下行流表向终端设备发送下行数据;另外,目标RAN-U根据第一上行流表将终端设备发送的上行数据包转发至GW-U。
步骤15:目标RAN-C接收到步骤12中的RRC连接重配置完成消息后,向MME发送路径切换请求(path switch request)消息。
步骤16:MME向GW-C发送第一修改承载请求(modify bearer request)消息。
步骤17:GW-C向控制器发送第一修改流表请求(modify flow request)消息,第一修改流表请求消息用于指示控制器修改GW-U的上下行流表,第一修改流表请求消息中携带GW-U的标识、目标RAN-U的标识(即GW-U中下行流表匹配的数据流的目标网元的标识)、终端设备的标识以及APN的标识(用来识别GW-U中上行流表匹配的数据流的目标网元)。
步骤18:控制器通过openflow协议向GW-U发送第五流表修改消息,第五流表修改消息用于指示GW-U修改GW-U中的上下行流表,使GW-U能够正确地转发由目标RAN-U发送的数据包,并且可以正确地向目标RAN-U发送数据包。
步骤19a:执行完步骤18后,控制器通过openflow协议向GW-U发送包发出(packet out)消息,并通过GW-U转发给源RAN-U;其中,packet out消息中携带结束标识(End Marker)数据包,end marker数据包用于指示GW-U到源RAN-U的数据包已发送完毕。
步骤19b:执行完步骤18后,若在上述步骤10b中第三流表创建消息的缓存类型信息包括对接收到的数据包进行存储,则控制器通过openflow协议向目标RAN-U发送第六流表修改消息,第六流表修改消息中可以包括:第一上行流表的标识、修改缓存指示信息以及缓存类型信息;缓存类型信息包括对接收到的数据包进行存储并转发,以便于目标RAN-U向GW-U发送数据包。
步骤19b-1:若执行了上述步骤19b,则当步骤10b中创建的第一上行流表对应的缓存为空或者创建第一上行流表对应的缓存的动作尚未触发时,目标RAN-U向控制器上报第一数据转发完成(data forwarding complete)消息,第一数据转发完成消息中携带第一上行流表的标识。
步骤19b-2:若控制器收到步骤19b-1中目标RAN-U上报的第一数据转发完成消息,则通过openflow协议向目标RAN-U发送第七流表修改消息,第七流表修改消息中包括:第一上行流表的标识、匹配信息以及删除缓存指示信息。其中,删除缓存指示信息用于指示目标RAN-U删除第一上行流表的缓存。
步骤20:源RAN-U将GW-U发送的结束标识数据包转发到目标RAN-U。
步骤21:当执行了上述步骤20且源RAN-U中的下行流表对应的缓存为空,则源RAN-U向控制器发送第二数据转发完成消息,用于通知控制器源RAN-U到目标RAN-U的数据包转发完成,其中,第二数据转发完成消息中携带源RAN-U中的下行流表的标识(如Cookie信息)。
步骤22:控制器收到步骤21中的第二数据转发完成消息后,通过openflow协议向源RAN-U发送第一流表删除消息(用于指示源RAN-U删除源RAN-U中的下行流表),第一流表删除消息中包括:源RAN-U中的下行流表的标识。
步骤23:控制器向GW-C返回第一修改流表响应(modify flow response)消息。
步骤24:GW-C向MME返回第一修改承载响应(modify bearer response)消息。
步骤25:MME向目标RAN-C返回路径切换请求确认(path switch request Ack)消息。
步骤26:目标RAN-C向源RAN-C发送终端设备上下文释放(UE context release)消息,用于指示源RAN-C释放终端设备的上下文信息。
步骤27:源RAN-C向控制器发送资源释放(resource release)消息,资源释放消息中携带终端设备的标识和源RAN-U的标识,用于指示控制器释放对应RAN-U上的对应终端设备的资源。
步骤28:控制器根据终端设备的标识和源RAN-U的标识,确定对应的流表,并通过openflow协议向源RAN-U发送第二流表删除消息(用于指示源RAN-U删除对应的流表)。
步骤29:当目标RAN-U检测到步骤10b中创建的转发流表对应的缓存(用来缓存源RAN-U发送的数据包)中的数据包已转发完毕(即转发流表对应的缓存为空且已收到end marker数据包)时,目标RAN-U向控制器发送第三数据转发完成消息,第三数据转发完成消息中携带转发流表的标识。
步骤30:当控制器收到步骤29中的第三数据转发完成消息后,控制器确定目标RAN-U已将源RAN-U发送的数据包转发完成,从而目标RAN-U可以开始转发GW-U发送的数据包了。若步骤10b中创建的第三下行流表对应的缓存的缓存类型信息包括对接收到的数据包进行存储并转发,则无需执行本步骤;若步骤10b中创建的第三下行流表对应的缓存的缓存类型信息包括对接收到的数据包进行存储,则需要通过openflow协议向目标RAN-U发送第八流表修改消息,第八流表修改消息中可以包括:第三下行流表的标识、修改缓存指示信息以及缓存类型信息;缓存类型信息包括对接收到的数据包进行存储并转发,以便于目标RAN-U开始转发GW-U发送的数据包。
步骤31:在收到步骤29中的第三数据转发完成消息后,控制器通过openflow协议向目标RAN-U发送第三流表删除消息,第三流表删除消息中携带所述转发流表的标识,用于指示目标RAN-U删除所述转发流表。
可选地,本实施例中,上述步骤序号的大小并不限定执行顺序的先后,各步骤的执行顺序可以适当调整,本申请实施例中对此并不作限制。
可见,本申请实施例中,实现了在网络切换流程中,当终端设备的空口连接已经释放且目标RAN-U接收到需要发往终端设备的下行数据时,目标RAN-U无法继续转发下行数据,因此,目标RAN-U对下行数据进行基于数据流粒度的缓存方式、当目标RAN-U向终端设备转发下行数据的转发速率小于接收下行数据的速率时,目标RAN-U对接收到的下行数据进行基于数据流粒度的缓存方式、以及当终端设备进行网络切换时,目标RAN-U需要分别接收源RAN-U和GW-U发送的下行数据,为了保证优先转发源RAN-U发送的下行数据,RAN-U将GW-U发送的下行数据进行基于数据流粒度的缓存方式,从而能够满足移动网络的数据缓存需求。
图6为本申请提供的缓存控制方法实施例五的流程示意图。在上述实施例的基础上,本申请实施例中,将上述缓存控制方法应用于当终端设备在一段时间内没有发生 业务时,所触发的S1连接释放流程中。如图6所示,本实施例的方法,可以包括:
步骤1:RAN-C通过控制器和RAN-U向终端设备发送RRC连接释放消息(用于指示终端设备释放RRC连接)、以及RAN-C通过S1-AP接口向MME发送终端设备的S1上下文释放请求(S1 UE context release request)消息。
步骤2:MME向GW-C发送释放接入承载请求(release access bearers request)消息,用于请求GW-C释放所述终端设备的S1连接。
步骤3:GW-C向控制器发送修改下行连接请求(modify downlink request)消息,下行连接请求消息中携带GW-U的标识、RAN-U的标识以及终端设备的标识;即用于通知控制器修改对应终端设备从GW-U到RAN-U的第四下行流表。
步骤4:控制器根据下行连接请求消息确定第四下行流表,并通过openflow协议向GW-U发送第九流表修改消息,第九流表修改消息中可以包括:第四下行流表的标识、匹配信息以及缓存信息,缓存信息可以包括:创建缓存指示信息、缓存类型信息以及缓存的创建触发指示;其中,缓存类型信息包括对接收到的数据包进行存储,缓存的创建触发指示包括GW-U的接收速率(即接收第四下行流表匹配的数据包的速率)大于GW-U的转发速率(即转发第四下行流表匹配的数据包的速率)时创建缓存的指示。
步骤5:控制器向GW-C回复修改下行连接响应(modify downlink response)消息。
步骤6:GW-C向MME回复释放接入承载响应(release access bearer response)消息。
步骤7:MME向RAN-C发送终端设备的S1上下文释放命令(S1 UE context release command)消息,用于释放S1连接。
步骤8:如果RRC连接还未释放,则RAN-C向终端设备发送RRC连接释放(RRC connection release)消息。
步骤9:RAN-C收到步骤7中的终端设备的S1上下文释放命令消息后,向控制器发送删除流表请求(delete flow request)消息,其中,删除流表请求消息中携带RAN-U的标识和终端设备的标识。
步骤10:控制器根据删除流表请求消息中的RAN-U的标识和终端设备的标识,确定对应的上下行流表,并通过openflow协议向RAN-U发送第四流表删除消息(用于指示RAN-U删除对应的上下行流表以及上下行流表对应的缓存)。
步骤11:控制器向RAN-C返回删除流表响应(delete flow response)消息。
步骤12:RAN-C向MME发送终端设备的S1上下文释放完成(S1 UE context release complete)消息。
可选地,本实施例中,上述步骤序号的大小并不限定执行顺序的先后,各步骤的执行顺序可以适当调整,本申请实施例中对此并不作限制。
可见,本申请实施例中,实现了在S1连接释放流程中,当终端设备处于空闲态(例如空口连接和S1连接已经释放)且GW-U接收到需要转发至终端设备的下行数据时,GW-U无法继续转发下行数据,因此,GW-U对下行数据进行基于数据流粒度的缓存方式,以等待空口连接和S1连接的建立,从而能够满足移动网络的数据缓存需求。
图7为本申请提供的缓存控制方法实施例六的流程示意图。在上述实施例的基础上,本申请实施例中,将上述缓存控制方法应用于当终端设备处于空闲态且欲发起业 务时,所触发的服务请求流程中。如图7所示,本实施例的方法,可以包括:
步骤1:终端设备向MME发送服务请求(service request)消息。可选地,服务请求消息可以携带于非接入层(non-access-stratum,NAS)消息中。
步骤2:MME对UE的服务请求消息进行身份验证和安全处理。
步骤3:MME向RAN-C发送初始上下文建立请求(initial context setup request)消息。可选地,MME可以通过S1-AP接口发送初始上下文建立请求消息。
步骤4:RAN-C向控制器发送第三创建流表请求消息,第三创建流表请求消息用于指示控制器控制RAN-U创建第五下行流表,第三创建流表请求消息中携带RAN-U的标识、GW-U的标识(即第五下行流表匹配的数据流的源网元的标识)以及终端设备的标识(即第五下行流表匹配的数据流的目标网元的标识)。
步骤5:控制器通过openflow协议向RAN-U发送第六流表创建消息,第六流表创建消息用于指示RAN-U创建到终端设备的第五下行流表。可选地,第六流表创建消息可以包括:第五下行流表的标识以及匹配信息。
考虑到空口传输速率(即RAN-U向终端设备发送数据包的速率)可能小于GW-U到RAN-U的传输速率(即RAN-U接收GW-U发送的数据包的接收速率,大于RAN-U向终端设备转发数据包的转发速率),RAN-U需要对接收到的数据包进行缓存。可选地,本申请实施例中的第六流表创建消息至少可以通过如下两种可实现方式:
第一种可实现方式:第六流表创建消息中还可以包括第五下行流表的缓存信息。可选地,第六流表创建消息的动作集中包含第五下行流表的缓存信息,其中,第五下行流表的缓存信息可以包括:创建缓存指示信息、缓存的存储空间大小、缓存类型信息以及缓存的创建触发指示。其中,缓存类型信息包括对接收到的数据包进行存储并转发,缓存的创建触发指示包括RAN-U的接收速率大于RAN-U的转发速率时创建缓存的指示。
第二种可实现方式:第六流表创建消息中不包括第五下行流表的缓存信息(即第六流表创建消息为现有技术中正常的流表消息)。当RAN-U检测到接收速率大于转发速率时,RAN-U向控制器上报速率检测消息,速率检测消息中携带:第五下行流表的标识以及速率不匹配标识;速率不匹配标识用于指示RAN-U的接收速率大于转发速率。进一步地,控制器根据第五下行流表的标识和速率不匹配标识确定RAN-U需要创建缓存,并通过openflow协议向RAN-U发送第十流表修改消息,第十流表修改消息中可以包括:第五下行流表的标识以及第五下行流表的缓存信息;第五下行流表的缓存信息包括:创建缓存指示信息、缓存的存储空间大小、缓存类型信息以及缓存的创建触发指示;其中,缓存类型信息包括对接收到的数据包进行存储并转发,缓存的创建触发指示包括RAN-U在接收到第九流表修改消息时创建缓存的指示。
步骤6:控制器向RAN-C返回第三创建流表响应消息,第三创建流表响应消息包括流表创建结果。
步骤7:RAN-C通过控制器和RAN-U给终端设备发送RRC连接重配置消息。
步骤8:终端设备向RAN-C返回RRC连接重配置完成消息。
步骤9:RAN-C向MME发送初始上下文建立完成(initial context setup complete)消息。
步骤10:MME向GW-C发送第二修改承载请求消息。
步骤11:GW-C向控制器发送第二修改流表请求(modify flow request)消息,第二修改 流表请求消息用于指示控制器修改GW-U中的第六下行流表,第二修改流表请求消息中携带GW-U的标识、RAN-U的标识、终端设备的标识以及APN的标识。
步骤12:控制器通过openflow协议向GW-U发送第十一流表修改消息,第十一流表修改消息中可以包括:第六下行流表的标识、匹配信息以及缓存信息;第六下行流表的缓存信息可以包括:修改缓存指示信息以及缓存类型信息;缓存类型信息包括对接收到的数据包进行存储并转发,以便GW-U向RAN-U发送数据包。
步骤13:控制器向GW-C返回第二修改流表响应(modify flow response)消息。
步骤14:GW-C向MME返回第二修改承载响应消息。
步骤15:当GW-U检测到在S1连接释放流程中创建的第六下行流表对应的缓存(用于缓存到终端设备的下行数据包)为空时,GW-U向控制器发送第四数据转发完成消息,其中,第四数据转发完成消息中携带第六下行流表的标识。
步骤16:控制器在收到步骤15中的第四数据转发完成消息后,通过openflow协议向GW-U发送第十二流表修改消息,第十二流表修改消息中可以包括:第六下行流表的标识、匹配信息以及删除缓存指示信息。其中,删除缓存指示信息用于指示GW-U删除第六下行流表对应的缓存。
可选地,本实施例中,上述步骤序号的大小并不限定执行顺序的先后,各步骤的执行顺序可以适当调整,本申请实施例中对此并不作限制。
可见,本申请实施例中,实现了在服务请求流程中,当RAN-U向终端设备转发下行数据的转发速率小于接收下行数据的速率时,RAN-U对接收到的下行数据进行基于数据流粒度的缓存方式,从而能够满足移动网络的数据缓存需求。
当然,上述缓存控制方法还可应用于其它情形中,本申请实施例中对此并不作限制。
图8为本申请网元实施例一的结构示意图。如图8所示,本实施例提供的网元80,可以包括:接收模块801、处理模块802以及发送模块803。
其中,接收模块801,用于接收控制器发送的流表消息;所述流表消息包括流表匹配的数据包的缓存信息;
处理模块802,用于根据所述缓存信息对所述数据包的缓存进行处理;
发送模块803,用于向所述控制器发送流表响应消息。
可选地,所述缓存信息包括创建缓存指示信息或修改缓存指示信息或删除缓存指示信息。
可选地,所述缓存信息包括缓存类型信息,所述缓存类型信息用于指示所述数据包的存储方式。
可选地,所述缓存类型信息包括:对接收到的数据包进行存储、或对接收到的数据包进行存储并转发。
可选地,所述缓存信息包括:缓存的创建触发指示,其中,所述缓存的创建触发指示用于指示所述缓存的创建时机。
可选地,所述缓存的创建触发指示包括:所述网元在接收到所述流表消息时创建所述缓存的指示,或者所述网元的接收速率大于所述网元的转发速率时创建所述缓存 的指示。
可选地,所述缓存信息包括:所述缓存的存储空间大小。
可选地,所述缓存信息位于所述流表消息的动作集字段。
本实施例的网元,可以用于执行本申请上述缓存控制方法实施例一至实施例六中任意实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
图9为本申请网元实施例二的结构示意图。如图9所示,本实施例提供的网元90,可以包括:存储器901、处理器902、收发器903和至少一个通信总线904。
其中,通信总线904用于实现元件之间的通信连接。存储器901可能包含高速RAM存储器,也可能还包括非易失性存储NVM,例如至少一个磁盘存储器,存储器901中可以存储各种程序指令,用于完成各种处理功能以及实现本申请上述实施例中的方法步骤。收发器903可以为相应的具有通信功能的输出/输出接口。收发器903用于接收控制器发送的流表消息;所述流表消息包括流表匹配的数据包的缓存信息。处理器902用于调用所述存储器901中的程序指令执行下述步骤:根据所述缓存信息对所述数据包的缓存进行处理。收发器903还用于向所述控制器发送流表响应消息。
可选地,所述缓存信息包括创建缓存指示信息或修改缓存指示信息或删除缓存指示信息。
可选地,所述缓存信息包括缓存类型信息,所述缓存类型信息用于指示所述数据包的存储方式。
可选地,所述缓存类型信息包括:对接收到的数据包进行存储、或对接收到的数据包进行存储并转发。
可选地,所述缓存信息包括:缓存的创建触发指示,其中,所述缓存的创建触发指示用于指示所述缓存的创建时机。
可选地,所述缓存的创建触发指示包括:所述网元在接收到所述流表消息时创建所述缓存的指示,或者所述网元的接收速率大于所述网元的转发速率时创建所述缓存的指示。
可选地,所述缓存信息包括:所述缓存的存储空间大小。
可选地,所述缓存信息位于所述流表消息的动作集字段。
本实施例的网元,可以用于执行本申请上述缓存控制方法实施例一至实施例六中任意实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
图10为本申请控制器实施例一的结构示意图。如图10所示,本实施例提供的控制器100,可以包括:发送块1001以及接收模块1002。
其中,发送模块1001,用于向网元发送流表消息;所述流表消息包括流表匹配的数据包的缓存信息;
接收模块1002,用于接收所述网元发送的流表响应消息。
可选地,所述缓存信息包括创建缓存指示信息或修改缓存指示信息或删除缓存指示信息。
可选地,所述缓存信息包括缓存类型信息,缓存类型信息用于指示所述数据包的存储方式。
可选地,所述缓存类型信息包括:对接收到的数据包进行存储、或对接收到的数据包进行存储并转发。
可选地,所述缓存信息包括:缓存的创建触发指示,其中,所述缓存的创建触发指示用于指示所述缓存的创建时机。
可选地,所述缓存的创建触发指示包括:所述网元在接收到所述流表消息时创建所述缓存的指示,或者所述网元的接收速率大于所述网元的转发速率时创建所述缓存的指示。
可选地,所述缓存信息包括:所述缓存的存储空间大小。
可选地,所述缓存信息位于所述流表消息的动作集字段。
本实施例的控制器,可以用于执行本申请上述缓存控制方法实施例一至实施例六中任意实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
图11为本申请控制器实施例二的结构示意图。如图11所示,本实施例提供的控制器110,可以包括:存储器1101、处理器1102、收发器1103和至少一个通信总线1104。
其中,通信总线1104用于实现元件之间的通信连接。存储器1101可能包含高速RAM存储器,也可能还包括非易失性存储NVM,例如至少一个磁盘存储器,存储器1101中可以存储各种程序指令,用于完成各种处理功能以及实现本申请上述实施例中的方法步骤。处理器1102用于调用存储器1101中的程序指令。收发器1103可以为相应的具有通信功能的输出/输出接口。收发器1103用于向网元发送流表消息;所述流表消息包括流表匹配的数据包的缓存信息;收发器1103还用于接收所述网元发送的流表响应消息。
可选地,所述缓存信息包括创建缓存指示信息或修改缓存指示信息或删除缓存指示信息。
可选地,所述缓存信息包括缓存类型信息,缓存类型信息用于指示所述数据包的存储方式。
可选地,所述缓存类型信息包括:对接收到的数据包进行存储、或对接收到的数据包进行存储并转发。
可选地,所述缓存信息包括:缓存的创建触发指示,其中,所述缓存的创建触发指示用于指示所述缓存的创建时机。
可选地,所述缓存的创建触发指示包括:所述网元在接收到所述流表消息时创建所述缓存的指示,或者所述网元的接收速率大于所述网元的转发速率时创建所述缓存的指示。
可选地,所述缓存信息包括:所述缓存的存储空间大小。
可选地,所述缓存信息位于所述流表消息的动作集字段。
本实施例的控制器,可以用于执行本申请上述缓存控制方法实施例一至实施例六中任意实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
本领域技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部 分功能。上述描述的装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
在上述各实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘solid state disk(SSD))等。
Claims (30)
- 一种缓存控制方法,其特征在于,包括:网元接收控制器发送的流表消息;所述流表消息包括流表匹配的数据包的缓存信息;所述网元根据所述缓存信息对所述数据包的缓存进行处理;所述网元向所述控制器发送流表响应消息。
- 根据权利要求1所述的方法,其特征在于,所述缓存信息包括创建缓存指示信息或修改缓存指示信息或删除缓存指示信息。
- 根据权利要求1或2所述的方法,其特征在于,所述缓存信息包括缓存类型信息,所述缓存类型信息用于指示所述数据包的存储方式。
- 根据权利要求3所述的方法,其特征在于,所述缓存类型信息包括:对接收到的数据包进行存储、或对接收到的数据包进行存储并转发。
- 根据权利要求1-4中任一项所述的方法,其特征在于,所述缓存信息包括:缓存的创建触发指示,其中,所述缓存的创建触发指示用于指示所述缓存的创建时机。
- 根据权利要求5所述的方法,其特征在于,所述缓存的创建触发指示包括:所述网元在接收到所述流表消息时创建所述缓存的指示,或者所述网元的接收速率大于所述网元的转发速率时创建所述缓存的指示。
- 根据权利要求1-6中任一项所述的方法,其特征在于,所述缓存信息包括:所述缓存的存储空间大小。
- 根据权利要求1-7中任一项所述的方法,其特征在于,所述缓存信息位于所述流表消息的动作集字段。
- 一种缓存控制方法,其特征在于,包括:控制器向网元发送流表消息;所述流表消息包括流表匹配的数据包的缓存信息;所述控制器接收所述网元发送的流表响应消息。
- 根据权利要求9所述的方法,其特征在于,所述缓存信息包括创建缓存指示信息或修改缓存指示信息或删除缓存指示信息。
- 根据权利要求9或10所述的方法,其特征在于,所述缓存信息包括缓存类型信息,缓存类型信息用于指示所述数据包的存储方式。
- 根据权利要求11所述的方法,其特征在于,所述缓存类型信息包括:对接收到的数据包进行存储、或对接收到的数据包进行存储并转发。
- 根据权利要求9-12中任一项所述的方法,其特征在于,所述缓存信息包括:缓存的创建触发指示,其中,所述缓存的创建触发指示用于指示所述缓存的创建时机。
- 根据权利要求13所述的方法,其特征在于,所述缓存的创建触发指示包括:所述网元在接收到所述流表消息时创建所述缓存的指示,或者所述网元的接收速率大于所述网元的转发速率时创建所述缓存的指示。
- 根据权利要求9-14中任一项所述的方法,其特征在于,所述缓存信息包括:所述缓存的存储空间大小。
- 根据权利要求9-15中任一项所述的方法,其特征在于,所述缓存信息位于所 述流表消息的动作集字段。
- 一种网元,其特征在于,包括:接收模块,用于接收控制器发送的流表消息;所述流表消息包括流表匹配的数据包的缓存信息;处理模块,用于根据所述缓存信息对所述数据包的缓存进行处理;发送模块,用于向所述控制器发送流表响应消息。
- 根据权利要求17所述的网元,其特征在于,所述缓存信息包括创建缓存指示信息或修改缓存指示信息或删除缓存指示信息。
- 根据权利要求17或18所述的网元,其特征在于,所述缓存信息包括缓存类型信息,所述缓存类型信息用于指示所述数据包的存储方式。
- 根据权利要求19所述的网元,其特征在于,所述缓存类型信息包括:对接收到的数据包进行存储、或对接收到的数据包进行存储并转发。
- 根据权利要求17-20中任一项所述的网元,其特征在于,所述缓存信息包括:缓存的创建触发指示,其中,所述缓存的创建触发指示用于指示所述缓存的创建时机。
- 根据权利要求21所述的网元,其特征在于,所述缓存的创建触发指示包括:所述网元在接收到所述流表消息时创建所述缓存的指示,或者所述网元的接收速率大于所述网元的转发速率时创建所述缓存的指示。
- 根据权利要求17-22中任一项所述的网元,其特征在于,所述缓存信息包括:所述缓存的存储空间大小。
- 一种控制器,其特征在于,包括:发送模块,用于向网元发送流表消息;所述流表消息包括流表匹配的数据包的缓存信息;接收模块,用于接收所述网元发送的流表响应消息。
- 根据权利要求24所述的控制器,其特征在于,所述缓存信息包括创建缓存指示信息或修改缓存指示信息或删除缓存指示信息。
- 根据权利要求24或25所述的控制器,其特征在于,所述缓存信息包括缓存类型信息,缓存类型信息用于指示所述数据包的存储方式。
- 根据权利要求26所述的控制器,其特征在于,所述缓存类型信息包括:对接收到的数据包进行存储、或对接收到的数据包进行存储并转发。
- 根据权利要求24-27中任一项所述的控制器,其特征在于,所述缓存信息包括:缓存的创建触发指示,其中,所述缓存的创建触发指示用于指示所述缓存的创建时机。
- 根据权利要求28所述的控制器,其特征在于,所述缓存的创建触发指示包括:所述网元在接收到所述流表消息时创建所述缓存的指示,或者所述网元的接收速率大于所述网元的转发速率时创建所述缓存的指示。
- 根据权利要求24-29中任一项所述的控制器,其特征在于,所述缓存信息包括:所述缓存的存储空间大小。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP18818027.7A EP3627784A4 (en) | 2017-06-16 | 2018-06-11 | CACHE CONTROL METHOD, NETWORK ELEMENT, AND CONTROL UNIT |
US16/711,756 US11323394B2 (en) | 2017-06-16 | 2019-12-12 | Buffer control method, network element, and controller |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710456925.0 | 2017-06-16 | ||
CN201710456925.0A CN109150752B (zh) | 2017-06-16 | 2017-06-16 | 缓存控制方法、网元及控制器 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US16/711,756 Continuation US11323394B2 (en) | 2017-06-16 | 2019-12-12 | Buffer control method, network element, and controller |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2018228309A1 true WO2018228309A1 (zh) | 2018-12-20 |
Family
ID=64660028
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/CN2018/090581 WO2018228309A1 (zh) | 2017-06-16 | 2018-06-11 | 缓存控制方法、网元及控制器 |
Country Status (4)
Country | Link |
---|---|
US (1) | US11323394B2 (zh) |
EP (1) | EP3627784A4 (zh) |
CN (1) | CN109150752B (zh) |
WO (1) | WO2018228309A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116185886B (zh) * | 2022-12-13 | 2023-10-13 | 中国科学院声学研究所 | 一种匹配表系统 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140341199A1 (en) * | 2013-05-15 | 2014-11-20 | Samsung Electronics Co., Ltd. | Method and device for processing service in software-defined networking system |
CN104821923A (zh) * | 2015-05-15 | 2015-08-05 | 杭州华三通信技术有限公司 | Sdn网络中发送上送控制器协议报文的方法和装置 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6822966B2 (en) * | 1999-03-01 | 2004-11-23 | Enterasys Networks, Inc. | Allocating buffers for data transmission in a network communication device |
CN104348750B (zh) * | 2013-07-31 | 2019-07-26 | 中兴通讯股份有限公司 | OpenFlow网络中QoS的实现方法及装置 |
CN104735734B (zh) * | 2013-12-19 | 2019-07-30 | 中兴通讯股份有限公司 | 一种业务处理的方法、网络控制器及转发设备 |
ES2719541T3 (es) * | 2014-01-28 | 2019-07-11 | Huawei Tech Co Ltd | Procedimiento y aparato de modificación de reglas de procesamiento |
CN105634986B (zh) * | 2014-11-30 | 2019-04-23 | 中国科学院沈阳自动化研究所 | 一种交换机实现方法与系统 |
US10645009B2 (en) * | 2016-03-18 | 2020-05-05 | Futurewei Technologies, Inc. | Method and apparatus for programmable buffers in mobile networks |
US11012378B2 (en) * | 2016-08-02 | 2021-05-18 | Telefonaktiebolaget Lm Ericsson (Publ) | Methods and apparatus for shared buffer allocation in a transport node |
EP3607707A1 (en) * | 2017-04-07 | 2020-02-12 | Telefonaktiebolaget LM Ericsson (publ) | Technique for packet buffering |
-
2017
- 2017-06-16 CN CN201710456925.0A patent/CN109150752B/zh active Active
-
2018
- 2018-06-11 WO PCT/CN2018/090581 patent/WO2018228309A1/zh unknown
- 2018-06-11 EP EP18818027.7A patent/EP3627784A4/en active Pending
-
2019
- 2019-12-12 US US16/711,756 patent/US11323394B2/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140341199A1 (en) * | 2013-05-15 | 2014-11-20 | Samsung Electronics Co., Ltd. | Method and device for processing service in software-defined networking system |
CN104821923A (zh) * | 2015-05-15 | 2015-08-05 | 杭州华三通信技术有限公司 | Sdn网络中发送上送控制器协议报文的方法和装置 |
Non-Patent Citations (3)
Title |
---|
MAO, JIANBIAO ET AL.: "A model of openflow flow buffer management in datacenter network", CHINESE JOURNAL OF COMPUTERS, vol. 39, no. 6, 30 June 2016 (2016-06-30), pages 1092 - 1104, XP009518035 * |
See also references of EP3627784A4 |
ZOU, JIANFENG: "Software-defined networking technology research based on open flow", ELECTRONIC TECHNOLOGY & INFORMATION SCIENCE, CHINA MASTER'S THESES FULL-TEXT DATABASE, 15 April 2015 (2015-04-15), pages 1 - 64, XP009518033 * |
Also Published As
Publication number | Publication date |
---|---|
CN109150752A (zh) | 2019-01-04 |
US20200120046A1 (en) | 2020-04-16 |
CN109150752B (zh) | 2023-02-10 |
EP3627784A4 (en) | 2020-04-22 |
US11323394B2 (en) | 2022-05-03 |
EP3627784A1 (en) | 2020-03-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2018141284A1 (zh) | 一种QoS流处理方法、设备和通信系统 | |
CN109600802B (zh) | 数据传输方法、相关设备及系统 | |
WO2020224596A1 (zh) | 通信方法及装置 | |
Nguyen et al. | Proposal and evaluation of SDN‐based mobile packet core networks | |
US20170019945A1 (en) | Dual Connectivity Re-Establishment | |
WO2017201722A1 (zh) | 一种通信控制的方法及相关网元 | |
WO2020173137A1 (zh) | 一种数据传输方法、相关设备、程序产品以及存储介质 | |
WO2013064104A1 (zh) | 一种数据传输方法、移动性管理实体和移动终端 | |
WO2020001562A1 (zh) | 一种通信方法及装置 | |
WO2020001257A1 (zh) | 一种数据传输方法及装置 | |
WO2017028289A1 (zh) | 一种网络终端设备进行通信的方法及装置 | |
US10827003B2 (en) | Application data migration method and network device | |
US11202338B2 (en) | Session establishment method and apparatus | |
JP2019527006A (ja) | 報告受信方法及びネットワーク装置、並びに報告実行方法及び基地局 | |
US11722574B2 (en) | Packet transmission method, communication apparatus, and communication system | |
WO2018201999A1 (zh) | 用户面链路建立方法、基站及移动性管理设备 | |
WO2017166978A1 (zh) | 一种数据传输方法及装置以及会话管理设备 | |
WO2018113504A1 (zh) | 一种用户面锚点选择方法及装置 | |
WO2019223702A1 (zh) | 管理pdu会话的方法、装置和系统 | |
WO2023087965A1 (zh) | 一种通信方法及装置 | |
WO2019076308A1 (zh) | 终端设备的状态的确定方法、装置及设备 | |
WO2022237505A1 (zh) | 一种通信方法、设备及系统 | |
WO2020135536A1 (zh) | 一种通信方法及装置 | |
WO2022170798A1 (zh) | 确定策略的方法和通信装置 | |
WO2020001256A1 (zh) | 一种数据传输方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 18818027 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
ENP | Entry into the national phase |
Ref document number: 2018818027 Country of ref document: EP Effective date: 20191219 |