[j-nsp] per packet/flow load balancing.
German Martinez
gmartine@mafalda.opentransit.net
Mon, 25 Nov 2002 12:00:37 -0500 (EST)
Ben,
--
"Peace cannot be kept by force. It can only be achieved by
understanding." Albert Einstein.
On Mon, 25 Nov 2002, Ben Buxton wrote:
>
> Since the IP2 processor, load balancing per packet is a bit of
> a misnomer. A modern Juniper will load balance per *flow*,
Internet Processor I ASIC forwarded traffic per-packet in a
round-robin fashion among the multiple next-hops.
Internet Processor II ASIC forwards packets based on individual traffic
flows (micro-flows). Packets for each individual flow are kept on a
single interface.
Juniper didn't change the keyboard "per-packet" when they introduced the
IP2 Chip, to keep consistency in the config files
> even though the config says per-packet.
>
> You cannot do true per packet load balancing on a Juniper. Which
> is a good thing at the datarates they're designed for.
>
By default, the hash key use just Layer 3 information (Incoming Interface,
Dest IP, Source IP, IPv4 Prot ID).
As the hash-key control de info that is used int the load-balancing
algorithm you can give even more information to that algorithm if you
enable Layer-4 (Source Port, Dest. Port, TOS Byte).
Hash result is scaled down to the number of available next-hops.
All packets having the same hash will go to the same next-hop interface.
> So if you're measuring with a single flow, this might
explain it. >
> BB
>
> -----Original Message-----
> From: Jonathan Tse [mailto:jonathantse@pacific.net.sg]
> Sent: maandag 25 november 2002 16:59
> To: juniper-nsp@puck.nether.net
> Subject: [j-nsp] per packet/flow load balancing.
>
>
> Hi,
>
> This has been discussed many times here. Apologize if someone think this is
> too simple. But only now I give it a try and without luck.
>
> I have setup this in the test lab:
>
> /-- IBGP -- router A -- EBGP --\
> router C < > router D
> \-- IBGP -- router B -- EBGP --/
>
> I believe there are equal cost paths but the router C doesn't seem to be
> able the load balance per packet.
>
> Below is a snapshot from router C:
>
> 192.168.44.0/22 *[BGP/170] 19:07:50, MED 90, localpref 350, from
> 192.168.9.2
> AS path: 64665 64665 I
> to 192.168.4.1 via ge-0/1/0.0
> > to 192.168.4.2 via ge-0/1/0.0
> 192.168.48.0/22 *[BGP/170] 19:07:50, MED 90, localpref 350, from
> 192.168.9.2
> AS path: 64665 64665 I
> > to 192.168.4.1 via ge-0/1/0.0
> to 192.168.4.2 via ge-0/1/0.0
>
> router C# show policy-options policy-statement load-balancing-policy
> from as-path TEST-AS;
> then {
> load-balance per-packet;
> }
>
> router C# show policy-options as-path TEST-AS
> "64665 .*";
>
> router C# show routing-options forwarding-table
> export load-balancing-policy;
>
> I have even configured "multipath" at BGP but doesn't help still.
>
> I wonder how do I verify whether the per packet load balancing is being
> enabled other than traceroute.
>
> Thanks!
>
> Jonathan.
>
> _______________________________________________
> juniper-nsp mailing list juniper-nsp@puck.nether.net
> http://puck.nether.net/mailman/listinfo/juniper-nsp
> _______________________________________________
> juniper-nsp mailing list juniper-nsp@puck.nether.net
> http://puck.nether.net/mailman/listinfo/juniper-nsp
>