用于增强网状联网的系统和方法与流程

文档序号:18457659发布日期:2019-08-17 01:44阅读:190来源:国知局
用于增强网状联网的系统和方法与流程

本申请要求于2016年11月7日提交的美国临时申请序列号62/418,520的权益,该临时申请通过引用整体并入。

本发明一般涉及计算机联网领域,且更具体地说,涉及用于增强网状联网的新的且有用的系统和方法。



背景技术:

通过使计算设备能够在极其遥远的距离内快速传输大量数据,现代互联网彻底改变了通信。应用和网络开发人员设置的创新速度惊人地快,但不幸的是,并非互联网体验的所有方面都保持同步。具体而言,即使人们越来越多地依赖家庭联网解决方案来为快速增长的电子设备集合提供互联网连接,支持这些解决方案的技术提供的用户体验通常远远不够。具体而言,许多用户发现单个无线接入点无法为整个家庭或小型企业提供无线覆盖。虽然存在扩展无线网络的技术,但是通常既难以配置又性能低下。因此,在计算机联网领域中需要创建用于增强网状联网的新的且有用的系统和方法。

附图说明

图1是本发明实施方案的系统的图示;

图2是本发明实施方案的系统的图示;

图3是本发明实施方案的系统的智能路由器的示意图;

图4是本发明实施方案的示例系统的网络图表示;

图5a是本发明实施方案的示例系统的网络图表示;

图5b至图5c分别是在本发明实施方案的示例系统内发送的路径请求和路径应答的网络图表示;

图5d是本发明实施方案的示例系统中的路由路径的网络图表示;

图6是本发明实施方案的方法的图表示;

图7a是使用stamp的示例网络的网络图表示;以及

图7b至图7d是图7a的网络图表示的视图,分别描绘了无线网段、以太网网段和潜在的转发设备。

具体实施方式

本发明的以下对本发明实施方案的描述不旨在将本发明限制于这些发明实施方案,而是使本领域的任何技术人员能够制造和使用本发明。

1.用于增强网状联网的系统

用于增强网状联网的系统100包括多个网状网络支持路由器110,如图1所示。系统100可以附加地或可选地包括路由器管理平台120和/或管理应用130。

系统100用于使用网状联网实现对区域(例如用户的家)的无缝无线覆盖,同时降低配置此类网络的复杂性。通常,为了配置互联网连接的无线网状网络,用户必须配置第一路由器以用作到互联网的网关(例如通过将路由器连接到线缆调制解调器)。此外,一些联网设备(通常是前述第一路由器)还必须被配置为用作网络地址转换(nat)服务器、动态主机配置协议(dhcp)服务器和无线接入点。然后,为了扩展如图2所示的无线覆盖,必须添加附加设备(例如无线路由器、接入点、中继器)。即使在两个或三个无线接入点的简单情况下,配置选项几乎是无穷无尽的。例如,接入点可以存在于单个桥接的网络上,或者可以被分到不同的网络中(例如可以分配给不同的vlan;即,虚拟局域网)。接入点可以通过以太网线缆相互连接,或者仅用作无线中继器。接入点可以以任何多种方式共享可用的wi-fi信道空间。

即使对于有经验的用户,可用的网络配置阵列也可能非常庞大。系统100优选地自动地和动态地执行此配置中的大部分,从而优化网络以满足用户的需要,而不需要大量的计算机联网知识或麻烦。

网状网络支持路由器110优选地是多频带(例如双频带、三频带等)路由器,其大体上类似于美国专利申请号15/008,251中描述的那些,该专利申请通过该引用整体并入。附加地或可选地,路由器110可以是任何合适的联网设备(例如智能接入点)。

路由器110优选地包括wi-fi无线电和处理器。路由器110可以附加地或可选地包括蓝牙无线电、以太网接口和/或任何其他合适的硬件或软件。在一个示例实现方式中,如图3所示,智能路由器包括两个wi-fi无线电(一个5ghz无线电和一个2.4ghz无线电)、能够进行蓝牙智能通信的蓝牙无线电、自动传感千兆以太网接口、arm处理器、ddrram、emmc存储(用于路由器固件)、以及usb接口(例如用于添加网络可访问存储)。在第二示例实现方式中,智能路由器包括三个wi-fi无线电(两个5ghz无线电和一个2.4ghz无线电)、能够进行蓝牙智能通信的蓝牙无线电、802.15.4无线电(例如被配置为使用一个或多个802.15.4协议进行通信,如thread、zigbee等)、自动传感千兆以太网接口、arm处理器、ddrram、以及emmc存储(用于路由器固件)。在第三示例实现方式中,智能路由器包括两个wi-fi无线电(一个5ghz无线电和一个2.4ghz无线电)、能够进行蓝牙智能通信的蓝牙无线电、802.15.4无线电(例如被配置为使用一个或多个802.15.4协议进行通信,如thread、zigbee等)、arm处理器、ddrram、以及emmc存储(用于路由器固件)。可选地,智能路由器可以是任何合适的路由器、无线接入点和/或其他联网设备。然而,智能路由器可以包括任何合适的无线电(例如短程无线电,如nfc、rf等)、处理系统、传感器组或其他组件的任何合适的组合。

一个或多个wi-fi无线电优选地用于提供对路由器110的无线访问。wi-fi无线电优选地用于允许电子设备(例如智能电话、膝上型计算机、游戏控制台)通过lan与路由器110并且与彼此无线通信,以及允许路由器110在网状网络上与彼此通信。

每个wi-fi无线电优选地包括至少一个天线;附加地或可选地,wi-fi无线电可以包括连接到外部天线的接口。天线可以是各种天线类型;例如,贴片天线(包括矩形和平面倒f)、反射器天线、导线天线(包括偶极天线)、蝴蝶结天线、孔径天线、环形电感器天线、陶瓷芯片天线、天线阵列以及分形天线。wi-fi无线电优选地支持通过所有ieee802.11a/b/g/n/ac标准(以及稍后讨论的修改的802.11s标准)的通信,但是可以附加地或可选地支持根据任何标准(或者完全不根据任何标准)的通信。

路由器110可以包括在任何合适的频率范围上操作的任何数量的wi-fi无线电。在一个实现方式中,路由器包括两个或更多个wi-fi无线电:一个或多个可在2.4ghz频带上操作,和另一个或多个可在一个或多个5ghz频带上操作(例如5.2ghz频带、5.8ghz频带、需要使用dfs的5ghz频带等)。路由器110可以附加地包括可切换的无线电,使得路由器110能够从两种不同通信模式(2.4ghz+5ghz或5ghz+5ghz)中进行选择以使连接质量最大化。

wi-fi无线电优选地使用单输入/单输出(siso)通信技术来操作,但是可以附加地或可选地使用多输入和/或多输出通信技术(例如simo、miso、mimo)来操作。如果wi-fi无线电使用mimo技术操作,则wi-fi无线电可以使用任何类型的mimo技术(例如预编码、空间复用、空分多址和/或分集编码)。此外,wi-fi无线电可以独立地(例如无线电利用耦合到该无线电的多个天线进行mimo通信)或者协作地(例如两个单独的无线电一起进行mimo通信)进行mimo通信。

蓝牙无线电用于允许设备通过替代wi-fi的连接机制与路由器110通信。蓝牙无线电优选地用于允许路由器110首次由智能电话(或其他启用蓝牙的计算设备)配置。蓝牙无线电可以附加地或可选地用于任何其他目的;例如,用于在不同时间配置路由器110,用于路由器110之间的通信,或用于与家庭中的智能设备(例如智能锁、灯泡)通信。蓝牙无线电优选地支持蓝牙4.0标准,包括经典蓝牙和蓝牙低功耗(btle)的通信功能。蓝牙无线电优选地在经典蓝牙与蓝牙低功耗之间切换,但是可以附加地或可选地能够同时在两者上进行通信。

蓝牙无线电优选地包括至少一个天线;附加地或可选地,蓝牙无线电可以包括连接到外部天线的接口。天线可以是各种天线类型;例如,贴片天线(包括矩形和平面倒f)、反射器天线、导线天线(包括偶极天线)、蝴蝶结天线、孔径天线、环形电感器天线、陶瓷芯片天线、天线阵列以及分形天线。

以太网接口用于向路由器110提供有线连接。以太网接口优选地允许有线设备(包括其他路由器110)连接到路由器110。以太网接口优选地包括多个以太网端口。以太网接口的端口优选地能够进行1000base-t(即千兆位)通信,但是可以附加地或可选地能够以任何速率进行通信。以太网接口优选地基于所连接设备的能力自动设置通信速率,但是可以附加地或可选地手动设置通信速率。除了以太网接口之外,路由器110可以附加地或可选地在任何有线接口上进行有线通信。例如,路由器110可以通过电力线接口(例如电力以太网)进行通信。

