Subject: Nodes Requirements Input

From: "Bound, Jim" <[email-masked]>
Date: Tue, 18 Mar 2003 14:07:56 -0500

WG,

For any show of hands for Thursday a.m. per any discussion of Node
Requirements I believe to guage the initial consensus (all meetings must
be ratified by follow email and hum is bad show of hands is better) here
are some questions that also should be asked.

How many people have read and understand RFC 2461?
How many people have read and understand RFC 2462?

Then the actual question regarding the topic at hand.

Below is further input to the Node Requirements document.

This document should not be standards track but possibly a BCP?  It will
change. But I don't believe we need this document except in form
suggested further below in this mail.

I also believe as I said at WG meeting Monday night I fear we need to
determine a set of node requirements documents and a one size fits all
will not satisfy all nodes.  As Bob Hinden suggested possibly based on
"services" as opposed to node types.

Also when we did 1122 and 1123 many years ago and then some of us
actually implemented those it took us years to get the MAYs done for
users and even some SHOULDs.  Like it or not implementors are affected
by these 2119 terms.

Also the specs to day are far better, more robust, more peer review etc.
There is less of a need for 1122 and 1123 requirements from the early to
mid 80's specifications.  We also now have many interoperability tests
for IPv6 and it is clear to any vendor that does not pass them and to
the market for IPv6 bids. That is the ultimate authority did a vendors
node pass the interoperability tests in the public domain.

Lastly we need to make sure and listen to who wants what in an addendum
to our IPv6 specs and listen to why?

More input to the requirements below.  

> -----Original Message-----
> From: Bound, Jim
> Sent: Tuesday, March 18, 2003 10:53 AM
> To: Bound, Jim
> Subject: node reqs prep
> 
> 
> 
> 3. Sub-IP Layer
> 
>    An IPv6 node must follow the RFC related to the link-layer that is
>    sending packet.  By definition, these specifications are required
>    based upon what layer-2 is used.  In general, it is
> reasonable to be
>    a conformant IPv6 node and NOT support some legacy interfaces.
> 
>    As IPv6 is run over new layer 2 technologies, it is
> expected that new
>    specifications will be issued.  This section highlights some major
>    layer 2 technologies and is not intended to be complete.

Why are we producing an incomplete document for standards track in IPv6?

> 
> 3.1 Transmission of IPv6 Packets over Ethernet Networks - RFC2464
> 
>    Transmission of IPv6 Packets over Ethernet Networks [RFC-2464] MUST
>    be supported for nodes supporting Ethernet interfaces.
> 
> 3.2 IP version 6 over PPP - RFC2472
> 
>    IPv6 over PPP [RFC-2472] MUST be supported for nodes that use PPP.
> 
> 3.3 IPv6 over ATM Networks - RFC2492
> 
>    IPv6 over ATM Networks [RFC2492] MUST be supported for nodes
>    supporting ATM interfaces.  Additionally, the specification states:
> 
>       A minimally conforming IPv6/ATM driver SHALL support
> the PVC mode
>       of operation. An IPv6/ATM driver that supports the full SVC mode
>       SHALL also support PVC mode of operation.
> 
> 4. IP Layer
> 
> 4.1 Internet Protocol Version 6 - RFC2460
> 
>    The Internet Protocol Version 6 is specified in [RFC-2460]. This
>    specification MUST be supported.
> 
>    Unrecognized options in Hop-by-Hop Options or Destination Options
>    extensions MUST be processed as described in RFC 2460.
> 
>    The node MUST follow the packet transmission rules in RFC 2460.
> 
>    Nodes MUST always be able to receive fragment headers.
> However, if it
> 
> 
> 
> Loughney (editor)            March 3, 2003                    
>   [Page 5]
> 
> 
> 
> 
> 
> Internet-Draft                                           
> August 28, 2003
> 
> 
>    does not implement path MTU discovery it may not need to send
>    fragment headers.  However, nodes that do not implement
> transmission
>    of fragment headers need to impose limitation to payload size of
>    layer 4 protocols.
> 
>    The capability of being a final destination MUST be supported,
>    whereas the capability of being an intermediate destination MAY be
>    supported (i.e. - host functionality vs. router functionality).
> 
>    RFC 2460 specifies extension headers and the processing for these
>    headers.
> 
>       A full implementation of IPv6 includes implementation of the
>       following extension headers: Hop-by-Hop Options,
> Routing (Type 0),
>       Fragment, Destination Options, Authentication and Encapsulating
>       Security Payload. [RFC2460]
> 
>    An IPv6 node MUST be able to process these headers.  It should be
>    noted that there is some discussion about the use of
> Routing Headers
>    and possible security threats [IPv6-RH] caused by them.
> 
> 4.2 Neighbor Discovery for IPv6 - RFC2461
> 
>    Neighbor Discovery SHOULD be supported.  RFC 2461 states:
> 
>       "Unless specified otherwise (in a document that covers operating
>       IP over a particular link type) this document applies
> to all link
>       types. However, because ND uses link-layer multicast for some of
>       its services, it is possible that on some link types (e.g., NBMA
>       links) alternative protocols or mechanisms to implement those
>       services will be specified (in the appropriate document covering
>       the operation of IP over a particular link type).  The services
>       described in this document that are not directly dependent on
>       multicast, such as Redirects, Next-hop determination, Neighbor
>       Unreachability Detection, etc., are expected to be provided as
>       specified in this document.  The details of how one uses ND on
>       NBMA links is an area for further study."
> 
>    Some detailed analysis of Neighbor discovery follows:
> 
>    Router Discovery is how hosts locate routers that reside on an
>    attached link. Router Discovery MUST be supported for
>    implementations. However, an implementation MAY support disabling
>    this function.
> 
>    Prefix Discovery is how hosts discover the set of address prefixes
>    that define which destinations are on-link for an attached link.
>    Prefix discovery MUST be supported for implementations.
> However, the
> 
> 
> 
> Loughney (editor)            March 3, 2003                    
>   [Page 6]
> 
> 
> 
> 
> 
> Internet-Draft                                           
> August 28, 2003
> 
> 
>    implementation MAY support the option of disabling this function.
> 
>    Neighbor Unreachability Detection (NUD) MUST be supported for all
>    paths between hosts and neighboring nodes. It is not required for
>    paths between routers.  It is required for multicast.
> However, when a
>    node receives a unicast Neighbor Solicitation (NS) message 
> (that may
>    be a NUD's NS), the node MUST respond to it (i.e. send a unicast
>    Neighbor Advertisement).
> 
>    Duplicate Address Detection MUST be supported (RFC2462 section 5.4
>    specifies DAD MUST take place on all unicast addresses).
> 
>    Sending Router Solicitation MUST be supported for host
>    implementation, but MAY support a configuration option to disable
>    this functionality.
> 
>    Receiving and processing Router Advertisements MUST be
> supported for
>    host implementation s. However, the implementation MAY support the
>    option of disabling this function. The ability to 
> understand specific
>    Router Advertisements is dependent on supporting the specification
>    where the RA is specified.
> 
>    Sending and Receiving Neighbor Solicitation (NS) and Neighbor
>    Advertisement (NA) MUST be supported. NS and NA messages
> are required
>    for Duplicate Address Detection (DAD).
> 
>    Redirect Function SHOULD be supported. If the node is a router,
>    Redirect Function MUST be supported.
> 
> 4.3 Path MTU Discovery & Packet Size
> 
> 4.3.1 Path MTU Discovery - RFC1981
> 
>    Path MTU Discovery [RFC-1981] MAY be supported.  Nodes with a link
>    MTU larger than the minimum IPv6 link MTU (1280 octets)
> can use Path
>    MTU Discovery in order to discover the real path MTU. The relative
>    overhead of IPv6 headers is minimized through the use of longer
>    packets, thus making better use of the available bandwidth.
> 
>    The IPv6 specification [RFC-2460] states in chapter 5 that
> "a minimal
>    IPv6 implementation (e.g., in a boot ROM) may simply 
> restrict itself
>    to sending packets no larger than 1280 octets, and omit
>    implementation of Path MTU Discovery."
> 
>    If Path MTU Discovery is not implemented then the sending
> packet size
>    is limited to 1280 octets (standard limit in [RFC-2460]). 
> However, if
>    this is done, the host MUST be able to receive packets with size up
>    to the link MTU before reassembly. This is because the node at the
> 
> 
> 
> Loughney (editor)            March 3, 2003                    
>   [Page 7]
> 
> 
> 
> 
> 
> Internet-Draft                                           
> August 28, 2003
> 
> 
>    other side of the link has no way of knowing less than the MTU is
>    accepted.
> 
> 4.3.2 IPv6 Jumbograms - RFC2675
> 
>    IPv6 Jumbograms [RFC2675] MAY be supported.
> 
> 4.4  ICMP for the Internet Protocol Version 6 (IPv6) - RFC2463
> 
>    ICMPv6 [RFC-2463] MUST be supported.
> 
> 4.5 Addressing
> 
>    Currently, there is discussion on-going on support for site-local
>    addressing.
> 
> 4.5.1 IP Version 6 Addressing Architecture - RFC2373
> 
>    The IPv6 Addressing Architecture [RFC-2373] MUST be supported.
>    Currently, this specification is being updated by [ADDRARCHv3].

