Cisco MLPPP with 2 ADSL connections
Aggregating 2 ADSL connections from Teksavvy in Calgary on Telus Copper
Yes! MLPPP works out west for Telsavvy customers, they don't officially support it but they were quite helpful through the setup phase.
I did this with a Cisco 2691 router, with two wic-1adsl line cards.
Since giving Shaw the boot, and because of the number of remote systems I have collecting mail off of my mail server, I needed a bit more bandwidth especially in the upload speed department.
What I used:
1 phone line, 1 dry DSL copper pair. We actually have 3 lines coming into the house, but our main phone line has an alarm system attached inline - The phone line goes through the alarm box before going to the distribution panel. Alarm systems are incompatible with ADSL (there are sites that show you how to do it if you must, but avoid it if you can)
1 Cisco 2691 series router, with an advanced enterprise IOS, and two wic-1adsl wan cards.
2 6/1 unlimited business adsl lines with a static IP, I also have a /29 subnet for my server.
- NOTE - I first tried this with a 2611XM, bad idea, it does not even have enough CPU to run even 1 wic-1adsl card at full speed, never mind 2. Unlike the ethernet interfaces in the 2600 series, the wic cards are serial cards, and are extremely cpu intensive. On my 2611, a 5 Mbps download would pin the CPU at 100%. If you are using a 2600 series router, the smallest I think you could get away with is a 2651XM.
Once the DSL service is installed, the configuration is fairly straight forward, here are the relevant parts of mine:
A note about multiple Dialer interfaces, they are Not needed. I've seen postings with more than one dialer interface, I do not believe this necessary. My config works fine with one dialer interface.
1st adsl line card:
interface ATM0/0
no ip address
atm restart timer 300
no atm ilmi-keepalive
bundle-enable
dsl operating-mode auto
hold-queue 224 in
!
interface ATM0/0.1 point-to-point
description ADSL Interface 0
pvc 0/33
pppoe-client dial-pool-number 1
!
Second ADSL Line card:
interface ATM0/1
no ip address
atm restart timer 300
no atm ilmi-keepalive
bundle enable
dsl operating-mode auto
hold-queue 224 in
!
interface ATM0/1.1 point-to-point
description ADSL Interface 1
pvc 0/33
pppoe-client dial-pool-number 1
!
!
interface FastEthernet0/0
description Inside Ethernet interface
ip address 192.168.0.1 255.255.255.0
ip access-group 101 in
ip verify unicast reverse-path
no ip redirects
no ip unreachables
no ip proxy-arp
ip nat inside
ip inspect fast_eth0_in in
ip virtual-reassembly
ip route-cache flow
ip tcp adjust-mss 1430
no ip mroute-cache
duplex auto
speed auto
and finally the Dialer interface:
interface Dialer1
description Public Internet Interface
mtu 1477
ip address negotiated
ip access-group 112 in
ip verify unicast reverse-path
no ip redirects
no ip unreachables
no ip proxy-arp
ip nat outside
ip inspect fast_eth0_in in
ip virtual-reassembly
encapsulation ppp
ip tcp adjust-mss 1430
no ip mroute-cache
dialer pool 1
dialer-group 1
no cdp enable
ppp authentication chap pap callin
ppp chap hostname <username>@teksavvy.com
ppp chap password 7 <secret_password>
ppp pap sent-username <username>@teksavvy.com password 7 <secret_password>
ppp ipcp dns request accept
ppp ipcp route default
ppp ipcp address accept
ppp link reorders
ppp multilink
The remainder is fairly straight forward Cisco IOS firewall stuff with CBAC.
Some notes:
ppp multilink adds some more overhead to packets, so to ensure I don't get excessive fragmentation, I set the mtu on the dialer interface to 1477 and the tcp mss adjust to 1430.
tcp mss adjust monitors the packets between two hosts, and adjusts the mss (maximum segment size) they negotiate to this number.
Trouble shooting:
make sure both adsl cards are up:
show dsl interface
ATM0/0
Alcatel 20150 chipset information
ATU-R (DS) ATU-C (US)
Modem Status: Showtime (DMTDSL_SHOWTIME)
DSL Mode: ITU G.992.1 (G.DMT) Annex A
ITU STD NUM: 0x01 0x1
Vendor ID: 'ALCB' 'BDCM'
Vendor Specific: 0x0000 0xA10C
Vendor Country: 0x00 0xB5
Capacity Used: 60% 94%
Noise Margin: 13.5 dB 6.0 dB
Output Power: 9.0 dBm 12.0 dBm
Attenuation: 15.0 dB 9.5 dB
Defect Status: None None
Last Fail Code: None
Selftest Result: 0x00
Subfunction: 0x15
Interrupts: 3989 (0 spurious)
PHY Access Err: 0
Activations: 3
LED Status: ON
LED On Time: 100
LED Off Time: 100
Init FW: embedded
Operation FW: embedded
SW Version: 3.8131
FW Version: 0x1A04
Interleave Fast Interleave Fast
Speed (kbps): 6144 0 960 0
Cells: 74327163 0 1703360009 0
Reed-Solomon EC: 0 0 0 0
CRC Errors: 0 0 13 0
Header Errors: 0 0 3 0
Bit Errors: 0 0
BER Valid sec: 0 0
BER Invalid sec: 0 0
LOM Monitoring : Disabled
<snip>
DSL: Training log buffer capability is not enabled
ATM0/1
Alcatel 20150 chipset information
ATU-R (DS) ATU-C (US)
Modem Status: Showtime (DMTDSL_SHOWTIME)
DSL Mode: ITU G.992.1 (G.DMT) Annex A
ITU STD NUM: 0x01 0x1
Vendor ID: 'ALCB' 'BDCM'
Vendor Specific: 0x0000 0xA10C
Vendor Country: 0x00 0xB5
Capacity Used: 62% 93%
Noise Margin: 13.0 dB 7.0 dB
Output Power: 10.0 dBm 12.0 dBm
Attenuation: 14.5 dB 9.5 dB
Defect Status: None None
Last Fail Code: None
Selftest Result: 0x00
Subfunction: 0x15
Interrupts: 3990 (0 spurious)
PHY Access Err: 0
Activations: 3
LED Status: ON
LED On Time: 100
LED Off Time: 100
Init FW: embedded
Operation FW: embedded
SW Version: 3.8131
FW Version: 0x1A04
Interleave Fast Interleave Fast
Speed (kbps): 6144 0 960 0
Cells: 74381670 0 1703304507 0
Reed-Solomon EC: 0 0 0 0
CRC Errors: 0 0 1 0
Header Errors: 0 0 0 0
Bit Errors: 0 0
BER Valid sec: 0 0
BER Invalid sec: 0 0
LOM Monitoring : Disabled
Watch Noise margin and attenuation, for what the numbers mean, look at the bottom of this page: http://teksavvy.com/en/support.asp
and have a look to see if the multilink has come up:
show ppp multilink
Virtual-Access2, bundle name is 343630383332303032320000000000
Endpoint discriminator is 343630383332303032320000000000
Bundle up for 1w1d, total bandwidth 1952, load 1/255
Receive buffer limit 24384 bytes, frag timeout 1000 ms
Using relaxed lost fragment detection algorithm.
Dialer interface is Dialer1
0/0 fragments/bytes in reassembly list
4907 lost fragments, 1313946 reordered
3701/5276490 discarded fragments/bytes, 3701 lost received
0x76569A received sequence, 0xAE320E sent sequence
Member links: 2 (max not set, min not set)
Vi3, since 1w1d, unsequenced
Vi1, since 1w1d, unsequenced
No inactive multilink interfaces
DSL: Training log buffer capability is not enabled
You can see from the output, the interface Virtual-Access2 is made up of Virtual interfaces Vi3 and Vi1
Speed test results:
I typically see about 1 to 1.2 KBytes per second downloads, particularly from Microsoft..
three comments
Raz,
The reported bandwith in the output of the show commands does not reflect the actual speed the interface is running at, it is a default value in IOS for the link type. So in this case it is 2 X the default value for a DSL connection. You can change what that shows by using the bandwidth command on any interface, and change it to anything you want, but it does not change the actual speed the interface runs at.
One or more comments are waiting for approval by an editor.
Nice blog on mlp configuration. My question is regarding bandwidth reported for the bundle in the “show multilink ppp” command;
Bundle up for 1w1d, total bandwidth 1952, load 1/255
Why is the total bandwidth sum of upload bandwidth for both DSL lines?
Thanks