Kitz ADSL Broadband Information
adsl spacer  
Support this site
Home Broadband ISPs Tech Routers Wiki Forum
 
     
   Compare ISP   Rate your ISP
   Glossary   Glossary
 
Please login or register.

Login with username, password and session length
Advanced search  

News:

Author Topic: FireBrick FB2900 - WAN line bonding  (Read 2451 times)

crgbt

  • Member
  • **
  • Posts: 21
FireBrick FB2900 - WAN line bonding
« on: August 29, 2019, 12:33:14 PM »

Hi all,

I currently have a single VDSL line from A&A on the Home::1 2TB package, and I'm looking to double up my bandwidth with a 2nd line on the same package from A&A, albeit on a different backhaul for some limited redundancy.

I've been led to believe that the FireBricks can do 'true' line bonding, e.g. both upstream and downstream balancing with all IPv4/IPv6 addresses routed down both (or more) lines at the same time. Does anyone have this or a similar setup in use now? If so, how are you finding it? Are there any gotchas that I need to look out for and does it work as I expect it to?

Many thanks for looking.

crgbt
Logged

Weaver

  • Senior Kitizen
  • ******
  • Posts: 11459
  • Retd s/w dev; A&A; 4x7km ADSL2 lines; Firebrick
Re: FireBrick FB2900 - WAN line bonding
« Reply #1 on: August 29, 2019, 11:21:49 PM »

Yes, it just works like it says on the tin. Upstream and downstream for me are better than 90% * n speed, downstream is exceptionally good, the more lines you have the worse it gets, four lines is quite a lot worse than three. For me upstream is not as good as downstream but that could be because my lines differ a lot in speed, one out of the four is exceptionally bad and it even copes with that.

One real nuisance is that with the Firebrick, you have to specify the rates for outbound traffic per line. I have been looking into this for years, and I have absolutely zero clue as to what is going on if you get these numbers wrong. It matters in that you need to get the figures right but if you do get them wrong in one direction or another then the results don’t make sense. I have spent eight years doing performance measurements. Some of the reason for confusion, I have now realised is that any corruption on packets really stuffs things up in this regard.

I use the following equation for the outband speeds, the rate limiters :
 egress_rate = modem_loading_factor * protocol_efficiency_factor * sync_rate

where

protocol_efficiency_factor = ( the size of a chosen packet including all overheads due to protocols from eg ppp downwards ) /  the original size; this is the same as the bloat factor due to all headers, trailers, stuffing, escaping, encoding and any other expansion factors

and

modem_loading_factor = some tweaking tuning number < 1.0 ; set by experimentation to give the best performance but possibly slightly reduced to improve latency or for other reasons, such as a reduction found by experiment to be helpful to voip

protocol_efficiency_factor : For FTTC/FTTC, I think the protocol_efficiency_factor = 96.69% normally, or else 91% if G.INP = high. Kitz has some numbers for efficiency of FTTC.

I use a value of protocol_efficiency_factor = 0.88 approx assuming a standard size of for an 1500 bytes for an IP packet. This comes from round_up((1500 bytes + 32 bytes of overhead ) / 48 bytes per atm cell payload ) = 32 atm cells; then protocol_efficiency_factor = 1500 / ((32 cells)* (48+5))

Now,
    modem_loading_factor = 96.5% for me currently. Chosen after many months of testing.

So for you I might recommend trying a speed = 0.965 * 0.91 * sync_rate

I have a program that queries the modems and gets the upstream sync rate from each one. To do this, I use an ‘easy stats’ API provided by some code written by our esteemed forum member Johnson which is installed in the modems as part of his custom firmware. I then convert the sync rate to an egress rate to go into the speed attribute of <ppp speed=nnnn> in the Firebrick xml according to the previous formula; speed = mlf * protocol_efficiency * sync_rate. The program then puts out a snippet of Firebrick xml containing ppp elements with the correct upstream rate values in them, and embeds this in a complete template of the current Firebrick xml config, which is then uploaded into the Firebrick and takes effect immediately, without disturbing operations in progress.