This has changed now.  ALso we need to reference Multi6 could affect
this end result.

> 
> 4.5.2 IPv6 Stateless Address Autoconfiguration - RFC2462
> 
>    IPv6 Stateless Address Autoconfiguration is defined in [RFC-2462].
>    This specification MUST be supported for nodes that are hosts.
> 
>    Nodes that are routers MUST be able to generate link local
> addresses
>    as described in this specification.
> 
>    From 2462:
> 
>       The autoconfiguration process specified in this document applies
>       only to hosts and not routers. Since host autoconfiguration uses
>       information advertised by routers, routers will need to be
>       configured by some other means. However, it is expected that
>       routers will generate link-local addresses using the mechanism
>       described in this document. In addition, routers are expected to
>       successfully pass the Duplicate Address Detection procedure
>       described in this document on all addresses prior to assigning
>       them to an interface.
> 
>    Duplicate Address Detection (DAD) MUST be supported.
> 
> 4.5.3 Privacy Extensions for Address Configuration in IPv6 - RFC3041
> 
>    Privacy Extensions for Stateless Address Autoconfiguration
> [RFC-3041]
>    SHOULD be supported.  It is recommended that this behavior be
>    configurable on a connection basis within each application when
> 
> 
> 
> Loughney (editor)            March 3, 2003                    
>   [Page 8]
> 
> 
> 
> 
> 
> Internet-Draft                                           
> August 28, 2003
> 
> 
>    available.  It is noted that a number of applications do not work
>    with addresses generated with this method, while other applications
>    work quite well with them.
> 
> 4.5.4 Default Address Selection for IPv6
> 
>    Default Address Selection for IPv6 [DEFADDR] SHOULD be
> supported, if
>    a node has more than one IPv6 address per interface or a node has
>    more that one IPv6 interface (physical or logical) configured.
> 
>    If supported, the rules specified in the document MUST be
>    implemented. A node needs to belong to one site, however
> there is no
>    requirement that a node be able to belong to more than one site.
> 
>    This draft has been approved as a proposed standard.
> 
> 4.5.5 Stateful Address Autoconfiguration
> 
>    Stateful Address Autoconfiguration MAY be supported.  DHCP [DHCPv6]
>    is the standard stateful address configuration protocol.
> See section
>    5.3 for details on DHCP.

Stateful Address Autoconfiguration SHOULD be supported when the "M" bit
is set and Stateful Address Parameter Configuration MUST be supported
when the "O" bit is set.  

The default method for Address Autoconfiguration is the Stateless model
and a 
MUST for all nodes to support, and the Stateful model when the M bit is
set SHOULD be supported.  If nodes will not participate in Stateful
Address Autoconfiguration then they have no need to comply with the
SHOULD when an M bit is set.

> 
> 4.6 Multicast Listener Discovery (MLD) for IPv6 - RFC2710
> 
>    Multicast Listener Discovery [RFC-2710] MUST be supported by nodes
>    supporting multicast applications. A primary IPv6 multicast
>    application is Neighbor Discovery (all those solicited-node mcast
>    addresses must be joined).
> 
>    When MLDv2 [MLDv2] has been completed, it SHOULD take
> precedence over
>    MLD.
> 
> 5. Transport Layer and DNS
> 
> 5.1 Transport Layer
> 
> 5.1.1 TCP and UDP over IPv6 Jumbograms - RFC2147
> 
>    This specification MUST be supported if jumbograms are implemented
>    [RFC-2675].  One open issue is if this document needs to
> be updated,
>    as it refers to an obsoleted document.

