eircom i-stream ADSL
Karl Jeacle


Introduction

This document is one person's thoughts and opinions on eircom's i-stream ADSL service. It is mostly a technical discussion and does not cover many commercial issues or any competing products or services. The focus is on technology and, in particular, how IP services are provided. The author is a former employee of eircom and was involved in the design and rollout of i-stream. As there is some personal ranting and soapboxing, the views expressed here are obviously those of the author and not those of eircom. You may not agree with everything written here!

For general ADSL information, try: www.adsl.com

What is i-stream?

i-stream is the brand name used for eircom's ADSL product. There are a variety of ways to build an ADSL network, and a variety of platforms can be used. i-stream is a reasonably straightforward implementation of ADSL. There are no proprietary hardware or software requirements. Both ethernet and USB customer interfaces are offered and client software is available for Windows, Macintosh, Linux, FreeBSD, Amiga etc.

Service definition

The i-stream service uses a very common ADSL network configuration of PPPoE over RFC1483 bridged ethernet on ATM PVC 8/35. Line speeds are 512/128 and 1M/256. The contention ratio used for dimensioning traffic from DSLAM ports back to the core of the network is 24:1 or 48:1.

Huh?

If you didn't understand a word of that service definition, here's a brief summary of the components involved:

Revisiting the service definition:

Product summary

For official eircom product information, see: www.adsl.ie

Business

There are three business products:

  1. i-stream solo - single user, 512/128, 6GB per month, 24:1
  2. i-stream multi - four users, 1024/256, 10GB per month, 24:1
  3. i-stream enhanced - unlimited users, 1024/256, no limit, 24:1

The solo product is a basic ADSL product. You get your line enabled, connect via an ADSL bridge/modem (either USB or ethernet) and then bring up IP connectivity via a single PPPoE account. There is a limit to how much you can download before being billed for usage.

The enhanced product is a single PPPoE account like solo, but probably supplied with a router, and with one or more IP addresses routed to you. By default you will get a dynamic address, but you can ask for as many static addresses as you can justify to RIPE. There is no download limit with the enhanced product.

The multi product is a little bit different to the average broadband Internet product and requires some discussion. Essentially, it is just multiple individual PPPoE accounts, and you will probably be supplied with a 4-port ethernet bridge as your modem. Again, there is a limit to how much you can download before being billed for usage. The basic idea behind the product is that a single ADSL line can be used for multiple separate independent connections to the Internet.

For example, in a small business setting, you might have a single ADSL line going into a building, but have four separate businesses sharing the line - each with their own unique PPPoE login account. In a residential setting, again with a single line to the house, you might have a parent in the study using a PPPoE session to connect to a corporate VPN, while in their bedrooms, children could have PPPoE sessions to their ISP or independent gaming service. While all these PPPoE sessions are running over the same physical ADSL line, their traffic is invisible to each other.

Residential

There is one residential product: i-stream starter

48:1 means that the contention rate is twice that of the business product. Rate-adaptive means that the service is available to any customer whose line can achieve a DSL rate between 256K and 512K. This offers significant reachability improvements over the business product where the line must sync up at 1Mb before any service is offered (and yes, this 1Mb line sync is necessary even if the customer is looking for 512K access). See notes below on latency for implications of interleaving.

For more information on i-stream starter, the eircom web site has a copy of the self install user guide. This has lots of nice pictures, and explains what's involved in setting up both the USB and ethernet i-stream starter options.

CPE options

There are quite a few options when it comes to choosing what Customer Premises Equipment (CPE) to use. If you have a single PC, you can choose between USB and ethernet connections. If you have more than one PC, you will have to use ethernet, so your choice is between a bridge/modem and a router.

Let's clarify some important terminology:

Modems / bridges / routers

DSL chipsets operate at layer 1 - they terminate ADSL lines.
Bridges operate at layer 2 - they bridge ethernet over ATM.
Routers operate at layer 3 - they run PPPoE and provide IP routing.

