在TCP/IP協議族中,鏈路層主要有三個目的:服務器
1)爲IP模塊發送和接受IP數據報;網絡
2)爲ARP模塊發送ARP請求和接受ARP應答;code
3)爲RARP模塊發送RARP請求和接受RARP應答;blog
以太網和IEEE 802封裝接口
以太網是1982年公佈的一個標準,是當今TCP/IP採用的主要的局域網技術,它採用一種稱爲CSMA/CD的媒體接入方法,意思是帶衝突檢測的載波偵聽多路接入,它的速率是10Mb/s,地址爲48bit。it
還有一個標準是IEEE 802標準。它和以太網的幀格式不一樣。802.3針對整個CSMA/CD網絡,802.4針對令牌總線網絡,802.5針對令牌環網絡,這三者的共同特性由802.2標準定義,這就是802網絡共有的邏輯鏈路控制(LLC)。硬件
在TCP/IP中,以太網的IP數據報的封裝是在RFC 894中定義的,IEEE 802的封裝是在RFC 1024中定義的。請求
最常使用的封裝格式是RFC 894定義的格式。下圖是兩種不一樣的封裝格式。程序
上圖中,第一個封裝格式是802標準的,第二個是以太網格式的。方法
從上圖能夠看出,兩種幀格式都採用48bit的目的地址和源地址,存放的是硬件地址。ARP和RARP協議會對32位IP地址和48位的硬件地址進行映射。
802接下來的是長度字段,指的是後續數據的長度,不包括CRC。而以太網接下來的類型字段定義了後續數據的類型。
以太網幀格式比較簡單,接下來就是數據了。而802幀格式接下來是3個802.2的LLC和5字節的 SNAP(子網接入協議),其中,目的服務訪問點(DSAP)和源服務訪問點(SSAP)值都爲0xaa,Ctrl字段值爲3,隨後的3個字節org code都爲0,再接下來就是類型字段。
802.3規定數據部分至少爲38字節,以太網則要求是46字節,若有不足的狀況,就要填充字節。
SLIP:串行線路IP
這是一種在串行線路上對IP數據報進行封裝的簡單形式。
開始處和結束處傳一個END(0xc0)的特殊字符。
若是報文中某個字符爲END,那麼就了連續傳輸兩個字節0xdb和0xdc來取代。0xdb被稱爲SLIP的ESC字符。
若是報文中某個字符爲ESC字符,那麼就連續傳輸兩個字節0xdb和0xdd。
值得一提的是,這是一個老的工業標準,目前已被PPP協議取代。
壓縮的SLIP
爲了傳輸一個字節須要20個字節的IP首部和20個字節的TCP首部。CSLIP通常能把這40個字節壓縮到3到5個字節。
PPP:點對點協議
格式如上圖,再也不贅述。
環回接口
環回接口容許在同一臺機器上的服務器程序和客戶端程序經過TCP/IP進行通訊。
最大傳輸單元MTU
也就是對數據幀的長度的限制,好比以太網的是1500字節。
當兩個主機間的通訊須要通過多個網絡,那麼其中最小的MTU稱爲路徑MTU。
串行線路吞吐量計算