P2P网络介绍

P2P是Peer-to-Peer的缩写,“Peer”在英语里有“对等者、伙伴、对端”的意义。因此,从字面意思来看,P2P可以理解为对等网络。国内一些媒体将P2P翻译成“点对点”或者“端对端”,学术界则统一称为对等网络(Peer-to-Peer networking)或对等计算(Peer-to-Peer computing)。

P2P网络下分布式文件共享场景的测试_客户端

P2P对等网络的基本模型

P2P对等网络是一种在对等者(Peer)之间分配任务和工作负载的分布式应用架构,是对等计算模型在应用层形成的一种组网或网络形式。

简单一点说,P2P对等网络是一种网络结构的思想,与目前网络中占据主导地位的客户端/服务器(C/S=Client/Server)结构的主要区别在于:P2P对等网络结构中不存在中心节点(或中心服务器);每个参与者(节点)的地位对等,既充当服务器(Server),为其他节点提供服务,同时也享用其他节点提供的服务,即客户端(Client);而对等节点(Peer)之间无需经过第三方中间实体就可以实现互相访问。


P2P网络下分布式文件共享场景的测试_IP_02

C\S架构 vs P2P架构


分布式文件共享场景的应用

P2P网络计算技术正不断应用到军事、商业、政务、电信、通讯等领域。根据具体应用不同,可以把P2P应用大致分为文件内容共享和下载、流媒体技术、计算能力和存储共享等方面,本文中主要对P2P网络技术中文件内容共享和下载进行测试说明。

BT客户端下载一个共享文件的过程是客户端首先解析种子文件,获取待下载的共享文件的一些信息,其中包括Tracker服务器的地址。然后客户端连接Tracker获取当前下载该文件的所有下载者的IP和端口信息,之后客户端根据IP和端口信息连接其他下载者,从他们那里下载文件,同时也会把自己已经下载的部分提供给其他下载者下载。

P2P网络下分布式文件共享场景的测试_IP_03

P2P网络下分布式文件共享场景的测试_IP_04

基于ALPS平台在P2P网络技术的测试

针对P2P对等网络技术,信而泰ALPS测试平台可以通过Application Simulator 测试组件,对BitTorrent(BT)和eDonkey这两种协议进行基本功能模拟及性能测试,并输出详细的测试统计结果

信而泰BigTao、Daryu及Darpeng2000E测试设备所搭载的ALPS测试平台具备了多种测试插件,ALPS平台可以通过Application Simulator插件实现 BitTorrent Simulator功能和eDonkey Simulator功能。

P2P网络下分布式文件共享场景的测试_客户端_05

BigTao测试平台

P2P网络下分布式文件共享场景的测试_客户端_06

DarYu测试平台

P2P网络下分布式文件共享场景的测试_IP_07

Darpeng2000E测试平台

可通过浏览器界面进行相应的Application Simulator 插件的创建,相关IP/port资源的预留、应用模型、流量模型和负载类型的配置,实现测试例的创建、修改、保存、删除、执行、测试结果的查看等功能。

ALPS BitTorrent 协议仿真功能,重点仿真Tracker HTTP Protocol和Peer Wire Protocol两个协议,分别对应仿真客户端与Tracker 交互,以及客户端从Peer处下载数据的流程,通过在此平台上的配置,可以实现Download File和Upload File两种action,Download File表示客户端向远端peer请求数据,Upload File表示远端peer向客户端请求数据,表示数据传输的两个方向。

P2P网络下分布式文件共享场景的测试_客户端_08

P2P网络下分布式文件共享场景的测试_服务器_09


eDonkey又称为ED2K协议,用于对等客户端之间的通信,众多的对等客户端形成了基于服务器的P2P文件共享系统。目前我们的ALPS eDonkey用于仿真client与client交互的场景。

P2P网络下分布式文件共享场景的测试_客户端_10

除了协议仿真测试之外,这两种协议也可以支持作为攻击测试的应用背景流和混合流量测试。

  • 可以在攻击测试的同时,通过配置p2p协议流量作为攻击测试中的背景流量,来测试被测设备对流量类型种类的区分与相应处理能力
  • 可以通过在Application Simulator组件中创建多条应用流,构造混合流量,来测试被测设备对混合流量的接收能力。


P2P网络下分布式文件共享场景的测试_客户端_11

以Bittorrent为例,在ALPS上模拟Bittorrent Download协议仿真的主要操作步骤:

1、占用端口配置网络邻居

2、配置应用流及应用配置

3、创建测试例

4、保存并运行测试例


P2P网络下分布式文件共享场景的测试_客户端_12

将“新建速率”配置为200,在结果统计中新建速率结果为1400,这是因为Bittorrent需要运行BitTorrent Tracker 和BitTorrent Peer 这两个程序流,分别模拟 BitTorrent 对等方与跟踪器服务器通信和BitTorrent 点对点协议,整个过程需要六条peer会话和一条控制会话,因此新建速率统计结果与新建速率预设值就是七倍的关系。

补充说明

根据抓包现象可以看出,真实BT下载的时候,对于client来说,只有一个IP11.0.0.7),但是提供下载文件的人是不同的IP,这里模拟提供下载文件的人的时候,没有占用多个IP,只用了一个IP,但是必须要用不同的端口号,所以抓包看IP是相同的,端口号有6个6881-6886而在测试例中是两个flow,六条peer会话和一条控制会话,因此新建统计结果与预设值就是“6+1”倍的关系。

P2P网络下分布式文件共享场景的测试_IP_13


P2P网络下分布式文件共享场景的测试_客户端_14


P2P网络下分布式文件共享场景的测试_客户端_15


P2P网络下分布式文件共享场景的测试_客户端_16


P2P网络下分布式文件共享场景的测试_IP_17


P2P网络下分布式文件共享场景的测试_服务器_18