The term
“router” in this document refers to a Layer 3 switch running
routing protocols.
1.1 Introduction to IPv6 Static Routing
Static routes are special routes that are manually
configured by network administrators. They work well in simple networks.
Configuring and using them properly can improve the performance of networks and
guarantee enough bandwidth for important applications.
However, static routes also have shortcomings:
any topology changes could result in unavailable routes, requiring the network
administrator to manually configure and modify the static routes.
Similar to IPv4 static routes, IPv6 static
routes work well in simple IPv6 network environments.
Their major difference lies in the
destination and next hop addresses. IPv6 static routes use IPv6 addresses
whereas IPv4 static routes use IPv4 addresses.
The IPv6 static route that has the
destination address configured as ::/0 (indicating a prefix length of 0)
is the default IPv6 route. If the destination address of an IPv6 packet does
not match any entry in the routing table, this default route will be used to
forward the packet.
1.2 Configuring an IPv6 Static Route
In small IPv6 networks, IPv6 static routes
can be used to forward packets. In comparison to dynamic routes, it helps to
save network bandwidth.
l
Enabling IPv6 packet forwarding
l
Ensuring that the neighboring nodes are IPv6 reachable
Follow these steps to configure an IPv6
static route:
|
To do...
|
Use the commands…
|
Remarks
|
|
Enter system view
|
System-view
|
—
|
|
Configure an IPv6 static route
|
ipv6 route-static ipv6-address prefix-length [ interface-type
interface-number ] nexthop-address [ preference preference-value
]
|
Required
The default preference of IPv6 static
routes is 60.
|
1.3 Displaying and Maintaining IPv6 Static
Routes
|
To do...
|
Use the command...
|
Remarks
|
|
Display IPv6 static route information
|
display ipv6 routing-table protocol static [ inactive | verbose
]
|
Available in any view
|
|
Remove all IPv6 static routes
|
delete ipv6 static-routes all
|
Available in system view
|
Using the undo
ipv6 route-static command can delete a single IPv6 static route, while
using the delete ipv6 static-routes all command deletes all IPv6 static
routes including the default route.
1.4 IPv6 Static Routing Configuration Example
I. Network requirements
With IPv6 static routes configured, all
hosts and switches can interact with each other.
II. Network diagram

Figure 1-1 Network diagram for static
routes
III. Configuration procedure
1)
Configure the IPv6 addresses of all VLAN
interfaces (Omitted)
2)
Configure IPv6 static routes.
# Configure the default IPv6 static route
on Switch A.
<SwitchA> system-view
[SwitchA] ipv6
[SwitchA] ipv6 route-static :: 0 4::2
# Configure two IPv6 static routes on
Switch B.
<SwitchB> system-view
[SwitchB] ipv6
[SwitchB] ipv6 route-static 1:: 64
4::1
[SwitchB] ipv6 route-static 3:: 64
5::1
# Configure the default IPv6 static route
on Switch C.
<SwitchC> system-view
[SwitchC] ipv6
[SwitchC] ipv6 route-static :: 0 5::2
3)
Configure the IPv6 addresses of hosts and
gateways.
Configure the IPv6 addresses of all the
hosts based upon the network diagram, configure the default gateway of Host A
as 1::1, that of Host B as 2::1, and that of Host C as 3::1.
4)
Display configuration information
# Display the IPv6 routing table of Switch
A.
[SwitchA] display ipv6 routing-table
Routing Table :
Destinations : 7
Routes : 7
Destination:
::/0 Protocol : Static
NextHop :
4::2 Preference: 60
Interface :
Vlan200 Cost : 0
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:
4::/64 Protocol : Direct
NextHop :
4::1 Preference: 0
Interface :
Vlan200 Cost : 0
Destination:
4::1/128 Protocol : Direct
NextHop :
::1 Preference: 0
Interface :
InLoop0 Cost : 0
Destination:
FE80::/10 Protocol : Direct
NextHop :
:: Preference: 0
Interface :
NULL0 Cost : 0
# Verify the connectivity with the ping command.
[SwitchA] ping ipv6 3::1
PING 3::1 : 56 data bytes, press
CTRL_C to break
Reply from 3::1
bytes=56 Sequence=1 hop
limit=254 time = 63 ms
Reply from 3::1
bytes=56 Sequence=2 hop
limit=254 time = 62 ms
Reply from 3::1
bytes=56 Sequence=3 hop
limit=254 time = 62 ms
Reply from 3::1
bytes=56 Sequence=4 hop
limit=254 time = 63 ms
Reply from 3::1
bytes=56 Sequence=5 hop
limit=254 time = 63 ms
--- 3::1 ping statistics ---
5 packet(s) transmitted
5 packet(s) received
0.00% packet loss
round-trip min/avg/max = 62/62/63
ms
Chapter 2 IPv6
RIPng Configuration
l
The term “router” in this document
refers to a Layer 3 switch running routing protocols.
l
The S5500-SI series only support single RIPng
process.
2.1
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 made the following changes
to 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 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 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 after 180
seconds, the routes learned from the neighbor are considered as unreachable.
After 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 routing
policy to control routing information.
I. 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 MTU of the sending interface.
Figure 2-1 shows the packet format of RIPng.

Figure 2-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.
II. RTE format
There are two types of RTE 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 2-2 shows the format of the next hop RTE:

Figure 2-2 Next hop RTE format
IPv6 next hop address is the IPv6 address
of the next hop.
Figure 2-3 shows the format of the IPv6 prefix RTE.

Figure 2-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.
I. 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.
II. 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, whether the port
number is correct. The response packet failed the check will be discarded.
l
RFC2080: RIPng for IPv6
l
RFC2081: RIPng Protocol Applicability Statement
l
RFC2453: RIP Version 2
2.2 Configuring RIPng Basic Functions
In this section, you are presented with 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.
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.
Follow these steps to configure the basic
RIPng functions:
|
To do...
|
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 and receive any RIPng
route.
2.3 Configuring
RIPng Route Control
Before the configuration, accomplish the
following tasks first:
l
Configure an IPv6 address on each interface, and
make sure all nodes are reachable.
l
Configure RIPng basic functions
l
Define an IPv6 ACL before using it for route
filtering. Refer to ACL configuration for related information.
l
Define an IPv6 address prefix list before using
it for route filtering. Refer to section 3.2.2 "Defining an IPv6 Prefix List" for related information.
2.3.1 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:
|
To do...
|
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
|
2.3.2 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
|
2.3.3 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 via the specified interface regardless
of whether the default route is available in the local IPv6 routing table.
2.3.4 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.
|
2.3.5 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.
|
2.3.6 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
By
default, the default metric of redistributed routes is 0.
|
|
Redistribute routes from another routing
protocol
|
import-route protocol [ cost cost
| route-policy route-policy-name ] *
|
Required
No route redistribution is configured by
default.
|
2.4 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 RIPng Timers
l
Configuring Split
Horizon and Poison Reverse
l
Configuring Zero Field
Check on RIPng Packets
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.
2.4.2 Configuring Split Horizon and Poison Reverse
If both the split
horizon and poison reverse are configured, only the poison reverse function
takes effect.
I. Configure the split horizon
The split horizon function disables a route
learned from an interface from being advertised via the interface to prevent
routing loops between neighbors.
Follow these steps to configure the 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 the split horizon to
prevent routing loops.
II. Configuring the poison reverse function
The poison reverse function enables a route
learned from an interface to be advertised via 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
Disab |