SlideShare une entreprise Scribd logo
1  sur  29
P2P 设计经验谈



 余锋 (mryufeng@gmail.com)
 2008-06-08
常见类型

• 对等的和中心节点方式
• 迅雷
• BT
• 电驴( KAD)
• Skype
对等网络

• Peer 都是平等的
• 互相协作
判断网络类型

• Stun 协议
• 可以由公网的 peer 参与实际连接进行判断
传输通道

• UDP
  o   命令 可靠 udp 数据运行丢
  o   开销很小

• TCP
  o   tcp 公平分享带宽的特性 最好开 7 个链接
  o   多点下载
  o   需要握手 开销大
心跳检查

• Peer 定期心跳来宣布自己的存在
• 频率不可过高
结对互助

• Buddy 关系
• 充分利用公网机器的资源
提高连通率

• Upnp
• 防火墙
• Nat
• http 隧道
• Udp 打洞
• 中间服务器中转
通道的质量测量

• 需要持续统计
• 主通道有可能失效 必须有备用通道
对抗运营商恶意丢包

• 运营商会对特定类型的包进行限制
• 加密处理
局域网优先

• 广播找 peer
• 资源优先在局域网请求
抗攻击和恶意篡改

• Dos 攻击
• 篡改协议
• 修改程序
协议加密和压缩

• xxtea rc4
• zlib
• Aes
• Rsa
大容量服务器

• Edonkey 服务器
• 减少中间链的个数 提高稳定性
• 方便扩展
错误容忍

• 错误必须可恢复
• 错误原因收集
• 有诊断代码
对抗数据损坏

• Hash
• 可检测小块数据损坏的算法
成熟的语言与库

• ACE
• Python
• Lua
• Erlang
• Udt
• libevent
低资源占用率

• 执行 profile 代码 降低 cpu 使用率
• 减少内存使用量
bootstrap

• 引导系统进入网络
• 多管道 预防失效
• 标准 http 请求
通讯原语

• 名称查找
• 死亡通知
• RPC
公平公正原则

• 收获必须付出
• 不能滥用用户资源
• 小心恶意用户
平台移植

• 协议
• Api
• 代码实现考虑
测试

• P2P 环境的模拟
• 丢包 限速
• Nat 受限
协议兼容性

• 最少保持 3 个版本
• 向前兼容
• 保留字段
部署升级

• 自动升级
• 版本可回滚
• 分批升级
避免触动警报器

• 不要发起的大量的操作,触动网络报警
• 小范围更新
担心网吧和硬盘恢复卡

• 网吧大量用户共享一个 IP
• 硬盘数据写后被恢复
• Clone 的客服端 引起混淆
工具箱

• Netpeeker
• Wireshark
• Intel vtune
• Rational Purify Quantity
Q&A

Contenu connexe

Tendances

電腦顯示卡簡介
電腦顯示卡簡介電腦顯示卡簡介
電腦顯示卡簡介Warren Yip
 
ใบงานแบบสำรวจ และประวัติ จิรายุทธ
ใบงานแบบสำรวจ และประวัติ จิรายุทธใบงานแบบสำรวจ และประวัติ จิรายุทธ
ใบงานแบบสำรวจ และประวัติ จิรายุทธJirayut Tibdee
 
創用 CC: 概覽與標示
創用 CC: 概覽與標示創用 CC: 概覽與標示
創用 CC: 概覽與標示Bob Chao
 
Reverse engineering
Reverse engineeringReverse engineering
Reverse engineering@x0mg
 
中国项目经理专业发展之路
中国项目经理专业发展之路中国项目经理专业发展之路
中国项目经理专业发展之路a14100
 
Hr 001 人文管理系就業市場分析
Hr 001 人文管理系就業市場分析Hr 001 人文管理系就業市場分析
Hr 001 人文管理系就業市場分析handbook
 
ใบงานที่ 9-16
ใบงานที่ 9-16ใบงานที่ 9-16
ใบงานที่ 9-16Nira Naam
 

