Sat (Satellite Technology) HOWTO Roberto Arcomano berto@fatamorgana.com, Florindo Santoro flosan@hack-it.net v1.3, 21 July 2001 Traducerea din limba engleza: Victor Plugaru vuk@go.ro Cu scuzele de rigoare pentru eventualele greseli sau inadvertente. Tehnologia satelitilor incepe sa devina o mare resursa pentru utilizatorii de Internet, permitand largimi mari de banda pentru download, precum si pentru multe alte servicii interesante. Acest document tine de investigheze modalitatile de conectare a mediului Linux prin satelit, cum sa obtineti viteze superioare si sa partajati aceasta cu alti clienti. Puteti gasi ultimele versiuni ale acestui document la http://www.fatamorgana.com/bertolinux/sat/english si http://www.hack-it.net/How- To/Sat-HOWTO.html . ______________________________________________________________________ Cuprins 1. Introducere 1.1 Introducere 1.2 Copyright 2. Cunostinte necesare 2.1 Despre sateliti 2.2 Cum lucreaza? 2.3 Alte tehnologii 2.4 Care este largimea de banda maxima? 2.5 Cat costa? 2.5.1 Costurile hardware 2.5.2 Costurile conturilor 2.6 Ce sateliti sunt folositi? 2.7 Ce ISP-uri ofera servicii de acces prin Internet? 2.8 Altceva? 3. Informatii tehnice 3.1 Functionare generala 3.2 Frecvente 3.3 Carduri receptoare DVB 3.4 Configurarea nivelului legaturii de date DVB 3.5 Functionarea TCP/IP 3.6 Autentificarea 3.7 Servicii pe care le pot folosi cu o conexiune prin satelit 4. Cerinte 4.1 Cerinte privind cunostintele 4.2 Hardware 4.3 Software 4.4 Software TV 4.4.1 Pentru Windows 4.4.2 Pentru Linux 5. Configurarea echipamentului 5.1 Montajul 5.2 Calibrarea 5.3 Double Feed (LNB-uri duble) 5.4 Reglajul nivelului legaturii de date 6. Configurarea sub Linux 6.1 Instalarea Driverelor 6.2 Configurarea fisierului /etc/dvbd.conf 6.3 Daemonul dvbd 6.4 Cum se configureaza serviciul EON 6.5 Cum se configureaza serviciul Netsystem 6.5.1 conexiuni VPN 6.5.2 Patch pentru pppd 6.5.3 setarea rutarii 6.5.4 Patch pentru dvbd.c 6.5.5 Testarea 6.5.6 Obtinerea unor performante superioare 6.5.7 Partajarea Netsystem cu mai multi clienti 6.6 Cum se utilizeaza serviciul Sat Node 7. Configurarea sub Windows 7.1 EON 7.2 Netsystem 8. Anexa A - Note 8.1 Translatarea IP dinamic -> Adrese MAC 8.2 Cadrul TCP 8.3 Download accelerator 8.3.1 Sub Linux 8.3.2 Sub Windows 9. Anexa B - Valori cunoscute pentru ISP-urile ce ofera servicii prin satelit 9.1 EuropeOnLine 9.1.1 Transponder 113 9.1.2 Transponder 114 9.1.3 Transponder 115 9.1.4 Transponder 103 9.2 Netsystem 9.2.1 Transponder 119 9.3 Sat Node ______________________________________________________________________ 1. Introducere 1.1. Introducere Acest document intentioneaza sa explice cate ceva despre tehnologia satelitara, cum functioneaza, de ce aveti nevoie, configuarea si cum sa partajati accesul pentru mai multi clienti. Conexiunile prin satelit sunt foarte diferite de cele terestre, cer mai mult atentie la configuare si mai multa intretinere pentru a le mentine stabile (ninsoarea sau ploaia intensa va pot impiedica sa aveti un semnal de calitate). Opiniile Dumneavoastra sunt binevenite, nu ezitati sa ne contactati: berto@fatamorgana.com si flosan@hack-it.net . 1.2. Copyright Copyright (C) 2000,2001 Roberto Arcomano, Florindo Santoro. Acest document este gratuit; il puteti redistribui sau/si modifica sub termenii GNU Licenta Publica Generala asa cum a fost publicata de Free Software Foundation, de asemeni pentru versiunea 2 a licentei sau (conform optiunii Dumneavoastra) conform oricarei viitoare versiuni. Acest document este distribuit in speranta ca va fi folositor, dar FARA NICI O GARANTIE, fara implicarea vreunei garantii comerciale ori a FIABILITATII INTR-UN SCOP PREDEFINIT. Consultati Licenta Generala Publica GNU pentru mai multe detalii. Puteti obtine o copie a Licentei Generale Publice GNU la adresa 2. Cunostinte necesare 2.1. Despre sateliti In ultimii cativa ani satelitii au inceput sa fie folositi pentru comunicatia in Internet, in primul rand de catre ISP-uri medii-mari (ISP= Internet Service Provider), dar am intalnit si utilizatori individuali. Conexiunile prin satelit sunt un tip diferit de cele terestre, cu temporizari (timing-uri) diferite, cum ar fi RTT (Round Trip Time), dar si cu valori diferite ale largimii de banda, pana la 2 Mb/s sau mai mult. 2.2. Cum functioneaza? Sa ne imaginam o cale ca aceasta: |||||| S A T E L I T |||||||| / /|\ Downl / | Upload load / | de la la /(4) | (3) server client / | / | SatCard(antena parabolica) | | | \|/ | PC ----adreseaza cerere-----> SAT-SERVER<---extragere---> INTERNET (1) (2) In primul rand facem cererea (1) folosind conexiunea noastra Internet catre Sat-SERVER, acesta va extrage informatiile din Internet (2) si le va trimite catre satelit (3); in final vom receptiona datele de la satelit (4) folosind o antena parabolica si cardul DVB pentru satelit. Tipic exista 2 tipuri de cereri: - http - ftp Ambele au un flux mic de date pentru cerere si un volum mare de date pentru raspuns, asa ca satelitii lucreaza bine cu acestea, dar cu un timp mai mare de raspuns. Aceasta este cea mai mare problema a conexiunior prin satelit (ganditi-va la o distanta tipica la care orbiteaza satelitii de cca 36000 km, asa incat veti avea un timp de acces de [ 36000 km / 300.000 km/s = 0.120 s = ] 120 ms pe care trebuie sa le adaugati de la conexiunea clasica la Internet de doua ori pentru ca ISP-ul trimite odata catre satelit iar clientul descarca de la satelit). ISP-uri recente permit clientilor utilizarea si a altor servicii, ca: -chat -email -news si multe altele Exita asa numitele servicii one-way (monosens), care constau in servicii de mail, download la cerere (unde faceti rezervari de fisiere) si site-download; aceste servicii sunt off-line (neconectate), asa incat le puteti accesa fara modem, sau alt fel de conexiuni. 2.3. Alte tehnologii Trebuie sa amintim si alte tehnologii satelitare: conexiunuea dublu-sens (2-way). Acestea folosesc antena parabolica pentru conexiunea la Internet in ambele sensuri. Costa mult mai mult decat cele monosens. Asteptam mai multe in aceasta directie in vitorul apropiat, la momentul actual permit o largime de banda de 4 Mb/s la download si 256k la upload. 2.4. Care este largimea de banda maxima? Depinde de multi factori: scopul ISP-ului, parametrul TCP window folosit, aplicatiile folosite de clienti, si mai important decat toate, "Congestia internet". Va puteti astepta la o largime de banda maxima de 1-4Mb/s si o medie de 10-30KBytes/s dar, repet, depinde de multi alti factori. Oricum, unele ISP-uri (Furnizori de Servicii Internet) pretind ca va asigura "largime de banda maxima", in timp ce media largimii de banda poate fi mult mai mica, datorita congestiilor dintre ISP-uri. Alte ISP-uri va garanteaza largimea de banda minima, ceea ce are o inteles decat cea maxima, pentru ca este disponibila tot timpul. Va rugam consultati Anexa A pentru a afla mai multe despre obtinerea unor performante mai bune la download. 2.5. Cat costa ? Noi am distins intre costurile hardware (ale echipamentelor) si costurile conturilor. Primele sunt cunoscute, in timp ce ultimele depind de ce servicii alegeti (garantate/negarantate, largime de banda maxima). 2.5.1. Costurile hardware Pentru a instala micul nostru sistem satelit avem nevoie de : 1. Cardul de acces 2. Antena parabolica 3. Unul sau mai multe convertoare (LNC-uri, LNB-uri) trebuie utilizat un convertor digital pentru accesul Internet via satelit Cardurile DVB costa intre 200$-300$ depinde de marca Antena parabolica costa 50$ Convertorul LNB costa aproximativ 50$ Deci avem aproape 3-400$ costuri hardware (poate vreti sa adaugati si costurile instalarii !!) 2.5.2. Costurile conturilor Aici costurile depind de ce va ofera ISP-ul , care este largimea de banda, daca exista largimi de banda garantate (care sunt mai importante decat largimile maxime de banda), ce servicii puteti accesa, si asa mai departe. Unele ISP-uri va ofera acces gratuit in schimbul vesnicei vizualizari a unui banner (pe care nu il puteti minimiza), in acest caz veti plati atunci cand veti cumpara ceva prezentat in banner. Tipic, costurile conturilor se ridica la 100-150$ pe an pentru servicii "negarantate" si 4-600$ sau mai mult pentru servicii "garantate" (va garanteaza o largime de banda minima pe care o puteti folosi in momente de congestie, evident congestii intre ISP-uri satelitare), cand ati "iesit" catre Internet, nimeni nu va mai poate garanta nimic. 2.6. Care sunt satelitii utilizati? Cand discutam de sateliti, ne referim la: Astra (19.2 grade SE), Hotbird (13.2 grade SE), noul Europestar (45 grade SE), Eutelsat (8 grade SV), Astra (26 E), Arabsat 3A (26E). 2.7. Ce ISP-uri ofera servicii Internet prin satelit? In Europa cunoastem circa 8 ISP-uri care ofera acces Internet prin satelit: 1. EuropeOnLine - EON 2. Netsystem 3. Starspeeder 4. Sat Node 5. Eliosat 6. Falcon Stream 7. SkyDSL 8. OpenSky 9. DirecPC dar acesta foloseste un card propietar (este unul dintre primele ISP-uri de acest tip) EON ofera acces pentru aproximativ 150$ pe an fara largime de banda garantata. Netsystem ofera servicii la costuri nule, trebuie doar sa ii "suportati" bannerele. StarSpeeder ofera acces ??? Eliosat costa 350$ pe an cu 128k/s garantat (servicii minime, vedeti site-ul web pentru mai multe informatii); pe langa aceasta, ofera si tehnologia dublu-sens pentru a transmite si receptiona flux de date. SkyDSL ofera acces pentru aproximativ 15$ pe luna cu 128k/s largime de banda, dar permite largimi de banda mai mari pentru fiecare Mb downloadat pe care il platiti (puteti selecta de la 256k la 4Mb/s), pentru mai multe informatii vizitati site-ul web. IMPORTANT: inainte de a va inregistra la vreunul dintre aceste servicii, verificati aria de acoperire si diametrul necesar al antenei parabolice. 2.8. Altceva ? Cu orice fel de card DVB puteti deasemeni receptiona si canale TV digitale (doar cele gratuite), iar unele carduri au suport pentru interfata comuna de decriptare a canalelor codate. Urmeaza schema: Smart-Card -> CAM -> Interfata Comuna -> Sat Card (cu suport C.I.) Cardul CAM (sunt multe standarde folosite pentru decriptare: SECA, IRDETO, VIACCESS si altele) este dispozitivul care permite decriptarea (pentru TV, RADIO si date), in timp ce Interfata Comuna sau C.I. (ETSI EN 50221) permite conectarea intre CAM si cardul pentru satelit. 3. Informatii tehnice Acum vom incerca sa intelegem cum functioneaza si in ce conditii, conexiunile prin satelit. Ne putem imagina legatura prin satelit ca o legatura fara fir clasica, radio (wireless), intelegand prin asta o legatura intre doua sisteme care nu folosesc un cablu pentru a comunica. Legaturile fara fir sunt foarte diferite de cele cablate pentru ca exista anumite probleme aditionale de rezolvat cum ar fi sensibilitatea, problemele legate de securitate, s.a. Pot aparea si alte probleme legate de vreme, in special in conditii de ploaie sau ninsoare. Oricum, trebuie sa avem in vedere primul principiul al legaturilor fara fir: vizibilitate directa libera de obstacole, care este IMPERATIVA si fara de care nu putem comunica. Pentru mai multe informatii, consultati documentul Wireless-HOWTO. . In conexiunile prin satelit folosim un tip special de antena, o antena parabolica, care ne confera un castig mare la receptie, necesar pentru a receptiona semnalul de la satelit. De fapt, satelitul are o orbita geostationara la 36.000 km si singurul tip de antena pe care il putem utiliza este antena parabolica. 3.2. Frecvente Frecventele pe care le receptionam sunt de la 11Ghz la 12.7Ghz (de la transponderul satelitului, emitatorul care ne trimite date), o frecventa foarte inalta, dar fedderul (convertorul, LNB-ul din centrul antenei parabolice) converteste acest semnal la 1-2Ghz asa incat putem trimite semnalul la receptor prin cablu (pana la 40m, depinde de pierderile cablului). 3.3. Cardul receptor DVB 1 GHz Signal --> |RX|--> |ADC| --> |Low Level Network| --> |O.S.TCP/IP Stack |____________________________________| DVB Card Acum ne putem imagina un receptor clasic la 1Ghz receptionand semnale analogice de la satelit, convertindu-le in semnale digitale si livrandu-le catre nivelul de retea (ISO OSI 1,2): aici, codul firmware din card genereaza pachete pe doua nivele (cam ca ethernet) pentru a fi trimise catre pc-ul nostru cu linux, windows, sau alt sistem, in final vom transforma aceste date in pachete TCP/IP. 3.4.Configurarea nivelului legaturii de date DVB Aici avem de facut cateva setari la chiar la cartela DVB: 1. Frecventa de lucru, trebuie sa setam frecventa satelitului (ca in reviste): este intre 11.8Ghz si 12.8Ghz de exemplu 12640000 Khz. 2. Rata simbolurilor, masurata in simboluri pe secunda, tipic 22 MS/s (mega simboluri pe secunda) 3. Polarizarea, care este o setare a antenei, configurabila din software: valorile posibile sunt H (orizontal) si V (vertical). 4. PID-urile. PID-ul este folosit pentru a selecta o transmisiune dintre mai multe semnale ale aceleiasi frecvente. 5. Trebuie sa specificam si masca filtrului de biti care ne indica cat de mare este grupul adreselor MAC destinatie (masca bitfilter este similara netmaskului TCP/IP, singura diferenta este ca masca bitfilter este pe 48 de biti, iar netmaskul TCP/IP este pe 32 biti. Intotdeauna, datele Internet sunt transmise cu PID unicast, in timp ce iformatiile video sunt transmise folosind PID multicast. 6. Calcularea adresei MAC: aici specificam care va fi adresa MAC a cardului DVB. Trebuie facut acest lucru pentru ca unele ISP-uri folosesc un algoritm (vezi anexa A pentru mai multe informatii) care va calculeaza adresa MAC din adresa IP, alte ISP-uri folosesc propria dumneavoastra adresa MAC. 3.5 Functionarea TCP/IP Cum am aratat in sectiunea 2.2, trebuie sa facem o cerere folosind interfata modem (de exemplu ppp0 sau orice alta interfata pe care o folosim pentru a comunica cu Internetul), apoi raspunsul se va intoarce la interfata noastra DVB (dvb0). Sistemele de operare moderne ne permit sa receptinam datele printr-o interfata de intrare diferita de cea prin care am facut cererea. Pentru a face aceasta, e nevoie sa dezactivam controlul fluxului pentru unele pachete, ca de exemplu cu comanda: echo " 0" > /proc/sys/net/ipv4/conf/dvb0/rp_filter (pentru Linux). 3.6. Autentificarea Ramane doar un singur lucru de completat in descrierea noastra: metoda de autentificare. Unele ISP-uri prin satelit folosesc asa-numita "autentificare prin proxy": cand folositi proxy-ul lor, trebuie sa indicati un nume de login si o parola pentru a continua cererea (trebuie initial sa va inregistrati cu un cont pentru a folosi serviciile lor prin satelit): odata facuta aceasta, ISP-ul foloseste adresa IP a dumneavoastra pentru a calcula adresa MAC (vezi anexa A) catre care va trimite raspunsul. Alte ISP-uri va cer sa configurati o conexiune VPN intai (folosind login-ul si parola dumneavoastra), apoi vor controla contul cu care sunteti inregistrat (cand extrag adresa MAC) apoi vor trimite datele catre (si numai) cardul dvs. DVB (adresa MAC). Oricum, sa aveti in vedere ca puteti modifica valoarea filtrului DVB pentru a fi capabil sa receptionati ORICE adresa MAC (raportata la o frecventa data). 3.7 Servicii pe care le pot folosi cu o conexiune prin satelit Tipic, serviciile pe care le puteti folosi cu o conexiune prin satelit depind de tipul de autentificare folosit de ISP. - cu clasica "autentificare proxy" puteti folosi doar serviciile HTTP si FTP - cu conexiunea VPN nu aveti (in principiu) nici o restrictie la serviciile pe care le puteti folosi, singura limita este definita de RTT (Timpul de acces) la satelit, aproximativ 500-1000ms in medie, asa ca uitati de "voce" sau alte servicii in timp real !! :((( Vedeti documentul VoIP-HOWTO. pentru mai multe informatii. Oricum, puteti totusi utiliza mail, chat, telnet, ping, dns, si asa mai departe. 4. Cerinte 4.1 Cerinte privind cunostintele Pentru aceste incercari aveti nevoie de ceva experienta in comunicatii Internet si retele (continute in Net-HOWTO ) si o oarecare experienta practiva privind antenele parabolice si sistemele pentru satelit (ar trebui sa stiti sa va orientati antena, unghiurile corecte) 4.2 Hardware Avem nevoie de: 1. Antena parabolica, de la un sistem analogic 2. Convertorul digital sa fie plasat in centrul antenei (LNB digital) 3. Cardul receptor compatibil DVB 4. Un PC cu care sa va conectati 4.3 Software Aici aveti nevoie de : 1. Drivere pentru cardul DVB pentru a functiona sub sistemul dvs. de operare (Linux, Windows sau altele) 2. Setarile corecte 3. Aplicatii externe, in anumite cazuri,ca si client VPN-PPTP pentru ISP-uri ca Netsystem sau StarSpeeder Pentru soft de Linux, puteti gasi drivere pentru Siemens DVB la Linux TV Project . 4.4. Software TV Tot astfel, exista software video pentru implementarea receptiei TV: 4.4.1 Sub Windows 1. MultiDec MultiDec 6.6b (sursa gratuita si cod) 2. TPREdit TPREdit (pentru Technotrend) 3. WinTV DVBs Hauppauge sau Technotrend (pentru cardurile compatibile Siemens, Hauppauge, Technotrend, Technisat, etc... ) 4. WinDVB2000 WinDVB2000 (circa 19$). 4.4.2. Sub Linux 1. gVideo - aplicatie inclusa in driverul SIemens 2. Vdr Video Recorder (bun si pentru urmarit TV) 5. Configurarea echipamentului 5.1. Montarea Primul lucru de facut este montarea antenei parabolice; Dupa care trebuie sa o orientam (cautarea unghurilor corecte din diverse reviste de specialitate): unghiurile sunt intotdeauna specificate de la sud la est sau la vest pentru cele orizontale si de la sol catre linia satelitului pentru cele verticale. Unealta clasica de orientare este compasul. 5.2. Calibrarea Cum putem sti daca ne-am orientat corect? Dupa ce am stabilit plaja corecta de unghiuri, trebuie sa o ajustam masurand nivelul de putere. Pentru aceasta putem 1. folosi de expemplu un receptor analogic (care este compatibil cu convertorul digital) si sa trecem la cautarea unghiului corect. Cand putem vedea imagine, inseamna ca l-am gasit. Va sugerez sa folositi un convertor analogic pentru ca, poate aveti unul (pe care l-ati folosit la o instalare anterioara) si pentru ca este mult mai simplu de calibrat decat unul digital. 2. Folosit un instrument de masurare a puterii (vreo 20$) cu indicator secvential (la putere maxima, toate ledurile se aprind). 5.3. LNB-uri duble Puteti de asemeni sa folositi LNB-uri duble (unii comercianti vand kituri complete cu distante standard de receptie, de exemplu Astra (19.2 SE) cu Eutelsat (16 SE) sau cu Hotbird (13 SE). Pentru montaj trebuie sa aveti in vedere, tot odata, ca satelitii sunt in directii opuse ale convertorilor, ca in figura: SAT1 SAT2 \ / \ / \ C1 C2 / \ \ \ / / / \ \ / \ / / \____\ /___\ /_____/ Vedere de sus C1 receptioneaza de la SAT2 C2 receptioneaza de la SAT1 5.4. Reglajul nivelului legaturii de date Odata ce am obtinut semnalul analog, trebuie sa ajustam receptorul nostru pe frecventa, PID-ul, rata de simboluri corecta, samd. Prezint aici un exemplu de configurare pentru EON (EuropeOnline), transponderul 114 pe satelitul Astra (19.2 SE) Frecventa: 12640 MHz Polarizarea: V (Vertical) Symbol Rate: 22000 KS/s PID: · Unicast: 512 (decimal), 0x200 (hexadecimal) · Multicast: 785, 786, 1041 (decimal), 0x311, 0x312, 0x411 (hexadecimal), dar sa aveti in vedere ca, in multe cazuri, Multicast PID sunt alocate automat. Mai avem nevoie de o informatie: ce adresa MAC sa ii alocam cardului DVB Din nou, pentru EON (EuropeOnline) trebuie sa consultati anexa A pentru a calcula adresa MAC din adresa IP dinamica. Evident, aveti nevoie de login si de parola pentru respectivul serviciu ISP 6. Configurarea sub Linux In aceasta sectiune vom presupune ca folosim un card Siemens compatibil, cum ar fi un card Hauppage WinTV DVB, pentru astfel de carduri gasiti drivere la sau DVB PCI card sub Linux . 6.1.Instalarea driverelor Odata descarcate driverele, trebuie sa desfacem arhiva tar intr-un director, intram in director si dam comanda "make" si "make insmod". Pentru aceasta, trebuie sa aveti sursele kernelului curent in directorul /usr/src/linux (sau le descarcati de la http://www.kernel.org si le recompilati. Dupa comanda "make insmod", sistemul dumneavoastra ar trebui sa aiba modulele DVB incarcate. Pentru a le descarca, dati comanda "make rmmod". 6.2. Configurarea fisierului /etc/dvbd.conf Fisierul /etc/dvbd.conf este folosit pentru a configura parametrii legaturii de date pentru cardul DVB. Aici sunt setarile principale: - "power" indica puterea pentru LNB, 1=ON, 0=off. De obicei o veti seta 1, doar daca nu folositi vreun fel de cascadare intre mai multe LNB-uri - "symbolrate", aceasta este rata simbolurilor pe secunda, de obicei 22.000.000 - "frequency" , frecventa la care se receptioneaza datele, cum ar fi 12.640.000 - "ttk" , semnalul de 22khz, aproape intotdeauna 1 - "diseqc", folosit pentru controlul discriminarii, doar daca folositi un discriminator pentru controlul mai multor LNB-uri, 0 daca nu e cazul - "AFC" de obicei 1 - "polarization", 1 pentru orizontal, 0 pentru vertical. - " filter_n ", unde n este 0 pentru Unicast si 1-9 pentru Multicast; PID este exprimat in forma decimala, MAC este adresa MAC valida doar pentru filtrul Multicast, iar BITFILTER este numarul ai carui biti reprezinta bytes pentru masca ((de exemplu 10 = 2 (bit 1) + 8 (bit 3), asa ca masca va fi 00 00 FF 00 FF 00). Exemplu: ------------------------------------------ # 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 nu are valori nici pentru MAC si nici pentru bitfilter pentru ca adresa MAC potrivita este calculata din adresa IP (anexa A). Vom vedea ca aceste setari sunt in regula numai pentru anumite ISP-uri, pentru altele, va trebui sa modificam fisierul dvbd.c 6.3 Daemonul dvbd Odata ce fisierul /etc/dvbd.conf este OK, puteti lansa aplicatia dvbd care, executata fara optiunea -d scrie catre stdout nivelul calitatii semnalului. - Sync TREBUIE sa fie 127 sau pe-aproape - Vber TREBUIE sa fie 0 doar daca nu cumva aveti o receptie slaba de la satelit (verificati cablul si orientarea antenei) Nota: S-ar putea sa trebuiasca schimbat in dvbd.h aceasta linie: #define network_device "eth0" cu #define network_device "ppp0" functie de ce interfata utilizati pentru a comunica cu Internetul, eth0 sau ppp0, dati comanda "make" pentru a updata fisierul binar si restartati dvbd. 6.4. Cum se configureaza serviciul EON (Europe Online) Acum, daca aveti semnal bun, puteti incerca sa folositi un serviciu Internet prin satelit. Pentru EuropeOnline mergeti la setarea "proxy" din Netscape si setati la HTTP si FTP: proxy.xxx.europeonline.net si, in "port" 8080 si FTP proxy cu " port" 8090. unde xxx este numarul transponderului (103,113,114 sau 115) pe care il folositi (vedeti anexa B pentru mai multe informatii). Acum va trebui sa puteti naviga cu browserul oriunde doriti... Pentru a partaja serviciile EuropeOnline cu mai multi clienti, va trebui sa folositi proxy-ul Squid , activand cascadarea catre proxy-ul EON. Pentru o mai complexa utilizare EON, cum ar fi o mai complexa cascadare a proxy-urilor sau partajarea cu clientii, consultati EON Linux Masquerading FAQ 6.5. Cum se configureaza serviciul Netsystem Serviciul NetSystem este ceva mai complicat decat EON sub Linux, caz in care, mai trebuie configurate: 1. conexiunea VPN 2. patch-ul pentru pppd (doar daca pppd <=2.4.0) 3. setarile de routere cu fisiere exemplu 4. patch-ul pentru dvbd.c 5. testarea 6. imbunatatirea performantelor 7. partajarea conexiunii NetSystem cu mai multi clienti 6.5.1 Conexiunea VPN In primul rand trebuie sa descarcati aplicatia client VPN PPTP Dupa desfacerea arhivei tar, compilare si instalare, trebuie sa adaugati o intrare in fisierul /etc/ppp/pap-secrets si /etc/ppp/chap-secrets: " login" * " password" * unde "login" si "password" sunt cele cu care v-ati inregistrat la NetSystem 6.5.2 Patch-ul pentru pppd Asa cum se arata in descrierea PPTP trebuie sa patch-uiti demonul pppd pentru a suporta conexiunile cu serverul VPN NetSystem (server Linux). Trebuie sa: 1. Descarcati o versiune recenta de pppd 2. Descarcati si dezarhivati patch-ul corespondent pentru pppd 3. dezarhivati pppd intr-un director 4. dati comanda "patch -p0 < nume_patch 5. intrati in directorul pppd 6. dati comanda "make" si "make install" 6.5.3. Setarile de routare Acum pppd va fi capabil sa lucreze cu VPN-ul NetSystem. Puteti incerca cu " pptp vpn.netsystem.com debug user " unde "login" este numele de login al contului dvs de la NetSystem; veti vedea in /var/log/messages informatii de depanare de la interfata ppp1 Daca totul e OK ar trebui sa vedeti interfata ppp1 cu comanda "ifconfig" Daca totusi aveti probleme cu atentificarea, adaugati "noauth" in fisierul /etc/ppp/options Odata ce interfata ppp1 a pornit, va trebui sa treceti la urmatoarele: 1. dati comanda "ifconfig ppp1" si cautati adresa IP din dreapta sirului "P-t-P:" (o voi numi in continuare IP) 2. stergeti-o din tabela de routare cu "route de IP" 3. adaugati-o la interfata ppp0 cu "route add IP dev ppp0" 4. stergeti gateway-ul implicit din ppp0 cu "route del default" 5. adaugati gateway implicit pentru ppp1 cu "route add default dev ppp1" Punctele 1-3 sunt necesare pentru ca interfetele punct-la-punct sunt administrate sub linux, adaugand gateway-ul la noua interfata (ceea ce nu e o idee buna in cazul de fata, doar daca nu vreti sa obtineti o bucla infinita, caz in care pachetul va circula la infinit, icapsulandu-se in sine insusi :))) Punctele 4-5 sunt necesare pentru a face toate cererile de date catre ppp1, adica vom avea contact cu lumea folosind conexiunea VPN, aceasta nefiind solutia optima in anumite conditii, de exemplu pentru interogarile DNS care ar putea fi trimise direct, pentru a evita intarzierile prin satelit inutile. In loc sa configurati manual rutarea, puteti incerca acest script: " netsystem.on" script ______________________________________________________________________ route add IP_DNS1 dev ppp0 route add IP_DNS2 dev ppp0 route add -net 212.31.242.0 netmask 255.255.255.0 dev ppp0 pptp vpn.netsystem.com user /bin/sleep 5 route add default dev ppp1 ______________________________________________________________________ " netsystem.off" script ______________________________________________________________________ route del IP_DNS1 dev ppp0 route del IP_DNS2 dev ppp0 route del -net 212.31.242.0 netmask 255.255.255.0 dev ppp0 kill -9 's x|grep "pppd"|grep ""|grep -v "ps"|tr " " "\n"|head -n rm --force /var/lock/LCK..tty* rm --force /var/run/pptp/* route del -net 212.31.242.0 netmask 255.255.255.0 dev ppp0 kill -9 's x|grep "pppd"|grep ""|grep -v "ps"|tr " " "\n"|head -n rm --force /var/lock/LCK..tty* rm --force /var/run/pptp/* rm --force /var/run/ppp1.pid killall -9 pptp ______________________________________________________________________ IP_DNS1 si IP_DNS2 sunt adresele IP ale serverelor dumneavoastra DNS (primar si secundar), este numele de login al contului dvs. Netsystem. L-am incercat sub kernelul 2.4.6 Redhat 7.1 si functioneaza foarte bine (fara nici un fel de probleme legate de bucla infinita ppp1 sau altele asemenea). Aceasta linie ; kill -9 's x|grep "pppd"|grep ""|grep -v "ps"|tr " " "\n"|head -n 2' este folosita pentru a identifica PID procesului pppd care "discuta" cu serverul VPN (interfata ppp1); notati ca nu puteti da comanda "killall pppd" pentru ca ati inchide si interfata ppp0 6.5.4 Patch-ul pentru dvbd.c Dupa rezolvarea problemelor legate de PPTP trebuie sa modificati cateva linii in dvbd.c , in apropiere de finalul fisierului: 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. 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 ; } } Urmatoarele linii: 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 ; vor fi inlocuite cu: 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 ; Unde MAC[0]:MAC[1]:MAC[2]:MAC[3]:MAC[4]:MAC[5] sunt adresele noastre MAC (conform contului Netsystem). Dupa aceasta va trebui sa dati comanda "make" si noul dvbd va di creat. NOTA: pentru a corecta cu succes dvbd.c trebuie sa folositi un driver dvb versiune >=0.8.2 pentru ca versiunile mai vechi au probleme de instabiliate 6.5.5 Testarea In final, putem testa Netsystem de sub Linux. Putem da o comanda "ping www.oricehostpingabil.com" si sa verificam timpul de raspuns. Ar trebui sa fie intre 400 si 2000 ms. Daca mai aveti probleme, va trebui sa verificati daca e totul OK cu interfata VPN. 1. deschideti snifferul de retea preferat (de exemplu, Ethereal si incepeti sa analizati interfata ppp0 (nu ppp1 !!!) 2. dati un ping Daca VPN-ul e ok, ar trebui sa vedeti 2 (poate 1) pachete incapsulate-GRE pe secunda. Daca nu vedeti nimic, VPN-ul nu merge corect. Opriti-l si porniti-l din nou. 6.5.6. Imbunatatirea performantelor Odata ce ati pus la punct lucrurile, TREBUIE sa folositi (in special cu Netsystem) un download accelerator pentru a imbunatati performantele. Vedeti anexa A pentru mai multe informatii. 6.5.7 Partajarea Netsystem cu mai multi clienti Pentru aceasta puteti activa IP Masquerading-ul, permitand clientilor sa foloseasca VPN ca o interfata Internet normala; principala problema este ca, conexiunea noastra prin satelit este foarte buna pentru download dar are performante slabe la navigarea in paginile web (sau alte servicii mai interactive decat download-ul). Va puteti gandi la utilizarea proxy-ului Squid sau Socks , dar nu veti rezolva problema pentru ca si acum toate cererile for fi trimise catre aceiasi interfata VPN. Solutia este sa folositi 2 tabele de rutare, una folosind interfata directa de linie si cealalta interfata VPN. Asa ca puteti face cum urmeaza: 1. asigurati-va ca ati instalat comenzile "iproute2" (de pilda dati comanda "ip" in shell si verificati daca va spune ceva. Pentru mai multe informatii, consultati Linux 2.4 Advanced Routing HOWTO . 2. asigurati-va ca ati pornit serviciile NetSystem si notati-va adresa IP a interfetei ppp1, pe care o vom numi acum LOCALIP. 3. tastati: " echo " 210 sat" >> /etc/iproute2/rt_tables" pentru a apela cat mai confortabil regula 210 pentru satelit 4. tastati: " ip rule add from LOCALIP table sat" , pentru a crea tabela "sat" raportata la toate cererile venind de la adresa IP LOCALIP 5. tastati: " ip route add default dev ppp1 table sat" pentru a trimite toate cererile "sat" (vezi mai sus) catre interfata ppp1 6. daca folositi proxy-ul Socks fiti siguri ca ati setat in sockd.conf "external" pentru LOCALIP 7. daca folositi proxy-ul Squid fiti siguri ca ati setat in squid.conf " tcp_outgoing_address" ca LOCALIP Odata ce ati facut toate acestea, veti observa ca aveti doua moduri de lucru: fara proxy, clientii for adresa cereri catre linia directa, iar in prezenta unui proxy (squid sau sockd) cererile vor fi inaintate interfetei VPN si, in final, catre satelit. Observati ca s-ar putea sa aveti nevoie de sockd in loc de squid pentru ca cererile catre satelit sunt folosite in special pentru download, in timp ce squid-ul este tipic folosit pentru browsing. 6.6. Cum se utilizeaza serviciul Sat Node Trebuie sa urmati toate instructiunile de la NetSYstem. Inainte de a activa conexiunea VPN , trebuie sa : . . . . pentru a va conecta la serverul vpn doar prin ppp0 ?????? lipsesc parti din howto-ul in limba engleza????????? Ce se schimba fata de Netsystem este ca nu fortam gateway-ul VPN (212.56.224.34, IP-ul de la drepta lui ''P-t-P'' in interfata ppp1) in interfata ppp0, dar fortam un alt IP (212.56.224.36). Restul nu se schimba. Multumiri lui Ricardo Santiago Mozos si Norberto Garcia Prieto. 7. Configurarea sub Windows 7.1. EON Hauppage WinTV are aplicatii DVB-DATA care permit speficiarea setarilor legaturii de date. 7.2 Netsystem In primul rand e nevoie sa instalati resursele VPN. Aditional, e nevoie sa descarcati software-ul Netsystem (intotdeauna cu banner) si sa il lansati. Il puteti descarca de aici: 8. Anexa A - NOTE 8.1. Translatarea IP dinamic > adrese MAC Translatarea folosita de unele ISP-uri pentru a calcula adresa MAC (pe care cardul DVB trebuie sa o aiba pentru a receptiona pachete) este: 00 : 01 : IP[0] : IP[1] : IP[2] : IP[3] unde IP[0].IP[1].IP[2].IP[3] este adresa IP dinamica. Aceasta caracteristica este folosita de exemplu de EON. 8.2 Cadrul TCP Conexiunile prin satelit sunt un interesant exemplu de foarte mari RTT (round trip time, timp de acces): un alt exemplu este comunicatia Marte-Pamant sau Pamant-Luna. Aceste conexiuni au o trasatura foarte proasta: foarte scazuta interactivitate. Conexiunile de retea tipice (sau digitale, in general) folosesc asa numita transmisie in "cadre", ceea ce inseamna ca bufferul de date poate fi trimis inainte de a astepta un raspuns. In stiva protocolului TCP/IP, "cadrul" TCP arata cam asa: ---------------------- | - - - - - - - > poate continua |-|-|-|----> | ---------------------- | Buffer transmisibil inaintea confirmarii | | - - - - - - - <---------------------- Confirmare Acum, daca in comunicatia noastra avem un timp mare de acces si daca am avea un cadru TCP mic, am pierde mult timp doar asteptand confirmarea (ACK), asa incat largimea de banda reala ar scadea (de exemplu, daca avem un cadru TCP de 16kb, tipic pentru sistemele Windows, si RTT de 400ms, nu se pate depasi 16KB/0.4 = 40 KB/s) Solutia este utilizarea unor cadre TCP foarte mari (ca 256kb sau cativa MB) Din pacate, sub multe sisteme nu este posibil sa avem un cadru TCP mare, asa ca in ultimii ani au aparut multe aplicatii, asa numitele "download acceleratoare" care impart in multe fragmente un fisier si le descarca pe toate simultan. Aceasta este echivalent cu a descarca un singur fisier dintr-o singura bucata, evitand problemele RTT-ului. 8.3 Download accelerator Va indicat cateva link-uri catre asa numitele "download acceleratoare", aplicatii care fac doua lucruri: 1. managementul resuming-ului sesiunilor; permit oprirea download-ului si continuarea lui (aceasta poate fi facuta multumita posibilitatii de "resume" introdusa in serverele http si ftp, care permite specificarea la ce numar de bit sa inceapa download-ul); 2. impartirea fisierului in multe fragmente si posibilitatea lor de a "pleca" in maniera multithread; Asa cum am vazut in sectiunea precedenta, download acceleratorul permite cresterea largimii de banda 8.3.1 Sub Linux · Aria 8.3.2 Sub Windows · FlashGet · GetRight · Mass Downloader 9 Anexa B - Valori cunoscute pentru ISP-urile prin satelit 9.1 Europe Online EON trimite date prin satelitul Astra (19.2 SE) Adresa MAC este calculata din adresa IP (anexa A) Foloseste autentificarea proxy urmeaza setarile pentru cei 4 transponderi: 9.1.1. Transponder 113 · Frequency: 12633.250 MHz, · SRate : 22 MS/s · Polarization: Horizontal · Unicast PID: 512 (decimal) 9.1.2. Transponder 114 · Frequency: 12640 MHz, · SRate : 22 MS/s · Polarization: Vertical · Unicast PID: 512 (decimal) 9.1.3. Transponder 115 · Frequency: 12662.750 MHz, · SRate : 22 MS/s · Polarization: Horizontal · Unicast PID: 512 (decimal) 9.1.4. Transponder 103 · Frequency: 12461 MHz, · SRate : 27.5 MS/s · Polarization: Horizontal · Unicast PID: 512 (decimal) 9.2 Netsystem Foloseste satelitul Astra (19.2 SE) pentru a trimite date. Adresa MAC este adresa reala a cardului DVB. Foloseste conexiune VPN. urmeaza datele setarilor: 9.2.1. Transponder 119 · Frequency: 12721 MHz · SRate: 22MS/s · Polarization: Horizontal · Unicast PID: 451 (decimal) 9.3. Sat Node Sat Node foloseste satelitul Astra (19.2 SE). · Frequency: 12603.750 MHz · SRate: 22MS/s · Polarization: Horizontal · Unicast PID: 302