随笔 - 34, 文章 - 1, 评论 - 2, 引用 - 0
数据加载中……

WLAN中的VLAN划分方法

VLAN的好处在于有效地限制了L2的广播域。对于有线网络,常见的VLAN划分方法包括基于交换机端口的划分、基于MAC地址的划分、基于L3的IP划分以及基于802.1x的安全凭证划分等,这方面的资料比较多,支持的产品也很多,应用很成熟。

但对于WLAN,该如何划分VLAN呢?

WLAN的网络结构基本单位是BSS。BSS有两种形态:独立基础结构(IBSS,也叫自组网Adhoc)和基础结构Infrastructure。自组网就是多个站点自发组成一个可以互通的WLAN,而基础结构模式则以AP为中心,其它站点都先与AP关联,然后才能与BSS中的其它站点进行通信。以下所提到的BSS仅指基础结构。

WLAN中的VLAN划分必须要有AP的支持。每一个VLAN由一个VLAN ID来标示,因此以什么作为VLAN ID的依据,决定了VLAN在哪个层次划分。根据VLAN与BSS的关系,WLAN中的VLAN划分有几种情况。

1. 以MAC层依据作为VLAN ID

一个AP至少可以组建一个BSS,而且不少实际的产品还支持同时虚拟出多个BSS,每个BSS拥有不同的BSSID。对于每个BSS,一些AP产品还可以同时支持多个SSID,不同的SSID共享大部分的BSS配置和Radio接口配置,可以有少部分配置不一样(比如密钥)。

1.1 以SSID或BSSID为划分依据

一种容易实现的VLAN划分方法就是以SSID为划分依据,每个SSID对应一个VLAN ID。这种划分依据完全来自于802.11 MAC层的SSID,因此可以完全在AP内部实现。根据AP对多SSID支持情况的不同,具体情况又有所不同。

1.1.1 AP支持多个BSS,每个BSS又支持多个SSID

这种情况下按照SSID来划分VLAN,所有连接到该SSID的站点都属于同一个VLAN。每个SSID提供给STATION的接入端口均为VLAN的Access端口,是不带tag的端口。

由于一个BSS内有多个SSID,因此一个BSS内就会有多个VLAN。由于这些SSID均属于同一BSS,因此如果位于两个VLAN内的STATION要通信,只需要经过AP内部的转发桥接即可。

1.1.2 AP仅支持一个BSS,每个BSS支持多SSID

这种情况下按照SSID来划分VLAN,跟上面的情况类似。

1.1.3 AP支持多个BSS,每个BSS仅支持一个SSID

这种情况下SSID与BSSID一一对应,因此根据SSID来划分VLAN与根据BSSID来划分是一样的。这种情况下属于同一个BSS的站点属于同一个VLAN,位于两个VLAN内的STATION要通信,只需要经过AP内部的转发桥接即可也仅仅需要AP内部的转发。

1.1.4 AP仅支持BSS,每个BSS仅支持一个SSID

这种情况下如果按照SSID或BSSID来划分VLAN,则整个BSS均属于同一VLAN。由于不存在多个VLAN,因此不存在VLAN互通的问题。

可见,如果在同一AP内部划分不同的VLAN,那么这些VLAN间的互通仅需要AP内部的MAC桥接即可实现,而不需要将数据交到更高层进行转发或桥接。

1.2 以MAC地址为划分依据

这种情况根据STATION的MAC地址在BSS内划分VLAN。AP根据从STATION发来的帧中的源地址决定该STATION所属的VLAN,从而可以保证同一VLAN的互通和不同VLAN的桥接。

上面的两种划分均是以802.11 MAC层的信息作为VLAN ID的划分依据,因此同一VLAN内部的转发和不同VLAN之间的桥接均可在AP内部实现,而不需要分发。

在上面的两种情况下,在AP内部只需要维护两张表即可:一张表是VLAN ID与VLAN依据(SSID/BSSID或MAC地址)之间的对应表,另一张表示VLAN ID与VLAN接口之间的对应表。Access端口上的数据收发情况如下:

进入Access端口的数据:可以不带tag。如果需要分发到AP外(目的地址不是BSSID且不是任何BSS中的其它站点),则加上tag通过分发接口分发;如果不需要分发到AP外,则有几种情况:

DA为BSSID,则由AP接收并处理;
DA为同一VLAN中的其它STATION,则MAC层转发;
DA为不同VLAN,但同一AP中的其它STATION,则执行VLAN之间的桥接协议。
从Access端口发出的数据:不带tag,直接发到STATION。

这种划分的缺点仅适合于较小的网络,灵活性较差。比如,无法实现跨AP的VLAN,也就是连接到不同AP的两个STATION无法划分到同一个VLAN。

2. 动态VLAN划分方式

