CN104702709A - 标识、识别终端类型的方法和装置 - Google Patents

标识、识别终端类型的方法和装置 Download PDF

Info

Publication number
CN104702709A
CN104702709A CN201310658992.2A CN201310658992A CN104702709A CN 104702709 A CN104702709 A CN 104702709A CN 201310658992 A CN201310658992 A CN 201310658992A CN 104702709 A CN104702709 A CN 104702709A
Authority
CN
China
Prior art keywords
terminal
type
domain name
request message
name system
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.)
Pending
Application number
CN201310658992.2A
Other languages
English (en)
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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies 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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201310658992.2A priority Critical patent/CN104702709A/zh
Publication of CN104702709A publication Critical patent/CN104702709A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2101/00Indexing scheme associated with group H04L61/00
    • H04L2101/60Types of network addresses
    • H04L2101/686Types of network addresses using dual-stack hosts, e.g. in Internet protocol version 4 [IPv4]/Internet protocol version 6 [IPv6] networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明实施例公开了标识、识别终端类型的方法和装置。所述标识方法包括:生成第一域名系统请求报文,在第一域名系统请求报文的报文头中携带有第一终端的类型标识,第一终端的类型标识用于标识第一终端为双栈终端或为IPv6单栈终端;发送第一域名系统请求报文。相应的,所述识别方法包括:接收第一终端发送的第一域名系统请求报文,在第一域名系统请求报文的报文头中携带有所述第一终端的类型标识,第一终端的类型标识用于标识第一终端为双栈终端或为IPv6单栈终端;从第一域名系统请求报文的报文头中提取第一终端的类型标识,根据第一终端的类型标识确定第一终端的类型。根据本发明实施例,无需用户手工操作,即可自动识别出终端的类型。

Description

