CN109672615B - 数据报文缓存方法及装置 - Google Patents
数据报文缓存方法及装置 Download PDFInfo
- Publication number
- CN109672615B CN109672615B CN201710963684.9A CN201710963684A CN109672615B CN 109672615 B CN109672615 B CN 109672615B CN 201710963684 A CN201710963684 A CN 201710963684A CN 109672615 B CN109672615 B CN 109672615B
- Authority
- CN
- China
- Prior art keywords
- cache
- function module
- message
- data
- data message
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 105
- 239000013256 coordination polymer Substances 0.000 claims abstract 14
- 230000006870 function Effects 0.000 claims description 497
- 230000003139 buffering effect Effects 0.000 claims description 25
- 230000005540 biological transmission Effects 0.000 claims description 12
- 230000007246 mechanism Effects 0.000 claims description 3
- 238000012546 transfer Methods 0.000 claims description 3
- 230000005641 tunneling Effects 0.000 claims 4
- 239000000872 buffer Substances 0.000 description 53
- 238000013461 design Methods 0.000 description 34
- 238000010586 diagram Methods 0.000 description 29
- 230000008569 process Effects 0.000 description 28
- 230000006855 networking Effects 0.000 description 9
- 238000012545 processing Methods 0.000 description 6
- 238000004891 communication Methods 0.000 description 5
- 230000009286 beneficial effect Effects 0.000 description 4
- 230000003993 interaction Effects 0.000 description 4
- 210000001503 joint Anatomy 0.000 description 4
- 238000005538 encapsulation Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000007726 management method Methods 0.000 description 3
- 238000010295 mobile communication Methods 0.000 description 3
- 102100022734 Acyl carrier protein, mitochondrial Human genes 0.000 description 2
- 101000678845 Homo sapiens Acyl carrier protein, mitochondrial Proteins 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000000926 separation method Methods 0.000 description 2
- 230000011664 signaling Effects 0.000 description 2
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000008571 general function Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
Images
Classifications
-
- 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
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请提供一种数据报文缓存方法及装置。该方法包括:UP接收CP发送的缓存报文的流表项,UP接收数据报文,将与缓存报文的流表项匹配的数据报文发送到缓存功能模块,用于缓存功能模块存储数据报文,缓存功能模块为交换机内部模块或交换机外部模块。从而实现了用户数据报文可在UP缓存,避免CP进行报文缓存带来的负载和时延问题。
Description
技术领域
本申请涉及通信技术领域,尤其涉及一种数据报文缓存方法及装置。
背景技术
报文缓存功能是电信业务的一种应用,交换机在用户不在线时将用户数据报文缓存起来,之后在用户上线时,将缓存的用户数据报文发送给用户。传统交换机的控制功能和报文转发功能集成在一个交换机内,而在第五代移动通信(the 5th Generation mobilecommunication technology,5G)系统中控制面(Control Plane,CP)与用户面(UserPlane,UP)分离的网络架构下,将交换机分为CP和UP,CP和UP分开部署并通过标准通信接口连接,CP负责信令报文处理和下发用户数据报文的流表项到UP,流表项由头域、计数器和操作组成,其中头域是个十元组,是流表项的标识,计数器用来计数流表项的统计数据,操作标明了与该流表项匹配的用户数据报文应该执行的操作。UP接收用户数据报文,并按照CP下发的流表项对用户数据报文进行处理(如修改或转发)。
在CP-UP分离架构下,常见的交换机有openflow交换机和可编程的协议无关的报文处理器(Programming Protocol-Independent Packet Processors,P4)交换机,openflow交换机作为UP的功能只是按照CP下发的流表项,将接收到的用户数据报文和流表项的操作中的用户数据报文进行匹配,并将匹配上的用户数据报文按照流表项中定义的操作完成对用户数据报文的修改或转发,在对用户数据报文的处理中,没有存储的功能。P4中有对寄存器的定义,但寄存器的数量和功能并不是用于做用户数据报文缓存之类的大量存储,因此也不能完成报文存储。现有技术中为实现数据报文缓存,通过UP将用户数据报文发送到CP的控制器,由控制器进行存储。
但是,由于CP和UP分开部署,同时CP管理大量UP,由CP进行数据报文缓存会带来较大负载,且需UP将用户数据报文通过标准通信接口发送给CP,时延较大。
发明内容
本申请提供一种数据报文缓存方法及装置,通过在用户面增加具有存储功能的模块,使得用户数据报文在用户面缓存,避免控制面进行报文缓存带来的负载和时延问题。
第一方面,本申请提供一种数据报文缓存方法,包括:用户面UP接收控制面CP发送的缓存报文的流表项,UP接收数据报文,将与缓存报文的流表项匹配的数据报文发送到缓存功能模块,用于缓存功能模块存储数据报文,缓存功能模块为交换机内部模块或交换机外部模块。
通过第一方面提供的数据报文缓存方法,通过在UP增加缓存功能模块,CP向UP发送缓存报文的流表项,UP接收数据报文,将与缓存报文的流表项匹配的数据报文发送到缓存功能模块,缓存功能模块根据数据报文中的用户信息和数据报文的接收顺序存储数据报文,从而,通过利用UP的转发能力,将报文转发到缓存功能模块,缓存功能模块按照和CP约定的方式存储数据报文,从而实现了用户数据报文可在UP缓存,避免CP进行报文缓存带来的负载和时延问题。
在一种可能的设计中,该方法还包括:UP接收CP发送的转发报文的流表项;UP接收缓存功能模块发送的缓存数据报文,缓存数据报文是缓存功能模块在接收到CP发送的报文发送指令时,根据存储顺序和报文发送指令发送的,报文发送指令包含要发送的缓存数据报文的第二用户信息,第二用户信息包含MAC地址、IP地址、隧道标识和命中的流表项的标识中的至少一个,UP根据转发报文的流表项对缓存数据报文进行转发。
通过该实施方式提供的数据报文缓存方法,通过在UP增加缓存功能模块,CP向UP发送缓存报文的流表项,UP接收数据报文,将与缓存报文的流表项匹配的数据报文发送到缓存功能模块,缓存功能模块根据数据报文中的用户信息和数据报文的接收顺序存储数据报文,在转发数据报文时,CP向UP发送转发报文的流表项,CP向缓存功能模块发送报文发送指令,报文发送指令包含要发送的缓存数据报文的用户信息,缓存功能模块根据存储顺序和报文发送指令发送缓存数据报文给UP,最后UP根据转发报文的流表项对缓存数据报文进行转发。从而,通过利用UP的转发能力,将报文转发到缓存功能模块,缓存功能模块按照和CP约定的方式存储数据报文,并能够根据约定的报文发送指令,发送缓存的数据报文到UP,从而实现了用户数据报文可在UP缓存,避免CP进行报文缓存带来的负载和时延问题。
在一种可能的设计中,缓存功能模块与UP的端口直接对接,缓存功能模块的功能为单一的报文存储功能,缓存报文的流表项指示的操作为匹配指定数据报文,并通过连接缓存功能模块的端口发送到缓存功能模块;
UP将与缓存报文的流表项匹配的数据报文发送到缓存功能模块,包括:
UP将与缓存报文的流表项匹配的数据报文通过连接缓存功能模块的端口发送到缓存功能模块,用于缓存功能模块根据数据报文中的第一用户信息和数据报文的接收顺序存储数据报文,第一用户信息包含媒质接入控制MAC地址、IP地址、隧道标识和命中的流表项的标识中的至少一个。
在一种可能的设计中,缓存功能模块与UP的端口直接对接,缓存功能模块的功能为非单一的报文存储功能,缓存报文的流表项指示的操作为匹配指定数据报文,添加第一控制信息,第一控制信息至少包含缓存指令,将添加第一控制信息的数据报文通过连接缓存功能模块的端口发送到缓存功能模块;
UP将与缓存报文的流表项匹配的数据报文发送到缓存功能模块,包括:UP为与缓存报文的流表项匹配的数据报文添加第一控制信息,将添加第一控制信息的数据报文通过连接缓存功能模块的端口发送到缓存功能模块,用于缓存功能模块根据数据报文中的第一用户信息和数据报文的接收顺序存储数据报文,或者,根据第一控制信息中的序列号存储数据报文,第一用户信息包含MAC地址、IP地址、隧道标识和命中的流表项的标识中的至少一个。
通过该实施方式提供的数据报文缓存方法,缓存功能模块不仅支持报文存储功能,还支持其它功能,UP通过在数据报文中添加第一控制信息,指示缓存功能模块对数据报文进行缓存;在发送缓存的报文时,CP可以在报文发送指令中添加数据报文发送端口,缓存功能模块通过在发送缓存数据报文时为报文添加第一控制信息,从而指示UP对数据报文进行相应的操作。本实施方式中的缓存功能模块减少了模块功能单一的限制,同时控制信息的添加使得缓存和发送缓存数据报文的控制和操作更灵活。
在一种可能的设计中,第二用户信息还包括数据报文发送端口,缓存数据报文是缓存功能模块按照存储顺序添加第二控制信息后向UP发送,第二控制信息中包含数据报文发送端口。
在一种可能的设计中,缓存功能模块通过路由或交换与UP互通,缓存功能模块的功能为非单一的报文存储功能,缓存报文的流表项指示的操作为匹配指定数据报文,将匹配的数据报文封装在业务链包头中,将封装后的数据报文通过连接缓存功能模块的端口发送到缓存功能模块,业务链包头携带用于指示缓存数据报文的信息和UP需要传递给缓存功能模块的信息,业务链包头包括业务链协议的包头或隧道协议的包头;
UP将与缓存报文的流表项匹配的数据报文发送到缓存功能模块,包括:UP将与缓存报文的流表项匹配的数据报文封装在业务链包头中,将封装后的数据报文通过连接缓存功能模块的端口发送到缓存功能模块,用于缓存功能模块根据数据报文中的第一用户信息和数据报文的接收顺序存储数据报文,或者,根据业务链包头中的序列号存储数据报文,第一用户信息包含MAC地址、IP地址、隧道标识和命中的流表项的标识中的至少一个。
通过该实施方式提供的数据报文缓存方法,缓存功能模块对组网方式没有要求和UP直连的限制,要缓存的数据报文和要发送的缓存数据报文,通过路由或者交换到达UP,同时可以在业务链包头中携带用于指示缓存数据报文的信息,对组网方式没有要求,同时控制灵活。
在一种可能的设计中,第二用户信息还包括数据报文发送端口,缓存数据报文是缓存功能模块按照存储顺序封装在业务链包头中后向UP发送,业务链包头携带数据报文发送端口。
第二方面,本申请提供一种数据报文缓存方法,包括:缓存功能模块接收用户面UP发送的与缓存报文的流表项匹配的数据报文,缓存功能模块为交换机内部模块或交换机外部模块,缓存报文的流表项为控制面CP发送给UP,缓存功能模块存储数据报文。
通过第一方面提供的数据报文缓存方法,通过在UP增加缓存功能模块,CP向UP发送缓存报文的流表项,UP接收数据报文,将与缓存报文的流表项匹配的数据报文发送到缓存功能模块,缓存功能模块根据数据报文中的用户信息和数据报文的接收顺序存储数据报文,从而,通过利用UP的转发能力,将报文转发到缓存功能模块,缓存功能模块按照和CP约定的方式存储数据报文,从而实现了用户数据报文可在UP缓存,避免CP进行报文缓存带来的负载和时延问题。
在一种可能的设计中,方法还包括:缓存功能模块接收CP发送的报文发送指令,报文发送指令包含要发送的缓存数据报文的第二用户信息,第二用户信息包含MAC地址、IP地址、隧道标识和命中的流表项的标识中的至少一个;缓存功能模块根据存储顺序和报文发送指令向UP发送缓存数据报文,用于UP根据CP发送的转发报文的流表项对接收到的缓存数据报文进行转发。
通过该实施方式提供的数据报文缓存方法,通过在UP增加缓存功能模块,CP向UP发送缓存报文的流表项,UP接收数据报文,将与缓存报文的流表项匹配的数据报文发送到缓存功能模块,缓存功能模块根据数据报文中的用户信息和数据报文的接收顺序存储数据报文,在转发数据报文时,CP向UP发送转发报文的流表项,CP向缓存功能模块发送报文发送指令,报文发送指令包含要发送的缓存数据报文的用户信息,缓存功能模块根据存储顺序和报文发送指令发送缓存数据报文给UP,最后UP根据转发报文的流表项对缓存数据报文进行转发。从而,通过利用UP的转发能力,将报文转发到缓存功能模块,缓存功能模块按照和CP约定的方式存储数据报文,并能够根据约定的报文发送指令,发送缓存的数据报文到UP,从而实现了用户数据报文可在UP缓存,避免CP进行报文缓存带来的负载和时延问题。
在一种可能的设计中,缓存功能模块与UP的端口直接对接,缓存功能模块的功能为单一的报文存储功能,缓存报文的流表项指示的操作为匹配指定数据报文,并通过连接缓存功能模块的端口发送到缓存功能模块;
缓存功能模块存储数据报文,包括:缓存功能模块根据数据报文中的第一用户信息和数据报文的接收顺序存储数据报文,第一用户信息包含媒质接入控制MAC地址、IP地址、隧道标识和命中的流表项的标识中的至少一个。
在一种可能的设计中,缓存功能模块与UP的端口直接对接,缓存功能模块的功能为非单一的报文存储功能,缓存报文的流表项指示的操作为匹配指定数据报文,添加第一控制信息,第一控制信息至少包含缓存指令,将添加第一控制信息的数据报文通过连接缓存功能模块的端口发送到缓存功能模块;
缓存功能模块存储数据报文,包括:缓存功能模块根据数据报文中的第一用户信息和数据报文的接收顺序存储数据报文,或者,根据第一控制信息中的序列号存储数据报文,第一用户信息包含MAC地址、IP地址、隧道标识和命中的流表项的标识中的至少一个。
通过该实施方式提供的数据报文缓存方法,缓存功能模块不仅支持报文存储功能,还支持其它功能,UP通过在数据报文中添加第一控制信息,指示缓存功能模块对数据报文进行缓存;在发送缓存的报文时,CP可以在报文发送指令中添加数据报文发送端口,缓存功能模块通过在发送缓存数据报文时为报文添加第二控制信息,从而指示UP对数据报文进行相应的操作。本实施方式中的缓存功能模块减少了模块功能单一的限制,同时控制信息的添加使得缓存和发送缓存数据报文的控制和操作更灵活。
在一种可能的设计中,第二用户信息还包括数据报文发送端口,缓存功能模块根据存储顺序和报文发送指令向UP发送缓存数据报文,包括:缓存功能模块按照存储顺序为要发送的缓存数据报文添加第二控制信息后向UP发送,第二控制信息包含数据报文发送端口。
在一种可能的设计中,缓存功能模块通过路由或交换与UP互通,缓存功能模块的功能为非单一的报文存储功能,缓存报文的流表项指示的操作为匹配指定数据报文,将匹配的数据报文封装在业务链包头中,将封装后的数据报文通过连接缓存功能模块的端口发送到缓存功能模块,业务链包头携带用于指示缓存数据报文的信息和UP需要传递给缓存功能模块的信息,业务链包头包括业务链协议的包头或隧道协议的包头;
缓存功能模块存储数据报文,包括:缓存功能模块根据数据报文中的第一用户信息和数据报文的接收顺序存储数据报文,或者,根据业务链包头中的序列号存储数据报文,第一用户信息包含MAC地址、IP地址、隧道标识和命中的流表项的标识中的至少一个。
通过该实施方式提供的数据报文缓存方法,缓存功能模块对组网方式没有要求和UP直连的限制,要缓存的数据报文和要发送的缓存数据报文,通过路由或者交换到达UP,同时可以在业务链包头中携带用于指示缓存数据报文的信息,对组网方式没有要求,同时控制灵活。
在一种可能的设计中,第二用户信息还包括数据报文发送端口,缓存功能模块根据存储顺序和报文发送指令向UP发送缓存数据报文,包括:缓存功能模块按照存储顺序将要发送的缓存数据报文封装在业务链包头中后向UP发送,业务链包头携带数据报文发送端口。
第三方面,本申请提供一种数据报文缓存装置,包括:接收模块,用于接收控制面CP发送的缓存报文的流表项;接收模块还用于:接收数据报文;发送模块,用于将与缓存报文的流表项匹配的数据报文发送到缓存功能模块,用于缓存功能模块存储数据报文,缓存功能模块为交换机内部模块或交换机外部模块。
在一种可能的设计中,接收模块还用于:接收CP发送的转发报文的流表项;接收缓存功能模块发送的缓存数据报文,缓存数据报文是缓存功能模块在接收到CP发送的报文发送指令时,根据存储顺序和报文发送指令发送的,报文发送指令包含要发送的缓存数据报文的第二用户信息,第二用户信息包含MAC地址、IP地址、隧道标识和命中的流表项的标识中的至少一个。发送模块还用于根据转发报文的流表项对缓存数据报文进行转发。
在一种可能的设计中,缓存功能模块与数据报文缓存装置的端口直接对接,缓存功能模块的功能为单一的报文存储功能,缓存报文的流表项指示的操作为匹配指定数据报文,并通过连接缓存功能模块的端口发送到缓存功能模块;
发送模块用于:将与缓存报文的流表项匹配的数据报文通过连接缓存功能模块的端口发送到缓存功能模块,用于缓存功能模块根据数据报文中的第一用户信息和数据报文的接收顺序存储数据报文,第一用户信息包含媒质接入控制MAC地址、IP地址、隧道标识和命中的流表项的标识中的至少一个。
在一种可能的设计中,缓存功能模块与数据报文缓存装置的端口直接对接,缓存功能模块的功能为非单一的报文存储功能,缓存报文的流表项指示的操作为匹配指定数据报文,添加第一控制信息,第一控制信息至少包含缓存指令,将添加第一控制信息的数据报文通过连接缓存功能模块的端口发送到缓存功能模块;
发送模块用于:为与缓存报文的流表项匹配的数据报文添加第一控制信息,将添加第一控制信息的数据报文通过连接缓存功能模块的端口发送到缓存功能模块,用于缓存功能模块根据数据报文中的第一用户信息和数据报文的接收顺序存储数据报文,或者,根据第一控制信息中的序列号存储数据报文,第一用户信息包含MAC地址、IP地址、隧道标识和命中的流表项的标识中的至少一个。
在一种可能的设计中,第二用户信息还包括数据报文发送端口,缓存数据报文是缓存功能模块按照存储顺序添加第二控制信息后向数据报文缓存装置发送,第二控制信息中包含数据报文发送端口。
在一种可能的设计中,缓存功能模块通过路由或交换与数据报文缓存装置互通,缓存功能模块的功能为非单一的报文存储功能,缓存报文的流表项指示的操作为匹配指定数据报文,将匹配的数据报文封装在业务链包头中,将封装后的数据报文通过连接缓存功能模块的端口发送到缓存功能模块,业务链包头携带用于指示缓存数据报文的信息和数据报文缓存装置需要传递给缓存功能模块的信息,业务链包头包括业务链协议的包头或隧道协议的包头;
发送模块用于:将与缓存报文的流表项匹配的数据报文封装在业务链包头中,将封装后的数据报文通过连接缓存功能模块的端口发送到缓存功能模块,用于缓存功能模块根据数据报文中的第一用户信息和数据报文的接收顺序存储数据报文,或者,根据业务链包头中的序列号存储数据报文,第一用户信息包含MAC地址、IP地址、隧道标识和命中的流表项的标识中的至少一个。
在一种可能的设计中,第二用户信息还包括数据报文发送端口,缓存数据报文是缓存功能模块按照存储顺序封装在业务链包头中后向数据报文缓存装置发送,业务链包头携带数据报文发送端口。
上述第三方面以及上述第三方面的各可能的设计所提供的数据报文缓存装置,其有益效果可以参见上述第一方面和第一方面的各可能的设计所带来的有益效果,在此不再赘述。
第四方面,本申请提供一种数据报文缓存装置,包括:
接收模块,用于接收用户面UP发送的与缓存报文的流表项匹配的数据报文,数据报文缓存装置为交换机内部模块或交换机外部模块,缓存报文的流表项为控制面CP发送给UP;存储模块,用于存储数据报文。
在一种可能的设计中,接收模块还用于:接收CP发送的报文发送指令,报文发送指令包含要发送的缓存数据报文的第二用户信息,第二用户信息包含MAC地址、IP地址、隧道标识和命中的流表项的标识中的至少一个;所述装置还包括:发送模块,用于根据存储顺序和报文发送指令向UP发送缓存数据报文,用于UP根据CP发送的转发报文的流表项对接收到的缓存数据报文进行转发。
在一种可能的设计中,数据报文缓存装置与UP的端口直接对接,数据报文缓存装置的功能为单一的报文存储功能,缓存报文的流表项指示的操作为匹配指定数据报文,并通过连接数据报文缓存装置的端口发送到数据报文缓存装置;
存储模块用于:根据数据报文中的第一用户信息和数据报文的接收顺序存储数据报文,第一用户信息包含媒质接入控制MAC地址、IP地址、隧道标识和命中的流表项的标识中的至少一个。
在一种可能的设计中,数据报文缓存装置与UP的端口直接对接,数据报文缓存装置的功能为非单一的报文存储功能,缓存报文的流表项指示的操作为匹配指定数据报文,添加第一控制信息,第一控制信息至少包含缓存指令,将添加第一控制信息的数据报文通过连接数据报文缓存装置的端口发送到数据报文缓存装置;
存储模块用于:根据数据报文中的第一用户信息和数据报文的接收顺序存储数据报文,或者,根据第一控制信息中的序列号存储数据报文,第一用户信息包含MAC地址、IP地址、隧道标识和命中的流表项的标识中的至少一个。
在一种可能的设计中,第二用户信息还包括数据报文发送端口,发送模块用于:按照存储顺序为要发送的缓存数据报文添加第二控制信息后向UP发送,第二控制信息包含数据报文发送端口。
在一种可能的设计中,数据报文缓存装置通过路由或交换与UP互通,数据报文缓存装置的功能为非单一的报文存储功能,缓存报文的流表项指示的操作为匹配指定数据报文,将匹配的数据报文封装在业务链包头中,将封装后的数据报文通过连接数据报文缓存装置的端口发送到数据报文缓存装置,业务链包头携带用于指示缓存数据报文的信息和UP需要传递给数据报文缓存装置的信息,业务链包头包括业务链协议的包头或隧道协议的包头;
存储模块用于:根据数据报文中的第一用户信息和数据报文的接收顺序存储数据报文,或者,根据业务链包头中的序列号存储数据报文,第一用户信息包含MAC地址、IP地址、隧道标识和命中的流表项的标识中的至少一个。
在一种可能的设计中,第二用户信息还包括数据报文发送端口,发送模块用于:
按照存储顺序将要发送的缓存数据报文封装在业务链包头中后向UP发送,业务链包头携带数据报文发送端口。
上述第四方面以及上述第四方面的各可能的设计所提供的数据报文缓存装置,其有益效果可以参见上述第二方面和第二方面的各可能的设计所带来的有益效果,在此不再赘述。
第五方面,本申请提供一种数据报文缓存装置,包括:存储器和处理器;
存储器用于存储程序指令;
处理器用于调用存储器中的程序指令执行第一方面及第一方面任一种可能的设计中或者第二方面及第二方面任一种可能的设计中的数据报文缓存方法。
第六方面,本申请提供一种可读存储介质,可读存储介质中存储有执行指令,当数据报文缓存装置的至少一个处理器执行该执行指令时,数据报文缓存装置执行第一方面及第一方面任一种可能的设计中或者第二方面及第二方面任一种可能的设计中的数据报文缓存方法。
第七方面,本申请提供一种程序产品,该程序产品包括执行指令,该执行指令存储在可读存储介质中。数据报文缓存装置的至少一个处理器可以从可读存储介质读取该执行指令,至少一个处理器执行该执行指令使得数据报文缓存装置实施第一方面及第一方面任一种可能的设计中或者第二方面及第二方面任一种可能的设计中的数据报文缓存方法。
附图说明
图1为5G系统的网络架构示意图;
图2为5G系统中CU-DU切分示意图;
图3为CU的一种划分示意图;
图4为本申请提供的一种数据报文缓存方法实施例的交互流程图;
图5为本申请提供的一种数据报文缓存方法中发送缓存数据报文过程实施例的交互流程图;
图6为本申请提供的一种实现数据报文缓存方法的相关组件结构示意图;
图7a为本申请提供的一种数据报文缓存方法中缓存数据报文过程示意图;
图7b为本申请提供的一种数据报文缓存方法中发送缓存的数据报文过程示意图;
图8a为本申请提供的另一种数据报文缓存方法中缓存数据报文过程示意图;
图8b为本申请提供的另一种数据报文缓存方法中发送缓存的数据报文过程示意图;
图9a为本申请提供的另一种数据报文缓存方法中缓存数据报文过程示意图;
图9b为本申请提供的另一种数据报文缓存方法中发送缓存的数据报文过程示意图;
图10为本申请提供的一种数据报文缓存装置实施例的结构示意图;
图11为本申请提供的一种数据报文缓存装置实施例的结构示意图;
图12为本申请提供的一种数据报文缓存装置实施例的结构示意图;
图13为本申请提供的另一种数据报文缓存装置示意图。
具体实施方式
本申请的技术方案,可以应用于第五代移动通信(the 5th Generation mobilecommunication technology,5G)系统或者LTE系统等移动通信系统,还可以应用于各种形式的包含基站中部分功能分离的系统,本申请应用的通信系统中,涉及的通信装置是交换机。
图1为5G系统的网络架构示意图,在5G系统中,下一代无线接入网络(NextGeneration Radio Access Network,NG-RAN),核心网为5G核心网(5G Core Network,5GC),基站被称为gNB/ng-eNB,主要包含无线资源控制(Radio Resource Control,RRC)/服务数据自适应协议层(Service Data Adaptation Protocol,SDAP)/分组数据汇聚协议(Packet Data Convergence Protocol-Control,PDCP)/无线链路控制(Radio LinkControl,RLC)/媒质接入控制(Medium Access Control,MAC)/物理层(Physical Layer,PHY)协议层。下文中和图1中统一用gNB表示5G系统中的基站,gNB之间通过Xn接口连接,gNB和5GC通过Ng接口连接。其中接入与移动性管理功能(Access and Mobility managementFunction,AMF)/用户面功能(User Plane Function,UPF)相当于LTE系统中的移动管理实体(Mobile Managenment Entity,MME)。其中AMF主要负责准入方面,UPF主要负责会话(session)管理。
应理解,本申请中的字符“/”,表示前后关联对象是一种“或”的关系。
下面结合图2和图3介绍CU-DU分离场景,图2为5G系统中CU-DU切分示意图,如图2所示,基站可以由集中式单元(Centralized Unit,CU)和分布式单元(Distributed Unit,DU)构成,即对原接入网中的基站的功能进行拆分,将基站的部分功能部署在一个CU,将剩余功能部署在DU,多个DU共用一个CU,可以节省成本,易于网络扩展。CU和DU之间通过F1接口连接,CU代表gNB通过Ng接口和核心网连接。CU和DU的切分可以按照协议栈切分,其中一种可能的方式是将RRC以及PDCP层部署在CU,其余的RLC层、MAC层以及PHY层部署在DU。更进一步,CU还可以划分为控制面CU(CU-CP)和用户面CU(CU-UP),图3为CU的一种划分示意图,如图3所示,CU-CP和CU-UP通过E1接口连接。CU-CP代表gNB通过Ng接口和核心网连接,CU-CP通过F1-C(控制面)和DU连接,CU-UP通过F1-U(用户面)和DU连接。还有一种可能的实现是PDCP-C也在CU-UP。其中CU-CP负责控制面功能,主要包含RRC和控制面PDCP(PDCP-C),PDCP-C主要负责控制面数据的加解密、完整性保护、数据传输等。CU-UP负责用户面功能,主要包含SDAP和用户面PDCP(PDCP-U),SDAP主要负责将核心网的数据进行处理并将数据流(flow)映射到承载。PDCP-U主要负责数据面的加解密、完整性保护、头压缩、序列号维护、数据传输等。
在上述CU-CP与CU-UP分离的网络架构下,将交换机分为CP和UP,CP和UP分开部署并通过标准通信接口连接,CP负责信令报文处理和下发用户数据报文的流表项到UP,UP接收用户数据报文,并按照CP下发的流表项对用户数据报文进行处理(如修改或转发)。
本申请的技术方案,主要应用于交换机分为CP和UP之后,用户数据报文如何缓存的场景,一种用户数据报文需要缓存的场景例如为:当手机处于Idle空闲态时,如果网络侧有下行数据报文,这时数据报文会被缓存在网关设备上,待手机上线后,网关设备将缓存的数据报文发送给手机。现有技术中通过UP将用户数据报文发送到CP的控制器,由控制器进行存储来实现用户数据报文缓存,但是由于CP和UP分开部署,同时CP管理大量UP,由CP进行报文缓存会带来较大负载,且需UP将用户数据报文通过标准通信接口发送给CP,时延较大,为解决这一问题,本申请通过在UP增加缓存功能模块,利用UP的转发能力,将报文转发到缓存功能模块,缓存功能模块按照和CP约定的方式存储数据报文,并能够根据约定的报文发送指令,发送缓存的数据报文到UP,从而实现了用户数据报文可在UP缓存,避免CP进行报文缓存带来的负载和时延问题,下面结合附图详细说明本申请的技术方案。
图4为本申请提供的一种数据报文缓存方法实施例的交互流程图,如图4所示,本实施例的方法可以包括:
S101、CP向UP发送缓存报文的流表项。
S102、UP接收数据报文。
本实施例以及下文中将用户数据报文简称为数据报文。
S103、UP匹配缓存报文的流表项,将与缓存报文的流表项匹配的数据报文发送到缓存功能模块。
本申请实施例中,缓存功能模块是逻辑的模块,可以是网元,软件模块、服务器等,是软件模块时例如为服务器的内部线程或内部进程。缓存功能模块可以为交换机内部模块或交换机外部模块,交换机外部模块例如进程或业务链处理节点等。本实施例中的缓存功能模块可以是只有存储功能的模块,即就是缓存功能模块的功能为单一的报文存储功能,还可以是通用的功能模块,包含报文存储功能和其他功能,即就是缓存功能模块的功能为非单一的报文存储功能。
S104、缓存功能模块存储数据报文。
本实施例提供的数据报文缓存方法,通过在UP增加缓存功能模块,CP向UP发送缓存报文的流表项,UP接收数据报文,将与缓存报文的流表项匹配的数据报文发送到缓存功能模块,缓存功能模块根据数据报文中的用户信息和数据报文的接收顺序存储数据报文,从而,通过利用UP的转发能力,将报文转发到缓存功能模块,缓存功能模块按照和CP约定的方式存储数据报文,从而实现了用户数据报文可在UP缓存,避免CP进行报文缓存带来的负载和时延问题。
上述过程是数据报文缓存过程,数据报文由用户面发送到缓存功能模块缓存之后,在用户面需要对缓存的数据报文进行转发或修改等处理时,需要缓存功能模块发送缓存数据报文至用户面,下面结合图5说明具体的发送缓存数据报文的过程,图5为本申请提供的一种数据报文缓存方法中发送缓存数据报文过程实施例的交互流程图,如图5所示,本实施例的方法可以包括:
S105、CP向UP发送转发报文的流表项。
其中,转发报文的流表项的指示的操作为匹配指定数据报文,并将与转发报文的流表项匹配的数据报文发送到指定端口。
S106、CP向缓存功能模块发送报文发送指令。
S107、缓存功能模块接收到报文发送指令之后,根据存储顺序和报文发送指令向UP发送缓存数据报文。
S108、UP根据转发报文的流表项对缓存数据报文进行转发。
具体地,报文发送指令包含要发送的缓存数据报文的第二用户信息,第二用户信息包含MAC地址、IP地址,隧道标识和命中的流表项的标识中的至少一个,即报文发送指令包含要发送的数据报文的MAC地址、IP地址和隧道标识中的至少一个,或者包含其它可以标识数据报文的信息。即就是说,报文发送指令指示了要发送哪些报文,缓存功能模块按照存储顺序将报文发送指令中指定的所有数据报文通过缓存功能模块与UP之间的端口发送到UP。
在上述实施例中,具体地,针对缓存功能模块的功能以及缓存功能模块与UP的连接关系,数据报文在UP与缓存功能模块之间的传输有三种方式,具体如下:
一、缓存功能模块与UP的端口直接对接,缓存功能模块的功能为单一的报文存储功能,缓存报文的流表项指示的操作为匹配指定数据报文,通过连接缓存功能模块的端口发送到缓存功能模块。
具体地,指定数据报文可以用数据报文的标识指定,缓存报文的流表项指示的操作例如为匹配数据报文5至数据报文10,将数据报文5至数据报文10发送到连接缓存功能模块的端口,相应地,S103具体可以为:UP匹配缓存报文的流表项,将与缓存报文的流表项匹配的数据报文通过连接缓存功能模块的端口发送到缓存功能模块。该方式中在UP与缓存功能模块之间传输的数据报文是原始数据报文。相应地,S104可以为缓存功能模块根据数据报文中的第一用户信息和数据报文的接收顺序存储数据报文,第一用户信息包含MAC地址、IP地址、隧道标识和流表项的标识中的至少一个。
本方式中,通过利用UP的转发能力,将报文转发到缓存功能模块,缓存功能模块按照和CP约定的方式存储数据报文,并能够根据约定的报文发送指令,发送缓存的数据报文到UP,从而实现了用户数据报文可在UP缓存,避免CP进行报文缓存带来的负载和时延问题。
二、缓存功能模块与UP的端口直接对接,缓存功能模块的功能为非单一的报文存储功能,还包括其他功能,此时缓存报文的流表项指示的操作为匹配指定数据报文,添加第一控制信息,将添加第一控制信息的数据报文通过连接缓存功能模块的端口发送到缓存功能模块,第一控制信息至少包含缓存指令。缓存指令指示缓存功能模块进行缓存。
相应地,S103具体可以为:UP为与缓存报文的流表项匹配的数据报文添加第一控制信息,将添加第一控制信息的数据报文通过连接缓存功能模块的端口发送到缓存功能模块。其中,若要实现缓存功能,则第一控制信息包含缓存指令,若实现其他功能,则第一控制信息包含其它相应的操作的指令。作为一种示例,第一控制信息的位置示例如下表一所示:
表一第一控制信息在数据报文中的位置示例
D-MAC | S-MAC | Control-head | Payload |
其中,D-MAC是目的MAC地址,S-MAC是源MAC地址,控制信息(也称控制头Control-head)在源MAC地址后,payload是待缓存的部分或完整的用户报文,第一控制信息的定义示例如下表二所示:
表二第一控制信息的定义
ethType=control |
controlType=buffering |
flowRuleId |
SequenceID |
length |
protocolType |
表二中,第一控制信息包含:controlType为指令类型,指令类型是buffering(缓存指令);命中的流规则标识:flowRuleId;序列号:SequenceID,报文长度:length及用户报文类型:protocolType。
需要说明的是,上述第一控制信息的位置和定义只是一种可实施的方式,本申请不限于这一种可实施的方式。
相应地,S104可以为:缓存功能模块根据数据报文中的第一用户信息和数据报文的接收顺序存储数据报文,或者,缓存功能模块根据业务链包头中的序列号存储数据报文,第一用户信息包含MAC地址、IP地址、隧道标识和命中的流表项的标识中的至少一个。
在方式一中,缓存功能模块只能根据数据报文的顺序来存储,而且由于是直连,所以缓存功能模块的接收顺序和UP的接收顺序是相同的。本方式中,因为有第一控制信息,所以除了可以按缓存功能模块的接收顺序存储,还可以按第一控制信息中指定的序列存储,例如UP通过路由方式将数据报文发送到缓存功能模块,数据报文经过路由后,到达缓存功能模块的顺序和UP接收的顺序不一定相同,所以需要在第一控制信息中指定序列号。下文中方式三也是类似的方式。
在该传输方式下,S106中,CP向缓存功能模块发送的报文发送指令中包含的要发送的缓存数据报文的第二用户信息除了包含MAC地址、IP地址、隧道标识和命中的流表项的标识中的至少一个,还可包括数据报文发送端口,或者第二用户信息包含其它可以标识数据报文的信息。包含命中的流表项的标识时,如果流表项是基于用户的粒度创建的,那么根据流表项标识,就能够确定流表项是为哪个用户,以及那个业务下发的,所以根据流表项标识能简单准确的确定报文与用户和业务的对应关系。当第二用户信息还包括数据报文发送端口时,可选的,S107中缓存功能模块在发送缓存数据报文时,可以按照本方式下UP向缓存功能模块发送数据报文采用的相同的方式,根据报文发送指令为缓存数据报文添加第二控制信息,然后按照存储顺序将添加第二控制信息的缓存数据报文发送到UP,第二控制信息中可以包含报文发送指令中下发的数据报文发送端口等信息。可选的,若UP接收到的数据报文中包含第二控制信息,则UP可按照第二控制信息中包含的数据报文发送端口转发数据报文。
本方式中,相比较方式一,缓存功能模块不仅支持报文存储功能,还支持其它功能,UP通过在数据报文中添加第一控制信息,指示缓存功能模块对数据报文进行缓存;在发送缓存的报文时,CP可以在报文发送指令中添加数据报文发送端口,缓存功能模块通过在发送缓存数据报文时为报文添加第二控制信息,从而指示UP对数据报文进行相应的操作。相比方式一,本方式中的缓存功能模块减少了模块功能单一的限制,同时控制信息的添加使得缓存和发送缓存数据报文的控制和操作更灵活。
三、缓存功能模块与UP的端口直接对接,或者,缓存功能模块通过路由或交换与UP互通,缓存功能模块的功能为非单一的报文存储功能,缓存报文的流表项指示的操作为匹配指定数据报文,将匹配的数据报文封装在业务链包头中,将封装后的数据报文通过连接缓存功能模块的端口发送到缓存功能模块,业务链包头携带用于指示缓存数据报文的信息和UP需要传递给缓存功能模块的信息。
相应地,S103具体可以为:UP将与缓存报文的流表项匹配的数据报文封装在业务链包头中,将封装后的数据报文通过连接缓存功能模块的端口发送到缓存功能模块。
可选的,S103还可以是UP将数据报文发送到UP特定的端口,由UP在发出数据报文时,按照约定或配置将数据报文封装在业务链包头中,再发送出去。相应地S104中缓存功能模块在接收到数据报文时,根据数据报文中的业务链包头信息及数据报文中的第一用户信息,按接收顺序存储数据报文;或者,缓存功能模块根据业务链包头中的序列号存储数据报文,第一用户信息包含MAC地址,IP地址,隧道标识和命中的流表项的标识等信息中的至少一个或者其他可以标识报文的信息。
具体地,业务链包头用于承载数据报文,使得数据报文能够通过路由或者交换到达缓存功能模块。业务链包头包括业务链协议的包头或隧道协议的包头,作为一种可实施的方式,业务链包头可以是网络服务包头(Network Service Head,NSH)之类的业务链定义,或者隧道封装(例如GRE,VxLan等),以及其他定义的能够达到相同目的的封装方式。业务链包头中可以包含用于指示缓存数据报文的信息和UP需要传递给缓存功能模块的信息。以NSH为例,将数据报文封装在NSH中,如下表三所示:
表三NSH封装数据报文
D-MAC1 | S-MAC1 | NSH | User-Packet |
其中,D-MAC1是目的MAC地址,S-MAC1是源MAC地址,User-Packet是用户数据报文,NSH包头的定义如下表四所示:
表四NSH包头的定义
ethType=IP |
UDP_Port=NSH |
Next Protocol |
Path ID|Service Index |
Context |
其中,NSH包头中Context的定义如下表五所示:
表五Context的定义
flowRuleID |
sequence |
其中,完整的数据报文将被封装在NSH报文头中,封装后的数据报文通过增加的以太头或者IP头进行交换或者路由。NSH头可以根据组网封装在二层或者三层。如表四所示,以NSH为三层封装为例,为简化描述,本实施例中将IP头作为NSH的一部分,可以通过NSH头中的业务链标识(Path ID和Service Index)来标示缓存数据报文,在Context字段中添加UP需要传递给缓存功能模块的其它信息,当然也可以采用方式二中定义控制信息的方式,将数据报文的指示定义在Context字段中,而不依赖业务链标识来指示。如表五所示,可以使用Context字段传递命中的流规则标识(flowRuleID),序列号(sequenceID)等信息到缓存功能模块。
在该传输方式下,相应地,S106中,第二用户信息除了包含MAC地址、IP地址、隧道标识和命中的流表项的标识中的至少一个,还可包括数据报文发送端口。可选的,S107中缓存功能模块在发送缓存数据报文时,可以按照本方式下UP向缓存功能模块发送数据报文采用的相同的方式,将缓存数据报文封装在业务链包头中,然后按照存储顺序将封装后的数据报文发送到UP,业务链包头中可以携带报文发送指令中下发的数据报文发送端口等信息。可选的,若UP接收到的数据报文中包含数据报文发送端口,则UP可按照数据报文发送端口转发数据报文。
本方式中,缓存功能模块对组网方式没有要求和UP直连的限制,要缓存的数据报文和要发送的缓存数据报文,通过路由或者交换到达UP,同时可以在业务链包头中携带用于指示缓存数据报文的信息,兼有方式二的优点,对组网方式没有要求,同时控制灵活。
本实施例提供的数据报文缓存方法,通过在UP增加缓存功能模块,CP向UP发送缓存报文的流表项,UP接收数据报文,将与缓存报文的流表项匹配的数据报文发送到缓存功能模块,缓存功能模块根据数据报文中的用户信息和数据报文的接收顺序存储数据报文,在转发数据报文时,CP向UP发送转发报文的流表项,CP向缓存功能模块发送报文发送指令,报文发送指令包含要发送的缓存数据报文的用户信息,缓存功能模块根据存储顺序和报文发送指令发送缓存数据报文给UP,最后UP根据转发报文的流表项对缓存数据报文进行转发。从而,通过利用UP的转发能力,将报文转发到缓存功能模块,缓存功能模块按照和CP约定的方式存储数据报文,并能够根据约定的报文发送指令,发送缓存的数据报文到UP,从而实现了用户数据报文可在UP缓存,避免CP进行报文缓存带来的负载和时延问题。
下面采用几个具体的实施例,对图4和图5所示方法实施例的技术方案进行详细说明。
图6为本申请提供的一种实现数据报文缓存方法的相关组件结构示意图,如图6所示,CP以控制器为例,缓存功能模块以交换机内部模块或交换机外部模块为例,UP以交换机流水线(PipeLine)为例,数据报文缓存方法的过程为:PipeLine接收数据报文,将数据报文发送到缓存功能模块进行存储。通过指定缓存功能模块为存储功能,或者通过在数据报文中添加控制信息的方式或将数据报文封装在业务链包头中,控制缓存功能模块对数据报文进行缓存。控制器通过指定PipeLine的流表项(缓存报文的流表项或转发报文的流表项),控制Pipeline将要缓存的报文添加控制信息、封装在业务链包头中或直接发送到缓存功能模块。在要转发缓存的报文时,控制器通过向缓存功能模块发送报文发送指令控制其发送缓存数据报文。本申请中为简化描述,将控制器描述为同一个模块,但其实本申请中下发流表项到用户面的控制器和发送“报文发送指令”的控制器可以是不同模块。下面结合附图分别介绍三种可实现的方式。下面的实施例中CP以控制器为例。
图7a为本申请提供的一种数据报文缓存方法中缓存数据报文过程示意图,图7b为本申请提供的一种数据报文缓存方法中发送缓存的数据报文过程示意图,本实施例中缓存功能模块的功能为单一的报文存储功能,并且通过虚拟或者物理的连接,与UP的端口直接对接,缓存功能模块为内部存储模块或外部存储模块,如图7a所示,缓存数据报文过程可以包括:
S201、控制器向PipeLine发送缓存报文的流表项。缓存报文的流表项指示的操作为匹配指定数据报文,通过连接缓存功能模块的端口发送到缓存功能模块。
其中,若缓存功能模块为内部存储模块,则连接缓存功能模块的端口为内部虚拟端口,若缓存功能模块为外部存储模块,则连接缓存功能模块的端口为外部端口。
S202、PipeLine接收数据报文。
S203、PipeLine命中缓存报文的流表项,将与缓存报文的流表项匹配的数据报文通过内部虚拟端口发送到内部存储模块,或者,将与缓存报文的流表项匹配的数据报文通过外部端口发送到外部存储模块。
S204、缓存功能模块根据数据报文中的第一用户信息和数据报文的接收顺序存储数据报文。
其中,第一用户信息包含MAC地址、IP地址和隧道标识中的至少一个。
在UP需要对缓存的数据报文进行转发或修改等处理时,需要缓存功能模块发送缓存数据报文至UP,如图7b所示,发送缓存的数据报文过程可以包括:
S205、控制器向PipeLine发送转发报文的流表项。转发报文的流表项的指示的操作为匹配指定数据报文,并将与转发报文的流表项匹配的数据报文发送到指定端口。
S206、控制器向缓存功能模块发送报文发送指令。
其中,报文发送指令包含要发送的缓存数据报文的第二用户信息,第二用户信息包含MAC地址、IP地址隧道标识中的至少一个,或者包含其它可以标识数据报文的信息。
S207、缓存功能模块接收到报文发送指令之后,根据存储顺序和报文发送指令向PipeLine发送缓存数据报文。
具体地,缓存功能模块按照存储顺序将报文发送指令中指定的所有数据报文通过缓存功能模块与UP之间的端口发送到UP。
S208、PipeLine根据转发报文的流表项对缓存数据报文进行转发。
本实施例提供的数据报文缓存方法,通过利用UP的转发能力,将报文转发到缓存功能模块,缓存功能模块按照和CP约定的方式存储数据报文,并能够根据约定的报文发送指令,发送缓存的数据报文到UP,从而实现了用户数据报文可在UP缓存,避免CP进行报文缓存带来的负载和时延问题。
图8a为本申请提供的另一种数据报文缓存方法中缓存数据报文过程示意图,图8b为本申请提供的另一种数据报文缓存方法中发送缓存的数据报文过程示意图,本实施例中缓存功能模块的功能为非单一的报文存储功能,还包含其它功能,并且通过虚拟或者物理的连接,与UP的端口直接对接,缓存功能模块为内部功能模块或外部功能模块,如图8a所示,缓存数据报文过程可以包括:
S301、控制器向PipeLine发送缓存报文的流表项。
缓存报文的流表项指示的操作为匹配指定数据报文,添加第一控制信息,将添加第一控制信息的数据报文通过连接缓存功能模块的端口发送到缓存功能模块,第一控制信息至少包含缓存指令。例如,第一控制信息包含:缓存指令、命中的流规则标识、序列号、报文长度和用户报文类型。
其中,若缓存功能模块为内部功能模块,则连接缓存功能模块的端口为内部虚拟端口,若缓存功能模块为外部功能模块,则连接缓存功能模块的端口为外部端口。
S302、PipeLine接收数据报文。
S303、PipeLine命中缓存报文的流表项,为与缓存报文的流表项匹配的数据报文添加第一控制信息,将添加第一控制信息的数据报文通过内部虚拟端口发送到内部功能模块,或者,将添加第一控制信息的数据报文通过内部虚拟端口发送到外部功能模块。
S304、缓存功能模块根据数据报文中的第一用户信息和数据报文的接收顺序存储数据报文。
或者,S304可以为:缓存功能模块根据第一控制信息中的序列号存储数据报文。
其中,第一用户信息包含MAC地址、IP地址、隧道标识和命中的流表项的标识中的至少一个。
在UP需要对缓存的数据报文进行转发或修改等处理时,需要缓存功能模块发送缓存数据报文至UP,如图8b所示,发送缓存的数据报文过程可以包括:
S305、控制器向PipeLine发送转发报文的流表项。转发报文的流表项的指示的操作为匹配指定数据报文,并将与转发报文的流表项匹配的数据报文发送到指定端口。
S306、控制器向缓存功能模块发送报文发送指令。
其中,报文发送指令包含要发送的缓存数据报文的第二用户信息,第二用户信息包含MAC地址、IP地址、隧道标识、命中的流表项标识和数据报文发送端口中的至少一个,或者包含其它可以标识数据报文的信息。
S307、缓存功能模块接收到报文发送指令之后,根据存储顺序和报文发送指令向PipeLine发送缓存数据报文。
具体地,缓存功能模块按照存储顺序将报文发送指令中指定的所有数据报文通过缓存功能模块与UP之间的端口发送到UP。
可选的,若第二用户信息包含数据报文发送端口,S307还可以为:缓存功能模块为缓存数据报文添加第二控制信息,然后按照存储顺序将添加第二控制信息的缓存数据报文发送到PipeLine,第二控制信息包含数据报文发送端口。
S308、PipeLine根据转发报文的流表项对缓存数据报文进行转发。
可选的,若UP接收到的数据报文中包含第二控制信息,则UP可按照第二控制信息中包含的数据报文发送端口转发数据报文。
本实施例提供的数据报文缓存方法,缓存功能模块不仅支持报文存储功能,UP通过在数据报文中添加第一控制信息,指示缓存功能模块对数据报文进行缓存;在发送缓存的报文时,CP可以在报文发送指令中添加数据报文发送端口,缓存功能模块通过在发送缓存数据报文时为报文添加第一控制信息,从而指示UP对数据报文进行相应的操作。相比图7a和图7b所示的实施例,本实施例中的缓存功能模块减少了模块功能单一的限制,同时控制信息的添加使得缓存和发送缓存数据报文的控制和操作更灵活。
图9a为本申请提供的另一种数据报文缓存方法中缓存数据报文过程示意图,图9b为本申请提供的另一种数据报文缓存方法中发送缓存的数据报文过程示意图,本实施例中缓存功能模块的功能为非单一的报文存储功能,还包含其它功能,缓存功能模块通过路由或交换与UP互通,缓存功能模块为外部功能模块,缓存数据报文过程可以包括:
S401、控制器向PipeLine发送缓存报文的流表项。
缓存报文的流表项指示的操作为匹配指定数据报文,将匹配的数据报文封装在业务链包头中,将封装后的数据报文通过连接外部功能模块的端口发送到外部功能模块,业务链包头携带用于指示缓存数据报文的信息和UP需要传递给外部功能模块的信息。业务链包头用于承载数据报文,使得数据报文能够通过路由或者交换到达外部功能模块。
其中,若外部功能模块为内部功能模块,则连接外部功能模块的端口为内部虚拟端口,若外部功能模块为外部功能模块,则连接外部功能模块的端口为外部端口。
S402、PipeLine接收数据报文。
S403、PipeLineUP将与缓存报文的流表项匹配的数据报文封装在业务链包头中,将封装后的数据报文通过交换或路由发送到外部功能模块。
S404、外部功能模块根据数据报文中的业务链包头信息及数据报文中的第一用户信息,按接收顺序存储数据报文。
或者,S404可以为:缓存功能模块根据业务链包头中的序列号存储数据报文。
其中,第一用户信息包含MAC地址、IP地址、隧道标识和命中的流表项的标识中的至少一个。
在UP需要对缓存的数据报文进行转发或修改等处理时,需要外部功能模块发送缓存数据报文至UP,如图9b所示,图9b中以外部功能模块为外部功能模块或内部功能模块为例,发送缓存的数据报文过程可以包括:
S405、控制器向PipeLine发送转发报文的流表项。转发报文的流表项的指示的操作为匹配指定数据报文,并将与转发报文的流表项匹配的数据报文发送到指定端口。
S406、控制器向外部功能模块发送报文发送指令。
其中,报文发送指令包含要发送的缓存数据报文的第二用户信息,第二用户信息包含MAC地址、IP地址、隧道标识、命中的流表项标识(flowRuleId)和数据报文发送端口中的至少一个,或者包含其它可以标识数据报文的信息。
S407、外部功能模块接收到报文发送指令之后,根据存储顺序和报文发送指令向PipeLine发送缓存数据报文。
具体地,外部功能模块按照存储顺序将报文发送指令中指定的所有数据报文通过外部功能模块与UP之间的端口发送到UP。
可选的,若第二用户信息包含数据报文发送端口,S407还可以为:外部功能模块将缓存数据报文封装在业务链包头中,然后按照存储顺序将封装后的数据报文发送到PipeLine,业务链包头中可以携带报文发送指令中下发的数据报文发送端口等信息。
S408、PipeLine根据转发报文的流表项对缓存数据报文进行转发。
可选的,若PipeLine接收到的数据报文中包含数据报文发送端口,则PipeLine可按照数据报文发送端口转发数据报文。
本实施例提供的数据报文缓存方法对于缓存功能模块与UP的端口直接对接的情况也适用。
本实施例提供的数据报文缓存方法,缓存功能模块对组网方式没有要求和UP直连的限制,要缓存的数据报文和要发送的缓存数据报文,通过路由或者交换到达UP,同时可以在业务链包头中携带用于指示缓存数据报文的信息,兼有图8a和图8b所示实施例的优点,对组网方式没有要求,同时控制灵活。
图10为本申请提供的一种数据报文缓存装置实施例的结构示意图,本实施例中的数据报文缓存装置可以为UP,如图10所示,本实施例的装置可以包括:接收模块11和发送模块12,其中,接收模块11用于接收CP发送的缓存报文的流表项,接收模块11还用于:接收数据报文,发送模块12用于将与缓存报文的流表项匹配的数据报文发送到缓存功能模块,用于缓存功能模块存储数据报文,缓存功能模块为交换机内部模块或交换机外部模块。
可选的,接收模块11还用于:接收CP发送的转发报文的流表项,接收缓存功能模块发送的缓存数据报文,缓存数据报文是缓存功能模块在接收到CP发送的报文发送指令时,根据存储顺序和报文发送指令发送的,报文发送指令包含要发送的缓存数据报文的第二用户信息,第二用户信息包含MAC地址、IP地址、隧道标识和命中的流表项的标识中的至少一个,发送模块12还用于根据转发报文的流表项对缓存数据报文进行转发。
可选的,缓存功能模块与数据报文缓存装置的端口直接对接,缓存功能模块的功能为单一的报文存储功能,缓存报文的流表项指示的操作为匹配指定数据报文,并通过连接缓存功能模块的端口发送到缓存功能模块;
发送模块12用于:将与缓存报文的流表项匹配的数据报文通过连接缓存功能模块的端口发送到缓存功能模块,用于缓存功能模块根据数据报文中的第一用户信息和数据报文的接收顺序存储数据报文,第一用户信息包含媒质接入控制MAC地址、IP地址、隧道标识和命中的流表项的标识中的至少一个。
可选的,缓存功能模块与数据报文缓存装置的端口直接对接,缓存功能模块的功能为非单一的报文存储功能,缓存报文的流表项指示的操作为匹配指定数据报文,添加第一控制信息,第一控制信息至少包含缓存指令,将添加第一控制信息的数据报文通过连接缓存功能模块的端口发送到缓存功能模块;
发送模块12用于:为与缓存报文的流表项匹配的数据报文添加第一控制信息,将添加第一控制信息的数据报文通过连接缓存功能模块的端口发送到缓存功能模块,用于缓存功能模块根据数据报文中的第一用户信息和数据报文的接收顺序存储数据报文,或者,根据第一控制信息中的序列号存储数据报文,第一用户信息包含MAC地址、IP地址、隧道标识和命中的流表项的标识中的至少一个。
可选的,第二用户信息还包括数据报文发送端口,缓存数据报文是缓存功能模块按照存储顺序添加第二控制信息后向数据报文缓存装置发送,第二控制信息中包含数据报文发送端口。
可选的,缓存功能模块通过路由或交换与数据报文缓存装置互通,缓存功能模块的功能为非单一的报文存储功能,缓存报文的流表项指示的操作为匹配指定数据报文,将匹配的数据报文封装在业务链包头中,将封装后的数据报文通过连接缓存功能模块的端口发送到缓存功能模块,业务链包头携带用于指示缓存数据报文的信息和数据报文缓存装置需要传递给缓存功能模块的信息,业务链包头包括业务链协议的包头或隧道协议的包头。发送模块用于:将与缓存报文的流表项匹配的数据报文封装在业务链包头中,将封装后的数据报文通过连接缓存功能模块的端口发送到缓存功能模块,用于缓存功能模块根据数据报文中的第一用户信息和数据报文的接收顺序存储数据报文,或者,根据业务链包头中的序列号存储数据报文,第一用户信息包含MAC地址、IP地址、隧道标识和命中的流表项的标识中的至少一个。
可选的,第二用户信息还包括数据报文发送端口,缓存数据报文是缓存功能模块按照存储顺序封装在业务链包头中后向数据报文缓存装置发送,业务链包头携带数据报文发送端口。
本实施例的装置,可以用于执行图4或图5所示方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
图11为本申请提供的一种数据报文缓存装置实施例的结构示意图,本实施例中的数据报文缓存装置可以为缓存功能模块,如图11所示,本实施例的装置可以包括:接收模块21和存储模块22,接收模块21用于接收UP发送的与缓存报文的流表项匹配的数据报文,数据报文缓存装置为交换机内部模块或交换机外部模块,缓存报文的流表项为CP发送给UP,存储模块22用于存储数据报文。
图12为本申请提供的一种数据报文缓存装置实施例的结构示意图,本实施例中的数据报文缓存装置在图11所示装置的基础上,进一步地,还可以包括:发送模块23,接收模块21还用于:接收CP发送的报文发送指令,报文发送指令包含要发送的缓存数据报文的第二用户信息,第二用户信息包含MAC地址、IP地址、隧道标识和命中的流表项的标识中的至少一个;发送模块23用于根据存储顺序和报文发送指令向UP发送缓存数据报文,用于UP根据CP发送的转发报文的流表项对接收到的缓存数据报文进行转发。
可选的,数据报文缓存装置与UP的端口直接对接,数据报文缓存装置的功能为单一的报文存储功能,缓存报文的流表项指示的操作为匹配指定数据报文,并通过连接数据报文缓存装置的端口发送到数据报文缓存装置;
存储模块22用于:根据数据报文中的第一用户信息和数据报文的接收顺序存储数据报文,第一用户信息包含媒质接入控制MAC地址、IP地址、隧道标识和命中的流表项的标识中的至少一个。
可选的,数据报文缓存装置与UP的端口直接对接,数据报文缓存装置的功能为非单一的报文存储功能,缓存报文的流表项指示的操作为匹配指定数据报文,添加第一控制信息,第一控制信息至少包含缓存指令,将添加第一控制信息的数据报文通过连接数据报文缓存装置的端口发送到数据报文缓存装置。
存储模块22用于:根据数据报文中的第一用户信息和数据报文的接收顺序存储数据报文,或者,根据第一控制信息中的序列号存储数据报文,第一用户信息包含MAC地址、IP地址、隧道标识和命中的流表项的标识中的至少一个。
可选的,第二用户信息还包括数据报文发送端口,发送模块23用于:
按照存储顺序为要发送的缓存数据报文添加第二控制信息后向UP发送,第二控制信息包含数据报文发送端口。
可选的,数据报文缓存装置通过路由或交换与UP互通,数据报文缓存装置的功能为非单一的报文存储功能,缓存报文的流表项指示的操作为匹配指定数据报文,将匹配的数据报文封装在业务链包头中,将封装后的数据报文通过连接数据报文缓存装置的端口发送到数据报文缓存装置,业务链包头携带用于指示缓存数据报文的信息和UP需要传递给数据报文缓存装置的信息,业务链包头包括业务链协议的包头或隧道协议的包头;
存储模块22用于:根据数据报文中的第一用户信息和数据报文的接收顺序存储数据报文,或者,根据业务链包头中的序列号存储数据报文,第一用户信息包含MAC地址、IP地址、隧道标识和命中的流表项的标识中的至少一个。
可选的,第二用户信息还包括数据报文发送端口,发送模块23用于:按照存储顺序将要发送的缓存数据报文封装在业务链包头中后向UP发送,业务链包头携带数据报文发送端口。
图11和图12所示实施例的装置,可以用于执行图4或图5所示方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
本申请可以根据上述方法示例对数据报文缓存装置进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。需要说明的是,本申请各实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
图13为本申请提供的另一种数据报文缓存装置示意图,该数据报文缓存装置700包括:
存储器701,用于存储程序指令,该存储器可以是flash(闪存)。
处理器702,用于调用并执行存储器中的程序指令,以实现图4或图5所示的数据报文缓存方法中的各个步骤。具体可以参见前面方法实施例中的相关描述。
可选地,存储器701既可以是独立的,也可以是跟处理器702集成在一起。
图13的数据报文缓存装置还以包括收发器(图13中未示出),用于通过天线收发信号。
本申请还提供一种可读存储介质,可读存储介质中存储有执行指令,当数据报文缓存装置的至少一个处理器执行该执行指令时,数据报文缓存装置执行上述的各种实施方式提供的数据报文缓存方法。
本申请还提供一种程序产品,该程序产品包括执行指令,该执行指令存储在可读存储介质中。数据报文缓存装置的至少一个处理器可以从可读存储介质读取该执行指令,至少一个处理器执行该执行指令使得数据报文缓存装置实施上述的各种实施方式提供的数据报文缓存方法。
本领域普通技术人员可以理解:在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
Claims (25)
1.一种数据报文缓存方法,其特征在于,包括:
用户面UP接收控制面CP发送的缓存报文的流表项;
所述UP接收数据报文,将与所述缓存报文的流表项匹配的数据报文发送到缓存功能模块,用于所述缓存功能模块存储数据报文,所述缓存功能模块为交换机内部模块或交换机外部模块;
所述UP接收所述CP发送的转发报文的流表项;
所述UP接收所述缓存功能模块发送的缓存数据报文,所述缓存数据报文是所述缓存功能模块在接收到所述CP发送的报文发送指令时,根据存储顺序和所述报文发送指令发送的;
若所述缓存功能模块与所述UP的端口直接对接,所述缓存功能模块的功能为单一的报文存储功能,所述缓存报文的流表项指示的操作为匹配指定数据报文,并通过连接所述缓存功能模块的端口发送到所述缓存功能模块;
则所述UP将与所述缓存报文的流表项匹配的数据报文发送到缓存功能模块,包括:
所述UP将与所述缓存报文的流表项匹配的数据报文通过连接所述缓存功能模块的端口发送到所述缓存功能模块,用于所述缓存功能模块根据所述数据报文中的第一用户信息和所述数据报文的接收顺序存储所述数据报文,所述第一用户信息包含媒质接入控制MAC地址、IP地址、隧道标识和命中的流表项的标识中的至少一个。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
所述报文发送指令包含要发送的缓存数据报文的第二用户信息,所述第二用户信息包含MAC地址、IP地址、隧道标识和命中的流表项的标识中的至少一个,所述UP根据所述转发报文的流表项对所述缓存数据报文进行转发。
3.根据权利要求2所述的方法,其特征在于,若所述缓存功能模块与所述UP的端口直接对接,所述缓存功能模块的功能为非单一的报文存储功能,所述缓存报文的流表项指示的操作为匹配指定数据报文,添加第一控制信息,所述第一控制信息至少包含缓存指令,将添加第一控制信息的数据报文通过连接所述缓存功能模块的端口发送到所述缓存功能模块;
则所述UP将与所述缓存报文的流表项匹配的数据报文发送到缓存功能模块,包括:
所述UP为与所述缓存报文的流表项匹配的数据报文添加第一控制信息,将添加第一控制信息的数据报文通过连接所述缓存功能模块的端口发送到所述缓存功能模块,用于所述缓存功能模块根据所述数据报文中的第一用户信息和所述数据报文的接收顺序存储所述数据报文,或者,根据所述第一控制信息中的序列号存储所述数据报文,所述第一用户信息包含MAC地址、IP地址、隧道标识和命中的流表项的标识中的至少一个。
4.根据权利要求3所述的方法,其特征在于,所述第二用户信息还包括数据报文发送端口,所述缓存数据报文是所述缓存功能模块按照存储顺序添加第二控制信息后向所述UP发送,所述第二控制信息中包含所述数据报文发送端口。
5.根据权利要求2所述的方法,其特征在于,若所述缓存功能模块通过路由或交换与所述UP互通,所述缓存功能模块的功能为非单一的报文存储功能,所述缓存报文的流表项指示的操作为匹配指定数据报文,将匹配的数据报文封装在业务链包头中,将封装后的数据报文通过连接所述缓存功能模块的端口发送到所述缓存功能模块,所述业务链包头携带用于指示缓存数据报文的信息和所述UP需要传递给所述缓存功能模块的信息,所述业务链包头包括业务链协议的包头或隧道协议的包头;
则所述UP将与所述缓存报文的流表项匹配的数据报文发送到缓存功能模块,包括:
所述UP将与所述缓存报文的流表项匹配的数据报文封装在业务链包头中,将封装后的数据报文通过连接所述缓存功能模块的端口发送到所述缓存功能模块,用于所述缓存功能模块根据所述数据报文中的第一用户信息和所述数据报文的接收顺序存储所述数据报文,或者,根据所述业务链包头中的序列号存储所述数据报文,所述第一用户信息包含MAC地址、IP地址、隧道标识和命中的流表项的标识中的至少一个。
6.根据权利要求5所述的方法,其特征在于,所述第二用户信息还包括数据报文发送端口,所述缓存数据报文是所述缓存功能模块按照存储顺序封装在业务链包头中后向所述UP发送,所述业务链包头携带所述数据报文发送端口。
7.一种数据报文缓存方法,其特征在于,包括:
缓存功能模块接收用户面UP发送的与缓存报文的流表项匹配的数据报文,所述缓存功能模块为交换机内部模块或交换机外部模块,所述缓存报文的流表项为控制面CP发送给所述UP;
所述缓存功能模块存储所述数据报文;
所述缓存功能模块接收所述CP发送的报文发送指令;
若所述缓存功能模块与所述UP的端口直接对接,所述缓存功能模块的功能为单一的报文存储功能,所述缓存报文的流表项指示的操作为匹配指定数据报文,并通过连接所述缓存功能模块的端口发送到所述缓存功能模块;
则所述缓存功能模块存储所述数据报文,包括:
所述缓存功能模块根据所述数据报文中的第一用户信息和所述数据报文的接收顺序存储所述数据报文,所述第一用户信息包含媒质接入控制MAC地址、IP地址、隧道标识和命中的流表项的标识中的至少一个。
8.根据权利要求7所述的方法,其特征在于,所述方法还包括:
所述报文发送指令包含要发送的缓存数据报文的第二用户信息,所述第二用户信息包含MAC地址、IP地址、隧道标识和命中的流表项的标识中的至少一个;
所述缓存功能模块根据存储顺序和所述报文发送指令向所述UP发送缓存数据报文,用于所述UP根据所述CP发送的转发报文的流表项对接收到的缓存数据报文进行转发。
9.根据权利要求8所述的方法,其特征在于,若所述缓存功能模块与所述UP的端口直接对接,所述缓存功能模块的功能为非单一的报文存储功能,所述缓存报文的流表项指示的操作为匹配指定数据报文,添加第一控制信息,所述第一控制信息至少包含缓存指令,将添加第一控制信息的数据报文通过连接所述缓存功能模块的端口发送到所述缓存功能模块;
则所述缓存功能模块存储所述数据报文,包括:
所述缓存功能模块根据所述数据报文中的第一用户信息和所述数据报文的接收顺序存储所述数据报文,或者,根据所述第一控制信息中的序列号存储所述数据报文,所述第一用户信息包含MAC地址、IP地址、隧道标识和命中的流表项的标识中的至少一个。
10.根据权利要求9所述的方法,其特征在于,所述第二用户信息还包括数据报文发送端口,所述缓存功能模块根据存储顺序和所述报文发送指令向所述UP发送缓存数据报文,包括:
所述缓存功能模块按照存储顺序为要发送的缓存数据报文添加第二控制信息后向所述UP发送,所述第二控制信息包含所述数据报文发送端口。
11.根据权利要求8所述的方法,其特征在于,若所述缓存功能模块通过路由或交换与所述UP互通,所述缓存功能模块的功能为非单一的报文存储功能,所述缓存报文的流表项指示的操作为匹配指定数据报文,将匹配的数据报文封装在业务链包头中,将封装后的数据报文通过连接所述缓存功能模块的端口发送到所述缓存功能模块,所述业务链包头携带用于指示缓存数据报文的信息和所述UP需要传递给所述缓存功能模块的信息,所述业务链包头包括业务链协议的包头或隧道协议的包头;
则所述缓存功能模块存储所述数据报文,包括:
所述缓存功能模块根据所述数据报文中的第一用户信息和所述数据报文的接收顺序存储所述数据报文,或者,根据所述业务链包头中的序列号存储所述数据报文,所述第一用户信息包含MAC地址、IP地址、隧道标识和命中的流表项的标识中的至少一个。
12.根据权利要求11所述的方法,其特征在于,所述第二用户信息还包括数据报文发送端口,所述缓存功能模块根据存储顺序和所述报文发送指令向所述UP发送缓存数据报文,包括:
所述缓存功能模块按照存储顺序将要发送的缓存数据报文封装在业务链包头中后向所述UP发送,所述业务链包头携带所述数据报文发送端口。
13.一种数据报文缓存装置,其特征在于,包括:
接收模块,用于接收控制面CP发送的缓存报文的流表项;
所述接收模块还用于:接收数据报文;
发送模块,用于将与所述缓存报文的流表项匹配的数据报文发送到缓存功能模块,用于所述缓存功能模块存储数据报文,所述缓存功能模块为交换机内部模块或交换机外部模块;
所述接收模块还用于:接收所述CP发送的转发报文的流表项;
接收所述缓存功能模块发送的缓存数据报文,所述缓存数据报文是所述缓存功能模块在接收到所述CP发送的报文发送指令时,根据存储顺序和所述报文发送指令发送的;
若所述缓存功能模块与所述数据报文缓存装置的端口直接对接,所述缓存功能模块的功能为单一的报文存储功能,所述缓存报文的流表项指示的操作为匹配指定数据报文,并通过连接所述缓存功能模块的端口发送到所述缓存功能模块;
则所述发送模块用于:
将与所述缓存报文的流表项匹配的数据报文通过连接所述缓存功能模块的端口发送到所述缓存功能模块,用于所述缓存功能模块根据所述数据报文中的第一用户信息和所述数据报文的接收顺序存储所述数据报文,所述第一用户信息包含媒质接入控制MAC地址、IP地址、隧道标识和命中的流表项的标识中的至少一个。
14.根据权利要求13所述的装置,其特征在于:
所述报文发送指令包含要发送的缓存数据报文的第二用户信息,所述第二用户信息包含MAC地址、IP地址、隧道标识和命中的流表项的标识中的至少一个;
所述发送模块还用于根据所述转发报文的流表项对所述缓存数据报文进行转发。
15.根据权利要求14所述的装置,其特征在于,若所述缓存功能模块与所述数据报文缓存装置的端口直接对接,所述缓存功能模块的功能为非单一的报文存储功能,所述缓存报文的流表项指示的操作为匹配指定数据报文,添加第一控制信息,所述第一控制信息至少包含缓存指令,将添加第一控制信息的数据报文通过连接所述缓存功能模块的端口发送到所述缓存功能模块;
则所述发送模块用于:
为与所述缓存报文的流表项匹配的数据报文添加第一控制信息,将添加第一控制信息的数据报文通过连接所述缓存功能模块的端口发送到所述缓存功能模块,用于所述缓存功能模块根据所述数据报文中的第一用户信息和所述数据报文的接收顺序存储所述数据报文,或者,根据所述第一控制信息中的序列号存储所述数据报文,所述第一用户信息包含MAC地址、IP地址、隧道标识和命中的流表项的标识中的至少一个。
16.根据权利要求15所述的装置,其特征在于,所述第二用户信息还包括数据报文发送端口,所述缓存数据报文是所述缓存功能模块按照存储顺序添加第二控制信息后向所述数据报文缓存装置发送,所述第二控制信息中包含所述数据报文发送端口。
17.根据权利要求14所述的装置,其特征在于,若所述缓存功能模块通过路由或交换与所述数据报文缓存装置互通,所述缓存功能模块的功能为非单一的报文存储功能,所述缓存报文的流表项指示的操作为匹配指定数据报文,将匹配的数据报文封装在业务链包头中,将封装后的数据报文通过连接所述缓存功能模块的端口发送到所述缓存功能模块,所述业务链包头携带用于指示缓存数据报文的信息和所述数据报文缓存装置需要传递给所述缓存功能模块的信息,所述业务链包头包括业务链协议的包头或隧道协议的包头;
则所述发送模块用于:
将与所述缓存报文的流表项匹配的数据报文封装在业务链包头中,将封装后的数据报文通过连接所述缓存功能模块的端口发送到所述缓存功能模块,用于所述缓存功能模块根据所述数据报文中的第一用户信息和所述数据报文的接收顺序存储所述数据报文,或者,根据所述业务链包头中的序列号存储所述数据报文,所述第一用户信息包含MAC地址、IP地址、隧道标识和命中的流表项的标识中的至少一个。
18.根据权利要求17所述的装置,其特征在于,所述第二用户信息还包括数据报文发送端口,所述缓存数据报文是所述缓存功能模块按照存储顺序封装在业务链包头中后向所述数据报文缓存装置发送,所述业务链包头携带所述数据报文发送端口。
19.一种数据报文缓存装置,其特征在于,包括:
接收模块,用于接收用户面UP发送的与缓存报文的流表项匹配的数据报文,所述数据报文缓存装置为交换机内部模块或交换机外部模块,所述缓存报文的流表项为控制面CP发送给所述UP;
存储模块,用于存储所述数据报文;
所述接收模块还用于:接收所述CP发送的报文发送指令;
若所述数据报文缓存装置与所述UP的端口直接对接,所述数据报文缓存装置的功能为单一的报文存储功能,所述缓存报文的流表项指示的操作为匹配指定数据报文,并通过连接所述数据报文缓存装置的端口发送到所述数据报文缓存装置;
则所述存储模块用于:
根据所述数据报文中的第一用户信息和所述数据报文的接收顺序存储所述数据报文,所述第一用户信息包含媒质接入控制MAC地址、IP地址、隧道标识和命中的流表项的标识中的至少一个。
20.根据权利要求19所述的装置,其特征在于:
所述报文发送指令包含要发送的缓存数据报文的第二用户信息,所述第二用户信息包含MAC地址、IP地址、隧道标识和命中的流表项的标识中的至少一个;
所述装置还包括:
发送模块,用于根据存储顺序和所述报文发送指令向所述UP发送缓存数据报文,用于所述UP根据所述CP发送的转发报文的流表项对接收到的缓存数据报文进行转发。
21.根据权利要求20所述的装置,其特征在于,若所述数据报文缓存装置与所述UP的端口直接对接,所述数据报文缓存装置的功能为非单一的报文存储功能,所述缓存报文的流表项指示的操作为匹配指定数据报文,添加第一控制信息,所述第一控制信息至少包含缓存指令,将添加第一控制信息的数据报文通过连接所述数据报文缓存装置的端口发送到所述数据报文缓存装置;
则所述存储模块用于:
根据所述数据报文中的第一用户信息和所述数据报文的接收顺序存储所述数据报文,或者,根据所述第一控制信息中的序列号存储所述数据报文,所述第一用户信息包含MAC地址、IP地址、隧道标识和命中的流表项的标识中的至少一个。
22.根据权利要求21所述的装置,其特征在于,所述第二用户信息还包括数据报文发送端口,所述发送模块用于:
按照存储顺序为要发送的缓存数据报文添加第二控制信息后向所述UP发送,所述第二控制信息包含所述数据报文发送端口。
23.根据权利要求20所述的装置,其特征在于,若所述数据报文缓存装置通过路由或交换与所述UP互通,所述数据报文缓存装置的功能为非单一的报文存储功能,所述缓存报文的流表项指示的操作为匹配指定数据报文,将匹配的数据报文封装在业务链包头中,将封装后的数据报文通过连接所述数据报文缓存装置的端口发送到所述数据报文缓存装置,所述业务链包头携带用于指示缓存数据报文的信息和所述UP需要传递给所述数据报文缓存装置的信息,所述业务链包头包括业务链协议的包头或隧道协议的包头;
则所述存储模块用于:
根据所述数据报文中的第一用户信息和所述数据报文的接收顺序存储所述数据报文,或者,根据所述业务链包头中的序列号存储所述数据报文,所述第一用户信息包含MAC地址、IP地址、隧道标识和命中的流表项的标识中的至少一个。
24.根据权利要求23所述的装置,其特征在于,所述第二用户信息还包括数据报文发送端口,所述发送模块用于:
按照存储顺序将要发送的缓存数据报文封装在业务链包头中后向所述UP发送,所述业务链包头携带所述数据报文发送端口。
25.一种可读存储介质,其特征在于,所述可读存储介质中存储有执行指令,当数据报文缓存装置的至少一个处理器执行所述执行指令时,数据报文缓存装置执行权利要求1~6任一项或权利要求7~12任一项所述的数据报文缓存方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710963684.9A CN109672615B (zh) | 2017-10-17 | 2017-10-17 | 数据报文缓存方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710963684.9A CN109672615B (zh) | 2017-10-17 | 2017-10-17 | 数据报文缓存方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109672615A CN109672615A (zh) | 2019-04-23 |
CN109672615B true CN109672615B (zh) | 2022-06-14 |
Family
ID=66139531
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710963684.9A Active CN109672615B (zh) | 2017-10-17 | 2017-10-17 | 数据报文缓存方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109672615B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110366276B (zh) * | 2019-07-03 | 2022-04-12 | 中国联合网络通信集团有限公司 | 服务化架构基站 |
CN113141284B (zh) * | 2020-01-17 | 2022-07-19 | 大唐移动通信设备有限公司 | 一种接入网设备及数据传输方法 |
CN113596038B (zh) * | 2021-08-02 | 2023-04-07 | 武汉绿色网络信息服务有限责任公司 | 数据包解析的方法和服务器 |
CN115996192B (zh) * | 2023-03-14 | 2023-08-15 | 阿里巴巴(中国)有限公司 | 数据转发方法、车辆控制方法、专网设备及设备 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105359472A (zh) * | 2014-05-16 | 2016-02-24 | 华为技术有限公司 | 一种用于OpenFlow网络的数据处理方法和装置 |
WO2017035723A1 (zh) * | 2015-08-31 | 2017-03-09 | 华为技术有限公司 | 一种用于分布式网关的寻呼方法及装置 |
WO2017085570A1 (en) * | 2015-11-17 | 2017-05-26 | Telefonaktiebolaget Lm Ericsson (Publ) | Service based intelligent packet-in buffering mechanism for openflow switches by having variable buffer timeouts |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3017636B1 (en) * | 2013-07-03 | 2021-08-25 | Nokia Solutions and Networks GmbH & Co. KG | User plane idle mode buffering within software defined network architecture |
CN104348750B (zh) * | 2013-07-31 | 2019-07-26 | 中兴通讯股份有限公司 | OpenFlow网络中QoS的实现方法及装置 |
CN105874758B (zh) * | 2014-11-28 | 2019-07-12 | 华为技术有限公司 | 内存访问方法、交换机及多处理器系统 |
WO2017062066A1 (en) * | 2015-10-06 | 2017-04-13 | Intel IP Corporation | Bearer-less architecture for a wireless cellular network |
-
2017
- 2017-10-17 CN CN201710963684.9A patent/CN109672615B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105359472A (zh) * | 2014-05-16 | 2016-02-24 | 华为技术有限公司 | 一种用于OpenFlow网络的数据处理方法和装置 |
WO2017035723A1 (zh) * | 2015-08-31 | 2017-03-09 | 华为技术有限公司 | 一种用于分布式网关的寻呼方法及装置 |
WO2017085570A1 (en) * | 2015-11-17 | 2017-05-26 | Telefonaktiebolaget Lm Ericsson (Publ) | Service based intelligent packet-in buffering mechanism for openflow switches by having variable buffer timeouts |
Non-Patent Citations (1)
Title |
---|
PiBuffer:面向数据中心的OpenFlow流缓存管理模型;毛健彪 等;《计算机学报》;20160630;第39卷(第6期);第1092-1104页 * |
Also Published As
Publication number | Publication date |
---|---|
CN109672615A (zh) | 2019-04-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7079866B2 (ja) | パケット処理方法、及びデバイス | |
JP7303833B2 (ja) | 情報伝送方法及び装置 | |
CN111031080B (zh) | 报文传输方法及装置 | |
CN109995654B (zh) | 一种基于隧道传输数据的方法及装置 | |
CN109672615B (zh) | 数据报文缓存方法及装置 | |
US10812292B2 (en) | Packet processing method and device | |
CN103391296B (zh) | 一种控制器、转发器及通道建立方法和系统 | |
CN104796227B (zh) | 一种数据传输方法及设备 | |
JP2016511978A (ja) | ネットワーク仮想化のデータ伝送のための方法、デバイス、及びルーティングシステム | |
CN110677345B (zh) | 一种用户报文传输方法及通信设备 | |
US10531274B2 (en) | Data processing method and device | |
CN102857414A (zh) | 一种转发表写入、报文转发方法及装置 | |
CN110831249B (zh) | 通信方法和装置 | |
CN105531967B (zh) | 一种报文传输方法、设备及通信系统 | |
US20210227608A1 (en) | Method And Apparatus For Sending Multicast Data | |
CN109936492A (zh) | 一种通过隧道传输报文的方法、装置和系统 | |
CN104796338A (zh) | 虚拟机迁移方法及装置 | |
US10205610B2 (en) | Uplink packet routing in a system-on-a-chip base station architecture | |
JP7298606B2 (ja) | 通信システム及び通信方法 | |
US20230413154A1 (en) | Data Unit Processing Method and Node | |
CN114667757A (zh) | 在集成接入和回程通信中传递业务 | |
CN109873763A (zh) | 一种通信方法及设备 | |
JP2008219490A (ja) | ネットワークシステム及びアドレス変換方法 | |
US20240195731A1 (en) | Software defined network controller, network device, method and apparatus of determining resources | |
CN107579932A (zh) | 一种数据传输方法、设备和存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |