區域網路、乙太網路與交換
乙太網路訊框(Ethernet frame)
可以把乙太網路訊框想成一個寫好位址的信封,由某台機器丟到區域網路上。主機在有線區域網路上送出的一切——網頁請求、檔案片段、影音封包——在離開網路卡之前,都會被包進這樣一個信封裡。訊框就是連結層實際遞送的單位。
信封有固定的部分,順序也固定。最前面是前導碼(preamble,一段重複的位元樣式,結尾是訊框起始標記),讓接收端的時脈鎖定進來的位元。接著是 6 位元組的目的 MAC 位址、6 位元組的來源 MAC 位址,以及 2 位元組的型別/長度欄位,說明裡面裝的是什麼(例如代表 IPv4 封包的值)。再來是酬載——真正的資料,介於 46 到 1500 位元組之間(標準的 1500 位元組上限就是乙太網路的 MTU)。最後是 4 位元組的 CRC(訊框檢查序列),讓接收端偵測傳輸途中是否有位元損毀;受損的訊框會被默默丟棄。
因為位址就放在最前面,交換器可以只讀目的 MAC 就決定把訊框送往何處,完全不必看酬載。CRC 只能偵測錯誤,不能更正——乙太網路把復原交給 TCP 等上層處理。而 1500 位元組的酬載上限,正是大檔案被切成許多訊框、而非一次送出的原因。
線路上的一個訊框:[前導碼][目的 MAC aa:bb:cc:11:22:33][來源 MAC de:ad:be:ef:00:01][型別 0x0800 = IPv4][酬載:一個 IP 封包,46-1500 位元組][CRC]。接收端重新計算 CRC,若不相符,訊框就被丟棄。
型別 0x0800 告訴接收端酬載是一個 IPv4 封包,要往上交給網路層。
CRC 抓的是意外的位元錯誤,而非蓄意竄改——它不是安全檢查。只依 MAC 轉送的交換器從不檢視或驗證酬載。
又称
另见