文档库 最新最全的文档下载
当前位置:文档库 › IGMP Snoop技术白皮书

IGMP Snoop技术白皮书

IGMP Snoop技术白皮书
IGMP Snoop技术白皮书

IGMP SNOOP技术白皮书

一.IGMP SNOOP产生的原因

IGMP(Internet Group Management Protocol)协议讲述了路由器如何发现自己直连网络上有哪些IP组播组存在。简单的说,就是路由器周期在自己的端口上发送IGMP 查询报文(IGMP Query消息),路由器连接的网络上的主机(PC)收到IGMP 查询报文后,通过发送IGMP报告报文(IGMP Report)把自己属于的组告诉路由器。当路由器收到IP组播数据时,将把组播数据转发到路由器上有对应组播成员主机存在的端口上。

当主机退出组播组时,通过发送IGMP离开(IGMP Leave)报文来向路由器通告自己不再希望接收该IP组播组的数据。

在组网时往往是路由器的端口连接以太网交换机,然后通过以太网交换机接入用户的PC机,而交换机收到IP组播数据时、将把该组播数据发送到自己的其它所有端口,也即把组播数据象广播数据一样进行转发,这就导致交换机把组播数据发送到了一些没有组播成员PC存在的交换机端口上,那么这些用户的PC机就收到了对他们来说没有意义的数据。这既浪费这些PC机的CPU对这些数据进行处理,并且更严重的问题是:如果交换机上对每个端口进行了带宽限制,那么这个端口上的用户应该得到的带宽就被浪费了,这样就会导致用户的抱怨。

正是因为上面的问题,导致IGMP SNOOP技术在交换机上的产生。

二.IGMP SNOOP的工作原理

IGMP SNOOP的工作原理比较简单,即交换机监控接收到的IGMP报文,然后在交换机上形成组播转发条目,这样当交换机接收到组播数据时,就可以根据组播转发条目将数据转发到确实有组成员存在的端口上。

具体的来说,使能IGMP SNOOP之后,交换机接收到IGMP报文时的处理为:1.交换机对于IGMP报文不能按照组播的转发流程(即广播的方式)进行转发,而是交给IGMP SNOOP模块处理;

2.交换机收到IGMP QUERY报文时,需要记录收到该报文的端口,并将该报文转发到该VLAN的其它所有端口;

3.交换机收到IGMP REPORT报文时,交换机不能将该报文转发到同一vlan的其它端口,而只能将该报文转发给收到过IGMP QUERY的端口;并且,IGMP

SNOOP模块需要创建该组的组播转发条目,并将该端口以及QUERY端口加入

到该组播转发条目;

4.交换机收到IGMP LEA VE报文时,只需要将该LEAVE消息转发到收到过IGMP QUERY的端口即可;如果没有使能IGMP快速离开功能,那么IGMP SNOOP

模块使用老化功能(即如果该端口在规定时间之内没收到IGMP REPORT报文)

将该端口从组播转发条目中删除,如果使能了IGMP快速离开功能,那么需要立

即将该端口从组播转发条目中删除;

三.IGMP FILTER说明

从上面IGMP SNOOP的工作流程可以看出,IGMP SNOOP模块根据IGMP QUERY、IGMP REPORT、IGMP LEA VE消息在交换机上动态创建、删除组播组以及维护组播组的成员端口信息,但是在实际使用时很有可能需要限制交换机的每个端口允许

加入哪些组播组,从而产生了IGMP FILTER功能。

IGMP FILTER是一个专门用于过滤IGMP REPORT报文中的组播组的过滤器,如果交换机的端口没有配置Igmp filter,那么这个端口收到IGMP REPORT报文时、会将这个端口加入到这个组播组中;如果交换机的端口配置了Igmp Filter,那么这个端口收到IGMP REPORT报文时,将会根据Igmp Filter的内容决定是否允许这个端口加入该组播组。

四.烽火网络交换机IGMP SNOOP配置

1.CLI方式

(1)进入igmp snoop配置节点

S2000M(config)#igmp-snooping

上面的命令执行后将进入igmp snoop配置节点

(2)配置igmp snoop协议使能或者失效

S2000M(config)#igmp-snooping (enable|disable)

上面的命令可以配置igmp snoop功能使能或者失效,如果参数为enable则使能igmp snoop,参数为disable则失效igmp snoop功能;缺省igmp snoop协

议处于失效状态。

(3)配置igmp snoop组播转发条目老化时间

S2000M(config)#igmp-snooping aging <30-3600>

上面的命令用于设置igmp snoop组播组的老化时间,单位为秒;如果在指定时间内某个组播组在某个端口上没有接收到这个组播组的IGMP

REPORT报文,那么就将这个端口从这个组播组中删除,如果这个组播组已经

不存在任何端口、那么将该组播组也删除。

(4)配置igmp snoop快速离开状态

S2000M(config)#igmp-snooping fast-leave (enable|disable)

上面的命令配置是否使能快速离开功能,enable参数表示使能、disable 参数表示失效,系统缺省是没有使能快速离开的;快速离开的意思是:如果在

某个端口上收到对某个组播组的IGMP LEAVE消息,那么就立即将这个端口

从这个组播组中删除掉。

(5)配置当report消息被igmp filter过滤后是否转发该消息

S2000M(config)#igmp-snooping drop-filtered (enable|disable)

上面的命令配置当一个report报文中的组播组被igmp filter过滤之后是否转发该report报文到igmp query端口,参数enable表示不转发、disable表示

虽然本端口不允许加入该组播组,但是仍然把该report报文转发到igmp query

端口;系统缺省是当某个端口不允许加入某些组播组时,那么也不将该report

报文转发到igmp query端口。

(6)显示igmp snoop的配置情况

S2000M(config)#show igmp-snooping

igmpSnoop Status : enable

igmpSnoop Aging(seconds) : 300

igmpSnoop FastLeave : disable

igmpSnoop drop-filtered: enable

(7)显示igmp snoop学习到的组播条目

S2024MA#show igmp-snooping egressport-table

Vlan MacAddr EgressPorts

1 01-00-5e-01-02-03 1,2,5,8,9

上面的命令用于显示系统当前学习到的所有组播转发条目,上面的例子显示组播组01-00-5e-01-02-03在端口1、2、5、8、9上都有成员存在。

(8)创建或者配置某个特定igmp filter

S2000M(config)# igmp-filter <1-100>

上面的命令用于创建或者配置某个特定的igmp filter,如果某个igmp filter 不存在,那么上面的命令将创建指定序号的igmp filter;如果已经存在该igmp filter那么则进入对该igmp filter的配置。

(9)在igmp filter中添加规则

S2000M(config-igmp-filter 1)#rule <1-100> (permit|deny) (A.B.C.D) (A.B.C.D) 上面的命令将会在igmp filter1中创建1个规则,每个igmp filter最多允许100个规则,permit参数的意思是允许加入该组播组,deny的意思是不允许加入该组播组,后面的参数是两个组播IP地址,前面是最小的ip地址、后面是最大IP地址。

(10)在igmp filter中删除某个规则

S2000M(config-igmp-filter 1)#no fule <1-100>

上面的命令用于在某个igmp filter中删除某个规则。

(11)将igmp filter应用于某个端口

S2000M(config-igmp-filter 1)# apply-to-ports PORTLIST

参数PORTLIST是一个端口列表,上面的命令用于将1个igmp filter应用于某些端口。

(12)将igmp filter不应用于任何端口

S2000M(config-igmp-filter 1)# apply-to-ports none

上面的命令将把igmp filter 1不应用于所有端口;

(13)显示当前系统中所有的igmp filter

S2000M #show igmp-filter

上面的命令将显示系统中当前存在的所有igmp filter

(14)显示某个特定的igmp filter

S2000M #show igmp-filter <1-100>

上面的命令用于显示某个特定的igmp filter的规则,下面是一个显示实例:

S2024MA#show igmp-filter 1

igmp filter 1's detail information:

state :Active

The rule list :

rule 1 permit 239.1.1.1 239.1.1.6 ,State:Active

rule 8 deny 239.1.1.8 239.1.1.9 ,State:Active

The port(s) using this filter:

Interface 1 ,

2.WEB方式

成功登录交换机的web网管界面,可以看到igmp snoop以及igmp filter配置页面:

从上图可以看见,igmp snoop(igmp 监听)以及igmp filter(igmp过滤)两个页面各有2个子页面,下面是每个子页面的截图:

上面的各个页面中均可以进行igmp snoop以及igmp filter的各种配置,配置意义参见前面的CLI配置说明。

五.注意事项

1.每个端口只能应用1个igmp filter

2.1个igmp filter可以应用于多个端口

3.Igmp filter只有当igmp snoop使能时才生效

IGMP版本

4.1.1 IGMP的版本 到目前为止,IGMP有三个版本: ●IGMPv1(由RFC 1112定义) ●IGMPv2(由RFC 2236定义) ●IGMPv3(由RFC 3376定义) 所有版本的IGMP都支持ASM(Any-Source Multicast,任意信源组播)模型; IGMPv3为可以直接应用于SSM(Source-Specific Multicast,指定信源组播) 模型。 4.1.2 IGMPv1工作机制 IGMPv1主要基于查询和响应机制来完成对组播组成员的管理。 当一个网段内有多台组播路由器时,由于它们都能从主机那里收到IGMP成员 关系报告报文(Membership Report Message),因此只需要其中一台路由器 发送IGMP查询报文(Query Message)就足够了。这就需要有一个查询器 (Querier)的选举机制来确定由哪台路由器作为IGMP查询器。 对于IGMPv1来说,由组播路由协议(如PIM)选举出唯一的组播信息转发者 DR(Designated Router,指定路由器)作为IGMP查询器。 说明: 有关DR的介绍,请参见“5.1.4 2. DR选举”。 图4-1 IGMP查询响应示意图

如图4-1所示,假设Host B与Host C想要收到发往组播组G1的组播数据, 而Host A想要收到发往组播组G2的组播数据,那么主机加入组播组以及IGMP 查询器(Router B)维护组播组成员关系的基本过程如下: (1)主机会主动向其要加入的组播组发送IGMP成员关系报告报文以声明加 入,而不必等待IGMP查询器发来的IGMP查询报文; (2)IGMP查询器周期性地以组播方式向本地网段内的所有主机与路由器发 送IGMP查询报文(目的地址为224.0.0.1); (3)在收到该查询报文后,关注G1的Host B与Host C其中之一(这取决于 谁的延迟定时器Delay Timer先超时)——譬如Host B会首先以组播方 式向G1发送IGMP成员关系报告报文,以宣告自己要加入G1。由于本 地网段中的所有主机和路由器都能收到Host B发往G1的报告报文,因 此当Host C收到该报告报文后,将不再发送同样针对G1的报告报文, 因为IGMP路由器(Router A和Router B)已知道本地网段中有对G1 感兴趣的主机了。这个机制称为IGMP成员关系报告抑制机制,该机制有 助于减少本地网段的信息流量; (4)与此同时,由于Host A关注的是G2,所以它也将以组播方式向G2发送 报告报文,以宣告自己要加入G2; (5)经过以上的查询和响应过程,IGMP路由器了解到本地网段中有组播组 G1和G2的成员,于是由组播路由协议(如PIM)生成(*,G1)和(*, G2)组播转发项作为组播数据的转发依据,其中的“*”代表任意组播源; (6)当由组播源发往G1或G2的组播数据经过组播路由到达IGMP路由器 时,由于IGMP路由器上存在(*,G1)和(*,G2)组播转发项,于是 将该组播数据转发到本地网段,接收者主机便能收到该组播数据了。 IGMPv1没有专门定义离开组播组的报文。当运行IGMPv1的主机离开某组播 组时,将不会向其要离开的组播组发送报告报文。当网段中不再存在该组播组 的成员后,IGMP路由器将收不到任何发往该组播组的报告报文,于是IGMP 路由器在一段时间之后便删除该组播组所对应的组播转发项。 4.1.3 IGMPv2的改进 与IGMPv1相比,IGMPv2增加了查询器选举机制和离开组机制。 1. 查询器选举机制 在IGMPv1中,当某共享网段上存在多个组播路由器时,由组播路由协议(如 PIM)选举的指定路由器充当查询器。 在IGMPv2中,增加了独立的查询器选举机制,其选举过程如下: (1)所有IGMPv2路由器在初始时都认为自己是查询器,并向本地网段内的 所有主机和路由器发送IGMP普遍组查询(General Query)报文(目的 地址为224.0.0.1);

软件测试工具大全

软件测试工具汇总 一、工具汇总 1.免费工具 下表中针对WEB页面或B/S结构进行功能和性能测试的工具有: 开源功能自动化测试工具:PureTest,OpenSTA,Watir、Selenium、MaxQ、WebInject、Fitnesse 开源性能自动化测试工具:Jmeter、OpenSTA、DBMonster PureTest Minq公司功能测试商业 免费 本是业内商业自动化测试工具之一,如今PureTest已经免费。它专注于对WEB应用程序进行功能自动化测试,并即时对WEB页面元素进行检 测,对HTTP请求、响应进行诊断分析。 PureTest is an application which is primarily used to setup scenarios of tasks, execute and debug them. Even though it supports testing a variety of applications it is especially useful for debugging and snooping of web applications. PureTest includes a HTTP Recorder and Web Crawler which makes it useful for generic verification of HTTP requests and web content checking. The normal way to access web sites is via a browser; however, there are times when it is desirable to bypass the browser and access a site from a program, including: Debugging of HTTP requests and responses Automated web site testing The HTTP Recorder simplifies the process of capturing all requests that are exchanged between a browser and the web server. Then use PureTest to replay each request in order to carefully watch the HTTP data that is transferred on the wire (HTTP headers, request parameters, response headers and response content). The Web Crawler is useful to pro-actively verify the consistence of a static web structure. It reports various metrics, broken links and the structure of the crawled web. Test scenarios that be saved to file and later be repeated, to verify that you server applictaion works as expected. This can be done using the PureTest debugger in the grapical user interface, but also using a command line interface. PureLoad Minq公司负载压力测 试 商业 免费 PureLoad正是一款基于Java开发的网络负压测试工具,它的Script代码 完全使用XML,所以,这些代码的编写很简单,可以测试各种C/S程序, 如SMTP Server等。它的测试报表包含文字和图形并可以输出为HTML 文件。由于是基于Java的软件,所以,可以通过Java Beans API来增强 软件功能。

IGMP及抓包分析

IGMP IGMP 是Internet Group Management Protocol(互联网组管理协议)的简称。它是TCP/IP 协议族中负责IP 组播成员管理的协议,用来在IP 主机和与其直接相邻的组播路由器之间建立、维护组播组成员关系。 到目前为止,IGMP 有三个版本: 1、IGMPv1(由RFC 1112 定义) 2、IGMPv2(由RFC 2236 定义) 3、IGMPv3(由RFC 3376定义) 一、IGMPv1 1.1报文格式 1、版本: 版本字段包含IGMP版本标识,因此设置为1。 2、类型: 成员关系查询(0x11) 成员关系报告(0x12) 3、校验和 4、组地址: 当一个成员关系报告正被发送时,组地址字段包含组播地址。 当用于成员关系查询时,本字段为0,并被主机忽略。 1.2组成员加入过程 当一个主机希望接收一个组播组的数据,则发送成员加入报告给组播组。

IGMPv1 join包如下: 1.3查询与响应过程 路由器RTA(IGMP查询器)周期性地(默认60秒)向子网内所有主机(224.0.0.1代表子网内所有主机)发送成员关系查询信息。

所有主机收到IGMPv1成员关系查询信息,一主机首先向组播组发送IGMPv1成员关系报告。 组的其他成员监听到报告后抑制自己的成员关系报告发送。 1.4 抑制机制 当主机收到IGMP成员关系查询时,对它已经加入的每个组播组启动一个倒计数报告计时器。各个报告计时器初始值为从0到最大响应之间一个随机数,默认值是10秒。 计时器到时的主机则主动发送成员关系报告,目的地为该主机所属的组地址。 其它主机收到该成员关系报告,则抑制成员关系报告的发送,并删除计时器。 1.5 组成员离开过程 主机“默不作声”地离开组(不发送报告了)。 路由器发送成员关系查询信息。 路由器没有收到该组的IGMP报告,则再发送成员关系信息(3次查询周期过后)。 组播组超时,剪枝。 二、IGMPv2 2.1报文格式 1、类型 成员关系查询(0x11) 常规查询:用于确定哪些组播组是有活跃的,即该组是否还有成员在使用,常规查询地址由全零表示; 特定组查询:用于查询某具体组播组是否还有组成员。 版本2成员关系报告(0x16) 版本1成员关系报告(0x12) 离开组消息(0x17)

软件测试工具选型报告

软件测试工具选型报告软件质量管理平台大盘点 传统的软件质量管理关注在特定的测试活动,例如负载/压力测试、功能/回归测试、缺陷跟踪等,近年来有一个明显的趋势是关注全面的质量管理,质量管理的关注点由“找BUG”转移到确保业务目标和客户需求得以更好地满足。 质量保证部门(QA)需要管理和验证的内容包括: 1、确保业务功能的满足:为了降低后期测试的压力和代价,需要把前期的需求管理做好。 2、项目状态的评估:现在可以发布产品了吗?软件质量状况如何?产品安全性如何? 3、风险评估:对软件的修改、安全性需求的增加的同时,如何控制变更的代价? 质量管理应该包括软件的整个生命周期(ALM),各软件厂商也纷纷推出自己的质量管理平台,它们各有特点,今天我们就来盘点一下这些质量管理平台和工具,希望对企业进行工具选型时能提供一些参考。 AutomatedQA –技术型 AutomatedQA提供了完整的软件质量产品和简单的许可证模型,对于技术型的测试团队而言比较有吸引力。例如其测试工具TestComplete支持多种脚本语言、支持数据驱动测试和对象驱动测试,而且把性能测试、功能测试、单元测试都集成在一起,可谓是“多合一”,而且售价比较低(最低单用户价格$999)。 AutomatedQA在国外有一批忠实的“追随者”,尤其是那些技术型的公司,测试人员大部分是软件工程师类型的,而不是业务分析型的。AutomatedQA主要通过邮件进行售后技术支持。虽然提供培训服务,并且也有多家服务合作伙伴,但是对于企业级用户而言,缺乏完整的技术服务体系结构。 AutomatedQA的产品能很好地整合到微软的Visual Studio Team System产品线中,但是对于Eclipse缺乏类似的整合。提供了版本管理系统的接口,但是缺乏与流行的需求管理工具的整合。对新技术的支持比较及时,例如支持对基于SVG(Scalable Vector Graphics)的用户界面的测试,支持64位的应用程序等。 AutomatedQA的产品线包括: 1、TestComplete –功能测试、负载测试和单元测试自动化工具。 2、AQtime –性能分析工具。单用户价格$599。 3、AQdevTeam –缺陷跟踪和项目管理工具。 4、Automated Build Studio –构建管理工具,能调用各种应用程序进程,例如测试执行。单用户价格$349。

软件测试过程中的工具使用共9页文档

软件测试过程中的工具使用软件测试过程中的工具使用 作者:easylife来源:不详 摘要:软件测试是保证软件质量的重要手段,它在整个软件开发过程中 占据了将近一半的时间和资源。在软件测试过程中合理的引入测试工具,能够加快测试进度,提高测试质量,实现更快、更好的开发软件产品的目标。本文介绍了覆盖软件测试各个阶段的测试工具,说明了每一类工具所应用的测试阶段,以及它能发挥的作用。 Abstract:Software test is one measure to insure the quality of software,it costs half of time and resource in the whole process of development.If test tools can be used in the process,it would to improve the speed of test and the quality of test,It's probable to develop software rapidly and to produce high quality.In this document it introduces some software test tools for the different of test moment,it introduce the time for every kind of tools,but the function of the test tool. 关键字:软件测试工具;测试设计;静态分析;单元测试;功能测试; 性能测试;测试过程管理; Keywords:software test tool;test design;static analysis; unit test;function test;performance test;test process management; 1、引言最近几年,软件测试在国内越来越受到重视,因为大家逐渐认识到了软件测试对于保证软件质量的重要性。随着对软件测试重视的提高,国内软件测试技术的发展也很快,逐渐从过去手工作坊式的测试向测试工程化的方向发展。 要真正实现软件测试的工程化,其基础之一就是要有一大批支持软件测 试工程化的工具。因此,软件测试工具对于实现软件测试的工程化来说至关重要。本文就从如何进一步提高软件测试质量和效率的角度出发,讨论测试工具在软件测试过程中的应用。 2、为什么要引入测试工具在测试过程中引入测试工具能给我们带来以下的好处。

IGMP协议简介

IGMP Snooping协议简介 3.1.1 igmp snooping原理 igmp snooping运行在数据链路层,是二层以太网交换机上的组播约束机制,用于管理和控制组播组。 当二层以太网交换机收到主机和路由器之间传递的igmp报文时,igmp snoop ing分析igmp报文所带的信息。当监听到主机发出的igmp主机报告报文时,交换机就将该主机加入到相应的组播表中;当监听到主机发出的igmp离开报文时,交换机就将删除与该主机对应的组播表项。通过不断地监听igmp报文,交换机就可以在二层建立和维护mac组播地址表。之后,交换机就可以根据mac组播地址表转发从路由器下发的组播报文。 没有运行igmp snooping时,组播报文将在二层广播,如图3-1所示。

运行igmp snooping后,报文将不再在二层广播,而是进行二层组播,如图3 -2所示. 3.1.2 igmpv3 snooping简介 s9500交换机支持igmpv1、 igmpv2、igmpv3协议。igmpv3协议是在igmpv2

报文的基础上的扩充。igmpv3允许主机指定接收某些网络发送的某些组播组,相比以前的版本,增加了主机的控制能力,不仅可以指定组播组,还能指定组播的源。 igmp查询报文分通用查询报文、特定组查询报文,下文着重介绍igmpv3新增的报文。 3.1.3 查询报文 igmpv3新增特定源组查询报文格式如下,从图中可以分辨igmpv2、igmpv3查询报文的格式的不同: 对于通用查询报文,igmpv2报文长度为8字节,igmpv3长度为12字节。 对于特定组查询报文,igmpv2报文长度为8字节,igmpv3长度大于等于12字节。 igmpv3特定源组查询报文,长度大于12字节。 设备收到igmpv3查询报文时,立即在vlan内透传该报文,然后再转换为ig mpv2查询报文,进行后续处理。 3.1.4 成员关系报告报文 从图中可以分辨igmpv2、igmpv3查询报文的格式的不同:

软件自动化测试工具介绍--所有

软件自动化测试工具介绍 一、功能测试工具 1、QTP测试工具 全名 HP QUiCkTeSt ProfeSSional SoftWare ,最新的版本为HP QUiCkTeSt ProfeSSional 11.0 QTP是 quickteSt PrOfeSSiOnal 的简称,是一种自动测试工具。使用QTP的目 的是想用它来执行重复的手动测试,主要是用于回归测试和测试同一软件的新版本。因此你在测试前要考虑好如何对应用程序进行测试,例如要测试那些功能、操作步骤、输入数据和期望的输出数据等 QUiCkTeSt针对的是GUl应用程序,包括传统的Windows应用程序,以及现在越来越流行的Web应用。它可以覆盖绝大多数的软件开发技术,简单高效,并具备测试用例可重用的特点。其中包括:创建测试、插入检查点、检验数据、增强测试、运行测试、分析结果和维护测试等方面。 2、WinRUnner MerCUry Interactive 公司的 WinRUnner是一种企业级的功能测试工具,用 于检测应用程序是否能够达到预期的功能及正常运行。通过自动录制、检测和回放用户的应用操作,WinRUnner能够有效地帮助测试人员对复杂的企 业级应用的不同发布版进行测试,提高测试人员的工作效率和质量,确保跨平台的、复杂的企业级应用无故障发布及长期稳定运行。 企业级应用可能包括 Web应用系统,ERP系统,CRM S统等等。这些系统在发布之前,升级之后都要经过测试,确保所有功能都能正常运行,没有任何错误。如何有效地测试不断升级更新且不同环境的应用系统,是每个公司都会面临的问题。 3、RatiOnal Robot 是业界最顶尖的功能测试工具,它甚至可以在测试人员学习高级脚本技术之前帮助其进行成功的测试。它集成在测试人员的桌面IBM Rational TeSt Manager上,在这里测试人员可以计划、组织、执行、管理和报告所有测试活动,包括手动测试报告。这种测试和管理的双重功能是自动化测试的理想开始。 4、AdVentNet QEngine AdVentNet QEngine是一个应用广泛且独立于平台的自动化软件测试工具, 测试、 可用于Web功能Web性能测试、JaVa应用功能测试、JaVa APl测试、SoAP测试、回归测试和 JaVa

IGMP学习总结

IGMP学习心得: 有关IGMP的RFC文档,本人看过后,感觉实在是太枯燥泛味了,深受其“害”,为此,我对其作了一个简单的总结,如有错误之处及时指出。 在IGMP协议中定义了各种烦琐的定时器,以下我罗列出了一些比较重要的定时器。有助于我们理解IGMP协议具体的实现过程。 查询间隔(query-interval) 查询间隔是指查询者发送普通查询(general query)之间的时间间隔。 查询报告间隔(max query response time) 就是周期性普通查询数据报中的最大响应时间,缺省值是100(10秒)。 当一台主机收到一个普通查询,它为收到查询的那个接口所在的组设置延迟定时器。每个定时器都被设置成不同的随机值(降低并发的概率),该随机值采用主机所能达到的最高时间精度,值的范围是(0,max query response time) 组成员关系间隔 组成员关系间隔是指一台多播路由器在确定某一个网络内的某一个组内没有成员之前,必须要经过的时长。 其它查询者存在间隔(querier timeout) 通常情况下,每一个物理网络只有一个查询者。所有的多播路由器在启动的时候,在它的每一个相连的网络中都是查询者。如果一个多播路由器接收到另一台多播由器的一个查询消息,并且它的IP地址要比自己小,那它在该网络中要马上变成一个非查询者,因为一个子网内只允许存在一个查询者。 其它查询者存在间隔是指一台路由器在确定网络内没有其它作为查询者的路由器存在之前,必须要经过的时长。 启动查询间隔 启动查询间隔是指在查询者启动的时候,发送普通查询之间的间隔。因为在多播路由器启动的时候,为了快速并可靠地确定组成员信息,路由器应当间隔较小的发送多个普通查询。它的缺省值是1/4的查询间隔。 最后一个成员查询间隔(Last member query response time) 最后一个成员查询间隔是指为响应离开组消息而发送的指定组查询(group specific query)中的最大响应时间,同时它也是指定组查询间的时间间隔。缺省值是10(1秒)。 主动报告间隔 主动报告间隔是指主机作为某一个组的成员的最初的报告之间的时间间隔,缺省值是10秒。 以上定时器中,query-interval,max query response time,querier timeout以及Last member query response time,在博达交换机中用show ip igmp interface vlan ID可以查看,也可以手动修改。 协议简述 IGMPV1是最早的因特网组播管理协议,实现了简单的组加入,组维持功能。通过发送普通查询报文和响应报文来维持组成员和多播路由器的关系。主机离开自己所在的组时不向查询者发送任何报文。

使用软件测试工具的目的

