电子通信装置的制造及其应用技术ipv6数据包处理方法、装置、计算机设备和存储介质技术领域1.本技术涉及移动通信领域,特别是涉及一种ipv6数据包处理方法、装置、计算机设备和存储介质。背景技术:2.随着5g技术的发展,人们对数据包的处理效率有着更高的需求,用户面功能(upf,user plane function)是基于3gpp的5g核心网系统架构的重要组成部分,在5g网络中,upf作为用户面网元,主要负责5g核心网的数据包的路由和转发相关功能,比如,接收smf(session management function,会话管理功能)控制管理,依据smf下发的各种策略执行业务流的识别(dpi)、数据包处理(gtp封装/解封装、转发、缓存、qos控制等)和计费(信息收集和上报)等。3.在传统技术中,主要是基于linux中的socket版本进行转发,其性能依赖linux内核转发包的效率,其入口收包效率存在瓶颈,从而无法满足5g核心网在高速转发的场景下支持ipv6(internet protocol version 6,互联网协议第6版)协议栈的需求,即存在upf上无法实现对ipv6数据包高速转发的问题。技术实现要素:4.基于此,有必要针对上述技术问题,提供一种能够使ipv6数据包高速转发的ipv6数据包处理方法、装置、计算机设备和计算机可读存储介质。5.第一方面,本技术提供了一种ipv6数据包处理方法。应用于5g核心网中的基于dpdk的用户面网元,所述方法包括:6.通过所述用户面网元的第一接口接收来自于用户设备的ipv6数据包;7.确定所述ipv6数据包中的目标ipv6地址;8.查询是否存储所述目标ipv6地址对应的目标物理地址;9.若否,则基于所述目标ipv6地址生成目标组播物理地址,并依据所述目标组播物理地址获取所述目标物理地址;10.依据所述目标物理地址对所述ipv6数据包进行重新封装,并通过所述用户面网元的第二接口对封装所得的ipv6数据包进行转发。11.在其中一个实施例中,所述基于所述目标ipv6地址生成目标组播物理地址包括:12.获取组播ipv6地址格式和组播物理地址格式;13.基于所述组播ipv6地址格式对所述目标ipv6地址进行截取,得到截取后的目标ipv6地址,基于截取后的所述目标ipv6地址对所述组播ipv6地址格式进行替换处理,得到目标组播ipv6地址;14.基于所述组播物理地址格式对所述目标组播ipv6地址进行截取,得到截取后的所述目标组播ipv6地址,基于截取后的所述目标组播ipv6地址对所述组播物理地址格式进行替换处理,得到目标组播物理地址。15.在其中一个实施例中,所述通过所述用户面网元的第一接口接收来自于用户设备的ipv6数据包之后,所述方法还包括:16.依据预设ipv6结构体确定所述ipv6数据包中的处理字段;17.基于所述处理字段对所述ipv6数据包解码处理,得到解码后的ipv6数据包;18.所述确定所述ipv6数据包中的目标ipv6地址包括:19.在解码后的所述ipv6数据包中确定目标ipv6地址;20.所述依据所述目标物理地址对所述ipv6数据包进行重新封装,并通过所述用户面网元的第二接口对封装所得的ipv6数据包进行转发包括:21.依据所述目标物理地址对解码后的所述ipv6数据包进行重新封装,并通过所述用户面网元的第二接口对封装所得的ipv6数据包进行转发。22.在其中一个实施例中,所述在所述依据所述目标物理地址对所述ipv6数据包进行重新封装之后,所述方法还包括:23.基于所述处理字段对封装后的所述ipv6数据包进行编码处理,得到编码后的ipv6数据包;24.所述通过所述用户面网元的第二接口对封装所得的ipv6数据包进行转发,包括:25.通过所述用户面网元的第二接口对编码后的所述ipv6数据包进行转发。26.在其中一个实施例中,所述依据所述目标组播物理地址获取所述目标物理地址包括:27.依据所述目标组播物理地址确定对应的组播;28.查询所述组播中与所述目标ipv6地址一致的目标地址;29.获取所述目标地址对应的所述目标物理地址。30.在其中一个实施例中,所述方法还包括:31.若存储有所述目标ipv6地址对应的目标物理地址,则执行所述依据所述目标物理地址对所述ipv6数据包进行重新封装,并通过所述用户面网元的第二接口对封装所得的ipv6数据包进行转发的步骤。32.在其中一个实施例中,所述依据所述目标物理地址对所述ipv6数据包进行重新封装包括:33.将所述ipv6数据包中上一节点增添的ip地址和端口信息进行去除,得到预转发ipv6数据包;34.将所述预转发ipv6数据包中的目的物理地址替换成所述目标物理地址。35.第二方面,本技术还提供了一种ipv6数据包处理装置。该装置应用于5g核心网中的基于dpdk的用户面网元,所述装置包括:36.接收模块,用于通过所述用户面网元的第一接口接收来自于用户设备的ipv6数据包;37.确定模块,用于确定所述ipv6数据包中的目标ipv6地址;38.查询模块,用于查询是否存储所述目标ipv6地址对应的目标物理地址;39.生成与获取模块,用于若否,则基于所述目标ipv6地址生成目标组播物理地址,并依据所述目标组播物理地址获取所述目标物理地址;40.封装与转发模块,用于依据所述目标物理地址对所述ipv6数据包进行重新封装,并通过所述用户面网元的第二接口对封装所得的ipv6数据包进行转发。41.在其中一个实施例中,生成与获取模块还用于获取组播ipv6地址格式和组播物理地址格式;基于所述组播ipv6地址格式对所述目标ipv6地址进行截取,得到截取后的目标ipv6地址,基于截取后的所述目标ipv6地址对所述组播ipv6地址格式进行替换处理,得到目标组播ipv6地址;基于所述组播物理地址格式对所述目标组播ipv6地址进行截取,得到截取后的所述目标组播ipv6地址,基于截取后的所述目标组播ipv6地址对所述组播物理地址格式进行替换处理,得到目标组播物理地址。42.在其中一个实施例中,接收模块还用于依据预设ipv6结构体确定所述ipv6数据包中的处理字段;基于所述处理字段对所述ipv6数据包解码处理,得到解码后的ipv6数据包;确定模块还用于在解码后的所述ipv6数据包中确定目标ipv6地址;封装与转发模块还用于依据所述目标物理地址对解码后的所述ipv6数据包进行重新封装,并通过所述用户面网元的第二接口对封装所得的ipv6数据包进行转发。43.在其中一个实施例中,封装与转发模块还用于基于所述处理字段对封装后的所述ipv6数据包进行编码处理,得到编码后的ipv6数据包;通过所述用户面网元的第二接口对编码后的所述ipv6数据包进行转发。44.在其中一个实施例中,生成与获取模块还用于依据所述目标组播物理地址确定对应的组播;查询所述组播中与所述目标ipv6地址一致的目标地址;获取所述目标地址对应的所述目标物理地址。45.在其中一个实施例中,查询模块还用于若存储有所述目标ipv6地址对应的目标物理地址,则执行所述依据所述目标物理地址对所述ipv6数据包进行重新封装,并通过所述用户面网元的第二接口对封装所得的ipv6数据包进行转发的步骤。46.在其中一个实施例中,封装与转发模块还用于将所述ipv6数据包中上一节点增添的ip地址和端口信息进行去除,得到预转发ipv6数据包;将所述预转发ipv6数据包中的目的物理地址替换成所述目标物理地址。47.第三方面,本技术还提供了一种计算机设备。所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述方法的步骤。48.第四方面,本技术还提供了一种计算机可读存储介质。所述计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述方法的步骤。49.第五方面,本技术还提供了一种计算机程序产品。所述计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述方法的步骤。50.上述ipv6数据包处理方法、装置、计算机设备和存储介质,通过用户面网元的第一接口接收来自于用户设备的ipv6数据包;确定ipv6数据包中的目标ipv6地址;当未存储目标ipv6地址对应的目标物理地址时,基于目标ipv6地址生成目标组播物理地址,并依据目标组播物理地址获取目标物理地址;依据目标物理地址对ipv6数据包进行重新封装,并通过用户面网元的第二接口对封装所得的ipv6数据包进行转发。解决了upf上无法实现基于dpdk对ipv6数据包高速转发的问题,满足了5g核心网在高速转发的场景下支持ipv6(internet protocol version 6,互联网协议第6版)协议栈的需求。附图说明51.图1为一个实施例中ipv6数据包处理方法的应用环境图;52.图2为一个实施例中ipv6数据包处理方法的流程示意图;53.图3a为一个实施例中ipv6数据包处理方法的应用场景图;54.图3b为另一个实施例中ipv6数据包处理方法的应用场景图;55.图4为一个实施例中获取ipv6前缀地址的步骤示意图;56.图5为一个实施例中获取ipv6后缀地址的流程示意图;57.图6为另一个实施例中获取ipv6前缀地址的流程示意图;58.图7为一个实施例中获取目标物理地址的步骤示意图;59.图8为一个实施例中ipv6数据包处理装置的结构框图;60.图9为一个实施例中计算机设备的内部结构图。具体实施方式61.为了使本技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本技术进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本技术,并不用于限定本技术。62.本技术实施例提供的ipv6数据包处理方法,可以应用于如图1所示的应用环境中。其中,终端102通过网络与服务器104进行通信。数据存储系统可以存储服务器104需要处理的数据。数据存储系统可以集成在服务器104上,也可以放在云上或其他网络服务器上。其中,5g核心网中的用户面网元可以是服务器104中的软件模块,本实施例以服务器104执行为例进行说明。63.服务器104通过用户面网元的第一接口接收来自于用户设备的ipv6数据包;服务器104确定ipv6数据包中的目标ipv6地址;服务器104查询是否存储目标ipv6地址对应的目标物理地址;服务器104若否,则基于目标ipv6地址生成目标组播物理地址,并依据目标组播物理地址获取目标物理地址;服务器104依据目标物理地址对ipv6数据包进行重新封装,并通过用户面网元的第二接口对封装所得的ipv6数据包进行转发。64.其中,终端102可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑、物联网设备和便携式可穿戴设备,物联网设备可为智能音箱、智能电视、智能空调、智能车载设备等。便携式可穿戴设备可为智能手表、智能手环、头戴设备等。服务器104可以用独立的服务器或者是多个服务器组成的服务器集群来实现。需指出的是在本技术中,涉及到的用户设备可为终端,5g核心网拥有许多不同的网元,网元可以承载在不同的设备中,用户面网元和会话管理网元可以是服务器中的软件模块,数据网络可以是区别于5g核心网的另外的网络。65.dpdk(data plane development kit,数据平面开发套件)是一个开源的数据平面开发工具集,是为了解决数据包处理性能问题而提供的一个用户空间下的高效数据包处理函数库和驱动集。5g核心网中的用户面网元可使用dpdk加速,现有技术中基于dpdk的用户面网元还未支持ipv6协议栈。而本技术是在基于dpdk的用户面网元上支持ipv6协议栈,即ipv6数据包在用户面网元进行高速转发。66.在一个实施例中,如图2所示,提供了一种ipv6数据包处理方法,该方法应用于5g核心网中的基于dpdk的用户面网元,以该方法应用于图1中的服务器104为例进行说明,包括以下步骤:67.s202,通过用户面网元的第一接口接收来自于用户设备的ipv6数据包。68.其中,用户面网元是指5g核心网(5g core network)中的用户面功能(upf,user plane function),upf主要负责5g核心网的数据包的路由和转发相关功能。第一接口可以指upf与5g基站之间的,并属于upf侧的接口。用户设备可以指终端。ipv6数据包可以指满足ipv6相关协议的数据包。69.如图3a所示,为一个ipv6数据包处理方法的应用场景图;在整个ipv6数据包处理的过程中,主要涉及用户设备、5g基站、用户面网元、会话管理网元和数据网络等之间的交互,会话管理网元可指5g核心网中的smf(session management function,会话管理功能),数据网络可以指5g核心网的外部数据网络。其中,n3可表示upf与5g基站之间的接口,即n3包含第一接口和属于5g基站侧的接口。n6可表示upf与数据网络之间的接口,在n6中属于upf侧的接口为第二接口。而本技术是在基于dpdk的用户面网元上支持ipv6协议栈,主要涉及的在用户面网元上的接口为第一接口和第二接口,即ipv6数据包可在用户面网元的第一接口和第二接口进行高速转发。70.具体地,可以是用户设备发送ipv6数据包,经由5g基站接收该ipv6数据包,并将该ipv6数据包进行转发,服务器通过用户面网元的第一接口接收来自于5g基站的ipv6数据包。71.在一个实施例中,5g基站接收ipv6数据包后,5g基站可增添upf的第一接口的ip地址和端口信息至ipv6数据包,以使ipv6数据包顺利转发至upf的第一接口。其中,ip地址包括ipv4地址和ipv6地址,例如,ip地址可为“172.16.0.203”。端口信息可以指接口对应的端口号,例如,端口信息可为“port:2003”。72.s204,确定ipv6数据包中的目标ipv6地址。73.其中,目标ipv6地址可以指ipv6数据包最终要到达的目标节点的ipv6地址。目标节点可以是运营商的相应服务器或另一用户设备等。74.具体地,服务器中的用户面网元可以依据预设ipv6结构体确定ipv6数据包中的处理字段;基于处理字段对ipv6数据包解码处理,得到解码后的ipv6数据包;在解码后的ipv6数据包中确定目标ipv6地址。依据目标物理地址对解码后的ipv6数据包进行重新封装,并通过用户面网元的第二接口对封装所得的ipv6数据包进行转发。75.其中,预设ipv6结构体可用于对ipv6数据包中的处理字段进行确定,预设ipv6结构体可包括头部结构体、端口结构体和数据结构体等等,头部结构体可用于确定ipv6数据包的头部信息中的处理字段。端口结构体可用于确定ipv6数据包的端口信息中的处理字段。数据结构体可用于确定ipv6数据包的数据(data)中的处理字段。预设ipv6结构体可确定ipv6数据包中的处理字段,即确定ipv6数据包中的处理字段后,对ipv6数据包中的处理字段进行编解码处理,对其他的字段统一采用“填默认值”或“不判断处理”或“合并到其他项”的操作,“填默认值”中默认值可为0或255等,由此采用预设ipv6结构体有效提升了对ipv6数据包进行编解码处理的效率。处理字段可以指ipv6数据包中用于编解码处理的字段。目标物理地址可以指目标节点在数据链路层的mac(media access control)地址,例如,intelcor_b1:1a:ca(90:e2:ba:b1:1a:ca)。76.例如,预设ipv6结构体是头部结构体时,该头部结构体可为[0077][0078]当ipv6数据包中头部信息为如下时,[0079][0080][0081]则头部结构体与该头部信息中的flag(标签)对应情况可以是vtcflow对应er16....traffic class;payloadlen对应payload length;proto对应next header;hoplimits对应hop limit;srcaddr对应source address;dstaddr对应destination address。可表示为:[0082][0083]该ipv6数据包中头部信息中的处理字段为er16....=version:6、traffic class:0x00、payload length:72、next header:udp(17)、hop limit:64、source address:2001::23、destination address:2001::4。[0084]s206,查询是否存储目标ipv6地址对应的目标物理地址。[0085]具体地,服务器中的用户面网元可以查询临近表是否存储目标ipv6地址对应的目标物理地址。[0086]其中,临近表可用于存储ip地址对应的物理地址(数据链路层的mac地址),例如,临近表可存储ipv6地址对应的物理地址。[0087]s208,若否,则基于目标ipv6地址生成目标组播物理地址,并依据目标组播物理地址获取目标物理地址。[0088]其中,目标组播物理地址可用于确定目标ipv6地址对应的组播。[0089]在一个实施例中,基于目标ipv6地址生成目标组播物理地址包括服务器中的用户面网元基于目标ipv6地址生成目标组播ipv6地址,再依据目标组播ipv6地址生成目标组播物理地址。[0090]其中,目标组播ipv6地址可用于确定目标ipv6地址对应的组播。[0091]在一个实施例中,基于目标ipv6地址生成目标组播物理地址还包括获取组播ipv6地址格式和组播物理地址格式;基于组播ipv6地址格式对目标ipv6地址进行截取,得到截取后的目标ipv6地址,基于截取后的目标ipv6地址对组播ipv6地址格式进行替换处理,得到目标组播ipv6地址;基于组播物理地址格式对目标组播ipv6地址进行截取,得到截取后的目标组播ipv6地址,基于截取后的目标组播ipv6地址对组播物理地址格式进行替换处理,得到目标组播物理地址。[0092]其中,组播ipv6地址格式可以指组播ipv6地址的表示形式。组播物理地址格式可以指组播物理地址的表示形式。[0093]例如,目标ipv6地址为2001:0000:0000:0000:0000:0000:0000:0023,即为2001::23,组播ipv6地址格式为ff02:0000:0000:0000:0000:0001:ffxx:xxxx,则可取目标ipv6地址的后六位“000023”替换组播ipv6地址格式中的后六位xx:xxx,即生成的目标组播ipv6地址为“ff02:0000:0000:0000:0000:0001:ff00:0023”,再依据组播物理地址格式为33:33:ff:xx:xx:xx,将目标组播ipv6地址的后六位“000023”替换组播物理地址格式中的后六位“xx.xx.xx”,则可得到目标组播物理地址为“33:33:ff:00:00:23”。[0094]在一个实施例中,基于目标ipv6地址生成目标组播物理地址还包括获取组播物理地址格式;基于组播物理地址格式对目标ipv6地址进行截取,得到截取后的目标ipv6地址,基于截取后的目标ipv6地址对组播物理地址格式进行替换处理,得到目标组播物理地址。[0095]在一个实施例中,依据目标组播物理地址获取目标物理地址包括服务器中的用户面网元依据目标组播物理地址向相应的组播发送邻居请求(neighbor solicitation,ns)报文,当目标节点接收到该ns报文后,与自身存储的目标组播物理地址进行比对,当自身存储的目标组播物理地址与ns报文中的目标组播物理地址一致时,目标节点则依据对应的目标物理地址生成相应的邻居通告(neighbor advertisement,na)报文。目标节点返回该na报文,服务器中的用户面网元获取na报文中的目标物理地址。[0096]例如,如图3b为另一个ipv6数据包处理方法的应用场景图;可以看出在ipv6数据包在5g基站、用户面网元和数据网络之间传输时,可采用ns报文、na报文进行寻址。ns报文和na报文符合邻居发现协议(neighbor discovery protocol,ndp),ndp是ipv6协议体系中的一个基础协议。[0097]在一个实施例中,在s208之后,服务器中的用户面网元可将获取的目标物理地址存储在临近表中,且与目标ipv6地址呈对应关系。例如,服务器可将返回的na报文中的目标物理地址存储在临近表中。[0098]在一个实施例中,若存储有目标ipv6地址对应的目标物理地址,服务器中的用户面网元则可以执行依据目标物理地址对ipv6数据包进行重新封装,并通过用户面网元的第二接口对封装所得的ipv6数据包进行转发的步骤。[0099]s210,依据目标物理地址对ipv6数据包进行重新封装,并通过用户面网元的第二接口对封装所得的ipv6数据包进行转发。[0100]在一个实施例中,依据目标物理地址对ipv6数据包进行重新封装包括:服务器中的用户面网元将ipv6数据包中上一节点增添的ip地址和端口信息进行去除,得到预转发ipv6数据包;将预转发ipv6数据包中的目的物理地址替换成目标物理地址。[0101]其中,预转发ipv6数据包可以指用户面网元对上一节点增添的ip地址和端口信息进行去除后的ipv6数据包,或是增添下一节点的ip地址和端口信息的ipv6数据包。[0102]例如,结合图3a和图3b的应用场景,当ipv6数据包从用户设备发出至5g基站,则5g基站会将用户面网元第一接口的ip地址和端口信息增添至ipv6数据包,并将其发送至用户面网元,用户面网元接收到该ipv6数据包后,在对5g基站增添的ip地址和端口信息进行去除后,再通过用户面网元的第二接口将ipv6数据包发送至数据网络。[0103]当ipv6数据包从数据网络发出至用户面网元的第二接口,则用户面网元会将5g基站的ip地址和端口信息增添至ipv6数据包,并将其发送至5g基站,5g基站接收到该ipv6数据包后,在对用户面网元增添的ip地址和端口信息进行去除后,再通过用户面网元的第一接口将ipv6数据包发送至用户设备。[0104]在一个实施例中,在依据目标物理地址对ipv6数据包进行重新封装之后,服务器中的用户面网元可以基于处理字段对封装后的ipv6数据包进行编码处理,得到编码后的ipv6数据包;通过用户面网元的第二接口对编码后的ipv6数据包进行转发。[0105]在一个实施例中,服务器中的用户面网元可通过用户面网元的第二接口接收来自于用户设备或另一服务器(例如,运营商的服务器)的ipv6数据包;确定ipv6数据包中的目resolution protocol,地址解析协议)来获取5g核心网中的会话管理网元的物理地址。[0117]s406,依据会话管理网元的物理地址,将路由器请求报文转发至会话管理网元,以使会话管理网元返回路由器通告报文。[0118]其中,路由通告(router advertisement,ra)报文可以指用于返回ipv6前缀地址的报文。ipv6前缀地址可以指用户设备的ipv6地址的前段部分,pv6前缀地址与ipv6后缀地址可拼接成一个完整的ipv6地址。[0119]在一个实施例中,将路由器请求报文转发至会话管理网元之后,会话管理网元生成rs报文对应的ra报文,且该ra报文中含有用户设备的ipv6前缀地址和用户面网元的ipv6地址和端口信息。[0120]在一个实施例中,在s406之前,服务器中的用户面网元在rs报文中将上一节点,例如,5g基站增添的ipv6地址和端口信息修改为会话管理网元的ipv6地址和端口信息。[0121]s408,将会话管理网元返回的路由器通告报文转发至用户设备,以使用户设备获取路由器通告报文中的ipv6前缀地址,并基于ipv6前缀地址和ipv6后缀地址生成ipv6数据包的源ipv6地址。[0122]其中,源ipv6地址可以指ipv6数据包发送的源地址,比如,源ipv6地址可以是用户设备的ipv6地址。[0123]具体地,图6为一个获取ipv6前缀地址的流程示意图,如图所示;服务器中的用户面网元将ra报文中会话管理网元增添的ipv6地址和端口信息修改为5g基站的ipv6地址和端口信息,5g基站收到该ra报文后,将用户面网元修改的ipv6地址和端口信息进行去除,再将该ra报文转发至用户设备,以使用户设备获取ra报文中的ipv6前缀地址。[0124]在一个实施例中,基于ipv6前缀地址和ipv6后缀地址生成ipv6数据包的源ipv6地址包括将ipv6前缀地址和ipv6后缀地址进行拼接生成ipv6数据包的源ipv6地址。[0125]例如,ipv6前缀地址为2001:0000:0000:0000,ipv6后缀地址为0000:0000:0000:0023,则将ipv6前缀地址和ipv6后缀地址进行拼接可得到的ipv6数据包的源ipv6地址为2001:0000:0000:0000:0000:0000:0000:0023。[0126]本实施例中,通过接收用户设备发送的路由器请求报文;获取5g核心网中的会话管理网元的物理地址;依据会话管理网元的物理地址,将路由器请求报文转发至会话管理网元,以使会话管理网元返回路由器通告报文;将会话管理网元返回的路由器通告报文转发至用户设备,以使用户设备获取路由器通告报文中的ipv6前缀地址,高效的获得了发送ipv6数据包的ipv6前缀地址,即使得用户设备基于ipv6前缀地址和ipv6后缀地址生成ipv6数据包的源ipv6地址。[0127]在一个实施例中,如图7所示,获取目标物理地址步骤包括:[0128]s702,依据目标组播物理地址确定对应的组播。[0129]其中,组播可以指基于预设条件对ipv6地址、组播ipv6地址或组播物理地址的分组,例如,预设条件可以是当后固定位相同时的ipv6地址,可视为同一分组或当后固定位相同时的组播物理地址,可视为同一分组。[0130]例如,预设条件是组播物理地址后六位相同的为同一组播,组播1为33:33:ff:00:00:23,组播2为33:33:ff:00:00:24,目标组播物理地址为33:33:ff:00:00:23,所以目标组播物理地址对应的组播为组播1。[0131]s704,查询组播中与目标ipv6地址一致的目标地址。[0132]其中,目标地址是指组播中的组播物理地址对应的与目标ipv6地址一致的ipv6地址。[0133]具体地,服务器中的用户面网元向组播内的节点发送ns报文,当组播中节点的ipv6地址与目标ipv6地址一致时,该节点为目标节点,该节点的ipv6地址为目标地址,目标节点的物理地址为目标物理地址,目标节点会将依据目标物理地址生成相应的ra报文并返回。[0134]例如,目标ipv6地址2001:0000:0000:0000:0000:0000:0000:0023生成的目标组播物理地址为33:33:ff:00:00:23,对应组播中的ipv6地址有2001:0000:0000:0000:0000:0000:0000:0023,2001:0000:0000:0000:0000:0000:0100:0023,2001:0000:0000:0000:0000:0020:0000:0023,则目标地址为2001:0000:0000:0000:0000:0000:0000:0023。[0135]s708,获取目标地址对应的目标物理地址。[0136]具体地,服务器中的用户面网元可以接收目标节点的ra报文,获取ra报文中的目标物理地址。[0137]例如,目标地址为2001:0000:0000:0000:0000:0000:0000:0023时,对应的目标物理地址可以是intelcor b9:3c:c8(00:1b:21:b9:3c:c8)。[0138]本实施例中,通过依据目标组播物理地址确定对应的组播,查询组播中与目标ipv6地址一致的目标地址,获取目标地址对应的目标物理地址。实现了在相应的组播中高效获取对应的目标物理地址。较于传统方案中利用广播进行寻址的方式,大大提高了寻址的效率。[0139]应该理解的是,虽然如上的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。[0140]基于同样的发明构思,本技术实施例还提供了一种用于实现上述所涉及的ipv6数据包处理方法的ipv6数据包处理装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个ipv6数据包处理装置实施例中的具体限定可以参见上文中对于ipv6数据包处理方法的限定,在此不再赘述。[0141]在一个实施例中,如图8所示,提供了一种ipv6数据包处理装置,该装置应用于5g核心网中的基于dpdk的用户面网元,包括:接收模块802、确定模块804、查询模块806、生成与获取模块808和封装与转发模块810,其中:[0142]接收模块802,用于通过用户面网元的第一接口接收来自于用户设备的ipv6数据包;[0143]确定模块804,用于确定ipv6数据包中的目标ipv6地址。[0144]查询模块806,用于查询是否存储目标ipv6地址对应的目标物理地址。[0145]生成与获取模块808,用于若否,则基于目标ipv6地址生成目标组播物理地址,并依据目标组播物理地址获取目标物理地址。[0146]封装与转发模块810,用于依据目标物理地址对ipv6数据包进行重新封装,并通过用户面网元的第二接口对封装所得的ipv6数据包进行转发。[0147]在一个实施例中,生成与获取模块808还用于获取组播ipv6地址格式和组播物理地址格式;基于所述组播ipv6地址格式对所述目标ipv6地址进行截取,得到截取后的目标ipv6地址,基于截取后的所述目标ipv6地址对所述组播ipv6地址格式进行替换处理,得到目标组播ipv6地址;基于所述组播物理地址格式对所述目标组播ipv6地址进行截取,得到截取后的所述目标组播ipv6地址,基于截取后的所述目标组播ipv6地址对所述组播物理地址格式进行替换处理,得到目标组播物理地址。[0148]在一个实施例中,接收模块802还用于依据预设ipv6结构体确定ipv6数据包中的处理字段;基于处理字段对ipv6数据包解码处理,得到解码后的ipv6数据包;确定模块804还用于在解码后的ipv6数据包中确定目标ipv6地址;封装与转发模块810还用于依据目标物理地址对解码后的ipv6数据包进行重新封装,并通过用户面网元的第二接口对封装所得的ipv6数据包进行转发。[0149]在一个实施例中,封装与转发模块810还用于基于处理字段对封装后的ipv6数据包进行编码处理,得到编码后的ipv6数据包;通过用户面网元的第二接口对编码后的ipv6数据包进行转发。[0150]在一个实施例中,生成与获取模块808还用于依据目标组播物理地址确定对应的组播;查询组播中与目标ipv6地址一致的目标地址;获取目标地址对应的目标物理地址。[0151]在一个实施例中,查询模块806还用于若存储有目标ipv6地址对应的目标物理地址,则执行依据目标物理地址对ipv6数据包进行重新封装,并通过用户面网元的第二接口对封装所得的ipv6数据包进行转发的步骤。[0152]在一个实施例中,封装与转发模块810还用于将ipv6数据包中上一节点增添的ip地址和端口信息进行去除,得到预转发ipv6数据包;将预转发ipv6数据包中的目的物理地址替换成目标物理地址。[0153]上述实施例,通过用户面网元的第一接口接收来自于用户设备的ipv6数据包;确定ipv6数据包中的目标ipv6地址;当未存储目标ipv6地址对应的目标物理地址时,基于目标ipv6地址生成目标组播物理地址,并依据目标组播物理地址获取目标物理地址;依据目标物理地址对ipv6数据包进行重新封装,并通过用户面网元的第二接口对封装所得的ipv6数据包进行转发。解决了upf上无法实现基于dpdk对ipv6数据包高速转发的问题,满足了5g核心网在高速转发的场景下支持ipv6(internet protocol version 6,互联网协议第6版)协议栈的需求。[0154]上述ipv6数据包处理装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。[0155]在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器或终端,本实施例以计算机设备为服务器为例进行说明,其内部结构图可以如图9所示。该计算机设备包括处理器、存储器、输入/输出接口(input/output,简称i/o)和通信接口。其中,处理器、存储器和输入/输出接口通过系统总线连接,通信接口通过输入/输出接口连接到系统总线。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质和内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储ipv6数据包处理数据。该计算机设备的输入/输出接口用于处理器与外部设备之间交换信息。该计算机设备的通信接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种ipv6数据包处理方法。[0156]本领域技术人员可以理解,图9中示出的结构,仅仅是与本技术方案相关的部分结构的框图,并不构成对本技术方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。[0157]在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各实施例。[0158]在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述各实施例。[0159]在一个实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述各实施例。[0160]需要说明的是,本技术所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。[0161]本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本技术所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(read-only memory,rom)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(reram)、磁变存储器(magnetoresistive random access memory,mram)、铁电存储器(ferroelectric random access memory,fram)、相变存储器(phase change memory,pcm)、石墨烯存储器等。易失性存储器可包括随机存取存储器(random access memory,ram)或外部高速缓冲存储器等。作为说明而非局限,ram可以是多种形式,比如静态随机存取存储器(static random access memory,sram)或动态随机存取存储器(dynamic random access memory,dram)等。本技术所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本技术所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。[0162]以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。[0163]以上实施例仅表达了本技术的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本技术专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本技术构思的前提下,还可以做出若干变形和改进,这些都属于本技术的保护范围。因此,本技术的保护范围应以所附权利要求为准。
图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!
内容声明:本文中引用的各种信息及资料(包括但不限于文字、数据、图表及超链接等)均来源于该信息及资料的相关主体(包括但不限于公司、媒体、协会等机构)的官方网站或公开发表的信息。部分内容参考包括:(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供参考使用,不准确地方联系删除处理!本站为非盈利性质站点,发布内容不收取任何费用也不接任何广告!
免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理,本文部分文字与图片资源来自于网络,部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理!的,若有来源标注错误或侵犯了您的合法权益,请立即通知我们,情况属实,我们会第一时间予以删除,并同时向您表示歉意,谢谢!
IPv6数据包处理方法、装置、计算机设备和存储介质与流程
作者:admin
2022-08-31 10:33:22
896
关键词:
电子通信装置的制造及其应用技术
专利技术