requirements sub-group draft

From: Kastenholz, Frank (FKastenholz@unispherenetworks.com)
Date: Tue Dec 11 2001 - 12:26:23 EST


Folks

Here's the document that the requirements sub-group has
been working on. It's not 100% done yet but Sean felt
that since we were going to have a brief presentation
on this stuff at the RRG session at the IETF (thursday
afternoon) it probably would be a good idea if we
actually sent the thing out so folks could have a glimmer
of a chance of reading it :-)

My apologies for sending it out at this late date; due to
recent events we were sort of derailed for a while...

Anyway, comments and feedback are actively solicited. Please
send them to the mailing list (minor editorial things you
can send to me directly).

For those at the IETF meeting, you can find me around all week
if you want to chat.

Frank Kastenholz
                               o /
------------------------------- X -------------------------------
                               O \

     IRTF Routing Research Group F. Kastenholz, (ed)
     Internet Draft Unisphere Networks
     Document <draft-wgname-docname-00.txt> August 2001
     Category: Informational

                     Requirements For a New Inter-Domain
                     Routing and Addressing Architecture

     Status of this Memo

        This document is an Internet-Draft and is in full conformance
        with all provisions of Section 10 of RFC2026 [1].

        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.

       
     Kastenholz (ed) Informational - Expires 2/2002 1
                       Inter-domain Routing Requirements August, 2001
      
      

     Table of Contents

        1 Abstract........................................................3

        2 Conventions used in this document...............................3

        3 Requirements....................................................3

         3.1 Architecture...........................................4

         3.2 Separable Components...................................4

         3.3 Scalable...............................................5

         3.4 Lots of Interconnectivity..............................7

         3.5 Random Structure.......................................7

         3.6 Convergence............................................8

         3.7 Routing System Security...............................10

         3.8 End Host Security.....................................12

         3.9 Rich Policy...........................................12

         3.10 Incremental Deployment..............................13

         3.11 Multi-homing........................................14

         3.12 Multi-path..........................................14

         3.13 Mobility............................................15

         3.14 Address Portability.................................15

         3.15 Multi-Protocol......................................15

         3.16 Abstraction.........................................16

         3.17 Clean Slate.........................................16

         3.18 Interior and Exterior...............................16

         3.19 Simplicity..........................................17

         3.20 Robustness..........................................17

         3.21 Layer 2 Integration.................................18

         3.22 Stand-alone.........................................18

         3.23 Safety of Configuration.............................19

         3.24 Renumbering of Subnets..............................19

         3.25 Multi-prefix Subnets................................19

         3.26 Cooperative Anarchy.................................19

         3.27 Network Layer Protocols and Forwarding Model........19

         3.28 Routing Algorithm...................................19

         3.29 Positive Benefit....................................20

        4 Non-Requirements...............................................20

         4.1 Forwarding Table Optimization.........................20

         4.2 Traffic Engineering...................................20

         4.3 Multicast.............................................20

         4.4 QOS...................................................21

         4.5 IP Prefix Aggregation.................................21

         4.6 Perfect Safety........................................21

         4.7 Dynamic Load Balancing................................22

         4.8 Renumbering of hosts and routers......................22

        5 Discussion of other Inter-Domain Routing Requirements

        documents.........................................................22

       
     Kastenholz Informational -- Expires 2/2002 2
                       Inter-domain Routing Requirements August, 2001
      
      

         5.1 Comments on "Architectural Requirements for Inter-Domain

         Routing in the Internet"...................................23

         5.2 Comments on "Future Domain Routing Requirements"......24

        6 Security Considerations........................................26

        7 IANA Considerations............................................26

        8 References.....................................................26

        9 Acknowledgments................................................27

        10 Editor's Addresses............................................27

         

     1 Abstract

        This note contains requirements developed by the Routing
        Research Group, for a new inter-domain routing and addressing
        architecture for the Internet.

        The seemingly simple requirement is to "fix routing and
        addressing". However, in order to "fix" it, we also need to
        understand how routing and addressing are _really_ used today.
        This is not a straightforward task. Service providers and
        network administrators have many different operational and
        administrative needs. Quite often, the only tool available to
        meet those needs is the routing system and they have proven
        amazingly crafty at using that tool in ways that were never
        envisioned. Thus, one of the most important steps in
        developing these requirements has been to learn what the
        operational community really is doing with the routing system,
        why they are doing it, and then abstracting those tasks.

     2 Conventions used in this document

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

        Editor's Note:
            We have not yet gone through the document and done the
            required SHOULD/MUST/MAY/etc-ing.

     3 Requirements

        This chapter presents each of our requirements. We have
        endeavored to fashion these requirements rather than as a list
        of features to implement; in other words, we are trying to set
        out what the new architecture should do, not how it goes about
        doing it.

       
     Kastenholz Informational -- Expires 2/2002 3
                       Inter-domain Routing Requirements August, 2001
      
      
        The requirements presented in this section are NOT presented in
        any order. A later version of this note may order the
        requirements in some kind of priority.

     3.1 Architecture

        The new routing and addressing protocols, data structures, and
        algorithms MUST be developed from a clear, well thought out,
        documented, architecture.

        The new routing and addressing system must have an
        architectural specification which describes all of the routing
        and addressing elements, their interactions, what functions the
        system performs, and how it goes about performing them.

        The Architecture should be agnostic with regard to specific
        algorithms and protocols.

        Doing architecture before doing detailed protocol design is
        good engineering practice. This allows the architecture to be
        reviewed and commented upon, with changes made as necessary,
        when it is still easy to do so. Also, by producing an
        architecture, the eventual users of the protocols (the operator
        community) will have a better understanding of how the
        designers of the protocols meant them to be used.

     3.2 Separable Components

        The architecture MUST place different functions into separate
        components.

        Separating functions, capabilities, and so forth, into
        individual components, and making each component "stand alone"
        is generally considered by system architects to be "A Good
        Thing". It allows individual elements of the system to be
        designed and tuned to do their jobs "very well". It also
        allows for piecemeal replacement and upgrading of elements as
        new technologies and algorithms become available.

        The architecture MUST have the ability to replace or upgrade
        existing components, and to add new ones, without disrupting
        the remaining parts of the system. Operators must be able to
        roll out these changes and additions incrementally (i.e. no
        "flag days"). These abilities are needed to allow the
        architecture to evolve as the Internet changes.

        The Internet Routing Architecture should be divided into
        components, each doing a specified, targeted, job. The
        Architecture Specification shall define each of these
        components, their jobs, and their interactions.

        Some thoughts to consider along these lines are

       
     Kastenholz Informational -- Expires 2/2002 4
                       Inter-domain Routing Requirements August, 2001
      
      
          o Making topology and addressing separate subsystems. This
             may allow highly optimized topology management and
             discovery without constraining the addressing structure or
             physical topology in unacceptable ways.

          o Separate "fault detection and healing" from basic
             topology. From Mike O'Dell:

               "Historically the same machinery is used for both.
               While attractive for many reasons, the availability of
               exogenous topology information (i.e., the intended
               topology) should, it seems, make some tasks easier than
               the general case of starting with zero knowledge. It
               certainly helps with recovery in the case of constraint
               satisfaction. In fact, the intended topology is a
               powerful way to state certain kinds of policy.

          o Making policy definition and application a separate
             subsystem, layered overtop of the others.

     3.3 Scalable

        Scaling is the primary problem facing the routing and
        addressing architecture today. This problem must be solved and
        it must be solved for the long term.

        The Architecture must support a large network. Ideally, it
        will serve our needs for the next 20 years. Unfortunately
        1. We do not really know how big the Internet will grow over
             that time, and
        2. The architecture developed from these requirements may
             change the fundamental structure of the Internet, and
             therefore its growth patterns. This change makes it
             difficult to predict future growth patterns of the
             Internet.

        As a result, we can't really quantify the requirement in any
        meaningful way. Using today's architectural elements as a
        mechanism for describing things, we believe that the network
        could grow to
        1. Tens of thousands of AS's
        2. 10's of millions to 100's of millions of prefixes during
             the lifetime of this architecture.
        These sizes are given as a 'flavor' for how we expect the
        Internet to grow. We fully believe that any new architecture
        may eliminate some current architectural elements and introduce
        new ones.

        A new routing and addressing architecture designed to a
        specific network size would be inappropriate. First, the cost
        of routing calculations is based only in part on the number of
        AS's or prefixes in the network. The number and locations of

       
     Kastenholz Informational -- Expires 2/2002 5
                       Inter-domain Routing Requirements August, 2001
      
      
        the links in the network is also a significant factor. Second,
        past predictions of Internet growth and topology patterns have
        proven to be wildly inaccurate so developing an architecture to
        a specific size goal would at best be shortsighted.

        So we will not make the scaling requirement based on a specific
        network size. Instead, the new routing and addressing
        architecture should have the ability to constrain the increase
        in load (CPU, memory space and bandwidth, and network
        bandwidth) on ANY SINGLE ROUTER to be less than a specific
        function. We currently see the following functions:

        1. The computational power and memory sizes required to execute
           the routing protocol software and to contain the tables must
           be less than the growth in hardware capabilities described
           by Moore's Law, which has hardware capabilities doubling
           every 18 months or so. Other observations indicate that
           memory sizes double every 2 years or so.

        2. Network bandwidth and latency are some key constraints on
           how fast routing protocol updates can be disseminated (and
           therefore how fast the routing system can adapt to changes).
           Raw network bandwidth seems to quadruple every 3 years or
           so. However, it seems that there are some serious physics
           problems in going faster than 40gbits (OC768). We should
           not expect raw network link speed to grow much beyond OC768.
           In addition, for economic reasons, large swathes of the core
           of the Internet will still operate at lower speeds, possibly
           as slow as DS3.

        3. The speeds of high-speed RAMS (SRAMs, used for caches and
           the like) are growing, though slowly. Because of their use
           in caches and other very specific applications, these RAMs
           tend to be small, a few megabits. Furthermore, the size of
           these RAMs is not increasing very rapidly.

           On the other hand, the speed of "large" memories (DRAMs) is
           increasing even slower than that for the high speed RAMS.
           This is because the development of these RAMs is driven by
           the PC market, where size is very important, and low speed
           can be made up for by better caches.

           Memory access rates should not be expected to increase
           significantly.

        The growth in resources available to any one router will
        eventually slow down. It may even stop. Even so, the network
        will continue to grow. The routing and addressing architecture
        must continue to scale in even this extreme condition. We can
        not continue to add more computing power to routers forever.
        Other strategies must be available. Some possible strategies
        are hierarchy, abstraction, and aggregation.

       
     Kastenholz Informational -- Expires 2/2002 6
                       Inter-domain Routing Requirements August, 2001
      
      

     3.4 Lots of Interconnectivity

        The new routing and addressing architecture MUST be able to
        cope with a high degree of interconnectivity in the Internet.
        That is, there are large numbers of alternate paths and routes
        among the various elements. Mechanisms are required to prevent
        this interconnectivity (and continued growth in
        interconnectivity) from causing tables, compute time, and
        routing protocol traffic to grow without bound.

        Over the past several years, the Internet has seen an increase
        in interconnectivity. That is, individual end sites
        (companies, customers, etc), ISPs, exchange points, and so on,
        all are connecting up to more "other things". Company's multi-
        home to multiple ISPs, ISPs peer with more ISPs, and so on.
        These connections are made for many reasons, such as getting
        more bandwidth, increased reliability and availability, policy,
        and so on. This increased interconnectivity leads to even more
        scaling problems as it increases the number of AS paths in the
        networks.

        Any new architecture must assume that the Internet becomes
        "meshier" (as well as messier?). It cannot assume, nor can it
        dictate, certain patterns or limits on how various elements of
        the network interconnect.

        Another facet of this requirement is that when there are
        multiple valid paths available, all valid paths should be used
        for forwarding traffic. Forwarding tables are updated and
        traffic is rerouted as individual paths come and go.

        This requirement is another facet of the "Random Structure"
        requirement.

        We wryly note that one of the original design goals of IP was
        to support a large, heavily interconnected, network, which
        would be highly survivable (such as in the face of a nuclear
        war).

     3.5 Random Structure

        The routing and addressing architecture must not make any
        constraints on or assumptions about the topology or
        connectedness of the elements comprising the Internet.

        The network does not have a "nice" structure. In the past we
        used to believe that there was this nice "backbone/tier-1/tier-
        2/end-site" sort of hierarchy. This is not so. Therefore, any
        new Architecture must not presume any such structure.

        Some have proposed that a geographic addressing scheme be used,
        requiring exchange points to be situated within each geographic

       
     Kastenholz Informational -- Expires 2/2002 7
                       Inter-domain Routing Requirements August, 2001
      
      
        'region'. There are many reasons why we believe this to be a
        bad approach, but those arguments are irrelevant. The main
        issue is that the routing architecture should not presume a
        specific network structure.

     3.6 Convergence

        The speed of convergence (also called the "stabilization time")
        is the time it takes for a router's routing processes to come
        up with a new, stable, "solution" (i.e. forwarding information
        base) after a change someplace in the network. In effect, what
        happens is that the output of the routing calculations
        stabilizes -- the Nth iteration of the software produces the
        same results as the N-1th iteration.

        The speed of convergence is generally considered to be a
        function of the number of subnetworks in the network and the
        amount of connections between those networks. As either number
        grows, the time it takes to converge increases.

        In addition, because of policies embedded in the routing
        system, a change can "ripple" back and forth through the
        system. Simply put, one change can go through the system,
        causing some other router to change its advertised
        connectivity, causing a new change to ripple through. These
        oscillations can take a while to work their way out of the
        network. It is also possible that these ripples never die out.
        In this situation the routing and addressing system is
        unstable; it never converges.

        Finally, it is more than likely that the routers comprising the
        Internet never converge simply because the Internet is so large
        and complex. Assume it takes S seconds for the routers to
        stabilize on a solution for any one change to the network (a
        change being a link being added or deleted, a policy update,
        and so on). Also assume that changes occur, on average, every
        C seconds. Because of the size and complexity of the Internet,
        C<S. Therefore, if a change occurs at time T, the routing
        system would stabilize at time T+S, but a new change will occur
        at time T+C, which is before T+S. The system will start
        processing the new change before it's done with the old.

        This is not to say that all routers are constantly processing
        changes. The effects of changes are like ripples in a pond.
        They spread outward from where they occur. Some routers will
        be processing just the first change, others the second, others
        both, and others neither.

        We have two separate scopes over which we can set requirements
        with respect to convergence:

       
     Kastenholz Informational -- Expires 2/2002 8
                       Inter-domain Routing Requirements August, 2001
      
      
        1. Single Change
           In this requirement a single change of any type (link
           addition or deletion, router failure or restart, etc.) is
           introduced into a stabilized system. No additional changes
           are introduced. The system must restabilize within TBDms.
           This requirement is a fairly abstract one as it would be
           impossible to test in a real network.

        2. System-wide
           Defining a single target for maximum convergence time for
           the real Internet is absurd. As we mentioned earlier, the
           Internet is large enough and diverse enough so that it is
           quite likely that new changes are introduced somewhere
           before the system fully digests old ones.

           So, the first requirement here is that mechanisms be
           available to limit the scope of any one change's visibility
           and effects. The number of routers that have to perform
           calculations in response to a change is kept small, as is
           the settling time.

           The second requirement is based on the following assumptions

               - the scope of a change's visibility and impact can be
                  limited. That is, routers within that scope know of
                  the change and recalculate their tables based on the
                  change. Routers outside of the scope don't see it at
                  all.

               - Within any scope, S, network changes are constantly
                  occurring and the average inter-change interval is Tc
                  seconds.

               - There are Rs routers within scope S

               - A subset of the destinations known to the routers in
                  S, Ds, are impacted by a given change.

               - We can state that Z% of the time, within Y% of Tc
                  seconds after a change, C, X% of the Rs routers have
                  their routes to Ds settled to a useful answer (useful
                  meaning that packets can get to Ds, thought perhaps
                  not by the optimal path -- this allows some 'hunting'
                  for the optimal solution)

               X, Y, Z, ARE TBD

           This requirement implies that the scopes can be kept
           relatively small in order to minimize Rs and maximize Tc.

        The growth rate of the convergence time must not be related to
        the growth rate of the Internet as a whole. This implies that
        the convergence time either
       
     Kastenholz Informational -- Expires 2/2002 9
                       Inter-domain Routing Requirements August, 2001
      
      
        1. Not be a function of basic network elements (such as
           prefixes and links/paths), and/or
        2. That the Internet be continuously divisible into chunks that
           limit the scope and effect of a change, thereby limiting the
           number of routers, prefixes, links, and so on involved in
           the new calculations.

     3.7 Routing System Security

        The security of the Internet's routing system is paramount. If
        the routing system is compromised or attacked, the entire
        Internet can fail. This is unacceptable. Any new Architecture
        must be secure.

        Security means different things to different people. In order
        for this requirement to be useful, we must define what we mean
        by security. We do this by identifying the attackers and
        threats we wish to protect against. They are:

        Masquerading
           The system, including its protocols, must be secure against
           intruders adopting the identity of other known, trusted,
           elements of the routing system and then using that position
           for carrying out other attacks.

        DOS Attacks
           The architecture and protocols should be secure against DOS
           attacks directed at the routers.

           The new architecture should also provide as much information
           as it can to allow administrators to track down sources of
           DOS and DDOS attacks.

        No Bad Data
           Any new architecture and protocols must provide protection
           against the introduction of bad, bogus, or misleading, data
           by attackers. Of particular importance, an attacker must
           not be able to redirect traffic flows, with the intent of
            o Directing legitimate traffic away from a target, causing
               a denial-of-service attack by preventing legitimate data
               from reaching its destination,
            o Directing additional traffic (going to other
               destinations which are 'innocent bystanders') to a
               target, causing the target to be overloaded, or
            o Directing traffic addressed to the target to a place
               where the attacker can copy, snoop, alter, or otherwise
               munge the traffic.

        Topology Hiding
           Any new architecture and protocols must provide mechanisms
           to allow network owners to hide the details of their

       
     Kastenholz Informational -- Expires 2/2002 10
                       Inter-domain Routing Requirements August, 2001
      
      
           internal topologies, yet maintaining the desired levels of
           connectivity and reachability.

        Privacy
           By "privacy" we mean privacy of the routing protocol
           exchanges between routers. In the past this has not been
           considered important for routing protocols.

           When the routers are on point-to-point links, with routers
           at each end, there is no need to encrypt the routing
           protocol traffic; there is no possibility of a third party
           intercepting the traffic, and if one of the two routers are
           compromised then it doesn't matter. This is not sufficient.
           We believe that it is important to have the ability to
           protect routing protocol traffic in two cases:
            1. When the routers are on a shared network it is possible
               that there are hosts on the network that have been
               compromised. These hosts could surreptitiously monitor
               the protocol traffic.
            2. When two routers are exchanging information "at a
               distance" (over intervening routers and, possibly,
               administrative domains). In this case, the security of
               the intervening routers, links, and so on, cannot be
               assured. Thus, the ability to encrypt this traffic is
               important.

           Therefore, we believe that the option to encrypt routing
           protocol traffic is required.

        Data Consistency
           A router should be able to detect and recover from any data
           that is received from other routers which is inconsistent.
           That is, it MUST NOT be possible for data from two routers,
           neither of which is malicious, to "break" a third router.

           Editor's Note:
               This is poorly worded. I'm trying to say that there
               should be no otherwise good data that, when combined on
               some other router, conspire to break that router or
               routing in general. Good text desperately sought!

        Security is provided through a combination of approaches, some
        in the routing, operation, and administration protocols and
        others in the fundamental architecture.

        Where security mechanisms are provided, they must use methods
        that are considered to be cryptographically secure (e.g. using
        cryptographically strong encryption and signatures -- no clear
        text passwords!).

       
     Kastenholz Informational -- Expires 2/2002 11
                       Inter-domain Routing Requirements August, 2001
      
      

     3.8 End Host Security

        The Architecture must not prevent individual host-to-host
        communications sessions from being secured (i.e. it cannot
        interfere with things like IPSEC).

        There are also concerns about the privacy of hosts. In
        particular, "stamping" each host with an invariant and possibly
        widely known "ID" is considered unacceptable. The architecture
        must not rely on any such host ID.

        We do note, however, that things like host addresses need to be
        fairly invariant and entered into DNS in order to effect
        communications.

     3.9 Rich Policy

        Editor's Note
            I am unhappy with this section. I think it says what I
            think I heard people say they think they want out of what
            they think they call "policy" (!). But I, obviously, am
            not sure. Also, I do not like the way the wording has
            turned out, editorially. And I still feel that something
            is "missing" (though I can't say what). Sigh.

        Before setting out Policy requirements, we need to define the
        term. Like "security", "policy" means many things to many
        people. For our purposes, we define policy as

            Policy is the administrative influences that alter the
            criteria used in the path and next-hop selection procedures
            of the routing software.

        That is, policy is what drives the configuration information
        that administrators enter into the system in order to change
        what next hops, paths, and so on, the routing system chooses.
        The main motivators for influencing path and next-hop selection
        seem to be transit rules, business decisions and load
        management.

        The transit rules define for whom a given service provider will
        carry traffic. Backbone networks tend to carry traffic going
        to any destination in the Internet while access networks tend
        to limit traffic to that going to or from their customers.
        There are, of course, many other variants.

        The business reasons for altering path selection are as varied
        as the number of service providers. Some considerations are
        NEED MORE ABOUT THE BUSINESS MODEL GLORP
        1. Giving different routing information to different peers,

       
     Kastenholz Informational -- Expires 2/2002 12
                       Inter-domain Routing Requirements August, 2001
      
      
        2. Causing certain customers' traffic to take "special" routes
           (e.g., a 'gold' customer's traffic might get shunted to a
           special path)

        Load Management is sometimes called traffic engineering today.
        Some of the basic goals are
        1. To prevent overloads (and to route around them when they
           appear)
        2. To prevent imbalances in traffic flows (eg, if there are two
           otherwise equally valid paths, traffic should be relatively
           balanced over them
        3. To try and get outbound traffic off of a provider's network
           as soon as possible (and to keep inbound traffic out of the
           network for as long as possible). Of course, these are
           conflicting goals in a multi-provider environment.

        WHAT ELSE DO I PUT IN HERE?????????????????????????????

        For the purposes of this note, "policy" does not does not cover
        things that are local to a single router. We believe that
        these are implementation issues. I NEED MORE DETAIL ON WHAT IS
        "NOT" A POLICY HERE!!!!

        The new Architecture must support rich policy mechanisms.
        Furthermore, the policy definition and dissemination processes
        should be separated from the network topology and connectivity
        dissemination processes. Policy must inform and control the
        generation of the forwarding table and the abstraction,
        filtering, aggregation, and dissemination of topology
        information.

        The finest granularity of a policy is an IPv4/6 prefix. The
        prefix could be the source prefix or the destination prefix.
        Things that are explicitly outside the scope of Policy are:
          o Protocol and port based functions,
          o TOS/QOS/DiffServ related operations
          o Per-host operations (i.e. /32s for IPv4 and /128s for
             IPv6),
          o Traffic matrices (e.g., traffic from prefix X and to
             prefix Y).

        Note that if the architecture is properly divided into
        subsystems then at a later time, new policy subsystems that
        include new features and capabilities could be developed and
        installed

     3.10 Incremental Deployment

        The reality of the Internet is that there can be no Internet-
        wide cutover from one architecture and protocol set to another.
        This means that any new architecture needs to be incrementally
        deployable; ISPs will need to set up small sections of the new

       
     Kastenholz Informational -- Expires 2/2002 13
                       Inter-domain Routing Requirements August, 2001
      
      
        architecture, check it out, and then slowly grow the sections.
        Eventually, these sections will "touch" and "squeeze out" the
        old architecture.

        The Architecture must be incrementally deployable.

        The protocols that implement the Architecture must be able to
        interoperate at "production levels" with currently existing
        routing protocols. Furthermore, the protocol specifications
        must define how the interoperability is done.

        The architecture's addressing system must not force existing
        address allocations to be redone: no renumbering!

     3.11 Multi-homing

        The Architecture must provide for multi-homing of all elements
        of the Internet. That is, multihoming of end-sites, "low-
        level" ISPs, and backbones (i.e. lots of redundant
        interconnections) must be supported. Multi-homing is done for
        reliability, to support load sharing, for performance tuning,
        among other reasons.

        The architecture must not limit the number of alternate paths
        to a multi-homed site.

        When multi-homing, it must be possible to use one, some (more
        than one but less than all) or all of the available paths to
        the multi-homed site. The multi-homed site must have the
        ability to declare which path(s) are used and under what
        conditions.

        A current problem in the Internet is that multihoming leads to
        undue increases in the size of the BGP routing tables. The new
        architecture must support multi-homing without causing undue
        routing table growth.

     3.12 Multi-path.

        As a corollary to multi-homing, the Architecture must allow for
        multiple paths from a source to a destination to be active at
        the same time. These paths need not have the same metrics.
        Policies are to be used to disseminate the metrics and to
        classify traffic for the different paths.

        There must be a rich "language" for use in specifying the rules
        for classifying the traffic and assigning classes of traffic to
        different paths (or prohibiting it from certain paths). The
        rules for classification should allow traffic to be classified
        based on
          o IPv6 FlowIDs
          o TOS byte

       
     Kastenholz Informational -- Expires 2/2002 14
                       Inter-domain Routing Requirements August, 2001
      
      
          o Source and/or Destination prefixes
          o Random selections at some probability
          o ...

        A mechanism is needed that allows operators to plan and manage
        the traffic load on the various paths. To start, this
        mechanism can be semi-automatic, or even manual. Eventually it
        ought to become fully automatic.

        When multi-path forwarding is used, options must be available
        to preserve packet ordering where appropriate (such as for
        individual TCP connections).

        Past experience with dynamic load-balancing and management over
        multiple paths has been bad. Typically, traffic would
        oscillate, first all traffic would go over one path, then it
        would all be 'migrated' to a different path, and then back
        again. Significant research is needed in this area.

     3.13 Mobility

        There are two kinds of mobility; host mobility and network
        mobility. Host mobility is when an individual host moves from
        where it was to where it is. Network mobility is when an
        entire network (or subnetwork) moves.

        In the Internet Architecture, host-mobility is handled on a
        per-host basis by a dedicated, Mobile-IP protocol [6]. Traffic
        destined for a mobile-host is explicitly forwarded by dedicated
        relay agents. Mobile-IP [6] adequately solves the host-
        mobility problem and we do not see a need for any additional
        requirements in this area. Of course, the new architecture
        MUST NOT impede or conflict with Mobile-IP.

        Network mobility is when an entire network (identified by an IP
        Address prefix) moves from here to there. Examples might be
        cars, or personal area networks. The new architecture must
        support network level mobility.

     3.14 Address Portability

        One of the big "hot items" in the current Internet political
        climate is portability of IP addresses (both V4 and V6). The
        short explanation is that people do not like to renumber and do
        not trust automated renumbering tools. Thus, the Architecture
        MUST provide complete address portability.

     3.15 Multi-Protocol

        The Internet is expected to be "multi-protocol" for at least
        the next several years. IPv4 and IPv6 will co-exist in many
        different ways during a transition period. Any new routing and

       
     Kastenholz Informational -- Expires 2/2002 15
                       Inter-domain Routing Requirements August, 2001
      
      
        addressing architecture must be able to handle both IPv4 and
        IPv6 addresses.

        Furthermore, the architecture cannot assume any given
        relationships between a topological element's IPv4 address and
        its IPv6 address. The architecture cannot assume that all
        topological elements have IPv4 addresses/prefixes, nor can it
        assume that they have IPv6 addresses/prefixes.

        Editor's Note:
           Does MPLS get rolled in here too? How about all the other
           sub-ip-glorp?

     3.16 Abstraction

        The architecture must provide mechanisms to for network
        designers and operators to
          o Group elements together for administrative control
             purposes,
          o Hide the internal structure and topology of those
             groupings for administrative and security reasons,
          o Limit the amount of topology information that is exported
             from the groupings in order to control the load placed on
             external routers,
          o Define rules for traffic transiting or terminating in the
             grouping.

        The architecture MUST allow the current Autonomous System
        structure to be mapped into any new administrative domains.

     3.17 Clean Slate

        For the purposes of development of the architecture, we assume
        that there is a 'clean slate'. We explicitly assume that the
        concepts and mechanisms of the current IDR architecture do not
        need to be carried forward in the new architecture.

        Obviously, this point must be "used with care". Equal care
        must be taken to the competing need for the architecture to be
        deployable, and incrementally deployable. For example, if the
        architecture was designed so that every end-node of the
        Internet needed to be upgraded simultaneously, that
        architecture would not be valid (yes, this is an extreme
        example, but it serves to make the point).

     3.18 Interior and Exterior

        We explicitly reject the notion that, architecturally, the
        "interior" of a topological element is somehow fundamentally
        different from its "exterior". The exterior of one topological
        element may be the interior of another (and vice versa). As

       
     Kastenholz Informational -- Expires 2/2002 16
                       Inter-domain Routing Requirements August, 2001
      
      
        described in "Abstractions", above, these elements can be
        connected together in various ways.

        The architecture must not constrain certain protocols, or
        classes of protocols, to operate at specific levels of a
        hierarchy or in an "exterior" or an "interior" role.

        To state this more concretely with regard to the current
        routing architecture, the new architecture shall not have the
        EGP/IGP split.

        Clarification:
               We do recognize that at different points in the
               Internet, routing protocols with different properties
               and capabilities are desired and this need has driven
               the EGP/IGP split. What we reject is that it must be a
               two-way split and only a two-way split.

        Editor's Note:
               We need words here to say that we are not replacing all
               routing protocols in one big go -- there must be co-
               existence, and we must be able to subsume some existing
               protocols in places -- OSPF/ISIS/RIP all work well in
               their corners of the net]

     3.19 Simplicity

        The architecture MUST be sufficiently simple that Radia
        canexplain all the important concepts in less than an hour.

        The requirement is that the routing architecture be kept as
        simple as possible. This requires careful evaluation of
        possible features and functions with a merciless weeding out of
        those that "might be nice".

        By keeping the architecture simple, the protocols and software
        used to implement the architecture are simpler. This
        simplicity in turn leads to:

        1. Faster implementation of the protocols. If there are fewer
           bells and whistles, then there are fewer things that need to
           be implemented.

        2. More reliable implementations. With fewer components, there
           is less code, reducing bug counts, and fewer interactions
           between components that could lead to unforeseen and
           incorrect behavior

     3.20 Robustness

        The architecture, and the protocols implementing it, should be
        robust. Robustness comes in many different flavors. Some

       
     Kastenholz Informational -- Expires 2/2002 17
                       Inter-domain Routing Requirements August, 2001
      
      
        considerations with regard to robustness include (but are not
        limited to):
          o Defective (even malicious) trusted routers.
          o Network failures. Whenever possible, valid alternate
             paths are to be found and used.
          o Failures must be localized. That is, the architecture
             must limit the "spread" of any adverse effects of a
             misconfiguration or failure. Badness must not spread.
          o ??????????????????????????????????????????????????There's
             got to be more!

        Of course, the general robustness principle of being liberal in
        what's accepted and conservative in what's sent must also be
        applied.

        EDITOR'S NOTE:
               I made this a separate, robustness, requirement even
               though Radia suggested/implied/I-read-her-note-as-saying
               it should be a part of security. First, security in too
               many peoples' minds means "protection from break-ins"
               and the like. This goes beyond that. So I figure by
               making a new requirement, things would be clearer.
               Second, by adding 'robustness' we have a new thing to
               talk about...

     3.21 Layer 2 Integration

        While it is an article of faith that IP operates over a wide
        variety of lower layers, layer-3 (i.e., IP) routing must take
        an agnostic view towards any "routing" or "topology" services
        that are offered by layer 2. That is, the new architecture
        MUST NOT be designed to integrate with any specific layer-2
        topology management or routing scheme. A strict layer-2/layer-
        3 separation MUST be honored.

        The routing architecture must assume, and must work over, the
        simplest possible layer-2.

        The routing and addressing architecture can certainly make use
        of Layer-2 information when and where available, and to the
        extent that IP routing wishes.

     3.22 Stand-alone

        The routing architecture and protocols must not rely on other
        components of the Internet (such as DNS) for their correct
        operation. Routing is the fundamental procedure by which data
        "finds its way around the Internet" and most, if not all, of
        those other components rely on routing to properly forward
        their data. Thus, Routing cannot rely on any Internet systems,
        services or capabilities that in turn rely on Routing. If it
        did, a dependency loop would result.

       
     Kastenholz Informational -- Expires 2/2002 18
                       Inter-domain Routing Requirements August, 2001
      
      

     3.23 Safety of Configuration

        The architecture, protocols, and standard implementation
        defaults must be such that a router installed "out of the box"
        with no configuration/etc by the operators will not cause "bad
        things" to happen to the rest of the routing system (no dialup
        customers advertising routes to 18/8!)

     3.24 Renumbering of Subnets

        The routing system must allow for subnets to be renumbered.

     3.25 Multi-prefix Subnets

        The routing system must allow subnets to have multiple
        prefixes. This may be required for renumbering.

     3.26 Cooperative Anarchy

        As RFC1726[5] said:

          A major contributor to the Internet's success is the fact
          that there is no single, centralized, point of control or
          promulgator of policy for the entire network. This allows
          individual constituents of the network to tailor their own
          networks, environments, and policies to suit their own needs.
          The individual constituents must cooperate only to the degree
          necessary to ensure that they interoperate.

        This decentralization, called "cooperative anarchy", is still a
        key feature of the Internet today. The new routing
        architecture MUST retain this feature. There can be no
        centralized point of control or promulgator of policy for the
        entire Internet.

     3.27 Network Layer Protocols and Forwarding Model

        Any new routing and addressing architecture and protocols MUST
        work with IPv4 and IPv6 using the traditional "hop by hop"
        forwarding model. Additional forwarding models MAY be added.

        Editor's Note
             MPLS?

     3.28 Routing Algorithm

        The architecture MUST NOT require a particular routing
        algorithm family. That is to say, the architecture must be
        agnostic with regard to using link-state, distance-vector, or
        path-vector routing algorithms.

       
     Kastenholz Informational -- Expires 2/2002 19
                       Inter-domain Routing Requirements August, 2001
      
      

     3.29 Positive Benefit

        Finally, the architecture must show benefits, in terms of
        increased stability, decreased operational costs, and increased
        functionality and lifetime over the current schemes. This
        benefit must remain even after the inevitable costs of
        developing and debugging the new protocols, enduring the
        inevitable instabilities as things get shaken out, and so on.

     4 Non-Requirements

        The following are not required or are non-goals. This should
        not be taken to mean that these issues must not be addressed by
        a new architecture. Rather, addressing these issues or not is
        purely a matter for the architects. The only caveat is that
        the architecture must not deal with one of these issues at the
        expense of not dealing with the required issues.

     4.1 Forwarding Table Optimization

        We believe that it is not necessary for the architecture to
        minimize the size of the forwarding tables (FIBS). Current
        memory sizes, speeds, and prices, along with processor and ASIC
        capabilities allow forwarding tables to be very large, O(E6),
        and fast (100M lookups/second) tables to be built with little
        difficulty.

     4.2 Traffic Engineering

        Traffic Engineering is one of those terms that has become
        terribly overloaded. If you ask N people what traffic
        engineering is, you get something like N! disjoint answers.
        Therefore, we elect not to require "traffic engineering", per
        se. Instead, we have endeavored to determine what the ultimate
        intent is when operators "traffic engineer" their networks and
        then make those capabilities an inherent part of the system.

     4.3 Multicast

        The new architecture is not designed explicitly to be an inter-
        domain multicast routing architecture. However, given the
        notable lack of a viable, robust, and widely deployed inter-
        domain multicast routing architecture, the architecture should
        not hinder the development and deployment of inter-domain
        multicast routing without adverse effect on meeting the other
        requirements.

        We do note however that one respected network sage has said
        (roughly)
               When you see a bunch of engineers standing around
               congratulating themselves for solving some particularly

       
     Kastenholz Informational -- Expires 2/2002 20
                       Inter-domain Routing Requirements August, 2001
      
      
               ugly problem in networking, go up to them, whisper
               "multicast", jump back, and watch the fun begin...

     4.4 QOS

        The Architecture concerns itself primarily with disseminating
        network topology information so that routers may select paths
        to destinations and build appropriate forwarding tables. QOS
        is not a part of this function and we make no requirements with
        respect to QOS.

        However, QOS is an area of great and evolving interest. It is
        reasonable to expect that in the not too distant future,
        sophisticated QOS facilities will be deployed in the Internet.
        Any new architecture and protocols should be developed with an
        eye towards these future evolutions. Extensibility mechanisms,
        allowing future QOS routing and signaling protocols to "piggy-
        back" on top of the basic routing system are desired.

     4.5 IP Prefix Aggregation

        There are no requirements that IP Prefix aggregation be done by
        the new architecture. In fact, it is an explicit goal not to
        do so. Address allocation policies, societal pressure, and the
        random growth and structure of the Internet have all conspired
        to make prefix aggregation extraordinarily difficult, if not
        impossible.

        This means that large numbers of prefixes will be sloshing
        about in the routing system and that forwarding tables will
        grow quite big. This is a cost that we believe must be borne.

        Nothing in this non-requirement should be interpreted as saying
        that prefix aggregation is explicitly prohibited. Wherever, by
        good fortune, it can be done, it should be done.

     4.6 Perfect Safety

        Making the system impossible to misconfigure is, we believe,
        not required. The checking, constraints, and controls
        necessary to achieve this could, we believe, prevent operators
        from performing necessary tasks in the face of unforeseen
        circumstances.

        However, safety is always a "good thing", and any results from
        research in this area should certainly be taken into
        consideration and, where practical, incorporated into the new
        routing architecture.

       
     Kastenholz Informational -- Expires 2/2002 21
                       Inter-domain Routing Requirements August, 2001
      
      

     4.7 Dynamic Load Balancing

        Past history has shown that using the routing system to perform
        highly dynamic load balancing among multiple more-or-less-equal
        paths usually ends up causing all kinds of instability, etc, in
        the network. Thus, we do not require such a capability.

        However, this is an area that is ripe for additional research,
        and some believe that the capability will be necessary in the
        future. Thus, the architecture and protocols should be
        "malleable" enough to allow development and deployment of
        dynamic load balancing capabilities, should we ever figure out
        how to do it.

     4.8 Renumbering of hosts and routers

        We believe that the routing system is not required to "do
        renumbering" of hosts and routers. That's an IP issue.

        Of course, the routing and addressing architecture must be able
        to deal with renumbering when it happens.

     5 Discussion of other Inter-Domain Routing Requirements documents

        Recently, two other Internet Drafts have been published that
        set out some requirements for a new Inter-Domain routing
        architecture. These drafts are "Future Domain Routing
        Requirements" by Elwyn Davies, et al [3], and "Architectural
        Requirements for Inter-Domain Routing in the Internet" by Geoff
        Huston [4].

        Rather than use these documents, we decided to develop our own
        set of requirements for a future inter-domain routing
        architecture. The reasons are

        1. There are requirements in [3] and [4] with which we do not
             agree, plus we have additional requirements that are not
             in those documents.

        2. We do not agree with the methodology in [3] and [4]. In
             particular, [3]'s list of requirements seems to us like an
             exhaustive list of things, falling dangerously close to
             the "My Layer MUST solve all of networking's problems"
             disease. One of the hardest parts of setting requirements
             is to determine what problems will NOT be solved.

        [3] and [4] each provide excellent historical background
        information. Rather than repeat the information here, readers
        are encouraged to consult those documents.

        Discussions and commentary on each internet-draft follow.

       
     Kastenholz Informational -- Expires 2/2002 22
                       Inter-domain Routing Requirements August, 2001
      
      

     5.1 Comments on "Architectural Requirements for Inter-Domain

         Routing in the Internet"

        The IAB have developed an internet-draft titled "Architectural
        Requirements for Inter-Domain Routing in the Internet" [4].
        Rather than using [4], we have produced our own document.

        A good part of [4] is a detailed explanation of the current
        problems in routing and addressing. This work is valuable. We
        chose not to replicate it in this note.

        The main reason we decided not to use [4] is that it is too
        rooted in the current BGP/AS model. We believe that the
        charter for the Routing Research Group is to work on longer-
        term futures, including the possibility of replacing that
        model. We wish to develop our requirements in a forward-
        looking manner and using requirements rooted in the old model
        may cause us to unwittingly constrain our thinking.

        [4] Enumerates four requirements for a new routing
        architecture. These requirements are fairly broad and loose.
        They are:

        Scalability
            We agree. The new architecture must be scalable. We have
            included a requirement for scalability.

        Stability and Predictability
            Yes, the routing and addressing architecture should be
            stable and predictable. However, we are not sure that
            overall this is possible.

        Convergence
            Fast convergence would be nice. However, the size and
            complexity of the Internet are such that we do not believe
            that the entire net can ever converge. Changes with global
            impact will always be happening and their effects will be
            constantly propagating through the network. We expect that
            any routing system will, at best, be able to converge
            incrementally. That is, in any one place, convergence with
            respect to one change can occur, but before the entire net
            converges, another change will occur, requiring a new set
            of calculations and a "new" convergence.

            We prefer to believe that convergence at any single point
            and after any single change must occur quickly. Also,
            since we expect that the network will constantly by (re-
            converging, so the load of those attempts must be minimal.

        Routing Overhead
            Routing overhead should be minimized. True.

       
     Kastenholz Informational -- Expires 2/2002 23
                       Inter-domain Routing Requirements August, 2001
      
      

     5.2 Comments on "Future Domain Routing Requirements"

        A separate group is developing a document titled "Future Domain
        Routing Requirements" [3].

        Rather than using [3], we have produced our own document. As
        with [4] we believe that this document is too rooted in the
        current BGP/AS model, which is not a useful context for
        developing long-term future architectures.

        We have a number of observations on [3], in no particular
        order:

          1. The introductory/historical/background is fine. In fact,
             that material should be considered "required reading" to
             understand the background and current problems of Internet
             Routing. We commend the authors of [3] for putting this
             material together.

          2. The "goals" section (1.2) seems to be heavily oriented to
             specific issues and tasks that network designers and
             administrators face today. Our charter calls for us to
             consider the very long term. Thus, it is hard to say what
             specific tasks the operations community needs to perform.
             Therefore, we prefer to take a broader view of what
             routing should do and have written our document
             accordingly.

          3. [3] Seems still wedded to the old BGP/AS model of doing
             inter-domain routing. That may well be an adequate model.
             However, the Routing Research Group's charter is to
             consider and develop long-term future directions in
             routing. We prefer to develop our own document, trying to
             avoid falling into the "traps" of the past.

          4. The document seems to be an exhaustive wish list of
             things. The hardest part of doing requirements is to
             figure out what not to require. Coincident with that
             observation, there were a couple of "would be nice" and
             "might be needed" sorts of things. The fear is that they
             fell into the trap of "All problems must be solved in our
             layer", which leads to very poor architectures and
             designs.

          5. They call for "support for NATs and other mid-boxes". If
             the Routing and Addressing architecture is "right" then
             there is no need for them, at least as far as Routing and
             Addressing are concerned.

             Also, we are confused as to what "support for NATs..."
             actually means.

       
     Kastenholz Informational -- Expires 2/2002 24
                       Inter-domain Routing Requirements August, 2001
      
      
          6. The authors of [3] talk a fair bit about some low-level
             things they want. Our opinion is that we are looking "too
             far out" to talk about detailed, low-level requirements.
             We really don't know what the operators of 2007 will want.
             Besides solving the basic problem of getting topological
             and addressing information "around", we need to think more
             about how to keep the architecture (and design and
             implementation) flexible and open so that in 2006 when
             someone says "We need a gonkulator!" we can say "Easy, it
             gets plugged in here..."

          7. Multicast/Anycast
             We do not believe that multicast routing is a part of our
             charter.

             Anycast is a fairly nebulous technology. To require that
             routing "support" it at this stage in its development is
             premature. To require that routing support anycast means,
             in effect, that we first define what it is.

          8. Support for renumbering
             We take this to mean either that
               o The routing-and-addressing system actually does the
                  renumbering, to which we reply "Is this really
                  something for routing to do?", or
               o The routing-and-addressing system must continue to
                  operate when elements of the network are renumbered.
                  We have a requirement for this

          9. Statistics support
             This seems to us to be a low-level protocol issue. Yes
             the protocol needs a MIB. But we do not believe that this
             is an architectural or requirements issue.

             This also indicates to us that [3] is more concerned with
             lower-level protocol and implementation issues rather than
             taking the proverbial "step back" to look at "the big
             picture".

          10. There were some comments about convergence that
             seemed to indicate that the authors of [3] are thinking of
             global convergence. We have observed that global
             convergence is probably not doable anymore. We believe
             that "permanent change" is the order of the day...

          11. One of their open-issues indicates that the
             authors of [3] are thinking about whether the EGP/IGP
             split is good or not. It's good they are thinking about
             it. It's bad that they consider it open. We consider
             this split to be A Bad Thing -- there should be no such
             split in the architecture.

       
     Kastenholz Informational -- Expires 2/2002 25
                       Inter-domain Routing Requirements August, 2001
      
      
          12. One example of the too fine a level of detail they
             are getting into is that in 7.2.2 they talk about having a
             number of specific path attributes. But, if say in 2007
             we discover a need for a gonkulation attribute, it's not
             in the list in [3]. Perhaps we are taking their document
             too literally, but someone taking [3] and designing to it
             would maybe make attributes TLV's and leave it at that.
             They really wouldn't consider the effects of unconsidered
             new attributes. We prefer to think of things in the
             reverse order:

                We know we need attributes, but we don't know what they
                all are. Therefore the attribute mechanism must be
                flexible and allow growth in weird new directions
                without causing problems on the rest of the system --
                so how do we do that.

     6 Security Considerations

        We address security issues in the individual requirements. We
        do require that the Architecture and protocols developed
        against this set of requirements be "secure".

     7 IANA Considerations

        This document is a set of requirements from which a new routing
        and addressing architecture will be developed. From that
        architecture, a new protocol, or set of protocols, may be
        developed.

        While this note poses no new tasks for IANA, the architecture
        and protocols developed from this document probably will have
        issues to be dealt with by IANA.

     8 References

        [1] Bradner, S., "The Internet Standards Process ­ Revision 3",
            BCP9, RFC2026, October 1996.

        [2] Bradner, S., "Key words for use in RFCs to Indicate
            Requirements Levels", BCP 14 RFC 2119, March 1997.

        [3] Davies, E., et al, "Future Domain Routing Requirements",
            draft-davies-fdr-reqs-01.txt, July 2001, Work In Progress.

        [4] Huston, G., "Architectural Requirements for Inter-Domain
            Routing in the Internet" draft-iab-bgparch-01.txt, May
            2001, Work In Progress.

       
     Kastenholz Informational -- Expires 2/2002 26
                       Inter-domain Routing Requirements August, 2001
      
      
        [5] Partridge, C., and F. Kastenholz, "Technical Criteria for
            Choosing IP The Next Generation (IPng)", RFC 1726. December
            1994.

        [6] Perkins, C., "IP Mobility Support." RFC2002, October 1996.

     9 Acknowledgments

        This document is the product of the IRTF Routing Research
        Group’s sub-group on Inter-domain routing requirements. The
        members of the group are

        Abha Ahuja Danny McPherson
        J. Noel Chiappa David Meyer
        Sean Doran Mike O’Dell
        JJ Garcia-Luna-Aceves Andrew Partan
        Susan Hares Radia Perlman
        Geoff Huston Yakov Rehkter
        Frank Kastenholz John Scudder
        Dave Katz Curtis Villamizar
        Tony Li Dave Ward

     10 Editor's Addresses

        Frank Kastenholz
        Unisphere Networks
        10 Technology Park
        Westford, MA, 01886, USA

        Phone: +1 978 589 0286
        Email: fkastenholz@unispherenetworks.com

       
     Kastenholz Informational -- Expires 2/2002 27
                       Inter-domain Routing Requirements August, 2001
      
      

     Full Copyright Statement

        "Copyright (C) The Internet Society (date). 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

         

       
     Kastenholz Informational -- Expires 2/2002 28



This archive was generated by hypermail 2b29 : Mon Aug 04 2003 - 04:10:03 EDT