網絡原理 - 9

目錄

數據鏈路層

以太網

以太網幀格式

MAC 地址

DNS(Domain Name System)

完!


數據鏈路層

這里的內容也是簡單了解,除非是做交換機開發,一般程序員不需要涉及~~

以太網

”以太網“不是一種具體的網絡,而是一種技術標準,既包含了數據鏈路層的內容,也包含了一些理層的內容。例如:規定了網絡拓撲結構,訪問控制方式,傳輸速率等等~~

例如,以太網中的網線必須使用雙絞線:傳輸速率有 10M 100M 1000M等等~~

以太網是目前使用最廣泛的局域網技術,和以太網并列的還有令牌環網,無線 LAN 等~~

以太網幀格式

源地址和目的地址:指的是網卡的硬件地址(也叫 MAC 地址),長度是 48 位(6 個字節的地址),是在網卡出場時候就固化了

幀協議類型字段有三種值,分別對應 IP,ARP,RARP

IP:此時意味著以太網數據幀是一個能夠攜帶業務數據的報文(大概率是業務數據,也有可能是一個攜帶 syn 這種的業務~~)

ARP 和 RARP 可以認為是兩個橫跨了網絡層和數據鏈路層的協議。

ARP

在網絡通信中,源主機的應用程序知道目的主機的 IP 地址和端口號,卻不知道目的主機的硬件機制。數據包顯示被網卡接收到然后再去處理上層協議的,如果接收到的數據包的硬件地址與主機不符,則直接丟棄~因此在通訊前必須獲得目的主機的硬件地址

ARP效果就是能夠讓路由器 / 交換機建立一個內部的結構, IP -> MAC (類似于 hash表)(轉發表,并不是路由表,只是描述著一個設備和那些設備之間是連接著的~~)

RARP

RARP 也是路由器和交換機也是建立一個內部的結構,不過是 MAC?-> IP

幀末尾是 CRC 校驗碼

以太網的數據幀,載荷部分是有長度要求的(46 - 1500 字節)。46 字節,是因為 ARP 是 46 字節,1500 字節,是硬件的限制,最大的載荷長度,稱為 MTU,我們前面在 IP 中講到 IP 數據報拆包組包往往就是因為這個 MTU 導致的~(數據鏈路層也不僅僅是以太網,還有其他的協議,不同的協議,對應的 MTU 也會有差別~)

MAC 地址

在數據鏈路層,引入了另外一套地址體系,稱為”MAC 地址“ / 物理地址

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

IP 地址,側重于全局的轉發,從起點到終點,整個轉發過程,通過 IP 地址負責完成。

MAC 地址,側重于局部的轉發,兩個相鄰設備之間的轉發(一個電腦臉上一個路由器,這就是相鄰設備)

MAC 地址是用來識別數據鏈路層中相鄰的節點,一般用 16 禁止數字加上冒號的形式來表示(例如:08:00:27:03:fb:19)

MAC 地址表示的范圍比 IPv4 的地址大的多,當前的 MAC 地址都是和主機(網卡)一對一進行綁定的,IP 地址我們前面提到過,是動態分配的,但 MAC 地址就是靜態分配的,網卡出廠的時候,MAC 地址就寫死了~~

舉個栗子~~

從江西到山西大同,路程非常遠,沒辦法直達~有三條路線可選:

1. 江西 - 湖北 - 河南 - 山西 - 大同

2. 江西 - 安徽 - 河南 - 山西 - 大同

3. 江西 - 湖北 - 山西 - 山西 - 大同

上面的三種路線,就是網絡層的路由選擇的過程,一跳一跳的可以進行"投石問路"

如果確定了路線三:江西 - 湖北 - 山西 - 大同。

則就又有不同的出行方式:

1. 江西 - 湖北:

源 IP:江西,目的 IP:大同

源 MAC:江西,目的 MAC:湖北

(坐飛機)

2. 湖北 - 山西

源 IP:江西,目的 IP:大同

源 MAC:湖北,目的 MAC:山西

(坐火車)

3. 山西 - 大同

源 IP:江西,目的 IP:大同

源 MAC 山西,目的 MAC:大同

(坐大巴)

上述不同的出行方式,即是每經過一個路由器 / 交換機,路由器 / 交換機就會把上述數據包進行分用和重新分裝,其中的源 MAC 和目的 MAC 就會發生改變,如果不考慮 NAT 機制,源 IP 和目的 IP 是始終不變的~~(公網對公網)