动态划分方式并不由AP来决定VLAN ID,而是由其它更高级的设备来决定。一种方法是由RADIUS服务器来划分。当一个STATION与AP关联时,AP中的RADIUS客户端与RADIUS服务器进行通信,从而得到该STATION所属的VLAN ID。RADIUS决定STATION服务器所属VLAN的依据可以是用户名、IP地址等,因此具有很大的灵活性。当用户的位置改变后,他所属的VLAN仍然不变。

采用动态VLAN方式后,同一个AP的同一个SSID中的两个STATION可能属于不同的VLAN,而连接到两个不同AP中的STATION却可能属于同一VLAN。因此这种情况下,要实现同一VLAN中不同STATION之间的互通,需要更高层的转发和桥接,可能需要经过位于WDS接口或以太网DS接口等接口之上的VLAN trunk、hybrid端口。

 

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/rangzh/archive/2008/07/02/2606778.aspx

posted @ 2010-04-21 14:44 河马虎 阅读(2357) | 评论 (0)编辑 收藏

需求分析--从用例到代码

从用例到代码, 第一部分: 用例分析


http://www.ibm.com/developerworks/cn/rational/rationaledge/content/mar05/5383/index.html#N1083A

从用例到代码,第二部分:用例设计

http://www.ibm.com/developerworks/cn/rational/rationaledge/content/mar05/5670/

posted @ 2010-03-30 21:02 河马虎 阅读(359) | 评论 (0)编辑 收藏

需求调研步骤和方法

参考:http://www.ibm.com/developerworks/cn/java/l-anareq/

第1章前言

目的

需求调研是为需要说明书做前期工作,可以说需要说明书说是从需求调研表中得到或抽取而出。

需求调研是要了解现实世界中做实际工作的人们真正需要什么样的程序的过程,再把这些需求开进细节整理由设计部开发,再由销售部销售给用户。

用户:系统分析人员





回页首


第2章前期准备

2.1. 确定工具

  • 没有什么工具是好还是坏的问题,问题是关键是如何使用它们,无论是什么工具也只是一个辅助工具,也不是生成工具。
  • 工具的选取要求是自己(本组)熟悉的工具,不能是一件最新时髦工具而自己对它了解很少,结果大部分时间化在学习工具上,而不是使用它为你工作。
  • 工具最好也是要求是普通流行的,因为要考虑交流的问题。

 

2.2. 要做什么就要先了解什么

  • 如果做的项目是你所不了解的一个行业(专业)同组有要最好有要专家----最终用户做为这个专家是最好的,最少你有了解这个专业,不是要你成为专家,但最少要了解一定的专业知识(最少专来词汇你要知道),不然您甚至不知道去问什么问题或者如何去问他们,甚至于人家在说什么你也不知道。
  • 相应的专业资料是必须的,最少要有专业入门书籍和对应的资料,也需要求更深入的一些资料。当然有专家的参入就另当别论。
  • 如果行业的难度不是很大,可以通入分析人员的自我学习在短时间内了解行业,也许可以不用专家,否则专家是必须的。

 

2.3. 建立设计环境

一定建立一个专门的设计环境来为本项目服务,进行一定的资源分配,进行必要的文件管理。

2.4. 真正了解自己和用户

  • 那些是用户可能明确要达到的目地
  • 要知道那些是自己能做到的,那些是自己不能做的。
  • 对于不能做的处理方法,如拒绝,转包等
  • 那些是用户想要做到的

 

2.5. 列出人员分配表和所有工具列表

  • 明确项目人员分工
  • 统一项目所用的工具
  • 统一项目文件模版
  • 其它资源列表(资料,相关网站,资询电话。。。)

 





回页首


第3章调研过程

3.1. 搜集需求得到需求说明书

注意:

  1. 虽然最终必须要编成基于计算机解决方案的描述,但到目前为止,我们关注的焦点的文档在相应领域方面的部分。
  2. 记住这里没有计算机方面的行话,如果是编写一个会计软件,那么一位会计师都应该清楚地理解程序员写的会计方面的问题说明书
  3. 需求说明书问题中,不要太正式。只要描述能表达您想要做的事情就行了,就和另外一个人在说话一样就可以。
  4. 对于客户或相应人员了解问题时,一定要有记笔记的习惯,谈上几个小时,很多细节是记不住的。

 

3.2. 整理,检查和细化需求说明书

  1. 对于客户的需要进行必要的整理和分类有进从用户那里会得到很多信息,不行进必要的整理就不能从中进行合理的分析
  2. 分清有用功能、可选功能用、无用功能及不可实现功能对于用户来讲他可以说出他想要的很多功能,但这些功能间的关系有时是清晰的,但对于很多用户来讲想通过计算机或新系统实现他以前没有的功能,在这时他所提出的新需求的可行性和与其它模块之间的关系就已经不清,所以对于分析员来讲,要从用户的需求中分清有用功能和无用功能和可选功能,进行分别区分处理,比如不可实现功能请用户放弃。
  3. 不要忽略明显的错误用户倒是不经常提及他需要的东西,而这些东西对问题来说都是很基本的,要细化检查一定有注意这个问题。
  4. 你认为的也许不是对的对于系统分析员对需求分析的自认为的情况要加以注意,对于一个行业来说,有些规则可以不是最合理,但它就是那样存在和使用,所以对于每一个非明确确定的需求,要由专业人员来审定。除非你就是专家。

 

