[AUUG-Talk]: Documenting how ADSL modems work?

Michael Paddon michael at paddon.org
Thu Sep 8 14:58:08 EST 2005

I'm not sure I can answer all your questions, but here is what (I think) I 

Greg 'groggy' Lehey writes:
> Specifically, a lot of terms are mentioned: RFC 1483 bridged and
> routed modes, VPI, VCI, UBR, raw bridges, and many more.  I can find
> some of this stuff in mulitple different places (like RFC 1483, for
> example, which makes your eyes go funny, which states that it's
> obsolete and which doesn't really talk about how the modems implement
> it), but I can't find any in-depth documentation that explains how it
> all fits together.

The ADSL link layer consists of a synchronised stream of fixed 
length frames. You may remark that this looks a lot like ATM and, indeed,
the multiplexing layer of the ITU ADSL standard is built on ATM.
Knowing this, a bunch of jargon begins to make sense...

Some ATM terms:
  * VPI: Virtual Path Identifier
  * VCI: Virtual Channel Identifier
  * UBR: Unspecified Bit Rate

A VPI/VCI pair identifies a virtual circuit. In ADSL a virtual circuit is 
used to demultiplex a higher level protocol from the ADSL frame stream.
In practice, only one circuit is used for residential services.
Theses numbers are assigned arbitrarily, but the ADSL peers must agree on their
meaning. A VPI/VCI of 8/35 is common in Australia.

Some devices claim to "auto-negotiate" VPI/VCI, but I believe that they 
simply hunt among a set of well know VPI/VCI values until they find a frame 
they recognise. In practice, expect to set the values manually to the magic 
numbers provided by your ISP.

Unspecified bit rate basically means that there is no QoS service on an ATM 

RFC 1483 specifies an encapsulation mechanism for higher level protocols 
over ATM. This is commonly used in ADSL to carry 802.3 ethernet frames, thus 
creating a MAC-layer bridge between your network and your ISP. This then 
allows you to run PPPoE to establish WAN connectivity.

An alternative is to run PPPoA which, if supported by your ISP, saves the
802.3 overhead. Obviously PPPoA only works if your PPP client is integrated
with your ADSL modem.

ADSL modems can commonly run in one or more modes:

  * Routed mode: the modem terminates the PPP session and acts as a border 
    router and NAT device for your internal network. This is a popular setup,
    since you can then plug in a windows box and go surfing.

  * Bridged mode: the modem acts as a pure 802.3 bridge. You need something on
    your internal network that can talk PPPoE, terminate the PPP session
    and route packets. This is useful if you want a real box (rather than
    the dinky modem) to do the PPP/NAT and own the external address.

  * Half-bridged mode: the modem does the PPP, and then acts as an 802.3
    bridge between the end of the PPP link and your internal network. Thus
    something on your network has to "take over" the external PPP assigned 
    address(es), and do NAT, etc. This is an abomination.

> Further issues are that I'm running an IP-IP tunnel, and that I want
> to run VoIP.  I've worked out some things about IP-IP tunnels (and how
> they differ from GRE tunnels), but the documentation I've found about
> VoIP, especially in this context, is pretty minimal.  If anybody can
> point me to a good tutorial introduction, I'd be grateful.

Running mobile IP? You poor bastard... :-)

If you are running protocols that do not play well with NAT (i.e. IPSec, GRE,
IP in IP, SIP), then you might want to use bridged mode and have a real 
machine manage your globally routable address(es). Note that many ADSL modem/routers 
have really dumb NAT implementations.


More information about the Talk mailing list