A device that just contained a DSL chipset would not be of much use. The most basic ADSL CPE is therefore a bridge or bridging modem. The term ADSL modem and ADSL bridge is used interchangeably. It means the same thing i.e. a device with a DSL chipset that terminates a DSL line, and then bridges ethernet packets over an ATM PVC running on that DSL line.

When using a bridge/modem, all PPPoE and routing takes place on the PC, or on a separate router. A bridge can be "PPPoE compatible" but that can just be marketing-speak for saying that it can bridge all ethernet packets including PPPoE packets.

One layer up from this is a router. This is a device that routes IP packets, contains PPPoE functionality, and (in the ADSL world) often has a built-in bridge/modem. When using a router, all PPPoE and routing takes place inside the router. There is no need for PPPoE clients on desktop PCs.

i-stream solo & i-stream starter

You need a bridge/modem - either USB or ethernet. I would always recommend ethernet over USB (if only to avoid driver difficulties), but if you have a single PC with a USB port and no ethernet card, then connecting a USB modem is a very convenient option. It's also possible to install an internal ADSL card, but if you're going to install something, install an ethernet card, and just use an external modem.

i-stream multi

If you choose the "multi" service, you will connect your PCs into a bridge/modem (either via your own hub, or through a built-in hub on the modem), and you will get multiple PPPoE accounts, and run PPPoE separately on each PC - just like having a dialup phoneline on each PC, there will be a completely separate connection to the Internet taking place on each PC.

i-stream enhanced

Most people with multiple PCs will purchase the "enhanced" product and use a router. You can use any ADSL router you like, as long as it has PPPoE client functionality. The router will terminate the bridged ethernet link to eircom (as a modem would) and then bring up a PPPoE session. While this is what most people will do, there are actually three options available here:

  1. ADSL Router with one ADSL port and one ethernet port
    Obviously enough, the ADSL port connects to the DSL line, while the ethernet port connects to the internal LAN. This is the most straightforward way to connect a LAN to the Internet via ADSL.
  2. Normal router with two ethernet ports, and ADSL ethernet modem
    If you are not particularly enamoured with the choice of ADSL routers available, you can use any router that has two ethernet ports, as long as it has PPPoE. One port on the router connects to the LAN, while the other port connects to the ADSL modem. The ADSL modem is a simple bridge, so forwards all PPPoE packets from the router down the DSL line.
  3. Unix box with two ethernet ports, and ADSL ethernet modem
    If you cannot afford a decent router or have an unhealthy infatuation with the Unix operating system, you are free to run PPPoE on any Unix flavour of your choice and create your own NAT'ing firewall.

While the above LAN options are intended for the "enhanced" product, there is nothing to stop anyone buying the "solo" product, and building an identical configuration.

Alcatel / ZyXEL notes

Alcatel SpeedTouch USB / ZyXEL 630

The basic USB option. One ADSL port and one USB port. No external PSU is required as it draws power from the USB port.

Alcatel SpeedTouch Home / ZyXEL 642M

The basic ethernet option. One ADSL port and one ethernet port.

Alcatel SpeedTouch Pro / ZyXEL 643M

The SpeedTouch Pro is provided by eircom as a 4-port bridge. That's because the i-stream service is a bridged service. The SpeedTouch Pro can do lots of things, but the only reason eircom selected it was to use it as a 4-port ethernet bridge on the "multi" service.

The SpeedTouch Pro does not have a built-in PPPoE client, so while it is sold in other countries as an ADSL router, eircom will only sell and support it for use in bridged mode.) If (for whatever reason) you are supplied with a SpeedTouch Pro on the "enhanced" service, you are expected to add your own two-port ethernet router to run PPPoE.

The ZyXEL 643 is similar. As a 643M is it is a 4-port bridge, just like the SpeedTouch Pro, but as a 643R it is a real router, and really does include PPPoE client functionality.

Cisco 77 / Cisco 827 / ZyXEL 643R

These are ADSL routers. They have one ADSL port, and one (or more) ethernet ports. There are many devices like this available on the market.

Download allowances

