EIGRP: Reliable Transport Protocol

RTP manages the deliver and reception of EIGRP Packets.  Reliable deliver guarantees that packets will be delivered in order.  Cisco implemented an algorithm called reliable multicast that accomplishes the requirement of reliable delivery.

EIGRP Packet types that require reliable transport are Update, reply, Query, SIA-Query and SIA-Reply regardless if they are unicast or multicast.

These packets carry a nonzero sequence number in the header, this is an indicator that RTP is being used for that particular type of messaging, and should clue you in as to what type of packet you’re looking at.

Each neighbor receiving a query or update is required to send back a unicast ACK to let the originator know the packet was received.  ACKs will  have the original Seq number placed in the ACK number field of the header.

In multicast scenarios if a neighbor participating in multicast is lagging or not sending ACKs back on reliable multicast packets, this could cause problems in delaying the messaging.  To deal with this scenario an additional RTP feature called Conditional Recieve was creaed to partition all neighbors on a multiaccess network into two groups.

One group of good neighbors that have ACKnowledged all reliable packets, and one group of neighbors who have failed to ACKnowledge one or more reliable packets.  For additional messages to be sent to the good neighbors, a flag is set in the updates, and queries to the multicast address that designates the packet to be processed only by neighbors who have received all multicast packets so far.

This is accomplished by having the sender transmit a Hello packet with two specific TLVs called the Sequence and Next Multicast Sequence TLV, also referred to as a Sequenced Hello.

The Next Multicast Sequence TLV contains the upcoming Sequence number for the next reliable multicast message.  The Sequence TLV contains a list of all the lagging neighbors by IP, which basically processes the packet using the Sequece TLV as a filter saying any host found in this TLV, ignore this packet.

Any device not in this TLV puts itself into CR-mode (Conditional Receive-Mode) the router will then send the next reliable packet with the CR flag set, and only devices in CR Mode will process the packet.

Lagging neighbors will continue to receive retransmits of the update and query packets unicast until they ACKnowledge those packets with a Reply.

The time to wait for an ACK before a host is placed into the lagging neighbor group is specified by the multicast flow timer.

The time between the subsequent unicasts is specified by the retransmission timeout RTO.

Both the multicast flow timer and the RTO are calculated for each neighber from the smooth round trip time (SRTT).

The SRTT is the average elapsed time in milliseconds between the transmission of a reliable packet to the neighbor and the receipt of an an ACKnowledgement.

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s