提供3000多款全球软件/控件产品
针对软件研发的各个阶段提供专业培训与技术咨询
根据客户需求提供定制化的软件开发服务
全球知名设计软件,显著提升设计质量
打造以经营为中心,实现生产过程透明化管理
帮助企业合理产能分配,提高资源利用率
快速打造数字化生产线,实现全流程追溯
生产过程精准追溯,满足企业合规要求
以六西格玛为理论基础,实现产品质量全数字化管理
通过大屏电子看板,实现车间透明化管理
对设备进行全生命周期管理,提高设备综合利用率
实现设备数据的实时采集与监控
利用数字化技术提升油气勘探的效率和成功率
钻井计划优化、实时监控和风险评估
提供业务洞察与决策支持实现数据驱动决策
转帖|行业资讯|编辑:龚雪|2014-09-28 15:13:54.000|阅读 131 次
概述:贪婪TCP协议
# 慧都年终大促·界面/图表报表/文档/IDE等千款热门软控件火热促销中 >>
已不记得多少次玩游戏时,被隔壁loser下片卡掉线。
已不记得多少次浏览网页时,被隔壁sb下片卡得动弹不了。
为什么带宽总是被P2P下载抢光呢?
是因为P2P太流氓了吗?
有句老话说得好,人背不能归社会。与其抱怨P2P协议太流氓,不如说tcp协议太憨厚老实了。tcp协议的拥塞控制算法,会根据丢包、重传、延时等现象,判断当前网络状态。当网络状况不好时,tcp协议会自动降低传输速率,以降低网络压力,避免网络因过重的压力而崩溃。当P2P拼命抢带宽时,tcp协议却不停的降低自己的速度,结果就是带宽被P2P吃完而tcp的速度接近于0。
tcp拥塞控制,是针对PCà服务器的整条线路进行流量控制。保护的是“整条互联网线路”。这是一个舍己为人的“君子”协议。在带宽大而且p2p不是很泛滥的国家(除中国外的全世界),tcp能让大家都过上网络通畅的好日子。但是在中国,“流氓”软件越来越多。各种P2P下载工具、视屏插件疯狂抢带宽。使得TCP拥塞控制变得越来越不合时宜。
我们需要对TCP协议的拥塞控制做一次革命!!!
我们真的需要拥塞控制吗?
需要的,但不是针对“整条互联网线路”,而是仅仅针对我们的出口带宽做拥塞控制。假如我的出口带宽只有10MB,那么我们的拥塞控制就应该针对10MB来做,正好占满这10MB带宽。至于电信小区出口带宽不够了,电信移动间连接节点带宽不够了,这些位置的拥塞都和我们没关系。P2P只管自己死活,我们的tcp也必须以同样的策略对抗才能保证用户正常上网。这就是我们的贪婪TCP协议:仅针对自身的网络出口带宽进行拥塞控制。
说来容易实现难
tcp协议中的拥塞控制是由发送方控制的,也就是说,当我们用PC浏览网页时,PC只能控制自己上传数据的速率,无法控制服务器发送数据的速率。所以贪婪tcp协议主要是做在服务器端的。通过在服务器端采用贪婪tcp协议来提高用户访问网站/玩游戏的流畅度。很多大公司都会采用“把拥塞控制初始窗口改大几十倍”的办法来达到提高拥塞窗口的效果。不过我们作为一家自己写内核的公司,顺手做一个贪婪tcp协议能达到更好的效果。
在实现贪婪tcp协议时主要涉及到几个技术点:
1、出口带宽的监控和各个连接间的速率分配
我们是通过流量控制模块来实现的(因为之前已经有流控了,这样做成本最小),将各个tcp连接的数据包接入流控管理队列,流控管理队列根据当前出口带宽情况控制选择合适的数据包通过网卡发送出去;然后再将积压未发送的数据长度反馈给各个tcp连接,减小tcp发送速率。一个更高性能的实现方案是:各个tcp连接将自己的发送状态反馈到一个per-cpu流量管理中心,per-cpu流量管理中心为tcp连接分配当前时间周期能发送的数据量;各个per-cpu的流量管理中心则隔几十毫秒同步一次数据。
2、流量控制窗口
tcp协议中,接收方可以通过流量控制窗口来限制发送方的发送速率。一般来说,当接收方的接收缓冲区不够时,就会通过tcp流量控制窗口来限制发送方的发送速率。正常情况下,这种限制是很少发生的。但是为了保险起见,我们需要对tcp流量控制窗口进行支持。
3、别真的发的太快了
因为我们只考虑了服务器端出口带宽,没有考虑客户端的出口带宽。如果真的拼命发到1GB/s的数据,有可能把PC用户的出口带宽冲垮。因为我们只是用贪婪tcp协议来支持游戏、网页浏览这种耗流量较小的服务器,很少会碰到一次发送数据超过1MB的情况,所以基本不会碰到“发的太快”的情况。
如果要支持大文件传输,则必须对客户端出口带宽进行预测。我们可以假定客户端的网络带宽在若干小时内一般是固定的。然后计算当我们提高/降低速率时丢包率的变化。例如当我们以10KB/s传输数据时,丢包率就已经达到了20%;100KB/s时丢包率仅仅升高为23%,就可以认为丢包主要不是由我们引起的,可以进一步提高发送速率,提高我们抢带宽的能力。
原文://blog.chinaunix.net/uid-29873073-id-4498350.html
本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@capbkgr.cn
文章转载自:慧都控件网通过提供强大的3D CAD数据访问工具并适用于桌面、移动和Web的高级环境3D可视化发动机,HOOPS在提升造船设计和制造流程的效率方面发挥了重要作用。
HOOPS Luminate在汽车行业中的应用具有广泛的潜力和深远的影响。它通过提供高效的3D可视化、虚拟装配与拆解、性能分析、客户定制等功能,帮助汽车制造商在设计、生产和销售过程中提升效率、降低成本并提高产品质量。
在不断发展的软件开发世界中,使工具和框架与最新的平台版本保持同步至关重要,欢迎查阅~
全球航运业对国际贸易至关重要,全球 90% 以上的商品通过海运运输。准确监控和控制这些集装箱的移动对于维持高效的供应链至关重要。手动输入集装箱号码是这一程序的关键部分,它带来了相当大的挑战,例如人为错误和效率低下。
服务电话
重庆/ 023-68661681
华东/ 13452821722
华南/ 18100878085
华北/ 17347785263
客户支持
技术支持咨询服务
服务热线:400-700-1020
邮箱:sales@capbkgr.cn
关注我们
地址 : 重庆市九龙坡区火炬大道69号6幢