Sat (Satellite Technology) HOWTO Roberto Arcomano
berto (at) fatamorgana.com
Florindo Santoro
flosan (at) hack-it.net
지훈
gobears (at) kldp.org
v1.0, 30 April 2001 번역 v1.0 2001년 8월 31일 가자곰 한국어 번역판 위성을 이용한 인터넷 연결 기술은 인터넷 사용자들을 위해서 다운로드에 필요한 높은 대역폭을 허용하고, 재미있는 많은 서비스를 제공합니다. 이 문서는 리눅스 환경에서 얼마나 빨리 또 얼마나 많은 컴퓨터를 공유할 수 있는지에 관해서 이야기합니다. 이 문서의 최신 버전은 http://www.fatamorgana.com/bertolinux/sat/englishhttp://www.hack-it.net/How-To/Sat-HOWTO.html 에서 확인하시기 바랍니다.
Introduction
서론 이 문서는 위성 기술과 위성 기술이 어떻게 작동하는지 그리고 왜 필요한지, 어떻게 설정하고 여러 개의 클라이언트들은 어떻게 공유되는가에 대해서 설명합니다. 위성 연결은 지상 연결 기술 혹은 네트워크와는 매우 다릅니다. 위성 연결을 지속적으로 사용하기 위해서는 설치할 때 더 많은 주의가 요구되며, 안정적인 연결을 위해서는 유지보수에 좀 더 주의를 기울여야 합니다. (눈, 강한 비 등의 기상 조건은 좋은 신호를 방해하는 원인이 됩니다.) 이 글에 대한 의견은 언제나 환영합니다. 다음의 이 메일 주소를 이용해 주시기 바랍니다. berto@fatamorgana.comflosan@hack-it.net
번역자의 생각 하나로 통신에서 시범적으로 케이블을 설치하기 어려운 지방을 대상으로 위성을 이용한 인터넷 연결을 구축하기 위해서 시범 운용을 하고, 시범지역으로 마포구 일대가 선정이 되었었습니다. (물론 무료였습니다.) 현재는 한국통신과 삼성 SDS의 다이렉PC에서 위성을 이용한 인터넷 연결을 구현하여 서비스 하고 있습니다. 이미 방송용 위성을 보유하고 디지털 방송을 상업화하는 시기에서 리눅스에서 위성통신을 구현 하는 방법을 알아보는 것이 도움이 될 것 같습니다. -가자곰-
배경지식
위성이란 무언인가? 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. 최근 몇 년 동안 위성은 인터넷 네트워크 통신을 지원하기 시작했습니다. 중대형 ISP가 지원하는 서비스로 몇몇 사용자는 위성을 통해 인터넷을 이용할 수 있게 되었습니다. (한국에서는 하나로 통신에서 무궁화 위성을 통해서 서울 특정구-마포구-에서 시범운용하고 있습니다.) 위성 연결은 매우 높은 RTT(round trip time-응답시간)와 최고 2 Mbps 혹은 그 이상을 지원하는 매우 높은 대역폭(현재 한국에서는 2 Mbps는 높은 대역폭은 아닙니다.) 등 많은 부분에서 지상 연결과는 매우 틀립니다.
어떻게 동작하나? 다음과 같은 위성 연결을 가정할 수 있습니다. |||||| S A T E L L I T E |||||||| / /|\ Downl / | Uploading load / | from to /(4) | (3) server client / | / | SatCard(parabolic antenna) | | | \|/ | USER PC ----make request-----> SAT-SERVER <---retrieving---> INTERNET (1) (2) 처음에는 인터넷 연결을 이용해서 Sat-Server에 위성연결을 요구합니다(1). 다음에 위 요구사항을 인터넷으로부터 정보를 가져오고(2) 이것을 위성에 보냅니다(3). 마지막으로 가정에서 파라볼라 안테나와 위성 카드를 이용해서 해당하는 정보를 받을 수 있습니다. 두 가지의 기본 적으로 요구되는 서비스가 있습니다. Http Ftp 두 가지 모두 작은 크기의 요구패킷과 매우 큰 크기의 답변패킷으로 구성되기 때문에, 위성 통신에서 아주 잘 작동될 수 있는 것입니다. 그러나, 매우 큰 응답 시간을 가지고 있는 것이 문제입니다. 이 것은 위성 통신이 가지고 있는 가장 큰 문제입니다. 일반적인 위성 통신을 가정하면 위성과의 거리는 약 36,000km입니다. 이것으로 응답시간을 계산하면 36000 km / 300.000 km/s = 0.120 s가 됩니다. 이것을 일반적인 인터넷 응답시간에 더해야 합니다. (또한, 한가지 더 더해야 할 응답시간이 있는데, 처음으로 ISP에 위의 신호를 보내는 시간을 더해야 합니다. - 휴우 긴 시간이 되겠죠) 최근의 ISP들은 다음의 서비스를 제공하고 있습니다. Chat Email News 또한 다른 다양한 서비스를 지원하기 시작했습니다. 또한 "one-way" 라고 부르는 서비스가 있습니다. 이것은 메일과 원하는 시간에 예약된 파일을 받을 수 있는 download on-demand 라는 것과 사이트 다운로드로 구성되어 있습니다. 이 서비스는 오프라인으로 제공되며(위성을 이용하니까 당연하겠죠), 모뎀이 없이 연결이 가능합니다. - 한 마디로 받기만 하는 서비스 입니다. 위성 통신으로 어떤 정보를 찾을 수 있는 것이 아니라, 정해진 것을 받는 서비스 입니다.-
또 다른 기술들 또 다른 위성 기술이 있습니다. 이것은 2-way sat connection인데, 오직 파라볼라 안테나로만 인터넷 연결을 하는 것입니다. 당연히 파라 볼라 안테나로 신호를 송출할 수 있어야 합니다. 이 방식은 1-way connection에 비해 매우 가격이 비쌉니다. 미래에나 대중화 되기를 기대할 수 있을 것 같습니다. 현재는 다운로드에 4 Mbit/s 와 업로드에 256Kbit/s의 대역폭을 제공하고 있습니다. (전파를 수신만 하는 안테나는 가격과 설치에서 그나마 쉬운 편이지만, 전파를 내보낼 수 있는 안테나는 높은 가격과 숙련된 기술을 요구합니다.)
최대 대역폭(전송속도)은 얼만 인가? 다음과 같은 여러 가지 변수에 의해서 정해 집니다 : ISP의 목적, TCP 윈도우 사용 유무, 사용자가 이용하는 프로그램 그리고 인터넷 연결의 혼잡도 최대 1-4 Mbps의 대역폭을 기대할 수 있고 평균적으로는 10-30 KBytes/s 속도가 나올 수 있습니다. 하지만, 여러 가지 변수에 영향을 받습니다. 어쨌든 많은 ISP가 최대 대역폭을 이야기 하겠지만, 평균 대역폭은 혼잡도 때문에 그 보다 훨씬 낮습니다. 어떤 ISP들은 최소 대역폭을 보증합니다. 이것은 최대 대역폭 보다 더 훨씬 의미가 있습니다. 부록 A를 보면 더 자세한 정보를 얻을 수 있습니다.
비용은 얼마나 드나? 하드웨어 비용과 ISP의 서비스를 이용하는 비용을 구분해야 합니다. 하드웨어 비용은 정해져 있고, 서비스는 어떤 것을 선택하냐에 따라서 달라집니다.
하드웨어 비용 위성 시스템을 설치하는데 필요한 것들: 위성카드 파라볼라 안테나 변환기 위성 신호를 변환하기 위해서는 디지털 변환기가 필요합니다. 위성 카드는 제조회사에 따라서 다릅니다. 약 200US$-300US$ 입니다. (매우 비싼 가격 입니다. 약 25만원에서 35만원이고, 아마도 한국으로 수출되는 가격은 이보다 훨씬 비싸질 겁니다.) 파라볼라 안테나 약 50 US$. 변환기(일명 셋톱 박스) 50US$. 총 합해서 약 3-400 US$ 정도가 듭니다. 하지만, 설치비용은 포함하지 않았습니다. (한국에서는 대부분 설치비를 받지 않습니다. 하지만, 미국은 설치비가 더 비싼 경우도 많습니다.) 만약 암호화서비스를 원한다면 CI 에 약 100 US$. CAM 에 약 100 US$-250 US$.
ISP 사용 비용 어떤 회사의 어떤 서비스를 이용하는 가에 따라서 비용은 달라집니다.(당연한 얘기죠) 또한 어떤 ISP들은 하단의 광고를 보는 대가로 무료 서비스를 제공하기도 합니다. 일반적으로 미국에서 일년동안 보증 되지 못하는 서비스는 약 100-150불이고, 속도 및 안정성을 보증하는 서비스는 일년에 약 4-600불 정도 입니다.
어떤 위성을 이용하게 되는가? 우리가 위성이라고 말할 때는 다음을 의미합니다: Astra (19.2 degree SE), Hotbird (13.2 degree SE), new Europestar (45 degree SE), Eutelsat (8 degree SW), Astra (26E), ArabSat 3A (26E). 무공화 위성에 관한 사항은 한국통신 위성사업부에서 확인하시기 바랍니다.
어떤 ISP가 인터넷 서비스를 제공하는가? 유럽에서는 8개의 ISP가 있습니다. 한국에는 2개의 회사가 제공하고 있습니다. EuropeOnLine - EON Netsystem Starspeeder Eliosat Falcon Stream SkyDSL OpenSky DirecPC 위 회사는 자사만의 위성카드를 이용합니다.(첫번째 위성 ISP입니다) 한국 위성 ISP들 한국통신 삼성 SDS의 DirecPC EON은 보증 되지 않는 서비스를 일년에 150 US$에 제공합니다. Netsystem 배너를 보는 대가로 무료 서비스를 제공합니다. Starspeeder는 ???? Eliosat 최저 128 Kbps를 보증하며 일년에 350 US$을 입니다. 또한 양방향 서비스를 제공합니다. SkyDSL은 128Kbit/s을 제공하며 한 달에 15 US$ 이지만, 더 큰 대역폭을 원할 때는 더 많은 비용을 내야 합니다. 자세한 것은 해당 웹사이트를 참조하시기 바랍니다. 한국 통신과 삼성SDS에 관한 사항은해당 사이트를 방문해 보시기 바랍니다. 물론 한글입니다. 주의 : 위성 서비스에 가입하기 전에 파라볼라 안테나의 지름과 위성 신호의 수신 가능 여부를 확인해 보시기 바랍니다.
그 밖에 필요한 것들 DVB 카드를 이용한다면 무료 디지털 TV를 볼 수 있습니다. 그리고 어떤 카드들은 상용 채널을 볼 수 있는 기능을 지원합니다. 다음의 그림으로 개념을 정리 할 수 있습니다. Smart-Card -> CAM -> Common Interface -> Sat Card (with support C.I.) CAM 카드(많은 종류의 복호화 기술이 있습니다. SECA, IRDETO, VIACCESS 등등)는 하드웨어 복호화를 담당합니다. Common Interface 또는 C.I. (ETSI EN 50221)는 위성카드와 CAM 사이의 연결을 주관합니다.
기술정보
일반적인 동작방법 위성 연결이 어떻게 작동하고 어떤 조건에서 가능한가를 알아보려 합니다. 위성 연결을 일반적인 무선 연결로 상상해 볼 수 있습니다. (역자 주 : 자세한 건 제가 번역한 Wireless HOWTO를 살펴 보세요) 다시 말해서 케이블로 연결 되지 않은 두 개의 시스템간의 연결로 생각할 수 있습니다. 무선 연결은 보안 문제, 연결가능성 등 유선 네트워크와는 매우 다른 문제를 가지고 있습니다. 또한 눈 또는 비와 같은 날씨에 많은 영향을 받습니다. 어쨌든, 무선 통신을 가능하게 하는 가장 중요한 원리를 고려해야 합니다. 말을 할 수 없는 거리 이지만, 시야확보와 같은 문제는 매우 중요합니다. 더 자세한 것은 Wireless HOWTO에서 확인하시기 바랍니다. 위성 연결에서는 위성 신호를 수신하기 위해서 RX에서 많은 이득을 얻을 수 있는 파라볼라와 같은 특별한 안테나를 이용합니다. 사실 위성은 36,000km의 정지궤도에 있고, 위성의 신호를 수신하기 위한 안테나는 파라볼라 밖에 없습니다.
주파수 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). 우리가 이용하는 주파수는 11GHz에서 12.7 GHz로 매우 높은 주파수 대역을 이용하게 됩니다. 그러나 파라볼라 안테나에서 우리가 이용하는 변환기까지 신호를 보내기 위해서 1-2 GHz나 혹은 그보다 낮은 주파수로 변조해야 합니다.
DVB 수신 카드 1 GHz Signal --> |RX|--> |ADC| --> |Low Level Network| --> |O.S. TCP/IP Stack|--> Data |____________________________________| DVB Card 위성으로 부터 수신되는 1GHz의 RX아나로그 신호를 가정할 수 있습니다. 이 신호를 디지털 신호로 변환하고 low level network layer(ISO OSI 1,2)에 보내게 됩니다. 카드의 펌웨어는 이 신호를 2 레벨의 패킷으로 변환하고 이것을 우리가 사용하는 OS로 보내게 됩니다. 결국 이것이 우리가 이용하는 TCP/IP 패킷이 되는 것입니다. (이 것이 DVB가드의 역활 입니다. 위성방송을 수신하는 경우에는 셋톱 박스를 의미하는 것이겠죠.)
Data Link Level의 DVB 설정 DVB 가드를 설정하는 방법에 대해서 이야기 합니다. 위성 주파수를 설정해야 합니다. 미리 말했듯이 11.8 GHz 에서 12.8 GHz 사이의 주파수로 설정해야 합니다.(예 12640000 KHz) 초당 얼마의 Symbol rate인지를 설정해야 합니다. (일반적으로 22 MS/s) (Mega Symbols per seconds) 소프트웨어 상에서 안테나의 위치를 설정해야 합니다. 수직으로 얼마 혹은 수평으로 얼마 해서 말입니다. PIDs PID를 선택해야 합니다. 같은 주파수에 있는 많은 신호 중 원하는 신호를 선택할 수 있게 합니다. bitfilter mask를 설정해 주어야 합니다. (Bitfilter mask는 TCP/IP netmask와 유사합니다. 다만 차이점이 있다면 Bitfilter mask는 크기가 48비트이고 TCP/IP netmask 는 32비트라는 것이 틀릴 뿐입니다.) 굉장히 많은 수의 MAC address 그룹을 이용합니다. 항상 인터넷 데이타는 PID로 홀로 보내지게 되고, 비디오는 PID로 다중으로 보내 지게 됩니다. MAC address 계산: MAC address를 계산해야 합니다. 어떤 ISP에서는 독틀한 알고리즘을 통해서 IP 주소와 MAC address를 계산합니다.(부록 A에 첨부 되어 있습니다.) 어떤 ISP는 MAC address만을 이용하기도 합니다. 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.
TCP/IP 동작 2.2절에서 다루었듯이, 먼저 모뎀 인터페이스(ppp0 혹은 인터넷 연결을 위해 이용하는 것)를 이용해서 인터넷 연결을 요구하면, DVB 인터페이스(dvb0)로 응답이 돌아옵니다. 현재의 OS들은 우리가 요구한 다른 출력 인터페이스와 입력 인터페이스에서 패킷을 받을 수 있도록 해 줍니다. 이 것을 하기 위해서는 다음과 같이 패킷 흐름 컨트롤을 사용하지 못하도록 해야 합니다.(자세한 사항은 부록 A에 있습니다.) echo "0" > /proc/sys/net/ipv4/conf/dvb0/rp_filter (for Linux)
인증 이제 위성통신을 하기 위해서는 한가지 인증?방법이 남았습니다. 어떤 위성 ISP들은 우리가 프록시(proxy)를 사용할 때, "프록시 증명(Proxy Authentication)"이라는 것을 사용합니다. 이 서비스를 이용하기 위해서는 물론 각 회사의 서비스에 등록해야 하고, login name과 password를 받아야 합니다. 위 과정을 거치면 ISP는 응답을 받기 위해서 IP 주소를 사용하여 MAC address(부록 A에 더 자세한 것이 있습니다.)를 확인 합니다. 다른 ISP들은 VPN(login과 Password를 요구하는)연결을 사용하기도 합니다. 연결된 후에 등록된 계정을 통해서 MAC Address를 확인하고 바로 데이터를 전송합니다. 어떤 방법을 사용하든지 dvb sat filter의 값이 모든 MAC address로 오는 팻킷 신호를 받을 수 있게 해 주어야 합니다.
위성 연결로 이용할 수 있는 서비스들 일반적으로 이용하는 ISP가 어떤 인증 시스템을 가지고 있는지에 따라서 사용할 수 있는 서비스들이 틀려집니다. 전통적인 Proxy 인증방법으로는 HTTP와 FTP같은 서비스를 이용할 수 있는 반면에 VPN 연결로는 이용할 수 있는 서비스의 제한이 없습니다. 다만 위성연결에서 생기는 약 500-1000 ms정도의 RTT에 의한 제한이 생깁니다. 그래서 리얼타임이나 혹은 음성 서비스등을 잊어야 할 지도 모릅니다. 그러나 mail, chat, telnet, ping, dns 같은 다른 서비스는 계속 이용할 수 있습니다.
Requirements 위성통신을 위해서 무엇이 필요한지 알아 봅니다.
요구되는 지식 리눅스(NET3-HOWTO에 있는 것처럼)기반 하의 인터넷워킹에 관한 경험이 필요합니다. 그리고 파라볼라 안테나와 위성시스템에 관한 아주 적은 지식이 필요합니다. (안테나의 각도를 조정하는 것과 같은 것 말이죠)
하드웨어 필요한 것들 파라볼릭 안테나 Digital converter DVB 호환되는 Receiver card. PC
소프트웨어 Linux, Windows 혹은 그외의 OS에서 작동하는 DVB card 드라이버 드라이버 설정 외부 응용프로그램 세팅(ISP에서 요구하는 VPN-PPTP client 세팅) Siemens DVB driver 는 Linux TV Project Linux TV Project 에서 찾을 수 있습니다.
TV 소프트웨어 TV 신호를 처리하기 위한 비디오 소프트웨어가 필요합니다.
윈도우즈 환경 MultiDec MultiDec 6.6b (free with source code) TPREdit TPREdit (for Technotrend) WinTV DVBs Hauppauge or Technotrend (for Siemens compatible card, Hauppauge, Technotrend, Technisat, etc... ) WinDVB2000 WinDVB2000 (about 19$).
리눅스 환경 gVideo is an application included in Siemens driver Vdr Video Recoder (good for watch TV)
기초적인 설치
안테나 설치 우선 안테나를 지붕이건 옥상이건 설치해야 합니다. 그리고 안에나의 방향을 지겅해 주어야 합니다. 당연히 지구는 삼차원 이므로 무슨 쪽 몇도 높이 몇도 라고 정확히 가리켜 주어야 합니다.
정확한 측정 정확히 우리가 원하는 곳을 지정하는 어떻게 알 수 있을까? 정확한 각도로 안테나를 조정한 후에, 파워를 조정하는 것으로 정확한 방위를 가르키는 알 수 있습니다. 예를 들어 아나로그 수신기를 사용하는 경우에(물론 디지털 수신기에도 적용가능합니다.) 알맞은 각을 찾은 후에 아나로그 수신기로 가장 좋은 신호가 잡히는 각을 찾아 냅니다. 적정 각으로 설정한 뒤, 수신기로 확인하면 되겠습니다. 디지털로도 가능하지만, 아나로그가 훨씬 쉽습니다. 파위 측정기(약 20US$)를 이용하는 경우에는 신호측정기를 잘 확인하면 됩니다.
양방향 지원 두 개의 위성을 지원하는 시스템을 꾸밀 수도 있습니다.(어떤 회사들은 이 기능을 지원하는 완변한 상품을 내놓고 있습니다. 예를 들면 Astra (19.2 SE) with Eutelsat (16 SE) or with HotBird (13 SE)입니다.) 안테나 설치를 위해서 추가적으로 위성이 변환기의 반대방향에 위채 해야 한다는 것을 고려해야 합니다. 아래 그림과 같습니다. SAT1 SAT2 \ / \ / \ C1 C2 / \ \ \ / / / \ \ / \ / / \____\ /___\ /_____/ Top View C1 receives from SAT2 C2 receives from SAT1 또한 두개의 촛점으로 두개의 위성을 이용할 수 있습니다.
Data-link level 조정 이제?주파수, PID, 속도 등등을 적절히 조절해야 합니다. 여기에 Astra satellite (19.2 SE)을 이용하는 EON (EuropeOnLine)에 관한 예제가 있습니다. Frequency: 12640 MHz Polarization: V (Vertical) Symbol Rate: 22000 KS/s PIDs: Unicast: 512 (decimal), 0x200 (hexadecimal) Multicast: 785, 786, 1041 (decimal), 0x311, 0x312, 0x411 (hexadecimal), 대부분 자동으로 설정됩니다. 또한 MAC address와 DVB카드 정보가 필요합니다. 참고적으로 EON을 위한 MAC address값 계산 법이 부록 A에 있습니다. ISP에 연결하기 위한 login name과 password가 필요합니다.
리눅스에서의 설정 이 과정에서 부터 Hauppage WinTV DVB card와 같은 Siemens호환 카드를 사용한다고 가정하겠습니다. 해당 드라이버와 소프트웨어는 다음에서 다운 받을 수 있습니다. LinuxTV or DVB-s PCI cards under Linux
Drivers 인스톨 드라이버를 다운로드 받은 후에, untar로 푼후, 해당 디렉터리에서 "make" 와 "make insmod"를 입력해야 합니다. 이렇게 하기 위해서는 /usr/src/linux 밑에 있는 리눅스 커널 소스가 필요합니다. "make insmod"후에 스시템에 DVB 모듈이 로드됩니다. 모듈을 적재하지 않기 위해서는 간단히 "make rmmod"라고 입력하면 됩니다.
/etc/dvbd.conf 설정 /etc/dvbd.conf 파일은 DVB 카드를 위한 data-link parameters 설정을 하는데 쓰입니다. 다음이 셋팅 방법 입니다. "power" , LNB의 파워 상태를 가리킵니다. , 1=ON, 0=OFF. 1개 이상의 LNB를 종속적으로 사용하지 않는다면, 평소에는 1로 설정합니다. "symbolrate", symbol rate per seconds, for example 22.000.000. "frequency", 데이타를 받는 주파수 , 예 12.640.000. "ttk", the 22 kHz signal, 거의 항상 1. "diseqc", 사용하는 diseq 수, 없으면 0.(2개 혹은 그 이상의 수를 사용할 때 쓰임 "AFC" , 대부분 1 "polarization", 수평은 1 수직은 0 "filter_n <PID> <MAC> <BITFILTER>" , n 이 0 이면 unicast, 1 에서 9 이면 multicast; PID는 10진수; MAC은 MAC address로 multicast 필터와와 mask로 변화되는 비트 넘버인(예를 들면 10 = 2 (bit 1) + 8 (bit 3) 그래서 mask는 00 00 FF 00 FF 00)BITFILTER에 의해서 결정된다. Example ------------------------------------------ # 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 는 MAC와 bitfilter 값을 가지고 있지 않습니다. 왜냐 하면 MAC address는 IP 주소로 부터 구하기 때문 입니다.(자세한 것은 부록 A 참조) 위의 세팅으로 몇몇 ISP를 이용할 수 있겠지만, 만약 안된다면 dvbd.c 파일을 수정해야 합니다.
Dvbd daemon /etc/dvbd.conf 설정에 성공 했다면, dvbd 프로그램을 실행해야 합니다. -d 옵션 없이 실행한다면, stdout 신호를 quality level에 써줍니다. Sync MUST be 127 or near it Vber MUST be 0 위성으로 부터 신호를 잘 수신하지 못 한다면(케이블과 안테나의 방향을 확인해 보세요) dvbd.h 파일의 다음 줄을 수정해야 할지도 모릅니다. #define network_device "eth0" #define network_device "ppp0" 로 어떤 인터넷 인터페이스를 사용하고 있는지에 따라서 eth0 혹은 ppp0를 결정해야 합니다. 그리고 "make"를 입력하여 파이너리 파일을 다시 업데이트 해주어야 합니다. 그리고 dvbd를 다시 시작합니다.
EON 서비스 설정하기 좋은 신호를 수신할 수 있다면, 위성 서비스를 이용할 수 있습니다. EON은 HTTP와 FTP를 이용할 때 "proxy"를 이용합니다. proxy.xxx.europeonline.net 는 포트 8080 FTP는 프록시로 포트 8090을 이용합니다. xxx는 transponder number(103,113,114 or 115)입니다. 부록 B 에서 자세히 다룹니다. 이제 인터넷 항해를 할 수 있습니다. 편안하게 하세요. 여러개의 클라이언트에서 EON서비스를 공유하기 위해서는 Squid proxy의 프로그램을 사용하새 보시기 바랍니다. EON 프록시를 여러개 사용할 수 있도록 도와 줍니다. 더 많은 사용자들이 사용하기 위해서는 다음의 EON Linux Masquering FAQ Page 를 방문해 보시기 바랍니다.
Netsystem 서비스 사용하기 Netsystem은 리눅스 환경에서 사용하기는 EON 보다 좀 복잡합니다. VPN connection patch for pppd (needed only if using pppd <= 2.4.0) patch for dvbd.c Test it Get performance better Sharing Netsystem with many clients
VPN 연결 우선 VPN PPTP client application에서 프로그램을 다운 받으시기 바랍니다. 파일을 푼 후, 컴파일 하고 인스톨 합니다. /etc/ppp/pap-secrets 와 /etc/ppp/chap-secrets 파일에 다음을 추가 시켜야 합니다. "login" * " password" * "login" 과 "password"는 Netsystem registration의 것과 일치해야 합니다.
pppd를 위한 패치 PPTP description에서 말한 것과 같이 Netsystem VPN server (Microsoft server)를 지원하는 pppd daemon을 패치하여야 합니다. 다음의 방법입니다. So you have to: recent pppd version 방문합니다. 여기에서 pppd를 패치를 위한 최신 버젼을 받습니다. 해당 디렉터리에 풉니다. 다음을 입력합니다. "patch -p0 < patch_name" pppd 디렉터리로 이동합니다. enter pppd directory "make" , "make install" 입력합니다. Netsystem VPN을 사용할 수 있습니다. 다음을 해 보시기 바랍니다. "pptp vpn.netsystem.com debug user <login>" Netsystem의 어카운트로 접근할 수 있는 <login>명은 /var/log/messages 에 있는 로그 파일의pppl connection 정보에서 볼수 있습니다. 모든 것이 정상이라면 "ifconfig" 명령어로 pppl 인턴페이스를 확인 할 수 있습니다. 인증과정에서 계속 문제가 생긴다면 /etc/ppp/options 파일에 "noauth"를 추가 해 보시기 바랍니다. pppl 인터페이스가 작동하면 다음을 과정으로 넘어 갑니다. "ifconfig ppp1" 입력합니다. "P-t-P:"의 오른쪽에서 IP 주소를 찾습니다. "route del IP"로 라우팅 테이블에서 IP 주소를 지웁니다. "route add IP dev ppp0"로 ppp0 interface에 IP를 추가 합니다. "route del default"로 기본 게이트웨이를 지웁니다. "route add default dev ppp1"로 기본 게이트웨이를 추가합니다. 1번 부터 3번 과정은 PPP 인터페이스를 리눅스 환경에서 다루는데 필요합니다. 게이트웨이를 새로운 인터페이스로 추가하는 것은 좋은 아이디어 처럼 보이지 않을 수 있습니다. 무한 루프에 빠지지 않는다면 아마도 패킷이 계속 암호화 된 것입니다. 4번 5번 과정은 pppl 인터페이스로 모은 인터넷 요구가 가도록 만듭니다. 그래서 VPN 연결로 인터넷을 이용할 수 있게 됩니다. (이러한 방법은 가장 좋은 연결 방법은 아닙니다. DNS 쿼리 예를 들자면, 이것은 위성 통신의 응답시간 지연에 관계없이 바로 보내어 질 수 있습니다.)
dvbd.c 패치 PPTP 문제를 해결한 후에 dvbd.c 파일의 라인의 일부분을 수정해야 합니다. (거의 끝부분입니다.) 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 ; } } 다음 줄을 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 ; 다음으로 바꿔야 합니다. 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 ; Where MAC[0]:MAC[1]:MAC[2]:MAC[3]:MAC[4]:MAC[5] is our MAC address (according to Netsystem registration). After, you have to type " make" and use the new dvbd created. Note: to successfully patch the dvbd.c you need to use dvb driver version >= 0.8.2, cause older versions have some instability problems.
시험해 보기 마지막으로 리눅스에서 Netsystem을 테스트 해 봅니다. "ping www.somehostpingable.com"으로 응답 시간을 측정해 봅니다. 약 400에서 2000 ms 이어야 합니다. 아직 문제점이 발견 된다면 VPN 연결 부분을 다시 한번 살펴 보시기 바랍니다. network sniffer (예 Ethereal) 실행하고, "ppp0" interface 검사 합니다. (ppp1이 아니라 ppp0입니다.) ping 을 합니다. VPN이 정상이라면 두개 혹은 한개의 GRE-Encapsulated packets을 초당 확인할 수 있을 겁니다. 끝으로 여전히 VPN으로 아무것도 확인할 수 없을 경우 시스템을 정지하고 다시 시작해 보시기 바랍니다.
최적화 하기 필요한 보든 설정을 다했다면, "download accelerator" 같은 것으로 좀 더 낫은 성능을 얻을 수 있습니다. (자세한 것은 부록 A를 보시기 바랍니다.)
Netsystem을 여러 컴퓨터에서 공유하기 인터넷 연결을 공유하기 위해서는 "IP Masquering"을 가능하게 해 두어야 합니다. 모든 클라이언트 컴퓨터는 VPN 을 정상적인 인터넷 인터페이스로 사용할 수 있게 해 주어야 합니다. 가장 큰 문제는 위성 시스템이 다운 속도는 빠르나 웹 브라우징 부분에서는 나쁜 성능을 가진다는 것입니다. Squid proxySocks proxy 를 사용하는 방법을 생가해 볼 수 있습니다. 그러나 계속 같은 문제를 격게 된다면, 이유는 모든 인터넷 요구가 같은 인터페이스 즉 VPN으로 보내기지 때문입니다. 해법은 두 개의 라우팅 테이블을 이용하는 것입니다. 하나는 direct line 인터페이스를 이용하는 사용하고, 하는 VPN을 이용하는데 사용합니다. 그래서 다음과 같이 할 수 있습니다. "iproute2"로 인스톨을 확인합니다. (예를 들면 "ip"라고 입력하고, 정보를 확인합니다.) Linux 2.4 Advanced Routing HOWTO 에서 더 많은 정보를 얻을 수 있습니다. Netsystem 서비스를 시작합니다. ppp1 interface 를 IP address로 지정합니다. 위의 IP 주소를 LOCALIP라고 부르겠습니다. type: "echo " 210 sat">> /etc/iproute2/rt_tables", to more comfortable call "sat" rule 210 type: "ip rule add from LOCALIP table sat", to create table "sat" relative to all requests coming from LOCALIP IP address. type: "ip route add default dev ppp1 table sat", to send all "sat" requests (see above) to ppp1 interface. Socks proxy을 사용한다면, sockd.conf 파일의 "external"을 LOCALIP로 지정하는 것을 잊지 마시기 바랍니다. Squid proxy을 사용하다면, squid.conf 파일의 "tcp_outgoing_address"을 LOCALIP로 지정하시기 바랍니다. 모든 설정을 마쳤다면, 프록시를 거치지 않고 바로 유선으로 요청하는 작업과 프록시(squid 또는 sockd)를 거치는 요구는 VPN 인터페이스로 전달되는 작업 두가지를 확인 할 수 있습니다.(명확히 하자면 위성으로 가는 신호 말입니다.) squid 대신에 sockd을 사용하기를 원할 수 있습니다. 왜냐하면 위성은 다운 받는데 특화되어 있기 때문입니다. iproute2 명령어를 입력하면 무슨 일이 벌어질까요? sockd 또는 squid에 주소를 확인할 때 프록시 요구는 커널이 전송하는 테이블에 설정된 곳(정확히 pppl 인터페이스)으로 TCP/IP 스택을 입력합니다. 모든 다른 요구는 기본 라우트로 전송 됩니다.
Windows에서 설정
EON Hauppage WinTV는 특정 data-link 셋팅을 허용하는 DVB-DATA application을 가지고 있습니다.
Netsystem 먼저 VPN을 사용할 수 있도록 해야 합니다. 추가적으로 Netsystem 소프트웨어를 다운 받아서 실행해야 합니다. 다음에서 파일을 다운 받을 수 있습니다. here
Appendix A - Notes
Dynamic IP -> MAC Address 변환 몇몇 ISP들은 MAC address를 계산하는데 translation 을 사용합니다. 00 : 01 : IP[0] : IP[1] : IP[2] : IP[3] 여기서 IP[0].IP[1].IP[2].IP[3] 이 부분이 dynamic IP address 입니다. EON이 이 방법을 사용합니다.
TCP Window 위성 연결은 매우 긴 응답시간을 가지고 있습니다. (예를 들자면 화성과 지구와의 교신 혹은 지구와 달과의 교신 같은 것) 이러한 단점은 매우 안 좋은 부분입니다. 일반적인 네트워크는 소위 말하는 "window"라고 불리는 것을 이용합니다. 이것은 응답을 기다리기 전에 미리 버퍼에 데이타를 보내는 것을 말합니다. TCP/IP 스택 부분이 TCP Window입니다. ---------------------- | - - - - - - - > can continue |-|-|-|----> | ---------------------- | Buffer sendable before confirm | | - - - - - - - <---------------------- Confirmation Answering 매우 높은 응답 시간 때문에, 우리는 많은 시간을 기다려야 합니다. 이것은 실제적인 체감 속도를 떨어뜨리는 원인이 됩니다. (예를 들면 16KB TCP window에 400ms의 RTT 라면 16KB/0.4 = 40 KB/s의 전송 속도를 잃게 되는 것입니다.) 해답은 바로 매우 큰 TCP Window를(약 256KB 혹은 MB 정도) 이용하는 것입니다. 불행하게도 많은 시스템에서 큰 TCP Window를 가지는 것은 간단한 문제가 아닙니다. 그래서 최근에는 새로운 프로그램에("download accelerators"다음장에서 이야기 합니다.) 등장하고 있습니다. 이 프로그램은 하나의 파일을 많은 수로 잘라서 한번에 다운 받게 만듭니다. 이것은 하나의 잘려진 파일 만큼 다운받는 시간과 동일한 시간이 걸리게 합니다. 이 방법으로 우리는 긴 RTT를 피할 수 있습니다.
Download accelerator 이러한 프로그램을 "download accelerator"라고 합니다. 위 프로그램은 두가 일을 합니다. 다시받기 조정 부분, 이것은 다운로드 도중 멈추고 나중에 다시 시작하는 것을 가능하게 한다. 나누기 부분, 하나의 파일을 여러개로 나누어 여러 개를 한꺼번에 받을수 있게 한다. 위에서 살펴 본것 같이 download accelerator 위성 통신의 전송 속도를 높여주는 역활을 합니다.
Linux환경에서 Aria
Windows 환경에서 FlashGet GetRight Mass Downloader
Appendix B - 알려진 ISP 설정 값
EuropeOnLine EON sends data from Astra satellite (19.2 SE). MAC address is calculated from IP address (see Appendix A). It uses "Proxy Authentication". Follows the 4 transponder setting:
Transponder 113 Frequency: 12633.250 MHz, SRate : 22 MS/s Polarization: Horizontal Unicast PID: 512 (decimal)
Transponder 114 Frequency: 12640 MHz, SRate : 22 MS/s Polarization: Vertical Unicast PID: 512 (decimal)
Transponder 115 Frequency: 12662.750 MHz, SRate : 22 MS/s Polarization: Horizontal Unicast PID: 512 (decimal)
Transponder 103 Frequency: 12461 MHz, SRate : 27.5 MS/s Polarization: Horizontal Unicast PID: 512 (decimal)
Netsystem Netsystem uses Astra satellite (19.2 SE) to send data . MAC address used is your real MAC address DVB card. It uses VPN connection. Follows data setting:
Transponder 119 Frequency: 12721 MHz SRate: 22MS/s Polarization: Horizontal Unicast PID: 451 (decimal)
---- CategorySoftwareTool