Tendances (12)

電腦顯示卡簡介
電腦顯示卡簡介電腦顯示卡簡介
電腦顯示卡簡介
 
ใบงานแบบสำรวจ และประวัติ จิรายุทธ
ใบงานแบบสำรวจ และประวัติ จิรายุทธใบงานแบบสำรวจ และประวัติ จิรายุทธ
ใบงานแบบสำรวจ และประวัติ จิรายุทธ
 
創用 CC: 概覽與標示
創用 CC: 概覽與標示創用 CC: 概覽與標示
創用 CC: 概覽與標示
 
货币战争
货币战争货币战争
货币战争
 
Reverse engineering
Reverse engineeringReverse engineering
Reverse engineering
 
中国项目经理专业发展之路
中国项目经理专业发展之路中国项目经理专业发展之路
中国项目经理专业发展之路
 
Hr 001 人文管理系就業市場分析
Hr 001 人文管理系就業市場分析Hr 001 人文管理系就業市場分析
Hr 001 人文管理系就業市場分析
 
電流協講演資料1
電流協講演資料1電流協講演資料1
電流協講演資料1
 
AA
AAAA
AA
 
Cửa SMC Khánh Tường Nan Ya
Cửa SMC Khánh Tường Nan YaCửa SMC Khánh Tường Nan Ya
Cửa SMC Khánh Tường Nan Ya
 
Cửa và cửa sổ nhựa lõi thép Neuma Nan Ya
Cửa và cửa sổ nhựa lõi thép Neuma Nan YaCửa và cửa sổ nhựa lõi thép Neuma Nan Ya
Cửa và cửa sổ nhựa lõi thép Neuma Nan Ya
 
ใบงานที่ 9-16
ใบงานที่ 9-16ใบงานที่ 9-16
ใบงานที่ 9-16
 

En vedette

高级服务器设计和实现1
高级服务器设计和实现1高级服务器设计和实现1
高级服务器设计和实现1Feng Yu
 
高级服务器设计和实现3
高级服务器设计和实现3高级服务器设计和实现3
高级服务器设计和实现3Feng Yu
 
Oprofile linux
Oprofile linuxOprofile linux
Oprofile linuxFeng Yu
 
Tsung 压力测试工具
Tsung 压力测试工具Tsung 压力测试工具
Tsung 压力测试工具Feng Yu
 
高级服务器设计和实现2
高级服务器设计和实现2高级服务器设计和实现2
高级服务器设计和实现2Feng Yu
 
Erlang全接触
Erlang全接触Erlang全接触
Erlang全接触Feng Yu
 
Cap 理论与实践
Cap 理论与实践Cap 理论与实践
Cap 理论与实践james tong
 
利用新硬件提升数据库性能
利用新硬件提升数据库性能利用新硬件提升数据库性能
利用新硬件提升数据库性能Feng Yu
 
了解集群
了解集群了解集群
了解集群Feng Yu
 
MySQL和IO(上)
MySQL和IO(上)MySQL和IO(上)
MySQL和IO(上)Feng Yu
 
低成本和高性能MySQL云架构探索
低成本和高性能MySQL云架构探索低成本和高性能MySQL云架构探索
低成本和高性能MySQL云架构探索Feng Yu
 
mnesia脑裂问题综述
mnesia脑裂问题综述mnesia脑裂问题综述
mnesia脑裂问题综述Feng Yu
 
Cpu高效编程技术
Cpu高效编程技术Cpu高效编程技术
Cpu高效编程技术Feng Yu
 
SSD在淘宝的应用实践
SSD在淘宝的应用实践SSD在淘宝的应用实践
SSD在淘宝的应用实践Feng Yu
 
Flash存储设备在淘宝的应用实践
Flash存储设备在淘宝的应用实践Flash存储设备在淘宝的应用实践
Flash存储设备在淘宝的应用实践Feng Yu
 
MySQL和IO(下)
MySQL和IO(下)MySQL和IO(下)
MySQL和IO(下)Feng Yu
 
