一种外部网络访问移动自组网域名的方法

文档序号:7589577阅读:250来源:国知局
专利名称:一种外部网络访问移动自组网域名的方法
技术领域
本发明涉及移动自组织网络MANET(Mobile Ad Hoc Networks)技术领域,是MANET中外部网络访问自组网域名的一种实现方法。
背景技术
移动自组织网络是一种无基站的无线多跳网络,是一种具有高度动态拓扑结构、节点任意移动的、点对点的自创建、自组织、自管理网络。文献[1]Ramanathan R,Redi J,“A Brief Overview of mobile Ad hoc NetworksChallenges and Directions”,IEEE Communications Magazine,50thAnniversary Commemorative Issue[C],2002。域名系统Domain Name System(DNS)为网络节点提供域名解析服务,将请求的域名转换为目的节点的IP地址。[2]DOMAIN NAMES-IMPLEMENTATION ANDSPECIFICATION,P.Mockapetris,ISI,November 1987。移动自组网临时组网、节点自由移动以及用户零配置的特性,使得MANET节点的IP地址是自动生成并动态变化的,因此,IP地址无法唯一标识一个MANET节点,而域名正好提供了一种唯一标识MANET节点的途径。传统DNS使用静态配置完成域名与IP地址的映射,这在MANET中是不现实的,因为动态变化的IP地址使得静态配置的映射关系不再正确。所以,必须提供一种外部网络访问MANET节点域名的方法。

发明内容
本发明的目的在于提供一种外部网络访问移动自组网节点域名的实现方法。
本发明定义了五种消息域名服务信息宣告消息、域名信息注册消息、域名服务应答消息、身份验证消息和注册中心应答消息。其消息格式如下0 7 813 14 15

域名服务信息宣告消息报文结构Type 消息类型0Reserved 保留字段,置为全0N 网关域名服务器标识0表示网关不能提供域名服务,域名服务器由NameServer IP Address字段给出;1表示网关就是域名服务器,其地址由Gateway IP Address字段给出,此时,无Name Server IP Address字段P 协议标识0表示该消息中的IP地址为IPv4地址;1表示该消息中的IP地址为IPv6地址Gateway IP Address网关的IP地址Name Server IP Address域名服务器的IP地址Gateway Lifetime 32位,网关的服务生存期Reply Sequence Number 32位,消息序列号,用于标识消息的新旧078 13 14 15

域名信息注册消息报文结构消息类型1
Reserved 保留字段,置为全0U 域名信息更新标识0表示根据此消息更新域名信息1表示根据此消息加入新域名信息P 协议标识0表示该消息中的IP地址为IPv4地址;1表示该消息中的IP地址为IPv6地址Domain Name请求注册的域名Domain Name IP Address 请求注册域名对应的IP地址ID 32位,注册用户标识码Request Sequence Number32位,注册消息序列号,用于标识消息的新旧Lifetime 32位,请求注册域名信息的服务生存期0 7 8 10 11 12 13 14 15

域名服务应答消息报文结构Type 消息类型2Error错误类型0无错误,即此消息为注册确认消息1无域名服务器2注册信息错误3注册中心忙4服务不可用Res 保留字段,置为全0M充值标识0表示剩余费用充足,无需充值1表示剩余费用不多,需尽快充值N网关域名服务器标识
0表示网关不能提供域名服务,域名服务器由NameServer IP Address字段给出;1表示网关就是域名服务器,其地址由Gateway IP Address字段给出,此时,无Name Server IP Address字段P 协议标识0表示该消息中的IP地址为IPv4地址;1表示该消息中的IP地址为IPv6地址Gateway IP Address 网关的IP地址Name Server IP Address 域名服务器的IP地址Domain Name请求注册的域名Domain Name IP Address 请求注册域名对应的IP地址Request Sequence Number32位,注册消息序列号,从域名信息注册消息中拷贝而来Reply Sequence Number 32位,消息序列号,用于标识消息的新旧Lifetime 32位,申请到的域名信息服务生存期07 814 15

身份验证消息报文结构Type 消息类型3Reserved 保留字段,置为全0P 协议标识0表示该消息中的IP地址为IPv4地址;1表示该消息中的IP地址为IPv6地址Domain Name 请求注册的域名ID32位,注册用户标识码Lifetime 32位,请求注册域名信息的服务生存期
0 7 89 10 13 14 15