软件测试的目的:第一是确认软件的质量,其一方面是确认软件做了你所期望做的事情,另一方面是确认软件以正确的方式来做了这个事情。 第二是提供信息,比如提供给开发人员或程序经理的回馈信息,为风险评估所准备的信息。 第三软件测试不仅是在测试软件软件产品本身,而且还包括软件开发的过程。如果一个软件产品开发完成之后发现了很多问题,这说明此软件开发过程很可能是有缺陷的。因此,软件测试的第三个目的是保证整个软件开发过程是高质量的。 测试工具一般可分为白盒测试工具、黑盒测试工具、性能测试工具,另外还有用于测试管理(测试流程管理、缺陷跟踪管理、测试用例管理)的工具,这些产品主要是MercuryInteractive(MI)、Segue、IBM Rational、Compuware和Empirix等公司的产品,而MI公司的产品占了主流。白盒测试工具白盒测试工具一般是针对代码进行测试,测试中发现的缺陷可以定位到代码级,根据测试工具原理的不同,又可以分为静态测试工具和动态测试工具。静态测试工具:直接对代码进行分析,不需要运行代码,也不需要对代码编译链接,生成可执行文件。静态测试工具一般是对代码进行语法扫描,找出不符合编码规范的地方,根据某种质量模型评价代码的质量,生成系统的调用关系图等。静态测试工具的代表有:Telelogic公司的Logiscope 软件;PR公司的PRQA软件。动态测试工具:动态测试工具与静态

测试工具不同,动态测试工具的一般采用"插桩"的方式,向代码生成的可执行文件中插入一些监测代码,用来统计程序运行时的数据。其与静态测试工具最大的不同就是动态测试工具要求被测系统实际运行。动态测试工具的代表有:Compuware公司的DevPartner软件;Rational公司的Purify系列等。黑盒测试工具黑盒测试工具适用于黑盒测试的场合,黑盒测试工具包括功能测试工具和性能测试工具。黑盒测试工具的一般原理是利用脚本的录制(Record)/回放(Playback),模拟用户的操作,然后将被测系统的输出记录下来同预先给定的标准结果比较。黑盒测试工具可以大大减轻黑盒测试的工作量,在迭代开发的过程中,能够很好地进行回归测试。黑盒测试工具的代表有:Rational公司的TeamTest、Robot;Compuware公司的QACenter。性能测试工具专用于性能测试的工具包括有:Radview公司的WebLoad;Microsoft公司的WebStress等工具;针对数据库测试的TestBytes;对应用性能进行优化的EcoScope等工具。MercuryInteractive的LoadRunner是一种适用于各种体系架构的自动负载测试工具,它能预测系统行为并优化系统性能。LoadRunner的测试对象是整个企业的系统,它通过模拟实际用户的操作行为和实行实时性能监测,来帮助您更快的查找和发现问题。测试管理工具测试管理工具用于对测试进行管理。一般而言,测试管理工具对测试计划、测试用例、测试实施进行管理,并且,测试管理工具还包括对缺陷的跟踪管理。

5类软件测试工具

目前主流的测试工具主要有以下5类: 1.负载压力测试工具 这类测试工具的主要目的是度量应用系统的可扩展性和性能,是一种预测系统行为和性能的自动化测试工具。在实施并发负载过程中,通过实时性能监测来确认和查找问题,并针对所发现问题对系统性能进行优化,确保应用的成功部署。负载压力测试工具能够对整个企业架构进行测试,通过这些测试,企业能最大限度地缩短测试时间,优化性能和加速应用系统的发布周期。 2.功能测试工具 通过自动录制、检测和回放用户的应用操作,将被测系统的输出记录同预先给定的标准结果比较,功能测试工具能够有效地帮助测试人员对复杂的企业级应用的不同发布版本的功能进行测试,提高测试人员的工作效率和质量。其主要目的是检测应用程序是否能够到预期的功能并正常运行。 3.白盒测试工具 白盒测试工具一般是针对代码进行测试,测试中发现的缺陷可以定位到代码级。根据测试工具原理的不同,又可以分为静态测试工具和动态测试工具。静态测试工具直接对代码进行分析,不需要运行代码,也不需要对代码编译链接和生成可执行文件。静态测试工具一般是对代码进行语法扫描,找出不符合编码规范的地方,根据某种质量模型评价代码的质量,生成系统的调用关系图等。动态测试工具一般采用“插桩”的方式,在代码生成的可执行文件中插入一些监测代码,用来统计程序运行时的数据。它与静态测试工具最大的不同是,动态测试工具要求被测系统实际运行。 4.测试管理工具 一般而言,测试管理工具对测试需求、测试计划、测试用例、测试实施进行管理,并且测试管理工具还包括对缺陷的跟踪管理。测试管理工具能让测试人员、开发人员或其他的IT 人员通过一个中央数据仓库,在不同地方就能交互信息。 5.测试辅助工具 这些工具本身并不执行测试,例如它们可以生成测试数据,为测试提供数据准备。 参加完“2005年IT测试技术研讨会”以后,谢常君对软件测试和网络测试的主流厂商和产品有了更全面的了解。不过最让他高兴的是结识了一批企业的代表和专家。 一个阳光明媚的下午,谢常君约上某位专家在一个咖啡馆会面。“非常谢谢你能前来,我这次约你出来是希望你可以给我一些专业的建议。”谢常君说,“我们公司近期可能需要采购一些测试工具,但是我们对此了解不多,希望你可以帮我们。”接下来,这位专家就首先从测试工具的分类开始讲起…… IT测试工具集锦 Radview TestView系列 Radview公司的TestView系列Web性能测试工具和WebLoad Analyzer性能分析工具,旨在测试Web应用和Web服务的功能、性能、程序漏洞、兼容性、稳定性和抗攻击性,并且能够在测试的同时分析问题原因和定位故障点。 整套Web性能测试和分析工具包含两个相对独立的子系统:Web性能测试子系统Web 性能分析子系统。其中Web性能测试子系统包含3个模块:TestView Manager、WebFT以及WebLoad。Web性能分析子系统只有WebLoad Analyzer。 左图表达了在一个完整的测试系统中,TestView Manager用来定制、管理各种测试活动;WebLoad模拟多个用户行为进行测试,所测试的是系统性能,容量,稳定性和抗攻击性;

常用工具软件测试题及答案