路由器110优选地包括微处理器并且可以附加地或可选地包括任何其他硬件。例如,路由器110可以包括usb接口(用于连接附网存储、dlna服务器等或用于配置目的)。在一个实施方案中,路由器110包括硬件加密模块(hem)。hem优选地是安全地存储加密密钥(例如atmelsha204)并且基于该密钥执行数据加密的芯片,但是可以附加地或可选地是能够对来自路由器110的传输进行加密和/或将到该路由器的传输进行解密的任何硬件模块。

路由器110优选地在嵌入式多媒体卡(embeddedmultimediacard:emmc)上存储固件和/或软件,但是可以附加地或可选地将固件和/或软件存储在任何合适的存储解决方案中。

路由器110优选地作为运行python程序的linux服务器操作,但是可以附加地或可选地使用任何软件和/或固件来操作。

路由器110优选地使用在远程电子设备(例如用户的智能电话)上操作的管理应用130来配置,但是可以附加地或可选地通过任何合适的方式(例如通过网站界面)来配置。

路由器110优选地使用802.11s协议的一个或多个版本(例如下面描述的修改版本)使用基于对等同时认证(sae)的加密和混合无线网状协议(hwmp)路径选择来与彼此通信,但是可以附加地或可选地以任何方式与彼此通信。

本领域普通技术人员将认识到,尽管路由器110中的全部或一些可以执行路由功能(和/或能够执行路由功能),但是路由器110可以附加地或可选地包括接入点(例如无线接入点,如无线网状接入点等)、中继器、网状节点、交换机和/或任何其他合适的网络设备。

路由器110优选地由路由器管理平台120(或任何合适的远程管理平台)配置和/或管理。在一个示例中,可以通过在远程服务器(路由器管理平台120的一部分)中改变存储的配置简档,其后将所存储的配置简档推送给路由器110来配置路由器110。这种技术在网状联网应用中特别有用;如果路由器管理平台120知道有三个智能路由器打算用于单个网络中,则路由器管理平台120可以尝试桥接三个路由器的网络,而不管物理位置或现有网络拓扑。

路由器管理平台120可以附加地用于管理与各种网络相关联的连接和/或许可。例如,与一个网络相关联的路由器管理平台120的用户可以在另一网络上具有访客许可(例如,lan1的用户可以经由平台被授予针对lan2的许可)。作为另一示例,路由器管理平台120可以用于(或可以以其他方式促进)经由vpn隧道来桥接两个网络(例如将两个物理网络lan1a和lan1b桥接成单个逻辑网络),如图1所示。

路由器管理平台120可以附加地或可选地用于从路由器110收集连接数据和/或经由路由器110或以其他方式(例如经由网络门户)向用户提供该数据(或该数据的分析)。

系统100可以附加地包括管理应用130,其用于管理作为网络一部分的路由器110。管理应用130优选地是在智能电话上运行的本机应用(例如ios或安卓应用),但是可以附加地或可选地是任何合适的应用(例如网站应用、桌面应用等)。管理应用130可以用于执行或辅助路由器110配置,但是也可以用于收集方法200使用的数据。例如,可以在期望得到位置数据的设备上操作的管理应用可以收集(并且潜在地分析和/或传输)可被用于执行设备定位的数据。

相同lan的路由器110优选地作为网状网络耦合在一起;例如,如图4所示的示例网络。路由器110可以以任何方式彼此通信和/或与(由圆圈‘d’符号表示的)客户端设备通信,例如2.4ghzwi-fi、5ghzwi-fi、蓝牙、有线以太网。

在此类网状网络上传播的信息通常可能采取多条路径。与传统的网状联网架构相比,系统100优选地尝试沿着网状网络以增强性能的方式路径信息。

系统100优选地通过智能地管理网络节点(例如智能路由器110)之间以及与那些节点通信的设备(例如膝上型计算机、智能电话、电视等)之间的通信来尝试增强网状联网性能。此类管理包括管理从路由器到路由器以及从路由器到设备的链路的特性(例如信道、无线电、广播时间等)以及跨这些链路主动路由信息(例如尝试跨网络识别数据包的最佳路径)。

路由器110优选地尝试使网络内的路由器110的每个链路成为可能。例如,在其无线范围内(在2.4ghz和5ghz两者上)看到四个其他路由器110的路由器110可以创建八个链路(范围内的每个无线电一个链路)。路由器110优选地采用这种方法,因为与链路上进行通信的成本相比,维持链路的成本相对较低。可选地,路由器110可以不尝试使每个链路成为可能。例如,如果路由器110具有到另一个路由器110的以太网连接,则这两个路由器110可以不彼此无线地链接。作为另一示例,在高密度网状网络中,路由器110可以选择仅连接到附近的阈值数量的路由器110(例如范围内总计30个路由器中的15个路由器)。

优选地设置路由器110的无线电所使用的信道以减少网络上的干扰。例如,彼此靠近的两个路由器110可以使用相同的5ghz频带(允许这两个路由器彼此通信并与设备通信,但可能导致两个路由器110附近的从客户端设备的通信的冲突)但是不同的2.4ghz频带(允许两个路由器110附近的客户端设备与一个路由器110通信而不干扰其他客户端设备与另一个路由器110的通信)。路由器110信道可以是正交的或重叠的。例如,彼此靠近的路由器110可以选择不同但重叠的2.4ghz频带,允许这些路由器仍然彼此通信,同时还减少客户端设备干扰。

可以以任何方式设置路由器信道。在一个示例实现方式中,第一路由器110基于无线电测量选择2.4ghz信道(称为2.4a)和5ghz信道(5a)。然后,每个附加路由器110选择相同的5ghz信道(5a),但是基于无线电测量选择2.4ghz信道(例如尝试使路由器110之间的2.4ghz干扰最小化)。路由器信道可以由路由器110单独设置,由一组路由器110、由管理平台120或任何其他代理统一设置。

路由器信道也可以随时修改。例如,通过前一段中描述的技术选择了信道的路由器110可以响应于客户端设备在该信道上的大流量来切换其5ghz信道。注意,在这种情况下,路由器110还可能附加地需要改变其2.4ghz信道(因为路由器110可能必须现在在2.4ghz频带而不是5ghz频带上与其他节点通信,例如如果其他节点不在其新的5ghz信道上运行的话)。

路由器110可以附加地或可选地尝试修改与路由器间链路相关的任何其他参数。例如,路由器110可以调整天线模式和/或增益以减少网络干扰。附加地或可选地,路由器110可以出于相同目的执行波束成形或波束控制(可能具有动态增益)。与信道类似,其他路由器参数可以由路由器110单独设置,由一组路由器110、由管理平台120或由任何其他代理统一设置。

当连接到路由器110的设备尝试与另一设备在网络上(或经由网络的网关)通信时,路由器110优选地确定通信遵循的最佳路径。路由器110优选地利用ieee802.11s混合无线网状协议(hwmp)和/或其修改版本(例如如下所述),但是可以附加地或可选地使用任何用于确定路径的技术。

以下是对系统100的路径技术的示例实现方式的描述:当路由器110想要将数据包发送到目的地时,路由器110首先检查其路由表以查看它是否具有到目的地的当前路径。如果是,则路由器110将数据包转发到下一跳节点。如果不是,则路由器通过创建路径请求(preq)数据包来启动路径发现过程。此数据包包含源mac地址、发起方的hwmp序列号、路径发现id、生存时间(ttl)和生命周期字段、跳数、目的地mac地址和链路度量。与在802.11s中一样,此preq数据包跨网络转发,直到到达目的地。基于所接收的preq数据包,一个或多个目的地路由器110发送回路径应答(prep)数据包,类似于preq数据包。值得注意的是,链路度量和跳数在数据包沿网络移动时更新(本质上采取这些值的路径积分)。链路度量和跳数中的一个或两个用于在源路由器110处确定可用路径的质量。

默认的802.11s实现方式使用称为“空中时间链路度量”的度量,定义为总数据传输时间(以时间为单位)除以一减去帧误差率:虽然系统100可以使用该度量(或任何度量),但系统100优选地使用新颖的度量(这里称为bifrost度量)。与802.11s的空中时间链路度量相反,bifrost度量优选地考虑(例如将其作为输入)诸如数据吞吐量(例如信道传输速率)和/或信道利用率之类的因素。bifrost度量可以附加地或可选地包括任何其他合适的因素(例如热节流和/或强制的死区传输时间,如下面描述的)。

在一个实施方案中,bifrost度量是基于(例如与无线信道相关联的)一个或多个吞吐量度量和/或信道利用率度量确定的。bifrost度量(和/或与bifrost度量相关联的底层度量,如吞吐量和/或信道利用率度量)优选地与网络的链路(例如无线链路;有线链路;聚合链路组,如链路共享公共端点等)相关联(例如基于其特性确定),诸如独立地为网络内的路径的每个链路确定。然而,度量可以附加地或可选地与节点、路径、物理区域和/或与网络相关联的任何其他合适的元件相关联。度量可以是方向特定的(例如对于链路或路径度量,对于沿着链路或路径的每个方向独立确定)或非方向特定的(例如对于前向和反向路径相同,对于从第一设备到第二设备的链路以及从第二设备到第一设备的链路相同等)。

