Section 3.4. Message Types


3.4. Message Types

OSPF uses five message types:

  • Hello

  • Database Description (DD)

  • Link State Request

  • Link State Acknowledgement

  • Link State Update

IS-IS uses four basic message types:

  • IS-IS Hello (IIH)

  • Complete Sequence Number PDU (CSNP)

  • Partial Sequence Number PDU (PSNP)

  • Link State PDU (LSP)

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:

  • Level 1 LAN IIH

  • Level 2 LAN IIH

  • Point-to-Point IIH

  • Level 1 CSNP

  • Level 2 CSNP

  • Level 1 PSNP

  • Level 2 PSNP

  • Level 1 LSP

  • Level 2 LSP

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.

Table 3.2. A Comparison of OSPF and IS-IS Messages by Function

OSPF Message

IS-IS Message

Function

Hello

Hello

Neighbor discovery Adjacency negotiation Adjacency keepalive

Database Description

Complete Sequence Number PDU (CSNP)

Database synchronization

Link State Request

Partial Sequence Number PDU (PSNP)

Database synchronization

Link State Acknowledgement

No equivalent message, although PSNPs are used as ACKs in some cases

Database synchronization

Link State Update

Link State PDU

Database synchronization and flooding


3.5. LSAs and LSPs

OSPF 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.

Figure 3.2. This display shows a summary of all LSAs in an OSPF LS database.

[View full width]

jeff@Juniper7> show ospf database OSPF link state database, area 0.0.0.0 Type ID Adv Rtr Seq Age Opt Cksum Len Router 192.168.254.5 192.168.254.5 0x80000007 809 0x2 0xf59e 36 Router 192.168.254.6 192.168.254.6 0x80000006 881 0x2 0xfe53 72 Router *192.168.254.7 192.168.254.7 0x80000005 1280 0x2 0xeba3 36 Network 192.168.3.2 192.168.254.5 0x80000003 1034 0x2 0x9e02 32 Network 192.168.4.1 192.168.254.6 0x80000002 886 0x2 0xb1ec 32 Summary 192.168.1.0 192.168.254.5 0x80000005 1634 0x2 0x8df2 28 Summary 192.168.2.0 192.168.254.5 0x80000005 1409 0x2 0x82fc 28 Summary 192.168.254.2 192.168.254.5 0x80000004 1334 0x2 0x91ef 28 Summary 192.168.254.4 192.168.254.5 0x80000003 1709 0x2 0x7f01 28 Summary 192.168.254.5 192.168.254.5 0x80000004 134 0x2 0x6916 28 Summary *192.168.254.7 192.168.254.7 0x80000003 1788 0x2 0x4b31 28 OSPF link state database, area 0.0.0.10 Type ID Adv Rtr Seq Age Opt Cksum Len Router *192.168.254.7 192.168.254.7 0x80000007 1188 0x2 0x7388 36 Summary *172.16.1.0 192.168.254.7 0x80000004 980 0x2 0x140e 28 Summary *192.168.1.0 192.168.254.7 0x80000004 888 0x2 0x97e5 28 Summary *192.168.2.0 192.168.254.7 0x80000004 680 0x2 0x8cef 28 Summary *192.168.3.0 192.168.254.7 0x80000004 588 0x2 0x7705 28 Summary *192.168.4.0 192.168.254.7 0x80000004 380 0x2 0x621a 28 Summary *192.168.254.2 192.168.254.7 0x80000004 288 0x2 0x99e3 28 Summary *192.168.254.4 192.168.254.7 0x80000004 80 0x2 0x85f5 28 Summary *192.168.254.5 192.168.254.7 0x80000003 2088 0x2 0x7309 28 Summary *192.168.254.6 192.168.254.7 0x80000003 1880 0x2 0x5f1d 28 OSPF external link state database Type ID Adv Rtr Seq Age Opt Cksum Len Extern *192.168.100.0 192.168.254.7 0x80000002 1580 0x2 0xafe4 36 Extern *192.168.200.0 192.168.254.7 0x80000002 1488 0x2 0x5fd0 36


Figure 3.3. The complete contents of the first LSA in the database of Figure 3.2.

[View full width]

jeff@Juniper7> show ospf database router lsa-id 192.168.254.5 extensive OSPF link state database, area 0.0.0.0 Type ID Adv Rtr Seq Age Opt Cksum Len Router 192.168.254.5 192.168.254.5 0x80000007 1264 0x2 0xf59e 36 bits 0x1, link count 1 id 192.168.3.2, data 192.168.3.2, type Transit (2) TOS count 0, TOS 0 metric 1 Aging timer 00:38:56 Installed 00:21:00 ago, expires in 00:38:56, sent 12w1d 10:01:09 ago


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.

[3] This description is admittedly simplistic. IS-IS fragments large LSPs, and during flooding the fragments are treated as separate LSPs. But the fragments are reassembled by receiving IS-IS processes and are again treated as a single LSP. LSP fragmentation is discussed in detail in Chapter 8.

Figure 3.4. This display shows a summary of all the LSPs in an IS-IS LS database.

