Internet起源于美国国防部高级研究计划署资助开发的阿帕网(ARPANET),最初它只是分布于美国4所著名大学的4个节点互联组成的数据分组交换网,网速56 kbit/s,但在后续的40多年中,Internet得到了快速发展和迅速普及,根据Internet系统协会2009年7月发布的数据显示,Internet已成为超过6亿个节点,核心节点系统处理能力达到每秒太比特级的全球超级信息系统。
随着Internet规模的不断扩大,全球边界网关协议(BGP)路由表呈现出“超线性”增长的态势,数据显示全球BGP转发信息表(FIB)已从20世纪90年代末期的5万余条爆增至2010年的30万余条。有专家预测在未来15年内可能会增至200万条,2050年甚至可达到1 000万条[1],路由表的“超线性”增长以及由其所引出的一系列问题将导致Internet体系结构和路由机制的扩展性面临巨大的挑战[2]。
全球BGP路由表的“超线性”增长需要BGP路由器采用容量更大、查询速度更快的存储器(动态随机存取存储器、静态随机存取存储器、三重内容可寻址存储器)保存路由信息表(RIB)和FIB;由于每条路由表项的维护包括新建、撤销、更新等都需要发布BGP通告,路由表的增长增加了BGP通告发布的数量和频率,使更多、更频繁的BGP路由更新注入Internet核心,从而形成了Internet网络中的“路由更新搅动”,导致路由的不稳定、路由器计算FIB的负担加重以及路由收敛时间的延长;另外,路由表查询速度要求的提高和计算负荷的增大导致更大的功耗,因此需要更大型的供电系统和散热系统。全球BGP路由表的“超线性”增长以及由此引发的一些列问题无疑增加了网络的运营成本,影响Internet的发展。因此,路由扩展性问题引起了学术界和工业界的广泛关注。
1 影响互联网路由扩展性因素
2006年10月,鉴于由于互联网规模不断扩大带来的一系列问题,互联网架构委员会(IAB)在荷兰阿姆斯特丹就Internet路由技术举行了路由和寻址专题讨论会,并在会后形成了分析和研究互联网路由扩展性问题的报告RFC4984。研究人员普遍认为导致互联网路由扩展性问题的主要因素是IP地址的语义重载、站点多归属、流量工程、提供商独立地址、反前缀劫持。
1.1 IP地址的语义重载
目前的IP地址具有双重语义,一方面它是表示主机身份的端点标志符,另一方面它又是表示网络拓扑位置的定位符。端点标志符原则上应该与网络拓扑独立,在网络或主机改变拓扑位置的时候,端点标志符应该保持不变,但目前的IP地址却担负了这种目标并不一致的双重角色。IP地址的语义重载是站点多归属、流量工程、PI地址导致路由系统出现扩展问题的根源。专家认为未来主机标志与网络位置标志的分离对路由系统的可扩展性来说十分必要。
1.2 站点多归属
具有连接到多个服务提供商能力的站点被称为多归属站点[3]。站点多归属能使站点在某一个ISP故障的时候为网络提供其他可用连接,增强网络的可靠性和可恢复性。目前至少有60%的接入服务器(AS)是多归属的,这个数字还在不断上升[4]。为了保证数据分组经过多个ISP仍能到达正确的站点,为多归属站点提供Internet服务的所有服务提供商都必须向外单独通告该站点的IP地址前缀,因此站点多归属破坏了地址的可聚合性,导致细小的地址块注入到Internet核心路由表中,它是导致目前路由扩展性问题的主要原因之一。
1.3 流量工程
流量工程就是要实现运营网络的性能优化,它通过对Internet流量的测量、建模、规划和控制等科学原理和技术方法达到实现特定性能的目的,流量工程的目的是在优化网络资源利用率和流量性能的同时提供可靠高效的网络运营[5]。流量工程能帮助ISP降低运营成本(让流量通过较低成本的路径)、优化部署策略(较高优先级的流量通过较好质量的路径)、保证负载均衡,目前在ISP处得到广泛应用。但是目前的流量工程主要靠通过解聚合IP地址前缀、向全球路由系统注入更详细(更长)的地址前缀、利用更多、更频繁的BGP更新达到对流量的控制,因而在优化网络性能的同时也会导致全球BGP路由表的相应膨胀。
1.4 提供商独立地址PI的分配
站点的IP地址不由ISP分配,而是直接向区域Internet注册机构(RIR)申请获得,这类IP地址与ISP无关,被称为提供商独立(PI)地址。PI地址可以帮助用户在更换ISP时避免重新编址,但由于PI地址不由ISP分配,因此ISP也无法将此地址块聚合,只能向外单独通告此网络的详细地址前缀。因此PI地址也破坏了地址的可聚合性,使越来越多的用户网络地址注入Internet核心路由表。
1.5 反前缀劫持
Internet是一个开放的分布式系统,其路由的通告、更新和撤销等都是由各AS决定的。一些AS可能出于恶意或由于网络管理员的错误配置,向外通告不属于自己的地址前缀,导致目的为这些地址的数据分组被错误地引导到该AS而无法到达原本的目的地,这种现象被称为前缀劫持。为了抵御前缀劫持的攻击,目前AS一般采用为较重要的服务如域名服务器(DNS)向外通告尽可能长的前缀(至少24位),所以反前缀劫持技术的使用也导致了全球路由表的增长[6]。
众所周知,目前的路由技术都是基于拓扑的,拓扑聚合是目前保证路由系统扩展性的唯一实际方法。但上述情况在不同程度上都破坏了Internet地址的可聚合性,导致了全球BGP路由表的快速膨胀,引发了Internet路由扩展性的问题,影响了Internet的扩展性,最终将影响Internet的持续发展。Internet路由扩展性成为下一代Internet必须解决的首要问题之一。