吞吐量度量可以包括传输和/或接收速率(例如数据速率、帧速率、数据包速率等)和/或任何其他合适的吞吐量。吞吐量度量优选地是与物理层相关联(例如在其处测量)的度量,但是可以附加地或可选地与数据链路层、网络层、传输层和/或(例如osi层模型的)任何其他合适的层相关联。优选地,基于所收集的吞吐量数据的滤波的和/或以其他方式处理的版本(例如低通滤波、卡尔曼滤波、汉明窗口等)来确定吞吐量度量。例如,吞吐量度量可以表示随时间的平均值(和/或其他统计函数,如中值),诸如移动平均值(例如指数加权移动平均值、三角数加权移动平均值、赫尔移动平均值、未加权移动平均值等)。然而,度量可以附加地或可选地是基本上即时的度量(例如与最近收集的数据相关联),可以表示最大值(例如在特定时间窗口中获得的最大值),和/或可以以任何其他合适的方式处理。吞吐量测量可以仅在尝试数据传输的时间期间(例如当数据排队等待传输时、传输期间等)或者始终(例如节点是否尝试传输数据)进行采样,和/或可以在任何其他合适的时间进行采样。在特定示例中,吞吐量度量等于txavg,在物理层测量的(例如沿着链路来自节点的)传输吞吐量的指数加权移动平均值(txphy速率);rxavg,在物理层测量的(例如沿着链路的反方向到节点的)接收吞吐量的指数加权移动平均值(rxphy速率);和/或其组合(例如总和、逆总和、算术和/或几何平均值、两者的最小值或最大值等)。

优选地调整信道利用率度量以表示不归因于为其计算度量的实体(例如节点、链路、路径等)的利用率。针对此类调整的信道利用率度量的一个公式如下:

其中tactive是节点在与无线链路相关联的无线信道上活动的活动时间(例如节点的至少一个无线电被调谐到信道的时间);tbusy是活动时间内的总利用时间,在此期间无线信道正在使用;以及tself是活动时间内的自利用时间,在此期间节点正在无线信道上传输。可选地,可以表示节点沿着特定无线链路(例如正在计算度量的无线链路)传输和/或到特定端点的时间,而不是节点为了任何目的进行传输所花费的所有时间;信道被用于传输到节点的时间(代替或补充从节点进行传输所花费的时间);和/或与节点、无线链路和/或其他实体相关联的任何其他合适的自利用时间。然而,信道利用率度量可以附加地或可选地包括任何其他合适的调整(例如代替或补充项tself),和/或可以不调整(例如可以排除项tself)。

在该实施方案的一个实现方式中,bifrost度量如下计算:在每个节点处,基本度量被计算为吞吐量度量d的倒数。然后,基本度量是通过包括信道利用率度量u(优选地,表示不是由于该节点的信道利用率的调整的信道利用率度量(例如不是由于节点的信道上的流量、信道不可被节点用于进行传输的一部分时间等等))的项来修改的。此类度量m的两个公式如下:

和/或

其中c是某个常数(例如,对于所有节点和/或链路的度量m的所有计算保持固定,对于给定节点和/或链路是恒定的,但是在不同节点和/或链路之间变化等),tbusy是信道正在使用的时间,tself是由于来自节点本身的通信而使用信道的时间,以及tactive是无线电总花费在信道上的时间。度量的具体示例可包括:

和/或

可以看出,该度量随着吞吐量的增加而减小(即,更快的连接导致更低的度量值)并且随着信道流量而增加(即,更少的流量导致更低的度量值)。该度量还表现出测量度量的节点对流量的降低的灵敏度贡献(例如,对于比使用未经调整的信道利用率度量的度量是不变的,小的变化等等)。

