CN102480477A - 一种客户端进行业务访问的方法、装置及系统 - Google Patents

一种客户端进行业务访问的方法、装置及系统 Download PDF

Info

Publication number
CN102480477A
CN102480477A CN2010105675556A CN201010567555A CN102480477A CN 102480477 A CN102480477 A CN 102480477A CN 2010105675556 A CN2010105675556 A CN 2010105675556A CN 201010567555 A CN201010567555 A CN 201010567555A CN 102480477 A CN102480477 A CN 102480477A
Authority
CN
China
Prior art keywords
address
tcp
dns server
message
udp
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN2010105675556A
Other languages
English (en)
Other versions
CN102480477B (zh
Inventor
郭亮
刘南
水波
王珂
董航
邹生根
杜洋
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
China Mobile Group Beijing Co Ltd
Original Assignee
China Mobile Group Beijing Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by China Mobile Group Beijing Co Ltd filed Critical China Mobile Group Beijing Co Ltd
Priority to CN201010567555.6A priority Critical patent/CN102480477B/zh
Publication of CN102480477A publication Critical patent/CN102480477A/zh
Application granted granted Critical
Publication of CN102480477B publication Critical patent/CN102480477B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)

Abstract

本发明公开了一种客户端进行业务访问的方法、装置及系统,用以解决现有技术通过关闭TCP53端口限制客户端采用TCP查询方式,影响客户端进行业务访问的准确性的问题。该方法客户端向DNS服务器发送UDP查询请求后,若接收DNS服务器返回的截断后的UDP报文,根据UDP报文的截断标记及TCP查询开关参数,确定发起TCP查询时,向DNS服务器发送TCP查询请求,并在接收到的TCP报文中选择IP地址连接。由于本发明实施例中客户端根据截断标记及自身保存的TCP查询开关参数,判断是否发起TCP查询,即限制客户端采用TCP方式查询,不需要关闭DNS服务器的TCP53端口,提高了用户进行业务访问的准确性。

Description

