网站建设推广入什么费用,个人怎样注册网站,优质的中小型网站建设,网站建设要多少钱tcp 的 ack 实在太多了#xff0c;如果互联网上 80% 报文是 tcp#xff0c;那么其中 1/3 的报文都是 ack#xff0c;此前写过几篇短文#xff0c;比如 丢弃一些 pure ack 和 注入或利用 pure ack。
简单说#xff0c;tcp 依靠 ack 提供 self-clock#xff0c;发送 data …tcp 的 ack 实在太多了如果互联网上 80% 报文是 tcp那么其中 1/3 的报文都是 ack此前写过几篇短文比如 丢弃一些 pure ack 和 注入或利用 pure ack。
简单说tcp 依靠 ack 提供 self-clock发送 data 越多ack 越多如果 ack 与 data 不同步将出现各种问题详见 rfc2525-Stretch ACK violation。
正如哥斯拉将会压垮自身一样tcp 的 pure ack 也会随着带宽进一步提高对系统带来越来越大的重负。pure ack 是小包与 data 数量线性同步的 pure ack 对系统带来不对称的压力系统最怕高频小包。
典型的三种场景不得不防pure ack 在 sender/receiver 端与 data 竞争 cpupure ack 在 wifi 等 csma 网络与同流 data 竞争信道pure ack 在交换节点与 data 竞争 buffer 和带宽。无论哪一种问题都因摩尔定律落后于带宽发展而日趋严重。
在端侧pure ack 的每次处理需要一次 cpu 中断而定期轮询将损害 delivery rate 计算并降低灵敏度在 wifi每个反向 pure ack 都要和正向 data 竞争时隙以 2:1 为例将侵占系统 1/3 的带宽资源在交换节点大量资源用于管理大量 pure ack对 data 照顾不周将加剧拥塞。
固定资源的系统tcp 最终吞吐将被自身 ack 限制在固定比例ack 损耗随处理器和带宽的不对称发展趋向增加。 lrowifi frame-aggregation 等治标不治本的技术来掩盖问题也不知是福是祸很少有人能认识上述三个场景的问题甚至很少有人意识到它们存在。
tcp 在 100Gbps 的理论吞吐有一半另一半资源用来处理 pure ack 了允许 tso/lro/ack-aggregation/big-tcp 再挤出些带宽勉强到 70% 甚至 90%但挤牙膏皮显然毫无意义就看 1.6Tbps 网络中 tcp 如何应对。问题在 tcp self-clock 对 ack 太过依赖。
问题的意义在于新协议而不是如何改进 tcp。你会将 tcp 某特征抄进新协议吗教科书里教的都是这特征解决了什么问题而只字不提它是哪些问题的所在。因此我们看到一个又一个的 yet another tcp。
同样基于 tcp ack 太多的问题果真百害无一利吗
tcp ack 实在太多但并非没用正如 self-clock 顾名思义流量由 ack 触发。在如 clos/spine-leaf 这种规整且局域对称的拓扑下路径也对称交换机可分析 ack 提前预期大流量对反向的 ack 整形即可对未来流量整形从而提前避免拥塞。这比等大流量真正到了再反压或者丢包要好太多。
对于 tcp 长连接上述方法可以捕捉源自同一 receiver 但目标却是不同 sender 的大量 pure ack 从而预期一次潜在的 incast对这些扇出的 pure ack 进行 pacing 整形就可消除未来的扇入 incast是不是很有趣。
这思路适用于一切规则拓扑下的传输协议用来消除 incast规则拓扑下交换机可分析途径的 request 而提前预知 response 流量特征在获知将来潜在拥塞后交换机可对这些 request 整形间接控制 response 流量。
看起来像是在利用 pure ack实际是在利用规则拓扑规则拓扑中交换机比端对流量具有更全局且精确的预期得益于交换机知道流量源自哪里去往哪里。在同一尺度的网络中规则相通问题也相通。在广域网中分布式特征更倾向于端到端控制因为传播时延太大拓扑不对称交换机它算不准。
周末的文章 incast,拥塞控制,内存墙的秘密 我的一个回复 “数据中心服务器扇出每个 request 都携带唯一的 expired id这个id 在请求端生成每个 id 均唯一该 id 表示一个时间戳指示在发送 response 前等待多久…”expired id 只为放大波动每台服务器都受负载随机波动而波动将这个波动放大到交换机带宽的粒度incast 随之消失。这事实在广域网能得到印证广域网没有 incast原因就是多级链路长距离放大了波动从而消除了全局同步。随机修剪光纤长度就是想在数据中心人为放大随机波动。
回到 pure ack 过多问题如果数据中心可利用 pure ack 度量或预测潜在流量特征是因为网络足够规则那么在广域网1:2 的 data/ack 比例则没必要广域网波动性被放大而损害的预测精度损失不会随样本增加而缓解按照大数定律样本增加只能更精确测量波动本身而波动是滞后的拥塞控制要做的是在更粗粒度感知波动而不是精确测量波动。
以我的从业经验细粒度度量和粗粒度度量相比对于预测未来链路画像并不能更精确。用历史预测未来更多的是经验走势而它本就是粗粒度的。
足球场的面积腿脚的灵活性决定了球门的大小同时也约束了上场人数因为人数不能改变每一个次射门的进球概率人数过少或过多都将降低观赏性。这是尺度决定的相反将桌球打进直径 10cm 的洞却是每一个桌球玩家的基本要求。 tcp 说旧不旧quic 几乎就是 yet another tcp但 tcp 确实很旧当我们要优化 tcp 或迭代一个新协议时不能被表面现象牵着鼻子走一定要回到 1970 年代彼时彼刻的现实你会发现 tcp 几乎一切的设计都出自四个字简单能用。所以也就没有那么多为什么和好不好了。tcp 后来的问题并不影响它的可用性可如今人们几乎把高性能 tcp 玩成了烟花特效但当人们真去设计一个试图取代 tcp 的新协议时却把那些导致低性能的特性也一并抄了去结果新协议也只是可用并不简单在它针对的范围外也不高效。 浙江温州皮鞋湿下雨进水不会胖。