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

P2P网络介绍

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

P2P对等网络的基本模型
P2P对等网络是一种在对等者(Peer)之间分配任务和工作负载的分布式应用架构,是对等计算模型在应用层形成的一种组网或网络形式。
简单一点说,P2P对等网络是一种网络结构的思想,与目前网络中占据主导地位的客户端/服务器(C/S=Client/Server)结构的主要区别在于:P2P对等网络结构中不存在中心节点(或中心服务器);每个参与者(节点)的地位对等,既充当服务器(Server),为其他节点提供服务,同时也享用其他节点提供的服务,即客户端(Client);而对等节点(Peer)之间无需经过第三方中间实体就可以实现互相访问。
C\S架构 vs P2P架构

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

P2P网络计算技术正不断应用到军事、商业、政务、电信、通讯等领域。根据具体应用不同,可以把P2P应用大致分为文件内容共享和下载、流媒体技术、计算能力和存储共享等方面,本文中主要对P2P网络技术中文件内容共享和下载进行测试说明。
BT客户端下载一个共享文件的过程是客户端首先解析种子文件,获取待下载的共享文件的一些信息,其中包括Tracker服务器的地址。然后客户端连接Tracker获取当前下载该文件的所有下载者的IP和端口信息,之后客户端根据IP和端口信息连接其他下载者,从他们那里下载文件,同时也会把自己已经下载的部分提供给其他下载者下载。
在这里插入图片描述
在这里插入图片描述

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

针对P2P对等网络技术,信而泰ALPS测试平台可以通过Application Simulator 测试组件,对BitTorrent(BT)和eDonkey这两种协议进行基本功能模拟及性能测试,并输出详细的测试统计结果。
信而泰BigTao、Daryu及Darpeng2000E测试设备所搭载的ALPS测试平台具备了多种测试插件,ALPS平台可以通过Application Simulator插件实现 BitTorrent Simulator功能和eDonkey Simulator功能。
BigTao测试平台
DarYu测试平台
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向客户端请求数据,表示数据传输的两个方向。
在这里插入图片描述
在这里插入图片描述
eDonkey又称为ED2K协议,用于对等客户端之间的通信,众多的对等客户端形成了基于服务器的P2P文件共享系统。目前我们的ALPS eDonkey用于仿真client与client交互的场景。
在这里插入图片描述
除了协议仿真测试之外,这两种协议也可以支持作为攻击测试的应用背景流和混合流量测试。
可以在攻击测试的同时,通过配置p2p协议流量作为攻击测试中的背景流量,来测试被测设备对流量类型种类的区分与相应处理能力。
在这里插入图片描述
可以通过在Application Simulator组件中创建多条应用流,构造混合流量,来测试被测设备对混合流量的接收能力。
在这里插入图片描述
以Bittorrent为例,在ALPS上模拟Bittorrent Download协议仿真的主要操作步骤:

1、占用端口,配置网络邻居
2、配置应用流及应用配置
3、创建测试例
4、保存并运行测试例
在这里插入图片描述
将“新建速率”配置为200,在结果统计中新建速率结果为1400,这是因为Bittorrent需要运行BitTorrent Tracker 和BitTorrent Peer 这两个程序流,分别模拟 BitTorrent 对等方与跟踪器服务器通信和BitTorrent 点对点协议,整个过程需要六条peer会话和一条控制会话,因此新建速率统计结果与新建速率预设值就是七倍的关系。

补充说明

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/220355.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Redis7--基础篇9(SpringBoot集成Redis)

1. jedis、lettuce、Redistemplate的关系 第一代为jedis,之后推出了lettuce,然后springboot继承了Redistemplate,现推荐使用Redistemplate。 总的来说,jedis、lettuce、Redistemplate都是java操作Redis数据库的驱动。 2. 本地Ja…

骨传导耳机和开放式耳机有什么区别?一文读懂骨传导耳机和开放式的关系!

先说结论,骨传导耳机和气传导耳机两者都属于是开放式耳机,开放式耳机指的是开放双耳佩戴的耳机! 开放式耳机分为两种,分别是骨传导耳机和气传导耳机,虽然两者都属于开放式耳机,但它们的佩戴方式和传声原理…

【Unity】运行时创建曲线(贝塞尔的运用)

[Unity]运行时创建线(贝塞尔的运用) 1. 实现的目标 在运行状态下创建一条可以使用贝塞尔方法实时编辑的网格曲线。 2. 原理介绍 2.1 曲线的创建 unity建立网格曲线可以参考Unity程序化网格体的实现方法。主要分为顶点,三角面&#xff0c…

数据分析为何要学统计学(10)——如何进行比率检验

比率检验是通过样本推测某种事件的总体占比水平。要求事件仅有互斥的两种情况,即,概率分别为p与1-p。 比率检验分单样本和双样本两种情况,以下我们分别介绍。 1. 单样本比率检验 形如这样的问题:“小学生近视比例日益提高&#…

Starting the Docker Engine...一直转圈

出现的问题: 原因排查: 看了网上的很多篇文章,每个原因都排查了,没有发现问题。 遇到这样的情况应先看自己是否安装成功 打开运行,在空框中输入powershell并点击确定: docker version 显示版本证明安装…

2023年国赛高教杯数学建模D题圈养湖羊的空间利用率解题全过程文档及程序

