• Routing Information Protocol - An industry-standard (if outdated) Dynamic Routing protocol
  • Distance Vector IGP based (uses routing-by-rumor logic to learn/share routes)
  • Uses hop count as its metric. One router = one hop
    • Bandwidth is not a consideration; every router is a single hop regardless of how fast the interface is.
  • The maximum hop count is 15 (maximum metric value is therefore 15)
    • Anything beyond this is considered unreachable! Therefore, RIP cannot be used for large networks!
      • In reality, RIP is rarely used in real networks anyway. Only real use is in small networks or lab environments due to its simplicity and ease of setup.
  • Three versions:
    • RIPv1 and RIPv2, which use IPv4
    • RIPng (RIP Next Generation), for IPv6
  • Uses two message types:
    • Request: To ask RIP-enabled neighbor routers to send their routing table
    • Response: To send the local router’s routing table to neighboring routers
  • By default, RIP-enabled routers will share their routing table every 30 seconds
    • As you might imagine, this can create significant congestion in networks with many routers

RIPv1 vs RIPv2

  • RIPv1:
    • only advertises classful addresses (Class A, Class B, Class C)
      • doesn’t support VLSM, CIDR
      • doesn’t even include subnet mask information in advertisements (Response messages)
        • simply assumes a mask based on network range (0-127 - Class A - /8; 128-191 - Class B - /16; 192-223 - Class C - /24 )
      • due do this limitation, RIPv1 is (effectively) entirely unused in modern networking
    • messages are broadcast to 255.255.255.255
  • RIPv2:
    • supports VLSM, CIDR
    • includes subnet mask information in advertisements
    • messages are multicast to 244.0.0.9[^Class-D (multicast) range address]

Configuration

  • Example CLI inputs for a router with two adjacent network connections (172.16.1.0/28 and 10.0.12.0/30):
    • router rip //enter RIP configuration
    • version 2 //set to RIPv2 for subnet support
    • no auto-summary //advertise the actual network prefix, not a Classful conversion
    • network 10.0.0.0 //This command is still classful, see below
    • network 172.16.0.0
  • network command will automatically convert any address you give it to a Classful address
    • e.g. 10.0.12.0 would be converted to 10.0.0.0, a Class A network
    • Hence, no need for a netmask
    • Tells the router to:
      • look for interfaces with an IP address that is in the specified range
      • activate RIP on the interfaces that fall in that range
      • form adjacencies with connected RIP neighbors
      • advertise the network prefix of the interface (not the prefix in the network command)
    • The OSPF and EIGRP network commands operate in the same way
  • passive interface (interface-id) can be used to set an interface to not receive RIP advertisements. This should be done for any interface that is not connected to a RIP neighbor to reduce unnecessary network traffic.
  • default-information originate shared the router’s default route with RIP, allowing it to advertise the route to other routers.
  • maximum paths (number) can be used to change the max. number of paths that will be used for load balancing in ECMP
  • distance (number) can change the Administrative Distance of the protocol on that router
  • show ip protocols can be run (from privileged EXEC) to see the current dynamic routing protocol