今年工作即将结束,作下图送给所有做传输优化的工友们,祝大家新年快乐!

言性能,可靠和保序必互斥,二者不可得兼。
TCP协议本身约束了可靠且保序,所以高性能无法得逞。
言传输本身,传输可分为流式传输和块式传输:
- 流式传输:侧重保序,追求性能,必舍弃可靠性。
- 块式传输:侧重可靠,追求性能,必舍弃保序。
文件传输属于块式传输,完全可以散乱传输完毕后统一排序。
然流媒体则大不同。当网络质量不佳,必须舍弃一些追求时,流媒体的首要是流畅还是清晰,着实需斟酌。不丢包便会带来清晰的画面,但必不流畅,舍清晰度则可保流畅。总之,不可得兼,然TCP试图保证二者已几近不可能,再追求性能,结局注定不好。
TCP传视频实属错误。丢帧又如何?何必死命确保每个报文可靠传输?
TCP传文件亦实属错误。乱序又如何?何必死命确保每个报文按序到达?
试想汉诺塔游戏,加快手速带来收益还是加一根柱子带来收益,其中因果也类似于此。
浙江温州皮鞋湿,下雨进水不会胖。