雖然看起來很遙遠,但人類移民火星似乎只是個時間問題,但關(guān)鍵在于,火星離地球相距非常遠,如果以后有人生活上去了,如何才能做好跨行星際的互聯(lián)網(wǎng),尤其是網(wǎng)站部署?
你別說,這樣的問題還真有人很認真地研究過,并提出了很完整的解決方案。
簡單地說,這里邊有三個層次的問題,即如何設(shè)計通信網(wǎng)絡(luò)、通信協(xié)議和網(wǎng)絡(luò)延時(如何部署網(wǎng)站)。先上一個簡短的答案:
?。?a class="innerlink" href="http://theprogrammingfactory.com/tags/中繼衛(wèi)星" title="中繼衛(wèi)星" target="_blank">中繼衛(wèi)星設(shè)計 :下文(傳播信號問題一部分)中提到的一種Non-Keplerian軌道的衛(wèi)星。從地球出發(fā)到火星,僅僅比地球火星之間的直線距離增加2.3光分的距離,而且是在任意時刻僅僅比直接從地球到火星直線傳播的信號多花2.3分鐘,非??臁?/p>
?。W(wǎng)絡(luò)協(xié)議 :使用DTN協(xié)議。下文有解釋。
?。W(wǎng)站設(shè)計 :在各個行星上設(shè)立緩存服務(wù)器,平時在兩個行星的緩存服務(wù)器之間同步,而不是用戶點了按鈕在火星請求一次,再從地球把內(nèi)容傳給火星。
【傳播信號問題】
火星全球通信沒啥問題,跟地球差不多吧,用衛(wèi)星來做,或者基站(沒有電離層好麻煩需要好多基站)。
火星地球這種行星際通信就問題很多。火星和地球之間的通信跟兩者在軌道上的相位有關(guān)。如果中間隔了個太陽,那通信就麻煩了,這時候需要中繼衛(wèi)星。
所以我們需要中繼衛(wèi)星,而中繼衛(wèi)星的設(shè)計方法很多,基本上分為兩類:Kepler軌道上的中繼衛(wèi)星和非Kepler軌道的中繼衛(wèi)星。
Kepler軌道中繼衛(wèi)星的例子
大多設(shè)計都是Kepler軌道上的中繼衛(wèi)星,也就是不需要額外的燃料來維持軌道,而是在引力作用下自由落體圍繞天體轉(zhuǎn)動的。具體衛(wèi)星的軌道設(shè)計是很多種的,例如下面這種太陽極軌道衛(wèi)星:
這篇文章是一個利用太陽的極軌道上的三顆衛(wèi)星做中繼,結(jié)合行星的同步衛(wèi)星來通信的。這種設(shè)計最少只需要三顆就可以滿足全太陽系的中繼的需求了,但是需要三顆衛(wèi)星的相位錯開120度 ,如下圖:
這樣在太陽系任何一顆行星的位置都可以通過這三顆中的至少一顆來中繼。
同時這種設(shè)計的缺點也很明顯,那就是太陽極軌道衛(wèi)星的發(fā)射和維修的燃料消耗都是巨大的,好在不需要很多顆。
所以在沒有太陽不會遮擋火星地球通信的時候,可以直接地球和火星之間,但是在太陽遮擋了地球和火星通信的時候,需要使用太陽極軌道中繼衛(wèi)星,所需要多花的時間可以忽略不計。
非Kepler軌道中繼衛(wèi)星的例子
第二篇參考文獻提到了很多的不在Keplerian軌道的通信衛(wèi)星。如果使用太陽帆的話,倒也不需要攜帶燃料,不過這是理論階段,并不知道太陽帆衛(wèi)星作為軌道維持的動力能不能成功。
總之中繼衛(wèi)星基本上是必備品。 上面的Non-Keplerian衛(wèi)星是一種比較省錢而且延時小的設(shè)計,由于中繼衛(wèi)星一直在火星和地球正上方,基本上信號是往上,到達衛(wèi)星,然后直線到達火星上面的中繼衛(wèi)星,再由中繼衛(wèi)星下來。
從地球出發(fā)到火星,僅僅比地球火星之間的直線距離增加2.3光分的距離,而且是在任意時刻僅僅比直接從地球到火星直線傳播的信號多花2.3分鐘,非??臁?/p>
不過,在沒有太陽遮擋的時候(火星地球在太陽同一側(cè)的時候),是不需要這兩顆中繼衛(wèi)星的,直接通信是最省的方案。只有在有太陽遮擋的時候才啟用上述兩顆Non-Keplerian中繼衛(wèi)星。
【通信協(xié)議問題】
如果是網(wǎng)絡(luò)通信的話,是需要很小心的,因為太空通信的兩地相距很遠,而且丟包率很高,傳統(tǒng)的通信方式,會比較費時間或者通信終端。
所以恒星際網(wǎng)絡(luò)特別興趣小組(IPN SIG)重新設(shè)計了一個星際網(wǎng)絡(luò)協(xié)議,叫做DTN協(xié)議,Delay-Tolerant Networking。這個協(xié)議并不假定連續(xù)的N-N鏈接(星際中容易丟包),如果暫時找不到目標(biāo),數(shù)據(jù)并不會丟掉,而是儲存起來,直到下次能夠跟其他地方建立連接。
因為太空中丟包或者被遮擋而不能通信的情況很多,所以DTN比較適合行星際的通信。實際上如果可能,可以在很多衛(wèi)星上裝上這樣的模塊,形成一個行星際網(wǎng)絡(luò)。
NASA已經(jīng)在火星探測器上測試過DTN協(xié)議了。 DTN的創(chuàng)始人之一在一次TED演講中向大家展示了未來星際網(wǎng)絡(luò)的愿景:利用DTN協(xié)議把太陽系的各個探測器聯(lián)系起來,每個都可以作為中繼,最終形成一個太陽系的行星際網(wǎng)絡(luò)基礎(chǔ)結(jié)構(gòu),然后利用這個結(jié)構(gòu)可以向恒星際擴展,因為這樣的話整個太陽系就成為一個巨型的接收器。
【網(wǎng)站的部署】
其它的問題還有很多,比較重要的一個是延時的問題。由于人類傳播信息的速度有限,所以從一個地方到另一個地方會花費時間,而行星際通信里面就會凸顯出來。
下面是從2014年6月30日到2016年6月19日之間,地球和火星之間的距離變化,橫軸是時間,縱軸是距離,單位是AU,而光前進一個AU所需要的時間大約是8分鐘。
可以想想這樣的延時下面,地球的Dota玩家和火星的Dota玩家之間連線是不太現(xiàn)實了,即使是玩回合制的游戲也是很沉悶無聊的。
現(xiàn)在終于到了最關(guān)鍵的問題:如何部署網(wǎng)站、應(yīng)用,讓兩邊的人都容易打開,并且信息延遲最?。?/p>
當(dāng)然,中繼衛(wèi)星越多,差不多會越省時間。實際上在這個回答上面提到的Non-Keplerian衛(wèi)星也會很節(jié)省時間并且省錢(衛(wèi)星少,要知道發(fā)射這種衛(wèi)星非常費錢)。再把圖貼一遍。
對于普通的網(wǎng)站,我們現(xiàn)今地球上也有類似的情況,曾經(jīng)有那樣的說法:世界上最遙遠的距離是電信和網(wǎng)通之間的距離(雖然現(xiàn)在已經(jīng)沒有什么距離了)。所以我們需要專門的線路為不同的星球上的人服務(wù)。
例如在火星上緩存地球上的網(wǎng)站;或者由網(wǎng)站購買火星服務(wù)器,直接在火星上提供服務(wù)。
不過,使用cache,在行星開放建設(shè)的早期,可能只能用戶自己解決,就是其它行星上用自己的服務(wù)器cache網(wǎng)頁。
不過隨著行星開發(fā),后來應(yīng)該會有專門的cache服務(wù)商,或者網(wǎng)絡(luò)提供方或者運營商會直接提供這樣的行星之間無縫連接,例如有的互聯(lián)網(wǎng)公司可以購買了火星的服務(wù)器來托管一份網(wǎng)站鏡像,對于交互式的網(wǎng)站(比如社交網(wǎng)站)更加方便了。
不過這就需要火星有個獨立的信息基礎(chǔ)架構(gòu)。
順便說一下,Mars One的設(shè)想是,在火星上安裝一個緩存服務(wù)器,先把網(wǎng)站緩存在火星服務(wù)器上,火星上的人瀏覽的時候從緩存服務(wù)器獲取網(wǎng)頁。這在早期確實是一個比較實惠的方案。