Subject: draft-ietf-multi6-multihoming-requirements-02-candidate1

From: Joe Abley <[email-masked]>
Date: Mon, 12 Nov 2001 05:08:12 -0500

I have completed a rough set of initial edits to the requirements
draft, along the lines discussed here over the last few months.

I haven't submitted this to the rfc editor yet, since I expect more
changes to come out of discussion on the list this week (and I
suspect the rfc editor could do without the additional work right
now). If this is bad form, please let me know.

The text is here:

  http://buffoon.automagic.org/dist/draft-ietf-multi6-multihoming-requirements-02-candidate1.txt

and is attached below, depaginated with change bars in the left-
hand margin indicating changed lines, in case someone finds that
useful. The diff was against the -01 draft.

The main changes are:

1. The use of "enterprise" was contentious and I think the consensus
was it was not the best word. I have subsituted "site", and mentioned
the RFC1918 definition of "enterprise" as compatible in the glossary.

2. I have tried to use "site-multihoming" or "multihomed site" to
be more explicit about the kind of multihoming we are talking about.

3. Clarification of the definition of "transit provider", since
it was evident that this term is understood differently by many
different people. I have chosen to clarify the definition I used
previously rather than change it. If the definition below is not
sufficiently familiar to enough people, an alternative would be
welcomed.

4. SHOULD/MUST/etc. Please review.

I have almost certainly missed some other modifications that
someone was expecting, so if they could be pointed out that would
be good.

We have a week, I think, to knock this into shape before the
submission deadline.

Joe

 Network Working Group                                           B. Black
 Internet-Draft                                           Layer8 Networks
|Expires: May 13, 2002                                            V. Gill
                                                                 J. Abley
|                                                                     MFN
|                                                       November 12, 2001

|          Requirements for IPv6 Site-Multihoming Architectures
|        draft-ietf-multi6-multihoming-requirements-02-candidate1
 
 Status of this Memo
 
    This document is an Internet-Draft and is in full conformance with
    all provisions of Section 10 of RFC2026.
 
    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.
 
    The list of Internet-Draft Shadow Directories can be accessed at
    http://www.ietf.org/shadow.html.
 
|   This Internet-Draft will expire on May 13, 2002.
 
 Copyright Notice
 
    Copyright (C) The Internet Society (2001).  All Rights Reserved.
 
 Abstract
 
|   Site-multihoming, i.e.  connecting to more than one IP service
|   provider, is an essential component of service for many sites which
|   are part of the Internet.  Existing IPv4 site-multihoming practices,
|   described in a companion draft [1], provides a set of capabilities
|   that must be accommodated by the adopted site-multihoming
    architecture in IPv6, and a set of limitations that must be overcome,
    relating in particular to scalability.
 
|   This document outlines a set of requirements for a new IPv6 site-
|   multihoming architecture.

 1. Introduction
 
|   Current IPv4 site-multihoming practices have been added on to the
|   CIDR architecture [2], which assumes that routing table entries can
|   be aggregated based upon a hierarchy of customers and service
|   providers [1].
 
    However, it appears that this hierarchy is being supplanted by a
    dense mesh of interconnections [9].  Additionally, there has been an
|   enormous growth in the number of multihomed sites.  For purposes of
|   redundancy and load-sharing, the multihomed address blocks, which are
|   almost always a longer prefix than the provider aggregate, are
|   announced along with the larger, covering aggregate originated by the
|   provider.  This contributes to the rapidly-increasing size of the
|   global routing table.  This explosion places significant stress on
|   the inter-provider routing system.
 
|   Continued growth of both the internet and the practice of site-
|   multihoming will seriously exacerbate this stress.  The site-
|   multihoming architecture for IPv6 should allow the routing system to
|   scale more pleasantly.

 2. Terminology
 
    The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
    "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
    document are to be interpreted as described in RFC 2119 [4].
 
|   A "site" is an entity autonomously operating a network using IP and,
|   in particular, determining the addressing plan and routing policy for
|   that network.  This definition is intended to be equivalent to
|   "enterprise" as defined in [3].
 
|   A "transit provider" operates a site which directly provides
|   connectivity to the Internet to one or more external sites.  The
|   connectivity provided extends beyond the transit provider's own site.
|   A transit provider's site is directly connected to the sites for
|   which it provides transit.
 
|   A "multihomed" site is one with more than one transit provider.
|   "Site-multihoming" is the practice of arranging a site to be multi-
|   homed.
 
|   The term "re-homing" denotes a transition of a site between two
|   states of connectedness, due to a change in the connectivity between
|   the site and its transit providers' sites.
 
 3. Multihoming Requirements
 
 3.1 Capabilities of IPv4 Multihoming
 
|   The following capabilities of current IPv4 multihoming practices MUST
|   be supported by an IPv6 multihoming architecture.  IPv4 multihoming
|   is discussed in more detail in [1].
 
 3.1.1 Redundancy
 
|   By multihoming, a site MUST be able to insulate itself from certain
|   failure modes within one or more transit providers, as well as
|   failures in the network providing interconnection among one or more
    transit providers.
 
|   Infrastructural commonalities below the IP layer may result in
|   connectivity which is apparently diverse sharing single points of
|   failure.  For example, two separate DS3 circuits ordered from
|   different suppliers and connecting a site to independent transit
|   providers may share a single conduit from the street into a building;
|   in this case backhoe-fade of both circuits may be experienced due to
|   a single incident in the street.  The two circuits are said to "share
|   fate".

|   The multihoming architecture MUST accommodate (in the general case,
|   issues of shared fate notwithstanding) continuity of connectivity
|   during the following failures:
 
|   o  Physical failure, such as a fiber cut, or router failure,
 
    o  Logical link failure, such as a misbehaving router interface,
 
    o  Routing protocol failure, such as a BGP peer reset,
 
    o  Transit provider failure, such as a backbone-wide IGP failure, and
 
    o  Exchange failure, such as a BGP reset on an inter-provider
       peering.
 
 3.1.2 Load Sharing
 
|   By multihoming, a site MUST be able to distribute both inbound and
|   outbound traffic between multiple transit providers.  This
|   requirement is for concurrent use of the multiple transit providers,
|   not just the usage of one provider over one interval of time and
|   another provider over a different interval.
 
|3.1.3 Performance
 
|   By multihoming, a site MUST be able to protect itself from
|   performance difficulties directly between the site's transit
|   providers.

|   For example, suppose site E obtains transit from transit providers T1
|   and T2, and there is long-term congestion between T1 and T2.  The
|   multihoming architecture MUST allow E to ensure that in normal
|   operation none of its traffic is carried over the congested
|   interconnection T1-T2.  The process by which this is achieved MAY be
|   a manual one.

|   A multi-homed site MUST be able to distribute inbound traffic from
|   particular multiple transit providers according to the particular
|   address range within their site which is sourcing or sinking the
|   traffic.
 
 3.1.4 Policy
 
    A customer may choose to multihome for a variety of policy reasons
|   beyond technical scope (e.g.  cost, acceptable use conditions, etc.)
    For example, customer C homed to ISP A may wish to shift traffic of a
    certain class or application, NNTP, for example, to ISP B as matter
|   of policy.  A new IPv6 multihoming proposal MUST provide support for
|   site-multihoming for external policy reasons.
 
 3.1.5 Simplicity
 
    As any proposed multihoming solution must be deployed in real
    networks with real customers, simplicity is paramount.  The current
    multihoming solution is quite straightforward to deploy and maintain.
|   A new IPv6 multihoming proposal MUST NOT be substantially more
    complex to deploy and operate than current IPv4 multihoming
    practices.
 
 3.1.6 Transport-Layer Survivability
 
|   Multihoming solutions MUST provide re-homing transparency for
|   transport-layer sessions; i.e.  exchange of data between devices on
|   the multihomed site and devices elsewhere on the Internet may proceed
|   with no greater interruption than that associated with the transient
|   packet loss during the re-homing event.

