Link-state advertisement

The link-state advertisement (LSA) is a basic communication means of the OSPF routing protocol for the Internet Protocol (IP). It communicates the router's local routing topology to all other local routers in the same OSPF area. OSPF is designed for scalability, so some LSAs are not flooded out on all interfaces, but only on those that belong to the appropriate area. In this way detailed information can be kept localized, while summary information is flooded to the rest of the network. The original IPv4-only OSPFv2 and the newer IPv6-compatible OSPFv3 have broadly similar LSA types.

Types
The LSA types defined in OSPF are as follows: The opaque LSAs, types 9, 10, and 11, are designated for upgrades to OSPF for application-specific purposes. For example, OSPF-TE has traffic engineering extensions to be used by RSVP-TE in Multiprotocol Label Switching (MPLS). Opaque LSAs are used to flood link color and bandwidth information. Standard link-state database (LSDB) flooding mechanisms are used for distribution of opaque LSAs. Each of the three types has a different flooding scope.

For all types of LSAs, there are 20-byte LSA headers. One of the fields of the LSA header is the link-state ID.

Each router link is defined as one of four types: type 1, 2, 3, or 4. The LSA includes a link ID field that identifies, by the network number and mask, the object that this link connects to.

Depending on the type, the link ID has different meanings as shown in below table:

OSPFv2 for IPv4
As per Appendix-A.3.1 of RFC 2328, all OSPF packets start with a common LSA "24-byte header" as shown below.

For

Options
The option field Indicative the feature supported by the source router. In Hello packet, a mismatch, will result in reject of neighbor. for LSA only packet that matches the destination routes willingness is forward.
 * Hello packets
 * Database Description packets
 * all the LSAs


 * Options (8 bits):
 * E-Bit: Indicative if area is AS-external capable, or STUBed.
 * x-bit: Set 0, used previously used by MOSPF
 * N/P-bit: Indicative if area is NSSA.
 * EA-bit: Indicative receive and forward External-Attributes-LSAs
 * DC-bit: Indicative router's handling of demand circuits,.
 * O-bit: Indicative router's willingness to receive and forward Opaque-LSAs
 * *: Reserved set 0

Database description DBD
Database description messages contain descriptions of the topology of the autonomous system or area. They convey the contents of the link-state database (LSDB) for the area from one router to another. Communicating a large LSDB may require several messages to be sent by having the sending device designated as a master device and sending messages in sequence, with the slave (recipient of the LSDB information) responding with acknowledgments.


 * Interface MTU (16 bits): the largest IP datagram that can be sent without fragmentation. In bytes.
 * flags(8 bits): 3 bits are defined.
 * I-Bit: Indicative this is the first packet in the sequence of Database Description Packets.
 * M-Bit: Indicative there is more packet to follow.
 * MS-bit Indicative if source is master during the Database Exchange process.


 * DD sequence number (32 bits): Database Description, increments until the complete database description has been sent.

Link state request
Link state request (LSR): Link state request messages are used by one router to request updated information about a portion of the LSDB from another router. The message specifies the link(s) for which the requesting device wants more current information.

Link State Update packet
Link-state update (LSU) messages contain updated information about the state of certain links on the LSDB. They are sent in response to a link state request message, and also broadcast or multicast by routers on a regular basis. Their contents are used to update the information in the LSDBs of routers that receive them.
 * LSAs: the total number of LSAs included in this update.

Link state acknowledgment
Link-state acknowledgment (LSAck)messages provide reliability to the link-state exchange process, by explicitly acknowledging receipt of a Link State Update message. The LSA acknowledgment, explicitly acknowledged, that it have received a LSA, by mirroring it back.

Common LSA 20-byte Packet Header
Appendix-A.4.1 of, all LSA packets start with a common LSA "20-byte header" as shown below. Note: These LSA Packet Headers are all preceded by OSPFv2 "24-byte" OSPF Headers.


 * LS age (16 bits): The time in seconds since the LSA was created.
 * LS type (8 bits): 1,2,3,4,5,6 or 7
 * Link State ID (32 bits): Identifies the portion of the network environment that is being described by the LSA. The contents of this field depend on the LSA's LS type.
 * Advertising Router ID (32 bits): source router, that originally created it.
 * LS sequence number (32 bits): sequence number is incremented each time the router originates a new instance of the LSA. used to detect old and duplicate LSAs.
 * LS Checksum (16 bits): Checksum of the contents of the LSA.
 * Length (16 bits): The length of the LSA, in bytes.

OSPF v3
In 2008, with the introduction of RFC5340 a new standard was set.

LSA Packet Header Formats
As per Appendix A.4.2 of RFC 5340, all LSA packets start with a common LSA "20-byte header" as shown below.

Note: These LSA Packet Headers are all preceded by standard "16-byte" OSPF Headers.

Common LSA 20-byte Packet Header
As per Appendix A.4 of RFC 5340 (OSPFv3 for IPv6) depending upon the LS Type, there are nine major LSA Packet formats as follows (actually eight as one has been deprecated):

The nine different formats for each "Type" of LSA packet are listed below (including the deprecated LSA-6):

Type 7: NSSA-LSA Header
(Same as Type 5 except for the type number field)