資料包字段和幀字段
如前所述,路由器通過檢查資料包的目的 ip 位址來決定首選轉發路徑。向正确的送出接口發送資料包之前,需要将 ip 資料包封裝到第 2 層資料鍊路幀中。
internet 協定 (ip) 資料包格式
rfc 791 中規定的 internet 協定定義了 ip 資料包的格式。ip 資料包報頭中包含特定字段,這些字段中包含有關資料包和發送方及接收方主機的資訊。以下是 ip 報頭中的字段清單和每個字段的簡要說明。您應該已經熟悉了目的 ip 位址、源 ip 位址、版本和生存時間 (ttl) 字段。其它字段也很重要,但不在本課程的讨論範圍之内。
版本 — 版本号(4 位);絕大多數版本為 ip 第 4 版 (ipv4)
ip 報頭長度 — 以 32 位字為機關的報頭長度(4 位)
優先級和服務類型 — 資料報的處理方式(8 位);前 3 位為優先級位(此用法已被差分服務代碼點 [dscp] 取代,後者使用前 6 位 [後 2 位保留])資料包長度 — 總長度(報頭 + 資料)(16 位)
辨別 — 唯一的 ip 資料報值(16 位)
标志 — 分片控制(3 位)
段偏移量 — 支援資料報分片,以允許在 internet 上傳輸不同的最大傳輸單元 (mtu)(13 位)
生存時間 (ttl) — 确定在資料報被丢棄之前能夠通過多少台路由器(8 位)
協定 — 發送資料報的上層協定(8 位)
報頭校驗和 — 對報頭進行完整性檢查(16 位)
源 ip 位址 — 32 位源 ip 位址(32 位)
目的 ip 位址 — 32 位目的 ip 位址(32 位)
ip 選項 — 網絡測試、調試、安全和其它(0 或 32 位,若有)
mac 層幀格式
第 2 層資料鍊路幀通常包括報頭資訊、資料鍊路源和目的位址、報尾資訊,以及實際傳輸的資料。資料鍊路源位址是發送資料鍊路幀接口的第 2 層位址。資料鍊路目的位址是目的裝置接口的第 2 層位址。源和目的資料鍊路接口都處于同一個網絡當中。當資料包在路由器之間轉發時,第 3 層源和目的 ip 位址不會發生變化;但第 2 層源和目的資料鍊路位址将會發生變化。本節後續内容将更加詳細地讨論該過程。
注:當使用 nat(網絡位址轉換)時,雖然目的 ip 位址不會變化,但該過程與 ip 無關,并且是在公司網絡内部執行。我們将在後續課程中讨論使用 nat 的路由。
第 3 層 ip 資料包封裝在與其接口相關的第 2 層資料鍊路幀中。下面是以太網幀中的字段清單和每個字段的簡要說明。
前導碼 — 7 個位元組,由交錯排列的 1 和 0 組成的序列,用于同步信号
幀首 (sof) 定界符 — 1 個位元組,表示幀開始的信号
目的位址 — 6 個位元組,本地網段中發送方裝置的 mac 位址
源位址 — 6 個位元組,本地網段中接收方裝置的 mac 位址
類型/長度 — 2 個位元組,指定上層協定的類型(以太網 ii 幀格式)或資料字段的長度(ieee 802.3 幀格式)
資料和填充位 — 46 至 1500 個位元組的資料,用零填充長度小于 46 個位元組的資料包
幀校驗序列 (fcs) — 4 個位元組,用于循環備援校驗以確定資料幀未受破壞