|   New transport-layer sessions MUST be able to be created following a
|   re-homing event.

|   Transport-layer sessions include those involving transport-layer
|   protocols such as TCP, UDP and SCTP over IP.  Applications which
|   communicate over raw IP and other network-layer protocols MAY also
|   enjoy re-homing transparency.
 
 3.2 Additional Requirements
 
 3.2.1 Scalability
 
    Current IPV4 multihoming practices contribute to the significant
    growth currently observed in the state held in the global inter-
    provider routing system; this is a concern both because of the
    hardware requirements it imposes and also because of the impact on
    the stability of the routing system.  This issue is discussed in
    great detail in [9].
 
|   A new IPv6 multihoming architecture MUST scale to accommodate orders
|   of magnitude more multi-homed sites without imposing unreasonable
|   requirements on the routing system.
 
 3.2.2 Impact on Routers
 
|   The solution MAY require changes to IPv6 router implementations, but
    these changes must be either minor, or in the form of logically
    separate functions added to existing functions.
 
|   Such changes MUST NOT prevent normal single-homed operation, and
    routers implementing these changes must be able to interoperate fully
    with hosts and routers not implementing them.
 
 3.2.3 Impact on Hosts
 
|   The solution MUST NOT destroy IPv6 connectivity for a legacy host
    implementing RFC 2373 [5], RFC 2460 [7], RFC 2553 [8] and other basic
|   IPv6 specifications current in November 2001.  That is to say, if a
|   host can work in a single-homed site, it must still be able to work
|   in a multihomed site, even if it cannot benefit from site-
|   multihoming.
 
    It would be compatible with this requirement for such a host to lose
|   connectivity if a site lost connectivity to one transit provider,
|   despite the fact that other transit provider connections were still
|   operational.
 
    If the solution requires changes to the host stack, these changes
|   MUST be either minor, or in the form of logically separate functions
    added to existing functions.
 
    If the solution requires changes to the socket API and/or the
|   transport layer, it MUST be possible to retain the original socket
    API and transport protocols in parallel, even if they cannot benefit
    from multihoming.
 
|   The multi-homing solution MAY allow host or application changes if
|   that would enhance session survivability.
 
 3.2.4 Interaction between Hosts and the Routing System
 
|   The solution MAY involve interaction between a site's hosts and its
|   routing system; such an interaction MUST be simple, scaleable and
    securable.
 
 3.2.5 Operations and Management
 
|   It MUST be posssible for staff responsible for the operation of a
|   site to monitor and configure the site's multihoming system.

 4. Security Considerations
 
|   A multihomed site MUST be no more vulnerable to security breaches
|   than a non-multihomed site.

 References
 
    [1]  Abley, J., Black, B. and V. Gill, "IPv4 Multihoming Motivation,
         Practices and Limitations (work-in-progress)", I-D draft-ietf-
         multi6-v4-multihoming-00, June 2001,
         <http://www.automagic.org/~jabley/draft-ietf-multi6-v4-
         multihoming-00.txt>.
 
    [2]  Fuller, V., Li, T., Yu, J. and K. Varadhan, "Classless Inter-
         Domain Routing (CIDR): an Address Assignment and Aggregation
         Strategy", RFC 1519, September 1993.
 
    [3]  Rekhter, Y., Moskowitz, B., Karrenberg, D., de Groot, G. and E.
         Lear, "Address Allocation for Private Internets", RFC 1918,
         February 1996.
 
    [4]  Bradner, S., "Key words for use in RFCs to Indicate Requirement
         Levels", RFC 2119, March 1997.
 
    [5]  Hinden, R. and S. Deering, "IP Version 6 Addressing
         Architecture", RFC 2373, July 1998.
 
    [6]  Hinden, R., O'Dell, M. and S. Deering, "An IPv6 Aggregatable
         Global Unicast Address Format", RFC 2374, July 1998.
 
    [7]  Deering, S. and R. Hinden, "Internet Protocol, Version 6 (IPv6)
         Specification", RFC 2460, December 1998.
 
    [8]  Gilligan, R., Thomson, S., Bound, J. and W. Stevens, "Basic
         Socket Interface Extensions for IPv6", RFC 2553, March 1999.
 
    [9]  Huston, G., "Analyzing the Internet's BGP Routing Table",
         January 2001.

 Authors' Addresses
 
    Benjamin Black
    Layer8 Networks
 
    EMail: [email-masked]

    Vijay Gill
