以太網鏈路詳情

文章目錄

  • 1、交換機
    • 1、常見的概念
      • 1、沖突域
      • 2、廣播域
      • 3、以太網卡
        • 1、以太網卡幀
      • 4、mac地址
        • 1、mac地址表示
        • 2、mac地址分類
        • 3、mac地址轉換為二進制
    • 2、交換機的工作原理
      • 1、mac地址表
      • 2、交換機三種數據幀處理行為
      • 3、為什么會泛洪
      • 4、轉發
      • 5、丟棄
    • 3、mac表怎么獲得
    • 4、同網段數據通信全過程
      • 1、數據封裝過程
      • 2、泛洪數據幀
      • 3、學習mac地址和主機回復
      • 4、總結
    • 5、不同網段數據通信過程

1、交換機

1、常見的概念

1、沖突域

  • 沖突域就是連接同一個共享介質的所有節點的集合,沖突域內所有節點競爭同一個帶寬,一個節點發出的報文(無論是單播,組播,廣播),其他節點都可以收到

  • 交換機上面的接口都是互相連接的,因此每一個接口相當于一個沖突域,不同的接口發送和數據獨立,各個接口屬于不同的沖突域,互聯的主機不需要擔心流量對數據發送沖突的影響了

  • 就是以前是一個主機發送數據,其他的主機不能發送數據,只能接收,但是交換機的話,每個接口都是互相連接的,因此可以不同主機可以同時發送數據,和接收數據

img

  • 一個節點發送的是廣播的話,就會泛洪,如果接收的是單播的話,就只會發送給一個節點,因此交換機組成的局域網是廣播域,但是隔離了沖突域

2、廣播域

  • 就是廣播報文會訪問所有的主機,同一個廣播域內的主機都能收到廣播報文

  • 有一個主機發送了廣播的話,交換機會發送給所有的接口都會轉發,但是路由器的話,不會進行泛洪,不會轉換廣播,起到了一個隔離廣播的作用

3、以太網卡

  • 路由器和PC的連接在一起的話,可以配置ip地址的,路由器接口上配置一個ip,然后pc上面也配置了一個ip地址,如果在同一個網段的話,就可以實現互訪,所以的話,PC網卡和路由器網卡本質上沒有區別,基于數據包來進行處理

  • 交換機上面的接口如果配置不了ip的話,就是一個二層設備,只具備二層的功能,以幀為單位進行數據轉發,沒有對包進行分析的能力,是一個傳統的二層設備

1、以太網卡幀

img

  • 在以太網中,數據通信是基本單位是以太幀,有2個標準

  • 一個是Ethernet_ll格式和另外一個是IEEE802.3格式

  • 客戶端發送的是Ethernet_ll數據的幀格式,維護網絡正常工作協議的是IEE 802.3幀格式

  • Ethernet_ll類型,是0800上層就是ipv4的協議,是0806的話,上層就是arp協議的

  • IEEE802.3類型LLC

4、mac地址

  • 網絡中唯一標識一個網卡,唯一的名字

  • mac地址6個字節,48bit,16進制

  • 為什么有了mac地址,在接入設備的時候還是需要配置ip地址,因為路由器是通過ip地址來進行尋址的,交換機是根據在mac地址在鏈路上面進行通信

  • 不要ip地址,在鏈路上面通過mac地址進行實現通信,在鏈路上面只有mac地址可以通信

  • 因此的話,ip地址和mac地址結合使用,非常的強大,在鏈路上面根據mac地址,在不同的網段上面,路由表根據ip地址進行轉發

  • ip地址是唯一標識網絡中一個節點,可以通過ip地址進行不同網段的數據訪問,可以改變的,在同一個網段上面是唯一的

  • ip地址和mac地址,mac地址在同一個鏈路上面通信,ip地址可以跨鏈路訪問

1、mac地址表示
  • mac地址采用十六進制表示

  • ox表示這個數據是16進制的

  • 00 1E 10 DD DD 02 6個字節

  • 轉換成二進制的話, 0000 0000 0001 1110 一個數字轉換成4bite來進行表示

2、mac地址分類
  • 單播地址,第8個bite等于0的就是單播,前面是24位,就是oui就是廠商代碼

  • 組播地址,第8個bite等于1的話就是組播,發送給一堆接口

  • 廣播地址,bite全是1的位廣播

  • 6C就是單播地址,A是10,B是11,C是12,所以的話,這個就是一個單播

  • 交換機根據目標MAC地址的第8個比特位查找

3、mac地址轉換為二進制

