Cisco Support Community
Showing results for 
Search instead for 
Did you mean: 
New Member

DBD packets and LSA headers

Hello all,

I'm in the middle of reading about OSPF and i have a questions about database description packets.

dbd packets contain lsa headers and we know that many dbd packets can be sent between say two routers, router A and router B. Why can't router A send 1 dbd packet to router B containing all the lsa headers instead of sending several dbd packets with the same purpose? It seems to me very inefficient.  Is there a size limit somehow? 

Everyone's tags (1)
New Member

Hello Rustynono I anderstand

Hello Rustynono


I anderstand you problem but all i can say to you is that, when de router A and B exchange their DBD, they must respect many conditions like, the Size of Packet exhanged (MTU) that depend of the size of Routing table of every router,

Not forgetting  that, error can occur during the Exchange, which will force router to retransmit packet many time up to ensure that both DBD are completly exchange in each other Router.


Please not acheme my level in English, i esper that I've helped you

New Member

I understand that if an error

I understand that if an error occurs then the same dbd packet will be retransmitted. In essence this should be the same dbd packet as the one that failed and I'm fine with that. I'm thinking more like why should 2 routers exchange multiple dbd packets with different lsa headers in each when this could be done once? What mechanism makes the router stop filling the dbd packet with more lsa headers?

I'm thinking that perhaps the packet cannot go above the mtu size otherwise it will have to be fragmented. To avoid fragmentations the router stops filling the dbd packet with more lsa headers and start a brand new packet instead and carry on doing so till no more lsa headers remain. However I'm not sure if this is correct and would like to get more precision on this if at all possible.

New Member

Hey, I think this is a very

Hey, I think this is a very good question. I'm still learning "advanced" level OSPF myself, and I thought I would do some research for my own curiosity.

I found this link, which I seems to be a very good first step to understanding. It seems OSPF originally only filled the DBD up to 1500 bytes which was the default MTU size, regardless of the MTU size. There was a "bug" report and this has apparently been changed in newer implementations. So it seems the original intent for the limit on Cisco devices was based simply on MTU size of the interface.

However, I think digging into the RFCs is a good idea. I will be doing the same to try and figure out why OSPF truly acts the way it does and why. I may also be picking up this book, it covers the source code implementation of OSPF and was written by John Moy, the creator of OSPF. While more for developers, I think it will help me understand OSPF inside and out. I heard about it through an INE course.

I hope this sheds some light on your question, I know I learned a bit just hunting around :-)

CreatePlease to create content