在2019年6月,我参加了互联网架构委员会组织的一次关于协议设计和影响的研讨会,探讨了初始设计预期与部署现实之间的差异。以下是我在研讨会上的讨论印象。本文将重点介绍两个协议努力的案例研究,包括它们的预期和部署经验。这两个协议分别是边界网关协议(BGP)和DNS的安全扩展(DNSSEC)。
BGP协议的设计与部署
BGP路由协议一直是互联网的常客,也是仍在使用的最古老的协议之一。尽管原始设计中的一些方面似乎不适合当今的环境,例如在发生意外事件时进行会话重启的一般方法,但这只是微不足道的小问题。该协议的主要成果是其固有的可扩展性。BGP是在20世纪80年代末设计的,使用的是1950年代中期描述的路由技术,并在互联网拥有不到500个组件网络(自治系统)和不到10,000个地址前缀时首次部署。如今,BGP支持的网络接近一百万个前缀,并正朝着10万个自治系统迈进。BGP的长期存在归因于多个因素,包括:选择在TCP中使用可靠的流传输——而不是发明自己的消息传输方案;距离向量使用逐跳信息流——允许以各种形式部分采用新功能,而无需整个网络的旗帜日;以及适合网络互联方式的商业模式。
BGP的挑战与改进尝试
然而,BGP今天显然存在一些弱点,包括不安全方面的问题,以及由此产生的路由劫持和路由泄露问题、选择性的不稳定性,以及更多特定地址前缀免费广告的膨胀效应。在BGP的30年生涯中,许多努力试图解决这些问题,但都未能有效。在这些情况下,我们都考虑了对协议的设计变更,以减轻或甚至消除这些弱点。然而,对底层成本分配模型、商业模式或协议性能的相应变更如此之大,以至于变革受到抵制。即使是呼吁BGP发言人应用路由过滤器以防止出站数据包中的源地址欺骗——即BCP 38——这一建议也已经20年了。然而,今天,网络运营商群体中没有人理会这一建议。
DNSSEC的安全扩展
DNSSEC是DNS的安全扩展,旨在提高DNS查询的安全性。它通过在DNS响应中添加数字签名来验证DNS记录的真实性和完整性。DNSSEC的设计预期是提供一个安全的DNS查询环境,防止DNS欺骗和中间人攻击。然而,DNSSEC的部署现实却面临诸多挑战,包括兼容性问题、资源消耗和部署复杂性。尽管如此,DNSSEC在提高DNS安全性方面发挥了重要作用,并且随着技术的不断进步,其部署和采用率正在逐渐提高。
结尾:
对于运维和网络工程师来说,了解BGP和DNSSEC的设计预期与部署现实具有重要意义。这有助于他们更好地理解这些协议的工作原理,识别潜在的安全风险,并采取相应的措施来提高网络的安全性和稳定性。同时,这也为工程师们提供了改进网络架构和优化网络性能的思路。
原文: APNIC Blog(2019-06-12)|编译自 APNIC Blog,事实以原文为准。
来源:APNIC Blog