WDS的原理

  WDS 即 Wireless Distribution System,是无线网络部署延展系统的简称,指用多个无线网络相互联结的方式构成一个整体的无线网络。简单地说,WDS就是利用两个(或以上)无线宽带路由器/AP通过相互连接的方式将无线信号向更深远的范围延伸。利用WDS技术,AP之间可以舍弃传统的有线网络进行互联,每个AP可以作主设备、中继设备和远端设备

  WDS 技术和其他无线扩展技术相比,一个显著的特点就是在各个AP之间传输数据时,保留了客户端的MAC地址,而且客户端的数据传输只牵扯到了MAC地址,跟IP地址无关。WDS也可以被看作Repeater模式,因为WDS可以满足在桥接的同时又可以连接客户端;Repeater 并不一定是WDS。

WDS 网络建立过程

  • DUT1 WDS连接DUT2,首先DUT1会扫描周围的无线信号,寻找匹配的无线BSSID。
  • 找到匹配的BSSID,即发送鉴权请求(Authentication)。
  • DUT2回应告知鉴权认证已通过。
  • DUT1发起关联请求(Association Request)。
  • DUT回复关联回应(Association Response)告知关联成功,WDS连接成功。

WDS 工作原理

  从模式上讲,WDS具有三种工作模式,分别是自学习模式、中继模式和桥接模式。

  自学习模式属于被动模式,也就是说它能自动识别并接受来自其他AP的WDS连接,但其本身不会主动连接周围的WDS AP。所以这种WDS模式只能用于主接入点路由器或AP上,只能用于被扩展的主AP上,而不能用于通过WDS扩展其它AP。

  中继模式是功能最全的WDS模式,在此模式下,AP既可以通过WDS实现无线网络范围的扩展,同时也具有AP的功能,接受无线终端的连接。

  桥接模式和有线网络中的网桥很像,它从一端接收数据包,并把它转手转发到另一端。WDS的桥接模式除了不再同时具有AP功能之外,其它和中继模式基本相同,所以在WDS桥接模式下,AP不再接受无线网络终端的连接,你也搜索不到它的存在。

  从角色来分,WDS网络中成员又可以分为主设备(Main),中继设备(Rely)和远端设备(Remote)。

  具有Internet连接或者局域网络出口的设备通常被作为主设备,通过以太网线接入主干网;处于网络中间用来中继信号的设备为中继设备;无线WDS网络边缘提供无线接入并将数据向主设备转发的设备为远端基站。

示例1

  如下图所示,Station 1和Station 2通过WDS方式建立连接,PC 1连接Station 1,PC 2连接Station 2,其中Station 2上配置WDS连接前端Station 1。Station 1处于自学习模式,接收Station 2的WDS请求,被扩展。Station 2处于中继模式,连接Station 1,并提供自身的无线供客户端连接。但这是一个完全对称可逆的拓扑,即PC1和PC2在整个网络中是对等的,不存在主和辅的关系。下面就以PC1向PC2发包为例介绍数据包的传输过程和MAC头部的变化。

1、PC1 to Station1

  PC 1并不知道整个网络的拓扑,也不需要知道,它只需要了解它所连接的station和想要通信的目的主机的MAC,PC 1完全忽略了Station 2的存在。此时,输入DS位置1,输出DS位置0,三个MAC地址分别是Station 1、PC 1、PC 2。Station 1是下一跳的MAC地址,也是接收站点的SSID MAC;PC 1是源MAC,也是发送方的MAC;PC 2是目的MAC。

2、station1 to station2

  无线四地址传输是只存在于Station与Station之间的,所以此过程中无线帧也是四地址结构。输入和输出DS位都置1,四个MAC地址依次是:Station 2、Station 1、PC 2、PC 1。Station 2和Station 1分别是接收方和发送方的MAC,处于三号位的PC 2仍然是目的MAC,最后是源MAC PC 1。

3、station2 to pc2

  Station 2 to PC 2是一个简单的基站到客户端的过程,输入DS位置0,输出DS位置1。此时MAC依次是PC 2、Station 2、PC 1。PC 2是目的地址,也是下一跳MAC地址;Station 2是发送方的MAC地址,也是其SSID的MAC;PC 1是源MAC地址。

  MAC 地址1 MAC 地址2 MAC 地址3 MAC 地址4 输入DS 输出DS
PC1 to station1 station1 pc1 pc2   1 0
station1 to station2 station2 station1 pc2 pc1 1 1
station2 to PC2 pc2 stiation2 pc1   0 1

示例2

  三个Station通过WDS互联,Station 2 WDS Station 1,Station 3 WDS Station 2。其中Station 1是主设备,处于自学习模式;Station 2是中继设备,属于中继模式,也是桥接模式;Station 3是远端设备,处于中继模式。

  在PC2上ping PC1,ping包要被转发四次才能到达PC1,如下图2-4所示。PC2回复的Ping Reply包同样需要经过四个相反的过程才能到达PC1。如下图所示:

  MAC头部的变化情况:

  MAC地址1 MAC地址2 MAC地址3 MAC地址4 输入DS 输出DS Direction