# 一個十六進制的數等于4個二進制的數
步驟 1:把 6 轉成二進制
十六進制 6 對應十進制 6。
將十進制 6 轉換為二進制:
6 ÷ 2 = 3,余數 0
3 ÷ 2 = 1,余數 1
1 ÷ 2 = 0,余數 1
從下到上排列余數:110
補齊 4 位:0110
步驟 2:把 C 轉成二進制
十六進制 C 對應十進制 12(A=10, B=11, C=12)。
將十進制 12 轉換為二進制:
12 ÷ 2 = 6,余數 0
6 ÷ 2 = 3,余數 0
3 ÷ 2 = 1,余數 1
1 ÷ 2 = 0,余數 1
從下到上排列余數:1100

2、交換機的工作原理

img

  • 主機1發送數據到PC2上面,交換機學習幀的地址MAC地址,然后在MAC地址表中查詢該幀的目的mac地址,并將這個幀從對應的端口轉發出去,arp協議

  • 二層轉發只用看mac地址即可,不需要看IP地址

1、mac地址表

  • 每個交換機都會有一個mac地址表,存放了mac地址與交換機端口編號之間的映射關系

  • 通過這個接口就能達到主機上面

2、交換機三種數據幀處理行為

  • 泛洪,就是一個接口收到數據幀后,就泛洪到所有的主機

  • 轉發,就是從一個特定的接口轉發到某個接口

  • 丟棄,一個接口接收的數據,直接丟棄,不進行轉發

3、為什么會泛洪

  • 交換機如果接收的是單播幀,交換機查詢mac地址表,查詢不到,就被稱為未知單播幀,交換機對該單播幀執行泛洪的操作

  • 如果接收的是廣播幀,不需要查詢mac地址,直接進行泛洪

  • 組播,也是泛洪

4、轉發

  • 查找到了這個目標mac地址和對應的接口,然后從這個接口進行轉發即可

5、丟棄

  • 交換機收到了一個幀的話,如果這個出接口和目標接口都是自己的,交換機就會丟棄

3、mac表怎么獲得

img

  • 初始情況下,交換機的mac地址表是空的

  • PC發送一個數據幀,然后交換機查詢源mac地址學習,找到了這個對應端口

  • 根據目標mac地址是個單播,查詢不到,然后就會泛洪操作,然后主機二會回復一個單播幀,然后交換機繼續學習,這個源mac地址和對應的端口,這樣交換機就學習到了,并且記錄到了mac地址表中

  • 然后PC發送數據后,就會實現轉發的操作

4、同網段數據通信全過程

img

1、數據封裝過程

img

  • 但是以太網幀的結構里面有源mac,和目標mac地址,但是剛開始不知道目標mac地址,所以的話,需要先發送一個arp請求,獲取到目標mac地址

2、泛洪數據幀

img

  • 先發送一個arp廣播,交換機直接進行泛洪

3、學習mac地址和主機回復

img

  • 主機二就收到了arp請求,回一個arp應答,里面包含了主機2的mac地址,和主機1的目標mac地址,然后交換機就學習到了這個mac地址和對應的接口

  • 然后主機1就獲得了目標的mac地址,然后進行幀的封裝,不斷的進行數據的轉發,然后交換機通過查詢mac地址表,然后進行轉發即可

4、總結

  • 這個就是同網段通信的過程

img

# 發送一個ping 包,會發送一個arp請求,然后交換機就學習
# 查詢交換機
<Huawei>display mac-address
MAC address table of slot 0:
-------------------------------------------------------------------------------
MAC Address    VLAN/       PEVLAN CEVLAN Port            Type      LSP/LSR-ID  VSI/SI                                              MAC-Tunnel  
-------------------------------------------------------------------------------
5489-9850-0d09 1           -      -      GE0/0/1         dynamic   0/-         
5489-9880-0d83 1           -      -      GE0/0/2         dynamic   0/-         
-------------------------------------------------------------------------------
Total matching items on slot 0 displayed = 2 # 主機上面也會有mac地址記錄
PC>arp -a Internet Address    Physical Address    Type
1.1.1.2             54-89-98-80-0D-83   dynamic
  • 交換機的接口,每個接口的目標mac地址都是相同的,接口不是用來通信的,用來交換機之間的通信

  • arp是一個廣播的報文,發送到交換機上面,會泛洪,所有主機都會接收

  • 剛開始都是初始的狀態,然后PC1發送一個數據到PC2上面,因為只知道PC2的目標ip,不知道目的mac地址,因此的話,先發送一個arp請求,然后發送過去,交換機就學習PC1的mac地址,并且記錄端口信息,PC2收到后,發送一個ARP回答,里面記錄的2個mac地址和Ip,然后交換機學習PC2的mac地址,記錄端口的關系,這樣的話,交換機就學習到了

  • 下次發數據的時候,直接進行轉發

  • mac地址表,有個老化時間,默認是300秒,因此的話,每次發送的數據,交換機都要學習mac地址

  • mac地址表為什么會老化

    • mac地址使用的內存空間,如果錯誤表項,空閑的表項,不老化,導致mac表會占用空間

    • 交換機的mac表有一定的容量限制,不清空無效的表項,導致了MAC地址表容量滿了,無法學習最新的MAC地址信息

