A Discrete-Event Network Simulator
API

The RIPng protocol (RFC 2080) is a unicast-only IPv6 IGP (Interior Gateway Protocol). More...

+ Collaboration diagram for RIPng:

Classes

class  ns3::RipNg
 RIPng Routing Protocol, defined in RFC 2080. More...
 
class  ns3::RipNgHeader
 RipNgHeader - see RFC 2080 More...
 
class  ns3::RipNgRoutingTableEntry
 RipNg Routing Table Entry. More...
 
class  ns3::RipNgRte
 RipNg Routing Table Entry (RTE) - see RFC 2080 More...
 

Enumerations

enum  ns3::RipNgHeader::Command_e { ns3::RipNgHeader::REQUEST = 0x1, ns3::RipNgHeader::RESPONSE = 0x2 }
 Commands to be used in RipNg headers. More...
 
enum  ns3::RipNg::SplitHorizonType_e { ns3::RipNg::NO_SPLIT_HORIZON, ns3::RipNg::SPLIT_HORIZON, ns3::RipNg::POISON_REVERSE }
 Split Horizon strategy type. More...
 
enum  ns3::RipNgRoutingTableEntry::Status_e { ns3::RipNgRoutingTableEntry::RIPNG_VALID, ns3::RipNgRoutingTableEntry::RIPNG_INVALID }
 Route status. More...
 

Detailed Description

The RIPng protocol (RFC 2080) is a unicast-only IPv6 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.

RIPng 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 RIPng 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 RipNg headers.

Enumerator
REQUEST 
RESPONSE 

Definition at line 187 of file ripng-header.h.

Split Horizon strategy type.

See RFC 2080.

Enumerator
NO_SPLIT_HORIZON 

No Split Horizon.

SPLIT_HORIZON 

Split Horizon.

POISON_REVERSE 

Poison Reverse Split Horizon.

Definition at line 207 of file ripng.h.

Route status.

Enumerator
RIPNG_VALID 
RIPNG_INVALID 

Definition at line 70 of file ripng.h.