There are three topologies you could consider for IS-IS; Flat, Hierarchical, and Hybrid.
A flat design is good for a small network. It consists of a single area, where all routers are on the same level. This is a bit like creating Area 0 in OSPF. There is no summarization in this network.
Using all Level 1-2 routers is a scalable option. This makes it easier to scale into a multi-area topology later.
There is no summarization in this network.
A large scalable network should use a hierarchical design. This may use a backbone network in the core and separate areas for each distribution block.
As an alternative, consider a three-tier hierarchy. This could use a backbone in the core, a Level 1-2 area in the distribution layer, and level 1 routers in the access layer.
This design provides several areas of summarization. This is good to prevent flapping links from affecting the core. If needed, split the backbone into two areas. Unlike OSPF, there is no need for virtual links.
Not all networks are big enough to need a dedicated backbone. But, they may be too big for a flat design.
There is an option to use a hybrid design in this network. This can have many areas, which connect with Level 1-2 routers. There is no dedicated backbone, but there is still summarization between areas.
If you select this design, plan it in a way where you can add a dedicated backbone later.
There are some limitations of IS-IS that you will need to consider for your design. For one, it does not understand NBMA networks. To work around this, use sub-interfaces, and configure point-to-point neighbour types.
IS-IS uses different hello messages for broadcast and point-to-point connections. The message types must match for neighbours to form.
In any of your areas, you may have a full-mesh network. This is good in some ways, but flooding can cause stability and performance problems.
There are no DR's and BDR's like in OSPF. Instead, you can use mesh-groups. If a router receives an LSP from a router in the same mesh group, it will not forward it to other routers in the mesh group.
We need to select a suitable System-ID for the NET Address. This is 6-bytes long and needs to be unique.
There are two tricks you might want to consider here. The first one is to use the MAC address as the System-ID. This works, because it is also 6-bytes, and is also unique.
The second trick is to reformat the IP from a loopback interface. The visual format needs to be converted a little, as shown in this procedure:
- Get the loopback IP. For example, 172.16.1.1
- Pad the IP out with zeros, to get 172.016.001.001
- Move the dots to make three even groups of four, to get 1720.1600.1001
IS-IS is already very scalable. Adjacency information (using CLNS) is completely separate from the IP network information it carries.
This allows IS-IS to generate one LSP, rather than many small LSA's. In addition to this, IS-IS will not rebuild the entire SPF tree. Only a partial calculation based on the changes is required.
This, in turn, limits flooding and reduces CPU usage. Limited flooding allows more routers to exist in a single area. One area can have 1000 routers.
The backbone is also scalable. For one, there does not need to be a single area for the backbone, like in OSPF.
There is also no need to bridge partitioned backbone areas with a virtual link. Instead, a normal area will suffice.
Just keep in mind that the backbone needs to be highly available, so build in redundancy.
There are three components to convergence:
- Detecting changed in routing information
- Notifying neighbours about changes
- Calculating alternate paths
Improving any of these areas will improve convergence times. For example, BFD could be used to detect failed links faster.
There does not have to be a single backbone area, like in OSPF. This statement can be misleading though. What this means, is that the backbone can exist over different areas. It also means that the different backbone areas do not have to be directly joined together.
There still needs to be a connection between the backbone areas. This can be a direct connection, or a connection through other areas.
One simple reason for breaking up the backbone is due to geography. It's not always a good idea to have WAN links in the core. One way to work around this is to have separate backbones, with WAN links in normal areas.
Large networks may have only Level 2 routers in the backbone area. Some networks will have a mixture of Level 2 and Level 1-2 routers.
Similar principles apply to all routing protocols. One that always comes up is, summarise whenever you can. The backbone should contain only summarised routes.
In some cases, you may need route-leaking. An example of this is when a Level 1 router only has a default route to leave an area. It does not know which Level 1-2 router is the best choice, which can result in sub-optimal routing.
Route leaking in IS-IS allows Level 2 routes to be present in Level 1 routers. These routes are given a tag, so they cannot be advertised back into a Level 2 database. These routes are inter-area routes.
When planning route leaking, consider these points:
- Which is the path you want to use? If there are two paths, which is best?
- Which Level 1-2 router is closest to the destination?
IS-IS uses a separate topology for IPv4 and IPv6. Some links can be IPv4 only, or IPv6 only, and SPF runs separately for each topology. IS-IS is a good protocol during a migration to IPv6.
When we talk about using different topologies here, these topologies are different logically. There still needs to be a path between all backbone areas.
There are different hello messages used for IPv4 and IPv6. When there is a dual-stack arrangement, routers will receive hellos that don't match. This may cause adjacencies to fail, so consider disabling consistency checking during migration.
Marwan Al-shawi and Andre Laurent - Designing for Cisco Network Service Architectures (ARCH) Foundation Learning Guide: CCDP ARCH 300-320 (ISBN 158714462X)
Last update 2018-05-08 12:46