簡介
設計鏈路層的目的:網絡
- 爲IP模塊發送和接收IP數據報
- 爲ARP模塊發送ARP請求和接收ARP應答
- 爲RARP模塊發送RARP請求和接收RARP應答
TCP/IP支持多種鏈路層協議,如以太網、令牌環往、FDDI、RS-232串行線路等oop
以太網和IEEE 802封裝
其中鏈路層封裝的源地址和目的地址都是48位(6字節)的MAC地址,ARP和RARP負責對MAC地址和32位IP地址進行互相轉換性能
其中以太網和802主要區別是:設計
- 以太網首部最後2字節是後續數據的類型,0800表明IP數據報,0806表明ARP數據報,8035表明RARP數據報;而802首部最後2字節是後續數據的字節長度
- 以太網首部以後就是數據,長度爲46~1500字節;802首部以後還有一段其餘內容,而後纔是數據,長度在38~1492字節
以太網封裝格式最多見blog
SLIP:串行線路IP
是一種在串行線路上對IP數據報進行封裝的簡單形式接口
- 在IP數據報先後加上END(c0)避免線路噪聲被混入數據報,保證報文正確傳輸
- 將IP報文中的END字符轉義爲兩字節0xdb和0xdc
- 將IP報文中的ESC字符轉義爲兩字節0xdb和0xdd
經過轉義避免IP報文中的數據被當成SLIP的特殊字符處理隊列
優勢:ip
- 簡單
缺點:進階
- 每一端必須知道對方IP
- 數據幀中沒有類型字段,只支持對IP協議封裝
- 數據幀中沒有校驗和,須要依賴IP層進行校驗
壓縮的SLIP
簡稱CSLIP請求
串行線路速度較低,致使傳輸的分組一般較小,這種狀況下加入20字節的TCP首部和20字節的IP首部會讓數據報較大,總共超過40字節。引入CSLIP可將40字節(TCP和IP首部)壓縮至3-5字節,提升傳輸性能
PPP:點對點協議
SLIP協議的進階版
相比SLIP,PPP的改進:
- 支持封裝多種網絡層協議
- 數據幀有校驗和
- 基於IP協議通訊雙方能夠動態協商IP地址
- 與CSLIP相似,支持壓縮TCP和IP首部
- 鏈路控制協議能夠對多個數據鏈路選項進行設置
環回接口
簡稱loopback接口,提供與本機通訊的一種機制,一般使用ip地址127.0.0.1和主機名localhost
- 傳給127.0.0.1和本機ip的數據都會傳到環回接口
- 傳到環回接口的數據不會進過以太網,而是直接進入IP輸入隊列,從而被IP層接收處理
- 傳給廣播或多播地址的數據會複製一份到環回接口。由於廣播和多播包含了主機自己
最大傳輸單元MTU
爲了提升網絡交互的性能,鏈路層須要給數據幀設置長度上限,這個上限就是MTU(最大傳輸單元)
若是IP層數據報比MTU要大,則IP層須要進行數據分片
路徑MTU
兩臺主機之間多個網絡,每一個網絡鏈路層都有MTU,其中最小MTU就是路徑MTU
路徑MTU不對稱,也就是在兩個方向上不一致