2024年4月28日发(作者:)

MikroTik HWMP+ Mesh无线网状网络

概要:

HWMP+是MikroTik为无线网状网络Mesh定义的2层路由协议。基于来至

IEEE802.11s草案 Hybrid Wireless Mesh Protocol (HWMP),能用于替代STP生成树

协议确保环路的最优路径。 HWMP+ 协议并不能兼容HWMP的IEEE 802.11s草案。

注:这种分布式系统不仅能应用到无线分布系统(WDS)。HWMP+网状网络同样也

支持以太网接口的网状网络,因此你可以用于简单的以太网分布系统,或者同时连接WDS

和以太网。

应用实例

使用 wds-default-cost和 wds-cost-range 无线接口参数会被路由协议使用, 该

WDS的成本将被用来作为path-cost端口动态添加到网格接口。

/interface mesh port add interface=wlan1 mesh=mesh1

/interface mesh port add interface=wlan2 mesh=mesh1

# 用于AP间互联的interface

/interface wireless set wlan1 disabled=no ssid=mesh frequency=2437

band=2.4ghz-b/g mode=ap-bridge wds-mode=static-mesh

wds-default-bridge=mesh

# 用于客户端连接的interface

/interface wireless set wlan2 disabled=no ssid=mesh-clients frequency=5180

band=5ghz mode=ap-bridge

# 为每一个AP配置一个静态的WDS接口连接

/interface wireless wds add disabled=no master-interface=wlan1

name= wds-address=

end>

注意:这里的WDS接口设置需要手动,因为我们采用的是静态WDS模式,如果你

使用wds-mode=dynamic-mesh,所有的WDS接口将会自动创建。

在真是环境中尼最好需要注意无线连接的安全问题。可以使用/interface wireless

security-profile.

在路由器A上的结果(现在有一个客户端连接到Wlan2 ):

[admin@A] > /interface mesh pr

Flags: X - disabled, R - running

0 R name="mesh1" mtu=1500 arp=enabled

mac-address=00:0C:42:0C:B5:A4 auto-mac=yes

admin-mac=00:00:00:00:00:00 mesh-portal=no hwmp-default-hoplimit=32

hwmp-preq-waiting-time=4s hwmp-preq-retries=2

hwmp-preq-destination-only=yes

hwmp-preq-reply-and-forward=yes hwmp-prep-lifetime=5m

hwmp-rann-interval=10s

hwmp-rann-propagation-delay=1s hwmp-rann-lifetime=22s

[admin@A] > interface mesh port p detail

Flags: X - disabled, I - inactive, D - dynamic

0 interface=wlan1 mesh=mesh1 path-cost=10 hello-interval=10s

port-type=auto port-type-used=wireless

1 interface=wlan2 mesh=mesh1 path-cost=10 hello-interval=10s

port-type=auto port-type-used=wireless

2 D interface=router_B mesh=mesh1 path-cost=105 hello-interval=10s

port-type=auto port-type-used=WDS

3 D interface=router_D mesh=mesh1 path-cost=76 hello-interval=10s

port-type=auto port-type-used=WDS

FDB (转发数据库Forwarding Database)在当前状态下包含的本地MAC地址信息,

Mesh节点能能到达的本地接口和探测到的Mesh邻居:

[admin@A] /interface mesh> fdb print

Flags: A - active, R - root

MESH TYPE MAC-ADDRESS ON-INTERFACE

LIFETIME AGE

A mesh1 local 00:0C:42:00:00:AA

3m17s

A mesh1 neighbor 00:0C:42:00:00:BB router_B

1m2s

A mesh1 neighbor 00:0C:42:00:00:DD router_D

3m16s

A mesh1 direct 00:0C:42:0C:7A:2B wlan2

2m56s

A mesh1 local 00:0C:42:0C:B5:A4

2m56s

[admin@A] /interface mesh> fdb print detail

Flags: A - active, R - root

A mac-address=00:0C:42:00:00:AA type=local age=3m21s mesh=mesh1

metric=0 seqnum=4294967196

A mac-address=00:0C:42:00:00:BB type=neighbor on-interface=router_B

age=1m6s mesh=mesh1 metric=132 seqnum=4294967196

A mac-address=00:0C:42:00:00:DD type=neighbor on-interface=router_D

age=3m20s mesh=mesh1 metric=79 seqnum=4294967196

A mac-address=00:0C:42:0C:7A:2B type=direct on-interface=wlan2 age=3m

mesh=mesh1 metric=10 seqnum=0

A mac-address=00:0C:42:0C:B5:A4 type=local age=3m mesh=mesh1

metric=0 seqnum=0

测试ping :

[admin@A] > /ping 00:0C:42:00:00:CC

00:0C:42:00:00:CC 64 byte ping time=108 ms

00:0C:42:00:00:CC 64 byte ping time=51 ms

00:0C:42:00:00:CC 64 byte ping time=39 ms

00:0C:42:00:00:CC 64 byte ping time=43 ms

4 packets transmitted, 4 packets received, 0% packet loss

round-trip min/avg/max = 39/60.2/108 ms

Router A必须探测到Router C的路径,因此第一个ping包延迟稍微大一点。

同样我们也可以通过IP层的ping检测网络A:

[admin@A] > /ping 10.4.0.3

10.4.0.3 64 byte ping: ttl=64 time=163 ms

10.4.0.3 64 byte ping: ttl=64 time=46 ms

10.4.0.3 64 byte ping: ttl=64 time=48 ms

3 packets transmitted, 3 packets received, 0% packet loss

round-trip min/avg/max = 46/85.6/163 ms

协议属性

Router A 想要探测到C的路径

Router C 发送单播数据回复A

根节点通过不断发送RANN信息

在反应方式中HWMP+是非常类似AODV(Ad-hoc On-demand Distance Vector

按英文字面个意思是自组网按需 距离 向量网络,AODV各移动节点并不持续维护实时描

述整个网络拓扑的路由表,仅在有业务到达时才查找建立支持该业务交换的路由,从而节省

了大量未必有效的路由管理控制开销)。

HWMP+在一经要求的情况下所有路径被探测到,通过在网络中不断发送路径请求信

息(PREQ)。目的节点或者在路径上的路由器会回复路径信息(PREP)。注意:如果目标地址

属于一个客户终端,该AP会为下面的客户终端提供代理(例如:答复PREQ以他的名义)。

这种模式适用于移动网络,或大部分的通信发生的内部mesh节点。

主动方式

根节点通过不断发送RANN信息

数据流路

当连接消失,错误的上行数据

HWMP+ 使用路径错误信息(PERR)通告一个连接消失,这个信息会发送到所有的上

行数据流节点返回到数据源,源节点接收到PERR后会重启路径探测。

内部节点回应PREG

在主动方式一些路由器配置为入口。一般一个入口代表路由器有接口连接到其它的网

络。

在网络中入口通过发送根消息(RANN)会宣布他是出入点。内部节点会回应一个路

径注册信息(PREG),这样的结果是入口节点作为路径树的根节点。

路径为入口将充当一种默认路由,如果一个内部路由没有找到指定的目的路径,将会

把所有数据发送到最近的入口节点,如果可能,入口将作为代理路由寻找路径。这个可以

引导向最佳的路径,除非数据被指定到入口节点本身,或者一些已有的外部网络接口入口

节点