The Routing Information Protocol (RIP) is an interior gateway protocol (IGP) that uses the Bellman-Ford, or distance-vector, algorithm to determine the best route to a destination. RIP uses the hop count as the metric. RIP allows hosts and routers to exchange information for computing routes through an IP-based network. RIP is intended to be used as an IGP in reasonably homogeneous networks of moderate size. The JUNOS software supports RIP Versions 1 and 2. It does not support RIP on multipoint interfaces. RIP Version 1 packets contain the minimal information necessary to route packets through a network. However, this version of RIP does not support authentication or subnetting. RIP uses UDP port 520. RIP has the following architectural limitations:
Table 9.6 lists the RIP standards supported by the JUNOS software. Table 9.6. RIP Standards Supported by JUNOS Software
RIP PacketsRIP packets contain the following fields:
Configuring RIPTo have a router exchange routes with other routers, you must configure RIP groups and neighbors. RIP routes received from routers not configured as RIP neighbors are ignored. Likewise, RIP routes are advertised only to routers configured as RIP neighbors. All other RIP configuration statements are optional. This minimum configuration defines one neighbor. Include one neighbor statement for each interface on which you want to receive routes. The local router imports all routes by default from this neighbor and does not advertise routes. The router can receive both Version 1 and Version 2 update messages, with 25 route entries per message. [edit protocols] rip { authentication-key password ; authentication-type type ; (check-zero no-check-zero); import [ policy-names ]; message-size number ; metric-in metric ; receive receive-options ; rib-group group-name ; send send-options ; traceoptions { file name <replace> <size size > <files number > <no-stamp> <(world-readable no-world-readable)>; flag flag < flag-modifier > <disable>; } group group-name { export [ policy-names ]; metric-out metric preference number ; neighbor interface-name { authentication-key password ; authentication-type type ; import [ policy-names ]; message-size number ; metric-in metric ; receive receive-options ; send send-options ; } } } interfaces { interface-name { unit logical-unit-number { family inet; } } } Defining RIP Global PropertiesTo define RIP global properties, which apply to all RIP neighbors, include one or more of the following statements: [edit protocols rip] authentication-key password ; authentication-type type ; (check-zero no-check-zero); import [ policy-names ]; message-size number ; metric-in metric ; receive receive-options ; rib-group group-name ; send send-options ; Defining RIP Neighbor PropertiesTo define neighbor-specific properties, include one or more of the following statements: [edit protocols rip group group-name ] neighbor neighbor-name { authentication-key password ; authentication-type type ; (check-zero no-check-zero); import [ policy-names ]; message-size number ; metric-in metric ; receive receive-options ; send send-options ; } Configuring AuthenticationYou can configure the router to authenticate RIP route queries. By default, authentication is disabled. You can use simple authentication, which uses a text password that is included in the transmitted packet (the receiving router uses an authentication key [password] to verify the packet), or MD5 authentication, which creates an encoded checksum that is included in the transmitted packet (the receiving router uses an authentication key [password] to verify the packet's MD5 checksum). To enable authentication and specify an authentication method and password, include the authentication-key and authentication-type statements. The password can be up to 16 contiguous characters and can include any text strings. [edit protocols rip] or [edit protocols rip group group-name ] authentication-key password ; authentication-type type ; Modifying the Incoming MetricBy default, RIP imports routes from the neighbors configured with the neighbor statement. These routes include those learned from RIP as well as those learned from other protocols. By default, routes that RIP imports from its neighbors have a metric of 1 added to the current route metric. To change the default metric to be added to incoming routes, include the metric-in statement. metric can be a value from 1 through 16. [edit protocols rip] or [edit protocols rip group group-name ] metric-in metric ; Configuring the Number of Route Entries in an Update MessageBy default, RIP includes 25 route entries in each update message. To change the number of route entries in an update message, include the message-size statement. To ensure interoperability with routers from other vendors , do not change the default number of route entries in a RIP update message. [edit protocols rip] or [edit protocols rip group group-name ] message-size number ; Accepting Packets Whose Reserved Fields Are NonzeroSome of the reserved fields in RIP Version 1 packets must be zero, while in RIP Version 2 packets most of these reserved fields can contain nonzero values. By default, RIP discards Version 1 packets that have nonzero values in the reserved fields and Version 2 packets that have nonzero values in the fields that must be zero. This default behavior implements the RIP Version 1 and Version 2 specifications. If you are receiving RIP Version 1 packets with nonzero values in the reserved fields or RIP Version 2 packets with nonzero values in the fields that must be zero, you can configure RIP to receive these packets in spite of the fact that they are being sent in violation of the specifications in RFC 1058 and RFC 2453. To receive packets whose reserved fields are nonzero, include the no-check-zero statement: [edit protocols rip]or [edit protocols rip group group-name ] no-check-zero; Configuring Update MessagesYou can configure whether the RIP update messages conform to RIP Version 1 only, to RIP Version 2 only, or to both versions. You can also disable the sending or receiving of update messages. To configure the sending and receiving of update messages, include the receive and send statements: [edit protocols rip] or [edit protocols rip group group-name ] receive receive-options ; send send-options ; Configuring Routing Table GroupsYou can install routes learned through RIP into multiple routing tables by configuring a routing table group. RIP routes are installed into each routing table that belongs to that routing table group. To configure a routing table group for RIP routes, include the rib-group statement: [edit protocols rip] rib-group group-name ; Applying Import PolicyTo filter routes being imported by the local router from its neighbors, include the import statement and list the names of one or more policies to be evaluated. If you specify more than one policy, they are evaluated in order (first to last) and the first matching policy is applied to the route. If no match is found, the local router does not import any routes.
[edit protocols rip] import [ policy-names ]; Configuring Group-Specific PropertiesYou can group together neighbors that share the same export policy and export metric defaults. You configure group-specific RIP properties by including the group statement. Each group must contain at least one neighbor. You should create a group for each export policy. [edit protocols rip] group group-name { export [ policy-names ]; preference number ; metric-out metric ; neighbor neighbor-options ; }
By default, RIP does not export routes it has learned to its neighbors. To have RIP export routes, apply one or more export policies. To apply export policies and to filter routes being exported from the local router to its neighbors, include the export statement and list the name of the policy to be evaluated. You can define one or more export policies. If no routes match the policies, the local router does not export any routes to its neighbors. Export policies override any metric values determined through calculations involving the metric-in and metric-out values.
By default, the JUNOS software assigns a preference of 100 to routes that originate from RIP. When the JUNOS software determines a route's preference to become the active route, the software selects the route with the lowest preference and installs this route into the forwarding table. To modify the default RIP preference value, include the preference statement. preference can be a value from 0 to 4,294,967,295 (2 32 “ 1). If you have included the export statement, RIP exports routes it has learned to the neighbors configured with the neighbor statement. If a route being exported was learned from a member of the same RIP group, the metric associated with that route (unless modified by an export policy) is the normal RIP metric. For example, a RIP route with a metric of 5 learned from a neighbor configured with a metric-in value of 2 is advertised with a combined metric of 7 when advertised to RIP neighbors in the same group. However, if this route was learned from a RIP neighbor in a different group or from a different protocol, the route is advertised with the metric value configured for that group with the metric-out statement. The default value for metric-out is 1. To increase the metric for routes advertised outside a group, include the metric-out statement. Tracing RIP Protocol TrafficTo trace RIP protocol traffic, specify RIP-specific options by including the traceoptions statement: [edit protocols rip] traceoptions { file name <replace> <size size > <files number > <no-stamp> <(world-readable no-world-readable)>; flag flag < flag-modifier > <disable>; }
You can specify the following RIP-specific options in the RIP traceoptions statement:
|