网站地图 | Tags | 热门标准 | 最新标准 | 订阅
您当前的位置:首页 > GB/T 44278-2024 中文域名解析技术要求 > 下载地址1

GB/T 44278-2024 中文域名解析技术要求

  • 名  称:GB/T 44278-2024 中文域名解析技术要求 - 下载地址1
  • 下载地址:[[下载地址1]][[下载地址2]]
  • 提 取 码
  • 浏览次数:3
下载帮助: 发表评论 加入收藏夹 错误报告目录
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表
新闻评论(共有 0 条评论)

资料介绍

  ICS 33.040.40 CCS M 32

  中 华 人 民 共 和 国 国 家 标 准

  GB/T 44278—2024

  中文域名解析技术要求

  Technical requirement for resolution of Chinese domain names

  2024-08-23 发布 2024-12-01 实施

  发

  国家市场监督管理总局国家标准化管理委员会

  

  布

  GB/T 44278—2024

  目 次

  前言 Ⅲ

  1 范围 1

  2 规范性引用文件 1

  3 术语、定义和缩略语 1

  3.1 术语和定义 1

  3.2 缩略语 2

  4 解析体系 2

  4.1 CDNA 2

  4.2 应用要求和适用性 3

  4.3 字符转换操作 3

  4.4 使用 DNS 的典型应用 7

  参考文献 9

  Ⅰ

  GB/T 44278—2024

  前 言

  本文件按照 GB/T 1.1—2020《标准化工作导则 第 1 部分: 标准化文件的结构和起草规则》 的规定起草。

  请注意本文件的某些内容可能涉及专利。本文件的发布机构不承担识别专利的责任。

  本文件由中华人民共和国工业和信息化部提出。

  本文件由全国通信标准化技术委员会 (SAC/TC 485)归口。

  本文件起草单位: 中国互联网络信息中心、暨南大学、 中国科学院计算机网络信息中心、广东盈世计算机科技有限公司 、 中国信息通信研究院 、清华大学 、 中国互联网协会 、 中国电信股份有限公司、中国通信标准化协会、 中国联合网络通信集团有限公司、 中国移动通信集团有限公司。

  本文件主要起草人: 姚健康 、李洪涛 、杨学 、耿光刚 、 曾宇 、胡安磊 、翁健 、李彦彪 、段海新、裴玮、周琳琳、张曼、董科军、延志伟、钟睿、郑晖、王超、李豫、蔡晴、吴秀诚、张文伟。

  Ⅲ

  GB/T 44278—2024

  中文域名解析技术要求

  1 范围

  本文件规定了在互联网体系上使用中文域名的解析体系和技术要求。

  本文件适用于各级域名注册管理机构、域名注册服务提供商以及软件厂商开发支持中文域名的应用或者服务等。

  2 规范性引用文件

  本文件没有规范性引用文件。

  3 术语、定义和缩略语

  3.1 术语和定义

  下列术语和定义适用于本文件。

  3.1.1

  通用字符编码 UNICODE encoding

  根据位置或码位来识别字符,给每个字符提供的一个唯一的数字。

  注: 例如, U+4E96 指的是在通用字符集中位于 4E96 处的字符 。本文件采用的通用字符编码见 GB/T 13000,通用字符编码的集合称为通用字符集。

  3.1.2

  分隔符 delimiter

  LDH﹘DNS 域名中的英文句点或中文域名中的中文句点。

  3.1.3

  域名字段 domain label

  域名中由分隔符隔开的几个部分。

  示例: 对于一个完整的域名“www.cnnic.cn”, “www”“cnnic”“cn”分别是三个域名字段。

  3.1.4

  中文域名字段 Chinese domain label; CDL

  含有中文字符的域名字段。

  3.1.5

  中文域名 Chinese domain name; CDN

  含有中文域名字段的域名。

  3.1.6

  解析器 resolver

  应用代理服务程序,它接收应用程序的域名查询请求并发送给域名服务器,并接收域名服务器的返回信息,再将结果发给应用程序。

  3.1.7

  中文域名与应用 Chinese domain names in applications; CDNA

  在应用程序以及某些应用环境中使用或者实现中文域名的协议。

  1

  GB/T 44278—2024

  注: 允许使用某些 LDH 字符( 以特殊的前缀开始 )来表示非 LDH 字符 ;不改变现有的域名服务器、解析器、协议单元 ;与下层协议无关,不需要改变现有的网络结构。

  3.1.8

  域名槽 domain name slot

  被设计用来携带域名的协议元素、函数参数、函数返回值等。

  示例: 域名查询中的 QNAME 字段。

  3.1.9

  区 zone

  用于存储域名的数据库。

  注: 它是域名空间树状结构的一部分,域名服务器是以zone 为单位来管理域名空间的, zone 中的数据保存在管理它的域名服务器中 。 当在现有的域中添加子域时,该子域既可包含在现有的 zone 中,也可为它创建一个新zone 或包含在其他的 zone 中 。一个域名服务器可管理一个或多个 zone ,一个zone 可保存在多个域名服务器上。

  3.1.10

  ACE 前缀 ACE prefix

  由两个 LDH 字符后跟着两个连字符(其中字母不区分大小写) 进行表示的前缀。

  注: 用于中文域名的 ACE 前缀是 “xn--”。 ACE 前缀也称 LDH 编码前缀。

  3.1.11

  DNS 资源记录 DNS resource record

  用于描述 DNS zone 信息的基本组成结构。

  注: 包括资源记录所有者(Owner)、 记录类型 (TYPE)、 协议类型(Class)、 生存时间 (TTL)、 记录数据(RDATA) 等 。详见 IETF RFC 1034 和 IETF RFC 1035。

  3.2 缩略语

  下列缩略语适用于本文件。

  ACE: ASCII 编码兼容 (ASCII Compatible Encoding)

  API: 应用程序接口 (Application Programming Interface)

  DNS: 域名系统 (Domain Name System)

  DNSSEC:域名系统安全扩展(DNS Security Extensions)

  LDH: 字母、数字、连接符(Letters Digits Hyphen)

  4 解析体系

  4.1 CDNA

  CDNA 确立了一个在应用程序中实现中文域名或者在应用环境中使用中文域名的协议框架,该框架最核心的内容是规定了如何在整个 DNS 解析体系中支持中文域名。

  LDH-DNS 只能使用字母 、 数字和连接符组成的编码,而中文域名允许使用更大的字符集 。 CDNA 采用向后兼容的表示法,用于解决在域名中使用中文字符集的问题。

  只要某种应用(包括 DNS zone 文件和解析器接口 )支持 LDH 字符,应使用 CDNA 来支持 CDN。 CDNA 完全包括在具体应用中 。需要使用域名解析时,应在应用和解析器之间使用 CDNA; 需要在域名写入 DNS zone 时,应在域名放入zone 之前使用 CDNA。 本文件规定了两种操作。

  a) LDH字符转换操作,用于将CDN发送给仅支持LDH字符的设备( 比如解析器 )之前,或是把CDN写入仅支持LDH字符的文件( 比如DNS zone文件) 之前使用。

  b) 通用字符编码转换操作,用于向用户显示域名时使用,例如 :将DNS zone中取出的域名显示给用户。

  2

  GB/T 44278—2024

  两种操作中, LDH 字符转换操作可能会失败 ;如果对某个域名使用 LDH 字符转换操作失败,则此域名不应作为中文域名使用,相应的有一些错误处理。

  在进行两种操作前,域名的编码格式应是通用字符编码 ;如果域名使用其他编码方式,应先转成通用字符编码 (LDH 码位也属于通用字符编码码位)。

  CDNA 应对输入字串进行名字预处理(Nameprep) ,详见 IETF RFC 3491。“Nameprep” 是“ 字符串预处理(Stringprep)”(详见 IETF RFC 3454)在 CDNA 中使用的具体表述。之后进行国际化域名码(Punycode)转换,详见 IETF RFC 3492。如要实现 CDNA,应实现“Nameprep”和“Pun﹘ ycode”,两者缺一不可。

  4.2 应用要求和适用性

  4.2.1 应用要求

  CDNA 规定了以下四个应用要求。

  a) 当点作为域名字段分隔符时,以下这些字符也应等同于点: U+002E ( 英文句号 “ .”)、 U+3002(中文句号 “。”)、U+FF0E (全角句号 “ .”)、U+FF61 (半角中文句号 “。”)。 CDNA 的支持程序应把中文域名中的U+3002( 中文句号 “。”)、U+FF0E ( 全角句号“ . ”)、U+FF61 (半角中文句号 “。”)自动转化为U+002E (英文句号“ .”)。

  b) 如果域名进入不支持CDN的域名槽时,此域名应只包含LDH码,应通过LDH字符转换操作来获取LDH形式的域名,如果点用作域名字段分隔符,则应把所有这些域名字段分隔符转成U+002E。

  c) 如果用户环境能处理非LDH形式的域名,宜对用户隐藏从域名槽获得的LDH域名 。 当不能确定环境是否支持非LDH形式时,应用应可使用非LDH形式(可能失败,比如不能正确显示) ,也应可使用LDH形式 。 中文域名的非LDH形式的等同域名应通过通用字符编码转换操作对每个域名字段进行操作来获得。要求b)和要求c)同时需要满足时,要求b)优先。

  d) 当比较两个域名字段时,应比较它们的LDH形式在不区分字母大小写时是否相同 。 当比较两个域名时,只要相应的域名字段都相同,无论是否使用同样的分隔符,都应认为整个域名相同。

  4.2.2 适用性

  如果没有特别指出不使用中文域名, CDNA 对所有域名槽中的中文域名都应是适用的 。 以下两种情况需要注意。

  a) DNS资源记录

  除非在将来有特殊规定,对于所有类别值 (CLASS) 不是IN(INTERNET) 的DNS资源记录,其中的NAME和RDATA字段,不应使用CDNA。

  DNS资源记录能否应用CDNA,完全由类别值决定,而不是记录类型 (TYPE)。 除非有强制的特殊限制,以后新定义记录类型的DNS资源记录也应用CDNA。

  b) 域名中存储的非域名类型数据

  本文件没有规定存储在域名里的非域名数据是否可使用非LDH字符。

  4.3 字符转换操作

  4.3.1 字符转换总体步骤

  中文域名应通过转换, 以 LDH 形式放入不能识别 CDN 的域名槽中,或者以通用字符编码形式显示给用户。

  LDH 字符转换操作或通用字符编码转换操作输入的是一串特定的通用字符编码 。字符转换流程见

  3

  GB/T 44278—2024图1。

  图 1 字符转换流程

  详细转换步骤如下。

  a) 步骤1: 判断域名是存储字符串(stored string) 还是查询字符串 (query string) ,如果是“query string”,标记上 “AllowUnassigned”(详见RFC 3491)。

  b) 步骤2: 以分隔符为界,应将域名分割成几个独立的域名字段,域名字段不包括分隔符。

  c) 步骤3: 对每一个域名字段,应决定是否在主机名中限制只能使用LDH字符 。如果需要限制,应为此字段标记上 “UseSTD3ASCIIRules”(详见RFC 3490)。

  d) 步骤4: 对每个域名字段进行LDH字符转换或通用字符编码转换的处理 。例如: 把域名放入不能识别CDN的域名槽时,使用LDH字符转换操作 ;将域名显示给用户时,宜使用通用字符编码转换操作。4.2.1给出了应用要求的详细规定。

  e) 步骤5: 如果步骤4使用了LDH字符转换操作,应把所有域名字段分隔符转成U+002E (英文句号“ .”)。

  4.3.2 LDH 字符转换操作

  LDH 字符转换操作将域名字段由通用字符编码方式转换成 LDH 编码方式。如果 LDH 字符转换操作转换成功,初始域名字段和结果域名字段应是等同的。

  转换过程中每一步的失败都可能导致 LDH 字符转换操作的失败,如果转换失败则此域名不应作为

  4

  GB/T 44278—2024

  中文域名使用。

  LD H 字符转换操作的输入是 一 串通用字符编码码位,使用 “AllowUnassigned” 标记和“UseSTD3ASCIIRules”标记。输出是一串LDH 码位或者失败信息。

  LDH 字符转换操作对已经是 LDH 形式的码位不作任何转换。多次运行 LDH 字符转换操作获得的结果和运行一次获得的结果相同。

  LDH 字符转换的操作流程见图 2。

  图 2 LDH 字符转换操作流程

  详细的步骤如下。

  a) 步骤1: 如果字符串包括ASCII以外的码位,跳转到步骤2,否则跳转到步骤3。

  b) 步骤2: 执行名字预处理,使用 “AllowUnassigned”标记,若失败应返回错误信息。

  c) 步骤3: 如果设置了 “UseSTD3ASCIIRules”标记,进行下面的检查:

  1) 确认不存在非字母数字或连接符(non﹘LDH) 的ASCII码位,即不存在范围在0..2C, 2E..2F, 3A..40, 5B..60, 和7B..7F之间的码位;

  2) 确认在字符串的开头和结尾不存在U+002D(英文连字符 “﹘”)。

  d) 步骤4: 如果字符串里包括除ASCII之外的码位,应跳转到步骤5,否则跳转到步骤8。

  e) 步骤5: 确认字符串不是以LDH编码前缀开始,否则操作终止并返回错误信息。

  f) 步骤6: 用Punycode编码算法对字符串进行编码。

  g) 步骤7: 在字符串前加上LDH编码前缀。

  5

  GB/T 44278—2024

  h) 步骤8: 确认码位的数目在1~63范围内,返回LDH形式的码位结果,否则返回错误信息。

  4.3.3 通用字符编码转换操作

  通用字符编码转换操作将域名字段转换成通用字符编码方式 。如果输入的字符串是 LDH 形式的域名字段,那么输出结果是一个等同的非 LDH 形式的中文域名字段 ;否则初始输入的字符串不变。

  通用字符编码转换操作中如果任何一步失败,应将最初的输入串作为结果返回。

  通用字符编码转换操作的输入是一串码位,使用 “AllowUnassigned” 标记和 “UseSTD3AS - CIIRules”标记。输出是一串通用字符编码码位。

  通用字符编码转换操作流程见图 3。

  图 3 通用字符编码转换操作流程

  详细的步骤如下。

  a) 步骤1: 如果字符串中的所有码位都在ASCII编码范围内(0…7F) ,应跳转到步骤3。

  b) 步骤2: 执行名字预处理,使用AllowUnassigned标记,若失败应停止操作,应将原始输入作为结果返回。

  c) 步骤3: 确认字符串由ACE前缀开始,保存字符串 ;否则应将原始输入作为结果返回。

  d) 步骤4: 去除ACE前缀。

  6

  GB/T 44278—2024

  e) 步骤5: 用Punycode解码算法对这个字符串进行解码处理,保存这步的结果,若失败应停止操作,应将原始输入作为结果返回。

  f) 步骤6: 对解码结果字符串应用LDH字符转换操作。

  g) 步骤7: 使用不区分字母大小写的LDH字符比较,确认步骤6的结果和步骤3保存的字符串相同;否则应将原始输入作为结果返回。

  h) 步骤8: 返回步骤5保存的结果。

  4.4 使用 DNS 的典型应用

  4.4.1 CDNA 应用框架

  应用 CDNA,应实现从用户端输入中文域名,将中文域名显示给用户,处理来自 DNS 的输入和输出,处理与域名相关的其他协议。

  CDNA 技术应用框架见图4。

  图 4 CDNA 技术应用框架

  图 4 中的 “ 应用程序”是将域名分成多个域名字段,加上适当的标记,之后执行 LDH 字符转换操作或通用字符编码转换操作。

  4.4.2 应用中的登录和显示

  CDNA 框架不影响用户和应用之间的接口 。应用应接受应用开发者中所希望使用的任何字符集中任何字符表示的域名,并应用相应的字符集的字符显示出来。

  支持 CDNA 的应用应可支持两种格式 (LDH 形式和非 LDH 形式) 接收和显示中文域名 。用户应选择 LDH 域名的显示方式是 LDH 域名还是中文域名,缺省配置是后者 。 因为 LDH 形式的编码是难理解

  7

  GB/T 44278—2024

  的,所以它应只显示给少部分真正需要的用户。

  域名在很多地方被存储和传送 。例如 :域名可以是电子邮件头信息的一部分或者是浏览器地址栏的输入。

  使用域名的所有协议都可处理 LDH 字符表示的所有域名,因此这些协议同样可处理中文域名的LDH 形式。

  4.4.3 应用和解析器

  应用软件在进行域名查询操作时通常使用操作系统自带的函数 。这些函数称为 “解析器” ,应用软件和解析器通过 API 进行通信。

  目前使用的解析器要求域名应是 LDH 编码形式,因此应用软件应使用 LDH 字符转换操作对中文域名字段进行转换,将不能直接表示为 LDH 字符形式的中文域名字段转换成 LDH 域名字段。

  操作系统中可能会安装一套用于执行 LDH 字符转换操作的函数库 。实际使用时,到达这些函数库的输入可能是具体应用中的一个或者多个字符串(在大部分操作系统中会是 UTF-8 和 UTF-16 编码,一些本地化的操作系统中可能是一些本地字符编码)。

  支持 CDNA 的应用不但应能够处理 CDL 而且应能够处理传统域名,详见 IETF RFC 1034、IETF RFC 1035、IETF RFC 1122 和 IETF RFC 1123。

  新版本的解析器内宜包含 LDH 字符转换和通用字符编码转换函数,可直接接受中文域名的输入。这样,应用开发者可把通用字符编码或者是其他中文编码格式的中文域名直接发送给新版本解析器。

  4.4.4 DNS 服务器

  在 zone 文件中存储的域名应符合Stringprep。

  对于不能直接表示成 LDH 形式的中文域名字段, DNS 服务器应使用 LDH 字符转换操作产生的LDH 形式。 DNS 服务器处理的所有中文域名应使用只包含 LDH 字符的 LDH 形式。

  4.4.5 避免给用户显示未经处理的 LDH 形式的编码

  如果不希望让用户看见 LDH 形式的中文域名,则所有涉及到中文域名信息显示的不支持 CDNA 的应用应升级。

  如果对 LDH 形式的域名使用通用字符编码转换操作解码后所得的中文域名不能正确显示(例如:域名中包含输出设备不能显示的字符 ) ,则应把域名以 LDH 形式显示,而不是使用通用字符编码数(类似 U+FFFD) 替代不能显示的字符。

  4.4.6 中文域名的 DNSSEC 授权

  如果需要对中文域名使用 DNSSEC,在对其进行私钥加密前,应使用 LDH 字符转换操作,把该中文域名转成 LDH 形式。

  8

  GB/T 44278—2024

  参 考 文 献

  [1] GB/T 13000 信息技术 通用多八位编码字符集(UCS)

  [2] IETF RFC 1034 Domains names—Concepts and facilities

  [3] IETF RFC 1035 Domain names—Implementations specification

  [4] IETF RFC 1122 Requirements for internet hosts—Communication layers

  [5] IETF RFC 1123 Requirements for internet hosts—Application and support

  [6] IETF RFC 3454 Preparation of internationalized strings (“stringprep”)

  [7] IETF RFC 3490 Internationalizing domain names in applications (IDNA)

  [8] IETF RFC 3491 Nameprep:A stringprep profile for internationalized domain names (IDN)

  [9] IETF RFC 3492 Punycode: A bootstring encoding of UNICODE for internationalized domain names in applications (IDNA)

  9

29139463729
下载排行 | 下载帮助 | 下载声明 | 信息反馈 | 网站地图  360book | 联系我们谢谢