cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
1557
Views
10
Helpful
7
Replies

CEF and per-packet load balancing

rittickgupta
Level 1
Level 1

We have four OC3 links across the atlantic and I was looking for a solution which would allow load balacing across the four links on a per-packet basis (not session). The objective is both resiliency i.e. being able to handle link failures transparently & balancing the load across all the links. BGP multptah looked like the ideal soultion. However, I was told that the CEF packet based load balancing is no longer supported by CISCO. Is this correct ? Is it applicable for all models ? Are there any other potential solutions?

Appreciate a response from the experts.

2 Accepted Solutions

Accepted Solutions

Giuseppe Larosa
Hall of Fame
Hall of Fame

Hello Rittick,

per packet load balancing can cause out of order issues that can impact some applications.

In your case the delay of the four OC-3 links is different and they may be served by different SDH/SONET networks.

The potential for out of order packets of the same flow is high.

So you should use per flow load balancing that is recommended to avoid out of order issues, in this way the subsequent packets of the same flow will use the same path,

When multiple flows are present in the network you will see a fair enough distribution of flows over the 4 links.

Hope to help

Giuseppe

View solution in original post

jph
Level 1
Level 1

Hi Rittick,

Interesting problem to solve - I'm with Elfiq Networks and caught this discussion thread.  It sound like your 4 OC3's are MPLS lines (Vs public Internet traffic)?  I may have a idea or two.  Please confirm - thanks.

JP

View solution in original post

7 Replies 7

Giuseppe Larosa
Hall of Fame
Hall of Fame

Hello Rittick,

per packet load balancing can cause out of order issues that can impact some applications.

In your case the delay of the four OC-3 links is different and they may be served by different SDH/SONET networks.

The potential for out of order packets of the same flow is high.

So you should use per flow load balancing that is recommended to avoid out of order issues, in this way the subsequent packets of the same flow will use the same path,

When multiple flows are present in the network you will see a fair enough distribution of flows over the 4 links.

Hope to help

Giuseppe

Hello Giuseppe,

                          Thank you for your response. One of the applications replicate the database and the peak traffic is over 100 Mbits per second. We use pusedo wires (MPLS) to reserve the bandwith for our applications. This being a mission critical application - our requirement is that there be no impact even if 2 of the links fail. If packet level load-balancing was available we would need to provision the psuedo wire with 50 mbits over the 4 links - with flow level load balancing it would require 100 mbits over the two links.  I was basically looking for a solution for this problem.

Appreciate your help,

Rittick

As explained above already:

you cannot have per-packet load sharing especially at high speeds.

Hello Rittick,

an MPLS pseudowire will use only one link of the 4 links based on inner MPLS label, it cannot be spread over multiple parallel links.

The MPLS pseudowire can travel within an MPLS TE LSP that can be protected by FRR.

per packet load balancing does not apply to your scenario.

You need to mark traffic of the critical application with an appropriate EXP settings. The EXP bits are copied to the outer (external) label.

On the OC-3 physical interfaces you will configure a CBWFQ scheduler providing 100 Mbps of bandwidth to traffic with specific EXP marking. This is elastic and over unused links bandwidth will be left available to other traffic.

On the LAN interface you need to mark the EXP bits in received packets using a policy-map

access-list 101 permit tcp host x.x.x.x host y,y,y,y

class CLASSIFY-BACKUP

match access-group 101

policy-map MARKER

class CLASSIFY-BACKUP

set mpls exp 3

class class-default

set mpls exp 0

int gex/y/z

service-policy in MARKER

class-map BACKUP

match mpls exp 3

policy-map SCHED-OC3

class BACKUP

bandwidth 100000

class class-default

fair-queue

int posx/y/z

service-policy out SCHED-OC3

applied on all pos interfaces.  The MPLS pseudowire will use one link only. Different pseudowires can use different OC-3 links. Load balancing of MPLS traffic is based on internal label (the VC label of the pseudowire)

Note:

you should check if it is possible to mark traffic received on the incoming interface of the pseudowire otherwise you need to mark IP precedence nearer to the host.

Hope to help

Giuseppe

jph
Level 1
Level 1

Hi Rittick,

Interesting problem to solve - I'm with Elfiq Networks and caught this discussion thread.  It sound like your 4 OC3's are MPLS lines (Vs public Internet traffic)?  I may have a idea or two.  Please confirm - thanks.

JP

Thanks for your responses. Yes - they are private leased lines.

Hi there!

I have one doubt pertaining to per-packet load-sharing. In order to connect my two data-centres- A & B, Site A is having two MPLS-WAN links and Site B is having two MPLS-WAN links - one from ISP1 (30Mbps link) and the other from ISP2 (50Mbps link). I am doing static route load balancing using same AD values for both the ISPs. I have configured "ip load-sharing per-packet" on both the outgoing interfaces at site A and site B.

The load is getting distributed equally across both the links but total bandwidth utilization across both the links is not going beyond 30Mbps (15 Mbps each). The combined bandwidth of both links is 80Mbps (50+30). However links are not getting fully utilized even though heavy load is there on the links.

Can you please tell me how to make full use of both the wan links at both the ends? OR Can you tell me how I can distribute the traffic across both the links with full utilization without using per-packet load-sharing. Moreover, my links can be configured statically only at both the ends.

Review Cisco Networking products for a $25 gift card