什么是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的工作原理

1. Mesh邻居发现

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

  • Mesh网络扫描
    Mesh节点(MP)通过主动发送Probe Request探测帧,或侦听Beacon帧,来收集邻居信息。Beacon或Probe帧中包含Mesh ID、Mesh Configuration以及安全能力等相关信息。
  • 邻居关系维护
    MP从接收到的Beacon或Probe Response帧中解析发端MP的Mesh profile信息,与本端Mesh profile信息进行匹配。只有当扫描双方的Mesh profile匹配时,双方才可以建立邻居关系。

2. Mesh连接管理

Mesh连接管理包括Mesh连接建立和Mesh连接拆除两个过程,采用Peer Link Open/Confirm/Close三种Mesh连接管理Action帧交互实现。
在这里插入图片描述

  • Mesh连接建立
    MP在选出候选Peer后,可以与之发起Mesh连接建立过程。协商Mesh连接的双方需要确保使用相同的Mesh profile。
    每个MP根据需要可以建立一条或多条Mesh连接,Mesh连接建立后,需要继续进行后续的认证和安全协商,之后Mesh连接才可以参与Mesh数据转发。
  • 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转发
    对于目的MAC为单播地址的数据帧,首先查找转发表项。若查到匹配表项,则将数据帧由该表项对应的Mesh链路发送出去;若未匹配任何表项,则将该数据帧从所有处于活跃状态的Mesh链路发送出去。
    对于目的MAC为组播或广播地址的数据帧,MP将数据帧从所有处于活跃状态的Mesh链路发送出去。

作者:guiqiang107
链接:https://www.jianshu.com/p/ce56f75284b8
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/345964.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

根据谁创建资源授权资源

我的一位同事向我提出了一个关于StackOverflow的有趣问题,并由于我在Spring方面的经验,建议我回答一个很好的问题。 问题是:“ 如何基于使用注释在REST中创建资源的用户来授权特定资源 。” 要点是: 我想做的是创建一个名为Aut…

netbeans7.4_NetBeans 7.4的本机Java打包

netbeans7.4成为“ NetBeans 74 NewAndNoteworthy ”页面的NetBeans 7.4的新功能之一是“本机打包 ”,在该页面上被描述为“ JavaSE项目现在支持使用JavaFX提供的本机打包技术来创建本机包。 ” 我将使用一个非常简单的示例来演示NetBeans 7.4中的本机打包功能。 下…

斯坦纳点/树、泰森多边形

斯坦纳点 斯坦纳点别名正等角中心、费尔马点、斯坦纳点 在三角形的三边各向其外侧作等边三角形,这三个等边三角形的外接圆交于一点T,该点T即称为托里拆利点(Torricelli’s point ),而三个等边三角形的外接圆称为托里拆…

FXRibbon 1.2版发布

这次,有所不同。 Microsoft对FXRibbon的更新,就像Java的功能区控件(JavaFX)一样 。 在发出使FXRibbon做好更好的准备以将其更新到Java 9以及更高版本的要求之后,我借此机会还添加了一些功能,进行了一些美学…

c语言链表写贪吃蛇思路,C语言构建的链表贪吃蛇

用C语言链表写的贪吃蛇(程序设计时做的,做的不好大佬勿喷)借助游戏内容分析贪吃蛇所需的功能主要包括这几块:移动光标模块打印地图模块和基本规则信息读取最高分文件打印初始蛇模块打印时给予蛇的初始移动方向产生食物模块1)、保证食物在地图内产生2)、保…

用普罗米修斯和格拉法纳乐器来刺豪猪

Adam Bien的Porcupine库使配置用作应用程序隔板的专用执行程序服务变得容易。 我创建了一个扩展,通过MicroProfile Metrics公开了豪猪统计信息。 我们还可以通过Prometheus和Grafana仪表板使仪器可见。 进行此扩展的原因是我们希望对Porcupine线程池的检测进行简单…

三层网络架构

三层网络架构 数据中心网络是连接数据中心大规模服务器进行大型分布式计算的桥梁。 传统数据中心网络普遍采用树型拓扑方案. 典型的拓扑由三层交换机互联构成,分别是接入层交换机、汇聚层交换机和核心层交换机。Cisco称之为:分级的互连网络模…

SDN

直接理解 SDN是在2009年左右出现的一种新型网络结构,它将数据层面与控制层面分离,使用中央控制器完成网络的操作和管理,并通常采用OpenFlow协议作为其核心通信协议,拥有着集中式控制、可编程、部署灵活性和数据层面与控制层面相互…

