IS-IS is a link-state routing protocol, which means that the routers exchange topology information with their nearest neighbors. The topology information is flooded throughout the AS, so that every router within the AS has a complete picture of the topology of the AS. This picture is then used to calculate end-to-end paths through the AS, normally using a variant of the Dijkstra algorithm. Therefore, in a link-state routing protocol, the next hop address to which data is forwarded is determined by choosing the best end-to-end path to the eventual destination.
Debating in CLN about routing protocols:
By definition of the L3 of the OSI model it is a L3 protocol. (please forgive my english)
L1 - PHY connects to the physical medium - actual bits on the wire (light or electrons on a wire, also electromagnetic pulses in the RF world)
Typical media: Copper Wire, Fiber Optics, Radio Freq.
L2 - DataLink - coding of those bits from the physical world to provide connectivity to upper layers and provide error correction
Typical Devices : Switches, Wireless Access Points, Nic's(Network Interface Cards)
Protcols : Ethernet, PPP, HDLC, 802.11 (Wireless),
L3 - Network Layer - provides an end-to-end logical addressing system so that a packetof data can be routed across several layer 2 networks.
Note that network layer addresses can also be referred to as logical addresses.
Protocols : IP (v4/v6) , Appletalk , CLNS
Devices : Routers, PC, Servers
It is a routing protocol and its purpose is to route CLNS addresses or routes from one end to another. And again by definition that is
described at which layer of the OSI model? L3.
It is true that in contrast with other routing protocols like OSPF, RIP or EIGRP Its header is encapsulated in a L2 frame directly, and that's probably why many refer to it as a L2 protocol, but that doesn't make it a L2 protocol. It simply isn't. IPv4/IPv6 are also carried in a L2 frame and they are not L2 protocol either. I hope this make sense.
If someone reading this post want to study this further I found easier to compare CLNS vs IPv6 rather than IPv4. In case you are interested in doing some wireshark captures in a lab.