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

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

分布式文件共享场景的应用
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功能。



可通过浏览器界面进行相应的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”倍的关系。






相关文章:
P2P网络下分布式文件共享场景的测试
P2P网络介绍 P2P是Peer-to-Peer的缩写,“Peer”在英语里有“对等者、伙伴、对端”的意义。因此,从字面意思来看,P2P可以理解为对等网络。国内一些媒体将P2P翻译成“点对点”或者“端对端”,学术界则统一称为对等网络(Peer-to-Pee…...
计算机组成原理综合1
1、完整的计算机系统应包括______。D A. 运算器、存储器和控制器 B. 外部设备和主机 C. 主机和实用程序 D. 配套的硬件设备和软件系统 2、计算机系统中的存储器系统是指______。D A. RAM存储器 B. ROM存储器 C. 主存储器 …...
探秘 AJAX:让网页变得更智能的异步技术(下)
🤍 前端开发工程师(主业)、技术博主(副业)、已过CET6 🍨 阿珊和她的猫_CSDN个人主页 🕠 牛客高级专题作者、在牛客打造高质量专栏《前端面试必备》 🍚 蓝桥云课签约作者、已在蓝桥云…...
CentOs7.x安装部署SeaTunnelWeb遇到的坑
CentOs7.x安装部署SeaTunnelWeb遇到的坑 文章目录 1. 环境2. SeaTunnel安装部署2.1下载安装包2.2 设置环境变量2.3 安装连接器插件2.4 拷贝jar包到lib下2.5 启动命令2.6 执行官方client提交任务demo 3. SeaTunnel-Web安装部署3.1 下载安装包3.2 初始化数据库脚本或修改配置appl…...
Netlink通信
前言 Netlink 是 Linux 内核与用户空间进程之间进行通信的机制之一,一种特殊的进程间通信(IPC) 。它是一种全双工、异步的通信机制,允许内核与用户空间之间传递消息。Netlink 主要用于内核模块与用户空间程序之间进行通信,也被一些用户空间工具用于与内…...
Python打造简单而强大的聊天机器人:详解与实例代码
更多资料获取 📚 个人网站:ipengtao.com 聊天机器人在现代应用中扮演着重要的角色,能够与用户进行自然语言交互。本篇博客将带领读者通过Python,使用自然语言处理库构建一个简单而强大的聊天机器人。我们将深入讨论处理用户输入、…...
Unity 通过代码将一张大图切成多个小图的方法
在Unity 中要通过代码将一张贴图切割成多张小图,可以使用以下方法: /// <summary>/// 把一张图片切割成多张使用/// </summary>/// <param name"texture">原图</param>/// <param name"rows">切割的行…...
Spring Cloud Gateway请求路径修改指南:详解ServerWebExchange的完美解决方案及代码示例
🌷🍁 博主猫头虎 带您 Go to New World.✨🍁 🦄 博客首页——猫头虎的博客🎐 🐳《面试题大全专栏》 文章图文并茂🦕生动形象🦖简单易学!欢迎大家来踩踩~🌺 &a…...
AI+爬虫 爬虫宝
场景 在很多时候,有很多爬虫的需求,其实需求都是大同小异,不过是在某某网页上爬取某某东西。把这些东西给到业务。以往的做法是:每一个需求写一个c#或者python脚本或者应用,进行爬取,这相当的费时费力&…...
【matlab】绘制横状双组渐变柱状图
【matlab】绘制横状双组渐变柱状图...
如何下载知网论文、专利的PDF格式
知网的论文格式有其特有的格式:CAJ。将CAJ格式转化为Word或者PDF非常麻烦,且会出现乱码的情况,直接用知网官方的CAJ浏览器也不太方便。为此,困扰了许久。 其实,知网可以直接下载PDF格式,只需在浏览器上安装…...
SMARTFORMS打印问题
一、问题概述 项目中碰到EPSON针式打印机,SAP打印出来的三单合一,是想横向打印,结果不管怎么设置打印出来都是纵向的; 二、调整 1、首先调整SMARTFORMS的打印方向,使用T-CODE:SMARTFORMS,如下图…...
uniapp组件和周期的知识点以及怎么使用
UniApp是一个使用Vue.js开发跨平台应用的框架,它可以将代码编译成微信小程序、支付宝小程序、H5、App等多个平台的应用。在UniApp中,组件是构建应用界面的基本单位,而生命周期则是组件在实例化、挂载、更新和销毁过程中的一系列方法。 以下是…...
【Java JVM】实例对象的创建
当我们涉及 Java 编程时, 对象的创建是一个基础而关键的概念。在 Java 中, 一切皆为对象, 而对象的创建方式直接影响代码的结构和性能。 本博客将探讨一下 Java 实例对象的创建过程。 1 创建对象的方法有哪些 在 Java 中如果要创建一个对象, 有哪些方式呢? 运用 new 关键字创…...
sectigo多域名通配符证书
多域名通配符SSL证书是一种特殊的SSL证书,它综合了多域名SSL证书和通配符SSL证书的特点,可以同时保护多个泛域名以及它的主域名,适合域名多,子域名也比较多的单个或多个站点使用。今天就随SSL盾小编了解Sectigo旗下的DV多域名通配…...
vue 流光边框矩形圆形容器
实现流光边框一般是用渐变背景加动画实现,然后使用内部盒子遮挡内部空间,达到边框流光的效果 思路:背景渐变旋转动画 功能: 自定义渐变(是否渐变<不渐变没有流光效果>,渐变颜色,渐变角…...
明理信息科技打造专属个人或企业知识付费平台,核心功能设计
在当今信息爆炸的时代,知识管理已经成为了每个人必须面对的问题。然而,市面上的知识付费平台大多数都是通用的,无法满足个性化需求。 因此,明理信息科技提供了一款专属定制的适合个人的知识付费平台。核心产品能力如下࿱…...
超结MOS/低压MOS在5G基站电源上的应用-REASUNOS瑞森半导体
一、前言 5G基站是5G网络的核心设备,实现有线通信网络与无线终端之间的无线信号传输,5G基站主要分为宏基站和小基站。5G基站由于通信设备功耗大,采用由电源插座、交直流配电、防雷器、整流模块和监控模块组成的电气柜。所以顾名思义…...
字节8年经验之谈 —— 如何从0开始做自动化测试?
自动化测试是使用软件工具在应用程序上自动运行测试的过程,无需任何人为干预。这可以通过减少手动测试的需要来保存时间并提高软件开发过程的效率。由于人为错误或不一致性,手动测试可能容易出错,这可能导致错误未被检测到。自动化测试通过提…...
深入探索Zookeeper的ZAB协议:分布式系统的核心解析
引言 自我进入软件开发领域以来,我一直对分布式系统充满着浓厚的兴趣。在这个领域中,Zookeeper无疑是一个备受关注的重要组件。作为一名资深的Java工程师,我有幸深入探索过Zookeeper的许多方面,其中最让我着迷的部分莫过于其核心机…...
收藏!小白程序员必看:详解7种RAG分块策略,轻松提升大模型检索效果
收藏!小白程序员必看:详解7种RAG分块策略,轻松提升大模型检索效果 本文深入解析了RAG系统中7种主流分块策略,包括固定大小、语义、递归、文档结构、智能体、句子和段落分块。强调了分块策略对检索增强生成(RAG…...
API集成管理之核心产品核心能力与数据盘点
API集成管理是企业数字化转型中的核心基础设施,它解决的是系统之间如何高效、安全、可控地进行数据交换与业务协同的问题。一套完善的API集成管理方案,能够帮助企业打通数据孤岛、实现能力复用、构建开放生态。本文基于公开资料,对五款代表性…...
ImageGlass:Windows平台最强图像浏览器,90+格式全支持
ImageGlass:Windows平台最强图像浏览器,90格式全支持 【免费下载链接】ImageGlass 🏞 A lightweight, versatile image viewer 项目地址: https://gitcode.com/gh_mirrors/im/ImageGlass 你是否曾因Windows自带照片应用无法打开专业RA…...
利用Taotoken模型广场为不同AI应用场景挑选合适模型
🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 利用Taotoken模型广场为不同AI应用场景挑选合适模型 面对文本生成、代码审查、智能对话、翻译等多样化的AI应用场景,如…...
冲突矿产法规合规:供应链尽责管理与ESG风险应对实战指南
1. 冲突矿产法规合规:一场被低估的供应链风暴如果你是一家电子、汽车或工业设备制造公司的供应链、法务或合规负责人,现在请立刻停下手中的工作,问自己一个问题:我们公司使用的锡、钽、钨、金(3TG)这四种金…...
ComfyUI-WanVideoWrapper:一站式AI视频生成插件解决方案
ComfyUI-WanVideoWrapper:一站式AI视频生成插件解决方案 【免费下载链接】ComfyUI-WanVideoWrapper 项目地址: https://gitcode.com/GitHub_Trending/co/ComfyUI-WanVideoWrapper ComfyUI-WanVideoWrapper是一个专为ComfyUI设计的视频生成插件包装器&#x…...
实验记录-农药种衣剂
1.显色度取决于种子颗粒大小,种子越大,则显色越差;2.需加入增稠剂...
XUnity自动翻译器:打破语言壁垒的终极Unity游戏汉化解决方案
XUnity自动翻译器:打破语言壁垒的终极Unity游戏汉化解决方案 【免费下载链接】XUnity.AutoTranslator 项目地址: https://gitcode.com/gh_mirrors/xu/XUnity.AutoTranslator 你是否曾经因为语言障碍而错过精彩的游戏剧情?是否在面对日文RPG或英文…...
Codex入门09-Git工作流(小白入门:不会写commit信息?AI帮你自动生成规范提交)
🎯 本文目标 学会用 Codex 自动化 Git 操作:提交、冲突解决、PR 描述生成。 😰 Git 新手的典型痛点 你的提交记录是不是这样的: git log --oneline a3f4b2c fix 9d1e8c4 update 4c7b91f 修改了一些东西 f0a2d3e 。。。 b5c8e7a 又改了这就是"屎山提交记录"—…...
复杂技术决策如何避免“竞选广告”陷阱?工程师必备的4项流程变革
1. 从一场“选举广告”引发的思考:工程师如何审视复杂系统设计午餐时看新闻,每个广告时段都被政治竞选广告塞满,内容无一例外都在攻击对手,却对自身主张闭口不谈。这场景让我这个在电子设计自动化(EDA)和半…...
