Sat (Tecnologia Satellitare) HOWTO Roberto Arcomano berto@fatamorgana.com, Florindo Santoro flosan@hack-it.net v1.1, 2 Maggio 2001 Il Satellite sta iniziando a diventare una risorsa molto rilevante per gli utenti Internet, permettendo di scaricare dati ad alta velocità e di usare molti altri servizi. Questo documento vuole investigare sullo "Stato dell'Arte" delle connessioni satellitari in ambiente Linux, come velocizzarle e come condividerle con più utenti. Potete trovare l'ultima versione di questo documento su e . Traduttori: Roberto Arcomano , Florindo Santoro Introduzione Introduzione

Questo documento intende illustrare le basi della tecnologia Satellitare, come funziona, che cosa è necessario per usarla, come configurarla e come condividere la connessione Satellitare fra più utenti. Le connessioni satellitari sono molto diverse da quelle terrestri, richiedono molta attenzione sia nella configurazione che nella manutenzione (neve o forte pioggia potrebbero incidere negativamente impedendo la ricezione).

Per qualunque commento o critica scriveteci a: e .

Copyright

Copyright (C) 2000,2001 Roberto Arcomano, Florindo Santoro. This document is free; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This document is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You can get a copy of the GNU GPL

Conoscenze di base Informazioni generali sulle connessioni satellitari

Negli ultimissimi anni sono apparse le prime applicazioni dei satelliti su Internet, essenzialmente gestiti da ISP medio-grandi, e si è assistito alla loro diffusione. Le connessioni Satellitari determinano un tipo di "reti" molto diverse da quelle terrestri, con diverse tempistiche, come ad esempio un maggiore RTT (round trip time), ma anche con diverse velocità, arrivando fino a 2 Mb/s o più.

Come funziona?

Possiamo immaginare un percorso come il seguente:

|||||| S A T E L L I T E |||||||| / /|\ / | Upload Download / | dal verso /(4) | (3) server l'utente / | / | Scheda Sat(parabola) | | | \|/ | PC Utente ---- richiesta ----> Sat-Server <---recupero-dati---> INTERNET (1) (2)

Prima di tutto facciamo la richiesta (1) (utilizzando la nostra connessione ad Internet) al server satellitare, che a questo punto recupererà i dati per noi da Internet (2) e li manderà al satellite (3); infine noi riceveremo i dati direttamente dal satellite (4) a casa utilizzando l'antenna parabolica connessa alla scheda Sat.

Tipicamente esistono 2 tipi di richieste:

Http Ftp

Entrambe usano pochissimi byte per le richieste e ricevono risposte molto "corpose", quindi funzionano molto bene con il satellite, ma hanno un elevato tempo di risposta, che è il problema principale delle connessioni Sat (se consideriamo una tipica distanza Sat, come 36.000 km, avremo un tempo di accesso di [ 36000 km / 300.000 km/s = 0.120 s = ] 120 ms da aggiungere, 2 volte, perché prima il server manda i dati e poi noi li scarichiamo, al classico tempo di risposta di Internet terrestre).

Recentemente gli ISP permettono ai loro clienti l'utilizzo di ulteriori servizi, quali:

Chat Email News

e molti altri.

Esiste, inoltre, una tecnologia chiamata "one-way" (a una via), che consiste in servizi email, download su richiesta (in cui si fa una "prenotazione" che verrà servita in un certo istante) e download: questi servizi sono offline, cioè non richiedono l'utilizzo del modem o di altra connessione ad Internet.

Altre tecnologie

Riportiamo qui, per completezza, un ulteriore tecnologia, il "2-way" (a due vie): essa richiede soltanto la parabola per funzionare, in quanto gestisce la comunicazione in entrambi i sensi. Il costo è molto più elevato rispetto alla soluzione classica. Ci aspettiamo novità interessanti nell'immediato futuro, per adesso è possibile avere una banda di 4 Mbit/s in download e 256Kbit/s in upload.

Qual è la velocità massima?

Dipende da diversi fattori: obiettivo dell'ISP, finestra TCP utilizzata, applicazioni utilizzate dall'utente e, più importante di tutti, la congestione della rete Internet.

In generale ci si può aspettare una banda massima intorno a 1-4 Mbps e una media di circa 10-30 KByte/s, ma ripeto, dipende da molti fattori.

In ogni caso, molti ISP dichiarano di fornire una banda "massima", ma quella media potrebbe essere molto più bassa, a causa dell'intasamento all'interno dell'ISP.

Alcuni ISP, invece, garantiscono una banda "minima", molto più significativa della precedente, in quanto sempre disponibile (Internet permettendo).

Vedi l'Appendice A per ulteriori informazioni sul miglioramento della prestazioni.

Quanto costa?

