⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 rfc2105.txt

📁 RFC 的详细文档!
💻 TXT
📖 第 1 页 / 共 3 页
字号:
   its FIB by using the information the router receives from routing
   protocols (e.g., OSPF, BGP).

   To support destination-based routing with tag switching, a tag
   switch, just like a router, participates in routing protocols (e.g.,
   OSPF, BGP), and constructs its FIB using the information it receives
   from these protocols.

   There are three permitted methods for tag allocation and Tag
   Information Base (TIB) management: (a) downstream tag allocation, (b)
   downstream tag allocation on demand, and (c) upstream tag allocation.
   In all cases, a switch allocates tags and binds them to address
   prefixes in its FIB. In downstream allocation, the tag that is
   carried in a packet is generated and bound to a prefix by the switch
   at the downstream end of the link (with respect to the direction of
   data flow). In upstream allocation, tags are allocated and bound at
   the upstream end of the link. `On demand' allocation means that tags
   will only be allocated and distributed by the downstream switch when
   it is requested to do so by the upstream switch.  Methods (b) and (c)
   are most useful in ATM networks (see Section 5). Note that in
   downstream allocation, a switch is responsible for creating tag
   bindings that apply to incoming data packets, and receives tag
   bindings for outgoing packets from its neighbors. In upstream
   allocation, a switch is responsible for creating tag bindings for
   outgoing tags, i.e. tags that are applied to data packets leaving the
   switch, and receives bindings for incoming tags from its neighbors.

   The downstream tag allocation scheme operates as follows: for each
   route in its FIB the switch allocates a tag, creates an entry in its
   Tag Information Base (TIB) with the incoming tag set to the allocated
   tag, and then advertises the binding between the (incoming) tag and
   the route to other adjacent tag switches. The advertisement could be
   accomplished by either piggybacking the binding on top of the
   existing routing protocols, or by using a separate Tag Distribution



Rekhter, et. al.             Informational                      [Page 5]

RFC 2105           Cisco's Tag Switching Architecture      February 1997


   Protocol [TDP]. When a tag switch receives tag binding information
   for a route, and that information was originated by the next hop for
   that route, the switch places the tag (carried as part of the binding
   information) into the outgoing tag of the TIB entry associated with
   the route. This creates the binding between the outgoing tag and the
   route.

   With the downstream tag allocation on demand scheme, operation is as
   follows. For each route in its FIB, the switch identifies the next
   hop for that route. It then issues a request (via TDP) to the next
   hop for a tag binding for that route. When the next hop receives the
   request, it allocates a tag, creates an entry in its TIB with the
   incoming tag set to the allocated tag, and then returns the binding
   between the (incoming) tag and the  route to the switch that sent the
   original request. When the switch receives the binding information,
   the switch creates an entry in its TIB, and sets the outgoing tag in
   the entry to the value received from the next hop.

   The upstream tag allocation scheme is used as follows. If a tag
   switch has one or more point-to-point interfaces,  then for each
   route in its FIB whose next hop is reachable via one of these
   interfaces, the switch allocates a tag, creates an entry in its TIB
   with the outgoing tag set to the allocated tag, and then advertises
   to the next hop (via TDP) the binding between the (outgoing) tag and
   the route. When a tag switch that is the next hop receives the tag
   binding information, the switch places the tag (carried as part of
   the binding information) into the incoming tag of the TIB entry
   associated with the route.

   Once a TIB entry is populated with both incoming and outgoing tags,
   the tag switch can forward packets for routes bound to the tags by
   using the tag switching forwarding algorithm (as described in Section
   3).

   When a tag switch creates a binding between an outgoing tag and a
   route, the switch, in addition to populating its TIB, also updates
   its FIB with the binding information. This enables the switch to add
   tags to previously untagged packets.

   To understand the scaling properties of tag switching in conjunction
   with destination-based routing, observe that the total number of tags
   that a tag switch has to maintain can not be greater than the number
   of routes in the switch's FIB. Moreover, in some cases a single tag
   could be associated with a group of routes, rather than with a single
   route. Thus, much less state is required than would be the case if
   tags were allocated to individual flows.





Rekhter, et. al.             Informational                      [Page 6]

RFC 2105           Cisco's Tag Switching Architecture      February 1997


   In general, a tag switch will try to populate its TIB with incoming
   and outgoing tags for all routes to which it has reachability, so
   that all packets can be forwarded by simple label swapping. Tag
   allocation is thus driven by topology (routing), not traffic - it is
   the existence of a FIB entry that causes tag allocations, not the
   arrival of data packets.

   Use of tags associated with routes, rather than flows, also means
   that there is no need to perform flow classification procedures for
   all the flows to determine whether to assign a tag to a flow. That,
   in turn, simplifies the overall scheme, and makes it more robust and
   stable in the presence of changing traffic patterns.

   Note that when tag switching is used to support destination-based
   routing, tag switching does not completely eliminate the need to
   perform normal Network Layer forwarding. First of all, to add a tag
   to a previously untagged packet requires normal Network Layer
   forwarding. This function could be performed by the first hop router,
   or by the first router on the path that is able to participate in tag
   switching. In addition, whenever a tag switch aggregates a set of
   routes (e.g., by using the technique of hierarchical routing), into a
   single tag, and the routes do not share a common next hop, the switch
   needs to perform Network Layer forwarding for packets carrying that
   tag. However, one could observe that the number of places where
   routes get aggregated is smaller than the total number of places
   where forwarding decisions have to be made.  Moreover, quite often
   aggregation is applied to only a subset of the routes maintained by a
   tag switch. As a result, on average a packet can be forwarded most of
   the time using the tag switching algorithm.

4.2. Hierarchy of routing knowledge

   The IP routing architecture models a network as a collection of
   routing domains. Within a domain, routing is provided via interior
   routing (e.g., OSPF), while routing across domains is provided via
   exterior routing (e.g., BGP). However, all routers within domains
   that carry transit traffic (e.g., domains formed by Internet Service
   Providers) have to maintain information provided by not just interior
   routing, but exterior routing as well. That creates certain problems.
   First of all, the amount of this information is not insignificant.
   Thus it places additional demand on the resources required by the
   routers. Moreover, increase in the volume of routing information
   quite often increases routing convergence time. This, in turn,
   degrades the overall performance of the system.

   Tag switching allows the decoupling of interior and exterior routing,
   so that only tag switches at the border of a domain would be required
   to maintain routing information provided by exterior routing, while



Rekhter, et. al.             Informational                      [Page 7]

RFC 2105           Cisco's Tag Switching Architecture      February 1997


   all other switches within the domain would just maintain routing
   information provided by the domain's interior routing (which is
   usually significantly smaller than the exterior routing information).
   This, in turn, reduces the routing load on non-border switches, and
   shortens routing convergence time.

   To support this functionality, tag switching allows a packet to carry
   not one but a set of tags, organized as a stack. A tag switch could
   either swap the tag at the top of the stack, or pop the stack, or
   swap the tag and push one or more tags into the stack.

   When a packet is forwarded between two (border) tag switches in
   different domains, the tag stack in the packet contains just one tag.
   However, when a packet is forwarded within a domain, the tag stack in
   the packet contains not one, but two tags (the second tag is pushed
   by the domain's ingress border tag switch).  The tag at the top of
   the stack provides packet forwarding to an appropriate egress border
   tag switch, while the next tag in the stack provides correct packet
   forwarding at the egress switch.  The stack is popped by either the
   egress switch or by the penultimate (with respect to the egress
   switch) switch.

   The control component used in this scenario is fairly similar to the
   one used with destination-based routing. In fact, the only essential
   difference is that in this scenario the tag binding information is
   distributed both among physically adjacent tag switches, and among
   border tag switches within a single domain. One could also observe
   that the latter (distribution among border switches) could be
   trivially accommodated by very minor extensions to BGP (via a
   separate Tag Binding BGP attribute).

4.3. Multicast

   Essential to multicast routing is the notion of spanning trees.
   Multicast routing procedures (e.g., PIM) are responsible for
   constructing such trees (with receivers as leafs), while multicast
   forwarding is responsible for forwarding multicast packets along such
   trees.

   To support a multicast forwarding function with tag switching, each
   tag switch associates a tag with a multicast tree as follows.  When a
   tag switch creates a multicast forwarding entry (either for a shared
   or for a source-specific tree), and the list of outgoing interfaces
   for the entry, the switch also creates local tags (one per outgoing
   interface).  The switch creates an entry in its TIB and populates
   (outgoing tag, outgoing interface, outgoing MAC header) with this
   information for each outgoing interface, placing a locally generated
   tag in the outgoing tag field.  This creates a binding between a



Rekhter, et. al.             Informational                      [Page 8]

RFC 2105           Cisco's Tag Switching Architecture      February 1997


   multicast tree and the tags.  The switch then advertises over each
   outgoing interface associated with the entry the binding between the
   tag (associated with this interface) and the tree.

   When a tag switch receives a binding between a multicast tree and a
   tag from another tag switch, if the other switch is the upstream
   neighbor (with respect to the multicast tree), the local switch
   places the tag carried in the binding into the incoming tag component
   of the TIB entry associated with the tree.

   When a set of tag switches are interconnected via a multiple-access
   subnetwork, the tag allocation procedure for multicast has to be
   coordinated among the switches. In all other cases tag allocation
   procedure for multicast could be the same as for tags used with
   destination-based routing.

4.4. Flexible routing (explicit routes)

   One of the fundamental properties of destination-based routing is
   that the only information from a packet that is used to forward the
   packet is the destination address. While this property enables highly
   scalable routing, it also limits the ability to influence the actual
   paths taken by packets. This, in turn, limits the ability to evenly
   distribute traffic among multiple links, taking the load off highly
   utilized links, and shifting it towards less utilized links. For
   Internet Service Providers (ISPs) who support different classes of
   service, destination-based routing also limits their ability to
   segregate different classes with respect to the links used by these
   classes.  Some of the ISPs today use Frame Relay or ATM to overcome
   the limitations imposed by destination-based routing. Tag switching,
   because of the flexible granularity of tags, is able to overcome
   these limitations without using either Frame Relay or ATM.

   To provide forwarding along the paths that are different from the

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -