Checks on HELLOs for OSPF/IS-IS Adjacency Formation ..

The HELLO protocol is responsible for formation of adjacencies. Forming adjacencies is an integral part of link state routing protocols as all protocol packets other than hellos are flooded only over these adjacencies. The rules for formation of such adjacencies however differ between IS-IS, OSPF v2 and OSPF v3.

IS-IS

Besides the basic checks to verify the integrity of the packet, IS-IS has a few checks to verify before formation of adjacencies when receiving hellos.

- The IS-IS protocol allows multiple area-address to be configured on a router. During the hello exchange the adjacency is formed only if atleast one of the area address matches. The advantage of having multiple areas is explained in the further posts. NOTE that Level 2 only adjacencies would be formed even if the area addresses are not matching.

- Besides to prevent the LSP's and CSNP's being dropped due to different values for originatingLSPBufferSize and ReceiveLSPBufferSize, all HELLOs are padded till the adjacency comes up again. This check verifies consistent settings between the adjacent routers. This is however not a sufficient check.

- Adjacencies are formed without regard to interface addressing or asymmetric in HOLD timer values. Values of HELLO interval are not sent in HELLO packets. While the IS-IS protocol provides sufficient routing information for relaying packets between adjacent routers, many implementations nonetheless require ARP support to do this. These implementations typically refuse to form an adjacency unless the neighbour interface IP address is on the local interface's IP subnet.

- IS-IS can carry addressing information of different protocols in TLV's. However, the protocol supported field must be sent in Dual and IP-Only routers. RFC1195 specifies no checks for the protocol supported field for adjacency formation. It places topology restrictions on multi-protocol networks. In networks that conform to these restrictions, neighboring routers will always have a protocol in common. Therefore, it does not state whether adjacency formation should take protocols supported into account. Many implementations however, do not form an adjacency with a neighbor unless they have at least one protocol in common.

- Not matching hold timer values has advantages wherein the administrator can set different hold times for different routers. This helps in cases where the going down of a DIS or some router needs to be detected faster. For such routers the hold timer can be set to a lower value.

OSPFv2

The checks for formation of adjacencies are stricter in OSPFv2 than IS-IS.

- The area-id of the received packet should always match the incoming interface (with the exception of virtual links). Area type is strictly checked by checking the E-bit (not set for non-default areas) and the N- bit (not-set for non-NSSA areas).

- The values of the HELLO interval, the Router Dead Interval and network mask received in HELLOs are matched with those on the configured interface. Any mismatch in the values causes the HELLO packet to be dropped and hence prevents formation of adjacencies. The disadvantages of this approach is that Hello Interval and Router Dead Interval changes need to be done within the Router Dead Interval, to prevent breaking adjacencies. The advantage is we would not form adjacency in case there is a router that has been mis-configured with a large value and which could cause problems later. The network mask check however does not apply to point to point links. That allows the two ends of a Point-to-Point link to have different addresses.

- MTU check is not done in the hellos. It is done in the during the DB Exchange process.

OSPFv3

Most of the checks for OSPFv3 are similar to that of OSPFv2.

- OSPFv3 runs on a per link basis instead of a per subnet basis. The check for network mask is not done.

- Instance ID field (non-existent in OSPFv2) on the link is matched with the incoming ID in Hellos. The adjacency is formed only if the Instance-ID matches. This allows multiple instances of OSPF to run on a single link.

No comments: