IS-IS Mesh Groups
Marking fully connected links so that IS-IS stops repeating the same news along them
Balay, R., Katz, D., and J. Parker, "IS-IS Mesh Groups", RFC 2973, DOI 10.17487/RFC2973, October 2000, <https://www.rfc-editor.org/info/rfc2973>.
@misc{rfc2973,
series = {Request for Comments},
number = 2973,
howpublished = {RFC 2973},
publisher = {RFC Editor},
doi = {10.17487/RFC2973},
url = {https://www.rfc-editor.org/info/rfc2973},
author = {R. Balay and D. Katz and J. Parker},
title = {{IS-IS Mesh Groups}},
pagetotal = 8,
year = 2000,
month = oct,
} RFC text
Contents
Network Working Group R. Balay
Request for Comments: 2973 CoSine Communications
Category: Informational D. Katz
Juniper Networks
J. Parker
Axiowave Networks
October 2000
IS-IS Mesh Groups
Status of this Memo
This memo provides information for the Internet community. It does
not specify an Internet standard of any kind. Distribution of this
memo is unlimited.
Copyright Notice
Copyright (C) The Internet Society (2000). All Rights Reserved.
Abstract
This document describes a mechanism to reduce redundant packet
transmissions for the Intermediate System to Intermediate System
(IS-IS) Routing protocol, as described in ISO 10589. The described
mechanism can be used to reduce the flooding of Link State PDUs
(Protocol Data Units) (LSPs) in IS-IS topologies. The net effect is
to engineer a flooding topology for LSPs which is a subset of the
physical topology. This document serves to document the existing
behavior in deployed implementations.
The document describes behaviors that are backwards compatible with
implementations that do not support this feature.
Table of Contents
1. Overview..................................................... 2
2. Definitions of Mesh Groups................................... 3
3. Drawbacks of Mesh Groups..................................... 5
4. Interoperation with Mesh Groups.............................. 6
5. Acknowledgments.............................................. 6
6. References................................................... 6
7. Security Considerations...................................... 6
8. Authors' Addresses........................................... 7
9. Full Copyright Statement..................................... 8
1. Overview
In ATM or frame relay networks Intermediate Systems are inter-
connected using virtual circuits (VCs) which are logical point-to-
point links. Some organizations attach multiple Intermediate Systems
to form a full "mesh" topology, where every pair of Intermediate
Systems are connected by a point-to-point link. In such topologies,
IS-IS protocol operation leads to redundant transmission of certain
PDUs due to the flooding operation which is illustrated below.
When an Intermediate System gets a new Link State Protocol Data Unit
(LSP), it stores it, and prepares to flood it out every circuit
except the source circuit. This is done by setting SRM (Send Routing
Message) bits held in the local copy of the LSP: there is an SRM for
each circuit.
+----------+ +----------+
| | I12 I21 | |
| System 1 | --------------------------- | System 2 |
| | | |
+----------+ +----------+
I13 | \ I14 I23 / | I24
| \ / |
| \ / |
| \ / |
| \ / |
| \ / |
| \ / |
| . |
| / \ |
| / \ |
| / \ |
| / \ |
| / \ |
| / \ |
I31 | / I32 I41 \ | I42
+----------+ +----------+
| | | |
| System 3 | --------------------------- | System 4 |
| | I34 I43 | |
+----------+ +----------+
Figure 1. A four node full mesh topology
When System1 regenerates an LSP, it will flood the LSP through the
network by marking the SRM bits for circuits I12, I14, and I13. In
due course, it will send out the LSP on each circuit.
When System2 receives System1's LSP, it propagates the PDU according
to section 7.2.14 of ISO 10589 [1]. It sets the SRM bits on circuits
I23 and I24, to flood the LSP to System3 and System4. However, these
Intermediate Systems will get the LSP directly from System1. In a
full mesh of N Intermediate Systems, the standard protocol mechanism
results in N-2 extra transmissions of each LSP, a waste of bandwidth
and processing effort, with little gain in reliability.
Mesh groups provide a mechanism to reduce the flooding of LSPs.
2. Definitions of Mesh Groups
A mesh group is defined as a set of point-to-point circuits which
provide full connectivity to a set of Intermediate Systems. Each
circuit has two new attributes: meshGroupEnabled, which is in state
{meshInactive, meshBlocked, or meshSet} and an integer variable
meshGroup, which is valid only if the value of meshGroupEnabled
attribute is 'meshSet'. Circuits that are in state 'meshSet' and
that have the same value of meshGroup are said to be in the same mesh
group.
LSPs are not flooded over circuits in 'meshBlocked' state, and an LSP
received on a circuit C is not flooded out circuits that belong to
C's mesh group.
Section 7.3.15.1 clause e.1.ii) of ISO 10589 [1] is modified as
follows:
e.1.ii)
if the meshGroupEnabled attribute is 'meshSet' for the
circuit C, set the SRMflag for that LSP for all circuits
other than C whose meshGroupEnabled attribute is
'meshInactive'. Also set the SRMflag for all circuits in
state 'meshSet' whose meshGroup attribute is not the same
as C's.
if the meshGroupEnabled attribute is 'meshInactive' for
circuit C, set the SRMflag for that LSP for all circuits
other than C whose meshGroupEnabled attribute is not
'meshBlocked'.
For robust database synchronization when using mesh groups, the
Complete Sequence Number PDUs (CSNPs) are sent periodically on
point-to-point links with a mesh group meshEnabled or meshBlocked.
Section 7.3.15.3 clause b) of ISO 10589 [1] is modified as follows:
b) If C is a point-to-point circuit (including non-DA DED
circuits and virtual links), then
1) If the circuit's attribute is 'meshSet' or 'meshBlocked',
then for each valid level, the IS will send a complete
set of CSNPs as described for a Designated IS in section
7.3.15.3 clause a).
2) CSNPs are transmitted only at initialization on point-
to-point links whose state is 'meshInactive'.
Use of mesh groups at an Intermediate System also modifies the
behavior in transmission of generated LSPs. These LSPs are not
required to be transmitted over circuits in state 'meshBlocked' at
system startup or when the LSP is regenerated. The second sentence
of Section 7.3.12 is modified to read:
"For all the circuits whose meshGroupEnabled attribute is
not 'meshBlocked', the IS shall set the SRMflags for that
Link State PDU to propagate it on all these circuits. The
IS shall clear the SRMflags for circuits whose
meshGroupEnabled attribute is 'meshBlocked'."
Some of the transient transmission overhead can be reduced by having
an Intermediate System not transmit its copies of the LSPs in
database on a circuit start-up/restart if the circuit is '
meshBlocked'. The clause a) in the last part of Section 7.3.17 of
ISO 10589, which refers to the point-to-point circuits, is modified
as follows:
a) set SRMflag for that circuit on all LSPs if the
meshGroupEnabled attribute of the circuit is not
'meshBlocked', and
Numbering of mesh groups provides the ability to divide a large full
mesh topology into a smaller group of full mesh sub-topologies (mesh
groups). These mesh groups are connected by "transit" circuits which
are 'meshInactive', while the remaining circuits between the mesh
groups are configured as 'meshBlocked' to reduce flooding redundancy.
Use of numbering makes mesh groups more scalable.
3. Drawbacks of Mesh Groups
The mesh group feature described in this document is a simple
mechanism to reduce flooding of LSPs in some IS-IS topologies. It
relies on a correct user configuration. If a combination of user
configuration and link failures result in a partitioned flooding
topology, LSPs will not be sent in a timely fashion, which may lead
to routing loops or black holes.
The concept of using numbered mesh groups also suffers from the
complexity and reliance on static configuration, making the
topologies brittle. Loosing a transit link can partition LSP
flooding in unpredictable ways, requiring the periodic flooding of
CSNPs to synchronize databases. In large networks, CSNPs become
large and also consume bandwidth.
The authors are not aware of any networks that have deployed numbered
mesh groups: instead, administrators set links to state 'meshBlocked'
to prune the flooding topology (also known as "poor man's mesh
groups").
Some improvements to mesh groups which have been suggested include:
a) To negotiate or check the mesh group attributes during
initialization of an adjacency to verify that the two ends of
every circuit hold identical values of the mesh state and mesh
number.
b) Dynamic election of active transit links so that a topology could
recover from failure of transit circuits.
c) Reduce the flooding of CSNPs by sending them periodically on some
meshGroup circuits rather than all circuits.
d) Reduce the size of PDUs required by flooding of CSNPs by sending
CSNP summaries: checksums or sequence numbers.
e) A related problem is the unneeded multiple transmissions of LSPs
to neighbors that are connected via multiple links. The protocol
could use the remote system ID of each adjacency and attempt to
send a single copy of each LSP to a neighbor.
Any such improvements are outside the scope of this document, and may
be the basis for future work.
4. Interoperation with Mesh Groups
Since mesh groups do not alter the content of packets, an
Intermediate System that does not implement mesh groups will not see
any different packets or new TLVs. The only impact will be that
additional CSNPs will be seen on some point-to-point links. A
conformant implementation can be expected to respond correctly to
extra CSNPs.
5. Acknowledgments
The original idea for mesh groups is due to Dave Katz. Thanks to
Tony Li, Tony Przygienda, Peter Livesey, and Henk Smit for helpful
comments.
6. References
[1] ISO/IEC 10589, "Intermediate System to Intermediate System
Intra-Domain Routing Exchange Protocol for use in Conjunction
with the Protocol for Providing the Connectionless-mode Network
Service (ISO 8473)", June 1992.
7. Security Considerations
This document raises no new security issues for IS-IS.
8. Authors' Addresses
Rajesh Balay
CoSine Communications, Inc
1200 Bridge Parkway
Redwood City, CA 94065
EMail: Rajesh.Balay@cosinecom.com
Dave Katz
Juniper Networks
385 Ravendale Drive
Mountain View, CA 94043
EMail: dkatz@juniper.net
Jeff Parker
Axiowave Networks,
100 Nickerson Road,
Marlborough, MA 01752
EMail: jparker@axiowave.com
9. Full Copyright Statement
Copyright (C) The Internet Society (2000). All Rights Reserved.
This document and translations of it may be copied and furnished to
others, and derivative works that comment on or otherwise explain it
or assist in its implementation may be prepared, copied, published
and distributed, in whole or in part, without restriction of any
kind, provided that the above copyright notice and this paragraph are
included on all such copies and derivative works. However, this
document itself may not be modified in any way, such as by removing
the copyright notice or references to the Internet Society or other
Internet organizations, except as needed for the purpose of
developing Internet standards in which case the procedures for
copyrights defined in the Internet Standards process must be
followed, or as required to translate it into languages other than
English.
The limited permissions granted above are perpetual and will not be
revoked by the Internet Society or its successors or assigns.
This document and the information contained herein is provided on an
"AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING
TASK FORCE DISCLAIMS 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.
Acknowledgement
Funding for the RFC Editor function is currently provided by the
Internet Society.
ISO Plain Language
On this page
§1The Flooding Problem in Full Meshes
In ATM or frame relay networks, routers are joined by virtual circuits, which are logical point-to-point links. Some organisations attach many routers so that every pair of them is connected. That arrangement is called a full mesh.
In IS-IS, a router that receives a new Link State PDU (LSP) stores it and floods it out every circuit except the one it arrived on. It does this by setting a send flag for each circuit it holds. In a full mesh of N routers, the standard mechanism produces N-2 extra transmissions of each LSP, a waste of bandwidth and processing effort with little gain in reliability.
The copies are unnecessary because every router in the mesh already has a direct link to the router that originated the update. The neighbour that forwards it is only delivering something the far end would have received anyway.
IS-IS routers spread news about network changes by passing it along every link they have. In a network where every router is connected to every other one, the same news gets passed around far more times than it needs to be. RFC 2973 describes how to stop the extra copies.
| Situation | Standard IS-IS flooding | Flooding with mesh groups |
|---|---|---|
| Update received on a circuit in a mesh group | Sent out on every circuit except the one it arrived on | Not sent out over the other circuits of the same mesh group |
| Circuit in the meshBlocked state | Carries link state PDUs like any other circuit | Carries no link state PDUs |
| Result in a full mesh of N systems | N-2 extra transmissions of each update | A flooding topology that is a subset of the physical topology |
§2Mesh Group States and Flooding Rules
A mesh group is a set of point-to-point circuits that give full connectivity to a set of routers. Each circuit gains two attributes: meshGroupEnabled, whose state is one of meshInactive, meshBlocked or meshSet, and an integer meshGroup that is valid only in the meshSet state. Circuits in the meshSet state that carry the same group number belong to the same mesh group.
LSPs are not flooded over circuits in the meshBlocked state, and an LSP received on a circuit is not flooded back out over the other circuits that belong to that circuit's mesh group. The memo rewrites the flooding rule in ISO 10589 clause 7.3.15.1 to say this, and changes the handling of Complete Sequence Number PDUs (CSNPs), the packets that keep neighbouring link state databases in step, in clause 7.3.15.3. LSPs that a router generates itself are not sent over meshBlocked circuits either.
Numbering the groups lets one large mesh be split into smaller full-mesh sub-topologies joined by transit circuits. Those transit circuits are left meshInactive, and the remaining circuits between groups are set to meshBlocked. The memo says this makes mesh groups more scalable.
Each link between routers gets a label. A link marked blocked carries no link state messages at all. A link marked mesh belongs to a group of routers that are all connected to each other, so a message arriving on one link of that group is not repeated along the others. Links that join one group to another stay normal and carry the message onward.
- meshInactiveNormal circuit — The standard flooding rule applies: the update goes out on every circuit except the one it arrived on.
- meshSetIn a mesh group — The circuit carries a mesh group number, and an update arriving on it is not sent back out over the other circuits of that group.
- meshBlockedPruned circuit — Link state PDUs are not flooded over the circuit, and generated LSPs are not sent on it.
§3Drawbacks and Practical Use
The memo is direct about the cost of the feature. It is a simple mechanism that relies on correct user configuration. If a combination of configuration and link failures results in a partitioned flooding topology, LSPs are not sent in a timely fashion, which may lead to routing loops or black holes.
Numbered mesh groups also add complexity and depend on static configuration, which makes topologies brittle. Losing a transit link can partition LSP flooding in unpredictable ways, and the periodic CSNPs needed to resynchronise databases become large and consume bandwidth in large networks.
The authors say they are not aware of any networks that have deployed numbered mesh groups. Instead, administrators set links to the meshBlocked state to prune the flooding topology, an arrangement the memo calls "poor man's mesh groups". It lists possible improvements, such as negotiating the mesh attributes when an adjacency starts and electing active transit links dynamically, and places them outside its own scope.
This shortcut only works if the network is configured correctly, and a mistake or a broken link can stop updates from reaching some routers. The authors say nobody seems to use the full numbered version; in practice people just block the extra links, which the memo calls 'poor man's mesh groups'.
§4Interoperation with Other Routers
Mesh groups do not alter the content of any packet. A router that does not implement them sees no different packets and no new type-length-value fields. The only impact is that additional CSNPs arrive on some point-to-point links, and a conformant implementation is expected to respond correctly to extra CSNPs.
The memo notes that the behaviours it describes are backwards compatible with implementations that do not support the feature, because the change is in what a router sends, not in what the packets contain.
Other routers do not need any new software. They receive a few extra packets and answer them as usual, which is what makes the feature safe to use next to routers that know nothing about it.
§7Security Considerations
The memo states that it raises no new security issues for IS-IS, and it adds nothing further to that statement. Mesh groups are set by configuration on each circuit rather than by an exchange between routers, and they add no packets and no fields to what travels on the network.
The risk the memo does describe is misconfiguration, and it treats that as an operational drawback rather than a security problem.
The memo says it does not raise any new security problems for IS-IS. It changes no packet content and adds no new fields, so what travels between routers stays the same as before.