1. Tag Switching1. Tag Switching
RFC 2105 - Cisco systems Tag RFC 2105 - Cisco systems Tag Switching architecture Switching architecture overview.overview.
Switching In IP Networks - Switching In IP Networks - B.Davie, P.Doolan, Y.Rekhter.B.Davie, P.Doolan, Y.Rekhter.
Presnted By - Shmuel Vagner.Presnted By - Shmuel Vagner.
2. Overview2. Overview
A label swapping protocol that A label swapping protocol that allows:allows:• Destination based routing.Destination based routing.• Hierarchies of routing knowledge.Hierarchies of routing knowledge.• Multicast routing.Multicast routing.• Explicit routes.Explicit routes.
3. Overview3. Overview
Advantages:Advantages:• Better performance.Better performance.• Hardware and data-link independent Hardware and data-link independent
but at the same time can benefit from but at the same time can benefit from fast data-link protocols like ATM.fast data-link protocols like ATM.
• Scalable.Scalable.• Flexible.Flexible.
TSR - Tag Switching router.TSR - Tag Switching router. TSER - Tag Switching edge router.TSER - Tag Switching edge router.
4. Overview4. Overview
TSER
TSER
TSER
TSR
TSR
TSR
5. Components5. Components
Forwarding ComponentForwarding Component• Responsible for forwarding incoming Responsible for forwarding incoming
packets:packets:– The routing entry is found using a tag, The routing entry is found using a tag,
carried by the incoming packet.carried by the incoming packet.– A new data-link address and a new tag are A new data-link address and a new tag are
swapped into the outgoing packet.swapped into the outgoing packet.– The altered packet is sent over the The altered packet is sent over the
outgoing interface specified in the routing outgoing interface specified in the routing entry.entry.
Incoming Tag Outgoing TagOutgoing I/FData-link address
6. Components6. Components
Control ComponentControl Component• Responsible for creation of tags.Responsible for creation of tags.• Responsible for binding between tags Responsible for binding between tags
and routing entries.and routing entries.• Responsible for distribution of tags to Responsible for distribution of tags to
other TSRs.other TSRs.
7. Destination Based 7. Destination Based RoutingRouting
A typical routing table consist of routing A typical routing table consist of routing entries that correspond to forwarding entries that correspond to forwarding equivalence classes (FEC).equivalence classes (FEC).
The routing table is populated using The routing table is populated using standard routing protocols like: RIP, OSPF, standard routing protocols like: RIP, OSPF, BGP etc…BGP etc…
Tag switching uses the information Tag switching uses the information obtained by these protocols to construct obtained by these protocols to construct it’s tag forwarding information base (TFIB)it’s tag forwarding information base (TFIB)
8. Destination Based 8. Destination Based Routing (Tag Distribution)Routing (Tag Distribution)
Three techniques for tag Three techniques for tag distribution:distribution:• Downstream distribution.Downstream distribution.
• Downstream on demand distribution.Downstream on demand distribution.
• Upstream distribution.Upstream distribution.
9. Destination Based 9. Destination Based Routing (Tag Distribution)Routing (Tag Distribution)
Downstream distribution:Downstream distribution:• An FEC entry is obtained by a routing protocol.An FEC entry is obtained by a routing protocol.• A Tag is allocated for the entry from a pool of A Tag is allocated for the entry from a pool of
free tags.free tags.• The FEC entry is placed in the TFIB under the The FEC entry is placed in the TFIB under the
allocated tag.allocated tag.• A <Tag, Address prefix> tupple is sent to A <Tag, Address prefix> tupple is sent to
each adjacent TSR.each adjacent TSR.• Upon receiving a tupple from the next hop Upon receiving a tupple from the next hop
TSR, the TSR updates the TFIB entry.TSR, the TSR updates the TFIB entry.
10. Destination Based 10. Destination Based Routing (Tag Distribution)Routing (Tag Distribution)
On demand downstream On demand downstream distribution:distribution:• Same as downstream, with the Same as downstream, with the
exception that TSR explicitly request exception that TSR explicitly request for outgoing tag information.for outgoing tag information.
Upstream distribution: Upstream distribution: • The TSR allocates outgoing tags and The TSR allocates outgoing tags and
receives incoming tag information from receives incoming tag information from other TSRs.other TSRs.
11. Destination Based 11. Destination Based Routing (Tag Distribution)Routing (Tag Distribution)
Weak points:Weak points:• Upstream requires a TFIB per interface.Upstream requires a TFIB per interface.• Upstream will work only with point to point Upstream will work only with point to point
links.links.• Upstream requires the TSRs to know the tag Upstream requires the TSRs to know the tag
ranges of each other.ranges of each other.• Downstream send more messages then Downstream send more messages then
necessary.necessary.• Downstream on demand makes the protocol Downstream on demand makes the protocol
more complex and cannot be piggy-backed. more complex and cannot be piggy-backed.
12. Destination Based 12. Destination Based Routing (Tag Distribution)Routing (Tag Distribution)
Tags can be distributed by standard Tags can be distributed by standard routing messages.routing messages.• Will work well with BGP (as a BGP attribute).Will work well with BGP (as a BGP attribute).• Not suitable for OSPF (Only adjacent nodes Not suitable for OSPF (Only adjacent nodes
should be updated).should be updated).• Not suitable for RIP (The protocol software Not suitable for RIP (The protocol software
should be upgraded).should be upgraded). Tags can be distributed using a dedicated Tags can be distributed using a dedicated
Tag Distribution Protocol (TDP). Tag Distribution Protocol (TDP).
13. Example13. Example
C D
E
A BIf0
If0
If2
If1
If0
If2
If1
If0
If0
If2 If1
If1 If2
Incoming Tag Outgoing Tag Next HopTSR Interface
TSR A
TSR B
TSR C
TSR D
TSR E
100
6
17
5
6
?
?
?
? If0
TSR B
TSR E
TSR D
TSR E
TSR E
If1
If1
If2
? If0
Incoming Tag Outgoing Tag Next HopTSR Interface
TSR A
TSR B
TSR C
TSR D
TSR E
100
6
17
5
6
6
6
5
6 If0
TSR B
TSR E
TSR D
TSR E
TSR E
If1
If1
If2
? If0
14. Routing Changes 14. Routing Changes ExampleExample
C D
E
A BIf0
If0
If2
If1
If0
If2
If1
If0
If0
If2 If1
If1 If2
Incoming Tag Outgoing Tag Next HopTSR Interface
TSR A
TSR B
TSR C
TSR D
TSR E
100
6
17
5
6
6
6
5
6 If0
TSR B
TSR E
TSR D
TSR E
TSR E
If1
If1
If2
? If0
Incoming Tag Outgoing Tag Next HopTSR Interface
TSR A
TSR B
TSR C
TSR D
TSR E
100
6
17
5
6
6
5
5
6 If0
TSR B
TSR E
TSR D
TSR E
TSR E
If1
If0
If2
? If0
15. Routing Hierarchies15. Routing Hierarchies
Interior Routers in transit domains Interior Routers in transit domains currently have to store enormous currently have to store enormous routing tables that contain FEC entries routing tables that contain FEC entries to each possible destination.to each possible destination.
Storing FEC entries to edge routers Storing FEC entries to edge routers should be enough!should be enough!
Advantages:Advantages:• Fault Isolation.Fault Isolation.• Better PerformanceBetter Performance
16. Routing Hierarchies16. Routing Hierarchies
The TFIB of internal TSRs contains only The TFIB of internal TSRs contains only FEC entries that associated with FEC entries that associated with destinations within the domain.destinations within the domain.
TSERs maintain full routing tables and TSERs maintain full routing tables and thus know to what TSERs to route thus know to what TSERs to route packets that enter the domain.packets that enter the domain.
TSERs can also use tag switching TSERs can also use tag switching between themselves by stacking tags.between themselves by stacking tags.
17. Example17. Example
V T X Y W Z
Domain BDomain A
Domain C
Incoming Tag Outgoing Tag Next HopTSR
TSR T
TSR X
TSR Y
TSR W
N/A
10
12
17
10
12
17
N/A
TSR X
TSR Y
TSR W
TSR W
Intra-domain entries
Incoming Tag Outgoing Tag Next HopTSR
TSR V
TSR T
TSR W
TSR Z
...
5
2
6
5
2
6
N/A
TSR T
TSR W
TSR Z
...
Inter-domain entries
V:5 T:2,10 X:2,12 Y:2,17 W:6
18. Multicast18. Multicast
Key features:Key features:• Allows a source to send a single message to Allows a source to send a single message to
multiple sources.multiple sources.• Structured as a tree.Structured as a tree.• Hello messages are sent to advertise a Hello messages are sent to advertise a
multicast tree.multicast tree.• Join messages are sent to join a multicast Join messages are sent to join a multicast
tree.tree.• Allows efficient use of link - layer protocols Allows efficient use of link - layer protocols
with multicast capabilities (Ethernet).with multicast capabilities (Ethernet).
19. Multicast19. Multicast
Tag Switching related issues:Tag Switching related issues:• No two TSRs on a common sub-No two TSRs on a common sub-
network may bind the same tag to network may bind the same tag to different multicast trees.different multicast trees.
• All TSRs in a sub-network belonging All TSRs in a sub-network belonging to a common multicast tree, should to a common multicast tree, should agree on the same tag for the tree. agree on the same tag for the tree.
20. Multicast20. Multicast
Solution:Solution:• The solution is PIM specific.The solution is PIM specific.• TFIBs are stored on a per interface basis.TFIBs are stored on a per interface basis.• TSRs advertise the range of tags they use for TSRs advertise the range of tags they use for
local bindings via PIM Hello messages.local bindings via PIM Hello messages.• When TSR wants to join a tree it advertise it’s When TSR wants to join a tree it advertise it’s
tag for the tree via PIM Join message.tag for the tree via PIM Join message.• TSRs listen to all join messages over a TSRs listen to all join messages over a
common sub-network, and thus learn which common sub-network, and thus learn which tags belong to which trees.tags belong to which trees.
21. Example21. Example
A B
C
ED
22. RSVP22. RSVP
Tags are associated to locally to flows.Tags are associated to locally to flows. The TFIB entry contains resource The TFIB entry contains resource
reservation information.reservation information. A new RSVP object, a tag object is A new RSVP object, a tag object is
defined.defined. Tags are distributed via RSVP Resv Tags are distributed via RSVP Resv
messages in Tag objects. messages in Tag objects.
23. Explicit Routing23. Explicit Routing
Allows a source router to predefine the Allows a source router to predefine the route that a class of incoming packets route that a class of incoming packets will take.will take.
The route is described as a sequence of The route is described as a sequence of entries.entries.
The advertised route is carried in RSVP The advertised route is carried in RSVP Path messages.Path messages.
The tag binding is achieved via RSVP The tag binding is achieved via RSVP Resv messages as before. Resv messages as before.
24. Tag Switching over 24. Tag Switching over ATMATM
Tag switching can be performed using Tag switching can be performed using ATM hardware.ATM hardware.
The ATM Control plane is replaced with a The ATM Control plane is replaced with a Tag switching component.Tag switching component.
Tag information is carried in the VCI field Tag information is carried in the VCI field (And the VPI field if routing hierarchies (And the VPI field if routing hierarchies are supported) of the ATM header.are supported) of the ATM header.
The same TSR can act both as tag switch The same TSR can act both as tag switch and ATM switch by dividing tag ranges. and ATM switch by dividing tag ranges.
25. Tag Switching over 25. Tag Switching over ATMATM
Cell Interleaving Problem:Cell Interleaving Problem:• Packets with same tags are broken into Packets with same tags are broken into
cells.cells.
• Cells may interleave at the next hop Cells may interleave at the next hop router.router.
• Packets cannot be reconstructed at Packets cannot be reconstructed at destination.destination.
26. Tag Switching Over 26. Tag Switching Over ATMATM
Call Interleave solutions:Call Interleave solutions:• VC MergeVC Merge
– Cells are not forwarded until end of packet Cells are not forwarded until end of packet detected.detected.
– Disadvantage - May require Hardware Disadvantage - May require Hardware Modifications.Modifications.
• Multiple Tags per Route:Multiple Tags per Route:– Use Upstream tag distribution.Use Upstream tag distribution.– Disadvantage - Consumes many tags, bad Disadvantage - Consumes many tags, bad
scalability.scalability.
27. Tag Distribution 27. Tag Distribution ProtocolProtocol
Uses Incremental approach.Uses Incremental approach. Protocol Messages:Protocol Messages:
• TDP_PIE_OPEN - TSR say hello to neighbor.TDP_PIE_OPEN - TSR say hello to neighbor.• TDP_PIE_BIND - A binding distribution TDP_PIE_BIND - A binding distribution
message.message.• TDP_PIE_WITHDROW_BIND - Deprecation TDP_PIE_WITHDROW_BIND - Deprecation
of previously advertised binding.of previously advertised binding.• TDP_PIE_REQUEST_BIND - An explicit TDP_PIE_REQUEST_BIND - An explicit
request for binding information.request for binding information.
28. Tag Distribution 28. Tag Distribution ProtocolProtocol
Protocol Messages (Cont.):Protocol Messages (Cont.):• TDP_PIE_RELEASE_REQUEST - Release TDP_PIE_RELEASE_REQUEST - Release
of previously requested binding. TSR of previously requested binding. TSR may choose to delete a binding after may choose to delete a binding after receiving this message.receiving this message.
• TDP_PIE_NOTIFICATION - Conveys TDP_PIE_NOTIFICATION - Conveys errors.errors.
• TDP_PIE_KEEP_ALIVE - Obvious.TDP_PIE_KEEP_ALIVE - Obvious.
29. Summary29. Summary
Based on label swapping.Based on label swapping.
Supports a big variety of routing functions.Supports a big variety of routing functions.
Can be implemented by ATM and Non-ATM Can be implemented by ATM and Non-ATM hardware.hardware.
Enables Routing Hierarchies. Enables Routing Hierarchies.