版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、成果上报申请书成果名称关于动态DNS负载均衡技术在移动分组域网络中的应用研究成果申报单位中国移动通信集团上海有限公司 省(自治区/直辖市)公司成果承担部门/分公司 运行维护中心 部门 / 上海 分公司项目负责人姓名项目负责人联系电话和Email成果专业类别*核心网所属专业部门*网络线条成果研究类别*相关网络解决方案省内评审结果*通过关键词索引(35个)DNS/负载均衡/移动分组域应用投资100万元(指别的省引入应用大致需要的投资金额)产品版权归属单位中国移动通信集团上海有限公司 对企业现有标准规范的符合度:(按填写说明5)增加了动态DNS功能(网元),增加了SGSN动态选择GGSN的业务流程,
2、符合集体要求,部分厂商已在研究相应产品及部署商用。如果该成果来源于研发项目,请填写研发项目的年度、名称和类型(类型包括:集团重点研发项目、集团联合研发项目、省公司重点研发项目、其他研发项目),可填写多个:2009年关于动态DNS负载均衡技术在移动分组域网络中的应用研究省公司研发项目成果简介:简要描述成果目的和意义,解决的问题,取得的社会和经济效益。1、随着中移动GPRS/EDGE/TD PS域网络规模的快速发展,数据业务不断丰富,用户满意度已成为电信运营商成功与否的重要因素。2、引入动态DNS技术,可以在某一GGSN发生故障时有效规避故障GGSN,使得业务不受到影响,提高用户业务感知。进一步,
3、可以通过探测GGSN设备负荷,提高GGSN设备利用率。3、推广动态DNS技术,避免手动修改,减少人为干预,实现业务应用的自动迁移和系统的正常切换,确保业务应用系统能够实现全天候的正常运行。省内试运行效果:描述成果引入后在本省试运行方案、取得的效果、推广价值和建议等。一阶段实施了自动规避故障GGSN的业务流优化,运行良好,未出现因GPRS故障导致的业务中断;二阶段将实施动态均衡功能。文章主体(3000字以上,可附在表格后):根据成果研究类别,主体内容的要求有差异,具体要求见表格后的“填写说明6”。文章主体关于动态DNS负载均衡技术在移动分组域网络中的应用研究随着中移动GPRS/EDGE/TD P
4、S域网络规模的快速发展,数据业务不断丰富。为了向用户提供不间断的优质业务,必须不断地提高“保持业务连续性”和“业务快速有效迁移”的能力。这需要从网络规划、建设、维护、优化等环节完善网络的“双路由、双节点”架构,特别需要从业务流程上考虑完善双路由的冗余保障。本课题探讨了动态DNS的原理、VMware Workstation、和动态DNS的模拟实现,并从GPRS业务流程的角度出发,探讨了DNS在GPRS网络中的重要作用,引入动态DSN服务迁移技术,从而提升GPRS网络业务冗余能力。 DDNS在GPRS和TD PS域核心网中的应用 目前GPRS网络结构及DNS作用 现网GPRS网络结构GPRS网络是
5、在GSM网络基础上形成的移动分组数据网络,在移动终端(MS)与各种类型的数据网络之间提供分组传递业务。GPRS网络的主要实体包括GPRS支持节点、GPRS网络、本地DNS等。GPRS的支持节点(GSN)是GPRS网络中最重要的网络节点,包含了支持GPRS所需的所有功能,相当于GSM中的MSC/VLR。GSN有两种类型:服务GPRS支持节点(SGSN)和网关GPRS支持节点(GGSN)。SGSN通过Gb接口,为MS提供业务。在GPRS附着时,SGSN建立MM移动场景,包含与MS移动性和安全性有关的信息。在激活GPRS业务时,SGSN建立起一个移动性管理环境,包含关于这个移动终端(MS)的移动性和
6、安全性方面的信息。在PDP移动场景激活时,SGSN与GGSN建立一条PDP移动场景,用于路由的目的。GGSN是接入外部数据网络的节点,又被称为GPRS路由器。GGSN接收MS发送的数据,选路到相应的外部网络,或接收外部网络的数据。根据其地址选择GPRS网内的传输通道,传给相应的SGSN。通常情况下,若干SGSN和GGSN共同组成一个局域网,典型的GPRS网络结构如图所示: 图4-1 典型的GPRS网络结构 DNS在GPRS网络中的作用域名服务器DNS(domain name system,域名系统)主要用来提供域名与IP 地址相互映射的网络服务。使用最多的是DNS的正向解析,即将域名转换成IP
7、地址;将IP地址转换成域名的功能称作反向解析。在GPRS网络中,DNS主要用于:1 MS跨SGSN路由区更新时路由区信息和相关SGSN IP地址之间的转换。当MS从原先所在的SGSN移动到新的SGSN时,MS发送“请求路由区更新”消息到新的SGSN,其中包含原来的路由区、更新类型等信息。新的SGSN根据路由区信息从DNS获得原先SGSN IP地址后,发送“请求SGSN上下文”信息到原来的SGSN,进而完成路由区更新过程。2 进行外部网络APN(接入点名称)与相关GGSN地址之间的转换,即映射APN至GGSN IP地址,负责完成SGSN选路到指定的GGSN。当SGSN收到移动台“激活PDP上下文
8、请求”消息时,SGSN把完整的APN发往DNS,并从中获得与之相对应的GGSN IP地址,随后向GGSN发送“创建PDP上下文请求”消息,建立与该GGSN之间的隧道。GGSN确认可建立到MS指定APN的连接,向SGSN回复应答消息。SGSN向MS回复“激活PDP上下文接受”的消息,从而建立起MS与GGSN之间的路由,可以进行分组数据传送。 上述DNS的作用如图所示:图4-2 DNS在GPRS网络中的作用 DNS动态负载均衡技术在GPRS网络的应用 容错和负载均衡的必要性能够可靠运行是对网络系统的基本要求,网络可靠性重点关注网络系统能够连续正常运行的能力。在系统可靠性研究的早期阶段,一般集中于试
9、图构建绝对可靠的系统,以不发生故障为目标。后来逐渐认识到绝对可靠的系统是不存在的,对可靠性的研究逐渐转向容错机制方向。容错机制的基本思想是允许发生故障,但尽量减少系统对外部用户表现出来的错误的状态变迁,避免服务失效。网络系统的可靠性与单个网络设备本身的可靠性有关,但绝对可靠的、不发生故障的网络设备是不存在的,提升网络可靠性更应该从网络结构设计及容灾机制等方面入手。 dlbDNS在GPRS网络的应用互为热备的GGSN具有不同的IP地址,利用动态负载均衡技术,DNS服务器随时获得各GGSN的运行状态,建立一张动态的可用GGSN IP列表,识别最具可用性的GGSN。当其中某台GGSN无法响应时,DN
10、S服务器将在列表中剔除该地址。当终端发起PDP激活时,通过DNS查询可以动态返回最优GGSN地址。例如,当终端通过SGSN1请求PDP激活时,DNS响应两个IP地址中的一个:根据配置,当GGSN1正常运行时,则返回GGSN1 IP地址给用户;否则,返回GGSN2 IP地址,从而确保在某个GGSN不可用时数据业务不中断,如图所示:图4-3 基于DNS动态负载均衡服务技术目前上海有N套SGSN和M套GGSN,分属A和B两个不同厂商。本着优选同一厂商的SGSN和GGSN业务互通的原则,DNS的配置必须能够实现功能识别不同SGSN发送的请求,即可以让分属不同厂商的SGSN在查询DNS时,能有不同查询状
11、态或回应信息;DNS在查询APN对应的GGSN IP地址时,能根据探测到的GGSN状态进行智能的分配。上述功能的实现,需要DNS启用view功能并配置dlbDNS。(1)功能的配置方法BIND 9以上版本中的View功能可以让每个来源不同的网络在查询DNS时,返回不同结果,named.conf文件位于"/etc/"目录下,安装BIND后系统自动建立,配置内容如下:view "SGSN-A" match-clients 1;/A厂商SGSN地址列表 ; zone "cmwap.mnc000.mcc460.gprs" i
12、n type master; file " A.zone "/域名文件,A厂商SGSN地址转向" A.zones "解析 ;view "SGSN-B"match-clients 1;/B厂商SGSN地址列表 ; zone "cmwap.mnc000.mcc460.gprs" in type master; file " B.zone "/域名文件,B厂商SGSN地址转向" B.zone "解析 ;(2)功能的配置方法域名文件是在"/var/name
13、d/"目录下,需要手工建立,该数据库文件建立APN和GGSN IP地址之间的映射,通过配置设置参加动态负载平衡的GGSN,从而建立起APN和GGSN之间的灵活映射关系,以" A.zone "为例:cmwap.mnc000.mcc460.gprs IN A /GGSN1 IPcmwap.mnc000.mcc460.gprs IN A /GGSN2 IPcmwap.mnc000.mcc460.gprs IN A /GGSN3 IPcmwap.mnc000.mcc460.gprs IN A 211.
14、136.15.8/GGSN4 IP各GGSN的负载状态是不同且在动态变化中,DNS服务器必须获得每个GGSN的负载状态,且不断地动态更新列表,这个过程如下: 1)周期性向GGSN发送健康检查,如ping测试;2)检查失败时,则更新DNS服务器zone配置,将故障GGSN从服务均衡列表中移除。4.2.2 GGSN的健康状态检查上述配置主要从思路和方法上进行了说明,问题的关键是如何判断GGSN的健康状态并作出最佳选择,这需要综合网络、负载、处理能力等各方面情况。通过合理的负载均衡算法,比如循环算法、最少连接算法、散列算法、最少连接失误算法等等,可以实现对GGSN的检查,但从简单实用的角度出发,一般
15、使用以下方法:(1)周期性发送pingping是最简单的状态检查方法,DNS服务器可从服务器的反馈信息中得知目标服务器是否正在运行中。一旦ping无法得到服务器反馈,说明该服务器的系统已经无法响应,处于停止服务状态。(2)利用GTP检测机制 在SGSN和GGSN之间采用GTP(GPRS隧道协议)封装上层数据,这样多种不同协议的数据包可以通过GPRS骨干网进行传送。根据09.60规范,SGSN与GGSN之间通过GTP检测机制保证链路的连通性。假设SGSN发送几次Echo Request都没有在规定时间内接收到GGSN的回应,则SGSN认为GGSN已不在激活状态或链路可能出现故障。(3)建立SGS
16、N模拟器上述方法仅仅是运行在网络层上,靠测量网络连通性能判断服务器的状态。这样的测算欠准确,因为往往当一台服务器的网络吞吐性能良好的时候,运行在其上的具体应用已经濒临崩溃,因此通过建立SGSN模拟器,定期测试GGSN上的必要功能,比如路由功能,及时真实获悉实际运行在GGSN上的应用服务的状态。(4)利用内部网管系统通过内部网管系统来监视服务器的性能,达到对应用层健康检查的目的,并且反馈给DNS。该方法的优点是易于维护和管理,而且也没有安全方面的问题。 动态DSN负载均衡技术在GPRS和TD PS域的实现目前上海有14套SGSN和6套GGSN,分属爱立信和诺西两个不同厂商,同厂商的GPRS设备处
17、于同一机房,组成一个局域网,不同厂商的GPRS设备间流量承载在CMNet(中国移动IP骨干网)上。典型的GPRS网络结构如图所示: 图4-5 上海GPRS网络结构由业务逻辑设备组成高可用性的业务系统,主要是减少业务逻辑间的耦合性,增加冗余业务流程来实现,使得某个业务逻辑设备的单点故障、切换不影响其它业务逻辑。在业务系统的设计中,应充分考虑增加串行业务流程的冗余度的同时,降低业务逻辑间的耦合性,以保证整个业务系统的高可用性。GPRS网络作为承载各类数据业务的系统,目前已经形成“双路由、双节点”冗余架构,这样的高可用性的系统是保证容灾方案切实有效实施的前提条件。随着网络规模的不断扩大,尽管维护作业
18、、节前巡检等工作的有效执行可以减少故障发生的概率,但仍然没有办法完全避免影响业务的故障。从用户业务角度出发,在完善承载网容灾能力的基础上,根据现网GPRS网络架构,当突发事件导致GPRS设备出现故障,或GPRS业务量超出系统阈值,导致部分或全部业务功能无法正常进行时,为保证网络的正常运行,启动容灾方案。对于通用的APN(cmnet、cmwap、cmmail),A厂商设备SGSN在查询DNS时只返回GGSN1的地址,B厂商设备SGSN只返回GGSN2的地址,因此当GGSN1或GGSN2发生问题时,相应的的SGSN将无法激活通用APN,只有通过手动修改DNS,将发生问题的GGSN下的所有SGSN的
19、通用APN指向另一个GGSN。这种冗余的方法需要人为干涉,涉及时间也比较长。4.5.1 动态DNS配置文件和ping监测程序启用动态DNS,既可以实现GGSN负载均衡,又可否自动发现GGSN故障后,自动修改DNS数据,使得SGSN在备份GGSN上激活成功,从而有效降低故障恢复时间。主配置文件/etc/named.conf如下所示:options version "my version string"directory "/var/named"pid-file "named.pid" dump-file "/var/named
20、/data/cach3_dump.db" statistics-file "/var/named/data/named_stats.txt" view "SGSN-A" match-clients ;;zone "." INtype hint;file "named.root"zone "localhost" IN type master;file "localhost.zone"allow-update none; ;z
21、one "0.0.127." INtype master;file "named.local"allow-update none; ;zone "" IN type master;file "test.zone"allow-update none; ;zone "0.168.192." IN type master; file "test.local"allow-update none; ;监测和自动更新程序monitor.sh
22、如下所示:#!/bin/sh#check if DNS process existps -ef > ps.lognum=$(awk '$8="/usr/local/sbin/named" print $2' ps.log)if "$num" then echo process ID of DNS is $num kill -9 $num echo "kill DNS process"else echo "DNS process is no running."fi/usr/local/sbin/
23、namedecho "DNS process is running."crash=0m_GGSN1_ping=0m_GGSN2_ping=0m_GGSN1_no_ping=0m_GGSN2_no_ping=0while $m_GGSN1_no_ping -le 3 -a $m_GGSN2_no_ping -le 3 doping -c 3 > ping.logm_time=$(date)m_ggsn="GGSN1 "echo $m_ggsn$m_time > temp.logcp ping.log $(awk '
24、;OFS="-"print $1,$7,$3,$4,$5' temp.log)grep "100% packet loss" ping.log if $? -eq 0 then m_GGSN1_ping=$(expr $m_GGSN1_ping + 1) m_GGSN1_no_ping=$(expr $m_GGSN1_no_ping + 1) echo "*" echo "* m_GGSN1_ping is $m_GGSN1_ping *" echo "* m_GGSN1_no_ping is $
25、m_GGSN1_no_ping *" echo "* Alarm GGSN1 *" echo "*" else m_GGSN1_no_ping=0 m_GGSN1_ping=$(expr $m_GGSN1_ping + 1) echo "*" echo "* m_GGSN1_ping is $m_GGSN1_ping *" echo "* m_GGSN1_no_ping is $m_GGSN1_no_ping *" echo "* OK GGSN1 *" echo
26、"*"fiping -c 3 > ping.logm_time=$(date)m_ggsn="GGSN2 "echo $m_ggsn$m_time > temp.logcp ping.log $(awk 'OFS="-"print $1,$7,$3,$4,$5' temp.log) grep "100% packet loss" ping.logif $? -eq 0 then m_GGSN2_ping=$(expr $m_GGSN2_ping + 1) m_GG
27、SN2_no_ping=$(expr $m_GGSN2_no_ping + 1)echo " -"echo " - m_GGSN2_ping is $m_GGSN2_ping -"echo " - m_GGSN2_no_ping is $m_GGSN2_no_ping -"echo " - ALARM GGSN2 -"echo " -" else m_GGSN2_ping=$(expr $m_GGSN2_ping + 1) m_GGSN2_no_ping=0echo " -"
28、 echo " - m_GGSN2_ping is $m_GGSN2_ping -"echo " - m_GGSN2_no_ping is $m_GGSN2_no_ping -"echo " - OK GGSN2 -" echo " -"fidone if $m_GGSN1_no_ping -eq 4 && $m_GGSN2_no_ping -lt 4 then echo "!" echo "! Emergency GGSN1 !" echo "!
29、!" echo "!" m_time=$(date) m_conf="test.zone" echo $m_conf$m_time > temp.log cp /var/named/test.zone /var/named/$(awk 'OFS="-"print $1,$7,$3,$4,$5' temp.log) ps -ef > ps.log num=$(awk '$8="/usr/local/sbin/named" print $2 ' ps.log) ki
30、ll -9 $num sed '//d' /var/named/$(awk 'OFS="-"print $1,$7,$3,$4,$5' temp.log) >/var/named/test.zone /usr/local/sbin/namedfiif $m_GGSN1_no_ping -lt 4 && $m_GGSN2_no_ping -eq 4 then echo "!" echo "! Emergency GGSN2 !" echo "! !&q
31、uot; echo "!" m_time=$(date) m_conf="test.zone." echo $m_conf$m_time > temp.log cp /var/named/test.zone /var/named/$(awk 'OFS="-"print $1,$7,$3,$4,$5' temp.log) ps -ef > ps.log num=$(awk '$8="/usr/local/sbin/named" print $2 ' ps.log ) kil
32、l -9 $num sed '//d' /var/named/$(awk 'OFS="-"print $1,$7,$3,$4,$5' temp.log) >/var/named/test.zone /usr/local/sbin/namedfiif $m_GGSN1_no_ping -eq 4 && $m_GGSN2_no_ping -eq 4 then echo "No Service is available." crash=1fi总结通过动态DNS的服务迁移技术,可以实现GGSN的最优选择、业务冗余和容灾备份,大大减少故障时间,实现业务应用的自动迁移和系统的正常切换,确保业务应用系统能够实现全天候的正常运行。目前,用户满意度已成为电信运营商成功与否的重要因素,虽然自动方式实现难度较人工方式大,但通过对复杂的系统环境中的各种故障作出正确分析判断,根据事先定义的策略,触发相应切换流程,从而建立高度客户化和智能化的自动容灾切换系统,必将成为日后运营商维护工作的重中之重。现网已经实现了动态DNS的部分功能,在某一GGSN发生故障时可以有效规避故障GGSN,使得业务不受到影响。监测程序发现GGSN1故障项目组和爱立信进行了多方位沟通,其已经对该
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 护理学尿路感染教案(2025-2026学年)
- 新部编版六年级语文下册第课古诗三首教案(2025-2026学年)
- 认识正方体五年级数学下册人教版练习版教案(2025-2026学年)
- 八年级数学下册四边形正方形教案湘教版(2025-2026学年)
- 肌松药的发展作用应用进展教案(2025-2026学年)
- 部编版二年级语文上册语文园地五教案设计(2025-2026学年)
- 某大桥施工临时用电方案内容介绍试卷教案(2025-2026学年)
- 初级会计实操技能训练题库
- 无线网络安装与验收指南
- 2025年大学《阿非利卡语》专业题库- 非洲语言的口头传统文学翻译
- 内镜下胃息肉切除护理
- 2025年上海中考复习必背英语考纲词汇表默写(汉英互译)
- 合伙养猪的协议合同
- 执法办案中心应急预案
- 脑血管造影术课件
- 精神科服药健康宣教课件
- T-CIPS 013-2024 高校和科研机构专利转化运用评价规范
- 代孕协议样本
- 2025-2030年中国凹印制版产业前景趋势展望及投资潜力评估报告
- 《眼睑疾病》课件
- DB3707T 089.3-2023 应急救援队伍建设规范 第3部分:地震、地质灾害
评论
0/150
提交评论