IP地址分类(A类 B类 C类 D类 E类)

IP地址类型 公有地址 公有地址(Public address)由Inter NIC(Internet Network Information Center因特网信息中心)负责。这些IP地址分配给注册并向Inter NIC提出申请的组织机构。通过它直接访问因特网。 私有地址 私有地址&am…

android 开发 短信,Android开发之短信发送

今天要讲的是使用Android开发发送短信程序。我们先来看下运行效果图(1) 图(2)图(3)图(1):当我们运行项目时,出现在屏幕的效果;图(2):当我们输…

ISP (互联网服务提供商)

ISP:全称为Internet Service Provider,即因特网服务提供商,能提供拨号上网服务、网上浏览、下载文件、收发电子邮件等服务,是网络最终用户进入Internet的入口和桥梁。它包括Internet接入服务和Internet内容提供服务。这里主要是In…

应用层组播、IP组播

通常说的组播一般指IP组播,IGMP协议等 什么是应用层组播? 应用层组播通过在应用层复制和缓存数据包而不是在路由器上复制数据包来避免IP组播的部署问题。应用层组播无须对路由器作任何修改,因此在 Internet 上非常容易部署 为了改善网络效率&#xff0…

android 酷炫倒计时,android 好用的倒计时

android倒计时 是在原有TextView的基础上进行二次开发的自定义View效果图这个主要是结合了android的CountDownTimer,这个一般就是发送短信的倒计时。包含功能倒计时时间超过一个小时显示 时:分:秒时间小于一小时显示:分 &#xff…

音视频常见问题分析和解决:延迟(时延 delay)和抖动

延迟和抖动 延迟:是网络传输中的一个重要指标,测量了数据从一个端点到另外一个端点所需的时间。一般我们用毫秒作为其单位。通常我们也把延迟叫做延时,但是延时有时还会表示数据包发送端到接受端的往返时间。这个往返时间我们可以通过网络监…

forkjoin_应用ForkJoin –从最佳到快速

forkjoin到目前为止,JDK 7已很好地掌握在开发人员手中,并且大多数人都听说过ForkJoin,但是没有多少人有时间或机会去尝试它。 它引起了并且可能仍然引起一些混乱,与普通线程池有什么不同。 [1] 我在本文中的目标是通过一个代码示…

android usb触摸屏驱动 win10,Win10手机居然这样兼容安卓:直接运行apk!

摘要:“应用太少是硬伤!”这是WP粉吐槽微软简洁而有力的一句话。最新的Win10Mobile预览版中首次引入了微软的安卓子系统,这也是微软推行的ProjectAstoria的一部分。那么Win10手机究竟要如何兼容安卓应用呢?微软最新一份招聘启事似…

Java应用程序中的验证

我经常看到的项目几乎没有任何有意识的数据验证策略。 他们的团队在截止日期,明确要求的巨大压力下工作,只是没有足够的时间以适当且一致的方式进行验证。 因此,数据验证代码随处可见:JavaScript片段,Java屏幕控制器&a…

升级鸿蒙系统如何退出,华为鸿蒙2.0系统升级了怎么退回EMUI11系统-操作教程详解...

华为鸿蒙2.0系统升级了怎么退回EMUI11系统?很多用户升级了又不知道如何才能退回到原来的系统,下面就让老铁下载小编为大家带来,2.0系统升级退回EMUI11系统操作教程详解。这次开启华为鸿蒙2.0系统手机开发者beta版公测招募的机型有华为P40 、P…

OpenFlow和SDN的历史和原理介绍

OpenFlow相关的历史、新闻:http://blog.csdn.net/jincm13/article/details/7825754 起源与发展 【https://36kr.com/p/5035985】   OpenFlow起源于斯坦福大学的Clean Slate项目组 [1] 。CleanSlate项目的最终目的是要重新发明英特网,旨在改变设计已略…

小米miuiVS华为鸿蒙,华为鸿蒙2.0 vs 小米MIUI 12.5

原标题:华为鸿蒙2.0 vs 小米MIUI 12.5不久前有媒体在视频中展示了鸿蒙2.0和苹果IOS14两个操作系统下App的启动速度,结果是鸿蒙2.0完胜IOS14。此后不久,该媒体发布了华为鸿蒙2.0和小米MIUI 12.5对比视频。同上次一样,这次依然是选择…