【網絡原理】數據鏈路層

目錄

一. 以太網

二. 以太網數據幀

三. MAC地址

四. MTU

?五. ARP協議

?六. DNS


?

一. 以太網

以太網是一種基于有線或無線介質的計算機網絡技術,定義了物理層和數據鏈路層的協議,用于在局域網中傳輸數據幀。

二. 以太網數據幀

1)目標地址

?接收方的MAC地址(6個字節)

2)源地址

?發送方的MAC地址(6個字節)

3)類型

?現在常用的類型是DIX標準,用于標識上層協議

  • IPv4:0x0800
  • ARP:0x0806
  • IPv6:0x86DD
  • RARP:Ox8035

可以直接支持多種上層協議,無需額外封裝。?

4)數據

?數據大小的范圍:46~1500字節

  • 最小46字節:若上層數據不足,需填充(Padding)至46字節,確保幀總長≥64字節。
  • 最大1500字節:避免過長幀導致緩沖區溢出或延遲過高(稱為最大傳輸單元MTU)。

5)校驗(CRC)

?循環冗余校驗,判斷傳輸的數據是否正確


三. MAC地址

MAC地址是數據鏈路層中用于唯一標識網絡設備的物理地址,確保數據在同一局域網中準確傳輸到目標設備?,類似于身份證號

  • MAC地址通常使用16進制表示,字節之間使用—進行分割
  • 從出廠的時候,就已經規定好了,不能進行修改,由于這種靜態分配和不可變性,一般使用MAC地址作為機器唯一標識
  • 全球唯一性:由IEEE統一分配,確保每個設備的MAC地址不重復

IP地址和MAC地址的區別?

MAC地址的作用和IP地址類似,都是用于定位設備

MAC地址和IP地址是兩個獨立的地址體系

  • IP地址側重于全局的轉發,從起到到終點整個轉發的過程,通過路由表一直查詢IP地址完成通信
  • MAC地址側重于局部的轉發,兩個相鄰設備之間的通信

如果是公網傳播,不涉及NAT機制,那么以太網數據幀的IP部分一直不回改變

但是每經過一個路由器或交換機,以太網幀頭中的源MAC地址和目的MAC地址都會發生改變


四. MTU

?MTU是網絡通信中的一個關鍵參數,用于限制數據鏈路層可承載的網絡層數據包的最大大小

在不進行分片的前提下。某一個網絡接口可以傳輸的最大數據量,MTU對網絡傳輸效率有顯著的影響

較大的MTU可減少頭部開銷,提高吞吐量;較小的MTU可降低延遲,適合實時通信。

以太網數據幀對載荷部分,具有一定的要求,最小位46字節,最大是1500字節,46字節是因為ARP最小是46字節,1500字節(實際不到)是硬件設備的限制


MTU對IP協議的影響(分包)

若IP數據包大小超過路徑MTU,路由器會分片(Fragmentation),接收端再重組。

注意:如果出現了小包的丟失,就會導致整個的重組失敗,但是IP層不會負責重發


MTU對UDP協議的影響

UDP數據報如果攜帶的數據超過了1472字節(1500-20(IP首部)-8(UDP首部)),那么就會把這個數據在網絡層分成多個IP數據包進行傳輸,如果小包丟失了,數據重組失敗,但是IP層不會重發,就會導致整個數據丟包的概率增加


MTU對TCP協議的影響

?這里要介紹一個新的概念:MSS

MSS:TCP協議中一次可傳輸的最大應用層數據量(不含TCP和IP頭部)

TCP相對于UDP而言,會在建立連接的時候,進行MSS協商,在建立連接的時候,客戶端發送SYN請求報文的時候,會攜帶MSS值,服務器會根據收到的MSS值和本端的MTU值,取其中的最小值,告知給客戶端,客戶端返回ACK中確認協商后的MSS值,這就是MSS協商

如果應用層的數據超過了MSS值,會在傳輸層進行分段,每個段的大小不會超過MSS值

由于網絡傳輸的復雜性,這個MSS并不是一味不變,會動態調整MSS以適配路徑最小MTU。


?在數據鏈路層中,不止存在以太網協議,還存在其他協議,協議不同,MTU也是不同的


?五. ARP協議

?ARP協議建立了主機IP地址和MAC地址的映射關系

目的主機硬件地址的重要性?

  • 在網絡通信中,源主機知道目的主機的IP地址和端口號,但是不知道目的主機的硬件地址
  • 如果不知道目的主機的硬件地址,數據到達不了網卡,也意味著上層協議無法收到數據
  • 所有在通訊前必須要知道,目的主機的硬件地址

