What is Implicit Ack and Explicit Ack in OSFP:-
Each individual LSA generated by any routers need to be acknowledged. This may be accomplished by either an :
1) Implicit ack
2) Explicit ack
Implicit ACK is sending same LSA back in LS update message.
Explicit ACK is sending only LSA header in OSPF Type 5 packet (LSA Acknowledgement) packet.
How it works :
If their is any Topology change in the network, as per Link state it should update all the routers which is the part of OSPF instance. Its send an OSPF packet to the DR and BDR with the destination address of 224.0.0.6.
After receipt of the OSPF LSU packet, the DR router should send an ACK acknowledging the successful receipt of the LSU. However, the DR needs to propagate the LSU back to the segment using the https://www.garudax.id/redir/invalid-link-page?url=224%2e0%2e0%2e5 destination IP address anyway, so it just does exactly that, without sending a standalone LS-ACK.
The router which sends the LSU to DR and BDR, it receives the LSU packet from the DR and consider it as implicit acknowledgement. No further LS-ACK from the DR is expected.
All other routers on the segment receive the LSU and acknowledge its receipt via an explicit LS-ACK message back to the DR. This is an explicit form of acknowledgement.
Comparing with TCP ACK mechanism with OSPF.
TCP does Reliable delivery and done by ACK.
TCP use sequence number to ACK the data. Only sequence number in ACK is sufficient to confirm that all data before that is received. TCP is generally used to send bulk data and to improve throughout, we use windowing method. Sender can send number of bytes equal to window, max is 65535 that means Sender can send 65535 bytes at a time without waiting for ACK.
In OSPF, receiver sends LSA header back to ack the LSA update and not sequence number. Window size is 1 always that means Sender can not send further LS update until it is acknowledged. If LSA is not acknowledged within a fix time, router retransmits the LSA. This is called Rxmt Interval and it is 5 sec by default
- All duplicate LSA is received from a neighbor possibly indicating that it has not yet received an ack. That is why router put that LSA into Link State Retransmission list of every neighbor to which it was sent. If router doesn't receive ack it will retransmit its LSA every Rxmt Internal.
- LSA contains 3 values : seq number, checksum and age. All of them are responsible for keeping all LSDB (Link State Database) in whole OSPF domain updated and exactly the same.
- OSPF uses 32-bit signed, linear seq number from Initial Sequence Number to Max Sequence Number. When router send his first LSA it sets the value for Initial Sequence Number and increments the seq number by one.
If the present seq number is MaxSeqNr and a new instance must be created the router must first flush the old LSA from all databases in the area. It sets the age to Maxage = 3600 sec and refloods it to everyone.
Only the router that is originated the LSA can permanently age it or modify it!
There is also mechanism which is preventing legitimate from reaching MaxAge. In brief if nothing is happening on the network, there are no faults we don't have flush whole OSPF LSDB every 1 hour. That is why Link State Refresh is set up for 30 mins. Each half an hour known as LSRefresh Time the router that originate LSA flood a new copy of the LSA with and increment seq number and age of zero.
Is that mean IN Implicit acknowledge DR send LSU packet to originator router and IN explicit acknowledge All DR other routers send LSU packet back to DR router?
Hi All- could you share the article Link that how HTTPS work? i have doubt which want to clear. pls
No words for this great explanation sir..great job indeed...plz keep sharing your knowledge sir. And if poosible plz share something on SDN
Excellent article sir,can you put some light on SHAM link also sir..