面对当前IETF关注的互联网体系结构演变及其对IP地址角色变化的影响,日前,APNIC的首席科学家杰夫·休斯顿发文进行分析。他表示,作为服务于亚太地区的区域互联网注册机构,APNIC负责为亚太地区的互联网网络运营商提供互联网公有IP地址的分配服务,以保证地址的唯一性,因此这个话题正是APNIC深感兴趣的。
休斯顿指出,无论是过去的信件、电话,还是如今的互联网,在大多数通信系统中,各种形式的地址都有着一致的属性。地址以及我们使用地址的方式,是任何网络体系结构的重要组成部分,互联网也并不例外。
在任何寻址方案中,地址统一的属性都包含身份、位置和可达性,而身份与唯一性又总是息息相关。理论上,一个有用的寻址方案为每个实体分配一个唯一的地址,否则就需要采取额外的措施来解决多个实体共享同一地址所产生的冲突。
严格来讲,IP地址并不识别计算机,它们标识计算机(或IP协议栈)与网络的连接点。如果一台计算机有多个联网的网络接口,那么它将拥有多个IP地址。
理论上,具有特定目的IP地址的数据包将被路由到匹配该IP地址的网络接口。发出的数据包也受到类似的约束,因为数据包的源IP地址将对应配置该IP地址的网络接口。
大多数寻址系统都试图在作为标识的地址和具有位置属性的地址之间执行某种形式的关联。IP地址被分为网络部分和主机部分。连接到同一网络中的所有主机,其IP地址共享相同的网络前缀,并且只在主机部分有所不同。在IPv4中,人们后来允许该网络标识符分界点是可变的;在IPv6中,大部分情况下则为固定模式,其中主机标识符占用低64位,网络部分占用高64位。因此,每个IP地址都包含相连的网络标识符和主机标识符,即位置和身份。
大多数寻址系统都试图在作为标识的地址和具有位置属性的地址之间执行某种形式的关联。
最后,地址可以包含某种形式的可达性信息,指示网络如何建立从一个连接实体到另一个连接实体的通信。这可以用于设置网络状态,在双方之间创建某种形式的虚电路,从而允许后续业务沿用该电路的状态。在无状态分组交换网络中,地址信息被加载到每个网络元件中,因此允许每个分组以独立于以往通过网络的其他分组的处理方式通过网络。
经典的互联网体系结构使用IP地址作为单一的令牌来支持三种功能,即IP地址旨在充当端点标识符(身份)、定位器(位置)以及通知网络转发数据包决策的方式(可达性),将数据包传递到其预期目的地。
这种将不同角色组合到一个地址中的做法,经常在不同程度上被描述为互联网体系结构的一个关键要素,使网络具有很高的性价比。这种做法也常被描述为一种“语义过载”的情况,然而语义过载在某些情况下是有问题的,比如在移动网络中就需要分离位置和身份的关联。
休斯顿表示,IP地址这种把身份和位置相关联的语义过载情况,在早期的互联网体系结构中并不是重大缺陷,直到移动网络开始对该行业产生难以置信的影响。
他提到,历史上创建“全IP”移动框架(Mobile IP)的努力由于缺乏各方的广泛支持在市场上彻底失败了,该框架允许移动设备可以在网络中漫游,同时仍保持其标识身份的“主”IP地址。
在目前较为务实且经过权衡的方案中,设备可以在移动网络内部利用电路交换技术,在不同的接入点间漫游时保持固定的IP地址。但在不同的运营商之间漫游时,则需要为设备分配一个新的IP地址,并且需要重新建立上层协议的关联。总体来说,用户已经接受了这些限制,而且实际上也很少需要完全的无缝漫游,对于那些确有需求的人来说,解决方案则是使用隧道或各种形式的VPN。
地址作为身份令牌的更深层含义是IP地址与设备的唯一关联性。这在大型主机共享计算机时代是完全合理的,但随着计算平台变得更小,个人计算机用户的个性化程度更高,以及当大量个人移动设备接入互联网时,其缺陷开始逐渐显现。在20世纪80年代,32位的地址空间看起来似乎很广阔,然而到了本世纪初,这个空间却已然拥挤不堪。
休斯顿认为,当网络运营商开始通过拨号为消费者提供上网服务时,互联网就已经走上了重构IP地址角色的道路。
客户通过电话建立了连接,作为会话建立的一部分,客户在通话的另一端向运营商出示了他们的登录凭证,并获得一个IP地址,以便在接下来的会话中使用。
客户端并没有为其网络预先分配的IP地址范围,在会话期间,用户会获得一个IP地址。通过这种方式,人们引入了分时地址概念,即用户得到的IP地址在连接的生命周期中是暂时性的。
随后,专家们通过网络地址转换(NAT)又引入了基于传输层端口地址共享的概念,即若干本地设备共享单一地址。在休斯顿看来,采用这种模式的主要驱动因素并不是IPv4地址短缺,而是从网络运营商到客户的成本转移问题。从运营商的角度来看,采用共享地址方式是因为当时这样做成本比较低。运营商对地址池的需求随着需要同时在线的设备的增加而扩展,但这个数字可能远小于运营商的用户总数。同时,地址管理的相关流程也能够通过运营商的访问控制、身份验证和计费系统来完成。
与此同时,间歇性联网设备也被纳入互联网模型。由于它们很多时候是不可访问的,因而专家们考虑将互联网的设备划分为客户机和服务器。客户机可以对服务器发起连接,但不能对其它客户机发起连接。因此,除了访问凭据之外,客户机并不需要持久性的网络标识,人们可以在多个客户端之间共享IP地址。
在90年代初,未分配的IPv4地址池趋于耗尽,IPv6开始设计。IPv6的设计使用由IETF主导的“指令和控制”的机制,它试图预测未来的行业需求,并创造出能够满足这些需求的技术。但另一方面,整个行业却正遭到不受控的升级需求与降低服务成本需求这两个迫切需求的驱动。
他表示,分时地址的方案务实而廉价,且可由单个网络运营商执行,而不必与任何其他组织协调行动。然而,IETF并不喜欢网络地址转换(NAT),因为顶层设计者希望使用更优化的解决方案;但运营商非常喜欢网络地址转换(NAT),因为它代表着一种成本更低的方法。
休斯顿认为,这种对地址角色的重构在当时并不是一个慎重的过程,而是行业对形势做出反应的结果。在他看来,在一个监管宽松并以市场为基础的领域中,这是唯一的驱动因素。
IPv6是对互联网体系结构原始地址语义的回归,并在此过程中进行了一些细微调整。按照EUI-48以太网MAC地址的方式,IPv6拥有的128位地址有足够的空间,人们可以使用其中64位为目前和未来全世界每一个主机接口分配唯一的标识。因此,IP地址的主机标识符部分不仅在网络环境中是唯一的,且在任何意义上都是唯一的,就像单个MAC地址是唯一的一样。
然而,当时互联网面临的不仅仅是IPv4地址即将耗尽的前景,更为紧迫的问题是如何扩大网络基础设施的规模,以应对不断升级的需求。不仅互联网上连接的客户端数量以指数级速度增长,每个客户端所需服务的规模也在以爆炸性速度增长,从1995年到2010年的15年间,网络扩张了10亿倍。
不过休斯顿认为,这可能并非一定要通过部署IPv6来解决。业界已非常适应将网络划分为客户机和服务器的网络体系结构,虽然服务器可能需要一个稳定的IP地址作为连接的端点,但客户机在没有静态IP地址的情况下也能顺利工作。
此外,服务架构也在发生变化,应用程序在初始交换中已经包括服务器的标识,例如,在安全传输层协议(TLS)中包含服务名称指示字段(SNI),在HTTP协议的交互处理中包括服务器名称。这意味着特定的服务标识不再唯一地绑定到单个IP地址,不同的服务可以由使用单个IP地址的服务器提供,一个特定的服务也可以复制到多个服务器上,每个服务器都有不同的IP地址。
他表示,IPv6已经提出20多年了,然而,在这期间,互联网本身并没有停滞不前,而是为解决上述问题发生了根本性变化。这些变化对IP地址的作用产生了深远的影响。
休斯顿认为,今天的互联网是由内容分发网络(CDN)及其相关“云”主导的互联网。如果把视频流数据考虑在内,在向终端客户交付的所有数据中,有大约70%到90%为视频流。此外,企业网络的需求似乎也正在演变为使用与CDN类似的云服务。疫情期间,居家办公对于网络的需求,也加速了企业计算向各种形式的云服务的转变。因而,如今公共互联网的基础设施正在被边缘化和私有化。
休斯顿表示,“将互联网视为交付某种服务的平台,其作用是将客户需求传送到所需服务的门户”这种网络模型存在一个基本的谬误,即计算和存储成本高昂,而网络传输却丰富且廉价。但事实上,如今计算和存储是丰富而廉价的。基于此,CDN消除了通信中的距离,即通过复制和分发内容,将服务直接带到消费者面前,从而解决了远程访问的成本和性能问题。
在休斯顿看来,从客户机到服务器之间距离最短的网络才是更快、更便宜的网络,CDN因而带来了更快、更便宜和更灵活的性能。因此,公共互联网的规模已经逐步缩减到最后一英里的直径,即接入网的范围,原因很简单——这样更便宜。
回到本文的中心,关于地址角色的变化,休斯顿指出,人们还需要全球唯一的IP地址,是因为该地址的唯一目的是在本地CDN的服务范围内将自己与其他客户区分开来。
他认为,随着基于丰富计算和存储资源的CDN的发展,越来越多的资源会更加接近终端客户,而网络基础设施中IP地址全球唯一性的基本价值也将越来越难以量化。
休斯顿表示,沉没成本是影响当今网络体系结构变化的另一个因素,没人愿意花钱去升级现有的公共基础设施,因此想改变网络的人只能在现有基础设施的周围、上层和隧道中进行部署。他认为,在这个监管宽松的世界,零散的、缺乏协调的行为总是占据主导地位,因而通过协调和统筹来改进和提升公共基础设施是行不通的。
虽然专家们已经在网络中建立了一个基于应用程序的封装结构,巧妙地规避了整个基础设施的更新问题,但20多年来,IPv6一直在与现有基础设施的沉没成本作斗争,而QUIC、BBR、SVCB和HTTPS以及类似的应用层技术急剧崛起,则再次证明了应用程序世界对现有基础设施的极端厌恶。
因此,休斯顿指出,也许问题不再是关于向IPv6的过渡,而是与服务和应用的世界更相关,以及,应用程序如何尽可能以隔离底层基础设施的方式来创建自己的环境?在他看来,这和几十年前IP基于无状态分组转发机理打败电路交换电话网的故事简直如出一辙。
他表示,现在,人们似乎只把IP地址当作临时的会话令牌,把所有繁重的服务标识工作都交给了域名系统。人们可能正在访问相同的服务,却可能使用着完全不同的IP地址来访问,或者人们可以在不同时间访问同一服务,但每次都使用不同的地址。而在更大的网络中,终端客户看到的是一个临时的NAT管理绑定到公共地址,可能会被数百甚至数千人共享。
并且,甚至这种描述也在改变。QUIC在加密封装中使用会话令牌,使IP地址与单个会话的绑定变得更加流畅,因为同一个QUIC会话可以在单个会话中灵活地进行地址绑定。
因此,休斯顿认为,如今的地址可能只是一个短暂的传输令牌,它将一个数据包流与另一个数据包流区分开来,在语义上几乎没有什么意义。在他看来,现今维系互联网的并非IP地址和路由,而是DNS和通用命名系统。