3.4. Message TypesOSPF uses five message types:
IS-IS uses four basic message types:
Unlike OSPF, IS-IS messages have subtypes. There are LAN and Point-to-Point Hellos, used as the names imply on either broadcast or point-to-point media. The LAN Hellos are also subdivided into level 1 and level 2 types and are sent over level 1 and level 2 adjacencies. Likewise, Sequence Number PDUs (CSNPs and PSNPs) and LSPs are also subdivided into level 1 and level 2 types. So although there are only four basic types of IS-IS messages, when divided by function, there are nine actual types:
Hello messages serve the same three purposes in both OSPF and IS-IS. They are used to discover neighbors, to negotiate adjacencies, and, on established adjacencies, serve as keepalives. Although IS-IS Hellos are officially assigned the acronym IIH, as shown in the previous two lists, in this book I use the term Hello to refer to both OSPF and IS-IS Hellos for the sake of simplicity. Chapter 4 discusses the formats of the Hello messages and a detailed comparison of their use by the two protocols. OSPF Database Description, Link State Request, and Link State Acknowledgement packets are used for the OSPF database synchronization process. Similarly, IS-IS sequence number PDUs are used for the IS-IS database synchronization process. The formats of these messages, and a comparison of their uses, are found in Chapter 6. Table 3.2 associates the OSPF and IS-IS message types by function. The most interesting comparison in the table is that between OSPF Updates and IS-IS LSPs. Earlier in the section on comparative terminology, I equated LSPs to LSAs, yet here I equate LSPs to Updates. This seeming inconsistency is at the heart of the difference between LSAs and LSPs, and is explained in the following section.
3.5. LSAs and LSPsOSPF LSAs are, as you already know, the building blocks of OSPF link state databases. That is, an OSPF router's LS database is just a collection of all LSAs the router has either originated itself or has heard from other routers. LSAs are sent from one router to its adjacent neighbors in Update messages, and an Update can carry many LSAs. Figure 3.2 shows an example of LSAs in an OSPF link state database, and Figure 3.3 shows the complete contents of one of the LSAs in the database.
IS-IS LS databases consist of LSPs the local router has either originated or has heard from other routers. LSPs are in this sense the equivalent of OSPF LSAs. But a single OSPF router can generate several types of LSA, whereas an IS-IS router generates at most two LSPs: a single LSP for its L1 adjacencies and a single LSP for its L2 adjacencies.[3] If a router needs to communicate different types of information, the types are encoded in different TLVs within the single LSP. Figure 3.4 shows an example of an IS-IS LS database, and Figure 3.5 shows the complete contents of one of the LSPs in the database. The most fundamental types of LSAs and IS-IS TLVs, and why they are needed, are explained in Chapter 5.
Also, IS-IS has no Update message like OSPF. Instead, the LSP is itself a message. So, in this sense LSPs are the equivalent of OSPF Updates. You might also argue that the TLVs in LSPs are the actual equivalent of LSAs, in that just as there are different types of LSAs for carrying different kinds of information, there are also different types of TLVs. But this comparison is not as close: IS-IS LS databases are built from complete LSPs, not TLVs alone. The moral of the story is that a clear one-for-one comparison cannot be made between every aspect of OSPF and IS-IS. 3.6. Subnetwork Dependent and Independent FunctionsISO 10589[4] organized all IS-IS functions into one of two classes: subnetwork dependent functions and subnetwork independent functions. The functional organization might be a handy way of remembering whether the differences in data links can influence a particular routing functionfor troubleshooting, perhaps. But the organization certainly is not necessary for understanding IS-IS. Nevertheless, because it is a central part of the IS-IS documentation, I am obliged to present it. You are not obliged to read it. All of the functions listed and discussed briefly in this section are covered in more detail in subsequent chapters.
Although the functional organization is only found in the IS-IS documentation, most of the organization applies equally to OSPF. RFC 1195, which describes the extension of IS-IS for routing IP, defines a more comprehensive list of functions than ISO 10589, and also defines some IP-specific functions not defined in the original ISO document. The organization shown in the following two subsections therefore comes from both ISO 10589 and RFC 1195. 3.6.1. Subnetwork Dependent FunctionsSubnetwork functions are functions between two neighboring routers that can differ depending on the particular data link protocol connecting the routers, as follows:
Link demultiplexing concerns the fact that IS-IS is an ISO protocol, not an IP protocol. The type of link connecting two neighbors must have some facility for identifying IS-IS messages and IP packets, so that the receiving router can distinguish between the two and send traffic to the correct process. You have already encountered an IS-IS demultiplexing problem in Section 3.2, where AAL5MUX has no facility for distinguishing two protocols on the same virtual circuit. Although not much is said about link demultiplexing in this book, the more general classification of link types by OSPF and IS-IS is discussed in Chapter 4. Multiple IP addresses per interface applies to the fact that IS-IS permits multiple IP addresses to be assigned to a single interface. Or in the case of point-to-point links, there may be no IP address at all assigned. Routers must have a method for communicating the assigned addresses to its neighbors. This is also discussed in Chapter 4. LANs, designated routers, and pseudonodes refer to the function of representing broadcast networks and all routers connected to the network as a single node on the SPF tree to reduce flooding load and control adjacencies. The designated router processes for OSPF and IS-IS are discussed in Chapter 4. Maintaining router adjacencies is a subnetwork dependent function primarily for IS-IS, where a different type of Hello is sent on point-to-point links than the type of Hello sent on broadcast media. However, there are also some OSPF adjacency functions that can change for certain media types, such as demand circuits (Chapter 8). Adjacencies and their maintenance are covered in Chapter 4. Forwarding to incompatible routers deals, in RFC 1195, with the actions that must be taken in a dual IS-IS environment when an IP packet is forwarded to an OSI-only router or vice versa. Because this book deals only with IS-IS as it applies to IP, this function is not of interest to us. But this function can also apply to how OSPF and IS-IS deal with the situation when one router supports certain timer values or extensions that a neighbor does not support. These functions are dealt with primarily in Chapter 4, and briefly in Chapter 10. 3.6.2. Subnetwork Independent FunctionsSubnetwork independent functions are those functions that operate the same no matter what type of subnetwork they are operating over. ISO 10589 defines the following subnetwork independent functions:
All of these are the basic functions of any routing protocol, and do not need to be defined further. RFC 1195 adds more functions to the list, some of which do need to be defined:
Exchange of routing information is the function of including the necessary IP routing information in IS-IS messages. This information is covered in multiple chapters, wherever LSAs and LSPs are described. Hierarchical abbreviation of IP reachability information is the function of summarizing the reachability information in a lower-level area (L1 or OSPF nonbackbone) into a higherlevel area (L2 or OSPF backbone). Chapter 7 covers this topic. Addressing routers in IS-IS packets defines how routers are identified. Because IS-IS is an ISO protocol, NSAP addresses are used to identify the router. This function, if you eliminate the IS-IS reference in the name, also applies to OSPF, which uses a 32-bit IP address[5] as its router ID. The procedures for defining router IDs are discussed in Chapter 4.
External links defines how routing information learned from protocols external to the OSPF or IS-IS routing domain is distributed into the domain in a form understandable by the internal protocol. Chapter 5 covers this topic. Type of Service routing is the function of assigning metrics to routes, and is discussed in Chapter 5. IP-only operation only applies to IS-IS routers, and deals with TLVs defined in ISO 10589 for OSI routing that have no relevance to IP routing, and can therefore be omitted from IS-IS routers in IP-only mode. The OSI TLVs that have no relevance to IP are "End Systems Neighbors" and "Prefix Neighbors" TLVs. Again, because this book is only concerned with IP routing, the omission of these TLVs is not mentioned elsewhere. Encapsulation issues are dealt with in this chapter, in Section 3.2. Authentication of IS-IS and OSPF messages is covered in Chapter 9. Order of preference of routes deals with the procedures for selecting routes based on longest prefix matches, metrics, type of service values, and area origination. Chapters 5 and 6 cover this topic. Review Questions
|