DNS(Domain Name System)

DNS 是一整套從域名映射到 IP 的系統

TCP / IP 中使用 IP 地址和端口號來確定網絡上的一臺主機的一個程序,但是 IP 地址不方便記憶~

于是人們發明了一種叫主機名的東西,是一個字符串,并且使用 hosts 文件來描述主機名和 IP 地址的關系~~

hosts 文件里面的內容就是行文本,包含很多行,每一行都有 IP 和域名,每次訪問每個域名就會進行查詢,獲取到對應的 IP。hosts 文件目前仍然是有效的,只不過一般情況下都是空的內容~~

隨著互聯網不斷發展,域名和服務器都越來越多了,此時維護 hosts 文件,就非常麻煩了。

干脆就有大佬,搭建了一組服務器,來提供域名解析服務(將 hosts 內容放到了服務器里面了),某個主機想要訪問某個域名,就先查詢一下 域名解析服務器(DNS 服務器),查到的結果,就是域名對應的 IP,拿著 IP 進行訪問即可~~

DNS 服務器,并非只有一份,是有很多份的~~最開始的一套 DNS 服務器,稱為”根域名服務器“,這里面的內容是非常全的~~ 各個國家的網絡運營商,再根據域名服務器里面的內容,搭建出”鏡像服務器“,上網的時候,一般就是就近的訪問附近運營商的鏡像 DNS 服務器,鏡像 DNS 服務器會定期的從跟服務器中同步數據~~

搭建域名服務器的時候。還會對于域名進行分級管理,一級域名,二級域名,三級域名....這樣就可以控制每個服務器管理的數據都是適量的~~

例如,www.baidu.com ==> 一級域名:www 二級域名:baidu? 三級域名:com~~

完!

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

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

相關文章

unity bug

發現一個奇怪的bug,就是某些unity版本打包apk時候不允許StreamingAssets里面有中文文件或者中文路徑。比如下圖這面這倆都是不行的。 解決方案:中文改為英文即可。 一般報錯信息如下: > Configure project :launcher WARNING:The option s…

【Linux網絡】打造初級網絡計算器 - 從協議設計到服務實現

📢博客主頁:https://blog.csdn.net/2301_779549673 📢博客倉庫:https://gitee.com/JohnKingW/linux_test/tree/master/lesson 📢歡迎點贊 👍 收藏 ?留言 📝 如有錯誤敬請指正! &…

計算機視覺——對比YOLOv12、YOLOv11、和基于Darknet的YOLOv7的微調對比

概述 目標檢測領域取得了巨大進步,其中 YOLOv12、YOLOv11 和基于 Darknet 的 YOLOv7 在實時檢測方面表現出色。盡管這些模型在通用目標檢測數據集上表現卓越,但在 HRSC2016-MS(高分辨率艦船數據集) 上對 YOLOv12 進行微調時&…

?MySQL 事務隔離級別詳解

? 以下是 MySQL 支持的四種事務隔離級別及其特性,按并發安全性從低到高排列: ?1. 讀未提交 (Read Uncommitted)? ?問題?: ?臟讀 (Dirty Read)?:事務可讀取其他事務未提交的數據。?不可重復讀 (Non-repeatable Read)?&am…

如何解決IDE項目啟動報錯 error:0308010C:digital envelope routines::unsupported 問題

如何解決IDE項目啟動報錯 error:0308010C:digital envelope routines::unsupported 問題 在現代軟件開發過程中,開發人員通常使用集成開發環境(IDE)如IntelliJ IDEA、Visual Studio Code(VSCode)等進行Node.js項目開發…

2025最新Facefusion3.1.2使用Docker部署,保姆級教程,無需配置環境

Docker部署Facefusion 環境 windows10 Facefusion3.1.2 安裝 拉取源代碼 git clone https://github.com/facefusion/facefusion-docker.git 此處如果拉不下來,需要科學上網,不會的可以找我。 運行容器 將Dockerfile.cpu文件中的的From python:3.…

docker容器監控自動恢復

關于實現對docker容器監控以及自動恢復,這里介紹兩種實現方案。 方案1: 實現思路: 找到(根據正則表達式)所有待監控的docker容器,此處篩選邏輯根據docker運行狀態找到已停止(Exit)類…

HackMyVM - Chromee靶機

HackMyVM - chromee靶機https://mp.weixin.qq.com/s/hF09_24PRXpx_lmB6dzWVg

