Network Working Group M. Bakke Request for Comments: 3722 Cisco Category: Standards Track April 2004
Network Working Group M. Bakke Request for Comments: 3722 Cisco Category: Standards Track April 2004
String Profile for Internet Small Computer Systems Interface (iSCSI) Names
Internet小型计算机系统接口(iSCSI)名称的字符串配置文件
Status of this Memo
本备忘录的状况
This document specifies an Internet standards track protocol for the Internet community, and requests discussion and suggestions for improvements. Please refer to the current edition of the "Internet Official Protocol Standards" (STD 1) for the standardization state and status of this protocol. Distribution of this memo is unlimited.
本文件规定了互联网社区的互联网标准跟踪协议,并要求进行讨论和提出改进建议。有关本协议的标准化状态和状态,请参考当前版本的“互联网官方协议标准”(STD 1)。本备忘录的分发不受限制。
Copyright Notice
版权公告
Copyright (C) The Internet Society (2004). All Rights Reserved.
版权所有(C)互联网协会(2004年)。版权所有。
Abstract
摘要
This document describes how to prepare internationalized iSCSI names to increase the likelihood that name input and comparison work in ways that make sense for typical users throughout the world.
本文档介绍了如何准备国际化iSCSI名称,以提高名称输入和比较工作的可能性,使其对世界各地的典型用户都有意义。
The Internet Small Computer Systems Interface (iSCSI) protocol provides a way for hosts to access SCSI devices over an IP network. The iSCSI end-points, called initiators and targets, each have a globally-unique name that must be transcribable, as well as easily compared.
Internet小型计算机系统接口(iSCSI)协议为主机通过IP网络访问SCSI设备提供了一种方法。iSCSI端点(称为启动器和目标)都有一个全局唯一的名称,该名称必须是可转录的,并且易于比较。
The iSCSI protocol [RFC3720] provides a way for hosts to access SCSI [SAM2] devices over an IP network. The iSCSI end-points, called initiators and targets, each have a globally-unique name, defined in [RFC3721].
iSCSI协议[RFC3720]为主机提供了通过IP网络访问SCSI[SAM2]设备的方法。iSCSI端点(称为启动器和目标)都有一个全局唯一的名称,在[RFC3721]中定义。
An iSCSI name is a string of UTF-8 [RFC3629] characters that includes a type designator, a naming authority based on domain names, and a unique part within the naming authority. The unique part may be generated based on anything the naming authority deems useful, and may include user input.
iSCSI名称是由UTF-8[RFC3629]字符组成的字符串,其中包括类型指示符、基于域名的命名机构以及命名机构中的唯一部分。唯一部分可以基于命名机构认为有用的任何内容生成,并且可以包括用户输入。
These names may need to be transcribed (sent between two administrators via email, voice, paper, etc), so a case-insensitive comparison would be desirable. However, these names must often be
这些名称可能需要转录(通过电子邮件、语音、纸张等在两名管理员之间发送),因此需要不区分大小写的比较。但是,这些名称必须经常是
compared by initiator and target implementations, most of which are done in simple, embedded software. This makes case-sensitive comparison highly desirable for these implementors.
通过启动器和目标实现进行比较,大多数实现都是在简单的嵌入式软件中完成的。这使得区分大小写的比较对于这些实现者来说非常理想。
However, a completely case-sensitive implementation would result in identifiers such as "example-name" and "Example-Name" being different, which could lead to confusion as these names are transcribed.
然而,一个完全区分大小写的实现会导致诸如“示例名称”和“示例名称”之类的标识符不同,这可能会在转录这些名称时导致混淆。
The goal, then, is to generate iSCSI names that can be transcribed and entered by users, and also compared byte-for-byte, with minimal confusion. To attain these goals, iSCSI names are generalized using a normalized character set (converted to lower case or equivalent), with no white space allowed, and very limited punctuation.
因此,我们的目标是生成iSCSI名称,这些名称可以由用户转录和输入,还可以逐字节进行比较,而混淆程度最低。为了实现这些目标,iSCSI名称使用规范化字符集(转换为小写或等效字符集)进行通用化,不允许使用空格,标点符号也非常有限。
For those using only ASCII characters (U+0000 to U+007F), the following characters are allowed:
对于仅使用ASCII字符(U+0000到U+007F)的用户,允许使用以下字符:
- ASCII dash character ('-' = U+002d) - ASCII dot character ('.' = U+002e) - ASCII colon character (':' = U+003a) - ASCII lower-case characters ('a'..'z' = U+0061..U+007a) - ASCII digit characters ('0'..'9' = U+0030..U+0039)
- ASCII短划线字符('-'=U+002d)-ASCII点字符('.'=U+002e)-ASCII冒号字符(':'=U+003a)-ASCII小写字符('a'..'z'=U+0061..U+007a)-ASCII数字字符('0'..'9'=U+0030..U+0039)
In addition, any upper-case characters input via a user interface MUST be mapped to their lower-case equivalents.
此外,通过用户界面输入的任何大写字符都必须映射到其对应的小写字符。
This document specifies the valid character set for iSCSI names, along with the rules for normalizing and generating iSCSI names based on user input or other information that contains international characters.
本文档指定iSCSI名称的有效字符集,以及基于用户输入或包含国际字符的其他信息规范化和生成iSCSI名称的规则。
In particular, it defines the following, as required by [RFC3454]:
特别是,它根据[RFC3454]的要求定义了以下内容:
- The intended applicability of the profile: internationalized iSCSI names.
- 配置文件的预期适用性:国际化iSCSI名称。
- The character repertoire that is the input and output to stringprep: Unicode 3.2, specified in section 3.
- 第3节中指定的stringprep:Unicode 3.2的输入和输出字符集。
- The mappings used: specified in section 4.
- 使用的映射:在第4节中指定。
- The Unicode normalization used: specified in section 5.
- 使用的Unicode规范化:在第5节中指定。
- The characters that are prohibited as output: specified in section 6.
- 禁止输出的字符:在第6节中指定。
This profile MUST be used with the iSCSI protocol.
此配置文件必须与iSCSI协议一起使用。
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in [RFC2119].
本文件中的关键词“必须”、“不得”、“必需”、“应”、“不应”、“应”、“不应”、“建议”、“可”和“可选”应按照[RFC2119]中所述进行解释。
Examples in this document use the notation for code points and names from the Unicode Standard [Unicode3.2] and ISO/IEC 10646 [ISO10646]. For example, the letter "a" may be represented as either "U+0061" or "LATIN SMALL LETTER A". In the lists of prohibited characters, the "U+" is left off to make the lists easier to read. The comments for character ranges are shown in square brackets (such as "[SYMBOLS]") and do not come from the standards.
本文档中的示例使用Unicode标准[Unicode3.2]和ISO/IEC 10646[ISO10646]中的代码点和名称表示法。例如,字母“a”可以表示为“U+0061”或“拉丁小写字母a”。在禁用字符列表中,为了使列表更易于阅读,“U+”被省略。字符范围的注释显示在方括号中(如“[符号]”),并非来自标准。
This profile uses Unicode 3.2, as defined in [RFC3454] Appendix A.
此配置文件使用[RFC3454]附录A中定义的Unicode 3.2。
This profile specifies mapping using the following tables from [RFC3454]. The following mapping tables MUST be used when generating iSCSI names from Unicode characters.
此配置文件使用[RFC3454]中的下表指定映射。从Unicode字符生成iSCSI名称时,必须使用以下映射表。
Table B.1 Table B.2
表B.1表B.2
Unicode normalization form KC MUST be used with this profile, as described in [RFC3454].
Unicode规范化表单KC必须与此配置文件一起使用,如[RFC3454]中所述。
This profile specifies prohibiting using the following tables from [RFC3454]. Characters appearing within these tables MUST NOT be used within an iSCSI name.
此配置文件指定禁止使用[RFC3454]中的下表。在iSCSI名称中不得使用这些表中出现的字符。
Table C.1.1 Table C.1.2 Table C.2.1 Table C.2.2 Table C.3 Table C.4 Table C.5 Table C.6
表C.1.1表C.1.2表C.2.1表C.2.2表C.3表C.4表C.5表C.6
Table C.7 Table C.8 Table C.9
表C.7表C.8表C.9
Important note: this profile MUST be used with the iSCSI protocol. The iSCSI protocol has additional naming rules that are checked outside of this profile.
重要注意事项:此配置文件必须与iSCSI协议一起使用。iSCSI协议具有在此配置文件之外检查的其他命名规则。
In addition, this profile adds the following prohibitions. The full set of prohibited characters are those from the tables above plus those listed individually below.
此外,此配置文件还添加了以下禁止。全套禁止字符是上表中的字符加上下面单独列出的字符。
u+3002 is used as if it were u+002e in many domain name input mechanisms used by applications, particularly in Asia. The character u+3002 MUST NOT be used in an iSCSI name.
在应用程序使用的许多域名输入机制中,特别是在亚洲,u+3002就像u+002e一样使用。iSCSI名称中不得使用字符u+3002。
3002; ideographic full stop
3002; 表意句号
Some of the ASCII characters that are currently prohibited in iSCSI names by [RFC3721] are also used in protocol elements such as URIs. Some examples are described in [RFC2396] and [RFC2732]. Note that there are many other RFCs that define additional URI schemes.
[RFC3721]目前在iSCSI名称中禁止的某些ASCII字符也用于协议元素,如URI。[RFC2396]和[RFC2732]中描述了一些示例。请注意,还有许多其他RFC定义其他URI方案。
The other characters in the range U+0000 to U+007F that are not currently allowed are prohibited in iSCSI names to reserve them for future use in protocol elements. Note that the dash (U+002D), dot (U+002E), and colon (U+003A) are not prohibited.
在iSCSI名称中禁止使用当前不允许的U+0000到U+007F范围内的其他字符,以保留这些字符以供将来在协议元素中使用。请注意,破折号(U+002D)、圆点(U+002E)和冒号(U+003A)不被禁止。
The following characters MUST NOT be used in iSCSI names:
iSCSI名称中不得使用以下字符:
0000-002C; [ASCII CONTROL CHARACTERS and SPACE through ,] 002F; [ASCII /] 003B-0040; [ASCII ; through @] 005B-0060; [ASCII [ through `] 007B-007F; [ASCII { through DEL]
0000-002C; [ASCII CONTROL CHARACTERS and SPACE through ,] 002F; [ASCII /] 003B-0040; [ASCII ; through @] 005B-0060; [ASCII [ through `] 007B-007F; [ASCII { through DEL]
This profile specifies checking bidirectional strings as described in [RFC3454] section 6.
此配置文件指定检查双向字符串,如[RFC3454]第6节所述。
If the processing in [RFC3720] specifies that a list of unassigned code points be used, the system uses table A.1 from [RFC3454] as its list of unassigned code points.
如果[RFC3720]中的处理指定使用未分配代码点列表,则系统使用[RFC3454]中的表a.1作为其未分配代码点列表。
ISO/IEC 10646 has many characters that look similar. In many cases, users of security protocols might do visual matching, such as when comparing the names of trusted third parties. This profile does nothing to map similar-looking characters together.
ISO/IEC 10646有许多看起来相似的字符。在许多情况下,安全协议的用户可能会进行视觉匹配,例如在比较受信任的第三方的名称时。此配置文件不会将外观相似的字符映射到一起。
iSCSI names may be used by an initiator to verify that a target it has discovered is the correct one, and by a target to verify that an initiator is to be allowed access. If these names are interpreted and compared differently by different iSCSI implementations, an initiator could gain access to the wrong target, or could be denied access to a legitimate target.
iSCSI名称可由启动器用于验证其发现的目标是否正确,也可由目标用于验证是否允许启动器访问。如果不同的iSCSI实现对这些名称进行不同的解释和比较,则启动器可能会访问错误的目标,或者可能会被拒绝访问合法的目标。
This is a profile of stringprep. It has been registered in the IANA "Stringprep Profiles" registry. This process is described in the IANA Considerations section of [RFC3454].
这是stringprep的简介。它已在IANA“Stringprep配置文件”注册表中注册。[RFC3454]的IANA注意事项部分描述了该过程。
This document describes a stringprep profile to be used with programs generating names for iSCSI initiators and targets.
本文档介绍一个stringprep配置文件,该配置文件将与生成iSCSI启动器和目标名称的程序一起使用。
This document was produced as a result of discussions on iSCSI name formats with Joe Czap, Jim Hafner, Howard Hall, Jack Harwood, John Hufferd, Marjorie Krueger, Lawrence Lamers, Todd Sperry, Joshua Tseng, and Kaladhar Voruganti, as well as discussions on the normalization of names into identifiers with Paul Hoffman and Marc Blanchet.
本文档是在与Joe Czap、Jim Hafner、Howard Hall、Jack Harwood、John Hufferd、Marjorie Krueger、Lawrence Lamers、Todd Sperry、Joshua Tseng和Kaladhar Voruganti讨论iSCSI名称格式以及与Paul Hoffman和Marc Blanchet讨论将名称规范化为标识符后编写的。
Thanks also to Bob Snively for suggesting the use of the nameprep process for iSCSI name normalization.
还感谢Bob Snivly建议使用nameprep过程实现iSCSI名称规范化。
Most of this document was copied from the stringprep profile for Internationalized Domain Names [RFC3491], written by Paul Hoffman and Marc Blanchet.
本文档的大部分内容是从国际域名的stringprep配置文件[RFC3491]中复制的,该文件由Paul Hoffman和Marc Blanchet编写。
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997.
[RFC2119]Bradner,S.,“RFC中用于表示需求水平的关键词”,BCP 14,RFC 2119,1997年3月。
[RFC3454] Hoffman, P. and M. Blanchet, "Preparation of Internationalized Strings ("stringprep")", RFC 3454, December 2002.
[RFC3454]Hoffman,P.和M.Blanchet,“国际化弦的准备(“stringprep”)”,RFC 3454,2002年12月。
[RFC3720] Satran, J., Meth, K., Sapuntzakis, C. Chadalapaka, M. and E. Zeidner, "Internet Small Computer Systems Interface (iSCSI)", RFC 3720, April 2004.
[RFC3720]Satran,J.,Meth,K.,Sapuntzakis,C.Chadalapaka,M.和E.Zeidner,“互联网小型计算机系统接口(iSCSI)”,RFC 3720,2004年4月。
[RFC2396] Berners-Lee, T., Fielding, R. and L. Masinter, "Uniform Resource Identifiers", RFC 2396, August 1998.
[RFC2396]Berners Lee,T.,Fielding,R.和L.Masinter,“统一资源标识符”,RFC 2396,1998年8月。
[RFC2732] Hinden, R., Carpenter, B. and L. Masinter, "Format for Literal IPv6 Addresses in URL's", RFC 2732, December 1999.
[RFC2732]Hinden,R.,Carpenter,B.和L.Masinter,“URL中文字IPv6地址的格式”,RFC 2732,1999年12月。
[RFC3491] Hoffman, P. and M. Blanchet, "Nameprep: A Stringprep Profile for Internationalized Domain Names", RFC 3491, March 2003. [RFC3629] Yergeau, F., "UTF-8, a transformation format of ISO 10646", STD 63, RFC 3629, November 2003.
[RFC3491]Hoffman,P.和M.Blanchet,“Nameprep:国际化域名的Stringprep配置文件”,RFC 34912003年3月。[RFC3629]Yergeau,F.,“UTF-8,ISO 10646的转换格式”,STD 63,RFC 3629,2003年11月。
[RFC3721] Bakke, M., Hafner, J., Hufferd, J., Voruganti, K. and M. Krueger, "Internet Small Computer Systems Interface (iSCSI) Naming and Discovery", RFC 3721, April 2004.
[RFC3721]Bakke,M.,Hafner,J.,Hufferd,J.,Voruganti,K.和M.Krueger,“互联网小型计算机系统接口(iSCSI)命名和发现”,RFC 37212004年4月。
[SAM2] ANSI T10. "SCSI Architectural Model 2", March 2000.
[SAM2]ANSI T10。“SCSI体系结构模型2”,2000年3月。
[Unicode3.2] The Unicode Standard, Version 3.2.0: The Unicode Consortium. The Unicode Standard, Version 3.2.0 is defined by The Unicode Standard, Version 3.0 (Reading, MA, Addison-Wesley, 2000. ISBN 0-201-61633-5), as amended by the Unicode Standard Annex #27: Unicode 3.1 (http://www.unicode.org/unicode/reports/tr27/) and by the Unicode Standard Annex #28: Unicode 3.2 (http://www.unicode.org/unicode/reports/tr28/).
[Unicode 3.2]Unicode标准,3.2.0版:Unicode联盟。Unicode标准3.2.0版由Unicode标准3.0版(雷丁,马萨诸塞州,Addison-Wesley,2000.ISBN 0-201-61633-5)定义,并由Unicode标准附录27:Unicode 3.1修订(http://www.unicode.org/unicode/reports/tr27/)根据Unicode标准附录#28:Unicode 3.2(http://www.unicode.org/unicode/reports/tr28/).
[ISO10646] ISO/IEC 10646-1:2000. International Standard -- Information technology -- Universal Multiple-Octet Coded Character Set (UCS) -- Part 1: Architecture and Basic Multilingual Plane.
[ISO10646]ISO/IEC 10646-1:2000。国际标准信息技术通用多八位编码字符集(UCS)第1部分:体系结构和基本多语言平面。
Mark Bakke Cisco Systems, Inc. 6450 Wedgwood Road Maple Grove, MN USA 55311
Mark Bakke Cisco Systems,Inc.美国明尼苏达州枫树林韦奇伍德路6450号,邮编55311
Voice: +1 763-398-1000 EMail: mbakke@cisco.com
Voice: +1 763-398-1000 EMail: mbakke@cisco.com
Copyright (C) The Internet Society (2004). This document is subject to the rights, licenses and restrictions contained in BCP 78, and except as set forth therein, the authors retain all their rights.
版权所有(C)互联网协会(2004年)。本文件受BCP 78中包含的权利、许可和限制的约束,除其中规定外,作者保留其所有权利。
This document and the information contained herein are provided on an "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE INTERNET ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
本文件及其包含的信息是按“原样”提供的,贡献者、他/她所代表或赞助的组织(如有)、互联网协会和互联网工程任务组不承担任何明示或暗示的担保,包括但不限于任何保证,即使用本文中的信息不会侵犯任何权利,或对适销性或特定用途适用性的任何默示保证。
Intellectual Property
知识产权
The IETF takes no position regarding the validity or scope of any Intellectual Property Rights or other rights that might be claimed to pertain to the implementation or use of the technology described in this document or the extent to which any license under such rights might or might not be available; nor does it represent that it has made any independent effort to identify any such rights. Information on the procedures with respect to rights in RFC documents can be found in BCP 78 and BCP 79.
IETF对可能声称与本文件所述技术的实施或使用有关的任何知识产权或其他权利的有效性或范围,或此类权利下的任何许可可能或可能不可用的程度,不采取任何立场;它也不表示它已作出任何独立努力来确定任何此类权利。有关RFC文件中权利的程序信息,请参见BCP 78和BCP 79。
Copies of IPR disclosures made to the IETF Secretariat and any assurances of licenses to be made available, or the result of an attempt made to obtain a general license or permission for the use of such proprietary rights by implementers or users of this specification can be obtained from the IETF on-line IPR repository at http://www.ietf.org/ipr.
向IETF秘书处披露的知识产权副本和任何许可证保证,或本规范实施者或用户试图获得使用此类专有权利的一般许可证或许可的结果,可从IETF在线知识产权存储库获取,网址为http://www.ietf.org/ipr.
The IETF invites any interested party to bring to its attention any copyrights, patents or patent applications, or other proprietary rights that may cover technology that may be required to implement this standard. Please address the information to the IETF at ietf-ipr@ietf.org.
IETF邀请任何相关方提请其注意任何版权、专利或专利申请,或其他可能涵盖实施本标准所需技术的专有权利。请将信息发送至IETF的IETF-ipr@ietf.org.
Acknowledgement
确认
Funding for the RFC Editor function is currently provided by the Internet Society.
RFC编辑功能的资金目前由互联网协会提供。