一种客户端进行业务访问的方法、装置及系统
技术领域
本发明涉及通信技术领域,尤其涉及一种客户端进行业务访问的方法、装置及系统。
背景技术
域名系统(Domain Name System,DNS)服务器是众多网络服务的基础,具体用于保存网络中服务器的域名与网络互连协议(Internet Protocol,IP)地址之间的对应关系,当用户通过客户端进行业务访问时,客户端将用户输入的域名信息携带在查询请求中发送给DNS服务器,DNS服务器根据接收到的该查询请求,在自身保存的数据信息中查询该用户输入的域名信息对应的IP地址,并将查询到的IP地址携带在应答报文中返回客户端,客户端在接收到的该应答报文中随机选择一个IP地址连接。
在现有技术中,客户端进行业务访问的方法为,首先客户端采用用户数据报协议(User Datagram Protocol,UDP)向DNS服务器发送UDP查询请求,DNS服务器根据UDP查询请求中携带的域名信息查询该域名信息对应的IP地址,并将查询结果携带在UDP报文中返回客户端。但一条UDP报文的包含的字节数不能超过512字节,因此当该查询结果的字节数超过512字节时,DNS服务器将该查询结果截断,并将该UDP报文中的TC字段设置为1,即将查询结果中超过512字节的数据信息丢弃,并将截断后的查询结果携带在UDP报文返回客户端。客户端接收到UDP报文后,判断UDP报文中的TC字段为1,则丢弃该UDP报文,之后采用传输控制协议(Transmission Control Protocol,TCP)向DNS服务器重新发送查询请求,DNS服务器接收到TCP查询请求后,采用TCP协议返回应答报文,即返回TCP报文。图1为现有技术中客户端进行业务访问的过程,具体包括以下步骤:
S101:客户端向DNS服务器发送携带域名信息的UDP查询请求,并接收DNS服务器返回的UDP报文。
S102:判断接收到的UDP报文是否为截断后的UDP报文,若是,则进行步骤S103,否则进行步骤S104。
S103:丢弃该UDP报文,向DNS服务器发送携带该域名信息的TCP查询请求,并接收DNS服务器返回的TCP报文。
S104:在该UDP报文中携带的该域名信息对应的IP地址中随机选择一个连接。
S105:在该TCP报文中携带的该域名信息对应的IP地址中随机选择一个连接。
由于TCP协议对报文的字节数没有限制,因此可以保证客户端可以接收到该域名信息对应的全部IP地址。其中,DNS服务器采用自身的TCP53端口接收客户端发送的TCP查询请求。
然而,由于DNS服务器同时处理TCP查询请求的数量有限,并且TCP查询方式存在一定的弊端,因此,现有技术中采用关闭DNS服务器的用于接收TCP查询请求的TCP53端口的方法,限制客户端采用TCP查询方式查询。而关闭TCP53端口的方法将限制所有客户端采用TCP方式查询,从而影响通过UDP方式无法获取完整IP地址的客户端进行连接的准确性,即影响客户端进行业务访问的准确性。
发明内容
有鉴于此,本发明实施例提供一种客户端进行业务访问的方法、装置及系统,用以解决现有技术通过关闭TCP53端口限制客户端采用TCP查询方式,影响客户端进行业务访问的准确性的问题。
本发明实施例提供的一种客户端进行业务访问的方法,包括:
客户端向域名系统DNS服务器发送携带域名信息的用户数据报协议UDP查询请求,并接收所述DNS服务器返回的UDP报文;
识别接收到的所述UDP报文的截断标记中是否携带标识所述UDP报文为截断后的UDP报文的标识信息;
当携带时,根据所述截断标记及自身保存的传输控制协议TCP查询开关参数,判断是否发起TCP查询;
当确定发起TCP查询时,向所述DNS服务器发送携带所述域名信息的TCP查询请求,并在所述DNS服务器返回的TCP报文中选择一个所述域名信息对应的网络互连协议IP地址连接。
本发明实施例提供的一种客户端进行业务访问的装置,包括:
发送模块,用于向域名系统DNS服务器发送携带域名信息的用户数据报协议UDP查询请求,当确定发起传输控制协议TCP查询时,向所述DNS服务器发送携带所述域名信息的TCP查询请求;
接收模块,用于接收所述DNS服务器返回的UDP报文,并接收所述DNS服务器返回的TCP报文;
识别模块,用于识别接收到的所述UDP报文的截断标记中是否携带标识所述UDP报文为截断后的UDP报文的标识信息;
判断模块,用于当携带时,根据所述截断标记及自身保存的TCP查询开关参数,判断是否发起TCP查询;
选择连接模块,用于在所述DNS服务器返回的TCP报文中选择一个所述域名信息对应的网络互连协议IP地址连接。
本发明实施例提供的一种客户端进行业务方位的系统,包括:
客户端,用于向域名系统DNS服务器发送携带域名信息的用户数据报协议UDP查询请求,并接收所述DNS服务器返回的UDP报文,识别接收到的所述UDP报文的截断标记中是否携带标识所述UDP报文为截断后的UDP报文的标识信息,当携带时,根据所述截断标记及自身保存的传输控制协议TCP查询开关参数,判断是否发起TCP查询,当确定发起TCP查询时,向所述DNS服务器发送携带所述域名信息的TCP查询请求,并在所述DNS服务器返回的TCP报文中选择一个所述域名信息对应的网络互连协议IP地址连接;
DNS服务器,用于接收所述客户端发送的携带所述域名信息的UDP查询请求,并向所述客户端返回所述UDP报文,接收所述客户端发送的携带所述域名信息的TCP查询请求,向所述客户端返回所述TCP报文。
本发明实施例提供一种客户端进行业务访问的方法、装置及系统,该方法客户端向DNS服务器发送携带域名信息的UDP查询请求后,接收DNS服务器返回的UDP报文,并识别该UDP报文携带的截断标记,当该截断标记携带标识该UDP报文为截断后的UDP报文的标识信息时,根据该截断标记及自身保存的TCP查询开关参数,判断是否发起TCP查询,当确定发起时,向DNS服务器发送携带该域名信息的TCP查询请求,并在DNS服务器返回的TCP报文中选择一个该域名信息对应的IP地址连接。由于本发明实施例中客户端根据截断标记及自身保存的TCP查询开关参数,判断是否发起TCP查询,即限制客户端采用TCP方式查询,因此不需要关闭DNS服务器的TCP53端口,提高了用户进行业务访问的准确性。
附图说明
图1为现有技术中客户端进行业务访问的过程;
图2为本发明实施例提供的客户端进行业务访问的过程;
图3为本发明实施例提供的以采用递归查询的方式为例,客户端进行业务访问的详细过程;
图4为本发明实施例提供的客户端进行业务访问的装置结构示意图;
图5为本发明实施例提供的客户端进行业务访问的系统结构示意图。
具体实施方式
本发明实施例提供一种客户端进行业务访问的方法、装置及系统,该方法客户端向DNS服务器发送携带域名信息的UDP查询请求后,接收DNS服务器返回的UDP报文,并识别该UDP报文携带的截断标记,当该截断标记携带标识该UDP报文为截断后的UDP报文的标识信息时,根据该截断标记及自身保存的TCP查询开关参数,判断是否发起TCP查询,当确定发起时,向DNS服务器发送携带该域名信息的TCP查询请求,并在DNS服务器返回的TCP报文中选择一个该域名信息对应的IP地址连接。由于本发明实施例中客户端根据截断标记及自身保存的TCP查询开关参数,判断是否发起TCP查询,即限制客户端采用TCP方式查询,因此不需要关闭DNS服务器的TCP53端口,提高了用户进行业务方位的准确性。
下面结合说明书附图,对本发明实施例进行详细描述。
客户端在进行业务方位的过程中,由于只能根据网络服务器的IP地址建立连接关系,而网络服务器的域名只是为了便于用户记忆而设的。因此当客户端进行业务访问时,即当客户端与某个网络服务器建立连接关系时,客户端先要将用户输入的域名信息发送给DNS服务器,DNS服务器根据该域名信息以及自身保存的该域名信息与IP地址的对应关系,查找该域名信息对应的IP地址,并将查找到的IP地址返回客户端,客户端根据接收到的IP地址与该某个网络服务器建立连接关系。
图2为本发明实施例提供的客户端进行业务访问的过程,具体包括以下步骤:
S201:客户端向DNS服务器发送携带域名信息的UDP查询请求,并接收DNS服务器返回的UDP报文。
在本发明实施例中,当用户通过客户端连接到某个网络服务器时,先在客户端上输入该网络服务器的域名信息,客户端再将用户输入的域名信息携带在UDP查询请求中发送给DNS服务器。DNS服务器接收到该UDP查询请求后,根据该UDP查询请求,向该客户端返回UDP报文。
S202:识别接收到的UDP报文的截断标记中是否携带标识该UDP报文为截断后的UDP报文的标识信息,若携带,则进行步骤S203,否则进行步骤S204。
当DNS服务器根据接收到的UDP查询请求,生成的待返回的UDP报文的字节数超过512字节时,DNS服务器会将该待返回的UDP报文截断,将该待返回的UDP报文中超过512字节的部分丢弃,将该UDP报文携带的截断标记设置为携带标识该UDP报文为截断后的UDP报文的标识信息,并将该UDP报文返回,因此客户端接收到UDP报文后,根据该UDP报文的截断标记是否携带该标识信息,判断该UDP报文是否为截断后的UDP报文。
S203:根据该截断标记及自身保存的TCP查询开关参数,判断是否发起TCP查询,若发起,则进行步骤S205,否则进行步骤S206。
当确定该UDP报文的截断标记中携带标识该UDP报文为截断后的UDP报文的标识信息时,该客户端根据该截断标记及自身保存的TCP查询开关参数,判断是否发起TCP查询。
S204:在该UDP报文携带的该域名信息对应的IP地址中,选择一个IP地址连接。
当确定该UDP报文的截断标记中未携带标识该UDP报文为截断后的UDP报文的标识信息时,该客户端直接在该UDP报文携带的该域名信息对应的IP地址中选择一个IP地址连接,其中选择IP地址的方法可以为随机选择,也可以采用其他方法选择。
S205:向DNS服务器发送携带该域名信息的TCP查询请求,并在DNS服务器返回的TCP报文中选择一个该域名信息对应的IP地址连接。
当确定发起TCP查询时,客户端将该用户输入的域名信息携带在TCP查询请求中,并发送给DNS服务器。DNS服务器接收到该TCP查询请求后,返回TCP报文,其中,由于TCP报文没有字节数的限制,因此该TCP报文不需要截断,即该TCP报文携带的数据信息都是完整的数据信息。客户端接收到该TCP报文后,在该TCP报文携带的该域名信息对应的IP地址中,选择一个IP地址连接,其中选择IP地址的方法可以为随机选择,可以采用其他方法选择。
S206:根据接收到的该UDP报文获取该域名信息对应的IP地址。
虽然接收到的该UDP报文为截断后的UDP报文,其携带的数据信息是不完整的,但其携带的该域名信息对应的IP地址中,可能存在完整的IP地址,客户端可以根据完整的IP地址连接到该域名信息对应的服务器上,因此当确定不发起TCP查询时,客户端根据截断后的该UDP报文获取该域名信息对应的IP地址。
在上述过程中,客户端向DNS服务器发送携带域名信息的UDP查询请求后,接收DNS服务器返回的UDP报文,并识别该UDP报文携带的截断标记,当该截断标记携带标识该UDP报文为截断后的UDP报文的标识信息时,根据该截断标记及自身保存的TCP查询开关参数,判断是否发起TCP查询,当确定发起时,向DNS服务器发送携带该域名信息的TCP查询请求,并在DNS服务器返回的TCP报文中随机选择一个该域名信息对应的IP地址连接。由于本发明实施例中客户端根据截断标记及自身保存的TCP查询开关参数判断是否发起TCP查询,该方法可以允许某些客户端采用TCP方式查询,限制另一些客户端采用TCP方式查询,即可以灵活的限制客户端采用TCP方式查询,因此不需要关闭DNS服务器的TCP53端口,提高了用户进行业务方位的准确性。
在本发明实施例中,当DNS服务器在自身保存的数据信息中没有查找到任何与用户输入的域名信息对应的IP地址时,即当在该TCP报文中未选择到该域名信息对应的IP地址时,根据该TCP报文携带的权威DNS服务器的IP地址,从权威DNS服务器中获取该域名信息对应的IP地址并连接。具体方法为,当DNS服务器未查找到任何与该域名信息对应的IP地址时,向该权威DNS服务器发送查询IP地址的请求,该权威DNS服务器查找到该域名信息对应的IP地址时,将查找到的IP地址发送给该DNS服务器,该DNS服务器再将接收到的IP地址携带在该TCP报文中返回给客户端,即采用迭代查询的方式查询IP地址。
也可以直接将该权威DNS服务器的IP地址携带在该TCP报文中返回给客户端,此时获取IP地址的具体方法为,当客户端在该TCP报文中未选择到该域名信息对应的IP地址时,根据该TCP报文携带的权威DNS服务器的IP地址时,向该权威DNS服务器发送UDP查询请求,即采用递归查询的方式查询IP地址。其中,采用递归查询的方式查询IP地址时,客户端向权威DNS服务器发送携带该域名信息的UDP查询请求,接收并处理该DNS服务器返回的UDP报文的过程,与图1的客户端连接网络服务器的过程基本相同,这里就不再一一赘述。
并且,当DNS服务器返回的TCP报文中携带的IP地址为该域名信息对应的IP地址时,将该域名信息对应的IP地址携带在该TCP报文中的查询结果字段中,当携带的IP地址为该权威DNS服务器的IP地址时,将该权威DNS服务器的IP地址携带在该TCP报文中的权威服务器字段中。因此客户端判断该TCP报文中携带的IP地址是否为该域名信息对应的IP地址的方法可以为,判断该IP地址的位置是否在该TCP报文中的查询结果字段中,若是,则确定该IP地址为该域名信息对应的IP地址,否则确定该IP地址为该权威DSN服务器的IP地址。
在本发明实施例中,该截断标记为该UDP报文的TC字段,识别该UDP报文的截断标记中是否携带标识该UDP报文为截断后的UDP报文的标识信息方法为,判断该UDP报文中的TC字段是否为1,当该TC字段为1时,确定该UDP报文为截断后的UDP报文,当TC字段为0时,确定该UDP报文为未截断的UDP报文。当确定该TC字段为1时,即确定该UDP报文为截断后的UDP报文时,客户端根据该TC字段及自身保存的TCP查询开关参数,判断是否发起TCP查询。
该TCP查询开关参数K为客户端自身保存的,当该客户端支持TCP查询的方式,且DNS服务器当前同时处理采用TCP查询方式的客户端的数量不大于自身保存的饱和阈值时,将K的值更新为0,当该客户端不支持TCP查询的方式,或DNS服务器当前同时处理采用TCP查询方式的客户端的数量大于饱和阈值时,将K的值更新为1。此时根据截断标记及自身保存的TCP查询开关参数判断是否发起TCP查询,即根据该TC字段及K判断是否发起TCP查询的方法为,令
Figure BDA0000035270910000091
其中
Figure BDA0000035270910000092
为K的反码,即当K=0时
Figure BDA0000035270910000093
当K=1时TCL为逻辑截断位,当TCL=1时,确定发起TCP查询,当TCL=0时,确定不发起TCP查询。
在本发明实施例中,当客户端确定该UDP报文的TC字段为1,即确定该UDP报文为截断后的UDP报文,并确定不发起TCP查询时,为了使不支持TCP协议的客户端也能够正确的查询到其所需要的IP地址,客户端根据接收到的截断后的该UDP报文获取该域名信息对应的IP地址。具体方法为,当确定不发起TCP查询时,提取该UDP报文携带的该域名信息对应的IP地址,根据提取的每个IP地址的字节数,判断每个IP地址是否完整,并获取每个完整的IP地址,在获取的每个完整的IP地址中,随机选择一个IP地址连接。
其中,客户端判断IP地址是否完整,获取完整的IP地址的方法可以有多种,例如,网络互连协议第4版(Internet Protocol version 4,IPv4)类型的IP地址为32位,即4字节,网络互连协议第6版(Internet Protocol version 6,IPv6)类型的IP地址为128位,即16字节,因此可以判断提取的IP地址的字节时是否为4字节,若是,则说明该IP地址完整,若不是,则判断是否为16字节,若是,则说明该IP地址完整,若不是则说明该IP地址不完整。
并且,当DNS服务器在自身保存的数据信息中没有查找到任何与用户输入的域名信息对应的IP地址时,即当客户端确定不发起TCP查询,且在该UDP报文中未提取到该域名信息对应的IP地址时,根据该UDP报文携带的权威DNS的IP地址,从权威DNS服务器获取该域名信息对应的IP地址并连接。其中,从权威DNS服务器获取该域名信息对应的IP地址并连接的方法具体为,采用迭代查询的方式在权威DNS服务器中查询该域名信息对应的IP地址,并将查询到的该域名信息对应的IP地址携带在该UDP报文中返回客户端,该过程与上述DNS服务器采用迭代查询的方式将查询到的IP地址携带在TCP报文中返回客户端的过程基本相同,这里就不再一一赘述。
同样的,也可以采用递归查询的方式查询IP地址,具体方法为,当客户端确定不发起TCP查询,且该UDP报文携带的IP地址为权威DNS服务器的IP地址时,根据该权威DNS服务器的IP地址,向该权威DNS服务器发送UDP查询请求。其中,客户端向权威DNS服务器发送携带该域名信息的UDP查询请求,接收并处理该DNS服务器返回的UDP报文的过程,与图1的DNS查询的过程基本相同,这里就不再一一赘述。
另外,客户端判断该UDP报文携带的IP地址是否为该域名信息对应的IP地址的方法,与判断该TCP报文携带的IP地址是否为该域名信息对应的IP地址的方法基本相同,这里就不再一一赘述。
图3为本发明实施例提供的以采用递归查询的方式为例,客户端进行业务访问的详细过程,具体包括以下步骤:
S301:客户端向DNS服务器发送携带域名信息的UDP查询请求,并接收DNS服务器返回的UDP报文。
在本发明实施例中,当用户通过客户端连接到某个网络服务器时,先在客户端上输入该网络服务器的域名信息,客户端再将用户输入的域名信息携带在UDP查询请求中发送给DNS服务器。DNS服务器接收到该UDP查询请求后,根据该UDP查询请求,向该客户端返回UDP报文。
S302:识别接收到的UDP报文的截断标记中是否携带标识该UDP报文为截断后的UDP报文的标识信息,若是,则进行步骤S303,否则进行步骤S304。
该截断标记为该UDP报文的TC字段,识别该UDP报文该UDP报文是否为截断后的UDP报文的方法为,判断该UDP报文中的TC字段是否为1。
S303:根据该截断标记及自身保存的TCP查询开关参数,判断是否发起TCP查询,若是,则进行步骤S305,否则进行步骤S309。
当确定该UDP报文为截断后的UDP报文时,即确定该TC字段为1时,根据截断标记及自身保存的TCP查询开关参数判断是否发起TCP查询,即根据该TC字段及K判断是否发起TCP查询,具体为,令
Figure BDA0000035270910000111
判断TCL是否为1。
S304:在该UDP报文携带的该域名信息对应的IP地址中,随机选择一个IP地址连接。
当确定该UDP报文为未截断的UDP报文时,即确定该TC字段为0时,在该UDP报文携带的该域名信息对应的IP地址中,随机选择一个IP地址连接。
S305:向DNS服务器发送携带该域名信息的TCP查询请求,并接收该DNS服务器返回的TCP报文。
当确定发起TCP查询时,即确定TCL=1时,向DNS服务器发送携带该域名信息的TCP查询请求,并接收该DNS服务器返回的携带IP地址的TCP报文。
S306:判断该TCP报文中携带的IP地址是否为该域名信息对应的IP地址,若是,则进行步骤S307,否则进行步骤S308。
接收到携带IP地址的该TCP报文后,根据该TCP报文中携带的IP地址的位置是否在该TCP报文中的查询结果字段中,判断该TCP报文携带的IP地址是否为该域名信息对应的IP地址。
S307:随机选择一个IP地址连接。
当确定该TCP报文携带的IP地址为该域名信息对应的IP地址时,随机选择一个IP地址连接。
S308:根据权威DNS服务器的IP地址,向权威DNS服务器发送UDP查询请求。
当确定该TCP报文携带的IP地址为权威DNS服务器的IP地址时,或确定该UDP包围中携带的IP地址为权威DNS服务器的IP地址时,根据该权威DNS服务器的IP地址,从该权威DNS服务器获取该域名信息对应的IP地址。
其中,客户端向权威DNS服务器发送UDP查询请求,接收并处理权威DNS服务器返回的UDP报文的过程,与客户端向DNS服务器发送UDP查询请求,接收并处理DNS服务器返回的UDP报文的过程基本相同,只是将这里的权威DNS服务器作为DNS服务器进行信息交互,即返回步骤S301。
S309:判断该UDP报文中携带的IP地址是否为该域名信息对应的IP地址,若是,则进行步骤S310,否则进行步骤S308。
当确定不发起TCP查询时,根据该UDP报文中携带的IP地址的位置是否在该UDP报文中的查询结果字段中,判断该UDP报文携带的IP地址是否为该域名信息对应的IP地址。
S310:提取该域名信息对应的IP地址,针对提取的每个IP地址,根据该IP地址的字节数判断该IP地址是否完整,若完整,则进行步骤S311,否则进行步骤S312。
当确定不发起TCP查询,且该UDP报文携带的IP地址为该域名信息对应的IP地址时,提取该域名信息对应的IP地址,根据提取的每个IP地址的字节数,判断每个IP地址是否完整。
S311:获取该IP地址,在获取的每个完整的IP地址中,随机选择一个IP地址连接。
当确定该IP地址完整时,获取该IP地址,即获取每个完整的IP地址,并在获取的每个完整的IP地址中,随机选择一个IP地址连接。
S312:丢弃该IP地址。
当确定该IP地址不完整时,丢弃该IP地址。
在上述过程中,客户端向DNS服务器发送携带域名信息的UDP查询请求后,接收DNS服务器返回的UDP报文,并识别该UDP报文携带的截断标记,当该截断标记携带标识该UDP报文为截断后的UDP报文的标识信息时,根据该截断标记及自身保存的TCP查询开关参数,判断是否发起TCP查询,当确定发起时,向DNS服务器发送携带该域名信息的TCP查询请求,并在DNS服务器返回的TCP报文中随机选择一个该域名信息对应的IP地址连接。由于本发明实施例中客户端根据截断标记及自身保存的TCP查询开关参数,判断是否发起TCP查询,即限制客户端采用TCP方式查询,因此不需要关闭DNS服务器的TCP53端口,提高了用户进行业务访问的准确性。
并且,当确定不发起TCP查询,且该UDP报文携带的IP地址为该域名信息对应的IP地址时,提取该域名信息对应的IP地址,根据提取的每个IP地址的字节数,判断每个IP地址是否完整,并获取每个完整的IP地址,在获取的每个完整的IP地址中,随机选择一个IP地址连接,使不支持TCP协议的客户端也能够正确的查询到其所需要的IP地址。
图4为本发明实施例提供的客户端进行业务访问的装置结构示意图,具体包括:
发送模块401,用于向域名系统DNS服务器发送携带域名信息的用户数据报协议UDP查询请求,当确定发起传输控制协议TCP查询时,向所述DNS服务器发送携带所述域名信息的TCP查询请求;
接收模块402,用于接收所述DNS服务器返回的UDP报文,并接收所述DNS服务器返回的TCP报文;
识别模块403,用于识别接收到的所述UDP报文的截断标记中是否携带标识所述UDP报文为截断后的UDP报文的标识信息;
判断模块404,用于当携带时,根据所述截断标记及自身保存的TCP查询开关参数,判断是否发起TCP查询;
选择连接模块405,用于在所述DNS返回的TCP报文中选择一个所述域名信息对应的网络互连协议IP地址连接。
所述选择连接模块405还用于,当在所述TCP报文中未选择到所述域名信息对应的IP地址时,根据所述TCP报文携带的权威DNS服务器的IP地址,从所述权威DNS服务器获取连接的所述域名信息对应的IP地址并连接。
所述装置还包括:
提取模块406,用于当确定不发起TCP查询时,提取所述UDP报文携带的所述域名信息对应的IP地址;
所述判断模块404还用于,根据提取的每个IP地址的字节数,判断每个IP地址是否完整;
获取模块407,用于获取每个完整的IP地址;
所述选择连接模块405还用于,在获取的每个完整的IP地址中,选择一个IP地址连接。
所述选择连接模块405还用于,当确定不发起TCP查询,且在所述UDP报文中未提取到所述域名信息对应的IP地址时,根据所述UDP报文携带的权威DNS服务器的IP地址,从所述权威DNS服务器获取连接的所述域名信息对应的IP地址并连接。
所述选择连接模块405还用于,当所述UDP报文的截断标记中未携带标识所述UDP报文为截断后的UDP报文的标识信息时,在所述UDP报文携带的所述域名信息对应的IP地址中,选择一个IP地址连接。
图5为本发明实施例提供的户端进行业务访问的系统结构示意图,具体包括:
客户端501,用于向域名系统DNS服务器502发送携带域名信息的用户数据报协议UDP查询请求,并接收所述DNS服务器502返回的UDP报文,识别接收到的所述UDP报文的截断标记中是否携带标识所述UDP报文为截断后的UDP报文的标识信息,当携带时,根据所述截断标记及自身保存的传输控制协议TCP查询开关参数,判断是否发起TCP查询,当确定发起TCP查询时,向所述DNS服务器502发送携带所述域名信息的TCP查询请求,并在所述DNS服务器502返回的TCP报文中选择一个所述域名信息对应的网络互连协议IP地址连接;
DNS服务器502,用于接收所述客户端501发送的携带所述域名信息的UDP查询请求,并向所述客户端501返回所述UDP报文,接收所述客户端501发送的携带所述域名信息的TCP查询请求,向所述客户端501返回携带IP地址的TCP报文。
本发明实施例提供一种客户端进行业务访问的方法、装置及系统,该方法客户端向DNS服务器发送携带域名信息的UDP查询请求后,接收DNS服务器返回的UDP报文,并识别该UDP报文携带的截断标记,当该截断标记携带标识该UDP报文为截断后的UDP报文的标识信息时,根据该截断标记及自身保存的TCP查询开关参数,判断是否发起TCP查询,当确定发起时,向DNS服务器发送携带该域名信息的TCP查询请求,并在DNS服务器返回的TCP报文中选择一个该域名信息对应的IP地址连接。由于本发明实施例中客户端根据截断标记及自身保存的TCP查询开关参数,判断是否发起TCP查询,即限制客户端采用TCP方式查询,因此不需要关闭DNS服务器的TCP53端口,提高了用户进行业务访问的准确性。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

Claims (11)

1.一种客户端进行业务访问的方法,其特征在于,包括:
客户端向域名系统DNS服务器发送携带域名信息的用户数据报协议UDP查询请求,并接收所述DNS服务器返回的UDP报文;
识别接收到的所述UDP报文的截断标记中是否携带标识所述UDP报文为截断后的UDP报文的标识信息;
当携带时,根据所述截断标记及自身保存的传输控制协议TCP查询开关参数,判断是否发起TCP查询;
当确定发起TCP查询时,向所述DNS服务器发送携带所述域名信息的TCP查询请求,并在所述DNS服务器返回的TCP报文中选择一个所述域名信息对应的网络互连协议IP地址连接。
2.如权利要求1所述的方法,其特征在于,所述方法还包括:
当在所述TCP报文中未选择到所述域名信息对应的IP地址时,根据所述TCP报文携带的权威DNS服务器的IP地址,从所述权威DNS服务器获取连接的所述域名信息对应的IP地址并连接。
3.如权利要求1所述的方法,其特征在于,所述方法还包括:
当确定不发起TCP查询时,提取所述UDP报文携带的所述域名信息对应的IP地址;
根据提取的每个IP地址的字节数,判断每个IP地址是否完整,并获取每个完整的IP地址;
在获取的每个完整的IP地址中,选择一个IP地址连接。
4.如权利要求1所述的方法,其特征在于,所述方法还包括:
当确定不发起TCP查询,且在所述UDP报文中未提取到所述域名信息对应的IP地址时,根据所述UDP报文携带的权威DNS服务器的IP地址,从所述权威DNS服务器获取连接的所述域名信息对应的IP地址并连接。
5.如权利要求1所述的方法,其特征在于,所述方法还包括:
当所述UDP报文的截断标记中未携带标识所述UDP报文为截断后的UDP报文的标识信息时,在所述UDP报文携带的所述域名信息对应的IP地址中,选择一个IP地址连接。
6.一种客户端进行业务访问的装置,其特征在于,包括:
发送模块,用于向域名系统DNS服务器发送携带域名信息的用户数据报协议UDP查询请求,当确定发起传输控制协议TCP查询时,向所述DNS服务器发送携带所述域名信息的TCP查询请求;
接收模块,用于接收所述DNS服务器返回的UDP报文,并接收所述DNS服务器返回的TCP报文;
识别模块,用于识别接收到的所述UDP报文的截断标记中是否携带标识所述UDP报文为截断后的UDP报文的标识信息;
判断模块,用于当携带时,根据所述截断标记及自身保存的TCP查询开关参数,判断是否发起TCP查询;
选择连接模块,用于在所述DNS服务器返回的TCP报文中选择一个所述域名信息对应的网络互连协议IP地址连接。
7.如权利要求6所述的装置,其特征在于,所述选择连接模块还用于,当在所述TCP报文中未选择到所述域名信息对应的IP地址时,根据所述TCP报文携带的权威DNS服务器的IP地址,从所述权威DNS服务器获取连接的所述域名信息对应的IP地址并连接。
8.如权利要求6所述的装置,其特征在于,所述装置还包括:
提取模块,用于当确定不发起TCP查询时,提取所述UDP报文携带的所述域名信息对应的IP地址;
所述判断模块还用于,根据提取的每个IP地址的字节数,判断每个IP地址是否完整;
获取模块,用于获取每个完整的IP地址;
所述选择连接模块还用于,在获取的每个完整的IP地址中,选择一个IP地址连接。
9.如权利要求6所述的装置,其特征在于,所述选择连接模块模块还用于,当确定不发起TCP查询,且在所述UDP报文中未提取到所述域名信息对应的IP地址时,根据所述UDP报文携带的权威DNS服务器的IP地址,从所述权威DNS服务器获取连接的所述域名信息对应的IP地址并连接。
10.如权利要求7所述的装置,其特征在于,所述选择连接模块还用于,当所述UDP报文的截断标记中未携带标识所述UDP报文为截断后的UDP报文的标识信息时,在所述UDP报文携带的所述域名信息对应的IP地址中,选择一个IP地址连接。
11.一种客户端进行业务访问的系统,其特征在于,包括:
客户端,用于向域名系统DNS服务器发送携带域名信息的用户数据报协议UDP查询请求,并接收所述DNS服务器返回的UDP报文,识别接收到的所述UDP报文的截断标记中是否携带标识所述UDP报文为截断后的UDP报文的标识信息,当携带时,根据所述截断标记及自身保存的传输控制协议TCP查询开关参数,判断是否发起TCP查询,当确定发起TCP查询时,向所述DNS服务器发送携带所述域名信息的TCP查询请求,并在所述DNS服务器返回的TCP报文中选择一个所述域名信息对应的网络互连协议IP地址连接;
DNS服务器,用于接收所述客户端发送的携带所述域名信息的UDP查询请求,并向所述客户端返回所述UDP报文,接收所述客户端发送的携带所述域名信息的TCP查询请求,向所述客户端返回所述TCP报文。
CN201010567555.6A 2010-11-30 2010-11-30 一种客户端进行业务访问的方法、装置及系统 Active CN102480477B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201010567555.6A CN102480477B (zh) 2010-11-30 2010-11-30 一种客户端进行业务访问的方法、装置及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201010567555.6A CN102480477B (zh) 2010-11-30 2010-11-30 一种客户端进行业务访问的方法、装置及系统

Publications (2)

Publication Number Publication Date
CN102480477A true CN102480477A (zh) 2012-05-30
CN102480477B CN102480477B (zh) 2015-03-11

Family

ID=46092959

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201010567555.6A Active CN102480477B (zh) 2010-11-30 2010-11-30 一种客户端进行业务访问的方法、装置及系统

Country Status (1)

Country Link
CN (1) CN102480477B (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016090921A1 (zh) * 2014-12-08 2016-06-16 中兴通讯股份有限公司 会话控制方法和装置
CN106470252A (zh) * 2016-09-29 2017-03-01 广东欧珀移动通信有限公司 应用程序查询ip地址的方法及通信终端
CN107438115A (zh) * 2017-09-11 2017-12-05 深圳市茁壮网络股份有限公司 一种域名解析方法、装置及系统
CN109981803A (zh) * 2017-12-27 2019-07-05 中兴通讯股份有限公司 业务请求处理方法及装置
CN110730251A (zh) * 2019-09-10 2020-01-24 北京字节跳动网络技术有限公司 一种解析域名的方法、装置、介质和电子设备

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030112792A1 (en) * 2001-12-14 2003-06-19 At &T Corp. Method for content-aware redirection and content renaming
CN1852332A (zh) * 2006-04-10 2006-10-25 王立俊 一种服务器端域名解析错误控制方法及系统
CN101197836A (zh) * 2007-12-20 2008-06-11 华为技术有限公司 一种数据通讯控制方法以及数据通讯控制装置
CN101257450A (zh) * 2008-03-28 2008-09-03 华为技术有限公司 网络安全防护方法、网关设备、客户端及网络系统
CN101631360A (zh) * 2009-08-19 2010-01-20 中兴通讯股份有限公司 负载均衡的实现方法、装置和系统

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030112792A1 (en) * 2001-12-14 2003-06-19 At &T Corp. Method for content-aware redirection and content renaming
CN1852332A (zh) * 2006-04-10 2006-10-25 王立俊 一种服务器端域名解析错误控制方法及系统
CN101197836A (zh) * 2007-12-20 2008-06-11 华为技术有限公司 一种数据通讯控制方法以及数据通讯控制装置
CN101257450A (zh) * 2008-03-28 2008-09-03 华为技术有限公司 网络安全防护方法、网关设备、客户端及网络系统
CN101631360A (zh) * 2009-08-19 2010-01-20 中兴通讯股份有限公司 负载均衡的实现方法、装置和系统

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016090921A1 (zh) * 2014-12-08 2016-06-16 中兴通讯股份有限公司 会话控制方法和装置
CN106470252A (zh) * 2016-09-29 2017-03-01 广东欧珀移动通信有限公司 应用程序查询ip地址的方法及通信终端
CN106470252B (zh) * 2016-09-29 2019-10-01 Oppo广东移动通信有限公司 应用程序查询ip地址的方法及通信终端
CN107438115A (zh) * 2017-09-11 2017-12-05 深圳市茁壮网络股份有限公司 一种域名解析方法、装置及系统
CN109981803A (zh) * 2017-12-27 2019-07-05 中兴通讯股份有限公司 业务请求处理方法及装置
CN110730251A (zh) * 2019-09-10 2020-01-24 北京字节跳动网络技术有限公司 一种解析域名的方法、装置、介质和电子设备
CN110730251B (zh) * 2019-09-10 2022-11-29 北京字节跳动网络技术有限公司 一种解析域名的方法、装置、介质和电子设备

Also Published As

Publication number Publication date
CN102480477B (zh) 2015-03-11

Similar Documents

Publication Publication Date Title
US8228848B2 (en) Method and apparatus for facilitating push communication across a network boundary
CN109981803B (zh) 业务请求处理方法及装置
CN102480477B (zh) 一种客户端进行业务访问的方法、装置及系统
US8554946B2 (en) NAT traversal method and apparatus
CN102916983B (zh) 网络访问行为的防护系统
CN1929497B (zh) 一种获取移动节点家乡代理信息的方法和系统
US11425086B2 (en) Using DNS to communicate MC-TCP capability of server devices
CN102907073B (zh) Dns服务器、网关和在数据传输中管理端口范围标识符的方法
US20120230337A1 (en) Method and apparatus for packet call setup
CN102547553B (zh) 一种基于wap进行业务访问的方法、系统及装置
US7826410B2 (en) Method for updating DNS address in mobile IP terminal
CN106507414B (zh) 报文转发方法及装置
CN101282368A (zh) 保存域名系统记录的方法、装置、域名解析方法及装置
CN105657055A (zh) 一种面向web网页的局域网设备发现方法及装置
CN101426261B (zh) 多媒体子系统业务处理的方法、p-cscf、i-cscf和多媒体子系统
CN102571853A (zh) 移动终端的远程点对点通信方法、系统和装置
US11683275B2 (en) Device and method for interconnecting two subnetworks
CN104780082A (zh) 一种移动设备与家庭智能终端的通讯方法
CN102984697B (zh) 基于移动终端的ip通信方法、设备和系统
CN112887441A (zh) 一种域名解析方法、终端和dns服务器
CN104935682A (zh) 一种域名解析方法及系统
CN105429880A (zh) 网络设备及其进行路由转发的方法
CN105025114A (zh) 一种域名解析方法及系统
CN109698869A (zh) 私网穿越方法、通信节点及存储介质
CN107438997B (zh) 解析ip地址的方法、相应的服务器以及计算机程序

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant