[Wi-Fi/BLE] 在单一网络上使能与WLAN和LAN的L2桥接

[复制链接]
1016|5
手机看帖
扫描二维码
随时随地手机跟帖
ElenaZ|  楼主 | 2022-4-22 09:14 | 显示全部楼层 |阅读模式
在单一网络上使能与WLANLANL2桥接
目的

L2桥接模式(同一子网上的WLAN和LAN)下WLAN接口的配置指南。
477386261ff37c8f8d.png


L2桥接

根据维基百科的定义,网络桥接是一种通过两个以上通信网络创建单个聚合网络的功能。

路由和桥接经常被误解为相同的功能。路由功能允许两个以上网络进行通信,同时保持网络的独立性。而桥接功能将两个独立的网络连接起来,就好像它们是单一网络一样。

在OSI模型中,桥接是在数据链路层(第2层)执行的。

747816261ff4db2934.png


桥接独立于IP地址。桥接网络中具有一个或多个无线网段的设备可以称为无线网桥。

以下是创建桥接项目时要考虑的关键点:

•        网桥只知道MAC地址,不知道其他任何信息
•        网桥从不将数据包转发回发送数据包的接口,以避免产生循环
•        如果数据包目标(MAC)地址是多播或广播,则将在所有其他接口上转发数据包
°       数据包也将在内部传递给在网桥上层运行的协议栈以进行内部处理
•        如果数据包目标是单播:
°       如果是桥接主机上其中一个接口的地址,则将传递数据包以进行内部处理
°       如果是MAC网桥已知的主机地址,则将仅在该接口上转发数据包
§  网桥通过查看传入数据包的源MAC地址来确定各个主机的位置
°      否则它将在所有接口上进行转发

软件要求

PIC32MZW1可用作无线网桥,将多个无线网络和有线网络连接起来构成单一网络。

可以使用具有NET资源库(3.7.1或更高版本)和无线资源库(3.4.0或更高版本)的MPLAB® Harmony配置器(MHC)使能或禁止桥接功能。

硬件设置

•        计算机通过USB电源(J204)连接到WFI32 Curiositiy板
•        J202 = VBUS
•        J301 = 断开

在计算机和GPIO插槽的UART1引脚(Rx、GND和Tx)之间布设USB转UART线缆以观察控制台日志。

•        PIC32 LAN8720 PHY子板(AC3200043-3)通过J208插入WFI32Cursiotiy板
648976261ff6eee2e1.png


•        用一条以太网电缆连接PHY子板和家用路由器
754876261ff85a6034.png


MHC配置

•        通过MPLAB X IDE打开项目WiFi-ethernet dualinterface,此项目位于<HarmonyFrameworkFolder>/wireless/apps/wifi_eth_dual_interface
•        打开Harmony配置器
•        在Project Graph > Root(项目图 > 根)下,在WiFi Service(Wi-Fi®服务)中设置工作站设备连接至网桥所需的AP参数
44126261ffa758eba.png


•        在Project Graph > APPLICATION LAYER(项目图 > 应用层)下:
°      选择DHCP Server(DHCP服务器)
°       取消选中DHCPServer Instance 0(DHCP服务器实例0)复选框
216096261ffb9b9632.png


•        在Project Graph > APPLICATION LAYER下:
°       选择TCP/IPApplication Layer Configuration(TCP/IP应用层配置)
°       添加DHCPCLIENT(DHCP客户端)和DNS CLIENT(DNS客户端)组件
°       移除DHCPServer(DHCP服务器)
998006261ffcbce278.png


•        在Project Graph > System Configuration(项目图 > 系统配置)下,确保在NETCONFIG组件中使能以太网和Wi-Fi MAC实例
276576261ffdf6bf10.png


•        选择ETHMAC组件,展开Ethernet Rx Filters Selection(以太网Rx过滤器选择)并选中Accept Not Me UnicastPackets(接受非自身单播数据包),以使能混杂模式
236266261fff500c45.png 858146261fffd833c5.png


