## IPv6 与网络历史的复杂关系 本文探讨了旨在取代 IPv4 的 IPv6 尚未完全接管互联网的原因,揭示了一个令人惊讶的网络历史决策故事。作者在 IETF 会议上的调查发现,IPv6 的复杂性并非源于其自身缺陷,而是源于数十年来在现有基础设施*之上*堆叠的解决方案。 最初,网络是简单的点对点连接。共享“总线”网络(如以太网)的引入需要 MAC 地址来进行本地通信。当这些局域网需要互联时,出现了 IP 地址,但底层的以太网层仍然存在。这造成了一种混乱的交互——IP 路由依赖于 MAC 地址,ARP 用于在两者之间转换,DHCP 用于管理地址——所有这些都建立在为更简单时代设计的基石之上。 作者认为,更简洁的设计,即 IPv6 的愿景,旨在通过消除对 MAC 地址和第二层桥接的依赖来消除这种复杂性。然而,为了保持与现有基础设施的向后兼容性,特别是移动 IP 的兴起及其对第二层无缝漫游的依赖,阻止了完全过渡。 最终,互联网受到历史选择的负担,虽然 IPv6 提供了一个更优雅的解决方案,但克服数十年的分层复杂性仍然是一项艰巨的任务。未来可能在于像 QUIC 这样的协议,它提供了一条简化连接的途径,但真正的全新起点仍然难以捉摸。
这篇博文讲述了看似小众的数据结构——跳表——如何意外地解决了软件测试公司 Antithesis 的一个重大性能问题。作者最初认为跳表过于复杂,但当在分析软件模糊测试产生的大型数据集时,在 Google BigQuery 中遇到查询速度慢的问题时,重新发现了它的用处。
Antithesis 需要有效地追踪导致特定日志消息的事件历史,这需要遍历分支树结构。BigQuery 的架构针对全表扫描进行了优化,难以处理树遍历所需的众多点查询。为了避免使用分数据库方法带来的复杂数据库一致性问题,团队创新了一种“跳树”——本质上是多个共享结构的跳表——并使用 SQL 表实现。
这使得通过链式 JOIN 进行祖先查找成为可能,巧妙地平衡了查询复杂度和 BigQuery 的定价模式。虽然生成的 SQL 代码很长,但 JavaScript 编译器可以自动生成它。跳树解决方案有效运行了六年,直到 Antithesis 开发了自己的优化数据库。作者总结说,即使是晦涩的数据结构也可能证明非常有价值,并强调了创新的周期性——跳树概念与现有的“跳图”结构相关。
这篇帖子剖析了一种有趣的动态,即我们如何解读媒体,灵感来源于重读《糊涂蛋日记》。作者认为,它的幽默之处在于格雷格·赫夫利在日记里*说*的话和他行为(通过附带的涂鸦展示)所揭示的真实性格之间的差距。关键在于,插图表明格雷格*知道*自己的缺点,这与一种常见的解读——将他描绘成无知的——相矛盾。
这个观察结果可以延伸到现实生活中那些广受批评的在线“主角”——那些个人写作被广泛评论的人。作者指出,人们倾向于指责这些作者缺乏自我意识,但他们的写作往往*有意*呈现一幅不讨喜的自我画像。以丹尼尔·奥本海默的《纽约时报》文章为例,帖子认为,批评这种写作的*内容*是合理的,但假设作者不知道他们所造成的印象是不准确的。
最终,作者提倡更细致的批评,关注*所说/所做*的内容,而不是错误地将无知归于作者。他们俏皮地提出需要一个术语来描述这种现象——文本与创作者意识之间的脱节。