- 1、本文档共29页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
P2P设计经验谈.
* P2P设计经验谈 余锋(mryufeng@) 2008-06-08 常见类型 对等的和中心节点方式 迅雷 BT 电驴(KAD) Skype 对等网络 Peer都是平等的 互相协作 判断网络类型 Stun 协议 可以由公网的peer参与实际连接进行判断 传输通道 UDP 命令 可靠udp 数据运行丢 开销很小 TCP tcp公平分享带宽的特性 最好开7个链接 多点下载 需要握手 开销大 心跳检查 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 公平公正原则 收获必须付出 不能滥用用户资源 小心恶意用户
文档评论(0)