Cursor中調用本地大語言模型

引言 隨著大語言模型(LLM)技術的快速發展,越來越多的開發者希望在本地環境中運行這些強大的AI模型,以獲得更好的隱私保護、更低的延遲以及不依賴網絡連接的使用體驗。Cursor作為一款面向開發者的AI增強編輯器,提供了與本地大語言模型集成的功…

青少年CTF-貪吃蛇

題目描述: 進入賽題頁面: 按F12,查看源代碼, 可以看到是當分數大于或等于10000時,獲得flag,值已經給出,直接引用就可以,check_score.php?score${score},這里將${score}換…

亞馬遜測評老砍單?了解過全新自養號系統嗎?

以全球電商巨頭亞馬遜為例,其風控技術的進化堪稱一部永不停歇的“升級史”。然而,令人遺憾的是,不少賣家和測評服務商卻依舊沉浸在過去的“舒適區”,過度依賴指紋瀏覽器、luminati等傳統技術手段。這些曾經行之有效的工具&#xf…

module.noParse(跳過指定文件的依賴解析)

1. 說明 module.noParse 是 Webpack 的一個配置項,用于跳過對指定模塊的解析。通過忽略某些文件的依賴分析,可以提升構建速度,尤其適用于處理大型、獨立的第三方庫 2. 使用配置 webpakc.config.js const path require(path); module.exp…

什么是爬蟲?——從技術原理到現實應用的全面解析 V

什么是爬蟲?——從技術原理到現實應用的全面解析 V 二十一、云原生爬蟲架構設計 21.1 無服務器爬蟲(AWS Lambda) # lambda_function.py import boto3 import requests from bs4 import BeautifulSoups3 = boto3.client(s3)def lambda_handler(event, context):# 抓取目標…

Web滲透之系統入侵與提權維權

滲透測試步驟 信息收集 搜集一些IP地址以及對應的端口開放情況,看看是否有80、3306、22等等端口開放,以及操作系統和版本號,同時也要掃描可能存在的漏洞 漏洞利用 建立據點 漏洞利用成功后,通常會在目標機上獲得一個webshell&…

【數論分塊】數論分塊算法模板及真題

1.數論分塊的含義 數論分塊算法,就是枚舉出使得取整函數發生變化的地方。 例如,對表達式 ? n i ? \lfloor \frac{n}{i} \rfloor ?in??使用數論分塊算法,就可以在 O ( n ) O(\sqrt n) O(n ?)的時間復雜度下枚舉所有滿足 ? n i ? 1 ?…

SpringBoot 常用注解通俗解釋

SpringBoot 常用注解通俗解釋 一、啟動類相關 1. SpringBootApplication ? 作用:這是SpringBoot項目的"總開關",放在主類上 ? 通俗理解:相當于對電腦說:"開機!我要用SpringBoot了!…

棧應用:括號匹配

1&#xff1a;普通字符串括號匹配 #include <iostream> #include <stack> #include <string> using namespace std; bool mat(char,char); int if_match(string); int main(){string a;cin>>a;cout<<if_match(a)<<endl;return 0; } bool m…

某東h5st_5.1(補環境)

JS逆向實戰——某東h5st_5.1&#xff08;補環境&#xff09; 聲明網站流程分析結果展示總結 聲明 本文章中所有內容僅供學習交流&#xff0c;抓包內容、敏感網址、數據接口均已做脫敏處理&#xff0c;嚴禁用于商業用途和非法用途&#xff0c;否則由此產生的一切后果均與作者無…

新增Webhook通知功能,文檔目錄樹展示性能優化,zyplayer-doc 2.5.1 發布啦!

zyplayer-doc是一款適合企業和個人使用的WIKI知識庫管理工具&#xff0c;支持在線編輯富文本、Markdown、表格、Office文檔、API接口、思維導圖、Drawio以及任意的文本文件&#xff0c;支持基于知識庫的AI問答&#xff0c;專為私有化部署而設計&#xff0c;最大程度上保證企業或…

macOS安全隱私最佳實踐分析

1. 引言 隨著數字世界的不斷擴展&#xff0c;個人和組織面臨的安全與隱私威脅也日益增加。作為專業的安全合規與隱私保護研究團隊&#xff0c;Kaamel 對 macOS 系統的安全隱私現狀進行了全面分析&#xff0c;并提出了一系列最佳實踐建議&#xff0c;旨在幫助用戶更好地保護自己…