The program to do this currently runs on an iPad, does the rate calculation and needs to be run manually when every speeds change. I could check for speed changes by polling which is nasty unless the rate is kept down. My iPad is of course not suitable for the job as a polling monitoring server. I should really rewrite the thing for my raspberry pi and let that do the monitoring and push the config changes into the iPad. I currently also have a quick iPad program that tells me yes or no have the modems’ speeds changed, to let me know that I may want to upload a new config.

I have a spreadsheet that does the efficiency calculations. I can post that if that would be useful.
Logged

crgbt

  • Member
  • **
  • Posts: 21
Re: FireBrick FB2900 - WAN line bonding
« Reply #2 on: August 30, 2019, 05:47:31 PM »

Wow, that was extremely useful info - thanks Weaver. I'm happy to hear it 'just works', as things rarely do these days but I do trust the guys and gals at A&A to not incorrectly market something - they seem straight up with everything they do. I don't have an install date for my other line yet, but when I do I'll report back :)

Thanks,
crgbt
Logged

Weaver

  • Senior Kitizen
  • ******
  • Posts: 11459
  • Retd s/w dev; A&A; 4x7km ADSL2 lines; Firebrick
Re: FireBrick FB2900 - WAN line bonding
« Reply #3 on: August 31, 2019, 03:57:36 AM »

When you get it going, just tweak the speed value in speed attribute of the xml <ppp> element untie you get the best performance. I use speedtest2.aa.net for download/upload speed testing and the TestMy upload speed tester is very useful because you can do long upload tests with controllable sizes.

You are right about AA, you can just trust them.

You are bound to get better performance than me because you will probably have lines with similar speeds - unless crosstalk makes things differ for some reason. Another reason why things will be better is that you only have two lines, so less chance of problems with TCP out-of-order packets.

If you decide to set up a 3G/4G USB NIC ‘dongle’ for the Firebrick then I could write another ‘War and Peace’ - there has been a lot in recent thread’s concerning problems with 3G and 4G dongles. It does ‘just work’ but there are a lot of problems:

(i) Firstly reduced MTU - I got AA to take off the 1500 byte MTU claim from their website as the 3G dongles (I think) that they sell report a 1440 byte MTU.

(ii) The second problem is that 4G dongles by default mess up the link because they do nat translation and aside from the usual potential problems of NAT, thus will wreck any TCP transfer that is in progress at the time of failover / switchover to backup 4G because the NAT will stuff up the source addresses in outgoing packets and then they will no longer be recognised by the remote end. If everything is done correctly then one should be able to have a TCP transfer just continue on serenely (aside from possible MTU problems) across the time of a switchover. A better dongle would have to have more than 1500 byte PPP MTU not just 1500 because of the 30mbyte overhead of proto 41 IPv4 headers used by AA for tunnelled IPv6, so without an oversized dongle MTU, living with reduced MTU is needed for IPv6.

(iii) AA really needs to get IPv6 sorted out for 3G/4G so you don’t have to proto-41 tunnel it, which works very well but is another minor nuisance. I’ve only tested it briefly but it all seemed totally seamless. I was using permanently reduced MTU. For you I would recommend using permanently reduced IPv6 MTU = dongle_MTU - 20 bytes, as it says in the AA support wiki article, but it’s wrong in that article to suggest that the dongle MTU is 1500. For me the maximum MTU would be 1440 - 20 for this particular AA 3G dongle.

(iv) AA needs to get some more 4G dongles configured to be working as proper modems not as NATing mini routers. I see the AA support wiki article concerning a ZTE 4G dongle and perhaps I should have got one of those, although I wouldn’t be able to configure it appropriately as I don’t have the tools.
Logged

hopkins35

  • Member
  • **
  • Posts: 36
Re: FireBrick FB2900 - WAN line bonding
« Reply #4 on: August 31, 2019, 12:52:24 PM »

I'm looking to double up my bandwidth with a 2nd line on the same package from A&A, albeit on a different backhaul for some limited redundancy.

This is my exact setup with one TT and one BTW line from A&A. It works exactly as you'd expect. I set my upload egress limit to 98% of the sync listed on the A&A control pages which works well.

One gotcha that you'll want to look out for is the port reset functionality of the Firebrick. If you have both your modems connected to one port on the Brick via an intermediate switch, using VLANs, you will find that if one line drops the Brick will shutdown the port momentarily (to prevent stuck sessions) but this will also cause your second line to terminate it's session which means you'll have a brief period with no connectivity.
Logged

Weaver

  • Senior Kitizen
  • ******
  • Posts: 11459
  • Retd s/w dev; A&A; 4x7km ADSL2 lines; Firebrick
Re: FireBrick FB2900 - WAN line bonding
« Reply #5 on: August 31, 2019, 03:55:24 PM »

@hopkins35 - A welcome to the forum! I seem to remember something about this feature. It doesn’t happen to me though. I have four lines on a VLAN MUX switch and I don’t get this problem at all. I really would notice it, because now I have several faulty lines simultaneously and modems going down all the time, but I never notice even the slightest problem and the other lines don’t show a problem in clueless either (mind you it’s probably too short to show up in clueless’ resolution.)

Recommend you talk to AA about it. There was some problem with a ZyXEL modem perhaps that was the motivation for some mechanism such as this - I have some dim memory of an article on AA’s support wiki website about one modem model and bugs / workarounds. A bit of digging and we may be able to find it.
Logged

hopkins35

  • Member
  • **
  • Posts: 36
Re: FireBrick FB2900 - WAN line bonding
« Reply #6 on: August 31, 2019, 04:11:57 PM »

Thanks @Weaver. Having two ports on the Brick dedicated to the modems solved it for me and as I've got the Brick connected to a 24 port switch I'm not short of ports so it's working well. It initially took me a while to work out why I'd have total internet loss when one line re-synced and then I thought of the port-reset function.
Logged

Weaver

  • Senior Kitizen
  • ******
  • Posts: 11459
  • Retd s/w dev; A&A; 4x7km ADSL2 lines; Firebrick
Re: FireBrick FB2900 - WAN line bonding
« Reply #7 on: August 31, 2019, 06:39:01 PM »

So the VLANs and mux switch are now gone? And you have two ports straight into two modems?

I still don’t understand why this affliction affected you and not me. A clue to the answer is in an article somewhere. Weird.

Glad you are now sorted.

I had to put in the switch of course because I had run out of Firebrick ports completely. But I’m actually pleased that it’s there because there is the vain hope that it might provide a front line of defence against the many lightning tweaks we get, with frequent damage.
Logged

hopkins35

  • Member
  • **
  • Posts: 36
Re: FireBrick FB2900 - WAN line bonding
« Reply #8 on: September 01, 2019, 09:55:25 AM »

So the VLANs and mux switch are now gone? And you have two ports straight into two modems?

I've still got the switch between them although it's literally just struck me that I don't need it, the two modems are cabled to a patch panel, then to a switch and then to the Brick, the modems could of course be cabled directly from the patch panel to the Brick. Connecting them directly would free up two of my ports (I've only got a couple of the twenty four free) although as I say the setup is now working well.

Cheers
Logged

crgbt

  • Member
  • **
  • Posts: 21
Re: FireBrick FB2900 - WAN line bonding
« Reply #9 on: October 25, 2019, 10:07:45 AM »

Hey all,

Just to report back, I've had my bonded lines installed for a week now and as you said Weaver, it 'just works'. This is despite some line issues I've been having, however they are unrelated.

Thanks again for all of your help :)
crgbt
Logged
 

anything