5、不同網段數據通信過程

img

# pc1和pc2是同一個網段的,與pc3是不同的網段
  • 不同網段的話,就需要去尋找網關,所以的話,就會尋找網關的mac地址,然后網關就會回一個自己的mac地址,需要路由器,網關配置在了路由器,

  • 就是網關路由器從交換機接收到后數據后,進行解封裝然后查詢到里面的目標ip地址不是自己的然后繼續封裝,轉發

  • 知道轉發到了PC3主機上面即可,然后有mac地址,進行arp回答即可

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

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

相關文章

Shell編程 腳本的運行方式與注釋

目錄 shell腳本的運行方式 1. 路徑運行 2.bash或sh加腳本運行 ?編輯 3.source在加腳本路徑運行 shell腳本注釋 單行注釋 多行注釋 shell腳本的運行方式 我們在/usr/etc/demo01目錄下新建了一個腳本 a.sh &#xff0c;腳本內容是要求輸出數字1&#xff0c;怎么運行呢 1…

獲取淘寶商品評論數據的API應用:市場調研|產品更新|用戶數據

下面是一段我用item_review&#xff08;獲取商品評論數據&#xff09;抓來的商品評論數據&#xff1a; "items": {"total_results": 375,"totalpage": 38,"page_size": 10,"page": "1","item": [{&quo…

智算網絡中Scale-out和Scale-up網絡的技術原理

智算網絡中Scale-out網絡和Scale-up網絡的本質區別是什么&#xff1f; 一、什么是智算中心的Scale-out網絡和Scale-up網絡 數據中心網絡總體上可分為兩大類&#xff1a;通算網絡和智算網絡。通算網絡主要用于支持傳統的計算任務和應用&#xff0c;如企業的IT系統、網站托管、電…

HCIA筆記7--OSPF協議入門

文章目錄 0. 路由分類1. OSPF介紹1.1 概念1.2 報文類型 2. 鄰接關系的建立2.1 鄰居關系的建立2.2 鄰接關系的形成2.3 ospf狀態機 3. DR與BDR3.1 為什么要有DR和BDR&#xff1f;3.2 DR和BDR的選舉原則 4. ospf的配置4.1 內部優先級 5. 問題5.1 三層環路如何解決&#xff1f; Ref…

C05S06-Nginx的內置變量和代理

一、常見內置變量 內置變量說明$uri請求的URL&#xff0c;不包括主機和參數$request_uri請求的URL&#xff0c;包括主機和參數$host請求的主機名$http_user_agent客戶端信息&#xff0c;瀏覽器和操作系統$remote_addr客戶端IP地址$remote_port客戶端端口$server_addr服務端IP地…

mysql排序問題

mysql 建數據庫時&#xff0c;需要指定 字符集 和 排序規則 建表時&#xff0c;也可以指定 也可以指定具體的字段 安照下面的sql順序執行插入&#xff0c;它們的排序是什么樣的&#xff1f; INSERT into test_sort (uid,create_time) VALUE (d,now()) INSERT into test_sort (u…

JAVA 圖形界面編程 AWT篇(1)

前言 為了應對JAVA課設&#xff0c;小編走上了java的圖形界面編程的道路&#xff0c;通過博客分享自己的學習歷程&#xff0c;并進行筆記的記錄。 AWT&#xff08;Abstract Window Toolkit&#xff09;介紹 AWT&#xff08;抽象窗口工具包&#xff09;是 Java 最早的圖形用戶界…

vulhub復現CVE-2021-44228log4j漏洞

目錄 一&#xff1a;漏洞概述 二&#xff1a;漏洞原理 三&#xff1a;漏洞利用 lookup功能&#xff1a; JNDI解析器&#xff1a; ldap服務&#xff1a; RMI&#xff1a; 四&#xff1a;漏洞復現 4.1靶場 4.2dnslog測試 4.3部署jndi-injection-exploit 4.4打開監聽端口 4.5觸發請…

ip地址獲取失敗啥意思?ip地址獲取失敗怎么回事

在日常的網絡使用中&#xff0c;我們時常依賴于穩定的IP地址來確保數據的順暢傳輸和設備的正常識別。然而&#xff0c;有時我們會遇到“IP地址獲取失敗”的困擾&#xff0c;這不僅阻礙了我們的網絡訪問&#xff0c;還可能帶來一系列的網絡連接問題。那么&#xff0c;IP地址獲取…

如何在 Android 項目中實現跨庫傳值

