文章目錄
- 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、沖突域
-
沖突域就是連接同一個共享介質的所有節點的集合,沖突域內所有節點競爭同一個帶寬,一個節點發出的報文(無論是單播,組播,廣播),其他節點都可以收到
-
交換機上面的接口都是互相連接的,因此每一個接口相當于一個沖突域,不同的接口發送和數據獨立,各個接口屬于不同的沖突域,互聯的主機不需要擔心流量對數據發送沖突的影響了
-
就是以前是一個主機發送數據,其他的主機不能發送數據,只能接收,但是交換機的話,每個接口都是互相連接的,因此可以不同主機可以同時發送數據,和接收數據
- 一個節點發送的是廣播的話,就會泛洪,如果接收的是單播的話,就只會發送給一個節點,因此交換機組成的局域網是廣播域,但是隔離了沖突域
2、廣播域
-
就是廣播報文會訪問所有的主機,同一個廣播域內的主機都能收到廣播報文
-
有一個主機發送了廣播的話,交換機會發送給所有的接口都會轉發,但是路由器的話,不會進行泛洪,不會轉換廣播,起到了一個隔離廣播的作用
3、以太網卡
-
路由器和PC的連接在一起的話,可以配置ip地址的,路由器接口上配置一個ip,然后pc上面也配置了一個ip地址,如果在同一個網段的話,就可以實現互訪,所以的話,PC網卡和路由器網卡本質上沒有區別,基于數據包來進行處理
-
交換機上面的接口如果配置不了ip的話,就是一個二層設備,只具備二層的功能,以幀為單位進行數據轉發,沒有對包進行分析的能力,是一個傳統的二層設備
1、以太網卡幀
-
在以太網中,數據通信是基本單位是以太幀,有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、交換機的工作原理
-
主機1發送數據到PC2上面,交換機學習幀的地址MAC地址,然后在MAC地址表中查詢該幀的目的mac地址,并將這個幀從對應的端口轉發出去,arp協議
-
二層轉發只用看mac地址即可,不需要看IP地址
1、mac地址表
-
每個交換機都會有一個mac地址表,存放了mac地址與交換機端口編號之間的映射關系
-
通過這個接口就能達到主機上面
2、交換機三種數據幀處理行為
-
泛洪,就是一個接口收到數據幀后,就泛洪到所有的主機
-
轉發,就是從一個特定的接口轉發到某個接口
-
丟棄,一個接口接收的數據,直接丟棄,不進行轉發
3、為什么會泛洪
-
交換機如果接收的是單播幀,交換機查詢mac地址表,查詢不到,就被稱為未知單播幀,交換機對該單播幀執行泛洪的操作
-
如果接收的是廣播幀,不需要查詢mac地址,直接進行泛洪
-
組播,也是泛洪
4、轉發
- 查找到了這個目標mac地址和對應的接口,然后從這個接口進行轉發即可
5、丟棄
- 交換機收到了一個幀的話,如果這個出接口和目標接口都是自己的,交換機就會丟棄
3、mac表怎么獲得
-
初始情況下,交換機的mac地址表是空的
-
PC發送一個數據幀,然后交換機查詢源mac地址學習,找到了這個對應端口
-
根據目標mac地址是個單播,查詢不到,然后就會泛洪操作,然后主機二會回復一個單播幀,然后交換機繼續學習,這個源mac地址和對應的端口,這樣交換機就學習到了,并且記錄到了mac地址表中
-
然后PC發送數據后,就會實現轉發的操作
4、同網段數據通信全過程
1、數據封裝過程
- 但是以太網幀的結構里面有源mac,和目標mac地址,但是剛開始不知道目標mac地址,所以的話,需要先發送一個arp請求,獲取到目標mac地址
2、泛洪數據幀
- 先發送一個arp廣播,交換機直接進行泛洪
3、學習mac地址和主機回復
-
主機二就收到了arp請求,回一個arp應答,里面包含了主機2的mac地址,和主機1的目標mac地址,然后交換機就學習到了這個mac地址和對應的接口
-
然后主機1就獲得了目標的mac地址,然后進行幀的封裝,不斷的進行數據的轉發,然后交換機通過查詢mac地址表,然后進行轉發即可
4、總結
- 這個就是同網段通信的過程
# 發送一個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、不同網段數據通信過程
# pc1和pc2是同一個網段的,與pc3是不同的網段
-
不同網段的話,就需要去尋找網關,所以的話,就會尋找網關的mac地址,然后網關就會回一個自己的mac地址,需要路由器,網關配置在了路由器,
-
就是網關路由器從交換機接收到后數據后,進行解封裝然后查詢到里面的目標ip地址不是自己的然后繼續封裝,轉發
-
知道轉發到了PC3主機上面即可,然后有mac地址,進行arp回答即可