Section 5.1. Flooding Components


5.1. Flooding Components

Recall from Chapter 2 that flooding is the mechanism by which the topological information originated by an OSPF or IS-IS router is received by all other routers in an area, so that the routers can add the information to their link state databases. Also recall from Chapter 2 that for a link state protocol to operate correctly, the link state databases of every router in an area must be identical. Therefore, flooding requires not just a transport mechanism but also reliability features. Given these requirements, both OSPF and IS-IS flooding use the following components:

  • A "container" packet or PDU for transporting information from one router to the next

  • Reliability features:

    Aging

    Sequencing

    Checksums

  • A means of acknowledging the receipt of flooded information

  • A set of rules governing what information a router can flood, when the information can be flooded, under what conditions a router accepts flooded information, and the scope of the flooding

5.1.1. OSPF Flooding

You already know that OSPF's basic unit of topological information comprising its link state database is an LSA. OSPF uses an Update packet (Figure 5.1) to send LSAs from one router to another during the flooding process. Whereas LSAs are flooded throughout an area, Update packets are exchanged only between directly connected routers. That is, their scope is the local link. If an LSA received in an Update packet must be forwarded to another router, it is put into a new Update packet for the next hop. This is in keeping with the fact that none of the five OSPF message types are forwarded beyond the local link.

Figure 5.1. The OSPF Update message format.


You can see from Figure 5.1 that the Update (OSPF message type 4) payload is one or more LSAs, preceded by a field specifying how many LSAs are contained in the packet. Any one of the following events causes a router to send an LSA to one or more neighbors:

  • A new, previously unknown LSA is received from a neighbor.

  • A more recent copy (determined by the LSA age and/or sequence number) of a known LSA is received from a neighbor.

  • The refresh timer associated with a locally originated LSA expires.

  • An adjacency or link changes state.

  • The metric associated with a link or reachable address changes.

  • The router's RID changes.

  • The router is elected or removed as DR.

  • The AID associated with one of the router's interfaces changes.

  • A Link State Request message is received from a neighbor asking for a copy of a known LSA.

The first three events are a part of routine maintenance of the link state database, and are discussed in this section. The fourth event is the normal routing protocol procedure of communicating network information. The last event, sending an LSA in response to a Link State Request message, is part of the database synchronization process and is discussed in Chapter 6.

The manner in which the Update is sent depends on the type of network link over which it is transmitted:

  • If the OSPF network type is a point-to-point, point-to-multipoint, or virtual link, the Update packet is unicast to the neighbor.

  • If the OSPF network type is broadcast, and the OSPF interface state is DROther or Backup, the Update is sent to the multicast destination address AllDRouters (224.0.0.6). If the OSPF interface state is DR, the Update is sent to the multicast destination address AllSPFRouters (224.0.0.5). Using these multicast addresses enforces the designated router mechanism by ensuring that only the DR and BDR receive all LSAs flooded on the link by a non-DR router, and that only the DR refloods the LSA to the other routers on the link.

  • If the network type is NBMA, the designated router mechanism is still observed, but the nonbroadcast nature of the network means that non-DR routers must uni-cast their Updates to the DR. The DR then unicasts its own Updates to all non-DR routers to complete the flooding process on the NBMA network.

5.1.1.1. Acknowledgment of LSAs

Whenever an Update message is sent, the LSAs it contains must be acknowledged by the receiving neighbors to ensure reliable flooding. So when a router floods an LSA on a link, it adds the LSA to a retransmit list and sets a retransmit timer. Every time the retransmit timer expires, the router retransmits the LSA. When the LSA is acknowledged, it is removed from the retransmit list. The retransmit timer is configurable to between 1 and 65,535 seconds, with a typical default of 5 seconds. This is a long enough interval that on normal networks an LSA should almost always be acknowledged and removed from the retransmit list before the retransmit timer expires. A good OSPF implementation might also include a mechanism for "windowing" the retransmission rate so as not to overwhelm a slow neighbor, and a mechanism for handling a case where a neighbor never acknowledges an LSA, such as removing the LSA from the retransmit list and logging a flooding error message.

If an LSA is flooded on a broadcast link, and all the neighbors except one acknowledge the LSA, you do not want to retransmit the LSA to every neighbor. Rather, you want to retransmit only to the neighbor that did not acknowledge its receipt. Therefore Update messages carrying retransmitted LSAs are always unicast, regardless of the network type.

