IS-IS has always been my favourite Interior Gateway Protocol. Its elegant simplicity, its well-structured data formats, its ?exibility and easy extensibility are all appealing – IS-IS epitomizes link-state routing. Whether for this reason or others, IS-IS is the IGP of choice in some of the world’s largest networks. Thus, if one is at all interested in routing, it is well worth the time and effort to learn IS-IS. However, it is hazardous to call any routing protocol “simple”. Every design decision, be it in architecture, implementation or deployment, has consequences, some unanti- pated, some unknowable, some dire. Interactions between different implementations, the dynamic nature of routing, and new protocol features all contribute to making routing protocols complex to design, write and deploy effectively in networks. For example, IS-IS started as a link-state routing protocol for ISO networks. It has since evolved sign- cantly: IS-IS has IPv4 and IPv6 (and IPX) addressing; IS-IS can carry information about multiple topologies; link attributes have expanded to include traf?c engineering para- ters; a new methodology for restarting IS-IS gracefully has been developed. IS-IS even has extensions for use in “non-packet networks”, such as SONET and optical networks, as part of the Generalized Multi-Protocol Label Switching (G-MPLS) protocol suite. Understanding all of what IS-IS offers and keeping abreast of the newer protocol f- tures is a weighty endeavour, but one that is absolutely essential for all serious netwo- ing engineers, whether they are developing code or running networks.