String Profile for Internet Small Computer Systems Interface (iSCSI) Names
RFC 3722

Document Type RFC - Proposed Standard (April 2004; No errata)
Last updated 2015-10-14
Stream IETF
Formats plain text pdf html bibtex
Stream WG state (None)
Document shepherd No shepherd assigned
IESG IESG state RFC 3722 (Proposed Standard)
Consensus Boilerplate Unknown
Telechat date
Responsible AD Allison Mankin
Send notices to <ElizabethRodriguez@ieee.org>
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

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.

Copyright Notice

   Copyright (C) The Internet Society (2004).  All Rights Reserved.

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.

   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.

1.  Introduction

   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].

   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.

   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

Bakke                       Standards Track                     [Page 1]
RFC 3722             String Profile for iSCSI Names           April 2004

   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.

   For those using only ASCII characters (U+0000 to U+007F), the
   following characters are allowed:

   -  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)

   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.

   In particular, it defines the following, as required by [RFC3454]:

   -  The intended applicability of the profile: internationalized iSCSI
      names.

   -  The character repertoire that is the input and output to
      stringprep: Unicode 3.2, specified in section 3.

   -  The mappings used: specified in section 4.

   -  The Unicode normalization used: specified in section 5.

   -  The characters that are prohibited as output: specified in section
      6.

   This profile MUST be used with the iSCSI protocol.

Bakke                       Standards Track                     [Page 2]
RFC 3722             String Profile for iSCSI Names           April 2004

2.  Terminology

   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].

   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.
Show full document text