di Aldo Chiecchia

Gruppo Utenti Linux Cagliari h...?

ADSL

Guida di sopravvivenza

C'era una volta il BB

Alla fine degli anni 80 si cercava un modo di erogare servizi broadband (come il VOD) agli utenti finali.

“Se i circuiti locali del mondo fossero allungati da un'estremità all'altra, si estenderebbero fino alla luna in andata e ritorno per mille volte” (A.Tanenbaum)

L'idea alla base era: sfruttiamo questo patrimonio di risorse di connessione.

Cos'è l'ADSL

Asymmetric Digital Subscriber Line

Protocollo ad alta velocità sul doppino fonico

Convive con il canale analogico tradizionale

Termina sempre nel C.O.

Standardizzato inizialmente nel 1993
dall' ANSI T1

Demployment minimo (bassi costi)

Chi c'è dietro l'ADSL?

I consorzi di standardizzazione hanno definito gli standard e le specifiche del mondo DSL

l'ITU (International Telecommunication Union) ha prodotto queste specifiche nelle sue “G-series recomendetions”

Il “Commitee T1” ha prodotto lo standard T1.413 come standard commerciale.

ITU G.900-999
Transmission systems and media, digital systems and networks

G.991.1 High bit rate Digital Subscriber Line (HDSL) transceivers

G.991.2 Single-Pair High-Speed Digital Subscriber Line (SHDSL) transceivers

G.992.1 Asymmetrical digital subscriber line (ADSL) transceivers

G.992.2 Splitterless asymmetric digital subscriber line (ADSL) transceivers

G.993.1 Very high speed digital subscriber line foundation

ITU G.992

ITU G.992.1

This recommendation specifies the physical layer characteristics of the ADSL interface to metallic loops

ITU G992.2

The recommendation includes procedures to allow provisioning without the need for "splitters", typically installed at the ingress to the customer premises. Since there is no splitter, normal operation of the POTS telephone will cause reductions in the rate of the data service provided. Additionally, power management procedures and link states are specified to achieve power savings at the central office and customer premises.

Le sigle conosciute

ITU G.dmt

Full-rate ADSL: si arriva fino a 8Mbit/s in downstream e 1,5Mbit/s in upstream per distanze entro 8000 piedi dal C.O.

ITU G.lite

E' quella che conosciamo: finoa 1,5Mbit/s in downstream e 512Kbit/s in upstream. Non richiede uno splitter lato utente e richiede meno consumo energetico lato ATU-C.

Fast vs Interleaved

Una leggenda urbana narra di questa misteriosa modalità “fast” a bassa latenza.

Il G992.1 definisce un sistema d'integrità dati chiamato FEC (Forward Error Correction)

Per aumentare l'immunità al rumore si utilizza un “interleaver” per affiancare il FEC. Esso è in realtà un buffer che introduce una latenza

Il G.lite supporta solo il modo interleaved! Ecco perchè non tutti i provider ci possono configurare il path in modalità fast.

Discrete Multitone ADSL

255 Canali (detti bins) a 4,3125 Khz ciascuno

Ogni canale modula in QAM (Quadrature Amplitude Modulation)

L'upstream può usare i canali da 6 a 38 (~25-163Khz)

Il downstream può usare i canali da (33 a 255)(~142Khz-1,1Mhz)

L'informazione associata a ciascun baud varia a seconda della frequenza (si arriva fino a 16 bit o 65535 configurazioni nelo schema QAM!)

Discrete Multitone ADSL (2)

Frequenze allocate sul doppino telefonico:

f (

kHZ

)

Downstream

Upstream

26

1104

(552 ADSL Lite)

POTS

138

4

Discrete Multitone ADSL (3)

Il processo di DMT è trasparente rispetto ai dati. Non c'è un vero e proprio Data-Link level che si occupa del framing.

In questo contesto l'utilizzo di un protocollo “svincolato” come l'ATM risulta ottimale.

I dati utente viaggiano via ATM fino al provider di servizi.

Esempio 1

Le linee nere uscenti dalle case rappresentano le portanti ADSL

Il C.O. (Central Office) è la centrale telefonica dove viene terminata la linea ADSL

La rete ATM tra il C.O. e l'ISP garantisce il trasporto dei dati utente

L'ISP è connesso alla rete ATM e raccoglie la connessione dell'utente.

Immagine scaricata da dslreports.com

ATM in Xtra-brief

ATM	è un complesso protocollo di comunicazione detto “a commutazione di cella” dove l'unità di trasmissione è, appunto, una cella di 53 bytes.

