一种名字路由技术的设计和实现

时间:2023-06-26

   1  内容定位

伴随着下一代互联网的提出,很多关键技术应用得越来越普遍,CDN(内容分发网络)技术提出的目的是为了解决互联网整体带宽过剩和局部带宽不足的矛盾,给用户提供更加优质的服务。CDN是建立并覆盖在互联网之上的一层特殊网络,专门用于通过互联网高效传递丰富的多媒体内容。CDN能使网站的内容发布到接近用户的网络"边缘",使用户可以就近取得所需要的内容,提高互联网中信息流动的效率,从技术上全面解决由于网络带宽小、用户访问量大、网点分布不均等原因造成的"拥塞",提高用户访问网站的响应速度。

用户内容获取时间RTT由2部分构成:内容定位的时间和内容服务器((Content Server,CS)提供内容的时间。在高速网下提高内容定位效率更重要。目前,支持内容定位的方法是DNS服务,而DNS服务已变得越来越不适合内容定位。它存在的缺陷主要有:(1)在高速缓存未命中时,客户要访问DNS根服务器以获得站点授权名字服务器的地址,通过查询该授权名字服务器以获得客户附近的内容服务器地址。从访问DNS根服务器到获得内容服务器地址的时间完全是额外开销,影响了系统性能。当网络数据传输速度提高到Gbps级时,该问题尤为突出。(2)基于DNS的内容定位系统在返回给客户的地址记录上一般使用短的生存时间,但这会使客户更频繁地发送名字请求,增加DNS服务器的负载,从而导致网络延时的增加。(3)仅使用网络级度量的系统不会对应用级失效做出反应,因此用户请求可能被连续定向到同一台没响应的Web服务器。(4)由于内容供应商必须用间接方式来决定用户访问哪个内容服务器,故存在多条路径的选择问题。

 2  基于名字路由

DNS 是域名系统 (Domain Name System) 的缩写,它是由解析器和域名服务器组成的。域名服务器是指保存有该网络中所有主机的域名和对应IP地址,并具有将域名转换为IP地址功能的服务器。其中域名必须对应一个IP地址,而IP地址不一定有域名。域名系统采用类似目录树的等级结构。域名服务器为客户机/服务器模式中的服务器方,它主要有两种形式:主服务器和转发服务器。将域名映射为IP地址的过程就称为"域名解析".在Internet上域名与IP地址之间是一对一(或者多对一)的,域名虽然便于人们记忆,但机器之间只能互相认识IP地址,它们之间的转换工作称为域名解析,域名解析需要由专门的域名解析服务器来完成,DNS就是进行域名解析的服务器。

由于基于DNS服务来定位内容的效率不高,因此引入基于名字路由技术。基于名字路由技术将内容定位问题看作路由问题,其指导思想是:用户想要的连通性不是到某台特别的服务器或者某个特别的IP地址,而是连通一些用名字(一般是URL)指定的内容。这样复制的内容服务器可看作是提供访问内容的备用路由。假定每个服务器有需要被获取的内容,则用户可选择通过服务器1、服务器2或者服务器3获取。


基于名字的路由实际上是由支持命名的内容路由器(Content Router,CR)来执行,这些内容路由器像常规的IP路由器和名字服务器那样运行,并且参加基于IP路由和基于名字的路由,构成内容层的基础。大多数内容路由器是防火墙、网关和BGP级路由器。基于名字路由需要在现有的Internet上增加2个新的协议:因特网名字转换协议(Internet Name Resolution Protocol,INRP)和基于名字的路由协议(Name-based Routing Protocol,NBRP)。

  2.1 名字查找

基于名字路由时,名字查找由INRP协议支持。INRP与DNS兼容,它与DNS有同样的记录类型和包格式,但具有不同的含义。客户连接1个本地路由器启动内容请求,就如同连接1个预先设置的DNS服务器。客户的请求可以包括整个URL,也可以仅包括URL的"服务器"信息。

每个内容路由器的路由表有几项项目:

(1)Name.用URL形式表示(如example.com.cn),用来标识内容服务器或内容服务器在CDN上的复制品。

(2)NextHop.用来标识下一个对等体的IP地址。

(3)Path.用来标识到达内容服务器的时间,为内容路由器选择路径提供参数。

每个内容路由器维护1个名字到下一跳的映射集,就如同IP路由器维护1个地址前缀到下一跳的映射集那样。当有INRP请求到达时,内容路由器将根据请求的内容名字进行路由表的长后缀匹配搜索,然后根据到达目的内容服务器时延短的策略选择下一个内容路由器对等体。以这种方法,INRP请求被导向根据路由算法推断出的近的内容服务器。当INRP请求到达临近目的内容服务器的一个路由器时,此路由器返回一条应答信息,应答信息包含目的内容服务器的地址。如果遇到内容路由器或内容服务器没有反应,则中间内容路由器会选择备用路由并重新查找名字。用这种方式,使用户请求可以通过路由导向被要求的内容,并能从失效的内容服务器或者过时的路由信息中恢复,这使得INRP在内容层能应对任何情况。


  2.2 路由通告

基于名字路由时,路由通告由NBRP协议支持。NBRP协议的结构类似于BGP协议,它的作用也与BGP协议非常相似,即选择的路由并控制路由的传播。NBRP协议与BGP协议的不同点是:BGP是基于IP地址,而NBRP是基于名字,即BGP在自治系统中分发地址前缀可达信息,而NBRP给内容路由器分发名字后缀可达信息。NBRP的主要作用包括:(1)传播内容路由信息,包括CR、CS的添加和删除等路由信息。(2)当网络拓扑发生变化时,进行路由表的动态更新。与BGP协议类似,NBRP协议也采用距离向量算法。

基于名字的路由通告中包含如下信息:(1)内容服务器名(URL)。(2)到达内容服务器的下一跳(CS或CR)。(3)到达内容服务器的内容路由器路径。内容服务器的路由通告也可以包括服务器的负载(用响应时间表示)。这个额外的属性表明较长响应时间的内容在更"远"处,内容路由器可以在路由选择时将它作为额外的跳数。


内容路由器可以从基于IP路由和基于名字路由二种方法中获得信息。它参与基于IP路由和基于名字路由,因此基于IP路由策略一定要与基于内容路由策略一致。

 3  应  用

基于名字路由目前尚处于研究的初级阶段,还没有在Internet上应用,下面通过构建的应用来说明基于名字路由的优点。

基于名字路由的研究往往与CDN联系在一起。互联网上有一个CDN的节点服务器CS,此服务器域名为abc.com.cn.基于名字路由分成以下几部分:(1)路由通告。CS用NBRP协议向它邻近的内容路由器CRn进行路由通告(包括CS可达信息等),CRn同样用NBRP协议将CS的内容可达信息通知CRn的邻居对等体。(2)用户请求。如用户Client请求访问s1.abc.com.cn,该请求到达预先配置的内容路由器CR1,由CR1进行路由表查询,根据长后缀匹配原则,筛选出与用户请求的名字(s1.abc.com.cn)匹配的路由项,并根据时间延迟选择下一个对等体。假定离用户近的目的内容服务器为CS(abc.com.cn,1.2.3.4),则基于这种方法,INRP协议将名字请求路由到内容路由器CRn(5.6.7.8),CRn即为临近CS的内容路由器。(3)CRn返回应答信息。该条信息包含CS的IP地址(1.2.3.4),应答沿着INRP请求经过的内容路由器返回。(4)访问内容。用户根据INRP请求过程得到的CS的IP地址,向目的地址发起HTTP等内容请求,获取用户想要的内容。


由以上基本流程可看出,基于名字路由的优点:(1)客户请求在一个RTT内映射到附近的内容服务器上,相比基于DNS方式降低了定位内容的时间,提高了内容定位效率。(2)在高速网环境下,获取内容时间主要由到内容服务器上的RTT决定,不由内容定位决定。(3)即使缓存未命中也仅需一个RTT进行新的名字查找。(4)该方式具有可伸缩性。

  4  结束语

基于名字路由技术的研究仍处于起步阶段,在这方面仍有许多工作值得去做,有理由相信随着基于名字路由技术的发展,未来的网络结构将发生较大的改变。

上一篇:模拟技术和IP监控的一套循序渐进的方案
下一篇:浅谈跳频通信宽频段频率合成器

免责声明: 凡注明来源本网的所有作品,均为本网合法拥有版权或有权使用的作品,欢迎转载,注明出处。非本网作品均来自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。

相关技术资料