背景介紹 在一個復雜的 Android 項目中&#xff0c;我們通常會有多個庫&#xff08;lib&#xff09;&#xff0c;而主應用程序&#xff08;app&#xff09;依賴所有這些庫。目前遇到的問題是&#xff0c;在這些庫中&#xff0c;libAd 需要獲取 libVip 的 VIP 等級狀態&#xf…

非常規使用client-go踩坑記

0x01 背景 編程者總有想偷懶的傾向。至少我的初衷時&#xff0c;盡量復用現有的代碼。但有時也會變得弄巧成拙。 這不&#xff0c;最近需要在一個Go服務里添加一個CRD的緩存等待。熟悉k8s的同學都知道&#xff0c;向 kube-apiserver 提交一個更新&#xff0c;到同一個進程中的…

OpenGL ES詳解——多個紋理實現混疊顯示

目錄 一、獲取圖片紋理數據 二、著色器編寫 1. 頂點著色器 2. 片元著色器 三、綁定和繪制紋理 1. 綁定紋理 2. 繪制紋理 四、源碼下載 一、獲取圖片紋理數據 獲取圖片紋理數據代碼如下&#xff1a; //獲取圖片1紋理數據 mTextureId loadTexture(mContext, R.mipmap.…

java引用相關(四大引用類型,軟引用避免oom,弱引用表,虛引用和引用隊列,可達性分析算法)

1. 什么是引用&#xff1f; 問題&#xff1a;什么是引用&#xff1f;Java中的引用是如何工作的&#xff1f; 答案&#xff1a; 引用 是對象的句柄&#xff0c;用于訪問堆內存中的對象。在Java中&#xff0c;引用變量實際上存儲的是對象的地址&#xff0c;而不是對象本身。通…

十一、容器化 vs 虛擬化-Docker

文章目錄 前言一、Docker 介紹1. 簡介2. 應用場景3. 特點4. Docker和虛擬機之間的區別5. 解決痛點1. 解決依賴兼容2. 解決操作系統環境差異3. 小結 二、Docker 架構三、工作流程五、Docker 核心組件及其工作機制1. Docker 客戶端&#xff08;Docker Client&#xff09;2. Docke…

linux學習筆記01 基礎命令

目錄 創建 touch 創建文件 &#xff08;創建但是不打開&#xff09; vi / vim 創建文件 (創建一個文件并打開) mkdir 創建文件夾 切換目錄 cd 查看 pwd 查看當前目錄完整路徑 ls 查看目錄信息 dir 查看目錄信息 ll 表示查看目標目錄下的信息 ls -a 查看當前目錄下的…

【深度學習】深刻理解多模態模型CLIP

CLIP&#xff08;Contrastive Language-Image Pretraining&#xff09; 是由 OpenAI 提出的一個多模態模型&#xff0c;旨在學習視覺和語言的聯合表示&#xff0c;能夠通過圖像和文本之間的對比學習來實現圖像和文本之間的緊密聯系。CLIP 模型可以通過自然語言描述理解和處理圖…

android 聊天界面鍵盤、表情切換絲滑

1、我們在聊天頁面時候&#xff0c;往往會遇到&#xff0c;鍵盤、表情、其他選擇切換時候頁面會出現掉下來再彈起問題&#xff0c;這是因為&#xff0c;我們切換時候&#xff0c;鍵盤異步導致內容View高度變化&#xff0c;頁面掉下來后&#xff0c;又被其他內容頂起這種很差視覺…

Nginx 緩存系統 proxy_cache詳解

系列文章目錄 提示&#xff1a;這里可以添加系列文章的所有文章的目錄&#xff0c;目錄需要自己手動添加 例如&#xff1a;第一章 Python 機器學習入門之pandas的使用 提示&#xff1a;寫完文章后&#xff0c;目錄可以自動生成&#xff0c;如何生成可參考右邊的幫助文檔 文章目…

mysql時間戳格式化yyyy-mm-dd

格式化到 年月日 # 將時間換成列名就行&#xff1b;當前是秒級時間戳&#xff0c;如果是毫秒的 / 1000即可 # SELECT FROM_UNIXTIME(1602668106666.777888999 / 1000,%Y-%m-%d) AS a; # SELECT FROM_UNIXTIME(列名 / 1000,%Y-%m-%d) AS a; SELECT FROM_UNIXTIME(1602668106.666…

PDFMathTranslate,PDF多語言翻譯,批量處理,學術論文,雙語對照(WIN/MAC)

分享一個非常實用的PDF文檔翻譯項目——PDFMathTranslate。作為一個經常逛GitHub的開發者&#xff0c;我總喜歡翻看各種項目附帶的論文&#xff0c;雖然大多時候是瞎研究&#xff0c;但卻樂在其中。該項目能夠完美保留公式、圖表、目錄和注釋&#xff0c;對于需要閱讀外文文獻的…