萬盛學電腦網

 萬盛學電腦網 >> 電腦入門 >> TCP/IP系列之數據鏈路層 電腦技術吧

TCP/IP系列之數據鏈路層 電腦技術吧

TCP/IP系列之數據鏈路層   數據鏈路層是TCPIP4層協議中最底層的協議,它的主要功能為:     為IP模塊發送和 接收IP數據報。     為ARP模塊發送ARP請求和接收ARP應答。     為RARP發送RARP請 求和接收RARP應答 數據鏈路層的協議一般有以太網(目前最常用的)、令牌環網、F D D I(光纖分布式數據接口) 及R S-2 3 2串行線路等。  .   數據從IP層傳到數據鏈路層在經過底層物理線路傳輸的示意圖如下:

  數據在一台網傳輸的時候是以以太網數據幀的格式傳輸的,在令牌環網則以令牌環網協議規定 的數據格式進行傳輸,連接兩個異構網絡的路由器負責轉換.不過目前在數據鏈路層絕大多數都是 以太網.(如果是在同一個局域網內,則沒有路由器IP路由) 下面是以太網RFC 894規定的以太網幀的格式:

  下面是用Wireshark抓取的一個以太網幀:

  RFC 894要求數據幀最小為60字節(48字節數據+12字節頭),為了保證這一點, 必須在不足的空間插入填充pad字節. 同時每一種數據鏈路層協議,都有一個MTU(最大傳輸單元)定義, 在這個定義下面,如果IP數據報過大,則要進行分片(fragmentation). 下圖是在linux下用netstat -in看到的eth0的MTU為1500字節.
  環回接口(loopback)概念,大多數的產品都支持環回接口( Loopback Interface),以允許運行在同一台主機上的客戶 程序和服務器程序通過TCP/IP進行通信.A類網絡號127就是為環回接口預留的.根據慣例, 大多數系統把IP地址127.0.0.1分配給這個接口,並命名為localhost.一個傳給環回接口的IP數 據報不能在任何網絡上出現.  .   我們想象,一旦傳輸層檢測到目的端地址是環回地址時,應該可以省略部分傳輸層和所 有網絡層的邏輯操作.但是大多數的產品還是照樣完成傳輸層和網絡層的所有過程,只是當 IP數據報離開網絡層時把它返回給自己.
  1) 傳給環回地址(一般是127.0.0.1)的任何數據均作為I P輸入。 2) 傳給廣播地址或多播地址的數據報復制一份傳給環回接口,然後送到以太網上。這是 因為廣播傳送和多播傳送的定義包含主機本身。 3 ) 任何傳給該主機I P地址的數據均送到環回接口。 *通過ping 127.0.0.1可以檢測本機的TCP/IP是否工作正常. *不僅僅是127.0.0.1代表本機,127開頭的合法IP都代表本機,如127.12.13.1 在JDK提供的API中通常不能對鏈路層進行操作,可以通過jpcap來操作ARP包. 參看 http://blog.csdn.net/kkdelta/article/details/7717930  
    作者 kkdelta  
    copyright © 萬盛學電腦網 all rights reserved