3.3. 改进

最初的第一次需求在分析,细化一定有不明及不确定之处,那么就把整理出一份问题细化问询表,对发现的问题进行整理,列出不明之处,可根椐以下格式

问询人:
            问题:
            业务不清问题列表(业务描述不清):
            1 ….是什么含义?
            2 …..与XX是什么关系?
            多种选择可以列表(请用户进行选择):
            1 ……有多个可能,那么现在我们使用
            A ……   B…….   C……..  D ……

3.4. 审核需求

  1. 自我审枋
    把自己从用户的角度来考虑
    是否合理,是否可以提高效率,是否可以达到目的,是否有完整
  2. 由用户来评价
    由最终用户来评价你所列的需求是否达到了用户要求(用户人数1-3人,再多也没有什么益处)。
  3. 重复过程,最终通过审核完成需求说明书

 



参考资料

  • 标准版API 规范,JAVA 2 核心技术和其他方面的信息。


posted @ 2010-03-30 20:32 河马虎 阅读(7989) | 评论 (0)编辑 收藏

需求调研

软件项目需求调研总结 :
http://blog.csdn.net/success_dream/archive/2007/10/14/1824730.aspx

软件项目调研内容分为:项目管理方面调研和业务调研,其中项目管理方面调研包括:项目目标、项目时间、资源、地点、需要协调的事宜等,二:业务调研包括:业务目标、业务范围、业务流程等,因此每次调研应该分两部分来整理调研报告。

posted @ 2010-03-03 11:36 河马虎 阅读(155) | 评论 (0)编辑 收藏

产品设计

这是一个产品分析和设计不错的一个网站
 http://www.kuliqiang.com/?p=1345 
 
http://hi.baidu.com/myey8

posted @ 2010-01-23 17:22 河马虎 阅读(197) | 评论 (0)编辑 收藏

Robert Eckstein blog


Robert Eckstein  blog (  mvc)

http://www.java.net/blog/105271

posted @ 2010-01-15 11:19 河马虎 阅读(228) | 评论 (0)编辑 收藏

MVC

  • Model - The model represents data and the rules that govern access to and updates of this data. In enterprise software, a model often serves as a software approximation of a real-world process.
  • View - The view renders the contents of a model. It specifies exactly how the model data should be presented. If the model data changes, the view must update its presentation as needed. This can be achieved by using a push model, in which the view registers itself with the model for change notifications, or a pull model, in which the view is responsible for calling the model when it needs to retrieve the most current data.
  • Controller - The controller translates the user's interactions with the view into actions that the model will perform. In a stand-alone GUI client, user interactions could be button clicks or menu selections, whereas in an enterprise web application, they appear as GET and POST HTTP requests. Depending on the context, a controller may also select a new view -- for example, a web page of results -- to present back to the user.

    1   MVC explain  from Sun
                http://java.sun.com/blueprints/patterns/MVC-detailed.html
    2  Java SE Application Design With MVC
            http://java.sun.com/developer/technicalArticles/javase/mvc/
    3  Applying MVC
            http://www.javadude.com/articles/vaddmvc1/mvc1.htm
    4   good  sample
          http://leepoint.net/notes-java/GUI/structure/40mvc.html
  • 5  MVC design
        http://javadude.com/articles/index.html


    posted @ 2010-01-14 15:04 河马虎 阅读(173) | 评论 (0)编辑 收藏

    分析Eclipse源代码,理解OSGI插件机制内幕(转)

    http://blog.csdn.net/gonxi/archive/2006/02/26/610146.aspx

    posted @ 2009-12-30 12:11 河马虎 阅读(189) | 评论 (0)编辑 收藏

    体系结构方面

    关于体系结构方面,目前国内已经有很多人阐述过。
     
    http://blog.csdn.net/computer286/archive/2005/11/17/531408.aspx

    http://www.blogjava.net/BlueDavy/archive/2005/07/03/7069.aspx

    SharpDevelop的AddIn机制
    http://passos.cnblogs.com/archive/2004/10/04/48950.aspx

    Jboss的JMX机制等

    posted @ 2009-12-30 10:38 河马虎 阅读(161) | 评论 (0)编辑 收藏

    eclipse中国社区

    http://www.eclipseworld.org/bbs

    posted @ 2009-12-30 10:03 河马虎 阅读(235) | 评论 (0)编辑 收藏

    仅列出标题
    共4页: 上一页 1 2 3 4 下一页