协议测试教程 – L2 & L3
协议究竟是什么?
当一台计算机与另一台计算机通信时,它必须遵守一组共享的规则和环境。换句话说,协议定义了数据如何在计算机之间和通过网络传输。
协议测试
协议测试是一种在交换、无线、VoIP、路由等领域验证通信协议的方法。协议测试的基本目标是使用协议测试工具来检查通过网络传送的数据包的结构。在测试期间,使用路由器和交换机来创建被测试设备和商品的部分。
协议测试的价值
它还允许开发可靠和高性能的网络连接。如果没有协议,设备将无法解释它们在通过网络连接进行对话时发送的电子信号。
网络传输包含加密二进制数据的数据包。此外,一些协议包括一个头来保存有关消息发送者的信息。网络协议在消息的开头提供了对通信发送方和接收方的描述。页脚也包含在一些协议中。
因此,网络协议专注于在设备之间传输数据时识别页眉和页脚。
路由协议和路由协议
有两种类型的协议 - 路由协议和路由协议。
路由协议 -路由协议可用于将用户数据从一个网络传输到另一个网络。它传输用户流量,例如电子邮件、Web 流量、文件传输等。IP、IPX 和 AppleTalk 是路由协议的示例。
路由协议 -路由协议是网络协议,让路由器选择要采用的路由。它仅用于路由器之间的通信。例如,RIP、IGRP、EIGRP 等。
简单来说,路由器就像一辆载人的公共汽车,而路由协议就像交通灯。
根据通信的性质采用不同的协议。CISCO、JUNIPER 和 ALCATEL 等公司生产使用各种通信协议的网络设备,例如路由器、调制解调器、无线接入点等。例如,Cisco 使用 EIGRP、OSPF 等。协议测试包括确定 EIGRP(增强型内部网关路由协议)或 OSPF(开放最短路径优先)或任何其他协议是否按照其相关标准运行。
协议及其使用方式
TCP/IP - 此协议用于以微小数据包的形式通过 Internet 传输数据。
UDP/ ICMP - 它用于通过互联网传输数据包中的少量数据。
POP3 和 SMTP - 这些协议用于发送和接收电子邮件。
HTTP - 超文本传输协议 (HTTP) 用于以加密形式传输 HTML 页面以保护敏感数据。
FTP - 用于通过网络将数据从一个节点传输到另一个节点。TCP/IP-传输控制协议/互联网协议,
UDP / ICMP - 用户数据报协议/互联网控制消息协议,POP3/SMTP - 邮局协议/简单邮件传输协议
有多种网络协议。
OSI 模型包含七层网络通信,其中第 2 层和第 3 层尤为重要。
第 2 层 -第二层是数据链路层。数据链路层 2 最好由 Mac 地址和以太网显示。
第 3 层 -第 3 层是识别网络中最佳可用通信通道的网络层。第 3 层以 IP 地址为例。
协议测试程序
协议测试需要协议分析器和模拟器。
协议分析器提供正确的解码以及呼叫和会话分析。虽然模拟器复制各种网络元素实体 通常,协议测试是通过将 DUT(被测设备)连接到其他设备(如交换机和路由器)并在其中设置协议来执行的。
然后,检查设备传输的数据包的数据包结构。
它使用 lxNetworks、Scapy 和 Wireshark 等工具检查设备的可扩展性、性能、协议策略等。
协议测试方法
协议测试包括功能、性能、协议栈、兼容性等方面。在协议测试期间执行三项检查 -
正确性 -我们是否在预测日期收到了数据包 X?
延迟 -数据包通过系统所需的时间。
带宽 -带宽是我们每秒可以发送的数据包数量。
协议测试可分为两种类型。功能测试,以及压力和可靠性测试。负载测试、压力测试和性能测试都是压力和可靠性测试的例子。否定测试、一致性测试、互操作性测试等等都是功能测试的一部分。
压力测试(Torture 测试)-压力测试(Torture 测试)是一种故意密集或广泛的测试,用于评估特定系统、重要基础设施或实体的稳定性。它需要进行超出正常操作能力的测试,通常会超出断点,以检查影响。
可靠性测试 -可靠性测试是一种软件测试程序,用于确定程序是否可以在给定的时间段内在特定环境中执行无故障操作。可靠性测试的目标是确保软件产品没有错误并且足够可靠以执行其预期功能。
一致性测试 - 检查诸如 IEEE、RFC 等协议的货物一致性。
互操作性测试 - 测试不同供应商的互操作性。此测试遵循相关平台上的一致性测试。
网络功能测试 -使用设计文档作为指南评估网络设备的功能。交换机上的端口安全、路由器上的 ACL 等都是功能示例。
协议测试工具
让我们来看看最重要的协议验证测试工具。
数据包制作 Scapy
Scapy 是一个复杂的数据包修改软件,可以交互使用。它允许您 -
制作数据包
在网络上,解码数据包。
捕获和分析数据包
应将数据包注入网络。
所以,从根本上说,Scapy 做了两件事:接收响应和发送数据包。您指定数据包,它传输它们,接收响应,将请求与响应匹配,并提供数据包对和未匹配数据包的列表。
它还可以处理跟踪路由、单元测试、攻击或网络发现、构建新协议、探测等。
Scapy 允许我们创建一个 Python 脚本来执行诸如发送和接收数据包或嗅探数据包之类的任务。例如,Scapy 可以使用 Python 脚本嗅探数据包。输入了在编辑器中打开 getdit 文件的命令。
#gedit scapysniff.py#!/usr/bin/env python
fromscapy.allimport*
a= sniff(count=10)
a.nsummary()
保存,并将文件的模式更改为可执行形式
#chmod+x scapysniff.py# ./scaotsbuff.py
它将嗅探 10 个数据包,然后在嗅探 10 个数据包后输出报告。Scapy 还有一个命令数组,用于同时发送和接收数据包。
Wireshark 分析工具
Wireshark 是一个协议测试工具。它允许您收集实时数据包并以人类可读的格式显示它们。它使您能够利用颜色编码和过滤器深入研究网络流量并分析单个数据包。
Wireshark 记录的数据包有助于确定会话何时创建、特定数据传输何时开始以及每次传输的数据量等等。
Wireshark 提供了大量有用的功能,包括
对数百个程序进行详细检查,并定期添加更多程序。
离线分析和实时捕获
深入的 VoIP 分析
标配三个窗格的浏览器
可在多种系统上运行,包括 Windows、Linux 和 OS X。
GUI 可用于浏览捕获的网络数据。
支持许多协议进行解密,包括 IPsec、ISAKMP 和 SSL/TLS。
实时数据可以通过以太网、ATM、蓝牙、USB、令牌和其他设备读取。
输出可以导出为 CSV、XML、纯文本和其他格式。
TTCN
TCCN 是一种标准测试语言,用于设计和实现协议测试的测试场景。TCCN 测试套件是用 TTCN 编程语言开发的用于反应式系统或行为测试的测试用例集合。
例如,如果您输入 1 美元硬币,咖啡自动售货机会给您咖啡,但如果您插入硬币以外的任何东西,则不会响应。TCCN3 编程语言用于对此类机器进行编程。为了让咖啡机在插入硬币时做出响应,我们必须创建一个充当咖啡机的 TCCN-3 组件。它允许我们在商用咖啡机发布之前进行研究。
完成后,我们会将 TCCN3 测试套件链接到外部设备。
测试系统产生刺激(一美元硬币)并收集反应(咖啡)。激励适配器从测试系统收集激励并将它们发送到被测系统。响应适配器监视被测系统的回复并将它们转发到测试系统。
TCCN3 可用于多种应用,包括
通过移动设备(LTE、WiMAX、3G 等)进行通信
高速互联网技术(ATM、DSL)
中间件平台(Web 服务、CORBA 等)
Internet Protocol (IP) 是缩写 ( SIP, IMS, IPv6)
读卡器
汽车(AutoSAR、MOST、CAN)
我们可以在 TCCN 中定义 -
测试套件
测试用例
测试步骤
声明变量
声明定时器
例如,制作 PDU。
TCCN 可以与用其他语言(如 ASN.1、XML 和 C/C++)编写的系统集成。除了表格、图形和演示格式外,TCCN3 核心语言还提供文本格式。
网络设备的协议测试 - 示例测试用例
这是路由器的示例测试用例 -
测试名称 | 测试用例 |
---|---|
One VLAN on One Switch | 构建两个不同的 VLAN。验证不同 VLAN 上主机之间的可见性 |
Three Symmetric VLANs on One switch | 创建三个不同的非对称 VLAN。检查主机之间的可见性 |
Spanning Tree − Root Path Cost Variation | 测试拓扑变化后根路径成本如何变化 |
Spanning Tree − Port Blocking | 在存在 VLAN 的情况下,查看生成树协议如何通过阻止冗余链接来防止在网络中创建循环。 |
Different Root Bridge for Different MSTI | 证明每个 MSTI 可能有一个唯一的根桥。 |
Visibility between different STP Regions | 检查使用相同 VLAN 的各个 STP 区域之间的可见性。 |
Telephone switch Performance | 拨打 1000 个电话,查看电话交换机是否仍可操作或性能是否下降。 |
Negative test for device | 输入错误的密钥并验证用户以进行身份验证。用户应该不可能获得访问权限。 |
Line speed | 检查设备是否以 10Gbps 运行并使用所有可用带宽来处理传入流量。 |
Protocol conversation rate | 跟踪两个设备之间的 TCP 通信并确保每个设备都正常运行。 |
Response time for session initiation | 计算设备对会话发起邀请请求的响应时间 |
以上是 协议测试教程 – L2 & L3 的全部内容, 来源链接: utcz.com/z/343769.html