发布新日志

  • 集线器、交换机、网关、路由器、网桥之间有什么关系?各个的作用是什么?

    2009-05-12 17:09:16

    集线器、交换机、网关、路由器、网桥之间有什么关系?各个的作用是什么?

    集线器:集线器的基本功能是信息分发,它把一个端口接收的所有信号向所有端口分发出去,工作在物理层(最底层)。实际就是一种多端口的中继器(将已经衰减得不完整的信号经过整理,重新产生出完整的信号再继续传送)。

    网桥(Bridge):是连接两个局域网的存储转发设备,用它可以完成具有相同或相似体系结构网络系统的连接。

      在集线器组成的局域网里面,大量主机之间的通信都是通过arp广播来分发数据,为了减小在共享环境中的介质争用(也就是冲突),网桥产生了,它的作用是将广播域划分为一个一个小的冲突域,通过寻址和路径选择转发信息,一个网段上的各工作站之间的通信量局限在本网段的范围内,而不会经过网桥流到其他的网段去。可以取得减少通信量的作用,这样便增大了可用的带宽,但是广播域还是没有变。

      网桥工作在第二层数据链路层,将两个LAN连起来,根据MAC地址来转发帧,可以看作一个“低层的路由器”(路由器工作在网络层,根据网络地址如IP地址进行转发),并且端口很少(注意与后面的交换机区别)。

      网桥分为本地网桥和远程网桥两大类,本地网桥主要是用来提供同一地理区域内的多个局域网段之间的直接连接。远程网桥则是用于连接不同区域内的局域网段。

    网关:网关的功能就是把信息重新进行包装以适应目标网络环境的要求。网关实现了不同的体系结构和环境之间的通信,数据被网关重新转换后,可以从一个网络环境进入另一个不同的网络环境,使各种网络环境能够相互理解、交流对方的数据,在OSI网络层之上的具有协议转换功能设施。

    交换机:实际上是一种多端口网桥,所以说网桥和交换机都有交换功能。交换机具备自动寻址能力和交换作用,根据所传递信息包的目的地址,将每一信息包通过其拥有的一条高带宽的背部总线和内部交换矩阵,独立地从源端口送至目的端口,避免了和其他端口发生碰撞。目的MAC若不存在,交换机才广播到所有的端口,接收端口回应后交换机会“学习”新的地址,并把它添加入内部地址表中。

      看到了网桥的作用,于是人们将其发展为多端口设备,并且整合了集线器的功能,发明了交换机,交换机也是工作在第二层。交换机除了具有桥接(也就是隔绝冲突)和转发数据报之外,还具有其他高级特性:比如说vlan(虚拟局域网),port trunking(连路聚合),spanning tree(生成树),等等特性,高端的交换机还具有路由功能,具体的路由功能将在后面介绍。交换机是一种专用的网络设备,它是基于硬件的,所以具有比基于软件的网桥更高的数据转发能力。

      交换机允许连接在交换机上的设备并行通讯,设备间通讯不会再发生冲突,因此交换机打破了冲突域,交换机每个接口是一个冲突域,不会与其他接口发生通讯冲突。但是交换机和集线器一样不能判断广播数据包,会把广播发送到全部接口,所以交换机和集线器一样连接了一个广播域网络。

      并且有系统的交换机可以记录MAC地址表,发送的数据不会再以广播方式发送到每个接口,而是直接到达目的接口,节省了接口带宽。高端一点的交换机不仅可以记录MAC地址表,还可以划分VLAN(虚拟局域网)来隔离广播,但是VLAN间也同样不能通讯。要使VLAN间能够通讯,必须有三层设备介入。

    路由器:进行路由的设备
      随着网络的进一步发展,在广泛分布的网络之间,选择路径便是一件麻烦的事情,于是一种专门的网络硬件产生了---路由器。路由器工作在第三层(网络层)之上,其实也涉及第二层以及第一层,但是它的主要用途是选路。路由器的存储器里面存放着路由表,这些表是易失的并且容易改变的。路由表的内容包括到达目的地址的下一跳(next hop)路由地址,不同地址的管理距离,等等。

      路由表内容都是路由器启动之后经过学习得到的。路由器启动之后便根据设定的路由协议与其他路由器交换信息,在交换信息的过程中,学习路由。所以一台路由器虽然是基于硬件的专用网络设备,但是路由器支持的路由算法才是最核心的东西。路由算法有两大类:距离矢量算法(如rip , igrp)以及连路状态算法(如ospf),还有一种平衡混合的算法(如eigrp),是前面两种算法的综合。路由器使用距离矢量算法,判断到达目的地址的优先路径的标准只有一个,那就是跳数,认为具有最小跳数的路径是最有路径,而不理会其带宽,可靠性,时延等因素。并且认为跳数大于15跳的目的地址是不可到达的,这边限制了可路断最优路径,这样可路由的区域便增大了,并且能平衡各条链路之间的流量。

      路由器不仅能像交换机一样隔离冲突域,另外,路由还有一个二层设备不具有的功能,那就是隔绝广播,它可以将广播限制在一个网络之内,进而增大网络之间的带宽。路由器的介入可以使交换机划分的VLAN实现互相通讯。

    总结:

    集线器:纯硬件、用于连接网络终端、不能打破冲突域和广播域。

    网 桥:是一个二层设备,用于隔绝冲突,但是不能隔绝广播。常常是基于软件的,现在使用得很少了。

    交换机:拥有软件系统、用于连接网络终端、能够打破冲突域,但是不能分割广播域。是一个多端口的二层设备,功能除了网桥所具有的功能之外,还有其特定的高级功能。

    路由器:拥有软件系统、用于路径选择,可以打破冲突域也可以分割广播域,是连接大型网络的比备设备。

    一般来说网桥不能代替交换机(因为它是单端口的),而网桥和交换机都不能代替网关,它们不能连接两个不同的网络。而网关则可以起网桥的作用。

    交换机是利用物理地址或者说MAC地址来确定转发数据的目的地址。
    而路由器则是利用不同网络的ID号(即IP地址)来确定数据转发的地址。

  • 用户名密码的测试方法

    2008-10-29 15:24:22

    一.用户注册

      只从用户名和密码角度写了几个要考虑的测试点,如果需求中明确规定了安全问题,Email,出生日期,地址,性别等等一系列的格式和字符要求,那就都要写用例测了~

      以等价类划分和边界值法来分析

      1.填写符合要求的数据注册: 用户名字和密码都为最大长度(边界值分析,取上点)

      2.填写符合要求的数据注册 :用户名字和密码都为最小长度(边界值分析,取上点)

      3.填写符合要求的数据注册:用户名字和密码都是非最大和最小长度的数据(边界值分析,取内点)

      4.必填项分别为空注册

      5.用户名长度大于要求注册1位(边界值分析,取离点)

      6.用户名长度小于要求注册1位(边界值分析,取离点)

      7.密码长度大于要求注册1位(边界值分析,取离点)

      8.密码长度小于要求注册1位(边界值分析,取离点)

      9.用户名是不符合要求的字符注册(这个可以划分几个无效的等价类,一般写一两个就行了,如含有空格,#等,看需求是否允许吧~)

      10.密码是不符合要求的字符注册(这个可以划分几个无效的等价类,一般写一两个就行了)

      11.两次输入密码不一致(如果注册时候要输入两次密码,那么这个是必须的)

      12.重新注册存在的用户

      13.改变存在的用户的用户名和密码的大小写,来注册。(有的需求是区分大小写,有的不区分)

      14.看是否支持tap和enter键等;密码是否可以复制粘贴;密码是否以* 之类的加秘符号显示

      备注:边界值测试选取的点是边界上的点(上点)、离边界最近的点(离点)和边界内的点(内点)。主要选取上点和离点。
    例如用户名长度取值范围为[4,10],要选取的上点为4、10,离点为3、11  

    二.修改密码

      当然具体情况具体分析哈~不能一概而论~

      实际测试中可能只用到其中几条而已,比如银行卡密码的修改,就不用考虑英文和非法字符,更不用考虑那些TAP之类的快捷键.而有的需要根据需求具体分析了,比如连续出错多少次出现的提示,和一些软件修改密码要求一定时间内有一定的修改次数限制等等。

      1.不输入旧密码,直接改密码

      2.输入错误旧密码

      3.不输入确认新密码

      4.不输入新密码

      5.新密码和确认新密码不一致

      6.新密码中有空格

      7.新密码为空

      8.新密码为符合要求的最多字符

      9.新密码为符合要求的最少字符

      10.新密码为符合要求的非最多和最少字符

      11.新密码为最多字符-1

      12.新密码为最少字符+1

      13.新密码为最多字符+1

      14.新密码为最少字符-1

      15.新密码为非允许字符(如有的密码要求必须是英文和数字组成,那么要试汉字和符号等)

      16.看是否支持tap和enter键等;密码是否可以复制粘贴;密码是否以* 之类的加秘符号

      17.看密码是否区分大小写,新密码中英文小写,确认密码中英文大写

      18.新密码与旧密码一样能否修改成功

      另外一些其他的想法如下:

      1 要测试所有规约中约定可以输入的特殊字符,字母,和数字,要求都可以正常输入、显示正常和添加成功

      2 关注规约中的各种限制,比如长度,大否支持大小写。

      3 考虑各种特殊情况,比如添加同名用户,系统是否正确校验给出提示信息,管理员帐户是否可以删除,因为有些系统管理员拥有最大权限,一旦删除管理员帐户,就不能在前台添加,这给最终用户会带来很多麻烦。比较特殊的是,当用户名中包括了特殊字符,那么对这类用户名的添加同名,修改,删除,系统是否能够正确实现,我就遇到了一个系统,添加同名用户时,如果以前的用户名没有特殊字符,系统可以给出提示信息,如果以前的用户名包含特殊字符,就不校验在插入数据库的时候报错。后来查到原因了,原来是在java中拼SQL语句的时候,因为有"_",所以就调用了一个方法在“_“,前面加了一个转义字符,后来发现不该调用这个方法。所以去掉就好了。所以对待输入框中的特殊字符要多关注。

      4 数值上的长度 之类的,包括出错信息是否合理

      5 特殊字符:比如. / ' " \ </html>  这些是否会造成系统崩溃

      6 注入式bug:比如密码输入个or 1=1

      7 登录后是否会用明文传递参数

      8 访问控制(不知道这个算不算):登录后保存里面的链接,关了浏览器直接复制链接看能不能访问

  • 输入框的测试

    2008-10-29 15:06:04

    1.验证输入与输出的是否信息一致;
    2.输入框之前的标题是否正确;
    3.对特殊字符的处理,尤其是输入信息需要发送到数据库的.特殊字符包括:特殊字符包括:'(单引号)、"(双引号)、[](中括号)、()(小括号)、{}(大括号)、;(分号)、<>(大于小于号)……
    4.对输入框输入超过限制的字符的处理,一般非特殊的没有作出限制的在255byte左右;
    5.输入框本身的大小,长度;
    6.不同内码的字符的输入;
    7.对空格,TAB字符的处理机制;
    8.字符本身显示的颜色;
    9.密码输入窗口转换成星号或其它符号;
    10.密码输入框对其中的信息进行加密,防止采用破解星号的方法破解;
    11.按下CTRL和ALT键对输入框的影响;
    12.对于新增,修改,注册时用的输入框,有限制的,应该输入时作出提示,指出不允许的或者标出允许的;
    13.对于有约束条件要求的输入框应当在条件满足时输入框的状态发生相应的改变,比如选了江西就应该列出江西下面的市,或者选了某些条件之后,一些输入框会关闭或转为只读状态;
    14.输入类型:根据前面的栏位标题判断该输入框应该输入哪些内容算是合理的.例如:是否允许输入数字或字母,不允许输入其它字符等.
    15.输入长度:数据库字段有长度定义,当输入过长时,提交数据是事会出错;
    16.输入状态:当处于某种状态下,输入框是否处于可写或非可写状态.例:系统自动给予的编号等栏位作为唯一标识,当再次处于编辑状态下,输入框栏位应处于不可写状态,如果可写对其编辑的话,可能会造成数据重复引起冲突等;
    17.如果是会进行数据库操作的输入框,还可以考虑输入SQL中的一些特殊符号如单引号等,有时会有意想不到的错误出现;
    18.关键字有大小写混合的情况;
    19.输入html的标签会出现哪些问题?输入&lt;html&gt; 会出现什么问题呢?(

  • 31个用来测试你网站各项性能的免费在线工具

    2008-10-13 14:06:13

      你是否肯定你的网站完全兼容各大浏览器?是否知道多少秒可以打开你的网站? 是否可以自信地说你的网站根本就没有打不开的时候? 是否……

      虽然它看似不重要,但这些在一定程度上也对你的网站的访问量产生了影响 ( 其它一部分影响浏览量的原因及解决办法 )。这里列出了一份31个我最喜爱的免费在线测试工具,你可以通过这些工具来测试你的网站,并根据结果对你的网站进行修改。

      网站代码验证没人可以细致到保证自己的网站代码都是正确的,你可以通过以下测试来验证网站代码是否正确。

      1 . WDG HTML Validator

      一个很好的工具,能找出网站语法错误的地方,并标注出来,也可选择对网站上单独的每一页进行单页分析。(强烈推荐)

      2 . W3C Markup Validation Service

      对 HTML 和 XHTML 都能进行代码测试,自称是互联网络上第一个(也是使用者最多的)的 HTML 验证工具。

      3 . W3C CSS Validation Service

      用于验证 css 源代码,能够标注出不好的 css 代码设计。例如:“Same colors for color and background-color in two contexts”。

      4 . RUWF XML Syntax Checker

      用于查找 XML 文件的错误。

      5 . W3C Feed Validation Service

      用于查找 Atom 和 RSS feed 中的错误语法。(这个我经常用到)

      6 . W3C Link Checker

      用于搜寻查明你网站内的所有链接里是否有断链。(强烈推荐)

      7 . Juicy Studio Link Analyser

      测试网站内的链接的 URL 是否存在死链,与 W3C Link Checker 很类似。网站的使用性我们常常看到网站设计者把重点放在怎网站的吸引力上,而完全不考虑会不会影响来访者的使用,一个浏览难度很大的网页是注定要失败,要让你的来访者方便的得到他要的信息(从而成为重复访客),你的网站应当遵循 WCAG section 508 易用性规则。

      8 . Watchfire WebXACT

      所有严谨的设计师和开发者都必须使用的工具,它会生成一个非常详尽的报告书,包括:网站质量,易用性和隐私等。(强烈推荐)

      9 . ATRC Web Accessibility Checker

      测试网站的 WCAG 2.0 Level2 兼容性,它会生成一份报告,提出一系列建议,如:如何提升页头,链接,数据,图表和文字的访问速度。

      10 . WAVE 3.0 Web Accessibility Tool

      高度可定制的工具,它采用了图形化模型展示网站兼容性问题( WCAG 1.0 and section 508 )。(强烈推荐)

      11 . TAW Web Accessibility

      Test测试网页是否存在冲突( WCAG 1.0 兼容性 ),通过图形模式生成一份依据 wcag 优先模式为基础的网站修改建议。

      12 . HiSoftware CynthiaSays portal

      采用了非常严格的规则来测试网页( 根据 section 508 和 WCAG 1.0 规则 ),生成的报告也极为详细( 详细到很难看懂 )。

      13 . HERA Accessibility testing with Style

      使用一种极为复杂但容易理解方式指出网页的 wcag1.0 兼容性问题。

      14 . Juicy Studio CSS Analyser

      进行了色彩对比测试,以确保你的网站的色调会符合 WCAG 1.0 的要求。

      15 . Juiciy Studio Readability Test

      分析你网站上的文字是否有语法错误或拼写错误等问题,容易让人理解不( 根据 the Flesch Reading Ease 和 Flesch-Kincaid grade level algorithms 规则 )。( 适合英文网站使用)网站的速度打开你的网站的速度快慢,是来访者会不会再次访问网站的关键因素,在一般情况下,一个网络不是很快的来访者是不愿意访问一个充满着图片、 flash 动画、多媒体文件的网站。为了使你的网站覆盖人群的范围最大化,你必须优化你的网站,使它的打开速度尽可能的快。

  • Web性能测试术语

    2008-10-08 10:48:01

    WEB性能测试主要通过自动化的测试工具模拟多种正常,峰值以及异常负载条件来对系统的各项性能指标进行测试.WEB性能测试中出现频繁的术语主要有并发用户,并发用户数量,请求响应时间,事务响应时间,吞吐量,吞吐率,TPS,点击率,资源利用率等。

      并发用户:并发一般分为2种情况。一种是严格意义上的并发,即所有的用户在同一时刻做

    同一件事情或者操作,这种操作一般指做同一类型的业务。比如在信用卡审批业务中,一定数

    目的用户在同一时刻对已经完成的审批业务进行提交;还有一种特例,即所有用户进行完全一

    样的操作,例如在信用卡审批业务中,所有的用户可以一起申请业务,或者修改同一条记录。

      另外一种并发是广义范围的并发。这种并发与前一种并发的区别是,尽管多个用户对系统

    发出了请求或者进行了操作,但是这些请求或者操作可以是相同的,也可以是不同的。对整个

    系统而言,仍然是有很多用户同时对系统进行操作,因此也属于并发的范畴。

      可以看出,后一种并发是包含前一种并发的。而且后一种并发更接近用户的实际使用情况

    ,因此对于大多数的系统,只有数量很少的用户进行“严格意义上的并发 ”。对于WEB性能测

    试而言,这2种并发情况一般都需要进行测试,通常做法是先进行严格意义上的并发测试。严格

    意义上的用户并发一般发生在使用比较频繁的模块中,尽管发生的概率不是很大,但是一旦发

    生性能问题,后果很可能是致命的。严格意义上的并发测试往往和功能测试关联起来,因为并

    发功能遇到异常通常都是程序问题,这种测试也是健壮性和稳定性测试的一部分。

      用户并发数量:关于用户并发的数量,有2种常见的错误观点。一种错误观点是把并发用户

    数量理解为使用系统的全部用户的数量,理由是这些用户可能同时使用系统;还有一种比较接

    近正确的观点是把在线用户数量理解为并发用户数量。实际上在线用户也不一定会和其他用户

    发生并发,例如正在浏览网页的用户,对服务器没有任何影响,但是,在线用户数量是计算并

    发用户数量的主要依据之一。

      请求响应时间:指的是客户端发出请求到得到响应的整个过程的时间。在某些工具中,请

    求响应时间通常会被成为"TLLB",即"Time to last byte",意思是从发起一个请求开始,到客

    户端接收到最后一个字节的响应时间所耗费的时间。请求响应时间过程的单位一般为"秒"或者"

    毫秒"。

      事务响应时间:事务可能由一系列请求组成,事务的响应时间主要是针对用户而言,属于

    宏观上的概念,是为了向用户说明业务响应时间而提出的。例如:跨行取款事务的响应时间就

    是由一系列的请求组成的。事务响应时间和后面的业务吞吐率都是直接衡量系统性能的参数。

      吞吐量:指的是在一次性能测试过程中网络上传输的数据量的总和。吞吐量/传输时间,就

    是吞吐率。

      TPS:每秒钟系统能够处理的交易或者事务的数量。它是衡量系统处理能力的重要指标。

      点击率:每秒钟用户向WEB服务器提交的HTTP请求数。这个指标是WEB应用特有的一个指标

    :WEB应用是"请求-响应"模式, 用户发出一次申请,服务器就要处理一次,所以点击是WEB应

    用能够处理的交易的最小单位。如果把每次点击定义为一个交易,点击率和TPS就是一个概念。

    容易看出,点击率越大,对服务器的压力越大。点击率只是一个性能参考指标,重要的是分析

    点击时产生的影响。需要注意的是,这里的点击并非指鼠标的一次单击操作,因为在一次单击

    操作中,客户端可能向服务器发出多个HTTP请求。

      资源利用率:指的是对不同的系统资源的使用程度,例如服务器的CPU利用率,磁盘利用率

    等。资源利用率是分析系统性能指标进而改善性能的主要依据,因此是WEB性能测试工作的重点

      资源利用率主要针对WEB服务器,操作系统,数据库服务器,网络等,是测试和分析瓶颈的

    主要参考。在WEB性能测试中,更根据需要采集相应的参数进行分析。

Open Toolbar