、判断题 1. Realo ne Player不支持多节目连续播放。 (N ) 2. 网际快车可以上传和下载文件。(N ) 3. 天网防火墙的拦截功能是指数据包无法进入或出去。(Y ) 4. Snagit可以捕获DOS屏幕,RM电影和游戏等画面。(Y ) 5. Adobe Acrobat Reader 可以解压缩文件。 (N ) 6.金山词霸2002支持Windows XP,但不支持office XP 系统。 (N ) 7. 在用Ner-Burning Room 刻录CD 音乐时,若误将数据文件从本地资源管理器中拖入刻录机虚拟资源管理器中时,该文件将被添加到音乐CD 中。(N ) 8. Symantec Ghost 可以实现数据修复。 (N ) 9. Easy Recovery 可以恢复任何被从硬盘上删除的文件。(N ) 10. Ctrem 软件具有防发呆功能。 (Y ) 二.选择题(每小题2分,共40 分) 1、下列不属于金山词霸所具有的功能的是:(C ) A、屏幕取词 B、词典查词 C、全文翻译 D、用户词典 2、东方快车提供了(C )种语言翻 译。 1种B、2种C、3种D、4种 3、:Vintual CD 中的Creat 按钮的功能为 (B ) 编辑映像文件B、创建光盘的映像文件 映像文件的显示方式D、将映像文件插入虚拟光驱 4、下列哪一个软件属于光盘刻录软件(A ) A 、Nero-Buring Room B:Virtual CD C: DAEMON Tools D:iparmor 5、下列不属于媒体播放工具的是(D ) A、Winamp B、超级解霸 C、Realone Player D:WinRAR

软件测试自动化及工具

软件测试自动化与软件测试工具 目录 一、软件自动化测试基础 (2) 1、1 软件自动化测试的产生 (2) 1、2软件自动化测试的概念 (2) 1、3当软件开发过程中具有下列情况时首先需要考虑引入自动化测试: (2) 二、自动化测试的作用和优势 (2) 2、1概述 (2) 2、1、1产生可靠的系统 (2) 2、1、2改进测试工作质量 (2) 2、1、3.减少测试工作量并加快测试进度 (3) 2、1、4友情提醒 (3) 三、自动化测试工具 (3) 3、1软件测试工具分类 (3) 3、1、1白盒测试工具 (4) 3、1、2黑盒测试工具 (5) 3、1、3测试管理工具 (5) 3、2自动化测试工具一览 (5) 3、2、1 Rational Robot (5) 3、2、2 WinRunner (6) 3、2、3 LoadRunner (6) 3、2、4 Parasoft C++ Test (7) 3、2、5 QACenter (7) 3、2、6 WebLoad (8) 3、2、7 Web Application Stress (WAS) Tool (8) 3、2、8 TestDirector (8) 四、附录 (9)

一、软件自动化测试基础 1、1 软件自动化测试的产生 随着计算机日益广泛的应用,计算机软件越来越庞大和复杂,软件测试的工作量也越来越大。随着人们对软件测试工作的重视,大量的软件测试自动化工具不断涌现出来,自动化测试能够满足软件公司想在最短的进度内充分测试其软件的需求,一些软件公司在这方面的投入,会对整个开发工作的质量、成本和周期带来非常明显的效果。 1、2软件自动化测试的概念 软件测试自动化就是通过测试工具或其他手段,按照测试工程师的预定计划对软件产品进行自动的测试,它是软件测试的一个重要组成部分,能够完成许多手工无法完成或者难以实现的一些测试工作。正确、合理地实施自动化测试,能够快速、全面地对软件进行测试,从而提高软件质量、节省经费、缩短产品发布周期。 自动化测试能够替代大量手工测试工作,避免重复测试,同时,它还能够完成大量手工无法完成的测试工作,如并发用户测试、大数据量测试、长时间运行可靠性测试等。 1、3当软件开发过程中具有下列情况时首先需要考虑引入自动化测试: 非常重要的测试 涉及范围很广的测试 对主要功能的测试 容易自动化的测试 很快有回报的测试 运行最频繁的测试 二、自动化测试的作用和优势 2、1概述 使用测试工具的目的就是要提高软件测试的效率和软件测试的质量。通常,自动化测试的好处有: 产生可靠的系统; 改进测试工作质量; 减少测试工作量并加快测试进度。 2、1、1产生可靠的系统 测试工作的主要目标一是找出缺陷,从而减少应用中的错误;另一个是确保系统的性能满足用户的期望。为了有效地支持这些目标,在开发生存周期的需求定义阶段,当开发和细化需求时则应着手测试工作。使用自动化测试可改进所有的测试领域,包括测试程序开发、测试执行,测试结果分析、故障状况和报告生成。它还支持所有的测试阶段,其中包括单元测试、集成测试、系统测试、验收测试与回归测试等。 通过使用自动化测试可获得的效果可归纳如下。 (1)需求定义的改进 (2)性能测试的改进 (3)负载/压力测试的改进 (4)高质量测量与测试最佳化 (5)改进与开发组人员之间的关系 (6)改进系统开发生存周期 2、1、2改进测试工作质量 通过使用自动化测试工具,可增加测试的深度与广度,改进测试工作质量。其具体好处可归

测试网站性能的13个工具

测试网站各项性能的31 个免费在线工具 你是否肯定你的网站完全兼容各大浏览器?是否知道多少秒可以打开你的网站?是否可以自信地说你的网站根本就没有打不开的时候?是否…… 虽然它看似不重要,但这些在一定程度上也对你的网站的访问量产生了影响。这里列出了一份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 )。(强烈推荐)

组播与IGMP

