采用机器学习以预测和动态调整静态配置参数的制作方法

文档序号:24642084发布日期:2021-04-13 13:32阅读:157来源:国知局
采用机器学习以预测和动态调整静态配置参数的制作方法

1.本公开涉及计算机网络,更具体地,涉及动态调整计算机网络中的网 络装置的静态配置参数。


背景技术:

2.计算机网络是互连装置的集合,例如,计算机。网络装置可以包括例 如载波级网络地址转换(cg-nat)装置、软件定义的广域网(sd-wan) 装置和流收集装置等。
3.网络装置可以根据一个或多个通信协议来交换数据。通信协议定义了 装置传送数据的格式和方式。示例协议包括传输控制协议(tcp)和互联 网协议(ip),其通过将数据分成称为分组的小块来促进数据通信。这些 分组通过网络从源装置单独路由到目的装置。目的装置从分组中提取数 据,并将数据组装成原始形式。将数据分成分组,使源装置能够仅重新发 送在传输过程中可能丢失的那些单独分组。协议定义了分组的格式和结 构,包括分组的报头和有效载荷部分。
4.周期性地,可能需要从一种通信协议转换到另一种通信协议。例如, 当网络中使用的当前通信协议升级到较新版本时,可能会出现这种情况。 作为一个示例,互联网当前基于称为互联网协议版本4(ipv4)的通信协 议。ipv4基于数据报(无连接)操作和全球重要的ip地址提供无处不在 的网络服务,以帮助路由。越来越明显的是,ipv4的某些元素不足以支持 互联网的发展。例如,ipv4利用32位地址空间。然而,互联网协议版本 6(ipv6)使用了大的128位地址空间。然而,新通信协议的开发、标准 化、实现、测试、调试和部署可能会花费大量的时间和精力,并且不能保 证会成功。
5.可以使用多种方法来试图提供从一种通信协议到另一种通信协议的 平稳过渡。已经提出的一种示例方法称为“双栈精简”,如在2011年8月 提交给a.durand等人的互联网工程任务组(ietf)rfc 6333的
ꢀ“
dual-stack lite broadband deployments following ipv4 exhaustion”中所 述。根据这种方法,位于订户驻地的住宅网关(本文也称为“客户驻地装 置”)充当将ipv4分组封装在ipv6分组内的隧道的入口和出口。这些 ipv4-over-ipv6隧道通常称为“软线”。住宅网关将ipv6分组转发到服务 提供商网络中的路由器,该路由器将ipv4分组从ipv6分组中解封装。路 由器作为地址族转换路由器(aftr)运行,对每个ipv4分组应用网络地 址转换(nat)规则,并将ipv4分组转发到互联网。在ds-lite架构中, 全球ipv4地址在aftr的订户之间共享,充当cg-nat装置。通过这种 方式,ds-lite使未修改的ipv4应用程序能够通过ipv6访问网络访问ipv4 互联网。
6.计算机网络还可以包括被实现为局域网(lan)的多个站点,这些站 点又可以在地理上广域分布并通过广域网(wan)互连。典型的站点(例 如,分支机构、数据中心、校园/公司办公室、服务网络和通过wan通信 的其他网络)可以有多种wan连接类型,包括多协议标签交换(mpls)、 互联网等。在这些传统网络中,基于mpls的连接通常包括性能保证或服 务级别协议(sla),以确保关键业务应用程序能够正常运行;互联网连 接为备份和负载平衡目的提供了替代链接。然而,随着互联网访问服务提 供越来越多的带宽,许多应用程序现
在可以合理地通过互联网链路进行路 由。
7.wan中的软件定义网络(sd-wan)是一种连接解决方案,其被实 现为传统wan访问之上的覆盖。sd-wan解决方案提供了利用mpls、 互联网和其他wan连接链路的能力。为了互连站点,并且在某些情况下 为了提供安全的站点到站点的连接,sd-wan通常包括基于覆盖隧道(有 时也称为sd-wan隧道)的虚拟覆盖网络,这些隧道通过wan传输流量。
8.分组网络中的装置(例如,路由器和交换机)通过网络将分组从源装 置转发到目的装置。目的装置从分组中提取数据,并将数据组装成原始形 式。
9.存在允许网络装置(例如,路由器和交换机)收集和报告流量统计的 各种协议。例如,网络装置部署在接收和/或发送流量的装置接口上收集流 量统计的采样机制。根据协议,网络装置可以周期性地将包含流量统计的 记录导出到称为流收集器的集中式装置。在许多网络环境中,收集器可以 经由从不同网络位置发送的业务流分组接收业务流信息。因此,用户或网 络管理员可以使用流收集器来分析整个网络业务量。
10.网络装置(例如,cg-nat、sd-wan和流收集器网络装置)通常可 以在在线或实时处理订户分组流之前进行提供。提供过程在网络装置内配 置静态参数,这些参数定义了网络装置在与订户分组流交互时的运行方 式。


技术实现要素:

11.通常,公开了用于动态调整网络装置上的静态配置参数的技术,例如, cg-nat、sd-wan和流收集器网络装置。机器学习可以用于通过在网络 装置运行时动态调整网络装置上的这些静态配置参数来提高网络性能,或 者换言之,网络装置在线并且实际上对订户分组流进行操作。例如,机器 学习模型可以识别监测的订户分组流中的模式,并且机器学习装置可以基 于监测的模式动态地改变参数,以提高网络的效率。
12.仅通过示例,cg-nat网络装置可以配置有静态参数,例如,端口块 大小、nat映射超时值、nat会话非活动超时值和每个订户的最大会话 值。机器学习装置可以在cg-nat网络装置运行时动态改变这些静态参 数,或者换言之,在线并对订户分组流进行操作。
13.仅通过示例,sd-wan网络装置可以配置有静态参数,例如,创建阈 值、删除阈值、应用体验质量(appqoe)服务级别协议(sla)参数、 appqoe探测间隔和appqoe探测计数。机器学习装置可以在sd-wan 网络装置运行时动态改变这些静态参数,或者换言之,在线并对订户分组 流进行操作。
14.仅通过示例,流收集器网络装置可以配置有静态参数,例如,流非活 动超时、非活动导出超时和活动导出超时。机器学习装置可以在流收集器 网络装置运行时动态改变这些静态参数,或者换言之,在线并对订户分组 流进行操作。
15.在一个示例中,一种系统包括:实时网络装置,其上配置有多个参数, 这些参数控制将服务应用于网络中由网络装置转发的订户分组流;以及机 器学习装置,其可操作以监测订户分组流并应用机器学习模型来识别监测 的订户分组流中的模式,并且可操作以基于所监测的订户分组流中的模式 来动态地改变多个参数中的至少一个。
16.在另一示例中,一种方法包括:由机器学习装置监测订户分组流;由 机器学习装置应用机器学习模型来识别所监测的订户分组流中的模式;并 且基于所监测的订户分组流中的模式,来动态地改变实时网络装置的多个 参数中的至少一个,其中,所述多个参数
配置在实时网络装置上,并且控 制将服务应用于订户分组流。
17.在附图和以下描述中阐述本公开的一个或多个示例方面的细节。从说 明书和附图以及权利要求书中,其他特征、目的和优点将是显而易见的。
附图说明
18.图1是示出根据本公开的技术的具有cg-nat网络装置的示例网络系 统的框图;
19.图2是示出可以实现本公开的技术的示例cg-nat网络装置的框图;
20.图3是示出可以实现本公开的技术的示例网络装置的框图;
21.图4是示出根据本公开的技术的具有流收集器网络装置的示例网络系 统的框图;
22.图5是示出根据本公开的技术的示例sd-wan网络系统的框图;
23.图6是示出可以实现本公开的技术的示例sd-wan网络装置的框图;
24.图7是示出根据本公开的技术的在实时网络装置上动态改变静态参数 的流程图;
25.图8是示出了根据本公开的技术的在cg-nat网络装置上动态改变静 态参数的流程图。
具体实施方式
26.图1是示出根据本公开中描述的技术的示例网络系统2的框图,该示 例网络系统2可以实现动态改变静态cg-nat网络装置参数。如图1所示, 网络系统2包括订户网络10、服务提供商网络12和公共网络14。在图1 的示例中,服务提供商网络12作为专用网络运行,该专用网络向具有为 该客户服务一个或多个订户装置(sd)20a-20n(统称为“订户装置20”) 的客户驻地设备(cpe)18的客户提供基于分组的网络访问。网络系统2 内的每个网络可以根据一个或多个网络层协议(即,osi模型的第三层) 来操作。如图1所示,网络系统2的不同部分根据不同的网络层协议操作。 例如,网段4和8根据jon postel等人在1981年9月的题为“internet protocol”的rfc 791中描述的互联网协议版本4(ipv4)操作。作为另一 示例,网段6根据s.deering等人在1998年12月的题为“internet protocol, version 6(ipv6)specification”的征求意见(rfc)2460中描述的互联 网协议版本6(ipv6)操作。虽然图1示出了特定的网络布局,但是许多 其他网络布局可以使用本公开的技术。
27.如图1所示,订户网络10和公共网络14根据ipv4发送和接收网络 消息。提供商网络12根据ipv6发送和接收网络消息。虽然被描述为实现 ipv6,但是提供商网络12也可以实现ipv4或者ipv4和ipv6的组合。类 似地,尽管被描述为实现ipv4,但是订户网络10和公共网络14也可以实 现ipv6或者ipv4和ipv6的组合。
28.订户网络10通常包括cpe 18和一个或多个订户装置20。cpe 18可 以是住宅网关,订户装置20通过该网关连接到提供商网络12,从而访问 公共网络14。cpe 18通常包括无线路由器或其他家庭网络装置,例如, 集线器、交换机、路由器、电缆调制解调器、数字订户线路(dsl)调制 解调器或提供访问或将订户装置20连接到公共网络14或其他广域网(wan)的任何其他装置。通常,订户装置20经由有线或无线网络协议, 例如,以太网或802.11g连接到cpe 18。订户装置20的示例包括个人计 算机、膝上型计算机、工作站、平板计算机、个人数字助理(pda)、无 线装置、网络就绪设备等。
29.提供商网络12可以表示由互联网服务提供商(isp)拥有和运营的专 用网络,以提
高对一个或多个订户装置20的网络访问。因此,提供商网 络12在本文可以称为服务提供商(sp)网络。提供商网络12可以连接到 一个或多个客户网络(例如,订户网络10)。虽然图1所示的示例网络系 统2包括一个提供商网络12,但是其他示例可以包括多个提供商网络12。
30.提供商网络12的地址族转换路由器(aftr)22提供到公共网络14 的连接。公共网络14可以包括一个或多个互连的公共网络中的任何一组, 例如,互联网。公共网络14可以包括其他传统的网络装置,例如,路由 器、媒体网关、交换机、集线器和网络加速器,以在订户装置20和网络 资源(例如,服务器20)之间传送数据。服务器20代表提供订户装置20 可访问的一个或多个网络资源的任何装置。例如,服务器20可以包括电 子邮件服务器、域控制器、网络服务器、打印服务器、打印机、网络复印 机、网关、智能交换机、集线器、路由器或其他网络访问点或装置。aftr 22可以包括第二层(l2)交换机、第三层(l3)路由器或有助于在网络 系统2内传输数据的其他类型的网络装置。在一些示例中,aftr 22还可 以执行桥接功能、防火墙功能、入侵检测功能、安全功能或其他网络功能。 此外,尽管示出并描述为提供l3服务,但是aftr 22可以是为网络堆栈 的其他层提供服务的任何网络元件。作为一个示例,aftr 22可以是集成 l2和l3服务的网络路由器,以便提供l2转发服务以及l3路由功能。如 图1的示例所示,aftr 22连接到提供商网络12和公共网络14,并在提 供商网络12和公共网络14之间交换数据。
31.cpe 18和aftr 22被配置为通过提供商网络12隧道传输分组,允许 服务提供商利用ipv6,同时支持ipv4客户和ipv4互联网连接。位于订户 驻地的cpe 18充当将ipv4分组封装在ipv6分组内的隧道17的入口和出 口。即,ipv6分组可以根据诸如双栈精简(ds-lite)等转换协议来配置, 并且可以封装ipv4分组。在这种情况下,ipv4-over-ipv6隧道17通常简 称为“ipv4-in-ipv6软线”或“软线”。根据图1的示例,cpe 18分配有 公共ipv6网络地址和公共ipv4地址,并且订户装置20分配有专用(例如, 不是全局唯一的)ipv4网络地址。
32.当实现ds-lite方法时,cpe 17和aftr 22配合,以执行隧道功能以 及网络地址转换功能。也就是说,aftr 22控制cpe 18,以在订户网络 10内本地提供受限的cg-nat,从而以对aftr 22来说确定性和无状态 的方式实现入站和出站分组的网络地址转换。
33.例如,cpe 18分配有ipv6(例如,2001:db8::1),用于经由隧道17 向aftr 22隧道传输流量。这可以由例如ipv6 dhcp服务器13来分配。 此时,cpe 18还分配有一个公共ipv4地址(例如,192.1.2.3),用于公共 网络13内。例如,ipv6 dhcp服务器13可以向cpe 18提供ipv4 dhcp 服务器15的地址,这又可以将ipv4公共地址分配给cpe 18。
34.aftr 22可以在开始运行之前提供配置参数,换言之,将其在线配置, 以对订户分组流进行操作。这些参数可以包括例如端口块大小、nat映射 超时值、nat会话非活动超时值和每个订户的最大会话数值。例如,由于 安全威胁,在cg-nat环境中记录每个会话非常重要。通过将端口分块而 不是单独分配给订户,cg-nat网络装置可以减少系统日志的生成。当与 单独分配块端口相比时,cg-nat网络装置可以将具有块端口分配的系统 日志减少与块大小成正比的因子。因此,端口块大小参数对网络的运行可 能很重要。
35.例如,端口块大小参数由isp的管理员在提供cg-nat网络装置(例 如,aftr 22)之前确定。通常基于在有限时间段内的不同时间分析订户 流量模式,来确定端口块大小参数。因此,端口块大小参数的确定取决于 有限的信息,并且随着网络的发展,该确定可能会变得过时。当参数(例 如,端口块大小参数)过时时,网络效率和网络装置效率可能会受到
负面 影响。
36.例如,如果有10,000个cg-nat端口,并且每个订户的端口块大小 为1000,则十个订户将分配有一个端口块。表1显示了订户未充分利用端 口的情况,其中,端口块大小的静态参数设置为1000。
[0037][0038]
表1
[0039]
从表1中可以看出,在这个示例中,端口块大小参数1000是非常低 效的。端口块大小参数1000在最初设置时可能是有效的,但在本例中不 再有效。
[0040]
如果新订户s11进入cg-nat节点,则有许多端口可分配给订户s11, 但是由于端口块大小的低效参数是1000,所以将不会服务于订户s11。
[0041]
过度利用端口块的另一示例如表2所示。
[0042]
[0043][0044]
表2
[0045]
在表2的示例中,由于端口块大小参数太低,每个订户都丢弃多个会 话。在提供cg-nat网络装置时,端口块大小参数可能是合适的,但在本 例中,这不再合适,因为每个用户的用户体验可能会受到影响。
[0046]
根据本公开的技术的方面,系统2包括机器学习装置30。机器学习装 置30可以是与aftr 22通信(例如,耦合)的物理上分离的计算装置。 或者,机器学习装置可以是aftr 22的一部分,或者以能够访问aftr 22 的方式连接到提供商网络12或公共网络14。在另一示例中,机器学习装 置30可以是nms 19的一部分或流收集器装置,未在图1中示出。机器 学习装置30可以监测可能受其他静态参数影响的订户分组流,并且应用 机器学习模型来识别监测的订户分组流中的模式,并且基于监测的订户分 组流中的模式动态地改变至少一个参数。
[0047]
在一个示例中,机器学习装置30可以改变nat映射超时值参数。nat 映射超时值定义了对应于该映射超时的会话之后,nat映射保持的时间。 如本文所使用的,nat映射超时值是指端点无关(eim)映射超时值或地 址池配对(应用)映射超时值。出于效率原因,存在nat映射超时值。 例如,如果新会话与映射匹配,则可以重用映射,而不必分配新资源,例 如,内存,这可以节省处理能力并改善延迟。
[0048]
当nat映射超时值是静态参数时,可能会影响网络效率。例如,aftr 22可能保持cg-nat资源,因为还没有达到nat映射超时值。以前使用 该nat映射的订户可能不会启动新的会话。在这种情况下,网络运行效 率不高,因为该资源可能会分配给另一订户。
[0049]
机器学习装置30可以通过在aftr 22运行期间来动态改变nat映射 超时值参数来提高网络效率。例如,机器学习装置30可以分析订户分组 流中的模式,例如,当映射处于超时状态时重用映射的任何新会话、重用 的总映射的百分比、特定映射移动到超时状态并且然后重用的次数、总映 射过期而未重用的百分比、重用映射的nat映射超时内的最大时间等。 例如,机器学习装置30可以应用机器学习模型来识别订户分组流中的模 式。机器学习装置30随后可以预测最佳或更有效的nat映射超时值,并 改变aftr 22中的nat映射超时值,以尝试提高提供商网络12的效率。 例如,如果nat映射超时值是180秒,并且机器学习装置30发现在120 秒后没有重用映射,则机器学习装置30可以将aftr 22中的nat映射超 时
值改变为120秒。类似地,机器学习装置30可以监测订户分组流中的 模式,并改变aftr 22中的其他参数,例如,nat会话非活动超时值、 每个订户的最大会话数等。例如,机器学习装置30可以生成改变的参数, 并且通过在aftr 22运行时(例如,仍然对订户分组流进行操作)用改 变的参数替换现有的配置参数,来动态地修改存储在aftr 22中的现有 配置参数。在另一示例中,机器学习装置30可以生成改变的参数,并将 改变的参数发送到aftr 22,并且aftr 22可以在aftr 22运行(例如, 仍然对订户分组流进行操作)时动态地修改存储在aftr 22中的现有配 置参数。在任一示例中,aftr 22随后可以基于改变的配置参数对订户分 组流进行操作。在一些示例中,改变的参数可以基于一天中的时间。例如, 机器学习装置可以为白天或夜晚或者高峰时间和非高峰时间生成不同的 nat映射超时值。
[0050]
图2是示出可以实现本公开的技术的示例aftr 122的框图。出于说 明的目的,aftr 122可以在图1的示例网络系统2的上下文中描述,并 且可以表示aftr 22。在这个示例中,aftr 122包括控制单元132和接 口卡(ifc)140a-140n(统称为“ifc 140”),其经由入站网络链路 141a-141n(统称为“入站链路141”)和出站网络链路143a-143n(统称 为“出站链路143”)发送和接收分组流或网络流量。aftr 122通常包括 机箱(在图2的示例中未示出),该机箱具有多个插槽,用于容纳一组卡, 包括ifc 140。每个卡可以插入机箱的相应插槽中,用于经由总线、背板 或其他电通信机制将卡可通信地耦合到控制单元132。ifc 140通常经由 多个接口端口(未示出)耦合到网络链路141,并且向控制单元132发送 和从控制单元132接收瞬时网络流量以及控制消息。
[0051]
控制单元132可以包括执行软件指令的一个或多个处理器,例如,用 于定义软件或计算机程序的软件指令,所述软件指令存储到计算机可读存 储介质,例如,存储装置(例如,磁盘驱动器或光驱)和/或存储器(例如, 闪存、随机存取存储器或ram)或任何其他类型的易失性或非易失性存 储器,所述存储器存储使可编程处理器执行本文描述的技术的指令。替代 地或另外,控制单元132可以包括专用硬件,例如,一个或多个集成电路、 一个或多个专用集成电路(asic)、一个或多个专用处理器(assp)、一 个或多个现场可编程门阵列(fpga)或专用硬件的一个或多个前述示例 的任意组合,用于执行本文描述的技术。
[0052]
控制单元132也可以分成至少三个逻辑或物理“平面”,以包括第一 控制或路由平面134、第二数据或转发平面136和第三服务平面138。即, 控制单元132可以在逻辑上(例如,作为在同一组硬件组件上执行的独立 软件实例)、物理上(例如,作为静态实现在硬件中的功能或动态执行软 件或计算机程序的独立物理专用硬件组件)或者逻辑和物理实现的某种组 合实现三个独立的功能,例如,路由、转发和服务功能。控制单元132也 可以包含管理组件60。在一些示例中,管理组件60可以包括配置管理守 护程序。
[0053]
高速交换机耦合控制平面134、服务平面28和ifc 140,以在元件之 间传送数据单元和控制消息。交换机可以包括内部交换结构或横杆、总线 或链路或者其组合。在2011年11月1日发布的题为“multi-chassis router with multiplexed optical interconnects”的美国专 利8,050,559中描述了用作转发平面以在路由器内的各个单元之间中继分 组的高速多级交换结构的示例。在一些实现中,控制平面134可以在逻辑 上实现服务平面138,因为服务平面138被设置为在控制平面134内执行 的虚拟服务平面。在这方面,当实现专用服务平面138时,nat模块152 可以在服务平面138内执行,或者当服务平面138在由控制平面134提供 的虚拟环境中作为虚拟服务平面138执行时,在控制平面134
内执行。
[0054]
控制单元132的控制平面134可以提供aftr 122的路由功能。在这 方面,控制平面134可以表示实现路由协议146的控制单元132的硬件或 硬件和软件的组合,通过路由协议146可以确定存储在路由信息库(rib) 44中的路由信息。路由信息可以包括定义网络拓扑的信息,例如,提供商 网络12。控制平面134的路由组件142可以解析由路由信息定义的拓扑, 以选择或确定通过提供商网络12的一条或多条路由。控制平面134随后 可以用这些路由更新数据平面136,其中,数据平面36将这些路由保持为 存储在转发信息库(fib)50中的转发信息。转发或数据平面136可以包 括转发组件48,其可以在控制单元132的硬件或硬件和软件的组合中实 现,控制单元132根据转发信息转发网络流量。服务平面138可以表示控 制单元132的硬件或硬件和软件的组合,控制单元132负责提供和管理一 个或多个服务,例如,nat服务。rib 144和fib 150均可以以一个或多 个表、数据库、链表、基数树或其他合适的数据结构的形式存储。
[0055]
服务平面138提供用于执行服务相关程序代码的操作环境,包括nat 模块152和icmp 153。例如,转发组件148可以在根据fib 150转发分组 之前将某些类型的分组引导至服务平面138,以进行处理。例如,fib 150 可以指定某些分组需要转发到对应于服务平面38的逻辑接口的“下一跳”。 例如,当从cpe 18接收到分组并根据ds-lite方法进行配置时,该分组被 结构化为ipv6隧道分组,并且包括被设置为cpe 18的ipv6地址的ipv6 源地址和被设置为aftr 22的ipv6地址的ipv6目的地址。这样,转发组 件148通过ipv6流量将ipv4转发到服务平面38,以供nat模块152处 理,该模块152又提供入口和出口操作以及本文描述的无状态、确定性的 nat操作。
[0056]
例如,当处理ipv6分组上的出站ipv4时,nat模块152访问每个订 户映射表127,并验证外部ipv6源地址是当前分配给cpe装置18的有效 地址。如果不是,则隧道模块162丢弃ipv6分组。否则,nat模块152 移除外部ipv6报头,以解封装内部ipv4分组,以供nat模块152进一步 处理。nat模块152随后验证内部ipv4源地址与映射表127中的条目匹 配。如果不是,则nat模块152丢弃该分组,并调用icmp 153发送回icmp
ꢀ“
管理禁止”消息。否则,如果内部ipv4源地址与条目匹配,则nat模 块152确认已经被cpe 18进行nat的内部ipv4分组符合由每个订户映 射表127为所使用的特定传输协议指定的端口限制。如果出站ipv4分组 包含违反给定cpe的端口限制的源端口号,则nat模块152丢弃该分组, 并调用icmp 153向分组的ipv6源地址发送回icmp“端口受限”消息。 即,nat模块152构造icmp“端口受限”消息,以利用违反端口限制的 ipv6分组的原始ipv6报头和有效载荷来设置字段92。
[0057]
类似地,nat模块152为去往cpe 22的入站ipv4分组提供入口功能。 例如,nat模块152验证从公共网络14接收的入站ipv4分组具有与映射 表127中的条目匹配的目的ipv4地址,并且具有落入受限端口范围内的 目的端口。nat模块152将任何入站ipv4分组丢弃在映射表127中的ipv4 地址和协议范围条目之外。
[0058]
如上所述,网络装置(例如,aftr 122)可以可选地包括机器学习 装置30(在图2中以虚线示出)。在一些示例中,机器学习装置30可以位 于数据平面136中,例如,位于单独的转发组件、分组处理器或分组转发 引擎中。在其他示例中,机器学习装置30可以位于控制平面134或服务 平面38中。机器学习装置30可以从例如在控制平面134、数据平面136 和/或服务平面38上执行的守护程序或其他软件进程(例如,路由协议守 护程序)收集与订户
然后aftr 22可以基于改变的端口块大小参数对订户分组流进行操作。 网络装置40可以包括用户接口37,使得用户能够与网络装置40进行交互。
[0062]
图4是示出根据本公开的技术的具有多个网络装置42a-42x(“网络 装置42”)的示例系统50的框图,其中,机器学习装置30可以动态地改 变与分组流导出相关联的参数。如图4所示,每个网络装置42对分组流 进行采样,生成分组流记录,并将分组流记录发送到流收集器47。非活动 导出超时参数和活动导出超时参数定义了网络装置42a-42x何时向流收 集器47发送分组流记录。网络装置42可以包括提供网络服务的专用计算 机、专用装置或虚拟机,例如,网络路由器、网关、交换机、防火墙、集 线器、服务器、vpn设备、安全网络装置、路由服务平台网络装置或向分 组流转发或以其他方式提供服务的其他网络装置。
[0063]
网络44可以表示任何类型的分组交换网络,例如,服务提供商网络、 客户网络、访问网络、局域网(lan)、广域网(wan)或其组合。此外, 网络44可以由一组互连的自治系统形成,每个自治系统表示具有能够基 于分组通信的各种网络资源的独立管理域。或者,网络44可以对应于单 个自治系统,该系统可以连接到或不连接到其他自治系统。在任何情况下, 网络44可以包括经由通信链路彼此耦合的各种网络装置42。
[0064]
例如,可以通过一组唯一的特征来识别网络44内的每个分组流,例 如,分组流45。在一个示例中,“分组流”(也称为“业务流(traffic flow)
”ꢀ
或“流”)可以由分组报头中使用的六个值或“六元组”来定义,即,用 于通过物理网络和通信协议路由分组的源ip地址、目的ip地址、源端口、 目的端口、协议和方向。与特定流条目匹配的一组一个或多个分组数据单 元(pdu)表示分组流。分组流可以使用pdu的任何参数进行广泛分类, 例如,源和目的数据链路(例如,mac)和网络(例如,ip)地址、虚拟 局域网(vlan)标签、传输层信息、多协议标签交换(mpls)或通用 mpls(gmpls)标签以及接收该流的网络装置的入口端口。例如,一个 流可以是在传输控制协议(tp)连接中传输的所有pdu、由特定的mac 地址或ip地址提供的所有pdu、具有相同vlan标签的所有pdu或者 在相同交换端口接收的所有pdu。术语“分组”在本文中用于总体上描述 网络装置之间按照基于分组的通信协议通信的数据单元。本公开的技术可 容易地应用于实现多种协议中的任一种的系统,例如,传输控制协议 (tcp)、用户数据报协议(udp)、互联网协议(ip)、异步传输模式、帧 中继等。因此,“分组”用于包含任何这样的数据单元,并且可以与术语
ꢀ“
小区”或在这样的协议中使用的其他类似术语互换,以描述在网络内的 资源之间通信的数据单元。
[0065]
网络装置42可以包括一个或多个业务流模块(图4中未示出),其累 积网络44内业务的流量统计。在一些示例中,业务流模块可以累积网络 上业务的流量统计。更具体地,网络装置42从网络44内的一个或多个链 路接收或捕捉分组(例如,样本分组),并计算指示链路上的分组流(例 如,分组流45)的流统计。当网络装置42接收采样分组时,网络装置内 的业务流模块更新计数器,并基于针对相应分组流接收的特定分组来计算 采样分组流的统计。例如,网络装置42内的业务流模块可以为每个采样 的分组流维护分组计数、字节计数、源ip地址、目的ip地址、下一跳ip 地址、输入接口信息、输出接口信息、发送的总八位字节、流开始时间、 流结束时间、源和目的端口号、tcp标志、ip服务类型、源as、源地址 前缀掩码位、目的地址前缀掩码位等。网络装置42可以对分组流45进行 采样,并将流记录49a-49x(“流记录49”)输出到流收集器47,以传送 由每个网络装置42编译的流统计。
[0066]
短语“业务流记录”在本文中用来描述具有特别包括业务流信息的有 效载荷的一
个或一组分组。每个网络装置42内的业务流模块可以提供内 部计费能力,用于保持网络装置42接收的所有分组的流统计。此外,分 组内的其他路由信息可以容易地用于定义保持流统计的分组流,例如,mpls标签、vpn标签、服务类别(cos)信息等。以这种方式,可以将 特定采样分组流的统计保持在有效流量分析所需的粒度级别。
[0067]
如上所述,网络装置42周期性地向流收集器47传送业务流记录49。 每个业务流记录49包括由相应网络装置累积的业务流信息,例如,分组 数、字节数、捕捉该流的第一分组的时间、捕捉该流的最近分组的时间、 输入接口、输出接口、源/目的网络掩码、源/目的自治系统(as)号等。
[0068]
流收集器47接收由网络装置42发送的业务流记录49,并基于接收到 的业务流记录来更新计费系统或其他数据库。即,流收集器47从网络装 置42接收业务流记录49,并将由业务流记录携带的业务流信息存储在数 据库或其他合适的数据结构中。此外,流收集器47或其他分析工具可以 分析接收的业务流记录49,以帮助系统管理员46(“管理员”46)支持网 络管理,例如,流量工程目的、网络规划、基于使用的定价和网络安全。 图3的网络装置40可以表示流收集器47或任何网络装置42。
[0069]
机器学习装置30可以耦合到流收集器47。例如,机器学习装置30 可以是其上执行虚拟化网络功能(vnf)的安全设备装置(例如,防火墙 装置)的一部分,其中,一个vnf包括机器学习应用或软件过程。可选 地,机器学习装置30可以耦合到网络装置42,或者以机器学习装置30 可以监测订户分组流的模式的方式耦合到网络44,并且可以改变网络装置 (例如,流收集器47和网络装置42)中的静态参数。在其他示例中,机 器学习装置30可以是流收集器47或任何网络装置42的一部分。
[0070]
流收集器装置(例如,流收集器47或网络装置42)可以配置有静态 参数,用于非活动导出超时和活动导出超时。非活动导出超时参数控制何 时将包含流相关数据的流记录导出到流收集器。例如,如果非活动导出超 时是60秒,则如果流在60秒内处于非活动状态,则该流超时,并且将流 记录导出到流收集器47。活动导出超时参数控制将有关活动流的流记录导 出到流收集器的时间间隔。例如,如果活动导出超时值为180秒,并且流 处于活动状态达540秒,则关于活动流的流记录将在180秒、360秒和540 秒时导出。流收集器对流记录进行解码,从而可以看到流经导出流记录的 装置的流量。
[0071]
机器学习装置30可以从流记录或其他方面分析订户分组流中的模式, 并且基于机器学习模型的应用,基于订户分组流中的模式来改变网络装置 42或流收集器47中的非活动导出超时参数和/或活动导出超时参数。例如, 如果历史上已经尝试了多个流活动导出超时和非活动导出超时值,则可以 将历史数据提供给机器学习装置30。下表3显示了历史数据的示例,超时 值以秒为单位。
[0072]
导出非活动超时导出活动超时cpu负载(%)306040601203090180206030209045301206040
[0073]
表3
[0074]
机器学习装置30可以应用knn算法来预测导出非活动超时或导出活 动超时的其他值的cpu负载。可以使用欧几里德距离公式
[0075]
欧几里德距离
[0076]
表4中示出了机器学习装置30可以基于欧几里德距离尝试预测180 秒的导出非活动超时值和180秒的导出活动超时值的cpu负载的示例。
[0077][0078][0079]
表4
[0080]
如下计算第1行:
[0081]
然后,数据点可以基于最接近或最近的邻居进行排序,如表5所示。
[0082][0083]
表5
[0084]
因此,基于排名为1的最接近或最近邻居,导出非活动超时为180秒 和导出活动超时为180秒的cpu负载大约为20%。数据集越大,预测可 能越好。
[0085]
现在提供使用线性回归机器学习算法的另一示例。简单线性回归是一 种回归分析,其中,自变量的数量为1,自变量(x)和因变量(y)之间 存在线性关系。基于给定的数据点,机器学习装置30可以确定对数据点 建模的线。该线可以由下面的线性方程建模。
[0086]
y=a_0+a_1*x
[0087]
线性回归算法试图找到a_0和a_1的最佳值。例如,使用表3中的值, y可以是导出活动超时或导出非活动超时,x是cpu负载。
[0088]
导出非活动超时=a_0+a_1*cpu负载
[0089]
导出活动超时=a_0=a_1*cpu负载
的供应和监测计算。每个站点还通过创建多个隧道与所有其他站点建立冗 余连接,隧道系数为k,通常为2到9。动态全网提供按需隧道,因此每 个站点不会连续加载到彼此站点的全套隧道。
[0097]
在图5中,站点56a-56c(“站点56”)经由链路和网络装置公共网络 54互连。即,每个站点56可以经由公共网络与站点56相互进行通信。在 一些情况下,站点56a-56c可以替代地或另外经由服务提供商网络55具 有连接。在一些示例中,可以以星型配置来配置站点56。
[0098]
在该示例中,站点56a是集线器,站点56b和56c是辐条。由于站 点56a-56c已经在公共网络54中建立,所以sdn控制器58可能已经计 算或者正在计算任何一对站点56a-56c之间的覆盖隧道的配置数据。sdn 控制器58将该配置数据存储在配置数据库59中。如果在未来的任何时刻, sdn控制器58确定已经满足某些策略(其可以由下面讨论的静态参数定 义),其中,在任何一对站点56a-56c之间应该创建或删除覆盖隧道,则 sdn控制器58可以检索对应于该对站点的配置参数,并将配置参数直接 推送到该对站点中的每个站点,以在其间创建或删除隧道。
[0099]
sd-wan网络装置(例如,sdn控制器58)可以配置有静态参数, 例如,创建阈值和删除阈值。创建阈值是定义何时在两个站点之间创建新 隧道的阈值。例如,如果两个站点之间的流量超过创建阈值,则sdn控 制器58可以动态地在两个站点之间创建新的隧道。删除阈值是定义何时 应删除两个站点之间的现有隧道的阈值。例如,当流量低于阈值时,sdn 控制器58可以动态删除两个站点之间的隧道。
[0100]
在一个示例中,创建阈值可以是50个封闭会话,删除阈值可以是20 个封闭会话。在该示例中,如果封闭会话的数量超过50,则sdn控制器 58可以创建新的站点到站点隧道,并且如果封闭会话的数量少于20,则 sdn控制器58可以删除现有的站点到站点隧道。
[0101]
机器学习装置30可以耦合到sd-wan网络装置,例如,sdn控制器 58。或者,机器学习装置30可以是sdn控制器58的一部分。在其他示 例中,机器学习装置30可以以如下方式耦合到服务提供商网络55或公共 网络54:机器学习装置可以监测sd-wan中的订户分组流的模式并改变 耦合到sd-wan的网络装置中的参数。机器学习装置30可以监测订户分 组流的模式,并基于订户分组流中的模式来改变创建阈值参数和删除阈值 参数。例如,机器学习装置可以在一对站点之间关闭会话,加载到集线器 (例如,56a)或中间互连装置(未示出)上。例如,如果达到创建阈值 并且两个站点(例如,站点56a和56b)上的负载较低,则机器学习装置30可以增加sdn控制器58上的创建阈值。这样,sdn控制器58可以避 免创建新的站点到站点隧道,并节省一些处理能力。在另一示例中,如果 达到删除阈值并且两个站点(例如,站点56a和56b)上的负载高,则机 器学习装置30可以降低sdn控制器58上的删除阈值,并且sdn控制器 58可以避免删除新的站点到站点隧道并节省一些处理能力。
[0102]
在其他示例中,sdn控制器58可以具有特定的appqoe sla参数。 机器学习装置30可以监测与那些appqoe sla参数相关联的订户分组 流,并基于所监测的订户分组流来改变那些appqoe sla参数,以试图 提高网络效率或sla依从性。
[0103]
在其他示例中,sdn控制器58可以具有appqoe探测间隔参数,例 如,活动探测间隔和探测计数。机器学习装置30可以监测与那些appqoe 探测间隔参数相关联的订户分组流,并基于监测的订户分组流来改变那些 appqoe探测间隔参数,以尝试提高网络效率。
[0104]
图6是示出根据本公开中描述的一种或多种技术的软件定义网络 (sdn)控制器68的示例实例的框图。sdn控制器68是网络的逻辑集中 式但在某些情况下是物理分布式控制器,其可以被配置为管理一个或多个 网络装置(例如,服务器、交换机和网关装置)的配置。图6的sdn控 制器68可以表示图5的sdn控制器58的示例实例。
[0105]
sdn控制器68包括处理电路75。处理电路75可以包括一个或多个 处理器,其被配置为实现功能和/或处理指令,以在sdn控制器68内执行。 例如,处理电路75可以包括例如微处理器、dsp、asic、fpga或等效 的离散或集成逻辑电路或者任何前述装置或电路的组合。sdn控制器68 也可以包括管理组件62。在一些示例中,管理组件62可以包括配置管理 守护程序。
[0106]
sdn控制器68呈现北行接口72,其与编排器、管理员或其他实体接 合,以使用高级服务配置数据模型(例如,服务数据模型74)安装配置状 态。更具体地,可以调用北行接口72,以修改配置状态78(“config.state 78”) 或提取描述服务数据模型74的sdn控制器68的操作状态80。北行接口 72可用于与编排系统(例如,openstack)集成;其他应用程序或载波的 运营支持系统(oss)/业务支持系统(bss)也可以或可替代地使用北行 接口72。北行接口72在某些情况下可以呈现restful应用编程接口(api)。
[0107]
服务数据库76在正式服务数据模型74中存储表示实例化服务的对 象。正式服务数据模型74是用于描述需要实现的服务的高级服务配置数 据模型;每个高级服务数据模型具有相关联的低级装置配置数据模型,例 如,技术数据模型90,其描述了需要如何实现这些服务。每个数据模型由 一组对象、其能力及其间的关系组成。
[0108]
转换组件86将服务数据库76中的服务对象从高级服务数据模型74 转换成技术数据模型90中相应的低级对象。转换组件86可以包括模式转 换器,该模式转换器将高级概念转换成可以由网络实现的低级对象。例如, 模式转换器为虚拟网络分配一个或多个路由实例对象。在这个意义上,转 换组件86作为编译器来操作,以将服务数据模型74转换成技术数据模型 90。即,转换组件86可以将服务数据模型74“映射”到技术数据模型90, 以描述如何实现高级服务数据模型中描述的服务。尽管高级服务数据模型 74描述了先前请求和实例化或者正在处理的服务,以在sdn控制器68 的控制下通过网段最终实例化,但是低级技术数据模型90描述了这些服 务如何在网络内实现或者将在网络内实现,如配置数据库92所示。
[0109]
配置数据库92可以包括例如描述至少部分地实现服务数据库76中的 服务的隧道、数据中心互连或流量工程标签交换路径的一个或多个对象。 技术数据模型90包括描述网络元件的相应配置(例如,路由实例和转发 策略)的配置状态94以及描述网络元件的相应操作特性(例如,负载、 可用带宽等)的操作状态96。
[0110]
换言之,高级服务数据模型74使用直接映射到提供给终端用户的服 务的对象,例如,虚拟网络(例如,虚拟覆盖网络)、连接策略(例如, 工作负载和端点(例如,vm或裸机服务器)之间的连接)、安全策略和sd-wan按需策略,以非常高的抽象级别描述在sdn控制器68控制下的 期望网络状态。另一方面,低级技术数据模型90使用映射到特定网络协 议结构(例如,路由实例、路由会话(例如,bgp会话)、路由、覆盖隧 道等)的对象,以非常低的抽象级别描述期望网络状态。
[0111]
南行接口100执行一个或多个南行协议102a-102n(统称为“南行协 议102”),利用
这些协议,sdn控制器68可以获得配置状态94和操作状 态96,并在sdn控制器68的控制下,将配置状态94和操作状态96注入 到网段中,其中,配置状态94和操作状态96存储可被南行协议102理解 并映射到南行协议102的结构的对象。例如,sdn控制器68可以包括到 元数据访问点(if-map)服务器的接口,该接口提供南行api,以将计算 的低级配置数据推送到实现控制平面的逻辑集中部分的控制单元/节点。以 这种方式,sdn控制器68可以使在sdn控制器68控制下的网络状态与 sdn控制器68经由北行接口72接收到的并由服务数据模型74表示的期 望网络状态相匹配。
[0112]
南行协议102可以包括用于路径和隧道供应、拓扑发现、流量监测等 的协议。例如,南行协议102可以包括mp-bgp或ip vpn,以监听网络 装置交换的路由信息。南行协议102还可以包括控制数据中心或服务提供 商网络或企业网络中的网络装置的协议,这种协议包括例如json或 json-rpc和/或netconf/yang。南行协议102还可以包括其他协议, 例如,路径计算元件(pce)通信协议(pcep)、具有流量工程扩展的开 放最短路径优先(ospf-te)、具有流量工程扩展的中间系统到中间系统 (isis-te)、bgp链路状态(bgp-ls)、到路由系统的接口(i2rs)协议、 网络元件的cli和snmp。
[0113]
隧道模块88也称为租户站点和服务管理(tssm)微服务,如果分别 满足创建和删除阈值,则具有触发在一对站点之间创建和删除按需vpn 隧道的最终权限。隧道模块88又在触发按需全网格创建之前与其他微服 务104交互。微服务104包括故障管理和性能管理(fmpm)微服务,该 微服务可以接收和处理创建和删除动态全网格通知并且监测新的顶部 (ott)链路。微服务104还可以包括ham微服务,其可以建模和创建 ott链路。微服务104还可以包括基于意图的策略和服务级别协议管理 (pslam)微服务,其可以根据配置的sd-wan策略计算新创建的ott 链路上所需的sd-wan策略配置。微服务104还包括资源管理(rm)微 服务,其可以激活vpn路由。
[0114]
传统上,一旦从fmpm微服务接收到创建或删除动态全网格通知, 隧道模块108可以在与上述微服务104交互时,计算需要在两个相关站点 上提交的完整配置,并且还更新sdn控制器68的内部状态。一旦隧道模 块88计算出该配置,该配置就推送到两个站点上,这将导致相应站点对 之间的全网格隧道创建。
[0115]
如上所述,网络装置(例如,sdn控制器68)可以包括机器学习装 置30(在图6中以虚线示出)。机器学习装置30可以从例如位于服务数据 模型74和/或技术数据模型90中的守护程序收集与订户分组流相关的数 据。在一些示例中,机器学习装置可以将改变的配置参数应用于例如配置 数据库64、服务数据库76和/或配置数据库92,从而在sdn控制器68 运行时改变现有的配置参数,例如,作为sd-wan装置的sd-wan编排 器主动操作。sdn控制器68然后可以基于改变的配置参数,作为sd-wan 编排器操作。例如,机器学习装置可以通过与sdn控制器68中负责配置 管理的守护程序(例如,管理组件61)通信来传送在sdn控制器68上提 交的改变的配置数据,以更新例如配置数据库64中存储的配置数据。例 如,在创建阈值参数是sdn控制器68上的50个封闭会话的情况下,机 器学习装置30可以基于机器学习模型的应用来确定50个封闭会话的创建 阈值参数是低效的,并且可以将例如70个封闭会话的改变的创建阈值参 数应用于例如配置数据库64。sdn控制器68然后可以基于70个封闭会 话的改变的创建阈值对订户分组流进行操作。
[0116]
图7是示出根据本公开的技术的流程图。机器学习装置30可以监测 订户分组流
(160)。机器学习装置可以通过从网络装置接收或获得与订户 分组流相关的数据或者通过直接监测订户分组流来监测订户分组流。机器 学习装置30可以应用机器学习模型来识别订户分组流中的模式(165)。 机器学习装置30然后可以基于监测的订户分组流中的模式来改变网络装 置上的参数,例如,aftr 22、任何网络装置42、流收集器47、sdn控 制器58或其他网络装置(170)。例如,机器学习装置30可以生成改变的 参数,并在网络装置运行(例如,仍然对订户分组流进行操作)时,将其 应用于网络装置。在另一示例中,机器学习装置30可以生成改变的参数, 并将其发送到网络装置,网络装置可以在网络装置运行(例如,仍然对订 户分组流进行操作)时,应用改变的参数。在一些示例中,机器学习装置 30然后可以继续监测订户分组流(160)。在其他示例中,机器学习装置 30或网络装置可以通知管理员参数已经改变以及参数如何被改变(172)。 在一些示例中,然后可以要求管理员批准改变的参数(175)。响应于接收 到指示批准改变的参数的数据(175的“是”分支),机器学习装置可以继 续监测订户分组流(160)。响应于接收到指示拒绝改变的参数的数据(175 的“否”分支),机器学习装置30或网络装置可以将参数反转回先前的参 数(180)。在一些示例中,可以对管理员设置预定的时间限制,以接受或 拒绝改变的参数,例如,30分钟。在一个示例中,如果时间段到期,则机 器学习装置30或网络装置自动接受改变的参数。在另一示例中,如果时 间段到期,则机器学习装置30或网络装置自动拒绝改变的参数,并且当 网络装置运行(例如,仍然对订户分组流进行操作)时,机器学习装置30 或网络装置自动将改变的参数反转为先前的参数。
[0117]
图8是示出根据本公开的技术的在cg-nat网络装置上动态改变静态 参数的流程图。来自订户的分组到达cg-nat网络装置(例如,aftr 22), 其中,已经配置静态端口块大小参数(200)。aftr 22确定是否已经为订 户分配了端口块(202)。响应于确定已经为订户分配了端口块,aftr 22 确定在分配的端口块中是否有任何空闲端口(204)。响应于确定在分配的 端口块中没有空闲端口,aftr 22丢弃会话(220)。响应于确定在分配的 端口块中有空闲端口,aftr 22从分配的端口块分配一个(或多个)端口 (208),aftr 22转换并转发来自订户的分组(212)。aftr 22还可以收 集关于订户的端口使用的数据(216)。该端口使用数据可以由aftr 22 提供给机器学习装置30,或者可以由机器学习装置30从aftr 22检索 (218)。在一些示例中,端口使用数据到机器学习装置30的传输可以以 规则的间隔执行。机器学习装置30可以分析端口使用数据,并基于收集 的端口使用数据预测最佳端口块大小。机器学习装置30可以基于端口使 用数据将端口块大小参数改变为例如预测的最佳端口块大小(222)。
[0118]
响应于确定订户没有分配端口块,aftr 22可以确定是否有可用的端 口块(206)。响应于确定没有可用的端口块,aftr 22可以放弃会话(220)。 响应于确定具有可用的端口块,aftr 22可以向订户分配端口块(210), 并转换和转发分组(212)。aftr 22可以收集订户的端口使用数据(216)。 机器学习装置30可以分析端口使用数据,并基于收集的端口使用数据预 测最佳端口块大小。机器学习装置30基于端口使用数据生成改变的端口 块大小参数,该参数可以是例如预测的最佳端口块大小或更有效的端口块 大小,并且在aftr 22运行(例如,仍然对订户业务流进行操作)时, 将改变的端口块大小参数应用于aftr 22(222)。或者,机器学习装置 30可以生成改变的端口块大小参数,并将其发送到aftr 22,并且aftr 22可以在运行(例如,仍然对订户业务流进行操作)时,将改变的端口块 大小参数
应用到其自己(aftr 22)。
[0119]
机器学习装置30可以类似地分析与端口块分配相关的其他cg-nat 参数,例如,每个专用订户的端口块数量或活动块超时,并在适当时改变。
[0120]
本公开的技术可以在多种装置或设备中实现,包括网络装置、集成电 路(ic)或一组ic(即芯片组)。已经描述了任何组件、模块或单元,以 强调功能方面,并且不一定需要由不同的硬件单元来实现。本文描述的技 术可以用硬件或硬件和软件和/或固件的来实现。被描述为模块、单元或组 件的各种特征可以一起在集成逻辑装置中实现,或者单独作为离散但可互 操作的逻辑装置或其他硬件装置实现。在一些情况下,各种特征可以实现 为集成电路装置,例如,集成电路芯片或芯片组。
[0121]
如果以软件实现,则这些技术可以至少部分地由包括指令的计算机可 读数据存储介质来实现,所述指令在处理器中执行时执行一种或多种上述 方法。计算机可读存储介质可以是物理结构,并且可以形成计算机程序产 品的一部分,该计算机程序产品可以包括包装材料。在这个意义上,计算 机可读介质可以是非暂时性的。计算机可读介质可以包括随机存取存储器 (ram),例如,同步动态随机存取存储器(sdram)、只读存储器(rom)、 非易失性随机存取存储器(nvram)、电可擦除可编程只读存储器 (eeprom)、闪存、磁或光数据存储介质等。
[0122]
代码或指令可以是由一个或多个处理器执行,例如,一个或多个数字 信号处理器(dsp)、通用微处理器、专用集成电路(asic)、现场可编程 门阵列(fpga)或其他等效的集成或离散逻辑电路或处理电路。因此, 本文使用的术语“处理器”可以指任何前述结构或任何其他适合于实现本 文描述的技术的结构。此外,在一些方面,可以在被配置为编码和解码的 或者包含在组合视频编解码器中的专用软件模块或硬件模块中提供本文 描述的功能。此外,可以在一个或多个电路或逻辑元件中完全实现这些技 术。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1