There are two things to know about the way OSPF acknowledges the receipt of an LSA:

  • The acknowledgment can be explicit or implicit.

  • The acknowledgment can be delayed or direct.

An explicit acknowledgment of an LSA is accomplished by sending an OSPF Acknowledgment message to the neighbor that sent the Update. The Acknowledgment message, shown in Figure 5.2, carries the headers of one or more LSAs. The LSA header contains all the information needed to acknowledge a specific LSA and a specific instance of that LSA.

Figure 5.2. The OSPF Acknowledgment message format.


An implicit acknowledgment occurs when a router that sent an LSA to a neighbor receives an Update from that same neighbor, containing the same instance of the same LSA. In this situation the router knows the neighbor has a copy of the LSA, and removes the LSA from its retransmit list just as it would if an explicit acknowledgment had been made. Implicit acknowledgments are most likely to occur during the database synchronization process when Update packets are being sent between neighbors simultaneously, or during flooding where two neighbors each receive a copy of the LSA from other neighbors and then send Updates to each other more or less simultaneously.

A delayed acknowledgment means that an OSPF router waits some specified amount of time before sending an Acknowledgment message. There are several benefits to delaying an acknowledgment:

  • It allows for more LSAs to be included in a single acknowledgment, reducing the amount of acknowledgment traffic on a link and protocol message processing on the routers.

  • On broadcast networks, a single Acknowledge message can acknowledge LSAs to multiple attached routers by multicasting the message.

  • On multi-access networks where several routers might be trying to send acknowledgments at the same time, delaying helps randomize the transmission of the messages.

If an acknowledgment is delayed too long, however, the neighbor's retransmit timer will expire and retransmits will occur unnecessarily. Therefore, the acknowledgment delay should be less than the typical retransmit period.

A direct acknowledgment means an LSA is acknowledged immediately upon receipt, and the Acknowledgment packet is unicast directly to the sender. Delayed acknowledgments are preferred, but there are two cases in which a direct acknowledgment must be sent as soon as an LSA is received:

  • A duplicate LSA is received from a neighbor. Although there might be other causes for this happening, it must be assumed that the neighbor retransmitted the LSA because its retransmission timer expired.

  • A router somewhere in the area wants to flush a self-originated LSA from the link state databases. It sends the LSA with its Age field set to the maximum value (3,600 seconds). Routers receiving such an "aged-out" LSA acknowledge it directly.

5.1.1.2. The LSA Header Format

An Acknowledgment message carries just the LSA header, rather than the entire LSA, because everything needed to completely identify an LSA is in the header. All OSPF LSAs use the same header format, shown in Figure 5.3. The Type, Link State ID, and Advertising Router fields together identify a specific LSA. The Age, Sequence Number, and Checksum fields together identify a specific instance of that LSA, so that when multiple instances exist in a network the most recent can be determined. The Length field specifies the length, including the header length, of the LSA.

