基礎:網路是什麼

封包交換(packet switching)

想像一條不接受預約的共用高速公路:任何人都能在任何時刻把車開上去,道路就承載任何出現的車流,並在每個交叉口加以分流。封包交換就是用這種方式做網路。資料被切成封包,每個封包各自獨立地送進網路,逐刻地與其他所有人的封包共用連結。事先不保留任何路徑。

機制如下。主機把訊息切成封包,每個都帶著目的位址,交給網路。每個封包以儲存轉送(store-and-forward)方式前進:路由器收下整個封包、讀取其位址、再從通往目的地的最佳出口連結把它轉送出去。當數個封包同時想用同一條連結時,多出來的就在佇列裡等待。因為連結是依需求共用,同一條連結能交錯承載許多段對話——這就是統計多工,也是封包交換為何能對電腦產生的那種突發、時有時無的流量如此有效率地運用容量。

代價很誠實:封包交換不保證頻寬或延遲。若大家同時送,佇列就會增長、延遲上升,封包甚至可能被丟棄——壅塞。另一種做法電路交換,則為每通通話保留固定路徑與速率(保證很好,閒置時卻浪費)。網際網路選擇了封包交換,因為電腦流量是突發的,其效率與韌性更勝一籌;代價是,凡需要保證之處,都得把服務品質與壅塞控制再加回來。

在一條共用的 1 Gbps 連結上,你的影片串流、朋友的下載、以及某遊戲的小封包,全都一個封包接一個封包地交錯傳送;當連結繁忙時,大家的封包會短暫排隊,而非有誰拿到一份保留的份額。

連結依需求、一個封包接一個封包地共用——有效率,但內建不保證。

封包交換之所以有效率,正因為它「不」保留容量——這也是它會壅塞的原因。天下沒有白吃的午餐:你以保證換取彈性與統計性的共用。

又称
封包交換