We cannot require a MUST for this until a new document is generated this
is telling implementers to implement functions that are potentially out
of date.
This also has no wide use or testing that this mail is aware of at this
time?

> 
> 5.2 DNS
> 
>    DNS, as described in [RFC-1034], [RFC-1035], [RFC-1886], [RFC-3152]
>    and [RFC-3363] MAY be supported.  Not all nodes will need
> to resolve
>    addresses.  Note that RFC 1886 is currently being updated 
> [RFC-1886-
>    BIS].

DNS "use" is a MUST for correct node operation.  MAY is absurd.

> 
> 
> 
> Loughney (editor)            March 3, 2003                    
>   [Page 9]
> 
> 
> 
> 
> 
> Internet-Draft                                           
> August 28, 2003
> 
> 
> 5.2.2 Format for Literal IPv6 Addresses in URL's - RFC2732
> 
>    RFC 2732 MUST be supported if applications on the node use URL's.
> 
> 5.3 Dynamic Host Configuration Protocol for IPv6 (DHCPv6)
> 
>    An IPv6 node that does not include an implementation of
> DHCP will be
>    unable to obtain any IPv6 addresses aside from link-local addresses
>    when it is connected to a link over which it receives a router
>    advertisement with the 'M' flag (Managed address configuration) set
>    and which contains no prefixes advertised for Stateless Address
>    Autoconfiguration (see section 4.5.2). An IPv6 node that receives a
>    router advertisement with the 'M' flag set and that contains
>    advertised prefixes will configure interfaces with both stateless
>    autoconfiguration addresses and addresses obtained through DHCP.
> 
>    For those IPv6 Nodes that implement DHCP, those nodes MUST use DHCP
>    upon the receipt of a Router Advertisement with the 'M'
> flag set (see
>    section 5.5.3 of RFC2462).  In addition, in the absence of 
> a router,
>    IPv6 Nodes that implement DHCP MUST attempt to use DHCP.
> 
>    For IPv6 Nodes that do not implement DHCP, the 'M' flag of a Router
>    Advertisement can be ignored.  Furthermore, in the absence of a
>    router, this type of node is not required to initiate DHCP.
> 
>    An IPv6 node that does not include an implementation of
> DHCP will be
>    unable to dynamically obtain any IPv6 addresses aside from 
> link-local
>    addresses when it is connected to a link over which it receives a
>    router advertisement with the 'M' flag (Managed address
>    configuration) set and which contains no prefixes advertised for
>    Stateless Address Autoconfiguration (see section 4.5.2).  In this
>    situation, the IPv6 Node will be unable to communicate with other
>    off-link nodes unless a global or site-local IPv6 address 
> is manually
>    configured.
> 
> 
> 6. IPv4 Support and Transition
> 
>    IPv6 nodes MAY support IPv4.

I disagree but why is this part of the node requirements.  If it is it
should be a SHOULD.  Coexistence with IPv6 and IPv4 will be the norm for
most nodes for some time.

> 
> 6.1 Transition Mechanisms
> 
>    IPv6 nodes SHOULD use native address instead of transition-based
>    addressing.
> 
> 6.1.1 Transition Mechanisms for IPv6 Hosts and Routers - RFC2893
> 
>    If an IPv6 node implement dual stack and/or tunneling, then RFC2893
> 
> 
> 
> Loughney (editor)            March 3, 2003                    
>  [Page 10]
> 
> 
> 
> 
> 
> Internet-Draft                                           
> August 28, 2003
> 
> 
>    MUST be supported.
> 
>    This document is currently being updated.
> 
> 7. Mobility
> 
>    Currently, the MIPv6 specification [MIPv6] is nearing completion.
>    Mobile IPv6 places some requirements on IPv6 nodes.  This
> document is
>    not meant to prescribe behaviors, but to capture the consensus of
>    what should be done for IPv6 nodes with respect to Mobile IPv6.
> 
> 7.1 Mobile IP
> 
>    Mobile IPv6 [MIPv6] specification defines requirements for the
>    following types of nodes:
> 
>    - mobile nodes
>    - correspondent nodes with support for route optimization
>    - home agents
>    - all IPv6 routers
> 
>    Hosts MAY support mobile node functionality.

