CDN中GSLB调度机制优化方法研究

2013-02-28 03:05陈学亮庄一嵘海锦霞
电信科学 2013年1期
关键词:路由表管理站IP地址

陈学亮,庄一嵘,陈 戈,海锦霞

(中国电信股份有限公司广州研究院 广州510630)

1 背景

内容分发网络(content delivery network,CDN)是一种新型的网络构建方式,通常采用中心、区域、边缘多层架构,在不同的网络位置部署多个节点服务器,将视频、音频、图文等内容推送到各级节点,并根据IP地址、网络流量、节点负载、响应时间等综合信息将用户调度到离其最近的节点服务器,为其提供服务。目前CDN技术已广泛应用于IPTV、PC视讯、移动流媒体、网页加速、文件下载等互联网应用。

CDN使用户可以就近获取所需的内容,减轻了骨干网络带宽压力,优化了网络流量,并且CDN缩短了用户的访问距离,可以大幅度提高用户访问的响应速度,能够有效保证用户体验和服务质量。CDN很好地解决了传统网络架构骨干网络压力大、用户访问集中、响应时间较长导致用户体验不佳的问题。

全局负载均 衡 (global server load balance,GSLB)是CDN的核心技术之一,GSLB作为全局的调度系统,负责在CDN的所有节点之间实现流量调配,保证将用户调度到最近的节点。当用户访问CDN中的内容时,本地DNS进行域名解析,将CDN的GSLB服务器地址返回给用户,用户访问GSLB服务器,GSLB服务器根据用户的IP地址查询路由表进行调度。

目前的GSLB路由表通过人工方式更新,由系统管理员将BAS/SR(宽带接入网关)分配的IP地址池信息定期保存到GSLB路由表中,这种方式效率低下、更新速度慢,导致GSLB路由表存在大量黑洞、准确性不高,不在GSLB路由表中的IP地址会被默认调度到CDN中心节点,对CDN中心节点形成了集中访问压力,严重影响了CDN性能和服务质量,调度流程如图1所示:

(1)用户发起PPPoE拨号请求;

(2)BAS/SR为用户分配地址池中的IP地址;

(3)用户向CDN发起服务请求(本地DNS将域名解析成CDN的GSLB地址);

(4)由于用户IP地址未及时更新到GSLB路由表中,GSLB默认将用户调度到CDN中心节点;

(5)用户向CDN中心节点发起服务请求;

(6)CDN中心节点为用户提供服务。

图1 目前的GSLB调度流程示意

2 优化方法

2.1 SNMP

简单网络管理协议 (simple network management protocol,SNMP)是一种用于网络通信管理的标准协议,工作于应用层,由IETF(Internet Engineering Task Force,Internet工程任务组)RFC标准组于1990年正式发布了第一版,目前最新版为第三版。目前,基本上所有的路由器、交换机、服务器等网络设备均支持该协议。

从通用架构上看,SNMP框架由管理站和代理站组成,管理站通过SNMP对代理站进行管理,双方通过UDP进行通信,其中管理站UDP端口为162,代理站UDP端口为161。SNMP中指定了5种核心的协议数据单元(protocol data unit,PDU):get request、get next request、get response、set request、trap,管理站和代理站通过这些PDU进行信息传递。SNMP的代理站通过管理信息库(management information base,MIB)保存网络管理的数据,其中包含了该设备的所有可管理对象,每个对象都有唯一的编号,称为OID,以Juniper路由器为例,表1所示是和IP地址池相关的一组OID。

表1 Juniper地址池OID

2.2 实现思路

通过SNMP网管协议可以实现GSLB和BAS/SR之间的网络通信,GSLB定期向BAS/SR发起轮询请求,查询BAS/SR中的IP地址池信息,得到BAS/SR返回的数据后更新到GSLB路由表中,优化路由调度策略,解决GSLB路由黑洞的问题,提升CDN的整体效率。具体实现方法如下。

GSLB作为SNMP管理站,而BAS/SR作为SNMP代理站,GSLB通过SNMP相关命令获取BAS/SR中的IP地址池信息,例如:

#snmpwalk-v 2c-c public 125.86.54.9.1.3.6.1.4.1.4874.2.2.21.1.1.1.1

其中-v 2c指的是SNMP协议版本,-c public指的是SNMP通信密码(默认为public),125.86.54.9指的是请求访 问 的BAS/SR地 址,.1.3.6.1.4.1.4874.2.2.21.1.1.1.1是juniAddressPoolEntry的OID(其他BAS/SR设备制造公司如思科、华为技术、中兴通讯等也有自己的OID)。

