A Discrete-Event Network Simulator
API

The RIP protocol (RFC 2453) is a unicast-only IPv4 IGP (Interior Gateway Protocol). More...

+ Collaboration diagram for RIP:

Classes

class  ns3::Rip
 RIP Routing Protocol, defined in RFC 2453. More...
 
class  ns3::RipHeader
 RipHeader - see RFC 2453 More...
 
class  ns3::RipRoutingTableEntry
 Rip Routing Table Entry. More...
 
class  ns3::RipRte
 Rip v2 Routing Table Entry (RTE) - see RFC 2453. More...
 

Enumerations

enum  ns3::RipHeader::Command_e { ns3::RipHeader::REQUEST = 0x1, ns3::RipHeader::RESPONSE = 0x2 }
 Commands to be used in Rip headers. More...
 
enum  ns3::Rip::SplitHorizonType_e { ns3::Rip::NO_SPLIT_HORIZON, ns3::Rip::SPLIT_HORIZON, ns3::Rip::POISON_REVERSE }
 Split Horizon strategy type. More...
 
enum  ns3::RipRoutingTableEntry::Status_e { ns3::RipRoutingTableEntry::RIP_VALID, ns3::RipRoutingTableEntry::RIP_INVALID }
 Route status. More...
 

Detailed Description

The RIP protocol (RFC 2453) is a unicast-only IPv4 IGP (Interior Gateway Protocol).

Its convergence time is rather long. As a consequence, it is suggested to carefully check the network topology and the route status before sending data flows.

RIP implements the Bellman-Ford algorithm (although the RFC does not state it). Bellman-Ford algorithm convergence time is O(|V|*|E|) where |V| and |E| are the number of vertices (routers) and edges (links) respectively. Since unsolicited updates are exchanged every 30 seconds, the convergence might require a long time.

For the RIP protocol, the exact convergence time is shorter, thanks to the use of triggered updates, which are sent when a route changes. Even with triggered updates, the convergence is in the order of magnitude of O(|V|*|E|) * 5 seconds, which is still quite long for complex topologies.

Todo:
: Add routing table compression (CIDR). The most evident result: without it a router will announce to be the default router and more RTEs, which is silly.

Enumeration Type Documentation

Commands to be used in Rip headers.

Enumerator
REQUEST 
RESPONSE 

Definition at line 198 of file rip-header.h.

Split Horizon strategy type.

See RFC 2453.

Enumerator
NO_SPLIT_HORIZON 

No Split Horizon.

SPLIT_HORIZON 

Split Horizon.

POISON_REVERSE 

Poison Reverse Split Horizon.

Definition at line 202 of file rip.h.

Route status.

Enumerator
RIP_VALID 
RIP_INVALID 

Definition at line 70 of file rip.h.