Systems and methods for link state flooding transmitter-based flow control
In one embodiment, a method for link state flooding between a network node and a receiving node includes determining a current transmit rate that Link State Protocol Data Units (LSPs) are being transmitted from the network node to the receiving node. The method further includes determining an LSP acknowledgment rate that indicates a rate at which a plurality of LSP acknowledgments are received at the network node from the receiving node. The method further includes determining a new transmit rate based on the current transmit rate and the LSP acknowledgment rate. The method further includes transmitting a plurality of LSPs from the network node to the receiving node using the new transmit rate.
1 . A network node, comprising:
one or more processors; and
one or more computer-readable non-transitory storage media coupled to the one or more processors and comprising instructions that, when executed by the one or more processors, cause the network node to perform operations comprising:
determining a current transmit rate that protocol data units (PDUs) are being transmitted from the network node to a receiving node by analyzing a retransmit queue to determine how fast the PDUs are being added to the retransmit queue;
determining an acknowledgment rate that acknowledgments are being received at the network node from the receiving node; and
determining a new transmit rate based on the current transmit rate and the acknowledgment rate.
2 . The network node of claim 1 , the operations further comprising maintaining the retransmit queue, wherein:
a PDU is added to the retransmit queue when the PDU is sent to the receiving node; and
the PDU is deleted from the retransmit queue once a corresponding acknowledgment is received from the receiving node.
3 . The network node of claim 1 , wherein determining the acknowledgment rate that the acknowledgments are being received at the network node from the receiving node comprises analyzing the retransmit queue of PDUs on the network node to determine how fast the PDUs are being removed from the retransmit queue.
4 . The network node of claim 1 , wherein the acknowledgments represent Partial Sequence Number Protocol Data Units (PSNPs).
5 . The network node of claim 1 , wherein the operations are performed using an Intermediate System to Intermediate System (IS-IS) protocol, an Open Shortest Path First (OSPF) protocol, or a combination thereof.
6 . The network node of claim 1 , wherein:
the new transmit rate is lower than the current transmit rate when the acknowledgment rate is less than the current transmit rate; and
the new transmit rate is higher than the current transmit rate when the acknowledgment rate is greater than the current transmit rate.
7 . A method, comprising:
determining a current transmit rate that protocol data units (PDUs) are being transmitted from a network node to a receiving node by analyzing a retransmit queue to determine how fast the PDUs are being added to the retransmit queue;
determining an acknowledgment rate that acknowledgments are being received at the network node from the receiving node; and
determining a new transmit rate based on the current transmit rate and the acknowledgment rate.
8 . The method of claim 7 , further comprising maintaining the retransmit queue, wherein:
a PDU is added to the retransmit queue when the PDU is sent to the receiving node; and
the PDU is deleted from the retransmit queue once a corresponding acknowledgment is received from the receiving node.
9 . The method of claim 7 , wherein determining the acknowledgment rate that the acknowledgments are being received at the network node from the receiving node comprises analyzing the retransmit queue of PDUs on the network node to determine how fast the PDUs are being removed from the retransmit queue.
10 . The method of claim 7 , wherein the acknowledgments represent Partial Sequence Number Protocol Data Units (PSNPs).
11 . The method of claim 7 , wherein:
the new transmit rate is lower than the current transmit rate when the acknowledgment rate is less than the current transmit rate; and
the new transmit rate is higher than the current transmit rate when the acknowledgment rate is greater than the current transmit rate.
12 . One or more computer-readable non-transitory storage media embodying instructions that, when executed by a processor, cause the processor to perform operations, the operations comprising:
determining a current transmit rate that protocol data units (PDUs) are being transmitted from a network node to a receiving node by analyzing a retransmit queue to determine how fast the PDUs are being added to the retransmit queue;
determining an acknowledgment rate that acknowledgments are being received at the network node from the receiving node; and
determining a new transmit rate based on the current transmit rate and the acknowledgment rate.
13 . The one or more computer-readable non-transitory storage media of claim 12 , the operations further comprising maintaining the retransmit queue, wherein:
a PDU is added to the retransmit queue when the PDU is sent to the receiving node; and
the PDU is deleted from the retransmit queue once a corresponding acknowledgment is received from the receiving node.
14 . The one or more computer-readable non-transitory storage media of claim 13 , wherein the acknowledgments represent Partial Sequence Number Protocol Data Units (PSNPs).
15 . The one or more computer-readable non-transitory storage media of claim 13 , wherein the operations are performed using an Intermediate System to Intermediate System (IS-IS) protocol, an Open Shortest Path First (OSPF) protocol, or a combination thereof.
16 . The one or more computer-readable non-transitory storage media of claim 13 , wherein:
the new transmit rate is lower than the current transmit rate when the acknowledgment rate is less than the current transmit rate; and
the new transmit rate is higher than the current transmit rate when the acknowledgment rate is greater than the current transmit rate.
17 . The one or more computer-readable non-transitory storage media of claim 13 , wherein determining the acknowledgment rate that the acknowledgments are being received at the network node from the receiving node comprises analyzing the retransmit queue of PDUs on the network node to determine how fast the PDUs are being removed from the retransmit queue.