Bisogna distinguere tra i costi hardware e quelli dell'abbonamento: i primi sono noti a priori, mentre i secondi dipendono dal tipo di servizio che si sceglie (garantito / non garantito, con quale banda....).

Costi hardware

Per installare il nostro sistema satellitare abbiamo bisogno di:

Scheda satellitare Antenna parabolica Uno o più convertitori (feed)

Si noti che è necessario utilizzare un convertitore digitale per usufruire di Internet via satellite.

Le schede satellitari hanno costi che variano, a seconda della marca, dai 200$ ai 300$; l'antenna parabolica intorno ai 50$ e il convertitore intorno ai 50$.

Quindi, in sostanza, abbiamo all'incirca 3-400$ di costi hardware (cui bisogna ancora aggiungere i costi di installazione!!).

Nel caso si voglia ricevere dati criptati, saranno necessari:

CI, circa 100$ CAM, 100-250$

Costi dell'abbonamento

Qui i prezzi dipendono da quale ISP scegliamo, qual è la sua banda di picco (massima), se esiste o meno una banda garantita (come detto precedentemente, più importante della banda di picco), che tipo di servizi vengono forniti e così via.

Alcuni ISP danno accesso gratuito, in cambio di un banner pubblicitario sempre "in primo piano", cioè non iconificabile. In questo caso si pagherà quando si andrà ad acquistare qualche prodotto reclamizzato!!

Tipici costi di abbonamento sono, all'incirca, 100-150$ l'anno per i servizi "non garantiti" e 4-600$ o più per quelli a "banda garantita" (che, ricordiamo, può essere utilizzata anche in casi di congestione, ovviamente se questa è tra due ISP satellitari! Una volta che si esce su Internet nessuno può garantire più nulla).

Quali satelliti vengono utilizzati?

Quando parliamo di satelliti, intendiamo: Astra (19.2 gradi SE), Hotbird (13.2 gradi SE), il nuovo Europestar (45 gradi SE), Eutelsat (8 gradi SW), Astra (26 gradi E), ArabSat 3A (26 gradi E).

Quali ISP danno accesso satellitare ad Internet?

In Europa abbiamo circa 8 ISP che danno accesso via Satellite a Internet:

che utilizza una scheda satellitare proprietaria (questo è stato anche il primo ISP satellitare )

EON dà accesso per circa 150$ l'anno senza "banda garantita".

Netsystem offre il suo servizio a "costo nullo", viene solo richiesto di guardare un banner pubblicitario (anche in Italia???).

Starspeeder dà accesso (??? a quali prezzi?)

Eliosat costa 350$ l'anno con 128 Kbps di banda garantita (servizio base, vedi il sito web per ulteriori informazioni); inoltre dà accesso con tecnologia 2-way, per ricevere e trasmettere soltanto tramite parabola.

SkyDSL fornisce un servizio base di 15$ al mese con 128Kbit/s di banda, ma permette un valore maggiore pagando ogni Mb scaricato (si può scegliere da 256Kbit/s fino a 4Mbit/s), per ulteriori informazioni si veda il sito web relativo.

IMPORTANTE: prima di sottoscrivere un abbonamento, verificare che il diametro della parabola sia sufficiente alla ricezione del segnale.

Altro?

Con qualunque scheda DVB è possibile ricevere canali TV digitali trasmessi in chiaro, mentre alcune schede, grazie al supporto Common Interface (C.I.), permettono di vedere anche canali criptati; segue lo schema.

Smart-Card -> CAM -> Common Interface -> Scheda Sat (con supporto C.I.)

La scheda CAM (ci sono diversi standard usati per la decriptazione: SECA, IRDETO, VIACCESS e altri) è l' hardware che permette il decriptaggio (per TV, radio e dati), mentre la Common Interface o C.I. (ETSI EN 50221) gestisce l'interazione tra CAM e scheda satellite.

Informazioni tecniche Funzionamento generico

Cerchiamo adesso di capire come funziona una connessione satellitare e sotto quali condizioni.

Possiamo immaginare un collegamento via satellite come un classico collegamento wireless, cioè un qualunque collegamento tra 2 sistemi che non utilizzano un cavo per scambiare dati.

Il collegamento di tipo wireless è molto diverso da uno di tipo wired (cablato) poiché vi sono diversi problemi da risolvere, come la raggiungibilità, la gestione della privacy e così via. Si possono inoltre avere problemi relativi alle condizioni atmosferiche, particolarmente in presenza di neve o forte pioggia.

Comunque il principio più importante da tenere in mente, nelle connessioni wireless è la "visibilità senza ostacoli", cioé deve essere possibile "vedere" (o a occhio nudo o con un cannocchiale) l'altra estremità con cui si vuole dialogare: questa è la condizione praticamente NECESSARIA affinché si possa comunicare. Per ulteriori informazioni si veda .

