多接口Mesh协议
rtMesh系统使用的多接口Mesh协议(Multi-interface Mesh Protocol),是基于开源的Mesh项目,并吸收了其它Mesh系统的优点,同时加入我们在应用中的经验,进行融合发展而来的协议。同时,为了符合开源协议,也为了系统更加安全,我们也正在将使用到的开源代码逐步用我们重写的私有代码完全代替。 多接口Mesh协议以ad hoc接口作为基础进行开发的,以减少底层开发工作量,并利用已经稳定的代码。
网络结构
一个无线Mesh网络中,由客户端(client),路由(router), 网关(gateway)组成。这里面,客户端是指接入mesh网络的设备,如电脑、手机、专用设备等;网关是指连接其它网络的接口设备;路由负责转发客户端之间,或由网关到客户端的数据。一个设备可以兼具客户端、路由或网关功能中一个或多个,也可以称为一个Mesh节点(node)。
一个Mesh节点可以与多个其它Mesh节点进行通信,通过所使用路由协议,选择用于数据转发路由节点。每个可与节点通信的其它节点,称之为它的Peer。所以,一个节点可以存在多个Peer,只要与另一个节点间的信号强度满足通信要求,就可以组成Peer。
数据从Mesh中的一个节点到另一个节点中间需要经过的节点,称之为路径(Path)。
下面是一个无线Mesh网络连接的示例:
在上面图例中,有6个Mesh节点,虚线表示它们之间可以直接通信的链路。其中节点1连接有线路由,可认为是网关节点。对于节点4来说,它存在4个Peers,分别是节点1、节点2、节点3、节点5。Sta通过连接节点4的AP接口,接入Mesh网络,并实现可以与PC通信。当节点5有数据需要发送给PC时,根据Mesh网络状况,可能选择通过节点3转发给节点1,然后节点1发送有线路由,最后转发给PC。当Sta需要与节点6进行通信时,可能通过节点4、节点3转发最终到达节点6,也可能因为节点3与节点4之间的通信链路质量不佳,而是通过节点4、节点5、节点3这样的路径转发给节点6。
未完待续