Monday 6 December 2010

Dual-WAN ADSL with Cisco 1841

I've got a second ADSL line now, so I've just started playing with bonding my two AAISP.net.uk lines together using a Cisco 1841 router with two ADSL cards.  It works pretty nicely out of the box, but as ever, some small lurking matters have emerged...

The relevant bits of the Cisco IOS configuration are shown in the listing below.  This basic setup allows the router to aggregate both lines as best it can.  It doesn't use Multilink PPP because (apparently) multilink PPP requires the underlying networks to ensure in-sequence packet delivery - which might happen on Ethernet or Fibre, but won't happen on ADSL.

VOIP sounds funny unless the links have similar delay characteristics.  AAISP sorted that for me by getting BT to enable Interleaving on both lines, not just one.

So, the relevant chunks of the IOS config are:-
!
interface ATM0/0/0
 no ip address
 no ip redirects
 no ip unreachables
 no ip proxy-arp
 load-interval 30
 no atm ilmi-keepalive
!
interface ATM0/0/0.1 point-to-point
 no ip redirects
 no ip unreachables
 no ip proxy-arp
 ip virtual-reassembly
 pvc 0/38
  encapsulation aal5mux ppp dialer
  dialer pool-member 1
 !
!
interface ATM0/1/0
 no ip address
 no ip redirects
 no ip unreachables
 no ip proxy-arp
 load-interval 30
 no atm ilmi-keepalive
!
interface ATM0/1/0.1 point-to-point
 no ip redirects
 no ip unreachables
 no ip proxy-arp
 ip virtual-reassembly
 pvc 0/38
  encapsulation aal5mux ppp dialer
  dialer pool-member 2
 !
!
interface Dialer0
 ip address negotiated
 ip access-group 102 in
 no ip redirects
 no ip unreachables
 no ip proxy-arp
 encapsulation ppp
 tx-ring-limit 3
 tx-queue-limit 3
 dialer pool 1
 dialer-group 1
 ipv6 address autoconfig
 ipv6 enable
 ipv6 traffic-filter v6-outside-in in
 ppp authentication chap pap callin
 ppp chap hostname xxxx@a.1
 ppp chap password xxx
 ppp pap sent-username xxxx@a.1 password xxxx

!
interface Dialer1
 ip address negotiated
 ip access-group 102 in
 no ip redirects
 no ip unreachables
 no ip proxy-arp
 encapsulation ppp
 tx-ring-limit 3
 tx-queue-limit 3
 dialer pool 2
 dialer-group 1
 ipv6 address autoconfig
 ipv6 enable
 ipv6 traffic-filter v6-outside-in in
 ppp authentication chap pap callin
 ppp chap hostname xxxx@a.2
 ppp chap password xxx
 ppp pap sent-username xxxx@a.2 password xxxx

ip route 0.0.0.0 0.0.0.0 Dialer0
ip route 0.0.0.0 0.0.0.0 Dialer1

ipv6 route ::/0 Dialer0
ipv6 route ::/0 Dialer1
This works reasonably well in concert with Andrews & Arnold's ADSL service.   Speed testing using www.speedtest.net showed that download speeds were improved by adding the second line, and the service continued largely unaffected if you unplugged one of the lines to simulate a fault.  Curiously, unplugging line 2 never disrupted a VOIP call, but unplugging line 1 killed audio in the uplink direction for ten or fifteen seconds.

I made some VOIP quality tests via a cellphone left next to a radio.  The downlink audio quality of VOIP calls never faltered regardless of traffic levels.  That's probably down to Andrews & Arnold's optional policy setting, whereby 5% of the link is reserved for small UDP frames (a nice basic QoS mechanism).   However, the uplink portion of the Speedtest.net test was able to provoke some disruption to voice quality if VOIP a call was in progress at the time.   There are two obvious approaches to fixing this...

1. Implement QoS prioritization so that the VOIP traffic always goes first on the uplink.

2. Dedicate the entire uplink capacity of one of the ADSL lines to the VOIP  service.

I'll try a few options and blog about the results later.

No comments:

Post a Comment

Spammers: please stop wasting my time. All comments are moderated before publication.