调度是p2p的核心,一个设计不好的调度会弄瘫整个p2p网络,看看下边的调度
1. 关于下载的快慢
- 假设网速不变,种子不变情况,最优调度应该是:
-
- 种子负载小的优先调度
- 种子RTT小的优先调度
- 种子丢包率小的优先调度
- 对于丢包在紧急区和非紧急区的处理应该是:
-
- 紧急时,调度优先种子,且多种子调度
- 非紧急时,根据播放点动态调整包超时时间,调度负载小的种子
- 假设网速不变,种子可变情况,最优调度应该是:
-
- 种子越多越好
- 调度越分散越好
- 指标主要考察下载速度、丢包率、冗余率
2. 关于下载的合理
- 主要看分享率指标
3. 总结 P2P调度及拥塞、流量、速度控制
- 化繁为简,以点对点间速度控制为主
- 节点管理
- 排序根据RTO、interval、Sendlen
- 节点过多时做废弃节点管理
- 本轮次节点请求包数:window*1s/调度间隔
- 提高速度优先以增加节点,其次为增加节点请求
- 节点速度管理
- 根据发送间隔算出发送端当前上传带宽
- 根据RTO变化判断拥塞,拥塞后要控制当前请求量,window不变,一秒或2秒恢复请求量
- 发现丢包通知发送端降低发送频率
- 发送端如果发现没有丢包通知,提高发送频率
- 提高节点连接成功率
- 直连不成功时,按反向连接处理
- HTTP不要频繁开关
补充1:上传节点带宽
2:上传节点发包频率
3:和上传节点间RTT
4:单节点一次请求量
---欢迎有兴趣者留言讨论