PC2->station3 station3 PC2 PC1   1 0 ->
station3->station2 station2 station3 PC1 PC2 1 1 ->
station2->station1 station1 station2 PC1 PC2 1 1 ->
station1->PC1 PC1 station1 PC2   0 1 ->
PC1->station1 station1 PC1 PC2   1 0 <-
station1->station2 station2 station1 PC2 PC1 1 1 <-
station2->station3 station3 station2 PC2 PC1     <-
station3->PC2 PC2 station3 PC1       <-

WDS安全机制

WDS的原理的更多相关文章

  1. WDS无线桥接

    因为放假回家,长时间不在家,家里也没什么人,所以也就没有网可以用.为了两个月办宽带又不值得,太过浪费了.于是就只能蹭网用了.当然,要和邻居打个招呼或者你能搞定密码的情况下不打招呼(嘿嘿...).但是有 ...

  2. 房间WIFI信号不好怎么办?——无线路由桥接(WDS)

    背景 1.无线路由在客厅,房间的WIFI信号很差,只有1-2格,虽说是100M的网速,但是从客厅到房间要经过3道墙!电脑的无线接收功能一般都很一般,网速不好理所当然. 2.弄一根网线从客厅连接起来很傻 ...

  3. 图解 Webpack 4.x 热更新原理

    图解 Webpack 4.x 热更新原理 Webpack HMR ️ module.hot & module.hot.accept if (module.hot) { module.hot.a ...

  4. ARP-NAT(MAC Address Translation)的原理

    本文部分图片来自: http://wiki.deliberant.com/faq/wireless-bridge-routing-arpnat/ https://wiki.openwrt.org/do ...

  5. 轻松理解webpack热更新原理

    一.前言 - webpack热更新 Hot Module Replacement,简称HMR,无需完全刷新整个页面的同时,更新模块.HMR的好处,在日常开发工作中体会颇深:节省宝贵的开发时间.提升开发 ...

  6. 奇异值分解(SVD)原理与在降维中的应用

    奇异值分解(Singular Value Decomposition,以下简称SVD)是在机器学习领域广泛应用的算法,它不光可以用于降维算法中的特征分解,还可以用于推荐系统,以及自然语言处理等领域.是 ...

  7. node.js学习(三)简单的node程序&&模块简单使用&&commonJS规范&&深入理解模块原理

    一.一个简单的node程序 1.新建一个txt文件 2.修改后缀 修改之后会弹出这个,点击"是" 3.运行test.js 源文件 使用node.js运行之后的. 如果该路径下没有该 ...

  8. 线性判别分析LDA原理总结

    在主成分分析(PCA)原理总结中,我们对降维算法PCA做了总结.这里我们就对另外一种经典的降维方法线性判别分析(Linear Discriminant Analysis, 以下简称LDA)做一个总结. ...

  9. [原] KVM 虚拟化原理探究(1)— overview

    KVM 虚拟化原理探究- overview 标签(空格分隔): KVM 写在前面的话 本文不介绍kvm和qemu的基本安装操作,希望读者具有一定的KVM实践经验.同时希望借此系列博客,能够对KVM底层 ...

随机推荐

  1. android 动画总结

    以下博文讲解比较详细,可查阅: http://www.360doc.com/content/13/0102/22/6541311_257754535.shtml 几个关键属性: setRepeatCo ...

  2. android 6.0权限处理

    在模拟器测试好的程序,运行在mate8上面一直崩,经多方查探才找到以下博文,方法还没掌握,但也算是找到原因了: http://***/article/android-6-0-runtime-permi ...

  3. webrtc - web 应用相关网站

    很有意思的网站 http://io13webrtc.appspot.com/#1 html5使用webrtc简介 http://www.html5rocks.com/en/tutorials/getu ...

  4. Sqlite查询时间段内的数据问题解决!

    最近搞Sqlite本地查询,需求为查询某时间段内的数据,在SQL中我们都知道为: select * from tblName where rDate Between '2008-6-10' and   ...

  5. Scrapy学习教程

    http://scrapy-chs.readthedocs.io/zh_CN/0.24/intro/tutorial.html 在线学习教程: http://learnpythonthehardway ...

  6. 第十六章:网络IPC:套接字

    16.1.引言 上一章考查了各种Unix系统所提供的经典进程间通信(IPC)机制:管道.先进先出.消息队列.信号量以及共享内存.通过这些机制,同一台计算机上运行的进程可以相互通信.本章将考查不同计算机 ...

  7. reactjs入门到实战(三)---- 组件详解

    owner  >>> 传递 props this >>>是默认指向组件本身 key>>>不能没有,在复用的情况下 组件:例子 <!-- 输入 ...

  8. 配置Python+selenium+firefox自动化测试

    1.安装python.默认安装 2.安装pip.下载pip-1.5.4包,解压pip-1.5.4,放在C盘,进入pip目录-->键入命令:python setup.py install  再进入 ...

  9. 命名空间std引用<iostream>时使用

    所谓namespace,是指标识符的各种可见范围. C++标准程序库中的所有标识符都被定义于一个名为std的namespace中,这样命名空间std内定义的所有标识符都有效. 为什么把cout等放在s ...

  10. CentOS7安装Docker,运行Nginx镜像、Centos镜像

    摘要 总体思路:yum命令直接安装Docker,下载想要的镜像并启动 1.环境,CentOS7 Minimal 64位,Docker必须要64位的系统 2.通过yum命令直接安装,yum instal ...