注册中心应答消息报文结构Type消息类型4Error 错误类型0无错误,即此消息为注册确认消息1注册信息错误2服务不可用Reserved保留字段,置为全0M 充值标识0表示剩余费用充足,无需充值1表示剩余费用不多,需尽快充值P 协议标识0表示该消息中的IP地址为IPv4地址;1表示该消息中的IP地址为IPv6地址Domain Name 请求注册的域名ID 32位,注册用户标识码Lifetime 32位,申请到的域名信息服务生存期以上几种消息中,Domain Name采用RFC1035中资源记录(resourcerecord)名字(NAME)字段所定义的格式。
本发明要求用户所使用的域名必须向一个国家或地区的域名分配机构申请并获得授权,域名分配机构根据用户缴纳费用的多少分配给用户一个域名、用户身份标识码ID以及该域名所使用的期限。域名服分配机构维护着一个注册中心,其数据库中保存着用户申请的域名、ID以及根据费用结算的域名服务生存期。
本发明要求MANET网络通过一个网关与外部网络连接,网关上运行域名服务,或者网关配置有域名服务器。外部网络可以通过本发明所提出的方法对MANET节点的域名进行访问。
本发明的实现由域名服务信息宣告模块、域名信息注册模块、域名服务更新模块、注册中心处理模块组成。在所有的MANET节点(包括网关)和域名服务器上都维护着一个域名服务缓存,用于提供域名解析服务。MANET节点上的域名服务缓存为MANET内的节点提供域名解析服务(MANET内部域名服务/解析方法不在本发明的范围内),域名服务器上的域名服务缓存(例如传统域名系统的域名信息数据库)为外部网络提供域名解析服务。所有的MANET节点和域名服务器还都维护着一个域名注册缓存。域名服务器的域名注册缓存用于保存申请注册的域名信息一段时间,以等待注册中心应答消息的到来;MANET节点的域名注册缓存用于保存注册消息一段时间,以避免由于网络广播使得同一注册消息被多次转发。MANET注册节点维护着一个注册序号计数器,对注册次数进行递增计数,每次域名信息注册消息的发送或重发,都要将注册序号计数器的值加1;网关维护着一个应答序号计数器,对域名服务信息宣告和域名服务信息应答进行递增计数,每次域名服务信息宣告或域名服务应答消息的发送,都要将应答序号计数器的值加1。域名服务信息宣告模块运行在网关上,负责向MANET节点广播网关信息和域名服务器信息,并对域名信息注册消息和域名服务应答消息进行处理和转发;域名信息注册模块运行在MANET节点上,负责启动域名信息注册过程,进行消息的处理和转发,向用户返回提示信息;域名服务更新模块运行在MANET节点和域名服务器上,负责根据域名服务应答消息或注册中心应答消息对域名服务缓存进行更新,在域名服务器上运行的更新模块还负责向注册中心发送身份验证消息;注册中心处理模块对收到的身份验证消息进行处理,并向域名服务器返回注册中心应答消息。
外部网络访问MANET域名的方法如下网关周期性地向MANET网络宣告自己的网关信息和域名服务器信息,以便MANET节点获知网关的存在并配置相关信息。网关域名服务信息宣告具体流程如图1所示。
加入MANET或移动到一个新MANET的节点,若需要将自己的域名提供给外部网络访问,必须向一个域名服务器注册自己预先申请的域名。MANET节点将自己的域名、当前的IP地址和用户身份识别码ID发送给域名服务器进行注册,只有注册成功后,外部网络才能对该域名进行访问。MANET域名信息注册具体流程如图2所示。
网关收到域名信息注册消息后,根据当前网络的域名服务器配置,对该消息进行处理。网关消息处理具体流程如图3所示。
域名服务器收到域名注册消息后,将申请注册的域名、用户ID和申请服务时间向域名注册中心转发,由域名注册中心对用户身份进行认证。通过认证的域名信息被加入域名服务器的域名服务缓存,提供给外部网络访问。域名服务器消息处理具体流程如图4所示。
域名注册中心收到身份验证消息后,在域名用户管理数据库中对收到的信息进行验证,然后向域名服务器返回注册中心应答报文。域名注册中心消息处理具体流程如图5所示。
域名服务器收到注册中心应答后,向注册节点发送域名服务应答消息;网关收到该消息,进行填充并转发;中间节点根据该消息中的相关信息更新自己的域名服务缓存,更新自己的网关和域名服务器配置,并将该消息向注册节点转发。中间节点消息处理具体流程如图6所示。
注册节点收到域名服务应答消息后,根据其中的信息进行处理,更新自己的网关和域名服务器配置,并根据Error值,向用户返回不同的提示信息。若Error为0,且M为0,向用户返回“注册成功,本次服务时间为Lifetime”;若Error为0,且M为1,向用户返回“注册成功,本次服务时间为Lifetime,剩余服务时间不多”;若Error为1,向用户返回“无域名服务器,进入等待域名服务器状态”;若Error为2,向用户返回“注册信息错误,请确认后重新注册”;若Error为3,向用户返回“注册中心忙,请稍后重试”;若Error为4,向用户返回“服务不可用,请向注册中心查询原因”。
注册节点收到Error为0的域名服务应答消息,表明节点自己当前的域名信息(包括域名、IP地址、服务生存期)已经加入域名服务器的服务缓存里,此时,外部网络可以使用该域名访问节点提供的服务了。
分析上述的外部网络访问MANET节点域名的方法,可以看出本发明的特点有(1)网关配置过程、域名服务器配置过程和域名信息注册过程结合在一起,减少了在MANET上单独传送这些报文所占用的额外带宽,同时增加了系统的统一性。
(2)由于该方法包含了域名服务器配置过程,所以MANET节点可以通过域名访问外部网络节点,即实现了MANET网络和外部网络的域名互通。
(3)利用事先申请的域名作为网络节点标识,既方便网络管理,又减轻了用户记忆动态变化IP地址的负担。
发明技术方案外部网络通过域名访问移动自组网节点的方法其特征在于网关配置过程、域名服务器配置过程和域名信息注册过程结合在一起;网关周期性地向自组织网络宣告网关信息和域名服务器信息;加入MANET或移动到新MANET的节点发送域名信息注册消息请求对节点当前的域名信息进行注册;网关收到注册消息后,向域名服务器转发;域名服务器收到域名信息注册消息后,向域名注册中心发送身份验证消息;注册中心根据身份验证消息,在域名用户管理数据库中进行验证,然后向域名服务器返回应答消息;域名服务器收到注册中心应答消息后,将申请注册的域名信息加入域名服务缓存,并向注册节点发送域名服务信息应答消息;网关在域名服务应答消息中填充网关信息,然后将该消息向注册节点发送;中间节点根据域名服务应答消息中的信息更新自己的网关配置、域名服务器配置以及域名服务缓存,并向注册节点转发该消息;注册节点收到应答消息后,外部网络就可通过域名访问本节点提供的服务了。


