- Table of Contents
-
- 03-IP Routing Volume
- 00-IP Routing Volume Organization
- 01-IP Routing Overview
- 02-Static Routing Configuration
- 03-RIP Configuration
- 04-OSPF Configuration
- 05-IS-IS Configuration
- 06-BGP Configuration
- 07-IPv6 Static Routing Configuration
- 08-IPv6 Ripng Configuration
- 09-IPv6 OSPFv3 Configuration
- 10-IPv6 IS-IS Configuration
- 11-IPv6 BGP Configuration
- 12-Routing Policy Configuration
- Related Documents
-
Title | Size | Download |
---|---|---|
08-IPv6 Ripng Configuration | 172.84 KB |
RIPng Packet Processing Procedure·
Configuring RIPng Basic Functions
Configuring RIPng Route Control
Configuring an Additional Routing Metric
Configuring RIPng Route Summarization·
Configuring a RIPng Route Filtering Policy
Configuring a Priority for RIPng
Configuring RIPng Route Redistribution·
Tuning and Optimizing the RIPng Network
Configuring Split Horizon and Poison Reverse
Configuring Zero Field Check on RIPng Packets
Configuring the Maximum Number of Equal Cost Routes for Load Balancing
Displaying and Maintaining RIPng
Configure RIPng Basic Functions
Configuring RIPng Route Redistribution·
When configuring RIPng, go to these sections for information you are interested in:
l Configuring RIPng Basic Functions
l Configuring RIPng Route Control
l Tuning and Optimizing the RIPng Network
l Displaying and Maintaining RIPng
l The term “router” in this document refers to a router in a generic sense or a Layer 3 switch.
l EA boards (such as LSQ1GP12EA and LSQ1TGX1EA) do not support IPv6 features.
Introduction to RIPng
RIP next generation (RIPng) is an extension of RIP-2 for IPv4. Most RIP concepts are applicable in RIPng.
RIPng for IPv6 has the following basic differences from RIP:
l UDP port number: RIPng uses UDP port 521 for sending and receiving routing information.
l Multicast address: RIPng uses FF02:9 as the link-local-router multicast address.
l Destination Prefix: 128-bit destination address prefix.
l Next hop: 128-bit IPv6 address.
l Source address: RIPng uses FE80::/10 as the link-local source address
RIPng Working Mechanism
RIPng is a routing protocol based on the distance vector (D-V) algorithm. RIPng uses UDP packets to exchange routing information through port 521.
RIPng uses a hop count to measure the distance to a destination. The hop count is referred to as metric or cost. The hop count from a router to a directly connected network is 0. The hop count between two directly connected routers is 1. When the hop count is greater than or equal to 16, the destination network or host is unreachable.
By default, the routing update is sent every 30 seconds. If the router receives no routing updates from a neighbor within 180 seconds, the routes learned from the neighbor are considered as unreachable. Within another 240 seconds, if no routing update is received, the router will remove these routes from the routing table.
RIPng supports split horizon and poison reverse to prevent routing loops and route redistribution.
Each RIPng router maintains a routing database, including route entries of all reachable destinations. A route entry contains the following information:
l Destination address: IPv6 address of a host or a network.
l Next hop address: IPv6 address of a neighbor along the path to the destination.
l Egress interface: Outbound interface that forwards IPv6 packets.
l Metric: Cost from the local router to the destination.
l Route time: Time that elapsed since a route entry is last changed. Each time a route entry is modified, the routing time is set to 0.
l Route tag: Identifies the route, used in a routing policy to control routing information. For information about routing policy, refer to Routing Policy Configuration in the IP Routing Volume.
RIPng Packet Format
Basic format
A RIPng packet consists of a header and multiple route table entries (RTEs). The maximum number of RTEs in a packet depends on the IPv6 MTU of the sending interface.
Figure 1-1 shows the packet format of RIPng.
Figure 1-1 RIPng basic packet format
l Command: Type of message. 0x01 indicates Request, 0x02 indicates Response.
l Version: Version of RIPng. It can only be 0x01 currently.
l RTE: Route table entry, 20 bytes for each entry.
RTE format
There are two types of RTEs in RIPng.
l Next hop RTE: Defines the IPv6 address of a next hop
l IPv6 prefix RTE: Describes the destination IPv6 address, route tag, prefix length and metric in the RIPng routing table.
Figure 1-2 shows the format of the next hop RTE:
Figure 1-2 Next hop RTE format
IPv6 next hop address is the IPv6 address of the next hop.
Figure 1-3 shows the format of the IPv6 prefix RTE.
Figure 1-3 IPv6 prefix RTE format
l IPv6 prefix: Destination IPv6 address prefix.
l Route tag: Route tag.
l Prefix len: Length of the IPv6 address prefix.
l Metric: Cost of a route.
RIPng Packet Processing Procedure
Request packet
When a RIPng router first starts or needs to update some entries in its routing table, generally a multicast request packet is sent to ask for needed routes from neighbors.
The receiving RIPng router processes RTEs in the request. If there is only one RTE with the IPv6 prefix and prefix length both being 0, and with a metric value of 16, the RIPng router will respond with the entire routing table information in response messages. If there are multiple RTEs in the request message, the RIPng router will examine each RTE, update its metric, and send the requested routing information to the requesting router in the response packet.
Response packet
The response packet containing the local routing table information is generated as:
l A response to a request
l An update periodically
l A trigged update caused by route change
After receiving a response, a router checks the validity of the response before adding the route to its routing table, such as whether the source IPv6 address is the link-local address and whether the port number is correct. The response packet that failed the check will be discarded.
Protocols and Standards
l RFC2080: RIPng for IPv6
l RFC2081: RIPng Protocol Applicability Statement
Configuring RIPng Basic Functions
This section presents the information to configure the basic RIPng features.
You need to enable RIPng first before configuring other tasks, but it is not necessary for RIPng related interface configurations, such as assigning an IPv6 address.
Configuration Prerequisites
Before the configuration, accomplish the following tasks first:
l Enable IPv6 packet forwarding.
l Configure an IP address for each interface, and make sure all nodes are reachable to one another.
Configuration Procedure
Follow these steps to configure the basic RIPng functions:
Use the command… |
Remarks |
|
Enter system view |
system-view |
–– |
Create a RIPng process and enter RIPng view |
ripng [ process-id ] |
Required Not created by default |
Return to system view |
quit |
–– |
Enter interface view |
interface interface-type interface-number |
–– |
Enable RIPng on the interface |
ripng process-id enable |
Required Disabled by default |
If RIPng is not enabled on an interface, the interface will not send or receive any RIPng route.
Configuring RIPng Route Control
This section covers the following topics:
l Configuring RIPng Route Summarization
l Configuring a RIPng Route Filtering Policy
l Configuring a Priority for RIPng
l Configuring RIPng Route Redistribution
Before the configuration, accomplish the following tasks first:
l Configure an IPv6 address on each interface, and make sure all nodes are reachable to one another.
l Configure RIPng basic functions
l Define an IPv6 ACL before using it for route filtering. Refer to ACL Configuration in the Security Volume for related information.
l Define an IPv6 address prefix list before using it for route filtering. Refer to Routing Policy Configuration in the IP Routing Volume for related information.
Configuring an Additional Routing Metric
An additional routing metric can be added to the metric of an inbound or outbound RIP route, namely, the inbound and outbound additional metric.
The outbound additional metric is added to the metric of a sent route. The route’s metric in the routing table is not changed.
The inbound additional metric is added to the metric of a received route before the route is added into the routing table, so the route’s metric is changed.
Follow these steps to configure an inbound/outbound additional routing metric:
Use the command… |
Remarks |
|
Enter system view |
system-view |
–– |
Enter interface view |
interface interface-type interface-number |
–– |
Specify an inbound routing additional metric |
ripng metricin value |
Optional 0 by default |
Specify an outbound routing additional metric |
ripng metricout value |
Optional 1 by default |
Configuring RIPng Route Summarization
Follow these steps to configure RIPng route summarization:
To do… |
Use the command… |
Remarks |
Enter system view |
system-view |
–– |
Enter interface view |
interface interface-type interface-number |
–– |
Advertise a summary IPv6 prefix |
ripng summary-address ipv6-address prefix-length |
Required |
Advertising a Default Route
Follow these steps to advertise a default route:
To do… |
Use the command… |
Remarks |
Enter system view |
system-view |
–– |
Enter interface view |
interface interface-type interface-number |
–– |
Advertise a default route |
ripng default-route { only | originate } [ cost cost ] |
Required Not advertised by default |
With this feature enabled, a default route is advertised through the specified interface regardless of whether the default route is available in the local IPv6 routing table.
Configuring a RIPng Route Filtering Policy
You can reference a configured IPv6 ACL or prefix list to filter received/advertised routing information as needed. For filtering outbound routes, you can also specify a routing protocol from which to filter routing information redistributed.
Follow these steps to configure a RIPng route filtering policy:
To do… |
Use the command… |
Remarks |
Enter system view |
system-view |
–– |
Enter RIPng view |
ripng [ process-id ] |
–– |
Configure a filter policy to filter incoming routes |
filter-policy { acl6-number | ipv6-prefix ipv6-prefix-name } import |
Required By default, RIPng does not filter incoming routing information. |
Configure a filter policy to filter outgoing routes |
filter-policy { acl6-number | ipv6-prefix ipv6-prefix-name } export [ protocol [ process-id ] ] |
Required By default, RIPng does not filter outgoing routing information. |
Configuring a Priority for RIPng
Any routing protocol has its own protocol priority used for optimal route selection. You can set a priority for RIPng manually. The smaller the value is, the higher the priority is.
Follow these steps to configure a RIPng priority:
To do… |
Use the command… |
Remarks |
Enter system view |
system-view |
— |
Enter RIPng view |
ripng [ process-id ] |
— |
Configure a RIPng priority |
preference [ route-policy route-policy-name ] preference |
Optional By default, the RIPng priority is 100. |
Configuring RIPng Route Redistribution
Follow these steps to configure RIPng route redistribution:
To do… |
Use the command… |
Remarks |
Enter system view |
system-view |
–– |
Enter RIPng view |
ripng [ process-id ] |
–– |
Configure a default routing metric for redistributed routes |
default cost cost |
Optional The default metric of redistributed routes is 0. |
Redistribute routes from another routing protocol |
import-route protocol [ process-id ] [ allow-ibgp ] [ cost cost | route-policy route-policy-name ] * |
Required No route redistribution is configured by default. |
Tuning and Optimizing the RIPng Network
This section describes how to tune and optimize the performance of the RIPng network as well as applications under special network environments. Before tuning and optimizing the RIPng network, complete the following tasks:
l Configure a network layer address for each interface
l Configure the basic RIPng functions
This section covers the following topics:
l Configuring Split Horizon and Poison Reverse
l Configuring Zero Field Check on RIPng Packets
l Configuring the Maximum Number of Equal Cost Routes for Load Balancing
Configuring RIPng Timers
You can adjust RIPng timers to optimize the performance of the RIPng network.
Follow these steps to configure RIPng timers:
To do… |
Use the command… |
Remarks |
Enter system view |
system-view |
— |
Enter RIPng view |
ripng [ process-id ] |
— |
Configure RIPng timers |
timers { garbage-collect garbage-collect-value | suppress suppress-value | timeout timeout-value | update update-value } * |
Optional. The RIPng timers have the following defaults: l 30 seconds for the update timer l 180 seconds for the timeout timer l 120 seconds for the suppress timer l 120 seconds for the garbage-collect timer |
When adjusting RIPng timers, you should consider the network performance and perform unified configurations on routers running RIPng to avoid unnecessary network traffic increase or route oscillation.
Configuring Split Horizon and Poison Reverse
If both split horizon and poison reverse are configured, only the poison reverse function takes effect.
Configure split horizon
The split horizon function disables a route learned from an interface from being advertised through the same interface to prevent routing loops between neighbors.
Follow these steps to configure split horizon:
To do… |
Use the command… |
Remarks |
Enter system view |
system-view |
–– |
Enter interface view |
interface interface-type interface-number |
–– |
Enable the split horizon function |
ripng split-horizon |
Optional Enabled by default |
Generally, you are recommended to enable split horizon to prevent routing loops.
Configuring the poison reverse function
The poison reverse function enables a route learned from an interface to be advertised through the interface. However, the metric of the route is set to 16. That is to say, the route is unreachable.
Follow these steps to configure poison reverse:
To do… |
Use the command… |
Remarks |
Enter system view |
system-view |
–– |
Enter interface view |
interface interface-type interface-number |
–– |
Enable the poison reverse function |
ripng poison-reverse |
Required Disabled by default |
Configuring Zero Field Check on RIPng Packets
Some fields in the RIPng packet must be zero. These fields are called zero fields. With zero field check on RIPng packets enabled, if such a field contains a non-zero value, the entire RIPng packet will be discarded. If you are sure that all packets are trusty, you can disable the zero field check to reduce the CPU processing time.
Follow these steps to configure RIPng zero field check:
To do… |
Use the command… |
Remarks |
Enter system view |
system-view |
–– |
Enter RIPng view |
ripng [ process-id ] |
–– |
Enable the zero field check |
checkzero |
Optional Enabled by default |
Configuring the Maximum Number of Equal Cost Routes for Load Balancing
Follow these steps to configure the maximum number of equal cost RIPng routes for load balancing:
To do… |
Use the command… |
Remarks |
Enter system view |
system-view |
–– |
Enter RIPng view |
ripng [ process-id ] |
–– |
Configure the maximum number of equal cost RIPng routes for load balancing |
maximum load-balancing number |
Optional 4 by default |
Displaying and Maintaining RIPng
To do… |
Use the command… |
Remarks |
Display configuration information of a RIPng process |
display ripng [ process-id ] |
Available in any view |
Display routes in the RIPng database |
display ripng process-id database |
Available in any view |
Display the routing information of a specified RIPng process |
display ripng process-id route |
Available in any view |
Display RIPng interface information |
display ripng process-id interface [ interface-type interface-number ] |
Available in any view |
RIPng Configuration Example
Configure RIPng Basic Functions
Network requirements
As shown in Figure 1-4, all switches run RIPng. Configure Switch B to filter the route (3::/64) learnt from Switch C, which means the route will not be added to the routing table of Switch B, and Switch B will not forward it to Switch A.
Network diagram
Figure 1-4 Network diagram for RIPng configuration
Configuration procedure
1) Configure the IPv6 address for each interface (omitted)
2) Configure basic RIPng functions
# Configure Switch A.
<SwitchA> system-view
[SwitchA] ripng 1
[SwitchA-ripng-1] quit
[SwitchA] interface vlan-interface 100
[SwitchA-Vlan-interface100] ripng 1 enable
[SwitchA-Vlan-interface100] quit
[SwitchA] interface vlan-interface 400
[SwitchA-Vlan-interface400] ripng 1 enable
[SwitchA-Vlan-interface400] quit
# Configure Switch B.
<SwitchB> system-view
[SwitchB] ripng 1
[SwitchB-ripng-1] quit
[SwitchB] interface vlan-interface 200
[SwitchB-Vlan-interface200] ripng 1 enable
[SwitchB-Vlan-interface200] quit
[SwitchB] interface vlan-interface 100
[SwitchB-Vlan-interface100] ripng 1 enable
[SwitchB-Vlan-interface100] quit
# Configure Switch C.
<SwitchC> system-view
[SwitchC] ripng 1
[SwitchC-ripng-1] quit
[SwitchC] interface vlan-interface 200
[SwitchC-Vlan-interface200] ripng 1 enable
[SwitchC-Vlan-interface200] quit
[SwitchC] interface vlan-interface 500
[SwitchC-Vlan-interface500] ripng 1 enable
[SwitchC-Vlan-interface500] quit
[SwitchC] interface vlan-interface 600
[SwitchC-Vlan-interface600] ripng 1 enable
[SwitchC-Vlan-interface600] quit
# Display the routing table of Switch B.
[SwitchB] display ripng 1 route
Route Flags: A - Aging, S - Suppressed, G - Garbage-collect
----------------------------------------------------------------
Peer FE80::20F:E2FF:FE23:82F5 on Vlan-interface100
Dest 1::/64,
via FE80::20F:E2FF:FE23:82F5, cost 1, tag 0, A, 6 Sec
Dest 2::/64,
via FE80::20F:E2FF:FE23:82F5, cost 1, tag 0, A, 6 Sec
Peer FE80::20F:E2FF:FE00:100 on Vlan-interface200
Dest 3::/64,
via FE80::20F:E2FF:FE00:100, cost 1, tag 0, A, 11 Sec
Dest 4::/64,
via FE80::20F:E2FF:FE00:100, cost 1, tag 0, A, 11 Sec
Dest 5::/64,
via FE80::20F:E2FF:FE00:100, cost 1, tag 0, A, 11 Sec
# Display the routing table of Switch A.
[SwitchA] display ripng 1 route
Route Flags: A - Aging, S - Suppressed, G - Garbage-collect
----------------------------------------------------------------
Peer FE80::200:2FF:FE64:8904 on Vlan-interface100
Dest 1::/64,
via FE80::200:2FF:FE64:8904, cost 1, tag 0, A, 31 Sec
Dest 4::/64,
via FE80::200:2FF:FE64:8904, cost 2, tag 0, A, 31 Sec
Dest 5::/64,
via FE80::200:2FF:FE64:8904, cost 2, tag 0, A, 31 Sec
Dest 3::/64,
via FE80::200:2FF:FE64:8904, cost 1, tag 0, A, 31 Sec
3) Configure Switch B to filter incoming and outgoing routes.
[SwitchB] acl ipv6 number 2000
[SwitchB-acl6-basic-2000] rule deny source 3::/64
[SwitchB-acl6-basic-2000] rule permit
[SwitchB-acl6-basic-2000] quit
[SwitchB] ripng 1
[SwitchB-ripng-1] filter-policy 2000 import
[SwitchB-ripng-1] filter-policy 2000 export
# Display routing tables of Switch B and Switch A.
[SwitchB] display ripng 1 route
Route Flags: A - Aging, S - Suppressed, G - Garbage-collect
----------------------------------------------------------------
Peer FE80::20F:E2FF:FE23:82F5 on Vlan-interface100
Dest 1::/64,
via FE80::20F:E2FF:FE23:82F5, cost 1, tag 0, A, 2 Sec
Dest 2::/64,
via FE80::20F:E2FF:FE23:82F5, cost 1, tag 0, A, 2 Sec
Peer FE80::20F:E2FF:FE00:100 on Vlan-interface200
Dest 4::/64,
via FE80::20F:E2FF:FE00:100, cost 1, tag 0, A, 5 Sec
Dest 5::/64,
via FE80::20F:E2FF:FE00:100, cost 1, tag 0, A, 5 Sec
[SwitchA] display ripng 1 route
Route Flags: A - Aging, S - Suppressed, G - Garbage-collect
----------------------------------------------------------------
Peer FE80::20F:E2FF:FE00:1235 on Vlan-interface100
Dest 1::/64,
via FE80::20F:E2FF:FE00:1235, cost 1, tag 0, A, 2 Sec
Dest 4::/64,
via FE80::20F:E2FF:FE00:1235, cost 2, tag 0, A, 2 Sec
Dest 5::/64,
via FE80::20F:E2FF:FE00:1235, cost 2, tag 0, A, 2 Sec
Configuring RIPng Route Redistribution
Network requirements
l Two RIPng processes are running on Switch B, which communicates with Switch A through RIPng 100 and with Switch C through RIPng 200.
l Configure route redistribution on Switch B, letting the two RIPng processes redistribute routes from each other. Set the default cost of redistributed routes from RIPng 200 to 3.
Network diagram
Figure 1-5 Network diagram for RIPng route redistribution configuration
Configuration procedure
1) Configure IPv6 addresses for the interfaces (omitted)
2) Configure RIPng basic functions
# Enable RIPng 100 on Switch A.
<SwitchA> system-view
[SwitchA] ripng 100
[SwitchA-ripng-100] quit
[SwitchA] interface vlan-interface 100
[SwitchA-Vlan-interface100] ripng 100 enable
[SwitchA-Vlan-interface100] quit
[SwitchA] interface vlan-interface 400
[SwitchA-Vlan-interface400] ripng 100 enable
[SwitchA-Vlan-interface400] quit
# Enable RIP 100 and RIP 200 on Switch B.
<SwitchB> system-view
[SwitchB] ripng 100
[SwitchB-ripng-100] quit
[SwitchB] interface vlan-interface 100
[SwitchB-Vlan-interface100] ripng 100 enable
[SwitchB-Vlan-interface100] quit
[SwitchB] ripng 200
[SwitchB-ripng-200] quit
[SwitchB] interface vlan-interface 200
[SwitchA-Vlan-interface200] ripng 200 enable
# Enable RIPng 200 on Switch C.
<SwitchC> system-view
[SwitchC] ripng 200
[SwitchC-ripng-200] quit
[SwitchC] interface vlan-interface 200
[SwitchC-Vlan-interface200] ripng 200 enable
[SwitchC-Vlan-interface200] quit
[SwitchC] interface vlan-interface 600
[SwitchC-Vlan-interface600] ripng 200 enable
[SwitchC-Vlan-interface600] quit
[SwitchC] interface vlan-interface 500
[SwitchC-Vlan-interface500] ripng 200 enable
[SwitchC-Vlan-interface500] quit
# Display the routing table of Switch A.
[SwitchA] display ipv6 routing-table
Routing Table :
Destinations : 6 Routes : 6
Destination: ::1/128 Protocol : Direct
NextHop : ::1 Preference: 0
Interface : InLoop0 Cost : 0
Destination: 1::/64 Protocol : Direct
NextHop : 1::1 Preference: 0
Interface : Vlan100 Cost : 0
Destination: 1::1/128 Protocol : Direct
NextHop : ::1 Preference: 0
Interface : InLoop0 Cost : 0
Destination: 2::/64 Protocol : Direct
NextHop : 2::1 Preference: 0
Interface : Vlan400 Cost : 0
Destination: 2::1/128 Protocol : Direct
NextHop : ::1 Preference: 0
Interface : InLoop0 Cost : 0
Destination: FE80::/10 Protocol : Direct
NextHop : :: Preference: 0
Interface : NULL0 Cost : 0
3) Configure RIPng route redistribution
# Configure route redistribution between the two RIPng processes on Switch B.
[SwitchB] ripng 100
[SwitchB-ripng-100] default cost 3
[SwitchB-ripng-100] import-route ripng 200
[SwitchB-ripng-100] quit
[SwitchB] ripng 200
[SwitchB-ripng-200] import-route ripng 100
[SwitchB-ripng-200] quit
# Display the routing table of Switch A.
[SwitchA] display ipv6 routing-table
Routing Table :
Destinations : 8 Routes : 8
Destination: ::1/128 Protocol : Direct
NextHop : ::1 Preference: 0
Interface : InLoop0 Cost : 0
Destination: 1::/64 Protocol : Direct
NextHop : 1::1 Preference: 0
Interface : Vlan100 Cost : 0
Destination: 1::1/128 Protocol : Direct
NextHop : ::1 Preference: 0
Interface : InLoop0 Cost : 0
Destination: 2::/64 Protocol : Direct
NextHop : 2::1 Preference: 0
Interface : Vlan400 Cost : 0
Destination: 2::1/128 Protocol : Direct
NextHop : ::1 Preference: 0
Interface : InLoop0 Cost : 0
Destination: 4::/64 Protocol : RIPng
NextHop : FE80::200:FCFF:FE00:7507 Preference: 100
Interface : Vlan100 Cost : 4