- MTU
mtu是指以太網的最大傳輸單元,通常為1500字節。這表示從網絡層傳輸的數據最大只能是1500字節。
如果數據超過這個限制,網絡層必須自行分包,因為數據鏈路層不會幫助分包。超過1500字節的數據將被數據鏈路層直接丟棄。
在某些IP報頭中,如果第二位標志位被置1,表示不允許分片。此時如果數據超過1500字節,將直接被丟棄,并向發送方返回“數據包過大”的錯誤信息。
- CRC校驗和3位標志
CRC校驗和3位標志使用多項式除法算法,填入的值是經過一系列除法后的余數。
這種方法提供了一定的數據完整性保障。
在數據向更高層傳輸時,網絡層也會進行檢查,例如IP和TCP的16位校驗和。這些都是對數據準確性的一系列檢查。
IP的16位首部校驗和用于檢查IP報頭是否發生錯誤,而數據中的TCP進一步進行檢查。
- 全球網段與家庭路由
全球網段經過家庭路由器后,并不直接進入廣域網,而是到達運營商設置的更高層局域網。經過多層網絡后,最終到達公網。
標準的IPv4地址總數約為43億,而世界人口約為80億。雖然不是每個人都擁有手機或電腦,但一個人可能擁有多臺設備,且還有許多商業用途,這顯然是不夠的。因此,局域網應運而生。運營商構建了大型局域網,在不同的局域網中,IP地址可以重復使用,這有助于緩解IP地址不足的問題(NAT技術)。
每次數據包跳轉時,NAT會幫助我們轉換IP地址,這是從局域網到公網的轉換手段。
上圖顯示,中國分配的IP地址只有3億,顯然不夠用。上述方法是緩解IP不足的一種方案。另外,IPv6和動態分配也是解決方案。
- 子網掩碼
IP地址由網絡號和主機號組成。
在實際應用中,通過IP地址與子網掩碼進行按位與運算(&),可以得到網絡號。
例如,IP地址為140.252.20.68,子網掩碼為255.255.255.0(表示前三個字節為網絡號),記為/24。
計算后,網絡號為140.252.20。
主機號全為1時,表示廣播地址。
- 路由
對于一個路由器,會有WAN(廣域網IP)和LAN(局域網IP),它們是兩個不同的IP。WAN可能不是公網IP,而是更高層局域網的IP。
其中,destination表示目的地址,gateway表示下一跳,genmask表示子網掩碼。
在flags中,如果有G,表示目標IP與該路由器直接連接,不需要進行路由轉發;沒有G,表示需要經過路由轉發。