Figuring Out Verizon's DSL Protocol
(Note: This is a part of my Adventures In Geekdom.)
Having had problems with our ISP-provided Verizon-branded ADSL modem/router, I bought a Cisco SR520 to replace it. I was able to get some of the configuration information out of the old mouter, but nothing indicating the exact protocol used.
I had called our ISP to ask about what standards my DSL modem might need to adhere to and gotten a nice little runaround where they told me basically to just buy the one that I already had. The lady refused outright to tell me anything about what standards were in use, claiming that "the CO doesn't give out that information."
Wonderful. At this point, I'd done some reading about the various DSL protocols and determined that there really weren't that many. Going through the Cisco book covering ISCW material (CCNP-level WAN and VPN configuration, mostly), I counted that there were only really three options:
- PPP over Ethernet over ATM
- PPP over ATM with AAL5MUX
- PPP over ATM with AAL5SNAP
Well, as with many things, books don't always reflect reality.
I ordered the router and wrote up partial configurations to save time when it arrived, including variants for each of the three ADSL protocol options. When it arrived, I installed the first and (once everyone else had gone home) tried it out.
Well, to cut the story short, none of the three options worked. I could successfully use OAM to ping, so clearly the ADSL link itself worked, but I couldn't get IP over it. With the hour getting late, I turned on debugging to capture some of the incoming ATM cells so that I could look over them the next day.
The next morning I broke open some more books (and RFCs) and started looking up everything I could on AAL5 and SNAP, using this information to manually decode the ATM cells (captured from the debug output in hex). I determined that the encapsulation was certainly AAL5SNAP, but the SNAP header indicated that the contents were not IP and also not PPP. Instead it was something called Bridged Ethernet, something which none of the books even mentioned as an option.
Having discovered that, it then became an exercise in how to get the Cisco router to speak Bridged Ethernet. Setting the ATM interface to speak IP directly resulted in AAL5SNAP+IP. The solution was to enable "Integrated Routing and Bridging", which allows the use of a "Bridged Virtual Interface". Placing the ATM interface into the relevant bridge-group, and then setting the IP configuration on BVI1, causes the router to bridge ethernet frames directly onto the ATM link. As soon as I enabled that configuration, IP connectivity was instantaneous.