了解IO协议栈
了解IO协议栈了解IO协议栈
了解IO协议栈Feng Yu
 
C1000K高性能服务器构建技术
C1000K高性能服务器构建技术C1000K高性能服务器构建技术
C1000K高性能服务器构建技术Feng Yu
 
Systemtap
SystemtapSystemtap
SystemtapFeng Yu
 
了解IO设备
了解IO设备了解IO设备
了解IO设备Feng Yu
 

En vedette (20)

高级服务器设计和实现1
高级服务器设计和实现1高级服务器设计和实现1
高级服务器设计和实现1
 
高级服务器设计和实现3
高级服务器设计和实现3高级服务器设计和实现3
高级服务器设计和实现3
 
Oprofile linux
Oprofile linuxOprofile linux
Oprofile linux
 
Tsung 压力测试工具
Tsung 压力测试工具Tsung 压力测试工具
Tsung 压力测试工具
 
高级服务器设计和实现2
高级服务器设计和实现2高级服务器设计和实现2
高级服务器设计和实现2
 
Erlang全接触
Erlang全接触Erlang全接触
Erlang全接触
 
Cap 理论与实践
Cap 理论与实践Cap 理论与实践
Cap 理论与实践
 
利用新硬件提升数据库性能
利用新硬件提升数据库性能利用新硬件提升数据库性能
利用新硬件提升数据库性能
 
了解集群
了解集群了解集群
了解集群
 
MySQL和IO(上)
MySQL和IO(上)MySQL和IO(上)
MySQL和IO(上)
 
低成本和高性能MySQL云架构探索
低成本和高性能MySQL云架构探索低成本和高性能MySQL云架构探索
低成本和高性能MySQL云架构探索
 
mnesia脑裂问题综述
mnesia脑裂问题综述mnesia脑裂问题综述
mnesia脑裂问题综述
 
Cpu高效编程技术
Cpu高效编程技术Cpu高效编程技术
Cpu高效编程技术
 
SSD在淘宝的应用实践
SSD在淘宝的应用实践SSD在淘宝的应用实践
SSD在淘宝的应用实践
 
Flash存储设备在淘宝的应用实践
Flash存储设备在淘宝的应用实践Flash存储设备在淘宝的应用实践
Flash存储设备在淘宝的应用实践
 
MySQL和IO(下)
MySQL和IO(下)MySQL和IO(下)
MySQL和IO(下)
 
了解IO协议栈
了解IO协议栈了解IO协议栈
了解IO协议栈
 
C1000K高性能服务器构建技术
C1000K高性能服务器构建技术C1000K高性能服务器构建技术
C1000K高性能服务器构建技术
 
Systemtap
SystemtapSystemtap
Systemtap
 
了解IO设备
了解IO设备了解IO设备
了解IO设备
 

Similaire à P2P 设计经验谈

國泰電腦中醫電腦班
國泰電腦中醫電腦班國泰電腦中醫電腦班
國泰電腦中醫電腦班ktop
 
Aama亚杰商会季刊08年第三期
Aama亚杰商会季刊08年第三期Aama亚杰商会季刊08年第三期
Aama亚杰商会季刊08年第三期sunxin1018
 
南區勞工課程-Picasa網路相簿
南區勞工課程-Picasa網路相簿南區勞工課程-Picasa網路相簿
南區勞工課程-Picasa網路相簿Toomore
 
馬英九、蕭萬長環境政策
馬英九、蕭萬長環境政策馬英九、蕭萬長環境政策
馬英九、蕭萬長環境政策ma19
 
IWOM Watch May Special Edition (Chinese)
IWOM Watch May Special Edition (Chinese)IWOM Watch May Special Edition (Chinese)
IWOM Watch May Special Edition (Chinese)Kantar Media CIC
 
亚杰会刊5
亚杰会刊5亚杰会刊5
亚杰会刊5bg1fmo
 