2023年国赛高教杯数学建模 D题 圈养湖羊的空间利用率 原题再现 规模化的圈养养殖场通常根据牲畜的性别和生长阶段分群饲养,适应不同种类、不同阶段的牲畜对空间的不同要求,以保障牲畜安全和健康;与此同时,也要尽量减少空间闲置所…

微服务技术 RabbitMQ SpringAMQP P61-P76

B站学习视频https://www.bilibili.com/video/BV1LQ4y127n4?p61&vd_source8665d6da33d4e2277ca40f03210fe53a 文档资料: 链接:https://pan.baidu.com/s/1P_Ag1BYiPaF52EI19A0YRw?pwdd03r 提取码:d03r 一 初始MQ 1. 同步通讯 2. 异步通讯 3. MQ常…

Jenkins 添加节点报错

报错日志 Error: A JNI error has occurred, please check your installation and try again Exception in thread "main" java.lang.UnsupportedClassVersionError: hudson/remoting/Launcher has been compiled by a more recent version of the Java Runtime (cl…

如何搭建企业管理系统Odoo并远程访问管理界面【内网穿透】

文章目录 前言1. 下载安装Odoo:2. 实现公网访问Odoo本地系统:3. 固定域名访问Odoo本地系统 前言 Odoo是全球流行的开源企业管理套件,是一个一站式全功能ERP及电商平台。 开源性质:Odoo是一个开源的ERP软件,这意味着企…

短视频账号矩阵系统3年技术独立源头正规开发搭建

短视频账号矩阵3年技术独立开发打造是一个非常有挑战性和前景的项目。以下是一些建议,帮助你成功打造一个成功的短视频账号矩阵: 1. 确定目标受众:首先需要明确你的目标受众是谁,了解他们的兴趣爱好、年龄、性别等,以便…

ModuleNotFoundError: No module named ‘openai.error‘

ModuleNotFoundError: No module named ‘openai.error’ result self.fn(*self.args, **self.kwargs) File “H:\chatGPTWeb\chatgpt-on-wechat\channel\chat_channel.py”, line 168, in _handle reply self._generate_reply(context) File “H:\chatGPTWeb\chatgpt-on-wec…

【Unity动画】综合案例完结-控制角色动作播放+声音配套

这个案例实现的动作并不复杂,主要包含一个 跳跃动作、攻击动作、还有一个包含三个动画状态的动画混合树。然后设置三个参数来控制切换。 状态机结构如下: 完整代码 using System.Collections; using System.Collections.Generic; using UnityEngine;pu…

ShenYu网关注册中心之Zookeeper注册原理

文章目录 1、客户端注册流程1.1、读取配置1.1.1、用于注册的 ZookeeperClientRegisterRepository1.1.2、用于扫描构建 元数据 和 URI 的 SpringMvcClientEventListener 1.2、扫描注解,注册元数据和URI1.2.1、构建URI并写入Disruptor1.2.2、构建元数据并写入Disrupto…

win环境下启动kafka Port already in use: 6688; nested exception is

背景 zk启动成功后,接下来启动kafka,再启动kafka后一直说端口被占用。 端口占用解决办法: netstat -aon|findstr 9092 taskkill -f -pid 7780 杀掉后,再次启动kafka时,问题并未解决 后来修改了批处理文件kafka-run-class.bat中…

STM32_串口下载程序

目录标题 前言1、理论知识2、串口下载具体操作2.1、硬件准备2.2、软件准备2.3、设置单片机的启动模式为系统存储器启动2.4、软件配置2.5、下载程序 附:生成hex文件 前言 使用调试器下载程序又快有稳定还能使用调试功能,当然是下载调试的首选。但是拓展下串口下载程…

vscode使用remote ssh到server上 - Node进程吃满CPU

起因:Node进程吃满CPU 分析 我发现每次使用vscode的remote插件登陆到server后,就会出现node进程,不太清楚干什么用的,但是绝对和它有关。 查找原因 首先找到了这篇文章,解决了rg进程的问题: https://blo…

DBA面试题

Oracle体系结构 (1)、Oracle实例内存中包含哪些部分? 答: sga与pga sga:是一组共享的内存区域,包含数据字典缓存、库缓存、重做日志缓冲区 Pga:为每个服务器进程分配的非共享内存,存储会话状态和私有SOL工作区 在Oracle数据库中&…

JVM-9-Class类文件的结构

Java技术能够一直保持着非常良好的向后兼容性,Class文件结构的稳定功不可没。 Class文件是一组以8个字节为基础单位的二进制流,各个数据项目严格按照顺序紧凑地排列在文件之中。 Class文件格式采用一种类似于C语言结构体的伪结构来存储数据&#xff0c…

JDK bug:ciObjectFactory::create_new_metadata

文章目录 1、问题2.详细日志3.JDK:bug最终bug链接: 京东遇到过类似bug各位大佬如果有更详细的解答可以留言。 1、问题 Problematic frame: V [libjvm.so0x438067] ciObjectFactory::create_new_metadata(Metadata*)0x327 关键字还是ciObjectFactory::cr…

【HCIP学习记录】OSPF之DD报文

1.OSPF报文格式 24字节 字段长度含义Version1字节版本,OSPF的版本号。对于OSPFv2来说,其值为2。Type1字节类型,OSPF报文的类型,有下面几种类型: 1:Hello报文;● 2:DD报文&#xff1…