基于DNS的ENUM技术及其应用研究

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

基于DNS的ENUM技术及其应用研究李晓东阎保平中国科学院计算机网络信息中心,北京100080摘要:本文首先明确解释了什么是计算机网络资源寻址定位技术,然后提出ENUM技术是计算机网络资源寻址定位技术的一种,ENUM技术的研究和使用推广对于下一步网络应用的发展,尤其是对于电话网和数据通信网之间的基于VoIP通讯应用的融合具有十分重要的意义。此外,本文还简单分析了ENUM的技术要点和解析流程,重点在于设计了一套实验系统用来探讨ENUM技术和运行框架,并比较ENUM和现有典型目录服务系统之间的关系,分析并指出了此项技术在应用中面临的问题,最后结合当前的研究状况给出了发展建议和前景展望。关键词:ENUM、SIP、计算机网络资源定位、目录服务、DNS、NAPTR1引言作者认为,ENUM、DNS以及最近出现的IDN、UDDI、HandleSystem、Keyword、CommonName等技术都属于计算机网络资源寻址定位技术的范畴,它们旨在帮助用户(人或者是特定应用程序)以容易记忆或者接近自然语言的标识方式在互联网上检索或者是查询到用户想要的计算机网络资源。从互联网出现之初采用IP地址通信到目前多种多样的寻址定位方式,计算机网络资源寻址定位技术至今取得了长足的发展,ENUM便是应数据通信网和电信电话网之间融合而产生的一种新的计算机网络资源寻址定位方式。ENUM技术是当今计算机网络资源寻址定位方式的热点,它是伴随三网合一,网络通讯技术和需求的发展应运而生的。它采用符合E.164标准的电话号码作为用户通讯的入口,采用DNS技术和运行框架,为用户提供便捷的解析服务。用户可以采用电话号码完成VoIP的寻址定位,以及HTTP访问,电子邮件,目录服务等等网络应用,并完成访问限制,查询重定向等等一系列功能。伴随网络融合,尤其是VoIP应用的普及,ENUM技术的重要性就会逐步的体现出来。2关键概念及技术分析2.1计算机网络资源定位、地址、资源标识计算机网络资源是(ComputerNetworkResource)指计算机通信网络上的一个实体,它可能是一个物理资源(交换机,路由器等等,devices),也更多的是指一种服务(services),实体和实体间可以进行发现以及进一步的数据通信。发起通信的一方实体通过一定的寻找或者查询机制找到通信接受方的过程就是寻址/定位(Addressing),每个通信实体在计算机网络中必须是唯一可标识的,用来在寻址后进行进一步通信的标识就是地址(Address),而为了特定应用方便记忆和使用的,具有特定语法的,用来标识资源的特定字串就是资源标识(Name/Symbol)。目前计算机网络资源标识及其寻址定位技术已经广泛的汲取了搜索引擎、Web服务、人机接口等等多方面的技术优势,此项研究的最终目的是为用户提供使用合理规范,技术符合标准的互联网访问入口。2.2DNS(DomainNameSystem)在网络建设之初,用户是采用IP地址来完成网络实体间的访问和通信的。然而,一长串的数字十分不利于人们使用和记忆,因此在20世纪70年代人们开发了主机表(Host.txtTable)来完成主机名到IP地址的映射。然而随着网络的发展,网上主机数量的增长,通过查找主机表定位主机地址然后进行主机间通信的方式已经远远不能满足用户的需要,而且主机表的更新和维护也大大的增加了网络传输的负载和管理的复杂度。1984年PaulMockapetris发布了RFC882【1】和RFC883【2】(随后被RFC1034【4】和RFC1035【5】代替),系统地描述了DNS的基本思想,标志着DNS的诞生,DNS采用树形结构以及分级授权的机制,它分布地完成主机名到IP地址的路由,有效地实现了域名数据的分布,并提高了查询和管理的效率,它的出现极大地推动了互联网络的发展。域名的基本语法以及配置数据的格式参见RFC1034和RFC1035【4】【5】。其基本原理是,DNS客户端(Resolver)根据查询得到的资源记录(ResourceRecord,RR)类型和关联数据来(RDATA)进行下一步的通信或者检索【3】。2.3NAPTR(NamingAuthorityPointer)直到目前为止,DNS仍然主要用于域名到相应IP地址的翻译,这已经成为网络发展的基础,然而随着网络应用的发展,人们希望用DNS完成更多内容的解析,从而制定了新的资源类型,NAPTR就是其中之一。NAPTR是一个新的DNSRR类型,它实际上是一个基于重写规则地正规表达式。它完成一个特定字符串到新域名标识或者URI(UniformResourceIdentifier)的解析翻译。它允许DNS可以完成更为广泛的查询服务,比如完成ENUM到URI的解析【6】,一个典型的用于ENUM应用的配置实例如下:cid.urn.arpa.INNAPTR10010/urn:cid:.+@([^.]+.)(.*)$/2/i.$ORIGIN4.0.6.3.5.5.2.6.0.1.6.8.e164.arpa.INNAPTR10010usip+E2U!^.*$!sip:enumsip@cnnic.net.cn!.INNAPTR10210umailto+E2U!^.*$!mailto:enummail@cnnic.net.cn!.2.4E.164电话号码标准根据CCITT的E.164标准的规定,标准的电话号码格式是由国家码(CountryCode)、区域码以及一般电话号码三部分所组成:国家码(1到3位数字)+区位码(M个数字)+一般电话(最多为15减M个数字)。比如电话号码+(86)-10-62553604就是指“中国(国家码86)北京(地区码10)中国互联网络信息中心(一般号码62553604)”,国际电联将国家码授权给国家实体来进行管理,国家码之后的数字号码由这个国家进行管理和分配,但是基本的分配原则仍是遵循一定的分级授权管理策略。3ENUM技术ENUM技术的核心包含三个部分:电话号码预处理、ENUM解析以及DNS配置【6】,下面介绍一下前两项技术,对于DNS的配置2.3节已做论述。3.1电话号码预处理用户输入电话号码,例如“+86-10-62553604”,“+”此时用来标识ENUM服务,用来区分其他基于数字的网络服务,如果用户输入的数串含有“+”,那么将执行ENUM服务预处理。首先去掉除“+”以外的字符,例如“-”,得到“+861062553604”;然后去掉“+”;接着在每个数字间加“.”,得到“8.6.1.0.6.2.5.5.3.6.0.4”(之所以简单的在每个数字间加点,而不是将电联规定的国家码和国家内的区位码进行区分的目的是为了简化处理,因为DNS可以支持127级,E164标准的16位电话号码足够使用了);最后将其反转,并添加后缀“.e164.arpa”,得到符号串“4.0.6.3.5.5.2.6.0.1.6.8.e164.arpa”。3.2ENUM解析流程当用户用支持ENUM技术的特定设备或者程序输入电话号码后,客户端应用程序根据预处理的流程对输入的电话号码进行处理之后,DNSResolver将处理后的字符串按DNS协议发出解析,从DNSServer得到与此ENUM相应的URI集合;然后,应用程序根据它自身的应用需求选择相应的URI,继续执行相应的协议,完成预期的操作。比如,以上面的DNS配置为例,用户想给拥有“+86-10-62553604”这个ENUM的单位发送Email,那么当他在支持ENUM技术的outlookexpress地址栏中输入这个电话号码,那么outlookexpress将电话号码进行预处理为“4.0.6.3.5.5.2.6.0.1.6.8.e164.arpa”,然后用户本机的DNSResolver将这个字串发给DNSServer作类似域名的解析,DNSServer将对应这个字串配置的两个URI(sip:enumsip@cnnic.net.cn和mailto:enummail@cnnic.net.cn)都返回给outlookexpress,outlookexpress选择mailto:enummail@cnnic.net.cn进行下一步的通信,将Email发给enummail@cnnic.net.cn,其他应用的解析流程也与此类似。4系统设计与实现根据上面的论述,我们知道,ENUM技术实质上是完成了一种目录服务的查询工作,那么我们就可以用它来完成多种服务的目录查询,它的优点在于借助了成熟的DNS技术和广为使用的DNS系统(BIND),为了进一步研究ENUM技术面临的问题以及它的应用情况,我们设计了如图1所示的一套系统来验证和评价ENUM的应用。我们采用了BIND作为DNSServer,并基于Web技术完成了一套简单的注册系统,用户可以通过这个注册系统登记自己的电话号码以及可与之对应的各种服务,我们的注册系统会在用户提交请求后修改DNS注册系统WebSiteRegistrationDNS/ENUMServerPSTNUser……SIPServerENUM-enabledApplicationsSIPClientSIPClientGatewayGatewayGatekeeperUserUser图1.ENUM实验结构示意图PSTNServer,将用户需要的各种服务注册到DNSServer中去,用以其他应用服务的查询。我们主要采用Vovida的Vocal软件作为SIPServer,QuickNet的LineJack作为Gateway,修改OpenH323Gatekeeper作为支持基于DNS的ENUM查询的Gatekeeper构建了一套可以完成PC2Phone,Phone2PC,PC2PC以及传统网络访问应用(Web,Email等)的实验环境,具体的实验系统结构图如图1所示。用户用ENUM进行Web以及其他传统互联网应用的流程和上节关于Email的应用的流程类似,此处无庸赘述,本文以PC2PC、Phone2PC和PC2Phone方式的应用为例说明ENUM的工作流程,从而说明ENUM在VoIP中的应用情况。PC2PC方式就是用户使用SIPClient软件(或者IPPhone硬件设备)进行通信,SIPClient在获得用户输入的电话号码后,向SIPServer发起通信,由SIPServer向DNSServer(即ENUMServer)查询,在DNSServer返回的URI集合中选取SIP类型的URI,继续发起下一步的SIP通信。Phone2PC方式就是用普通电话机向互联网上的PC终端发起呼叫,用户拨打电话后,PSTN网将连接建立的请求发给Gateway(连接互联网与PSTN,主要是完成信号的转换),Gateway驱使Gatekeeper查询DNSServer,然后确定对方的SIPURI(此时URI类型为SIP),从而获得IP地址,通常是Gateway和SIPServer建立连接,用户此时就可以用普通电话和互联网上的PC终端(比如说,Cisco的IPPhone)进行通讯。PC2Phone方式的呼叫方向恰与上述Phone2PC方式相反,SIPServer此时查询获得的URI类型为TEL,查询后是由SIPServer向Gateway发起呼叫连接,然后进行通讯。在这种情况下,我们是构建了简单的应用,如果SIPServer和Gateway分属不同服务商,或者有很多的Gateway,那么需要另外一个目录服务系统来完成特定号码与Gateway之间对应关系的查询,以便SIPServer可以获知与特定电话号码对应Gateway的IP地址,从而进行下一步的连接建立和通讯[8]。以上我们可以看出,在VoIP应用中,ENUM完成了电话号码到相应URI(SIP,TEL)的翻译功能。5ENUM与其他目录服务系统的关系根据以上的描述和实验系统的分析,我们可以知道,ENUM实际上是一种专用的,具有特定服务内容的,以及具有特殊运行服务需求的目录服务系统,它的功能是完成检索电话号码与其对应的URI,充当数据网和电话网之间通

1 / 7
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功