日语学习课件 假名基础 090211
日语学习课件 假名基础 090211日语学习课件 假名基础 090211
日语学习课件 假名基础 090211xmhrt
 
馬英九、蕭萬長海洋政策
馬英九、蕭萬長海洋政策馬英九、蕭萬長海洋政策
馬英九、蕭萬長海洋政策ma19
 
IE-028 準時生產制Jit(簡體)
IE-028 準時生產制Jit(簡體)IE-028 準時生產制Jit(簡體)
IE-028 準時生產制Jit(簡體)handbook
 
2008年下半年网络口碑网论观察
2008年下半年网络口碑网论观察2008年下半年网络口碑网论观察
2008年下半年网络口碑网论观察Kantar Media CIC
 
Iwo Mwatch2ndhalfyearreview2008(Cn)
Iwo Mwatch2ndhalfyearreview2008(Cn)Iwo Mwatch2ndhalfyearreview2008(Cn)
Iwo Mwatch2ndhalfyearreview2008(Cn)bryan_bi
 
第32届金鼎奖
第32届金鼎奖第32届金鼎奖
第32届金鼎奖Meiyu
 
馬英九、蕭萬長外交政策
馬英九、蕭萬長外交政策馬英九、蕭萬長外交政策
馬英九、蕭萬長外交政策ma19
 
Nii Openhouse(20080606)
Nii Openhouse(20080606)Nii Openhouse(20080606)
Nii Openhouse(20080606)真 岡本
 

Similaire à P2P 设计经验谈 (20)

Jim Of Interush
Jim Of InterushJim Of Interush
Jim Of Interush
 
國泰電腦中醫電腦班
國泰電腦中醫電腦班國泰電腦中醫電腦班
國泰電腦中醫電腦班
 
Aama亚杰商会季刊08年第三期
Aama亚杰商会季刊08年第三期Aama亚杰商会季刊08年第三期
Aama亚杰商会季刊08年第三期
 
南區勞工課程-Picasa網路相簿
南區勞工課程-Picasa網路相簿南區勞工課程-Picasa網路相簿
南區勞工課程-Picasa網路相簿
 
馬英九、蕭萬長環境政策
馬英九、蕭萬長環境政策馬英九、蕭萬長環境政策
馬英九、蕭萬長環境政策
 
IWOM Watch May Special Edition (Chinese)
IWOM Watch May Special Edition (Chinese)IWOM Watch May Special Edition (Chinese)
IWOM Watch May Special Edition (Chinese)
 
中国情報検索法
中国情報検索法中国情報検索法
中国情報検索法
 
OpenID Lecture 2008.08.18
OpenID Lecture 2008.08.18OpenID Lecture 2008.08.18
OpenID Lecture 2008.08.18
 
61 Ch
61 Ch61 Ch
61 Ch
 
46 Ch
46 Ch46 Ch
46 Ch
 
亚杰会刊5
亚杰会刊5亚杰会刊5
亚杰会刊5
 
日语学习课件 假名基础 090211
日语学习课件 假名基础 090211日语学习课件 假名基础 090211
日语学习课件 假名基础 090211
 
馬英九、蕭萬長海洋政策
馬英九、蕭萬長海洋政策馬英九、蕭萬長海洋政策
馬英九、蕭萬長海洋政策
 
IE-028 準時生產制Jit(簡體)
IE-028 準時生產制Jit(簡體)IE-028 準時生產制Jit(簡體)
IE-028 準時生產制Jit(簡體)
 
2008年下半年网络口碑网论观察
2008年下半年网络口碑网论观察2008年下半年网络口碑网论观察
2008年下半年网络口碑网论观察
 
Iwo Mwatch2ndhalfyearreview2008(Cn)
Iwo Mwatch2ndhalfyearreview2008(Cn)Iwo Mwatch2ndhalfyearreview2008(Cn)
Iwo Mwatch2ndhalfyearreview2008(Cn)
 
第32届金鼎奖
第32届金鼎奖第32届金鼎奖
第32届金鼎奖
 
