home *** CD-ROM | disk | FTP | other *** search
/ Internet Info 1997 December / Internet_Info_CD-ROM_Walnut_Creek_December_1997.iso / drafts / draft_n_r / draft-rekhter-tagswitch-arch-00.txt < prev    next >
Text File  |  1997-01-09  |  56KB  |  1,256 lines

  1.  
  2. Internet Draft                                        Yakov Rekhter
  3. Expiration date:July 1997                               Bruce Davie
  4.                                                           Dave Katz
  5.                                                          Eric Rosen
  6.                                                      George Swallow
  7.                                                      Dino Farinacci
  8.                                                       cisco Systems
  9.                                                        January 1997
  10.  
  11.  
  12.                  Tag Switching Architecture - Overview
  13.  
  14.                   draft-rekhter-tagswitch-arch-00.txt
  15.  
  16.  
  17. 1. Status of this Memo
  18.  
  19.    This document is an Internet Draft. Internet Drafts are working
  20.    documents of the Internet Engineering Task Force (IETF), its Areas,
  21.    and its Working Groups. Note that other groups may also distribute
  22.    working documents as Internet Drafts.
  23.  
  24.    Internet Drafts are draft documents valid for a maximum of six
  25.    months. Internet Drafts may be updated, replaced, or obsoleted by
  26.    other documents at any time. It is not appropriate to use Internet
  27.    Drafts as reference material or to cite them other than as a "working
  28.    draft" or "work in progress."
  29.  
  30.    Please check the 1id-abstracts.txt listing contained in the
  31.    internet-drafts Shadow Directories on nic.ddn.mil, nnsc.nsf.net,
  32.    nic.nordu.net, ftp.nisc.sri.com, or munnari.oz.au to learn the
  33.    current status of any Internet Draft.
  34.  
  35.  
  36.  
  37. 2. Abstract
  38.  
  39.    This document provides an overview of tag switching. Tag switching is
  40.    a way to combine the label-swapping forwarding paradigm with network
  41.    layer routing. This has several advantages. Tags can have a wide
  42.    spectrum of forwarding granularities, so at one end of the spectrum a
  43.    tag could be associated with a group of destinations, while at the
  44.    other a tag could be associated with a single application flow. At
  45.    the same time forwarding based on tag switching, due to its
  46.    simplicity, is well suited to high performance forwarding. These
  47.    factors facilitate the development of a routing system which is both
  48.    functionally rich and scalable. Finally, tag switching simplifies
  49.    integration of routers and ATM switches by employing common
  50.  
  51.  
  52.  
  53.                                                                  [Page 1]
  54.  
  55.  
  56.  
  57.  
  58.  
  59. Internet Draft    draft-rekhter-tagswitch-arch-00.txt       January 1997
  60.  
  61.  
  62.    addressing, routing, and management procedures.
  63.  
  64.  
  65.  
  66. 3. Introduction
  67.  
  68.    Continuous growth of the Internet demands higher bandwidth within the
  69.    Internet Service Providers (ISPs). However, growth of the Internet is
  70.    not the only driving factor for higher bandwidth - demand for higher
  71.    bandwidth also comes from emerging multimedia applications. Demand
  72.    for higher bandwidth, in turn, requires higher forwarding performance
  73.    for both multicast and unicast traffic.
  74.  
  75.    The growth of the Internet also demands improved scaling properties
  76.    of the Internet routing system. The ability to contain the volume of
  77.    routing information maintained by individual routers and the ability
  78.    to build a hierarchy of routing knowledge are essential to support a
  79.    high quality, scalable routing system.
  80.  
  81.    While the destination-based forwarding paradigm is adequate in many
  82.    situations, we already see examples where it is no longer adequate.
  83.    The ability to overcome the rigidity of destination-based forwarding
  84.    and to have more flexible control over how traffic is routed is
  85.    likely to become more and more important.
  86.  
  87.    We see the need to improve forwarding performance while at the same
  88.    time adding routing functionality to support multicast, allowing more
  89.    flexible control over how traffic is routed, and providing the
  90.    ability to build a hierarchy of routing knowledge. Moreover, it
  91.    becomes more and more crucial to have a routing system that can
  92.    support graceful evolution to accommodate new and emerging
  93.    requirements.
  94.  
  95.    Tag switching is a technology that provides an efficient solution to
  96.    these challenges. Tag switching blends the flexibility and rich
  97.    functionality provided by Network Layer routing with the simplicity
  98.    provided by the label swapping forwarding paradigm. The simplicity of
  99.    the tag switching forwarding paradigm (label swapping) enables
  100.    improved forwarding performance, while maintaining competitive
  101.    price/performance. By associating a wide range of forwarding
  102.    granularities with a tag, the same forwarding paradigm can be used to
  103.    support a wide variety of routing functions, such as destination-
  104.    based routing, multicast, hierarchy of routing knowledge, and
  105.    flexible routing control. Finally, a combination of simple
  106.    forwarding, a wide range of forwarding granularities, and the ability
  107.    to evolve routing functionality while preserving the same forwarding
  108.    paradigm enables a routing system that can gracefully evolve to
  109.    accommodate new and emerging requirements.
  110.  
  111.  
  112.  
  113.                                                                  [Page 2]
  114.  
  115.  
  116.  
  117.  
  118.  
  119. Internet Draft    draft-rekhter-tagswitch-arch-00.txt       January 1997
  120.  
  121.  
  122. 4. Tag Switching components
  123.  
  124.    Tag switching consists of two components: forwarding and control. The
  125.    forwarding component uses the tag information (tags) carried by
  126.    packets and the tag forwarding information maintained by a tag switch
  127.    to perform packet forwarding. The control component is responsible
  128.    for maintaining correct tag forwarding information among a group of
  129.    inter- connected tag switches.
  130.  
  131.    Segregating control and forwarding into separate components promotes
  132.    modularity, which in turn enables to build a system that can
  133.    gracefully evolve to accommodate new and emerging requirements.
  134.  
  135.  
  136. 5. Forwarding component
  137.  
  138.    The fundamental forwarding paradigm employed by tag switching is
  139.    based on the notion of label swapping. When a packet with a tag is
  140.    received by a tag switch, the switch uses the tag as an index in its
  141.    Tag Information Base (TIB). Each entry in the TIB consists of an
  142.    incoming tag, and one or more sub-entries of the form <outgoing tag,
  143.    outgoing interface, outgoing link level information>. If the switch
  144.    finds an entry with the incoming tag equal to the tag carried in the
  145.    packet, then for each <outgoing tag, outgoing interface, outgoing
  146.    link level information> in the entry the switch replaces the tag in
  147.    the packet with the outgoing tag, replaces the link level information
  148.    (e.g MAC address) in the packet with the outgoing link level
  149.    information, and forwards the packet over the outgoing interface.
  150.  
  151.    From the above description of the forwarding component we can make
  152.    several observations. First, the forwarding decision is based on the
  153.    exact match algorithm using a fixed length, fairly short tag as an
  154.    index. This enables a simplified forwarding procedure, relative to
  155.    longest match forwarding traditionally used at the network layer.
  156.    This in turn enables higher forwarding performance (higher packets
  157.    per second). The forwarding procedure is simple enough to allow a
  158.    straightforward hardware implementation.
  159.  
  160.    A second observation is that the forwarding decision is independent
  161.    of the tag's forwarding granularity. For example, the same forwarding
  162.    algorithm applies to both unicast and multicast - a unicast entry
  163.    would just have a single (outgoing tag, outgoing interface, outgoing
  164.    link level information) sub-entry, while a multicast entry may have
  165.    one or more (outgoing tag, outgoing interface, outgoing link level
  166.    information) sub-entries. (For multi-access links, the outgoing link
  167.    level information in this case would include a multicast MAC
  168.    address.) This illustrates how with tag switching the same forwarding
  169.    paradigm can be used to support different routing functions (e.g.,
  170.  
  171.  
  172.  
  173.                                                                  [Page 3]
  174.  
  175.  
  176.  
  177.  
  178.  
  179. Internet Draft    draft-rekhter-tagswitch-arch-00.txt       January 1997
  180.  
  181.  
  182.    unicast, multicast, etc...)
  183.  
  184.    The simple forwarding procedure is thus essentially decoupled from
  185.    the control component of tag switching. New routing (control)
  186.    functions can readily be deployed without disturbing the forwarding
  187.    paradigm. This means that it is not necessary to re-optimize
  188.    forwarding performance (by modifying either hardware or software) as
  189.    new routing functionality is added.
  190.  
  191.    In the tag switching architecture, various implementation options are
  192.    acceptable. For example, support for network layer forwarding by a
  193.    tag switch (i.e., forwarding based on the network layer header as
  194.    opposed to a tag) is optional. Moreover, use of network layer
  195.    forwarding may be constrained to handling network layer control
  196.    traffic only. (Note, however, that a tag switch must be able to
  197.    source and sink network layer packets, e.g. to participate in network
  198.    layer routing protocols)
  199.  
  200.    For the purpose of handling network layer hop count (time-to-live)
  201.    the architecture allows two alternatives: network layer hops may
  202.    correspond directly to hops formed by tag switches, or one network
  203.    layer hop may correspond to several tag switched hops.
  204.  
  205.    When a switch receives a packet with a tag, and the TIB maintained by
  206.    the switch has no entry with the incoming tag equal to the tag
  207.    carried by the packet, or the entry exists, the outgoing tag entry is
  208.    entry, and the entry does not indicate local delivery to the switch,
  209.    the switch may either (a) discard the packet, or (b) strip the tag
  210.    information, and submit the packet for network layer processing.
  211.    Support for the latter is optional (as support for network layer
  212.    forwarding is optional). Note that it may not always be possible to
  213.    successfully forward a packet after stripping a tag even if a tag
  214.    switch supports network layer forwarding.
  215.  
  216.    The architecture allows a tag switch to maintain either a single TIB
  217.    per tag switch, or a TIB per interface. Moreover, a tag switch could
  218.    mix both of these options - some tags could be maintained in a single
  219.    TIB, while other tags could be maintained in a TIB associated with
  220.    individual interfaces.
  221.  
  222.  
  223. 5.1. Tag encapsulation
  224.  
  225.    Tag switching clearly requires a tag to be carried in each packet.
  226.    The tag information can be carried in a variety of ways:
  227.  
  228.  
  229.       - as a small "shim" tag header inserted between the layer 2 and
  230.  
  231.  
  232.  
  233.                                                                  [Page 4]
  234.  
  235.  
  236.  
  237.  
  238.  
  239. Internet Draft    draft-rekhter-tagswitch-arch-00.txt       January 1997
  240.  
  241.  
  242.       the Network Layer headers;
  243.  
  244.       - as part of the layer 2 header, if the layer 2 header provides
  245.       adequate semantics (e.g., Frame Relay, or ATM);
  246.  
  247.       - as part of the Network Layer header (e.g., using the Flow Label
  248.       field in IPv6 with appropriately modified semantics).
  249.  
  250.  
  251.    It is therefore possible to implement tag switching over virtually
  252.    any media type including point-to-point links, multi-access links,
  253.    and ATM. At the same time the forwarding component allows specific
  254.    optimizations for particular media (e.g., ATM).
  255.  
  256.    Observe also that the tag forwarding component is Network Layer
  257.    independent. Use of control component(s) specific to a particular
  258.    Network Layer protocol enables the use of tag switching with
  259.    different Network Layer protocols.
  260.  
  261.  
  262. 6. Control component
  263.  
  264.    Essential to tag switching is the notion of binding between a tag and
  265.    Network Layer routing (routes). The control component is responsible
  266.    for creating tag bindings, and then distributing the tag binding
  267.    information among tag switches. Creating a tag binding involves
  268.    allocating a tag, and then binding a tag to a route. The distribution
  269.    of tag binding information among tag switches could be accomplished
  270.    via several options:
  271.  
  272.       - piggybacking on existing routing protocols
  273.  
  274.       - using a separate Tag Distribution Protocol (TDP)
  275.  
  276.    While the architecture supports distribution of tag binding
  277.    information that is independent of the underlying routing protocols,
  278.    the architecture acknowledges that considerable optimizations can be
  279.    achieved in some cases by small enhancements of existing protocols to
  280.    enable piggybacking tag binding information on these protocols.
  281.  
  282.    One important characteristic of the tag switching architecture is
  283.    that creation of tag bindings is driven primarily by control traffic
  284.    rather than by data traffic. Control traffic driven creation of tag
  285.    bindings has several advantages, as compared to data traffic driven
  286.    creation of tag bindings. For one thing, it minimizes the amount of
  287.    additional control traffic needed to distribute tag binding
  288.    information, as tag binding information is distributed only in
  289.    response to control traffic, independent of data traffic. It also
  290.  
  291.  
  292.  
  293.                                                                  [Page 5]
  294.  
  295.  
  296.  
  297.  
  298.  
  299. Internet Draft    draft-rekhter-tagswitch-arch-00.txt       January 1997
  300.  
  301.  
  302.    makes the overall scheme independent of and insensitive to the data
  303.    traffic profile/pattern. Control traffic driven creation of tag
  304.    binding improves forwarding performance, as tags are precomputed
  305.    (prebound) before data traffic arrives, rather than being created as
  306.    data traffic arrives. It also simplifies the overall system behavior,
  307.    as the control plane is controlled solely by control traffic, rather
  308.    than by a mix of control and data traffic.
  309.  
  310.    Another important characteristic of the tag switching architecture is
  311.    that distribution and maintenance of tag binding information is
  312.    consistent with distribution and maintenance of the associated
  313.    routing information. For example, distribution of tag binding
  314.    information for tags associated with unicast routing is based on the
  315.    technique of incremental updates with explicit acknowledgment. This
  316.    is very similar to the way unicast routing information gets
  317.    distributed by such protocols as OSPF and BGP. In contrast,
  318.    distribution of tag binding information for tags associated with
  319.    multicast routing is based on period updates/ refreshes, without any
  320.    explicit acknowledgments. This is consistent with the way multicast
  321.    routing information is distributed by such protocols as PIM.
  322.  
  323.    To provide good scaling characteristics, while also accommodating
  324.    diverse routing functionality, tag switching supports a wide range of
  325.    forwarding granularities. At one extreme a tag could be associated
  326.    (bound) to a group of routes (more specifically to the Network Layer
  327.    Reachability Information of the routes in the group). At the other
  328.    extreme a tag could be bound to an individual application flow (e.g.,
  329.    an RSVP flow). A tag could also be bound to a multicast tree. In
  330.    addition, a tag may be bound to a path that has been selected for a
  331.    certain set of packets based on some policy (e.g. an explicit route).
  332.  
  333.    The control component is organized as a collection of modules, each
  334.    designed to support a particular routing function. To support new
  335.    routing functions, new modules can be added. The architecture does
  336.    not mandate a prescribed set of modules that have to be supported by
  337.    every tag switch.
  338.  
  339.    The following describes some of the modules.
  340.  
  341.  
  342. 6.1. Destination-based routing
  343.  
  344.    In this section we describe how tag switching can support
  345.    destination-based routing. Recall that with destination-based routing
  346.    a router makes a forwarding decision based on the destination address
  347.    carried in a packet and the information stored in the Forwarding
  348.    Information Base (FIB) maintained by the router. A router constructs
  349.    its FIB by using the information it receives from routing protocols
  350.  
  351.  
  352.  
  353.                                                                  [Page 6]
  354.  
  355.  
  356.  
  357.  
  358.  
  359. Internet Draft    draft-rekhter-tagswitch-arch-00.txt       January 1997
  360.  
  361.  
  362.    (e.g., OSPF, BGP).
  363.  
  364.    To support destination-based routing with tag switching, a tag
  365.    switch, just like a router, participates in routing protocols (e.g.,
  366.    OSPF, BGP), and constructs its FIB using the information it receives
  367.    from these protocols.
  368.  
  369.    There are three permitted methods for tag allocation and Tag
  370.    Information Base (TIB) management: (a) downstream tag allocation, (b)
  371.    downstream tag allocation on demand, and (c) upstream tag allocation.
  372.    In all cases, a switch allocates tags and binds them to address
  373.    prefixes in its FIB. In downstream allocation, the tag that is
  374.    carried in a packet is generated and bound to a prefix by the switch
  375.    at the downstream end of the link (with respect to the direction of
  376.    data flow). On demand allocation means that tags will only be
  377.    allocated and distributed by the downstream switch when it is
  378.    requested to do so by the upstream switch. Method (b) is most useful
  379.    in ATM networks (see Section 8). In upstream allocation, tags are
  380.    allocated and bound at the upstream end of the link. Note that in
  381.    downstream allocation, a switch is responsible for creating tag
  382.    bindings that apply to incoming data packets, and receives tag
  383.    bindings for outgoing packets from its neighbors. In upstream
  384.    allocation, a switch is responsible for creating tag bindings for
  385.    outgoing tags, i.e. tags that are applied to data packets leaving the
  386.    switch, and receives bindings for incoming tags from its neighbors.
  387.  
  388.    The downstream tag allocation scheme operates as follows: for each
  389.    route in its FIB the switch allocates a tag, creates an entry in its
  390.    Tag Information Base (TIB) with the incoming tag set to the allocated
  391.    tag, and then advertises the binding between the (incoming) tag and
  392.    the route to other adjacent tag switches. The advertisement could be
  393.    accomplished by either piggybacking the binding on top of the
  394.    existing routing protocols, or by using a separate Tag Distribution
  395.    Protocol (TDP). When a tag switch receives tag binding information
  396.    for a route, and that information was originated by the next hop for
  397.    that route, the switch places the tag (carried as part of the binding
  398.    information) into the outgoing tag of the TIB entry associated with
  399.    the route. This creates the binding between the outgoing tag and the
  400.    route.
  401.  
  402.    With the downstream on demand tag allocation scheme, operation is as
  403.    follows. For each route in its FIB, the switch identifies the next
  404.    hop for that route. It then issues a request (via TDP) to the next
  405.    hop for a tag binding for that route. When the next hop receives the
  406.    request, it allocates a tag, creates an entry in its TIB with the
  407.    incoming tag set to the allocated tag, and then returns the binding
  408.    between the (incoming) tag and the route to the switch that sent the
  409.    original request. When the switch receives the binding information,
  410.  
  411.  
  412.  
  413.                                                                  [Page 7]
  414.  
  415.  
  416.  
  417.  
  418.  
  419. Internet Draft    draft-rekhter-tagswitch-arch-00.txt       January 1997
  420.  
  421.  
  422.    the switch creates an entry in its TIB, and sets the outgoing tag in
  423.    the entry to the value received from the next hop. Handling of data
  424.    packets is as for downstream allocation. The main application for
  425.    this mode of operation is with ATM switches, as described in Section
  426.    8.
  427.  
  428.    The upstream tag allocation scheme is used as follows. If a tag
  429.    switch has one or more point-to-point interfaces, then for each route
  430.    in its FIB whose next hop is reachable via one of these interfaces,
  431.    the switch allocates a tag, creates an entry in its TIB with the
  432.    outgoing tag set to the allocated tag, and then advertises to the
  433.    next hop (via TDP) the binding between the (outgoing) tag and the
  434.    route. When a tag switch that is the next hop receives the tag
  435.    binding information, the switch places the tag (carried as part of
  436.    the binding information) into the incoming tag of the TIB entry
  437.    associated with the route.
  438.  
  439.    Note that, while we have described upstream allocation for the sake
  440.    of completeness, we have found the two downstream allocation methods
  441.    adequate for all practical purposes so far.
  442.  
  443.    Independent of which tag allocation method is used, once a TIB entry
  444.    is populated with both incoming and outgoing tags, the tag switch can
  445.    forward packets for routes bound to the tags by using the tag
  446.    switching forwarding algorithm (as described in Section 5).
  447.  
  448.    When a tag switch creates a binding between an outgoing tag and a
  449.    route, the switch, in addition to populating its TIB, also updates
  450.    its FIB with the binding information. This enables the switch to add
  451.    tags to previously untagged packets.
  452.  
  453.    So far we have described how a tag could be bound to a single route,
  454.    creating a one-to-one mapping between routes and tags. However, under
  455.    certain conditions it is possible to bind a tag not just to a single
  456.    route, but to a group of routes, creating a many-to-one mapping
  457.    between routes and tags. Consider a tag switch that is connected to a
  458.    router.  It is quite possible that the switch uses the router as the
  459.    next hop not just for one route, but for a group of routes. Under
  460.    these conditions the switch does not have to allocate distinct tags
  461.    to each of these routes - one tag would suffice. The distribution of
  462.    tag binding information is unaffected by whether there is a one-to-
  463.    one or one-to-many mapping between tags and routes. Now consider a
  464.    tag switch that receives from one of its neighbors (tag switching
  465.    peers) tag binding information for a set of routes, such that the set
  466.    is bound to a single tag. If the switch decides to use some or all of
  467.    the routes in the set, then for these routes the switch does not need
  468.    to allocate individual tags - one tag would suffice. Such an approach
  469.    may be valuable when tags are a precious resource. Note that the
  470.  
  471.  
  472.  
  473.                                                                  [Page 8]
  474.  
  475.  
  476.  
  477.  
  478.  
  479. Internet Draft    draft-rekhter-tagswitch-arch-00.txt       January 1997
  480.  
  481.  
  482.    ability to support many-to-one mapping makes no assumptions about the
  483.    routing protocols being used.
  484.  
  485.    When a tag switch adds a tag to a previously untagged packet the tag
  486.    could be either associated with the route to the destination address
  487.    carried in the packet, or with the route to some other tag switch
  488.    along the path to the destination (in some cases the address of that
  489.    other tag switch could be gleaned from network layer routing
  490.    protocols). The latter option provides yet another way of mapping
  491.    multiple routes into a single tag. However, this option is either
  492.    dependent on particular routing protocols, or would require a
  493.    separate mechanism for discovering tag switches along a path.
  494.  
  495.    To understand the scaling properties of tag switching in conjunction
  496.    with destination-based routing, observe that the total number of tags
  497.    that a tag switch has to maintain can not be greater than the number
  498.    of routes in the switch's FIB. Moreover, as we have just seen, the
  499.    number of tags can be much less than the number of routes. Thus, much
  500.    less state is required than would be the case if tags were allocated
  501.    to individual flows.
  502.  
  503.    In general, a tag switch will try to populate its TIB with incoming
  504.    and outgoing tags for all routes to which it has reachability, so
  505.    that all packets can be forwarded by simple label swapping. Tag
  506.    allocation is thus driven by topology (routing), not data traffic -
  507.    it is the existence of a FIB entry that causes tag allocations, not
  508.    the arrival of data packets.
  509.  
  510.    Use of tags associated with routes, rather than flows, also means
  511.    that there is no need to perform flow classification procedures for
  512.    all the flows to determine whether to assign a tag to a flow. That,
  513.    in turn, simplifies the overall scheme, and makes it more robust and
  514.    stable in the presence of changing traffic patterns.
  515.  
  516.    Note that when tag switching is used to support destination-based
  517.    routing, tag switching does not completely eliminate the need to
  518.    perform normal Network Layer forwarding at some network elements.
  519.    First of all, to add a tag to a previously untagged packet requires
  520.    normal Network Layer forwarding. This function could be performed by
  521.    the first hop router, or by the first router on the path that is able
  522.    to participate in tag switching. In addition, whenever a tag switch
  523.    aggregates a set of routes (e.g., by using the technique of
  524.    hierarchical routing), into a single tag, and the routes do not share
  525.    a common next hop, the switch needs to perform Network Layer
  526.    forwarding for packets carrying that tag. However, one could observe
  527.    that the number of places where routes get aggregated is smaller than
  528.    the total number of places where forwarding decisions have to be
  529.    made. Moreover, quite often aggregation is applied to only a subset
  530.  
  531.  
  532.  
  533.                                                                  [Page 9]
  534.  
  535.  
  536.  
  537.  
  538.  
  539. Internet Draft    draft-rekhter-tagswitch-arch-00.txt       January 1997
  540.  
  541.  
  542.    of the routes maintained by a tag switch. As a result, on average a
  543.    packet can be forwarded most of the time using the tag switching
  544.    algorithm. Note that many tag switches may not need to perform any
  545.    network layer forwarding.
  546.  
  547.  
  548. 6.2. Hierarchy of routing knowledge
  549.  
  550.    The IP routing architecture models a network as a collection of
  551.    routing domains. Within a domain, routing is provided via interior
  552.    routing (e.g., OSPF), while routing across domains is provided via
  553.    exterior routing (e.g., BGP). However, all routers within domains
  554.    that carry transit traffic (e.g., domains formed by Internet Service
  555.    Providers) have to maintain information provided by not just interior
  556.    routing, but exterior routing as well, even if only some of these
  557.    routers participate in exterior routing. That creates certain
  558.    problems. First of all, the amount of this information is not
  559.    insignificant. Thus it places additional demand on the resources
  560.    required by the routers.  Moreover, increase in the volume of routing
  561.    information quite often increases routing convergence time. This, in
  562.    turn, degrades the overall performance of the system.
  563.  
  564.    Tag switching allows complete decoupling of interior and exterior
  565.    routing. With tag switching only tag switches at the border of a
  566.    domain would be required to maintain routing information provided by
  567.    exterior routing - all other switches within the domain would just
  568.    maintain routing information provided by the domains interior routing
  569.    (which is usually significantly smaller than the exterior routing
  570.    information), with no "leaking" of exterior routing information into
  571.    interior routing. This, in turn, reduces the routing load on non-
  572.    border switches, and shortens routing convergence time.
  573.  
  574.    To support this functionality, tag switching allows a packet to carry
  575.    not one but a set of tags, organized as a stack. A tag switch could
  576.    either swap the tag at the top of the stack, or pop the stack, or
  577.    swap the tag and push one or more tags into the stack.
  578.  
  579.    Consider a tag switch that is at the border of a routing domain. This
  580.    switch maintains both exterior and interior routes. The interior
  581.    routes provide routing information and tags to all the other tag
  582.    switches within the domain. For each exterior route that the switch
  583.    receives from some other border tag switch that is in the same domain
  584.    as the local switch, the switch maintains not just a tag associated
  585.    with the route, but also a tag associated with the route to that
  586.    other border tag switch. Moreover, for inter-domain routing protocols
  587.    that are capable of passing the "third-party" next hop information
  588.    the switch would maintain a tag associated with the route to the next
  589.    hop, rather than with the route to the border tag switch from whom
  590.  
  591.  
  592.  
  593.                                                                 [Page 10]
  594.  
  595.  
  596.  
  597.  
  598.  
  599. Internet Draft    draft-rekhter-tagswitch-arch-00.txt       January 1997
  600.  
  601.  
  602.    the local switch received the exterior route.
  603.  
  604.    When a packet is forwarded between two (border) tag switches in
  605.    different domains, the tag stack in the packet contains just one tag
  606.    (associated with an exterior route). However, when a packet is
  607.    forwarded within a domain, the tag stack in the packet contains not
  608.    one, but two tags (the second tag is pushed by the domain's ingress
  609.    border tag switch). The tag at the top of the stack provides packet
  610.    forwarding to an appropriate egress border tag switch (or the
  611.    "third-party" next hop), while the next tag in the stack provides
  612.    correct packet forwarding at the egress switch (or at the "third-
  613.    party" next hop). The stack is popped by either the egress switch (or
  614.    the "third-party" next hop) or by the penultimate (with respect to
  615.    the egress switch/"third-party" next hop) switch.
  616.  
  617.    One could observe that when tag switching is confined to a single
  618.    routing domain, the above still could be used to decouple interior
  619.    from exterior routing, similar to what was described above. However,
  620.    in this case a border tag switch wouldn't maintain tags associated
  621.    with each exterior route, and forwarding between domains would be
  622.    performed at the network layer.
  623.  
  624.    The control component used in this scenario is fairly similar to the
  625.    one used with destination-based routing. In fact, the only essential
  626.    difference is that in this scenario the tag binding information is
  627.    distributed both among physically adjacent tag switches, and among
  628.    border tag switches within a single domain. One could also observe
  629.    that the latter (distribution among border switches) could be
  630.    trivially accommodated by very minor extensions to BGP.
  631.  
  632.    The notion of supporting hierarchy of routing knowledge with tag
  633.    switching is not limited to the case of exterior/interior routing,
  634.    but could be applicable to other cases where the hierarchy of routing
  635.    knowledge is possible. Moreover, while the above describes only a
  636.    two-level hierarchy of routing knowledge, the tag switching
  637.    architecture does not impose limits on the depth of the hierarchy.
  638.  
  639.  
  640. 6.3. Multicast
  641.  
  642.    Essential to multicast routing is the notion of spanning trees.
  643.    Multicast routing procedures (e.g., PIM) are responsible for
  644.    constructing such trees (with receivers as leafs), while multicast
  645.    forwarding is responsible for forwarding multicast packets along such
  646.    trees. Thus, to support a multicast forwarding function with tag
  647.    switching we need to be able to associate a tag with a multicast
  648.    tree.  The following describes the procedures for allocation and
  649.    distribution of tags for multicast.
  650.  
  651.  
  652.  
  653.                                                                 [Page 11]
  654.  
  655.  
  656.  
  657.  
  658.  
  659. Internet Draft    draft-rekhter-tagswitch-arch-00.txt       January 1997
  660.  
  661.  
  662.    When tag switching is used for multicast, it is important that tag
  663.    switching be able to utilize multicast capabilities provided by the
  664.    Data Link layer (e.g., multicast capabilities provided by Ethernet).
  665.    To be able to do this, an (upstream) tag switch connected to a given
  666.    Data Link subnetwork should use the same tag when forwarding a
  667.    multicast packet to all of the (downstream) switches on that
  668.    subnetwork. This way the packet will be multicasted at the Data Link
  669.    layer over the subnetwork. To support this, all tag switches that are
  670.    part of a given multicast tree and are on a common subnetwork must
  671.    agree on a common tag that would be used for forwarding multicast
  672.    packets along the tree over the subnetwork. Moreover, since multicast
  673.    forwarding is based on Reverse Path Forwarding (RPF), it is crucial
  674.    that, when a tag switch receives a multicast packet, a tag carried in
  675.    a packet must enable the switch to identify both (a) a particular
  676.    multicast group, as well as (b) the previous hop (upstream) tag
  677.    switch that sent the packet.
  678.  
  679.    To support the requirements outlined in the previous paragraph, the
  680.    tag switching architecture assumes that (a) multicast tags are
  681.    associated with interfaces on a tag switch (rather than with a tag
  682.    switch as a whole), (b) the tag space that a tag switch could use for
  683.    allocating tags for multicast is partitioned into non-overlapping
  684.    regions among all the tag switches connected to a common Data Link
  685.    subnetwork, and (c) there are procedures by which tag switches that
  686.    belong to a common multicast tree and are on a common Data Link
  687.    subnetwork agree on the tag switch that is responsible for allocating
  688.    a tag for the tree.
  689.  
  690.    One possible way of partitioning tag space into non-overlapping
  691.    regions among tag switches connected to a common subnetwork is for
  692.    each tag switch to claim a region of the space and announce this
  693.    region to its neighbors. Conflicts are resolved based on the IP
  694.    address of the contending switches (the higher address wins, the
  695.    lower retries). Once the tag space is partitioned among tag switches,
  696.    the switches may create bindings between tags and multicast trees
  697.    (routes).
  698.  
  699.    At least in principle there are two possible ways to create bindings
  700.    between tags and multicast trees (routes). With the first alternative
  701.    for a set of tag switches that share a common Data Link subnetwork,
  702.    the tag switch that is upstream with respect to a particular
  703.    multicast tree allocates a tag (out of its own region that does not
  704.    overlap with the regions of other switches on the subnetwork), binds
  705.    the tag to a multicast route, and then advertises the binding to all
  706.    the (downstream) switches on the subnetwork. With the second
  707.    alternative, one of the tag switches that is downstream with respect
  708.    to a particular multicast tree allocates a tag (out of its own region
  709.    that does not overlap with the regions of other switches on the
  710.  
  711.  
  712.  
  713.                                                                 [Page 12]
  714.  
  715.  
  716.  
  717.  
  718.  
  719. Internet Draft    draft-rekhter-tagswitch-arch-00.txt       January 1997
  720.  
  721.  
  722.    subnetwork), binds the tag to a multicast route, and then advertises
  723.    the binding to all the switches (both downstream and upstream) on the
  724.    subnetwork. Usually the first tag switch to join the group is the one
  725.    that performs the allocation.
  726.  
  727.    Each of the above alternatives has its own trade-offs. The first
  728.    alternative is fairly simple - one upstream router does the tag
  729.    binding and multicasts the binding downstream. However, the first
  730.    alternative may create uneven distribution of allocated tags, as some
  731.    tag switches on a common subnetwork may have more upstream multicast
  732.    sources than the others. Also, changes in topology could result in
  733.    upstream neighbor changes, which in turn would require tag re-
  734.    binding. Finally, one could observe that distributing tag binding
  735.    from upstream towards downstream is inconsistent with the direction
  736.    of multicast routing information distribution (from downstream
  737.    towards upstream).
  738.  
  739.    The second alternative, even if more complex that the first one, has
  740.    its own advantages. For one thing, it makes distribution of multicast
  741.    tag binding consistent with the distribution of unicast tag binding.
  742.    It also makes distribution of multicast tag binding consistent with
  743.    the distribution of multicast routing information. This, in turn,
  744.    allows the piggybacking of tag binding information on existing
  745.    multicast routing protocols (PIM). This alternative also avoids the
  746.    need for tag re-binding when there are changes in upstream neighbor.
  747.    Finally it is more likely to provide more even distribution of
  748.    allocated tags, as compared to the first alternative. Note that this
  749.    approach does require a mechanism to choose the tag allocator from
  750.    among the downstream tag switches on the subnetwork.
  751.  
  752.  
  753. 6.4. Quality of service
  754.  
  755.    Two mechanisms are needed for providing a range of qualities of
  756.    service to packets passing through a router or a tag switch. First,
  757.    we need to classify packets into different classes. Second, we need
  758.    to ensure that the handling of packets is such that the appropriate
  759.    QOS characteristics (bandwidth, loss, etc.) are provided to each
  760.    class.
  761.  
  762.    Tag switching provides an easy way to mark packets as belonging to a
  763.    particular class after they have been classified the first time.
  764.    Initial classification could be done using configuration information
  765.    (e.g., all traffic from a certain interface) or using information
  766.    carried in the network layer or higher layer headers (e.g., all
  767.    packets between a certain pair of hosts). A tag corresponding to the
  768.    resultant class would then be applied to the packet. Tagged packets
  769.    can then be efficiently handled by the tag switching routers in their
  770.  
  771.  
  772.  
  773.                                                                 [Page 13]
  774.  
  775.  
  776.  
  777.  
  778.  
  779. Internet Draft    draft-rekhter-tagswitch-arch-00.txt       January 1997
  780.  
  781.  
  782.    path without needing to be reclassified. The actual scheduling and
  783.    queueing of packets is largely orthogonal - the key point here is
  784.    that tag switching enables simple logic to be used to find the state
  785.    that identifies how the packet should be scheduled.
  786.  
  787.    Tag switching can, for example, be used to support a small number of
  788.    classes of service in a service provider network (e.g. premium and
  789.    standard). On frame-based media, the class can be encoded by a field
  790.    in the tag header. On ATM tag switches, additional tags can be
  791.    allocated to differentiate the different classes. For example, rather
  792.    than having one tag for each destination prefix in the FIB, an ATM
  793.    tag switch could have two tags per prefix, one to be used by premium
  794.    traffic and one by standard. Thus a tag binding in this case is a
  795.    triple consisting of <prefix, QOS class, tag>. Such a tag would be
  796.    used both to make a forwarding decision and to make a scheduling
  797.    decision, e.g., by selecting the appropriate queue in a weighted fair
  798.    queueing (WFQ) scheduler.
  799.  
  800.    To provide a finer granularity of QOS, tag switching can be used with
  801.    RSVP. We propose a simple extension to RSVP in which a tag object is
  802.    defined. Such an object can be carried in an RSVP reservation message
  803.    and thus associated with a session. Each tag capable router assigns a
  804.    tag to the session and passes it upstream with the reservation
  805.    message. Thus the association of tags with RSVP sessions works very
  806.    much like the binding of tags to routes with downstream allocation.
  807.    Note, however, that binding is accomplished using RSVP rather than
  808.    TDP. (It would be possible to use TDP, but it is simpler to extend
  809.    RSVP to carry tags and this ensures that tags and reservation
  810.    information are communicated in a similar manner.)
  811.  
  812.    When data packets are transmitted, the first router in the path that
  813.    is tag-capable applies the tag that it received from its downstream
  814.    neighbor. This tag can be used at the next hop to find the
  815.    corresponding reservation state, to forward and schedule the packet
  816.    appropriately, and to find the suitable outgoing tag value provided
  817.    by the next hop.  Note that tag imposition could also be performed at
  818.    the sending host.
  819.  
  820.  
  821. 6.5. Flexible routing (explicit routes)
  822.  
  823.    One of the fundamental properties of destination-based routing is
  824.    that the only information from a packet that is used to forward the
  825.    packet is the destination address. While this property enables highly
  826.    scalable routing, it also limits the ability to influence the actual
  827.    paths taken by packets. This, in turn, limits the ability to evenly
  828.    distribute traffic among multiple links, taking the load off highly
  829.    utilized links, and shifting it towards less utilized links. For
  830.  
  831.  
  832.  
  833.                                                                 [Page 14]
  834.  
  835.  
  836.  
  837.  
  838.  
  839. Internet Draft    draft-rekhter-tagswitch-arch-00.txt       January 1997
  840.  
  841.  
  842.    Internet Service Providers (ISPs) who support different classes of
  843.    service, destination-based routing also limits their ability to
  844.    segregate different classes with respect to the links used by these
  845.    classes. Some of the ISPs today use Frame Relay or ATM to overcome
  846.    the limitations imposed by destination-based routing. Tag switching,
  847.    because of the flexible granularity of tags, is able to overcome
  848.    these limitations without using either Frame Relay or ATM.
  849.  
  850.    Another application where destination-based routing is no longer
  851.    adequate is routing with resource reservations (QOS routing).
  852.    Increasing the number of ways by which a particular reservation could
  853.    traverse a network may improve the success of the reservation.
  854.    Increasing the number of ways, in turn, requires the ability to
  855.    explore paths that are not constrained to the ones constructed solely
  856.    based on destination.
  857.  
  858.    To provide forwarding along paths that are different from the paths
  859.    determined by destination-based routing, the control component of tag
  860.    switching allows installation of tag bindings in tag switches that do
  861.    not correspond to the destination-based routing paths.
  862.  
  863.    One possible alternative for supporting explicit routes is to allow
  864.    TDP to carry information about an explicit route, where such a route
  865.    could be expressed as a sequence of tag switches. Another alternative
  866.    is to use tag-capable RSVP (see Section 6.4) as a mechanism to
  867.    distribute tag bindings, and to augment RSVP with the ability to
  868.    steer the PATH message along a particular (explicit) route. Finally,
  869.    it is also possible in principle to use some form of source route
  870.    (e.g., SDRP, GRE) to steer RSVP PATH messages carrying tag bindings
  871.    along a particular path. Note, however, that this would require a
  872.    change to the way in which RSVP handles PATH messages, as it would be
  873.    necessary to store the source route as part of the PATH state.
  874.  
  875.  
  876. 7. Tag Forwarding Granularities and Forwarding Equivalence Classes
  877.  
  878.    A conventional router has some sort of structure or set of structures
  879.    which may be called a "forwarding table", which has a finite number
  880.    of entries. Whenever a packet is received, the router applies a
  881.    classification algorithm which maps the packet to one of the
  882.    forwarding table entries. This entry specifies how to forward the
  883.    packet.
  884.  
  885.    We can think of this classification algorithm as a means of
  886.    partitioning the universe of possible packets into a finite set of
  887.    "Forwarding Equivalence Classes" (FECs).
  888.  
  889.    Each router along a path must have some way of determining the next
  890.  
  891.  
  892.  
  893.                                                                 [Page 15]
  894.  
  895.  
  896.  
  897.  
  898.  
  899. Internet Draft    draft-rekhter-tagswitch-arch-00.txt       January 1997
  900.  
  901.  
  902.    hop for that FEC. For a given FEC, the corresponding entry in the
  903.    forwarding table may be created dynamically, by operation of the
  904.    routing protocols (unicast or multicast), or it might be created by
  905.    configuration, or it might be created by some combination of
  906.    configuration and protocol.
  907.  
  908.    In tag switching, if a pair of tag switches are adjacent along a tag
  909.    switched path, they must agree on an assignment of tags to FECs. Once
  910.    this agreement is made, all tag switches on the tag switched path
  911.    other than the first are spared the work of actually executing the
  912.    classification algorithm. In fact, subsequent tag switches need not
  913.    even have the code which would be necessary to do this.
  914.  
  915.    There are a large number of different ways in which one may choose to
  916.    partition a set of packets into FECs. Some examples:
  917.  
  918.       1. Consider two packets to be in the same FEC if there is a single
  919.       address prefix in the routing table which is the longest match for
  920.       the destination address of each packet;
  921.  
  922.       2. Consider two packets to be in the same FEC if these packets
  923.       have to traverse through a common router/tag switch;
  924.  
  925.       3. Consider two packets to be in the same FEC if they have the
  926.       same source address and the same destination address;
  927.  
  928.       4. Consider two packets to be in the same FEC if they have the
  929.       same source address, the same destination address, the same
  930.       transport protocol, the same source port, and the same destination
  931.       port.
  932.  
  933.       5. Consider two packets to be in the same FEC if they are alike in
  934.       some arbitrary manner determined by policy. Note that the
  935.       assignment of a packet to a FEC by policy need not be done solely
  936.       by examining the network layer header. One might want, for
  937.       example, all packets arriving over a certain interface to be
  938.       classified into a single FEC, so that those packets all get
  939.       tunnelled through the network to a particular exit point.
  940.  
  941.  
  942.    Other examples can easily be thought of.
  943.  
  944.    In case 1, the FEC can be identified by an address prefix (as
  945.    described in Section 6.1). In case 2, the FEC can be identified by
  946.    the address of a tag switch (as described in Section 6.1). Both 1 and
  947.    2 are useful for binding tags to unicast routes - tags are bound to
  948.    FECs, and an address prefix, or an address identifies a particular
  949.    FEC. Case 3 is useful for binding tags to multicast trees that are
  950.  
  951.  
  952.  
  953.                                                                 [Page 16]
  954.  
  955.  
  956.  
  957.  
  958.  
  959. Internet Draft    draft-rekhter-tagswitch-arch-00.txt       January 1997
  960.  
  961.  
  962.    constructed by protocols such as PIM (as described in Section 6.3).
  963.    Case 4 is useful for binding tags to individual flows, using, say,
  964.    RSVP (as described in Section 6.4). Case 5 is useful as a way of
  965.    connecting two pieces of a private network across a public backbone
  966.    (without even assuming that the private network is an IP network) (as
  967.    described in Section 6.5).
  968.  
  969.    Any number of different kinds of FEC can co-exist in a single tag
  970.    switch, as long as the result is to partition the universe of packets
  971.    seen by that tag switch. Likewise, the procedures which different tag
  972.    switches use to classify (hitherto untagged) packets into FECs need
  973.    not be identical.
  974.  
  975.    Networks could be organized around a hierarchy of FECs. For example,
  976.    (non-adjacent) tag switches TSa and TSb may classify packets into
  977.    some set of FECs FEC1,...,FECn.  However from the point of view of
  978.    the intermediate tag switches between TSa and TSb, all of these FECs
  979.    may be treated indistinguishably. That is, as far as the intermediate
  980.    tag switches are concerned, the union of the FEC1,...,FECn is a
  981.    single FEC.  Each intermediate tag switch may then prefer to use a
  982.    single tag for this union (rather than maintaining individual tags
  983.    for each member of this union). Tag switching accommodates this by
  984.    providing a hierarchy of tags, organized in a stack.
  985.  
  986.    Much of the power of tag switching arises from the facts that:
  987.  
  988.       - there are so many different ways to partition the packets into
  989.       FECs,
  990.  
  991.       - different tag switches can partition the hitherto untagged
  992.       packets in different ways,
  993.  
  994.       - the route to be used for a particular FEC can be chosen in
  995.       different ways,
  996.  
  997.       - a hierarchy of tags, organized as a stack, can be used to
  998.       represent the network's hierarchy of FECs.
  999.  
  1000.    Note that tag switching does not specify, as an element of any
  1001.    particular protocol, a general notion of "FEC identifier". Even if it
  1002.    were possible to have such a thing, there is no need for it, since
  1003.    there is no "one size fits all" setup protocol which works for any
  1004.    arbitrary combination of packet classifier and routing protocol.
  1005.    That's why tag distribution is sometimes done with TDP, sometimes
  1006.    with BGP, sometimes with PIM, sometimes with RSVP.
  1007.  
  1008.  
  1009.  
  1010.  
  1011.  
  1012.  
  1013.                                                                 [Page 17]
  1014.  
  1015.  
  1016.  
  1017.  
  1018.  
  1019. Internet Draft    draft-rekhter-tagswitch-arch-00.txt       January 1997
  1020.  
  1021.  
  1022. 8. Tag switching with ATM
  1023.  
  1024.    Since the tag switching forwarding paradigm is based on label
  1025.    swapping, and since ATM forwarding is also based on label swapping,
  1026.    tag switching technology can readily be applied to ATM switches by
  1027.    implementing the control component of tag switching.
  1028.  
  1029.    The tag information needed for tag switching can be carried in the
  1030.    VCI field. If two levels of tagging are needed, then the VPI field
  1031.    could be used as well, although the size of the VPI field limits the
  1032.    size of networks in which this would be practical. However, for most
  1033.    applications of one level of tagging the VCI field is adequate.
  1034.  
  1035.    To obtain the necessary control information, the switch should be
  1036.    able to support the tag switching control component. Moreover, if the
  1037.    switch has to perform routing information aggregation, then to
  1038.    support destination-based unicast routing the switch should be able
  1039.    to perform Network Layer forwarding for some fraction of the traffic
  1040.    as well.
  1041.  
  1042.    Supporting the destination-based routing function with tag switching
  1043.    on an ATM switch may require the switch to maintain not one, but
  1044.    several tags associated with a route (or a group of routes with the
  1045.    same next hop). This is necessary to avoid the interleaving of
  1046.    packets which arrive from different upstream tag switches, but are
  1047.    sent concurrently to the same next hop.
  1048.  
  1049.    If an ATM switch has built-in mechanism(s) to suppress cell
  1050.    interleave, then the switch could implement the destination-based
  1051.    routing function precisely the way it was described in Section 6.1.
  1052.    This would eliminate the need to maintain several tags per route.
  1053.    Note, however, that suppressing cell interleave is not part of the
  1054.    ATM User Plane, as defined by the ATM Forum.
  1055.  
  1056.    Yet another alternative that eliminates the need to maintain several
  1057.    tags per route is to carry the tag information in the VPI field, and
  1058.    use the VCI field for identifying cells that were sent by different
  1059.    tag switches. Note, however, that the scalability of this alternative
  1060.    is constrained by the size of the VPI space (4096 tags total).
  1061.    Moreover, this alternative assumes that for a set of ATM tag switches
  1062.    that form a contiguous segment of a network topology there exists a
  1063.    mechanism to assign to each ATM tag switch around the edge of the
  1064.    segment a set of unique VCIs that would be used by this switch alone.
  1065.  
  1066.    The downstream tag allocation on demand scheme is likely to be a
  1067.    preferred scheme for the tag allocation and TIB maintenance
  1068.    procedures with ATM switches, as this scheme allows efficient use of
  1069.    entries in the cross-connect tables maintained by ATM switches.
  1070.  
  1071.  
  1072.  
  1073.                                                                 [Page 18]
  1074.  
  1075.  
  1076.  
  1077.  
  1078.  
  1079. Internet Draft    draft-rekhter-tagswitch-arch-00.txt       January 1997
  1080.  
  1081.  
  1082.    Implementing tag switching on an ATM switch simplifies integration of
  1083.    ATM switches and routers. From a routing peering point of view an ATM
  1084.    switch capable of tag switching would appear as a router to an
  1085.    adjacent router; this reduces the number of routing peers a router
  1086.    would have to maintain (relative to the common arrangement where a
  1087.    large number of routers are fully meshed over an ATM cloud). Tag
  1088.    switching enables better routing, as it exposes the underlying
  1089.    physical topology to the Network Layer routing. Finally tag switching
  1090.    simplifies overall operations by employing common addressing,
  1091.    routing, and management procedures among both routers and ATM
  1092.    switches. That could provide a viable, more scalable alternative to
  1093.    the overlay model. Because creation of tag binding is driven by
  1094.    control traffic, rather than data traffic, application of this
  1095.    approach to ATM switches does not produce high call setup rates, nor
  1096.    does it depend on the longevity of flows.
  1097.  
  1098.    Implementing tag switching on an ATM switch does not preclude the
  1099.    ability to support a traditional ATM control plane (e.g., PNNI) on
  1100.    the same switch. The two components, tag switching and the ATM
  1101.    control plane, would operate in a Ships In the Night mode (with
  1102.    VPI/VCI space and other resources partitioned so that the components
  1103.    do not interact).
  1104.  
  1105.  
  1106. 9. Tag switching migration strategies
  1107.  
  1108.    Since tag switching is performed between a pair of adjacent tag
  1109.    switches, and since the tag binding information can be distributed on
  1110.    a pairwise basis, tag switching could be introduced in a fairly
  1111.    simple, incremental fashion. For example, once a pair of adjacent
  1112.    routers are converted into tag switches, each of the switches would
  1113.    tag packets destined to the other, thus enabling the other switch to
  1114.    use tag switching. Since tag switches use the same routing protocols
  1115.    as routers, the introduction of tag switches has no impact on
  1116.    routers. In fact, a tag switch connected to a router acts just as a
  1117.    router from the router's perspective.
  1118.  
  1119.    As more and more routers are upgraded to enable tag switching, the
  1120.    scope of functionality provided by tag switching widens. For example,
  1121.    once all the routers within a domain are upgraded to support tag
  1122.    switching, in becomes possible to start using the hierarchy of
  1123.    routing knowledge function.
  1124.  
  1125.  
  1126.  
  1127.  
  1128.  
  1129.  
  1130.  
  1131.  
  1132.  
  1133.                                                                 [Page 19]
  1134.  
  1135.  
  1136.  
  1137.  
  1138.  
  1139. Internet Draft    draft-rekhter-tagswitch-arch-00.txt       January 1997
  1140.  
  1141.  
  1142. 10. Summary
  1143.  
  1144.    In this paper we described the tag switching technology. Tag
  1145.    switching is not constrained to a particular Network Layer protocol -
  1146.    it is a multiprotocol solution. The forwarding component of tag
  1147.    switching is simple enough to facilitate high performance forwarding,
  1148.    and may be implemented on high performance forwarding hardware such
  1149.    as ATM switches. The control component is flexible enough to support
  1150.    a wide variety of routing functions, such as destination-based
  1151.    routing, multicast routing, hierarchy of routing knowledge, and
  1152.    explicitly defined routes. By allowing a wide range of forwarding
  1153.    granularities that could be associated with a tag, we provide both
  1154.    scalable and functionally rich routing. A combination of a wide range
  1155.    of forwarding granularities and the ability to evolve the control
  1156.    component fairly independently from the forwarding component results
  1157.    in a solution that enables graceful introduction of new routing
  1158.    functionality to meet the demands of a rapidly evolving computer
  1159.    networking environment.
  1160.  
  1161.  
  1162. 11. Security Considerations
  1163.  
  1164.    Security considerations are not addressed in this document.
  1165.  
  1166.  
  1167. 12. Intellectual Property Considerations
  1168.  
  1169.    Cisco Systems may seek patent or other intellectual property
  1170.    protection for some or all of the technologies disclosed in this
  1171.    document. If any standards arising from this document are or become
  1172.    protected by one or more patents assigned to Cisco Systems, Cisco
  1173.    intends to disclose those patents and license them under openly
  1174.    specified and non-discriminatory terms, for no fee.
  1175.  
  1176.  
  1177. 13. Acknowledgments
  1178.  
  1179.    Significant contributions to this work have been made by Anthony
  1180.    Alles, Fred Baker, Paul Doolan, Guy Fedorkow, Jeremy Lawrence, Arthur
  1181.    Lin, Morgan Littlewood, Keith McCloghrie, and Dan Tappan.
  1182.  
  1183.  
  1184.  
  1185.  
  1186.  
  1187.  
  1188.  
  1189.  
  1190.  
  1191.  
  1192.  
  1193.                                                                 [Page 20]
  1194.  
  1195.  
  1196.  
  1197.  
  1198.  
  1199. Internet Draft    draft-rekhter-tagswitch-arch-00.txt       January 1997
  1200.  
  1201.  
  1202. 14. References
  1203.  
  1204.  
  1205. 15. Authors' Addresses
  1206.  
  1207.  
  1208.       Yakov Rekhter
  1209.       Cisco Systems, Inc.
  1210.       170 Tasman Drive
  1211.       San Jose, CA, 95134
  1212.       E-mail: yakov@cisco.com
  1213.  
  1214.       Bruce Davie
  1215.       Cisco Systems, Inc.
  1216.       250 Apollo Drive
  1217.       Chelmsford, MA, 01824
  1218.       E-mail: bsd@cisco.com
  1219.  
  1220.       Dave Katz
  1221.       Cisco Systems, Inc.
  1222.       170 Tasman Drive
  1223.       San Jose, CA, 95134
  1224.       E-mail: dkatz@cisco.com
  1225.  
  1226.       Eric Rosen
  1227.       Cisco Systems, Inc.
  1228.       250 Apollo Drive
  1229.       Chelmsford, MA, 01824
  1230.       E-mail: erosen@cisco.com
  1231.  
  1232.       George Swallow
  1233.       Cisco Systems, Inc.
  1234.       250 Apollo Drive
  1235.       Chelmsford, MA, 01824
  1236.       E-mail: swallow@cisco.com
  1237.  
  1238.       Dino Farinacci
  1239.       Cisco Systems, Inc.
  1240.       170 West Tasman Drive
  1241.       San Jose, CA 95134
  1242.       E-mail: dino@cisco.com
  1243.  
  1244.  
  1245.  
  1246.  
  1247.  
  1248.  
  1249.  
  1250.  
  1251.  
  1252.  
  1253.                                                                 [Page 21]
  1254.  
  1255.  
  1256.