?如何得知硬件地址?(ARP協議)

源主機發送ARP請求(廣播發送),廣播詢問這個IP地址的硬件地址是什么?

目的主機收到這個請求之后,發現這個IP地址對應的是自己,那么就會將自己的主機硬件地址發送給源主機(ARP應答包)

每臺主機都維護?個ARP緩存表,緩存表中的表項有過期時間(?般為20分 鐘),如果20分鐘內沒有再次使?某個表項,則該表項失效,下次還要發ARP請求來獲得?的主機的硬件地址


?六. DNS

DNS也就域名解析系統,在網絡通信中,使用IP地址來標識一個網絡設備的位置,一串點分十進制的數字,是不好被記憶的,就使用一些可讀性好的單詞(域名),來標識一個IP地址

這種從域名到IP地址的解析過程,就是DNS

  • 起初域名和服務器沒有這么多,使用hosts文件進行管理,每次訪問時,在hosts文件中,找到這個域名對應的IP地址,然后進行訪問
  • 隨著域名和服務器越來越多,使用hosts文件進行管理,維護起來很麻煩,于是就使用一個專門的服務器提供這個域名解析的服務,主機每次訪問一個服務器之前,都要先訪問一下這個DNS服務器,進行域名解析操作,然后拿著IP地址,去訪問

最開始的這些DNS服務器,也稱為根域名服務器(數量有限),全世界同時有這么多人同時上網,根域名服務器肯定承載不住,于是各個國家的運營商,就根據根域名服務器,搭建出非常多的鏡像DNS服務器,用戶一般訪問的時候,是訪問附近的鏡像DNS服務器

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/pingmian/80370.shtml
繁體地址,請注明出處:http://hk.pswp.cn/pingmian/80370.shtml
英文地址,請注明出處:http://en.pswp.cn/pingmian/80370.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

控制臺打印帶格式內容

