350 likes | 513 Views
课程代号 CON342 Vista PNRP 的英特网测试. 课程内容概述. PNRP 是一个 对等点名解析协议,是微软 VISTA P2P 平台的核心 之一 。 本报告将详解 PNRP ,介绍 相关微软 P2P 平台核心与架构。 将讲解 如何从普适到特征分析对 该协议进行大规模测试。 从测试规模与结果展示微软对 P2P 技术的承诺 该报告不仅有助于了解微软 VISTA P2P 平台核心,也展示了微软内部开发测试通讯平台与协议的实际操作,为开发大规模应用协议,通讯平台与软件提供宝贵经验。. 课程内容安排. PNRP 以及微软 P2P 平台介绍 P2P 简介
E N D
课程内容概述 • PNRP是一个对等点名解析协议,是微软VISTA P2P平台的核心之一。 • 本报告将详解PNRP,介绍相关微软P2P平台核心与架构。 • 将讲解如何从普适到特征分析对该协议进行大规模测试。 • 从测试规模与结果展示微软对P2P技术的承诺 • 该报告不仅有助于了解微软VISTA P2P平台核心,也展示了微软内部开发测试通讯平台与协议的实际操作,为开发大规模应用协议,通讯平台与软件提供宝贵经验。
课程内容安排 • PNRP以及微软P2P平台介绍 • P2P简介 • PNRP详解 • 以PNRP为核心的微软P2P平台 • 如何对PNRP进行测试:测试设计 • 对PNRP类协议测试应该考虑的角度 • 仿真工具简介 • 英特网特征以及针对PNRP的环境参数设置 • PNRP性能参数设置与内部数据采集 • PNRP性能展示 • PNRP测试案例研究 • 总结
P2P与PNRP • 什么是P2P(对等点对点)通讯? • 相对于客户端服务器通讯架构而言,所有点对等,不存在中心服务器与客户端角色区别的通讯架构。 • 优势 • 架构P2P所需核心技术与挑战 • 端到端联通 • 名解析 • 多方通讯与协调 • PNRP:对等点名解析协议(Windows Vista) • 为何名解析重要 • 目前名解析的两难 • PNRP的革命性意义
PNRP:名 • 名:可代表任何东西 • 机器,用户,小组,程序,服务等等 • 微软P2P架构中的“名” • PeerName = <authority>.<classifier> • 安全名: <authority> 40个16进制字符从密钥而来 • 不安全名: 0.<classifier> • P2PID: 128-bit数字标识符,转换自PeerName • PNRP ID与数字空间 • PNRP ID: <P2PID>+<服务地址信息> • 256-bit数字空间覆盖网,基于IPv6
PNRP:关键概念 • Node (PNRP点) :运行PNRP服务的实例 • Register (登记发布) • Resolve (解析) • Enumerate (枚举) • Cloud (PNRP群) :联通的PNRP点网 • Global (全球群) • Link-local (链接-本地群) • Cache (PNRP缓存)
PNRP:关键概念(续) • Bootstrap (启动) :发现PNRP群(其它点)而加入 • 永久性储存 • 提供的已知点 • SSDP (Simple Service Discovery Protocol) • Seed Server (种子服务器) • Routing Entry (路由项目) • CPA – Certified Peer Address (认证对等点地址) • Extended Payload(扩展负载)
[50, 500] (90%) 22 450 655 830 [5, 49] (9%) 202 230 261 279 [0, 4] (0.9%) 2层(最底层) 我的ID = 249 1层 0层(最高层) 246 248 251 253 最小ID = 0 最大ID = 999 PNRP数字空间(N1000 )与缓存结构 [距我ID距离] (数字空间百分比% )
5 450回复下一站跃点 800送回权威性响应 200发搜寻(解析)请求到下一站 6 7 4 200转发搜寻请求到离800次近的点 450 800 500 200 创建标识符并连到群上 500无法更接近800, 驳回搜寻请求到200 3 350 1 2 200发搜寻请求到离800最近的邻居(500) PNRP名解析举例
PNRP逻辑操作 • 启动与同步 • 名的登记与发布蔓延 • 名解析枚举与验证 • 维护 • 群修理
微软P2P平台与PNRP 三大关键技术之一
普适测试领域 • BVT (Build Verification Test) • 功能测试 • 可用性测试 • 疲劳测试 • 性能(Performance)与延展(Scalability)测试 • 安全测试 • 场景测试 • 实世端到端测试 • 整合部署测试
PNRP目标应用与针对性测试 • 目标用途与要求 • 动态节点:自调,自适,自修 • 交互影响:收敛 • 大规模(亿万点):性能可延展 • 开放:安全坚强(Robust) • PNRP的特殊测试 • 规模增大下的性能保障--大小群的性能 • 不同动态特征下群性能的保障 • 群整体而言的(性能)安全 • 综述--群的性能延展测试与安全测试
PNRP群测试的挑战 • 如何测大规模的群? • 仿真工具,百万点 • 如何设置各种动态环境参数来测试群? • 如何衡量群的性能? • 如何帮助程序调试(Debug)?
仿真工具简介(WiDS) • 什么是WiDS? • WiDS is Distributed Simulator • WiDS是基于事件(event)推动的发散式网络仿真器 • 目前是主仆结构 • 由微软亚洲研究院开发 • 可在单机与多机(网络联接)上仿真 • 克服中心处理器与内存限制,可以仿真百万点
PNRP群的衡量指标 • 平均解析成功率(Resolve Success Rate) • 平均解析延迟(Resolve Latency) • 平均每点数据量(Traffics/Node/S) • 收敛时间*
PNRP测试开发互动 • 根据设计确定协议内部数据的采集 • 平均跃点数(hop count) • 平均缓存结构级数(cache level) • 协议数据包统计(protocol packets) • 其它 • 采集数据与设计期望值对比
PNRP性能展示 • 从所未有的开发阶段大规模测试 • 数以百计2000点至50万点仿真测试 • 高达300台机器200万点测试 • 性能安全性展示 • 准确:平均解析成功率>99% • 高效:平均解析延迟<3秒 • 低耗:每登记名平均耗带宽<50字节/秒 • 安全:针对攻击的自抵制与快速收敛 • 整个开发测试展示了微软对P2P技术的承诺
PNRP群分裂的修复 完整的群 群修复合并 群分裂 分裂探测: 1探测包/分/群
PNRP群修复机理 • 群分裂的探测 • 每分钟群中至少一点将发送探测类型数据包 • 发向一已知共同点(e.g. seedserver) • 群修复与合并 • 发现分裂的点开始修复邻点 • 由协议自身维护机理蔓延 • 仿真测试设计
总结 • PNRP与微软P2P平台介绍 • PNRP在微软P2P平台中的核心意义 • PNRP的优良性能与微软对其P2P平台的承诺 • 对P2P世界带来的革命性变化 • 对PNRP类大型复杂软件的测试 • 从普适测试角度开始 • 分析目标应用领域特性,设计针对性测试 • 寻找开发相应工具 • 注意环境场景设定,指标参数定义与内部数据采集 • 对比采集数据与设计期望值寻找内在缺陷
问题/反馈 • MSDN • http://windowssdk.msdn.microsoft.com/en-us/library/ms710811.aspx • 博客 • http://blogs.msdn.com/noahh • http://blogs.msdn.com/kevin_ransom • http://blogs.msdn.com/ravirao • 新闻组 • microsoft.public.win32.programmer.networks • microsoft.public.platformsdk.networking • 网站 • http://www.microsoft.com/p2p
Technical Chats and Webcasts http://www.microsoft.com/communities/chats/default.mspx http://www.microsoft.com/usa/webcasts/default.asp Microsoft Learning and Certification http://www.microsoft.com/learning/default.mspx MSDN & TechNet http://microsoft.com/msdn http://microsoft.com/technet Virtual Labs http://www.microsoft.com/technet/traincert/virtuallab/rms.mspx Newsgroups http://communities2.microsoft.com/ communities/newsgroups/en-us/default.aspx Technical Community Sites http://www.microsoft.com/communities/default.mspx User Groups http://www.microsoft.com/communities/usergroups/default.mspx
讲师的Chalk Talk和其他Session • CON241: • 利用微软协作技术平台开发P2P通讯软件与服务