基礎:網路是什麼
封包(packet)
假設你想寄一本厚書,但郵局只收明信片。你會把書撕成一頁頁,在每張卡片上寫下目的地址與頁碼,全部投進郵筒;收件人再按頁碼排序、重建整本書。封包就是那其中一張明信片。網路把你的資料切成一小塊、各自完整的區塊,每塊都標上要去哪裡,再各自獨立地送出。
封包是一段格式化的資料區塊,分為兩部分:標頭(header,即控制資訊——至少有目的與來源位址,外加序號、錯誤檢查欄位之類)包住酬載(payload,即你資料的那一小片)。沿途每台路由器只讀標頭就能決定接下來把封包轉往哪裡;它不需要其餘部分。因為每個封包都自帶位址,同一訊息的不同封包可以走不同路徑、以亂序抵達——接收端的端系統再用序號把它們排回正確順序。
為何要費事把資料切開?因為小而獨立的封包能讓許多使用者有效率地共用同一批連結(統計多工)、讓網路繞過故障、也讓單一遺失的片段能被重送而不必重做整筆傳輸。代價是額外開銷(每個封包都帶著標頭位元組)與重組的需要。封包大小受連結的最大傳輸單元(MTU)所限——乙太網路上常見為 1500 位元組。
一張 30 KB 的圖片在乙太網路上會被切成約 20 個封包,每個最多 1500 位元組,每個都蓋上相同的目的位址;若第 7 個封包遺失,只需重送第 7 個,而非全部 20 個。
標頭(要去哪裡)+ 酬載(你資料的一片)= 一個封包。
封包、訊框、區段、資料報這些詞都指「帶標頭的一塊」,只是位於不同層:連結層的訊框、網路層的資料報、傳輸層的區段。它們會彼此巢狀包裹。
又称
另见