提供3000多款全球软件/控件产品
针对软件研发的各个阶段提供专业培训与技术咨询
根据客户需求提供定制化的软件开发服务
全球知名设计软件,显著提升设计质量
打造以经营为中心,实现生产过程透明化管理
帮助企业合理产能分配,提高资源利用率
快速打造数字化生产线,实现全流程追溯
生产过程精准追溯,满足企业合规要求
以六西格玛为理论基础,实现产品质量全数字化管理
通过大屏电子看板,实现车间透明化管理
对设备进行全生命周期管理,提高设备综合利用率
实现设备数据的实时采集与监控
利用数字化技术提升油气勘探的效率和成功率
钻井计划优化、实时监控和风险评估
提供业务洞察与决策支持实现数据驱动决策
转帖|行业资讯|编辑:龚雪|2014-09-28 15:13:54.000|阅读 168 次
概述:贪婪TCP协议
#慧都22周年庆大促·界面/图表报表/文档/IDE/IOT/测试等千款热门软控件火热促销中>>
已不记得多少次玩游戏时,被隔壁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@hmdbvip.cn
文章转载自:慧都控件网



在现代复杂系统开发中,大型项目面临着需求频繁变更、技术复杂性高、团队协作困难、系统可追溯性差等多重挑战。Sparx Systems Enterprise Architect作为一款领先的UML全生命周期建模平台,通过提供统一的建模环境和贯穿从概念到退役的完整工具链,为大型项目提供了至关重要的战略支撑。
HOOPS SDK系列(包括HOOPS Visualize、HOOPS Exchange、HOOPS Communicator等)为开发者提供从图形渲染、3D数据解析到可视化交互的完整工具链,帮助机器人制造商在有限周期内构建出媲美行业顶级标准的专业应用,实现软硬件的最佳融合。
在接到客户投诉的那一刻,工厂最怕的不是质量问题本身,而是查不清来路:同一批次的成品到底是谁做的?用了哪批原料?哪道工序出了问题?
HOOPS Exchange是Tech Soft 3D提供的行业领先CAD数据访问引擎,支持超过30种主流CAD文件格式的导入与导出,完整保留几何结构、装配层级、PMI注释与工程属性
服务电话
重庆/ 023-68661681
华东/ 13452821722
华南/ 18100878085
华北/ 17347785263
客户支持
技术支持咨询服务
服务热线:400-700-1020
邮箱:sales@hmdbvip.cn
关注我们
地址 : 重庆市九龙坡区火炬大道69号6幢
永利最大(官方)网站