《GB-T 44278-2024中文域名解析技术要求.docx》由会员分享,可在线阅读,更多相关《GB-T 44278-2024中文域名解析技术要求.docx(15页珍藏版)》请在课桌文档上搜索。
1、ICS33.(M0.40CCSM32三B中华人民共和家标准GBH442782024中文域名解析技术要求Technica1.requirementforreso1.utionofChinesedomainnames2024-12-01实施2024-08-23发布国家市场监督管理总局国家标准化管理委员会发布目次前三I1.1.I范围I2规范性引用文件I3术谱、定义和缩路语13.1 术语和定义I3.2 缩略i普24解析体系24.1 CDNA24.2 应用要求和适用性34.3 字符转换操作34.4 使用DNS的典型应用7参考文献9本文件按照GB,,T1.12020f标准化工作导购第1部分:标准化文件的结
2、构和起草规则3的规定起草.请注意本文件的某些内容可能涉及专利,本文件的发布机构不承担识别专利的货任。本文件由中华人民共和国工业和信息化部提出.本文件由全国通信标准化技术委员会(SAGTC485)归口。本文件起草单位:中国互联网络信息中心、暨南大学、中国科学院计算机网络信息中心、广东盈世计算.机科技有限公司、中国信息通信研究院、清华大学、中国互联网协会、中国电信股份有限公司、中国通信标准化协会、中国联合网络通信集团有限公司、中国移动通信集团有限公司。本文件主要起草人:姚健康、李洪涛、杨学、耿光刚、普字、胡安林、翁健、李彦彪、段海新、裴玮、周林琳、张殛、正科军、延志伟、钟容、郑晖、王超、李俊、蔡晒
3、、吴秀诚、张文伟.III中文域名解析技术要求1本文件规定了在互联网体系上使用中文域名的解析体系和技术要求.本文件适用于各级域名注册管理机构、域名注册服务提供商以及软件厂商开发支持中文域名的应用或者服务等,2 IK范性引用文件本文件没有规范性引用文件.3 枷3.1 术语和定义下列术谱和定义适用于本文件.3.1.1三ff1.itWWUNIeODEerKoding根据位比或眄位来识别字符,给每个字符提供的一个唯一的数字.注:例如,IMK雨的是花酬J字符集中位于1E96妞TJ字符。本文件和1位创字魄现GRT13000通川字懒码的集合称为海H字符集,3.1.2分隔符de1.imiter1.DH-DNS域
4、名中的英文句点或中文域名中的中文句点.3.1.34字段domainIuIhI域名中由分隔符隔开的几个部分.示例t对于一个完整的域名WWxmkcirwWFni1.ar分别是三个域名字段。3.1.4中文城名字段ChinesedomainIabd;CD1.含有中文字符的域名字段.3.1.5中文域名ChineSedomainname:CDN含有中文域名字段的域名.3.1.6M*rreso1.ver应用代理服务程序,它接收应用程序的域名汽泡请求并发送给域名服务器,并接收域名服务器的返回信息,再将结果发给应用程序.3.1.7中文域名与应用ChinvMrdomainnamcinHPP1.iCHtk)ns;C
5、DNA在应用程序以及某些应用环境中使用或者实现中文域名的协议。注I允许使用某1.1.t1.DH字符似特殊的前缀开始)求走示IKDH字符:而攵变现仃的城匍眼务零、圻折张协议取元:与下层协议无关,不需要改变现有的网络结构.3.1.8槽(Ioniaiiinaes1.ot被设计用来携带域名的协议元素、函数参数、函数返回值等.示例:域各自询中的QNAME字段,3.1.9KKM用于存储域名的数据库,注I它是域名空间树状绵循IJ-部分.城名服务曙是以加为单位来管理域名空间的.Zrne中的效擀保存在管理它的域名服务器中。当在现行的域中添加子域时,该子域即可包含在现有的me中,也可为它创建个新m/包含在其他的A
6、1.ne中.一个域名服务器可管理个或多个Tg-个me可保存在多个域名服务器上.3.1.10ACE1.MIACEprefix由两个1.DH字符后来着两个连字符(其中字母不区分大小写)进行表示的前缀.注:用于中文域名的ACE前掇是n-.ACE前级也称1.D硼码前级.3.1.11DNStgyDNSresourcerecord用于描述DNSzone信息的她本组成结构。注,包括资源记录所有者(OWner)、记录类型QYPE)、协议类里(QaSs)、生存时间(Tr1.)、记录数据RDATA)等.详见IE1.FRFC1034和IE1.FRR:1035.3.2 婚略语下列缩略语适用于本文件.ACE:ASC1I
7、堆码兼容(ASC1.1.Compatib1.eEncoding)API:应用程序按口(App1.icahonPrugmmmingIn1.erface)DNS:域名系统(DOmainNameSystem)DNSSEC:域名系统安全扩展(DNSSecurityExtensions)1.DH:字母、数字、连接符(1.eaerSDigitsHyphen)4解析体系4.1 CDNACDNA确立了一个在应用程序中实现中文域名或者在应用环境中使用中文域名的协议框架,该框架最核心的内容是规定T如何在隹个DNS解析体系中支持中文域名.1.DH-DNS只能使用字母、数字和连接符组成的编码,而中文域名允许使用更大的
8、字符集。CDNA采用向后款容的表示法,用于解决在域名中使川中文字符集的阿越.只要某种应用(包括DNS“ne文件和解析器接口)支持1.DH字符,应使用CDNA来支持CDN,CDNA完全包括在具体应用中。衢要使用域名解析时,应在应用和解析器之间使用CDNA;需要在域名写入DNSzOneHj.应在域名放入ZOne之前使川CDNA.本文件规定了两种操作.a)1.DH字符精换操作,用于将CDN发送给仅支持1.DH字符的设的(比如解析器)之前,或是把CDN写入仅支持1.DH字符的文件(比如DNSzone文件)之前使用“b)通用字符编码转换操作,用于向用户显示域名时使用,例如:将DNSZOne中取出的域名显
9、示给用户。两种操作中,1.1X1字符转换操作可能会失败:如果对某个域名使用IJJH字符转换悚作失败,则此域名不应作为中文域名使用,相应的有一些错误处理.在诳行两种操作前,域名的编码格式应是通用字符编码:如果域名(史用其他编码方式,应先转成通用字符编码(1.DH眄位也屈于通用字符编以码位).CDNA应对输入字串进行名字预处理(NamqXep).详见IETFRFC3491NamePmP”是“字符理预处理(SIringPrePr(详见IETFRFCMi4)在CDNA中使用的具体衣述.之后进行国际化域名码(PUnycOde)转换,IETFRFC3492,如要实现CDNA.应实现“Namcprep”和“
10、Pinycode”.两者缺一不可.4.2 应用要求和闻性4.2.1CDNA规定了以下四个应用要求.a)当点作为域名字段分隔符时,以下这些字符也应等同于点:U+002E(英文句号U+3OO2(中文句号U+H0E(全角句号hU+FF61(半角中文旬号)CDNA的支持程序应把中文域名中的U+3OO2(中文句号”.”)、U+FFCE(全角句号“6U+FF61(半角中文句号。)自动转化为U)02E(英文句号b)如果域名进入不支持CDN的域名槽时,此域名应只包含1.DH码,应通过1.DH字符转换操作来获取1.DH形式的域名,如果点用作域名字段分附符,则应把所有这些域名字段分隔符利成U+002E.c)如果用
11、户环境能处理非1.DH形式的域名,宜对用户隐藏从域名柚扶得的1.DH域名.当不能确定环境是否支持非1.DH形式时,应用应可使用非1.DH形式(可能失败,比如不能正确显示).也应可使用1.DH形式.中文域名的非1.DH形式的等同域名应通过遹用字符境码转换操作对每个域名字段进行操作来获得.要求b)和要求C)同时需要满足时,要求b)优先。d)当比较两个域名字段时,应比较它们的1.DH形式在不M:分字母大小耳时是否相同。当比较两个域名时.只要相应的域名字段都相同.无论是否使用同样的分隔符,都应认为用个域名相同.4.2.2 MK如果没有特别指出不使用中文域名,CDNA对所有域名槽中的中文域名都应是适用的
12、,以下两种情况需要注意。a)DNS资源记录除作在将来有特殊规定,对于所有类别值(C1.ASS)不是IN(INTERNET)的DNS资源记录,其中的NAME和RDATA字段,不应使用CDNA.DNS资源记录能否应用CDNA.完全由类别他决定,而不是记录类型(TYPE),除非有强制的特殊限制,以后新定义记录类里的DNS依源记录也应用CDNA.b)域名中存储的非域名类型数据本文件没仃规定存储在域名里的M域名数则是否可使用II1.QH字符.43mwwwr4.11 字将,换总体步中文域Z应通过转换,以1.DH形式放入不能识别CDN的域2楸中,或者以通用字符编码形式显示给用户.1.DH字符转换操作或通用字
13、符端码料换操作输入的是一串特定的通用字符编码。字符转换流程见图1FOWdMring一记上,A1.kiuUnasaggT将域名分初收几个取的域名字段标记上-STD3ASC1IRukM个&匕映HJ1.DH字符,检或通刖?符*眄/他的K仔史月“,域宇段JtW11Hft0O2E详细转换步骤如下.a)步骤1:判断域名是存储字符申(su)redNring)还是套询字符申(queryS1.ring).如果是“queryS1.ring”,标记上“A1.kjwUnassigned”(详见RFC5491).b)步躲2:以分隔符为界,应将域名分割成几个独立的域名字段,域名字段不包括分隔符。C)步骤3:对每一个域名字
14、段,应决定是否在主机名中限制只能使用1.DII字符.如果需要限制.应为此字段标记上,UscSTD3ASC11Ru1.cs,(详见RFC3490).d)步骤I:对每个域名字段进行1.DH字符转换或通用字符编码转换的处理.例如:把域名放入不能识别CDN的域名相时,使用1.DH个符粒换操作:将域名显示给用户时,宜使用通用字符编码转换悚作.42I给出了应JH要求的详细规定.c)步骤5:如果步骤4使用J1.DH字符转换操作,应把所有域着字段分隔符转成UK)O2E(英文句号4.12 2I.DH字将一塌昨1.DH字符转换操作将域名字段由通用字符端玛方式转换成1.DH涮码方式.如果1.W1.字符转换操作转换成
15、功,初始域名字段和结果域名字段应是等同的.转换过程中能步的失败都可能与致1.DH字符转换操作的失败,如果转换失败则此域名不应作为中文域名使用1.DH字符转换操作的输入是一串通用字符编码码位,使用“A1.1.owUnassigned”标记和PseSTD3ASCIIRu1.es”标记,输出是一申1.DH码位或者失败信息,1.DH字符转换操作对已经是1.DH形式的码位不作任何转换,多次运行1.DH字符话换掇作获得的结果和运行一次获得的结果相同,1.DH字符将换的操作流程见图2。K21.DH字”转加*f%E程详细的步骤如下。G步骤1:如果字符*包括ASC1.1.以外的码位,跳转到步骤2,否愚跳转到步骤
16、3.b)步骤2:执行名字预处理,使用“A1.1.owUnassignoF标记,若失败应返回错误信息。C)步骤3:如果设置了“UscSTD3ASCnRu1.es”标记,进行卜面的检查:D确认不存在非字母数字或连接符no11-1.DH的ASCn码位,即不存在范围在0.2C.2E.2F3A.40.5B.60.和7B.7F之间的码位:2)确认在字符串的开头和结尾不存在UxX)2D(英文连字符-).d)步骤4:如果字符小里包括除ASa1.之外的码位,应跳转到步骤5,否则跳特到步骤8。e)步骤5:确认字符小不是以1.DH编码前缀开始,否则操作终止并返回错误信息,0步骤6:用PUnyCOde编内算法对字符串
17、进行褊码.g)步骤7:在字符串前加上1.DH编码前城.h)步骡8:确认码位的数I1.在1.-63他国内.返回Ij)H形式的码位结出否则返错误信息.3,3通用字符编码转换操作将域名字段转换成通用字符编码方式,如果输入的字符率是1.DH形式的域名字段,那么输出结果是一个等同的#1.DH形式的中文域名字段:否则初始输入的字符申不变,通用字符编码利换操作中如果fE何一步失败,应将球初的输入率作为结果返回.通用字符娘码传换操作的输入是一半码位,使用“AIIowUnaMignaT标记和“U$cSTD3AS-C1.IRuks-标记.输出是一本通用字符编眄眄位.通用字符编码转换操作流程见图3.三3详细的步骤如
18、下。a)步骤1:如果字符申中的所有码位都在ASC1.1.编码范田内(C.7F),应跳转到步骤3。b)步骤2:执行名字预处理,使用A1.kwUnassigned标记,若失败应停止操作,应将Ki始输入作为结果四目.C)步臊3:确认字符那由ACE附缀开始,保存字符申;否则应将原始输入作为结果返回.d)步骤1:去除ACE前缀,c)步骤5:用PUnyCOdC解码算法对这个字符串进行解码处理,保存这步的结果,若失败应停止探作.应将原始怆入作为结果返回.0步骤6:对解码结果字符申应用1.DH字符转换操作。g)步赚7:使用不区分字母大小写的1.DH字符比较,确认步骤6的结果和步骤3保存的字符率相同:否则应将原
19、始怆入作为结果返回.h)步骤8:返回步骤5保存的结果。4.4使用DNS的典SUfi用4.4.1 CDNAfiff1.WJR应用CDNA,应实现从用户端输入中文域名,将中文域名显示给用户.处埋来自DNS的输入和输出,处理与域名相关的其他协议.CDNA技术应用框架见图4,S4CTKA技术应用U图4中的“应用程序”是将域名分成多个域名字段,加上适当的标记,之后执行1.DH字符技换操作或通用字符编码转换操作.4.4.2 应用中的HInI坛CDNA框架不影响用户和应用之间的接口。应用应接受应用开发者中所希望使用的任何字符集中任何字符表示的域名,并应用相应的字符集的字符显示出来.支持CDNA的应用应可支持
20、两种格式(1.DH形式和非1.DH形式)接收和显示中文域名,用户应选择1.DH域名的显示方式是1.DH域名还是中文域名.缺省配置是后者.因为1.DH形式的编码是难理艇的,所以它应只显示给少部分典正需要的用户.域名在很多地方被存储和传送.例如:域名可以是电子邮件头信息的一部分或者是浏览器地址栏的输入。使用域名的所有侨议都UJ处理1.DH字符表示的所有域Z,因此这些协议同样可处理中文域名的1.DH形式,4.4.3应用软件在进行域名套闻操作时通常使用操作系统自带的函数,这些函数称为“解析器“,应用软件和解析器通过AP1.进行通信。目前使用的解析器要求域名应是U)H编码形式,因此应用软件应使用U)H字
21、符转换操作对中文域名字段进行转换.符不能出接我示为1.DH字符形式的中文域名字段转换成1.DH域名字段.掾作系统中可能会安装套用于执行1.DH字符转换操作的函数阵。实际使用时,到达这些函数库的输入可旎是具体应用中的一个或看多个字符串(在大部分操作系统中会是UTF8和UTF16编码,-些本地化的操作系统中可能是一些本地字符编码)。支持CDNA的应用不但应能够处理CDI.而且应能够处理传统域名,详见IETFRFC1034,IETFRFC1035,IETFRFC1122和IETFRFC1123.新版本的解析涔内宜包含1.DH字符转换和通用字符编码转换函数.可直接接受中文域名的输入.这样,应用开发者可
22、把通用字符娟码或拧是其他中文娟码格式的中文域名也接发送给新版本解析器4.4.4 DNSBIHi在ZOne文件中存储的域名应符合S1.ringprep,时于不能直接衣示成1.DH形式的中文域名字段,DNS服务器应使用1.DH字符转换操作产生的1.DH形式,DNS服务涔处理的所有中文域名应使用只包含1.DH字符的1.DH形式,4.4.5 f用户显示未婚国西1.DH彩式的崎码如果不希望让用户看见1.DH形式的中文域名,则所有涉及到中文域名信息显示的不支持CDNA的应用应升级。如果对1.DH形式的域名使用通用字符编码转换操作解码后所得的中文域名不能正确显示(例如:域名中包含将出设备不能显示的字符),则
23、应把域名以1.DH形式显示,而不是使用通用字符编码数(类似U+FFFD)替代不能显示的字符。4.4.6 中文H名的DNSSE(IMjI如果需要对中文域名使用DNSSEC在对其进行私钥加密前,应使用1.DH字符转换操作,把该中文域幺转成1.DH形式.考文*11JGBT1300()信息技术通用多八位场码字符集(UCS)(2IETFRFC1034DomainsnamesConceptsandfaci1.ities(3j1.E1.,FRFC1035DomainnamesImp1.ementationsspecification4IETFRFC1122ReqUiNmen1.Sforinternethos
24、tsCommunication1.ayers(51ETFRFC1123RequirementsforinernethostsApp1.icationandWPPOrt(6IETFRFC3454PreparationofIntcmctiona1.izcdStringsCstringprcp)7IETFRFC3490Internationa1.izingdomainnamesinapp1.ications(IDN)(三)IETFRFC3491NameprcpzAStringprcpprofi1.eforinternationa1.izeddomainnames(IDN)(9IETFRFC3492PunycoderAboo(stringencodingofUNICODEforinternationa1.izeddomainnamesinapp1.ications(IDNA)