标识、识别终端类型的方法和装置
技术领域
本发明涉及无线通信领域,特别是涉及标识、识别终端类型的方法和装置。
背景技术
终端向某一个业务服务器发起IPv4/IPv6连接之前,一般会先通过URL得到该业务服务器的域名,然后再借助于一个包含有多个DNS(Domain NameSystem,域名系统)服务器的DNS服务器集群实现从域名到IP地址的解析。在每个DNS服务器中,与域名对应的IPv6地址的记录类型是“AAAA记录”,与域名对应的IPv4地址的记录类型是“A记录。
随着IPv6技术在全球的兴起,越来越多的终端开始支持双栈功能,双栈终端也应运而生并占据了主导地位。另外,由于移动芯片在功能或功耗方面的限制,导致一部分终端无法支持双栈功能,所以,除了双栈终端之外,也存在一部分IPv6单栈终端。IPv6单栈终端如果没有特殊的网络功能支持,将无法正常使用IPv4的网络资源。为了解决此问题,网络中一般会部署NAT64设备,以便进行IPv6到IPv4之间的地址翻译,并且NAT64设备需要与DNS服务器集群中的DNS服务器配合工作。
由于NAT64设备的存在,DNS服务器集群对双栈终端的地址解析流程与对IPv6单栈终端的地址解析流程是不同的。其中,对于双栈终端而言,如果请求的记录类型是“AAAA记录”,当DNS服务器集群通过本地查询/递归/迭代查询找到与域名对应的IPv6地址时,向双栈终端返回该IPv6地址,当DNS服务器集群通过本地查询/递归/迭代查询没有找到与域名对应的IPv6地址时,直接向双栈终端返回空记录。如果请求的记录类型是“A记录”,当DNS服务器集群通过本地查询/递归/迭代查询找到与域名对应的IPv4地址时,向双栈终端返回该IPv4地址,当DNS服务器集群通过本地查询/递归/迭代查询没有找到与域名对应的IPv4地址时,直接向双栈终端返回空记录。而对于IPv6单栈终端而言,如果请求的记录类型是“AAAA记录”,当DNS服务器集群通过本地查询/递归/迭代查询找到与域名对应的IPv6地址时,向IPv6单栈终端返回该IPv6地址。当DNS服务器集群通过本地查询/递归/迭代查询没有找到与域名对应的IPv6地址时,先通过本地查询/递归/迭代查询重新查找与域名对应的IPv4地址,再通过NAT64设备将该IPv4地址拼接成一个IPv6地址,最后向IPv6单栈终端返回该拼接成的IPv6地址。
由此可见,在实际应用中,DNS服务器集群中的每个DNS服务器必须要先区分终端的类型,即,区分发起IPv6连接的终端是双栈终端还是IPv6单栈终端,进而才能按照与类型对应的解析流程进行地址解析处理。
在现有技术中,先为拥有不同类型的终端的用户设置不同的用户名后缀,例如,对于WLAN(Wireless Local Area Network,无线局域网)用户,用户名通常为手机号码,默认拥有双栈终端的用户的用户名不加后缀,为拥有IPv6单栈终端的用户设置的用户名后缀为“CMCC_v6”。区分终端类型的方法为:由用户手工录入用户名和用户名后缀(如果有用户名后缀的话),接入服务器根据用户名后缀区分出终端类型后,为不同类型的终端分配不同的源IPv6地址,例如,从范围为2004::/40的IPv6地址段中选取地址并分配给双栈终端,从范围为2008::/40的IPv6地址段中选取地址并分配给IPv6单栈终端。DNS服务器根据源IPv6地址所落入的地址段确定终端类型。除了可以设置不同的用户名后缀之外,也可以为不同类型的终端设置不同的SSID(Service SetIndentifier,服务集标识),例如,对于WLAN,在位于接入网的AP(AccessPoint,接入点)上为双栈终端设置SSID为“CMCC”,为IPv6单栈终端设置SSID为“CMCC_6”。或者,还可以为不同类型的终端设置不同的APN(AccessPoint Name,接入点名称),流入,对于2G/3G,在位于核心网的GGSN(GatewayGPRS Support Node,网关GPRS支持节点)上为双栈终端设置的APN为“cmnet”,为IPv6单栈终端设置的APN为“cmnet_v6”。
在实现本发明的过程中,本发明的发明人发现现有技术中至少存在如下问题:无论是设置不同的用户名后缀,还是设置不同的SSID,或者是设置不同的APN,都需要先由用户手工录入这些信息(即,用户名后缀、SSID或APN),然后基于用户录入的信息进行终端类型的识别。一旦用户操作错误,如,漏填或填错用户名后缀,将会导致DNS服务器无法准确识别终端的类型,甚至无法识别终端的类型。
发明内容
为了解决上述技术问题,本发明实施例提供了标识、识别终端类型的方法和装置,在无需用户手工操作的情况下,即可自动识别出终端的类型,避免因用户误操作而导致的识别错误或无法识别,进而提高类型识别的准确性。
本发明实施例公开了如下技术方案:
根据本发明实施例的第一方面,公开了一种标识终端类型的方法,包括:
生成第一域名系统请求报文,所述第一域名系统请求报文的报文头中携带有第一终端的类型标识,所述第一终端的类型标识用于标识所述第一终端为双栈终端或为IPv6单栈终端;
发送所述第一域名系统请求报文。
结合本发明的第一方面,本发明还具有第一种可能,即所述生成第一域名系统请求报文,在第一域名系统请求报文的报文头中携带有第一终端的类型标识具体为:
将所述第一域名系统请求报文的报文头中的目标字段的字段值作为所述第一终端的类型标识,所述目标字段为Opcode字段、AA字段、RA字段、Z字段、AD字段或RCODE字段,所述Opcode字段的字段值为保留字段值。
根据本发明实施例的第二方面,公开了一种识别终端类型的方法,包括:
接收第一终端发送的第一域名系统请求报文,所述第一域名系统请求报文的报文头中携带有所述第一终端的类型标识,所述第一终端的类型标识用于标识所述第一终端为双栈终端或为IPv6单栈终端;
从所述第一域名系统请求报文的报文头中提取所述第一终端的类型标识,根据所述第一终端的类型标识确定所述第一终端的类型。
结合本发明的第二方面,本发明还具有第一种可能,即所述方法还包括:
在从所述第一域名系统请求报文的报文头中提取所述第一终端的类型标识之前,查询高速缓存中是否存有所述第一终端的IPv6地址与所述第一终端的终端类型之间的第一对应关系,所述第一终端的IPv6地址携带于所述第一域名系统请求报文中;
从所述第一域名系统请求报文的报文头中提取所述第一终端的类型标识,根据所述第一终端的类型标识确定所述第一终端的类型具体包括:
在确定所述高速缓存中不存在所述第一对应关系后,从所述第一域名系统请求报文的报文头中提取所述第一终端的类型标识,根据所述第一终端的类型标识确定所述第一终端的类型。
结合本发明的第二方面,本发明还具有第二种可能,即所述方法还包括:
接收第二终端发送的第二域名系统请求报文,所述第二域名系统请求报文的报文头中携带有所述第二终端的IPv6地址和所述第二终端的类型标识,所述第二终端的类型标识用于标识所述第二终端为双栈终端或IPv6单栈终端;
查询所述高速缓存中是否存有所述第二终端的IPv6地址与所述第二终端的终端类型之间的第二对应关系;
在确定所述第二高速缓存中存有所述第二对应关系后,根据所述第二对应关系确定所述第二终端的终端类型。
根据本发明实施例的第三方面,公开了一种标识终端类型的装置,包括:
报文生成单元,用于生成第一域名系统请求报文,所述第一域名系统请求报文的报文头中携带有第一终端的类型标识,所述第一终端的类型标识用于标识所述第一终端为双栈终端或为IPv6单栈终端;
报文发送单元,用于发送所述第一域名系统请求报文。
结合本发明的第三方面,本发明还具有第一种可能,即所述报文生成单元具体用于,将所述第一域名系统请求报文的报文头中的目标字段的字段值作为所述第一终端的类型标识,所述目标字段为Opcode字段、AA字段、RA字段、Z字段、AD字段或RCODE字段,所述Opcode字段的字段值为保留字段值。
根据本发明实施例的第四方面,公开了一种识别终端类型的装置,包括:
第一报文接收单元,用于接收第一终端发送的第一域名系统请求报文,所述第一域名系统请求报文的报文头中携带有所述第一终端的类型标识,所述第一用户的类型标识用于标识所述第一终端为双栈终端或为IPv6单栈终端;
第一类型识别单元,用于从所述第一域名系统请求报文的报文头中提取所述第一终端的类型标识,根据所述第一终端的类型标识确定所述第一终端的类型。
结合本发明的第四方面,本发明还具有第一种可能,即所述装置还包括:
第一查询单元,用于在所述类型识别单元从所述第一域名系统请求报文的报文头中提取所述第一终端的类型标识,根据所述第一终端的类型标识确定所述第一终端的类型之前,查询所述高速缓存中是否存有所述第一终端的IPv6地址与所述第一终端的终端类型之间的第一对应关系,所述第一终端的IPv6地址携带于所述第一域名系统请求报文中;
所述第一类型识别单元具体用于,在确定所述高速缓存中不存在第一对应关系后,从所述第一域名系统请求报文的报文头中提取所述第一终端的类型标识,根据所述第一终端的类型标识确定所述第一终端的类型。
结合本发明的第四方面,本发明还具有第二种可能,即所述装置还包括:
第二报文接收单元,用于接收第二终端发送的第二域名系统请求报文,所述第二域名系统请求报文的报文头中携带有所述第二终端的IPv6地址和所述第二终端的类型标识,所述第二终端的类型标识用于标识所述第二终端为双栈终端或IPv6单栈终端;
第二查询单元,用于查询所述高速缓存中是否存有所述第二终端的IPv6地址与所述第二终端的终端类型之间的第二对应关系;
第二类型识别单元,用于在确定所述第二高速缓存中存在所述第二对应关系后,根据所述第二对应关系确定所述第二终端的终端类型。
由上述实施例可以看出,与现有技术相比,本发明的优点在于:
在无需用户手工操作的情况下,即可自动识别出终端的类型,避免了因用户误操作而导致的识别错误或无法识别,进而提高类型识别的准确性。
同时,不需要复杂的网络分域规划,任意终端可以在任意位置接入网络,大大降低了网络部署的复杂度。
在当前情况下,考虑到网络中双栈终端占绝大多数,IPv6单栈终端一般都是新入网的设备,运营商可以在入网测试时增加定制功能准入的要求,保证新入网的IPv6单栈终端具备相应的功能,然后只需对DNS服务器进行软件定制,通过软件升级即可完成相应功能,整网的部署代价非常小。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明一种标识终端类型的方法的一个实施例的流程图;
图2为RFC1035/2535/5395协议定义的域名系统请求报文的报文头的结构示意图;
图3为本发明一种识别终端类型的方法的一个实施例的流程图;
图4为本发明一种标识终端类型的方法的另一个实施例的流程图;
图5-a为本发明中双栈终端的DNS解析流程的示意图;
图5-b为本发明中IPv6单栈终端的DNS解析流程的示意图;
图6为本发明一种标识终端类型的装置的一个实施例的结构图;
图7为本发明一种识别终端类型的装置的一个实施例的结构图;
图8为本发明一种识别终端类型的装置的另一个实施例的结构图;
图9为本发明一种识别终端类型的装置的另一个实施例的结构图。
具体实施方式
本发明实施例提供了标识、识别终端类型的方法和装置。本发明技术方案的核心在于,在终端发送给DNS服务器的域名系统请求报文中添加了用于标识终端类型的终端类型标识。DNS服务器在接收到该域名系统请求报文后,可以通过该终端类型标识自动识别出终端的类型,在此过程中,无需用户参与任何操作,避免因用户误操作而导致的识别错误或无法识别,进而提高类型识别的准确性。
另外,还需要说明的是,在以下各个实施例中,“第一终端”和“第二终端”并不特指某一个终端,而是泛指任何一个需要通过本发明的技术方案标识类型的终端。“第一域名系统请求报文”和“第二域名系统请求报文”也并不特指某一个终端发送给DNS服务器的域名系统请求报文,而仅仅泛指任意一个需要标识类型的终端发送给DNS服务器的域名系统请求报文。
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图对本发明实施例进行详细描述。
实施例一
请参阅图1,其为本发明一种标识终端类型的方法的一个实施例的流程图,该方法包括以下步骤:
步骤101:生成第一域名系统请求报文,在第一域名系统请求报文的报文头中携带有第一终端的类型标识、所述第一终端的类型标识用于标识所述第一终端为双栈终端或为IPv6单栈终端;
如图2所示,其为RFC1035/2535/5395协议定义的域名系统请求报文的报文头的结构示意图。其中,Z字段在域名系统请求报文(DNS Query)的报文头中为保留字段,可以将Z字段的字段值作为终端的类型标识。另外,RFC1035/2535/5395协议只在域名系统响应报文(DNS Response)中对AA字段、RA字段、AD字段和RCODE字段进行定义,而没有在域名系统请求报文中进行定义。因此,对于域名系统请求报文来说,AA字段、RA字段、AD字段和RCODE字段可以作为保留字段,并将AA字段、RA字段、AD字段和RCODE字段的字段值作为终端的类型标识。由于RCODE字段有四个比特位,因此,可以从四个比特位中任意选取一个比特位,并将该比特位的值作为类型标识,当然,也可以从四个比特位中任意选取2个或3个比特位,并将这些比特位的值作为类型标识,还可以同时将四个比特位的值,即,RCODE字段的字段值作为类型标识。
从上述保留字段中任意选取一个字段,并为该字段设置不同的字段值,并用不同的字段值代表不同的终端类型。例如,选取Z字段,当Z字段的字段值为0时,表示终端类型为IPv6单栈终端,当Z字段的字段值为1时,表示终端类型为双栈终端。
需要说明的是,考虑到在网络建设的初期,绝大多数终端的类型都是双栈终端,而IPv6单栈终端的数量很少,而按照原有的标准协议,在域名系统请求报文包含的AA字段、RA字段、Z字段、AD字段和RCODE字段中,各比特位的值全都为0,因此,一种优选的方式是,当AA字段、RA字段、Z字段或AD字段的字段值为0时,代表的终端类型为双栈终端,当AA字段、RA字段、Z字段或AD字段的字段值为1时,代表的终端类型为IPv6单栈终端。或者,当RCODE字段的字段值为0000时,代表的终端类型为双栈终端,当RCODE字段的字段值为除0000之外的其它值时,代表的终端类型为IPv6单栈终端。这样,在终端侧,仅需要对IPv6单栈终端进行改动,而不需要对双栈终端做任何改动,从而保证改动范围以及改动量最小,最终更便于本方案的实施。
除此之外,RFC1035/2535/5395协议对Opcode字段的部分字段值也未做定义,如,字段值0011以及字段值0110-1111,这些未被定义的字段值是保留字段值,因此,Opcode字段的保留字段值也可以作为终端的类型标识。以下为Opcode字段的各字段值的定义:
Opcode(十六进制) Opcode(二进制) 定义
0 0000 询问(Query)
1 0001 IQuery(Inverse Query,Obsolete)
2 0010 状态(Status)
3 0011 保留
4 0100 Notify
5 0101 Update
6 0110 保留
7 0111 保留
8 1000 保留
9 1001 保留
10 1010 保留
11 1011 保留
12 1100 保留
13 1101 保留
14 1110 保留
15 1111 保留
可以选取任何两个保留字段值作为终端的类型标识,例如,当保留字段值为1000时,表示终端类型为双栈终端,当保留字段值为1001时,表示终端类型为IPv6单栈终端。当然,一种优选的方式是,当Opcode字段的字段值为0000时,表示终端类型为双栈终端,当Opcode字段的字段值为任意一个保留字段值时,如,字段值0011,或者,字段值0110-1111中任意一个,表示终端类型为IPv6单栈终端。这样,在终端侧,仅需要对IPv6单栈终端进行改动,而不需要对双栈终端做任何改动,从而保证改动范围以及改动量最小。
步骤102:发送所述第一域名系统请求报文。由上述实施例可以看出,与现有技术相比,本发明的优点在于:
在无需用户手工操作的情况下,即可自动标识出终端的类型,从而避免了因用户误操作而导致的标识错误,进而导致的识别错误甚至是识别失败。
同时,不需要复杂的网络分域规划,任意终端可以在任意位置接入网络,大大降低了网络部署的复杂度。
实施例二
与实施例一中的标识终端类型的方法相对应,请参阅图3,其为本发明一种识别终端类型的方法的一个实施例的流程图,该方法包括以下步骤:
步骤301:接收第一终端发送的第一域名系统请求报文,所述第一域名系统请求报文的报文头中携带有所述第一终端的类型标识,所述第一终端的类型标识用于标识所述第一终端为双栈终端或为IPv6单栈终端;
步骤302:从所述第一域名系统请求报文的报文头中提取所述第一终端的类型标识,根据所述第一终端的类型标识确定所述第一终端的类型。
其中,从所述第一域名系统请求报文的报文头中提取所述第一终端的类型标识,根据所述第一终端的类型标识确定所述第一终端的类型,包括:对所述第一域名系统请求报文的报文头进行目标字段检查,所述目标字段为Opcode字段、AA字段、RA字段、Z字段、AD字段或RCODE字段;将所述目标字段的字段值作为所述第一终端的类型标识,读取所述目标字段的字段值,根据所述目标字段的字段值确定所述第一终端的类型。
例如,已经预先约定用Z字段的字段值代表终端类型,并且,Z字段的字段值为0表示终端为双栈终端,Z字段的字段值为1表示终端为IPv6单栈终端。DNS服务器从第一域名系统请求报文的报文头中寻找Z字段,然后读取Z字段的字段值,如果字段值为0,确定终端为双栈终端,如果字段值为1,确定终端为IPv6单栈终端。
由上述实施例可以看出,与现有技术相比,本发明的优点在于:
在无需用户手工操作的情况下,即可自动识别出终端的类型,避免了因用户误操作而导致的识别错误或无法识别,进而提高类型识别的准确性。
同时,不需要复杂的网络分域规划,任意终端可以在任意位置接入网络,大大降低了网络部署的复杂度。
在当前情况下,考虑到网络中双栈终端占绝大多数,IPv6单栈终端一般都是新入网的设备,运营商可以在入网测试时增加定制功能准入的要求,保证新入网的IPv6单栈终端具备相应的功能,然后只需对DNS服务器进行软件定制,通过软件升级即可完成相应功能,整网的部署代价非常小。
实施例三
在实施例二中,DNS服务器必须从每一个域名系统请求报文的报文头中提取终端的类型标识,以便根据终端的类型标识确定终端的类型,该过程势必会消耗DNS服务器的开销,为了节省DNS服务器的开销,提高DNS服务器的处理性能,本实施例三与实施例二的区别在于,将首次根据终端的类型标识确定的终端类型以及为终端的IPv6地址建立对应关系,然后保存在高速缓存中,这样,对于已经根据类型标识确定了类型的终端来说,DNS服务器就可以根据高速缓存中的对应关系直接获得该终端的类型,而无需再从该终端发送的域名系统请求报文的报文头中提取类型标识。
请参阅图4,其为本发明一种识别终端类型的方法的另一个实施例的流程图,该方法包括以下步骤:
步骤401:接收第一终端发送的第一域名系统请求报文,所述第一域名系统请求报文的报文头中携带有所述第一终端的类型标识,所述第一终端的类型标识用于标识所述第一终端为双栈终端或为IPv6单栈终端;
步骤402:查询高速缓存中是否存有所述第一终端的IPv6地址与所述第一终端的终端类型之间的第一对应关系,如果是,进入步骤403,否则,进入步骤404;
其中,从第一域名系统请求报文的报文体中携带有第一终端的IPv6地址。
例如,可以通过预设列表的形式维护各终端的IPv6地址与各终端的终端类型之间的第一对应关系,并将该预设列表保存在高速缓存中。以下为一个列表,在该预设列表中保存有各终端的IPv6地址和各终端的终端类型,并且,两者之间存在一对一的对应关系。
索引 终端的IPv6地址 终端类型
1 2008:1234:5678::1 双栈终端
2 2008:1234:ABCD::1 IPv6单栈终端
3 2008:1593:3571::1 双栈终端
步骤403:直接根据高速缓存中存有的所述第一终端的IPv6地址与所述第一终端的终端类型之间的第一对应关系确定所述第一终端的终端类型,结束流程;
步骤404:从所述第一域名系统请求报文的报文头中提取所述第一终端的类型标识,根据所述第一终端的类型标识确定所述第一终端的类型,结束流程。
之后,再将所述第一终端的终端类型以及所述第一终端的IPv6地址之间的对应关系作为一个新的表项保存在高速缓存中的预设列表内。
需要说明的是,由于DNS服务器读取每个域名系统请求报文的报文头中的Opcode字段,所以,如果利用Opcode字段的字段值代表终端的类型,一般情况下没有必要再通过预设列表以提高DNS服务器的处理性能。如果DNS服务器已经存在某种高速缓存机制,可以将Opcode字段的读取流程加入到已有的缓存流程中,以优化DNS服务器的处理性能。
另外,如果直接从高速缓存中读取第一终端的IPv6地址与第一终端的终端类型之间的第一对应关系,高速缓存中还可以记录最近一次读取第一对应关系时的读取时间。例如,将该读取时间保存在预设列表中,并替换表中已保存的前一次读取第一对应关系时的读取时间。也就是说,每读取一次第一对应关系,就刷新一次读取时间。
例如,如下表所示,在预设列表的每个表项中添加了读取时间。
索引 终端的源IPv6地址 终端的类型 最近的读取时间
1 2008:1234:5678::1 双栈终端 0d:23h:59m:59s
2 2008:1234:ABCD::1 IPv6单栈终端 0d:15h:02m:30s
3 2008:1593:3571::1 双栈终端 0d:0h:30m:00s
当记录了读取时间后,还可以定期根据读取时间与当前时间之间的时间间隔的大小,删除预设列表中的表项。如,删除与当前时间之间的时间间隔大于或等于预设阈值的最近的读取时间所在的表项。
由上述实施例可以看出,与现有技术相比,本发明的优点在于:
除了实施例二所具有的优点之外,还节省了DNS服务器的开销,进而提高了DNS服务器的处理性能。
下面以本发明的终端类型标识、识别为基础,说明双栈终端的DNS解析流程。如图5-a所示,包括以下流程:
步骤501-a-1:双栈终端向DNS服务器集群发送DNS请求报文。
其中,在DNS请求报文中除了携带有双栈终端将要访问的业务服务器的域名(即,www.a4.com)以及记录类型(即,“A记录”)之外,在该DNS请求报文的报文头中还携带有终端类型标识。
步骤502-a-1:DNS服务器集群中的DNS服务器根据终端类型标识确定终端类型为双栈终端,并通过本地查询/递归/迭代查询的方式查找与域名对应的IPv4地址。
步骤503-a-1:如果DNS服务器集群中的某一个DNS服务器从自身保存的A记录中找到与域名对应的IPv4地址,向双栈终端返回DNS响应报文。
其中,在该DNS响应报文中携带有双栈终端将要访问的业务服务器的IPv4地址(即,202.106.33.60)以及记录类型(即,“A记录”)。
步骤501-a-2:双栈终端向DNS服务器集群发送DNS请求报文。
其中,在DNS请求报文中除了携带有双栈终端将要访问的业务服务器的域名(即,www.b6.com)以及记录类型(即,“A记录”)之外,在该DNS请求报文的报文头中还携带有终端类型标识。
步骤502-a-2:DNS服务器集群中的DNS服务器根据终端类型标识确定终端类型为双栈终端,并通过本地查询/递归/迭代查询的方式查找与域名对应的IPv4地址。如果DNS服务器集群中所有DNS服务器从自身保存的A记录中都没有找到与域名对应的IPv4地址,向双栈终端返回DNS响应报文。
其中,在该DNS响应报文中携带有空记录(即,NULL)以及记录类型(即,“A记录”)。
步骤501-a-3:双栈终端向DNS服务器集群发送DNS请求报文。
其中,在DNS请求报文中除了携带有双栈终端将要访问的业务服务器的域名(即,www.a6.com)以及记录类型(即,“AAAA记录”)之外,在该DNS请求报文的报文头中还携带有终端类型标识。
步骤502-a-3:DNS服务器集群中的DNS服务器根据终端类型标识确定终端类型为双栈终端,并通过本地查询/递归/迭代查询的方式查找与域名对应的IPv6地址。
步骤503-a-3:如果DNS服务器集群中的某一个DNS服务器从自身保存的AAAA记录中找到与域名对应的IPv6地址,向双栈终端返回DNS响应报文。
其中,在该DNS响应报文中携带有双栈终端将要访问的业务服务器的IPv6地址(即,2404:68:0803::6)以及记录类型(即,“AAAA记录”)。
步骤501-a-4:双栈终端向DNS服务器集群发送DNS请求报文。
其中,在DNS请求报文中除了携带有双栈终端将要访问的业务服务器的域名(即,www.b6.com)以及记录类型(即,“AAAA记录”)之外,在该DNS请求报文的报文头中还携带有终端类型标识。
步骤502-a-4:DNS服务器集群中的DNS服务器根据终端类型标识确定终端类型为双栈终端,并并通过本地查询/递归/迭代查询的方式查找与域名对应的IPv6地址。
步骤503-a-4:如果DNS服务器集群中的某一个DNS服务器从自身保存的AAAA记录中没有找到与域名对应的IPv6地址,向双栈终端返回DNS响应报文。
其中,在该DNS响应报文中携带有空记录(即,NULL)以及记录类型(即,“AAAA记录”)。
下面以本发明的终端类型标识、识别为基础,说明IPv6单栈终端的DNS解析流程。如图5-b所示,
步骤501-b-1:IPv6单栈终端向DNS服务器集群发送DNS请求报文。
其中,在DNS请求报文中除了携带有IPv6单栈终端将要访问的业务服务器的域名(即,www.a6.com)以及记录类型(即,“AAAA记录”)之外,在该DNS请求报文的报文头中还携带有终端类型标识。
步骤502-b-1:DNS服务器集群中的DNS服务器根据终端类型标识确定终端类型为IPv6单栈终端,并并通过本地查询/递归/迭代查询的方式查找与域名对应的IPv6地址。
步骤503-b-1:如果DNS服务器集群中的某一个DNS服务器从自身保存的AAAA记录中找到与域名对应的IPv6地址,向IPv6单栈终端返回DNS响应报文。
其中,在该DNS响应报文中携带有IPv6单栈终端将要访问的业务服务器的IPv6地址(即,2404:68:0803::6)以及记录类型(即,“AAAA记录”)。
步骤501-b-2:IPv6单栈终端向DNS服务器集群发送DNS请求报文。
其中,在DNS请求报文中除了携带有IPv6单栈终端将要访问的业务服务器的域名(即,www.a4.com)以及记录类型(即,“AAAA记录”)之外,在该DNS请求报文的报文头中还携带有终端类型标识。
步骤502-b-2:网络服务器集群中的DNS服务器根据终端类型标识确定终端类型为IPv6单栈终端,并通过本地查询/递归/迭代查询的方式查找与域名对应的IPv6地址。
步骤503-b-2:如果DNS服务器集群中的所有DNS服务器从自身保存的AAAA记录中没有找到与域名对应的IPv6地址,
网络服务器集群中的DNS服务器再通过本地查询/递归/迭代查询的方式查找与域名对应的IPv4地址。
步骤504-b-2:如果DNS服务器集群中的某一个DNS服务器从自身保存的A记录中找到与域名对应的IPv4地址,通过NAT64设备将IPv4地址与DNS64前缀拼接成IPv6地址,并向IPv6单栈终端返回DNS响应报文。
其中,在DNS响应报文中携带有拼接后的IPv6地址(即,2002:64:CA6C::213C)以及记录类型(即,“AAAA记录”)。
步骤501-b-3:IPv6单栈终端向DNS服务器集群发送DNS请求报文。
其中,在DNS请求报文中除了携带有IPv6单栈终端将要访问的业务服务器的域名(即,www.b6.com)以及记录类型(即,“AAAA记录”)之外,在该DNS请求报文的报文头中还携带有终端类型标识。
步骤502-b-3:DNS服务器集群中的DNS服务器根据终端类型标识确定终端类型为IPv6单栈终端,并通过本地查询/递归/迭代查询的方式查找与域名对应的IPv6地址。
步骤503-b-3:如果DNS服务器集群中的所有DNS服务器从自身保存的AAAA记录中都没有找到与域名对应的IPv6地址,。
DNS服务器集群中的DNS服务器再通过本地查询/递归/迭代查询的方式查找与域名对应的IPv4地址。
步骤504-b-3:如果DNS服务器集群中的所有DNS服务器从自身保存的A记录中也都没有找到与域名对应的IPv4地址,向IPv6单栈终端返回DNS响应报文。
其中,在DNS响应报文中携带有空记录(即,NULL)以及记录类型(即,“A记录”)。
实施例四
与上述一种标识终端类型的方法相对应,本发明实施例还提供了一种标识终端类型的装置。请参阅图6,其为本发明一种标识终端类型的装置的一个实施例的结构图,该装置包括:报文生成单元601和报文发送单元602。下面结合该装置的工作原理进一步介绍其内部结构以及连接关系。
报文生成单元601,用于生成第一域名系统请求报文,所述第一域名系统请求报文的报文头中携带有第一终端的类型标识,所述第一终端的类型标识用于标识所述第一终端为双栈终端或为IPv6单栈终端;
报文发送单元602,用于发送所述第一域名系统请求报文。
优选的,如报文生成单元601具体用于,将所述第一域名系统请求报文的报文头中的目标字段的字段值作为所述第一终端的类型标识,所述目标字段为Opcode字段、AA字段、RA字段、Z字段、AD字段或RCODE字段,所述Opcode字段的字段值为保留字段值。
由上述实施例可以看出,与现有技术相比,本发明的优点在于:
在无需用户手工操作的情况下,即可自动标识出终端的类型,从而避免了因用户误操作而导致的标识错误,进而导致的识别错误甚至是识别失败。
同时,不需要复杂的网络分域规划,任意终端可以在任意位置接入网络,大大降低了网络部署的复杂度。
实施例五
与上述一种识别终端类型的方法相对应,本发明实施例还提供了一种识别终端类型的装置。请参阅图7,其为本发明一种识别终端类型的装置的一个实施例的结构图,该装置包括:第一报文接收单元701、和第一类型识别单元703。下面结合该装置的工作原理进一步介绍其内部结构以及连接关系。
第一报文接收单元701,用于接收第一终端发送的第一域名系统请求报文,所述第一域名系统请求报文的报文头中携带有所述第一终端的类型标识,所述第一用户的类型标识用于标识所述第一终端为双栈终端或为IPv6单栈终端;
第一类型识别单元702,用于从所述第一域名系统请求报文的报文头中提取所述第一终端的类型标识,根据所述第一终端的类型标识确定所述第一终端的类型。
如图8所示,该装置还可以包括:
第一查询单元703,用于在所述类型识别单元从所述第一域名系统请求报文的报文头中提取所述第一终端的类型标识,根据所述第一终端的类型标识确定所述第一终端的类型之前,查询所述高速缓存中是否存有所述第一终端的IPv6地址与所述第一终端的终端类型之间的第一对应关系,所述第一终端的IPv6地址携带于所述第一域名系统请求报文中;
第一类型识别单元702具体用于,在确定所述高速缓存中不存在第一对应关系后,从所述第一域名系统请求报文的报文头中提取所述第一终端的类型标识,根据所述第一终端的类型标识确定所述第一终端的类型。
在图7所示结构的基础上,如图9所示(图9中仅示出增加的三个装置),该装置还包括:
第二报文接收单元704,用于接收第二终端发送的第二域名系统请求报文,所述第二域名系统请求报文的报文头中携带有所述第二终端的IPv6地址和所述第二终端的类型标识,所述第二终端的类型标识用于标识所述第二终端为双栈终端或IPv6单栈终端;
第二查询单元705,用于查询所述高速缓存中是否存有所述第二终端的IPv6地址与所述第二终端的终端类型之间的第二对应关系;
第二类型识别单元706,用于在确定所述第二高速缓存中存在所述第二对应关系后,根据所述第二对应关系确定所述第二终端的终端类型。
由上述实施例可以看出,与现有技术相比,本发明的优点在于:
在无需用户手工操作的情况下,即可自动识别出终端的类型,避免了因用户误操作而导致的识别错误或无法识别,进而提高类型识别的准确性。
同时,不需要复杂的网络分域规划,任意终端可以在任意位置接入网络,大大降低了网络部署的复杂度。
在当前情况下,考虑到网络中双栈终端占绝大多数,IPv6单栈终端一般都是新入网的设备,运营商可以在入网测试时增加定制功能准入的要求,保证新入网的IPv6单栈终端具备相应的功能,然后只需对DNS服务器进行软件定制,通过软件升级即可完成相应功能,整网的部署代价非常小。
所述领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本发明所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述到的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性、机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,可以采用软件功能单元的形式实现。
需要说明的是,本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可提取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random AccessMemory,RAM)等。
以上对本发明所提供的标识、识别终端类型的方法和装置进行了详细介绍,本文中应用了具体实施例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

Claims (10)

1.一种标识终端类型的方法,其特征在于,包括:
生成第一域名系统请求报文,所述第一域名系统请求报文的报文头中携带有第一终端的类型标识,所述第一终端的类型标识用于标识所述第一终端为双栈终端或为IPv6单栈终端;
发送所述第一域名系统请求报文。
2.根据权利要求1所述的方法,其特征在于,所述生成第一域名系统请求报文,在第一域名系统请求报文的报文头中携带有第一终端的类型标识具体为:
将所述第一域名系统请求报文的报文头中的目标字段的字段值作为所述第一终端的类型标识,所述目标字段为Opcode字段、AA字段、RA字段、Z字段、AD字段或RCODE字段,所述Opcode字段的字段值为保留字段值。
3.一种识别终端类型的方法,其特征在于,包括:
接收第一终端发送的第一域名系统请求报文,所述第一域名系统请求报文的报文头中携带有所述第一终端的类型标识,所述第一终端的类型标识用于标识所述第一终端为双栈终端或为IPv6单栈终端;
从所述第一域名系统请求报文的报文头中提取所述第一终端的类型标识,根据所述第一终端的类型标识确定所述第一终端的类型。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
在从所述第一域名系统请求报文的报文头中提取所述第一终端的类型标识之前,查询高速缓存中是否存有所述第一终端的IPv6地址与所述第一终端的终端类型之间的第一对应关系,所述第一终端的IPv6地址携带于所述第一域名系统请求报文中;
从所述第一域名系统请求报文的报文头中提取所述第一终端的类型标识,根据所述第一终端的类型标识确定所述第一终端的类型具体包括:
在确定所述高速缓存中不存在所述第一对应关系后,从所述第一域名系统请求报文的报文头中提取所述第一终端的类型标识,根据所述第一终端的类型标识确定所述第一终端的类型。
5.根据权利要求3所述的方法,其特征在于,所述方法还包括:
接收第二终端发送的第二域名系统请求报文,所述第二域名系统请求报文的报文头中携带有所述第二终端的IPv6地址和所述第二终端的类型标识,所述第二终端的类型标识用于标识所述第二终端为双栈终端或IPv6单栈终端;
查询所述高速缓存中是否存有所述第二终端的IPv6地址与所述第二终端的终端类型之间的第二对应关系;
在确定所述第二高速缓存中存有所述第二对应关系后,根据所述第二对应关系确定所述第二终端的终端类型。
6.一种标识终端类型的装置,其特征在于,包括:
报文生成单元,用于生成第一域名系统请求报文,所述第一域名系统请求报文的报文头中携带有第一终端的类型标识,所述第一终端的类型标识用于标识所述第一终端为双栈终端或为IPv6单栈终端;
报文发送单元,用于发送所述第一域名系统请求报文。
7.根据权利要求6所述的装置,其特征在于,所述报文生成单元具体用于,将所述第一域名系统请求报文的报文头中的目标字段的字段值作为所述第一终端的类型标识,所述目标字段为Opcode字段、AA字段、RA字段、Z字段、AD字段或RCODE字段,所述Opcode字段的字段值为保留字段值。
8.一种识别终端类型的装置,其特征在于,包括:
第一报文接收单元,用于接收第一终端发送的第一域名系统请求报文,所述第一域名系统请求报文的报文头中携带有所述第一终端的类型标识,所述第一用户的类型标识用于标识所述第一终端为双栈终端或为IPv6单栈终端;
第一类型识别单元,用于从所述第一域名系统请求报文的报文头中提取所述第一终端的类型标识,根据所述第一终端的类型标识确定所述第一终端的类型。
9.根据权利要求8所述的装置,其特征在于,所述装置还包括:
第一查询单元,用于在所述类型识别单元从所述第一域名系统请求报文的报文头中提取所述第一终端的类型标识,根据所述第一终端的类型标识确定所述第一终端的类型之前,查询所述高速缓存中是否存有所述第一终端的IPv6地址与所述第一终端的终端类型之间的第一对应关系,所述第一终端的IPv6地址携带于所述第一域名系统请求报文中;
所述第一类型识别单元具体用于,在确定所述高速缓存中不存在第一对应关系后,从所述第一域名系统请求报文的报文头中提取所述第一终端的类型标识,根据所述第一终端的类型标识确定所述第一终端的类型。
10.根据权利要求8所述的装置,其特征在于,所述装置还包括:
第二报文接收单元,用于接收第二终端发送的第二域名系统请求报文,所述第二域名系统请求报文的报文头中携带有所述第二终端的IPv6地址和所述第二终端的类型标识,所述第二终端的类型标识用于标识所述第二终端为双栈终端或IPv6单栈终端;
第二查询单元,用于查询所述高速缓存中是否存有所述第二终端的IPv6地址与所述第二终端的终端类型之间的第二对应关系;
第二类型识别单元,用于在确定所述第二高速缓存中存在所述第二对应关系后,根据所述第二对应关系确定所述第二终端的终端类型。
CN201310658992.2A 2013-12-06 2013-12-06 标识、识别终端类型的方法和装置 Pending CN104702709A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310658992.2A CN104702709A (zh) 2013-12-06 2013-12-06 标识、识别终端类型的方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310658992.2A CN104702709A (zh) 2013-12-06 2013-12-06 标识、识别终端类型的方法和装置

