3.3. Message ArchitectureOSPF messages and LSAs are all structured on 32-bit boundaries. The original intention was to make the messages easier to parse. But in these times of high-speed processors and abundant memory, such architecture does not matter much any more. The format of OSPF messages is fixed, so the protocol can only be extended by creating new LSAs. IS-IS does not adhere to set boundaries, and all messages are constructed of type-specific headers followed by type/length/value (TLV) structures.[2] The type and length fields are each one octet, and specify the type and length (in bytes) of the data in the value field. Because the length field is one byte, the value field can vary from 0 to 254 bytes. They can also be nestedthat is, a TLV can exist inside another TLV.
Figure 3.1 compares the general structure of OSPF and IS-IS messages. The types of messages depicted here, and the meanings of the fields in each message, are not important yet. For now, you only need to know that the formats shown are the same ones used throughout this book for depicting the messages of each protocol. OSPF messages are always depicted on their 32-bit boundaries, whereas IS-IS messages are always shown with labels to the right indicating the length in bytes of the variable-length fields. As Dave Katz says, OSPF's 32-bit alignment is mostly useful these days in that it provides tidy packet pictures. Figure 3.1. The conventions used to depict OSPF and IS-IS messages throughout this book. |