|   MFN
    8075 Leesburg Pike
    Suite 300
    Vienna, VA  22182
    US
 
    Phone: +1 410 262 0660
|   EMail: [email-masked]

    Joe Abley
|   MFN
|   10805 Old River Road
|   Komoka, ON  N0L 1R0
    Canada
 
|   Phone: +1 519 641 3738
|   EMail: [email-masked]

 Full Copyright Statement
 
    Copyright (C) The Internet Society (2001).  All Rights 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 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, 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 procedures for
    copyrights defined in the Internet Standards process must be
    followed, or as required to translate it into languages other than
    English.
 
    The limited permissions granted above are perpetual and will not be
    revoked by the Internet Society or its successors or assigns.
 
    This document and the information contained herein is provided on an
    "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING
    TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING
    BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION
    HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF
    MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
 
 Acknowledgement
 
    Funding for the RFC Editor function is currently provided by the
    Internet Society.

---

From: Joe Abley <[email-masked]>
Date: Mon, 12 Nov 2001 09:14:12 -0500

[at Thomas' suggestion, I am posting the text of each of the
contentious changes I mentioned, for ease of comment]

> [snip]

---

From: Joe Abley <[email-masked]>
Date: Mon, 12 Nov 2001 09:24:50 -0500

I toyed with the idea of including a diagram here, since it seemed
  to help before. For example, in the following picture:

      S0 --- S1 --- S2 --- S3 --- Rest of World
       |            ||      |
       `---- S4 ====='      |            ----- transit circuit
              |             |            ===== peering circuit
              `-------------'

    S1, S4 are transit providers for S0
    S2 is a transit provider of S1
    S3 is a transit provider of S2 and S4

  I toyed with the idea of using "global transit provider", and
  introducing the idea that S2 was a transit provider for S4 to
  S1 and S0 only, whilst S3 was a global transit provider for
  S4. However, the definition is woolly enough already, and I
  thought I would avoid any unnecessary confusion by not raising
  the issue.

Comments and suggestions for improvement very welcome.

---

From: Joe Abley <[email-masked]>
Date: Mon, 12 Nov 2001 09:31:35 -0500

I just found some additional requirements in e-mail that I couldn't
find in the draft (I may have missed them; I am slightly caffeine-
deprived).

Here are the first two:

On Tue, Jun 26, 2001 at 05:49:41PM -0500, Tony_Hiller wrote:
>
> - - capabilities negotiation - Multihoming solutions must provide a
> means for peers to communicate capabilities to each other, in order
> to support new capabilities that may or may not be included in all
> implementations.
>
> - - policy - Multihoming solutions should provide a means for peers
> to discover the routing policies applied to their routes by peer networks.

---

From: Joe Abley <[email-masked]>
Date: Mon, 19 Nov 2001 15:23:57 -0500

The following is the text of the candidate1 draft with minor
revisions relating to the small amount of discussion over the
past week. Main changes:

 + I included the cooperation requirement, since nobody seemed to
   object to it. I didn't include Michael's proposed changes to
   that clause, since there seemed to be some (small amount of)
   dissent about them. Further discussion on that paragraph would
   be useful, perhaps.

 + minor change of "internet" to "Internet".

Complete draft with change bars, less pagination, follows. If there
is no further discussion in the next day or so I'd like to mail it
in comfortably before the deadline as -02.

Joe

 Network Working Group                                           B. Black
 Internet-Draft                                           Layer8 Networks
|Expires: May 20, 2002                                            V. Gill
                                                                 J. Abley
                                                                      MFN
|                                                       November 19, 2001

           Requirements for IPv6 Site-Multihoming Architectures
|             draft-ietf-multi6-multihoming-requirements-02
 
 Status of this Memo

 

 
|   This Internet-Draft will expire on May 20, 2002.
 
 Copyright Notice

 Abstract
 
    Site-multihoming, i.e.  connecting to more than one IP service
    provider, is an essential component of service for many sites which
    are part of the Internet.  Existing IPv4 site-multihoming practices,
    described in a companion draft [1], provides a set of capabilities
    that must be accommodated by the adopted site-multihoming
    architecture in IPv6, and a set of limitations that must be overcome,
    relating in particular to scalability.
 
    This document outlines a set of requirements for a new IPv6 site-
    multihoming architecture.
 
 1. Introduction
 
    Current IPv4 site-multihoming practices have been added on to the
    CIDR architecture [2], which assumes that routing table entries can
    be aggregated based upon a hierarchy of customers and service
    providers [1].
 
    However, it appears that this hierarchy is being supplanted by a
    dense mesh of interconnections [9].  Additionally, there has been an
    enormous growth in the number of multihomed sites.  For purposes of
    redundancy and load-sharing, the multihomed address blocks, which are
    almost always a longer prefix than the provider aggregate, are
    announced along with the larger, covering aggregate originated by the
    provider.  This contributes to the rapidly-increasing size of the
    global routing table.  This explosion places significant stress on
    the inter-provider routing system.
 
