Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 27 Oct 1998 06:48:37 +1100 (EST)
From:      Rowan Crowe <rowan@sensation.net.au>
To:        freebsd-isp@FreeBSD.ORG
Subject:   Load balancing over 2 separate client links
Message-ID:  <Pine.BSF.4.01.9810270641420.14432-100000@velvet.sensation.net.au>

next in thread | raw e-mail | index | archive | help
Hello all,

I just posted the message below to another generic ISP mailing list, but
of course my solution will be FreeBSD based. :-)

What sort of impact would switching a route fast (several times per
second) have on FreeBSD, assuming it doesn't trigger any dynamic routing
updates? Is this too crude? (see near the bottom of the forwarded msg,
I've marked it with ***)

(some sections that have no relevance to freebsd-isp deleted)

---------- Forwarded message ----------
Date: Tue, 27 Oct 1998 06:40:42 +1100 (EST)
From: Rowan Crowe <rowan@sensation.net.au>
To: aussie-isp@aussie.net
Subject: Load balancing over 2 separate client links

Hi all,

I have a couple of perm clients who will soon have a direct connection
*between* them. I will be implementing dynamic routing (probably via OSPF,
as I control the 2 unix boxes on either site) for the odd occasion when
either of their modems goes down for a couple of minutes, but I wonder if
it's possible to do something more sophisticated also...

One client often has their modem maxed out at certain times.
(incidentally, this client will be moving to dual modems next year.)

The other client's usage typically is a lot lower, although they too have
their periods of occasional saturation.

What I'm wanting to do is allow one client to "dip" into the other clients
bandwidth when it's underutilised. eg: when client #2's link is
underutilised, send traffic for client #1 through it. As soon as client #2
starts using traffic through their link, client #1 can no longer borrow
the b/w.

Over a single link this is elementary stuff, but we're talking 2 links
with a 3rd one interconnecting the 2 sites. It's probably possible to run
something like multi-chassis multilink PPP. I think that's the correct
buzzword? Multilink PPP done over 2 separate routers [of the same ISP] in
separate locations with an IP tunnel between them, feeding to the same end
point, to facilitate extra redundancy in the event of one of the customer
telco links failing (too bad if the main router fails):

                            ^ internet feed
                            |
            IP TUNNEL       |
router 1  =============  router 2 (main)
    \                      /
      \                  /
        \              /
          \          /
            customer


However, what I'm wanting to do is almost the exact opposite!

               ^ internet feed
               |
             router
            /      \
          /          \
        /              \
      /    IP TUNNEL     \
cust #1  ============= cust #2

There also exists an IP tunnel between router and cust #1 via cust #2, and
an IP tunnel between router and cust #2 via cust #1.

Do any of the multi-chassis solutions also implement dynamic bandwidth
management in this way? This is just curiosity as I generally don't use
proprietary router solutions [ :-) ] but I'm wondering if this has already
been done.

*** One could even do it more simply without needing tunnels: balance
routes on a per packet basis. If client #2's link is underutilised, start
routing some packets for client #1 down it. Client #2 knows that the
direct link to client #1 is closer than bouncing it back to me so it
delivers it that way.

There are other issues here though, such as the ramifications of doing
something like this if the direct link between the clients goes down.

And, how do you detect when a tunnel is broken if it passes over several
routers? Periodic pings?

So ends my rant for this morning.

Cheers.


--
Rowan Crowe                     Sensation Internet Services, Melbourne Aust
fidonet: 3:635/728                                          +61-3-9388-9260
http://www.rowan.sensation.net.au/             http://www.sensation.net.au/




To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-isp" in the body of the message



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.BSF.4.01.9810270641420.14432-100000>