|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] FW: iSNS/SLP Comparison
I've been asked to re-post this message. Once again,
if anyone has comments on SLP and how it can/cannot
be used in the SNS role, please respond to the
this message on the reflector. Same for any other protocol
(LDAP, SNMP, RADIUS, COPS, etc...).
Thanks,
Josh
> -----Original Message-----
> From: Joshua Tseng
> Sent: Thursday, March 22, 2001 10:01 AM
> To: ips@ece.cmu.edu
> Subject: iSNS/SLP Comparison
>
> Folks,
>
> As promised, here is the text of the detailed analysis completed several
> weeks ago on
> the feasibility of using the SLP protocol to support the storage name
> service functionality
> for iSCSI. This issue was hashed and rehashed multiple times within the
> Naming &
> Discovery Team. Mark Bakke and I had numerous online and offline
> discussions on
> SLP and iSNS, and in the end we both concluded that SLP would not provide
> the needed
> functionality for a storage name service. Rather, we agreed SLP can be
> used to do
> simple discovery of iSCSI targets in a device-centric management model,
> without the
> aid of the iSNS. On the other hand, iSNS would provide the centralized
> management
> function that would allow iSCSI to scale to enterprise-class networks.
>
> The bottom line is that iSNS is a storage-aware application that is aware
> of client attributes,
> and can take appropriate action when events occur in the network. SLP is
> a generic
> discovery protocol and has no intelligence of storage devices and their
> attributes. LDAP
> alone is inappropriate for a similar reason in that it is a generic
> protocol, not an application.
> However, both LDAP and SLP can be used to support the iSNS application.
> LDAP to
> store and distribute attribute values in a directory-enabled iSNS
> implementation, and
> SLP to discover the iSNS service itself.
>
> Josh
>
> ---------------------------------------------
>
> Comparisons between iSNS and SLPv2:
>
> 1) State Change Notification:
>
> SLPv2 does not currently support it. This is an important function that
> exists in enterprise-scale Fibre Channel SANs. For SLPv2 to be feasible
> for large enterprise-scale storage networks, it would have to incorporate
> an asynchronous messaging mechanism that is closely tied to entities
> identified by service attributes. Specifically, this means SLPv2 must
> develop the intelligence to recognize a significant event, identify the
> entities (i.e., WWUI's) that are affected by that event by examining the
> DD/Zoning of each entity, and send a directed unicast message to the
> entities represented by those WWUI's.
>
> Such functionality seems to be beyond the intent and scope of SLP. WWUI
> would be stored as an attribute, and in SLP, attributes are simple values
> which carry no significance to SLP. It is beyond the purpose of SLP to
> interpret the contents of any attribute stored for a service. However, in
> order to support SCN's, SLP would need interpret the WWUI attribute values
> and map it to a destination IP address (i.e., extract the URL attribute
> and query for an IP address) for the State Change Notification.
>
> Therefore, we cannot count on SLP's ability to fulfill the State Change
> Notification requirement, even with future upgrades to the SLP protocol.
>
> 2) Multicast
>
> RFC 2608 contains "MUST" language that requires SA's to listen to
> multicast requests from UA's and DA's. However, in order to fulfill the
> SNS role, SA's do not need this capability, and multicast should not be
> used in many cases. An implementer will be faced with the choice of
> either compliance with the RFC 2608 and implementing a capability that is
> not needed, or being non-compliant and implementing only what is needed
> for the SNS. There are other areas in SLP which describe capabilities
> that are not needed for SNS.
>
> Multicast is not required for SNS because it may not be available in some
> networks, particularly the Public Internet or in a business partner's
> network. I shall assume no multicast functionality, since SNS must be
> able to work over the Public Internet per IETF Charter.
>
> 3) Zoning/Discovery Domains:
>
> The scoping functionality cannot be used for "Zoning/Discovery Domain"
> capability, because common scoping is a requirement for even DA's and SA's
> to communicate with each other. SLP assumes SA's, UA's, and DA's are
> already configured with the appropriate scoping, and SLP itself cannot be
> used to create, delete, or modify a scoping of an SA, UA, or DA, because
> they can't even communicate unless they already have common scoping.
> Therefore, a new attribute such as "Zone" in Mark's template is needed.
> But is the Zone an attribute of the WWUI or iSCSI instance?
>
> At the current time, it's unclear if the service represents a single WWUI,
> or an "iSCSI Instance" which may have multiple WWUI's. Either way, there
> is a disadvantage:
>
> a. If the service registers an iSCSI Instance, then the Zone/Discovery
> Domain is an attribute of the service (i.e., iSCSI instance), and not of
> the WWUI (i.e., iSCSI device), ALL WWUI's belonging to the iSCSI instance
> must be assigned to the same Zone/Discovery Domain. That means, if an
> iSCSI target device has 50 WWUI's, then all 50 must be assigned to the
> same Discovery Domain, and initiators must perform an iSCSI login to each
> of the 50 devices. While a native iSCSI device with 50 controllers may be
> rare, the real impact is on iSCSI-FC gateways. The gateway must proxy for
> a network of Fibre Channel devices, and the gateway will likely represent
> each FC device with a WWUI (using the "eui.xxx" WWUI format). But that
> means the user has no means of limiting access and discovery to a subset
> of devices in the FC network.
>
> b. If the "service" registers a single WWUI, then each "iSCSI instance"
> will have to register multiple times if it supports more than one WWUI.
> Once again, an iSCSI-FC gateway will have a large number of individual
> registration messages to send for any change to its attributes, and
> updates to receive for any change in status to other members in a common
> Zoning/Discovery Domain. For example, if the gateway supports 50 FC
> devices that are in a common Zone with initiator I, and initiator I is
> somehow removed from the Zone then the iSCSI-FC gateway will need to query
> the DA 50 times in order to make this simple update.
>
> And the last significant issue I'm aware of with Zones/Discovery Domains
> is that since the Zone is already an attribute, additional attributes
> cannot be associated with the Zone. This means a VLAN tag, multicast
> group address, or user-assigned symbolic name cannot be stored as an
> attribute of the Zone, in the DA.
>
> 4) Heartbeat/Client Status Inquiry:
>
> SLP accomplishes this function through a multicast DAAdvert. However, SLP
> does not specify an alternative if multicast is not available. Rather,
> SLP relies on the SA's and the UA's to continue refreshing their
> registrations in the DA at regular intervals. The refresh interval is
> dependent on the SA and UA settings, and is an interval between 0 and 18
> hours. Since the DA has no control over the interval at which SA's send
> in registrations, it could get overwhelmed if there are a large number of
> SA's and UA's query for and register data. And the only way that the DA
> can discover (in the absence of multicast) that an SA has been removed
> from the network, is to wait until the timeout interval expires for SA
> registration refresh. Set the expiration timer too low, and the SA's will
> be re-registering with the DA too often and overwhelm it. Set the timer
> too high, and it could be hours or days before the DA discovers that an SA
> (i.e., iSCSI target) has disappeared. That would be unacceptable for an
> enterprise-class user.
>
> This is the original reason why SLP relied on the multicast advertisement.
> There is no unicast advertisement originated by the DA that I am aware of
> that is not in response to a multicast request by an SA.
>
> On the other hand, iSNS unicasts heartbeat messages to each iSNS client,
> and can adjust the interval at which it is comfortable sending out
> heartbeats, depending on its processing load.
>
> 5) Non-string-based attributes:
>
> SLP is optimized to store and transmit string-based attributes. However,
> the SNS must be able to store non-string attributes, such as an X.509
> public key certificate. The only way that SLP can do this is if it
> escapes each byte of binary data. This "escaped" SLP formatting will
> effectively double the size of the original X.509 certificate. This is an
> additional burden for iSCSI devices, that will need to take the X.509
> "blob" and place an "/" between every byte of binary data. Processing
> requirements for the DA host (which are already significantly more than
> iSNS server from the above issues 1-4), will also be increased as the a
> companion application on the DA host may need to extract the original
> certificate so that it can verify the signature and authenticate its
> origin.
>
> Also, doubling the size of the X.509 certificate in the SLP protocol
> message may overflow the size of the multicast datagram, which is a no-no.
>
> 6) Security:
>
> Because the DA, SA, and UA are all using the same scope ("SNS"), and Zone
> is now an attribute of the iSCSI device (either the WWUI or the iSCSI
> Instance), the DA (i.e., the SNS) must trust each of the SA's as far as
> access authorization. Although initiators are not supposed to change the
> attributes of a target, nothing prevents a wayward initiator from doing it
> anyway. Once again, attribute values have no significance to SLP, and
> there is no way for SLP to disallow a query or registration command by
> examining the value stored in an attribute field for the service that is
> the object of the query or request.
>
> This will become an issue when sharing the DA database with a business
> partner. Even if a new special "Zone" or "Discovery Domain" is created,
> and only devices that an enterprise intends to share with the business
> partner is placed into that "Discovery Domain", there is nothing which
> prevents the business partner from doing an SLP query with no "Discovery
> Domain" attribute. This will result in ALL devices registered in the DA
> being returned. The business partner now has access to all devices stored
> in the DA, and can do unlimited damage if they desire.
>
> CONCLUSION:
>
> I believe there may be other issues which have yet to be discovered,
> regarding use of SLP in the SNS role for a large enterprise-class storage
> network. My suggestion is that we limit the use of SLP in iSCSI to
> discovery only. We can recomend and use SLP for simple discovery of iSCSI
> devices, as well as discovery of the iSNS. But let's not encourage SLP to
> be used in a role for which it was not designed.
>
> My concern is that if we talk or hint about the possibility of using SLP
> to fulfill the SNS role, those that take this path will invest
> considerable engineering effort only to find in the end that there are
> insurmountable issues in supporting large, enterprise-class storage area
> networks. SLP simply was not designed for the SNS role. Attempting to
> force SLP to do what it wasn't designed for will result in consequences
> down the road if anyone takes our errant advice to do so.
>
> Josh
>
Home Last updated: Tue Sep 04 01:04:47 2001 6315 messages in chronological order |