This should be SHOULD.  The changing specs are not or can be an issue
but this document is riddled with changing specs.

> 
>    Hosts SHOULD support route optimization requirements for
>    correspondent nodes. Routers do not need to support route
>    optimization.
> 
>    Routers MAY support home agent functionality.

Routers SHOULD support the HA is correct effort.  Otherwise MIPv6 don't
work.

> 
>    Routers SHOULD support the requirements set for all IPv6 routers.
> 
> 7.2 Securing Signaling between Mobile Nodes and Home Agents
> 
>    The security mechanisms described in [MIPv6-HASEC] MUST be
> supported
>    by nodes implementing mobile node or home agent functionality
>    specified in Mobile IP [MIPv6].
> 
>    7.3 Generic Packet Tunneling in IPv6 Specification - RFC2473
> 
>    Generic Packet Tunneling [RFC-2473] MUST be suppored for nodes
>    implementing mobile node functionality or Home Agent
> functionality of
>    Mobile IP [MIPv6].
> 
> 
>    8. Security
> 
>    This section describes the specification of IPsec for the
> IPv6 node.
>    Other issues that IPsec cannot resolve are described in 
> the security
> 
> 
> 
> Loughney (editor)            March 3, 2003                    
>  [Page 11]
> 
> 
> 
> 
> 
> Internet-Draft                                           
> August 28, 2003
> 
> 
>    considerations.
> 
> 8.1 Basic Architecture
> 
>    Security Architecture for the Internet Protocol [RFC-2401] MUST be
>    supported.
> 
> 8.2 Security Protocols
> 
>    ESP [RFC-2406] MUST be supported. AH [RFC-2402] MUST be supported.
> 
> 8.3 Transforms and Algorithms
> 
>    Current IPsec RFCs specify the support of certain transforms and
>    algorithms, NULL encryption, DES-CBC, HMAC-SHA-1-96, and
> HMAC-MD5-96.
>    The requirements for these are discussed first, and then additional
>    algorithms 3DES-CBC, AES-128-CBC, and HMAC-SHA-256-96 are 
> discussed.
> 
>    NULL encryption algorithm [RFC-2410] MUST be supported for
> providing
>    integrity service and also for debugging use. The "ESP 
> DES-CBC Cipher
>    Algorithm With Explicit IV" [RFC-2405] MUST be supported. Security
>    issues related to the use of DES are discussed in [DESDIFF],
>    [DESINT], [DESCRACK]. It is currently viewed as an inherently weak
>    algorithm, and no longer fulfills its intended role. It is still
>    required by the existing IPsec RFCs, however. This document
>    recommends the use of ESP DES-CBC only where interoperability is
>    required with old implementations supporting DES-CBC.
> 
>    The NULL authentication algorithm [RFC-2406] MUST be
> supported within
>    ESP. The use of HMAC-SHA-1-96 within AH and ESP, described in [RFC-
>    2404] MUST be supported. The Use of HMAC-MD5-96 within AH and ESP,
>    described in [RFC-2403] MUST be supported. An implementer 
> MUST refer
>    to Keyed-Hashing for Message Authentication [RFC-2104].
> 
>    3DES-CBC does not suffer from the issues related to
> DES-CBC. 3DES-CBC
>    and ESP CBC-Mode Cipher Algorithms [RFC2451] MAY be supported. AES-
>    128-CBC [ipsec-ciph-aes-cbc] MUST be supported, as it is 
> expected to
>    be a widely available, secure algorithm that is required for
>    interoperability. It is not required by the current IPsec RFCs,
>    however.
> 
>    The "HMAC-SHA-256-96 Algorithm and Its Use With IPsec" [ipsec-ciph-
>    sha-256] MAY be supported.
> 
> 8.4 Key Management Methods
> 
>    Manual keying MUST be supported