It is important to remember that with i-stream, what you are paying for is always-on connectivity, not always-on data transfer! Think of it just like electricity. You may pay an ongoing fixed charge for service, but the more you use, the more you pay! Two key points:

  1. It's an "allowance" not a cap or limit
    People are quick to point out that there are "caps" or "limits" to using the i-stream service. This is a little bit misleading because you can download as much as you want, but it's a metered service, so the more you download from it, the more you have to pay.
  2. The enhanced product imposes no usage charge
    If you are a particularly heavy user, you can opt for the high-end enhanced product which charges a fixed rate regardless of how much you download. (Given that the solo and multi products are usage-billed, the pricing of this product is inconsistent, and could even be considered too generous! It will be interesting to see how long this pricing structure remains in place.)

Bandwidth, billing & contention

When offering services based on modems and ISDN lines, service providers can receive revenue based on the amount of time spent online, so the service is effectively metered. At the same time, the amount of data each customer can download is automatically limited by the narrow bandwidth available on the dialup connection.

With ADSL, the opposite happens: there is no clock ticking on an always-on connection, and the customer suddenly has far more bandwidth available. This presents a serious financial problem for the service provider. It is not financially viable to allow all customers to continuously download from the Internet. The existing dialup model doesn't work any more. Some form of alternative billing has to take its place.

In an ideal world, you could estimate how much data people are likely to download, and then impose a fixed charge for everyone that covers all costs. The light users would end up subsidising the heavy users, but everyone would be happy with their flat fixed fee. Unfortunately, life isn't so simple, and we find ourselves in a Tragedy of the Commons situation. Both trial and real-world experience shows that a worse than 90/10 rule will apply to download rates on ADSL traffic i.e.

Put another way, 90% of the service provider's bandwidth costs are down to servicing just 10% of their customers! These 10% of customers are the reason why usage-based billing is necessary. As a service provider, you either offer service to everyone, and charge customers for how much they use, or you accept only customers who fall into the "90% normal" bracket. Of course, it's usually not possible to know who these customers are in advance, so you can't deny service. (On the other hand, you can always find out after you've taken them on, and then cease service, but this isn't a very popular decision! c.f. 2000 Surf-No-Limits customers.)

But what about all those cable and DSL services that offer flat-rate broadband? There's a simple answer to that question - you get what you pay for! Of course it's possible to offer customers ADSL service that is technically 512K or 1Mb/s, but whether the customer will receive a decent quality of service is another matter.

Low-cost broadband is possible by oversubscribing customers. This is done by introducing contention either within the ADSL access network (i.e. 24:1 or 48:1) or further upstream at an aggregate IP level.

So in the case of low-cost flat-rate broadband products, it may be the case that the headline rates are what the modems sync up at, but in terms of download rates, these speeds may only be achievable at certain times of the day (e.g. 4am on Sunday mornings :-).

i-stream customers can view their usage statistics at: http://broadbanddownload.eircom.net/

Latency