Nelle connessioni satellitari, si utilizza un tipo particolare di antenna, la parabola, che possiede un elevatissimo "guadagno" in ricezione, necessario per il segnale satellitare; infatti il satellite percorre un'orbita geostazionaria alla distanza di 36.000 km e l'unico tipo di antenna capace di ricevere da una tale distanza è, appunto, la parabola.

Frequenze

La banda di frequenza che riceviamo va da circa 11GHz fino a 12.7 GHz (proveniente dal transponder satellitare, cioé il trasmettitore che ci manda i dati), valori molto elevati, che però il feed (il convertitore di frequenza presente al centro della parabola) trasforma in segnale di 1-2 GHz, rendendolo trasmissibile, così, attraverso il cavo arrivando fino al ricevitore (che normalmente può raggiungere i 40 metri di lunghezza per un cavo a bassa perdita).

Scheda DVB di ricezione

Segnale 1 GHz --> |RX|--> |ADC| --> |Rete a basso livello| --> |TCP/IP Stack del S.O.|--> Dati |____________________________________| Scheda DVB

Adesso possiamo immaginare un classico ricevitore ad 1 GHz che filtra il segnale dal cavo (Filtro RX), lo converte in segnale digitale (ADC), passandolo poi ai bassi livelli del protocollo di rete usato (ISO OSI 1,2): qui, il firmware della scheda costruisce un pacchetto a livello 2 (simile a quello ethernet) da mandare al nostro PC con Linux, Windows, o qualunque cosa sia, e alla fine, ci rimane solo di trasformarlo in un pacchetto TCP/IP.

Impostazioni DVB a livello Data Link

Qui abbiamo bisogno di configurare la scheda con i giusti parametri:

Frequenza operativa, dobbiamo impostare la giusta frequenza del transponder (disponibile su qualunque rivista satellitare): i valori partono da 11.8 GHz e vanno fino a 12.8 GHz, un esempio può essere 12.640.000 KHz Symbol rate, misurato in simboli al secondo, tipicamente 22 MS/s (Milioni di Simboli al secondo) Polarizzazione, una impostazione relativa all'antenna, programmabile via software, valori possibili: H (Orizzontale) o V (Verticale). PID. Il PID viene usato per selezionare una trasmissione tra tutti i segnali possibili relativi ad una data frequenza. Dobbiamo inoltre configurare il valore di "BitFilter Mask", che ci dice quanto è grande il gruppo di indirizzi MAC di destinazione (simile alla maschera TCP/IP, l'unica differenza é che la BitFilter Mask è di 48 bit, mentre quella TCP/IP è grande 32 bit). Tipicamente i dati Internet vengono mandati su PID chiamati "Unicast" (un solo destinatario, quindi BitFilter Mask strettissimo), mentre il video viene spedito su PID di tipo Multicast (quindi BitFilter Mask molto grande). Calcolo dell'indirizzo MAC: qui specifichiamo quello che sarà il nostro indirizzo MAC (che userà la nostra scheda DVB). Questo dato è necessario poiché alcuni ISP usano un algoritmo per il calcolo del MAC (si veda l'Appendice A) a partire dall'indirizzo IP, mentre altri ISP usano il MAC nativo della scheda (come esce dalla casa, che già di per sé è unico in tutto il mondo).

Funzionamento TCP/IP

Come abbiamo accennato nella sezione 2.2, per prima cosa abbiamo bisogno di fare la nostra richiesta usando una interfaccia tipo modem (es. ppp0 o qualunque altra interfaccia usata per raggiungere Internet), dopodiché riceveremo la risposta sulla nostra interfaccia DVB (dvb0).

I Sistemi Operativi moderni permettono di ricevere pacchetti da un interfaccia, nonostante non sia la stessa da cui sono stati precedentemente spediti i pacchetti di richiesta: per fare questo abbiamo bisogno di "disabilitare" eventuali "controlli di flusso" (nati per proteggere il sistema, ma in questo caso soltanto di ostacolo), tipicamente qualcosa del tipo:

echo "0" > /proc/sys/net/ipv4/conf/dvb0/rp_filter (per Linux).

Autenticazione

Rimane solo una cosa per completare la nostra panoramica: il metodo di autenticazione.

Alcuni ISP usano la cosiddetta "Autenticazione con Proxy": quando si utilizza il loro proxy è necessario fornire i valori corretti di login e password per continuare la richiesta (è quindi indispensabile essersi iscritti precedentemente al loro servizio!): una volta fatto l'ISP utilizzerà il nostro indirizzo IP per calcolare il MAC address (si veda l'Appendice A) cui mandare i dati.

Altri ISP richiedono l'attivazione di una connessione VPN (con login e password), in seguito alla quale viene ricavato (dalla registrazione) l'indirizzo MAC dell'utente, al quale (e soltanto a lui) mandare i dati.

Tuttavia, è spesso possibile modificare le impostazioni relative ai filtri satellitari per riuscire a ricevere i pacchetti destinati a TUTTI gli indirizzi MAC (relativi ad una data frequenza).