Publications (1)

Publication Number Publication Date
CN104702709A true CN104702709A (zh) 2015-06-10

Family

ID=53349467

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310658992.2A Pending CN104702709A (zh) 2013-12-06 2013-12-06 标识、识别终端类型的方法和装置

Country Status (1)

Country Link
CN (1) CN104702709A (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105872121A (zh) * 2015-12-15 2016-08-17 乐视移动智能信息技术(北京)有限公司 终端连接服务器的方法、终端及域名服务器
WO2017092502A1 (zh) * 2015-11-30 2017-06-08 上海斐讯数据通信技术有限公司 路由器网桥模式下无线终端类型的识别系统及方法
CN109245963A (zh) * 2018-10-22 2019-01-18 杭州迪普科技股份有限公司 网络终端类型的识别方法及相关设备
CN110061888A (zh) * 2019-03-18 2019-07-26 北京奇艺世纪科技有限公司 网络协议类型判断方法、装置、计算机设备及存储介质
CN112449752A (zh) * 2018-12-26 2021-03-05 华为技术有限公司 一种IPv6地址的配置方法及路由设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080075114A1 (en) * 2006-09-25 2008-03-27 Zte Corporation System and Method for IPv4 and IPv6 Migration
CN101499996A (zh) * 2008-01-28 2009-08-05 中国电信股份有限公司 域名差异化解析方法和域名服务器
CN101841520A (zh) * 2010-01-22 2010-09-22 中国科学院计算机网络信息中心 域名系统以及域名系统的信息处理方法、装置
CN103109517A (zh) * 2012-09-28 2013-05-15 华为技术有限公司 一种双栈终端访问服务器的方法、终端和系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080075114A1 (en) * 2006-09-25 2008-03-27 Zte Corporation System and Method for IPv4 and IPv6 Migration
CN101499996A (zh) * 2008-01-28 2009-08-05 中国电信股份有限公司 域名差异化解析方法和域名服务器
CN101841520A (zh) * 2010-01-22 2010-09-22 中国科学院计算机网络信息中心 域名系统以及域名系统的信息处理方法、装置
CN103109517A (zh) * 2012-09-28 2013-05-15 华为技术有限公司 一种双栈终端访问服务器的方法、终端和系统

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017092502A1 (zh) * 2015-11-30 2017-06-08 上海斐讯数据通信技术有限公司 路由器网桥模式下无线终端类型的识别系统及方法
CN105872121A (zh) * 2015-12-15 2016-08-17 乐视移动智能信息技术(北京)有限公司 终端连接服务器的方法、终端及域名服务器
CN109245963A (zh) * 2018-10-22 2019-01-18 杭州迪普科技股份有限公司 网络终端类型的识别方法及相关设备
CN112449752A (zh) * 2018-12-26 2021-03-05 华为技术有限公司 一种IPv6地址的配置方法及路由设备
CN110061888A (zh) * 2019-03-18 2019-07-26 北京奇艺世纪科技有限公司 网络协议类型判断方法、装置、计算机设备及存储介质

Similar Documents

Publication Publication Date Title
CN101656765B (zh) 身份位置分离网络的名址映射系统及数据传输方法
CN110784562B (zh) 报文转发、域名地址查询方法、装置、设备及介质
CN102143243B (zh) 动态路由处理方法和装置及其家庭网关
CN104702709A (zh) 标识、识别终端类型的方法和装置
CN101841520B (zh) 域名系统以及域名系统的信息处理方法、装置
CN104519146A (zh) 基于用户位置进行域名解析服务的方法与系统
CN102724101B (zh) 报文转发方法及系统与中继代理设备
CN103109517A (zh) 一种双栈终端访问服务器的方法、终端和系统
CN104995902A (zh) 用于ipv4和ipv6装置之间的无缝网络通信的方法和系统
CN101499996B (zh) 域名差异化解析方法和域名服务器
CN102984288A (zh) 一种自动管理IPv6地址冲突的方法及系统
CN103200281A (zh) 内网服务器访问方法、设备和系统
CN104427007A (zh) Dns的域名查询方法
CN101252583B (zh) 启用InfiniBand网络自举的方法以及InfiniBand主机设备
CN103229488A (zh) Ipv6地址溯源方法、装置和系统
CN103618801A (zh) 一种p2p资源共享的方法、设备及系统
CN102833364A (zh) 一种域名解析代理方法及网关设备
CN104519148A (zh) 应用服务器地址的可达性检测方法与系统
CN106302384A (zh) Dns报文处理方法及装置
CN103118145B (zh) 基于DNS的IPv4-over-IPv6多隧道自动建立方法
CN106953943A (zh) 适用于交换机通信的方法及装置
CN103167045A (zh) 选择网络层协议的方法、 dns 服务器和域名管理系统
CN102035899A (zh) 基于IPv6的局域网内的地址确定方法与装置
CN102801745A (zh) 一种广域网浏览器访问局域网web网站的方法和系统
CN104702707A (zh) 一种数据处理方法及装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
WD01 Invention patent application deemed withdrawn after publication
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20150610