BAS/SR返回的消息如下:

enterprises.4874.2.2.21.1.1.1.1.2.1:1

enterprises.4874.2.2.21.1.1.1.1.3.1:“pool1”

enterprises.4874.2.2.21.1.1.1.1.4.1:IpAddress:131.1.1.0

enterprises.4874.2.2.21.1.1.1.1.5.1: IpAddress:131.1.10.255

enterprises.4874.2.2.21.1.1.1.1.6.1:2560

说明该BAS/SR可分配的IP地址池有1个,名称为pool1,起 始IP地 址 为131.1.1.0,结 束IP地 址 为131.1.10.255,可分配IP地址数量为2 560个。

GSLB将IP地址池信息更新到路由表中,结束本次会话请求。

GSLB和BAS/SR通过SNMP协议交互示意如图2所示。

图2 GSLB和BAS/SR通过SNMP交互示意

更新后的GSLB路由表如表2所示。GSLB获取BAS/SR返回的IP地址池信息后,会将BAS/SR和IP地址池信息更新到路由表中,同时由于CDN边缘节点已和BAS/SR作了静态对应,CDN边缘节点信息也被更新到路由表中。

表2 更新后的GSLB路由表

图3 优化后的GSLB调度流程示意

优化后的GSLB调度流程如图3所示:

(1)用户发起PPPoE拨号请求;

(2)BAS/SR为用户分配地址池中的IP地址;

(3)GSLB通过SNMP网关协议向BAS/SR发起轮询请求,查询BAS/SR中的IP地址池信息;

(4)BAS/SR将IP地址池信息上报给GSLB;

(5)GSLB更新路由表;

(6)用户向CDN发起服务请求(本地DNS将域名解析成CDN的GSLB地址);

(7)由于用户IP地址已更新到GSLB路由表中,GSLB在路由表中查询到用户的IP地址,确定用户所属的BAS/SR,再将用户调度到与BAS/SR静态对应的最近的CDN边缘节点;

(8)用户向最近的CDN边缘节点发起服务请求;

(9)最近的CDN边缘节点为用户提供优质高效的服务。

3 结束语

目前CDN和GSLB技术已广泛应用于视频流媒体、网页加速、文件下载等领域,为用户提供优质高效的互联网服务。但是目前CDN中的GSLB调度机制不够灵活,需要系统管理员人工更新GSLB路由表,效率较低而且准确性不高,导致GSLB调度性能较差从而影响了CDN的整体效率。以广东电信的IPTV业务为例,约有15%的用户IP地址被GSLB默认调度到CDN中心节点,增加了CDN中心节点负载,而且影响了用户体验,如果能将这些用户调度到相应的CDN边缘节点,既能减轻CDN中心节点压力,也能缩短用户访问时间,优化用户体验。

本文介绍了一种基于SNMP网管协议对CDN中GSLB调度机制进行优化的方法。首先介绍了SNMP的特点,然后在此基础上描述GSLB(SNMP管理站)和BAS/SR(SNMP代理站)通过SNMP进行通信的方法及相应流程,实现了GSLB调度机制的优化。

本文介绍的方法无需改动现有网络架构和硬件设备,具有良好的实用性,可为CDN服务提供商,尤其是中国电信等运营商优化CDN、降低CDN建设成本、进一步发挥智能管道作用提供有效的帮助。

1 王焕然,徐明伟.SNMP网络管理综述.小型微型计算机系统,2004(3)

2 王薇薇,李子木.基于CDN的流媒体分发技术研究综述.计算机工程与应用,2004(8)

3 杨磊,叶小荣.全局服务负载均衡策略的常见技术及应用.景德镇高专学报,2004(4)

猜你喜欢
路由表管理站IP地址
基于OSPF特殊区域和LSA的教学设计与实践
铁路远动系统几种组网方式IP地址的申请和设置
宿迁市救助管理站:小团队如何撬动大社会
大连市救助管理站:多个“第一”背后的秘密
研究路由表的查找过程
IP地址切换器(IPCFG)
基于SNMP的IP地址管理系统开发与应用
公安网络中IP地址智能管理的研究与思考
托起救助之责 谱写青春赞歌——记河南省安阳市救助管理站站长许帅
BGP创始人之一Tony Li:找到更好的途径分配互联网地址