[View full width]

jeff@Juniper7> show isis database IS-IS level 1 link-state database: LSP ID Sequence Checksum Lifetime Attributes Juniper7.00-00 0xa 0x84c1 1056 L1 L2 Attached 1 LSPs IS-IS level 2 link-state database: LSP ID Sequence Checksum Lifetime Attributes Juniper5.00-00 0x8 0xaec6 652 L1 L2 Juniper5.04-00 0x7 0xf9a3 737 L1 L2 Juniper6.00-00 0xb 0xd8e8 866 L1 L2 Juniper7.00-00 0xa 0x21d6 1193 L1 L2 Juniper7.02-00 0x7 0x5841 440 L1 L2 5 LSPs


Figure 3.5. The complete contents of one of the LSPs in the database.

[View full width]

jeff@Juniper7> show isis database Juniper5.00-00 extensive IS-IS level 1 link-state database: IS-IS level 2 link-state database: Juniper5.00-00 Sequence: 0xa, Checksum: 0xaac8, Lifetime: 842 secs IS neighbor: Juniper5.04 Metric: 10 IP prefix: 192.168.254.5/32 Metric: 0 Internal IP prefix: 192.168.3.0/24 Metric: 10 Internal IP prefix: 192.168.2.0/24 Metric: 10 Internal IP prefix: 192.168.1.0/24 Metric: 10 Internal Header: LSP id: Juniper5.00-00, Length: 177 bytes Allocated length: 177 bytes, Router ID: 192 .168.254.5 Remaining lifetime: 842 secs, Level: 2 ,Interface: 3 Estimated free bytes: 0, Actual free bytes: 0 Aging timer expires in: 842 secs Protocols: IP Packet: LSP id: Juniper5.00-00, Length: 177 bytes, Lifetime : 1196 secs Checksum: 0xaac8, Sequence: 0xa, Attributes: 0x3 <L1 L2> NLPID: 0x83, Fixed length: 27 bytes, Version: 1, Sysid length: 0 bytes Packet type: 20, Packet version: 1, Max area: 0 TLVs: Area address: 47.0002 (3) Speaks: IP Speaks: IPv6 IP router id: 192.168.254.5 IP address: 192.168.254.5 Hostname: Juniper5 IP prefix: 192.168.1.0/24, Internal, Metric: default 10 IP prefix: 192.168.2.0/24, Internal, Metric: default 10 IP prefix: 192.168.3.0/24, Internal, Metric: default 10 IP prefix: 192.168.254.5/32, Internal, Metric: default 0 IP prefix: 192.168.1.0/24 metric 10 up IP prefix: 192.168.2.0/24 metric 10 up IP prefix: 192.168.3.0/24 metric 10 up IP prefix: 192.168.254.5/32 metric 0 up IS neighbor: Juniper5.04, Internal, Metric: default 10 IS neighbor: Juniper5.04, Metric: default 10 IP address: 192.168.3.2 No queued transmissions


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 Functions

ISO 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.

[4] The official designation is ISO/IEC 10589 (International Organization for Standardization/ International Electrotechnical Commission standard 10589).

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 Functions

Subnetwork functions are functions between two neighboring routers that can differ depending on the particular data link protocol connecting the routers, as follows:

  • Link demultiplexing

  • Multiple IP addresses per interface

  • LANs, designated routers, and pseudonodes

  • Maintaining router adjacencies

  • Forwarding to incompatible routers

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 Functions

Subnetwork 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:

  • Addresses

  • The decision process

  • The update process

  • The forwarding process

  • Routing parameters

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

  • Hierarchical abbreviation of IP reachability information

  • Addressing routers in IS-IS packets

  • External links

  • Type of service routing

  • IP-only operation

  • Encapsulation

  • Authentication

  • Order of preference of routes/ Dijkstra computation

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.

[5] Although the 32-bit OSPF RID does not actually have to be an IP address (it can be manually specified as any dotted-decimal 32-bit number), it almost always is an IP address configured somewhere on the router.

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

1.

What is OSPF's IP protocol number?

2.

What is the fundamental difference between the way OSPF messages are encapsulated and the way IS-IS messages are encapsulated?

3.

What is the fundamental difference between the source and destination addresses of an encapsulated OSPF message and the source and destination addresses of an encapsulated IS-IS message?

4.

What are the five OSPF message types?

5.

What OSPF message types are used for database synchronization?

6.

What OSPF message type is used for flooding?

7.

What are the four basic IS-IS message types? How are these four types divided into nine subtypes?

8.

What IS-IS message types are used for database synchronization?

9.

What IS-IS message type is used for flooding?

10.

What is the difference between a subnetwork dependent function and a subnetwork independent function?




OSPF and IS-IS(c) Choosing an IGP for Large-Scale Networks
OSPF and IS-IS: Choosing an IGP for Large-Scale Networks: Choosing an IGP for Large-Scale Networks
ISBN: 0321168798
EAN: 2147483647
Year: 2006
Pages: 111
Authors: Jeff Doyle

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net