ADSL RTTs can be as low as 5ms, but with the business i-stream products you will probably experience RTTs on the order of 50ms (yes, that's worse than ISDN!). This is because a technique called interleaving is used. The residential product, however, uses a lower interleaving setting and consequently RTTs of 20ms can be expected.

Turning on interleaving reduces line errors and increases reach. The cost is the increase in latency. In an ideal world (or in some other places where DSL is offered), you'd have a choice as to whether or not you want it enabled on your line. It's possible that eircom might do this some day, but for now, the interleaving settings are dictated by the type of product you buy.

There is a lot of hype about high latency. It's true that some applications are affected (remote desktops, online gaming), but on balance, interleaving can be a good thing - at least as a default to start with. The effect on TCP of random packet drops caused by a noisy non-interleaved ADSL line can be disastrous - far worse than any loss of performance caused by higher latency.

If you are interested in learning more about how latency can affect performance, see Stuart Cheshire's excellent rant entitled "It's the Latency, Stupid" . You are especially encouraged to read this if you are one of those people who persist in claiming that ISDN does not offer any significant benefit over 56K dialup.

ADSL over ISDN

Normally ADSL is run on copper lines that carry POTS/PSTN traffic. But some people have ISDN lines, and they want to keep their ISDN lines, but get ADSL service. This is what ADSL over ISDN means.

Because of the differences between POTS and ISDN, the modems in the customer equipment and in the DSLAMs must be changed. This means that an ADSL over ISDN customer must buy different CPE to normal customers, and the carrier must install different modems in the DSLAMs. This ISDN/ADSL-capable equipment is often referred to as "Annex B" equipment (normal POTS/ADSL is "Annex A").

Along with the reduced reach of ADSL over ISDN, having to dedicate ISDN-only line cards in the exchanges, and the increase in complexity in provisioning systems and processes means that many operators are reluctant to offer ADSL over ISDN. The alternative offered is a procedure where you can downgrade your ISDN line to POTS, before adding ADSL.

This is the position that eircom have taken - perhaps this will change in the future, but for now, ADSL is a POTS service.

IP addressing

All IP addresses provided on i-stream are public. By default you will get a dynamic pool address from 159.134.0.0/16 (just like the eircom dialup service). On the enhanced product you may be assigned a fixed single address or subnet. Note that PPPoE is always used, even if you have a fixed address. The fixed address/subnet is just routed down the PPPoE link.

You will keep a dynamic IP address for as long as the session remains up. In theory, that should be forever, but your PPP session will drop if connectivity is lost for a few minutes. This might happen because:

  1. temporary local line problems interfere with the DSL connection
  2. a scheduled outage occurs at the eircom server
  3. an unscheduled outage occurs at the eircom server

(1) is dependent on your line, and if you're lucky, may never happen.
(2) will happen, but should not be too often.
(3) should never happen, but probably will from time to time.

Because public IP addresses are used and unrestricted access to the Internet is provided (i.e. no ports are blocked or filtered), you should consider installing some form of firewall, especially if you intend to leave yourself connected for long periods of time.

Why PPPoE?

PPPoE == PPP over Ethernet == Point-to-Point Protocol over Ethernet.

PPPoE is the protocol used by i-stream to establish IP connectivity from the customer to the Internet. PPPoE is a modification to PPP, the protocol normally used by dialup (and many other point-to-point) connections.

As the name implies, PPP is normally run over point-to-point links between two systems - dialup connections, serial links, leased lines etc. When a broadcast media such as ethernet is available, PPP is not necessary. So why does PPPoE exist?

This is a difficult question to answer, so let's take a look at some of the background...

Most broadband offerings to date that use ADSL technology have been built using ATM to carry data from the customer modem to the DSLAM in the local exchange. ADSL itself does not care what mechanism is used to carry bits on top of it, but for historical and political telco/vendor/carrier reasons, rolling out ADSL has implied rolling out (or making use of existing) ATM infrastructure. This is the case for eircom's i-stream service.

Using ATM means that there is a Permanent Virtual Circuit (PVC) from each customer back to the service provider. While ADSL only runs from the customer modem to the DSLAM, the ATM PVC runs from the customer modem right through the DSLAM, onto an ATM network, and eventually terminates at a service provider who can offer IP connectivity.

So an ATM PVC exists between the customer and the service provider. How do we get IP onto this PVC? It's a point-to-point link, so one solution is to run PPPoA i.e. PPP over ATM. And this is a perfectly valid use of PPP. Many ADSL providers build their networks like this e.g. BT in the UK.

What is the alternative to PPPoA? Instead of running PPP directly on the ATM layer, we can abstract one layer further, and use RFC1483 to build a bridged ethernet link on top of the PVC. Now, instead of seeing an ATM interface, the customer sees an ethernet interface, and this virtual ethernet extends from the customer modem right through the DSLAM, across the ATM network, all the way to the service provider. So a private individual ethernet connection exists between every customer and the service provider. And as these are distinct ethernet links, one customer cannot snoop on another customer's traffic.

One reason why this approach is so attractive is the current ubiquity of ethernet. Whether it's DSL, Cable, or Wireless, public operators are starting to offer services based on ethernet. Standardising on a single interface can mean reduced provisioning costs when rolling out services based on different underlying network technologies. Customers will always be able to handle (and will usually be happy to see) an ethernet connection.

So now we have ethernet, and we want to run IP. We don't want to individually number every interface by hand, so how do we allocate IP addresses and bring up IP connectivity? Simple, DHCP of course!

Well, it's not that simple actually. Yes, DHCP will work, but this isn't a private LAN. This is a public network with paying customers. Not all customers are the same. Different customers will pay different rates for different services. That may be in terms of bandwidth, QoS, download allowance, and fixed/static or dynamic IP addressing. And in addition to making this differentiation, the operator has to be able to reliably bill for these services. It is possible to implement some of this with DHCP and customised backend systems, but the preferred approach by most carriers is to mirror what happens in the dialup world i.e. PPP and RADIUS.

But we've just said that standardising on an ethernet interface was in everyone's interest. How can we use PPP over an ethernet link? We need a modified version of PPP that will run over ethernet! Thence PPPoE.

PPPoE and MTU sizes

The Maximum Transmission Unit (MTU) is the largest size packet that a network link can carry. Ethernet's MTU is 1500 bytes. When an IP packet is carried on ethernet, the full 1500 bytes is available to carry IP information. However, when running IP over PPP over Ethernet, an extra layer is introduced. PPPoE requires an 8 byte header. This means that a host running IP over PPPoE must set its MTU to 1492.

The Maximum Segment Size (MSS) is the largest segment of user data that a TCP connection can carry. It is typically 40 bytes smaller than the underlying link's MTU. This is because a packet's IP header and TCP header are normally 20 bytes each. So when running TCP over IP on ethernet, every 1500 bytes of user data in the ethernet frame contains just 1460 bytes of TCP user data. When running TCP over IP over PPPoE, the MTU is 1492, so the maximum amount of user data that can be sent between TCP end-points is 1452 bytes.

By default, all PPPoE clients set their MTU to 1492, so a PPPoE client will open all TCP connections with MSS advertisements of 1452. The TCP stack at the other side will honour this MSS, and will never send an IP packet larger than 1492 bytes. So everything is fine on the PPPoE client. What causes some people trouble is when they try to share their DSL line by putting other PCs on a LAN behind their PPPoE connection.

When this happens, the PCs behind the client probably have MTUs of 1500, TCP will offer an MSS of 1460 to remote sites. When these remote sites try to send back packets, they run into difficulty because when the packets reach the ADSL connection, the MTU on the link is too small. An ICMP error will be generated telling them that their packets are too large and should be fragmented. This is a process known as Path MTU Discovery (PMTU-D). In theory, they should get this ICMP message and resend. In practice, this doesn't always happen. Unfortunately, many sites block ICMP, and this breaks the PMTU-D process. Mark Slemko has written a commonly referenced document on PMTU-D and ICMP.

If the client PCs have their MTU set to that of the host running PPPoE (typically 1492 - but could be lower in the case of L2TP), this problem will never happen. TCP will ensure that the MSS is set appropriately low so that all packets will get through. However, a better solution is not to change all the internal PC's MTUs, but to use a gateway with a PPPoE implementation that is aware of the problem and can dynamically modify the MSS of a client PC's outgoing TCP packets. Most modern PPPoE routers and Unix PPPoE/NAT implementations can do this.

Renaud Waldura's article on using PPPoE with FreeBSD has a good discussion of this.

How bad is PPPoE?

People offer lots of reasons for why PPPoE is a bad thing. Unfortunately, many of these don't stand up to very much scrutiny. Here's a few common arguments and counter-arguments.

ADSL without eircom?

The text above is mostly relevant to the operation of eircom's i-stream service, however this isn't the only way to offer Internet services over ADSL. It's possible to connect into the infrastructure at various levels. While reading about competing products to i-stream you may find yourself asking the following questions:

More?

Lots of interesting information at http://www.thinkbroadband.com/

Comments?

Comments, questions, suggestions, etc to: karl@jeacle.ie


Last significant update: 29 June 2003