目錄
- 認識數據鏈路層
- 關于以太網
- 1. 基本概念
- 2. 以太網幀格式
- 3. MAC vs IP
認識數據鏈路層
數據鏈路層 位于物理層和網絡層之間,其作用是將源自物理層來的數據可靠地傳輸到相鄰節點的目標主機的網絡層,主要通過物理介質(如以太網,Wi-Fi等)將數據分割成幀,并在相鄰節點之間進行傳輸。
- 主機:配有IP地址,但不進行路由控制的設備
- 路由器:既配有IP地址,又能進行路由控制、
- 節點:主機和路由器的統稱
- 鏈路(Link):一個節點到另一個相鄰節點的一段物理線路,中間沒有任何其他節點。
- 鏈路由傳輸介質和物理設備組成,傳輸介質主要有雙絞線,光纖,微波。在兩個節點進行通信的時候,鏈路只是一條完整通信路徑的一部分
- 數據鏈路(Data Link):把實際控制數據傳輸協議的硬件和軟件加到鏈路上就構成了數據鏈路
補充:報文在傳輸層叫數據段(Segment),在網絡層叫數據報(Packet),在數據鏈路層叫做數據幀(Frame)
數據鏈路層的功能如下:
- 封裝成幀:將網絡層交付下來的數據報封裝成幀,每個幀包含了控制信息(如起始標志,目的MAC地址,源MAC地址等)和數據部分
- 物理地址尋址:通過物理地址(MAC地址)來唯一標識網絡中的設備,在數據鏈路層中使用MAC地址進行尋址和轉發
- 媒體訪問控制:在共享介質的網絡中,數據鏈路層使用媒體訪問控制協議(如CSMA/CD,CSMA/CA等)來協調多個節點之間的傳輸,避免沖突和碰撞
- 差錯檢查與重傳:數據鏈路層負責檢測和糾正傳輸過程中可能發生的位錯誤,通過差錯檢驗碼(如循環冗余校驗碼CRC)來實現
- 流量控制:數據鏈路層通過流量控制機制,確保發送方和接收方之間的數據傳輸速率匹配,避免數據丟失或溢出
- 鏈路管理:數據鏈路層負責建立,維護和釋放鏈路鏈接,包括鏈路的建立,終止,確認以及鏈路狀態的管理
數據鏈路層的協議有很多種,常見的有以太網(Ethernet),無線局域網(Wi-Fi)和點對點協議(PPP)等。不同協議適用于不同的網絡環境和需求
關于以太網
1. 基本概念
“以太網”不是一種具體的網絡,而是一種技術標準,既包含了數據鏈路層的內容,也包含了一些物理層的內容。例如:規定了網絡拓撲結構,訪問控制方式,傳輸速率等
- 例如以太網中的網線必須使用雙絞線,傳輸速率有10M,100M,1000M等
- 以太網是當前應用最廣泛的局域網技術;和以太網并列的還有令牌環網,無線LAN等
2. 以太網幀格式
字段 | 解釋 |
---|---|
目的地址 | 目的MAC地址 |
源地址 | 源MAC地址 |
幀類型 | 有效載荷的類型,0800表示IP數據報,0806表示ARP請求應答,0835表示RARP請求應答 |
PAD | 以太網幀數據不能少于46不能大于1500字節,否則就要添加PAD就是隨機值 |
幀末尾 | CRC 校驗碼 |
兩個結論:
① 報頭和有效載荷如何分離?
?MAC幀的報頭是固定長度,即前14字節為報頭,后續為有效載荷
② 有效載荷如何向上交付?
?根據報頭的類型字段,0800 代表IP協議;0806 代表ARP請求/應答;0835 代表RARP請求/應答。以此交付對應的上層
3. MAC vs IP
MAC地址和IP地址的區別
1、范圍、層次及使用
- MAC地址是在局域網(子網,內網)范圍內唯一標識設備的地址,一般只能在同一局域網內進行通信(尋址 和 轉發),例如:以太網的數據鏈路層使用MAC地址進行設備之間的通信
- IP地址可以在廣域網(公網,外網)范圍內唯一標識設備的地址,可以在不同的網絡中進行通信(跨網絡通信 和 路由選擇),例如:在因特網中的網絡層使用IP地址進行主機之間的通信
在路由轉發的過程中,IP地址描述的是路途總體的起點和終點,MAC地址描述的是路途上的每一個區間的起點和終點
2、分配方式
- MAC地址由網卡廠商分配,通常是固定的,與設備綁定,一般情況下不會改變
- IP地址由網絡管理員分配,可以是靜態分配或動態分配(如DHCP),可以根據需要進行更改
證明如下:
上面如果主機A想訪問服務器B
- 服務器B具有公網IP,所以主機A可以直接使用公網IP進行訪問;IP數據報中源IP地址是私有IP——192.168.1.201/24,目的IP地址是公網IP——122.77.241.3/24
- 但子網的數據要想發到公網,需要路由器根據路由表進行轉發。所以要先將數據發給路由器,但IP報文內的目的IP又不能更改為路由器的IP地址,不然后續無法發送到服務器B。所以需要MAC地址,用于局域網(子網)內的數據發送
- 主機A在MAC幀中,源MAC地址為自己的MAC地址,目的MAC地址為路由器的MAC地址,發送數據
- 路由器收到主機A的數據幀,解包查看IP地址,發現不是給自己的,再根據路由表進行路由轉發,途中可能還需要經過很多個路由器,使用的也是MAC地址,路由轉發其實就是在多個局域網間跳轉。
結論:MAC地址用于局域網內通信,IP地址用于廣域網通信,即起點和終點