Figure 5.3. The OSPF LSA header format.


  • Options is a set of flags indicating optional capabilities of the originating router. This is the same Options field carried in OSPF Hello messages, and is described in more detail in Section 6.1.2.

  • Type specifies the type of LSA. Table 5.1 shows the most common types of OSPFv2 LSAs along with the associated type numbers. You are already familiar with the functions of the Router and Network LSAs. LSA types 1 through 5 in Table 5.1 are the most essential to the operation of OSPFv2, and they are described in detail later in this chapter. Other types, such as NSSA External, Group Membership, and Opaque LSAs are used by OSPF to support optional capabilities and are detailed in the chapters relevant to those capabilities. There is also a separate set of LSAs for the IPv6-capable OSPFv3, discussed in Chapter 13.

    Table 5.1. Common OSPFv2 LSA Types

    Type Number

    LSA

    1

    Router LSA

    2

    Network LSA

    3

    Network Summary LSA

    4

    ASBR Summary LSA

    5

    AS External LSA

    6

    Group Membership LSA

    7

    NSSA External LSA

    8

    External Attributes LSA

    9

    Opaque LSA (link-local scope)

    10

    Opaque LSA (area-local scope)

    11

    Opaque LSA (AS scope)


  • The Link State ID field of the LSA header is a 32-bit field that carries some IP address by which the LSA is identified. The derivation of this IP address varies from one LSA type to another, as shown in Table 5.2. More details about the Link State ID, as it relates to the individual LSA type, are given later in this chapter and other chapters where specific LSAs are detailed.

    Table 5.2. Link State IDs for Individual OSPFv2 LSA Types

    Type Number

    LSA

    Link State ID

    1

    Router LSA

    Originating router's RID

    2

    Network LSA

    IP interface address of the network's DR

    3

    Network Summary LSA

    Destination network's IP address

    4

    ASBR Summary LSA

    RID of the described AS boundary router

    5

    AS-External LSA

    Destination network's IP address

    6

    Group Membership LSA

    Destination multicast group address

    7

    NSSA External LSA

    Destination network's IP address

    8

    External Attributes LSA

    Encoded BGP path attributes

    9

    Opaque LSA (link-local scope)

    8-bit opaque type + 24-bit opaque ID (see Chapter 10 for details)

    10

    Opaque LSA (area-local scope)

    8-bit opaque type + 24-bit Opaque ID (see Chapter 10 for details)

    11

    Opaque LSA (AS scope)

    8-bit opaque type + 24-bit Opaque ID (see Chapter 10 for details)


  • Advertising Router is always the RID of the router that originated the LSA.

  • Sequence Number is a signed 32-bit integer. OSPF uses a linear sequence number. When a router first originates an LSA, it sets the value of the Sequence Number field to 0x80000001, which is the OSPF constant InitialSequenceNumber. The router then increments the sequence number for each subsequent instance of the LSA it originates, up to a maximum value of 0x7fffffff. When a new instance of an LSA is to be originated, and the existing LSA has this maximum sequence number, the existing LSA must be flushed from the databases through premature aging. The new LSA can be flooded as soon as all adjacent neighbors have acknowledged the aged-out LSA.

    There is a situation in which the sequence number needs to be incremented by more than 1. After an OSPF router restarts, it might find that there are LSAs still in the area databases that it originated before the restart. If the router wants to keep a previously originated LSA in the databases, it sets the sequence number of the LSA to one more than the existing number and refloods the LSA.

  • Checksum is a 16-bit IP-style checksum[1] calculated over the entire LSA except for the Age field, to ensure that the LSA is not corrupted during flooding. The age is not included, because if it were, the checksum would have to be recalculated every time the age changed. In addition to being checked by every receiving router before the LSA is placed into the link state database, the checksum is revalidated every five minutes as the LSA resides in the database.

    [1] This is the same checksum algorithm used throughout TCP/IP.

  • Age indicates the age of the LSA in seconds. It is an unsigned 16-bit integer, and can range from 0 to 3,600 seconds (1 hour). Every OSPF interface data structure has a parameter called InfTransDelay, which is configurable in most OSPF implementations but typically defaults to 1 second. When a router originates an LSA, it sets the value of the Age field to 0. Every time a router floods the LSA, it increments the age by the InfTransDelay value of the interface out which the LSA is flooded. The age is also incremented as the LSA resides in the link state database. The upper limit of 3,600, which is an OSPF constant called MaxAge, signifies that the LSA is expired and is no longer valid. What this tells you is that the router which originated the LSA must refresh itthat is, flood a new copy of the LSAon some periodic basis less than 3,600 seconds. For OSPF, this refresh period (LSRefreshTime) is half of the MaxAge, or 1,800 seconds (30 minutes).

    The age is also used when a router wants to flush a self-originated LSA from the area databases. It does this by prematurely "aging out" the LSAthat is, setting the age of the LSA to MaxAge and then flooding the LSA. Receiving routers, seeing the MaxAge value, do a direct acknowledgment and immediately reflood the LSA.

5.1.1.3. Multiple Copies of an LSA

As a single instance of an LSA is flooded throughout an area, a router might receive multiple copies of the LSA with different age values. Figure 5.4 shows how this might happen. After an LSA is received by R1, it is replicated and flooded to two neighbors. The two copies of the LSA both reach R5; because there are a different number of router hops along the two paths, however, the age is incremented differently. As a result, the two copies of the LSA have the same sequence number but different ages. Assuming the router has already accepted one of the copies, it would be inefficient for it to assume incorrectly that the second copy is newer. To remedy such a situation, OSPF defines a constant called MaxAgeDiff, which is 15 minutes. If two copies of an LSA have ages that differ by less than MaxAgeDiff, but are otherwise identical, they are assumed to be the same instance.

