﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-ywjr-随笔分类-wlan</title><link>http://www.blogjava.net/ywjr/category/44787.html</link><description /><language>zh-cn</language><lastBuildDate>Wed, 21 Apr 2010 07:02:40 GMT</lastBuildDate><pubDate>Wed, 21 Apr 2010 07:02:40 GMT</pubDate><ttl>60</ttl><item><title>WLAN中的VLAN划分方法 </title><link>http://www.blogjava.net/ywjr/archive/2010/04/21/318978.html</link><dc:creator>河马虎</dc:creator><author>河马虎</author><pubDate>Wed, 21 Apr 2010 06:44:00 GMT</pubDate><guid>http://www.blogjava.net/ywjr/archive/2010/04/21/318978.html</guid><wfw:comment>http://www.blogjava.net/ywjr/comments/318978.html</wfw:comment><comments>http://www.blogjava.net/ywjr/archive/2010/04/21/318978.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/ywjr/comments/commentRss/318978.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/ywjr/services/trackbacks/318978.html</trackback:ping><description><![CDATA[<p>VLAN的好处在于有效地限制了L2的广播域。对于有线网络，常见的VLAN划分方法包括基于交换机端口的划分、基于MAC地址的划分、基于L3的IP划分以及基于802.1x的安全凭证划分等，这方面的资料比较多，支持的产品也很多，应用很成熟。</p>
<p>但对于WLAN，该如何划分VLAN呢？</p>
<p>WLAN的网络结构基本单位是BSS。BSS有两种形态：独立基础结构（IBSS，也叫自组网Adhoc）和基础结构Infrastructure。自组网就是多个站点自发组成一个可以互通的WLAN，而基础结构模式则以AP为中心，其它站点都先与AP关联，然后才能与BSS中的其它站点进行通信。以下所提到的BSS仅指基础结构。</p>
<p>WLAN中的VLAN划分必须要有AP的支持。每一个VLAN由一个VLAN ID来标示，因此以什么作为VLAN ID的依据，决定了VLAN在哪个层次划分。根据VLAN与BSS的关系，WLAN中的VLAN划分有几种情况。</p>
<p>1. 以MAC层依据作为VLAN ID</p>
<p>一个AP至少可以组建一个BSS，而且不少实际的产品还支持同时虚拟出多个BSS，每个BSS拥有不同的BSSID。对于每个BSS，一些AP产品还可以同时支持多个SSID，不同的SSID共享大部分的BSS配置和Radio接口配置，可以有少部分配置不一样（比如密钥）。</p>
<p>1.1 以SSID或BSSID为划分依据</p>
<p>一种容易实现的VLAN划分方法就是以SSID为划分依据，每个SSID对应一个VLAN ID。这种划分依据完全来自于802.11 MAC层的SSID，因此可以完全在AP内部实现。根据AP对多SSID支持情况的不同，具体情况又有所不同。</p>
<p>1.1.1 AP支持多个BSS，每个BSS又支持多个SSID</p>
<p>这种情况下按照SSID来划分VLAN，所有连接到该SSID的站点都属于同一个VLAN。每个SSID提供给STATION的接入端口均为VLAN的Access端口，是不带tag的端口。</p>
<p>由于一个BSS内有多个SSID，因此一个BSS内就会有多个VLAN。由于这些SSID均属于同一BSS，因此如果位于两个VLAN内的STATION要通信，只需要经过AP内部的转发桥接即可。</p>
<p>1.1.2 AP仅支持一个BSS，每个BSS支持多SSID</p>
<p>这种情况下按照SSID来划分VLAN，跟上面的情况类似。</p>
<p>1.1.3 AP支持多个BSS，每个BSS仅支持一个SSID</p>
<p>这种情况下SSID与BSSID一一对应，因此根据SSID来划分VLAN与根据BSSID来划分是一样的。这种情况下属于同一个BSS的站点属于同一个VLAN，位于两个VLAN内的STATION要通信，只需要经过AP内部的转发桥接即可也仅仅需要AP内部的转发。</p>
<p>1.1.4 AP仅支持BSS，每个BSS仅支持一个SSID</p>
<p>这种情况下如果按照SSID或BSSID来划分VLAN，则整个BSS均属于同一VLAN。由于不存在多个VLAN，因此不存在VLAN互通的问题。</p>
<p>可见，如果在同一AP内部划分不同的VLAN，那么这些VLAN间的互通仅需要AP内部的MAC桥接即可实现，而不需要将数据交到更高层进行转发或桥接。</p>
<p>1.2 以MAC地址为划分依据</p>
<p>这种情况根据STATION的MAC地址在BSS内划分VLAN。AP根据从STATION发来的帧中的源地址决定该STATION所属的VLAN，从而可以保证同一VLAN的互通和不同VLAN的桥接。</p>
<p>上面的两种划分均是以802.11 MAC层的信息作为VLAN ID的划分依据，因此同一VLAN内部的转发和不同VLAN之间的桥接均可在AP内部实现，而不需要分发。</p>
<p>在上面的两种情况下，在AP内部只需要维护两张表即可：一张表是VLAN ID与VLAN依据（SSID/BSSID或MAC地址）之间的对应表，另一张表示VLAN ID与VLAN接口之间的对应表。Access端口上的数据收发情况如下：</p>
<p>进入Access端口的数据：可以不带tag。如果需要分发到AP外（目的地址不是BSSID且不是任何BSS中的其它站点），则加上tag通过分发接口分发；如果不需要分发到AP外，则有几种情况：</p>
<p>DA为BSSID，则由AP接收并处理； <br />
DA为同一VLAN中的其它STATION，则MAC层转发； <br />
DA为不同VLAN，但同一AP中的其它STATION，则执行VLAN之间的桥接协议。 <br />
从Access端口发出的数据：不带tag，直接发到STATION。</p>
<p>这种划分的缺点仅适合于较小的网络，灵活性较差。比如，无法实现跨AP的VLAN，也就是连接到不同AP的两个STATION无法划分到同一个VLAN。</p>
<p>2. 动态VLAN划分方式</p>
<p>动态划分方式并不由AP来决定VLAN ID，而是由其它更高级的设备来决定。一种方法是由RADIUS服务器来划分。当一个STATION与AP关联时，AP中的RADIUS客户端与RADIUS服务器进行通信，从而得到该STATION所属的VLAN ID。RADIUS决定STATION服务器所属VLAN的依据可以是用户名、IP地址等，因此具有很大的灵活性。当用户的位置改变后，他所属的VLAN仍然不变。</p>
<p>采用动态VLAN方式后，同一个AP的同一个SSID中的两个STATION可能属于不同的VLAN，而连接到两个不同AP中的STATION却可能属于同一VLAN。因此这种情况下，要实现同一VLAN中不同STATION之间的互通，需要更高层的转发和桥接，可能需要经过位于WDS接口或以太网DS接口等接口之上的VLAN trunk、hybrid端口。</p>
<p>&nbsp;</p>
<p>本文来自CSDN博客，转载请标明出处：http://blog.csdn.net/rangzh/archive/2008/07/02/2606778.aspx</p>
<img src ="http://www.blogjava.net/ywjr/aggbug/318978.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/ywjr/" target="_blank">河马虎</a> 2010-04-21 14:44 <a href="http://www.blogjava.net/ywjr/archive/2010/04/21/318978.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>WLAN中的VLAN划分方法 </title><link>http://www.blogjava.net/ywjr/archive/2010/04/21/318979.html</link><dc:creator>河马虎</dc:creator><author>河马虎</author><pubDate>Wed, 21 Apr 2010 06:44:00 GMT</pubDate><guid>http://www.blogjava.net/ywjr/archive/2010/04/21/318979.html</guid><wfw:comment>http://www.blogjava.net/ywjr/comments/318979.html</wfw:comment><comments>http://www.blogjava.net/ywjr/archive/2010/04/21/318979.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/ywjr/comments/commentRss/318979.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/ywjr/services/trackbacks/318979.html</trackback:ping><description><![CDATA[<p>VLAN的好处在于有效地限制了L2的广播域。对于有线网络，常见的VLAN划分方法包括基于交换机端口的划分、基于MAC地址的划分、基于L3的IP划分以及基于802.1x的安全凭证划分等，这方面的资料比较多，支持的产品也很多，应用很成熟。</p>
<p>但对于WLAN，该如何划分VLAN呢？</p>
<p>WLAN的网络结构基本单位是BSS。BSS有两种形态：独立基础结构（IBSS，也叫自组网Adhoc）和基础结构Infrastructure。自组网就是多个站点自发组成一个可以互通的WLAN，而基础结构模式则以AP为中心，其它站点都先与AP关联，然后才能与BSS中的其它站点进行通信。以下所提到的BSS仅指基础结构。</p>
<p>WLAN中的VLAN划分必须要有AP的支持。每一个VLAN由一个VLAN ID来标示，因此以什么作为VLAN ID的依据，决定了VLAN在哪个层次划分。根据VLAN与BSS的关系，WLAN中的VLAN划分有几种情况。</p>
<p>1. 以MAC层依据作为VLAN ID</p>
<p>一个AP至少可以组建一个BSS，而且不少实际的产品还支持同时虚拟出多个BSS，每个BSS拥有不同的BSSID。对于每个BSS，一些AP产品还可以同时支持多个SSID，不同的SSID共享大部分的BSS配置和Radio接口配置，可以有少部分配置不一样（比如密钥）。</p>
<p>1.1 以SSID或BSSID为划分依据</p>
<p>一种容易实现的VLAN划分方法就是以SSID为划分依据，每个SSID对应一个VLAN ID。这种划分依据完全来自于802.11 MAC层的SSID，因此可以完全在AP内部实现。根据AP对多SSID支持情况的不同，具体情况又有所不同。</p>
<p>1.1.1 AP支持多个BSS，每个BSS又支持多个SSID</p>
<p>这种情况下按照SSID来划分VLAN，所有连接到该SSID的站点都属于同一个VLAN。每个SSID提供给STATION的接入端口均为VLAN的Access端口，是不带tag的端口。</p>
<p>由于一个BSS内有多个SSID，因此一个BSS内就会有多个VLAN。由于这些SSID均属于同一BSS，因此如果位于两个VLAN内的STATION要通信，只需要经过AP内部的转发桥接即可。</p>
<p>1.1.2 AP仅支持一个BSS，每个BSS支持多SSID</p>
<p>这种情况下按照SSID来划分VLAN，跟上面的情况类似。</p>
<p>1.1.3 AP支持多个BSS，每个BSS仅支持一个SSID</p>
<p>这种情况下SSID与BSSID一一对应，因此根据SSID来划分VLAN与根据BSSID来划分是一样的。这种情况下属于同一个BSS的站点属于同一个VLAN，位于两个VLAN内的STATION要通信，只需要经过AP内部的转发桥接即可也仅仅需要AP内部的转发。</p>
<p>1.1.4 AP仅支持BSS，每个BSS仅支持一个SSID</p>
<p>这种情况下如果按照SSID或BSSID来划分VLAN，则整个BSS均属于同一VLAN。由于不存在多个VLAN，因此不存在VLAN互通的问题。</p>
<p>可见，如果在同一AP内部划分不同的VLAN，那么这些VLAN间的互通仅需要AP内部的MAC桥接即可实现，而不需要将数据交到更高层进行转发或桥接。</p>
<p>1.2 以MAC地址为划分依据</p>
<p>这种情况根据STATION的MAC地址在BSS内划分VLAN。AP根据从STATION发来的帧中的源地址决定该STATION所属的VLAN，从而可以保证同一VLAN的互通和不同VLAN的桥接。</p>
<p>上面的两种划分均是以802.11 MAC层的信息作为VLAN ID的划分依据，因此同一VLAN内部的转发和不同VLAN之间的桥接均可在AP内部实现，而不需要分发。</p>
<p>在上面的两种情况下，在AP内部只需要维护两张表即可：一张表是VLAN ID与VLAN依据（SSID/BSSID或MAC地址）之间的对应表，另一张表示VLAN ID与VLAN接口之间的对应表。Access端口上的数据收发情况如下：</p>
<p>进入Access端口的数据：可以不带tag。如果需要分发到AP外（目的地址不是BSSID且不是任何BSS中的其它站点），则加上tag通过分发接口分发；如果不需要分发到AP外，则有几种情况：</p>
<p>DA为BSSID，则由AP接收并处理； <br />
DA为同一VLAN中的其它STATION，则MAC层转发； <br />
DA为不同VLAN，但同一AP中的其它STATION，则执行VLAN之间的桥接协议。 <br />
从Access端口发出的数据：不带tag，直接发到STATION。</p>
<p>这种划分的缺点仅适合于较小的网络，灵活性较差。比如，无法实现跨AP的VLAN，也就是连接到不同AP的两个STATION无法划分到同一个VLAN。</p>
<p>2. 动态VLAN划分方式</p>
<p>动态划分方式并不由AP来决定VLAN ID，而是由其它更高级的设备来决定。一种方法是由RADIUS服务器来划分。当一个STATION与AP关联时，AP中的RADIUS客户端与RADIUS服务器进行通信，从而得到该STATION所属的VLAN ID。RADIUS决定STATION服务器所属VLAN的依据可以是用户名、IP地址等，因此具有很大的灵活性。当用户的位置改变后，他所属的VLAN仍然不变。</p>
<p>采用动态VLAN方式后，同一个AP的同一个SSID中的两个STATION可能属于不同的VLAN，而连接到两个不同AP中的STATION却可能属于同一VLAN。因此这种情况下，要实现同一VLAN中不同STATION之间的互通，需要更高层的转发和桥接，可能需要经过位于WDS接口或以太网DS接口等接口之上的VLAN trunk、hybrid端口。</p>
<p>&nbsp;</p>
<p>本文来自CSDN博客，转载请标明出处：http://blog.csdn.net/rangzh/archive/2008/07/02/2606778.aspx</p>
<img src ="http://www.blogjava.net/ywjr/aggbug/318979.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/ywjr/" target="_blank">河马虎</a> 2010-04-21 14:44 <a href="http://www.blogjava.net/ywjr/archive/2010/04/21/318979.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>