Servizi che posso usare con la connessione satellitare

Tipicamente, i servizi che si possono usare con connessione Internet dipendono (indirettamente) dal metodo di autenticazione utilizzato dall'ISP:

con la classica "Autenticazione con Proxy" possiamo soltanto usare i servizi di tipo HTTP (quindi WEB) e FTP, mentre con connessione VPN non abbiamo (in teoria) limite ai servizi utilizzabili, l'unico limite è stabilito dal RTT (tempo di accesso) della connessione, circa 500-1000 ms in media: quindi non è possibile gestire servizi di tipo "Voce" o comunque servizi in "Tempo Reale" (in relazione a ciò si veda il ) !! Tuttavia è possibile usufruire di servizi quali: mail, chat, telnet, ping, dns e così via.

Requisiti

Vediamo ora cosa serve per collaudare un servizio satellitare.

Nozioni basilari

A tal fine è necessaria una conoscenza preliminare dell'internetworking in ambiente Linux (si veda il ) e un minimo di esperienza con le antenne paraboliche e i sistemi satellitari (puntamento di una parabola, con gli angoli giusti).

Hardware

Abbiamo bisogno di:

un'antenna parabolica, presa anche da un "vecchio" sistema analogico, un convertitore digitale da posizionare al centro dell'antenna, una scheda di ricezione compatibile DVB, un PC in cui inserire la scheda.

Software

Abbiamo bisogno di:

un driver per la scheda DVB per il nostro S.O (Linux, Windows o altro). le corrette impostazioni per configurarla (frequenza, PID...) un applicativo "esterno" in alcuni casi (ad esempio gestore VPN-PPTP per ISP tipo Netsystem o Starspeeder).

Per quanto riguarda il software sotto Linux i driver sono disponibili presso il .

Software TV

Vi sono anche applicativi per ricevere i canali televisivi:

Sotto Windows

MultiDec (free con codice sorgente) TPREdit (per Technotrend) WinTV DVB o (per schede compatibili Siemens, Hauppauge, Technotrend, Technisat, etc... ) WinDVB2000 (circa 40.000 lire).

Sotto Linux

gVideo, applicazione inclusa nei driver Siemens Vdr Video Recoder

Configurazione di base Prima di tutto: il montaggio

La prima cosa che dobbiamo fare è montare il nostro impianto satellitare; dopodiché dobbiamo puntare la parabola (cercando i giusti gradi in riviste specializzate): i gradi sono sempre intesi da SUD verso EST o verso OVEST, e dal piano orizzontale verso quello verticale. Il classico strumento di puntamento è la bussola.

Calibrazione

Come faccio a vedere se la parabola è puntata nella giusta direzione?

Dopo aver stabilito un intervallo di angoli validi, dobbiamo raffinare la misura, cercando il livello di potenza ottimale; possiamo quindi usare:

Un classico ricevitore analogico (che è comunque compatibile con un convertitore digitale) ed iniziare a cercare l'angolo corretto: una volta trovata l'immagine sul televisore, siamo a posto. Suggerisco di usare un ricevitore analogico invece di uno digitale perché più pratico e perché magari lo si possiede da un'installazione precedente. Un misuratore di potenza (circa 40.000 lire) a LED sequenziali: in caso di segnale massimo tutte le spie si accendono.

Doppio fuoco

E' possibile anche installare sistemi a doppio fuoco (alcune case vendono un kit completo, con staffe già calibrate per posizionare i 2 fuochi per ricevere, per esempio, Astra (19.2 SE) insieme ad Eutelsat (16 SE) o insieme a HotBird (13 SE)).

Per il montaggio occorre inoltre considerare che il satellite è orientato nella direzione "opposta" al convertitore, come in figura:

SAT1 SAT2 \ / \ / \ C1 C2 / \ \ \ / / / \ \ / \ / / \____\ /___\ /_____/ Top View C1 riceve da SAT2 C2 riceve da SAT1

Inoltre, con 2 fuochi, occorrerà utilizzare un diseq per condividerne l'utilizzo.

Impostazioni a livello Data-link

Una volta che si è riusciti a ricevere il segnale occorre configurare frequenza, PID, symbol rate e così via.

Qui di seguito riporto un esempio di configurazione, per EON (EuropeOnLine), transponder 114 sul Satellite Astra (19.2 SE)

Frequenza: 12640 MHz

Polarizzazione: V (Verticale)

Symbol Rate: 22000 KS/s

PID:

Unicast: 512 (decimale), 0x200 (esadecimale) Multicast: 785, 786, 1041 (decimale), 0x311, 0x312, 0x411 (esadecimale), ma nota che in alcuni casi, i PIDs Multicast sono "presi in automatico".