Figure 5.4. A router can receive multiple copies of the same LSA instance but with different ages.


Figure 5.5 shows a summary display of an OSPF link state database. As you can see, all the LSAs in the database are fully described by displaying the values of the header fields.

Figure 5.5. An LSA can be completely identified by the contents of its header.

[View full width]

jeff@Juniper6> 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 0x80001802 1375 0x2 0xadd4 36 Router *192.168.254.6 192.168.254.6 0x800000c1 2774 0x2 0x1205 84 Router 192.168.254.7 192.168.254.7 0x800014a3 173 0x2 0xee6d 48 Network *192.168.3.1 192.168.254.6 0x8000000c 2774 0x2 0x8c0b 32 Network 192.168.4.2 192.168.254.7 0x800000d9 80 0x2 0xedd6 32 Summary 192.168.1.0 192.168.254.5 0x800001c0 1729 0x2 0x13b0 28 Summary 192.168.2.0 192.168.254.5 0x800001bf 1675 0x2 0xab9 28 Summary 192.168.254.5 192.168.254.5 0x800017e0 175 0x2 0x6a21 28 Summary 192.168.254.7 192.168.254.7 0x80001481 980 0x2 0x12d7 28 OSPF external link state database Type ID Adv Rtr Seq Age Opt Cksum Len Extern 192.168.100.0 192.168.254.7 0x80001480 773 0x2 0x768b 36 Extern 192.168.200.0 192.168.254.7 0x80001480 680 0x2 0x2677 36


When multiple LSAs are received with identical Type, Link State ID, and Advertising Router values, the Age, Sequence Number, and Checksum fields of the LSAs are compared to determine which of the LSAs is the most recentand hence, the one that should be accepted. The steps for comparing these three fields is as follows:

1.

The LSA with the newer sequence number is more recent.

2.

If the sequence numbers are the same, but the checksums differ, the LSA with the larger checksum is more recent.

3.

If the sequence numbers and checksums are the same, and only one LSA has an age of MaxAge, that LSA is more recent.

4.

If the sequence numbers and checksums are the same and neither age is MaxAge, and the ages differ by more than MaxAgeDiff, the LSA with the lower age is more recent.

5.

If the sequence numbers and checksums are the same and neither age is MaxAge, and the ages differ by less than MaxAgeDiff, the LSAs are considered identical.

5.1.1.4. Limitations on OSPF Flooding

When an LSA is received, its checksum indicates that it is valid, and the LSA is either new or a more recent instance of a known LSA, the router must determine which interfaces the LSA must be flooded out. Essentially, the LSA is flooded out the same interface from which it was received only if the connected network is broadcast or NBMA and the router is the DR. Otherwise, the LSA is not sent on the same interface from which it was received. Another limitation on flooding is the area to which the interface belongs. If the scope of the LSA type is limited to a single area, it is not flooded out interfaces belonging to a different area from the area of the interface from which it was received. With these rules, the flooding of the LSA will, even in complex topologies, end when the LSA has reached all routers within the flooding scope.

5.1.2. IS-IS Flooding

A source of confusion for people trying to learn IS-IS is in trying to correlate IS-IS LSPs to an OSPF entity. Does the LSP serve an equivalent function to an OPSF Update message? Like Updates, it is the "package" by which information is sent from one router to another. But unlike Updates, LSPs are not limited in scope to a single link. They are flooded intact throughout an area. And also unlike Updates, the information contained in a single LSP pertains only to the router that originated it.

Perhaps we can say, then, that an LSP is more like an OSPF LSA. Just as LSAs are the basic data structures that the OSPF link state database is built from, LSPs are the basic data structures of the IS-IS link state database. But you saw in the previous section, and will see in greater detail later in this chapter, that there are a number of different LSA types providing a number of different kinds of information. There is, in contrast, only a single LSP for each adjacency type (L1 or L2). The kinds of information carried in different LSAs are carried in a single LSP, by different TLVs.

So, then, can we say that the real parallel is between IS-IS TLVs and OSPF LSAs? We cannot, because LSAs are more self-contained than TLVs. They have their own ages, checksums, and sequence numbers, whereas TLVs do not. LSAs also provide a complete set of functional information (about, for instance, a router, a pseudonode, or an external destination), whereas the information in a TLV (such as a list of addresses or neighbors, or authentication information) is intended to be used in conjunction with information in other TLVs.

