One document matched: draft-ietf-trill-rbridge-protocol-03.txt
Differences from draft-ietf-trill-rbridge-protocol-02.txt
TRILL R.Perlman
Internet Draft Sun Microsystems
Intended status: Proposed Standard Silvano Gai
Nuova Systems
Dinesh G. Dutt
Cisco Systems
Expires: August 2007 March 2007
RBridges: Base Protocol Specification
draft-ietf-trill-rbridge-protocol-03.txt
Status of this Memo
By submitting this Internet-Draft, each author represents that
any applicable patent or other IPR claims of which he or she is
aware have been or will be disclosed, and any of which he or she
becomes aware will be disclosed, in accordance with Section 6 of
BCP 79.
Distribution of this document is unlimited. Comments should be sent
to the TRILL working group mailing list.
Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF), its areas, and its working groups. Note that
other groups may also distribute working documents as Internet-
Drafts.
Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress."
The list of current Internet-Drafts can be accessed at
http://www.ietf.org/ietf/1id-abstracts.txt
The list of Internet-Draft Shadow Directories can be accessed at
http://www.ietf.org/shadow.html
This Internet-Draft will expire September 2007.
Abstract
RBridges allow for optimal pair-wise forwarding with zero
configuration, safe forwarding even during periods of temporary
loops, and the ability to cut down on ARP/ND and IP multicast
Perlman, Gai, Dutt Expires September 2007 [Page 1]
Internet-Draft RBridge Protocol March 2007
traffic. They achieve these goals by replacing the Spanning Tree
protocol with IS-IS.
The design also supports VLANs, and allows forwarding tables to be
based on RBridge destinations (rather than endnode destinations),
which allows internal forwarding tables to be substantially smaller
than in conventional bridge systems.
Acknowledgements
Many people have contributed to this design, including the working
group co-chairs Donald Eastlake 3rd and Erik Nordmark, and many other
members of the working group including, in alphabetic order, Alia
Atlas, Stewart Bryant, Dino Farinacci, Don Fedyk, Eric Gray, Sanjay
Sane, and Joe Touch. We invite you to join the mailing list at
http://www.postel.org/rbridge.
Table of Contents
1. Introduction...................................................3
1.1. Algorhyme V2..............................................4
1.2. Conventions used in this document ........................5
2. RBridges.......................................................5
2.1. RBridge Architecture......................................6
2.2. RBridges and VLAN.........................................8
2.3. Forwarding of Different Frame Types.......................9
2.3.1. Known-Unicast........................................9
2.3.2. Multi-destination....................................9
2.4. Advantages of RBridges...................................10
3. Detailed RBridge Design.......................................10
3.1. TRILL Header Format......................................10
3.1.1. Version (V).........................................11
3.1.2. Multi-destination (M)...............................11
3.1.3. Hop Limit...........................................11
3.1.4. RBridge addresses...................................12
3.1.4.1. Egress RBridge Address.........................12
3.1.4.2. Ingress RBridge Address........................12
3.2. Ethernet Encapsulation...................................12
3.2.1. Outer VLAN Tag......................................14
3.2.2. Inner VLAN Tag......................................14
3.2.3. FCS.................................................15
3.2.4. Point-to-point links................................15
3.3. Link State Protocol (IS-IS)..............................15
3.3.1. IS-IS RBridge Identity..............................16
3.3.2. Separate Instances..................................16
3.3.3. Multiple RBridge IS-IS Instances....................16
3.3.3.1. The IS-IS core instance........................16
Perlman, Gai, Dutt Expires September 2007 [Page 2]
Internet-Draft RBridge Protocol March 2007
3.3.3.2. The IS-IS VLAN instance........................17
3.3.4. Designated RBridge..................................18
3.4. Distribution Trees.......................................20
3.4.1. Distribution Tree Calculation.......................21
3.5. Pruning the Distribution Tree............................22
3.6. Forwarding using a Distribution Tree.....................22
3.7. Wiring Closet Topology...................................23
3.8. Learning Endnode Location................................24
3.9. Forwarding Behavior......................................25
3.9.1. Receipt of a Native Frame...........................25
3.9.1.1. Unicast case...................................25
3.9.1.2. Other multi-destination frames.................26
3.9.1.3. IS-IS frames...................................26
3.9.2. Receipt of an In-transit Frame......................27
3.9.2.1. Flooded Frame..................................27
3.9.2.2. Unicast Frame..................................28
3.9.2.3. IS-IS Frame....................................28
3.10. IGMP Learning...........................................28
3.11. RBridge Addresses.......................................29
3.12. Handling ARP/ND Queries.................................29
3.13. Discovering IP Multicast Routers........................31
3.14. Assuring Freshness of Endnode Information...............31
4. RBridge Addresses, Parameters, and Constants..................32
5. Security Considerations.......................................32
6. IANA Considerations...........................................33
7. References....................................................33
7.1. Normative References.....................................33
7.2. Informative References...................................34
Intellectual Property Statement..................................35
Disclaimer of Liability..........................................36
Copyright Statement..............................................36
Acknowledgment...................................................36
1. Introduction
In traditional IPv4 and IPv6 networks, each subnet has a unique
prefix. Therefore, a node in multiple subnets has multiple IP
addresses, typically one per interface. This also means that when an
interface moves from one subnet to another, it changes its IP
address. Administration of IP networks is complicated because IP
routers require significant configuration and careful IP address
management is required to avoid creating subnets that are not fully
populated and waste addresses. IEEE 802.1 bridges avoid these
problems by transparently gluing many physical links into what
appears to IP to be a single LAN.
Perlman, Gai, Dutt Expires September 2007 [Page 3]
Internet-Draft RBridge Protocol March 2007
Bridge forwarding via the spanning tree has some disadvantages:
o The spanning tree blocks ports limiting the number of forwarding
links and therefore creates bottleneck by concentrating traffic
onto selected links.
o The Ethernet header does not contain a TTL field and this is
dangerous when there are temporary loops such as when spanning
tree messages are lost or components such as repeaters are added.
o Forwarding is not pair-wise shortest path, but is instead whatever
path remains after the spanning tree eliminates redundant paths.
This document presents the design for RBridges (Routing Bridges),
which combines the advantages of bridges and routers [RBridges] and
which is poetically summarized below. While RBridge technology can
be applied to a variety of link protocols, this specification, where
relevant, concentrates on 802.3 links.
1.1. Algorhyme V2
I hope that we shall one day see
A graph more lovely than a tree.
A graph to boost efficiency
While still configuration-free.
A network where RBridges can
Route packets to their target LAN.
The paths they find, to our elation,
Are least cost paths to destination!
With packet hop limits we now see,
The network need not be loop-free!
RBridges work transparently.
Without a common spanning tree.
Ray Perlner
Perlman, Gai, Dutt Expires September 2007 [Page 4]
Internet-Draft RBridge Protocol March 2007
1.2 Conventions used in this document
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted as described in [RFC2119].
2. RBridges
The main idea is to have RBridges run a link state protocol amongst
themselves. This enables them to have enough information to compute
pairwise optimal paths for unicast, and to calculate distribution
trees for delivery of frames either to unknown destinations, or to
multicast/broadcast groups.
ECMP (Equal Cost MultiPath) may be supported, but it may introduce
frame reordering.
To mitigate the temporary loop issues, RBridges forward based on a
header with a hop limit (AKA TTL or hop count). Although the hop
limit discards looping frames, it is also desirable not to spawn
additional copies of frames by having RBridges specify the next
RBridge recipient, while forwarding across a shared-media link.
RBridges MUST learn the location of endnodes. They learn the location
and layer 2 addresses of attached nodes from the source address of
frames, as bridges do (for example, see section 8.7 of [802.1Q]).
RBridges also learn the IP addresses of directly attached
nodes and their association with MAC addresses from ARP/ND
requests/replies.
Once an RBridge learns the location of a directly attached endnode,
it advertises this information to the other RBridges in its link
state information.
Perlman, Gai, Dutt Expires September 2007 [Page 5]
Internet-Draft RBridge Protocol March 2007
2.1. RBridge Architecture
+----------------------------------------------------------+
| Higher Layer Entities |
+--+--------------+----------------------+--------------+--+
| \ Trill Layer | RBridge Relay Entity | Trill Layer / |
+----+------------+----------------------+------------+----+
| Data Link Layer | | Data Link Layer |
+-----------------+ +-----------------+
| Physical Layer | | Physical Layer |
+-------+---------+ +-------+---------+
| |
P1 P2
Figure 1 Architecture of an RBridge
Figure 1 shows an RBridge that contains:
o An Rbridge Relay Entity that interconnects two Rbridge ports;
o At least one port (two in the example);
o Higher Layer Entities, including at least the IS-IS protocol.
o The TRILL Layer. An RBridge encapsulates incoming IEEE 802.3
frames (in this document also referred to as Ethernet frames) with
a TRILL header to forward them to other Rbridges.
The layer 2 technology used to connect Rbridges may be either IEEE
802.3 or some other technology such as PPP. This is possible since
the functionality of an RBridge relay entity is layered on top of the
layer 2 technologies.
However, in accordance with the TRILL WG charter, the first edition
of this document specifies only an IEEE 802.3 encapsulation.
Figure 2 shows two RBridges R1 and R2 interconnected through an
Ethernet cloud. There are no restrictions on what may compose the
Ethernet cloud: point-to-point or shared media, hubs and bridges. The
Ethernet cloud may support VLAN tagging or not.
Perlman, Gai, Dutt Expires September 2007 [Page 6]
Internet-Draft RBridge Protocol March 2007
------------
/ \
+----+ / Ethernet \ +----+
| R1 |----< >---| R2 |
+----+ \ Cloud / +----+
\ /
------------
Figure 2 Interconnected RBridges
Figure 3 shows the format of a TRILL frame traveling through the
Ethernet cloud from R1 to R2.
+--------------------------------+
| Outer Ethernet Header |
+--------------------------------+
| TRILL Header |
+--------------------------------+
| Inner Ethernet Header |
+--------------------------------+
| Ethernet Payload |
+--------------------------------+
| Ethernet FCS |
+--------------------------------+
Figure 3 An Ethernet Encapsulated TRILL Frame
In the case of other media different from Ethernet, the outer
Ethernet header is replaced by the header specific to that media. For
example, figure 4 shows a TRILL encapsulation over PPP.
+--------------------------------+
| PPP Header |
+--------------------------------+
| TRILL Header |
+--------------------------------+
| Inner Ethernet Header |
+--------------------------------+
| Ethernet Payload |
+--------------------------------+
| Ethernet FCS |
+--------------------------------+
Figure 4 A PPP Encapsulated TRILL Frame
Perlman, Gai, Dutt Expires September 2007 [Page 7]
Internet-Draft RBridge Protocol March 2007
The outer header is link-specific, and although this document
specifies only Ethernet links, other links are allowed.
In both cases the Inner Ethernet Header and the Ethernet Payload are
those of the original frame.
Frames are encapsulated with a TRILL header as they travel between
RBridges for several reasons:
1. to mitigates the loop issues with bridges a hop limit field is
included;
2. to prevent source MAC learning in the core from frames in transit;
3. to direct frames towards the egress RBridge. This enables
forwarding tables of RBridges to be sized with the number of
RBridges rather than the total number of endnodes.
When forwarding between RBridges across a shared-media, the data link
layer header contains the address of the next hop Rbridge, to avoid
frame duplication and, in the case of loops, to avoid spawning
additional copies of frames.
2.2. RBridges and VLAN
A VLAN is a way to partition endnodes into different communities
[802.1Q]. The usual method of determining which community a frame
belongs to is based on the port from which it is received. IEEE
802.1Q compliant bridges support VLANs and the same support is
present in RBridges.
IEEE 802.1Q bridges have the capability of supporting multiple VLANs
over a single link by inserting/removing a VLAN tag into the frame.
Some endnodes have the same capability.
The VLAN tag is structured according to IEEE 802.1Q. As shown in
figure 3, there are two places where such tags may be present in a
TRILL-encapsulated frame: one in the outer header (outer VLAN) and
one in the inner header (inner VLAN). Inners and Outer VLANs are
further discussed in section 3.2.
RBridges enforce that a frame originating in a particular inner VLAN
gets delivered only to other links in the same inner VLAN.
Perlman, Gai, Dutt Expires September 2007 [Page 8]
Internet-Draft RBridge Protocol March 2007
A side-effect of inner VLANs is that it makes RBridges more scalable,
since endnode membership in an inner VLAN is only of interest to
RBridges that have an attached port configured to be in that inner
VLAN.
2.3. Forwarding of Different Frame Types
There are several types of frames which RBridges forward slightly
differently. They are here classified into two main categories:
known-unicast and multi-destination.
2.3.1. Known-Unicast
These frames have an inner MAC Destination Address (Inner.MacDa) that
is unicast and the MAC address location is known to the ingress
RBridge (the RBridge that performs the TRILL encapsulation).
2.3.2. Multi-destination
These are frames that must be delivered to multiple destinations,
because either they have a group address or the location of the
destination is unknown.
They are:
1. frames for unknown unicast destinations: the Inner.MacDa is
unicast, but the ingress RBridge does not know its location;
2. frames for layer 2 multicast addresses derived from IP multicast
addresses: the Inner.MacDa is multicast;
3. frames for layer 2 multicast addresses not derived from IP
multicast addresses: the Inner.MacDa is multicast;
4. frames for the layer 2 broadcast addresses: the Inner.MacDa is
broadcast;
5. ARP queries: the Inner.MacDa is broadcast;
6. ND queries: the Inner.MacDa is multicast;
Perlman, Gai, Dutt Expires September 2007 [Page 9]
Internet-Draft RBridge Protocol March 2007
7. IGMP membership reports: the Inner.MacDa is multicast.
RBridges build distribution trees (see Section 3.4. ) and use these
trees for forwarding multi-destination frames.
2.4. Advantages of RBridges
Like bridges, RBridges are zero configuration and transparent to IP
nodes. Like routers, RBridges forward on pair-wise shortest paths,
and do not create broadcast storms during temporary loops.
RBridges have the additional advantage that they may optimize IP
multicast traffic, and ARP (IPv4) [RFC826] and ND (IPv6) [RFC2461]
by avoiding the broadcast/multicast behavior of the queries.
RBridges are fully compatible with current 802.1D and 802.1Q bridges
as well as current IPv4 and IPv6 routers and endnodes. They are as
invisible to current IP routers as bridges are, and like routers,
they terminate the spanning tree protocol.
3. Detailed RBridge Design
3.1. TRILL Header Format
The TRILL header is shown in Figure 5 and it is independent of the
data link layer used.
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| V | Hop Limit |M| Reserved |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Ingress RBridge Address | Egress RBridge Address |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 5 TRILL Encapsulation
o V (Version): 2-bit. See Section 3.1.1.
o Hop Limit: 6-bit unsigned integer. See Section 3.1.3.
o M (Multi-destination): 1-bit. See Section 3.1.2.
o Reserved: 7-bit.
Perlman, Gai, Dutt Expires September 2007 [Page 10]
Internet-Draft RBridge Protocol March 2007
o Ingress RBridge Address: 16-bit address. See Section 3.1.4.2.
o Egress RBridge Address: 16-bit address. See Section 3.1.4.1.
3.1.1. Version (V)
According to IEEE's Ethertype format guidelines, a single Ethertype
is granted to a protocol and it is the protocol's responsibility to
structure the format of the protocol header so as to support future
revisions to the protocol. In adhering to this guideline, a two bit
field called version is used to identify the format in use. It is
set to 0 by default. If it is set to 1, 2, 3 the header format is
undefined by this version of the standard.
3.1.2. Multi-destination (M)
The Multi-destination bit (see Section 2.3.2. ) specifies the content
of the egress RBridge address:
o M = 0 (FALSE) - the egress RBridge address contains the address of
the egress Rbridge;
o M = 1 (TRUE) - the egress RBridge address contains the address of
the RBridge that is the root of the distribution tree.
3.1.3. Hop Limit
A 6-bit unsigned integer. Each RBridge MUST check this field before
forwarding the frame to another RBridge. If this field is zero, the
frame MUST be discarded. If this field is non-zero, it MUST be
decremented by one in the forwarded frame.
This field was previously referred to as TTL (Time To Live) or hop
count. In IPv6 the IETF has replaced the concept of TTL with Hop
Limit. TRILL aligns with this newer definition.
Perlman, Gai, Dutt Expires September 2007 [Page 11]
Internet-Draft RBridge Protocol March 2007
3.1.4. RBridge addresses
16-bit address. This is the TRILL address of the RBridge. This
assignment allows addressing up to 64K RBridges. This was also
referred to in the past as "RBridge nickname" or "shim nickname".
The simplest encoding of an RBridge address would be a 48-bits MAC
address. However, to achieve a more compact encoding, RBridges
piggyback a address acquisition protocol on the link state protocol
(see Section 3.11. ), to acquire a unique 16-bit addresses (within
the campus).
3.1.4.1. Egress RBridge Address
This field contains two types of information, depending on M-bit (see
Section 3.1.2. ):
o For known-unicast frames, it contains the egress RBridge Address
i.e. the RBridge that needs to remove the TRILL header from the
frame.
o For multi-destination frames, it contains the address of the root
RBridge of the distribution tree to be used to forward the frame.
3.1.4.2. Ingress RBridge Address
The ingress RBridge address always contains the identifier of the
ingress RBridge, i.e. the RBridge that added the TRILL header to the
frame.
3.2. Ethernet Encapsulation
TRILL frames in transit on Ethernet links are encapsulated with an
additional outer Ethernet header (see figure 3). This outer header
looks, to an Ethernet bridge on the path between two RBridges, like
the header of a regular Ethernet frame and therefore bridges forward
the frame without requiring any modification. To enable RBridges to
distinguish encapsulated frames, a new Ethertype = TRILL (to be
assigned) is used in the outer header.
Perlman, Gai, Dutt Expires September 2007 [Page 12]
Internet-Draft RBridge Protocol March 2007
Figure 6 details a frame traveling on the Ethernet cloud of Figure 2
from R1 to R2. This encapsulation has the advantage of aligning the
original Ethernet frame at 64 bit boundaries.
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Outer Destination MAC Address |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Outer Destination MAC Address | Outer Source MAC Address |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Outer Source MAC Address |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Ethertype = IEEE 802.1Q | UP |C| Outer VID |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Ethertype = TRILL | V | Hop Limit |M| Reserved |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Egress RBridge Address | Ingress RBridge Address |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Inner Destination MAC Address |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Inner Destination MAC Address | InnerSource MAC Address |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Inner Source MAC Address |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Ethertype = IEEE 802.1Q | UP |C| Inner VID |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
| Original Ethernet Payload |
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| New FCS |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 6 TRILL Encapsulation over Ethernet
When a TRILL frame is carried over an Ethernet cloud it has three
sets of addresses:
o Outer MAC Addresses. These addresses are used to address the next
hop RBridge over a shared Ethernet Cloud.
o TRILL Addresses. These are the end-to-end addresses of the
RBridges doing the encapsulation/decapsulation (at least for the
known unicast case, see Section 3.1.4. ).
o Inner MAC Addresses. These are the addresses of the endnodes, as
originally inserted in the frames by the transmitting endnode.
Perlman, Gai, Dutt Expires September 2007 [Page 13]
Internet-Draft RBridge Protocol March 2007
It also potentially has two IEEE 802.1Q tags that carries two
different VLAN Identifier (VID).
3.2.1. Outer VLAN Tag
The Outer VLAN Tag: MAY or MAY NOT be present. If present, it is used
to enable connectivity between two RBridges through an Ethernet cloud
that support VLANs. Once two RBridges have established connectivity
on an outer VLAN, they become adjacent and they start to operate as
if connected by a direct link.
For example, a network manager may configure VLAN 4 for RBridges RB1
and RB2 to communicate (the outer VID contains the value 4). VLAN 3
may be assigned for RB2 and RB3 to communicate (the outer VID
contains the value 3). In this case RB2 becomes adjacent to both RB1
(on VLAN 4) and RB3 (on VLAN 3), but RB1 and RB3 are not adjacent
(since they have no common VLAN).
There is no additional discussion of this field in the rest of the
document.
3.2.2. Inner VLAN Tag
The Inner VLAN Tag: contains the VLAN information associated with the
original frame.
Each Ethernet port of an RBridge uses the "ingress rule" specified in
Section 6.7 of IEEE 802.1Q. This rule always associates a VID (VLAN
Identifier) with any frame, independently of whether the frame came
in tagged, untagged or priority tagged.
Since the most common default value for the parameter PVID (Port VLAN
Identifier) is 1, an Rbridge MAY suppress the inner VLAN tag for
frames with VID = 1.
The Inner VID is extremely important for TRILL (see section 2.2. ).
In the rest of this document, any reference to the term VLAN should
be interpreted as inner VLAN.
Perlman, Gai, Dutt Expires September 2007 [Page 14]
Internet-Draft RBridge Protocol March 2007
3.2.3. FCS
The frame has a single FCS that is computed to cover the entire
frame. This has become standard practice in IEEE 802.1: the tagging
structure effectively requires FCS recomputation at the boundaries of
the network. Additionally, the IETF (with diffserv, ECN, routing)
have also effectively required FCS recomputation at all boundaries of
the network.
3.2.4. Point-to-point links
If there is a direct RBridge-to-RBridge point-to-point link, there is
no real need for the outer header. Therefore if the link is a point-
to-point Ethernet link, it is acceptable to set the fields in the
outer header to predefined values on transmission and ignore them on
reception.
3.3. Link State Protocol (IS-IS)
In recent years, the IS-IS routing protocol [ISO10589] has become
increasingly popular, with widespread usage among Service Providers.
It is a link state protocol, which enables very fast convergence with
large scalability. It is also a very flexible protocol and has been
extended to incorporate leading edge features such as MPLS Traffic
Engineering.
TRILL uses IS-IS, since it also provides the following advantages:
o it runs directly over the layer 2;
o it is easy to extend by defining new TLVs for carrying the TRILL
information;
o it may be run with zero configuration.
IS-IS exchanges information by exchanging LSPs (Link State PDUs).
Perlman, Gai, Dutt Expires September 2007 [Page 15]
Internet-Draft RBridge Protocol March 2007
3.3.1. IS-IS RBridge Identity
Each RBridge has a unique 6-byte System ID, which may be derived from
any of the RBridge universal MAC addresses.
3.3.2. Separate Instances
RBridge implements a separate IS-IS instance from the one used by any
routing protocol, e.g. the ones used by IP routers. This instance is
identified by a combination of Outer.Mac.DA, Outer.Ethertpe and
Inner.Ethertype (see 3.9.1.3. ).
The RBridge IS-IS instance is also differentiated by defaulting to a
distinct, constant "area address" (the value 0) that would never
appear as a real IS-IS area address.
3.3.3. Multiple RBridge IS-IS Instances
Each RBridge runs multiple IS-IS instances:
o One IS-IS core instance;
o IS-IS VLAN instances, one per each inner VLAN the RBridge is
connected to.
In theory this information could all be contained in one instance of
RBridge IS-IS. However, since endnode information for a particular
VLAN needs to be known only to RBridges that are connected to links
configured to be in that VLAN, and since the core instance is global
to all RBridges, it is appropriate to have multiple instances.
3.3.3.1. The IS-IS core instance
The information contained in the LSP of RBridge Rn core is:
1. the TRILL address of RBridge Rn;
2. the list of VIDs of VLANs directly connected to Rn;
3. a flag RequestTree indicating whether RBridges MUST calculate a
tree rooted at Rn (default RequestTree = TRUE);
Perlman, Gai, Dutt Expires September 2007 [Page 16]
Internet-Draft RBridge Protocol March 2007
4. the System IDs of RBridges which are neighbors of RBridge Rn, and
the cost of the link to each of those neighbors.
Using the previous information each RBridge can compute the optimal
pair-wise forwarding for know-unicast traffic and the distribution
trees for multi-destination traffic.
The distribution trees (see Section 3.4. ) may also be pruned
according to the list of VIDs connected to each RBridge (see Section
3.5. ). In fact, if Rn is forwarding a multi-destination frame tagged
with VLAN A, Rn need not forward it onto branches of the distribution
tree that have no downstream VLAN A links.
3.3.3.2. The IS-IS VLAN instance
The endnode information for VLAN A, which is carried in the LSP
injected by Rn in VLAN A, contains:
1. L2INFO: layer 2 addresses of nodes on a VLAN A link attached to Rn
which have transmitted frames, but have not transmitted ARP/ND
requests/replies (i.e., these are not known to be IP nodes).
2. L3and2INFO: layer 3, layer 2 addresses of IP nodes attached Rn on
VLAN A, which Rn has learned through ARP/ND requests/replies. In
the case of IPv6, for data compression, only the portion of the
address following the campus-wide prefix is carried.
3. Multicast Router attached: This is one bit of information that
indicates whether there is an IP multicast router attached on VLAN
A. This information is used because IGMP [RFC3376] Membership
Reports MUST be transmitted to all links with IGMP routers, and
SHOULD NOT be transmitted to links without IGMP routers. Also, all
frames for IP-derived multicast addresses MUST be transmitted to
all links with IGMP routers (within the VLAN), in addition to
links from which an IP node has explicitly asked to join the group
which the frame is for.
4. Layer 2 addresses derived from IPv4 or IPv6 IGMP notification
messages received from attached endnodes on VLAN A, indicating the
location of listeners for these multicast addresses.
If Rn has learned endnode E's location first from a data frame (and
therefore has included E's layer 2 address in the L2INFO), and later
E transmits an ARP/ND request/reply, Rn MUST include E in the
L3andL2INFO, and SHOULD remove E from L2INFO.
Perlman, Gai, Dutt Expires September 2007 [Page 17]
Internet-Draft RBridge Protocol March 2007
The way that RBridges distinguish which IS-IS instance the VLAN link
state information is for is based on the VLAN tag in the inner header
i.e. the inner VLAN.
Given that RBridges already support distribution trees pruned by VID
(see Section 3.3.3.1. ), the same mechanism is used by the per-VLAN
instance of IS-IS to distribute endnode information solely to
RBridges within a VLAN.
Each per-VLAN instance of IS-IS appears to the RBridges as a single
link with all the RBridges with endnodes in that VLAN as neighbor.
When an RBridge originates an IS-S frame for the VLAN A instance, all
RBridges forward it as an ordinary frame in VLAN A, along the
specified distribution tree, even if they nave no endnodes connected
to VLAN A.
RBridges with endnodes in VLAN A also receive and process the frame
in their VLAN-A IS-IS instance.
3.3.4. Designated RBridge
IS-IS elects one RBridge on each link to be the Designated RBridge,
i.e. to have special duties. The Designated RBridge:
o learns and advertises the identities of attached endnodes;
o encapsulates and forwards frames that originate on that link to
the rest of the campus;
o decapsulates and forwards frames onto that link received from
other RBridges;
o initiates a distributed ARP/ND when an ARP/ND query is received
for an unknown destination;
o answers ARP/ND queries when the target node is known.
It is incorrect to have multiple RBridges being Designated RBridge on
the same link at the same time. This could temporarily happen if a
partitioned bridged LAN became connected with a bridge or repeater.
The situation resolves once the better priority RBridge's IS-IS Hello
is received by the other RBridges on the link.
Perlman, Gai, Dutt Expires September 2007 [Page 18]
Internet-Draft RBridge Protocol March 2007
BPDUs are messages that are transmitted and received even in
preforwarding state (listening and learning states). If RBridges
listen to BPDUs, and if the LANs for which R1 was Designated RBridge,
and for which R2 was Designated RBridge get joined, then either R1 or
R2 detect that the bridge Root has changed identity.
A conservative solution would be to invoke something like a
preforwarding state, in which the RBridge that detects the change
stops forwarding anything to or from the link until it is sure the
IS-IS link election would have completed. But the IS-IS election
could get slowed down due to bridges in preforwarding state, and it
would be undesirable to disrupt traffic to and from the link just
because the root ID has changed.
An alternative solution is to have RBridges participate in the
spanning tree election, with higher priority for becoming root
(actually, lowest numerical priority value) than any of the bridges,
and with the same priority as for becoming Designated RBridge on the
link. Then an RBridge is Designated RBridge if and only if it is the
spanning tree Root. Note that RBridges MUST NOT merge spanning trees
from different ports. If two ports of R1 are connected to the same
bridged LAN, then the regular bridge spanning tree algorithm
partitions the LAN into distinct LANs for each of R1's ports.
However, if two of R1's ports are connected to the same shared medium
(without any bridges between the ports), then the regular bridge
spanning tree algorithm turns off one of R1's redundant ports.
So for example, R1 sends BPDUs on each of its ports, with itself as
Root (with highest, i.e., numerically lowest priority), 0 cost from
Root, and the port ID. There are several possible cases:
o R1 is the highest priority RBridge on the bridged LAN, in which
case it becomes spanning tree Root and Designated RBridge.
o R1 receives a BPDU from itself (because two of its ports are on
the same shared medium without any bridges between). In this case,
the numerically lowest port remains in ST forwarding state, and
the other port(s) go into ST blocking state.
R1 receives a BPDU from someone else with higher priority
(numerically lower priority|ID), in which case R1 is not Root, and
not Designated RBridge. It is possible this is due to a bridge
being configured with the lowest priority, and then if R1 declines
being Designated RBridge, the LAN becomes orphaned from the campus.
We must treat this case as a misconfiguration of bridges, and the LAN
becomes orphaned until the misconfiguration is corrected, but an
RBridge could in theory eventually discover it is not receiving
Perlman, Gai, Dutt Expires September 2007 [Page 19]
Internet-Draft RBridge Protocol March 2007
any IS-IS Hellos, and become Designated RBridge even though it is not
spanning tree Root.
3.4. Distribution Trees
RBridges use distribution trees to forward multi-destination frames
(see Section 2.3.2. ). Distribution Trees are bidirectional. A single
distribution tree is enough for the entire campus. The TRILL WG
decided that the computation of additional distribution trees was
warranted because:
1. using a tree rooted at the ingress RBridge optimizes the
distribution path and (almost always) the cost of delivery when
the number of destination links is a subset of the total number of
links, as is the case with VLANs and IP multicasts;
2. for unknown unicast destinations, using a tree rooted at the
ingress RBridge minimizes out-of-order delivery because in the
case where a flow starts before the location of the destination is
known by the RBridges, the path to the destination is the same as
the shortest path to the destination.
A distribution tree rooted in the ingress RBridge is not always the
best choice:
1. In some cases, a different tradeoff might be wanted in terms of
expense of computation vs. optimality of traffic distribution (so
fewer trees would be desired)
2. It might be desirable to allow choosing a different distribution
tree than the one rooted at the ingress RBridge, in order to allow
multipathing of multicast traffic injected by a particular Bridge.
RBridges MUST calculate at least one distribution tree, and by
default SHOULD compute one distribution tree for every Rbridge.
However, to scale in the presence of a large number of RBridges in a
campus, some RBridges MAY be configured to not be the root of
distribution tree. Each RBridge Ri announces whether RBridges MUST
compute a tree rooted at Ri via the RequestTree flag in its IS-IS
core instance LSP. The default is RequestTree == TRUE, but management
configuration MAY reduce the number of trees.
If all RBridges have their RequestTree == FALSE, then each RBridge
MUST calculate a tree rooted at the RBridge with lowest ID.
Perlman, Gai, Dutt Expires September 2007 [Page 20]
Internet-Draft RBridge Protocol March 2007
If Ri is a tree root, then any RBridge Rn that needs to send multi-
destination traffic MAY select the Ri-tree. Rn does so by specifying
in the TRILL header:
Trill.EgressRbridgeAddress = Ri;
Trill.M = TRUE;
All the other RBridges MUST comply with the decision of Rn.
In IS-IS a shared link is modeled as a pseudonode. Pseudonodes MUST
set RequestTree = FALSE.
3.4.1. Distribution Tree Calculation
RBridges do not use the spanning tree protocol to calculate
distribution trees. Instead, distribution trees are calculated based
on the link state information, selecting a particular RBridge as the
root.
Calculation of a tree rooted at Ri is done independently by each
RBridge Rn by performing the SPF (Shortest Path First) calculation
with Ri as the root without requiring any additional exchange of
information.
In the case a node Rn has two or more minimal equal cost path toward
the root Ri a deterministic tie-breaker is needed to guarantee that
all RBridges calculate the same distribution tree. This is obtained
by selecting the path that goes to the parent that has the lower IS-
IS System ID.
Each RBridge Rn keeps a set of adjacencies (port, neighbor pair) for
each distribution tree. One of these adjacencies is toward the root
Ri and the others are toward the leaves. Once the adjacencies are
chosen, it is irrelevant which ones are towards the root Ri, and
which are away from Ri. Let's suppose that Rn has calculated that
adjacencies a, c, and f are in the Ri tree. A multi-destination frame
for the distribution tree Ri is received only from one of the
adjacencies a, c, or f (otherwise is discarded) and forwarded to the
other two adjacencies.
Perlman, Gai, Dutt Expires September 2007 [Page 21]
Internet-Draft RBridge Protocol March 2007
3.5. Pruning the Distribution Tree
Each distribution tree is pruned per VLAN eliminating branches that
have no potential receivers downstream. Multi-destination frames are
forwarded only on branches that are not pruned.
Further pruning is done in the case of IGMP Notification Messages
[RFC3376], where these are to be delivered only to ports with IP
Multicast Routers. In the case of a multicast derived from an IP
multicast, these multicast data frames are delivered only to links
that have registered listeners, plus links which have IP Multicast
routers.
Let's assume that RBridge Rn knows that adjacencies (a, c, and f) are
in the Ri-distribution tree. Rn marks pruning information for each of
the adjacencies in the Ri-tree. For each adjacency and for each tree,
Rn marks:
o the set of VLANs reachable downstream, and for each one of those,
a flag indicating whether there are IP multicast routers
downstream, and
o the set of layer 2 multicast addresses derived from IP
multicast group for which there are receivers downstream.
3.6. Forwarding using a Distribution Tree
Forwarding a multi-destination frame is done as follows:
o The RBridge Rn receives a multi-destination frame on VLAN A and
the TRILL header indicates the selected tree is the Ri-tree;
o if the adjacency from which the frame was received is not one
of the adjacencies in the Ri-tree, the frame is dropped;
o else if the frame is an IGMP Notification message then the frame
is forwarded onto adjacencies in the Ri-tree that indicate there
are downstream VLAN-A IP multicast routers;
o else if the frame is for a layer 2 multicast address derived from
IP multicast groups then the frame is forward onto adjacencies in
the Ri-tree that indicate there are downstream VLAN-A IP multicast
routers, as well as adjacencies that indicate there are downstream
VLAN-A receives for that group address;
Perlman, Gai, Dutt Expires September 2007 [Page 22]
Internet-Draft RBridge Protocol March 2007
o else if the inner frame is for an unknown destination or layer 2
multicast not derived from IP multicast, or distributed ARP/ND, or
broadcast, the frame is forwarded onto an adjacency if and only if
that adjacency is in the Ri-tree, and marked as reaching VLAN-A
links.
For each link for which Rn is Designated RBridge, Rn additionally
checks to see if it should decapsulate the frame and send it to the
link (e.g., if it is a distributed ARP/ND in the specified VLAN for
that link), or process the frame (e.g., if it is a per-VLAN IS-IS
instance link state announcement for a VLAN that Rn is attached to).
3.7. Wiring Closet Topology
In cases where there are two (or more) groups of endnodes, each
attached to a bridge (say B1 and B2 respectively), and each bridge is
attached to an RBridge (say R1 and R2 respectively), with a link
connecting B1 and B2 (see Figure 7), it may be desirable to have the
B1-B2 link only as a backup in case one of R1 and R2, or the links
B1-R1 or B2-R2 fail.
+----+ +----+
| R1 |-----| R2 |
+----+ +----+
| |
+-------------------------------+
| | | |
| +----+ +----+ |
| Closet | B1 |-----| B2 | |
| +----+ +----+ |
| |
+-------------------------------+
Figure 7 Wiring Closet Topology
For example, B1 and B2 may be in a wiring closet and it may be easy
to provide a very short very high bandwidth link between them while
R1 and R2 are at a distant data center such that the R1-B1 and R2-B2
links are slower and more expensive.
Default behavior would be that one of R1 or R2 (say R1) would become
Designated RBridge, and forward traffic to/from the link, so endnodes
attached to B2 would be connected to the campus via the path B2-B1-
Perlman, Gai, Dutt Expires September 2007 [Page 23]
Internet-Draft RBridge Protocol March 2007
R1, rather than the desired B2-R2. The desired behavior would
probably be to make maximum use of both the R1-B1 and R2-B2 links.
The solution is to configure R1 and R2 to be part of a "wiring closet
group", with a configured System ID Rx (which may be R1 or R2's
System ID). Both R1 and R2 participate in the bridge spanning tree on
the configured ports as root Rx, which causes the spanning tree to
break the B1-B2 link as desired, and both R1 and R2 act as Designated
RBridge on each of their respective partitions.
In the BPDU, the Root is "Rx", cost to Root is 0, Designated Bridge
ID is "R1" when R1 transmits and "R2 when R2 transmits, and port ID
is a value chosen independently by each of R1 and R2 to distinguish
each of its own ports. If R1 and R2 were actually on the same shared
medium with no bridges between them, the result is that the one with
the larger ID sees "better" BPDUs (because of the tie-breaker on the
third field; the ID of the transmitting RBridge), and turns off the
port.
The only misconfiguration that may occur is if the link R1-R2 is on
the cut set of the campus, and R2 and/or R1 have been configured to
believe they are part of a wiring closet group. In that case, the
link becomes partitioned.
3.8. Learning Endnode Location
RBridges learn endnode location from native frames (similar to 802.1D
bridges, see in section 7.0 of [802.1Q]). They learn (layer 3, layer
2) pairs, for the purpose of supporting ARP/ND optimization, from
listening to ARP/ND request/replies.
This endnode information is learned by the Designated RBridge, and
distributed to other RBridges through the link state protocol.
RBridges need not remember endnode information for a VLAN unless
there are endnodes for that VLAN on one of their directly connected
links.
Perlman, Gai, Dutt Expires September 2007 [Page 24]
Internet-Draft RBridge Protocol March 2007
3.9. Forwarding Behavior
3.9.1. Receipt of a Native Frame
3.9.1.1. Unicast case
Let's assume that Rn receives a unicast frame with Mac.Da = D, Mac.Sa
= S and Ethertype != TRILL. Rn knows this is a native frame from the
Ethertype value.
Rn determines the VID according to the same rules as bridges do. Once
the VLAN is established, the layer 2 address of D is looked up in the
destination table for that VLAN to find the egress RBridge Rm, or
discover that D is unknown.
If D is known, with egress Rm, then Rn encapsulates the frame, in the
following way:
Outer.MacDa = next hop RBridge (in the path to Rm);
Outer.MacSa = Rn;
Outer.Ethertype = TRILL;
Trill.v = 0;
Trill.Reserved = 0;
Trill.M = FALSE; // this is not a multi-destination frame
Trill.HopLimit = default or configured hop limit;
Trill.EgressRBridgesAddress = Rm;
Trill.IngressRBridgesAddress = Rn;
Followed by the received frame;
If D is unknown, Rn encapsulates the frame, in the following way:
Outer.MacDa = ALL-RBRIDGES;
Outer.MacSa = Rn;
Outer.Ethertype = TRILL;
Trill.v = 0;
Trill.Reserved = 0;
Trill.M = TRUE; // this is a multi-destination frame
Trill.HopLimit = default or configured hop limit;
Trill.EgressRBridgesAddress = Ri // Distribution Tree, see below
Trill.IngressRBridgesAddress = Rn;
Followed by the received frame;
In the latter case, the egress RBridge address indicates the chosen
distribution tree Ri. The default is for Rn to put its own address
there. However, if Rn is configured to decline to be a tree root,
Perlman, Gai, Dutt Expires September 2007 [Page 25]
Internet-Draft RBridge Protocol March 2007
then Rn MUST select some other RBridge Ri which has elected to be a
tree root or the RBridge with the lowest ID if none have elected to
be a tree root.
3.9.1.2. Other multi-destination frames
If the frame is an IGMP announcement, then Rn learns the group
membership, and announces a receiver for that layer 2 group address
in its per-VLAN link state instance.
If the frame is a PIM or MRD [RFC4286] message, Rn learns that there
is an IP multicast router (for the specified VLAN) on its link, and
adds that information into its per-VLAN IS-IS link state information.
If the frame is an ARP/ND reply, then Rn learns the (layer 3, layer
2) correspondence, and adds that information into its per-VLAN link
state information.
3.9.1.3. IS-IS frames
If the frame is from the IS-IS core instance of Rn, then there is no
need for the TRILL Ethertype and inner headers. The outer header
contains:
Outer.MacDa = ALL-RBRIDGES;
Outer.MacSa = Rn;
Outer.Ethertype = IS-IS;
In this case the IS-IS frame is never forwarded by the RBridge as a
layer 2 frame, but instead is delivered to the RBridge IS-IS process
for processing.
The situation is different in the per-VLAN instances of IS-IS, since
there is the need to carry the VID. The encapsulation is as follow:
Outer.MacDa = ALL-RBRIDGES;
Outer.MacSa = Rn;
Outer.Ethertype = TRILL;
Trill.v = 0;
Trill.Reserved = 0;
Trill.M = TRUE; // this is a multi-destination frame
Trill.HopLimit = MAX-HOP-LIMIT;
Trill.EgressRBridgesAddress = Ri; // Distribution Tree, see above
Trill.IngressRBridgesAddress = Rn;
Perlman, Gai, Dutt Expires September 2007 [Page 26]
Internet-Draft RBridge Protocol March 2007
Followed by a VLAN-tagged IS-IS packet (same as for core instance,
but with VLAN tag). In this case the frames are forwarded like a non-
IP-multicast flooded frame, as well as processed, if the RBridge
belongs to the specified VLAN.
3.9.2. Receipt of an In-transit Frame
Let's suppose RBridge Rn receives a TRILL encapsulated frame (as
indicated by Outer.Ethertype = TRILL).
3.9.2.1. Flooded Frame
if (Outer.MacDa == ALL-RBRIDGES)
{
if (Outer.MacSa != a tree adjacency for the tree indicated)
{
Discard the frame
}
else
{
Rn forwards along the tree indicated by
Trill.EgressRBridgesAddress,
pruned as specified in section 3.5.
It also removes the TRILL encapsulation
and forwards the frame to the appropriate ports
where it is a Designated RBridge.
}
}
Perlman, Gai, Dutt Expires September 2007 [Page 27]
Internet-Draft RBridge Protocol March 2007
3.9.2.2. Unicast Frame
if (Outer.MacDa != Rn)
{
R1 Drops the frame // the destination in the outer header
// is not R1
}
else
{
if (Trill.EgressRBridgesAddress == Rn)
{
Rn process the frame, i.e. it removes the TRILL encapsulation,
extracts the inner frame and forwards it onto the link
containing the destination, or processes the frame if the
Inner.MacDa == Rn.
}
else
{
// The frame needs to be forwarded to another RBridge
//
Outer.MacDa = lookup (Trill.EgressRBridgesAddress);
Outer.MACSa = Rn;
Trill.HopLimit -= 1;
forward_frame();
}
}
3.9.2.3. IS-IS Frame
If the protocol type in the outer header indicates this is an IS-IS
frame, then Rn processes the frame accordingly.
3.10. IGMP Learning
RBridges learn, based on seeing IGMP [RFC3376] frames, which
multicast addresses should be forwarded onto which links.
IGMP messages have to be forwarded throughout the campus, since IP
routers in the broadcast domain also need to see these messages.
IGMP messages are forwarded by RBridges throughout the campus like
any layer 2 multicast. They are recognized by having an IP message
type=2 in the IP header. In addition, they are processed by RBridges
Perlman, Gai, Dutt Expires September 2007 [Page 28]
Internet-Draft RBridge Protocol March 2007
in order to extract, from announcements, what egress RBridges have
receivers for which groups.
3.11. RBridge Addresses
To make the TRILL header smaller, RBridges dynamically acquire 2-byte
addresses that are unique within the campus. The address allocation
protocol is piggybacked on the core IS-IS RBridge instance as
follows:
o The address requested by the RBridge is carried in a new TLV. Each
RBridge chooses its own address.
o Each RBridge is also responsible for ensuring that its address is
unique. If R1 chooses address x, and R1 discovers, through
receipt of R2's LSP, that R2 has also chosen x, then the RBridge
with the lower System ID keeps the address, and the other RBridge
MUST choose a new address.
o If two RBridge domains merge then transient address collisions
are possible. As soon as each RBridge receives the link
state frames from the other RBridges, the RBridges that need to
change addresses choose new addresses that do not, to the best of
their knowledge, collide with any existing addresses.
To minimize the probability of address collisions, each RBridge
chooses its address randomly hashing some of its parameters. There is
no reason for all RBridges to use the same algorithm for choosing
addresses.
Once an RBridge has successfully acquired an address it SHOULD store
it in non-volatile memory and reuse it in the case of a reboot.
To minimize the probability of a new RBridge usurping a address
already in use, an RBridge SHOULD wait to acquire the link state
database from a neighbor before it announces its own address.
3.12. Handling ARP/ND Queries
IEEE 802.1 bridges forward an ARP/ND query as an ordinary
broadcast/multicast frame to all links belonging to the same VLAN.
Rbridges SHOULD implement an "optimized ARP/ND response"
Perlman, Gai, Dutt Expires September 2007 [Page 29]
Internet-Draft RBridge Protocol March 2007
When the target's location is assumed to be known by the first
RBridge, it needs not flood the query. Alternative behaviors of the
first Designated RBridge that receives the ARP/ND query would be to:
1. send a response directly to the querier, with the layer 2 address
of the target, as believed by the RBridge
2. encapsulate the ARP/ND query to the target's Designated RBridge,
and have the Designated RBridge at the target forward the query to
the target. This behavior has the advantage that a response to the
query is authoritative. If the query does not reach the target,
then the querier does not get a response
3. block ARP/ND queries that occur for some time after a query to the
same target has been launched, and then respond to the querier
when the response to the recently-launched query to that target is
received
The reason not to do the most optimized behavior all the time is for
timeliness of detecting a stale cache. Also, in the case of scure
neighbor discovery (SEND) [RFC3971], cryptography might prevent
behavior 1, since the RBridge would not be able to sign the response
with the target's private key.
It is not essential that all RBridges use the same strategy for which
option to select for a particular query. However, once the first
Designated RBridge decides on a strategy for a particular query, the
other RBridges MUST carry that through. If the first RBridge responds
directly to the querier, or blocks the query, then no other RBridges
are involved.
If the first Designated RBridge R1 decides to unicast the query to
the target's Designated RBridge R2, then R2 decapsulates the query,
and initiate an ARP/ND query on the target's link. When/if the
target responds, R2 encapsulates and unicast the response to R1,
which decapsulates the response and send it to the querier.
If the first Designated RBridge R1 decides to flood the query (which
it MUST do if the target is unknown, but MAY do if it wants to assure
freshness of the information), the query is encapsulated to be
flooded through the indicated VLAN.
The distributed ARP/ND query is carried by RBridges through the
RBridge distribution tree. Each Designated RBridge, in addition to
forwarding the query through the distribution tree, initiates an
ARP/ND query on its link(s). If a reply is received from the target
by Designated RBridge R2, R2 initiates a link state update to inform
Perlman, Gai, Dutt Expires September 2007 [Page 30]
Internet-Draft RBridge Protocol March 2007
all the other RBridges of D's location, layer 3 address, and layer 2
address, in addition to forwarding the reply to the querier.
It is the querier's Designated RBridge R1 that chooses which strategy
to employ when seeing an ARP/ND query.
Some mix of these strategies (responding directly, unicasting the
query to the target's Designated RBridge, or flooding the query)
might be the best solution. For instance, even if the target's
location and (layer 3, layer 2) correspondence is in the link state
information R1 received from R2, if the target's location has not
been recently verified by R1 through a broadcast ARP/ND or unicast
query to the target, then R1 MAY broadcast or unicast the query or
respond directly. So for instance, RBridges could keep track of the
last time a broadcast ARP/ND occurred for each endnode E (by any
source, and injected by any RBridge). Let's say the parameter is 20
seconds. If a source S on RBridge R1's link does an ARP/ND for D, if
R1 has not seen an ARP/ND for D within the last 20 seconds, R1
unicasts the query to force a reply from the target; otherwise it
proxies the reply.
When R2 forwards a unicast ARP/ND query, if the target does not
respond, then R2 MAY replay the query, and if the target still does
not respond, R2 SHOULD remove the target from its link state
information.
3.13. Discovering IP Multicast Routers
Until Multicast Router Discovery [RFC4286] is universally deployed,
RBridges discover IP multicast routers through their transmission of
PIM messages. So an RBridge concludes there is an IP multicast router
on its port if it either receives an MRD message or a PIM message on
that port. A PIM message is recognized because the protocol type in
the IP header is decimal 103.
3.14. Assuring Freshness of Endnode Information
A Designate RBridge MUST be capable of ensuring freshness of its
endnode information using periodic ARP/ND queries. Because this may
be a problem if the endnodes are in power-saver mode, there MUST be a
configuration option to disable or control the frequency of these
queries. These queries SHOULD be enabled by default.
Perlman, Gai, Dutt Expires September 2007 [Page 31]
Internet-Draft RBridge Protocol March 2007
4. RBridge Addresses, Parameters, and Constants
Each RBridge needs a unique System ID. The simplest such address is
a unique 6-byte ID, since such an ID is easily obtainable as any of
the EUI-48's owned by that RBridge. IS-IS already requires each
router to have such an address.
The parameter DEFAULT-HOP-LIMIT (suggested value 20). It is the value
used to initialize Trill.HopLimit when an RBridge encapsulates a
frame if some other value has not been configured.
A new Ethertype must be assigned to indicate a TRILL encapsulated
frame.
A layer 2 multicast address for ALL-RBRIDGES must be assigned for
use as the destination address in flooded frames.
To support VLANs, RBridges (like bridges today), must be configured,
for each port, with the PVID (Port VLAN ID) in which that port
belongs.
A parameter to determine whether an RBridge should periodically do
queries to ensure that the endnode information is fresh, and if so,
with what frequency.
The parameter RequestTree that indicates whether an RBridge wants to
be the root of a distribution tree.
Configuration for wiring closet topology consists of System ID of the
RBridge with lowest System ID. If R1 and R2 are part of a wiring
closet topology, only R2 needs to be configured to know about this,
and that R1 is the ID it should use in the spanning tree protocol on
the specified port.
5. Security Considerations
The goal is for RBridges to not add additional security issues over
what would be present with traditional bridges. RBridges do not
prevent nodes from impersonating other nodes, for instance, by
issuing bogus ARP/ND replies. However, RBridges do not interfere
with any schemes that would secure neighbor discovery.
As with routing schemes, authentication of RBridge messages would be
a simple addition to the design (and it would be accomplished the
same way as it would be in IS-IS). However, any sort of
Perlman, Gai, Dutt Expires September 2007 [Page 32]
Internet-Draft RBridge Protocol March 2007
authentication requires additional configuration, which might
interfere with the perception that RBridges, like bridges, are zero
configuration.
6. IANA Considerations
A new Ethertype must be assigned to indicate an TRILL encapsulated
frame.
A layer 2 multicast address for "All RBridges" must be assigned for
use as the destination address in flooded frames.
7. References
7.1. Normative References
[802.1D] "IEEE Standard for Local and metropolitan area networks /
Media Access Control (MAC) Bridges", 802.1D-2004, 9 June 2004.
[802.1Q] "IEEE Standard for Local and metropolitan area networks /
Virtual Bridged Local Area Networks", 802.1Q-2005, 19 May 2006.
[ISO10589] ISO/IEC 10589:2002, "Intermediate system to Intermediate
system routeing information exchange protocol for use in conjunction
with the Protocol for providing the Connectionless-mode Network
Service (ISO 8473)," ISO/IEC 10589:2002.
[RFC826] Plummer, D., "An Ethernet Address Resolution Protocol", RFC
826, November 1982.
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, March 1997.
[RFC2461] Narten, T., Nordmark, E. and W. Simpson, "Neighbor
Discovery for IP Version 6 (IPv6)", RFC 2461 (Standards Track),
December 1998.
[RFC3376] Cain, B., "Internet Group Management Protocol, Version 3",
RFC 3376, October 2002.
[RFC4286] Haberman, B., Martin, J., "Multicast Router Discovery", RFC
4286, December 2005.
Perlman, Gai, Dutt Expires September 2007 [Page 33]
Internet-Draft RBridge Protocol March 2007
[SNOOP] Christensen, M., Kimball, K, Solensky, F., "Considerations
for IGMP and MLD Snooping Switches", draft-ietf-magma-snoop-12.txt
7.2. Informative References
[Arch] Gray, E., "The Architecture of an RBridge Solution to TRILL",
draft-ietf-trill-rbridge-arch-01.txt, October 2006, work in progress.
[PAS} Touch, J., & R. Perlman "Transparent Interconnection of Lots of
Links (TRILL) / Problem and Applicability Statement", draft-ietf-
trill-prob-01.txt, Octover 2006, work in progress.
[RBridges] Perlman, R., "RBridges: Transparent Routing", Proc.
Infocom 2005, March 2004.
[RFC3971] Arkko, J., Kempf, J., Zill, B., and P. Nikander, "SEcure
Neighbor Discovery (SEND)", RFC 3971, March 2005.
[RP1999] Perlman, R., "Interconnection: Bridges, Routers, Switches,
and Internetworking Protocols", Addison Wesley Chapter 3, 1999.
Perlman, Gai, Dutt Expires September 2007 [Page 34]
Internet-Draft RBridge Protocol March 2007
Author's Address
Radia Perlman
Sun Microsystems
Email: Radia.Perlman@sun.com
Silvano Gai
Nuova Systems
Email: sgai@nuovasystems.com
Dinesh G. Dutt
Cisco Systems, Inc.
170 Tasman Dr.
San Jose, CA 95134-1706
Phone: 1-408-527-0955
EMail: ddutt@cisco.com
Intellectual Property Statement
The IETF takes no position regarding the validity or scope of any
Intellectual Property Rights or other rights that might be claimed to
pertain to the implementation or use of the technology described in
this document or the extent to which any license under such rights
might or might not be available; nor does it represent that it has
made any independent effort to identify any such rights. Information
on the procedures with respect to rights in RFC documents can be
found in BCP 78 and BCP 79.
Copies of IPR disclosures made to the IETF Secretariat and any
assurances of licenses to be made available, or the result of an
attempt made to obtain a general license or permission for the use of
such proprietary rights by implementers or users of this
specification can be obtained from the IETF on-line IPR repository at
http://www.ietf.org/ipr.
The IETF invites any interested party to bring to its attention any
copyrights, patents or patent applications, or other proprietary
rights that may cover technology that may be required to implement
this standard. Please address the information to the IETF at
ietf-ipr@ietf.org.
Perlman, Gai, Dutt Expires September 2007 [Page 35]
Internet-Draft RBridge Protocol March 2007
Disclaimer of Liability
This document and the information contained herein are provided on
an "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE
REPRESENTS OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY, THE
IETF TRUST AND THE INTERNET ENGINEERING TASK FORCE DISCLAIM ALL
WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY
WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY
RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A
PARTICULAR PURPOSE.
Copyright Statement
Copyright (C) The IETF Trust (2007).
This document is subject to the rights, licenses and restrictions
contained in BCP 78, and except as set forth therein, the authors
retain all their rights.
Acknowledgment
Funding for the RFC Editor function is currently provided by the
Internet Society.
Perlman, Gai, Dutt Expires September 2007 [Page 36]
| PAFTECH AB 2003-2026 | 2026-04-23 17:07:54 |