draft-ietf-ips-iscsi-disc-reqts-00.txt   draft-ietf-ips-iscsi-disc-reqts-01.txt 
iSCSI iSCSI Mark Bakke
Internet Draft Internet Draft Cisco
Mark Bakke
Cisco
Joe Czap Joe Czap
IBM IBM
Jim Hafner Jim Hafner
IBM IBM
Howard Hall Howard Hall
Pirus Pirus
Jack Harwood Jack Harwood
EMC EMC
John Hufferd John Hufferd
IBM IBM
Yaron Klein Yaron Klein
SANRAD Sanrad
Larry Lamers
Lawrence Lamers
SanValley Systems SanValley Systems
Joshua Tseng Joshua Tseng
Nishan Systems Nishan
Kaladhar Voruganti Kaladhar Voruganti
IBM IBM
Page 1 draft-ietf-ips-iscsi-disc-reqts-01.txt January, 2001
draft-ietf-ips-iscsi-disc-reqts-00.txt January,2001
Expires July 2001 Expires July 2001
iSCSI Naming and Discovery Requirements iSCSI Naming and Discovery Requirements
Status of this Memo Status of this Memo
This document is an Internet-Draft and is in full This document is an Internet-Draft and is in full conformance with
conformance with all provisions of Section 10 of RFC2026 except that all provisions of Section 10 of RFC2026 except that the right to
the right to produce derivative works is not granted. Internet-Drafts produce derivative works is not granted.
are working documents of the Internet Engineering.Task Force (IETF),
its areas, and its working groups. Note that other groups may also
distribute working documents as Internet-Drafts. Internet-Drafts are
draft documents valid for a maximum of six months and may be updated,
replaced, or obsoleted by other documents at any time. It is
inappropriate to use Internet- Drafts as reference material or to cite
them other than as "work in progress." The list of current
Internet-Drafts can be accessed at
http://www.ietf.org/ietf/1id-abstracts.txt
Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF), its areas, and its working groups. Note that
other groups may also distribute working documents as Internet-
Drafts. Internet-Drafts are draft documents valid for a maximum of
six months and may be updated, replaced, or obsoleted by other
documents at any time. It is inappropriate to use Internet- Drafts
as reference material or to cite them other than as "work in
progress."
The list of current Internet-Drafts can be accessed at
http://www.ietf.org/ietf/1id-abstracts.txt
Voruganti Internet Draft Expires July 2001 1 Voruganti Internet Draft Expires July 2001 1
iSCSI Naming and Discovery November iSCSI Naming and Discovery November 2000
2000
The list of Internet-Draft Shadow Directories can be The list of Internet-Draft Shadow Directories can be accessed at
accessed at
http://www.ietf.org/shadow.html. http://www.ietf.org/shadow.html.
Comments Comments
Comments should be sent to the ips mailing list Comments should be sent to the ips mailing list (ips@ece.cmu.edu) or to
(ips@ece.cmu.edu) or to
kaladhar@us.ibm.com kaladhar@us.ibm.com
1. Abstract 1. Abstract
This document describes the iSCSI [7] naming and discovery This document describes the iSCSI [7] naming and discovery requirements. The
requirements. The requirements presented in this document have been requirements presented in this document have been agreed to by the members of
agreed to by the members of the iSCSI naming and discovery team. This the iSCSI naming and discovery team. This document complements the iSCSI IETF
document complements the iSCSI IETF draft. Flexibility is the key draft. Flexibility is the key guiding principle behind this requirements
guiding principle behind this requirements document. That is, an document. That is, an effort has been made to satisfy the needs of both small
effort has been made to satisfy the needs of both small isolated isolated environments, as well as large environments requiring secure/scalable
environments, as well as large environments requiring secure/scalable
solutions. solutions.
This document has been organized into the following sections: This document has been organized into the following sections:
a) Section 3 presents the naming requirements. a) Section 3 presents the naming requirements.
b) Section 4 discusses the discovery requirements. b) Section 4 discusses the discovery requirements.
Page 2
draft_ietf_ips_iscsi_disc_reqts_00
c) Section 5 presents Storage Name Server (SNS) requirements. c) Section 5 presents Storage Name Server (SNS) requirements.
d) Section 6 briefly discusses other existing discovery d) Section 6 briefly discusses other existing discovery protocols.
protocols.
2. Conventions used in this document 2. Conventions used in this document
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in
"OPTIONAL" in this document are to be interpreted as described in this document are to be interpreted as described in RFC-2119.
RFC-2119.
3. Naming Requirements 3. Naming Requirements
In order for an iSCSI initiator to connect to an iSCSI target, the In order for an iSCSI initiator to connect to an iSCSI target, the initiator
initiator needs to provide information about the Network Entity needs to provide information about the Network Entity object, Portal Object and
object, Portal Object and the target Storage Node object. The details the target Storage Node object. The details of these three iSCSI objects are as
of these three iSCSI objects are as
follows: follows:
a) Network Entity Object a) Network Entity Object
The Network Entity object represents a device or gateway that is The Network Entity object represents a device or gateway that is accessible from
accessible from the IP network. This device or gateway may support one the IP network. This device or gateway may support one or more initiators or
or more initiators or targets that are either internal to the storage targets that are either internal to the storage device or accessible through a
device or accessible through a network behind the gateway. Each network behind the gateway. Each initiator or target is represented by
initiator or target is represented by subordinate Storage Node subordinate Storage Node objects. The Network Entity object is identified by its
objects. The Network Entity object is identified by its IP address. IP address.
b) Portal Object b) Portal Object
The Portal object is a port through which access to any Storage Node The Portal object is a port through which access to any Storage Node
object within the Network Entity object can be obtained. A Network object within the Network Entity object can be obtained. A Network Entity object
Entity object must have one or more Portal objects, each of which is must have one or more Portal objects, each of which is usable by Storage Node
usable by Storage Node objects contained in that Network Entity object objects contained in that Network Entity object to gain access to the IP
to gain access to the IP network. The Portal object is identified by network. The Portal object is identified by its IP address and Port number. The
its IP address and Port number. The Portal object's IP address can be Portal object's IP address can be different than the Network Entity IP address.
different than the Network Entity IP address. There is a canonical There is a canonical iSCSI TCP port present at each Network Entity object.
iSCSI TCP port present at each Network Entity object. However, Storage However, Storage Node objects can also be accessed via non-canonical
Node objects can also be accessed via non-canonical iSCSI TCP ports. iSCSI TCP ports.
c) Storage Node Object c) Storage Node Object
The Storage Node object defines an individual iSCSI initiator or The Storage Node object defines an individual iSCSI initiator or target.
target. There may be one or more Storage Node objects within the There may be one or more Storage Node objects within the Network Entity
Network Entity object. A Storage Node object is identified by its object. A Storage Node object is identified by its world wide unique
world wide unique identifier (WWUI). There is a requirement to have identifier (WWUI). There is a requirement to have the ability to generate
the ability to generate world wide unique identifiers (WWUIs) for both world wide unique identifiers (WWUIs) for both iSCSI initiators and targets.
iSCSI initiators and targets. However, it is not mandatory for the However, it is not mandatory for the initiators and targets to use WWUIs
initiators and targets to use WWUIs because a globally unique because a globally unique identifier might not be required in some simple,
identifier might not be required in some simple, isolated iSCSI isolated iSCSI configurations. WWUIs are useful because in some cases (e.g. when
configurations. WWUIs are useful because in some cases (e.g. when DHCP services [6] are used etc), the combination of IP address and port number
DHCP services [6] are used etc), the combination of IP address and [6] cannot uniquely identify an initiator or a target.
port number[6] cannot uniquely identify an initiator or a target.
There is a default Storage Node object present at every target network
entity that can be accessed without specifying the WWUI. However, if
there are multiple iSCSI target Storage Nodes that are serviced by a
single Network Entity and Portal objects, then it is necessary for the
initiator to specify the target Storage Node WWUI to uniquely identify
the target storage node. An alias string could also be associated with
a target storage node. The target alias helps an organization to
Page 3
draft_ietf_ips_iscsi_disc_reqts_00 There is a default Storage Node object present at every target network entity
associate their own semantic meaning with the target alias string. For that can be accessed without specifying the WWUI. However, if there are multiple
example, the alias string could represent the organizational hierarchy iSCSI target Storage Nodes that are serviced by a single Network Entity and
in which the storage device resides such as: Portal objects, then it is necessary for the initiator to specify the target
Storage Node WWUI to uniquely identify the target storage node. An alias string
could also be associated with a target storage node. The target alias helps an
organization to associate their own semantic meaning with the target alias
string. For example, the alias string could represent the organizational
hierarchy in which the storage device resides such as:
CompanyXXX.com/research/dept1/individual/storage_device1 CompanyXXX.com/research/dept1/individual/storage_device1
However, the target alias string is not a substitute for the target However, the target alias string is not a substitute for the target WWUI.
WWUI.
3.1 World Wide Unique Identifier 3.1 World Wide Unique Identifier
The WWUI uniquely identifies iSCSI initiators and targets. The The WWUI uniquely identifies iSCSI initiators and targets. The initiator WWUI
initiator WWUI corresponds to the logical operating system on which corresponds to the logical operating system on which the initiator is running,
the initiator is running, and the target WWUI corresponds to the and the target WWUI corresponds to the target Storage Node entity. The WWUI may
target Storage Node entity. The WWUI may be displayed by user be displayed by user interfaces, but is generally uninterpreted and used as an
interfaces, but is generally uninterpreted and used as an opaque opaque binary string for comparison with other WWUI values.
binary string for comparison with other WWUI values.
The use of the naming authority means that WWUIs can be assigned by The use of the naming authority means that WWUIs can be assigned by virtually
virtually any uniqueness scheme that can be devised by OS vendors, any uniqueness scheme that can be devised by OS vendors, driver or iSCSI NIC
driver or iSCSI NIC vendors, device vendors, gateway vendors, and even vendors, device vendors, gateway vendors, and even the customer.
the customer.
The format of the iSCSI WWUI is as follows: The format of the iSCSI WWUI is as follows:
WWUI = Length + Type + Type-dependent format WWUI = Length + Type + Type-dependent format
Length is 1 byte and includes Type and the rest of the WWUI, Length is 1 byte and includes Type and the rest of the WWUI, but not itself.
but not itself. The maximum length field value is 255, making a The maximum length field value is 255, making a maximum total WWUI of 256 bytes
maximum total WWUI of 256 bytes (including Length), and a maximum (including Length), and a maximum type-dependent format of 254 bytes.
type-dependent format of 254 bytes.
The minimum length of a WWUI is 2; the WWUI would consist of The minimum length of a WWUI is 2; the WWUI would consist of just
just the Length field (== 1), and a Type field. Type is 1 byte and is the Length field (== 1), and a Type field.
as follows (similar, but not identical to SPC-2 VPD)
Type is 1 byte and is as follows (similar, but not identical to SPC-2 VPD)
00 - No_Authority (not guaranteed to be unique) 00 - No_Authority (not guaranteed to be unique)
01 - ASCII (using reversed DNS name as Naming 01 - ASCII (using reversed DNS name as Naming Authority)
Authority)
02 - IEEE EUI-64 02 - IEEE EUI-64
03 - Unicode (DNS naming authority) 03 - Unicode (DNS naming authority)
04 - Generic Binary WWUI (to be considered) 04 - Generic Binary WWUI (to be considered)
Addition of new types requires approval to become an iSCSI Addition of new types requires approval to become an iSCSI standard.
standard.
Open Question: Should all occurences of "ASCII" in this Open Question: Should all occurences of "ASCII" in this
document be replaced with "UTF-8"? So far, document be replaced with "UTF-8"? So far, we
we
have had no votes for UTF-8. have had no votes for UTF-8.
Open Question: Should the WWUI be padded to a 4-byte Open Question: Should the WWUI be padded to a 4-byte boundary?
boundary? Please see discussion on transporting a WWUI. Please see discussion on transporting a WWUI.
Use of the ASCII format is recommended when possible for the Use of the ASCII format is recommended when possible for the following
following reasons: reasons:
- an ASCII WWUI is easier to type and differentiate in a user - an ASCII WWUI is easier to type and differentiate in a user
interface. interface.
Page 4
draft_ietf_ips_iscsi_disc_reqts_00
- An ASCII WWUI can use a DNS name as a naming authority. It - An ASCII WWUI can use a DNS name as a naming authority. It can
can be assumed that anyone who wants to name targets or initiators be assumed that anyone who wants to name targets or initiators
owns a DNS name. The same is not true for either OUI or SCSI Vendor owns a DNS name. The same is not true for either OUI or SCSI
ID. This also means that end users can name their own targets and Vendor ID. This also means that end users can name their own
initiators, for whatever their purposes may be. targets and initiators, for whatever their purposes may be.
- WWUIs are only used during login and discovery phases, so - WWUIs are only used during login and discovery phases, so the
the overhead does not get in the way of the data path. overhead does not get in the way of the data path.
The IEEE format is recommended when: The IEEE format is recommended when:
- There is an existing IEEE unique name that must be - There is an existing IEEE unique name that must be communicated
communicated to iSCSI. to iSCSI.
The Unicode format is recommended in place of ASCII when: The Unicode format is recommended in place of ASCII when:
- Human-readable format is desired, and a character set other - Human-readable format is desired, and a character set other
than ASCII is needed. than ASCII is needed.
We may also consider adding a generic binary string format We may also consider adding a generic binary string format using a
using a manufacturer's OUI as a naming authority. manufacturer's OUI as a naming authority.
Type determines the remainder of the WWUI format and it can Type determines the remainder of the WWUI format and it can be in the
be in the following formats: following formats:
No_WWUI Format No_WWUI Format
+------------+-----------+ +------------+-----------+
| Length = 1 | Type = 00 | | Length = 1 | Type = 00 |
+------------+-----------+ +------------+-----------+
This format is used to indicate a NULL WWUI. This format is used to indicate a NULL WWUI.
ASCII_WWUI Format ASCII_WWUI Format
+------------------+-----------+------------------ +------------------+-----------+------------------
| Length = | Type = 01 | string | Length = | Type = 01 | string
| 1+strlen(string) | | | 1+strlen(string) | |
+------------------+-----------+------------------ +------------------+-----------+------------------
The ASCII WWUI string is defined as follows: The ASCII WWUI string is defined as follows:
String starts with a backwards domain name specifying the String starts with a backwards domain name specifying the Naming
Naming Authority, using dots as separators, just as in a regular Authority, using dots as separators, just as in a regular domain
domain name. It's backwards, since it is not really used as a fully name. It's backwards, since it is not really used as a fully
qualified host name; only the necessary top levels need by used. qualified host name; only the necessary top levels need by used.
Basically, everything after the backwards domain name, Basically, everything after the backwards domain name, followed
followed by another dot ".", can be assigned as needed by the owner of by another dot ".", can be assigned as needed by the owner of
the domain name. the domain name.
Here is an example ASCII WWUI string: Here is an example ASCII WWUI string:
3201com.acme.diskarrays.sn.a8675309 3201com.acme.diskarrays.sn.a8675309
Page 5
draft_ietf_ips_iscsi_disc_reqts_00
Where: Where:
32 is the length of the string + length of Type 32 is the length of the string + length of Type
01 refers to ASCII WWUI type string 01 refers to ASCII WWUI type string
In the rest of this document even though the length In the rest of this document even though the length field and the type
field and the type field values are in front of the WWUI string, they field values are in front of the WWUI string, they are not being
are not being shown for readability sake. shown for
readability sake.
"com.acme" defines the Naming Authority. The owner of "com.acme" defines the Naming Authority. The owner of the DNS
the DNS name "acme.com" has the sole right of use of this name within name "acme.com" has the sole right of use of this name within
a WWUI. In this case, acme.com happens to manufacture disk arrays. a WWUI. In this case, acme.com happens to manufacture disk
arrays.
"diskarrays" was picked arbitrarily by acme.com to use "diskarrays" was picked arbitrarily by acme.com to use to
to identify the disk arrays they manufacture. Another product that identify the disk arrays they manufacture. Another product
ACME makes would use a different name, and have their own namespace that ACME makes would use a different name, and have their
independent of the disk array group. own namespace independent of the disk array group.
"sn" was picked by the disk array group of Acme to show "sn" was picked by the disk array group of Acme to show that
that what follows is a serial number. They could have just assumed what follows is a serial number. They could have just assumed
that all WWUIs are based on serial numbers, but they thought that that all WWUIs are based on serial numbers, but they thought
perhaps later products might be better identified by something else. that perhaps later products might be better identified by
Adding "sn" was a future-proof measure. something else. Adding "sn" was a future-proof measure.
"a8675309" is the serial number of the disk array, "a8675309" is the serial number of the disk array, uniquely
uniquely identifying it from all other arrays. identifying it from all other arrays.
Please note that WWUI is NOT an address - even though it Please note that WWUI is NOT an address - even though it uses a DNS
uses a DNS name, this is for the naming authority only; it is not an name, this is for the naming authority only; it is not an address
address used to discover anything. used to discover anything.
Note that we could have used the ASCII Vendor ID as a Note that we could have used the ASCII Vendor ID as a naming
naming authority. However, some large customers and service providers authority. However, some large customers and service providers
may wish to use their own identification scheme, rather than that may wish to use their own identification scheme, rather than
provided by the manufacturer. These customers would not likely have a that provided by the manufacturer. These customers would not
registered Vendor ID, but the domain name we used is ubiquitous, and likely have a registered Vendor ID, but the domain name we
seemed more appropriate. used is ubiquitous, and seemed more appropriate.
Further examples of ASCII WWUIs are given at the end of Further examples of ASCII WWUIs are given at the end of this
this document. document.
IEEE_WWUI IEEE_WWUI
+------------+-----------+---------------------+ +------------+-----------+---------------------+
| Length = 9 | Type = 02 | IEEE EUI-64 Address | | Length = 9 | Type = 02 | IEEE EUI-64 Address |
+------------+-----------+---------------------+ +------------+-----------+---------------------+
The IEEE WWUI might be used when a manufacturer is already The IEEE WWUI might be used when a manufacturer is already
basing unique identifiers on World-Wide Names as defined basing unique identifiers on World-Wide Names as defined in
in
the SCSI SPC-2 specification. the SCSI SPC-2 specification.
It may also be used by a gateway representing a Fibre It may also be used by a gateway representing a Fibre Channel
Channel or SCSI device that is already adequately identified using a or SCSI device that is already adequately identified using a
world-wide name. world-wide name.
Unicode_WWUI Unicode_WWUI
+------------------+-----------+------------------ +------------------+-----------+------------------
Page 6
draft_ietf_ips_iscsi_disc_reqts_00
| Length = | Type = 03 | Unicode string | Length = | Type = 03 | Unicode string
| 1+strlen(string) | | | 1+strlen(string) | |
+------------------+-----------+------------------ +------------------+-----------+------------------
This format is identical to the ASCII format, including the This format is identical to the ASCII format, including the
use of the reversed domain name as the naming authority, use of the reversed domain name as the naming authority, except
except that Unicode is used instead of ASCII. that Unicode is used instead of ASCII.
Binary_WWUI Format (to be considered) Binary_WWUI Format (to be considered)
+------------------+-----------+------------------ +------------------+-----------+------------------
| Length = | Type = 04 | OUI | binary UI | Length = | Type = 04 | OUI | binary UI
| 1+len(binary UI) | | 3 bytes | | 1+len(binary UI) | | 3 bytes |
+------------------+-----------+------------------ +------------------+-----------+------------------
Initiator and Target Requirements for WWUI support: Initiator and Target Requirements for WWUI support:
Both shall support WWUIs of up to the maximum length. Both shall support WWUIs of up to the maximum length.
Initiators and targets shall present their own WWUI as part Initiators and targets shall present their own WWUI as part of
of the protocols defined elsewhere. the protocols defined elsewhere.
User interfaces should display any ASCII type WWUI as an User interfaces should display any ASCII type WWUI as an
ASCII string, any binary format WWUI as a string of hex ASCII string, any binary format WWUI as a string of hex digits,
digits, and all types unknown to the implementation as if the format and all types unknown to the implementation as if the format
were binary. were binary.
Some WWUI Examples for Targets Some WWUI Examples for Targets
- Assign to a target based on controller serial number - Assign to a target based on controller serial number
com.acme.diskarray.sn.8675309 com.acme.diskarray.sn.8675309
See the ASCII WWUI example above for discussion. See the ASCII WWUI example above for discussion.
- Assign to a target based on serial number and logical - Assign to a target based on serial number and logical target alias
target alias com.acme.diskarray.sn.8675309.oracle_database_1
Where oracle_database_1 might be a target alias com.acme.diskarray.sn.8675309.oracle_database_1
assigned by a user.
Where oracle_database_1 might be a target alias assigned by
a user.
This would be useful for a controller that can present This would be useful for a controller that can present
different logical targets to different hosts. different logical targets to different hosts.
Obviously, any naming authority may come up with its own Obviously, any naming authority may come up with its own scheme
scheme and hierarchy for these names, and be just as valid. and hierarchy for these names, and be just as valid.
A target WWUI should NEVER be assigned based on interface A target WWUI should NEVER be assigned based on interface hardware,
hardware, or other hardware that can be swapped and moved to other or other hardware that can be swapped and moved to other devices.
devices.
Some WWUI Examples for Initiators Some WWUI Examples for Initiators
- Assign to the OS image by fully qualified host name - Assign to the OS image by fully qualified host name
Page 7
draft_ietf_ips_iscsi_disc_reqts_00
com.osvendor.dns.com.customer1.host_four com.osvendor.dns.com.customer1.host_four
Note the use of two FQDNs - that of the naming Note the use of two FQDNs - that of the naming
authority and also that of the host that is being authority and also that of the host that is being
named. This can cause problems, due to limitations named. This can cause problems, due to limitations
imposed on the size of the WWUI. imposed on the size of the WWUI.
( write in what to do about this ) ( write in what to do about this )
- Assign to the OS image by OS install serial number - Assign to the OS image by OS install serial number
skipping to change at line 413 skipping to change at line 385
( needs work, but gateway vendors are a creative lot ) ( needs work, but gateway vendors are a creative lot )
Adding the WWUI to SCSI Third Party Commands Adding the WWUI to SCSI Third Party Commands
Work done on adding the WWUI address type to SCSI third Work done on adding the WWUI address type to SCSI third
party commands, such as extended copy, is being done in party commands, such as extended copy, is being done in
T10. T10.
Using Initiator and Target WWUI During Login Using Initiator and Target WWUI During Login
The Initiator WWUI should always be sent during login. As The Initiator WWUI should always be sent during login. As a target
a target may use the Initiator WWUI as part of its access control may use the Initiator WWUI as part of its access control mechanism, an
mechanism, an initiator that does not send its WWUI stands the risk initiator that does not send its WWUI stands the risk that it will be
that it will be excluded from accessing some or all of its targets. excluded from accessing some or all of its targets.
1. Both target WWUI and the target alias are specified 1. Both target WWUI and the target alias are specified I->Login Request
I->Login Request
InitiatorWWUI: com.os.hostid.34567890 InitiatorWWUI: com.os.hostid.34567890
TargetWWUI: com.acme.diskarray.sn.8675309 TargetWWUI: com.acme.diskarray.sn.8675309
TargetAlias: foo TargetAlias: foo
. .
. text commands flow here during authentication phase . text commands flow here during authentication phase
. .
T->Login Response T->Login Response
TargetWWUI: com.acme.diskarray.sn.8675309 TargetWWUI: com.acme.diskarray.sn.8675309
TargetAlias: foo TargetAlias: foo
2. Only Target WWUI is specified and no alias is specified. 2. Only Target WWUI is specified and no alias is specified.
I->Login Request I->Login Request
InitiatorWWUI: com.os.hostid.34567890 InitiatorWWUI: com.os.hostid.34567890
TargetWWUI: com.acme.diskarray.sn.8675309 TargetWWUI: com.acme.diskarray.sn.8675309
. .
. text commands flow here during authentication phase . text commands flow here during authentication phase
Page 8
draft_ietf_ips_iscsi_disc_reqts_00
. .
T->Login Response T->Login Response
TargetWWUI: com.acme.diskarray.sn.8675309 TargetWWUI: com.acme.diskarray.sn.8675309
TargetAlias: foo TargetAlias: foo
3. Neither target alias nor WWUI is specified. If there is 3. Neither target alias nor WWUI is specified. If there is just
just one target, or a default target, at the IP Address and port, one target, or a default target, at the IP Address and port,
this will work. The target returns its WWUI so the initiator can keep this will work. The target returns its WWUI so the initiator
it for future use. can keep it for future use.
I->Login Request I->Login Request
InitiatorWWUI: com.os.hostid.34567890 InitiatorWWUI: com.os.hostid.34567890
. .
. text commands flow here during authentication phase . text commands flow here during authentication phase
. .
T->Login Response T->Login Response
TargetWWUI: com.acme.diskarray.sn.8675309 TargetWWUI: com.acme.diskarray.sn.8675309
TargetAlias: foo TargetAlias: foo
skipping to change at line 470 skipping to change at line 438
What happens if an Initiator WWUI is not unique? What happens if an Initiator WWUI is not unique?
- Targets will authenticate both as same entity - Targets will authenticate both as same entity
- Targets will believe that one initiator is using - Targets will believe that one initiator is using
them via different network interfaces. them via different network interfaces.
- Initiators may end up sharing a device by - Initiators may end up sharing a device by
accident. accident.
3.2 Alias String 3.2 Alias String
The alias string is an ASCII string that is used to identify The alias string is an ASCII string that is used to identify a Storage Node
a Storage Node object that can be accessed via a particular Network object that can be accessed via a particular Network Entity object and a Portal
Entity object and a Portal object. The alias string is a variable object. The alias string is a variable length, between 0 to 255 bytes,
length, between 0 to 255 bytes, user-readable ASCII text string. The user-readable ASCII text string. The alias string is terminated with at least
alias string is terminated with at least one NULL character. The alias one NULL character. The alias string format is similar to that of the UNIX file
string format is similar to that of the UNIX file address format. address format.
4. iSCSI Discovery 4. iSCSI Discovery
An iSCSI initiator Storage Node can discover an iSCSI target Storage An iSCSI initiator Storage Node can discover an iSCSI target Storage Node
Node in the following different ways: in the following different ways:
a) Target information is hard-coded at the initiator. a) Target information is hard-coded at the initiator.
b) Initiator queries storage name servers. b) Initiator queries storage name servers.
c) Initiator issues a multicast discovery message to the targets c) Initiator issues a multicast discovery message to the targets and the
and the SNS. SNS.
d) Initiator queries a canonical iSCSI target Storage Node object at a d) Initiator queries a canonical iSCSI target Storage Node object at a Network
Network Entity object for a list of targets. Entity object for a list of targets.
4.1 Target Information is hard-coded 4.1 Target Information is hard-coded
The exact manner in which the target information is The exact manner in which the target information is hard-coded at the initiator
hard-coded at the initiator is an implementation detail. The is an implementation detail. The information could be present in some persistent
information could be present in some persistent location (such as a location (such as a file) that can be accessed by the initiator.
file) that can be accessed by the initiator.
4.2 Initiator queries a Storage Name Server (SNS) 4.2 Initiator queries a Storage Name Server (SNS)
The initiator can query a SNS for a list of the targets that The initiator can query a SNS for a list of the targets that it can access.
it can access. The type of information that is stored at the SNS, and The type of information that is stored at the SNS, and the list of query and
the list of query and registration APIs that should be supported by registration APIs that should be supported by the SNS server are described in
Page 9 Section 5 below. The implementation details of the SNS are beyond the scope of
this document.
draft_ietf_ips_iscsi_disc_reqts_00
the SNS server are described in Section 5 below. The implementation
details of the SNS are beyond the scope of this document.
4.3 Initiator Issues a Multicast Message 4.3 Initiator Issues a Multicast Message
An initiator can send a multicast message to both storage An initiator can send a multicast message to both storage name servers and iSCSI
name servers and iSCSI targets. An initiator MAY send a multicast "SNS targets. An initiator MAY send a multicast "SNS discovery" message to the (TBD)
discovery" message to the (TBD) iSCSI discovery multicast address on a iSCSI discovery multicast address on a (TBD) well-known iSCSI UDP port. An iSCSI
(TBD) well-known iSCSI UDP port. An iSCSI SNS MUST register as part of SNS MUST register as part of the iSCSI discovery multicast group and SHALL
the iSCSI discovery multicast group and SHALL respond to this message respond to this message indicating that it functions as an SNS. Targets MAY
indicating that it functions as an SNS. Targets MAY register as part register as part of this multicast group but SHALL NOT respond to this message.
of this multicast group but SHALL NOT respond to this message. Alternatively, an initiator MAY send a multicast "all storage discovery" message
Alternatively, an initiator MAY send a multicast "all storage to the same multicast address. A storage name server MUST respond to this
discovery" message to the same multicast address. A storage name message as if the message were the "SNS discovery message". A registered
server MUST respond to this message as if the message were the "SNS target MAY respond to this message indicating that it is an iSCSI target.
discovery message". A registered target MAY respond to this message A device that provides both iSCSI target and storage name server functions SHALL
indicating that it is an iSCSI target. A device that provides both respond with a message indicating that it provides both services. Finally,
iSCSI target and storage name server functions SHALL respond with a the initiator MAY send a multicast "iSCSI targets only" message to the same
message indicating that it provides both services. Finally, the multicast address, and only the iSCSI targets and the iSCSI devices that provide
initiator MAY send a multicast "iSCSI targets only" message to the both iSCSI target and storage name server functions MAY respond to this message.
same The choice of static configuration, SNS discovery or all storage discovery
multicast address, and only the iSCSI targets and the iSCSI devices protocols is a configuration choice of the initiator. There is no
that provide both iSCSI target and storage name server functions MAY authentication process associated with the iSCSI discovery multicast
respond to this message. The choice of static configuration, SNS messages.
discovery or all storage discovery protocols is a configuration choice
of the initiator. There is no authentication process associated with
the iSCSI discovery multicast messages.
If the initiator receives one or more responses to the "SNS If the initiator receives one or more responses to the "SNS discovery" message,
discovery" message, it may interact with those device for its target it may interact with those device for its target discovery services. If an
discovery services. If an initiator receives responses to the "all initiator receives responses to the "all storage discovery" message from only
storage discovery" message from only targets, it may attempt Login targets, it may attempt Login with each of those devices. If an initiator
with each of those devices. If an initiator receives responses to an receives responses to an "all storage discovery" message from both targets and
"all storage discovery" message from both targets and storage name storage name servers, it may choose to interact with the storage name servers
servers, it may choose to interact with the storage name servers for for target discovery services and/or attempt Login directly with responding
target discovery services and/or attempt Login directly with registered targets.
responding registered targets.
In summary, this discovery approach is flexible in that the In summary, this discovery approach is flexible in that the initiators have the
initiators have the freedom to select static configuration, a freedom to select static configuration, a multicast based discovery mechanism
multicast based discovery mechanism for small, isolated iSCSI for small, isolated iSCSI environments, or they can choose a scalable storage
environments, or they can choose a scalable storage name server based name server based discovery mechanism for large iSCSI environments.
discovery mechanism for large iSCSI environments. Additionally, Additionally, targets may be configured to participate or not
targets may be configured to participate or not participate in the participate in the multicast group (e.g., if there is an SNS available, then
multicast group (e.g., if there is an SNS available, then they may they may chose either dynamically or by configuration not to register in the
chose either dynamically or by configuration not to register in the
group). group).
4.4 SendTargets Command 4.4 SendTargets Command
An initiator may, after the Login process, connect to an An initiator may, after the Login process, connect to an iSCSI
iSCSI canonical target and request for a list of target WWUIs, via a canonical target and request for a list of target WWUIs, via a separate
separate SendTargets command, at the particular Network Entity object and the Portal
SendTargets command, at the particular Network Entity object and the object. The returned data for this request shall contain a list
Portal object. The returned data for this request shall contain a list
of tuples, where each tuple consists of a target WWUI and an IP of tuples, where each tuple consists of a target WWUI and an IP
address:Port and an optional alias string. The canonical target MUST address:Port and an optional alias string. The canonical target MUST support
support this request and the returned list MUST contain at least one this request and the returned list MUST contain at least one entry for the
entry for the canonical target itself. The initiator can then attempt canonical target itself. The initiator can then attempt iSCSI Login to each of
Page 10 the targets specified in the returned list.
draft_ietf_ips_iscsi_disc_reqts_00
iSCSI Login to each of the targets specified in the returned list.
During the login command, the initiator sets the target alias During the login command, the initiator sets the target alias to "iSCSI"
to "iSCSI" with a WWUI of "*". If the login succeeds, the initiator with a WWUI of "*". If the login succeeds, the initiator may send a
may send a sendTargets text command. sendTargets text command.
The response to this command is a text response containing a The response to this command is a text response containing a list of
list of tuples. tuples.
The format of this text string is as follows: The format of this text string is as follows:
<TargetWWUI,IP Address:Port Number, Alias String> <TargetWWUI,IP Address:Port Number, Alias String>
The exact format of the text string is as follows: The exact format of the text string is as follows:
TargetWWUI:com.acme.diskarray.sn.8675309 TargetWWUI:com.acme.diskarray.sn.8675309
TargetAddress:10.1.0.45:3000 TargetAddress:10.1.0.45:3000
TargetAlias:foo/diskController1 TargetAlias:foo/diskController1
TargetWWUI:com.acme.diskarray.sn.8888888 TargetWWUI:com.acme.diskarray.sn.8888888
TargetAddress:10.1.0.46:3000 TargetAddress:10.1.0.46:3000
TargetAlias:foo/diskController2 TargetAlias:foo/diskController2
A line containing the term TargetWWUI: is the start of a A line containing the term TargetWWUI: is the start of a target; followed by its
target; followed by its address and alias, until the next targetWWUI: address and alias, until the next targetWWUI: line. If no target addresses are
line. If no target addresses are given, the initiator can log in to given, the initiator can log in to the same address as that used for in the
the same address as that used for in the SendTargets command, and SendTargets command, and login to the default target. If multiple paths to the
login to the default target. If multiple paths to the WWUI are known, WWUI are known, multiple address lines may be given.
multiple address lines may be given.
4.4.1 Port Redirect Command 4.4.1 Port Redirect Command
During the Login process, a target may redirect the initiator During the Login process, a target may redirect the initiator to connect to
to connect to another IP address:Port and then terminate the Login another IP address:Port and then terminate the Login command (and its
command (and its connection). A target might do this for load connection). A target might do this for load balancing or it might do this to
balancing or it might do this to provide multiple virtual targets provide multiple virtual targets through a simple initiator discovery protocol.
through a simple initiator discovery protocol. The target's response The target's response is a text string that is in the following format:
is a text string that is in the following format:
"REDIRECT: TargetWWUI:com.acme.diskarray.sn.999999 "REDIRECT: TargetWWUI:com.acme.diskarray.sn.999999
TargetAddress:10.1.0.49:3000 TargetAddress:10.1.0.49:3000
TargetAlias:foo/diskController3" TargetAlias:foo/diskController3"
5. Storage Name Server (SNS) 5. Storage Name Server (SNS)
The following section describes requirements for any Storage The following section describes requirements for any Storage Name Server
Name Server used to support iSCSI. An example of a Storage Name used to support iSCSI. An example of a Storage Name Server is the iSNS
Server is the iSNS described in the draft document described in the draft document draft-ietf-ips-iSNS-00.txt [8].
draft-ietf-ips-iSNS-00.txt [8].
5.1 Overview 5.1 Overview
The SNS shall be architected using a client-server paradigm, The SNS shall be architected using a client-server paradigm, with the SNS server
with the SNS server predominantly serving a passive role. SNS clients predominantly serving a passive role. SNS clients actively register and
actively register and manipulate entity objects and their attributes manipulate entity objects and their attributes in the SNS server. The SNS
in the SNS server. The SNS server MAY send asynchronous state change server MAY send asynchronous state change notifications to registered SNS
notifications to registered SNS clients in response to an action by a clients in response to an action by a SNS client. Examples of SNS clients
SNS client. Examples of SNS clients include initiators, targets, include initiators, targets, management stations, and switches. The SNS server
management stations, and switches. The SNS server can be hosted on a can be hosted on a target, switch, or stand-alone server.
target, switch, or stand-alone server.
5.2 Login Control and Zoning 5.2 Login Control and Zoning
Page 11
draft_ietf_ips_iscsi_disc_reqts_00 The SNS MUST support Zoning and Login control. The SNS must provide SNS clients
with the ability to enforce zoning configurations which may exist on the SNS
The SNS MUST support Zoning and Login control. The SNS must server. Targets and management stations shall be able to register (i.e.,
provide SNS clients with the ability to enforce zoning configurations upload) Login Control and Zoning configurations to the iSNS if authorized by the
which may exist on the SNS server. Targets and management stations end user.
shall be able to register (i.e., upload) Login Control and Zoning
configurations to the iSNS if authorized by the end user.
Zoning and Login control supports two separate purposes: Zoning and Login control supports two separate purposes:
5.2.1 Discovery Domain Partitions 5.2.1 Discovery Domain Partitions
The SNS SHALL support the ability to partition the storage The SNS SHALL support the ability to partition the storage network into separate
network into separate "Discovery Domains". The SNS shall not provide "Discovery Domains". The SNS shall not provide information if the SNS client
information if the SNS client performing the query is not in a common performing the query is not in a common zone (i.e., "Discovery Domain") as the
zone (i.e., "Discovery Domain") as the SNS client that is the subject SNS client that is the subject of the request. This capability prevents an
of the request. This capability prevents an initiator from attempting initiator from attempting an iSCSI login to every single target in a large
an iSCSI login to every single target in a large enterprise network, enterprise network, and is the iSCSI equivalent of "Soft" zoning.
and is the iSCSI equivalent of "Soft" zoning.
5.2.2 Login Control 5.2.2 Login Control
To support login access security which is specified in the To support login access security which is specified in the current iSCSI draft
current iSCSI draft (Appendix A) [7] and MAY be implemented by the (Appendix A) [7] and MAY be implemented by the iSCSI target. The SNS shall
iSCSI target. The SNS shall support login control by storing a support login control by storing a mapping of initiators that are permitted to
mapping of initiators that are permitted to access each target. access each target. Targets shall be able to query the SNS for
Targets shall be able to query the SNS for a list of initiators that a list of initiators that are allowed login access. This list shall include
are allowed login access. This list shall include the key attribute the key attribute (e.g., WWUI) used to identify the initiator. This capability
(e.g., WWUI) used to identify the initiator. This capability is the is the iSCSI equivalent of "Hard" zoning.
iSCSI equivalent of "Hard" zoning.
5.3 Object Model 5.3 Object Model
The SNS MUST store the following objects and attributes: The SNS MUST store the following objects and attributes:
Network Entity: Network Entity:
- Entity Identifier - Entity Identifier
- Management IP Address - Management IP Address
- Entity Type (iSCSI) - Entity Type (iSCSI)
skipping to change at line 676 skipping to change at line 622
- WWUI - WWUI
- Alias - Alias
- Node Type (target or initiator or both) - Node Type (target or initiator or both)
Zone: Zone:
- Zone symbolic name - Zone symbolic name
- Zone ID - Zone ID
- Zone Member: WWUI - Zone Member: WWUI
- Zone Member: IP Address - Zone Member: IP Address
A diagram of how the above objects are related is shown A diagram of how the above objects are related is shown below.
below.
+--------------------------------------------------------
| IP Network
Page 12
draft_ietf_ips_iscsi_disc_reqts_00 +----------------------------------------------------------------+
+------------+--------------------------------------+----- | IP Network |
+------------+--------------------------------------+------------+
| | | |
| | | |
+-----+------+------+-----+ +-----+------+---- +-----+------+------+-----+ +-----+------+------+-----+
| | PORTAL | | | | PORTAL | | PORTAL | | | | PORTAL | |
| | -IP Addr 1 | | | | -IP Addr 2 | | -IP Addr 1 | | | | -IP Addr 2 | |
| | -TCP Port 1 | | | | -TCP Port 2 | |
| | -TCP Port 1 | | | | -TCP Port | +-----+ +-----+ | | +-----+ +-----+ |
2 | | | | | | | |
| +-----+ +-----+ | | +-----+ | | | | | | | |
+---- | +--------+ +--------+ | | +-------+ +--------+ |
| | | | | | | | | | | | | | |
| | STORAGE NODE | | | | STORAGE NODE | |
| | | | | | | | | -WWUI | | | | -WWUI | |
| | -Alias: "server1"| | | | Alias: "disk1" | |
| +--------+ +--------+ | | +-------+ +--- | | -Type: initiator | | | | -Type: target | |
| | | | | | | | | | | | | |
| +-------------------+ | | +------------------+ |
| | STORAGE NODE | | | | STORAGE | | | |
NODE | NETWORK ENTITY | | NETWORK ENTITY |
| | -WWUI | | | | -WWUI | -Entity ID (DNS): | | -Entity ID (DNS): |
| "strg1.foo.com" | | "strg2.bar.com" |
| | -Alias: "server1"| | | | Alias:disk1 | -Type: iSCSI | | -Type: iSCSI |
| | | |
| | -Type: initiator | | | | -Type: +-------------------------+ +-------------------------+
target
| | | | | |
| +-------------------+ | |
+--------------
| | |
| NETWORK ENTITY | | NETWORK
ENTITY
| -Entity ID (DNS): | | -Entity ID
(DNS):
| "strg1.foo.com" | | "strg2.bar.com"
| -Type: iSCSI | | -Type: iSCSI
| | |
+-------------------------+
+------------------
A ZONE contains one or more NETWORK ENTITY objects. Each A ZONE contains one or more NETWORK ENTITY objects. Each NETWORK ENTITY
NETWORK ENTITY object contains one or more PORTAL objects, and one or object contains one or more PORTAL objects, and one or more STORAGE NODE
more STORAGE NODE objects. objects.
5.4 SNS Message Format Requirements 5.4 SNS Message Format Requirements
The SNS protocol SHALL use a flexible and extensible message The SNS protocol SHALL use a flexible and extensible message format such as
format such as TLV (TLV is already used in many networking protocols TLV (TLV is already used in many networking protocols such as DHCP). The SNS
such as DHCP). The SNS protocol shall allow manipulation of multiple protocol shall allow manipulation of multiple objects and attributes in the SNS
objects and attributes in the SNS server through a single message and server through a single message and response.
response.
5.5 SNS Authentication Requirements 5.5 SNS Authentication Requirements
Page 13 The SNS protocol SHALL include optional authentication of SNS protocol
messages from SNS clients. The authentication mechanism will allow for
draft_ietf_ips_iscsi_disc_reqts_00 authentication of both client and server.
The SNS protocol SHALL include optional authentication of SNS
protocol messages from SNS clients. The authentication mechanism will
allow for authentication of both client and server.
5.6 SNS Query and Registration Services Requirements 5.6 SNS Query and Registration Services Requirements
The SNS protocol allows initiators and targets to register themselves The SNS protocol allows initiators and targets to register themselves at
at the SNS server. Initiators and targets can also query the SNS the SNS server. Initiators and targets can also query the SNS server for
server for information. For example, targets can register themselves information. For example, targets can register themselves at the SNS server, and
at the SNS server, and the initiators can query the SNS server about the initiators can query the SNS server about which targets they can access.
which targets they can access.
During registration, the initiators and the targets must During registration, the initiators and the targets must provide the
provide the following information: following information:
a) Storage Entity ID a) Storage Entity ID
b) Portal object address (IP address and Port Number) b) Portal object address (IP address and Port Number)
c) WWUI information c) WWUI information
d) Storage node type d) Storage node type
They could optionally also provide other information such as: They could optionally also provide other information such as:
a) Zone related information a) Zone related information
b) Alias string information b) Alias string information
When querying address information in order to establish an When querying address information in order to establish an iSCSI
iSCSI connection, the query, as a minimum, should return the connection, the query,
following information: as a minimum, should return the following information:
a) Storage Entity IP address a) Storage Entity IP address
The Portal Object IP address can be the same as the Storage The Portal Object IP address can be the same as the Storage Entity IP
Entity IP address, and the Portal Object port number can be the (TBD) address, and the Portal Object port number can be the (TBD) default iSCSI port
default iSCSI port number. Furthermore, the WWUI of the target device number. Furthermore, the WWUI of the target device can be queried by issuing the
can be queried by issuing the SendTarget command to the default SendTarget command to the default canonical iSCSI target present at the IP
canonical iSCSI target present at the IP address and port number. address and port number.
5.7 State Change Notification Requirements 5.7 State Change Notification Requirements
Asynchronous notification (State Change Notifications): The Asynchronous notification (State Change Notifications): The SNS must be
SNS must be able to inform SNS clients of changes to its database, able to inform SNS clients of changes to its database, including changes or
including changes or modifications to zoning or login control policies modifications to zoning or login control policies and the
and the presence or absence of initiators and targets. These changes presence or absence of initiators and targets. These changes may occur as a
may occur as a result of various events, including an SNS client result of various events, including an SNS client actively manipulating changing
actively manipulating changing the SNS database, response or the SNS database, response or non-response to an
non-response to an SNS heartbeat message, or a hardware interrupt SNS heartbeat message, or a hardware interrupt delivered by the SNS host
delivered by the SNS host platform (such as a switch). Asynchronous platform (such as a switch). Asynchronous notification shall be delivered only
notification shall be delivered only to SNS clients that register for to SNS clients that register for the notification, and only for SNS clients that
the notification, and only for SNS clients that are in the same Zone are in the same Zone as the event.
as the event.
5.8 The SNS protocol SHALL be a lightweight protocol that 5.8 The SNS protocol SHALL be a lightweight protocol that can be scaled down
can be scaled down for implementation on switches and targets, or for implementation on switches and targets, or scaled up for implementation on
scaled up for implementation on servers. servers.
5.9 The SNS SHALL meet the iSCSI boot requirements (see 5.9 The SNS SHALL meet the iSCSI boot requirements (see
draft-ietf-ips-iscsi-boot-00.txt). draft-ietf-ips-iscsi-boot-00.txt).
6) Related Work 6) Related Work
Jini [1], PnP [2] and Internet Server Location Protocol Jini [1], PnP [2] and Internet Server Location Protocol (SLP)[3] are some of the
(SLP)[3] are some of the other discovery protocols that are present in other discovery protocols that are present in the industry. It is important to
the industry. It is important to note that there is no consensus in note that there is no consensus in the industry as to which discovery protocol
the industry as to which discovery protocol should be used. Therefore, should be used. Therefore, instead of adopting a specific existing protocol,
Page 14 the NDT team has ensured that the iSCSI discovery mechanism contains the key
essential features of the above mentioned discovery protocols. The multicast
draft_ietf_ips_iscsi_disc_reqts_00 discovery mechanism, described above, provides iSCSI with the same discovery
instead of adopting a specific existing protocol, the NDT team has capabilities as these other discovery protocols.
ensured that the iSCSI discovery mechanism contains the key essential
features of the above mentioned discovery protocols. The multicast
discovery mechanism, described above, provides iSCSI with the same
discovery capabilities as these other discovery protocols.
7. Outstanding Work Items 7. Outstanding Work Items
The following work items are still outstanding: The following work items are still outstanding:
a) Impact of naming and discovery on iSCSI Login command. a) Impact of naming and discovery on iSCSI Login command.
b) Secure interaction between the storage director and the initiators b) Secure interaction between the storage director and the initiators
and the targets. and the targets.
8. References 8. References
[1] Edwards, K., "Core Jini: In Depth: Discovery", Prentice [1] Edwards, K., "Core Jini: In Depth: Discovery", Prentice Hall, 1999.
Hall, 1999.
[2] John, R., "UPnP, Jini and Salutation- A look at some [2] John, R., "UPnP, Jini and Salutation- A look at some popular coordination
popular coordination frameworks for future networked devices", frameworks for future networked devices",
http://www.cswl.com/whiteppr/tech/upnp.html", June 17, 1999. http://www.cswl.com/whiteppr/tech/upnp.html", June 17, 1999.
[3] http://www.srvloc.org [3] http://www.srvloc.org
[4] Freed, N., "Behavior of and Requirements for Internet [4] Freed, N., "Behavior of and Requirements for Internet Firewalls",
Firewalls", RFC 2979, October 2000. RFC 2979, October 2000.
[5] ANSI/IEEE Std 802-1990, Name: IEEE Standards for Local [5] ANSI/IEEE Std 802-1990, Name: IEEE Standards for Local and
and
Metropolitan Area Networks: Overview and Architecture Metropolitan Area Networks: Overview and Architecture
[6] Kessler, G. and Shepard, S., "A Primer On Internet and [6] Kessler, G. and Shepard, S., "A Primer On Internet and TCP/IP Tools
TCP/IP Tools and Utilities", RFC 2151, June 1997. and Utilities", RFC 2151, June 1997.
[7] Satran, J., Sapuntzakis, C., Wakeley, M., Von Stamwitz, [7] Satran, J., Sapuntzakis, C., Wakeley, M., Von Stamwitz, P., Haagens,
P., Haagens, R., Zeidner, E., Dalle Ore, L., Klein, Y., "iSCSI", R., Zeidner, E., Dalle Ore, L., Klein, Y., "iSCSI",
draft-ietf-ips-iscsi-00.txt, November, 2000. draft-ietf-ips-iscsi-00.txt, November, 2000.
[8] Gibbons, K., Tseng, J. and Monia, C., "iSNS Internet [8] Gibbons, K., Tseng, J. and Monia, C., "iSNS Internet Storage Name
Storage Name Service", draft-tseng-ips-isns-00.txt, October 2000. Service", draft-tseng-ips-isns-00.txt, October 2000.
6. Contact Author 6. Contact Author
Kaladhar Voruganti Kaladhar Voruganti
650 Harry Road 650 Harry Road
IBM Almaden Research IBM Almaden Research
San Jose, CA San Jose, CA
USA USA
Email: kaladhar@us.ibm.com Email: kaladhar@us.ibm.com
"Copyright (C) The Internet Society (date). All Rights Voruganti Internet Draft Expires July 2001
Reserved. This document and translations of it may be copied and
furnished to others, and derivative works that comment on or otherwise
explain it or assist in its implementation may be prepared, copied,
published and distributed, in whole or in part, without restriction of
Page 15
draft_ietf_ips_iscsi_disc_reqts_00 iSCSI Naming and Discovery January 2001
any kind, provided that the above copyright notice and this paragraph
are included on all such copies and derivative works. However, this "Copyright (C) The Internet Society (date). All Rights Reserved. This
document itself may not be modified in any way, Full Copyright document and translations of it may be copied and furnished to others,
Statement such as by removing the copyright notice or references to and derivative works that comment on or otherwise explain it or assist
the Internet Society or other Internet organizations, except as needed in its implementation may be prepared, copied, published and distributed,
for in whole or in part, without restriction of any kind, provided that the
above copyright notice and this paragraph are included on all such
copies and derivative works. However, this document itself may not be
modified in any way, Full Copyright Statement
such as by removing the copyright notice or references to the
Internet Society or other Internet organizations, except as needed for
the purpose of developing Internet standards in which case the the purpose of developing Internet standards in which case the
procedures for copyrights defined in the Internet Standards process procedures for copyrights defined in the Internet Standards process must
must be followed, or as required to translate it into languages other be followed, or as required to translate it into languages other than
than English. English.
The limited permissions granted above are perpetual and will The limited permissions granted above are perpetual and will not be
not be revoked by the Internet Society or its successors or assigns. revoked by the Internet Society or its successors or assigns.
This document and the information contained herein is This document and the information contained herein is provided on an
provided on an "As IS" basis and THE INTERNET SOCIETY AND THE INTERNET "As IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING
ENGINEERING TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED , TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED , INCLUDING
INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN
INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF
WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE" MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE"
Expires July 2001
Voruganti iSCSI Naming and Discovery Draft Expires July 2001 Voruganti iSCSI Naming and Discovery Draft Expires July 2001
 End of changes. 

This html diff was produced by rfcdiff 1.23, available from http://www.levkowetz.com/ietf/tools/rfcdiff/