1. 場景 很多軟件會在控制臺打印帶顏色和格式的文字,需要使用轉義符實現這個功能。 2. 詳細說明 2.1.轉義符說明 樣式開始:\033[參數1;參數2;參數3m 可以多個參數疊加,若同一類型的參數(如字體顏色)設置了多個&…

[6-2] 定時器定時中斷定時器外部時鐘 江協科技學習筆記(41個知識點)

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 V 30 31 32 33 34 35 36 37 38 39 40 41

數據庫的脫敏策略

數據庫的脫敏策略:就是屏蔽敏感的數據 脫敏策略三要求: (1)表對象 (2)生效條件(脫敏列、脫敏函數) (3)二元組 常見的脫敏策略規則: 替換、重排、…

Python序列化的學習筆記

1. Npy&Numpy O4-mini-Cursor:如果.npy文件里包含了「Python對象」而非純數值數組時,就必須在加載時加上allow_pickleTrue。

[思維模式-27]:《本質思考力》-7- 逆向思考的原理與應用

目錄 一、什么是逆向思考 1.1、逆向思考的六大核心思維模式 1.2、逆向思考的四大實踐方法 1. 假設倒置法 2. 缺陷重構法 3. 用戶反推法 4. 規則解構法 1.3、逆向思考的經典案例庫 1. 商業創新:從“賣產品”到“賣服務” 2. 用戶體驗:從“功能滿…

在python中,為什么要引入事件循環這個概念?

在Python中,事件循環(Event Loop)是異步編程的核心機制,它的引入解決了傳統同步編程模型在高并發場景下的效率瓶頸問題。以下從技術演進、性能優化和編程范式三個角度,探討這一概念的必要性及其價值。 一、同步模型的局…

Taccel:一個高性能的GPU加速視觸覺機器人模擬平臺

觸覺感知對于實現人類水平的機器人操作能力至關重要。而視覺觸覺傳感器(VBTS)作為一種有前景的解決方案,通過相機捕捉彈性凝膠墊的形變模式來感知接觸的方式,為視觸覺機器人提供了高空間分辨率和成本效益。然而,這些傳…

oracle 會話管理

會話管理 1:查看當前所有用戶的會話(SESSION): SELECT * FROM V S E S S I O N W H E R E U S E R N A M E I S N O T N U L L O R D E R B Y L O G O N T I M E , S I D ; 其中 O r a c l e 內部進程的 U S E R N A M E 為空 2 :查看當前…

Python開發后端InfluxDB數據庫測試接口

1、使用PyCharm創建一個Python項目wzClear 2、新建package包wzInfluxdb和wzConfig包,如上圖所示,新建一個DB.json配置文件并添加influxdb配置信息,DB.json為統一配置文件 {"influxdbV1": {"url": "http://192.168.0…

采用LLaMa-Factory對QWen大模型實現微調(效果很好)

前言 LLaMA-factory是一個非常有用的開源框架。關于利用llama-factory實現大模型的微調,研究了有一個多月了,終于相對成功的微調了一個QWen的大模型。其中的曲折愿和大家分享! 一、源碼的下載 在github上的網址: GitHub - hiyou…

深入理解深度Q網絡DQN:基于python從零實現

DQN是什么玩意兒? 深度Q網絡(DQN)是深度強化學習領域里一個超厲害的算法。它把Q學習和深度神經網絡巧妙地結合在了一起,專門用來搞定那些狀態空間維度特別高、特別復雜的難題。它展示了用函數近似來學習價值函數的超能力&#xf…

機械物理:水力發電站工作原理是什么?

水利發電站的工作原理是將水的勢能轉化為電能,主要依賴水體的重力作用與能量轉換設備。以下是其核心步驟和組成部分的詳細解釋: 1. 蓄水與勢能積累 水壩與水庫:通過建造水壩攔截河流,形成水庫蓄水。水位升高后,水體的…

[面試]SoC驗證工程師面試常見問題(五)TLM通信篇

SoC驗證工程師面試常見問題(五) 摘要:UVM (Universal Verification Methodology) 中的 TLM (Transaction Level Modeling) 通信是一種用于在驗證組件之間傳遞事務(Transaction)的高層次抽象機制。它通過端口(Port)和導出(Export)實現組件間的解耦通信,避免了信…

CAD屬性圖框值與Excel聯動(CAD塊屬性導出Excel、excel更新CAD塊屬性)——CAD c#二次開發

CAD插件實現塊屬性值與excel的互動,效果如下: 加載dll插件(CAD 命令行輸入netload ,運行xx即可導出Excel,運行xx1即可根據excel更新dwg塊屬性值。) 部分代碼如下 // 4. 開啟事務更新CAD數據using (Transact…

【數據挖掘】Apriori算法

Apriori算法是經典的關聯規則挖掘算法,用于從事務型數據庫中發現頻繁項集和強關聯規則,特別常用于購物籃分析等場景。 🧠 核心思想(Apriori原則) 一個項集是頻繁的,前提是它的所有子集也必須是頻繁的。 即&…

單鏈表設計與實現

01. 單鏈表簡介 在數據結構中,單鏈表的實現可以分為 帶頭結點 和 不帶頭結點 兩種方式,這里我們討論第二種方式。 頭結點:鏈表第一個節點不存實際數據,僅作為輔助節點指向首元節點(第一個數據節點)。頭指…

【論文閱讀】——Articulate AnyMesh: Open-Vocabulary 3D Articulated Objects Modeling

文章目錄 摘要一、介紹二、相關工作2.1. 鉸接對象建模2.2. 部件感知3D生成 三、方法3.1. 概述3.2. 通過VLM助手進行可移動部件分割3.3. 通過幾何感知視覺提示的發音估計3.4. 通過隨機關節狀態進行細化 四、實驗4.1. 定量實驗發音估計設置: 4.2. 應用程序 五、結論六、思考 摘要…

Zookeeper單機版安裝部署

目錄 1.1、概述1.2、系統環境1.3、部署流程1.3.1、下載安裝包1.3.2、解壓文件1.3.3、創建數據目錄和日志目錄1.3.4、配置ZooKeeper1.3.5、啟動ZooKeeper服務1.3.6、連接和驗證 1.4、Zookeeper服務管理命令1.4.1、啟動Zookeeper服務1.4.2、停止Zookeeper服務1.4.3、查看Zookeepe…

在 Elasticsearch 中刪除文檔中的某個字段

作者:來自 Elastic Kofi Bartlett 探索在 Elasticsearch 中刪除文檔字段的方法。 更多有關 Elasticsearch 文檔的操作,請詳細閱讀文章 “開始使用 Elasticsearch (1)”。 想獲得 Elastic 認證?查看下一期 Elasticsear…

元數據和主數據

元數據和主數據是數據管理中的兩個關鍵概念,其核心區別如下: 1. 定義與本質 元數據(Metadata) “關于數據的數據”,用于描述數據的屬性、結構、來源、用途等上下文信息。 示例:數據庫表的字段名稱、數據類型…