Manual keying SHOULD be supported (this is changing in MIPv6 it
appears)??
> 
> 
> 
> 
> Loughney (editor)            March 3, 2003                    
>  [Page 12]
> 
> 
> 
> 
> 
> Internet-Draft                                           
> August 28, 2003
> 
> 
>    IKE [RFC-2407] [RFC-2408] [RFC-2409] MAY be supported for unicast
>    traffic. Where key refresh, anti-replay features of AH and ESP, or
>    on-demand creation of SAs is required, automated keying MUST be
>    supported. Note that the IPsec WG is working on the
> successor to IKE
>    [SOI]. Key management methods for multicast traffic are also being
>    worked on by the MSEC WG.
> 
> 
> 9. Router Functionality
> 
>    This section defines general considerations for IPv6 nodes that act
>    as routers.  It is for future study if this document, or a separate
>    document is needed to fully define IPv6 router requirements.
>    Currently, this section does not discuss routing protocols.
> 
> 9.1 General
> 
> 9.1.1 IPv6 Router Alert Option - RFC2711
> 
>    The Router Alert Option [RFC-2711] MUST be supported by nodes that
>    perform packet forwarding at the IP layer (i.e. - the node is a
>    router).
> 
> 9.1.2 Neighbor Discovery for IPv6 - RFC2461
> 
>    Sending Router Advertisements and processing Router
> Solicitation MUST
>    be supported.
> 
> 10. Network Management
> 
>    Network Management, MAY be supported by IPv6 nodes.  However, for
>    IPv6 nodes that are embedded devices, network management may be the
>    only possibility to control these hosts.
> 
> 10.1 MIBs
> 
>    In a general sense, MIBs SHOULD be supported by nodes that
> support a
>    SNMP agent.
> 
> 10.1.1 IP Forwarding Table MIB
> 
>    Support for this MIB does not imply that IPv4 or IPv4 specific
>    portions of this MIB be supported.
> 
> 10.1.2 Management Information Base for the Internet Protocol (IP)
> 
>    Support for this MIB does not imply that IPv4 or IPv4 specific
>    portions of this MIB be supported.
> 
> 
> 
> Loughney (editor)            March 3, 2003                    
>  [Page 13]
> 
> 
> 
> 
> 
> Internet-Draft                                           
> August 28, 2003
> 
> 
> 11. Security Considerations
> 
>    This draft does not affect the security of the Internet, but
>    implementations of IPv6 are expected to support a minimum set of
>    security features to ensure security on the Internet.  "IP Security
>    Document Roadmap" [RFC-2411] is important for everyone to read.
> 
>    The security considerations in RFC2460 describes the following:
> 
>       The security features of IPv6 are described in the Security
>       Architecture for the Internet Protocol [RFC-2401].
> 
>    For example, specific protocol documents and applications
> may require
>    the use of additional security mechanisms.
> 
>    The use of ICMPv6 without IPsec can expose the nodes in question to
>    various kind of attacks including Denial-of-Service, Impersonation,
>    Man-in-the-Middle, and others.  Note that only manually keyed IPsec
>    can protect some of the ICMPv6 messages that are related to
>    establishing communications. This is due to
> chicken-and-egg problems
>    on running automated key management protocols on top of 
> IP. However,
>    manually keyed IPsec may require a large number of SAs in order to
>    run on a large network due to the use of many addresses 
> during ICMPv6
>    Neighbor Discovery.
> 
>    The use of wide-area multicast communications has an increased risk
>    from specific security threats, compared with the same threats in
>    unicast [MC-THREAT].
> 
>    An implementer should also consider the analysis of anycast
>    [ANYCAST].
> 
>  

This document requires an Applicability Statement for implementors.

Regards,
/jim 

--------------------------------------------------------------------
IETF IPng Working Group Mailing List
IPng Home Page:                      http://playground.sun.com/ipng
FTP archive:                      ftp://playground.sun.com/pub/ipng
Direct all administrative requests to [email-masked]
--------------------------------------------------------------------

---

From: Brian E Carpenter <[email-masked]>
Date: Tue, 18 Mar 2003 22:44:47 +0100

"Bound, Jim" wrote:
...
> DNS "use" is a MUST for correct node operation.  MAY is absurd.

Why would a thermostat need to resolve names?

  Brian