The bottom line is that you cannot always draw a direct correlation between OSPF and IS-IS. The most you can say here is that LSPs, like OSPF LSAs, are the basic data units produced and flooded by individual routers for building link state databases. Because IS-IS runs over the data link level rather than the network level, LSPs are themselves packets and do not require a separate means of transport the way LSAs require Update packets.

Any of the following events causes an IS-IS router to generate and flood a new LSP:

  • Router startup.

  • The periodic refresh timer expires.

  • A new adjacency is established.

  • An adjacency or link changes state.

  • The metric associated with a link or reachable address changes.

  • The router's SysID changes.

  • The router is elected or superseded as DIS.

  • An area address associated with the router is added or removed.

  • The overload status of the database changes. (Overloading is discussed in Chapter 8)

5.1.2.1. The LSP Format

A router generates separate LSPs for L1 and L2 adjacencies. On broadcast networks, L1 LSPs are sent to the multicast address AllL1IS (0180.c200.0014), and L2 LSPs are sent to multicast address AllL2IS (0180.c200.0015). Figure 5.6 shows the format of the IS-IS LSP.

Figure 5.6. The IS-IS Link State PDU.


  • A Type value of 18 (0x12) in the header indicates an L1 LSP, and a value of 20 (0x14) indicates and L2 LSP.

  • PDU Length specifies the length of the entire LSP, including the header. This value helps in determining how many TLVs are included in the LSP.

  • Remaining Lifetime is a 16-bit unsigned integer representing the number of seconds remaining before the LSP is "aged out." As such it serves the same purpose as the Age field in OSPF LSAs, but with one very significant difference: As the two names imply, age increasesstarts at 0 and increments upwardwhereas remaining lifetime decreasesstarts at some value and decrements downward. The reason this is significant is that OSPF defines an architectural constant of MaxAge, which is 3,600 seconds, and a starting value of 1, which means the age of its LSAs is always constrained between these two constants. The IS-IS age has only one constant: 0, indicating an expired LSP. IS-IS also defines a MaxAge, which is the starting value of the Remaining Lifetime field, but the IS-IS MaxAge is configurable up to the 16-bit maximum of 65,535 seconds (18.2 hours), providing much more flexibility in managing the reflooding of LSPs and controlling the aging of its LSPs in the databases of other routers.

    The typical default MaxAge is 1,200 seconds (20 minutes). As the LSP is flooded, the remaining lifetime is decremented at each router's outgoing interface, and it is also decremented once each second as the LSP resides in the link state database. So, like OSPF LSAs, the LSP must be refreshed by the originating router at some interval reliably less than the configured or default MaxAge. The refresh interval might be configurable, as it is with Cisco's IS-IS implementation, or it might be automatically determined from the MaxAge. Juniper Networks' IS-IS implementation, for example, automatically sets the refresh timer 317 seconds less than the MaxAge. IS-IS can flush an LSP from all link state databases, just as OSPF can, by prematurely aging out the LSP and reflooding it. The difference, of course, is that setting the Remaining Lifetime to 0 ages out the LSP.

  • Checksum is a 16-bit Fletcher checksum[2] for detecting corruption of the LSP when it is received. The checksum is also rechecked as the LSP resides in the database, typically every 30 seconds. The checksum is calculated over all of the LSP after the Remaining Lifetime field. That field is not included in the calculation because it does not remain constant.

    [2] Defined in ISO 8473.

  • Sequence Number is a 32-bit integer. Unlike the OSPF sequence number, it is unsigned, meaning it starts at 1 and is incremented up to a maximum of SequenceModulus 1(232 1). Although this maximum sequence number should never be reached in normal networks, it is important to understand what happens if and when it is. An IS-IS router that must refresh an LSP whose existing sequence number is SequenceModulus 1 must wait MaxAge + 60 seconds, to ensure that the existing LSP is aged out of all databases. A new copy of the LSP can then be flooded with a sequence number of 1. This means that for the interval between the time MaxAge is reached and the time the flooding of the new LSP is completed, the originating router is considered unreachable.

Given the rule that sequence numbers must start at 1, the value of 0 becomes handy. Because it is always less than any normally incremented sequence number, a router that wants to receive the latest copy of a known LSP from a neighbor can set the sequence number of the LSP to 0 and flood it. The neighbor, having a copy of the LSP with a higher (and therefore newer) sequence number will send this LSP to the originator.

As with OSPF, IS-IS can increase an LSP's sequence number more than 1 in some situations. The most common case is a restarted router that discovers that an LSP it generated before the restart still exists in other routers' databases. The router will increment the LSP's sequence number one beyond the existing sequence number and reflood the LSP.

There is the remote possibility that a restarted router can flood an LSP while a previously generated LSP still exists in other routers' databases, and that the two LSPs contain different information but the same sequence numbers. In such a case, the routers receiving the flooded LSP and noting the differing checksums will install the new LSP in their databases but with a remaining lifetime value of 0 (expired) and reflood the LSP.

IS-IS uses the following procedure when comparing two copies of the same LSP to determine which is more recent:

1.

If one of the LSPs has a remaining lifetime of 0, it is the most recent.

2.

If the remaining lifetimes of both LSPs are non-zero, the PDU with the larger sequence number is the most recent.

3.

If the remaining lifetimes of both LSPs are non-zero and the sequence numbers are equal, and no checksum error has occurred, the LSPs are considered identical.

The LSP ID consists of three fields which together identify a particular LSP:

  • Source ID is the SysID of the originating router. ISO 10589 allows for much flexibility in the kind of address that can be included in this and other address-based fields, based on the value of the ID Length field of the header. An ID Length value of between 1 and 8 specifies the Source ID Length in octets. An ID Length value of 255 specifies that there is no Source ID field (zero length). And an ID Length of 0 specifies a Source ID Length of 6 octets. For IP routing the LSP always uses a 6-byte SysID as the Source ID, so the ID Length value is always 0, as you can see in Figure 5.6.

  • The Pseudonode ID is non-zero only when the LSP is originated by a DIS to represent a pseudonode. When this is the case, the LSP corresponds loosely to an OSPF Network LSA. This 1-byte field is the same value as the Local Circuit ID assigned to the broadcast link by the DIS originating the LSP.

  • The LSP Number is non-zero when a router must break its LSP into multiple parts. The maximum size of a single LSP, as specified by ISO 10589, is 1,492 bytes.[3] So if a router cannot fit all of its TLVs into this maximum length, it produces a multipart LSP: The first part will have an LSP number of 0x00, the second 0x01, the third 0x02, and so on. It is important to understand that even though each of these parts has its own sequence number, remaining lifetime, and checksum (as it must, because there is no guarantee that the parts will all follow the same paths during flooding), and is marked separately in LS database displays, the information the parts contain makes up a single LSP for the purpose of the SPF calculation. If parts of an LSP are in the database but there is no LSP number 0x00 for the LSP, the other parts are ignored by the SPF calculation.

    [3] More accurately, 1492 bytes is the LSP size all IS-IS routers must be capable of receiving.

Figure 5.7 shows five LSP IDs from an IS-IS LS database, along with their associated sequence numbers, checksums, and remaining lifetimes. The structure of the LSP ID is the Source ID followed by a period, then the Pseudonode ID followed by a dash, and then the LSP number. In the display the Source ID (SysID) is represented as the router's host name, thanks to the wonders of Dynamic Hostname Exchange.

Figure 5.7. An LSP can be completely identified by the contents of its header.

[View full width]

jeff@Juniper6> show isis database IS-IS level 1 link-state database: 0 LSPs IS-IS level 2 link-state database: LSP ID Sequence Checksum Lifetime Attributes Juniper5.00-00 0x3743 0x5ca6 769 L1 L2 Juniper5.04-00 0x3732 0xfd3d 769 L1 L2 Juniper6.00-00 0x380b 0x8526 984 L1 L2 Juniper7.00-00 0x37f4 0xee08 517 L1 L2 Juniper7.02-00 0x37cd 0x2576 1127 L1 L2 Juniper7.03-00 0x37d5 0xe84 520 L1 L2 6 LSPs


  • P in the LSP format of Figure 5.6 is the Partition Repair bit. When set, the bit indicates support for the partition repair function as described in ISO 10589. No commonly used commercial IS-IS implementation has ever supported this function, so the bit should normally be cleared.

  • ATT, the 4 bits following the P bit, are used in L1 areas to identify routers with L2 adjacencies. Section 7.4.3 describes these bits and their function.

  • OL, the single bit following the 4 ATT bits, is the Overload bit.[4] This bit signals an overload condition in the LS database, and Chapter 8 describes its use.

    [4] The "official" name of this bit is LSPDBOL, for Link State PDU DataBase OverLoad, but that seems like a big mouthful for a single bit. OL is sufficient for our purposes.

  • IS Type, the 2 bits following the OL bit, specifies whether the originating router is L1 (IS type = 1) or L2 (IS type = 3). The values 0 and 2 are not used in this field.