•        从NETCONFIG组件中选择MACInstance 0(MAC实例0)
°       确保IPv4Static Address(IPv4静态地址)= 0.0.0.0
°      禁止Network Configuration Start-up Flags(网络配置启动标志)下的DHCP Flag(DHCP标志)、DNS Flag(DNS标志)和Multicast(多播)

°       使能AdvancedSettings(高级设置)下的Add Interface to MAC Bridge(向MAC网桥添加接口)
638596262001c1b4d5.png


•        从NETCONFIG组件中选择MACInstance 1(MAC实例1)
°       确保IPv4Static Address = 0.0.0.0
°       使能NetworkConfiguration Start-up Flags下的DHCP FlagDNSFlag
°      使能Advanced Settings下的AddInterface to MAC Bridge
550196262002e72bbe.png


•        选择NETCONFIG组件,并选中Enablethe MAC Bridge Commands(使能MAC网桥命令)
304266262003d4b093.png

•        生成代码
780706262004e3e3e8.png
通过上述设置,WFI32现在可以作为Wi-Fi网桥运行。
尝试操作
1.       下载:https://github.com/MicrochipTech/PIC32MZW1_Ethernet_WIFI_Bridge
2.       在MPLAB X IDE中打开项目PIC32MZW1_Ethernet_WIFI_Bridge/firmware/pic32mz_w1_curiosity_freertos.X
3.       用以太网电缆将PHY子板与您自己的家用路由器相连
4.       重置WFI32ECuriosity板
77878626200640346c.png
5.     在SoftAP模式下,将无线网络中的工作站连接到WFI32设备创建的WLAN网络(WFI32设备AP,SSID =DEMO_AP_SOFTAP)
89472626200a7f0d4b.png
6.       要评估性能,可在通过以太网电缆连接到家用路由器的工作站上打开iPerf服务器
•        获取服务器的IP地址 > ipconfg
•        运行iperf服务器 >iperf3 -s
7.       在客户端,打开iPerf应用程序或从控制台执行 >iperf3 -c <服务器的IP地址>命令
5811626200d3267c6.png       33530626200e6060fa.png



使用特权

评论回复
什么是单一网络?什么是TCP/IP? 什么是路由?什么是WLAN/LAN?如果没有什么,那么什么都不是。

使用特权

评论回复
技术无可挑剔 发表于 2022-5-6 22:49
什么是单一网络?什么是TCP/IP? 什么是路由?什么是WLAN/LAN?如果没有什么,那么什么都不是。 ...

简单来说,就一开源可编程网桥

使用特权

评论回复
内政奇才| | 2022-5-7 15:40 | 显示全部楼层
这个在Microchip芯片上有啥具体应用了

使用特权

评论回复
ElenaZ|  楼主 | 2022-5-12 18:02 | 显示全部楼层
我们有一些具体应用是使用 PIC32MZW1 来扩展原来已有产品的连接性。一些原装已有的产品只有以太网接口(尤其是旧型号产品)。这些产品要用网线连接到网络做成不便, 因此需要使用 PIC32MZW1 L2 桥接器功能,开发人员可以在不重新设计原来产品的情况下将 WiFi 接口添加到产品中。通过 WiFi 连接,用户可以远程控制产品进行维护或 OTA 升级等不同任务。开发者也可在PIC32MZW1上添加其他MCU 的工能。


除这个例子之外, 开发人员也可按他们产品实际需要把PIC32MZW1 L2 桥接器功能应用在他们产品上。
54796627cdb04ac4fc.png

使用特权

评论回复
ElenaZ|  楼主 | 2022-5-19 18:03 | 显示全部楼层
这是另一个框图供各位参考, 无线基站最多可以连八个

65050628615f101a70.png

使用特权

评论回复
您需要登录后才可以回帖 登录 | 注册

本版积分规则