压缩冗余信息

我们传输的大量信息都是少量信息的简单组合(yet another 幂律?)。

任何信息均如此。对于文字信息,有固定的短语,俚语,名言警句,对于多媒体,有范式化前奏,BGM,名人舞姿,常见镜头,体现在数据包中就是一些 0,1 组合成的固定比特片段。

把这些片段甄别出来,为其关联唯一短 ID,部署在内容的中间转发节点上,事情将变得高尚。
在这里插入图片描述
转发数据包时,用数据包的任意子串匹配这些片段(诸如 Leetcode “求最长子串”,练熟了还是有用的。),一旦命中,即可将较长子串替换成较短 ID,相当于仅传输字典索引,时间换空间,大大降低传输量,从而节省带宽。

图中那张“共享的 ‘内容 -> ID’ 映射表”可通过离线/在线学习获得,也可人工配置。

说起在线学习,可以维护一个 LRU 链表,保存最 Hot 的 Top N 片段。

最后说优化,还是那句话,所有优化都需要注入新信息,优化匹配算法的信息来自现实世界。

打个比方,紧接着“当我避开你的温柔后”的大概率是“泪开始坠落”。或者可为每个区域,甚至每个用户维护一个字典,现实世界具有相同特征的 entry 传输的数据重复度也偏高。比如说涉及浙江温州的数据传输,专门建立一个皮鞋相关的字典,是高尚的。

这种传输优化可用于朴素的 CDN 动态加速,也可用于朴素的 CDN 静态加速回源,但注意,一定要朴素,不然得不偿失,但最能打的场景还是隧道传输加速了。

前两周我提到过,统计复用率足够高时,端到端传输优化很难闭环,单流结果不再由单流行为决定,大多数端到端算法被认为不靠谱,不如降低发送量,从而提高通过率,最大程度减少重传时延。进一步说,如果大家都这么做,世界又将重新变得高尚。

传统 TCP/IP 网络早被 CDN 盖了一个内容层,鉴于此,本文说的这类朴素的内容层,从不识别内容,只识别“一段具有特征的比特流”,将其编码成更短的比特流,就算赚到,细节可能还包括高效的匹配算法和编码方案。

至于古时候存储介质(竹简,石头)和传输介质(马车)都很贵的时候,书面语总比口语惜字如金,也是这个意思。白话文被写下来的行为在宋朝之后普及,因为宋朝之后大范围普及了纸,或者还有稍许活字印刷术。

超过 20 ms 的传输在平时上网中就很少见,绝大多数内容都是通过 CDN 接入,而 CDN 调度机制基本上不会调度到太远的地方,因此果真要做长传,一定要控制丢包率,如果丢包率不能控制,就选择抗丢包的算法,比如 BBR。降低丢包还有一个方法将是少发数据,发得少丢得少。就是本文。

浙江温州皮鞋湿,下雨进水不会胖。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值