LDP/LDP/howto/linuxdoc/Sat-HOWTO.sgml

1550 lines
38 KiB
Plaintext
Raw Normal View History

2001-04-30 13:42:00 +00:00
<!doctype linuxdoc system>
<article>
<!-- LyX 1.1 created this file. For more info see http://www.lyx.org/ -->
<title>
Sat (Satellite Technology) HOWTO
</title>
<author>
2001-04-30 22:39:22 +00:00
Roberto Arcomano berto@fatamorgana.com, Florindo Santoro flosan@hack-it.net
2001-04-30 13:42:00 +00:00
</author>
<date>
2001-05-03 01:13:51 +00:00
v1.1, 2 May 2001
2001-04-30 13:42:00 +00:00
</date>
<abstract>
Sat technology is starting to become a great resource for Internet
users, allowing high bandwidth in downloading and many other interesting
2001-04-30 22:39:22 +00:00
services. This document wants to investigate "
State of Art"
2001-04-30 13:42:00 +00:00
of Sat
2001-05-03 01:13:51 +00:00
connections in Linux environment, how to get them speeder and to
2001-04-30 22:39:22 +00:00
share with many clients. You can found latest version of this document
2001-04-30 13:42:00 +00:00
at <url url="http://www.fatamorgana.com/bertolinux/sat/english" name="http://www.fatamorgana.com/bertolinux/sat/english">
and <url url="http://www.hack-it.net/How-To/Sat-HOWTO.html" name="http://www.hack-it.net/How-To/Sat-HOWTO.html">
.
</abstract>
<toc>
<sect>
Introduction
<sect1>
Introduction
<p>
This document wants to explain something about Satellite technology,
how it works, what do you need, configuration and how to sharing
it between several clients. Satellite connections are very different
from terrestrial ones, they require more attention to setup and also
some more care to maintain them stable (snow or strong rain could
prevent you to have a good signal).
</p>
<p>
Feedback are welcome, don't hesitate to contact us: <url url="mailto:berto@fatamorgana.com" name="berto@fatamorgana.com">
and <url url="mailto:flosan@hack-it.net" name="flosan@hack-it.net">
.
</p>
<sect1>
Copyright
<p>
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
</p>
<p>
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 <url url="http://www.gnu.org/copyleft/gpl.html" name="here">
</p>
<sect>
Background Knowledge
<sect1>
What about satellite
<p>
In the last few years satellite began to be applied in Internet
networking, mainly by medium-big ISPs and we have seen it diffused
between users. Sat connections are a very different kind of networking
than terrestrial ones, with different timing such as higher RTT (round
trip time), but also with different bandwidth value, up to 2 Mbps
or more.
</p>
<sect1>
How does it work?
<p>
We can imagine a path like this:
</p>
<p>
<verb>
|||||| S A T E L L I T E ||||||||
/ /|&bsol;
Downl / | Uploading
load / | from
to /(4) | (3) server
client / |
/ |
SatCard(parabolic antenna) |
| |
&bsol;|/ |
USER PC ----make request-----&gt; SAT-SERVER &lt;---retrieving---&gt; INTERNET
(1) (2)
</verb>
</p><p>
So first we make the request (1) (using our Internet connection)
to the Sat-Server, after it will retrieve out info from Internet
(2) and it will send it to Satellite (3); in the end we would receive
data from the it (4) to our home using a parabolic antenna and a
Sat Card.
</p>
<p>
Typically exist 2 kinds of request :
</p>
<p>
<itemize>
<item>
Http
<item>
Ftp
</itemize>
</p><p>
Both of them have a little request data and a much bigger answer
size, so satellite works very well with it, but with a big time of
answer, this is the biggest problem of satellite connection (consider
a typical Sat distance, like 36.000 km, so you would have a time
access of &lsqb; 36000 km / 300.000 km/s = 0.120 s = &rsqb; 120 ms
you have to add (2 times, cause first ISPs server send it to, then
you download it from) to classical Internet time access.
</p>
<p>
Recently ISP allows their clients to use also other kind of service,
like
</p>
<p>
<itemize>
<item>
Chat
<item>
Email
<item>
News
</itemize>
</p><p>
and many others.
</p>
<p>
There exist also services called "
one-way"
, which consist in
mail service , download on-demand (where you make a file reservation
to be scheduled at some time) and site download: these services are
offline, so you can access to them without modem (or other kind of)
connection.
</p>
<sect1>
Other technologies
<p>
We have to report another satellite technology: the 2-way sat
connection. It uses only the parabolic antenna to contact Internet
in both 2 directions. Its cost is much higher that 1-way connection.
We expect something from it for immediate future, for now it allows
a bandwidth of 4 Mbit/s in download and 256Kbit/s in upload.
</p>
<sect1>
What is the max bandwidth?
<p>
It depends on many factors: ISP purpose, TCP window used, applications
used by the client and the more important of all, "
Internet congestion"
.
</p>
<p>
You can expect a max bandwidth of 1-4 Mbps and a average of about
10-30 KBytes/s, but I repeat, it depends on many factors.
</p>
<p>
Anyway some ISPs tell you they give you a "
Max"
bandwidth, while
2001-05-04 01:05:35 +00:00
the average bandwidth could be very lower, due to intra-ISP congestion.
2001-04-30 13:42:00 +00:00
</p>
<p>
Some other ISPs guarantees you to have a "
Minimal"
bandwidth,
which is more meaningful than "
MAX"
, cause it is available all the
time.
</p>
<p>
Please see Appendix A for more about get downloading performance
better.
</p>
<sect1>
How much does it cost?
<p>
We have to distinguish between hardware costs and account costs,
the first are known, while the second depend on which service you
choose ("
guaranteed"
/"
not guaranteed"
, what bandwidth).
</p>
<sect2>
Hardware costs
<p>
To install our little satellite system we need:
</p>
<p>
<enum>
<item>
Sat card
<item>
Parabolic antenna
<item>
one or more feed (converter)
</enum>
</p><p>
Noticed that we need a digital converter to use Internet via
satellite.
</p>
<p>
Sat card costs depends on brand you choose, about 200US&dollar;-300US&dollar;.
</p>
<p>
Parabolic antenna is about 50 US&dollar;.
</p>
<p>
Converter is about 50US&dollar;.
</p>
<p>
So we have about 3-400 US&dollar; of hardware cost (maybe you
still have to add installation cost!!).
</p>
<p>
If you want also receiver Crypt service:
</p>
<p>
<enum>
<item>
CI is about 100 US&dollar;.
<item>
CAM is about 100 US&dollar;-250 US&dollar;.
</enum>
</p><sect2>
Account costs
<p>
Here costs depend on what ISPs give you access, what's peak bandwidth,
if there is a guaranteed bandwidth (which is more important than
peak one), what kind of service they give you and so on.
</p>
<p>
Also some ISP gives you free access in change of viewing an always
foreground spot banner (you cannot iconize it!!): in this case you
2001-05-04 01:05:35 +00:00
will pay when you'll go to buy something showed in banner!!
2001-04-30 13:42:00 +00:00
</p>
<p>
Typically account costs are about 100-150 US&dollar; at year
for "
not guaranteed"
services and 4-600 US&dollar; or more for guaranteed
ones (they guarantee you a minimal bandwidth you can use also under
congestion moments, obviously intra Sat-ISP congestion!! When you
go out to Internet nobody can guarantee you anything!!).
</p>
<sect1>
What are the satellites used?
<p>
When we speak about satellites we mean: Astra (19.2 degree SE),
Hotbird (13.2 degree SE), new Europestar (45 degree SE), Eutelsat
(8 degree SW), Astra (26E), ArabSat 3A (26E).
</p>
<sect1>
What ISPs give Sat Internet Access?
<p>
In Europe we know about 8 ISPs giving Sat access for Internet:
</p>
<p>
<enum>
<item>
<url url="http://www.europeonline.net" name="EuropeOnLine - EON">
<item>
<url url="http://www.netsystem.com" name="Netsystem">
<item>
<url url="http://www.starspeeder.com" name="Starspeeder">
<item>
<url url="http://www.eliosat.com" name="Eliosat">
<item>
<url url="http://www.falconstream.com" name="Falcon Stream ">
<item>
<url url="http://www.skydsl.com" name="SkyDSL">
<item>
<url url="http://www.opensky.it" name="OpenSky">
<item>
<url url="http://www.direcpc.com" name="DirecPC">
but this use a proprietary sat card (this is a first Sat ISP
)
</enum>
</p><p>
EON gives access for about 150 US&dollar; at year without guaranteed
bandwidth.
</p>
<p>
Netsystem offers its services at "
null cost"
, you just have to
see its banner.
</p>
<p>
Starspeeder gives access ???
</p>
<p>
Eliosat costs 350 US&dollar; at year with a 128 Kbps guaranteed
(minimal service, see web site for more);in addition it gives 2-way
technology access for either receive and transmit.
</p>
<p>
SkyDSL gives access full-time and it costs about 15 US&dollar;
at month with 128Kbit/s bandwidth, but it allows a bigger bandwidth
where you pay each Mb downloaded (you can select from 256Kbit/s up
to 4Mbit/s), for more you can visit its web site.
</p>
<p>
IMPORTANT : before subscribing some satellite account, please
verify "
foot of Satellite"
and diameter of parabola.
</p>
<sect1>
What else?
<p>
With every kind of DVB card you can also receive TV digital channels
(free channels only) and some cards have support for common interface
to watch encrypted channel.
</p>
<p>
Follows the schema:
</p>
<p>
<verb>
Smart-Card -&gt; CAM -&gt; Common Interface -&gt; Sat Card (with support C.I.)
</verb>
</p><p>
CAM Card (there are many standards used for decryption: SECA,
IRDETO, VIACCESS and others) is the hardware allowing decryption
(for TV, Radio and Data) while the Common Interface or C.I. (ETSI
EN 50221) allow connection between CAM and Sat Card.
</p>
<sect>
Technical Information
<sect1>
General working
<p>
We now try to understand how satellite connection works and at
what conditions.
</p>
<p>
We can imagine a satellite link as a classical Wireless link,
I mean a link between 2 systems which don't use a real cable to talk
each other.
</p>
<p>
Wireless link is very different from Wired link cause we have
some additional problems to solve, such as reachability, privacy
problems and so on. Also there could be weather problems, particularly
in snow or rain conditions.
</p>
<p>
Anyway, we have to consider the first principle behind Wireless
communication: line of sight free, which is a MUST unless we are
unable to talk. For more you can see the <url url="http://www.fatamorgana.com/bertolinux/" name="Wireless-HOWTO">
.
</p>
<p>
In sat connections we use a special kind of antenna, a parabolic
one, that gives us a very high gain in RX, needed to receive satellite
signal: in fact satellite has a geostational orbital at 36.000 km
and the only kind of antenna we can use for receiving is just a parabolic
one.
</p>
<sect1>
Frequencies
<p>
Frequency we receive is from 11GHz up to 12.7 GHz (from the satellite
transponder, the transmitter sending us datas), a very high freq.,
but the feed (converter in the center of the parabola) converts it
to, in output, 1-2 GHz so that we'll able to send signal to the receiver
through the cable (up to 40m depending to cable loss).
</p>
<sect1>
DVB Receiver Card
<p>
<verb>
1 GHz Signal --&gt; |RX|--&gt; |ADC| --&gt; |Low Level Network| --&gt; |O.S. TCP/IP Stack|--&gt; Data
|____________________________________|
DVB Card
</verb>
</p><p>
Now we can imagine a classical RX at 1 GHz receiving analog signals
from the Sat, converting it to digital signals and giving all to
the low level network layer (ISO OSI 1,2): here, card firmware builds
a 2 level packet (pretty like ethernet) to be sent to our PC with
Linux, Windows, or other system, and in the end, we will only have
to transform it to a TCP/IP packet.
</p>
<sect1>
Data Link Level DVB setting
<p>
Here we have to config some settings, directly to the DVB card:
</p>
<p>
<enum>
<item>
Frequency working, we have to set the satellite frequency (as
from magazines): it is between 11.8 GHz and 12.8 GHz for example
12640000 KHz
<item>
2001-05-04 01:05:35 +00:00
Symbol rate, measured in symbols per seconds, typically 22 MS/s
2001-04-30 13:42:00 +00:00
(Mega Symbols per seconds)
<item>
Polarization, which is an antenna setting configurable in software:
possible values are H (Horizontal) or V (Vertical).
<item>
PIDs. The PID is used for select a trasmission between many signal
from same frequency.
<item>
Also we have to specify the bitfilter mask, which tells us how
large is the destination MAC addresses group (bitfilter mask is similar
to TCP/IP netmask, the only difference is that the bitfilter mask
is 48 bit size while TCP/IP netmask is 32 bit size). Always Internet
data is sent with Unicast PID, while Video always is sent using Multicast
PID .
<item>
Calculate MAC address: here we specify what will be our MAC address
(for our DVB card). You need to do this cause some ISP uses an algorithm
(see Appendix A for more) which calculates your MAC address from
your IP address, some other ISP uses your own MAC address.
</enum>
</p><sect1>
TCP/IP working
<p>
As we said in 2.2 section, first we have to make a request using
the modem interface (i.e. ppp0 or whatever we use to reach Internet),
then the answer will return to our DVB interface (dvb0).
</p>
<p>
Modern O.S. allow us to receive packets from an input interface,
different from the output interface from where we made the request:
to do it we have to "
disable"
2001-05-04 01:05:35 +00:00
some packets flow control, such as
type an
2001-04-30 13:42:00 +00:00
</p>
<p>
echo "
0"
2001-05-04 01:05:35 +00:00
&gt; /proc/sys/net/ipv4/conf/dvb0/rp_filter (for Linux).
2001-04-30 13:42:00 +00:00
</p>
<sect1>
Authentication
<p>
It remains only one thing to complete our description: authentication
method.
</p>
<p>
Some Sat ISPs use the so called "
Proxy Authentication"
: when
you used their proxy, you also need to give login and password to
continue the request (you should have been subscribed some kind of
account to use their sat service): once done, the ISP use your IP
address to calculate your MAC address (see Appendix A for more),
to which send the answer.
</p>
<p>
Some other ISPs require you make a VPN connection (using your
login and password) first, then they will control your registration
account (where they retrieve your MAC address) and will send data
directly to (and only to) your card (your MAC address).
</p>
<p>
Anyway noticed that you can modify your dvb sat filter value
to be able to receive packets destined to EVERY mac address (related
to a single frequency).
</p>
<sect1>
Services I can use with a sat connection
<p>
Typically services you can have from sat connections depend on
what authentication system is used by ISP:
</p>
<p>
<itemize>
<item>
with classical "
Proxy Authentication"
you can only use HTTP and
FTP service, while
<item>
with VPN connection you have (ideally) no limit to services you
can use, the only limit is decided by RTT (time access) to satellite,
about 500-1000 ms average: so you can forget to use "
Voice"
or other
"
Real Time"
services!! Anyway you still can use: mail, chat, telnet,
ping, dns and so on.
</itemize>
</p><sect>
Requirements
<p>
Here we will see what we need to try a Sat system.
</p>
<sect1>
Knowledge requirement
<p>
For this trying you need some experience in internetworking under
2001-05-04 01:05:35 +00:00
Linux (as from <url url="http://www.linuxdoc.org/HOWTO/Net-HOWTO/index.html" name="Net-HOWTO">
) and a very little of practical experience with
parabolic antenna and sat systems (you should be able to pointing
2001-04-30 13:42:00 +00:00
out your antenna, with right angles).
</p>
<sect1>
Hardware
<p>
We need:
</p>
<p>
<enum>
<item>
Parabolic antenna, also taken from an analog system.
<item>
Digital converter to be placed in the middle of the antenna.
<item>
Receiver card DVB compatible.
<item>
a PC to connect to.
</enum>
</p><sect1>
Software
<p>
Here you need a
</p>
<p>
<enum>
<item>
driver for the DVB card working under your O.S. (Linux, Windows
or other).
<item>
right setting to use it
<item>
external application in some cases (such as VPN-PPTP client for
ISP like Netsystem or Starspeeder).
</enum>
</p><p>
For the software under Linux you can found the Siemens DVB driver
at <url url="http://www.linuxtv.org" name="Linux TV Project">
.
</p>
<sect1>
TV Software
<p>
There is also some Video software used to implement TV reception:
</p>
<sect2>
Under Windows
<p>
<enum>
<item>
MultiDec <url url="http://www.erkner.com/free/digi/MultiDec66b.zip" name="MultiDec 6.6b">
(free with source code)
<item>
TPREdit <url url="http://come.to/uhura" name="TPREdit">
(for Technotrend)
<item>
WinTV DVBs <url url="http://www.hauppauge.de/software.htm" name="Hauppauge">
or <url url="http://www.technotrend.de" name="Technotrend">
(for Siemens compatible card, Hauppauge, Technotrend,
Technisat, etc... )
<item>
WinDVB2000 <url url="http://www.odsoft.org/english.html" name="WinDVB2000">
(about 19&dollar;).
</enum>
</p><sect2>
Under Linux
<p>
<enum>
<item>
gVideo is an application included in Siemens driver
<item>
Vdr Video Recoder (good for watch TV)
</enum>
</p><sect>
Base setup
<sect1>
First: mounting
<p>
The first thing we have to do is to mount our parabolic antenna;
</p>
<p>
After we need to pointing it out (searching right degrees from
some magazine): degrees are always intended from south to east or
to west for horizontal one and from ground to satellite line for
vertical one. Classical pointing tools is the compass.
</p>
<sect1>
Calibrating
<p>
How can we see if we are right oriented?
</p>
<p>
After decided a right range of angles, we have to adjust it measuring
power level. For such a thing we can
</p>
<p>
<enum>
<item>
Use for example an analog receiver (which is compatible with
digital converter) and start to search right degree: when we see
some imagine we'll get it. I suggest to use analog converter cause,
maybe, you have one (from precedent installation) and cause it is
more simple to calibrate it than digital one.
<item>
Use a power meter (about 20US&dollar;) with sequential lights:
at full signal all lights turn up.
</enum>
</p><sect1>
Double Feed
<p>
You can also install a double feed system (some vendors sell
a complete kit with standard distance to receive, for example, Astra
(19.2 SE) with Eutelsat (16 SE) or with HotBird (13 SE).
</p>
<p>
For mounting it you have to consider, in addition, that satellite
is at the opposite side of the converter, like in figure:
</p>
<p>
<verb>
SAT1 SAT2
&bsol; /
&bsol; /
&bsol; C1 C2 /
&bsol; &bsol; &bsol; / / /
&bsol; &bsol; / &bsol; / /
&bsol;____&bsol; /___&bsol; /_____/
Top View
C1 receives from SAT2
C2 receives from SAT1
</verb>
</p><p>
Also, with 2 focus, you would use a diseq.
</p>
<sect1>
Data-link level adjusting
<p>
Once we got analog signal we have to adjust our receiver to right
frequency, PID, speed rate and so on.
</p>
<p>
I report here an example of configuration, for EON (EuropeOnLine),
transponder 114 on Astra satellite (19.2 SE)
</p>
<p>
Frequency: 12640 MHz
</p>
<p>
Polarization: V (Vertical)
</p>
<p>
Symbol Rate: 22000 KS/s
</p>
<p>
PIDs:
</p>
<p>
<itemize>
<item>
Unicast: 512 (decimal), 0x200 (hexadecimal)
<item>
Multicast: 785, 786, 1041 (decimal), 0x311, 0x312, 0x411 (hexadecimal),
but you should notice that, in many cases, Multicast PIDs are taken
in automatic.
</itemize>
</p><p>
We also need another info: what MAC address to assign to our
DVB card.
</p>
<p>
Again, for EON you can see Appendix A to calculate MAC address
from dynamic IP address.
</p>
<p>
Obviously you need login and password to use ISP service.
</p>
<sect>
Configuration under Linux
<p>
In this section I will assume to use a Siemens compatible card,
like an Hauppage WinTV DVB card, for such cards you can download
drivers from <url url="http://www.linuxtv.org/download/dvb" name="LinuxTV">
2001-04-30 22:39:22 +00:00
or <url url="http://www2.arnes.si/~mthale1/index.html " name="DVB-s PCI cards under Linux">
2001-04-30 13:42:00 +00:00
.
</p>
<sect1>
Drivers installation
<p>
Once downloaded drivers, you have to untar them to a directory,
enter it and type "
make"
and "
make insmod"
. To do this you need to
have actual kernel sources under /usr/src/linux (unless, download
them from <url url="http://www.kernel.org" name="http://www.kernel.org">
and recompile them).
</p>
<p>
After made "
make insmod"
, your system should have DVB modules
loaded. To unload them type simply "
make rmmod"
.
</p>
<sect1>
Setting up /etc/dvbd.conf
<p>
/etc/dvbd.conf file is used to setup data-link parameters for
your DVB card. Here main settings:
</p>
<p>
<itemize>
<item>
"
power"
, which indicates the power to LNB, 1=ON, 0=OFF. Usually
you should set it to 1, unless you do some kind of cascade between
more than 1 LNB.
<item>
"
symbolrate"
, this is the symbol rate per seconds, for example
22.000.000.
<item>
"
frequency"
, at which receiving datas, like 12.640.000.
<item>
"
ttk"
, the 22 kHz signal, almost always to 1.
<item>
"
diseqc"
, used to control the diseq, (it means only when you
have a diseq controlling 2 or more converters) 0 if none.
<item>
"
AFC"
, usually set to 1.
<item>
"
polarization"
, 1 for horizontal or 0 for vertical one.
<item>
"
filter_n &lt;PID&gt; &lt;MAC&gt; &lt;BITFILTER&gt;"
, where n
is intended 0 for Unicast and 1-9 for Multicast; PID is expressed
in decimal form, MAC is the MAC address only valid for Multicast
filter and BITFILTER is a number which bits represent bytes to mask
(for example 10 = 2 (bit 1) + 8 (bit 3), so mask will be 00 00 FF
00 FF 00).
</itemize>
<p>
<quote>
Example
</quote>
</p><p>
------------------------------------------
</p>
<p>
&num; DVB receiver configuration file, (c) 2000 data planet international
</p>
<p>
&num; standard location in /etc
</p>
<p>
&num; LNB power on=1/off=0
</p>
<p>
power 1
</p>
<p>
&num; symbol rate &lsqb;symbol/sec&rsqb;
</p>
<p>
symbolrate 22000000
</p>
<p>
&num; ASTRA TR 114
</p>
<p>
frequency 12640000
</p>
<p>
&num; 22 kHz signal on=1/off=0
</p>
<p>
ttk 1
</p>
<p>
&num; diseqc on=1/off=0
</p>
<p>
diseqc 0
</p>
<p>
&num; AFC on=1/off=0
</p>
<p>
AFC 1
</p>
<p>
&num; polarisation H=1/V=0
</p>
<p>
polarisation 1
</p>
<p>
&num; settings for MPE filter, PID and MAC filtering, valid MAC
bytes
</p>
<p>
filter_0 512
</p>
<p>
filter_1 785 00:D0:5C:1E:96:01 48
</p>
<p>
filter_2 786 00:D0:5C:1E:96:01 48
</p>
<p>
filter_3 1041 00:D0:5C:1E:96:01 48
</p>
<p>
-----------------------------------------
</p>
<p>
filter_0 has no MAC and no bitfilter values cause the right MAC
address is calculated from IP address (see Appendix A). We will see
this setting is OK only for some ISP, for others we'll have to change
dvbd.c
</p>
<sect1>
Dvbd daemon
<p>
Once your /etc/dvbd.conf is ok, you can launch dvbd application,
which, if executed without -d option, write to stdout signal quality
level:
</p>
<p>
<itemize>
<item>
Sync MUST be 127 or near it
<item>
Vber MUST be 0
</itemize>
</p><p>
unless you are not well receiving from Sat (check cable and/or
dish pointing).
</p>
<p>
Note:
</p>
<p>
Maybe you have to change, in dvbd.h this line
</p>
<p>
&num;define network_device &quot;eth0&quot;
</p>
<p>
to
</p>
<p>
&num;define network_device &quot;ppp0&quot;
</p>
<p>
depending on which interface you use to reach Internet, eth0
or ppp0: type "
make"
to update binary file and restart dvbd.
</p>
<sect1>
How to config EON service
<p>
Now you have a good signal, you can try to use some sat service.
</p>
<p>
For EON go at "
proxy"
setting in Netscape preferences and set
under HTTP and FTP:
</p>
<p>
proxy.xxx.europeonline.net
</p>
<p>
and, in "
port"
8080 and FTP proxy with "
port"
8090.
</p>
<p>
where xxx is the transponder number (103,113,114 or 115) you
are using (see Appendix B for more).
</p>
<p>
Now you should be able to navigate wherever you want.... Good
navigation.
</p>
<p>
To share EON service with many clients you can use <url url="http://www.squid-cache.org" name="Squid proxy">
application,
enabling cascade to EON proxy.
</p>
<p>
For a more complex use of EON, like more complex cascade proxy
or sharing users, see <url url="http://obiwan.hvrlab.org/~faz/eon/eon_masq.html" name="EON Linux Masquering FAQ Page">
</p>
<sect1>
How to use Netsystem service
<p>
Netsystem service is a little more complicated than EON under
Linux, cause, in addition, you need to setup:
</p>
<p>
<enum>
<item>
VPN connection
<item>
patch for pppd (needed only if using pppd &lt;= 2.4.0)
<item>
patch for dvbd.c
<item>
Test it
<item>
Get performance better
<item>
Sharing Netsystem with many clients
</enum>
</p><sect2>
VPN connection
<p>
First you need to download <url url="http://cag.lcs.mit.edu/~cananian/Projects/PPTP/" name="VPN PPTP client application">
.
</p>
<p>
After untared, compiled and installed it, you should add an entry
to your /etc/ppp/pap-secrets and /etc/ppp/chap-secrets files, like
that:
</p>
<p>
"
login"
* "
password"
*
</p>
<p>
where "
login"
and "
password"
are the same according to <url url="http://css.netsystem.com" name="Netsystem registration">
.
</p>
<sect2>
Patch for pppd
<p>
As described at <url url="http://www.sigpipe.org/~me/vpn/pptp.html" name="PPTP description">
, you need to patch your pppd daemon to support
2001-05-03 01:13:51 +00:00
connection with Netsystem VPN server (Linux server).
2001-04-30 13:42:00 +00:00
</p>
<p>
So you have to:
</p>
<p>
<enum>
<item>
download a <url url="ftp://cs.anu.edu.au/pub/software/ppp/" name="recent pppd version">
<item>
download and gunzip the correspondent patch for pppd from <url url="ftp://ftp.binarix.com/pub/ppp-mppe/" name="Here">
<item>
untar pppd in a directory
<item>
type "
patch -p0 &lt; patch_name"
<item>
enter pppd directory
<item>
type "
make"
, "
make install"
</enum>
</p><p>
Now your pppd will be able to working with Netsystem VPN; you
can try with
</p>
<p>
"
pptp vpn.netsystem.com debug user &lt;login&gt;"
</p>
<p>
where &lt;login&gt; is your login account from Netsystem: you
should see, in log file (/var/log/messages) ppp1 connection debug
info.
</p>
<p>
If all is ok you should see ppp1 interface with "
ifconfig"
command.
</p>
<p>
If you still have problems on authentication, please add a "
noauth"
line to your /etc/ppp/options file.
</p>
<p>
Once ppp1 interface is up, you should do the following:
</p>
<p>
<enum>
<item>
type "
ifconfig ppp1"
and find the IP address (I will call IP)
on the right of "
P-t-P:"
string.
<item>
delete it from routing table with "
route del IP"
<item>
add it to ppp0 interface with "
route add IP dev ppp0"
<item>
delete default gateway from ppp0 with "
route del default"
<item>
add default gateway to ppp1 with "
route add default dev ppp1"
</enum>
</p><p>
Points 1-3 are requested cause point-to-point interface are managed,
under Linux, adding the gateway to the new interface (which is not
a good idea in this case): unless it you will have a endless loop,
cause your packet will be continuously encapsulated on itself.
</p>
<p>
Points 4,5 are used to make "
all internet requests"
to ppp1 interface,
so we'll reach the "
world"
by using VPN connection: this could be
not optimal in some condition, for example for DNS queries, which
could be sent directly to avoid useless Sat delay time.
</p>
<p>
<verb>
</verb>
</p><sect2>
Patch for dvbd.c
<p>
After solved problems about PPTP you have to change some line
in dvbd.c, near the end of it:
</p>
<p>
<verb>
if (strcmp (v, &quot;filter_0&quot;) == 0) &lcub; if (s != NULL) &lcub; unsigned char ip&lsqb;4&rsqb;;
dvbcfg&lsqb;0&rsqb;.status = ON ;
dvbcfg&lsqb;0&rsqb;.filter.data&lsqb;0&rsqb; = 0x3eff ;
dvbcfg&lsqb;0&rsqb;.filter.pid = (__u16) atoi (s) ;
dvbcfg&lsqb;0&rsqb;.filter.mode = 0x0c ;
if (ipget (ip, network_device)) &lcub; fprintf(stderr,&quot;Can't get local ip address. Stop.&bsol;n&quot;) ; return -1 ; &rcub;
syslog (LOG_NOTICE, &quot;Local ip is &percnt;u:&percnt;u:&percnt;u:&percnt;u&bsol;n&quot;, ip&lsqb;0&rsqb;, ip&lsqb;1&rsqb;, ip&lsqb;2&rsqb;, ip&lsqb;3&rsqb;);
dvbcfg&lsqb;0&rsqb;.filter.data&lsqb;1&rsqb; = (ip&lsqb;3&rsqb; &lt;&lt; 8) | 0x00ff ;
dvbcfg&lsqb;0&rsqb;.filter.data&lsqb;2&rsqb; = (ip&lsqb;2&rsqb; &lt;&lt; 8) | 0x00ff ;
dvbcfg&lsqb;0&rsqb;.filter.data&lsqb;6&rsqb; = (ip&lsqb;1&rsqb; &lt;&lt; 8) | 0x00ff ;
dvbcfg&lsqb;0&rsqb;.filter.data&lsqb;7&rsqb; = (ip&lsqb;0&rsqb; &lt;&lt; 8) | 0x00ff ;
dvbcfg&lsqb;0&rsqb;.filter.data&lsqb;8&rsqb; = (0x02 &lt;&lt; 8) | 0x00ff ;
dvbcfg&lsqb;0&rsqb;.filter.data&lsqb;9&rsqb; = (0x00 &lt;&lt; 8) | 0x00ff ;
setmac (ip) ; &rcub;
else &lcub; dvbcfg&lsqb;1&rsqb;.status = OFF ; &rcub; &rcub;
</verb>
<p>
<quote>
Now following lines:
</quote>
</p><p>
dvbcfg&lsqb;0&rsqb;.filter.data&lsqb;1&rsqb; = (ip&lsqb;3&rsqb;
&lt;&lt; 8) | 0x00ff ;
</p>
<p>
dvbcfg&lsqb;0&rsqb;.filter.data&lsqb;2&rsqb; = (ip&lsqb;2&rsqb;
&lt;&lt; 8) | 0x00ff ;
</p>
<p>
dvbcfg&lsqb;0&rsqb;.filter.data&lsqb;6&rsqb; = (ip&lsqb;1&rsqb;
&lt;&lt; 8) | 0x00ff ;
</p>
<p>
dvbcfg&lsqb;0&rsqb;.filter.data&lsqb;7&rsqb; = (ip&lsqb;0&rsqb;
&lt;&lt; 8) | 0x00ff ;
</p>
<p>
dvbcfg&lsqb;0&rsqb;.filter.data&lsqb;8&rsqb; = (0x02 &lt;&lt;
8) | 0x00ff ;
</p>
<p>
dvbcfg&lsqb;0&rsqb;.filter.data&lsqb;9&rsqb; = (0x00 &lt;&lt;
8) | 0x00ff ;
</p>
<p>
<quote>
will be changed to
</quote>
</p><p>
dvbcfg&lsqb;0&rsqb;.filter.data&lsqb;1&rsqb; = (MAC&lsqb;5&rsqb;
&lt;&lt; 8) | 0x00ff ;
</p>
<p>
dvbcfg&lsqb;0&rsqb;.filter.data&lsqb;2&rsqb; = (MAC&lsqb;4&rsqb;
&lt;&lt; 8) | 0x00ff;
</p>
<p>
dvbcfg&lsqb;0&rsqb;.filter.data&lsqb;6&rsqb; = (MAC&lsqb;3&rsqb;
&lt;&lt; 8) | 0x00ff ;
</p>
<p>
dvbcfg&lsqb;0&rsqb;.filter.data&lsqb;7&rsqb; = (MAC&lsqb;2&rsqb;
&lt;&lt; 8) | 0x00ff ;
</p>
<p>
dvbcfg&lsqb;0&rsqb;.filter.data&lsqb;8&rsqb; = (MAC&lsqb;1&rsqb;
&lt;&lt; 8) | 0x00ff ;
</p>
<p>
dvbcfg&lsqb;0&rsqb;.filter.data&lsqb;9&rsqb; = (MAC&lsqb;0&rsqb;
&lt;&lt; 8) | 0x00ff ;
</p>
<p>
Where MAC&lsqb;0&rsqb;:MAC&lsqb;1&rsqb;:MAC&lsqb;2&rsqb;:MAC&lsqb;3&rsqb;:MAC&lsqb;4&rsqb;:MAC&lsqb;5&rsqb;
is our MAC address (according to Netsystem registration).
</p>
<p>
After, you have to type "
make"
and use the new dvbd created.
</p>
<p>
Note: to successfully patch the dvbd.c you need to use dvb driver
version &gt;= 0.8.2, cause older versions have some instability problems.
</p>
<sect2>
Test it
<p>
Finally, we can test Netsystem under Linux. We can make a "
ping
www.somehostpingable.com"
and check the response time: it should
be between 400 and 2000 ms.
</p>
<p>
If you still have problems, you should control if all is OK with
VPN interface:
</p>
<p>
<enum>
<item>
open your preferred network sniffer (for example <url url="http://www.ethereal.net" name="Ethereal">
) and starts
to analyze "
ppp0"
interface (ppp0, not ppp1!!)
<item>
make a ping
</enum>
</p><p>
If VPN is ok you should see 2 (or maybe 1) GRE-Encapsulated packets
each second, endless. If you cannot view anything your VPN is not
correctly working: stop it and restart it.
</p>
<sect2>
Get performance better
<p>
Once you setup all things you NEED to use (particularly with
Netsystem service) some "
download accelerator"
to get performance
better: please see Appendix A for more.
</p>
<sect2>
Sharing Netsystem with many clients
<p>
To do this you can enable "
IP Masquering"
, allowing your client
to use VPN like a normal Internet interface; main problem is that
our satellite connection is very good for download while it has bad
performance for just browsing web pages (or other service more interactive
than downloading).
</p>
<p>
You can think to use <url url="http://www.squid-cache.org" name="Squid proxy">
or <url url="http://www.socks.nec.com/" name="Socks proxy">
, but you don't solve your problems,
cause even now ALL your request would be forwarded to same interface,
VPN.
</p>
<p>
The solution is to use 2 routing tables, one using direct line
interface and the other using VPN one. So you can do like this:
</p>
<p>
<enum>
<item>
be sure of have installed "
iproute2"
commands (for example type
"
ip"
on shell and control if it tells you something), for more see
<url url="http://www.linuxdoc.org/HOWTO/Adv-Routing-HOWTO.html" name="Linux 2.4 Advanced Routing HOWTO">
.
<item>
be sure of have started Netsystem service and annotate ppp1 interface
IP address, we'll call it LOCALIP.
<item>
type: "
echo "
210 sat"
&gt;&gt; /etc/iproute2/rt_tables"
, to more
comfortable call "
sat"
rule 210
<item>
type: "
ip rule add from LOCALIP table sat"
, to create table "
sat"
relative to all requests coming from LOCALIP IP address.
<item>
type: "
ip route add default dev ppp1 table sat"
, to send all
"
sat"
requests (see above) to ppp1 interface.
<item>
if you use <url url="http://www.socks.nec.com/" name="Socks proxy">
be sure to set, in sockd.conf file, "
external"
to
LOCALIP.
<item>
if you use <url url="http://www.squid-cache.org" name="Squid proxy">
be sure to set, in squid.conf file, "
tcp_outgoing_address"
to LOCALIP.
</enum>
</p><p>
Once done all that, you will notice to have 2 kind of working:
without any proxy your clients will ask to direct line, while by
using proxy (squid or sockd) the request will be forwarded to VPN
interface and, definitely, toward satellite.
</p>
<p>
Notice that maybe you wish to use sockd instead of squid, cause
satellite requests are typically used for download (while squid is
typically used for browsing...).
</p>
<p>
What happens with iproute2 commands is that, when you ask for
an address to sockd or squid, relative proxy (using IPLOCAL IP address,
bound at run-time by proxy network daemon) request enters the TCP/IP
stack where kernel will forward it (thanks to point 4 above) to sat
table and, definitely (by using point 5) to ppp1 interface. All other
rules will be forwarded to classical default route (I mean across
ppp0 interface or whatever other interface for direct Internet).
</p>
<sect>
Configuration under Windows
<sect1>
EON
<p>
Hauppage WinTV has DVB-DATA application that allows to specify
data-link settings.
</p>
<sect1>
Netsystem
<p>
First you need to install VPN capabilities.
</p>
<p>
In addition you need to download Netsystem software (always foreground
spot banner) and launch it: after you should not be able to use Netsystem
service: you can download it from <url url="http://bertolinux2000.interfree.it/Netsystem/Netsystem.zip" name="here">
</p>
<sect>
Appendix A - Notes
<sect1>
Translation Dynamic IP -&gt; MAC Address
<p>
The translation used by some ISPs to calculate MAC address (which
need to have your DVB card to receive their packets) is:
</p>
<p>
00 : 01 : IP&lsqb;0&rsqb; : IP&lsqb;1&rsqb; : IP&lsqb;2&rsqb;
: IP&lsqb;3&rsqb;
</p>
<p>
where
</p>
<p>
IP&lsqb;0&rsqb;.IP&lsqb;1&rsqb;.IP&lsqb;2&rsqb;.IP&lsqb;3&rsqb;
is your dynamic IP address.
</p>
<p>
This feature is used, for example, by EON.
</p>
<sect1>
TCP Window
<p>
Satellite connections are an interesting example of very high
RTT (round trip time, access time): another example is the Mars -
Earth communication or also the Moon - Earth one.
</p>
<p>
These connections have a very bad feature: very low interactively.
</p>
<p>
Typical network (or digital, generally) connections use the so
called transmission "
window"
, which represents the data buffer can
be sent before waiting for an answer. In TCP/IP protocol stack this
is the TCP Window.
</p>
<p>
<verb>
----------------------
| - - - - - - - &gt; can continue |-|-|-|----&gt;
| ----------------------
| Buffer sendable before confirm
|
| - - - - - - - &lt;----------------------
Confirmation Answering
</verb>
</p><p>
Now, if our communication has an high access time and if we had
a little TCP Window we would lose very much time only waiting for
the data confirmation (ACK), so the real bandwidth would decrease
(for example if you have a 16KB TCP window, typical of Windows systems
and a RTT of 400 ms, you cannot overcome 16KB/0.4 = 40 KB/s)
</p>
<p>
Solution is to use a very high TCP Window (such as 256 KB or
some MB).
</p>
<p>
Unfortunately, under many systems, is not so simple to have a
great TCP Window, so, in latest years, it starts to appear new applications
("
download accelerators"
described in next section) that split in
many pieces a file and download all them in the main time: this is
just equivalent to download only one file with a single piece size,
avoiding the RTT problem.
</p>
<sect1>
Download accelerator
<p>
We report here some useful link to so called "
download accelerator"
which is an application that does 2 things:
</p>
<p>
<enum>
<item>
resuming session management, it allows stopping downloading and
restarting later (this can be done thanks to "
resuming feature"
introduced
in Http and Ftp server, which allows you to specify at what byte
number start to download).
<item>
splitting, divide the file in many pieces and let them start
in a multithreaded fashion.
</enum>
</p><p>
As we saw in the previous section, a download accelerator allows
us to increase satellite bandwidth.
</p>
<sect2>
Under Linux
<p>
<itemize>
<item>
<url url="http://aria.rednoah.com/" name="Aria">
</itemize>
</p><sect2>
Under Windows
<p>
<itemize>
<item>
<url url="http://www.amazesoft.com" name="FlashGet">
<item>
<url url="http://www.getright.com" name="GetRight">
<item>
<url url="http://www.metaproducts.com" name="Mass Downloader">
</itemize>
</p><sect>
Appendix B - Well Known Sat ISP setting value
<sect1>
EuropeOnLine
<p>
EON sends data from Astra satellite (19.2 SE).
</p>
<p>
MAC address is calculated from IP address (see Appendix A).
</p>
<p>
It uses "
Proxy Authentication"
.
</p>
<p>
Follows the 4 transponder setting:
</p>
<sect2>
Transponder 113
<p>
<itemize>
<item>
Frequency: 12633.250 MHz,
<item>
SRate : 22 MS/s
<item>
Polarization: Horizontal
<item>
Unicast PID: 512 (decimal)
</itemize>
</p><sect2>
Transponder 114
<p>
<itemize>
<item>
Frequency: 12640 MHz,
<item>
SRate : 22 MS/s
<item>
Polarization: Vertical
<item>
Unicast PID: 512 (decimal)
</itemize>
</p><sect2>
Transponder 115
<p>
<itemize>
<item>
Frequency: 12662.750 MHz,
<item>
SRate : 22 MS/s
<item>
Polarization: Horizontal
<item>
Unicast PID: 512 (decimal)
</itemize>
</p><sect2>
Transponder 103
<p>
<itemize>
<item>
Frequency: 12461 MHz,
<item>
SRate : 27.5 MS/s
<item>
Polarization: Horizontal
<item>
Unicast PID: 512 (decimal)
</itemize>
</p><sect1>
Netsystem
<p>
Netsystem uses Astra satellite (19.2 SE) to send data .
</p>
<p>
MAC address used is your real MAC address DVB card.
</p>
<p>
It uses VPN connection.
</p>
<p>
Follows data setting:
</p>
<sect2>
Transponder 119
<p>
<itemize>
<item>
Frequency: 12721 MHz
<item>
SRate: 22MS/s
<item>
Polarization: Horizontal
<item>
Unicast PID: 451 (decimal)
</itemize>
</article>
2001-05-04 01:05:35 +00:00