现在我们尝试理解卫星连接是如何工作的以及在什么条件下工作。
我们可以将卫星链路想象成经典的无线链路,我的意思是两个系统之间不使用实际电缆进行通信的链路。
无线链路与有线链路非常不同,因为我们有一些额外的问题需要解决,例如可达性、隐私问题等等。此外,还可能存在天气问题,尤其是在雨雪天气条件下。
无论如何,我们必须考虑无线通信背后的首要原则:无障碍视线,这是必须的,除非我们无法通信。更多信息,您可以查看 Wireless-HOWTO。
在卫星连接中,我们使用一种特殊的天线,抛物面天线,它为我们提供了非常高的接收增益,这对于接收卫星信号是必需的:事实上,卫星位于 36,000 公里的地球静止轨道上,我们唯一可以用于接收的天线类型就是抛物面天线。
我们接收的频率从 11GHz 到 12.7 GHz(来自卫星转发器,发送数据的发射器),这是一个非常高的频率,但馈源(抛物面中心处的转换器)将其转换为 1-2 GHz 的输出,这样我们就能够通过电缆(取决于电缆损耗,最长可达 40 米)将信号发送到接收器。
1 GHz Signal --> |RX|--> |ADC| --> |Low Level Network| --> |O.S. TCP/IP Stack|--> Data |____________________________________| DVB Card
现在我们可以想象一个经典的 1 GHz RX 接收来自卫星的模拟信号,将其转换为数字信号,并将所有内容提供给低层网络层 (ISO OSI 1,2):在这里,卡固件构建一个 2 级数据包(非常像以太网),发送到我们的装有 Linux、Windows 或其他系统的 PC,最后,我们只需要将其转换为 TCP/IP 数据包。
在这里,我们必须直接在 DVB 卡上配置一些设置
正如我们在 2.2 节中所说,首先我们必须使用调制解调器接口(即 ppp0 或我们用来连接互联网的任何接口)发出请求,然后响应将返回到我们的 DVB 接口 (dvb0)。
现代操作系统允许我们从输入接口接收数据包,该输入接口与我们发出请求的输出接口不同:要做到这一点,我们必须“禁用”一些数据包流控制,例如输入
echo "0" > /proc/sys/net/ipv4/conf/dvb0/rp_filter(对于 Linux)。
只剩下一件事来完成我们的描述:身份验证方法。
一些卫星 ISP 使用所谓的“代理身份验证”:当您使用他们的代理时,您还需要提供登录名和密码才能继续请求(您应该已经订阅了某种帐户才能使用他们的卫星服务):完成后,ISP 使用您的 IP 地址来计算您的 MAC 地址(更多信息请参见附录 A),并将响应发送到该地址。
另一些 ISP 要求您首先建立 VPN 连接(使用您的登录名和密码),然后他们将控制您的注册帐户(从中检索您的 MAC 地址),并将数据直接发送到(且仅发送到)您的网卡(您的 MAC 地址)。
无论如何,请注意,您可以修改您的 dvb 卫星过滤器值,以便能够接收发往每个 MAC 地址的数据包(与单个频率相关)。
通常,您可以从卫星连接获得的服务取决于 ISP 使用的身份验证系统