Abbiamo ancora bisogno di alcuni dettagli: quale indirizzo MAC assegnare alla nostra scheda DVB?

In questo caso, per EON, si veda l'Appendice A per il calcolo del MAC dall'indirizzo IP dinamico.

Ovviamente dobbiamo anche avere login e password validi.

Configurazione sotto Linux

In questa sezione assumeremo di usare una scheda DVB compatibile Siemens, come la Hauppage WinTV DVB, i cui driver per Linux sono disponibili su o su .

Purtroppo per la scheda Netsystem (SkyStar2, B2C2inc.) non esistono drivers sotto Linux.

Installazione dei driver

Una volta scaricati, basta decomprimerli (tar zxvf file.tgz) su una directory, entrarvi e digitare "make" e "make insmod". Per fare ciò è necessario avere i sorgenti del kernel di Linux su /usr/src/linux (altrimenti, bisognerà scaricarli da e recompilarli).

Dopo aver digitato "make insmod", il nostro sistema dovrebbe avere i moduli attivi e funzionanti (si controlli con "lsmod"). Per scaricare i drivers basta digitare "make rmmod".

Configurare il file /etc/dvbd.conf

Il file /etc/dvbd.conf viene usato per configurare i parametri a livello data-link (livello 2 ISO OSI) della scheda DVB. Seguono le impostazioni principali:

"power", che dice se alimentare o meno il convertitore (LNB), 1=ON, 0=OFF. Tipicamente viene impostato a 1, a meno che non si vogliano mettere in "cascata" più ricevitori satellitari. "symbolrate", è il numero di simboli al secondo, ad esempio 22.000.000. "frequency", frequenza di ricezione dei dati, ad esempio 12.640.000. "ttk", il segnale di 22 kHz, tipicamente impostato a 1. "diseqc", usato per controllare il diseq (serve soltanto nel caso si abbiano diversi convertitori), 0 se non lo si gestisce. "AFC", normalmente impostato a 1. "polarizzazione", 1 per orizzontale e 0 per verticale. "filter_n <PID> <MAC> <BITFILTER>", dove n è 0 in caso si voglia specificare il PID Unicast e 1-9 per Multicast; il PID viene espresso in forma decimale, MAC è l'indirizzo MAC da assegnare alla scheda per il suddetto PID (valido soltanto per il Multicast) e BITFILTER è un numero i cui bit rappresentano i byte da mascherare (per esempio 10 = 2 (bit 1) + 8 (bit 3), quindi la maschera risultante sarà 00 00 FF 00 FF 00).

Esempio

------------------------------------------

# DVB receiver configuration file, (c) 2000 data planet international

# standard location in /etc

# LNB power on=1/off=0

power 1

# symbol rate [symbol/sec]

symbolrate 22000000

# ASTRA TR 114

frequency 12640000

# 22 kHz signal on=1/off=0

ttk 1

# diseqc on=1/off=0

diseqc 0

# AFC on=1/off=0

AFC 1

# polarisation H=1/V=0

polarisation 1

# settings for MPE filter, PID and MAC filtering, valid MAC bytes

filter_0 512

filter_1 785 00:D0:5C:1E:96:01 48

filter_2 786 00:D0:5C:1E:96:01 48

filter_3 1041 00:D0:5C:1E:96:01 48

-----------------------------------------

filter_0 non ha né MAC né BITFILTER perché il MAC è già calcolato dall'indirizzo IP dinamico (si veda la solita Appendice A). Vedremo che questa impostazione andrà bene per alcuni ISP, mentre per altri dovremo apportare delle modifiche sul file dvbd.c.

Applicativo dvbd

Una volta configurato correttamente il file /etc/dvbd.conf, si può lanciare il programma dvbd, che, se eseguito senza l'opzione "-d", scriverà sullo stdout il livello del segnale:

Sync DEVE essere 127 o giù di lì. Vber DEVE essere 0.

altrimenti vorrà dire che non si stà ricevendo segnale (si consiglia di controllare il cavo e/o il puntamento della parabola).

Nota:

E' possibile che ci sia da cambiare, nel file dvbd.h, la linea:

#define network_device "eth0"

in

#define network_device "ppp0"

a seconda dell'interfaccia con cui ci si connette ad Internet, eth0 o ppp0: si digiti "make" per aggiornare il file binario e si rilanci dvbd.

Come configurare il servizio EON

Adesso che si ha un buon segnale, possiamo finalmente provare il servizio satellitare.

Per EON, si vada nelle impostazioni del "proxy" nelle preferenze di Netscape e si imposti, sotto proxy HTTP and FTP:

proxy.xxx.europeonline.net