以太网帧三种传输方式:单播、组播、广播 单播Unicast 广播Broadcast:(比如ARP请求) 交换机收到广播数据帧后,会向其所有端口进行复制转发。广播帧仅在第二层传送,无法穿透路由器或三层交换机。广播MAC地址为全1,即FF:FF:FF:FF:FF:FF。 组播Multicast:(应用最多的在于视频会议和网络教学,使用传输 层的UDP进行传输,发送源对接收者/组成员的情况一无所知) 组播组中的成员是动态的,主机可以在任何时刻加入和离开组播组。 组播相对于单播和广播的优点: 提高了数据传送效率,降低了服务器负载,节省网络带宽,用户规模 灵活变换。(组播可跨越多个网段,不局限于一个局域网)

组播mac地址是和组播ip地址对应的,组播mac地址的高24bit为01:00:5e,mac 地址的低23bit为组播ip地址的低23bit。 例1,OSPF IP组播地址是224.0.0.5, 转换为相应的MAC组播地址:(1) 把IP地址(32位)用二进制表现11100000: 00000000: 00000000: 00000101。 (2) 然后抽出最右边的23位:0000000: 00000000: 00000101,暂称为A。 (3) 把01:00:5e(24位,即00000001:00000000:01011110) 作为MAC的高24位,暂称为B。 (4)合成相应的MAC组播地址如下:连接B,0,A。B有24位,在左边;0是一位,在中间;A有23位,在右边。共48位。二进制是00000001:00000000:01011110:00000000: 00000000: 00000101 十六进制是01:00:5e:00:00:05 例2:将224.10.10.10转为MAC组播地址01:00:5e:0a:0a:0a

主流软件自动化测试工具介绍

主流自动化测试工具介绍 一、功能测试工具 1、Selenium (浏览器自动化测试框架) Selenium[1] 是一个用于Web应用程序测试的工具。Selenium测试直接运行在浏览器中,就像真正的用户在操作一样。支持的浏览器包括IE(7, 8, 9, 10, 11),Mozilla Firefox,Safari,Google Chrome,Opera等。这个工具的主要功能包括:测试与浏览器的兼容性——测试你的应用程序看是否能够很好得工作在不同浏览器和操作系统之上。测试系统功能——创建回归测试检验软件功能和用户需求。支持自动录制动作和自动生成 .Net、Java、Perl等不同语言的测试脚本。据 Selenium 主页所说,与其他测试工具相比,使用 Selenium 的最大好处是: Selenium [2] 测试直接在浏览器中运行,就像真实用户所做的一样。Selenium 测试可以在 Windows、Linux 和 Macintosh上的 Internet Explorer、Mozilla 和 Firefox 中运行。其他测试工具都不能覆盖如此多的平台。使用 Selenium 和在浏览器中运行测试还有很多其他好处。 下面是主要的两大好处: 通过编写模仿用户操作的 Selenium 测试脚本,可以从终端用户的角度来测试应用程序。通过在不同浏览器中运行测试,更容易发现浏览器的不兼容性。Selenium 的核心,也称browser bot,是用 JavaScript 编写的。这使得测试脚本可以在受支持的浏览器中运行。browser bot 负责执行从测试脚本接收到的命令,测试脚本要么是用 HTML 的表布局编写的,要么是使用一种受支持的编程语言编写的。 2、QTP测试工具 全名HP QuickTest Professional software ,最新的版本为HP QuickTest Professional 11.0 QTP是quicktest Professional的简称,是一种自动测试工具。使用QTP的目的是想用它来执行重复的手动测试,主要是用于回归测试和测试同一软件的新版本。因此你在测试前要考虑好如何对应用程序进行测试,例如要测试那些功能、操作步骤、输入数据和期望的输出数据等 QuickTest针对的是GUI应用程序,包括传统的Windows应用程序,以及现在越来越流行的

IGMP原理简介【华为】

IGMP原理简介 IGMP 协议是IP 组播在末端网络上使用的主机对路由器的信令机制,分为两个功能部分:主机侧和路由器侧。IGMP 工作机制如下所述: 1. 接收者主机向所在的共享网络报告组成员关系。 2. 处于同一网段的所有使能了IGMP 功能的组播路由器选举出一台作为查询器,查询器周期性地向该共享网段发送组成员查询消息。 3. 接收者主机接收到该查询消息后进行响应以报告组成员关系。 4. 网段中的组播路由器依据接收到的响应来刷新组成员的存在信息。如果超时无响应,组播路由器就认为网段中没有该组播组的成员,从而取消相应的组播数据转发。 5. 所有参与组播传输的接收者主机必须应用IGMP 协议。主机可以在任意时间、任意位置、成员总数不受限制地加入或退出组播组。 6. 支持组播的路由器不需要也不可能保存所有主机的成员关系,它只是通过IGMP协议了解每个接口连接的网段上是否存在某个组播组的接收者,即组成员。而各主机只需要保存自己加入了哪些组播组。 IGMPv1工作机制 IGMPv1 协议主要基于查询和响应机制完成组播组管理。在多路由器共享网段上,由三层路由协议选举出唯一的组播信息转发者(Assert Winner 或DR),并作为IGMPv1 的查询器,负责该网段的组成员关系查询。网络上IGMPv1 消息交互如图9-1 所示。 主机加入组播组的基本过程如下: 1. IGMP 查询器(RouterB)周期性地向共享网段内所有主机以组播方式(目的地址为组播地址)发送普遍组Query 查询消息。该报文的目的地址为224.0.0.1,表示该网段上的所有主机和路由器。 2. 网段内所有主机都接收到该普遍组查询消息。如果主机(如HostB 和HostC)希望加入某组播组G1,则以组播方式发送Report 报告。该报文的目的地址为224.0.0.1,报文中携带组播组G1 的地址信息。

相关文档