IS-IS runs natively on layer 2 of the OSI reference model. How will the routing be done in that?

My doubt is that layer 3 has the ability to do the routing. But, ISIS does not run in layer 3 rather it natively runs in layer-2. In that, how does the IS-IS perform routing in layer 2 of the OSI model?

  • 1
    ISIS carries IP routes in its TLVs; routers see the IP routes in the TLVs and install them. This isn't hard Aug 17, 2014 at 19:24
  • Did any answer help you? if so, you should accept the answer so that the question doesn't keep popping up forever, looking for an answer. Alternatively, you could provide and accept your own answer.
    – Ron Maupin
    Aug 8, 2017 at 21:45

2 Answers 2


ISIS works quite differently than most of the protocols you know. In the original OSI networking, ISIS would make adjacencies with it's neighbors, and tell them about the adresses of any ES it knows. IS means intermediate system, so besically a router. ES means end system, so any host. ISIS has different logic with different levels of routing. The levels used in ISIS are*:

  • Level 1: Exchange routing information with neighbors in the same area.
  • Level 2: Exchange routing information with neighbors in other areas (often refered to as the backbone).

Basically, the logic is as follows: For level 1: flood all the connected and redistributed routes you know to all the level 1 neighbors in this area. Set default route to any routers with level 2 capability you know. For level 2: Import all routes from level 1 routers you know, flood to all level 2 neighbors in any area. (Please note that you need routers that are both level 1 and 2 to make the translations)

Every router floods any packets they receive to their neighbors according to those two rules. The information in these packets are in the format Type,Length,Value (TLV). Using TLV's means the following:

  • If you want to add a new protocol, say IPv6, you just define a new TLV.
  • If one of the routers doesn't know the Type, it can skip this value (by just looking Length ahead in the packet) and still work as expected.
  • If one router doesn't know about this Type, it can still forward on the information to other routers.

ISIS, just like OSPF, runs a Dijkstra Algorithm to find the shortest path. All information for this algorithm is contained in the TLV's. L2 Communication with neighbors is done in two ways: -When connected to a shared segment, use the Layer 2 protocol of that segment to communicate. This is done to be able to traverse switches that might not be able to speak the OSI layer 2 protocol CLNS. -When connected to a point to point network, communication on Layer 2 is CLNS.

This doesn't mean that there is no L3 communication. ISIS routers still need a layer 3 address. Since we are talking OSI, and not IP, the address is slightly different. In this case, the address is called a Network Entity Title (NET), which is one address for the entire system (so not one per interface). The NET has many forms, but for most ISIS adjacencies, works as follows: 49.<4 char area>.<12 char system identifier>.00. It doesn't really matter what you use as identifier, but say we have router in area 52, we could make the NET 49.0052.1920.0000.2005.00 Since the addresses are in HEX you prefer 49.0052.0000.B00B.0000.00 (The addresses are hexadecimal).

*) There are other levels in OSI routing, but those aren't significant for the current operation of ISIS

A short illustration of routing

                                       <-----+         <-----+                                     
      Default route +------> >>      <------+  Default route        

              +-------------+          +-------------------+         +-------------------+      +---------------+              
              |             |          |                   |         |                   |      |               |     | L1 router   | L1       |   L1/L2 router    |   L2    |   L1/L2 router    |  L1  |   L1 router   |
              |   Area 1    +----------+      Area 1       +---------+      Area 2       +------+     Area 2    |              
              |             |          |                   |         |                   |      |               |              
              +-------------+          +-------------------+         +-------------------+      +---------------+              
  • like ospf,choose the router id as highest loopback address.ISIS also do the same thing for his router id or its choose different method for his router id.?
    – Trojan
    Aug 19, 2014 at 10:06
  • 1
    In OSI, there is no loopback address, there is only the system address, called Network Entity Title (NET). This single address is used as the router ID.
    – JelmerS
    Aug 19, 2014 at 13:57
  • one more Doubt,if we using MPLS with ISIS, whether MPLS choose NET address as router id or loopback address as router id.
    – Trojan
    Aug 19, 2014 at 16:36
  • For routing purposes, the NET is only used to identify the (pseudo)nodes in the SPF tree. Just using MPLS with LDP has nothing to do with the routing protocol you use, and the router-id would be the same with IS-IS, OSPF or static routing. For traffic engineering, you need router-id's that are routable. The NET normally isn't routable, so you still need to use the IP addresses to create a path. So in short: NET and mpls router-id have nothing to do with eachother.
    – JelmerS
    Aug 20, 2014 at 5:34
  • without the routing protocol there is no routes in RIB then how LDP works.
    – Trojan
    Aug 20, 2014 at 17:05

What difference does it make? OSPF and ISIS behave very similarly in the sense that they both use methods to form neighborships/adjacencies with Hello packets (or PDU's) and then exchange topology information (LSA flooding), then their link state databases are constructed, and then the Dijkstra algorithm is run to generate a shortest-path tree and then the routing table is built.

OSPF just runs on top of IP natively, while ISIS does not. Is the concept of NSAP/OSI addressing weird to people that are only used to IP? Yes. But as Mike has pointed out, this is simply because the folks that designed the protocol intended for it to be network-layer agnostic, which not only allows ISIS to support other routed protocols, but also makes extending the protocol to support those routed protocols much easier (Example - because OSPF has a direct dependency on IP, it had to be basically rewritten to support IPv6, whereas with ISIS, only support for a new TLV had to be created).

Dijkstra is Dijkstra - it doesn't matter if we're talking about CLNS/CLNP or native IP.

  • 1
    Another advantage of the TLV's is that you don't need to create a LSA per fringe case, you can do this using the TLV's. Also, note that there are more terminology differences (IS-IS LSP vs OSPF LSA) and the default behaviours for interarea communication is different (Standard level 1 in OSPF is comparable to OSPF Totally NSSA area).
    – JelmerS
    Aug 18, 2014 at 10:54
  • @JelmerS is there any possible to ping the NET address
    – Trojan
    Aug 19, 2014 at 16:42
  • Yes, it is possible to ping the NET, but the same restrictions as pinging over IP apply: You need a layer 2 technology to ping over (in this case CLNS) and you need routing information. Note that you don't have interfaces, or subnets, so you need an explicit route for any NET you want to be able to ping. After you have that, you can issue 'ping clns <NET>' on Cisco routers. However, there is no reason to enable CLNS routing. If you see the neighbor in your IS-IS topology, you have the necessary connectivity.
    – JelmerS
    Aug 20, 2014 at 5:25

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.