什么是Mesh网络

  • 网络间的通信原理

假设你的名字叫小不点,你住在一个大院子里,你的邻居有很多小伙伴,在门口传达室还有个看大门的李大爷,李大爷就是你的网关。当你想跟院子里的某个小伙伴玩,只要你在院子里大喊一声他的名字,他听到了就会回应你,并且跑出来跟你玩。

但是你不被允许走出大门,你想与外界发生的一切联系,都必须由门口的李大爷(网关)用电话帮助你联系。假如你想找你的同学小明聊天,小明家住在很远的另外一个院子里,他家的院子里也有一个看门的王大爷(小明的网关)。但是你不知道小明家的电话号码,不过你的班主任老师有一份你们班全体同学的名单和电话号码对照表,你的老师就是你的DNS服务器。于是你在家里拨通了门口李大爷的电话,有了下面的对话:

小不点:李大爷,我想找班主任查一下小明的电话号码行吗?

李大爷:好,你等着。(接着李大爷给你的班主任挂了一个电话,问清楚了小明的电话)问到了,他家的号码是211.99.99.99

小不点:太好了!李大爷,我想找小明,你再帮我联系一下小明吧。

李大爷:没问题。(接着李大爷向电话局发出了请求接通小明家电话的请求,最后一关当然是被转接到了小明家那个院子的王大爷那里,然后王大爷把电话给转到小明家)

就这样你和小明取得了联系。

设置完IP地址与子网掩码后,计算机只能与处于同一网络内的其他计算机互相传递数据。这是因为设置了这两项参数后,计算机有了自己的地址,与其他计算机进行数据交换时,数据包有源地址与目标地址,即有明确的来源与去处,就像信封上写清了发信人与收信人地址,因此可以顺利地投递一样。但是此时计算机还不能与本局域网以外的计算机进行数据交换,因为我们还没有告诉计算机通过什么途径将数据送到本局域网以外的计算机中。要想与本局域网以外的计算机进行通信,还需要设置网关。

网关(Gateway)是将两个使用不同协议的网络段连接在一起的设备。它的作用就是对两个网络段中使用不同传输协议的数据进行互相的翻译转换。网关可以是硬件,如路由器、服务器等,也可以是软件。
给网关分配一个IP地址,这个地址就可以被局域网中的多台计算机所共享,这种地址共享有点类似于日常生活中的信件分发。邮局先把属于同一单位的信件送到该单位的收发室,再由收发室分发到各个不同的部门或个人,这就要求单位中的每个部门或个人都有一个唯一的内部信箱号,就像每台计算机有一个自己的私有IP地址一样。邮局只关心该单位的地址而不必清楚该单位的内部机构;同样,位于局域网外部的网关只考虑局域网中的多台计算机所共享的IP(网关)地址,而不考虑它们各自的私有IP 地址。借助网关可以使多个网络用户用一个IP地址访问因特网,比动态配置法更加节省IP地址资源。另外,它的安全性得到了进一步的提高,因为它内部的计算机根本就没有公有IP地址,外部用户无法直接访问这些计算机。

  • 集线器:工作在第一层(即物理层),它没有智能处理能力,对它来说,数据只是电流而已,当一个端口的电流传到集线器中时,它只是简单地将电流传送到其他端口,至于其他端口连接的计算机接收不接收这些数据,它就不管了。

  • 交换机:工作在第二层(即数据链路层),它要比集线器智能一些,对它来说,网络上的数据就是MAC地址的集合,它能分辨出帧中的源MAC地址和目的MAC地址,因此可以在任意两个端口间建立联系,但是交换机并不懂得IP地址,它只知道MAC地址。

  • 路由器:工作在第三层(即网络层),它比交换机还要“聪明”一些,它能理解数据中的IP地址,如果它接收到一个数据包,就检查其中的IP地址,如果目标地址是本地网络的就不理会,如果是其他网络的,就将数据包转发出本地网络。

1. 什么是Mesh网络

  • 无线Mesh技术是一种与传统无线网络完全不同的新型无线网络技术。在传统的WLAN中,每个客户端均通过一条与接入点(AP)相连的无线链路访问网络,用户若要进行相互通信,必须首先访问一个固定的AP,这种网络结构称为单跳网络。而在无线Mesh网络中,任何无线设备节点都可同时作为路由器,网络中的每个节点都能发送和接收信号,每个节点都能与一个或多个对等节点进行直接通信。
mesh

这种结构的最大好处在于:如果最近的AP由于流量过大而导致拥塞的话,数据可以自动重新路由到一个通信流量较小的邻近节点进行传输。依此类推,数据包还可以根据网络的情况,继续路由到与之最近的下一个节点进行传输,直到到达最终目的地为止。这样的访问方式就是多跳访问

2. Mesh网络的由来

  • 传统的单一无线IP接入点覆盖如图一
图一

单一无线IP接入点覆盖的缺陷:

  1. 要实现全部覆盖,相应的用户终端的发射信号功率将会很大,这往往是做不到的
  2. 没有对给定频段进行复用,支持的终端数少,多用户能力不高

如果使用的无线移动频段的带宽为B,每个用户终端的传送数据需要带宽b,则整个区域同时支持的最大多用户数为B / b

为了解决这一难题,20世纪80年代提出了如下两种有效的解决方案:

  • 多个终端接力覆盖的网络如图二
图二

这种解决方案为了保持用较小信号发射功率都能应用到所有终端,并使在覆盖边缘或远端的用户终端能接入网关(WGW),采用通过具有路由功能的邻近终端作中继接力,经过多跳,接入到WGW,实现微小功率下的Internet接入。这种形成微小功率区域覆盖的解决方案的综合,构成Ad Hoc网络。这种网络可实现微小信号功率接入,同时接入最大用户数不会增加,但是用户终端间中继接力通信需要增加额外开销。这对具有路由功能的终端依赖较大,在终端移动情况下路由选择和网络拓扑不能固定,变动大。不过,Ad Hoc网络不需要增添另外的无线路由器来实现微小区覆盖,通过终端的中继接力接入Internet,对构建终端不需移动、位置分布比较随机的无线传感器网络非常方便、实用和有效。

中继:是网络物理层上面的连接,适用于完全相同的两类网络的互连,主要功能是通过对数据信号的重新发送或者转发,来扩大网络传输的距离。

  • 多个无线路由覆盖的网络如图三
图三

将一个WGW支持的相关区域内划分成不同的多个微小区域,可彼此重叠,各微小区设立一个无线路由器(WR),形成众多无线路由器的网络覆盖。每个用户终端就近接入相应的WR,WR或直接接到GW,或通过邻近WR中继接力接到GW,实现整个区域的Internet接入。

  • 无线Mesh网络如图四
图四

如果每个WGW都是引入众多WR的区域覆盖,多个GW覆盖区域的综合,就构成一种新型无线网络:无线Mesh网络,众多WR相互合作和协同,成网状分布,对整个城市或任意区域无线覆盖,实现无线移动通信。

3. Mesh网络的特性

  • 自组织
    网络节点和授权最终用户可即时加入网络,扩展网络覆盖范围,并可连接至所有其他节点。

  • 自愈
    如果网络中的某台设备发生故障或从其拓扑位置上拆卸,网络会自动适应这种改变。既使发端与对端之间的连接涉及多台中继设备,网络也会找到从发端到对端的新的路由。

  • 多跳式
    每个网络节点和用户端设备(无线通信单元)均能转发和路由发送至另一个对端的数据包,能选择并确定一个从发端到对端的最佳路由。

  • 点对点网络
    自组织网络通常由平等的网元构成,只要发端和对端的距离足够近,就能直接连接发端和对端。而不必通过中央管理节点。

  • 多信道协商 提高带宽的利用率
    无线Mesh网络进行多信道接入时一种协调机制,保证通信的两个节点都工作在相同的信道上。将时间轴被划分为信标间隔,在每一个信标间隔的开始,建立一个叫做ATIM的时间窗口,在相同的ATIM窗口内,有数据需要发送的节点使用控制消息和接收端使用相同的信道。这种多信道协商方法的目的是要选择业务负载小的信道,尽可能地平衡信道负载,减小竞争和退避所浪费的带宽。

4. Mesh的工作原理

  • Mesh邻居发现

    Mesh发现是Mesh网络建立过程中的第一步,类似于接入服务中STA扫描网络。


    图5
    1. Mesh网络扫描
      Mesh节点(MP)通过主动发送Probe Request探测帧,或侦听Beacon帧,来收集邻居信息。Beacon或Probe帧中包含Mesh ID、Mesh Configuration以及安全能力等相关信息。

    2. 邻居关系维护
      MP从接收到的Beacon或Probe Response帧中解析发端MP的Mesh profile信息,与本端Mesh profile信息进行匹配。只有当扫描双方的Mesh profile匹配时,双方才可以建立邻居关系。

  • Mesh连接管理

    Mesh连接管理包括Mesh连接建立和Mesh连接拆除两个过程,采用Peer Link Open/Confirm/Close三种Mesh连接管理Action帧交互实现。

图6
  1. Mesh连接建立
    MP在选出候选Peer后,可以与之发起Mesh连接建立过程。协商Mesh连接的双方需要确保使用相同的Mesh profile。
    每个MP根据需要可以建立一条或多条Mesh连接,Mesh连接建立后,需要继续进行后续的认证和安全协商,之后Mesh连接才可以参与Mesh数据转发。

  2. Mesh连接拆除
    Mesh连接双方中任一方,均可以主动向对方发送Peer Link Close消息,以关闭双方间的Mesh连接,收到Peer Link Close消息的MP,需要向对方MP回应一个Peer Link Close消息。

  • Mesh安全机制

    由于传输媒质的开放性,无线网络很容易遭受非法攻击,802.11i标准的推出解决了传统WLAN网络的安全问题,但Mesh网络的多跳性带来了新的安全挑战。在认证方式上,Mesh安全同样支持802.1x认证和PSK认证方式,802.1x认证通过Supplicant MP与AAA server交互产生后续密钥协商用的种子密钥MSK,PSK认证方式则直接使用PSK作为密钥协商的种子密钥。

  • Mesh选路

    Mesh网络是全连接的WLAN网络,任何一个源和目的地之间会存在多条可用的Mesh链路,并且这些Mesh链路的传输质量会随着周边环境实时变化。因此,非常有必要在Mesh网络支持选路协议,以确保数据帧能始终通过最优的链路传输。

  • Mesh转发

    1. 对于目的MAC为单播地址的数据帧,首先查找转发表项。若查到匹配表项,则将数据帧由该表项对应的Mesh链路发送出去;若未匹配任何表项,则将该数据帧从所有处于活跃状态的Mesh链路发送出去。
    2. 对于目的MAC为组播或广播地址的数据帧,MP将数据帧从所有处于活跃状态的Mesh链路发送出去。

推荐阅读更多精彩内容