WDS 的两种实现方式
转自:http://blog.chinaunix.net/uid-26527046-id-3627627.html
WDS 的两种实现方式
WDS(Wireless Distribution System),无线分布式系统是指AP将BSS内的数据发往BSS外或者将BSS外数据收入BSS内。通过WDS,AP能够将BSS的范围进行扩展。
WDS链路的两端均为AP,如果把AP与BSS内的STATION之间的接口看做Access接口,那么可以把AP与其他AP之间的接口看做WDS接口。一个AP如果与多个外部的AP建立联系,则它就拥有多个WDS接口。
在Access链路上传输的数据帧只有3个地址域:DA,SA和BSSID。在WDS链路上传输的数据帧具有4个地址域:RA,TA,DS和SA。考虑AP内部的数据转发,总共有四种情况:
- 从Access接口进入,从Access接口发出。对于这种情况,进入AP的数据帧的DA就是本BSS内部其它STATION的地址,因此只需要在AP内桥接转发即可。
- 从Access接口进入,从WDS接口发出。不难看出,此时的关键是需要确定RA。RA其实就是对端AP的地址,因此它与WDS接口是对应的。所以,对于通过WDS转发的情况,关键是确定用那个WDS接口转发。
- 从WDS接口进入,从WDS接口发出。这种情况下虽然进入的数据帧有TA和RA,但仍然不能直接确定发出的数据帧的RA,即通过那个WDS接口发出。
- 从WDS接口进入,从Access接口发出。对于这种情况,AP能够根据进入数据帧的DA判断出该帧是发往本BSS内的STATION的,所以它能够根据本地维护的STATION表把数据帧传递到正确的Access链路上。
可见,关键的问题在于数据帧需要从WDS发出时,怎么确定RA,也就是怎么选择WDS接口的问题。有以下两种实现方法。
1. 二层桥接AP
一个数据帧进入AP后,究竟是通过Access接口发出还是通过WDS接口发出是根据DA来决定的。如果DA是本BSS中的某个STATION,则从Access口发出;否则说明这个数据帧发往其它BSS中的STATION的,因此需要由WDS口发出。
如果能够知道每个WDS接口的对端AP中的STATION列表,那么就可以根据DA来决定该数据帧应该通过哪个WDS接口发出,从而就能够确定RA。
这种AP要求STA在向AP发送数据时,必须准确地指定DA。对于本BSS中的其他STA,这个地址很容易获得;而如果是其他BSS中的DA,这个地址就比较难以得到。因此要求AP具备网桥功能,将同一IP子网中其他BSS中的STA的信息也传递到本BSS中。
按照802.11f,每个AP在STATION关联、离开后都会通知其他AP,因此理论上网络中的AP都可以获得所有其它AP的完整STATION列表,从而可以实现桥接转发。
此外,AP之间还应该能够转发APR请求、ARP响应等。
按照这种方式实现的AP为网桥AP。
网桥AP需要支持802.1D规定的特性,具备学习能力、STP等。
2. 三层路由AP
上面一种方法是从横向来考虑,如果从纵向来考虑,则可以采用路由的方法。一个数据帧进入AP后,如果能在本BSS内转发,则通过Access口发出;否则需要通过WDS接口发出,但选择哪个WDS接口由更上层的功能决定。
为每个WDS接口设定一个IP子网地址范围(A.B.C.D/M),每个进入的数据帧根据其IP地址来决定应该往哪个WDS接口发出。
按照这种方案实现的WDS转发是三层的路由转发,这种AP是路由AP。
这种AP并不要求STA在向AP发送数据时准确指定DA。尤其是当该数据要发往DS时,STA可能只知道对方IP地址,却不知道MAC地址。
以上两种方案各有优缺点。
桥接转发的好处是效率较高,直接在MAC层就可以转发了。其缺点是灵活性差,只能适用于小规模网络。为了实现比较完备的桥接功能,需要在AP中实现802.1d网桥,具备智能式学习能力和生成树算法STP。
另外,桥接只能保证链路层通,而不能保证网络层通。因此,如果是不同的网段相连,需要路由。
路由转发的好处是可以采用成熟高效的路由算法,而且灵活性高,适用于大规模网络。不过对于小规模网络,采用路由AP可能有些浪费。
WDS 的两种实现方式的更多相关文章
- Web APi之认证(Authentication)两种实现方式【二】(十三)
前言 上一节我们详细讲解了认证及其基本信息,这一节我们通过两种不同方式来实现认证,并且分析如何合理的利用这两种方式,文中涉及到的基础知识,请参看上一篇文中,就不再叙述废话. 序言 对于所谓的认证说到底 ...
- Android中BroadcastReceiver的两种注册方式(静态和动态)详解
今天我们一起来探讨下安卓中BroadcastReceiver组件以及详细分析下它的两种注册方式. BroadcastReceiver也就是"广播接收者"的意思,顾名思义,它就是用来 ...
- Android中Fragment与Activity之间的交互(两种实现方式)
(未给Fragment的布局设置BackGound) 之前关于Android中Fragment的概念以及创建方式,我专门写了一篇博文<Android中Fragment的两种创建方式>,就如 ...
- JavaScript 函数的两种声明方式
1.函数声明的方式 JavaScript声明函数有两种选择:函数声明法,表达式定义法. 函数声明法 function sum (num1 ,num2){ return num1+num2 } 表达式定 ...
- Redis两种持久化方式(RDB&AOF)
爬虫和转载请注明原文地址;博客园蜗牛:http://www.cnblogs.com/tdws/p/5754706.html Redis所需内存 超过可用内存怎么办 Redis修改数据多线程并发—Red ...
- struts2+spring的两种整合方式
也许有些人会因为学习了struts1,会以为struts2.struts1与spring的整合也是一样的,其实这两者相差甚远.下面就来讲解一下struts2与spring的整合两种方案.(部分转载,里 ...
- easyui datagride 两种查询方式
easyui datagride 两种查询方式function doReseach() { //$('#tt').datagrid('load', { // FixedCompany: $('.c_s ...
- 【Visual Lisp】两种出错处理方式
两种出错处理方式:一种是对出错函数进行重定义,一种是对错误进行捕捉处理. ;;============================================================= ...
- 两种include方式及filter中的dispatcher解析
两种include方式 我自己写了一个original.jsp,另外有一个includedPage.jsp,我想在original.jsp中把includedPage.jsp引进来有两种方式: 1.& ...
随机推荐
- xheditor上传图片配置
二. 源码: <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Xeditor.a ...
- Winform知识
文档界面 分类: 1.单文档界面应用程序(SDI) 特点: 1.应用程序中SDI的所有窗体都彼此独立 2.多文档界面应用程序(MDI) 特点: 1.每个应用程序中只能有一个MDI父窗体,在父窗体中可以 ...
- Android 静默安装
有时候我们需要软件实现静默安装,但是Android并未提供相应的API,然而我们知道命令行安装android的时候是不会提示用户的,所有要实现这个功能,我们就可以从执行命令行的方式实现.android ...
- Uniform Generator 分类: HDU 2015-06-19 23:26 11人阅读 评论(0) 收藏
Uniform Generator Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) T ...
- SharePoint自动化系列——Select-option标签的定位方法总结
转载请注明出自天外归云的博客园:http://www.cnblogs.com/LanTianYou/ C#中通过Selenium定位页面上的select-option结构,尝试了以下几种方法,均没有生 ...
- Java根据条件删除Map中元素
今天在写程序过程中,需要根据判断条件删除一个Map中的相应数据,我自然而然想到可以通过调用Map中的remove(Object key)函数进行删除:代码如下: public Map<Doubl ...
- 华东交通大学2016年ACM“双基”程序设计竞赛 1002
Problem Description 今天小学弟又训练完了,但是小学弟又不想看球赛,于是小学弟看马赛了.他发现马鞍是一个奇怪的东西.于是小学弟根据马鞍定义了一种马鞍数:在一个二位矩阵中,马鞍数在当前 ...
- Mysql-学习笔记(==》增删主键建立索引 七)
SHOW FULL COLUMNS FROM teacher; -- 增加删除主键 alterCREATE TABLE tt(t INT);ALTER TABLE tt ADD CONSTRAINT ...
- Maven打jar发布包的常用配置
1.修改pom.xml增加如下内容 <plugin> <groupId>org.apache.maven.plugins</groupId> <artifac ...
- percona-toolkit系列之介绍和安装(mysql复制工具)
percona-toolkit使用教程(一) 一.percona-toolkit简介 percona-toolkit是一组高级命令行工具的集合,用来执行各种通过手工执行非常复杂和麻烦的mysql和系统 ...