dove xxx è il numero del transponder usato (103, 113, 114 o 115; si veda l'Appendice B).

e, su "port" 8080 relativamente ad HTTP e 8090 per FTP

Adesso dovrebbe essere possibile usare il browser. Buona navigazione!!

Per condividere EON tra più utenti si può utilizzare il abilitando la cascata verso il proxy EON.

Per una configurazione più complessa di EON si veda il link

Come usare il servizio Netsystem

Netsystem è un po' più complesso da configurare rispetto a EON, sotto Linux. Seguono i passi principali:

connessione VPN patch per pppd (solo nel caso si utilizzi pppd versione <= 2.4.0) patch per dvbd.c test migliorare le prestazioni condividere Netsystem con molti altri utenti.

Connessione VPN

Prima di tutto bisogna scaricare il client .

Dopo averlo scompattato, compilato e installato, si aggiunge una riga sui file /etc/ppp/pap-secrets e /etc/ppp/chap-secrets, con la seguente sintassi:

"login" * "password" *

dove "login" e "password" sono le stesse della .

Patch per pppd

Come descritto sulla , è necessario applicare la patch per il pppd per farlo funzionare con alcuni VPN server, tra cui quello di Netsystem.

Bisogna quindi:

scaricare una scaricare e decomprimere la corrispondente decomprimere pppd in una directory digitare "patch -p0 < patch_name", per applicare la patch entrare nella directory pppd digitare "make" e "make install"

Adesso il pppd sarà compatibile con il server VPN Netsystem e potremo collaudarlo dando:

"pptp vpn.netsystem.com debug user <login>"

dove <login> è la login dell'account di Netsystem: nel file di log (/var/log/messages) dovrebbe comparire il debug dell'interfaccia VPN

Se tutto è andato per il verso giusto dovrebbe essere visibile l'interfaccia ppp1 (tramite il comando "ifconfig").

In caso di problemi sull'autenticazione si consiglia di aggiungere la seguente riga:

"noauth"

in fondo al file /etc/ppp/options.

Una volta che l'interfaccia è stata caricata bisogna ancora:

dare "ifconfig ppp1" e ricavare l'indirizzo IP (che chiamerò IP) a destra di "P-t-P:" cancellarlo dalla tabella di routing con "route del IP" aggiungerla sull'interfaccia ppp0 con "route add IP dev ppp0" cancellare il gateway predefinito da ppp0 con "route del predefinito" aggiungere il gateway predefinito su ppp1 con "route add predefinito dev ppp1"

I punti 1,2,3 sono necessari in quanto le connessioni punto-punto sotto Linux tendono ad aggiungere il gateway sull'interfaccia stessa (cosa non corretta nel nostro caso): senza questi comandi si avrebbe un ciclo in cui il pacchetto spedito si incapsula su se stesso all'infinito.

I punti 4,5 sono usati per dirigere tutte le richieste Internet sull'interfaccia ppp1 e in definitiva sulla connessione VPN: questo potrebbe non essere ottimale, per esempio nel caso di richieste DNS, che verrebbero spedite inutilmente (senza miglioramenti, anzi con un peggioramento delle prestazioni) via VPN.

Patch for dvbd.c

Dopo aver risolto i problemi relativi alla VPN bisognerà cambiare alcune righe nel file dvbd.c, verso la fine:

if (strcmp (v, "filter_0") == 0) { if (s != NULL) { unsigned char ip[4]; dvbcfg[0].status = ON ; dvbcfg[0].filter.data[0] = 0x3eff ; dvbcfg[0].filter.pid = (__u16) atoi (s) ; dvbcfg[0].filter.mode = 0x0c ; if (ipget (ip, network_device)) { fprintf(stderr,"Can't get local ip address. Stop.\n") ; return -1 ; } syslog (LOG_NOTICE, "Local ip is %u:%u:%u:%u\n", ip[0], ip[1], ip[2], ip[3]); dvbcfg[0].filter.data[1] = (ip[3] << 8) | 0x00ff ; dvbcfg[0].filter.data[2] = (ip[2] << 8) | 0x00ff ; dvbcfg[0].filter.data[6] = (ip[1] << 8) | 0x00ff ; dvbcfg[0].filter.data[7] = (ip[0] << 8) | 0x00ff ; dvbcfg[0].filter.data[8] = (0x02 << 8) | 0x00ff ; dvbcfg[0].filter.data[9] = (0x00 << 8) | 0x00ff ; setmac (ip) ; } else { dvbcfg[1].status = OFF ; } }

Le righe seguenti:

dvbcfg[0].filter.data[1] = (ip[3] << 8) | 0x00ff ;

dvbcfg[0].filter.data[2] = (ip[2] << 8) | 0x00ff ;

dvbcfg[0].filter.data[6] = (ip[1] << 8) | 0x00ff ;

dvbcfg[0].filter.data[7] = (ip[0] << 8) | 0x00ff ;

dvbcfg[0].filter.data[8] = (0x02 << 8) | 0x00ff ;

dvbcfg[0].filter.data[9] = (0x00 << 8) | 0x00ff ;

diventano:

dvbcfg[0].filter.data[1] = (MAC[5] << 8) | 0x00ff ;

dvbcfg[0].filter.data[2] = (MAC[4] << 8) | 0x00ff;

dvbcfg[0].filter.data[6] = (MAC[3] << 8) | 0x00ff ;

dvbcfg[0].filter.data[7] = (MAC[2] << 8) | 0x00ff ;

dvbcfg[0].filter.data[8] = (MAC[1] << 8) | 0x00ff ;

dvbcfg[0].filter.data[9] = (MAC[0] << 8) | 0x00ff ;

Dove MAC[0]:MAC[1]:MAC[2]:MAC[3]:MAC[4]:MAC[5] è il nostro indirizzo MAC (nativo) relativo alla registrazione Netsystem.

Dopo, basterà digitare make e utilizzare il nuovo file dvbd così aggiornato.

Nota: perché tale patch funzioni, è necessario che la versione del driver DVB (nel caso Hauppage) sia >= 0.8.2: le versioni più vecchie hanno problemi di stabilità.

Test

Finalmente, possiamo testare Netsystem sotto Linux. Diamo un "ping www.qualchehostpingabile.com" e controlliamo il tempo di risposta: dovrebbe aggirarsi intorno ai 400-2000 ms e rimanere stabile.

Se i problemi persistono conviene controllare l'interfaccia VPN:

aprire lo sniffer di rete preferito (per esempio ) e analizzare l'interfaccia "ppp0" (ppp0, non ppp1!!) diamo un ping

Se la VPN è configurata correttamente dovremmo vedere 2 (o 1) pacchetti di tipo GRE-Encapsulated ogni secondo, in modo ininterrotto. Se non appare nulla allora bisognerà rivedere la configurazione della VPN, provando a rilanciarla.

Migliorare le prestazioni

Una volta seguite tutte le istruzioni è ancora NECESSARIO usare (particolarmente con Netsystem) uno qualunque dei "download accelerator" per migliorare le prestazioni: si veda l'Appendice A a riguardo.

Condividere Netsystem tra più utenti

Per condividere Netsystem tra più utenti bisogna prima di tutto attivare l'"IP Masquering", permettendo agli utenti in rete di utilizzare la VPN come una normale interfaccia Internet per la navigazione; il problema principale però è che la connessione Satellitare risulta essere molto buona per i download, mentre per la "semplice navigazione" è piuttosto scadente (a causa dei tempi d'accesso).

