網絡協議之數據鏈路層
數據鏈路層主要有三個目的:
* 為IP模塊發送和接受IP數據報;
* 為ARP模塊發送ARP請求和接受ARP應答;
* 為RARP發送RARP請求和RARP應答。
這里的ARP協議主要用來將32bit的IP地址解析為對應48bit(以太網中)的MAC地址(硬件地址)。而RARP協議則是將硬件地址解析為IP地址,這兩個協議位于網絡層,和IP數據報一樣,都具有各自的以太網數據幀類型(即傳入到以太網中要加上對應的MAC幀)。
局域網中的ARP攻擊是通過偽造IP地址和MAC地址實現ARP欺騙,能夠在網絡中產生大量的ARP通信量,使網絡阻塞。
TCP/IP支持多種不同的數據鏈路協議,這取決于網絡所使用的硬件,如以太網、令牌環網、FDDI、RS-232串行線路等,當今TCP/IP采用的主要局網技術是以太網。
最大傳輸單元MTU:
數據鏈路層中的網絡對數據幀的長度都有一個限制,不同網絡的MTU值不同,常用的以太網為1500個字節,一些其他網絡的MTU字節值如下表:
MTU主要是為了限制一次傳輸的最大IP數據報的值,如果IP層有一個數據報要傳,而且數據產度比數據鏈路層的MTU大,則就需要將IP數據報進行分片,使每一片都小于MTU。
路徑MYU:
當在同一網絡上的兩臺主機互相進行通信時,該網絡的MTU是非常重要的,但如果兩臺主機之間的通信要經過多個網絡,而每個網絡的鏈路層可能有不同的MTU,這時,要重點考慮的是兩臺通信主機路徑中各網絡的最小MTU,稱它為路徑MTU。
兩臺主機之間的路徑MTU把有一定是個常數,它取決于當時所選擇的路由,而且選路不一定是對稱的,即從A到B經過的路由和從B到A經過的路由不同,因此路徑MTU在兩個方向上不一定是一致的。