Kiran Ramachandra


This project adds Integrated System Integrated System (IS-IS) Protocol as a southboundplug-inin ONOS controller to collect the topology information of the network. This network topology can be used by other applications like PCE.

Demo Video

Proposed work

Add ISIS South Bound plugin to learn the Link state topology of the network and update ONOS "L3 topology" system along with the TE information. Implement ISIS Controller, which acts as an ISIS Router to listen to the Link State PDU (LSP) being exchanged between the various routers in the network. A channel handler will be created for each ISIS Interface session to maintain the state machine and state of each neighboring router. Implement ISIS message handler, which will encode and decode ISIS messages between ONOS ISIS SBI and ISIS Neighbor on network. Currently the Point-to-Point and Broadcast networks will be supported. Support for multi-level (Level 1, Level 2) will be provided. Implement ISIS topology provider to update "L3 topology" system when any node or link gets added/deleted or modified. All communication between ISIS Link State Provider and ONOS Core/App uses Provider Service interface. 

Information on ISIS

The IS-IS (Intermediate System - Intermediate System) protocol is one of a family of IP Routing protocols, and is an Interior Gateway Protocol (IGP) for the Internet, used to distribute IP routing information throughout a single Autonomous System (AS) inan IP network.

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.

IS-IS was originally devised as a routing protocol for CLNP, but it has been extended to include IP routing; the extended version is sometimes referred to as Integrated IS-IS.

Each IS-IS router distributes information about its local state (usable interfaces and reachable neighbors, and the cost of using each interface) to other routers using a Link State PDU (LSP) message. Each router uses the received messages to build up an identical database that describes the topology of the AS.

From this database, each router calculates its own routing table using a Shortest Path First (SPF) or Dijkstra algorithm. This routing table contains all the destinations the routing protocol knows about, associated with a next hop IP address andoutgoing interface.



Following document outlines the procedure to run ISIS as SBI and connect with the routers that support ISIS.



Link to the c program ->