I nodi ATM (detti switch) smistano il traffico sulla rete in base ad una coppia di parametri detti VPI/VCI (Virtual Path/Circuit Identifier) della cella e della porta d'ingresso.

Quando configuriamo il nostro dispositivo ADSL è necessario inserire il parametro VPI/VCI assegnatoci dal provider

La situazione italiana

Telecom Italia possiede un imponente rete ATM che si estende in tutto il territorio nazionale (ATMosfera)

Se un provider vuole “connettersi” alla rete ATM per raccogliere i suoi utenti deve “affittare” dei PVC ATM da Telecom Italia.

Una volta “affittati” i PVC quando noi utenti chiediamo un attivazione esso richiede a T.I. l'aggancio della nostra linea fisica al DSLAM e la configurazione in rete ATM.

Dispositivi ADSL

Gateway (Standalone Router): dispositivo indipendente che incorpora una porta ATM, il modem ADSL e uno stack TCP/IP. In una LAN privata ci basta configurarlo come default gateway e siamo connessi.

Modem: contiene esclusivamente il modem ADSL e la porta ATM. Tutta la parte di rete IP/PPP, il routing, il NAT/PAT devono essere gestite dal client (ad es il pppd su Linux)

Dispositivi ADSL (2)

Gateway o Standalone

Dispositivi ADSL (3)

Modem

RFC 1483
Routed and Bridged

Specifica due modalità di traffico di interconnessione sulle reti ATM per le PDU

Multiplexare diversi protocolli per VC
Ciò si ottiene anteponendo al PDU un header IEEE 802.2 LLC (Logical Link Control). Questo metodo è in genere chiamato “LLC Multiplexing”. Spesso al frame LLC segue un header IEEE 802.1a “SubNetwork Attachment Point”. (Da qui la sigla “LLC/SNAP”)

Usare solo ed esclusivamente un protocollo per VC assegnato
In questo caso non è necessario trasmettere esplicitamente informazioni di multiplexing: è implicito. Questo metodo è in genere chiamato “VC-MUX” o “VC-based Multiplexing”

Point-to-Point su ATM

Ci sono essenzialmente due modi per incapsulare traffico PPP sulla rete ATM

RFC 2364 descrive esplicitamente la metodologia di incapsulamento PPP su ATM AAL5

RFC 2364 definisce un metodo per trasportare il PPP su frame IEEE 802.3 (Ethernet).
Qui come si nota non si parla esplicitamente di ATM. Questa modalità è utilizzabile con configurazioni di bridging

PPPoE

PPPoE (2)

Come abbiamo visto dall'immagine precedente è essenziale che il Client e l'Access Server “parlino” ethernet.

Questo si ottiene impostando, nel modem, il segmento uscente in WAN in bridging con l'interfaccia ethernet

Il canale in uscita alla WAN, ricordiamolo, è ATM

PPPoE (3)

A questo punto il client e l'Access Server (chiamato Access Concentrator) possono concordare la modalità d'accesso.

Nella fase di discovery il client scopre se sul canale ethernet esiste un Access Concentrator disponibile. Se esiste viene associato un ID di sessione

Nella fase di sessione viaggiano le trame PPP ed i dati (LCP, PAP, IPCP) etc.

PPPoE (4)

Svantaggi del PPPoE

Dipende dalla configurazione in bridge mode

Overhead di trasmissione (deve passare anche l'header 802.3)

Sta pian piano cadendo in disuso

Vantaggi del PPPoE

Indipendenza dalla rete di trasporto

Diffusione di 802.3

Il problema dell'interfaccia

Interfaccia ethernet

Il vantaggio è evidente: la grande diffuzione dell IEEE 802.3. In genere, nei dispositivi ADSL è associata, nell' immaginario, ai modem PPPoE. Questo non è sempre vero come vedremo.

Il problema dell'interfaccia (2)

L'interfaccia USB

Grande facilità di installazione nei sistemi plug'n'play. Grande dipendenza dai device drivers. La situazione su Linux, purtroppo, non è rosea

Linux e ADSL

Interfaccia ethernet

Client PPPoE

PptP-to-PPPoA Relaying (Alcatel)

Interfaccia USB

Client PPPoA

PPPoE su Linux

configurazione del kernel:

PPPoE su Linux (2)

Configurazione del ppp

name myloginname

mtu 1492

mru 1492

noipdefault

defaultroute

plugin /usr/lib/pppd/plugins/pppoe.so

Iniziare la sessione

shell# pppd eth0

PPPoE su Linux (3)

Esempio di utility di autoconfigurazione (ppoeconf su Debian Linux)

PPPoA su Linux

Descriveremo due modalità

PPtP-to-PPPoA relaying su interfaccia ethernet

PPPoA su interfaccia USB

PPtP-to-PPPoA

Protocollo di tunnelling a livello 2 definito nel RFC 2637

Ci consente di configurare una VPN locale in PPtP fino al modem ADSL

Non richiede configurazioni particolari

Buon compromesso per la compatibilità

PptP-to-PPPoA (2)

Configurazioni del kernel

PptP-to-PPPoA (3)

/etc/ppp/options

noauth

crtscts

lock

noipdefault

name myloginname

user myloginname

proxyarp

lcp-echo-interval 30

lcp-echo-failure 4

defaultroute

/etc/ppp/pap-secrets

myloginname	*	mypassword

PptP-to-PPPoA (4)

Esempio

shell# pptp 192.168.1.1

shell# ifconfig ppp0

ppp0 Link encap:Point-to-Point Protocol

inet addr:82.84.82.121 P-t-P:195.130.236.69 Mask:255.255.255.255

UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1500 Metric:1

RX packets:4 errors:0 dropped:0 overruns:0 frame:0

TX packets:5 errors:0 dropped:0 overruns:0 carrier:0

collisions:0 txqueuelen:3

RX bytes:40 (40.0 b) TX bytes:61 (61.0 b)

PPtP-to-PPPoA (5)

Vantaggi

Semplicità di configurazione

Non necessita driver particolari

Protocollo standard

Svantaggi

Supportato solo da Alcatel

PPPoA USB

Alcune considerazioni

Tra le tipologie “modem” è quella più comune

Richiede driver di periferica specifici

Richiede la configurazione esplicita ATM

Nel nostro esempio utilizzeremo un modem supportato nativamente dal kernel 2.4.22 (Alcatel Speed Touch USB). La distribuzione di riferimento sarà la Debian

PPPoA USB (2)

Configurazione driver USB

PPPoA USB (3)

Configurazione ATM

PPPoA USB (4)

Configurazione PPPoA

PPPoA USB (5)

Installare gli script hotplug

apt-get install hotplug

Installare le userspace utilities per lo speedtouch

apt-get install speedtouch

Copiare il firmware del driver in

usr/local/lib/speedtouch/firmware.bin

Editare il file /etc/ppp/options

PPPoA USB (6)

Firmware del driver

firmware.bin

http://speedtouch.sourceforge.net/files/firmware.bin

KQD62.eni

http://download.ethomson.com/download/KQD6_R204.zip

alcaudsl.sys

http://www.speedtouchdsl.com/support.htm

PPPoA USB (7)

/etc/ppp/options

lock

defaultroute

noipdefault

noauth

holdoff 4

maxfail 25

persist

asyncmap 0

lcp-echo-interval 2

lcp-echo-failure 7

name myloginname

name myloginname

plugin /usr/lib/pppd/plugins/pppoatm.so

8.35

PPPoA USB (8)

Se tutto va a buon fine:

pppd[1234]: Plugin /usr/lib/pppd/plugins/pppoatm.so loaded.

pppd[1234]: PPPoATM plugin_init

pppd[1324]: PPPoATM setdevname_pppoatm

pppd[1324]: PPPoATM setdevname_pppoatm - SUCCESS

pppd[1235]: pppd 2.4.0b1 started by root, uid 0

pppd[1235]: Using interface ppp0

pppd[1235]: Connect: ppp0 <--> 8.35

pppd[1235]: local IP address xxx.xxx.xxx.xxx

pppd[1235]: remote IP address yyy.yyy.yyy.yyy

Ricapitoliamo

PPPoE

Si basa sullo standard IEEE 802.3. Richiede il bridging. Overhead nella trasmissione. Configurazione sempre meno supportata

PptP-to-PPPoA relaying

Soluzione elegante, semplice e pulita, senza necessità di drivers particolari. Supportato solo da Alcatel

PPPoA USB

Facilità di installazione se il PnP è configurato bene. Forte dipendenza dai device drivers.

Conclusioni

L'ADSL rimane per la maggior parte degli utenti un grande mistero nonostante la sua grande diffusione

Un po più di trasparenza per gli utenti non farebbe male (vedi banda garantita)

La situazione per Linux non è rosea: i drivers per i modem USB sono quasi tutti off-tree e non è semplice per un novizio installarli

Resources

RFC 1483 Multiprotocol encapsulation over ATM AAL5

RFC 1483 PPP over ATM AAL5

RFC 2516 Method to transmit PPP over Ethernet

PPP over Ethernet overview

Alcatel Speed Touch drivers & HOWTO

Linux ADSL HOWTO

The DSL Forum

Cisco ADSL Whitepaper

2003-11-24T14:29:07