-This report briefly describes routing and then explains what is IS -IS routing protocol and how IS-IS works. Keywords : Routing, Routing Pro tocol , Autonomous S ystem, Dijkstra's Algorithm , Network Entit y Title, Network Service Access Point , Level -1 router , Level -2 router , Protocol Data U nit (PDU ). I. INTRODUCTION Routing is the process of selection path from source to destination to share data . Routers are devices that are used to implement Routing based on some rules , which are called as Routing protocols . There are two types of routing protocols. 1. Interior Gateway Protocol (IGP) An Interior Gateway Protocol ( IGP) is a type of protocol used for exchanging routing in formation between routers within an Autonomous System (AS) . Interior gateway protocols can be divided into two categories: Distance Vector Routing Protocols (DVRP ) implemente d as Routing Information Protocol (RIP) and Enhanced Interior Gateway Routing Pro tocol (EIGRP) . Link State Routing Protocols (LSRP ) implement ed as Open Shortest Path First (OSPF) and Interm ediate System to Intermediate System (IS -IS). 2. Exter ior Gateway Protocol (EGP) An exterior gateway protocol is a routing protocol used to exchange ro uting information between autonomous systems. Exterior Gateway Protocols include Exterior Gateway Protocol (EGP), now obsolete, and Border Gateway Protocol (BGP). Figure 1:Routing Protocols II. INTERMEDIATE SYSTEM TO INTERMED IATE SYSTEM (IS-IS) Intermediate System to Intermediate S ystem (IS -IS) is a routing protocol designed to move information efficiently within a computer network, which consists of a group of physically connected computers . It accomplishes this by determinin g the best route for data through a p acket -switched network. IS-IS has been called "the de facto standard for large service provider network backbones. " IS-IS is an IGP, design ed for use within an Autonomous System (AS it is a network formed by group of de vices ). This is in contrast to Border Gateway Protocol (BGP), which is us ed for routing between AS. IS-IS is a link -state routing protocol . It operate s by reliably flooding lin k state information throughout a network of routers. Each IS -IS router independe ntly builds a database of the network's topolog y, aggregating the flooded network information. Like the OSPF protocol, IS -IS uses Dijkstra's algorithm for computing the best pa th through the network. Packets (datagrams) are then forwarded, based on the com puted ideal path, through the network to the destination. IS-IS uses multicast to discover neighbor routers by sending hello pa ckets. Figure 2:Gene ral Structure of IS -IS Network Figure 3:Autonomous Sys tem III. PROPERTIES A routing domain may be divided into one or more subdomains. Each subdomain is referred to as an area and is assigned an area address. Routing within an a rea is referred to as Level -1 routing. Routing between Level -1 areas is referre d to as Level -2 routing. A device in OSI model is referred to as an Intermediate System (IS). An IS may operate at Level 1, Level 2, or both. An IS is identified by an address k nown as a Network Entity Title (NET). The NET is the address of a Network Servi ce Access Point (NSAP), which identifies an instance of the IS -IS routing protocol running on an IS. The NET may be 8 to 20 octets in length and consists of three parts: 1. Area ad dress —This field is 1 to 13 octets in length and is composed of high -order octe ts of the address. 2. System ID —This field is 6 octets long and immediately follows the area address. When the IS operates at Level 1, it must be unique among all the Level -1 devic es in the same area. When the IS operates at Level 2, it must be unique amon g all devices in the domain. 3. NSEL —The N -selector field is 1 octet in length and immediately follows the system ID. It must be set to 00. Figure 4:Network Entity Title Format ISs exchange routing information with their peers using p rotocol data units (PDUs). The following types of PDUs are used: 1. Intermediate System -to-Intermediate System Hello PDUs (IIHs) are exchanged between IS neighbors on circuits on w hich the IS -IS protocol is enabled. IIHs include the system ID of the sender, t he assigned area address, and the identity of neighbors that are known to the sending IS. There are three type s: Point -to-Point IIHs, Level -1 LAN IIHs & Level -2 LAN IIHs. 2. An IS generates Link -State PDUs (LSPs) to advertise its neighbors and the destination that are directly connected to the IS. An LSP is uniquely identified b y: System ID , Pseudonode ID , LSP number (0 to 255) & 32-bit sequence number . Whenever a new version of an LSP is generated, the sequence number is incremented. 3. Level -1 LSPs are generate d by ISs that support Level 1. The Level -1 LSPs are flooded throughout the Level -1 area. The set of Level -1 LSPs generated by all Level -1 ISs in an area is the Level -1 LSP Datab ase (LSPDB). All Level -1 ISs in an area will have an identical Level -1 LSPDB an d will therefore have an identical network connectivity map for the area. 4. Level -2 LSPs are generated by ISs that support Level 2. Level -2 LSPs are flooded throughout the Level -2 subdomain. The set of Level -2 LSPs generated by all Level -2 ISs in t he domain is the Level -2 LSP Database (LSPDB). All Level -2 ISs will have an identical Level -2 LSPDB and will therefore have an identical connectivity map for the Level -2 subdomain. 5. Sequen ce Number PDUs (SNPs) contain a summary description of one or more LSPs. There are two types of SNPs for both L evel 1 and Level 2: Complete Sequence Number PDUs (CSNPs) that are used to send a summary of the LSPDB that an IS has for a given level & Partial Sequence Number PDUs (PSNPs) that are used to send a summary of a subset of th e LSPs for a given level that an IS either has in its database or needs to obtain. III. ALGORITHM It uses Dijkstra’s Algorithm for finding route from source to destination. As in ISIS each router has information of whole network so it can use this algor ithm to find shortest path. The path between nodes has value depen ding on distanc e, network traffic etc. In this algorithm the first node has distance zero and all nodes are at infinity. First node finds value of neighbors then the neighbor with less value calculates value of its neighbors then this process goes on and i n end every nod e has some value which is used to find shortest value from source to destination. Figur e 5:Source is 1 and Destination is 6, shortest path is (1, 2 , 5, 6) with value 6 Let the starting node be called the initial node and let the distance of node N be th e distance from the initial node to N. Dijkstra's algorithm will assig n some initial distance values a nd will try to improve them step by step. 1. Mark all nodes unvisited. Create a set of all the unvisited nodes called the unvisited set. 2. Assign to ever y node a te ntative distance value: set it to zero for our initial node and to infinity for all other nodes. Set the initial node as current. 3. For t he current node, consider all of its unvisited neighbors and calculate their tentative distances through th e current n ode. Compare the newly calculated tentative distance to the current assigned value and assign the smaller one. For example, if the current node A is marked with a distance of 6, and the edge connecting it with a neighbor B has length 2, then the distance t o B through A will be 6 + 2 = 8. If B was previously marked with a distance greater than 8 then change it to 8. Otherwise, keep the curren t value. 4. When we are done considering all of the unvisited neighbors of the current node, mark the curre nt node as visited and remove it from the unvisited set. A visited nod e will never be checked again. 5. If the destination node has been marked visit ed (when planning a route between two specific nodes) or if the smallest tentative distance among the nodes in the unv isited set is infinity (when planning a complete traversal; occurs when there is no connection between the initial node and remaining unvi sited nodes), then stop. The algorithm has finished. 6. Otherwise, select the unvisited node that is marked with the s mallest tentative distance, set it as the new "current node ", and go back to step 3. When planning a route, it is actually not necessary t o wait until the destination node is "visited" as above: the algorithm can stop once the destination node h as the smal lest tentative distance among all "unvisited" nodes (and thus could be selected as the next "current"). III. FLOWCHART III. SCENARIO Consider five routers A, B , C, D & E. Router A is conn ected to B, C & E. Router B is connected to A, D & E. Router C is connected to A & D . Router D is connected to B & C . Router E is connected to A & B. Each router has its own neighbors set stored in i ts database LSPDB as shown i n figure 6. Each router transmits it neighbor data to other routers through LSP (Link -State P DU). When a router receives LSP it checks it against its own LSPDB and if LSP contains router not in it s database then database is upda ted. In the end all routers in on e area will have same data in their database s as shown in figure 7 . Now if Router A wants to send data to Router D it first finds the shortest path from path (A, C, D ), path ( A, B, D ) & path (A, E, D ) depending on weights o f edges. Figure 6: Initial State of Routers before Sending PSU's Figure 7: Fina l State of Routers af ter Updating Databases