检测VLAN错误配置
文献发布时间:2023-06-19 12:07:15
技术领域
本公开总体上涉及计算机网络。具体地,公开了标识虚拟局域网(VLAN)的错误配置的实施例。
背景技术
VLAN通常用于分段和隔离计算机网络上的业务。每个VLAN创建环境,在该环境中,相同VLAN上的设备可以彼此交换消息,同时防止未在上述VLAN上配置的设备能够查看消息。以这种方式,VLAN通过防止未被授权通过VLAN进行通信的设备(用户)查看通过VLAN进行通信的设备(其他用户)的消息或身份来提供安全的通信环境。
附图说明
通过结合附图参考以下描述,可以更好地理解本文中的示例实施例,在附图中,相同的附图标记表示相同或功能相似的元素,在附图中:
图1示出了实现一个或多个公开的实施例的示例计算机网络;
图2示出了根据本公开的一些示例的示例机器学习模块;
图3示出了一个或多个公开的实施例中的模型的一个实施例的数据流;
图4示出了示例接入点(例如,等同于关于图1讨论的接入点中的任何一个或多个);
图5是用于确定AP VLAN是否被错误配置的过程的流程图;
图6是用于基于VLAN的多AP分类和由接入点分配给VLAN的网络通信的第二分类来确定VLAN是否被错误配置的过程的流程图;
图7示出了在一个或多个公开的实施例中实现的示例数据结构;以及
图8示出了可以在其上执行本文中讨论的任何一种或多种技术(例如,方法)的示例机器的框图。
具体实施方式
在一些实施例中,VLAN也可以用来将网络容量分配给网络业务的特定部分。例如,一些实施例将时间敏感通信(例如,视频)分段以在第一VLAN上操作,而将突发数据通信(例如,文件传输)分段以在第二VLAN上操作。经由该分段,这些实施例保护时间敏感业务免受第二VLAN上存在的业务突发的有害影响。如果这两种类型的业务共享单个LAN的网络容量,则突发业务可能会抑制时间敏感业务满足其传递时间限制。VLAN还可以有效地限制广播消息的范围。特定VLAN上的设备只能将广播消息发送给同一VLAN上的其他设备,因此限制了消息在网络上的分布范围。
接入点为无线设备提供了用于接入计算机网络的手段。在无线设备与另一远程设备之间交换的业务通常会通过与该无线设备相关联的接入点,并且传递给另一网络。例如,当无线设备与经由互联网可访问的另一设备通信时,与该无线设备相关联的AP将目的地为该另一设备的业务转发给网络。AP经由回程连接而连接到该另一网络,回程连接可以包括到回程网络组件(诸如交换机、路由器、或具有与另一网络的网络连接的其他设备)的有线连接。
支持通过多个VLAN进行通信的AP可以包括与多个回程设备的多个端口的多个有线连接,并且每个端口被分配给一个或多个VLAN。分配给不同回程设备的不同端口的VLAN通常不会重叠。换言之,回程设备上的单个端口是回程设备的被配置为传递特定VLAN的业务的唯一端口。
AP和回程设备都维持配置信息,该配置信息定义哪些端口支持哪些VLAN。为了使网络正常运行,这些配置必须匹配或以其他方式兼容。通过VLAN传输的业务被标记有VLAN的标识符。例如,VLAN标记的一种方法由802.1Q协议定义。如果回程设备的端口接收到为VLAN而标记的业务,并且该端口未被配置为传递该VLAN的业务,则回程设备将丢弃该业务,从而导致发起通信的无线设备(或AP)丢失连接。
当部署AP时,它们的配置信息有时可能不正确。例如,管理大量AP的很多企业客户将通用VLAN配置用于大量AP。这种配置有时会经由自动脚本来部署,该自动脚本会将通用配置推送给很多AP。这种通用配置可能适用于大部分AP部署,但是在特定情况下可能不合适。这可能会导致AP和与其连接的回程设备之间的错误配置。
当个体回程设备被升级或替换时,也会出现配置问题。例如,回程设备配置是在某些客户环境中手动配置的,其中回程设备配置中的人为错误会导致错误配置。例如,在某些情况下,技术人员可能会错误地在AP与回程设备之间附接物理连接。例如,在一些实施例中,AP的第一端口连接到回程设备的第二部分,而正确的配置会将AP的第一端口附接到回程设备的第三端口。
所公开的实施例提供了用于检测接入点与网络组件之间的错误配置的改进方法。在一些实施例中,通过企业中的每个VLAN传送的业务被分类为多个类别之一。每个VLAN的分类是基于由多个接入点在VLAN上传递的业务来获取的。在一些实施例中,这些多个接入点物理上位于公共客户位置。替代地,多个接入点可以包括位于不同客户站点的一些接入点。下表1中提供了由至少一个公开的实施例实现的这些类别的示例:
表1
表1示出了VLAN业务的特征通常本质上是连续的、间歇的或突发的、仅在特定客户站点(例如,站点特定VLAN)上、或者未经授权或未经批准。这些类别不一定是互斥的。例如,通过间歇性业务的VLAN也可以是站点特定的。在一些实施例中,VLAN业务的分类是通过机器学习算法来执行的。
为了对VLAN进行分类,各种实施例依赖于提供VLAN业务的部分表征的一个或多个特征参数。这些特征参数选自:关于有多少不同客户站点(和这些站点的VLAN标识符)在特定VLAN上经历业务的计数(例如,这指示VLAN是否特定于某些站点)、VLAN携带某些业务的时间百分比、VLAN在特定时间段内携带的业务量、或VLAN在特定时间段内携带的分组数。在各种实施例中,时间百分比特征使用预定时间段持续时间来确定。例如,为了确定百分比,确定在预定持续时间的时间段内是否通过了任何业务的布尔指示符。确定预定持续时间的后续时间段的附加布尔指示符。以这种方式确定多个布尔指示符。然后,确定多个布尔指示符的平均值。
至少在一些实施例中,将这些特征提供给机器学习模型以便表征VLAN。在一些实施例中,使用K均值无监督聚类算法来对每个VLAN进行分类。然而,在其他实施例中,可以使用其他无监督聚类。一旦基于由多个接入点传递的数据来对每个VLAN进行了分类,就可以使用这些类别来确定特定单个接入点处的VLAN业务是否具有与由VLAN的多个AP类别指示的简档相似的简档,或者该接入点处的业务对于所标识的VLAN是否是非典型的,如下面进一步讨论的。
当接入点经历特定VLAN的通信错误时,也会对接入点处的VLAN业务进行分类。这个单个第二AP分类用于确定单个AP针对VLAN所经历的业务是否是企业中的其他设备在该VLAN上经历的典型业务。这个确定可以通过将单个AP处的业务简档与通过多个AP而传递的业务而开发的业务简档进行比较来进行。在一些实施例中,来自单个AP的业务被包括在多AP分类中。
如果在单个AP处经历的业务的业务简档或类别与VLAN的类别的业务简档或类别(例如,基于整个企业的业务而确定的)匹配,则这倾向于指示AP与负责转发AP的VLAN业务的网络组件之间存在错误配置。如果AP的业务简档与VLAN的业务简档不匹配,则可能存在其他配置问题需要技术人员来解决。例如,AP本身可能被错误配置使得它正在通过VLAN路由错误的业务。
通常建立一种特定类型的VLAN以为未经授权的网络业务提供目的地。例如,当客户端或无线终端经由接入点在无线网络上发起通信时,客户端通常对照认证目录(例如,RADIUS、活动目录等)进行认证。在某些情况下,成功的认证过程标识来自客户端/无线终端的业务被分配给其的VLAN。这个分配存储在与客户端相关联的AP处。当AP从该特定客户端接收业务时,AP用所分配的VLAN来标记业务,并且在分配给VLAN的AP的端口上传送业务。为了正确操作,AP和连接到AP的网络组件上的端口必须被配置为支持上述VLAN。如果AP或端口未被配置为承载为上述VLAN而标记的业务,则无法将来自客户端的业务正确地发送到其目的地。
如果客户端未成功向无线网络认证,则AP阻止来自该客户端的消息。在一些实施例中,来自未经认证客户端的消息的阻止是通过将来自该客户端的消息转发给为所阻止或未经认证的客户端/无线终端而指定的预先分配的VLAN来实现的。这种类型的VLAN称为黑洞VLAN。在一些实施例中,黑洞VLAN被分配特别独特的VLAN标识符(例如,999)。在这些实施例中,黑洞VLAN的ID故意没有被配置为在任何网络组件端口上正确通信。这导致来自未经认证的客户端的消息被丢弃在网络组件处。
再次讨论当发现在AP处经历的业务与分配给该业务的VLAN之间的一致性(例如,分类是等效的)并且还标识接入点处的通信错误时,VLAN业务的多AP分类与单个AP处的VLAN业务的分类之间的比较的讨论,一些实施例自动将后端组件重新配置为在VLAN上转发AP提供的业务(例如,在某些实施例中,自动重新配置经由后端组件制造商提供的API来实现)。一些实施例可以例如经由诸如电子邮件、文本或其他消息传递技术等任何消息传递技术来生成警报。生成警报以包括以下中的一项或多项:经历错误的VLAN的标识、经历错误的AP的标识、错误本身的一个或多个指示(例如,连接失败、吞吐量不足等)、关于AP处的VLAN业务是否与站点上的VLAN业务一致的指示、以及所推荐的措施。所推荐的措施可以包括以下中的一项或多项:改变AP与网络组件之间的电缆配置、改变网络组件的VLAN配置。
图1示出了实现一个或多个公开的实施例的示例计算机网络。图1示出了四个接入点(AP)102a-d。两个接入点(102a-b)位于第一客户站点103a处。其他两个接入点(102c-d)位于第二客户站点103b处。第一客户站点103a和第二客户站点103b由同一实体控制,从而形成企业网络。每个接入点102a-d与网络组件104a-c通信。例如,接入点102a和接入点102b中的每个分别与网络组件104a和网络组件104b通信。接入点102c和接入点102d中的每个与网络组件104c通信。
每个AP 102a-d被配置为在被标识为VLAN VLAN1、VLAN2和VLAN3的三个VLAN上传送数据。图1示出了每个网络组件104a-c与诸如互联网等外部网络106通信。每个网络组件104a-c被配置为将由与任何接入点102a-d相关联的无线终端(未示出)发起的数据通信转发给经由外部网络106可访问的目的地设备。类似地,每个网络组件104a-c接收目的地为AP102a-d中的任何一个或与AP 102a-d之一相关联的无线终端(未示出)的数据通信。网络组件104a-c根据需要将这些数据转发给适当的AP 102a-d。每个网络组件104a-c也与网络管理节点108通信。注意,网络组件104a-c有时可以经由外部网络106可访问网络管理节点108。
网络管理节点108从每个AP 102a-d收集VLAN活动信息。例如,在一些实施例中,AP102a-d被配置为维持统计,该统计表征在它们所连接到的每个VLAN(例如,VLAN1、VLAN2或VLAN3中的任何一个或多个)上交换的网络业务。该统计可以包括例如VLAN的数据吞吐量(例如,MB/秒)、VLAN的分组吞吐量(例如,分组数/秒)、VLAN的业务一致性的度量(例如,在N个时段中检测到多少个活动时段)。在一些实施例中,这些度量在相应的AP处被确定并且被转发给网络管理节点108。在一些其他实施例中,网络管理节点108基于由AP提供的原始数据来确定这些度量。例如,在一些实施例中,AP提供总分组计数和总数据计数(入站和/或出站)中的一个或多个的周期性指示。如上所述,网络管理节点108然后根据该信息来确定数据吞吐量、分组吞吐量和VLAN业务一致性的指示。在各种实施例中,还计算VLAN的其他表征。例如,在一些实施例中,确定典型的错误率、等待时间或抖动。在一些实施例中,为每个VLAN确定每小时或其他基于时间的简档。例如,在一些实施例中,确定按小时的数据吞吐量。
在一些实施例中,由网络管理节点108为单个站点或多个站点或这两者确定上述指示,包括分组吞吐量、数据吞吐量和业务一致性中的一个或多个。然后,各个实施例使用这些指示来表征在网络内操作的每个VLAN。这些表征在本公开内被称为多AP分类或多AP表征,因为它们基于由至少两个接入点测量的VLAN业务活动。如上所述,在一些实施例中,VLAN的这些多AP分类是通过机器学习模型或通过其他聚类方法来确定的。
图2示出了根据本公开的一些示例的示例机器学习模块200。机器学习模块200利用训练模块210和预测模块220。训练模块210将历史信息230输入到特征确定模块250a中。历史信息230可以被标记。示例历史信息可以包括以上讨论的指示中的一个或多个指示,诸如站点指示、数据吞吐量的指示、分组吞吐量的指示和业务一致性的指示。在一些实施例中,这些指示被存储在通信统计的训练库中。训练库中包括的标签指示哪个VLAN(例如,VLAN ID)与指示相关联。
特征确定模块250a根据该历史信息230来确定一个或多个特征260。一般来说,特征260是一组信息输入,并且被确定为可以预测特定结果。在一些示例中,特征260可以是所有历史活动数据,但是在其他示例中,特征260可以是历史活动数据的子集。机器学习算法270基于特征260和标签来产生模型218。
在预测模块220中,当前信息290可以被输入到特征确定模块250b。在所公开的实施例中,当前信息290包括上面关于历史信息230描述的指示。但是,当前信息290为单个接入点处的VLAN活动提供这些指示。例如,如果单个接入点处的VLAN活动符合预定义标准,诸如检测到超过阈值的通信错误数或指示VLAN配置问题的其他条件的标准,则接入点处的VLAN活动被提供给预测模块220。
特征确定模块250b可以根据当前信息290来确定与根据历史信息230而确定的特征确定模块250a相同的特征集或不同的特征集。在一些示例中,特征确定模块250a和250b是相同的模块。特征确定模块250b产生特征向量215,特征向量215被输入到模型218中以生成响应得分295的可能性。训练模块210可以以离线方式操作以训练模型218。然而,预测模块220可以被设计为以在线方式操作。应当注意,模型218可以经由附加训练和/或用户反馈周期性地更新。
机器学习算法270可以选自很多不同的潜在的有监督或无监督机器学习算法。有监督学习算法的示例包括人工神经网络、贝叶斯网络、基于实例的学习、支持向量机、决策树(例如,迭代二分法3、C4.5、分类和回归树(CART)、卡方自动交互检测器(CHAID)等)、随机森林、线性分类器、二次分类器、k最近邻、线性回归、逻辑回归、隐马尔可夫模型、基于人工寿命的模型、模拟退火和/或病毒学。无监督学习算法的示例包括期望最大化算法、向量量化和信息瓶颈方法。无监督模型可以不具有训练模块210。在示例实施例中,使用回归模型,并且模型218是与特征260、215的向量中的每个特征的所获知的重要性相对应的系数的向量。在一些实施例中,为了计算得分,采用特征向量215与模型218的系数向量的点积。
图3示出了一个或多个公开的实施例中的模型的数据流。图3示出了模型218的一个实施例。模型218接收输入301并且生成输出321。输入301包括定义以下各项的数据:VLAN站点标识符302、VLAN标识符304、VLAN数据吞吐量的指示306(例如,在特定时间段内在VLAN上传递的数据)、分组吞吐量的指示(例如,分组数/时间)308和VLAN业务一致性的指示310。虽然图3示出了这些输入301直接流入模型218中,但是本领域技术人员将认识到,在一些实施例中,在被提供给模型218之前,输入301被预处理为特征,诸如上面关于图2讨论的特征向量260。
如上所述,在至少一些实施例中,基于一系列布尔指示来确定VLAN的业务一致性指示,其中每个布尔指示指示VLAN在相应时间段内是否通过了任何业务。(多个)时间段的长度可以根据实施例而变化。然后对这些布尔指示求平均以确定一致性指示。基于输入301,模型218生成概率向量320。概率向量320指示一系列概率,每个概率表示在VLAN上观察到的业务(由标识符304指示)为特定类型的可能性。图3示出了示例概率向量340。示例概率向量340包括值对。每对值中的第一值342标识特定VLAN(例如,经由诸如VLAN标识符304等VLAN标识符)。该对值中的第二值344指示经由输入301标识的VLAN为由对应的第一值342指示的类型的概率。
当训练模型218时,指示与其他输入值302、306、308和310相关联的VLAN的VLAN标识符304被认为是其他输入302、306、308和310的标签。当采用模型218对未知网络活动进行分类(例如,图2的当前信息290)时,VLAN标识符304被模型218仅视为建议性指示,但对于经由输入301提供的业务信息不是权威性的。因此,概率向量320中包括的概率不一定指示最高概率VLAN(例如,在向量320中)是由VLAN标识符304指示的VLAN。如果由VLAN标识符304指示的VLAN不是由概率向量320指示的最高概率VLAN,则这可以是关于由VLAN标识符304指示的VLAN被错误配置的指示。
还示出了模型218,模型218提供VLAN站点列表322作为输出。示例VLAN站点列表在图3中示出为350。VLAN站点列表350中的每个条目包括VLAN标识符352和支持VLAN的站点列表354。VLAN站点列表350可以在至少一些实施例中被利用来确定特定VLAN是否与特定站点兼容,如下面进一步讨论的。一些实施例不支持明确的VLAN站点列表,诸如示例350。在这些实施例中,VLAN站点兼容性反映在概率向量320中。在一个示例中,模型218的训练数据指示特定VLAN与第一组企业站点兼容或在第一组企业站点上是活动的。然后,向模型218提供一组输入,该输入指示第一组企业站点中未包括的不同站点处的特定VLAN上的活动。给定训练数据,模型218至少部分基于生成VLAN活动的站点(例如,标识符304)与训练数据之间的不匹配来生成指示输入集合与特定VLAN一致的概率相对较低的输出。
图4示出了示例接入点400(例如,等同于上面关于图1讨论的接入点102a-d中的任何一个或多个)。接入点400包括有线接口430、无线接口436、442、处理器406(例如,CPU)、存储器412、以及模块的部件(assembly)408(例如,硬件组件的部件,例如电路的部件),这些经由总线409耦合在一起,各种元件可以通过总线409交换数据和信息。有线接口430包括接收器432和发射器434。有线接口430将接入点400耦合到图1的网络和/或互联网106。第一无线接口436可以支持Wi-Fi接口,例如,IEEE 802.11接口,并且包括耦合到接收天线439的接收器438和耦合到发射天线441的发射器440,接入点可以经由该接收天线439从通信设备(例如,无线终端)接收无线信号,接入点可以经由该发射天线441向通信设备(例如,无线终端)发射无线信号。第二无线接口442可以支持
存储器412包括例程414和数据/信息416。例程414包括模块的部件418(例如,软件模块的部件)和应用程序编程接口(API)420。在一些实施例中,数据/信息416包括:配置信息422、所捕获的业务统计424、和用于标记来自与AP相关联的客户端的消息的所支持的VLAN的动态列表426。
图5是用于确定接入点处的VLAN是否被错误配置的过程500的流程图。在一些实施例中,下面关于图5讨论的功能或操作中的一个或多个可以由硬件处理电路(例如,下面讨论的802或上面讨论的406)执行。例如,在一些实施例中,存储在一个或多个电子存储器(例如,下面讨论的804和/或806和上面讨论的412)中的指令(例如,下面讨论的824和/或上面讨论的414)将硬件处理电路配置为执行下面关于图5讨论的一个或多个操作。在一些实施例中,下面关于图5讨论的过程500由上面关于图1讨论的网络管理节点108来执行。
在操作505处,过程500开始。在操作510中,监测多个唯一标识的VLAN上的网络通信。例如,如上面关于图1讨论的,所公开的实施例监测在多个或多个不同的VLAN上流动的业务。如上面关于图1讨论的,一些实施例跨多个部署站点(诸如多个客户物理位置)部署公共VLAN标识符。在一个示例中,客户在西雅图和圣地亚哥办事处都维持被标识为VLAN 100的VLAN。VLAN经由唯一标识符(例如,888)或唯一名称(VLAN 100)来标识。跨客户部署的多个站点在通常标识的VLAN上流动的业务被分组,否则该业务的关联被保留。例如,操作510中的监测将业务的指示存储在数据存储器中。在一些实施例中,维持和/或获取在每个VLAN上发生的网络通信的通信统计。通信统计可以包括例如平均和/或媒体等待时间、数据吞吐量指示、抖动、业务类型、周期性、网络业务一致性或其他统计。作为所存储的指示和/或通信统计的一部分,还存储业务在其上流动的VLAN的标识符。这提供了从通常标识或标记的VLAN获取的业务或业务统计的稍后恢复。
在操作520中,对在多个VLAN中的每个VLAN上流动的业务进行分类,从而导致对应的多个VLAN分类。如上所述,一些实施例利用机器学习模型来表征在通常标识的VLAN上流动的业务。因此,所收集的通信统计和/或在所标识的VLAN上流动的业务的指示被提供给机器学习模型。可以从多个站点监测在通常标识的VLAN上流动的业务。如上面关于图3讨论的,在一些实施例中,基于每个VLAN的业务流而生成的特征作为输入(例如,301)被提供给机器学习模型。在这些实施例中,在操作520中生成的特征包括以下中的一项或多项:生成VLAN业务的站点的指示、分配给VLAN的标识符、VLAN的数据吞吐量的指示、VLAN的分组吞吐量的指示、以及VLAN上的业务一致性的指示。在操作520中对多个VLAN的分类向多个VLAN中的第一VLAN分配第一类别。操作520的分类被称为多AP分类,因为操作520中的每个VLAN的分类考虑由至少两个不同接入点提供的关于特定VLAN的业务信息。这些至少两个不同的接入点可以位于单个客户站点(例如,AP 102a-b)或不同的客户站点(例如,AP 102a和102c或102d)处。
在操作530中,标识第二网络通信中的通信错误。通信错误在(多个VLAN中的)第一VLAN上发生。在尝试在第一VLAN上进行通信的接入点处检测到通信错误。AP配置指示第二网络通信适用于第一VLAN。在位于特定站点的特定接入点处检测到通信错误。在一些实施例中,操作530基于在特定接入点处接收的业务来生成如上所述的特征。因此,例如,在各种实施例中,操作530生成以下中的一项或多项:接入点的站点位置的指示、经历通信错误的VLAN的标识符的指示、经历通信错误的VLAN的数据吞吐量、经历通信错误的VLAN处的分组吞吐量的指示、或经历通信错误的VLAN的业务一致性的指示。
在操作540中,对为第一VLAN而指示的第二通信进行分类。在一些实施例中,使用机器学习模型来对第二数据通信进行分类(例如,如上面关于图3讨论的,向模型218提供输入301)。在某些方面,使用其他方法(诸如一个或多个聚类方法)对第一VLAN进行分类。
在操作550中,执行第一类别与第二类别之间的比较。进行比较以确定第一类别和第二类别是否等同。例如,在一些实施例中,如果第一类别等同于第二类别,则确定第一VLAN在第一AP处被错误配置。在一些实施例中,如果第一类别和第二类别匹配,则分配给第一VLAN的业务与例如在多个其他接入点处观察到的第一VLAN的业务简档匹配。例如,第一VLAN的第一分类基于在多个AP和/或多个客户站点处发生的业务,如上面关于图1所示的示例部署而讨论的。由于针对第一VLAN而经历的业务通常与整个企业或分类域中第一VLAN上的业务一致,因此第一AP很可能已经被正确配置。但是,在某些情况下,第一AP正在接收未针对第一AP的站点而供应的VLAN的业务。在这种情况下,第一AP被“过度供应”,因为它试图在不适合该VLAN的站点处通过VLAN发送数据。否则,如果第一类别和第二类别匹配,并且第一AP的站点适合于第一VLAN,则一些实施例得出结论:通信错误是由诸如附接到第一AP的交换机或路由器等网络组件的错误配置引起的。例如,虽然第一AP被配置为传递第一VLAN的业务,但是网络组件的配置却不同。在另一种情况下,分组错误可能是适当的。例如,一些实施例将特定VLAN维持为未经授权在企业网络上进行传输的网络业务的目的地。
在操作560中,基于操作550的比较来生成输出。例如,如果检测到错误配置,则经由输出来减轻检测到的错误配置。例如,在一些实施例中,诸如交换机等网络组件以编程方式被重新配置以解决检测到的错误配置。例如,某些交换机提供提供编程重新配置的应用程序编程接口。在一些实施例中,减轻错误配置包括生成标识可疑错误配置的警报或报告。警报或报告将传输给收件人的分发列表,使得手动干预可以帮助解决问题。
第一类别与第二类别之间的不匹配提供一些其他情况的指示。例如,在这种情况下,第一AP可能被错误配置为改为在第一VLAN上路由适合于第二VLAN的业务。
过程500在操作570处结束。
图6是用于基于VLAN的多AP分类和由接入点分配给VLAN的网络通信的第二分类来确定VLAN是否被错误配置的过程650的流程图。在一些实施例中,下面关于图6讨论的功能或操作中的一个或多个由硬件处理电路(例如,下面讨论的802或上面讨论的406)来执行。例如,在一些实施例中,一个或多个硬件存储器(例如,下面讨论的804和/或806和/或上面讨论的412)存储将硬件处理电路配置为执行下面关于图6讨论的操作或功能的指令(例如,上面讨论的824和/或414)。在一些实施例中,下面关于图6讨论的过程650由上面关于图1讨论的网络管理节点108来执行。
决策操作602确定第一类别和第二类别是否匹配。第一类别指示跨多个接入点(在一些实施例中可能包括多个客户站点)的VLAN(例如,具有VLAN ID)的业务的分类。第二类别指示在特定接入点处的VLAN的业务(例如,具有VLAN ID)的分类。如果类别不匹配,则过程650从决策操作602移动到操作604,该操作604确定AP处的配置可能是造成通信错误的原因。结果,在一些实施例中,生成指示可能的AP错误配置的警报或其他输出。在一些实施例中,警报指示经历通信错误的AP的标识(例如,站地址、建筑物位置、楼层、GPS坐标、序列号、标签标识或其他标识信息中的一个或多个)。在一些实施例中,警报还指示经历错误的VLAN的标识符、经历分类错误的VLAN的分类(例如,指示在VLAN上经历的业务的类型)、或与AP经历的业务匹配的其他VLAN的VLAN ID。
如果类别确实匹配,则过程650从判定操作602移动到判定操作606。判定操作606确定在指示的VLAN上是否可接受分组错误。例如,如上所述,某些组织指定一个或多个VLAN用于传输未经认证或未经授权的业务。这些VLAN有时称为“黑洞”VLAN。因此,如果类别匹配并且VLAN被指定为容忍分组错误,则过程650从判定操作606移动到操作608,在操作608中,不采取任何动作。操作608指示通信错误是由于将未经授权的业务转发给黑洞VLAN而引起的。在这种配置下会出现通信错误。
如果VLAN不能容忍分组错误,则过程650从判定操作606移动到判定操作610。判定操作610确定经历分组错误的AP的站点是否与所指示的VLAN兼容或一致。例如,某些多站点组织仅在多个站点中的一部分站点处支持特别标识的VLAN。尽管进行了这种配置,但是部署在不支持VLAN的站点处的AP仍然可以被配置为通过站点特定VLAN来路由业务。因此,这种情况下的AP配置与站点的VLAN配置不一致。有时,这是由于共享AP配置被推送到不支持特定VLAN的站点处的AP而引起的。因此,如果站点与所确定的VLAN不兼容,则过程650从决策操作610进行到操作612,该操作612确定AP被过度供应。否则,过程650从决策操作610移动到操作614。操作614确定网络组件可能被错误配置。在某些情况下,由于AP处的业务与跨多个AP的VLAN简档一致,因此该AP可能被正确配置,并且分组错误可能是由于网络组件无法正确转发VLAN业务而导致的。这可能是由于交换机或路由器上的端口未正确连接到AP或者端口配置不当导致无法转发VLAN业务而导致的。在一些实施例中,操作614以编程方式重新配置网络组件以纠正错误配置。例如,如果网络组件未被配置为转发VLAN的业务,则操作614将网络组件重新配置为传递VLAN业务。在一些实施例中,重新配置是特定于端口的。例如,在一些实施例中,AP用来传递VLAN业务的端口号被用来在网络组件上重新配置编号相等的端口。在一些实施例中,操作614查阅定义从AP端口号到网络组件端口号的映射的标准配置数据结构。因此,在这些实施例中,操作614确定AP用于VLAN的端口号,并且查阅该映射以确定由网络组件使用的第二端口号。然后,在这些实施例中,操作614将网络组件上的第二端口号重新配置为传递VLAN业务。
图7示出了在一个或多个公开的实施例中实现的示例数据结构。图7示出了通信统计表701和端口配置表721。通信统计表701包括VLAN标识符字段702、站点标识符字段704、数据吞吐量字段706、分组吞吐量字段708、业务一致性字段710和AP ID字段712。在一些实施例中,使用通信统计表701中的条目来为机器学习模型(例如,218)生成一个或多个特征。在一些实施例中,指示通信统计表701的字段的消息从接入点(例如,AP 102a-d中的任何一个或多个)传递到网络管理节点108。然后,网络管理节点108基于所接收的数据来对VLAN活动进行分类。
VLAN标识符字段702唯一地标识VLAN。在一些实施例中,VLAN ID用于在不同客户站点处的不同物理VLAN之间形成关联。在这些实施例中,当确定VLAN的多AP分类时,使用相同VLAN标识符的不同站点处的VLAN被分类为单个VLAN。站点标识符字段704标识客户站点,从该客户站点得出通信统计表701的特定“行”中包括的数据。站点标识符字段704用于区分不同站点处的VLAN活动。例如,某些VLAN只能在由特定企业使用的所有站点的子集处操作。通过跟踪站点特定VLAN的使用情况,所公开的实施例可以更好地确定VLAN是否在驻留在特定站点处的特定AP处被错误地表征。数据吞吐量字段706指示由站点标识符字段704指示的站点处的所指示的VLAN(由VLAN标识符字段702指示)处的数据吞吐量。分组吞吐量字段708指示站点(由站点标识符字段704指示)处的VLAN(由VLAN标识符字段702指示)上的分组吞吐量。业务一致性字段710提供站点(由站点标识符字段704指示)处的VLAN(由VLAN标识符字段702指示)上的业务一致性的指示。AP ID字段712标识在通信统计表701的特定“行”中生成通信统计的接入点。
在一些实施例中,端口配置表721由接入点(例如,AP 102a-d中的任何一个)或网络组件(例如,104a-c中的任何一个或多个)中的一个或多个来实现。端口配置表721包括端口标识字段722和VLAN标识符字段724。端口标识字段722标识设备上的特定端口。例如,在至少一些实施例中,任何接入点102a-d和/或网络组件104a-c包括多个硬件端口。因此,端口标识字段722用于标识实现端口配置表721的设备上的多个硬件端口中的特定硬件端口。VLAN标识符字段724指示由字段722标识的端口上允许的VLAN。在一些实施例中,当单个端口被配置为传递多个VLAN的业务时,端口配置表721可以包括单个端口的多个条目。至少在某些实施例中,如果未针对设备中的特定端口而指示VLAN,则当在端口上接收到该VLAN的业务时,不转发该业务。
图8示出了可以在其上执行本文中讨论的任何一种或多种技术(例如,方法)的示例机器800的框图。机器800(例如,计算机系统)可以包括硬件处理器802(例如,中央处理单元(CPU)、图形处理单元(GPU)、硬件处理器核或其任何组合)、主存储器804和静态存储器806,其中一些或全部可以经由互连链路808(例如,总线)彼此通信。
主存储器804的具体示例包括随机存取存储器(RAM)和半导体存储器设备,在一些实施例中,其可以包括诸如寄存器等半导体中的存储位置。静态存储器806的具体示例包括非易失性存储器,诸如半导体存储器设备(例如,电可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM))和闪存设备;磁盘,诸如内部硬盘和可移动磁盘;磁光盘;RAM;以及CD-ROM和DVD-ROM磁盘。
机器800还可以包括显示设备810、输入设备812(例如,键盘)和用户接口(UI)导航设备814(例如,鼠标)。在一个示例中,显示设备810、输入设备812和UI导航设备814可以是触摸屏显示器。机器800还可以包括大容量存储设备816(例如,驱动单元)、信号生成设备818(例如,扬声器)、网络接口设备820和一个或多个传感器821,诸如全球定位系统(GPS)传感器、罗盘、加速度计或其他传感器。机器800可以包括输出控制器828,诸如串行(例如,通用串行总线(USB)、并行或其他有线或无线(例如,红外(IR)、近场通信(NFC)等)连接以与一个或多个外围设备(例如,打印机、读卡器等)通信或者控制一个或多个外围设备。在一些实施例中,硬件处理器802和/或指令824可以包括处理电路和/或收发器电路。
大容量存储设备816可以包括机器可读介质822,该机器可读介质822上存储有由本文中描述的任何一种或多种技术或功能体现或利用的一组或多组数据结构或指令824(例如,软件)。指令824在由机器800执行期间还可以完全或至少部分驻留在主存储器804内,在静态存储器806内或在硬件处理器802内。在一个示例中,硬件处理器802、主存储器804、静态存储器806或大容量存储设备816中的一个或任何组合可以构成机器可读介质。
机器可读介质的具体示例可以包括:非易失性存储器,诸如半导体存储器设备(例如,EPROM或EEPROM)和闪存设备;磁盘,诸如内部硬盘和可移动磁盘;磁光盘;RAM;以及CD-ROM和DVD-ROM磁盘。
虽然机器可读介质822被示出为单个介质,但是术语“机器可读介质”可以包括被配置为存储指令824的单个介质或多个介质(例如,集中式或分布式数据库和/或相关联的高速缓存和服务器)。
机器800的装置可以是以下中的一种或多种:硬件处理器802(例如,中央处理单元(CPU)、图形处理单元(GPU)、硬件处理器核或其任何组合)、主存储器804和静态存储器806、一个或多个传感器821、网络接口设备820、一个或多个天线860、显示设备810、输入设备812、UI导航设备814、大容量存储设备816、指令824、信号生成设备818和输出控制器828。该装置可以被配置为执行本文中公开的一种或多种方法和/或操作。该装置可以意在作为机器800的组件以执行本文中公开的一种或多种方法和/或操作,和/或执行本文中公开的一种或多种方法和/或操作的一部分。在一些实施例中,该装置可以包括用于接收电力的引脚或其他装置。在一些实施例中,该装置可以包括功率调节硬件。
术语“机器可读介质”可以包括能够存储、编码或携带由机器800执行的指令并且引起机器800执行本公开的任何一种或多种技术或者能够存储、编码或携带由这样的指令使用或与之相关联的数据结构的任何介质。非限制性机器可读介质示例可以包括固态存储器以及光学和磁性介质。机器可读介质的具体示例可以包括:非易失性存储器,诸如半导体存储器设备(例如,电可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM))和闪存设备;磁盘,诸如内部硬盘和可移动磁盘;磁光盘;随机存取存储器(RAM);以及CD-ROM和DVD-ROM磁盘。在一些示例中,机器可读介质可以包括非暂态机器可读介质。在一些示例中,机器可读介质可以包括不是瞬时传播信号的机器可读介质。
指令824还可以使用多种传输协议(例如,帧中继、网际协议(IP)、传输控制协议(TCP)、用户数据报协议(UDP)、超文本传输协议(HTTP)等)中的任何一种经由网络接口设备820使用传输介质通过通信网络826来发射或接收。示例通信网络可以包括局域网(LAN)、广域网(WAN)、分组数据网络(例如,互联网)、移动电话网络(例如,蜂窝网络)、普通老式电话(POTS)网络和无线数据网络(例如,被称为
在一个示例中,网络接口设备820可以包括一个或多个物理插孔(例如,以太网、同轴或电话插孔)或一个或多个天线以连接到通信网络826。在一个示例中,网络接口设备820可以包括一个或多个天线860以使用单输入多输出(SIMO)、多输入多输出(MIMO)或多输入单输出(MISO)技术中的至少一种进行无线通信。在一些示例中,网络接口设备820可以使用多用户MIMO技术来进行无线通信。术语“传输介质”应当被认为包括能够存储、编码或携带用于由机器800执行的指令的任何无形介质,并且包括数字或模拟通信信号或其他无形介质以促进这种软件的通信。
如本文中所述,示例可以包括逻辑多个组件、模块或机制或者可以在其上操作。模块是能够执行指定操作的有形实体(例如,硬件),并且可以以某种方式被配置或布置。在一个示例中,电路可以以指定方式(例如,内部地或关于诸如其他电路等外部实体)布置为模块。在一个示例中,一个或多个计算机系统(例如,独立的客户端或服务器计算机系统)或一个或多个硬件处理器的全部或部分可以由固件或软件(例如,指令、应用部分或应用)配置为执行指定操作的模块。在一个示例中,软件可以驻留在机器可读介质上。在一个示例中,软件在由模块的基础硬件执行时引起硬件执行指定操作。
示例1是一种方法,包括:从多个接入点收集在多个唯一标识的VLAN上发生的网络通信的通信统计;基于所述通信统计来对所述VLAN中的每个VLAN进行分类,所述分类向所述多个唯一标识的VLAN中的第一VLAN分配第一类别;在所述多个接入点中的第一AP处检测所述第一VLAN上的第二网络通信中的错误,所述第一AP被配置为将所述第一VLAN的业务转发给网络组件上的端口;确定所述第二网络通信的第二类别;基于所述第一类别是否与所述第二类别一致来第三确定所述端口是否被错误配置;以及生成指示所述端口是否被错误配置的输出。
在示例2中,示例1所述的主题可选地包括:将从所收集的通信统计得出的特征提供给机器学习模型,其中所述VLAN中的每个VLAN的所述分类基于所述机器学习模型。
在示例3中,示例2所述的主题可选地包括:基于所收集的通信统计来确定所述第一VLAN的网络业务一致性的指示;以及将所述指示提供给所述机器学习模型。
在示例4中,示例2至3中的任何一个或多个所述的主题可选地包括:基于所收集的通信统计来确定所述第一VLAN的数据吞吐量指示;以及将所述数据吞吐量指示提供给所述机器学习模型。
在示例5中,示例2至4中的任何一个或多个所述的主题可选地包括:基于所收集的通信统计来确定所述第一VLAN的分组吞吐量;以及将所述分组吞吐量提供给所述机器学习模型。
在示例6中,示例2至5中的任何一个或多个所述的主题可选地包括:确定所述第一AP的站点位置;以及将所述站点位置提供给所述机器学习模型。
在示例7中,示例1至6中的任何一个或多个所述的主题可选地包括:其中对所述VLAN中的每个VLAN进行分类包括将所述第一VLAN分类为黑洞VLAN,并且其中所述第三确定包括基于所述第一VLAN被分类为黑洞VLAN而确定所述网络组件未被错误配置。
在示例8中,示例1至7中的任何一个或多个所述的主题可选地包括:其中对所述VLAN中的每个VLAN进行分类包括:将所述第一VLAN分类为站点特定VLAN,以及确定所述第一AP的站点是否与所述站点特定VLAN一致;以及其中所述第三确定包括:基于所述第一VLAN被分类为站点特定VLAN并且确定所述第一AP的所述站点与所述站点特定VLAN一致而确定所述网络组件被错误配置。
在示例9中,示例1至8中的任何一个或多个所述的主题可选地包括:其中对所述VLAN中的每个VLAN进行分类包括:将所述第一VLAN分类为站点特定VLAN,以及确定所述第一AP的站点是否与所述站点特定VLAN不一致;以及其中所述第三确定包括:基于所述第一VLAN被分类为站点特定VLAN并且所述第一AP的所述站点与所述站点特定VLAN不一致而确定所述网络组件被错误配置。
在示例10中,示例1至9中的任何一个或多个所述的主题可选地包括:其中生成所述输出包括基于所述网络组件被错误配置而以编程方式重新配置所述网络组件。
示例11是一种系统,包括:硬件处理电路;一个或多个硬件存储器,存储指令,所述指令将所述硬件处理电路配置为执行操作,所述操作包括:从多个接入点收集在多个唯一标识的VLAN上发生的第一网络通信的通信统计;基于所述通信统计来对所述VLAN中的每个VLAN进行分类,所述分类向所述多个唯一标识的VLAN中的第一VLAN分配第一类别;在所述多个接入点中的第一接入点处检测所述第一VLAN上的第二网络通信中的错误,所述第一AP被配置为将所述第一VLAN的业务转发给网络组件上的端口;确定所述第二网络通信的第二类别;基于所述第一类别是否与所述第二类别一致来第三确定所述端口是否被错误配置;以及生成指示所述端口是否被错误配置的输出。
在示例12中,示例11所述的主题可选地包括:所述操作还包括将从所收集的通信统计得出的特征提供给机器学习模型,其中所述VLAN中的每个VLAN的分类基于所述机器学习模型。
在示例13中,示例12所述的主题可选地包括:所述操作还包括:基于所收集的通信统计来确定所述第一VLAN的网络业务一致性的指示;以及将所述指示提供给所述机器学习模型。
在示例14中,示例12至13中的任何一个或多个所述的主题可选地包括:所述操作还包括:基于所收集的通信统计来确定所述第一VLAN的数据吞吐量指示;以及将所述数据吞吐量指示提供给所述机器学习模型。
在示例15中,示例12至14中的任何一个或多个所述的主题可选地包括:所述操作还包括:基于所收集的通信统计来确定所述第一VLAN的分组吞吐量;以及将所述分组吞吐量提供给所述机器学习模型。
在示例16中,示例12至15中的任何一个或多个所述的主题可选地包括:所述操作还包括:确定所述第一AP的站点位置;以及将所述站点位置提供给所述机器学习模型。
在示例17中,示例11至16中的任何一个或多个所述的主题可选地包括:其中对所述VLAN中的每个VLAN进行分类包括将所述第一VLAN分类为黑洞VLAN,并且其中所述第三确定包括基于所述第一VLAN被分类为黑洞VLAN而确定所述网络组件未被错误配置。
在示例18中,示例11至17中的任何一个或多个所述的主题可选地包括:其中对所述VLAN中的每个VLAN进行分类包括:将所述第一VLAN分类为站点特定VLAN,以及确定所述第一AP的站点是否与所述站点特定VLAN一致;以及其中所述第三确定包括:基于所述第一VLAN被分类为站点特定VLAN并且确定所述第一AP的所述站点与所述站点特定VLAN一致而确定所述网络组件被错误配置。
在示例19中,示例11至18中的任何一个或多个所述的主题可选地包括:其中对所述VLAN中的每个VLAN进行分类包括:将所述第一VLAN分类为站点特定VLAN,以及确定所述第一AP的站点是否与所述站点特定VLAN不一致;以及其中所述第三确定包括:基于所述第一VLAN被分类为站点特定VLAN并且所述第一AP的所述站点与所述站点特定VLAN不一致而确定所述网络组件被错误配置。
在示例20中,示例11至19中的任何一个或多个所述的主题可选地包括:其中生成所述输出包括基于所述网络组件被错误配置而以编程方式重新配置所述网络组件。
示例21是一种非暂态计算机可读存储介质,包括指令,所述指令在被执行时将硬件处理电路配置为执行操作,所述操作包括:从多个接入点收集在多个唯一标识的VLAN上发生的网络通信的通信统计;基于所述通信统计来对所述VLAN中的每个VLAN进行分类,所述分类向所述多个唯一标识的VLAN中的第一VLAN分配第一类别;在所述多个接入点中的第一接入点处检测所述第一VLAN上的第二网络通信中的错误,所述第一AP被配置为将所述第一VLAN的业务转发给网络组件上的端口;确定所述第二网络通信的第二类别;基于所述第一类别是否与所述第二类别一致来第三确定所述端口是否被错误配置;以及生成指示所述端口是否被错误配置的输出。
在示例22中,示例21所述的主题可选地包括:所述操作还包括将从所收集的通信统计得出的特征提供给机器学习模型,其中所述VLAN中的每个VLAN的所述分类基于所述机器学习模型。
在示例23中,示例22所述的主题可选地包括:所述操作还包括:基于所收集的通信统计来确定所述第一VLAN的网络业务一致性的指示;以及将所述指示提供给所述机器学习模型。
在示例24中,示例22至23中的任何一个或多个所述的主题可选地包括:所述操作还包括:基于所收集的通信统计来确定所述第一VLAN的数据吞吐量指示;以及将所述数据吞吐量指示提供给所述机器学习模型。
在示例25中,示例22至24中的任何一个或多个所述的主题可选地包括:所述操作还包括:基于所收集的通信统计来确定所述第一VLAN的分组吞吐量;以及将所述分组吞吐量提供给所述机器学习模型。
在示例26中,示例22至25中的任何一个或多个所述的主题可选地包括:所述操作还包括:确定所述第一AP的站点位置;以及将所述站点位置提供给所述机器学习模型。
在示例27中,示例21至26中的任何一个或多个所述的主题可选地包括:其中对所述VLAN中的每个VLAN进行分类包括将所述第一VLAN分类为黑洞VLAN,并且其中所述第三确定包括基于所述第一VLAN被分类为黑洞VLAN而确定所述网络组件未被错误配置。
在示例28中,示例21至27中的任何一个或多个所述的主题可选地包括:其中对所述VLAN中的每个VLAN进行分类包括:将所述第一VLAN分类为站点特定VLAN,以及确定所述第一AP的站点是否与所述站点特定VLAN一致;以及其中所述第三确定包括:基于所述第一VLAN被分类为站点特定VLAN并且确定所述第一AP的所述站点与所述站点特定VLAN一致而确定所述网络组件被错误配置。
在示例29中,示例21至28中的任何一个或多个所述的主题可选地包括:其中对所述VLAN中的每个VLAN进行分类包括:将所述第一VLAN分类为站点特定VLAN,以及确定所述第一AP的站点是否与所述站点特定VLAN不一致;以及其中所述第三确定包括:基于所述第一VLAN被分类为站点特定VLAN并且所述第一AP的所述站点与所述站点特定VLAN不一致而确定所述网络组件被错误配置。
在示例30中,示例21至29中的任何一个或多个所述的主题可选地包括:其中生成所述输出包括基于所述网络组件被错误配置而以编程方式重新配置所述网络组件。
- 检测VLAN错误配置
- 一种防止端口Vlan配置错误的方法和系统