Example: Load Balancing a 6rd Domain Across Multiple Service
PICs
Hardware and Software Requirements
This example requires the following hardware:
- An MX Series 3D Universal Edge router with a Services
DPC with two available NPUs or an M Series Multiservice Edge router
with two services PICs available for 6rd softwire concentrator processing.
- A domain name server (DNS)
This example uses the following software:
- Junos OS Release 11.4 or higher.
Overview
Because of anticipated volume, a provider needs to balance 6rd
softwire traffic between two services PICs.
Configuration
Chassis Configuration
Step-by-Step Procedure
To configure the chassis:
- Define the ingress interface and its properties.
user@host# edit interfaces ge-1/2/0user@host# set unit 0 family inet address
10.10.10.1/16
- Define the egress interface and its properties. In this
example, the IPv6 clients try to reach the IPv6 server at 3abc::2/16.
- Define the services PICs for selection as softwire concentrators
by the load-balancing process. This configuration uses two PICs/NPUs:
sp-3/0/0 and sp-3/1/0. A next-hop style service set is configured
(shown in the next section).
user@host# edit interfaces sp-3/0/0[edit interfaces ge-3/0/0]user@host# set services-options syslog host
local services anyuser@host# set unit 0 family inetuser@host# set unit 0 family inet6user@host# set unit 1 family inet service-domain
insideuser@host# set unit 1 family inet service-domain
outsideuser@host# set unit 2 family inet service-domain
insideuser@host# set unit 2 family inet service-domain
outsideuser@host# up 1[edit]user@host# edit interfaces sp-3/1/0[edit interfaces sp-3/1/0]user@host# set services-options syslog host
local services anyuser@host# set unit 0 family inetuser@host# set unit 0 family inet6user@host# set unit 1 family inet service-domain
insideuser@host# set unit 1 family inet service-domain
outsideuser@host# set unit 2 family inet service-domain
insideuser@host# set unit 2 family inet service-domain
outside
Softwire Concentrator and Softwire Rule Configuration
Step-by-Step Procedure
The softwire configuration is straightforward. In this
example, the 6rd domain prefix is 3040::0/16, the 6rd softwire concentrator
IPv4 address is 30.30.30.1, and the customer IPv4 network is 10.10.0.0/16.
In the customer premises equipment (CPE) network, all customer edge
(CE) devices have addresses that belong to the 10.10.0.0/16 network.
- Go to the [edit services softwire] hierarchy
level.
user@host# edit services softwire
- Configure IPv6 multicast.
[edit services softwire]user@host# set ipv6-multicast-interfaces all
- Go to the softtwire concentrator v6rd hierarchy level
and name the softwire concentrator shenick01-rd1.
[edit services softwire]user@host# edit softwire-concentrator v6rd
shenick01-rd1
- Configure the softwire concentrator properties.
[edit services softwire softwire-concentrator v6rdshenick01-rd1
]user@host# set softwire-address 30.30.30.1user@host# set ipv4-prefix 10.10.0.0/16user@host# set v6rd-prefix 3040::/16user@host# set mtu-v4 9192
- Configure a softwire rule for incoming 6rd traffic.
[edit services softwire softwire-concentrator v6rd shenick01-rd1
]user@host# up 1[edit services softwire ]user@host# edit rule shenick01-r1[edit services softwire rule shenick01-r1]user@host# set match-direction inputuser@host# set term t1 then v6rd shenick01-rd1
Stateful Firewall Configuration
Step-by-Step Procedure
- Go to the stateful firewall hierarchy level and define
a rule.
user@host# edit services stateful-firewall
rule r1
- Set the match direction.
[edit services stateful-firewall rule r1]user@host# set match-direction input-output
- Configure a term that accepts all traffic.
[edit services stateful-firewall rule r1]user@host# set term t1 then accept
Service Set Configuration
Step-by-Step Procedure
This configuration provides two service sets, each pointing
to a different network processing unit (NPU). Both service sets use
the same stateful firewall and softwire rules. Because they use the
same softwire rule, they refer to same 6rd softwire concentrator.
This results in the software concentrator being hosted on both the
NPUs.
To configure the service set:
- Define a service set for the first NPU.
user@host# edit services service-set v6rd-sset1
- Configure the softwire and stateful firewall rules for
the first NPU.
[edit services service-set v6rd-sset1]user@host# set softwire-rules shenick01-r1user@host# set stateful-firewall-rules r1
- Configure the inside and outside interfaces for the next-hop
service.
[edit services service-set v6rd-sset1]user@host# set next-hop-service inside-service-interface
sp-3/0/0.1user@host# set next-hop-service outside-service-interface
sp-3/0/0.2
- Define a service set for the second NPU.
user@host# edit services service-set v6rd-sset2
- Configure the softwire and stateful firewall rules for
the second NPU.
[edit services service-set v6rd-sset2]user@host# set softwire-rules shenick01-r1user@host# set stateful-firewall-rules r1
- Configure the inside and outside interfaces for the next-hop
service.
[edit services service-set v6rd-sset1]user@host# set next-hop-service inside-service-interface
sp-3/1/0.1user@host# set next-hop-service outside-service-interface
sp-3/1/0.2
Load-Balancing Configuration
Step-by-Step Procedure
- Following the instructions below to complete the configuration
Configure explicit routes and ECMP to load-balance the 6rd traffic.
Explicit routes are configured for both the 6rd concentrator IPv4
address and the 6rd domain prefix, so that they point to both NPUs.
In addition to these routes, the service PIC daemon (spd) also adds
default routes to these addresses pointing to the NPUs. However, the
routes added by the spd use different metrics, which are computed
based on the FPC, PIC, slot numbers, and the subunit of the servics
PIC if used in the service set configuration. The static routes configured
in this sample configuration will have metrics of 5 and therefore
a higher preference than the spd-added routes.
rib inet6.0 {static {route 3040::0/16 next-hop [ sp-3/0/0.2 sp-3/1/0.2 ];}}static {route 30.30.30.1/32 next-hop [ sp-3/0/0.1 sp-3/1/0.1 ];}
The explicitly configured routes are as follows:
root@router# run show route 30.30.30.1
inet.0: 37 destinations, 40 routes (36 active, 0 holddown, 1 hidden)
+ = Active Route, - = Last Active, * = Both
30.30.30.1/32 *[Static/5] 00:00:10
> via sp-3/0/0.1
via sp-3/1/0.1
[Static/786433] 00:23:03
> via sp-3/0/0.1
[Static/851969] 00:00:09
> via sp-3/1/0.1
root@router# run show route 3040::/16
inet6.0: 20 destinations, 33 routes (20 active, 0 holddown, 0 hidden)
+ = Active Route, - = Last Active, * = Both
3040::/16 *[Static/5] 00:00:15
via sp-3/0/0.2
> via sp-3/1/0.2
[Static/786434] 00:23:08
> via sp-3/0/0.2
[Static/851970] 00:00:14
> via sp-3/1/0.2
 | Best Practice:
The spd-installed routes have higher metric values
(hence a low preference) and the metrics are different. If the metrics
are different and ECMP is not enabled, even though multiple routes
exist for the same destination, only one of the routes is picked up
all the time (based on the metric). For ECMP you must configure equal-cost
routes, and hence a manual configuration of routes is needed as shown
above. |
Configuring ECMP
Under the forwarding options, indicate to the router how to
load-balance traffic by configuring the hash key as shown:
user@host# show forwarding-options
hash-key {
family inet { <== IPv4 traffic from CEs uses this
layer-3 {
destination-address;
source-address;
}
}
family inet6 { <== IPv6 traffic from Internet uses this
layer-3 {
destination-address;
source-address;
}
}
}
 | Tip:
Both IPv4 and IPv6 hash keys must be configured. The IPv4
hash key is used to distribute the traffic coming from CPE devices
to the 6rd BR. The IPv6 hash key is used to distribute the traffic
coming from the IPv6 Internet to the 6rd domain. Note that since the
hash in the forward and reverse direction is on different families,
different flows from the same session can end up on different NPUs.
However, since 6rd processing is stateless (as far as mapping IPv6
packets to softwires is concerned) this should not be a problem. |
Published: 2011-10-28