堆疊的最底層
你在前面幾個階梯學到的一切,最終都得碰到真實世界。封包是個整潔的概念,但一條導線根本不懂封包、位址或分層。當資料抵達最底層時,它只是一長串 1 與 0,必須設法被推送過銅線、玻璃或空無一物的空氣,送到接收端,再由對方把它還原成同樣的 1 與 0 串。這份工作——而且僅止於此——就是實體層。
請注意這份工作有多小。實體層不檢查錯誤、不知道資料要去哪裡,也不在乎這個位元屬於一通視訊通話還是一封電子郵件。它是所有分層中最笨、最老實的一層:在這一端拿到一個位元,讓某個物理現象發生,然後期望同樣的位元出現在另一端。你目前遇到的一切聰明機制,都建立在這個謙卑的承諾之上。
類比與數位:平滑的波、銳利的階梯
在導線上真正傳輸的是訊號——一個隨時間變化的物理量,例如一段上升又下降的電壓。它有兩種風味。類比訊號會平滑地經過中間的每一個值,就像老收音機的音量旋鈕從安靜滑向大聲。數位訊號則在少數幾個固定的位準之間跳動,就像一個只會全開或全關的電燈開關。這兩者的對比就是類比與數位訊號的區別,它形塑了底層的一切。
這裡有個讓多數初學者吃驚的轉折:導線本身根本上是類比的。銅線承載連續的電壓、光纖承載連續的光、空氣承載連續的無線電波。纜線裡並沒有一條微小的數位管道。當我們想送出數位位元 1 與 0 時,必須選擇實體的形狀來代表它們——例如用高電壓代表 1、低電壓代表 0。把位元變成可傳送的波形,正是接下來兩篇指南的核心;現在只要記住:位元是一種抽象概念,而媒介永遠是一個平滑、雜亂、類比的地方。
既然世界是類比的,何必還要搞數位?因為每一種真實媒介都會在途中添加一點扭曲與雜訊。類比訊號會漂移,而複製的複製會一路變差。但如果一個 1 只需要跟 0 區分得開,接收端就能對小小的干擾聳聳肩,仍然讀出正確的位元。數位並不比類比更自然——它是一個刻意的把戲,用來在不完美的世界裡存活下來。
兩個被人們不斷搞混的數字
在基礎階梯裡,你已經遇過三個常被混為一談的東西——頻寬、吞吐量與延遲——而且你學到更大的頻寬並不會減少延遲,因為沒有任何東西能贏過光速。實體層為同樣的陷阱加上第二個、更尖銳的版本,這次是關於「頻寬」這個詞本身。
對物理學家來說,頻寬是一個以赫茲為單位的寬度:通道允許通過的頻率範圍,就像一條電話線能承載的音高範圍。對網路人來說,頻寬通常指的是以每秒位元數為單位的資料速率。這兩者根本不是同一種量——一個以赫茲量度,另一個以每秒位元數量度——儘管我們草率地用同一個英文詞涵蓋兩者。每秒能通過多少位元,乾淨的說法是資料速率,當我們說一條連結是 100 Mbps 或 1 Gbps 時,真正在乎的就是它。
附近還潛伏著第三個數字。鮑率(或稱符號率)計算每秒發生多少次不同的訊號變化——也就是符號——而位元率計算的是每秒位元數。它們看起來一模一樣,直到你意識到一個符號可以承載不只一個位元。如果每個符號從四個電壓位準中挑一個,它就一次編碼兩個位元,於是位元率是鮑率的兩倍。把位元率和鮑率搞混是個經典錯誤;第三篇指南會用 QAM 精確展示如何把更多位元塞進一個符號裡。
為什麼一條導線有速度上限
你或許會希望,既然翻轉位元很便宜,我們就能想送多快就送多快。物理說不行。當你把每秒愈來愈多的符號塞進一個通道,它們就開始彼此糊在一起,接收端再也分不清一個符號在哪結束、下一個從哪開始。通道的頻率寬度——也就是它真正以赫茲計的頻寬——為每秒能通過多少個乾淨的符號設下硬性的天花板。這就是奈奎斯特極限的精神,也是你在第二篇指南會正面遇上的兩道著名牆壁中的第一道。
第二道牆是雜訊。每一種真實媒介都會添加隨機的嘶嘶聲,而訊號在傳輸途中也會衰退——它的強度隨距離下降,這種效應稱為衰減。真正重要的不是雜訊本身,而是訊號相對於雜訊有多響,這由訊號雜訊比來刻畫。當訊號只比嘶嘶聲高出一點點,接收端就會猜錯,於是你得到位元錯誤。夏農著名的結果把這些綁在一起:一個通道以赫茲計的頻寬與它的訊號雜訊比,共同決定了絕對最大的資料速率,無論你的工程多麼聰明。同樣地,真正的數學在第二篇指南;這裡只要感受到這個極限是真實而無可迴避的。
這是實體層最深刻的誠實:存在一道硬牆,好的工程可以逼近它卻永遠無法打破它。當業務員承諾更快的連線時,他們是在替你買更多頻寬或更乾淨的通道,絕不是繞過物理的漏洞。這和光速決定延遲是同一課——堆疊最底層的極限不是有待修復的臭蟲,而是其他一切得以上演的舞台。
把位元放上媒介
那麼位元究竟如何變成波形?大致有兩種風格。在基頻方案裡,你或多或少直接送出位元——你把它們對應到導線上的電壓位準,底下沒有載波。這就是跑在雙絞線上的一般乙太網路所做的事,而選擇那些電壓模式好讓接收端能保持同步的訣竅,稱為線路編碼。基頻很簡單,在一條你從頭到尾擁有的線上運作得漂亮極了。
另一種風格是調變:你從一個穩定、快速的載波開始,輕輕調整它的高度、時機或相位,讓位元搭乘在它之上。Wi-Fi 搭乘無線電、你的手機與基地台對話、有線寬頻在一條同軸纜線上分享眾多頻道,靠的都是這個方式。在一個共享媒介上並排送出許多這樣的載波,就是寬頻,與基頻單一直接訊號形成對比。我們之所以調變,是因為一個選定的載波能去到原始位元到不了的地方——穿越空氣,或在纜線上跑得很遠而不糊掉。
BITS ----> SIGNAL ON THE MEDIUM 1 0 1 1 0 | v baseband (direct levels, e.g. Ethernet on copper) +--> _|‾|_|‾‾|___ high = 1, low = 0 | v modulation (tweak a carrier, e.g. Wi-Fi on radio) +--> ~~/\/\~~ carrier, altered to spell out the bits medium: twisted pair | coax | optical fiber | air
最後,這一切都需要某種東西可以穿越,而這些選擇有著截然不同的個性。便宜的雙絞線跑短程到你的桌前;同軸纜線承載了數十年的有線電視與寬頻;光纖以極小的損耗把光推送到極遠的距離,而單模光纖是全球骨幹長途傳輸的冠軍;至於纜線到不了的地方,我們則退而求其次,靠空氣中的無線電。第四與第五篇指南會深入探討如何在多位使用者間共享單一媒介,以及每種材料的長處與極限——但你現在已經把這個階梯的整張地圖裝進腦袋了。