Si potrebbe pensare di utilizzare un proxy come o , ma le cose non migliorerebbero, poiché TUTTE le richieste verrebbero comunque inoltrate all'interfaccia VPN.

La soluzione allora consiste nell'utilizzare 2 tabelle di routing, una connessa direttamente ad Internet, mentre l'altra in grado di attraversare l'interfaccia VPN. Bisogna, quindi:

essere sicuri di aver installato i comandi "iproute2" (per esempio digitare "ip" sulla shell e controllare se viene stampato il manuale dell'applicativo): si veda il documento . essere sicuri di aver lanciato il servizio Netsystem e annotare l'indirizzo IP dell'interfaccia ppp1 che chiameremo LOCALIP. digitare: "echo "210 sat" >> /etc/iproute2/rt_tables", per associare comodamente la regola 210 con il nome "sat" digitare: "ip rule add from LOCALIP table sat", per creare la tabella "sat" relativa a tutte le richieste provenienti dall'indirizzo LOCALIP. digitare: "ip route add default dev ppp1 table sat", per redirigere TUTTE le richieste "sat" verso l'interfaccia ppp1 (si veda sopra). Se si usa impostare, nel file sockd.conf, "external" su LOCALIP. Se si usa impostare, nel file squid.conf, "tcp_outgoing_address" al valore di LOCALIP.

Una volta fatto tutto ciò, si avranno 2 tipi di funzionamento: senza nessun proxy i client della LAN chiederanno direttamente ad Internet, mentre utilizzando il proxy prescelto (squid o sockd) le richieste verranno instradate sull'interfaccia VPN, e in definitiva, via Satellite.

Si noti, infine, che sarebbe meglio usare sockd al posto di squid, in quanto le richieste Satellitari sono tipicamente convenienti in download (mentre squid è normalmente utilizzato per la navigazione).

Quel che succede con i comandi iproute2 è che, quando si chiede un sito al proxy, questo (che utilizza l'indirizzo LOCALIP per fare la richiesta) entra nello stack TCP/IP dove il kernel lo manda (grazie al punto 4 di prima) alla tabella "sat" e, quindi (in base al punto 5) sull'interfaccia ppp1. Tutte le altre richieste verranno instradate con la classica "default route" (quindi direttamente su Internet senza Sat, sia essa su ppp0 o su qualunque altra interfaccia che porta sulla grande rete).

Configurazione sotto Windows EON

La scheda Hauppage WinTV utilizza l'applicazione DVB-DATA per modificare le impostazioni data-link.

Netsystem

Prima di tutto bisogna installare le features VPN.

Bisognerà, inoltre, installare il (quello con il banner pubblicitario) e lanciarlo.

Appendice A - Note Algoritmo di conversione IP Dinamico -> indirizzo MAC

La conversione usata da alcuni ISP per calcolare il MAC (che deve avere la scheda DVB per poter ricevere i dati dal Satellite) è:

00 : 01 : IP[0] : IP[1] : IP[2] : IP[3]

dove

IP[0].IP[1].IP[2].IP[3] è l'indirizzo IP dinamico.

Questo algoritmo è usato, per esempio, da EON.

Finestra TCP (TCP Window)

Le connessioni Satellitari sono un interessante esempio di collegamento con elevato RTT (round trip time, tempo di accesso): un altro esempio è la comunicazione Marte - Terra o anche quella Luna - Terra.

Queste connessioni hanno una caratteristica molto brutta: bassa interattività.

Le tipiche connessioni di rete (o digitali, in genere) utilizzano la cosiddetta "finestra di trasmissione", che rappresenta la quantità massima di dati che può essere mandata senza dover aspettare per la conferma. Nello stack TCP/IP questa si chiama "Finestra TCP" o "TCP Window".

---------------------- | - - - - - - - > posso continuare |-|-|-|----> | ---------------------- | Dati che posso mandare senza conferma | | - - - - - - - <---------------------- Conferma

Ora, se la nostra comunicazione avesse un elevato tempo di accesso e se avessimo una finestra relativamente piccola (TCP Window), finiremmo per perdere moltissimo tempo ad "aspettare" le conferme (ACK), quindi la velocità reale crollerebbe (ad esempio, ipotizzando una finestra di 16KB (TCP window), tipica di un client Windows e un RTT di 400 ms, allora la nostra velocità non potrebbe superare 16KB/s / 0.4 s = 40 KB/s).

La soluzione consiste, quindi, nell'aumentare la TCP Window (con valori prossimi a 256 KB o qualche MB).

Sfortunatamente, sotto molti sistemi, è piuttosto difficile aumentare la finestra di trasmissione e, negli ultimi anni, sono comparsi degli applicativi chiamati "download accelerators", (descritti nella sezione che segue) che dividono un file in più pezzi, avviando poi tutti gli scaricamenti nello stesso istante, in una logica multithreading: questo, in sostanza, è equivalente ad utilizzare una TCP Window uguale alla somma delle TCP Window relative ad ogni "pezzo" evitando, così, il problema dell'RTT.

Download accelerator

Riportiamo qui, brevemente, dei link ai cosiddetti "download accelerator" che sostanzialmente operano in 2 modi:

gestiscono il "recupero della sessione" permettendo di interrompere, in qualunque momento, uno scaricamento, per poi riprenderlo più tardi dallo stesso punto (questo viene fatto grazie alla relativamente recente opzione introdotta nei server Http e Ftp , che permette di specificare il numero di byte da cui far ripartire il download). suddivisione, che divide un file in molti pezzi e lancia le singole sessioni di scaricamento in "parallelo".

Come abbiamo visto nella precedente sessione, un download accelerator può aumentare significativamente la banda satellitare.

Segue un elenco dei principali link di "Download Accelerator".

Sotto Linux

Sotto Windows

Appendice B - Configurazioni di Sat-ISP noti EuropeOnLine

EON manda dati dal Satellite Astra (19.2 SE).

L'indirizzo MAC viene calcolato dall'indirizzo IP (si veda l'Appendice A).

Utilizza l'"Autenticazione con Proxy".

Seguono le impostazioni dei 4 transponder:

Transponder 113

Frequenza: 12633.250 MHz, SRate : 22 MS/s Polarizzazione: Orizzontale Unicast PID: 512 (decimale)

Transponder 114

Frequenza: 12640 MHz, SRate : 22 MS/s Polarizzazione: Verticale Unicast PID: 512 (decimale)

Transponder 115

Frequenza: 12662.750 MHz, SRate : 22 MS/s Polarizzazione: Orizzontale Unicast PID: 512 (decimale)

Transponder 103

Frequenza: 12461 MHz, SRate : 27.5 MS/s Polarizzazione: Orizzontale Unicast PID: 512 (decimale)

Netsystem

Netsystem utilizza, anch'esso, il Satellite Astra (19.2 SE) per mandare i suoi dati.

L'indirizzo MAC usato é lo stesso del MAC nativo della scheda DVB (e presente nella registrazione Netsystem).

Utilizza connessione VPN.

Seguono i settaggi:

Transponder 119

Frequenza: 12721 MHz SRate: 22MS/s Polarizzazione: Orizzontale Unicast PID: 451 (decimale)