馬英九、蕭萬長外交政策
馬英九、蕭萬長外交政策馬英九、蕭萬長外交政策
馬英九、蕭萬長外交政策
 
Nii Openhouse(20080606)
Nii Openhouse(20080606)Nii Openhouse(20080606)
Nii Openhouse(20080606)
 
76 Ch
76 Ch76 Ch
76 Ch
 

Plus de Feng Yu

Erlang分布式系统的的领域语言
Erlang分布式系统的的领域语言Erlang分布式系统的的领域语言
Erlang分布式系统的的领域语言Feng Yu
 
Erlang开发实践
Erlang开发实践Erlang开发实践
Erlang开发实践Feng Yu
 
了解应用服务器
了解应用服务器了解应用服务器
了解应用服务器Feng Yu
 
我为什么要选择RabbitMQ
我为什么要选择RabbitMQ我为什么要选择RabbitMQ
我为什么要选择RabbitMQFeng Yu
 
了解网络
了解网络了解网络
了解网络Feng Yu
 
了解内存
了解内存了解内存
了解内存Feng Yu
 
了解Cpu
了解Cpu了解Cpu
了解CpuFeng Yu
 
Rethink db&tokudb调研测试报告
Rethink db&tokudb调研测试报告Rethink db&tokudb调研测试报告
Rethink db&tokudb调研测试报告Feng Yu
 
高性能集群服务器(Erlang解决方案)
高性能集群服务器(Erlang解决方案)高性能集群服务器(Erlang解决方案)
高性能集群服务器(Erlang解决方案)Feng Yu
 
淘宝商品库MySQL优化实践
淘宝商品库MySQL优化实践淘宝商品库MySQL优化实践
淘宝商品库MySQL优化实践Feng Yu
 
开源混合存储方案(Flashcache)
开源混合存储方案(Flashcache)开源混合存储方案(Flashcache)
开源混合存储方案(Flashcache)Feng Yu
 
Erlang low cost_clound_computing
Erlang low cost_clound_computingErlang low cost_clound_computing
Erlang low cost_clound_computingFeng Yu
 
Inside Erlang Vm II
Inside Erlang Vm IIInside Erlang Vm II
Inside Erlang Vm IIFeng Yu
 

Plus de Feng Yu (14)

Erlang分布式系统的的领域语言
Erlang分布式系统的的领域语言Erlang分布式系统的的领域语言
Erlang分布式系统的的领域语言
 
Erlang开发实践
Erlang开发实践Erlang开发实践
Erlang开发实践
 
了解应用服务器
了解应用服务器了解应用服务器
了解应用服务器
 
我为什么要选择RabbitMQ
我为什么要选择RabbitMQ我为什么要选择RabbitMQ
我为什么要选择RabbitMQ
 
了解网络
了解网络了解网络
了解网络
 
了解内存
了解内存了解内存
了解内存
 
了解Cpu
了解Cpu了解Cpu
了解Cpu
 
Rethink db&tokudb调研测试报告
Rethink db&tokudb调研测试报告Rethink db&tokudb调研测试报告
Rethink db&tokudb调研测试报告
 
高性能集群服务器(Erlang解决方案)
高性能集群服务器(Erlang解决方案)高性能集群服务器(Erlang解决方案)
高性能集群服务器(Erlang解决方案)
 
淘宝商品库MySQL优化实践
淘宝商品库MySQL优化实践淘宝商品库MySQL优化实践
淘宝商品库MySQL优化实践
 
开源混合存储方案(Flashcache)
开源混合存储方案(Flashcache)开源混合存储方案(Flashcache)
开源混合存储方案(Flashcache)
 
Erlang low cost_clound_computing
Erlang low cost_clound_computingErlang low cost_clound_computing
Erlang low cost_clound_computing
 
Go
GoGo
Go
 
Inside Erlang Vm II
Inside Erlang Vm IIInside Erlang Vm II
Inside Erlang Vm II
 

P2P 设计经验谈