图1是网关域名服务信息宣告流程图。
图2是域名信息注册流程图。
图3是网关消息处理流程图。
图4是域名服务器消息处理流程图。
图5是注册中心处理流程图。
图6是中间节点消息处理流程图。
具体实施例方式
外部网络访问移动自组网域名的方法,其中的网关域名服务信息宣告流程如下步骤S1网关根据自己是否为域名服务器或配置有域名服务器,构造域名服务信息宣告消息。
步骤S2将域名服务信息宣告消息周期性地向MANET节点广播。
图1中各事件的处理步骤如下(网关域名服务信息宣告流程)S1.1域名服务信息宣告模块启动后,初始化应答序号计数器的值为0,判断自己是否为域名服务器,即自己是否运行了域名服务程序(如BIND)为其它网络节点提供域名解析服务,若网关是域名服务器,进入S1.2;否则,转到S1.3;S1.2将网关的IP地址保存在域名服务器记录变量DN_SERVER中,进入S1.6;S1.3判断自己是否配置有域名服务器(例如,在linux操作系统中,判断文件/etc/resolv.conf中是否配置有域名服务器的IP地址),若有域名服务器配置,转到S1.5;否则,进入S1.4;S1.4置DN_SERVER为空,即没有域名服务器;S1.5置DN_SERVER为网关所配置的首选域名服务器的IP地址(例如,在linux操作系统中,置DN_SERVER为文件/etc/resolv.conf中第一条nameserver记录的IP地址),进入S1.6;S1.6启动定时器T0,用于周期性地广播域名服务消息,T0的时间周期为NS_BROADCAST_TIMEOUT(其值根据实际的MANET网络环境和规模决定),T0超时后,立即重启下一次计时,定时器T0启动后,进入S1.7;S1.7将应答序号计数器的值加1,将DN_SERVER置入域名服务信息宣告消息中广播出去。若网关就是域名服务器,N被置1,否则,N被置0;P根据网关所使用的IP协议类型而定;Gateway Lifetime为网关的生存期,从网关配置文件中读取;Gateway IP Address为网关的IP地址,N为1时,为DN_SERVER所保存的IP地址;当N为0时,Name ServerIP Address为DN_SERVER中的IP地址,Reply Sequence Number为应答序号计数器的当前值。进入S1.8;S1.8检查自己的IP地址或首选域名服务器IP地址是否改变,若改变,进入S1.9;若未改变,转到S1.10;S1.9置DN_SERVER为新的域名服务器地址,转到S1.6;S1.10判断T0是否超时,若未超时,进入S1.8;若等到T0超时,进入S1.7,周期性地广播域名服务消息。
外部网络访问移动自组网域名的方法,其中的域名信息注册流程如下步骤S1判断自己是否配置有网关或域名服务器,若有,向网关或域名服务器单播多达两次的域名信息注册消息,进入步骤S2;若没有,向MANET节点广播多达两次的域名信息注册消息,转到步骤S3;步骤S2启动定时器,等待域名服务应答消息的到来。若两次单播,定时器超时后,未收到域名服务应答消息,向MANET节点广播多达两次的域名信息注册消息;步骤S3若两次广播,定时器超时后,仍未收到域名服务应答消息,就等待域名服务信息的到来,即等待网关域名服务信息宣告消息的到来,结束;步骤S4若在定时器超时前,收到了域名服务应答消息,若该消息为注册确认消息,就表明域名信息已成功注册,启动域名服务生存期定时器,当定时器超时,重启域名信息注册过程;若该消息为其它类型的错误消息,就根据错误类型向用户返回相应的提示消息;图2中各事件的处理步骤如下(域名信息注册流程)S2.1当域名信息注册过程启动时,首先检查节点自己是否配置有域名服务器,若有,进入S2.2;否则,转到S2.3;S2.2置域名信息注册消息的IP头目的IP地址为所配置的域名服务器地址,进入S2.5;S2.3检查节点自己是否配置有网关,若有,进入S2.4;否则,进入S2.7;S2.4置域名信息注册消息的IP头目的IP地址为所配置的网关地址,进入S2.5;S2.5启动注册请求计数器Counter,置Counter的初值为0,进入S2.6;S2.6将域名信息注册消息向目的IP地址单播出去,域名信息注册消息中Domain Name为请求注册的域名,Domain Name IP Address为节点当前的IP地址,ID为注册中心分配给用户使用Domain Name的身份标识码,Request Sequence Number的值为注册序号计数器的当前值,Lifetime为请求注册域名信息的服务时间;然后将注册序号计数器的值加1;转到S2.9;S2.7启动注册请求计数器Counter,置Counter的初值为2,进入S2.8;S2.8将域名信息注册消息向MANET节点广播出去,域名信息注册消息中Domain Name为请求注册的域名,Domain Name IP Address为节点当前的IP地址,ID为注册中心分配给用户使用Domain Name的身份标识码,Request Sequence Number的值为注册序号计数器的当前值,Lifetime为请求注册域名信息的服务时间;然后将注册序号计数器的值加1;进入S2.9;S2.9将注册请求计数器Counter的值加1,进入S2.10;S2.10启动应答等待定时器T1,等待域名服务应答消息的到来;T1的时间周期为NS_REPLY_WAIT_TIMEOUT(其值根据实际的MANET网络环境和规模决定);进入S2.11;S2.11判断T1是否超时,若超时,进入S2.12;若未超时,且收到注册确认消息,转到S2.15,否则,等待T1超时;S2.12判断Counter的值是否小于2,若是,转到S2.6,再次单播域名信息注册消息;否则,进入S2.13;S2.13判断Counter的值是否小于4,若是,转到S2.8,将域名信息注册消息广播出去;否则,进入S2.14;S2.14等待域名服务信息宣告的到来,启动下一次域名信息注册过程;S2.15启动域名信息服务生存期定时器T2,T2的时间周期为收到的域名服务应答消息中的Lifetime值,进入S2.16;S2.16判断T2是否超时,若超时,进入S2.1,启动下一次域名信息注册过程;否则,进入S2.16,等待T2超时。
外部网络访问移动自组网域名的方法,其中的网关消息处理流程如下步骤S1判断收到的消息类型,若为域名信息注册消息,进入步骤S2进行处理;若为域名服务应答消息,进入步骤S3进行处理;步骤S2若自己为域名服务器,对该消息进行域名信息注册处理;否则,将该消息向域名服务器转发;步骤S3填充域名服务应答消息中的相关字段,并根据该消息更新域名服务缓存,然后将该消息向注册节点转发。
图3中各事件的处理步骤如下(网关消息处理流程)S3.1当网关收到域名信息注册/域名服务应答消息时,首先判断该消息类型,若为注册消息,进入S3.2;若为应答消息,转到S3.9;S3.2判断网关自己是否为域名服务器,即检查自己是否运行了域名服务程序,若是,进入S3.3;否则,转到S3.4;S3.3对收到的消息中的域名信息进行注册处理;S3.4检查自己是否配置有域名服务器,若是,进入S3.5;否则,转到S3.6;S3.5向自己所配置的域名服务器转发域名信息注册消息;S3.6判断该消息的目的地是否为网关本身,即检查该消息的IP头目的IP地址与网关自己的IP地址是否相同,若是,转到S3.8;否则,进入3.7;S3.7将该域名信息注册消息向目的IP地址转发;S3.8发送“无域名服务器”应答,即向注册节点发送域名服务应答消息,其中Error字段置为1,Reply Sequence Number字段置为应答序号计数器的当前值;然后将应答序号计数器的值加1;S3.9对从域名服务器发来的域名服务应答消息中的Gateway IPAddress和Reply Sequence Number字段进行填充,Gateway IP Address的值为网关自己的IP地址,Reply Sequence Number的值为应答序号计数器的当前值;然后将应答序号计数器的值加1;进入S3.10;S3.10根据下面的规则更新域名服务缓存,然后进入S3.11;Error为0时在域名服务缓存中查找域名为Domain Name的记录R,若找到记录R,比较应答消息中的Reply Sequence Number和R中的ReplySequence Number,若前者的应答序号大,根据该消息中的Domain Name、Domain Name IP Address、Reply Sequence Number和Lifetime字段更新记录R,否则,保持记录R不变;若未找到记录R,根据该消息中的DomainName、Domain Name IP Address、Reply Sequence Number和Lifetime字段,在域名服务缓存中加入一条新的域名信息记录;Error为其它值时在域名服务缓存中查找域名为Domain Name的记录R,若找到记录R,将应答消息和R中的Domain Name IP Address、ReplySequence Number进行比较,若Domain Name IP Address不同且应答消息中Reply Sequence Number较大,将R从域名服务缓存中删除,否则,保持记录R不变;若未找到记录R,对域名服务缓存不作任何改变;S3.11将该域名服务应答消息向注册节点转发。
外部网络访问移动自组网域名的方法,其中的域名服务器消息处理流程如下步骤S1根据收到域名信息注册消息,操作域名注册缓存;步骤S2判断对该域名信息的注册是否需要进行身份验证,若是,进入步骤S3;否则,根据该消息更新域名服务缓存;步骤S3向域名注册中心发送身份验证消息,等待注册中心应答消息的到来;步骤S4收到注册中心应答消息后,根据该消息,更新域名服务缓存,并向注册节点发送域名服务应答消息。
图4中各事件的处理步骤如下(域名服务器消息处理流程)S4.1当域名服务器收到域名信息注册消息时,立即启动下述的域名信息注册处理过程,首先在注册缓存中查找域名为Domain Name的记录R,若找到记录R,转到S4.3;否则,进入S4.2;
S4.2根据收到的域名信息注册消息中的Domain Name、Domain NameIP Address和Request Sequence Number字段,在域名注册缓存中加入一条新记录;转到S4.5;S4.3比较注册消息中的Request Sequence Number和记录R中的Request Sequence Number,若前者大,转到S4.5;否则,进入S4.4;S4.4该注册消息已被处理过,丢弃;S4.5在域名服务缓存中查找域名为Domain Name的记录R,若找到记录R,进入S4.6;否则,转到S4.8;S4.6比较域名信息注册消息中的ID和R中的ID,若相同,转到S4.8;否则,进入S4.7;S4.7发送“注册信息错误”应答,即向注册节点发送域名服务应答消息,其中Error字段值置为2;Gateway IP Address和Reply SequenceNumber字段置空,留待网关填充;Name Server IP Address为节点自己的IP地址;Domain Name、Domain Name IP Address、Request Sequence Number和Lifetime从域名信息注册消息复制而来;S4.8启动身份验证计数器A_Counter,计数初值为0;进入S4.9;S4.9向注册中心发送身份验证消息,其中Domain Name、ID和Lifetime从域名信息注册消息复制而来;进入S4.10;S4.10启动注册中心应答等待定时器T3,等待注册中心应答消息的到来,T3的计时周期为REGC_REPLY_WAIT_TIMEOUT(其值为域名服务器与注册中心间的消息往返时间,根据实际的网络环境而定);A_Counter的值加1;进入S4.11;S4.11判断T3是否超时,若未超时且收到注册中心应答消息,转到S4.14;否则,等待T3超时,进入S4.12;S4.12判断身份验证计数器A_Counter的值是否小于2,若是,转到S4.9,再次发送身份验证消息;否则,进入S4.13;S4.13发送“注册中心忙”应答,即向注册节点发送域名服务应答消息,其中Error为3;S4.14判断收到的注册中心应答是否为确认应答,即检查应答消息中的Error字段值是否为0,若是,进入S4.15;否则,转到S4.17;
S4.15在域名服务缓存中查找域名为Domain Name的记录R,若找到记录R,根据域名信息注册消息中的Domain Name IP Address和注册中心应答消息中的Lifetime更新R的相应字段;若未找到记录R,根据域名信息注册消息中的Domain Name、Domain Name IP Address、ID和注册中心应答消息中的Lifetime,在域名服务缓存中加入一条新记录。进入S4.16;S4.16发送“注册确认”应答,即向注册节点发送域名服务应答消息,其中Error字段值置为0;Gateway IP Address和Reply Sequence Number字段置空;Name Server IP Address为节点自己的IP地址;Domain Name、Domain Name IP Address和Request Sequence Number从域名信息注册消息复制而来;M和Lifetime从注册中心应答消息复制而来;S4.17向注册节点发送域名服务应答消息,其中Error字段值从注册中心应答消息复制而来。
外部网络访问移动自组网域名的方法,其中的注册中心处理流程如下步骤S1对注册用户身份ID进行验证,若通过验证,进入步骤S2;否则,不予注册;步骤S2检查注册用户请求的服务是否可用,若服务可用,进入步骤S3;否则,不予注册;步骤S3检查注册用户的域名服务剩余时间是否快到期,若是,向用户发送“充值提示”;否则,发送“通过验证”应答。
图5中各事件的处理步骤如下(注册中心处理流程)S5.1注册中心收到身份验证消息,首先在自己的数据库中查找域名为Domain Name的记录R,若找到记录R,进入S5.2;否则,转到S5.3;S5.2比较身份验证消息中的ID与R中的ID是否相同,若相同,转到S5.4;否则,进入S5.3;S5.3发送“注册信息错误”应答,即向域名服务器发送注册中心应答消息,其中Error为1;Domain Name、ID和Lifetime从身份验证消息复制而来;
S5.4检查注册用户是否有权限使用所请求的服务(例如,是否有权使用IPv6域名服务、用户的享受服务权是否被暂时禁止等),若是,转到S5.6;否则,进入S5.5;S5.5发送“服务不可用”应答,即向域名服务器发送注册中心应答消息,其中Error为2;S5.6判断服务剩余时间是否小于请求时间,即检查注册中心数据库中的域名服务生存期与当前时间的差值是否小于身份验证消息中的Lifetime值,若是,进入S5.7;否则,转到S5.8;S5.7置注册中心应答消息中的Lifetime为服务剩余时间;转到S5.10;S5.8置注册中心应答消息中的Lifetime为身份验证消息中的Lifetime;进入S5.9;S5.9判断服务剩余时间减去请求时间是否小于提示阈值FARE_ALARM_TIME(其值根据实际的收费策略而定),若是,进入S5.10;否则,转到S5.11;S5.10向用户发送“费用不多”指示,即置注册中心应答消息中的M为1;进入S5.11;S5.11发送“通过验证”应答,即向域名服务器发送注册中心应答消息,其中Error为0;Domain Name和ID从身份验证消息中复制而来。
外部网络访问移动自组网域名的方法,其中的中间节点消息处理流程如下步骤S1判断收到的消息类型,若为域名信息注册消息,进入步骤S2;若为域名服务应答消息,进入步骤S3;步骤S2判断该注册消息是否被处理过,若是,丢弃;否则,更新注册缓存条目,并将该消息转发出去;步骤S3根据域名服务应答消息更新节点的网关配置、域名服务器配置和域名服务缓存,并将该消息转发出去。
图6中各事件的处理步骤如下(中间节点消息处理流程)S6.1中间节点收到注册/应答消息时,首先判断该消息是否为域名信息注册消息,若是,进入S6.2;否则,转到S6.7;
S6.2在域名注册缓存中查找域名为Domain Name的记录R,若找到记录R,进入S6.3;否则,转到S6.6;S6.3比较域名信息注册消息中的Request Sequence Number和记录R中的Request Sequence Number,若前者大,转到S6.5;否则,进入S6.4;S6.4该注册消息已被处理过,丢弃;S6.5根据域名信息注册消息中的Domain Name IP Address和RequestSequence Number更新记录R;转到S6.12;S6.6根据域名信息注册消息中的Domain Name、Domain Name IPAddress和Request Sequence Number,在域名注册缓存中加入一条新记录;转到S6.12;S6.7根据域名服务应答消息中的Gateway IP Address更新节点自己的网关配置;进入S6.8;S6.8根据域名服务应答消息中的Name Server IP Address更新节点自己的域名服务器配置;进入S6.9;S6.9判断该消息是否为确认应答消息,即检查域名服务应答消息中的Error值是否为0,若是,转到S6.11;否则,进入S6.10;S6.10在域名服务缓存中查找域名为Domain Name、IP地址为DomainName IP Address的记录R,若找到记录R,将R从域名服务缓存中删除;转到S6.12;S6.11在域名服务缓存中查找域名为Domain Name、IP地址为DomainName IP Address的记录R,若找到记录R,根据域名服务应答消息中的Domain Name IP Address、Reply Sequence Number和Lifetime更新R;进入S6.12;S6.12将收到注册/应答消息转发出去。
权利要求
1.一种外部网络访问移动自组网域名的方法,其特征在于网关配置过程、域名服务器配置过程和域名信息注册过程结合在一起,网关周期性地向MANET节点宣告网关信息和域名服务器配置信息,加入MANET或移动到一个新MANET的节点启动域名信息注册过程,向域名服务器发送注册请求,网关收到注册请求后,向自己配置的域名服务器转发;域名服务器根据收到的注册请求后,向域名注册中心发送身份验证请求;注册中心对注册节点的使用权限在域名用户管理数据库中进行验证,通过身份验证后,向域名服务器返回应答消息,域名服务器将注册的域名信息加入域名服务缓存,提供给外部网络访问,域名服务器还要通过网关向注册节点发送注册应答,中间节点转发应答,并根据应答信息进行网关配置和域名服务器配置以及域名服务缓存,并向注册节点转发该消息;注册节点收到应答消息后,外部网络就可通过域名访问本节点提供的服务了。
2.根据权利要求1的外部网络访问移动自组网域名的方法,其中的域名信息注册流程如下步骤S1判断自己是否配置有网关或域名服务器,若有,向网关或域名服务器单播多达两次的域名信息注册消息,进入步骤S2;若没有,向MANET节点广播多达两次的域名信息注册消息,转到步骤S3;步骤S2启动定时器,等待域名服务应答消息的到来,若两次单播,定时器超时后,未收到域名服务应答消息,向MANET节点广播多达两次的域名信息注册消息;步骤S3若两次广播,定时器超时后,仍未收到域名服务应答消息,就等待域名服务信息的到来,即等待网关域名服务信息宣告消息的到来,结束;步骤S4若在定时器超时前,收到了域名服务应答消息,若该消息为注册确认消息,就表明域名信息已成功注册,启动域名服务生存期定时器,当定时器超时,重启域名信息注册过程;若该消息为其它类型的错误消息,就根据错误类型向用户返回相应的提示消息。
3.根据权利要求2的外部网络访问移动自组网域名的方法,其特征在于,域名信息注册流程具体步骤如下S2.1当域名信息注册过程启动时,首先检查节点自己是否配置有域名服务器,若有,进入S2.2;否则,转到S2.3;S2.2置域名信息注册消息的IP头目的IP地址为所配置的域名服务器地址,进入S2.5;S2.3检查节点自己是否配置有网关,若有,进入S2.4;否则,进入S2.7;S2.4置域名信息注册消息的IP头目的IP地址为所配置的网关地址,进入S2.5;S2.5启动注册请求计数器Counter,置Counter的初值为0,进入S2.6;S2.6将域名信息注册消息向目的IP地址单播出去,域名信息注册消息中Domain Name为请求注册的域名,Domain Name IP Address为节点当前的IP地址,ID为注册中心分配给用户使用Domain Name的身份标识码,Request Sequence Number的值为注册序号计数器的当前值,Lifetime为请求注册域名信息的服务时间;然后将注册序号计数器的值加1;转到S2.9;S2.7启动注册请求计数器Counter,置Counter的初值为2,进入S2.8;S2.8将域名信息注册消息向MANET节点广播出去,域名信息注册消息中Domain Name为请求注册的域名,Domain Name IP Address为节点当前的IP地址,ID为注册中心分配给用户使用Domain Name的身份标识码,Request Sequence Number的值为注册序号计数器的当前值,Lifetime为请求注册域名信息的服务时间;然后将注册序号计数器的值加1;进入S2.9;S2.9将注册请求计数器Counter的值加1,进入S2.10;S2.10启动应答等待定时器T1,等待域名服务应答消息的到来;T1的时间周期为NS_REPLY_WAIT_TIMEOUT,进入S2.11;S2.11判断T1是否超时,若超时,进入S2.12;若未超时,且收到注册确认消息,转到S2.15,否则,等待T1超时;S2.12判断Counter的值是否小于2,若是,转到S2.6,再次单播域名信息注册消息;否则,进入S2.13;S2.13判断Counter的值是否小于4,若是,转到S2.8,将域名信息注册消息广播出去;否则,进入S2.14;S2.14等待域名服务信息宣告的到来,启动下一次域名信息注册过程;S2.15启动域名信息服务生存期定时器T2,T2的时间周期为收到的域名服务应答消息中的Lifetime值,进入S2.16;S2.16判断T2是否超时,若超时,进入S2.1,启动下一次域名信息注册过程;否则,进入S2.16,等待T2超时。
4.根据权利要求1的外部网络访问移动自组网域名的方法,其中的网关消息处理流程具体步骤如下S3.1当网关收到域名信息注册/域名服务应答消息时,首先判断该消息类型,若为注册消息,进入S3.2;若为应答消息,转到S3.9;S3.2判断网关自己是否为域名服务器,即检查自己是否运行了域名服务程序,若是,进入S3.3;否则,转到S3.4;S3.3对收到的消息中的域名信息进行注册处理;S3.4检查自己是否配置有域名服务器,若是,进入S3.5;否则,转到S3.6;S3.5向自己所配置的域名服务器转发域名信息注册消息;S3.6判断该消息的目的地是否为网关本身,即检查该消息的IP头目的IP地址与网关自己的IP地址是否相同,若是,转到S3.8;否则,进入3.7;S3.7将该域名信息注册消息向目的IP地址转发;S3.8发送“无域名服务器”应答,即向注册节点发送域名服务应答消息,其中Error字段置为1,Reply Sequence Number字段置为应答序号计数器的当前值;然后将应答序号计数器的值加1;S3.9对从域名服务器发来的域名服务应答消息中的Gateway IPAddress和Reply Sequence Number字段进行填充,Gateway IP Address的值为网关自己的IP地址,Reply Sequence Number的值为应答序号计数器的当前值;然后将应答序号计数器的值加1;进入S3.10;S3.10根据下面的规则更新域名服务缓存,然后进入S3.11;Error为0时在域名服务缓存中查找域名为Domain Name的记录R,若找到记录R,比较应答消息中的Reply Sequence Number和R中的ReplySequence Number,若前者的应答序号大,根据该消息中的Domain Name、Domain Name IP Address、Reply Sequence Number和Lifetime字段更新记录R,否则,保持记录R不变;若未找到记录R,根据该消息中的DomainName、Domain Name IP Address、Reply Sequence Number和Lifetime字段,在域名服务缓存中加入一条新的域名信息记录;Error为其它值时在域名服务缓存中查找域名为Domain Name的记录R,若找到记录R,将应答消息和R中的Domain Name IP Address、ReplySequence Number进行比较,若Domain Name IP Address不同且应答消息中Reply Sequence Number较大,将R从域名服务缓存中删除,否则,保持记录R不变;若未找到记录R,对域名服务缓存不作任何改变;S3.11将该域名服务应答消息向注册节点转发。
5.根据权利要求1的外部网络访问移动自组网域名的方法,其中的域名服务器消息处理流程如下步骤S1根据收到域名信息注册消息,操作域名注册缓存;步骤S2判断对该域名信息的注册是否需要进行身份验证,若是,进入步骤S3;否则,根据该消息更新域名服务缓存;步骤S3向域名注册中心发送身份验证消息,等待注册中心应答消息的到来;步骤S4收到注册中心应答消息后,根据该消息,更新域名服务缓存,并向注册节点发送域名服务应答消息。
6.根据权利要求5的外部网络访问移动自组网域名的方法,其特征在于,域名服务器消息处理流程具体步骤如下S4.1当域名服务器收到域名信息注册消息时,立即启动下述的域名信息注册处理过程,首先在注册缓存中查找域名为Domain Name的记录R,若找到记录R,转到S4.3;否则,进入S4.2;S4.2根据收到的域名信息注册消息中的Domain Name、Domain NameIP Address和Request Sequence Number字段,在域名注册缓存中加入一条新记录;转到S4.5;S4.3比较注册消息中的Request Sequence Number和记录R中的Request Sequence Number,若前者大,转到S4.5;否则,进入S4.4;S4.4该注册消息已被处理过,丢弃;S4.5在域名服务缓存中查找域名为Domain Name的记录R,若找到记录R,进入S4.6;否则,转到S4.8;S4.6比较域名信息注册消息中的ID和R中的ID,若相同,转到S4.8;否则,进入S4.7;S4.7发送“注册信息错误”应答,即向注册节点发送域名服务应答消息,其中Error字段值置为2;Gateway IP Address和Reply SequenceNumber字段置空,留待网关填充;Name Server IP Address为节点自己的IP地址;Domain Name、Domain Name IP Address、Request Sequence Number和Lifetime从域名信息注册消息复制而来;S4.8启动身份验证计数器A_Counter,计数初值为0;进入S4.9;S4.9向注册中心发送身份验证消息,其中Domain Name、ID和Lifetime从域名信息注册消息复制而来;进入S4.10;S4.10启动注册中心应答等待定时器T3,等待注册中心应答消息的到来,T3的计时周期为REGC_REPLY_WAIT_TIMEOUT,其值为域名服务器与注册中心间的消息往返时间,根据实际的网络环境而定;A_Counter的值加1;进入S4.11;S4.11判断T3是否超时,若未超时且收到注册中心应答消息,转到S4.14;否则,等待T3超时,进入S4.12;S4.12判断身份验证计数器A_Counter的值是否小于2,若是,转到S4.9,再次发送身份验证消息;否则,进入S4.13;S4.13发送“注册中心忙”应答,即向注册节点发送域名服务应答消息,其中Error为3;S4.14判断收到的注册中心应答是否为确认应答,即检查应答消息中的Error字段值是否为0,若是,进入S4.15;否则,转到S4.17;S4.15在域名服务缓存中查找域名为Domain Name的记录R,若找到记录R,根据域名信息注册消息中的Domain Name IP Address和注册中心应答消息中的Lifetime更新R的相应字段;若未找到记录R,根据域名信息注册消息中的Domain Name、Domain Name IP Address、ID和注册中心应答消息中的Lifetime,在域名服务缓存中加入一条新记录。进入S4.16;S4.16发送“注册确认”应答,即向注册节点发送域名服务应答消息,其中Error字段值置为0;Gateway IP Address和Reply Sequence Number字段置空;Name Server IP Address为节点自己的IP地址;Domain Name、Domain Name IP Address和Request Sequence Number从域名信息注册消息复制而来;M和Lifetime从注册中心应答消息复制而来;S4.17向注册节点发送域名服务应答消息,其中Error字段值从注册中心应答消息复制而来。
7.根据权利要求1的外部网络访问移动自组网域名的方法,其中的注册中心处理流程具体步骤如下S5.1注册中心收到身份验证消息,首先在自己的数据库中查找域名为Domain Name的记录R,若找到记录R,进入S5.2;否则,转到S5.3;S5.2比较身份验证消息中的ID与R中的ID是否相同,若相同,转到S5.4否则,进入S5.3;S5.3发送“注册信息错误”应答,即向域名服务器发送注册中心应答消息,其中Error为1;Domain Name、ID和Lifetime从身份验证消息复制而来;S5.4检查注册用户是否有权限使用所请求的服务,若是,转到S5.6;否则,进入S5.5;S5.5发送“服务不可用”应答,即向域名服务器发送注册中心应答消息,其中Error为2;S5.6判断服务剩余时间是否小于请求时间,即检查注册中心数据库中的域名服务生存期与当前时间的差值是否小于身份验证消息中的Lifetime值,若是,进入S5.7;否则,转到S5.8;S5.7置注册中心应答消息中的Lifetime为服务剩余时间;转到S5.10;S5.8置注册中心应答消息中的Lifetime为身份验证消息中的Lifetime;进入S5.9;S5.9判断服务剩余时间减去请求时间是否小于提示阈值FARE_ALARM_TIME,若是,进入S5.10;否则,转到S5.11;S5.10向用户发送“费用不多”指示,即置注册中心应答消息中的M为1;进入S5.11;S5.11发送“通过验证”应答,即向域名服务器发送注册中心应答消息,其中Error为0;Domain Name和ID从身份验证消息中复制而来。
8.根据权利要求1的外部网络访问移动自组网域名的方法,其中的中间节点消息处理流程具体步骤如下S6.1中间节点收到注册/应答消息时,首先判断该消息是否为域名信息注册消息,若是,进入S6.2;否则,转到S6.7;S6.2在域名注册缓存中查找域名为Domain Name的记录R,若找到记录R,进入S6.3;否则,转到S6.6;S6.3比较域名信息注册消息中的Request Sequence Number和记录R中的Request Sequence Number,若前者大,转到S6.5;否则,进入S6.4;S6.4该注册消息已被处理过,丢弃;S6.5根据域名信息注册消息中的Domain Name IP Address和RequestSequence Number更新记录R;转到S6.12;S6.6根据域名信息注册消息中的Domain Name、Domain Name IPAddress和Request Sequence Number,在域名注册缓存中加入一条新记录;转到S6.12;S6.7根据域名服务应答消息中的Gateway IP Address更新节点自己的网关配置;进入S6.8;S6.8根据域名服务应答消息中的Name Server IP Address更新节点自己的域名服务器配置;进入S6.9;S6.9判断该消息是否为确认应答消息,即检查域名服务应答消息中的Error值是否为0,若是,转到S6.11;否则,进入S6.10;S6.10在域名服务缓存中查找域名为Domain Name、IP地址为DomainName IP Address的记录R,若找到记录R,将R从域名服务缓存中删除;转到S6.12;
全文摘要
本发明属于移动自组织网络MANET技术领域,它是一种外部网络访问MANET域名的实现方法。本方法将网关配置过程、域名服务器配置过程和域名信息注册过程结合在一起,其步骤包括网关周期性地向MANET节点宣告网关信息和域名服务器配置信息;加入MANET的节点启动域名信息注册过程,向域名服务器发送注册请求;域名服务器收到注册请求后,向注册中心发送身份验证请求,对注册节点的权限进行验证;通过身份验证后,域名服务器将注册的域名信息加入域名服务缓存,提供给外部网络访问;域名服务器还要通过网关向注册节点发送注册应答;中间节点转发应答,并根据应答信息进行网关配置和域名服务器配置。
文档编号H04L29/06GK1614947SQ20041000992
公开日2005年5月11日 申请日期2004年12月2日 优先权日2004年12月2日
发明者周继华, 孙毅, 石晶林 申请人:中国科学院计算技术研究所
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1