An internal flag, called the Send Routing Message (SRM) flag, is used in the transmission of LSPs. For each LSP in its LS database, IS-IS creates a set of SRMsone per link. That is, if a router has 20 LSPs in its LS database and 5 interfaces, 5 SRMs will be associated with each of the LSPs for a total of 100 SRMs. When IS-IS determines that an LSP needs to be sent on a particular link, it sets the LSP's SRM flag for that interface. At a set interval, known as the minimum LSP transmission interval, the LS database is scanned. On point-to-point links, all LSPs that have the SRM for that link set are sent. On broadcast links, the behavior is more interesting: The LS database is scanned once every minimum LSP transmission interval, and out of the set of LSPs with their SRMs set for that interface, one[5] is randomly chosen and sent. The reason for this behavior on broadcast networks has to do with the way IS-IS LS databases are synchronized on such networks, and so is explained in detail in Section 6.2.2. But in a nutshell, this randomization reduces the chance of multiple routers sending the same LSP to the DIS at the same time.

[5] Some IS-IS implementations might randomly choose more than one LSP for transmission at each scan, but it must be a small number. ISO 10589 recommends no more than 10.

ISO 10589 recommends a minimum LSP transmission interval value of 5 seconds. This interval, like many IS-IS timers, has a random jitter of up to 25 percent added to prevent timer synchronization.

5.1.2.2. Acknowledgment of LSPs

The receipt of an LSP is acknowledged between adjacent neighbors to ensure reliable flooding. But there is no distinct acknowledgment message as there is with OSPF. Instead, IS-IS uses two PDUs called the Partial Sequence Number PDU (PSNP) and Complete Sequence Number PDU (CSNP). These PDUs, which are normally used for LS database synchronization, are detailed in Section 6.2.1. But for the purposes of discussing LSP acknowledgment, suffice it to say that both PDUs (collectively called Sequence Number PDUs) carry descriptions of one or more LSPs by listing their Remaining Lifetime, LSP ID, Sequence Number, and Checksum fields. The difference between the two is that CSNPs describe all LSPs in the originator's LS database, whereas PSNPs carry only a subset of the LSPs in the originator's LS database.

Explicit and implicit acknowledgments are used by IS-IS, but differently than the way they are used by OSPF. The receipt of an LSP on a point-to-point link is always explicitly acknowledged by sending a PSNP to the sender identifying the LSP. More than one LSP can be acknowledged in a single PSNP. If the receiver has a newer instance of the LSP in its LS database than the one it received, it sends a copy of the newer LSP back to the neighbor rather than sending a PSNP acknowledgment.

When an LSP is sent on a point-to-point link, the LSP's SRM for that link is not cleared until an acknowledgment is received, either in the form of a PSNP or a newer or same-aged LSP. This creates a behavior similar to the OSPF retransmission list. If the LSP is not acknowledged, it is sent again at the next minimum LSP transmission interval.

Receipt of an LSP on a broadcast link is always implicitly acknowledged. The mechanism for acknowledging LSPs is a part of the LS database synchronization and maintenance procedures, and so is described in Section 6.2.4. But in brief, the mechanism works as follows: The DIS periodically (every 10 seconds) multicasts a CSNP on the broadcast link, which describes the LSPs in its LS database. When a router sends an LSP on the broadcast link, the LSP should be included in subsequent CSNPs. If it is not, the originating router will resend the LSP.

Unlike point-to-point links, an LSP's SRM for a broadcast link is cleared as soon as the LSP is sent. This is because of the implicit acknowledgment via the CSNP. If the new instance of the LSP is not indicated in subsequent CSNPs, the sending router resets the SRM and retransmits the LSP at the appropriate time.




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