|   Continued growth of both the Internet and the practice of site-
    multihoming will seriously exacerbate this stress.  The site-
    multihoming architecture for IPv6 should allow the routing system to
    scale more pleasantly.
 
 2. Terminology

    A "site" is an entity autonomously operating a network using IP and,
    in particular, determining the addressing plan and routing policy for
    that network.  This definition is intended to be equivalent to
    "enterprise" as defined in [3].
 
    A "transit provider" operates a site which directly provides
    connectivity to the Internet to one or more external sites.  The
    connectivity provided extends beyond the transit provider's own site.
    A transit provider's site is directly connected to the sites for
    which it provides transit.
 
    A "multihomed" site is one with more than one transit provider.
    "Site-multihoming" is the practice of arranging a site to be multi-
    homed.
 
    The term "re-homing" denotes a transition of a site between two
    states of connectedness, due to a change in the connectivity between
    the site and its transit providers' sites.

 
    The following capabilities of current IPv4 multihoming practices MUST
    be supported by an IPv6 multihoming architecture.  IPv4 multihoming
    is discussed in more detail in [1].
 
 3.1.1 Redundancy
 
    By multihoming, a site MUST be able to insulate itself from certain
    failure modes within one or more transit providers, as well as
    failures in the network providing interconnection among one or more
    transit providers.
 
    Infrastructural commonalities below the IP layer may result in
    connectivity which is apparently diverse sharing single points of
    failure.  For example, two separate DS3 circuits ordered from
    different suppliers and connecting a site to independent transit
    providers may share a single conduit from the street into a building;
    in this case backhoe-fade of both circuits may be experienced due to
    a single incident in the street.  The two circuits are said to "share
    fate".
 
    The multihoming architecture MUST accommodate (in the general case,
    issues of shared fate notwithstanding) continuity of connectivity
    during the following failures:
 
    o  Physical failure, such as a fiber cut, or router failure,

 

 3.1.2 Load Sharing
 
    By multihoming, a site MUST be able to distribute both inbound and
    outbound traffic between multiple transit providers.  This
    requirement is for concurrent use of the multiple transit providers,
    not just the usage of one provider over one interval of time and
    another provider over a different interval.
 
 3.1.3 Performance
 
    By multihoming, a site MUST be able to protect itself from
    performance difficulties directly between the site's transit
    providers.
 
    For example, suppose site E obtains transit from transit providers T1
    and T2, and there is long-term congestion between T1 and T2.  The
    multihoming architecture MUST allow E to ensure that in normal
    operation none of its traffic is carried over the congested
    interconnection T1-T2.  The process by which this is achieved MAY be
    a manual one.
 
    A multi-homed site MUST be able to distribute inbound traffic from
    particular multiple transit providers according to the particular
    address range within their site which is sourcing or sinking the
    traffic.
 
 3.1.4 Policy
 
    A customer may choose to multihome for a variety of policy reasons
    beyond technical scope (e.g.  cost, acceptable use conditions, etc.)
    For example, customer C homed to ISP A may wish to shift traffic of a
    certain class or application, NNTP, for example, to ISP B as matter
    of policy.  A new IPv6 multihoming proposal MUST provide support for
    site-multihoming for external policy reasons.
 
 3.1.5 Simplicity
 
    A new IPv6 multihoming proposal MUST NOT be substantially more

    Multihoming solutions MUST provide re-homing transparency for
    transport-layer sessions; i.e.  exchange of data between devices on
    the multihomed site and devices elsewhere on the Internet may proceed
    with no greater interruption than that associated with the transient
    packet loss during the re-homing event.
 
    New transport-layer sessions MUST be able to be created following a
    re-homing event.
 
    Transport-layer sessions include those involving transport-layer
    protocols such as TCP, UDP and SCTP over IP.  Applications which
    communicate over raw IP and other network-layer protocols MAY also
    enjoy re-homing transparency.

 3.2.1 Scalability

    A new IPv6 multihoming architecture MUST scale to accommodate orders
    of magnitude more multi-homed sites without imposing unreasonable
    requirements on the routing system.
 
 3.2.2 Impact on Routers
 
    The solution MAY require changes to IPv6 router implementations, but
    these changes must be either minor, or in the form of logically
    separate functions added to existing functions.
 
    Such changes MUST NOT prevent normal single-homed operation, and
    routers implementing these changes must be able to interoperate fully
    with hosts and routers not implementing them.
 
 3.2.3 Impact on Hosts
 
    The solution MUST NOT destroy IPv6 connectivity for a legacy host
    implementing RFC 2373 [5], RFC 2460 [7], RFC 2553 [8] and other basic
    IPv6 specifications current in November 2001.  That is to say, if a
    host can work in a single-homed site, it must still be able to work
    in a multihomed site, even if it cannot benefit from site-
    multihoming.
 
    It would be compatible with this requirement for such a host to lose
    connectivity if a site lost connectivity to one transit provider,
    despite the fact that other transit provider connections were still
    operational.
 
    If the solution requires changes to the host stack, these changes
    MUST be either minor, or in the form of logically separate functions
    added to existing functions.
 
    If the solution requires changes to the socket API and/or the
    transport layer, it MUST be possible to retain the original socket
    API and transport protocols in parallel, even if they cannot benefit
    from multihoming.
 
    The multi-homing solution MAY allow host or application changes if
    that would enhance session survivability.

    The solution MAY involve interaction between a site's hosts and its
    routing system; such an interaction MUST be simple, scaleable and
    securable.

    It MUST be posssible for staff responsible for the operation of a
    site to monitor and configure the site's multihoming system.
 
|3.2.6 Cooperation between Transit Providers
 
|   A multihoming strategy MAY require cooperation between a site and its
|   transit providers, but MUST NOT require cooperation directly between
|   the transit providers.

    A multihomed site MUST be no more vulnerable to security breaches
    than a non-multihomed site.
 
 References

 

 

 
 
 Authors' Addresses
 
    Benjamin Black
    Layer8 Networks
 
    EMail: [email-masked]
 
    Vijay Gill
    MFN
    8075 Leesburg Pike
    Suite 300
    Vienna, VA  22182
    US
 
    Phone: +1 410 262 0660
    EMail: [email-masked]

    Joe Abley
    MFN
    10805 Old River Road
    Komoka, ON  N0L 1R0
    Canada
 
    Phone: +1 519 641 3738
    EMail: [email-masked]

 Full Copyright Statement

 

 Acknowledgement