bifrost度量可以可选地包括表示硬件条件诸如临时性能限制的一个或多个参数。例如,度量可以包括无线电节流参数,诸如tthrottle,表示活动时间内的节流时间,在此期间由于节流无线电传输受阻,和/或fthrottle,表示无线电节流的分数数量(例如发生无线电节流的时间的分数,其中例如,可以使用无线电节流来防止和/或减轻无线电过热(例如通过减少无线电传输时间,从而减少无线电产生的热能)。在第一种变型中,硬件条件参数(例如节流参数)包括在信道利用率度量中,诸如在第二种变型中,硬件条件参数包括在整个bifrost度量中,诸如和/或然而,bifrost度量可以以任何其他合适的方式包括任何其他合适的硬件条件参数。

在针对给定链路计算bifrost度量(例如定义链路成本)之后,将其添加到沿路径的先前度量的总和,使得最终度量成为沿路径的bifrost度量值的路径积分(例如定义路径成本)。如上所述,具有最小bifrost度量值的路径是‘最佳’路径。在一种变型中,路径的节点(例如除了初始和/或终端节点之外的所有节点等)均计算与该节点相关联的链路的链路度量(例如源自或终止于该节点),从相邻节点(例如沿路径的下一个或前一个节点)接收部分路径度量(例如沿路径的一部分的链路度量的累积和,如从初始或终端节点到传输部分路径度量的节点),将计算的链路度量添加到部分路径度量,并将新的部分路径度量传输到相对的邻居(例如沿着路径或反向路径继续)。

在一个示例中,路径的终端节点(节点a)传输(例如响应于接收到路径请求)路径应答帧(优选地包括度量字段(例如设置为零))到沿着路径的前一节点(节点b)。响应于接收到路径应答帧,节点b确定与从其自身到节点a的链路(b-a链路)相关联的bifrost链路度量,通过将链路度量添加到来自度量字段的值来更新部分路径度量,并且将更新的路径应答帧(例如包括更新的部分路径度量)传输到沿路径的前一节点(节点c)。类似地,节点c计算c-b链路度量,更新部分路径度量,并且将包括更新的度量(表示经由b从c到a的成本)的路径应答传输到沿路径的前一节点。在此示例中,路径应答被传播回路径的初始节点。然而,任何节点可以可选地在接收到路径应答时(例如基于其度量)忽略或以其他方式采取行动。例如,如果第一节点接收到从第一节点到第二节点的路径段的两个路径应答,每个路径应答经由不同的路径(例如不同系列的中间节点),则它可以可选地传播具有更好(例如更低)度量的路径应答并忽略具有更差度量的路径应答(例如如图5c所示)。

如图5a所示,客户端设备(d)尝试向网状网络上的线缆调制解调器发送具有链路度量值(例如链路成本,如可以添加以确定路径成本的成本)的信息,如图所示。直接连接到客户端设备的节点(例如客户端设备的ap)发送路径请求(preq)消息(例如用于到线缆调制解调器的路径、到连接到线缆调制解调器的网关节点的路径等等),该消息通过网状网络传播,可能从多个相邻节点到达网关节点(例如如图5b所示)。响应于从每个邻居接收到路径请求,网关节点向接收preq的邻居发送路径应答(prep)消息,包括路径度量(例如在所有情况下为零,因为路径开始于网关节点)。接收prep的每个节点计算与从其接收prep的节点相关联的链路度量(例如,用于从其自身传输到从其接收prep的节点的链路成本),将链路度量添加到接收的prep中的路径度量,并沿反向路径传播prep(具有更新的路径度量)(例如,如图5c所示)。直接连接到客户端设备的节点接收一个或多个prep,计算并添加最终链路度量,并选择具有最低总度量的路径(例如,如图5d所示)。可以沿着该路径路由从客户端设备到线缆调制解调器的通信。

bifrost度量优选地随着在特定对等链路上对给定数据单元进行排队的空中时间成本而增加(例如与其成正比例),并且优选地是跨链路频率(例如2.4和5ghz)可比较的。可以可选地使用(或修改)bifrost度量来考虑以太网链路质量,不仅允许跨链路频率的比较,还允许跨有线和无线链路的比较。bifrost度量可以附加地或可选地被设置为等于零(例如表示无成本链路)或用于以太网链路的小常数,和/或可以以任何其他合适的方式处理以太网链路(或者不应用于以太网链路)。

在一些实施方案中,网状网络包括相同节点之间的多个链路,诸如用于具有多个链路接口的节点(例如能够进行独立、同时通信的多个无线电,多个以太网端口,无线电和以太网端口两者等)。例如,两个节点可以通过多个无线链路(例如在不同的频带,如2.4ghz、5.2ghz和/或5.8ghz)和/或以太网链路同时连接。在一种变型中,可以独立地处理这些物理链路中的每一个(例如,可以独立地确定它们中的任何一个或全部的链路度量;通过网络的路径可以单独指定物理链路,而不仅仅是链路的端点等等)。

在第二种变型中,共享端点的多个物理链路(例如所有此类链路、所有此类无线链路、此类链路的子集等)可以被认为(例如从链路评估和/或路径选择的角度来看)是单个有效链路(例如被视为链路聚合组),其中确定了与有效链路相关联的单个链路度量,并且路径指定了有效链路而不是其中的任何特定底层物理链路。该变型可以使各个网状节点(和/或链接的节点对)能够选择用于与给定邻居通信的一个或多个最佳物理链路,而不干扰更高级别的路径选择(例如包括启用与邻居的多路复用通信)。在该变型的一个示例中,有效链路的每个节点由诸如mac地址(例如最高或最低mac地址;第一连接物理链路的mac地址;与预定接口如节点的第一以太网端口或第一无线电相关联的mac地址,可选地,即使有效链路不包括与预定接口相关联的物理链路等等)的单个标识符指定。

在该第二种变型中,优选地基于所有或一些底层物理链路的物理链路度量来确定与有效链路相关联的有效链路度量(例如链路成本)。例如,有效链路度量可以等于最佳物理链路度量、物理链路度量的总和、物理链路度量的逆总和(例如逆的总和的逆)、物理链路度量的算术和/或几何平均值、和/或物理链路度量(或其子集,如最佳的两个或三个此类链路)的任何其他合适的函数。附加地或可选地,可以基于有效链路的性能(例如同时使用有效链路的多个物理链路)而不是底层物理链路的单独性能来确定有效链路度量。然而,有效链路度量可以附加地或可选地以任何其他合适的方式确定。

在本发明实施方案的一个实现方式中,路由器110包括由bifrost度量值触发的自动探测系统。由于空闲或具有‘坏’度量的链路可能看不到大量流量,因此经由这些链路连接的节点可能无法接收常规度量更新(且因此可能不一定能够迭代地修改配置设置以改进度量值)。自动探测系统用于在空闲(例如低于某一活动阈值)和/或‘坏’(例如bifrost度量低于某一阈值)的链路上生成流量。

作为bifrost度量的替代,系统100可以利用学习的(或以其他方式调的)链路度量,其总体上促进跨网络的特定目标。例如,可以基于跨网络的平均等待时间来设置学习的链路度量。

调学习的链路度量可以包括利用以下各项中的一个或多个:监督学习(例如使用逻辑回归、使用反向传播神经网络、使用随机森林法、决策树等)、无监督学习(例如使用apriori算法、使用k均值聚类)、半监督学习、强化学习(例如使用q学习算法、使用时间差分学习)、以及任何其他合适的学习风格。多个模块中的每个模块可以实现以下各项中的任何一个或多个:回归算法(例如普通最小二乘法、逻辑回归、逐步回归、多元自适应回归样条、局部估计的散点图平滑等)、基于实例的方法(例如k最近邻、学习向量量化、自组织映射等)、正则化方法(例如岭回归、最小绝对收缩和选择运算符、弹性网等)、决策树学习方法(例如分类和回归树、迭代二分法3、c4.5、卡方自动交互检测、决策树桩、随机森林法、多元自适应回归样条、梯度推进机等)、贝叶斯方法(例如朴素贝叶斯、平均一个依赖估计器、贝叶斯置信网络等)、核方法(例如支持向量机、径向基函数、线性判别分析等)、聚类方法(例如k均值聚类、期望最大化等)、相关联的规则学习算法(例如apriori算法、eclat算法等)、人工神经网络模型(例如感知器方法、反向传播方法、霍普菲尔德网络方法、自组织映射方法、学习向量量化方法等)、深度学习算法(例如受限玻尔兹曼机、深度置信网络方法、卷积网络方法、堆叠自动编码器方法等)、维数降低方法(例如主成分分析、偏最小二乘回归、萨蒙映射、多维定标、投影寻踪等)、集合方法(例如增强、自举聚合、adaboost、堆叠泛化、梯度增强机方法、随机森林方法等等)、以及任何合适形式的机器学习算法。方法200的每个处理部分可以附加地或可选地利用:概率模块,启发式模块,确定性模块,或利用任何其他合适的计算方法、机器学习方法或其组合的任何其他合适的模块。然而,任何合适的机器学习方法都可以以其他方式结合到链路度量学习中。

与802.11s标准的另一处不同是,由路由器110传输的多播和广播帧优选地包括指定频带和/或信道(例如和/或无线电,如与特定频带相关联的无线电)的附加字段,路由器110在该频带和/或信道上看到路径通告(例如路径请求或preq、路径应答或prep等)。在传统的802.11s实现方式中,将通告从一个无线电、频带和/或信道传递到同一节点上的另一个将导致序列号的改变。因此,网络现在对消息进行不同的处理,并且可能发生循环。通过跟踪无线电字段,系统100可以允许包含多个频带中的链路的路径,而不会遭受802.11s实现方式中存在的循环问题。可选地,一些或所有帧(例如多播和/或广播帧)可以不包括该附加字段。

虽然之前没有明确讨论过,但是802.11s系统中的节点基于之前是否已接收到preq(如果是这样,则丢弃它们)来跟踪它们。系统100优选地实现一种新颖的方法,用于存储帧信息并决定是否转发偏离传统802.11s实现方式的多播帧。对于接收到的每个多播帧,路由器100优选地散列帧(例如帧和/或数据包报头的源地址、整个帧和/或数据包报头、帧和/或数据包内容、整个帧和/或数据包等)的一部分(例如唯一部分)并将散列与到期计时器一起存储。路由器100优选地维持从每个源接收的几个最近多播帧(例如16)的列表以及ttl值和到期时间。如果路由器100在用该路由器100存储的记录的到期时间内从源接收到多播帧,则路由器100递减所存储的ttl并转发该帧。当存储的ttl达到零时,帧将被丢弃而不是转发。由于每个节点都具有这些列表的rcu保护的散列表,因此查找是很容易并行化的,从而提供超过标准802.11s实现方式的效率增益。该多播高速缓存可以在无线与有线接口之间共享,从而防止循环并且允许在网络中使用有线和无线连接两者。

在本发明实施方案的变型中,系统100包括在上述链路度量系统之上的附加层。在该变型中,路由器110维持基于分布式服务质量(qos)的系统,其中给定路由器110将向其无线冲突域中的其他节点发布流量信用。这些流量信用可以限制相邻节点何时可以将数据发送到路由器110,从而允许系统100以协调的方式减少冲突。类似于链路度量,系统100可以利用机器学习来分配和/或调节此类系统中的流量信用。

如上所述,系统100优选地使用用于路由的链路度量,但是系统100可以附加地或可选地使用计算的链路度量值作为实时吞吐量值的代理作为网络健康的评估。例如,可以找到具有l链路的网络的网络健康度量,如下所示:

其中ul是利用率因子(这本质上是由链路利用率加权的平均链路度量)。系统100可以附加地或可选地使用链路度量值以任何方式评估网络健康。

除了用于提高网络性能的前述技术之外,系统100可以附加地或可选地执行强制客户端设备移动接入点的技术。例如,这可以用于更好地跨无线接入点(ap)分配客户端设备。对于许多移动电子设备(例如大多数智能电话),设备用户(以及就此而言,ap)就设备如何选择无线网络而言几乎没有控制。在大多数情况下,无线客户端连接到网络并保持与其连接,直到信号质量(或通信质量的另一个度量)下降低于静态阈值,此时客户端断开连接并搜索最强的信号。在具有重叠无线范围的ap的网络(尤其是密集网状网络)中,这意味着经常最初连接到ap1的客户端可能相比ap1移动更靠近ap2,但仍将保持连接到ap1(因为ap1信号未下降到低于阈值)。

强制客户端断开连接优选地使得此类设备重新检查最强ap是什么并连接到它。注意,虽然ap信号强度与距ap的距离相关,但干扰和噪声可能意味着最强ap不一定是最靠近的。例如,智能电话位于起居室内靠近墙壁,且起居室ap有十英尺远。卧室有卧室ap,位于墙壁的另一侧。在这种情况下(部分地基于由于墙壁引起的衰减),智能电话可以将起居室ap视为“更近”(即,它看到更高的信号强度)。强制客户端连接改变可能在本地化之外还有许多变化,包括网状联网参数的优化、网络负载平衡和/或无线干扰管理。例如,为了增强网络性能,可以强制客户端与第一ap断开连接,而是连接到第二ap,即使客户端-第二ap链路比客户端-第一ap链路更糟(例如与较低吞吐量相关联)。在该示例的第一具体示例中,从第一ap到互联网的路径成本远高于从第二ap到互联网的成本,使得当客户端连接到第二ap时整体客户端-互联网路径成本更低。在第二具体示例中,可以通过将第一客户端与第一ap断开连接(例如,从而实现强波束成形以提高第二客户端-第一ap链路的质量)来改进第一ap与第二客户端(例如不能连接到第二ap的客户端)之间的链路。然而,出于任何其他合适的原因,可以附加地或可选地以任何其他合适的方式控制客户端连接改变。

路由器110可以以任何方式强制客户端连接改变。在第一示例中,路由器110可以通过在接入点处阻拦客户端的mac地址(或另一标识符)并且主动地将客户端踢出接入点来从接入点移除客户端;这防止客户端重新连接,直到mac地址被解除阻拦。可选地,路由器110可以断开客户端与ap的连接,而不会阻止客户端重新加入该ap。

在第二示例中,路由器110可以撤消特定设备的凭证。在第二示例中,路由器110可以包括以任何方式撤销凭证;例如,通过使用与设备或与设备的用户相关联的一组凭证来撤销对ap的访问。在一些情况下,这些凭证可以是设备或用户特定的(例如存储在智能电话上的证书、用户名/密码),但附加地或可选地,凭证可以是非设备特定的(例如wpa-2个人安全ap的ap密码)。

路由器110可以附加地或可选地以任何其他方式(例如通过降低ap的传输功率以强制客户端漫游)断开客户端与ap的连接。注意,系统100可以通过控制客户端可以连接的接入点来强制客户端连接到特定ap(或一组ap中的一个)。例如,网状网络可以包括设备范围内的四个ap:ap1、ap2、ap3和ap4。通过阻止设备连接到ap1和ap2,网络可以强制设备连接到ap3或ap4中的一个。同样,也可以阻止ap3强制设备连接到ap4。

即使当ap对客户端漫游具有有限的控制时,前述示例也是可操作的。但是,在某些情况下,网络可能对客户端漫游有更实质的控制(或者甚至可以明确指定设备连接到哪个网络)。在这些情况下,系统100可以附加地或可选地修改客户端漫游参数和/或指示设备连接到特定ap或一组ap。

系统100可以以任何方式指导ap修改。例如,路由器110可以存储ap与客户端设备之间的链路的链路质量度量,并且如果它们低于阈值,则可以断开客户端设备的连接。作为另一示例,路由器110可以通过到客户端的等待时间来评估客户端链路(可以基于客户端设备的类型来缩放该等待时间)。

系统100可以尝试基于任何数量的因素在路由器110(以及那些路由器110的无线电)之间分配客户端,所述因素包括设备的类型(例如智能电话、膝上型计算机等)、设备的型号(例如galaxy、iphone)、设备的带宽使用(例如高带宽、低带宽)、设备的移动性(例如由rssi变化或由ap变化确定的)、通信频率等。

除了实际的客户端链路质量度量之外,系统100可以附加地或可选地基于上下文或历史数据来分配客户端设备。例如,在白天用于大型下载和在夜间用于游戏的计算机可以在具有高吞吐量和/或高等待时间(白天)的连接(例如到ap的无线链路、通过网络到互联网的路径等)与具有低吞吐量和/或低等待时间(晚上)的连接之间进行切换。

虽然已经针对流量通常具有已知目的地的情况对系统100进行了描述,但是也存在流量可能具有多个潜在目的地的情况(例如网状网络具有到互联网的若干网关的情况)。在本发明实施方案的变型中,系统100可以跨多个互联网连接进行共享流量。例如,系统100可以指定由特定网络上的所有设备使用的主要和次要(以及第三等)互联网连接。系统100可以附加地或可选地通过设备(例如192.168.1.xxx子网中的所有设备使用特定连接,所有智能电话使用特定连接等)或者通过tcp流(或以任何其他子设备分辨率水平)指定互联网连接;例如,高带宽、对等待时间不敏感的应用(例如流视频)可以使用第一连接,而低带宽、对等待时间敏感的应用(例如实时在线游戏)可以使用第二连接。

可以基于任何合适的输入数据来进行流量共享。例如,流量共享可以包括基于可用带宽(例如仅在达到带宽上限之前使用特定连接)、价格(例如仅在特定应用需要时才可使用昂贵的连接)、或者任何其他标准来改变nat配置。流量共享协议优选地由路由器管理平台120确定,但是可以附加地或可选地由任何合适的实体确定。

流量共享也可以通过网络负载平衡算法来完成,由此ip流量分配在多个互联网连接上以满足一个或多个网络目标。网络目标的示例可以包括减少网络上的一个或多个设备的响应时间,增加网络上的一个或多个设备可用的带宽,提高网络上的特定服务或类型的流量的性能,提高网络上的设备的互联网访问的可靠性等。用于流量共享的网络负载平衡算法的第一示例是循环算法。循环算法将第一ip流量请求分配给随机选择的第一互联网连接,将第二流量请求分配给除第一互联网连接之外的随机选择的第二互联网连接,依此类推,直到所有互联网连接被至少分配一次为止,在此时循环重复。当大多数流量请求的带宽需求和持续时间大致相等时,循环运行良好。网络负载平衡算法的第二示例是动态循环。动态循环与基本循环算法的工作方式类似,不同之处在于根据从实时互联网连接性能中辨别的加权方案来分配分配步骤。动态循环可以避免在同一个互联网连接上路由多个高流量请求的问题。网络负载平衡算法的第三示例是预测算法。预测算法可以监测实时互联网连接特性(例如哪些互联网连接上具有最少的ip流量请求、哪些互联网连接上具有最大的数据流分配等)和历史互联网连接特性(例如最近一段时间内监测下载和上传速度的时间序列)以确定哪些互联网连接的(以性能度量量化的)性能在一段时间内正在改善或下降,可以将这些性能度量供应给动态加权方案,并且可以根据动态加权方案分配新的ip流量请求。可选地,任何合适的网络负载平衡算法可以由系统100实现。

系统100执行负载平衡的方式可以是预先确定的(例如流量可以按比例跨互联网连接分配),动态确定的(例如在用户请求时,特定请求可以分配优先级,并且然后路由器可以根据所有网络流量的优先级层次来处理负载性能),或者是以任何其他合适的方式确定的。

下面描述的方法200的实施方案可以可选地实现上面关于系统100描述的网络评估和/或管理技术中的一些或全部。这些技术优选地使用系统100来执行,但是可以附加地或可选地使用任何其他合适的网络或其他系统来执行。

2.用于增强网状联网的方法

一种用于增强网状联网的方法200优选地包括执行网络分析s210、配置路由器链路参数s220、以及管理路由路径s230,如图6所示。方法200可以附加地或可选地包括管理客户端链路s240和/或任何其他合适的元素。

方法200优选地用于通过有效地分配路由器通信参数并基于发现的链路度量确定路由路径来有效地配置和管理网状网络(例如,在多个频率频带上操作并且可能通过以太网链路桥接的网络)。

方法200优选地由系统100执行,但是可以附加地或可选地由任何网状网络(例如任何多频带网状网络)执行。

s210包括执行网络分析。s210用于确定网络状态信息。例如,s210可以用于确定网络中的网状节点(例如路由器)的数量、每个节点的单独配置详细信息(例如无线通信信道、信道宽度、以太网能力、无线模式、加密类型、qos配置、dhcp配置、nat配置)、它们与彼此的接近度、节点之间的连接类型和质量、网络中的客户端设备的数量、每个客户端设备的单独配置详细信息(例如客户端类型、客户端ap、客户端无线通信信道、客户端以太网功能)、客户端与节点之间的连接类型和质量、整体网络吞吐量、wan网关详细信息等。

s210可以包括以任何方式执行网络分析。例如,s210可以包括在网络上查询设备,从网络上的设备执行网络调查,请求用户输入,或任何其他技术。s210可以附加地或可选地包括记录网络数据并使用该数据来执行网络分析。例如,s210可以包括记录链路(路由器间链路或客户端-路由器链路)吞吐量和误差率以确定链路质量。

s210优选地由网状网络的一个或多个路由器执行,但是可以附加地由运行网络监测应用的移动客户端设备(例如智能电话)执行或辅助执行。例如,s210可以包括当用户在网状网络中移动时从智能电话收集网络数据。

s210可以附加地或可选地包括从网络用户请求网络分析数据。例如,s210可以包括询问用户以通知客户端设备上的管理应用该网络是否从来没有理想地工作过(触发网络来记录所述客户端设备和/或时间特有的数据)。

s210优选地在初始网络配置期间运行,但是可以附加地或可选地在任何时间运行以更好地通知网络配置。

s220包括配置路由器链路参数。s220用于配置路由器之间的通信链路。

对于每个网状节点,s220优选地包括使到通信范围内的所有其他网状节点的链路初始化。然后可以根据路由需要使用(或不使用)这些链路。附加地或可选地,s220可以包括仅使到通信范围内的网状节点子集的链路初始化。例如,s220可以包括仅将到某种类型的节点、具有高于某阈值的信噪比(snr)的节点、具有高于某阈值的rx/tx吞吐量的节点、未通过以太网连接的节点等的链路初始化。作为第二示例,如果在节点的范围内存在m个节点,则s220可以包括基于某些标准(例如具有最低等待时间的五个节点)将到m个节点中的n个的链路初始化。

s220可以附加地或可选地包括修改网状节点的无线通信信道。s220优选地包括设置无线信道以减少干扰并增加网络的吞吐量,但是可以附加地或可选地设置无线信道以实现任何目标。

s220可以包括例如将节点初步设置为相同的5ghz信道,但是将节点设置为不同的2.4ghz信道。此类配置可以使节点能够在5ghz频带上与彼此(以及与可能的客户端设备)通信,同时优化2.4ghz频带以与客户端设备通信。

在另一示例中,s220包括确定网络的每个节点的dc2.4(2.4ghz频带上路由器-客户端通信产生的空中时间百分比),dc5(5ghz频带上路由器-客户端通信产生的空中时间百分比),dm2.4(2.4ghz频带上路由器-路由器通信产生的空中时间百分比),和dm5(5ghz频带上路由器-路由器通信产生的空中时间百分比),以及p2.4和p5(信号接近度;例如,通过信标snr测量的)。在该示例中,s220优选地通过尝试使以下内容最小化来设置每个节点的2.4和5ghz信道c2.4和c5:

f5+f2.4

其中

其中k1...k8是常数,b是信道上的二元运算符(例如如果cl≠ck,b为零,和如果cl=ck,则为一)。当在给定频带上具有大量路由器-客户端通信的附近节点在不同信道上时以及当在给定频带上具有大量路由器-路由器通信的附近节点在同一信道上时,该度量被最小化。当然,由于路由器到路由器通信可能高度依赖于信道设置,因此可以根据任何最小化算法迭代地评估该度量。

作为第三示例,s220可以包括通过随机改变信道设置(或以其他方式改变信道设置)来设置网络信道并使用机器学习算法监测网络性能,最终学习最佳网络信道状态。

s220可以附加地或可选地包括为特定目的限制特定频带上的流量。例如,s220可以包括在给定节点上将5ghz流量限制为回程流量以及将2.4ghz流量限制为路由器到设备流量。

s220可以附加地或可选地包括尝试修改与路由器间链路相关的任何其他参数。例如,s220可以调整天线模式和/或增益以减少网络干扰。附加地或可选地,s220可以包括为了相同的目的而配置节点以执行波束成形或波束控制(可能具有动态增益)。

s230包括管理路由路径。s230用于为给定源和目的地跨网络(例如跨网状和/或以太网链路)确定路径。s230优选地包括根据ieee802.11s混合无线网状协议(hwmp)(例如根据协议的修改版本,诸如上面关于系统100描述的修改版本)管理路由路径,但是可以附加地或可选地使用任何用于确定路径的技术。例如,s230可以包括使用如ieee802.11s标准中描述的反应性和/或主动路由技术来创建和/或更新路由路径,具有与系统100关于路径的部分中描述的该标准相同的偏差。

s230优选地包括在每个节点处维持多播帧数据集,该数据集包含每个源的历史多播信息。例如,数据集可以包含对节点看到的每个源的16个最近多播帧的引用。每个引用优选地与时间戳链接;如果来自相同源的帧之间的时间差低于阈值,则第二帧可能不被节点转发。可选地,数据集可以为每个条目维持ttl(例如,如果后续帧(如第二帧、第三帧、第四帧等)在第一帧之后小于阈值时间接收到,则如此,每次转发递减ttl,并且并非所有帧都可以转发)。该多播高速缓存优选地存储为rcu保护的散列表,导致易于并行化的查找并提供超过标准802.11s实现方式的效率增益。同样,该高速缓存优选地跨通信模态共享。

s230优选地包括使用在系统100上的部分中描述的bifrost度量来确定路由路径,但是可以附加地或可选地利用任何合适的一个或多个链路度量。s230可以可选地包括实现下面描述的stamp技术,但是可以附加地或可选地使用任何其他合适的技术来使以太网网段(例如包括与典型网状网络不兼容的传统以太网设备)能够结合到网状网络中,或者可以不使用这样的技术。

在本发明实施方案的变型中,s230包括根据分布式服务质量系统路由流量,其中节点向其无线冲突域中的其他节点发布流量信用。这些流量信用可以限制相邻节点何时可以向节点发送数据,从而允许网络以协调的方式减少冲突。

除了计算网络的链路的链路度量之外,方法200可以附加地或可选地包括基于网络的整体链路度量来评估网络健康和/或吞吐量。例如,方法200可以包括测量网络的总吞吐量或每个节点的吞吐量的加权平均值(由节点重要性和/或流量加权)。

s240包括管理客户端链路。s240可以包括修改节点到客户端设备通信的任何方面;例如qos参数、连接类型(例如802.11g对n对ac)、连接模态(例如以太网对wi-fi对蓝牙)、连接速度等。

s240可以附加地或可选地包括通过将客户端设备从一个节点移动到其他节点来优化客户端链路。这可以用于根据带宽可用性和干扰可能性更均匀地分配客户端设备。

注意,用于确定信道的相同算法也可以与不同的客户端ap连接一起使用。例如,以前的公式f5+f2.4,其中

可能不仅在ap信道中变化,而且通过强制客户端加入特定的ap,对于受影响的ap的dc将被修改。

s240可以包括强制客户端断开连接,优选地使得这样的设备重新检查最强ap是什么并连接到它。如前所述,强制客户端连接改变可能在本地化之外还有许多变化,包括网状联网参数优化、网络负载平衡和/或无线干扰管理。

s240可以包括以任何方式强制客户端连接改变,如在系统100的描述中涵盖相同技术的部分中所讨论的。s240优选地包括以将整体网络吞吐量和可靠性以及网络上各个设备的性能最大化的方式跨节点分配客户端。s240可以包括基于任何数量的因素跨节点分配客户端,所述因素包括设备的类型(例如智能电话、膝上型计算机等)、设备的型号(例如galaxy、iphone)、设备的带宽使用(例如高带宽、低带宽)、设备的移动性(例如由rssi变化或ap变化确定)、通信的频率、历史连接质量数据、历史带宽使用等。

s240可以附加地或可选地包括请求手动用户干预。例如,s240可以包括指示用户旋转和/或重新定位网络的一个或多个节点以提高网络效率。

s240可以附加地或可选地包括请求任何类型的用户网络配置干预(包括提供用于改变软件中的网络设备配置、重新路由以太网线缆、移动无线接入点等的指令)。s240优选地使用户(最优选地通过结合远程管理平台操作的软件的方式,但是可选地以其他方式)能够容易地实现期望的配置改变。在第二示例中,用户可以确认由先前步骤执行的网络配置是适当的。在该第二示例中,通过外部电子设备上的软件向用户给出指令;根据指令,用户则可以重新配置网络配置设置,当重新配置包括对网络特征的物理修改(例如断开以前通过以太网线缆物理连接的路由器)时。

方法200(和/或其任何合适的元素)可以执行一次、重复执行(例如周期性地、偶发地、响应于触发发生等)、和/或以任何其他合适的时间执行。例如,方法200可以包括连续地评估链路度量并且基于度量重复地(例如周期性地、响应于preq接收等)重新确定路由路径。

3.网段表通告网状协议(stamp)

包括传统以太网网段的传统网状网络中的常见问题是具有多于一个以太网端口的许多以太网设备(包括交换机、路由器、网桥和客户端设备)包含通常称为地址解析列表或转发数据库的结构。这些设备使用此arl或fdb以便快速确定其多个端口中的哪一个导致给定mac。鉴于以太网帧仅包含两个地址(目的地和源)并且以太网协议是无连接的,确定给定mac在以太网网络中被定位的位置的唯一方法是窥探来自该端口的帧的源地址。

传统的以太网交换机在接收到帧时,将其与当前在其arl中的地址进行比较,且如果找到,则将其传送到arl中标注的端口。如果它没有找到帧,它会将它泛洪到它所进入的端口以外的每个端口。完成此操作后,它注意到帧上的源地址出现在它进入的任何端口上。

这在网状网络中是有问题的,因为网状网络可能无法保证以确定的方式将帧传送到连接的以太网网段。这意味着此类网段中的以太网交换机可能会被看似来自随机位置的流量混淆。此外,由于与以太网网段相邻的每个网状节点在其落在该网段上时将看到来自该网状网络的流量,因此它们可以决定取出帧并将它们注回到网状网络中。然后,该流量穿过网状网络并重复地重新插回到以太网网段中,导致网络最终被循环帧阻塞。

使用众所周知的生成树协议(stp)在有线以太网网络中解决了循环问题。不幸的是,由于这是基于每个网桥端口工作的,因此它不太适合网状网络,其中单个网桥端口可以代表数十个对等链路。此外,网状网络可以具有固有的循环拓扑,并且从此类循环结构允许的多条路径中获得它们的许多可靠性益处。生成树协议(旨在使网络非循环)可能不适合此类网络,即使它被扩展为基于每个对等链路处理网状链路。

可以解决无线网状网络中的循环帧的问题,因为路由算法不允许单播帧循环,每个帧具有包括网状生存时间的网状报头,并且针对最近多播帧的散列表检查多播帧,从而允许它们在每个节点上只循环一次。但是,以太网的小报头可能不允许使用此技术。

网段表通告网状协议(stamp)(例如生成树通告网状协议)是一种附属协议,它建立在ieee802.11s网状联网标准提供的设施之上,以便能够确定地将帧从网状网络传送到传统ieee802.3以太网客户端。

stamp优选地包括确定网络的一个或多个网段(例如lan)。每个网段优选地是通过同质连接类型相互连接的网络连接设备的一部分(例如其中,无线网段的所有设备通过无线链路连接,以太网网段的所有设备通过以太网连接等),如图7b至图7c所示。然而,网段可以通过异构连接类型、多种连接类型(例如有线和无线)或通过任何其他合适的连接组来连接。网段不一定与广播或冲突域相对应。例如,整个网络(例如包括多个网段,如由以太网网段桥接的两个无线网状网段)可以定义单个广播域(或者可选地,可以包括多个广播域,诸如独立于这些网段定义的vlan),并且单个网段可以包括多个冲突域(和/或冲突域可以扩展到多个网段中)。

每个网段优选地包括可以通过相似类型的链路到达的所有设备(例如,仅使用无线链路或仅使用以太网链路可以到达的)。然而,网段可以可选地排除一些此类设备。在一个示例中,网段定义可以包括链路质量阈值,其中低于阈值质量(例如阈值链路度量值,诸如bifrost度量值)的链路(例如仅由此类链路连接的设备将不被认为属于同一网段)未被忽略。在第二示例中,无线网段可以排除也通过以太网连接的节点之间的无线链路(例如其中,无线网段限于必须无线地彼此通信的设备,而不是包括可以无线地彼此通信的所有设备)。在该示例的变型中,该方法包括评估此类节点之间的以太网链路(例如确定其链路度量),其中,如果以太网链路度量优于阈值(例如优于无线链路度量、优于预定义的阈值等)则仅排除相关联的无线链路。在第三示例中,每个网段可以任意划分为子网段。例如,可以将网段划分为与网段中的潜在转发设备的数量相等的多个子网段,其中,每个潜在转发设备被指定为用于不同子网段的转发设备。然而,网段可以附加地或可选地以任何其他合适的方式定义。

确定网段优选地包括识别每个以太网网段和每个无线网段。然而,确定网段可以附加地或可选地包括仅识别以太网网段、仅识别无线网段、仅识别此类网段的子集、和/或确定任何其他合适的网段。确定网段可以可选地包括确定一些或所有识别的网段的成员(例如连接的设备)。网段优选地由网状节点确定,诸如由网状网段和以太网网段中的具有stamp能力的节点(例如将网状网段连接到以太网网段的节点)确定。优选地,网络不包括也具有以太网连接但不具有stamp能力的任何网状节点,但是可选地,网络可以包括任何合适的节点。

stamp的一个实施方案使用ieee802.1d生成树协议来映射连接到每个节点的以太网网段(例如有线以太网网段),从而以普通方式(例如由stp指定的方式)使它们的拓扑非循环。stp为每个连续的以太网网段确定唯一的“根桥地址”。stamp的另一个实施方案传播其他消息(例如,除stp消息之外或代替stp消息)以便识别以太网网段和/或其成员。具有stamp能力的节点优选地被配置为不将stp消息和/或任何其他以太网网段映射消息发送到网状网段中。因此,此类消息将仅在单个以太网网段内传播(例如将不会通过无线网状网络传播),使得该技术能够区分两个非连续的以太网网段。

但是,网状网络没有可用于识别它们的根节点地址的等效物。相反,可以通过使每个具有stamp能力的节点(或其子集,诸如连接到以太网网段和无线网段的每个节点)将广播消息(“stamp通告”)发送到与之连接的无线网段中来确定网状网络的邻接性。stamp通告优选地包括发送节点连接到的有线以太网网段的标识符(例如如上所述)以及与发送节点相关联的标识符(例如发送节点mac地址)。这些广播消息优选地用特殊以太类型标记,并且具有stamp能力的节点优选地被配置为在网状边界处丢弃具有特殊以太类型的消息(例如配置为不将它们转发到以太网网段);也就是说,它不会传播到无线网状网络之外。

具有stamp能力的节点接收这些stamp通告消息并构建从其网状网络可见的每个以太网网段的列表,其中每个以太网网段与标识符(例如根桥地址、以太网设备在网段中的最高或最低mac地址等)相关联,并根据标识符(例如通告的根桥地址)确定哪些网状节点是相同以太网网段的成员。

stamp通告可以可选地包括一个或多个stamp度量,诸如与发送节点相关联的度量。这些度量优选地包括网段中心性和/或连接性度量(例如表示节点与网状网段的其余部分的连接有多好)。在一种变型中,基于节点的对等链路(例如网状网段内的所有无线对等链路、所有以太网对等链路、任何类型的所有对等链路等)确定节点的stamp度量,诸如等于对等链路的比特率之和或等于对等链路的数量。在第二种变型中,基于与节点相关联的一个或多个hwmp度量诸如以上关于系统100描述的度量(例如bifrost度量、学习和/或调谐的度量等)来确定stamp度量。例如,节点的stamp度量可以等于节点与无线网段的每个其他成员之间的路径度量的平均值(例如简单平均值、负载加权平均值等)。然而,stamp通告可以附加地或可选地包括任何其他合适的stamp度量。

优选地使用一个(或多个)stamp度量以便确定(例如选择)每个相邻无线网段-以太网段对的转发设备(例如“指定转发器”)(例如,给定网状网络接触给定以太网网段的每个地点),如图7d所示的无线网段a-以太网网段b网段对。然而,可以以其他方式在任何合适的时间(例如以预定的频率)确定转发设备。例如,对于每个此类网段对,方法200可以包括确定属于(例如连接到)给定无线网段和给定以太网网段的每个网状节点(例如潜在转发设备组),并且然后基于与每个潜在转发设备相关联的stamp度量,将一个转发设备指定为该对的转发设备(例如具有最佳stamp度量的网状节点)。该指定优选地在无线网段的每个网状节点处独立地确定(例如使用相同算法基于相同信息),但是可选地可以由单个节点或其他设备确定(例如其中,该确定然后被发送到无线网段的设备,诸如包括在随后的stamp通告中)。该方法可以可选地包括指定一个或多个备用转发设备(例如按排名顺序、在池中等),优选地,其中如果指定的转发设备变得无响应(例如由于设备故障、网络分区等),则备用转发设备可以承担转发设备角色。

指定的转发设备优选地负责在无线和以太网网段之间移动帧(例如,从无线网段接收帧并将它们传输到以太网网段中,从以太网网段接收帧并将它们传输到无线网段中等)。在一个示例中,指定的转发设备负责将网状网络上的帧多播帧和/或广播帧移动到以太网网段上,并且负责将以太网网段上尚未存在的单播帧从网状网络移动到以太网网段上。为了确定是否应该以这种方式复制帧,可能需要进行查找以查看其起源是否已经是与指定转发器相同的以太网网段的成员;如果是,那么我们可以假设它已经将它注入以太网网段上,并且指定的转发器可以不管它。在另一个示例中,指定的转发设备单独负责它所连接的网段之间的所有网段间传输。然而,指定的转发设备可以附加地或可选地承担任何其他合适的角色。

泛洪的单播帧是特殊的,因为以太网报头中没有用于如此标记它们的规定。然而,泛洪它们的网桥确实知道它正在泛洪它们,所以它们可以被局部标记为泛洪。网状驱动器使用此局部标记来在网状报头中标记帧。从网状网络出现的泛洪单播帧与多播帧类似地处理,因此如果它们来自相同的地址,那么它们不会被多个网状节点注入以太网中并且因此将始终从同一方向接近以太网网段上的任何交换机。

为了知道帧来自作为同一以太网网段的成员的节点,该节点的网桥必须能够针对网状报头检查stamp列表,但是当网桥得到帧时,网状报头将被剥夺并丢弃。为了允许进行该检查,使用了第二种本地标记方案,并且使用了从网状驱动器到网桥的调用以便检查列表。

通过这种方式,泛洪单播帧可以像多播帧一样被检查,从而消除循环的可能性,并且来自网状网络的单播和多播帧都将以可预测的、确定的方式传送到所有有线以太网网段,从而避免在这些网段上混淆交换机的可能性。这允许有线以太网连接到网状网络在网状网段之间,且甚至允许在非连续网状网络之间使用有线以太网网桥而不会引起问题。

与网段对相关联的其他潜在转发设备(例如未指定为转发设备的那些)优选地不执行指定的转发设备所负责的网段间转发。然而,潜在的转发设备可以以任何合适的方式操作。在一个示例中,每个此类节点可以表现为好像它是两个单独的设备:一个连接到无线网段而另一个连接到以太网网段,它们之间没有直接数据链路。在该示例中,从以太网网段接收的传输将仅由以太网网段内的节点转发(例如到通过以太网连接到节点的以太网设备),并且从无线网段接收的传输将仅由无线网段内的节点转发(例如到通过无线链路连接到节点的无线设备)。在第二示例中,节点可以确定仅由节点连接到网段的其余部分并且不包括指定转发设备的设备的私有子网段(或者在更严格的版本中,仅包括仅由节点连接到网络的其余部分的设备,或者仅包括直接连接到节点而不连接到其他设备的客户端设备),其中节点是子网段与网络的其余部分之间的“阻塞点”,并且只能为私有子网段执行网段间转发。例如,在该第二示例中,响应于从以太网网段接收广播帧,节点可以将广播帧转发到其无线网段的私有子网段(优选地记录广播帧已收到并被仅转发到私有子网段)。当节点随后从无线网段接收到相同的广播帧时(例如在由指定转发设备转发到无线网段之后),它优选地不将其转发到私有子网段,从而防止私有子网段的设备多次接收帧。

优选地,基于转发设备指定来确定不同网段中的端点之间的路径选择(例如如上关于方法200所述,如关于s230)。在一种变型中,方法200仅包括考虑(例如确定其路径度量)符合stamp的路径(例如遵循转发设备指定的路径,如仅在第一与第二网段之间在相关联的转发设备处交叉的路径)。在第二种变型中,也可以考虑其他路径,但是将仅选择符合stamp的路径。在该变型的特定示例中,如果不符合的路径度量比符合stamp的路径好(例如好出任意多、好到大于阈值量等),则该方法可以可选地包括采取可能改变stamp指定的动作,诸如提供用于stamp度量计算的更新信息、建议stamp度量调整(例如基于路径度量的对比度的差点)、和/或请求重新确定转发设备。在第三种变型中,路径度量(例如bifrost度量)包括stamp相关信息(例如其中,不符合stamp指定可以对链路和/或路径度量不利),但是可以选择不符合的路径。然而,stamp指定可以附加地或可选地以任何其他合适的方式与路径选择过程集成,或者可以可选地不集成。

如图7a所示,stamp可以实现混合以太网和网状网络的非连续网络。在图7a中,云表示网状网络,和圆柱体表示客户端设备。stamp节点由圆角矩形表示,和传统以太网交换机显示为矩形。虚线表示802.11无线链路,和实线表示有线以太网连接。

节点a是网关节点,连接到互联网和本地网络;它与节点b和c配合。由节点b、c和d组成的网络中的所有以太网链路都是同一生成树域的一部分。如果在节点c与d之间添加了额外的以太网链路,则stp过程将禁用其中一个端口以防止循环。

节点d不与节点a、b或c无线电接触,因此它创建自己的网状网络。它在这个小网状网络上通告它是由b、c和d组成的以太网网络的成员,并且因为它是该网状网络的唯一成员,所以它成为从该网状网络到其以太网网段的流量的指定转发器。

同时,在节点a、b和c为成员的网状网络上,节点a通告它有自己的以太网网段,并且因为它是该网状网络中唯一可以接触该以太网网段的成员,所以它被选为该网状网络-以太网边界的指定转发器。节点b和c都与其以太网网段连接,并且都是同一网状网络的成员,因此他们通告了这一事实。无论哪个节点具有到网状网络的最佳对等链路,都被选为指定转发器。为了这个示例,假设节点b有更好的链路,并因此被选择。

在收到拓扑变化的stamp通知后,节点按照通常的时间表通告新信息。每个节点一经发现就开始通告新信息,并且由于网状网络的每个成员构建的stamp表由唯一标识符(例如stamp标识符,如网桥mac地址)索引,所以新信息在几秒钟之内替换掉旧的。过期信息由几个更新周期后过期的简单权宜之计处理。节点永远不会代表其他节点通告信息,因此不存在传播过期数据的问题。

如果客户端2发送广播帧,则节点d接收它并将其转发到其网状网络、其接入点(3)的另一个客户端和以太网网段。节点b和c都接收到它,客户端1也一样。节点c接收它并将它发送给它的任何客户端(如果有的话),但因为它不是其网状网络的指定转发器,所以它不会转发它;节点b转发,而节点a从网状网络接收帧。节点a将其转发到自己的以太网网段,其在任何情况下都没有任何客户端。

这样,节点b和c之间的交换机总是沿着相同的向量从相同的源接收流量,且因此不会弄错源的位置。

如果节点c的客户端发送广播帧,那么事情只会稍微复杂一点。在这种情况下,即使节点c不是指定转发器,它也将帧注入以太网网段和网状网络中;在通过网状网络接收到该帧时,节点b注意到该帧的发送者(节点c)是同一以太网网段的成员,因为网状网络上的帧已经以这种方式标记,且因此它不需要将其重新注入以太网中。节点d仅通过以太网看到帧,并且它知道节点c不是其网状网络的成员,并且它是该网状网络-以太网接口的指定转发器,因此它酌情转发它。

可以看出,由于该协议只需要节点知道它们作为其成员的以太网网段以及它们作为其成员的网状网段,因此它可以无限制地缩放,并且不会对非常大的网络造成问题。因为它保证每次都沿着相同的向量将帧传送到有线以太网,所以不需要修改传统以太网系统以便与网状网络一起正常工作。这与通过强制进行中央配置决策来保证确定性的协议迥然不同。在这些系统中,某个中心点必须做出影响整个网络的决策,并且必须有一种方案用于将该信息传递到网络中的每个节点。

为了与网状网络本质上分散的、无限可缩放的性质保持一致,stamp实现了类似的性能水平,而不需要任何中央权威或真实来源。因此,由于任何特定节点未能正确应用协议而导致的中断在范围上是有限的;即使错误地注入帧也只会影响单个以太网网段。只要区域边缘的节点正确地应用stamp标记,任何循环或随机传递将被定位到由不兼容节点服务的区域。这使得网络能够适应stamp节点之间的通信故障。

stamp协议(和/或其任何合适的元素)可以执行一次、重复执行(例如周期性地、偶发地、响应于触发发生等)、和/或以任何其他合适的时间执行。例如,可以广播stamp通告(例如周期性地,如每15秒;响应于stamp度量和/或网段更新的确定等等),并且可以基于通告确定新的转发设备(例如周期性地,如以相同的周期速率确定;响应于接收到stamp通告等等)。

本文描述的stamp协议或修改可以应用于整个lan;vlan(例如独立地应用于网络的每个vlan)、一组vlan和/或一个或多个任何其他合适的广播域;更大的网络(例如wan、man、包括多个lan的网络等);和/或任何其他合适的联网系统。

本领域普通技术人员将认识到,本文描述的stamp协议或修改可以应用于系统100或方法200中的任一个。

优选实施方案的方法及其变型可以至少部分地实施和/或实现为被配置为接收存储计算机可读指令的计算机可读介质的机器。指令优选地由优选地与网状网络集成的计算机可执行组件执行。计算机可读介质可以存储在任何合适的计算机可读介质上,诸如ram、rom、闪存、eeprom、光学设备(cd或dvd)、硬盘驱动器、软盘驱动器或任何合适的设备。计算机可执行组件优选地是通用或专用处理器,但是任何合适的专用硬件或硬件/固件组合设备可以可选地或附加地执行指令。

附图展示了根据优选实施方案、示例配置及其变型的系统、方法和计算机程序产品的可能实现方式的架构、功能和操作。就这一点而言,流程图或框图中的每个框可以表示模块、网段、步骤或一部分代码,其包括用于实现一个或多个指定逻辑功能的一个或多个可执行指令。还应注意,在一些替代实现方式中,框中标注的功能可以在附图中标注的顺序之外发生。例如,连续示出的两个框实际上可以基本上同时执行,或者框有时可以以相反的顺序执行,这取决于所涉及的功能。还应注意,框图和/或流程图说明的每个框以及框图和/或流程图说明中的框的组合可以由执行指定功能或动作的基于专用硬件的系统或专用硬件和计算机指令的组合来实现。

如本领域技术人员将从先前的具体实施方式以及附图和权利要求中认识到,在不脱离所附权利要求限定的本发明的范围的情况下,可以对本发明的优选实施方案做出修改和改变。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1