home *** CD-ROM | disk | FTP | other *** search
/ Internet Info 1997 December / Internet_Info_CD-ROM_Walnut_Creek_December_1997.iso / rfc / rfc2105 < prev    next >
Text File  |  1997-02-06  |  33KB  |  732 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7. Network Working Group                                         Y. Rekhter
  8. Request for Comments: 2105                                      B. Davie
  9. Category: Informational                                          D. Katz
  10.                                                                 E. Rosen
  11.                                                               G. Swallow
  12.                                                      Cisco Systems, Inc.
  13.                                                            February 1997
  14.  
  15.  
  16.            Cisco Systems' Tag Switching Architecture Overview
  17.  
  18. Status of this Memo
  19.  
  20.    This memo provides information for the Internet community.  This memo
  21.    does not specify an Internet standard of any kind.  Distribution of
  22.    this memo is unlimited.
  23.  
  24. IESG Note:
  25.  
  26.    This protocol is NOT the product of an IETF working group nor is it a
  27.    standards track document.  It has not necessarily benefited from the
  28.    widespread and in depth community review that standards track
  29.    documents receive.
  30.  
  31. Abstract
  32.  
  33.    This document provides an overview of a novel approach to network
  34.    layer packet forwarding, called tag switching. The two main
  35.    components of  the tag switching architecture - forwarding and
  36.    control - are described.  Forwarding is accomplished using simple
  37.    label-swapping techniques, while the existing network layer routing
  38.    protocols plus mechanisms for binding and distributing tags are used
  39.    for control. Tag switching can retain the scaling properties of IP,
  40.    and can help improve the scalability of IP networks. While tag
  41.    switching does not rely on ATM, it can straightforwardly be applied
  42.    to ATM switches. A range of tag switching applications and deployment
  43.    scenarios are described.
  44.  
  45. Table of Contents
  46.  
  47.    1      Introduction  ...........................................   2
  48.    2      Tag Switching components  ...............................   3
  49.    3      Forwarding component  ...................................   3
  50.    3.1    Tag encapsulation  ......................................   4
  51.    4      Control component  ......................................   4
  52.    4.1    Destination-based routing  ..............................   5
  53.    4.2    Hierarchy of routing knowledge  .........................   7
  54.    4.3    Multicast  ..............................................   8
  55.  
  56.  
  57.  
  58. Rekhter, et. al.             Informational                      [Page 1]
  59.  
  60. RFC 2105           Cisco's Tag Switching Architecture      February 1997
  61.  
  62.  
  63.    4.4    Flexible routing (explicit routes)  .....................   9
  64.    5      Tag switching with ATM  .................................   9
  65.    6      Quality of service  .....................................  11
  66.    7      Tag switching migration strategies  .....................  11
  67.    8      Summary  ................................................  12
  68.    9      Security Considerations  ................................  12
  69.    10     Intellectual Property Considerations  ...................  12
  70.    11     Acknowledgments  ........................................  12
  71.    12     Authors' Addresses  .....................................  13
  72.  
  73. 1. Introduction
  74.  
  75.    Continuous growth of the Internet demands higher bandwidth within the
  76.    Internet Service Providers (ISPs). However, growth of the Internet is
  77.    not the only driving factor for higher bandwidth - demand for higher
  78.    bandwidth also comes from emerging multimedia applications.  Demand
  79.    for higher bandwidth, in turn, requires higher forwarding performance
  80.    (packets per second) by routers, for both multicast and unicast
  81.    traffic.
  82.  
  83.    The growth of the Internet also demands improved scaling properties
  84.    of the Internet routing system. The ability to contain the volume of
  85.    routing information maintained by individual routers and the ability
  86.    to build a hierarchy of routing knowledge are essential to support a
  87.    high quality, scalable routing system.
  88.  
  89.    We see the need to improve forwarding performance while at the same
  90.    time adding routing functionality to support multicast, allowing more
  91.    flexible control over how traffic is routed, and providing the
  92.    ability to build a hierarchy of routing knowledge. Moreover, it
  93.    becomes more and more crucial to have a routing system that can
  94.    support graceful evolution to accommodate new and emerging
  95.    requirements.
  96.  
  97.    Tag switching is a technology that provides an efficient solution to
  98.    these challenges. Tag switching blends the flexibility and rich
  99.    functionality provided by Network Layer routing with the simplicity
  100.    provided by the label swapping forwarding paradigm.  The simplicity
  101.    of the tag switching forwarding paradigm (label swapping) enables
  102.    improved forwarding performance, while maintaining competitive
  103.    price/performance.  By associating a wide range of forwarding
  104.    granularities with a tag, the same forwarding paradigm can be used to
  105.    support a wide variety of routing functions, such as destination-
  106.    based routing, multicast, hierarchy of routing knowledge, and
  107.    flexible routing control. Finally, a combination of simple
  108.    forwarding, a wide range of forwarding granularities, and the ability
  109.    to evolve routing functionality while preserving the same forwarding
  110.    paradigm enables a routing system that can gracefully evolve to
  111.  
  112.  
  113.  
  114. Rekhter, et. al.             Informational                      [Page 2]
  115.  
  116. RFC 2105           Cisco's Tag Switching Architecture      February 1997
  117.  
  118.  
  119.    accommodate new and emerging requirements.
  120.  
  121.    The rest of the document is organized as follows. Section 2
  122.    introduces the main components of tag switching, forwarding and
  123.    control. Section 3 describes the forwarding component.  Section 4
  124.    describes the control component. Section 5 describes how tag
  125.    switching could be used with ATM. Section 6 describes the use of tag
  126.    switching to help provide a range of qualities of service.  Section 7
  127.    briefly describes possible deployment scenarios. Section 8 summarizes
  128.    the results.
  129.  
  130. 2. Tag Switching components
  131.  
  132.    Tag switching consists of two components: forwarding and control.
  133.    The forwarding component uses the tag information (tags) carried by
  134.    packets and the tag forwarding information maintained by a tag switch
  135.    to perform packet forwarding. The control component is responsible
  136.    for maintaining correct tag forwarding information among a group of
  137.    interconnected tag switches.
  138.  
  139. 3. Forwarding component
  140.  
  141.    The fundamental forwarding paradigm employed by tag switching is
  142.    based on the notion of label swapping. When a packet with a tag is
  143.    received by a tag switch, the switch uses the tag as an index in its
  144.    Tag Information Base (TIB). Each entry in the TIB consists of an
  145.    incoming tag, and one or more sub-entries of the form (outgoing tag,
  146.    outgoing interface, outgoing link level information). If the switch
  147.    finds an entry with the incoming tag equal to the tag carried in the
  148.    packet, then for each (outgoing tag, outgoing interface, outgoing
  149.    link level information) in the entry the switch replaces the tag in
  150.    the packet with the outgoing tag, replaces the link level information
  151.    (e.g MAC address) in the packet with the outgoing link level
  152.    information, and forwards the packet over the outgoing interface.
  153.  
  154.    From the above description of the forwarding component we can make
  155.    several observations. First, the forwarding decision is based on the
  156.    exact match algorithm using a fixed length, fairly short tag as an
  157.    index. This enables a simplified forwarding procedure, relative to
  158.    longest match forwarding traditionally used at the network layer.
  159.    This in turn enables higher forwarding performance (higher packets
  160.    per second). The forwarding procedure is simple enough to allow a
  161.    straightforward hardware implementation.
  162.  
  163.    A second observation is that the forwarding decision is independent
  164.    of the tag's forwarding granularity. For example, the same forwarding
  165.    algorithm applies to both unicast and multicast - a unicast entry
  166.    would just have a single (outgoing tag, outgoing interface, outgoing
  167.  
  168.  
  169.  
  170. Rekhter, et. al.             Informational                      [Page 3]
  171.  
  172. RFC 2105           Cisco's Tag Switching Architecture      February 1997
  173.  
  174.  
  175.    link level information) sub-entry, while a multicast entry may have
  176.    one or more (outgoing tag, outgoing interface, outgoing link level
  177.    information) sub-entries. (For multi-access links, the outgoing link
  178.    level information in this case would include a multicast MAC
  179.    address.) This illustrates how with tag switching the same forwarding
  180.    paradigm can be used to support different routing functions (e.g.,
  181.    unicast, multicast, etc...)
  182.  
  183.    The simple forwarding procedure is thus essentially decoupled from
  184.    the control component of tag switching. New routing (control)
  185.    functions can readily be deployed without disturbing the forwarding
  186.    paradigm.  This means that it is not necessary to re-optimize
  187.    forwarding performance (by modifying either hardware or software) as
  188.    new routing functionality is added.
  189.  
  190. 3.1. Tag encapsulation
  191.  
  192.    Tag information can be carried in a packet in a variety of ways:
  193.  
  194.       - as a small "shim" tag header inserted between the layer 2 and
  195.       the Network Layer headers;
  196.  
  197.       - as part of the layer 2 header, if the layer 2 header provides
  198.       adequate semantics (e.g., ATM, as discussed below);
  199.  
  200.       - as part of the Network Layer header (e.g., using the Flow Label
  201.       field in IPv6 with appropriately modified semantics).
  202.  
  203.    It is therefore possible to implement tag switching over virtually
  204.    any media type including point-to-point links, multi-access links,
  205.    and ATM.
  206.  
  207.    Observe also that the tag forwarding component is Network Layer
  208.    independent. Use of control component(s) specific to a particular
  209.    Network Layer protocol enables the use of tag switching with
  210.    different Network Layer protocols.
  211.  
  212. 4. Control component
  213.  
  214.    Essential to tag switching is the notion of binding between a tag and
  215.    Network Layer routing (routes). To provide good scaling
  216.    characteristics, while also accommodating diverse routing
  217.    functionality, tag switching supports a wide range of forwarding
  218.    granularities. At one extreme a tag could be associated (bound) to a
  219.    group of routes (more specifically to the Network Layer Reachability
  220.    Information of the routes in the group). At the other extreme a tag
  221.    could be bound to an individual application flow (e.g., an RSVP
  222.    flow). A tag could also be bound to a multicast tree.
  223.  
  224.  
  225.  
  226. Rekhter, et. al.             Informational                      [Page 4]
  227.  
  228. RFC 2105           Cisco's Tag Switching Architecture      February 1997
  229.  
  230.  
  231.    The control component is responsible for creating tag bindings, and
  232.    then distributing the tag binding information among tag switches.
  233.    The control component is organized as a collection of modules, each
  234.    designed to support a particular routing function. To support new
  235.    routing functions, new modules can be added. The following describes
  236.    some of the modules.
  237.  
  238. 4.1. Destination-based routing
  239.  
  240.    In this section we describe how tag switching can support
  241.    destination-based routing. Recall that with destination-based routing
  242.    a router makes a forwarding decision based on the destination address
  243.    carried in a packet and the information stored in the Forwarding
  244.    Information Base (FIB) maintained by the router. A router constructs
  245.    its FIB by using the information the router receives from routing
  246.    protocols (e.g., OSPF, BGP).
  247.  
  248.    To support destination-based routing with tag switching, a tag
  249.    switch, just like a router, participates in routing protocols (e.g.,
  250.    OSPF, BGP), and constructs its FIB using the information it receives
  251.    from these protocols.
  252.  
  253.    There are three permitted methods for tag allocation and Tag
  254.    Information Base (TIB) management: (a) downstream tag allocation, (b)
  255.    downstream tag allocation on demand, and (c) upstream tag allocation.
  256.    In all cases, a switch allocates tags and binds them to address
  257.    prefixes in its FIB. In downstream allocation, the tag that is
  258.    carried in a packet is generated and bound to a prefix by the switch
  259.    at the downstream end of the link (with respect to the direction of
  260.    data flow). In upstream allocation, tags are allocated and bound at
  261.    the upstream end of the link. `On demand' allocation means that tags
  262.    will only be allocated and distributed by the downstream switch when
  263.    it is requested to do so by the upstream switch.  Methods (b) and (c)
  264.    are most useful in ATM networks (see Section 5). Note that in
  265.    downstream allocation, a switch is responsible for creating tag
  266.    bindings that apply to incoming data packets, and receives tag
  267.    bindings for outgoing packets from its neighbors. In upstream
  268.    allocation, a switch is responsible for creating tag bindings for
  269.    outgoing tags, i.e. tags that are applied to data packets leaving the
  270.    switch, and receives bindings for incoming tags from its neighbors.
  271.  
  272.    The downstream tag allocation scheme operates as follows: for each
  273.    route in its FIB the switch allocates a tag, creates an entry in its
  274.    Tag Information Base (TIB) with the incoming tag set to the allocated
  275.    tag, and then advertises the binding between the (incoming) tag and
  276.    the route to other adjacent tag switches. The advertisement could be
  277.    accomplished by either piggybacking the binding on top of the
  278.    existing routing protocols, or by using a separate Tag Distribution
  279.  
  280.  
  281.  
  282. Rekhter, et. al.             Informational                      [Page 5]
  283.  
  284. RFC 2105           Cisco's Tag Switching Architecture      February 1997
  285.  
  286.  
  287.    Protocol [TDP]. When a tag switch receives tag binding information
  288.    for a route, and that information was originated by the next hop for
  289.    that route, the switch places the tag (carried as part of the binding
  290.    information) into the outgoing tag of the TIB entry associated with
  291.    the route. This creates the binding between the outgoing tag and the
  292.    route.
  293.  
  294.    With the downstream tag allocation on demand scheme, operation is as
  295.    follows. For each route in its FIB, the switch identifies the next
  296.    hop for that route. It then issues a request (via TDP) to the next
  297.    hop for a tag binding for that route. When the next hop receives the
  298.    request, it allocates a tag, creates an entry in its TIB with the
  299.    incoming tag set to the allocated tag, and then returns the binding
  300.    between the (incoming) tag and the  route to the switch that sent the
  301.    original request. When the switch receives the binding information,
  302.    the switch creates an entry in its TIB, and sets the outgoing tag in
  303.    the entry to the value received from the next hop.
  304.  
  305.    The upstream tag allocation scheme is used as follows. If a tag
  306.    switch has one or more point-to-point interfaces,  then for each
  307.    route in its FIB whose next hop is reachable via one of these
  308.    interfaces, the switch allocates a tag, creates an entry in its TIB
  309.    with the outgoing tag set to the allocated tag, and then advertises
  310.    to the next hop (via TDP) the binding between the (outgoing) tag and
  311.    the route. When a tag switch that is the next hop receives the tag
  312.    binding information, the switch places the tag (carried as part of
  313.    the binding information) into the incoming tag of the TIB entry
  314.    associated with the route.
  315.  
  316.    Once a TIB entry is populated with both incoming and outgoing tags,
  317.    the tag switch can forward packets for routes bound to the tags by
  318.    using the tag switching forwarding algorithm (as described in Section
  319.    3).
  320.  
  321.    When a tag switch creates a binding between an outgoing tag and a
  322.    route, the switch, in addition to populating its TIB, also updates
  323.    its FIB with the binding information. This enables the switch to add
  324.    tags to previously untagged packets.
  325.  
  326.    To understand the scaling properties of tag switching in conjunction
  327.    with destination-based routing, observe that the total number of tags
  328.    that a tag switch has to maintain can not be greater than the number
  329.    of routes in the switch's FIB. Moreover, in some cases a single tag
  330.    could be associated with a group of routes, rather than with a single
  331.    route. Thus, much less state is required than would be the case if
  332.    tags were allocated to individual flows.
  333.  
  334.  
  335.  
  336.  
  337.  
  338. Rekhter, et. al.             Informational                      [Page 6]
  339.  
  340. RFC 2105           Cisco's Tag Switching Architecture      February 1997
  341.  
  342.  
  343.    In general, a tag switch will try to populate its TIB with incoming
  344.    and outgoing tags for all routes to which it has reachability, so
  345.    that all packets can be forwarded by simple label swapping. Tag
  346.    allocation is thus driven by topology (routing), not traffic - it is
  347.    the existence of a FIB entry that causes tag allocations, not the
  348.    arrival of data packets.
  349.  
  350.    Use of tags associated with routes, rather than flows, also means
  351.    that there is no need to perform flow classification procedures for
  352.    all the flows to determine whether to assign a tag to a flow. That,
  353.    in turn, simplifies the overall scheme, and makes it more robust and
  354.    stable in the presence of changing traffic patterns.
  355.  
  356.    Note that when tag switching is used to support destination-based
  357.    routing, tag switching does not completely eliminate the need to
  358.    perform normal Network Layer forwarding. First of all, to add a tag
  359.    to a previously untagged packet requires normal Network Layer
  360.    forwarding. This function could be performed by the first hop router,
  361.    or by the first router on the path that is able to participate in tag
  362.    switching. In addition, whenever a tag switch aggregates a set of
  363.    routes (e.g., by using the technique of hierarchical routing), into a
  364.    single tag, and the routes do not share a common next hop, the switch
  365.    needs to perform Network Layer forwarding for packets carrying that
  366.    tag. However, one could observe that the number of places where
  367.    routes get aggregated is smaller than the total number of places
  368.    where forwarding decisions have to be made.  Moreover, quite often
  369.    aggregation is applied to only a subset of the routes maintained by a
  370.    tag switch. As a result, on average a packet can be forwarded most of
  371.    the time using the tag switching algorithm.
  372.  
  373. 4.2. Hierarchy of routing knowledge
  374.  
  375.    The IP routing architecture models a network as a collection of
  376.    routing domains. Within a domain, routing is provided via interior
  377.    routing (e.g., OSPF), while routing across domains is provided via
  378.    exterior routing (e.g., BGP). However, all routers within domains
  379.    that carry transit traffic (e.g., domains formed by Internet Service
  380.    Providers) have to maintain information provided by not just interior
  381.    routing, but exterior routing as well. That creates certain problems.
  382.    First of all, the amount of this information is not insignificant.
  383.    Thus it places additional demand on the resources required by the
  384.    routers. Moreover, increase in the volume of routing information
  385.    quite often increases routing convergence time. This, in turn,
  386.    degrades the overall performance of the system.
  387.  
  388.    Tag switching allows the decoupling of interior and exterior routing,
  389.    so that only tag switches at the border of a domain would be required
  390.    to maintain routing information provided by exterior routing, while
  391.  
  392.  
  393.  
  394. Rekhter, et. al.             Informational                      [Page 7]
  395.  
  396. RFC 2105           Cisco's Tag Switching Architecture      February 1997
  397.  
  398.  
  399.    all other switches within the domain would just maintain routing
  400.    information provided by the domain's interior routing (which is
  401.    usually significantly smaller than the exterior routing information).
  402.    This, in turn, reduces the routing load on non-border switches, and
  403.    shortens routing convergence time.
  404.  
  405.    To support this functionality, tag switching allows a packet to carry
  406.    not one but a set of tags, organized as a stack. A tag switch could
  407.    either swap the tag at the top of the stack, or pop the stack, or
  408.    swap the tag and push one or more tags into the stack.
  409.  
  410.    When a packet is forwarded between two (border) tag switches in
  411.    different domains, the tag stack in the packet contains just one tag.
  412.    However, when a packet is forwarded within a domain, the tag stack in
  413.    the packet contains not one, but two tags (the second tag is pushed
  414.    by the domain's ingress border tag switch).  The tag at the top of
  415.    the stack provides packet forwarding to an appropriate egress border
  416.    tag switch, while the next tag in the stack provides correct packet
  417.    forwarding at the egress switch.  The stack is popped by either the
  418.    egress switch or by the penultimate (with respect to the egress
  419.    switch) switch.
  420.  
  421.    The control component used in this scenario is fairly similar to the
  422.    one used with destination-based routing. In fact, the only essential
  423.    difference is that in this scenario the tag binding information is
  424.    distributed both among physically adjacent tag switches, and among
  425.    border tag switches within a single domain. One could also observe
  426.    that the latter (distribution among border switches) could be
  427.    trivially accommodated by very minor extensions to BGP (via a
  428.    separate Tag Binding BGP attribute).
  429.  
  430. 4.3. Multicast
  431.  
  432.    Essential to multicast routing is the notion of spanning trees.
  433.    Multicast routing procedures (e.g., PIM) are responsible for
  434.    constructing such trees (with receivers as leafs), while multicast
  435.    forwarding is responsible for forwarding multicast packets along such
  436.    trees.
  437.  
  438.    To support a multicast forwarding function with tag switching, each
  439.    tag switch associates a tag with a multicast tree as follows.  When a
  440.    tag switch creates a multicast forwarding entry (either for a shared
  441.    or for a source-specific tree), and the list of outgoing interfaces
  442.    for the entry, the switch also creates local tags (one per outgoing
  443.    interface).  The switch creates an entry in its TIB and populates
  444.    (outgoing tag, outgoing interface, outgoing MAC header) with this
  445.    information for each outgoing interface, placing a locally generated
  446.    tag in the outgoing tag field.  This creates a binding between a
  447.  
  448.  
  449.  
  450. Rekhter, et. al.             Informational                      [Page 8]
  451.  
  452. RFC 2105           Cisco's Tag Switching Architecture      February 1997
  453.  
  454.  
  455.    multicast tree and the tags.  The switch then advertises over each
  456.    outgoing interface associated with the entry the binding between the
  457.    tag (associated with this interface) and the tree.
  458.  
  459.    When a tag switch receives a binding between a multicast tree and a
  460.    tag from another tag switch, if the other switch is the upstream
  461.    neighbor (with respect to the multicast tree), the local switch
  462.    places the tag carried in the binding into the incoming tag component
  463.    of the TIB entry associated with the tree.
  464.  
  465.    When a set of tag switches are interconnected via a multiple-access
  466.    subnetwork, the tag allocation procedure for multicast has to be
  467.    coordinated among the switches. In all other cases tag allocation
  468.    procedure for multicast could be the same as for tags used with
  469.    destination-based routing.
  470.  
  471. 4.4. Flexible routing (explicit routes)
  472.  
  473.    One of the fundamental properties of destination-based routing is
  474.    that the only information from a packet that is used to forward the
  475.    packet is the destination address. While this property enables highly
  476.    scalable routing, it also limits the ability to influence the actual
  477.    paths taken by packets. This, in turn, limits the ability to evenly
  478.    distribute traffic among multiple links, taking the load off highly
  479.    utilized links, and shifting it towards less utilized links. For
  480.    Internet Service Providers (ISPs) who support different classes of
  481.    service, destination-based routing also limits their ability to
  482.    segregate different classes with respect to the links used by these
  483.    classes.  Some of the ISPs today use Frame Relay or ATM to overcome
  484.    the limitations imposed by destination-based routing. Tag switching,
  485.    because of the flexible granularity of tags, is able to overcome
  486.    these limitations without using either Frame Relay or ATM.
  487.  
  488.    To provide forwarding along the paths that are different from the
  489.    paths determined by the destination-based routing, the control
  490.    component of tag switching allows installation of tag bindings in tag
  491.    switches that do not correspond to the destination-based routing
  492.    paths.
  493.  
  494. 5. Tag switching with ATM
  495.  
  496.    Since the tag switching forwarding paradigm is based on label
  497.    swapping, and since ATM forwarding is also based on label swapping,
  498.    tag switching technology can readily be applied to ATM switches by
  499.    implementing the control component of tag switching.
  500.  
  501.  
  502.  
  503.  
  504.  
  505.  
  506. Rekhter, et. al.             Informational                      [Page 9]
  507.  
  508. RFC 2105           Cisco's Tag Switching Architecture      February 1997
  509.  
  510.  
  511.    The tag information needed for tag switching can be carried in the
  512.    VCI field. If two levels of tagging are needed, then the VPI field
  513.    could be used as well, although the size of the VPI field limits the
  514.    size of networks in which this would be practical. However, for most
  515.    applications of one level of tagging the VCI field is adequate.
  516.  
  517.    To obtain the necessary control information, the switch should be
  518.    able (at a minimum) to participate as a peer in Network Layer routing
  519.    protocols (e.g., OSPF, BGP). Moreover, if the switch has to perform
  520.    routing information aggregation, then to support destination-based
  521.    unicast routing the switch should be able to perform Network Layer
  522.    forwarding for some fraction of the traffic as well.
  523.  
  524.    Supporting the destination-based routing function with tag switching
  525.    on an ATM switch may require the switch to maintain not one, but
  526.    several tags associated with a route (or a group of routes with the
  527.    same next hop).  This is necessary to avoid the interleaving of
  528.    packets which arrive from different upstream tag switches, but are
  529.    sent concurrently to the same next hop. Either the downstream tag
  530.    allocation on demand or the upstream tag allocation scheme could be
  531.    used for the tag allocation and TIB maintenance procedures with ATM
  532.    switches.
  533.  
  534.    Therefore, an ATM switch can support tag switching, but at the
  535.    minimum it needs to implement Network Layer routing protocols, and
  536.    the tag switching control component on the switch. It may also need
  537.    to support some network layer forwarding.
  538.  
  539.    Implementing tag switching on an ATM switch would simplify
  540.    integration of ATM switches and routers - an ATM switch capable of
  541.    tag switching would appear as a router to an adjacent router. That
  542.    could provide a viable, more scalable alternative to the overlay
  543.    model. It also removes the necessity for ATM addressing, routing and
  544.    signalling schemes. Because the destination-based forwarding approach
  545.    described in section 4.1 is topology driven rather than traffic
  546.    driven, application of this approach to ATM switches does not high
  547.    call setup rates, nor does it depend on the longevity of flows.
  548.  
  549.    Implementing tag switching on an ATM switch does not preclude the
  550.    ability to support a traditional ATM control plane (e.g., PNNI) on
  551.    the same switch. The two components, tag switching and the ATM
  552.    control plane, would operate in a Ships In the Night mode (with
  553.    VPI/VCI space and other resources partitioned so that the components
  554.    do not interact).
  555.  
  556.  
  557.  
  558.  
  559.  
  560.  
  561.  
  562. Rekhter, et. al.             Informational                     [Page 10]
  563.  
  564. RFC 2105           Cisco's Tag Switching Architecture      February 1997
  565.  
  566.  
  567. 6. Quality of service
  568.  
  569.    Two mechanisms are needed for providing a range of qualities of
  570.    service to packets passing through a router or a tag switch. First,
  571.    we need to classify packets into different classes. Second, we need
  572.    to ensure that the handling of packets is such that the appropriate
  573.    QOS characteristics (bandwidth, loss, etc.) are provided to each
  574.    class.
  575.  
  576.    Tag switching provides an easy way to mark packets as belonging to a
  577.    particular class after they have been classified the first time.
  578.    Initial classification would be done using information carried in the
  579.    network layer or higher layer headers. A tag corresponding to the
  580.    resultant class would then be applied to the packet. Tagged packets
  581.    can then be efficiently handled by the tag switching routers in their
  582.    path without needing to be reclassified. The actual packet scheduling
  583.    and queueing is largely orthogonal - the key point here is that tag
  584.    switching enables simple logic to be used to find the state that
  585.    identifies how the packet should be scheduled.
  586.  
  587.    The exact use of tag switching for QOS purposes depends a great deal
  588.    on how QOS is deployed. If RSVP is used to request a certain QOS for
  589.    a class of packets, then it would be necessary to allocate a tag
  590.    corresponding to each RSVP session for which state is installed at a
  591.    tag switch. This might be done by TDP or by extension of RSVP.
  592.  
  593. 7. Tag switching migration strategies
  594.  
  595.    Since tag switching is performed between a pair of adjacent tag
  596.    switches, and since the tag binding information could be distributed
  597.    on a pairwise basis, tag switching could be introduced in a fairly
  598.    simple, incremental fashion. For example, once a pair of adjacent
  599.    routers are converted into tag switches, each of the switches would
  600.    tag packets destined to the other, thus enabling the other switch to
  601.    use tag switching. Since tag switches use the same routing protocols
  602.    as routers, the introduction of tag switches has no impact on
  603.    routers. In fact, a tag switch connected to a router acts just as a
  604.    router from the router's perspective.
  605.  
  606.    As more and more routers are upgraded to enable tag switching, the
  607.    scope of functionality provided by tag switching widens. For example,
  608.    once all the routers within a domain are upgraded to support tag
  609.    switching, in becomes possible to start using the hierarchy of
  610.    routing knowledge function.
  611.  
  612.  
  613.  
  614.  
  615.  
  616.  
  617.  
  618. Rekhter, et. al.             Informational                     [Page 11]
  619.  
  620. RFC 2105           Cisco's Tag Switching Architecture      February 1997
  621.  
  622.  
  623. 8. Summary
  624.  
  625.    In this document we described the tag switching technology. Tag
  626.    switching is not constrained to a particular Network Layer protocol -
  627.    it is a multiprotocol solution.  The forwarding component of tag
  628.    switching is simple enough to facilitate high performance forwarding,
  629.    and may be implemented on high performance forwarding hardware such
  630.    as ATM switches. The control component is flexible enough to support
  631.    a wide variety of routing functions, such as destination-based
  632.    routing, multicast routing, hierarchy of routing knowledge, and
  633.    explicitly defined routes. By allowing a wide range of forwarding
  634.    granularities that could be associated with a tag, we provide both
  635.    scalable and functionally rich routing. A combination of a wide range
  636.    of forwarding granularities and the ability to evolve the control
  637.    component fairly independently from the forwarding component results
  638.    in a solution that enables graceful introduction of new routing
  639.    functionality to meet the demands of a rapidly evolving computer
  640.    networking environment.
  641.  
  642. 9. Security Considerations
  643.  
  644.    Security issues are not discussed in this memo.
  645.  
  646. 10. Intellectual Property Considerations
  647.  
  648.    Cisco Systems may seek patent or other intellectual property
  649.    protection for some or all of the technologies disclosed in this
  650.    document. If any standards arising from this document are or become
  651.    protected by one or more patents assigned to Cisco Systems, Cisco
  652.    intends to disclose those patents and license them on reasonable and
  653.    non-discriminatory terms.
  654.  
  655. 11. Acknowledgments
  656.  
  657.    Significant contributions to this work have been made by Anthony
  658.    Alles, Fred Baker, Paul Doolan, Dino Farinacci, Guy Fedorkow, Jeremy
  659.    Lawrence, Arthur Lin, Morgan Littlewood, Keith McCloghrie, and Dan
  660.    Tappan.
  661.  
  662.  
  663.  
  664.  
  665.  
  666.  
  667.  
  668.  
  669.  
  670.  
  671.  
  672.  
  673.  
  674. Rekhter, et. al.             Informational                     [Page 12]
  675.  
  676. RFC 2105           Cisco's Tag Switching Architecture      February 1997
  677.  
  678.  
  679. 12. Authors' Addresses
  680.  
  681.    Yakov Rekhter
  682.    Cisco Systems, Inc.
  683.    170 Tasman Drive
  684.    San Jose, CA, 95134
  685.  
  686.    EMail: yakov@cisco.com
  687.  
  688.  
  689.    Bruce Davie
  690.    Cisco Systems, Inc.
  691.    250 Apollo Drive
  692.    Chelmsford, MA, 01824
  693.  
  694.    EMail: bsd@cisco.com
  695.  
  696.  
  697.    Dave Katz
  698.    Cisco Systems, Inc.
  699.    170 Tasman Drive
  700.    San Jose, CA, 95134
  701.  
  702.    EMail: dkatz@cisco.com
  703.  
  704.  
  705.    Eric Rosen
  706.    Cisco Systems, Inc.
  707.    250 Apollo Drive
  708.    Chelmsford, MA, 01824
  709.  
  710.    EMail: erosen@cisco.com
  711.  
  712.  
  713.    George Swallow
  714.    Cisco Systems, Inc.
  715.    250 Apollo Drive
  716.    Chelmsford, MA, 01824
  717.  
  718.    EMail: swallow@cisco.com
  719.  
  720.  
  721.  
  722.  
  723.  
  724.  
  725.  
  726.  
  727.  
  728.  
  729.  
  730. Rekhter, et. al.             Informational                     [Page 13]
  731.  
  732.