Hello Stuey,
as we have discussed in previous threads IS-IS has its own encapsulation over OSI Layer2 (an 802.2 encapsulation and uses 3 bytes more), and it is not an upper layer protocol of CLNP.(comparison with OSPF is quite natural OSPFv2 uses IPV4 protocol type 89)
CLNP/CLNS has been the first routed protocol for which IS-IS has provided routing services.
Later support for IPv4 routing has been added.
the IS-IS net that we configure inside IS-IS process is actually a CLNS/CLNP address.
So we can say that ISIS uses addressing services of CLNP/CLNS to identify each node.
The need of CLNS routing enabled can come in some older IOS versions and it is a question of implementation.
Current IOS releases don't need the command
clns routing
in global config
to be able to route IP both at L1 and at L2.
There have been IOS releases where this command was needed to be able to use IS-IS to route IP.
This is not your case as you see isis routes in routing table.
About show commands:
just to give an example in IOS XR:
sh clns neighors
not supported
sh isis neighbors
supported provides the same info.
so about show commands I can only say that in real life be prepared for all these possible variations.
For the exam your understanding of ISIS should be enough.
Hope to help
Giuseppe