目錄
- 一、以太網協議
- 二、以太網交換機原理
- 三、交換機常見問題思考
- 四、同網段數據通信全過程
- 五、跨網段數據通信全過程
- 六、關鍵知識
- 七、調試命令
前言:在網絡中傳輸數據時需要遵循一些標準,以太網協議定義了數據幀在以太網上的傳輸標準,了解以太網協議是充分理解數據鏈路層通信的基礎。以太網交換機是實現數據鏈路層通信的主要設備,了解以太網交換機的工作原理也是十分必要的。
一、以太網協議
-
以太網是當今現有局域網(Local Area Network, LAN)采用的最通用的通信協議標準,該標準定義了在局域網中采用的電纜類型和信號處理方法。
-
以太網是建立在CSMA/CD (Carrier Sense Multiple Access/Collision Detection,載波監聽多路訪問/沖突檢測)機制上的廣播型網絡。
早期使用集線器(HUB)組網現在使用交換機組網。
-
沖突域
沖突域是指連接在同一共享介質上的所有節點的集合,沖突域內所有節點競爭同一帶寬,一個節點發出的報文(無論是單播、組播、廣播),其余節點都可以收到。早期以太網(HUB組網):① 在傳統的以太網中,同一介質上的多個節點共享鏈路帶寬,爭用鏈路的使用權,這樣就會發生沖突。② 同一介質上的節點越多,沖突發生的概率越大。③ 解決機制:CSMA/CD(帶有沖突檢測的載波偵聽多路存取):所有節點都共享網絡傳輸信道,節點在發送數據之前,首先檢測信道是否空閑,如果信道空閑則發送,否則就等待;在發送出信息后,再對沖突進行檢測,當發現沖突時,則取消發送。交換機以太網(現在用的):① 隔離沖突域,每個接口相當于1個獨立的沖突域。② 交換機不同的接口發送和接收數據獨立,各接口屬于不同的沖突域,因此有效地隔離了網絡中物理層沖突域,使得通過它互連的主機(或網絡)之間不必再擔心流量大小對于數據發送沖突的影響。
-
廣播域
廣播報文所能到達的整個訪問范圍稱為二層廣播域,簡稱廣播域,同一廣播域內的主機都能收到廣播報文。
-
以太網幀格式
以太網技術所使用的幀稱為以太網幀 (Ethernet Frame),或簡稱以太幀。以太幀的格式有兩個標準:Ethernet_II格式和IEEE 802.3格式。※ Ethernet_Ⅱ最常用※ thernet_II和IEEE 802.3幀前面兩個字段都是D.MAC與S.MAC,交換機只會拆到這,所以交換機不知道接收到的幀具體是哪個格式的。
二、以太網交換機原理
-
典型的園區網架構
出口層(通常為路由器):連接公網核心層(通常是三層交換機):負責用戶的數據交換匯聚層(通常是三層交換機):把用戶的數據匯聚起來轉發給核心層接入層(通常是二層交換機):用于把用戶接進來(擴展接口的)
-
以太網二層交換機
以太網二層交換機轉發數據的端口都是以太網口,并且只能夠針對數據的二層頭部 (以太網數據幀頭) 中的MAC地址進行尋址并轉發數據。
-
交換機的工作原理
交換機在接收到任意類型的數據幀時,首先是學習并生成MAC表項(數據幀源MAC地址與入端口對應關系),如果該項已經存在,會更新其老化時間(華為大部分設備默認是300秒),然后將該數據幀從對應的端口轉發出去;如果沒有該項,則會將其泛洪(轉發給所有端口);
-
MAC地址表
每臺交換機中都有一個MAC地址表,存放了MAC地址與交換機端口編號之間的映射關系。華為大部分設備默認地址表項老化時間是300秒。
-
交換機的3種數據幀處理行為
交換機對于從傳輸介質進入某一端口的幀的處理行為一共有3種:泛洪、轉發與丟棄。
-
泛洪
如圖所示
-
轉發
如圖所示
-
丟棄
交換機接收到數據幀,發現其目的MAC地址對應的接口,是其來方向的入接口時,會將其丟棄(找錯交換機了)。
-
交換機MAC地址學習
交換機只有在報文經過時才能學習并構建相應的mac表項。交換機接收到報文的第一步是學習mac地址,然后才是其他操作。
第一步:
第二步:
第三步:
第四步:
第五步:
三、交換機常見問題思考
-
交換機接口down后,相應MAC地址表項如何變化?
對應接口的MAC地址表項會消失。
-
同一個Vlan中,PC 從交換機A端口遷移到B端口,交換機MAC地址表項如何變化 ?
會進行變遷到新的接口下。
-
MAC地址表的老化時間是多少?為什么需要老化時間?
華為大部分設備默認是300秒,新報文經過會刷新老化時間重新計算;為了高效的利用設備的資源,不要太多的mac地址條目。
-
如何設置“黑洞”MAC?
交換機系統模式下:mac-address blackhole 5489-98EA-0A02 vlan 1 黑洞mac
-
交換機的一個接口可以學習多個MAC地址嗎?
可以的(因為一個接口下可能連接了其他交換機,其他交換機下也有很多設備)
-
交換機的MAC地址表項可以無限增加嗎?
不可以,大交換機的較多,中小型交換機的較少。
-
交換機和集線器有和區別?
集線器所有的接口都在一個沖突域下,交換機的每一個接口都是一個獨立的沖突域;集線器對于任何報文都是群發,共享鏈路帶寬。集線器:老設備、只會翻紅、共享鏈路帶寬。
-
交換機有NAT功能嗎?
大部分交換機都沒有nat功能(三層交換機和路由器的功能不是完全一樣)
-
所有交換機的端口都可以切換成路由口嗎?
不是,部分交換機的端口可以(高端交換機,比如華為-H系列)
四、同網段數據通信全過程
過程如下:① 主機1不知道主機2的mac地址,arp廣播② 交換機收到arp廣播,學習主機1的mac地址,泛洪arp③ 主機2接收到arp廣播,將主機1的mac與ip寫入自己的arp緩存表④ 主機2發送單播給主機1,包含自己的mac與ip⑤ 主機1收到主機2的mac與ip,將其寫入arp緩存表,隨后封裝icmp報文發送給主機2,開始正式訪問⑥ 交換機收到icmp,不知道目的(主機2),將其泛洪⑦ 主機2收到icmp后,回包給主機1⑧ 交換機收到主機2的icmp回包時,將主機2的mac地址與其入端口一起寫道mac地址表中,隨后查找表,發現自己有主機1的mac地址后,將其從GE0/0/1轉發。⑨ 主機1接收到主機2的回包,訪問結束。
五、跨網段數據通信全過程
過程如下:① 主機1訪問主機2的ip地址,發現和自己不是一個網段,將其送給R1(網關路由器)② 但是主機1不知道R1的mac地址,arp③ 交換機收到主機1的arp廣播,學習主機1mac地址,泛洪arp④ r1收到arp包,將主機1的mac與ip寫入arp表,回給主機1單薄(攜帶r1的ip與mac)⑤ 交換機收到r1發送的單播,學習r1的mac,查找mac將其轉發給主機1⑥ 主機1收到后r1回的單播報文,將r1的ip與mac寫入arp表,隨后封裝icmp報文(目的主機2,mac是R1)⑦ 交換機收到icmp,查找mac地址表,發給R1⑧ R1收到icmp報文后,查看目的IP地址(是主機2),查找路由表,發出去⑨ 到達對端⑩ r1不知道主機2的mac地址,arp,? 交換機收到arp,學習R1的mac地址生成表項,隨后泛洪? 主機2收到arp,將R1的ip與mac寫到自己的arp表,隨后發送單播(攜帶主機2的ip與mac)給R1交換機收到主機2的單播,學習主機2的mac,發給R1? R1收到單薄,把主機2的ip與mac寫入arp表。隨后發送icmp包。交換機收到icmp,查找mac地址表,轉發給主機2? 主機2收到icmp,回報給主機1,因為跨網段,所以發給網關R1※ 注意:主機1和主機2的網關是R1路由器的兩個不同的接口。? 交換機收到icmp,查找mac表,發給R1? R1收到icmp,查找路由表,發給主機1,? 交換機收到icmp,查找mac表,發給主機1? 主機1收到回包,訪問結束。
六、關鍵知識
-
交換機基于目標mac 轉發數據。
-
交換機的MAC地址表項需要報文觸發才可以構建。
-
交換機的MAC地址表是交換機轉發數據“地圖”。
-
交換機MAC地址表中存放:mac地址和端口映射
-
泛洪:① 未知單播泛洪 ② 廣播泛洪
-
交換機根據接收報文的源mac地址來構建自己的MAC地址表項。
七、調試命令
- dis mac-address 查看mac地址表
- dis mac-address summary 查看mac地址表概述
- dis mac-address aging-time 查看mac地址表老化時間
- mac-address aging-time 305 修改mac地址表的老化時間
- mac-address blackhole 5489-98EA-0A02 vlan 1 黑洞mac
- undo mac-address all 清空mac地址表
- dis arp 查看arp
- reset arp all 清空arp